From f46b1657f89c379f0863090b8703c4b172009242 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 30 Jul 2015 13:54:29 +0000 Subject: [PATCH 1/8] '' git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13794 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/doc2/compute_temp_cs.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/doc2/compute_temp_cs.html b/doc/doc2/compute_temp_cs.html index 5d46f1374d..f548d3c652 100644 --- a/doc/doc2/compute_temp_cs.html +++ b/doc/doc2/compute_temp_cs.html @@ -44,7 +44,7 @@ temp/rescale, fix npt, etc. respective group IDs, which can be defined using the group command. The number of atoms in the two groups must be the same and there should be one bond defined between a pair -of atoms in the two groups. +of atoms in the two groups.

The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), @@ -52,7 +52,10 @@ dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that the velocity of each core or shell atom used in the KE calculation is the velocity of the center-of-mass (COM) of the core/shell pair the -atom is part of. +atom is part of. Note that atoms that are not core or shell particles +are also included in the temperature calculation (if they are in the +specified group-ID); they contribute to the total kinetic energy in +the usual way.

A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure From 37fff687dc1da62785cef30282110fb7ba4e8efa Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 30 Jul 2015 13:55:51 +0000 Subject: [PATCH 2/8] '' git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13795 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Section_python.html | 8 ++++---- doc/balance.html | 6 +++--- doc/compute_saed.html | 4 ++-- doc/compute_temp_cs.html | 5 ++++- doc/compute_temp_cs.txt | 7 +++++-- doc/compute_xrd.html | 2 +- doc/create_atoms.html | 2 +- doc/dump_image.html | 4 ++-- doc/fix_balance.html | 6 +++--- doc/neb.html | 4 ++-- doc/searchindex.js | 2 +- 11 files changed, 28 insertions(+), 22 deletions(-) diff --git a/doc/Section_python.html b/doc/Section_python.html index 9894991264..0e7318a3dc 100644 --- a/doc/Section_python.html +++ b/doc/Section_python.html @@ -860,7 +860,7 @@ variables that have to match the VMD installation on your system.

source code for individual scripts for comments about what they do.

Here are screenshots of the vizplotgui_tool.py script in action for different visualization package options. Click to see larger images:

- width="25%" height="auto" alt=""/> - width="25%" height="auto" alt=""/> - width="25%" height="auto" alt=""/> - - width="25%" height="auto" alt=""/> - width="25%" height="auto" alt=""/> - reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as shown in the 2D diagram below.

-
dR_Ewald thick surface of the Ewald sphere. See the example 3D intestiety data and the intersection of a [010] zone axis in the below image.

-
+atom is part of. Note that atoms that are not core or shell particles +are also included in the temperature calculation (if they are in the +specified group-ID); they contribute to the total kinetic energy in +the usual way.

A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as diff --git a/doc/compute_temp_cs.txt b/doc/compute_temp_cs.txt index 4e880704a4..4171a09fd5 100644 --- a/doc/compute_temp_cs.txt +++ b/doc/compute_temp_cs.txt @@ -41,7 +41,7 @@ For this compute, core and shell particles are specified by two respective group IDs, which can be defined using the "group"_group.html command. The number of atoms in the two groups must be the same and there should be one bond defined between a pair -of atoms in the two groups. +of atoms in the two groups. The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), @@ -49,7 +49,10 @@ dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that the velocity of each core or shell atom used in the KE calculation is the velocity of the center-of-mass (COM) of the core/shell pair the -atom is part of. +atom is part of. Note that atoms that are not core or shell particles +are also included in the temperature calculation (if they are in the +specified group-ID); they contribute to the total kinetic energy in +the usual way. A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure diff --git a/doc/compute_xrd.html b/doc/compute_xrd.html index 09eef38a15..52179cf86d 100644 --- a/doc/compute_xrd.html +++ b/doc/compute_xrd.html @@ -185,7 +185,7 @@ the optional LP keyword.

reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as shown in the 2D diagram below.

-
-

Here are two sample images, rendered as 1024x1024 JPEG files. Click to see the full-size images:

-
width="25%" height="auto" alt=""/> - - width="25%" height="auto" alt=""/> - width="25%" height="auto" alt=""/> - neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger image.

-
width="25%" height="auto" alt=""/> - Date: Thu, 30 Jul 2015 14:33:54 +0000 Subject: [PATCH 3/8] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13796 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Eqs/polymorphic1.jpg | Bin 613610 -> 9186 bytes doc/Eqs/polymorphic1.tex | 9 +++++++++ doc/Eqs/polymorphic2.jpg | Bin 624854 -> 7156 bytes doc/Eqs/polymorphic2.tex | 10 ++++++++++ doc/Eqs/polymorphic3.jpg | Bin 586170 -> 2491 bytes doc/Eqs/polymorphic3.tex | 10 ++++++++++ doc/Eqs/polymorphic4.jpg | Bin 653540 -> 27028 bytes doc/Eqs/polymorphic4.tex | 17 +++++++++++++++++ doc/Eqs/polymorphic5.jpg | Bin 691116 -> 30052 bytes doc/Eqs/polymorphic5.tex | 17 +++++++++++++++++ doc/Eqs/polymorphic6.jpg | Bin 618387 -> 9063 bytes doc/Eqs/polymorphic6.tex | 13 +++++++++++++ doc/Eqs/polymorphic7.jpg | Bin 666692 -> 58111 bytes doc/Eqs/polymorphic7.tex | 25 +++++++++++++++++++++++++ doc/Eqs/polymorphic8.jpg | Bin 608435 -> 10249 bytes doc/Eqs/polymorphic8.tex | 13 +++++++++++++ doc/Eqs/polymorphic9.jpg | Bin 677221 -> 13704 bytes doc/Eqs/polymorphic9.tex | 17 +++++++++++++++++ 18 files changed, 131 insertions(+) create mode 100644 doc/Eqs/polymorphic1.tex create mode 100644 doc/Eqs/polymorphic2.tex create mode 100644 doc/Eqs/polymorphic3.tex create mode 100644 doc/Eqs/polymorphic4.tex create mode 100644 doc/Eqs/polymorphic5.tex create mode 100644 doc/Eqs/polymorphic6.tex create mode 100644 doc/Eqs/polymorphic7.tex create mode 100644 doc/Eqs/polymorphic8.tex create mode 100644 doc/Eqs/polymorphic9.tex diff --git a/doc/Eqs/polymorphic1.jpg b/doc/Eqs/polymorphic1.jpg index dd609ea6b0b62ddf326a65d42282bb295c01a4c5..4757cb7ad8d14a06a5d3eba914fce459758a59e0 100644 GIT binary patch literal 9186 zcmbt(Wl$WAOk~yAcG7E z?iO5czVqY$x%a&~=e_Q#{bzS|SMA<=_3pJE<{o|l2sKqTQ~?+m7y$LZ6Y#JAPy%3M zJ$m#A3;VCZ#>RdO#KQsp9R#?zPw3{^h=@qYX(>oZsmX|lC>bfK>F7Wp5D5hn z3llvHEj@_-;Tr%K2VjQTiGe``c<2Yv0x$rWSpS^y-vj$G)*~P$2F_pa3qk-U#v=^O zM_5=uoX5Z?000Ii7T^&!(PLspAc=qiDU%)=#?&+m ztBCQJrb*FP-acuthKZjK^8lQGPLTuLWohcCmvH{Snn?tD5ye~4Jg{VsccJ%f<#Buv z&frUKzxrE8 zph|8H{1V~X;RL0e*B~PqeTpa?eM?c1PR@W2oo)*q@+242aShIcn=P`nujK9%&Dz<$ z&QI(I?bkKaMq-6|H#bXky8YaHV)D6N&8~J+o^BdAkZ4@6V(|&|sj1s>)nv+jF>&IT zDkgdzO`1>n+~g!5w-tr`E?26#Y+g+I-abymH+w+~$39pDLPDFWK8f*%luwu$h0)^@ z+6DIg&w|RG{YMI^5r3T2x2uDciW*q27uy#3;K|}eszsHLMMvRHiFGXx#+v$y@4K_U zcwnCdhk|fl`c}t@+>lBB!7S@jbEDkgKSfi1XtBI=3WFNl)sBWW zS6HzOCyk$Ig9c%f3l>fHe(v4`xY0N90j~zEttVOu8G%3AfL)e{)hAPy!kKLaQ8Bxv zavzOn-S37Et-)@BUoD>SHGn7xfnFhkr4N8c>d3xTr*U)dDyx@+2R!?NQ^NEw`zO>L zn)rFl7TxE8+VhgL);(`~e~nX*9lO(=doXsHFP!EVkwn%XDU##*+ugB2IF@=Q{i|yJ z!!+M`$Nm72MiYls*IQqK&!)Jzvrh0l$X1PS_56w|l$_Zt?n8_7vMo{Nb=HBOAt5jx1QxoSl-QZUNz+T7V-_qXhTF4;6 zF>92fJ0O!3-*X};v9jB^xu9j@O+cS3?SW(;w^RPuvZI-F@%PD%6JgVLAgv!|pI_0@ z*Ipm)8dd6N7$7eL27Gc_g-oSF(ywq`sLf5IZ1?dS__yr{P34p9U|U#CrqwlH8X6!o zY&lLw$ zNt0sz+Qh;tPHKk89qyBa4xKChz^SA9#^~=zYp>SDRAVyl(4-&FFS1XAv&Y_jO_)?R zWp?m={j@$mf}pj=0xm?C1J{X1m@HV&Ei!7<9555BF%{UB!Ky<7D99;*E-?|N4iQL3 zJT@bq?;?8;je~x^sBxbf=tgC?@cjI;*QiSVexsPtlsAu=7TypY-OI&byfPRlyapNc z?$#p?W!t(YdLDqHDfbdDR*x8TpY(7i#D60`qahhekX83K{YLVFeB1Jqsw|wAjoaa|m4_DwE7|9wDjlu1F9&19v-DNDQ%BByKC_q7 ztS1yh6i)vTOAvKoI3z9RFK)j|qWklFP?}{eB#Jg;MmEGPK5YTvK7#vlQd#|NI2|iW zVc+zY;VW|fNLpoLe;^DT{&nVpyg-2kbL+dv=t1>F z#70Q1Rsqxp)V8yu7p;No4`J_i@B=`h;9aD#q<)6pF)pJY>pe-#YFR3JS3(*Za@=Md zfh5D1`b^hHH%Q2=@}f7|uLkPE=7ih7nH5*ch63{xd-4?psLzO>LtvjR6X$33cbh_w z>Ue_-j`|=@-rhV}C?4MYB}C;%e3oQp7{H%yc#msX(-_Y9s(}zd!*XLJ+S+3BC8I1x zjS+*gb;@H(ZP_m~;{{?#j`A2tyrVwgZEA(|WjXB&fi568|8QxC+`+tXAc_^VWKW zP2r!wCsi1(gJNl8(C_O953~<_%Lxeg>&2vnxCE%AI^7kyO&yw{b9K5YcJ9eam^kQW zxu@0lFHzuVrX!CeZ|Pdw3(nBgCgMdcZ-d778J?dFOn(W6n$C{Cws0YB7)CAr})_%J%2W z&-RmX-KjmW>+XELenoai+3G!u9EI(>u~9Rv6nGTNm5}NVpABfMKvaS>*!`tH0AH3B zGO!ZzW*ue=YxXA^d*3(4WiAf`CNHk_`agXYpG+$ai1?;}B2U*v!$nw}twk z+G(bEF=O!CE&Sb{l2`A<=x&BrJZ_@?K6YzWK%Cab%zM8`PJ{=gN_|^A`24th?x0ki z8M_BRt>(N+=EjmWp>M7a@4}UYk}21K)cyL(Fprx|-xn9#78nZBtOzYxDLC-JdjOCv zJ^&CquJINpRY@_o8+|rjT{3b6=l(|K<3h7lRkdjPgpl@Gqw`P^v}5Hx*U=(@%�- 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 B!w>)f literal 613610 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

)gE&fD@(?I~UwI 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

0K(%)-P>03eS4U^xP{o&BRHWfgNeh@q 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 OycaFH`OZ^^_%xbq&qelAKa1_5 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

Fc2X%9r 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]P<^gdP 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≧XPX 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

nJn7rIkLr*>m?` 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 rYPpB$aKOJWw>Fgc1} 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

bFgN*S>Ay)9#%UZ=cYbb@8a_%HxOZRS&e1 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�A0}+r+behL}jtYH?{_qw0!x!p9`xrqRm_U!1Bzl}ilh}wxupM1uFOl^jV%MW+ zAE&tIevT;jKH})-h~fW=F7XYz!R*Qu;|i5m;6<2S5n|LJj4MOfC4(6%KN8=4$KCg@ zx%>VFvF;}-Mq{ZaQfx+x=p_Aq^oUXPfeAE;NhZlmqo-^n{p}RRK8oZDbcy3=5~qpZ z@5F=0&>Ofn!&&E zY6jh47USz*?SGFi|C9+OW=+{Sk{?g<5{#`_?4)C(fb=WSBI?j0T49^ z#9q3P!?cVObSbw|D#kf0uTV?>B8E3Ub7KglV@*^0-;ZpZ?Awx|~_q~ML65NyO^Bb5@)A?0Gyub}nS zVWS!4rvn>(C{ZKWm_YBCq9iu)Zx3q75%$?JℜY5_*bxR)5xNl&2}qxYgJ<@~$QN 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,t!W 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�wBZy7)8PQ|D7)5b-TJ%I>8{ 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 f~u|zwwG@Nd->dX&Lx`MfWc2tgg&{UUUEQ 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

M5WUy=`BS3-zTTU@kg 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 !fE7+#HGC=v#SI$!p1$Q6%V3@Jc%0eTY~lp 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 z zJ;!alT0-`qRBmZ394aSv9>3wDtcp{l>e;T5EeGW7y!H(hSVOUJ_=>}7BU91OrS1K5 z>JyjZ$4fu|M_ZsMMg4be|J}x+-O883E4pph)|sMh6kj#9gtfM|zKOZqB+46NgwXh( z|7m{x)B5sP?B|-A8k(A44*X9)C=UxOebH3YN?XHRXqszinQLg93*}J_Goc|gHFPw- z%qoP?H_+46*3mW8LaNCB?`xYhwX}6Kbg6=BYisG~X=!QGZvHehb@c>?6z2M_fk74( zqueY*Y(woTRklgA4vTiL5gQZS%EQWBXlQA|+R$8IUq`C-YHDa{o9hS*w;)ShMRY@V zE7y$fn=97X;*nz=ICScdNj;`j>bbRS@bt>PLiC~*w?2F^`8%7$@0Z+bb7Y(6u$ZMY zdJk_qVx*UaBwlJlQ5!UbxxzKjEl4veF*?J-y;a4AmNZgR=xAfP0xC${f)uXN4Ko6N z>%KT@YU0q%-@m^5qw;5As*RH7TINzUS>yM=Ti(&0xv^%%B%AiLT(s2Iz(V76>13Oe zjnZewjar^EZ1cE2DcfsgJ#3k3`D)%Bj^_XAUBA&k{MavVA`+_hiyXP+R^G!!g-42S zy4J6Hty0da_isOswP`nhbH$sNW)B)tM3CUHJ*ru?rHkuDRKMQm=StU3yj@nkpIOAc zt!KJSnBVpKyI(%p-`C&UuHUkvAJ{uoI=XN8F9GFZ&jd`)G+saIK}sRBEmcD=M|5d9 z?3c*DL-q{p_`#(czc~}MQ=`|f1JVageBD*6?$~ORmK$#o!eOG##)ZpkPceMnc;XWm z+W{vA&oMbz{dtVjDf>1O*pH*Po~mkfepvg2*(0w0x_Qp4y(SwA^lCD)%$mXB#~+^z zdU~bh_C8DJ=gfH2+c%A;*j{RIcg?+?y~r2(eIV@!i=2szk-LfDW5v~_1ncWqWmUJ{KGuN=UVf(=3B=< z^?f+7k8{XEvt}E2Z@)2jlj-?i_oTnQzhlMwHJ_Y+)41IxJR|h!wPsgd_x5dcvE%*y zzt6bX@vq>&9S+v3K5F&K#(Q4Q>D6(=)3hrm-^O(NY0q@?ll$+kUf96*!sxr7cD>&A z>o33kHTq<)^wH(oUT~SYapBV1S2_-^`m}fYZu=RH*L>LHx4&!nf~?S7rP%a&^n=+e zFX%>Io4GKg*{;X~IWB1((`Wl1+xKv}e}A_YeOivYw*H6E`eU=(r+Q!bQ}ll2dEt4| z#4BOKe9)QSLn{2VAX}t4m3itBcKGqNdi{5&4?BF}_qXLo?cI2!<5i>jPdBa`|KYu> zMvi^|1O49QbUG4IvEhm7W7kf7{8;l)`5TR=c-?F~VEZ2j#4q!Dt!@7#sb2l8hrdM3 z`|-kxr+@FXUiSW#_xNSO0pq%vK5sm}+lM{VO~&qDTjlDc3AQGGM21XVxHP_@*O{$L zlCG_=zUn+_;OS9G6K5y2OkJasI`DeuA)$jpB4=#w^Lb$M%mpnM*}bponYzev;6eY$ zPJOyX_o2(aX(o1O6&hipKQyP-aj5Yj2mZWv^>8%x2w;aJ32@B z8shbC-J_;e1Dl6FS#hlVt>meHr_`;}Aboc7qzA_9$1iW(VfOZC8$Ubww4J5(d_b7? zhn1aM_O{xy+&}x*kFEzl58UWKh*k}xRa zv?MwC+=3RLUYxy-ib7{xMsEFmXXa0?JfA`0@61=}$DFUtTOH8SF2ChInWpuw_oXdccMRHHer5eN&sTL0KmA~L?yZ)Q zb0*Js>+oy;hf6a>`pjL^nqK$c85#vsVYy}gjD_3&IPq{yn$y~0 zpF{4qzT9>7^;uogPR_ZT(|f3G>#cVrG9io-mM*P(EtveAB}HYR|XXy6$On`o(nYaox`BkjtV1a_Rpvlgp%8I+<4tJs-aJ zbFo{^YKOJ74xF%h>gUu0J%@ZHmp-|0n$zbzsG*~I%=mU=zZbt}PFQ_#nRn-*{SH*^ z>2I+5@$nZmcdYW7*Xin~dO2frw$GoGrrYWG?s5jfJ@?Jf-g5fwxDI2t%`nKm8du}& z8;4`9R;2E$d!_k;6Q`GbUwds#m1!x@{G*r0zMOM-=FDE5Ydu-heC7J=wuXya4fqtk zyME%kvKNy+Zd{+dBxTIU@mf`PCtmcKQnzjP&NY`NZk|2t)ZB_@esA8FZ|kr)+jiUj z*AY28f?n#Jn;JX)z_O?BhG-wD;heXv+;+#eKd)J{U}|(`qw7yCcRsH5VSd95ou>6a zZmu2NJJaa-!lb1??CWFT8@^q0O3uSsWpjJQ$NiA9jZMs_$N zy=EI4INZCqb64k(IvI`Dx>(mvpMKMARPxL}r(W)nSoUg-fHUu(9rFIp(D%jnaeanO zd1R?LYH?~#xAF;X(x_R%m*=6=z4z;U zEl#$v`yp6+^$Pvq)ys_ArggcJq!dmEYCd!NWkGuR>3?-t@Mcr$h0vV14eMujU%$@I z+|u;4*Mx1pDP4YVK4quJ(s-rldb#4cJwMeNJu-CWtuAZ#T)CZ`I{oI&W>3=R@2Fhq zd~!qMVT+QVSwHQz=IHW-;mIlPpU>SN(5=g=tbpuzr@wCO_v*Ul`0Ccz)67SN=dICG zihx7C{cQTZ|8)NNfL(FN$FIxH+VcaOu!$p&9lU-iU|uiZce#qSHm9x+UB0kJ{QYH{ zI&aj!*|2L3=gZUo_-WtBGB<~>+tm8PN&h8BB6EMv+jYsxEb-prq?t3v*`;*Itk*Uv z>BN!)i)oJ0O^Yg_+kZKZSFCQi_0Fgc zoqfFio-_Ubq3a#PGkJpc(I<8`wrv|5K5??q6Wg|J+uqpN*tTtRlkCRY_~iY)|AQ}Q zdakLS`Os5Wch6ltcU8?$>kzcmE+hi&G-YV%ASoA?_04Kx!r_0s+O^gvmc}#DzfH!a z_v}^(^$5GiJmxJjmRr1i0xI-7xe$+*<+(3t?3HjhiZ`_7r&Ao6TE7XeI-cTP3PR`( zvZSaL?%&HzDi)&_Oq4q|-0y8Gm3;zu&xyAlnKyqvO2XkQw*BI@dSdgj@AVbbZj-jCIH5Ik=XbE^MY1kl8rYcxvPMkqR0M7OVMt%qUK?AK zOvn5%9hF`8+pQ4j^$B_aeFBKGehAgz$4@WY^Jl7}I}@Cy(eb--|2{u`d)FoYSygoR z;Ns_36Iqoi{;XU{E%npEF%4S=k>eBaTTtvZZ}`>uW9&w+YO%uWMON%6xUQhQWyS8V z6+(kkd)!;;4L2+(Hl{hh2{T`ejU+T_k7FCKy4k0-B9-7?Xyq7j92)RV3{KtZIj}% z%=_7agR+cCutj%`sD55{r%y>{uU(FKXktT4cHZslt4e3<97va*Nvv~j_0_HC05>O zUMaS!bue#LZMt>r>`Xf^9jP;P(%VgcNYX1>O&Xp)xyg3RNB#a$F`*)*FR*%CoVQAU zuJ5-a;7#ZK_u;30>nGqppoRPoXeV45FD_Q(7G{%QL>q2t?>DKL-hP!jY=>k!OS7w; zBb3~3s&F*~*Uw~VvgMWZ)#^aw+R&?g0`8+aG%=T|v|Q0y^8Xc=sDkn{AnAyT8mtJN zXfec+W|qkD-{~2H27V2+wB&8eg=!jFj@Qx;vCUrH$Y+^ z8zt6>OisN0R1a`8%zUB2Gs$#tTsm`Gj5_Sxx?{sas$wdyJ|Ut;kW zMg3)n|3L4v_F^1!Yz3IGar7V&yXJJ?sWIK#Za+s%Po^Aq5cMTybhj9C5OizT5cxw*^PL z64`p`;~-Py$9y6XelQnEJft?A{Xxj^hkuDI^@rhF*mpxs@)OLYFF{)FS;LfITy0Nc z@p|=-R|+QT`uEDB&I#4JDniFk2UbUp`=ec~PXKPNht%2lbSoXJUs=}MS1N6yBspGV zmM*#6G2>NTwUuL^dQplr{6M)GwvS*DHkr_8Oy97L1VJPsVMxRK#b5mtG9iYfg8NFmc3l(BmJ$X-a0M;a@5(+ z*Ztk|FGOeg2VU_?y5OwG4uXoQh3T?2XKpeSW>loS@xQci*nb(3@sSZ3Um|R|K!M8} zZ{!v_zULDVob;rRW|wMeG1lC8WqRYWf9Zvvsa5k#4>YhhsvX~^3H{Sd9xiRxm~&Woa;B`IPpl1 z1$VCzFbwGU#`jME%;Gbc^X*P%_r+G1?NmA?u|23mp3{8nDT!LhZdhclBS%N$GKISm z3ePg(Lt5gO&sy+p7~d?|`=S)@2PgDd!3U_PXQegncNuJ~Kx30xa)PO&Fh%WhURnY9 z!V-m-R!F?8V&a(-76sQ>hvnj#iRz-(hB#8z@30Er?uDO?S!qw!@4!HXjb&?oUDsE6 zJJ;G{X^+;+rATYEmPnQ$nWFIjSH*4Ggh)_GWh`^k-8cD?$3oRrF*%F6;if3Wh;?6`i7AT7)DUu@Fpyjl>@xQWpxf2A*5o>0J8G4Sj&!$5-QlQ%aj(?3 zcPaaOc(hoDc}b(BfN=-8%!E2Q8u+WVy&_gXLzluQ_x0Bzld3)DRxqPbslB(myLJg? zTF`uXTIrqOicfM%i&{S^FWDAnEZYU&lK>ZWZK#Tg>GmqF_75@;Lu|nnyhNfavtrzE z&}oT?Wiy~kREzjg@y`S^*xP-Tt5@5{ytTVtc2yN+rlh=R>wD_<5^QnV83@TU-C?`@ zFNc*jr(UeJwCd{F4a<(ITl=mw`;+kgI!Mpp3!qmn{trll{|`tHNir`CKsv?wO&Lzf z@P?m}ZxbXy0sfW}?IQ*h)lZ?2r#QnH&(eU+@CE^d-TRk2Q2~P)7-jR&i|)iIIjsI?jhu0usCaTf{h3J%yK+|&$P zrIGxvNNCy+2a5Ijf#n?yreF-_5W(UnUJ)P?_HVJU5IAr-=s|S*c@gC;!?!gEK zUsI7mVP~2dXz-+zak8+4YMaFzI_cn2rm9PI{;Z&agb(=oFpcQ z4fab6k_^4U^=%n+c}aSwX=GO-EO$)u9K#;NqJ>}wdgWi^KV<<{&3k)U=dcfh0 zqGI@k+h=qsgPYyQ-~km6sNch)LV>IQu|x?0SB6o z!{n?0vzex6EYD>Y`Nf4y26}}!(Zm@yP@-(yd?O+~91`#d4`j(Ul2l!EN_R{c5yM69 z7t4^dlb0C^56R7Hj!lkT{*EKd%reDH8_9sE|A)U&r=DjDJjDTQ%*RU7&$On)AAanK53CDVdGoo`A?=-}u#GdxB zV~&BqK~L&R|D`miK>zB+l;Jc#kt_;s1JVh!!I-PEPQVPb(f}NTGtY@}P7#yFZesz~5lPGPHumGZ>JC5`p1)Uxa zy^z--NY+xcDWl;6#m{UESPa?DpWFcBbLKpm z_}aQcwbCd}&r0yiP}aRBJ(0JM$iQ&knNuG!tmzr5tE(pzWA6~mgh@;`EpzLTa>#Po z#Z1Vy=R`?J%M)-QjmDD)LHjJxlb-OX{K9zJP@dx467mW04Y1Taa-RU23tAsxa#9Jr z(6bul5Vx?VT)u&U78O#Y`D7CcSpVobBV5h@wqSu!94pbgFQRt?Z?RreQ(qBf8<(Mu zL@V{G#wdac00FZq01ns1SrzgdHf4L!E?et+_Z%g(oI~z~%38_~+-)SFr2fRs^wo;c z|56`dUp=+I1IH@fsAY`MUtr<2l*n79MP@h>-C;A`{5O!M&iaLF)rL$MuF-gu9aO65 zI3%jC0@I$Rtpvo;R2F|CWIHPjqHh9Ygw1jYw23$nM;Gxkj4F~Z{6jH6Tc(Y!*QSrU zx)F1D`i$J)vIO1kIar2f+;q9!qRZ94bTy}z*-K$tf0@Gy_BScN%pN8G`&{v}Ezi-Y z68Z=yW0N9qUJD+JiS@9h0$k)iVrC)0>L8IXvVar&UY0F`)ArwG@HCz^Ha-O@v$V=L zJ@=E5;J2QY8HpQ;P*aK{f^CAVPe6uQWMGrs$XNr|zn~hRyJfvV#V(efW1Ts&2(Kyf z#=)`?TV?9sw&+ZiTQw6IOM+%C#gdunt@)-IJP?L!DR!;sg5kU6@7-@p>uv<{a&^Py%OvG4n<>SSp>H!9p%V9YCb5lnTFoD`(a zzbZ~QE3nq5;$3lWFXPw?8xj)P_(bF_hq?$xrryg@-I6g_Nc6-oiFWhHKXhAi?!)rg z*b?HVbuO*5(}~PF`ke$v*}h5qz>%qJIytIwKo?!8X}Uf!wy+2}2~j;+l<0E7|4SZ9 zYE=$d-Yl*K!sKwZpsfL+^3#WxTEuqoFVK-tPCMWo=-sboMw?z^y2VV2@;Md_i`Ax7 zTGk?^I|<<(+e^Zykg5~L73Ym};2IrTC8an=C z8w7gmiCcvh=`{`Eiy?8gnkGQ+H3T=i_92!Y)^eu|e`6+MPFp2Qp<~~#m4Y9A+XHwzEHT(Jxlc6_r3S>@b~WK$K`+3 z1ITEXCJ)N2rW&?9L zf=6X849ij^{sO{G5={DNXRITogvrxCg`!$18J+^ z5#QOO$RgTU+pbjkgEh}tpib5mF&7i^rfXR92&}b*X@S&K;z_cXsUSzF*bRxCTnsMf z90N#vo2rst>}es9o#Rgc9?bdv`&}pf4_*|cu~!#JJ9djG1+xt*6)i)9{)omxE^oFp zOdA-wW1akPd5qx}P;FD(WY7gr$r)E&t8%rfRhTQL03zEn4xUME!~Ey07E@>`+C0*{ z)1sjb+2DA-GwhMGD3cz8I)t_3MfD%Hv~9UctNHRGt!0pl5!U^PtyI~Gom0S__WH?s zg%VBbUgNW|ZN0iEhL!^uD^ifzbt9FZu_{x)a!rirjj)x8dF2Q*QcZ*zCohe_i*~m0!GM*d1Xp1)8p)FHO$_9MKy&l-8ZZZ%$Pm}6=T{PtWWRe2f37PuV zRAsl%+9H$8qrUrNJqQHSwdzo>RO$|w4#mNgA!E|5V8l@8#BLv|8qV9DqZV~7z(zTz zAiPeUozqEySD#B@5ovib7_K`u{h!>?|sQ1(%`zB`!=7~;TR>*NeBhbB- ztHY!gEZj zie%05yQ?+d>U(yW_01%&v7y%Wb|D(v>(LA8$zs~%F6LX=8P%z>P6zK=HB_dD7LCFf zZ4}3>^|1>xoQUoKo@aU)#nG5Vn;aI}U>hpga<;}LfjF?b?&CR03SCAU|kj~&MEnjcyYv#r}h;E#XIU?+woLCacqiRaGrVJ1AguMRWV zNWJepUgfVj+83KmLGBXUHnGrjEY(q_mA0tpf_%}0mEH`kOxv*JJ>8H5>WCmKE0@Js zIseVzmEi+KH4QiMH8iq@Tu2D|xG0h=Ob$9%{Pi9h+`MqiKiZV9jVS|YJOUw6ZH`Y{ z)Os!{TMjG5CLPNluP{JUWY=7hQvn{?hmAFPdS!qUR?7|Q-3M>4 z&84SD@KkW&8=$^3okeE`WuLSnonxo&ONswcQXE&!*i^M&bWW0DC~ju?kcjiuN7hPdt`z z)N(-t@s9rmDX~*Sm+VC!Bfc3N>>ju5Z2I6otQ#LlV#hPMw=UVc4~o3&Xuf4$#q5a> zdLJdJ&rs0F@L5jEm=4G9PhtsCIk$$}w?3(@npj|t#9kW7qKK=gDl1sQzO>!_$XR_> zx1WF82VVY3UYZ?^u6>}F<7X2?W;H`|z-JX`N37IRkvT9OP_g0rn~B_+Q_@nE603^7 z034kze5dX5*EZfTTLe>z*G;7W4}yfW9|oP~zJorJmuU?VMIaptqD zx;Raw7R4*`)`dBL^*s9@O#Ge&gZ4VQl8`Mqvbi!%div@)$^FcKY2mn*FyH};Nh_y--P$CPBhl3Fo)ak z2V>Vn5F=l^^trk;S4OOJA|By#k}Vfg!y!XAP~jcC)~t@{`&IA#sILtPcjwm9qr!>4 zyeeIr_Y|wzyb}t!#T{+*C7H9L-L&r% zjvlw8-o6q~&Y=P>geH-HJsr&#=x@!N>6qVUTEX2^kbKZQcp7|ojV8IQ3%5&`c#oR1 zN2Hea3dum0s`uBI2W#5ernP_&PqPIZH8T+<8It3%lm|zxvsFF5+x<3&OZ$4l%5tuC znnJVH3de_~-UIBq_}Y?B07|!yuPgJv&_9QND*T6-^@(*RKS;g)ap`tSb8X4spjH-^ z>Cy)#&6f+nG@;8|xYqdU5H{HE|1M}-YqF^=0h59E(jmV#-Z%Pl^s5VfcyOQkF&^e| zu=jitKi<8iLtZ+JbqkNK5Szs+ETSTlHtcu^I^4sML!0BIXq*MiZRnVtw~@~AbSQ#t zld2f#vhE;_;n^p{xj58xFPdqd=5T~=HP3^$gsrjP)U`#B5z8p@O_`~d@c1!FNE_9s zO+dhIbOXspz2L%TmHGgygOnDg4Kx|W?<$!dky;FVo0K!P`tytLb&rd#>F76z6`JWz zmcE)cNi&WU72I+(2Ljp>8G@#{q3f`ZI{_ZyKgF1UTw8~ zJ4z*7l_s2$5`0XoMVHI)Vf=CJ`Qqr3(24Y==ov2PZ&p0Bv)%|a=)iE&LpextD0;jv zH)T*CG7p*IC$h$Nc8rrcDGjzlSZU$rUS)8m*F|ZL#BR;v*nPbrp$`t~EO$ofr3r>k z)U?M<{Y0m3=_EDLB9~5g&Q637^mi<#9$AEb0fnX=I~Y9gP)02a4QiCfa!uZ`4$i$3 zwd$IoUEn7G$%MA>HOFqdVc3z^*|1@5(jtQ@u|&A=F1=$h?1amt<&0OeU7~V+?ZsNW zk_;n&y55(Oj&yf690={FcMr&{OvXpY- z24l-*sg=tP1N+ynYBTNLmJ}T(YVS!^#Tm18EG*-NJh$G4Th0g(3NX34w=I8|pE?>` zK;&G~qFyLui-Gb@ z>LNqHC8?;WqO*NIvkTJi;F*;#34BtK6I%2^t-m%jt4}m%AdU1qsj6p?=u!^ee)0F5 z30`%s?tG+?`<_14Kka5e2|k?~`q$}~J#*A`@vWYJ0zB?}WuflsKFoVR0mJWL|Lc7F z?^S=>!dZ$PeAIdqcd*aF1cS%(w2p(@Z~j;_2t z*cq;J8;_WkwPG7VJ45b@Bhq;Q2g!-2y&~YAA#(kRVQPt3X!oaZJ-F1e*J=qtAsJeQ*W6{yH8&%@xn0Tth$M%D3Z!Z*F^FWnFz09 z@z+wWo$zr|sp+&Fr_Mwj(e7!#x{>9KsYT8soJKW z%{XMm;WoaSqbmxY3L5n8Hratb-p+L#$&PMtz?iPRfRaYV%CL1$x}K6Gs^sXag{Kncep4Nac_eg;ZRkYj>V_ry&ZOpI&Gdwaw`nT#q0h{y>@s-NqidmPJdcZU{+ zd$y>M^|sm~-)$6BSL5fPNhd4$GPJF^v=~DcJ5syViY@h{w2BMak7MM3$0l;X{JFMACPA#FS zz+=t^b(>c26A<(XIQr(n6WeVwD$S%-rUPsIM03!cfmT)2uA@`8pzmKKm2g9*fF}?d;baOj<53n^3Qt{f4Qm`KOUJJ?dIV56SO5m z-ztMFB-5#yWy+Mk7}0TZ51tMU8w(q$F8bKb8EG18#sjTxt3)RULCUhGBUQr z(F<0u3)*x?WE(+kxE0aW(e-e{iMX03LknT;%g!d^G8Xq1yHT&rUUt)dVT5=(kRp^_ z9Oso;HjSj2XcjtLYO&*O+Qbs4?rd@QA?)(_!p2M?^RX$<>1A7-QzXkhE+Ri1A|j(x za30*7;cJXKJqL)v#uI2O1gruy5cs)Cvz@Wsg^`bKxI&$fH9(LM|5|k%lO~) zjeT{>?cx;hNy^dN$T7kVT3?2(Uegv6Oz>taxY?y$b)1Kt#{h1^Bq*Lsd;8cqoSl$VXBqXhZNDYR%@PEBXqQR3Q!wWO#;Kfk2!O7Z^%F{7{|G`v{LuL9qT*0U=^JjEBW2eISa>`z{{>hBHQo}KKr-j`fMy=LnQQGm0 z(dC@M|Cz!bhLGxS=7GirelVk{D7Fb4N`4lak|a1%L;$>^Fe)SvJp#x<=0Ji!4Od%0 z4JqvnTLs!vvOS4O)(8#|&rJc=DOSsL^qKBoX7kFC#%qKs6t=ybZ{N2F*@F*aTYJZ) zJ3%nU40Q!%-q$HP^lojTn&Bg(+g6?>l9ST22H$T}l%n6T-_R1#un}xt)?Oqg)MH^8 zt!M9N=ad(X2Aa09LgiziLdMLfiqBV3vZ@9nVW*O_{j3N<6~~a5iWFBEpjM^staXu% z8HIv&DkK_0XT!;_{39UxOaC&@rBz4MW4go^rGKapERvS45Xpo4+xVq^P2}soGnns} z-(2*mxe&;AaLGP>w+Chij#wJAD2k-q4fFRY*9^|4x5JJ^O*dpLzcGl+Np$@V8BXK z&w59WM+EFo0Eu`1$kls2^C1k_g=BNzkl?8D*&s=jnCK@!Qe8_)TzmsW3mo#cd%^Ww zG7<1*_bx`aO=Vj?ueITH*gAB6_9WjNZh+e+B=6dYm*%wUdRfHB1!~Hz<6DWS%k*rq zVyAVxqdN9%9Xt=kJ^TCl%5Qp@y{#;w9QR&;N4|ULq`{={51f%?hDTcJ;=FcUEd;NQ zZvXa6A?o>l#ebjwaKqW=D1%WhojU?MKZ{Y4id^1hy`=FK+a{1>u01Z(5F=Yvfg~Cf(pNjIWL>Qu>{wv8y;d_{D|{noBgVD% zMG{VzaF7_ya#?3?&M0S2tH>%sr@~j~4QC6^H{t$i&j@^AV(jP&F*oe0dxZ*lNJ;O}_ zVr9{!9;y!ade+J#uoaJ|^#?o&QIld&{9VO*-wH(3i}^Q1jbvF?OjB5zBoFGJpeT@T zB0tKBx>t2nSx_E%^%Ref7qB2n_e($6)9wq^*3WBnO0UM zdahdzI{(rM7QnAoiKGxrmXvv{pLSg$dZ39GIgnXY5PY6>%4_-m9x2-`&}i9V%%WX~Vi$qF-|Q!Vr_BccCp-xT+)-ao)i&0=3Ma?I4VgzgZ+Ynpj4li( zYZrc%LllyDE6_`fDrNd$8Vbs#w&MkRf94+z+GhSQ#oxR;O^Zn}G0QHLit6d8b}gB< zvf-=+p6U3cpfSBMC3RYA=+qzTLFP$g|B8lZ|Gv%!`4ESFg`|+bt1%FpH*TDBqmS46 z*F-<1N&c&a(i5*G*n)~6vciUI(#5^EnASS<6v*KB*!jU=-5lm_?wX0ea?`Wd^y>I# z)XxsW8Wva2lhAr*{k_ZX|7sVz(6yW?c$xjfwP8_Clbb|8X}E_W&EyI$n2B$lJKJJS zk%O6&6?_$HU9KLP9PtPiIpR0;ki11samMr3Zh>HY?(_@#+JDt(&Pmq^(d|OquQfzM z2PJJK8W*Ih-bovR^&x2n|9EPo0?*>uqScCgu19ii^ldyZ{MLC1S~C#uRL<@b!1B?S zzJq-wSrhnJw6P}?Dg?!9cKiBs1e#GF%H}$I(BGi`BZRg0X&iM%C)CS8B!)~=*W2bm zaT*h~N#>7^%-fG$OJ6RWNv3cca!FJ+Jeptfv}i4iuS^1*MEpjJ3;`{R1}OkA8Q4N6 zGB3)wps$$P)59m4s-1^=-;*Tj?1%D7>RxQT>&x(g;ddRmSI*g}k$>-*tbMD9Zg3XO#B1m=6Skos*;mXsP}=9vYL1WVM-ax@UOYqq-(QtQ`Qb03A} z@%&8XbUtRg{!#b;v%hu{S~lu`^cJiwa-^Z?rD{LN)HfZEeh^PSPJAs;t&2LS1M>!5 z7+%o`A>fZ5^~dhFZe~#1w>GX1dWsDLYqTgqT1XZhyezW^YIhyn(c4owsZgz{#Q1)5 za}$*o-lDZNe5`4aX(=TfDoHsRZoUJvc&e=lN~5_LWE6yOH9YlCUNF~UkBjG$TN|uJRAFUiQim^!?bAQT z*$CvKfyJ!Ep(W|n!K%)cQrq)erD1zbst%BcyV$B}Hgo+=}~et0A6%!tZ#?0*A@P_6)e{COqb%0G*V~l z)N{g}qzqY5X^#NEy=y&wlfc#b@tiX|U8LM(s%oHR6*l48uC^DqQTR-gf~M#*-$6QG zWTupGDBo^^-Oin6jTqfH>_JLqE@{i7rm9=BP5WdjI*?Vcd4=mqa>>@QN61X--_pIb zI)C&y5dl}^?`^$%FuLy4QY-=6Lx4LcK;I&Jwlo!3S;F#hVb_${bH#PTrB?o{Fp|H~ z&fA=DbX>&6L~OXoea9C10Bcm){!GT-N=q%WiqB}jyVYAt@>e_7$)XCHtXXLTl-qYk z-f@r)dzXJ$1L(APzUXgd0Rmn3l_XtsL`4Mm)lht5Bc3+egc6<7kl_$xvSY&>Mcdveb{}_*$>R^lR9nePR87nM8~wg7&oc; zCN>3z$pTg{W3QThdq0x|E@5KqbMjH8<*=*GhB4>|?Fb#qUlS8su&OCsb$`%o)rlvG zjEGO<(gOD3YtUtwk5+Y;jooUMOM8(Xi>6Hos5Z&OF7?Az#>#UB&G7+sKK92L=bSSx4IhZ@T$KI{)VtxFJ0-obP0s43L|Ag}YPrwHR zm=NiKFT*;WuS_&_uwc*L2L-vZNYn4~wSKxWMHbol$exJOwGKx`CK_;3Kxf;1r6_2V3*4b2D zsM1c0lP~y4r?y{IlW?HR%0LO#ATUa5nJyxb zBpdFp?A*Ql(JJIagKzmFrrA`UiU>ziGi-6y|SY?GBc#394Vj6Y{In&*v2`8>xnD#LkUP$M zh}1owa>k>;FQ`Cs&XRp(%isBOkGNErq6a~QKSge=oIA3uZtx(_ByLcA?H?Z80&@P( z1YQ*qkP~!xoz$%`{D5{dH7PhGnyiO%pIC768vip`(xBAEU|Q^;_?W?gWX7OuctMLp}jnQ1mZ{#onnQ zDSSVqPOlhyF&(9j!f>pAETwnTpsgLvi_2*Fj4h2i1Y!UkREURjuk3mAes2%1dABn< z>-ZS(TQ!iXqEmtaXw=OQiO=0^ber{+kb^U~t~FYWhWz$ixOII0GG%Oq<7BvWFfoF~R4vuBj>SLdp zwf}c}{OUb<^HsEb2?`t$HKCf7kPwWpx&Z2cFIq5ea?;&#oSn4F0N>Mm_NSn3>(oVL z3pvayYmkNe*|#(aM;NL!_JKW3fY=qHvWnwq zgTyT}oHfxz16CKur`q{T!Nv`KL4g=CDkScn`Vss=m2T??4tQdU@=8BSwrHHyUs6xe zcE(Clhyu8I&&(le?6+)O0LGYbu zYT6N2TJ_wb3KT2Ze04w8^pCmz8==z&!SK$|^QmJEvU&>uCev|UFMs%8%nYh>LWH`> zuvEI*f+3-+hf8#4`ZYm{|9%E8%00vzWnTaKxowgW0YVnz77G@06L?|esmzltCTh)A z(qtUACXX9FGh^-^7aPhxr?N_c*omFR3WJ5ZN+aGLUQt7jo~!hlP^nVKLr4+5qUyW2 z;^1MSw>W%t0s4bUB{ccE`710!!_$keYGi0syJ$q=11g7_N)#QZyd~~P&<87i9&)7b zd9gc1X6Taa19+bW=5Mcx?xa?9K!xX-!d!@y#%95T>MVYZkv)??`Q``lvuECn;CY_J z?)u}Ky|sqvYp;9nHSz!YK>o9S7d)rw=B^^fgf@Z;U+AUc_RTfSMZ`e{#9Llzu4jg8 zVG{V(k+314CLCnVL=(S9@{6|C@n6(5@3wMo8%h0MzHFEjOPgj zaZh(;Jo#KOw8v#}euY06;>`1%_ngm@*|EJjpuMTRnv; zxO_96Hv9porg7bY!9?zs3|qQkR#WirTR6#_spHJ`TyC-9-+W@AIZ?no$yoSH@p`}0RU4)A8|kAPnGDdP=nt6gB#Ly3ng~U3du|C&t3KY*sDulI3)B<>-?|k$ z-Dv9@D}SjqM6>NdFM?hD+({#4RNHkDcrE$nzli8p-7CPQ~pnRGt$th%}F=9JcE zDBDmEVix9vvz;^G#nLqQ^ck#5(3@!&JZ#{tUueA5t!iWRt!|RC8~s)Ze$Rk`pom-* zzx4{v0ud)m2dKk)O;5U8%~% z80?$>bTK(0Onbf12|j0LPbpuNfT{NDPqJDKF#O7zyCv4id(`Abft*IJ6vV(9Q>$h4 z39zwuNhg+)s!2EIP$y~EWGD}SKa0b7b@dF>%`Y3cWeTtqmWpeLNI-&_OO1q~)&{N+ z@-1=wEbsIRvhU#>$aXS7U}~oC{&9^|hO2{Z;Wh~!3Z$MI)*@-Z?1V-V zq z*KoGmaUrqU9#<%ca+m-PGbl`jKWbuPb`CkXFy`%!!#5ISX1u~NzS$F!y1 zM-EcQv6v@}D3wOm-uoA)ExO3M7WC8r-`*eQ1QCKv{+zNX<_q1eqx2O7+G`z{KUKh4 zh>X8aKeh~Jn@4WJc_#8igL6)=K3aR%Tr!J&OZusLMjcu@SO~uu%vllo@mx{esdig1{Q~lBLL9Rd)RZ^!MxkSuGLj|3MPQ5uewbU4>rNjo}lM2RN2!4yGiMi3iTTVSp0^Ye8a6F<2zqx5rD{rR!pi zV$VRhA698+No{@th$*h+8{MYi@yr-nCt?9el9EfP9rlvvfozc6-1uyuF5kwkFKn+s z5bEA#A$gU#d!k=$_;wM3#aoYOut-pHw7aL2o>&285G3VgYg{Q?i%O=r_-S{%dsp2_c` z?#2A(51G3GAHj1}@g8U);51Q#iAwBaU+$U1DU{q22v9-Fz+o4uZ02a^2yoQs?X!%b z+dASCw!L6a=seP^X2i5kC1B`VQe8wuHAIT5Rs<{8@apc6(RKnI0#mT+5mxUsYCY38 ziI+zj_&lG)%WE{D71zM2ND*6daD|N}d9Mc_RokgMEva1p8tR&fdJ5y?L!9Z8lSPno zO0!r%!f}ua#!dA?`27T8RJtQFHf+u(A^^0RY#l?-!KwUlby(TevMX8H^t56H%9en@ z2Vwd)l`xH)3tPl8@Bo}dJm|A%&0!d1KLcp+xX~l;!!O#_pMd@D;oI^j;M>U4;n!kL z>C){3;y+vZ^#LIv(nE_6S_@5gD&&RL;F}(Zf4>?_7>;AY^@ocll-Ww#AuSASA%{Qk z*bFR&_@*KLn3`AoGKe%Q^flnPCnSVrM7Jmx-~uMWwy|8C(P4Q|2Yu~KTUq%*5$&w{ zHDUZ2^@OUt`XyQwkckjJ&yk>x>&h*O7z8VT(i9c4J>vCO!fBu7c%^Q7kx7H*Sd-2V zNtPiX5obqF%eQBL$SSo0|>?O}#mMX=Rm z)$M~o9yX#hTIgrD>m3eWyB@A<`L3^5h1(?y5_9SY%(inbd7rS%T9D-zeU zDe*4$S%GT>({*Qiq(iZ^bT!0H?v9B38_lBGvu&%((aZel`n~ws z0Oew$u$Z7ib!%5^uaM25Vp*gja#uhlHz(5%eqhT#P+aCVY)Tp2ecR4`IufNF5nqqR z5Z85j_VjT@j+3vQR6s!HeXxRbh{;}C>?-xV(T?6%f{q6~UjaBLT3DfaS*eSyBgszU zs18Y^ya4sW0e3UhOcC@6&c~YpR@lFKq?~+=t@xU8LS$33g67FHq9;_6S<=R(MS@G` zkqx|m8kJ#Qz|=h2gFIT%H0z21UnU#-$N#IVuK+}(l)OK=DlEI<RoH27 zU@H^rqJJwkV`{~YI8GllKmT6+6z7E??s2Y!lkMhHmrTCw7*}Pj_0Vep&89p#QXf5XH%+S@-=T7Lt2$$vo4%^#4PiHxF? zHyVuykN|(t*8*7n4^tejD*^y8!4DfqIm;k_9 z7=PV|;%`v;AbDXYF<@#U+6=wIA<)4V2=Y;ozQTZ#oB!|47NY_j)G{{;ZR-}4u^sa%920r~gee=iwo|0aJU zqJNR%~SFLyaF z!N%@Yx08ko;SG%n-M%=*af4q1q(Y~@te`Bs1V4j6pn^1O28gDowO&ywTZ}(xO7|{+ zJ<>YjI_N*VjFq(w9;l|5F=9*L+(R+?cAljkGU*gs#A&1ogRJoF*2t4!q0N=*NXL?p z;#Rck-XTp8_vAi$3ZuR(H2o+RQ8&$P=^w2y-%~)06QLsyWrx5B#l+bvio7@}t9 zokJD!F|vitHx5|itf6230d&1$tGaR7m}a0vJ2s$5A`!ZN&Up`P2~U0kLwOf=yTJ7@BGvPAgr0rvK z2-qmt_gezl)=%!B$y62a^;;TSLb%0nv-{f=<|{n^57*YsZOB@9HpP2)C$Gr!UziwX#e>$CMe*0auivh2+4>?4$F$cY8Gf zLgbFl1Nz=J`PsGm@SO&nrfj`t=5deh=NM?5D|J(fk~{V5WaPbsPBZ%mZBs=sN{ygc z$afndLso~q;s|>VheWSlGg4JEp9N|cLG=Ps>n*$#UmeT>l*Lz`ntW-1KZEMVtH4JT ziYUS{Zln@w;3#p4?s~6#^>?k4J#Eqa0wEvdN-_=?Ht0Ro^RTeEg;F%R02u+$izS?@8i%-TnW(OP1XWV9MZ zbv=7IhucqU_LPu~Deyg!4X^IjUd}rN{_mT0%2B zoukQOiO_rDZ^#mCDA-8Wn)5V*5Ml3j+S<Xv?#%zXH!hFc+Y;ob(Jot zCgZCS6%^02ZMdP8;g;FIjg)pR#bC4LT)@apQ7tvVxBB z4y7yxw9(WU7y@A$22E1|nYKJ@N2~p8dcI9$57o>Z2i}}0P0^#iNvA3g`A{$vXfgs0 zYoYZ8=mAVcXG8ZBHReZ^Vj0^3R}m`y5XO}&d0vcOXRvKxvI0>voO9)O0?8wWH9J0| z*&fQiSwdJzBR}G;akz1H?R`St0JTeUdf&l zcq(})FjKWhp<5KQ3rz=m%2NxYF}=@_ie$ChIe*k1LFNnhy1r zb_@L{{k3iMX3TsGRgH(Pi0ioK+48g*D{16Eu+6gNEyF9I8VkC=O}dj$$d?0Oe9?P+ zs(ftq^gi%Gxbf8ehv(0lnqU8_WoUoL3Dvr)HjF1=c6q@t20HOr2J?Y--rEm&KdcnI zqaNY(R_%KxVxel>#FJGD>awqCyi3rLj#w)cBig}1OY_WmpbOOpX>fo%HbM#)uMj!4 zFAA^$JSQ?+N-Oh$7^Z35aJ9FyC-kFM43&b7dTISvxbhW#G9i?9hYcBlN3osgC@%p3 z!3J2|$@t2T60JEcu$$XG-$5PPD?l(TR6P#IP9wwGu||_2BpMijB_E2Tu!R>=Sko*T zY#wtD6XV2I$+R})I{S?acG8`xd9|i(*7S3!L*QNYE=^ciGAx$T!dNzk^mvCSYgiT; zxidXaI?CKi?Yyr-!(YABrZ-Tu6ltz#$I0c20R*~Y_+XzybJVSe4QiVn)U@^03|bO* z{aIzuulDs{L%|;e(n;j`KT)|&(~{R`$pag9$6iFI6O&AgVbmO2_GH)~@k4{iluG(7 z!D3b2pRyxOsJVCC5e;JcZ`t2_wYl7?>B|-m8oX(T8|SB)*&NCh6n`L0Qy*@$_ba|( z>mvU8JI&6OK!xJ;VHwD2=nX?2pg`k1D7 zs?HbGKpSdUvPAsd{YOy=rI980(?a%{C+w^)Y3kXga)os^r&_l!u`j>!skgeX*(`Fgo`$eHs)mtu$Cbz`yS|mMS*0Uz*i$9)X+h0HwO_K zcW>0=cttlr%;pKjbizp_4-MzzPa)K`k3eb^z+K34U!vrULhfL32mYtDgz&`J7E*Fs z+aP@LXmrXDj#vq-z@$1W?K0EMyJsdpI3K23n3MFq}FR>J(yCTbs2j=@e~W=!|p zj~F!ikD}>zL`0NvtW2-ZzY^;Ayu_kdWw(JIv_E)6WJ`2cW zJn(I>FaCYzSx!Fz{`8$zzX~0e;tAQn$O*&=PLUku91dR>5pPOFbuo z1J^1RNkQd9!dpFLQjdqp`~l?k_A?w-;E4v3F{u`1te=gt+k?9ZY40mtcKvE|v@D~m zm=3>Q7o3IKGt#H6)&`r9>`tpg7zW_vNCH8^AekAkR!*v9aT3x zs@iZM1*1gb{m@_LNyaLVIHc4tiGR)D>$7@D$RO&|YvB;L8WVqvb0gpCaJq>1xfZ@q z;X#iOrT|+CizziuVmQyBOV4MUJj-~(JDu*yRwTYCjd2clnE`6bD;zNI6>{ZVF20-# z{WNC%dMOG@MyWYsp9+sbVA8@ZJ_?zACA@ z^uq2`-+4Ei&l`eUMDN>AQ%?twJdX%9s4bmuGOvbc5#naWzAk@uN|1dAe0Q|1*zJ21 zDBG@_!eUlOqU>)0msy`-FX063@Ao%kDKQx$23Vt$i`SReeJv=K=LPGn9l~E#UV0ge8~+#}lFq`< zymHQijjoBm>tVbQ2?1~b&>4jkBa)Ax z@pmcG-q&hZqJHzl>&`XUY<#PkXS$eROXl=WKN>@+;_WWH79vyo;+%$@ zi&$B^{ehXQ}27{9ok|U zH#SS_$n~9O{=wCD{B>DTjMcuIwW;mwPDK%41dWdyR+t21=0JzJrh&8@v&dDsR(|C6 zStj!@9ARSDft$w#C~a`u4IdJ-R;cxJ?k~~;hhP$apiB$ha(;HK6Rk!AYpCFDvwPC| zwsEsJ8>xAjT5$s|wiMiJvYYlyT`btVC-}ef+XUNny+mo>?=&4qGHWYc{q%k(1;8cg zF_xsF$-=uPCc63HwyD3;m=FWmG(TUbk!m20N^Q61qM%{c@%p&uq1XnaQC^K>#HcLm z{V&|e(X`D#6*$62k|X5bLU^KM8fFg4Ti?DJ;WsW%(3Hupd&E0ORE5;BDPf8D?Ob00 zX_5T0q(X?l;;L*JOq9EQvT*d;Q)DPA3&Ct?wES=EgH>uyo;nbQiQ>2hiKTG_|rWE+ceMv_qVxIuS&2LxvsuA%=fZkR*&{| zP#?E|^H6r%0K})jQu_k>c$AQAjU2UT3@OZn1WQxxk`>Qh3+``s<!c>4n)fK|yhFUpGdL<*uOvV5-~Rd|p@nl1h~`Kd&{nlycMCd> z)e;U~O4c>(iCdm)YR92wVb8L_oo4gXuP#5h7&RVe_S8rJ5M^MTh>dOwr4r2=+sQM? z+ml=ULF_YI5wHv{>pT`75MLE}usB4Kg4Q-n^Z)^EVTx)+2uM6iL_`nx+YaCW5CMou{*m!ti;SFvl!BO& z==xi8Isg#~DG~9tP->DJRHQcm|C|A2BqHw3-h83MJC;wYWJy!))ssRNMZ_!frIC`9yjA2i!~d?{ z>Uqn9Ij`>Lo4eXIy!`6oq7zS-?d~}bV@yNI$G|vFgUPt#ohJgYI_;wb7qPsLf8Df>%d)u;Cyy=xc5HXrx#S`*#(&Z%1 zm9M2l-`!*&*V?6DGcl%#bk>!XjWfEVLHI0~*YegoJj;1Jgm2C?<}^eL9!=gf zmiC=b=t*L5J0_Q*`rPBByHCl|w`b@SmC(Drf(+~-!Q{NO@aNHn`)GWd+@AbF4IAm< zr{<#beNxxK@Vd*^J5AhI@kyPqRE>HK&#RAUP;{(~fQ8{VYM2!wQr$t;oTx>7zr6ma z^kM8!TD~Inh^qrP@dmO@H}RqGkp8SWHjO=KnC&itPd$_Mjs4mVrd?nMu1#KNYbQx1 zMpH7pMzSkgD&(P%E~hzn|@d-Q7^^Bed2z}PVo1DPAV#nLXSU{}4CyA-WVfb4litfqe;SlDVOPjLYBXhrE~(cm z@Jp$rDAD6Od;v%dAfYjZNhB`?3w>X%xE;+`?FZ$llxV83QLU6J32T@vN3P1FAVLLI?9Tfzv%>4JLVbtYk zu)hiIrfZ7xW{pfleF_-C*%@Dz#;cB4kz3IAw$XNG0xZD9u}%jTU|^E_<0s+CItkpbTS#1hTQL_mFYNY*X91>T9 zt}9bPV~oVe3coA@g(EntvvN{ommtgH(koam+qYvel{Kg6OvJykcLPpO7<7Usx@2A9 zO}p_FJCk{42qSCuL+%)QL^2^ZbskK%xuS7=SZ@C#EAQE>GM_RLZq$iXT6M3H0@?Om zxnT^$xmi+OK%!rQrvaR5?(!}AQ4rWpz8u|Gsp_tkf$WX9NznWYctHld)x8)eXRYqr&|xf-E~zYhU@Hx9kNU_X zB-!K!`x#M`sFM3oAm`sMCCvfr?=_F+HyY#EUs<^P65i)rJMkmvU3Ol8-oza+9YOeO zM$5EW%Vqmx&U<5S4#wSut6E;=6jy+NXV>~X!$Hd{~ z_jK+l8U8SXBuV6!UO{2TdbUr)(a%mfJXWmf%5Os7#_>}^5<}I-)8*rQl9F>xQTY%kM5^aLaoGk=#s3xk&oiO= z!D)NhiH1FHe=gMuMgGayHqmEw%yJG6sRryWRBTjQY=FR!k_w|&e(B5T3((lBG-u>Q z#0FPb+DE4V!aKp_Uk!OvY65ED(8*n4!-%$SVIP@l*9oolsvcmDroAq6_%~{2Axnax zA(chQ)OOSPDfW9QOJtHxo$hPndQTUTay2M@FO`dvi*8CsdojhV`HoT5`igG`u*>Cr z(?^T#m#-wPJX8l7%k>lvV+GvDO2=S^;B4Wm5H==}e>W}t^E-hsukT_C>9dca?yc)M zf`9%e(!?DfiM-~&fO@ll|A{w-JvQB3kH%0v%Ao{Y0-qM}AO zSRE*p5s8g;q&Wq{a>b5@0HQzr0wBTd@Hc(hre1Mn0M|S51p7aO3BTNF?L}T0@ zaFx2QG*D9JRzy*ViXLv>8^?+m6cWNs!&2)&q#=^piqx2{4VRe7ngU^(X?cWmZF__K zAr;I9Yf~N85@1KSLG`OUpDU2h#JA$smr);%pi_ep-F$2p^CuLB+Zm~!L^582EB|Ef zY9=5k$!m$sSo7{fY$g^gi%(OJ?(Np*S$dfQO%}lUblS|*a8&t|i5V%n^pK?~jxVMi zcaCP8oYXrA0Wc(*M^>8_bwK*^ z!E5`JA#ZZ+1bh9!f6yTMV3WAV>Gir-^48G%AN~uGP@yoTB`isP{8rJ4))W|^>k5tp zL&0jgy`Yh#tnz_^f~IV`ZUWQhEtcL z5GWjl1wr_fGD(CU3k&x=BiU7r+xDOfE129TmRC^}zjs1S>>guchr?@@RK0L5up9*3Tb5`kbVT8i*2->x>viVh`Gr<~~?p?OZEiIlnOx<^z&pPe3X;NQPx-1Mx6BA1G zzI~V!kvhM9cncQipYRpAL{-J{Zr`pn+MCCL<45yMO64uvyy-G84Ak;!f*din>QWwX z^6??=iFeJ?anBN3s{3_R`tVo9j|V0zA&!el)-L1h&vvAwE}4O~xU72uh&YQdg9r$B zu?{?%h#RO~aw0WK$ug5`D#zKCq>+BJa2n0e5=D?tGEIOj1>B?U8a+81ivn#7N-o}+ zrQIfeG)dTBtmC=ijRkRPQ#kzK_N^GR7NYuGFi=`X?*WIU-0aqT2Pf~LoELIxK|8Lb zGJ9CMTIEcnfx6&KoI1Ai?|$pw&C)#Uehhm%yH`}6XFuH zy1ao=J44l2`E5PcS0A>f&f>!?3(-9j*|_SuvP)R3kN&)2x}v@yL#1;fdnE!}znS*g zv+`pKIgpL_17ngg9R;@xC*go^(Ik-b$wZK67NNA3=Zg`iBk9W_Ogd2^_;b%T5S57$ zeNQpVwv5d>9xsL&%RA?BpphJ|LOVC(zP@XKMfH7i<;gFm5-{Mh^RQ5w!#5LtjPhBw ztc3Ib1>F7or?+AFpBO4UcD+#OfA;|ReZ!(@Zl%rvC!N0~e%QV}`})iU)8)PSYjeEp z_Us4phc<8RapH&=nok59*b*kt7{j>%PZ%{0Kx#ki*Mg&&lIOQim~BfOvk=3Xd(S#; zauMdHm6@j~(vXSX&aBvs$sy7^Aa!&#q-%A1r-swq2Qj^YXJ zvCPXR^IcAFvDh3Lq&>c6l;U`MMh*12jc}t&aoWoS`9# zJe7zYA;gP$q2#-tuPl8rIkXi!+Hw*NuQF(7X?pNf?!P)-x^!i~l8m6)Y)rJ7iS2sX zh!CM`C+K#9TA>i0wF=BAP`(R{lrr9Q%0_sP?-f$q-QVPR&bxbPmAV+`m$;>wAa#1V z$p=52xW96RkwjbGc2v8!gCl&j_V3Y;G9d6;z=tKPsX+CK1C!{=*#jAKwF|2W_LJL! zoepP*Ke(j{rRD}k7DMvaluxg2*J+61M##Od8+rkWytQ84F~0U(IorBWVWI=!F84RD z$M%^5{+BtTO(rzjU@jdxNE2mXx=^c!BpS8n(fT><|YgAS1vs@)CL`aR4kN4jO9Izd4!$qVCLP8UkIxaa7 z9gBo8r5$aBu&P!xvzKIn3i5l=Ah%Fq`eO^`lqGo1Wa9gh71j55IE~opYm|NyxPwLC z7cK9Sy{~GmKdX?zFoH{GwP3~=(8&;3S1lb9r-^&=gLr0xNF)lA#_H@=wa*;!+Nqyc zZL=jac&b7&VAS(&zjwHY4WD{9l5Ru!%mp0VexmyH*+HDZM4zphL=ppy#}JokXJ?W= zZ`DDu>;zsv+&yty@;rG(v|nrgwzn`JQV%6bi=*UDR1wGyf{dFC--xUOhkK`!PX|e+ zE!R$WUOnvKZ&Xo&slWk%mqhE98>^9aFm!qwUN3A^ux@Yjl!Cd%DI%P;XwwCEwr`D` zj%75>f&>j?1E#NBOd30W`~`en^O%khj*hp9PUED4KlXO1TsR4$8%E_;=$Z^1zp1t* zpQ8P_7SWD@MsdLXDu-0TAmPYAZ4*^mgKZ3p%%N=z zWGv>Z=Rs9xa$c2E3=7}E9EphSjeYALPb-kjSwUCI+hu=Y{#Kfq>ga0fXU0eiMT77m zXJlZ3zknUwCRwYUTp-``!PIuGvci-Kg`X;P3J}douAt{C$Xc=-Wo?5=?k#%bIm}-` z@0rvUM)M-Sq+x<~O=#^=!|^RSlk)Wko8Mzr7Mj=;#Xke@sNP)LZ8$X}tiq*laJ>z( z%^1~odUUJErlg@+GbKc2{B9sPTji>3c{478*B znfHNZ{7CUQXj|07_`A{-JwNX)`akaGf5yB@{z1Bym1=P} z)|H)}aXhz`IAajsbEu5i8i=dOF{N#I(@$>lN7wfX?TPg_`q`1pCSII884T~`#Vr=Y zvJBXH0GUN0R6|GDSWIjGlja#WU0YF}Cf90(`Wj(R4D(}S6u@-E25M-aaa5N{n)Ovg z6K?21g%|M7>9eni`1}s6YXK?3h$7%{uWF*{6D;Y;JQFD1#1^Hk&pC3 zo!%{N0)J8N`YmJIVr>bvIxx==>g>8d6I0E&5FQIc(pfI#dNH(V_L)G3+e?-MzKbpA zSTl{U@qROBqg8u1Y@vb-f)~nrhsn`ZYT7n74Wr7Pg3QL|wdJk$0<7IjBP0@I5{`V~ zZ=QO;S!G){#=O!?$AumZY_x@*jA9TjpPk7(^iSnD1K6(GCj!bm5Jpv*4zy5=5E;}W za9Hb*%iE(lraLa=sI@|4yGZr;@w;g_kYM>X9pGV#lfk|QI~M==+HwW4m(`462X-0s`ko^T z<@(hEFK@41#a)zija`QNRp=b(T#%_e((x>bWmtIvT^QmDh}F8P!;icRx?Mo@v@?V1 z&k5pvY_6h=mJ+quw&~z@5jz`AOZk)>EzR9syHGKit2=#(wQGO65fm5R;U&zU(HBJ^ zxjH<#DlR%rYL{UNQjKtMPv?n%S}PTIg#ymc>=OCc(5kHnvBtXWIXa(Svc^$Hif1@B z_vM$rH>bZU-q(CD5%9mz$}*NikG(5>paBu#`ohjjX*8Uj@zP)PZevP*O^?HZ0g}2$ zmKy2|E^;=6~y>755O3N#Hr#AJyO)YN3;Q$5~ z2b=>0GLPmjj>occ?D^)Oi$~XAN^sqO-+xv?bg-W<_~u!~X`GipN3MOrGDz%czm5A+ zHFmvo9Ek>RHb;X^%lQ(g_APywA11awVz*dQ_{W4wfgn`~%k3Y=|@pP!~Mrp@=J` zf78;Ub)FbhKUppxy*`hG==y#*KBUofyZj4iY}8fyS??ne{tN++pX`A*fu`! zs(yObUmd{l1!}PUNNh6@3HQT7NnOC=++E73g9NqQIF{gJ~UCxJ=}h;ueJZhb|Wy;=qX_ceE;L?mot$8J0W%A z^s^lz4F+7Y^XrlVfr%fUgH(HX?-CU6dWhY|LE5o~yqe0Y!Td;=PRSHM6+cNO>1hR* z=ALkpN7nTu^bU!Ja7j)FL+11wb0l(Ebv_`;^!(epjWi^g|FQ z&~`Ch2&?o~=-g!r&9L&RnBSX!qF{JIf4ekQKW3ppv*r(jttn!@#^dBo+0#1S*5z_b z|NQ-V#$D^zT-1^OV#$BC>c5`RE}=j{O3|O+-hF?Z{6R*>*(BUocl%* zJDjBP?HY;REj#X7o%0Lg`DLeQXt!Cb*$F{drN)tVaBCSCSi+QO4tV1nPeY&wyQTy9 zB7wXHm8c_^gyc%)3q_J;GgxTP{VgZn=Eu9frA9`=%q(MfCJ$0S+17uOp(6rZp)&8$ z*M_g~ziyz=7VXpHeJf?#w4krs(vcyg*PJ2a)dydyUv!NjlYh8WOv)taejx9i^PqoNUaeR92@-`WEYn!1i z&Q>gv0`K+$^IRbiB~L?dn4CU%O`yeV2k-iYic34NOHf70J9|LTlyZV{c$7c z(t4$q;fZ=f-dttW^@@4)!ny zWIAs=rxFcLIwNhRQtQ*5X1)wFeVF;<6p0eKoL;M0P|qe;WBrki2I|1; z9_@!HBo!%VJ6mz^zgXx0&vT`%-*GrwSiSUe!qoHVMa*&)@f}_qCW*)#1|YM5Xk20g$RdA{bU$3kQ=Km<+HXiZl;RNH}?a<$6=R0}A@C@(W>3Inkd z0k5Z@?>f2byju*}cdrWp+1U9~J|?N3L!ksn^H;Rp==9v46hUA++({3tSnh3Ayfbg^Wj1f@NZv_gGqvQioCvvCQvj6u+5GHPlZ41v+aV}}>nVo`n zmn0z09YUmEa36Kz4_6|c$#VFtLMMX82Tb05>v8^p#Y-(Ev*`c{{$xDC4+L(gbVKhc z94P4EDETT)SKo6(^{P!K4U7Jz7ZwV}~i!6mW1 zckiN8LOPjkoocfD9_{)KZGE0Y_Q~_uck2>6Cc9KI$M1jn;~88(OEjT$Ud(u&2q-%! z6kF(HEjBZ}k<+gDE#c|D>XEzl>$QjW9g?e*&J-+ow(SIc*6!>hXs z*PHCE{It*6U#SQ!PlmyZGj;v~(0gtdu*6es6HkoeY_5##+>u6MZ%83S*EH{|efqxu zvk%5Z=Nq~AFI5QdZ0IY`^!r{PvA>i$907K*q^}cjlvkPrmCVD;|M}~v{H=x5NnVrv` z8yyF6;qd9t4WOw|$Z^PsM~u5@uWtoStsq3`3YDbAzH6nBcYx?`0d=j;yH@z!|5RBx z_auEGxrt~aZ;2uue9NNrNTuyn)lZj)0Wa$UzVrs~dpV!u@90Ff&Yu9`^C$fK|1ruk z9{3lMb=~;e=MgTKi?;bXQld<0uFs8js+uToW-?qaXA!yOb5dAQuqML7SMG*Zqq(QB zN>~0%bCwDQC;tqP`%pi218aIt+~eFQv?YCc315h-ws;w^dmmV^gv*W*lwNsT5~gms z*q!KAix-~1FD#EENnWZ}2~`=X#e%mu+v(RWTk`$lt5<1Vm3bQCb7Tb5nNcw}^uyY2 zhz@s$4c5L6SMl}kpzV~6F*bUNA=J9J# z+wGfagMY=Z>82&TK-ET;$WxpZXCi2=dUYmUM;FR(lTAa#4yQ&MFLr~Xw<4W1n_dj^ z+2bsI1)3}nG43Y_m8@E2SFyeo7~L}c=QZB3n_jgx!Vhgf*84g|%FvFnVO!1EDdu91LJ_E(WtCT_zrK{;FdC*GUovsY4w6`$7s!}b1k z%cXz%t`okZOf$i&2+gmP$qzxGfVZORZmAc(rsi~zl^gc!8%7m5F)Ol7c{Nzgc=!0q z#eRFO)9l~?K6C!$52+>gqDbdAoHCSn@IRyfdi;oHNtw*CV;*fwwRCWijiJvMQ}TJx zEvH%prenO-PN&QrMn$e3Q6I&wGeE&XMdU=a*uB{>Q8;V84vXp*J)4-qEzelFcNYH{zoI-SVQz_d_v6~P}2m1D*`jQPswoy z4K$4!e6MT>2Ja?xv*{rr>o5~fj`llK!A)>iUzvm_;B@#*kPF79b=qQ@ahlF(hX)WS z9q)8KHx{*&oK5U!$VhvYEkwtP7eDHP*GaHqQ8;M~?{}oJ4+i9%Nn;K*VE$g`c5gObye018dgGdQnznU($%dFxeXXmMH8%<}ZmRUN~UG7zAes3~tnIsXM%(GPa^0Ck>-D@lA9 zBW5a@Vk5Y|n|bVRp(7|ZIgC)z2va&ELWpBtDWq2#9Sv=K3I9b`>Qc|AqiyhK)i!{A z^5D4q{D1d>YxbkN-qh?B&G0)kRyB=vO#A{ULQinVGK{dvV#P#?0;o< z*}i%B|MmGr=;&OAekSKl&YWj(OpmuoCCw15x!=|Vzs3Ce5kg#cGD7tPO06WtwuAT7E=R1Fx=l2{TNih z1!NQIc1PoW!jO#2)5uR=m|Kb#eF;-SCzRwgbz<;u=AQa}J}Nlx7XJ>Y#g?3#3GcPK za&{z|0ym1ItqbwN*>9I_VJ^zH}ezm*xZ@;F9n+% zJfdLfUTG3O1UjR?B&8u(WQ1xf$wP#4zQ+6P5?Zhp|9J3!xbc5(0;_ZBOxN>|^0Itx zMs}-uw8w$MAeZVBg};E$t51~8VrbIx>W92LV~60(Q$*U6hwR5p-LKi*yYC*~DoTyp z(e-KwQucY|=iKs(^zH*}B)<6`X_4=4%arNNG-QOkN65#CQ`f8Nf?jMV;oDxKBqO!K zk9|6<5KQkINwq=KDYW#RPoF5^W#b}-l1kuJ80Mva=Ialqu!3g?96dGc9qVHZt~EMV z<&)!sO!A?{BFW2r=|;Rqs!kKf5hh={pYn91Wl+6LT4ubO+>35CwPSFM`}*F9NY1o3xQ zNFJzvD{^$C=X|D`FW&PPaLD{2qpi%n>LYwCQ57KS8a-;qHT*M4hAW--#fqb8j>i{Q zT7A|c7W?MqT43R?oH5CC3Orpkl1gjGZ&z(I*n}*UFdG@vVE$f=EQRxxIv%rXyb$AE zFw0%6h9)1bj9^$oC)bpCS+DxGJfrRw#+$85y-J4|ki?58&;u`Gp8nCLnliGX248B_ zSuf6%5C85L8{}L&9b+au5VP;RuDW&#i!m4b7aAxVp1LO7*ykqS3^RZeV3|+20RUo+(2{Z9*u@FG3YowvO&@DT*Sc!dz{#rB zbKSO%73N5$Y&s0U)4Ch-6bRE|{tOw|_1yTQ?&i92R&Acs2FpFubvMQ%7sh2?t>)u@ zmRf$9*xR-~K%gg&^;s$r!iky*N9LY8k1z!&^!>r8i1=bMZGQJ9+IAn6y1cn^RJr%q zDNP3W>p>?D-PxQw2HvcSm-YjLUi-DmHnS_0$Nl%<`XWqwId~hf*-K-#k zj3&$&Bq6gUc7vn#EiXP1Ij$SqdlIXr-S{wTxO;A^plr^&*cZT6Q)hbrrpK(`MyE3e zY`)IiMyX1YxIR}6g~QJUJ@qmA+D(#v8p)O`#zVEUHi6SXyVFo7W z)N!tqywMzKPV3bAgJqG+bH0=Z&wwFKT!vryG)GOsrQB0L-N)~+l7jsjXS3Lm9ELwG zv|S1*_1zv4HTfQtB;p7yt$GE20Yqtk0aT_p@2F|MXigPQckUp^8TsK_K(+A+>%#XZ z`Olp*-RdmvN^go1Ne;Rt z-b#ariruC(a^&6@hDP!@@#4Wr)OFpnvhgWTTv+wEo>uZt7fYS*++VQoL}W40h~cfg z80)hZV}ZcH-mW*Qp6+5dO(1xSM+u~m4oMjC@rqG5P-?yJ|^m?Uj9lU@z*nj(dy( zZ>ZWSFW&W!-MYn(nhBb9OPy5%+lL>P{rbaBsW;vIR2)}jV3L!%UkZ>>i_FZEo?86y zhOlZSLjWLS_pz8$vp@o2zH5Z24|P$dW2XVBuFL6Y-Y{H2=jTJ@#{>Ti7G_%BxvOHE zBbMnf@%40k#GZ<835lV<=r@veN}fMp-+A28(PxX>6dEG%K4iNyh1lUK7~e?bGX=m> z4GG`#v*t`BMxp8IEj0Dt+l1)dSWbpgXc^PmbQ{Z+Kt)O9NaMiHZW7yoVkcYVEUv@n z7pQ)OxtED2b!H`X2FihCA|z4R2G{ktGd+2rkhgrgKHlfuOR#M$>37T@KlJpuDdoQYuXS_JtmIgxx5| zT=dV4*oA${wT|c$VVU)>LmIPu%c=9fh&~?EveSMxJ28+o>0bY+3(h^0KN|=AL3b&R zsjOKkhf`DXH4o_*V+ZrI#zu zm4VGfwKe8Q$=Hx64s& zatF5%^HO{WVD9r~^NBA$f$%%oKF#CfJ0s?Fg_Q%VbbdXHb3`O1rHWUE<8`g%1^_9F z<-jQqj?;{uyC+#mz5XNzWwTfT2PI!vbJaT{E`^mw`+v##|GgLlo{lI|{B}Ejl5~k5ll;S{ zSsj!mCH%)a&}j{3VyZ`GlQJfKrI9o|`=z5U$eb&gj7Dk!YX3AieI#<{r1tr6Xv&*K2A$Iysp*#UAfPOr=3 zj6aggR(-#&5wR`#HFumQGR)^+uqHLTthCVWLpCsNZ3<4qi;t=- zjb24unqUNOP(k5LJz(Z>q{`d$?OX{H)0Df1M=_2|SGct}E9BRu$6{O|2W*!3IkJUF zRKx|ga&qp-KS>I1KBu4Drl5CeA|vliJH%3rk&d=i%q!VAXM?gg8Ck(syn1 zY?AHDXs;BY6`KbN`J6l});_RE3Sq36_Icx?4==@S!6dNy4;&gTu_ve5mXS(NYgu74 zhKP?;$`-^Z<6K})ZmtI2HKK1K5$)@=BF3UzvyA*6&gcofO^bC%0qEJeDPAmiV3+cRSbr4)1{z-=@Juf{LJ;$XKPt&3OwDW7m$~ zsy>f;GcIb^lQY@9A)-tKZYPgVm7(p5c>+rOQHtSjd}sK6LhjwB?)0+b@1Fg;wxVBv zgv3{{8z0>37>h7e6fuC!*HhqyCL87ql$^0o{*24Yn7k$LXJ*aj!m~0aneX@HnjQJx z%RSsAO9a$TrAg2g%tXi>K5TTBsE?Gos|-__v556YR!07! zkg^_@a-O`44j94rLK~(u#ixeUeX~yGi1u3>*XF#z|Ju^8Cli!^j_n?}qXJg|r-n=n zluPQoLv(zgnFgMBWPln3OOKLjBf)MEhcIBLfnqy_u z%a?ha@Av--i|UKD?31s@MkFc*tqf;g;#+2oOMMM@S)}VTSIDY?*mSEIRlJ6~&ZA^T z$;|=_lw{U+HO4PcBP^wE*P%3i;$EWLccI4(c>QFtm9}a&_oVr#sOv%cLRycF5?{M! z&O8q`Gqx|o&fQ(!)#Q(txyQ2(Kx6bbvVMk~PZ&NsBzfo**asV9_WlRhBDe3Et(b5E zbGoyp(MM)>qX_AI4;67>KuT@^u~XJclV(dtr%1ZS1J^pa7d5)~<7zTr3EM{diLE=_ zW24fE)MA&jNWucdb#dp&p7#CQr_LYv>a>khpEb@F5hE7|qNb^6i^1DEDuJgp%h=>+ zIs>5>EHhT7b?$Iro- z(~imnostBrG3ad$o_2iaWpbJi-bS^#>n19`h<#LOasUudZi$Wb>iuub_+JzCPtg7A za#uRma^Ql$nvLB(x+c%2QjcvW*xbhv7E^`@7+m?DAsIOTH|Sn`qKYQguFUm*TcY^k zI~<-3jH?4P@!D!?j@Z`O{U_`GuV?1~;^`|LlSkIzug(*H>5DI5q3&H z%xJ-xsg03xbb%d)Bf}SL7S)=+d-tAAP8uTuJr1NFuFg<#QTm+WyS7HPdD**Itiw_bvF=R!42k zn|Ps~XE5Wpzq;=EL!tAE^!hy9h0$7C3j4<`V-FLu%-Oxf8yK=`a~D2m_`GEfrw1Bu zWC_0n3#oR%KT^VDiEC9f88;~mx6=Z~HKSGI9fB?%3AFjLze6<+!Bn+8TlJX)@2xKk z4}@-I5gwMPK1ffy|0F(PitYVd>>#;a0F17n0GKp!KUaJ_HU{o5fVaE!t&C%r#xXtb z%CIn=EhiBT)EBm9BZei;Df8`?oCpw`s%A80%}jbnmuVQ^Abnxf;b7wk%R=U7R~N$Q zfV9!74wGbRH^%Tw zEbmw&+6OGq_XK9U`Y?3)O|P?;eu+vyVP3b^+`7Z9I?>-{*U?L7qca-Jq6#-W#cmLo zYpd?k2gI`U=(SYVo~S5oA6^anzYG3E5Jg~mr_wA;ggG?9k}=G-zshnTmijC{Qdqa< zX7X~MI+#f{e<5j%J&L7Of29qo6ph4DIRFQjaxr2S!SNmq(>E4&bU|zfBB_A z8gw2J5-D9pcv>rmfsuE4I3k9u9B<~UAwS7WrA|cC`Tmw;-##oy{IFcT)1W&bl&RD( zJzc*r!OOa`*l~SD0(Ic1Fm^%wXPP7jd*ixq`2IGn;wzdfW zsJvYJD6F@}l0HsP)2R_*(FJPMeCxBn-7&#)f1PT-H9Urt%!fO1Kz{%$^L?g3?Q>8f zRXt&{q1eGEFy__wDBI2-rznyb9+;wy+-YrKm^O2q&V$GJ+ObYsPkS&I{n3M8kQXm{ z*k!kKRsu^M|FsMDe`fIiuz$%a-2Gkyjz@$G4PDDwNMrY|WCSiy!eww+%&0T1ZW&{d z&z;gHs)42D6Q|7FbD;RmJhl&|_6vf+{hoTQAZP!maU$LwgB<{0?r^=UM}M2}ZxdUe zIJ=bvKDx^8M(lFcB9BOqfz3VWl4Lna5?|j)lb18?V8B~Bo^+%ogC|g zQ@iKP%`hpAPv`+3@GXh9_U$mp=6SR(PUQ(@I5XdcW$_6d*eutl680_?ajG!W1}BSM zM5b=f$F^5a-$K@zrM01M4aOnd0#tg=j~?=R*{IvC0=cXJb36-#ZhQVrX%F zLfqIc4g;7$lB70YCE)eMAV>{bd3;K<;r03T`_77rJ6-o>jl&mdN;nD)D=C__h-@7w zVbRn>`aevRH>mbrV@5Q8Ou5dyXgB-|*cu}`)%pvNK?QHLnA`$)=Y4DHi9I!T4^SD( zsfQ;G#&&blG4=fP&1?SYKkEC-S#d&x^^fzL%iqn59?6nDY(~B>)4b}DYLj0A`93Gt z?t`61suWCekWY4S#qm`nR4wxvMuB~MoM92%TM49!JQ%miYogl~v_;v{CYX4vpZ*sx zhgIAkdtTL_;*OILw#xF(Tt<7uh&mUKA8D}*)-T9y+QJ@2&n0x2y)GoaYxK^tQmogm z`%4=_fYe14Vfr=b4FFA(?_aDvw8fY|st_|_-?tu@s*|B!mhkP>>#2Yn<`y$aQ$w$= zduC*kbVLuEW@$)6tzQ4zUWpM1Il{u6*3-w<`Z;fwlT~$a`!fZ|S^fD7@PG1UBDexb z(wnegTTgIfq??{mwt!=OAlzXZSCUfuOoR6avX_`?bCzUK9}8w*B`1|j;cJ~Y-NK!@ zb13bthx}+jS;_$qH*>UuqJPXJLsq8jYtceo*Xb^FMf+h$x$Tg-VFljuRK!(PU(UPR zbi|UGik_E8bW-+^$eKNleZ2M5@ccxbp=i8R81g(`puOHs_s%B$QvO5Eo7!Y<(i=xiFr}qghi9y`)Y4+NfKAjPslar! zmyu>K#N0BU;fiZLV%{kSbLX zV3;ddG>Gyni|FOlL|TyB(7EyT-%m2KBwRnljh#zfpn9B;S6|!cXFOjopaB>fa6mDM z5}2sG{lkvLNWj?JlGDo#P9sXGBxv$0T%5KJOh+}A5lw*uEmoQ;lNMzupofe9J74_2 z%31ZAx`vcNVzMQ;d@bWVSG*s#I3#uWVP>ZL6ETzZmE?*{-`Ce*M*z0XHoX^n+%1;E zspG2Q?)1}OU*4z#LCWNDZ|Fi9sU_XKs49u#?Ta$N_B)#jkg}QT|egg zG_Nmr8<$HQMcbPRelEN{%Idi=BOf4*R5eZQM*AC0{aL@AIROND7Mevc5kL z#J1gf=nijArEo6%9=i*l)zVP_ro#8kf^xLYp6cOmgqd49Xt6?Q3!vg3o9Dc(xVwjG@L zak=X|Sf}i*er(%YxALPloERbMYQZ)BEvOyW{Dg}}MIGw&rR3v_@y&j`1bQz zkKYZ$mBxEE!lj8pAxx88!b@Btyv8kg9pjs?*VS&sZ!F$fe&|^))ByP-KTfZp!qCi3 zlz-h@`DZZ=IsE%x_J4DEW}!5C{KZj4J?6Ok{;Tia1>)b|vKo2b6=`2$45K7KNf6~Z zx0tHb8}U9T5?Z8w`rx78$KAfbdp+uG_t8|i$Hhm zJsw_eW?o1cY+L>&<|NvWPM*#cCJrKz3{k1>D> z3jsp&_U>SPd>|clorwyLt2(MrAO3I6eP>itUAJy%(nOS|(n}%`2)+UWQltxn9*_=- zfJhgRCPhVh2_e*%4kq+aVh9~nnh+30S_nmofDn2U5Ip(rch33Vd(U|9IAfe~$GHFY z9(#?o_g-tRJ?DDne4Z_&3)N3NP}BvmoKTr}ATC|?E|yz4_(5=x@)?FEa_Y|YO^Zzs zG)K_b*t<>rUQKVDav2$$?e9{hOYA}l&qXR`+Y+un6Hwe68P$N|}w8T)d z_2T5@uw#zZ6aIsU%EvA~NoUiF%Y3O0<~Bx4>dmqQr{<&J8hux%VQj$M;ONaU$}Yyj zx^Ra=0^Aw%@3Qh%DZ-CsF1i{gydm$QgjQG`xBN6~SOj8k8Vi}-A3RSI*pu=34G_0~ zaSk>7zif~G>%NIXiXOtTmIhhyvf|NTk{9Wr1oB1m^&nQCA&eoAi z7uG>A#9um?&NmNO_>#LU<#gDVFvdme5%9}i^rK66CQycNtWpM2mXnDVi!nz_3Wip0 zOalX$N=t=zKA{LLPtGin#p%i&D%p9Tw?CVQ(_psMMEeavN>d{e#`3FkhBCIhTg^t2 zJ)aivBgBw?R+=6WH9*Eo`e_wIjTiSe<6pe|qjO7Ibr0N?^en5aX$XGcTC*=bB%;>{J*cDj9HBjq1L^ru42y z{#%ZR>{psS?YuXi?C482@ws8n)8NH?o$3;E*)zTAXt!Cf`kK!Mcf1WWp@L~#PW4%& zUxDcv9^c!!W4fLic(CgF@FvQ!(-gcpa{={I*))r*qnk`W7W``HSn2e)u=%gE`nN9U zAD{5xLJBQeQGENns?m>otJ5_F6GlPn#vZ8urJqhJS_A`-Paq>=LwP}7a%^{f!LBGQU8aWBDgL4WtCwS|fnV#Zkhg z?~)k%QI7D>N*d1ZI)`KJQ4+R}I)40jSKIEkPRMGnEjSrvgq@Fw#u?1``sdIXF z+?4z?ujlo{4%-r2k-i;ouXgX73XFcys}4^Ksqg;!pr(;$wNYooH-e_|DE}41(R`Sd-8k$=`bkjmE%zTREO6zYtOwko6waVuw7jpk zT5<69x!|bo=qK>>+?|b4rQIkt3uEG2ljD>{lF1^kvto_f_$*H@ihWLQwO%aKu>C1KBRK{m` zG&uYQaGXh=**F%yd-DRM`v3UY?gz!GVQkxej#n8FP(9npEYTlB9?%L=$l^`hWzV=J zqxL_|Ja0lVmue0isn`;w`hOJ}Pe*Z)1OP8pz(=Od+&)saiCm&iec8JoRM7ju@$iCE z|Cm1M+eP`Wu#99Diyh)IFV9|Z^z7Q$f*&BSD&Y|*vfLHHXu}p9tE{y{mNf~KRj>Z3 za=sJZ?^jxAPUD8N8|nb(z;P{WBVUaqE3}>6Kp*Culhe~k1MN#$>upBGP72=}Ow5P+ zo24JqTiN7!#Zcc72QvfM8g0}j6_<>|-RoCE()0X)zX42Lkcp8dQ_Qd;>V|SZtYF*L zQ%tO!wi;EPo(w#kQM3KN{2Ku0aAK4Gx$AiAiTe-8#VN$g4DsC*W*05A1f#XFU-7%6 z+Yejkwiws)-*Dh7>9H!F5%VfWeKvV+EG<))*^27qunR9I6}S7hmQ)V7&Vt@5!Mm}Q zj9J00jR0YN=BK`5ws1*bn}{wigTt$%un-;Hd6{M|CGq5mq!6p_Pci3k(s^lGI2;RY6%Ci^&r@;fxliQ8R8HPUk2q!d^|N6WX_g&jXl@`rp)2aW8rlV?5`$JbprscJd`iU-^h1e4lBr}%J zV2e@k*gwGC@=@48N5EA5B&+&MgNEY%T|4O;3Mtq!bAXW2R*xWvaV|pK=+K>>nXq}C z-wZhwog;I(TE>j7zdWx@*)>rtKo6=cdxluhz=!>6T(MRx%rxk#-rl?dxwV;)aaWmE z$L>Q{VgN;N!jap{(SB5qXcTFL54~T3oOh!eMPK58yFr@);cALJ0xC?!`$-k26DE(_ zv3t#C7-ab6QLCXM)+~=pPAmPxKSPEXg4t!5x}!sxFp_YQgr;U$dx= z-6J@#q{PN^Neui3tOU3oj=h0oXLISeNS#u5M~N$!4ng&GY1eg-NI5+~&_SinUv}4- z-Pmhix4g7{Dy(J>pwPHz25CNrm_vn@H^s}L_la5{kj`_O@R+r%n1Bm%+IdR~ugBxZ zbEET{c6qdh==9-ha{RhHpP8m~MV;{bfvJl!mh=3sPd<>KcCptQgWJfS!G^V`f2QsE zF8TlD=(AFFuUUtgL^hOz#Cd@E0Ew8s&Ia}$td9v^gW}hE-53LnJxv$lVT*nN@r?ZC zHu{+22ZeozBdB>z>KHHn-u0AQ&l26e*Y@LgiexwjBry{Y0w99GZ4*&<;%qC;%6E$= z35fDl^U@r*U6p;=c^ma(F*NXe{=OYMq{%spjGPf3<`R(;FQHzlzhjI(YP&H5gE8w) zTwYM0Tk&LpABc=f>`yzfG|gcq54wc2t}vPfPBM~q8BL6kvc?ag@K=iTY6W8uPvjE8 z)7rb|xkw5&mXmKIIGGd37VY7Ln1#1%`za9l)&Hba>S++t^m@oL$(1sJZi8Ls@f3dX zDZHs{>RD7q6k1G~war+hD0ee7!h`z97(q~$2ojR>@bL~7Izz+rq5$3Y(^>ElhI6ka!Jr0OsaKd)5L=&3+li19)YGxwKQ z#GkW@zZ+q8DMlkk(shIZBF(#1oF^XRB;M1cU^XdM?WDz_Za7t-1`=5`B~L=eeLl_^ zd0z|LmApp^Ep*Cv%((S(5&z?jv5smI)CxuoAR(7V`0gpmZgcYpv}CUu4&j zkT)WRFHK4v?A8D=5>iJM(`gBw_NYnBkgLLDNFj+Xt+Is5$fXLf-|T2?m_HqMioGOI zT^ZS^5DB}pL$6U`r1{*^K1P)K$20FCb{=-`p;M>Coh5~1g9vRXkWXlg@5)D7v|3ri zy@0zj;oWs)@1d)bt%fax7F)^j*4M*@d^e?_dErNF`Jfj_V}3BLuR1+8qj`P5&-Wbn zO^(^1Vykkqr^oUkIirQ6%K)t#@Gze)xQz`7AfthSWKaa6wwb5cnt+i=I4{o3|3#ex zGd_v0a*!SnSq$vu=Jsmx5)ujh%m6Sq+)}_2H&blUANun{3Y0TguQv@m*$~o9tgb^z z)botM;qSlDT4XKWFd~Tc)eiRPiMQgg?*>`7{Bz!I4&CfVtmVU+DxxDbG6Q}TrPj>s zEKHD8T7JzO?n%hC*;zNpd$@d!oXMd=RUyZVzll{)5FPVC`lftf(Dd1sT$hhUpI4*) z4W}CtXfTW-9M+qjK?hQcdxzG8!HSC1X{i~6>#h9A!o9IQErgt6Kd!4nE4~thVdWxf zbz8U&Y+Ma+Noy5Ar)?vxuVqy1AWcjlfI`D=2+8m%aL!+lF@*G>=rWBVS?2dQlM(qI zHj3kfp^7^!H5;K#EAswNq$lVk-b-Q1r8MB93sHU?CXu$r97VKgb)oL_KM8%RtJA}0 z7h7L+S!|>!U}vS0NF^HmIU$>N_hqg(^*nI{>7>>EkuF-NI2H5hB~j4)#RF^2GnP-E zzfE2vAHdHm;0>$?uPk^~jzEtrLX0KSYSkQj3gaQDoQ(ei=Ks&rj_@C;5B8_l1~jPD z8%Xh%H$})h`?vSDPCEkjIl))lx8hTki<#`dSpgO7Rd znf3QMSV3WT_s$1a1ax#hD{A?t4g^NHIUf@FT}8^%`|d2PzW z-rg+`{zUj>D~JhU`NAXyj;VXEW#J$OLuN6}g6FX>fW}3)C)`t#{-|O#$A%<~9A z92{%E7!{W;e)QR*D!sb5bEyrEsweAlRj-Q;Ox%Gz=nNHRBl^T8ePwy7|B$>pHM(#_ z+E};8d&)TXMY9|uXEm=(dKtB>eL_Y7JYbgub_QlmT0)F(}4@ciGdbB6m=z(hsT;T$Gw7pR@cl%@X9L0fVwspTG5@({J zr$_5YV6&Jz|ayiax+Qj+sjASu1A(2gz zaxo(1G}9n;rl(<=FHa`4(H6WtOWlMTYe>u@H*aor;Pry(?C5=kQc519KuQp8X8{XE zXqZhtNjnbj_0GEJXMXKZ``)={>8Hk03nS{{-*Dylm?M;&2J{(&B8AVYcWbpzk+ybJSnTm{!_IOA<o^jPWKogw>sSd}lzi0OiFM*E8=6zEfs(jx z#5K>q#O0qv)6pDRR>#UUSW7cl$S+I-2lKF_j@J=&jcvCTxMzFQO`;`S^=P!Ay29uk zLR;tt^7fPjTeiCz2-5G2Uw8)96<7Tu^!Q2%BP}ujC1*_WH7uo*ugAF(6YB~t zr4El4pQc{AiPwKT$7x)n#DAFC9;mB)zqq|XRBd(r(fiD)&8EJ2k&09|Jc5J28GY-$ zI-|J1^ZKhL*`V1{$ez%&P@^<09@P7kjWnph6}`IpL$iL94G}1zR-Fz}5Ox?DM8U@QKp#lk<}krhkA37P!-} zI|E702B4mvkehYwh|*~uUZjq19n`o7Y@$T_`mN1`QkYV@Bey?e_)A=qt*Np(Or3}S z%|kx^nX1PW^qZsUOX)p3H{U5l*K2*RQ96+3GOLrd+kZSz?ZvjQ8$Xj;VolrqG+qg` zS+>9p6F%m~j*GvwjhYQRE4rr>PuOqv2t6K621m!@s%0db9%1R3Z;zWbGP9#j<9t6@ z3Jd)dlf;a&nq$;nShzdNWK6px3N{gRz?To9qSy8;eKSiNZd|l}r;7;vu zvig27KGVK)xV{(U1~-pT0&}QXJ3&i$v%= z(l&K|wj%5*pdHCRUN&DQCVw=IJT313HYD9;1c{&-c=6V6^Bf>G`?CG zsWJWj5hrtFOR2@gQt09Zng01U5X6X6oT5s&1TJ~$d+Gv{U0{)pP|6N!&Q`|+lX-A zSL4dBSNR-o5WO|M(-91}7RfYAp{R(ptMI`f*q7rWcMU8gtmOggbWL)qehw& zJO?@_^BZn_`vq99uJFdDS7hF@z^xJfaCO08vSG9XQeQ7ZmSb&>iLIABF4A;gn@MM|asPaFOuYT{)s}Iq3Wi z1^BDFe%FoqOYo!jmw<$^bIk~ez)5jEUzRNgiAqxjxAwy&tb7R@$Gys%;NdbyD{@|< zY@e3CElb8#ueTR_glvvX7WBP#z!nIm5K-hyAWciFhVMji-5&YcCI(mG#p$;_dT$_T z{mm41B)$6T^;EC%az0uDi+k6pxzkbw{k);Tw5XqVr2i8;EgTCj7QU_8-H{gj|gW}pq zlpv=#RFRQpFm1b%RV%%925xEMf_9ilSJ^Pw<0HOAnq4X0rs^EHa^hWmGNFbRHz5Y< z(DOv|5%qkJWq>8XYsmn+^pm3=#yKBBJyCUWJ>W};2iN+w$B#nl^b@A_F?n^)xUc6D z?p{lra=3Cd@O6*d7hS=k<79TnYPaxcJv-+%VmJ=u;VI?^H8*D~QGN#k15S2SX{;qU z@Zlwj#2tH&>VKWC=CJ7IryL z$CsDXyHzh@Fcp@{*25TXhP{9&*3C@gZb;!}kNrs29Br%G@t@7!!uwp_X^*s;`;4zY zCmUGXq;>c$dv{(u50ZMTfn!M??| z(<}x(4HQZ{sLLZq1Ie5h?D@LgZ|45V^1T0*SFXPS#MxT>y2oz-H36Bs1ADP9mr-_l zpL4&Y&Ccsg!f(jMEWTyw>!Ouo1rwu*dB%=I{O;XrPiaWDb7%|2yt4uAb+pRe#H3ai z*KN2Y9##QSNadPM;nbsI0(ux8skAG9tXi?kAnSM4dKKLKFd!t&p*#Q*>$Zt_7<*K^ zqrOL7+rS*$;!t9+{m_ZcTXKiKR|{{;^V7}!0`9z{zw@12XSc`;6$2vLFpIUf(9>_~ zNLZP(CH7K>lDcq}%Cn|B9;+R0D#)UBi#yQ`G$k2a=2T}CS`ITL6 zuoa~T`NIar?2T^Zv0756&oM{d#)$D9-lj?jxJ}0Ykqe(D?};X6!#5Q(gk(f?*px-N zj^wG4xFYc`)T&1u^XWag@R9Y<6C;9wgv`VftNR)Fkr4r}x=~`sPSBi)>pPt*D>cwF zFmctcdE&e>zzm#v#Z;tbo@wwa*jGZ#PR^W<7pZ&qw2!d4ccI08??x}#SZ-)b5H~dw zpq#7KpNvJ9J)dL}c~mY}z0P24?WgBH=sViy&ySNMl`ap{L8PU$_2@I>sh$9z`w3jJ zztk5|KW7_2;#;11rl|$$(M*qxWZb1i<#TssE^&GKecfoRj{Ne-t>>rYKyydTpF6rh z(OFmsA4n(81W2=8DX+5?93{?H&9zzPc+A_H-|Ny-K7I_LC#1A2#ZtortYK#THULkc zXIhCz$?U^M|F=Wou#pHa1Y>Q}>L0-=;hMt8(m+g_6#SH#jJ~fBW;5w?{iO z&zSzs+5C0o1Adf4!f&5cW~q!Eluj=`JonSQ2u$6jZwNXWZ&6S7$3yW$Pn5W9B^;Lo zK52}=ici&Ve^PunZu*t{Sn5h(@8;Dwe328$8~+`P(@SDq>WZ@&DV>Ju>XBi=WQmR# zD+Rn}(0cmaB8TF)OcNKn$vn?McX<(nO+`xPei28n9HS7dMG3AMa|sri%; zKP=mrlT-%dvwcFTK2;*>f^~r`moyjcegjtb&bGU~o1eEGN*`wwz!mTjKPZ*Z(R#-l366d zGT6#y6RAX|a-6;}gZ=cFl#Y<}Y~k~y9r^0r`j6~nCNF|#FFRPN0{FAyDIFa$v;sQY zuhOq_I_6a4iBSOi7^2E2y`TCp1AKOGEy*p;oyP^fJqtvm%dOy;lSdur}t?K*D{D0h;IZ=Hje&ucr?gI?@=F%NYQLYlC*+NrM z{tl3~SR@pT@vfGW3X+uJ_uPGMp~>$)!b*J1zf|G6#6{9Ooi;AM9a`=&F7Mq+U_v*eERzb>RIXs*Bel8FviwJ1=30_c*s5C1(;@bSluNvs4XXfvf ziUO7q^xeQ4r)yOsxwp5dew=kOYe#CWK+xkh*?$_KV?X5EjI705#vzM}%$21znmrI- zl%%Y@4`)##a(-;JH&q?AD-P#5WJ@h#Gmn6v3Bb1wXMtdZ3A~$43z#P_o$uf8KmJ(8 zl^{yW#arhxXr)v+7Qb6~wG<}L?`vyHyG<+TC&+2hb3_}9T+W_VOVV!T>mBpeI<|~u z=VL>G#7wr;9id=mSge#Y5Xk3QKr)=%<+%`$Gb#%DUUedVWOr7pro zMF~ZGvp5zDR2j-D%dVD`VT*kjwYC(joRZWs>l`p=G%(l8}Jk5p!(Jx@V0cyvQ3)CNf1D2}}{w@{tuaFuo zkrANJ)NyZkL&fs_8+q`VS5mpW#G^bGW{OwO{4ng?lC}k`su!dVrLvbJ0*4y!WtWc# zXAw2g@f4xi8Z~}q0D=8Dw91h% zb>dvUOZP2Gq1>a#Jt^JhN*=U7C9h5gKweKr?U@RO#d@zS!afOI5;AN`$1u@~gL!BL zG)wOn`!gPK#(K6$-P`9!@b|HbRR_%;6S0$HjeaQ4Az zs7EE(QE#p=wn4h~)f4u^m=l)&HA`A96j`lAc}XwRvu3tyFytskVGHBtu4k7K--V|{k{hsjAvpA5&un{8{W4N@2mOc~R*u>6$Lz!y$~Mny%Jb zTu==4wvCK1?{p3@%;yrMzSx-Z?n1w3n8g}B=0Qo_pcO_NK4s&Qet|@h9DrS*{2D?6 z^xv?Uzcw)s?;XAn-pkUnJQ`nT{)X>x6oy0FEJx~0Y2f72>U8z?bcHqk8EBTT2HJ+% vPLoEsC7KMNJibS)AP|l<0C%211+w9<1RmY~2TA`gmigEF{Le3R{wDq#yJq5D literal 653540 zcmcG#XIK+54PlpXb~k_ZD<_P1Sm9t?I7sskORh{?Yu0<;UG4;*#T% zBI4qW_U|vB}QU9>SGc+kK8k8Iv7YnG8uG$jSUJX$DAIHB^8aiv8&Ko&L$6X1E zHaZ;{9+4aw8*X$gHat4?FQcK_HvJ>FPVYbEjzuR&CWAu$R|)lR+U|*wvB^eG(Lv!! zDsJ)L2L2|sf9%m%vdkea9-8=9$3HUvR{c}AU3ZmhP<&8qXi})r|Jn$!M1}vG7W~tz z@A?jL(Q%1JCxfEHlH+1Sjl4pW|JwXl<4M3QEKDUIt=cd82U7cwlB~4!|5>t6Rig&@ ztM>mx#`2$%J^xwqkEWmhq3K*=P;63IXySj>6b}IN|7}u#t7_%{hq`~Rfz~2tP-IBx z->w3>s!erf7TEv00so%kO*-D5r;XxLLK74JL-6kv{I_oXBCqJk;D70GRpGzA|62{H zxvN@PrOK!Sjz9u%;BV32^8YRUm$JXof2sdl`p527`lo}SsuSpP!pJ!^HZ(CPS#<%A z2POR-K!5G~=gMjq3K{yzfCj)lZs2?athDn@O76d(XgwY0PrYb{;8 zcUa_x$x|D^vo{QKd5->d0pYwIl2(OtGoch$0G%U1o} zEnD?3vf}?u1M}B_6{M1RRQo5X4E~$cRo&58 zxJXlL@e*y-P5ZxAssRhs|3{@Rpr)awzCdHaLd`{53)PqIS5>Z1*D%(zSa{4MXyxVv z?7l^-xLFm)x0tNh z72)~=(93U5+XcDAYGLQYS5tX4T?4Pb`-G*CQuAxO2gj$aoqfZ>WRaq-XXwq36~KZ8 zDr+_Vu}O2$Ld$FaDdTx7Ijb^hopDlvVbizM;ST;O!B0|K9T> zmr|<2f1Z)wK_8s48^7PxKCybdZu^!4kK3JdXVRZAK$7%Nfe)Te`&N|vxifX=yXox4 zU1k&Dp@H39bsL75p_i>*nlu^rfQO4l-zP<7)sDu8h^|VSBfp*9ZF?fhypd#e z$`JEr=5$GQ)y7w_Js}Hz``__qw;4AfWo3WN-q}f}?q^Up?SLLU_hM+`=_xWs|se`X}O77P-y=mn>6j#GKOqf->6xs1xUtl5II-u>WZKVPhT-9^ zt=*5lc&CufV-w1TEQ+Q-M8$;tm}3tprdm^HWMx5Z_pkRT8!t>-<;NshE#g)qb$?XM z15=(}366Jy4H`b`M7-jwg$|tcR@nYBC}}Mkv+|7+8+e~tHZ{?iU-urwuDJC*u4W#% zRdJzl$j^}hGSf-gw0J8a9y%N><;myoPNCSdTJu29EA*S+!q-GPSrqD4x9R#!R9wEc zbnxMruTcPe?GTFh1C96Ud583-&*1n65G1+kUfJe54+5s? z(X)nkUEFHY)_%9qjtPz3Y@dX&n9W;W7leLHYr7Noqj)r7rm47T`@Ouup@h|gkVdgi z_v{w=%yNgJw!xC`!;^u5Z)XqPtFnO6<6`P@lATP&#(tfFuC_enSc7*As`t^@XX?&_ z@5DYetvSf6qu>!`6r-kg-4AnA64-XSrfh8H?92$P_4Z`qN4=%A_ceDlEUIeSK7(NF zd7yMgsqpHU9Mm6v0K+GYjNB;NaKA(QcWlk?*(Nl1#_nfeCXpFjRPy9#--XHdDbC6O zFX_dqpxRG&IsIV2NuO!od0_dBiQsKedeOTY?HFb6WLZ>cB(3kfl_+*Ec-(sIlY3`R zd!zKU(sUiOCz!O&Y4%yo%h+erhHgXAaf-=#;Na9eaDSxg(bJ5HkmMhaJEEsv9#)he^@{CVI^`+z2WSJLh%+29bH%-S?hgy&L9%w}a^}JLm6x_e`YoRr?DkbX+9ti~a=xF6G+lRG`QGwieSci7$l}q+K+5cIi-|69 z&P5cvD8+GbY#z|yjoh?5zig%Cd|ukwf|}9-(V~lchr=gzqN1~kM;j!_GxNaoi+jZf zYpQKTHh^}9-s!{-*y4G>!n6BYf0;#^^>~|+Rnaa`Xw&)^KPpGw4+petd|1IM`c>vN zCBMD>-$VzJZaK`IXJS`KoQsU_T%*IDnV0G$;V*X-8Vj9 zbI#&Oqq-zCc;rLjK}JGkk^_BdHP`%#we=@Ym#r4T>jKnwM+C1oE{VWsw!0i}DynYY z7go3Ci0%np^|r&m_IkOvx|r}hc`hb`d0_tj2aDzB^1EOAyzzS=34Nck)!txZaOH(N z-VeMo-VR>phSz?YI{EX%WHt?-`Py>uquJi6CsVHndwyrE_}b6&+i=7G_O)BtZd(z!WuTy)TTxs>Otf>mEXd`Sq+Br+rD< zS8{pkWD+Jx8N*aW&jUw$M`z-|iubUpw1>B?yb=OVmB1_B-{ja&-=B!8NS_CY;1TPA zd0-8b?U3E{RUP&4{Fv_plc8p47t-dW^)2idK`;hLX4Tk)r_sd5oEpNxY9exM%o(J%A zF_Ev6TQkxw*KOaJ>JMzn(*2P6akZ%K@kE{Bc$?%b_d$H(r9jZ0r2bQ#HJt}OMO~PV zNlI%dnKsG$q8Pd<1J?%6?V)uL&sCO;hFyB`L(j!TKDjeD&xGf)Q#CML(en>Je2KS( zm7wbM9T4@Utz#a*scxS&t;sGXZ6^bz<9k+XkwDeB{d3;i-`|Pj=T~X9hnR@ii{15`#bIRR&8p3C;Q8RV?YQH2V4O{ z0VBX2h*0H|Ra??OxxcQ!%KwXm5nu)E1yqiL%6a%l_oAh)?vBnz9-yGVDploxCZMHK zrkXm=zd-7`I5-5ld!BW2Iqe9j=>b}p_+uxIJ1)>wIUb40i4JG{PMr?AVx)OjMXd)G z0y_cApx~tVWA5&!|2Fkk_V4k(Bvm)22mke?9_;yV>i>)Af16#R^7VpMHGfoFa zRZsqQd^b2b{%>BY%C9=M@3^XqYUKcsy-1Z;dAI*FZvg-~^?%Ec?>lA=s5xF!d0N$~ zyak|+O8$@hK44+pj=%ZvpqOMp^V4Gh;Bfy#uc~=qz4uQ=s3t-WTSzVBM-I`R4%gZmpkZQ5$+XGAux+&r>ne(RQPC$@*}AnjD_>e>Bv zkJjEDW+%-fEvWnQ_jeq4YWdrGt&QbDk3%tssYmi`JB~iJ`+01|@tqFGPh4;WIkBA! zPhNL<;`-yX-WgLjhqHd}aULX3saNH>o8DtS)8}>kw)h_k@VF3m5pszZD7jn`)OzJk z@UxIFVGF|bBDO^Czj{2%Gx}0Ycx*x(EFPc0NE9SVlXF1IlnQViqy>5%b_0G3aT|FH z)sODO+{E_ay6_!@HewU0j$B14r54h1=`x0x$z_q)a85iogm<2QT3|2SpSn%7PP|k+ zpY}EVm1IzQBcn-HB9~{fvJlx5j`!C`I(xcmx^sHCH&8dD zd;R)O^zXg3_O{yX$vXpgTkk3Ea~?n+1`W6jS`4jy1UwoazBN)gDt?T7a^

nCUa! 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�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

68^E#k7)r|O^&_{KBP&Rx?Z33TFX}H3v!4 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

}rsW~RL!ote&= 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

$7-PRzl_AYt0kIJKct=!x9$*ui_T-)!~ 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 z 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 A5C8xG diff --git a/doc/Eqs/polymorphic4.tex b/doc/Eqs/polymorphic4.tex new file mode 100644 index 0000000000..b792df82a0 --- /dev/null +++ b/doc/Eqs/polymorphic4.tex @@ -0,0 +1,17 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +\left\{\begin{array}{l} +\eta_{ij}=\delta_{ij},\xi_{IJ}=0 \\ +U_{IJ}\left(r\right)=A_{IJ}\cdot\epsilon_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^q\cdot \left[B_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^{p-q}-1\right]\cdot exp\left(\frac{\sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ +V_{IJ}\left(r\right)=\sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ +F_{IJ}\left(X\right)=-X \\ +P_{IJ}\left(\Delta r\right)=1 \\ +W_{IJ}\left(r\right)=\sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ +G_{JIK}\left(\theta\right)=\left(cos\theta+\frac{1}{3}\right)^2 +\end{array}\right. +\end{eqnarray*} + +\end{document} diff --git a/doc/Eqs/polymorphic5.jpg b/doc/Eqs/polymorphic5.jpg index 0f86a79e61d72fb4ff374dfeaa373c93d0b8cd14..500238b2a9b5b96c752cc3a8e3e260624d8111a1 100644 GIT binary patch literal 30052 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�?WdEc&2? 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

!k!kmXZO486O;9~Z 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 X~Gauy-%)$5_ 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≻)$bdMsLraJ~ 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Ⓢ67%p?1_K>Y-A1$n>) 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

w^oDIS1h9V|7nG2L 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 N&j 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�VQOGm%ayTxbqpbz1hZ4wv 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
x8WufJi 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%0DIsG2K}G} zXl0^5MbMcK?_&YHh-T<4gU%`pNhkKd3H$BCQ0;~Hah#r@7UVG|&qMs}ef;))?ByQ# z?r-j5JIIjtp#tAQ3J*erS_l^Y1C0g~fi-Z3ra$ze(4Q3O9Z5Q$01DN^YA>rq|eZ*o7l@I*xSe8`oG|`;6JE~5eor)5BMNT@M1)W z1v3`$orZqSfu<+)LZB4~oiwyP4~Iu7Y|3gV)I+BQhif}D)$=5i}5%O?NjhwPV)X6P7nTr7NH$L4ed}tJY?$hMlyKSrVO;Wzun30UcE?r^Cv%bWpyC4#=0$KKUBjBi}^3Rd&!Wl_Ru620NMy?wM^|2%c+-=Q@l zUNIdbIc61DIf`Red;q?nYpBHS(L|gEC*xF(EnbsF7e|TdH0qU(j5MTuqo&fX(X*-F zz=gIN`cbc87;Q3&qi&;A+F+DTT}H*U&Zv^s8r9Qk8un08$1%oZ~b^=a&Q(%A3z~#mg_c~|d@@9^;wkb>d$H-{sxDm8< zf+_WwSkeY~F`cF!w8k`$I!q&IrD;4ZH%(*OOmmr5vl3>hSq;--wuosqTh1;rThBI{ z^|SS6N7#iEuk-3AJ>}I*ddI7t#IaR>Q;F>$zu!OOO7;Ah&l3({>j2-9qL3RCS)iIVMZgI|S7_M8Clhp@vIJVbv#M&D0*U<|yG z>-b=ukL_wVtTEA!MRTOIV6F~TJB+3Ij^H=TA@1T5e+7C+ zp}iZI*e!v0_5#}#Xh$>RQRl2k^PM%Q)Y*`VTqaSzizVf{%%Ln7S0=;7he>k@Vp3cp z*(B!#HqkkQ7w=rek9DpV#5lJIqny`>BAmC0!(EPw!(2WCFGXRloDc}YT!!Fd%l{gE zz2J%5AG$k&vCa=g&KZIj1i=6BLayO1reb$h%J&#WIUc5z=`o$sJ!~n(!-S5a`n=^!HgQ^7Gj&_VGEW;Nx>$!Q1CKK64@< z1cG61U=E%{pZA1e9HNkK#US?wO_6x_0@{^_zsvBKQA&UgB?cH%T)@GBGYmAxab%qDj#qh7=iUM&Y3|C^XcTf|#(0HDAXa>(Sw3zQ6vOwS((k5~V*(h=j-79tqy&|3$`V`yuLZ=XJ z5P|dGT=c_SfL4Djyf7?1k*3j-RLsR>!~pR~LEB;@6(}N7jl%F|=itZ*6clAa0Z}&O z7v(^{QErTPlpo_270P-<#jB~=k6`T564}{lIjl|Ee4bU>V*bpub^IA=I|b9z&Vh%5 z>8Wq{(^EPA^pt-%jCgN{Mt2Uzp%BMIG4ei83{ne_cjY7RKzm$r;6LQxn?Z9&(A?Z{ zWS=*M?D8zhHqV}B=edwgo)1~)g))|T@yv|8Omgx6 zDff5Yq#TYnDf=G=YofNG|D8qfWy|0{RN&t8e9Q%qfX~6@$bIqixurasRVpLvGA*(y zGa$<{6Pj6WK{Lv2Xj-`=S(JN_d3hjBDUYVfL=$RKW|YMebRLaae%oV1O@h2D1QObWc+jsL}Tc1S6_4#B}Uq=S@D`<567G`AqF>sqk zF8GxhSJiy@t5S){$Jk~Hy>6^*tYQeSqM)Ruig zYD<41^(7psw}8cX76fd9eh2!!1lkLrSqz=jWvB&eNB+A4`QIws1Mff$!fNQRK@G%O zya%&Wi8MOZNWD{!)H;nxwR0k=bj<{FNZ#c^%3UEO>q;hRS1~DdEh5FvE|PTaA%)JX zq_FN8N!I>JifcGhT>Tg85aVU&cO&{)-iCA1N*oK&3s{GFxE^D$0pAePjT(?m(BF(4 zd<#5)Z30s4$2W8IsgbBpkA!{3B@j4=WJ!#jXE%F!5dR0ypA0kY0E|Tj4?BSI724e+TLScEbbMgJ&W3GsGT{z}Qp< z8o22&0*nEZal*3#P5>wQLkR$r?GQu`qB92%fKTx|FTgv1c7UbmdoAK!(1~+0v_sHO z_w9HNW*77a{;Gk|$FHg#g8y<9@8LW_D0Bp8_&^aiz~oqjq8;b-u^2SQMR*d50IlJT zID=q-1OGAx{PJ@A938rJ79bXvegW@?Scte6BjzdScNqHX30=GW(1+$=4UFz_cmSv1 zzu;GS7omLxTm#p^$2@o<3aCYq!52}*f=mamDL2FdeIgc!h{tVL5C-o6V{!)*{tgEC z4gz`mBk%~H(GF0Gu}(+KBhYUzXxpQ&Q_nZ3@H6;D2%kj>wI_(lJB-cH z`%%#j&J)Ce63_}T!MVKv9R-{S{sRO5fd(1O`wf68uma8?07Qc{kPim^hdQtbw1Smj zE$9YY!7gwJoP#%U3wiTX_yxZYc^+@@)8GH*H*8;lmw;15t}j3h1PuZ&VyGSCu$>0x z0&frw5Xmn!#o8U|IBg5W{eEkG8t`0d5FYsy5?|2TLfgk?f z4u9sP$n_OaZ$R)KXmC5|#~6aiVDOooK|d%ES~1W`g-$LsN}*AOJ=a5HG5nP_Xmnuz z>#_e{4Ao9}ABW&coQGHN6{gH{Or1Y4oOlN1e}Pj*uCD~&frn==2wudH7c*FoG6BCe z6Pk|jKYTFUVbF<(PC7L5p-~2nYG~9$V=**Phe501Npxe{Zo??-f$wnw?!$Hb_XrXB z4Tlsr#AR$ReE_Ed|3k`RUSN6%@R{JrAQrC?ix;R5`T?0dIt1`GPHPC5<#!_gk zqJtQd{g|J7@!tSivI~3I$v&s;yg#U4fTyVN!r^TnfG_DrZ4#_S@Jt1V9!@t8g<|@a zr%IpkM$W5N(RER3OpqGZ}H%A&oZLK+a4(=Kr>?NnGq+ZEcV zPhl->#XDnqCA(>};z`=1^ci(apVNBTpVSHOWt}pPqz@Q;)$wbb-ky%cDF@ubpKqwK zbRBc#qM|09l8&JxGIKg0v!gxAuCz<;N89CL)F+Rnttu(htCCGUDn+zWWj=MQETr|S zOQ=(I6|Ga0$vTBUx2mTNqtHqH0cs)g$VSn>gHN8mJL1pV>QHi7ps4wnN1 zSnBX%4y(#(kH$#ap=m~2wJfPe+kx=JHm%nQpmn+tv_?0MR_mtHD!m+9p;t`H^{S{% zzmZz?+i0nNC$)^&M$ID*(xQ=9sBzR|svrH97L4YYy1%K#c936<5qmS7hNt3kV}bey zY!Bdczk3YUnIn{_7td>Tj~+|w49sb@;cQxA=uGWK-n7gph?W{fQj2i{H5;c>lW`t3 z8kbSMaUCrf(?WG)I+&UZyUf{I;Ewr!T5_7@^ z>wKJAcg%qQFd6II@p%4XoEohhKbn?Jm`F?D#Wb7FrAAXXsyFqc1*RcXYZgt_W=T|K zmPzx?3aQ+zk|{H5WJ=7IGer|OFohF$vIP@Qv3ZleWpgL}!sblo*zCVxvLNnx`@a<~dBBc`1`)v4F|8Xk{}kI@t`1el~5|F*bGDEndp>mu&KMZipmohnU8( z_t597&_C{ooYNUg9IyeOahnX@3)WZDq*OOui>hWAQ^m~5R65g&iY@0-fu$?uS^7|} zWiVx1Mp33^B9md6$)s5pGAWkTY_jEIHqml5FTrXnFV5;PFV^}7FUI;u!11E3Irc-o zMf@*1z=QceWSs|iUB%U|zaz;_mSo9lR`0#{-h1!eDz=(sx%b|?alyTJY>WY8jE%uI zz4s)9KZPU^5(0sQ5<&;vcU$JdfA8bx^*%aBnzd%l?Af!vJ+lv&`un-eo+&5SDdj$6 z0drjZSe-gXOH&=RFwI-@(!(?-JwY=wGBrJ;P=gs28px>Al#EvOWlS>lWDJ&ePQW3bu`D z;0f4Y#T*xZ*5SvJY}OvIM{0JqyQXIcYcMBP1378x&&gG9PKmm6sx>L6NnJS|rjDFG zQ+w`Av$otNX05p!%$sxfm^bB~wrI$^Y*C;0B7A63m-mBtUEYv+{V--6&ECi*_ovIU%+z@@@zDi@1p(!fAtnbYH~r6CKY6+5TJyTXJI!kfPg+zLU9zYudfuY4=pXPM44E5L-R6}-a{o%S zFl?V;`gco%;kbdHm-7BB{1_;HF@GT6Pm;Qnm=m*zo7z?m_ zvW>ntk#>N!E!^)V9)tMNQ(>vja(hjz@KkF>u$n7k)L4 zw65J$QrBlHs+(n2P`BJHziz8}Zrx$?ocen$vg@C;$g2M_7+09GMvYI!WWi%f&Pj9}*Jgwz%^VF7i%u}1cf+6#?rk}Y%yWfwk z)7|8~{fr3%+;fG+ydK1lE@INq&YZi=N@Z;hDw*h|qKUyOY>!bvdy4YfbCla&telQ& zWp^|yvtyDeylY&i5=(76FP31$9Mk8Jig<<<_YaXX1AEg5w20s zdnR#CVsqa#a;_PS39x|I{rEDmkKDV5yl?Utlpp2djrT4H0 zqo+bCJq=3k=~QCRfGMG8fhn$My(y-5uUT~OIkTwV>t>O?e=v*e`NAx+d&n%xVDd1R zX@hgvIWnExdp7Mbmv(?TbLfk+$h+{T0)KL+qCX6vKTLH}%2aP9PYqV$V2lz5Qxrd# zqqu1$ik()gm}wIgHLXvP)8;CC+8R^nwB4qVX?K}|r#)f{n*Nq4Xz+7W(A1$@1P=_E z8Qf1DPh;aCcDFBJTp|TnyqMgVW7k6Nz4Bi1d~!cNkDp_yn7MX}p6jZpxqgbA8>WbP z@d}@puCRIe3Yk}-;Q37on%}K}`7`A|f2Dlq@08E{Q}Ukwu)OB~T3+)$lh@oKlh>Rf zllSal&JS{ZqWnGB-Lj1HVFkJ8O4rcWA`^88Y9uN~V4M(cZh^F^s(fU(or6WZE^%0qSmOFzfFa)?lV$ zt9>u|=KlqX8XZ4aiaKAH)6$G=NiP8g+WCOs8$>OwQm1LBM3>Oga=pBQVgM zrc<4!VyF4TQ&$;`e+{266i}5eu+PR;5qn!zxxXC z0q!8)Kdpo5KF)ZA%_8ijVlRR}@x|VR2had6vku`3-$QZ@``2%C13zxy$4&fr%!v!I zr}PBzcoILJ%4Sl)B;e^TmS^@~v44Z|-vqN4Z6#RC?Vg_oJ0B_`0X!vlh;FI zEHz|e-Gj_w3>fin!Db+FGuB{aQ>SulHDad|8~tbzGw2rcsKZifxf+>nBR00tP501s z4zm{HG&0_OXcE`x%FlBOy+cI)gI+L%Uhw}jG}c6W&^72%!+wnAx5s1C3!4$tDHVGK z*s7u)&DiL|2G7F4k5};HCH!~+Kc2&nXS5x)VV|C0Z_Z;pC*?X?%p?5tFn@K0XkDge zm$CBTZ7y*%xTSrJ#6Es}g&$uKkAKiM@32Pb53J4k4gKOZ_G-O^7V{i!@-&*z6ZDP8 z@Z$!4Jc=LJ@Z&0eJcJJNAX?o6XhQe1Pw8G_aSy+7H!D-lQk%Q5VD#G4aOxKrU%B)h zr}ZZ`oNf$xf8o^ngGSPdb__ut)Gd@&O`=Y@)TazP_1I}cTbYc7DVzl}X#M%vS&E&t z*w{+>dvtJ%*LH;1ym! zk6+J>veZp;2R&@zqX$Pu>i*HG=qvd;H>N^oEE{yna-vRHPS&xp13EHxrVfu?po3N` zwBKrj_F3)J9;-vzWqnq6T3^-<>u0si=C9gn`=vJ94r!AeyUc#Um)QM>H})CUUI<{w z_a*maxP8chXHZ!43SFJp3kS64}Ks1-I z1oVd_^bd}A#W24MBj@sC|AnWmwt2g0vrmvV_{M6jU%FQNyV7W;Q< zp?{wi1kBL9fQ6bHuv)VNw`peJLCpv}r|Ci0G%e^g)70R9nFd0JOjCXWJ!T5L8_8ua zkxOtIm-h_j*l;|B+?!#32eH`{WTmx1PFfl4t7T|0i$jyNFf>c^LyI&wtWvYX>NP8@ zO*6tKYg*V;4TjIrK=^V^3E!-~h<&Esh%=_1$cIebkuRAhMSW=MiuwVDekO9r^oMwE zeWVX-F!$y$)q#WACt%_j49PXOpW?u zn$#E5p`MsNb;r)sq}avkid}E&jNN5wk2`6a7c0{TEPZ2)@<$vJs%4Y66AV4=Bjwwf95s%h~78c2vze?pRa6SLHvSg6T~73xZ? zS7&0I+LO99F=KfvGrWm}iN> z73`hI{;_)60k$&zTE)-vOId47JSOFi*2Ek;wdA^~DK|h3xsj^NO;Am4hN^P&RFzkz z%Dh@tj4?Lk6b2f?=L4V%kf+ z&tm&X6S;pgeGyhPaKD%L`|x98;RrPqj#GW%1l1J!s;V$dm4$ICFG^KeQI1NBN>ox@ zt>WTl6%|iXLCG}bmn<^nmTWNPl)tSPy-nkG{}L-rG$(;KxK_QiCr=4WpFXV5{tg3Ce2pQAT5^(i>xy)|jHyrW~a- zl_=NFTV1 z`X9#bodcYcQ&|rLv!|c~@m}*}a&JD*Yd2GRo3&CWIw*Ofhms}+Dxp16@$HF|1t%2pg*(^nSu=_4w>$w zo~Nk)0qky{K|9RkoP-&?HrAok<5x*P_kQswp?i#CyU`!IT@=;hqsX2RMfAidyeCCr zy}1hQEmd%Dy@Gl>71%c@|Gp*i>)R^dzN7N)yCko^7vUp$_x>pF9##%_51D-6JoUV_ z7H1Z@_gvaxKIbIdT8A=+buhEZeeo$3pQ5LmD`c9rf~GkraGJXUru)l(dbs?i$IEwm zhJ0oe%6mq&JZH4YV@AK+XDpEGjE!=cc}Npx-Y=(_&&g@VhjO0&y(Ua!HTU2!XQ=0` z{ZI=y9~RRNOKAt_fu<$g|L47|MZ^HY7LtE17$uJddbaNl zw=U!Qu#)_LHRIA6@_(p?d`N~!@CSErSTja;YuN*`)(QA7(zQVlE$g)@kT0vX)f&6D zU1Qcx)9AG;G;-~o8nNasnXkDni`9RG&oyEddq7qWbBKEGTtN)ha(!6Ony8J837g5k zx6lu^vIgP~?!iMKcx)pF-OjTZc9_eOH7O%^+R0+a1ex#fmT5-_7yDQWxQHwF*1AM_Gq+jC~-u?{yOUr_cb-un**{xX8nK3$O(I zIFBFq;0Mo2(FOdtHxcro4j5?er6XO~4is?V2EX@b{^kq#0oXmjM@y;mbZmDXVLUoP zAK+ILu@#Cf&-1kZ1@xc$S%>fdwjYEmKVi-dIO6dzeq0+5E-Xm)K_kJB8_8%RT#Rlu z!ypign+JhHZob0j|Aepj-5<4rc+VoXld)ZQ7aGt#^uhbEe-ZnaSc5_nT0P7fkVmjf z6-YLieBS11j?chzBS{FXn3&r#Id&pJ@Mg^he!P*&8j&(!!2R`H*a}qeH`n2J@GtoC zmIl*vnsqqTw+Oo_m$849{)f%+*t9fk8n$T0Te{1u9O+ghL6iq?!dvirGxU(rXcWZc zU3=Drc%V;&LOL2n74&c;cNzO-sPsqli;t+t$G?TYtB;sB^HvGA)36(cU5_Wwzo_4s z7bu&s{jYT>f8ytN;9YnR{to{DLQ6`C7GgotG!`9%w)xtfB#wCekjVoD>R>8KQTs;WIE)iNC?SFuWSWP$Uctb;3|+d>|5xT{^{3 z2kp>D`O_(XJ~{PL%3nkIn<#%fipU-^=)+h$g^hbqD;`1(c@j0`w*>8Dgrx5Y;PBHq z-skuZ7z)KLMdFqkVyuK12|p>OfM#_&@@aq>6@rGMaff69*2K_> zzwo0@(datq*efD-HP~oHotRAd1C&3L@)xkyVHxGGp~G&Xe4dbjBJna=_=^lH&!ay) zODvw^x1PZB$BE)&Shxu{e!&nOeAxc*@e7T@rX6*2r%oZ*OF$6J;bbVI9`)FmNX>XU z27Ww;A5YURPtq=rJ4c(aE&~PRGMd%X=x2W>I-lRt^NwKAz*ysCFf-Xf{#%&AYYNd_cR+XX;Li1=?w`Qrkyt(j6mqY0JoC+BEVWZ5Z{a z){lN&>nuOgnz7$&HBW0<^$QGD<{bvPSG|WKBft88{?#kj*-HV)m$ z_L`R1zNSTXA8P?4$$Xf{lUsh`15XC=Kn7?A+G}usFp7X5HyRl94%?e+-#A?&J7!AYxK ze6_+gTua>&wb(6F3*8Ge-@ROO-Rm^lqeZhkx-`S1U(-EjY0z_trh2Z|6t7+C_d20o z?+4W5^Q^jk{-(*k-)a)d%rE&L>^&XNMVX85Jt<^A91kR5KZ-1nn5^;{t)<>55<>Bk-u&gYHvX z@RRV4T0_24O9*=ceyZ zAUIroAqnaYNmq9WJ0e0$)fHN!j?gBxhjwaW*c7#f%~1>LOmp~FHAWm#L&QC*kG!e6 z$hTD+^J z{{Y&&LEJFUG4Z&H{qu!n9wp4WVQUdF;JtSem&tS+v zw@4b&lU(c{ETA1qX@?5b0N7N98h{^j@nZl#I+I4KHPKd0NfT6`{k~+0!n5jOE)d*>hs!H=xMOu)`(xOz7o~WYq49Hhu zMwtpS>Xn~4QF)pD%FUXq?5x$w%DPjT*{76|eZ`cX^BVjchD_<%!(?Qk1`vaLv3C;N z`|C*v8puL9F5>5D#A6ciXvB}IY%7&#*{dYmT}9dcD$EX7es-MlvQw3tldGJZ5@qMs zC@Z&BnR&g+$eXRSyp>AL-=UQJ6G|?)Y)UG489s&~Q&RqrDcK;8r%VxpTgni&_b@5m z+QRwBaX}+1povF2{?!$e1s04^VZNR6S*??s@2i}G5M>p_D6=4083kENFDz18VU<#g znw3&CS;@sSlvun>3B}tKUvf-wC6^Ri@}go&KH~VJVvD(V1aa^XHqKG+BiPQu#4=PJ6URFO4xia?zS zuN_cW?IMNLZc=dFAqCalr@*>r;UDn5f@*oTUCl7}QvM0*zYp8n`sfS&^aYO7dr>6t zrJ;j%z?Uq1NoX9c7}S~QMrTDfdMTnYNa2l93TsMKXcN0Kn%I@mRINbNnSkbg`8Us( zU&{vhv>cFk%LRG0JOzK3SM#^>Zbp%4V&)2W6Z50k-;M1pgTuRn=1(IN?RZFA{*{7S7^Jng4wkc*zTr)4nO&KgvzfYR=ypn^6AKvcW1f0I-BI#*)8|3*>dYz zBbTndn$UG#&RtK)sq3$D?)*j*I+)WNv~!P=vJYZw=M36m7K+52;guSH#2tW%MD^s$U(+?n&&wOA4*e$b=)iNtt zF0<2^WiA@M%txb^g=plmSXnH~komG=nU>MfmeGjIsKm03bo3)|iDiK=b0Pc)zJ(zw z&HDL;#DH?wuHvn=!@Gkz*3%C*urr1~O@RpT16LRi)|*Tkx!F>t&Er^3;lK&)226Z5 zhXWVE%?xUrIH8RbebaPUO(plj1sePr2IBXT$iD`B07I48i0u`WJ$o|>;a0}QZDgc7 zSQT(5${6^A>n`l?#{M2u0gBVUkzmC|&X%Jicz{1d0+WG#g+MI!(W&>*xO=z583w`| zoB)4;|1u!q18k+fYqy}zVYh!LZGesP{hW&jS($SPRfvSujWCWsiYjoNr&FB3{wX+Z zf>D4Ur}5(qew=Yf{tVy(7zOE22AtSu>F{^00}4BHncsf{KB1iNf$z4!_9E&zbuX$6 zb}O-!gPl0+1fItJU9|r>RDtu7iBK}R=OPCW{KN<*Kx4W1j^ox0?eY-qa)o$291U4e z4V?TB6N`s;GEtzQt53n-fLL7laaff(!1Wp1)!5BFiz>yh1!B(?d$!mc^C0#ff`{Qz zxB)levD-Xh#-w~SYKb+;!FbdQ7t{;3P~}_#YAo`bCSQm4G8Z0ROJ2Nkl6i0-Den&?_n&&b~1K@AHhB!k9&euDTdAG z!La!{ya~U9x8YAf*ZN=T$OruVPx#kJlo1=_kp?Iu^p9_np@PR8bfc0iW5vi`!07i> z@CPINHg4d(Xb`N9xTVy1atwoH$cHLu!Nw%A z#R1BnMFzc)@|RQoTFT!{HoF7uV;>p*QL@Uruyc`++#r8{l{Ek#pg?>}9zSgR9gfDz zjMu=3!m##X;%MaGhW=p0!%&C@_VSqAiBqF%3nbF%P4;>WpAeJJIUD(V)-<>#C_-z z*Exk==l_q;48G^oV(tc4;UT!SD&toDf2l!?z~(r*nhPx%fUOv8rDLZM8&!1CCd%jO z82Irx@wiF5T*r?`@Z%bOTt$DlOtyash2bJ9#C`m90X614C7weOJB!`B;LI;D>i#`^ z21d7j2i_zWuMmspS)uaOtyLKbv}_hOis@<9l-k4))qyV1gO)OYjhWb(kBw!Nzm5pp zfgZ7s7CA}pxR13vH&AANO)LHTR?ppo{k^~7dxqRk8S35}h5o_u6?}M>e(@On;u^UUQqDGVwip`YhF|an!~NeFQhvqo_N*PlAE))z(G0(wCl}DA&dLpYf#^6f*h$4s z9(5=s+BLL%6K6v^cDk`MKr76`&O*vxMKrc@=I-OwY1VjM!n0?z)a+d?G5@cYuv2I; zEE+k?KkX5JT^U|I7>3=k%`nSmQJrDfJwC#U-o;ZfX_Gt6LbT01PFpR~wP{4YHjFIO zx{)KE@ zKWcSn#QO!WV*h3gmt!t1XP5#Vj%QlI&zr-@y&38kdzfqP1RKqCnV@N|z8Y`~Q@>lB zdfn61wbNs8pv%gW5eNYNBV4+B|2d#cQ#ey*8@Rd!HJ-&#K<%n(BOhtyObx-Y zst-<4ZE&_~f(un0QlZL_233T#t30${WubFb61GakVLMe6eo}=jRV|2kSp|_FD<2KU zpdezH$EfoI*gum;KP({MgY~>#iXXG_qaPnTA}!P$W}}8MC)I{~sX9DJRpC*ph)7g< zM7l~N@>CL0s^Z966-BnHFserdQL~g6y+XOs+msV?OxdxQlok7evf};;Kk}NjlDD}| z{O`l&$s*dJggG{>EoOd~Po9Av-T2XpAGOg|s*1K(d9=Gqqy1G96Q-h=SQW;kC_g4! zd9g*xjjd7+PqWF6o2;z(>B@{>s*HrKN>4nZw8V=_O?pl#Ngu%Xyk@Or;xG>r`+Ew} zfy$WjR*>&ilKYp_4)`$@-@5RFoBilJV^k7vr=kQG6(sm5FCkbttk}s;NK{s0hB6Zi zl#x`S^rQx*C3h(`c~B`SiSe*hx)IQ%YK{lG93+ zlwPOA^mZj=3@AQhq2e+(Dkk%wqO&e2D(flu8+^;p%#t#PxkMYB!QMe^?`R+eX(TP; zIGdk)h(`-;Q$-&s$TnA2rnS;D?UkD8rj$%SC1r*xF^e4$S;>me%2r%NDuorcD73IgAw_c( zT(nk!MSB%ce7F3IACq74I~>1KKoPSf2!wm8xGqrdJ=opa!MN0kCdhGcBJ=%b=DU1W zMjK@ltAx@~ibjixEOAssiHE{V{1sLjrqI$j1(&8Ns4P!`W#tMeYm|TaWciiPl27?6 zc~|U~SH)R*R$P}y<)1iyDNi&QFYqqoE?gab0sFhKy{VhN&@;R;WndD00bgp{xD$#m z>G%>`Yo^d@D+RGqCa~H?0oC5}=Senx)lu@TNs>=Zw!CXfa8=lF%3Ygr9}4&wr+iT{Bv`a&<`!W71Z0r~>;_0t#drvhJc@h_RU zaO$J4j7C4Pk!O>GJeu6)-s~s0<}kT7$H}ERT@#uM zN!hkOESuKf%C_Y{fcAhEV_8Qp` zdQhV$y$l~|OxF*x>|~8K9H#tT*xNLlc9=W7GG*#K+JVpWQG-PqF<2*y!AUY3q~NLR-~il*@cSJ6 z1HMLl9J~F)~I&_GoOVHz%GB!dZuS+0fF&fMw@;^TJSiq_T7`MPoV-{G-f>kP7 z;0W&EPX)pu5xDTo=Y*P10~+Gi{1tSv-EcPp&lB(-7sIarA7=BNmh-trVawPZv|ttP ztwxhvL;ejpkg%3E;ONEsPQcVemSDDa6pd#McHj)25C~C_2As@m=*X*S#MM+{^)`&0 z;$rwHkSMPBf~6?<0Na)k1Ijjb2hG^P*u05zVGCo@Ry3G9*ck&p;0(4DGiE#XcZf-j zIURWn*uZ#xo&a7D46%>}70}M-H0X}?tWG%smkInEbihv;41NSw9%FkIcIRNT2OEt$ z>4$_ZZ7=7+K2`>S^M2xgfK?#}v3(eh{sev;#gC)bTyTiTG2(F?KaPhm8A*UVs0TWo zu^s6c1s}V>@6#uae#oHk4e)FSY|p1|{ku39u~&wj4BU-Ah6Z&U`zKhHLI_8l!R}e0 zNx9khGZ#!ufM}O{t+)W&a#PNUNg3^O2|q3+Lou`h9s3fMy>x=f0_|~;_PF>t{4lJ+ zV0+>r#sX|+ou&_B%kLca&to6AN8FFi2jD@t0uSHj8plU~B6Wk9+#G{0Lfbsyz$6tv zo(&sbzWZDy6Zgrm1opsv@B*Lx9sZ+f)VqT^S5eO#>KJ=3=io*9-zD^~hgg+j*fVV0 zgeTw`Ae6VDm|LqwUgr1;yasQKUTO9uf{s3>oU*KJM58j6l zX`heBlE97UDI{KOEr{WUb|KpgCZdVVgB@rhXMsR|{URBcvG!u@ZH&C%SRLX8;gA9a zPz^0$tPYt9vtc2ufOY5+ThIx1lD8U9={QC{FZL> z3Em9beTJi+FPt6hgyaEG2C^L~srxz36F2(fsW-?)P3muV?O^LXGk_i{WBKl$)2 z_CJFUWKP|zvFF6P4`1pLft@658_;C$C9;Sa>A>Y1C-fv{r7kP@y zeXM`DK;Jk|o18*W0p zllMPF-hYX_|9+KGel6uUQ+@}-Ru54hz{V_WETH@qC@>q)33j3r947leM^vuTLND>o zhiC=2*I;1z4%h}?WAj5ZWKD*cS2(4N)Bh&@^D41;fb}RBDb7}Mj1A0 zvC)i;cC>+R^oRj^lpHUE#F8h(G5!Uruw59Amf8LA02CoU6N83$l~Gv7J782Yzg!e{7CcT)QA^2cmoZ$xVajALLnZcy@Q^s)7d!cG!($t2?Vo8xw0; zthLI*LCZ#ZYVoLGEf^iGd83mxXH1r6jVaJf%W_S(tkpEjW=$R2sVQUo)jxKYdaahI z+iIgGTkTbs^%-?qUsZ?oYno{DFHIcBGl|$O^b@c8aJdO4{$b=gaEQy@E`R1VUQ9tI zFt4y1q50P1G@GYA&#>{)piQU-#>J}NHbuR*+3K+^RJUz~CfU}h)2>w=c9S*Hj$Ii% z!KG#VS~ZW~rAGTxYG7Gpz5UCobNE=bJT>pygZ5+9Z*Q+2zI|(wLx4IRBh>B~uZfOnYIDj}i&L?hovPI6+^7cU4%IpLt9HU1 zRZm!{Dwpl5bUm(e*9TPQ_B?#3QuiN#(f2k_V((Hsw^)*hK{C@GjvM)Tc@)z>Vls{P z>2V*0o@1*v*9mHI^HGyqh#K6YRqvjpTK5dqxaX_NgB=kb?1=DSM}#LkBG6(=yq2lR zYpV*qkEp=se&zc-qdedD;d|iwx^8oWy5EQGlj-!qOr}{G#2}S?k7>}%X!49uuI>J2 zYVx*Ly|;sEyggLq6QD{To`&EPr!wDEmH1|>*tbYUzLhHUYf`>nm-74vmFvG)IRTrL z6?jmYfftk!^d!8ejNos9y8=PO7&_2B*gcj_zL!hx53916-!d(o#%Gi9qXj=|0>-K$ zz)ocWE-DG|QBh#93Id~)ADF1TzzpREIKR^bWP;g9fN zMI^B9AfAM!6`9zmh{VYXPnxN)q?HOyzEi=;XB3q3hyqi7$MFjV zr?8JWnU$h&0XxUb=nGX$^=nB*>d5^$PUGiJ;?YRkl+#CY=`+d6qZOY#PO*H`cTBQ} zqLTd;namRzQeqXJ!j6d49EGxbDkQC5!D*ceN}sNP^yTu;*df1+Q}WGtSU#C=!hd+p z9V>%$)*fKzDE4+?dvhZxP!n@~j#K%$o%idAPbqQAro9rgM<^=8S`iuc3d?X+Xr_-s z*gX}T8Kt1iBn4(=$v>-De%ZD1&2E=Z&Qy8lERkoE%A-VV;mR_6SCmX9wfHS9>om%y@-@-9VxD7BYIsjJ*eedNZ@ zC0BMXxv+D|xhz*s<>hiLZ<0fKuk0)4Ykb8f*|8?Zmd6{~RKB8d760Zn+5m-L-582o9WX#%d z+118FrfgYAG_I~*Hg%I_T|Y-w_3JdY{(#2R->1>_&vN{SEbF*)h8AOR82iSPdN)lW z6&_@Kp2qb7I;V0@_H#b)St|ZT6PrN%@!M7J)mEdCZ5^^`n=bRVRWh~hp>gkqClFo#3SY|9%4{AzWPw)jWlbpo5b!=?L=BoMVKns6fhf=$M`_H_WGLQTl{P4|{-y09s zFmm>2I*v7r2WKuWThgHOu|@`!uD5)C#b~2cofsp z4wy-2Uk8U6054J5*XVeka8ddZxLdu1zPOUN*Wl7x#)S2p3mX`dHqr*0&|o-vfCE_b z^T^HEr%JcjJdz+<0e)=8kIk;U?+diamSia8Jv#E{DS-2v_S{~N@*EZaCwxaI;F*rt zUXIO~ls{=JW70PI;SR>cJ2?-4C9!e<>)osYp$I0ooXl|G_HjS)*iSqT*Z_VU#E*mc zaVQcpc+CKGkXRg?%jXz4aGKx0K{t7;fC!t{VeB7a z4azYzfaBOa2^2xn^1nH2#>ICu&_C|BV^T)D7?aZrF_42kQV0FKUd2R#g73KuZ}5Ax z$NBFxpE~zbKbDiJ6np8|ia3Q1i7k6uGB{ILgCkkAn5 zw<-K>{^0HR)K0ytu$_Gm=fFkALF(v$O-sY(bueriwhTMB%IEm2+q}u~E%-hB5&jJC zz~A5>BS|3XBcISNpN8_}kSz3&2K12WK_;&Fm@IgSo;lzjUzejLJ&1NdRA zdf3BYekX0RgWudn30sNSW?FI+J@=REFO1j!!RC8loNmv;O)!R=`_T*UChtGPIdTFm z<_K+ah`fKlvM9NbGoTzBwb*FJMmsjTu{sqSv$3(5Gi5DnFm@1?!?e(OR;gS^mG~_^ z=W`fV77caL;2)!~&t>OnYlb0?_cOfQjSr_Zg1@$*PL9~~qJ@L86N8NuY-D4j5F6#x zxE4E2Xc6sb5#87s#Kv5-h~;P=hDUpe&KXvAJwy+FiBJEDr|bj4_D}qQVf8r&>^qTn zI+E{;>im_fTtr+*Cc zYJlJ9Cl^j2_fQD|a%0b(+3bhZ!r+Zu1($=}iwLac?d|UfddRXZ;6LlC5@J zR*B0Bi?P@ok3BbR`LXhbZ^bahY0#9a0kdrNoAb>W=H=?Ks8zQ`izZogsdL1DI!4UZ z#E~o2I&zy@MjcVp==;<-`bjm6c~|vgzXVpm-R3#$UJc;#6-?d>dw9LohkVP8sR!|y zXJf7z>5RtI3)@7}h!qr;*`g|&L#nj7SLNfLQn~GWDzp6tSpQ%L93KxP24S>86qk4~o(i%dggJ#j_C1+) z5tClKQR=j@MZxER1l8H{jSzOZsQabBm(pZe0;<>jkP?+|5pM=Q-cQK>!|O7SUBvTucwe4CW$H(Bw1GZg2)Lb3ik z6ccbtQ2|#K75HoT99Va7n~T^wh5dcGXkmG1aj+pQpE(-D>|rCQNhy`8N5{CA=?xddP1S0 z4=E({b%lg|s?e|@erD|f+)JI0V}DN})8HcV3|LS=U*x?>_|b$PmH3g5AL$`uloV{M zgkVR-1-mOY*iX^HA&Lr#RuoUOi44tBL|C!Hd9rX=c)LQwrz$vNv4SGDDlqbx0wOQV zKk8NZw*sPAdjNrvX!peaC^mPMF!e5@FO+jWl+qXQr2{|e@uQ5sl0%y%M~zf$gtek0 z>=hZ|qKF7@g+&A@G%`{lkqHWk%204rp@O2T6cF7e|ClNAi&-e&*v;~ZJu0ubOY)3+ z8UDp<)*XOP?2yh9`$O0_ZijBDB0Z_5KXROcFB6GPEuWX*XBPc6G0{wsu~rI;wNpr} zvw~wi6&UNUfVeRE$HmGoK2^T#mGVibkT*%PS7NU`6X(l4X`|ed4$C#^qFj<+fRE&g z{^FK2%xUU-0Q=i(7#Hj4kM-Pw=GccXt@u%me?`P8gFX^ROhQw}C?Ls3en}4UO?Hz{ zvah_8gXNVREzgu>d8FjXJ+(}(sf}_;>(+#{IdV!{FUNFN|E1q2`;6z{Ltg*Dd)zT% zZO#eezZd&knQpFWCKYR;KXUA8BC-+Qexn=TH zh|B=FWJYL0R)U-Lq_- zRY!eyV{daS{jr_?*g=2fIJph|p^0-6-*WIJv68$8U;K($e^4++&iUiynC~Em0=}7} zz*pl7LS$DE18K4?EYP^ZYS|QZ$hv5{tcq4@Y|(CwDLSXoMUTNdy#7*_h3F4(2pc=G zx3P=yc`|*WoBqhr*o#w#KSlVKjxVwNUT`hB7d|^zTA-g;XDUsL-g&R*kG2kVWNEnN{wPsqzeo%%ku}nJPX9^apg9ec0cI&2@dG#Z!jY zp-dT|KlYP%^pN}FOHwDf*F<7~Kd!XX_$HIA8^>r&gN;Tt*lT2it1KFPW!?}fvj$F} z1_qo4PA(&mjlH~H2wUL~F#Ls%fO-Gq^^~WNhNt$j>EH>5F_8 zi+@2B+lH) z9zL|O2LwACu)CaJn?H|sn9r|qteQ&+iJPk#6L7a2vewcD>$nHc(G~2#63l?fBo{a1XwGB@Ki1;M zTKrgxAM4zKHdz-73~piPxjR3h-k$e(d((0u&61K)=}C1cN~3b{(M%`sL2w zQQm)mJNI;zS=gO~EtYesU^nN%UNoS6Xi)pHPZN$gh|R;mpOdgK;rV|!$xT4KhA~%ZF07ppSyqty^9K*xffpKcR%89zSUgn*F)VJv0H?#6zqgz#{)Zd zls)=1<=+M8;5_i>Bp*L>k=GBvC3p}nk3_GqX03=ldI;yrBay7($cB2fgsB{9#78Lj zk?XwvGsn->kL_k`mtr^V6l398?B9+3dsqWw*fVSxbjpyMdc;z;)aeM=Q4Znro!5`r-@K<;rKRzNJAN#XECYc8-RHBLWqlv5m z0{-cPB$~!52y-wr2t#`?^pJ5d0sJ8v(xC`yz*q~?MUL7}rZgQ*VlLU^V(yu*ME6+F zo$Ncv9ruvU8Q&OtjtuuQ+Qc*D((jU8eT{xF{A5yN4TiB7#MlF3Xb?lV`@b=?7zgl% zFcgC%Y~^C3jIxcrC~cHIiL(1CcRC7-@og!K(LGj@w;JD;vYjyOL-ja8NbV&x*U=_^ zg?8{MAsgQRV(dXNY#SQHgYduYvrUNo2JCF4KCb92f#@tT*h!=O0=+}N{WhA=@A2a; z{P+!i{E95{buzG5$ueKYj~B`NpC?OvmJIo6I`b1)d5oWK;N_#}LB`sThr!T4&cj{s zlMg=^{n#M%i`Kb6r}S3J@1*5>sm~zg&n91AL@TVu`c{UMeP|x1(F-2r z)$`~bAK=-K40FTZIb^KA*b0o6xAd1kaeN(&Q|ku(^9r#r)?nO=7IQaw|6R1nDe~>( z=yXT%<1l_4q<`$EpY9{y-h&RZi)?-;er!hpxPzQ~3j^yWJlTM^>nL>%ExDSWwFFlya8-5Eu14MFFK1*=afVFK~;MMVh3Ml3c`(L8uMC+)JC{;?7LVFNnI zI`oG%__3OJtfZeV=igF1Sj1m0AQtn9;#^MZ+4Qhk*!?Ac8Nn%UN!>Y>FEP~KZ80oM zAEsaIL6_QrF13Zce0%l!jXDG@*I4(<^!?e>xh$0(!|B zBEvoqBFA^@(qd2Z>EF;JzJ=ixU&iqb8-}{^46_U+=Qtj6ElnB(r)cVTYFC1?FOE~~_4p~;fE@r|75rc=>`rm%jjmpPPae6eEjNGqO_EqZ(8>szVi{*@H2fJs4wFtC+n(MV6;kV0l&fW8YA|)hEicMt^{O zc!Z(+o)9j{;auurODI!}KHIeNprQ2Rrn(eQYX7?GOLPI({ zg#EKocQt2mQg;NyWAvDzx=ifo+)b>|&H_ zm!uq?sGDt9pv>_V${63M^zoCFYCl~m+yqN<*rr5><4SP6ta!&)73cJC#iPOe#6>Re zr{cN2lSJ;%rEN_jxj#S8;Qd}=GLbmddva}^V4*^^m|TbP%64#3mV>u49D|hZ$o>b` z#-uotf<2OjWGQVnw@bQIzXZMY>*6gxgE-u_Dl6B6&uP!M)V| zIJWns(GKaf11v~k%8VbAiI1@cga=Tvu7!IXu9iwii%E5HQnHJO5?%e2;2NTM*J#DL zCMlNZ#>BW4DGDtn(xXigJTE5PbAduVHz|Z0Q^8*ME6DqK1$zIJ} zFTN4NJ56EU`3m)^RESTrf_!@w=sQmVe(UAucTm3m_sPfqS@{HfAm4x=_?bHtU`+Q8 zVSh&+=R*N`cRqcA*ZsWL&S!P_SV|wsp}!^vnk&Z7N|C;H3iowVsIP}YeEk&c7pfq? z7zO&LC?Ft5{sCq33v85cV7GjN=Ey5(tvrMG%Om)L+(Mp)_vIe)ojlkh<;mKd)71F@ zHn$Zq1utQa4YPRNhcB)8Q9~OQ(N{8QvjqBTc<>kn2aQuukb?q(T;(6+qyNL+TYy(} zZGFEp?#Yh3lLX=pAwoiM4FnH_gdjnK1P|`+?oh0_Yk{^vp=fa}R;0xWrFgsVZ$%($ z?a=eS-}Bsi&izip^Jm%EV~jcGm~+iB)?9OWm-Q1~WrKxhxoF{0u99%~=luu&M#429 zLpT#4IRy?Aj)Aj;eb8EA7xXRoh5h%!A&7S$z%uMV3z-vY#u^v7Xfsgo;izyRmCOiYJgh!x*a1U}5Zb3f6H7HQH1V;+z;5gw#F2*6Gfv^uv z7j~gtg>BdnVI4L@ScR<-mf;7%U11gej&sc31&gu&4CIfik3TlR9~<&WIt71Z=+^{2 z>Q=)Suv08H38QZOqIHCOxQTEHR|)5ETj3b)EF8kUgndLgVHXi5Y{|vgL{<^jk@baD zR7+vW1AA5UAYlN3Z}n(~v(VmA<)2L1@;gF|j|#jXBSB z3Q-xF3g{Y)&B|aCmx_kMu7bI+tzac=DmV!17NURW?M#=K%3VHVpQ zWD665M&sB?!YFRJFo@d?E(*iA--Qu57-KM(@=k7qKQ^OpO2Z#Pb_-%Ij#JTv4-<(5 zXdDB@C)N3jOLHLa#5%UNxH5BM{xLGaX55n%-r5=+9YxZbjKHZ(l>z?J+J}CmAcU$ zxmFeyuAQg@XwA^e0Px@h7-2LsfGyhE0vAvQV2idDN$5}?Sr{&hLS_x1u}!6bt8w^m z>4YDE_c$JFDPpD}x%3NtsfT`C1`XM-3M%v=2Ln8~Zby}x0|RtqP*Z>&dgL;UfjN$Z z9@3nY?ry*jV2hkYKz-z7z#JysCeZMgW9pm`&?87#!; zJ81ydDEOZ^A#*U`*>^bV;4*2WaFNl}!B}!I31LA^{g zV(U`|H4ZumNn; zVt{JIK;43Thy!^Gd}BLxvZF3rY_XjR+(tpRZ3h>@@1iYbZ9Ipr0=X5CS8h3N@GHu{ zia9uI3i(UCHv@i_{}6aLTM2u>UVw`cNPo_Ue9!(70|F=X_|b`cNFX_jL>^=}A&|^r zOQoKK`AKYX@~&ux?3zpI2Pk78WpklS7F3t+7WhaqcL7Px0U+@{3XT=xN46)xDR2gy z0~9U)!TC+Lcc_~O=<(2v7aGEu*k6P7LNW+02LcNI1VK-vEJX4AgESw+4A=rs5C|%O zWKf4_ReBdCjVP%N8I5cr$8N;xxkM}j$W07o&c_(?1yhLT<`Ba!Bj>S!+{8D;(pQMC z{vb6|unwt|hmhuA><3Z~Lau|Pj}a)CkMbAs%sXPtKbd#%f;i?WYfwC9EsRG*GY`)cmQrO@8A;8xX&{0;H2Pa?ve zKqNd4J;qQkqsR`7z&D1Ge;7iBW)NHlQo{atRzKuQb1x+H2KSNq6Ofvn)Z{k-S}tYN zr%N=4gDv)QLyj*pg5Vm3{&D0YDr52Lcwt>+G(<)-WTYdb9WuI-C+LGF(pxE$$rCK% z%tmVKFtPhX@&te3&FXw~WGgK*^gZ2)vLibL zGJv?hFM9N*UUJEU^hA&Dv|DBxAg38tXpM~acq;FKpj8$e+E6nY)L=Tb+lu@{OKQI* zveOE2+>Gvy?tMMCnq_R~a6AQl#-hV;+Q>lqi@wxJFY;qK^ch{qO?6^!Og4ISK#z9l zkwv?0gB}^^(VBW`g`cKD)f`Qm!lf~mY((i&sgDNKM+)Abg8U*Jw4ocOTmOnKb)F;g z?HFUD&k%I!i(PtiYhoszIozV!%5XhVdfFFj*uT))omysUqHpFG3h+i;Bj5L z>Z>|_l4xl}F2_Q|sBA=em9vOed5TEp#za{1{(~j&KUl_!P|IWyY*kkTSv3`bR$0Q| zx`!xdJzV(N%o4uLiSe;LB+A&{6FzqDg)g}nUt3~- z@Zjr8?yg;gtLtFl;yO(@xvdnAZu^CU`%U5K{#rP>Gxxxa*uMh4fZPd5Joc-MFMzIz zgadJeCg@S0A$m1@Bp!c_D#J5paxs3cX2QqSN_e~43r|;9P)2yT1qgSyaN*`2D_q^H z3Kx(1!pXCxaP;gX9J~e!JFh9i)@y~Z@!l(}y|1zTQ`mYl_W&$L)(qs2t3sbpjkp_h zVZROM_y{a(zcS9mR&k-kJNSsdua5BcG7%o0D&gkI`j1}D!r9AHIC=5@gE#L#cvlb( zWqAL=r>?N|X)bJhvxT)UGtGQif5C6LQ2Ff^=6;uis_ZL{8L5DUlzCcJ{ILf9SPOpy zooeEb=+YQH>QFz))Kx`%B#gQ#OWk-dFUHxAuX6fX2?sw1Vdv*AY|Hux8!lRxjTTnr z5WKvtX-X46xS=GXAJcff=zs|iEF4H`5aSW6UZ8rtRZX_s-e(}&JeoMJ%o1j$b!IuwQ5B4G4Key6IxM>WspA}nZue8dNrd>G^b6lO>0d4 zf%Dbt;|u5#hOU0t#Etr~t3>=CXCO=}nhB$dmclUBUg*cV3B6cfp&J`4v|}p>t+-@< zDE&AcbOXZxW9hi{H1Z?hA$SWIOCe`0GKaJz7uAY3!B4W-w&1uP=PP5E^4KVd`thcI zoTxV|>|$0$Ul=5t3Y}zbD#_ejlIh5jX~4-iZZe%+G8LFi0h7}}XD}GdgyGlVdvY-k zz&pVE7swfn+(DTI^H4gsrA=hfCOEE%F7YjhJ)!Z#E^gG7E&7;KJfpgLLc6XBPHPUV znMCCPxZ&}Bkfbx_oZT!tA92wOD97LBk)BW%$q2*dyyTq6{3 z1f$fxU=mLD6_xxA0`3BIsLvV{$R2{J^5>y+#}`0Ts;^cTY{211I1E!ZC0XXb9Tj^f2r_i;i#;&Uczz&I=rXIT(XD zJrwnZVV2?40jkE0Bp*5o9{{$%4Cnv`)O4r-ljcL({{&t3@sBa+F%~_>x`1+^0_W&t z#^6w+G3;o3V$^B|OGj|TCk$G7djWZ!;N23wb;px~nMhwSnRYmZegK$FWe&_VWK9P% z0L949hs;)N=Wv`418&4-49w7DzB`~!qz41@vBmss&Qr*FOQ6{c{atvy6N$+khh2-h^!B=#nDkjs2ZGDmzzVp6vOsztCV}Xz2GOeYE=p7K5v_<*v&a#2WWGQS z5lb$)iGk!Mh7mc8%YVB6fav-cD(5Z*xP@{z#52+}1?zD9$X0p}L|Oww$^*!Cko1vq zF&4}?jjUkgRDgeFc-JC6Z2;e9;x>Bxj2<_LxUSM+Ttbfv=+k`a{6Wn9lxOXac-DT8Sob!zxJEAKJaO(B z)_yoiBy$`+j$)6)=cp)QzoJthDte#T{$oDh=S>glIYqcg=)% zdw6%HiR99B@`x@+i={N^#WbjeP|d@E<`8pB@1D#8(}6SxV?6kX%-_L1Z~;i}bx`Oa z&kR}C$ZGr?cSxFlkq4e4^Cmb6B$t<(7%dkI8c`N$9SnQ&5bkjDgMSDS zba^sw@suGM{(L2sXmc!)?r5UXk?1j;Sa&G)7)-RD$I$?&`@u!}a!fDc-JZ<)=z-ks zh3Ljsl7Ae~QuCXl)Ws|V^RUGX{9-a~WIXREjUnzINxVIbIClto3__2A_-TLIOF!c6 zK19K}_-aq|=z)LaAf*cw(%UiFl%PFrq#aVS$gs7cg=HeU2&c4=uSfm`tkf=;mNyd} zCV|oT#W3RjJmUU-#Qm&RkBo9~52YnUQ`$K40!g&c>d2{soQC8FnjDtDj&v0~LCN6SKkg1|fcF1u> zjyE#=kr9fdXmSy;$Voy@HN2t@mPkcT8u@{?Xw(hQ9Y{7{JeFF(RcU3Hqj=J9)Z*Wu zU`6IVR&>R7A_znhEsE#eFQA<_u#$@Uv3C~W%<15j_RHFAuK!-|Tt0T7|hCXxM z$v=RRE({OoT6>~fC+yP3kbA0@A$BxJo;9)@k>XC7d?-%<-oRHe(W4smQU(8DHB4mj z4GOePK>IjquOjskgLhTPZ&`bxzD`T$9Sr14Snt6tu?#lwr4GOl_Iq=#i!(zUZZ|El zNh4D&QBU7k)Y7&=<1g7kNbK>Z6M(BO9wXh=pJtntAQ{Fwt1hz|zg1Ke7A`Z4VC;-2ox z*pfP8c|lRbTvsF+n}`Ghm59~16)^_RqJn{^h&JSll!k#K!jSJj7{!P%qa+bxR8s^S zr;0%1bP-_EMU*qi6J<@O2w&6X!iP`Bl`%apyv=?WWyrz!fUl50H-vT&&aejb4ZdmKm5iUnsq{sZnJKv(@(-qVBE-~11e!d&oLMNDl1V|)KUnhp2XZkU zR`rCNRSV&2oh_WL`w1uO3BtiXN5inEaTFm`DD{A^RK!P^V!+%ME#c*8B;4%Hg^RtFaI&`-jt*|1jBs!a6!wmh z!j4>wEkU8Rb7NuUoFyz>a)ruejIeNBD9l~A2s76c;0gPT62LslKLxoXE8~w<=o6Ch zNA}avDV1xr&@l-=iNRmP@Db7s!ox#fIJue%dl%MUaIqCOuFk+qSi6=JR^(zV-Q$GH zy_!&YqzZG7Okw8PLzsGw5++{rgt6B~VdV7#VEqLz)?e@>_D7cVKGKM4_+t$o&w>u@ zw?v$_g)_#S3^AH3ll_j1ZCy^l1k79mL;+5~7ncnzk}+T0HY!(M82DEf z`u_EVZa_<+6VOFy1q>m9!JUY;YDB=d;2wBQD4cnI8ga`zz@qe1sy3;M@2+62e|O;MlE?TEyNkk!Lv=;}fJ*kd;p{$rA)D|8c$sVHtLydNYI z>;N5Wf-j&^C*aTt5GPQ$gtnj$4SXV4L1(uQ{7eo89mvCsN6q0a@yFKqVuqd67WtQml5(_vs9xtpzYfaehOin1`iMRx!0^pBV-8?@+&nmwpy&V{484|+L4 zV+jkRPRN#ke)+&=ywFQd13lWKM|<>WN1e2D0obB#B%nUprUD9+HIPEi{hz<@mR>4SGA0WcPJhVO3K#>1 zLIs1&5p0V9P5!|1(^ijT+RAY3G29+_1N>rmazO%AGWyWbIN&mFkl)ZDJirk?iaz{a zN)t67g`13_$>6%d<7tNz=nH`{$e(XAiR~0H4NNcGO8dnjou97Fjo65R8G6ig1k}mQ z3IJP3FN4j<19PF<#&54MczP{5jm52ySr-|VrqXr6$8#qA&@AN7hUXkG4=ez!lz2F=4IEWqx-Gw+50crwl zafpgPM4=8rc<_oyrJPkbj6$X_^6V&s$!dQ8HP`?o84`bq_dY;1ibLQa_!fKz4uhlM z82AyK1ZTi`a1A}KTN6dtuM*3@A*L?)4vHjOnu8(DhbS)pHTpaQ zjBtodEy=MsvDSw-GJ=^wQJ$!|5@xSP71X6Fq%}dC!Mhc_+rT@U>XKGi=uOE7Q^v7W zHvmp3s53L=Jh0e#Gq~`8SPjY$+OTrIt?OF)xUM3%kZ@js^HIUc-|SqT@Zxi>(K z8hwNQruuDwirMzrZ;ucgF5MkZ*(Tke&lc)ufZ+-V6uNC}|CVaSO_PAne5dm!l10M02K)kB*)SfdtP zYEWy{@t&%9R~70bnO>way-sE1OW0~j_in>2f!pn5y0eiS4@93{=+Xrp+6f)xnjq7H z9E1&Jazc(fWnmpm^r%C7sf`{ru}2L!R^$JwXpxMD(kzuq)RMG{YaAXGOHEhA<74P6 zD$wIev*0AGx2F!Axs|z+e{kWp%B`+9`gEb2Z;M@8=`-vR`p7lKZoC6Rd##QhRfPv- z@zI;j7(vtl-6M zxePV{(mJR;(5Hg~V;bzz)SP=7^;J{H5V>Z^vqY91vYaWCC$fBz6^N{GWL01$S0!Xs zM;7m3V7(wbCjbxjr!|$OW&3dh@+A}KL+|UO^+Dr{=$2MKTJ)gacxG8<0{AoV0Dajn zniZ0U#TsIz+E^*sR9nOw7>O7ia}lj&B_g!!MVOY02-WfuA=-W-NIOUb>O=~Eomf#$ zH(8X`tt))>nh77hcEVdfS9s}<79RTKJ`FYsH-n?X)!?CUHGC^vjralrGG_!4eT6XC z0lC2pA_Eu%`Z6%ZO7*F+>eOH*E22=cGhrsiBG}Me1Q=L}at5r(VCX9R484VqVL4I8 zC{%bG@kI#ZMB!mvOSqdf7Op03gtKW+;bh9%H>UH1z3B#FXL?lFnmqvTgdLfgg~*>8 zM)Va)>i|6?7-@0bI*`$xA0uAuRE64#qqZWctst^9zGfz5cr1jMskQJlbrkN*mT@!V zjR>89#@u?gFtc7KOsu~XCN}qksm*(i$p#>Q zBC?0a5sAk$2nOv46w=D$3+Pdkx=F-O$}=blp>E1jHy#c;!qLW9*jkwj8!IbeZS5ee ztlfpB4R1u)@J5791z};!S20=5*UYY^FtzU@OzejUBZnEn&|!_xcQ_~v9BzX@ImaE9 za*s#u&_w((34a7_D-n61lQfyXI(3r}%IF^-38rrRs2g`|V((-qtnAH%%HC2~*xLzn z2N&Qi%*f7|GE>IHDNz_Z*AYg}ErfwfN1^AECv=%5qwTs%Xu0ke+AcT2OQGY!N(jgr zi`*eq=qakwQ-Cb?n{%!{x>dtQ3Div#HeoRm;e$S`lQT%Clm zo0l+j^A`s05klW1LFjta5;~qug_dUrhR*%LWbhSW`005ayu_$~i>Z`e9@V z&Y%s0(Pq^M7%LOFVv~6Ej6#;jjdMF%o7(ifA4BXdAQddx<&OVFC1HEBS*0iXk!nfy1DklU{*ZK64W zEJz29Ij)H=3D_mP4($P(xKS+JU6@mUhVk0WKrtk%VM@quLF2Uo4!{GH1Cap27zz^8 z3gpnqjRFfP)HZMqM@I)TGh?W(AuS4LrnIJAf>xkmOX{H+KjC^%L;L_;9MDCDzZj#B zPBkr@g>OvzQMu$5OY@u*xaWr&@V@3qB z@-S7eEZRgn+GTs%L|g6=nUJMpgEZU+ySOx=4zQOg`sh+m+|F@Y9h?SR)WH_D&4Cr2 znj`Q6fglD@k+t}7&1^83OwMc?{3aUQDa!DIGLVr#c7K{q&rY-nRL$s&4LWiOUCN`2 zKknp?j<)DyhDr6&iD46p0_-H3>f$`;(F8rDSt`=h$41zqksqKw8c}(vD4q(lhW){G zQV#3re14=H&nX8pB9JZ3OzGYOUjWUzqjnA^>WaIdlNZZnyk(; z8sGtLOphq|-=hBjY>-D0KeC5f#DV-Uf7RHXG{#$00&6-9#k9CIN8Es}cdMvjijPV5(0k&9? z%{hcFUk(mI$Ga8Ct&7Y`$O@g!Z3H=1^N}y{m-sFPkQ2fdWJbPbi(BVsETrvvK#}qv zS#M&y1#AV|!7eRki__JaN38*mUD0^fnd;3zl_PJwgialwM=1@3%Z2LHTL7tqiyV~fix zm_Z_~k)g~;=y0y+4H*w&lK`HNO3x=NF=L>5e$4ckk^HZ85)T>8-zUPlN2GU$IP(@G z>YF(0b>cSZ?UeHv@(e~hg`y|KZPfZeMxkJ34(aU>DJ!u8D0TRVPOph_q_3nrWkmlg z>;N1$|ZE%T>@Xw(N`w{02ClfLmH(EeczmDkk5LS7>5i4l{>8%tgGa=2& zknHffQ1%VBv=*vUiz+rjmL+9yLWURo1K=GA?^rSvNtCWSyz9Wb0nMQaO{FEg+t75R zxd+{`zyPB8(ZqZ+XvWLQQtY64pQo1Ia8~-(Pr>RK(yWY^$h-&60ea7TSCd?O9oe## z*kTz`=VE4u%%@J~5J$~KkLlQBsz{_9RpDO?{weTpOgEAS|4jII#0ovB5ovvl3B=;_ zvCKNW3_5k!tb zS{)+>{*~Zgg)B%-WYj}OBV@FIe;X_ztBekbYzWdgB|t(4z->N-)OvF~p(#?D;KkCcj7G>V!U5!M22z(Gb%S(Q`Caocw*9e1 zFS0W^WCA)j2aw(jN#XxyWGC8CQ{6Z_DBpW3;hXW)M?Aeq9KB8)@+GWS zk&&>%{$QLXw?w+MKIqd8UD~5V25qD{*_p=F36UGJ?2zM(98cung9C}p59?XS6R(WJ4Agda(>T{+!*$-(=lU`7a zLfg4yCN|L993?yP8(>uk^jPM?ZP9~Us3$f6z1K6Ek~SNG9%1AVPa( zg@C&s5?P-DS<&P+c`F02^S~?J@l97+kPG(_C)%hZH$w+{TYGv1d#yi(y*B+Oawi8+ z58PV&gYN9NN1s+@7>;6-+Snx7hA;xZiDc!LAR{ADPR~sE>Zn8+Eor$P?BEQ-zhmN?~cRPpAy83zgwZp&}16 z2bmK?$ODBjtO~~$*|rU4$mx$CV3V5EQ=&6Apl-tOlXB!@yiJXSyAdlwGF!&kfE5`G zorHs-hp;#D6Lv~3`ik;qoJZaGQa5gPTEgC1pFEBUvUnrHf;S>m zyb+=D5T+{Lh+w9Sv1Obvw5lNttQre_YgS~iW<>@b+iBS>WuUYZ`~;qX4`M3iAC2t1 z1Y)g9481`{JfTYrV?3@^p>E=+n@H*=5S#emuWoKUg>upsDqACAYHcozt*wL+Z!Q_y zxC;YYU!iXsB6L|nM#rw2&|>u%Vc&*8F&B&jOTZ4!odr(;PZucnNaPNzOq)oiUjVJy zZ^F4c=$4F)Vk3z+ut^{`DN~LyKmKa%t}V=1&DY4$Oz1mW3SCx_(PkAHEhjEI;oQy` z)42*kVgr!DK)q+dVBLi~lFK%5n(OG`{83D#{KJvkzZz|#20DOr_8ar_+KK3ZO=8hA z0$u#^Sr6FTqld~zn;9=gLeGO$A>3&+?lc~EoYwe>Dr#76#=E zg_a*3yRSJHX*9lcxV|{BFG~7C=!Y@=VCdHpbOpl!cShgM(4PeOLz%zCSmX~ucApg5 zC1z{akZ_P~D(ctbd=k1uVUqy#@QlL-_=$=l8i#8MolrW^5EB{ClN|iv(;D zk1gV{g_O{ZqdwvSKzRUh975vSQJ?`->~ye>pz;`HcuE<_KOn0=F4H5E`$QHxw546P zp?~CD9D0SIUm0xT2pbi4F-9LPY{QL|$^tcY2~-U+nkhFHY*7tcROLokmHMcPPgG3= zRCE;tROy40PeK1R=zo+B_z7ho|G=d_sF;JPvOD3A9kD@s$j~K{Yh_#0q_B$>`j}9y z+UUd}rT~rDqMK-l9u26I6zU{J1p{nRpY~Co`lyc+)vry52a|d|>2xNb|4JI&cj*5c z`jdY^rZh99TMqXL(6}o_;y4C<0=eeVfqW=BnxT^p_F-s5M+!0k`f*!CanKSyTB1i9 zdZbwaY|)}Dhz2-QbChom^Jb$k^is<34Z3MApl2i-wHTyKbTXHf7>bj;^*#5bbHU{pf2MniF(;k1Jh_`pcITVT$s;h5K`gos-Vb1M|TGun0XC(Owr(CyOEgwpfTmEu_#3 z7lJ*|-4!ix)7r?2LrxHK+>oP!zplhj;st4beq|ZkufQrm5k76D{WV}M_!_JS8vv%x z&xdR?Vpa#fvE2{E^N1N+?7#`PBXm2&+fRzR(`ll}3_+g9B62`WSRF-@w*pA=B;FEV ziRU)31K>^s!v)*jZ1;kF09Vfs8oytBj9t*>e5?LBS!R;SrJ1FQj zCRMIdwOaL>wQAR`S3jj;YNN(Yn>9~s*(yCFvrSgJ_8mHQ>fEJUPWK+Ya(nmf*MC6X zput0j4IeRT^q8^ZCrq3?W$LsUGiS}7J8%BNMT?g#TfX9}Rjb#0y>9)6O`ErD+rDGx z?mc_=eRJU8x8Hq#_~;MEj-NPr>de`n&Rw{8>GIWU*KhuO>-ODyzdU&O=-0HHCq+g&|U77%8=eaWscXQhS&#HHbO1hy_xUSSq!Nl{AXAQmfcVv)C%Ni(OK~ z*iXwiBsGmAQrq~E#&KF|9p|OyafSAALuw#*Xd(BdCi0uqMxN71{*YS9TdA4+^|!if z``j?84d`gmUur2@LrKR)_A0?(U$WT0*JS_NV*h9`g}sE9mbSKzjxIi{8Ja1DIp{sX+@(XaT&<0p8?v**u$$4OrP@y9Ft5|ILEh|J~*PpWatW=}Ik7YJpM>UTAz2O9WRg{J3p!yRIwWeTjhcua0cobo?K#mtHEhK&b`(k1X)} zrK4YLnlOB@Z(45Fx;I~9{rd3yUR8Y~2c7&9!H%JgLyd)F#?~(ooXL$c;VHIp!_{9P zm>pU0kh}gD2wrz|Wql%3eWQk3O6G7P*4#R(PFmeM>ED-3ur?z)WAu`p>(}nSS~9`y zIg<|DFZoj8*{A>1dHv%rOD~pM;6K>{kFWl?|A#LtcxL{vt}UvK{q0K>hw~DAnPk{# z^A`wikBG}}-oay@mQ1lem7nux-}O?71RsXxPlurk$Sk=JI@dxwp8+#cOD0$oRd`*r zJYS-SL1sk+jY`zv*`TUL1XV7S#Np%DZ9`B(*Q=cKZgvWCoBz4uy) z1Zwrgt?Rd*{N?=@u9luIwZOl{0{8dL>D%Vm7e!xR+#%XnXixkS!LcEg^rXgFXvfFEJj)vT^DU1ltA#L z!Kdq@>CYt)>}FPR(O->{dXQY3qRYIBP=X=eEti&fEd28>DOkI;pk-hYf!W>?bWlIv zGN^Hkm!*N0wx!pX#$vY)uADb_{?hf|e5nsAiE-(QcQbqZQf&p%3}xFo$#nEzM1#QebfX$eK`B4k}j91gW8x-Oh%l|(S9%qIfF zktGm3lwNiz`s-T)!FHdbt86=!KrpD-b&;l-tNkmWI6)oFOv}pR*G1eN4H==lQ}FpO zNF&UdH$IcM9zOl~X=aq49vCOBmR0!Yb3;RfTK)Hri~6*x6&D^97#dT(q<&EP&0i00 zUOIR7{MBDdU{HGMztaNGFYGJnu2^7L(pPUl-*|P+}YJ@qGI8+Nr68^zzuJKb2;d z<7Ht2q>yHw1_$Y_qhf!WW36h%uChBs$>Em#y2w=$NbheI|I_HjP8Yw*ewLDhx}2Bn z<%CQPf;}sSHZ5=eiBGl$0Vm#{-#Bx0Uhf{=d-feRvm}DjbN_u7xW0GM@Qxiz4&Bx2 zV>8;tJK|NYi%Yc3^~ur~_45C^l|*n|TBfS-ud3#4QLUEN*DU(;+OEmsyDCLj+3J+g z2Mv<7iy;~u9u^I73ixO=JvHwI7XNFe!9mgdtG`uH{963y>_`2oAmEip*`LpK1;KvV zWnPX|W;q@!2rRx+a8N4;9_#|>!QYMB?a$e7yk>s zsU)aS{4$ADWwPdg{JPLpj!~pHt7U&H6(Xcpnq_}86a+V9S2-B2AW$}c%^^rpFI~h* zV|-9-oR&|Mp%gKo=%uLQn`>> z-SOtOFTtVUgPC*f&AaGU=Vv46}Bw7pQAZCh!gZ^2Ch_ea;@uPx3Elbout?X*m zLlrDeC^@{b)6&z^DHsxJ>6k+TU+7ib>nWGOeI00fFi_Sjx)4 z-2RA?1Cv$u?Em(M(-*JbdGPer2hGc+Xa4sVczf$i$v=8>bmiEtjbc3wM0g2L-7ZgW zUhcC$EY)B!PJU0)NI)i|S5 z@4;iHEi8ec^wj^t0*}t@Tr{F%J&lw&ES_u~(Xygz;T*|<8a$75E!KUoN~w}ygtM$F zg@GbsWywUv-&{G1uN0Rx=1APsAV`vP&`1slR|P?g28%~>iVO_`#S@HC8U(xK9HgZs z<$sDq%L(~ajuaEtp36sS5Db!wP$wu^bWsp=R1&mM5NHH*H5CNsluE=X2-M9KGRi3l zmMaJxl>~n_kyGd@3Do-(;hge`m0G<{=9NO(lfvr zQbjMNIX)Orctb1XR6_E8K=DXPuZ}_o>2P_|?A)P~7OvZWR*|nNfwuINWPzvmO0vVb z6$6@8Ea&ZFXRgn;QIr(x8_I{Iigxph{P`#K87b$Wk+%>e;JVJID}_7Sassu#l0YaTYfUW`ew(Yo z;euSo0u6#ga)QJ8bM1;#ZIBcEuF*-&mlLQv6#uofuM99&C<%HhINVdFNm?oh)YEXZ z;(y8kqxx~{;+L5nq~xIfv9_E-gFt>W#@Dn0iv zEb#cksUN;Ouy@zC%^TLPS*aktIXJaasJEk~(Wf5&x{RWaydI^a)iQ#;ngqRN1ZoYZ z7uDnh^)y&G$q6QE5Qx8I6yItR$cyp9QG-H}9ZTxejXOyyoeEAkJ*PQl?}RV51rfqMMEBDkc?7t3o4eyfA! zJT59_sONs_u=O2+s%G5QAW*N#${jXk;ktdN?!MQ&SbFCF+yZwahSp3@Zk^Jwezlr) zq;F*ZFIhc2v1{$3S(C?&9GcfJw|kfDcJfetf2SHjj&d&ylS`2MhIFJOC#bARaYIHi zS(89MYB{Y*plHtW5LqJcEEAz_p~0e_oM5yDfnxBrQG>uu&f!9_*sy@sSWfUhUW0|4 zK;7gb=b%2R9H%OuVX3Dnv>2e^pnjPv^C`>L zN&@wxTx<8h3RP3v^c=Nd`#I&apM3Jmk6vl~tn|dc%K{(X{PE)16Bg=!A=lvQ)_G(4 zcWv9MNrT$elHw|a2bJ}frzC3o6c11Hoo~8~#aN|7@)aW)!DUT?co~6aK0%o;=%UF& z&OtNlp~x2;*U0V&`SYU}Q5rIC$z`Nz5GXRt!!-yL`GU2IXh35Q+<8U1QFE4z@}a3v zCKP5U$B60jQm9WU`-emYfqINeUJylqs8(N5YN6zyK3LF?nY#ogH0(5brQ%7PME+gg z#QCdt9=Y^LV?d+9tn|cxwgsNuxqRmM_Xqaw+_GWq>Q$>&%bx`v7~M6kPGb3xvR*EB zDidAFwQOYNxvVF5H|a=5ppMiekT>2ELaTE!7MnFW$OkcZ%4kr`mT^!Qd%3=lG*3>T zng5aZgX*OkA{xj!{NSymh?5gMQ{)2pkfWSHt&v$#DF{|5GL}kPtFP2iDxu(@9;-|c zD+x}dDp)89)GI3#Q5d;K*6Tb`gFrnmCb>cDZi6N--Erc+=2hv;<98*WFFpHznFSu7 z+_Qe!ylE3g50iqR&e`qTXUj)1nN`ER9i*J@=fA}=8w~z@p=eK@S^2)`^yh6u8HW$$ zKVK=_3zre7J82Lo(gCwI2o&AiLB$hn=;b0FXa;L?0=33-R|N<4)KAH&B5f2L_5>DP zDB3E9@sBi~t6WvEm{x2eU_O)m3W6V%{lg*!fqHImk#s(;Sgu-o`Ir>yXG2^~oywN4 z*0kf`S({EiQ~sXghfBZSbL`5mA4|AYdg{N=0)PGa`{M_9Z(YA~;oMJW&t1MPv%u-a z{RoM4lel472m;F888>fv$%bx$P+#e+2Uva$*aMY2bIUfIP& zC`71d7waE{ZFoav6r{f0lV@pK7VaUHn{}VC=9uC+yu|LuoNj|BFW&t96-5e0DXR3i z)B^w70`G30J9cRAj?L@WtX#fi(SijFm&%{*sE4<0Qad>=IyAt~%hkc!+=xKvf{d-^ z{4^ndqQumJ|G$t(0LZCs0qZ zQBo)fb|?G`g8N;Sow0(0dP(u&nkpnES4nWQXTBEt_WnsNde7W>O?h3d-ruZBqqe
(lP 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 W2wMx3`{|@osa99Ve&_!H3;)?5SqFvy diff --git a/doc/Eqs/polymorphic6.tex b/doc/Eqs/polymorphic6.tex new file mode 100644 index 0000000000..c8f9f2f25b --- /dev/null +++ b/doc/Eqs/polymorphic6.tex @@ -0,0 +1,13 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +f_{c,IJ}=\left\{\begin{array}{lr} +1, & r\leq r_{s,IJ} \\ +\frac{1}{2}+\frac{1}{2} cos \left[\frac{\pi \left(r-r_{s,IJ}\right)}{r_{c,IJ}-r_{s,IJ}}\right], & r_{s,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

HMs6c-FWfP( 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

6xf8Ms5Khz>RoH#4 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%0A6m|-}VW?|$mmSovZf;}`(e*XzE3Xh8^&xrl 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 AEBbI8zZxI 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


T|AQ4LVn_UOAVszc?3hzAy{W@#uNH=>ghiad1Pq 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%0DY#3L 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

pdgIYR@FG z+%pU2i^U#4G2as@W_!}aWN)z;?^!HHd)A0<&t9zgyF}Ujg6MXCE4p2(80}QWc*iii zX=8s6$3--2!NB|E)r`S9;{T1rpMzv2>>w**H~RaD!4Kg993?B`xP>UkZ8@-v<`&2l zaE1lgjsd^{{v-#MlMM7p2Js}7KXD2k<@=w*Z=f;}htZytyppyqhSIgn!wrl9e-eQ1 zf<5RTK>r9a_z5xtPLr8%jyU+Da8NM;D^4_aFouf{>cP`&NeSkl7X%#WuW)eD9ua

E&t_S^dEo+ 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%0DC|#U=PTJVqz{dqA(P1eEtBA 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ρ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 V@a6viuV0JSaogPI)BB$;|Jg(_tq=eJ diff --git a/doc/Eqs/polymorphic7.tex b/doc/Eqs/polymorphic7.tex new file mode 100644 index 0000000000..80e9914405 --- /dev/null +++ b/doc/Eqs/polymorphic7.tex @@ -0,0 +1,25 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +\left\{\begin{array}{l} +\eta_{ij}=\delta_{ij},\xi_{IJ}=1 \\ +U_{IJ}\left(r\right)=\left\{\begin{array}{lr} +A_{IJ}\cdot exp\left(-\lambda_{1,IJ}\cdot r\right)\cdot f_{c,IJ}\left(r\right), & r\leq r_{s,1,IJ} \\ +A_{IJ}\cdot exp\left(-\lambda_{1,IJ}\cdot r\right)\cdot f_{c,IJ}\left(r\right)\cdot f_{c,1,IJ}\left(r\right), & r_{s,1,IJ}@&01%&eKcX09i%7Xh~(Xz6MJ2nYxOI)5I( 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%0AB|#23mg`}P7JMPvdlh@tTGeG1(v{hDdm zMylC=bw!)Pce39H7UXHLpLyKO_hw`5-SW?}KA7m{gIG88mm`{4`!u7myXk*DOaIdq z_C{16a?KYYf=9S)yCPyl!>sm;{>1rhh?it0Brc}PZY6wH&qn!aPBXgldS*3-DtM=& zl|I{ekK+WcyZHu*QI?Z@O7emA6@v2Ayv1&!m8n(wlEP6&(jJqhBy zjvbov%w>$NO!u(3#{Q7GecesYWdKv>A-5Kw9>E!L;E@@5G1uW2Qa0ONYzc3qGut?1bN*k;ni0c0pC-cR3zA%_tJcS*OF4-!ND6 z4b(_@qM?d<2>w-PI}HH;H6vg6cjO`;nAH_HLb#tFwj-R_k0^BfO>!xKZbgzvg`3v? zAhj0e>8v2L3pq2A==fRr**xGY&K{NSslr>AtanVqpDJlHdrX**p0~CL{{+24`!dl5 zoi`&%2>d@(B>Frd&*KGl9^t&he(V_Gt64hs6>-j*?^q_`hju=`fcUqxDSvy>|J9fO zCDaZ2m#N5AV(fH9`mnYm-!=%H&(&_(oA?X&9o{paENuP(2O3jd%k*Mah$&_~uy z<;sZ58#^naqqpnfsvTlt=fzYUhy%>b=rj29s72 zxt$`dZ1)*S#NQr(^lx_KQ7O;|Ryv{tFwhorKS2)|wZ1~QDJOJUn`n6sWNrm-68g8k zP@1z^X7lZ*IPYQU4y{}coVHcUeUzKKUW@0G`)=7zUUTl%xviXe2)h|c-1h%Ntz?-O zn%jS5{VsfC_LYr6;?{}Smc-gP$2GEDo@CT1{3J{Q55i?{r*{6A_5wUcaS_k{MD9BHOQ?3n`-l92k)OGWJe*S;{SAR5D{cEDRe*W|V z*uv}DE;_8m$CmtAX1_c`SD?3d#r>5!s~ijxSL4={uib5Uaow8@rbfxeoQ(sUrZ@jF z-Mq!mEN3g*yv^d6|pjhhgQeKPPd(ZxUSyj>=x~wzn$mN;(2(-?VVq} zb$!fzef-k=O9CW;9YIHeZ-smb(+jtX@QqB4Du`ysRL2g)oru4a@HuHo^5zux)abOF zbZiDcvkK6YbpUuS`!48R&RmEdbTiBm?vopnmyr)aAPew?>is=M%HnENQ%NU!7iKSZ zKkf+rIN=QOEa?pSH02ca1nn4ol5v+UvE2R12Li{P4{kcN{Lt^i zFON)59Gl#IwCR}aIQc~0$>dXhr)|!xKC5x|#kniz4_s)wD7}QcoOLDms{OUqQ*)*s zUq3TFaHISt=@#&I;2o>G%kO@?H+6sXLG44rqr}IKPnJG;`t;DV%IC-zK`+<8eEaIi z>(V#qxAE^B-!FUr{KJut)t`z#2Y=b{<-^yb-&EhTewhDw@w4q$+HalTLw{0cT8_rk zd2REpw3rLV7e3L})LFH7-I5JU*DYJK+(1`fZ}|!xeNFwJD?hAyY%sO@^qQ+{ZyVlQ zcW?cj4L6Lg8eiCWYSYB#119@S2eA$UqziMIf5R>^kG|YRd^|ZMZ~M46>5J8HJs*6cV?I~ z*RhtfezRY3Zg5ZX_VHT*C z$A7QiKL6o>k)Y9#v55UK2NK8A4`v^NA1*pVm|#xwk4le~9tp3~!Jj-S1F z?&kT&7v5d`aarq%-qj7)ET&wq`%OpR$het%3wN7+M|rpUUgQ1t2R#o59_@KN@?`(h zgU^mUzx?9S%TKR0-{`$HerNT5+Xvr|5ucJjXMcfzMSLsxp7#UvGvSxtZ`(fxGxa}r z{=BLAP_3g2wH7&O$LN3;7cIdq#V^Az$Lr$sN>&u=Lsw?3iZSqC?YhQ%t&^eWI-KLAXb7whDhpPINJGV8f^dEW zFOnO@jpoI0W4UqMcy0nOk)I?;7Ntm1Woe4^(u{I-zfhA^2dvL-05yS|b6O#7&~{h{ zyfe2muPeU`(N)k@*nw;>YAJ3))tA(uD=;do3@5~M2y`NmgeDhIVAL#H3O$+;#N5Gh zW?OPLat(Nk`E&VS1h0hmMN{H4k|WY#S)aT`QLU7#c%{@bYC z93H*5U*o{Wao>aBL!85%N6t>XJG%0i+wqJO^pmZpPM&^scKJDn^KlnY7nPR=E}y&d z;+odfhU+fVVK=gFqHb|+m)~i-J9zKF{bLW#JiPGe;^XsAPCuP^HuAjtMb%5rtAf`_ zZ_?hTzDsx?_QCU`#V5T_pFdyyGWb>W4fx&m`^O)-$iMIZ^?9QC zi?revP!^UhYS3=hsavdALSI_AEOU97uB+b06^mB9)xWxObXA=JV>N9JX)VeyXI=by z?+sQ)2F7!YpKrXhY5(R{6R9bF3&<>DtDCv0#d3>Zmd~xOSx?yPvaPif+T$D`j`2=@ z&JHe{Ty?i;YCQJK7>9E zyBU5yVlr|#swcW3Mx|~C`1t&U%*5y<-(=^MEvc*17Nvbpf01!B^E6<8RyVLJn+L*z zb8_M!K2ST@2DlFVYwn}Gi}?o-oduRmVVgb`O?&)(jO0>^ zy#Iq_r;wjKMcN@fH{ec!i8Cq`q;8=V^$mFee-kus|w6IrE+<^IGwinWweq)5pJNCN4CaCgKTGLaYV!l6J|XP#U&~*jMK0 z}#uklornB-_9=WZc1BW+)lfz-q>Nx+qjmKSE#S zG)0%v4n4=S0~O%QC|0<1djC&mfw;I$hcO{clDuNL@iEww^po8ES$pU(&b*K_^ewC~ zCrA1MM#0k?tjL<*7wrHlSV@l-rSFOunCM(HcX-hivLV**gfYFZf= z>exsVur!~fF$L}Q7xEZ2&FUKh>6hz9np5enRZ0<+cDPK19-(0sqkx4pH_1S732m(a z>}WzWViO+EVZ0j*J#Wa+>=_w8Lw9daYI2}8HCYP@G?!ZAlH=6Z75bSW)B}neK@X{Y zVt0pO>LJd#hgTTI`@f$3PUq}R*teTD)_=dzmbRs{T~J4zXy%vbQW>@J8Ew?KvI{{l zYOM6S1Atn@{qf)`W9jjhv-9aD2k-AaN=qD$Z3v-`@A}R^PtEEaMdea$n$j}NsSB!9 zL361K6x$sPsCK;H59ZMKUy3{9O1pY8dCzy+fHkaNA*g6BEOK0<$mQ}FFeoL&4H!{ zu`#Tl0rOb_%sTrx<{F06bsuq6W!c1(aJ($9e}Q0uGPm+Lk1lIw#ckF=P<_p_X z7_2G&7XJd~2uEV~l2Om>yY^aiuUUD7BV1HZ>mA{zR##O>xVOt6GTk{MRV3mqJ6Cok z`7A3$?Bw^9>B&#ElQEpxI#+j#LVK$ZrwK3}H9Zx)lg$(5bZ$(&0V9mFu!@XW%eq&3 zKiQIbR=(b^m~meC$IhQV&GEa^COp5d=};Q~&p>~7124LJx~z(GtIdMWW>+=v^VQdD zSDjC4U;tF|{F>2$u5;XXLzhc0a0tD6w6ko_w$!`_ zEc1GLk_&THMTGAmhMBC|_5wYE=Y3gIxZ-rj_!WNmM17YLw`r`U)Qn?2bb#i{de?nB z55m0Ld?oQR<9cxP)8celL^tSZ&clc0JVK;Mkppfl^!Kb z!`sCrL`(u#xQXQEQ_4F`jr?zq%f^P~#A-P9vUI8wpuSmnQ_Ho6UYWe1P^=?ytFgz2 zi56AN%_-x5Ri2G?;l7okyzJCFu`XHvVNS6R9sN-X8XO-oR`m8J)L)Ysb<7uei;p*5 zz|{&HYTI(O`HG6{n4?^};{MJjY>9Y@^%PUc89i!KI&c4)L9ilX&qV!3>A`-YP%egb z`eAYqGHwoVT5FX@6r=HKVZWe%*UIvEpoXF>N;o zQDH1PRUn%4Ko9#}PSVC(d_|0sas6a;p^_CR2B$rD1K&k@jab;!1Golgf={ zPRxeVY2}t84@HM;XXayRhd4LR*kpQj-c{ zEr4;SG`Nz2C(&C}iqJzgo7cAl=Z}2Zg8nC>5ut&!8*!BUs_KLJ*W0^ z`*j*!tkukHrumr>UTixelRE^Zqop;U$WU4Aajtryds%de}Q z+xCU~MHJIiqrR&$u&$ULn7g7XofVY)tjwQT9K2Sc!|2`iP+Y}WZvL8gjxOsN>Z+2T ztFdWwlEQ_>jSs{Q1VZgDp))+KvWZ`q99Jsm9t!H012}ry`b5832=ni}K*ovgSDn8q zKUKq9OUo_`IvazPPw+#vYvfk2{)%rBMw0s0Na5F@IN2mWVH;h9>)0(_ zS{-GB(8?n%Mm^K~HT5Uk^KkanwM|CQxN=3!jl_PXs+<_8kiz9Jw^<0CMWz;OI8&Us zPDV%AD5x^A`NYsu-cWr>FAIC6I=tN*x}ZFuaZw^x8CtbF5FxcyIc_r$&J)uuHgK9a z4;t_7{fRrK&=@$4YhrlxbmI0Em$aASb+ap)Ncis9@!B8)!!Mxx4w3B~qF6_IVnz{O zr|fBXxYwE{l4Eu~rS{XWc8^gP7wfh)QQEUD8-)~3Y*I}+rPlXd*>}oSXDhiMHQsDY zxQ4c_VdtIzo{#Ltu0@=FdSurWJG_Y5dYI(~Y;Wjgrp3IdW;1$yTgogL`p&Cl40^lS zdqE)`Sig67k@T_5uYZTQh1SufCsZL{w!G(00FCRP@T_BKRYy6yd;z6Mw!8Cu>2>Dx z){Xqz3~s&E(6MrkbZ?(rrKGLtgvqZXQ(MBMky)+vj-qEVo2%9ds(j5Tj>bP1lxA1lIh-xg$udZ3ni@s7xmc;vfQ*9IKJH3*O za}RBW@xHJSbvA<|ZT*s~z4#_CYH&wb-Mqr;X6MTHfM0c{rLUtKD(A{?_*_+Xi94Mh zNdoveTUoq%wr%a+!L+_L5>fBsjx*Gy?H8Me3NxB^)tvzxu5GFO9*wN1EYdV2evD5u(sJM9X$s(pVTKy__Y?ND@TMNs)0pCRRP z#S*9I;yoh0tvx(rPPFRfpQc-n)tEoif%wkHHKBHjL4~ z@2IS@rt|DulwS1EEiS^x^leJnc$CD3tv?(mT8N8H~rrfz!L!Q{JCYfv?cVa zdK>nk9hntN_?PT&$>TYXxBM2wuvRK~`x(seUD4Icp*y?0%R`f=T5Oe# zp%b+~rSEnml`}-v_Ag~Od0;au{wLN^MfiS=t`)4MdmgoFquct=Gz37cI>)QWlTS1c zmdAvS)XEfBcEp#jk@(qvmm&FmX3_i(c8X%oSmUnU%=ddxUE}Dw{^(Xcs9C35{c!T> zW~(Z3=&@S8(!?EzvJsiC!)lqG;HX&vAHlxBQ=K+ZA5ijX(gn8_k#hiwvjx1|E5=D; zrTtjEM*ys25y8f7y1|tgW}{VpnRH@vv*aG7niqV^f(j;#PXH-sgzbJY`3hiYPc@kv zo7z`M76b&heI{RUyI#MZ;$h=kc8v1T#8Lc{`i$pzaxG^Qq3j5pRgYLWreG!lIJ;Gh z!dR!?Ec&Scm)7TWfZL-w1G=6Kwe%|Or%Auqg}#Dkdt$xl0D*THB52EhIx6Lz1Hgy4 zT(4N8o;3FN0K1mAtZQyxYOR=)Hp8X!8MjOgMIy#p-sa;z$|wT;5LH&0|9GTMVgtw= ztQ5_SUEd8C%nxvH(c@XT>(&4`(KfGD(JYl|iSQS54sX#hX5|!taBxor%ZoLo*(o{>p!2XMp8bJNy%C&tMm z7WhH>)2?%b?Q{pF6X86qlgK5aX+EHPBpd33@ObiaYMqM)#hnU$eHxoAojV1`J`znI zs>5Lg7dtcXYxv9M&+#X?Bm#&a;LOi{NX%rh!$_o5#&72^aut2&D=my;mHpLT%<-}} z<6p5*?ST(oXFj()3m(p`&JW>84B$F^8%6IG|sn5}WI$bh=pVFe-$;uI`bURS?1_2UB*H{vpVt%vXn3u%#le>ep;AZ3aN=Pu^vM%c^)cjy z{t~nC*Q3iz4(}s0yQ1m4EJXkevg0ed3d?Bh&3upRto#|Af&VNYb@)j{@q|yzQ1KVN z&woZ;KT$OjRsuixrwM^J*+&&NVpjC8EcuAFY~yCaajCW9pl|qH%I^+iL>E5oeg#t( zYj{S)U}3TQ)-jf1?=^0tci}+7Mf5cM;*v4C5&n86mG+i!BsiXSpZL;|NY^Bn+`UH^ z(>qS5(G6&i_v+CGX*(OX(!kV1{AV;vYA&jtwutJMQB3_!T@zG7TS+x?xJyf+2H%OM zd5gSH9->|sAa<8h>AZb)lhknT4&DIOhW)l!Ni}C3NS9EZnf$;JDu|KfkU$-$FSs>M z-C8zz!jy7M`Ef{tLX`W|rct6K!(0?4RD>wvP|^hUX?rOY?t{P;lu0(q{ub4V(S6g8 z;?wATY><4vmM~CBuCKgUvw%!33*mT^>55xO9=TJhNPR=TD>4osP~3R=_9)5-%WnER zS=xQzD2i;~uDL6l^tvgj>H+Ce?Ihcibf+??u$H`7bw1UNoFH@Y|42S8+-`43iDrwh zKPAuI>oA!|YTiZePa|b?9jkmu@@?J7${?lG%L*Qo3@*M7b==2lrI_cxYE@8CSf`Q~3>-^M#7uV&pQ1o#n{?}!a{ zDa^Ix+zTZFCH2q&5Z{^V(b>fPNV!m&!ns0W)B4yKDd4=PtOpcGk{9zAh2VRdX+;^a zea%2nEzWP@$MJ{vuj0+;Id?EPCpafnPV8~Ef?CBo&tl}hQ=hXdOU!3lF&cd>85sJw zt%!b^cJb_4o{zF+bcpj+?%KYbeO7W`@r-p!G)O@+KM985-@HnwbUHH*JTqj?T9yH9<#5d+@QK=?`TY{Ecw==wDdaWEREw8dM8 zwn5TnlR!PoU3*fST{3xQ?>v^rfrCxS%;kGYl4OQnzbOGok8ZyV5z!7dK;yJ%J1hFV zCaL#iTpK5@$sOoFU?Oi7o1L&f<0+|%ET&R@DFeh+nB6UCp{9AAew=d=t?*;z( z&I#@kVy-oeZ9)bdCMpk6ochnp8RV&2rZk_d5bP1-$wgR}u#t=dJM*uTTVnKi%g9f5 zZs!D2QmrjnDC*)v$%;lUrLR#|!11afNK)8({5}zeWr!&i^fUcHVBSv#KN`vnpkLc@ zh^?f%Sbbz(qtzVrmn&pby+moAWTZM&tiH07*Cr$hj-hM$r};~=Wju2(FzPUe!|vM= z#d^bhZ#BsbWh@^zlO3qq(u0zem)lo)h{{yaT!G-AoLAD$Un;oT#aPZbr7Uf#Ri} z70egB-&X1)@>t^i5z_LW-mVrgwqr>}u@K!1U{CX#>-M0wa(`FpWwAKLrAd))tY@-3 z&v+(X=xmk7Sjm=;)k*F5T<`oYUa>2&{D^RQ*KW2o->r2)F_&9fp91*9F{o5V++Zoy z9ls&dN^E20Pe02k99tu~GybKsNOW|VU2Y>dIBu#eWFBG|0R zvUrbsj1Q7KRt|I(*KGIFI?ob^=IrXNC1(}D3Rg6q_O29+@h`MeG-2H{0;KnF8DTYI zU3~j?7l9Sg&!UIBfgCrqpw^u9v#F^{pR`xrTW&@Y)BIGaBz^%|-b@-uZ<4$xYlLZw z9LR9@%X|Pu$D)PlSDQeB(~s{8s|qbQs-G;6R-q)A1?C$_^+i8Y>(%~{mJpU; z9&el5OKu)}zyik_V$SPFRd&@+*K3va*MKGKl@}}iA6I7;9Yxx8VccPG_qYo&;t6pV zLP!E}?O3~3OLbMXyLZ~+?j!+%yUQSh1b6$eK?nPD{a@C_xv2HNtLm(M_Sw&W^oxoW znue-EDNC7_GfVVS`X_FcfFzP{?&rSaeRM=4amez%eRZxK6icesyTxBpp~|TLmu@3B z83!vbN@wZ_*-8;#WgB~f|4Z7vnaza--yJL9kDM8O8}t_kewzYnoW)4YBEP`Sqp6^ zq6`4LyL7SkG21cYh$v|I2= z`asp@;y`t)+;?l7Vui#n;+g~!+WE{7+~R(=H*zP!-Hn%;p0;R|g8F3*&CoUDHq#L9 zlCDpGvFN0Fqxxg||Kt|M%m}Sy(s;1WJ3$%$l6?oK72!7~HSv0=$_19)?T4YAhL263 zaXWQU7N?>-)o5K=x=tRZmPO=?+hiK=F~MwMjr|ZOhZElLqA6rJM$v0Q_3dGQF*J1i z!G6AMH3@D;+qo>Tb$08@uQ zp{M#_^Dd$&x4(WR$&}n^$R|Gv{jDKVlRfXqBY?#=Uxd3Ef%=sLLLgA^wEGS)5r}IK zr+uofXc_>P=Weqs1F*@dbw$9B&_ik#y~*=$Sq?*F8z^|p9MLuO^PyLQon4REUuaj_ z!r6{hFB*qH)6R$H^%FL)%n$5zlZ{f1 zEn11T@>Ih#k!HvLj0C|zlE3x|?_ua7CgAo!{$S$Kf69P-6Oh6xgdWgLV5O!SMx^gHt-ygWt!-os19G=%J%x^ z^At|g=lU$vuqD;-A?I`5QLR3aq48Jxg>=aw$q~;!(LRBvT>$qEa#a1P`)7Xv_i}q; zmjflJ$=GrYg)x7w=j0r!D>0-dW~=XM7KiBMUb0i;RTN>BT{73iNf0mCpN3z}Y#e!v zug5MOfC;I^#ofz@zT1qgOw!hv*Y&;Ru7Le@I;x|ayUGffWIa(F%WxMR+DE3bne>r~ zv~bM(elabecyrfWTJ5&#mMYr)n3EP0fCO~uh4cisG^G_I)4E1f%ruMO(Hiz3({<<% zcnZ_e2ZM8pUUp7m)ortFE@JJBQJIab!~mU6&D!dQR)nxb))#~()=N>?-YWh<#`U3z zJa0@$uYhyANYXJ08O^xSR0Cg*$ukYY69W+KZYab}ASbYmHtPf**b9X3_NZkC8SGt- z5*_+^&!DKj$g|x^a3w?4DC675co-jZbpb@pC(bmtM%hUivMCniK}&?%-5<1j7+!-+ z)q8Y9&qPIh;lFKU>6wh2hI``Nn0ZDA!Jhz>CYon-8$oqPtdmu<%gp0~IsFy&*xqE&7weC~*oXQTGYHx}BD`bC20vZ;_P+k44tft&4O-fQGSSdYFqh~z0;`XoU%bVbu8&-*Bx4JxUl&Su*T=HiA$g0yi$FJ;kfaJ_%M?T z&Oe?H_T#w+16W7O-tT_Hnwt|hP|X}jI@USDl!f!hnO`kFzm0h2KhF883#2s59o1Qtbq=Mgr{*l`xu}?*)Y0Z7^$u^Y&lVN?mgu+ewJw_!6FGOS z+XUV44wmIGqXCQGJi5swD(l;IRKG80b&t1ZUec~stpW@mwA_&V=L_i03Mnqz)V11_#KOTctu+Z-f!>W#$9EjyCTeMb6mOy^+QQ#T9>G?;g>8s_$ z^&t}I`3C4?58hXyUs$MTTd|7_{|?9F!gM@~2v1gr^QDC2ie)$<$x%9MXCt{$cs+WI zx`mhLNd>Io+C6ZLYjvM4@vgOfH zl>NeOo-1fQ$m6?CwbjEbPRF5jeJz9UFh@Jro5FCDnmf2me2FC*vybphe|?7?2~^oc zouPX9V z6QXvIU&~Y;9O}Qk(y?7NEoZGx-mX1)ba0>meRtm^gAqG#R{-(~N9bap^9i$>+Hw{V z4;V<1U&%(rNsm-&AHU$ndgc=B%42oR6}ZiPET%m^sqPFjlu(XzGK+~?bRknidYZF| zd6SY9wU!l3{p`VD-2;AIZ=#n1`lDF75UA@dr|$xq^n2)!fFrP(u@?AITfwNNCugTJ z{-zH`mNIuTd_5+xHZY!Cv!eaWU3~ZkV9%M-{XZZdnWRetI$(RKggz0ftl2?FvyWzB z=pWe2Bla+KAlhBdB(R3An5lzu{GkZyJ84B%KFwQPqxnn|2}NvIU?Trobq2ua*=)Da zZ8)V7Yv|8mp}QO74!i7cS4z9#WH|w%llc>cS`Z&RRzQUO4 zLc1j~Z&?JK7R0(K=#P+si@(U;{R#Vak*Qtuwj1PAts0Sy%{i- ze=?e>b^5@tKeT?itLq=&9Z!9FCieWDw*1vaW_H)kD=C?g`Z__pyAyGVFnejg4X z?Z~i!2FS0%xX>2reped%JMjJF9Zod$>97~Vpsj0cgU`^irFhtZ)k6QK=& zaBCiWh`v7bExVL{$JLJQ&p3Bt7yJ-DJ2U}yfhRRILLd|_$!33Mo2lcJ1oq0ZRpUxp zce({U3r2(%fF{;6mwTXu1s%_ZS|pM|J^PdBN&QB4mM~B}2fV{?qgX&D&!^N5^y6Gi zdjw8KazpO1-alg%Ms& z3t)}gN<*qy>706(QWgeMANdT9HGJ+506onH(-l^u!CElJ^3pbw`k60P4#hm?VOei# z2XnW0Rme={MZUj_FY^!lXyzpGQRnx}RPK~R|6}0~HuSD#Uf-iL2$&v&D|viIUsoPM!>DcUD?H1n zFnvtPVbC={gFPAhq$cMZ%!SX`%RpHz06rFyoO(Z`&&>!s42+i zPbYp%Ucqf48-gZtQm9g=R%ANx?;eIUf}(DB78@zAv{OZksap_VK^wIf`;{L@^T}6p zf70$IRdM=(xt{X_5&9D$wr2pEr@%?n_C&%3~# z!aA6E9=XgC1+Ia6StzG$NXgndQZ70nn$R*P+$=Duj`2_PeIQ#Nn)?#7k{iSs$(zPm ziAWQ@;6HF-z&_|ZuQ#7<*sPm%RG#nZ)mMq3=bIPJ6Oxpi)Q+W4 zfx$g~CL2^8_pbzxOJ+OX1{ZPHb!F=h*X}b~X`L{$L`kYs*i_mT1&C`zy_RhuEXcYq znMCY}T`3$Pm->yPHmNv=Y23-cn@**UNd^rV%|!BZp;XyM*-l$2FQME+`AglXa8{V; zH!VI!B{&K=`^E5Jdbq=MjyFT!aZI}fbgpBnZn6#v1{G{pF4bR_%vxE2l{hf}-L4nS zWrp>ZDJoJEAy++ z5w46j^Or(&-$UHVY>C56_&%s?`=WMI#On--%d(xk12U-uL&i%=MR3_WQL>;lGhdL! zyB_V$+s^su%j4{XzdOu=GuU_9997u5``V|9l{ydJ>~S>(P1-H)S9FvG3Y(-)wq54; zh}T42;_erO`KBV*xPA_^pa;wDmUb8i&|;5>z*c1cBA(nPOOC6fg=1AB{iKb=@Uel?J~r? zLLDyhH3wAaea7IuBB8@<_B#&AbfIbXc<+VmI$W++A=f*I97#>*$xhKUYBZIS>@k*bA?5Vx3iG{D_702d6Fy< zA5}Dlg$YhbqBk{iuknxD6~YgZP`#h=c<*h&AHAhB5ZJ7#X$h^iR>st?$XzLms{5QA zCoWK*44W^&$k>~NT#0alT@751+?T!Wmefv#cDFOo;l#Dg<7+78tLp2ppR#Tn1>-{> zoi3BOIq0nNJ9(u$BrTyPS%U&SFeXE~48+?|RU4nQg>bfsOFCC}#xg$D$`Tkbl$7{P zZ3Hzf$fS5j!@Bb%DB!a7W&Qx8T(+u{!l1C9wPG0#gp9^Y`j@gqa~1vHtaWwyj3x0? zHDQeGplbPlj6rvyn8(~?vxN7Ic~x51k&nD*r?lk4Kk$7GdGMOjcGyX9_|}J&X|V!ggOB#KpvA zsUVI`&^%cdd~LjH-uMH|wXlOElD1>2y_Kx@LrC$(x*#KW+kYBg?fqDc zB0}jKsFC7=UVTSDx%Xjj_#r+4c^rNqyaTAMX)4 z#iS(s@oUq~A$@lKr0}B#ZEO_T0asvfxQ4it9M`WWk}JEq4w7c%UTD2QI+c34VHbH% z#AjnA<(6N!<~41Vi;dh4Fj*}Tx--(@grP)w0O`LzI`E;gyt59tn2WTu054Ki^)k9! z#AQPU-R#$@e#EeKNs?`1j9HNd+nIgvaW<7^`#;?i((w3fbz8Pg~7xSWao^Pt-PD`C(mLbn0 zh!rLu;14KkfFOTE{My|meTGVJJ1c&=lhb%j_;1QN(>cMS zh;&^CFVv5xEaud@G>gB%4c2KqD*FZWSN~I;nK;_LR5Jm!vdu}EvNNgCP1cyAH91Nq zNBHRG3d{YtibK5fE~DZKj+-^in+pxH@AX$$))GZsI>W;ak7(arSp^q|jtYaF0f^QRUQ1)lE&KZ6{+iIWjX5PmspIA6v2JgUh?yOpLzeQ4jI95)dj5nQBFa| zq0Tc%YMe`R3tSoe%$xr zjG>OF{Ks({n@;eegWs4aoMT>8%`YV0X{sy@dTM3G?`GGN+eZ;~RkiidOXaizbl+;3 zCZoT@M&cQ_zG<%TY49iGS$?aRQj^5RIC)ABAgNY`e1B*>ym@r4p`d!>&`uqy0M`qu zQ!)nHA%#!e>c$$WSMXcF@4SOVfuOW4o;Hy)$+b&#ioDYsiN@2ee8w&GH2jt@HF zo6(u3^@LZLm)s$eJC2XFB_o9J9mAA=NlT)uX)219XAfOKQ{Eh@9V4$eu?$m5=J%h( zKBi1HJi#YZ6dV=dAk_=AkrYIIopYXijn)^{Lp1{`Pa9w_z4@PaHOrx?$8u^9u~YjZ zFk8XiIvVyK=#6CJYgsqY3yF(ag6vnMzga<%zbJ>8pFDbKKbWTLUR6@@r6Z=ANYUIL zMeQ3wk$wV3&ie@)chdK;;hd8i}(^AiOeQ{gZw-qXsICeYGY-zj(&Jy^$hii z?pZYll&iENG**VNPh$flQ>*`n-yk$*g%H>B7e|~R$8om1zohPmJg;m=#WpQJc&X|y z3$gQb^%=uy&DL6;&I;_ptfsCrWKc6DOS35$t!5Zzh#w#o%NsPW9ai@z=3vgH!VM>NGfhjNLt@iMRc-R?IB zrlCd#N$szz%DeZfFg13q_n0ryiyP)vlCe$(m&^=&v3kaqTH-|s&E1Yd;HF>tT`oI1 zc|U+k-=}Jisr)*0T)D5hr{@&YuU6N30d)_v$8u=f72Gdf*_OYEL|LQTFN!lS{oHZt ziYn{9TB^DFW9tE$eQmqanKpvi%G?Mf;O3xS0Uz-9xBWx!B3=%E$&gYexYaRt({yL^ z$!%kI=vpAwZ8PIJU3vNi zkEGIm4eeK41(R1okr_*T)PeChk-* zVXkoYa5~{3e}7{av7d*QqDg$NJM9E{d>U0gg~EluY{gSMpsQiFwC`+_tBwwX-Y34} zuBz>Jy~p<}J~qS?B(f37S|Uk8r?!%4qU5s09pLAEcC4D)?TlhZIpE}CRaNPh9;HYDF zu`4?~2X5ddwD?;#;T|^37A?i!G@c^=P57pROZcQ@fUYQwP>yYkTd@mALr!Z^8t8NRx#;pHOO!Dt<~lpu3&6nCzkS2$525iXB}p(uO## zM|&}j`&;@o*f}G&Oc$_s`i+7H+{sQmQZ4>}O})iCi3z3+sg0zIn)Hw$3L>?38KBj0 zWe4)vw92&ZyX>{qAqGBpr*<|!7wko!CiZ~i8|Fo)K{B41x&Xuyg~41WWx-#M``hRupN3FvtoZHx|BSMNryOa#%a5M}nuY>VPTE6mS}y zwa=EhjB%?|#GJ-Bso&1{!06}tFy1km@Ov3Q7+r;{nd=!Rl82btjAubI=6>d4=O|Vz zGj{J)dJhlZ;X`lXBHCy4W{v>)N*_YxI1~LL+*jbvuz{{6{bA79pMq90{$o#ZUcqc+ zecYn}nDU=(UjU|Tv!)9WO7h|JK&Oa?Z3LbOjQP3r$niY&Li#Z0Uf>8L89wjyk-30P z+|8jW4PfgVTAl8dx|P@o?Xx)XI9*&hOM8b-V-(ty2{hpag{C0VgS4 z$+^*2Dhxmk)+g~lRkh2qcn@kAOo;my9bMzVosPBIQO|L}Tg7K0sl-_SP*_IZ=kNo1 zLo@aY_zK)B3yR0Yzm)Fe!h|~v6~{unR-KHTCOyn~j7*@+jN1!`QR6n>f=sl14$q-Q z^y(fZZx-;!9K&5ix02*=Z0NysIkJsjSXB$F==vOI=o$TKoC_4e2-wVKA7V5+{KHOT zuJ2}ZS~#;!_Q)ubFLoGL&l&(7ycT+1sev$1L^jMGV|T<3u(z}4ZuSPhfE5lW!FJX_ zR}sRL{5Cqnbz+ss4Z0wjO%p*&1sGHho65VBb%;Hgn-OaTYLNYY&%ii%io;%TDSLG% z5jJT*7&b$P)rW;4?9a+vY9D)x>~6&ia6qy>Ya+>ILK*UTE>)H?LCbWmQ$ z2=uD{R2>moV!9xpv1954l((Q(yP{$7XyI8u$JLPLx^Gt=A?aYJPyV31TzQW6IArlg9anLa}9EXOd zs>P@z-sV3eBa!QPL6m3Sr#KcG!;Xi{pl8)r z$sK57MXWTRb^_vvn`poB6NP_($YOgzG0?O%aC~EGc|<2Sf^PH{A%_`(c3L=;@zp|= zjzRC_F_IM!mW>zHu;1dW1y|UpqGEmu_#?fAdlS?|Y~kdAUfx;oSJrjAW=PJ$n$?ma z(RSGm(I24|C=}-L$FQONOFX1-n3ux!NngSFfc(4V2_lD^y`AAL&=$LX_J81M(*^Nu z)gfuS$W?Kbbz2~j9l#*`2@*-+RIX68BTdF}7dUP~;3wQyUcaDjgl#v#> zNs^yJL0t~Zh5tf}Mc?CPsR|3woHz1>w3Ucn;!oAk1pnAw0C5Oc_1I)x z@ryfFx3lsI)kS-{`cUN!^_E)m&h?5xj3y~VHXpYq`Qzn`5$>Qz*|;tnlf$9!21?O-Axz6IBTh zocRxsnd(;FZBm-jg?qNbS$2RklKn!Gg0v>+gx}%T;0t^?WcFz0+OwrLWAJW}BCpfN z$aleIs>`y;!~sQ?#H(BK|y4^jkeZM6`U;FslM1A z0=X%3n>mCs+28f?Wl@qy!?`R+;R9`Kd<4HiaU|#mw@BjRQG|r@S+-t~4g876YOShh z15z8mRf4rmmX_+Bg+ya)ZFI&|-C0aZv|8TJ)P{DfLAXAh6NS(;!MV*x2WJ>*gCDF_#*AhWJ^PKez&P&!L4$`oT zE2jpUi#UDNLc@IIT)s%V3x1tWQKiCbqe!y%P_F-cF@|05TE%|=KC=$xM1h{1sr3&f z7b!EZM;?>B6f-v;5+Z^`SCHqW5@mf6Zh^7D!M@iO zA(;5C8=Kv=xf?X0K;7Lvq(1H`&7>4*G{vg>!@!xTog>CuLEp) z4w1Uir#tlIsU_=Lwv&OZmGwU<)`^phbjruDh1xsR7v6`Jf6=}>1xZ%Yy*K*sS1^RM zi`^IojLvOOWh552H?LqgZa-={&TvlHYsg@vhrZODWGKB4DCRPrI+cn&nOiqXc`3{* zG;~)65{sVD76=Q9qnl4?Zg$8fw3FMxGk)I zX)8JzqG`3eT1x~6i+(pc^NY7HHQnURObF1|a`uHbs6HZe?_IK7IMS&}I07xOTFG4s z{*QXO7^i)>tI!f ze1<1rz`af7cS^g4r=S!$C;C0As#DH({;5GnUT&#CHwMhLfVkQ2ANAV_M!P1(OEPuc zQ4yBL#YF6RQhTGcYiJ?*bk4QDNth2QPdYkrNs%9#XW$zb1GPY74y8K>(5E!DO$LrdUTMJ7*99aS2I&S5M7^KkX5T6` zF`jIQ`Q(ImdUF?~6g59YK1cRj^5ORZ8T#GuRF8wo*N~&b zGRX{f?uPfg7_bek-9?e+m(K1LicjYRca(}|rsOow7lcK2n6*4nK(_81=cUIjr8|=0 z5G6)IS2ntHFS2XVjKR-p-_p4~@0A;J!rS-D4yR-_kI{{mDJNSslGetdj zi$kU8IkIqLF&70bL01oI>TZ=T>%r=RauVB})gCE38c)f8MmCw!C3gbywU>q0Jl-qp zcuyVZBABymqnNuIGF)t^US9g&z85ubDuUXF(LI$I)hldnwUIT9Us!vwY8&A;cG>pz zq(gXS#2U(dlAZe*Ad4D&{vc`yb7B-#bp-pQEx)D*KTUZMEhM-zo3S;-vdThy8EIE$ z>^RYT;TAmk64l^dNFxJ2@}lYqAXenoJOf4;X!J+mU(^oVGJ4oH zJRyg!3BN(QP56>*{jYo9<9+goqVMm{;sW z87=tj?8)Jg#6Mt=+iuEN*0xh^B`I>+Fs7_kDr_97cq%qafvUB_eYDRtwfq<53FyZ> z`>l^~1WtO`5n?Eu?S`dnXRkV$SG?Nr&yZ&+T|c>jUVc)uQj%CXU+G4DSdEt@loi+h z7NfRq!VU_^VetebH`dLMdM6QQP{oL%sZ2X^6uRbZ^_xOkRDe({Lvye=lSnW<0Q0CR* zN-C+Yn9FGZtpcACavb=FwAke;Lq?51WQRSCruBljKbULA#{?_fS^-Rq8b8}65}t6N z*hD@^a!kEMwITP0MAD8^3tc4iK4ANSKJ?#IOZO|R9rdFDheOdq`S$oe+PD@@oC-`X zY9dhpX6kgxEc%q-QR-E?(IpLd!id>#U%L#}cV(g3&~N=q%v~s#JBABlA0edRN7(^| z{ls)|e@Y5@HW(NjM)|=SaajYnvzCwUtF}mJ9p7qKiKpnqXrYkG5o0ItU*JPvCJHMkT!J~T>RRmpn`?czynhDz4T7r^;(9r+MzT={?^^&TB ziQ|muyUFv3mHdz(JlVuSIiI1;g+lkVR`MEWx4o!dYQCdk*C-5Cum-(OdlyT_+*Bpz zXX5tD`jV7{)1r4lw&W$e56&G_6D-~R6?LOa*XC7K*2YsGseahB8oE|nZDwN*Vchjk z^Y-E#)ti&n6Jp0_7LQ0RLLX--H5BRF%|R6my=dK4`MCwo{*R-D)M|t} z8Jx7kj(V51KYj`A3X9~Q3w&d_JN7cRGRJzS5SIuW%u?d0Kq4t6<@0yYo5>4#%c|7m zC!Fg!xs->9F%F`BhPU}o2Ljn&9JTb_U}g7z_;0HBCLW<(IZs?l+$Q@5^ploKPFC(A zeG^Ht`zcceX>n7izP#z1_tOlB$Z@=N1}d{ zd=*QxSCTU%H)Bl{l@Qp>qAlV+cO;BEai({1api5+#+i8QCcW@3{;H*m=1I^S5L6aX zqurJzB%M(%iS?zdko0bjr#1^FI+g<^$o#H#*pGc53=&*#7hjl&-`d(pH4+vy5Gt+^ z|1t(=ttG{4zQl}?d*tlRv#ANf^NzW|YUE9e5CKX8v`qMP*=e2_jzBq+N1%IEwDMF4 zs=1kY0NRAfjK;Fx<9_>M+2@I$>{0A%)E&)z5U(a(qlOmNzT=A6eHc9HBzp(;OBsW` z9M8*~3qB=!MZE%#kbe4FfrlyI?JL0-KyXt(c$gHaE(g)%nH(l)Mczj|%z8vwCQgqsm#Gv}ZnJtP8-C@v5baiH!!m4bEcVxUu;2jGdgg;{O=M zNMgoJh63ImNoQPwvV8KG-t1`mO6DPOdA)`{DBq>nL6^%sAPk)#A>uyKQ6g>eW;#PK zu$4&P%{vvjl<^nmZy$Sx5*`?@@?)1+ZUMLI(&T2~sBR8>7-&-yalt^nVxUM39F;yu z|4g4Ho)~e0UMZOE{hKk9^T@uEaSGyC;sCG4)ADJ6wPhcBF)+=z1=~pbsS_1V2CP-5 z({TVx_Avqld=O9YzDd{du8mh!!Zh;>+TpG_GC6Hmn-?gdi5vgMuB1`SYYWA+27O-o zGGK~I60sKGO3mJF^l$-XylMjysWVADieCylM7?EI^t;0Hip#bBg0L$4{5Aa5HS&~u z-0zt6VgGS%;BIZgB4>!tZ2rL4sRh~>B2+a+@Lsr~b|rm2|0BA$hRM5%jm)ER_v7BB zWO4ckd&6`{JE>t)6ugIW!gj;>PM*7VnP7-;pZ}S!AnpY`czBYax|Lf=&dWW4 zac~Y}Pv|p9&Uoedi~X2sW4oOl%PduUbI)-ydGk4^kt@__Ph8=0#bA%BKfD5$7bXp?N#4qrA#tW10i zUKTD7odIs)$vo>>Z;-pTQdS2vM;VRenL&;xOfftnmyZuoucFqmm1;)LUhtY?Lt+gW zCD|XchjmgI=P6*3xgEAfRy_1h@dkd^>W`d(=QTbhy@TeOzgD!c7uEIUq=U(t;zTRf zDaGOth?ONC_N->D<-6FnvL?VCB75!R;vUvo)#bAFxGcrB3aI41>_z3{?NcPLYck_j zh#sQ91l9{K;10VPdHad?t7goMB{zK)dcrsg(K^w#r`VPJ#cnesNinQ>hHp1{Y>mrWzq7I#Z*NClZw zMWN)%*la-oMHcA5qf;-qi8)Pxr*#Z`mA+4~R*?zpq`#B_fEi;aX#=hoeGy%wFWgok zoK4S-dBu;S?+M>zQSSlK*n?a zNA{)|gcl2*3h3b&!0m1%_&?Sg>t?8g#o+bG{t|WqY)O)!qxQ6j&!-nQ3y$$TGfMe0 zIZt8&#&3ir07Nd1_ixp3A~f0hH2WX0k!K@~R=NOl#0t5ncB}A|)LdxC{~-pqzUIXV z3!`syhWL>I8Hg3v%B>h0g`ZeIW#_X^+`W?Va6Fn>JW=OY^HAuaMhZsxxeEDKgxe>r ziv~D$qK1GKa3jCPZ6`E7i?sg5o&eQy%Oz0_W?Ga;Z62&)3ica33$l3kwL7r8QB#cmll)rA z#NOG0k_qsSd~sqHX_m9Kpqhf)=*P_i7BYQIp1301hdKzKUhc0wMM%o|rk+GBNaib? zN%AdD(nRuO-yBg6HOV=cUqpMlQN+R0jSRD4m}K9S}E#qp+X$d)KWj}2=d711Z z;1&Kr;sl)W4G^Z&Yn_vMWQP03>qs->4`WIl5j=t&&^`cprSH^1V0iW&g_!jvX_xdC zYhSoV?8uV&t`tPUmYOKj#Y0XLguX6kGr%(HH7^r57=$G>($0(%DMB=tA}c*_d!n;%A8` zKPKEoDB^N_C-Lqhr<^IAEa;aN8hXy&3>?s{(Wo(6wOQ3(GNyQ^NXj}XbCeDzj*98x zjbU#E{}bqZZjQ&8E^%fdV+d%afME770MHJZ>@k^Y=epJswF0LVWih3#stt*t=!@)N z*eL-@T;g+#`$(|N8ARxuV^+P8H)O)U?no(mfl6+9TpE;@--s=5*t*VqxpHmH-nzHd z2ZL%gx6m@rg9-~yWPex^L%g+qBmWz<5Kn0LuCzkUZ{AZin&;ABT~m|($Am&h#B}H( zY(L0&!Z%)H}l4T$@nF$`>~5FEKRYvxw*G2!}!(d1BPFO^ccL( zir5pBr*b8`d%l*fq+E0e7k;4`Hq7FVQ$TUuErH~}E9@GsQ9^Pv%?Xsf>D%fWsmU=e znme?qLH>&0w0}I`N~Zw(9ngYb^dlR}xU(5oaiL9Lm_YgAdM&eT=X=vqW^&s9^jM~U z^jq}^Gc0Ja{2epb^NnO46LHW8teFQl40AG=f3Oc5e{j~8*I4QiWM`9c4SXrBNjLs& zi0)Gzg|Y*`$^NkSc)k&DVy|}?;+KPx4PTM{;1sN)(N`obcQcO(2|H1SG{Ne$a&0HC zHJYgWkLw?JOBROQ^86$s!jQui-bu)DqYDxQKE!4<=oKf*ewYL08+Urv^+~PMJhYQU zU!o(FTLqT_JEUE_KF_DZC!7X{_q-5TwlNF7!PaA)8r*f)%YKLKcZ};UJUZ4|QgEV+trOg4^E#lR+^}-$0{0iN`M^tFujh-u&=Q953sHo=0 zk2Vj~lEaLaUW~zaZyg@@uPdVdi-@+hmx?L&>wE<6w9gee{V@7yp0Yb1voE8&?IU(9 zUf<-6_YG5+0|`fb&*_(tsIGgIrzokmY)KJq+q&I+Cwg&(b? zjIV4sO}-ySG(MzU_PwCJLVfIdS78C>*`62gpy#Z&Ondwtk}>_Kkj=`)6Z~q{VCTn+U#bFh)kdL2v^KJTfVzn4;AH2Xs5EjXDn-8 z!luQqwbX*Y!;LdC6& zWeqoFy!gLNcH&=Qfx0pwh+jR;S!y_B8NDuqM(M#p?@*fPup^}OY zSyHPgr6SSM8hu3~PYi6lw<95;kfXOK2P3X^B7xK(u*m^Gt+M3XAyzW4B}_{s zf>`tFUX}VV&-3nOi(j9HeNglS-Ag~a2(G1Fb+$Sur-eV1}?2}GUG z3dTJ)dQ7o_XTv3ym2y52+)&BL#lrp7rSQHK1G)t=1>eHkvuj;fl754$N5P%Bs;-WX z{33-`x1}gXR>j#?>LdxkJ5;!f{wjD;Rm^{${JZu%cQ_c2BOy61A4xUrLwiX(T+FTQ zy?J4VUTtEbyN-`kmRPCNap~n@iVX$6m2%1RWT1AjP!Vi}eaM^ba+&xAcHc9Q6VYDN z_CB|uS)>sbq}P|joy7@88?2#>rhPun1bnKrBu}qlOI?EQU`qu=mtmp;sot|GyLsSM z8+zx_p4sXj`Mqs-;DtrajbiNF(wn9&`Rh?>+Sf^znn{YnAUWo@NaA84hI2^6jN0D( z+?FPcZBdbWDb`dP4xPd;ub7SbOlYdSJsuz%TXQ1GgR%f~GjI=WDZ$U#g^s2y8(Lny z2t{dD)m*GXt5%@#HEHa7*yU(9%sSj9?2^0yLOXtOqM6i2^bFiec}eCwPXQP-pFut9 z5Wc4IXH_eqRMAs|CvFA#=txpj?N6)|IVv{}??=f_ctotEG6TlQ4`?Tx9?-@~gadQR z`xssgRj3h0l-$0mm65=Ts?jr2Ywn}_86`VQu&)@L1b;#zqbC4I`oy^JbeQ^#xwy|z z`ilFoes0Aa?n>#E$`zbI#-D0OB(3^hZ5~{+Ly9>C>Ei408SK%3Wh7hhl2Z#cly#=J zwuB*PnqQR-N*_q}SNttmPXAW{wIkfSn4F946;*u zz~b$7-^~+C>vT-Xg}DHK){Vv5zrFWh(z!gz3UCr#!L% zIo8f4@$#qDjsFpgRtdh5-<3`tcljJG{~HxTZLMs}s-`v7m}8y-2QY{I`WbTx-VStT zGsU3|MOaV)>(>!}SDN{Eh%c(ml!v7IwW^9-@*9kL`!4EI++fT$T0Y@_e%Zhia)|?$ z(L?iS^}}Ap{!crG`+#4~yGEEq2q2FU*AUaonWQ8VW&1>O3wb#DCUqTks^3D|4I0^@ zoPLGAqWL!ZD&VN0V;2BCZYgdHaFNu5XV7Pr;R*NYshLisB6@Rl5M>r)qVGQHTL#J@ zpFW>)w@FcJg(Rti&}8@##{+W$PABqltDxRe6$eDTx`pu0mB zP{ATMBGsoPWh&oV7qJ`SgXRm55looR0-ut@_wks>0dBL3KUHsg+NyK)+w(e0fKT%M7FI_Bt)8bsTTl%v@jMt+`Nt2mz>%(7gyzds=)GS;3l55I%Ow*#|)~R@tt6^Y6C71j8~`OBWf~$0oc;KD&Q%W75`N81pN^B z7Mg}OyN1JZ)V+P5BF7>$SrjkLR?SK!VG{GhRi4IxYP0IQ{&ns}^#|Ruc%x>5wmR?t z$iRQQCPI%fwC$ffzNJ5jO8&Ar82F$tHzxDU%9whWsy8Yd%b#45+RJo0J^`pSSOXVp z&g(o~vmhS6qKzjL_l`3L%N@H`0LAhn?RU9f6`Gc7RWv25@kq{HRfBbD+cZVmWr49 zJt6+cqnwryr_>4cr*tP+Ts-t&e=hQR( zwql2YC(Z-0o8axbH`qIs2wjBDQ~O8{V0r563=TFNQ1`PpH#N=~N6`bCyU}cPJGj)Z z7rhJ-&aT*4SYr8!=Ajs}3!Q6h}k^Tbi(R-Hi;3l0<`g?e-HZ1BX{G5pMlOkDo zh%*H_h1r=AcxIyjE{Fa#IE!1M%T^0L2ijseP;v*_WqO-VKrf8bqSnLy`tW|Irj6QI zXC;z{2b+FEMV(WjD^NoFZ1GrVddqg&dGLGF#1a-Xyq=mq1In_jjN(Im#+QD@aFBk4 zvk87p*qA!OL-Vx|58T>&Tht30yOz+%Agz6N$!Jj8Y)rcf9;kmC6$*J<()>c9%LcP^ z2i!~CC6+Yy)<{+54I`;E9@Dz2Hl^lNT{+9W;Jo<{*FO2Usauc~9%&2}w|YnEpU7hz zOuBXIO#Ds#8YW4(+nUSPa*x#w&o#vx=A+Z!1 z?^ujqf#cB@lNk1s=NnnDgiRPK;jXF#eF3~S?~N`SK9&S%x$wuZ4x%1$@Gi$sBbAN@ z+z#nN?i#~&Yh+6eiMlM-1AVM^PvuTsn08E_TAM(Sk}?Svz9kI7SL4&YtMGA{#Bn`l zM2{g^h7{|6vS596-AI;FS8m={8LQ1T#pV7Xn1%z1FYtx>oUn52o%Wu0IVL7b9WP-c zv6Jw1eO;@o^nh+vb0cezc1feI;xf@uAC%jRZ?Zg1wBQ3x^TO<~YD2Ym8TwW?(D5C* z7+(w{`hh)@rL{VT&d1F8+G*_*E9AuB=BK&2`0R!QiKUphZb{f+^uDRVyAU<%8BYJ9 z`9!fQu!~XS&fnJ&Kpjp!&}L76Q5w_l@WFf6Fdn50ScDAs3z zi|u!5`S2w9(&lC00B&644Uj^vt^WaTDvq=c1OKG|vrL9c`{^KG=x|V!Aq9^1VCV$! zar?i-2Bcg*sR_n^b9OZB#n08eus*^yMMo@O@$u9m}uT{oH3q^$Nu97FhpmU#X{-!Ba(#B7&y zb(!)6+hN9!>LT8X1;1Sz*OSL_%-PzR#3PbI+C~dUhF@>mEk58kyS_p; z&(+raOS#w9XgH`D#PgpY!Lw4kdUb+1q}5%kg$Hx0+gFH9iGN#kQc?Jk##}k(=WiXY z+~7(vodYJ@e$(#&&DL8%{gLicr9IB8Dj1bJ5W?=}a8GI4YB4CUVNMGXVhj(*{m zyTAh1HscX6-mX-41$xO1>m8szMCt9~0U4!h+SdW6v#l+sGXsqHqsB2`7U!{Jjffen924_*)zYAyDnPXGg3ee zs%ftmXL|l_`XwuOVp&SpIrHGcz6qk^o#k(caT=s$~(iJI%y^it`(UBcL z70p5XmMyAiuhNDZV4(8^%M{I1TRX!P=m^DeNwZQ#3R@Jfvd?v&w@7sS;x$7Wy_cds6`bpwZ+3)E+9LW)_#OF9Ulr6$8o6*RbTW77Tru<}`E!>Q9v?lX zO$%oP$(z`4pI4hT9~tXxG!-DY?K$0I<}zFaVch|hW7E5|P+-|uY2bEAH> zwqp;1sl&Ew_jm=ljM9c&S~Ib~%QS%N9+q?<>7DZ=KbU^RWA$p?tMyQUyt*DT)yv4vs<)bZ<8cuD|5|~P7?r6PVo5-0)tY+Ep zTY{;@t8c!aeIG%k`G*ZQjdM14X#ChARJi+1(kIP=Dk1m=~RRVZ6ogps-+Rz`g zSDInMMa*)IwK|0J6?DwD5gY}NM5!e&Al!R^k_K0-k1t(C9A3~-kxV2tlB;*)2ax$x zUp!9GT6-EhQB}h3!{}N4&^Y=xYKCMuI@jy5Vlx`L_DS(2>x%gmWes&{4bfFD=BscE zd9SI8zmSd@o>%s=5WObzGjES>ROAtHI$`iSt+2%&tvOqi+rgMuMRIMktuL&&+`J9i zRbyyOb#_*aVYsw9WSrz2YS2fH6K*lD>BkA5>sGJ4%^6+3y5}eNPjzse zg8zXs4~!DNrGMgTB|}(w zD7kcYi>89##T&%gEqpEj%6>}d;<4#<@^R9m;X2hw#W9chnsUHz*=f47prk9Fu~hiV zJcd0+EC)t%0m(o1e8EszN7+QtK}Ay9UFllY=x|%b3*bMGCO`qkE)AtDSH9`kKrd4* zG+G&N)#<8>Y_s|etDct+%qK+%(=?Q{WQiCI2sSmEtk2tDZF?yH?n?qibXie{4(^e)WcBcQLEHxhb*L(mo3@TGNlS! zw>h^{hl_a*%RQiPJ=FJQV9bDIixsb*Q|fo{ zcMGne+k_I4S$tX?C<&sX(uva7g;VAB@;yo8loiSq!HD|4`na1XxDs^jUe9h&xL8ZL zTIEb6i_cX45G@rJs?JgnF<-s9AWOO#=uN~GZkoBlVXDXAF1J9<9q3yZg^41w>!z@~ zkPLVxcM(!5H1W3}dE_<1FGzO&0*M$QC61F%N7%swRYMWXEkfgk%XH)1NKTsMK@AEgJ?56K-av@k%c$ms0@Doo zi+Nm)57Vpr8}9_$)R9#k&hu_rkh@c8)9^n2kR+wfE2v7o$C&Jvt*+6Mn%Al+Xn>rM&v?N`& zl2ZFg<){j0Svcuxd#+8zH^7#^FWaPv5n-`<5Rq~NhC;s;^PSHjn*hH?m24>Yk#>rF zJpY)|Mlo5~!!A*}iCGnasuF2p);IMkd1$P=#!;E>{{+0DZg74N9|FfUB#Sr8B>ffC zH}W?5JJ~G7LY78etXy8MR%}si%95y})E8oIt6yja`=8QW1&duqLm!}{^)rQgz-QPk z@pPzA_Flq*<}zi{!_fJ%P4YB&c;;E4p=hMY>L9S!rJ*l` zE!v;5F{0mEHKR`=C$5wJ$)*uOnT7JVcxQ~A@(cFQ9|0n;YL{?uF}kU)oOjj=qV9sC zI*GJIc*bI1`%7GIT1H|^XBgcw9>~Y)mqkBOdh4A0x#|wW>XHFEVUH~bxCh%5NF%?r zWu0V?;AWG#mM@Yt_?ABD-=lLG0$G`v7u}<1HV*PHRZq}qTu7ST_)|*}=jU7(WDc*Z zd#NN|VB4{r{#m%ImDzuU>S%JvaFXt}-i)qLj5q83eO0Rsvs`EzHnB_p9^;p5H8>Vl z^;=kp1yCxfFqTB$QtXRWv+PpOVn*)PhzHm)VZQ?~9w1%n$ivU6;&ngZ^VIFY3ix>~ zTVO!OvPMx(An}~FMe`AyPfKMWH$~AAOVJEzoDYb;RMb1J#4UkY5*y;x^*Kc|PKgs;>bLVx(=L9@`6PBpLL=R0|jtfT!gn<_7B zEvoWVI5&ZL*Ocz{3zGU&0?U!`@#>q#XFe_(z3#VDACyJ7Yt*I#hI+a&`=tIpYhe5meK2=L$bY(4A?`U$H&MF7p03@d$_081l~fy%kNyDtZ0$(B zFB2%E>gIENv#GlAyg%_YZJqE_@LTOv=|oRQ;-CVw-$OJ3?&`z3QS5EP6zvl3ZhDqB zgujopnK&jqmUWk?5_xKCk(qoX2KgKph~y#fg4u```QllO+(CXjY(cZp!HQ*YzcV+F0!#IqDOR{bKcFNJ zj?y_~4uIpesj;_VA))Sf^524Q@+?OJu?G&fkz?2xg*zmvpT>O-S*+tI(;>jJsQ3j$ zHT}$30`_vpn5~GXDJ-1ed{;{8H_I$$(yUoZ5XQ?Z&rya`3+L?$^1?A zL+BwXJL&-D;mC95M_j!>V9FM%TyGdoNsrie>BXvY;flr}3Yjsv{yu$7#bc|9aWp@x z&WYWeA~Ub$L6I9w;ld7oz2UgzhFgDbprY1pgf0ef6nwS*Wudjjb=Uft|13){Z*|^b zbH3nu%4Fjov27%1SSPLX$Mj6aEVl$*r0Ss^N9(USDu}ea7vl65^HcGFa+B$V1j!3E z&XtW!USbf+S42kWGn90Hq0Uu@l-tK)H<7Kpa)XZeNWH8-NbD!Q)?FjYa`tF% z;#ZTJiPtzOViPeQd+IO1Q!v79Ben;dZ7;_1(e>Q7`cAW)+O2zSI!xND8)#ga(@K0c z6er1vq54S?W;|W{%s&&GM_hC}gn8hr?7PtW7|!j~J!srVP1l7tm`QwXp>=0YHj!rO zO^U}WOq~&YY^h<5e+o8Ecg^hrx}ErHza2H;-nDmo{L2pr)_5Khx8@Q zr&%{+zciA#FG4uh8$wTSt)*1b;ap*StH`ja)9(W2&|5oPnO+r_+hW;S1>0HzxoCQH z;}8DT*v<6|MHwL_bxD$!-t$c_x2IpB~X#~dc6hy&&5r99NuU9hX_L?RJ`#3`l9S%LohZV?}e3# z-b>wU;iF4q7Mc_&9DLniMFrlwbem9tOPY2v%C-x|SD-aikA`#l_ht3uk=tkhpE-V7V?$|N#5X_14q+xp9r81#)ndN&PVtHiN zrZP--jHhBGhR24m;G_EKx?|p_wLGoZMMn%JCfHf9o7j6Pv$MH zX-Y`zVbff~dpqtkzWckjdT~d&*EDj4Sq{~8d!(0U_eYYcSmiett*#LjT%P}#YLfx= zex?6R7}B+hH8fn;ZpTgak8TD9``!EMFGyt6F7c~ly|BV;EBeGGEY)`hr%P9<&W@+E-0 zXYJ33inP0}Vffp)BTdnGZP@vGf9#9DpCt^N=TT$K#A=)}bW5b3XNa# z&a}H5DQPEKU_)Wtjz*n+M%Yy=p#ANiY_<}AJY<0FLe&%~i{VH9#hcHT(VtZu=DlRS%ZwDY@!cZF%eut7yoRZMDxR#gklxf# zde&D8spPuAntQdSpewDEmBsC4eC~%apL321C>eEv^WsGjOQb>aAkS~gkLsA^dy1KC zwChh<3>P&YuKdS`feYkALV}~Buj@Y|{AOK|9!S5-4^@ngh!cNNwR^r)4$~->ek_QV zN;@-4XfoX7Qcjn*s?lnmVimiPx>R|wY%+6}dQ5r*_bgBq{zPIr1aVzI3{fsryZ^jZx_CXKYL!16Nq5(`?@NjxZ z*ZP)&IrSY*I{U)xR$Ts&G`{I3BdKaqLuko-YHgi0Rm=QkIv4hX|5X3VbB}BQ@nWH8 znrIQ$5}K`<_f5N?AhV}ZE-JO}I8ytpGO{(SghW}{I5#zkNv(Svc9JhK{`A}-U8ViC z;0oamo6dSxM^>7m-|hzjlx;inW_Hh`yP-hdZ)(q~MFdKlzZPR*Z*yQuxX}+-X3j zI(@FW@+?c;IFLMmvjn?Eo5edOdCQ0wJfron8^n`}Joq!D<;nJ8yUQ)^X+MHS3UR)l6`P$V&YWR8zLs-U9CxtYm+ONJ(=9IneEpIg+oi!d<4k zggAG(72VTvEN@7Mwd3GPl@_8~xR_i`Od&s~Gw`N@8LX}N^u(R~bZlwxD~Tr-6M%Cr<8xG@>!clO)jOp>1Ez|hJF3ggd1FUOKvbAA`F+^ zG5HT|L0bhkxVXgF${$izqHz_xtcvCj5j~?!t!7FG(|_fzkY}-n#TP0M^V0(rfK~j# zDls>xwx8Rpt7$~8iC=w5%k5pv4Sk-`l>F`2F{7x;nH-$khn*RNn&nbirQE1 z>hc}5s`HyMI)$myk6^rHA65NjQ+UI;)3}cX36+-wR*^YJE*44N#u;Tsxh&98`B4?+ zI!V*1DQp@>k%=hU`SdvPBV{Y&v$T}`gS}aHu;Mmvxgt1woA8oyU)%_3keV9sO7TeJ z@9F^@fP5O(RKHOB5EYb{>Q@Q|{R+^?dc-`fajuxo`KH;QJww0*d9i(x5s*v3A^8{R zyK4+E9KKuMPU3^dUMQnk1D7qtHf!rOn zxaO+4Xq9zE`Cl^|(^O}hI%OLudSer_lz!R3FWbqg(x+$H^W1dqv6Dp}+R*`K8H7J{ ztx`S5R@MC|YiwSPUatJvG*LF5oYmmVI857Obu9~Ik}dX`tGLCc*)b=CkYRFwO!`jy z#g(ms@S}AI3G8k|%PM|!hDsZ2%Gwl+4C=*ZJ?T87xuGYM&RJBqF~%%-ZQ37@DaG|$ zT_q}4VuN{@WNR@BXG!mtiN(+4?p3+;^NMJkIQ3u0(A?*(I7kA!!Hce$~&VdA~~j^dlry~00fJ@U5_Jo36KL+;_b4tTAa zFuo}L)qU&)l{0@07g7DA`0|gcPZWtnQ9xI!Me<$)Muy8zg92Zz>Nx~B z2Y_?nF5)NsCBjs#WmY47ywmK1$Tl*a7m92wJS4b*tWBLQ-iB<8_$oVzobnZ^W+6|U zb2Sh;fN-aU7}&~JwI}uOcr#ep`mmaVoX5JF!a)8yts!NjXdAIP;<)q;{@j|e6xUO(G00YAF2S^^Q`AJT&zKJvY~yV=O-e}-J~J>P^wK!p9^VSZZS6p3 z4PeG&@d@N(?LCS+G;`~2?kGk;Gqd_Q>s`aOf(q^%YevdYVTk!)M2=*=G0ZnyA=E8! zwg7>|boe3w7SERr(F`nuSUsBcRr!?-{e2+kJUb|{c6{P;*o*BEx&aB|YrINPxg^Me zggsN%KueVwRdc12RG#Ex%zf&qwC5FffHBN5xgDCRoYcfjFpj?>R0~c>qR-_i@q5PK1sS?i?k`2P4@c_khfVpVR$j(bsoG%U+;9{2z~ zrJBj1Tek4e@XE~(s9yvjrY)r#MRSZ5S&5QR!{E60vU=Ud5R!6;mg7ZLZy}~S?gSWmCbAUWG&6O0{(TK}R zsbnwGTs50L8aYW$sa}T;r3njfpoxqnX&X^3`)hP7dW$a$9EqiiZQX;gNAg*ANAbDp zGVw`pFTIg95sG3?t$GHnX3s5jg=g@*(tO}X!Nur!#6dhS;0P~XpM_a9 z(?yp6Z|+;>4B#&RO66w_B-~aY2WN@rrOpFSN!z0yK^^i{0Y_ks^0qq}(E}0owdg`{ zt?;?>qcn^WuR0?mDm~P#^8NXnfC|OeR6k9iDm0n%DXIaXs|p;3O*tj~8*-37f;_NZ@x>!aA30Z?W@H<$)}a@RuJ;U)Gr5HF-u zz>ujhnEqbA0Bfrlq*#PW^0q1GV!kOws-5VUsM)|^^mKq;!$Q}&H$sC@tHTg@KFZ?X zmIfFz=t7y)aH8BKH|sy-Hx(3*_Np4z92_md%$) z{OT{#M@n_p{pGH*)pdTk-{nWmwB()25ypj)%T)&bn}9^XS(ohIqWMMiI3z+B@ZoGb z^W)-5@@TVT+3XUl395XN)nzIbsx!`yX3zOT8no2@1> zYjivsw;Is}G6omNYag-}XIiunw={l(cA~%~^b@gFZ0B>6V9TOiFd|mjW~(OxG(#9o z_^v|Y^q_VU z{6+b(G8+k2T`dema@C8|Zy+Rq5vM^on$XY!q!qOF*@oPPrno#nli{g$Y;-p=hOU6< zFjTP%It5=W*a#1Vf2H$bdt^eK6P$jYdkFf zRgBY|H0Kt~0Ub><(|&;YhSjmRz&3qx$a`q4ZmQ1)Xesg1)d^PN+w7hrrC4kAqZVV) zjgooIQ%Eg2BO6y%GX5ubiA;$aVuk7Tfs-xASwB5anWyqQ9kY#yL^sF9Fk9JJJ-qQ( z1yTI1;b`@?Y-PQIIyh;Ab!e?9^0-CK9uYXw^pbboo;A7&hSr?74vb$(V zcT_ni>uzUZ)w1N`b`Q$P=)RU6^m)NAn#QqMK9u?@9?w;0*&=GQrYbaZ&rGIl}m>IQqB)u+6!OZdxmo7q;Xvp;CKt&E)gQTGmb zP&mA;fU!99M9VtX>!h5f^W6NX+YQV4H-jbCJdwpG$NW=T<9f@uNs-|&UcXdbJcq7* z0j3m~THJX{GIN?X31o@S8s3TuqX_F=Npf(GWs{8Vlip9`E^_^5P^w-zr-k>SMPC~uBT||4m#~-XpGHN zA`foPU)XR`CC@O{uU6+L7FlNja7j<@%9h9F?nREegsOd{PQ@IGs%jL&P|KniN{+I-8IGw8!AQ>6Fs05f92s9rLXBOXA^Qrs_29Q|@QDQYw$&;8BU~Fg-{}ROU zcqHS%d%8Rl-lB@S8ENa#T3D46hZc#V3a_CFl;vg1(4d0fH7C%Zq-~5)G%9oo??qBl^GNp(O@@Z1i1wkZZMOA1`FK0YuRo)%`Rz`AyN!-Pq9<*70 zTU6ra3osRaZ2;+58OM06GQIMjrlRHyxq)9nS@DtQgbb#ep?B$LU?1y5a(spY5FGq%3KNCUu2GN;J=qP2lX>Z ziq~$ns#0KS^YFZjyzx4uIDr3JB`s45k8@sBT@d$GUZirR=A13eOt~d~GLNrZ6*OM_ z6d3NNQ9|I-Mn$$<9;%&P;HQXH29}&vCbADyXjF-n!^tdlcFv^QK7bdunrow(ANW-C z9Q@%{uQ&j!8yqw0;VAq|ZU-z@gcT8RH|u#B4DYGPsNMoU$?m3yA#>uY*#8h};9=2t zWSiSOg*`f>eq7pQ!zg@cHciix^9vev8(ER1XS83+H&mr+qqALTBMEDq6MHoNC~&Q? z3=ei&C7+9Ft>G!78!T96W=s8e*{Qs*b!z6O5~lfjd1U2OQ(V?=>SV*J*n6xD{nWr- z!6B`{ZHwFw-&MCL3Fv4?4`g_@rO9$~H#eVSrWa>6=9Imvu(#gI(o<3`jM#O|mBtr= zpdd$|@3vQVgVqS!H>Q#_vgm? zJFBjVQ0M*N9tFw#y5@UX05XmGr1H3=srDARyw<>aPJ2rl&vRlnW$1KPbRGqTn&0YcC2K$#|9AOE@H(ZtCIbp6`cAtEHK%2;Ho*Ty&Eg+| zjeafC$;ccRjj9aUqYcUZrp;FUDXP;B;zyN@AzH{EtNMt^MRckRpPPDzX~Y8}-|)_3 z7yV3<3QXeCq`ZKQC)7DZ>xxuG1!pWNyalC*c@UXfnQUBE_==KlC{2|y+V$fj*YL(` z&-)?b!vx{7SV_hG@XuLz%V*`ad`Yt(&$T3_aca%)3SaA;!ZvcLWn*eY?I}}ZB*2vz zM1D2md|iUe2IWY?7N5nf&pV{p%I6pT<-8S&$`Y$ri5sd~3&u*%QvN2_Dq-} z2@Aa!17*_vj{Bk0s&@Dt%|c0&O=0BF9a-ntBN=}y?{crPZ|5x*oaUWPB8&eBAB8QI zlckQ{-RcpF4UWITLx2S`lE<)3l7lpF?s8@~Ba(ltaxA+<_%inwuTL^H@uSF7Mh=ro zA1h9K_bBhF6;A$|J75VIQTbcELA-*@l+IwZ(e}%LiqT9L`PJNX&VFTVB3&?7wLi>O z(g%>djf%(M45up1ROpMwwY*ThOSGoy4OvzPG{BAakG*q9h(0i?}Mzg*poV2e!7faaz$BOwIMS>^`1H>b|bKXu_tI9 z*vakmD1{G;?%UI`Ns2D{b>Vc<9_~5OmC7uNk7QoW!;)DtDNUELRY7GY#+ImHu3wNI zI3UdR;6X{!Q}%n1o2t1o16NGOIj#I=8iyPtT*D|Sju&5GXJ(9*P2!Pa9x3#~x}aRO zz2vorT=P-U?l2NQ4rruVEE`rho5^YB$ZMwYe(<&wfkL|AS2|DpTU;2UksXwt3bI$O zRn&SQzzKDjLpF2+^p)7wx(gq%3YbsC(rPO2OHQ>esBd@gVtGG&^YOc+%XBv&SQhm7226EIV;Q-x_K&Iro zcD_fwavG81I7Kr6`^UQooXMX;%g`8#eaiSCwTztW4kcHuOX`EYsm>98h&SVkUoo1& z-Rl~Lb&JQ^qQnrzMlMTfODd)&siG>LklNJMHAIdUz-hrrzWtoqi14@25bij?3|Jye zb!DLwrB`iV_vZ&J;>1ap)hwWR%WbJ0rMncC+Rp5w%FnFjiA&TX?$z*a%|xNEpC5Q$ zveDHH?@(y$($R$gm+dA38289?B+=}!l3mg_+>Y!q@_B+Gi4&A8ktsY{T`KkW8>6Af zf4VM&tg7#JUC7G*EHfv5pI}r?pm2roXz^olml)4Vk=98Q6Z-n;vFTx-lxLM=eZK;; z)H7Unf_hDw-Cg(^1TrJJ9&(rJ8a`ikW&Laj;6?{mKN) z$Mp*ki~h3bK{L?Fwr($WY{$65^bdK3dIs4 z%k_i$I9_9K0e503Rg2%wdrc$hjG;_o4Ccj z?nKolii77|(H>SDqa-4n(rsmfkvkQ+d8ued^{>XoH%RZ=6cA$75^^Fqr@E0e8hk*Rm#c*u={r&yU?1k|XcRurO$_Qp>I5ge%F#-R z!s#KFtDxBI#nXX`nj-bs+UimVU>fsA&JxXFPEGQA&12rr=waYl;l`jM=%S>_D+hid zZ*U%i&Q|TRosFeyo>hw!xjfsF9A&3qX!ax30pX|Q6!mTK%cv!qp|Sx%)4&`>h*tu% zScN(JArpX?wp>&IrB*GGK9-y+?vV3j_Svb5vvNVwL6yDYKvcXMR=EZK1U{?RdL@IH zCdIiBb^~A7u0giJK;>ug33XD@M`;5vJZqcW4cM5JqgbUWi+rgH1}6ueS6>I8dR1w3 z&`D=CR0FTGeT3K|XeC252&pSFN`@iFvY65f$kC)3aw)Pg@|bcqvMX?@>NRr5D*-rw zPIhhpccXE3;v9zM97bWvZ9J4cEY=YZ;$9EU!`%eueD~pA;@58X z@mRUD!(LpX!seXEw`z_RPe9x`W3mq*t9ULc;mBV>R!j%#FTz7dq7=yk-yXD2UgP#0 z{j7ZJ@Bt$OO*Zb>WoTMa4R}~okv#`8i(e*hfTu};7;hMqPYKxz-&UOQH6q!nWp1C4 zi-5&(HYx*UHd1UF99eh-*rZTrwQ9C2(c}bBqmo76fJUnYAsVOyAbh!SfM%onaQG_t z)-efL3ESJOM>R-bVZ7=YSe7*v@CC0XUD3Ee-qCu^eFzVU1M8rVz7bFXta2X=k3+^f z3gLf9yUhdS4?4Kuem{9=lX+V86`z*00Izq7%8M!vlyG{%K}04ySpnyL!UdE zVHiDYI~?gmSLa-B`IEaiEu&dmcrjkwG=VfHBDz6W*%$D@dV`|y+*RkuXmO4=1Kh{9 zt;Vln;j9^k&5CE)ryGA3??^3ZcvA+&q4n#kYQiCFEJYl^v#hB-;Ms1T!^w5#8RrWJ z+YK-jNT1BwqEA&V%bslgUU4d=&gxY&JN8PQJ5?L@()^q;J79vz#D3(dHv04L_q$}j z5r4C*(A`n^&W_ZL0AjLKmI;*e$uG?yy)V|^w2s*jrZKMO%=bTGF!Aqu*6M}g6z6q1 zj%>f(a&3nyd-giwyJltPO=C6lY;vJ-JjXs}twF;x_P>G4g~R<9>Gp|tcvfm3%FNE^ zw9}MSyVnE+#LpQ|j0az5#_Qhkk0l+|eGsW9=Y?L;o0yMXB-6!oR3KdY0pS0C$;) zeFLZ2S77_0-Z_2!j)d*hA6kM}Ye@dy*h?_LGa0i$b}loq z0C=js7MlV8m~#{JLN=%WLP2;*Vh2_L--<5A=E6@y{V^W=!`}%ThxmCGp(hd0#SLvo zF4%XY^Uzr~|DlJ`q5%W`{rmqHpCR)f(7y%`u^%vC;Q!qHul0XD4;(aj$bUnJ4IeRb z)aWr|$Bmybanj@|Q>RUzF>}`JIX1R-_709t&MvNQ?jD|A-afv5{sDnO!6Bhx;SrHh z(J`@c@d=4Z$tkI6=^2?>**Up+`2~eV#U-Vrvhs?`s_Ggtg-WB>GMFqjhs)y&gd(v- zDw8XeDm9=1As9h1oY3m@2BWFpd)!*z(Ad=6(%RPE(b?7A(>r(G`~?daE$&;gblLJ1 zD_5;vvv%G34I4LY-m-Pu_8mKS?cTF@-~Iy!4;?;o^w{weCr_O|bN1Z%3l}e4zH;^2 z^&2;D-M(}8-u(v;A3c8Z^x5+lFJHZW^Y-2Q4a!-++Mw2MroL zcu2nnLx&9;K72&K4x>ho9@8(yxbfpB^s6yxa=#u^r}Zl`V`jf5{i5`%(l1NDF8#v% zKla`;uFWe;{Lk#nW|EzjnaNCMl1zG>#Bm(=-VHY0rWezDM^qu9-jRg5git{R^#Vdd zh>qyJ7!0;?w{h>?j?4W&c6RgI|L*4#W9QAj@Qd&J?>*0b1m`^Gp8G5^&qMQLZ2m`Z zp2r3Xji3LXy+OgD;So{MvGIw?sp*+HdHF>p2owfSq?9vQ9Gz)(I^XS}C+tXsu_@L94xR5nAu%E6|FsUB7+pfzIXrrg9i_xwLg0N_{o!}uh$QB>sJ8vE}th#|M;64zk+jmKhm6GuV_LSsT*t?IF!`MIyr6DEMXkeRtnGkQeHd!7{k|bcpZoT{w}@V z53l#b>;3S*|GvC_FJ8YF|NFi0^m(H4i@&Ay%|B=KA!_1vHFZ`4O(K&>*r$FeK(}rMsDT{RzVWwo-udTDUW6l7AO55z zsAk9#Q`cXY=IE)=6I#G<22YHKJnas_3MFJ~P8r2zeZIrzlg(tE+q zTXx}(*6rp^*#cC<_2JgR#zb3ROSZGcQQBdz#rIhu2fdy=q12G3#VYbawt_bIOZm~k z!}n>8cie5`uDlDi9=KzUot)`LFU6=U&@}9hwzM~8yBzjXx3w1EZ!}Sc)dteIR7=_~ zs39F-s;CElDL}s#dKQp_c6aP;lSl5w`t8^gO6UkWfl4jRZow=4FJbw|#nhArq*?Hd_${hLI?{a%{p zwrG1@V@|8F9?_+(CG@E*q(P~PI3hF>$Jlz(M7fT#|CjQk!%kmd*co%TZfo|HrVYsX zp0(6t)2lgMz25rzmRP6JncJqRN4nK@gkHIoG$6K+hIl5@NQIF+Ml(>xe<{GYW(Cmh z@CByr(f8~dGq1I;fnOL|iJP2S$#3fMHJF;?8#PW?o6271uC@_-B(_eK`2}o1-4M)~4O;U7mm9;F7Yw$<;zzcYsmTl;l!43)fu2iEGxO6ZlMfPE!3f33NWo&0d(7Zfo*-n!}jHg=f}Uxm^}Ffws~T0rM^4JSlyE9 zlsF4p#SU~wrJd*&)RVh7HgZoz9l5u>meNP5rS|_)fO+K#VA|*n8dn707+4&2==i6p z-6y^vSjRVs6+L14sSViU8G)IxWX+h`4x zc8Y`AL2}SKe<`5u`xT)1o2?hdKiWEa?t>uLwNG=j$CnT*r#yL_k$rMzUzV29U2LLv zqO8;otc}!$t0%S*?D$rq1KUDsz_d`DzZ76!yy9m6hb#A=es@FL?GM5X*B0f7Pp!tX z4*4)?lQBZdXqJ>TRHVcYl-6MS%Cx9nw63fdqet}M45i%!BfOhv`lbBP@!{9A$Nu=a z`^LLlEl)lQm)-a-lYMpzf^s~7h(8p^z#horAos%r@QI?z;&HgRa10?S7%P+JkD{fp z5v(k41SkKc9G?2!KYFkJ@f+Kdzi(H7FG9I@R;N%e?}A~^h9JsLC16XArIQMd_Ef-^H`5fvG;NLKm`ij_8lVgFJ<&HBYav1=QU?+yJyxi{r{O*ws1&o14cEyN;&Y7sEhz`^el?U~B)y%8%+(8Nb-K-7>`9bZU zd_x;hbk?wkbVMI2n9|0nhHEmced?lyZWX$@Q%UYC@~Fly`G(%F=$tWtc+?ckn=A4Lk{X!mTe3Nb(d<)N+{fNh`d$|WJ z5!IunMB{)dyS~>{(&#o}+S&}H?j{Xo$f2T5SY#D5H6p>BgeyBLVpSh{ReDz8odk7TYd1yZT_4YTc~W@7ONk!rPuY_3mrXnR8zYR*VSkt4AnyUzg9(`k;%Ao z!YbKOuAutxtMZeB$|v}d&MWbj*(?7-ofqze!-qBN43tbZMrlTyQq05c`L$imWsNR7 z&Rq-Ty*dMVT&|%W5GYxPScyI>dXyRau+yP1bu z11hIG!xfW#Nt!-4%-Yg~aM>USqm?|MG?2zBwd5(5s{9~T$vaF{$qv0LK(lr+PRq zNw1+EAgWoj1hwdu0ovyd+ks|R&=ZqK{GIw8xtE)^m(6$Wpqv=pRWUsgRN2*=pm((9 zILyw{RxRY9s3rA_&7@%tRF9!S^#_86IgQgmx2V4&KRIYU1D{%U#NBP!ntioxOX>N6 zZTOS3yQo8Bfs&@~c$1|i$EkIewkaV8>9hPF+7m3O20?}D4+K490;^+BzA8YwW-(Cj z+z#|R_k!B3G51}YGH!HlEIc>46)}ByE4^bRP+sRwuxOie8}-diEI8)JjV2DcLPO(Q{CkH@-FD4c^BTs?0!{%am8X_Ubh)EeeZc~@Efn$6JG}PT=^!u{={;E z3d;X0hocnSo(w&!v&dS}hN@?@;2UVo#71%xsfp;KG~*koEm&uHE5^xadsTpW*sj<$6_Rm!7NpIZ?TTjU1lP>F&2C$t`^%t zu%X+D^<`~jJF=DPK(x|c8DL$y_-X5x%g#)_|J~4q54Jbn|2#^2Woe%1)Fv$R&>jYL zDvnPY%dWx?7gb{hOI2k9Wi^O?=+@9athS^VuPg2$>Wg|vhQe-&@l^p0UwnCG`0t;O zo&D>Q=6fIP(*Lk%pZMD9Z01>LZu{|IBJOY^9W|59E}hEf7f%)o3nxk|^T&~5*chrR zZww>J9mPp=MhUX)5z;Gjx9e~J+<)Tt|7g4Y*X1Vg(Qe7(C6TOKo6<;^d<)QLBan!b zNw}ipnIzbeJZjEdVR_c!5_;yLQbxu>Br|;$RgpG}VWrOCSSd4j_Ny{A^&f9{Uiibm ztl)1e<=}Hq4pwFqK{cH{*bskoha;6ZSbh-qcc&ZeW zcnX0{I8}y?KZ(Z0oy6i_6`)-IDUj`210;byKpqr%UlEdVRT*A-MiEV&lcfo#s$i;7 zQJJ}4Kyvi*8I9d+c8ip$dO!Rh+Yj<*zmt1?Ky_f`ePvMkRaIE&yef)vq&itJCCyciic3xXLcG0KSl-yh zWwmrNIqmHHl814aes(efVGYra*wq6OLu}e&E z>EJOtTPxVTO*H;sBe80<0jHXsvu9%}tluj}^| zpECv%j~k*mGrC0CL`}ACNLfBnA{|L5TA4QhPCf6)7;+%WqUUa;=L zovaI~I9wYop0cK@#>_C|pb25?(c@hmDw5kNE$^=tvPTVE;e?u1JtZkuPm8G92_aQC z{;~ko+Rs3>$6BE9@dg_2upbQG$u}*&1s84p*i()`#+)Ncc)*cVJ>kgJjyOuqJrH}P+c9P4`jlV2EIVioofYvMQk;yChR;_pbCA%N` zbmN}#qfOzw*_H&!bbF3+sHxc8VM8`LjMz?-n$)kB(?_Hd&IHtlJjD^J4^(iplT40o z;$`{&Ip}tWJ~Ho4x^44U*uqN0t(G)|bo~8*kljQ>K#LEKI(6dlL&qC$p1@yZ@A6q;V@7Q}zei;1_#+v1cYiNQV!k&<01cBrV-AV{Hq(p{4=V zE~&%!@Swb#0p;8zJ#PZ1lTG4kv=ca$Zv18W$)Uz`H!$r8epvg_lNs z5hv%uP!lt;74FdtsiUXBpl?Mus-4)@%6ek=vv2=YGi?}etQbQXMB`-!^;nrv_tJox z|BQon=PqE`76cl$#5`=@ntE+;XU>^f|Gb%F0r=kONUn1zRblMPH!C5BszzLk0Ls0Y zb(CI;l{SDgGlx(n-Z0WE8%CHFFAbEJZso0v`#l=o6P$o6tKzMj#Av9Y_$Y=R!7P4v<{cc|I223Xf`2TiNIZuGD8KXG`? z-m$Z5(mLihmRS#aF_mKxRh9i|8eUg{nblrqV?L`0K(zppi`-0b(ps?%^mde^q66vR zb|M}8mj>uodCAd z&`|C!vrsy)b%Zv&9oI^7K$EhaWzDokL=(dWcd?t`E>82y0`$v21D2J`LG!n3E{!f) zGj(dw_O9zoqHI@J=BiF@#tIMmGb<)zMdc$|a>_uFn%IlfVSCU2?+EdKUZ-)Bo^kAL`G&(+U&+aG=#qrS2xPk4FOGKf(Z4d7}D`w1H8#!fA)m#WL{rR#Hh7%vU5EdJz& z_K!b1diXCN^j&^`Wy24j`_w#K8Y{fEDTjX68$mn~M!?J^mm_DhStZl?+`_41LH;B{ zm^V>YnKO ztD+ej@r7-q^Wt|ECB zy1;sd%uaj-E)M+R_rr6)`;+VbU%t?Tf2|jTZ@rmMH-r=Kc_*N5gk}_9iOtKsm{gQ` zJ_DY1HW!gHUr?5GrWloY8jemljljf16^Xc0Xe?BXz{Q><;A2h@Uz(B0w}0Jo`gead zfOi*3z^7{~z;aI#*tQq-I3S|vL3muwotWgbTZw5&H_|f`u4QM(U4`YuTrJ3pzEYgG z?+P3ibs3Q#bs3o-c?nezaS8j3!j}ce*1ZoTyS@XJf!l#3c+XQ=XzX2CRQ45V9CE%Y zje1m+&zs?w$tE}?%?OKW9;9<@eN;h14@vCm#!H*Ku+=SHXmzW*OxNZ{nA>tG82ilFFw%FxWK%Ba$_ig@xdStfT@TqvCsqBSEtvUz}AQQyntHg;2m&0WN* z)=sRvqXVt(Y)2a0ZHT(A286B4hP1g~1|VPiK9E9js0w)24G;iSd-vT}2WMQX35TCk z#}JPzQrQP(d6NBNM9qkhU>@L=*Y~p6josz^mQIqmy&Wfax1npgTgyzn4M=ORwXC+s zR94sZGJxu54jxN^#D5!5`1=EOz`pyM!1U|d(BkvjD8h-F#EL`8Eb)}AST$OOF%AkT zwq9OEV;7U#+CdR@w&7(xEf`Io3uPX#LWOQU%G#?z*Y>;&KRHPKo^=EG1C4*w1Kpmq z8;0Pb3x;sqNqsDHPLnR0R^=r$lDX_IYFT+m`GT*I0<>LpmzL5_N0jW1lfrS^%q1e;ree@&76v2!xS3Xe#*A6Ri zmcA-VLnoiv)>OgovX@u&)lyW0CX#VTg)FfN59Q<65u8I}YERYfXFL7urLy zr@CS(v+iuxpetYAUJEzb_2>qpiqNW((YhpJcE3O*8sZ2PBTSxQl+HE{(OH)Mm*FP| z#jY(t>*)i`o}rIzyAtj-dS~5egQ{iSp=Boq6L9-`GAnvpVDct=vC(QSbJS>Ytx^@G zOCYc4V@U;r^eXu8 z-sKNFI}}!YbUYb3+MiL;(UB{&Hx?Q6HiW&}jA;?-NN!dQqnD=Q4UiO)A)G=#jF*@O z31V~q%K()B>7er13=BKGK;8CW(6}S!e#fqqD+B&nXQm=@W~UR71H);|=I$J+rL91( zYJ}H|>(R|@E1`pCD(@i}IQ?jS)gV%@9V%0s2hr7*{+Hn=2lb9kz_e{Qux|-`(y}e` zc8^E=g^7Tq6GtP{CJx0T+!LvE`(Tzt*A3H2+e+%VO=YffCm!m9r@GNLR!?cIsISDT z>Myof`r$fj-^&1$tKJ9I+m`~(wvE8D*%LT72Hfx55_)CCBl6VTo~Q#S0<-()qR>s# zi4602hFH;`uMxW8R#q#ff$AbQ;~S{$C_A$gQP1xxu}Qm&Y`X3OoAspts+G?iz6biv z8-Q)Y&L=JFd~Wn_+;e8eGhpV_uDHR|zWFW3g7B7^eQd>Os#Meu)3Dv8W_la8p43cq z;#|}wR3oDm(ZFegH&nKlG^pB(9NLbT0jMDd<(8$uw0)Bl;mZJe=#dH);IGQG7L2;mWBTVE@Of3$25>W2nfNZ8W!kbu4#V&qxp-Tdx zd?`T9iuXayh9#hO)vBj0%QsvdUbb=W*ov*g=hua{UD=#rJ?nu`90{NbrlWZkqv=xG zV1bI%i_qb^(I%7|nwi!?u7kJJY(;GhdqFG50c#aDRYS<87nL9{Q${16UJjQw{K+`FxWKd>0^ixFM$e=I(U-<)D1zxtP+T)5&Pqi7b51F&HWHXb~m-NGUCK zuB<%eFq)ox2**e~L}Vt+k}Kk8%UN+VjF;kR^WXn)VCr{oc3=DB-|HX$bFmtHxmf^K z_?1827Ky*-pNPBx-4uBxE-(9Ha$)-U%#zfzd5GlsLS*8Z5>&z&1Umk787A%&1`~S< zhmAQ_PZD+FI}q=R){c;Fd?d>j;2a6d9W z>rQNP>aFDT#2Xoz@z-*)W3T4tL|-k+-FKxVFX{>c7J0cWKjJbv|5^PZ{1Txs>>}x< z=pB3OR}IJB`ke;+<^4+V@nQy8x&{w6Z$|(h?|cxnHv>e3COwIXh4>wu0@4XKiZ#b1i)N?{*?uBNHGvcA#?TVuNLjUc7@@Kb z!L@aR#YWpeQEmM|p~K!^*kbQ0Ze1|19e#|}>p1)$j069_-ixrHAK#1koU5WV#94km z=>(^YHCI6r&Cuww{Unb1*?TdHu7chRxn&5UsvUgxUX+;Xq4&Z*P}pGaEo!lM7B8IV z`#}V~o5HWc8+2^4$x0%dT_ePu+(bwy0^1$i>=lq8pNLObtW`!ppZW+L`nB^$u*-)rg4bMuj?mNIeIWk zS2xno+*MlN+Fa^rt4BCm&B%sUeVMamp@1qV4$mB_eAj?#-yKj_L;%q2+4oQzoO)9m zQE*8Ui$0@Hr5>w>aSv9NR!s@m!OAy0MC;c9g!g1!-%yBkdjLGJCrY zR*$xHSWxwyS_l=!(O!*dXk94J9jbON0ut}lKv5E312 z3*{#V+3wZQm-uZ!57i*d-eFJb{NnG~12eBRgcqK5#iEWiW)dgr3OIebQaKc4yJ(CnQ(Vbv{tm+BiIbAQ2yVrW6%B8-Qibz z{A1=vBjOK_#b*!orDEFJvnp)Pe2KQML@P6)tb84zfvGNUrYJe>`0A=obhWyxth%lX zU1f7)MfQ$`0%Xsg1>~UIz5*DwZUVL~p1`%;|Bl-;_|i~7*y)+5@TvW=S-nHa=*F&0 zrl~crO5rThh-^qpg#~A)7^yC-p4E!fi8|m~WoMDj+6hRTDN%L==bnHH?_zA=+W@7(V3Xcj)ozRJ1>rVcpN|G zzkBLra75pc=yVrU4>FFWmdggSgxubI1%u1D#vRYE?NhTdnrAmd1vK0u+#g za>EzUgp4J?xnlY4o)s(499Xw(`qZYa{TFrwHJ|lLvYhrWP@D+C@(;(*%cs)##4(rz zJp@;jLMIZ6dWm{iH_e#a#WH8R1(wWCsWqchYfbO0T`)ko?A_;`I(5swe$@8ew-?5i zd_8k=*|LF)>pYsTYzenq^h~Qh?_10}8H_7G99vE}kj_O-=8H;4;nJdEbTw>{pvoPf z)@1cDv>Ck|U3#xbpW0JxNa@io7@+$8U10eBW8hr;*^T}$K0S2o^G^mZez&^i)@pCd z%}r6&H+E+5F8CGGPK9FeM-r%I2Qw?4^&k}NheQ1bsLJdyoFsFUEKMINm!}R_RHqE_ z6iGv3W#VA9YN3Fd@7@Kq-@N~z^ON_F&;H}DLl-{#vgOXV8!Qi2`B&fH6wSN2D}#1% zZz1+fWEt{AGNI^b76o=VpPn;YQjs}R#!jEca#N>>yyX2zz**Tb_Qqr5daX;Qg>Qns&=46?-K#4{;&3xL`iH zEca9vCi4UgpMJcUlyVe7PC5cz!!n1b#m|w-;|^2lF^3q8=z|>QzF9%VLIJjqes{J1 zk8h0~`Q2NsxBvFO1$?@+8Z6n$18e=MPdp;9_x2=|-i%DozZ#d5c{w>h?LsDWFL53` z@oW(ye!dhLcc!c?<_rcEeHxG6cZ!6GIz_`qo@C-8PO|X}<#ziYelt4p_OIH{{{HtC z@ZLw&;EV5h;QP%~u-O|6yn{*~heW|1M8##?iAzqtm6DclBQqoRdTv(qwSt^|S4(oC z`a@pC6%;J|G6oiQ8J{0|iBu4BiB=eVkx{fzM*H7-qy4~Jzqa1}T5eDJS-(ZJ%bF<{+_65z2R2l#GJ0fD>X zK)Cll5aSmC5(7d(>fT_G85jg|g7yMf@E%YQ5&()r`~f`FA0R^go|c9AKE;IlJi#v* zQ1RU#0dvd00NrmX;0134f^aV&j1GCiPmI6I&CI%9QBZQR9EF`HlPD)~jEbWuE^iJ| zDLPaltC}fPN)O~~<pB}&e35~~&Qpoh69jt2Q4EK77%8fpg-azf zMN0W}fmSgEGphFI)~Y9S8fqr9TQrl|-J0RtUQKV_!T>DjyF!WWGr=kyoc3 z&u!F==d|mGbG!9Dux@>O{=xw4=MEnMjt|tQwPyoV2iXOrVL?wN`(p2l6EbcH(~B-~ z^D*-*6y-!YiFJg?5FEtvBnQgG)l=|l)nt)IGhSfQjlt>-V|mTSk-RQrPkxuNt-x(^ z6)ueD4(u%-0UqQa_FoU3% z^*|or0Th9Ifg)_*!|LeNTe8Ib%i@f(vw}j>NjAFT2%RFBB~?hLutMboQl=d%sWFTc zn$5%cPHTUDhqa@qy|%Hqz1CLJUTc9bjGr8Y-b;YgXB~7ZVkc1Tf$AV3Q9r06Q*JBc z@~+5J5$D8t#FKmk^9YN;pQX~JQ+S?g0wvK6m#R$z#b#?yVMASKVVliW+-9@ETWzM& zR+}Etwjcl(iUSvlgUD+Mka?{I%4anQs2@ZV6!AzKo^(eOlXFd#1iw(7g*z=SEc>^;yHM4Zc7(33xumY%RnlUwgSXgCh!(pR*I^$A61H5r)WibCoEF`6^NB}sbeOmzo|Z)n0vtPLo& z&4x5PtO#d=0omN3DQj*}qMIFZbjyMOJSYx4C=TLX--2rB#8M4ZgV1|JllTHce=rBf z-m*ldU$n&MpEjl=4{HmFV=^SWPl%VavuJ7;jbp4QRn}T?ih2V^-=Ia;J5}hWMmeU* zDZw^3RN-123*je+D$j4B6A7z<2Fm}9Uf#gs7yO_$DEhiBBIR6tT+VS@M#+>hpD?H_ zWp|1(5*LrGwn4Qq6HQR7A|Vq)hHx1HwXyLj)egD&*HH8BOvjB zrgZFF4Rjt*?!C(k)cOYAweO9*;tWricg1GRHDnZyS@HE~$Ht9xBC<*3=eNN{mPaPm9yjRa6T}!LG;3D;vsW zs>V{O#RZqT8j+PvPL!~@VIcq^6bB&`2j%9kfMMe@VB56zNz>L%(8-i-7e)eh9G?#L z86VphS6n)b!6B z(QQaYNef;BYbrNnxp?Mum&}^t($^-t8fsGp9P`~o)hwUpC zUm98a&Cz39zL`9;YeU~@f8VC#p;4B@(dpIGiE!wCM*?jmhlv>~6qF1gB(OfbBD1$# zo!Z0GCickm@jW_2Tu*}`uB+RS(9&gG2%rjbc-9+aTK)-WT>ANqzVALeacJd-lV>(8 z?Y*#LThm$Zz2;K^an;8|vw26N;nYJ(c+5;@dC7r%cHVx3AZr{aP8+33lZQF-#38XF zen_Q^8!|&QE20N`)C&PfAqUN}e}K9rA3W&z>Vx_Hi{9IR`nykhFRxwcy1d2HbkQ@U z`n+Ev?`%*mmK3UYraX8t3f&F z3;T+p+a*!3lUewzV+G{&xl&s4VGJYjAgLm5hR%vTz~Mws3%OC#GG64Ah95CySr9<= z?H@qh=YP7>{oe0qkG=ETzRMr|!*%bQZ;kg?Zj#^Iq?lt=^1h=?O4Jc9HDXRg3qLF`4?A2#UkJeP`P)yL z|Nh(A{lEKl|D|_+*LeSAvsCtU)fNue;!AnDI}H6GFt+4&WJ>OhxXkpcDY?m) zvI-I|<`>1CFDZ#RS5~_3EEW+tPeMkVp`pUhFwtSBxtNesmDu1@vIPO^|Mu$x18@JT zfA&9q-FW{me=>lNKaqlOmvO+F&1A663k`e&i=Tu<&V;x z4xIz}ixhnJDF-ZFN(SpUpn%8DA`sw{4MO&&fT)o8Cvg!mk5Zzde#ndtf0!E^`k){# zc=Dm6m_@sHff6rI zfbjAFDDRyB=e+|Ep?{EH3?O{{HXyA3JHUH=3Fv#416J5(z>f9?tfY{q^vu`?^i=o^veC#XXkV&OMsa$2*!b z#ygO@pEr>{^+H}d{1~JEGjSk7`+>OoOTY|R4mhEk0e7Dl;3Nb;tw@i3K+8+NMJ$C~ z#Sls_BI%fOC0ycsVI}o6Oin+Ut7e|a(zA|1!=8_&+qp;6n)pXjJ0S)Hhf^m76X}!u zk&H>fivUDuPZHO^2PnI~04)DyfFH662qJa^UTiSnq{KX6=A_-C6vM9Kv85N$RLoff zn{>KZNIO{|WggE{v5#fzxks}s{396-!CZQa=x|z(=y2*-VFYj7;Df}W4kDbTR$)^xp#_?h?`)Iy`KbNZ$9m=j1 zAIxl&%%*oqr!z*R!&xKJ?wny+YwobTDeuKRcc4HHOpnij(C2$l<-Y-%CgcGmVS7MT zOw_A4pd?b5F z-jg#_-Ih0~aKZ)^_WTzEC||t|o;k2~ehwq>w#>~PUu`t0FXsRJd(sG-W8>1 zU+3l(Ut%CIXURnJNi36j3?bwmE|QB5z_gOd+*_NY2G{*E*y^QtJj@I0pkb&8H7 z9U+x7rZHUJcxjb*s7NL2&o?T%VRp4Uuf3)P)>q>w=+o2|_GyeoeKoq`7xUbKw(dQ^ z-ToPLK4}T4-n|Ao3j$3f-0SnSCN$)pIy&aMGBNFfECY5*RD_u0pb7iSDU4x41-}n1 zta2md)omqORa2o=<1A>>+6#JgmZBb=zNAN21Mk(UN?#11L2-EIz=s^99!sFU`_-TZ zI*XwV@Oq>V3B0X~+ILwSpL|B0o^w=QSh8P;Bn(v$7~NDlzm33^xX@J!J5p6s2RG`> zB@Vr@#BI>PyA3Ktw_c9y(Myp%x)<@>p&W7$Zu=DK{r?uIJyt<|7*OxM->wIypgq^k z5#i^}aq%Y&85svuu;P)bQhYZL%V=d#1WpP|Qb!OfO&GaGSEkd~AZo)OmT?QVm`-MDr zphFJgt)BqJ)^C6o`u1+}-0-;8d;6{WJ>D0cVS7)x;=*U@Q&NTv*+p(uAmJs7ZN1?P@I2oV>U+F3He|9PIi=5%RoJS@$JJMt(v4yaU(F{=r0fc%h$+-^ z%jJd&s@_be+ATC{CxqKfqqvPUN|)h9Ja=HOeGf=Ce+<;ma__C*gW4Ty?l_-8S7F6*SP2 zkksl(gN`-iVD$RJ@@f^5Cz9i;*bv!p!yA zXqBaaCf1j7IW-t@xsqH>kXO{8r6PT4mBLsoHkk^mT;?LN+XNSM8B6)yh8OYNfxG(e zK(X#$(5*3_gSz!!KWy5xJt@!|$)y{kjf2r~rtYL1MSD6@(3DGJG!#`3>yZLfEnZS= zp;g1oTy>UFs!2EMbg4#%F4fed&Cv8}vs5nzupozLJ(M-jnHcNJkDfNI_~b_4>QBy0 zZ~gGlanD7=NBlRmPlx!~#`ne43?*cVd(+?*?rc1%y`UV`QpzcA!iw@5sgg`5N1oCk zQ6@UHs)UAmb-c4%l~~uWPBy<7z=0g3%l`s&%ija_OW(iW@!k99$Ctl%`1tyNj-B!N zy8ER6I_HsKAHz&!lx#9CoimzJNEymPqxOpXQ{kN-wi~cfq^qW79&ae4b*ST#=8_#%c zF`W$Xt3DPM$(xHwq0J`cVGd-LmQ2C0xsz~m`UJK-X`EUSH_qYg8_e zG{gv=oqZvo@{6~DanXM~ZTj$Ss0ZTT$Ira?miyYG_Zn`j_}Xx7<2u>Zox8YKe1j-g zf}&BEBa;g+$7W?-N`|Fe$SzJeS5z81k1E@Dnuv}($-su4;Ne4$ONhb8)x@Axp!Vww&#oq z6>!G(LV)4Jf4kiF`(KTXzWqkm$>0CR{=+}t(LVm_6UmbmOW990ZzMnU^ehAZ0Rw6lD%(B zQoL?gr@n}>)_;Gaec;VE>JR<)S2f_Bx5VJ%cPqe>Pl#acw@9#k6%6d&m=656Cx8&o zXb|Nc0pff^L5hD6$lS9RIHR>h+Wqw)-h9eAknTaE~Ya2#?32 z$QRMx`I|Rvt z5X3;EjuUtIfz+KoAkzb?KR_dx3U)!Yhuxk4>9rGJymkPB_jW*m{wZZZ2bI|`q^|$p z-cZl}+Z&?$|M71O@b}*mz!!glgYVwU1}i^G0vo=F20OkE1Kvvl!Jh8}KJb8-c)ysCaVMXidozbucrB}{py^!d{olj`PpO5b)oQoSLoQXR~JeqKXIF)paIFbDG0664O3OS&* ze+bB4UqN-T6@UrV#TYTW0W~=g5VE5lp^6gkmtr$+7t!)=z&J%$vnxw4XI7V8Ow(X4 zq?&N&lWl}^iH*dw2_2-f@dM za*^i~-PAJ)Bh(X#Gt`;nIqF!-VOoFM;quLL0-+ChdpeU{mg@$)=)Ktc}0Egygi&o2Sr@B8OHDS~hhz>5h0 ztdxkyw5){tgrbaFC@kz6oK|wVkc+yISA{#5r6SFz8>y#L>&s6iw=zy94KR-;9bitR z&N2tmXDZwo2Usnc2Uty6KMz1caVUcv$eZ5>Y^W9^@_}Z91gry9_Dm*wr#J{89-EbuPaWed%0->3zW4`2`SreFr3d(Ak`z?Vu{c=W%6R$US~)%#DiN z)XP+O-Z>n;4T>6bCPcQpagiA|A=2ef2(<-2 z&rc4_4gUm{+dc!bXFUkstDti^n;xk`Jntx@0PGVE9VJqBOJNPaG2bk5f&4L?+XU<#UZF zsZfK^RH@)rX*IlACW8;ks!E4tm533k5IHIlAV;fyj^_>p$bt7P?}c)2)wZvoK8&T0 zjNYrEnIM}k)`sppRTtwsV@Qr1QDvodR}~gE^O0zK1)gl7l{0lD4p)T}i{xmfqzYw{ ziOL$~g0kLf9%@+5MGwo^=n*L!Ju3M*02Yb^Y56;Vzvewq4Sn~n+4?2ahq2^=b@z(v zHvjeK8bY=nbL{h;v?NCMYcf;YrDV%O$C)yTp!l>|wWi0}*nkH%%OIihlAm4rlB%kgxp0!wdIVCaL@*zzGcjy5dA z(MF^{2f#xPBle5_~Bs`2))UEPhbVJ=%r zvelRc(`fRMGDRs-AjQyGl@tz5$PyBGqACnW33V=+t4rBU3OHw|8o?TtBbg)8vKR2& zfdTafNmsoK^&k8bSk`^?pkc$OSKGIJKHu;C`N09dl|x;jp6xBsq4tKPBtvaRp2C=i z5NS&YEETGpDkrk>QicE}7Kq`Ma%rK+AkP;$t6`#kd4XV9R>T{T7IR1bKjzLWs;Mn( z*NZ0h-h1yNARtKZoj^hYX{3-w3j{*%q4(ZFI!JFSs3R0D zUU&0~rSkb+d&90CDxv8Zi&b%0;8D;b^iOXPN5t0##YI*{rUX|cWcrq6kN|7-CYN2P|)q=kPQ7G%Bqc!g`^nI#MdC6pl(y|YyRF*xzqPb+? zj_#T(H_R1JUB(-OK*htjfKYYTGu zHC6eXnzjPx+A{^5>TCJ@vTON*(rbBt1ESFkSvzJy1$u8ZDJ=ZfwR_>43w!4e-Bq7; zYe0K-?;SIRt{b*`jeU-|vR)^8&KZs%>7=W7)N!w%;7-3t@sZFtVMk1opglE>)0Usf zYOTz6YHiJ-xAh?Uvzhh%*{nl<2V&6-dD~|~4SF7J+vkp--a31@f4lshLFHMO2X$7Q zd}zA6?H*3M>L$sm;2MpbdYR3Qz90|=pZD|=pYaXxI2|GpoQjThM!V7&-FeB>?ut}$ zcT1Y%$y2Egr|zVZkKRtB9KN0YHy|F(P`qtA)Nh;lt82rISADDG?mk&Bd-=KIyi>#4 zYYsm(*?s7V&4J;>TQ$`$KnE-b1k`Yaqmj_8{7i{2(=u_#i)+ zFi;s{H_#et`|wn#?W5Zvws(fY?D~ho{|4l&l!3Z+GCz+ml)iIq7Iyi?Jn8Ot>u0sT zQ&>^`R%2V?8w1s}*XH^$uWT)YM;!>>qjZYvOJ^qMr7M^5(%XglGRWQGr9?=0nIy7( znd5CUS}L|0t@pJYJ>qBa@|>T==wm<2ks;r|0VPYNplzYl?Q=7*i#KOtC&m}ZwoGi8 zS2>}ureH#2XX=E3TJ(g4e((g|+H;)K65ej=QQ8;|2# ze@Jt&9LsmJ7%Ou(e_!We_P)cz^xbKp$-9ex1#0JEw~wO^#6@}R_`Mle(~m{dDt>HS znD=Avx|E*>c18U%R1KQ6(h*JC84D&!maN}Y9PKxo;P6{OvY+&HwEO8xvH1}~v-%!I zxA>OGF#DRpH2qS*GWk-*HvU}eZ1ky(WBBRFU%A&Vi=96;4ePu*4QqTfL#hmxPS1fY zi<3ZkodmRY1fuNk2^JcB!09r8Xh;F7DG^u}c;H*%z}?0gym6KgU}p|tcvFZ*2S_B@ z8$t%r;CDVrfAXM%-eirV-mkj9a-mBWJ9=IgtG_LW9UPw{oee8zB*OMZk)X21AGEf3 zfWdAqm@3o3TFn6n2M9pc#sNdu3OM=};9_V7LL(FKF*brg69WiCMc8O`AXlQf4l0dn zLyn~u+OVyK7U}**XSWPicSRa2ekg-w!hGojSTj8WcFy+&rR8p*zK#t#o2g*5!yYVl z+k)L*D{xRY2iiUpV5%AcSIq!i_UnUC9k~Y$ZR8%bAVgCWBw88}r>zdj+WR339Ymb- zSL)AWSn(|kOM5Ae#liyV5LhKAg3Yr8uxkMWl$SYx#wt6|U26p<8_d9ZlQH187=Xhz zJ)mya0mcq3aNc~gCEZXL_%xu2($;+Xv%M13Obr3hy9&Z%>Blw5PWqy^bgu$7{@S$mVK!UtjG;%Rf zWKD=*8bh$a8pI+Zc!f}ZxyP}-3(|RCx%n=iolD&(ST&yGj7HH%dWZK1+6nO(wbyry z((n74GU)e=_RQ}gA0UjG=!Ch$<_#Idb5&CQXb20I#qZH?$3DHhQ z5YDrP03i{40%^a5(d_T8Df}<|T(?i0gTirkwdfW%?*g4Kn z_(|SiL?{36faeBT@I*6&sV#&AtyPfzZzsiS4`kuhAd{>IsZ8_l@jUz|iI6fD63BYv zA0>F{oh%&j$nhC+E%ATMuL&C9Hiz7E?h3ojJ{NJ5eLJ#`GZ=Y>`$Ter|5$QF@Hnc~ z#Qk2^T!^ zPY^!v&Jf=g76kUYm4{vx)J0t8wM#B?Pe%1}uSB2WJ&Haico@^+@-U{^?O{xv``-Z( znnA2E6Qa@Y)oI8<jRkmg0Z85h9oi;VQ_ z4N34j?VlcULYyDbDJqLT>{%Dr=FySR?B0{u=zb&Vkno?RD$o0gWnT9aOGFP6{swrX z83K0AL_b>QLpJKg6zQ*pQsXU?)L5vOH*g$-caEv7w$P zBV+tJLsCLJ0q#8{mUx z2-=DI2PpUEqRv_gdViK1Zu(JWw)10+jnZhXz53Hyn%><~w#}7%H|n_zZ(es&kmu1D ziGOQkLTE#1hNLF2AhyE4Jh9ZbA*EP+G__FNo0ji;CpE|KZc3K_-IPrKdr5!ezZpVy z%zzX$L%#YFDAisCRr(vg9x~bXuEA>0^CtYhNA+ag{z{hhg<==VsT?ov(KLV0mc($s zx|rC|s>oDHX;^MtQSiZ}yud@L*#RACnE_|g(*tj(rv=?fOAWf4k{o<5`EP)Doh*c* zu2`x9%Dw7~p;c0^H9dRTR8N@#0(V(7_?gs}dM_^{h)@nLsTDn{6KKwAp>Lji`OG-pT4@C6|1-#GTWS=Oe7j3i3Oc z8X1zG6fen)OOH#9DM(5{ACnp@X-bchoXC(!t|D%yOC)#FB$0Ph{s#D>`ykmm9qmt= zgU%*h2-WIKzc*^GeBYtF=J_#`bpt0XcU?PduXVPWX4zHi?ATK7>ReMS@+i&o_s!1= z3&~86l_aO6#>FM(CPl@UrH02fq=&|JWdz4v&IpOSogNZIZ-(eC(;<7$ zY}Eaq4~Ntie`!%)_NG&N`LiD56?adW@4VDS&^*~jwdiPIJJi<**yZJ(?ghoZ;>`Sz z;N+aB$k@!J*vRzkq>$8usevhn(*2T;WQbEPWca4sPWMZ?lNOM0H|1}D-&z@n-7Jsx zVW8}-JP#W7Eg0`mT{PN#V9}Fa-DUk}%yyhVVW)BI2-&Q;l}W6w=d+4yJlwJ?#6Bqp zgMwmi&DI^YSKKjI?{z%=McBkyfW^jdZ*q^`5WMmW=Pm5kM=;! zglfe(znb^X9qUq>J92LSoCkfHORw~rZ0qTB(imeU^ zh^Pn;3o4C^5|^aKdlnTWxffQYxD>Xg@{3L*?xwor-%WAPzL)$rAOOvfjIwvhuIX@S z_snk{J7>M_*)?P6s`9j(*EN>(UN+ux?7WRya}UY5@&p}UaMYQe-tNMWYw_}oX!P?7 ztP2hCsf~^lR;R?cROQ8UD=QM6E1Q#9m8X)KRkxCy%l=8?7T-_&8xXWc2GZ8cLD>#@ zXxt`0-nDt!^NX8hAKcw0cjfl}MLpLIH+A$`snqt`8x)_R;xbRNDGA2~oXAe0d*ETQ zw@-U;fJbXosGub&(z!V&n$c7iOK)n5qc(NNQJVYXX!QeejOxDwVJLTJqxVMjR=LTx z^|EiztdtqNy-ceA(H7bB4^-!O-PPaF*l(#+b``IibD3b|7qb0Gy`=$!3yp#J3nzl?F5U>VJ3kym=zbRRHz0Ab6qGKP zg4V@S_s`A5uA}^a{`q35V_w&w2hd2v5e&j`0^4>ti(@@f!nGW!<6AsG$~S+0fp7L=kZ&>cmTximXP|fv z_ONXl)^}1K>*c>{dm3`PgFZYA$s^ky4TO}V%l>$H5Xn2j;>j}mvCaf{0 zC4G#Ka~u=m?ZgR8I89v498C}3?{BJ^(S5;M*ql@ zT50UcQPhDrBZsx$kjH9Y&ygzmx>`Q_+pdL)-_%w|e%IR?@WX7c=MQT&{tto{^M|7z z^(VuK^pk6f|LJay`{iwE`76-c>{letcrww>a54+8|GSu=`@6u)HU7SQ;#rj)hIrLqTD_52!A81+BGgFhCB%Y&#Kbkb|&C4uYa&28?~iz)>{- zS2bPm+K)oIh9-m@(10jSbx6`ugDh=TDAZ9wrObU$ulqOJj!R*cmoO~%9)=}-njsYh zOQi#0{WMS5KAR7U3mLF~nIq_|!h_K|E3nvT2DY1xfVfp3DBJ$^51PP1{=sFJItc%B z4=NC(un!{t^A3uTrlv{$7TE7SUHtd3s zjXOcIX*wyziycJCPP2_G1v z_8%D|r13xU|7Kuo%mH`3r64k22i|r&Ktxdn59b3Q@X!ZtfGMz|tidV84yd{IKrV3r zhbl6V>Zw3%qk(-V{Wqb3H)pJJNx(S7o;)vkmCpTL&uNKe*)NO2KwG< zz*n0CBAq4RkDOG1&35o7DS?=A0E7a4aP=_*UYHHA69~Y_Bmu360+b5cZ^t^PNrzVE zFJdR_r~PU6PePybcftVYGyVl<%>E5$l=PnS)NzdSfc$}boAQD8CxDHdm=l`8Rdo)C zwU$7T5%NJ++fe075&UTy;LSzVBTq9B1fy+Pu>@eII|99c`kPwrG)X?h{N>on{z>X` z{y{v$`EGxW`<3v7H*Wuu_nP#E_l*3WH$ZvMzeybvT%~>ZBjAi?U?@xjkA1U|Ui`l< zCcp-rtb`QPji{Tm z3zCWZe#O(YzC>}1KZdwlzxDUGAN7u;j0h8%PhGP(k9kFc0ZygcJ$9q;HuH#AKch!< zopH_k3gem2dDf`UN%p9?lk-yC&V4Cv;r$ulBOm3uO%8(o&Ht#2k)pi!UWyK?KU)$@}I(w&qfFF6ZjWBJ)k3 zif}vM77+J6&!uTT$>18_K{e5drd&ITT5`G z>xqzhm%h+Lu1`ZN-JgY&dOQm$7Cs9u6b}CpaM>UOqD^xD?b}OJM*HrOD=juy`Td~D z`VXa6+eS7`&g(%a5ykg*y@+*)96#^f5@vMsM@n3 zv_g0^tjwb~{Gjk*c#-E&SiaZOuw2p8&}`AOkU#O?3}W;(5wm?dWGKyn!UGG@UXW#< zD~#5>t+LoOQf0g2VY!3qjY5Xu#Vi4?C)tbK73a@tmxK$N!eWJWL8(4f{<#5Vz6XO# zd=7;bdUr(RiB3o6df$%B@)?ZC5D$f?i-*F}#7{&21h}I6;D=mH+%|d0M(@uOjRlhx z+Dpc(^;f<+WV&vs-g?WODti^w7B@JP$F(`0;o;bx_B{JRbq$Jhvx+KN_No11$U_@fTP&gv&PoN+9G7x|=PQq4s$VHyAbpN~` zRR`T;Y6zMrs7VqZbUZ39=t@*<@DoW)@RP`x;K7KP;Gyt80d8o9ptZ7)v~?Qf@0|(d zs&l^9s?UGhq_t?c-C*fIZKj*9G~kubR8#c2O4(Me1uhPUvb~t)Y5x48q%dJ_e5_AK zOlm-~BsU~Jq7>~atd~TFcSc2oUy2TocpMcT{v zr$qTAB_;*L#%G5_#+F2cMIVv`M<0m_jP8vNhQYDd!Rombg3R75MPd zbAsFxGb6oY(i8k6QZhnuH(`Ubjrc@4+Dpu&}& zaZtofEDCUo&JP!b=f?U4W~BxBX5@#7(kml{=`9lX^qwfUjJpz#v?r0CDT5JSNkid( z0z~LJM6Hm99Q6LE+#&a+X`9?==T_M#=XT2UpHrQCzDIw}vEx>Invd9PR<}}3iyGPZ ztV1r;q-sy+m9;+9K8KKi<-*&;LEzFubJ)LQ9(E^n0XySQ)8sdIX(J9;d3)g32jlpduR z=eDzKQ(E}sm_`p~Se=+3P!r_gT_y4Ms7Uk^lxGKW%1T36r43<>vg3&BVT{tJq3oik zq0afwLjD8!GkqC#B>}X$`XEZ(u^@8&)gZ^Z zksxZ-ND#ezB=Ao_=n`p2NBO^exzv}o#n^*0v#?t?W?`3Zt(NM(sW7AMy5_Q)D<)ft zFX8rOoG0nVpP`#a^f==Kx?Rbl<6aE6WBwdoXSfUNXq*TANQM{rNU=BRaGluxaF>{H z}>OKfY=MHhlwuP2#%-p`47E{sh(8^?1zlOZ6UDR#r3Ipl78rqcs= zwhuAljyw5QXnX9f=bwOt`RF;!#RgiYW7keh$Ihb;LifE{SjXT>srtcP@?}pn7Un)S zT$?;#xl?kVpc;6WqAR-1GI6~nu;SkI#54Q-NYwr?io=aKI^jkJ!}dlo%jQO%v(=3* zXUqO8&Q|@;*%sHwxt5p4d4B>j=U`82WU=dqr(tJ%reVjfPRCjw&&Fz>uaPe`dSS^Qohz%Me4~d5CA?G$^#74EoxT21D)egRunMU^>Zqu*ku3 zsMgVZ2no%n7Z8JF)4>m9lSiMaf8t%SEOxU=7CYM|hjpHl!m@iwu26J&1vHp?rCWG+dU$%I;6c@;)t+ zO8dN7KJK&9ys$5t%f(*|*1LZ(+s6HZ+vD_=s6_rsRV999tJ{4QXj*^s)VBEMr)&Bx zOyB5xoT0(@3}d|?MJ75wYD~3$wwY=EJY|01*9~)xU&DXoViSgSc1mOQ=cKWN{jylr z@C+<@a=CQ$?``tID06#*`cfCrTg?WOjWn>{N&>=8JdpR;07KCNxXPyBreXvlRecED zuM3gtT9A0)0AwKtQGy&qEpiZT$U&S!4x$e^h^gsn$FTa77*^7UVHx+OvG|{Jq{3l^ zv>$AqCWJk+d7z3MgcfoThN}o*zSahC8!Ujh*#xLt4S|Vz5WF2a;I>l}yio@taE}^9 zqV7W?@(F} z{ z51_)04B(aIfTAo9oC9;g)nF;OTdo6F`)$B?+6!!f8aRoyfD)k(4oSvfpJN925(}`c zwgOy}4cHvUfpxbXSoPY08_uA}yeY>H|661W1|YU|(zn_$nK) zZLkGghaK3Qz=QR90$AU$|7|ry{Au-u_|57Q@dNHF@s-^-;xqg=(nI_24iEkSkkJed z3Ua{QE05&k|FttdW^0k9+6tZ&1#op%1FldDSV0Crk1+*GnguxITLZBS$;(6d-}n~7 zq+KWRm+fiN58M^fH{2tK&$w3(=>J0)5Eq-Nv3lS}a59IEWUkQzy! z?GHOl5V{@52^Yy9@OLS1@h>Q^2;=0Z_MfT$kiO7vIDDmFB7dV_`~yJQA_MfDa=_m? z4ZM*V2}J2H#CSDo3~h!W;%@MDQUOoC)-P9YgYUdhvoFqZRuhbL+mG}D!Wgxj^p1SU z@r`3E<+Z~x>L}?P?FH#3ZJ0Dd8zg<8-*x!RxJv%Qyg>QFJWc(=Iz^irprRR=+vUJ* zJF*i0wlfYaf=I)aAhFyC;e?$KOx^e0k8|L&mr(zsd!X4nL6r4tPO{xgRu1twqr`ET zUQKyQZK6G)9Cdm`KFt^)UuWJWKV#k`kFokFpV((WzB)nvMv=t)IHY;~(=f93D6q zQ0_9z>9-h%m^bKc>}#|W&R1v`IhSbw>Up_Z{WQ1sNubHujIdTFB80X zEByn&Kr{TCLIeLb0%+AURb@70X)XMgYq)$Y*JAC<9NVo!8IB77B(e@%k9IY_6y{@n zHZYiY$~TI7Oq9etBFyBpyBG3XTq|801&!`?{G-BJ{&~-8{(xtN;Em@&m$#lpu5X0} zZtpzu|GMh4am*&4G;W<&uAoL(>R#!7NLc39?p5M;T2$s@I--r`BlI z<#ODP(?yPIT{%pH)^veoU6LoEGR}{3Fe;2$5D~-84oz`Q56%@P2bPKw0_uEX{g3!Y z`}g`q1q}K|1&oT(IZ!^5fY+iw0etiv{80*yL94%6=zUtUOYUQp;)tvEcS z!#6bKoL@-jL&T^!G-T8#G~|_cXvk~PRDcV*b|6ZjajQ@o-z4+1Y=`XoL%U^%TlUKR z)2=e>N|XMIGl#6UbygBpT1x18wFMmW(rh<;LAp0NDLfLj>+(dh$<9? zNUFqvk!^ndk*EFqBJUwyiv1%;eF7q0c?X2Q7EJ}Xp=$@DRq(`>Qjotv`dj5znb(cm zWCjoKkhyh4dFI7dz2)7FmRmb&3H$0Rs5%uT&Sr%LE_T^DUXH1m{!Z~}VVtOxSQoTU z#v>>pU*s28;o}qA>??{r>E{`D%g-xrR4j@a_3@5=n!VPHQ(IafLE%np=g&>uuO9f3UH}KLWlT#U%DhG z#5pu8S`d()>@H5r@$yP3^Y%z?6uTy$@O4SKju;iYCB5?TNO&#sh@TqpLiZqYi4>%x zIS#Ir`p~dS>eRq%NJ6Hrkm;?nKE! zA8KfE5X-+HlINY5=qk+361rv|6!Eg_eK=WNKF--!5HGyBnXg6swAWtz)Tsd{sOy>~-rx?7^wo*tIjOq|Tn+Bj0uMz@p}3CL5}b;Pw=@ku)-!oeUEjI95@I zTnQo7BC=m)07FzB?(AL~ClDOWaO0E|3z@}-yqt=Uis;3c5hGqsg>Sr=xo3SFtyHSUhpM?4&AE+U?}J5;@Mr<5WN zP7Q=08<095`*Ls&cE4!`cC8B;iSyI3Q+44v9+2m_~bK1w2(GzS>Jr(Wfa59Bze=?tL*ImWHb$2kWPxc~)7*^dM zSk|4N+15v=1`=jrPm5)+{(3pA_lO*J0-cP|j!vj-xIYK0e6U`+@c!Nz>G!l2$K5em z7j_G`!>^yD?0LgULvW3w>wMMC$myz&Ips=_6{#-@hwn?lHv4oE+r6NCWmkStIp6xZRxyWVQa0PqZVjXS5b`xpBVH6e5XmhC62#MR}g+%ufc)+dUQGkYDciP z7z2N+0eEcJ1K*w65V{MUK(R+1G8ELHXs-&?DDH!HC1p6JtOWgtdsEWhf??Ii(e*E& zRtB;X;e*mxAS{sbL}r8!8)ccW8#N!i}f|jj2;l#EbaB50wj-uBgWnOCJp9=z!T=O|Y4-4ul1&;J9!fI4x2F z&SDe{m+S`br8^;L**1t;z6DZOpl$3cH$mCTjZnX812j!Z;VE=|WQM~2!7#634C8|= z<^*#v5-gO$p?hHt>tzgKo2)J<$Q=NcY5U=T{65f?R|KQ!3Sd5CH`vVB0fd>`z;Wgl zaGJFVII}i@`|Ncfp0fr*=dOadxho)T9;#6zisnxRSnZSnvwd=aQ<(<#`=&^=EYj4#v_Jz)$~D2bP791$b-=Jw7Yt4#F6)8*U476W zLA*Br{V#|~13>@(ZUp+DOu%5wbZWqQhYVOK|7&NafrHv~py|#9C-bF1C#(UA(`ImR z*$D*Sy4QzzY9n{ia-cg0bHUw zSZ8a3Wr;ReROy0QqaK)b=!5AA128#f2qxE!z<3bx+IZ4SrAjD~aZH5-u6zYO? zg&tVe8GuErAy{-8f%$1;FzYj!G<#_B!|bK$H?wim&t^YNKAMB+YfCU2wnFX-d90}b z+;-%GcFV%Q4uXX|2>)LnWV8faZB_%{VKcBT;1G2H>{GM>pQ{J92MvDX zs*QfxG#UT2K5Y8Ks@v?l)kU)}mUql2ET5Zyu>4^D&g#3_D^#<3Y6F%7IIy~H3)WKs zwrB?8PSldwAqQOKLEKSW$J1ajcv`Locj6`xIPC;y7bReb)h21-nm@@2y5C8e24C$9 zjXo19Og`c3%*O57%s<*5vlzpjvwV-cVfhC4%x6NI2?9O#O*j^?~ z4cH+k=7@|T3*owZ8i>?pgII47h|O1`1By0+kh)`1z)}3p^-}x73f7!(iqZQ(O*MQ^ z&NX@KaM0{EvBqN5zRBt(;fVEfLXXWb;i}D3!l2D#!aLl3{8zi1gh_m#{cpl~q@8=v z7Qm?hJeuKO55h(HUx-|cpUNx<(p~^TCd(lJxBjQtar+lf*4~e9?rQJ&ep;`bBlKP{ z6OBjcnPyL^g%*S43hT#?^|%3tcH8@;Zo9k0OZZ#FhlJ~-H-sysFT@L^Nm7sFBK~fuJuiNiS2b-HU284$^J6=DCr{ktiuIzzr$Jb3&$Sv1o;HzC;15V zC#9AClhQ>0NuCNIp=`xQnbQN|kFs94;&gO^?VQP2{l%YS%vZga*lm0nO4<1|fTR4# zM|j|l&|kmbHNx~NFTv^(C&RXvoliK&EF+$FI^=kY-bOw_@1`E3U8Z%?hG>WBW3*PM z@AL-7clsgbcUm=TYQPcQ11`$`B9uFW(LB)#@{pi5>syk}g0Uo%Wux&nYoA6tY<&>M zQo0%7df3LvWQ)rBF7`nm6Q%vBdwL$>D0_T&uC=cXVkIY zFlt#}85Pc78Ks=Bj1tZ_r>OwydT9`#yeD3RvJUbg@w?+i39w_q$q1+jR=1JWq^EpRB?oEN} z^ryv|v+v~_F1?zC+ju_3QQ>49OZ}+CMZYynWY!QAXjAJSL8uhRJC=&lsYRaojC^4^ zJIAAelj+{cOLxD(OLHIOrFwkiCJQGxNy1OgiNa6psX)JiNQ386X$V1?H-4=Y`qe{v zykM8?%Y#aCkIU3%+$`2#axu?(Lr(^2PiHb?e_I@1uR$U-s}A$CDGLrI6bHmO=KH14 zvc)-!4DW;NRM8=BlGkB=g4a1goYzBstmr*2)_a^A<2}KN_WtBN72u4Xg9zo#aFlry zS4;iM-XQ(Hc$@Ta#crAVRm#(^mg+4&S7^EZcn)!QM>>6fV-i=lI?mm+EXv2aC?c4U z8!B24pf5{feC9e5-lU;x@iSd|D78zAK3EeajE`8|Q`lPH+*NsQ@m@-D0%* z9En!JQ&viS&s!_?rfiecV9i$PTeXVvmnwA@^&B)`ceH@8t2vvhR-5LmTbAT%QWPh$ z&WR4dr$>f6B!|b*;zQG!(ZL1I5kZx_u)r2UaNtRopun3hfkCeYK|$lZpull%P~Ze- zDu9o2w;!4z8s+ZvWm2DuR!Y6BS|jzaVV%_V`n}W6*Jv+1UT(Iwy~J*3eLh*GBAcaC zoGviVP4=`(Pw>Mh#fCb>M#oSkk`zW*M4od{csb8MtWn?_dcwsg>^fppAP)P;6Nip- zeM2TVQvojM+5sqc$1TPnYYF!8;1X>3&{FJf^D3#nrajY6*J&;|T5YnXsoZu)b+O~V zgZT`tylkFPdWMH(QmWW4HaVCSnGi({iA!Pxpbw=GN0)L%QT2S!s4f?es4IvU0%6oR z&r>qa^@^O}Oa-{1dk~DWcj7_}au;InD&}KPn&x8tZ7Z?;i!P0a0xNY z7bJ}HT;e9UuCWuGsQ@9me%O2rQs!e{3+G}FYiDA&TW4W?hnHff5ATpY+O~ggQ?ud9 zs(Py}MKwgltV)_ja+$M!Y>A6mM4^{WaK1mmFE`9llpRZR&rD|uG76o!=`~#E^us(> z`US*O#5mVEb%Mi5{^UFrAVS$+G7p0cv>IPJ1G`;61H0NW13TZf2s_@jRi^Ez>g?JM z{pAN+EH>pf5)@MFDEs4TSh^8ae3PJZp_Ol`ubo#(2+^%Ln!+ngr8^hoGa30+Y zhnjy5@x+;$|G}A-^O^0GH8tRivVZIx>`m@;>~5tzcC~3b)_WA?|Lz6Y;gg%B8%`+C zEI+2ZB>$+{`t%OFUGc4sDiO^Lt)K>;p}5Z7%=3_sjcZL1o?9&;u_}`(^om>>rJ{o2 zP~OTUm7ie}D;_b4?Wj$O_KrWUu?r1ySodLBtOMomhKsYX zs>`dTiZAV+mUU5MUShA&ipX=;n}W{R@Am1T?(;as*5G%$=&(Dhlup}Kz zupxA1+uC-O;jO!x?X9|c>@APox3}zkXK!)zJJF)!H)$$<#7SfK@-ggkwG4K$MF#6Y z`Md6{ELMJPI#$@f6wB=2E}M8mZFb~!{Uw1{E!KKp!Ebf%qwL{bW+}5S3HH-2dTKdd z@Y5w;2sgCrO)$3U%{H^_EweE1ZMHP)?XfhyaNp9j_noE5x$oA-XTfGF2GcR@YAJ^G z)JtI<9q9TerLoeBa#-%I8CdGTLM;B_X6c9l<>>(rbmoihn=N~eQg?+_+Ta$J-l2hbY!cH?}+kr;jq>`{;=^9*0A*| z+Awjw!!Uib{V->n?K8KX*3W$QSPX|KnhnP)8xNW|c^>5X*l*L{8kF|uEG zctTD4*-!PUxKNH-84aivaTr}6<=?E!s1!mteK_FRwKRCIi-~PfFISO{Q#A z`JKN>`FGW3C1~5C2t8Z(!i}v8FgztqsGU;UiLQ?vL@a7X1P&kvFg_gp#1qxd|_5X|T30dB4~5a%BN>H>9OEm8%+;(g$`L=gg(Du86!Zb(_N z6AD(Mk1Jcb9a>gxgX62W!o?{mN6#P&d7xP2AOg@18TV%x=KM<@qrp6k2uqQJSc@FQ zRv9BukktbfIW5qfrUCl$YG5*bA6QLS0=pRs;4pJH&}Z&M?qNG}4_m-@&L#+-y8#mC zt%scX=p(}rhZd}XwkgT!M%TZHUjJI5;I>utx?Akbf{kSgB0|8?EVJYdRNf@k_vlu@WrZ)`6M-W-yN01_r4+ zK|gOd=$0vfZtY&sX;uX7BTAs%tqfYdi0k`6a}e=b1vDoRKUF{r_Wefu(gu|;x}f@b z3czr;3>YE*V1ckfF2?S_bo3!Ta{+I+1nlT5!Nz4hSc*4;S;TfQPTB>AIeWmMWH0Df zD}r9566kg)gYNNtpmSCQbgm*Ese<+>;-f0){7{|L0o9+npz=)@)W-E;|A#36BQ%4l zf(%$A2k~!H#$IDOI2g?Z5^f3DQ&xc;Z#~#}Zvo5D9bgu}8%#14z_n{PwIWx|3mNF{;&F=_61!RU0)s98I9LQ{~IvgC4&yd zl>uAiAc%XBi$P9`W-u41)=R+AVHJ>^*8|>j3*drwf>q2Ok z)WG=gelY4*|7~&V)EHvv%|V9*Ee0q1l|W&jFEzKVVDGmR>>?GwCQ0eHRkq46%VO1^7M1&d znAfX+Gi%fMYIf|v7t^zvpG~i6j++i@zBhfV`Nr&v<||XserXCiPt8DgzykE{PXU-B zFK7F&gFyM)3AqsGee%H5o&!A7MZmFJ2~6sGpz*g(lD&8RAcgMzMu^+@#V%d-lWqR~ zahp<&kJdGsV^&RC@2!q#zqLH2{l>CS=auCno#$4swVzpj)*ZC`t^ddZ4DMKg;WcY8 zykhge0Sn||>`~UGp{(h=T^0mr=ajqVEO0kkh*7<&f0a{0j zAy<4X>8rWZ)<=I2S>7H5fw#`tUF0y-R_8bW@NB#oB|-A?C*p!=fC-1v{4!Y(6b3qlK&QVVAh9F!v(K` ztd>9Xb6EGto3;Iphuhv8E@HJS+)&Mn>=?cC%oM{jPB|t$^kTDaYL(@2N|RL=xzpw- z`5f*r`7W-F^4hkU^3}GH0=9?H$8uHC5Ol!(Pk@A8KMUnOca%GQ(L5nrWF{jOD#V&^A#@$z4o7V4bVEpkI+BPjW_OePB%Nu%C~H1lv=kq z9l|xy+wB_Yr|@<3>x3Hmb3&EVCqji25K0+~*7RB-1%Yd%AYzmB zx7eLB?-G=!jU;N$d=ziI@TSCebzdlD>-hlZy{CNK_aE~VYaekBF=%&b%5Z>&Z~&-p&9QwRW*cyIB-qP%n%y zt#OaHsB}%UDHG(|mGH|5g}i!VKKF=24)?rcHus@pCU49kgZIlJjsKgJ%KuGF5&Um} zhBChk%A0;DcSfv`nv7o~HI}+jY9woi^gy=KwCm}*^DZP=t~?b>+|n88q|g@1Q)>(q zYSsGr8dUm(nwEM+TNVqGZSvi-@i}fK_L;7=4(TrK3b_h_NSdYq(2d-PMI zgs&)3!f#}W=PyTz=cL0_024h2AzEt=UWD@2V(d%WQtV~!a_nL8YV1bQ9@*YJ%{kp! zrpphf+HGn|B=4?`WvP@)Tr`Wrz4Y@!{7td~!z|PMV{u8osrY!GJYuwWxuZnXNC_7m zr-g~G(n7soQbWDJP(r+akr56d-jn|eV58SBLNkP-27LTNY&>%zHe9$6yIZ;f>pQqh z_Dqq+?5;fHWv!XG|HIZ2%!P-QC^YU5ODQB!nbD2ol_# z!G@WE!QI^nQ18yY|Mxyjm=C|_G+$Wf?5dMwt=d&BKhqYVG2RqzFkBaJ)?b}w)m4#e z+geuQ)L2sER$J8KRaMaISC&5-P@K0hxG;AqBtQ3bNPgafko^1)LHT*hf%$pg0s#Nj z;20Q(Z1CL`Kr=6T)ys`;!P@tQaS?QUOpUZ}tue>8L5A>LpR4R-m!JAbTbO=-bF67s zLyA>vZMJPgb&*p|MWtIsd6QR3X}51d$w)wM@rK~+q8%ZbMJIr}A(_SRf-;Mj1G9?0 z1^gR09%_&azPp+my>Ek^_yg?d@)!p?J1K+?PpXiX#wqMu)>;cq54y;#>-SL`=nm2A z?ua&NZB3#zG-cXUHxxLQ)s?#z)iikKRdxDiR}KZFS4;(^mTwD5En;o|jm>6}E9vbpe z=~)w`+twRt+|ZR^QPq*oC~M1eC~PTp$!)6j$ZTlyNv$97PpX>?jIUh?j;%cmTnAnU z#nmnc##es}0Q^^jQ$W9%6TNL@Lsxs5(fPHk=+qP|IyB3RmS*LNn>XsSPEA|#ubp&| z>>Kk`YF`_m-7pkxR5cJsE$vIC7xd)VWp@=jr*~AlC%3nF#kckO#E@wlxT1n{A8aNSQ9CjqkFr(d@xzSeWi<#M^!#p-e zjuFyE?r&&E7YEU{FW12sbOv@U|v`HH*bVyuN=@Q%D{0h!yLmz6G(3MUSIy+1T?+N_}urpzCkrT~s zmn2MV(!VgW6QY|x9Yx7ppGZxaOs6M|=iA1Nl{hfkl6?+hxqCh2(su`_B<%{EF0phtRnm zgbsuM-Z2CIcLDU_bc8jqL!{#rFKRj^OQ=4jLoPmP&Xse*Rxs_jn?%AfKe_0mp(GpfGGfyyt5qryw-q^wKEtSJ|*dEzcQ3q@Y= z77sZeEE8}(O2Ow`qKfCaOm)|DMOsehs&yUCwdvcQ8#H8`+hAmUZizxa|CZT=o=uHQnz?&X|zBdCzJa0xwxZRAGcD|7=>u|F`!R}_I660oz3jO99HQLQ7b<11Z z)h%wHRJXWwPn~+>jfVO4Wi7Mo-?dkB5OSae$RH*mgIEK75UocLs{Dk)?oVBKT%LOKJ3b8-vU?gOV)HCXjQ%W3g7&Ofiu$Zh z+U$9!tjY7Wa>g&_XswuVDD{p@QMF55VVNScEZ{f(&8+GKkhga5BXi=z;iy zfD-R8qnLMmDD0giA@IF2(dWG`llun~X6Fx9to9%6*=;_$ane8ea??JA@K8TR^O=24 z5-|RpEok()RM_B4gNWXj9#NgIV`AE0H;Zd6?-$oxJ};rM{0MmV3maez1|frJg$$zN z6hb+W0mR>g3;=SFz#n|b8*&ggtNd-p0ShArmL|}!GSLic5sk3{$pD*@bTJKb2ph;DoXBd}gRFx6m|=k) za)?+KS)9fqg$r3Fa4jo*r2(55n~b|;BoKPDj@ z#>9^knD}rOnFp7Vxp5QFL*~M3f$?9!raDAS)g@uN9^?>)OxVVZ8Qa*hVp~s6%n0Sf z^h9B7nJ0#+m6F)3MH-v-$zqeWa@csi0ydsiz?7|un6gU=Qx3vyomR$1e*q7GSHNdw zOu@=OfN%drnp)PWB9gB{?c19^}!8NRHD6}z}_VdnsT><}Y@?J^`VqeL3h>!I`=3fOXuBDPqk zge|6&F?C)AQ@5#N^F3YvR&sC}gVPhH|4##?i&`N|w? ztp-!Ih;T435j#N!;RZQ~ry&`8S+Zg;Cob&a%a2_nMX*z<1a>HpflNvsGg=j~b+0m} zkEmd)2~}*hQSAq9LH#>zN#h&skj7Wq8I4c0>zW^EPc+}q-fO&~eb;ud*2%C z-LuB}cdW6&bp|$E4Q8kiu`_sYFYvnokcEW6c!Zj=;4lU!4tC?i0RbXEd}AcPdZo*L z@+eY#?^>hs)}>YLwNtOgE5~827mgF!&mA`EJhflYd1Aj?_mTZE-G}yy>E3af*1P4hN&klPPJ?UChYhbf zoj3Z!`M%Kw=hu|qoR&>aJ7Kevz;S16e#qrluoL7T-mvB!4Bj^iY7r0PkqG0FL}mMu zV8`<|)lM7lE;M61^11{=iIiM zoORo4dfM%j*-5t>W=Gv$m>+WcVzJ*15=__vxZ53D?(p~(>j>DOm`+-Jn} zsP}sFL*Db$1715V_jw(m?e+Sdw#(}=ZM)Y;`l1)6FL-16W?;_eSFnd90SAHSi~;YP z0^UDUf%rXFo%Alxfcz}ag8g2$JWS-*ES8~lIRO#5RSIQPhA{9nM{ zkUNBe-%9}BodLDTlO=pAQYOAA(I(w5F=4r0WW#kS*IoEbMv(OJlxXEc2`QTU;&SzN zMVA`wh^#SP3~!-s3GJb63K^o$22V0(g63_fgO=>p2cEE>2)b!M7WB$~H29nSNHDe^ z3c+@R{{r@f8bpBKTUqbT5ka^}lJK@%p75wrjd-)lfa&*gD^6(H6*`*dC%r#2LTOi8 zg66j5O#Ov~Ldtwxh1tfK28-#acB}Of{fzPOb+)5nGxj54+Z=~N4?7Kn{^`^o_S~s2 z{HtScICkugzz$sz*nTxQ0DN~e_`Nh(Yt9!!%VnbIMYR;VTdzR)vtFBYw%UT@Sh=I% zzG82woq3^3TeD*|=hIX5XHs*Gr;4oM)sTH&}$qm-Mi5<3G2?Gx8apO)c zaq})svAbOxV$ZtO$31kbi~s0S7muB56R>kl0(M#r4uNq<0MDBP_fg7=-qrG=`^|jl z&vp@XrcIrAxW$BRcY_W8VvW1RTzP=PbV-E9SV4l`NNzf1AUn^zH?x%1m0oMzmfC9D zoYLpeki5>hHff`4b>dF9%EXiI6-oEpE0W*4l_z5t!1>?6Vc>a_!E@$uqvZ-N^t1uI zcRQRy*d>Hcbg2;cw^LYmv{>_PYH$_bP~#^*UJ<4~TpFv}UzB3hou6&io?C3$l3iup zkkxEgo6+r9l|JH9p0>fQG;OWG! zdRfhZuEDzVNaFqXs7dTY;hKwXz-C6sR>c*uZ-5|DoZkIE6Fr% zDk`w3E2yxp&TFtO&+T+9$sTek%$jn`%Ublv%{tfDYIj|vc3X9V zVPj>wX>EC)MP+Fjy|lQ_wy3b(F|T02B|Cr8Ei-??BR%hsM_T?>;FWt?{x`R@eC(Q@ zk6l)SW1t3E?C5nFGy1!Mj4pJrpws-`*#Nz!P2_=63FWeJL zmfaFduxnB=c3BOMV@Eib72T;MqRY)>bfz2D{s)=SzO~$F`=|_IZml+Xa>$%>WR0y* zU$2{Vd$*rbV@IfFOp#1M)???ex?jPmWc0KIp+6d+_rHsT4h@pfu5~1|FvW&u zrp3_sv>It}J%z1ng3jMO<|JM->Lph;5~Nx<6rr6n5O0v)pJtNWmrITBDYc63u46=W zcG!h<4m$>Q%s2;hEV=l1oCO{^`?r5`@^8aV0d3fEH8_)iZdV|5z6DN1fDB^KS|Zvy z3G45$A7gw@2o23C6MJS2Sz0#IcxpE|h?GrvNEb{7C}od_X{3$C>L!h*7{;#6HjNx9 zriKmGSOpEXG5iMxZG8r&?crEg2hV}i4xVcsI(YVf0I-bkhy0-y@`p}@4nPL6 z4gBxy2JrvjKL@w+p`Jx~LhDvta_s_@vuv}SV8JFgiL5z4xzyPZm4umS&6o{Ix)IZv zh9OghCIRcK%zYp1SLvaxJGlO}Y+y`t)u0Oc*luY&EprbIgdb=dPjku6IWCrSHa8 zJMk}^gBl!wK8&r9!%RaCGYn(U3B4F~a8hRRNfwlIh96~|l_w;h(Iv&5p|V7tvE>Xo z?Zy{y+E2*mbf}o;sTfJOQz;~$ z6mW&k>~qD5-Q$WEm+O@vUZ=mJ1nmDx6t?{x}~XC#$?Q{Zjm*; zdIY#7Yx>tKS(87$$QxhA3ai-#V=xP2Fggc42rvigp%&s&NHiXsaT@0JSyHs|) z_xYSU@2j}9-nVmWd>G+T|2WI5_Hi$->c?|@DxV(mseE|z3ls1j_Q4!%fL@eh$N*OK zqyB;(2*^R)Ub7&lue``^Sqxb(%M)nd)CuO_^@%3mO^HT7Xe9j~c9283Kn~$ehK&J` zLqsvF;AF@l@>mpb6{{TXV3oxqY%+M3O&afJlftLiB=L=3SOasg2{MS1qoDsA=wCs| z7xW$PBV@BoMl{Gl%&`z;5R%9cD-!gu20;t!5!5k-2xb>@2y4h893Y2qgB-#aa)?mK zA>x@ta2Dhcyxm#DHAqlkg=&d3pNR1$CLyvY?#A~ z^(*+XUb7(9?GeVhLn2sb9M~X=wKt1l?d`x`;FvhpJ`damo&oQHZ{pu{u-LK=7XPY^ zB>>6QU<1e>Of`wv0x|$g$YW>}CQPG~v4txOrUtTOvsi9ylEsH9r2^QfK?oamieQ5Q zQEaeI4C_w;bK+QU5!fw(^$r7Pfg8XRiSK&vB);k|OMKSH5})+3e}_^^4AAU3TL#wKl|*tky&Q$}DICMB@Z zMoDb61=uNtjSc{(q`nzlk@{-%Na~Z(8>#n3U!~p}VQJ`0k$G)|WnUR$xz%73(58X^ zXMoSNgDk`m#>0_H#t!x@*v^{++l2FA>m+_`l_!KPD`4oGAe-uvz~+OJ-_6!ZeKVVu zS~i`R{%X2S=8NfGna`%jWj>nzF7wv(zRWAr*D}w|zREl`#d1$fvBG0htoZ1^D8coA zVCsrK>JAkx!0DvF2gxvd?S=JEw-v83UMT%({aN*Q zYpj0J8f%=VV~ulkthpM@0DUL$-X5^l?Jq}wFJ~g+5EzeObLMY>c5EO0Jh|WagbKXy zOb~hEo+bX!wM6Q^bFJ)Mr#89Uj=c&u9flRJ+fOL}Z9l7W#comc54*jpzuTQuyJ&Y^ z{WtsP>Zj~JX`Zmd+DGlM&Jo}+aA+0S4*b3w_;F@cxldi#R#Lj|4U1`viT` z^LQ%rgBS;nTaiAzSHr?YE(Iq_o(ss5J>yrbc+#g@<(OBq`Vr4A%|jjo+6UanboRM# z(A(p-pufv)ufa~Y(}vsK?ig-$dt<+m@Ao$&A z@cv0~AL(M~ZI%prn4?U%k)ucaJ(I?ICe@keSfZcE!MF&iJ<*BsJ0mhxwuKdHEQC~O zZwhYEn+t3=*ci}nH0?iXyxxC<>4e{+*_hu!^HIM`)DgcY)FJ=R)Iont9SFeYYyOKF zT>l65f*OQ?-&^tjseI^bwjg?zFN$s#%Am`ITEsJXRFx#ncV0@J}-J$3@6}~ilTF+>cnHkrp){EZMk>mcnB?I z1WL}QM#*nTN>o{&kf}KqSD>>trovz-s-ChYvfZRFVvTus_?Sg!*etC*Y{{xM>?FN8 z><+yt{GC-}IHom5V9SR8Vgc9xf&IaEN5NWe3McxU!-<|i&-cwTPIReK2%W4{Asj5H zFfWx@b8Rhf6`ITSlbFs5mmg1$Q(2pmra6?9tJ|MYV$c&`L+OldF>Ql2_V@FT(S<$spR&==vynhWp zI#R1h*i&stUaYX% z*2WLfs^X^T6>(b`WpRgWO5?8Dl*GScl*E6dmn2}T|APkC|AB*{2Jvj@Qzi?#Swu#c zD_GFETJZk$;Qbrq2|Mcbm^Rl~a%`w{6c{h{5+5!KlI_orRPN4A&}h$2*J;koH)u#N zqtvF=nZXg57UjtUw36fr>%ychjDn;CHhD>xZS#^}F!GX@t@DyGJud}*^Q;2eU|}w> zpyxRx^mhppx=_uGPBpNgBTYPLce5;EYm*MsYy*{jveuq|q|!rdO<90UcS*QXTVb4f zQ+}#;U2cwkRZa<|JgdgEB(v3`Fr&{ZFMZ59CvB5WR@y$>jI@ik8R^e#GSa^?GSe{~ zu*%H%CperHekL%XJ9!9QE+?Tgb+GThnHlYG$2K|p9Pq>@ zIr}psIU8H2WMevD^)ong(K)yat#x+Ks{mj-FP!-RFH zmBG`~~=M9i>`PnWzO{cCJ@YmT#0>Qf`u2+(1n$>Y^nVj?fbdHZtN0 zmTY1R&f3NnJc8>d_&2r&=z!JF;208mnF+oZ{QsF+B0ADSLVKVOVG;76Ip_~s-=|6( z>7lUnbG|nuFxa8zWST>*F=^YtwYIt8)$0t4fViD(lP>%R4ON%7*CC zWg8fgr8{gQN>AB@mp))blzz01D8=;1Qf##v9FNew9E2{FgYRsBwf}Y^+R;luo1hYwX_R~0i6{EYHam?(BS$%a1uf{3lRDZyzgPiAa;TG z+p-3{=Liw48|6m>qY8v>*t6C$LglC(vg0owa1$-+_mj@;3suPIiB?VNO43Z|%+!tT zC^U?0t1=F2Z7~aK>9+`InWXtOZ?*DiJ_g*e@@aZU^KJS;^KHbIt9g}<(4R04C+p$- z1MuJ5Kz}3nzjffh1}1q?_j*}E%cM4`cEXgce4N2kxXwj5XVhCFeI!UWX*g0TZZJVD zdLUgZd`-S?aDRniKwp!wZ*Q-uSMRvFN6!`u_nsrbEvkF>TdI54cK}n}JO9aj7>Dzf z|E<9iWDxV9KLH+m4fwB)ja;aCRsz+|suRmLQkV;7=$u&_9QjkHJw+3z0wiN5!{s6- z;*>(iQ`G{;ay9+N%5=QfHR!vKb{n~lt}}LCyV=BP?I9D#wKq&0M_!va4u3Oo9Kxon zxmNVw8tm(sASN5jI94$vVzZCwz9`;iJI%iI!&jIT{;dkqq=r8^ZK?k2lQ<={;hAb;gvpP zdf9+6g$)?%vEk2LfEpZXgFPTH1~ZTWtX&WO8}u8%gO==q9)#U|C~J=#O53ANOxR<_ z9J8Cj9=_X!J9w8jzyDH@u+LJYnCH$!Nw=MuGR`}SmyZ?R!7>T zEsqS#P>;;YnjhIKXLjTdIrGCW_3rd=>E4~-*1o&Qt$ptVx7NLT+*-Haa%d51tBdNIP_8%w;QAH?xGGqQccgRGy3A*-i~$l|FsGJ8fLm^`;6 zP@dZn4PLmC^j`RqbY6xsX}ydkYrM=LtGy~_R(;jTqWrp_Md|f4tKyp_R)sfbS>@k8 zV3mLUj#d8Ehkvkkcz!zfcGoUn~e}Uu_5~U!90b%U(o<W{`szeIg-!=*7^+{73_fBULO1 z8H5T_z*k6ZcIa**p9%C-3cr>kidjv2?U%)K)4cU2OtQ>)4z?wP)tgA`D`j7z_ z=n}CWg@kqKB&_4ggtda0u|^yVR?B9^s%7k0rGW#hbaG;q0WPdO3asbG%Co=%4_00R z4g#luzkr9pYn~sPFwd72lrbN4hOEHW)O4_2Q5W_YpsW?rne1K7uh)lLAv^Zih} z$G5Ehitn@fXWow*nD@Op<_84csbj%+YX1c5fj&ikRT@?R9)udkUE2$J&ehKeTuAf7d?BzpQ;;;IsA} z{twzO_}}P!;(w)s1zu`np%>a%__;O~Sq(N^(Fgx;0a!x*Kws%iF@;RXmI+&UFk|x& zR&1KUj*YXqFr|ze8`blEH*DwoX4uF7)nG*6i@}7zXM-8RPX=2AKN{>5d~a}2@SVX~ z!Pf>i1z#9E6MSO$QRtBY7I|oZMepllvHJ#C{GR?l!6qyE;Q#3|1Z=yKMZmnUhdE(q z1(}cwGo}ZyVpvzBXAW^wMNX_=U;5@N<)G z!cR^12|qD8CH%`znARrr(6UeXf#tBs zJ&Os^yA~ToZ(D2?y=AdS?1sg0v1=Ar#Q(H-B7Vu@gVZ^TA2MgDSoRDR%bofcFl|L2 zytgyp0a=8%A_4or-1Igkee$#>zj1SAeeM#(@z^Pr=Yc~y-(CAc!CSUf!Z&Q1ME+)U zie0fD5dXt^RN{B~l;lPFCaLrEozmy%hosNaFUXv-ejszq`kmZi`VWPJbgZ}^fYWT0 zR)eh}`*4IlcMtH~eqsm*LM?(+37>-WiLU}Im>&B&vfT6bWxwee!F|;&iT|=oj_?KN z647&xH4ifv%96V%kGu(4!dQQ zZFX375!ebWtODB!A?ymi*B88hurR`566i~W0^wDJCgEWig>);#hI}Q^gZ-j^Fwa?^ zSizHCX`;tG@+FSAmrEUVtCQL9+9tQxrB`9M^RVKQ)1>kar#Y2vPCHZ=9gnCjIR2@& z$?2*3tkY+W87Hi4kcZPsmr#*Eum&1tv& zT2pT4v?tsiYLB^p&>nTi+G~N46+He4988U{4|xAjxQ}Qa^d+7TJxdfqw~{2$?@5}3 zGYRHQ$71c-4n%qJ?2ZT#+7TKnwlz3aYI9(&++0A3!bZPpJ#2Wnq%G* z+M{0cIwM}Ybcei7=?!?@)$8|us|Vl1rPu3&^?H0DZC(Xz1w}Xje0Kx~T8`sHuamjZ z{ZwxBXPPiNo32VYnrh6nFWH7|XM#J=*4O}{O;M5J8zT~>r^7PjCPNF9#)8XLMuY0r zhXdO*2Lt-G*Z8l~?e*KJ-|e^EpwsV|VTa!h!#4ldhOPeJ4O#;53i^QF&tOmR-N9^7 z16K4bi3QzAV?|do;k>^r0dzcDiLgJ*khC*{&bpB5!abMdD>xk=CN>cpE4?l{Rem@! zM`tc3flG z9sN_N!4$w~HQ1jFSr7r;NdfPl4c|ft>+i>k$!LEm7ur!Kg*KOI5;v5X zGLIG7a1Q6Y@%QKWiFRd$O15Rh$Tp=VE7qrEsn#SHX;davX_qB7=@lpR7#75jQu5+9 zn&iaoGR=-VW0n>7&@?OllSx)QHqJ`G6u{_ba3B$Vj72aHz;ERd(1~IaI#>?gzXH5} zl{ng1rB0lvFeZB`Q{CW~h{<=W7(Fm1`HIHt6N0 zbQxwR4^uLdHkhO(?KDeGI%SrUbl)sB`GZMnGByS%tHHqtJp=E3H52yS7s8(RGFW%7 zBB5Ur6v z+SyrkdKsA=hN&4tl;rejlf?AxW(nyh%;MAU0`E-{(y=i>Sq%Ou?VCt!}WNWLj=V`3;5UMHn7cVahlP)fal`kktQO+sM zR?jRb)=JB-(M`^4Gf2oCpv2{@H;Kt!G>ytWY8I7!8+d0DosEqF%4%>VLbp?49P**} zpd8k{YY|#(1n=EULK7_lXt-5@(AT0%>S(62HZ|IE*VMZSl-K%-7FUNznSkI;9pInFc;p9pU8X$iF{VB*nh9QUO7=`=+_6Jo?2%?fn z1w#I$E-7omoH=#eh9hCjg(qg6k3hs|kVxp-NQuCa1ZlsK3_0)NLPd|EY8BVPHZ`Zg zAx($D87=#P-CA~o7qslwJkzr4|DtWzhkxNB%*8`BPy@&yHp26-0}tK{`c0Ft{yPKy z5B5l9&q|~8IZZ;+tT9vUES)8Cqa#P?j3-afOn`v@hHzo;={PZu=`=~#sXQ5{^_6lC z>su6U*AFN&CO4>9PcEs_C(o(SC!VTUjel0P8pCQ<>;B0psKIU+gUvAh6Y%_Nzyr5J z4pIdviQZBDQ~ zZ9`<7b|KME`!HFa4q>LAj$tu7lg4IprhuJtrk2z2Oc$5_nQ?BtGh2Cd&z|7XJ@bHD z=hO!t?UUd6v`=9EpV`z88PHmo15p3QdB~u)K@Z3tgkm5E2s{ow5NAlp_5v%i{DT`= z{2`90e<~yMzx0sl6?0^A)s{fH>Pj%W>PIyAJB+CJcLGWGS~ipRwQ{oNwN|qF^$}*Z z>+{U2Hx2Og;n{=54N9~gdA!O=r@CY8R%#3MJV0Pc_^p1vVTJo)ku24ViULjB937ba^T=pO_9GYGjr4nqF} zGJxxl0o)-Xtv6gqx#pRGibP(Vx!y%8@1neb{@QHs=4f?sD9}oILkU=@av(w<&4elVM_5dNd=LkuE zM@Sr#L6Z|Sc|lJQ^u$0<8uS!EPZhMZ5twvD!WIZ&JHQhN1(Jbc0Db^qc=<34Jch#m z1Xh9kL0z4IH2`&O0#=6nL5W7h3eF@f7eKId^DY0UCT3bTHc!fdO-YM`yDLcrR9*2-sn zxE~85R&yj_6<-ooie$nHsZ3bDfQ;p<$XKqK8OwD8gDhBX9k3plWyNv}z!Go>IK%o) z?mFuixhJe2<=(TtlmE{0Rvxpxk;m+BVfaqgU|Yq4e6N?v5p-H zYk85dMi>)TOC)2}TryTEXNEk81uJ&|eXLk{g!PB=1lxDz8MbfAo7t9?cd&g`-p}?~ z`6Sy%<*RIOl^?UcQhCSrLghRAGiA*2R2g$U0Uj%3?w`Rrpltv?*9h_lWB6&t;)V$2`RP!OnL(R7w_cgz9-POcAcQi5YZQzzB=KC3Ju%Zp?{brCq ztYjfH$RB7h9u}663Bh=n`Z6sWM>2mhN@4k6n8*6opq%Zsem(mu{dSHQ`h6VF^@cg0 z>WyMDzZ`L-Xk2DXaHx?nxFR1Y>Pt7yg9-9@hKQOK4xM$ML zdDo$dR#*Dd2w?iTzQ7b5$q zU&QuMvG{H(me>U>tpZy@_F)6w+X*rVclhinftI}#&>K%J!V`BB!d+Ke(sgG~@}G_& ztQYO$IL_H+aG$X);5}(m!GD}lFL>0tP3VYquka!Iu*d=Wr071YIkCM~JH&Te9Ts1* zx+Jlk{#arw{iD+P`IgdLV2hwEyvEoeJ~@AU@%?azh21o5J0!Gh>kkR-Ys zq=C)`nG=r(IFJwdd9&^H3E|r170b8XBUNzGJy&FlTZz~v*BbFTmuAV0&Rxz!@v9ux1t50kqx0_xiD-50C*o31dh1 z!?@5N;X>$4gbF$uP9g3OW004E-PpDT25@ijkK~{8O%&SblOa0oT_C>Rt6Xy2vrc-Q zN1N09UBGwy5zrI(^>RI$h%UyH(b)tRbUc9D8zB!`AMMFC78%4p z5*{f$7?vp3ACe*28=NoQ6;vkI5m=|t8qlWH?BB1_=s%`b=QpoW>$h98+V8ApmH$J{ zO8-w96#-cN|4@VL|A2N!^gR%vyAjau4&L`{5(ynoA)|wE7QxO`DYPX`ldv(xlxcmE z4ePoDH?E;Lf4=^hFrl8PSh3EC6v?*mZ0Y8(V!6i9D#f~xX62gT9@Wa=wd&~kgkm?kgJL;SFDI=P%aJc zR4Wc2)+h*@*2)XpuALipTqh^&j!sVaJMElsteF#mHCBVY5qca3-XCgkCKbFt^xyA+ zEMz;JMKGT$f~Ip-2xB>hq@gStOK*lFM`xNBZ%ay`U}I8*Xl-J=L{&nXba`B^Txo2n zVo^-3a(+y^T5j~9Mpo2%t&FHeo%E=qI%!cib<(2WYNtj2&`OKOnt;a7U|)nDz&QM# z2!0E^?|~fXdC!M)|MS877YL#8LPa!Opik_}vtaJbvFB*Xa_4Et@E52_4-=_KjS(+R zNtP-~&X&zjDpJTvtX9rSXjMy(@7GL?pU_T@ThK|2JEWT!cTG1j{1qG23T!24%|=PLle0Ums|hzU&=^P{yT@@P$o4za7qoZM1i%U+-F%3Yo7 z%U_-yB3zsmC0>w`D3zO@A)A#}ppc$gshpb9td^A0r;(66rX82OStlmxfNpg172uUl zO!7Cam}IOKn~XJo<~_`X8*wlW>EQkIpa$?~*XAGNs~#<&XZ5dDpyX(Y*dZS=+TJESf>?{KCcs= zzE3AC{W9BD(FN7MDLk+6Ha{vQyPDxLV6l$x{AT(4{ zn5wI+Sj#FLISb1@d2>qx1hY!QMbnC7C6bF$q!S8rUB)BrMosXFj|Ku-fFYHJij zjg6{=>PACSS-mAoVVylkPOUpnMvb39YE`I6Vr8^=Tt$*pba|F+L|KtSXladdP)WO5 zK=H7KU-68lPw_4-@8WY>K1EM~FPc7uSi`pvtN+ZMSooQc33CzVz&3dHS;#@gn!tC# zpTVuIY^c6X7*(|^5=z_khy`utEPM| zxqzA~Mc9CwEk50Do9VxKMC=oM=E> zs)TP_p0rnMg`9g!vw~~$8YSoE^(v0d+f^N!PpdjKJyLOO{G{sGfK?pp|H(y|i-%wy zZiftF7WCJ3Kn;4pdx8%wgDfC_h#O_Y*+J5~)BtKf3C}**3pD^MQau7^06;%N+5`tmniN5C>y=RSdObq;q&X>g(uN!`>CEao z;mzSS5ya&_9?9!Eo*>{fmMLVvu2|G&U7fh~Xt$)*=(v>S=vHZq(c{29DT|T!(iX#5 zhC1{gWa0WB4nron9de)cAJ19cC9|A!o)7<_0t^u$EZF`@8zJ`^%9gMv0`ApcDi zg3l%^lIOew*=^pP#d+SJ&2c`A!)`8)%VsW(hdx)pN1Lq?pw4y*na!>fHl5ufVlsO~ z#AM?g5#yP6qQ=ud#3)l({AYH<7;J*^9|!$@&~F|C|2qZ#a~AyHX7GRD1-*B0BF~*7 z$bF|Ga$V9zPD^G4hb0ElZpoQsv*g7@UkYNTEk&_dEG4s}=yU+&RKy zuydYAf9D|{y`49C^me@E)!p`uPj?aX0|Nh_t&l^lhx!kKejC)j3Z6Z89-&0YLBb%1 z@!kXb5DtJ}iN(j;J8o5q)HNl!~ZFZ3t#ZT?r;feTkH#p(LZDaZCosGMMy^ zl`!iZYhuYU0 zJ3`^0?Q;P3VL%o^JIRD7zp){Mb9_kuyd=^)uYz)?-wA^`waw<2ZIFRhjRp>hX)CQk8ThI9=sw5-23_u`ar)C^otkZ z9oPjK*g?=gj*!D?ge=ZO1^`)v`c;JFZxWI8Gj=5ToEJ&F5J6%uWRS>9WhC@c3kkk5 zLISTX5Z`M%#QVkr@xUJ>+;0;R*SiA5`MwEpd>BUTA2uPjkB5P)i1ovZf6xs2rCZ@0 z*bVzo4#Pf}Q!xJL5Hi1nklq#OzqoCL6|@WL5B>&1@Z;>g^c5Xe4r74f@7HI7zP=G0EP$rKgvNr6ZE5@_I^-z zhl|jI@+ag!psfVjl8}Q4K0%1@6GA+&H--zdLFT~)dc2?~2zsLMe@O!hfI6TLPyu_u z2Z#pXj{;l^zz;qQFFgj)pTP3a|DXWbg93P6Sq%b~)FWVV3j!8(Bw%4bA{LAyVu3Uw z<}U!MfM%cz7y#A+lfVqH8Q1~r15N;!iQoAj5Wn)jA%5cjO8g*ziSGq4>EFPLpsx%* zcZHSD@{m8snh~(H9o&yM5sQZtv1k$zi{t|3Km*VY^Z~=b7%&aY1B;{|B6~>RMUIia zid-ap61h)&FY=1`M)WK3l_(~?6va#{yb#6YpTR1SIjG5^|DdV>S1kfoF(zOo2Gqu# zh~nx=G(82T043qol8rlcX<_8%due7f2r^cac6w9VWe# zI!Agfb%*p^>Luxk^cSYb(wO{E8Z$rmFD!8VA6P>MVJ-0dS`r9r!@cOJ0fvwX(IB64 zCSp~8B36zfepgB*eO1gSeO9O-eN<>5eNbp8y;JCAdaE$R^hRNf>6O9;rk4tvm|iIC zV0xx-fa$5iS*Aw{x0&uKzF@ko_=WkVB4)X+h*_^GVz$3mfwe(f5B$GAPuj{rk|E=50 zd_{MN$0-J)i1+4osAcL@n&klmcWGby9lB?PEzPkCrxzD z*_?37$$@y(!JFxzeJIObyEwMpHfbC?8F^gW8KvBd)-}8f^k%*-^e+BQR)Yd_R^x&j zt!9O0tab=bTOAddvbriVL4P5-j=n59O2=YrfsqxgvFQH?TY>kt1Mdy~`;9vbdg#H1 z?zuz$;4XyDda9sfo)p3X4+arVX(R7&4Pae#iDcj6l*l#jn87paP{221U(P>mUnjWU zu2pE_|B-bbP*q&r+ut*{0hfE}RivsQDn$j9BE9$Cd+)vXE+B#kh^SZ*5fyu{v9}o0 z-W1bgVqy~0j7dx~--FS_f4-IVTQeBA&na_e&VFW}b3KOCx4MsMZg!v08goCWz0v)g z_Ne>aStIUW%^LRjRcFY9n>7g5&fxhk*n%2f6hl7-A>ImO=-mhby%CP@8$f={#Rx+> z9l4k}7U9Sq4D%7}4Gojo9UL#72uhRg2*^|1=3lD3*{?=*lV7v?2H!4?^*(E~*7>a0 z9`fEkYpwUb*#q9Ebo;$;>8|#H9*6oj&6SwwvqY?AP^5{k^ z*8ImH_aIi6j>MTU)3J8!?idfj&Zr=nZ4uGp&EZMXjiFge>q81v)&*Cn4F%O}tPN_@ z>JRMIUL7#3vnpV-Zg;?Ly_EsS^g9Et8MFs{YS0$=lYVO;H-lbF&@*&#e8$Y9<)>hx zkMNkg8;`Z-NyxcJKExULK}V9bXq-D?__%S0rcg*UL7BAU!nrR~{sXe?_nvp&;- zKbY<*>Q4)lTa^+iS(%)m*q)fK(wdN`-V|S|Ss!1cT^rXryE=B2UPbIWgR+=yMkO)R zbBbfm%`J*~Yi?oex8M(>!dTAmIR-dBCKjU7FafSClwt zP>`_2C@*2}+}woI^KugI&dW~tW^PX6(>XbboDnd5neRj32H?uLiAeN3^p6!F5-!9W zP^=W$Qm9CyMS3(?w26fP95<9mX{c0(`pZn2?ow;Ey~Ih-T;wHFUl=5=&X1H<YDP zXP0W{X4mOtWp(IfWcC}RWo|S|$(Wp*lyPESV#aOoU|v$jZ*!6|IHMVoGdRN+JirKf z0~4@IXoC~b-CvG2z@%^t$KeVI^;c?9Pn9usR4!qgD;)TBU?x<0G?!?^K++*`%a&LeyasFgZYz}7>m%|yp z%xAI4M!;nBJlf!B8LoqBya}(xTTmSPYmkjlt4{58bEvt_lBuh;<5$+W2}`T}S<+#n#rYAvl2?0XU7$<(vK+~F^nqOIVYm%$lUOvYv4ZkWllsP zX9Nr*U*aQ-ha1`GhZ1CDR3Q?r$D8Oz>_*UlY=A})wKb_wQ?mipHk&b(P0M*DO)i3h zMjx5nhG214eUvnS6^HbXVBCSN12x?C%|s!=Dhs#`a#a@ZiGVuxXH#UZ1hiYs%1 zDn2s`Dt~MgT+SH=mvII!^A7sqGMt&?aAx*Ff4l{eU@IIE(ALJIdhF&?-Jwh6oeP-a zPHQ&5!;zoe?kP%d3zSP~jgTa^#wo4H)@uhhuG9%^7}WD`*rxAW zf55<}{*s|j{U-*#bw3;U)^hs)D8u! z)y9;wdNGsHYtKvVbrU45@{@_{36+cKiIGHhCo6_^Whn=*ELIC#S)<|C*{hLk#F#v~0bW8;RL`O$;k!id2jnXt8ya=~j8G};T4R-Bk23x(BBMaW)RNA%C(3F zhmeu69&g0)EjCFT6)AqxY>FM5Pf=q_neZ_OHe{1KFKCm$z<*Pi$aiC`tk=d=vB$<- ziR*@P1?LS-N-IWtRqRJMsM?NBsVyHp1Kw3zKJrL?`MN*Umko0o%ZC2tR1MkyLD3HA zkD%VY&~6@uBe01mYYR~<0;Py?c?#XBLBSJ76gXi{eiO?Wp9yEiYr>oLm zFJpHwlwE!>mS=M?jc;|ZK(ORswb1flr^x)ku#DNkoid9K9+zEs@HLr*`@fN0F#Vg{ zf_yp*! z`Ly)RVp?*>juxMBBg?aXWPUcBF*}>UEIgaVn4T?T=bvq1jnA#&%{#Y^H|N}8p3%9R zJfpJ@ct)q6@C{FKf|uC={SoM|8pFyQ)cu(&v>$zNgedR?R%V<=R1Al}0$D1i_%v%gN}53mM+@C4-ycq<<@s^ls(R?AtY@bGw^n-QGxAukK?s zU%gD4w?8M%TR$_JH~s(|`+^O)?)o;v725f?E0lGJC=S{|XP|!pJ5yYO{xu?#TMX&H zCM2!5#H9W|MN)f5i`3pVB-M8pkji^YfdeVO??p=YLP_a^L{j`9pAi~f-PkbaYWNRMTIp`T_vuIJ*YutAF?}QDn1`^JzMesmW4?L`&Jd1-AzT0h zpr;SuNa!p@yEvgdehjA;#c-;r3>+d*$^50##QdSMlKEYEHS?SD5c8|@DD#W*7Ur?? zPUdIjJuUuC{keuw!=om193q`J4T z0(0O<%tblop-<*mpiFisj~8*X!X;w3+L#}-dYDIAYnbn} z)-m5`ZDJm3ZD+pH+RZ%BI>3CXb&|QSb(#50>n-LZ?FY=gS&!LwW^wFWIvnp!@P-b@ zfBhx6`Or6oBQPJ1#6ma{3(+SF7vN_b`qS8zp3Dtoelm(-9vP-F-xw4yUl~*~Um7$r z_YFFj&kcH+PxS|xPxMEbkMy@NAL>sq_Y9_)_Y97+?-*QU-!gcEy=(X-d)x45-VGy; zf6a&!Ts7i^SN;RH5ZY#NBrMDvf=}Xga<}=eo=HvO< z%m?#JnDE&k>C zpYku5{vbSS`j_amDJOICIVVgx*%xpY&|eHk!Wyo?GL&Pv8vSOYOOLEf=*uNm^zmXB zdVg^sy=580yk?ok-nPhRZ(5Y|u3Oacu9~;lo%CwtK1soZ`GPK@tddd6NHU%)LvHiESfju2dd75L^m2Yd^H zy&8SKT#w#gzKCA8wWr&*-psY-Va%oF3G9VsnY?p0h5R!%6@pXN^}-X@ZK7k=J))yl z12TuLMr99KZIwM>wOel5>acj9)dle$t2f1y)?dr-wEk5xZjBLS!%4UO2hK(WX9^Lg z6OVp`Gw_v*EZujM(mN~E=~X9Vy6S9AuQ-!qbq>cv;eMFGuE(rw_Z|BaFYtJzlWeElo7x znkO^vQYyFIrAEBfxmkXT^GeB>Q@_GSrxC?br>#mOPJ5KsIUQFXa=NCn*69is!A|%E z@^|<~3Ag$r$&7ht%5L;35RZD6OGZ5Eq{AMq3WM%FN(1hL%Kh$}R93t1QeEYKSgptX zl6trMJ@u6y->Y|c{0TVqc27?2Wv~E}zCryz2t?c)itO)j%(FwW3jkKE9178*y`l4I zSEx0!J;a6G9PG>A7!)R49~dVy9FQtE=$|9M#;;h~=Ub)F>)WW*5} z?me#2>U}`7#rwQwv(MXFjXvLMHu(MlIF0(hQOEHaNP?s<{IL2R`q!hNAB}l-6n5Z? zz%B%l>a;UzE^Uok%xsEW!Hz_D@rS~Lg#%$xGJPS5a;rizL+#4I-?b|6wedg`XuRN84`hV|VJC)2 z#GG-6{Sy#t;E}s82D=c%s?e4=L)s8$PV3+h4aB(f`l9`XJyGE@D^CH1rRpBlZW|alR2dhYqLe(3-UQv?|q#S()OJuYnYZBtcmGNnk^0-{Z(zp`kqS#v1g4i~VyqG@CoS0GVte6R%jF_Xd(_^lI z&%rM`=`q|apbfNM@Br818@L88q3$O#5c_8#_RmJ_k8-TbkkFb;En1ajOr4pFnbr&k zwlUpAW?2^q+E7xf_z3!x->02PboROOeHa^K|MaROEWfeNIN=X z+pNfp{W=jD7iULgd<1^diOk^eZ=CkaypMjkioQRYgKH7`J4+Gwf4CKl!>#ut<*$K=!ULL}$?k2TL#>s}Og> zhv=_?{{d=nUREbhg$){%*D!~&8_k)F#^r2EqYE#w!CMetA0&#YkCct9OAv?GrAtC; z3lxHCDwP9jT2y_jSF3whZ`AOrn$q;BI-})L^_G@LQcyx=;n|C8wd zeW?GAdc=K=$OZrnptKqBf2%BIwW&~gyFR6KETqH^YbLJ4k&SNm;6=6v2*TRKMImi* zvVpCsV*l1$iEm4pf>%qUl1K9@6}RS5HJ7GIb?2s&>P}6st2;M-tM1(JRNc9r`#-#b zHaLQI-wplEEf@=}h`ZVl_p~GK>O$<>&7-7M@E>|-Q7pWesMU)pe6<}Dy4sZuTJ6IN z=nWD0^+pT5S0%}KuF8^g?8Y1Gb$2PO=pIqB@19V$>pre*+kHpbZskK|yUyQL z>^ivr!|7sNi)iz4Xs_?YSXhaS2xynCg8$Kv*mEsW%W$cG)WNn8!#mk0<n#{A=lFPT+QXyEfrB!ITWk6)HWt)uImP6pW zjM?TdWfpCEBD-iKC%0(Bzf2>?c}!h)3o}q_pUWIxRe+PYaIDC)1;gY5p-=GCAf-#>f0<-tlmnb3BoZj^~o$ z@hV3D_)13a_Na^YhQoMSC6t2EWidViP#Y?}F;zjNs)(vAUqTL%%_u@&6 zgK4Y`It&l$I97(7g8o^=;1}QlT!sg5ogvj*@E=|ilk~050vNB#JQigpYd7B~G_XQ-pCn5elCE|UcNeHlznrebqRF+s4X^+XV zCniQ=*rF-*?`@hs#|8g68v6b|fC}Az3zN4m|DhH7<$K@*qTORqZ-4xX(KiRePlwD81v19av-9eAp-SiW)pMGGD(<9~;`j)vv51G&C zYvvI>V4u>Le2%^l0O9|I(?Og)3%f9AAnu!+XPhUq7{4e)rj(j(ak`c`%yJ(N944`k2N7qYkMbJHhjr5IT2Ys!$ioQ}Dpa+U0^o7D0-B%c=&lL91Cklt@V}-Nyp~5YCPw^9a zOX+)hUHK{9QRbLeRXFDMb8g`{17`?rL&X0Ez!3h!j4z}QZ*2Br`gPU{`ccc5zSE4L zuQihBOZ6Q3T)l)oRj;9s)m!L8^_6r_y^r2kAEI~FH_+Sa+vrX8NqSxV0KKMhieA;Y zPPa5aq-$E=F_*QUG8eTu_5%Ev^Z$XHht&{s;Xjzb1DFs0!9<<@nx{`c&sjj<7%ZbN z^xfzay&(EPFP7fbO{ceX^XYZHa(Yd#o?g{!rCWO4%uT(1=DOZG=9=CZb472QxvamJ zxu}1PxuAcEIdAYbbK3B0_JrZDyrYI3?}!n{I}A_e&`WUhp>HaH7lW(_bChEdz71l5 z20bt_q>tyB)4TH==yhWsx@{azH%t=gs!0}e*`$!UXk5u$Fm7PZ8MiTKjeFSB#slmr za)-Bn{ulhc^MBz_nR0?jQ%<<+KX8knZ-Jq@1gr3u z3hB{eIeK8GNcZ4P-8D0zo8~rj#lnp)SOn5pi)iMQMGAA=B8NR{Ud$dbuVN3GH}Vdc zckuR`_wx3c4f6MzZRAgx?GQ|w?-T4YKPlL0enYs!;#1*Pi=RZBEjXDmOHO7J*!U99 z^l>|Rv<$abTY~q(r?;)}EsRUCBZRdfom*x}CzmH zv@YfEvaaUuv}zLUu<8_Sx9SsawOS|IY_&x+X0=;pqt#KF4OW+B*IRucJ8b<(ZqWKq zxwST&+`xaBv2}le_UDd>`CQ;XxG;2m1u`P+;6JQ@|KPZg4mjGX6CbY@aXKWM3xSXjdy7wQCWL*mcVc+pU!yvfU`R)^?|OjqO2kzukHH)pl>m zud@F}(ry1#(q+%hAiwe@I2+u4p?}XE`rdfY2+n!1bkY_6gB$z@cVpV+VMROKotZ7} zzU(HqPA{chb77jWWi3Xf2Wcr;NWLG4&+#w=7M0tI@cx z5pD6cq>a7~%!rRCJLDb68}N?g_j@G>R(qxkdpvVRT^=Q}D?O^^I^0{tZSLKY7WYAE zliOy62Dd52I`#QXb}wsEoTM-U76JZe!L$4P=1$xjG)6WS=i>ACDYOS#PZsB)?IHI)*d&s2(i9xE67a7x9#&rrni8Q{nslM`j4yR`yW!x^S`W`8}JGEStU1sQ+|#Tj?Z}D zfqn==>>q*HKL)XX9AZu!H{<7#2nh{DYSHSbdDIoPm^z{yn3hO)wlTt=R~H^8s1A!2 zR)!_Zl!s=?mWCFIi$kg;g(1xf`5`@uxxwp{vxB#*WCkBl%?Q4zmLBpU_)#@Igi`^^ zFEiuE&3Iwwp?d^A$etv`oH&j~Bi@M-Q!jS(Ss7#+O$S9l|e* ziV_w_C5j3oGi384^ToLl<&x}(28GOsE~WJFA?4KYt*R;E(`w1#7u1u&-&aqH_(3fx z;xE;t2u>wAf>VCM$Nq@@QRg%9xDJyMb7K0n3CAJ)+?#-v2nj0Gny62Wi3_PV(T1r^ zaAM06ym-a&f&9X_2ti(4oG2$YRW>U&SDX=3DoKl}Q%H&FR7#3otDF$MMKwNppIU76 zIrZ4+cfcc@|EU@m&8Yz87u-WXTt%HvqW;sEcI`+tlfQ#{zbWPg56a+n}9DMpl@lq{2)m@Su_SS+8IP$P{`XjhC)Sfd;rKc*TL zzeg=H{)~D={9E8Vod2O38PBNzHG1Pxg7T&jlp-kjH;OEwKmg+MUs47F7 z$})|qICC)-WZE&g8Ln(rhA%HYJw%Y29xY5xOO#1S%an^tEtHQ*t&&Eiwkk%X^eKm> zY*YzN*{v3ma!M^Y<#n~-bxJiZQLHe$FhwS` zFh?$^pj1Afph4=F->vAAKceKFH=*p6cU;9Y?>6{a#VhxBWv^UL*(--rdcjqUf#az2 z9%yeZLEH;Ei{XEOVw~rei72C7iBc(!yD>ifdpu>N}GQ)Zc)yfMaD7`T*Jqo$w#Ju`9$XA^EIUB(FYg^6Z;S?)~QE*1wEg z`klzB-;;6d4`dwrBUrosM0R<97SE=ylyBA7Bv{h7T4>ofCbC#PEizwy5qu&tU-h$$ zc@HOJ-u(<&9A)>T&BviT(uVN}>f6x<&`yVT%xc751K62z2s<;3$kU1uRdQIbM|SH? z$aWMvQ;gb@&8Q1mkNS|+Xb7`pG={MpO=HYQ3)w}Zwd}&tZl3ArC~yAg9=^%wdA{-b z4|&Gxe&ibu|0ysY;{IV0bsvN7Ko|T6=vJ&k?AM1jSc_E=>#!;Vp{mnnyaV6Hr^VZ) zWVu~~EOr=>*$z`$v|}+X9Ji$f!^mVjf#!{8)7Z=u&o0g40L;-TfYXYA_j3CjNlsBg!p$WasbAWgRl!Z z5Qxi7_K9fDv?3WzYmmXT0qO6bPkQ?;Nq4_3%|75lItTn{)`1ApK9EdW2MbB_U<0Wi z>?gH@+er1`QBpbhDybZJNGj96k;*=fdBJEet^>4p8|qv>iufCKj@^zN2E~n*pT8`XObc>MS3=pBxln}9!oRD z=Q>F4?0S+pyN5()UjZNC{Cko)^E>$C8EaAR&h@w-Ksyh0PTCC*Xc{X+4iVWOg+6qR z5vuE*g$Hl}c?g#nlD{THGS{Ufx~@vX>pCR3K8N@>7837+puHFe_%$!++CkR>y7Qnr`x22F{#4;6 zk=(1ufq0$8q(crUU<)KwEDhGi%P2#l|CwS!v=phbj+mhOf*8D@$pQ5M9sR)$cqORV zhxo7$KLjWXXx#SP145fe9K$tu8udSql_}7ja~1v%bXD%ae|a4_7;h6M{{VkZAMxP1 z$ij1xA}COX-=cwusV;mGV|XH#m?%5oWgW`#4a)It9z2UCfJXlgjs4wW@Cvx{jI!PE zfY9GjC*VPyhX;2V`q!a<8~)E-v^{ji(B;kOegf`;2jDC4HFzk5h8O_~+T?o`_$_FY zpN)`nVuqKNc0^Boi2jI$ACeE6;EAjSsQ6!K^uMN`@wexIm|qSs@FK_rSONGC6aZpC zI)MK`@E@p={-O^0gI2-w7=Y)oj(&v?@`Se0FEjz~V=ugqBk(@X!1=fi@8cePkB9I) zp3pb=>xba$|G=pr&Q?OqF9AZF^WZ;_C0GG`KmWf@b%#N&n&=L_ zDs!K1$^J|?#2j6N7jyMFS8$wxn+5+t3o*Z@1StLO38@;=Q{)Hzg#4gyr5^M^5<>SS zarB8Koj#Q0)BBQgdPh=6Z%JC{4M`W>mGseTk|BCkvXO2}x6@7O6kV4drfbskbVYiH zE-HRO=anAQ8D)-6gHzxnJee18dRU2}!$N&C4yd4Nu*a*v*@O3AzfFkq^oN6bVaR=E~$0XMYT0_L4AbIt8b>W>JxNYV?UkJ zI87%sZqhN$Pw9}>kIVsWj+vgtG5emg7snYmL+BgAf0)bCA9FS2I(_jm&Q24rZ6} zYG%TCm>oABW4D{^Vz-$bVz-!FU^kn*#crJc4R6%+cixC8$6xoHVH{_e(Vt0kyT1gt zSa>0?En(=^A|YKdRiv|vbm_R+LONt_OVj4=vxV>Jn$6VhAJ0UKS(4nPTw9nd@CT*6|xQ!ESv+<$LHlfTW>lkK(buzQw zI*VOrRmcummGcIz>UaZIZTx<#UVfj|u%Op!i=fA9O4x06Lb%fEhN#o}zNp>$7g3uH zCu)683yw2jV=DR#x7632q3?#6&lT|w9ytf>WNEjZDvjG4(iR5`+T>tI>mA%_*dc%! zw2xp0?Bm&f`&4$dT@G)RT`|Agu8P0Xwn@-wyHeP0J0NVe-6(3d-6hjxdqlRu?uu-^ z-6yiO_CEnmw#J^5d71BQ@Hm71O%M1l-gwsv_ThZenNQoDm1vWTE{(V@pdnWqTI1?W zt6hAURW2b+mvc1R>72-Gch2CoI_2}5oyr7FPPM`Y$2L)&<7$~2$Mv#Rj^lEbP6y@6 zoi2*YoIVhjI{zRpapvTnBa7oRzCzo-SLC)$ zT|b87RmrDi`@roq>jsr3zEt9_z)l|G65a_pJ;WT^`~`m_h>Q*+QlY6!BS+8`&UD#(i|4-8~W1HyU50df4ofK)-ge~vKMzeJSn zUn`U8-!7N#zeb$qw@E(5e@c?mU)!Q) z{1?nIgYn)yL`bdJ(WfzVHr2upstQ|5pC-g{FKbAkcTnS!}C%2I|h6{N^gHg*%rfFG2aW znV2*mHYzQcjYx~)g{39(LsByZL8(QefYcfpzmyI+-;_bIcgi+-uatul&y=g+bBR~- zFY;c=oV-^OC-#2MCA9ew=_pPeS~&CVBkXH|(jv)W`mvIgYbGPjCdGY`nSWL^fJ z%DZGdmUqqI#IEW8at>{90D3!f&=1)d3t+|rDh8SOx0F1F;_(g7(b!!&61h3yMGGjj z$cloC94M&Boe3!NWBiIjS)Za9o>x%{-=i>B;8s{JbSZ2RITiHDIu?w{ITTETSLEyq zK9+OH|5?rXd8=Oo%-FZ8w);Jtf3#sa7UdH6ZG2ytHt;*K&o3Mp5nAb2qW zmB!>(X-U3S%gMXSnY^mJ8IP(U#;r1vb*W6`IaOxyR#cYq?JF9EwiUgiF_U{ErI6-qr9QY6av|uRvb- z)^m?WBXVzCNUlv*wMkV>-L6v5;roSjS)5*v((uI4ZDg z*e$eZI0N1jTGW3pw5a_Pa6*fkzuAuvXh%8j%b){PL${z3u{X3M>)}5%Blc{=8jKEk za_m$ghn2I*ex)(lby<*Y*D_kxQ3WY-^nd&Y1##v|IgrWa#j4g7~8T!*9R zgU!f+fUea9^mjvlA7XIC=BkGnQaB<YNH7A*)%SnX16ydQz z;vb78-mx5FXSQZKh6X*h6%QrE+edGL`?x9n0G>Rf54z2R$irC&9}IPl!ms+FzRpwd zpr(<7auE7QurudzcmSu6hj4~S_Pl_27bKW;C;<(8{gN)22h8yRTn+;q6M{>47+=Bz z=rRV~Wn5gBQMt>zz-j#ZUGN3??in3u@9Hslfv9u*B>DjLbvp$8qtHKrok8#?TIb*a zyn=Ngmx+Ye2onx)O9W7k+bG9vbxeq7V=^=c6Z1uwoGybmf^xhWf=OC3z(9W+9sTwO zuoqqlKJcAa!3WQ%MPJY4;UwXIg+kjM^<4(t1^6`s=xSU+4#;)*FSm%;*P#6-_#b!& zyeEJsBF3a#3SUG8!HE_;3Ij}%O%W_uBS*v)gu<^#gI`ez(CJ^JlfOnqzdi{rKBEZD zlY%x6N4-6vz5G1te+m8<>Z=Z2DRf0My6*xM`FamdB6a0v6i0~)jN9>0`a2$TbMR*Z+;SqcR z+vX>D1b+eU|AUjle~?4W&%l2moD=*9G6QzN6NExH0h*c6D}+`hKCJ;hL>qjME@<^Z zYYR~k1Id~Db&~%@|i})Tk7Vm}tLchhkS+-}&?|!NbY3_`XW_-15xzpFWZtBcvR~0L@vn3Q zzRThNz-hpLP(}Q&&chMqP?BOjlNvpcH=qyY%;;^g9la*+Nw?&K>AHLjU6G{FB}opw zA}OZxl1e%!si!m2Ryr;1rjyb&bV52p$D~{6sC1GJBQNHl!UZ~@_$KXBdPq~sztbc< zm|ZFyO}xaj2ISA@M1;{PB0?|H<)3= z&zV7^$IO5c$E*SUFEQf-J)94HGu&!%yT6KC?FC~VoiW6>Q5b2{{<$W!XWmlUHP4B# zcN=Xp4xuf^F*IhJOdE|eX@hY-tv4>C5#w5B*tmrmGVWp48V@pSOvadglSyW^$q}}9 z{uQ=o{zq(=>5puuDaUsFho4PwYqi9V6u7ls#%=yIjz=vJdoDo!!$MWsxyX>VnVHj= znJsNFbE6S+e;PIqr$Mtg8Zb+tezR<*&#aK?HLGA&nKdxoW*zKGvp%-dY?N&`ALq52 zALO-|zrt&_c#qd;@rYM%`4`}LbuaNP>i)hB)_*u4|6&E=EqlCYL|G=5@M+s(_zz2G z(|RjY8nUvY0V^l!v+|~1t03yJili>91g6s}jcH$+%d{;mVOy3~vrS7|*oLJ&y!xfX zyjrWR{A#Ox{3@%nf=cT*1r^rc3d(H$0382izO=$)4*C~e@Sf8R`Z(@DSvD`nJa-v( zLA2GPe%pD}YiCK_c6QWh=SFRIe$-+Y$~4)=Fb%dzOucO;TWeduR@;`dm9`DM3fqgBF^x_`!x@|_s3&q zog-qd705ksRHH6O18R3#L@iD>)ac|y^-f+?>lDaTJ4G;+j`2*nV=7zfn8Ox3mhg%k zYj_2YZTvjPenGC|Mq#$&q%h0zxG2-)7fOEk;)cGoOPxzt@{19jO zKp*8qOGPStrQiI!ks&!vV)$R^d;qFdlZhlOOTPRcH7R?m6C9!#~nQX3W zAurptlAr0?EXZ)}6{fka7pAyQh?3oo$|Skn0AI)?y8kLlbmv4#?wl~m?Qh<8Mn8Dt zIt;)y5QuosAN5ChR-qj2o_uQZRHQmDZL0E`N9EoYRO)R@Mcyt{;O))ic?B^!UJ*=| zS3H~HmByxfkDo0t0LS!j7RGG5EW>b2YF{OlAQc~D* zN(ghNxG*m!CM=MN4vSzS!{XV9uykHnSOGsItV$3Z)+P)LTO$ex+alu^HVs~p^$q(- z)-UWQ8NX0YG=qOAC!FCj>UtE~6EX0iqH!HYp$$-;N|d7r<;jTpm zBA58HGA{A&$+*P*AaaTOOXM2M314sqb)AmKJt+}hTms(vgDU)-k20m>n23MJQZR~4 zR;BP1T?$Dtq2N?Y3QS#20jbX9m+D2nsez1lY6Rn%n!viJX0mRn#XOhPdcIRikH9fy zRJbB#x6mQww8%c?ZIMIrBcVg`pTZSM+&`Q^U8j<9PXs-n5zKf%*&s0mdFN?}yE0@c zI8%uNGPTJsYYzElFCy=3Yx2roK^{5oB+ZoxmpZ55ckw?jH`L-V^EYL_r7iYH%zBX_$&fXCd~^LF}8y zC+`9&dBTfvFVrWuqWR=fggqdNY{{wEg&d2$$)Pxy?2Drr+u{^vS#cg~T~x(d6?O2I z6bH&5^)ppjj>Ik^SnpS?znpXVAGcD(Mre%M#8}%H`$2}nr;}ORqkOA#jXa|+! z-FFpY&sxO)4Fa-ml+w~Bbz0J_Pm7yP$fDVT%v+X`S&I`bYVo3lEkU%PC5B8}(#WKx zh~~94GILw{m^m$57^9YhjA6@l#<2NI#<1}TW7xp4hV_3l4z0DI6;yz{60`xdBcSb9 zhx~^oynk;+{NI6n5W3{Zv|EYh_h^xEk0H(LF{QbyENRXv>_f2%`%v`ykU?)4>Gvj( zUT-eV?yV-BUhG5Bi+w11_mSqROW-ro>V8aGT^yse@^3a(;@MDv@d!$Ao?eY{0PP@X zd$hrS=ptIW3i|!n2VyNtdRQMcdsvxthP7$dIz!T4XG&V@7L(?PEoqFnlKO~0sf|RD z>PQ-?jFgfRl3Wx=hQTCBN6wLS-3O#F{39t2{XvR@SO)@z>TzF$W);Y7z*uO;I6$3! zx{-s@M`XPg`sgx>MrN^Lu5;-Vm;QyRQ4hS@bC^`a2d@gtm+y&2aQe@z>$irVzgh!!<39=3X zg*nI(!DRVUl;bmBcolJ=5CIhW}eg-~A-+Y0xJdnT-QGyqOHu=sFYh=veg`gZi`{PA! zB0P~&1XP`1J$w-e|GNJf91rU+XeQ>LVa9*J+88ni_P`5-fdr5VAEFQrLIooDdiWo$ zh|5>Pk5~dRa2a;MBbY*d#3A?*XAo`Qgir7Z;`SflN&E?~fJ6NLf8j*% z9|-=#GiJ)62NnPu;0EU;5FSJfqV`m1 z)ATW&fah@qP4^!D`v%SU8+-!p8UMrao#$|J@IH8m`3e35!G9p^ib?a3@3I)Wj?nc% z4Z@+90IdvY6+ov9T~Gs^Cg`+7rw2Oy@FRxtxf|hoY)98k;gUIm%jW{Th`VTwFOePd z7=8ruF#ZE4kNgXv415pdK@j{9^vNHj58Z_*`EqzW?$8WGYeqvW89G^TGz#H)l*99= z#pT%qoet=%g3bVRM(8Tq;xcklF2aksK&Rmd-9)c^hO-~x%=`(EgYgoaRDktR@E>Gx z6v7W-6w%gN=)1Yl#m<~)i?`v$+=UnOD#hZ{Qc;f_v~Ur0Dxgyfon|^uopcu0#%c7) zDYV52To=dS#T>!eA^gPwT*&*GM>NemrG4;V_97qV1=s`_-V4Ab{fij;P>AH{Q$~s2 zXJ^yvJbW_<&xWq?UFj0vpDyqt=&T@~P7BiLq#&1$3ySHOpn{GF>gbTLl@1EKXuog` zO^epkUeQ*X5>3&h%rV*}dxdt&eL&;l?`gaIpR^5YleRu*3yvIy(jU0Re4~Ql4Bl7Z z(c7|OCX}>g)_DR!euQZpYq{XybT1C604K$(9 zPU8x_v_oN-wkd9=EsB%0S@8&MQo2kVls=^O%0JLL_%Fk%cuqZM5JwKTm2YR^mV#T{ z>)<-hFR2RX0=$@$%CqRO%6!_dYDIh0oM=+bn|7*&&<^!z+NPdFTh%jYvw9wlVXe|e z^=jIn(M0PtR?>*Z8XDHzK!ch)X|2{lTBCJ=`nBJo-dW#KkItXet%H?rpzAq5&&Dlg zE^a~damzKu?S3BS`ubRZpe3e#+G?~*$B1^!Hm9w+wlt>eMjLefXuWP2t;0H{A-!Z8 z)XSs+y?k1uS4MsMb+lT)jaKRRQn&s(>N40yod)};!|)8X8{TDFj2<%0bDlCyb2z5) zCBA|F`-@P2JZfehHwSQQn?iXe<_KuJ5!PSKnN6c}O=)YW!s zJ;rg=Wt>7QjkBr4xRBb7E2-7Ek(!OWm?o38Oar`_`uS5#?fer=&HUR;mFWYfa=~v* z#RBdb!M(4HjAPrvjl1|OQU+TT&guIWvb0;nJTk(roya`DKp=|l$!5ii_MR+MHbiD zLW}!sf#nl6-;(=3e6$#CupE!x6^Q*EFu%3M{L%*V>?MddEahmGr7CqU)~B{53#b`; z)-*0zLG?>KsCJ1zRWAvn$|W&Wu_T$wmSi#|OADFerIk$K(q^V$=_)pF=?I%+HO^*R z9pYtKUEyU~f6B|SehfJFW!{0_CFmbcdz>;GL`H~XBEbJp{$ve#bEZ?CnsNni32)83RDOnXx9HtkM%#kd+FwI*$WR;K%EMS8d<(i1e6 zo~fnj1zM6`uHp1r4W_qfAidkrmp)|ZOGnX$v9Bjb>1TgFM#*33K2S~8!4 zKbtjYeho9G|IP2n_oD^0!y@ADLi872@4}ZY__2<^O=VeYMV7P1v%R!5J47Sdu^P%w z)j&?J`f^Itn_Z>u>_&CvbQn5v`VH+lVN|%z402|~moyvdO1cd-CBug5l1Y=wl8vSnCHqXvORhF6D?MvgTKcG2 zN$H#BC8eM9`WLg(k{Q!WJVhOxt3rdRq#j^<1@~ICb@(*>e=17 zwmM4HHA$+f$y7y6fy!&jRaRTClG=7dac#e$sCL|>pmwcEe(i44+}bNmb82rk%dUM8 zUWHH1vTOchno~0~OZAND!`L`mM_Yj1u)dZufMI;;!M8SEH`Q6HuHHd4^=_(c@KZ%Y zxXK#iRoa-QlEyq0HI}NdsYV4&Erz_NUPErvs3E&)jY(G14wHw?jX#;DH_ZIT{n$9whz0}O2?y4|IP}+JpJQVa@qe?0DtOvgS<3>Iw0f(k zEkuQFG0JaCQC@qta@&iP(_W>l_9kVvcN@~%ml)F8SDB==Z!<}5KV*{Bexqq(`+cSf z?Jt`qw0&Zl*!H7oV(W})l984f({tE9*+T5!Og+F#Fls3O6nalB=k-i;(Iq6VtWso#PnWo z65V?boHvQ?`MXJU_rGDrB&KVYJKE?Qv9kx(!2}FITL<~?!hR2NS3hybfTc19?Uly7 znA9O3B@c%xX_!4AMpBe8lCAiWV#STrD0ZY((Ifqe8ksOejBGH3kL)*uja+949l6U8 zGV;73WcVXP$k6vDp@TEOai*Jd5?k9~3YPM|2by|`c?P)eIz;Td1pQ$Q{b3yaVZvFl z6N?qIEI?7qA{4nSUJ=XF6}~)QVav-Ey1Y>#%exi4d{lwU*D7H7UimFQVenmk2Rvi& zUG{;&cj8-v@A!aV$`UF@GL%i?6cHJ;>-%?`VabnNq#9k}e2XeKgLf6@8b`BV$EsmnaaU6#B3GTgPyBOP9>$v~FiTHmj_IGj*eh+gH zE}J9g%WdR%z)=nd7J-lK4}{3>U<{;c{=q!i(%IP@Y?JlD5m_CamgT|AH21)DvN&*$ zEG~Z$K9K8gJs(Ev^}2jgaI zE_4J2H#;-f1EJj!`+f;NENu$!3!ax3<+ zX@AeG{$lnJwjTwOxWE&07ywx@7@f~N6i05xEM!pTg+3C@Af56s4h&wT(|@rCRst3K z;&td4cf(V>ejWbEp2+lxSJ4j1bHPpY1K5qci*+dXVgEt&A8cAug$90dL4P^V@uiFW zj^it)=pu6&7~7zWP$qA>poc7Gjz|z%2!6bmi(XL&g9I__fC_#eL+?|V?~|GLpV0tr zHB;7Qw=)muUfKY5{jj?LyLQj856BA_?Y+Vgw+X6ewU9q@q-ik$U{(|Ps~LKTCAx|& zb3-VTf4UPq1u`cj9xbGR$@ER=AxmHrn#f_e5$=F8upCWbHBtNqbb)O|(z}V#_Y)@{Li;#|MsOYR`e}56JJ1OpBzAs|xcyzC?$6K) z{saGybtpoA(0}U>%uTtlCMOQN+5D;un+@3O#MS`X$0#-?u`!JHJwU)hB2v7IW~i=Bg{e@`+(IXy4k9d*N z_<-j0HCn;1v-2>pXq=B>WX6>F7czkHXiZt$lV1-so?w&{=3r13e_?LUyXaDHu`cHg z>f}}QhgZ-aUdE3X(I3v^$MfhQ&!K}nL!CT@CiDbl@fcdnBf1|2;#stacX;&~CG!(7 z597a>p()MKtY(=*Iopt57xL+Y-V#Z^Qn8oMsZfEPMpEm*Mjtjtura}@x{{o(#m;8z z>_qd}kLGcNF63Hf2i;7oIL8c~C#ad%QD#1YANZ6x7;yR`Go0cx<}_VSu}|>jud*P& zcGz{J3`5}NLTZFx}5W-R@9TD9yRgQ z1E#D2F-z24<~h23PKnOWsnIPK%{pz-sZ$pHy3t~ZZkW4FC+AM-y15&4&D`y}dft8= zpLeCMV$YbPmbdAM)x$bu^*dc*{gDpXe6P!GXSDw!mvQ{w9(mK1ZiTM)1-iM%ow?tM zKMz>i=x!@l-Dcy5#uBAdwyC0>Ue*rBkG0*26=u%t_yb!m^4TJ!S8uvLe`0SR z^aoGkK0Z6cyqHrC_B!dbSSOrAbj&$kM_n>>*riZcxK!wXOTG5HwrZbixAwXYYPajC zcDYV!$AWd*zF>#8E6WjPAhz$(Q@CvXu|Isjr+}9V2q=YKV$!V z6lEX7C6(i~5!`pjmqYk+z!&|&*HOFtJhja~L|gphv?(B6>jUz%E}&G?0X143(4?t= z4y_F6*JR*QEf1X3vcUBk589=%pu<`kbiI}Y-)R^Le$p@;@~&Ypv@$G9E5Zu3EUa7; zVRae{Ytd*}x0ZwtX(W6?L*dgJjM%RJh=Yc{h-(c!k+&JTBOfz#N4;g}iu%IP8TAXy z{KhNTd^DB%Php4yEZb(D3$ZulvN6h_wUM@(igM9pl(&{ehiW`JPNUIjS`wYBk?0Z) z#Z+l9rcwPd?dpr^S5M5Sx?`u*8N0>M5xd{e9(Tgf8h6&v68{LiVQ7y341P8=#m`)z znd5nEK9Dgx2j*xx_j=Q?k1y*JiM{b}GR{g9@s1je_s~dupoS8nG?0*_zJyHmCKRYU zp(PTFW_OxkB?NIqt$Prk*ZF8Lvo+LTw}U+^D8ZOV+H zHhGq3v3V|=c9_Nd57?2(TyuO`jUOxUZ!CGPMw0C{n7l}RDSqln2~$@}oH|m{)SjBF z*3=TUq*kdZwNZ_!ooYxMR9)IKLv7kRLrwZ_Lv{L(Cta0jLY29ts>rQT zd0vak@_JR0H)<%(Uu`JL-)<<(KWxa)ztJSW;9irwf*0ZMCVBb)h8dImSqu*|#5r9= z+zmTmZ6Wa%pN&u+z4+3R$3544D>dXhsII_G)df8Jp&(Qh1+gkCOi^iJwn_?%Ra{i1 zqM{}h7Imwjc!~0gR~d4Pw;FPauP|g6-(Zqee2+O5sumnx&W zR_QfuN~;-AO3iX5*K9N-)$BJU)?8~ysJYV+U-K+{!0Yb}3Dq-(gsK@sBHU3)r~@or z&{~*)0cfkhKF7*x?mM$@PeHA^Mn z*rJ5SUd1<#E3R>!A+~X!A-eH|A*%6qcpBa}L^XVCh;EoMMAy%9OAWCvmL34^IZ|@l{k$s3Ln=gVDpLUgzQ^R#_l|sfzmjjyF9yHvnG2j~q8?xxdt=ZGEiJTx zHs)V+pucoszn9o=fY@iqQene(3K@1)@Q9~^MgkN#5}|-4@$z4iF25xO@?BCXpQX+6 zTG}s9CQ~e4xfP z_U=6$vU~N z?2^mMF*&c?Ag7fFiFCIc$iQ{e~3ClikJ&&EMD} z+l@oA*~rsLH}Z7S4cEwW!(E!U{&`uh|4^3ezLnM5Ut~2sqaFRUML@<XY) zr~xIfU=NBZ;_qqJU~IttX668FBL>_#S2nwCWxd-8++?-eSC+d&HE(yU=I&0{9M%Y# zBX*kY?v}~!WissEN`)Uq@HxYP;Bk0|4)Ig?4t~-G%6Sk9aBy+569I3yy%=Ry^90+o3q1$e_TxSj7k4S#}v@w>0JVikST z6n)}aG@wn?0eMc^iw1Up`1=UMvf0~d3#3@G`uk{@wJ6xK~P^Gq0u%+`u__3v)njC;xY2|9<9xJcK=dLcm2@ z@GLwB&%+DwB4zRtb@Q^#?E0Kn7jVPY8?6FA-cCcWC?|lTPTrxBzq1G3f(*V(rrv#+ zz~UKo9OYa*L4Qo1lPKdb?0S(;=SQ&rICcN@MSCxDd<9;EH!kuP$G72+@GiV(j;=!e zd@vs^#D(C|i<{W^@mU5`GdHB4eM6>!hW+JrKzV$54^ihO{lTa~80SB*2L&D9?;3$593}Kqi6z?MDc5g&o`nCY(x9lO+1`b%q2j7Q^|6eF|xgHd}hY7oZx561Z@e%Ou1ZaQ|0uvvqx7VPw3XBaJF z99>`~Hm0$$5oKXJHujL-0W^uDMETdCNt_~fz7y*YQ*4pllh}@py`*oP zhjEN%ay?DvEY0UWw1Q`7O79@$eU4u6Gfj*AF#d}fs__y(68C>a-TagJC?7Hh<1duO zyGlccD8yD3d1=H(2R8a?jw9HZAoZ2ln5M)xVPgkrUq;RkqZ6Fq^f`qGcTppcF$d#S zO63!jfPVw?FaC>5_J6^b&(UN4Mp?W=S-ehJ{Eo6Xj~4Tsvd{ub$V&}2nz7Nzso9Sf zF@hE`j*XSrn8w;>(%(h;m!rU3g%)u=TEwk*@*rBod0NQ_eDaM>Qqw2#;Sxq4zK4Ip z`|u{3(2KN-r)d|D(JmfBi@9GZ*viFD88&LsJDMqF)`3tjH{-`?{J04}ZbXl{9v$Q) zZR1)rp%b)=<9y>Petnb@J3?zYObxTMF3eou3XVUTW8aF?)P~cW)9Pv7KZ-uaRTi7> z*bKs6EGea9C!f5OW1|)u&DiMVEa=0|2zDk=!&YHu18MKj6^6@oz;I0aO>WXYle@Lo z^hxbDe_Olee5PF%KWXP&u9p`vZu9dV-P=pf*rw|@%FlPu?cF-ZMmL)}>jrZ#U1t%d z6LS-EY;LBmoL8tL^D1;`UY!nFw&;Lmr}kU+>oUtF+H1L7d#u)Im(>>SwA!cb)>mq) z^$pr=bC)*RJgJQ~|3~X>ztFn*tah8v?#Fhs7&VyJ7t_UZ$+^>=SYsiV68yQ=&P>Yj(LLIjC*TMOby4)^V`|Pr{$F4}b>?*a>u3qdcsBQM$+G0PbP4;8jXuneH?Kfzh z!!Aub9M)=wlbUk8Ln|F0*QC>1TH*Y;mbv@_GZ&cP_$N=gTz~Qpr|9NS(8V6brz`N~ zpcCsaoSd}V*;6}Qg0FBlnfiT>tJmii_4q!hZr@kb<@XQxNuB5~mtYGnu?$u>!BN;p_r4upHsQ;9KgPN~ zHd^KDjF#i2Wq!eEI58UaOVJYlY>oIAYRJD_1O9dD_is^OK(~4VhSeRgT%Bk!9f5n) z9(1KzgHNd?_&&9SyrkxkzpE+a-!StV&qdP?VyS;P06SucxA0{RzO2NTJ*02FJhmETVEv7Miry3%Ts4n70 z)kfX}FQ_K+BlrPke&eYGh9qzd_QK|P?BmM{d>hA?B@uJbc9?q*u|Pc$-s*}BQAcF7 z+9H$H8kwc$$O1L7UaB#wRt-_Ds*CPbZS+#r#7wC=W}7NwuTVwo^(v3OTjg=j8Oq}R z2H&eJZf2HP_ApB3T!1666V}0GBC$psV|{$-k1CoYWS(SS_&uYKo0e1M_q0 z<5+tTm#dn%5>>}lsVcrn74cmvPZ&{I!b+7UZc$0%0Tm}*r=q00424P0z+d4znE8zd zQW@eg%s2>JVKp#~UL*L?N4a!CTY{CE6CKo$xJY%0zN$$KRaIh)DwC2`o|L7sq(YS@ zRj4GnUd72BDoPnrVaf^>q;67v>VD;=U8~%*I}AB#PaAU5|HAPbn3*M&xI3M;z!2jy z*a$0ODW47CM;B$%%CRwJu4+^5RLzsmD^k5wmKvne)JPSlC8#hh9r9F=UaEZN=j3Iy zDK}$4Iho6p&EPmI^D<>-olr*B?S}NMC*jZVHOv??GH1CX3oR6OXHyTb42F2$O?kB9 zO9MXDWSFZW(^h4y)hf>PP+^w83bMkKmldnrtQ6&B=O{b7SXtTC%FJm|MozENbH|mI zyH2UOdzF%RwUYC0H6-UfZb-^|m*ZE4Q3F{w9^OR6prufo&#g%m`wroT(WmAeS+o7nkD-~IO ziz3P&fwvS<_JtzLeo}(%)Z%9tg`|pqMh?SPx~qE-WGDC}qrDHb<%Dwo0yW zR$_&R5-R-^Um2>{%2>rzr6{^8M^RNJima|tM0K0Os|OWUy;7mo+Z0lBM8P$u;UNXp zyrJOg&lOztvqGw76jI49{n*$I)7Tk>-ZEl;sD`3)V(&`s{Z|ot)|elwMiQS5B1pdMftIbMn}Qq{d&+J`iOrAiN8iHv~a1d7A$p?%jhCGk9x~# zG#H}fILdw557yfi=jL`+)l?P~m*vaC!C@>%_Dr|38*9@1v3}W(t(48!PB<>>(c5J; z`n0T;zAx(~-^gakFR~fo4iDCs!vM6k5RF3#-eluVaxaR+0E)mc5%E$y8fR6;a%Kgr zoTvFy^JP2b1a7jK@|E>eh^*LA*K#UN^QH}!-a#mv>yRMsO4)@Xvkyh)a-#Ap#AO$bT5uc68s;Ox;k=(OYI`Nhoxt`< zxB+f7z#N8TRt!xkkJAp^qI2ao*~JYfN6(JfqEXa6dc*kHHfcd6MH(K$h47fgw9>^L6p7b$lKB5D zMRp$^JWFK#XNvJFlnQnP{V$B~XDGh^#ghCQXJxpPzd-U9L%!0nS4av~*l5B=Cq>^+ z6^x)zOrRL7M0c6S#zxZLj&fj}nQ@qAa)M@aisr)(o&0aqXC9=)9-vh3$Kro;$^I|+ z@(t?DKbS4^S7v3rOIf_7aPpIgt!(U+V55c{HKP=C>Ph@~96uhVULHZQdI&!r&?eH} zN$kI$W_%^qPjVWaMWJ{AUE)0I!QYsb@f}h9?5vDSGc$}n{0d*eNAN!=0k2RNFHjaw zvs&m0)R{+_9r7@%mL5QnxECeh9Ddx5A9qqOx6?ju!;iE0aRxtbMj1JcYIYNK!oC!E zaSG+&94+K2-o1lz@C7yX3+lnlZy59cCHxg$hv#V*kI^n3pk3S}FY*$Kop|z*K^_W7 zznt{zP(YedKsvF}hmB!ujA3IXHrA5%R$Ashy3?bm6W8O7QLA|b-RM<5{Rge)-yCOt z;~NtMMvK`^iJmZ<6=m;6IlC35>Sk68-Gn-Gl3i@BrA|&L3mb*ls37$^Y&2t|16{0- zGh!G!bT7B? z{>Hg<$tKp=bi|$qwgO2l8av6_Z^+g@Ly`8FRA{$JopzcuYllgvwwd;6tLYMLHeIew zX4BeWwoU8V!DX%aajltivsTZ!Ppd4>YbB4QS~(BR(~`Y_F7ju()@SMF?}k$@Tvq7f zj?%pxwlUM8xi;Ew;jF#$ytHdxh_+kCYAd_9Y_`hLCaYp?u&UI0>pHEqZqc-LmsVR3 zYRY;{D{WS3(q@yE+w9YX%`uJJp4KQ&xL(TBt(VOISR-~nXc$%I60dpC1#_7(UTUu9 z^%ZVhP8Xs`;M-1n3vIWx)8_e$w872~H78ta>=HC(&#n;md788@(F*%2EwgXXgngUF z9C|eBFrp<6D>Ur5UPF$%HQ;zu{Z2Qk*ZCgxI6to*m%pjo<$HCx&iuv;K3sx)xiR5~ zeU7_%zr~B81^%qVmuY7kO*uPj(!~=sCrIP2Q5thi(o)wRhy4?QU17&Fy-%y5FT1_h;1X@xGcCe+wuQ7kPs2{7ev+f7lCK zc)!-4As7Cvz?Wt2^EBpekGiu6Wye>89%1VDh*d8umwK2j)3vxzor}xW!RnLSHON%7r7^bNIa5ZRuscMnBw&~pN-&K zKfd$^G8-Y#T5W-jY6)~xQ;?q;f^h%#f|gwJ{X3(Q>LEH;la%-8{I5{Se(4nQ}4wNWmOP!}~v)ls&p zh;mk0w1-Nf{Z$klro!kL6+|a1FFH%PF@?(E$=}(rjmnDcQfAx|WyG&mdi+kMB^*_1 z!p-oIQW9Q=&v^Yauzwev#_kn~v_*y)D`5%r^1hwV8}Y9;jwmS3RHbp&DvondLHr`+ z$NMNZK3LiDk;;lsP-a59G7|EXo>-=|#CoMBbtoliSjow&l$5+(i77|mloC=NRD8;- z96yEsC?T2kvv318jYDy6+G=?!<9z7kbu*vU;ztGkl<=K`BunKb+bKKQRhh}2%191S z8c!WhWyVfQN~)4mbCkr4oy62yC8V_}o&Y5-eNwUMTNRseNHG~VDLUhRcm@6mKPe`i zkrG^sP2&uuwJ?^>I3L=ep7#~_Qq14;d7YhZp$um0q@_D6CBt3G8NN!)2vI_2wBj?9 z6qlK$*sLPOWK}6Tt3^@S{ff+9u85q?3ePzRHz+LUK85DI%<&)aqr$UiE^rKcJ2N;R zGN}jX&Y}!BviL^De4fWKi_g-s&6J#Dqr@Bs#pfL9apz#uZ$!K|uwVE3oi-1r*)`FDjtm?+PsVw}SGS%L_+He@iy~Q4V*Y zp#$on0`eg=Q z<6qh(ztU0pmadae>1FaRyAJM_SJ?~lD*agAr9a50guUh9KrU?oJLAxYtrn<(5^QD{ zlK&#?7c&#P6h)xiLZQr*39fKdVC5nORC>$5GDv=vQSz-yluuQrysL`jRaGNTmenk- z9+5{iyFyg6D+ISR7ggV>h1Ji&hgwwiz1&b`++h#4)?jN1bYZUnScIiQ>}Fs$xs2Gi z0{c}c6167stFw|%y`8-3UF6xYSc_S?t4V`Lk)m`I@k?6pBHAa*IQoHD3H5veBjtRwbnApUM9 z{%o~CU9r)Eb_cn(FO*A%mz+BS<P8)ctEE8 zuga|dA2RFv4t~}Y`5eYxJJdm0Ey`Fu?XZbDXhnbMAol9UejoM+xhp@ytc1}yvYN2g z+zESGOt{E=!b4^gelnd1lgR{~>;xy%1cf_61}6Gp73`tWT?^;P^m#;&kKk+gQ4^GL zFEm3nKPkj^2DXi=5Sy4OU;z8rT{w#U31%g%U}eNAGnucpl413H8j~Y1&{*TiU?Tt` zfevn(Mm|k}PLt3yKb+nQSHW$3_h}@lzrYuC3O|SiR_X-f3bC>_^oOol4Jc}eHn@~K z^89?^B=)DUzm^zu0~)|)6He&4$nG{^ht%i9tr+~+;RQi-I9&90(y{HNvF#*dJ4tLO zKi+wOzn|i}55t@M?w|0j`mxyt)s%Mu<()Rnc}SjvmlJ9S--!Kf#NWHoU$DuddVU8KCj)#2pKyZmxWKLbC`ZVBwn5>WE{ zi%_kEPqVtn;~bwfM-!n;o}q4@cR>sB;&yHXnneadR2B50T};D4xC!osCsj^8XH&=V zd>nj?KIkOvkGxuwKT}-2VAE*JXalz|%t$%U(a1~iGQ0x6hu7c@1G7@*GF!wJEyS51 z(wjgonkoLd1hfrkB1?b_|NSV?K0m&TXv;Vo!#EqlxFW+iJH!RNAsmv3PIH;hQLgXM zAHGI^_)@)SAH!$^r?il1Vbt=qVdXe>+97k0LpQE^z`);uP`wU3l;~n!z6^#?Ohqf7O#% zG4cdF4l@+rC4RavD`P%N#RBr>i@gZFPg%Un?2xxuo$@;R!|#c6UsfmS_mjSHhm3L3 zpCtWh(%(e7JM9_Y{g?^H)Mf5Tht2|Qt-k~Fg9YakwOV)lX4O1m(%)cvC)L`(~gZ^l&E2BjH7o< zQ4*W@w+A)kDEsUf=dIjD2|dj`t3PWs%F`5Q+-mF_dCwC4fo|oTHMTik!>N7DjBXuW zisz!!x)x%`7dv6th{HxIHgd30gpCT$hFWYik@F7h^kHL!beE&XtffSDu;=j=T1I^s z*Ak6!7K|F+)~Ly6T59?e%v|92bZHORW1p`6ILCv$H{KH1&CV@5&8@Y~;Hb?8cWp57 z*E-V(O`9fYwON{`%yPBTyhxMg6qL!OXK1N)o|f2@Xqa7GhHUCJXw#;Cn_l&@i%XB~N_E+8R;TTL zwa-7HHoIHZYWJ90?A}(h{g?0y%v|6hH!foyToMb1{QkA1$n97@&cP_1@{CbcN|g&5p~}=(Ju9PJ317 zd`z{@XH?_zu&Q0&P_--T@mzla^anWS#iiGWp#W_5Wmv;;f-Zh3{tV;G-~uxZIHNzf zIHTb#R;NpV+Fioc<{GCK*HksTW~*sIp&AyHtA0V9YMCulv#?Lq3&&KsXj&C+yHw6a zu+;suO57h*iN~ud_V^e42Y6-|+~&uSz@IV*Al?fk-yBDHKY%|y_|kAl|Cro8Nu`2Q5X$(GDD)K2%p>MhJee0Fy*P&d$VdeO*R93)NWd>ZKjKCY=UZn@V zr1YRq;74Bb{4%%!oBKn#%@$7F4MWf!hJ8M33Sz8Hxl{+3slwkzW&VyT30S0}03Q_w z1S>y)r$GiJC^s-o*@3yr3M^G-P^~h8+ms$WptO+XN@c2YN+`-^==DkpJEz33^YAgR z{|#K3;Tr7iVVJR&;qZ7AWdQBGW&=*u;zt!emO*idl?p=al^5cwoDffChxjWqBup8h zu}Tk3R$6G5Qp1Xr5>}<;@Ma}N^eHi7LJ5%@6(4!I;-aooY}DO~iFyG(;`I+OqqxW! z9mAe+7(5k2yazqd0(E>=$=^yTmqPr>i~W7jJx_A*7rU8{(=yA&Sx9Q=*f-zzefz0BYUwze_^ zo{Xa&;%R@-$m?n-#g_v9p2IOS#$0L4)=7?aP*UtdCB%9uju|_#vEhn|i&J!5s-og^ zp-hnp^@>R7Qh4H0g(a?4XyRUlB%M%j5_1BRo`DZ|{hdM*nT-HfU~40GmnBdSiQI*U zI$&d36+#YwW1|{0BoiejS}88kPBDotica!SWRjmEl0p@p%u_LwlNFkrt&o&rU`0e~ zhk{Z^6qve30c@q{pLVtU(r%Y;+SBkpufLUlDtp_*Wu(6@iSr?udVnT|!POi~AP>@k z4SN)yO5Bk;SCMJ93Qu=ZSo$J`qtXBDC4aqxe zmAtZc$}{^I+^WUdPr`fh%=!j?l~*Ra5MX09Hiogm=BpPppmL6dkOfKUXdfBGzFCa> zv&|KfW39j(o{EvXKz_N4<(um-pWHBc=f%n^FIAp-d0LDXi{98(WPzvl>t#M*@#L zb=g$0p1JBL*`mX&!OjSIY=>Ixl|mk56i^05=pQA-9cAbbmBioG+<&cQR(u2cL!+(i znjC?hF`K+(ONVCD6a~q$ZpxKaQ-v&>S~Rz5NES_NG^c5w%$u&0S<^i-YkW!OjUU4| zn$z&JR$!}-d>U7WAtkZ;j4~k4DcFuFC-$sDf2bk;uE%~8v*KI02i-nL)?L=J?6T9m zE@#c{a+gJyugtqbW!4oZ)2?(Gx=5spA9eM@3fMt_e;n?BXK8#Nz?bmv3%dk$QpWXA zMt<`ly@K-q+Y#hBumStc*l)vrC-!@Y!TZfLchE|vgSK=kj=+U}$diUm$39GlHq41O zOaTv5c*E^53Y*|C-#Y_Oa6$ePjqr2$;lc{B7QR{yCBOu<-!!10R^smt>|@udANxbZ zfJ;~zF=i^m#5^wYHgqg@;Kapd5sjM*?TR3vV_QLEpQKP%kckxoum<+SjePeZe)9(W zi!{DfH+gMo4CMiiU%6{CNj2(0^GC=sE|@ty1^UYr`pa5k;EmYc0^4AR0q|oNe(a_^_D~*s@nau;7zad`hXHkRc>z!s zmy?;xH^348ek(f4Q$T&}`FHcDSao&zao5Ay4TU7Nj>z0s!8)>Uu5kcG^!W&pkI*ic@jJS zs0y&1jO_@@+J`*5;^KV%Y+=mbSuol(+M?(PcxUIKJjL;8cov?67vM#pXfNm?uTnp6 z&`#c_jr?g5T1W^}?5UH#R53rKA6gK@_Y;|iG| zl!92I(+pzLBD9Dqw1`ILVssF-_7Niw6Q_=&Nf>tuU4u@rQSTFly+;K2CmPEiskpa^ z8sDVQUe}XEyYHYId_^q(zbjLWb1|NRS^JkXh`HFb)Az)8Uvsbh3-pK2xX1kovEAR$ zAKpiQ_%reLABp?l#*a7g<8>mqSMlTb`0+dZc!~J#JQ3pa#F@|PB*k?r9y~;p_X@@M zPh#qysj~mw9n?4%M?zM4Qjjoc@YO-&4gi{~wG#`~siD z2k_Q!b1)Y2D_`t{Vn^y3vbc$MaS|=&8Z^4A6+-&4q@PMHXOngjX_uo7)SyK) zl71U$vpWTT?4e$EF&|_n%ENYEZROirNNE$Lwvm>xfflu%*0vtomv|qW&x7$aH=c@| zE!Z?CA2!%=BoFTR???LKq#sABskFKr(k~?aa?-D%p4%>p-oLI4GTGFDTUZ5!$u7?(1?w8Z1i%*E}=9gwG^+GkkT+EI7EF6(pm?o@qW(g ze$M!Qd@%APUD~Z&a;~=JasoSez1fOOnuS5@3|82(#}+$MQYR}oPnOX(#_?keKbGRh z68spUJcjXOi1snS`O=TIUUJxDm{ylzr#elJsKew&wVB=nFR0ZFo!tCewa)n!W^^B2 znNe;(=*TSvSjX#Cbh9h)XSubRmRZYJ0O-Z`wwu*g-n zMX@?9D%3HzUhQ++)H<(ME%QdzWVu?6mfO`}bx3tqH>lR?9@SVg%gXvgRoi?A=nrta zGy0P&m&FBK%IV&X+Q%sGN1Pby;LD(`g$AtAAFR;>@Cr8?9pu&sL|d__4a|Pvu8&J`#4qGr>e>! zTa^xls&J@KnM1uw9XnL)IH)299|caEl<$1G@|>?zuFGA@ad}QTu788?f#+qxb=chJ zMHzTAwDMu72i?4G^JJWhFOB$E?=lBH$5z$OPO5ZqSA~nO%3MNJ>Jp_AmqZo2vLb@j zO9iZ6%3n~U+yyPlL5s;=IHAl%>y_blnbO^^QJVW5N@Y$=s{3D+%FZ#V?A)6M$FaAQ z%lv9T^dEojuK^Rv)yQYH_*PBXRJxm>=UA(Bk-duC7O2q8OZjf>hTs;iT=!VzxF;*i zJxiG$h05@#R61Hr+TtFic#bOBbFGrR_A1f)Y9)9xkxKPWP>OfDlD+ek zt@4RE zBJY@+;SqVo{DI>a@`?T#SkZ``mDn7Nq8_4Y2T%(6ki}=IkN~j|6+K7c(KZT==7|(B zt_q4-tiTvQ`LnyRe{78WVp$Op$BKwJRz$=%$}7HCp7G1HIAOCq5)R2d;gsB%m*bZ3 z2CqNkv;W8=o;m-dy)1_FA(ncGBj$u+$l-lDBtkUr$)-Z%O%%k+DgQ(}`6W8bC(%vb zNj~yQ3X*41lolr?$|E^T?(A;tmQtrhDP3BaGNuJ78|9jM5N?u7Dl;=vUy}>-a$Hk> z(gNn>tjGQ+HoCA;pD?Qd6>!Xg6o`X}B*xsy+;>bN_CbsBLW^0P?jVo!1#(aKlv{?s z7G;EMVMd%>Gt%XP7UP^*EvL*5SSrV?b#lnMT=rQv!2Pnz`n~Kk|0RdaALWoi?2ql? zMCt)MHP|s~K)GPlfD$1ZyP*t;1JfCIXQDr3n`u#wl@{dM$u-wm&Ux$#k;kqOdBG4Z zhdg$L$j_Bseg(A3Hh&n_$R>XuTqo=NbF#{Rk>f|Q$@?B=G>M&l>@=lvKEfpphz)|o z;y6WQpnqhM{~ThEJmTL1;*X-a=qNU_FX71?>>@M2bg^tp{bhrYXj7UX>(VS)m6ph| zv_bPq`!u(7QWm8`)jqPQ4wiX!jLd3MWm;1pLro2Z+X>^a znUnq~oPj53cz=S=;Rg+2r!||GPz2eKid~vF^NeT%Md%Nu#J}aN0jR=$EiqWV85)Zv z+KR1AnjC1%T-=(u@HEq*89SI}8c{O|HS;6mmM1O4yj}+f;1q@aFucVD;Zyity_9bQ zw#tF&O{_+v49IgNc@84aK9$%fJ8Wtu`zB&glAPCWDznac6rc^*aglR^g>-Us>OFMy zJ)GD*RBR6k_3*>qK8~wkFP!AN_rt6F_MhrCzq-#}3M47k=#aXJ8x! zH1OSIayM;rH;L@p3pX%ecnDtS`=6)=7YixxG|D@MuLY53Hjk4FcI_rv1G9$tC+o4d z8MebN*aQ3EGPoQLm@yce%b?tvo04{DBKUEPHhOg+P$yUCp^sqb_z0hG;YfX4MSWcL z0^fa4rET zx*Z->#&YTa+ku-n2gtJnE?QnmT1LA!g3%^lCD5JKTc}3D*I7N}agI;I)9@@j59i@! z_&sIvI)1!OdHjzr>ty1&sm}@c4vp>Il|bSCi9-C-twcGOv6YR75hBVwNdwY?jlccG-?t5?ZdCcnLlu^{cAb%ZBMj_5ayc1p?{=fCm-#job+o+ zzZpHEgYZ_48{_()bn#`ffA5uW>zmk5eB5gS>gUr5ncpsCcNsTg<2=s@%6CG8>7 z9;HdFplPh3iEO6&_Rwq&qe+~kI&a65$7xRQ63>4NGgR{|H(d1Ldu)FU{{t^;4pnQ* zFPzDPCwT}W57GFZf-aCvYDJ`7LE5$G5ly7sMw;EEIY`Mb#o`JyiD{bCR!U(%>ccVg zh||=}{hU_6!>fPM)PI55oiU8ZAF%r&yax1K*fSv?R@kw}#zK7eA^lKJy;x4eRHFDC z(k>$9a?-9L?MBjWCCzTMf&pq^lrCeEu46r?^iE3S5H)j>S9j9AJPjWZ%l`n}zq!aq z*nI^a1>TQ{wRp3Wk~xA# za3dPQz3?J`H7big0_#BFNo?K*#_4wlfG&dka4Dc&tVN4i!@QU&+UF|jWD@;h1^UA> z^oI%j7{`xM{8)+~MA@X@KK=Gmh%59TI?3QIzS0s#~E!@(b%;JeXfJH*^Yf9 z_tK@EWGHaJic1cxqpO|bvq>|?+w>RXXfdO-&n0L=!{~HFoUenl(SH2s!;fD4=)sRJ z>V;Jgq}@cios`IsT2N-1sFg-)uYp!nPifcD+Uw{^YN?Mp&eJ-4I73%j9QcRb+0*u;6AKiSH zJ=(*3?zP#Nt9>3%f|%o=CX0n?ut0yX;As#R;i{P%tLnKt5n^tJD(B^?VqS^L=2ffI zvRNgTJu0#qRiV|i3aoc2&-yCmTAxvl&7<%Zd=CEsVt;JzbYV!bfc!6H*ahvpZsxNF ze5u2iI$L&Qut9&YL4UAuQ@M?g%52z?!6rf_HgWpD?7eq)C!|mlNCJf3L2ToUI_fx%Iy&R%aNp;N-YNHY3;4(V zzFt4&_3`96&pB(Yz4qGs?Dcu}-e-bgn2a+TDPxVs$rz)lGTLa4j51y(BTd%GaFcB^ z%p_ihn!+ramV>hrX8I6(C1GYi@tJ-Cef#Y20mF_+9<__XT>hSE&p4OwBCut$xw=d? z)t8ATCNkdCTE?2P8>6X*jAm}kDAOPrX*y6wm<^TTW~_fOWBr5qEExu_^_v5^Qx3e97NG0(QMa*G}}VbH)cQ41vK+5aGlalk?-TZ!ETqvC@`s zxR{Za<}%#UPKH^!$WTjf8EhFKVeBL`$SO=itwzc~>j~1|db)(zERbN0OZ~1+KSHAZsgtW_#aH=Z#KV_v78U*`;pi=+)iDF+8M}T zTT>ZiYb68i*bTwXUHaSkN{C&M1ltdgzV^c;$YHDmI!u*5j`JkI@m2A6+9!vu=I8b7eCj@;_Lc~__!?>FSqsL>Apui+z*Po zd!e{_G=l5kkK*p}cg~Y{qh}*JS9lSJ-o$_pc{j&!Fr0IPv4zxHSpFjY+_WUf%~1Nd znTo%gwfMO?im#iy__+Itw|igl@(2}A&ynKcIZ@obW{I2EQgQWOD=yx<#M%3RII)wk zlTU*<`dkB_^7r33&wP9IuS4HbU+Mu&VfZ%|jO6bj*fWstLa-$W1bC@SZ*P6^@iq}} zZwvACwi6F;S8@087B` zvGKnOJ`vmA--})E=dv9gtI@frH}&989Dr~zjL(BW2;T*P-oTg7UcGh19WKVr-%MOs zE9LCZ`iB5daSUMnLjda^`V0}fK4Zi-aGKZzE)?s)RbmyiO)P`hks&A-)QUOta?F{R zV-fV7STZL^nG+R>&iMh<14B=R0~!eig8`iD3;cn1AbAgP4bl|nz6RpZ*F^05S&Cgh z2eIwvCN}+i#X7jJSOpIf%iwUa2$>@0A@js6BvMTKzYP+^q<=Q35u^T{VjS{&F$wuA zcrKgJzXE-8f~W^D1`GqxDk}abkfU#3^!G!5Fu508jNJfTu^wn7mIKYjBGgvQL!HGe z)C=?x(?J8oWY7pONsM^Qlu_8LVi>kX48meThUgDEC3=I}zxsc=BhedeF1n*_MQ5~&Xpi<5t!R7xDyDY{DRHnd^O6B3Qkd9R$oEPGYg;d-^ zZd|wktO5JDCLL6AeFykG_kSa^&@~Z^0z-hp0r^vAPs;2x8U0hyk6xo!$N}fU0U(Zn z44s+=T#6373cgr@9j{`?Yt)JI<3}WQ5=n!O#21kWi<}K!2iy7n5Z9G~i`?@b_==sO ziA691x2ZTF%It;d${ZjYZZ$(M(_}?wDICBGbR&vk8XX&W13T7W$6D-Ij~yG#7>HRj z5a5Bk#S8QU_+m>0=az7!J~k(EO#u&xW^kW-zF>D~>H!R&><43DBd_Gd6? zspZWFmsJZcHo!dC>0*Fuzykj`Vf_RVslJH3i zK2g@^941bcU1X2B0DnM`ADaw+u@t<;cL(7WO1bVFcp#(k_aOWoxQMoAY0>Yi-h(S6&DI`{lv7?N7DJM3{`+{)r3g_06NX7Ak zDi@d3b6uAVTTC6G+Z#7IZeR_{R`l(AV<-w zlugm8=sE=y9hgq~swAd8dz75vh)YTKd$^Dej#t1naFe>ZiyaT_0d;bJ1fat2t>Z{V z-lt&q{+k0)*2F05VS3)u`gih~@8BQ)0{`$Q@|Zu8=YC9f@_VuhB~yA&R=|C%gqK(+ z>~BaWxsBX;FWf{t`THTVx@9x$-a}b?at<^BWk-_dnEMNU5H;qU z=%de!jL;q~!V`Ucn2!<4T#OO$5#x{_f&5t%bsq8;BYy?*Bay!r`J0iwo&0qloI#Q* z+i!pos3XU#;i@Xwlq&fFm-g%qTF$Wq{G$JBZ21_xOU`{4U)HvA9f|BU{JOuH5ZOWLqY0T*GTlt9C?k|w2-&;v5?|vT z<}(B3sLaFo5xrlkbhCVlV;eblD|2&BxdBjByIc64XQ8KBMbn^bA*pY@Ehp3l>_^*P?%qQQcHzmLM9@ywq3pzlU+@H-ZJ-t?O-^YFM?@X@2FNx=wheM!fDf_* z=_&@$MGZmrNMw&i_9SFaMIL)mV8=G>*h;;;1v~I2v9XzsY$H~0pnV#gMEp-sf;M)n1L^*Q7co44EA=VcR4`>od!3+=imoG z8=*^0qI=(I$YT_&1j`K==jxGjXsO9UHC^-=A=Mlm@DIesY+`gKcFceWnT{RPu!9{B z&@&D_Q?P`$Qex!Uz7)yPOA;Lxz>EX1ta9VsgJwZ6J8IBD{(HUjTqn$2wl_^6L zFrU9);W0dm?`G<0$V@GLI2GOmp=K!&YW6Z&%~d9;dCSCJ{xYFgKN;U^po~)=Dr3~c zWwiQ43D=k|qcrBr2+dbzxaI~KrnOs!YNg5$ZP-QaS_#wc1RsHKBuwW=NkyMB2WFiG z<+tn^lFj1pY3Ae`*fR-RCK+nMtFZTij;V~(v63-5jxt)uT}J8n$VlBjGD0_4hU*TJ zVR|EEsNOgkqQ{Pm`g3KF{t5{-U2EYef{o`$KjY=n*JPap@?%IJlT-;X%@=>uI_b@vnBJxzgYWpvdNp)y zvSnDuaC9DzH-4&=Nnk9WM`6owY#WAOhL~x<+vrIcTui75yD^&BOMg>W31Mzbuqo>w zOoJuJG)w}`MoAymDFwjA^fq52eoP4Vwb&s(7RlmmnJZqFHR8!WF`ky}S8e$npUJz? zzYd*C9f<)a{13)~QG6zSk}zxu#g>8C+TT)JLM#lWpM{wOSy)S;g`)&mxQoA~pY*m2 z5Mp9t!Idr%_8xzSuO7D72{@`D6Y2I;==3moNX_I-|_difV><1tI@g0 znfP;|4!~$IjL$0G16x9{r60Bi*=k518-4M&;cXB$7UFATC*C$L;$`b4p0)wvVb@>W z?S_h*{aA6epC&F23&h!Rr8qghEsl=y;^34e_D+>z=X42tAa;)5h&^kg-bP0xI_J9* zhi>FLU?dm}268T#?}D%=fa`h#A4eVWax@Z8M>BDEv=&!KN8lkYPJZI-)K8q8!^F`! zTpV1ch`sAPv2%T0Y+c_J8@D*IcFPbew^L&2)&|}eOV_W(%JrYJ86B^pZ;m_l;6V&} z;scI@KnUl8_|6~rVviT_aMcnwR|9czH4!IQOL26w7kf8X;3IbKfnw_(DmES?#oA+% zSb5G7OV3xu!fUgbd&P*E*KslR;uit0i(=x%uOyy-5i`%9WCQY-p-))@H4%*RCjK}M z0DZ9sdP98q-V3<#x3j0ZIC|-cy_b>LdYg%jw~bhPJByXKr&#&~h=osoF^7vW^PM23 zzO%*DZ@HNGZ4_g_C^7Oo2Fk^dc{zrDkHD8=}~4ExLgOT-{> zo#+Sd5xu~}q8nH&x_w$ir_XJUe-ynw{O*tZ`N)ny_L$yqaDa_@r7xcmDZao1xNwds zSz^-%{vl99%=+qyNk1bo?q@DW1gv2{7vL=h{Q^ZlI8^k4M~QB5gy;k>5Ur5aq8YM7 zG=ft_o!1-m3O)^P@b@R8(eE3175T3)(e0B^Z_vwrNe&iqQ zSz`7$uKI7w>-)4!C)+y36_D)Adc@CB@L^=;a%YO;A@$WjtI&&8VmvbK@cK( z126t|384-Kkb8upAF;+m$$^Hei_Sg+5_bq2^0<}n9qFx;mzD5>L85#e+c@Aqkkm&N0Wn( zRTK5`T9B!F+-yiin!vMI(75TyB53Rp_(Cbz6bz1_J|gDw_bRZ9>yChv+|vd=T^ z8s!@ch5{7_gkEJHk_TmWLWIo-^1pEO<5v9%uNIjzgYzo@G4V<&*A;X9IqrKGd?k}8<0vo~oyuA?wu2Hc%Iu6A zZO5R0{LlQ)RC2)S=$-}UfVpZkC`~vO>{v*hEW(Z@*s+v4S?&nD02R7?7#+}Lun276 z`*@JgwM{&z?{nXmGHwK+g3d6|m%n`}vnyq`!-eLQm+7gZH=7)ME_xS$#b6nrSn?`% zyoNs_u|t`cvKl+q5F6{P;VN8!A0RH)QJ8fIS+^3tWDhvbb;RWx*SP0Xc84ZR(c7OR zQ~p%z!0ahAk6zYXQTGe+{Zd6Ahy-tdwO~D^#Uio-zio7rFj@2}du}+t}S14r&@49Ohb3UZbVd{cGr04c388 z;4QEX>;$_3MIs6K7bg;@&KwbZl1!W)pk59WqlY~K4f`;KJVYfPqyPtE`4KG-KBJLq zZ>ZK{^~2vjuMmTj*>XAhahbNFcMDK-D*E;VZdGw1$sAJw#obV8!^N7zHPGFt_3e*HnNDyn&17BD!7q%9`e5jDNLpmr8Fm$3$=daEpp_ zQR(1silO2rPH-#%xK{OJaV5tZP_IGqh#hCBmov^F2vF&*RB#JQnvy^Ps8{Wf?1^qW zPMd6H4$5Bcj|Yn0V?fc#r7ArqIaUEhM=fXor$I9~1I~eq;1Zx4ly2(g7IxgTgbSfg z?uIfqB!VCKspMNY_XY~CD-6KD_=leLF#6=;ru-Uh&#&{I@DYLJ<)QE&BghEG^Q(OX ze8em=S7klQVz`eLa33q-KGwobY=)cIPWG^0m0@2ZOTI|5>1 zwIIq~oWI!c4{Z4k{E6J^6MkR*9r@k+;sV#=i>_eiehemC9fhRvUIib$`zBeQ-zA z;XVw|V}?uZ(c^(0f8_Va?L*)_!jU~5*%8Q|K?ux2{zBw0Lw+RL+*-m!*$-nE+(bMU z93}HFB9xRjl-%IcUkEL7D{v5`f^X3Ku}XIjrKMD@vJYn^zBq|5%HSW$n0HV@ofMMS zUPW;}>kaJssJzkvpG^aw)uoG7n=NvfqMv*hfgGU`ZBD>J*-7BlG+i?%*em zJ^Ntn&g!Yj4vtpduR@Q+GM)n9~k3seXmV{aLrt?J3>hTlj)sq39k>kZXlpN8o{MKV%0XyFXoM z81jcBe>ActAUlFCeHJZc0amQQBWr0n+lbmY&K$$KGFsC)@IFv>A6DK^{an?xDEi~T z4!~$f)itjcHRS3b*9f_0NVEaYv;a@!`@us5A-_NJ!-&XX=opRM3AB`{MCmL1TZ}a; zX+4{Xn0@dAhxn!tE0xt%x4~E7Ip-99uBZFmL3gqNtOU!|c(ihU5x!Ue7c-CeoJ*Z3 z`~x$$k?%uW@67=|K0xSmebQxxFZWiCMJ3I0XkZ*!~OXR~pUy4o0yh7A2;S75~5;;SO;32f6A++Wpw2#5^0Z`tR%{q5Jz)b^+Kgb))U)P69%S}>ecFmqy*Rf+oz@qsbJ0~5;6V{SU&r#czO=h4_Qitk72 zYsyG%eK-{(8K!O~LwecB;9iarrq2Eg>OK;x9v}nN`^f-}LDFAixP)kqlVDBuU({m% zMXlE*P*ID}MdPrYgUkTC;lt8@!(noKo1n7+sfBgvQtv^qE z4PFx;gU#Y?5G7uQN5#{yR6GpNh`Zrk@Hya(d+1q-&IMNZz?wV*jN*4Xq@AxiS8RuF~6(^$&&t;%gKlKD=$(+i0|S8byeQ@jP)i zc}-kRHj9f%v^bj_6DN~$ab%wu2b0GfzXX3*%>{ZDeRFJx0fs$ez;F=8=lNK<^)T@hchkP&W;#e*O-G3fT#S?1E8=Lr zLLAIDikv9&lVHWsB~ZE;4d&F_OR#m4*x*?^9v=$vIo{Mq9J2mH@*0O-fLK)z#& zf%tKq59_47%(cbS+(6vTO~lRIQe4b=Bc-{kI9c#U2n*f_VaXdIEQgDo)daD%nk6>Y z%f!lhgILhr^&)j2&9U$lD80vx#IQ9hr*yGE0p1>V@T(HN{ zUQO)nwZ+!KP^=wH#L9v74-Tw!MiV>d4`at{Op#n64E7KC&D_S01 zqUHXPXuJPKmLq=_`X;!;e}GWX5BLKgH~i0cuD}V{0hXwVxraJDj*b|68H$m&sTg`& ziGjDH=zH^KPH*1K=@TM4KEp(tjVrW#W{W1T^w99#BI>M>>gAgyYChEn@8I~MsCj=S zi_tUPgPfBg=TOie1Oh+KsrVmsIs2(i~0XP@DIK^V&Kmn5dJ2j<8L9_{&u3} z?<$)9KB68FB)tN{L`_*d5io;BwG?dR?`V(#Dk)?;_yF)eL1a%sZn!t~0D=L_oy3Q8 z9>5hi0$a{mk|vn;X8iB34#%S{xy(6bN-RnP0bl^aMu7;h2&@JB zIDZUO5O8haeejjMg6xUN9_~kf1cE?sK70ER2SDMV>^NuTPyXKr{XzT&+P9bJg=mXr ze|_mSfDWB?N=%FcG$3U%RVX(M3I@Z#L@*Dm0=xJw4Umisya3*#0emIXDc4x!4*?;d z5AfrhCvf3!g@dvVBnJADe<0SdKRL+2UZNSMC2E89xY3YGL$gW`WoEek(Y@wI$#j_dNr=$$+wr;_^X2#R2h|=~m*#XGh9x(+~aVH5my1fk@pU zZ~zofMrv@Q4wb0S!woye;)`+kVmuwmc!GC4z8KGq$^x75QvoqCZZk;a+Cn;l7Vw07 zzmoCj7zPG_UpOF7{&o%_2B=c=LFh-X!EkbLs#kq9`Y9SeT2P6aJY=zBGIp?cu1w{@ zGM$cn2A#&?+Mlo%LH z8=$-<6hq;Ew8y~#Ac{c@GQf1ep1Cp$J7#0Y9PCi$r7XaXMbwExfG@%q$|lqc5wMW@ zSP%(z!=0paZ8bbfH}`$UKG1{+fKpV=19Hb~2g+<2j(+s&qgONHXPt;)Foz7V5D@OF zLElmh27uZOLa^g?>{w|APhksa)XHMS)d*dU@vD~b-J9?j2e^*7e65{(n9V=q z(WU6Yd=(dx$uS$?QWZZ@#IXdFgHxaeG+;+F{%ExU-f$m-_>3=_UL(09HXDz@l~jl? zx|MZMOaT^yjre~X_wEA;Kq()Wsd$iljwb-2q~co?J=LHNG=S5f1)K#J!DVm-+`tZH zF34R+lKMdS4}5V8r8np+x+&PT0!H^e9LPU7{s4X?xB447&0m>U&aX{m>VEtp8%(x5 z7)~M_24Mm-)u*x-$1J#yd1OqB;XYQ7H!JH=*1>(e31_g23?dfJ;4t(|E~Zss;w4P| z6z-sB4^V}J$OXUf58tEvYw#8L1pYzU5A+%N-DC2Zhvb-dB>?_o0P=^zeS|aLV*+}U>)vxi|W_|caVtN(&0QxU?5tkvL})c2cqa!-bJG9#d!dH zgWfN|N8lb%+}Flj|8w}_4Ean8IVQ7_kspZcfyf?;>~Lg{N3!w@_6+2|g8T)9#xmqb z5+>`(;kTkaitsrIcaTdcDXfgLTgg|1R?i+7F&y`UPtf@;=mgE63Y3v&7UPQod{ID- zna{j~JUF2&^19>LaSS_@c^HR9nTIinvP?tnY%)q^9>y|4cqKXX1~RK1SP@Tn9m6Z7 z)Q~a<<0J4B=-GqwEshV-c@Ze#rG$0{NCOA(MG84LGjWmY0NjzryFjobih9{keC(AG z$Q}dV!COj+ksZXycI?=S9dE%3yh+ZznX5KZ`t_7T*}ZiwtBlqVX=~8^2KZ$SNCi5x zRC;?jfW7>^6JKn{7hB0Ow-TRQ#fj$Xfm}c2D(gV{Q_?Wx4oB{2WKKY41YM_+@h_l8 zR=^vqg*Vtrq{PWmYGw(wxR{7q49m9|{R)&dAW9Qc%AN?6E=cK)Xrij_X*F$x6~V|f zL#7RI2A;_FLqj04Ln!eepMsiXLCeaj|IfXkzb4;&TCYGN0I(j~%RFN46i47>N832d3Ih%xqIYdw`xX$DMD~``qIEXHKEd1K@C{i8~^S~=$ zrl=uT2Z@HrW&Q*FLj?1cBIq}!V8>+an8pK)R6(b45h!C33|-YV}l+?^thqN8$JH$>4%kSqs{n6scyNnzR z7KpvUDzP)zCN>7lIy1->Yl9lGGUx!jsZ0MW_PwPZ&=PdAuc2cO`jqMFqpa}(2myh7_QMu$zVpBq zH{fEXE>5Oe@He_}Ifi0yY$CSIjj>^FjJ1iYSef{UrD>2@z{QxGhKre5gqWJm7ZbBp zVq(5cjLefkt{9rvilJGD7?^#?k-Qrnv(Ptzp^m}<4Fr9G!oB!liwEDi0=7dD2Mg9c zm}`iwnU+|a>5HYAkyx0SiMhFrn3+3^skxV!S_FuR#Q-t394SVYlf}qtju=|KCI;4T zioSK6=vilqu2rSzShaz7Mc496_WmVRK%X)XXej7!j}JKd0Z(jk<2z^IfIYTWYGQ4r zE|yjrVs6F$k5-0aVr?qM)>dL<&H4u$)<4*={=t^@54Nm-fQ!*%vq)XLWuk4rQMBx% zMAJT9H0(}_y4?j)w|y!awqM9X^@1;OT z89bJQa|nJ6zL2@-P?jx>WC$J#f`A`T_#ao!I{|xau>n@_K<4(n;Fef_;iL_Zqc3_c zMxx_lCR(o6qUp+eFkC&Pmz%$+x%J11BPhreFdw`Dc7rs|mx8k>cm#NJAG*dn(l7@j85%ZtGBqCm>T9dBRI z4-5qp5I6@!^7jsK5EOIW8Ss$8vX3H?e1o1P=hCz%;NFZ00&fD*Xy*e9hd44MBevUb7>^kR9TUnLy!y+&SlrPJ51Q znJs4Mg@zSFfAsfZ4M>oh^y;U5nh@~*Jd* zJOpC7HW!@czWY27{w$-Zx-ifeC>)R%`rNqPk)sWt%_)uvdJTi%KM={|K-2~bvU*X0 zn(#0>6arrir%p!Vi*Vv19AAXvyl`#|r#`~R(E-i@tGQ+$4}?svuj9U3;Loc4fCf-L zWgd`<1ERdn=w6)Lbk3zb zDBA)1X$Mmel+_=-3J2s!nUy&}rrc&Q0{&$*dT^ym=M;{F7sE8<0Nkq@_|50IP@M-b zb}Yk=SFz)Da|R|39K8VrdJRFZa>J`{Fj$D;x;zF>E!^`=`cu{*^!jjgq0Bav8R}mQ zD6f`M)~P_z`3jf^7J?;U8Njs+vU~W6RUFsglXY4QjKfc+Y96nZ2K*pY0_z}{!2E~aSlfeOS7#sr`y_gT83+F*wDYS#5 zppoTM*gPsTCla1yAIRXkYGI0@IHTJV-A0(Gxt#k~fek<@pQ3X=hy|Fg(v!v!S29#b z4#)xdpa_(Jlb{OJfhPQMhPKk`3_lUXXME9!a~mjBZ7NA7ZyQIqvJT1w-P)_UNAd3t zpy*8i2Z5qb(Uk{&(No6X6+qEd1M0zP&P3bLz<>K1v#EpZ_;^Fc=tQU)S>7_yajvrbU`a$QfOsU>);8N*kS+f`sk zIXO)!L0U|}6q48E^Zy*I$-?>!^2}rCRXB)vpv;3%boc1(*<$trpPNMk`G(kUhJ0l$ ziW~C%klmN+4u$s^iqvpqkB8lu4CgT&`L7^&^#Wx@ zh{8-LfzKC#`>Cb#3#nWP9sj0@h;3zgC8XAa@XQhaoqdI314%B9J|s&UG>WBC%$($}`G4 zZIyjh=D@MdVP?o2bStYuW`P29(QZ{8-kTiP0NRnNqg;kBmXiIlUpp`dw!oQq^hCBF zvIA)+!N?9p=1^pYqkRH#JB{3PE^)Jrzt&>a4%mZaVkwVWYowh$13v)X$^n#)ZZFsb zBEb?cAIt%>MGbk{$TI*YzyjDI+ZnHWAlnz&eUKfD>`>$l#e#6WF_9>l0ei5JT8iY% zn=l8lM9*<*t_pNBAo!Z&a}^Z-(}$__FH-64d2lHY>WN@HzEBv6aX-(97)y+f#f~x9 zF&aCDCY-a&j5VU zpZE-+PC|$c_V-7J6*}zE;erkiboe4K5V-?jB!<#@#t<=6IXj;|FA~n;ZRU|AfE=Q! z9^3-#2#F1AwHR3FGQgpeA8)|m4}|eIn;l9&9za3Z(?_e9^igLQM(V_$I`JnqdK065 zv{_$zcpvQWMxqyIJ+aIK@33};zHSnj1Ap@>S8T>>F(89hUIn_qANl-)tVI7j^iDCv z|3(ZTf$}3Jn?5q@f>9^m`CyN?u7-GNu@XXqofy@P#6ykU7}YGqP0dDJ)mRaMHW#dM z#v4v*1H@5nxHzb>BcmESGO8^D8^l&^KP~(iI0@Rohu~XwqU{+JPGA5s!UX>VC3y(o zvoE%I0e5V1Gf)>7eJyd()rDa(5GO5mV}zk`(6khLO*^sEbOxSctJzy@G=s%ji>T2W z3ucI=_7btsUMJ?-d&NwfH$rIfMhMNbVy3|xA=Lk@njJJ9eaa7(LwN8jGf@HoFJyrU zK{s&Wdq<;QupXLX2Rmb@uP3&8ybXfcGS<3gVx?;>mbwmNq3b3VdhE!k$BvA8VPd8a zx2Hc{ObqB@4AzN}!Cr7g4E0Mvs~GCt1)s@6AId#|OY4c=Oqv^Ui=|TkKe^ zWMix$R_x?!X{0L_hWcV|U?^q=Ccr{W4eZ3!&_zs0&5TJ;jF>57XvB&Lrb`Tsg-g7_kG^roCWYG+}wP zVR>L9j9Cp~WPmOsF)}t2LuShuGF!&L#1jOFzUctbGaV_qrc*=*c1GK5wP=~`6iqYU zifML2)J>bgE$Ls=5H~(Mao!%-V2dTpkhz(rn3-ye32$~X zHq{eDcCs;mozXWl6+JUc(KWXRZlYuEC)yUlqRG#;8kQ49-EywConrwjWM-}fa4FgmbaM`ZIPUCKhZ+C~c_+ z;0xS=!U)-8iw)mfTJ{oiOHJ4(E!Zb5m?sz!D;?M-J<+x`5DhzarnF~PggqDAJ7T;C z2mqu{%FnotGr)52CP?IbJ~+*_x2b4WG@@&S9esj5^#HtpE1wlc$QD@hy@j>9n88Y! zFiXe?7}#pUJZXzIZ~Invr1Nm5@wzAt2&XDHySf2C(4R^j38n&`hHjfU7Y`UExnP6y z9q=dB4nad5APX>GS&`)dT=>l7A7N3LSlPk|0aIXPrv@9vj0{J1rEu01byqr3H#$=f zIvJ%S@glgqFxuN0c!PcbHo$ulSP0hfJx@um94fql`>?_NOBs#MLENIO4D$i*B+yQr zv&RmFm9pSy3XC|%!a>nhmGy=Zp=dlPxe0`*Q2^`+#f~uSP-d#IYDl&8 zQCWhhP(I3vp<%8 zgX@Ti1vLyDZi%u(kY6A^;Haz&GapDB7z`ss6{?L!wo=Z?fF{l`wMQQz&Y=2VvqccA z8i>EnaTQprNn)VSK-B~gpPQ-NP55Hd7|zdwU7$YJQXg-WFuUZU^g*vDb?itTTVSdY zepY7WsPro3RLaP04Cs4Uiq|-<1aE+~U_ICbwgAG7l;-D^EW~Oob|jjT(Nib!z4?q& zqbW#KBr_iNkx*oDZJqcME-rkf?95|KnRRd%iAT=>e<{aTfl{`0K+*LUQ1t8qd%=DX z1L6TiW7zsHW+aOk$v1!%AvW?|Ng^q54h76y%*+l9PCo$CP|91m=#$ZHif&z{%nQK^ zK?OK9E(6Hr~p*AoW>t#X)CR?lNKLX5uDwC zFX~WGjq#P);(%^tWt2X;)s!-?0g7LDf+&yxFqee)U(84$f1dz~u9Kh&)Pe@k49&Y=_w^gMZr{0k z|G~pYPoBQ>?tAZl@Vk$G|M4fE{_*oK{`BQnfBE{`zkc`q-+%bWkN_mt-G znD+5ZX&@icLjIsMk!H%cq{o6<~v`seetuWzAK;Q6aTU#a$At>J(5`4@lv zFC6xN=du5PUH1R(vHwSh{g=N)O|4fib#)D5MoU{;M@N^q(Kj$KBy@~TOiYO$a|`0f z%9;qWwZkI>5m7`K5k~})5=p91>WQWQ3MN%75lWM%C|xN%>HLL@mo9(x^_8pFuHU%j zt!+DZ?~95}NJ>3;_-J}YR!&|)Q8C@6(p%Qm6BMeL_^*)Yi3wFuC{aOJ5EldnkwIt> z8-Mti==k)H#K-4f5Fuaw`OjYwBwv5?&9}tKci(^ix4-?JSoz0~KmPR7KmW-K&Hwi< z|I=<=`%iBeh5hlm${$3 ztzGCeLN+dCS| zJloS7Mes;opIa!Gx9A{kl zYw_s1uHDl+`l0XLFOy1H&dxe)s4R)S zQ(hE%zqlawQDJ`Ulf1mxr&-vMjvZ-?v41TdV8i3P`U4-|(_eh|x_(;Mh2E9to2NCk z)UCeIP`R_S1{*3$VsDq8h`C=>81pc%Am(v)e$12O*l`3q4(24j`)hIkhOX^HYld;{Ur7^b(i=*%4o`}Ae zi5rLJ~uTV>_0 z&Xd@1qAdDmUTO60tm3G<=_jJ@r4>crKUfs=Ah|I1VM0OtqhE{LxAd&;+}9s?^Pb*o zo!9hpTF!>nHJqN?T3NfU?PS%i&eDpQs|DrJ*R#u_Zl;$;-AXHox^u8N`ff^b%)P`D zvG?MN;_v@j+`O%4dGo$r*tL6lD=%I#E@(V6tf8`T!I|>f^=&29yDk@1Mt9{@L|r?6 zGO9bRJnF_le3DWceJhdri7Sb_9a9p2=hx!;ZC#sd_w|N#+|ygz++kH*)iS!Vv~ls7 zqPh(i3u<;<%Bza*$f%6!I&v!d>cNWWYbhsVx)VWsdF=I=^0*sOWeL9;SMKQAcRbJ= zb>W`grrOI+rNu21P8XbBdM3Ai!}*-rU2R!4(U*=^M_)cv72TOq8PkwJg7k%+? zZA^PgP0Xdl>e$Qi)p3_&tK&POs}ee*suDZ)RVDpuT)408+4@K~qUx#shWvNT?CbUglAahS$Ca_ipPY)xdHS;W&4wP|{pN??{P6E>=(l+IEgt^o z#e=c(ya-Y~FPgoT=S79;d2!-Do)=v|KQC_n{JgkVlalhFI`P1x%J{S=JTIPB#OAy- zzHc+O{Jza9=x^tpXMWb~wX?fCyrQ#YVMF_g^*pn7UpS*YvvT6DoX(89UY{O+tM*93 z-I~LR52_9%KdMYgeR3-C@Ux19jCV`pv)_4HeAi}V@qL?R(BCdN&HSvz6B|ZVbe1lt zZ!ccgdcFu73gRy}=f+)a%#OQJm%(oc$Kvl-9Z7gpc{u55#le(kz);k$OrpzjqMT0O8~DL?LNLr&by+N`*H)fw>*E7KF6 zRvb-yR-Tsfe(B*uzdLa#}M~FzqT7${I#8TdtG$I2KSxaC$XVyUVVEBHk{aX zq4h*uM^i!EwfelcTQxax_p7qvA6I0+K^#wdzw~(O?-VX0|5(Nc*=bqtzAV0NH?;Wc zCB+7ZnV+3;+j;He2yB>(4QsGr=Y`hdn2ys$aozO=akp#o;6ZZYpPnSYQ#g1M>@1&C-(LDg>-pjx7g|fA zJ5CqJb=MWa#T3LntjLRhS_=Pg0{$T%9wZAMBt0|j!}RQ|_g)rXDK=a-5BzJp-Hgx9 zxnRSvQ=KPYsc$dChSF^pTFat3PM5}Auj4nZQ-yI4%ktx%oXCxTRzS|3P41tL9cfty zJ~*6{{@%;tPnQkMzv(aw{I=Z|8=QAuJ2m7~XT@x6Slx2I{Ot>^C-*9R(Dmx#xVtB@ zp_m-AfSfxgH}0K`oVa(7XT^V+& z^VF>R_VQIN=TB|E&|0~>L*XD!702Ewg$F4l*Uin3d7POa^YmC=>^q0>NlI?gv!vVu zFO82o^v(a$X&U(TW$PKAU9{iXT^)L=vvNjVd&TQ57i!j@Z>rp_a1b|6!h@V3|IZ`u z&LZzlC;v|)|35(8B;_SOjn7MYX?)nJXZ}@}NuRGet)_q0X1lYyrhi3O_0+mcHA|b% z)~&fvSGl{ZlDtmI{|m@%WUWM(|#wfG>xulJw30rx^_eRNo**oh`E-3GWvRE zS=5bVZ~%v~aF?c|b}I|;-|9Pt`cobb|kd{x)<{TurJpWHB>`f0b(jvHs)%G%Ek zsjY2Xe73xHQ+r9(o{mED|LlsWtLZ1BuBDxf?mh?~ky0LgBdILrMtoW9&Dheoo6)5S zw_X+xuIidRzNOdu={^03$G7#j-?(H|R^K|dvAkjVxf8Wp+6rp+T*_7D|IteRe}(-2 zYAPH+68V1ubreUNi7Ai29#x+3(zx5LYkdEXp6`PP`jc)yPOQ@cl%{~yB+CI3$)|4%v<)0IH}A9pJ5YHUT^)t@g1(>vfQRQ%~_2r&tx{dc|N0V&xQ2b=(e<)nDztJF_)67V=gCF#dgG3#dXA1 z#dk(m#&EwdvkB}&OF{Wt>Rd7WYf{cH_skv z*nR#;eawY}bukx{Yh&9IYvbDEYvS5tYvS8uY7#C*)g)fpU!8PmUv=_JqwAKANymNN zkme_P3kp9mdn^5^XTrf-V~(eGEh%NAB=BTFFrkIxK)3L2ljd5r8 zH^!gk?76)SiRbn-B%R+~pZwBjzoTt+?x9Xt>0gXyXZ^)~<)M!QwkEtgA|~d+D+i)( zMW*lX-kh`h%GQD%ojXr#yS%65?MwU1-fWL9-_jm)a&uc;#iq9SicJ?2Pi?%I^wN0V zY+>}g*~$BPgWuTis|T!luXNObuB_#?m$NpVZqM4&axp9Z-1&@zi)W7}UTQs*)Y+Vp za-}Kpz_ruyhpsoqq}^zUI(DmmU&ihFy*YR4_7vTz*?r=L@tX}jKKsoNzxmChJ=GR>*EgJu8Tf;w|0NVz1n@b_pA06-aoas=dbAAU$>L(YcN?YTQzFXTm?Kbsrh4sYJoln!rx zB;jWL!K6F2DJl2<#hGV3IT@4tq&T|Z!HMX?`!9;;t!75gTkXA{H+hf!zP2AW3_H}7 zyQKDV&id1BdD~jg=kHhXAkEqEAQ|!3>yO3Xu05Q1ulhjp!>Z)e$EOn0-hl&oRuY%< zv@kaRVSa4k{TId0Hh4X6@*4YHUEkI3o*aq|i+gOy-`aY) zI-K^r?!PGh*=lO^{EVH~^Jc|{AZ!?d4U1|o z=dL^5R`8bUH;kWokZbTDw`w!v?o}O+e{||-;yWkPQr;^&boh5C4rY9io09WRW^(?c zjHH4GFN%MjF*W+9$_CG|-_-}LepWH~a918SjF{nFDcxoIjuW51EybW zPM5`Buj%0+9+mt&2O=vc{=H-HF^94azJDku{kk(Z=uePIfNn?8@97OGg z|K=d>=aTa)^ACUXL`j$Ao0ySB4pZo{SeB~54Q)~Ps%Q*aO^r7^ej;UKb3MBhIK|8VI4e`y;HaFC6U=D)9 zLBw_&fo&UN+E2H#^h&ia&}ITK!A)wt|zS?%Vw zVmOEbIEbuMQCE*K58)6TL@FFaQu)vPLs{HSe*eF@uQd7A-qMs8#`~9b^}p^gasTGB zRrt4U4y)d4w>;2x(fw3)%jDA~4X>Rmtb6lfe$C!XIpqH7mC>DP*m3|KA{oCVRK#A3 z12HG#uSK0q=-ziSseA9q z(S34V&*cxd3`abEpugnYL;d*T%ONG%P4k;G8s9jR-thLhWA%H^A0_ucR2$Ql3X*DK z+Y`wD;Q%hd0bGiyh6AWhybK3$dEZOm?iC&Fd$;r)AKcd;+Wtg;Ma6q2QCT;GGmc!I zS#s!nWc9(;Ee!{ocC{R8j6Ta8g!9RDu@@4Rc?fm!s(A=8%tMIonTOD}uay6c=C4Asz=*XA|LKfef`1S1FzlRfAH1&(T7&ti#@db zUc%vJcazeV-A#UBJg>FUeO~MC^t`HX*z@vX^ZrygY1@;`h3Qw0ZmQ`xx~uV0dQ5X$ zdeWH-Y02l#A4t7;Hu*sNnS{faTVs!Ov_u{2Y}uF5)x0*M*k2*|1fmk7ey1dJHN7v$!%v+Q!lk99_(m|JKWVAee`P6{^Qq9@6GByy*u}MEn?{EW_H8|y9~-`d!ou}|S@&z?_Dym0nN zQhV#cl#Z6<)UKxZLsw779O-V1O25&tFY{)@p1fQ2yHDJz+EsG1VprMq7s2y7E8XYy z*ih3a?0LmtY#6`&QTDvd&h+(lmowh#;fu556dvT_nPZ8US`H_5Hl?OqJ)L;qdPCgd zoAuGhZrAP0yi>O~?{3weqPr*e6yGY@Q+ne?@Vs8J!37%vupw;T7scbYKU8cuzP9di z=9bg#*}LFkV$Pk*j&D12JfWlcNaB^#2a~!Rl2dQi#~->=8*}ttO;qOnn*I3?PVOtb zSF*48cG14l8!v+A^_Du%8?d1k8%_fpKu7HOri7LEb7l6;6J^$_23k7@6 zGauv<^FgjOX2OG{!-J$HKBzp9@}wd;?cK7(toI7zbD!kK7d*&{J8>r?uH@#6KxIRt zljHNc-eJ!xL+5{9G8#W%L-uQRa1f2{1#kAuiz$k`-2BUYkc{|yRmTz@SEMCBD?51j z!=lv8_j8kTpJu{;q$i%Zb1b3c=8NE8Huzz~!1~5UlKFndp`5434&*;Pl2UXxExGvCi{N>qxz2ON z5B1nkHK50ayqP&&x&H@y?-|wf8UOvGwc6GWJFL}ehgDl!_uhLTqJm7>d+(i{kU&BP zflLAf5(p4TAdC|AYI%@4@SdPk5ax-;1XnR^FQ9SJ{+@I!gK2`r3SIYZdBZROFy8hKzo4Y#v2{x(`xG@}=|)$$6nD^E982 zvWL{%!4z)Z(f`6*2i+Xxu<#!TiJ z^4+veMgGWbj{GBkrQHV2W1dJx(9w1G6#J>a1X0?i(v%!7F{L7se)nj;#b zDYB2#a&ia$3sCj-6wuF_4Z8X3p=`OsP1PpiN%claSMjdm&g$JIM*R_ed3k7qx`f!K zL>&Y)gV39Sx(C91YCjic5M#3kiD>qKn#(>;$xS^@R!9cP`SOAP0_dkrf$EvFp=#cG zs95T7qj){>ly<48N57)5$+)ew0%Z{Dvhc=&5@M@DozO8hgCH)X_VE6lKS(M_9GgAp zkI!eJzneTj%op?%3eu1M7ohs9DNr+GHdN1D50#4@ZdWYBo^AL!rL*~0Wo3=2R#oX? z$S;p<$kh;=W$4^rqNa8TQ2&5i^iTibpZNnuZ@iM(OIC9Fh|1Jne4*$+@v8RADX$FE ze|%H>^E#+n=y2aSFKTq~%f#x&KZ}a059t(@-UeBDRDD(%sVM{P{oi&FP!92S2I1fS zL4t}gHha)TR< z)k{$aA*14L2caSD|L7njwj`krLL%xQ&`<~A-~K@xsW`cvP@M9g7;X6E+}yUdOam10z#+*WCEhFaO*R@o58Vg{d7@a&D7% zVRBtW3CDmdM;(O9Bz=4pT~E^|pdJDh^$_B9bo8%`T5@GlEwPemAZXbJyq079FC1@~ zGHIy$)9Gk7>38GB&-WER{?1!+b$(p(ne~Z`}qNv71)!QyYLy|hYo>lx`INCO4Vt?1bdmb$SEd;+ zesbd8TOOErZAT3Gq6Lw7)-?fl%AXl~B7_??7|9DCh!uqOV?`lH3F6>Bk|d~?A_?rJ zrU&#SWcc^cGyS@gq`qD3|3p{ECli{EP5HLu>ZgmPFnxO}{9!?VvEGUD$kYda$2uhT zx=VEUWp8Zog+OA!Xc)!sTr|z+Ok9HZX&l{igvjt1p(MGVqB7l1B{1EF=`5FFCfj9* z!}%|?bWQoFY-G~(Z20029?V&r1WR_t!{&qd*Zb{apV_*GK63Wy5}r=j*Z2PSN3KvY_E!?H_Lmu0yUQ$`?WJV=e*ubSe+)&x&wzq8 zOCe{M*$e4m@0(&*;u(Gj|0pjmuZnb4@B3o)Qpg>9Us!tI z5W5gh3xWkld9nGeJc_o3&(JmVIQm8|x2A!WYN%)M>*^9j^~U(LMguvc$w16%Lhp;_ zTAZS#7F*a-gDGyQ#FR9T7f>Mw)q)wIT(uMwJI$VFS$N+_b0&=l{e``PC}pdFsBIA@ z>Y9Y?>c-UM+Imiku`Y>MZ%h<48mQvtT1t9L4N=-!Ly))C;PTq4u|;i_San+&wzy@y zfNBR=_-q5pN$ZWQltu%c z-&{izwW5r)t(qil*AwI&dVGFoCAO%u6sKxe`O zG*3~FD72_mgwZyODOHVWNi`^oG1jGW8Vnq6Qw@XHTAd(l*T<)IR*|G#Izmpj4&^VU zD5F*5i#n79b?bQf-ws79#vJxPmmT!ImVShCO5!f=76+?Z#j)CE38|_vonBinX4V<` zZ}Xs*YGz8iK9S$4i%;vWBuRU<#N56ze14yrpzKx>iaPU%>bCLn)}i>f?_ta#f7||N zvID-?GVLg*(p|*eX#wh1NtCuZolw=7kx+}ed-bThhw>nHtDep6(9wC_TB^7Y_4WG8 zNs0kAG4H67SkR*&6?V$W>bCI$#Xo!uV-Bk2$YJY04pJM+sZ1wvm&8xqnjWET&cx~) zGO4w7nMw7i7t>tLXSJg|sC%pvQ%(~Nlu@LEYBK7ekn{Q#9NsoxTGQ8ETnW5TdX`H?xi()WlF&b*q(Oe4Z#Z;!Sddpedfzm|b zi4t1Y$%1(K@!WXDKz4jVZzi>{E1jxpA1_cm<6|fpb6B<%3br7J{eIW7Eh(q6ZN*)g z9_m(UkhVEHTHhce8jLb}V~zCfJZX0YKj~;`GUs@4lHimQ%>(_f3?>6*Fp`AAE^&gY zeY`-)j7e`D)c-ouxkH}8LzW9D}~=K%Rs zj)k~e=7b(B?}}zcNL52#oWYP6-=tU2JG3%-U#XOFLM36I9m_y6QZvq?{Np6bKL&a1 z{G+KXWp@fw)iGY6ohq?Tm!Q_;@{$#GQhm%~?IbJ~XzZ{k< zg+kz*N|iXI0d$bSiIAd+8cWLTZhgxCR}XH7_Zk_vfQo3@Pd!@ZaVS z0+d0Z>_H+w&Jrp5nf!uYW@=&Qcmd7yNl^OB_fRtCuyOxW#a{m#%3Z|Ms-1$~Li56o zV(Zej3a5&uDxd1A(%7a_wAU;wNIWV>dw(&?Ad=Di1tXg~LYJox(`6`o$UxacT7Dm0 zSlBgQp!BW7bSPQ86pA+Nf0nXP<)PHh^mktr{*XIs9E`av~*?nc!ARICPCTH(?PRn38>cZ ze^$87_m*ZO?woEV_gKv;c~8^&qS_jp%2I8Bv8WW&T!7Bpv(dSK8k&PZ{eylq`*4h= zU=ETMDTAau@i9`qte=#Z-$#}yyT=QZeLD%tf0_=Ze=Py^TJsm`jox=ESH)edUzjx9 z^GjM?{pONVl!Fvj1l8r0Vw-Z%`9JC)bO_Mif2@BnHv2$Da}Q&k17ZRHC|;S~hcC?O z#TO{M#|xByGYKl@Ooy_COQ3j-`Kz+k9uJIvMqKUvncUIyYet!2ce%34r8>7Fv`$ur zYs^CXe=*7-Qq{EfvHk(Qi2k;BfI0^~gu;{_e37slTa?*_Q7Og^RD3-Nv_F0a6$_St zW~KS->c5lxC2w1)jnRJa@t3roB177&RY!HMf)DM{%k#T_8X7J(Qhg0 z-X-bT4Tn_edhaT6Wkjt=i#H0(sr6$W1hoGj>mM|uI}lLsAn9%AfKHVi~syU&d>~l?fZi%j24$?2 zv}&J9 zzvp<0uP=(`jBcjThb>stK{sCf(I7FYH!=g?9V^9jVr8)%1bK8jDL1k$UJ=ns%L{8w z%nNN{Kc=uYbNGAEuk7y;$JHxxdyw;l`dQ z(q$_ge$aUxMpO^Oy!#|mrG#I&SY3>nebw(6Y=o@FU)=WfXLgfp}{vj zBmJ-W$M{|e!FXSezUcJZ=5UsiFkZS_ zCY#g_OrBDBZSt&i`1Y@4n72Lw*6bp}t^*jbve)8y9AOix_TqlM-QjlNMofgC1#pgBfLYJvn;37&<>TQJtRfNjgmZ zo(nU7OMt%?6Jh<@IM}l-3=Zz~2kQeK;BeUGjk~SGE1x6wF9RKIo`*SGKZ|lX{4~zh z@+r>E;tA3H(BBk~Lx0me4?d=Q9eB+0Hh+}jGhRUU!$**_Xd1{i&WFr>n?P)5^^E7` zdpjivbCDaJbSjxB9^lY(df1$zc4lf>3qzo5P7vvvsFLa?N=9`fDXXTDAg^u2DQX+A z1+@*BB11!5iJ>7@TWg3LAOGX<&pQ3jI{dp1a`a5*{)L{&4d|IPMbD(I)ib`Q-)){h z_CjhTbC`=y>rbXBx{}$&ZJZQs3zJ{foG8>c(bB3LDH%15Bx!8}L1t*cDGcbDG&W$= z#)i03qcN_+pdTmj*5S`-AYVTpq^6r8&Bpqvz}^3rzz27p7s?(=jZ5!KiO=ugCY82u zxw>XnYE=_MP~Auq*EGbZ8yZMbV?9AuSC3QF)nS$Ob#cY@#<;RNeO!5+7E@sy50Hb_ zL9q}ytV0faH-iK@h+O<{2|aP=1wot>yy(o{RFbkim0sSGnyhQ)r05%y_%#iQB13(= z#8^+ttg9o)>W#R(1|z1Z!5CNCpvROpXfb8=8f>|7JV5Th4mrpnYY%d;ws|Uc^1mf^ z!;gymIVboL(jFeZsFjz1vQoCLiOa2SWbtYn=t5&1HLc!A&TKFeWQ_(~UXuZ%YN|%r zs1~DXEX9^KsBz_W;{iELguFkdLC)Iwkc}MDt!$o39Q!#g?>au$m?{uCzgkFRLF9p!nAz zcMWpb{f|Sso&T*2NBpS7Bl);EFsoY_qiz+Dwar3CRU@BM(~!&^%cL3%3BsnaJgS-? zYpcd7+qGCUmW?tX6|SVY0Iz9O5X$Pu!&`^^->1QtgKXDk$T)2KG}FfaR;E3EG{YtN zxWqTBOB|_g72#1Plu*?uLjAo|PTg20RhuYi8SCs-5oMh^d|_7!uBf93uWrjH6u0CO zHH|W2S^ao`JhTq^3%&xy>VF(EEp4A>S^3|}vcZjJIdG0=cx81-Le;HlD3_ANzwHRs z3E1@p)DNm=@Y+!?sJoIVM_r(T-a1?aU<&ie}TSI&nV z>kcd>9kb4Y2K-ka}O*q(>FDFtD=h61d?kWX#a<P2*S5R2ErXS59asM_q_K)PoS9`zN{S(h&~oUa)!jeXNwiE>^Otoy93` zVY4-j;{lXt9SYGp6s(vJxyV7W$LdAlF0XsVJEJd`?MOJS-6c3yX(sQkvQl-`xfUC% zLiFXO_@=SD5HiuZKL_0pnkW;WqG#m{($n&e(uK-yI=`rcky_l!NYONnhkqP?``2OH z7RcXu_@!#Q=l!y+k=Lp=$Dga)$Q^3gn%>iDmTxdPmzPzB))t{V0CQ0mA}XNvjdc$w zV>1tV*~jALc}L?jl|58RQ728LZc7l9G>-=;MC(w59F)uFgJSCzP;Rq)rP<{ENVh)h zX8l^irLNWVEhRQdQ4YaFIRv91v5%b3L4AX?eu7fbM^q@g zN!dl6dGwi)h4C$Y>m=ok zhg1c6&nme#(ttVujcMo(!m;^-vAsXJkllkXX;z--RtG>cHoy+6h_3E#m=- zzMlxHU%!OHCG(+R(-tU28AQ#pBlkKMd7L}-dvN!e1&O+zO&Q8YYgKl&k1nG!$}n~h zfe_6haL^0_+WWUr(7vCbPCc>ZjUW4Xpb#Yw_);%TgC&ZrcVU*FJFRc@jOti z*$BF&rjJ_wuslDsz_#b|-0<3wKNv+l+cUD8?FuCZ|8h}POtnBuHm0IE1Qt5~ADcTE zn>8SoaR1%&r?hC5(@y}m^`mcFVx^(S}`uW>05B##b@A4c+ z_m(xW9 zrh=3%rz}ouKpv|xrYNb7ph+;0%j0XPT4Hsg4zEwD!c?*Ku~ppa7#+VRS|_fF(n)I~ zs}$Aa0ZOM$fU;R%K-qjW4>RNUhYwDjpOZt|OdMG8mP$8%1aa~K28!o;3{ z3|eQDjNFD%5LyWN*d}seY$LTOx*-wWX2V2%15Qb3U5X~8PM`^@lV}3#Wa9!VzMKHs z?>~QKm@#W;XzKUPccv{Xe>KxA=lOgW(Vdkc>?_-`3Fi(`DW_bRq!R&L?6EL@%+Y9Z zWFJNn-b2U;?IufuyJ%T~o%C$~PNvMSBU$d-&dc#`7v*@hXXcKF$GXoZfc~4QCwe}c z+H(4{ndPs(UYQGXOhvC2*|Q&Q^rqe37fQTl6NA0vhL0ZgrG%dirUjplpa-0aN%9-U zvV2YwI9@}PWX}^cuKRIDirXM7)pd}|b2%p9IUSSm$HST0NhZV1Qzo?xd@`lt`e(Cq z;k)G`n75M+t1M_QcQ_E99P)^J;NTa2*EKlsmRGp%4gV;wYauZnS0m%xuEb(oFJp1e zmxy?$ixh(6#RQ_m1qSKJc^293dQ$BiGGv~)}{(VqJFv)ngd%of3{MJ)Jh z0~I#x!h`97XgF*Y^4iYc_l2{Q=Ti??wxA9)z*Yxf}5&-MY<-{w9c z!1^9J(CQv7@bF!Fki}hA@S!^?A>*N~;bRkR|D*}ImnMEDf@wdn;Fo#vuxu$7wyuo; z(=7pTaHkhoo4UXeb4PGJWDj14ZNT5!3W9A8zX`XqcpYVb=vCa2gD-Io2VRmK&0kQR z_CHT_-uIm4V)`t_bv#tIPc%`Cm`o7CRXfXA+b;Je2hf=taIY~MbJGBbtP{d)jsz8gpfb^-O^PM{y$0jxvYA=P3$ zKq~tGLHPSr5N@0e{QXOTdt@iDy{uod13e!yBf@Vo@Ptc=H2S%CCU=Cy6%7#t8H3og z?18wL z`2WM|e;odKb^brE0}nkRqTfFQ5qd%d`**l4npLRdSn-*y4k!)@$tIP4UW9di6viPlhFt-U2r0SlX)yYReqEt z%I_ga3cGPqbtgt%(h-|i+8$F_))rk{-WF9}(H2=<(G*=%VL<3(J`4!Ho&agcL4q7a z$bp9(crG?CcwXN3Qv;%|aU&_`lL_ootOU_<1}m#SAw|&}FDUFHr4@G&GE3WWvU2pH zrfrQ=R<^{H=vtz+y2h9)ogubLSB0pE`!FCx4w8Qz#AeHYZ@&u!PBt$D?%wzLzERgw z!{SG|*yLdjHSHLSDeI$i3%Y51bq7UU+D6K#Xdz@*HscgkO_;*!rdUmNQ%q&GAx@{) zBP!x_Ri&7!4+0|Okd7SE(K?9DmV>}%7l@A7yb!r~-xqpCUE>GEpG%EN9_ErH0~|(9 zFEhEYlg=w?qlqe7DCxQ;Vs>>CPEpf{DXM9VEvqrcRn}C+p>i^&vRZ@D>D5?W)rSBv za>!Wl8Dt=bw0+A#WVH*@>}+17IeOn0yGLCU`Nf~(M{tKyaq0bBT5dOot$Lf_CJJ@U zREhp=ayypVVpN9u*tf}8Z8=6;TY{;qQDG~ql{lULL;P=t%nkoIq*?BQbZhGu8TMZH z)19NPrFq7m69sdJ__68zsbobLH%Z;b;Z`&!393+9SJObsGSuVp>gq8ib=4>tE60=@ zi?J1kLY%fHA6Hqe!0YrM0@BbrWTJJ*Tt6EmrprNcXcuH2wtgwK@q8e4h`g5JN;xO- z=MIS?(vR}-d0nXq#jPnEZ8M9fZ%h!?){~`mC?RXCMX6Nz+f=HoPKm29=Ha!qIfTk; z89}H25FkMgQsf{VbJ)8aG7jv7tV32Wvk!Ydkl99D&vqn_O1+X#rU$3@i(?gC0u(p! zn3YY*Db@8TDMKk)V=b3FSr^QCpius;tf=>GU7stwYwB!@Aj! zjvO-g?*Q3>!>@8IJRas+h2O}vBb}GKu!pmJ)A}>QbGy<|1SL$+Ht{$$bxdA;4JD(s z3SZc%!mHX9gpy_%v9v)-DmP}3D{3W_%9=EaPX8ew9j(KdL)MtXo)wU_ZwKU>*GT6;9DvS+$FU& z{fx?qf4tCJ+Ls?%(2<-IB%i8u6%SVW z%lax~3K~^-U1@egi(JU-6C~#zOF?ZAE=og^nVP2Lq_Xo;bBr!1=wYO)+LO2?%}L3n4N08xIwrfqz+`D_J_KZIb12((mXk>8*(-+LG6%@P`+;OtJ<}e4_i0bUme))bo$&5 z|K5vx@O39G*(E)$8S>^}Wg2oo6Zy4h`o0NYlG++qlHD3ztZt3VD`~;XG)?%-(gvcW ztd1lqH-3n>4!QF`g&gFNw|+5{tX>EDl{+3cuQa>XzwY3vbL$Fnw@{4>6BH^>lbgj(YtipsdG!sx~{EqHQwA1sX4cuDj&2=6?eNyQ_zV# zyB=GdSWBrO>FIi`j#C?3DKtb^W*Z{3N@GYxd0n`=ye_Jsye=lU-1s3tjvVrS`xF$* zXG8Il-=TWp(z_iCR*sxmu(s>kqC>`qD?ByV*GJ3G?x2Z|TcvP&J<^%&VL6G-SS7ih zT#Pd&l*QDtw2{@k%JAxRU08K)WpK4h7ogYb1Iu;#5cP+FT;xzN_fyDQ`Xf~QKKF6c zuM5r&&zaYK?YB+FhksgW9s29w5RXb9?;It z^=soPd|D-WUac~OGS9QET;bMIoBts|In4x$e)$w&{}_qy+fNgE9c79=`nYLs zy+Vm=Z)UnnZ%&4DuPVc-SDXGJK=qXg6wjLSu;GhO(67ZzuDk!`EX|vl%j75#5WuIy)Fng&G7H(z1TJ!ifyKV8$ zEnK1>AMpx#;Og&p*DKiTRzR5h&9F$<>(SB9*RZjUS4n6hf`+lbob+}Q!sa5MV0|%- zc=$pV(egqb=|eoweqz$sFxkY|H)TS}`6*Ln@Xc%i{PGtQmae0~=ABsBw?7gNTL!(c zv-5uG?CAd7)5YbfpPS>~!5;RHBfM-M#roJh#Q9o1Ap2R~r}w^$uWBvwbyZ<%GZr^K~z3D5)k-aZD4trkm9e2M- zbNUcQ<3}dNy%S8bMolL0;EPY_F!LKCEc`JVR{s_RoBs5Iol9N7Y?VD&thEN)4VK`z z=^(gm*$-aZ%)oEEDFp4<17SONL)5Na5Vv~=5cX^b%HC~|Xu1{H`!++W*@q};H8IIL ziGD!-Z<7g$@YN(d{5Uln=6&r8i)OgO>e)wN^RL#hd%+>tzt9{GFERzYrF+16*)DKj zu>*WoZi9f;TOnl4W{6z731Zi61pN99K-sVk5;v>`_Qo~9+w>uT`t1au&7BMhtG@&4 zo_RpBSp^iA9YFE108)t4b9}7NBP==eZY(4AW;B;@EkYQ7IV?TlQb-o#LQoFtd|&}* z)L)f+&QFta)>oT))~6=*jCUjNjCUvRw0A%6nD4RFKEL<#KMwz_575wSk$_%{MD$wF z&}%_PuLaF{CnR`V05#b889CbTA%Pfv8=Hu^9?KzJiRLFS|7qEi8- zX~X_H$w@yWqAh*UuP41Hphwac*puEA^nM@_IWT^m3=HIuxMx1ltyTle5v6q=mT#B= zE>Gy;0rzRxsGDRe;R=CCyNFF;o{JH2&qQVLM#5#n;n2LapGMSNh9?xZ;#RyVIV$y}fk=c?HVR;$HLyEEngUhmy1?pwT0-NN$LGALkkal?k zqBgW$t`B=Zz(D&8CURgQha}{{v0M#2`<*C@v3!%_?eZi!DDWODI_5f^NWMf%WSk>$ zxTkS^!El^Jaw0k_b1*`YJrGuu(;rfv+aFw`=nHDeYYS~r)Q7d?)r7a?RU*nGS`_aC zl8^%nIj~oK2TbIUa%dF@YMV?$Pj~{JzkNg5D6LvOTOxSr^_|sE=qY)J8TIYNDEy#ZgTK?*o{~fsGtE z$bq$I0q_s5LOI9|5Zhb45xKZL5qJgMHpVfbxqZ>O z1w9d}qV6y)%4O@-^^tYzs;Ii+^5{BsNld-ED5hSejBO}-AHYHmoL?qGGIHSTUI3y4 zD?wth9nx(MLArzU(=<2#dqThH>%1`X1ul+xhDGBKC9>0xk@@mITzdXkHrN%VD(Q&O zYZ{^qnyP3+X=#k1R26H`DC3NpJWO42?gs!C`YxA@9Jt7VyK6qAnXN<_#5Ryx9t5eK zKD$<{2)TKg3MR7@(!(_7c+yJ25#W?a{?$Em1WU=n$|%6IWeP zgsG{>$JUhR;%dueI74YR-dOTJfQ=lu$RPze@OI9Jbkh|eHQNf=2M>VE%Hg@p-seHK zYsAe=Z^EUtP{tWPmN&$uW%M&Rx!n|zsvRdUYmF(btU)=T22-U|V)eRQyk0BAS65^a zYRWT-wPhJZL+Sef&c6<+$U(4k9@_se2bn2q1nl1r3Jd!e3LCFS3Wu;;Iqta2+5QRV z(j!w&3W<{bWJYdR0$<%ikZDm%3T1GW)%hs@k`tRT?($1kZLN@$Tj6+a&6iB zcG%lj=iSzq+C!0vxc%TqHZBI zr-7ARtfQvuN{B_Z3Vekji&$BcPOhp-qv$I|lxnRozNSJDUsKMHuPu8Ykc`$L6*=&b zgJk<}kiC6uf^8!xckc!DKC3q+2VMRyweq`N?htXg!X0;76GH3Bj}bIv5_7aXMoA%4 zP$f%H7*P|ZPDs_(@@YCfkEYk9(yFy7wCai!T21+f0Pa^4fQKCT$RT~}T##>F0tMU9 z%`H22L+Kui=N0=M?pGc5yk2`GaMb7(F`x^IZ&63`b-7r1k%U^3#Y?FYaI))?S!MO? zqzVH&sj`~QsM4_+`bsvvTFa)_R3OUV$3G4~PX+;U$lUxZwX61nuSohZUyK!Y<$wNb^GnEy}K_BS??Y? zWoO^s?-Ho*@FEs91}10LL}Vsw(Z07Np*%(<(1)rDYa;T{TU1(Ejg{!C2%;(-kzcJP zrPh>_Q)4T2Q5nlB9SMD;8fmzH!me`E47zub7%QTsY`dan?2{ zZ`c`|cFdc>>Q4^JJ zEO{RwKn`g?eGJm&-$3Ewndnyte)_v<;oQpui+??Fe&wRh>zlULUEgV0c4eQt;^Lt& z@u)3Q%ux z4Mpz*glNB+jvU6C-^G7Se_8w657&EtnQ>xt{+y2M%a$ANt>0C8dz($}%{^Y?>j%PF zmuv`>Gwz9)6G6!l1F=GM3qiVX7c0xFLnL$W$d$WwRLGs%n{!?3TJqd=&3Rs>&3WGH z_XA?&kck}f7kq(kmip>m+l;S<&VK)8$Bp0S);?OYM)P=$Y0kqf_TmS7yjiyng;B29 zW3i)N@sT6JjNqXdj^7}O=he>;x*g@Ex%5dTPQ8Wcj(ydVBfTBz4y|38PR35Di@r1K zeL(u>CXhV`P1yeY$+Nm|KN%jHI;rFO^lxh(&;7mR#p3ljFV>ieUTn2z{cY+QfA?@O z_PSGa#APpB@cCe}-`VH{FLWD%+i)Vwd5Ft#IFZJ+Kc16fcf2Ik_P8O%_IPiKZSMfj zu491zJ|J_d3FOY11eM=>biDJki5(+TCs#lIeuf%;`%?}}HVR?gJ{Ih-iGOD9ihXG7 z8+q3yIPj)dgwM60SdYt5Sl5eqg3|>m$zhZgZ+DJQwKTk^6iA<4WF2_^?hPeeQD|^Dwr`d8|M8ffMx5Muwgd^_8h{#wzQ9UX73XC zw~MFuLvKH~dqIKDcOpU@ZehagZj#5QAfl|$mo3YyqF9ToS#bxi6krZq(O?f;uEm;P zZhbGHm|`-lpJdX4CNruAr%Wh%^u^RHm^F(JzyFa0D_4_Y>sAby?F|FVgZ^M=w67rUonZq`p?JPtp`ds#f9dLMkq^fiBw>bL)Xn!nlo?0|ju3Ia{~RD~ zGdplMw*ucomJp1-Y(*S4hd669AljI|q1o;9=2^ktl-*fX#n;z^-LZuz!^u9A0My_Nd2kM@!z(f`Hl(F%SeH$UmY$N3Ee;>M;@Z`~Ubhkih_vI@Xg3V9s;mFTx z!R6Q0;4ya<`2My6g61uUi1|w)7LDQ&eqRi9`H}bBRnd3d zN@MQ2RL0(Msg1ks+>E*H)Q!F6IE=mOd=5M6ase~!b_sLhJ^bI}@be^yTK)w@?3f8r zhkl1R`;~xk+X}J%W)K-}4dHmFmm!IsPXm+vANvb}ANpp5-}jb9-Sf(ex#Lk3ciX)b zbIYv~cgxj)zv5V>O(#2)w^ zaJH)e@45}JzWX6I)aFej*5ySw)%!^ZJMd8;KkUB0B=W9rcI<8MJj^YxBHT?64dI4+ zCGonOk#ya)m3-Z$pK{T4gnZil9Ql~XD7o8nl+xw(ZXgb|8KaRy404D<4p{Tw-{xXu z=WRgrHV15o?VFfb*XL0bpTEPH!4HB{Bkl&K#oYGK!rbyz;BR;r60dt|$k#k{@mJlA z)T?gov@5QIw6pFbv_a3a)E=)hv^MWEwAS|knC~V)%ugRd?6NN)200M-{|@n1tAOgX z4dT7bffQu>8XM*IESBW=D3TF+Ka3l7Cs>5J87ReH_sb<+^C^tK;;o@w_S7X@_Nb>{ za_^*{cRxWt;Wa|<^&Vlg`nunxT>wmrmB6;&1}s-|VEEd- zqJ_9WA;kqez{N-0iDhDLMDmDNLnYM9L2~-V044LhuZBJ9txrDZ)xtgPb&T8RJIHPG z8%(JW7)+@N989SU8cfj!4RYTF;E@9sIpB~3Y0E5>#Vi2s!4;5dyA@KL_d~Lm?W?3f z_b0T-!22X(P{eA=dwt#*?U0}aJ zAJi|X2<{hXLI(IH?*RxXkHXFV2=Gh40P3chD1(>}`~%BDXtf0dN6didX7ifs=k|md zhO#kC)GZPfe-+E7UW^tpM#Hl>XM+n;Py3e%PWjf0j{EkB+XH*kj6uC=x{%(q($L;C zby%OcFuYHs3_to#fQTIM$bpC)5;x9-RJ8XV>j$M-Y(kS$rXX^%e$DrEeaa2=zt4<{ zyhS77uM(4J7vgxVvyqu8BO&?1;eZOskY8&?XJB`RF{CR~8`_mw65f?r6w#fLAK9Ir z8`&etiRw*z7eGP|gdaZw5^_k|@B;{T{D!(1OCiI2BkF_ffeib@AaQkmCiL-pkP;Gc zi;2Nqq0(q$`P`Y9bpCK?zT{Y7rL-@gBfBo7BfBEJU8as`mlZ^HWambAX31i@q**cD z8Pb^U^mhSdlm!uy0~tB6*ZlzEZFAAt`(nu6w;p5%cY)02(5oy*hrcsDyzhzwLa(Pr zVJq6^uDz5^78&7Ugl?e68ex?hv|1fEY1k3PZ2 zQ@WW6oaT70s1}!=g{laO(kOiay7H_*9@m^N#kAz5V_S36aBVpvT)Rww>&z11JEiXe zC})Grb22A1qFWM2 zX-uJT^bDq0LlMf9_?-M)Y1|I60Tf&5JiPzPe^%hKKJ9%}b*y-{to=YrAcz@W~Wb3P-XRl%UO*L#Pk%Yq29qDZDdffF*b6SK$} zygW==PEk}^l`2-)Scpw+D!_A_^9Y>QTq3(oPGWXszYj=24m9MD{Kr(tUj8+j)R}>9 z37zx2dd=LsO`8{7?cKZJ^q~3b?jGxXb*)a0Wp$oG3Vi@JtvsC0R%7@SWqf9=f}0zb zlU)#$qg94vHx)!kn)9QDEs9uPTTWa`yBwR`k&R96%z77)h#V4Tegvtgk0M|C6{wa> zhsvchAJ?y#eWQEB?9o%Z<_wIOt!z1VcyCp=!;!)^cmK==-?)^T5E@Mv!^M=7(?T_z zY`$d5s=fG8!TGgb(S6GdBbK`~gZ8%aURNJMhj$dCC5Vh~h+>8tNqqlW zw#1`4Q|eMvmgS80*d8Sv**^Il+5Ym*tUzg(G$g${BSi9UfPoy6kVE=!Q$UG&l$CQo zf6(&F=jTt%`*h&KvhUijZk}hnv}aZM`GdRi&)6Q8oOE_)AM*?)9}UDt^+eJFyNE20 z4tA$(dnLX(y=lI(Uh%sCCdy%0Xu37~S9F`v zFO#1cf0&Fq5R>{Z{Pbz-%_TEyZfsasdTr-=#bq0pF{k~agGM3< zp2I|{(=eN1H!NjYpDg8A5BIWdx(B&-4aZU)^aFgS@&Uf9dVud%^lpHS9JpvwC=Y#? zs+|7ONY~Vf{TIHR*mCQqFZA~o%_+XSc1h0dZJWinOwHIg4%t$!+q%VEbMX(l<{jpB zH7wTU5*~l#d=lCAoS15LHlJpBMxS7L_BhR|e}rz`Hk@Qzf0AjhA7UNRy&FhIIgA*6 zb{0>caH{@Olb*g$O`30gIZ5~TPhYG4Ui7Q{@!DmgN87fr9+{d^9$8q&KC*KTe&mb_ zzdix3cfvv(Zek;BuO-A-T}j1QUe3ZDx}?S*xMW0}!dncV$6NNDCmn7(N3m*oH^4(V zjO+`O(^ZpAx|*k$G#vZXr1J5!$%QX}{x18~qTd9s)-Gqh+P<0cdf(o-*OnG&GQ!UL zg^QEh6CZcS$D!V~590i+?!^aM++_zJye$qjzm*$qcC$2M-_6Dd)0@K)`!8LNI5>PY z^5BVUQSSmopP8IfPc-SS`PjtRKG~#v_>&0*@XaTg@ay+HSn^vEtY1oo9qVJkY)3Fy z?DGcOgRbCW9yxkzW45j6+XKjHu~;- zc-(jQ-D|#kZe4#TcXLckdbJZx40V%CG`*8d6z8T)NQdd4rog=EbXfKa5luxz!HyMy zV7lHD4sLY@o1OOHyw?i6%q$@AzyXLjWCj?^y=X(Q8(7vm-w15Czs|DT_F8Gb^;N}@ zEwAbww!9p0*!=SJJ2_TtVq(-!G%0DFXd*u`(M0rg>O>Cw@CgkTe2s_Yv%+EBTtC>d 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 z z{kvOM>fJlAO85TlRl0XZCA4mVl;#bPQNIpynioOgcg~<0+K<;@8-5>b>c*)Aya)2o z%p{$|(<#x6_}<|sZZCz1%gYtS@udvK;iU$*-76zr>sL1X7Oz+{Ob0o$jRphf=nuxs z(;doOpfyysNMmTzVzt*jOI6>TU8?$ec&W;(pG%cq!V1NgAgb^j#DAwBuR#}Di6*=U zD$xw(VJc5Li#s!LhlUrL3CG7ggfSva>_?Up>WC!8@{=-`>8LKZ;iwsp-e+50?az+< znqNEw)V>4@Dv!m_R2<8hB|lyzBs<%i?R}o&`emOnV_MW za6vQShh`$0dmiNQ%!L{rVd&(U14np;;3+bWz`v-)d$6z{*B{MTFxGc_K#1KlLX3w9 z(fUlVE+LA*k5)nmt;BpH0n3OOh?C_YNtS>dWg)0i=7Bbv31c)9)@UY}6hZLd;)5_Q z9?0Ori3~0ZY(X=D+ri)p+K6}mq8PsilTYLN|9bt8a4O^lzVD-jXg zIkXIBlSMF>%!frp7<&-{F)|ZY6G4zAe4tFYa9s%YLV$`mA^u1LQj9brT?qcr`3+E# zqktS*5hb(|%If%4ha2QfxIxN}2P9m0VPzm6h{yATXs#fLR?Gy^`dJ{_IvYf{3xVkF zIUsTnIUx)pmyic@LF6?uihQ4o9^@Co{~(5c7K3@P66T{H_+NhYpom676^(=%_MwV) zM#&KSu;B$6Cq9t!1purIUwUC*hk|+eqxx%1S zJ`WV@7Jye%4^YYIcKbL<}2aypq5c{A8;zOFS@|hN_ ze60PyfQA&-$24v#P612A8vCIBnwHV!0V_*BuwV*;nb&ME37ZQ>NejRrckxgCvZdek zYnM&wHLduj*Df-l+bue-yI*un_qf<+-M_>}bYFk6~q4pbnx|?h*H36IR!tUi2`)&hk^G718o`Igb(cO1;N%$=(|neya}t=MPn8j zOFx?xE&pU%CGydQ&>*^?wR6_z{m!-)9A`QTjXL>s~=mnuX$+MBYEHAkknm^v(mRL9?D#`{2+VD zVoKq>1t^}eK$m9;O8wTLgnNn<_x=VLqYbdZ%;|t>+-U&;4z7h4+8S?pu1PN~p3fep z0`J}Evxi(b^Pf8fFL}(0U2&h0A%2HmxcUZdozyk^dYLPBEpnG^w<}zr_9>pD9#c9) zy{3H9_OZvDySW_1+_jqQ0uV=wJsW{ZvPE1!!@wOsdq=rIvlhCK8pzih*G8k zr6{9;D%`^X27E94s52jWJI}lA;k)#jTZGtU=Ol^q>};tsj%(#kGOHDjGa8kTI&4uL zpm(buq94*YKtHd!m;PL{m;Obo#{sl=BAs|7)fOgbwy;2B^KXD9uD=83Jr~T~-oG*z z_7l34d0m0lwJfx5J8F*>Am-k6lqFF5dlT)6&1x^V(%IgQ*N3u8lzDYHHk6N7}xtwy#6oV z|9j&N$8YR&Q2ExHYwdmZ{MKCi#AqGMNHsi^nrA+dTyDK5p?=y}e4E4eMZHd2V~3nK zMQ?OnAHCasH0p%MNYuxk!_hx^3`W24SQW$E`(v4FUo3O!iA5dWf5Czf|42~`B;i3w zL0^V`E0LogDzFQ`N}Fy}+43${xJ#Za4OBc*7^yXpmuR>rJIi86MzPJ-wCd>_Q<`S1 zOX{38lDN`!IDXV)Roo7*m2ro?SHxZQ>5co*rzifkS9b#Q>_}kl?Fr0nX##TvE|b9n z!Z8lWwNk|CRjwF4C=sJul@jz7R^>mgQ>ROHR=iWSE)qwo<|ytf57Qhgjx*d^kZ!Rt zFW+`FyTX2TX1&v3`cjvbX?^Z}DXYD@lehYGChhlKmUPi~Y4Q)gt;w%^T2q*Ja|-ip zN@4CxQgDSyL0#e`Scp8aSmfR5eEO+?N8gn5>C;+q`nUnP{}L5C(`3Or+Bi#mqRvlY ztR_@*OGS*~`qC7OHN`o$g9Rn_{du)ceL2l8UD@3p?U{q#tr;6dCQYfL}uU!Q)* zzdqwn-?~iZ1H2YzFpt^{<__E@!xmsJ#PR9xETTKb$a|}K^kKb_t~5!|`BvoqZD!no z))`{En|$QAHUw*|uZ=QTU6p7)P?2S`ytL51ySU1!y|B@>HNV57DQ~4ueeQbS+MM0~ z)j22UROZ~8Q1xqnd+n_XOpy37LRRh-W}fcs=vB<4ag(ftCVeSIj*A8y1bZkVbSD z@j_?C#VeqGvvs-?AkuF``&b5!~|Lv=cq#hA3VC0jPOWKFAG zQsh|KSnXU|-{fAnxZ69ocGx$oW~+aC_2D_GH6MXz{%JLAc6v4Q$*4rFY&rAzZ&<8= z{=i%ijl=Z@DI7=<>_f_g#K3}V~XQ5F;SAs=N zM}}?rvI6_!wu+f~Esd^O%^jZUOIG1jfQ~; z{p$WWv$ExB)`h*fcDdbUGcvmBoKrfMxhJ%*^jfrRmi18sD5+enf?ekC<|KN9+Zehdm@x4hP7^A6lRsb1+6D@?f&gf&)1Q z!TZZh0{1tV&zb19^qm;7_MX^n<27;K)@$OSjpz8AsUCZno%=2}-E$k8?zQE8K0^%7 zV0X%a0p$Pi07j65FGqz+8}w`8Lll0%r_3{Qlzvv1QqJ0N@n>fVV$RN%h&&T4v*64^ zh54rwR02Y=go2XD+~9%mL#$Jmsa zhneNfgUo6&ms>CoMPslAa{xX}KlGQ1^beyd;sc`e^L&cEDnSdcD^ui$#uWD9bS~sW zcmBK^bA$mm7D)Krh?VxaktXMPqd>v^Mvbz|jb*B{ZVahA-Poxynd7 z=I(cLHsAg!Z*_|)S$@M*rhLWJEdGlL(Hy`zFobiU1NwC${Zn{4CaM#nKZFPH33f(& zEg+AFvgGzqom?In)2v6fG~@A1&f&2)XZKSeZ|ctxe4C#W_?Ay{1Qt&!g=SBeikUtg z7B_yjTiocEOX5b)eik?UiHRFNW)cREnUww`COw&LI0sg5A?kt$P%qLyjhz{&&WJ)D z9t0o83%U5rd#Fr!Aw%|msL-@O^vL#4bFz9ljVxZyjoJaE5;^;PhU{@pS&q z;%WU|#n*V#!B=N%`KoL}pu#>8sJwYDP=3w$%CEr7_Zh)C*aI)J0s6&fpnsJp5`7PV z58{5C$N~Dc&qY3f6j`7;!<4C`GD067gc<2D8$zN*>dci?*lhR^!SErX;X`D=hp6DB zSv#sEMtPF#08fH_hH8oDfc-D};DarJeu+r`8uULSnuET(+$EX@AH*C!gfSyBK&6Tf z{1{F64{Goql;O!JGDCO}<|NB(Ns7%Napq3gPC>Xy2g&dmN4@QJcX%iR|V@ea?C^##|ls^<_%D2H|@B%Oq_&HF)YZWGe*Aj39B;Ui-mSaWw~=`dgn#zt(3m zul1NLj&gq(z7Mm6?o{{>(~*DMo8l<)WkkM|2cOvl@tI|`fLWvqnOU(IGp&O!v`m7T zE|+Ac!&1z2y)-l323u@ghM63eVWy|ShqB1@WnY^iKM$b)|0#N+b zj4AzW{yxkW`VPqVosfUeGK3$3cFaO7W@0=X{rSv3T*&N_#Msn4ab{a3$!waXm`#@q zvmTIT)+1oE+~3w?@~^G;%l~D4LjI-oWrY{kw-kP}`APn%&7bl=+c2fa)=cG*HB)_v zZC}_=rS_fe`>^TAv1cOpc16DJ4m{BwFZg7hn49k2*vU0t$Yw1PV>2@){+>}H{g-2% z%%6@+<^FK!lmFdeNZ~h!b&9{*Z&P|^Kd$uD{)qAu`}4|=9sZ^Kz~Pb7_YQxk+;L#) z-`X?HZ|s@Y*WgnJruCuY`>+}C8(gva?}gR(*}xxuNC3QAbjN=DgMGU zS@Ktpe3_?iRq{W(HYq%E?Ns{FrC<4h%Nms*TsEnG@4QR(uJb{)?_AEP-FCUD_La+z z>YqBl(E7-k>0EbadRM^}XQqG7h3TJiWqOlgvqXJYCFYBqZ!U7~U`=8nh((As_jj-p z??s@G;8{S3_~SWoQV;yHWWV<A}3?}bSai$Oc$W$7inkjF`CbSK%6K2NseK1}iwUQ7suV@kC6j`jMzS z?Sql!`V$d#M&n^^rn?vPSnLcPwA>!D!Fp@Rn9b(-N2YF^e|74*ko!~DhP<4%CWK8L z4rR83q0D9g+f(}&FssQhKg2&6-b192-o%U1(`0dakS0a<(&gy$3{AS8X~Uh*a1)+P zn=5@JB|>R`VuJd3e3s7Gq9ViXG1VqpqL)}~it4ahAK7m+8Zk0;O~f|4;qd+TgW>1x z2g2_-tcZAFzdV9X?~7!1J&|l$S0uCTT*z!D!vYZhP$6Q#(UWAN+ZlZNA{#paa-`^b zo+_QspTd2RH%o9R$6tDH<^sjB^hFxmQqy!dCFdEfPb@QA8(%kNbzG~>;G&+XD`SSH zuZZ5{&>KBIqdWT4jLztvA?XtJBkztz?w^X>A0EWD66^r4;L*t{v;k=koM}E~V+$TuU+@yOd3z7SmBloW+Itnjjf4vOtYSg8zjkdgX^{x`b zi~Z$SR)?zfR>tUblqVaum1dbW6&G367gbNKEohovncwADmNz)FICry4Va|Tn{G7|K zc{vYV@^atI%FAU=`MJz7KZiNwXS3;(VPQni6R_r;jocqGI1Bw_b;x-dk$X2u(zX^Y z+R$RfTixs|zH*7LTyOn+)%L|v+O0JS28~r2ri&{IEUU{aY|BdoDqYQi;;KY z)@!^4c^CYk4a?MNP5TsXV40IxZ<~)yN6S3rmL(CI4GnSnwe@Kxm5cMHl-88l6js;S z6R% z9*AOq{_kr;HGVtto=zUE=~kgtJ!V{Aw}Y^w(^I;oeXe4|(lCvh)>z&0mK3Anrfl>4 zCB;_R4K-6U>Rato>iT9RE?zq;u6DO`Z0%{6*xK)Ld^K}X4ReaCVUF=t%pswI*-z#T zZaeRY#sTa9r!WQwTQLS5$a}hxcl4nme}y9T_8V~>EA03!%iSdF`{u}3_k^mIbwz6z zbtW3*wr84VE-Rdp+E!(g)Y@bh*V5w<)4XQJ!ltpA5lts&MKs-+8L{N0Q{)on7}>}i zqUxD_^kO!BGEWnUzQ#CQ6vY7f_de)v>m?dpf!uQdxzCUsEgROO=3!f2-H@|*)hb`v z(t%**f|ZdP*(>68)0d|iCimr;#rKq3#&$Q_EbQu<7T!5*AKJOYaen6s@U7$gjz1jc zw=?^YWo&wAE3;eB{63FxUAl?6c%~jPfDbbU{SE!_Uk35b2*`t*N2RD?ohH?;pTbqF zn;|S7^^(e48z`SS5~h;6CRQ_Xb&Bqy;T*%Lp;FU`!MZ7-tJp;z^?bXn}cf-yr|=tgL{$xZh`*lA=H12VEuOk{D&=k zD&MM1CEH9Wf7^6^_BJ=Mw5|TqNn1kX<2FaBL~lyeh}f8^vtVP9e(;7`Z6M=W|gNGf7axZHw0af-pa(^La@7ii4c zRi*8_t5wf?Y^8z6*k&X5T}O=Fc70*ww)1ym*X_*IWh*mt*#b7b&o$9Jz!>aCJ>b@khic_NWR)A2XrIV|HBFF*kn5F@NE_V zeKc3W>u80t`;lf<*CQ*`XC2w7G4seFO{b%uYdRf%uH|@;={W3XdiE1c-+mu6n9OO+ z!~K~5TQL5sq2IF^`R7j50Kf;yIfxpF zzURd-f&0ZcF_()O60ka4)!D?9z-dO5pG2jr(+`b2)(h35*k=a{n18K!D| znyFcxV(ODQ+=Ve%1s@Rleb8?n!y5cP=pVt(jFZquYB(29PW8MlPR=*wXx2?_n)!(Z zIep?tGd}eshtC2z`_CdcyU!DOQ$Nq;+x)9qVD&|Z(DI8Bp~aVb#mv9DE@u9(r($NG zGD*{$OxomQCS&{&lby_NoPX;u|N0UCR_IqD_PMBqNIV1m3&_E*!UKR8;rN+=Y;H-B z^&Mrhx~or9zPBWcdyZs&&x6c&_99rpCbypf*kxq>7fx zeIiN5&lJh<7fsUt#fWr&wIc1`97yxIJE=dPL#n?oAmtYcr1T=6Q~aZWQ~0x=lYhB` zlY4mq{LIO|V4Uo8@Z0+gVg7eOzZUv=A3z^{UvQns_a;05cmY$tMGeGVBK=430saz$ z{~!m?Lm8fj7NL*;br2TtAf~|&n1xyhA9w=6@B|jYhsZ@eL<8Zgk&x%_0_YTb2H5|i z3-fO=^z$+HiI<>{xcmGIH6XX(y+GUOK9MH$RbLV`37Qhnlp`6Y2t76E>A-_9!tb>N z_P`AUfQ0}zMXV021n4Nc2z~^w-lGBfh0ssB41L7i=WC4p9il1F))Q$zf$pCKT|z&J zB!B=E(cu`S>*xbYrL2i}JPyaz*| z2me9Ko?|Mm9FzCsm~1$YNhk4`WC5rFt)LeSfpuUj*ah~3;~bMb4?f20@4-{>l7r*$ z4jx{=MVj&9K>P=N_z%YLA54G|a$UV?9MhPIcKC2iF@(ny;(1Ii2ULJ2&;?e45wHpD z0DHj^a2i|(x4}=~PXJvJ^3Z&X0M#k)V+_B+4EetWa(;8ZUv!w*GaV-W6vahA@~IA!d@>0p(zn$mHccDo03(38 zVe15cYBrBqgz}hK9DJcHJ~J*utx&z-jqy^!-^P8yzl;ZkuZ-6T|1{nz_J{FqvEPjk zi9I(yE%vL)4Y4OC_rxBV{wnsP=^KgrCQRy{DU<%*l*xQ=!es7(J0?u_9n4k_r<4XU zM|cm8$hl{tJu@*TP8bgd4|qd?@P(rIf7zxA{{LQ*a>=)}!v8UGk;y+uj zk@(4aqr@ZYoe~eNCnO$Ne;|3^`kLfjo4XR<+WaE*we=gB&uy68r`AmVrZrRe7~B9K z+WZGL9e#roa&KqkzOGpN_P~2j#KIkO)pZv4%GsCqeC7iFGpBgLPcyQG4;@Rz?mN~= z+;eD?xa-g>`JKa{)VB_!Qs3BbmHx_pT;>b=V=|xFUzWY;a9j36hiCFv9R60i=)jcE zJ1~{A4onr#bx}Qq<4L@K2b+PuyCCm%$GW=@)}8&(9zTqUpBcTFJ)L{%?ZG|t4C3GO zh!)&-PZj&xtw7=n*D9$`U6;sw?9w57!)1m1b?0G)tIit~FFWs4y5xL7`GWHq<#W!T zsho0ota{w}FZCnNOyiI<(>w?c;PpNirm=StY?i3+B7Nk1bKn64qCG))3Sp2wJ)Ubx z_X3=_TLFH&&-}v#ANeInT=UJ6zC61`_JU8X!ddTTrPJP>$|t>6s-Ex~Q9I_jMg6Gf zxW-}6VY|J>J$DwntT0M zY47n{r?bm%hu%)#gZkTjFX(Ue`_5pK-*bcYe#~&xpBb!ui~eeVrZ+qZ=7|{iA>Ruk z`f~w~evClfeS`$vjgY0!A~fmRLTfs|(3N*Ga<16XhzO~JVF_~k7Gx^z2`N$?n_s1| zBe+p(+q`z&%|XlcHwLXSSRc5>Xf$xI@krn)lhuJ=m<|O#GaU$GCM!XI5Hns8#EkGA zOoo$T-dOJzeZ+(!*TKiktyqpeTO_2LvG@jpMJjYQ-hz(D&*UA9^Ap<}8!ELcI#zyr zRI2ip$XxY}5v5w|!WZkV4QtU~y`bA@D0G#{s*v?&D?@gfFAq6x(HHWOMR&+g7G0rl z%scRia$t(@J~COhfEh2H1oK7S9Z2*n0{%xV))|p+Tub89r6fEBAW4yqrJB%zR0rOk z6mQ{HE;Xo{F0LbdFA^<0$~} zgZ5_`(C#cd-nL8+;l}j2Qln|%^1~@{Dyx#xG*%?$>GZ~z>37F1HtJZ^YPvMG*P{li*-Zvew+H}i?)lS@7vVIyt1x|VU{(q%mSF>wOMrxGku3>9R6BB^gVLEn<>b* zGLiG;AotJV(SaO1g&R624JHQKT=beb~@3>q^k zj2EXjm{q5?PpL@hw=PRrZ(E$aXKG>c>1hSYx2NT&{9#*=!mNQMuqa4o=93XEw>%b& z17dJFo9HC850xPIFU7idsW@#cSEscV7TjRDlVC-ew?ubIkleDO2<4W-IE}{qG@ZJ< zT>YBdQsc_(#b%{hZBvRems{s&thLR}7@L-z@qt}d#y8WlGJdzs%3#*OGCPA!$xde$ z!2BI71am<&7t@jZ=OYHtpQu3YUxl6Em3$hhR-wTfQ*K3#1HZf4Q+!$FT-oOGFr|jF zSoPYHWbMl0Z2hvLVx!`M8nc4@mMOV;z1CT|Yi!eVcT7voJ#Lqh`{lHh+~-qMa+ytP zF0)F_VN=qwnZ;!O#_iVk7>5sW>vy^cF@XM_8q^*vM$Q2S>lA54gAsK%*zuOtyNfk1 zo+DFV8>(1S9j#VTm8exxk*QZuUTBzGR%x15y2K*Aq}wW`c-S_vXxr5IqNCH|iarIu z+Qt_#>-a)ul~Bm0Bo;7>#Qgv83(m=Jlacr4q4uB*F@XL~CzzCg0^s_+?H6i%;prW)TSK0q$Q<>agB>jVj7lNEUX`} zjHugWy`b)(O=#VRHld53S}$14tQOR=DPc9tBD|WJPv*yX)Fa_sJXMao6Sv_z;Q_2) zhTOLUxpx=p?|USuu2-FE`pmiVJ_mkruZLJ(Pk?k*cc^??SG00+XQFz1N2Ydcdy(G4 zWi^K3OIuAs+xpGtw{Dm+uXVp=VCyx@z?LUdf|}WspeAMk%;z;Sv*1bG5uFb>7mi^J z#?k*R?Z|z*5d++cH?KhMwUS3=tCXmC(1;2Kr}45^xd_r%`AQ@Y1j{6>jFgYW>LrXFohuQwc7b&G z+8DXekz}RdH94w*Ysxg{tZvluUEQPWJv^%KIXrIQF?`9uW9YHI#~@Zs2biJzN@nQM z|323dgX5V0<4bWaLVpN8NcSMd0NNGn;6H3a{~<51-fqW5Zg=H{ZTA&~ zYzr2fw{4;1+-(Um{#!HUW^XM~^x9Id;=ZLz&2`I&y7QJj8nd=s)R?vTk;cr8Ov`CK z({@_Nbeu-t=UgRXfH|-o`Xeh*1A@M{j$#ZpBLCZlZ^uB27BNl~vQLhJ_i59-2@49G zaHN0<56*8QfH!+$fxv4bR?K4}Rl;?mK+1WdM#gEPUCwdeu)O`mE`{k6=M|>!d#GSH z{zhrqZl*GI7gL=&#?&Sw@*{U+{MSQ&0Q$?&_r*xbigscRd=F|M-~|L9LJoLbNS-GY z$>W3`xqo0qt{==Gmy=#J>trD3bTXXhcq)Nse=1vGcd9}-^;D~v&8b!5R;PAISe`y3 zVR`C-_>>cWOIaLeGUi8_toacpH<^8%@FEfaA?SClC#v6y8iZY_0hz!)h{HtlkD&(R zB%aQ2jz`ljOOWjqMY6e~OV(GXkkwU3vbyF;me=Q!#q~%s|1gQnJ}lr&KCI`AZ}jmD zZ*1lnd~||maN{0N|N1Mw-c=^hyTXLJmzmgPwn2Xl^n0Pd1hFqg-!l%P1_d5a@G12F zEIa_D%TuqR4&fsK>3=Ro+FvP<_SagZ^|cvkePc(Ow_Hi%)*RCKHiFb|CzIND#iaUO z3#r^0Cgr<(N$L9=r1af$Qu>y0inqYmj5nFJ&|ePy=Iw7is7&-d7X1!Bho@6qf(HO? zn~#W0K7;@8HS+M=LQ;7sM@o-WNb#{QDLghKxu2$y+|SM=`^1l=pM;Ur(`1r-R!S1T zEF*OBnoqa^s{9`Szpn|Mzd@qd1wmC$d6zQ}{hItu+WMDw8S32ldu;lF&2Js{B5 z{0{!ZJtFyM9Lc_vBI#H1B>9&riT|ZTg4ZU*y|yNL?F76*2uLFO8yElAod74->(k&d zVEFm_EQ5X(^s_PUi_rIAXnR0=`o9qSTiAbc2Yvqm{=<(%Qoq1|_?t+GZ<0ZhkDE|A zpaj%`J}?J%z#ZVGKvW#c&<=(R?mylGI>;V?*8uJKH?^31xfuJn3(&s-ee~N7+NO7j zwCUw@7kh)*M`6f%mQ;k94G;Z2SYsA5%4Ma_J3d+*2FZY z01MbDR>Tyh5tD}hz@N=A3I*{X7gT~JpcC|iHE7ZXunp`12f+v668IN*0Dc31ga6MT zZRqQo5z{e6JIskGqfK%SXb1cUiC~TiW6_>Wj`2!CJy;6*z#tgq7`K@iHwN~Bqu?C) z7^?TcFW@!3MvGtb03Qe#_geTqOdtA&$Z-t}iRl>=(-5@-u~3BnAU79&&_a$$r@+rC z0M(!wbOFRdYBksZwt+q15IBY5xdy(YzoeehA5yRAcWK7`F2lIzvj4!t@jaLk^i7cO zn;_3M!ch$CMXvObO$mkPXTJVxfRoDD;9=U@h3p{jD&@y;hjuUMZa5 zUMgPZepkH3{i66Y_eAj}_mdLiJyvGCN6L)<@c#lcgRTYq2MhQQW+L$340FR6<6+>5 zahk_5?P&NyY1|vlLhiLjHTP1ZiTgvNlY61Df_ttp%>AaZp8G{}8~03eocBcYDDP*@ z3%o~KU-Is2J?8FezvO+V&G_HyFu^T>20uW@__vxMJZgSrPB_zxm%Meh*{Yg=Md zoY5YC?v+V6_rf@l`_(9idumk1``M_D_t>b7_t2<^_rPd?_k+<|-aVtuyt_ubcz28s z@opQR<=ry=ocD#vBmPa3m%ZA>m#xs6pj*GBnGRG#t?9g{d8Q7Z0 zJDpK`;EMLRsM4Ra^y#US6+M_Si|#o3(>IRc+-Hu7ypJ8T`5!uz2(CHQ3a>b{h+T5% z62D;IFLBO(jpP~o&620>cT1hLKO%j?{*v@Dhda`T9DbAC@4)2uf^i3?um|kM>&Y-j z^nE7uU3u_;#874?O|QJ<>1Pi$`rg%uzH+mpo9CpgOnI{lQ`v;$ zMzG;6N;v)ln~B`t6_+e8qThXy|NHUi4s!ADz2QIjz<=-R+B`17}q{n@#WOsWv%8z+3Q`q6vr?ky$Sb3}GCY8;edsH`i9#>oM`H|XMuSe=@ zyk4shdolIFx2Uc1Vycs2F6g@l(Mvz<^A5z*?}CwY%@feabFuefF7`gmGpFOhPTZkj zU*5iXA;LXDF%mliQ>3=d&6V8}P%6JEpjL7HoMz=w|4!8r|CQ>i{YEv0{B~%r@;j_G z;CDrPh2MScKL3~6J^oCq+n;Fyjjp$-ZflGiZ$or|aBWnWm3Xq_s{V0b{qZw z5ZdSBai5Kk+=DpoT_jCAVS{#4QiLR0|qTbK(u8`Uv|{=1FuXMaZ-##woNVq$xMY z=c+Zvm1@>4TC7tW+p1R;(`Qf-Gh$R4y~Ct9`lxA9^i9*km}kZXG0X@U6vi+;pbK=~ zAu2t6umJNg7C9&MkEJ8;&BU5B*qkn;(F_$D&N8KySq{A3Oiw{)#$1V|>0vU>X|W28 zsmaQ9DcNc@$;FzLN!2>#iOqT?3EhT;@x#XX@!L#u;|`l<$A4&+75~H}E1nr;$D;}| zp6LTUp!<%O7>Dm8ugxhS@2D#+k`mOw*GOnx!UR13#IjCNpDT zn3l}+fgaF($FD({3mAthh{1_0#2_DIP>9?g4B_>PLIvt6)~EJjTduX(g}{bmUnm(Aic9+}2x zyfIG5V1^0lOg}N5=}qS8e9VPK@Zu1Iqj|{riV*|c0*;ho%@em^U8SBr_Uz1Zyk@Hp(PCwT@jI9P;vP>yFGR3QeSs{*zERnpW{ zqe1nx7F1K~$g8OF6qZy6NEB3s%H&o?%V$<3DW{cZswI~dY9^Fc>ntj5(T^$VGhA4_ z&N!lY+$5~{Ja}LdR`l8^yoecu7h+YWkm*GfFx_|ju<)%X`2k|E5B=X(gLzPgF<1W3eFb~?W_6%y4!GGw4|IjT{qBL>i2g0!Tp7rAFY)?ZgjQ2Z(tTC~cTVg{$u!a-*)d~h~@ z!KxtP{8i!NL8}%?1`MRh_zx7w&0blp=(TdGvPb_aRk!|aYA*dJz-=|><$tO>_cC?o z9?<f59e`Hj@0nXk96@&kBst7j_l_f zAGyglKJ;8*bbtvB_cJlW3G4^i_aAm){MSK$CE~tx1Y@xAtp}8}3m(v3)PU?q4tfYV z_%YN0V1JOw85uG0XE=oeL?XeX)eJF1C>7#UawT zw42l~T_yDkzi{g37^ilY@zhQ;{$w^nUsMa#fiYilxElKSEU zlKk>MNqzo?q(5aOee)kU9RFb$`rR1!28_AL14>1|7s7`KIEnb5fd_Db$l@|;Fs>7+ ze~di*bL8P)3rXTzX%f4wNW$A%B>2vRcz0}xyX%Y(K->`Biv&2~e!yhEj|qN%2R@w9 zfd|iseq{fPKIkvm`ql$VL(CU`0R6M5LAi*1C|BVDzz@**lt|@Eco4UUB<~RMejsc# z6a%tAk?4^IZUzmBezqbc1Vq31VpA&G@f$9Fzu}~Rj)DGtoan_zM1TAS(2hy8K))P+ zoqibmfKH2QfUpnd8us9z&&KGp<~Qj3cj)`~sJ(aq?ML8u@LY5h0%`nid7y%YL0zI( z=D0a@z>T^OhyeH?VvS%JU}FDMfAKSpFaL*1=w~AK(dc_1`t1U3n=j!1pwDV|(f9lC zUPQY1Z}bfO3DAxAK}?toPymPtGXm3qC%}i||Fi=qJ;O=%&t90%aC{3>Mt-Xd??DmB zBJUTo!LN4&USK|01hPOWr~^wuFIWXez$UN*jDthq6hQ7zx4}=~Pw@ZwqXum?cRL)H zacCZ)Kj<8$%uP5!_vu$m9FZII3_P8L=>0pG9<=o|;d@~Jfx5=qb|@kiB0oq5;~^DH zOd=L-O2;@A0mMSAiQb5H&}*^f^h#`q{uCRf7h+rJx!5lHRqOyg6P}`ap~bdOAH+ zFQohGRdi3ik?yK5qwm!F=(hSG-BKT=uhqBGml}KNbB$y4spb{>Nb3%FP5U?QvJT^2 z0OxcV|Lp$-W&!;v@Et6W`&!{>C3>$;f14T6b7Ncj$bwPMZFnszAS3Y0!fyrgYoFp1!c~rjIS>({-yD zx@?ukU9`&Q&RLi9&REy+PFc6|Kd|oRpRgX_AG2O7IAXn3aM*gU@Sycc;Q^bEg?nut ziS4%iOMIs-lh_WniLiMeHdW%Sz3Yfe9WJwvX7K2Ny#(ExDoMKitg{)N zaGODg-Dh+A-9xy&ZZZ7bZYhE>w;bVi*AlU~}xpYWvaOsy`=Q1L*)@7UQ zh|7Mt)h_4dhFrdr8*q6p-|x!gm%l}>&y~qeMx-yYmLGY+fAGUPqd#(A94~kY>69n@ z2X8}~m_42L_hStSX_+@uTI$UdfkN9`TN@ZESREK6HZ(U`Vjv(}sz0DeX8D{dxt=*o z64KMKFtqKhm^oK@@^@YSscF#|j?hMY8T^3v> z-!`vKv1MMH@{*uF)rO!oYIT9z)oTL}Yt#f@*Qg45tWg>CM!h14sR9+C43yp>T59+a z@&7CY@yAF0@hIp=;|ch9y){gn)?>fcnn+U`T~9xu%KFL@q#9mn$T{w%8((A@{lc>r6C8jN z6vC9>@jK?=y+Gvt==t5u>YhUCqXp0RI zYl?}IY>ZBnsf*5#tBER5s9IQ|Tprn=S{m7*UK}x?SrD;ND=&PXc5e6u?d*vA;4jVW z2&N9yfND+zQ+da)7>C>Q@!UuB{{-|Wl92l+Bll0lnltjimGKJHo2XBnNw%~!$(h%j z=qqSU3>K?Ph?J~}kCU#9OOq>Kl&es(s8qQycCl)H%u@B7n10Qy==Ite(c?O4(Pwp1 zqrV5Qv{Iv)22f9nW~xBt9Zzu%e6;}MfPNo^{&*VJywj2Ur$8U?dy?g-BUOjm(yXW{ z&55f|^XAv428vatgh`a8#7dVWC(9KkWh>+*7Axl@)~IGCw5q4a_i3iYk7_5y?bb<* zJFSxtcL)5bl@P}?fO=vaQv<5+csv)^1C0Gy#Qz}l$8hVl0Ssn9AMcl?%TPsRWTq7=rKMJ>rldBhC#Ljh#wU+xFG?QM ziAg@G6PM_Zb5B&i;I z#cK0SsWN{$SC;R_E6Vp16KNy|x-Psz?xOw1}*iOXtKi_PrPh{{;4 z6`8R^J0jzRPI$&Q;DuIrI@5?qXX+7YOf52vslMYb&cQ2~2O=*_Vr8g!Tt$>*Y(=6>RC%UcL|KvI zg0foWkkX}U^Ga8#2bOHn2q-zCIj7_^&4A+HGy;m4`rIO>Hn)(e1{N}vcYKQT@f2b( zfqri*$6Tz!JgCIFFQ~xlf?BM7E|#T?I!#KgH>2c+>0CmC8*fpAA3vr(Sh%o0LOi@K zPIAHGG@1E}3*>@os}$$fwkrGA^sD;TY*L$Db4bmn=BAoY^{;9^RZP{VlBvwD0Od^i z9oG{u4jB90==Ub*t*S%)#bT_z<5*meyrT*JLo@t`R%Ke$W=Jt@wiMMilZ$Bc=7qJ* z<%hH_5C*r#hzGVNO9r&$O8d1`$oe!l$$K>~SM+G!pybwkK-snVhO+CDXG*S(Ov$YQ z)Pp*v_>S|4!2yiH4y0wHOR)A0T0j-F^IDO6wu!*C?(UJ9*}YEIse3|hM)x(j8C_5196Okt z<1!}ixRlAyX!{Q$FKiq!-wfTMHta!JiWq=mXs36f{-6)_7b}tf;dwRwgUaMPXh5@v ztjK3*26+v8lIQRo&V4wP=Q>~ zot!or(Tq(tZll8j)s8}2P4{k=;_Z(l#Bvu``6 zz3()qz4rm9z2^;2YZv2bjWNE~&i}9t`m53JzJ8nw!#EeAn+e_6&G3MrJ9`&uFvg)j zfqfVUu@~WpkTi~A55_SyQa^4$YR4@}^@Jm-obV*&4+2T)gD8+eiYF^c;bbQ%oZ3Kg zr;dUY^@w{R`ksV%haH7JbZ4F+vWBkVWjqH1x(d*h{tO<(SA^dMzT>dj5bd~&cHC3O z4Y4+S787_PQ{jiW!Ye>Kp2UG7_#(^T8(@H+p;OPk$NQH!q8-&e0+`(F6u1L^{~t(GsKcP6;5_&QJOIxDgE#Qj2N50r8>T4o zKJ?H9cmU%1_!sa&NaV#hgE=4qB!OJ;&VOjb>u#_TtOo1BR{ZYW@IDU0hd2fQ<2pQ! zy9m=W_z|xWG6qlL{|-|Xc^}C46*LhGKzRR8EN0;7144kv56S@W9}tT-)P&#Kjv?rS z&MN4PKxZQ~cA(e$;Cmc{?{Nv9$2ar@ljdjq%g6YikNzJp4d|+=q8;!64c#I_PY{blr^+IE1Nt78Nm{A`%bj4qA8{ zzv0&Z1EvjKE#&)Z@E(*zpgr;!6B#RFk~87C_|jkeQ2K+nh<@dz(-U4HJ>pf;16~8& z=eN;4emC9aucSNtHFR6Bk!}fg($|9h^o8&geJ=cnJ`sCBA4&X4AHs*Z1|R0C%)b%6 z{x?h?`g+o6hd63raMXYwqlVZhnb0fLDg7qrPETa#(nFa@`avd%?#g7-x3VSlwQLQ2 zDceM!%eK>}vVC+@c8ETbTSqtKw$pWZF<0eI(iQoS=z`)yI-~TGPAW4x0Uzf0B#z;= z2xcS$FGxVl0H=x}{0Du!*HNSw8anioss;U^JcDj4`Oufj^XU_n82U&xm9DGh(N(oF zx~#sKE~>ZCd5umwr_oPmG}q86&CT?I<{mnsb&QT_U8Td?KXChXUU2xHBi=aJ19txx z%nbgEDfG>7S;6J@7gIhxGnA$ub(H8^O|y3!^606GsZ=Cok~oixg%<3@#a z)VPw47}s-$jN7;a#y#AAlU3Y4lXcu)lO4Q0CI@-DOfT?un%?GZGy9Fd*^Kcwf(>R& zupYZA8F16Ee8ONpeODh3=ZX`t?8mrL-Gjlp+F@ug-&Zfgw^XY(fH0`ra z=EkkFx!pF!+?Y)@Z--4IZ@W!9Z>!C6{$`ui{7p8S1siPk3f9@25{%k>Ay{MkR5)bI z#8ypZVgq2MEfY?LS)&cMxb!;WV+NPkkHM80*ncopj83CY=;$;<+CSZn#vR;g%yBMl zM_tTT$2e}2V;XORV;*mvV<~^su~snR*eqD>*d-ixSS2>-uwHDyVV8Kn<1vX9jvq<% zI{qZlJ>!i;=L{y%@fPuRNA^E3^!rx_d=%hg=B5|4y>XxIiThkAg+IQ1h3C0j^E>xD(v#f5$o_S5ntwABhlvFEY;%GE#2fb zB-7}%S+?G5Laxs1f?TcFJ-KS{m$FsfOs3MCN&g$EN-y>gFA(?p==aBSkaNz1{}Bv* z9Jiw_n|#G+)K8g)=NQvKz;s$Z*PZK`JBQafH@QERX@xMSgGj4degaY~0=i z;hBq}@IS(EkBdBf1KKh&m!nmI*mp3`fO_WJQs;bUZs~kqUd#Moe$)I&K|^qySY2?c zcSf&AL= zFhO-#j96t@vP9W}EXk4uMbbr~)w21a&GNY+y$abOYm_oWb}FZb99K>Y`9e80R z|3oD|{8#1paHg0L&g6kyLKu^M#{-PR4aDFi`agkNuWbp40glUYJJ^ArwZuqKW2_o2 zUSvYmaduP@=gO7F`SFV4f&~SOB80h%;>5ETrAlVT=1Ql+z+ z@&AXew}7wWTHkQL**k7T@IW9zk{}5oB*fj_-Q9%JmboeGSl*sI`fj^Hp`---ck8QYi)81ci3hZ9=FRZygE9g@HzO#E~8Mj z$t>V1K!IwNnXg)9<*Sw&@6ZpA)Bo4dJYPXSRFZG8U0aSmu`DUmOGkx`EUI*n=BnA! zP`yy8s}9jsSH00ug8gl5A)<3<~SB4D;#=jdSWMO|xp7%+qVTEK_R+MkUn@StnEAvHN%+z>wo0{*t5QeBRjO9;m8xZY#R%HkwEH>byaTNhjr2nU`9?i$0Bz97XEjY0 zQrR+2%37yON$Wf*YV}hJTElg@t?~No)^vl+mOP`hmNMg%mU`2q<_`1t<`tH)O`AtW zHyyN&Y`WbhqUmv)@WwB!BO26E5%sE7WW8z`S@##3CwLESa31Z$qyj@NjDu$GeSjuj zSGJM&bQnuvr>*2Ko+7zjvn9LBTQa+XmGrI{U20ddK6!DrLBirsX>rDNY?J@IRcFug^vWLwV_I_f%u;+L4h25(8!X>JiPuE}E&-lBYIv?-i z{tNU5p$A&Jx%Ryj{eJw1m0W*aWhODJM@#hJREbk0+#>9UG(`G z>U*e<`yZBZ?Hf9IU59oN+UbK_e_qdXC^zXOaEq1rZy7IsTX_!V*16&{v``ifg^2f1 ztSs1;CZ5|06pwAyiu<;9-Q1y-`q@Lb>1Pd{)VmDbXW%mQzTSDuzYUx>sfNxQVZ&eC zL7N{(clRpB;s9PCH1oQA4Q+sS;%4r_*hc=nlQjT)jKyuQwanc+QReKMF0=Q!$*lc8 z;<`UnT=vI{^MOp6d7xBg9B7hh2bL*L2ev3v4;)pd9JpI?IPkXOu`tnR-SL|o zV+%)Dvp;TNETY+q|I@gg{a_dQ?>^R`pc{0IH5ez+KT8gNfpq|Pa397cV;ObDTCA>& z14psEG8??b;%cavUriFTs|8|uwLwg-_KES;+r;SV88N*2DBCZ@_=+kfm*J8srgx68 zXCvc)wjMyY9oC0v>q-e&*lR|6<#1>q*WG;+31l1_VkmI2lH6%6{%8Ps1~ z1Pb}`Tlf=*1A31#AJW&wck+8UXouZEpZYqZYmct&^Y||>vHs*WG~b5z;UoAMJ_V{J zUmD}PSmK4yCOk7mew@x)6Au!~|Ls}sgW+q|=$hQp)ighYuYhWh@Q!#PKe7D3|OB~w6 zx`v;PI>`1A5Qj>K4&M{=GI{n?@@)Kv;hdk>G6USeAGqc(Sx^Rz@W1}UZG5%|4#5dH z4_DxRcpBb^@9+x#;J=Z(Vs34J=l!oY8TLN3eBVIx9@vWJgUo`35DBSJ1U0Y-x?u&Z zg)OiH_MvkGZ{RfE$L*ATHy*)b_#Ut06MTs$@hkR`ieE5thmQ98?+kk%R^g&)OMh)1+OnFD?hjb=J}MQBws3|bftU1;>7u^Mk>0~*^H zp1UdgkbHSIKA{Jr9Psl@-S%ITd3plJ;oT)76SMHqgW4NFRuBCTsy+HlbHlg0jb-<;Gs1tdl5Z@y2gHoVDLAr|pl*$w?RF#H4%W z*yQKsu)`P10f*m}eN$9rFYM89P?g;`8D3WA$kgLZ-pO?TvMYyx>Ez&(_}$3~wsPMj zC%MbPLoQ7Xl8cV9a^5Lj&P*$iQ`0Nt#PkL^HoZ-bPVbh(Ggc^vW~^5Z%(zY2KjVP1 zcjg&o_sqMLT{EB5ZFl}eH{|@QZi|bm+YFnW{~OH%`ag6(WNLkJ0qY;&#yoN!SDjpA zozNXKC&@XN*>Y-@j~tsFA&2KA$-%kVvVU%|?44V!?4H}C>~iZ+cDVKGZgX3$+vc`K zx7BTrezV&N{YJM-`VDT6>esoyZ!qZov%xBN)nLF~)oZN$8^59dCHk-Xu>K=}oDZ)0 za*jEl+;gtEoOH*3@R%tFJQv8G1tGEvFJ`+}x@_~xSGIbUDVx1&bsN1}bsM~v=+}9z z(68}YZ?M{Hhrxi?5yKT;7Y&zt-7xC&e#@xW`$wZ5Z`Dwv+gmjl#)~cdG?zorLJqsZ z9R4}v-W9=leh6z1{J6&CZ6x~_+R1KTC)w`jE<*wSvN<41HUuOq>jJWsH33Ds)d7{d zfq+K+ihvG-{(xSCzJNi)-hd&a9{&TzOZ?9nFZRFJq%+_ZllFk`P1*uf<3$0g5f~2R z&lbL?zV8Im258?KL;YjPb)vY=$f0I$pd#COcFWe_$+9tYwyX>Dk-_jV83>P8R)nW3 z{o(n#WnpFdrD3%O-C?bUU18luouLE9?V+1Z7KQFLX$d`T+8lbfS!3u6W(}d=nAV4> zCUs$|ab2itbQ43ihF{YLuX3n=1ns*LS^EHo;<)Y~%{eBYZwlwWgUE@pI?6>>MlX>5 zm|$5J6QlIRr0AB!Wa}2k6ze-;stnqqn+#i{JB^y7`;8l;Hkj5&?J}#4I$>TNb=ABo z>KXIOsISZ`qE*w1DAfdv!Kfl~gwOox2kQL*+Lux}$A&#gC&6vA>D}qvN$nP=}1h}wIyciS`!QO&57j(jS2OJ^$Bgpweh_sRq<<0E8=&UmBk-3 zFO9!!Q5^r2MN#}0=0)*;nia*XrbTh82^invL&m|=w86b--=0an$EnYbH1t!@Phh<_ z&(7&hwv+A@M_HWeChcjyvM4P~X-eL#e%9K{)@{}Hv(v;O^ z#mU>u3zH99mvQ(wZEy|kbGdj>+4wKS zvWEA|iK8dYKo+OlNPC8Zv}Vqh<}7b%$O=*FvSO5)tQ1{UR<^z(tH_`%v&yg}v)Q;X zv&$quW56soW2<>~#vzN$^xG{n(jT=ij^ZGCxu&&rj5q=4I-O^9l?K z^C}GUa~q6uayw13a#xsUMwjg|iz+)~9#QrHyl);+ z`m0$)iE0Wak;SUOl`AaRBg9$MC}@ru$o<_AvLGXf@|(G3#xg? zG^qL))1WHVB)C#F9;SjVJWRi9YobopvOmncG;cTdYd&G((|jG? zH1=uw+1RI1HTG#xjeP5&ZiM@2gNs%8vW@gZ1G#@aYfzwp*QHJ5eJ$iYZCwBFFq2q* zUpyKwCTg*(M0R;fcvpagbwx;MSE3T!m8k@F73uuDYIMF`?fQjXD-684wi$XZK4v(7 z@!f_VUH>%n=={mhqg^%hXoE$n;ryH2MVp^Ne_tzpBznED2&#EsfOhI){D*FGpI*HL zFXMXG2ffy@;o-$8X~|Ks36WyX%98OC&^Jx|`{#;Zzqj}<4;G*0G2+dx?X^5l@myY^ zcr0&G+?V(1<}Tl?pR@e1e%A7RtPO(7X1kde^1U^A~r}`p4VZLpm9q9b}@= z2&F`mO*9G1a3q%F2&^I_U1KWq*V>53T6>wdc80jGa~HRDJ~DTGsLWX(C$rXPi0k@d zaamt4GuL-3)7P(8rma7qIIX{=IBs}Oaa{MkGIforo4OiSsXE7-oL$6hxfF-6htY{< z8&vT=zmHy7!4>h<+?BA7jBF!U<+qZRZL^T+xAE(sw@nhK?K8!3ySq%??juungo(qB z1ev@eM<(s4kcm6nWx~$YGJfZ78MpI-jM@35jNSf?jNQhaAw#egwv2Eb?cFPxC8%pp zKO+O(;sG3qHLOZm&s`~7sQ+!;8L*R85qrpr4=6JBkcEssYzy{ccX)=_9(EI(BR&u= z)<=?M)R6+QI$AH5M|)vNERLQOvm-ae{KzL_ap+I6JgAE00oXsn0rZB}vPuliHmF25 zXA^xegd>3N!o94DIKY!Jj&NtjaaIPLVpYaj12MZ`A;#xz#pt}f7@nUl1{d5!cfnVb z3z1AeOaT|z{Vp)XE)2qcxD2mwy7D8a94g@K2s_Z+KwW!4TbWb1gFc|X5eHe7ag

6RT^mIC>$8NYK#PMt_F#SKvZvPye{Tu?%USazN{LE`&xXJ3>H=mGmg4I#y z=z}|PrLLlXH|>8fjue_U58=o>iYxIX+RwlX@DF%V!G$rwb+N=LvB4!7k4xf6x-bXl zf;c{i zyQ%pq+qd9dcn>~+kKhwMZiOih32pM#7*>lo;8@JY9U+dN61kkp*!X1$D>$|R4gBk4 zz#snl!!V6!aD}LQ@;$g>5At*n>gz;($D(WbA}eBEL*s3D|EAt&Z0S;x%KvspXkPgj zvHaT{w}mztULE4f)*q6g3i^PC|IZyVR7!mnCt?!0spbG^Xs=l%BC~;20A!vccZFz< zL@oTUBca_HvK?-%%s9pCi*Pq+Iq&P_-(QhU|HgmnfA}}Ae}wODq8f8YhN3wDnj0|| z>|rJ>fG|jcJg5N8o#}vH7=U$@zXg|K2adshT#BQ(A!l(8F5^KwfX;I`6`$ZB{5-7p zEq|f$%}s8t(ooIOHev;WXl{gt7KhdrnnM%-nnRR9eTu0^4LU7obfM8l`Kxe3)>Hlv zW$&VU4pQqAxD*#~4(=w4e;oJV9bAg<7&?D4gw$a)&*<-{mgt(|04TT-qJbkZ+$S#7 z&l}BfYLSFiE;?ms)T6NojV08upCP%L@;6ZCHiqgRhR$J}kTW741=)`aavXo^BA&=~c?h@c27i4&Eq5O!-~0c8YJ(%eE~PTvs3rASg%BD+B*!0VBn>BLOcB>q=-7AOePRIef zOR~@IVc9$S9oaedN7+7>=l+c2elr--;Jt?SV^lv*X3Ct#l*?h~sp(|oyuW`ePo%`b zyKFaEE{>TkXUF=;$?@TGd_tlenUE!iCKk#8`%2kw-ynM@waK1IJ+f=kO4&JiqimnN zQ?@xAks*hRvc=&6**xVn*)a8cW$jc|Sp$PNSF3llzEef8$B?!oyT zhn*ucjpV>g90?ak**?onhGzT9<~b3vac+XFpPM0T-3nyTtz1^S)hPpRic-175MR!Yft!y>eukSFzITRi*TJHz`ZJ zI(1!M{kl%C_4;I zl6izvf3|yr(B`u(w8;i9OIfpUybSovkmY_J(&rx_OZ_9IJ0MZI0y34w0R>7&K)KQu zP^W7RXw$U>EY&yp59%BIZ!@U#KWtFre}`dpz@vth0UsMy1pM2eB0$xb`~L?WuXP{O z2G3Ie`=aRoXfnV^^oeCt2+8~zt6U&+i&aY^bWuZpW9cCk);SSOsIZIk2y`(uRSQ?|Er9LWI zsf)@|YN85tRZ*3?il|0?SyZP%Nz@91qNq)V1(ExV@*~d~_(iO#%5TdQ6CB|NwVx6TvZobsT2S`nP zgjB^RC>8PPN?ClKt|Y!pR~%obFN|+D$dBtY%#GV%m>svrC^PPiaYo#I#_4fy8K=el zY?KzK8m7gn2B1%iQT6HYGIhOy=AEfHQz@KdbGk7|EX#ELBH35UlEb7lB~~d;NmU9{a&-C0CA!??8hv*1B7@B2Uc>a{b%tq4yNptjP8la9 zT{lildL4c;N=#A>6BAVfjidxsukjphelMCAGT0Z=83$>!0r7Mb&!R-~4PvTEF_+5J zF;br9D5dFhq&VGM3NwNwKO>j4UN9qfnQTQKe5yZ`P-z_ZTFluQ5zW-)R(| ze$qHL{T}0(^jC~y(ta?CNmC7DQdNUkjTBX{@f3Bv8{IS6?2B1kfzHGcA)Zd+X&{zr zwq+S6Qk-Qgh1m|0pY1BSIi8Y}6Chc+5t5mkprq%fE2+8py5yV+U1Cn7K0c?*AU0>U zVRZI(qsZ*zMiJT9jKXtXGz!oDKcnz0)i69$HHgs2;CXKF7;Sz9?c;f@K+okafE;oS zXeFj9J}>2UVXlGX=2=U2zP)4?%#`%Pd6HJ>E2%}Hl3WxkiAAYOLQ#$qS5&HtDXiB= z6?W<)3RfD06%HAO6dpASF1%_KRQQ5XV8Qo>LHVjdP~I^5pj=fS3=h)gcc6c`ko}V1nwxRmlK_z7kd!CLwik5?q%ifpz&x zKwYKcSJ$HRsavM=uHC3#PT>o4XoL#h=T?&U)sXwvlm9mwNC@ss5bjK1vy%k0%oe|v1>)NpC_b%`vamHtyy?IN zt)l30!WJ15HOz4AUBb;dA_|V32 zVG&~y&3Y)}eMTpJu!P*Nm-;U!{~q9~_!^O^>kY+zqm@kDI7TLHbdd3zoMqgmc`|mB zuZ-CgE~7Umi{0jYvE5uJHW(|`n>Wj-&Bw%Q^L4S@{GM2C{I`r+PZqHb){bzvn|TSX zWs4b$P(ht@ddNMO;YzI_|6h&%I`lW8zm-)H+sVOq8H&{&E3w=&S}gWV7V|wbVV;=n z@fXuQQDU+uU5xgYis7C`Vz6hm==SWzn!iJo-Or0|_jjV(rHa8$RSb8Gu$wv#_AxJ_ zSr3K0PgzADtR?^7Nd7s*s)QY^ir9_*esb_bcmPLPm2uoml;hS+EMvI@G6h^VmV1ipQIB{68wo%@G#&19DWCtfjENpq~sOUbrF=WVH|Ft5BQTnbm#9u{{Z?& z$iYvrGT<~T6V8zbUlb-4Be38=V*}$j`5+FSX3LUbCcR)_qQAoAqCFz~3WZ;x0#~lW zTYTpiK>sG|H`4~Ra~-<*v~wc5AqVlGjxvz za{&+T68d+ce-Hi-nnpKd#DAd(k{nKe;Td>VkFR2iFJeVfV8`W3d+yemL6SfmZ-)T~ zpLc43PJU+}-o+Jo9ew~}fW_3ghIY<9k2{L4|1~_g>$Lv^_)ibf_m8n6M$^>vUVvAC zBDm~5;)lG$_C5H(kOak?)grWs_SBNEr*jtzaeN;^^2FHqp_wFt!Tlo*{3C_`_%0B~ zk3UKs?VV5mCQ#=<>O1#A^wHJsN-}?rvR{OM0^K;Q^)cH|;dA&BzJ_n%d!R`9*%)ty zHu;^t8NQ_J$u=4ap%ds6^)%3#>TB>O87Th4aK5j35ZY^Pm54KVgLYR)GW`Gh4}V{o zp*Ri4`LWQwpv@<@`EC&QwsITL#G^#dYXI@ehN#zW z>U9WT;xxX*CA@+g=)8o^mvrTCcm^uNXoT0vdYOHCS0;?g0x1-pO=PzcUIUmhn zY7s}bXP{GvMkVDp;Cr-D{;ic6t0{XU!{#>1-AlR0=!Nt69e3juJjs6_;Ys|AUohfQ zY1_yDhH8ek!q8wiF@u6RZD~s#`DId8sCM*xl`w5{D*(AO657csb}yX zo+6GXq@VH!altlWpYFhqIKXH)#WZpWFXAC0c@rn%yWurNS5dg~KMX(c#$Y4{W(}g% zP`o)@l82s&~2 zD(PtCqfv%N4I0fjE**@3UUUY~*ogWL_K-ukF=yqVa<}Z)KO_4LK9fC0zshc7Rd$*1 z+?~Inc`(1gXQP<{#xUjCFvVIj?HZU<&(U(1;wX3O-Q682j+qw7 z5wmhRWL75!&0A%^d6(=n@0UFmYh|~^HrZ)$K(8P*<}5@Y_L{k z{oh!}>)-5{W+pPFPGu@|Wcp{yziS+aA7Z)F+)~b3PLPvUGv(+gPdR8EB>QcmWsgmY z?6S?49kxZX-L6u$*)_Ckk(! z7$%$T<7MNdG+93>SJqB0ku{U6Wwk@Ita4Z^E2s3!iYe=*f67i-Hub3VPQ6olramf5 z96yr9PQOa06D}*XJO0JD)cwub9KJkQ5dx>($oYt6FR|=$WJQDn{=-yz+34sZYo~e2 z;PgOQH9bmJ&PbBwGc%=cW`Qi5SuRVR>!ruJO_n$>l`fY->2%p9?JkFuMJ^YWR@VoW zX4m(WM%Q1I27H+MTj0mk!)F}wU*OPk!-srtA$f)u+Poi{%lQ>;v)=Y&c3+&JlSOO?fLInv=)B5m%~vdFzzTHKc?&F(9eM)xgBz59Np*8QAP zGw*(-dfuB#<-DJiig~J1uHpU{A5ib7(7z{;tMCDwa`|!PlUUYqs98Oa+|!LGA-LN~ z&%7zpHGj5r;>EOk2FaoYQPQ#?Nt(SfrO~TE8oVl`&Z|MG@#;{jz510(uMJAM*B)J| z_i0^;_jO&d_p7=>?;k+b6?m&kf!9qIsLEStJ&N|_P&}Xz&ToULJMRa4$veF{*IvMC z1TSl8UpPrxeVnD)cfK_G`b)iExYYT@OO1b;RQu;jrGKeX?q92v`7csR{Ckxm|8=?o z|DC#g|C730|7-dj{}=Vy{@?4e@Lh)SQ?4)IAyN?%BV{4UQW}yi#UVvXVMvuy5YnvVg>>t3 zLI!nNA=`BsA;*d6= zgjm{%qdAy!-4F|@4jm(vJi(?se72Nw=Tvb-kQ7BkN?~N8NKLGA!>xj(72kwSb(iC5KkKr zPYdzX(k>OmQygm~1##Ar7jG{)2{R-s!Cf*FeIz|GMA8ytBsD2nl9RF}DXCaVNUBxh zlG=1JiT%2$#LfE1#Dn_q#5?q1iBIT56Ti@hCa5}%uy}|Y;UP3GC9?t^HYSmCLPsM0 z2l12>OA*_=M4eyljSGT*ut^UL0=^T|H1TbTU_e5zZR^@na@rm9<*0qLsF2kxQ%r?VIfnd}do zhIc_DR6q`-@ozM<#O3lth&&sK%Cnb<{23CS?UnzpzyN z3L6xk!X=7#;TmN@;clI0;aQzW;X^u)f{%3``M>Kt@>HEiuBw}#t19zzROKo<$8y;x zIsNX3HuP$tgx48-o|Mns0Gtws7vn#a;6LES1eQ(}|1wwcE1NIAWq#sQ9wrOR+!pv&w!`W|gSQ?BbggsmdMb94KI) zgdX&op%MyspISuTSAu>S{zE0XPqmqN)!52{8hi1qoi6ih=ZZ(Im$=sjid$Wj%&kk7 zId!=*yS`Ff>lcYj{R){`zfGp|c!g>8_lZ;8dor!|S7lnYs!XdIVR|LM8-T_xSOuNM zBP)YSd7TZ3iH^g^L?WWrKk8NW1K z#w|^fu}kx0%+hKZ-PIT$4tgXv;E zSSn_NtztSjAjX5c#Ax*eFSoVf5X8@xCP3L7!M4>7({`Z02mj{)>i`bp0UQ&26*#R2GY)pd zah5pFO~B|Rjtj(baUn!P1~9O+pXjicCJA;moVe0Zy;auI6krlX5vNsr%QMM*H{B`9nJgUL3jin zg~#A=c*2mAF>_ALN0A(i;pA`%7pREi6+cK|`D_Wk2%Y}g5Kx)dX^Yptg5P*g7QLG} zk#c3Aye^ti$*K|KU9{-godH z-l8quAY=b0|N1hmq4^!Rc#hXk!ecO^t!GR3koRjb{f2Y+ZnnCDE}n8%q52NL-+-6(IVgDNvOlz z&sIZQlW`qJv^D(^ex^OXp?^N5E#Ai)dz(9CUdNYuiFGm0OB&_p(#xg9U(GJsh(ep( zAdUx!<364ud!2O{cQZDwap%$%+Ts$Q+`+)UogTSJ?arg5ap7;M3}a3I4{b<;Hq75) zUCc||E%b~yqBjREALt)kaokB9x6>XMiQ_yz$T`*uouN-ou_omN z|35|~M~L_^I}^{8rG>PS``@TW+!2GW_8=h5|9FMhPYb^Y%J{sGedHSZ$Ys2kJGhJN z0)29hJBCg(Hcm1|kK=6C&spPrFvVPFs<}(d(6vR=f!esDw*ajmbfT$YG9xcbb}I$4 zQz@4nx>~tS*CN~WU9wf*FIx=O$tHvCvcd4MtTVhIYmM%gL6g^Hwdr>v-`GiZo4UykGatFlJXD4(;$(|Os%)~% zkqz86wBE8()><~m8mo3$ZPhEQtOjMJ)izl^>Y(&npOFbqjcHgPyY|! zqW`8NQ~z}G-f3u0$Y_s%??UE(qR!Y~n&C)r3pR|uZBW)9|%c2P{OY_9t@JoKNY^x1>6q>*Z8HL-bw;?f z%#4?&nQ7AKoGbOtB~s^HBegEAQti?sl`dKxxdqT;Y_qmce?@uMu zoo7U8xQ*}vdiVJ;4t%-enbVGS3(@!H9Cto>C+)I`c4=~B?ScDPspaW0RUWgYV*Uat zpC2fto)J>w885{P(xh-fo)j!7le`7>lIztW*8;dM|+^SWJ0^?FQ6@%mIr z_WA=1{>zg9kzS)xHS1cKRHInYvCaHdXO0wTZCCP8UlHhkiiT8V0iSzqd ziS_$kiN$*v#z$4+;BoXWg)kO_@xWkt5bJA+sfAeTXqPG|^EH-Ye(}4&-(K?kXGm^< zn`8$rl&ruY$q0&)^q@pZ3(Az#ph8Iwu9C#y7D)*1RpNrzD>1=)mFVDeN@VbZN<{F7 zN<`3apehl8BSZ$M%EM@03@7gnqaUC*l$?{8>WQb4b}4~^Al4oPjgsu(@sb(hB1B_rHYQX|Gla^w_Aigb~L zC=ZE`@|C#gP>GF>k(lTdiHgpV$mmiDk75)=*{KA?oL2l}?pOR`-c|gf z|E2gvsfu5us`zU}@Kh;uPsA`5qS+6j6Y7Cw4U$j$WbyB5yibZTlZ04XiHn^iF>x~_ zI?hd^;=Ls@K1jmjqa-XLQ9={4BqX6&f)eT^AfZ$I6ILm{3EP#02`3frgnJdQgtry1 z_+LO(yy8^FJ9dO?vG_pojD?EPd z{3=F@rv#_?OHfL<1f<4^e`>n;r51=!YPBp(Z4WUEXbQEo;=lfe*SFn z$oCZY0)KHU2$#792{NZ3OJ*0Ah-+b^xD+mxnT4BVdf{Q2R(M663SShbf*-^wpR0Cx zkgLk{9DYBM@`o~*m!K7@pa3%XJT8lz1MPr(a=$|I{}Mx)TWTe z+{C%uTV|FA$&B)7nO2@EP89{>SWzoeDwc>t#X6Z(aX{=VF3E(7=VW5}_hMhl8EXkE zhc$|MW?nAGC3Lj4K#foaxsbx=(P#%1;Xjm+dzF)WRIvuX)>ItptYvE5IGIv6RUCMV z%;frcGO6BI?CZm1B8J|C2A)jOP$^>@+GTXZYO!nBBeo3}#irpYv8n%7Y-?4qtGP)v z&k&@3tDvKRu?R(w3Grx$m6Cf_kpEYcf7hYk$dfr+6dBiME@RqlWOVy@v1@k}+YVQ; z>6j1x!Xu<)R7aXvbrg$bN0V4|EEn^R?PAt(Moiit7Sr}m#jNcQF>hrhwFaKd)-pU8 zv|6A7@*tVdA}i^G8WGP1^qbLN#62jTtU*{p4!G1nEc-0Pyw6t5`X-2JpOcvM%@U)& z1!CA2ECzk?qU*~MrH|nI_=CPpaFiYII+Ngg@Cye-mBt@oEnn+`dfK@ZGI$+Zi~m5K zy;{ltJJ6??$xB%S&`%Dyk{o9loJH~V29`vAH#(Ve^z{|8O09pvD<@n5Kp9D>7eggA~6$1&nKPJ3tOnVf$EVqi_mV(MB0xyu-bE7%VP8H4CLqstOy8I7hD zn#RY_JOxyRlY9S!~o6oZ!z7Kx}LdU3-bV9o3)=c5QIGDB>vAi?!nQtF2h}L9qxw*;08Ph4=ea0 z#`qMLcp^6VArn|1LLAR|;#Wj)!phG6LKFAT(6BEY1ODhApTNI>XI;|2*>qLx9{Pax zbwk(jJmc>Y^}mMyMAHpxJ}M*NspAMuwTQpzpwNQBdzKP6sJ2gMR z@HoXVxkMK}jA!sJ!{^6g&8I0@<5743w0lBS(E;6Z6J~NW?Pxs*>NE>IFZ4ptiNlLX z!;8oxH!sCcsb)wvQg$0gJc%L7-pdqnlDz#gQ_5qEkdJuxFFc9=UW0M$Z!!FY{ul5LyujFag1rAB#>M^k zQrGcf?&g<-uFxlU;y>Ju|8Sl-&Jo8M;y6VdCyC=YaU8=3Il>q{g!6Eaw%E_O*h?w9 zsnJeacL$mpJO74Oe@*{WrWtKFe-dsmF0RoQm)J)x;>DcBi#f&kJb_nul>Ou|{=-4y z*iRgLiDM6O>|%WE#0S~VdXU=~qeHkITZY|`(?oO)2k}{2=u6z9KVamyhi+|uHDcFh z%72-u_F=YnF~!`j)23uoG_9%AL`K*QwC17XOC3Vdh(#j>jVwlC0eeIl8nw7UEtKEI zs9260vw@WFHE(E`Ro9P zfW3MP>So8D?;u+gSJ|lZly&+5Sz{0`s}192l~Jm!G|HA0#zoR^Tp@iX4bp4UE=x_8 zNw?`*=`!6Ri_MNohuI}*Gk;tbS$rZbmcIeVh`;d}Q`rj+96BbW&tY%>L=LHZwuQsb zW-GmHGP9Dk=Hq0w#WY!IIam5Ey=9qIkSw)|k{+u>Su!eJx~%i0)4EhTtZSsrx>Z_j zdZfi>P?~IRlLnh3Qg3^w)Y?8SHFlp$mE9jwIhtofYuJtOF8Ys6r~Tp3G)@Z~Io+5- z&c)$xB~$(iTNCNCv6ZE^lV!ES9PXE2Uz>7Ac>2P)fM~P%`lmDYE}a3Mc(01(Wa}@M3Q93e)+0vp6ifa*6>P zT+rsTUMKQCV(GHSf0!^z7EK&4&6B1{n7 zovS3rrA4w_mP&@pI!SlkEvc?&B*pc9Np^ill3ah0M0}WG@L-bQiFx$Hd@e1)2I%)7 z*Wt4kVyP#-8rr7H#Z<~&Z18j@;pfbdg4u48KigY!=LAX)_bFv_pHk-Bbjg^TFX?m3 zCDpA-Qrx;F$!(1!xbKvB_frzpp&+Uds7O)?BaheB%&;yJ3 zte$wP+{rg+n__F^4!Nu&O9f{nm1cAJv=4d!%x!Yhe_)ESV@_mB1xV(lIU3~ z@t*Y(=eby77Oax!1=}TZ!3hapaJPglcolvG?hN&W`6FnTole3wV7a&~hQ@{HbLvsb zX;2}tygEpx1)4Uh-i6w_v zGT5g2m`k#+oh15Bl6b!v66ZHpV*I@%ntP?90wN?bAYLK@(j_dQKtcnnB{;B6f&!OI zK;TyK3p^^mfmg*R@E@`;@c(3C0C(#8-^5RqtAWf%LF|vP6q=!m&x#<2c+!a{nQcOV ziNprlNOaHyi3)a-h~QZg9z0*dLi{8&Bve8|VkIavRRTlvBp|dx{6bsAC$vu%hHe(G zu*0$-?6S-cdrszuekb!oRPodZ=8oMURqhDE2ZBN93dIA1GG6CHMlksX#PK>R)KDVA ztRyUatb~M5k>Cht35sx+fQW_S9~mTmkx}9snIt|@IpQ5vCSFlZ;u*D6Jfb$ryr_fX z7IjJHMm+=H%G^lq)Qy1f5zd8^Zoo=thZ-n`Y)F9^h=?Trk5VKk+Cl z7oXTU;vKs{yyE<2L0q_a#wE!7xJ;QBUo7tN^)ffUTjs>Cms#=q#U=g@agKiqz82>= zt`fyU49}F0=1EskT!Mx^Xn{(|hYU!FMn8tUFOGBWc=GQAQ}M!!@k|;o^OL5EN3x5| zOP(k0$v)zi93pd4Vq|ton#@Wm5EpJ9aZXt*Gg8*b^pw5gl)@1>tbeQOu|o@E-smK#5vPb zW@ZM+49u(PSxMrA7vq>!DO0lA#UX2zOv>6N_F3m-Le`_eUAp)%_8E|l|B%Mr;fWj@ zKwAq`1BH+QiReahIv$Wp-jj}gCi!;`=l*%7GA-X4FJ+uK7EF<;1ER;!w zA!1(`Cld=ZWjyO*#uc{67;a=3UASHB3eSj5;Y0AL*yjH!cK9$FqjR~p6^(vqfeOfl zRAAYagrdzZFY|NJ&nN#aBL6DY0_zD{tS201xRyfL-3Rf9j=^=KNeqvi0AvTpM zVqIA%qblpgs*>kWRBjcE%Hv{IaWA|l=HlA${mam=B>$;l4MM%4ST|aVRgF?_b)H9^og2_^;U1KB)*vh<2kzksk;_;I&~JjdZ3#AuoA~+;@CnQTb(%x;2<*;3=HfcDm6qw zL+kmsBXBR@`%o&>jj6SDO|{2xtI z(>f2g!)3S&uEE`K9cW&;Uq@m>n><9{JTe+DggBme~`5CtqicVh{y&Sprg;T4t^43XpbDf4BgxRyY@dPW;01UQUN&Tni3RII zY`Jht93QyhhlJr%Fg`zKkbSZNXp4^@g-?0?vt&`{7((-7xXhuxQ_!`$O8;wh(=_?& zaPsvmTTSCtcmv*qci=tv06qeW9QHzJX8F#HMf{ABe@!8gozHVZVz{VXj3+|F|FIJ; z!sGCfjO6;-Js1`@U*Eb1ZICPa8}UAFBX8bE-hQ0? z@gmv&y?6%ClVyH|Kk+Bt!N{{XG#}!hpsj&;3P!vSBen)$0@@mkTkBCgcpV7Ql#q%S zk&8wt-bxMSH&K2&<#$u|a`N>-ls1t!?_lk~LA;66cpg`1qQ_{e4{;#=HN5siTmSJg zXzMQ?0&N|{$hwPL{)6U&Xl*i@x=p2Cv#FCeTA}E~qme=R`IKKqsWq&RXrk%NZ{^A_t4UZGF^LB9PQaXd{NPtq@sllMPL-v2OhJV+cP&%+pEciG2KKFKb0 zh5w#F>l1u~-&jj9;(KUoFwVe9xTXImv3w67KDJZ-Ax6e|{DS-O3*O}2kMz>W`U`ElANGP4 z1G6UmIWokxUF=cX;(pqKRhQ^YL&uG&VIif3P<{;MCsTGNW#`l4C6rx7*$tH0MwvbM z5n9&2iIK5qIFfBdyp^4J3%$7+#Z7-hd#~w#3)-&sBxuvX724tg`^jnY{^NKtM_3ng zNIcN+qtr0UkEQ%%_JT}&fqcp@q5NvfZe;K1pcR(kcdTV}Y{v~bf){aztfVEE)3g1I z>OOS)|Hh9x>Tk-l#uRs#G1D%GfD^=VNQ|k|DD=irk|UnSEb8EiMgSV&D8#ZSq@a;W zt@F_+MWcqYTZmu@t5ODNkuAL1k1KMHXCL2BbZ^sAKf;K^d29Q*C6=-^Qz4v&15C9$ znfkXGad^X{+kjuWmhrh7uW%)OvYh>-kFn7!5$MD-0#eb*mc`t=)rp7NPM@?X9nz}w zOS5jHH0kz8gZ_-v>#s|#!K+eZ^u5#=Gt2yqcbVEB=CFGK4sh7p#vx}t)9h;E8L-gd zvsg;MezYt#bdV*+F0$BUo^+V_NSkShEHdRD46_7jHcOXA^IT~#FO@p;TB)^IB-Iwn zq{?EwRPc*JWtOL<)bhHNSiUAjRzFCgmHJ=2JZZ#(ImXn!eKMC>c)xrixi2ww*#S@U zU2Hi@+N{P)3%|V8G>Tt?u=bQXYk#S=4wGt|SgEo}mI|9JDYq?@Qrjviv2B(j+a4*f zTO;{)J0;idq-2l2N3ur0BAH`;kc=^S54RZ2TCowhKbB;wU zjdu7Cqen~i7ze2w>n!E`%5~|ug;Fw(`ya-0|HJrrDVUHZc@y#^cS4zDPi&B^iHjv; z;wnkAzfDr@k4Z8Q1WU4iK@ul@FA4ZC8i^YCF%Qq=6u_BW3kF@NKU>ZFXqe8qKCx60 zONG6Ol-b)zF~783IC+}nJIt0m2cCT}#ZR)Qgi6-b7|EELEa_9TCDpN5QXFd~$+2A$ z9al)a(^iRfIwCPnmnGWiS&5qVtwc`aS=sn7Q5uf;#j`jqnawE{tl)6p$+nTts$4n8 zB$i@gDg1x9IuAIhsT96esk`bWKT^?vS~Ou z96cvN{i*5dOJ(nav{Ln?)u`LitS(2VIvxG$a86enT1=~Rl_oj2t2zCU8q-gzKK(w` zrN6A&^uGYBBB9PX!NWOBr?|yml7|Kbt6(92&*uCL{28HahA5kUr$tlJL(p_$(R0!? zIWt=wnMG>Ps#IH6gIcrOG%34R&DkSr%ATu+oE56e*{a%{OI4k7y{dBVQAN&+@CmRg z(vUsDefdlY3;3#!Tl_{?26KTQWYIAG5Xym;M+WNK1=ftvHn z)R?oxz zmeCHt=r4oN!}$(;X~Cza5)ajvT2)&Xs+zJ`G@VpcmS?M?yiny8JpWM9ppuGq6<74B zsB(r}l?#<$xlVbNdz4dojj}86RA%L~%BcLKGAsTCJSkhw9_HvmH)E6S0<@)qeh6bQ z0!DwC43l`jfn#kYbKa@|Ra6C`=|rLFB&nn(105w_g*Bye)z+$@wnh21J<6>eQBK`_ zW!0@wM%`|u*BzCk?zGbCo>pqz2TH9yuQc=*NA(0JNPB-3V^K9a6wHD_=!Q0EfT|ke zu3BQhdS4aQ2cqeOtDqrXd5vjkDLKk%EK+t;m9m{=}p6OHjgQ-d6iO{cPY8~ zh!UG`Q$q8Tif{UZ5}LkMLL;ko8@^XkJ$vSp{zas}rjB(uFdh1!6DC1TJ+XHqaZfX` z-y{#^v{;qZ8m!FLXl1k}qo-uZ*;b&mwsNJm)hnf)XE4xW65D4hp?!to+P5pF{jj3j zZ&hUb6N+emPmyikC<+ZGx@CeR4YUPViJdVR2BQJ-=#?6p&_A$U+=Bf!;{Oif-^qST z?LvR(3P(?gQ(||T61uY$-(9RY3NN;&MbSOIit3r6h@K@1@7bczoi$~6UFZ*JFrjb=8=EH)`@<}34ZviW1XQm|36lysvEPOL9^$_~55@A!PSJxwXeyD4 z7)(_7pi^Ok`3fB@R|pH4f`=w6XlSbJLkkr+v{AO9OJp57seqw}6fpP;_(GNeX0H9r z>d|8MlD~D>Spd_3g%N3j9?b)0xRnV-E`0iH(&o2Zo>v zTA-$zHi+$9Y&(arKZ5-k*dHYZ9P^N6et>)z*yX(-OkN9O<+&hL?hA6{wt!B(fXZD! zA`7O>1?DO2bVeT)el&9h(~(7@m21GIr*;{R#bpT#o} zb65i~5Bm$z0G7C+u`u~sVS`|ZBqIsnWUyyYTSaGE)e02cs`;=H4)Ojeu6-IlWFWwY zW%vLWU}qlr9D!awGKpgqd3KTK%-KAHG8g;U4PA=!4A0QhxI6Las5C3y&h#D_Gmilg(k`x$z6Q?pj7NeZ@~Um^q-yRFBf5VA6yET z!QmgclJYp>&m@%cxSD#omU=mcAJ=i?JzfPg?CZ$bbrjyQ%i#{L`6+ycjzT$H&39VZ z9D+8=x_T9DfJ@W1(EhL+yob8K-St4jzMDclLq^WBD)hN4;BI)G_dW+! z6p-hZUFZ)qne0Q1L08fKuxq^u`?r&>v3Van43EK+@XQZ9$MJc15nh5<;pgy%FN@}> zo3|;Ccbw=H6|CFnA&^-JyU|7{i{Cu~zvu5S)OCP%NSjHqXMCbr(i=FwcJ&9V8f{!2vF)fmSeUK}KK>EP@rV7F}X9@#0P*>b*p9htLX+ zqJNx3FF4KGjE9LMf6A(ZKN4wvODzBWI7Wjo`iId1j0Q2Gef${zd-1o?AHpCBvY`wb z(IYys(T|PkL~CQDzX*+B1+ns4(%+2su?uZtA9}&%6ved^$<2C?hVzb|qNsjDk$r)7 zFtPT;tigC1j0R!WLC`z?5B}H-!d?t|i<3{fuvLYfN!aKj{Xz5yvnS{nDKBJA#&XhL zgYK~zS!@?gVn5o%6;$1E@_8GP?!(x71y4R9;+%N)e!NzR9|SpHU|-5pTbMA3wp5XNYs3BHlhny!|+l?4v}VkKo5cM8yvf zncs)%a1XlF8N9fQ)Xc82M)$ZKZiO4*1pMd&qZav`cm&I=!C<8$Iz$Y1(rA`>*eE0Y zdUSzS((Weh0n+|)9mafeycEsDti#xhF0q^R50d`1l*TFI_eXg38q%)WL3U#Og;|Gj zB^(Ch!&mS=yaA@WJw{nPNLk!NySP&c_@03c7wK0pR5Z}y+E^3OjoLFn+9RYpO0MUl z5iF$^){yR2hSEKFaRqVv4V20~)X;OZ+COskTVnX{IZj|+e~rx#z;tbT?D()_hN7D& zixZT^F|?R#&|;3#K98UY9j0wuMjJhdAD7_Ae%k3i{MdsZ7vsln+Q)?`0XzA(oq>HD zDQqDZn<>dn)T-HCcLR3+o4;W1b$9X(ce+gsiN`p16=iWbedJPfsRL*+d+Dneqd)AX zZR|oX+<_n4@M9}}Y@s|hQ7;>5AM5Eas1KCJ7Iw1P%d4yCJ-6W5L$sQoQBr^9DYNhY z7w-lz>@m!rf$QN4{=USATN*xH#F()YU1~d8%oZhLCmsLu(K^boQA6!FVWS=8r3V{> z*qDJ0_JQElLcCdk$MYz;xzxuPt!Or5#VA7VC?m=!e*DO54DAmEk^f-q!(LwR2;??z z<@WC9rVSnecioc59k-P*bflHEdg` zLE8lyuo}_6(85#*H&~R{>hJtG}7~HJ>;7;|0^r<&wntDR!sVkJ{A40dP zBlHrru@JN+?2IObJ*VcdKdCwVJ3xa#i!nTyKs!icijz$F!zx(F-*Y%W3xB5L%d`l0 zjf7b>6dtO9@Hq8Hq-jcIj(Q`D)E!x=uBZl0j%rm$bdTDjhtY&mg|^<4a#` zfO=zt)fE@5$#Kc*h|f@ae1X~$O4X83qe+R)YEGQ2#>4?NB+gP@(qh#ntygu@9#tl> zvMTAc%95W_Y4RW7Ti{NF24gsl%`2VgP#I`YumEPka5}bmuNNPA%s`#VK59?4qv=Gb zB_%=4sSY)zviCu1k?PYbRhQPN+O&36JNi`Rn63)P0+l<~s?@n##m=i#PJI zckoZS9Nd+mFpa&7uy-hvX>T^|0OsaU_8bSe<@a#D6JOf#rN!x~CZ|;m>7nR4v8v5T zQB6jcsxw@w$}Cr9W}V72TUD0Tqmrx<6=%&;Vb*FDWbIOZ_La)bKBesJ$CZ`+TaI5V zJBz1OGbgwKdk3(~7K%K3#2g!p{?g0eozTkr&G=Ifwb=ox&JI##PLwKglT@CYuF~8* zmE@JEIIl)UdCe-!>rw%MNq+vAa`RUzJAa2V^A9T{{}ws(AC)8jH}DTRS(lS;$mKWU zu(Kzh{#Za;bkPoA0J`|Q6`FXj4xg$xRuuTDw7`z86OOJEufoDKxeBvYP*|w^qDtiz z@%%#(&p#9mDzkXDGK!bWS-eeY#g{3i_$DP6pH))v|0t=5UBb~{QVIcG=xXd-SU9m3 zXkHPq4pUIJ`WV+=n)$m9DtNz?V^OiUT>QdzKELdgR~n<-(q!e7WhkqxK$&IyGG}?6 z(#zZADDP8R`7EWBFI7?nBW%S%#aG;@*ouc0Q~pcEmVc=@^cO=sYjdt3ZL=TF@=~-o z7=kWng$AgC;xgu&<$Uj0;f|&gpiH!w4EC%^uTDTqaVV`iSE<#-N~x(ht!o3ODM8#5~=G@uTS%}@*F z;Ho0-sbT+xI^u7%nA8TFk{d#m)DWY@#uPM_OvN|46x&##n5ITWH%(S#(^N$?El^m~ zdWAIYS8&ty3TnDv_NLclZ~RXnUPP5D$Xd2W4-ctHAa(vbFD#wf&eZ z?f1yP{Urso{aF@t7%MuA;X-Vzs%2cn&LB*NW~hbodddLXSnV`6hkYn|CnW&vWwV z{u6vFFSHnMbeOH!Skg#;Adgd^9UA$YWmhW3b}qJ^?bz?cemCEN_Ywp4d!ViOD`40z z|KTwC4#&!8I91-m+45phm&b6O+=ltU@CYmd0;%E4X>6z9DKh&3{F4s&{W$BeF(0P3 zG9GelfjTJT?|f`$OeX&C!G0h4AK*LaVPddp?(&=IC(l_n232nOv$)}oGN_L_flfS1 z1&@-*Xg`d>Iyk^}H^O7^dm0};%)kd&LD|m61>Os%*AA2@eEi27r}9^dx-1bfq(E> ze3(zfgq`W+a|*Om*0mh@Avxs?68}#n{w0ZU?AqrN11~@WSS&g+tnffr@ue|Y8C>j$ zi=l|kF*NWLZhqN7XInQ3NNC+c*ak|@u)NBuUk27_!cxg;If z3;W>!TV^i&x`Za2NjWF1!9I3v+j$0NH+J^HK{yOo!PRgr90RJDAb>R{l*vt$$t~2)DcZ;F zvFH`)P!2S*(-^s(0=(@Sc#vyo6Q{l&egh$~k!}{SUh~^67IKX&aly zp0RTioPyJE2iygB164d8n2@v{@j^48Zl0jOJcS=m&UZ>dv|l z>gJdD@v9{EGo?=6YGZxKD0;;fAX9IX*xUaDpKH=C#sbPZi#*3s#=$3PeyHrJYDRZ4>p$)Sv;N{H_)i&7HI&IGaw9($be0hE z5lgu_u#=CC3es<&WZOxb-y|Wvd<-4rEK%gcM3xT{W8O~`dM|$5%^-3Y(fMiA0e+E$ zT6v79_t)6_a@^*PST%cLTnk6R`0yRjOU9eiYaCx--NDn8#p9I4StVj46B~t;TP0~X zQo?Pd-A&r;$4T6OlSYYZ%{q)_3>Ry#yp{C#QW96vwQuBq^K{HliQ_+k|LlWt39t9V zd2Id}=q1>mkOTRa0Xr7TDi|9vq@Svj=nvPcnATQB+Kr^$M%vw^-A|53P~>J&1M_JO z%NWwu;lU2H0`nZmwP*#W8Dh_I<~^8LgRvdkhHb#8JuWkvu6I8$dSK5i$@8IQ*{~6Y zjd+Gh2R3r?y9B+1eK7H3H-79wC)cL;Tpx*s-3nSWEj{O`Y&fAvUtG;X>&(@N$6C>Z3HL(0Y1l zT|M-VZnwA9<&H+}!Lt{h!0{0~w>*aRgAA$LVGS(hZ@#M1Jp368@X(mIMYBDFG}9wW z(>>82ywWw*J5R&j#TxXf)PPTe`h8l}=i9Ab-$C{G%~F@&B2D&Nrw)HwjsKNu^}kgu z{*P*s|66Jf_`8}dXb(SdPblp#oOmyiuXUoxH^+GqO!+uB9e;SNT_ZMcjabkhEa(rG zSoK*`HN~2x9&3TRZDr^yHJWT|RtL`rwc7^N8aPuefeY0f$ny{O-Kys%SZBXgHTK6; zZU2p`gT4Y*;-SOT!0p&Q%#>qiEYqqu@(;6kJ(Y6Q}AUIjhUpn!nBivhU;Wo8IgsC|qR!xzq zYKY8KePn^^*gLm2s#euelT;PmtqQc5^5`*@#;j0r%r+IqTqak{jml?DOkT{J%8UIw zN7f$vz;SHtO=b$3!jw0aDK`v44}W)Xz7^jlQ8vx7?rMy+s2(k*HZDpvaY?F*cd9Zz zR}~4xDo?0VX+o1q5;|3sIH*h3X_fbRE0Olf%(<;#HE8rs9+=6{WgVm|8AZ zYQ6GP+m)Brr<}Bz%1T?J%rsQZv`gejJE7FH`<0URGx&_x>=>3h!IjwAfz1^e)I%m= z5Of1y=c_55ITr5`T8qbDRO;|nvBQS06N;`Aqk{Bg<)>#TFFjv58Kuh3s8v=*i!w5L zm7Y0Wj?6_$&D@}r%>7ErJg$Vy`xKw~3a~>r&qpOf5^HlV!_F3LF3qAXX44L!6DEPt zUaFvs_lv=m<)Qp63%X8_a_F6 z%J)|WT8y(GOpbzBrMXg+>dHhpdIh*tcz^uV(f@&y(LdYq`ekrkEIo~~^#l)e-#8lZ8RUM|t>R2?D z6opr3p|KPyw5CeIXfZ)GQ)I81rNEjMveoRArRInNYHpW*&C~L)eqRCA-^zjxW343i z$HtNp!e4Ckg3*BLp%RKAACUf(R*C&;;@?{0k9u!~Hd+eN8@|&l|0d5yzBWcql~c;8&jEjcR@4M z0NVkn5OT2X#CB30_8YL@#CO1GF@bIVXe)teE1?Q#kC9({ihSF%4EivbSZK)HV28P(OpTftvN0P!=7e#h=jJk(L4GcseJ+(emxSi_!+hAx`&YnST>A>2`5f?J zl-M6TeL(fG*AQjEF%S2h-NfHhus?u(>{@4_zl@^4jA5T7wa|?lj2GI9KaCncmIa}W zgwx65m;g~Hs|t8cWtzn{D`&w4491tjDXx2->px{+#0MC`Ru7l8PNqL{EbOHX;CkXP z_Q`J$b}e(!Ulw9_39JCBm+2y!3aqC*Hc%d$@M8<*u@yhI(>8W60PiRU%3?bOxSbDg z-_0cPB-fnd+K;$dt}4Oqq+1Y>g@Y=W(@11aOfyJz{Kr$e0ldR5XDl?=2<9~`YCTV zZIE(~T8e$_`qQP{jm=#@*gC-RAY2YqEtCI=i8xJdLJy%#PEa>D2C_Z`KWg3i& zw2>jstz_~{0yo{k1oAb4h%dRGIVE=M=28cXXambxgF^WRZ6W_ApZmbrH1@8B<8TAq z47UJP%a_;x(L?Ux^?mT5FItEVodQ1|PlHmvK&6pAilMVRSSL?HXnf};2C%xjE!+S z9DfdPz%Su{;2n4u{s151$0yXwpJ^L^DdfR|4gy=s;!`U3vlBe%a2DPo!uU~t@Z_~w z3t|Ja1|uFapa^QgtOe--6Pe6}c|=P~&_7lYL9Qoi*~WMG7oitiN;G#Aed0zU+`EaY zoveE889-3(G!VJBqhw4W{bACd ziM}$I^cSNQtR($)WPdBga52Skh+?@G&EOQW(L=~btUUSs|NcdEOYl$i85K9ND~C~I zj5kJ=Fsmc}uUFs7og7-pT?lGOJW+Z&)?MVR5{pel%pIr{y{vB-MroOW#WCXig;d%K z8pt{-a2pL~4-Mxq>dOfl(_O^BPt$ncN3Hl5W%WHP943C5I9{8oN~I3x;yrRU9&3V3b+i64`0EDK)W4pgxvFKm{uBS2)@VSdm1)! zDL1n_Mm1?Sk#;+2ca!!2>5fnrqjc!`SY1y1zn)UqN%{x*cOAOKU3l~?o&QfL6?~He zW>v;TunYc%^qr)ihwr5fTGgc8NZM_v23@4t zPnuInbCkh!0qL&L4u;unw3aP+WcCf&NUkh!A1~%M_?nK8c)MUHa1+?D8oiIHX7->ZKTPn2-@ige+_f> z5FQVVYe$#U$8Vw)o0j}5_!1`eMKyGI!4FSIj3fF&@-fIE|O(|B*h&s|eJ{mD}xw!*Lzis0G;w`x3IRJG^Fs`fgs zYHt(?xEY%VgQ@!vCOn}`!oa8@gPiLNV&;i2Jr*z27K^%lf;8DDLLI&dYV%D~t6!E{ z{0cP5uS`w;?8xZftOozdstcfG0%oZ?V2P>%Hmbt1UuBl-RBGXg2+Irbk&3PV0#pgq znd8{o6UL+^g2`GW`3DwrtB1cQbH1JT`GQq#HXpTGZJJ~aQIj=VjkY8;*wR&Jl&&g5y;glBSA~ER}`0R2ovQ zlF&L8g|@0Nv{wb8)0H2#P`P32mCaUhnf#hjde|8`!(Nah>|>5-^pF9UV`nQimoX_c zUs?`A7qs$sV;nOc-mBr7YJ91T@KHJHOj$&zN+M!Z9GR@b$aJ|P^HdO3qWma+5dw84 z2X!VZda5#`=PNyWjU3TDa~6G#lB4fZQuK35jQ$hH@A#YhBwUJ}jo4h2L_0_(NP%`} z;%}pbR3$R&!Jjh9r8w48MX^@7P-pVvB9#}Hpxn4L<-}(zizk;d<13Ys&?slZWH}Os zl$tPC$qB2Kn6O(32}c!|aED?No(1;HPWTspGiQir?8e4gY|cxe9#RQ}n2Z@krk>YT zoGXK3-Y?|3{6sh9Ci$cE*p-#Uj*!W*N>5IaGdV+!lzgS7lqn^pUdgC4NvQ)$NS&>? z)Rl@!-KD71BZ^2pt?<;R6_(0c$<*_TNMX(Z7m@xd?9Fjd4^G+vG(ioNbFLT)@F|yT zvN&d>`N-+8Da{e0RA-b@oQX?6T3Pda@@}p<0eS0Hh+$7NzEGmmD&qwgkp3Lf?=PSppdQMh2=X|e z1!>q$#CA*x_REL}P-pB_ezI2EWT_58Wr;#PZ9M1HDFc+xj0Al%E{|wY{y|cvVv9V)qE>k>n>}( zul!JFyqkjL(G)KCCOWy1H=8KbCO*(q4_z=FmcdTAnu5L?UZv6D1ImnHA(s!A(jTzV z2;-^{=kfs&k`+fN0+rauc1Rue8;DAp-Q?TiBab!z6pm#9XcF=)4XkZ;=tb-49 zw!sju7s6J!l56jTm-yVLfDbT-y!B(F4eG$G3_|o%HpjFo+CVK4DOn0>!hQ=;Im!BV z5}9^;QF#7fWpKAMxG|vj#{dJ0kv+|}L;ZZHe+rDjdN@SqyNzp~hrjSSe1PfL=!Ryf zsi7Wl->5=P@|@U+{YluzZXk98x={s4lF0&!iaQ19!@w564c7_AV1CZpYS<+fI(dCz*Zw=Tt$A(%Aky9RIyf`3hBT;Rcgbo z{{T_pRBTU!nJ@}-@MFxIL6-8Ej~@&1gPm-(Bmpvj3SB~CO9nZ=7vCAh(n zdRdPjn<7y>k|3AYl*J}8vT+V%SY6W$4hWIM;5a3N)KF?F-o!q8K<$@Ea(LlO%i+hp#`$HBX~9{FUo@%9pY(C(k+LIf-%( zUrzb2#lEp?@@H%sdxwEyB%qp5M^13O0d9s{;WoGf&cMAMtfru?K7t=-x$&RP<28-$ zVKVt3nR?(TJjivwC#X8FTI#r95&e*2ilqAll3#CQ_aM-n$8DbEcneU36E-;B2P88d z96ieMad;A*h3Da?@H2nZiV#RaAt`0GNH^yw;8!WgmvH#ym*G=>4V*gIz&N-ARcIgW z&y=mntI6XjxC`!wvv3Zcf#={yJFoEiXYdC65`GQ8h2Oyk@G<4_Nd(6%pe#P7Q+>RN zbJqZw_{2Ob@}m;r#%mw2f?1Uj18I;470?JB&<7(#@uNgb^VvOP33|tB;^qyk*w}$) zu#f2BFq*+}G=tN`l8+P5{sy(;A7}>?t1`}Ud=Tydqe1+~haY`0t5u92p^yL>*eWE2 zYU1N&(w|KFeMHbx$>uE5pQrceIPVYv{u)1ig&%LwXn#&4eFb&qMJnw%D&`sD%%@1r z=pV-RZE!P~CqsVp;a`-;H}ExlhD!8j;=4Z)>wZW)^8qo{Z;AVV#W&us6Cu4y^z;&u z&Wl7^&k=n+OEmTr(cn1-i^uWfERFeL8u9~F>b)oiXE=K&m2;Z455~69KCXcupA0cR z{1ZNh58-WiojCI)%Hjpe;wP+>d4_Mj&C@B55$8TkT=xLwaWD09hG^?fqP^2ZfVUA5 z-b##l6Mo#l0CIvT{Wu->S}b18)mKp}N2sYQv29jn8~~$5Tnzuf=AXedBh!>k^L_yC z=G*r>&|+>U*1b)MG|zNOHlMW1P&H~uyNR^hN&CkgGDb*yHk!dgN?;W>Hq$cp(zTDG z8{Edwa*on@pPHK36=Ms>&9D(Z!ruRbr{P|>6&TU^q!&J0Xqqk#VfdVlCb5Vbxq#tqI~vD9UY)?J`zfK<7;e9UiRZnRaa;LQ=yJON;m(y04 z;>QwHfknJpfG6`Q?YZP=4mCELS{+5>n~mKc8RhkJ*fK-FF)+j7gtQuzu@e1Z zIqh>Pb+Q!wVF~?p5&FXd{Fsj)bMa#gKjz@aDCIGW=zIqMrt|IyDNLpGhbYNGTFL;e zwVzt=r>FH}d*BBi!qy2e_P4`YV7SJP`QpNj^!@PJM*933CjDe4ZDR&)bQ*q)po0wK z#}IxDQZECj41K5%Q#jkpr@HaFi<0Z4uXfOi+Ntd}2DCPMc^mc(?O-$*^I+&MA8w_- z+#+Gjn<;|l#8hD_Widoquyz^Wjs6gW4StQ1Hrhj!aBhkpQ#JhQcK5}W zmDGc=6M>z0@{od^4D94#xd>Yo)JQ%5T1mSHk47k+xvXtk%{#kLYp%r8QdmrA{cRN^&9Mcymr^4_5W@59RXzD0Rnk15yd9p!p| zsT?0P2)G#?~YoHF3{)*Hzjn`0x?hB3$Fy$Y@=4{}p^ps&hoR+ZXdwoP$imn$ah7Da_UrpPe%st)^FQK3A)3cIks0()j< zPG1~t02-hQN;y{)!yJeA^YAAZU$P^7m4z0Q5fP&Fh$uND6O|U}P-QMzpy{(X_uXxROCy{&$Px?!+H$8zqkVyN3 zS}5o5A}EMwp2z!H_>+M@&KNJH#aNUY8>Hk|c4UZUM+SD0Nr>Z#h&Y~zi06rj_$Ecg zcPS!%n!@83DKue|g5xh$Q2dRu$Fom${96i)|5EliRwKYB(qDkBsY%pBGVKtmpacl% z(Ou9U@W~0OT$h~auEa!t#U}+SE-6&8NzsZ)PEu5|Q<2GeibyU~7+Oqd3OzYxSV1WZ zWKY>3Tgm}hQ%=Z|@_+(TUQ5vME z5XbqLG#^Ddtcq|1DcljEFlRh^N}58P*$Q?Rqp{S=p5887`k<`ob7e_iBmeY0@=HG^ zALqUDa=s#OC%??;_)fkKb|A$5DCzb&=#Nh70ZMsY04#n%`(eHd$q>hTQR&RR(PBcg z0u-FhFN0=>qNT(DyFz61R7Q>qjipinIg{j{Gey2Rqw>x{`Odje?m1V}pw0lZglyKZ zW}TNiPfaZ&?HQ!ahNo)IpdO$Y^7uOokebk(h<$k-lZpP2P5hIK{*do0TY**9f?!z+ zBG6Of(N!GiE4lJ6LP<;&Nf!H5=!=&BGw6~u0 zjRxf6HS&@&IG+ZIypH93L@xI8iN9U$vK9Hrztke1QoFoLL*>DfOYS_mq*6XmRtPoF z4#Thzw(#CzxShuK9DEG_BEzh#B<+6EZY2z<0iyxsLskxD0Lc)?c^0X$x(EBk#6YEP z@~`lbH!Ee_t8C~h3}Q8O@)|l(4Hak-GRsTQVpP))b74Ik;@VU2ECv1%;6o+fU6QXJ z(rPzcr|fYofie?&tSq0rO{3T3}R+*n?zYm zqTnXs?4)|=hFNd{@9&43x%MeO^C$RjT!$GZ{SGd#hjMW7x6yzc925CFx(xed$&OuX z9ZyCyuqvZj3?v>Do)3ds00~eQok84a!f03wBt~fMCKKINKz($N@ZK`Ghymav*FMf? zJ_LMdCt@LQEl>lc*efWd3?PZWV@M*b7W>$>VArP={e>i%Fpw_vdUAuukAD0Zz>gvP zm`a_D(BY@j(56y&Q=6clMz;WHmqXVw5IoHFf8cY}ML#P6$X_E=VXv5S&gPg(bBd)H z!}z!zy8#`PeV4HbB*&zNbYU9IaA(5fO$W!1IruS`wy_`*l9`C*0twE?>3O5Dp7*cd z=5#L;m3R2ed2SNSr^sVH_A1D4ejRntNE@Ijg^^!7cKxTIzYJoF;$&(xp}&lAoCjoW zeA36xDO%>mjmMvf2!5=^kM#`f>l{FZ@=HEigVSqPaDzO+HS~>@uX6oAm^c#q^L8EO zT+ERNGL_g#A0)qa?D}EXZ5DQn&4sW8NQSA=#KexARGaj z^0+Ny=Qg+#jGcSnejrQZU(`Ov@kw|VUVxWrBd^mwUXMZl$YliwmHsM~`|>sd%jnI3~1!Pq-5>faIM6l0Nh)+>qPY`GRsDBvk!>qly8jgVR;T!k@{sy1J$HZ12 z65suvxaxPrGruFIdW-n-H6oRl@#96x<2eS)XNbCv;s?8jI2sLNAN&)WpTdV=s*sk74WkA4lYS6-L?r1ak$xs= zyGXl&v`y4DiL^UOyO*>F=^E2Xe+=DVF-_?LYGNDR^b)$!G4uoTtjr74kojGm3Eg7{ z$E{#=h`(U(JuuDbNifaabgx?}iyMjWZXnh@NsM`d*zOo@<7)gkLU~+4#CSOo-XS8t zgWNnWp^faPjqJsbiz$!Ys1LjNw*wEh;pG-quxz44jpkw2UaW?dV6=#LuxFa}LvRX? zgBb!2%8jz}r>yLx8%9@+gEZ34CS?~fdKvksruG|2x0NBR3#Do3&08PlSwdd zb^`vV;eR$3%#$Idq+LbY4W!*l58)R=DUXRKL*{Fgt7lRYGbju5+qxsfyHjb=Q?Y9> zYp)Dvv3Da}1{VUu1bN^V1dAw(`REVxXrFVblQHy%F(uL?9i*R4`USLtQqr#?{RYx& z<(Aq_>lmU$MrpB2X)POx!uNCbdOUo9mi%k@7ABsBGe=YRrtD4L*TNE*3!^XtMktG6 z%3_E*8Kh1IX&VEy(LUB;Ou-MnT_^og(yu1nMp|h*|E8b~OdBtmNt9kQHQ2-e-^c*l zfb!Nr4{X4;QC$s;nB(QY!2|unliNCs@Or?F=?U-k$er~4NZ;rWK|kmZvDiq)hLc{J zgAErp*cFm-tbxDkxw;l_Ybdd5YORu1SwRafr=^$C^2<;@%dlPk14pp8!-w0WA5##2 zraA#kRXBF~5`Qzynkm~Po)&6i+-gK0YoJc*X&d#78@2S68gvl8?Z-|Lb}C4>p7h%& znJH)-GdQ~#rDhXeUP6i8fV%hys>yHRpTJWYU^Z*tU}1W|Ep9rumnmSTht2$5&-q&X zsquA3=kQgPn-yDjEQMh!8e56j;fViG62u}oHyby$hkd5X8LRjhTdqOI2{%6hLNEiWm;@`)m> z=Xs4@i;YFt8wq3T&2*y~s-cX(3n4$0xjye_;ZLUBLz!qX8E7%-wjeod;YtgPQ)*y} zQUWv3Sqjiq%F$UG6ld>LjD1*9_W6piuTvP?=7-v^SFrtl1=)WFf93Uez_>~J^RP7( zK|6>fImV+*}k)=(7r&`)Fw`40HbowR3TuP>TdSa=EINBi;Lmp&u&VfHE zki<3dz~;S*MvI9=iwTdlD=aolp|LRviA`2;9KXyNSAf1!DI1RsSmS$TiJvL|_+|2o z-yxs)E9Dh;S{`xFz#ruq`?b7c*;R=&r(th$JoS)3J%9^xAf0omki`4(fb644{tioU zS4g6tf|G2rCj~>KY)J{SB|BtI&P87-m49-*{E{cjCz+8pd67Jlx5zE|atf2lVbW8; zoI3GqU}tI49l~CF68#ZO_@2)(6C8r&bbHbW#~suIxF8E0oJ+x80>l6t7oj;3e`KIPWbsr; zj<q3s&O8T_5b`6PUa<;YSng=S)(q*)%PfP6Rf9xr(m`O$zGXiFGS&46YE)iMgUj1QE# z7-XxV1E%r!a=3`=PQasl1|N#g1G99}HaqlGLlGDaD4lbu_!7@CioZj1u%Ac#Q9uk_ zga$ws-OD^FI3EU7e?H7$Uc+Eo$ADHxC#s|1>TtHM99n=jQMU+o(D{#X?ZbTL4|GC& zU`apDjlb{vap%XvYy+z&l(TgAb)QNc%bbv-|gs%Q7=wJ|>32V41UB-21XoUZd z&wR^gdBU}n;s7>lAmh!%3qQ>6 zDRV*~2An{mvzwWiapCAP-rvV{rU8xt3vF{q<0P|mrvv_q;cnsN@Nj4gb`v!AqwVFnm`#@0eu0?T0)TmWlf z18jzE9_R)5aZw<#djz^cDz7Pv-6Xt=gm$h&_qdAd9zxIfkaa5fKsgsS(-)}UxK75P zDcGmjJdE8jFg7W|aeI86X&Ik~op2#s3>5FUK5>xaVK_pWT;qrCL0`E(nxG{Et%3r+ zmc*}KiuQ4UiS%i%{RI>HZ&XHEXLr#LsNXQk**c2-1*Bv0xdx2Q9k3hr!@uqD`Y2or z$KfR01XMMF;Ka@$58#J+ocrN;G>UwJILhMQQQjjHcb?=r>f`pmj{izk>NMH_Wo=tT z-!tXA5llY!!Xda4j4i5hTyMFJbJkPB5KN`q+xuHS$qCc1? zWXu{2vqOgi%naPD1u>CH8}IiJDGf3^pHB2R2i;&Hv*Z;-)$53%w`11qRC)v#Zqj=c z(AzloORjv0Pd@}^4TRAE%&rt>4TSOGTlfn8{sUhT(|m&;|KhoaZMkZeVulSVttagQ~cMV!D=y<}}*D(?k^?joUxes{(ZxhSBPF(jAQN;83@eJkhBm?Educh>n z{#4SRMYEWXKCzq#dp%9%LaOj`BC8uHjR$oS73F$zWONs!eVFGzj0Uj{KE>`Iz*OOz z@H{*TXNj#IrYs(yP9C66?kAQxL&S0iew@OOn~A4xV9-861bCdN^B4o>HAKNj8AOiY z#}zc}i5)_ZQX;ogJ3pa`e>!g4=pO6f0x&wnd)PBg$=GJp7;k~T!a3=v%wHf z+VOM`2RX~3s}zxL1?5;vy3Obk?WEm9&IjpECfc7*{#K!TY{ipHDV389V@4%Tjz=|ZlU*q!q#V);90y+38R{fgEz@%+a$jw4{Yv*~(fxY-Ac z9^=FA1sqpU7R-oA)5h=|0#T%$NZJl^noX&@7)nb?yNYxhXc7EED1J<*UPiDsl}`^b zfScd59YE#iqjgT9ZBD^%4|M;)UD&!B=&j?n&G5JY#$Xg?P!`i^pVO$5X~eqI&>wiF zo!f|mw6oDV3P`(zbgO6;4W!$KR?tiIKMkE=KDA`_5V;8Nu0bcbmlpIEoTmo4XaB$n z?3nzUTh3Bo$l}w)zt9K0awlD1u#$EVgp+Ft^EG=mbVI(q_6tSxo2;HqsA< z2yDb*BN-d~A|-xQQ!kaYj|$F|^QkgQ+o(jv)LaocETk2?sE-1AbO9qk0k&OW_9rrB zu+D?8TD+JV_%J;IqkS~;cOB<38|4lxA6FTF^P{Y+=U{$=PdR@43WT?>vOO)z zat~CdTd*?RB9!hHi>)MVIT^)ruverMH+E!no1`SSUM0BAP`ukx#k%o}5R5R~=iaEY-b zE83EwC`$p_O1Z+VjS6EY-4N?^1zXwo#=1>`R-S*b^8AD49J~i#0^hll_H^uYh0qR} zYE*y=av+^^X^@ORiChyO#4l0Uy%dWU6BEcUQrOs$Auv=Cfjs{Z$ny_&o`10Cqpg&q zvoy(W?~%sMzn5H;vr3Tv=|%fVyvNcvV?XhAaq!M zp$p^_xn2bfdLlE^Puzrv9r(n-~U0w-B1ImIlNQ$ETc`pVc@g?`1V zf70*9UPCPX5sU_u!7&9AV)zK}Md3?ClpE`K+!Y+{A$yD`T8|GpPk{Uq&>v_lUWwuI zNQ{+RQVPyzK{3=p7tDYaz+EZvdU%Ay@ge?e;NFRy4(!&(GZrOK55V#kC3DW`KQZ_c z$u(iXawxPW^p6BjS(3cbdiZtH6sz1*Y1pRmrs1q35z@g0)zA(juoN!jn(N?U0;+e( z=s$tjAA2o)tSX6mfGkMk??ilwWJa>>x_)YQgNRRTsXh12POTbnv zHX|T}*LKd^ct5~F3{EyZGd)R@n@cW!n8CDw0j-d-D5NY3`9NVNP#=YjFa_q3$<1(- zYwzbXzr`RvH%Mj1{A|F47)*`w_(>GyWS+}R)qZ$D1%BjIy8RN;zvDxG*Tx20uD!8|KExPPXHsYY!Re=EL38NB02lEk+2vnCoul`j?m_&@Wo~2ASqt zj2$+G9)A`r5xY_R9b8EMvFnFj_iF6afw9>FZO{qb&;buu#% zD2o|5KD~U503t$~=gsq;$?f7v~5HU3E za~EZ?gSNS?ANbJb{b&lOS+DXd^pk(_3teV9!N&Qy;fK!1FC1D3f*--%lH)s{Bo!7Xz1!=W`cFWAh;Jk^iNG+{)j# z!(Bjk*ZuG?JO)nzSseco`*rH&m$cD0sgu`ebgxp-FHx}1??JyHfv4Hs0o&o&wouk? zYxvw&;O+4*evfjz9!%cufP3K~coZIor{E{>BD@SghhM<2;XU{xd;)*-=An)dv=Apc z2o3IIjDENY4dfWtnN<=0TYvb1SmGJLNFS{XW0Azeha1u--h47Tk=8out6Ak zh^MHXq@73cml7velXeqnw-K>)lhXm3#58QorYSC>nOuNIv7IWs6pi9~{@sT@@k^TS z`SE=3!tQ1;8pIm-J@(#&m*533)oiN#9=Rcd1(0SCPLKE7@GLDO3A(&?LG@J#~#81N2 zV7kHOXfc-&-(5zX9HMO;B$hdVAA9lRV%o=UZXmlz9WxA>?rDZ5Gfd0}eyg7J0>BPo5JTEYr0pc#Y|?dMv6S3blXfF5 zw1d{s$G_>=SV*f~Pm9@yW^jTUdz2pa5m!t+|IxzHa3gk%eUoovdmhY$sbGfd0m`DE z_Sr|B^wBo@(I2MZM=ySK6J>T0>2?wUci;!VML{cVBHd1I>4UtQjaMsaH9NW0AEnmr z=C=R;U}D9W>FH+Wm#KG?e{(C~&N^#9tKiJ&XUbqH%y45m;yy7YGTKKauS+>!1cl&Y+#-4cD>m#9f*tl>K#$2` zEX}6BWMMHAZ_LV&bV|%gjX9{BeW7lGTtU-@k zjq$MxuQ;pls>=VZtX0_lYQzTH(7`tOH85hc(Duk7WFN88FRoFW#u_srcM=eLsUWO626r+0y`ot2< z9xo;|A+M0X_O3F=&)2~AWN^4~cFtczbS$GM>_WC8oAC7w$huirb1-u%Va*JzJD4_$ zuzKno!s;pW39F_oCajpU99c_PK4lYO*_54xrBj3mOQxJ4ES_?Kut-3Ouu#B&ut30p zFn@9|Vg95nR9}reLVjYeV!jsJSH-p@@D_h+9@+regKR_oz}MCzYmil#hgmUa3g$Pa z6PC{sBrLM-cNXvj~f3mf|f0bhPI>Nl!TQS$NmoR6}F~aOQ zqJ&v<6bOQIbO|%&*b=7Ap%A9dNhM5~%_RuT9w1Df{gyC!7JlcB?aO03=dj(Q3vr%- zY(q97Yw@*J$Z}-Ke4O`V4rbwe{58&bf`s|=W)kMlolTfKcP?S>yoH20^Oj+*WexHN zVdnf@m~T0Z`Ia+;Y4c?XQ!y7Kfa{Yc;V!-e+$V-GkBbB6tH>yV_Y7=b2HO+CVb0;j z7zfA}WCQ-a8d-t=w-i~7d7y<0rV$n_n1MN-nV935MVPYy^A8K=5N0i0K$wZ^lmxLh zX2!w|glV`=Y3d>&%(tAve2WxL7Ss{E0xTlqpb^JT3%NLf`xE(qVBH>mz67?38+{Ul zmSR63f8g_V$Vz;D8M1iMB*G%h0WDZKoiKl)AYm>t2br~KCgyqO5T-AgN0_!0Yao^` zCkQNEN0_`6$85{?A;O3_f>*y~cn4bQjo<)y32In!9Y6RJ>cY7{wjqY?9$$v>xE%Wd z*@(~i`JWZYQq;0&G1_3!G|V+kC(J|UEXMkaCAbI0QbEGB<+BL_E9Vj>t;7yni3ji# z7W{&VRlAX+h!`4F86Qm$9IUQN!1tBlhvR5z`4`lN_f9<45$KL20& zpCwoav=Hgh_4wUu4v#mgoDSRhBaSNAJ#D9A^duzgD9WB2I~)GE&ja{wJbwzi!lea5ShPx z64n<@BFtKe`H$5CSl=^+FnJwbNH^dGW)lYZW_0c?Xp1d)Qd`#I#RdCg>j4DsI$LBB zUBn6B7mbY+;xRYS;NS3g+)odO{U`8{{p+wF@Npxu26e1J9ZOLMx*6u5aQ=<2&BFKM zwoQa7c$$+o;SFUoUgWo;j_r6c-Gvu2{)J@^+JbLTeo@VyJ%}(OiO#Nx*x~!a@nl(; zi@ExD9_IXdj7j`V{#vjt$a?&HHR@Q7?JY*;<8xdZNSKBHHyuA#U^4;RMYbcmCgFj2 zGvVJ@gs@KzVV@jETO3A*I*bSLH@P`{7!k$)Q$;M%;6Zp1%EgoJ!{ff<#Q?u^NB231 z>_q;+HuyQ9Rj6YrvH+jY#n)zHyVJH|4gk9tZ<2T%f@U7OsUE?{W2i$Ib(}&SBG@Nq z79wa15j;?2KO%x1u89ASet8n(^F$T~K^q?T84ZAQfBfuy$aXxpO?b#UY!l1Q2n+E! zKmRim+nvg97ej6ACXT1|R}KarPaz`6SwwU)4t7w7B!M);;gCpz{b95+k{BYt)d>s!mHpAQp`h;FS4jOLZae%+bg&MHSHe$Og z4xtYm!}js*llkplK=^I)&ru0cLo^T_L?1CiOc8U$3b92T5EsM)b&%&E7^~jcxt{pp z?syVz*dNYbm@i4k`F$(qPd*X$uiMfQ6Cwm;s$6@UV4{I!* z5O$(ptv`d8Z#?HYGT1)AHqoe=D6XT`7Cx}5vPR9D=n|6tg5N4YiMk0Zf$Gt=<4q2>%Tm3b@1As z*Kgdsedq4I2g45^k34z${Kd;xZ{EIp|Ka1OFJHfX{|V#$_rIS#-h+Oh|NmY6KWQ?* z$EWjMem462e7@5!L9buIcl)(`zu$z8zm@O#yZElZAASE2-}#U8z5g`2|2e+@i(>#t z^CLik9|9^E1M2)B(BVgcA%=k|KMpMUfnbM`;K&aJH;e@@elYm)qag^xA&egn(foi& zz=%lZheQTHCTJKGOny`pU|1CMXgOk=);t|TqPzm(#YR9#bBSKrXs)XdV_mgMN-?&;%82?`01jE+m7Ca0!nX4CL; z$-i0_m!MOO`NV&7iNAbe%qjR@fo_3*fsTQmfv$nR@#ryn$CIb%AJ1Q)hrD|I`VBhC zyV242=qDdPefs?Q3;N2p@85s?`1uq5Z$E#aZJq`>`{n}u_;TQ!+XPio2cSV&^k}Sls_wNsNKb+yrz7|vKqQeV_Bw07blf`B|jk3W z3%FKqo!nJ!$7(U#Y<9RhG z!++@C0*wFIAs;oAp4$KoQv1JlDV`s_tgim-x~|=wYeqp`-DW9O4VL+Z6*i?bu3c?P zA*new->EZ%;nwGu<8$@jGNyr!eZfAy6w1$T_}MJE?^Cbh`8U_p)JN`V+g-b17}(rH zOyV|Kw3JG~fQz5f=-MLRH1L&347PlB=RoPvMPHiFta&*gvGc*OjL6N` zifWxN)h)~J>wD#1GYL!XGfRl-uuKnZv8It5ZJBO$B(`IXQ;}_zTgkr#@=-%RYN$NA zaJ1vhs)siuwhcXz7U>;TP_2J`$-Lm9o@>S}6H4q=^T?1ss|3Gpn-q@@`wZt+hiv<1 zXS!9RJM-THY}8P+chG|mTq46Y`tCXkbE6(IaBOzxCL1ad4`x@BZvK4fU{}J*ScNP zhOh3O-uqa1X~U@KPA*8C%mrELv>&Q!Q6Kg6C~t{Gub0+VF3(7I4o{pMY)4$3tR8u| zm_PJ(BM$qy|672!QQ&#k#>xG|TcgMsy^vytUHcN4R>UZ$pR$Y#c`{muU^9~)Oqx_WoPq{i1SrGH%K0IhKt8-LFcpu5YL%{wWtx0E*OB5xIVZ^=z*uC4){oF zgP+vD1=2T8h1A`%A?@fA$UUGitDSvCoLJe%xP$s?u>QF-np+Ww{&z4K_pW1bepLd$L-)^#u z>Z`V;wQxzinj)9_QkGYH0mHwKmKi*lk`i?zj+$~SA~t>Kp8}cK7kmvlsG;ceYN$jF zP4dFu+STMgbm(@3OxoYTfqmLNV-eO6wtg_*q@v)AQ)Yd3RO2c@_)v4;f`P<#EOK^pjd!ub3x!I~9p!J^uIjA8U zH54A257noZzwZ#+{A@_(@PiRK>07Ur4O$=TICF0p1=0G6@rmsgnPE-Vx&C#w1)f!; zV&@8{Qu{Ku3M-y>wK>Wogj^^4(Vv_2eSvIw9h33`X#imt$CI1wlqlVm_Gok$8 zoYA(Eiysb&uD$kH;!xLHS?T6a7j-x9$CZ|ADVHqKmDHqx$CDu!HyZ<>x5=K?K?65&--WBcD|H2RQFj%vh16p2K}uT zG4ZJpDfEGvhwp7`KldB7 z;;y$3@s6*r$?X7tqgz3ge+sbI34E#BEO7VQ#>rhz4$P~4e`aG5hzjL^hm7(K1dsDmD&gNFH+$}9$dRd#jAlsNc^S3j47G!VmG?esDfzs8JpY$xA z)cttPl-kk#3psFVV>X=K8xP{g!$AJLA81Osfr$d?r?MuCN!k$HWc0yHRu9N>y5KLb4M7Up5b}@d?h+)_KAt_P5Y`Ijz`jLs zaA@u9}6>u}! zKlW-!Xj-3t6urwkj@9N)<+Qk@@fsboE9yyk)it)owH4N!x{2~z!(TT0ZHM1>_^+|^ z+aLai`9lI;Cll~GnTglQJh9DCB!3V%>Y`9&sQQUzNqoU@a=V}A5qv$~H{o)4P*zu9 zczzo>hSThsP}bm@QdR4eRafnh*T}OiXezNQY?vrx{*bU^CL|tO2-zoB0t+>i$Q=ak zB{AR{sD0#Em_K7Xc-+l)3mZ)KN$H8E};j=YlYnb8?f zW;KTgl>NV1^u#W%duCt0GplGmQ&!fKr;e``oSxB%#=p-^-)l%a-7RWYd2z4X3< zXgN}9>vN0c7}KBQmffD@#i@_+tFFSVNLgTH7nefqEvDpL&T-GVobJKwO!LTVpD2)w zcA%miQcwfq#0ubu{s9#-2ccS3>}RdcrS~-^RwI?xPgXjf(5b3QrrL24r1{r7(J8D7jq|gq2BbZzeS z8&i7QEt2Z%Y?<70CmxgIUYpMHX-UYXbVlZc_6BFgUG~q)9Pmk@_xdC;x+e;xtepbM zs399Q6rzTT^BaFON$vmGjg=V#mo7cIp<{D%(2&y6ZAPuc88Eww#LeQm)Fc*qG)1y} z+k==v-M);dK2Lf|zef(e$2}{zYob8ve>Bhz%ma?_Qm8(^;cKhZ{?W@=nQ=q)((qj^ z>nk@6{2Tj-37lq2MozU&aUxbjgmau5DQu5c?|gEnD>JyqF*ml?k(u4?l%Lxfp#(M5o?HK+Q)=(4Ygn0aUq$uSLk+90I|ja$mrY}tZ5G+dwN?d@<+f!ME~&<| z$hpy}z`fOu<=bJIAKHmIlMX9ZdfP;SG_*tNc0phsm%Pm67`$_>J*4DSk3sY|I-C5h`+V^!=^Z&no8Xi^m2WLy+K zVIUnfq@f1(eyoZ(zUY11*)>lFC3oI^D1G|R7YZsJuP&LF4ePn*4w-}`^_eGxby#Ki zHrq1X>Pakz8s{P#tje&c@Gdnir<5C(MN}A+MpaG}$UqI5+hzb~A67*iTkxXy?25a0 zFKoN=R9d9-t%7pxJ2g}GV?C#|+a`X|gBB41eb(`wUG^!??T(pttu8rM&F&0hqYu-# zp2E_v3uEimMHEaF$XX)+^sUpOY_H(Ewxe_I51m;&@K|g|+Z$<-+RySAi$ACuWIflj zi5oU?3%+gX=QCs*;(FB~k~H8FW7F>*Z_(>THSP9IHtY&a)$0sP*X@XyFpz^9*juK4 ztKB{AasR;?S00>L+V)CpXVn+UQ$;`Js$Vnd`mKeN+MaKlS@}tLB@51M&j7K*aUgvr3{<3iK~K@`hq)^0 ztF5N>XGa~2k8XOz4_*c)?|lu8Mk&Sy?}APA-iDj%yoo02yooWJC{VU!(zU)>gtljk zCRcpgK8FRzR;IzJEzxj(UjRrQ^9CgmXV4R~12ahru#q8xqr5S=DHwv+MFa3v(gTXJ z?$00)t81G3(XJdjutPdUak+L0w{Na z!Xk%!V-l};Qq%igQ*(M8vzT2Z2CKuCUD#&LEpD)=;8t5yaV7%9qK2q#f)It{>J+Sa z&N;UpSkk+Jt#T6Bx-vhRX4>y*B&%oX9v=7OeM7E?2ghFth|K8qiDPuSC$Za{(~FxO zXr+yI`4#mx+^RAwUPXy@Id3A2X^2J*F*v48Lk$enP$0D%ILarXNJsWZfvL{BJUg3_ z99N$^N!}5I(E%yFA))jRzo{H z)ow{mm9E(>WiI(`EPGZf!+}#rbK+G_gfR^pav@EV*l}ny^eu_FJiu z-W#qJ=^@*Jay`c_zAxFE))wv0X$TIfstJg#ukufAE+yx*6?x{h)130!GhK=r(p^ic zC&J$v5>P`nYG9!TE^4U2ipEM!+0T`R`mf6^9EOYS1BaL{)Sh%tW=oG=@j=zaQIQR-(D+tHP-=U20KJpyo!b@fQ_vje z!>OGJV;W+&3IY{1(2ikM1ZpV53Kgsl`Cg|k`@TV6|3w4Q>3)?>$N-0w+Lr55;Lm8DYsCDIqysahU&z@@Kb1`g7_g!hbZ(fF#sFKZ;cmXRtB@HDGnf z*Tze-@0#@tp0=1e-LAC^?cv&|Hs-tJmF0MH3sU{6>50J&8L?5VNl}R%@e!F_ks-O= zp+T&c(4eCFi2w=M7jau>Kr(7zpau?Vs6-8o^1`26)nwna>li$4H+CLsFc0e}vrVlj zbYd1W+)J35Rcf^sbPo-0pyIR%<|5QNu)lgjE7#8d9+Wo_Q3j zBCtZGT71X%7CGUM9jdY~d$bK6bQwAiG@FGsS6Qc&7dtT7`EDiIbnmLws`1UXDvd2ezRAioA(bT`wr|;a; zW*SmgYn5DFW}nL_aw$&B_pFR#_|=DJhcpLfMz{HhR(ICFcQzEDhKkcGzcgRi`nFf* z=(C#_rS9Fmq}zW($FZT`D5#{voJw!Bp(WQi6h@W1l?GxJf=@A}-mNIC$*~~5#l9f3 z)sD?>wqq96PXwT%9THJP&YoGoIlSO!&FK~I+b?W>epTl1qhWc8>%*!#9e1@!m46yi zSbfC!)HciPsCru#rOKhiv&^-^iR)EkSL|PB$q8#PD@tf2a%c?}+~S&v07m%Zv0+w}03^nu$WauR({RJ7|KYS|UvF(hYSB}T<{S*8TF*wDP{?O9IM zP8^#Gcb<8fPq|5HK&1gMvPzGaTy0QBub2psj2e7f>3d2&bzi#OCAl1t-CQS zA=LL=R-*N#l2+L>O{?4o1|CV*iNWCmma%@_w#jbo4w?UJRS2=(hhmbjo_K{APo#JeJ-KZAbUMZ%XzG;RXff;&j;aS?PaXFf;$rA$7Py=n#R4Cgq z^-cSM>9=kkn%z5cc3tCJ@q^`Gq{Rw9DJW-s(9n;2X=oWdV(#euz{bPnjsw~LrfY!J zb8cXsk2!><>eB-X{d*MFft&&u`qLeVP`{n>P)g8ad)zKb0!skUq6EZ zLW`2%*qSgny@d>7dt5>GkUgj!w*-UJM6ft(1a{~3!AVRP+%Mp&5OFQ=m(YYjNeu{< zQin)sHHec@1?q(8X_!W+?VnEIe4IO(1{(yauxDW?99-cI!s{L3+*V7F-en9*`}9Fq zNE?WUG{O3aI*^WD0+(ZI;Bj0PyoFW3PgofOPAEah$%_zqQW0WKO@x}3sf40GrxLPZ zz5o?A3WmV;d7hXDv4^88i6F90A0#$ufWj74P~WBu`a2YXxKjbFcgchOZaHw;BMYvG z$6gum-YX4$`=lTc37HTOg5!rk%#r#XoC^`h7em6?)sQB&71C4>LaP2*pjyg7jI-wF zFtW+Jz!2LP1_{4Xcv)A&bhyYvzr~mx-MzoyOw_LNR9^gyYFT{2nI; z$M(r*RzsHLR>)C02w6JkAl*#iM-oZrL#(I8%kV(wk$?!F2i|ePx80H=Z#ZSdUn9|z zuG+HF2CR!S`zz26}xr^hZYx68UHzr(V;ppjTz zRBc|LS7zBv8!r%s$UH*6((-4XpB5{6^j2d!KLq68+arpHpm(G7LGEn|l zU}5qy&%t>((>?HdqHp}=$e`@bfCzRAIf2{gl~G>no?BJrT2#X!71uEBxK(sgMM<_} zEqlB`1ll2V%XEm^GaFJ-108E(*cbj&kD_+|D_2itwAjq_MWMaxeY$JNwN&q<9xO6w z4GSx*3y9@al2a;pUOCmp9<17Y7fxNaV{uJ}b2%@~rKWJajA;l%4Kb)84J*HMPhl+x z)}xfl3jHioJ^!gpSLIEqDe*~(joY0(r?CEX_tdroUq)SIaAA2!RB16Kv6AhZQN#3M z*3mqR>Qhihl3Q6>qDNKHc!5Y9)ABXMVikS{YG9%Uj@TbiE+h24O6B~ADjk)VRVKt? zo|VTnmVHELwrgrbvNxkVHlT$%Ty(zPySEzsi#F@|OmjI+l?HVe>t$Jox>r6e{ zO0B}H*rXH=-IdPB@GeYGrtlII!mDE9;%dXAQyYS#8I6?if=0hEZk2y%1$Vsst$~Uf z=m+OP(TTAdi0`;V#`_M%v(I}jDc|kTHS23M_GqlI2rK2-CFkcm)3a!v1=I{bUUX_m zWoS}NZ9rmjyS8H(nqb?GTA}NZy6@2dJU=#8Rj_zu`-Z)V{a9 z3TH+J)Rb=YY7;wKjofQ$%tMPxZIWn3j<*7&4R>par38r;$f z8(gR*)vgKUyzv6jEB?}uiYo!~@ZQNgvE+N*`StJHCHK6%B7b^#Naf;{0WH&(P6M~H zMq)@_m33lzDJeUS z+u7Amu1IXZe_vYo>hMK{*4yevWrMoT%s%6Q)DH95s1}>FfCfjpSFJnCx!R9oR~f>! ztcWQ!D^DpmDPtgIrKZJIobdv2%P}vv33sm9J{`FGXMS!tKL2^|+2!|cU)VhONJ_YC zL_xl0_>w{49UW5Ekdbfv6|;!oUTdmXyM3lZvopi0!6Tno>sMe@6T;D}jw#luPDNN8 z{kmHAc!7A-K*bd@dE2Hz#l9JD+W9pQB8#pLi*D(BE+yRXLQbyaiK;IBk&boJ17r8_ zTNV_*LE8w|eup^w9@k`xPOo&6Hoq)`*5DkS<|w*mGnJv{IW?~;OZ0YWK$ByiH!#U9A zPmfUZtK>-Ifq-a(%b{^PebMonz0|}@y;)SXp8TZo0!gTWwpIYjHVM4M8i;FmwomJL zD!i2s!>D-E;Xx*d+sNcv8QoEizZXjhT=0H|W{@Ac)(#;!-CUrd7E?6@vyrTHWxoz~H z7Y?WVkUkglLs=&HhmMNR7owKS2OE9+caA1jZ`{qyUiny>yr5VcJ`b_gdlq4*^E8&E z^@Qr6K9b?2_L%NGULb49B&>lT3}FpK=g6YT)uY>IaefG|$N`ZpR1iH70a7OdK(boGEqNDRMQcwG1oWACVBm?#L8HQ@3G^6nX z?D>RiO*07XS7s8b-Y*d-#QKA5II=tePHqf=bGv+ScM4ZfJZ=x#r>(&B91*N97=wd^ z0k}!&fseEf_{(ZRu$(4D$g4w)!X-#lRE4yQDv+%-UanV8CA44-M8)+P1Qsltngu)O z#DUP#AUL+x6GS#UfcQ>Jkl$wl>IV(L=!h;@9@7SUVNGy8sSX~e)PQ_i6(}Mq5F(-s z5oeSj_UuJSI;Q~X4VG` z4N%#x20FV`z;w3~Sna(C_WKmUdA|a<@0SPf19IReBnyE;G7x%D8ln$MLHwcdQr0X$ zU|yX}Ncl2raty4R>JOV{x?mo}3idBHf@90I;LIvjkX(Ba6xYkcrHwM6yGaU+|BwXp z%@Sa}Ssd)QTmYvnV&Jw_6g&~~w(}6M?Hq(`A1~mGa~yB1(Q?Ck1?A`h2p3raF%lag zPI))P=pBPdOHl}MmII34rSIf$y-yzTrth6ot=^Kd?O)k4onBZKxIVKe@px)h;Wc7f z@AKHC&3D+S&;Pc;5ao*Qjezm+Tf<*=`fZ2*W(SW0vmx-v0*E}l9OBR?6O?vCyv{L* zF&Bk!Cj|&3Ykc(!HT>WeYyQ?X+3uBNmeX@PhTBtXw%3S7G5L{Mx!*%#UBCm=wxD~) zeZkiZu7&pL4+W10@WZ*D55|S}{@D<6cmbw2mjm^}Mo3ZI4M|$ZA(40iVn`Q%hI{IK z3JfB?B}du4^hk7h>YVQNh?L_uY?Bvw&$1}=j(J(cZL_+lo5c2*LF2x-F2l<)twvYF z#{>AI1~SfZ$opnPIL~H-0?)tswxvQ;R_j$vD5r6kQJttVf}%2}6#) zVL487qUA2;ZlmWoTgvwLhBEMX6mDvB(s+( zo-Pk#D3n_vVbO!Wu_=A-$+Rw~?7TKoKD*hTS6F9LUBol5E-JEWV6tplvzT_BDdXX9 z4IwzkNk9$hSYu5;zYbVZyP!Z>_!~<{>O-EX<}13b#Yl#$``rX`@L+ggVvm1BW}9~c zqtPvmRpZPktaL2mlsQxuvu!GinYMK-8mT!a+o2JI7-5wIa*S03yn3OWbGbB+VqUsyd1QjU;94C%;pNy#-}~QDWZ<* zNiB=^&ngNHW#$FO7SQ}siZjSLyi}ipQmR*3S*%B8NsL#0UbI(B_IQ9GoM%z+`^_k< z<4i>j49wLQp2eL)BzAnRmOuWc=91J%wVw7Zo{4QQ%i5U6%yM& z*2^7x*{CY{uuezoT7|JqN0Fs>ZLWPdH^Y^hpX8mD6BoctjS4SF2#+t04oT-l1T)J* zgSq8_lyY8RKrJgUpou;nAQwR(x)}u;o>k%%O+J9C>7TkJc_uNX0;8d<%Tx^kZS_sRN=9}xE=RprGbk2z@ zCS|8{ZL{-u);Sein~YkvU1}p^Jd9}w-8cu_fx~Er7ye1);}DQ+H?Ju z{P~WnYHC$I+U5nVMy^@)W`PM+Hql{a4#|Ec?pYoj-(1JSV3sXArqGg|$}wXzi;3(q zjv2F#WlnFRj|T`_J{cm`<4z@8ra{5(89%BH&3@Z!yZL`k)>u zy5HC*pvNM_v(qldvE7Ag-RhHO))JIu)DoSe-<(RXtj zyIyw)vKw@dFdrbt81)4v==MY;X?7>1sCQ+gs&(b3s&-YTUh3|qjt7Xwxqm9oa|+i_ z{#d_x@`EdX2=oshnBDS1WKHGU3ww)ROP!{@RFF-2uC5;OOy9`=iJ6thh@FGOu(O-> zJx_1qZ9hN5o52CP*Q0{8h7v>6uVsX(UCRwu8RUj54K|Dmh+Q%naZtoT+F9#iqO1CFnw#1%%|qoup{LUQ@^Jx)izWekG1frLBMc19A~e5PJEi>N z{srtGr`BfuIJYz5yZDjt?{a7Szh9E@_--KY^xaa$<{L@f{EMr$=_emO!w&%ldZS@R zI`3jkwBAxp)!(EM)n3!gRbI0#lwNTy#{*=~C%mngP3Y|qBsAZhMJWBWZW;>?EX)Am zHL-AJYcO2c?*p>OTtV%$J?M*CfrSJS?4^ytRn7ps6?B1eQ5!;)G$C49{b!=;r5~wk zs^4=iDSyjXSNg`$7!Pj>XApYorW5LWW)Qfq=1yk9h8gLwe?c@HSs8$9Fg!qXy93DV zvjXKqM9@8E1ZF32FN#w-;3T36o@dp;@7yH_I5qACz8rVL3JE<%R5A}}NrfGs&5 z`pTyeYMZ7Kimy&1(0|SsNP$f=B4PJDKg@%;fbeP?IJc1ql3VpbafcRY?p6n*eQIF2 zUj^)il)&ZSMesbN2!4mq$L$i} zwnH4ecU%DfonjEQ6DMZ7&O_|3bC9%qJa8H(5wh_Y*y5fGObUfX0^YEC8VU0tMA$J` z7yaTA9A9z~&MuP$i4{_yuu>e(%=?# z5uB3LfRv^6-8NV6t5t#FXLGK}Ct@Y>gK2~LsBydHYl9x^7kXE0Ms#l5KG1q(e_P}6 zFZr$EFB|>Oumj#JoVHE_(t%mvb$A|7PA-9v3u_=;VJn1c?}s4s6X5S820p%6f)s(v zvJy4FJ7nm6v7;M(vSt%MSd>_dnpIf8Gp)CMW87~4!m!8TiQZMmVVyfpH?@Xc2DKhJ z{t9sWj|QiGGl6_)E(D)g0uf?sAX;uKL}?y?aMP0zOcDo*w<7q2sDJl})BEh4YVv`U zWBJZD&-RT~5$TnAsnZK$t?M(BHjfdbUatrG*SxRm-1h0$x#!ufJM8u=z#TO>g) z;?AvxBjXHk*fZQhd6WYU&VZHhSxOe)-yMPwfpeThoa3aOSq0e=TY#=8^dm>>%%@Bf`L`*yI?of_ zEFVSqy50#0p$vLPNA)>V6FNzmDQ&iS=}p!pnGIHT*_Gxk*(K)f>4la(iTTz8QB0d_ zp}zvWP=h;aplqK3(OBo5j2bdUR$@)eX2?@G@P(;yW|VHI@FL4f?@^MY&8;X;uYn*+ zNEbOQro|(UTJM~iR_#E`tgtW0DYdJh727n?^Q~L6a&5bkbL{(LvPf6Me+78|M+3ih zFc#-oshFe8IlTh%F8uMMK<>at_N6ng^Ys-+=;r!&((LR9;#_??!^j~`0l_gfK2b?! z9@O*_m(1)!r#w2#k;}+)Y{<>FZ=z*j4kpd1FFwU-AnI3)Y4AWh@avP}F)x;Wcs?*N zPs+Zq>07bv{?TI9GtW7?iVyNk4X=x%gI zwrdeH)1{i3?9`A;#T-ncYfoZ=+vS*F0X}F4Pn>V^Yhn^HKC@5*6Z52nVw*nmWcIx& zQxO^AX)E3?FgEO`S=qOyI(XN_yNB>1ePauPLy~hT(HYs~BwD&xc5bpKJ1^0rB0tux zJ}<_jH7nY)n;PZSANwo72j{$e4g7kPB&>JOIW!OJFqZu+7Tx% zS8^!1FYZ?W88vvJ27Vnz3f8;R@p@fwa_M)T=!Vg1sXfmc6i?r))=;?2Gcagno7q*- zY`u!poPwE&o-tW5{z=IZVHxqEakQwQ)ZDNDMt*QWF)JXTjzys~(*h`+DFKw;gkLeH z!5iz$qtGYPb_qi6!8yP=vE*y{`E_sVq;`+AD4e{7JID5v>*+TXnc9{ztvy*;4naAo z?$IfUP?ME z3QP}5h|KYgP0aO*$;xw&X6L&`SFv29n&@tk9ck_nJ&C^pd~x3Ghu^u!p@yuTGk`5L z>t~tp!uR!OS3m2J*mkc+?pS}Ds%%rewr*Luk#&BtxqBwdHXxDV92uF77t0L)G;(TK zwnuV2!)mS%=}h$eE!>( zGb={=#5dm@kU84br7T_3tfkGVHL#+Uo4F+yTT`M793z7A+~dg%-xRl;kW9y{Sek8S zD#I#+$+XBUWm;x7(XCTE(ri+C5`P8wqlRGI10rc7?o7FT8u0eb_*j2*?(;5@CHIHK z)?XQtI^5E)Bvsa-p_$*LZ;@VW>Kt2PgqY2y2Qj*W5=)t3va(#yCAnJ=SWh8SDaN@KoYSuGS!HeoT1O9XX^4w zGIdH@GW0mzN%{qSalZlrPy@e4Dhqd}EZ!{ep?>F-$9?;!4c$39ulv!t^-T{Xgi7xy zh%txMR8t1DjUsyu?I>Ml?(Xe2exz2XV5?@&2-Bv3ScAsM1f7Ots%8T{Nu#kOS-q(x zNu#zePP1|#>Q_Jz<{#p5?w`A6^3U=OlV5afoP7QE<|*Bejx1<=c5Y+Yh`12zq1^e5 zdny-WZ)@oW-Y_utyk_R$aMi}cYQV|YD1P>Gse9LieLBQyX3#SycM^?56ye7Y<}TmllbC zsw@*SqNPTDY^3M%(1K|9kYsH!>`pRy;ODIWAk0nsL7b661DqkENS`GTGsTdqoUzgPi4KY6jhyX;p&=S<2BU3q-v>trfDmGV(DJ|#M4v! z*q|r>u~Yw7K=v%cweo3%*5>JiD%^{r==)*;I&7bn0*97Fg78`joZaF95_=p#;h;5W z94CU&DI>5tqYn<}b--Or6MV(hAw)tAVx&|cSy~ygWG(_zRslG2@=zr&2TcmU;zr?Q zLTmL@LPf_^0{i9+T!*o2N)qgx6%P9s`r;Z47Z6!*0~fXsL2jo3sO{AO{R5g{eo!6k z4y%FlQ5EnyrUVpWMF=~g0C6YfAmx-SWS^3Oywg&+2vQO%&ismY-ef{~!xTb(zW^cq zx!|ODSUEKWw#@XxJct9@!U9gNG=lSMwLyBL8Ypd62Cc1%V6fWdlEAg(_T)*H?OY2z7i-6#Uyn@-~w zGN&N)kCPC+`2W;oK_wJ_mv01XO$2H zt~!84p)z5cLV;Bjq*oo$Y|bOY&!j=j0*ARDe5rVlG$%f7f*I-8TzD6y`&O#xjU8S_jd# z(h$Mj2O(Z)w}oqhU$Oys=b3>=nI*W^k^i`~Qhzxev;WCG#T;i}WDPU>I79Y#96!*W zI=`{&=RLO_aCu1i#Jx}X%$W-Cz#8~igFEiw1Yi~<;@~`pQC|x22J0Z+MjB#RvJl~+ z3?acf5SU;Be%Y4bRYLjgQBD8BZ*mypb#O-=PdE>AF1QRi^tpYozvIzQdnR~F>G!-( zdFOtEI>@_5{p36qAV3eq^{*GSV;Tfw79{$>JV;Pm3d#EGAlXtH5}0xj+Zoy~nIqwgwKHoQtd;U*p&jRn*y$ZNSd*j_p zfA4mY{*gZw;E6T3VGZ8+J{yL5GfsXk=CqbVy6!s2AZ>?K`hG~{sY8s9;m?Q&tFe$| z`lx>n=bLvaf5@X&FvxH5{ovdg_>OxvvIm`Sv@&xO7@G*A3?@{&}@2LPU z^g!IPhQO^75Q|zb6}`D^rNwB!uZ2PrX~?&gAJ1WH4yU`BeNGIZy^o4=>JLuxeD0eS z^w^^)>aI&=!cC{9;E)M$$h^ZRAG^nOdK7T}bazeHbreLtGz)#su8qZ zl@oW_y(H-Zzc%eG?{G$s^NFmJ&R4UJI^N7Y?0he&k@q;d*5!Ffjmyixsrau30q*IA zq2^6Ot(T4ci$&-UmT9d1Q)M9ay~;{{sN7zApwP+kMWzSqL1KX5MpQ)L<&cEPbN(6e zJ>CT=-GYjYV{VPv9j?c64!fSuZA1^I&h<`emD_{3GWVz9rS8u|rUHC$9z3yz2-KUY z=tbwN3As0WN73fbQ(5}C zQ+wl^lSX?VcUoy&Yo%MBt>ZX!mh;_P3cLbpvIFr_l8A)-q=dB0_>An7n1cL-sH&pa z$kvjm$exm@sH+80QMWRpq8`LYMm~y}3h+mb6@*#$B-H-}_;;g9W;&h&AvtPk4;NXNzIN+%*&6AuP6$O zZ!QUrKY?5+42i#)84`CtAtd%;>{R?$LkQ~bRGf>VEqFud&S`(zz!OHE8YDIOMD_S3xea5bE8vZvXZmH({u8IQcDZ{QyPkW zQ@Tog(ykQw;gPL=$@dfek{-lO1q9$cgyEihI?hEYepfZ@kob8-cIMD2#rbb~HC8^l zth@8-Idj!hCv45yk1*_OTO9c%^{&3zRbFAqWr1-q#StlC1qqn}d6~IBImHEn?7AZN z?4!kQIhTq&vTtMwGVdjNW;}?S3JCn`!{FbotTiG~u?hPRFn`d!clyWk3Ugj!AI6>Q zI@>SynyGZ1CYv^O+tVsKIJ~@87oXGy&(PRf|Cq3BGA4~^xNs(5^t}{&wTRW;Noky zwWLn>nJBeiv^K6eO|vUJ&T>jW=Ij~Q?j97@;v4DT6cX=QACtnbOUZDo$j z+VU8+=W;h$ZbMFxAfi$1%zTl~(`0}C%c z(Ae5_%SfTI&(ff@*N&WZmdQ!zadZzq?&{~?=^ZLK8Wio)5tYDgPflUB<)+gQS7uP# z4rfx@&Sp~E?xfNhAI8z^A4N|EgkTM+=s}b%7lOm9goaPA6?%1Rt{Da=2ds!Xyz zbvW6o=WLR7&p!z^o&QGJ9DNco6%dBwXDt+hn#DrDJC_gxSLYFTo-G!-^me<%DZHt) z{k6uX+86q=g-^^h(jMBFMc<>_1>Rw^J#V@2c{e;g+1CU8?5{-yQTmcYZTj*eEc>b= zNqy~6=GV?6Pa@1OJ`X0Hdl57h5QF)L!uhEG=Mj(2&LD2yoWm*XOPb?lT`Q^Jxf=`ZU&!{4`Bq^|Zi?^t8su z>{*Ae$+Ppm#?PPn8sG2tGQRWHb1EQZju2Ez5|2AEgK%LwapB$!qWjBok=Cy}W>tSt zSXwZox-spuwoJ??ql3Yptkr!6?e*LS9Zj4*x?8Y5`q|ij45Qe6jHi)5X4qQ|7BMXb zYglH3?QGLer#Z%-?{bYkyx|(Ydp9MJH8~P)>m8y*PmdVUab29K|1evq6xN96fXwVf zkXsZEimQAGTGHeCq@+ho+F$I>&4?xa|dJgzzYs8<$>BN z7U-_0f$1hPo<)HIR~kju4iq~wC^&W*V?f*xHzxHl9Ic0k)azg~sy1E=rG>#a4d{{A zfD2P{rkx<#P6-oLeL_Uu6A>a6<_kx|8nFP_GQ%BqN^(JNfjuZKA%oU(3ou+|3KnaO zz;3NRIIPzN=MCE6zEKN&H)%k~W_5_(q6*1dRWO98j0X@aLd~{A&?k#LNkPQoZIFN@PYJNmBes_k1N*(xz)@}{@D=BPyVfEQn63l? zbpyD$Yy*DaE^v;M1;^|Iz$sG%cD)KXw5b8JO9SlBY61O{Hc+qW0OhV8*gn<&Y4h6P zyY+j6VXM!ELzdqRKU$1U$^UO^VBkD3cTWRn*_q&WXbuQ87lD`YO7OPZ00N#AxcTn} zml!#4&Qt)$5@q1lssX!I6C66x8au5E_Pu&Q>oWkmJBGg~PmRXOuZ>4+-kW@}{%ksE zHEcRyHEuE$z`^$hCf2~(H4XTf%kexo2Yl2QfuGSz@F#BsAFecbdhZ4I$OFJnRR&&x zIyhBn1Gh;JI7bbDb;<~s7fitZs@ZSaZPK{i6N_Qn*Oo)%_f{XQhpgXPk6693`9Ycr z;Qp;)n;39+N`U*G8Q>#72LjX1i0$K13Jp}HFYT%lq4ZJdaaH=;3 zZkri!j+20O-trIQiuE}C7I}pFFJ*}G+U`C11N9AhVK2!ew*T6WTTKNx;=79j*5JHD z0zC1ZI$*yfUW2p~AuLsQ)tGQ~Fu`wjbF~$wSNsw!`#Wc4M|v@m~$Btzy8JmH=Pe=M9mQ zgb3w@5T&ycV$3%|BwYqVdGZkGrwYDNx_>-VO@6xPS&s9|$z#s-v{7ywW0-xM_08b| zcZhM*`91B4%PYIL{KvNMUG7jmbFWdqIb5QBr%eSo;XJUh26xmq0jPN+WM@N+(n36j zc?BezY=SsD8HjQ`_&dx?<40hq;dkEzi(x?)<%??(<1?>{Gw9gl{DFPc^&RuH#~b@T zuUGVEKKCiFeXmmoJTB7)UCz^oxIK(v=2U<)`cWKwr}soJCIr2h7}UIphZbNAa0R3p zZGsf?u3rgkg|TRNt#4t0rk?|2$RE8^8SmV49s7BuZZEjCUQZob{U0;BgCE%UhTOG( z6mpgJBKW+0zfTWiz~eY`(B-JZ7tT}w4{LD3cX}W6LBdgQ#-rv{&mjpJgc2Qx>WN9C*{8y_?RgULcJM_dNU0_8@cF<6{;-#S)#jPxXesuu!y4A zpUpOSlI%*p6XVP33k&0442bhSe9PO5GpE7P&tQ zEAV*jpC=gbm6A zFvI(;XS(;hNx>R~!3%Tdkw_|fLiy;GmdnoiQLDJ{OQYuMcdZ7}&l;>0ZdcOuFBNia zda_*cS_2<`YkY`zeN=Q%Wms}}NpN;dK|parj$dtZrf+*ny6@T4H2-@^DgKY6lKo!< zC;7keo(gco8ocp4A{w=K2G&rtT>`51&HUbQX#S_e>MQ#@^tU}~u{e0Gma2EQlx^LW z@8WPc!;4>^9OzvU9}!d>oe-WEo)ME7T9A+$T$P*@)S4O}bSf=A*IL_+* zHs*S`RA%^j6(@%U<|f33r^lqmBt_*V#6^@RM~643MTDP73y-*-77_68ZwmMz449k{s zCq_-78?PkC$167@I50gmIy^BcIVL7PCm|xXG&v-uAuTYbD=i@AYFc3IgSeoWr{O`- zul*6f$@s5^K-ArT&rix8AMs!R1wJeua2bScd{`9Zu-;*)Tn z_*ec@f!koh5Q08P3a*PHe6Oq9EHc`@L+t%Y+3C+O9-4dmyvBwLCyiyh@eZe!!!%M= z1Djr0?c$VKE)XOZ`};>1goTFY#zpyOr^k6^79@FORHwLRbfmguUPyJzdJylH{v^UZ z^;N)BfB?r2N9~=CwUn;G^9MExf9;eKeRFQN_~Sm=IenMZ)}20UxUb`crAFORs#(cl z2WobsGdH=;-95U>*Egg*B-pPsCc?8QCDyetFTuH>GKpKzmdq(Qo9tNhAl@nONw{uv z1|_xKksZ_O$`5Vw_VTL_3J}yrhPqTIMRBWgVp)|H@r=sW1bXF}1V;74SZ4XtFjny^ z|EU0P^grTId*?3}g1V(bqn#^+-u5mRdi-#u(6#%!W}d#SysG1xo=oi}Gv%UlWW)3x zd+WI497brTi?iQRPj`>@03Y7rh(JzjVkn~}JA&F=7ENhxi6P^uO17sX^*hUBdz|**IiK?PV4n>4wm+WWPdT0yWYb+1V%6OeYH_?L)Z)a$5X;V2{?=`8 zy%5jIfKVJib1nhZbBI@+Gl|<5XAph=%p}geS}ol5a`%ju=ZZ@!pJ;8#duX&j>8_{5%b>E+YDCRZN&m|lD* zFgyLh)vV{^q(F?M5ERTNo;6DlH&09>dM{5S&ODw;9DBD`r0MPM*_Ce;m*u_I*qr>* zU~lAel2X7^inibh)7bf6Crj2N4+{N}Ki&3WgoD+?M2`8x94C{96+EMdhg}RGopmvI z{4dY&!AB>f8$+C_fRvfUK&2>gt3#Z)&?8Qq_}hmuASqP;X}wtar@fLng9^)%KB{eu z_@KKp;Jvw=V1S~;8*tFz4DfUr?>r5u?*dK9@1jVS?~*Oe2Xbvp2P()$1FaOp_opZZ zA8y;}zaOyEd-aVn72|m##N9?=;=(aeq6_;lT5nGyYDVV?6_0Eb&l=ey89#DxN!W<$ zTHg_!Ep8(wJDrBf`*0&uo<8h+$Zo__*=8hA&1xi4gEW$)WjdOpV?0`>XE@rZum8Qv zK=1n{L*23GhC1KBA;XjMsDdDR4`T-6xCqg7S(K=FC_&`^UMQUYdy7QOADP)ffA%l* z#2ySDXs>01(Iz@rZKD8vhYdLHvP3~*jvKS45GrSkJs^gVen1}&$=8Ky1sx3jX~9WF zP3Tk9fHz7S@ODzJHWEbFQ6Zuc`!Gsx3KLoV5=1gA6^Vq6;{LFGrW@>=%Y{RW>_KCh zE$FYZ1oO4#V7uM~m>Uhjd9ywUw&;TYHXVE!)q;5Gzr7!7cx}BZ)a+D&!#kDXgp3kg z+cg!(4--V=34$oOOb{8E!-)GeQz#Uc2z$d?F&=E4?f|=H+kyOCD^OWr3fhYe!Dy)- zST55B%5v-jS*Zq&tFQ-TwKDjwR)o+s3J|;YAf&C6hl2I{p>n+(G;NTDPNZv6nvUZ5 z=P?6w+ zaG0|hoaSr-_qiLuckX%!owpWZ=dFRXDFF)py|&sR2G)BefF?H`n2NK3r8OVeCQE=t zT?r2S^k1!(coK+WC>l(OAmTfY~`ZL(m~EeF=;_Jj4c17P*w09Zah2o`S?fb{VY zn14C+%WOn(%xqk7#Pqk~H&d9D|JATv49I&Vz+QGbunx@zj^=#e8ZQAZWfibp)&nzO zE7-?w2U?~KP)qiJU7al09^Mb+E_ooIIS4ja6~Ox5A+UO;2$pY@z~Y0_Z_<$RxcP|k zsM)y6H?!X=LuQ~f8DO_g1gxCK5bTZ~0?H{Ru)U-V}W^uB!9E)nEy@Tdf8@XA?MkNdq^07qF6L!6EMe zFe(lKy+H|R?W#aMt_F7JHGpzm3&{U!|FL@0c0qk3kevlSO7p;1X9@V3tpOkU7VzZn1h)WL^rRHPDP0vf1)9LB)cwP3H27`b zVf2%J!t@9AqWQSpU5gRhSC*g2@2v-{zuNTMe7Af~{%QW$7L5O~1;fbzI@VzK*9*do zl>1*FcE8R0s9-u7V2^$jeTyi5?TUdH z>h8eZGa&5XT+HPxfk?wO5Mi?wLfCtL`Fkjgc?GMFxX0>$bxAkm3=d<=-*{2wz_T9{J$}#3I>&XBn*1$$>f#%g7c(wjNsl*s@lYCJCP@p_@| z4nw^ehnhD9*JZlW!e5!%t46Yow|+{q-S;+ut@=FD)#zc6pY<)DaC)C0p401^!8^|@ za69c-Avnot^zLRK_3dPx^*hSC=hucF%>VaBbjkV6+>fsHjzf;Mj>F7qr|-1M00*qf z8CR+=s^Ca`LP@BCGxp&PzK7k(eomx6-r&-q4k zPkAQ0bh%}F9OV~#wef0vTbvFDG&!COtarQ?RO|H0zlt~DQO+CWmAZUo7xPCLlL4$% z!r+2+1fT+q!Kaieg|5V&8NUk^<_?#rFZ)=gzv)$><=#ixbk!Tljz+z)9@eMB{q4Jh z!nsHM;`xWY(glqk`95`S75>%y#-Iw9&fqea-jEXh^WZ|aw_f>fA6)a?hqyWJ-yA06 zzZzU|{NTSz7*|OKesT+TPaiKmFlVSjb?Mt`-3?F6NV{+6Q&lcya12i;x>|R|_}I6H zhj5#NV)%9b$%0CsY~NDPl7J#XZE(JOM`*75*|2Pn2Vq&B{k|EV@7>eAK0Bv*ePvGu zuyG#T(VYoJ67icn8{NxdnQ5by`)7ZwRbKR}L1*oQYO`H^#T1ouIV{8DX)adn37+;% z(Sh8W@Cbf+aDr!1K!$IgUtwUDPgO{|cWYRx*QxMi?_1%?zOVd~eBTKYeFu37zF)YL z0UX?Q7NGhJM^bQIx&2=`ANKpDJJ)9LaLBYEJQ> z*ChCH%VNU#g%PoyIiab(=|Opc$${me3I0vtvHr&+V*IZ~#00(!j0t?}6&?7IA00U4 zI2r%d;PqF9BI&4t3pa`UtlBO%)VOc@n>K~HkJ~j?U28Jld9K<>Y56|wJeid&kIo+uzb)=1SupX0B zWi?E*yb32uT8XQIYs)b+ z`KmUuW?_@PX+|BFoKWS;h%EPV3@!VqhOT0Zco49{rCUNuTJmSKQtzunQ4=il% z)!a~V&UkNLkCjTwajHJv2TKY*;!N>rb7#7@`Z_u{hq|zv;ymmdGQ8|CC}dmT=x5V# z!q2+#wja6Soq$sFk#AS|*=aJs59c6Jl7Qmb#J|nch}*}f6MdJa6TSB(iIev>iMHLA zn^$vPZEfKd1DW(*(xKRM6zz~R3=^MIj#h3b+^9~+eVDAS5H7tlmPa|3?rMFs*xll2 zgTVaQae>*f+XB+D53ZJNpPj5)zHlZ3LeP=Om`S{-5+iQ6OAwb&Nf2kRP9sh{kt8~v zY!In`w0CyNeU+7&cl4ybtap@@Dj&TN0hs5rX z)>re0+E<%IOJ2&(&U&u2Ea9onrm%lacKJTCKIryTe8Hn+JGVr6kB zj%;=(!_N3lDb4Us6J7uADZ1Xh2l#W4YH;g2#h`DTJQzlmJG%|c$Vxr&QXsX+P+)U@q4dk7f&g(H#ofp51C*wsPL0qdNh*RytMEfZb zqV}p7QSxXyk^6P2aOzhniRiC;B?G@GEcX1OzKZune*^mqX`B5QyB&64*t>1M@MSH( zc<(p=5^~VwYwRJzujxwqUyD?9ztyQ~e>of&h4f?=hI7i<#e!HyXYASY=DO7pEjbCDSsE;R;=W<*}X9*(l2BtDFnc)p$1P>&I z7_bmsi4`K|uu;qqq$RY`kx)lRLK#$NDuDJZc`%$U3+9r0!FtYabR%TIVeSrao+k~0 zdDu!ae+xv<-vp@(HbUNl4N$RgJv2;8;VJz0<1+|;L=bLo2!aCyVTaBL3FpEP771&^ zDiKxKD0&E_#rDG<@qHjKu?rNZ?Ev*@QlK+^D;Q4S3}!Png4K-mU^jCuFlVj?=b0Gk zn6(@NXDx-uSxX>!_9Dod6foN)0){f8V7f;ftYjsCd}s#PYDxmxcmdehEdgtn6<`^# z1}x&%gL&2_Fe}{xrnTF^s~Paz88#s?fYp2`^F4m--r?H z8J>jyYB1U<3YIeHjG#M1m!AO)RY_nNEC9OoQlN2Hft~kyu#MOZHYwY{I)6J@R_p|e z#$901z8gr#_k#KPePDiF7R;W?f!V-*F#Upz%KtR^DgWIVTA1sim!Xz0!`SThwhG;;rh{O81f8jq zN?_Hi43>9Pe_6a%8@KqRK0+GR7&8C$*A-G7umI&Z7I3KF0u&|!EYYd6*d_`z)D;|b zMtJBDxuR3%rnLavOqK!PZY?-FZvn2~4q!#@0Y=Jxpyw(4p_VEArqrqav^}i;!=_7f z-1@BccdP3`Qg;HAC*ybPCtm(4nG=WGKP&t1QrLgjw2;}4B7GgU_I3pIwRl{#N3jrw0~ zI}AVDoHQAXG?d%K?kmRwJYrHouJ@lR^KUE$G~&fX0nU0Bfv)f}f4Qj({sV zBi`r``R|_v0jl%y(CTFnV6pCx4^wJf;JRm&A8_!iQI>|4r&e=V)x=np#`G$Jm<{SAo<(I`ZDwtfx7Q_oQ&^=EBorwUOb;3ZyI-JlE z@I>7mfVw*blT%^nQiba*`yFn!?t3sz`m3L_?4ZC)X@DQ9)$bT*_=1&2dTO6%^N3bX zxo=mGJ#+2$H*HTbuG{u8uaaLfFHyeGFVcRH&(Qx^oU{kiZak8@ivju*@m~!L)OdV! zM|^QELU2t)?wx^`bj|$}tGVQRtkJrmNL%Um!ECwLzHX||JpA<^xCF!3Xr1gc)bpGk>I3cx+6Q(w^E>UR!%v%b)*p*j7MQfKz<45nyjB=k zsQukhcL(BpM56AF!!EYOgOcOP>WjZ58?1dFZ!P^QlCl4BFi-uCueZT9L5TS!*BG1g z&Z*SXj=7AJ>{3=YtCo9=+2(YFamu-!ah=!7=yz^m4?8q+#_a02zpQHc6rR={F$5uNR;c9Rq z*oSn?FT}RZD~8_ek;1BX%i&hLl<+Eeb^KE24!2^bv+jjX|F{?OKRM^Sesjok9i!&B z{j$z+`)xH5KwT{iJRIL2^;R@$-W2@K%9a)zDcC#xLy5xNm!+D^{wXlo+LuX|JDI1=tjY7GvwZSaqzSNkNe$~`k2i#-Zm3f!vPa$Q?JviK(j8Ll@4nI0eb8G^6u zbipV+Rq%tHD)?zL5kSLn`KWh;kT`rM>Fb4m=Wi4JQo2jxZRLU4Ppj0I+$u5J(wl27 zdn(;t^=P7_eoKrysV>~lwlXA?UJ@9~D)38n%JI%~$?z(7PZcx@k_6qJ34*I$iQaGB z5`Bia2|go?c%N}fyw4BvM1Vc&?!S631T}90YTm51!sEr5!mr#Z_Nq>9#)CSQ#eEe9 zo6i3N}1tjwS!r__LKexhHAdz^2*XSB~zuSlO> z?s+%QgtVM-Sq8%N~i_ zjY^AptMxaYEVbC%kxx}_%wp+PrMj3ECwkiC#s<(cq9Rzy;R#Ohp&9(>;3D_%pc>DR zzz*-Azzg0%!OsODA)lN>LcXy=g1=Kkg2(J80$8{XyijvSVjXFC55|v5t{ZY5dTL zeD}ccDo?+#HgBJ>v)Ube3jx`#JpUT#-daH?5neMha?u7(P-VtFw`yCBceBs0s+Iyv2k8k-XA5Rnw^ z7@Uye;un|e?j2Jh@Q7~la*OWqc8&SROAt5cB8dIU_KX>&d&YdHO$0dNGw?^<9Y2qN zocY9f#X{nJ^CIF&*An7J_g2yK#}3TvYSUWV(r6-6U1P0KR6*CuD&ZI>7w|1(bG_`s zvjUkx8IfGyv_zgDCELw4xzvM~)a2=ubkfT)>9!XybEYfp)|J;tF8msFM8|^4-vO17kN7YEJVj0Gj z^DM$k1h#>N{`NlkVQi1wcqfxS6f+m%s{H3-C}=w z3q>`)k*OC^=VTUG?QY{;=}UDh4`Di&#&S5tY0k`|B0jCC&dsi<%Z*ZW&5c&_!P&m( zD~pjoN@wJKr%nV2@Hs@yB7S7gARbqV6SodeBd#8wMqKQjNu2CmE8KQr&&=90D$9yb z>21mEHs6ZFz^IT-K(3e=i2FF;&{x{!r@3Dnbr|SwQWzaw`$LKAhlsv zM%yvAX?q{rtbKqU@-MJ7xaWDg%(DU`>X`s@n=_G?7N=8e z%z6qa#yz!mhCQ8BgVWcL_Y|X^aU0_ke=JP8CkCQ~i6^~A`&Qf_!?S>FiIC0&m+ zG`XH)VtBp4O#gbFx$gBYlFp4AB%SLY@b@tjy{llPcLfY5;%y2++$tf6a}7eou?}IP zsRvJ|yeduX#Oed@VaW;Fa=X!AqUhyccGh*)Pc3>CYK^Y@a*HSv~hS zX#Olf(d1c_is7>qb-m{WnmW&GwX~jhYHPme)7E_cPFwTYsFvna(3p&eIhe|*CWy{f zOeJ&)5#<+ziQHS_M9PQRMBJw}!l9p}#eE0&&2k%5T)-XFTE-YOT5UIIwZUePzQtmY zD`ht5zQcIXPsU&{VvpXZq*+%B&+bY5O{=-C0)&!6R027k+|e1r+P zT1pVz4Fu8DK@erw8Ig_MAqfw~h{&;dLV;szggwW$iSx$x%y1Y}m_r>`Utm41zr=jp ze7VWE?JC0`4r}y&@Yd=4@Z6yFBY2a>&)ChXKQp$f{4Cz4^s7Ni@mH6$!tbldOX-8Z zhLP_RaEjPQZ^Lawk9J&4U>bdZ^51N&!^Kv~ilwCCxA z(E@F-T%-YZi`DQ{3Ke_-Q3S8$3V3|o0ek`2kLJ4^l&+SA#x;AP3%P_{AureNfwvRV z+C&iL$8da1X2jqL839iS!sGXJ!U^UH*~2pQAl8eJKuQeds)Q~aoUV!fgDU9EQUW7M z1+bVS54LmVfH7|$IL_Mx9`j`&V8ITEUMLOe*cDQ|XdBcm-U{uDx4>DXcS0)h8D!%# zh{0rrKY9=@9|*z$eGm%zAS76b9>hvv9rPd6V7r(S>=i!<2PEV`W!hfQoVE+}r|$&Q z8Pe!IY(wv13pmW&2)tSA!F%>v2%Wte&DT|sBe@dFBv(M=oE6YKAvyRAVlf@#cb_1f zUl9atlprk82Qh*fgf{vhs<2r25Udj34;w}HfRu;~>=Km*Ik7FEAhroq#MXnR_*&2t zUkxVWXjDin1B%2FaG16TT&67mpK0?TZ2DaM5}XTJ)8|0$gn;fAVbItu3i^o2K5@Jx zXd0NQ&jeGWIbcj#0EW(s!N6}B=*O%8-HcVBQ?v$js@H;c^E%KzvL3WfZUC)|$jyzQ z^&EM>3ADZ;KM?r8+4x%vHcZ5SHE7BF&j&F>FUI1)G_X*c2_(ZgU}m!bOt?$H*k?Hy zMXmyav^Ah#unzPp*MnZ;2GDKa2)f5Np@Q2CI@gdVTR`U>@?|UNj3e+LfAHr|9oRCi z1DhuT59JjGogM%4AS`x?gSFf=uu+)_*7|e6!g2wS*h|68a|M`&tp?-dbzqdc0SwDF zfnnWdFgUyg^gFkL{+Vr{e?COQ%X(8A!mV%Z0DzFG%3+C|~z$|Msm=)Ml_u+Xfcs2bq_n7gdiw)ZyJ=+O-!< z&h7hSd|mdZ@iVzGqYwK>j7H?Y8vT|ZG6vaCCb0K|DeN9F1(}HegH6ISmfov;I0Ll_a?9llLB($&Og@KyMI{~@B3*{EjLbTk{>fa za`3y^DTNW!%a}-dq%>smPWhwBH5U>E8NUA`Jwb86E>ralxlr@9 zb*1i0%SMCeqzX@djbA zMcw;%|DTVwc%k<9!wxckg<0UQvEYZF(TZVj+YO)GIok(#9XGFItB)4vY{!kyQbF%D4ZlU`pw>+Xm5Bf| z^kJwtzT;oLg}U1xeW_p>OsUAv{28V?|68d3@{fU58{YUZcRY7@k$>dkqjJYFRO<#S zPX8)1&G-^M&+G!N%;KzFz13+-yUi&|5BY@cb=ywce%oWz5sPCCFh0Try*3BXYIOkh ziNFR;VQh-T3J<_^Z_EbWgVt$!L!+j-a5QU1C>pmLcX zsD0i!(%>{V(exxMlhn;Dv^vJ9B6rZ6DQ)yFYAdam+C+OsYh-+}X=ME|ujhbKEeG_f zIiNKWcu18n{`nOKH`KiWsJkQ9qyCl>9Z%dN@i|#x_S4r zEpY~eVrS5u2(ZC%IjFe>sJDVqcgLVFle9%-I9*2keWv`(7ny1c?xz^7?TfS7aUp`a z|5T8(N~fQvPPC-i=IyH5Zeu zwx5cn?>`pqsB$>iU8m9CH)V#to*1E(!l~UlEOUrdBV`T9f9Wr=b>@?@g>{OT6 z4r%WAN%r_-nd$+ih~Y$l9ggdade85#_Qv^0ULiD=wNB_m!B&wMrMtxM6)VoYlB>7+ zOgc%rE0HR9IEJm<5YE@G4)!)G3kWhV^o_F4^-iK>dS=nmJc^mg?scpLwb(HmcaK?!ns2GlaNa7Rx1}3|pHxYU-Y8R; zbD>aY)ro9#sg6{NY-56ha&-((yEH;zSP<%Oo*fi!mF^!;N%l>r$9oqtW4x-_k)Cbb zaL=>cP|wHQ2;Z;tNdKQUk$ylzj3)x@aUHm!-U~+E9Y3G=tN(|JmJzS2Rtx=8yH(_B z)d9&fC0Z+v<(qD6$s+HoNo6RNB{*pn#JC$|Mf#ehhJ{!qhQv@}gHq{{0eQ?&{|a`H zUn@7jugB5f@4jPT;E;WA@DFlu&>xH7ATXT>VB$LPK;0dNx;tqe@hf*e@v&?H@vMF^ zajS8&NN?@_*(WMAmbVuhZ>h)Ar7JS&iiN3M&Fn;1gVZ>0vxMj%tLVrm+wkyYT5xC% z(?6t)?GxO@^$I@eC_rJ8mVb6`U%ONrqPK3mSJ%bwt+DT zG~ehfhG%36%RQoj%a7=Gbcwj`=oZlj5iziRlb}d=bkzu8zZv>*R9cu5uj{2AI60af(agZ!4F0Fq;T)#^)CLY*DEr#H7MFRpCVTVGgfzB9AZRz9(mp%Pu}s1sV? zX5^peWA2q5Z0(jAL*ZqlqR&ylbV#dVF;b7R>1mhQjP$n*R^}Lmlm6R^lLlrJ0epN0 zA=8O3$zsIA0x{x7HRcamB#84}(}?5UD}~xRWh82kC@v^Dtg|+|*;G2Y-bOaMhOQJ^ z#nJRH=j(fxdYQTw2U<84M%l0nlI9m6Hw)FfzmiD<| zHWA=~a}Xg$Jj)P5?JG)LuE$du+Qf+CCou!ivy^B!wOy?I_`!L3otmpsj~H)_X|viB z+Cn|(*Thm2H1Krzbpk`j8h=xV>Ih3(Ws(i0B9~%aQAxF|Xs20JT%=i4zP7Wj9JMA_ z0LiutOeO++B#5Cng1C?R|7xWOai$5oB97w82&eIM#tRFHiVIss3(oGBOgpWbzyytX!N z9wnJKg9)h-3?~AD2;v#)|LaAl|7(Sbu2x~96;EfZJugO-_01s)`ZfrsU)eh&?vnDN zu#38D{LY(g^*Br3<$T6|Kf8x}$o`a@D&?fFruB(1UDAmJ1JmQ##zx00Obw2=o9P|D zh`h$%M~w`-LEoqgbSL6-6hYk0Lj8}O8QqOSL@R2)8uTEFFN+gdcV`l*_f`qT-Q6i3 zdi&5^-u6oMguKDuziVn=0(G5UP@9OSN%#y33F2f8K^#W?U5y!lLcA$7s^=y?; z@U!h=-cR?>bbYG6fcwO7Ipbf8wRVr~Hd{YtNs%78>@<1gy~prTsI1%d zs#H*a+;K?l-%E$o9``G#JsLi!_VCX^^#^cZB5r0A#2K7}HtY_m!3;nl>fbcHDJ15; z1Q9wgkMJ81G z5G$oVkRh%5zI2Dm`<9(bA5QO7{P=jM;``4#72o~ZsrVLlOvDBBfsSAnr53wG3Q_;2 z_F`wmZOlMC6DK@}7Z5JPYlYdvQlhlsebdMziZd}(KgW2)V7|eK#X{XtyCqtqtfd;G z{N<{nJ}Z^Khpkflp0q~cd*0duW7X^A$BwMuKYnSw-1w{Ya%11t%YFYfA;-`Ms>3Ww zVHb{%9z+D@AbcJZgzM-G%poigqNC;}!xr=)c8THE^)x+DnW2ULgE|;Xs(>Y)QbC=o z0Id1)z+Zr;axUBl;fwY_%Hmy6fZZW=*d20g=?=Jr9U?D~&lA#sK2R|}gH${vG#ot$ zFYJ(Ud`%GcFrBc4c?1cT2^qn9VO@|G)qp)>DsWKz5U5HV0PSgVU^IO%kY-?u#!PHe zn6(|8XKe$o*;^n~auXy;ZiM_f8=xAyL)z!AgEPp@2`OpA=Z`szh$}cgdJvqK1Y!Gy zz_G>AgODV2&<9aNA4Cy03LgMz5n0$Hx*Oz0cY>0bG^mSh1zqt?U@X1?y@z#RC$Sn> z(^i7(v}NEweF?-&UksVk7eUF4g;0;QPe{gbeEzrwyzb!m*r8+n4*idx1ddG*s_26# zpbsJki-dN=N}(M%AKPH7@Fv(HydL(5tO0qEm7plH9MnXXfR5-QFcMt=7NYaOP7H;j z*lh3+n*~8)GaybJkMt9t4uul}%2L9hyh{W$5S_iEpnE_ZbkwGSmf=j$w3P&P$9bUY zvj9}07J+iwVo)kr3QCnrL9t;OD7G&L#ct%>ayZnt0uDV!-XcTD*a}dD{~P@80RNu} zP{A5hcZz^EqK96L!G3YjSD6NS`ZGbtW)5g^=7EOSLQoH13~DJ$K{am~sFp7WmAVz6 za(D$Ocdi8G)5zsjpnMn` zO#>s{Szur}2lO1~gO0}{&< zlcJ+1<+=n60+)ea>`Ks0Uky41Ye2gK{ip`?quS7m>PF6OM0L9fG@l~xH~-Qc-aM}P zYxAfkY#z~qjl<|geba_@69H;lh5z%UOwfO@*eZ$#C1ckTdQxPKSzu*67c3|X!Q5#n znEI>$-H}? zKevC@1*t*wfIjNMmJj-{>4U-l3#ela|9KGTKaeq}MBOe1bUDoCsLlkc!T%xbt;4fQ zzHQz5BrZgWySux)ySux)yE}0qA%Or1fdmK;G`PF(rWGZz${_#E^ z-N;z0X00S+)T~-u5E8%-LGeNmkS&gRko0e#Cb?f;-HJavS1W(_7+3x3KBfM}ZC2xx z>psnouE(`MxLnbB}H=m9DZJVEJy0_-t|@kH+(h#oHj zy??AS9pZ5ZS-cq=#5r<7v=2W-Mv43iOOyN-TqO57uvY1#f1BDn-#*PZ-fMJTdu`Br z={ari+*L*?kn%}it2o?PplPLW*GFS0sSh@PM;6|Ot0i6ba z`wbf3_Zc(4>pf|C+iSbkEzkYdH$6|=T=Tqbd&%>a&3W%{7U!@J=S%f3`b_y*TqB zV0s`FjP{3t-oF0<@We3)!8PVs^qOgSExG9Z3$Y%>I!s@R&Dh@-I`BTt^A&lJ86o#) zO0wFugk0T=v1P_*qv|bAMYLNV59_l#60*keQ1C|Q13_C|_XX~A+Y@-&eJ=2x`_7}DgtayAl7w?%;wVz?ae7NI~m>L)JxExeW@tVg*5?R%vr!@DXY)~A&=-1kd8 zg>M#w$X?2hS3i@Mp?5sF(ByDJmF0ohCfmKyosM&ngU&l5*1ByEoAQ_m-RZR@^oaLV z=ymVOu$P{bkw2U!W59MY7A!Z$fhl6L9PmTkDAZ3y&zq0_w@j1*H8Rvs^{Vt2je1NE z8Z0?)R=WyaC<~N5SrDyuI44DKe@3q9?$lDN9Z9wJTN7HHw#4S&9mRajE zoZjj_nA+>zo3h5YD`_%dRnpF&_QYdBt%UO-HGxPleNX!RwD() z_JeskNYj)Q#Y;2=*2ILKe4oaExDH0Ah+F7v(tYrffTH;JhZf93J! z2<_qec;o(>G|R5aJiE5?Qs<`9TKBr*R`2S)L2I4lR^u?BfeyRp~Zm?fH&Ht!1vc&2^rcjUB$J z4TAwm^&5iX>vx32)t^BA4oYnN;+@hAZmG@SnA!vm%Yh`ULm{0!Zb0wdMI#r68OX`? z=>In}lD*RcWZM=M`otz<&e4r_LVfEzWI9Fz)Eb8)^r{ErP0IRHtqOZ{>~p$HT+%yh zJd!)wyyM&Z{bJh210&nE2Sv0U3l49)9~j;7**kU>xW%sm$M_C#SPrBzli#I;+-)Z0 zavznP#th={1p5CO^#8MbWNN!2ZS7VA_Q5SS0-cj?QcWBDl&i->wM)lhj0)Byn`aMa z*`^H@IVKKPxyJUlct-a1`h@kZ^9%0X77)~XBp|T&u7611N6)Z+aE<5(hsZv#Uk+r_ z$jd4m1N8rAhbZVhX=Lvdm297-kg46=WPGwSSE}Y*ha6ba13AD*Lem5|f84`Y7Of1~%?gx+gxKb76G zw*0w=+{M!8{bdsmgek}DkJXIWm#Q1QH`mC2PpPTT?gk5w-CfqMbECG-bJO;YbBFC6 zci*vdn)_hmybG*cc7eIePB2@}!y4=X=|caH{(C285K~)Gf6w9?IE}QPWg_(#_(;_S zd1~=_J?5NqRx47^It#>~@ezwU9U>EYDq1n{WU{L7$!tx}6Qw$CC+hW`k9Qe493M5Y zJ3eD-d*X#fd&xl9KU<20iHyQH6_i)$Y=Ev_zTSX=>hi_8D!Y!4y(*J2L_W)SNzgXly5 z*@78B>d?}SwE_luzb`mW&U`zjOpVkS(7IRWR0I(lQnw$M%L)>A2LP{LH2**&>BLvVg@me z^RORl(2RRA$}t1Txk)8Sk6B3UTRsx;PLdMzPKD3rHQr2YAXu-4~?!djo+3u(RojljQ{ z#TsnDc{qU2K?~+U<(L6v-5@0HE+OHcSxL|@UgGmhoZ|jVf$F@VNwZrpVz64UWHkTn z$Yk={gT)YgAM_!dO$QR#wICBusVK!$Dw1dg z#Nsz0Mwo->;#g?lb*SKVD1b0U2BatwAV(1eWr`4JP*#F2l@E-m++a!N0(&YaxKr7| zpUMJ}G$u%;(V>urN2t;8m02_jj38_O1?a0$!APA7=9oWNY9oepFt=g^Q&(m%4rT?z zM0U{6=LEf)6`ST}JNngZ@k86S9E62mhPj2EhAUA9xq^foC~jfcoZ(IS68p{U8q7 zbg(yN1UpA&u<>I9t7s0e$m9aEGHx(!;suj#J}?>P2jlfC!FV$=D*(oO1;FSiavr%O z2u9D5kAh(QQ}CBD2>d|48^g+P|A8Mr{{a}OU>1b^DE5dm<{&PZ#kgW7)#0yrKNm+IXfaQQ7Sd1YPLSQ~44CZslK@l)Njrr3}(cflIM1PvU7yV}b zL-eybh<-E&;SUxd^!`5x;^#jAGt3|Cu>WAuf4igKUCd&<^%=p-iWxlIFb@jGJSYM4 zpj^y@Dh2+N2lZecG%N}>>&1TCY!+Xzo|X7zy-)Io^>NAX)|aKeSUr^bVEsn=t@U^5 z*VZ8U5_6yzHX!!g7DS)fg2-~f67vT~%pW|^fBWEP0FFhF4xVCznUp_fQr>=C;1$CM z9vK3^-AaUiy3~t(ckYn*>NFtr#c@>nlfy>Yj}9|(@9pR0-`O8hcx!h~@s-_OrDt}p zlpfoEQ+((E@(-}d>z)%x-*p1XJ5C_69DHFn6@Auyc(n_sffXPK><%(YY)IR=Wz79F<6s$ ztVcZ7Bi4%bN3`pTPZ2@s@o(t$)S!sKF)ID~9J?pBSET`=ocu1GG+ff%RNOItO8Sl&gI3`l`eng7&U!i%5H-jqFt_Cz}Uh-R|bKZAA z|E$lL;VJJ4;}c%nOpbZ(H$CEc#_W*iJ+lK|?@adj{4&^!y*PUUKx20xs39uL0k_35 zK+hS8o-c86?OP1}uN?Jfjyml_jv>?YEE|r8>7IOlC54J!i;I`N7@etnCZbs5WN5X{ zv5;o{!$Dm}^MOMq`~BCM@A2DgG3U3-YNzi}>sjCH*4zAESj_}{H=V)8$LSEznGOZb z=`c`V4tSz&FzUym?@q%t_Z+;Y0x8O;A|>jJVjYHug%+&0a$R{ZWd@3#Nr{#{o|vj~ zC@xQPe{`ANp2#}GUEyt}v!T7_TSG>yrh_-yY!2FLyD8{^-9+Gd`}Kj3?bnBVu^bNv zlko^J7>@*<@hH$*4)|aV!cc$FduO8eFIY)_mWoo|RLD{uRjSectT17|RP4la3iF^N zSrM}P(-KwYk~6ht6N>b=##I_`j%hTTj9O*6F>=6WJbbO)Somg#HDS9Qhr>=f4Tauw z8jAQ}I}{D(Lor~qIu7&^o#lWZFV+D)_oDaC#cL_yA)l)R$g^5;a<@T&a;4UQ>2!rX z_u&#Rk-gX-v@<(SWot&7)>LYq{zP)A@pxjb`B;3b)ktiQ?NH2!Lx1#yQ*YF)OLx=} z*UqRvTsvdlI&{S?Sal_UX?GGBb|-`0av%VGcMSTyboAZ@cpVih$h$gj@^{lpa;HuAojojhye zAa~k1$)yfS%E>lu#`z|z6}xKPgk~!Jr6)=wl-Cs|XpZD%=nv-P8~0|FS#)L8S+}RP z+qb0lIW;Daxzr_ZajQw%=TVh(-lHn{nQKkjce~mQu&B!fllm+$Tn>cbJV;>1xyVdD zmNApN^-SbeD+{^N$wtn0iIXF%G#U1^S#WM^bQauH>npXcGE8ZtEKYNvI90E^Ajh~P zuf)7Hr`ozPyT!gPv&X4AV~uM?`X=|%wA~&hX=gl()1SDNW_`0S&jG87TrjJ|BlMR8 zVL1NDj0Ex-$)iddxz)r-u68h!OFgXQM4t#b(4$V@(P_r9xy?~veWSPJnz|6hfvOmd z?($^4_R=h)=Hf!L`oc=dVQR?mZ*0ZLn45PY=e6y;ua;vhEdb^_H4yXLWLD!su4epr*v!3Y%$34>u?t5ew zeRj+)0h`=XFwZLkljT4ZD}f9ud4`_vRy~DWYR9t&dKt;FAx5%)cqQ2}tW294G-6xV zYsa^`(_O5mJwU#_B|@#KF7Kh}TUgw1B zwQjN1Gak{^hdiRH|MZBh{ooW|2R4cIV3Ax8rpti@I{A`M$n9!e`^UBK6TMV&5cgv2 z#=Q_**W>vM>t(59>vWk1MlHEJhn+vHFrBjHI2H2H*IkXYnpctZMx|e-u%unvgNl;bPHI-w1Vk!AeoRS#f02I|9_?v z&mS11kUf|IY{R!yOm5;N>o!SIh91DtR3@`EMF6(P&gc^mNS%~oiUJZ zkldGN8sA%H5#7^Z6VcUaAJR4A6x6xdIiPdDi+|@emw>Lf4#8au)}h^C9@Y&e%Yk&v zAIfnI(EA?m#r^~AgV>H4z$WxQYiHQV>aAjwo*8v|>lPFCx+#19@=15m!j1ki+3UlU z)7HgmB&|)+jUCM~j9gP<8ah&E5j5Ok?YDZ^&S&+MgV*YP4xX#8;O84#pVhxC{Z@mi z|7tK^&ih=Pi|GGPufj7R(0}hh|2u^lz}iLsxr>o>%?Xm$UCOk&odzuBv)0@N+gt^+ zW_%@5r$gitHb*N*PbF!DZ_3gMo-8)-pQthR+1PI8xpB3n+lEb6E*th)yKKB-?Xuyu zh1-T-rta&($YVViEawr{;ZhSJM{x}1FoW2FHCTrkzySKccFaK<=XprYyd0(UfDU8+ zehZF_eNKGId%T3>b_YpB&PB?G?n+P!+?k>3yQ5IkYe%(?+iaV@^X!nJ<@|+n@f421{$bn$fi+k^h5i%$UkCO9)M5@&a*~4- zo)jlJC)H_bCybdBj@xlYA9LpoJLWGKbTnMd??}9q*O7Et_rnE>E{CgB91pds*&Q0v zusJlTWp!wumet{_T2=?&Xj;uLXjmNpbwq7B7cq}Jg#9?%$FK(k_hPKZUXWFo0n{DB zeF&I?WZ>SQlq>us;fg#Z=87&o{IVr;&}CPWK+fdszd43k*seAB3}6N^f^(n~ zGk`_?BJ{u+7wIJSCJPC_%S}S=N|J!PYE++l#&pknwv4X#+*zFN1+d%Si&$ZEFOl2o zUKX$Uy;6SDdrbny_xpql?{5$`xW8Li|G@=e{d=#3_3nNb*1ZEFy0`z$UaY|sW)N#I zgXr3Y`Un4`pN72{(Kl%%@BuUNd%;V*UP=2;Vv z;d9uHbFh9M^-mI#iu#d%UzU0vB)lrvC913#wz{$IGYsQXOmj^z$*Fc z*S}bY&tWgl!3NBs{#!o+dqKSKVGjiMLf8N^u>da2AcQc3kislLiJ}Rb*b8AmRR(ja z0@z{>;et7Y4^0w6F^7n!i$FFVU-8Ny038e~VU&>{wlea;VdN$wFFgMj{g?$dVg^x+ z8N}lKhyO{4=Y2wKpAce-Ifwz!i4JgJ2EmINgfLOW>yQHliWI0(#6g=P0*07FSYQre zk2!=J<`DjvLquW@k%~D)35^X}Xsj@VOww3j7mXQ?{)=XO21<^h{zcUPix7{8gjhc% zME?~bT0n>@q5w=p26GTe;31+QNCZKQ@Z+`cfIQ&>RSG9)Q8>VW!V2aTY~G+SfCq&F zK@``urK^Ks=&6e4A54gfD!ut#SCDvH^v6cV z%nsW19H6xdhkg)Qy8^T(SAgaWvJ08#0?kv%b>tBjXuak7t@VAyPc2yS9r>mOoL~PB zU+{A&pr=RyQ#lG)Vg_M@ImlvPimd_WK{l8Nc`$=nC@YvGv4c@Q2N+hbz@N-96YAv# z{Sjn6=0cm1SzcUCM~)$vcz@|V;Qg-un)i$TSKg19|GdZi=iMR(!2R|=aN+0w1&kK; zr6^!0NdX7U0i3Wm#aS2ogDe=p-h~-#16jcuGbzig6=05ekXZu{n04~~HXY<&FdgIn zWiqkyhslh94e z4wy+(@MYN)a6

XMrAh+IM%na7+Y@P;Coj_f5LZfR1)2F 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�r0&|;}p0Ux-o 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 diff --git a/doc/Eqs/polymorphic8.tex b/doc/Eqs/polymorphic8.tex new file mode 100644 index 0000000000..7d2c872dfc --- /dev/null +++ b/doc/Eqs/polymorphic8.tex @@ -0,0 +1,13 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +f_{c,1,IJ}=\left\{\begin{array}{lr} +1, & r\leq r_{s,1,IJ} \\ +\frac{1}{2}+\frac{1}{2} cos \left[\frac{\pi \left(r-r_{s,1,IJ}\right)}{r_{c,1,IJ}-r_{s,1,IJ}}\right], & r_{s,1,IJ};BPO013&;EB>HEJ|9z3%A|fUwBP6(a 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%0A@CZDAPt_)Pp$Jp_9$W{Y?SlSJf$kXS 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�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

@){;D2=QglN^bWuy`^} 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 a>%DAeF|_YJ?-9Xj{f>y~7Vp Date: Thu, 30 Jul 2015 14:35:44 +0000 Subject: [PATCH 4/8] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13797 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Eqs/polymorphic3.jpg | Bin 2491 -> 2425 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/Eqs/polymorphic3.jpg b/doc/Eqs/polymorphic3.jpg index c8eb8df89546b9d62bbb20dd2a9031d80c1686d5..ba748e63c50c4df580dba962a6bd2ae70904ffed 100644 GIT binary patch delta 2355 zcmV-33C#Ap6ZsO5Uw<$F>Hz@}0RO}Q8~_0T0s{a80000000000000051_J~K0RjmB z!~i-F009F80s#U81O^HN000000RjUA00jmS5+M@@F%%*}GErf12o)9=BSIxoR8>}D zgOrt)($m!c+5iXv0RR9$0Q)YKr722Ml%*+3Qk11BN>Y@iDSt|X&TmpISlja8Moi0_ zr7`W%RILZ(xOldLeu?CEqx`7~KEk0r56;u-C#O(y2cxDX%_>w&tUw6(X>Fb^qePMh z^q>hRij%(T?@CgXr722Ml%*=WnPqVC;KVdE?EB2XqXyd<1#id**EIk>%2Ej0ltMu% z1cITt40h~qFnY@iDOGsk7wqZDT`m?q zwi)_`O>qOruk_kbKqKn&p!S;PsY<;s{UvmfUSyxmOFwdI-|OA> z^^IT`d;P9su>Jzx>eyRB3RAOIq&FD^C>^7k_C|)!5r4gG8GA*iGDbyhx!iI_9EI>J zP0HSgz#&pq!-;8L=|XhBa!KXcJ!--F#y{(!Xz|MUkB0c3e+<6}M=m<@>xV7>04Dis zy=%ITos`?+SZ}wL$DU)@{NEH88BD2OBn7Ou<>D5d9+nRhLDA^cg@WSU;>B;fwH`!f z=SFTyS$~j_9c(QjK`Q`|6gQ)yM*gO=Pcp5a&FOEO+k!hXC#Km`6~r`#nisYyv%fFvXxZ}6^9jodRU z$EevZFZ)1Ri)yt&T*dg1r8jYWI^vsYKn*ex;(yrfS_#sDQ6}$clW@mzdn8<@d)Irj zie?k?;lNoAzP`DXARih&rAJ8~BtkV?a#K-t&+j(v&wp5@(_8c6?K`KZb ziR6^tax9njYX*~)->uHHh%nVIba<|z(#lejrGTXr1?xn0**?J3je_KE_K4RbZ@&$0UHQXfIa(fbrS@(S!{Ff6MUvD2+m1+#MxT-Atg%Uk=l-d&>r=rgJjm+#}T&W7J(o@xUe2z zNNBd;N$a$q%kc-?5(qU(&#zfzFHx~eEvDp{&R;H%HW^!JairVWh*tB2YkprUk$=SU z(D?x!s2g5C68mCJ`d&eOUEU9v$by8$+srVQ)5!;b+lnd*R+2ut1K0)cGPl~GUoRp% zbTxHWBnp*R(5TXZXT7omVe6Dx1NnWxburqTaGM+fK;WaN;&{+odNAo{-@wR zy?TRR;UENu3aS3@7>3_G{V8LPe zF8txSibIb{c>wg@nQ@IEe4v1J@49XF@piv{j;z|e?n}F6w77d@0b^4=l%%F%H_PAlhZoq@78Yh%`1-McjO%NMoT-}s1G)z;q?rEw`z zqA5Z{%Hn$;!D(QF{eNwBT{h`_wc9RsyJXoVxp!BV%qD|sS#d}~TE563ASER2S{}oD zAR0fTU()#=dzuhScT3;E!(P5s#e~>lDoOgJyXRK@yXv}4DxUT$HczaP^EomjuHOp6 zt9&*#ONf2f`Mlv8&;<>&kU`(t=ykm>U1nV&;LZy*#pqWVj(?&BzrdoG7cxSFEFMGI z2vYp2A5hV45JOjC(76jZ3dr6e*5?1cOFN!p0(S`)OTDN)%RYqYCbYRPhL-84Gd z(({Z5Qc{(rOMgL0_T-SH^7kCJI~AdY<0!|i_XgjU`od+>bF=Oe3tSTGu4ri}+2Vwu zC_n_0#RFuWnvjWOvc!)PG)q0cI}n{OMQy0aN?2J+l2(8QlCCOH*wNC6`kK!Y-EW5? zOqh^j$9__RmDSH)W7o=vD8CqrX;=zYSqUBxkXj6(J|XLQ18EX6B?+KUKC z(o&6&lz#!x1KPK4)~j9KI%C~!u;;Rsat+C0E~Fh1y(kgA51Ayz9mU zUn|TeGpq2YlG;g8OKLjp1Df=c(B!YY*S)?RJ1l%Q;lPN*NX>#9Wro5Kjh&q&bUP-q Z(v+nsN>Y@iDN0h5r722Ml%*+O|JiCAZi4^- delta 2421 zcmZWrc{J1u8=k>fB1?9I5p$CzWUYpn6c;5DW6P4QvNhw<%)RupM3%-dF2E7?$q{=xJlEu}_cM#C?q|;?eOrqs^b6vhy|6#g47}ALg$=Eph2U#z#z$awG zQsj*cu&A?8{~YI?NhWqQaIm`zciD*VhBdq4+Wlsr;%Ixl2QCCSgpoiB3VEQRYz>ARI9Cl*(G%?<|)ywj={9sefmC^ zX%C{W!A6c9PlkyYZ{vft|Ym z=l#nCrKyz){x9#9mE6zW2p@?v8Si{kcJg?iW|9zOP|_C05@t{zBNW|8U-huFb4G+r5e(k#!*lg^`oTdJ(Fu z%q4LzFR3|2w6{=mR!xXMbu$h*+#j>SjngSIR2nCpf2K5Z4zP043b45Uig_)wlD5&a zuQdOiP%}4q8@p~Ec`W8qDl3AbVwlv$YL<%B=h8zFpPMB2(hM^F`P4RW54+xIfRElwTJwNlfi=0{HltWQq1 z1x$}4)uZ@=1hDRN_qi?FoNwiA;TcUbCfDLsGlF-WL}~`EkehnPNH+&MS4jsPn6pJK zvd=b=TBMU_Hl(PgiTDjm?lw1aTm-+oM7}=Q2^V=5rs){;gwWB3V&+8D`-K)ro6DWf@8n=9OyHLrIupKRSsB6^wH!n<2X-3~4 zgBmP>Dxh-rU5K4);|@E@CX&q(T)nTG9f;(^@xxW*I4DL1CL+h*Qd|>|Ow<>%&}U0k zW}CoSOy4PMj`?>6qCxS+9afN0$9enj^!?v9)!zBqNb;Ivj?aHNih;(b+2pmg^vueI zq88C;vu?*QxaOn61PR#FhJ}ofD$%x4X2Gd zA%q?2KKzDl_LkH=%iAzfQ8u7nROuO|M%Ga{Vtw5Pbk~ zL+aKzM@J2W{dv|ikWdEub!7MT2VfCrwad=m1Fd*)#*d*lj{0*O3 zMp=Bd3~))A`~Boq0uS|oEE7g(X=tU?>BlVjI%d6;Q;4!FD7^E?%^s8(3xs;64NbXW zYZ2KiJGOw%q&KDfYavSp!X{gOfoFAwaS5eqvkFK7PcHG8)Epl=MtdJL?`6wvrUaxtC}=^mnqZj@=A)KN8rTDefVO~J5Kq%c2s+e zJ|r9E{V}>;_zQi|vcvU-<JLYTucDk=-wv#be)Xql-YB4a znHx58!r`K^oaUO~E*Ax7!u0`qzGd=OAVVTwVsrp>cl{8Lb8~=Ek z(u7<3X4`VaeW2*16rSVktmOL4o|=O~{YXwv*t+z&;*Z$GTKM-GN%j4clk5jxL_~2G z9F?tny%RDoMR=(jGlx8tI`R__>p4TgSWtxZ^tG+Iy!jRbePZz<$Dk!+{g1@HGPkC}-%wkWAvO9{ zL7P}{bb4;zu2!ndSFy_#6TIxX&)$*Cig^F%Qq}HpxRtW8b#+4JdUK12#<#1o$r3>c z%PiN_#w|s6A?9y;7!&`3lTD%r$; zLJ)slWCmux=S|q={>O;8s2udRUxPAs22MM0cA&Fm*u6-#MK{^GCPhoWec!`!Jaf6 Date: Thu, 30 Jul 2015 14:38:28 +0000 Subject: [PATCH 5/8] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13798 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Manual.html | 869 +- doc/Manual.txt | 6 +- doc/Section_accelerate.html | 772 +- doc/Section_commands.html | 1962 +-- doc/Section_errors.html | 16896 ++++++++++++++++--------- doc/Section_example.html | 473 +- doc/Section_history.html | 404 +- doc/Section_howto.html | 4052 +++--- doc/Section_intro.html | 1076 +- doc/Section_modify.html | 1643 +-- doc/Section_packages.html | 1751 +-- doc/Section_perf.html | 320 +- doc/Section_python.html | 1347 +- doc/Section_start.html | 2641 ++-- doc/Section_tools.html | 1119 +- doc/accelerate_cuda.html | 504 +- doc/accelerate_gpu.html | 550 +- doc/accelerate_intel.html | 594 +- doc/accelerate_kokkos.html | 833 +- doc/accelerate_omp.html | 443 +- doc/accelerate_opt.html | 317 +- doc/angle_charmm.html | 335 +- doc/angle_class2.html | 381 +- doc/angle_coeff.html | 341 +- doc/angle_cosine.html | 306 +- doc/angle_cosine_delta.html | 316 +- doc/angle_cosine_periodic.html | 332 +- doc/angle_cosine_shift.html | 313 +- doc/angle_cosine_shift_exp.html | 331 +- doc/angle_cosine_squared.html | 315 +- doc/angle_dipole.html | 392 +- doc/angle_fourier.html | 308 +- doc/angle_fourier_simple.html | 306 +- doc/angle_harmonic.html | 322 +- doc/angle_hybrid.html | 332 +- doc/angle_none.html | 242 +- doc/angle_quartic.html | 320 +- doc/angle_sdk.html | 292 +- doc/angle_style.html | 351 +- doc/angle_table.html | 398 +- doc/atom_modify.html | 408 +- doc/atom_style.html | 614 +- doc/balance.html | 599 +- doc/body.html | 394 +- doc/bond_class2.html | 320 +- doc/bond_coeff.html | 336 +- doc/bond_fene.html | 332 +- doc/bond_fene_expand.html | 336 +- doc/bond_harmonic.html | 315 +- doc/bond_harmonic_shift.html | 319 +- doc/bond_harmonic_shift_cut.html | 321 +- doc/bond_hybrid.html | 308 +- doc/bond_morse.html | 312 +- doc/bond_none.html | 242 +- doc/bond_nonlinear.html | 316 +- doc/bond_quartic.html | 361 +- doc/bond_style.html | 360 +- doc/bond_table.html | 398 +- doc/boundary.html | 334 +- doc/box.html | 299 +- doc/change_box.html | 656 +- doc/clear.html | 253 +- doc/comm_modify.html | 390 +- doc/comm_style.html | 289 +- doc/compute.html | 598 +- doc/compute_ackland_atom.html | 306 +- doc/compute_angle_local.html | 309 +- doc/compute_angmom_chunk.html | 330 +- doc/compute_basal_atom.html | 302 +- doc/compute_body_local.html | 333 +- doc/compute_bond_local.html | 324 +- doc/compute_centro_atom.html | 353 +- doc/compute_chunk_atom.html | 954 +- doc/compute_cluster_atom.html | 282 +- doc/compute_cna_atom.html | 334 +- doc/compute_com.html | 292 +- doc/compute_com_chunk.html | 330 +- doc/compute_contact_atom.html | 282 +- doc/compute_coord_atom.html | 323 +- doc/compute_damage_atom.html | 296 +- doc/compute_dihedral_local.html | 298 +- doc/compute_dilatation_atom.html | 295 +- doc/compute_displace_atom.html | 302 +- doc/compute_erotate_asphere.html | 301 +- doc/compute_erotate_rigid.html | 286 +- doc/compute_erotate_sphere.html | 290 +- doc/compute_erotate_sphere_atom.html | 285 +- doc/compute_event_displace.html | 293 +- doc/compute_fep.html | 622 +- doc/compute_group_group.html | 362 +- doc/compute_gyration.html | 309 +- doc/compute_gyration_chunk.html | 368 +- doc/compute_heat_flux.html | 445 +- doc/compute_improper_local.html | 298 +- doc/compute_inertia_chunk.html | 330 +- doc/compute_ke.html | 289 +- doc/compute_ke_atom.html | 277 +- doc/compute_ke_atom_eff.html | 315 +- doc/compute_ke_eff.html | 310 +- doc/compute_ke_rigid.html | 287 +- doc/compute_meso_e_atom.html | 286 +- doc/compute_meso_rho_atom.html | 288 +- doc/compute_meso_t_atom.html | 289 +- doc/compute_modify.html | 310 +- doc/compute_msd.html | 338 +- doc/compute_msd_chunk.html | 375 +- doc/compute_msd_nongauss.html | 322 +- doc/compute_omega_chunk.html | 330 +- doc/compute_pair.html | 326 +- doc/compute_pair_local.html | 357 +- doc/compute_pe.html | 356 +- doc/compute_pe_atom.html | 333 +- doc/compute_plasticity_atom.html | 299 +- doc/compute_pressure.html | 394 +- doc/compute_property_atom.html | 411 +- doc/compute_property_chunk.html | 376 +- doc/compute_property_local.html | 372 +- doc/compute_rdf.html | 403 +- doc/compute_reduce.html | 461 +- doc/compute_saed.html | 519 +- doc/compute_slice.html | 350 +- doc/compute_sna_atom.html | 544 +- doc/compute_stress_atom.html | 409 +- doc/compute_temp.html | 361 +- doc/compute_temp_asphere.html | 401 +- doc/compute_temp_chunk.html | 504 +- doc/compute_temp_com.html | 319 +- doc/compute_temp_cs.html | 328 +- doc/compute_temp_deform.html | 362 +- doc/compute_temp_deform_eff.html | 300 +- doc/compute_temp_drude.html | 316 +- doc/compute_temp_eff.html | 329 +- doc/compute_temp_partial.html | 358 +- doc/compute_temp_profile.html | 433 +- doc/compute_temp_ramp.html | 362 +- doc/compute_temp_region.html | 335 +- doc/compute_temp_region_eff.html | 293 +- doc/compute_temp_rotate.html | 321 +- doc/compute_temp_sphere.html | 393 +- doc/compute_ti.html | 387 +- doc/compute_torque_chunk.html | 329 +- doc/compute_vacf.html | 301 +- doc/compute_vcm_chunk.html | 308 +- doc/compute_voronoi_atom.html | 413 +- doc/compute_xrd.html | 550 +- doc/create_atoms.html | 642 +- doc/create_bonds.html | 349 +- doc/create_box.html | 393 +- doc/delete_atoms.html | 381 +- doc/delete_bonds.html | 405 +- doc/dielectric.html | 261 +- doc/dihedral_charmm.html | 357 +- doc/dihedral_class2.html | 488 +- doc/dihedral_coeff.html | 351 +- doc/dihedral_cosine_shift_exp.html | 327 +- doc/dihedral_fourier.html | 318 +- doc/dihedral_harmonic.html | 330 +- doc/dihedral_helix.html | 316 +- doc/dihedral_hybrid.html | 332 +- doc/dihedral_multi_harmonic.html | 311 +- doc/dihedral_nharmonic.html | 312 +- doc/dihedral_none.html | 242 +- doc/dihedral_opls.html | 326 +- doc/dihedral_quadratic.html | 311 +- doc/dihedral_style.html | 373 +- doc/dihedral_table.html | 467 +- doc/dimension.html | 277 +- doc/displace_atoms.html | 367 +- doc/dump.html | 923 +- doc/dump_image.html | 993 +- doc/dump_modify.html | 1430 +-- doc/dump_molfile.html | 359 +- doc/echo.html | 261 +- doc/fix.html | 644 +- doc/fix_adapt.html | 615 +- doc/fix_adapt_fep.html | 632 +- doc/fix_addforce.html | 456 +- doc/fix_addtorque.html | 343 +- doc/fix_append_atoms.html | 368 +- doc/fix_atc.html | 662 +- doc/fix_atom_swap.html | 468 +- doc/fix_ave_atom.html | 409 +- doc/fix_ave_chunk.html | 771 +- doc/fix_ave_correlate.html | 662 +- doc/fix_ave_histo.html | 655 +- doc/fix_ave_spatial.html | 746 +- doc/fix_ave_spatial_sphere.html | 635 +- doc/fix_ave_time.html | 623 +- doc/fix_aveforce.html | 380 +- doc/fix_balance.html | 602 +- doc/fix_bond_break.html | 408 +- doc/fix_bond_create.html | 549 +- doc/fix_bond_swap.html | 418 +- doc/fix_box_relax.html | 667 +- doc/fix_colvars.html | 395 +- doc/fix_deform.html | 877 +- doc/fix_deposit.html | 547 +- doc/fix_drag.html | 296 +- doc/fix_drude.html | 285 +- doc/fix_drude_transform.html | 426 +- doc/fix_dt_reset.html | 342 +- doc/fix_efield.html | 426 +- doc/fix_enforce2d.html | 305 +- doc/fix_evaporate.html | 348 +- doc/fix_external.html | 431 +- doc/fix_freeze.html | 328 +- doc/fix_gcmc.html | 670 +- doc/fix_gld.html | 418 +- doc/fix_gle.html | 433 +- doc/fix_gravity.html | 401 +- doc/fix_heat.html | 387 +- doc/fix_imd.html | 401 +- doc/fix_indent.html | 484 +- doc/fix_ipi.html | 315 +- doc/fix_langevin.html | 614 +- doc/fix_langevin_drude.html | 580 +- doc/fix_langevin_eff.html | 382 +- doc/fix_lb_fluid.html | 670 +- doc/fix_lb_momentum.html | 325 +- doc/fix_lb_pc.html | 294 +- doc/fix_lb_rigid_pc_sphere.html | 405 +- doc/fix_lb_viscous.html | 333 +- doc/fix_lineforce.html | 280 +- doc/fix_meso.html | 279 +- doc/fix_meso_stationary.html | 279 +- doc/fix_modify.html | 305 +- doc/fix_momentum.html | 322 +- doc/fix_move.html | 510 +- doc/fix_msst.html | 434 +- doc/fix_neb.html | 345 +- doc/fix_nh.html | 975 +- doc/fix_nh_eff.html | 388 +- doc/fix_nph_asphere.html | 418 +- doc/fix_nph_sphere.html | 413 +- doc/fix_nphug.html | 542 +- doc/fix_npt_asphere.html | 443 +- doc/fix_npt_sphere.html | 438 +- doc/fix_nve.html | 317 +- doc/fix_nve_asphere.html | 291 +- doc/fix_nve_asphere_noforce.html | 293 +- doc/fix_nve_body.html | 295 +- doc/fix_nve_eff.html | 284 +- doc/fix_nve_limit.html | 314 +- doc/fix_nve_line.html | 286 +- doc/fix_nve_noforce.html | 284 +- doc/fix_nve_sphere.html | 349 +- doc/fix_nve_tri.html | 286 +- doc/fix_nvt_asphere.html | 416 +- doc/fix_nvt_sllod.html | 440 +- doc/fix_nvt_sllod_eff.html | 334 +- doc/fix_nvt_sphere.html | 411 +- doc/fix_oneway.html | 295 +- doc/fix_orient_fcc.html | 403 +- doc/fix_phonon.html | 504 +- doc/fix_pimd.html | 433 +- doc/fix_planeforce.html | 280 +- doc/fix_poems.html | 372 +- doc/fix_pour.html | 506 +- doc/fix_press_berendsen.html | 499 +- doc/fix_print.html | 343 +- doc/fix_property_atom.html | 517 +- doc/fix_qbmsst.html | 531 +- doc/fix_qeq.html | 481 +- doc/fix_qeq_comb.html | 389 +- doc/fix_qeq_reax.html | 337 +- doc/fix_qmmm.html | 286 +- doc/fix_qtb.html | 440 +- doc/fix_reax_bonds.html | 302 +- doc/fix_reaxc_species.html | 417 +- doc/fix_recenter.html | 376 +- doc/fix_restrain.html | 444 +- doc/fix_rigid.html | 1173 +- doc/fix_saed_vtk.html | 477 +- doc/fix_setforce.html | 380 +- doc/fix_shake.html | 497 +- doc/fix_smd.html | 416 +- doc/fix_spring.html | 377 +- doc/fix_spring_rg.html | 301 +- doc/fix_spring_self.html | 314 +- doc/fix_srd.html | 721 +- doc/fix_store_force.html | 299 +- doc/fix_store_state.html | 373 +- doc/fix_temp_berendsen.html | 453 +- doc/fix_temp_csvr.html | 444 +- doc/fix_temp_rescale.html | 461 +- doc/fix_temp_rescale_eff.html | 316 +- doc/fix_tfmc.html | 394 +- doc/fix_thermal_conductivity.html | 408 +- doc/fix_ti_rs.html | 410 +- doc/fix_ti_spring.html | 435 +- doc/fix_tmd.html | 364 +- doc/fix_ttm.html | 565 +- doc/fix_tune_kspace.html | 340 +- doc/fix_vector.html | 422 +- doc/fix_viscosity.html | 423 +- doc/fix_viscous.html | 374 +- doc/fix_wall.html | 626 +- doc/fix_wall_gran.html | 438 +- doc/fix_wall_piston.html | 376 +- doc/fix_wall_reflect.html | 437 +- doc/fix_wall_region.html | 479 +- doc/fix_wall_srd.html | 483 +- doc/group.html | 537 +- doc/group2ndx.html | 278 +- doc/if.html | 465 +- doc/improper_class2.html | 376 +- doc/improper_coeff.html | 334 +- doc/improper_cossq.html | 328 +- doc/improper_cvff.html | 322 +- doc/improper_fourier.html | 323 +- doc/improper_harmonic.html | 332 +- doc/improper_hybrid.html | 294 +- doc/improper_none.html | 242 +- doc/improper_ring.html | 338 +- doc/improper_style.html | 341 +- doc/improper_umbrella.html | 329 +- doc/include.html | 259 +- doc/info.html | 318 +- doc/jump.html | 382 +- doc/kspace_modify.html | 589 +- doc/kspace_style.html | 690 +- doc/label.html | 251 +- doc/lattice.html | 529 +- doc/log.html | 272 +- doc/mass.html | 313 +- doc/min_modify.html | 307 +- doc/min_style.html | 336 +- doc/minimize.html | 557 +- doc/molecule.html | 815 +- doc/neb.html | 688 +- doc/neigh_modify.html | 464 +- doc/neighbor.html | 317 +- doc/newton.html | 297 +- doc/next.html | 391 +- doc/package.html | 997 +- doc/pair_adp.html | 461 +- doc/pair_airebo.html | 456 +- doc/pair_awpmd.html | 387 +- doc/pair_beck.html | 369 +- doc/pair_body.html | 361 +- doc/pair_bop.html | 860 +- doc/pair_born.html | 511 +- doc/pair_brownian.html | 424 +- doc/pair_buck.html | 534 +- doc/pair_buck_long.html | 446 +- doc/pair_charmm.html | 512 +- doc/pair_class2.html | 489 +- doc/pair_coeff.html | 379 +- doc/pair_colloid.html | 483 +- doc/pair_comb.html | 474 +- doc/pair_coul.html | 758 +- doc/pair_coul_diel.html | 358 +- doc/pair_cs.html | 317 +- doc/pair_dipole.html | 581 +- doc/pair_dpd.html | 505 +- doc/pair_dsmc.html | 404 +- doc/pair_eam.html | 913 +- doc/pair_edip.html | 437 +- doc/pair_eff.html | 533 +- doc/pair_eim.html | 427 +- doc/pair_gauss.html | 452 +- doc/pair_gayberne.html | 505 +- doc/pair_gran.html | 550 +- doc/pair_gromacs.html | 445 +- doc/pair_hbond_dreiding.html | 568 +- doc/pair_hybrid.html | 642 +- doc/pair_kim.html | 366 +- doc/pair_lcbop.html | 340 +- doc/pair_line_lj.html | 370 +- doc/pair_list.html | 431 +- doc/pair_lj.html | 718 +- doc/pair_lj96.html | 371 +- doc/pair_lj_cubic.html | 393 +- doc/pair_lj_expand.html | 375 +- doc/pair_lj_long.html | 506 +- doc/pair_lj_sf.html | 364 +- doc/pair_lj_smooth.html | 384 +- doc/pair_lj_smooth_linear.html | 357 +- doc/pair_lj_soft.html | 580 +- doc/pair_lubricate.html | 538 +- doc/pair_lubricateU.html | 503 +- doc/pair_meam.html | 605 +- doc/pair_meam_spline.html | 410 +- doc/pair_meam_sw_spline.html | 403 +- doc/pair_mie.html | 346 +- doc/pair_modify.html | 529 +- doc/pair_morse.html | 372 +- doc/pair_nb3b_harmonic.html | 370 +- doc/pair_nm.html | 461 +- doc/pair_none.html | 254 +- doc/pair_peri.html | 539 +- doc/pair_polymorphic.html | 451 +- doc/pair_polymorphic.txt | 2 +- doc/pair_quip.html | 328 +- doc/pair_reax.html | 494 +- doc/pair_reax_c.html | 643 +- doc/pair_resquared.html | 514 +- doc/pair_sdk.html | 442 +- doc/pair_snap.html | 496 +- doc/pair_soft.html | 397 +- doc/pair_sph_heatconduction.html | 292 +- doc/pair_sph_idealgas.html | 314 +- doc/pair_sph_lj.html | 316 +- doc/pair_sph_rhosum.html | 295 +- doc/pair_sph_taitwater.html | 315 +- doc/pair_sph_taitwater_morris.html | 311 +- doc/pair_srp.html | 452 +- doc/pair_style.html | 578 +- doc/pair_sw.html | 474 +- doc/pair_table.html | 535 +- doc/pair_tersoff.html | 535 +- doc/pair_tersoff_mod.html | 472 +- doc/pair_tersoff_zbl.html | 532 +- doc/pair_thole.html | 376 +- doc/pair_tri_lj.html | 370 +- doc/pair_write.html | 314 +- doc/pair_yukawa.html | 362 +- doc/pair_yukawa_colloid.html | 437 +- doc/pair_zbl.html | 379 +- doc/partition.html | 305 +- doc/prd.html | 594 +- doc/print.html | 314 +- doc/processors.html | 625 +- doc/python.html | 790 +- doc/quit.html | 253 +- doc/read_data.html | 2043 ++- doc/read_dump.html | 647 +- doc/read_restart.html | 456 +- doc/region.html | 600 +- doc/replicate.html | 289 +- doc/rerun.html | 467 +- doc/reset_timestep.html | 285 +- doc/restart.html | 424 +- doc/run.html | 478 +- doc/run_style.html | 559 +- doc/set.html | 620 +- doc/shell.html | 338 +- doc/special_bonds.html | 514 +- doc/suffix.html | 336 +- doc/tad.html | 558 +- doc/temper.html | 372 +- doc/thermo.html | 289 +- doc/thermo_modify.html | 430 +- doc/thermo_style.html | 629 +- doc/timestep.html | 275 +- doc/tutorial_drude.html | 760 +- doc/uncompute.html | 254 +- doc/undump.html | 248 +- doc/unfix.html | 254 +- doc/units.html | 580 +- doc/variable.html | 1605 ++- doc/velocity.html | 529 +- doc/write_data.html | 371 +- doc/write_dump.html | 336 +- doc/write_restart.html | 365 +- 455 files changed, 75602 insertions(+), 146366 deletions(-) diff --git a/doc/Manual.html b/doc/Manual.html index e794abd61e..828cd51e0a 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -1,441 +1,478 @@ + + + +LAMMPS Users Manual + + + + + + + + + +

- - - - - - - - - LAMMPS Documentation — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -

-

LAMMPS Documentation¶

-
-

27 Jul 2015 version¶

-
-
-

Version info:¶

-

The LAMMPS “version” is the date when it was released, such as 1 May + + +


+ +

+ +

LAMMPS Documentation +

+

27 Jul 2015 version +

+

Version info: +

+

The LAMMPS "version" is the date when it was released, such as 1 May 2010. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it immediately, and post a notice on this page of the WWW site. Each dated copy of LAMMPS contains all the +feature, we release it immediately, and post a notice on this page of +the WWW site. Each dated copy of LAMMPS contains all the features and bug-fixes up to and including that version date. The version date is printed to the screen and logfile every time you run LAMMPS. It is also in the file src/version.h and in the LAMMPS directory name created when you unpack a tarball, and at the top of -the first page of the manual (this page).

-
    -
  • If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current version of LAMMPS.
  • -
  • If you browse the HTML doc pages included in your tarball, they -describe the version you have.
  • -
  • The PDF file on the WWW site or in the tarball is updated -about once per month. This is because it is large, and we don’t want -it to be part of every patch.
  • -
  • There is also a Developer.pdf file in the doc +the first page of the manual (this page). +

    +
    • If you browse the HTML doc pages on the LAMMPS WWW site, they always +describe the most current version of LAMMPS. + +
    • If you browse the HTML doc pages included in your tarball, they +describe the version you have. + +
    • The PDF file on the WWW site or in the tarball is updated +about once per month. This is because it is large, and we don't want +it to be part of every patch. + +
    • There is also a Developer.pdf file in the doc directory, which describes the internal structure and algorithms of -LAMMPS.
    • -
    -

    LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel -Simulator.

    -

    LAMMPS is a classical molecular dynamics simulation code designed to +LAMMPS. +

+

LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel +Simulator. +

+

LAMMPS is a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely -under the terms of the GNU Public License (GPL).

-

The primary developers of LAMMPS are Steve Plimpton, Aidan +under the terms of the GNU Public License (GPL). +

+

The primary developers of LAMMPS are Steve Plimpton, Aidan Thompson, and Paul Crozier who can be contacted at -sjplimp,athomps,pscrozi at sandia.gov. The LAMMPS WWW Site at -http://lammps.sandia.gov has more information about the code and its -uses.

-
-

The LAMMPS documentation is organized into the following sections. If +sjplimp,athomps,pscrozi at sandia.gov. The LAMMPS WWW Site at +http://lammps.sandia.gov has more information about the code and its +uses. +

+ + + + +
+ +

The LAMMPS documentation is organized into the following sections. If you find errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so -we can improve the LAMMPS documentation.

-

Once you are familiar with LAMMPS, you may want to bookmark this page at Section_commands.html#comm since -it gives quick access to documentation for all LAMMPS commands.

-

PDF file of the entire manual, generated by -htmldoc

-
- -
-
-
-
-

Indices and tables¶

- -
+we can improve the LAMMPS documentation. +

+

Once you are familiar with LAMMPS, you may want to bookmark this +page at Section_commands.html#comm since +it gives quick access to documentation for all LAMMPS commands. +

+

PDF file of the entire manual, generated by +htmldoc +

+

+

+
  1. +Introduction + + +
  2. Getting started + + +
  3. Commands + + +
  4. Packages + + +
  5. Accelerating LAMMPS performance + + +
  6. How-to discussions + + +
  7. Example problems + +
  8. Performance & scalability + +
  9. Additional tools + +
  10. Modifying & extending LAMMPS + + +
  11. Python interface + + +
  12. Errors + + +
  13. Future and history + + + +
-
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/Manual.txt b/doc/Manual.txt index 2b2ebfae73..b8fa72bd4f 100644 --- a/doc/Manual.txt +++ b/doc/Manual.txt @@ -85,7 +85,7 @@ it gives quick access to documentation for all LAMMPS commands. .. toctree:: :maxdepth: 2 - :numbered: + :numbered: // comment Section_intro Section_start @@ -105,8 +105,8 @@ it gives quick access to documentation for all LAMMPS commands. Indices and tables ================== -* :ref:`genindex` -* :ref:`search` +* :ref:`genindex` // comment +* :ref:`search` // comment END_RST --> diff --git a/doc/Section_accelerate.html b/doc/Section_accelerate.html index 0737f4bea1..7a5b054aaa 100644 --- a/doc/Section_accelerate.html +++ b/doc/Section_accelerate.html @@ -1,197 +1,84 @@ + +
Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
- - - - - - - - - 5. Accelerating LAMMPS performance — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

5. Accelerating LAMMPS performance¶

-

This section describes various methods for improving LAMMPS + + +


+ +

5. Accelerating LAMMPS performance +

+

This section describes various methods for improving LAMMPS performance for different classes of problems running on different -kinds of machines.

-

There are two thrusts to the discussion that follows. The +kinds of machines. +

+

There are two thrusts to the discussion that follows. The first is using code options that implement alternate algorithms that can speed-up a simulation. The second is to use one of the several accelerator packages provided with LAMMPS that contain code optimized for certain kinds of hardware, including -multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors.

- -

The Benchmark page of the LAMMPS +multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors. +

+ +

The Benchmark page of the LAMMPS web site gives performance results for the various accelerator packages discussed in Section 5.2, for several of the standard LAMMPS benchmark problems, as a function of problem size and number of -compute nodes, on different hardware platforms.

-
-

5.1. Measuring performance¶

-

Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are.

-

The best way to do this is run the your system (actual number of +compute nodes, on different hardware platforms. +

+
+ +
+ +

5.1 Measuring performance +

+

Before trying to make your simulation run faster, you should +understand how it currently performs and where the bottlenecks are. +

+

The best way to do this is run the your system (actual number of atoms) for a modest number of timesteps (say 100 steps) on several different processor counts, including a single processor if possible. Do this for an equilibrium version of your system, so that the 100-step timings are representative of a much longer run. There is typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs.

-

For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. This section of the manual has an overview.

-

Running on one (or a few processors) should give a good estimate of +timings; you can simply extrapolate from short runs. +

+

For the set of runs, look at the timing data printed to the screen and +log file at the end of each LAMMPS run. This +section of the manual has an overview. +

+

Running on one (or a few processors) should give a good estimate of the serial performance and what portions of the timestep are taking the most time. Running the same problem on a few different processor counts should give an estimate of parallel scalability. I.e. if the simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it’s 50% efficient.

-

The most important data to look at in the timing info is the timing +efficient; if it runs 8x faster on 16 processors, it's 50% efficient. +

+

The most important data to look at in the timing info is the timing breakdown and relative percentages. For example, trying different options for speeding up the long-range solvers will have little impact if they only consume 10% of the run time. If the pairwise time is @@ -201,49 +88,50 @@ you increase the processor count gives you a sense of how different operations within the timestep are scaling. Note that if you are running with a Kspace solver, there is additional output on the breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive.

-

Another important detail in the timing info are the histograms of +spent on FFTs, which can be communication intensive. +

+

Another important detail in the timing info are the histograms of atoms counts and neighbor counts. If these vary widely across processors, you have a load-imbalance issue. This often results in inaccurate relative timing data, because processors have to wait when communication occurs for other processors to catch up. Thus the -reported times for “Communication” or “Other” may be higher than they +reported times for "Communication" or "Other" may be higher than they really are, due to load-imbalance. If this is an issue, you can uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile -LAMMPS, to obtain synchronized timings.

-
-
-
-

5.2. General strategies¶

-
-

Note

-

this section 5.2 is still a work in progress

-
-

Here is a list of general ideas for improving simulation performance. +LAMMPS, to obtain synchronized timings. +

+
+ +

5.2 General strategies +

+

NOTE: this section 5.2 is still a work in progress +

+

Here is a list of general ideas for improving simulation performance. Most of them are only applicable to certain models and certain bottlenecks in the current performance, so let the timing data you generate be your guide. It is hard, if not impossible, to predict how much difference these options will make, since it is a function of problem size, number of processors used, and your machine. There is no substitute for identifying performance bottlenecks, and trying out -various options.

-
    -
  • rRESPA
  • -
  • 2-FFT PPPM
  • -
  • Staggered PPPM
  • -
  • single vs double PPPM
  • -
  • partial charge PPPM
  • -
  • verlet/split run style
  • -
  • processor command for proc layout and numa layout
  • -
  • load-balancing: balance and fix balance
  • -
-

2-FFT PPPM, also called analytic differentiation or ad PPPM, uses -2 FFTs instead of the 4 FFTs used by the default ik differentiation +various options. +

+
  • rRESPA +
  • 2-FFT PPPM +
  • Staggered PPPM +
  • single vs double PPPM +
  • partial charge PPPM +
  • verlet/split run style +
  • processor command for proc layout and numa layout +
  • load-balancing: balance and fix balance +
+

2-FFT PPPM, also called analytic differentiation or ad PPPM, uses +2 FFTs instead of the 4 FFTs used by the default ik differentiation PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to achieve the same accuracy as 4-FFT PPPM. For problems where the FFT cost is the performance bottleneck (typically large problems running -on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.

-

Staggered PPPM performs calculations using two different meshes, one +on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. +

+

Staggered PPPM performs calculations using two different meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase the accuracy of the method, but also doubles the amount of work required. For high relative accuracy, using @@ -255,233 +143,194 @@ time. For example, the rhodopsin benchmark was run on a single processor, and results for kspace time vs. relative accuracy for the different methods are shown in the figure below. For this system, staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above.

-_images/rhodo_staggered.jpg -
-

Warning

-

Using staggered PPPM may not give the same increase in +relative accuracy of slightly greater than 1e-5 and above. +

+
+
+

IMPORTANT NOTE: Using staggered PPPM may not give the same increase in accuracy of energy and pressure as it does in forces, so some caution must be used if energy and/or pressure are quantities of interest, -such as when using a barostat.

-
-
-
-
-

5.3. Packages with optimized styles¶

-

Accelerated versions of various pair_style, -fixes, computes, and other commands have +such as when using a barostat. +

+
+ +

5.3 Packages with optimized styles +

+

Accelerated versions of various pair_style, +fixes, computes, and other commands have been added to LAMMPS, which will typically run faster than the standard non-accelerated versions. Some require appropriate hardware to be present on your system, e.g. GPUs or Intel Xeon Phi -coprocessors.

-

All of these commands are in packages provided with LAMMPS. An -overview of packages is give in Section packages. These are the accelerator packages -currently in LAMMPS, either as standard or user packages:

- ---- - - - - - - - - - - - - - - - - - - - - -
USER-CUDAfor NVIDIA GPUs
GPUfor NVIDIA GPUs as well as OpenCL support
USER-INTELfor Intel CPUs and Intel Xeon Phi
KOKKOSfor GPUs, Intel Xeon Phi, and OpenMP threading
USER-OMPfor OpenMP threading
OPTgeneric CPU optimizations
-

Any accelerated style has the same name as the corresponding standard +coprocessors. +

+

All of these commands are in packages provided with LAMMPS. An +overview of packages is give in Section +packages. These are the accelerator packages +currently in LAMMPS, either as standard or user packages: +

+
+ + + + + +
USER-CUDA for NVIDIA GPUs
GPU for NVIDIA GPUs as well as OpenCL support
USER-INTEL for Intel CPUs and Intel Xeon Phi
KOKKOS for GPUs, Intel Xeon Phi, and OpenMP threading
USER-OMP for OpenMP threading
OPT generic CPU optimizations +
+ +

Any accelerated style has the same name as the corresponding standard style, except that a suffix is appended. Otherwise, the syntax for the command that uses the style is identical, their functionality is the same, and the numerical results it produces should also be the -same, except for precision and round-off effects.

-

For example, all of these styles are accelerated variants of the -Lennard-Jones pair_style lj/cut:

- -

To see what accelerate styles are currently available, see -Section_commands 5 of the manual. The -doc pages for individual commands (e.g. pair lj/cut or -fix nve) also list any accelerated variants available -for that style.

-

To use an accelerator package in LAMMPS, and one or more of the styles +same, except for precision and round-off effects. +

+

For example, all of these styles are accelerated variants of the +Lennard-Jones pair_style lj/cut: +

+ +

To see what accelerate styles are currently available, see +Section_commands 5 of the manual. The +doc pages for individual commands (e.g. pair lj/cut or +fix nve) also list any accelerated variants available +for that style. +

+

To use an accelerator package in LAMMPS, and one or more of the styles it provides, follow these general steps. Details vary from package to package and are explained in the individual accelerator doc pages, -listed above:

- ---- - - - - - - - - -
build the accelerator libraryonly for USER-CUDA and GPU packages
install the accelerator packagemake yes-opt, make yes-user-intel, etc
-
-
install the accelerator package | make yes-opt, make yes-user-intel, etc |
-
-
-
only for USER-INTEL, KOKKOS, USER-OMP packages |
- ---- - - - - - - - - -
re-build LAMMPSmake machine
run a LAMMPS simulationlmp_machine < in.script
-
-
run a LAMMPS simulation | lmp_machine < in.script |
-
-
-
only for USER-CUDA and KOKKOS packages |
-
-
package command, <br> -only if defaults need to be changed |
-
-
suffix command |
- -- - - -
-

The first 4 steps can be done as a single command, using the -src/Make.py tool. The Make.py tool is discussed in Section 2.4 of the manual, and its use is +listed above: +

+
+ + + + + + + +
build the accelerator library only for USER-CUDA and GPU packages
install the accelerator package make yes-opt, make yes-user-intel, etc
add compile/link flags to Makefile.machine in src/MAKE,
only for USER-INTEL, KOKKOS, USER-OMP packages
re-build LAMMPS make machine
run a LAMMPS simulation lmp_machine < in.script
enable the accelerator package via "-c on" and "-k on" command-line switches,
only for USER-CUDA and KOKKOS packages
set any needed options for the package via "-pk" command-line switch or package command,
only if defaults need to be changed
use accelerated styles in your input script via "-sf" command-line switch or suffix command +
+ +

The first 4 steps can be done as a single command, using the +src/Make.py tool. The Make.py tool is discussed in Section +2.4 of the manual, and its use is illustrated in the individual accelerator sections. Typically these steps only need to be done once, to create an executable that uses one -or more accelerator packages.

-

The last 4 steps can all be done from the command-line when LAMMPS is +or more accelerator packages. +

+

The last 4 steps can all be done from the command-line when LAMMPS is launched, without changing your input script, as illustrated in the individual accelerator sections. Or you can add -package and suffix commands to your input -script.

-
-

Warning

-

With a few exceptions, you can build a single LAMMPS +package and suffix commands to your input +script. +

+

IMPORTANT NOTE: With a few exceptions, you can build a single LAMMPS executable with all its accelerator packages installed. Note that the USER-INTEL and KOKKOS packages require you to choose one of their options when building. I.e. CPU or Phi for USER-INTEL. OpenMP, Cuda, or Phi for KOKKOS. Here are the exceptions; you cannot build a single -executable with:

-
-
    -
  • both the USER-INTEL Phi and KOKKOS Phi options
  • -
  • the USER-INTEL Phi or Kokkos Phi option, and either the USER-CUDA or GPU packages
  • -
-

See the examples/accelerate/README and make.list files for sample +executable with: +

+
  • both the USER-INTEL Phi and KOKKOS Phi options +
  • the USER-INTEL Phi or Kokkos Phi option, and either the USER-CUDA or GPU packages +
+

See the examples/accelerate/README and make.list files for sample Make.py commands that build LAMMPS with any or all of the accelerator packages. As an example, here is a command that builds with all the GPU related packages installed (USER-CUDA, GPU, KOKKOS with Cuda), including settings to build the needed auxiliary USER-CUDA and GPU -libraries for Kepler GPUs:

-
-Make.py -j 16 -p omp gpu cuda kokkos -cc nvcc wrap=mpi   -cuda mode=double arch=35 -gpu mode=double arch=35  -kokkos cuda arch=35 lib-all file mpi
-
-

The examples/accelerate directory also has input scripts that can be +libraries for Kepler GPUs: +

+
Make.py -j 16 -p omp gpu cuda kokkos -cc nvcc wrap=mpi   -cuda mode=double arch=35 -gpu mode=double arch=35 \  -kokkos cuda arch=35 lib-all file mpi 
+
+

The examples/accelerate directory also has input scripts that can be used with all of the accelerator packages. See its README file for -details.

-

Likewise, the bench directory has FERMI and KEPLER and PHI +details. +

+

Likewise, the bench directory has FERMI and KEPLER and PHI sub-directories with Make.py commands and input scripts for using all the accelerator packages on various machines. See the README files in -those dirs.

-

As mentioned above, the Benchmark page of the LAMMPS web site gives +those dirs. +

+

As mentioned above, the Benchmark +page of the LAMMPS web site gives performance results for the various accelerator packages for several of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms.

-

Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections.

-
    -
  • Styles with a “cuda” or “gpu” suffix are part of the USER-CUDA or GPU +size and number of compute nodes, on different hardware platforms. +

    +

    Here is a brief summary of what the various packages provide. Details +are in the individual accelerator sections. +

    +
    • Styles with a "cuda" or "gpu" suffix are part of the USER-CUDA or GPU packages, and can be run on NVIDIA GPUs. The speed-up on a GPU depends on a variety of factors, discussed in the accelerator -sections.
    • -
    • Styles with an “intel” suffix are part of the USER-INTEL +sections. + +
    • Styles with an "intel" suffix are part of the USER-INTEL package. These styles support vectorized single and mixed precision calculations, in addition to full double precision. In extreme cases, this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in “offload” mode to Intel(R) Xeon Phi(TM) +supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) coprocessors. This can result in additional speedup over 2x depending -on the hardware configuration.
    • -
    • Styles with a “kk” suffix are part of the KOKKOS package, and can be +on the hardware configuration. + +
    • Styles with a "kk" suffix are part of the KOKKOS package, and can be run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in “native” mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page.
    • -
    • Styles with an “omp” suffix are part of the USER-OMP package and allow +Xeon Phi in "native" mode. The speed-up depends on a variety of +factors, as discussed on the KOKKOS accelerator page. + +
    • Styles with an "omp" suffix are part of the USER-OMP package and allow a pair-style to be run in multi-threaded mode using OpenMP. This can be useful on nodes with high-core counts when using less MPI processes than cores is advantageous, e.g. when running with PPPM so that FFTs are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication.
    • -
    • Styles with an “opt” suffix are part of the OPT package and typically +overload the available bandwidth for communication. + +
    • Styles with an "opt" suffix are part of the OPT package and typically speed-up the pairwise calculations of your simulation by 5-25% on a -CPU.
    • -
    -

    The individual accelerator package doc pages explain:

    -
      -
    • what hardware and software the accelerated package requires
    • -
    • how to build LAMMPS with the accelerated package
    • -
    • how to run with the accelerated package either via command-line switches or modifying the input script
    • -
    • speed-ups to expect
    • -
    • guidelines for best performance
    • -
    • restrictions
    • -
    -
    -
-
-

5.4. Comparison of various accelerator packages¶

-
-

Note

-

this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information.

-
-

The next section compares and contrasts the various accelerator +CPU. + +

The individual accelerator package doc pages explain: +

+
  • what hardware and software the accelerated package requires +
  • how to build LAMMPS with the accelerated package +
  • how to run with the accelerated package either via command-line switches or modifying the input script +
  • speed-ups to expect +
  • guidelines for best performance +
  • restrictions +
+
+ +

5.4 Comparison of various accelerator packages +

+

NOTE: this section still needs to be re-worked with additional KOKKOS +and USER-INTEL information. +

+

The next section compares and contrasts the various accelerator options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors.

-

All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways.

-

As a consequence, for a particular simulation on specific hardware, +run on GPUs, and run on Intel Xeon Phi coprocessors. +

+

All 3 of these packages accelerate a LAMMPS calculation using NVIDIA +hardware, but they do it in different ways. +

+

As a consequence, for a particular simulation on specific hardware, one package may be faster than the other. We give guidelines below, but the best way to determine which package is faster for your input script is to try both of them on your machine. See the benchmarking -section below for examples where this has been done.

-

Guidelines for using each package optimally:

-
    -
  • The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for “hybrid” nodes that contain multicore +section below for examples where this has been done. +

    +

    Guidelines for using each package optimally: +

    +
    • The GPU package allows you to assign multiple CPUs (cores) to a single +GPU (a common configuration for "hybrid" nodes that contain multicore CPU(s) and GPU(s)) and works effectively in this mode. The USER-CUDA -package does not allow this; you can only use one CPU per GPU.
    • -
    • The GPU package moves per-atom data (coordinates, forces) +package does not allow this; you can only use one CPU per GPU. + +
    • The GPU package moves per-atom data (coordinates, forces) back-and-forth between the CPU and GPU every timestep. The USER-CUDA package only does this on timesteps when a CPU calculation is required (e.g. to invoke a fix or compute that is non-GPU-ized). Hence, if you @@ -489,129 +338,64 @@ can formulate your input script to only use GPU-ized fixes and computes, and avoid doing I/O too often (thermo output, dump file snapshots, restart files), then the data transfer cost of the USER-CUDA package can be very low, causing it to run faster than the -GPU package.
    • -
    • The GPU package is often faster than the USER-CUDA package, if the -number of atoms per GPU is “small”. The crossover point, in terms of +GPU package. + +
    • The GPU package is often faster than the USER-CUDA package, if the +number of atoms per GPU is "small". The crossover point, in terms of atoms/GPU at which the USER-CUDA package becomes faster depends strongly on the pair style. For example, for a simple Lennard Jones system the crossover (in single precision) is often about 50K-100K atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller.
    • -
    • Both packages compute bonded interactions (bonds, angles, etc) on the +crossover point can be significantly smaller. + +
    • Both packages compute bonded interactions (bonds, angles, etc) on the CPU. This means a model with bonds will force the USER-CUDA package to transfer per-atom data back-and-forth between the CPU and GPU every timestep. If the GPU package is running with several MPI processes assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster.
    • -
    • When using the GPU package with multiple CPUs assigned to one GPU, its +spread across more CPUs and hence the GPU package can run faster. + +
    • When using the GPU package with multiple CPUs assigned to one GPU, its performance depends to some extent on high bandwidth between the CPUs and the GPU. Hence its performance is affected if full 16 PCIe lanes are not available for each GPU. In HPC environments this can be the case if S2050/70 servers are used, where two devices generally share one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots.
    • -
    -

    Differences between the two packages:

    -
      -
    • The GPU package accelerates only pair force, neighbor list, and PPPM +full 16 lanes to each of the PCIe 2.0 16x slots. +
    +

    Differences between the two packages: +

    +
    • The GPU package accelerates only pair force, neighbor list, and PPPM calculations. The USER-CUDA package currently supports a wider range of pair styles and can also accelerate many fix styles and some -compute styles, as well as neighbor list and PPPM calculations.
    • -
    • The USER-CUDA package does not support acceleration for minimization.
    • -
    • The USER-CUDA package does not support hybrid pair styles.
    • -
    • The USER-CUDA package can order atoms in the neighbor list differently -from run to run resulting in a different order for force accumulation.
    • -
    • The USER-CUDA package has a limit on the number of atom types that can be -used in a simulation.
    • -
    • The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists or a triclinic simulation box.
    • -
    • The GPU package uses more GPU memory than the USER-CUDA package. This +compute styles, as well as neighbor list and PPPM calculations. + +
    • The USER-CUDA package does not support acceleration for minimization. + +
    • The USER-CUDA package does not support hybrid pair styles. + +
    • The USER-CUDA package can order atoms in the neighbor list differently +from run to run resulting in a different order for force accumulation. + +
    • The USER-CUDA package has a limit on the number of atom types that can be +used in a simulation. + +
    • The GPU package requires neighbor lists to be built on the CPU when using +exclusion lists or a triclinic simulation box. + +
    • The GPU package uses more GPU memory than the USER-CUDA package. This is generally not a problem since typical runs are computation-limited -rather than memory-limited.
    • -
    -
    -

    5.4.1. Examples¶

    -

    The LAMMPS distribution has two directories with sample input scripts -for the GPU and USER-CUDA packages.

    -
      -
    • lammps/examples/gpu = GPU package files
    • -
    • lammps/examples/USER/cuda = USER-CUDA package files
    • -
    -

    These contain input scripts for identical systems, so they can be used -to benchmark the performance of both packages on your system.

    -
    -
-
- - -
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +rather than memory-limited. + +

Examples: +

+

The LAMMPS distribution has two directories with sample input scripts +for the GPU and USER-CUDA packages. +

+
  • lammps/examples/gpu = GPU package files +
  • lammps/examples/USER/cuda = USER-CUDA package files +
+

These contain input scripts for identical systems, so they can be used +to benchmark the performance of both packages on your system. +

+ diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 8f01a56e5f..ea033b22d8 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -1,1477 +1,661 @@ + +
Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
- - - - - - - - - 3. Commands — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

3. Commands¶

-

This section describes how a LAMMPS input script is formatted and the -input script commands used to define a LAMMPS simulation.

- -
-

3.1. LAMMPS input script¶

-

LAMMPS executes by reading commands from a input script (text file), + + +


+ +

3. Commands +

+

This section describes how a LAMMPS input script is formatted and the +input script commands used to define a LAMMPS simulation. +

+3.1 LAMMPS input script
+3.2 Parsing rules
+3.3 Input script structure
+3.4 Commands listed by category
+3.5 Commands listed alphabetically
+ +
+ +
+ +

3.1 LAMMPS input script +

+

LAMMPS executes by reading commands from a input script (text file), one line at a time. When the input script ends, LAMMPS exits. Each command causes LAMMPS to take some action. It may set an internal variable, read in a file, or run a simulation. Most commands have default settings, which means you only need to use the command if you -wish to change the default.

-

In many cases, the ordering of commands in an input script is not -important. However the following rules apply:

-

(1) LAMMPS does not read your entire input script and then perform a +wish to change the default. +

+

In many cases, the ordering of commands in an input script is not +important. However the following rules apply: +

+

(1) LAMMPS does not read your entire input script and then perform a simulation with all the settings. Rather, the input script is read one line at a time and each command takes effect when it is read. -Thus this sequence of commands:

-
timestep 0.5
-run      100
-run      100
-
-
-

does something different than this sequence:

-
run      100
-timestep 0.5
-run      100
-
-
-

In the first case, the specified timestep (0.5 fmsec) is used for two +Thus this sequence of commands: +

+
timestep 0.5 
+run      100 
+run      100 
+
+

does something different than this sequence: +

+
run      100 
+timestep 0.5 
+run      100 
+
+

In the first case, the specified timestep (0.5 fmsec) is used for two simulations of 100 timesteps each. In the 2nd case, the default timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 -fmsec timestep is used for the 2nd one.

-

(2) Some commands are only valid when they follow other commands. For +fmsec timestep is used for the 2nd one. +

+

(2) Some commands are only valid when they follow other commands. For example you cannot set the temperature of a group of atoms until atoms have been defined and a group command is used to define which atoms -belong to the group.

-

(3) Sometimes command B will use values that can be set by command A. +belong to the group. +

+

(3) Sometimes command B will use values that can be set by command A. This means command A must precede command B in the input script if it is to have the desired effect. For example, the -read_data command initializes the system by setting +read_data command initializes the system by setting up the simulation box and assigning atoms to processors. If default -values are not desired, the processors and -boundary commands need to be used before read_data to -tell LAMMPS how to map processors to the simulation box.

-

Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. This section gives +values are not desired, the processors and +boundary commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box. +

+

Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. This section gives more information on what errors mean. The documentation for each -command lists restrictions on how the command can be used.

-
-
-
-

3.2. Parsing rules¶

-

Each non-blank line in the input script is treated as a command. +command lists restrictions on how the command can be used. +

+
+ +

3.2 Parsing rules +

+

Each non-blank line in the input script is treated as a command. LAMMPS commands are case sensitive. Command names are lower-case, as are specified command arguments. Upper case letters may be used in -file names or user-chosen ID strings.

-

Here is how each line in the input script is parsed by LAMMPS:

-

(1) If the last printable character on the line is a “&” character, +file names or user-chosen ID strings. +

+

Here is how each line in the input script is parsed by LAMMPS: +

+

(1) If the last printable character on the line is a "&" character, the command is assumed to continue on the next line. The next line is -concatenated to the previous line by removing the “&” character and +concatenated to the previous line by removing the "&" character and line break. This allows long commands to be continued across two or more lines. See the discussion of triple quotes in (6) for how to -continue a command across multiple line without using “&” characters.

-

(2) All characters from the first “#” character onward are treated as +continue a command across multiple line without using "&" characters. +

+

(2) All characters from the first "#" character onward are treated as comment and discarded. See an exception in (6). Note that a -comment after a trailing “&” character will prevent the command from +comment after a trailing "&" character will prevent the command from continuing on the next line. Also note that for multi-line commands a -single leading “#” will comment out the entire command.

-

(3) The line is searched repeatedly for $ characters, which indicate +single leading "#" will comment out the entire command. +

+

(3) The line is searched repeatedly for $ characters, which indicate variables that are replaced with a text string. See an exception in -(6).

-

If the $ is followed by curly brackets, then the variable name is the +(6). +

+

If the $ is followed by curly brackets, then the variable name is the text inside the curly brackets. If no curly brackets follow the $, then the variable name is the single character immediately following -the $. Thus ${myTemp} and $x refer to variable names “myTemp” and -“x”.

-

How the variable is converted to a text string depends on what style -of variable it is; see the variable doc page for details. +the $. Thus ${myTemp} and $x refer to variable names "myTemp" and +"x". +

+

How the variable is converted to a text string depends on what style +of variable it is; see the variable doc page for details. It can be a variable that stores multiple text strings, and return one -of them. The returned text string can be multiple “words” (space +of them. The returned text string can be multiple "words" (space separated) which will then be interpreted as multiple arguments in the input command. The variable can also store a numeric formula which -will be evaluated and its numeric result returned as a string.

-

As a special case, if the $ is followed by parenthesis, then the text -inside the parenthesis is treated as an “immediate” variable and -evaluated as an equal-style variable. This is a way +will be evaluated and its numeric result returned as a string. +

+

As a special case, if the $ is followed by parenthesis, then the text +inside the parenthesis is treated as an "immediate" variable and +evaluated as an equal-style variable. This is a way to use numeric formulas in an input script without having to assign -them to variable names. For example, these 3 input script lines:

-
variable X equal (xlo+xhi)/2+sqrt(v_area)
+them to variable names.  For example, these 3 input script lines:
+

+
variable X equal (xlo+xhi)/2+sqrt(v_area)
 region 1 block $X 2 INF INF EDGE EDGE
-variable X delete
-
-
-

can be replaced by

-
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
-
-
-

so that you do not have to define (or discard) a temporary variable X.

-

Note that neither the curly-bracket or immediate form of variables can +variable X delete + +

can be replaced by +

+
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE 
+
+

so that you do not have to define (or discard) a temporary variable X. +

+

Note that neither the curly-bracket or immediate form of variables can contain nested $ characters for other variables to substitute for. -Thus you cannot do this:

-
variable        a equal 2
+Thus you cannot do this:
+

+
variable        a equal 2
 variable        b2 equal 4
-print           "B2 = ${b$a}"
-
-
-

Nor can you specify this $($x-1.0) for an immediate variable, but +print "B2 = ${b$a}" + +

Nor can you specify this $($x-1.0) for an immediate variable, but you could use $(v_x-1.0), since the latter is valid syntax for an -equal-style variable.

-

See the variable command for more details of how +equal-style variable. +

+

See the variable command for more details of how strings are assigned to variables and evaluated, and how they can be -used in input script commands.

-

(4) The line is broken into “words” separated by whitespace (tabs, +used in input script commands. +

+

(4) The line is broken into "words" separated by whitespace (tabs, spaces). Note that words can thus contain letters, digits, -underscores, or punctuation characters.

-

(5) The first word is the command name. All successive words in the -line are arguments.

-

(6) If you want text with spaces to be treated as a single argument, +underscores, or punctuation characters. +

+

(5) The first word is the command name. All successive words in the +line are arguments. +

+

(6) If you want text with spaces to be treated as a single argument, it can be enclosed in either single or double or triple quotes. A long single argument enclosed in single or double quotes can span -multiple lines if the “&” character is used, as described above. When -the lines are concatenated together (and the “&” characters and line +multiple lines if the "&" character is used, as described above. When +the lines are concatenated together (and the "&" characters and line breaks removed), the text will become a single line. If you want multiple lines of an argument to retain their line breaks, the text -can be enclosed in triple quotes, in which case “&” characters are not -needed. For example:

-
print "Volume = $v"
-print 'Volume = $v'
-if "$*steps* > 1000" then quit
-variable a string "red green blue &
-                   purple orange cyan"
-print """
+can be enclosed in triple quotes, in which case "&" characters are not
+needed.  For example:
+

+
print "Volume = $v"
+print 'Volume = $v'
+if "$steps > 1000" then quit
+variable a string "red green blue &
+                   purple orange cyan"
+print """
 System volume = $v
 System temperature = $t
-"""
-
-
-

In each case, the single, double, or triple quotes are removed when -the single argument they enclose is stored internally.

-

See the dump modify format, print, -if, and python commands for examples.

-

A “#” or “$” character that is between quotes will not be treated as a -comment indicator in (2) or substituted for as a variable in (3).

-
-

Warning

-

If the argument is itself a command that requires a -quoted argument (e.g. using a print command as part of an -if or run every command), then single, double, or +""" + +

In each case, the single, double, or triple quotes are removed when +the single argument they enclose is stored internally. +

+

See the dump modify format, print, +if, and python commands for examples. +

+

A "#" or "$" character that is between quotes will not be treated as a +comment indicator in (2) or substituted for as a variable in (3). +

+

IMPORTANT NOTE: If the argument is itself a command that requires a +quoted argument (e.g. using a print command as part of an +if or run every command), then single, double, or triple quotes can be nested in the usual manner. See the doc pages for those commands for examples. Only one of level of nesting is -allowed, but that should be sufficient for most use cases.

-
-
-
-
-

3.3. Input script structure¶

-

This section describes the structure of a typical LAMMPS input script. -The “examples” directory in the LAMMPS distribution contains many +allowed, but that should be sufficient for most use cases. +

+
+ +

3.3 Input script structure +

+

This section describes the structure of a typical LAMMPS input script. +The "examples" directory in the LAMMPS distribution contains many sample input scripts; the corresponding problems are discussed in -Section_example, and animated on the LAMMPS WWW Site.

-

A LAMMPS input script typically has 4 parts:

-
    -
  1. Initialization
  2. -
  3. Atom definition
  4. -
  5. Settings
  6. -
  7. Run a simulation
  8. -
-

The last 2 parts can be repeated as many times as desired. I.e. run a +Section_example, and animated on the LAMMPS +WWW Site. +

+

A LAMMPS input script typically has 4 parts: +

+
  1. Initialization +
  2. Atom definition +
  3. Settings +
  4. Run a simulation +
+

The last 2 parts can be repeated as many times as desired. I.e. run a simulation, change some settings, run some more, etc. Each of the 4 parts is now described in more detail. Remember that almost all the -commands need only be used if a non-default value is desired.

-
    -
  1. Initialization
  2. -
-

Set parameters that need to be defined before atoms are created or -read-in from a file.

-

The relevant commands are units, -dimension, newton, -processors, boundary, -atom_style, atom_modify.

-

If force-field parameters appear in the files that will be read, these +commands need only be used if a non-default value is desired. +

+

(1) Initialization +

+

Set parameters that need to be defined before atoms are created or +read-in from a file. +

+

The relevant commands are units, +dimension, newton, +processors, boundary, +atom_style, atom_modify. +

+

If force-field parameters appear in the files that will be read, these commands tell LAMMPS what kinds of force fields are being used: -pair_style, bond_style, -angle_style, dihedral_style, -improper_style.

-
    -
  1. Atom definition
  2. -
-

There are 3 ways to define atoms in LAMMPS. Read them in from a data -or restart file via the read_data or -read_restart commands. These files can contain +pair_style, bond_style, +angle_style, dihedral_style, +improper_style. +

+

(2) Atom definition +

+

There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the read_data or +read_restart commands. These files can contain molecular topology information. Or create atoms on a lattice (with no -molecular topology), using these commands: lattice, -region, create_box, -create_atoms. The entire set of atoms can be +molecular topology), using these commands: lattice, +region, create_box, +create_atoms. The entire set of atoms can be duplicated to make a larger simulation using the -replicate command.

-
    -
  1. Settings
  2. -
-

Once atoms and molecular topology are defined, a variety of settings +replicate command. +

+

(3) Settings +

+

Once atoms and molecular topology are defined, a variety of settings can be specified: force field coefficients, simulation parameters, -output options, etc.

-

Force field coefficients are set by these commands (they can also be -set in the read-in files): pair_coeff, -bond_coeff, angle_coeff, -dihedral_coeff, -improper_coeff, -kspace_style, dielectric, -special_bonds.

-

Various simulation parameters are set by these commands: -neighbor, neigh_modify, -group, timestep, -reset_timestep, run_style, -min_style, min_modify.

-

Fixes impose a variety of boundary conditions, time integration, and -diagnostic options. The fix command comes in many flavors.

-

Various computations can be specified for execution during a -simulation using the compute, -compute_modify, and variable -commands.

-

Output options are set by the thermo, dump, -and restart commands.

-
    -
  1. Run a simulation
  2. -
-

A molecular dynamics simulation is run using the run +output options, etc. +

+

Force field coefficients are set by these commands (they can also be +set in the read-in files): pair_coeff, +bond_coeff, angle_coeff, +dihedral_coeff, +improper_coeff, +kspace_style, dielectric, +special_bonds. +

+

Various simulation parameters are set by these commands: +neighbor, neigh_modify, +group, timestep, +reset_timestep, run_style, +min_style, min_modify. +

+

Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The fix command comes in many flavors. +

+

Various computations can be specified for execution during a +simulation using the compute, +compute_modify, and variable +commands. +

+

Output options are set by the thermo, dump, +and restart commands. +

+

(4) Run a simulation +

+

A molecular dynamics simulation is run using the run command. Energy minimization (molecular statics) is performed using -the minimize command. A parallel tempering +the minimize command. A parallel tempering (replica-exchange) simulation can be run using the -temper command.

-
-
-
-

3.4. Commands listed by category¶

-

This section lists all LAMMPS commands, grouped by category. The -next section lists the same commands alphabetically. Note +temper command. +

+
+ +

3.4 Commands listed by category +

+

This section lists all LAMMPS commands, grouped by category. The +next section lists the same commands alphabetically. Note that some style options for some commands are part of specific LAMMPS packages, which means they cannot be used unless the package was included when LAMMPS was built. Not all packages are included in a default LAMMPS build. These dependencies are listed as Restrictions -in the command’s documentation.

-

Initialization:

-

atom_modify, atom_style, -boundary, dimension, -newton, processors, units

-

Atom definition:

-

create_atoms, create_box, -lattice, read_data, -read_dump, read_restart, -region, replicate

-

Force fields:

-

angle_coeff, angle_style, -bond_coeff, bond_style, -dielectric, dihedral_coeff, -dihedral_style, -improper_coeff, -improper_style, -kspace_modify, kspace_style, -pair_coeff, pair_modify, -pair_style, pair_write, -special_bonds

-

Settings:

-

comm_style, group, mass, -min_modify, min_style, -neigh_modify, neighbor, -reset_timestep, run_style, -set, timestep, velocity

-

Fixes:

-

fix, fix_modify, unfix

-

Computes:

-

compute, compute_modify, -uncompute

-

Output:

-

dump, dump image, -dump_modify, dump movie, -restart, thermo, -thermo_modify, thermo_style, -undump, write_data, -write_dump, write_restart

-

Actions:

-

delete_atoms, delete_bonds, -displace_atoms, change_box, -minimize, neb prd, -rerun, run, temper

-

Miscellaneous:

-

clear, echo, if, -include, jump, label, -log, next, print, -shell, variable

-
-
-
-

3.5. Individual commands¶

-

This section lists all LAMMPS commands alphabetically, with a separate -listing below of styles within certain commands. The previous section lists the same commands, grouped by category. Note +in the command's documentation. +

+

Initialization: +

+

atom_modify, atom_style, +boundary, dimension, +newton, processors, units +

+

Atom definition: +

+

create_atoms, create_box, +lattice, read_data, +read_dump, read_restart, +region, replicate +

+

Force fields: +

+

angle_coeff, angle_style, +bond_coeff, bond_style, +dielectric, dihedral_coeff, +dihedral_style, +improper_coeff, +improper_style, +kspace_modify, kspace_style, +pair_coeff, pair_modify, +pair_style, pair_write, +special_bonds +

+

Settings: +

+

comm_style, group, mass, +min_modify, min_style, +neigh_modify, neighbor, +reset_timestep, run_style, +set, timestep, velocity +

+

Fixes: +

+

fix, fix_modify, unfix +

+

Computes: +

+

compute, compute_modify, +uncompute +

+

Output: +

+

dump, dump image, +dump_modify, dump movie, +restart, thermo, +thermo_modify, thermo_style, +undump, write_data, +write_dump, write_restart +

+

Actions: +

+

delete_atoms, delete_bonds, +displace_atoms, change_box, +minimize, neb prd, +rerun, run, temper +

+

Miscellaneous: +

+

clear, echo, if, +include, jump, label, +log, next, print, +shell, variable +

+
+ +

3.5 Individual commands +

+

This section lists all LAMMPS commands alphabetically, with a separate +listing below of styles within certain commands. The previous +section lists the same commands, grouped by category. Note that some style options for some commands are part of specific LAMMPS packages, which means they cannot be used unless the package was included when LAMMPS was built. Not all packages are included in a default LAMMPS build. These dependencies are listed as Restrictions -in the command’s documentation.

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
bond_styleboundaryboxchange_boxclearcomm_modify
comm_stylecomputecompute_modifycreate_atomscreate_bondscreate_box
delete_atomsdelete_bondsdielectricdihedral_coeffdihedral_styledimension
displace_atomsdumpdump imagedump_modifydump movieecho
fixfix_modifygroupifinfoimproper_coeff
improper_styleincludejumpkspace_modifykspace_stylelabel
latticelogmassminimizemin_modifymin_style
moleculenebneigh_modifyneighbornewtonnext
packagepair_coeffpair_modifypair_stylepair_writepartition
prdprintprocessorspythonquitread_data
read_dumpread_restartregionreplicatererunreset_timestep
restartrunrun_stylesetshellspecial_bonds
suffixtadtemperthermothermo_modifythermo_style
timestepuncomputeundumpunfixunitsvariable
velocitywrite_datawrite_dumpwrite_restart  
-

These are additional commands in USER packages, which can be used if -LAMMPS is built with the appropriate package.

- --- - - - - -
group2ndx
-
-
-
-

3.6. Fix styles¶

-

See the fix command for one-line descriptions of each style +in the command's documentation. +

+
+ + + + + + + + + + + + + + + +
angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
bond_styleboundaryboxchange_boxclearcomm_modify
comm_stylecomputecompute_modifycreate_atomscreate_bondscreate_box
delete_atomsdelete_bondsdielectricdihedral_coeffdihedral_styledimension
displace_atomsdumpdump imagedump_modifydump movieecho
fixfix_modifygroupifinfoimproper_coeff
improper_styleincludejumpkspace_modifykspace_stylelabel
latticelogmassminimizemin_modifymin_style
moleculenebneigh_modifyneighbornewtonnext
packagepair_coeffpair_modifypair_stylepair_writepartition
prdprintprocessorspythonquitread_data
read_dumpread_restartregionreplicatererunreset_timestep
restartrunrun_stylesetshellspecial_bonds
suffixtadtemperthermothermo_modifythermo_style
timestepuncomputeundumpunfixunitsvariable
velocitywrite_datawrite_dumpwrite_restart +
+ +

These are additional commands in USER packages, which can be used if +LAMMPS is built with the appropriate +package. +

+ + +
+ +

Fix styles +

+

See the fix command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built -with the appropriate accelerated package. +with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, -g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.

- ---------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
adaptaddforce (c)append/atomsatom/swapaveforce (c)ave/atomave/chunkave/correlate
ave/histoave/histo/weightave/spatialave/timebalancebond/breakbond/createbond/swap
box/relaxdeformdepositdragdt/resetefieldenforce2d (c)evaporate
externalfreeze (c)gcmcgldgravity (co)heatindentlangevin (k)
lineforcemomentummovemsstnebnph (o)nphug (o)nph/asphere (o)
nph/sphere (o)npt (co)npt/asphere (o)npt/sphere (o)nve (cko)nve/aspherenve/asphere/noforcenve/body
nve/limitnve/linenve/noforcenve/sphere (o)nve/trinvt (co)nvt/asphere (o)nvt/sllod (o)
nvt/sphere (o)onewayorient/fccplaneforcepoemspourpress/berendsenprint
property/atomqeq/comb (o)qeq/dynamicqeq/pointqeq/shieldedqeq/slaterreax/bondsrecenter
restrainrigid (o)rigid/nph (o)rigid/npt (o)rigid/nve (o)rigid/nvt (o)rigid/small (o)rigid/small/nph
rigid/small/nptrigid/small/nverigid/small/nvtsetforce (c)shake (c)springspring/rgspring/self
srdstore/forcestore/statetemp/berendsen (c)temp/csldtemp/csvrtemp/rescale (c)tfmc
thermal/conductivitytmdttmtune/kspacevectorviscosityviscous (c)wall/colloid
wall/granwall/harmonicwall/lj1043wall/lj126wall/lj93wall/pistonwall/reflectwall/region
wall/srd       
-

These are additional fix styles in USER packages, which can be used if -LAMMPS is built with the appropriate package.

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
adapt/fepaddtorqueatcave/spatial/spheredrudedrude/transform/direct
drude/transform/reversecolvarsgleimdipilangevin/drude
langevin/efflb/fluidlb/momentumlb/pclb/rigid/pc/spherelb/viscous
mesomeso/stationarynph/effnpt/effnve/effnvt/eff
nvt/sllod/effphononpimdqbmsstqeq/reaxqmmm
qtbreax/c/bondsreax/c/speciessaed/vtksmdtemp/rescale/eff
ti/rsti/springttm/mod   
-
-
-
-

3.7. Compute styles¶

-

See the compute command for one-line descriptions of +g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. +

+
+ + + + + + + + + + + + + + +
adaptaddforce (c)append/atomsatom/swapaveforce (c)ave/atomave/chunkave/correlate
ave/histoave/histo/weightave/spatialave/timebalancebond/breakbond/createbond/swap
box/relaxdeformdepositdragdt/resetefieldenforce2d (c)evaporate
externalfreeze (c)gcmcgldgravity (co)heatindentlangevin (k)
lineforcemomentummovemsstnebnph (o)nphug (o)nph/asphere (o)
nph/sphere (o)npt (co)npt/asphere (o)npt/sphere (o)nve (cko)nve/aspherenve/asphere/noforcenve/body
nve/limitnve/linenve/noforcenve/sphere (o)nve/trinvt (co)nvt/asphere (o)nvt/sllod (o)
nvt/sphere (o)onewayorient/fccplaneforcepoemspourpress/berendsenprint
property/atomqeq/comb (o)qeq/dynamicqeq/pointqeq/shieldedqeq/slaterreax/bondsrecenter
restrainrigid (o)rigid/nph (o)rigid/npt (o)rigid/nve (o)rigid/nvt (o)rigid/small (o)rigid/small/nph
rigid/small/nptrigid/small/nverigid/small/nvtsetforce (c)shake (c)springspring/rgspring/self
srdstore/forcestore/statetemp/berendsen (c)temp/csldtemp/csvrtemp/rescale (c)tfmc
thermal/conductivitytmdttmtune/kspacevectorviscosityviscous (c)wall/colloid
wall/granwall/harmonicwall/lj1043wall/lj126wall/lj93wall/pistonwall/reflectwall/region
wall/srd +
+ +

These are additional fix styles in USER packages, which can be used if +LAMMPS is built with the appropriate +package. +

+ + +
+ +

Compute styles +

+

See the compute command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional +is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
angle/localangmom/chunkbody/localbond/localcentro/atomchunk/atom
cluster/atomcna/atomcomcom/chunkcontact/atomcoord/atom
damage/atomdihedral/localdilatation/atomdisplace/atomerotate/asphereerotate/rigid
erotate/sphereerotate/sphere/atomevent/displacegroup/groupgyrationgyration/chunk
heat/fluximproper/localinertia/chunkkeke/atomke/rigid
msdmsd/chunkmsd/nongaussomega/chunkpairpair/local
pe (c)pe/atomplasticity/atompressure (c)property/atomproperty/local
property/chunkrdfreducereduce/regionslicesna/atom
snad/atomsnav/atomstress/atomtemp (c)temp/aspheretemp/com
temp/chunktemp/deformtemp/partial (c)temp/profiletemp/ramptemp/region
temp/spheretitorque/chunkvacfvcm/chunkvoronoi/atom
-

These are additional compute styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

- -------- - - - - - - - - - - - - - - - - - - - - - - - -
ackland/atombasal/atomfepke/effke/atom/effmeso_e/atom
meso_rho/atommeso_t/atomsaedtemp/drudetemp/efftemp/deform/eff
temp/region/efftemp/rotatexrd   
-
-
-
-

3.8. Pair_style potentials¶

-

See the pair_style command for an overview of pair +KOKKOS, o = USER-OMP, t = OPT. +

+ + +

These are additional compute styles in USER packages, which can be +used if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Pair_style potentials +

+

See the pair_style command for an overview of pair potentials. Click on the style itself for a full description. Many of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional +is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nonehybridhybrid/overlayadp (o)
airebo (o)beck (go)bodybop
born (go)born/coul/long (cgo)born/coul/long/csborn/coul/msm (o)
born/coul/wolf (go)brownian (o)brownian/poly (o)buck (cgko)
buck/coul/cut (cgko)buck/coul/long (cgko)buck/coul/long/csbuck/coul/msm (o)
buck/long/coul/long (o)colloid (go)comb (o)comb3
coul/cut (gko)coul/debye (gko)coul/dsf (gko)coul/long (gko)
coul/long/cscoul/msmcoul/streitzcoul/wolf (ko)
dpd (o)dpd/tstat (o)dsmceam (cgkot)
eam/alloy (cgkot)eam/fs (cgkot)eim (o)gauss (go)
gayberne (gio)gran/hertz/history (o)gran/hooke (co)gran/hooke/history (o)
hbond/dreiding/lj (o)hbond/dreiding/morse (o)kimlcbop
line/lj (o)lj/charmm/coul/charmm (cko)lj/charmm/coul/charmm/implicit (cko)lj/charmm/coul/long (cgiko)
lj/charmm/coul/msmlj/class2 (cgko)lj/class2/coul/cut (cko)lj/class2/coul/long (cgko)
lj/cut (cgikot)lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgko)lj/cut/coul/dsf (gko)
lj/cut/coul/long (cgikot)lj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/long
lj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (cgko)lj/gromacs (cgko)
lj/gromacs/coul/gromacs (cko)lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/long
lj/smooth (co)lj/smooth/linear (o)lj96/cut (cgo)lubricate (o)
lubricate/poly (o)lubricateUlubricateU/polymeam (o)
mie/cut (o)morse (cgot)nb3b/harmonic (o)nm/cut (o)
nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/epsperi/lps (o)
peri/pmb (o)peri/vespolymorphicreax
rebo (o)resquared (go)snapsoft (go)
sw (cgkio)table (gko)tersoff (cko)tersoff/mod (ko)
tersoff/zbl (ko)tip4p/cut (o)tip4p/long (o)tri/lj (o)
yukawa (go)yukawa/colloid (go)zbl (o) 
-

These are additional pair styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

- ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
awpmd/cutcoul/cut/soft (o)coul/diel (o)coul/long/soft (o)
eam/cd (o)edip (o)eff/cutgauss/cut
listlj/charmm/coul/long/soft (o)lj/cut/coul/cut/soft (o)lj/cut/coul/long/soft (o)
lj/cut/dipole/sf (go)lj/cut/soft (o)lj/cut/tip4p/long/soft (o)lj/sdk (gko)
lj/sdk/coul/long (go)lj/sdk/coul/msm (o)lj/sf (o)meam/spline
meam/sw/splinequipreax/csph/heatconduction
sph/idealgassph/ljsph/rhosumsph/taitwater
sph/taitwater/morrissrptersoff/table (o)thole
tip4p/long/soft (o)   
-
-
-
-

3.9. Bond_style potentials¶

-

See the bond_style command for an overview of bond +KOKKOS, o = USER-OMP, t = OPT. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
nonehybridhybrid/overlayadp (o)
airebo (o)beck (go)bodybop
born (go)born/coul/long (cgo)born/coul/long/csborn/coul/msm (o)
born/coul/wolf (go)brownian (o)brownian/poly (o)buck (cgko)
buck/coul/cut (cgko)buck/coul/long (cgko)buck/coul/long/csbuck/coul/msm (o)
buck/long/coul/long (o)colloid (go)comb (o)comb3
coul/cut (gko)coul/debye (gko)coul/dsf (gko)coul/long (gko)
coul/long/cscoul/msmcoul/streitzcoul/wolf (ko)
dpd (o)dpd/tstat (o)dsmceam (cgkot)
eam/alloy (cgkot)eam/fs (cgkot)eim (o)gauss (go)
gayberne (gio)gran/hertz/history (o)gran/hooke (co)gran/hooke/history (o)
hbond/dreiding/lj (o)hbond/dreiding/morse (o)kimlcbop
line/lj (o)lj/charmm/coul/charmm (cko)lj/charmm/coul/charmm/implicit (cko)lj/charmm/coul/long (cgiko)
lj/charmm/coul/msmlj/class2 (cgko)lj/class2/coul/cut (cko)lj/class2/coul/long (cgko)
lj/cut (cgikot)lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgko)lj/cut/coul/dsf (gko)
lj/cut/coul/long (cgikot)lj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/long
lj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (cgko)lj/gromacs (cgko)
lj/gromacs/coul/gromacs (cko)lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/long
lj/smooth (co)lj/smooth/linear (o)lj96/cut (cgo)lubricate (o)
lubricate/poly (o)lubricateUlubricateU/polymeam (o)
mie/cut (o)morse (cgot)nb3b/harmonic (o)nm/cut (o)
nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/epsperi/lps (o)
peri/pmb (o)peri/vespolymorphicreax
rebo (o)resquared (go)snapsoft (go)
sw (cgkio)table (gko)tersoff (cko)tersoff/mod (ko)
tersoff/zbl (ko)tip4p/cut (o)tip4p/long (o)tri/lj (o)
yukawa (go)yukawa/colloid (go)zbl (o) +
+ +

These are additional pair styles in USER packages, which can be used +if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Bond_style potentials +

+

See the bond_style command for an overview of bond potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional +is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - - - - - - -
nonehybridclass2 (o)fene (ko)
fene/expand (o)harmonic (ko)morse (o)nonlinear (o)
quartic (o)table (o)  
-

These are additional bond styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

- ---- - - - - - -
harmonic/shift (o)harmonic/shift/cut (o)
-
-
-
-

3.10. Angle_style potentials¶

-

See the angle_style command for an overview of +KOKKOS, o = USER-OMP, t = OPT. +

+ + +

These are additional bond styles in USER packages, which can be used +if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Angle_style potentials +

+

See the angle_style command for an overview of angle potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated package. This is indicated by additional +LAMMPS is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - - - - - - -
nonehybridcharmm (ko)class2 (o)
cosine (o)cosine/delta (o)cosine/periodic (o)cosine/squared (o)
harmonic (ko)table (o)  
-

These are additional angle styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

- ------ - - - - - - - - - - - - -
cosine/shift (o)cosine/shift/exp (o)dipole (o)fourier (o)
fourier/simple (o)quartic (o)sdk 
-
-
-
-

3.11. Dihedral_style potentials¶

-

See the dihedral_style command for an overview +KOKKOS, o = USER-OMP, t = OPT. +

+ + +

These are additional angle styles in USER packages, which can be used +if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Dihedral_style potentials +

+

See the dihedral_style command for an overview of dihedral potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional +be used if LAMMPS is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - -
nonehybridcharmm (ko)class2 (o)
harmonic (o)helix (o)multi/harmonic (o)opls (ko)
-

These are additional dihedral styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

- ------ - - - - - - - - - - - - -
cosine/shift/exp (o)fourier (o)nharmonic (o)quadratic (o)
table (o)   
-
-
-
-

3.12. Improper_style potentials¶

-

See the improper_style command for an overview +KOKKOS, o = USER-OMP, t = OPT. +

+ + +

These are additional dihedral styles in USER packages, which can be +used if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Improper_style potentials +

+

See the improper_style command for an overview of improper potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional +be used if LAMMPS is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - -
nonehybridclass2 (o)cvff (o)
harmonic (ko)umbrella (o)  
-

These are additional improper styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

- ----- - - - - - - -
cossq (o)fourier (o)ring (o)
-
-
-
-

3.13. Kspace solvers¶

-

See the kspace_style command for an overview of +KOKKOS, o = USER-OMP, t = OPT. +

+ + +

These are additional improper styles in USER packages, which can be +used if LAMMPS is built with the appropriate +package. +

+ + +
+ +

Kspace solvers +

+

See the kspace_style command for an overview of Kspace solvers. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated package. This is indicated by additional +LAMMPS is built with the appropriate accelerated +package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

- ------ - - - - - - - - - - - - - - - - - -
ewald (o)ewald/dispmsm (o)msm/cg (o)
pppm (cgo)pppm/cg (o)pppm/disppppm/disp/tip4p
pppm/tip4p (o)   
-
-
+KOKKOS, o = USER-OMP, t = OPT. +

+ - -
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/Section_errors.html b/doc/Section_errors.html index 95c0fbd059..0e72c3dd08 100644 --- a/doc/Section_errors.html +++ b/doc/Section_errors.html @@ -1,5982 +1,10632 @@ + +
Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
- - - - - - - - - 12. Errors — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

12. Errors¶

-

This section describes the errors you can encounter when using LAMMPS, -either conceptually, or as printed out by the program.

- -
-

12.1. Common problems¶

-

If two LAMMPS runs do not produce the same answer on different + + +


+ +

12. Errors +

+

This section describes the errors you can encounter when using LAMMPS, +either conceptually, or as printed out by the program. +

+12.1 Common problems
+12.2 Reporting bugs
+12.3 Error & warning messages
+ +
+ +
+ +

12.1 Common problems +

+

If two LAMMPS runs do not produce the same answer on different machines or different numbers of processors, this is typically not a bug. In theory you should get identical answers on any number of processors and on any machine. In practice, numerical round-off can cause slight differences and eventual divergence of molecular dynamics phase space trajectories within a few 100s or few 1000s of timesteps. However, the statistical properties of the two runs (e.g. average -energy or temperature) should still be the same.

-

If the velocity command is used to set initial atom +energy or temperature) should still be the same. +

+

If the velocity command is used to set initial atom velocities, a particular atom can be assigned a different velocity when the problem is run on a different number of processors or on different machines. If this happens, the phase space trajectories of the two simulations will rapidly diverge. See the discussion of the -loop option in the velocity command for details and -options that avoid this issue.

-

Similarly, the create_atoms command generates a +loop option in the velocity command for details and +options that avoid this issue. +

+

Similarly, the create_atoms command generates a lattice of atoms. For the same physical system, the ordering and numbering of atoms by atom ID may be different depending on the number -of processors.

-

Some commands use random number generators which may be setup to +of processors. +

+

Some commands use random number generators which may be setup to produce different random number streams on each processor and hence will produce different effects when run on different numbers of -processors. A commonly-used example is the fix langevin command for thermostatting.

-

A LAMMPS simulation typically has two stages, setup and run. Most +processors. A commonly-used example is the fix +langevin command for thermostatting. +

+

A LAMMPS simulation typically has two stages, setup and run. Most LAMMPS errors are detected at setup time; others like a bond -stretching too far may not occur until the middle of a run.

-

LAMMPS tries to flag errors and print informative error messages so +stretching too far may not occur until the middle of a run. +

+

LAMMPS tries to flag errors and print informative error messages so you can fix the problem. Of course, LAMMPS cannot figure out your physics or numerical mistakes, like choosing too big a timestep, specifying erroneous force field coefficients, or putting 2 atoms on -top of each other! If you run into errors that LAMMPS doesn’t catch +top of each other! If you run into errors that LAMMPS doesn't catch that you think it should flag, please send an email to the -developers.

-

If you get an error message about an invalid command in your input +developers. +

+

If you get an error message about an invalid command in your input script, you can determine what command is causing the problem by -looking in the log.lammps file or using the echo command -to see it on the screen. If you get an error like “Invalid ... -style”, with ... being fix, compute, pair, etc, it means that you +looking in the log.lammps file or using the echo command +to see it on the screen. If you get an error like "Invalid ... +style", with ... being fix, compute, pair, etc, it means that you mistyped the style name or that the command is part of an optional package which was not compiled into your executable. The list of -available styles in your executable can be listed by using the -h command-line argument. The installation -and compilation of optional packages is explained in the installation instructions.

-

For a given command, LAMMPS expects certain arguments in a specified +available styles in your executable can be listed by using the -h +command-line argument. The installation +and compilation of optional packages is explained in the installation +instructions. +

+

For a given command, LAMMPS expects certain arguments in a specified order. If you mess this up, LAMMPS will often flag the error, but it may also simply read a bogus argument and assign a value that is -valid, but not what you wanted. E.g. trying to read the string “abc” +valid, but not what you wanted. E.g. trying to read the string "abc" as an integer value of 0. Careful reading of the associated doc page for the command should allow you to fix these problems. Note that some commands allow for variables to be specified in place of numeric constants so that the value can be evaluated and change over the -course of a run. This is typically done with the syntax v_name for +course of a run. This is typically done with the syntax v_name for a parameter, where name is the name of the variable. This is only -allowed if the command documentation says it is.

-

Generally, LAMMPS will print a message to the screen and logfile and +allowed if the command documentation says it is. +

+

Generally, LAMMPS will print a message to the screen and logfile and exit gracefully when it encounters a fatal error. Sometimes it will print a WARNING to the screen and logfile and continue on; you can decide if the WARNING is important or not. A WARNING message that is generated in the middle of a run is only printed to the screen, not to the logfile, to avoid cluttering up thermodynamic output. If LAMMPS crashes or hangs without spitting out an error message first then it -could be a bug (see this section) or one of the following -cases:

-

LAMMPS runs in the available memory a processor allows to be +could be a bug (see this section) or one of the following +cases: +

+

LAMMPS runs in the available memory a processor allows to be allocated. Most reasonable MD runs are compute limited, not memory -limited, so this shouldn’t be a bottleneck on most platforms. Almost -all large memory allocations in the code are done via C-style malloc’s +limited, so this shouldn't be a bottleneck on most platforms. Almost +all large memory allocations in the code are done via C-style malloc's which will generate an error message if you run out of memory. -Smaller chunks of memory are allocated via C++ “new” statements. If +Smaller chunks of memory are allocated via C++ "new" statements. If you are unlucky you could run out of memory just when one of these small requests is made, in which case the code will crash or hang (in -parallel), since LAMMPS doesn’t trap on those errors.

-

Illegal arithmetic can cause LAMMPS to run slow or crash. This is +parallel), since LAMMPS doesn't trap on those errors. +

+

Illegal arithmetic can cause LAMMPS to run slow or crash. This is typically due to invalid physics and numerics that your simulation is computing. If you see wild thermodynamic values or NaN values in your LAMMPS output, something is wrong with your simulation. If you suspect this is happening, it is a good idea to print out thermodynamic info frequently (e.g. every timestep) via the -thermo so you can monitor what is happening. +thermo so you can monitor what is happening. Visualizing the atom movement is also a good idea to insure your model -is behaving as you expect.

-

In parallel, one way LAMMPS can hang is due to how different MPI +is behaving as you expect. +

+

In parallel, one way LAMMPS can hang is due to how different MPI implementations handle buffering of messages. If the code hangs without an error message, it may be that you need to specify an MPI setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered.

-
-
-
-

12.2. Reporting bugs¶

-

If you are confident that you have found a bug in LAMMPS, follow these -steps.

-

Check the New features and bug fixes section of the LAMMPS WWW site to see if the bug has already been reported or fixed or the -Unfixed bug to see if a fix is -pending.

-

Check the mailing list -to see if it has been discussed before.

-

If not, send an email to the mailing list describing the problem with +buffering or boost the sizes of messages that can be buffered. +

+
+ +

12.2 Reporting bugs +

+

If you are confident that you have found a bug in LAMMPS, follow these +steps. +

+

Check the New features and bug +fixes section of the LAMMPS WWW +site to see if the bug has already been reported or fixed or the +Unfixed bug to see if a fix is +pending. +

+

Check the mailing list +to see if it has been discussed before. +

+

If not, send an email to the mailing list describing the problem with any ideas you have as to what is causing it or where in the code the problem might be. The developers will ask for more info if needed, -such as an input script or data files.

-

The most useful thing you can do to help us fix the bug is to isolate +such as an input script or data files. +

+

The most useful thing you can do to help us fix the bug is to isolate the problem. Run it on the smallest number of atoms and fewest number of processors and with the simplest input script that reproduces the bug and try to identify what command or combination of commands is -causing the problem.

-

As a last resort, you can send an email directly to the -developers.

-
-
-
-

12.3. Error & warning messages¶

-

These are two alphabetic lists of the ERROR and -WARNING messages LAMMPS prints out and the reason why. If the +causing the problem. +

+

As a last resort, you can send an email directly to the +developers. +

+
+ +

12.3 Error & warning messages +

+

These are two alphabetic lists of the ERROR and +WARNING messages LAMMPS prints out and the reason why. If the explanation here is not sufficient, the documentation for the -offending command may help. +offending command may help. Error and warning messages also list the source file and line number -where the error was generated. For example, this message

-

ERROR: Illegal velocity command (velocity.cpp:78)

-

means that line #78 in the file src/velocity.cpp generated the error. -Looking in the source code may help you figure out what went wrong.

-

Note that error messages from user-contributed packages are not listed here. If such an -error occurs and is not self-explanatory, you’ll need to look in the -source code or contact the author of the package.

-
-
-

12.4. Errors:¶

-
-
1-3 bond count is inconsistent
-
An inconsistency was detected when computing the number of 1-3 +where the error was generated. For example, this message +

+

ERROR: Illegal velocity command (velocity.cpp:78) +

+

means that line #78 in the file src/velocity.cpp generated the error. +Looking in the source code may help you figure out what went wrong. +

+

Note that error messages from user-contributed +packages are not listed here. If such an +error occurs and is not self-explanatory, you'll need to look in the +source code or contact the author of the package. +

+

Errors: +

+
+ +
1-3 bond count is inconsistent + +
An inconsistency was detected when computing the number of 1-3 neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined.
-
1-4 bond count is inconsistent
-
An inconsistency was detected when computing the number of 1-4 +the bond topologies you have defined. + +
1-4 bond count is inconsistent + +
An inconsistency was detected when computing the number of 1-4 neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined.
-
Accelerator sharing is not currently supported on system
-
Multiple MPI processes cannot share the accelerator on your +the bond topologies you have defined. + +
Accelerator sharing is not currently supported on system + +
Multiple MPI processes cannot share the accelerator on your system. For NVIDIA GPUs, see the nvidia-smi command to change this -setting.
-
All angle coeffs are not set
-
All angle coefficients must be set in the data file or by the -angle_coeff command before running a simulation.
-
All atoms of a swapped type must have the same charge.
-
Self-explanatory.
-
All bond coeffs are not set
-
All bond coefficients must be set in the data file or by the -bond_coeff command before running a simulation.
-
All dihedral coeffs are not set
-
All dihedral coefficients must be set in the data file or by the -dihedral_coeff command before running a simulation.
-
All improper coeffs are not set
-
All improper coefficients must be set in the data file or by the -improper_coeff command before running a simulation.
-
All masses are not set
-
For atom styles that define masses for each atom type, all masses must +setting. + +
All angle coeffs are not set + +
All angle coefficients must be set in the data file or by the +angle_coeff command before running a simulation. + +
All atoms of a swapped type must have the same charge. + +
Self-explanatory. + +
All bond coeffs are not set + +
All bond coefficients must be set in the data file or by the +bond_coeff command before running a simulation. + +
All dihedral coeffs are not set + +
All dihedral coefficients must be set in the data file or by the +dihedral_coeff command before running a simulation. + +
All improper coeffs are not set + +
All improper coefficients must be set in the data file or by the +improper_coeff command before running a simulation. + +
All masses are not set + +
For atom styles that define masses for each atom type, all masses must be set in the data file or by the mass command before running a simulation. They must also be set before using the velocity -command.
-
All mol IDs should be set for fix gcmc group atoms
-
The molecule flag is on, yet not all molecule ids in the fix group +command. + +
All mol IDs should be set for fix gcmc group atoms + +
The molecule flag is on, yet not all molecule ids in the fix group have been set to non-zero positive values by the user. This is an error since all atoms in the fix gcmc group are eligible for deletion, -rotation, and translation and therefore must have valid molecule ids.
-
All pair coeffs are not set
-
All pair coefficients must be set in the data file or by the -pair_coeff command before running a simulation.
-
All read_dump x,y,z fields must be specified for scaled, triclinic coords
-
For triclinic boxes and scaled coordinates you must specify all 3 of +rotation, and translation and therefore must have valid molecule ids. + +
All pair coeffs are not set + +
All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +
All read_dump x,y,z fields must be specified for scaled, triclinic coords + +
For triclinic boxes and scaled coordinates you must specify all 3 of the x,y,z fields, else LAMMPS cannot reconstruct the unscaled -coordinates.
-
All universe/uloop variables must have same # of values
-
Self-explanatory.
-
All variables in next command must be same style
-
Self-explanatory.
-
Angle atom missing in delete_bonds
-
The delete_bonds command cannot find one or more atoms in a particular +coordinates. + +
All universe/uloop variables must have same # of values + +
Self-explanatory. + +
All variables in next command must be same style + +
Self-explanatory. + +
Angle atom missing in delete_bonds + +
The delete_bonds command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid angle.
-
Angle atom missing in set command
-
The set command cannot find one or more atoms in a particular angle on +the atoms are too far apart to make a valid angle. + +
Angle atom missing in set command + +
The set command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid angle.
-
Angle atoms %d %d %d missing on proc %d at step %ld
-
One or more of 3 atoms needed to compute a particular angle are +are too far apart to make a valid angle. + +
Angle atoms %d %d %d missing on proc %d at step %ld + +
One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away.
-
Angle atoms missing on proc %d at step %ld
-
One or more of 3 atoms needed to compute a particular angle are +too far away. + +
Angle atoms missing on proc %d at step %ld + +
One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away.
-
Angle coeff for hybrid has invalid style
-
Angle style hybrid uses another angle style as one of its +too far away. + +
Angle coeff for hybrid has invalid style + +
Angle style hybrid uses another angle style as one of its coefficients. The angle style used in the angle_coeff command or read -from a restart file is not recognized.
-
Angle coeffs are not set
-
No angle coefficients have been assigned in the data file or via the -angle_coeff command.
-
Angle extent > half of periodic box length
-
This error was detected by the neigh_modify check yes setting. It is +from a restart file is not recognized. + +
Angle coeffs are not set + +
No angle coefficients have been assigned in the data file or via the +angle_coeff command. + +
Angle extent > half of periodic box length + +
This error was detected by the neigh_modify check yes setting. It is an error because the angle atoms are so far apart it is ambiguous how -it should be defined.
-
Angle potential must be defined for SHAKE
-
When shaking angles, an angle_style potential must be used.
-
Angle style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Angle style hybrid cannot have none as an argument
-
Self-explanatory.
-
Angle style hybrid cannot use same angle style twice
-
Self-explanatory.
-
Angle table must range from 0 to 180 degrees
-
Self-explanatory.
-
Angle table parameters did not set N
-
List of angle table parameters must include N setting.
-
Angle_coeff command before angle_style is defined
-
Coefficients cannot be set in the data file or via the angle_coeff -command until an angle_style has been assigned.
-
Angle_coeff command before simulation box is defined
-
The angle_coeff command cannot be used before a read_data, -read_restart, or create_box command.
-
Angle_coeff command when no angles allowed
-
The chosen atom style does not allow for angles to be defined.
-
Angle_style command when no angles allowed
-
The chosen atom style does not allow for angles to be defined.
-
Angles assigned incorrectly
-
Angles read in from the data file were not assigned correctly to +it should be defined. + +
Angle potential must be defined for SHAKE + +
When shaking angles, an angle_style potential must be used. + +
Angle style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Angle style hybrid cannot have none as an argument + +
Self-explanatory. + +
Angle style hybrid cannot use same angle style twice + +
Self-explanatory. + +
Angle table must range from 0 to 180 degrees + +
Self-explanatory. + +
Angle table parameters did not set N + +
List of angle table parameters must include N setting. + +
Angle_coeff command before angle_style is defined + +
Coefficients cannot be set in the data file or via the angle_coeff +command until an angle_style has been assigned. + +
Angle_coeff command before simulation box is defined + +
The angle_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
Angle_coeff command when no angles allowed + +
The chosen atom style does not allow for angles to be defined. + +
Angle_style command when no angles allowed + +
The chosen atom style does not allow for angles to be defined. + +
Angles assigned incorrectly + +
Angles read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions.
-
Angles defined but no angle types
-
The data file header lists angles but no angle types.
-
Append boundary must be shrink/minimum
-
The boundary style of the face where atoms are added -must be of type m (shrink/minimum).
-
Arccos of invalid value in variable formula
-
Argument of arccos() must be between -1 and 1.
-
Arcsin of invalid value in variable formula
-
Argument of arcsin() must be between -1 and 1.
-
Assigning body parameters to non-body atom
-
Self-explanatory.
-
Assigning ellipsoid parameters to non-ellipsoid atom
-
Self-explanatory.
-
Assigning line parameters to non-line atom
-
Self-explanatory.
-
Assigning tri parameters to non-tri atom
-
Self-explanatory.
-
Atom ID is negative
-
Self-explanatory.
-
Atom ID is too big
-
The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL +definitions. + +
Angles defined but no angle types + +
The data file header lists angles but no angle types. + +
Append boundary must be shrink/minimum + +
The boundary style of the face where atoms are added +must be of type m (shrink/minimum). + +
Arccos of invalid value in variable formula + +
Argument of arccos() must be between -1 and 1. + +
Arcsin of invalid value in variable formula + +
Argument of arcsin() must be between -1 and 1. + +
Assigning body parameters to non-body atom + +
Self-explanatory. + +
Assigning ellipsoid parameters to non-ellipsoid atom + +
Self-explanatory. + +
Assigning line parameters to non-line atom + +
Self-explanatory. + +
Assigning tri parameters to non-tri atom + +
Self-explanatory. + +
Atom ID is negative + +
Self-explanatory. + +
Atom ID is too big + +
The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL setting in your Makefile. See Section_start 2.2 of the manual for -more details.
-
Atom ID is zero
-
Either all atoms IDs must be zero or none of them.
-
Atom IDs must be consecutive for velocity create loop all
-
Self-explanatory.
-
Atom IDs must be used for molecular systems
-
Atom IDs are used to identify and find partner atoms in bonds.
-
Atom count changed in fix neb
-
This is not allowed in a NEB calculation.
-
Atom count is inconsistent, cannot write data file
-
The sum of atoms across processors does not equal the global number -of atoms. Probably some atoms have been lost.
-
Atom count is inconsistent, cannot write restart file
-
Sum of atoms across processors does not equal initial total count. -This is probably because you have lost some atoms.
-
Atom in too many rigid bodies - boost MAXBODY
-
Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines +more details. + +
Atom ID is zero + +
Either all atoms IDs must be zero or none of them. + +
Atom IDs must be consecutive for velocity create loop all + +
Self-explanatory. + +
Atom IDs must be used for molecular systems + +
Atom IDs are used to identify and find partner atoms in bonds. + +
Atom count changed in fix neb + +
This is not allowed in a NEB calculation. + +
Atom count is inconsistent, cannot write data file + +
The sum of atoms across processors does not equal the global number +of atoms. Probably some atoms have been lost. + +
Atom count is inconsistent, cannot write restart file + +
Sum of atoms across processors does not equal initial total count. +This is probably because you have lost some atoms. + +
Atom in too many rigid bodies - boost MAXBODY + +
Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines the maximum number of rigid bodies a single atom can belong to (i.e. a -multibody joint). The bodies you have defined exceed this limit.
-
Atom sort did not operate correctly
-
This is an internal LAMMPS error. Please report it to the -developers.
-
Atom sorting has bin size = 0.0
-
The neighbor cutoff is being used as the bin size, but it is zero. +multibody joint). The bodies you have defined exceed this limit. + +
Atom sort did not operate correctly + +
This is an internal LAMMPS error. Please report it to the +developers. + +
Atom sorting has bin size = 0.0 + +
The neighbor cutoff is being used as the bin size, but it is zero. Thus you must explicitly list a bin size in the atom_modify sort -command or turn off sorting.
-
Atom style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Atom style hybrid cannot use same atom style twice
-
Self-explanatory.
-
Atom style template molecule must have atom types
-
The defined molecule(s) does not specify atom types.
-
Atom style was redefined after using fix property/atom
-
This is not allowed.
-
Atom vector in equal-style variable formula
-
Atom vectors generate one value per atom which is not allowed -in an equal-style variable.
-
Atom-style variable in equal-style variable formula
-
Atom-style variables generate one value per atom which is not allowed -in an equal-style variable.
-
Atom_modify id command after simulation box is defined
-
The atom_modify id command cannot be used after a read_data, -read_restart, or create_box command.
-
Atom_modify map command after simulation box is defined
-
The atom_modify map command cannot be used after a read_data, -read_restart, or create_box command.
-
Atom_modify sort and first options cannot be used together
-
Self-explanatory.
-
Atom_style command after simulation box is defined
-
The atom_style command cannot be used after a read_data, -read_restart, or create_box command.
-
Atom_style line can only be used in 2d simulations
-
Self-explanatory.
-
Atom_style tri can only be used in 3d simulations
-
Self-explanatory.
-
Atomfile variable could not read values
-
Check the file assigned to the variable.
-
Atomfile variable in equal-style variable formula
-
Self-explanatory.
-
Atomfile-style variable in equal-style variable formula
-
Self-explanatory.
-
Attempt to pop empty stack in fix box/relax
-
Internal LAMMPS error. Please report it to the developers.
-
Attempt to push beyond stack limit in fix box/relax
-
Internal LAMMPS error. Please report it to the developers.
-
Attempting to rescale a 0.0 temperature
-
Cannot rescale a temperature that is already 0.0.
-
Bad FENE bond
-
Two atoms in a FENE bond have become so far apart that the bond cannot -be computed.
-
Bad TIP4P angle type for PPPM/TIP4P
-
Specified angle type is not valid.
-
Bad TIP4P angle type for PPPMDisp/TIP4P
-
Specified angle type is not valid.
-
Bad TIP4P bond type for PPPM/TIP4P
-
Specified bond type is not valid.
-
Bad TIP4P bond type for PPPMDisp/TIP4P
-
Specified bond type is not valid.
-
Bad fix ID in fix append/atoms command
-
The value of the fix_id for keyword spatial must start with the suffix -f_.
-
Bad grid of processors
-
The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on.
-
Bad kspace_modify kmax/ewald parameter
-
Kspace_modify values for the kmax/ewald keyword must be integers > 0
-
Bad kspace_modify slab parameter
-
Kspace_modify value for the slab/volume keyword must be >= 2.0.
-
Bad matrix inversion in mldivide3
-
This error should not occur unless the matrix is badly formed.
-
Bad principal moments
-
Fix rigid did not compute the principal moments of inertia of a rigid -group of atoms correctly.
-
Bad quadratic solve for particle/line collision
-
This is an internal error. It should nornally not occur.
-
Bad quadratic solve for particle/tri collision
-
This is an internal error. It should nornally not occur.
-
Bad real space Coulomb cutoff in fix tune/kspace
-
Fix tune/kspace tried to find the optimal real space Coulomb cutoff using -the Newton-Rhaphson method, but found a non-positive or NaN cutoff
-
Balance command before simulation box is defined
-
The balance command cannot be used before a read_data, read_restart, -or create_box command.
-
Balance produced bad splits
-
This should not occur. It means two or more cutting plane locations +command or turn off sorting. + +
Atom style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Atom style hybrid cannot use same atom style twice + +
Self-explanatory. + +
Atom style template molecule must have atom types + +
The defined molecule(s) does not specify atom types. + +
Atom style was redefined after using fix property/atom + +
This is not allowed. + +
Atom vector in equal-style variable formula + +
Atom vectors generate one value per atom which is not allowed +in an equal-style variable. + +
Atom-style variable in equal-style variable formula + +
Atom-style variables generate one value per atom which is not allowed +in an equal-style variable. + +
Atom_modify id command after simulation box is defined + +
The atom_modify id command cannot be used after a read_data, +read_restart, or create_box command. + +
Atom_modify map command after simulation box is defined + +
The atom_modify map command cannot be used after a read_data, +read_restart, or create_box command. + +
Atom_modify sort and first options cannot be used together + +
Self-explanatory. + +
Atom_style command after simulation box is defined + +
The atom_style command cannot be used after a read_data, +read_restart, or create_box command. + +
Atom_style line can only be used in 2d simulations + +
Self-explanatory. + +
Atom_style tri can only be used in 3d simulations + +
Self-explanatory. + +
Atomfile variable could not read values + +
Check the file assigned to the variable. + +
Atomfile variable in equal-style variable formula + +
Self-explanatory. + +
Atomfile-style variable in equal-style variable formula + +
Self-explanatory. + +
Attempt to pop empty stack in fix box/relax + +
Internal LAMMPS error. Please report it to the developers. + +
Attempt to push beyond stack limit in fix box/relax + +
Internal LAMMPS error. Please report it to the developers. + +
Attempting to rescale a 0.0 temperature + +
Cannot rescale a temperature that is already 0.0. + +
Bad FENE bond + +
Two atoms in a FENE bond have become so far apart that the bond cannot +be computed. + +
Bad TIP4P angle type for PPPM/TIP4P + +
Specified angle type is not valid. + +
Bad TIP4P angle type for PPPMDisp/TIP4P + +
Specified angle type is not valid. + +
Bad TIP4P bond type for PPPM/TIP4P + +
Specified bond type is not valid. + +
Bad TIP4P bond type for PPPMDisp/TIP4P + +
Specified bond type is not valid. + +
Bad fix ID in fix append/atoms command + +
The value of the fix_id for keyword spatial must start with the suffix +f_. + +
Bad grid of processors + +
The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on. + +
Bad kspace_modify kmax/ewald parameter + +
Kspace_modify values for the kmax/ewald keyword must be integers > 0 + +
Bad kspace_modify slab parameter + +
Kspace_modify value for the slab/volume keyword must be >= 2.0. + +
Bad matrix inversion in mldivide3 + +
This error should not occur unless the matrix is badly formed. + +
Bad principal moments + +
Fix rigid did not compute the principal moments of inertia of a rigid +group of atoms correctly. + +
Bad quadratic solve for particle/line collision + +
This is an internal error. It should nornally not occur. + +
Bad quadratic solve for particle/tri collision + +
This is an internal error. It should nornally not occur. + +
Bad real space Coulomb cutoff in fix tune/kspace + +
Fix tune/kspace tried to find the optimal real space Coulomb cutoff using +the Newton-Rhaphson method, but found a non-positive or NaN cutoff + +
Balance command before simulation box is defined + +
The balance command cannot be used before a read_data, read_restart, +or create_box command. + +
Balance produced bad splits + +
This should not occur. It means two or more cutting plane locations are on top of each other or out of order. Report the problem to the -developers.
-
Balance rcb cannot be used with comm_style brick
-
Comm_style tiled must be used instead.
-
Balance shift string is invalid
-
The string can only contain the characters “x”, “y”, or “z”.
-
Bias compute does not calculate a velocity bias
-
The specified compute must compute a bias for temperature.
-
Bias compute does not calculate temperature
-
The specified compute must compute temperature.
-
Bias compute group does not match compute group
-
The specified compute must operate on the same group as the parent -compute.
-
Big particle in fix srd cannot be point particle
-
Big particles must be extended spheriods or ellipsoids.
-
Bigint setting in lmptype.h is invalid
-
Size of bigint is less than size of tagint.
-
Bigint setting in lmptype.h is not compatible
-
Format of bigint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h
-
Bitmapped lookup tables require int/float be same size
-
Cannot use pair tables on this machine, because of word sizes. Use -the pair_modify command with table 0 instead.
-
Bitmapped table in file does not match requested table
-
Setting for bitmapped table in pair_coeff command must match table -in file exactly.
-
Bitmapped table is incorrect length in table file
-
Number of table entries is not a correct power of 2.
-
Bond and angle potentials must be defined for TIP4P
-
Cannot use TIP4P pair potential unless bond and angle potentials -are defined.
-
Bond atom missing in box size check
-
The 2nd atoms needed to compute a particular bond is missing on this +developers. + +
Balance rcb cannot be used with comm_style brick + +
Comm_style tiled must be used instead. + +
Balance shift string is invalid + +
The string can only contain the characters "x", "y", or "z". + +
Bias compute does not calculate a velocity bias + +
The specified compute must compute a bias for temperature. + +
Bias compute does not calculate temperature + +
The specified compute must compute temperature. + +
Bias compute group does not match compute group + +
The specified compute must operate on the same group as the parent +compute. + +
Big particle in fix srd cannot be point particle + +
Big particles must be extended spheriods or ellipsoids. + +
Bigint setting in lmptype.h is invalid + +
Size of bigint is less than size of tagint. + +
Bigint setting in lmptype.h is not compatible + +
Format of bigint stored in restart file is not consistent with LAMMPS +version you are running. See the settings in src/lmptype.h + +
Bitmapped lookup tables require int/float be same size + +
Cannot use pair tables on this machine, because of word sizes. Use +the pair_modify command with table 0 instead. + +
Bitmapped table in file does not match requested table + +
Setting for bitmapped table in pair_coeff command must match table +in file exactly. + +
Bitmapped table is incorrect length in table file + +
Number of table entries is not a correct power of 2. + +
Bond and angle potentials must be defined for TIP4P + +
Cannot use TIP4P pair potential unless bond and angle potentials +are defined. + +
Bond atom missing in box size check + +
The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
-
Bond atom missing in delete_bonds
-
The delete_bonds command cannot find one or more atoms in a particular +short or the bond has blown apart and an atom is too far away. + +
Bond atom missing in delete_bonds + +
The delete_bonds command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid bond.
-
Bond atom missing in image check
-
The 2nd atom in a particular bond is missing on this processor. +the atoms are too far apart to make a valid bond. + +
Bond atom missing in image check + +
The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away.
-
Bond atom missing in set command
-
The set command cannot find one or more atoms in a particular bond on +bond has blown apart and an atom is too far away. + +
Bond atom missing in set command + +
The set command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid bond.
-
Bond atoms %d %d missing on proc %d at step %ld
-
The 2nd atom needed to compute a particular bond is missing on this +are too far apart to make a valid bond. + +
Bond atoms %d %d missing on proc %d at step %ld + +
The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
-
Bond atoms missing on proc %d at step %ld
-
The 2nd atom needed to compute a particular bond is missing on this +short or the bond has blown apart and an atom is too far away. + +
Bond atoms missing on proc %d at step %ld + +
The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
-
Bond coeff for hybrid has invalid style
-
Bond style hybrid uses another bond style as one of its coefficients. +short or the bond has blown apart and an atom is too far away. + +
Bond coeff for hybrid has invalid style + +
Bond style hybrid uses another bond style as one of its coefficients. The bond style used in the bond_coeff command or read from a restart -file is not recognized.
-
Bond coeffs are not set
-
No bond coefficients have been assigned in the data file or via the -bond_coeff command.
-
Bond extent > half of periodic box length
-
This error was detected by the neigh_modify check yes setting. It is +file is not recognized. + +
Bond coeffs are not set + +
No bond coefficients have been assigned in the data file or via the +bond_coeff command. + +
Bond extent > half of periodic box length + +
This error was detected by the neigh_modify check yes setting. It is an error because the bond atoms are so far apart it is ambiguous how -it should be defined.
-
Bond potential must be defined for SHAKE
-
Cannot use fix shake unless bond potential is defined.
-
Bond style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Bond style hybrid cannot have none as an argument
-
Self-explanatory.
-
Bond style hybrid cannot use same bond style twice
-
Self-explanatory.
-
Bond style quartic cannot be used with 3,4-body interactions
-
No angle, dihedral, or improper styles can be defined when using -bond style quartic.
-
Bond style quartic cannot be used with atom style template
-
This bond style can change the bond topology which is not -allowed with this atom style.
-
Bond style quartic requires special_bonds = 1,1,1
-
This is a restriction of the current bond quartic implementation.
-
Bond table parameters did not set N
-
List of bond table parameters must include N setting.
-
Bond table values are not increasing
-
The values in the tabulated file must be monotonically increasing.
-
BondAngle coeff for hybrid angle has invalid format
-
No “ba” field should appear in data file entry.
-
BondBond coeff for hybrid angle has invalid format
-
No “bb” field should appear in data file entry.
-
Bond_coeff command before bond_style is defined
-
Coefficients cannot be set in the data file or via the bond_coeff -command until an bond_style has been assigned.
-
Bond_coeff command before simulation box is defined
-
The bond_coeff command cannot be used before a read_data, -read_restart, or create_box command.
-
Bond_coeff command when no bonds allowed
-
The chosen atom style does not allow for bonds to be defined.
-
Bond_style command when no bonds allowed
-
The chosen atom style does not allow for bonds to be defined.
-
Bonds assigned incorrectly
-
Bonds read in from the data file were not assigned correctly to atoms. -This means there is something invalid about the topology definitions.
-
Bonds defined but no bond types
-
The data file header lists bonds but no bond types.
-
Both restart files must use % or neither
-
Self-explanatory.
-
Both restart files must use MPI-IO or neither
-
Self-explanatory.
-
Both sides of boundary must be periodic
-
Cannot specify a boundary as periodic only on the lo or hi side. Must -be periodic on both sides.
-
Boundary command after simulation box is defined
-
The boundary command cannot be used after a read_data, read_restart, -or create_box command.
-
Box bounds are invalid
-
The box boundaries specified in the read_data file are invalid. The -lo value must be less than the hi value for all 3 dimensions.
-
Box command after simulation box is defined
-
The box command cannot be used after a read_data, read_restart, or -create_box command.
-
CPU neighbor lists must be used for ellipsoid/sphere mix.
-
When using Gay-Berne or RE-squared pair styles with both ellipsoidal and -spherical particles, the neighbor list must be built on the CPU
-
Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box
-
Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details.
-
Can not specify Pxy/Pxz/Pyz in fix nvt/npt/nph with non-triclinic box
-
Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details.
-
Can only use -plog with multiple partitions
-
Self-explanatory. See doc page discussion of command-line switches.
-
Can only use -pscreen with multiple partitions
-
Self-explanatory. See doc page discussion of command-line switches.
-
Can only use NEB with 1-processor replicas
-
This is current restriction for NEB as implemented in LAMMPS.
-
Can only use TAD with 1-processor replicas for NEB
-
This is current restriction for NEB as implemented in LAMMPS.
-
Cannot (yet) do analytic differentiation with pppm/gpu
-
This is a current restriction of this command.
-
Cannot (yet) use ‘electron’ units with dipoles
-
This feature is not yet supported.
-
Cannot (yet) use Ewald with triclinic box and slab correction
-
This feature is not yet supported.
-
Cannot (yet) use K-space slab correction with compute group/group for triclinic systems
-
This option is not yet supported.
-
Cannot (yet) use MSM with 2d simulation
-
This feature is not yet supported.
-
Cannot (yet) use PPPM with triclinic box and TIP4P
-
This feature is not yet supported.
-
Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
-
This feature is not yet supported.
-
Cannot (yet) use PPPM with triclinic box and slab correction
-
This feature is not yet supported.
-
Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy
-
This feature is not yet supported.
-
Cannot (yet) use kspace_modify diff ad with compute group/group
-
This option is not yet supported.
-
Cannot (yet) use kspace_style pppm/stagger with triclinic systems
-
This feature is not yet supported.
-
Cannot (yet) use molecular templates with Kokkos
-
Self-explanatory.
-
Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)
-
Single precision cannot be used with MSM.
-
Cannot add atoms to fix move variable
-
Atoms can not be added afterwards to this fix option.
-
Cannot append atoms to a triclinic box
-
The simulation box must be defined with edges alligned with the -Cartesian axes.
-
Cannot balance in z dimension for 2d simulation
-
Self-explanatory.
-
Cannot change box ortho/triclinic with certain fixes defined
-
This is because those fixes store the shape of the box. You need to +it should be defined. + +
Bond potential must be defined for SHAKE + +
Cannot use fix shake unless bond potential is defined. + +
Bond style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Bond style hybrid cannot have none as an argument + +
Self-explanatory. + +
Bond style hybrid cannot use same bond style twice + +
Self-explanatory. + +
Bond style quartic cannot be used with 3,4-body interactions + +
No angle, dihedral, or improper styles can be defined when using +bond style quartic. + +
Bond style quartic cannot be used with atom style template + +
This bond style can change the bond topology which is not +allowed with this atom style. + +
Bond style quartic requires special_bonds = 1,1,1 + +
This is a restriction of the current bond quartic implementation. + +
Bond table parameters did not set N + +
List of bond table parameters must include N setting. + +
Bond table values are not increasing + +
The values in the tabulated file must be monotonically increasing. + +
BondAngle coeff for hybrid angle has invalid format + +
No "ba" field should appear in data file entry. + +
BondBond coeff for hybrid angle has invalid format + +
No "bb" field should appear in data file entry. + +
Bond_coeff command before bond_style is defined + +
Coefficients cannot be set in the data file or via the bond_coeff +command until an bond_style has been assigned. + +
Bond_coeff command before simulation box is defined + +
The bond_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
Bond_coeff command when no bonds allowed + +
The chosen atom style does not allow for bonds to be defined. + +
Bond_style command when no bonds allowed + +
The chosen atom style does not allow for bonds to be defined. + +
Bonds assigned incorrectly + +
Bonds read in from the data file were not assigned correctly to atoms. +This means there is something invalid about the topology definitions. + +
Bonds defined but no bond types + +
The data file header lists bonds but no bond types. + +
Both restart files must use % or neither + +
Self-explanatory. + +
Both restart files must use MPI-IO or neither + +
Self-explanatory. + +
Both sides of boundary must be periodic + +
Cannot specify a boundary as periodic only on the lo or hi side. Must +be periodic on both sides. + +
Boundary command after simulation box is defined + +
The boundary command cannot be used after a read_data, read_restart, +or create_box command. + +
Box bounds are invalid + +
The box boundaries specified in the read_data file are invalid. The +lo value must be less than the hi value for all 3 dimensions. + +
Box command after simulation box is defined + +
The box command cannot be used after a read_data, read_restart, or +create_box command. + +
CPU neighbor lists must be used for ellipsoid/sphere mix. + +
When using Gay-Berne or RE-squared pair styles with both ellipsoidal and +spherical particles, the neighbor list must be built on the CPU + +
Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box + +
Only triclinic boxes can be used with off-diagonal pressure components. +See the region prism command for details. + +
Can not specify Pxy/Pxz/Pyz in fix nvt/npt/nph with non-triclinic box + +
Only triclinic boxes can be used with off-diagonal pressure components. +See the region prism command for details. + +
Can only use -plog with multiple partitions + +
Self-explanatory. See doc page discussion of command-line switches. + +
Can only use -pscreen with multiple partitions + +
Self-explanatory. See doc page discussion of command-line switches. + +
Can only use NEB with 1-processor replicas + +
This is current restriction for NEB as implemented in LAMMPS. + +
Can only use TAD with 1-processor replicas for NEB + +
This is current restriction for NEB as implemented in LAMMPS. + +
Cannot (yet) do analytic differentiation with pppm/gpu + +
This is a current restriction of this command. + +
Cannot (yet) use 'electron' units with dipoles + +
This feature is not yet supported. + +
Cannot (yet) use Ewald with triclinic box and slab correction + +
This feature is not yet supported. + +
Cannot (yet) use K-space slab correction with compute group/group for triclinic systems + +
This option is not yet supported. + +
Cannot (yet) use MSM with 2d simulation + +
This feature is not yet supported. + +
Cannot (yet) use PPPM with triclinic box and TIP4P + +
This feature is not yet supported. + +
Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad + +
This feature is not yet supported. + +
Cannot (yet) use PPPM with triclinic box and slab correction + +
This feature is not yet supported. + +
Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy + +
This feature is not yet supported. + +
Cannot (yet) use kspace_modify diff ad with compute group/group + +
This option is not yet supported. + +
Cannot (yet) use kspace_style pppm/stagger with triclinic systems + +
This feature is not yet supported. + +
Cannot (yet) use molecular templates with Kokkos + +
Self-explanatory. + +
Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile) + +
Single precision cannot be used with MSM. + +
Cannot add atoms to fix move variable + +
Atoms can not be added afterwards to this fix option. + +
Cannot append atoms to a triclinic box + +
The simulation box must be defined with edges alligned with the +Cartesian axes. + +
Cannot balance in z dimension for 2d simulation + +
Self-explanatory. + +
Cannot change box ortho/triclinic with certain fixes defined + +
This is because those fixes store the shape of the box. You need to use unfix to discard the fix, change the box, then redefine a new -fix.
-
Cannot change box ortho/triclinic with dumps defined
-
This is because some dumps store the shape of the box. You need to +fix. + +
Cannot change box ortho/triclinic with dumps defined + +
This is because some dumps store the shape of the box. You need to use undump to discard the dump, change the box, then redefine a new -dump.
-
Cannot change box tilt factors for orthogonal box
-
Cannot use tilt factors unless the simulation box is non-orthogonal.
-
Cannot change box to orthogonal when tilt is non-zero
-
Self-explanatory.
-
Cannot change box z boundary to nonperiodic for a 2d simulation
-
Self-explanatory.
-
Cannot change dump_modify every for dump dcd
-
The frequency of writing dump dcd snapshots cannot be changed.
-
Cannot change dump_modify every for dump xtc
-
The frequency of writing dump xtc snapshots cannot be changed.
-
Cannot change timestep once fix srd is setup
-
This is because various SRD properties depend on the timestep -size.
-
Cannot change timestep with fix pour
-
This is because fix pour pre-computes the time delay for particles to -fall out of the insertion volume due to gravity.
-
Cannot change to comm_style brick from tiled layout
-
Self-explanatory.
-
Cannot change_box after reading restart file with per-atom info
-
This is because the restart file info cannot be migrated with the +dump. + +
Cannot change box tilt factors for orthogonal box + +
Cannot use tilt factors unless the simulation box is non-orthogonal. + +
Cannot change box to orthogonal when tilt is non-zero + +
Self-explanatory. + +
Cannot change box z boundary to nonperiodic for a 2d simulation + +
Self-explanatory. + +
Cannot change dump_modify every for dump dcd + +
The frequency of writing dump dcd snapshots cannot be changed. + +
Cannot change dump_modify every for dump xtc + +
The frequency of writing dump xtc snapshots cannot be changed. + +
Cannot change timestep once fix srd is setup + +
This is because various SRD properties depend on the timestep +size. + +
Cannot change timestep with fix pour + +
This is because fix pour pre-computes the time delay for particles to +fall out of the insertion volume due to gravity. + +
Cannot change to comm_style brick from tiled layout + +
Self-explanatory. + +
Cannot change_box after reading restart file with per-atom info + +
This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms.
-
Cannot change_box in xz or yz for 2d simulation
-
Self-explanatory.
-
Cannot change_box in z dimension for 2d simulation
-
Self-explanatory.
-
Cannot clear group all
-
This operation is not allowed.
-
Cannot close restart file - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot compute initial g_ewald_disp
-
LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 +will assign the restart file info to actual atoms. + +
Cannot change_box in xz or yz for 2d simulation + +
Self-explanatory. + +
Cannot change_box in z dimension for 2d simulation + +
Self-explanatory. + +
Cannot clear group all + +
This operation is not allowed. + +
Cannot close restart file - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot compute initial g_ewald_disp + +
LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 factor that partitions the computation between real space and k-space -for Disptersion interactions.
-
Cannot create an atom map unless atoms have IDs
-
The simulation requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs.
-
Cannot create atoms with undefined lattice
-
Must use the lattice command before using the create_atoms -command.
-
Cannot create/grow a vector/array of pointers for %s
-
LAMMPS code is making an illegal call to the templated memory -allocaters, to create a vector or array of pointers.
-
Cannot create_atoms after reading restart file with per-atom info
-
The per-atom info was stored to be used when by a fix that you may +for Disptersion interactions. + +
Cannot create an atom map unless atoms have IDs + +
The simulation requires a mapping from global atom IDs to local atoms, +but the atoms that have been defined have no IDs. + +
Cannot create atoms with undefined lattice + +
Must use the lattice command before using the create_atoms +command. + +
Cannot create/grow a vector/array of pointers for %s + +
LAMMPS code is making an illegal call to the templated memory +allocaters, to create a vector or array of pointers. + +
Cannot create_atoms after reading restart file with per-atom info + +
The per-atom info was stored to be used when by a fix that you may re-define. If you add atoms before re-defining the fix, then there -will not be a correct amount of per-atom info.
-
Cannot create_box after simulation box is defined
-
A simulation box can only be defined once.
-
Cannot currently use pair reax with pair hybrid
-
This is not yet supported.
-
Cannot currently use pppm/gpu with fix balance.
-
Self-explanatory.
-
Cannot delete group all
-
Self-explanatory.
-
Cannot delete group currently used by a compute
-
Self-explanatory.
-
Cannot delete group currently used by a dump
-
Self-explanatory.
-
Cannot delete group currently used by a fix
-
Self-explanatory.
-
Cannot delete group currently used by atom_modify first
-
Self-explanatory.
-
Cannot delete_atoms bond yes for non-molecular systems
-
Self-explanatory.
-
Cannot delete_atoms mol yes for non-molecular systems
-
Self-explanatory.
-
Cannot displace_atoms after reading restart file with per-atom info
-
This is because the restart file info cannot be migrated with the +will not be a correct amount of per-atom info. + +
Cannot create_box after simulation box is defined + +
A simulation box can only be defined once. + +
Cannot currently use pair reax with pair hybrid + +
This is not yet supported. + +
Cannot currently use pppm/gpu with fix balance. + +
Self-explanatory. + +
Cannot delete group all + +
Self-explanatory. + +
Cannot delete group currently used by a compute + +
Self-explanatory. + +
Cannot delete group currently used by a dump + +
Self-explanatory. + +
Cannot delete group currently used by a fix + +
Self-explanatory. + +
Cannot delete group currently used by atom_modify first + +
Self-explanatory. + +
Cannot delete_atoms bond yes for non-molecular systems + +
Self-explanatory. + +
Cannot delete_atoms mol yes for non-molecular systems + +
Self-explanatory. + +
Cannot displace_atoms after reading restart file with per-atom info + +
This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms.
-
Cannot do GCMC on atoms in atom_modify first group
-
This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command.
-
Cannot do atom/swap on atoms in atom_modify first group
-
This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command.
-
Cannot dump sort on atom IDs with no atom IDs defined
-
Self-explanatory.
-
Cannot dump sort when multiple dump files are written
-
In this mode, each processor dumps its atoms to a file, so -no sorting is allowed.
-
Cannot embed Python when also extending Python with LAMMPS
-
When running LAMMPS via Python through the LAMMPS library interface -you cannot also user the input script python command.
-
Cannot evaporate atoms in atom_modify first group
-
This is a restriction due to the way atoms are organized in -a list to enable the atom_modify first command.
-
Cannot find create_bonds group ID
-
Self-explanatory.
-
Cannot find delete_bonds group ID
-
Group ID used in the delete_bonds command does not exist.
-
Cannot find specified group ID for core particles
-
Self-explanatory.
-
Cannot find specified group ID for shell particles
-
Self-explanatory.
-
Cannot have both pair_modify shift and tail set to yes
-
These 2 options are contradictory.
-
Cannot intersect groups using a dynamic group
-
This operation is not allowed.
-
Cannot mix molecular and molecule template atom styles
-
Self-explanatory.
-
Cannot open -reorder file
-
Self-explanatory.
-
Cannot open ADP potential file %s
-
The specified ADP potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open AIREBO potential file %s
-
The specified AIREBO potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open BOP potential file %s
-
The specified BOP potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open COMB potential file %s
-
The specified COMB potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open COMB3 lib.comb3 file
-
The COMB3 library file cannot be opened. Check that the path and name -are correct.
-
Cannot open COMB3 potential file %s
-
The specified COMB3 potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open EAM potential file %s
-
The specified EAM potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open EIM potential file %s
-
The specified EIM potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open LCBOP potential file %s
-
The specified LCBOP potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open MEAM potential file %s
-
The specified MEAM potential file cannot be opened. Check that the -path and name are correct.
-
Cannot open SNAP coefficient file %s
-
The specified SNAP coefficient file cannot be opened. Check that the -path and name are correct.
-
Cannot open SNAP parameter file %s
-
The specified SNAP parameter file cannot be opened. Check that the -path and name are correct.
-
Cannot open Stillinger-Weber potential file %s
-
The specified SW potential file cannot be opened. Check that the path -and name are correct.
-
Cannot open Tersoff potential file %s
-
The specified potential file cannot be opened. Check that the path -and name are correct.
-
Cannot open balance output file
-
Self-explanatory.
-
Cannot open coul/streitz potential file %s
-
The specified coul/streitz potential file cannot be opened. Check -that the path and name are correct.
-
Cannot open custom file
-
Self-explanatory.
-
Cannot open data file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open dir to search for restart file
-
Using a “*” in the name of the restart file will open the current -directory to search for matching file names.
-
Cannot open dump file
-
The output file for the dump command cannot be opened. Check that the -path and name are correct.
-
Cannot open dump file %s
-
The output file for the dump command cannot be opened. Check that the -path and name are correct.
-
Cannot open file %s
-
The specified file cannot be opened. Check that the path and name are +will assign the restart file info to actual atoms. + +
Cannot do GCMC on atoms in atom_modify first group + +
This is a restriction due to the way atoms are organized in a list to +enable the atom_modify first command. + +
Cannot do atom/swap on atoms in atom_modify first group + +
This is a restriction due to the way atoms are organized in a list to +enable the atom_modify first command. + +
Cannot dump sort on atom IDs with no atom IDs defined + +
Self-explanatory. + +
Cannot dump sort when multiple dump files are written + +
In this mode, each processor dumps its atoms to a file, so +no sorting is allowed. + +
Cannot embed Python when also extending Python with LAMMPS + +
When running LAMMPS via Python through the LAMMPS library interface +you cannot also user the input script python command. + +
Cannot evaporate atoms in atom_modify first group + +
This is a restriction due to the way atoms are organized in +a list to enable the atom_modify first command. + +
Cannot find create_bonds group ID + +
Self-explanatory. + +
Cannot find delete_bonds group ID + +
Group ID used in the delete_bonds command does not exist. + +
Cannot find specified group ID for core particles + +
Self-explanatory. + +
Cannot find specified group ID for shell particles + +
Self-explanatory. + +
Cannot have both pair_modify shift and tail set to yes + +
These 2 options are contradictory. + +
Cannot intersect groups using a dynamic group + +
This operation is not allowed. + +
Cannot mix molecular and molecule template atom styles + +
Self-explanatory. + +
Cannot open -reorder file + +
Self-explanatory. + +
Cannot open ADP potential file %s + +
The specified ADP potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open AIREBO potential file %s + +
The specified AIREBO potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open BOP potential file %s + +
The specified BOP potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open COMB potential file %s + +
The specified COMB potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open COMB3 lib.comb3 file + +
The COMB3 library file cannot be opened. Check that the path and name +are correct. + +
Cannot open COMB3 potential file %s + +
The specified COMB3 potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open EAM potential file %s + +
The specified EAM potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open EIM potential file %s + +
The specified EIM potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open LCBOP potential file %s + +
The specified LCBOP potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open MEAM potential file %s + +
The specified MEAM potential file cannot be opened. Check that the +path and name are correct. + +
Cannot open SNAP coefficient file %s + +
The specified SNAP coefficient file cannot be opened. Check that the +path and name are correct. + +
Cannot open SNAP parameter file %s + +
The specified SNAP parameter file cannot be opened. Check that the +path and name are correct. + +
Cannot open Stillinger-Weber potential file %s + +
The specified SW potential file cannot be opened. Check that the path +and name are correct. + +
Cannot open Tersoff potential file %s + +
The specified potential file cannot be opened. Check that the path +and name are correct. + +
Cannot open balance output file + +
Self-explanatory. + +
Cannot open coul/streitz potential file %s + +
The specified coul/streitz potential file cannot be opened. Check +that the path and name are correct. + +
Cannot open custom file + +
Self-explanatory. + +
Cannot open data file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open dir to search for restart file + +
Using a "*" in the name of the restart file will open the current +directory to search for matching file names. + +
Cannot open dump file + +
The output file for the dump command cannot be opened. Check that the +path and name are correct. + +
Cannot open dump file %s + +
The output file for the dump command cannot be opened. Check that the +path and name are correct. + +
Cannot open file %s + +
The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip -executable can be found and run.
-
Cannot open file variable file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix ave/chunk file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix ave/correlate file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix ave/histo file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix ave/spatial file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix ave/time file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix balance output file
-
Self-explanatory.
-
Cannot open fix poems file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix print file %s
-
The output file generated by the fix print command cannot be opened
-
Cannot open fix qeq parameter file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix qeq/comb file %s
-
The output file for the fix qeq/combs command cannot be opened. -Check that the path and name are correct.
-
Cannot open fix reax/bonds file %s
-
The output file for the fix reax/bonds command cannot be opened. -Check that the path and name are correct.
-
Cannot open fix rigid infile %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix rigid restart file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix rigid/small infile %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open fix tmd file %s
-
The output file for the fix tmd command cannot be opened. Check that -the path and name are correct.
-
Cannot open fix ttm file %s
-
The output file for the fix ttm command cannot be opened. Check that -the path and name are correct.
-
Cannot open gzipped file
-
LAMMPS was compiled without support for reading and writing gzipped -files through a pipeline to the gzip program with -DLAMMPS_GZIP.
-
Cannot open input script %s
-
Self-explanatory.
-
Cannot open log.cite file
-
This file is created when you use some LAMMPS features, to indicate +executable can be found and run. + +
Cannot open file variable file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix ave/chunk file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix ave/correlate file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix ave/histo file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix ave/spatial file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix ave/time file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix balance output file + +
Self-explanatory. + +
Cannot open fix poems file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix print file %s + +
The output file generated by the fix print command cannot be opened + +
Cannot open fix qeq parameter file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix qeq/comb file %s + +
The output file for the fix qeq/combs command cannot be opened. +Check that the path and name are correct. + +
Cannot open fix reax/bonds file %s + +
The output file for the fix reax/bonds command cannot be opened. +Check that the path and name are correct. + +
Cannot open fix rigid infile %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix rigid restart file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix rigid/small infile %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open fix tmd file %s + +
The output file for the fix tmd command cannot be opened. Check that +the path and name are correct. + +
Cannot open fix ttm file %s + +
The output file for the fix ttm command cannot be opened. Check that +the path and name are correct. + +
Cannot open gzipped file + +
LAMMPS was compiled without support for reading and writing gzipped +files through a pipeline to the gzip program with -DLAMMPS_GZIP. + +
Cannot open input script %s + +
Self-explanatory. + +
Cannot open log.cite file + +
This file is created when you use some LAMMPS features, to indicate what paper you should cite on behalf of those who implemented the feature. Check that you have write priveleges into the directory -you are running in.
-
Cannot open log.lammps for writing
-
The default LAMMPS log file cannot be opened. Check that the -directory you are running in allows for files to be created.
-
Cannot open logfile
-
The LAMMPS log file named in a command-line argument cannot be opened. -Check that the path and name are correct.
-
Cannot open logfile %s
-
The LAMMPS log file specified in the input script cannot be opened. -Check that the path and name are correct.
-
Cannot open molecule file %s
-
The specified file cannot be opened. Check that the path and name are -correct.
-
Cannot open nb3b/harmonic potential file %s
-
The specified potential file cannot be opened. Check that the path -and name are correct.
-
Cannot open pair_write file
-
The specified output file for pair energies and forces cannot be -opened. Check that the path and name are correct.
-
Cannot open print file %s
-
Self-explanatory.
-
Cannot open processors output file
-
Self-explanatory.
-
Cannot open restart file %s
-
Self-explanatory.
-
Cannot open restart file for reading - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot open restart file for writing - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot open screen file
-
The screen file specified as a command-line argument cannot be +you are running in. + +
Cannot open log.lammps for writing + +
The default LAMMPS log file cannot be opened. Check that the +directory you are running in allows for files to be created. + +
Cannot open logfile + +
The LAMMPS log file named in a command-line argument cannot be opened. +Check that the path and name are correct. + +
Cannot open logfile %s + +
The LAMMPS log file specified in the input script cannot be opened. +Check that the path and name are correct. + +
Cannot open molecule file %s + +
The specified file cannot be opened. Check that the path and name are +correct. + +
Cannot open nb3b/harmonic potential file %s + +
The specified potential file cannot be opened. Check that the path +and name are correct. + +
Cannot open pair_write file + +
The specified output file for pair energies and forces cannot be +opened. Check that the path and name are correct. + +
Cannot open print file %s + +
Self-explanatory. + +
Cannot open processors output file + +
Self-explanatory. + +
Cannot open restart file %s + +
Self-explanatory. + +
Cannot open restart file for reading - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot open restart file for writing - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot open screen file + +
The screen file specified as a command-line argument cannot be opened. Check that the directory you are running in allows for files -to be created.
-
Cannot open universe log file
-
For a multi-partition run, the master log file cannot be opened. +to be created. + +
Cannot open universe log file + +
For a multi-partition run, the master log file cannot be opened. Check that the directory you are running in allows for files to be -created.
-
Cannot open universe screen file
-
For a multi-partition run, the master screen file cannot be opened. +created. + +
Cannot open universe screen file + +
For a multi-partition run, the master screen file cannot be opened. Check that the directory you are running in allows for files to be -created.
-
Cannot read from restart file - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot read_data add and merge
-
These options are not yet supported.
-
Cannot read_data after simulation box is defined
-
The read_data command cannot be used after a read_data, -read_restart, or create_box command.
-
Cannot read_restart after simulation box is defined
-
The read_restart command cannot be used after a read_data, -read_restart, or create_box command.
-
Cannot redefine variable as a different style
-
An equal-style variable can be re-defined but only if it was -originally an equal-style variable.
-
Cannot replicate 2d simulation in z dimension
-
The replicate command cannot replicate a 2d simulation in the z -dimension.
-
Cannot replicate with fixes that store atom quantities
-
Either fixes are defined that create and store atom-based vectors or a +created. + +
Cannot read from restart file - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot read_data add and merge + +
These options are not yet supported. + +
Cannot read_data after simulation box is defined + +
The read_data command cannot be used after a read_data, +read_restart, or create_box command. + +
Cannot read_restart after simulation box is defined + +
The read_restart command cannot be used after a read_data, +read_restart, or create_box command. + +
Cannot redefine variable as a different style + +
An equal-style variable can be re-defined but only if it was +originally an equal-style variable. + +
Cannot replicate 2d simulation in z dimension + +
The replicate command cannot replicate a 2d simulation in the z +dimension. + +
Cannot replicate with fixes that store atom quantities + +
Either fixes are defined that create and store atom-based vectors or a restart file was read which included atom-based vectors for fixes. The replicate command cannot duplicate that information for new atoms. You should use the replicate command before fixes are applied to the -system.
-
Cannot reset timestep with a dynamic region defined
-
Dynamic regions (see the region command) have a time dependence. +system. + +
Cannot reset timestep with a dynamic region defined + +
Dynamic regions (see the region command) have a time dependence. Thus you cannot change the timestep when one or more of these -are defined.
-
Cannot reset timestep with a time-dependent fix defined
-
You cannot reset the timestep when a fix that keeps track of elapsed -time is in place.
-
Cannot run 2d simulation with nonperiodic Z dimension
-
Use the boundary command to make the z dimension periodic in order to -run a 2d simulation.
-
Cannot set bond topology types for atom style template
-
The bond, angle, etc types cannot be changed for this atom style since -they are static settings in the molecule template files.
-
Cannot set both respa pair and inner/middle/outer
-
In the rRESPA integrator, you must compute pairwise potentials either -all together (pair), or in pieces (inner/middle/outer). You can’t do -both.
-
Cannot set dump_modify flush for dump xtc
-
Self-explanatory.
-
Cannot set mass for this atom style
-
This atom style does not support mass settings for each atom type. -Instead they are defined on a per-atom basis in the data file.
-
Cannot set meso_rho for this atom style
-
Self-explanatory.
-
Cannot set non-zero image flag for non-periodic dimension
-
Self-explanatory.
-
Cannot set non-zero z velocity for 2d simulation
-
Self-explanatory.
-
Cannot set quaternion for atom that has none
-
Self-explanatory.
-
Cannot set respa middle without inner/outer
-
In the rRESPA integrator, you must define both a inner and outer -setting in order to use a middle setting.
-
Cannot set restart file size - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot set temperature for fix rigid/nph
-
The temp keyword cannot be specified.
-
Cannot set theta for atom that is not a line
-
Self-explanatory.
-
Cannot set this attribute for this atom style
-
The attribute being set does not exist for the defined atom style.
-
Cannot set variable z velocity for 2d simulation
-
Self-explanatory.
-
Cannot skew triclinic box in z for 2d simulation
-
Self-explanatory.
-
Cannot subtract groups using a dynamic group
-
This operation is not allowed.
-
Cannot union groups using a dynamic group
-
This operation is not allowed.
-
Cannot use -cuda on and -kokkos on together
-
This is not allowed since both packages can use GPUs.
-
Cannot use -cuda on without USER-CUDA installed
-
The USER-CUDA package must be installed via “make yes-user-cuda” -before LAMMPS is built.
-
Cannot use -kokkos on without KOKKOS installed
-
Self-explanatory.
-
Cannot use -reorder after -partition
-
Self-explanatory. See doc page discussion of command-line switches.
-
Cannot use Ewald with 2d simulation
-
The kspace style ewald cannot be used in 2d simulations. You can use -2d Ewald in a 3d simulation; see the kspace_modify command.
-
Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles
-
No atoms in system have a non-zero charge or dipole, or are LJ +are defined. + +
Cannot reset timestep with a time-dependent fix defined + +
You cannot reset the timestep when a fix that keeps track of elapsed +time is in place. + +
Cannot run 2d simulation with nonperiodic Z dimension + +
Use the boundary command to make the z dimension periodic in order to +run a 2d simulation. + +
Cannot set bond topology types for atom style template + +
The bond, angle, etc types cannot be changed for this atom style since +they are static settings in the molecule template files. + +
Cannot set both respa pair and inner/middle/outer + +
In the rRESPA integrator, you must compute pairwise potentials either +all together (pair), or in pieces (inner/middle/outer). You can't do +both. + +
Cannot set dump_modify flush for dump xtc + +
Self-explanatory. + +
Cannot set mass for this atom style + +
This atom style does not support mass settings for each atom type. +Instead they are defined on a per-atom basis in the data file. + +
Cannot set meso_rho for this atom style + +
Self-explanatory. + +
Cannot set non-zero image flag for non-periodic dimension + +
Self-explanatory. + +
Cannot set non-zero z velocity for 2d simulation + +
Self-explanatory. + +
Cannot set quaternion for atom that has none + +
Self-explanatory. + +
Cannot set respa middle without inner/outer + +
In the rRESPA integrator, you must define both a inner and outer +setting in order to use a middle setting. + +
Cannot set restart file size - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot set temperature for fix rigid/nph + +
The temp keyword cannot be specified. + +
Cannot set theta for atom that is not a line + +
Self-explanatory. + +
Cannot set this attribute for this atom style + +
The attribute being set does not exist for the defined atom style. + +
Cannot set variable z velocity for 2d simulation + +
Self-explanatory. + +
Cannot skew triclinic box in z for 2d simulation + +
Self-explanatory. + +
Cannot subtract groups using a dynamic group + +
This operation is not allowed. + +
Cannot union groups using a dynamic group + +
This operation is not allowed. + +
Cannot use -cuda on and -kokkos on together + +
This is not allowed since both packages can use GPUs. + +
Cannot use -cuda on without USER-CUDA installed + +
The USER-CUDA package must be installed via "make yes-user-cuda" +before LAMMPS is built. + +
Cannot use -kokkos on without KOKKOS installed + +
Self-explanatory. + +
Cannot use -reorder after -partition + +
Self-explanatory. See doc page discussion of command-line switches. + +
Cannot use Ewald with 2d simulation + +
The kspace style ewald cannot be used in 2d simulations. You can use +2d Ewald in a 3d simulation; see the kspace_modify command. + +
Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles + +
No atoms in system have a non-zero charge or dipole, or are LJ particles. Change charges/dipoles or change options of the kspace -solver/pair style.
-
Cannot use EwaldDisp with 2d simulation
-
This is a current restriction of this command.
-
Cannot use GPU package with USER-CUDA package enabled
-
You cannot use both the GPU and USER-CUDA packages -together. Use one or the other.
-
Cannot use Kokkos pair style with rRESPA inner/middle
-
rRESPA inner/middle options are not yet supported by Kokkos.
-
Cannot use NEB unless atom map exists
-
Use the atom_modify command to create an atom map.
-
Cannot use NEB with a single replica
-
Self-explanatory.
-
Cannot use NEB with atom_modify sort enabled
-
This is current restriction for NEB implemented in LAMMPS.
-
Cannot use PPPM with 2d simulation
-
The kspace style pppm cannot be used in 2d simulations. You can use -2d PPPM in a 3d simulation; see the kspace_modify command.
-
Cannot use PPPMDisp with 2d simulation
-
The kspace style pppm/disp cannot be used in 2d simulations. You can -use 2d pppm/disp in a 3d simulation; see the kspace_modify command.
-
Cannot use PRD with a changing box
-
The current box dimensions are not copied between replicas
-
Cannot use PRD with a time-dependent fix defined
-
PRD alters the timestep in ways that will mess up these fixes.
-
Cannot use PRD with a time-dependent region defined
-
PRD alters the timestep in ways that will mess up these regions.
-
Cannot use PRD with atom_modify sort enabled
-
This is a current restriction of PRD. You must turn off sorting, -which is enabled by default, via the atom_modify command.
-
Cannot use PRD with multi-processor replicas unless atom map exists
-
Use the atom_modify command to create an atom map.
-
Cannot use TAD unless atom map exists for NEB
-
See atom_modify map command to set this.
-
Cannot use TAD with a single replica for NEB
-
NEB requires multiple replicas.
-
Cannot use TAD with atom_modify sort enabled for NEB
-
This is a current restriction of NEB.
-
Cannot use a damped dynamics min style with fix box/relax
-
This is a current restriction in LAMMPS. Use another minimizer -style.
-
Cannot use a damped dynamics min style with per-atom DOF
-
This is a current restriction in LAMMPS. Use another minimizer -style.
-
Cannot use append/atoms in periodic dimension
-
The boundary style of the face where atoms are added can not be of -type p (periodic).
-
Cannot use atomfile-style variable unless atom map exists
-
Self-explanatory. See the atom_modify command to create a map.
-
Cannot use both com and bias with compute temp/chunk
-
Self-explanatory.
-
Cannot use chosen neighbor list style with buck/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with coul/cut/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with coul/dsf/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with coul/wolf/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with lj/cut/coul/cut/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with lj/cut/coul/long/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with lj/cut/kk
-
That style is not supported by Kokkos.
-
Cannot use chosen neighbor list style with pair eam/kk
-
That style is not supported by Kokkos.
-
Cannot use compute chunk/atom bin z for 2d model
-
Self-explanatory.
-
Cannot use compute cluster/atom unless atoms have IDs
-
Atom IDs are used to identify clusters.
-
Cannot use create_atoms rotate unless single style
-
Self-explanatory.
-
Cannot use create_bonds unless atoms have IDs
-
This command requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs.
-
Cannot use create_bonds with non-molecular system
-
Self-explanatory.
-
Cannot use cwiggle in variable formula between runs
-
This is a function of elapsed time.
-
Cannot use delete_atoms bond yes with atom_style template
-
This is because the bonds for that atom style are hardwired in the -molecule template.
-
Cannot use delete_atoms unless atoms have IDs
-
Your atoms do not have IDs, so the delete_atoms command cannot be -used.
-
Cannot use delete_bonds with non-molecular system
-
Your choice of atom style does not have bonds.
-
Cannot use dump_modify fileper without % in dump file name
-
Self-explanatory.
-
Cannot use dump_modify nfile without % in dump file name
-
Self-explanatory.
-
Cannot use dynamic group with fix adapt atom
-
This is not yet supported.
-
Cannot use fix TMD unless atom map exists
-
Using this fix requires the ability to lookup an atom index, which is +solver/pair style. + +
Cannot use EwaldDisp with 2d simulation + +
This is a current restriction of this command. + +
Cannot use GPU package with USER-CUDA package enabled + +
You cannot use both the GPU and USER-CUDA packages +together. Use one or the other. + +
Cannot use Kokkos pair style with rRESPA inner/middle + +
rRESPA inner/middle options are not yet supported by Kokkos. + +
Cannot use NEB unless atom map exists + +
Use the atom_modify command to create an atom map. + +
Cannot use NEB with a single replica + +
Self-explanatory. + +
Cannot use NEB with atom_modify sort enabled + +
This is current restriction for NEB implemented in LAMMPS. + +
Cannot use PPPM with 2d simulation + +
The kspace style pppm cannot be used in 2d simulations. You can use +2d PPPM in a 3d simulation; see the kspace_modify command. + +
Cannot use PPPMDisp with 2d simulation + +
The kspace style pppm/disp cannot be used in 2d simulations. You can +use 2d pppm/disp in a 3d simulation; see the kspace_modify command. + +
Cannot use PRD with a changing box + +
The current box dimensions are not copied between replicas + +
Cannot use PRD with a time-dependent fix defined + +
PRD alters the timestep in ways that will mess up these fixes. + +
Cannot use PRD with a time-dependent region defined + +
PRD alters the timestep in ways that will mess up these regions. + +
Cannot use PRD with atom_modify sort enabled + +
This is a current restriction of PRD. You must turn off sorting, +which is enabled by default, via the atom_modify command. + +
Cannot use PRD with multi-processor replicas unless atom map exists + +
Use the atom_modify command to create an atom map. + +
Cannot use TAD unless atom map exists for NEB + +
See atom_modify map command to set this. + +
Cannot use TAD with a single replica for NEB + +
NEB requires multiple replicas. + +
Cannot use TAD with atom_modify sort enabled for NEB + +
This is a current restriction of NEB. + +
Cannot use a damped dynamics min style with fix box/relax + +
This is a current restriction in LAMMPS. Use another minimizer +style. + +
Cannot use a damped dynamics min style with per-atom DOF + +
This is a current restriction in LAMMPS. Use another minimizer +style. + +
Cannot use append/atoms in periodic dimension + +
The boundary style of the face where atoms are added can not be of +type p (periodic). + +
Cannot use atomfile-style variable unless atom map exists + +
Self-explanatory. See the atom_modify command to create a map. + +
Cannot use both com and bias with compute temp/chunk + +
Self-explanatory. + +
Cannot use chosen neighbor list style with buck/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with coul/cut/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with coul/dsf/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with coul/wolf/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with lj/cut/coul/cut/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with lj/cut/coul/long/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with lj/cut/kk + +
That style is not supported by Kokkos. + +
Cannot use chosen neighbor list style with pair eam/kk + +
That style is not supported by Kokkos. + +
Cannot use compute chunk/atom bin z for 2d model + +
Self-explanatory. + +
Cannot use compute cluster/atom unless atoms have IDs + +
Atom IDs are used to identify clusters. + +
Cannot use create_atoms rotate unless single style + +
Self-explanatory. + +
Cannot use create_bonds unless atoms have IDs + +
This command requires a mapping from global atom IDs to local atoms, +but the atoms that have been defined have no IDs. + +
Cannot use create_bonds with non-molecular system + +
Self-explanatory. + +
Cannot use cwiggle in variable formula between runs + +
This is a function of elapsed time. + +
Cannot use delete_atoms bond yes with atom_style template + +
This is because the bonds for that atom style are hardwired in the +molecule template. + +
Cannot use delete_atoms unless atoms have IDs + +
Your atoms do not have IDs, so the delete_atoms command cannot be +used. + +
Cannot use delete_bonds with non-molecular system + +
Your choice of atom style does not have bonds. + +
Cannot use dump_modify fileper without % in dump file name + +
Self-explanatory. + +
Cannot use dump_modify nfile without % in dump file name + +
Self-explanatory. + +
Cannot use dynamic group with fix adapt atom + +
This is not yet supported. + +
Cannot use fix TMD unless atom map exists + +
Using this fix requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for non-molecular problems. Using the atom_modify map command will force -an atom map to be created.
-
Cannot use fix ave/spatial z for 2 dimensional model
-
Self-explanatory.
-
Cannot use fix bond/break with non-molecular systems
-
Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
-
Cannot use fix bond/create with non-molecular systems
-
Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
-
Cannot use fix bond/swap with non-molecular systems
-
Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
-
Cannot use fix box/relax on a 2nd non-periodic dimension
-
When specifying an off-diagonal pressure component, the 2nd of the two +an atom map to be created. + +
Cannot use fix ave/spatial z for 2 dimensional model + +
Self-explanatory. + +
Cannot use fix bond/break with non-molecular systems + +
Only systems with bonds that can be changed can be used. Atom_style +template does not qualify. + +
Cannot use fix bond/create with non-molecular systems + +
Only systems with bonds that can be changed can be used. Atom_style +template does not qualify. + +
Cannot use fix bond/swap with non-molecular systems + +
Only systems with bonds that can be changed can be used. Atom_style +template does not qualify. + +
Cannot use fix box/relax on a 2nd non-periodic dimension + +
When specifying an off-diagonal pressure component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
-
Cannot use fix box/relax on a non-periodic dimension
-
When specifying a diagonal pressure component, the dimension must be -periodic.
-
Cannot use fix box/relax with both relaxation and scaling on a tilt factor
-
When specifying scaling on a tilt factor component, that component can not +then the y dimension must be periodic. + +
Cannot use fix box/relax on a non-periodic dimension + +
When specifying a diagonal pressure component, the dimension must be +periodic. + +
Cannot use fix box/relax with both relaxation and scaling on a tilt factor + +
When specifying scaling on a tilt factor component, that component can not also be controlled by the barostat. E.g. if scalexy yes is specified and -also keyword tri or xy, this is wrong.
-
Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension
-
When specifying scaling on a tilt factor component, the 2nd of the two +also keyword tri or xy, this is wrong. + +
Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension + +
When specifying scaling on a tilt factor component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
-
Cannot use fix deform on a shrink-wrapped boundary
-
The x, y, z options cannot be applied to shrink-wrapped -dimensions.
-
Cannot use fix deform tilt on a shrink-wrapped 2nd dim
-
This is because the shrink-wrapping will change the value -of the strain implied by the tilt factor.
-
Cannot use fix deform trate on a box with zero tilt
-
The trate style alters the current strain.
-
Cannot use fix deposit rigid and not molecule
-
Self-explanatory.
-
Cannot use fix deposit rigid and shake
-
These two attributes are conflicting.
-
Cannot use fix deposit shake and not molecule
-
Self-explanatory.
-
Cannot use fix enforce2d with 3d simulation
-
Self-explanatory.
-
Cannot use fix gcmc in a 2d simulation
-
Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc -are allowed.
-
Cannot use fix gcmc shake and not molecule
-
Self-explanatory.
-
Cannot use fix msst without per-type mass defined
-
Self-explanatory.
-
Cannot use fix npt and fix deform on same component of stress tensor
-
This would be changing the same box dimension twice.
-
Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension
-
When specifying an off-diagonal pressure component, the 2nd of the two +then the y dimension must be periodic. + +
Cannot use fix deform on a shrink-wrapped boundary + +
The x, y, z options cannot be applied to shrink-wrapped +dimensions. + +
Cannot use fix deform tilt on a shrink-wrapped 2nd dim + +
This is because the shrink-wrapping will change the value +of the strain implied by the tilt factor. + +
Cannot use fix deform trate on a box with zero tilt + +
The trate style alters the current strain. + +
Cannot use fix deposit rigid and not molecule + +
Self-explanatory. + +
Cannot use fix deposit rigid and shake + +
These two attributes are conflicting. + +
Cannot use fix deposit shake and not molecule + +
Self-explanatory. + +
Cannot use fix enforce2d with 3d simulation + +
Self-explanatory. + +
Cannot use fix gcmc in a 2d simulation + +
Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc +are allowed. + +
Cannot use fix gcmc shake and not molecule + +
Self-explanatory. + +
Cannot use fix msst without per-type mass defined + +
Self-explanatory. + +
Cannot use fix npt and fix deform on same component of stress tensor + +
This would be changing the same box dimension twice. + +
Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension + +
When specifying an off-diagonal pressure component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
-
Cannot use fix nvt/npt/nph on a non-periodic dimension
-
When specifying a diagonal pressure component, the dimension must be -periodic.
-
Cannot use fix nvt/npt/nph with both xy dynamics and xy scaling
-
Self-explanatory.
-
Cannot use fix nvt/npt/nph with both xz dynamics and xz scaling
-
Self-explanatory.
-
Cannot use fix nvt/npt/nph with both yz dynamics and yz scaling
-
Self-explanatory.
-
Cannot use fix nvt/npt/nph with xy scaling when y is non-periodic dimension
-
The 2nd dimension in the barostatted tilt factor must be periodic.
-
Cannot use fix nvt/npt/nph with xz scaling when z is non-periodic dimension
-
The 2nd dimension in the barostatted tilt factor must be periodic.
-
Cannot use fix nvt/npt/nph with yz scaling when z is non-periodic dimension
-
The 2nd dimension in the barostatted tilt factor must be periodic.
-
Cannot use fix pour rigid and not molecule
-
Self-explanatory.
-
Cannot use fix pour rigid and shake
-
These two attributes are conflicting.
-
Cannot use fix pour shake and not molecule
-
Self-explanatory.
-
Cannot use fix pour with triclinic box
-
This option is not yet supported.
-
Cannot use fix press/berendsen and fix deform on same component of stress tensor
-
These commands both change the box size/shape, so you cannot use both -together.
-
Cannot use fix press/berendsen on a non-periodic dimension
-
Self-explanatory.
-
Cannot use fix press/berendsen with triclinic box
-
Self-explanatory.
-
Cannot use fix reax/bonds without pair_style reax
-
Self-explantory.
-
Cannot use fix rigid npt/nph and fix deform on same component of stress tensor
-
This would be changing the same box dimension twice.
-
Cannot use fix rigid npt/nph on a non-periodic dimension
-
When specifying a diagonal pressure component, the dimension must be -periodic.
-
Cannot use fix rigid/small npt/nph on a non-periodic dimension
-
When specifying a diagonal pressure component, the dimension must be -periodic.
-
Cannot use fix shake with non-molecular system
-
Your choice of atom style does not have bonds.
-
Cannot use fix ttm with 2d simulation
-
This is a current restriction of this fix due to the grid it creates.
-
Cannot use fix ttm with triclinic box
-
This is a current restriction of this fix due to the grid it creates.
-
Cannot use fix tune/kspace without a kspace style
-
Self-explanatory.
-
Cannot use fix tune/kspace without a pair style
-
This fix (tune/kspace) can only be used when a pair style has been specified.
-
Cannot use fix wall in periodic dimension
-
Self-explanatory.
-
Cannot use fix wall zlo/zhi for a 2d simulation
-
Self-explanatory.
-
Cannot use fix wall/reflect in periodic dimension
-
Self-explanatory.
-
Cannot use fix wall/reflect zlo/zhi for a 2d simulation
-
Self-explanatory.
-
Cannot use fix wall/srd in periodic dimension
-
Self-explanatory.
-
Cannot use fix wall/srd more than once
-
Nor is their a need to since multiple walls can be specified -in one command.
-
Cannot use fix wall/srd without fix srd
-
Self-explanatory.
-
Cannot use fix wall/srd zlo/zhi for a 2d simulation
-
Self-explanatory.
-
Cannot use fix_deposit unless atoms have IDs
-
Self-explanatory.
-
Cannot use fix_pour unless atoms have IDs
-
Self-explanatory.
-
Cannot use include command within an if command
-
Self-explanatory.
-
Cannot use lines with fix srd unless overlap is set
-
This is because line segements are connected to each other.
-
Cannot use multiple fix wall commands with pair brownian
-
Self-explanatory.
-
Cannot use multiple fix wall commands with pair lubricate
-
Self-explanatory.
-
Cannot use multiple fix wall commands with pair lubricate/poly
-
Self-explanatory.
-
Cannot use multiple fix wall commands with pair lubricateU
-
Self-explanatory.
-
Cannot use neigh_modify exclude with GPU neighbor builds
-
This is a current limitation of the GPU implementation -in LAMMPS.
-
Cannot use neighbor bins - box size << cutoff
-
Too many neighbor bins will be created. This typically happens when +then the y dimension must be periodic. + +
Cannot use fix nvt/npt/nph on a non-periodic dimension + +
When specifying a diagonal pressure component, the dimension must be +periodic. + +
Cannot use fix nvt/npt/nph with both xy dynamics and xy scaling + +
Self-explanatory. + +
Cannot use fix nvt/npt/nph with both xz dynamics and xz scaling + +
Self-explanatory. + +
Cannot use fix nvt/npt/nph with both yz dynamics and yz scaling + +
Self-explanatory. + +
Cannot use fix nvt/npt/nph with xy scaling when y is non-periodic dimension + +
The 2nd dimension in the barostatted tilt factor must be periodic. + +
Cannot use fix nvt/npt/nph with xz scaling when z is non-periodic dimension + +
The 2nd dimension in the barostatted tilt factor must be periodic. + +
Cannot use fix nvt/npt/nph with yz scaling when z is non-periodic dimension + +
The 2nd dimension in the barostatted tilt factor must be periodic. + +
Cannot use fix pour rigid and not molecule + +
Self-explanatory. + +
Cannot use fix pour rigid and shake + +
These two attributes are conflicting. + +
Cannot use fix pour shake and not molecule + +
Self-explanatory. + +
Cannot use fix pour with triclinic box + +
This option is not yet supported. + +
Cannot use fix press/berendsen and fix deform on same component of stress tensor + +
These commands both change the box size/shape, so you cannot use both +together. + +
Cannot use fix press/berendsen on a non-periodic dimension + +
Self-explanatory. + +
Cannot use fix press/berendsen with triclinic box + +
Self-explanatory. + +
Cannot use fix reax/bonds without pair_style reax + +
Self-explantory. + +
Cannot use fix rigid npt/nph and fix deform on same component of stress tensor + +
This would be changing the same box dimension twice. + +
Cannot use fix rigid npt/nph on a non-periodic dimension + +
When specifying a diagonal pressure component, the dimension must be +periodic. + +
Cannot use fix rigid/small npt/nph on a non-periodic dimension + +
When specifying a diagonal pressure component, the dimension must be +periodic. + +
Cannot use fix shake with non-molecular system + +
Your choice of atom style does not have bonds. + +
Cannot use fix ttm with 2d simulation + +
This is a current restriction of this fix due to the grid it creates. + +
Cannot use fix ttm with triclinic box + +
This is a current restriction of this fix due to the grid it creates. + +
Cannot use fix tune/kspace without a kspace style + +
Self-explanatory. + +
Cannot use fix tune/kspace without a pair style + +
This fix (tune/kspace) can only be used when a pair style has been specified. + +
Cannot use fix wall in periodic dimension + +
Self-explanatory. + +
Cannot use fix wall zlo/zhi for a 2d simulation + +
Self-explanatory. + +
Cannot use fix wall/reflect in periodic dimension + +
Self-explanatory. + +
Cannot use fix wall/reflect zlo/zhi for a 2d simulation + +
Self-explanatory. + +
Cannot use fix wall/srd in periodic dimension + +
Self-explanatory. + +
Cannot use fix wall/srd more than once + +
Nor is their a need to since multiple walls can be specified +in one command. + +
Cannot use fix wall/srd without fix srd + +
Self-explanatory. + +
Cannot use fix wall/srd zlo/zhi for a 2d simulation + +
Self-explanatory. + +
Cannot use fix_deposit unless atoms have IDs + +
Self-explanatory. + +
Cannot use fix_pour unless atoms have IDs + +
Self-explanatory. + +
Cannot use include command within an if command + +
Self-explanatory. + +
Cannot use lines with fix srd unless overlap is set + +
This is because line segements are connected to each other. + +
Cannot use multiple fix wall commands with pair brownian + +
Self-explanatory. + +
Cannot use multiple fix wall commands with pair lubricate + +
Self-explanatory. + +
Cannot use multiple fix wall commands with pair lubricate/poly + +
Self-explanatory. + +
Cannot use multiple fix wall commands with pair lubricateU + +
Self-explanatory. + +
Cannot use neigh_modify exclude with GPU neighbor builds + +
This is a current limitation of the GPU implementation +in LAMMPS. + +
Cannot use neighbor bins - box size << cutoff + +
Too many neighbor bins will be created. This typically happens when the simulation box is very small in some dimension, compared to the -neighbor cutoff. Use the “nsq” style instead of “bin” style.
-
Cannot use newton pair with beck/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with born/coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with born/coul/wolf/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with born/gpu pair style
-
Self-explantory.
-
Cannot use newton pair with buck/coul/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with buck/coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with buck/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with colloid/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with coul/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with coul/debye/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with coul/dsf/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with dipole/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with dpd/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with dpd/tstat/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with eam/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with gauss/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with gayberne/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/charmm/coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/class2/coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/class2/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/coul/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/coul/debye/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/coul/dsf/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/coul/long/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/coul/msm/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/expand/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj/gromacs/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with lj96/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with mie/cut/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with morse/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with resquared/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with soft/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with table/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with yukawa/colloid/gpu pair style
-
Self-explanatory.
-
Cannot use newton pair with yukawa/gpu pair style
-
Self-explanatory.
-
Cannot use non-zero forces in an energy minimization
-
Fix setforce cannot be used in this manner. Use fix addforce -instead.
-
Cannot use non-zero z offset in read_data for 2d simulation
-
The offset option is not yet supported.
-
Cannot use nonperiodic boundares with fix ttm
-
This fix requires a fully periodic simulation box.
-
Cannot use nonperiodic boundaries with Ewald
-
For kspace style ewald, all 3 dimensions must have periodic boundaries +neighbor cutoff. Use the "nsq" style instead of "bin" style. + +
Cannot use newton pair with beck/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with born/coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with born/coul/wolf/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with born/gpu pair style + +
Self-explantory. + +
Cannot use newton pair with buck/coul/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with buck/coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with buck/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with colloid/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with coul/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with coul/debye/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with coul/dsf/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with dipole/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with dpd/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with dpd/tstat/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with eam/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with gauss/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with gayberne/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/charmm/coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/class2/coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/class2/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/coul/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/coul/debye/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/coul/dsf/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/coul/long/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/coul/msm/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/expand/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj/gromacs/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with lj96/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with mie/cut/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with morse/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with resquared/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with soft/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with table/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with yukawa/colloid/gpu pair style + +
Self-explanatory. + +
Cannot use newton pair with yukawa/gpu pair style + +
Self-explanatory. + +
Cannot use non-zero forces in an energy minimization + +
Fix setforce cannot be used in this manner. Use fix addforce +instead. + +
Cannot use non-zero z offset in read_data for 2d simulation + +
The offset option is not yet supported. + +
Cannot use nonperiodic boundares with fix ttm + +
This fix requires a fully periodic simulation box. + +
Cannot use nonperiodic boundaries with Ewald + +
For kspace style ewald, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension.
-
Cannot use nonperiodic boundaries with EwaldDisp
-
For kspace style ewald/disp, all 3 dimensions must have periodic +non-periodic z dimension. + +
Cannot use nonperiodic boundaries with EwaldDisp + +
For kspace style ewald/disp, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension.
-
Cannot use nonperiodic boundaries with PPPM
-
For kspace style pppm, all 3 dimensions must have periodic boundaries +slab with a non-periodic z dimension. + +
Cannot use nonperiodic boundaries with PPPM + +
For kspace style pppm, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension.
-
Cannot use nonperiodic boundaries with PPPMDisp
-
For kspace style pppm/disp, all 3 dimensions must have periodic +non-periodic z dimension. + +
Cannot use nonperiodic boundaries with PPPMDisp + +
For kspace style pppm/disp, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension.
-
Cannot use order greater than 8 with pppm/gpu.
-
Self-explanatory.
-
Cannot use package gpu neigh yes with triclinic box
-
This is a current restriction in LAMMPS.
-
Cannot use pair hybrid with GPU neighbor list builds
-
Neighbor list builds must be done on the CPU for this pair style.
-
Cannot use pair tail corrections with 2d simulations
-
The correction factors are only currently defined for 3d systems.
-
Cannot use processors part command without using partitions
-
See the command-line -partition switch.
-
Cannot use ramp in variable formula between runs
-
This is because the ramp() function is time dependent.
-
Cannot use region INF or EDGE when box does not exist
-
Regions that extend to the box boundaries can only be used after the -create_box command has been used.
-
Cannot use set atom with no atom IDs defined
-
Atom IDs are not defined, so they cannot be used to identify an atom.
-
Cannot use set mol with no molecule IDs defined
-
Self-explanatory.
-
Cannot use swiggle in variable formula between runs
-
This is a function of elapsed time.
-
Cannot use tris with fix srd unless overlap is set
-
This is because triangles are connected to each other.
-
Cannot use variable energy with constant efield in fix efield
-
LAMMPS computes the energy itself when the E-field is constant.
-
Cannot use variable energy with constant force in fix addforce
-
This is because for constant force, LAMMPS can compute the change -in energy directly.
-
Cannot use variable every setting for dump dcd
-
The format of DCD dump files requires snapshots be output -at a constant frequency.
-
Cannot use variable every setting for dump xtc
-
The format of this file requires snapshots at regular intervals.
-
Cannot use vdisplace in variable formula between runs
-
This is a function of elapsed time.
-
Cannot use velocity bias command without temp keyword
-
Self-explanatory.
-
Cannot use velocity create loop all unless atoms have IDs
-
Atoms in the simulation to do not have IDs, so this style -of velocity creation cannot be performed.
-
Cannot use wall in periodic dimension
-
Self-explanatory.
-
Cannot use write_restart fileper without % in restart file name
-
Self-explanatory.
-
Cannot use write_restart nfile without % in restart file name
-
Self-explanatory.
-
Cannot wiggle and shear fix wall/gran
-
Cannot specify both options at the same time.
-
Cannot write to restart file - MPI error: %s
-
This error was generated by MPI when reading/writing an MPI-IO restart -file.
-
Cannot yet use KSpace solver with grid with comm style tiled
-
This is current restriction in LAMMPS.
-
Cannot yet use comm_style tiled with multi-mode comm
-
Self-explanatory.
-
Cannot yet use comm_style tiled with triclinic box
-
Self-explanatory.
-
Cannot yet use fix bond/break with this improper style
-
This is a current restriction in LAMMPS.
-
Cannot yet use fix bond/create with this improper style
-
This is a current restriction in LAMMPS.
-
Cannot zero Langevin force of 0 atoms
-
The group has zero atoms, so you cannot request its force -be zeroed.
-
Cannot zero gld force for zero atoms
-
There are no atoms currently in the group.
-
Cannot zero momentum of no atoms
-
Self-explanatory.
-
Change_box command before simulation box is defined
-
Self-explanatory.
-
Change_box volume used incorrectly
-
The “dim volume” option must be used immediately following one or two -settings for “dim1 ...” (and optionally “dim2 ...”) and must be for a -different dimension, i.e. dim != dim1 and dim != dim2.
-
Chunk/atom compute does not exist for compute angmom/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute com/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute gyration/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute inertia/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute msd/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute omega/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute property/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute temp/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute torque/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for compute vcm/chunk
-
Self-explanatory.
-
Chunk/atom compute does not exist for fix ave/chunk
-
Self-explanatory.
-
Comm tiled invalid index in box drop brick
-
Internal error check in comm_style tiled which should not occur. -Contact the developers.
-
Comm tiled mis-match in box drop brick
-
Internal error check in comm_style tiled which should not occur. -Contact the developers.
-
Comm_modify group != atom_modify first group
-
Self-explanatory.
-
Communication cutoff for comm_style tiled cannot exceed periodic box length
-
Self-explanatory.
-
Communication cutoff too small for SNAP micro load balancing
-
This can happen if you change the neighbor skin after your pair_style +slab with a non-periodic z dimension. + +
Cannot use order greater than 8 with pppm/gpu. + +
Self-explanatory. + +
Cannot use package gpu neigh yes with triclinic box + +
This is a current restriction in LAMMPS. + +
Cannot use pair hybrid with GPU neighbor list builds + +
Neighbor list builds must be done on the CPU for this pair style. + +
Cannot use pair tail corrections with 2d simulations + +
The correction factors are only currently defined for 3d systems. + +
Cannot use processors part command without using partitions + +
See the command-line -partition switch. + +
Cannot use ramp in variable formula between runs + +
This is because the ramp() function is time dependent. + +
Cannot use region INF or EDGE when box does not exist + +
Regions that extend to the box boundaries can only be used after the +create_box command has been used. + +
Cannot use set atom with no atom IDs defined + +
Atom IDs are not defined, so they cannot be used to identify an atom. + +
Cannot use set mol with no molecule IDs defined + +
Self-explanatory. + +
Cannot use swiggle in variable formula between runs + +
This is a function of elapsed time. + +
Cannot use tris with fix srd unless overlap is set + +
This is because triangles are connected to each other. + +
Cannot use variable energy with constant efield in fix efield + +
LAMMPS computes the energy itself when the E-field is constant. + +
Cannot use variable energy with constant force in fix addforce + +
This is because for constant force, LAMMPS can compute the change +in energy directly. + +
Cannot use variable every setting for dump dcd + +
The format of DCD dump files requires snapshots be output +at a constant frequency. + +
Cannot use variable every setting for dump xtc + +
The format of this file requires snapshots at regular intervals. + +
Cannot use vdisplace in variable formula between runs + +
This is a function of elapsed time. + +
Cannot use velocity bias command without temp keyword + +
Self-explanatory. + +
Cannot use velocity create loop all unless atoms have IDs + +
Atoms in the simulation to do not have IDs, so this style +of velocity creation cannot be performed. + +
Cannot use wall in periodic dimension + +
Self-explanatory. + +
Cannot use write_restart fileper without % in restart file name + +
Self-explanatory. + +
Cannot use write_restart nfile without % in restart file name + +
Self-explanatory. + +
Cannot wiggle and shear fix wall/gran + +
Cannot specify both options at the same time. + +
Cannot write to restart file - MPI error: %s + +
This error was generated by MPI when reading/writing an MPI-IO restart +file. + +
Cannot yet use KSpace solver with grid with comm style tiled + +
This is current restriction in LAMMPS. + +
Cannot yet use comm_style tiled with multi-mode comm + +
Self-explanatory. + +
Cannot yet use comm_style tiled with triclinic box + +
Self-explanatory. + +
Cannot yet use fix bond/break with this improper style + +
This is a current restriction in LAMMPS. + +
Cannot yet use fix bond/create with this improper style + +
This is a current restriction in LAMMPS. + +
Cannot zero Langevin force of 0 atoms + +
The group has zero atoms, so you cannot request its force +be zeroed. + +
Cannot zero gld force for zero atoms + +
There are no atoms currently in the group. + +
Cannot zero momentum of no atoms + +
Self-explanatory. + +
Change_box command before simulation box is defined + +
Self-explanatory. + +
Change_box volume used incorrectly + +
The "dim volume" option must be used immediately following one or two +settings for "dim1 ..." (and optionally "dim2 ...") and must be for a +different dimension, i.e. dim != dim1 and dim != dim2. + +
Chunk/atom compute does not exist for compute angmom/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute com/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute gyration/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute inertia/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute msd/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute omega/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute property/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute temp/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute torque/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for compute vcm/chunk + +
Self-explanatory. + +
Chunk/atom compute does not exist for fix ave/chunk + +
Self-explanatory. + +
Comm tiled invalid index in box drop brick + +
Internal error check in comm_style tiled which should not occur. +Contact the developers. + +
Comm tiled mis-match in box drop brick + +
Internal error check in comm_style tiled which should not occur. +Contact the developers. + +
Comm_modify group != atom_modify first group + +
Self-explanatory. + +
Communication cutoff for comm_style tiled cannot exceed periodic box length + +
Self-explanatory. + +
Communication cutoff too small for SNAP micro load balancing + +
This can happen if you change the neighbor skin after your pair_style command or if your box dimensions grow during a run. You can set the -cutoff explicitly via the comm_modify cutoff command.
-
Compute %s does not allow use of dynamic group
-
Dynamic groups have not yet been enabled for this compute.
-
Compute ID for compute chunk/atom does not exist
-
Self-explanatory.
-
Compute ID for compute reduce does not exist
-
Self-explanatory.
-
Compute ID for compute slice does not exist
-
Self-explanatory.
-
Compute ID for fix ave/atom does not exist
-
Self-explanatory.
-
Compute ID for fix ave/chunk does not exist
-
Self-explanatory.
-
Compute ID for fix ave/correlate does not exist
-
Self-explanatory.
-
Compute ID for fix ave/histo does not exist
-
Self-explanatory.
-
Compute ID for fix ave/spatial does not exist
-
Self-explanatory.
-
Compute ID for fix ave/time does not exist
-
Self-explanatory.
-
Compute ID for fix store/state does not exist
-
Self-explanatory.
-
Compute ID for fix vector does not exist
-
Self-explanatory.
-
Compute ID must be alphanumeric or underscore characters
-
Self-explanatory.
-
Compute angle/local used when angles are not allowed
-
The atom style does not support angles.
-
Compute angmom/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute body/local requires atom style body
-
Self-explanatory.
-
Compute bond/local used when bonds are not allowed
-
The atom style does not support bonds.
-
Compute centro/atom requires a pair style be defined
-
This is because the computation of the centro-symmetry values -uses a pairwise neighbor list.
-
Compute chunk/atom compute array is accessed out-of-range
-
The index for the array is out of bounds.
-
Compute chunk/atom compute does not calculate a per-atom array
-
Self-explanatory.
-
Compute chunk/atom compute does not calculate a per-atom vector
-
Self-explanatory.
-
Compute chunk/atom compute does not calculate per-atom values
-
Self-explanatory.
-
Compute chunk/atom fix array is accessed out-of-range
-
the index for the array is out of bounds.
-
Compute chunk/atom fix does not calculate a per-atom array
-
Self-explanatory.
-
Compute chunk/atom fix does not calculate a per-atom vector
-
Self-explanatory.
-
Compute chunk/atom fix does not calculate per-atom values
-
Self-explanatory.
-
Compute chunk/atom for triclinic boxes requires units reduced
-
Self-explanatory.
-
Compute chunk/atom ids once but nchunk is not once
-
You cannot assign chunks IDs to atom permanently if the number of -chunks may change.
-
Compute chunk/atom molecule for non-molecular system
-
Self-explanatory.
-
Compute chunk/atom stores no IDs for compute property/chunk
-
It will only store IDs if its compress option is enabled.
-
Compute chunk/atom stores no coord1 for compute property/chunk
-
Only certain binning options for comptue chunk/atom store coordinates.
-
Compute chunk/atom stores no coord2 for compute property/chunk
-
Only certain binning options for comptue chunk/atom store coordinates.
-
Compute chunk/atom stores no coord3 for compute property/chunk
-
Only certain binning options for comptue chunk/atom store coordinates.
-
Compute chunk/atom variable is not atom-style variable
-
Self-explanatory.
-
Compute chunk/atom without bins cannot use discard mixed
-
That discard option only applies to the binning styles.
-
Compute cluster/atom cutoff is longer than pairwise cutoff
-
Cannot identify clusters beyond cutoff.
-
Compute cluster/atom requires a pair style be defined
-
This is so that the pair style defines a cutoff distance which -is used to find clusters.
-
Compute cna/atom cutoff is longer than pairwise cutoff
-
Self-explantory.
-
Compute cna/atom requires a pair style be defined
-
Self-explantory.
-
Compute com/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute contact/atom requires a pair style be defined
-
Self-explantory.
-
Compute contact/atom requires atom style sphere
-
Self-explanatory.
-
Compute coord/atom cutoff is longer than pairwise cutoff
-
Cannot compute coordination at distances longer than the pair cutoff, -since those atoms are not in the neighbor list.
-
Compute coord/atom requires a pair style be defined
-
Self-explantory.
-
Compute damage/atom requires peridynamic potential
-
Damage is a Peridynamic-specific metric. It requires you -to be running a Peridynamics simulation.
-
Compute dihedral/local used when dihedrals are not allowed
-
The atom style does not support dihedrals.
-
Compute dilatation/atom cannot be used with this pair style
-
Self-explanatory.
-
Compute dilatation/atom requires Peridynamic pair style
-
Self-explanatory.
-
Compute does not allow an extra compute or fix to be reset
-
This is an internal LAMMPS error. Please report it to the -developers.
-
Compute erotate/asphere requires atom style ellipsoid or line or tri
-
Self-explanatory.
-
Compute erotate/asphere requires extended particles
-
This compute cannot be used with point paritlces.
-
Compute erotate/rigid with non-rigid fix-ID
-
Self-explanatory.
-
Compute erotate/sphere requires atom style sphere
-
Self-explanatory.
-
Compute erotate/sphere/atom requires atom style sphere
-
Self-explanatory.
-
Compute event/displace has invalid fix event assigned
-
This is an internal LAMMPS error. Please report it to the -developers.
-
Compute group/group group ID does not exist
-
Self-explanatory.
-
Compute gyration/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute heat/flux compute ID does not compute ke/atom
-
Self-explanatory.
-
Compute heat/flux compute ID does not compute pe/atom
-
Self-explanatory.
-
Compute heat/flux compute ID does not compute stress/atom
-
Self-explanatory.
-
Compute improper/local used when impropers are not allowed
-
The atom style does not support impropers.
-
Compute inertia/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute ke/rigid with non-rigid fix-ID
-
Self-explanatory.
-
Compute msd/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute msd/chunk nchunk is not static
-
This is required because the MSD cannot be computed consistently if +cutoff explicitly via the comm_modify cutoff command. + +
Compute %s does not allow use of dynamic group + +
Dynamic groups have not yet been enabled for this compute. + +
Compute ID for compute chunk/atom does not exist + +
Self-explanatory. + +
Compute ID for compute reduce does not exist + +
Self-explanatory. + +
Compute ID for compute slice does not exist + +
Self-explanatory. + +
Compute ID for fix ave/atom does not exist + +
Self-explanatory. + +
Compute ID for fix ave/chunk does not exist + +
Self-explanatory. + +
Compute ID for fix ave/correlate does not exist + +
Self-explanatory. + +
Compute ID for fix ave/histo does not exist + +
Self-explanatory. + +
Compute ID for fix ave/spatial does not exist + +
Self-explanatory. + +
Compute ID for fix ave/time does not exist + +
Self-explanatory. + +
Compute ID for fix store/state does not exist + +
Self-explanatory. + +
Compute ID for fix vector does not exist + +
Self-explanatory. + +
Compute ID must be alphanumeric or underscore characters + +
Self-explanatory. + +
Compute angle/local used when angles are not allowed + +
The atom style does not support angles. + +
Compute angmom/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute body/local requires atom style body + +
Self-explanatory. + +
Compute bond/local used when bonds are not allowed + +
The atom style does not support bonds. + +
Compute centro/atom requires a pair style be defined + +
This is because the computation of the centro-symmetry values +uses a pairwise neighbor list. + +
Compute chunk/atom compute array is accessed out-of-range + +
The index for the array is out of bounds. + +
Compute chunk/atom compute does not calculate a per-atom array + +
Self-explanatory. + +
Compute chunk/atom compute does not calculate a per-atom vector + +
Self-explanatory. + +
Compute chunk/atom compute does not calculate per-atom values + +
Self-explanatory. + +
Compute chunk/atom fix array is accessed out-of-range + +
the index for the array is out of bounds. + +
Compute chunk/atom fix does not calculate a per-atom array + +
Self-explanatory. + +
Compute chunk/atom fix does not calculate a per-atom vector + +
Self-explanatory. + +
Compute chunk/atom fix does not calculate per-atom values + +
Self-explanatory. + +
Compute chunk/atom for triclinic boxes requires units reduced + +
Self-explanatory. + +
Compute chunk/atom ids once but nchunk is not once + +
You cannot assign chunks IDs to atom permanently if the number of +chunks may change. + +
Compute chunk/atom molecule for non-molecular system + +
Self-explanatory. + +
Compute chunk/atom stores no IDs for compute property/chunk + +
It will only store IDs if its compress option is enabled. + +
Compute chunk/atom stores no coord1 for compute property/chunk + +
Only certain binning options for comptue chunk/atom store coordinates. + +
Compute chunk/atom stores no coord2 for compute property/chunk + +
Only certain binning options for comptue chunk/atom store coordinates. + +
Compute chunk/atom stores no coord3 for compute property/chunk + +
Only certain binning options for comptue chunk/atom store coordinates. + +
Compute chunk/atom variable is not atom-style variable + +
Self-explanatory. + +
Compute chunk/atom without bins cannot use discard mixed + +
That discard option only applies to the binning styles. + +
Compute cluster/atom cutoff is longer than pairwise cutoff + +
Cannot identify clusters beyond cutoff. + +
Compute cluster/atom requires a pair style be defined + +
This is so that the pair style defines a cutoff distance which +is used to find clusters. + +
Compute cna/atom cutoff is longer than pairwise cutoff + +
Self-explantory. + +
Compute cna/atom requires a pair style be defined + +
Self-explantory. + +
Compute com/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute contact/atom requires a pair style be defined + +
Self-explantory. + +
Compute contact/atom requires atom style sphere + +
Self-explanatory. + +
Compute coord/atom cutoff is longer than pairwise cutoff + +
Cannot compute coordination at distances longer than the pair cutoff, +since those atoms are not in the neighbor list. + +
Compute coord/atom requires a pair style be defined + +
Self-explantory. + +
Compute damage/atom requires peridynamic potential + +
Damage is a Peridynamic-specific metric. It requires you +to be running a Peridynamics simulation. + +
Compute dihedral/local used when dihedrals are not allowed + +
The atom style does not support dihedrals. + +
Compute dilatation/atom cannot be used with this pair style + +
Self-explanatory. + +
Compute dilatation/atom requires Peridynamic pair style + +
Self-explanatory. + +
Compute does not allow an extra compute or fix to be reset + +
This is an internal LAMMPS error. Please report it to the +developers. + +
Compute erotate/asphere requires atom style ellipsoid or line or tri + +
Self-explanatory. + +
Compute erotate/asphere requires extended particles + +
This compute cannot be used with point paritlces. + +
Compute erotate/rigid with non-rigid fix-ID + +
Self-explanatory. + +
Compute erotate/sphere requires atom style sphere + +
Self-explanatory. + +
Compute erotate/sphere/atom requires atom style sphere + +
Self-explanatory. + +
Compute event/displace has invalid fix event assigned + +
This is an internal LAMMPS error. Please report it to the +developers. + +
Compute group/group group ID does not exist + +
Self-explanatory. + +
Compute gyration/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute heat/flux compute ID does not compute ke/atom + +
Self-explanatory. + +
Compute heat/flux compute ID does not compute pe/atom + +
Self-explanatory. + +
Compute heat/flux compute ID does not compute stress/atom + +
Self-explanatory. + +
Compute improper/local used when impropers are not allowed + +
The atom style does not support impropers. + +
Compute inertia/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute ke/rigid with non-rigid fix-ID + +
Self-explanatory. + +
Compute msd/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute msd/chunk nchunk is not static + +
This is required because the MSD cannot be computed consistently if the number of chunks is changing. Compute chunk/atom allows setting -nchunk to be static.
-
Compute nve/asphere requires atom style ellipsoid
-
Self-explanatory.
-
Compute nvt/nph/npt asphere requires atom style ellipsoid
-
Self-explanatory.
-
Compute omega/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute pair must use group all
-
Pair styles accumlate energy on all atoms.
-
Compute pe must use group all
-
Energies computed by potentials (pair, bond, etc) are computed on all -atoms.
-
Compute plasticity/atom cannot be used with this pair style
-
Self-explanatory.
-
Compute plasticity/atom requires Peridynamic pair style
-
Self-explanatory.
-
Compute pressure must use group all
-
Virial contributions computed by potentials (pair, bond, etc) are -computed on all atoms.
-
Compute pressure requires temperature ID to include kinetic energy
-
The keflag cannot be used unless a temperature compute is provided.
-
Compute pressure temperature ID does not compute temperature
-
The compute ID assigned to a pressure computation must compute -temperature.
-
Compute property/atom floating point vector does not exist
-
The command is accessing a vector added by the fix property/atom -command, that does not exist.
-
Compute property/atom for atom property that isn’t allocated
-
Self-explanatory.
-
Compute property/atom integer vector does not exist
-
The command is accessing a vector added by the fix property/atom -command, that does not exist.
-
Compute property/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute property/local cannot use these inputs together
-
Only inputs that generate the same number of datums can be used -togther. E.g. bond and angle quantities cannot be mixed.
-
Compute property/local does not (yet) work with atom_style template
-
Self-explanatory.
-
Compute property/local for property that isn’t allocated
-
Self-explanatory.
-
Compute rdf requires a pair style be defined
-
Self-explanatory.
-
Compute reduce compute array is accessed out-of-range
-
An index for the array is out of bounds.
-
Compute reduce compute calculates global values
-
A compute that calculates peratom or local values is required.
-
Compute reduce compute does not calculate a local array
-
Self-explanatory.
-
Compute reduce compute does not calculate a local vector
-
Self-explanatory.
-
Compute reduce compute does not calculate a per-atom array
-
Self-explanatory.
-
Compute reduce compute does not calculate a per-atom vector
-
Self-explanatory.
-
Compute reduce fix array is accessed out-of-range
-
An index for the array is out of bounds.
-
Compute reduce fix calculates global values
-
A fix that calculates peratom or local values is required.
-
Compute reduce fix does not calculate a local array
-
Self-explanatory.
-
Compute reduce fix does not calculate a local vector
-
Self-explanatory.
-
Compute reduce fix does not calculate a per-atom array
-
Self-explanatory.
-
Compute reduce fix does not calculate a per-atom vector
-
Self-explanatory.
-
Compute reduce replace requires min or max mode
-
Self-explanatory.
-
Compute reduce variable is not atom-style variable
-
Self-explanatory.
-
Compute slice compute array is accessed out-of-range
-
An index for the array is out of bounds.
-
Compute slice compute does not calculate a global array
-
Self-explanatory.
-
Compute slice compute does not calculate a global vector
-
Self-explanatory.
-
Compute slice compute does not calculate global vector or array
-
Self-explanatory.
-
Compute slice compute vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Compute slice fix array is accessed out-of-range
-
An index for the array is out of bounds.
-
Compute slice fix does not calculate a global array
-
Self-explanatory.
-
Compute slice fix does not calculate a global vector
-
Self-explanatory.
-
Compute slice fix does not calculate global vector or array
-
Self-explanatory.
-
Compute slice fix vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Compute sna/atom cutoff is longer than pairwise cutoff
-
Self-explanatory.
-
Compute sna/atom requires a pair style be defined
-
Self-explanatory.
-
Compute snad/atom cutoff is longer than pairwise cutoff
-
Self-explanatory.
-
Compute snad/atom requires a pair style be defined
-
Self-explanatory.
-
Compute snav/atom cutoff is longer than pairwise cutoff
-
Self-explanatory.
-
Compute snav/atom requires a pair style be defined
-
Self-explanatory.
-
Compute stress/atom temperature ID does not compute temperature
-
The specified compute must compute temperature.
-
Compute temp/asphere requires atom style ellipsoid
-
Self-explanatory.
-
Compute temp/asphere requires extended particles
-
This compute cannot be used with point paritlces.
-
Compute temp/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute temp/cs requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Compute temp/cs used when bonds are not allowed
-
This compute only works on pairs of bonded particles.
-
Compute temp/partial cannot use vz for 2d systemx
-
Self-explanatory.
-
Compute temp/profile cannot bin z for 2d systems
-
Self-explanatory.
-
Compute temp/profile cannot use vz for 2d systemx
-
Self-explanatory.
-
Compute temp/sphere requires atom style sphere
-
Self-explanatory.
-
Compute ti kspace style does not exist
-
Self-explanatory.
-
Compute ti pair style does not exist
-
Self-explanatory.
-
Compute ti tail when pair style does not compute tail corrections
-
Self-explanatory.
-
Compute torque/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Compute used in dump between runs is not current
-
The compute was not invoked on the current timestep, therefore it -cannot be used in a dump between runs.
-
Compute used in variable between runs is not current
-
Computes cannot be invoked by a variable in between runs. Thus they +nchunk to be static. + +
Compute nve/asphere requires atom style ellipsoid + +
Self-explanatory. + +
Compute nvt/nph/npt asphere requires atom style ellipsoid + +
Self-explanatory. + +
Compute omega/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute pair must use group all + +
Pair styles accumlate energy on all atoms. + +
Compute pe must use group all + +
Energies computed by potentials (pair, bond, etc) are computed on all +atoms. + +
Compute plasticity/atom cannot be used with this pair style + +
Self-explanatory. + +
Compute plasticity/atom requires Peridynamic pair style + +
Self-explanatory. + +
Compute pressure must use group all + +
Virial contributions computed by potentials (pair, bond, etc) are +computed on all atoms. + +
Compute pressure requires temperature ID to include kinetic energy + +
The keflag cannot be used unless a temperature compute is provided. + +
Compute pressure temperature ID does not compute temperature + +
The compute ID assigned to a pressure computation must compute +temperature. + +
Compute property/atom floating point vector does not exist + +
The command is accessing a vector added by the fix property/atom +command, that does not exist. + +
Compute property/atom for atom property that isn't allocated + +
Self-explanatory. + +
Compute property/atom integer vector does not exist + +
The command is accessing a vector added by the fix property/atom +command, that does not exist. + +
Compute property/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute property/local cannot use these inputs together + +
Only inputs that generate the same number of datums can be used +togther. E.g. bond and angle quantities cannot be mixed. + +
Compute property/local does not (yet) work with atom_style template + +
Self-explanatory. + +
Compute property/local for property that isn't allocated + +
Self-explanatory. + +
Compute rdf requires a pair style be defined + +
Self-explanatory. + +
Compute reduce compute array is accessed out-of-range + +
An index for the array is out of bounds. + +
Compute reduce compute calculates global values + +
A compute that calculates peratom or local values is required. + +
Compute reduce compute does not calculate a local array + +
Self-explanatory. + +
Compute reduce compute does not calculate a local vector + +
Self-explanatory. + +
Compute reduce compute does not calculate a per-atom array + +
Self-explanatory. + +
Compute reduce compute does not calculate a per-atom vector + +
Self-explanatory. + +
Compute reduce fix array is accessed out-of-range + +
An index for the array is out of bounds. + +
Compute reduce fix calculates global values + +
A fix that calculates peratom or local values is required. + +
Compute reduce fix does not calculate a local array + +
Self-explanatory. + +
Compute reduce fix does not calculate a local vector + +
Self-explanatory. + +
Compute reduce fix does not calculate a per-atom array + +
Self-explanatory. + +
Compute reduce fix does not calculate a per-atom vector + +
Self-explanatory. + +
Compute reduce replace requires min or max mode + +
Self-explanatory. + +
Compute reduce variable is not atom-style variable + +
Self-explanatory. + +
Compute slice compute array is accessed out-of-range + +
An index for the array is out of bounds. + +
Compute slice compute does not calculate a global array + +
Self-explanatory. + +
Compute slice compute does not calculate a global vector + +
Self-explanatory. + +
Compute slice compute does not calculate global vector or array + +
Self-explanatory. + +
Compute slice compute vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Compute slice fix array is accessed out-of-range + +
An index for the array is out of bounds. + +
Compute slice fix does not calculate a global array + +
Self-explanatory. + +
Compute slice fix does not calculate a global vector + +
Self-explanatory. + +
Compute slice fix does not calculate global vector or array + +
Self-explanatory. + +
Compute slice fix vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Compute sna/atom cutoff is longer than pairwise cutoff + +
Self-explanatory. + +
Compute sna/atom requires a pair style be defined + +
Self-explanatory. + +
Compute snad/atom cutoff is longer than pairwise cutoff + +
Self-explanatory. + +
Compute snad/atom requires a pair style be defined + +
Self-explanatory. + +
Compute snav/atom cutoff is longer than pairwise cutoff + +
Self-explanatory. + +
Compute snav/atom requires a pair style be defined + +
Self-explanatory. + +
Compute stress/atom temperature ID does not compute temperature + +
The specified compute must compute temperature. + +
Compute temp/asphere requires atom style ellipsoid + +
Self-explanatory. + +
Compute temp/asphere requires extended particles + +
This compute cannot be used with point paritlces. + +
Compute temp/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute temp/cs requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Compute temp/cs used when bonds are not allowed + +
This compute only works on pairs of bonded particles. + +
Compute temp/partial cannot use vz for 2d systemx + +
Self-explanatory. + +
Compute temp/profile cannot bin z for 2d systems + +
Self-explanatory. + +
Compute temp/profile cannot use vz for 2d systemx + +
Self-explanatory. + +
Compute temp/sphere requires atom style sphere + +
Self-explanatory. + +
Compute ti kspace style does not exist + +
Self-explanatory. + +
Compute ti pair style does not exist + +
Self-explanatory. + +
Compute ti tail when pair style does not compute tail corrections + +
Self-explanatory. + +
Compute torque/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Compute used in dump between runs is not current + +
The compute was not invoked on the current timestep, therefore it +cannot be used in a dump between runs. + +
Compute used in variable between runs is not current + +
Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the -variable command for more info.
-
Compute used in variable thermo keyword between runs is not current
-
Some thermo keywords rely on a compute to calculate their value(s). +variable command for more info. + +
Compute used in variable thermo keyword between runs is not current + +
Some thermo keywords rely on a compute to calculate their value(s). Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the -variable command for more info.
-
Compute vcm/chunk does not use chunk/atom compute
-
The style of the specified compute is not chunk/atom.
-
Computed temperature for fix temp/berendsen cannot be 0.0
-
Self-explanatory.
-
Computed temperature for fix temp/rescale cannot be 0.0
-
Cannot rescale the temperature to a new value if the current -temperature is 0.0.
-
Core/shell partner atom not found
-
Could not find one of the atoms in the bond pair.
-
Core/shell partners were not all found
-
Could not find or more atoms in the bond pairs.
-
Could not adjust g_ewald_6
-
The Newton-Raphson solver failed to converge to a good value for +variable command for more info. + +
Compute vcm/chunk does not use chunk/atom compute + +
The style of the specified compute is not chunk/atom. + +
Computed temperature for fix temp/berendsen cannot be 0.0 + +
Self-explanatory. + +
Computed temperature for fix temp/rescale cannot be 0.0 + +
Cannot rescale the temperature to a new value if the current +temperature is 0.0. + +
Core/shell partner atom not found + +
Could not find one of the atoms in the bond pair. + +
Core/shell partners were not all found + +
Could not find or more atoms in the bond pairs. + +
Could not adjust g_ewald_6 + +
The Newton-Raphson solver failed to converge to a good value for g_ewald. This error should not occur for typical problems. Please -send an email to the developers.
-
Could not compute g_ewald
-
The Newton-Raphson solver failed to converge to a good value for +send an email to the developers. + +
Could not compute g_ewald + +
The Newton-Raphson solver failed to converge to a good value for g_ewald. This error should not occur for typical problems. Please -send an email to the developers.
-
Could not compute grid size
-
The code is unable to compute a grid size consistent with the desired +send an email to the developers. + +
Could not compute grid size + +
The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers.
-
Could not compute grid size for Coulomb interaction
-
The code is unable to compute a grid size consistent with the desired +send an email to the developers. + +
Could not compute grid size for Coulomb interaction + +
The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers.
-
Could not compute grid size for Dispersion
-
The code is unable to compute a grid size consistent with the desired +send an email to the developers. + +
Could not compute grid size for Dispersion + +
The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers.
-
Could not create 3d FFT plan
-
The FFT setup for the PPPM solver failed, typically due +send an email to the developers. + +
Could not create 3d FFT plan + +
The FFT setup for the PPPM solver failed, typically due to lack of memory. This is an unusual error. Check the -size of the FFT grid you are requesting.
-
Could not create 3d grid of processors
-
The specified constraints did not allow a Px by Py by Pz grid to be -created where Px * Py * Pz = P = total number of processors.
-
Could not create 3d remap plan
-
The FFT setup in pppm failed.
-
Could not create Python function arguments
-
This is an internal Python error, possibly because the number -of inputs to the function is too large.
-
Could not create numa grid of processors
-
The specified constraints did not allow this style of grid to be +size of the FFT grid you are requesting. + +
Could not create 3d grid of processors + +
The specified constraints did not allow a Px by Py by Pz grid to be +created where Px * Py * Pz = P = total number of processors. + +
Could not create 3d remap plan + +
The FFT setup in pppm failed. + +
Could not create Python function arguments + +
This is an internal Python error, possibly because the number +of inputs to the function is too large. + +
Could not create numa grid of processors + +
The specified constraints did not allow this style of grid to be created. Usually this is because the total processor count is not a -multiple of the cores/node or the user specified processor count is > -1 in one of the dimensions.
-
Could not create twolevel 3d grid of processors
-
The specified constraints did not allow this style of grid to be -created.
-
Could not evaluate Python function input variable
-
Self-explanatory.
-
Could not find Python function
-
The provided Python code was run successfully, but it not -define a callable function with the required name.
-
Could not find atom_modify first group ID
-
Self-explanatory.
-
Could not find change_box group ID
-
Group ID used in the change_box command does not exist.
-
Could not find compute ID for PRD
-
Self-explanatory.
-
Could not find compute ID for TAD
-
Self-explanatory.
-
Could not find compute ID for temperature bias
-
Self-explanatory.
-
Could not find compute ID to delete
-
Self-explanatory.
-
Could not find compute displace/atom fix ID
-
Self-explanatory.
-
Could not find compute event/displace fix ID
-
Self-explanatory.
-
Could not find compute group ID
-
Self-explanatory.
-
Could not find compute heat/flux compute ID
-
Self-explanatory.
-
Could not find compute msd fix ID
-
Self-explanatory.
-
Could not find compute pressure temperature ID
-
The compute ID for calculating temperature does not exist.
-
Could not find compute stress/atom temperature ID
-
Self-explanatory.
-
Could not find compute vacf fix ID
-
Self-explanatory.
-
Could not find compute/voronoi surface group ID
-
Self-explanatory.
-
Could not find compute_modify ID
-
Self-explanatory.
-
Could not find custom per-atom property ID
-
Self-explanatory.
-
Could not find delete_atoms group ID
-
Group ID used in the delete_atoms command does not exist.
-
Could not find delete_atoms region ID
-
Region ID used in the delete_atoms command does not exist.
-
Could not find displace_atoms group ID
-
Group ID used in the displace_atoms command does not exist.
-
Could not find dump custom compute ID
-
Self-explanatory.
-
Could not find dump custom fix ID
-
Self-explanatory.
-
Could not find dump custom variable name
-
Self-explanatory.
-
Could not find dump group ID
-
A group ID used in the dump command does not exist.
-
Could not find dump local compute ID
-
Self-explanatory.
-
Could not find dump local fix ID
-
Self-explanatory.
-
Could not find dump modify compute ID
-
Self-explanatory.
-
Could not find dump modify custom atom floating point property ID
-
Self-explanatory.
-
Could not find dump modify custom atom integer property ID
-
Self-explanatory.
-
Could not find dump modify fix ID
-
Self-explanatory.
-
Could not find dump modify variable name
-
Self-explanatory.
-
Could not find fix ID to delete
-
Self-explanatory.
-
Could not find fix adapt storage fix ID
-
This should not happen unless you explicitly deleted -a secondary fix that fix adapt created internally.
-
Could not find fix gcmc exclusion group ID
-
Self-explanatory.
-
Could not find fix gcmc rotation group ID
-
Self-explanatory.
-
Could not find fix group ID
-
A group ID used in the fix command does not exist.
-
Could not find fix msst compute ID
-
Self-explanatory.
-
Could not find fix poems group ID
-
A group ID used in the fix poems command does not exist.
-
Could not find fix recenter group ID
-
A group ID used in the fix recenter command does not exist.
-
Could not find fix rigid group ID
-
A group ID used in the fix rigid command does not exist.
-
Could not find fix srd group ID
-
Self-explanatory.
-
Could not find fix_modify ID
-
A fix ID used in the fix_modify command does not exist.
-
Could not find fix_modify pressure ID
-
The compute ID for computing pressure does not exist.
-
Could not find fix_modify temperature ID
-
The compute ID for computing temperature does not exist.
-
Could not find group clear group ID
-
Self-explanatory.
-
Could not find group delete group ID
-
Self-explanatory.
-
Could not find set group ID
-
Group ID specified in set command does not exist.
-
Could not find thermo compute ID
-
Compute ID specified in thermo_style command does not exist.
-
Could not find thermo custom compute ID
-
The compute ID needed by thermo style custom to compute a requested -quantity does not exist.
-
Could not find thermo custom fix ID
-
The fix ID needed by thermo style custom to compute a requested -quantity does not exist.
-
Could not find thermo custom variable name
-
Self-explanatory.
-
Could not find thermo fix ID
-
Fix ID specified in thermo_style command does not exist.
-
Could not find thermo variable name
-
Self-explanatory.
-
Could not find thermo_modify pressure ID
-
The compute ID needed by thermo style custom to compute pressure does -not exist.
-
Could not find thermo_modify temperature ID
-
The compute ID needed by thermo style custom to compute temperature does -not exist.
-
Could not find undump ID
-
A dump ID used in the undump command does not exist.
-
Could not find velocity group ID
-
A group ID used in the velocity command does not exist.
-
Could not find velocity temperature ID
-
The compute ID needed by the velocity command to compute temperature -does not exist.
-
Could not find/initialize a specified accelerator device
-
Could not initialize at least one of the devices specified for the gpu -package
-
Could not grab element entry from EIM potential file
-
Self-explanatory
-
Could not grab global entry from EIM potential file
-
Self-explanatory.
-
Could not grab pair entry from EIM potential file
-
Self-explanatory.
-
Could not initialize embedded Python
-
The main module in Python was not accessible.
-
Could not open Python file
-
The specified file of Python code cannot be opened. Check that the -path and name are correct.
-
Could not process Python file
-
The Python code in the specified file was not run sucessfully by -Python, probably due to errors in the Python code.
-
Could not process Python string
-
The Python code in the here string was not run sucessfully by Python, -probably due to errors in the Python code.
-
Coulomb PPPMDisp order has been reduced below minorder
-
The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
-
Coulomb cut not supported in pair_style buck/long/coul/coul
-
Must use long-range Coulombic interactions.
-
Coulomb cut not supported in pair_style lj/long/coul/long
-
Must use long-range Coulombic interactions.
-
Coulomb cut not supported in pair_style lj/long/tip4p/long
-
Must use long-range Coulombic interactions.
-
Coulomb cutoffs of pair hybrid sub-styles do not match
-
If using a Kspace solver, all Coulomb cutoffs of long pair styles must -be the same.
-
Coulombic cut not supported in pair_style lj/long/dipole/long
-
Must use long-range Coulombic interactions.
-
Cound not find dump_modify ID
-
Self-explanatory.
-
Create_atoms command before simulation box is defined
-
The create_atoms command cannot be used before a read_data, -read_restart, or create_box command.
-
Create_atoms molecule has atom IDs, but system does not
-
The atom_style id command can be used to force atom IDs to be stored.
-
Create_atoms molecule must have atom types
-
The defined molecule does not specify atom types.
-
Create_atoms molecule must have coordinates
-
The defined molecule does not specify coordinates.
-
Create_atoms region ID does not exist
-
A region ID used in the create_atoms command does not exist.
-
Create_bonds command before simulation box is defined
-
Self-explanatory.
-
Create_bonds command requires no kspace_style be defined
-
This is so that atom pairs that are already bonded to not appear -in the neighbor list.
-
Create_bonds command requires special_bonds 1-2 weights be 0.0
-
This is so that atom pairs that are already bonded to not appear in -the neighbor list.
-
Create_bonds max distance > neighbor cutoff
-
Can only create bonds for atom pairs that will be in neighbor list.
-
Create_bonds requires a pair style be defined
-
Self-explanatory.
-
Create_box region ID does not exist
-
Self-explanatory.
-
Create_box region does not support a bounding box
-
Not all regions represent bounded volumes. You cannot use -such a region with the create_box command.
-
Custom floating point vector for fix store/state does not exist
-
The command is accessing a vector added by the fix property/atom -command, that does not exist.
-
Custom integer vector for fix store/state does not exist
-
The command is accessing a vector added by the fix property/atom -command, that does not exist.
-
Custom per-atom property ID is not floating point
-
Self-explanatory.
-
Custom per-atom property ID is not integer
-
Self-explanatory.
-
Cut-offs missing in pair_style lj/long/dipole/long
-
Self-explanatory.
-
Cutoffs missing in pair_style buck/long/coul/long
-
Self-exlanatory.
-
Cutoffs missing in pair_style lj/long/coul/long
-
Self-explanatory.
-
Cyclic loop in joint connections
-
Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a ring (or cycle).
-
Degenerate lattice primitive vectors
-
Invalid set of 3 lattice vectors for lattice command.
-
Delete region ID does not exist
-
Self-explanatory.
-
Delete_atoms command before simulation box is defined
-
The delete_atoms command cannot be used before a read_data, -read_restart, or create_box command.
-
Delete_atoms cutoff > max neighbor cutoff
-
Can only delete atoms in atom pairs that will be in neighbor list.
-
Delete_atoms requires a pair style be defined
-
This is because atom deletion within a cutoff uses a pairwise -neighbor list.
-
Delete_bonds command before simulation box is defined
-
The delete_bonds command cannot be used before a read_data, -read_restart, or create_box command.
-
Delete_bonds command with no atoms existing
-
No atoms are yet defined so the delete_bonds command cannot be used.
-
Delta_mu not allowed when not using semi-grand in fix atom/swap command
-
Self-explanatory.
-
Deposition region extends outside simulation box
-
Self-explanatory.
-
Did not assign all atoms correctly
-
Atoms read in from a data file were not assigned correctly to +multiple of the cores/node or the user specified processor count is > +1 in one of the dimensions. + +
Could not create twolevel 3d grid of processors + +
The specified constraints did not allow this style of grid to be +created. + +
Could not evaluate Python function input variable + +
Self-explanatory. + +
Could not find Python function + +
The provided Python code was run successfully, but it not +define a callable function with the required name. + +
Could not find atom_modify first group ID + +
Self-explanatory. + +
Could not find change_box group ID + +
Group ID used in the change_box command does not exist. + +
Could not find compute ID for PRD + +
Self-explanatory. + +
Could not find compute ID for TAD + +
Self-explanatory. + +
Could not find compute ID for temperature bias + +
Self-explanatory. + +
Could not find compute ID to delete + +
Self-explanatory. + +
Could not find compute displace/atom fix ID + +
Self-explanatory. + +
Could not find compute event/displace fix ID + +
Self-explanatory. + +
Could not find compute group ID + +
Self-explanatory. + +
Could not find compute heat/flux compute ID + +
Self-explanatory. + +
Could not find compute msd fix ID + +
Self-explanatory. + +
Could not find compute pressure temperature ID + +
The compute ID for calculating temperature does not exist. + +
Could not find compute stress/atom temperature ID + +
Self-explanatory. + +
Could not find compute vacf fix ID + +
Self-explanatory. + +
Could not find compute/voronoi surface group ID + +
Self-explanatory. + +
Could not find compute_modify ID + +
Self-explanatory. + +
Could not find custom per-atom property ID + +
Self-explanatory. + +
Could not find delete_atoms group ID + +
Group ID used in the delete_atoms command does not exist. + +
Could not find delete_atoms region ID + +
Region ID used in the delete_atoms command does not exist. + +
Could not find displace_atoms group ID + +
Group ID used in the displace_atoms command does not exist. + +
Could not find dump custom compute ID + +
Self-explanatory. + +
Could not find dump custom fix ID + +
Self-explanatory. + +
Could not find dump custom variable name + +
Self-explanatory. + +
Could not find dump group ID + +
A group ID used in the dump command does not exist. + +
Could not find dump local compute ID + +
Self-explanatory. + +
Could not find dump local fix ID + +
Self-explanatory. + +
Could not find dump modify compute ID + +
Self-explanatory. + +
Could not find dump modify custom atom floating point property ID + +
Self-explanatory. + +
Could not find dump modify custom atom integer property ID + +
Self-explanatory. + +
Could not find dump modify fix ID + +
Self-explanatory. + +
Could not find dump modify variable name + +
Self-explanatory. + +
Could not find fix ID to delete + +
Self-explanatory. + +
Could not find fix adapt storage fix ID + +
This should not happen unless you explicitly deleted +a secondary fix that fix adapt created internally. + +
Could not find fix gcmc exclusion group ID + +
Self-explanatory. + +
Could not find fix gcmc rotation group ID + +
Self-explanatory. + +
Could not find fix group ID + +
A group ID used in the fix command does not exist. + +
Could not find fix msst compute ID + +
Self-explanatory. + +
Could not find fix poems group ID + +
A group ID used in the fix poems command does not exist. + +
Could not find fix recenter group ID + +
A group ID used in the fix recenter command does not exist. + +
Could not find fix rigid group ID + +
A group ID used in the fix rigid command does not exist. + +
Could not find fix srd group ID + +
Self-explanatory. + +
Could not find fix_modify ID + +
A fix ID used in the fix_modify command does not exist. + +
Could not find fix_modify pressure ID + +
The compute ID for computing pressure does not exist. + +
Could not find fix_modify temperature ID + +
The compute ID for computing temperature does not exist. + +
Could not find group clear group ID + +
Self-explanatory. + +
Could not find group delete group ID + +
Self-explanatory. + +
Could not find set group ID + +
Group ID specified in set command does not exist. + +
Could not find thermo compute ID + +
Compute ID specified in thermo_style command does not exist. + +
Could not find thermo custom compute ID + +
The compute ID needed by thermo style custom to compute a requested +quantity does not exist. + +
Could not find thermo custom fix ID + +
The fix ID needed by thermo style custom to compute a requested +quantity does not exist. + +
Could not find thermo custom variable name + +
Self-explanatory. + +
Could not find thermo fix ID + +
Fix ID specified in thermo_style command does not exist. + +
Could not find thermo variable name + +
Self-explanatory. + +
Could not find thermo_modify pressure ID + +
The compute ID needed by thermo style custom to compute pressure does +not exist. + +
Could not find thermo_modify temperature ID + +
The compute ID needed by thermo style custom to compute temperature does +not exist. + +
Could not find undump ID + +
A dump ID used in the undump command does not exist. + +
Could not find velocity group ID + +
A group ID used in the velocity command does not exist. + +
Could not find velocity temperature ID + +
The compute ID needed by the velocity command to compute temperature +does not exist. + +
Could not find/initialize a specified accelerator device + +
Could not initialize at least one of the devices specified for the gpu +package + +
Could not grab element entry from EIM potential file + +
Self-explanatory + +
Could not grab global entry from EIM potential file + +
Self-explanatory. + +
Could not grab pair entry from EIM potential file + +
Self-explanatory. + +
Could not initialize embedded Python + +
The main module in Python was not accessible. + +
Could not open Python file + +
The specified file of Python code cannot be opened. Check that the +path and name are correct. + +
Could not process Python file + +
The Python code in the specified file was not run sucessfully by +Python, probably due to errors in the Python code. + +
Could not process Python string + +
The Python code in the here string was not run sucessfully by Python, +probably due to errors in the Python code. + +
Coulomb PPPMDisp order has been reduced below minorder + +
The default minimum order is 2. This can be reset by the +kspace_modify minorder command. + +
Coulomb cut not supported in pair_style buck/long/coul/coul + +
Must use long-range Coulombic interactions. + +
Coulomb cut not supported in pair_style lj/long/coul/long + +
Must use long-range Coulombic interactions. + +
Coulomb cut not supported in pair_style lj/long/tip4p/long + +
Must use long-range Coulombic interactions. + +
Coulomb cutoffs of pair hybrid sub-styles do not match + +
If using a Kspace solver, all Coulomb cutoffs of long pair styles must +be the same. + +
Coulombic cut not supported in pair_style lj/long/dipole/long + +
Must use long-range Coulombic interactions. + +
Cound not find dump_modify ID + +
Self-explanatory. + +
Create_atoms command before simulation box is defined + +
The create_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
Create_atoms molecule has atom IDs, but system does not + +
The atom_style id command can be used to force atom IDs to be stored. + +
Create_atoms molecule must have atom types + +
The defined molecule does not specify atom types. + +
Create_atoms molecule must have coordinates + +
The defined molecule does not specify coordinates. + +
Create_atoms region ID does not exist + +
A region ID used in the create_atoms command does not exist. + +
Create_bonds command before simulation box is defined + +
Self-explanatory. + +
Create_bonds command requires no kspace_style be defined + +
This is so that atom pairs that are already bonded to not appear +in the neighbor list. + +
Create_bonds command requires special_bonds 1-2 weights be 0.0 + +
This is so that atom pairs that are already bonded to not appear in +the neighbor list. + +
Create_bonds max distance > neighbor cutoff + +
Can only create bonds for atom pairs that will be in neighbor list. + +
Create_bonds requires a pair style be defined + +
Self-explanatory. + +
Create_box region ID does not exist + +
Self-explanatory. + +
Create_box region does not support a bounding box + +
Not all regions represent bounded volumes. You cannot use +such a region with the create_box command. + +
Custom floating point vector for fix store/state does not exist + +
The command is accessing a vector added by the fix property/atom +command, that does not exist. + +
Custom integer vector for fix store/state does not exist + +
The command is accessing a vector added by the fix property/atom +command, that does not exist. + +
Custom per-atom property ID is not floating point + +
Self-explanatory. + +
Custom per-atom property ID is not integer + +
Self-explanatory. + +
Cut-offs missing in pair_style lj/long/dipole/long + +
Self-explanatory. + +
Cutoffs missing in pair_style buck/long/coul/long + +
Self-exlanatory. + +
Cutoffs missing in pair_style lj/long/coul/long + +
Self-explanatory. + +
Cyclic loop in joint connections + +
Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a ring (or cycle). + +
Degenerate lattice primitive vectors + +
Invalid set of 3 lattice vectors for lattice command. + +
Delete region ID does not exist + +
Self-explanatory. + +
Delete_atoms command before simulation box is defined + +
The delete_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
Delete_atoms cutoff > max neighbor cutoff + +
Can only delete atoms in atom pairs that will be in neighbor list. + +
Delete_atoms requires a pair style be defined + +
This is because atom deletion within a cutoff uses a pairwise +neighbor list. + +
Delete_bonds command before simulation box is defined + +
The delete_bonds command cannot be used before a read_data, +read_restart, or create_box command. + +
Delete_bonds command with no atoms existing + +
No atoms are yet defined so the delete_bonds command cannot be used. + +
Delta_mu not allowed when not using semi-grand in fix atom/swap command + +
Self-explanatory. + +
Deposition region extends outside simulation box + +
Self-explanatory. + +
Did not assign all atoms correctly + +
Atoms read in from a data file were not assigned correctly to processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box.
-
Did not assign all restart atoms correctly
-
Atoms read in from the restart file were not assigned correctly to +outside a non-periodic simulation box. + +
Did not assign all restart atoms correctly + +
Atoms read in from the restart file were not assigned correctly to processors. This is likely due to some atom coordinates being outside a non-periodic simulation box. Normally this should not happen. You -may wish to use the “remap” option on the read_restart command to see -if this helps.
-
Did not find all elements in MEAM library file
-
The requested elements were not found in the MEAM file.
-
Did not find fix shake partner info
-
Could not find bond partners implied by fix shake command. This error +may wish to use the "remap" option on the read_restart command to see +if this helps. + +
Did not find all elements in MEAM library file + +
The requested elements were not found in the MEAM file. + +
Did not find fix shake partner info + +
Could not find bond partners implied by fix shake command. This error can be triggered if the delete_bonds command was used before fix shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 -weighting list via the special keyword.
-
Did not find keyword in table file
-
Keyword used in pair_coeff command was not found in table file.
-
Did not set pressure for fix rigid/nph
-
The press keyword must be specified.
-
Did not set temp for fix rigid/nvt/small
-
Self-explanatory.
-
Did not set temp or press for fix rigid/npt/small
-
Self-explanatory.
-
Did not set temperature for fix rigid/nvt
-
The temp keyword must be specified.
-
Did not set temperature or pressure for fix rigid/npt
-
The temp and press keywords must be specified.
-
Dihedral atom missing in delete_bonds
-
The delete_bonds command cannot find one or more atoms in a particular +weighting list via the special keyword. + +
Did not find keyword in table file + +
Keyword used in pair_coeff command was not found in table file. + +
Did not set pressure for fix rigid/nph + +
The press keyword must be specified. + +
Did not set temp for fix rigid/nvt/small + +
Self-explanatory. + +
Did not set temp or press for fix rigid/npt/small + +
Self-explanatory. + +
Did not set temperature for fix rigid/nvt + +
The temp keyword must be specified. + +
Did not set temperature or pressure for fix rigid/npt + +
The temp and press keywords must be specified. + +
Dihedral atom missing in delete_bonds + +
The delete_bonds command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid dihedral.
-
Dihedral atom missing in set command
-
The set command cannot find one or more atoms in a particular dihedral +or the atoms are too far apart to make a valid dihedral. + +
Dihedral atom missing in set command + +
The set command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid dihedral.
-
Dihedral atoms %d %d %d %d missing on proc %d at step %ld
-
One or more of 4 atoms needed to compute a particular dihedral are +atoms are too far apart to make a valid dihedral. + +
Dihedral atoms %d %d %d %d missing on proc %d at step %ld + +
One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
-
Dihedral atoms missing on proc %d at step %ld
-
One or more of 4 atoms needed to compute a particular dihedral are +too far away. + +
Dihedral atoms missing on proc %d at step %ld + +
One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
-
Dihedral charmm is incompatible with Pair style
-
Dihedral style charmm must be used with a pair style charmm -in order for the 1-4 epsilon/sigma parameters to be defined.
-
Dihedral coeff for hybrid has invalid style
-
Dihedral style hybrid uses another dihedral style as one of its +too far away. + +
Dihedral charmm is incompatible with Pair style + +
Dihedral style charmm must be used with a pair style charmm +in order for the 1-4 epsilon/sigma parameters to be defined. + +
Dihedral coeff for hybrid has invalid style + +
Dihedral style hybrid uses another dihedral style as one of its coefficients. The dihedral style used in the dihedral_coeff command -or read from a restart file is not recognized.
-
Dihedral coeffs are not set
-
No dihedral coefficients have been assigned in the data file or via -the dihedral_coeff command.
-
Dihedral style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Dihedral style hybrid cannot have none as an argument
-
Self-explanatory.
-
Dihedral style hybrid cannot use same dihedral style twice
-
Self-explanatory.
-
Dihedral/improper extent > half of periodic box length
-
This error was detected by the neigh_modify check yes setting. It is +or read from a restart file is not recognized. + +
Dihedral coeffs are not set + +
No dihedral coefficients have been assigned in the data file or via +the dihedral_coeff command. + +
Dihedral style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Dihedral style hybrid cannot have none as an argument + +
Self-explanatory. + +
Dihedral style hybrid cannot use same dihedral style twice + +
Self-explanatory. + +
Dihedral/improper extent > half of periodic box length + +
This error was detected by the neigh_modify check yes setting. It is an error because the dihedral atoms are so far apart it is ambiguous -how it should be defined.
-
Dihedral_coeff command before dihedral_style is defined
-
Coefficients cannot be set in the data file or via the dihedral_coeff -command until an dihedral_style has been assigned.
-
Dihedral_coeff command before simulation box is defined
-
The dihedral_coeff command cannot be used before a read_data, -read_restart, or create_box command.
-
Dihedral_coeff command when no dihedrals allowed
-
The chosen atom style does not allow for dihedrals to be defined.
-
Dihedral_style command when no dihedrals allowed
-
The chosen atom style does not allow for dihedrals to be defined.
-
Dihedrals assigned incorrectly
-
Dihedrals read in from the data file were not assigned correctly to +how it should be defined. + +
Dihedral_coeff command before dihedral_style is defined + +
Coefficients cannot be set in the data file or via the dihedral_coeff +command until an dihedral_style has been assigned. + +
Dihedral_coeff command before simulation box is defined + +
The dihedral_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
Dihedral_coeff command when no dihedrals allowed + +
The chosen atom style does not allow for dihedrals to be defined. + +
Dihedral_style command when no dihedrals allowed + +
The chosen atom style does not allow for dihedrals to be defined. + +
Dihedrals assigned incorrectly + +
Dihedrals read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions.
-
Dihedrals defined but no dihedral types
-
The data file header lists dihedrals but no dihedral types.
-
Dimension command after simulation box is defined
-
The dimension command cannot be used after a read_data, -read_restart, or create_box command.
-
Dispersion PPPMDisp order has been reduced below minorder
-
The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
-
Displace_atoms command before simulation box is defined
-
The displace_atoms command cannot be used before a read_data, -read_restart, or create_box command.
-
Distance must be > 0 for compute event/displace
-
Self-explanatory.
-
Divide by 0 in influence function
-
This should not normally occur. It is likely a problem with your -model.
-
Divide by 0 in influence function of pair peri/lps
-
This should not normally occur. It is likely a problem with your -model.
-
Divide by 0 in variable formula
-
Self-explanatory.
-
Domain too large for neighbor bins
-
The domain has become extremely large so that neighbor bins cannot be +definitions. + +
Dihedrals defined but no dihedral types + +
The data file header lists dihedrals but no dihedral types. + +
Dimension command after simulation box is defined + +
The dimension command cannot be used after a read_data, +read_restart, or create_box command. + +
Dispersion PPPMDisp order has been reduced below minorder + +
The default minimum order is 2. This can be reset by the +kspace_modify minorder command. + +
Displace_atoms command before simulation box is defined + +
The displace_atoms command cannot be used before a read_data, +read_restart, or create_box command. + +
Distance must be > 0 for compute event/displace + +
Self-explanatory. + +
Divide by 0 in influence function + +
This should not normally occur. It is likely a problem with your +model. + +
Divide by 0 in influence function of pair peri/lps + +
This should not normally occur. It is likely a problem with your +model. + +
Divide by 0 in variable formula + +
Self-explanatory. + +
Domain too large for neighbor bins + +
The domain has become extremely large so that neighbor bins cannot be used. Most likely, one or more atoms have been blown out of the -simulation box to a great distance.
-
Double precision is not supported on this accelerator
-
Self-explanatory
-
Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu
-
Self-explanatory.
-
Dump cfg arguments must start with ‘mass type xs ys zs’ or ‘mass type xsu ysu zsu’
-
This is a requirement of the CFG output format. See the dump cfg doc -page for more details.
-
Dump cfg requires one snapshot per file
-
Use the wildcard “*” character in the filename.
-
Dump custom and fix not computed at compatible times
-
The fix must produce per-atom quantities on timesteps that dump custom -needs them.
-
Dump custom compute does not calculate per-atom array
-
Self-explanatory.
-
Dump custom compute does not calculate per-atom vector
-
Self-explanatory.
-
Dump custom compute does not compute per-atom info
-
Self-explanatory.
-
Dump custom compute vector is accessed out-of-range
-
Self-explanatory.
-
Dump custom fix does not compute per-atom array
-
Self-explanatory.
-
Dump custom fix does not compute per-atom info
-
Self-explanatory.
-
Dump custom fix does not compute per-atom vector
-
Self-explanatory.
-
Dump custom fix vector is accessed out-of-range
-
Self-explanatory.
-
Dump custom variable is not atom-style variable
-
Only atom-style variables generate per-atom quantities, needed for -dump output.
-
Dump dcd of non-matching # of atoms
-
Every snapshot written by dump dcd must contain the same # of atoms.
-
Dump dcd requires sorting by atom ID
-
Use the dump_modify sort command to enable this.
-
Dump every variable returned a bad timestep
-
The variable must return a timestep greater than the current timestep.
-
Dump file MPI-IO output not allowed with % in filename
-
This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
-
Dump file does not contain requested snapshot
-
Self-explanatory.
-
Dump file is incorrectly formatted
-
Self-explanatory.
-
Dump image bond not allowed with no bond types
-
Self-explanatory.
-
Dump image cannot perform sorting
-
Self-explanatory.
-
Dump image persp option is not yet supported
-
Self-explanatory.
-
Dump image requires one snapshot per file
-
Use a “*” in the filename.
-
Dump local and fix not computed at compatible times
-
The fix must produce per-atom quantities on timesteps that dump local -needs them.
-
Dump local attributes contain no compute or fix
-
Self-explanatory.
-
Dump local cannot sort by atom ID
-
This is because dump local does not really dump per-atom info.
-
Dump local compute does not calculate local array
-
Self-explanatory.
-
Dump local compute does not calculate local vector
-
Self-explanatory.
-
Dump local compute does not compute local info
-
Self-explanatory.
-
Dump local compute vector is accessed out-of-range
-
Self-explanatory.
-
Dump local count is not consistent across input fields
-
Every column of output must be the same length.
-
Dump local fix does not compute local array
-
Self-explanatory.
-
Dump local fix does not compute local info
-
Self-explanatory.
-
Dump local fix does not compute local vector
-
Self-explanatory.
-
Dump local fix vector is accessed out-of-range
-
Self-explanatory.
-
Dump modify bcolor not allowed with no bond types
-
Self-explanatory.
-
Dump modify bdiam not allowed with no bond types
-
Self-explanatory.
-
Dump modify compute ID does not compute per-atom array
-
Self-explanatory.
-
Dump modify compute ID does not compute per-atom info
-
Self-explanatory.
-
Dump modify compute ID does not compute per-atom vector
-
Self-explanatory.
-
Dump modify compute ID vector is not large enough
-
Self-explanatory.
-
Dump modify element names do not match atom types
-
Number of element names must equal number of atom types.
-
Dump modify fix ID does not compute per-atom array
-
Self-explanatory.
-
Dump modify fix ID does not compute per-atom info
-
Self-explanatory.
-
Dump modify fix ID does not compute per-atom vector
-
Self-explanatory.
-
Dump modify fix ID vector is not large enough
-
Self-explanatory.
-
Dump modify variable is not atom-style variable
-
Self-explanatory.
-
Dump sort column is invalid
-
Self-explanatory.
-
Dump xtc requires sorting by atom ID
-
Use the dump_modify sort command to enable this.
-
Dump_modify buffer yes not allowed for this style
-
Self-explanatory.
-
Dump_modify format string is too short
-
There are more fields to be dumped in a line of output than your -format string specifies.
-
Dump_modify region ID does not exist
-
Self-explanatory.
-
Dumping an atom property that isn’t allocated
-
The chosen atom style does not define the per-atom quantity being -dumped.
-
Duplicate fields in read_dump command
-
Self-explanatory.
-
Duplicate particle in PeriDynamic bond - simulation box is too small
-
This is likely because your box length is shorter than 2 times -the bond length.
-
Electronic temperature dropped below zero
-
Something has gone wrong with the fix ttm electron temperature model.
-
Empty brackets in variable
-
There is no variable syntax that uses empty brackets. Check -the variable doc page.
-
Energy was not tallied on needed timestep
-
You are using a thermo keyword that requires potentials to -have tallied energy, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
-
Epsilon or sigma reference not set by pair style in PPPMDisp
-
Self-explanatory.
-
Epsilon or sigma reference not set by pair style in ewald/n
-
The pair style is not providing the needed epsilon or sigma values.
-
Error in vdw spline: inner radius > outer radius
-
A pre-tabulated spline is invalid. Likely a problem with the -potential parameters.
-
Failed to allocate %ld bytes for array %s
-
Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors.
-
Failed to open FFmpeg pipeline to file %s
-
The specified file cannot be opened. Check that the path and name are -correct and writable and that the FFmpeg executable can be found and run.
-
Failed to reallocate %ld bytes for array %s
-
Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors.
-
Fewer SRD bins than processors in some dimension
-
This is not allowed. Make your SRD bin size smaller.
-
File variable could not read value
-
Check the file assigned to the variable.
-
Final box dimension due to fix deform is < 0.0
-
Self-explanatory.
-
Fix %s does not allow use of dynamic group
-
Dynamic groups have not yet been enabled for this fix.
-
Fix ID for compute chunk/atom does not exist
-
Self-explanatory.
-
Fix ID for compute erotate/rigid does not exist
-
Self-explanatory.
-
Fix ID for compute ke/rigid does not exist
-
Self-explanatory.
-
Fix ID for compute reduce does not exist
-
Self-explanatory.
-
Fix ID for compute slice does not exist
-
Self-explanatory.
-
Fix ID for fix ave/atom does not exist
-
Self-explanatory.
-
Fix ID for fix ave/chunk does not exist
-
Self-explanatory.
-
Fix ID for fix ave/correlate does not exist
-
Self-explanatory.
-
Fix ID for fix ave/histo does not exist
-
Self-explanatory.
-
Fix ID for fix ave/spatial does not exist
-
Self-explanatory.
-
Fix ID for fix ave/time does not exist
-
Self-explanatory.
-
Fix ID for fix store/state does not exist
-
Self-explanatory
-
Fix ID for fix vector does not exist
-
Self-explanatory.
-
Fix ID for read_data does not exist
-
Self-explanatory.
-
Fix ID for velocity does not exist
-
Self-explanatory.
-
Fix ID must be alphanumeric or underscore characters
-
Self-explanatory.
-
Fix SRD: bad bin assignment for SRD advection
-
Something has gone wrong in your SRD model; try using more -conservative settings.
-
Fix SRD: bad search bin assignment
-
Something has gone wrong in your SRD model; try using more -conservative settings.
-
Fix SRD: bad stencil bin for big particle
-
Something has gone wrong in your SRD model; try using more -conservative settings.
-
Fix SRD: too many big particles in bin
-
Reset the ATOMPERBIN parameter at the top of fix_srd.cpp -to a larger value, and re-compile the code.
-
Fix SRD: too many walls in bin
-
This should not happen unless your system has been setup incorrectly.
-
Fix adapt interface to this pair style not supported
-
New coding for the pair style would need to be done.
-
Fix adapt kspace style does not exist
-
Self-explanatory.
-
Fix adapt pair style does not exist
-
Self-explanatory
-
Fix adapt pair style param not supported
-
The pair style does not know about the parameter you specified.
-
Fix adapt requires atom attribute charge
-
The atom style being used does not specify an atom charge.
-
Fix adapt requires atom attribute diameter
-
The atom style being used does not specify an atom diameter.
-
Fix adapt type pair range is not valid for pair hybrid sub-style
-
Self-explanatory.
-
Fix append/atoms requires a lattice be defined
-
Use the lattice command for this purpose.
-
Fix ave/atom compute array is accessed out-of-range
-
Self-explanatory.
-
Fix ave/atom compute does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/atom compute does not calculate a per-atom vector
-
A compute used by fix ave/atom must generate per-atom values.
-
Fix ave/atom compute does not calculate per-atom values
-
A compute used by fix ave/atom must generate per-atom values.
-
Fix ave/atom fix array is accessed out-of-range
-
Self-explanatory.
-
Fix ave/atom fix does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/atom fix does not calculate a per-atom vector
-
A fix used by fix ave/atom must generate per-atom values.
-
Fix ave/atom fix does not calculate per-atom values
-
A fix used by fix ave/atom must generate per-atom values.
-
Fix ave/atom variable is not atom-style variable
-
A variable used by fix ave/atom must generate per-atom values.
-
Fix ave/chunk compute does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/chunk compute does not calculate a per-atom vector
-
Self-explanatory.
-
Fix ave/chunk compute does not calculate per-atom values
-
Self-explanatory.
-
Fix ave/chunk compute vector is accessed out-of-range
-
Self-explanatory.
-
Fix ave/chunk does not use chunk/atom compute
-
The specified conpute is not for a compute chunk/atom command.
-
Fix ave/chunk fix does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/chunk fix does not calculate a per-atom vector
-
Self-explanatory.
-
Fix ave/chunk fix does not calculate per-atom values
-
Self-explanatory.
-
Fix ave/chunk fix vector is accessed out-of-range
-
Self-explanatory.
-
Fix ave/chunk variable is not atom-style variable
-
Self-explanatory.
-
Fix ave/correlate compute does not calculate a scalar
-
Self-explanatory.
-
Fix ave/correlate compute does not calculate a vector
-
Self-explanatory.
-
Fix ave/correlate compute vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/correlate fix does not calculate a scalar
-
Self-explanatory.
-
Fix ave/correlate fix does not calculate a vector
-
Self-explanatory.
-
Fix ave/correlate fix vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/correlate variable is not equal-style variable
-
Self-explanatory.
-
Fix ave/histo cannot input local values in scalar mode
-
Self-explanatory.
-
Fix ave/histo cannot input per-atom values in scalar mode
-
Self-explanatory.
-
Fix ave/histo compute array is accessed out-of-range
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a global array
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a global scalar
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a global vector
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a local array
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a local vector
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/histo compute does not calculate a per-atom vector
-
Self-explanatory.
-
Fix ave/histo compute does not calculate local values
-
Self-explanatory.
-
Fix ave/histo compute does not calculate per-atom values
-
Self-explanatory.
-
Fix ave/histo compute vector is accessed out-of-range
-
Self-explanatory.
-
Fix ave/histo fix array is accessed out-of-range
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a global array
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a global scalar
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a global vector
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a local array
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a local vector
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/histo fix does not calculate a per-atom vector
-
Self-explanatory.
-
Fix ave/histo fix does not calculate local values
-
Self-explanatory.
-
Fix ave/histo fix does not calculate per-atom values
-
Self-explanatory.
-
Fix ave/histo fix vector is accessed out-of-range
-
Self-explanatory.
-
Fix ave/histo input is invalid compute
-
Self-explanatory.
-
Fix ave/histo input is invalid fix
-
Self-explanatory.
-
Fix ave/histo input is invalid variable
-
Self-explanatory.
-
Fix ave/histo inputs are not all global, peratom, or local
-
All inputs in a single fix ave/histo command must be of the -same style.
-
Fix ave/spatial compute does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/spatial compute does not calculate a per-atom vector
-
A compute used by fix ave/spatial must generate per-atom values.
-
Fix ave/spatial compute does not calculate per-atom values
-
A compute used by fix ave/spatial must generate per-atom values.
-
Fix ave/spatial compute vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/spatial fix does not calculate a per-atom array
-
Self-explanatory.
-
Fix ave/spatial fix does not calculate a per-atom vector
-
A fix used by fix ave/spatial must generate per-atom values.
-
Fix ave/spatial fix does not calculate per-atom values
-
A fix used by fix ave/spatial must generate per-atom values.
-
Fix ave/spatial fix vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/spatial for triclinic boxes requires units reduced
-
Self-explanatory.
-
Fix ave/spatial settings invalid with changing box size
-
If the box size changes, only the units reduced option can be -used.
-
Fix ave/spatial variable is not atom-style variable
-
A variable used by fix ave/spatial must generate per-atom values.
-
Fix ave/time cannot set output array intensive/extensive from these inputs
-
One of more of the vector inputs has individual elements which are +simulation box to a great distance. + +
Double precision is not supported on this accelerator + +
Self-explanatory + +
Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu + +
Self-explanatory. + +
Dump cfg arguments must start with 'mass type xs ys zs' or 'mass type xsu ysu zsu' + +
This is a requirement of the CFG output format. See the dump cfg doc +page for more details. + +
Dump cfg requires one snapshot per file + +
Use the wildcard "*" character in the filename. + +
Dump custom and fix not computed at compatible times + +
The fix must produce per-atom quantities on timesteps that dump custom +needs them. + +
Dump custom compute does not calculate per-atom array + +
Self-explanatory. + +
Dump custom compute does not calculate per-atom vector + +
Self-explanatory. + +
Dump custom compute does not compute per-atom info + +
Self-explanatory. + +
Dump custom compute vector is accessed out-of-range + +
Self-explanatory. + +
Dump custom fix does not compute per-atom array + +
Self-explanatory. + +
Dump custom fix does not compute per-atom info + +
Self-explanatory. + +
Dump custom fix does not compute per-atom vector + +
Self-explanatory. + +
Dump custom fix vector is accessed out-of-range + +
Self-explanatory. + +
Dump custom variable is not atom-style variable + +
Only atom-style variables generate per-atom quantities, needed for +dump output. + +
Dump dcd of non-matching # of atoms + +
Every snapshot written by dump dcd must contain the same # of atoms. + +
Dump dcd requires sorting by atom ID + +
Use the dump_modify sort command to enable this. + +
Dump every variable returned a bad timestep + +
The variable must return a timestep greater than the current timestep. + +
Dump file MPI-IO output not allowed with % in filename + +
This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors. + +
Dump file does not contain requested snapshot + +
Self-explanatory. + +
Dump file is incorrectly formatted + +
Self-explanatory. + +
Dump image bond not allowed with no bond types + +
Self-explanatory. + +
Dump image cannot perform sorting + +
Self-explanatory. + +
Dump image persp option is not yet supported + +
Self-explanatory. + +
Dump image requires one snapshot per file + +
Use a "*" in the filename. + +
Dump local and fix not computed at compatible times + +
The fix must produce per-atom quantities on timesteps that dump local +needs them. + +
Dump local attributes contain no compute or fix + +
Self-explanatory. + +
Dump local cannot sort by atom ID + +
This is because dump local does not really dump per-atom info. + +
Dump local compute does not calculate local array + +
Self-explanatory. + +
Dump local compute does not calculate local vector + +
Self-explanatory. + +
Dump local compute does not compute local info + +
Self-explanatory. + +
Dump local compute vector is accessed out-of-range + +
Self-explanatory. + +
Dump local count is not consistent across input fields + +
Every column of output must be the same length. + +
Dump local fix does not compute local array + +
Self-explanatory. + +
Dump local fix does not compute local info + +
Self-explanatory. + +
Dump local fix does not compute local vector + +
Self-explanatory. + +
Dump local fix vector is accessed out-of-range + +
Self-explanatory. + +
Dump modify bcolor not allowed with no bond types + +
Self-explanatory. + +
Dump modify bdiam not allowed with no bond types + +
Self-explanatory. + +
Dump modify compute ID does not compute per-atom array + +
Self-explanatory. + +
Dump modify compute ID does not compute per-atom info + +
Self-explanatory. + +
Dump modify compute ID does not compute per-atom vector + +
Self-explanatory. + +
Dump modify compute ID vector is not large enough + +
Self-explanatory. + +
Dump modify element names do not match atom types + +
Number of element names must equal number of atom types. + +
Dump modify fix ID does not compute per-atom array + +
Self-explanatory. + +
Dump modify fix ID does not compute per-atom info + +
Self-explanatory. + +
Dump modify fix ID does not compute per-atom vector + +
Self-explanatory. + +
Dump modify fix ID vector is not large enough + +
Self-explanatory. + +
Dump modify variable is not atom-style variable + +
Self-explanatory. + +
Dump sort column is invalid + +
Self-explanatory. + +
Dump xtc requires sorting by atom ID + +
Use the dump_modify sort command to enable this. + +
Dump_modify buffer yes not allowed for this style + +
Self-explanatory. + +
Dump_modify format string is too short + +
There are more fields to be dumped in a line of output than your +format string specifies. + +
Dump_modify region ID does not exist + +
Self-explanatory. + +
Dumping an atom property that isn't allocated + +
The chosen atom style does not define the per-atom quantity being +dumped. + +
Duplicate fields in read_dump command + +
Self-explanatory. + +
Duplicate particle in PeriDynamic bond - simulation box is too small + +
This is likely because your box length is shorter than 2 times +the bond length. + +
Electronic temperature dropped below zero + +
Something has gone wrong with the fix ttm electron temperature model. + +
Empty brackets in variable + +
There is no variable syntax that uses empty brackets. Check +the variable doc page. + +
Energy was not tallied on needed timestep + +
You are using a thermo keyword that requires potentials to +have tallied energy, but they didn't on this timestep. See the +variable doc page for ideas on how to make this work. + +
Epsilon or sigma reference not set by pair style in PPPMDisp + +
Self-explanatory. + +
Epsilon or sigma reference not set by pair style in ewald/n + +
The pair style is not providing the needed epsilon or sigma values. + +
Error in vdw spline: inner radius > outer radius + +
A pre-tabulated spline is invalid. Likely a problem with the +potential parameters. + +
Failed to allocate %ld bytes for array %s + +
Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. + +
Failed to open FFmpeg pipeline to file %s + +
The specified file cannot be opened. Check that the path and name are +correct and writable and that the FFmpeg executable can be found and run. + +
Failed to reallocate %ld bytes for array %s + +
Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors. + +
Fewer SRD bins than processors in some dimension + +
This is not allowed. Make your SRD bin size smaller. + +
File variable could not read value + +
Check the file assigned to the variable. + +
Final box dimension due to fix deform is < 0.0 + +
Self-explanatory. + +
Fix %s does not allow use of dynamic group + +
Dynamic groups have not yet been enabled for this fix. + +
Fix ID for compute chunk/atom does not exist + +
Self-explanatory. + +
Fix ID for compute erotate/rigid does not exist + +
Self-explanatory. + +
Fix ID for compute ke/rigid does not exist + +
Self-explanatory. + +
Fix ID for compute reduce does not exist + +
Self-explanatory. + +
Fix ID for compute slice does not exist + +
Self-explanatory. + +
Fix ID for fix ave/atom does not exist + +
Self-explanatory. + +
Fix ID for fix ave/chunk does not exist + +
Self-explanatory. + +
Fix ID for fix ave/correlate does not exist + +
Self-explanatory. + +
Fix ID for fix ave/histo does not exist + +
Self-explanatory. + +
Fix ID for fix ave/spatial does not exist + +
Self-explanatory. + +
Fix ID for fix ave/time does not exist + +
Self-explanatory. + +
Fix ID for fix store/state does not exist + +
Self-explanatory + +
Fix ID for fix vector does not exist + +
Self-explanatory. + +
Fix ID for read_data does not exist + +
Self-explanatory. + +
Fix ID for velocity does not exist + +
Self-explanatory. + +
Fix ID must be alphanumeric or underscore characters + +
Self-explanatory. + +
Fix SRD: bad bin assignment for SRD advection + +
Something has gone wrong in your SRD model; try using more +conservative settings. + +
Fix SRD: bad search bin assignment + +
Something has gone wrong in your SRD model; try using more +conservative settings. + +
Fix SRD: bad stencil bin for big particle + +
Something has gone wrong in your SRD model; try using more +conservative settings. + +
Fix SRD: too many big particles in bin + +
Reset the ATOMPERBIN parameter at the top of fix_srd.cpp +to a larger value, and re-compile the code. + +
Fix SRD: too many walls in bin + +
This should not happen unless your system has been setup incorrectly. + +
Fix adapt interface to this pair style not supported + +
New coding for the pair style would need to be done. + +
Fix adapt kspace style does not exist + +
Self-explanatory. + +
Fix adapt pair style does not exist + +
Self-explanatory + +
Fix adapt pair style param not supported + +
The pair style does not know about the parameter you specified. + +
Fix adapt requires atom attribute charge + +
The atom style being used does not specify an atom charge. + +
Fix adapt requires atom attribute diameter + +
The atom style being used does not specify an atom diameter. + +
Fix adapt type pair range is not valid for pair hybrid sub-style + +
Self-explanatory. + +
Fix append/atoms requires a lattice be defined + +
Use the lattice command for this purpose. + +
Fix ave/atom compute array is accessed out-of-range + +
Self-explanatory. + +
Fix ave/atom compute does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/atom compute does not calculate a per-atom vector + +
A compute used by fix ave/atom must generate per-atom values. + +
Fix ave/atom compute does not calculate per-atom values + +
A compute used by fix ave/atom must generate per-atom values. + +
Fix ave/atom fix array is accessed out-of-range + +
Self-explanatory. + +
Fix ave/atom fix does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/atom fix does not calculate a per-atom vector + +
A fix used by fix ave/atom must generate per-atom values. + +
Fix ave/atom fix does not calculate per-atom values + +
A fix used by fix ave/atom must generate per-atom values. + +
Fix ave/atom variable is not atom-style variable + +
A variable used by fix ave/atom must generate per-atom values. + +
Fix ave/chunk compute does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/chunk compute does not calculate a per-atom vector + +
Self-explanatory. + +
Fix ave/chunk compute does not calculate per-atom values + +
Self-explanatory. + +
Fix ave/chunk compute vector is accessed out-of-range + +
Self-explanatory. + +
Fix ave/chunk does not use chunk/atom compute + +
The specified conpute is not for a compute chunk/atom command. + +
Fix ave/chunk fix does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/chunk fix does not calculate a per-atom vector + +
Self-explanatory. + +
Fix ave/chunk fix does not calculate per-atom values + +
Self-explanatory. + +
Fix ave/chunk fix vector is accessed out-of-range + +
Self-explanatory. + +
Fix ave/chunk variable is not atom-style variable + +
Self-explanatory. + +
Fix ave/correlate compute does not calculate a scalar + +
Self-explanatory. + +
Fix ave/correlate compute does not calculate a vector + +
Self-explanatory. + +
Fix ave/correlate compute vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/correlate fix does not calculate a scalar + +
Self-explanatory. + +
Fix ave/correlate fix does not calculate a vector + +
Self-explanatory. + +
Fix ave/correlate fix vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/correlate variable is not equal-style variable + +
Self-explanatory. + +
Fix ave/histo cannot input local values in scalar mode + +
Self-explanatory. + +
Fix ave/histo cannot input per-atom values in scalar mode + +
Self-explanatory. + +
Fix ave/histo compute array is accessed out-of-range + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a global array + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a global scalar + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a global vector + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a local array + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a local vector + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/histo compute does not calculate a per-atom vector + +
Self-explanatory. + +
Fix ave/histo compute does not calculate local values + +
Self-explanatory. + +
Fix ave/histo compute does not calculate per-atom values + +
Self-explanatory. + +
Fix ave/histo compute vector is accessed out-of-range + +
Self-explanatory. + +
Fix ave/histo fix array is accessed out-of-range + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a global array + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a global scalar + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a global vector + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a local array + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a local vector + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/histo fix does not calculate a per-atom vector + +
Self-explanatory. + +
Fix ave/histo fix does not calculate local values + +
Self-explanatory. + +
Fix ave/histo fix does not calculate per-atom values + +
Self-explanatory. + +
Fix ave/histo fix vector is accessed out-of-range + +
Self-explanatory. + +
Fix ave/histo input is invalid compute + +
Self-explanatory. + +
Fix ave/histo input is invalid fix + +
Self-explanatory. + +
Fix ave/histo input is invalid variable + +
Self-explanatory. + +
Fix ave/histo inputs are not all global, peratom, or local + +
All inputs in a single fix ave/histo command must be of the +same style. + +
Fix ave/spatial compute does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/spatial compute does not calculate a per-atom vector + +
A compute used by fix ave/spatial must generate per-atom values. + +
Fix ave/spatial compute does not calculate per-atom values + +
A compute used by fix ave/spatial must generate per-atom values. + +
Fix ave/spatial compute vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/spatial fix does not calculate a per-atom array + +
Self-explanatory. + +
Fix ave/spatial fix does not calculate a per-atom vector + +
A fix used by fix ave/spatial must generate per-atom values. + +
Fix ave/spatial fix does not calculate per-atom values + +
A fix used by fix ave/spatial must generate per-atom values. + +
Fix ave/spatial fix vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/spatial for triclinic boxes requires units reduced + +
Self-explanatory. + +
Fix ave/spatial settings invalid with changing box size + +
If the box size changes, only the units reduced option can be +used. + +
Fix ave/spatial variable is not atom-style variable + +
A variable used by fix ave/spatial must generate per-atom values. + +
Fix ave/time cannot set output array intensive/extensive from these inputs + +
One of more of the vector inputs has individual elements which are flagged as intensive or extensive. Such an input cannot be flagged as -all intensive/extensive when turned into an array by fix ave/time.
-
Fix ave/time cannot use variable with vector mode
-
Variables produce scalar values.
-
Fix ave/time columns are inconsistent lengths
-
Self-explanatory.
-
Fix ave/time compute array is accessed out-of-range
-
An index for the array is out of bounds.
-
Fix ave/time compute does not calculate a scalar
-
Self-explantory.
-
Fix ave/time compute does not calculate a vector
-
Self-explantory.
-
Fix ave/time compute does not calculate an array
-
Self-explanatory.
-
Fix ave/time compute vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/time fix array cannot be variable length
-
Self-explanatory.
-
Fix ave/time fix array is accessed out-of-range
-
An index for the array is out of bounds.
-
Fix ave/time fix does not calculate a scalar
-
Self-explanatory.
-
Fix ave/time fix does not calculate a vector
-
Self-explanatory.
-
Fix ave/time fix does not calculate an array
-
Self-explanatory.
-
Fix ave/time fix vector cannot be variable length
-
Self-explanatory.
-
Fix ave/time fix vector is accessed out-of-range
-
The index for the vector is out of bounds.
-
Fix ave/time variable is not equal-style variable
-
Self-explanatory.
-
Fix balance rcb cannot be used with comm_style brick
-
Comm_style tiled must be used instead.
-
Fix balance shift string is invalid
-
The string can only contain the characters “x”, “y”, or “z”.
-
Fix bond/break needs ghost atoms from further away
-
This is because the fix needs to walk bonds to a certain distance to +all intensive/extensive when turned into an array by fix ave/time. + +
Fix ave/time cannot use variable with vector mode + +
Variables produce scalar values. + +
Fix ave/time columns are inconsistent lengths + +
Self-explanatory. + +
Fix ave/time compute array is accessed out-of-range + +
An index for the array is out of bounds. + +
Fix ave/time compute does not calculate a scalar + +
Self-explantory. + +
Fix ave/time compute does not calculate a vector + +
Self-explantory. + +
Fix ave/time compute does not calculate an array + +
Self-explanatory. + +
Fix ave/time compute vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/time fix array cannot be variable length + +
Self-explanatory. + +
Fix ave/time fix array is accessed out-of-range + +
An index for the array is out of bounds. + +
Fix ave/time fix does not calculate a scalar + +
Self-explanatory. + +
Fix ave/time fix does not calculate a vector + +
Self-explanatory. + +
Fix ave/time fix does not calculate an array + +
Self-explanatory. + +
Fix ave/time fix vector cannot be variable length + +
Self-explanatory. + +
Fix ave/time fix vector is accessed out-of-range + +
The index for the vector is out of bounds. + +
Fix ave/time variable is not equal-style variable + +
Self-explanatory. + +
Fix balance rcb cannot be used with comm_style brick + +
Comm_style tiled must be used instead. + +
Fix balance shift string is invalid + +
The string can only contain the characters "x", "y", or "z". + +
Fix bond/break needs ghost atoms from further away + +
This is because the fix needs to walk bonds to a certain distance to acquire needed info, The comm_modify cutoff command can be used to -extend the communication range.
-
Fix bond/create angle type is invalid
-
Self-explanatory.
-
Fix bond/create cutoff is longer than pairwise cutoff
-
This is not allowed because bond creation is done using the -pairwise neighbor list.
-
Fix bond/create dihedral type is invalid
-
Self-explanatory.
-
Fix bond/create improper type is invalid
-
Self-explanatory.
-
Fix bond/create induced too many angles/dihedrals/impropers per atom
-
See the read_data command for info on setting the “extra angle per -atom”, etc header values to allow for additional angles, etc to be -formed.
-
Fix bond/create needs ghost atoms from further away
-
This is because the fix needs to walk bonds to a certain distance to +extend the communication range. + +
Fix bond/create angle type is invalid + +
Self-explanatory. + +
Fix bond/create cutoff is longer than pairwise cutoff + +
This is not allowed because bond creation is done using the +pairwise neighbor list. + +
Fix bond/create dihedral type is invalid + +
Self-explanatory. + +
Fix bond/create improper type is invalid + +
Self-explanatory. + +
Fix bond/create induced too many angles/dihedrals/impropers per atom + +
See the read_data command for info on setting the "extra angle per +atom", etc header values to allow for additional angles, etc to be +formed. + +
Fix bond/create needs ghost atoms from further away + +
This is because the fix needs to walk bonds to a certain distance to acquire needed info, The comm_modify cutoff command can be used to -extend the communication range.
-
Fix bond/swap cannot use dihedral or improper styles
-
These styles cannot be defined when using this fix.
-
Fix bond/swap requires pair and bond styles
-
Self-explanatory.
-
Fix bond/swap requires special_bonds = 0,1,1
-
Self-explanatory.
-
Fix box/relax generated negative box length
-
The pressure being applied is likely too large. Try applying -it incrementally, to build to the high pressure.
-
Fix command before simulation box is defined
-
The fix command cannot be used before a read_data, read_restart, or -create_box command.
-
Fix deform cannot use yz variable with xy
-
The yz setting cannot be a variable if xy deformation is also +extend the communication range. + +
Fix bond/swap cannot use dihedral or improper styles + +
These styles cannot be defined when using this fix. + +
Fix bond/swap requires pair and bond styles + +
Self-explanatory. + +
Fix bond/swap requires special_bonds = 0,1,1 + +
Self-explanatory. + +
Fix box/relax generated negative box length + +
The pressure being applied is likely too large. Try applying +it incrementally, to build to the high pressure. + +
Fix command before simulation box is defined + +
The fix command cannot be used before a read_data, read_restart, or +create_box command. + +
Fix deform cannot use yz variable with xy + +
The yz setting cannot be a variable if xy deformation is also specified. This is because LAMMPS cannot determine if the yz setting -will induce a box flip which would be invalid if xy is also changing.
-
Fix deform is changing yz too much with xy
-
When both yz and xy are changing, it induces changes in xz if the +will induce a box flip which would be invalid if xy is also changing. + +
Fix deform is changing yz too much with xy + +
When both yz and xy are changing, it induces changes in xz if the box must flip from one tilt extreme to another. Thus it is not -allowed for yz to grow so much that a flip is induced.
-
Fix deform tilt factors require triclinic box
-
Cannot deform the tilt factors of a simulation box unless it -is a triclinic (non-orthogonal) box.
-
Fix deform volume setting is invalid
-
Cannot use volume style unless other dimensions are being controlled.
-
Fix deposit and fix rigid/small not using same molecule template ID
-
Self-explanatory.
-
Fix deposit and fix shake not using same molecule template ID
-
Self-explanatory.
-
Fix deposit molecule must have atom types
-
The defined molecule does not specify atom types.
-
Fix deposit molecule must have coordinates
-
The defined molecule does not specify coordinates.
-
Fix deposit molecule template ID must be same as atom_style template ID
-
When using atom_style template, you cannot deposit molecules that are -not in that template.
-
Fix deposit region cannot be dynamic
-
Only static regions can be used with fix deposit.
-
Fix deposit region does not support a bounding box
-
Not all regions represent bounded volumes. You cannot use -such a region with the fix deposit command.
-
Fix deposit shake fix does not exist
-
Self-explanatory.
-
Fix efield requires atom attribute q or mu
-
The atom style defined does not have this attribute.
-
Fix efield with dipoles cannot use atom-style variables
-
This option is not supported.
-
Fix evaporate molecule requires atom attribute molecule
-
The atom style being used does not define a molecule ID.
-
Fix external callback function not set
-
This must be done by an external program in order to use this fix.
-
Fix for fix ave/atom not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/atom is -requesting a value on a non-allowed timestep.
-
Fix for fix ave/chunk not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/chunk is -requesting a value on a non-allowed timestep.
-
Fix for fix ave/correlate not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/correlate -is requesting a value on a non-allowed timestep.
-
Fix for fix ave/histo not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/histo is -requesting a value on a non-allowed timestep.
-
Fix for fix ave/spatial not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/spatial is -requesting a value on a non-allowed timestep.
-
Fix for fix ave/time not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix ave/time -is requesting a value on a non-allowed timestep.
-
Fix for fix store/state not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix store/state -is requesting a value on a non-allowed timestep.
-
Fix for fix vector not computed at compatible time
-
Fixes generate their values on specific timesteps. Fix vector is -requesting a value on a non-allowed timestep.
-
Fix freeze requires atom attribute torque
-
The atom style defined does not have this attribute.
-
Fix gcmc and fix shake not using same molecule template ID
-
Self-explanatory.
-
Fix gcmc cannot exchange individual atoms belonging to a molecule
-
This is an error since you should not delete only one atom of a +allowed for yz to grow so much that a flip is induced. + +
Fix deform tilt factors require triclinic box + +
Cannot deform the tilt factors of a simulation box unless it +is a triclinic (non-orthogonal) box. + +
Fix deform volume setting is invalid + +
Cannot use volume style unless other dimensions are being controlled. + +
Fix deposit and fix rigid/small not using same molecule template ID + +
Self-explanatory. + +
Fix deposit and fix shake not using same molecule template ID + +
Self-explanatory. + +
Fix deposit molecule must have atom types + +
The defined molecule does not specify atom types. + +
Fix deposit molecule must have coordinates + +
The defined molecule does not specify coordinates. + +
Fix deposit molecule template ID must be same as atom_style template ID + +
When using atom_style template, you cannot deposit molecules that are +not in that template. + +
Fix deposit region cannot be dynamic + +
Only static regions can be used with fix deposit. + +
Fix deposit region does not support a bounding box + +
Not all regions represent bounded volumes. You cannot use +such a region with the fix deposit command. + +
Fix deposit shake fix does not exist + +
Self-explanatory. + +
Fix efield requires atom attribute q or mu + +
The atom style defined does not have this attribute. + +
Fix efield with dipoles cannot use atom-style variables + +
This option is not supported. + +
Fix evaporate molecule requires atom attribute molecule + +
The atom style being used does not define a molecule ID. + +
Fix external callback function not set + +
This must be done by an external program in order to use this fix. + +
Fix for fix ave/atom not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/atom is +requesting a value on a non-allowed timestep. + +
Fix for fix ave/chunk not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/chunk is +requesting a value on a non-allowed timestep. + +
Fix for fix ave/correlate not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/correlate +is requesting a value on a non-allowed timestep. + +
Fix for fix ave/histo not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/histo is +requesting a value on a non-allowed timestep. + +
Fix for fix ave/spatial not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/spatial is +requesting a value on a non-allowed timestep. + +
Fix for fix ave/time not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix ave/time +is requesting a value on a non-allowed timestep. + +
Fix for fix store/state not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix store/state +is requesting a value on a non-allowed timestep. + +
Fix for fix vector not computed at compatible time + +
Fixes generate their values on specific timesteps. Fix vector is +requesting a value on a non-allowed timestep. + +
Fix freeze requires atom attribute torque + +
The atom style defined does not have this attribute. + +
Fix gcmc and fix shake not using same molecule template ID + +
Self-explanatory. + +
Fix gcmc cannot exchange individual atoms belonging to a molecule + +
This is an error since you should not delete only one atom of a molecule. The user has specified atomic (non-molecular) gas -exchanges, but an atom belonging to a molecule could be deleted.
-
Fix gcmc does not (yet) work with atom_style template
-
Self-explanatory.
-
Fix gcmc molecule command requires that atoms have molecule attributes
-
Should not choose the gcmc molecule feature if no molecules are being -simulated. The general molecule flag is off, but gcmc’s molecule flag -is on.
-
Fix gcmc molecule must have atom types
-
The defined molecule does not specify atom types.
-
Fix gcmc molecule must have coordinates
-
The defined molecule does not specify coordinates.
-
Fix gcmc molecule template ID must be same as atom_style template ID
-
When using atom_style template, you cannot insert molecules that are -not in that template.
-
Fix gcmc ran out of available atom IDs
-
See the setting for tagint in the src/lmptype.h file.
-
Fix gcmc ran out of available molecule IDs
-
See the setting for tagint in the src/lmptype.h file.
-
Fix gcmc region cannot be dynamic
-
Only static regions can be used with fix gcmc.
-
Fix gcmc region does not support a bounding box
-
Not all regions represent bounded volumes. You cannot use -such a region with the fix gcmc command.
-
Fix gcmc region extends outside simulation box
-
Self-explanatory.
-
Fix gcmc shake fix does not exist
-
Self-explanatory.
-
Fix gld c coefficients must be >= 0
-
Self-explanatory.
-
Fix gld needs more prony series coefficients
-
Self-explanatory.
-
Fix gld prony terms must be > 0
-
Self-explanatory.
-
Fix gld series type must be pprony for now
-
Self-explanatory.
-
Fix gld start temperature must be >= 0
-
Self-explanatory.
-
Fix gld stop temperature must be >= 0
-
Self-explanatory.
-
Fix gld tau coefficients must be > 0
-
Self-explanatory.
-
Fix heat group has no atoms
-
Self-explanatory.
-
Fix heat kinetic energy of an atom went negative
-
This will cause the velocity rescaling about to be performed by fix -heat to be invalid.
-
Fix heat kinetic energy went negative
-
This will cause the velocity rescaling about to be performed by fix -heat to be invalid.
-
Fix in variable not computed at compatible time
-
Fixes generate their values on specific timesteps. The variable is -requesting the values on a non-allowed timestep.
-
Fix langevin angmom is not yet implemented with kokkos
-
This option is not yet available.
-
Fix langevin angmom requires atom style ellipsoid
-
Self-explanatory.
-
Fix langevin angmom requires extended particles
-
This fix option cannot be used with point paritlces.
-
Fix langevin omega is not yet implemented with kokkos
-
This option is not yet available.
-
Fix langevin omega requires atom style sphere
-
Self-explanatory.
-
Fix langevin omega requires extended particles
-
One of the particles has radius 0.0.
-
Fix langevin period must be > 0.0
-
The time window for temperature relaxation must be > 0
-
Fix langevin variable returned negative temperature
-
Self-explanatory.
-
Fix momentum group has no atoms
-
Self-explanatory.
-
Fix move cannot define z or vz variable for 2d problem
-
Self-explanatory.
-
Fix move cannot rotate aroung non z-axis for 2d problem
-
Self-explanatory.
-
Fix move cannot set linear z motion for 2d problem
-
Self-explanatory.
-
Fix move cannot set wiggle z motion for 2d problem
-
Self-explanatory.
-
Fix msst compute ID does not compute potential energy
-
Self-explanatory.
-
Fix msst compute ID does not compute pressure
-
Self-explanatory.
-
Fix msst compute ID does not compute temperature
-
Self-explanatory.
-
Fix msst requires a periodic box
-
Self-explanatory.
-
Fix msst tscale must satisfy 0 <= tscale < 1
-
Self-explanatory.
-
Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state
-
Self-explanatory. The change in the box tilt is too extreme -on a short timescale.
-
Fix nve/asphere requires extended particles
-
This fix can only be used for particles with a shape setting.
-
Fix nve/asphere/noforce requires atom style ellipsoid
-
Self-explanatory.
-
Fix nve/asphere/noforce requires extended particles
-
One of the particles is not an ellipsoid.
-
Fix nve/body requires atom style body
-
Self-explanatory.
-
Fix nve/body requires bodies
-
This fix can only be used for particles that are bodies.
-
Fix nve/line can only be used for 2d simulations
-
Self-explanatory.
-
Fix nve/line requires atom style line
-
Self-explanatory.
-
Fix nve/line requires line particles
-
Self-explanatory.
-
Fix nve/sphere requires atom attribute mu
-
An atom style with this attribute is needed.
-
Fix nve/sphere requires atom style sphere
-
Self-explanatory.
-
Fix nve/sphere requires extended particles
-
This fix can only be used for particles of a finite size.
-
Fix nve/tri can only be used for 3d simulations
-
Self-explanatory.
-
Fix nve/tri requires atom style tri
-
Self-explanatory.
-
Fix nve/tri requires tri particles
-
Self-explanatory.
-
Fix nvt/nph/npt asphere requires extended particles
-
The shape setting for a particle in the fix group has shape = 0.0, -which means it is a point particle.
-
Fix nvt/nph/npt sphere requires atom style sphere
-
Self-explanatory.
-
Fix nvt/npt/nph damping parameters must be > 0.0
-
Self-explanatory.
-
Fix nvt/npt/nph dilate group ID does not exist
-
Self-explanatory.
-
Fix nvt/sphere requires extended particles
-
This fix can only be used for particles of a finite size.
-
Fix orient/fcc file open failed
-
The fix orient/fcc command could not open a specified file.
-
Fix orient/fcc file read failed
-
The fix orient/fcc command could not read the needed parameters from a -specified file.
-
Fix orient/fcc found self twice
-
The neighbor lists used by fix orient/fcc are messed up. If this +exchanges, but an atom belonging to a molecule could be deleted. + +
Fix gcmc does not (yet) work with atom_style template + +
Self-explanatory. + +
Fix gcmc molecule command requires that atoms have molecule attributes + +
Should not choose the gcmc molecule feature if no molecules are being +simulated. The general molecule flag is off, but gcmc's molecule flag +is on. + +
Fix gcmc molecule must have atom types + +
The defined molecule does not specify atom types. + +
Fix gcmc molecule must have coordinates + +
The defined molecule does not specify coordinates. + +
Fix gcmc molecule template ID must be same as atom_style template ID + +
When using atom_style template, you cannot insert molecules that are +not in that template. + +
Fix gcmc ran out of available atom IDs + +
See the setting for tagint in the src/lmptype.h file. + +
Fix gcmc ran out of available molecule IDs + +
See the setting for tagint in the src/lmptype.h file. + +
Fix gcmc region cannot be dynamic + +
Only static regions can be used with fix gcmc. + +
Fix gcmc region does not support a bounding box + +
Not all regions represent bounded volumes. You cannot use +such a region with the fix gcmc command. + +
Fix gcmc region extends outside simulation box + +
Self-explanatory. + +
Fix gcmc shake fix does not exist + +
Self-explanatory. + +
Fix gld c coefficients must be >= 0 + +
Self-explanatory. + +
Fix gld needs more prony series coefficients + +
Self-explanatory. + +
Fix gld prony terms must be > 0 + +
Self-explanatory. + +
Fix gld series type must be pprony for now + +
Self-explanatory. + +
Fix gld start temperature must be >= 0 + +
Self-explanatory. + +
Fix gld stop temperature must be >= 0 + +
Self-explanatory. + +
Fix gld tau coefficients must be > 0 + +
Self-explanatory. + +
Fix heat group has no atoms + +
Self-explanatory. + +
Fix heat kinetic energy of an atom went negative + +
This will cause the velocity rescaling about to be performed by fix +heat to be invalid. + +
Fix heat kinetic energy went negative + +
This will cause the velocity rescaling about to be performed by fix +heat to be invalid. + +
Fix in variable not computed at compatible time + +
Fixes generate their values on specific timesteps. The variable is +requesting the values on a non-allowed timestep. + +
Fix langevin angmom is not yet implemented with kokkos + +
This option is not yet available. + +
Fix langevin angmom requires atom style ellipsoid + +
Self-explanatory. + +
Fix langevin angmom requires extended particles + +
This fix option cannot be used with point paritlces. + +
Fix langevin omega is not yet implemented with kokkos + +
This option is not yet available. + +
Fix langevin omega requires atom style sphere + +
Self-explanatory. + +
Fix langevin omega requires extended particles + +
One of the particles has radius 0.0. + +
Fix langevin period must be > 0.0 + +
The time window for temperature relaxation must be > 0 + +
Fix langevin variable returned negative temperature + +
Self-explanatory. + +
Fix momentum group has no atoms + +
Self-explanatory. + +
Fix move cannot define z or vz variable for 2d problem + +
Self-explanatory. + +
Fix move cannot rotate aroung non z-axis for 2d problem + +
Self-explanatory. + +
Fix move cannot set linear z motion for 2d problem + +
Self-explanatory. + +
Fix move cannot set wiggle z motion for 2d problem + +
Self-explanatory. + +
Fix msst compute ID does not compute potential energy + +
Self-explanatory. + +
Fix msst compute ID does not compute pressure + +
Self-explanatory. + +
Fix msst compute ID does not compute temperature + +
Self-explanatory. + +
Fix msst requires a periodic box + +
Self-explanatory. + +
Fix msst tscale must satisfy 0 <= tscale < 1 + +
Self-explanatory. + +
Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state + +
Self-explanatory. The change in the box tilt is too extreme +on a short timescale. + +
Fix nve/asphere requires extended particles + +
This fix can only be used for particles with a shape setting. + +
Fix nve/asphere/noforce requires atom style ellipsoid + +
Self-explanatory. + +
Fix nve/asphere/noforce requires extended particles + +
One of the particles is not an ellipsoid. + +
Fix nve/body requires atom style body + +
Self-explanatory. + +
Fix nve/body requires bodies + +
This fix can only be used for particles that are bodies. + +
Fix nve/line can only be used for 2d simulations + +
Self-explanatory. + +
Fix nve/line requires atom style line + +
Self-explanatory. + +
Fix nve/line requires line particles + +
Self-explanatory. + +
Fix nve/sphere requires atom attribute mu + +
An atom style with this attribute is needed. + +
Fix nve/sphere requires atom style sphere + +
Self-explanatory. + +
Fix nve/sphere requires extended particles + +
This fix can only be used for particles of a finite size. + +
Fix nve/tri can only be used for 3d simulations + +
Self-explanatory. + +
Fix nve/tri requires atom style tri + +
Self-explanatory. + +
Fix nve/tri requires tri particles + +
Self-explanatory. + +
Fix nvt/nph/npt asphere requires extended particles + +
The shape setting for a particle in the fix group has shape = 0.0, +which means it is a point particle. + +
Fix nvt/nph/npt sphere requires atom style sphere + +
Self-explanatory. + +
Fix nvt/npt/nph damping parameters must be > 0.0 + +
Self-explanatory. + +
Fix nvt/npt/nph dilate group ID does not exist + +
Self-explanatory. + +
Fix nvt/sphere requires extended particles + +
This fix can only be used for particles of a finite size. + +
Fix orient/fcc file open failed + +
The fix orient/fcc command could not open a specified file. + +
Fix orient/fcc file read failed + +
The fix orient/fcc command could not read the needed parameters from a +specified file. + +
Fix orient/fcc found self twice + +
The neighbor lists used by fix orient/fcc are messed up. If this error occurs, it is likely a bug, so send an email to the -developers.
-
Fix peri neigh does not exist
-
Somehow a fix that the pair style defines has been deleted.
-
Fix pour and fix rigid/small not using same molecule template ID
-
Self-explanatory.
-
Fix pour and fix shake not using same molecule template ID
-
Self-explanatory.
-
Fix pour insertion count per timestep is 0
-
Self-explanatory.
-
Fix pour molecule must have atom types
-
The defined molecule does not specify atom types.
-
Fix pour molecule must have coordinates
-
The defined molecule does not specify coordinates.
-
Fix pour molecule template ID must be same as atom style template ID
-
When using atom_style template, you cannot pour molecules that are -not in that template.
-
Fix pour polydisperse fractions do not sum to 1.0
-
Self-explanatory.
-
Fix pour region ID does not exist
-
Self-explanatory.
-
Fix pour region cannot be dynamic
-
Only static regions can be used with fix pour.
-
Fix pour region does not support a bounding box
-
Not all regions represent bounded volumes. You cannot use -such a region with the fix pour command.
-
Fix pour requires atom attributes radius, rmass
-
The atom style defined does not have these attributes.
-
Fix pour rigid fix does not exist
-
Self-explanatory.
-
Fix pour shake fix does not exist
-
Self-explanatory.
-
Fix press/berendsen damping parameters must be > 0.0
-
Self-explanatory.
-
Fix property/atom cannot specify mol twice
-
Self-explanatory.
-
Fix property/atom cannot specify q twice
-
Self-explanatory.
-
Fix property/atom mol when atom_style already has molecule attribute
-
Self-explanatory.
-
Fix property/atom q when atom_style already has charge attribute
-
Self-explanatory.
-
Fix property/atom vector name already exists
-
The name for an integer or floating-point vector must be unique.
-
Fix qeq has negative upper Taper radius cutoff
-
Self-explanatory.
-
Fix qeq/comb group has no atoms
-
Self-explanatory.
-
Fix qeq/comb requires atom attribute q
-
An atom style with charge must be used to perform charge equilibration.
-
Fix qeq/dynamic group has no atoms
-
Self-explanatory.
-
Fix qeq/dynamic requires atom attribute q
-
Self-explanatory.
-
Fix qeq/point group has no atoms
-
Self-explanatory.
-
Fix qeq/point has insufficient QEq matrix size
-
Occurs when number of neighbor atoms for an atom increased too much +developers. + +
Fix peri neigh does not exist + +
Somehow a fix that the pair style defines has been deleted. + +
Fix pour and fix rigid/small not using same molecule template ID + +
Self-explanatory. + +
Fix pour and fix shake not using same molecule template ID + +
Self-explanatory. + +
Fix pour insertion count per timestep is 0 + +
Self-explanatory. + +
Fix pour molecule must have atom types + +
The defined molecule does not specify atom types. + +
Fix pour molecule must have coordinates + +
The defined molecule does not specify coordinates. + +
Fix pour molecule template ID must be same as atom style template ID + +
When using atom_style template, you cannot pour molecules that are +not in that template. + +
Fix pour polydisperse fractions do not sum to 1.0 + +
Self-explanatory. + +
Fix pour region ID does not exist + +
Self-explanatory. + +
Fix pour region cannot be dynamic + +
Only static regions can be used with fix pour. + +
Fix pour region does not support a bounding box + +
Not all regions represent bounded volumes. You cannot use +such a region with the fix pour command. + +
Fix pour requires atom attributes radius, rmass + +
The atom style defined does not have these attributes. + +
Fix pour rigid fix does not exist + +
Self-explanatory. + +
Fix pour shake fix does not exist + +
Self-explanatory. + +
Fix press/berendsen damping parameters must be > 0.0 + +
Self-explanatory. + +
Fix property/atom cannot specify mol twice + +
Self-explanatory. + +
Fix property/atom cannot specify q twice + +
Self-explanatory. + +
Fix property/atom mol when atom_style already has molecule attribute + +
Self-explanatory. + +
Fix property/atom q when atom_style already has charge attribute + +
Self-explanatory. + +
Fix property/atom vector name already exists + +
The name for an integer or floating-point vector must be unique. + +
Fix qeq has negative upper Taper radius cutoff + +
Self-explanatory. + +
Fix qeq/comb group has no atoms + +
Self-explanatory. + +
Fix qeq/comb requires atom attribute q + +
An atom style with charge must be used to perform charge equilibration. + +
Fix qeq/dynamic group has no atoms + +
Self-explanatory. + +
Fix qeq/dynamic requires atom attribute q + +
Self-explanatory. + +
Fix qeq/point group has no atoms + +
Self-explanatory. + +
Fix qeq/point has insufficient QEq matrix size + +
Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
-
Fix qeq/point requires atom attribute q
-
Self-explanatory.
-
Fix qeq/shielded group has no atoms
-
Self-explanatory.
-
Fix qeq/shielded has insufficient QEq matrix size
-
Occurs when number of neighbor atoms for an atom increased too much +recompile. + +
Fix qeq/point requires atom attribute q + +
Self-explanatory. + +
Fix qeq/shielded group has no atoms + +
Self-explanatory. + +
Fix qeq/shielded has insufficient QEq matrix size + +
Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
-
Fix qeq/shielded requires atom attribute q
-
Self-explanatory.
-
Fix qeq/slater could not extract params from pair coul/streitz
-
This should not happen unless pair coul/streitz has been altered.
-
Fix qeq/slater group has no atoms
-
Self-explanatory.
-
Fix qeq/slater has insufficient QEq matrix size
-
Occurs when number of neighbor atoms for an atom increased too much +recompile. + +
Fix qeq/shielded requires atom attribute q + +
Self-explanatory. + +
Fix qeq/slater could not extract params from pair coul/streitz + +
This should not happen unless pair coul/streitz has been altered. + +
Fix qeq/slater group has no atoms + +
Self-explanatory. + +
Fix qeq/slater has insufficient QEq matrix size + +
Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
-
Fix qeq/slater requires atom attribute q
-
Self-explanatory.
-
Fix reax/bonds numbonds > nsbmax_most
-
The limit of the number of bonds expected by the ReaxFF force field -was exceeded.
-
Fix recenter group has no atoms
-
Self-explanatory.
-
Fix restrain requires an atom map, see atom_modify
-
Self-explanatory.
-
Fix rigid atom has non-zero image flag in a non-periodic dimension
-
Image flags for non-periodic dimensions should not be set.
-
Fix rigid file has no lines
-
Self-explanatory.
-
Fix rigid langevin period must be > 0.0
-
Self-explanatory.
-
Fix rigid molecule requires atom attribute molecule
-
Self-explanatory.
-
Fix rigid npt/nph dilate group ID does not exist
-
Self-explanatory.
-
Fix rigid npt/nph does not yet allow triclinic box
-
This is a current restriction in LAMMPS.
-
Fix rigid npt/nph period must be > 0.0
-
Self-explanatory.
-
Fix rigid npt/small t_chain should not be less than 1
-
Self-explanatory.
-
Fix rigid npt/small t_order must be 3 or 5
-
Self-explanatory.
-
Fix rigid nvt/npt/nph damping parameters must be > 0.0
-
Self-explanatory.
-
Fix rigid nvt/small t_chain should not be less than 1
-
Self-explanatory.
-
Fix rigid nvt/small t_iter should not be less than 1
-
Self-explanatory.
-
Fix rigid nvt/small t_order must be 3 or 5
-
Self-explanatory.
-
Fix rigid xy torque cannot be on for 2d simulation
-
Self-explanatory.
-
Fix rigid z force cannot be on for 2d simulation
-
Self-explanatory.
-
Fix rigid/npt period must be > 0.0
-
Self-explanatory.
-
Fix rigid/npt temperature order must be 3 or 5
-
Self-explanatory.
-
Fix rigid/npt/small period must be > 0.0
-
Self-explanatory.
-
Fix rigid/nvt period must be > 0.0
-
Self-explanatory.
-
Fix rigid/nvt temperature order must be 3 or 5
-
Self-explanatory.
-
Fix rigid/nvt/small period must be > 0.0
-
Self-explanatory.
-
Fix rigid/small atom has non-zero image flag in a non-periodic dimension
-
Image flags for non-periodic dimensions should not be set.
-
Fix rigid/small langevin period must be > 0.0
-
Self-explanatory.
-
Fix rigid/small molecule must have atom types
-
The defined molecule does not specify atom types.
-
Fix rigid/small molecule must have coordinates
-
The defined molecule does not specify coordinates.
-
Fix rigid/small npt/nph period must be > 0.0
-
Self-explanatory.
-
Fix rigid/small nvt/npt/nph damping parameters must be > 0.0
-
Self-explanatory.
-
Fix rigid/small nvt/npt/nph dilate group ID does not exist
-
Self-explanatory.
-
Fix rigid/small requires an atom map, see atom_modify
-
Self-explanatory.
-
Fix rigid/small requires atom attribute molecule
-
Self-explanatory.
-
Fix rigid: Bad principal moments
-
The principal moments of inertia computed for a rigid body -are not within the required tolerances.
-
Fix shake cannot be used with minimization
-
Cannot use fix shake while doing an energy minimization since -it turns off bonds that should contribute to the energy.
-
Fix shake molecule template must have shake info
-
The defined molecule does not specify SHAKE information.
-
Fix spring couple group ID does not exist
-
Self-explanatory.
-
Fix srd can only currently be used with comm_style brick
-
This is a current restriction in LAMMPS.
-
Fix srd lamda must be >= 0.6 of SRD grid size
-
This is a requirement for accuracy reasons.
-
Fix srd no-slip requires atom attribute torque
-
This is because the SRD collisions will impart torque to the solute -particles.
-
Fix srd requires SRD particles all have same mass
-
Self-explanatory.
-
Fix srd requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Fix srd requires newton pair on
-
Self-explanatory.
-
Fix store/state compute array is accessed out-of-range
-
Self-explanatory.
-
Fix store/state compute does not calculate a per-atom array
-
The compute calculates a per-atom vector.
-
Fix store/state compute does not calculate a per-atom vector
-
The compute calculates a per-atom vector.
-
Fix store/state compute does not calculate per-atom values
-
Computes that calculate global or local quantities cannot be used -with fix store/state.
-
Fix store/state fix array is accessed out-of-range
-
Self-explanatory.
-
Fix store/state fix does not calculate a per-atom array
-
The fix calculates a per-atom vector.
-
Fix store/state fix does not calculate a per-atom vector
-
The fix calculates a per-atom array.
-
Fix store/state fix does not calculate per-atom values
-
Fixes that calculate global or local quantities cannot be used with -fix store/state.
-
Fix store/state for atom property that isn’t allocated
-
Self-explanatory.
-
Fix store/state variable is not atom-style variable
-
Only atom-style variables calculate per-atom quantities.
-
Fix temp/berendsen period must be > 0.0
-
Self-explanatory.
-
Fix temp/berendsen variable returned negative temperature
-
Self-explanatory.
-
Fix temp/csvr is not compatible with fix shake
-
These two commands cannot currently be used toghether.
-
Fix temp/csvr variable returned negative temperature
-
Self-explanatory.
-
Fix temp/rescale variable returned negative temperature
-
Self-explanatory.
-
Fix tfmc displacement length must be > 0
-
Self-explanatory.
-
Fix tfmc is not compatible with fix shake
-
These two commands cannot currently be used together.
-
Fix tfmc temperature must be > 0
-
Self-explanatory.
-
Fix thermal/conductivity swap value must be positive
-
Self-explanatory.
-
Fix tmd must come after integration fixes
-
Any fix tmd command must appear in the input script after all time +recompile. + +
Fix qeq/slater requires atom attribute q + +
Self-explanatory. + +
Fix reax/bonds numbonds > nsbmax_most + +
The limit of the number of bonds expected by the ReaxFF force field +was exceeded. + +
Fix recenter group has no atoms + +
Self-explanatory. + +
Fix restrain requires an atom map, see atom_modify + +
Self-explanatory. + +
Fix rigid atom has non-zero image flag in a non-periodic dimension + +
Image flags for non-periodic dimensions should not be set. + +
Fix rigid file has no lines + +
Self-explanatory. + +
Fix rigid langevin period must be > 0.0 + +
Self-explanatory. + +
Fix rigid molecule requires atom attribute molecule + +
Self-explanatory. + +
Fix rigid npt/nph dilate group ID does not exist + +
Self-explanatory. + +
Fix rigid npt/nph does not yet allow triclinic box + +
This is a current restriction in LAMMPS. + +
Fix rigid npt/nph period must be > 0.0 + +
Self-explanatory. + +
Fix rigid npt/small t_chain should not be less than 1 + +
Self-explanatory. + +
Fix rigid npt/small t_order must be 3 or 5 + +
Self-explanatory. + +
Fix rigid nvt/npt/nph damping parameters must be > 0.0 + +
Self-explanatory. + +
Fix rigid nvt/small t_chain should not be less than 1 + +
Self-explanatory. + +
Fix rigid nvt/small t_iter should not be less than 1 + +
Self-explanatory. + +
Fix rigid nvt/small t_order must be 3 or 5 + +
Self-explanatory. + +
Fix rigid xy torque cannot be on for 2d simulation + +
Self-explanatory. + +
Fix rigid z force cannot be on for 2d simulation + +
Self-explanatory. + +
Fix rigid/npt period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/npt temperature order must be 3 or 5 + +
Self-explanatory. + +
Fix rigid/npt/small period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/nvt period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/nvt temperature order must be 3 or 5 + +
Self-explanatory. + +
Fix rigid/nvt/small period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/small atom has non-zero image flag in a non-periodic dimension + +
Image flags for non-periodic dimensions should not be set. + +
Fix rigid/small langevin period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/small molecule must have atom types + +
The defined molecule does not specify atom types. + +
Fix rigid/small molecule must have coordinates + +
The defined molecule does not specify coordinates. + +
Fix rigid/small npt/nph period must be > 0.0 + +
Self-explanatory. + +
Fix rigid/small nvt/npt/nph damping parameters must be > 0.0 + +
Self-explanatory. + +
Fix rigid/small nvt/npt/nph dilate group ID does not exist + +
Self-explanatory. + +
Fix rigid/small requires an atom map, see atom_modify + +
Self-explanatory. + +
Fix rigid/small requires atom attribute molecule + +
Self-explanatory. + +
Fix rigid: Bad principal moments + +
The principal moments of inertia computed for a rigid body +are not within the required tolerances. + +
Fix shake cannot be used with minimization + +
Cannot use fix shake while doing an energy minimization since +it turns off bonds that should contribute to the energy. + +
Fix shake molecule template must have shake info + +
The defined molecule does not specify SHAKE information. + +
Fix spring couple group ID does not exist + +
Self-explanatory. + +
Fix srd can only currently be used with comm_style brick + +
This is a current restriction in LAMMPS. + +
Fix srd lamda must be >= 0.6 of SRD grid size + +
This is a requirement for accuracy reasons. + +
Fix srd no-slip requires atom attribute torque + +
This is because the SRD collisions will impart torque to the solute +particles. + +
Fix srd requires SRD particles all have same mass + +
Self-explanatory. + +
Fix srd requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Fix srd requires newton pair on + +
Self-explanatory. + +
Fix store/state compute array is accessed out-of-range + +
Self-explanatory. + +
Fix store/state compute does not calculate a per-atom array + +
The compute calculates a per-atom vector. + +
Fix store/state compute does not calculate a per-atom vector + +
The compute calculates a per-atom vector. + +
Fix store/state compute does not calculate per-atom values + +
Computes that calculate global or local quantities cannot be used +with fix store/state. + +
Fix store/state fix array is accessed out-of-range + +
Self-explanatory. + +
Fix store/state fix does not calculate a per-atom array + +
The fix calculates a per-atom vector. + +
Fix store/state fix does not calculate a per-atom vector + +
The fix calculates a per-atom array. + +
Fix store/state fix does not calculate per-atom values + +
Fixes that calculate global or local quantities cannot be used with +fix store/state. + +
Fix store/state for atom property that isn't allocated + +
Self-explanatory. + +
Fix store/state variable is not atom-style variable + +
Only atom-style variables calculate per-atom quantities. + +
Fix temp/berendsen period must be > 0.0 + +
Self-explanatory. + +
Fix temp/berendsen variable returned negative temperature + +
Self-explanatory. + +
Fix temp/csvr is not compatible with fix shake + +
These two commands cannot currently be used toghether. + +
Fix temp/csvr variable returned negative temperature + +
Self-explanatory. + +
Fix temp/rescale variable returned negative temperature + +
Self-explanatory. + +
Fix tfmc displacement length must be > 0 + +
Self-explanatory. + +
Fix tfmc is not compatible with fix shake + +
These two commands cannot currently be used together. + +
Fix tfmc temperature must be > 0 + +
Self-explanatory. + +
Fix thermal/conductivity swap value must be positive + +
Self-explanatory. + +
Fix tmd must come after integration fixes + +
Any fix tmd command must appear in the input script after all time integration fixes (nve, nvt, npt). See the fix tmd documentation for -details.
-
Fix ttm electron temperatures must be > 0.0
-
Self-explanatory.
-
Fix ttm electronic_density must be > 0.0
-
Self-explanatory.
-
Fix ttm electronic_specific_heat must be > 0.0
-
Self-explanatory.
-
Fix ttm electronic_thermal_conductivity must be >= 0.0
-
Self-explanatory.
-
Fix ttm gamma_p must be > 0.0
-
Self-explanatory.
-
Fix ttm gamma_s must be >= 0.0
-
Self-explanatory.
-
Fix ttm number of nodes must be > 0
-
Self-explanatory.
-
Fix ttm v_0 must be >= 0.0
-
Self-explanatory.
-
Fix used in compute chunk/atom not computed at compatible time
-
The chunk/atom compute cannot query the output of the fix on a timestep -it is needed.
-
Fix used in compute reduce not computed at compatible time
-
Fixes generate their values on specific timesteps. Compute reduce is -requesting a value on a non-allowed timestep.
-
Fix used in compute slice not computed at compatible time
-
Fixes generate their values on specific timesteps. Compute slice is -requesting a value on a non-allowed timestep.
-
Fix vector cannot set output array intensive/extensive from these inputs
-
The inputs to the command have conflicting intensive/extensive attributes. -You need to use more than one fix vector command.
-
Fix vector compute does not calculate a scalar
-
Self-explanatory.
-
Fix vector compute does not calculate a vector
-
Self-explanatory.
-
Fix vector compute vector is accessed out-of-range
-
Self-explanatory.
-
Fix vector fix does not calculate a scalar
-
Self-explanatory.
-
Fix vector fix does not calculate a vector
-
Self-explanatory.
-
Fix vector fix vector is accessed out-of-range
-
Self-explanatory.
-
Fix vector variable is not equal-style variable
-
Self-explanatory.
-
Fix viscosity swap value must be positive
-
Self-explanatory.
-
Fix viscosity vtarget value must be positive
-
Self-explanatory.
-
Fix wall cutoff <= 0.0
-
Self-explanatory.
-
Fix wall/colloid requires atom style sphere
-
Self-explanatory.
-
Fix wall/colloid requires extended particles
-
One of the particles has radius 0.0.
-
Fix wall/gran is incompatible with Pair style
-
Must use a granular pair style to define the parameters needed for -this fix.
-
Fix wall/gran requires atom style sphere
-
Self-explanatory.
-
Fix wall/piston command only available at zlo
-
The face keyword must be zlo.
-
Fix wall/region colloid requires atom style sphere
-
Self-explanatory.
-
Fix wall/region colloid requires extended particles
-
One of the particles has radius 0.0.
-
Fix wall/region cutoff <= 0.0
-
Self-explanatory.
-
Fix_modify pressure ID does not compute pressure
-
The compute ID assigned to the fix must compute pressure.
-
Fix_modify temperature ID does not compute temperature
-
The compute ID assigned to the fix must compute temperature.
-
For triclinic deformation, specified target stress must be hydrostatic
-
Triclinic pressure control is allowed using the tri keyword, but -non-hydrostatic pressure control can not be used in this case.
-
Found no restart file matching pattern
-
When using a “*” in the restart file name, no matching file was found.
-
GPU library not compiled for this accelerator
-
Self-explanatory.
-
GPU package does not (yet) work with atom_style template
-
Self-explanatory.
-
GPU particle split must be set to 1 for this pair style.
-
For this pair style, you cannot run part of the force calculation on -the host. See the package command.
-
GPU split param must be positive for hybrid pair styles
-
See the package gpu command.
-
Ghost velocity forward comm not yet implemented with Kokkos
-
This is a current restriction.
-
Gmask function in equal-style variable formula
-
Gmask is per-atom operation.
-
Gravity changed since fix pour was created
-
The gravity vector defined by fix gravity must be static.
-
Gravity must point in -y to use with fix pour in 2d
-
Self-explanatory.
-
Gravity must point in -z to use with fix pour in 3d
-
Self-explanatory.
-
Grmask function in equal-style variable formula
-
Grmask is per-atom operation.
-
Group ID does not exist
-
A group ID used in the group command does not exist.
-
Group ID in variable formula does not exist
-
Self-explanatory.
-
Group all cannot be made dynamic
-
This operation is not allowed.
-
Group command before simulation box is defined
-
The group command cannot be used before a read_data, read_restart, or -create_box command.
-
Group dynamic cannot reference itself
-
Self-explanatory.
-
Group dynamic parent group cannot be dynamic
-
Self-explanatory.
-
Group dynamic parent group does not exist
-
Self-explanatory.
-
Group region ID does not exist
-
A region ID used in the group command does not exist.
-
If read_dump purges it cannot replace or trim
-
These operations are not compatible. See the read_dump doc -page for details.
-
Illegal ... command
-
Self-explanatory. Check the input script syntax and compare to the +details. + +
Fix ttm electron temperatures must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_density must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_specific_heat must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_thermal_conductivity must be >= 0.0 + +
Self-explanatory. + +
Fix ttm gamma_p must be > 0.0 + +
Self-explanatory. + +
Fix ttm gamma_s must be >= 0.0 + +
Self-explanatory. + +
Fix ttm number of nodes must be > 0 + +
Self-explanatory. + +
Fix ttm v_0 must be >= 0.0 + +
Self-explanatory. + +
Fix used in compute chunk/atom not computed at compatible time + +
The chunk/atom compute cannot query the output of the fix on a timestep +it is needed. + +
Fix used in compute reduce not computed at compatible time + +
Fixes generate their values on specific timesteps. Compute reduce is +requesting a value on a non-allowed timestep. + +
Fix used in compute slice not computed at compatible time + +
Fixes generate their values on specific timesteps. Compute slice is +requesting a value on a non-allowed timestep. + +
Fix vector cannot set output array intensive/extensive from these inputs + +
The inputs to the command have conflicting intensive/extensive attributes. +You need to use more than one fix vector command. + +
Fix vector compute does not calculate a scalar + +
Self-explanatory. + +
Fix vector compute does not calculate a vector + +
Self-explanatory. + +
Fix vector compute vector is accessed out-of-range + +
Self-explanatory. + +
Fix vector fix does not calculate a scalar + +
Self-explanatory. + +
Fix vector fix does not calculate a vector + +
Self-explanatory. + +
Fix vector fix vector is accessed out-of-range + +
Self-explanatory. + +
Fix vector variable is not equal-style variable + +
Self-explanatory. + +
Fix viscosity swap value must be positive + +
Self-explanatory. + +
Fix viscosity vtarget value must be positive + +
Self-explanatory. + +
Fix wall cutoff <= 0.0 + +
Self-explanatory. + +
Fix wall/colloid requires atom style sphere + +
Self-explanatory. + +
Fix wall/colloid requires extended particles + +
One of the particles has radius 0.0. + +
Fix wall/gran is incompatible with Pair style + +
Must use a granular pair style to define the parameters needed for +this fix. + +
Fix wall/gran requires atom style sphere + +
Self-explanatory. + +
Fix wall/piston command only available at zlo + +
The face keyword must be zlo. + +
Fix wall/region colloid requires atom style sphere + +
Self-explanatory. + +
Fix wall/region colloid requires extended particles + +
One of the particles has radius 0.0. + +
Fix wall/region cutoff <= 0.0 + +
Self-explanatory. + +
Fix_modify pressure ID does not compute pressure + +
The compute ID assigned to the fix must compute pressure. + +
Fix_modify temperature ID does not compute temperature + +
The compute ID assigned to the fix must compute temperature. + +
For triclinic deformation, specified target stress must be hydrostatic + +
Triclinic pressure control is allowed using the tri keyword, but +non-hydrostatic pressure control can not be used in this case. + +
Found no restart file matching pattern + +
When using a "*" in the restart file name, no matching file was found. + +
GPU library not compiled for this accelerator + +
Self-explanatory. + +
GPU package does not (yet) work with atom_style template + +
Self-explanatory. + +
GPU particle split must be set to 1 for this pair style. + +
For this pair style, you cannot run part of the force calculation on +the host. See the package command. + +
GPU split param must be positive for hybrid pair styles + +
See the package gpu command. + +
Ghost velocity forward comm not yet implemented with Kokkos + +
This is a current restriction. + +
Gmask function in equal-style variable formula + +
Gmask is per-atom operation. + +
Gravity changed since fix pour was created + +
The gravity vector defined by fix gravity must be static. + +
Gravity must point in -y to use with fix pour in 2d + +
Self-explanatory. + +
Gravity must point in -z to use with fix pour in 3d + +
Self-explanatory. + +
Grmask function in equal-style variable formula + +
Grmask is per-atom operation. + +
Group ID does not exist + +
A group ID used in the group command does not exist. + +
Group ID in variable formula does not exist + +
Self-explanatory. + +
Group all cannot be made dynamic + +
This operation is not allowed. + +
Group command before simulation box is defined + +
The group command cannot be used before a read_data, read_restart, or +create_box command. + +
Group dynamic cannot reference itself + +
Self-explanatory. + +
Group dynamic parent group cannot be dynamic + +
Self-explanatory. + +
Group dynamic parent group does not exist + +
Self-explanatory. + +
Group region ID does not exist + +
A region ID used in the group command does not exist. + +
If read_dump purges it cannot replace or trim + +
These operations are not compatible. See the read_dump doc +page for details. + +
Illegal ... command + +
Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line.
-
Illegal COMB parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal COMB3 parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal Stillinger-Weber parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal Tersoff parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal compute voronoi/atom command (occupation and (surface or edges))
-
Self-explanatory.
-
Illegal coul/streitz parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal dump_modify sfactor value (must be > 0.0)
-
Self-explanatory.
-
Illegal dump_modify tfactor value (must be > 0.0)
-
Self-explanatory.
-
Illegal fix gcmc gas mass <= 0
-
The computed mass of the designated gas molecule or atom type was less -than or equal to zero.
-
Illegal fix tfmc random seed
-
Seeds can only be nonzero positive integers.
-
Illegal fix wall/piston velocity
-
The piston velocity must be positive.
-
Illegal integrate style
-
Self-explanatory.
-
Illegal nb3b/harmonic parameter
-
One or more of the coefficients defined in the potential file is -invalid.
-
Illegal number of angle table entries
-
There must be at least 2 table entries.
-
Illegal number of bond table entries
-
There must be at least 2 table entries.
-
Illegal number of pair table entries
-
There must be at least 2 table entries.
-
Illegal simulation box
-
The lower bound of the simulation box is greater than the upper bound.
-
Imageint setting in lmptype.h is invalid
-
Imageint must be as large or larger than smallint.
-
Imageint setting in lmptype.h is not compatible
-
Format of imageint stored in restart file is not consistent with -LAMMPS version you are running. See the settings in src/lmptype.h
-
Improper atom missing in delete_bonds
-
The delete_bonds command cannot find one or more atoms in a particular +command-line option when running LAMMPS to see the offending line. + +
Illegal COMB parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal COMB3 parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal Stillinger-Weber parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal Tersoff parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal compute voronoi/atom command (occupation and (surface or edges)) + +
Self-explanatory. + +
Illegal coul/streitz parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal dump_modify sfactor value (must be > 0.0) + +
Self-explanatory. + +
Illegal dump_modify tfactor value (must be > 0.0) + +
Self-explanatory. + +
Illegal fix gcmc gas mass <= 0 + +
The computed mass of the designated gas molecule or atom type was less +than or equal to zero. + +
Illegal fix tfmc random seed + +
Seeds can only be nonzero positive integers. + +
Illegal fix wall/piston velocity + +
The piston velocity must be positive. + +
Illegal integrate style + +
Self-explanatory. + +
Illegal nb3b/harmonic parameter + +
One or more of the coefficients defined in the potential file is +invalid. + +
Illegal number of angle table entries + +
There must be at least 2 table entries. + +
Illegal number of bond table entries + +
There must be at least 2 table entries. + +
Illegal number of pair table entries + +
There must be at least 2 table entries. + +
Illegal simulation box + +
The lower bound of the simulation box is greater than the upper bound. + +
Imageint setting in lmptype.h is invalid + +
Imageint must be as large or larger than smallint. + +
Imageint setting in lmptype.h is not compatible + +
Format of imageint stored in restart file is not consistent with +LAMMPS version you are running. See the settings in src/lmptype.h + +
Improper atom missing in delete_bonds + +
The delete_bonds command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid improper.
-
Improper atom missing in set command
-
The set command cannot find one or more atoms in a particular improper +or the atoms are too far apart to make a valid improper. + +
Improper atom missing in set command + +
The set command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid improper.
-
Improper atoms %d %d %d %d missing on proc %d at step %ld
-
One or more of 4 atoms needed to compute a particular improper are +atoms are too far apart to make a valid improper. + +
Improper atoms %d %d %d %d missing on proc %d at step %ld + +
One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away.
-
Improper atoms missing on proc %d at step %ld
-
One or more of 4 atoms needed to compute a particular improper are +too far away. + +
Improper atoms missing on proc %d at step %ld + +
One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away.
-
Improper coeff for hybrid has invalid style
-
Improper style hybrid uses another improper style as one of its +too far away. + +
Improper coeff for hybrid has invalid style + +
Improper style hybrid uses another improper style as one of its coefficients. The improper style used in the improper_coeff command -or read from a restart file is not recognized.
-
Improper coeffs are not set
-
No improper coefficients have been assigned in the data file or via -the improper_coeff command.
-
Improper style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Improper style hybrid cannot have none as an argument
-
Self-explanatory.
-
Improper style hybrid cannot use same improper style twice
-
Self-explanatory.
-
Improper_coeff command before improper_style is defined
-
Coefficients cannot be set in the data file or via the improper_coeff -command until an improper_style has been assigned.
-
Improper_coeff command before simulation box is defined
-
The improper_coeff command cannot be used before a read_data, -read_restart, or create_box command.
-
Improper_coeff command when no impropers allowed
-
The chosen atom style does not allow for impropers to be defined.
-
Improper_style command when no impropers allowed
-
The chosen atom style does not allow for impropers to be defined.
-
Impropers assigned incorrectly
-
Impropers read in from the data file were not assigned correctly to +or read from a restart file is not recognized. + +
Improper coeffs are not set + +
No improper coefficients have been assigned in the data file or via +the improper_coeff command. + +
Improper style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Improper style hybrid cannot have none as an argument + +
Self-explanatory. + +
Improper style hybrid cannot use same improper style twice + +
Self-explanatory. + +
Improper_coeff command before improper_style is defined + +
Coefficients cannot be set in the data file or via the improper_coeff +command until an improper_style has been assigned. + +
Improper_coeff command before simulation box is defined + +
The improper_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
Improper_coeff command when no impropers allowed + +
The chosen atom style does not allow for impropers to be defined. + +
Improper_style command when no impropers allowed + +
The chosen atom style does not allow for impropers to be defined. + +
Impropers assigned incorrectly + +
Impropers read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions.
-
Impropers defined but no improper types
-
The data file header lists improper but no improper types.
-
Incomplete use of variables in create_atoms command
-
The var and set options must be used together.
-
Inconsistent iparam/jparam values in fix bond/create command
-
If itype and jtype are the same, then their maxbond and newtype -settings must also be the same.
-
Inconsistent line segment in data file
-
The end points of the line segment are not equal distances from the -center point which is the atom coordinate.
-
Inconsistent triangle in data file
-
The centroid of the triangle as defined by the corner points is not -the atom coordinate.
-
Inconsistent use of finite-size particles by molecule template molecules
-
Not all of the molecules define a radius for their constituent -particles.
-
Incorrect # of floating-point values in Bodies section of data file
-
See doc page for body style.
-
Incorrect # of integer values in Bodies section of data file
-
See doc page for body style.
-
Incorrect %s format in data file
-
A section of the data file being read by fix property/atom does -not have the correct number of values per line.
-
Incorrect SNAP parameter file
-
The file cannot be parsed correctly, check its internal syntax.
-
Incorrect args for angle coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect args for bond coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect args for dihedral coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect args for improper coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect args for pair coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect args in pair_style command
-
Self-explanatory.
-
Incorrect atom format in data file
-
Number of values per atom line in the data file is not consistent with -the atom style.
-
Incorrect atom format in neb file
-
The number of fields per line is not what expected.
-
Incorrect bonus data format in data file
-
See the read_data doc page for a description of how various kinds of -bonus data must be formatted for certain atom styles.
-
Incorrect boundaries with slab Ewald
-
Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald.
-
Incorrect boundaries with slab EwaldDisp
-
Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald.
-
Incorrect boundaries with slab PPPM
-
Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with PPPM.
-
Incorrect boundaries with slab PPPMDisp
-
Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with pppm/disp.
-
Incorrect element names in ADP potential file
-
The element names in the ADP file do not match those requested.
-
Incorrect element names in EAM potential file
-
The element names in the EAM file do not match those requested.
-
Incorrect format in COMB potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in COMB3 potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in MEAM potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in SNAP coefficient file
-
Incorrect number of words per line in the coefficient file.
-
Incorrect format in SNAP parameter file
-
Incorrect number of words per line in the parameter file.
-
Incorrect format in Stillinger-Weber potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in TMD target file
-
Format of file read by fix tmd command is incorrect.
-
Incorrect format in Tersoff potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in coul/streitz potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect format in nb3b/harmonic potential file
-
Incorrect number of words per line in the potential file.
-
Incorrect integer value in Bodies section of data file
-
See doc page for body style.
-
Incorrect multiplicity arg for dihedral coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect rigid body format in fix rigid file
-
The number of fields per line is not what expected.
-
Incorrect rigid body format in fix rigid/small file
-
The number of fields per line is not what expected.
-
Incorrect sign arg for dihedral coefficients
-
Self-explanatory. Check the input script or data file.
-
Incorrect velocity format in data file
-
Each atom style defines a format for the Velocity section -of the data file. The read-in lines do not match.
-
Incorrect weight arg for dihedral coefficients
-
Self-explanatory. Check the input script or data file.
-
Index between variable brackets must be positive
-
Self-explanatory.
-
Indexed per-atom vector in variable formula without atom map
-
Accessing a value from an atom vector requires the ability to lookup +definitions. + +
Impropers defined but no improper types + +
The data file header lists improper but no improper types. + +
Incomplete use of variables in create_atoms command + +
The var and set options must be used together. + +
Inconsistent iparam/jparam values in fix bond/create command + +
If itype and jtype are the same, then their maxbond and newtype +settings must also be the same. + +
Inconsistent line segment in data file + +
The end points of the line segment are not equal distances from the +center point which is the atom coordinate. + +
Inconsistent triangle in data file + +
The centroid of the triangle as defined by the corner points is not +the atom coordinate. + +
Inconsistent use of finite-size particles by molecule template molecules + +
Not all of the molecules define a radius for their constituent +particles. + +
Incorrect # of floating-point values in Bodies section of data file + +
See doc page for body style. + +
Incorrect # of integer values in Bodies section of data file + +
See doc page for body style. + +
Incorrect %s format in data file + +
A section of the data file being read by fix property/atom does +not have the correct number of values per line. + +
Incorrect SNAP parameter file + +
The file cannot be parsed correctly, check its internal syntax. + +
Incorrect args for angle coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect args for bond coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect args for dihedral coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect args for improper coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect args for pair coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect args in pair_style command + +
Self-explanatory. + +
Incorrect atom format in data file + +
Number of values per atom line in the data file is not consistent with +the atom style. + +
Incorrect atom format in neb file + +
The number of fields per line is not what expected. + +
Incorrect bonus data format in data file + +
See the read_data doc page for a description of how various kinds of +bonus data must be formatted for certain atom styles. + +
Incorrect boundaries with slab Ewald + +
Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald. + +
Incorrect boundaries with slab EwaldDisp + +
Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald. + +
Incorrect boundaries with slab PPPM + +
Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with PPPM. + +
Incorrect boundaries with slab PPPMDisp + +
Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with pppm/disp. + +
Incorrect element names in ADP potential file + +
The element names in the ADP file do not match those requested. + +
Incorrect element names in EAM potential file + +
The element names in the EAM file do not match those requested. + +
Incorrect format in COMB potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in COMB3 potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in MEAM potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in SNAP coefficient file + +
Incorrect number of words per line in the coefficient file. + +
Incorrect format in SNAP parameter file + +
Incorrect number of words per line in the parameter file. + +
Incorrect format in Stillinger-Weber potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in TMD target file + +
Format of file read by fix tmd command is incorrect. + +
Incorrect format in Tersoff potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in coul/streitz potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect format in nb3b/harmonic potential file + +
Incorrect number of words per line in the potential file. + +
Incorrect integer value in Bodies section of data file + +
See doc page for body style. + +
Incorrect multiplicity arg for dihedral coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect rigid body format in fix rigid file + +
The number of fields per line is not what expected. + +
Incorrect rigid body format in fix rigid/small file + +
The number of fields per line is not what expected. + +
Incorrect sign arg for dihedral coefficients + +
Self-explanatory. Check the input script or data file. + +
Incorrect velocity format in data file + +
Each atom style defines a format for the Velocity section +of the data file. The read-in lines do not match. + +
Incorrect weight arg for dihedral coefficients + +
Self-explanatory. Check the input script or data file. + +
Index between variable brackets must be positive + +
Self-explanatory. + +
Indexed per-atom vector in variable formula without atom map + +
Accessing a value from an atom vector requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for non-molecular problems. Using the atom_modify -map command will force an atom map to be created.
-
Initial temperatures not all set in fix ttm
-
Self-explantory.
-
Input line quote not followed by whitespace
-
An end quote must be followed by whitespace.
-
Insertion region extends outside simulation box
-
Self-explanatory.
-
Insufficient Jacobi rotations for POEMS body
-
Eigensolve for rigid body was not sufficiently accurate.
-
Insufficient Jacobi rotations for body nparticle
-
Eigensolve for rigid body was not sufficiently accurate.
-
Insufficient Jacobi rotations for rigid body
-
Eigensolve for rigid body was not sufficiently accurate.
-
Insufficient Jacobi rotations for rigid molecule
-
Eigensolve for rigid body was not sufficiently accurate.
-
Insufficient Jacobi rotations for triangle
-
The calculation of the intertia tensor of the triangle failed. This -should not happen if it is a reasonably shaped triangle.
-
Insufficient memory on accelerator
-
There is insufficient memory on one of the devices specified for the gpu -package
-
Internal error in atom_style body
-
This error should not occur. Contact the developers.
-
Invalid -reorder N value
-
Self-explanatory.
-
Invalid Boolean syntax in if command
-
Self-explanatory.
-
Invalid Kokkos command-line args
-
Self-explanatory. See Section 2.7 of the manual for details.
-
Invalid LAMMPS restart file
-
The file does not appear to be a LAMMPS restart file since -it doesn’t contain the correct magic string at the beginning.
-
Invalid REAX atom type
-
There is a mis-match between LAMMPS atom types and the elements -listed in the ReaxFF force field file.
-
Invalid angle table length
-
Length must be 2 or greater.
-
Invalid angle type in Angles section of data file
-
Angle type must be positive integer and within range of specified angle -types.
-
Invalid angle type in Angles section of molecule file
-
Self-explanatory.
-
Invalid angle type index for fix shake
-
Self-explanatory.
-
Invalid args for non-hybrid pair coefficients
-
“NULL” is only supported in pair_coeff calls when using pair hybrid
-
Invalid argument to factorial %d
-
N must be >= 0 and <= 167, otherwise the factorial result is too -large.
-
Invalid atom ID in %s section of data file
-
An atom in a section of the data file being read by fix property/atom -has an invalid atom ID that is <= 0 or > the maximum existing atom ID.
-
Invalid atom ID in Angles section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Angles section of molecule file
-
Self-explanatory.
-
Invalid atom ID in Atoms section of data file
-
Atom IDs must be positive integers.
-
Invalid atom ID in Bodies section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Bonds section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Bonds section of molecule file
-
Self-explanatory.
-
Invalid atom ID in Bonus section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Dihedrals section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Impropers section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in Velocities section of data file
-
Atom IDs must be positive integers and within range of defined -atoms.
-
Invalid atom ID in dihedrals section of molecule file
-
Self-explanatory.
-
Invalid atom ID in impropers section of molecule file
-
Self-explanatory.
-
Invalid atom ID in variable file
-
Self-explanatory.
-
Invalid atom IDs in neb file
-
An ID in the file was not found in the system.
-
Invalid atom diameter in molecule file
-
Diameters must be >= 0.0.
-
Invalid atom mass for fix shake
-
Mass specified in fix shake command must be > 0.0.
-
Invalid atom mass in molecule file
-
Masses must be > 0.0.
-
Invalid atom type in Atoms section of data file
-
Atom types must range from 1 to specified # of types.
-
Invalid atom type in create_atoms command
-
The create_box command specified the range of valid atom types. -An invalid type is being requested.
-
Invalid atom type in create_atoms mol command
-
The atom types in the defined molecule are added to the value +map command will force an atom map to be created. + +
Initial temperatures not all set in fix ttm + +
Self-explantory. + +
Input line quote not followed by whitespace + +
An end quote must be followed by whitespace. + +
Insertion region extends outside simulation box + +
Self-explanatory. + +
Insufficient Jacobi rotations for POEMS body + +
Eigensolve for rigid body was not sufficiently accurate. + +
Insufficient Jacobi rotations for body nparticle + +
Eigensolve for rigid body was not sufficiently accurate. + +
Insufficient Jacobi rotations for rigid body + +
Eigensolve for rigid body was not sufficiently accurate. + +
Insufficient Jacobi rotations for rigid molecule + +
Eigensolve for rigid body was not sufficiently accurate. + +
Insufficient Jacobi rotations for triangle + +
The calculation of the intertia tensor of the triangle failed. This +should not happen if it is a reasonably shaped triangle. + +
Insufficient memory on accelerator + +
There is insufficient memory on one of the devices specified for the gpu +package + +
Internal error in atom_style body + +
This error should not occur. Contact the developers. + +
Invalid -reorder N value + +
Self-explanatory. + +
Invalid Boolean syntax in if command + +
Self-explanatory. + +
Invalid Kokkos command-line args + +
Self-explanatory. See Section 2.7 of the manual for details. + +
Invalid LAMMPS restart file + +
The file does not appear to be a LAMMPS restart file since +it doesn't contain the correct magic string at the beginning. + +
Invalid REAX atom type + +
There is a mis-match between LAMMPS atom types and the elements +listed in the ReaxFF force field file. + +
Invalid angle table length + +
Length must be 2 or greater. + +
Invalid angle type in Angles section of data file + +
Angle type must be positive integer and within range of specified angle +types. + +
Invalid angle type in Angles section of molecule file + +
Self-explanatory. + +
Invalid angle type index for fix shake + +
Self-explanatory. + +
Invalid args for non-hybrid pair coefficients + +
"NULL" is only supported in pair_coeff calls when using pair hybrid + +
Invalid argument to factorial %d + +
N must be >= 0 and <= 167, otherwise the factorial result is too +large. + +
Invalid atom ID in %s section of data file + +
An atom in a section of the data file being read by fix property/atom +has an invalid atom ID that is <= 0 or > the maximum existing atom ID. + +
Invalid atom ID in Angles section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Angles section of molecule file + +
Self-explanatory. + +
Invalid atom ID in Atoms section of data file + +
Atom IDs must be positive integers. + +
Invalid atom ID in Bodies section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Bonds section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Bonds section of molecule file + +
Self-explanatory. + +
Invalid atom ID in Bonus section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Dihedrals section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Impropers section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in Velocities section of data file + +
Atom IDs must be positive integers and within range of defined +atoms. + +
Invalid atom ID in dihedrals section of molecule file + +
Self-explanatory. + +
Invalid atom ID in impropers section of molecule file + +
Self-explanatory. + +
Invalid atom ID in variable file + +
Self-explanatory. + +
Invalid atom IDs in neb file + +
An ID in the file was not found in the system. + +
Invalid atom diameter in molecule file + +
Diameters must be >= 0.0. + +
Invalid atom mass for fix shake + +
Mass specified in fix shake command must be > 0.0. + +
Invalid atom mass in molecule file + +
Masses must be > 0.0. + +
Invalid atom type in Atoms section of data file + +
Atom types must range from 1 to specified # of types. + +
Invalid atom type in create_atoms command + +
The create_box command specified the range of valid atom types. +An invalid type is being requested. + +
Invalid atom type in create_atoms mol command + +
The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types.
-
Invalid atom type in fix atom/swap command
-
The atom type specified in the atom/swap command does not exist.
-
Invalid atom type in fix bond/create command
-
Self-explanatory.
-
Invalid atom type in fix deposit command
-
Self-explanatory.
-
Invalid atom type in fix deposit mol command
-
The atom types in the defined molecule are added to the value +types. + +
Invalid atom type in fix atom/swap command + +
The atom type specified in the atom/swap command does not exist. + +
Invalid atom type in fix bond/create command + +
Self-explanatory. + +
Invalid atom type in fix deposit command + +
Self-explanatory. + +
Invalid atom type in fix deposit mol command + +
The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types.
-
Invalid atom type in fix gcmc command
-
The atom type specified in the gcmc command does not exist.
-
Invalid atom type in fix gcmc mol command
-
Self-explanatory.
-
Invalid atom type in fix pour command
-
Self-explanatory.
-
Invalid atom type in fix pour mol command
-
The atom types in the defined molecule are added to the value +types. + +
Invalid atom type in fix gcmc command + +
The atom type specified in the gcmc command does not exist. + +
Invalid atom type in fix gcmc mol command + +
Self-explanatory. + +
Invalid atom type in fix pour command + +
Self-explanatory. + +
Invalid atom type in fix pour mol command + +
The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types.
-
Invalid atom type in molecule file
-
Atom types must range from 1 to specified # of types.
-
Invalid atom type in neighbor exclusion list
-
Atom types must range from 1 to Ntypes inclusive.
-
Invalid atom type index for fix shake
-
Atom types must range from 1 to Ntypes inclusive.
-
Invalid atom types in pair_write command
-
Atom types must range from 1 to Ntypes inclusive.
-
Invalid atom vector in variable formula
-
The atom vector is not recognized.
-
Invalid atom_style body command
-
No body style argument was provided.
-
Invalid atom_style command
-
Self-explanatory.
-
Invalid attribute in dump custom command
-
Self-explantory.
-
Invalid attribute in dump local command
-
Self-explantory.
-
Invalid attribute in dump modify command
-
Self-explantory.
-
Invalid basis setting in create_atoms command
-
The basis index must be between 1 to N where N is the number of basis +types. + +
Invalid atom type in molecule file + +
Atom types must range from 1 to specified # of types. + +
Invalid atom type in neighbor exclusion list + +
Atom types must range from 1 to Ntypes inclusive. + +
Invalid atom type index for fix shake + +
Atom types must range from 1 to Ntypes inclusive. + +
Invalid atom types in pair_write command + +
Atom types must range from 1 to Ntypes inclusive. + +
Invalid atom vector in variable formula + +
The atom vector is not recognized. + +
Invalid atom_style body command + +
No body style argument was provided. + +
Invalid atom_style command + +
Self-explanatory. + +
Invalid attribute in dump custom command + +
Self-explantory. + +
Invalid attribute in dump local command + +
Self-explantory. + +
Invalid attribute in dump modify command + +
Self-explantory. + +
Invalid basis setting in create_atoms command + +
The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types.
-
Invalid basis setting in fix append/atoms command
-
The basis index must be between 1 to N where N is the number of basis +is the number of atom types. + +
Invalid basis setting in fix append/atoms command + +
The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types.
-
Invalid bin bounds in compute chunk/atom
-
The lo/hi values are inconsistent.
-
Invalid bin bounds in fix ave/spatial
-
The lo/hi values are inconsistent.
-
Invalid body nparticle command
-
Arguments in atom-style command are not correct.
-
Invalid bond table length
-
Length must be 2 or greater.
-
Invalid bond type in Bonds section of data file
-
Bond type must be positive integer and within range of specified bond -types.
-
Invalid bond type in Bonds section of molecule file
-
Self-explanatory.
-
Invalid bond type in create_bonds command
-
Self-explanatory.
-
Invalid bond type in fix bond/break command
-
Self-explanatory.
-
Invalid bond type in fix bond/create command
-
Self-explanatory.
-
Invalid bond type index for fix shake
-
Self-explanatory. Check the fix shake command in the input script.
-
Invalid coeffs for this dihedral style
-
Cannot set class 2 coeffs in data file for this dihedral style.
-
Invalid color in dump_modify command
-
The specified color name was not in the list of recognized colors. -See the dump_modify doc page.
-
Invalid color map min/max values
-
The min/max values are not consistent with either each other or -with values in the color map.
-
Invalid command-line argument
-
One or more command-line arguments is invalid. Check the syntax of -the command you are using to launch LAMMPS.
-
Invalid compute ID in variable formula
-
The compute is not recognized.
-
Invalid create_atoms rotation vector for 2d model
-
The rotation vector can only have a z component.
-
Invalid custom OpenCL parameter string.
-
There are not enough or too many parameters in the custom string for package -GPU.
-
Invalid cutoff in comm_modify command
-
Specified cutoff must be >= 0.0.
-
Invalid cutoffs in pair_write command
-
Inner cutoff must be larger than 0.0 and less than outer cutoff.
-
Invalid d1 or d2 value for pair colloid coeff
-
Neither d1 or d2 can be < 0.
-
Invalid data file section: Angle Coeffs
-
Atom style does not allow angles.
-
Invalid data file section: AngleAngle Coeffs
-
Atom style does not allow impropers.
-
Invalid data file section: AngleAngleTorsion Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: AngleTorsion Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: Angles
-
Atom style does not allow angles.
-
Invalid data file section: Bodies
-
Atom style does not allow bodies.
-
Invalid data file section: Bond Coeffs
-
Atom style does not allow bonds.
-
Invalid data file section: BondAngle Coeffs
-
Atom style does not allow angles.
-
Invalid data file section: BondBond Coeffs
-
Atom style does not allow angles.
-
Invalid data file section: BondBond13 Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: Bonds
-
Atom style does not allow bonds.
-
Invalid data file section: Dihedral Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: Dihedrals
-
Atom style does not allow dihedrals.
-
Invalid data file section: Ellipsoids
-
Atom style does not allow ellipsoids.
-
Invalid data file section: EndBondTorsion Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: Improper Coeffs
-
Atom style does not allow impropers.
-
Invalid data file section: Impropers
-
Atom style does not allow impropers.
-
Invalid data file section: Lines
-
Atom style does not allow lines.
-
Invalid data file section: MiddleBondTorsion Coeffs
-
Atom style does not allow dihedrals.
-
Invalid data file section: Triangles
-
Atom style does not allow triangles.
-
Invalid delta_conf in tad command
-
The value must be between 0 and 1 inclusive.
-
Invalid density in Atoms section of data file
-
Density value cannot be <= 0.0.
-
Invalid density in set command
-
Density must be > 0.0.
-
Invalid diameter in set command
-
Self-explanatory.
-
Invalid dihedral type in Dihedrals section of data file
-
Dihedral type must be positive integer and within range of specified -dihedral types.
-
Invalid dihedral type in dihedrals section of molecule file
-
Self-explanatory.
-
Invalid dipole length in set command
-
Self-explanatory.
-
Invalid displace_atoms rotate axis for 2d
-
Axis must be in z direction.
-
Invalid dump dcd filename
-
Filenames used with the dump dcd style cannot be binary or compressed -or cause multiple files to be written.
-
Invalid dump frequency
-
Dump frequency must be 1 or greater.
-
Invalid dump image element name
-
The specified element name was not in the standard list of elements. -See the dump_modify doc page.
-
Invalid dump image filename
-
The file produced by dump image cannot be binary and must -be for a single processor.
-
Invalid dump image persp value
-
Persp value must be >= 0.0.
-
Invalid dump image theta value
-
Theta must be between 0.0 and 180.0 inclusive.
-
Invalid dump image zoom value
-
Zoom value must be > 0.0.
-
Invalid dump movie filename
-
The file produced by dump movie cannot be binary or compressed -and must be a single file for a single processor.
-
Invalid dump xtc filename
-
Filenames used with the dump xtc style cannot be binary or compressed -or cause multiple files to be written.
-
Invalid dump xyz filename
-
Filenames used with the dump xyz style cannot be binary or cause files -to be written by each processor.
-
Invalid dump_modify threshhold operator
-
Operator keyword used for threshold specification in not recognized.
-
Invalid entry in -reorder file
-
Self-explanatory.
-
Invalid fix ID in variable formula
-
The fix is not recognized.
-
Invalid fix ave/time off column
-
Self-explantory.
-
Invalid fix box/relax command for a 2d simulation
-
Fix box/relax styles involving the z dimension cannot be used in -a 2d simulation.
-
Invalid fix box/relax command pressure settings
-
If multiple dimensions are coupled, those dimensions must be specified.
-
Invalid fix box/relax pressure settings
-
Settings for coupled dimensions must be the same.
-
Invalid fix nvt/npt/nph command for a 2d simulation
-
Cannot control z dimension in a 2d model.
-
Invalid fix nvt/npt/nph command pressure settings
-
If multiple dimensions are coupled, those dimensions must be -specified.
-
Invalid fix nvt/npt/nph pressure settings
-
Settings for coupled dimensions must be the same.
-
Invalid fix press/berendsen for a 2d simulation
-
The z component of pressure cannot be controlled for a 2d model.
-
Invalid fix press/berendsen pressure settings
-
Settings for coupled dimensions must be the same.
-
Invalid fix qeq parameter file
-
Element index > number of atom types.
-
Invalid fix rigid npt/nph command for a 2d simulation
-
Cannot control z dimension in a 2d model.
-
Invalid fix rigid npt/nph command pressure settings
-
If multiple dimensions are coupled, those dimensions must be -specified.
-
Invalid fix rigid/small npt/nph command for a 2d simulation
-
Cannot control z dimension in a 2d model.
-
Invalid fix rigid/small npt/nph command pressure settings
-
If multiple dimensions are coupled, those dimensions must be -specified.
-
Invalid flag in force field section of restart file
-
Unrecognized entry in restart file.
-
Invalid flag in header section of restart file
-
Unrecognized entry in restart file.
-
Invalid flag in peratom section of restart file
-
The format of this section of the file is not correct.
-
Invalid flag in type arrays section of restart file
-
Unrecognized entry in restart file.
-
Invalid format in Bodies section of data file
-
The specified number of integer or floating point values does not -appear.
-
Invalid frequency in temper command
-
Nevery must be > 0.
-
Invalid group ID in neigh_modify command
-
A group ID used in the neigh_modify command does not exist.
-
Invalid group function in variable formula
-
Group function is not recognized.
-
Invalid group in comm_modify command
-
Self-explanatory.
-
Invalid image up vector
-
Up vector cannot be (0,0,0).
-
Invalid immediate variable
-
Syntax of immediate value is incorrect.
-
Invalid improper type in Impropers section of data file
-
Improper type must be positive integer and within range of specified -improper types.
-
Invalid improper type in impropers section of molecule file
-
Self-explanatory.
-
Invalid index for non-body particles in compute body/local command
-
Only indices 1,2,3 can be used for non-body particles.
-
Invalid index in compute body/local command
-
Self-explanatory.
-
Invalid keyword in angle table parameters
-
Self-explanatory.
-
Invalid keyword in bond table parameters
-
Self-explanatory.
-
Invalid keyword in compute angle/local command
-
Self-explanatory.
-
Invalid keyword in compute bond/local command
-
Self-explanatory.
-
Invalid keyword in compute dihedral/local command
-
Self-explanatory.
-
Invalid keyword in compute improper/local command
-
Self-explanatory.
-
Invalid keyword in compute pair/local command
-
Self-explanatory.
-
Invalid keyword in compute property/atom command
-
Self-explanatory.
-
Invalid keyword in compute property/chunk command
-
Self-explanatory.
-
Invalid keyword in compute property/local command
-
Self-explanatory.
-
Invalid keyword in dump cfg command
-
Self-explanatory.
-
Invalid keyword in pair table parameters
-
Keyword used in list of table parameters is not recognized.
-
Invalid length in set command
-
Self-explanatory.
-
Invalid mass in set command
-
Self-explanatory.
-
Invalid mass line in data file
-
Self-explanatory.
-
Invalid mass value
-
Self-explanatory.
-
Invalid math function in variable formula
-
Self-explanatory.
-
Invalid math/group/special function in variable formula
-
Self-explanatory.
-
Invalid option in lattice command for non-custom style
-
Certain lattice keywords are not supported unless the -lattice style is “custom”.
-
Invalid order of forces within respa levels
-
For respa, ordering of force computations within respa levels must +is the number of atom types. + +
Invalid bin bounds in compute chunk/atom + +
The lo/hi values are inconsistent. + +
Invalid bin bounds in fix ave/spatial + +
The lo/hi values are inconsistent. + +
Invalid body nparticle command + +
Arguments in atom-style command are not correct. + +
Invalid bond table length + +
Length must be 2 or greater. + +
Invalid bond type in Bonds section of data file + +
Bond type must be positive integer and within range of specified bond +types. + +
Invalid bond type in Bonds section of molecule file + +
Self-explanatory. + +
Invalid bond type in create_bonds command + +
Self-explanatory. + +
Invalid bond type in fix bond/break command + +
Self-explanatory. + +
Invalid bond type in fix bond/create command + +
Self-explanatory. + +
Invalid bond type index for fix shake + +
Self-explanatory. Check the fix shake command in the input script. + +
Invalid coeffs for this dihedral style + +
Cannot set class 2 coeffs in data file for this dihedral style. + +
Invalid color in dump_modify command + +
The specified color name was not in the list of recognized colors. +See the dump_modify doc page. + +
Invalid color map min/max values + +
The min/max values are not consistent with either each other or +with values in the color map. + +
Invalid command-line argument + +
One or more command-line arguments is invalid. Check the syntax of +the command you are using to launch LAMMPS. + +
Invalid compute ID in variable formula + +
The compute is not recognized. + +
Invalid create_atoms rotation vector for 2d model + +
The rotation vector can only have a z component. + +
Invalid custom OpenCL parameter string. + +
There are not enough or too many parameters in the custom string for package +GPU. + +
Invalid cutoff in comm_modify command + +
Specified cutoff must be >= 0.0. + +
Invalid cutoffs in pair_write command + +
Inner cutoff must be larger than 0.0 and less than outer cutoff. + +
Invalid d1 or d2 value for pair colloid coeff + +
Neither d1 or d2 can be < 0. + +
Invalid data file section: Angle Coeffs + +
Atom style does not allow angles. + +
Invalid data file section: AngleAngle Coeffs + +
Atom style does not allow impropers. + +
Invalid data file section: AngleAngleTorsion Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: AngleTorsion Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: Angles + +
Atom style does not allow angles. + +
Invalid data file section: Bodies + +
Atom style does not allow bodies. + +
Invalid data file section: Bond Coeffs + +
Atom style does not allow bonds. + +
Invalid data file section: BondAngle Coeffs + +
Atom style does not allow angles. + +
Invalid data file section: BondBond Coeffs + +
Atom style does not allow angles. + +
Invalid data file section: BondBond13 Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: Bonds + +
Atom style does not allow bonds. + +
Invalid data file section: Dihedral Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: Dihedrals + +
Atom style does not allow dihedrals. + +
Invalid data file section: Ellipsoids + +
Atom style does not allow ellipsoids. + +
Invalid data file section: EndBondTorsion Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: Improper Coeffs + +
Atom style does not allow impropers. + +
Invalid data file section: Impropers + +
Atom style does not allow impropers. + +
Invalid data file section: Lines + +
Atom style does not allow lines. + +
Invalid data file section: MiddleBondTorsion Coeffs + +
Atom style does not allow dihedrals. + +
Invalid data file section: Triangles + +
Atom style does not allow triangles. + +
Invalid delta_conf in tad command + +
The value must be between 0 and 1 inclusive. + +
Invalid density in Atoms section of data file + +
Density value cannot be <= 0.0. + +
Invalid density in set command + +
Density must be > 0.0. + +
Invalid diameter in set command + +
Self-explanatory. + +
Invalid dihedral type in Dihedrals section of data file + +
Dihedral type must be positive integer and within range of specified +dihedral types. + +
Invalid dihedral type in dihedrals section of molecule file + +
Self-explanatory. + +
Invalid dipole length in set command + +
Self-explanatory. + +
Invalid displace_atoms rotate axis for 2d + +
Axis must be in z direction. + +
Invalid dump dcd filename + +
Filenames used with the dump dcd style cannot be binary or compressed +or cause multiple files to be written. + +
Invalid dump frequency + +
Dump frequency must be 1 or greater. + +
Invalid dump image element name + +
The specified element name was not in the standard list of elements. +See the dump_modify doc page. + +
Invalid dump image filename + +
The file produced by dump image cannot be binary and must +be for a single processor. + +
Invalid dump image persp value + +
Persp value must be >= 0.0. + +
Invalid dump image theta value + +
Theta must be between 0.0 and 180.0 inclusive. + +
Invalid dump image zoom value + +
Zoom value must be > 0.0. + +
Invalid dump movie filename + +
The file produced by dump movie cannot be binary or compressed +and must be a single file for a single processor. + +
Invalid dump xtc filename + +
Filenames used with the dump xtc style cannot be binary or compressed +or cause multiple files to be written. + +
Invalid dump xyz filename + +
Filenames used with the dump xyz style cannot be binary or cause files +to be written by each processor. + +
Invalid dump_modify threshhold operator + +
Operator keyword used for threshold specification in not recognized. + +
Invalid entry in -reorder file + +
Self-explanatory. + +
Invalid fix ID in variable formula + +
The fix is not recognized. + +
Invalid fix ave/time off column + +
Self-explantory. + +
Invalid fix box/relax command for a 2d simulation + +
Fix box/relax styles involving the z dimension cannot be used in +a 2d simulation. + +
Invalid fix box/relax command pressure settings + +
If multiple dimensions are coupled, those dimensions must be specified. + +
Invalid fix box/relax pressure settings + +
Settings for coupled dimensions must be the same. + +
Invalid fix nvt/npt/nph command for a 2d simulation + +
Cannot control z dimension in a 2d model. + +
Invalid fix nvt/npt/nph command pressure settings + +
If multiple dimensions are coupled, those dimensions must be +specified. + +
Invalid fix nvt/npt/nph pressure settings + +
Settings for coupled dimensions must be the same. + +
Invalid fix press/berendsen for a 2d simulation + +
The z component of pressure cannot be controlled for a 2d model. + +
Invalid fix press/berendsen pressure settings + +
Settings for coupled dimensions must be the same. + +
Invalid fix qeq parameter file + +
Element index > number of atom types. + +
Invalid fix rigid npt/nph command for a 2d simulation + +
Cannot control z dimension in a 2d model. + +
Invalid fix rigid npt/nph command pressure settings + +
If multiple dimensions are coupled, those dimensions must be +specified. + +
Invalid fix rigid/small npt/nph command for a 2d simulation + +
Cannot control z dimension in a 2d model. + +
Invalid fix rigid/small npt/nph command pressure settings + +
If multiple dimensions are coupled, those dimensions must be +specified. + +
Invalid flag in force field section of restart file + +
Unrecognized entry in restart file. + +
Invalid flag in header section of restart file + +
Unrecognized entry in restart file. + +
Invalid flag in peratom section of restart file + +
The format of this section of the file is not correct. + +
Invalid flag in type arrays section of restart file + +
Unrecognized entry in restart file. + +
Invalid format in Bodies section of data file + +
The specified number of integer or floating point values does not +appear. + +
Invalid frequency in temper command + +
Nevery must be > 0. + +
Invalid group ID in neigh_modify command + +
A group ID used in the neigh_modify command does not exist. + +
Invalid group function in variable formula + +
Group function is not recognized. + +
Invalid group in comm_modify command + +
Self-explanatory. + +
Invalid image up vector + +
Up vector cannot be (0,0,0). + +
Invalid immediate variable + +
Syntax of immediate value is incorrect. + +
Invalid improper type in Impropers section of data file + +
Improper type must be positive integer and within range of specified +improper types. + +
Invalid improper type in impropers section of molecule file + +
Self-explanatory. + +
Invalid index for non-body particles in compute body/local command + +
Only indices 1,2,3 can be used for non-body particles. + +
Invalid index in compute body/local command + +
Self-explanatory. + +
Invalid keyword in angle table parameters + +
Self-explanatory. + +
Invalid keyword in bond table parameters + +
Self-explanatory. + +
Invalid keyword in compute angle/local command + +
Self-explanatory. + +
Invalid keyword in compute bond/local command + +
Self-explanatory. + +
Invalid keyword in compute dihedral/local command + +
Self-explanatory. + +
Invalid keyword in compute improper/local command + +
Self-explanatory. + +
Invalid keyword in compute pair/local command + +
Self-explanatory. + +
Invalid keyword in compute property/atom command + +
Self-explanatory. + +
Invalid keyword in compute property/chunk command + +
Self-explanatory. + +
Invalid keyword in compute property/local command + +
Self-explanatory. + +
Invalid keyword in dump cfg command + +
Self-explanatory. + +
Invalid keyword in pair table parameters + +
Keyword used in list of table parameters is not recognized. + +
Invalid length in set command + +
Self-explanatory. + +
Invalid mass in set command + +
Self-explanatory. + +
Invalid mass line in data file + +
Self-explanatory. + +
Invalid mass value + +
Self-explanatory. + +
Invalid math function in variable formula + +
Self-explanatory. + +
Invalid math/group/special function in variable formula + +
Self-explanatory. + +
Invalid option in lattice command for non-custom style + +
Certain lattice keywords are not supported unless the +lattice style is "custom". + +
Invalid order of forces within respa levels + +
For respa, ordering of force computations within respa levels must obey certain rules. E.g. bonds cannot be compute less frequently than angles, pairwise forces cannot be computed less frequently than -kspace, etc.
-
Invalid pair table cutoff
-
Cutoffs in pair_coeff command are not valid with read-in pair table.
-
Invalid pair table length
-
Length of read-in pair table is invalid
-
Invalid param file for fix qeq/shielded
-
Invalid value of gamma.
-
Invalid param file for fix qeq/slater
-
Zeta value is 0.0.
-
Invalid partitions in processors part command
-
Valid partitions are numbered 1 to N and the sender and receiver -cannot be the same partition.
-
Invalid python command
-
Self-explanatory. Check the input script syntax and compare to the +kspace, etc. + +
Invalid pair table cutoff + +
Cutoffs in pair_coeff command are not valid with read-in pair table. + +
Invalid pair table length + +
Length of read-in pair table is invalid + +
Invalid param file for fix qeq/shielded + +
Invalid value of gamma. + +
Invalid param file for fix qeq/slater + +
Zeta value is 0.0. + +
Invalid partitions in processors part command + +
Valid partitions are numbered 1 to N and the sender and receiver +cannot be the same partition. + +
Invalid python command + +
Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line.
-
Invalid radius in Atoms section of data file
-
Radius must be >= 0.0.
-
Invalid random number seed in fix ttm command
-
Random number seed must be > 0.
-
Invalid random number seed in set command
-
Random number seed must be > 0.
-
Invalid replace values in compute reduce
-
Self-explanatory.
-
Invalid rigid body ID in fix rigid file
-
The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid command.
-
Invalid rigid body ID in fix rigid/small file
-
The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid/small command.
-
Invalid run command N value
-
The number of timesteps must fit in a 32-bit integer. If you want to -run for more steps than this, perform multiple shorter runs.
-
Invalid run command start/stop value
-
Self-explanatory.
-
Invalid run command upto value
-
Self-explanatory.
-
Invalid seed for Marsaglia random # generator
-
The initial seed for this random number generator must be a positive -integer less than or equal to 900 million.
-
Invalid seed for Park random # generator
-
The initial seed for this random number generator must be a positive -integer.
-
Invalid shake angle type in molecule file
-
Self-explanatory.
-
Invalid shake atom in molecule file
-
Self-explanatory.
-
Invalid shake bond type in molecule file
-
Self-explanatory.
-
Invalid shake flag in molecule file
-
Self-explanatory.
-
Invalid shape in Ellipsoids section of data file
-
Self-explanatory.
-
Invalid shape in Triangles section of data file
-
Two or more of the triangle corners are duplicate points.
-
Invalid shape in set command
-
Self-explanatory.
-
Invalid shear direction for fix wall/gran
-
Self-explanatory.
-
Invalid special atom index in molecule file
-
Self-explanatory.
-
Invalid special function in variable formula
-
Self-explanatory.
-
Invalid style in pair_write command
-
Self-explanatory. Check the input script.
-
Invalid syntax in variable formula
-
Self-explanatory.
-
Invalid t_event in prd command
-
Self-explanatory.
-
Invalid t_event in tad command
-
The value must be greater than 0.
-
Invalid template atom in Atoms section of data file
-
The atom indices must be between 1 to N, where N is the number of -atoms in the template molecule the atom belongs to.
-
Invalid template index in Atoms section of data file
-
The template indices must be between 1 to N, where N is the number of -molecules in the template.
-
Invalid thermo keyword in variable formula
-
The keyword is not recognized.
-
Invalid threads_per_atom specified.
-
For 3-body potentials on the GPU, the threads_per_atom setting cannot be -greater than 4 for NVIDIA GPUs.
-
Invalid timestep reset for fix ave/atom
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid timestep reset for fix ave/chunk
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid timestep reset for fix ave/correlate
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid timestep reset for fix ave/histo
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid timestep reset for fix ave/spatial
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid timestep reset for fix ave/time
-
Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
-
Invalid tmax in tad command
-
The value must be greater than 0.0.
-
Invalid type for mass set
-
Mass command must set a type from 1-N where N is the number of atom -types.
-
Invalid use of library file() function
-
This function is called thru the library interface. This -error should not occur. Contact the developers if it does.
-
Invalid value in set command
-
The value specified for the setting is invalid, likely because it is -too small or too large.
-
Invalid variable evaluation in variable formula
-
A variable used in a formula could not be evaluated.
-
Invalid variable in next command
-
Self-explanatory.
-
Invalid variable name
-
Variable name used in an input script line is invalid.
-
Invalid variable name in variable formula
-
Variable name is not recognized.
-
Invalid variable style in special function next
-
Only file-style or atomfile-style variables can be used with next().
-
Invalid variable style with next command
-
Variable styles equal and world cannot be used in a next -command.
-
Invalid volume in set command
-
Volume must be > 0.0.
-
Invalid wiggle direction for fix wall/gran
-
Self-explanatory.
-
Invoked angle equil angle on angle style none
-
Self-explanatory.
-
Invoked angle single on angle style none
-
Self-explanatory.
-
Invoked bond equil distance on bond style none
-
Self-explanatory.
-
Invoked bond single on bond style none
-
Self-explanatory.
-
Invoked pair single on pair style none
-
A command (e.g. a dump) attempted to invoke the single() function on a +command-line option when running LAMMPS to see the offending line. + +
Invalid radius in Atoms section of data file + +
Radius must be >= 0.0. + +
Invalid random number seed in fix ttm command + +
Random number seed must be > 0. + +
Invalid random number seed in set command + +
Random number seed must be > 0. + +
Invalid replace values in compute reduce + +
Self-explanatory. + +
Invalid rigid body ID in fix rigid file + +
The ID does not match the number of an existing ID of rigid bodies +that are defined by the fix rigid command. + +
Invalid rigid body ID in fix rigid/small file + +
The ID does not match the number of an existing ID of rigid bodies +that are defined by the fix rigid/small command. + +
Invalid run command N value + +
The number of timesteps must fit in a 32-bit integer. If you want to +run for more steps than this, perform multiple shorter runs. + +
Invalid run command start/stop value + +
Self-explanatory. + +
Invalid run command upto value + +
Self-explanatory. + +
Invalid seed for Marsaglia random # generator + +
The initial seed for this random number generator must be a positive +integer less than or equal to 900 million. + +
Invalid seed for Park random # generator + +
The initial seed for this random number generator must be a positive +integer. + +
Invalid shake angle type in molecule file + +
Self-explanatory. + +
Invalid shake atom in molecule file + +
Self-explanatory. + +
Invalid shake bond type in molecule file + +
Self-explanatory. + +
Invalid shake flag in molecule file + +
Self-explanatory. + +
Invalid shape in Ellipsoids section of data file + +
Self-explanatory. + +
Invalid shape in Triangles section of data file + +
Two or more of the triangle corners are duplicate points. + +
Invalid shape in set command + +
Self-explanatory. + +
Invalid shear direction for fix wall/gran + +
Self-explanatory. + +
Invalid special atom index in molecule file + +
Self-explanatory. + +
Invalid special function in variable formula + +
Self-explanatory. + +
Invalid style in pair_write command + +
Self-explanatory. Check the input script. + +
Invalid syntax in variable formula + +
Self-explanatory. + +
Invalid t_event in prd command + +
Self-explanatory. + +
Invalid t_event in tad command + +
The value must be greater than 0. + +
Invalid template atom in Atoms section of data file + +
The atom indices must be between 1 to N, where N is the number of +atoms in the template molecule the atom belongs to. + +
Invalid template index in Atoms section of data file + +
The template indices must be between 1 to N, where N is the number of +molecules in the template. + +
Invalid thermo keyword in variable formula + +
The keyword is not recognized. + +
Invalid threads_per_atom specified. + +
For 3-body potentials on the GPU, the threads_per_atom setting cannot be +greater than 4 for NVIDIA GPUs. + +
Invalid timestep reset for fix ave/atom + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid timestep reset for fix ave/chunk + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid timestep reset for fix ave/correlate + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid timestep reset for fix ave/histo + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid timestep reset for fix ave/spatial + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid timestep reset for fix ave/time + +
Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process. + +
Invalid tmax in tad command + +
The value must be greater than 0.0. + +
Invalid type for mass set + +
Mass command must set a type from 1-N where N is the number of atom +types. + +
Invalid use of library file() function + +
This function is called thru the library interface. This +error should not occur. Contact the developers if it does. + +
Invalid value in set command + +
The value specified for the setting is invalid, likely because it is +too small or too large. + +
Invalid variable evaluation in variable formula + +
A variable used in a formula could not be evaluated. + +
Invalid variable in next command + +
Self-explanatory. + +
Invalid variable name + +
Variable name used in an input script line is invalid. + +
Invalid variable name in variable formula + +
Variable name is not recognized. + +
Invalid variable style in special function next + +
Only file-style or atomfile-style variables can be used with next(). + +
Invalid variable style with next command + +
Variable styles equal and world cannot be used in a next +command. + +
Invalid volume in set command + +
Volume must be > 0.0. + +
Invalid wiggle direction for fix wall/gran + +
Self-explanatory. + +
Invoked angle equil angle on angle style none + +
Self-explanatory. + +
Invoked angle single on angle style none + +
Self-explanatory. + +
Invoked bond equil distance on bond style none + +
Self-explanatory. + +
Invoked bond single on bond style none + +
Self-explanatory. + +
Invoked pair single on pair style none + +
A command (e.g. a dump) attempted to invoke the single() function on a pair style none, which is illegal. You are probably attempting to -compute per-atom quantities with an undefined pair style.
-
Invoking coulombic in pair style lj/coul requires atom attribute q
-
The atom style defined does not have this attribute.
-
Invoking coulombic in pair style lj/long/dipole/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
KIM neighbor iterator exceeded range
-
This should not happen. It likely indicates a bug +compute per-atom quantities with an undefined pair style. + +
Invoking coulombic in pair style lj/coul requires atom attribute q + +
The atom style defined does not have this attribute. + +
Invoking coulombic in pair style lj/long/dipole/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
KIM neighbor iterator exceeded range + +
This should not happen. It likely indicates a bug in the KIM implementation of the interatomic potential -where it is requesting neighbors incorrectly.
-
KOKKOS package does not yet support comm_style tiled
-
Self-explanatory.
-
KOKKOS package requires a kokkos enabled atom_style
-
Self-explanatory.
-
KSpace accuracy must be > 0
-
The kspace accuracy designated in the input must be greater than zero.
-
KSpace accuracy too large to estimate G vector
-
Reduce the accuracy request or specify gwald explicitly -via the kspace_modify command.
-
KSpace accuracy too low
-
Requested accuracy must be less than 1.0.
-
KSpace solver requires a pair style
-
No pair style is defined.
-
KSpace style does not yet support triclinic geometries
-
The specified kspace style does not allow for non-orthogonal -simulation boxes.
-
KSpace style has not yet been set
-
Cannot use kspace_modify command until a kspace style is set.
-
KSpace style is incompatible with Pair style
-
Setting a kspace style requires that a pair style with matching -long-range Coulombic or dispersion components be used.
-
Keyword %s in MEAM parameter file not recognized
-
Self-explanatory.
-
Kspace style does not support compute group/group
-
Self-explanatory.
-
Kspace style pppm/disp/tip4p requires newton on
-
Self-explanatory.
-
Kspace style pppm/tip4p requires newton on
-
Self-explanatory.
-
Kspace style requires atom attribute q
-
The atom style defined does not have these attributes.
-
Kspace_modify eigtol must be smaller than one
-
Self-explanatory.
-
LAMMPS is not built with Python embedded
-
This is done by including the PYTHON package before LAMMPS is built. -This is required to use python-style variables.
-
LAMMPS unit_style lj not supported by KIM models
-
Self-explanatory. Check the input script or data file.
-
LJ6 off not supported in pair_style buck/long/coul/long
-
Self-exlanatory.
-
Label wasn’t found in input script
-
Self-explanatory.
-
Lattice orient vectors are not orthogonal
-
The three specified lattice orientation vectors must be mutually -orthogonal.
-
Lattice orient vectors are not right-handed
-
The three specified lattice orientation vectors must create a -right-handed coordinate system such that a1 cross a2 = a3.
-
Lattice primitive vectors are collinear
-
The specified lattice primitive vectors do not for a unit cell with -non-zero volume.
-
Lattice settings are not compatible with 2d simulation
-
One or more of the specified lattice vectors has a non-zero z -component.
-
Lattice spacings are invalid
-
Each x,y,z spacing must be > 0.
-
Lattice style incompatible with simulation dimension
-
2d simulation can use sq, sq2, or hex lattice. 3d simulation can use -sc, bcc, or fcc lattice.
-
Log of zero/negative value in variable formula
-
Self-explanatory.
-
Lost atoms via balance: original %ld current %ld
-
This should not occur. Report the problem to the developers.
-
Lost atoms: original %ld current %ld
-
Lost atoms are checked for each time thermo output is done. See the +where it is requesting neighbors incorrectly. + +
KOKKOS package does not yet support comm_style tiled + +
Self-explanatory. + +
KOKKOS package requires a kokkos enabled atom_style + +
Self-explanatory. + +
KSpace accuracy must be > 0 + +
The kspace accuracy designated in the input must be greater than zero. + +
KSpace accuracy too large to estimate G vector + +
Reduce the accuracy request or specify gwald explicitly +via the kspace_modify command. + +
KSpace accuracy too low + +
Requested accuracy must be less than 1.0. + +
KSpace solver requires a pair style + +
No pair style is defined. + +
KSpace style does not yet support triclinic geometries + +
The specified kspace style does not allow for non-orthogonal +simulation boxes. + +
KSpace style has not yet been set + +
Cannot use kspace_modify command until a kspace style is set. + +
KSpace style is incompatible with Pair style + +
Setting a kspace style requires that a pair style with matching +long-range Coulombic or dispersion components be used. + +
Keyword %s in MEAM parameter file not recognized + +
Self-explanatory. + +
Kspace style does not support compute group/group + +
Self-explanatory. + +
Kspace style pppm/disp/tip4p requires newton on + +
Self-explanatory. + +
Kspace style pppm/tip4p requires newton on + +
Self-explanatory. + +
Kspace style requires atom attribute q + +
The atom style defined does not have these attributes. + +
Kspace_modify eigtol must be smaller than one + +
Self-explanatory. + +
LAMMPS is not built with Python embedded + +
This is done by including the PYTHON package before LAMMPS is built. +This is required to use python-style variables. + +
LAMMPS unit_style lj not supported by KIM models + +
Self-explanatory. Check the input script or data file. + +
LJ6 off not supported in pair_style buck/long/coul/long + +
Self-exlanatory. + +
Label wasn't found in input script + +
Self-explanatory. + +
Lattice orient vectors are not orthogonal + +
The three specified lattice orientation vectors must be mutually +orthogonal. + +
Lattice orient vectors are not right-handed + +
The three specified lattice orientation vectors must create a +right-handed coordinate system such that a1 cross a2 = a3. + +
Lattice primitive vectors are collinear + +
The specified lattice primitive vectors do not for a unit cell with +non-zero volume. + +
Lattice settings are not compatible with 2d simulation + +
One or more of the specified lattice vectors has a non-zero z +component. + +
Lattice spacings are invalid + +
Each x,y,z spacing must be > 0. + +
Lattice style incompatible with simulation dimension + +
2d simulation can use sq, sq2, or hex lattice. 3d simulation can use +sc, bcc, or fcc lattice. + +
Log of zero/negative value in variable formula + +
Self-explanatory. + +
Lost atoms via balance: original %ld current %ld + +
This should not occur. Report the problem to the developers. + +
Lost atoms: original %ld current %ld + +
Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor’s sub-domain away before -reneighboring.
-
MEAM library error %d
-
A call to the MEAM Fortran library returned an error.
-
MPI_LMP_BIGINT and bigint in lmptype.h are not compatible
-
The size of the MPI datatype does not match the size of a bigint.
-
MPI_LMP_TAGINT and tagint in lmptype.h are not compatible
-
The size of the MPI datatype does not match the size of a tagint.
-
MSM can only currently be used with comm_style brick
-
This is a current restriction in LAMMPS.
-
MSM grid is too large
-
The global MSM grid is larger than OFFSET in one or more dimensions. +box, or moved futher than one processor's sub-domain away before +reneighboring. + +
MEAM library error %d + +
A call to the MEAM Fortran library returned an error. + +
MPI_LMP_BIGINT and bigint in lmptype.h are not compatible + +
The size of the MPI datatype does not match the size of a bigint. + +
MPI_LMP_TAGINT and tagint in lmptype.h are not compatible + +
The size of the MPI datatype does not match the size of a tagint. + +
MSM can only currently be used with comm_style brick + +
This is a current restriction in LAMMPS. + +
MSM grid is too large + +
The global MSM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 16384. You likely need to decrease the -requested accuracy.
-
MSM order must be 4, 6, 8, or 10
-
This is a limitation of the MSM implementation in LAMMPS: -the MSM order can only be 4, 6, 8, or 10.
-
Mass command before simulation box is defined
-
The mass command cannot be used before a read_data, read_restart, or -create_box command.
-
Matrix factorization to split dispersion coefficients failed
-
This should not normally happen. Contact the developers.
-
Min_style command before simulation box is defined
-
The min_style command cannot be used before a read_data, read_restart, -or create_box command.
-
Minimization could not find thermo_pe compute
-
This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command.
-
Minimize command before simulation box is defined
-
The minimize command cannot be used before a read_data, read_restart, -or create_box command.
-
Mismatched brackets in variable
-
Self-explanatory.
-
Mismatched compute in variable formula
-
A compute is referenced incorrectly or a compute that produces per-atom -values is used in an equal-style variable formula.
-
Mismatched fix in variable formula
-
A fix is referenced incorrectly or a fix that produces per-atom -values is used in an equal-style variable formula.
-
Mismatched variable in variable formula
-
A variable is referenced incorrectly or an atom-style variable that +requested accuracy. + +
MSM order must be 4, 6, 8, or 10 + +
This is a limitation of the MSM implementation in LAMMPS: +the MSM order can only be 4, 6, 8, or 10. + +
Mass command before simulation box is defined + +
The mass command cannot be used before a read_data, read_restart, or +create_box command. + +
Matrix factorization to split dispersion coefficients failed + +
This should not normally happen. Contact the developers. + +
Min_style command before simulation box is defined + +
The min_style command cannot be used before a read_data, read_restart, +or create_box command. + +
Minimization could not find thermo_pe compute + +
This compute is created by the thermo command. It must have been +explicitly deleted by a uncompute command. + +
Minimize command before simulation box is defined + +
The minimize command cannot be used before a read_data, read_restart, +or create_box command. + +
Mismatched brackets in variable + +
Self-explanatory. + +
Mismatched compute in variable formula + +
A compute is referenced incorrectly or a compute that produces per-atom +values is used in an equal-style variable formula. + +
Mismatched fix in variable formula + +
A fix is referenced incorrectly or a fix that produces per-atom +values is used in an equal-style variable formula. + +
Mismatched variable in variable formula + +
A variable is referenced incorrectly or an atom-style variable that produces per-atom values is used in an equal-style variable -formula.
-
Modulo 0 in variable formula
-
Self-explanatory.
-
Molecule IDs too large for compute chunk/atom
-
The IDs must not be larger than can be stored in a 32-bit integer -since chunk IDs are 32-bit integers.
-
Molecule file has angles but no nangles setting
-
Self-explanatory.
-
Molecule file has bonds but no nbonds setting
-
Self-explanatory.
-
Molecule file has bonds but no special flags
-
Self-explanatory.
-
Molecule file has dihedrals but no ndihedrals setting
-
Self-explanatory.
-
Molecule file has impropers but no nimpropers setting
-
Self-explanatory.
-
Molecule file has special flags but no bonds
-
Self-explanatory.
-
Molecule file needs both Special Bond sections
-
Self-explanatory.
-
Molecule file shake flags not before shake atoms
-
The order of the two sections is important.
-
Molecule file shake flags not before shake bonds
-
The order of the two sections is important.
-
Molecule file shake info is incomplete
-
All 3 SHAKE sections are needed.
-
Molecule file special list does not match special count
-
The number of values in an atom’s special list does not match count.
-
Molecule file z center-of-mass must be 0.0 for 2d
-
Self-explanatory.
-
Molecule file z coord must be 0.0 for 2d
-
Self-explanatory.
-
Molecule template ID for atom_style template does not exist
-
Self-explanatory.
-
Molecule template ID for create_atoms does not exist
-
Self-explantory.
-
Molecule template ID for fix deposit does not exist
-
Self-explanatory.
-
Molecule template ID for fix gcmc does not exist
-
Self-explanatory.
-
Molecule template ID for fix pour does not exist
-
Self-explanatory.
-
Molecule template ID for fix rigid/small does not exist
-
Self-explanatory.
-
Molecule template ID for fix shake does not exist
-
Self-explanatory.
-
Molecule template ID must be alphanumeric or underscore characters
-
Self-explanatory.
-
Molecule toplogy/atom exceeds system topology/atom
-
The number of bonds, angles, etc per-atom in the molecule exceeds the +formula. + +
Modulo 0 in variable formula + +
Self-explanatory. + +
Molecule IDs too large for compute chunk/atom + +
The IDs must not be larger than can be stored in a 32-bit integer +since chunk IDs are 32-bit integers. + +
Molecule file has angles but no nangles setting + +
Self-explanatory. + +
Molecule file has bonds but no nbonds setting + +
Self-explanatory. + +
Molecule file has bonds but no special flags + +
Self-explanatory. + +
Molecule file has dihedrals but no ndihedrals setting + +
Self-explanatory. + +
Molecule file has impropers but no nimpropers setting + +
Self-explanatory. + +
Molecule file has special flags but no bonds + +
Self-explanatory. + +
Molecule file needs both Special Bond sections + +
Self-explanatory. + +
Molecule file shake flags not before shake atoms + +
The order of the two sections is important. + +
Molecule file shake flags not before shake bonds + +
The order of the two sections is important. + +
Molecule file shake info is incomplete + +
All 3 SHAKE sections are needed. + +
Molecule file special list does not match special count + +
The number of values in an atom's special list does not match count. + +
Molecule file z center-of-mass must be 0.0 for 2d + +
Self-explanatory. + +
Molecule file z coord must be 0.0 for 2d + +
Self-explanatory. + +
Molecule template ID for atom_style template does not exist + +
Self-explanatory. + +
Molecule template ID for create_atoms does not exist + +
Self-explantory. + +
Molecule template ID for fix deposit does not exist + +
Self-explanatory. + +
Molecule template ID for fix gcmc does not exist + +
Self-explanatory. + +
Molecule template ID for fix pour does not exist + +
Self-explanatory. + +
Molecule template ID for fix rigid/small does not exist + +
Self-explanatory. + +
Molecule template ID for fix shake does not exist + +
Self-explanatory. + +
Molecule template ID must be alphanumeric or underscore characters + +
Self-explanatory. + +
Molecule toplogy/atom exceeds system topology/atom + +
The number of bonds, angles, etc per-atom in the molecule exceeds the system setting. See the create_box command for how to specify these -values.
-
Molecule topology type exceeds system topology type
-
The number of bond, angle, etc types in the molecule exceeds the +values. + +
Molecule topology type exceeds system topology type + +
The number of bond, angle, etc types in the molecule exceeds the system setting. See the create_box command for how to specify these -values.
-
More than one fix deform
-
Only one fix deform can be defined at a time.
-
More than one fix freeze
-
Only one of these fixes can be defined, since the granular pair -potentials access it.
-
More than one fix shake
-
Only one fix shake can be defined.
-
Must define angle_style before Angle Coeffs
-
Must use an angle_style command before reading a data file that -defines Angle Coeffs.
-
Must define angle_style before BondAngle Coeffs
-
Must use an angle_style command before reading a data file that -defines Angle Coeffs.
-
Must define angle_style before BondBond Coeffs
-
Must use an angle_style command before reading a data file that -defines Angle Coeffs.
-
Must define bond_style before Bond Coeffs
-
Must use a bond_style command before reading a data file that -defines Bond Coeffs.
-
Must define dihedral_style before AngleAngleTorsion Coeffs
-
Must use a dihedral_style command before reading a data file that -defines AngleAngleTorsion Coeffs.
-
Must define dihedral_style before AngleTorsion Coeffs
-
Must use a dihedral_style command before reading a data file that -defines AngleTorsion Coeffs.
-
Must define dihedral_style before BondBond13 Coeffs
-
Must use a dihedral_style command before reading a data file that -defines BondBond13 Coeffs.
-
Must define dihedral_style before Dihedral Coeffs
-
Must use a dihedral_style command before reading a data file that -defines Dihedral Coeffs.
-
Must define dihedral_style before EndBondTorsion Coeffs
-
Must use a dihedral_style command before reading a data file that -defines EndBondTorsion Coeffs.
-
Must define dihedral_style before MiddleBondTorsion Coeffs
-
Must use a dihedral_style command before reading a data file that -defines MiddleBondTorsion Coeffs.
-
Must define improper_style before AngleAngle Coeffs
-
Must use an improper_style command before reading a data file that -defines AngleAngle Coeffs.
-
Must define improper_style before Improper Coeffs
-
Must use an improper_style command before reading a data file that -defines Improper Coeffs.
-
Must define pair_style before Pair Coeffs
-
Must use a pair_style command before reading a data file that defines -Pair Coeffs.
-
Must define pair_style before PairIJ Coeffs
-
Must use a pair_style command before reading a data file that defines -PairIJ Coeffs.
-
Must have more than one processor partition to temper
-
Cannot use the temper command with only one processor partition. Use -the -partition command-line option.
-
Must read Atoms before Angles
-
The Atoms section of a data file must come before an Angles section.
-
Must read Atoms before Bodies
-
The Atoms section of a data file must come before a Bodies section.
-
Must read Atoms before Bonds
-
The Atoms section of a data file must come before a Bonds section.
-
Must read Atoms before Dihedrals
-
The Atoms section of a data file must come before a Dihedrals section.
-
Must read Atoms before Ellipsoids
-
The Atoms section of a data file must come before a Ellipsoids -section.
-
Must read Atoms before Impropers
-
The Atoms section of a data file must come before an Impropers -section.
-
Must read Atoms before Lines
-
The Atoms section of a data file must come before a Lines section.
-
Must read Atoms before Triangles
-
The Atoms section of a data file must come before a Triangles section.
-
Must read Atoms before Velocities
-
The Atoms section of a data file must come before a Velocities -section.
-
Must set both respa inner and outer
-
Cannot use just the inner or outer option with respa without using the -other.
-
Must set number of threads via package omp command
-
Because you are using the USER-OMP package, set the number of threads -via its settings, not by the pair_style snap nthreads setting.
-
Must shrink-wrap piston boundary
-
The boundary style of the face where the piston is applied must be of -type s (shrink-wrapped).
-
Must specify a region in fix deposit
-
The region keyword must be specified with this fix.
-
Must specify a region in fix pour
-
Self-explanatory.
-
Must specify at least 2 types in fix atom/swap command
-
Self-explanatory.
-
Must use ‘kspace_modify pressure/scalar no’ for rRESPA with kspace_style MSM
-
The kspace scalar pressure option cannot (yet) be used with rRESPA.
-
Must use ‘kspace_modify pressure/scalar no’ for tensor components with kspace_style msm
-
Otherwise MSM will compute only a scalar pressure. See the kspace_modify -command for details on this setting.
-
Must use ‘kspace_modify pressure/scalar no’ to obtain per-atom virial with kspace_style MSM
-
The kspace scalar pressure option cannot be used to obtain per-atom virial.
-
Must use ‘kspace_modify pressure/scalar no’ with GPU MSM Pair styles
-
The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles.
-
Must use ‘kspace_modify pressure/scalar no’ with kspace_style msm/cg
-
The kspace scalar pressure option is not compatible with kspace_style msm/cg.
-
Must use -in switch with multiple partitions
-
A multi-partition simulation cannot read the input script from stdin. -The -in command-line option must be used to specify a file.
-
Must use a block or cylinder region with fix pour
-
Self-explanatory.
-
Must use a block region with fix pour for 2d simulations
-
Self-explanatory.
-
Must use a bond style with TIP4P potential
-
TIP4P potentials assume bond lengths in water are constrained -by a fix shake command.
-
Must use a molecular atom style with fix poems molecule
-
Self-explanatory.
-
Must use a z-axis cylinder region with fix pour
-
Self-explanatory.
-
Must use an angle style with TIP4P potential
-
TIP4P potentials assume angles in water are constrained by a fix shake -command.
-
Must use atom map style array with Kokkos
-
See the atom_modify map command.
-
Must use atom style with molecule IDs with fix bond/swap
-
Self-explanatory.
-
Must use pair_style comb or comb3 with fix qeq/comb
-
Self-explanatory.
-
Must use variable energy with fix addforce
-
Must define an energy vartiable when applyting a dynamic -force during minimization.
-
Must use variable energy with fix efield
-
You must define an energy when performing a minimization with a -variable E-field.
-
NEB command before simulation box is defined
-
Self-explanatory.
-
NEB requires damped dynamics minimizer
-
Use a different minimization style.
-
NEB requires use of fix neb
-
Self-explanatory.
-
NL ramp in wall/piston only implemented in zlo for now
-
The ramp keyword can only be used for piston applied to face zlo.
-
Need ntypes-1 delta_mu values in fix atom/swap command
-
Self-explanatory.
-
Needed bonus data not in data file
-
Some atom styles require bonus data. See the read_data doc page for -details.
-
Needed molecular topology not in data file
-
The header of the data file indicated bonds, angles, etc would be -included, but they are not present.
-
Neigh_modify exclude molecule requires atom attribute molecule
-
Self-explanatory.
-
Neigh_modify include group != atom_modify first group
-
Self-explanatory.
-
Neighbor delay must be 0 or multiple of every setting
-
The delay and every parameters set via the neigh_modify command are +values. + +
More than one fix deform + +
Only one fix deform can be defined at a time. + +
More than one fix freeze + +
Only one of these fixes can be defined, since the granular pair +potentials access it. + +
More than one fix shake + +
Only one fix shake can be defined. + +
Must define angle_style before Angle Coeffs + +
Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
Must define angle_style before BondAngle Coeffs + +
Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
Must define angle_style before BondBond Coeffs + +
Must use an angle_style command before reading a data file that +defines Angle Coeffs. + +
Must define bond_style before Bond Coeffs + +
Must use a bond_style command before reading a data file that +defines Bond Coeffs. + +
Must define dihedral_style before AngleAngleTorsion Coeffs + +
Must use a dihedral_style command before reading a data file that +defines AngleAngleTorsion Coeffs. + +
Must define dihedral_style before AngleTorsion Coeffs + +
Must use a dihedral_style command before reading a data file that +defines AngleTorsion Coeffs. + +
Must define dihedral_style before BondBond13 Coeffs + +
Must use a dihedral_style command before reading a data file that +defines BondBond13 Coeffs. + +
Must define dihedral_style before Dihedral Coeffs + +
Must use a dihedral_style command before reading a data file that +defines Dihedral Coeffs. + +
Must define dihedral_style before EndBondTorsion Coeffs + +
Must use a dihedral_style command before reading a data file that +defines EndBondTorsion Coeffs. + +
Must define dihedral_style before MiddleBondTorsion Coeffs + +
Must use a dihedral_style command before reading a data file that +defines MiddleBondTorsion Coeffs. + +
Must define improper_style before AngleAngle Coeffs + +
Must use an improper_style command before reading a data file that +defines AngleAngle Coeffs. + +
Must define improper_style before Improper Coeffs + +
Must use an improper_style command before reading a data file that +defines Improper Coeffs. + +
Must define pair_style before Pair Coeffs + +
Must use a pair_style command before reading a data file that defines +Pair Coeffs. + +
Must define pair_style before PairIJ Coeffs + +
Must use a pair_style command before reading a data file that defines +PairIJ Coeffs. + +
Must have more than one processor partition to temper + +
Cannot use the temper command with only one processor partition. Use +the -partition command-line option. + +
Must read Atoms before Angles + +
The Atoms section of a data file must come before an Angles section. + +
Must read Atoms before Bodies + +
The Atoms section of a data file must come before a Bodies section. + +
Must read Atoms before Bonds + +
The Atoms section of a data file must come before a Bonds section. + +
Must read Atoms before Dihedrals + +
The Atoms section of a data file must come before a Dihedrals section. + +
Must read Atoms before Ellipsoids + +
The Atoms section of a data file must come before a Ellipsoids +section. + +
Must read Atoms before Impropers + +
The Atoms section of a data file must come before an Impropers +section. + +
Must read Atoms before Lines + +
The Atoms section of a data file must come before a Lines section. + +
Must read Atoms before Triangles + +
The Atoms section of a data file must come before a Triangles section. + +
Must read Atoms before Velocities + +
The Atoms section of a data file must come before a Velocities +section. + +
Must set both respa inner and outer + +
Cannot use just the inner or outer option with respa without using the +other. + +
Must set number of threads via package omp command + +
Because you are using the USER-OMP package, set the number of threads +via its settings, not by the pair_style snap nthreads setting. + +
Must shrink-wrap piston boundary + +
The boundary style of the face where the piston is applied must be of +type s (shrink-wrapped). + +
Must specify a region in fix deposit + +
The region keyword must be specified with this fix. + +
Must specify a region in fix pour + +
Self-explanatory. + +
Must specify at least 2 types in fix atom/swap command + +
Self-explanatory. + +
Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM + +
The kspace scalar pressure option cannot (yet) be used with rRESPA. + +
Must use 'kspace_modify pressure/scalar no' for tensor components with kspace_style msm + +
Otherwise MSM will compute only a scalar pressure. See the kspace_modify +command for details on this setting. + +
Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM + +
The kspace scalar pressure option cannot be used to obtain per-atom virial. + +
Must use 'kspace_modify pressure/scalar no' with GPU MSM Pair styles + +
The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles. + +
Must use 'kspace_modify pressure/scalar no' with kspace_style msm/cg + +
The kspace scalar pressure option is not compatible with kspace_style msm/cg. + +
Must use -in switch with multiple partitions + +
A multi-partition simulation cannot read the input script from stdin. +The -in command-line option must be used to specify a file. + +
Must use a block or cylinder region with fix pour + +
Self-explanatory. + +
Must use a block region with fix pour for 2d simulations + +
Self-explanatory. + +
Must use a bond style with TIP4P potential + +
TIP4P potentials assume bond lengths in water are constrained +by a fix shake command. + +
Must use a molecular atom style with fix poems molecule + +
Self-explanatory. + +
Must use a z-axis cylinder region with fix pour + +
Self-explanatory. + +
Must use an angle style with TIP4P potential + +
TIP4P potentials assume angles in water are constrained by a fix shake +command. + +
Must use atom map style array with Kokkos + +
See the atom_modify map command. + +
Must use atom style with molecule IDs with fix bond/swap + +
Self-explanatory. + +
Must use pair_style comb or comb3 with fix qeq/comb + +
Self-explanatory. + +
Must use variable energy with fix addforce + +
Must define an energy vartiable when applyting a dynamic +force during minimization. + +
Must use variable energy with fix efield + +
You must define an energy when performing a minimization with a +variable E-field. + +
NEB command before simulation box is defined + +
Self-explanatory. + +
NEB requires damped dynamics minimizer + +
Use a different minimization style. + +
NEB requires use of fix neb + +
Self-explanatory. + +
NL ramp in wall/piston only implemented in zlo for now + +
The ramp keyword can only be used for piston applied to face zlo. + +
Need ntypes-1 delta_mu values in fix atom/swap command + +
Self-explanatory. + +
Needed bonus data not in data file + +
Some atom styles require bonus data. See the read_data doc page for +details. + +
Needed molecular topology not in data file + +
The header of the data file indicated bonds, angles, etc would be +included, but they are not present. + +
Neigh_modify exclude molecule requires atom attribute molecule + +
Self-explanatory. + +
Neigh_modify include group != atom_modify first group + +
Self-explanatory. + +
Neighbor delay must be 0 or multiple of every setting + +
The delay and every parameters set via the neigh_modify command are inconsistent. If the delay setting is non-zero, then it must be a -multiple of the every setting.
-
Neighbor include group not allowed with ghost neighbors
-
This is a current restriction within LAMMPS.
-
Neighbor list overflow, boost neigh_modify one
-
There are too many neighbors of a single atom. Use the neigh_modify +multiple of the every setting. + +
Neighbor include group not allowed with ghost neighbors + +
This is a current restriction within LAMMPS. + +
Neighbor list overflow, boost neigh_modify one + +
There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size.
-
Neighbor multi not yet enabled for ghost neighbors
-
This is a current restriction within LAMMPS.
-
Neighbor multi not yet enabled for granular
-
Self-explanatory.
-
Neighbor multi not yet enabled for rRESPA
-
Self-explanatory.
-
Neighbor page size must be >= 10x the one atom setting
-
This is required to prevent wasting too much memory.
-
New atom IDs exceed maximum allowed ID
-
See the setting for tagint in the src/lmptype.h file.
-
New bond exceeded bonds per atom in create_bonds
-
See the read_data command for info on setting the “extra bond per -atom” header value to allow for additional bonds to be formed.
-
New bond exceeded bonds per atom in fix bond/create
-
See the read_data command for info on setting the “extra bond per -atom” header value to allow for additional bonds to be formed.
-
New bond exceeded special list size in fix bond/create
-
See the special_bonds extra command for info on how to leave space in -the special bonds list to allow for additional bonds to be formed.
-
Newton bond change after simulation box is defined
-
The newton command cannot be used to change the newton bond value -after a read_data, read_restart, or create_box command.
-
Next command must list all universe and uloop variables
-
This is to insure they stay in sync.
-
No Kspace style defined for compute group/group
-
Self-explanatory.
-
No OpenMP support compiled in
-
An OpenMP flag is set, but LAMMPS was not built with -OpenMP support.
-
No angle style is defined for compute angle/local
-
Self-explanatory.
-
No angles allowed with this atom style
-
Self-explanatory.
-
No atom count in molecule file
-
Self-explanatory.
-
No atoms in data file
-
The header of the data file indicated that atoms would be included, -but they are not present.
-
No basis atoms in lattice
-
Basis atoms must be defined for lattice style user.
-
No bodies allowed with this atom style
-
Self-explanatory. Check data file.
-
No bond style is defined for compute bond/local
-
Self-explanatory.
-
No bonds allowed with this atom style
-
Self-explanatory.
-
No box information in dump. You have to use ‘box no’
-
Self-explanatory.
-
No dihedral style is defined for compute dihedral/local
-
Self-explanatory.
-
No dihedrals allowed with this atom style
-
Self-explanatory.
-
No dump custom arguments specified
-
The dump custom command requires that atom quantities be specified to -output to dump file.
-
No dump local arguments specified
-
Self-explanatory.
-
No ellipsoids allowed with this atom style
-
Self-explanatory. Check data file.
-
No fix gravity defined for fix pour
-
Gravity is required to use fix pour.
-
No improper style is defined for compute improper/local
-
Self-explanatory.
-
No impropers allowed with this atom style
-
Self-explanatory.
-
No input values for fix ave/spatial
-
Self-explanatory.
-
No lines allowed with this atom style
-
Self-explanatory. Check data file.
-
No matching element in ADP potential file
-
The ADP potential file does not contain elements that match the -requested elements.
-
No matching element in EAM potential file
-
The EAM potential file does not contain elements that match the -requested elements.
-
No molecule topology allowed with atom style template
-
The data file cannot specify the number of bonds, angles, etc, -because this info if inferred from the molecule templates.
-
No overlap of box and region for create_atoms
-
Self-explanatory.
-
No pair coul/streitz for fix qeq/slater
-
These commands must be used together.
-
No pair hbond/dreiding coefficients set
-
Self-explanatory.
-
No pair style defined for compute group/group
-
Cannot calculate group interactions without a pair style defined.
-
No pair style is defined for compute pair/local
-
Self-explanatory.
-
No pair style is defined for compute property/local
-
Self-explanatory.
-
No rigid bodies defined
-
The fix specification did not end up defining any rigid bodies.
-
No triangles allowed with this atom style
-
Self-explanatory. Check data file.
-
Non digit character between brackets in variable
-
Self-explantory.
-
Non integer # of swaps in temper command
-
Swap frequency in temper command must evenly divide the total # of -timesteps.
-
Non-numeric box dimensions - simulation unstable
-
The box size has apparently blown up.
-
Not all atom IDs are 0
-
Either all atoms IDs must be zero or none of them.
-
Nprocs not a multiple of N for -reorder
-
Self-explanatory.
-
Number of core atoms != number of shell atoms
-
There must be a one-to-one pairing of core and shell atoms.
-
Numeric index is out of bounds
-
A command with an argument that specifies an integer or range of +You may also want to boost the page size. + +
Neighbor multi not yet enabled for ghost neighbors + +
This is a current restriction within LAMMPS. + +
Neighbor multi not yet enabled for granular + +
Self-explanatory. + +
Neighbor multi not yet enabled for rRESPA + +
Self-explanatory. + +
Neighbor page size must be >= 10x the one atom setting + +
This is required to prevent wasting too much memory. + +
New atom IDs exceed maximum allowed ID + +
See the setting for tagint in the src/lmptype.h file. + +
New bond exceeded bonds per atom in create_bonds + +
See the read_data command for info on setting the "extra bond per +atom" header value to allow for additional bonds to be formed. + +
New bond exceeded bonds per atom in fix bond/create + +
See the read_data command for info on setting the "extra bond per +atom" header value to allow for additional bonds to be formed. + +
New bond exceeded special list size in fix bond/create + +
See the special_bonds extra command for info on how to leave space in +the special bonds list to allow for additional bonds to be formed. + +
Newton bond change after simulation box is defined + +
The newton command cannot be used to change the newton bond value +after a read_data, read_restart, or create_box command. + +
Next command must list all universe and uloop variables + +
This is to insure they stay in sync. + +
No Kspace style defined for compute group/group + +
Self-explanatory. + +
No OpenMP support compiled in + +
An OpenMP flag is set, but LAMMPS was not built with +OpenMP support. + +
No angle style is defined for compute angle/local + +
Self-explanatory. + +
No angles allowed with this atom style + +
Self-explanatory. + +
No atom count in molecule file + +
Self-explanatory. + +
No atoms in data file + +
The header of the data file indicated that atoms would be included, +but they are not present. + +
No basis atoms in lattice + +
Basis atoms must be defined for lattice style user. + +
No bodies allowed with this atom style + +
Self-explanatory. Check data file. + +
No bond style is defined for compute bond/local + +
Self-explanatory. + +
No bonds allowed with this atom style + +
Self-explanatory. + +
No box information in dump. You have to use 'box no' + +
Self-explanatory. + +
No dihedral style is defined for compute dihedral/local + +
Self-explanatory. + +
No dihedrals allowed with this atom style + +
Self-explanatory. + +
No dump custom arguments specified + +
The dump custom command requires that atom quantities be specified to +output to dump file. + +
No dump local arguments specified + +
Self-explanatory. + +
No ellipsoids allowed with this atom style + +
Self-explanatory. Check data file. + +
No fix gravity defined for fix pour + +
Gravity is required to use fix pour. + +
No improper style is defined for compute improper/local + +
Self-explanatory. + +
No impropers allowed with this atom style + +
Self-explanatory. + +
No input values for fix ave/spatial + +
Self-explanatory. + +
No lines allowed with this atom style + +
Self-explanatory. Check data file. + +
No matching element in ADP potential file + +
The ADP potential file does not contain elements that match the +requested elements. + +
No matching element in EAM potential file + +
The EAM potential file does not contain elements that match the +requested elements. + +
No molecule topology allowed with atom style template + +
The data file cannot specify the number of bonds, angles, etc, +because this info if inferred from the molecule templates. + +
No overlap of box and region for create_atoms + +
Self-explanatory. + +
No pair coul/streitz for fix qeq/slater + +
These commands must be used together. + +
No pair hbond/dreiding coefficients set + +
Self-explanatory. + +
No pair style defined for compute group/group + +
Cannot calculate group interactions without a pair style defined. + +
No pair style is defined for compute pair/local + +
Self-explanatory. + +
No pair style is defined for compute property/local + +
Self-explanatory. + +
No rigid bodies defined + +
The fix specification did not end up defining any rigid bodies. + +
No triangles allowed with this atom style + +
Self-explanatory. Check data file. + +
Non digit character between brackets in variable + +
Self-explantory. + +
Non integer # of swaps in temper command + +
Swap frequency in temper command must evenly divide the total # of +timesteps. + +
Non-numeric box dimensions - simulation unstable + +
The box size has apparently blown up. + +
Not all atom IDs are 0 + +
Either all atoms IDs must be zero or none of them. + +
Nprocs not a multiple of N for -reorder + +
Self-explanatory. + +
Number of core atoms != number of shell atoms + +
There must be a one-to-one pairing of core and shell atoms. + +
Numeric index is out of bounds + +
A command with an argument that specifies an integer or range of integers is using a value that is less than 1 or greater than the -maximum allowed limit.
-
One or more atoms belong to multiple rigid bodies
-
Two or more rigid bodies defined by the fix rigid command cannot -contain the same atom.
-
One or zero atoms in rigid body
-
Any rigid body defined by the fix rigid command must contain 2 or more -atoms.
-
Only 2 types allowed when not using semi-grand in fix atom/swap command
-
Self-explanatory.
-
Only one cut-off allowed when requesting all long
-
Self-explanatory.
-
Only one cutoff allowed when requesting all long
-
Self-explanatory.
-
Only zhi currently implemented for fix append/atoms
-
Self-explanatory.
-
Out of range atoms - cannot compute MSM
-
One or more atoms are attempting to map their charge to a MSM grid point +maximum allowed limit. + +
One or more atoms belong to multiple rigid bodies + +
Two or more rigid bodies defined by the fix rigid command cannot +contain the same atom. + +
One or zero atoms in rigid body + +
Any rigid body defined by the fix rigid command must contain 2 or more +atoms. + +
Only 2 types allowed when not using semi-grand in fix atom/swap command + +
Self-explanatory. + +
Only one cut-off allowed when requesting all long + +
Self-explanatory. + +
Only one cutoff allowed when requesting all long + +
Self-explanatory. + +
Only zhi currently implemented for fix append/atoms + +
Self-explanatory. + +
Out of range atoms - cannot compute MSM + +
One or more atoms are attempting to map their charge to a MSM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor's sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are "delay 0 +every 1 check yes". Second, it may mean that an atom has moved far +outside a processor's sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
-
Out of range atoms - cannot compute PPPM
-
One or more atoms are attempting to map their charge to a PPPM grid +large a timestep, etc. + +
Out of range atoms - cannot compute PPPM + +
One or more atoms are attempting to map their charge to a PPPM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor's sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are "delay 0 +every 1 check yes". Second, it may mean that an atom has moved far +outside a processor's sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
-
Out of range atoms - cannot compute PPPMDisp
-
One or more atoms are attempting to map their charge to a PPPM grid +large a timestep, etc. + +
Out of range atoms - cannot compute PPPMDisp + +
One or more atoms are attempting to map their charge to a PPPM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor's sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are "delay 0 +every 1 check yes". Second, it may mean that an atom has moved far +outside a processor's sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
-
Overflow of allocated fix vector storage
-
This should not normally happen if the fix correctly calculated -how long the vector will grow to. Contact the developers.
-
Overlapping large/large in pair colloid
-
This potential is infinite when there is an overlap.
-
Overlapping small/large in pair colloid
-
This potential is infinite when there is an overlap.
-
POEMS fix must come before NPT/NPH fix
-
NPT/NPH fix must be defined in input script after all poems fixes, -else the fix contribution to the pressure virial is incorrect.
-
PPPM can only currently be used with comm_style brick
-
This is a current restriction in LAMMPS.
-
PPPM grid is too large
-
The global PPPM grid is larger than OFFSET in one or more dimensions. +large a timestep, etc. + +
Overflow of allocated fix vector storage + +
This should not normally happen if the fix correctly calculated +how long the vector will grow to. Contact the developers. + +
Overlapping large/large in pair colloid + +
This potential is infinite when there is an overlap. + +
Overlapping small/large in pair colloid + +
This potential is infinite when there is an overlap. + +
POEMS fix must come before NPT/NPH fix + +
NPT/NPH fix must be defined in input script after all poems fixes, +else the fix contribution to the pressure virial is incorrect. + +
PPPM can only currently be used with comm_style brick + +
This is a current restriction in LAMMPS. + +
PPPM grid is too large + +
The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
-
PPPM grid stencil extends beyond nearest neighbor processor
-
This is not allowed if the kspace_modify overlap setting is no.
-
PPPM order < minimum allowed order
-
The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
-
PPPM order cannot be < 2 or > than %d
-
This is a limitation of the PPPM implementation in LAMMPS.
-
PPPMDisp Coulomb grid is too large
-
The global PPPM grid is larger than OFFSET in one or more dimensions. +requested accuracy. + +
PPPM grid stencil extends beyond nearest neighbor processor + +
This is not allowed if the kspace_modify overlap setting is no. + +
PPPM order < minimum allowed order + +
The default minimum order is 2. This can be reset by the +kspace_modify minorder command. + +
PPPM order cannot be < 2 or > than %d + +
This is a limitation of the PPPM implementation in LAMMPS. + +
PPPMDisp Coulomb grid is too large + +
The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
-
PPPMDisp Dispersion grid is too large
-
The global PPPM grid is larger than OFFSET in one or more dimensions. +requested accuracy. + +
PPPMDisp Dispersion grid is too large + +
The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
-
PPPMDisp can only currently be used with comm_style brick
-
This is a current restriction in LAMMPS.
-
PPPMDisp coulomb order cannot be greater than %d
-
This is a limitation of the PPPM implementation in LAMMPS.
-
PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation
-
An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions.
-
PRD command before simulation box is defined
-
The prd command cannot be used before a read_data, -read_restart, or create_box command.
-
PRD nsteps must be multiple of t_event
-
Self-explanatory.
-
PRD t_corr must be multiple of t_event
-
Self-explanatory.
-
Package command after simulation box is defined
-
The package command cannot be used afer a read_data, read_restart, or -create_box command.
-
Package cuda command without USER-CUDA package enabled
-
The USER-CUDA package must be installed via “make yes-user-cuda” -before LAMMPS is built, and the “-c on” must be used to enable the -package.
-
Package gpu command without GPU package installed
-
The GPU package must be installed via “make yes-gpu” before LAMMPS is -built.
-
Package intel command without USER-INTEL package installed
-
The USER-INTEL package must be installed via “make yes-user-intel” -before LAMMPS is built.
-
Package kokkos command without KOKKOS package enabled
-
The KOKKOS package must be installed via “make yes-kokkos” before -LAMMPS is built, and the “-k on” must be used to enable the package.
-
Package omp command without USER-OMP package installed
-
The USER-OMP package must be installed via “make yes-user-omp” before -LAMMPS is built.
-
Pair body requires atom style body
-
Self-explanatory.
-
Pair body requires body style nparticle
-
This pair style is specific to the nparticle body style.
-
Pair brownian requires atom style sphere
-
Self-explanatory.
-
Pair brownian requires extended particles
-
One of the particles has radius 0.0.
-
Pair brownian requires monodisperse particles
-
All particles must be the same finite size.
-
Pair brownian/poly requires atom style sphere
-
Self-explanatory.
-
Pair brownian/poly requires extended particles
-
One of the particles has radius 0.0.
-
Pair brownian/poly requires newton pair off
-
Self-explanatory.
-
Pair coeff for hybrid has invalid style
-
Style in pair coeff must have been listed in pair_style command.
-
Pair coul/wolf requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair cutoff < Respa interior cutoff
-
One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs.
-
Pair dipole/cut requires atom attributes q, mu, torque
-
The atom style defined does not have these attributes.
-
Pair dipole/cut/gpu requires atom attributes q, mu, torque
-
The atom style defined does not have this attribute.
-
Pair dipole/long requires atom attributes q, mu, torque
-
The atom style defined does not have these attributes.
-
Pair distance < table inner cutoff
-
Two atoms are closer together than the pairwise table allows.
-
Pair distance > table outer cutoff
-
Two atoms are further apart than the pairwise table allows.
-
Pair dpd requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair gayberne epsilon a,b,c coeffs are not all set
-
Each atom type involved in pair_style gayberne must -have these 3 coefficients set at least once.
-
Pair gayberne requires atom style ellipsoid
-
Self-explanatory.
-
Pair gayberne requires atoms with same type have same shape
-
Self-explanatory.
-
Pair gayberne/gpu requires atom style ellipsoid
-
Self-explanatory.
-
Pair gayberne/gpu requires atoms with same type have same shape
-
Self-explanatory.
-
Pair granular requires atom style sphere
-
Self-explanatory.
-
Pair granular requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair granular with shear history requires newton pair off
-
This is a current restriction of the implementation of pair -granular styles with history.
-
Pair hybrid sub-style does not support single call
-
You are attempting to invoke a single() call on a pair style -that doesn’t support it.
-
Pair hybrid sub-style is not used
-
No pair_coeff command used a sub-style specified in the pair_style -command.
-
Pair inner cutoff < Respa interior cutoff
-
One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs.
-
Pair inner cutoff >= Pair outer cutoff
-
The specified cutoffs for the pair style are inconsistent.
-
Pair line/lj requires atom style line
-
Self-explanatory.
-
Pair lj/long/dipole/long requires atom attributes mu, torque
-
The atom style defined does not have these attributes.
-
Pair lubricate requires atom style sphere
-
Self-explanatory.
-
Pair lubricate requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair lubricate requires monodisperse particles
-
All particles must be the same finite size.
-
Pair lubricate/poly requires atom style sphere
-
Self-explanatory.
-
Pair lubricate/poly requires extended particles
-
One of the particles has radius 0.0.
-
Pair lubricate/poly requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair lubricate/poly requires newton pair off
-
Self-explanatory.
-
Pair lubricateU requires atom style sphere
-
Self-explanatory.
-
Pair lubricateU requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair lubricateU requires monodisperse particles
-
All particles must be the same finite size.
-
Pair lubricateU/poly requires ghost atoms store velocity
-
Use the comm_modify vel yes command to enable this.
-
Pair lubricateU/poly requires newton pair off
-
Self-explanatory.
-
Pair peri lattice is not identical in x, y, and z
-
The lattice defined by the lattice command must be cubic.
-
Pair peri requires a lattice be defined
-
Use the lattice command for this purpose.
-
Pair peri requires an atom map, see atom_modify
-
Even for atomic systems, an atom map is required to find Peridynamic -bonds. Use the atom_modify command to define one.
-
Pair resquared epsilon a,b,c coeffs are not all set
-
Self-explanatory.
-
Pair resquared epsilon and sigma coeffs are not all set
-
Self-explanatory.
-
Pair resquared requires atom style ellipsoid
-
Self-explanatory.
-
Pair resquared requires atoms with same type have same shape
-
Self-explanatory.
-
Pair resquared/gpu requires atom style ellipsoid
-
Self-explanatory.
-
Pair resquared/gpu requires atoms with same type have same shape
-
Self-explanatory.
-
Pair style AIREBO requires atom IDs
-
This is a requirement to use the AIREBO potential.
-
Pair style AIREBO requires newton pair on
-
See the newton command. This is a restriction to use the AIREBO -potential.
-
Pair style BOP requires atom IDs
-
This is a requirement to use the BOP potential.
-
Pair style BOP requires newton pair on
-
See the newton command. This is a restriction to use the BOP -potential.
-
Pair style COMB requires atom IDs
-
This is a requirement to use the AIREBO potential.
-
Pair style COMB requires atom attribute q
-
Self-explanatory.
-
Pair style COMB requires newton pair on
-
See the newton command. This is a restriction to use the COMB -potential.
-
Pair style COMB3 requires atom IDs
-
This is a requirement to use the COMB3 potential.
-
Pair style COMB3 requires atom attribute q
-
Self-explanatory.
-
Pair style COMB3 requires newton pair on
-
See the newton command. This is a restriction to use the COMB3 -potential.
-
Pair style LCBOP requires atom IDs
-
This is a requirement to use the LCBOP potential.
-
Pair style LCBOP requires newton pair on
-
See the newton command. This is a restriction to use the Tersoff -potential.
-
Pair style MEAM requires newton pair on
-
See the newton command. This is a restriction to use the MEAM -potential.
-
Pair style SNAP requires newton pair on
-
See the newton command. This is a restriction to use the SNAP -potential.
-
Pair style Stillinger-Weber requires atom IDs
-
This is a requirement to use the SW potential.
-
Pair style Stillinger-Weber requires newton pair on
-
See the newton command. This is a restriction to use the SW -potential.
-
Pair style Tersoff requires atom IDs
-
This is a requirement to use the Tersoff potential.
-
Pair style Tersoff requires newton pair on
-
See the newton command. This is a restriction to use the Tersoff -potential.
-
Pair style bop requires comm ghost cutoff at least 3x larger than %g
-
Use the communicate ghost command to set this. See the pair bop -doc page for more details.
-
Pair style born/coul/long requires atom attribute q
-
An atom style that defines this attribute must be used.
-
Pair style born/coul/long/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style born/coul/wolf requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style buck/coul/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style buck/coul/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style buck/coul/long/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style buck/long/coul/long requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style coul/cut requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style coul/cut/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style coul/debye/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style coul/dsf requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style coul/dsf/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style coul/long/gpu requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style coul/streitz requires atom attribute q
-
Self-explanatory.
-
Pair style does not have extra field requested by compute pair/local
-
The pair style does not support the pN value requested by the compute -pair/local command.
-
Pair style does not support bond_style quartic
-
The pair style does not have a single() function, so it can -not be invoked by bond_style quartic.
-
Pair style does not support compute group/group
-
The pair_style does not have a single() function, so it cannot be -invokded by the compute group/group command.
-
Pair style does not support compute pair/local
-
The pair style does not have a single() function, so it can -not be invoked by compute pair/local.
-
Pair style does not support compute property/local
-
The pair style does not have a single() function, so it can -not be invoked by fix bond/swap.
-
Pair style does not support fix bond/swap
-
The pair style does not have a single() function, so it can -not be invoked by fix bond/swap.
-
Pair style does not support pair_write
-
The pair style does not have a single() function, so it can -not be invoked by pair write.
-
Pair style does not support rRESPA inner/middle/outer
-
You are attempting to use rRESPA options with a pair style that -does not support them.
-
Pair style granular with history requires atoms have IDs
-
Atoms in the simulation do not have IDs, so history effects -cannot be tracked by the granular pair potential.
-
Pair style hbond/dreiding requires an atom map, see atom_modify
-
Self-explanatory.
-
Pair style hbond/dreiding requires atom IDs
-
Self-explanatory.
-
Pair style hbond/dreiding requires molecular system
-
Self-explanatory.
-
Pair style hbond/dreiding requires newton pair on
-
See the newton command for details.
-
Pair style hybrid cannot have hybrid as an argument
-
Self-explanatory.
-
Pair style hybrid cannot have none as an argument
-
Self-explanatory.
-
Pair style is incompatible with TIP4P KSpace style
-
The pair style does not have the requires TIP4P settings.
-
Pair style lj/charmm/coul/charmm requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style lj/charmm/coul/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style lj/charmm/coul/long/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/class2/coul/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/class2/coul/long requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/class2/coul/long/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/cut/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/debye/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/dsf requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style lj/cut/coul/dsf/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/long requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/coul/long/gpu requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/tip4p/cut requires atom IDs
-
This is a requirement to use this potential.
-
Pair style lj/cut/tip4p/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style lj/cut/tip4p/cut requires newton pair on
-
See the newton command. This is a restriction to use this -potential.
-
Pair style lj/cut/tip4p/long requires atom IDs
-
There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
-
Pair style lj/cut/tip4p/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style lj/cut/tip4p/long requires newton pair on
-
This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
-
Pair style lj/gromacs/coul/gromacs requires atom attribute q
-
An atom_style with this attribute is needed.
-
Pair style lj/long/dipole/long does not currently support respa
-
This feature is not yet supported.
-
Pair style lj/long/tip4p/long requires atom IDs
-
There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
-
Pair style lj/long/tip4p/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style lj/long/tip4p/long requires newton pair on
-
This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
-
Pair style nb3b/harmonic requires atom IDs
-
This is a requirement to use this potential.
-
Pair style nb3b/harmonic requires newton pair on
-
See the newton command. This is a restriction to use this potential.
-
Pair style nm/cut/coul/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style nm/cut/coul/long requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style peri requires atom style peri
-
Self-explanatory.
-
Pair style reax requires atom IDs
-
This is a requirement to use the ReaxFF potential.
-
Pair style reax requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style reax requires newton pair on
-
This is a requirement to use the ReaxFF potential.
-
Pair style requires a KSpace style
-
No kspace style is defined.
-
Pair style requires use of kspace_style ewald/disp
-
Self-explanatory.
-
Pair style sw/gpu requires atom IDs
-
This is a requirement to use this potential.
-
Pair style sw/gpu requires newton pair off
-
See the newton command. This is a restriction to use this potential.
-
Pair style tip4p/cut requires atom IDs
-
This is a requirement to use this potential.
-
Pair style tip4p/cut requires atom attribute q
-
The atom style defined does not have this attribute.
-
Pair style tip4p/cut requires newton pair on
-
See the newton command. This is a restriction to use this potential.
-
Pair style tip4p/long requires atom IDs
-
There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
-
Pair style tip4p/long requires atom attribute q
-
The atom style defined does not have these attributes.
-
Pair style tip4p/long requires newton pair on
-
This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
-
Pair table cutoffs must all be equal to use with KSpace
-
When using pair style table with a long-range KSpace solver, the +requested accuracy. + +
PPPMDisp can only currently be used with comm_style brick + +
This is a current restriction in LAMMPS. + +
PPPMDisp coulomb order cannot be greater than %d + +
This is a limitation of the PPPM implementation in LAMMPS. + +
PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation + +
An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions. + +
PRD command before simulation box is defined + +
The prd command cannot be used before a read_data, +read_restart, or create_box command. + +
PRD nsteps must be multiple of t_event + +
Self-explanatory. + +
PRD t_corr must be multiple of t_event + +
Self-explanatory. + +
Package command after simulation box is defined + +
The package command cannot be used afer a read_data, read_restart, or +create_box command. + +
Package cuda command without USER-CUDA package enabled + +
The USER-CUDA package must be installed via "make yes-user-cuda" +before LAMMPS is built, and the "-c on" must be used to enable the +package. + +
Package gpu command without GPU package installed + +
The GPU package must be installed via "make yes-gpu" before LAMMPS is +built. + +
Package intel command without USER-INTEL package installed + +
The USER-INTEL package must be installed via "make yes-user-intel" +before LAMMPS is built. + +
Package kokkos command without KOKKOS package enabled + +
The KOKKOS package must be installed via "make yes-kokkos" before +LAMMPS is built, and the "-k on" must be used to enable the package. + +
Package omp command without USER-OMP package installed + +
The USER-OMP package must be installed via "make yes-user-omp" before +LAMMPS is built. + +
Pair body requires atom style body + +
Self-explanatory. + +
Pair body requires body style nparticle + +
This pair style is specific to the nparticle body style. + +
Pair brownian requires atom style sphere + +
Self-explanatory. + +
Pair brownian requires extended particles + +
One of the particles has radius 0.0. + +
Pair brownian requires monodisperse particles + +
All particles must be the same finite size. + +
Pair brownian/poly requires atom style sphere + +
Self-explanatory. + +
Pair brownian/poly requires extended particles + +
One of the particles has radius 0.0. + +
Pair brownian/poly requires newton pair off + +
Self-explanatory. + +
Pair coeff for hybrid has invalid style + +
Style in pair coeff must have been listed in pair_style command. + +
Pair coul/wolf requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair cutoff < Respa interior cutoff + +
One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +
Pair dipole/cut requires atom attributes q, mu, torque + +
The atom style defined does not have these attributes. + +
Pair dipole/cut/gpu requires atom attributes q, mu, torque + +
The atom style defined does not have this attribute. + +
Pair dipole/long requires atom attributes q, mu, torque + +
The atom style defined does not have these attributes. + +
Pair distance < table inner cutoff + +
Two atoms are closer together than the pairwise table allows. + +
Pair distance > table outer cutoff + +
Two atoms are further apart than the pairwise table allows. + +
Pair dpd requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair gayberne epsilon a,b,c coeffs are not all set + +
Each atom type involved in pair_style gayberne must +have these 3 coefficients set at least once. + +
Pair gayberne requires atom style ellipsoid + +
Self-explanatory. + +
Pair gayberne requires atoms with same type have same shape + +
Self-explanatory. + +
Pair gayberne/gpu requires atom style ellipsoid + +
Self-explanatory. + +
Pair gayberne/gpu requires atoms with same type have same shape + +
Self-explanatory. + +
Pair granular requires atom style sphere + +
Self-explanatory. + +
Pair granular requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair granular with shear history requires newton pair off + +
This is a current restriction of the implementation of pair +granular styles with history. + +
Pair hybrid sub-style does not support single call + +
You are attempting to invoke a single() call on a pair style +that doesn't support it. + +
Pair hybrid sub-style is not used + +
No pair_coeff command used a sub-style specified in the pair_style +command. + +
Pair inner cutoff < Respa interior cutoff + +
One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs. + +
Pair inner cutoff >= Pair outer cutoff + +
The specified cutoffs for the pair style are inconsistent. + +
Pair line/lj requires atom style line + +
Self-explanatory. + +
Pair lj/long/dipole/long requires atom attributes mu, torque + +
The atom style defined does not have these attributes. + +
Pair lubricate requires atom style sphere + +
Self-explanatory. + +
Pair lubricate requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair lubricate requires monodisperse particles + +
All particles must be the same finite size. + +
Pair lubricate/poly requires atom style sphere + +
Self-explanatory. + +
Pair lubricate/poly requires extended particles + +
One of the particles has radius 0.0. + +
Pair lubricate/poly requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair lubricate/poly requires newton pair off + +
Self-explanatory. + +
Pair lubricateU requires atom style sphere + +
Self-explanatory. + +
Pair lubricateU requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair lubricateU requires monodisperse particles + +
All particles must be the same finite size. + +
Pair lubricateU/poly requires ghost atoms store velocity + +
Use the comm_modify vel yes command to enable this. + +
Pair lubricateU/poly requires newton pair off + +
Self-explanatory. + +
Pair peri lattice is not identical in x, y, and z + +
The lattice defined by the lattice command must be cubic. + +
Pair peri requires a lattice be defined + +
Use the lattice command for this purpose. + +
Pair peri requires an atom map, see atom_modify + +
Even for atomic systems, an atom map is required to find Peridynamic +bonds. Use the atom_modify command to define one. + +
Pair resquared epsilon a,b,c coeffs are not all set + +
Self-explanatory. + +
Pair resquared epsilon and sigma coeffs are not all set + +
Self-explanatory. + +
Pair resquared requires atom style ellipsoid + +
Self-explanatory. + +
Pair resquared requires atoms with same type have same shape + +
Self-explanatory. + +
Pair resquared/gpu requires atom style ellipsoid + +
Self-explanatory. + +
Pair resquared/gpu requires atoms with same type have same shape + +
Self-explanatory. + +
Pair style AIREBO requires atom IDs + +
This is a requirement to use the AIREBO potential. + +
Pair style AIREBO requires newton pair on + +
See the newton command. This is a restriction to use the AIREBO +potential. + +
Pair style BOP requires atom IDs + +
This is a requirement to use the BOP potential. + +
Pair style BOP requires newton pair on + +
See the newton command. This is a restriction to use the BOP +potential. + +
Pair style COMB requires atom IDs + +
This is a requirement to use the AIREBO potential. + +
Pair style COMB requires atom attribute q + +
Self-explanatory. + +
Pair style COMB requires newton pair on + +
See the newton command. This is a restriction to use the COMB +potential. + +
Pair style COMB3 requires atom IDs + +
This is a requirement to use the COMB3 potential. + +
Pair style COMB3 requires atom attribute q + +
Self-explanatory. + +
Pair style COMB3 requires newton pair on + +
See the newton command. This is a restriction to use the COMB3 +potential. + +
Pair style LCBOP requires atom IDs + +
This is a requirement to use the LCBOP potential. + +
Pair style LCBOP requires newton pair on + +
See the newton command. This is a restriction to use the Tersoff +potential. + +
Pair style MEAM requires newton pair on + +
See the newton command. This is a restriction to use the MEAM +potential. + +
Pair style SNAP requires newton pair on + +
See the newton command. This is a restriction to use the SNAP +potential. + +
Pair style Stillinger-Weber requires atom IDs + +
This is a requirement to use the SW potential. + +
Pair style Stillinger-Weber requires newton pair on + +
See the newton command. This is a restriction to use the SW +potential. + +
Pair style Tersoff requires atom IDs + +
This is a requirement to use the Tersoff potential. + +
Pair style Tersoff requires newton pair on + +
See the newton command. This is a restriction to use the Tersoff +potential. + +
Pair style bop requires comm ghost cutoff at least 3x larger than %g + +
Use the communicate ghost command to set this. See the pair bop +doc page for more details. + +
Pair style born/coul/long requires atom attribute q + +
An atom style that defines this attribute must be used. + +
Pair style born/coul/long/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style born/coul/wolf requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style buck/coul/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style buck/coul/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style buck/coul/long/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style buck/long/coul/long requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style coul/cut requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style coul/cut/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style coul/debye/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style coul/dsf requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style coul/dsf/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style coul/long/gpu requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style coul/streitz requires atom attribute q + +
Self-explanatory. + +
Pair style does not have extra field requested by compute pair/local + +
The pair style does not support the pN value requested by the compute +pair/local command. + +
Pair style does not support bond_style quartic + +
The pair style does not have a single() function, so it can +not be invoked by bond_style quartic. + +
Pair style does not support compute group/group + +
The pair_style does not have a single() function, so it cannot be +invokded by the compute group/group command. + +
Pair style does not support compute pair/local + +
The pair style does not have a single() function, so it can +not be invoked by compute pair/local. + +
Pair style does not support compute property/local + +
The pair style does not have a single() function, so it can +not be invoked by fix bond/swap. + +
Pair style does not support fix bond/swap + +
The pair style does not have a single() function, so it can +not be invoked by fix bond/swap. + +
Pair style does not support pair_write + +
The pair style does not have a single() function, so it can +not be invoked by pair write. + +
Pair style does not support rRESPA inner/middle/outer + +
You are attempting to use rRESPA options with a pair style that +does not support them. + +
Pair style granular with history requires atoms have IDs + +
Atoms in the simulation do not have IDs, so history effects +cannot be tracked by the granular pair potential. + +
Pair style hbond/dreiding requires an atom map, see atom_modify + +
Self-explanatory. + +
Pair style hbond/dreiding requires atom IDs + +
Self-explanatory. + +
Pair style hbond/dreiding requires molecular system + +
Self-explanatory. + +
Pair style hbond/dreiding requires newton pair on + +
See the newton command for details. + +
Pair style hybrid cannot have hybrid as an argument + +
Self-explanatory. + +
Pair style hybrid cannot have none as an argument + +
Self-explanatory. + +
Pair style is incompatible with TIP4P KSpace style + +
The pair style does not have the requires TIP4P settings. + +
Pair style lj/charmm/coul/charmm requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style lj/charmm/coul/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style lj/charmm/coul/long/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/class2/coul/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/class2/coul/long requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/class2/coul/long/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/cut/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/debye/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/dsf requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style lj/cut/coul/dsf/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/long requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/coul/long/gpu requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/tip4p/cut requires atom IDs + +
This is a requirement to use this potential. + +
Pair style lj/cut/tip4p/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style lj/cut/tip4p/cut requires newton pair on + +
See the newton command. This is a restriction to use this +potential. + +
Pair style lj/cut/tip4p/long requires atom IDs + +
There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule. + +
Pair style lj/cut/tip4p/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style lj/cut/tip4p/long requires newton pair on + +
This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors. + +
Pair style lj/gromacs/coul/gromacs requires atom attribute q + +
An atom_style with this attribute is needed. + +
Pair style lj/long/dipole/long does not currently support respa + +
This feature is not yet supported. + +
Pair style lj/long/tip4p/long requires atom IDs + +
There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule. + +
Pair style lj/long/tip4p/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style lj/long/tip4p/long requires newton pair on + +
This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors. + +
Pair style nb3b/harmonic requires atom IDs + +
This is a requirement to use this potential. + +
Pair style nb3b/harmonic requires newton pair on + +
See the newton command. This is a restriction to use this potential. + +
Pair style nm/cut/coul/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style nm/cut/coul/long requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style peri requires atom style peri + +
Self-explanatory. + +
Pair style reax requires atom IDs + +
This is a requirement to use the ReaxFF potential. + +
Pair style reax requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style reax requires newton pair on + +
This is a requirement to use the ReaxFF potential. + +
Pair style requires a KSpace style + +
No kspace style is defined. + +
Pair style requires use of kspace_style ewald/disp + +
Self-explanatory. + +
Pair style sw/gpu requires atom IDs + +
This is a requirement to use this potential. + +
Pair style sw/gpu requires newton pair off + +
See the newton command. This is a restriction to use this potential. + +
Pair style tip4p/cut requires atom IDs + +
This is a requirement to use this potential. + +
Pair style tip4p/cut requires atom attribute q + +
The atom style defined does not have this attribute. + +
Pair style tip4p/cut requires newton pair on + +
See the newton command. This is a restriction to use this potential. + +
Pair style tip4p/long requires atom IDs + +
There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule. + +
Pair style tip4p/long requires atom attribute q + +
The atom style defined does not have these attributes. + +
Pair style tip4p/long requires newton pair on + +
This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors. + +
Pair table cutoffs must all be equal to use with KSpace + +
When using pair style table with a long-range KSpace solver, the cutoffs for all atom type pairs must all be the same, since the -long-range solver starts at that cutoff.
-
Pair table parameters did not set N
-
List of pair table parameters must include N setting.
-
Pair tersoff/zbl requires metal or real units
-
This is a current restriction of this pair potential.
-
Pair tri/lj requires atom style tri
-
Self-explanatory.
-
Pair yukawa/colloid requires atom style sphere
-
Self-explantory.
-
Pair yukawa/colloid requires atoms with same type have same radius
-
Self-explantory.
-
Pair yukawa/colloid/gpu requires atom style sphere
-
Self-explanatory.
-
PairKIM only works with 3D problems
-
This is a current limitation.
-
Pair_coeff command before pair_style is defined
-
Self-explanatory.
-
Pair_coeff command before simulation box is defined
-
The pair_coeff command cannot be used before a read_data, -read_restart, or create_box command.
-
Pair_modify command before pair_style is defined
-
Self-explanatory.
-
Pair_write command before pair_style is defined
-
Self-explanatory.
-
Particle on or inside fix wall surface
-
Particles must be “exterior” to the wall in order for energy/force to -be calculated.
-
Particle on or inside surface of region used in fix wall/region
-
Particles must be “exterior” to the region surface in order for -energy/force to be calculated.
-
Per-atom compute in equal-style variable formula
-
Equal-style variables cannot use per-atom quantities.
-
Per-atom energy was not tallied on needed timestep
-
You are using a thermo keyword that requires potentials to -have tallied energy, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
-
Per-atom fix in equal-style variable formula
-
Equal-style variables cannot use per-atom quantities.
-
Per-atom virial was not tallied on needed timestep
-
You are using a thermo keyword that requires potentials to have -tallied the virial, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
-
Per-processor system is too big
-
The number of owned atoms plus ghost atoms on a single -processor must fit in 32-bit integer.
-
Potential energy ID for fix neb does not exist
-
Self-explanatory.
-
Potential energy ID for fix nvt/nph/npt does not exist
-
A compute for potential energy must be defined.
-
Potential file has duplicate entry
-
The potential file has more than one entry for the same element.
-
Potential file is missing an entry
-
The potential file does not have a needed entry.
-
Power by 0 in variable formula
-
Self-explanatory.
-
Pressure ID for fix box/relax does not exist
-
The compute ID needed to compute pressure for the fix does not -exist.
-
Pressure ID for fix modify does not exist
-
Self-explanatory.
-
Pressure ID for fix npt/nph does not exist
-
Self-explanatory.
-
Pressure ID for fix press/berendsen does not exist
-
The compute ID needed to compute pressure for the fix does not -exist.
-
Pressure ID for fix rigid npt/nph does not exist
-
Self-explanatory.
-
Pressure ID for thermo does not exist
-
The compute ID needed to compute pressure for thermodynamics does not -exist.
-
Pressure control can not be used with fix nvt
-
Self-explanatory.
-
Pressure control can not be used with fix nvt/asphere
-
Self-explanatory.
-
Pressure control can not be used with fix nvt/sllod
-
Self-explanatory.
-
Pressure control can not be used with fix nvt/sphere
-
Self-explanatory.
-
Pressure control must be used with fix nph
-
Self-explanatory.
-
Pressure control must be used with fix nph/asphere
-
Self-explanatory.
-
Pressure control must be used with fix nph/small
-
Self-explanatory.
-
Pressure control must be used with fix nph/sphere
-
Self-explanatory.
-
Pressure control must be used with fix nphug
-
A pressure control keyword (iso, aniso, tri, x, y, or z) must be -provided.
-
Pressure control must be used with fix npt
-
Self-explanatory.
-
Pressure control must be used with fix npt/asphere
-
Self-explanatory.
-
Pressure control must be used with fix npt/sphere
-
Self-explanatory.
-
Processor count in z must be 1 for 2d simulation
-
Self-explanatory.
-
Processor partitions do not match number of allocated processors
-
The total number of processors in all partitions must match the number -of processors LAMMPS is running on.
-
Processors command after simulation box is defined
-
The processors command cannot be used after a read_data, read_restart, -or create_box command.
-
Processors custom grid file is inconsistent
-
The vales in the custom file are not consistent with the number of +long-range solver starts at that cutoff. + +
Pair table parameters did not set N + +
List of pair table parameters must include N setting. + +
Pair tersoff/zbl requires metal or real units + +
This is a current restriction of this pair potential. + +
Pair tri/lj requires atom style tri + +
Self-explanatory. + +
Pair yukawa/colloid requires atom style sphere + +
Self-explantory. + +
Pair yukawa/colloid requires atoms with same type have same radius + +
Self-explantory. + +
Pair yukawa/colloid/gpu requires atom style sphere + +
Self-explanatory. + +
PairKIM only works with 3D problems + +
This is a current limitation. + +
Pair_coeff command before pair_style is defined + +
Self-explanatory. + +
Pair_coeff command before simulation box is defined + +
The pair_coeff command cannot be used before a read_data, +read_restart, or create_box command. + +
Pair_modify command before pair_style is defined + +
Self-explanatory. + +
Pair_write command before pair_style is defined + +
Self-explanatory. + +
Particle on or inside fix wall surface + +
Particles must be "exterior" to the wall in order for energy/force to +be calculated. + +
Particle on or inside surface of region used in fix wall/region + +
Particles must be "exterior" to the region surface in order for +energy/force to be calculated. + +
Per-atom compute in equal-style variable formula + +
Equal-style variables cannot use per-atom quantities. + +
Per-atom energy was not tallied on needed timestep + +
You are using a thermo keyword that requires potentials to +have tallied energy, but they didn't on this timestep. See the +variable doc page for ideas on how to make this work. + +
Per-atom fix in equal-style variable formula + +
Equal-style variables cannot use per-atom quantities. + +
Per-atom virial was not tallied on needed timestep + +
You are using a thermo keyword that requires potentials to have +tallied the virial, but they didn't on this timestep. See the +variable doc page for ideas on how to make this work. + +
Per-processor system is too big + +
The number of owned atoms plus ghost atoms on a single +processor must fit in 32-bit integer. + +
Potential energy ID for fix neb does not exist + +
Self-explanatory. + +
Potential energy ID for fix nvt/nph/npt does not exist + +
A compute for potential energy must be defined. + +
Potential file has duplicate entry + +
The potential file has more than one entry for the same element. + +
Potential file is missing an entry + +
The potential file does not have a needed entry. + +
Power by 0 in variable formula + +
Self-explanatory. + +
Pressure ID for fix box/relax does not exist + +
The compute ID needed to compute pressure for the fix does not +exist. + +
Pressure ID for fix modify does not exist + +
Self-explanatory. + +
Pressure ID for fix npt/nph does not exist + +
Self-explanatory. + +
Pressure ID for fix press/berendsen does not exist + +
The compute ID needed to compute pressure for the fix does not +exist. + +
Pressure ID for fix rigid npt/nph does not exist + +
Self-explanatory. + +
Pressure ID for thermo does not exist + +
The compute ID needed to compute pressure for thermodynamics does not +exist. + +
Pressure control can not be used with fix nvt + +
Self-explanatory. + +
Pressure control can not be used with fix nvt/asphere + +
Self-explanatory. + +
Pressure control can not be used with fix nvt/sllod + +
Self-explanatory. + +
Pressure control can not be used with fix nvt/sphere + +
Self-explanatory. + +
Pressure control must be used with fix nph + +
Self-explanatory. + +
Pressure control must be used with fix nph/asphere + +
Self-explanatory. + +
Pressure control must be used with fix nph/small + +
Self-explanatory. + +
Pressure control must be used with fix nph/sphere + +
Self-explanatory. + +
Pressure control must be used with fix nphug + +
A pressure control keyword (iso, aniso, tri, x, y, or z) must be +provided. + +
Pressure control must be used with fix npt + +
Self-explanatory. + +
Pressure control must be used with fix npt/asphere + +
Self-explanatory. + +
Pressure control must be used with fix npt/sphere + +
Self-explanatory. + +
Processor count in z must be 1 for 2d simulation + +
Self-explanatory. + +
Processor partitions do not match number of allocated processors + +
The total number of processors in all partitions must match the number +of processors LAMMPS is running on. + +
Processors command after simulation box is defined + +
The processors command cannot be used after a read_data, read_restart, +or create_box command. + +
Processors custom grid file is inconsistent + +
The vales in the custom file are not consistent with the number of processors you are running on or the Px,Py,Pz settings of the -processors command. Or there was not a setting for every processor.
-
Processors grid numa and map style are incompatible
-
Using numa for gstyle in the processors command requires using -cart for the map option.
-
Processors part option and grid style are incompatible
-
Cannot use gstyle numa or custom with the part option.
-
Processors twogrid requires proc count be a multiple of core count
-
Self-explanatory.
-
Pstart and Pstop must have the same value
-
Self-explanatory.
-
Python function evaluation failed
-
The Python function did not run succesfully and/or did not return a +processors command. Or there was not a setting for every processor. + +
Processors grid numa and map style are incompatible + +
Using numa for gstyle in the processors command requires using +cart for the map option. + +
Processors part option and grid style are incompatible + +
Cannot use gstyle numa or custom with the part option. + +
Processors twogrid requires proc count be a multiple of core count + +
Self-explanatory. + +
Pstart and Pstop must have the same value + +
Self-explanatory. + +
Python function evaluation failed + +
The Python function did not run succesfully and/or did not return a value (if it is supposed to return a value). This is probably due to -some error condition in the function.
-
Python function is not callable
-
The provided Python code was run successfully, but it not -define a callable function with the required name.
-
Python invoke of undefined function
-
Cannot invoke a function that has not been previously defined.
-
Python variable does not match Python function
-
This matching is defined by the python-style variable and the python -command.
-
Python variable has no function
-
No python command was used to define the function associated with the -python-style variable.
-
QEQ with ‘newton pair off’ not supported
-
See the newton command. This is a restriction to use the QEQ fixes.
-
R0 < 0 for fix spring command
-
Equilibrium spring length is invalid.
-
RATTLE coordinate constraints are not satisfied up to desired tolerance
-
Self-explanatory.
-
RATTLE determinant = 0.0
-
The determinant of the matrix being solved for a single cluster -specified by the fix rattle command is numerically invalid.
-
RATTLE failed
-
Certain constraints were not satisfied.
-
RATTLE velocity constraints are not satisfied up to desired tolerance
-
Self-explanatory.
-
Read dump of atom property that isn’t allocated
-
Self-explanatory.
-
Read rerun dump file timestep > specified stop
-
Self-explanatory.
-
Read restart MPI-IO input not allowed with % in filename
-
This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
-
Read_data shrink wrap did not assign all atoms correctly
-
This is typically because the box-size specified in the data file is +some error condition in the function. + +
Python function is not callable + +
The provided Python code was run successfully, but it not +define a callable function with the required name. + +
Python invoke of undefined function + +
Cannot invoke a function that has not been previously defined. + +
Python variable does not match Python function + +
This matching is defined by the python-style variable and the python +command. + +
Python variable has no function + +
No python command was used to define the function associated with the +python-style variable. + +
QEQ with 'newton pair off' not supported + +
See the newton command. This is a restriction to use the QEQ fixes. + +
R0 < 0 for fix spring command + +
Equilibrium spring length is invalid. + +
RATTLE coordinate constraints are not satisfied up to desired tolerance + +
Self-explanatory. + +
RATTLE determinant = 0.0 + +
The determinant of the matrix being solved for a single cluster +specified by the fix rattle command is numerically invalid. + +
RATTLE failed + +
Certain constraints were not satisfied. + +
RATTLE velocity constraints are not satisfied up to desired tolerance + +
Self-explanatory. + +
Read dump of atom property that isn't allocated + +
Self-explanatory. + +
Read rerun dump file timestep > specified stop + +
Self-explanatory. + +
Read restart MPI-IO input not allowed with % in filename + +
This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors. + +
Read_data shrink wrap did not assign all atoms correctly + +
This is typically because the box-size specified in the data file is large compared to the actual extent of atoms in a shrink-wrapped dimension. When LAMMPS shrink-wraps the box atoms will be lost if the processor they are re-assigned to is too far away. Choose a box -size closer to the actual extent of the atoms.
-
Read_dump command before simulation box is defined
-
The read_dump command cannot be used before a read_data, read_restart, -or create_box command.
-
Read_dump field not found in dump file
-
Self-explanatory.
-
Read_dump triclinic status does not match simulation
-
Both the dump snapshot and the current LAMMPS simulation must -be using either an orthogonal or triclinic box.
-
Read_dump xyz fields do not have consistent scaling/wrapping
-
Self-explanatory.
-
Reading from MPI-IO filename when MPIIO package is not installed
-
Self-explanatory.
-
Reax_defs.h setting for NATDEF is too small
-
Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS.
-
Reax_defs.h setting for NNEIGHMAXDEF is too small
-
Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS.
-
Receiving partition in processors part command is already a receiver
-
Cannot specify a partition to be a receiver twice.
-
Region ID for compute chunk/atom does not exist
-
Self-explanatory.
-
Region ID for compute reduce/region does not exist
-
Self-explanatory.
-
Region ID for compute temp/region does not exist
-
Self-explanatory.
-
Region ID for dump custom does not exist
-
Self-explanatory.
-
Region ID for fix addforce does not exist
-
Self-explanatory.
-
Region ID for fix atom/swap does not exist
-
Self-explanatory.
-
Region ID for fix ave/spatial does not exist
-
Self-explanatory.
-
Region ID for fix aveforce does not exist
-
Self-explanatory.
-
Region ID for fix deposit does not exist
-
Self-explanatory.
-
Region ID for fix efield does not exist
-
Self-explanatory.
-
Region ID for fix evaporate does not exist
-
Self-explanatory.
-
Region ID for fix gcmc does not exist
-
Self-explanatory.
-
Region ID for fix heat does not exist
-
Self-explanatory.
-
Region ID for fix setforce does not exist
-
Self-explanatory.
-
Region ID for fix wall/region does not exist
-
Self-explanatory.
-
Region ID for group dynamic does not exist
-
Self-explanatory.
-
Region ID in variable formula does not exist
-
Self-explanatory.
-
Region cannot have 0 length rotation vector
-
Self-explanatory.
-
Region for fix oneway does not exist
-
Self-explanatory.
-
Region intersect region ID does not exist
-
Self-explanatory.
-
Region union or intersect cannot be dynamic
-
The sub-regions can be dynamic, but not the combined region.
-
Region union region ID does not exist
-
One or more of the region IDs specified by the region union command -does not exist.
-
Replacing a fix, but new style != old style
-
A fix ID can be used a 2nd time, but only if the style matches the -previous fix. In this case it is assumed you with to reset a fix’s +size closer to the actual extent of the atoms. + +
Read_dump command before simulation box is defined + +
The read_dump command cannot be used before a read_data, read_restart, +or create_box command. + +
Read_dump field not found in dump file + +
Self-explanatory. + +
Read_dump triclinic status does not match simulation + +
Both the dump snapshot and the current LAMMPS simulation must +be using either an orthogonal or triclinic box. + +
Read_dump xyz fields do not have consistent scaling/wrapping + +
Self-explanatory. + +
Reading from MPI-IO filename when MPIIO package is not installed + +
Self-explanatory. + +
Reax_defs.h setting for NATDEF is too small + +
Edit the setting in the ReaxFF library and re-compile the +library and re-build LAMMPS. + +
Reax_defs.h setting for NNEIGHMAXDEF is too small + +
Edit the setting in the ReaxFF library and re-compile the +library and re-build LAMMPS. + +
Receiving partition in processors part command is already a receiver + +
Cannot specify a partition to be a receiver twice. + +
Region ID for compute chunk/atom does not exist + +
Self-explanatory. + +
Region ID for compute reduce/region does not exist + +
Self-explanatory. + +
Region ID for compute temp/region does not exist + +
Self-explanatory. + +
Region ID for dump custom does not exist + +
Self-explanatory. + +
Region ID for fix addforce does not exist + +
Self-explanatory. + +
Region ID for fix atom/swap does not exist + +
Self-explanatory. + +
Region ID for fix ave/spatial does not exist + +
Self-explanatory. + +
Region ID for fix aveforce does not exist + +
Self-explanatory. + +
Region ID for fix deposit does not exist + +
Self-explanatory. + +
Region ID for fix efield does not exist + +
Self-explanatory. + +
Region ID for fix evaporate does not exist + +
Self-explanatory. + +
Region ID for fix gcmc does not exist + +
Self-explanatory. + +
Region ID for fix heat does not exist + +
Self-explanatory. + +
Region ID for fix setforce does not exist + +
Self-explanatory. + +
Region ID for fix wall/region does not exist + +
Self-explanatory. + +
Region ID for group dynamic does not exist + +
Self-explanatory. + +
Region ID in variable formula does not exist + +
Self-explanatory. + +
Region cannot have 0 length rotation vector + +
Self-explanatory. + +
Region for fix oneway does not exist + +
Self-explanatory. + +
Region intersect region ID does not exist + +
Self-explanatory. + +
Region union or intersect cannot be dynamic + +
The sub-regions can be dynamic, but not the combined region. + +
Region union region ID does not exist + +
One or more of the region IDs specified by the region union command +does not exist. + +
Replacing a fix, but new style != old style + +
A fix ID can be used a 2nd time, but only if the style matches the +previous fix. In this case it is assumed you with to reset a fix's parameters. This error may mean you are mistakenly re-using a fix ID -when you do not intend to.
-
Replicate command before simulation box is defined
-
The replicate command cannot be used before a read_data, read_restart, -or create_box command.
-
Replicate did not assign all atoms correctly
-
Atoms replicated by the replicate command were not assigned correctly +when you do not intend to. + +
Replicate command before simulation box is defined + +
The replicate command cannot be used before a read_data, read_restart, +or create_box command. + +
Replicate did not assign all atoms correctly + +
Atoms replicated by the replicate command were not assigned correctly to processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box.
-
Replicated system atom IDs are too big
-
See the setting for tagint in the src/lmptype.h file.
-
Replicated system is too big
-
See the setting for bigint in the src/lmptype.h file.
-
Required border comm not yet implemented with Kokkos
-
There are various limitations in the communication options supported -by Kokkos.
-
Rerun command before simulation box is defined
-
The rerun command cannot be used before a read_data, read_restart, or -create_box command.
-
Rerun dump file does not contain requested snapshot
-
Self-explanatory.
-
Resetting timestep size is not allowed with fix move
-
This is because fix move is moving atoms based on elapsed time.
-
Respa inner cutoffs are invalid
-
The first cutoff must be <= the second cutoff.
-
Respa levels must be >= 1
-
Self-explanatory.
-
Respa middle cutoffs are invalid
-
The first cutoff must be <= the second cutoff.
-
Restart file MPI-IO output not allowed with % in filename
-
This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
-
Restart file byte ordering is not recognized
-
The file does not appear to be a LAMMPS restart file since it doesn’t -contain a recognized byte-orderomg flag at the beginning.
-
Restart file byte ordering is swapped
-
The file was written on a machine with different byte-ordering than +outside a non-periodic simulation box. + +
Replicated system atom IDs are too big + +
See the setting for tagint in the src/lmptype.h file. + +
Replicated system is too big + +
See the setting for bigint in the src/lmptype.h file. + +
Required border comm not yet implemented with Kokkos + +
There are various limitations in the communication options supported +by Kokkos. + +
Rerun command before simulation box is defined + +
The rerun command cannot be used before a read_data, read_restart, or +create_box command. + +
Rerun dump file does not contain requested snapshot + +
Self-explanatory. + +
Resetting timestep size is not allowed with fix move + +
This is because fix move is moving atoms based on elapsed time. + +
Respa inner cutoffs are invalid + +
The first cutoff must be <= the second cutoff. + +
Respa levels must be >= 1 + +
Self-explanatory. + +
Respa middle cutoffs are invalid + +
The first cutoff must be <= the second cutoff. + +
Restart file MPI-IO output not allowed with % in filename + +
This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors. + +
Restart file byte ordering is not recognized + +
The file does not appear to be a LAMMPS restart file since it doesn't +contain a recognized byte-orderomg flag at the beginning. + +
Restart file byte ordering is swapped + +
The file was written on a machine with different byte-ordering than the machine you are reading it on. Convert it to a text data file -instead, on the machine you wrote it on.
-
Restart file incompatible with current version
-
This is probably because you are trying to read a file created with a +instead, on the machine you wrote it on. + +
Restart file incompatible with current version + +
This is probably because you are trying to read a file created with a version of LAMMPS that is too old compared to the current version. Use your older version of LAMMPS and convert the restart file -to a data file.
-
Restart file is a MPI-IO file
-
The file is inconsistent with the filename you specified for it.
-
Restart file is a multi-proc file
-
The file is inconsistent with the filename you specified for it.
-
Restart file is not a MPI-IO file
-
The file is inconsistent with the filename you specified for it.
-
Restart file is not a multi-proc file
-
The file is inconsistent with the filename you specified for it.
-
Restart variable returned a bad timestep
-
The variable must return a timestep greater than the current timestep.
-
Restrain atoms %d %d %d %d missing on proc %d at step %ld
-
The 4 atoms in a restrain dihedral specified by the fix restrain +to a data file. + +
Restart file is a MPI-IO file + +
The file is inconsistent with the filename you specified for it. + +
Restart file is a multi-proc file + +
The file is inconsistent with the filename you specified for it. + +
Restart file is not a MPI-IO file + +
The file is inconsistent with the filename you specified for it. + +
Restart file is not a multi-proc file + +
The file is inconsistent with the filename you specified for it. + +
Restart variable returned a bad timestep + +
The variable must return a timestep greater than the current timestep. + +
Restrain atoms %d %d %d %d missing on proc %d at step %ld + +
The 4 atoms in a restrain dihedral specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far.
-
Restrain atoms %d %d %d missing on proc %d at step %ld
-
The 3 atoms in a restrain angle specified by the fix restrain +atom has moved too far. + +
Restrain atoms %d %d %d missing on proc %d at step %ld + +
The 3 atoms in a restrain angle specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far.
-
Restrain atoms %d %d missing on proc %d at step %ld
-
The 2 atoms in a restrain bond specified by the fix restrain +atom has moved too far. + +
Restrain atoms %d %d missing on proc %d at step %ld + +
The 2 atoms in a restrain bond specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far.
-
Reuse of compute ID
-
A compute ID cannot be used twice.
-
Reuse of dump ID
-
A dump ID cannot be used twice.
-
Reuse of molecule template ID
-
The template IDs must be unique.
-
Reuse of region ID
-
A region ID cannot be used twice.
-
Rigid body atoms %d %d missing on proc %d at step %ld
-
This means that an atom cannot find the atom that owns the rigid body +atom has moved too far. + +
Reuse of compute ID + +
A compute ID cannot be used twice. + +
Reuse of dump ID + +
A dump ID cannot be used twice. + +
Reuse of molecule template ID + +
The template IDs must be unique. + +
Reuse of region ID + +
A region ID cannot be used twice. + +
Rigid body atoms %d %d missing on proc %d at step %ld + +
This means that an atom cannot find the atom that owns the rigid body it is part of, or vice versa. The solution is to use the communicate cutoff command to insure ghost atoms are acquired from far enough away to encompass the max distance printed when the fix rigid/small command -was invoked.
-
Rigid body has degenerate moment of inertia
-
Fix poems will only work with bodies (collections of atoms) that have +was invoked. + +
Rigid body has degenerate moment of inertia + +
Fix poems will only work with bodies (collections of atoms) that have non-zero principal moments of inertia. This means they must be 3 or -more non-collinear atoms, even with joint atoms removed.
-
Rigid fix must come before NPT/NPH fix
-
NPT/NPH fix must be defined in input script after all rigid fixes, +more non-collinear atoms, even with joint atoms removed. + +
Rigid fix must come before NPT/NPH fix + +
NPT/NPH fix must be defined in input script after all rigid fixes, else the rigid fix contribution to the pressure virial is -incorrect.
-
Rmask function in equal-style variable formula
-
Rmask is per-atom operation.
-
Run command before simulation box is defined
-
The run command cannot be used before a read_data, read_restart, or -create_box command.
-
Run command start value is after start of run
-
Self-explanatory.
-
Run command stop value is before end of run
-
Self-explanatory.
-
Run_style command before simulation box is defined
-
The run_style command cannot be used before a read_data, -read_restart, or create_box command.
-
SRD bin size for fix srd differs from user request
-
Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning.
-
SRD bins for fix srd are not cubic enough
-
The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning.
-
SRD particle %d started inside big particle %d on step %ld bounce %d
-
See the inside keyword if you want this message to be an error vs -warning.
-
SRD particle %d started inside wall %d on step %ld bounce %d
-
See the inside keyword if you want this message to be an error vs -warning.
-
Same dimension twice in fix ave/spatial
-
Self-explanatory.
-
Sending partition in processors part command is already a sender
-
Cannot specify a partition to be a sender twice.
-
Set command before simulation box is defined
-
The set command cannot be used before a read_data, read_restart, -or create_box command.
-
Set command floating point vector does not exist
-
Self-explanatory.
-
Set command integer vector does not exist
-
Self-explanatory.
-
Set command with no atoms existing
-
No atoms are yet defined so the set command cannot be used.
-
Set region ID does not exist
-
Region ID specified in set command does not exist.
-
Shake angles have different bond types
-
All 3-atom angle-constrained SHAKE clusters specified by the fix shake +incorrect. + +
Rmask function in equal-style variable formula + +
Rmask is per-atom operation. + +
Run command before simulation box is defined + +
The run command cannot be used before a read_data, read_restart, or +create_box command. + +
Run command start value is after start of run + +
Self-explanatory. + +
Run command stop value is before end of run + +
Self-explanatory. + +
Run_style command before simulation box is defined + +
The run_style command cannot be used before a read_data, +read_restart, or create_box command. + +
SRD bin size for fix srd differs from user request + +
Fix SRD had to adjust the bin size to fit the simulation box. See the +cubic keyword if you want this message to be an error vs warning. + +
SRD bins for fix srd are not cubic enough + +
The bin shape is not within tolerance of cubic. See the cubic +keyword if you want this message to be an error vs warning. + +
SRD particle %d started inside big particle %d on step %ld bounce %d + +
See the inside keyword if you want this message to be an error vs +warning. + +
SRD particle %d started inside wall %d on step %ld bounce %d + +
See the inside keyword if you want this message to be an error vs +warning. + +
Same dimension twice in fix ave/spatial + +
Self-explanatory. + +
Sending partition in processors part command is already a sender + +
Cannot specify a partition to be a sender twice. + +
Set command before simulation box is defined + +
The set command cannot be used before a read_data, read_restart, +or create_box command. + +
Set command floating point vector does not exist + +
Self-explanatory. + +
Set command integer vector does not exist + +
Self-explanatory. + +
Set command with no atoms existing + +
No atoms are yet defined so the set command cannot be used. + +
Set region ID does not exist + +
Region ID specified in set command does not exist. + +
Shake angles have different bond types + +
All 3-atom angle-constrained SHAKE clusters specified by the fix shake command that are the same angle type, must also have the same bond -types for the 2 bonds in the angle.
-
Shake atoms %d %d %d %d missing on proc %d at step %ld
-
The 4 atoms in a single shake cluster specified by the fix shake +types for the 2 bonds in the angle. + +
Shake atoms %d %d %d %d missing on proc %d at step %ld + +
The 4 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far.
-
Shake atoms %d %d %d missing on proc %d at step %ld
-
The 3 atoms in a single shake cluster specified by the fix shake +an atom has moved too far. + +
Shake atoms %d %d %d missing on proc %d at step %ld + +
The 3 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far.
-
Shake atoms %d %d missing on proc %d at step %ld
-
The 2 atoms in a single shake cluster specified by the fix shake +an atom has moved too far. + +
Shake atoms %d %d missing on proc %d at step %ld + +
The 2 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far.
-
Shake cluster of more than 4 atoms
-
A single cluster specified by the fix shake command can have no more -than 4 atoms.
-
Shake clusters are connected
-
A single cluster specified by the fix shake command must have a single -central atom with up to 3 other atoms bonded to it.
-
Shake determinant = 0.0
-
The determinant of the matrix being solved for a single cluster -specified by the fix shake command is numerically invalid.
-
Shake fix must come before NPT/NPH fix
-
NPT fix must be defined in input script after SHAKE fix, else the -SHAKE fix contribution to the pressure virial is incorrect.
-
Shear history overflow, boost neigh_modify one
-
There are too many neighbors of a single atom. Use the neigh_modify +an atom has moved too far. + +
Shake cluster of more than 4 atoms + +
A single cluster specified by the fix shake command can have no more +than 4 atoms. + +
Shake clusters are connected + +
A single cluster specified by the fix shake command must have a single +central atom with up to 3 other atoms bonded to it. + +
Shake determinant = 0.0 + +
The determinant of the matrix being solved for a single cluster +specified by the fix shake command is numerically invalid. + +
Shake fix must come before NPT/NPH fix + +
NPT fix must be defined in input script after SHAKE fix, else the +SHAKE fix contribution to the pressure virial is incorrect. + +
Shear history overflow, boost neigh_modify one + +
There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size.
-
Small to big integers are not sized correctly
-
This error occurs whenthe sizes of smallint, imageint, tagint, bigint, +You may also want to boost the page size. + +
Small to big integers are not sized correctly + +
This error occurs whenthe sizes of smallint, imageint, tagint, bigint, as defined in src/lmptype.h are not what is expected. Contact -the developers if this occurs.
-
Smallint setting in lmptype.h is invalid
-
It has to be the size of an integer.
-
Smallint setting in lmptype.h is not compatible
-
Smallint stored in restart file is not consistent with LAMMPS version -you are running.
-
Special list size exceeded in fix bond/create
-
See the read_data command for info on setting the “extra special per -atom” header value to allow for additional special values to be -stored.
-
Specified processors != physical processors
-
The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on.
-
Specified target stress must be uniaxial or hydrostatic
-
Self-explanatory.
-
Sqrt of negative value in variable formula
-
Self-explanatory.
-
Substitution for illegal variable
-
Input script line contained a variable that could not be substituted -for.
-
Support for writing images in JPEG format not included
-
LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile.
-
Support for writing images in PNG format not included
-
LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile.
-
Support for writing movies not included
-
LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile
-
System in data file is too big
-
See the setting for bigint in the src/lmptype.h file.
-
System is not charge neutral, net charge = %g
-
The total charge on all atoms on the system is not 0.0, which -is not valid for the long-range Coulombic solvers.
-
TAD nsteps must be multiple of t_event
-
Self-explanatory.
-
TIP4P hydrogen has incorrect atom type
-
The TIP4P pairwise computation found an H atom whose type does not -agree with the specified H type.
-
TIP4P hydrogen is missing
-
The TIP4P pairwise computation failed to find the correct H atom -within a water molecule.
-
TMD target file did not list all group atoms
-
The target file for the fix tmd command did not list all atoms in the -fix group.
-
Tad command before simulation box is defined
-
Self-explanatory.
-
Tagint setting in lmptype.h is invalid
-
Tagint must be as large or larger than smallint.
-
Tagint setting in lmptype.h is not compatible
-
Format of tagint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h
-
Target pressure for fix rigid/nph cannot be < 0.0
-
Self-explanatory.
-
Target pressure for fix rigid/npt/small cannot be < 0.0
-
Self-explanatory.
-
Target temperature for fix nvt/npt/nph cannot be 0.0
-
Self-explanatory.
-
Target temperature for fix rigid/npt cannot be 0.0
-
Self-explanatory.
-
Target temperature for fix rigid/npt/small cannot be 0.0
-
Self-explanatory.
-
Target temperature for fix rigid/nvt cannot be 0.0
-
Self-explanatory.
-
Target temperature for fix rigid/nvt/small cannot be 0.0
-
Self-explanatory.
-
Temper command before simulation box is defined
-
The temper command cannot be used before a read_data, read_restart, or -create_box command.
-
Temperature ID for fix bond/swap does not exist
-
Self-explanatory.
-
Temperature ID for fix box/relax does not exist
-
Self-explanatory.
-
Temperature ID for fix nvt/npt does not exist
-
Self-explanatory.
-
Temperature ID for fix press/berendsen does not exist
-
Self-explanatory.
-
Temperature ID for fix rigid nvt/npt/nph does not exist
-
Self-explanatory.
-
Temperature ID for fix temp/berendsen does not exist
-
Self-explanatory.
-
Temperature ID for fix temp/csvr does not exist
-
Self-explanatory.
-
Temperature ID for fix temp/rescale does not exist
-
Self-explanatory.
-
Temperature control can not be used with fix nph
-
Self-explanatory.
-
Temperature control can not be used with fix nph/asphere
-
Self-explanatory.
-
Temperature control can not be used with fix nph/sphere
-
Self-explanatory.
-
Temperature control must be used with fix nphug
-
The temp keyword must be provided.
-
Temperature control must be used with fix npt
-
Self-explanatory.
-
Temperature control must be used with fix npt/asphere
-
Self-explanatory.
-
Temperature control must be used with fix npt/sphere
-
Self-explanatory.
-
Temperature control must be used with fix nvt
-
Self-explanatory.
-
Temperature control must be used with fix nvt/asphere
-
Self-explanatory.
-
Temperature control must be used with fix nvt/sllod
-
Self-explanatory.
-
Temperature control must be used with fix nvt/sphere
-
Self-explanatory.
-
Temperature control must not be used with fix nph/small
-
Self-explanatory.
-
Temperature for fix nvt/sllod does not have a bias
-
The specified compute must compute temperature with a bias.
-
Tempering could not find thermo_pe compute
-
This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command.
-
Tempering fix ID is not defined
-
The fix ID specified by the temper command does not exist.
-
Tempering temperature fix is not valid
-
The fix specified by the temper command is not one that controls -temperature (nvt or langevin).
-
Test_descriptor_string already allocated
-
This is an internal error. Contact the developers.
-
The package gpu command is required for gpu styles
-
Self-explanatory.
-
Thermo and fix not computed at compatible times
-
Fixes generate values on specific timesteps. The thermo output -does not match these timesteps.
-
Thermo compute array is accessed out-of-range
-
Self-explanatory.
-
Thermo compute does not compute array
-
Self-explanatory.
-
Thermo compute does not compute scalar
-
Self-explanatory.
-
Thermo compute does not compute vector
-
Self-explanatory.
-
Thermo compute vector is accessed out-of-range
-
Self-explanatory.
-
Thermo custom variable cannot be indexed
-
Self-explanatory.
-
Thermo custom variable is not equal-style variable
-
Only equal-style variables can be output with thermodynamics, not -atom-style variables.
-
Thermo every variable returned a bad timestep
-
The variable must return a timestep greater than the current timestep.
-
Thermo fix array is accessed out-of-range
-
Self-explanatory.
-
Thermo fix does not compute array
-
Self-explanatory.
-
Thermo fix does not compute scalar
-
Self-explanatory.
-
Thermo fix does not compute vector
-
Self-explanatory.
-
Thermo fix vector is accessed out-of-range
-
Self-explanatory.
-
Thermo keyword in variable requires thermo to use/init pe
-
You are using a thermo keyword in a variable that requires +the developers if this occurs. + +
Smallint setting in lmptype.h is invalid + +
It has to be the size of an integer. + +
Smallint setting in lmptype.h is not compatible + +
Smallint stored in restart file is not consistent with LAMMPS version +you are running. + +
Special list size exceeded in fix bond/create + +
See the read_data command for info on setting the "extra special per +atom" header value to allow for additional special values to be +stored. + +
Specified processors != physical processors + +
The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on. + +
Specified target stress must be uniaxial or hydrostatic + +
Self-explanatory. + +
Sqrt of negative value in variable formula + +
Self-explanatory. + +
Substitution for illegal variable + +
Input script line contained a variable that could not be substituted +for. + +
Support for writing images in JPEG format not included + +
LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile. + +
Support for writing images in PNG format not included + +
LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile. + +
Support for writing movies not included + +
LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile + +
System in data file is too big + +
See the setting for bigint in the src/lmptype.h file. + +
System is not charge neutral, net charge = %g + +
The total charge on all atoms on the system is not 0.0, which +is not valid for the long-range Coulombic solvers. + +
TAD nsteps must be multiple of t_event + +
Self-explanatory. + +
TIP4P hydrogen has incorrect atom type + +
The TIP4P pairwise computation found an H atom whose type does not +agree with the specified H type. + +
TIP4P hydrogen is missing + +
The TIP4P pairwise computation failed to find the correct H atom +within a water molecule. + +
TMD target file did not list all group atoms + +
The target file for the fix tmd command did not list all atoms in the +fix group. + +
Tad command before simulation box is defined + +
Self-explanatory. + +
Tagint setting in lmptype.h is invalid + +
Tagint must be as large or larger than smallint. + +
Tagint setting in lmptype.h is not compatible + +
Format of tagint stored in restart file is not consistent with LAMMPS +version you are running. See the settings in src/lmptype.h + +
Target pressure for fix rigid/nph cannot be < 0.0 + +
Self-explanatory. + +
Target pressure for fix rigid/npt/small cannot be < 0.0 + +
Self-explanatory. + +
Target temperature for fix nvt/npt/nph cannot be 0.0 + +
Self-explanatory. + +
Target temperature for fix rigid/npt cannot be 0.0 + +
Self-explanatory. + +
Target temperature for fix rigid/npt/small cannot be 0.0 + +
Self-explanatory. + +
Target temperature for fix rigid/nvt cannot be 0.0 + +
Self-explanatory. + +
Target temperature for fix rigid/nvt/small cannot be 0.0 + +
Self-explanatory. + +
Temper command before simulation box is defined + +
The temper command cannot be used before a read_data, read_restart, or +create_box command. + +
Temperature ID for fix bond/swap does not exist + +
Self-explanatory. + +
Temperature ID for fix box/relax does not exist + +
Self-explanatory. + +
Temperature ID for fix nvt/npt does not exist + +
Self-explanatory. + +
Temperature ID for fix press/berendsen does not exist + +
Self-explanatory. + +
Temperature ID for fix rigid nvt/npt/nph does not exist + +
Self-explanatory. + +
Temperature ID for fix temp/berendsen does not exist + +
Self-explanatory. + +
Temperature ID for fix temp/csvr does not exist + +
Self-explanatory. + +
Temperature ID for fix temp/rescale does not exist + +
Self-explanatory. + +
Temperature control can not be used with fix nph + +
Self-explanatory. + +
Temperature control can not be used with fix nph/asphere + +
Self-explanatory. + +
Temperature control can not be used with fix nph/sphere + +
Self-explanatory. + +
Temperature control must be used with fix nphug + +
The temp keyword must be provided. + +
Temperature control must be used with fix npt + +
Self-explanatory. + +
Temperature control must be used with fix npt/asphere + +
Self-explanatory. + +
Temperature control must be used with fix npt/sphere + +
Self-explanatory. + +
Temperature control must be used with fix nvt + +
Self-explanatory. + +
Temperature control must be used with fix nvt/asphere + +
Self-explanatory. + +
Temperature control must be used with fix nvt/sllod + +
Self-explanatory. + +
Temperature control must be used with fix nvt/sphere + +
Self-explanatory. + +
Temperature control must not be used with fix nph/small + +
Self-explanatory. + +
Temperature for fix nvt/sllod does not have a bias + +
The specified compute must compute temperature with a bias. + +
Tempering could not find thermo_pe compute + +
This compute is created by the thermo command. It must have been +explicitly deleted by a uncompute command. + +
Tempering fix ID is not defined + +
The fix ID specified by the temper command does not exist. + +
Tempering temperature fix is not valid + +
The fix specified by the temper command is not one that controls +temperature (nvt or langevin). + +
Test_descriptor_string already allocated + +
This is an internal error. Contact the developers. + +
The package gpu command is required for gpu styles + +
Self-explanatory. + +
Thermo and fix not computed at compatible times + +
Fixes generate values on specific timesteps. The thermo output +does not match these timesteps. + +
Thermo compute array is accessed out-of-range + +
Self-explanatory. + +
Thermo compute does not compute array + +
Self-explanatory. + +
Thermo compute does not compute scalar + +
Self-explanatory. + +
Thermo compute does not compute vector + +
Self-explanatory. + +
Thermo compute vector is accessed out-of-range + +
Self-explanatory. + +
Thermo custom variable cannot be indexed + +
Self-explanatory. + +
Thermo custom variable is not equal-style variable + +
Only equal-style variables can be output with thermodynamics, not +atom-style variables. + +
Thermo every variable returned a bad timestep + +
The variable must return a timestep greater than the current timestep. + +
Thermo fix array is accessed out-of-range + +
Self-explanatory. + +
Thermo fix does not compute array + +
Self-explanatory. + +
Thermo fix does not compute scalar + +
Self-explanatory. + +
Thermo fix does not compute vector + +
Self-explanatory. + +
Thermo fix vector is accessed out-of-range + +
Self-explanatory. + +
Thermo keyword in variable requires thermo to use/init pe + +
You are using a thermo keyword in a variable that requires potential energy to be calculated, but your thermo output -does not use it. Add it to your thermo output.
-
Thermo keyword in variable requires thermo to use/init press
-
You are using a thermo keyword in a variable that requires pressure to +does not use it. Add it to your thermo output. + +
Thermo keyword in variable requires thermo to use/init press + +
You are using a thermo keyword in a variable that requires pressure to be calculated, but your thermo output does not use it. Add it to your -thermo output.
-
Thermo keyword in variable requires thermo to use/init temp
-
You are using a thermo keyword in a variable that requires temperature +thermo output. + +
Thermo keyword in variable requires thermo to use/init temp + +
You are using a thermo keyword in a variable that requires temperature to be calculated, but your thermo output does not use it. Add it to -your thermo output.
-
Thermo style does not use press
-
Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity.
-
Thermo style does not use temp
-
Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity.
-
Thermo_modify every variable returned a bad timestep
-
The returned timestep is less than or equal to the current timestep.
-
Thermo_modify int format does not contain d character
-
Self-explanatory.
-
Thermo_modify pressure ID does not compute pressure
-
The specified compute ID does not compute pressure.
-
Thermo_modify temperature ID does not compute temperature
-
The specified compute ID does not compute temperature.
-
Thermo_style command before simulation box is defined
-
The thermo_style command cannot be used before a read_data, -read_restart, or create_box command.
-
This variable thermo keyword cannot be used between runs
-
Keywords that refer to time (such as cpu, elapsed) do not -make sense in between runs.
-
Threshhold for an atom property that isn’t allocated
-
A dump threshhold has been requested on a quantity that is -not defined by the atom style used in this simulation.
-
Timestep must be >= 0
-
Specified timestep is invalid.
-
Too big a problem to use velocity create loop all
-
The system size must fit in a 32-bit integer to use this option.
-
Too big a timestep
-
Specified timestep is too large.
-
Too big a timestep for dump dcd
-
The timestep must fit in a 32-bit integer to use this dump style.
-
Too big a timestep for dump xtc
-
The timestep must fit in a 32-bit integer to use this dump style.
-
Too few bits for lookup table
-
Table size specified via pair_modify command does not work with your -machine’s floating point representation.
-
Too many -pk arguments in command line
-
The string formed by concatenating the arguments is too long. Use a -package command in the input script instead.
-
Too many MSM grid levels
-
The max number of MSM grid levels is hardwired to 10.
-
Too many args in variable function
-
More args are used than any variable function allows.
-
Too many atom pairs for pair bop
-
The number of atomic pairs exceeds the expected number. Check your -atomic structure to ensure that it is realistic.
-
Too many atom sorting bins
-
This is likely due to an immense simulation box that has blown up -to a large size.
-
Too many atom triplets for pair bop
-
The number of three atom groups for angle determinations exceeds the +your thermo output. + +
Thermo style does not use press + +
Cannot use thermo_modify to set this parameter since the thermo_style +is not computing this quantity. + +
Thermo style does not use temp + +
Cannot use thermo_modify to set this parameter since the thermo_style +is not computing this quantity. + +
Thermo_modify every variable returned a bad timestep + +
The returned timestep is less than or equal to the current timestep. + +
Thermo_modify int format does not contain d character + +
Self-explanatory. + +
Thermo_modify pressure ID does not compute pressure + +
The specified compute ID does not compute pressure. + +
Thermo_modify temperature ID does not compute temperature + +
The specified compute ID does not compute temperature. + +
Thermo_style command before simulation box is defined + +
The thermo_style command cannot be used before a read_data, +read_restart, or create_box command. + +
This variable thermo keyword cannot be used between runs + +
Keywords that refer to time (such as cpu, elapsed) do not +make sense in between runs. + +
Threshhold for an atom property that isn't allocated + +
A dump threshhold has been requested on a quantity that is +not defined by the atom style used in this simulation. + +
Timestep must be >= 0 + +
Specified timestep is invalid. + +
Too big a problem to use velocity create loop all + +
The system size must fit in a 32-bit integer to use this option. + +
Too big a timestep + +
Specified timestep is too large. + +
Too big a timestep for dump dcd + +
The timestep must fit in a 32-bit integer to use this dump style. + +
Too big a timestep for dump xtc + +
The timestep must fit in a 32-bit integer to use this dump style. + +
Too few bits for lookup table + +
Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
Too many -pk arguments in command line + +
The string formed by concatenating the arguments is too long. Use a +package command in the input script instead. + +
Too many MSM grid levels + +
The max number of MSM grid levels is hardwired to 10. + +
Too many args in variable function + +
More args are used than any variable function allows. + +
Too many atom pairs for pair bop + +
The number of atomic pairs exceeds the expected number. Check your +atomic structure to ensure that it is realistic. + +
Too many atom sorting bins + +
This is likely due to an immense simulation box that has blown up +to a large size. + +
Too many atom triplets for pair bop + +
The number of three atom groups for angle determinations exceeds the expected number. Check your atomic structrure to ensure that it is -realistic.
-
Too many atoms for dump dcd
-
The system size must fit in a 32-bit integer to use this dump -style.
-
Too many atoms for dump xtc
-
The system size must fit in a 32-bit integer to use this dump -style.
-
Too many atoms to dump sort
-
Cannot sort when running with more than 2^31 atoms.
-
Too many exponent bits for lookup table
-
Table size specified via pair_modify command does not work with your -machine’s floating point representation.
-
Too many groups
-
The maximum number of atom groups (including the “all” group) is -given by MAX_GROUP in group.cpp and is 32.
-
Too many iterations
-
You must use a number of iterations that fit in a 32-bit integer -for minimization.
-
Too many lines in one body in data file - boost MAXBODY
-
MAXBODY is a setting at the top of the src/read_data.cpp file. -Set it larger and re-compile the code.
-
Too many local+ghost atoms for neighbor list
-
The number of nlocal + nghost atoms on a processor +realistic. + +
Too many atoms for dump dcd + +
The system size must fit in a 32-bit integer to use this dump +style. + +
Too many atoms for dump xtc + +
The system size must fit in a 32-bit integer to use this dump +style. + +
Too many atoms to dump sort + +
Cannot sort when running with more than 2^31 atoms. + +
Too many exponent bits for lookup table + +
Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
Too many groups + +
The maximum number of atom groups (including the "all" group) is +given by MAX_GROUP in group.cpp and is 32. + +
Too many iterations + +
You must use a number of iterations that fit in a 32-bit integer +for minimization. + +
Too many lines in one body in data file - boost MAXBODY + +
MAXBODY is a setting at the top of the src/read_data.cpp file. +Set it larger and re-compile the code. + +
Too many local+ghost atoms for neighbor list + +
The number of nlocal + nghost atoms on a processor is limited by the size of a 32-bit integer with 2 bits -removed for masking 1-2, 1-3, 1-4 neighbors.
-
Too many mantissa bits for lookup table
-
Table size specified via pair_modify command does not work with your -machine’s floating point representation.
-
Too many masses for fix shake
-
The fix shake command cannot list more masses than there are atom -types.
-
Too many molecules for fix poems
-
The limit is 2^31 = ~2 billion molecules.
-
Too many molecules for fix rigid
-
The limit is 2^31 = ~2 billion molecules.
-
Too many neighbor bins
-
This is likely due to an immense simulation box that has blown up -to a large size.
-
Too many timesteps
-
The cummulative timesteps must fit in a 64-bit integer.
-
Too many timesteps for NEB
-
You must use a number of timesteps that fit in a 32-bit integer -for NEB.
-
Too many total atoms
-
See the setting for bigint in the src/lmptype.h file.
-
Too many total bits for bitmapped lookup table
-
Table size specified via pair_modify command is too large. Note that -a value of N generates a 2^N size table.
-
Too much buffered per-proc info for dump
-
The size of the buffered string must fit in a 32-bit integer for a -dump.
-
Too much per-proc info for dump
-
Number of local atoms times number of columns must fit in a 32-bit -integer for dump.
-
Tree structure in joint connections
-
Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a tree structure.
-
Triclinic box skew is too large
-
The displacement in a skewed direction must be less than half the box +removed for masking 1-2, 1-3, 1-4 neighbors. + +
Too many mantissa bits for lookup table + +
Table size specified via pair_modify command does not work with your +machine's floating point representation. + +
Too many masses for fix shake + +
The fix shake command cannot list more masses than there are atom +types. + +
Too many molecules for fix poems + +
The limit is 2^31 = ~2 billion molecules. + +
Too many molecules for fix rigid + +
The limit is 2^31 = ~2 billion molecules. + +
Too many neighbor bins + +
This is likely due to an immense simulation box that has blown up +to a large size. + +
Too many timesteps + +
The cummulative timesteps must fit in a 64-bit integer. + +
Too many timesteps for NEB + +
You must use a number of timesteps that fit in a 32-bit integer +for NEB. + +
Too many total atoms + +
See the setting for bigint in the src/lmptype.h file. + +
Too many total bits for bitmapped lookup table + +
Table size specified via pair_modify command is too large. Note that +a value of N generates a 2^N size table. + +
Too much buffered per-proc info for dump + +
The size of the buffered string must fit in a 32-bit integer for a +dump. + +
Too much per-proc info for dump + +
Number of local atoms times number of columns must fit in a 32-bit +integer for dump. + +
Tree structure in joint connections + +
Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a tree structure. + +
Triclinic box skew is too large + +
The displacement in a skewed direction must be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. This constraint can be relaxed by using -the box tilt command.
-
Tried to convert a double to int, but input_double > INT_MAX
-
Self-explanatory.
-
Trying to build an occasional neighbor list before initialization completed
-
This is not allowed. Source code caller needs to be modified.
-
Two fix ave commands using same compute chunk/atom command in incompatible ways
-
They are both attempting to “lock” the chunk/atom command so that the +the box tilt command. + +
Tried to convert a double to int, but input_double > INT_MAX + +
Self-explanatory. + +
Trying to build an occasional neighbor list before initialization completed + +
This is not allowed. Source code caller needs to be modified. + +
Two fix ave commands using same compute chunk/atom command in incompatible ways + +
They are both attempting to "lock" the chunk/atom command so that the chunk assignments persist for some number of timesteps, but are doing -it in different ways.
-
Two groups cannot be the same in fix spring couple
-
Self-explanatory.
-
USER-CUDA mode requires CUDA variant of min style
-
CUDA mode is enabled, so the min style must include a cuda suffix.
-
USER-CUDA mode requires CUDA variant of run style
-
CUDA mode is enabled, so the run style must include a cuda suffix.
-
USER-CUDA package does not yet support comm_style tiled
-
Self-explanatory.
-
USER-CUDA package requires a cuda enabled atom_style
-
Self-explanatory.
-
Unable to initialize accelerator for use
-
There was a problem initializing an accelerator for the gpu package
-
Unbalanced quotes in input line
-
No matching end double quote was found following a leading double -quote.
-
Unexpected end of -reorder file
-
Self-explanatory.
-
Unexpected end of AngleCoeffs section
-
Read a blank line.
-
Unexpected end of BondCoeffs section
-
Read a blank line.
-
Unexpected end of DihedralCoeffs section
-
Read a blank line.
-
Unexpected end of ImproperCoeffs section
-
Read a blank line.
-
Unexpected end of PairCoeffs section
-
Read a blank line.
-
Unexpected end of custom file
-
Self-explanatory.
-
Unexpected end of data file
-
LAMMPS hit the end of the data file while attempting to read a -section. Something is wrong with the format of the data file.
-
Unexpected end of dump file
-
A read operation from the file failed.
-
Unexpected end of fix rigid file
-
A read operation from the file failed.
-
Unexpected end of fix rigid/small file
-
A read operation from the file failed.
-
Unexpected end of molecule file
-
Self-explanatory.
-
Unexpected end of neb file
-
A read operation from the file failed.
-
Units command after simulation box is defined
-
The units command cannot be used after a read_data, read_restart, or -create_box command.
-
Universe/uloop variable count < # of partitions
-
A universe or uloop style variable must specify a number of values >= to the -number of processor partitions.
-
Unknown angle style
-
The choice of angle style is unknown.
-
Unknown atom style
-
The choice of atom style is unknown.
-
Unknown body style
-
The choice of body style is unknown.
-
Unknown bond style
-
The choice of bond style is unknown.
-
Unknown command: %s
-
The command is not known to LAMMPS. Check the input script.
-
Unknown compute style
-
The choice of compute style is unknown.
-
Unknown dihedral style
-
The choice of dihedral style is unknown.
-
Unknown dump reader style
-
The choice of dump reader style via the format keyword is unknown.
-
Unknown dump style
-
The choice of dump style is unknown.
-
Unknown error in GPU library
-
Self-explanatory.
-
Unknown fix style
-
The choice of fix style is unknown.
-
Unknown identifier in data file: %s
-
A section of the data file cannot be read by LAMMPS.
-
Unknown improper style
-
The choice of improper style is unknown.
-
Unknown keyword in thermo_style custom command
-
One or more specified keywords are not recognized.
-
Unknown kspace style
-
The choice of kspace style is unknown.
-
Unknown pair style
-
The choice of pair style is unknown.
-
Unknown pair_modify hybrid sub-style
-
The choice of sub-style is unknown.
-
Unknown region style
-
The choice of region style is unknown.
-
Unknown section in molecule file
-
Self-explanatory.
-
Unknown table style in angle style table
-
Self-explanatory.
-
Unknown table style in bond style table
-
Self-explanatory.
-
Unknown table style in pair_style command
-
Style of table is invalid for use with pair_style table command.
-
Unknown unit_style
-
Self-explanatory. Check the input script or data file.
-
Unrecognized lattice type in MEAM file 1
-
The lattice type in an entry of the MEAM library file is not -valid.
-
Unrecognized lattice type in MEAM file 2
-
The lattice type in an entry of the MEAM parameter file is not -valid.
-
Unrecognized pair style in compute pair command
-
Self-explanatory.
-
Unrecognized virial argument in pair_style command
-
Only two options are supported: LAMMPSvirial and KIMvirial
-
Unsupported mixing rule in kspace_style ewald/disp
-
Only geometric mixing is supported.
-
Unsupported order in kspace_style ewald/disp
-
Only 1/r^6 dispersion or dipole terms are supported.
-
Unsupported order in kspace_style pppm/disp, pair_style %s
-
Only pair styles with 1/r and 1/r^6 dependence are currently supported.
-
Using fix nvt/sllod with inconsistent fix deform remap option
-
Fix nvt/sllod requires that deforming atoms have a velocity profile -provided by “remap v” as a fix deform option.
-
Using fix nvt/sllod with no fix deform defined
-
Self-explanatory.
-
Using fix srd with inconsistent fix deform remap option
-
When shearing the box in an SRD simulation, the remap v option for fix -deform needs to be used.
-
Using pair lubricate with inconsistent fix deform remap option
-
Must use remap v option with fix deform with this pair style.
-
Using pair lubricate/poly with inconsistent fix deform remap option
-
If fix deform is used, the remap v option is required.
-
Using suffix cuda without USER-CUDA package enabled
-
Self-explanatory.
-
Using suffix gpu without GPU package installed
-
Self-explanatory.
-
Using suffix intel without USER-INTEL package installed
-
Self-explanatory.
-
Using suffix kk without KOKKOS package enabled
-
Self-explanatory.
-
Using suffix omp without USER-OMP package installed
-
Self-explanatory.
-
Variable ID in variable formula does not exist
-
Self-explanatory.
-
Variable atom ID is too large
-
Specified ID is larger than the maximum allowed atom ID.
-
Variable evaluation before simulation box is defined
-
Cannot evaluate a compute or fix or atom-based value in a variable -before the simulation has been setup.
-
Variable evaluation in fix wall gave bad value
-
The returned value for epsilon or sigma < 0.0.
-
Variable evaluation in region gave bad value
-
Variable returned a radius < 0.0.
-
Variable for compute ti is invalid style
-
Self-explanatory.
-
Variable for create_atoms is invalid style
-
The variables must be equal-style variables.
-
Variable for dump every is invalid style
-
Only equal-style variables can be used.
-
Variable for dump image center is invalid style
-
Must be an equal-style variable.
-
Variable for dump image persp is invalid style
-
Must be an equal-style variable.
-
Variable for dump image phi is invalid style
-
Must be an equal-style variable.
-
Variable for dump image theta is invalid style
-
Must be an equal-style variable.
-
Variable for dump image zoom is invalid style
-
Must be an equal-style variable.
-
Variable for fix adapt is invalid style
-
Only equal-style variables can be used.
-
Variable for fix addforce is invalid style
-
Self-explanatory.
-
Variable for fix aveforce is invalid style
-
Only equal-style variables can be used.
-
Variable for fix deform is invalid style
-
The variable must be an equal-style variable.
-
Variable for fix efield is invalid style
-
The variable must be an equal- or atom-style variable.
-
Variable for fix gravity is invalid style
-
Only equal-style variables can be used.
-
Variable for fix heat is invalid style
-
Only equal-style or atom-style variables can be used.
-
Variable for fix indent is invalid style
-
Only equal-style variables can be used.
-
Variable for fix indent is not equal style
-
Only equal-style variables can be used.
-
Variable for fix langevin is invalid style
-
It must be an equal-style variable.
-
Variable for fix move is invalid style
-
Only equal-style variables can be used.
-
Variable for fix setforce is invalid style
-
Only equal-style variables can be used.
-
Variable for fix temp/berendsen is invalid style
-
Only equal-style variables can be used.
-
Variable for fix temp/csvr is invalid style
-
Only equal-style variables can be used.
-
Variable for fix temp/rescale is invalid style
-
Only equal-style variables can be used.
-
Variable for fix wall is invalid style
-
Only equal-style variables can be used.
-
Variable for fix wall/reflect is invalid style
-
Only equal-style variables can be used.
-
Variable for fix wall/srd is invalid style
-
Only equal-style variables can be used.
-
Variable for group dynamic is invalid style
-
The variable must be an atom-style variable.
-
Variable for group is invalid style
-
Only atom-style variables can be used.
-
Variable for region cylinder is invalid style
-
Only equal-style varaibles are allowed.
-
Variable for region is invalid style
-
Only equal-style variables can be used.
-
Variable for region is not equal style
-
Self-explanatory.
-
Variable for region sphere is invalid style
-
Only equal-style varaibles are allowed.
-
Variable for restart is invalid style
-
Only equal-style variables can be used.
-
Variable for set command is invalid style
-
Only atom-style variables can be used.
-
Variable for thermo every is invalid style
-
Only equal-style variables can be used.
-
Variable for velocity set is invalid style
-
Only atom-style variables can be used.
-
Variable for voronoi radius is not atom style
-
Self-explanatory.
-
Variable formula compute array is accessed out-of-range
-
Self-explanatory.
-
Variable formula compute vector is accessed out-of-range
-
Self-explanatory.
-
Variable formula fix array is accessed out-of-range
-
Self-explanatory.
-
Variable formula fix vector is accessed out-of-range
-
Self-explanatory.
-
Variable has circular dependency
-
A circular dependency is when variable “a” in used by variable “b” and -variable “b” is also used by varaible “a”. Circular dependencies with -longer chains of dependence are also not allowed.
-
Variable name between brackets must be alphanumeric or underscore characters
-
Self-explanatory.
-
Variable name for compute chunk/atom does not exist
-
Self-explanatory.
-
Variable name for compute reduce does not exist
-
Self-explanatory.
-
Variable name for compute ti does not exist
-
Self-explanatory.
-
Variable name for create_atoms does not exist
-
Self-explanatory.
-
Variable name for dump every does not exist
-
Self-explanatory.
-
Variable name for dump image center does not exist
-
Self-explanatory.
-
Variable name for dump image persp does not exist
-
Self-explanatory.
-
Variable name for dump image phi does not exist
-
Self-explanatory.
-
Variable name for dump image theta does not exist
-
Self-explanatory.
-
Variable name for dump image zoom does not exist
-
Self-explanatory.
-
Variable name for fix adapt does not exist
-
Self-explanatory.
-
Variable name for fix addforce does not exist
-
Self-explanatory.
-
Variable name for fix ave/atom does not exist
-
Self-explanatory.
-
Variable name for fix ave/chunk does not exist
-
Self-explanatory.
-
Variable name for fix ave/correlate does not exist
-
Self-explanatory.
-
Variable name for fix ave/histo does not exist
-
Self-explanatory.
-
Variable name for fix ave/spatial does not exist
-
Self-explanatory.
-
Variable name for fix ave/time does not exist
-
Self-explanatory.
-
Variable name for fix aveforce does not exist
-
Self-explanatory.
-
Variable name for fix deform does not exist
-
Self-explantory.
-
Variable name for fix efield does not exist
-
Self-explanatory.
-
Variable name for fix gravity does not exist
-
Self-explanatory.
-
Variable name for fix heat does not exist
-
Self-explanatory.
-
Variable name for fix indent does not exist
-
Self-explanatory.
-
Variable name for fix langevin does not exist
-
Self-explanatory.
-
Variable name for fix move does not exist
-
Self-explanatory.
-
Variable name for fix setforce does not exist
-
Self-explanatory.
-
Variable name for fix store/state does not exist
-
Self-explanatory.
-
Variable name for fix temp/berendsen does not exist
-
Self-explanatory.
-
Variable name for fix temp/csvr does not exist
-
Self-explanatory.
-
Variable name for fix temp/rescale does not exist
-
Self-explanatory.
-
Variable name for fix vector does not exist
-
Self-explanatory.
-
Variable name for fix wall does not exist
-
Self-explanatory.
-
Variable name for fix wall/reflect does not exist
-
Self-explanatory.
-
Variable name for fix wall/srd does not exist
-
Self-explanatory.
-
Variable name for group does not exist
-
Self-explanatory.
-
Variable name for group dynamic does not exist
-
Self-explanatory.
-
Variable name for region cylinder does not exist
-
Self-explanatory.
-
Variable name for region does not exist
-
Self-explanatory.
-
Variable name for region sphere does not exist
-
Self-explanatory.
-
Variable name for restart does not exist
-
Self-explanatory.
-
Variable name for set command does not exist
-
Self-explanatory.
-
Variable name for thermo every does not exist
-
Self-explanatory.
-
Variable name for velocity set does not exist
-
Self-explanatory.
-
Variable name for voronoi radius does not exist
-
Self-explanatory.
-
Variable name must be alphanumeric or underscore characters
-
Self-explanatory.
-
Variable uses atom property that isn’t allocated
-
Self-explanatory.
-
Velocity command before simulation box is defined
-
The velocity command cannot be used before a read_data, read_restart, -or create_box command.
-
Velocity command with no atoms existing
-
A velocity command has been used, but no atoms yet exist.
-
Velocity ramp in z for a 2d problem
-
Self-explanatory.
-
Velocity rigid used with non-rigid fix-ID
-
Self-explanatory.
-
Velocity temperature ID does calculate a velocity bias
-
The specified compute must compute a bias for temperature.
-
Velocity temperature ID does not compute temperature
-
The compute ID given to the velocity command must compute -temperature.
-
Verlet/split can only currently be used with comm_style brick
-
This is a current restriction in LAMMPS.
-
Verlet/split does not yet support TIP4P
-
This is a current limitation.
-
Verlet/split requires 2 partitions
-
See the -partition command-line switch.
-
Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim
-
This is controlled by the processors command.
-
Verlet/split requires Rspace partition size be multiple of Kspace partition size
-
This is so there is an equal number of Rspace processors for every -Kspace processor.
-
Virial was not tallied on needed timestep
-
You are using a thermo keyword that requires potentials to -have tallied the virial, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
-
Voro++ error: narea and neigh have a different size
-
This error is returned by the Voro++ library.
-
Wall defined twice in fix wall command
-
Self-explanatory.
-
Wall defined twice in fix wall/reflect command
-
Self-explanatory.
-
Wall defined twice in fix wall/srd command
-
Self-explanatory.
-
Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut
-
This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
-
Water H epsilon must be 0.0 for pair style lj/cut/tip4p/long
-
This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
-
Water H epsilon must be 0.0 for pair style lj/long/tip4p/long
-
This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
-
World variable count doesn’t match # of partitions
-
A world-style variable must specify a number of values equal to the -number of processor partitions.
-
Write_data command before simulation box is defined
-
Self-explanatory.
-
Write_restart command before simulation box is defined
-
The write_restart command cannot be used before a read_data, -read_restart, or create_box command.
-
Writing to MPI-IO filename when MPIIO package is not installed
-
Self-explanatory.
-
Zero length rotation vector with displace_atoms
-
Self-explanatory.
-
Zero length rotation vector with fix move
-
Self-explanatory.
-
Zero-length lattice orient vector
-
Self-explanatory.
-
-
-
-

12.5. Warnings:¶

-
-
Adjusting Coulombic cutoff for MSM, new cutoff = %g
-
The adjust/cutoff command is turned on and the Coulombic cutoff has been -adjusted to match the user-specified accuracy.
-
Angle atoms missing at step %ld
-
One or more of 3 atoms needed to compute a particular angle are +it in different ways. + +
Two groups cannot be the same in fix spring couple + +
Self-explanatory. + +
USER-CUDA mode requires CUDA variant of min style + +
CUDA mode is enabled, so the min style must include a cuda suffix. + +
USER-CUDA mode requires CUDA variant of run style + +
CUDA mode is enabled, so the run style must include a cuda suffix. + +
USER-CUDA package does not yet support comm_style tiled + +
Self-explanatory. + +
USER-CUDA package requires a cuda enabled atom_style + +
Self-explanatory. + +
Unable to initialize accelerator for use + +
There was a problem initializing an accelerator for the gpu package + +
Unbalanced quotes in input line + +
No matching end double quote was found following a leading double +quote. + +
Unexpected end of -reorder file + +
Self-explanatory. + +
Unexpected end of AngleCoeffs section + +
Read a blank line. + +
Unexpected end of BondCoeffs section + +
Read a blank line. + +
Unexpected end of DihedralCoeffs section + +
Read a blank line. + +
Unexpected end of ImproperCoeffs section + +
Read a blank line. + +
Unexpected end of PairCoeffs section + +
Read a blank line. + +
Unexpected end of custom file + +
Self-explanatory. + +
Unexpected end of data file + +
LAMMPS hit the end of the data file while attempting to read a +section. Something is wrong with the format of the data file. + +
Unexpected end of dump file + +
A read operation from the file failed. + +
Unexpected end of fix rigid file + +
A read operation from the file failed. + +
Unexpected end of fix rigid/small file + +
A read operation from the file failed. + +
Unexpected end of molecule file + +
Self-explanatory. + +
Unexpected end of neb file + +
A read operation from the file failed. + +
Units command after simulation box is defined + +
The units command cannot be used after a read_data, read_restart, or +create_box command. + +
Universe/uloop variable count < # of partitions + +
A universe or uloop style variable must specify a number of values >= to the +number of processor partitions. + +
Unknown angle style + +
The choice of angle style is unknown. + +
Unknown atom style + +
The choice of atom style is unknown. + +
Unknown body style + +
The choice of body style is unknown. + +
Unknown bond style + +
The choice of bond style is unknown. + +
Unknown command: %s + +
The command is not known to LAMMPS. Check the input script. + +
Unknown compute style + +
The choice of compute style is unknown. + +
Unknown dihedral style + +
The choice of dihedral style is unknown. + +
Unknown dump reader style + +
The choice of dump reader style via the format keyword is unknown. + +
Unknown dump style + +
The choice of dump style is unknown. + +
Unknown error in GPU library + +
Self-explanatory. + +
Unknown fix style + +
The choice of fix style is unknown. + +
Unknown identifier in data file: %s + +
A section of the data file cannot be read by LAMMPS. + +
Unknown improper style + +
The choice of improper style is unknown. + +
Unknown keyword in thermo_style custom command + +
One or more specified keywords are not recognized. + +
Unknown kspace style + +
The choice of kspace style is unknown. + +
Unknown pair style + +
The choice of pair style is unknown. + +
Unknown pair_modify hybrid sub-style + +
The choice of sub-style is unknown. + +
Unknown region style + +
The choice of region style is unknown. + +
Unknown section in molecule file + +
Self-explanatory. + +
Unknown table style in angle style table + +
Self-explanatory. + +
Unknown table style in bond style table + +
Self-explanatory. + +
Unknown table style in pair_style command + +
Style of table is invalid for use with pair_style table command. + +
Unknown unit_style + +
Self-explanatory. Check the input script or data file. + +
Unrecognized lattice type in MEAM file 1 + +
The lattice type in an entry of the MEAM library file is not +valid. + +
Unrecognized lattice type in MEAM file 2 + +
The lattice type in an entry of the MEAM parameter file is not +valid. + +
Unrecognized pair style in compute pair command + +
Self-explanatory. + +
Unrecognized virial argument in pair_style command + +
Only two options are supported: LAMMPSvirial and KIMvirial + +
Unsupported mixing rule in kspace_style ewald/disp + +
Only geometric mixing is supported. + +
Unsupported order in kspace_style ewald/disp + +
Only 1/r^6 dispersion or dipole terms are supported. + +
Unsupported order in kspace_style pppm/disp, pair_style %s + +
Only pair styles with 1/r and 1/r^6 dependence are currently supported. + +
Using fix nvt/sllod with inconsistent fix deform remap option + +
Fix nvt/sllod requires that deforming atoms have a velocity profile +provided by "remap v" as a fix deform option. + +
Using fix nvt/sllod with no fix deform defined + +
Self-explanatory. + +
Using fix srd with inconsistent fix deform remap option + +
When shearing the box in an SRD simulation, the remap v option for fix +deform needs to be used. + +
Using pair lubricate with inconsistent fix deform remap option + +
Must use remap v option with fix deform with this pair style. + +
Using pair lubricate/poly with inconsistent fix deform remap option + +
If fix deform is used, the remap v option is required. + +
Using suffix cuda without USER-CUDA package enabled + +
Self-explanatory. + +
Using suffix gpu without GPU package installed + +
Self-explanatory. + +
Using suffix intel without USER-INTEL package installed + +
Self-explanatory. + +
Using suffix kk without KOKKOS package enabled + +
Self-explanatory. + +
Using suffix omp without USER-OMP package installed + +
Self-explanatory. + +
Variable ID in variable formula does not exist + +
Self-explanatory. + +
Variable atom ID is too large + +
Specified ID is larger than the maximum allowed atom ID. + +
Variable evaluation before simulation box is defined + +
Cannot evaluate a compute or fix or atom-based value in a variable +before the simulation has been setup. + +
Variable evaluation in fix wall gave bad value + +
The returned value for epsilon or sigma < 0.0. + +
Variable evaluation in region gave bad value + +
Variable returned a radius < 0.0. + +
Variable for compute ti is invalid style + +
Self-explanatory. + +
Variable for create_atoms is invalid style + +
The variables must be equal-style variables. + +
Variable for dump every is invalid style + +
Only equal-style variables can be used. + +
Variable for dump image center is invalid style + +
Must be an equal-style variable. + +
Variable for dump image persp is invalid style + +
Must be an equal-style variable. + +
Variable for dump image phi is invalid style + +
Must be an equal-style variable. + +
Variable for dump image theta is invalid style + +
Must be an equal-style variable. + +
Variable for dump image zoom is invalid style + +
Must be an equal-style variable. + +
Variable for fix adapt is invalid style + +
Only equal-style variables can be used. + +
Variable for fix addforce is invalid style + +
Self-explanatory. + +
Variable for fix aveforce is invalid style + +
Only equal-style variables can be used. + +
Variable for fix deform is invalid style + +
The variable must be an equal-style variable. + +
Variable for fix efield is invalid style + +
The variable must be an equal- or atom-style variable. + +
Variable for fix gravity is invalid style + +
Only equal-style variables can be used. + +
Variable for fix heat is invalid style + +
Only equal-style or atom-style variables can be used. + +
Variable for fix indent is invalid style + +
Only equal-style variables can be used. + +
Variable for fix indent is not equal style + +
Only equal-style variables can be used. + +
Variable for fix langevin is invalid style + +
It must be an equal-style variable. + +
Variable for fix move is invalid style + +
Only equal-style variables can be used. + +
Variable for fix setforce is invalid style + +
Only equal-style variables can be used. + +
Variable for fix temp/berendsen is invalid style + +
Only equal-style variables can be used. + +
Variable for fix temp/csvr is invalid style + +
Only equal-style variables can be used. + +
Variable for fix temp/rescale is invalid style + +
Only equal-style variables can be used. + +
Variable for fix wall is invalid style + +
Only equal-style variables can be used. + +
Variable for fix wall/reflect is invalid style + +
Only equal-style variables can be used. + +
Variable for fix wall/srd is invalid style + +
Only equal-style variables can be used. + +
Variable for group dynamic is invalid style + +
The variable must be an atom-style variable. + +
Variable for group is invalid style + +
Only atom-style variables can be used. + +
Variable for region cylinder is invalid style + +
Only equal-style varaibles are allowed. + +
Variable for region is invalid style + +
Only equal-style variables can be used. + +
Variable for region is not equal style + +
Self-explanatory. + +
Variable for region sphere is invalid style + +
Only equal-style varaibles are allowed. + +
Variable for restart is invalid style + +
Only equal-style variables can be used. + +
Variable for set command is invalid style + +
Only atom-style variables can be used. + +
Variable for thermo every is invalid style + +
Only equal-style variables can be used. + +
Variable for velocity set is invalid style + +
Only atom-style variables can be used. + +
Variable for voronoi radius is not atom style + +
Self-explanatory. + +
Variable formula compute array is accessed out-of-range + +
Self-explanatory. + +
Variable formula compute vector is accessed out-of-range + +
Self-explanatory. + +
Variable formula fix array is accessed out-of-range + +
Self-explanatory. + +
Variable formula fix vector is accessed out-of-range + +
Self-explanatory. + +
Variable has circular dependency + +
A circular dependency is when variable "a" in used by variable "b" and +variable "b" is also used by varaible "a". Circular dependencies with +longer chains of dependence are also not allowed. + +
Variable name between brackets must be alphanumeric or underscore characters + +
Self-explanatory. + +
Variable name for compute chunk/atom does not exist + +
Self-explanatory. + +
Variable name for compute reduce does not exist + +
Self-explanatory. + +
Variable name for compute ti does not exist + +
Self-explanatory. + +
Variable name for create_atoms does not exist + +
Self-explanatory. + +
Variable name for dump every does not exist + +
Self-explanatory. + +
Variable name for dump image center does not exist + +
Self-explanatory. + +
Variable name for dump image persp does not exist + +
Self-explanatory. + +
Variable name for dump image phi does not exist + +
Self-explanatory. + +
Variable name for dump image theta does not exist + +
Self-explanatory. + +
Variable name for dump image zoom does not exist + +
Self-explanatory. + +
Variable name for fix adapt does not exist + +
Self-explanatory. + +
Variable name for fix addforce does not exist + +
Self-explanatory. + +
Variable name for fix ave/atom does not exist + +
Self-explanatory. + +
Variable name for fix ave/chunk does not exist + +
Self-explanatory. + +
Variable name for fix ave/correlate does not exist + +
Self-explanatory. + +
Variable name for fix ave/histo does not exist + +
Self-explanatory. + +
Variable name for fix ave/spatial does not exist + +
Self-explanatory. + +
Variable name for fix ave/time does not exist + +
Self-explanatory. + +
Variable name for fix aveforce does not exist + +
Self-explanatory. + +
Variable name for fix deform does not exist + +
Self-explantory. + +
Variable name for fix efield does not exist + +
Self-explanatory. + +
Variable name for fix gravity does not exist + +
Self-explanatory. + +
Variable name for fix heat does not exist + +
Self-explanatory. + +
Variable name for fix indent does not exist + +
Self-explanatory. + +
Variable name for fix langevin does not exist + +
Self-explanatory. + +
Variable name for fix move does not exist + +
Self-explanatory. + +
Variable name for fix setforce does not exist + +
Self-explanatory. + +
Variable name for fix store/state does not exist + +
Self-explanatory. + +
Variable name for fix temp/berendsen does not exist + +
Self-explanatory. + +
Variable name for fix temp/csvr does not exist + +
Self-explanatory. + +
Variable name for fix temp/rescale does not exist + +
Self-explanatory. + +
Variable name for fix vector does not exist + +
Self-explanatory. + +
Variable name for fix wall does not exist + +
Self-explanatory. + +
Variable name for fix wall/reflect does not exist + +
Self-explanatory. + +
Variable name for fix wall/srd does not exist + +
Self-explanatory. + +
Variable name for group does not exist + +
Self-explanatory. + +
Variable name for group dynamic does not exist + +
Self-explanatory. + +
Variable name for region cylinder does not exist + +
Self-explanatory. + +
Variable name for region does not exist + +
Self-explanatory. + +
Variable name for region sphere does not exist + +
Self-explanatory. + +
Variable name for restart does not exist + +
Self-explanatory. + +
Variable name for set command does not exist + +
Self-explanatory. + +
Variable name for thermo every does not exist + +
Self-explanatory. + +
Variable name for velocity set does not exist + +
Self-explanatory. + +
Variable name for voronoi radius does not exist + +
Self-explanatory. + +
Variable name must be alphanumeric or underscore characters + +
Self-explanatory. + +
Variable uses atom property that isn't allocated + +
Self-explanatory. + +
Velocity command before simulation box is defined + +
The velocity command cannot be used before a read_data, read_restart, +or create_box command. + +
Velocity command with no atoms existing + +
A velocity command has been used, but no atoms yet exist. + +
Velocity ramp in z for a 2d problem + +
Self-explanatory. + +
Velocity rigid used with non-rigid fix-ID + +
Self-explanatory. + +
Velocity temperature ID does calculate a velocity bias + +
The specified compute must compute a bias for temperature. + +
Velocity temperature ID does not compute temperature + +
The compute ID given to the velocity command must compute +temperature. + +
Verlet/split can only currently be used with comm_style brick + +
This is a current restriction in LAMMPS. + +
Verlet/split does not yet support TIP4P + +
This is a current limitation. + +
Verlet/split requires 2 partitions + +
See the -partition command-line switch. + +
Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim + +
This is controlled by the processors command. + +
Verlet/split requires Rspace partition size be multiple of Kspace partition size + +
This is so there is an equal number of Rspace processors for every +Kspace processor. + +
Virial was not tallied on needed timestep + +
You are using a thermo keyword that requires potentials to +have tallied the virial, but they didn't on this timestep. See the +variable doc page for ideas on how to make this work. + +
Voro++ error: narea and neigh have a different size + +
This error is returned by the Voro++ library. + +
Wall defined twice in fix wall command + +
Self-explanatory. + +
Wall defined twice in fix wall/reflect command + +
Self-explanatory. + +
Wall defined twice in fix wall/srd command + +
Self-explanatory. + +
Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut + +
This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons. + +
Water H epsilon must be 0.0 for pair style lj/cut/tip4p/long + +
This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons. + +
Water H epsilon must be 0.0 for pair style lj/long/tip4p/long + +
This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons. + +
World variable count doesn't match # of partitions + +
A world-style variable must specify a number of values equal to the +number of processor partitions. + +
Write_data command before simulation box is defined + +
Self-explanatory. + +
Write_restart command before simulation box is defined + +
The write_restart command cannot be used before a read_data, +read_restart, or create_box command. + +
Writing to MPI-IO filename when MPIIO package is not installed + +
Self-explanatory. + +
Zero length rotation vector with displace_atoms + +
Self-explanatory. + +
Zero length rotation vector with fix move + +
Self-explanatory. + +
Zero-length lattice orient vector + +
Self-explanatory. + + +
+

Warnings: +

+
+ +
Adjusting Coulombic cutoff for MSM, new cutoff = %g + +
The adjust/cutoff command is turned on and the Coulombic cutoff has been +adjusted to match the user-specified accuracy. + +
Angle atoms missing at step %ld + +
One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away.
-
Angle style in data file differs from currently defined angle style
-
Self-explanatory.
-
Atom style in data file differs from currently defined atom style
-
Self-explanatory.
-
Bond atom missing in box size check
-
The 2nd atoms needed to compute a particular bond is missing on this +too far away. + +
Angle style in data file differs from currently defined angle style + +
Self-explanatory. + +
Atom style in data file differs from currently defined atom style + +
Self-explanatory. + +
Bond atom missing in box size check + +
The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
-
Bond atom missing in image check
-
The 2nd atom in a particular bond is missing on this processor. +short or the bond has blown apart and an atom is too far away. + +
Bond atom missing in image check + +
The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away.
-
Bond atoms missing at step %ld
-
The 2nd atom needed to compute a particular bond is missing on this +bond has blown apart and an atom is too far away. + +
Bond atoms missing at step %ld + +
The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
-
Bond style in data file differs from currently defined bond style
-
Self-explanatory.
-
Bond/angle/dihedral extent > half of periodic box length
-
This is a restriction because LAMMPS can be confused about which image +short or the bond has blown apart and an atom is too far away. + +
Bond style in data file differs from currently defined bond style + +
Self-explanatory. + +
Bond/angle/dihedral extent > half of periodic box length + +
This is a restriction because LAMMPS can be confused about which image of an atom in the bonded interaction is the correct one to use. -“Extent” in this context means the maximum end-to-end length of the +"Extent" in this context means the maximum end-to-end length of the bond/angle/dihedral. LAMMPS computes this by taking the maximum bond length, multiplying by the number of bonds in the interaction (e.g. 3 -for a dihedral) and adding a small amount of stretch.
-
Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero
-
Self-explantory.
-
Cannot count rigid body degrees-of-freedom before bodies are fully initialized
-
This means the temperature associated with the rigid bodies may be -incorrect on this timestep.
-
Cannot count rigid body degrees-of-freedom before bodies are initialized
-
This means the temperature associated with the rigid bodies may be -incorrect on this timestep.
-
Cannot include log terms without 1/r terms; setting flagHI to 1
-
Self-explanatory.
-
Cannot include log terms without 1/r terms; setting flagHI to 1.
-
Self-explanatory.
-
Charges are set, but coulombic solver is not used
-
Self-explanatory.
-
Charges did not converge at step %ld: %lg
-
Self-explanatory.
-
Communication cutoff is too small for SNAP micro load balancing, increased to %lf
-
Self-explanatory.
-
Compute cna/atom cutoff may be too large to find ghost atom neighbors
-
The neighbor cutoff used may not encompass enough ghost atoms -to perform this operation correctly.
-
Computing temperature of portions of rigid bodies
-
The group defined by the temperature compute does not encompass all +for a dihedral) and adding a small amount of stretch. + +
Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero + +
Self-explantory. + +
Cannot count rigid body degrees-of-freedom before bodies are fully initialized + +
This means the temperature associated with the rigid bodies may be +incorrect on this timestep. + +
Cannot count rigid body degrees-of-freedom before bodies are initialized + +
This means the temperature associated with the rigid bodies may be +incorrect on this timestep. + +
Cannot include log terms without 1/r terms; setting flagHI to 1 + +
Self-explanatory. + +
Cannot include log terms without 1/r terms; setting flagHI to 1. + +
Self-explanatory. + +
Charges are set, but coulombic solver is not used + +
Self-explanatory. + +
Charges did not converge at step %ld: %lg + +
Self-explanatory. + +
Communication cutoff is too small for SNAP micro load balancing, increased to %lf + +
Self-explanatory. + +
Compute cna/atom cutoff may be too large to find ghost atom neighbors + +
The neighbor cutoff used may not encompass enough ghost atoms +to perform this operation correctly. + +
Computing temperature of portions of rigid bodies + +
The group defined by the temperature compute does not encompass all the atoms in one or more rigid bodies, so the change in degrees-of-freedom for the atoms in those partial rigid bodies will -not be accounted for.
-
Create_bonds max distance > minimum neighbor cutoff
-
This means atom pairs for some atom types may not be in the neighbor -list and thus no bond can be created between them.
-
Delete_atoms cutoff > minimum neighbor cutoff
-
This means atom pairs for some atom types may not be in the neighbor -list and thus an atom in that pair cannot be deleted.
-
Dihedral atoms missing at step %ld
-
One or more of 4 atoms needed to compute a particular dihedral are +not be accounted for. + +
Create_bonds max distance > minimum neighbor cutoff + +
This means atom pairs for some atom types may not be in the neighbor +list and thus no bond can be created between them. + +
Delete_atoms cutoff > minimum neighbor cutoff + +
This means atom pairs for some atom types may not be in the neighbor +list and thus an atom in that pair cannot be deleted. + +
Dihedral atoms missing at step %ld + +
One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
-
Dihedral problem
-
Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
-
Dihedral problem: %d %ld %d %d %d %d
-
Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
-
Dihedral style in data file differs from currently defined dihedral style
-
Self-explanatory.
-
Dump dcd/xtc timestamp may be wrong with fix dt/reset
-
If the fix changes the timestep, the dump dcd file will not -reflect the change.
-
Estimated error in splitting of dispersion coeffs is %g
-
Error is greater than 0.0001 percent.
-
Ewald/disp Newton solver failed, using old method to estimate g_ewald
-
Self-explanatory. Choosing a different cutoff value may help.
-
FENE bond too long
-
A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
-
FENE bond too long: %ld %d %d %g
-
A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
-
FENE bond too long: %ld %g
-
A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
-
Fix SRD walls overlap but fix srd overlap not set
-
You likely want to set this in your input script.
-
Fix bond/swap will ignore defined angles
-
See the doc page for fix bond/swap for more info on this -restriction.
-
Fix evaporate may delete atom with non-zero molecule ID
-
This is probably an error, since you should not delete only one atom -of a molecule.
-
Fix gcmc using full_energy option
-
Fix gcmc has automatically turned on the full_energy option since it +too far away. + +
Dihedral problem + +
Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. + +
Dihedral problem: %d %ld %d %d %d %d + +
Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. + +
Dihedral style in data file differs from currently defined dihedral style + +
Self-explanatory. + +
Dump dcd/xtc timestamp may be wrong with fix dt/reset + +
If the fix changes the timestep, the dump dcd file will not +reflect the change. + +
Estimated error in splitting of dispersion coeffs is %g + +
Error is greater than 0.0001 percent. + +
Ewald/disp Newton solver failed, using old method to estimate g_ewald + +
Self-explanatory. Choosing a different cutoff value may help. + +
FENE bond too long + +
A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. + +
FENE bond too long: %ld %d %d %g + +
A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. + +
FENE bond too long: %ld %g + +
A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. + +
Fix SRD walls overlap but fix srd overlap not set + +
You likely want to set this in your input script. + +
Fix bond/swap will ignore defined angles + +
See the doc page for fix bond/swap for more info on this +restriction. + +
Fix evaporate may delete atom with non-zero molecule ID + +
This is probably an error, since you should not delete only one atom +of a molecule. + +
Fix gcmc using full_energy option + +
Fix gcmc has automatically turned on the full_energy option since it is required for systems like the one specified by the user. User input included one or more of the following: kspace, triclinic, a hybrid -pair style, an eam pair style, or no “single” function for the pair -style.
-
Fix move does not update angular momentum
-
Atoms store this quantity, but fix move does not (yet) update it.
-
Fix move does not update quaternions
-
Atoms store this quantity, but fix move does not (yet) update it.
-
Fix qeq CG convergence failed (%g) after %d iterations at %ld step
-
Self-explanatory.
-
Fix qeq has non-zero lower Taper radius cutoff
-
Absolute value must be <= 0.01.
-
Fix qeq has very low Taper radius cutoff
-
Value should typically be >= 5.0.
-
Fix qeq/dynamic tolerance may be too small for damped dynamics
-
Self-explanatory.
-
Fix rattle should come after all other integration fixes
-
This fix is designed to work after all other integration fixes change +pair style, an eam pair style, or no "single" function for the pair +style. + +
Fix move does not update angular momentum + +
Atoms store this quantity, but fix move does not (yet) update it. + +
Fix move does not update quaternions + +
Atoms store this quantity, but fix move does not (yet) update it. + +
Fix qeq CG convergence failed (%g) after %d iterations at %ld step + +
Self-explanatory. + +
Fix qeq has non-zero lower Taper radius cutoff + +
Absolute value must be <= 0.01. + +
Fix qeq has very low Taper radius cutoff + +
Value should typically be >= 5.0. + +
Fix qeq/dynamic tolerance may be too small for damped dynamics + +
Self-explanatory. + +
Fix rattle should come after all other integration fixes + +
This fix is designed to work after all other integration fixes change atom positions. Thus it should be the last integration fix specified. If not, it will not satisfy the desired constraints as well as it -otherwise would.
-
Fix recenter should come after all other integration fixes
-
Other fixes may change the position of the center-of-mass, so -fix recenter should come last.
-
Fix srd SRD moves may trigger frequent reneighboring
-
This is because the SRD particles may move long distances.
-
Fix srd grid size > 1/4 of big particle diameter
-
This may cause accuracy problems.
-
Fix srd particle moved outside valid domain
-
This may indicate a problem with your simulation parameters.
-
Fix srd particles may move > big particle diameter
-
This may cause accuracy problems.
-
Fix srd viscosity < 0.0 due to low SRD density
-
This may cause accuracy problems.
-
Fix thermal/conductivity comes before fix ave/spatial
-
The order of these 2 fixes in your input script is such that fix +otherwise would. + +
Fix recenter should come after all other integration fixes + +
Other fixes may change the position of the center-of-mass, so +fix recenter should come last. + +
Fix srd SRD moves may trigger frequent reneighboring + +
This is because the SRD particles may move long distances. + +
Fix srd grid size > 1/4 of big particle diameter + +
This may cause accuracy problems. + +
Fix srd particle moved outside valid domain + +
This may indicate a problem with your simulation parameters. + +
Fix srd particles may move > big particle diameter + +
This may cause accuracy problems. + +
Fix srd viscosity < 0.0 due to low SRD density + +
This may cause accuracy problems. + +
Fix thermal/conductivity comes before fix ave/spatial + +
The order of these 2 fixes in your input script is such that fix thermal/conductivity comes first. If you are using fix ave/spatial to measure the temperature profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order of the 2 fixes -typically helps.
-
Fix viscosity comes before fix ave/spatial
-
The order of these 2 fixes in your input script is such that +typically helps. + +
Fix viscosity comes before fix ave/spatial + +
The order of these 2 fixes in your input script is such that fix viscosity comes first. If you are using fix ave/spatial to measure the velocity profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order -of the 2 fixes typically helps.
-
Fixes cannot send data in Kokkos communication, switching to classic communication
-
This is current restriction with Kokkos.
-
For better accuracy use ‘pair_modify table 0’
-
The user-specified force accuracy cannot be achieved unless the table -feature is disabled by using ‘pair_modify table 0’.
-
Geometric mixing assumed for 1/r^6 coefficients
-
Self-explanatory.
-
Group for fix_modify temp != fix group
-
The fix_modify command is specifying a temperature computation that +of the 2 fixes typically helps. + +
Fixes cannot send data in Kokkos communication, switching to classic communication + +
This is current restriction with Kokkos. + +
For better accuracy use 'pair_modify table 0' + +
The user-specified force accuracy cannot be achieved unless the table +feature is disabled by using 'pair_modify table 0'. + +
Geometric mixing assumed for 1/r^6 coefficients + +
Self-explanatory. + +
Group for fix_modify temp != fix group + +
The fix_modify command is specifying a temperature computation that computes a temperature on a different group of atoms than the fix -itself operates on. This is probably not what you want to do.
-
H matrix size has been exceeded: m_fill=%d H.m=%dn
-
This is the size of the matrix.
-
Improper atoms missing at step %ld
-
One or more of 4 atoms needed to compute a particular improper are +itself operates on. This is probably not what you want to do. + +
H matrix size has been exceeded: m_fill=%d H.m=%d\n + +
This is the size of the matrix. + +
Improper atoms missing at step %ld + +
One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away.
-
Improper problem: %d %ld %d %d %d %d
-
Conformation of the 4 listed improper atoms is extreme; you may want -to check your simulation geometry.
-
Improper style in data file differs from currently defined improper style
-
Self-explanatory.
-
Inconsistent image flags
-
The image flags for a pair on bonded atoms appear to be inconsistent. +too far away. + +
Improper problem: %d %ld %d %d %d %d + +
Conformation of the 4 listed improper atoms is extreme; you may want +to check your simulation geometry. + +
Improper style in data file differs from currently defined improper style + +
Self-explanatory. + +
Inconsistent image flags + +
The image flags for a pair on bonded atoms appear to be inconsistent. Inconsistent means that when the coordinates of the two atoms are unwrapped using the image flags, the two atoms are far apart. Specifically they are further apart than half a periodic box length. @@ -5986,393 +10636,533 @@ flags for the 2 atoms in a bond that straddles a periodic boundary. They should be different by 1 in that case. This is a warning because inconsistent image flags will not cause problems for dynamics or most LAMMPS simulations. However they can cause problems when such atoms -are used with the fix rigid or replicate commands.
-
KIM Model does not provide `energy’; Potential energy will be zero
-
Self-explanatory.
-
KIM Model does not provide `forces’; Forces will be zero
-
Self-explanatory.
-
KIM Model does not provide `particleEnergy’; energy per atom will be zero
-
Self-explanatory.
-
KIM Model does not provide `particleVirial’; virial per atom will be zero
-
Self-explanatory.
-
Kspace_modify slab param < 2.0 may cause unphysical behavior
-
The kspace_modify slab parameter should be larger to insure periodic -grids padded with empty space do not overlap.
-
Less insertions than requested
-
The fix pour command was unsuccessful at finding open space -for as many particles as it tried to insert.
-
Library error in lammps_gather_atoms
-
This library function cannot be used if atom IDs are not defined -or are not consecutively numbered.
-
Library error in lammps_scatter_atoms
-
This library function cannot be used if atom IDs are not defined or +are used with the fix rigid or replicate commands. + +
KIM Model does not provide `energy'; Potential energy will be zero + +
Self-explanatory. + +
KIM Model does not provide `forces'; Forces will be zero + +
Self-explanatory. + +
KIM Model does not provide `particleEnergy'; energy per atom will be zero + +
Self-explanatory. + +
KIM Model does not provide `particleVirial'; virial per atom will be zero + +
Self-explanatory. + +
Kspace_modify slab param < 2.0 may cause unphysical behavior + +
The kspace_modify slab parameter should be larger to insure periodic +grids padded with empty space do not overlap. + +
Less insertions than requested + +
The fix pour command was unsuccessful at finding open space +for as many particles as it tried to insert. + +
Library error in lammps_gather_atoms + +
This library function cannot be used if atom IDs are not defined +or are not consecutively numbered. + +
Library error in lammps_scatter_atoms + +
This library function cannot be used if atom IDs are not defined or are not consecutively numbered, or if no atom map is defined. See the -atom_modify command for details about atom maps.
-
Lost atoms via change_box: original %ld current %ld
-
The command options you have used caused atoms to be lost.
-
Lost atoms via displace_atoms: original %ld current %ld
-
The command options you have used caused atoms to be lost.
-
Lost atoms: original %ld current %ld
-
Lost atoms are checked for each time thermo output is done. See the +atom_modify command for details about atom maps. + +
Lost atoms via change_box: original %ld current %ld + +
The command options you have used caused atoms to be lost. + +
Lost atoms via displace_atoms: original %ld current %ld + +
The command options you have used caused atoms to be lost. + +
Lost atoms: original %ld current %ld + +
Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor’s sub-domain away before -reneighboring.
-
MSM mesh too small, increasing to 2 points in each direction
-
Self-explanatory.
-
Mismatch between velocity and compute groups
-
The temperature computation used by the velocity command will not be -on the same group of atoms that velocities are being set for.
-
Mixing forced for lj coefficients
-
Self-explanatory.
-
Molecule attributes do not match system attributes
-
An attribute is specified (e.g. diameter, charge) that is -not defined for the specified atom style.
-
Molecule has bond topology but no special bond settings
-
This means the bonded atoms will not be excluded in pair-wise -interactions.
-
Molecule template for create_atoms has multiple molecules
-
The create_atoms command will only create molecules of a single type, -i.e. the first molecule in the template.
-
Molecule template for fix gcmc has multiple molecules
-
The fix gcmc command will only create molecules of a single type, -i.e. the first molecule in the template.
-
Molecule template for fix shake has multiple molecules
-
The fix shake command will only recoginze molecules of a single -type, i.e. the first molecule in the template.
-
More than one compute centro/atom
-
It is not efficient to use compute centro/atom more than once.
-
More than one compute cluster/atom
-
It is not efficient to use compute cluster/atom more than once.
-
More than one compute cna/atom defined
-
It is not efficient to use compute cna/atom more than once.
-
More than one compute contact/atom
-
It is not efficient to use compute contact/atom more than once.
-
More than one compute coord/atom
-
It is not efficient to use compute coord/atom more than once.
-
More than one compute damage/atom
-
It is not efficient to use compute ke/atom more than once.
-
More than one compute dilatation/atom
-
Self-explanatory.
-
More than one compute erotate/sphere/atom
-
It is not efficient to use compute erorate/sphere/atom more than once.
-
More than one compute ke/atom
-
It is not efficient to use compute ke/atom more than once.
-
More than one compute plasticity/atom
-
Self-explanatory.
-
More than one compute sna/atom
-
Self-explanatory.
-
More than one compute snad/atom
-
Self-explanatory.
-
More than one compute snav/atom
-
Self-explanatory.
-
More than one fix poems
-
It is not efficient to use fix poems more than once.
-
More than one fix rigid
-
It is not efficient to use fix rigid more than once.
-
Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies
-
This is because excluding specific pair interactions also excludes +box, or moved futher than one processor's sub-domain away before +reneighboring. + +
MSM mesh too small, increasing to 2 points in each direction + +
Self-explanatory. + +
Mismatch between velocity and compute groups + +
The temperature computation used by the velocity command will not be +on the same group of atoms that velocities are being set for. + +
Mixing forced for lj coefficients + +
Self-explanatory. + +
Molecule attributes do not match system attributes + +
An attribute is specified (e.g. diameter, charge) that is +not defined for the specified atom style. + +
Molecule has bond topology but no special bond settings + +
This means the bonded atoms will not be excluded in pair-wise +interactions. + +
Molecule template for create_atoms has multiple molecules + +
The create_atoms command will only create molecules of a single type, +i.e. the first molecule in the template. + +
Molecule template for fix gcmc has multiple molecules + +
The fix gcmc command will only create molecules of a single type, +i.e. the first molecule in the template. + +
Molecule template for fix shake has multiple molecules + +
The fix shake command will only recoginze molecules of a single +type, i.e. the first molecule in the template. + +
More than one compute centro/atom + +
It is not efficient to use compute centro/atom more than once. + +
More than one compute cluster/atom + +
It is not efficient to use compute cluster/atom more than once. + +
More than one compute cna/atom defined + +
It is not efficient to use compute cna/atom more than once. + +
More than one compute contact/atom + +
It is not efficient to use compute contact/atom more than once. + +
More than one compute coord/atom + +
It is not efficient to use compute coord/atom more than once. + +
More than one compute damage/atom + +
It is not efficient to use compute ke/atom more than once. + +
More than one compute dilatation/atom + +
Self-explanatory. + +
More than one compute erotate/sphere/atom + +
It is not efficient to use compute erorate/sphere/atom more than once. + +
More than one compute ke/atom + +
It is not efficient to use compute ke/atom more than once. + +
More than one compute plasticity/atom + +
Self-explanatory. + +
More than one compute sna/atom + +
Self-explanatory. + +
More than one compute snad/atom + +
Self-explanatory. + +
More than one compute snav/atom + +
Self-explanatory. + +
More than one fix poems + +
It is not efficient to use fix poems more than once. + +
More than one fix rigid + +
It is not efficient to use fix rigid more than once. + +
Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies + +
This is because excluding specific pair interactions also excludes them from long-range interactions which may not be the desired effect. The special_bonds command handles this consistently by insuring excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated consistently by both the short-range pair style and the long-range solver. This is not done for exclusions of charged atom pairs via the -neigh_modify exclude command.
-
New thermo_style command, previous thermo_modify settings will be lost
-
If a thermo_style command is used after a thermo_modify command, the +neigh_modify exclude command. + +
New thermo_style command, previous thermo_modify settings will be lost + +
If a thermo_style command is used after a thermo_modify command, the settings changed by the thermo_modify command will be reset to their default values. This is because the thermo_modify commmand acts on the currently defined thermo style, and a thermo_style command creates -a new style.
-
No Kspace calculation with verlet/split
-
The 2nd partition performs a kspace calculation so the kspace_style -command must be used.
-
No automatic unit conversion to XTC file format conventions possible for units lj
-
This means no scaling will be performed.
-
No fixes defined, atoms won’t move
-
If you are not using a fix like nve, nvt, npt then atom velocities and -coordinates will not be updated during timestepping.
-
No joints between rigid bodies, use fix rigid instead
-
The bodies defined by fix poems are not connected by joints. POEMS +a new style. + +
No Kspace calculation with verlet/split + +
The 2nd partition performs a kspace calculation so the kspace_style +command must be used. + +
No automatic unit conversion to XTC file format conventions possible for units lj + +
This means no scaling will be performed. + +
No fixes defined, atoms won't move + +
If you are not using a fix like nve, nvt, npt then atom velocities and +coordinates will not be updated during timestepping. + +
No joints between rigid bodies, use fix rigid instead + +
The bodies defined by fix poems are not connected by joints. POEMS will integrate the body motion, but it would be more efficient to use -fix rigid.
-
Not using real units with pair reax
-
This is most likely an error, unless you have created your own ReaxFF -parameter file in a different set of units.
-
Number of MSM mesh points changed to be a multiple of 2
-
MSM requires that the number of grid points in each direction be a multiple +fix rigid. + +
Not using real units with pair reax + +
This is most likely an error, unless you have created your own ReaxFF +parameter file in a different set of units. + +
Number of MSM mesh points changed to be a multiple of 2 + +
MSM requires that the number of grid points in each direction be a multiple of two and the number of grid points in one or more directions have been -adjusted to meet this requirement.
-
OMP_NUM_THREADS environment is not set.
-
This environment variable must be set appropriately to use the -USER-OMP pacakge.
-
One or more atoms are time integrated more than once
-
This is probably an error since you typically do not want to +adjusted to meet this requirement. + +
OMP_NUM_THREADS environment is not set. + +
This environment variable must be set appropriately to use the +USER-OMP pacakge. + +
One or more atoms are time integrated more than once + +
This is probably an error since you typically do not want to advance the positions or velocities of an atom more than once -per timestep.
-
One or more chunks do not contain all atoms in molecule
-
This may not be what you intended.
-
One or more dynamic groups may not be updated at correct point in timestep
-
If there are other fixes that act immediately after the intitial stage +per timestep. + +
One or more chunks do not contain all atoms in molecule + +
This may not be what you intended. + +
One or more dynamic groups may not be updated at correct point in timestep + +
If there are other fixes that act immediately after the intitial stage of time integration within a timestep (i.e. after atoms move), then the command that sets up the dynamic group should appear after those fixes. This will insure that dynamic group assignements are made -after all atoms have moved.
-
One or more respa levels compute no forces
-
This is computationally inefficient.
-
Pair COMB charge %.10f with force %.10f hit max barrier
-
Something is possibly wrong with your model.
-
Pair COMB charge %.10f with force %.10f hit min barrier
-
Something is possibly wrong with your model.
-
Pair brownian needs newton pair on for momentum conservation
-
Self-explanatory.
-
Pair dpd needs newton pair on for momentum conservation
-
Self-explanatory.
-
Pair dsmc: num_of_collisions > number_of_A
-
Collision model in DSMC is breaking down.
-
Pair dsmc: num_of_collisions > number_of_B
-
Collision model in DSMC is breaking down.
-
Pair style in data file differs from currently defined pair style
-
Self-explanatory.
-
Particle deposition was unsuccessful
-
The fix deposit command was not able to insert as many atoms as +after all atoms have moved. + +
One or more respa levels compute no forces + +
This is computationally inefficient. + +
Pair COMB charge %.10f with force %.10f hit max barrier + +
Something is possibly wrong with your model. + +
Pair COMB charge %.10f with force %.10f hit min barrier + +
Something is possibly wrong with your model. + +
Pair brownian needs newton pair on for momentum conservation + +
Self-explanatory. + +
Pair dpd needs newton pair on for momentum conservation + +
Self-explanatory. + +
Pair dsmc: num_of_collisions > number_of_A + +
Collision model in DSMC is breaking down. + +
Pair dsmc: num_of_collisions > number_of_B + +
Collision model in DSMC is breaking down. + +
Pair style in data file differs from currently defined pair style + +
Self-explanatory. + +
Particle deposition was unsuccessful + +
The fix deposit command was not able to insert as many atoms as needed. The requested volume fraction may be too high, or other atoms -may be in the insertion region.
-
Proc sub-domain size < neighbor skin, could lead to lost atoms
-
The decomposition of the physical domain (likely due to load -balancing) has led to a processor’s sub-domain being smaller than the +may be in the insertion region. + +
Proc sub-domain size < neighbor skin, could lead to lost atoms + +
The decomposition of the physical domain (likely due to load +balancing) has led to a processor's sub-domain being smaller than the neighbor skin in one or more dimensions. Since reneighboring is triggered by atoms moving the skin distance, this may lead to lost -atoms, if an atom moves all the way across a neighboring processor’s -sub-domain before reneighboring is triggered.
-
Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
-
This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
-
Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor
-
This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
-
Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor
-
This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
-
Replacing a fix, but new group != old group
-
The ID and style of a fix match for a fix you are changing with a fix +atoms, if an atom moves all the way across a neighboring processor's +sub-domain before reneighboring is triggered. + +
Reducing PPPM order b/c stencil extends beyond nearest neighbor processor + +
This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. + +
Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor + +
This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. + +
Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor + +
This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. + +
Replacing a fix, but new group != old group + +
The ID and style of a fix match for a fix you are changing with a fix command, but the new group you are specifying does not match the old -group.
-
Replicating in a non-periodic dimension
-
The parameters for a replicate command will cause a non-periodic -dimension to be replicated; this may cause unwanted behavior.
-
Resetting reneighboring criteria during PRD
-
A PRD simulation requires that neigh_modify settings be delay = 0, +group. + +
Replicating in a non-periodic dimension + +
The parameters for a replicate command will cause a non-periodic +dimension to be replicated; this may cause unwanted behavior. + +
Resetting reneighboring criteria during PRD + +
A PRD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values -after the PRD simulation.
-
Resetting reneighboring criteria during TAD
-
A TAD simulation requires that neigh_modify settings be delay = 0, +after the PRD simulation. + +
Resetting reneighboring criteria during TAD + +
A TAD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values -after the PRD simulation.
-
Resetting reneighboring criteria during minimization
-
Minimization requires that neigh_modify settings be delay = 0, every = +after the PRD simulation. + +
Resetting reneighboring criteria during minimization + +
Minimization requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the -minimization.
-
Restart file used different # of processors
-
The restart file was written out by a LAMMPS simulation running on a +minimization. + +
Restart file used different # of processors + +
The restart file was written out by a LAMMPS simulation running on a different number of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors.
-
Restart file used different 3d processor grid
-
The restart file was written out by a LAMMPS simulation running on a +you ran on the same # of processors. + +
Restart file used different 3d processor grid + +
The restart file was written out by a LAMMPS simulation running on a different 3d grid of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors.
-
Restart file used different boundary settings, using restart file values
-
Your input script cannot change these restart file settings.
-
Restart file used different newton bond setting, using restart file value
-
The restart file value will override the setting in the input script.
-
Restart file used different newton pair setting, using input script value
-
The input script value will override the setting in the restart file.
-
Restrain problem: %d %ld %d %d %d %d
-
Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
-
Running PRD with only one replica
-
This is allowed, but you will get no parallel speed-up.
-
SRD bin shifting turned on due to small lamda
-
This is done to try to preserve accuracy.
-
SRD bin size for fix srd differs from user request
-
Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning.
-
SRD bins for fix srd are not cubic enough
-
The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning.
-
SRD particle %d started inside big particle %d on step %ld bounce %d
-
See the inside keyword if you want this message to be an error vs -warning.
-
SRD particle %d started inside wall %d on step %ld bounce %d
-
See the inside keyword if you want this message to be an error vs -warning.
-
Shake determinant < 0.0
-
The determinant of the quadratic equation being solved for a single +you ran on the same # of processors. + +
Restart file used different boundary settings, using restart file values + +
Your input script cannot change these restart file settings. + +
Restart file used different newton bond setting, using restart file value + +
The restart file value will override the setting in the input script. + +
Restart file used different newton pair setting, using input script value + +
The input script value will override the setting in the restart file. + +
Restrain problem: %d %ld %d %d %d %d + +
Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. + +
Running PRD with only one replica + +
This is allowed, but you will get no parallel speed-up. + +
SRD bin shifting turned on due to small lamda + +
This is done to try to preserve accuracy. + +
SRD bin size for fix srd differs from user request + +
Fix SRD had to adjust the bin size to fit the simulation box. See the +cubic keyword if you want this message to be an error vs warning. + +
SRD bins for fix srd are not cubic enough + +
The bin shape is not within tolerance of cubic. See the cubic +keyword if you want this message to be an error vs warning. + +
SRD particle %d started inside big particle %d on step %ld bounce %d + +
See the inside keyword if you want this message to be an error vs +warning. + +
SRD particle %d started inside wall %d on step %ld bounce %d + +
See the inside keyword if you want this message to be an error vs +warning. + +
Shake determinant < 0.0 + +
The determinant of the quadratic equation being solved for a single cluster specified by the fix shake command is numerically suspect. LAMMPS -will set it to 0.0 and continue.
-
Should not allow rigid bodies to bounce off relecting walls
-
LAMMPS allows this, but their dynamics are not computed correctly.
-
Should not use fix nve/limit with fix shake
-
This will lead to invalid constraint forces in the SHAKE computation.
-
Simulations might be very slow because of large number of structure factors
-
Self-explanatory.
-
Slab correction not needed for MSM
-
Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM.
-
System is not charge neutral, net charge = %g
-
The total charge on all atoms on the system is not 0.0, which -is not valid for the long-range Coulombic solvers.
-
Table inner cutoff >= outer cutoff
-
You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted.
-
Temperature for MSST is not for group all
-
User-assigned temperature to MSST fix does not compute temperature for +will set it to 0.0 and continue. + +
Should not allow rigid bodies to bounce off relecting walls + +
LAMMPS allows this, but their dynamics are not computed correctly. + +
Should not use fix nve/limit with fix shake + +
This will lead to invalid constraint forces in the SHAKE computation. + +
Simulations might be very slow because of large number of structure factors + +
Self-explanatory. + +
Slab correction not needed for MSM + +
Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM. + +
System is not charge neutral, net charge = %g + +
The total charge on all atoms on the system is not 0.0, which +is not valid for the long-range Coulombic solvers. + +
Table inner cutoff >= outer cutoff + +
You specified an inner cutoff for a Coulombic table that is longer +than the global cutoff. Probably not what you wanted. + +
Temperature for MSST is not for group all + +
User-assigned temperature to MSST fix does not compute temperature for all atoms. Since MSST computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by MSST could be inaccurate.
-
Temperature for NPT is not for group all
-
User-assigned temperature to NPT fix does not compute temperature for +Thus the pressure used by MSST could be inaccurate. + +
Temperature for NPT is not for group all + +
User-assigned temperature to NPT fix does not compute temperature for all atoms. Since NPT computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by NPT could be inaccurate.
-
Temperature for fix modify is not for group all
-
The temperature compute is being used with a pressure calculation -which does operate on group all, so this may be inconsistent.
-
Temperature for thermo pressure is not for group all
-
User-assigned temperature to thermo via the thermo_modify command does +Thus the pressure used by NPT could be inaccurate. + +
Temperature for fix modify is not for group all + +
The temperature compute is being used with a pressure calculation +which does operate on group all, so this may be inconsistent. + +
Temperature for thermo pressure is not for group all + +
User-assigned temperature to thermo via the thermo_modify command does not compute temperature for all atoms. Since thermo computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure printed by thermo -could be inaccurate.
-
The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands – fix ave/spatial will be removed in the summer of 2015
-
Self-explanatory.
-
The minimizer does not re-orient dipoles when using fix efield
-
This means that only the atom coordinates will be minimized, -not the orientation of the dipoles.
-
Too many common neighbors in CNA %d times
-
More than the maximum # of neighbors was found multiple times. This -was unexpected.
-
Too many inner timesteps in fix ttm
-
Self-explanatory.
-
Too many neighbors in CNA for %d atoms
-
More than the maximum # of neighbors was found multiple times. This -was unexpected.
-
Triclinic box skew is large
-
The displacement in a skewed direction is normally required to be less +could be inaccurate. + +
The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands -- fix ave/spatial will be removed in the summer of 2015 + +
Self-explanatory. + +
The minimizer does not re-orient dipoles when using fix efield + +
This means that only the atom coordinates will be minimized, +not the orientation of the dipoles. + +
Too many common neighbors in CNA %d times + +
More than the maximum # of neighbors was found multiple times. This +was unexpected. + +
Too many inner timesteps in fix ttm + +
Self-explanatory. + +
Too many neighbors in CNA for %d atoms + +
More than the maximum # of neighbors was found multiple times. This +was unexpected. + +
Triclinic box skew is large + +
The displacement in a skewed direction is normally required to be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. You have relaxed the constraint using the box tilt command, but the warning means that a -LAMMPS simulation may be inefficient as a result.
-
Use special bonds = 0,1,1 with bond style fene
-
Most FENE models need this setting for the special_bonds command.
-
Use special bonds = 0,1,1 with bond style fene/expand
-
Most FENE models need this setting for the special_bonds command.
-
Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions
-
This is likely not what you want to do. The exclusion settings will +LAMMPS simulation may be inefficient as a result. + +
Use special bonds = 0,1,1 with bond style fene + +
Most FENE models need this setting for the special_bonds command. + +
Use special bonds = 0,1,1 with bond style fene/expand + +
Most FENE models need this setting for the special_bonds command. + +
Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions + +
This is likely not what you want to do. The exclusion settings will eliminate neighbors in the neighbor list, which the manybody potential -needs to calculated its terms correctly.
-
Using compute temp/deform with inconsistent fix deform remap option
-
Fix nvt/sllod assumes deforming atoms have a velocity profile provided -by “remap v” or “remap none” as a fix deform option.
-
Using compute temp/deform with no fix deform defined
-
This is probably an error, since it makes little sense to use -compute temp/deform in this case.
-
Using fix srd with box deformation but no SRD thermostat
-
The deformation will heat the SRD particles so this can -be dangerous.
-
Using kspace solver on system with no charge
-
Self-explanatory.
-
Using largest cut-off for lj/long/dipole/long long long
-
Self-explanatory.
-
Using largest cutoff for buck/long/coul/long
-
Self-exlanatory.
-
Using largest cutoff for lj/long/coul/long
-
Self-explanatory.
-
Using largest cutoff for pair_style lj/long/tip4p/long
-
Self-explanatory.
-
Using package gpu without any pair style defined
-
Self-explanatory.
-
Using pair tail corrections with nonperiodic system
-
This is probably a bogus thing to do, since tail corrections are +needs to calculated its terms correctly. + +
Using compute temp/deform with inconsistent fix deform remap option + +
Fix nvt/sllod assumes deforming atoms have a velocity profile provided +by "remap v" or "remap none" as a fix deform option. + +
Using compute temp/deform with no fix deform defined + +
This is probably an error, since it makes little sense to use +compute temp/deform in this case. + +
Using fix srd with box deformation but no SRD thermostat + +
The deformation will heat the SRD particles so this can +be dangerous. + +
Using kspace solver on system with no charge + +
Self-explanatory. + +
Using largest cut-off for lj/long/dipole/long long long + +
Self-explanatory. + +
Using largest cutoff for buck/long/coul/long + +
Self-exlanatory. + +
Using largest cutoff for lj/long/coul/long + +
Self-explanatory. + +
Using largest cutoff for pair_style lj/long/tip4p/long + +
Self-explanatory. + +
Using package gpu without any pair style defined + +
Self-explanatory. + +
Using pair tail corrections with nonperiodic system + +
This is probably a bogus thing to do, since tail corrections are computed by integrating the density of a periodic system out to -infinity.
-
-
-
+infinity. -
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff --git a/doc/Section_example.html b/doc/Section_example.html index ee24428325..bd55e602f8 100644 --- a/doc/Section_example.html +++ b/doc/Section_example.html @@ -1,143 +1,17 @@ + +
Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
- - - - - - - - - 7. Example problems — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

7. Example problems¶

-

The LAMMPS distribution includes an examples sub-directory with + + +


+ +

7. Example problems +

+

The LAMMPS distribution includes an examples sub-directory with several sample problems. Each problem is in a sub-directory of its own. Most are 2d models so that they run quickly, requiring at most a couple of minutes to run on a desktop machine. Each problem has an @@ -146,252 +20,107 @@ input script (in.*) and produces a log file (log.*) and dump file coordinates as additional input. A few sample log file outputs on different machines and different numbers of processors are included in the directories to compare your answers to. E.g. a log file like -log.crack.foo.P means it ran on P processors of machine “foo”.

-

For examples that use input data files, many of them were produced by -Pizza.py or setup tools described in the -Additional Tools section of the LAMMPS -documentation and provided with the LAMMPS distribution.

-

If you uncomment the dump command in the input script, a +log.crack.foo.P means it ran on P processors of machine "foo". +

+

For examples that use input data files, many of them were produced by +Pizza.py or setup tools described in the +Additional Tools section of the LAMMPS +documentation and provided with the LAMMPS distribution. +

+

If you uncomment the dump command in the input script, a text dump file will be produced, which can be animated by various -visualization programs. It can -also be animated using the xmovie tool described in the Additional Tools section of the LAMMPS documentation.

-

If you uncomment the dump image command in the input +visualization programs. It can +also be animated using the xmovie tool described in the Additional +Tools section of the LAMMPS documentation. +

+

If you uncomment the dump image command in the input script, and assuming you have built LAMMPS with a JPG library, JPG snapshot images will be produced when the simulation runs. They can be quickly post-processed into a movie using commands described on the -dump image doc page.

-

Animations of many of these examples can be viewed on the Movies -section of the LAMMPS WWW Site.

-

These are the sample problems in the examples sub-directories:

- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
balancedynamic load balancing, 2d system
bodybody particles, 2d system
colloidbig colloid particles in a small particle solvent, 2d system
combmodels using the COMB potential
crackcrack propagation in a 2d solid
cudause of the USER-CUDA package for GPU acceleration
dipolepoint dipolar particles, 2d system
dreidingmethanol via Dreiding FF
eimNaCl using the EIM potential
ellipseellipsoidal particles in spherical solvent, 2d system
flowCouette and Poiseuille flow in a 2d channel
frictionfrictional contact of spherical asperities between 2d surfaces
gpuuse of the GPU package for GPU acceleration
hugoniostatHugoniostat shock dynamics
indentspherical indenter into a 2d solid
inteluse of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor
kimuse of potentials in Knowledge Base for Interatomic Models (KIM)
lineline segment particles in 2d rigid bodies
meamMEAM test for SiC and shear (same as shear examples)
meltrapid melt of 3d LJ system
micelleself-assembly of small lipid-like molecules into 2d bilayers
minenergy minimization of 2d LJ melt
msstMSST shock dynamics
nb3buse of nonbonded 3-body harmonic pair style
nebnudged elastic band (NEB) calculation for barrier finding
nemdnon-equilibrium MD of 2d sheared system
obstacleflow around two voids in a 2d channel
peptidedynamics of a small solvated peptide chain (5-mer)
periPeridynamic model of cylinder impacted by indenter
pourpouring of granular particles into a 3d box, then chute flow
prdparallel replica dynamics of vacancy diffusion in bulk Si
qequse of the QEQ pacakge for charge equilibration
reaxRDX and TATB models using the ReaxFF
rigidrigid bodies modeled as independent or coupled
shearsideways shear applied to 2d solid, with and without a void
snapNVE dynamics for BCC tantalum crystal using SNAP potential
srdstochastic rotation dynamics (SRD) particles as solvent
tadtemperature-accelerated dynamics of vacancy diffusion in bulk Si
tritriangular particles in rigid bodies
-

Here is how you might run and visualize one of the sample problems:

-
cd indent
+dump image doc page.
+

+

Animations of many of these examples can be viewed on the Movies +section of the LAMMPS WWW Site. +

+

These are the sample problems in the examples sub-directories: +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
balance dynamic load balancing, 2d system
body body particles, 2d system
colloid big colloid particles in a small particle solvent, 2d system
comb models using the COMB potential
crack crack propagation in a 2d solid
cuda use of the USER-CUDA package for GPU acceleration
dipole point dipolar particles, 2d system
dreiding methanol via Dreiding FF
eim NaCl using the EIM potential
ellipse ellipsoidal particles in spherical solvent, 2d system
flow Couette and Poiseuille flow in a 2d channel
friction frictional contact of spherical asperities between 2d surfaces
gpu use of the GPU package for GPU acceleration
hugoniostat Hugoniostat shock dynamics
indent spherical indenter into a 2d solid
intel use of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor
kim use of potentials in Knowledge Base for Interatomic Models (KIM)
line line segment particles in 2d rigid bodies
meam MEAM test for SiC and shear (same as shear examples)
melt rapid melt of 3d LJ system
micelle self-assembly of small lipid-like molecules into 2d bilayers
min energy minimization of 2d LJ melt
msst MSST shock dynamics
nb3b use of nonbonded 3-body harmonic pair style
neb nudged elastic band (NEB) calculation for barrier finding
nemd non-equilibrium MD of 2d sheared system
obstacle flow around two voids in a 2d channel
peptide dynamics of a small solvated peptide chain (5-mer)
peri Peridynamic model of cylinder impacted by indenter
pour pouring of granular particles into a 3d box, then chute flow
prd parallel replica dynamics of vacancy diffusion in bulk Si
qeq use of the QEQ pacakge for charge equilibration
reax RDX and TATB models using the ReaxFF
rigid rigid bodies modeled as independent or coupled
shear sideways shear applied to 2d solid, with and without a void
snap NVE dynamics for BCC tantalum crystal using SNAP potential
srd stochastic rotation dynamics (SRD) particles as solvent
tad temperature-accelerated dynamics of vacancy diffusion in bulk Si
tri triangular particles in rigid bodies +
+ +

Here is how you might run and visualize one of the sample problems: +

+
cd indent
 cp ../../src/lmp_linux .           # copy LAMMPS executable to this dir
-lmp_linux < in.indent              # run the problem
-
-
-

Running the simulation produces the files dump.indent and -log.lammps. You can visualize the dump file as follows:

-
../../tools/xmovie/xmovie -scale dump.indent
-
-
-

If you uncomment the dump image line(s) in the input +lmp_linux < in.indent # run the problem + +

Running the simulation produces the files dump.indent and +log.lammps. You can visualize the dump file as follows: +

+
../../tools/xmovie/xmovie -scale dump.indent 
+
+

If you uncomment the dump image line(s) in the input script a series of JPG images will be produced by the run. These can be viewed individually or turned into a movie or animated by tools like ImageMagick or QuickTime or various Windows-based tools. See the -dump image doc page for more details. E.g. this +dump image doc page for more details. E.g. this Imagemagick command would create a GIF file suitable for viewing in a -browser.

-
% convert -loop 1 *.jpg foo.gif
-
-
-
-

There is also a COUPLE directory with examples of how to use LAMMPS as +browser. +

+
% convert -loop 1 *.jpg foo.gif 
+
+
+ +

There is also a COUPLE directory with examples of how to use LAMMPS as a library, either by itself or in tandem with another code or library. -See the COUPLE/README file to get started.

-

There is also an ELASTIC directory with an example script for +See the COUPLE/README file to get started. +

+

There is also an ELASTIC directory with an example script for computing elastic constants, using a zero temperature Si example. See -the in.elastic file for more info.

-

There is also a USER directory which contains subdirectories of +the in.elastic file for more info. +

+

There is also a USER directory which contains subdirectories of user-provided examples for user packages. See the README files in those directories for more info. See the -Section_start.html file for more info about user -packages.

-
- - -
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_start.html file for more info about user +packages. +

+ diff --git a/doc/Section_history.html b/doc/Section_history.html index 20f0e4d47e..d827db95e7 100644 --- a/doc/Section_history.html +++ b/doc/Section_history.html @@ -1,313 +1,129 @@ + +
Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
- - - - - - - - - 13. Future and history — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

13. Future and history¶

-

This section lists features we plan to add to LAMMPS, features of + + +


+ +

13. Future and history +

+

This section lists features we plan to add to LAMMPS, features of previous versions of LAMMPS, and features of other parallel molecular -dynamics codes our group has distributed.

- -
-

13.1. Coming attractions¶

-

The Wish list link on the +dynamics codes our group has distributed. +

+13.1 Coming attractions
+13.2 Past versions
+ +
+ +
+ +

13.1 Coming attractions +

+

The Wish list link on the LAMMPS WWW page gives a list of features we are hoping to add to LAMMPS in the future, including contact names of individuals you can email if you are interested in contributing to the developement or -would be a future user of that feature.

-

You can also send email to the developers if you want to add -your wish to the list.

-
-
-
-

13.2. Past versions¶

-

LAMMPS development began in the mid 1990s under a cooperative research -& development agreement (CRADA) between two DOE labs (Sandia and LLNL) +would be a future user of that feature. +

+

You can also send email to the +developers if you want to add +your wish to the list. +

+
+ +

13.2 Past versions +

+

LAMMPS development began in the mid 1990s under a cooperative research +& development agreement (CRADA) between two DOE labs (Sandia and LLNL) and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was to develop a large-scale parallel classical MD code; the coding effort -was led by Steve Plimpton at Sandia.

-

After the CRADA ended, a final F77 version, LAMMPS 99, was +was led by Steve Plimpton at Sandia. +

+

After the CRADA ended, a final F77 version, LAMMPS 99, was released. As development of LAMMPS continued at Sandia, its memory management was converted to F90; a final F90 version was released as -LAMMPS 2001.

-

The current LAMMPS is a rewrite in C++ and was first publicly released +LAMMPS 2001. +

+

The current LAMMPS is a rewrite in C++ and was first publicly released as an open source code in 2004. It includes many new features beyond those in LAMMPS 99 or 2001. It also includes features from older parallel MD codes written at Sandia, namely ParaDyn, Warp, and -GranFlow (see below).

-

In late 2006 we began merging new capabilities into LAMMPS that were +GranFlow (see below). +

+

In late 2006 we began merging new capabilities into LAMMPS that were developed by Aidan Thompson at Sandia for his MD code GRASP, which has a parallel framework similar to LAMMPS. Most notably, these have included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - -and the associated charge-equilibration routines needed for ReaxFF.

-

The History link on the +and the associated charge-equilibration routines needed for ReaxFF. +

+

The History link on the LAMMPS WWW page gives a timeline of features added to the -C++ open-source version of LAMMPS over the last several years.

-

These older codes are available for download from the LAMMPS WWW site, except for Warp & GranFlow which were primarily used -internally. A brief listing of their features is given here.

-

LAMMPS 2001

-
    -
  • F90 + MPI
  • -
  • dynamic memory
  • -
  • spatial-decomposition parallelism
  • -
  • NVE, NVT, NPT, NPH, rRESPA integrators
  • -
  • LJ and Coulombic pairwise force fields
  • -
  • all-atom, united-atom, bead-spring polymer force fields
  • -
  • CHARMM-compatible force fields
  • -
  • class 2 force fields
  • -
  • 3d/2d Ewald & PPPM
  • -
  • various force and temperature constraints
  • -
  • SHAKE
  • -
  • Hessian-free truncated-Newton minimizer
  • -
  • user-defined diagnostics
  • -
-

LAMMPS 99

-
    -
  • F77 + MPI
  • -
  • static memory allocation
  • -
  • spatial-decomposition parallelism
  • -
  • most of the LAMMPS 2001 features with a few exceptions
  • -
  • no 2d Ewald & PPPM
  • -
  • molecular force fields are missing a few CHARMM terms
  • -
  • no SHAKE
  • -
-

Warp

-
    -
  • F90 + MPI
  • -
  • spatial-decomposition parallelism
  • -
  • embedded atom method (EAM) metal potentials + LJ
  • -
  • lattice and grain-boundary atom creation
  • -
  • NVE, NVT integrators
  • -
  • boundary conditions for applying shear stresses
  • -
  • temperature controls for actively sheared systems
  • -
  • per-atom energy and centro-symmetry computation and output
  • -
-

ParaDyn

-
    -
  • F77 + MPI
  • -
  • atom- and force-decomposition parallelism
  • -
  • embedded atom method (EAM) metal potentials
  • -
  • lattice atom creation
  • -
  • NVE, NVT, NPT integrators
  • -
  • all serial DYNAMO features for controls and constraints
  • -
-

GranFlow

-
    -
  • F90 + MPI
  • -
  • spatial-decomposition parallelism
  • -
  • frictional granular potentials
  • -
  • NVE integrator
  • -
  • boundary conditions for granular flow and packing and walls
  • -
  • particle insertion
  • -
-
-
- - -
-
- - -
-
- -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +C++ open-source version of LAMMPS over the last several years. +

+

These older codes are available for download from the LAMMPS WWW +site, except for Warp & GranFlow which were primarily used +internally. A brief listing of their features is given here. +

+

LAMMPS 2001 +

+
  • F90 + MPI +
  • dynamic memory +
  • spatial-decomposition parallelism +
  • NVE, NVT, NPT, NPH, rRESPA integrators +
  • LJ and Coulombic pairwise force fields +
  • all-atom, united-atom, bead-spring polymer force fields +
  • CHARMM-compatible force fields +
  • class 2 force fields +
  • 3d/2d Ewald & PPPM +
  • various force and temperature constraints +
  • SHAKE +
  • Hessian-free truncated-Newton minimizer +
  • user-defined diagnostics +
+

LAMMPS 99 +

+
  • F77 + MPI +
  • static memory allocation +
  • spatial-decomposition parallelism +
  • most of the LAMMPS 2001 features with a few exceptions +
  • no 2d Ewald & PPPM +
  • molecular force fields are missing a few CHARMM terms +
  • no SHAKE +
+

Warp +

+
  • F90 + MPI +
  • spatial-decomposition parallelism +
  • embedded atom method (EAM) metal potentials + LJ +
  • lattice and grain-boundary atom creation +
  • NVE, NVT integrators +
  • boundary conditions for applying shear stresses +
  • temperature controls for actively sheared systems +
  • per-atom energy and centro-symmetry computation and output +
+

ParaDyn +

+
  • F77 + MPI +
  • atom- and force-decomposition parallelism +
  • embedded atom method (EAM) metal potentials +
  • lattice atom creation +
  • NVE, NVT, NPT integrators +
  • all serial DYNAMO features for controls and constraints +
+

GranFlow +

+
  • F90 + MPI +
  • spatial-decomposition parallelism +
  • frictional granular potentials +
  • NVE integrator +
  • boundary conditions for granular flow and packing and walls +
  • particle insertion +
+ diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 7db818b7c1..86ba137918 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -1,441 +1,283 @@ + +
Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
- - - - - - - - - 6. How-to discussions — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - -
-
-
- -
- - - -
-
-
- -
-

6. How-to discussions¶

-

This section describes how to perform common tasks using LAMMPS.

- -

The example input scripts included in the LAMMPS distribution and -highlighted in Section_example also show how to -setup and run various kinds of simulations.

-
-

6.1. Restarting a simulation¶

-

There are 3 ways to continue a long LAMMPS simulation. Multiple -run commands can be used in the same input script. Each + + +


+ +

6. How-to discussions +

+

This section describes how to perform common tasks using LAMMPS. +

+6.1 Restarting a simulation
+6.2 2d simulations
+6.3 CHARMM, AMBER, and DREIDING force fields
+6.4 Running multiple simulations from one input script
+6.5 Multi-replica simulations
+6.6 Granular models
+6.7 TIP3P water model
+6.8 TIP4P water model
+6.9 SPC water model
+6.10 Coupling LAMMPS to other codes
+6.11 Visualizing LAMMPS snapshots
+6.12 Triclinic (non-orthogonal) simulation boxes
+6.13 NEMD simulations
+6.14 Finite-size spherical and aspherical particles
+6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables)
+6.16 Thermostatting, barostatting and computing temperature
+6.17 Walls
+6.18 Elastic constants
+6.19 Library interface to LAMMPS
+6.20 Calculating thermal conductivity
+6.21 Calculating viscosity
+6.22 Calculating a diffusion coefficient
+6.23 Using chunks to calculate system properties
+6.24 Setting parameters for the kspace_style pppm/disp command
+6.25 Polarizable models
+6.26 Adiabatic core/shell model
+6.27 Drude induced dipoles
+ +

The example input scripts included in the LAMMPS distribution and +highlighted in Section_example also show how to +setup and run various kinds of simulations. +

+
+ +
+ +

6.1 Restarting a simulation +

+

There are 3 ways to continue a long LAMMPS simulation. Multiple +run commands can be used in the same input script. Each run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the restart +restart files can be saved to disk using the restart command. At a later time, these binary files can be read via a -read_restart command in a new script. Or they can -be converted to text data files using the -r command-line switch and read by a -read_data command in a new script.

-

Here we give examples of 2 scripts that read either a binary restart +read_restart command in a new script. Or they can +be converted to text data files using the -r command-line +switch and read by a +read_data command in a new script. +

+

Here we give examples of 2 scripts that read either a binary restart file or a converted data file and then issue a new run command to continue where the previous run left off. They illustrate what settings must be made in the new script. Details are discussed in the -documentation for the read_restart and -read_data commands.

-

Look at the in.chain input script provided in the bench directory +documentation for the read_restart and +read_data commands. +

+

Look at the in.chain input script provided in the bench directory of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line

-
restart              50 tmp.restart
-
-
-

added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran.

-

This script could be used to read the 1st restart file and re-run the -last 50 timesteps:

-
read_restart tmp.restart.50
-
-
-
neighbor     0.4 bin
-neigh_modify every 1 delay 1
-
-
-
fix          1 all nve
-fix          2 all langevin 1.0 1.0 10.0 904297
-
-
-
timestep     0.012
-
-
-
run          50
-
-
-

Note that the following commands do not need to be repeated because -their settings are included in the restart file: units, atom_style, -special_bonds, pair_style, bond_style. However these commands do +scripts are based on. If that script had the line +

+
restart	        50 tmp.restart 
+
+

added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran. +

+

This script could be used to read the 1st restart file and re-run the +last 50 timesteps: +

+
read_restart	tmp.restart.50 
+
+
neighbor	0.4 bin
+neigh_modify	every 1 delay 1 
+
+
fix		1 all nve
+fix		2 all langevin 1.0 1.0 10.0 904297 
+
+
timestep	0.012 
+
+
run		50 
+
+

Note that the following commands do not need to be repeated because +their settings are included in the restart file: units, atom_style, +special_bonds, pair_style, bond_style. However these commands do need to be used, since their settings are not in the restart file: -neighbor, fix, timestep.

-

If you actually use this script to perform a restarted run, you will +neighbor, fix, timestep. +

+

If you actually use this script to perform a restarted run, you will notice that the thermodynamic data match at step 50 (if you also put a -“thermo 50” command in the original script), but do not match at step -100. This is because the fix langevin command -uses random numbers in a way that does not allow for perfect restarts.

-

As an alternate approach, the restart file could be converted to a data -file as follows:

-
lmp_g++ -r tmp.restart.50 tmp.restart.data
-
-
-

Then, this script could be used to re-run the last 50 steps:

-
units                lj
-atom_style   bond
-pair_style   lj/cut 1.12
-pair_modify  shift yes
-bond_style   fene
-special_bonds   0.0 1.0 1.0
-
-
-
read_data    tmp.restart.data
-
-
-
neighbor     0.4 bin
-neigh_modify every 1 delay 1
-
-
-
fix          1 all nve
-fix          2 all langevin 1.0 1.0 10.0 904297
-
-
-
timestep     0.012
-
-
-
reset_timestep       50
-run          50
-
-
-

Note that nearly all the settings specified in the original in.chain -script must be repeated, except the pair_coeff and bond_coeff +"thermo 50" command in the original script), but do not match at step +100. This is because the fix langevin command +uses random numbers in a way that does not allow for perfect restarts. +

+

As an alternate approach, the restart file could be converted to a data +file as follows: +

+
lmp_g++ -r tmp.restart.50 tmp.restart.data 
+
+

Then, this script could be used to re-run the last 50 steps: +

+
units		lj
+atom_style	bond
+pair_style	lj/cut 1.12
+pair_modify	shift yes
+bond_style	fene
+special_bonds   0.0 1.0 1.0 
+
+
read_data	tmp.restart.data 
+
+
neighbor	0.4 bin
+neigh_modify	every 1 delay 1 
+
+
fix		1 all nve
+fix		2 all langevin 1.0 1.0 10.0 904297 
+
+
timestep	0.012 
+
+
reset_timestep	50
+run		50 
+
+

Note that nearly all the settings specified in the original in.chain +script must be repeated, except the pair_coeff and bond_coeff commands since the new data file lists the force field coefficients. -Also, the reset_timestep command is used to tell +Also, the reset_timestep command is used to tell LAMMPS the current timestep. This value is stored in restart files, -but not in data files.

-
-
-
-

6.2. 2d simulations¶

-

Use the dimension command to specify a 2d simulation.

-

Make the simulation box periodic in z via the boundary -command. This is the default.

-

If using the create box command to define a +but not in data files. +

+
+ +

6.2 2d simulations +

+

Use the dimension command to specify a 2d simulation. +

+

Make the simulation box periodic in z via the boundary +command. This is the default. +

+

If using the create box command to define a simulation box, set the z dimensions narrow, but finite, so that the create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g.

-
-create box 1 -10 10 -10 10 -0.25 0.25
-
-

If using the read data command to read in a file of -atom coordinates, set the “zlo zhi” values to be finite but narrow, +plane of atoms - e.g. +

+
create box 1 -10 10 -10 10 -0.25 0.25 
+
+

If using the read data command to read in a file of +atom coordinates, set the "zlo zhi" values to be finite but narrow, similar to the create_box command settings just described. For each atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0.

-

Use the fix enforce2d command as the last +z-boundaries of the box - e.g. 0.0. +

+

Use the fix enforce2d command as the last defined fix to insure that the z-components of velocities and forces are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out.

-

Many of the example input scripts included in the LAMMPS distribution -are for 2d models.

-
-

Warning

-

Some models in LAMMPS treat particles as finite-size +so that any forces induced by other fixes will be zeroed out. +

+

Many of the example input scripts included in the LAMMPS distribution +are for 2d models. +

+

IMPORTANT NOTE: Some models in LAMMPS treat particles as finite-size spheres, as opposed to point particles. In 2d, the particles will still be spheres, not disks, meaning their moment of inertia will be -the same as in 3d.

-
-
-
-
-

6.3. CHARMM, AMBER, and DREIDING force fields¶

-

A force field has 2 parts: the formulas that define it and the +the same as in 3d. +

+
+ +

6.3 CHARMM, AMBER, and DREIDING force fields +

+

A force field has 2 parts: the formulas that define it and the coefficients used for a particular system. Here we only discuss formulas implemented in LAMMPS that correspond to formulas commonly used in the CHARMM, AMBER, and DREIDING force fields. Setting coefficients is done in the input data file via the -read_data command or in the input script with -commands like pair_coeff or -bond_coeff. See Section_tools +read_data command or in the input script with +commands like pair_coeff or +bond_coeff. See Section_tools for additional tools that can use CHARMM or AMBER to assign force -field coefficients and convert their output into LAMMPS input.

-

See (MacKerell) for a description of the CHARMM force -field. See (Cornell) for a description of the AMBER force -field.

-

These style choices compute force field formulas that are consistent -with common options in CHARMM or AMBER. See each command’s -documentation for the formula it computes.

- -

DREIDING is a generic force field developed by the Goddard group at Caltech and is useful for +field coefficients and convert their output into LAMMPS input. +

+

See (MacKerell) for a description of the CHARMM force +field. See (Cornell) for a description of the AMBER force +field. +

+ + + + +

These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command's +documentation for the formula it computes. +

+ + +

DREIDING is a generic force field developed by the Goddard +group at Caltech and is useful for predicting structures and dynamics of organic, biological and main-group inorganic molecules. The philosophy in DREIDING is to use general force constants and geometry parameters based on simple hybridization considerations, rather than individual force constants and geometric parameters that depend on the particular combinations of atoms involved in the bond, angle, or torsion terms. DREIDING has an -explicit hydrogen bond term to describe +explicit hydrogen bond term to describe interactions involving a hydrogen atom on very electronegative atoms -(N, O, F).

-

See (Mayo) for a description of the DREIDING force field

-

These style choices compute force field formulas that are consistent -with the DREIDING force field. See each command’s -documentation for the formula it computes.

- -
-
-
-

6.4. Running multiple simulations from one input script¶

-

This can be done in several ways. See the documentation for -individual commands for more details on how these examples work.

-

If “multiple simulations” means continue a previous simulation for -more timesteps, then you simply use the run command -multiple times. For example, this script

-
units lj
+(N, O, F).
+

+

See (Mayo) for a description of the DREIDING force field +

+

These style choices compute force field formulas that are consistent +with the DREIDING force field. See each command's +documentation for the formula it computes. +

+ + + + + + +
+ +

6.4 Running multiple simulations from one input script +

+

This can be done in several ways. See the documentation for +individual commands for more details on how these examples work. +

+

If "multiple simulations" means continue a previous simulation for +more timesteps, then you simply use the run command +multiple times. For example, this script +

+
units lj
 atom_style atomic
 read_data data.lj
 run 10000
 run 10000
 run 10000
 run 10000
-run 10000
-
-
-

would run 5 successive simulations of the same system for a total of -50,000 timesteps.

-

If you wish to run totally different simulations, one after the other, -the clear command can be used in between them to -re-initialize LAMMPS. For example, this script

-
units lj
+run 10000 
+
+

would run 5 successive simulations of the same system for a total of +50,000 timesteps. +

+

If you wish to run totally different simulations, one after the other, +the clear command can be used in between them to +re-initialize LAMMPS. For example, this script +

+
units lj
 atom_style atomic
 read_data data.lj
 run 10000
@@ -443,30 +285,31 @@ clear
 units lj
 atom_style atomic
 read_data data.lj.new
-run 10000
-
-
-

would run 2 independent simulations, one after the other.

-

For large numbers of independent simulations, you can use -variables and the next and -jump commands to loop over the same input script +run 10000 + +

would run 2 independent simulations, one after the other. +

+

For large numbers of independent simulations, you can use +variables and the next and +jump commands to loop over the same input script multiple times with different settings. For example, this -script, named in.polymer

-
variable d index run1 run2 run3 run4 run5 run6 run7 run8
+script, named in.polymer
+

+
variable d index run1 run2 run3 run4 run5 run6 run7 run8
 shell cd $d
 read_data data.polymer
 run 10000
 shell cd ..
 clear
 next d
-jump in.polymer
-
-
-

would run 8 simulations in different directories, using a data.polymer +jump in.polymer + +

would run 8 simulations in different directories, using a data.polymer file in each directory. The same concept could be used to run the same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example

-
variable a loop 8
+and storing the output in different log and dump files, for example
+

+
variable a loop 8
 variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
 log log.$a
 read data.polymer
@@ -477,370 +320,410 @@ run 100000
 clear
 next t
 next a
-jump in.polymer
-
-
-

All of the above examples work whether you are running on 1 or +jump in.polymer + +

All of the above examples work whether you are running on 1 or multiple processors, but assumed you are running LAMMPS on a single partition of processors. LAMMPS can be run on multiple partitions via -the “-partition” command-line switch as described in this section of the manual.

-

In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the “index” and “loop” variables were -replaced with universe-style variables, as described in the -variable command. Also, the “next t” and “next a” -commands would need to be replaced with a single “next a t” command. +the "-partition" command-line switch as described in this +section of the manual. +

+

In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the "index" and "loop" variables were +replaced with universe-style variables, as described in the +variable command. Also, the "next t" and "next a" +commands would need to be replaced with a single "next a t" command. With these modifications, the 8 simulations of each script would run on the 3 partitions one after the other until all were finished. Initially, 3 simulations would be started simultaneously, one on each partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed.

-
-
-
-

6.5. Multi-replica simulations¶

-

Several commands in LAMMPS run mutli-replica simulations, meaning +the 4th simulation, and so forth, until all 8 were completed. +

+
+ +

6.5 Multi-replica simulations +

+

Several commands in LAMMPS run mutli-replica simulations, meaning that multiple instances (replicas) of your simulation are run simultaneously, with small amounts of data exchanged between replicas -periodically.

-

These are the relevant commands:

-
    -
  • neb for nudged elastic band calculations
  • -
  • prd for parallel replica dynamics
  • -
  • tad for temperature accelerated dynamics
  • -
  • temper for parallel tempering
  • -
  • fix pimd for path-integral molecular dynamics (PIMD)
  • -
-

NEB is a method for finding transition states and barrier energies. +periodically. +

+

These are the relevant commands: +

+
  • neb for nudged elastic band calculations +
  • prd for parallel replica dynamics +
  • tad for temperature accelerated dynamics +
  • temper for parallel tempering +
  • fix pimd for path-integral molecular dynamics (PIMD) +
+

NEB is a method for finding transition states and barrier energies. PRD and TAD are methods for performing accelerated dynamics to find and perform infrequent events. Parallel tempering or replica exchange runs different replicas at a series of temperature to facilitate -rare-event sampling.

-

These commands can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

-

PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers.

-

This commands can only be used if LAMMPS was built with the USER-MISC -package. See the Making LAMMPS section -for more info on packages.

-

In all these cases, you must run with one or more processors per +rare-event sampling. +

+

These commands can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

+

PIMD runs different replicas whose individual particles are coupled +together by springs to model a system or ring-polymers. +

+

This commands can only be used if LAMMPS was built with the USER-MISC +package. See the Making LAMMPS section +for more info on packages. +

+

In all these cases, you must run with one or more processors per replica. The processors assigned to each replica are determined at -run-time by using the -partition command-line switch to launch LAMMPS on multiple +run-time by using the -partition command-line +switch to launch LAMMPS on multiple partitions, which in this context are the same as replicas. E.g. -these commands:

-
mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
-mpirun -np 8 lmp_linux -partition 8x1 -in in.neb
-
-
-

would each run 8 replicas, on either 16 or 8 processors. Note the use -of the -in command-line switch to specify -the input script which is required when running in multi-replica mode.

-

Also note that with MPI installed on a machine (e.g. your desktop), +these commands: +

+
mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
+mpirun -np 8 lmp_linux -partition 8x1 -in in.neb 
+
+

would each run 8 replicas, on either 16 or 8 processors. Note the use +of the -in command-line switch to specify +the input script which is required when running in multi-replica mode. +

+

Also note that with MPI installed on a machine (e.g. your desktop), you can run on more (virtual) processors than you have physical processors. Thus the above commands could be run on a single-processor (or few-processor) desktop so that you can run a multi-replica simulation on more replicas than you have -physical processors.

-
-
-
-

6.6. Granular models¶

-

Granular system are composed of spherical particles with a diameter, +physical processors. +

+
+ +

6.6 Granular models +

+

Granular system are composed of spherical particles with a diameter, as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate.

-

To run a simulation of a granular model, you will want to use -the following commands:

- -

This compute

- -

calculates rotational kinetic energy which can be output with thermodynamic info.

-

Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles:

- -

These commands implement fix options specific to granular systems:

- -

The fix style freeze zeroes both the force and torque of frozen +velocity and torque can be imparted to them to cause them to rotate. +

+

To run a simulation of a granular model, you will want to use +the following commands: +

+ +

This compute +

+ +

calculates rotational kinetic energy which can be output with +thermodynamic info. +

+

Use one of these 3 pair potentials, which compute forces and torques +between interacting pairs of particles: +

+ +

These commands implement fix options specific to granular systems: +

+ +

The fix style freeze zeroes both the force and torque of frozen atoms, and should be used for granular system instead of the fix style -setforce.

-

For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command:

- -
-
-
-

6.7. TIP3P water model¶

-

The TIP3P water model as implemented in CHARMM -(MacKerell) specifies a 3-site rigid water molecule with +setforce. +

+

For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command: +

+ +
+ +

6.7 TIP3P water model +

+

The TIP3P water model as implemented in CHARMM +(MacKerell) specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold +In LAMMPS the fix shake command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used.

-

These are the additional parameters (in real units) to set for O and H +harmonic and an angle style of harmonic or charmm should also be +used. +

+

These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP3P-CHARMM model with a cutoff. The K values can be used if a flexible TIP3P model (without fix shake) is desired. If the LJ epsilon and sigma for HH and OH are set to 0.0, it corresponds to the original 1983 TIP3P model -(Jorgensen).

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -0.834
-
H charge = 0.417
-
LJ epsilon of OO = 0.1521
-
LJ sigma of OO = 3.1507
-
LJ epsilon of HH = 0.0460
-
LJ sigma of HH = 0.4000
-
LJ epsilon of OH = 0.0836
-
LJ sigma of OH = 1.7753
-
K of OH bond = 450
-
r0 of OH bond = 0.9572
-
K of HOH angle = 55
-
theta of HOH angle = 104.52
-

-
-

These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for -details:

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -0.830
-
H charge = 0.415
-
LJ epsilon of OO = 0.102
-
LJ sigma of OO = 3.188
-
LJ epsilon, sigma of OH, HH = 0.0
-
K of OH bond = 450
-
r0 of OH bond = 0.9572
-
K of HOH angle = 55
-
theta of HOH angle = 104.52
-

-
-

Wikipedia also has a nice article on water models.

-
-
-
-

6.8. TIP4P water model¶

-

The four-point TIP4P rigid water model extends the traditional +(Jorgensen). +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -0.834
+H charge = 0.417
+LJ epsilon of OO = 0.1521
+LJ sigma of OO = 3.1507
+LJ epsilon of HH = 0.0460
+LJ sigma of HH = 0.4000
+LJ epsilon of OH = 0.0836
+LJ sigma of OH = 1.7753
+K of OH bond = 450
+r0 of OH bond = 0.9572
+K of HOH angle = 55
+theta of HOH angle = 104.52
+

+

These are the parameters to use for TIP3P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for +details: +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -0.830
+H charge = 0.415
+LJ epsilon of OO = 0.102
+LJ sigma of OO = 3.188
+LJ epsilon, sigma of OH, HH = 0.0
+K of OH bond = 450
+r0 of OH bond = 0.9572
+K of HOH angle = 55
+theta of HOH angle = 104.52
+

+

Wikipedia also has a nice article on water +models. +

+
+ +

6.8 TIP4P water model +

+

The four-point TIP4P rigid water model extends the traditional three-point TIP3P model by adding an additional site, usually massless, where the charge associated with the oxygen atom is placed. This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of harmonic and an -angle style of harmonic or charmm should also be used.

-

A TIP4P model is run with LAMMPS using either this command -for a cutoff model:

-

pair_style lj/cut/tip4p/cut

-

or these two commands for a long-range model:

- -

For both models, the bond lengths and bond angles should be held fixed -using the fix shake command.

-

These are the additional parameters (in real units) to set for O and H +the bisector of the HOH bond angle. A bond style of harmonic and an +angle style of harmonic or charmm should also be used. +

+

A TIP4P model is run with LAMMPS using either this command +for a cutoff model: +

+

pair_style lj/cut/tip4p/cut +

+

or these two commands for a long-range model: +

+ +

For both models, the bond lengths and bond angles should be held fixed +using the fix shake command. +

+

These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP4P model with a cutoff -(Jorgensen). Note that the OM distance is specified in -the pair_style command, not as part of the pair -coefficients.

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -1.040
-
H charge = 0.520
-
r0 of OH bond = 0.9572
-
theta of HOH angle = 104.52
-
OM distance = 0.15
-
LJ epsilon of O-O = 0.1550
-
LJ sigma of O-O = 3.1536
-
LJ epsilon, sigma of OH, HH = 0.0
-
Coulombic cutoff = 8.5
-

-
-

For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used:

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -1.1794
-
H charge = 0.5897
-
r0 of OH bond = 0.9572
-
theta of HOH angle = 104.52
-
OM distance = 0.1577
-
LJ epsilon of O-O = 0.21084
-
LJ sigma of O-O = 3.1668
-
LJ epsilon, sigma of OH, HH = 0.0
-
Coulombic cutoff = 8.5
-

-
-

For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used:

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -1.1128
-
H charge = 0.5564
-
r0 of OH bond = 0.9572
-
theta of HOH angle = 104.52
-
OM distance = 0.1546
-
LJ epsilon of O-O = 0.1852
-
LJ sigma of O-O = 3.1589
-
LJ epsilon, sigma of OH, HH = 0.0
-
Coulombic cutoff = 8.5
-

-
-

These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS):

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -1.0484
-
H charge = 0.5242
-
r0 of OH bond = 0.9572
-
theta of HOH angle = 104.52
-
OM distance = 0.1250
-
LJ epsilon of O-O = 0.16275
-
LJ sigma of O-O = 3.16435
-
LJ epsilon, sigma of OH, HH = 0.0
-

-
-

Note that the when using the TIP4P pair style, the neighobr list +(Jorgensen). Note that the OM distance is specified in +the pair_style command, not as part of the pair +coefficients. +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -1.040
+H charge = 0.520
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.15
+LJ epsilon of O-O = 0.1550
+LJ sigma of O-O = 3.1536
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5
+

+

For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); +http://dx.doi.org/10.1063/1.1931662) these values can be used: +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -1.1794
+H charge = 0.5897
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1577
+LJ epsilon of O-O = 0.21084
+LJ sigma of O-O = 3.1668
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5
+

+

For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); +http://dx.doi.org/10.1063/1.2121687), these values can be used: +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -1.1128
+H charge = 0.5564
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1546
+LJ epsilon of O-O = 0.1852
+LJ sigma of O-O = 3.1589
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5
+

+

These are the parameters to use for TIP4P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS): +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -1.0484
+H charge = 0.5242
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1250
+LJ epsilon of O-O = 0.16275
+LJ sigma of O-O = 3.16435
+LJ epsilon, sigma of OH, HH = 0.0
+

+

Note that the when using the TIP4P pair style, the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2 * (OM distance), to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*(OM distance), to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the pair_style lj/cut/tip4p/long command.

-

Wikipedia also has a nice article on water models.

-
-
-
-

6.9. SPC water model¶

-

The SPC water model specifies a 3-site rigid water molecule with +and Coulombic cutoffs are set in the pair_style +lj/cut/tip4p/long command. +

+

Wikipedia also has a nice article on water +models. +

+
+ +

6.9 SPC water model +

+

The SPC water model specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold +In LAMMPS the fix shake command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used.

-

These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model.

-
-
O mass = 15.9994
-
H mass = 1.008
-
O charge = -0.820
-
H charge = 0.410
-
LJ epsilon of OO = 0.1553
-
LJ sigma of OO = 3.166
-
LJ epsilon, sigma of OH, HH = 0.0
-
r0 of OH bond = 1.0
-
theta of HOH angle = 109.47
-

-
-

Note that as originally proposed, the SPC model was run with a 9 +harmonic and an angle style of harmonic or charmm should also be +used. +

+

These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model. +

+

O mass = 15.9994
+H mass = 1.008
+O charge = -0.820
+H charge = 0.410
+LJ epsilon of OO = 0.1553
+LJ sigma of OO = 3.166
+LJ epsilon, sigma of OH, HH = 0.0
+r0 of OH bond = 1.0
+theta of HOH angle = 109.47
+

+

Note that as originally proposed, the SPC model was run with a 9 Angstrom cutoff for both LJ and Coulommbic terms. It can also be used with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing any of the parameters above, though it becomes a different model in -that mode of usage.

-

The SPC/E (extended) water model is the same, except -the partial charge assignemnts change:

-
-
O charge = -0.8476
-
H charge = 0.4238
-

-
-

See the (Berendsen) reference for more details on both -the SPC and SPC/E models.

-

Wikipedia also has a nice article on water models.

-
-
-
-

6.10. Coupling LAMMPS to other codes¶

-

LAMMPS is designed to allow it to be coupled to other codes. For +that mode of usage. +

+

The SPC/E (extended) water model is the same, except +the partial charge assignemnts change: +

+

O charge = -0.8476
+H charge = 0.4238
+

+

See the (Berendsen) reference for more details on both +the SPC and SPC/E models. +

+

Wikipedia also has a nice article on water +models. +

+
+ +

6.10 Coupling LAMMPS to other codes +

+

LAMMPS is designed to allow it to be coupled to other codes. For example, a quantum mechanics code might compute forces on a subset of atoms and pass those forces to LAMMPS. Or a continuum finite element (FE) simulation might use atom positions as boundary conditions on FE nodal points, compute a FE solution, and return interpolated forces on -MD atoms.

-

LAMMPS can be coupled to other codes in at least 3 ways. Each has -advantages and disadvantages, which you’ll have to think about in the -context of your application.

-

(1) Define a new fix command that calls the other code. In +MD atoms. +

+

LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you'll have to think about in the +context of your application. +

+

(1) Define a new fix command that calls the other code. In this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, which has been linked to LAMMPS as a library. This is the way the -POEMS package that performs constrained rigid-body motion on +POEMS package that performs constrained rigid-body motion on groups of atoms is hooked to LAMMPS. See the -fix_poems command for more details. See this section of the documentation for info on how to add -a new fix to LAMMPS.

-

(2) Define a new LAMMPS command that calls the other code. This is +fix_poems command for more details. See this +section of the documentation for info on how to add +a new fix to LAMMPS. +

+ + +

(2) Define a new LAMMPS command that calls the other code. This is conceptually similar to method (1), but in this case LAMMPS and the other code are on a more equal footing. Note that now the other code is not called during the timestepping of a LAMMPS run, but between runs. The LAMMPS input script can be used to alternate LAMMPS runs with calls to the other code, invoked via the new command. The -run command facilitates this with its every option, which +run command facilitates this with its every option, which makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc.

-

In this scenario, the other code can be called as a library, as in +invoke the command, etc. +

+

In this scenario, the other code can be called as a library, as in (1), or it could be a stand-alone code, invoked by a system() call made by the command (assuming your parallel machine allows one or more processors to start up another program). In the latter case the stand-alone code could communicate with LAMMPS thru files that the -command writes and reads.

-

See Section_modify of the documentation for how -to add a new command to LAMMPS.

-

(3) Use LAMMPS as a library called by another code. In this case the +command writes and reads. +

+

See Section_modify of the documentation for how +to add a new command to LAMMPS. +

+

(3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper code could link and call both LAMMPS and another code as libraries. -Again, the run command has options that allow it to be +Again, the run command has options that allow it to be invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program.

-

Examples of driver codes that call LAMMPS as a library are included in +multiple short runs, driven by another program. +

+

Examples of driver codes that call LAMMPS as a library are included in the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details:

-
    -
  • simple: simple driver programs in C++ and C which invoke LAMMPS as a -library
  • -
  • lammps_quest: coupling of LAMMPS and Quest, to run classical -MD with quantum forces calculated by a density functional code
  • -
  • lammps_spparks: coupling of LAMMPS and SPPARKS, to couple +examples/COUPLE/README for more details: +

    +
    • simple: simple driver programs in C++ and C which invoke LAMMPS as a +library + +
    • lammps_quest: coupling of LAMMPS and Quest, to run classical +MD with quantum forces calculated by a density functional code + +
    • lammps_spparks: coupling of LAMMPS and SPPARKS, to couple a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries
    • -
    -

    This section of the documentation +strain induced across grain boundaries +

+ + + + +

This section of the documentation describes how to build LAMMPS as a library. Once this is done, you can interface with LAMMPS either via C++, C, Fortran, or Python (or any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) “instances” of +example, from C++ you could create one (or more) "instances" of LAMMPS, pass it an input script to process, or execute individual commands, all by invoking the correct class methods in LAMMPS. From C or Fortran you can make function calls to do the same things. See -Section_python of the manual for a description +Section_python of the manual for a description of the Python wrapper provided with LAMMPS that operates through the -LAMMPS library interface.

-

The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See Section_howto 19 of the +LAMMPS library interface. +

+

The files src/library.cpp and library.h contain the C-style interface +to LAMMPS. See Section_howto 19 of the manual for a description of the interface and how to extend it for -your needs.

-

Note that the lammps_open() function that creates an instance of +your needs. +

+

Note that the lammps_open() function that creates an instance of LAMMPS takes an MPI communicator as an argument. This means that instance of LAMMPS will run on the set of processors in the communicator. Thus the calling code can run LAMMPS on all or a subset @@ -849,450 +732,524 @@ alternate between LAMMPS and another code, allowing them both to run on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations.

-
-
-
-

6.11. Visualizing LAMMPS snapshots¶

-

LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways.

-

LAMMPS snapshots are created by the dump command which can +instances of LAMMPS to perform different calculations. +

+
+ +

6.11 Visualizing LAMMPS snapshots +

+

LAMMPS itself does not do visualization, but snapshots from LAMMPS +simulations can be visualized (and analyzed) in a variety of ways. +

+

LAMMPS snapshots are created by the dump command which can create files in several formats. The native LAMMPS dump format is a -text file (see “dump atom” or “dump custom”) which can be visualized -by the xmovie program, included with the +text file (see "dump atom" or "dump custom") which can be visualized +by the xmovie program, included with the LAMMPS package. This produces simple, fast 2d projections of 3d systems, and can be useful for rapid debugging of simulation geometry -and atom trajectories.

-

Several programs included with LAMMPS as auxiliary tools can convert +and atom trajectories. +

+

Several programs included with LAMMPS as auxiliary tools can convert native LAMMPS dump files to other formats. See the -Section_tools doc page for details. The first is -the ch2lmp tool, which contains a +Section_tools doc page for details. The first is +the ch2lmp tool, which contains a lammps2pdb Perl script which converts LAMMPS dump files into PDB -files. The second is the lmp2arc tool which -converts LAMMPS dump files into Accelrys’ Insight MD program files. -The third is the lmp2cfg tool which converts +files. The second is the lmp2arc tool which +converts LAMMPS dump files into Accelrys' Insight MD program files. +The third is the lmp2cfg tool which converts LAMMPS dump files into CFG files which can be read into the -AtomEye visualizer.

-

A Python-based toolkit distributed by our group can read native LAMMPS +AtomEye visualizer. +

+

A Python-based toolkit distributed by our group can read native LAMMPS dump files, including custom dump files with additional columns of user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the Pizza.py WWW site for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, Ensight, and VTK formats. +or pipe them into visualization software directly. See the Pizza.py +WWW site for details. Specifically, Pizza.py can convert +LAMMPS dump files into PDB, XYZ, Ensight, and VTK formats. Pizza.py can pipe LAMMPS dump files directly into the Raster3d and RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file -snapshots.

-

LAMMPS can create XYZ files directly (via “dump xyz”) which is a +snapshots. +

+

LAMMPS can create XYZ files directly (via "dump xyz") which is a simple text-based file format used by many visualization programs -including VMD.

-

LAMMPS can create DCD files directly (via “dump dcd”) which can be -read by VMD in conjunction with a CHARMM PSF file. Using this +including VMD. +

+

LAMMPS can create DCD files directly (via "dump dcd") which can be +read by VMD in conjunction with a CHARMM PSF file. Using this form of output avoids the need to convert LAMMPS snapshots to PDB -files. See the dump command for more information on DCD -files.

-

LAMMPS can create XTC files directly (via “dump xtc”) which is GROMACS -file format which can also be read by VMD for visualization. -See the dump command for more information on XTC files.

-
-
-
-

6.12. Triclinic (non-orthogonal) simulation boxes¶

-

By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The boundary command sets the boundary +files. See the dump command for more information on DCD +files. +

+

LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS +file format which can also be read by VMD for visualization. +See the dump command for more information on XTC files. +

+ + + + + + + + +
+ +

6.12 Triclinic (non-orthogonal) simulation boxes +

+

By default, LAMMPS uses an orthogonal simulation box to encompass the +particles. The boundary command sets the boundary conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by a = (xhi-xlo,0,0); b = -(0,yhi-ylo,0); c = (0,0,zhi-zlo). The 6 parameters +box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors +starting from the origin given by a = (xhi-xlo,0,0); b = +(0,yhi-ylo,0); c = (0,0,zhi-zlo). The 6 parameters (xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the create_box or -read_data or read_restart +is created, e.g. by the create_box or +read_data or read_restart commands. Additionally, LAMMPS defines box size parameters lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the thermo_style custom command.

-

LAMMPS also allows simulations to be performed in triclinic +parameters, as well as lx,ly,lz, can be output via the thermo_style +custom command. +

+

LAMMPS also allows simulations to be performed in triclinic (non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its “origin” at +triclinic symmetry. The parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = -(xz,yz,zhi-zlo). xy,xz,yz can be 0.0 or positive or negative values -and are called “tilt factors” because they are the amount of +origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = +(xz,yz,zhi-zlo). xy,xz,yz can be 0.0 or positive or negative values +and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors a, b, and c cannot be arbitrary -vectors. As indicated, a must lie on the positive x axis. b must -lie in the xy plane, with strictly positive y component. c may have +simulation box edge vectors a, b, and c cannot be arbitrary +vectors. As indicated, a must lie on the positive x axis. b must +lie in the xy plane, with strictly positive y component. c may have any orientation with strictly positive z component. The requirement -that a, b, and c have strictly positive x, y, and z components, -respectively, ensures that a, b, and c form a complete +that a, b, and c have strictly positive x, y, and z components, +respectively, ensures that a, b, and c form a complete right-handed basis. These restrictions impose no loss of generality, since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions.

-

For example, assume that the 3 vectors A,**B**,**C** are the edge +vectors so that they conform to the restrictions. +

+

For example, assume that the 3 vectors A,B,C are the edge vectors of a general parallelepiped, where there is no restriction on -A,**B**,**C** other than they form a complete right-handed basis i.e. -A x B . C > 0. The equivalent LAMMPS a,**b**,**c** are a linear -rotation of A, B, and C and can be computed as follows:

-_images/transform.jpg -

where A = |**A**| indicates the scalar length of A. The ^ hat symbol -indicates the corresponding unit vector. beta and gamma are angles -between the vectors described below. Note that by construction, -a, b, and c have strictly positive x, y, and z components, respectively. +A,B,C other than they form a complete right-handed basis i.e. +A x B . C > 0. The equivalent LAMMPS a,b,c are a linear +rotation of A, B, and C and can be computed as follows: +

+
+
+

where A = |A| indicates the scalar length of A. The ^ hat symbol +indicates the corresponding unit vector. beta and gamma are angles +between the vectors described below. Note that by construction, +a, b, and c have strictly positive x, y, and z components, respectively. If it should happen that -A, B, and C form a left-handed basis, then the above equations -are not valid for c. In this case, it is necessary +A, B, and C form a left-handed basis, then the above equations +are not valid for c. In this case, it is necessary to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them.

-

For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, +by interchanging two basis vectors or by changing the sign of one of them. +

+

For consistency, the same rotation/inversion applied to the basis vectors +must also be applied to atom positions, velocities, and any other vector quantities. -This can be conveniently achieved by first converting to +This can be conveniently achieved by first converting to fractional coordinates in the old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation:

-_images/rotate.jpg -

where V is the volume of the box, X is the original vector quantity and -x is the vector in the LAMMPS basis.

-

There is no requirement that a triclinic box be periodic in any +The transformation is given by the following equation: +

+
+
+

where V is the volume of the box, X is the original vector quantity and +x is the vector in the LAMMPS basis. +

+

There is no requirement that a triclinic box be periodic in any dimension, though it typically should be in at least the 2nd dimension of the tilt (y in xy) if you want to enforce a shift in periodic boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the fix deform and fix npt commands, require periodicity or non-shrink-wrap +with triclinic boxes, e.g. the fix deform and fix +npt commands, require periodicity or non-shrink-wrap boundary conditions in specific dimensions. See the command doc pages -for details.

-

The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the +for details. +

+

The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the time the simluation box is created. This happens in one of 3 ways. -If the create_box command is used with a region of -style prism, then a triclinic box is setup. See the -region command for details. If the -read_data command is used to define the simulation -box, and the header of the data file contains a line with the “xy xz -yz” keyword, then a triclinic box is setup. See the -read_data command for details. Finally, if the -read_restart command reads a restart file which +If the create_box command is used with a region of +style prism, then a triclinic box is setup. See the +region command for details. If the +read_data command is used to define the simulation +box, and the header of the data file contains a line with the "xy xz +yz" keyword, then a triclinic box is setup. See the +read_data command for details. Finally, if the +read_restart command reads a restart file which was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation.

-

Note that you can define a triclinic box with all 3 tilt factors = +box will be setup for the restarted simulation. +

+

Note that you can define a triclinic box with all 3 tilt factors = 0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the fix npt or -fix deform commands. Alternatively, you can use the -change_box command to convert a simulation box from -orthogonal to triclinic and vice versa.

-

As with orthogonal boxes, LAMMPS defines triclinic box size parameters +will become non-orthogonal, e.g. due to the fix npt or +fix deform commands. Alternatively, you can use the +change_box command to convert a simulation box from +orthogonal to triclinic and vice versa. +

+

As with orthogonal boxes, LAMMPS defines triclinic box size parameters lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. The 9 parameters, as well as lx,ly,lz, can be output via the -thermo_style custom command.

-

To avoid extremely tilted boxes (which would be computationally +thermo_style custom command. +

+

To avoid extremely tilted boxes (which would be computationally inefficient), LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st dimension in the tilt factor (x for xz). This is required both when the simulation box is created, e.g. via the -create_box or read_data commands, +create_box or read_data commands, as well as when the box shape changes dynamically during a simulation, -e.g. via the fix deform or fix npt -commands.

-

For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +e.g. via the fix deform or fix npt +commands. +

+

For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the fix deform -command), then the box is “flipped” to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the fix deform doc page for further details.

-

One exception to this rule is if the 1st dimension in the tilt +limit during a dynamics run (e.g. via the fix deform +command), then the box is "flipped" to an equivalent shape with a tilt +factor within the bounds, so the run can continue. See the fix +deform doc page for further details. +

+

One exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box.

-

The limitation on not creating a simulation box with a tilt factor +simply become inefficient, due to the highly skewed simulation box. +

+

The limitation on not creating a simulation box with a tilt factor skewing the box more than half the distance of the parallel box length -can be overridden via the box command. Setting the tilt -keyword to large allows any tilt factors to be specified.

-

Box flips that may occur using the fix deform or -fix npt commands can be turned off using the flip no -option with either of the commands.

-

Note that if a simulation box has a large tilt factor, LAMMPS will run +can be overridden via the box command. Setting the tilt +keyword to large allows any tilt factors to be specified. +

+

Box flips that may occur using the fix deform or +fix npt commands can be turned off using the flip no +option with either of the commands. +

+

Note that if a simulation box has a large tilt factor, LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor’s irregular-shaped sub-domain. +acquire ghost atoms around a processor's irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error.

-

Triclinic crystal structures are often defined using three lattice -constants a, b, and c, and three angles alpha, beta and -gamma. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors a, b, and c +error. +

+

Triclinic crystal structures are often defined using three lattice +constants a, b, and c, and three angles alpha, beta and +gamma. Note that in this nomenclature, the a, b, and c lattice +constants are the scalar lengths of the edge vectors a, b, and c defined above. The relationship between these 6 quantities (a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:

-_images/box.jpg -

The inverse relationship can be written as follows:

-_images/box_inverse.jpg -

The values of a, b, c , alpha, beta , and gamma can be printed -out or accessed by computes using the -thermo_style custom keywords -cella, cellb, cellc, cellalpha, cellbeta, cellgamma, -respectively.

-

As discussed on the dump command doc page, when the BOX +(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: +

+
+
+

The inverse relationship can be written as follows: +

+
+
+

The values of a, b, c , alpha, beta , and gamma can be printed +out or accessed by computes using the +thermo_style custom keywords +cella, cellb, cellc, cellalpha, cellbeta, cellgamma, +respectively. +

+

As discussed on the dump command doc page, when the BOX BOUNDS for a snapshot is written to a dump file for a triclinic box, an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows:

-
ITEM: BOX BOUNDS xy xz yz
+box, formatted as follows:
+

+
ITEM: BOX BOUNDS xy xz yz
 xlo_bound xhi_bound xy
 ylo_bound yhi_bound xz
-zlo_bound zhi_bound yz
-
-
-

This bounding box is convenient for many visualization programs and is +zlo_bound zhi_bound yz + +

This bounding box is convenient for many visualization programs and is calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:

-
xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
-xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
-ylo_bound = ylo + MIN(0.0,yz)
-yhi_bound = yhi + MAX(0.0,yz)
-zlo_bound = zlo
-zhi_bound = zhi
-
-
-

These formulas can be inverted if you need to convert the bounding box +(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: +

+
xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
+xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
+ylo_bound = ylo + MIN(0.0,yz)
+yhi_bound = yhi + MAX(0.0,yz)
+zlo_bound = zlo
+zhi_bound = zhi 
+
+

These formulas can be inverted if you need to convert the bounding box back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz).

-

One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The lattice command can be +MIN(0.0,xy,xz,xy+xz). +

+

One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The lattice command can be used with non-orthogonal basis vectors to define a lattice that will tile a triclinic simulation box via the -create_atoms command.

-

A second use is to run Parinello-Rahman dyanamics via the fix npt command, which will adjust the xy, xz, yz tilt +create_atoms command. +

+

A second use is to run Parinello-Rahman dyanamics via the fix +npt command, which will adjust the xy, xz, yz tilt factors to compensate for off-diagonal components of the pressure -tensor. The analalog for an energy minimization is -the fix box/relax command.

-

A third use is to shear a bulk solid to study the response of the -material. The fix deform command can be used for +tensor. The analalog for an energy minimization is +the fix box/relax command. +

+

A third use is to shear a bulk solid to study the response of the +material. The fix deform command can be used for this purpose. It allows dynamic control of the xy, xz, yz tilt factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations.

-
-
-
-

6.13. NEMD simulations¶

-

Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid’s rheological properties such as viscosity. +on non-equilibrium MD (NEMD) simulations. +

+
+ +

6.13 NEMD simulations +

+

Non-equilibrium molecular dynamics or NEMD simulations are typically +used to measure a fluid's rheological properties such as viscosity. In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section).

-

A shear strain can be applied to the simulation box at a desired -strain rate by using the fix deform command. The -fix nvt/sllod command can be used to thermostat +non-orthogonal simulation box (see the preceding Howto section). +

+

A shear strain can be applied to the simulation box at a desired +strain rate by using the fix deform command. The +fix nvt/sllod command can be used to thermostat the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses compute temp/deform to compute a thermal temperature +system. Fix nvt/sllod uses compute +temp/deform to compute a thermal temperature by subtracting out the streaming velocity of the shearing atoms. The velocity profile or other properties of the fluid can be monitored via -the fix ave/spatial command.

-

As discussed in the previous section on non-orthogonal simulation +the fix ave/spatial command. +

+

As discussed in the previous section on non-orthogonal simulation boxes, the amount of tilt or skew that can be applied is limited by LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, fix deform can continuously strain -a box by an arbitrary amount. As discussed in the fix deform command, when the tilt value reaches a limit, +length. However, fix deform can continuously strain +a box by an arbitrary amount. As discussed in the fix +deform command, when the tilt value reaches a limit, the box is flipped to the opposite limit which is an equivalent tiling of periodic space. The strain rate can then continue to change as before. In a long NEMD simulation these box re-shaping events may -occur many times.

-

In a NEMD simulation, the “remap” option of fix deform should be set to “remap v”, since that is what -fix nvt/sllod assumes to generate a velocity -profile consistent with the applied shear strain rate.

-

An alternative method for calculating viscosities is provided via the -fix viscosity command.

-
-
-
-

6.14. Finite-size spherical and aspherical particles¶

-

Typical MD models treat atoms or particles as point masses. Sometimes +occur many times. +

+

In a NEMD simulation, the "remap" option of fix +deform should be set to "remap v", since that is what +fix nvt/sllod assumes to generate a velocity +profile consistent with the applied shear strain rate. +

+

An alternative method for calculating viscosities is provided via the +fix viscosity command. +

+
+ +

6.14 Finite-size spherical and aspherical particles +

+

Typical MD models treat atoms or particles as point masses. Sometimes it is desirable to have a model with finite-size particles such as spheroids or ellipsoids or generalized aspherical bodies. The difference is that such particles have a moment of inertia, rotational energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles.

-

LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn:

-
    -
  • atom styles
  • -
  • pair potentials
  • -
  • time integration
  • -
  • computes, thermodynamics, and dump output
  • -
  • rigid bodies composed of finite-size particles
  • -
-

Example input scripts for these kinds of models are in the body, +from interactions with other particles. +

+

LAMMPS has several options for running simulations with these kinds of +particles. The following aspects are discussed in turn: +

+
  • atom styles +
  • pair potentials +
  • time integration +
  • computes, thermodynamics, and dump output +
  • rigid bodies composed of finite-size particles +
+

Example input scripts for these kinds of models are in the body, colloid, dipole, ellipse, line, peri, pour, and tri directories of the -examples directory in the LAMMPS distribution.

-
-

6.14.1. Atom styles¶

-

There are several atom styles that allow for +examples directory in the LAMMPS distribution. +

+
Atom styles +
+

There are several atom styles that allow for definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body.

-

The sphere style defines particles that are spheriods and each +tri, peri, and body. +

+

The sphere style defines particles that are spheriods and each particle can have a unique diameter and mass (or density). These particles store an angular velocity (omega) and can be acted upon by -torque. The “set” command can be used to modify the diameter and mass -of individual particles, after then are created.

-

The dipole style does not actually define finite-size particles, but +torque. The "set" command can be used to modify the diameter and mass +of individual particles, after then are created. +

+

The dipole style does not actually define finite-size particles, but is often used in conjunction with spherical particles, via a command -like

-
atom_style hybrid sphere dipole
-
-
-

This is because when dipoles interact with each other, they induce +like +

+
atom_style hybrid sphere dipole 
+
+

This is because when dipoles interact with each other, they induce torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the atom_style dipole command for details. The “set” command can be +inertia) in order to respond and rotate. See the atom_style +dipole command for details. The "set" command can be used to modify the orientation and length of the dipole moment of -individual particles, after then are created.

-

The ellipsoid style defines particles that are ellipsoids and thus can +individual particles, after then are created. +

+

The ellipsoid style defines particles that are ellipsoids and thus can be aspherical. Each particle has a shape, specified by 3 diameters, and mass (or density). These particles store an angular momentum and their orientation (quaternion), and can be acted upon by torque. They do not store an angular velocity (omega), which can be in a different direction than angular momentum, rather they compute it as needed. -The “set” command can be used to modify the diameter, orientation, and +The "set" command can be used to modify the diameter, orientation, and mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are.

-

The line style defines line segment particles with two end points and +brief explanation of what quaternions are. +

+

The line style defines line segment particles with two end points and a mass (or density). They can be used in 2d simulations, and they can be joined together to form rigid bodies which represent arbitrary -polygons.

-

The tri style defines triangular particles with three corner points +polygons. +

+

The tri style defines triangular particles with three corner points and a mass (or density). They can be used in 3d simulations, and they can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface.

-

The peri style is used with Peridynamic models and +particles with a triangulated surface. +

+

The peri style is used with Peridynamic models and defines particles as having a volume, that is used internally in the -pair_style peri potentials.

-

The body style allows for definition of particles which can represent +pair_style peri potentials. +

+

The body style allows for definition of particles which can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the body doc page.

-

Note that if one of these atom styles is used (or multiple styles via -the atom_style hybrid command), not all particles in -the system are required to be finite-size or aspherical.

-

For example, in the ellipsoid style, if the 3 shape parameters are set +is discussed in more detail on the body doc page. +

+

Note that if one of these atom styles is used (or multiple styles via +the atom_style hybrid command), not all particles in +the system are required to be finite-size or aspherical. +

+

For example, in the ellipsoid style, if the 3 shape parameters are set to the same value, the particle will be a sphere rather than an ellipsoid. If the 3 shape parameters are all set to 0.0 or if the diameter is set to 0.0, it will be a point particle. In the line or tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle.

-

Some of the pair styles used to compute pairwise interactions between +will be a point particle. +

+

Some of the pair styles used to compute pairwise interactions between finite-size particles also compute the correct interaction with point particles as well, e.g. the interaction between a point particle and a finite-size particle or between two point particles. If necessary, -pair_style hybrid can be used to insure the correct +pair_style hybrid can be used to insure the correct interactions are computed for the appropriate style of interactions. Likewise, using groups to partition particles (ellipsoids versus spheres versus point particles) will allow you to use the appropriate time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details.

-

Also note that for 2d simulations, atom styles sphere +particles. See the doc pages for various commands for details. +

+

Also note that for 2d simulations, atom styles sphere and ellipsoid still use 3d particles, rather than as circular disks or ellipses. This means they have the same moment of inertia as the 3d object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system.

-
-
-

6.14.2. Pair potentials¶

-

When a system with finite-size particles is defined, the particles +are used for rotation in a 2d versus 3d system. +

+
Pair potentials +
+

When a system with finite-size particles is defined, the particles will only rotate and experience torque if the force field computes -such interactions. These are the various pair styles that generate torque:

- -

The granular pair styles are used with spherical particles. The +such interactions. These are the various pair +styles that generate torque: +

+ +

The granular pair styles are used with spherical particles. The dipole pair style is used with the dipole atom style, which could be applied to spherical or ellipsoidal particles. The GayBerne and REsquared potentials require ellipsoidal particles, though they will also work if the 3 shape parameters are the same (a sphere). The Brownian and lubrication potentials are used with spherical particles. The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively.

-
-
-

6.14.3. Time integration¶

-

There are several fixes that perform time integration on finite-size +triangular, and body particles respectively. +

+
Time integration +
+

There are several fixes that perform time integration on finite-size spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles:

- -

Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles:

- -

The advantage of these fixes is that those which thermostat the +orientation and angular velocity or angular momentum of the particles: +

+ +

Likewise, there are 3 fixes that perform time integration on +ellipsoidal particles: +

+ +

The advantage of these fixes is that those which thermostat the particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The fix langevin -command can also be used with its omgea or angmom options to +calculation and thermostatting. The fix langevin +command can also be used with its omgea or angmom options to thermostat the rotational degrees of freedom for spherical or ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles.

-

These fixes perform constant NVE time integration on line segment, -triangular, and body particles:

- -

Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with groups which -contain finite-size particles.

-
-
-

6.14.4. Computes, thermodynamics, and dump output¶

-

There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles:

- -

These include rotational degrees of freedom in their computation. If +translational kinetic energy of finite-size particles. +

+

These fixes perform constant NVE time integration on line segment, +triangular, and body particles: +

+ +

Note that for mixtures of point and finite-size particles, these +integration fixes can only be used with groups which +contain finite-size particles. +

+
Computes, thermodynamics, and dump output +
+

There are several computes that calculate the temperature or +rotational energy of spherical or ellipsoidal particles: +

+ +

These include rotational degrees of freedom in their computation. If you wish the thermodynamic output of temperature or pressure to use one of these computes (e.g. for a system entirely composed of finite-size particles), then the compute can be defined and the -thermo_modify command used. Note that by default +thermo_modify command used. Note that by default thermodynamic quantities will be calculated with a temperature that only includes translational degrees of freedom. See the -thermo_style command for details.

-

These commands can be used to output various attributes of finite-size -particles:

- -

Attributes include the dipole moment, the angular velocity, the +thermo_style command for details. +

+

These commands can be used to output various attributes of finite-size +particles: +

+ +

Attributes include the dipole moment, the angular velocity, the angular momentum, the quaternion, the torque, the end-point and corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles.

-
-
-

6.14.5. Rigid bodies composed of finite-size particles¶

-

The fix rigid command treats a collection of +sub-particle attributes of body particles. +

+
Rigid bodies composed of finite-size particles +
+

The fix rigid command treats a collection of particles as a rigid body, computes its inertia tensor, sums the total force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body.

-

If any of the constituent particles of a rigid body are finite-size +constituent particles, and integrates the motion of the rigid body. +

+

If any of the constituent particles of a rigid body are finite-size particles (spheres or ellipsoids or line segments or triangles), then their contribution to the inertia tensor of the body is different than if they were point particles. This means the rotational dynamics of @@ -1301,265 +1258,290 @@ different if the dimer consists of two point masses versus two spheroids, even if the two particles have the same mass. Finite-size particles that experience torque due to their interaction with other particles will also impart that torque to a rigid body they are part -of.

-

See the “fix rigid” command for example of complex rigid-body models -it is possible to define in LAMMPS.

-

Note that the fix shake command can also be used to +of. +

+

See the "fix rigid" command for example of complex rigid-body models +it is possible to define in LAMMPS. +

+

Note that the fix shake command can also be used to treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses.

-

Also note that body particles cannot be modeled with the fix rigid command. Body particles are treated by LAMMPS +particles are point masses. +

+

Also note that body particles cannot be modeled with the fix +rigid command. Body particles are treated by LAMMPS as single particles, though they can store internal state, such as a list of sub-particles. Individual body partices are typically treated -as rigid bodies, and their motion integrated with a command like fix nve/body. Interactions between pairs of body -particles are computed via a command like pair_style body.

-
-
-
-
-

6.15. Output from LAMMPS (thermo, dumps, computes, fixes, variables)¶

-

There are four basic kinds of LAMMPS output:

-
    -
  • Thermodynamic output, which is a list -of quantities printed every few timesteps to the screen and logfile.
  • -
  • Dump files, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency.
  • -
  • Certain fixes can output user-specified quantities to files: fix ave/time for time averaging, fix ave/spatial for spatial averaging, and fix print for single-line output of -variables. Fix print can also output to the -screen.
  • -
  • Restart files.
  • -
-

A simulation prints one set of thermodynamic output and (optionally) +as rigid bodies, and their motion integrated with a command like fix +nve/body. Interactions between pairs of body +particles are computed via a command like pair_style +body. +

+
+ +

6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) +

+

There are four basic kinds of LAMMPS output: +

+
  • Thermodynamic output, which is a list +of quantities printed every few timesteps to the screen and logfile. + +
  • Dump files, which contain snapshots of atoms and various +per-atom values and are written at a specified frequency. + +
  • Certain fixes can output user-specified quantities to files: fix +ave/time for time averaging, fix +ave/spatial for spatial averaging, and fix +print for single-line output of +variables. Fix print can also output to the +screen. + +
  • Restart files. +
+

A simulation prints one set of thermodynamic output and (optionally) restart files. It can generate any number of dump files and fix -output files, depending on what dump and fix -commands you specify.

-

As discussed below, LAMMPS gives you a variety of ways to determine +output files, depending on what dump and fix +commands you specify. +

+

As discussed below, LAMMPS gives you a variety of ways to determine what quantities are computed and printed when the thermodynamics, dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also add their own computes and fixes to LAMMPS which can then generate values that can -then be output with these commands.

-

The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce:

- -
-

6.15.1. Global/per-atom/local data¶

-

Various output-related commands work with three different styles of +discussion, note that users can also add their own computes and fixes +to LAMMPS which can then generate values that can +then be output with these commands. +

+

The following sub-sections discuss different LAMMPS command related +to output and the kind of data they operate on and produce: +

+ +
Global/per-atom/local data +
+

Various output-related commands work with three different styles of data: global, per-atom, or local. A global datum is one or more system-wide values, e.g. the temperature of the system. A per-atom datum is one or more values per atom, e.g. the kinetic energy of each atom. Local datums are calculated by each processor based on the atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances.

-
-
-

6.15.2. Scalar/vector/array data¶

-

Global, per-atom, and local datums can each come in three kinds: a +bond distances. +

+
Scalar/vector/array data +
+

Global, per-atom, and local datums can each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The -doc page for a “compute” or “fix” or “variable” that generates data +doc page for a "compute" or "fix" or "variable" that generates data will specify both the style and kind of data it produces, e.g. a -per-atom vector.

-

When a quantity is accessed, as in many of the output commands +per-atom vector. +

+

When a quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket notation, where ID in this case is the ID of a compute. The leading -“c_” would be replaced by “f_” for a fix, or “v_” for a variable:

- ---- - - - - - - - - - - - -
c_IDentire scalar, vector, or array
c_ID[I]one element of vector, one column of array
c_ID[I][J]one element of array
-

In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses +"c_" would be replaced by "f_" for a fix, or "v_" for a variable: +

+
+ + +
c_ID entire scalar, vector, or array
c_ID[I] one element of vector, one column of array
c_ID[I][J] one element of array +
+ +

In other words, using one bracket reduces the dimension of the data +once (vector -> scalar, array -> vector). Using two brackets reduces +the dimension twice (array -> scalar). Thus a command that uses scalar values as input can typically also process elements of a vector -or array.

-
-
-

6.15.3. Thermodynamic output¶

-

The frequency and format of thermodynamic output is set by the -thermo, thermo_style, and -thermo_modify commands. The -thermo_style command also specifies what values +or array. +

+
Thermodynamic output +
+

The frequency and format of thermodynamic output is set by the +thermo, thermo_style, and +thermo_modify commands. The +thermo_style command also specifies what values are calculated and written out. Pre-defined keywords can be specified (e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a compute -or fix or variable provides the value to be +also be specified (c_ID, f_ID, v_name), where a compute +or fix or variable provides the value to be output. In each case, the compute, fix, or variable must generate -global values for input to the thermo_style custom -command.

-

Note that thermodynamic output values can be “extensive” or -“intensive”. The former scale with the number of atoms in the system +global values for input to the thermo_style custom +command. +

+

Note that thermodynamic output values can be "extensive" or +"intensive". The former scale with the number of atoms in the system (e.g. total energy), the latter do not (e.g. temperature). The -setting for thermo_modify norm determines whether +setting for thermo_modify norm determines whether extensive quantities are normalized or not. Computes and fixes produce either extensive or intensive values; see their individual doc -pages for details. Equal-style variables produce only -intensive values; you can include a division by “natoms” in the +pages for details. Equal-style variables produce only +intensive values; you can include a division by "natoms" in the formula if desired, to make an extensive calculation produce an -intensive result.

-
-
-

6.15.4. Dump file output¶

-

Dump file output is specified by the dump and -dump_modify commands. There are several -pre-defined formats (dump atom, dump xtc, etc).

-

There is also a dump custom format where the user +intensive result. +

+
Dump file output +
+

Dump file output is specified by the dump and +dump_modify commands. There are several +pre-defined formats (dump atom, dump xtc, etc). +

+

There is also a dump custom format where the user specifies what values are output with each atom. Pre-defined atom attributes can be specified (id, x, fx, etc). Three additional kinds of keywords can also be specified (c_ID, f_ID, v_name), where a -compute or fix or variable +compute or fix or variable provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the dump custom command.

-

There is also a dump local format where the user specifies +variable must generate per-atom values for input to the dump +custom command. +

+

There is also a dump local format where the user specifies what local values to output. A pre-defined index keyword can be specified to enumuerate the local values. Two additional kinds of keywords can also be specified (c_ID, f_ID), where a -compute or fix or variable +compute or fix or variable provides the values to be output. In each case, the compute or fix -must generate local values for input to the dump local -command.

-
-
-

6.15.5. Fixes that write output files¶

-

Several fixes take various quantities as input and can write output -files: fix ave/time, fix ave/spatial, fix ave/histo, -fix ave/correlate, and fix print.

-

The fix ave/time command enables direct output to +must generate local values for input to the dump local +command. +

+
Fixes that write output files +
+

Several fixes take various quantities as input and can write output +files: fix ave/time, fix +ave/spatial, fix ave/histo, +fix ave/correlate, and fix +print. +

+

The fix ave/time command enables direct output to a file and/or time-averaging of global scalars or vectors. The user specifies one or more quantities as input. These can be global -compute values, global fix values, or -variables of any style except the atom style which +compute values, global fix values, or +variables of any style except the atom style which produces per-atom values. Since a variable can refer to keywords used -by the thermo_style custom command (like temp or +by the thermo_style custom command (like temp or press) and individual per-atom values, a wide variety of quantities can be time averaged and/or output in this way. If the inputs are one or more scalar values, then the fix generate a global scalar or vector of output. If the inputs are one or more vector values, then the fix generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands.

-

The fix ave/spatial command enables direct +output of this fix can also be used as input to other output commands. +

+

The fix ave/spatial command enables direct output to a file of spatial-averaged per-atom quantities like those output in dump files, within 1d layers of the simulation box. The per-atom quantities can be atom density (mass or number) or atom attributes such as position, velocity, force. They can also be -per-atom quantities calculated by a compute, by a -fix, or by an atom-style variable. The +per-atom quantities calculated by a compute, by a +fix, or by an atom-style variable. The spatial-averaged output of this fix can also be used as input to other -output commands.

-

The fix ave/histo command enables direct output +output commands. +

+

The fix ave/histo command enables direct output to a file of histogrammed quantities, which can be global or per-atom or local quantities. The histogram output of this fix can also be -used as input to other output commands.

-

The fix ave/correlate command enables direct +used as input to other output commands. +

+

The fix ave/correlate command enables direct output to a file of time-correlated quantities, which can be global scalars. The correlation matrix output of this fix can also be used -as input to other output commands.

-

The fix print command can generate a line of output +as input to other output commands. +

+

The fix print command can generate a line of output written to the screen and log file or to a separate file, periodically during a running simulation. The line can contain one or more -variable values for any style variable except the atom +variable values for any style variable except the atom style). As explained above, variables themselves can contain -references to global values generated by thermodynamic keywords, computes, -fixes, or other variables, or to per-atom -values for a specific atom. Thus the fix print +references to global values generated by thermodynamic +keywords, computes, +fixes, or other variables, or to per-atom +values for a specific atom. Thus the fix print command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output.

-
-
-

6.15.6. Computes that process output quantities¶

-

The compute reduce and compute reduce/region commands take one or more per-atom -or local vector quantities as inputs and “reduce” them (sum, min, max, +from normal thermodynamic or dump file output. +

+
Computes that process output quantities +
+

The compute reduce and compute +reduce/region commands take one or more per-atom +or local vector quantities as inputs and "reduce" them (sum, min, max, ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands.

-

The compute slice command take one or more global +can be used as input to other output commands. +

+

The compute slice command take one or more global vector or array quantities as inputs and extracts a subset of their values to create a new vector or array. These are produced as output -values which can be used as input to other output commands.

-

The compute property/atom command takes a +values which can be used as input to other output commands. +

+

The compute property/atom command takes a list of one or more pre-defined atom attributes (id, x, fx, etc) and stores the values in a per-atom vector or array. These are produced as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the dump custom command.

-

The compute property/local command takes +The list of atom attributes is the same as for the dump +custom command. +

+

The compute property/local command takes a list of one or more pre-defined local attributes (bond info, angle info, etc) and stores the values in a local vector or array. These are produced as output values which can be used as input to other -output commands.

-
-
-

6.15.7. Fixes that process output quantities¶

-

The fix vector command can create global vectors as +output commands. +

+
Fixes that process output quantities +
+

The fix vector command can create global vectors as output from global scalars as input, accumulating them one element at -a time.

-

The fix ave/atom command performs time-averaging +a time. +

+

The fix ave/atom command performs time-averaging of per-atom vectors. The per-atom quantities can be atom attributes such as position, velocity, force. They can also be per-atom -quantities calculated by a compute, by a -fix, or by an atom-style variable. The +quantities calculated by a compute, by a +fix, or by an atom-style variable. The time-averaged per-atom output of this fix can be used as input to -other output commands.

-

The fix store/state command can archive one or +other output commands. +

+

The fix store/state command can archive one or more per-atom attributes at a particular time, so that the old values can be used in a future calculation or output. The list of atom -attributes is the same as for the dump custom command, -including per-atom quantities calculated by a compute, -by a fix, or by an atom-style variable. -The output of this fix can be used as input to other output commands.

-
-
-

6.15.8. Computes that generate values to output¶

-

Every compute in LAMMPS produces either global or +attributes is the same as for the dump custom command, +including per-atom quantities calculated by a compute, +by a fix, or by an atom-style variable. +The output of this fix can be used as input to other output commands. +

+
Computes that generate values to output +
+

Every compute in LAMMPS produces either global or per-atom or local values. The values can be scalars or vectors or arrays of data. These values can be output using the other commands described in this section. The doc page for each compute command describes what it produces. Computes that produce per-atom or local -values have the word “atom” or “local” in their style name. Computes -without the word “atom” or “local” produce global values.

-
-
-

6.15.9. Fixes that generate values to output¶

-

Some fixes in LAMMPS produces either global or per-atom or +values have the word "atom" or "local" in their style name. Computes +without the word "atom" or "local" produce global values. +

+
Fixes that generate values to output +
+

Some fixes in LAMMPS produces either global or per-atom or local values which can be accessed by other commands. The values can be scalars or vectors or arrays of data. These values can be output using the other commands described in this section. The doc page for each fix command tells whether it produces any output quantities and -describes them.

-
-
-

6.15.10. Variables that generate values to output¶

-

Every variables defined in an input script generates +describes them. +

+
Variables that generate values to output +
+

Every variables defined in an input script generates either a global scalar value or a per-atom vector (only atom-style variables) when it is accessed. The formulas used to define equal- and atom-style variables can contain references to the thermodynamic keywords and to global and per-atom data generated by computes, fixes, and other variables. The values generated by variables can be output -using the other commands described in this section.

-
-
-

6.15.11. Summary table of output options and data flow between commands¶

-

This table summarizes the various commands that can be used for +using the other commands described in this section. +

+
Summary table of output options and data flow between commands +
+

This table summarizes the various commands that can be used for generating output from LAMMPS. Each command produces output data of some kind and/or writes data to a file. Most of the commands can take data from other commands as input. Thus you can link many of these @@ -1567,331 +1549,273 @@ commands together in pipeline form, where data produced by one command is used as input to another command and eventually written to the screen or to a file. Note that to hook two commands together the output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data.

-

Also note that, as described above, when a command takes a scalar as +data and scalar/vector/array data. +

+

Also note that, as described above, when a command takes a scalar as input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array.

- ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandInputOutput 
thermo_style customglobal scalarsscreen, log file 
dump customper-atom vectorsdump file 
dump locallocal vectorsdump file 
fix printglobal scalar from variablescreen, file 
printglobal scalar from variablescreen 
computesN/Aglobal/per-atom/local scalar/vector/array 
fixesN/Aglobal/per-atom/local scalar/vector/array 
variablesglobal scalars, per-atom vectorsglobal scalar, per-atom vector 
compute reduceper-atom/local vectorsglobal scalar/vector 
compute sliceglobal vectors/arraysglobal vector/array 
compute property/atomper-atom vectorsper-atom vector/array 
compute property/locallocal vectorslocal vector/array 
fix vectorglobal scalarsglobal vector 
fix ave/atomper-atom vectorsper-atom vector/array 
fix ave/timeglobal scalars/vectorsglobal scalar/vector/array, file 
fix ave/spatialper-atom vectorsglobal array, file 
fix ave/histoglobal/per-atom/local scalars and vectorsglobal array, file 
fix ave/correlateglobal scalarsglobal array, file 
fix store/stateper-atom vectorsper-atom vector/array 
    
-
-
-
-
-

6.16. Thermostatting, barostatting, and computing temperature¶

-

Thermostatting means controlling the temperature of particles in an MD +vector input could be a column of an array. +

+
+ + + + + + + + + + + + + + + + + + + + +
Command Input Output
thermo_style custom global scalars screen, log file
dump custom per-atom vectors dump file
dump local local vectors dump file
fix print global scalar from variable screen, file
print global scalar from variable screen
computes N/A global/per-atom/local scalar/vector/array
fixes N/A global/per-atom/local scalar/vector/array
variables global scalars, per-atom vectors global scalar, per-atom vector
compute reduce per-atom/local vectors global scalar/vector
compute slice global vectors/arrays global vector/array
compute property/atom per-atom vectors per-atom vector/array
compute property/local local vectors local vector/array
fix vector global scalars global vector
fix ave/atom per-atom vectors per-atom vector/array
fix ave/time global scalars/vectors global scalar/vector/array, file
fix ave/spatial per-atom vectors global array, file
fix ave/histo global/per-atom/local scalars and vectors global array, file
fix ave/correlate global scalars global array, file
fix store/state per-atom vectors per-atom vector/array
+
+ +
+ +

6.16 Thermostatting, barostatting, and computing temperature +

+

Thermostatting means controlling the temperature of particles in an MD simulation. Barostatting means controlling the pressure. Since the pressure includes a kinetic component due to particle velocities, both these operations require calculation of the temperature. Typically a target temperature (T) and/or pressure (P) is specified by the user, and the thermostat or barostat attempts to equilibrate the system to -the requested T and/or P.

-

Temperature is computed as kinetic energy divided by some number of +the requested T and/or P. +

+

Temperature is computed as kinetic energy divided by some number of degrees of freedom (and the Boltzmann constant). Since kinetic energy is a function of particle velocity, there is often a need to -distinguish between a particle’s advection velocity (due to some +distinguish between a particle's advection velocity (due to some aggregate motiion of particles) and its thermal velocity. The sum of -the two is the particle’s total velocity, but the latter is often what -is wanted to compute a temperature.

-

LAMMPS has several options for computing temperatures, any of which -can be used in thermostatting and barostatting. These compute commands calculate temperature, and the compute pressure command calculates pressure.

- -

All but the first 3 calculate velocity biases directly (e.g. advection +the two is the particle's total velocity, but the latter is often what +is wanted to compute a temperature. +

+

LAMMPS has several options for computing temperatures, any of which +can be used in thermostatting and barostatting. These compute +commands calculate temperature, and the compute +pressure command calculates pressure. +

+ +

All but the first 3 calculate velocity biases directly (e.g. advection velocities) that are removed when computing the thermal temperature. -Compute temp/sphere and compute temp/asphere compute kinetic energy for +Compute temp/sphere and compute +temp/asphere compute kinetic energy for finite-size particles that includes rotational degrees of freedom. They both allow for velocity biases indirectly, via an optional extra argument, another temperature compute that subtracts a velocity bias. This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways.

-

Thermostatting in LAMMPS is performed by fixes, or in one +particles to be adjusted in prescribed ways. +

+

Thermostatting in LAMMPS is performed by fixes, or in one case by a pair style. Several thermostatting fixes are available: Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling (temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the dpd/tstat pair style:

- -

Fix nvt only thermostats the translational velocity of -particles. Fix nvt/sllod also does this, except +can be invoked via the dpd/tstat pair style: +

+ +

Fix nvt only thermostats the translational velocity of +particles. Fix nvt/sllod also does this, except that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the NEMD simulations section of this page for further details. Fix nvt/sphere and fix nvt/asphere thermostat not only translation +integrates the SLLOD equations of motion. See the NEMD +simulations section of this page for further details. Fix +nvt/sphere and fix +nvt/asphere thermostat not only translation velocities but also rotational velocities for spherical and aspherical -particles.

-

DPD thermostatting alters pairwise interactions in a manner analagous -to the per-particle thermostatting of fix langevin.

-

Any of the thermostatting fixes can use temperature computes that +particles. +

+

DPD thermostatting alters pairwise interactions in a manner analagous +to the per-particle thermostatting of fix +langevin. +

+

Any of the thermostatting fixes can use temperature computes that remove bias which has two effects. First, the current calculated temperature, which is compared to the requested target temperature, is caluclated with the velocity bias removed. Second, the thermostat -adjusts only the thermal temperature component of the particle’s +adjusts only the thermal temperature component of the particle's velocities, which are the velocities with the bias removed. The removed bias is then added back to the adjusted velocities. See the doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign +fix_modify command for instructions on how to assign a temperature compute to a thermostatting fix. For example, you can apply a thermostat to only the x and z components of velocity by using -it in conjunction with compute temp/partial. Of you could thermostat only +it in conjunction with compute +temp/partial. Of you could thermostat only the thermal temperature of a streaming flow of particles without -affecting the streaming velocity, by using compute temp/profile.

-
-

Warning

-

Only the nvt fixes perform time integration, meaning +affecting the streaming velocity, by using compute +temp/profile. +

+

IMPORTANT NOTE: Only the nvt fixes perform time integration, meaning they update the velocities and positions of particles due to forces and velocities respectively. The other thermostat fixes only adjust velocities; they do NOT perform time integration updates. Thus they should be used in conjunction with a constant NVE integration fix such -as these:

-
- -

Barostatting in LAMMPS is also performed by fixes. Two +as these: +

+ +

Barostatting in LAMMPS is also performed by fixes. Two barosttating methods are currently available: Nose-Hoover (npt and -nph) and Berendsen:

- -

The fix npt commands include a Nose-Hoover thermostat -and barostat. Fix nph is just a Nose/Hoover barostat; -it does no thermostatting. Both fix nph and fix press/bernendsen can be used in conjunction -with any of the thermostatting fixes.

-

As with the thermostats, fix npt and fix nph only use translational motion of the particles in -computing T and P and performing thermo/barostatting. Fix npt/sphere and fix npt/asphere thermo/barostat using not only +nph) and Berendsen: +

+ +

The fix npt commands include a Nose-Hoover thermostat +and barostat. Fix nph is just a Nose/Hoover barostat; +it does no thermostatting. Both fix nph and fix +press/bernendsen can be used in conjunction +with any of the thermostatting fixes. +

+

As with the thermostats, fix npt and fix +nph only use translational motion of the particles in +computing T and P and performing thermo/barostatting. Fix +npt/sphere and fix +npt/asphere thermo/barostat using not only translation velocities but also rotational velocities for spherical -and aspherical particles.

-

All of the barostatting fixes use the compute pressure compute to calculate a current -pressure. By default, this compute is created with a simple compute temp (see the last argument of the compute pressure command), which is used to calculated +and aspherical particles. +

+

All of the barostatting fixes use the compute +pressure compute to calculate a current +pressure. By default, this compute is created with a simple compute +temp (see the last argument of the compute +pressure command), which is used to calculated the kinetic componenet of the pressure. The barostatting fixes can also use temperature computes that remove bias for the purpose of computing the kinetic componenet which contributes to the current pressure. See the doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign -a temperature or pressure compute to a barostatting fix.

-
-

Warning

-

As with the thermostats, the Nose/Hoover methods (fix npt and fix nph) perform time -integration. Fix press/berendsen does NOT, +fix_modify command for instructions on how to assign +a temperature or pressure compute to a barostatting fix. +

+

IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (fix +npt and fix nph) perform time +integration. Fix press/berendsen does NOT, so it should be used with one of the constant NVE fixes or with one of -the NVT fixes.

-
-

Finally, thermodynamic output, which can be setup via the -thermo_style command, often includes temperature +the NVT fixes. +

+

Finally, thermodynamic output, which can be setup via the +thermo_style command, often includes temperature and pressure values. As explained on the doc page for the -thermo_style command, the default T and P are +thermo_style command, the default T and P are setup by the thermo command itself. They are NOT the ones associated with any thermostatting or barostatting fix you have defined or with any compute that calculates a temperature or pressure. Thus if you want to view these values of T and P, you need to specify them -explicitly via a thermo_style custom command. Or -you can use the thermo_modify command to +explicitly via a thermo_style custom command. Or +you can use the thermo_modify command to re-define what temperature or pressure compute is used for default -thermodynamic output.

-
-
-
-

6.17. Walls¶

-

Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition.

-

Walls in LAMMPS can be of rough (made of particles) or idealized +thermodynamic output. +

+
+ +

6.17 Walls +

+

Walls in an MD simulation are typically used to bound particle motion, +i.e. to serve as a boundary condition. +

+

Walls in LAMMPS can be of rough (made of particles) or idealized surfaces. Ideal walls can be smooth, generating forces only in the normal direction, or frictional, generating forces also in the -tangential direction.

-

Rough walls, built of particles, can be created in various ways. The +tangential direction. +

+

Rough walls, built of particles, can be created in various ways. The particles themselves can be generated like any other particle, via the -lattice and create_atoms commands, -or read in via the read_data command.

-

Their motion can be constrained by many different commands, so that +lattice and create_atoms commands, +or read in via the read_data command. +

+

Their motion can be constrained by many different commands, so that they do not move at all, move together as a group at constant velocity or in response to a net force acting on them, move in a prescribed fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like fix nve or fix nvt +integration fix like fix nve or fix nvt is not used with the group that contains wall particles, their -positions and velocities will not be updated.

-
    -
  • fix aveforce - set force on particles to average value, so they move together
  • -
  • fix setforce - set force on particles to a value, e.g. 0.0
  • -
  • fix freeze - freeze particles for use as granular walls
  • -
  • fix nve/noforce - advect particles by their velocity, but without force
  • -
  • fix move - prescribe motion of particles by a linear velocity, oscillation, rotation, variable
  • -
-

The fix move command offers the most generality, since +positions and velocities will not be updated. +

+
  • fix aveforce - set force on particles to average value, so they move together +
  • fix setforce - set force on particles to a value, e.g. 0.0 +
  • fix freeze - freeze particles for use as granular walls +
  • fix nve/noforce - advect particles by their velocity, but without force +
  • fix move - prescribe motion of particles by a linear velocity, oscillation, rotation, variable +
+

The fix move command offers the most generality, since the motion of individual particles can be specified with -variable formula which depends on time and/or the -particle position.

-

For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the neigh_modify exclude command.

-

Rough walls can also be created by specifying frozen particles that do +variable formula which depends on time and/or the +particle position. +

+

For rough walls, it may be useful to turn off pairwise interactions +between wall particles via the neigh_modify +exclude command. +

+

Rough walls can also be created by specifying frozen particles that do not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a bond. -The bonded particles do interact with other mobile particles.

-

Idealized walls can be specified via several fix commands. Fix wall/gran creates frictional walls for use with -granular particles; all the other commands create smooth walls.

- -

The lj93, lj126, colloid, and harmonic styles all allow the +other particles to the fixed particles, via a bond. +The bonded particles do interact with other mobile particles. +

+

Idealized walls can be specified via several fix commands. Fix +wall/gran creates frictional walls for use with +granular particles; all the other commands create smooth walls. +

+ +

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 command offers the most +The fix wall/region 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 can also -specify a volume “interior” or “exterior” to the specified primitive -shape or union or intersection. Regions can also be -“dynamic” meaning they move with constant velocity, oscillate, or -rotate.

-

The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the fix wall/gran +and intersection of primitive volumes. Regions can also +specify a volume "interior" or "exterior" to the specified primitive +shape or union or intersection. Regions can also be +"dynamic" meaning they move with constant velocity, oscillate, or +rotate. +

+

The only frictional idealized walls currently in LAMMPS are flat or +curved surfaces specified by the fix wall/gran command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces.

-
-
-
-

6.18. Elastic constants¶

-

Elastic constants characterize the stiffness of a material. The formal +frictional walls, as well as triangulated surfaces. +

+
+ +

6.18 Elastic constants +

+

Elastic constants characterize the stiffness of a material. The formal definition is provided by the linear relation that holds between the stress and strain tensors in the limit of infinitesimal deformation. In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where @@ -1902,13 +1826,16 @@ constants. In three dimensions, this tensor has 3^4=81 elements. Using Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij is now the derivative of s_i w.r.t. e_j. Because s_i is itself a derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements.

-

At zero temperature, it is easy to estimate these derivatives by +most 7*6/2 = 21 distinct elements. +

+

At zero temperature, it is easy to estimate these derivatives by deforming the simulation box in one of the six directions using the -change_box command and measuring the change in the +change_box command and measuring the change in the stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described in this section.

-

Calculating elastic constants at finite temperature is more +examples/elastic directory described in this +section. +

+

Calculating elastic constants at finite temperature is more challenging, because it is necessary to run a simulation that perfoms time averages of differential properties. One way to do this is to measure the change in average stress tensor in an NVT simulations when @@ -1918,57 +1845,66 @@ the deformation must be chosen judiciously, and care must be taken to fully equilibrate the deformed cell before sampling the stress tensor. Another approach is to sample the triclinic cell fluctuations that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing (Shinoda)

-
-
-
-

6.19. Library interface to LAMMPS¶

-

As described in Section_start 5, LAMMPS +converge and requires careful post-processing (Shinoda) +

+
+ +

6.19 Library interface to LAMMPS +

+

As described in Section_start 5, LAMMPS can be built as a library, so that it can be called by another code, -used in a coupled manner with other -codes, or driven through a Python interface.

-

All of these methodologies use a C-style interface to LAMMPS that is +used in a coupled manner with other +codes, or driven through a Python interface. +

+

All of these methodologies use a C-style interface to LAMMPS that is provided in the files src/library.cpp and src/library.h. The functions therein have a C-style argument list, but contain C++ code you could write yourself in a C++ application that was invoking LAMMPS directly. The C++ code in the functions illustrates how to invoke internal LAMMPS operations. Note that LAMMPS classes are defined within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application.

-

Library.cpp contains these 4 functions:

-
void lammps_open(int, char **, MPI_Comm, void **)
+application.
+

+

Library.cpp contains these 4 functions: +

+
void lammps_open(int, char **, MPI_Comm, void **)
 void lammps_close(void *)
 void lammps_file(void *, char *)
-char *lammps_command(void *, char *)
-
-
-

The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were command-line arguments when LAMMPS is run in +char *lammps_command(void *, char *) + +

The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were command-line +arguments when LAMMPS is run in stand-alone mode from the command line, and a MPI communicator for LAMMPS to run under. It returns a ptr to the LAMMPS object that is created, and which is used in subsequent library calls. The lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS.

-

LAMMPS will run on the set of processors in the communicator. This +multiple instances of LAMMPS. +

+

LAMMPS will run on the set of processors in the communicator. This means the calling code can run LAMMPS on all or a subset of processors. For example, a wrapper script might decide to alternate between LAMMPS and another code, allowing them both to run on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations.

-

The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory.

-

The lammps_file() and lammps_command() functions are used to pass a +instances of LAMMPS to perform different calculations. +

+

The lammps_close() function is used to shut down an instance of LAMMPS +and free all its memory. +

+

The lammps_file() and lammps_command() functions are used to pass a file or string to LAMMPS as if it were an input script or single command in an input script. Thus the calling code can read or generate a series of LAMMPS commands one line at a time and pass it thru the library interface to setup a problem and then run it, interleaving the lammps_command() calls with other calls to extract information from LAMMPS, perform its own operations, or call another -code’s library.

-

Other useful functions are also included in library.cpp. For example:

-
void *lammps_extract_global(void *, char *)
+code's library.
+

+

Other useful functions are also included in library.cpp. For example: +

+
void *lammps_extract_global(void *, char *)
 void *lammps_extract_atom(void *, char *)
 void *lammps_extract_compute(void *, char *, int, int)
 void *lammps_extract_fix(void *, char *, int, int, int, int)
@@ -1976,187 +1912,209 @@ void *lammps_extract_variable(void *, char *, char *)
 int lammps_set_variable(void *, char *, char *)
 int lammps_get_natoms(void *)
 void lammps_get_coords(void *, double *)
-void lammps_put_coords(void *, double *)
-
-
-

These can extract various global or per-atom quantities from LAMMPS as +void lammps_put_coords(void *, double *) + +

These can extract various global or per-atom quantities from LAMMPS as well as values calculated by a compute, fix, or variable. The -“set_variable” function can set an existing string-style variable to a +"set_variable" function can set an existing string-style variable to a new value, so that subsequent LAMMPS commands can access the variable. -The “get” and “put” operations can retrieve and reset atom +The "get" and "put" operations can retrieve and reset atom coordinates. See the library.cpp file and its associated header file -library.h for details.

-

The key idea of the library interface is that you can write any +library.h for details. +

+

The key idea of the library interface is that you can write any functions you wish to define how your code talks to LAMMPS and add -them to src/library.cpp and src/library.h, as well as to the Python interface. The routines you add can access or +them to src/library.cpp and src/library.h, as well as to the Python +interface. The routines you add can access or change any LAMMPS data you wish. The examples/COUPLE and python directories have example C++ and C and Python codes which show how a driver code can link to LAMMPS as a library, run LAMMPS on a subset of processors, grab data from LAMMPS, change it, and put it back into -LAMMPS.

-
-
-
-

6.20. Calculating thermal conductivity¶

-

The thermal conductivity kappa of a material can be measured in at +LAMMPS. +

+
+ +

6.20 Calculating thermal conductivity +

+

The thermal conductivity kappa of a material can be measured in at least 4 ways using various options in LAMMPS. See the examples/KAPPA directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see this section of the manual for an analogous -discussion for viscosity.

-

The thermal conducitivity tensor kappa is a measure of the propensity +a simple Lennard-Jones fluid model. Also, see this +section of the manual for an analogous +discussion for viscosity. +

+

The thermal conducitivity tensor kappa is a measure of the propensity of a material to transmit heat energy in a diffusive manner as given -by Fourier’s law

-

J = -kappa grad(T)

-

where J is the heat flux in units of energy per area per time and +by Fourier's law +

+

J = -kappa grad(T) +

+

where J is the heat flux in units of energy per area per time and grad(T) is the spatial gradient of temperature. The thermal conductivity thus has units of energy per distance per time per degree K and is often approximated as an isotropic quantity, i.e. as a -scalar.

-

The first method is to setup two thermostatted regions at opposite +scalar. +

+

The first method is to setup two thermostatted regions at opposite ends of a simulation box, or one in the middle and one at the end of a periodic box. By holding the two regions at different temperatures -with a thermostatting fix, the energy +with a thermostatting fix, the energy added to the hot region should equal the energy subtracted from the cold region and be proportional to the heat flux moving between the -regions. See the paper by Ikeshoji and Hafskjold for -details of this idea. Note that thermostatting fixes such as fix nvt, fix langevin, and fix temp/rescale store the cumulative energy they -add/subtract.

-

Alternatively, as a second method, the fix heat +regions. See the paper by Ikeshoji and Hafskjold for +details of this idea. Note that thermostatting fixes such as fix +nvt, fix langevin, and fix +temp/rescale store the cumulative energy they +add/subtract. +

+

Alternatively, as a second method, the fix heat command can used in place of thermostats on each of two regions to add/subtract specified amounts of energy to both regions. In both cases, the resulting temperatures of the two regions can be monitored -with the “compute temp/region” command and the temperature profile of -the intermediate region can be monitored with the fix ave/spatial and compute ke/atom commands.

-

The third method is to perform a reverse non-equilibrium MD simulation -using the fix thermal/conductivity +with the "compute temp/region" command and the temperature profile of +the intermediate region can be monitored with the fix +ave/spatial and compute +ke/atom commands. +

+

The third method is to perform a reverse non-equilibrium MD simulation +using the fix thermal/conductivity command which implements the rNEMD algorithm of Muller-Plathe. Kinetic energy is swapped between atoms in two different layers of the simulation box. This induces a temperature gradient between the two -layers which can be monitored with the fix ave/spatial and compute ke/atom commands. The fix tallies the -cumulative energy transfer that it performs. See the fix thermal/conductivity command for -details.

-

The fourth method is based on the Green-Kubo (GK) formula which +layers which can be monitored with the fix +ave/spatial and compute +ke/atom commands. The fix tallies the +cumulative energy transfer that it performs. See the fix +thermal/conductivity command for +details. +

+

The fourth method is based on the Green-Kubo (GK) formula which relates the ensemble average of the auto-correlation of the heat flux to kappa. The heat flux can be calculated from the fluctuations of per-atom potential and kinetic energies and per-atom stress tensor in a steady-state equilibrated simulation. This is in contrast to the two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box.

-

The compute heat/flux command can calculate +between hot and cold regions of the simulation box. +

+

The compute heat/flux command can calculate the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the fix ave/correlate command to calculate the needed -auto-correlation. See the doc page for the compute heat/flux command for an example input script +formalism using additional LAMMPS commands, such as the fix +ave/correlate command to calculate the needed +auto-correlation. See the doc page for the compute +heat/flux command for an example input script that calculates the thermal conductivity of solid Ar via the GK -formalism.

-
-
-
-

6.21. Calculating viscosity¶

-

The shear viscosity eta of a fluid can be measured in at least 4 ways +formalism. +

+
+ +

6.21 Calculating viscosity +

+

The shear viscosity eta of a fluid can be measured in at least 4 ways using various options in LAMMPS. See the examples/VISCOSITY directory for scripts that implement the 4 methods discussed here for a simple -Lennard-Jones fluid model. Also, see this section of the manual for an analogous -discussion for thermal conductivity.

-

Eta is a measure of the propensity of a fluid to transmit momentum in +Lennard-Jones fluid model. Also, see this +section of the manual for an analogous +discussion for thermal conductivity. +

+

Eta is a measure of the propensity of a fluid to transmit momentum in a direction perpendicular to the direction of velocity or momentum flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by

-

J = -eta grad(Vstream)

-

where J is the momentum flux in units of momentum per area per time. +sheared. It is given by +

+

J = -eta grad(Vstream) +

+

where J is the momentum flux in units of momentum per area per time. and grad(Vstream) is the spatial gradient of the velocity of the fluid moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time.

-

The first method is to perform a non-equlibrium MD (NEMD) simulation -by shearing the simulation box via the fix deform -command, and using the fix nvt/sllod command to +momentum flows. Viscosity thus has units of pressure-time. +

+

The first method is to perform a non-equlibrium MD (NEMD) simulation +by shearing the simulation box via the fix deform +command, and using the fix nvt/sllod command to thermostat the fluid via the SLLOD equations of motion. Alternatively, as a second method, one or more moving walls can be used to shear the fluid in between them, again with some kind of thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up.

-

In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the fix ave/spatial command, which determines +velocity to prevent the fluid from heating up. +

+

In both cases, the velocity profile setup in the fluid by this +procedure can be monitored by the fix +ave/spatial command, which determines grad(Vstream) in the equation above. E.g. the derivative in the y-direction of the Vx component of fluid motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of the pressure or stress -tensor, as calculated by the compute pressure +tensor, as calculated by the compute pressure command, can also be monitored, which is the J term in the equation -above. See this section of the manual -for details on NEMD simulations.

-

The third method is to perform a reverse non-equilibrium MD simulation -using the fix viscosity command which implements +above. See this section of the manual +for details on NEMD simulations. +

+

The third method is to perform a reverse non-equilibrium MD simulation +using the fix viscosity command which implements the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is swapped between atoms in two different layers of the simulation box in a different dimension. This induces a velocity gradient which can be -monitored with the fix ave/spatial command. +monitored with the fix ave/spatial command. The fix tallies the cummulative momentum transfer that it performs. -See the fix viscosity command for details.

-

The fourth method is based on the Green-Kubo (GK) formula which +See the fix viscosity command for details. +

+

The fourth method is based on the Green-Kubo (GK) formula which relates the ensemble average of the auto-correlation of the stress/pressure tensor to eta. This can be done in a steady-state equilibrated simulation which is in contrast to the two preceding non-equilibrium methods, where momentum flows continuously through the -simulation box.

-

Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism:

-
# Sample LAMMPS input script for viscosity of liquid Ar
-
-
-
units       real
+simulation box.
+

+

Here is an example input script that calculates the viscosity of +liquid Ar via the GK formalism: +

+
# Sample LAMMPS input script for viscosity of liquid Ar 
+
+
units       real
 variable    T equal 86.4956
 variable    V equal vol
 variable    dt equal 4.0
 variable    p equal 400     # correlation length
 variable    s equal 5       # sample interval
-variable    d equal $p*$s   # dump interval
-
-
-
# convert from LAMMPS real units to SI
-
-
-
variable    kB equal 1.3806504e-23    # [J/K/** Boltzmann
+variable    d equal $p*$s   # dump interval 
+
+
# convert from LAMMPS real units to SI 
+
+
variable    kB equal 1.3806504e-23    # [J/K/ Boltzmann
 variable    atm2Pa equal 101325.0
 variable    A2m equal 1.0e-10
 variable    fs2s equal 1.0e-15
-variable    convert equal ${atm2Pa}*${atm2Pa}*${fs2s}*${A2m}*${A2m}*${A2m}
-
-
-
# setup problem
-
-
-
dimension    3
+variable    convert equal ${atm2Pa}*${atm2Pa}*${fs2s}*${A2m}*${A2m}*${A2m} 
+
+
# setup problem 
+
+
dimension    3
 boundary     p p p
 lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
 region       box block 0 4 0 4 0 4
 create_box   1 box
 create_atoms 1 box
-mass      1 39.948
+mass	     1 39.948
 pair_style   lj/cut 13.0
 pair_coeff   * * 0.2381 3.405
 timestep     ${dt}
-thermo            $d
-
-
-
# equilibration and thermalization
-
-
-
velocity     all create $T 102486 mom yes rot yes dist gaussian
+thermo	     $d 
+
+
# equilibration and thermalization 
+
+
velocity     all create $T 102486 mom yes rot yes dist gaussian
 fix          NVT all nvt temp $T $T 10 drag 0.2
-run          8000
-
-
-
# viscosity calculation, switch to NVE if desired
-
-
-
#unfix       NVT
-#fix         NVE all nve
-
-
-
reset_timestep 0
+run          8000 
+
+
# viscosity calculation, switch to NVE if desired 
+
+
#unfix       NVT
+#fix         NVE all nve 
+
+
reset_timestep 0
 variable     pxy equal pxy
 variable     pxz equal pxz
 variable     pyz equal pyz
-fix          SS all ave/correlate $s $p $d &
+fix          SS all ave/correlate $s $p $d &
              v_pxy v_pxz v_pyz type auto file S0St.dat ave running
 variable     scale equal ${convert}/(${kB}*$T)*$V*$s*${dt}
 variable     v11 equal trap(f_SS[3])*${scale}
@@ -2166,211 +2124,200 @@ thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33
 run          100000
 variable     v equal (v_v11+v_v22+v_v33)/3.0
 variable     ndens equal count(all)/vol
-print        "average viscosity: $v [Pa.s/** @ $T K, ${ndens} /A^3"
-
-
-
-
-
-

6.22. Calculating a diffusion coefficient¶

-

The diffusion coefficient D of a material can be measured in at least +print "average viscosity: $v [Pa.s/ @ $T K, ${ndens} /A^3" + +


+ +

6.22 Calculating a diffusion coefficient +

+

The diffusion coefficient D of a material can be measured in at least 2 ways using various options in LAMMPS. See the examples/DIFFUSE directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model.

-

The first method is to measure the mean-squared displacement (MSD) of -the system, via the compute msd command. The slope +a simple Lennard-Jones fluid model. +

+

The first method is to measure the mean-squared displacement (MSD) of +the system, via the compute msd command. The slope of the MSD versus time is proportional to the diffusion coefficient. The instantaneous MSD values can be accumulated in a vector via the -fix vector command, and a line fit to the vector to -compute its slope via the variable slope function, and -thus extract D.

-

The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the compute vacf +fix vector command, and a line fit to the vector to +compute its slope via the variable slope function, and +thus extract D. +

+

The second method is to measure the velocity auto-correlation function +(VACF) of the system, via the compute vacf command. The time-integral of the VACF is proportional to the diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the fix vector command, -and time integrated via the variable trap function, -and thus extract D.

-
-
-
-

6.23. Using chunks to calculate system properties¶

-

In LAMMS, “chunks” are collections of atoms, as defined by the -compute chunk/atom command, which assigns +accumulated in a vector via the fix vector command, +and time integrated via the variable trap function, +and thus extract D. +

+
+ +

6.23 Using chunks to calculate system properties +

+

In LAMMS, "chunks" are collections of atoms, as defined by the +compute chunk/atom command, which assigns each atom to a chunk ID (or to no chunk at all). The number of chunks and the assignment of chunk IDs to atoms can be static or change over -time. Examples of “chunks” are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy).

-

The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system:

- -

Here, each of the 3 kinds of chunk-related commands is briefly +time. Examples of "chunks" are molecules or spatial bins or atoms +with similar values (e.g. coordination number or potential energy). +

+

The per-atom chunk IDs can be used as input to two other kinds of +commands, to calculate various properties of a system: +

+ +

Here, each of the 3 kinds of chunk-related commands is briefly overviewed. Then some examples are given of how to compute different -properties with chunk commands.

-
-

6.23.1. Compute chunk/atom command:¶

-

This compute can assign atoms to chunks of various styles. Only atoms +properties with chunk commands. +

+
Compute chunk/atom command: +
+

This compute can assign atoms to chunks of various styles. Only atoms in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions:

- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
atoms in same moleculechunk ID = molecule ID
atoms of same atom typechunk ID = atom type
all atoms with same atom property (charge, radius, etc)chunk ID = output of compute property/atom
atoms in same clusterchunk ID = output of compute cluster/atom command
atoms in same spatial binchunk ID = bin ID
atoms in same rigid bodychunk ID = molecule ID used to define rigid bodies
atoms with similar potential energychunk ID = output of compute pe/atom
atoms with same local defect structurechunk ID = output of compute centro/atom or compute coord/atom command
-

Note that chunk IDs are integer values, so for atom properties or +chunk. Here are some possible chunk definitions: +

+
+ + + + + + + +
atoms in same molecule chunk ID = molecule ID
atoms of same atom type chunk ID = atom type
all atoms with same atom property (charge, radius, etc) chunk ID = output of compute property/atom
atoms in same cluster chunk ID = output of compute cluster/atom command
atoms in same spatial bin chunk ID = bin ID
atoms in same rigid body chunk ID = molecule ID used to define rigid bodies
atoms with similar potential energy chunk ID = output of compute pe/atom
atoms with same local defect structure chunk ID = output of compute centro/atom or compute coord/atom command +
+ +

Note that chunk IDs are integer values, so for atom properties or computes that produce a floating point value, they will be truncated to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple intergers.

-

Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins.

-

This compute also calculates the number of chunks Nchunk, which is -used by other commands to tally per-chunk data. Nchunk can be a +scales the floating point value to spread it across multiple intergers. +

+

Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = +pencils, 3d bins = boxes, spherical bins, cylindrical bins. +

+

This compute also calculates the number of chunks Nchunk, which is +used by other commands to tally per-chunk data. Nchunk can be a static value or change over time (e.g. the number of clusters). The chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves).

-

Note that this compute allows the per-atom output of other -computes, fixes, and -variables to be used to define chunk IDs for each +ID), or dynamic (e.g. what spatial bin an atom is in as it moves). +

+

Note that this compute allows the per-atom output of other +computes, fixes, and +variables to be used to define chunk IDs for each atom. This means you can write your own compute or fix to output a per-atom quantity to use as chunk ID. See -Section_modify of the documentation for how to -do this. You can also define a per-atom variable in +Section_modify of the documentation for how to +do this. You can also define a per-atom variable in the input script that uses a formula to generate a chunk ID for each -atom.

-
-
-

6.23.2. Fix ave/chunk command:¶

-

This fix takes the ID of a compute chunk/atom command as input. For each chunk, +atom. +

+
Fix ave/chunk command: +
+

This fix takes the ID of a compute +chunk/atom command as input. For each chunk, it then sums one or more specified per-atom values over the atoms in each chunk. The per-atom values can be any atom property, such as velocity, force, charge, potential energy, kinetic energy, stress, etc. Additional keywords are defined for per-chunk properties like density and temperature. More generally any per-atom value generated -by other computes, fixes, and per-atom variables, can be summed over atoms in each chunk.

-

Similar to other averaging fixes, this fix allows the summed per-chunk +by other computes, fixes, and per-atom +variables, can be summed over atoms in each chunk. +

+

Similar to other averaging fixes, this fix allows the summed per-chunk values to be time-averaged in various ways, and output to a file. The fix produces a global array as output with one row of values per -chunk.

-
-
-

6.23.3. Compute */chunk commands:¶

-

Currently the following computes operate on chunks of atoms to produce -per-chunk values.

- -

They each take the ID of a compute chunk/atom command as input. As their names +chunk. +

+
Compute */chunk commands: +
+

Currently the following computes operate on chunks of atoms to produce +per-chunk values. +

+ +

They each take the ID of a compute +chunk/atom command as input. As their names indicate, they calculate the center-of-mass, radius of gyration, moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The compute property/chunk command can tally the -count of atoms in each chunk and extract other per-chunk properties.

-

The reason these various calculations are not part of the fix ave/chunk command, is that each requires a more +and velocity of center-of-mass for each chunk of atoms. The compute +property/chunk command can tally the +count of atoms in each chunk and extract other per-chunk properties. +

+

The reason these various calculations are not part of the fix +ave/chunk command, is that each requires a more complicated operation than simply summing and averaging over per-atom values in each chunk. For example, many of them require calculation of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass.

-

All of these computes produce a global vector or global array as +atoms and then dividing by summed mass. +

+

All of these computes produce a global vector or global array as output, wih one or more values per chunk. They can be used -in various ways:

-
    -
  • As input to the fix ave/time command, which can -write the values to a file and optionally time average them.
  • -
  • As input to the fix ave/histo command to +in various ways: +

    +
    • As input to the fix ave/time command, which can +write the values to a file and optionally time average them. + +
    • As input to the fix ave/histo command to histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates.
    • -
    • As input to special functions of equal-style variables, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule.
    • -
    -
-
-

6.23.4. Example calculations with chunks¶

-

Here are eaxmples using chunk commands to calculate various -properties:

-
    -
  1. Average velocity in each of 1000 2d spatial bins:
  2. -
-
compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
-fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out
-
-
-

(2) Temperature in each spatial bin, after subtracting a flow -velocity:

-
compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
+molecule diffusion rates. 
+
+
  • As input to special functions of equal-style +variables, like sum() and max(). E.g. to find the +largest cluster or fastest diffusing molecule. + +
    Example calculations with chunks +
    +

    Here are eaxmples using chunk commands to calculate various +properties: +

    +

    (1) Average velocity in each of 1000 2d spatial bins: +

    +
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
    +fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out 
    +
    +

    (2) Temperature in each spatial bin, after subtracting a flow +velocity: +

    +
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
     compute vbias all temp/profile 1 0 0 y 10
    -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out
    -
  • -
    -
      -
    1. Center of mass of each molecule:
    2. -
    -
    compute cc1 all chunk/atom molecule
    +fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out 
    +
    +

    (3) Center of mass of each molecule: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -
      -
    1. Total force on each molecule and ave/max across all molecules:
    2. -
    -
    compute cc1 all chunk/atom molecule
    +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    +
    +

    (4) Total force on each molecule and ave/max across all molecules: +

    +
    compute cc1 all chunk/atom molecule
     fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
    -variable xave equal ave(f_1**2**)
    -variable xmax equal max(f_1**2**)
    +variable xave equal ave(f_12)
    +variable xmax equal max(f_12)
     thermo 1000
    -thermo_style custom step temp v_xave v_xmax
    -
    -
    -
      -
    1. Histogram of cluster sizes:
    2. -
    -
    compute cluster all cluster/atom 1.0
    +thermo_style custom step temp v_xave v_xmax 
    +
    +

    (5) Histogram of cluster sizes: +

    +
    compute cluster all cluster/atom 1.0
     compute cc1 all chunk/atom c_cluster compress yes
     compute size all property/chunk cc1 count
    -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo
    -
    -
    -
    -
    -
    -
    -

    6.24. Setting parameters for the kspace_style pppm/disp command¶

    -

    The PPPM method computes interactions by splitting the pair potential +fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo + +


    + +

    6.24 Setting parameters for the kspace_style pppm/disp command +

    +

    The PPPM method computes interactions by splitting the pair potential into two parts, one of which is computed in a normal pairwise fashion, the so-called real-space part, and one of which is computed using the Fourier transform, the so called reciprocal-space or kspace part. For @@ -2387,30 +2334,33 @@ real-space error of the PPPM for dispersion has a clear physical interpretation: the underprediction of cohesion. As a consequence, the real-space error has a much stronger effect than the kspace error on simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error.

    -

    When using pppm/disp and not making any specifications on the PPPM +way that this error is much smaller than the kspace error. +

    +

    When using pppm/disp and not making any specifications on the PPPM parameters via the kspace modify command, parameters will be tuned such that the real-space error and the kspace error are equal. This will result in simulations that are either inaccurate or slow, both of which is not desirable. For selecting parameters for the pppm/disp that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides.

    -

    The first approach is to set desired real-space an kspace accuracies -via the kspace_modify force/disp/real and kspace_modify -force/disp/kspace commands. Note that the accuracies have to be +which both have their up- and downsides. +

    +

    The first approach is to set desired real-space an kspace accuracies +via the kspace_modify force/disp/real and kspace_modify +force/disp/kspace commands. Note that the accuracies have to be specified in force units and are thus dependend on the chosen unit settings. For real units, 0.0001 and 0.002 seem to provide reasonable accurate and efficient computations for the real-space and kspace accuracies. 0.002 and 0.05 work well for most systems using lj units. PPPM parameters will be generated based on the desired accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the kspace_modify diff -ad and kspace_modify diff ik options. The downside of the method +good set of parameters and will work for both the kspace_modify diff +ad and kspace_modify diff ik options. The downside of the method is that setting the PPPM parameters will take some time during the -initialization of the simulation.

    -

    The second approach is to set the parameters for the pppm/disp -explicitly using the kspace_modify mesh/disp, kspace_modify -order/disp, and kspace_modify gewald/disp commands. This approach +initialization of the simulation. +

    +

    The second approach is to set the parameters for the pppm/disp +explicitly using the kspace_modify mesh/disp, kspace_modify +order/disp, and kspace_modify gewald/disp commands. This approach requires a more experienced user who understands well the impact of the choice of parameters on the simulation accuracy and performance. This approach provides a fast initialization of the @@ -2420,32 +2370,36 @@ far-from-optimal conditions for other simulations. For example, parametes that provide accurate and fast computations for all-atomistic force fields can provide insufficient accuracy or united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients).

    -

    To avoid inaccurate or inefficient simulations, the pppm/disp stops +typically have larger dispersion coefficients). +

    +

    To avoid inaccurate or inefficient simulations, the pppm/disp stops simulations with an error message if no action is taken to control the PPPM parameters. If the automatic parameter generation is desired and real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the kspace_modify disp/auto yes -command.

    -

    A reasonable approach that combines the upsides of both methods is to -make the first run using the kspace_modify force/disp/real and -kspace_modify force/disp/kspace commands, write down the PPPM +message can be suppressed using the kspace_modify disp/auto yes +command. +

    +

    A reasonable approach that combines the upsides of both methods is to +make the first run using the kspace_modify force/disp/real and +kspace_modify force/disp/kspace commands, write down the PPPM parameters from the outut, and specify these parameters using the second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume).

    -

    Concerning the performance of the pppm/disp there are two more things +force field, and approximately the same volume). +

    +

    Concerning the performance of the pppm/disp there are two more things to consider. The first is that when using the pppm/disp, the cutoff parameter does no longer affect the accuracy of the simulation (subject to that gewald/disp is adjusted when changing the cutoff). The performance can thus be increased by examining different values for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials.

    -

    The second is that the mixing rule of the pair style has an impact on +the truncation error of the repulsive term of pair potentials. +

    +

    The second is that the mixing rule of the pair style has an impact on the computation time when using the pppm/disp. Fastest computations are achieved when using the geometric mixing rule. Using the arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the kspace_modify -mix/disp geom and kspace_modify splittol commands. The first +The computational overhead can be reduced using the kspace_modify +mix/disp geom and kspace_modify splittol commands. The first command simply enforces geometric mixing of the dispersion coeffiecients in kspace computations. This introduces some error in the computations but will also significantly speed-up the @@ -2453,36 +2407,41 @@ simulations. The second keyword sets the accuracy with which the dispersion coefficients are approximated using a matrix factorization approach. This may result in better accuracy then using the first command, but will usually also not provide an equally good increase of -efficiency.

    -

    Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the kspace_modify mix/disp none command. +efficiency. +

    +

    Finally, pppm/disp can also be used when no mixing rules apply. +This can be achieved using the kspace_modify mix/disp none command. Note that the code does not check automatically whether any mixing rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly.

    -
    -
    -
    -

    6.25. Polarizable models¶

    -

    In polarizable force fields the charge distributions in molecules and +to specify this command explicitly. +

    +
    + +

    6.25 Polarizable models +

    +

    In polarizable force fields the charge distributions in molecules and materials respond to their electrostatic environements. Polarizable -systems can be simulated in LAMMPS using three methods:

    -
      -
    • the fluctuating charge method, implemented in the QEQ -package,
    • -
    • the adiabatic core-shell method, implemented in the -CORESHELL package,
    • -
    • the thermalized Drude dipole method, implemented in the -USER-DRUDE package.
    • -
    -

    The fluctuating charge method calculates instantaneous charges on +systems can be simulated in LAMMPS using three methods: +

    +
    • the fluctuating charge method, implemented in the QEQ +package, + +
    • the adiabatic core-shell method, implemented in the +CORESHELL package, + +
    • the thermalized Drude dipole method, implemented in the +USER-DRUDE package. +
    +

    The fluctuating charge method calculates instantaneous charges on interacting atoms based on the electronegativity equalization -principle. It is implemented in the fix qeq which is +principle. It is implemented in the fix qeq which is available in several variants. It is a relatively efficient technique since no additional particles are introduced. This method allows for charge transfer between molecules or atom groups. However, because the charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups.

    -

    The two other methods share the same basic idea: polarizable atoms are +polarization cannot be represented in planar molecules or atom groups. +

    +

    The two other methods share the same basic idea: polarizable atoms are split into one core atom and one satellite particle (called shell or Drude particle) attached to it by a harmonic spring. Both atoms bear a charge and they represent collectively an induced electric dipole. @@ -2491,242 +2450,255 @@ method because of additional particles and bonds. These two charge-on-spring methods differ in certain features, with the core-shell model being normally used for ionic/crystalline materials, whereas the so-called Drude model is normally used for molecular -systems and fluid states.

    -

    The core-shell model is applicable to crystalline materials where the +systems and fluid states. +

    +

    The core-shell model is applicable to crystalline materials where the high symmetry around each site leads to stable trajectories of the core-shell pairs. However, bonded atoms in molecules can be so close that a core would interact too strongly or even capture the Drude particle of a neighbor. The Drude dipole model is relatively more complex in order to remediate this and other issues. Specifically, the Drude model includes specific thermostating of the core-Drude pairs -and short-range damping of the induced dipoles.

    -

    The three polarization methods can be implemented through a +and short-range damping of the induced dipoles. +

    +

    The three polarization methods can be implemented through a self-consistent calculation of charges or induced dipoles at each timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in fix qeq/point, but for core-shell +inversion method in fix qeq/point, but for core-shell or Drude-dipoles the relaxed-dipoles technique would require an slow iterative procedure. These self-consistent solutions yield accurate trajectories since the additional degrees of freedom representing polarization are massless. An alternative is to attribute a mass to the additional degrees of freedom and perform time integration using an extended Lagrangian technique. For the fluctuating charge scheme -this is done by fix qeq/dynamic, and for the +this is done by fix qeq/dynamic, and for the charge-on-spring models by the methods outlined in the next two sections. The assignment of masses to the additional degrees of freedom can lead to unphysical trajectories if care is not exerted in choosing the parameters of the poarizable models and the simulation -conditions.

    -

    In the core-shell model the vibration of the shells is kept faster +conditions. +

    +

    In the core-shell model the vibration of the shells is kept faster than the ionic vibrations to mimic the fast response of the polarizable electrons. But in molecular systems thermalizing the core-Drude pairs at temperatures comparable to the rest of the simulation leads to several problems (kinetic energy transfer, too short a timestep, etc.) In order to avoid these problems the relative motion of the Drude particles with respect to their cores is kept -“cold” so the vibration of the core-Drude pairs is very slow, +"cold" so the vibration of the core-Drude pairs is very slow, approaching the self-consistent regime. In both models the temperature is regulated using the velocities of the center of mass of core+shell (or Drude) pairs, but in the Drude model the actual relative core-Drude particle motion is thermostated separately as -well.

    -
    -
    -
    -

    6.26. Adiabatic core/shell model¶

    -

    The adiabatic core-shell model by Mitchell and Finchham is a simple method for adding +well. +

    +
    + +

    6.26 Adiabatic core/shell model +

    +

    The adiabatic core-shell model by Mitchell and +Finchham is a simple method for adding polarizability to a system. In order to mimic the electron shell of an ion, a satellite particle is attached to it. This way the ions are split into a core and a shell where the latter is meant to react to -the electrostatic environment inducing polarizability.

    -

    Technically, shells are attached to the cores by a spring force f = +the electrostatic environment inducing polarizability. +

    +

    Technically, shells are attached to the cores by a spring force f = k*r where k is a parametrized spring constant and r is the distance between the core and the shell. The charges of the core and the shell add up to the ion charge, thus q(ion) = q(core) + q(shell). In a similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass.

    -

    To run this model in LAMMPS, atom_style full can +shell with the core having the larger mass. +

    +

    To run this model in LAMMPS, atom_style full can be used since atom charge and bonds are needed. Each kind of core/shell pair requires two atom types and a bond type. The core and shell of a core/shell pair should be bonded to each other with a harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format:

    -
    432   atoms  # core and shell atoms
    -216   bonds  # number of core/shell springs
    -
    -
    -
    4     atom types  # 2 cores and 2 shells for Na and Cl
    -2     bond types
    -
    -
    -
    0.0 24.09597 xlo xhi
    +for NaCl, as found in examples/coreshell, has this format:
    +

    +
    432   atoms  # core and shell atoms
    +216   bonds  # number of core/shell springs 
    +
    +
    4     atom types  # 2 cores and 2 shells for Na and Cl 
    +2     bond types 
    +
    +
    0.0 24.09597 xlo xhi
     0.0 24.09597 ylo yhi
    -0.0 24.09597 zlo zhi
    -
    -
    -
    Masses       # core/shell mass ratio = 0.1
    -
    -
    -
    1 20.690784  # Na core
    +0.0 24.09597 zlo zhi 
    +
    +
    Masses       # core/shell mass ratio = 0.1 
    +
    +
    1 20.690784  # Na core
     2 31.90500   # Cl core
     3 2.298976   # Na shell
    -4 3.54500    # Cl shell
    -
    -
    -
    Atoms
    -
    -
    -
    1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
    +4 3.54500    # Cl shell 
    +
    +
    Atoms 
    +
    +
    1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
     2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
     3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
    -4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2
    -(...)
    -
    -
    -
    Bonds   # Bond topology for spring forces
    -
    -
    -
    1     2     1     2   # spring for core/shell pair 1
    -2     2     3     4   # spring for core/shell pair 2
    -(...)
    -
    -
    -

    Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 +(...) + +

    Bonds   # Bond topology for spring forces 
    +
    +
    1     2     1     2   # spring for core/shell pair 1
    +2     2     3     4   # spring for core/shell pair 2 
    +(...) 
    +
    +

    Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only defined between the shells. Coulombic interactions are defined between all cores and shells. If desired, additional bonds can be -specified between cores.

    -

    The special_bonds command should be used to +specified between cores. +

    +

    The special_bonds command should be used to turn-off the Coulombic interaction within core/shell pairs, since that interaction is set by the bond spring. This is done using the -special_bonds command with a 1-2 weight = 0.0, -which is the default value.

    -

    Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a “cs” suffix needs to be used to +special_bonds command with a 1-2 weight = 0.0, +which is the default value. +

    +

    Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a "cs" suffix needs to be used to implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See this doc page for details. All of the core/shell enabled pair +styles are provided in the CORESHELL package. See this doc +page for details. All of the core/shell enabled pair styles require the use of a long-range Coulombic solver, as specified -by the kspace_style command. Either the PPPM or -Ewald solvers can be used.

    -

    For the NaCL example problem, these pair style and bond style settings -are used:

    -
    pair_style      born/coul/long/cs 20.0 20.0
    +by the kspace_style command.  Either the PPPM or
    +Ewald solvers can be used.
    +

    +

    For the NaCL example problem, these pair style and bond style settings +are used: +

    +
    pair_style      born/coul/long/cs 20.0 20.0
     pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
     pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
     pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
    -pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl
    -
    -
    -
    bond_style      harmonic
    +pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl 
    +
    +
    bond_style      harmonic
     bond_coeff      1 63.014 0.0
    -bond_coeff      2 25.724 0.0
    -
    -
    -

    When running dynamics with the adiabatic core/shell model, the +bond_coeff 2 25.724 0.0 + +

    When running dynamics with the adiabatic core/shell model, the following issues should be considered. Since the relative motion of the core and shell particles corresponds to the polarization, typical thermostats can alter the polarization behaviour, meaining the shell will not react freely to its electrostatic environment. Therefore -it’s typically desirable to decouple the relative motion of the +it's typically desirable to decouple the relative motion of the core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the compute temp/cs command can be used, in conjunction with -any of the thermostat fixes, such as fix nvt or fix langevin. This compute uses the center-of-mass velocity +real physical system. To do that, the compute +temp/cs command can be used, in conjunction with +any of the thermostat fixes, such as fix nvt or fix +langevin. This compute uses the center-of-mass velocity of the core/shell pairs to calculate a temperature, and insures that velocity is what is rescaled for thermostatting purposes. The -compute temp/cs command requires input of two +compute temp/cs command requires input of two groups, one for the core atoms, another for the shell atoms. These -can be defined using the group *type* command. Note that +can be defined using the group type command. Note that to perform thermostatting using this definition of temperature, the -fix modify temp command should be used to assign the -comptue to the thermostat fix. Likewise the thermo_modify temp command can be used to make this temperature -be output for the overall system.

    -

    For the NaCl example, this can be done as follows:

    -
    group cores type 1 2
    +fix modify temp command should be used to assign the
    +comptue to the thermostat fix.  Likewise the thermo_modify
    +temp command can be used to make this temperature
    +be output for the overall system.
    +

    +

    For the NaCl example, this can be done as follows: +

    +
    group cores type 1 2
     group shells type 3 4
     compute CSequ all temp/cs cores shells
     fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
     fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
     fix_modify thermoberendsen temp CSequ
    -thermo_modify temp CSequ                                # output of center-of-mass derived temperature
    -
    -
    -

    When intializing the velocities of a system with core/shell pairs, it +thermo_modify temp CSequ # output of center-of-mass derived temperature + +

    When intializing the velocities of a system with core/shell pairs, it is also desirable to not introduce energy into the relative motion of the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the bias keyword of the -velocity create command and assigning the compute temp/cs command to the temp keyword of the -velocity commmand, e.g.

    -
    velocity all create 1427 134 bias yes temp CSequ
    -velocity all scale 1427 temp CSequ
    -
    -
    -

    It is important to note that the polarizability of the core/shell +the pairs. This can be done by using the bias keyword of the +velocity create command and assigning the compute +temp/cs command to the temp keyword of the +velocity commmand, e.g. +

    +
    velocity all create 1427 134 bias yes temp CSequ
    +velocity all scale 1427 temp CSequ 
    +
    +

    It is important to note that the polarizability of the core/shell pairs is based on their relative motion. Therefore the choice of spring force and mass ratio need to ensure much faster relative motion of the 2 atoms within the core/shell pair than their center-of-mass velocity. This allow the shells to effectively react instantaneously to the electrostatic environment. This fast movement also limits the -timestep size that can be used.

    -

    Additionally, the mass mismatch of the core and shell particles means +timestep size that can be used. +

    +

    Additionally, the mass mismatch of the core and shell particles means that only a small amount of energy is transfered to the decoupled imaginary degrees of freedom. However, this transfer will typically lead to a a small drift in total energy over time. This internal -energy can be monitored using the compute chunk/atom and compute temp/chunk commands. The internal kinetic +energy can be monitored using the compute +chunk/atom and compute +temp/chunk commands. The internal kinetic energies of each core/shell pair can then be summed using the sum() -special functino of the variable command. Or they can -be time/averaged and output using the fix ave/time +special functino of the variable command. Or they can +be time/averaged and output using the fix ave/time command. To use these commands, each core/shell pair must be defined -as a “chunk”. If each core/shell pair is defined as its own molecule, +as a "chunk". If each core/shell pair is defined as its own molecule, the molecule ID can be used to define the chunks. If cores are bonded to each other to form larger molecules, then another way to define the -chunks is to use the fix property/atom to +chunks is to use the fix property/atom to assign a core/shell ID to each atom via a special field in the data -file read by the read_data command. This field can -then be accessed by the compute property/atom command, to use as input to -the compute chunk/atom command to define the -core/shell pairs as chunks.

    -

    For example,

    -
    fix csinfo all property/atom i_CSID                       # property/atom command
    +file read by the read_data command.  This field can
    +then be accessed by the compute
    +property/atom command, to use as input to
    +the compute chunk/atom command to define the
    +core/shell pairs as chunks.
    +

    +

    For example, +

    +
    fix csinfo all property/atom i_CSID                       # property/atom command
     read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
     compute prop all property/atom i_CSID
     compute cs_chunk all chunk/atom c_prop
     compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
    -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector
    -
    -
    -

    The additional section in the date file would be formatted like this:

    -
    CS-Info         # header of additional section
    -
    -
    -
    1   1           # column 1 = atom ID, column 2 = core/shell ID
    -2   1
    -3   2
    -4   2
    -5   3
    -6   3
    -7   4
    -8   4
    -(...)
    -
    -
    -
    -
    -
    -

    6.27. Drude induced dipoles¶

    -

    The thermalized Drude model, similarly to the core-shell +fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector + +

    The additional section in the date file would be formatted like this: +

    +
    CS-Info         # header of additional section 
    +
    +
    1   1           # column 1 = atom ID, column 2 = core/shell ID 
    +2   1   
    +3   2   
    +4   2   
    +5   3   
    +6   3   
    +7   4   
    +8   4   
    +(...) 
    +
    +
    + +

    6.27 Drude induced dipoles +

    +

    The thermalized Drude model, similarly to the core-shell model, representes induced dipoles by a pair of charges (the core atom and the Drude particle) connected by a harmonic spring. The Drude model has a number of features aimed at its use in molecular systems -(Lamoureux and Roux):

    -
      -
    • Thermostating of the additional degrees of freedom associated with the +(Lamoureux and Roux): +

      +
      • Thermostating of the additional degrees of freedom associated with the induced dipoles at very low temperature, in terms of the reduced coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles.
      • -
      • Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle +makes the trajectory close to that of relaxed induced dipoles. + +
      • Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle pair represents a single (polarizable) atom, so the special screening factors in a covalent structure should be the same for the core and the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores.
      • -
      • Stabilization of the interactions between induced dipoles. Drude +special neighbor relations from their respective cores. + +
      • Stabilization of the interactions between induced dipoles. Drude dipoles on covalently bonded atoms interact too strongly due to the short distances, so an atom may capture the Drude particle of a neighbor, or the induced dipoles within the same molecule may align @@ -2734,123 +2706,95 @@ too much. To avoid this, damping at short range can be done by Thole functions (for which there are physical grounds). This Thole damping is applied to the point charges composing the induced dipole (the charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom).
      • -
      -

      A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is available here.

      -

      As with the core-shell model, the cores and Drude particles should +to the total charge of the core atom). +

    +

    A detailed tutorial covering the usage of Drude induced dipoles in +LAMMPS is available here. +

    +

    As with the core-shell model, the cores and Drude particles should appear in the data file as standard atoms. The same holds for the springs between them, which are described by standard harmonic bonds. The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the fix drude command. The special +specified via the fix drude command. The special list of neighbors is automatically refactored to account for the equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the extra keyword of the -special_bonds command. If using fix shake, make sure no Drude particle is in this fix -group.

    -

    There are two ways to thermostat the Drude particles at a low -temperature: use either fix langevin/drude -for a Langevin thermostat, or fix drude/transform/* for a Nose-Hoover -thermostat. The former requires use of the command comm_modify vel yes. The latter requires two separate integration -fixes like nvt or npt. The correct temperatures of the reduced -degrees of freedom can be calculated using the compute temp/drude. This requires also to use the -command comm_modify vel yes.

    -

    Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the the pair style thole in pair_style hybrid/overlay -with a Coulomb pair style. It may be useful to use coul/long/cs or +screening. It may be necessary to use the extra keyword of the +special_bonds command. If using fix +shake, make sure no Drude particle is in this fix +group. +

    +

    There are two ways to thermostat the Drude particles at a low +temperature: use either fix langevin/drude +for a Langevin thermostat, or fix +drude/transform/* for a Nose-Hoover +thermostat. The former requires use of the command comm_modify vel +yes. The latter requires two separate integration +fixes like nvt or npt. The correct temperatures of the reduced +degrees of freedom can be calculated using the compute +temp/drude. This requires also to use the +command comm_modify vel yes. +

    +

    Short-range damping of the induced dipole interactions can be achieved +using Thole functions through the the pair style +thole in pair_style hybrid/overlay +with a Coulomb pair style. It may be useful to use coul/long/cs or similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues.

    -

    (Berendsen) Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987).

    -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

    -

    (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, -J Chem Phys, 120, 9665 (2004).

    -

    (Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994).

    -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).

    -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990).

    -

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983).

    -

    (Price) Price and Brooks, J Chem Phys, 121, 10096 (2004).

    -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    -

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993).

    -

    (Lamoureux and Roux) G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)

    -
    -
    +too close, which can cause numerical issues. +

    +
    +
    -
    -
    -
    - - - + -
    +

    (Berendsen) Berendsen, Grigera, Straatsma, J Phys Chem, 91, +6269-6271 (1987). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). +

    + -
    +

    (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, +J Chem Phys, 120, 9665 (2004). +

    + -
    -
    +

    (Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 +(1994). +

    + -
    +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +

    + -
    - +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). +

    + +

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). +

    + - +

    (Price) Price and Brooks, J Chem Phys, 121, 10096 (2004). +

    + - - - - - - - - +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). +

    + - +

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

    + - - - - - - - - - - - - \ No newline at end of file +

    (Lamoureux and Roux) G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) +

    + diff --git a/doc/Section_intro.html b/doc/Section_intro.html index a67f103874..2f99ec66eb 100644 --- a/doc/Section_intro.html +++ b/doc/Section_intro.html @@ -1,209 +1,81 @@ + +
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
    - - - - - - - - - 1. Introduction — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    1. Introduction¶

    -

    This section provides an overview of what LAMMPS can and can’t do, + + +


    + +

    1. Introduction +

    +

    This section provides an overview of what LAMMPS can and can't do, describes what it means for LAMMPS to be an open-source code, and acknowledges the funding and people who have contributed to LAMMPS -over the years.

    - -
    -

    1.1. What is LAMMPS¶

    -

    LAMMPS is a classical molecular dynamics code that models an ensemble +over the years. +

    +1.1 What is LAMMPS
    +1.2 LAMMPS features
    +1.3 LAMMPS non-features
    +1.4 Open source distribution
    +1.5 Acknowledgments and citations
    + +
    + +
    + +

    1.1 What is LAMMPS +

    +

    LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained -systems using a variety of force fields and boundary conditions.

    -

    For examples of LAMMPS simulations, see the Publications page of the -LAMMPS WWW Site.

    -

    LAMMPS runs efficiently on single-processor desktop or laptop +systems using a variety of force fields and boundary conditions. +

    +

    For examples of LAMMPS simulations, see the Publications page of the +LAMMPS WWW Site. +

    +

    LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any -parallel machine that compiles C++ and supports the MPI +parallel machine that compiles C++ and supports the MPI message-passing library. This includes distributed- or shared-memory -parallel machines and Beowulf-style clusters.

    -

    LAMMPS can model systems with only a few particles up to millions or -billions. See Section_perf for information on +parallel machines and Beowulf-style clusters. +

    + + +

    LAMMPS can model systems with only a few particles up to millions or +billions. See Section_perf for information on LAMMPS performance and scalability, or the Benchmarks section of the -LAMMPS WWW Site.

    -

    LAMMPS is a freely-available open-source code, distributed under the -terms of the GNU Public License, which means you can use or -modify the code however you wish. See this section for a -brief discussion of the open-source philosophy.

    -

    LAMMPS is designed to be easy to modify or extend with new +LAMMPS WWW Site. +

    +

    LAMMPS is a freely-available open-source code, distributed under the +terms of the GNU Public License, which means you can use or +modify the code however you wish. See this section for a +brief discussion of the open-source philosophy. +

    + + +

    LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See Section_modify -for more details.

    -

    The current version of LAMMPS is written in C++. Earlier versions +conditions, or diagnostics. See Section_modify +for more details. +

    +

    The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See -Section_history for more information on -different versions. All versions can be downloaded from the LAMMPS WWW Site.

    -

    LAMMPS was originally developed under a US Department of Energy CRADA +Section_history for more information on +different versions. All versions can be downloaded from the LAMMPS +WWW Site. +

    +

    LAMMPS was originally developed under a US Department of Energy CRADA (Cooperative Research and Development Agreement) between two DOE labs -and 3 companies. It is distributed by Sandia National Labs. -See this section for more information on LAMMPS funding and -individuals who have contributed to LAMMPS.

    -

    In the most general sense, LAMMPS integrates Newton’s equations of +and 3 companies. It is distributed by Sandia National Labs. +See this section for more information on LAMMPS funding and +individuals who have contributed to LAMMPS. +

    + + +

    In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency @@ -213,483 +85,467 @@ short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors -communicate and store “ghost” atom information for atoms that border +communicate and store "ghost" atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. Papers with technical details of the algorithms used in -LAMMPS are listed in this section.

    -
    -
    -
    -

    1.2. LAMMPS features¶

    -

    This section highlights LAMMPS features, with pointers to specific -commands which give more details. If LAMMPS doesn’t have your +LAMMPS are listed in this section. +

    +
    + +

    1.2 LAMMPS features +

    +

    This section highlights LAMMPS features, with pointers to specific +commands which give more details. If LAMMPS doesn't have your favorite interatomic potential, boundary condition, or atom type, see -Section_modify, which describes how you can add -it to LAMMPS.

    -
    -

    1.2.1. General features¶

    -
      -
    • runs on a single processor or in parallel
    • -
    • distributed-memory message-passing parallelism (MPI)
    • -
    • spatial-decomposition of simulation domain for parallelism
    • -
    • open-source distribution
    • -
    • highly portable C++
    • -
    • optional libraries used: MPI and single-processor FFT
    • -
    • GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features
    • -
    • easy to extend with new features and functionality
    • -
    • runs from an input script
    • -
    • syntax for defining and using variables and formulas
    • -
    • syntax for looping over runs and breaking out of loops
    • -
    • run one or multiple simulations simultaneously (in parallel) from one script
    • -
    • build as library, invoke LAMMPS thru library interface or provided Python wrapper
    • -
    • couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both
    • -
    -
    -
    -

    1.2.2. Particle and model types¶

    -

    (atom style command)

    -
      -
    • atoms
    • -
    • coarse-grained particles (e.g. bead-spring polymers)
    • -
    • united-atom polymers or organic molecules
    • -
    • all-atom polymers, organic molecules, proteins, DNA
    • -
    • metals
    • -
    • granular materials
    • -
    • coarse-grained mesoscale models
    • -
    • finite-size spherical and ellipsoidal particles
    • -
    • finite-size line segment (2d) and triangle (3d) particles
    • -
    • point dipole particles
    • -
    • rigid collections of particles
    • -
    • hybrid combinations of these
    • -
    -
    -
    -

    1.2.3. Force fields¶

    -

    (pair style, bond style, -angle style, dihedral style, -improper style, kspace style -commands)

    -
      -
    • pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
    • -
    • charged pairwise potentials: Coulombic, point-dipole
    • -
    • manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
    • -
    • long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
    • -
    • polarization models: QEq, core/shell model, Drude dipole model
    • -
    • charge equilibration (QEq via dynamic, point, shielded, Slater methods)
    • -
    • coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
    • -
    • mesoscopic potentials: granular, Peridynamics, SPH
    • -
    • electron force field (eFF, AWPMD)
    • -
    • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
    • -
    • angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)
    • -
    • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
    • -
    • improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
    • -
    • polymer potentials: all-atom, united-atom, bead-spring, breakable
    • -
    • water potentials: TIP3P, TIP4P, SPC
    • -
    • implicit solvent potentials: hydrodynamic lubrication, Debye
    • -
    • force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
    • -
    • access to KIM archive of potentials via pair kim
    • -
    • hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
    • -
    • overlaid potentials: superposition of multiple pair potentials
    • -
    -
    -
    -

    1.2.4. Atom creation¶

    -

    (read_data, lattice, -create_atoms, delete_atoms, -displace_atoms, replicate commands)

    -
      -
    • read in atom coords from files
    • -
    • create atoms on one or more lattices (e.g. grain boundaries)
    • -
    • delete geometric or logical groups of atoms (e.g. voids)
    • -
    • replicate existing atoms multiple times
    • -
    • displace atoms
    • -
    -
    -
    -

    1.2.5. Ensembles, constraints, and boundary conditions¶

    -

    (fix command)

    -
      -
    • 2d or 3d systems
    • -
    • orthogonal or non-orthogonal (triclinic symmetry) simulation domains
    • -
    • constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators
    • -
    • thermostatting options for groups and geometric regions of atoms
    • -
    • pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions
    • -
    • simulation box deformation (tensile and shear)
    • -
    • harmonic (umbrella) constraint forces
    • -
    • rigid body constraints
    • -
    • SHAKE bond and angle constraints
    • -
    • Monte Carlo bond breaking, formation, swapping
    • -
    • atom/molecule insertion and deletion
    • -
    • walls of various kinds
    • -
    • non-equilibrium molecular dynamics (NEMD)
    • -
    • variety of additional boundary conditions and constraints
    • -
    -
    -
    -

    1.2.6. Integrators¶

    -

    (run, run_style, minimize commands)

    -
      -
    • velocity-Verlet integrator
    • -
    • Brownian dynamics
    • -
    • rigid body integration
    • -
    • energy minimization via conjugate gradient or steepest descent relaxation
    • -
    • rRESPA hierarchical timestepping
    • -
    • rerun command for post-processing of dump files
    • -
    -
    -
    -

    1.2.7. Diagnostics¶

    -
      -
    • see the various flavors of the fix and compute commands
    • -
    -
    -
    -

    1.2.8. Output¶

    -

    (dump, restart commands)

    -
      -
    • log file of thermodynamic info
    • -
    • text dump files of atom coords, velocities, other per-atom quantities
    • -
    • binary restart files
    • -
    • parallel I/O of dump and restart files
    • -
    • per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
    • -
    • user-defined system-wide (log file) or per-atom (dump file) calculations
    • -
    • spatial and time averaging of per-atom quantities
    • -
    • time averaging of system-wide quantities
    • -
    • atom snapshots in native, XYZ, XTC, DCD, CFG formats
    • -
    -
    - -
    -

    1.2.10. Pre- and post-processing¶

    -
      -
    • Various pre- and post-processing serial tools are packaged -with LAMMPS; see these doc pages.
    • -
    • Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, +Section_modify, which describes how you can add +it to LAMMPS. +

      +
      General features +
      +
      • runs on a single processor or in parallel +
      • distributed-memory message-passing parallelism (MPI) +
      • spatial-decomposition of simulation domain for parallelism +
      • open-source distribution +
      • highly portable C++ +
      • optional libraries used: MPI and single-processor FFT +
      • GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features +
      • easy to extend with new features and functionality +
      • runs from an input script +
      • syntax for defining and using variables and formulas +
      • syntax for looping over runs and breaking out of loops +
      • run one or multiple simulations simultaneously (in parallel) from one script +
      • build as library, invoke LAMMPS thru library interface or provided Python wrapper +
      • couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both +
      +
      Particle and model types +
      +

      (atom style command) +

      +
      • atoms +
      • coarse-grained particles (e.g. bead-spring polymers) +
      • united-atom polymers or organic molecules +
      • all-atom polymers, organic molecules, proteins, DNA +
      • metals +
      • granular materials +
      • coarse-grained mesoscale models +
      • finite-size spherical and ellipsoidal particles +
      • finite-size line segment (2d) and triangle (3d) particles +
      • point dipole particles +
      • rigid collections of particles +
      • hybrid combinations of these +
      +
      Force fields +
      +

      (pair style, bond style, +angle style, dihedral style, +improper style, kspace style +commands) +

      +
      • pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated +
      • charged pairwise potentials: Coulombic, point-dipole +
      • manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic +
      • long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald) +
      • polarization models: QEq, core/shell model, Drude dipole model +
      • charge equilibration (QEq via dynamic, point, shielded, Slater methods) +
      • coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO +
      • mesoscopic potentials: granular, Peridynamics, SPH +
      • electron force field (eFF, AWPMD) +
      • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable) +
      • angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS) +
      • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS +
      • improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) +
      • polymer potentials: all-atom, united-atom, bead-spring, breakable +
      • water potentials: TIP3P, TIP4P, SPC +
      • implicit solvent potentials: hydrodynamic lubrication, Debye +
      • force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options +
      • access to KIM archive of potentials via pair kim +
      • hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation +
      • overlaid potentials: superposition of multiple pair potentials +
      +
      Atom creation +
      +

      (read_data, lattice, +create_atoms, delete_atoms, +displace_atoms, replicate commands) +

      +
      • read in atom coords from files +
      • create atoms on one or more lattices (e.g. grain boundaries) +
      • delete geometric or logical groups of atoms (e.g. voids) +
      • replicate existing atoms multiple times +
      • displace atoms +
      +
      Ensembles, constraints, and boundary conditions +
      +

      (fix command) +

      +
      • 2d or 3d systems +
      • orthogonal or non-orthogonal (triclinic symmetry) simulation domains +
      • constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators +
      • thermostatting options for groups and geometric regions of atoms +
      • pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions +
      • simulation box deformation (tensile and shear) +
      • harmonic (umbrella) constraint forces +
      • rigid body constraints +
      • SHAKE bond and angle constraints +
      • Monte Carlo bond breaking, formation, swapping +
      • atom/molecule insertion and deletion +
      • walls of various kinds +
      • non-equilibrium molecular dynamics (NEMD) +
      • variety of additional boundary conditions and constraints +
      +
      Integrators +
      +

      (run, run_style, minimize commands) +

      +
      • velocity-Verlet integrator +
      • Brownian dynamics +
      • rigid body integration +
      • energy minimization via conjugate gradient or steepest descent relaxation +
      • rRESPA hierarchical timestepping +
      • rerun command for post-processing of dump files +
      +
      Diagnostics +
      +
      • see the various flavors of the fix and compute commands +
      +
      Output +
      +

      (dump, restart commands) +

      +
      • log file of thermodynamic info +
      • text dump files of atom coords, velocities, other per-atom quantities +
      • binary restart files +
      • parallel I/O of dump and restart files +
      • per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) +
      • user-defined system-wide (log file) or per-atom (dump file) calculations +
      • spatial and time averaging of per-atom quantities +
      • time averaging of system-wide quantities +
      • atom snapshots in native, XYZ, XTC, DCD, CFG formats +
      +
      Multi-replica models +
      +

      nudged elastic band +parallel replica dynamics +temperature accelerated dynamics +parallel tempering +

      +
      Pre- and post-processing +
      +
      • Various pre- and post-processing serial tools are packaged +with LAMMPS; see these doc pages. + +
      • Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the Pizza.py WWW site.
      • -
      -
    -
    -

    1.2.11. Specialized features¶

    -

    These are LAMMPS capabilities which you may not think of as typical -molecular dynamics options:

    - -
    -
    -
    -
    -

    1.3. LAMMPS non-features¶

    -

    LAMMPS is designed to efficiently compute Newton’s equations of motion +written in Python and is available for download from the +Pizza.py WWW site. + + + + + +

    Specialized features +
    +

    These are LAMMPS capabilities which you may not think of as typical +molecular dynamics options: +

    + +
    + +

    1.3 LAMMPS non-features +

    +

    LAMMPS is designed to efficiently compute Newton's equations of motion for a system of interacting particles. Many of the tools needed to pre- and post-process the data for such simulations are not included -in the LAMMPS kernel for several reasons:

    -
      -
    • the desire to keep LAMMPS simple
    • -
    • they are not parallel operations
    • -
    • other codes already do them
    • -
    • limited development resources
    • -
    -

    Specifically, LAMMPS itself does not:

    -
      -
    • run thru a GUI
    • -
    • build molecular systems
    • -
    • assign force-field coefficients automagically
    • -
    • perform sophisticated analyses of your MD simulation
    • -
    • visualize your MD simulation
    • -
    • plot your output data
    • -
    -

    A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described in this section. However, many people use other codes or -write their own tools for these tasks.

    -

    As noted above, our group has also written and released a separate -toolkit called Pizza.py which addresses some of the listed +in the LAMMPS kernel for several reasons: +

    +
    • the desire to keep LAMMPS simple +
    • they are not parallel operations +
    • other codes already do them +
    • limited development resources +
    +

    Specifically, LAMMPS itself does not: +

    +
    • run thru a GUI +
    • build molecular systems +
    • assign force-field coefficients automagically +
    • perform sophisticated analyses of your MD simulation +
    • visualize your MD simulation +
    • plot your output data +
    +

    A few tools for pre- and post-processing tasks are provided as part of +the LAMMPS package; they are described in this +section. However, many people use other codes or +write their own tools for these tasks. +

    +

    As noted above, our group has also written and released a separate +toolkit called Pizza.py which addresses some of the listed bullets. It provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in -Python and is available for download from the Pizza.py WWW site.

    -

    LAMMPS requires as input a list of initial atom coordinates and types, +Python and is available for download from the Pizza.py WWW +site. +

    +

    LAMMPS requires as input a list of initial atom coordinates and types, molecular topology information, and force-field coefficients assigned to all atoms and bonds. LAMMPS will not build molecular systems and -assign force-field parameters for you.

    -

    For atomic systems LAMMPS provides a create_atoms +assign force-field parameters for you. +

    +

    For atomic systems LAMMPS provides a create_atoms command which places atoms on solid-state lattices (fcc, bcc, user-defined, etc). Assigning small numbers of force field -coefficients can be done via the pair coeff, bond coeff, angle coeff, etc commands. +coefficients can be done via the pair coeff, bond +coeff, angle coeff, etc commands. For molecular systems or more complicated simulation geometries, users typically use another code as a builder and convert its output to LAMMPS input format, or write their own code to generate atom -coordinate and molecular topology for LAMMPS to read in.

    -

    For complicated molecular systems (e.g. a protein), a multitude of +coordinate and molecular topology for LAMMPS to read in. +

    +

    For complicated molecular systems (e.g. a protein), a multitude of topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like -CHARMM or AMBER or other molecular builders to setup +CHARMM or AMBER or other molecular builders to setup such problems and dump its information to a file. You can then -reformat the file as LAMMPS input. Some of the tools in this section can assist in this process.

    -

    Similarly, LAMMPS creates output files in a simple format. Most users +reformat the file as LAMMPS input. Some of the tools in this +section can assist in this process. +

    +

    Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as -LAMMPS runs, see Section_modify for a discussion -of how you can use the dump and compute and -fix commands to print out data of your choosing. Keep in +LAMMPS runs, see Section_modify for a discussion +of how you can use the dump and compute and +fix commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not parallel, so it is often better to leave such analysis to -post-processing codes.

    -

    A very simple (yet fast) visualizer is provided with the LAMMPS -package - see the xmovie tool in this section. It creates xyz projection views of +post-processing codes. +

    +

    A very simple (yet fast) visualizer is provided with the LAMMPS +package - see the xmovie tool in this +section. It creates xyz projection views of atomic coordinates and animates them. We find it very useful for debugging purposes. For high-quality visualization we recommend the -following packages:

    - -

    Other features that LAMMPS does not yet (and may never) support are -discussed in Section_history.

    -

    Finally, these are freely-available molecular dynamics codes, most of +following packages: +

    + +

    Other features that LAMMPS does not yet (and may never) support are +discussed in Section_history. +

    +

    Finally, these are freely-available molecular dynamics codes, most of them parallel, which may be well-suited to the problems you want to model. They can also be used in conjunction with LAMMPS to perform -complementary modeling tasks.

    - -

    CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for +complementary modeling tasks. +

    + + + + + + + + + + + + + +

    CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for modeling biological molecules. CHARMM and AMBER use atom-decomposition (replicated-data) strategies for parallelism; NAMD and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. Tinker is a serial code. DL_POLY includes potentials for a variety of biological and non-biological materials; both a replicated-data and -spatial-decomposition version exist.

    -
    -
    -
    -

    1.4. Open source distribution¶

    -

    LAMMPS comes with no warranty of any kind. As each source file states +spatial-decomposition version exist. +

    +
    + +

    1.4 Open source distribution +

    +

    LAMMPS comes with no warranty of any kind. As each source file states in its header, it is a copyrighted code that is distributed free-of- -charge, under the terms of the GNU Public License (GPL). This +charge, under the terms of the GNU Public License (GPL). This is often referred to as open-source distribution - see -www.gnu.org or www.opensource.org for more +www.gnu.org or www.opensource.org for more details. The legal text of the GPL is in the LICENSE file that is -included in the LAMMPS distribution.

    -

    Here is a summary of what the GPL means for LAMMPS users:

    -

    (1) Anyone is free to use, modify, or extend LAMMPS in any way they -choose, including for commercial purposes.

    -

    (2) If you distribute a modified version of LAMMPS, it must remain +included in the LAMMPS distribution. +

    + + + + +

    Here is a summary of what the GPL means for LAMMPS users: +

    +

    (1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes. +

    +

    (2) If you distribute a modified version of LAMMPS, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of -LAMMPS.

    -

    (3) If you release any code that includes LAMMPS source code, then it +LAMMPS. +

    +

    (3) If you release any code that includes LAMMPS source code, then it must also be open-sourced, meaning you distribute it under the terms -of the GPL.

    -

    (4) If you give LAMMPS files to someone else, the GPL LICENSE file and +of the GPL. +

    +

    (4) If you give LAMMPS files to someone else, the GPL LICENSE file and source file headers (including the copyright and GPL notices) should -remain part of the code.

    -

    In the spirit of an open-source code, these are various ways you can +remain part of the code. +

    +

    In the spirit of an open-source code, these are various ways you can contribute to making LAMMPS better. You can send email to the -developers on any of these -items.

    -
      -
    • Point prospective users to the LAMMPS WWW Site. Mention it in -talks or link to it from your WWW site.
    • -
    • If you find an error or omission in this manual or on the LAMMPS WWW Site, or have a suggestion for something to clarify or include, +developers on any of these +items. +

      +
      • Point prospective users to the LAMMPS WWW Site. Mention it in +talks or link to it from your WWW site. + +
      • If you find an error or omission in this manual or on the LAMMPS WWW +Site, or have a suggestion for something to clarify or include, send an email to the -developers.
      • -
      • If you find a bug, Section_errors 2 -describes how to report it.
      • -
      • If you publish a paper using LAMMPS results, send the citation (and +developers. + +
      • If you find a bug, Section_errors 2 +describes how to report it. + +
      • If you publish a paper using LAMMPS results, send the citation (and any cool pictures or movies if you like) to add to the Publications, -Pictures, and Movies pages of the LAMMPS WWW Site, with links -and attributions back to you.
      • -
      • Create a new Makefile.machine that can be added to the src/MAKE -directory.
      • -
      • The tools sub-directory of the LAMMPS distribution has various +Pictures, and Movies pages of the LAMMPS WWW Site, with links +and attributions back to you. + +
      • Create a new Makefile.machine that can be added to the src/MAKE +directory. + +
      • The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More -details are given in Section_tools. If you write +details are given in Section_tools. If you write a new tool that users will find useful, it can be added to the LAMMPS -distribution.
      • -
      • LAMMPS is designed to be easy to extend with new code for features +distribution. + +
      • LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. -This section gives details. If you add a +This section gives details. If you add a feature of general interest, it can be added to the LAMMPS -distribution.
      • -
      • The Benchmark page of the LAMMPS WWW Site lists LAMMPS +distribution. + +
      • The Benchmark page of the LAMMPS WWW Site lists LAMMPS performance on various platforms. The files needed to run the benchmarks are part of the LAMMPS distribution. If your machine is sufficiently different from those listed, your timing data can be -added to the page.
      • -
      • You can send feedback for the User Comments page of the LAMMPS WWW Site. It might be added to the page. No promises.
      • -
      • Cash. Small denominations, unmarked bills preferred. Paper sack OK. +added to the page. + +
      • You can send feedback for the User Comments page of the LAMMPS WWW +Site. It might be added to the page. No promises. + +
      • Cash. Small denominations, unmarked bills preferred. Paper sack OK. Leave on desk. VISA also accepted. Chocolate chip cookies -encouraged.
      • -
      -
      -
    -
    -

    1.5. Acknowledgments and citations¶

    -

    LAMMPS development has been funded by the US Department of Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life -programs and its OASCR and OBER offices.

    -

    Specifically, work on the latest version was funded in part by the US -Department of Energy’s Genomics:GTL program -(www.doegenomestolife.org) under the project, “Carbon +encouraged. + +


    + +

    1.5 Acknowledgments and citations +

    +

    LAMMPS development has been funded by the US Department of +Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life +programs and its OASCR and OBER offices. +

    +

    Specifically, work on the latest version was funded in part by the US +Department of Energy's Genomics:GTL program +(www.doegenomestolife.org) under the project, "Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to -Hierarchical Modeling”.

    -

    The following paper describe the basic parallel algorithms used in +Hierarchical Modeling". +

    + + + + + + + + + + +

    The following paper describe the basic parallel algorithms used in LAMMPS. If you use LAMMPS results in your published work, please cite -this paper and include a pointer to the LAMMPS WWW Site -(http://lammps.sandia.gov):

    -

    S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular -Dynamics, J Comp Phys, 117, 1-19 (1995).

    -

    Other papers describing specific algorithms used in LAMMPS are listed -under the Citing LAMMPS link of -the LAMMPS WWW page.

    -

    The Publications link on the +this paper and include a pointer to the LAMMPS WWW Site +(http://lammps.sandia.gov): +

    +

    S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular +Dynamics, J Comp Phys, 117, 1-19 (1995). +

    +

    Other papers describing specific algorithms used in LAMMPS are listed +under the Citing LAMMPS link of +the LAMMPS WWW page. +

    +

    The Publications link on the LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is not listed there for some reason, feel free to send us the info. If the simulations in your paper produced cool pictures or animations, -we’ll be pleased to add them to the -Pictures or -Movies pages of the LAMMPS WWW -site.

    -

    The core group of LAMMPS developers is at Sandia National Labs:

    -
      -
    • Steve Plimpton, sjplimp at sandia.gov
    • -
    • Aidan Thompson, athomps at sandia.gov
    • -
    • Paul Crozier, pscrozi at sandia.gov
    • -
    -

    The following folks are responsible for significant contributions to +we'll be pleased to add them to the +Pictures or +Movies pages of the LAMMPS WWW +site. +

    +

    The core group of LAMMPS developers is at Sandia National Labs: +

    +
    • Steve Plimpton, sjplimp at sandia.gov +
    • Aidan Thompson, athomps at sandia.gov +
    • Paul Crozier, pscrozi at sandia.gov +
    +

    The following folks are responsible for significant contributions to the code, or other aspects of the LAMMPS development effort. Many of the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise -and efforts.

    -
      -
    • Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
    • -
    • Roy Pollock (LLNL), Ewald and PPPM solvers
    • -
    • Mike Brown (ORNL), brownw at ornl.gov, GPU package
    • -
    • Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
    • -
    • Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
    • -
    • Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
    • -
    • Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
    • -
    • Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
    • -
    • Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
    • -
    • Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
    • -
    • Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
    • -
    • Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
    • -
    • Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package
    • -
    -

    As discussed in Section_history, LAMMPS +and efforts. +

    +
    • Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages +
    • Roy Pollock (LLNL), Ewald and PPPM solvers +
    • Mike Brown (ORNL), brownw at ornl.gov, GPU package +
    • Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential +
    • Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics +
    • Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion +
    • Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling +
    • Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD +
    • Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package +
    • Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field +
    • Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling +
    • Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF +
    • Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package +
    +

    As discussed in Section_history, LAMMPS originated as a cooperative project between DOE labs and industrial partners. Folks involved in the design and testing of the original -version of LAMMPS were the following:

    -
      -
    • John Carpenter (Mayo Clinic, formerly at Cray Research)
    • -
    • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
    • -
    • Steve Lustig (Dupont)
    • -
    • Jim Belak (LLNL)
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +version of LAMMPS were the following: +

    +
    • John Carpenter (Mayo Clinic, formerly at Cray Research) +
    • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) +
    • Steve Lustig (Dupont) +
    • Jim Belak (LLNL) +
    + diff --git a/doc/Section_modify.html b/doc/Section_modify.html index ffa54a0417..1f1a236886 100644 --- a/doc/Section_modify.html +++ b/doc/Section_modify.html @@ -1,1109 +1,715 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
    - - - - - - - - - 10. Modifying & extending LAMMPS — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    10. Modifying & extending LAMMPS¶

    -

    This section describes how to customize LAMMPS by modifying -and extending its source code.

    -
    - - - - - -
    10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    - - - - - - - - - -

    -
    -

    LAMMPS is designed in a modular fashion so as to be easy to modify and + + +


    + +

    10. Modifying & extending LAMMPS +

    +

    This section describes how to customize LAMMPS by modifying +and extending its source code. +

    +10.1 Atom styles
    +10.2 Bond, angle, dihedral, improper potentials
    +10.3 Compute styles
    +10.4 Dump styles
    +10.5 Dump custom output options
    +10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    +10.7 Input script commands
    +10.8 Kspace computations
    +10.9 Minimization styles
    +10.10 Pairwise potentials
    +10.11 Region styles
    +10.12 Body styles
    +10.13 Thermodynamic output options
    +10.14 Variable options
    +10.15 Submitting new features for inclusion in LAMMPS
    + +

    LAMMPS is designed in a modular fashion so as to be easy to modify and extend with new functionality. In fact, about 75% of its source code -is files added in this fashion.

    -

    In this section, changes and additions users can make are listed along +is files added in this fashion. +

    +

    In this section, changes and additions users can make are listed along with minimal instructions. If you add a new feature to LAMMPS and think it will be of interest to general users, we encourage you to submit it to the developers for inclusion in the released version of LAMMPS. Information about how to do this is provided -below.

    -

    The best way to add a new feature is to find a similar feature in +below. +

    +

    The best way to add a new feature is to find a similar feature in LAMMPS and look at the corresponding source and header files to figure out what it does. You will need some knowledge of C++ to be able to understand the hi-level structure of LAMMPS and its class organization, but functions (class methods) that do actual computations are written in vanilla C-style code and operate on simple -C-style data structures (vectors and arrays).

    -

    Most of the new features described in this section require you to +C-style data structures (vectors and arrays). +

    +

    Most of the new features described in this section require you to write a new C++ derived class (except for exceptions described below, where you can make small edits to existing files). Creating a new -class requires 2 files, a source code file (.cpp) and a header file -(.h). The derived class must provide certain methods to work as a +class requires 2 files, a source code file (*.cpp) and a header file +(*.h). The derived class must provide certain methods to work as a new option. Depending on how different your new feature is compared to existing features, you can either derive from the base class itself, or from a derived class that already exists. Enabling LAMMPS to invoke the new class is as simple as putting the two source -files in the src dir and re-building LAMMPS.

    -

    The advantage of C++ and its object-orientation is that all the code +files in the src dir and re-building LAMMPS. +

    +

    The advantage of C++ and its object-orientation is that all the code and variables needed to define the new feature are in the 2 files you -write, and thus shouldn’t make the rest of LAMMPS more complex or -cause side-effect bugs.

    -

    Here is a concrete example. Suppose you write 2 files pair_foo.cpp +write, and thus shouldn't make the rest of LAMMPS more complex or +cause side-effect bugs. +

    +

    Here is a concrete example. Suppose you write 2 files pair_foo.cpp and pair_foo.h that define a new class PairFoo that computes pairwise -potentials described in the classic 1997 paper by Foo, et al. +potentials described in the classic 1997 paper by Foo, et al. If you wish to invoke those potentials in a LAMMPS input script with a -command like

    -
    pair_style foo 0.1 3.5
    -
    -
    -

    then your pair_foo.h file should be structured as follows:

    -
    #ifdef PAIR_CLASS
    +command like
    +

    +
    pair_style foo 0.1 3.5 
    +
    +

    then your pair_foo.h file should be structured as follows: +

    +
    #ifdef PAIR_CLASS
     PairStyle(foo,PairFoo)
     #else
     ...
     (class definition for PairFoo)
     ...
    -#endif
    -
    -
    -

    where “foo” is the style keyword in the pair_style command, and +#endif + +

    where "foo" is the style keyword in the pair_style command, and PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h -files.

    -

    When you re-build LAMMPS, your new pairwise potential becomes part of +files. +

    +

    When you re-build LAMMPS, your new pairwise potential becomes part of the executable and can be invoked with a pair_style command like the example above. Arguments like 0.1 and 3.5 can be defined and -processed by your new class.

    -

    As illustrated by this pairwise example, many kinds of options are -referred to in the LAMMPS documentation as the “style” of a particular -command.

    -

    The instructions below give the header file for the base class that +processed by your new class. +

    +

    As illustrated by this pairwise example, many kinds of options are +referred to in the LAMMPS documentation as the "style" of a particular +command. +

    +

    The instructions below give the header file for the base class that these styles are derived from. Public variables in that file are ones used and set by the derived classes which are also used by the base class. Sometimes they are also used by the rest of LAMMPS. Virtual functions in the base class header file which are set = 0 are ones you must define in your new derived class to give it the functionality LAMMPS expects. Virtual functions that are not set to 0 are functions -you can optionally define.

    -

    Additionally, new output options can be added directly to the +you can optionally define. +

    +

    Additionally, new output options can be added directly to the thermo.cpp, dump_custom.cpp, and variable.cpp files as explained -below.

    -

    Here are additional guidelines for modifying LAMMPS and adding new -functionality:

    -
      -
    • Think about whether what you want to do would be better as a pre- or +below. +

      +

      Here are additional guidelines for modifying LAMMPS and adding new +functionality: +

      +
      • Think about whether what you want to do would be better as a pre- or post-processing step. Many computations are more easily and more -quickly done that way.
      • -
      • Don’t do anything within the timestepping of a run that isn’t -parallel. E.g. don’t accumulate a bunch of data on a single processor +quickly done that way. + +
      • Don't do anything within the timestepping of a run that isn't +parallel. E.g. don't accumulate a bunch of data on a single processor and analyze it. You run the risk of seriously degrading the parallel -efficiency.
      • -
      • If your new feature reads arguments or writes output, make sure you -follow the unit conventions discussed by the units -command.
      • -
      • If you add something you think is truly useful and doesn’t impact -LAMMPS performance when it isn’t used, send an email to the -developers. We might be +efficiency. + +
      • If your new feature reads arguments or writes output, make sure you +follow the unit conventions discussed by the units +command. + +
      • If you add something you think is truly useful and doesn't impact +LAMMPS performance when it isn't used, send an email to the +developers. We might be interested in adding it to the LAMMPS distribution. See further -details on this at the bottom of this page.
      • -
      -
      -

      10.1. Atom styles¶

      -

      Classes that define an atom style are derived from +details on this at the bottom of this page. +

    +
    + +
    + +

    10.1 Atom styles +

    +

    Classes that define an atom style are derived from the AtomVec class and managed by the Atom class. The atom style determines what attributes are associated with an atom. A new atom style can be created if one of the existing atom styles does not define all the attributes you need to store and communicate with -atoms.

    -

    Atom_vec_atomic.cpp is a simple example of an atom style.

    -

    Here is a brief description of methods you define in your new derived -class. See atom_vec.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initone time setup (optional)
    growre-allocate atom arrays to longer lengths (required)
    grow_resetmake array pointers in Atom and AtomVec classes consistent (required)
    copycopy info for one atom to another atom’s array locations (required)
    pack_commstore an atom’s info in a buffer communicated every timestep (required)
    pack_comm_veladd velocity info to communication buffer (required)
    pack_comm_hybridstore extra info unique to this atom style (optional)
    unpack_commretrieve an atom’s info from the buffer (required)
    unpack_comm_velalso retrieve velocity info (required)
    unpack_comm_hybridretreive extra info unique to this atom style (optional)
    pack_reversestore an atom’s info in a buffer communicating partial forces (required)
    pack_reverse_hybridstore extra info unique to this atom style (optional)
    unpack_reverseretrieve an atom’s info from the buffer (required)
    unpack_reverse_hybridretreive extra info unique to this atom style (optional)
    pack_borderstore an atom’s info in a buffer communicated on neighbor re-builds (required)
    pack_border_veladd velocity info to buffer (required)
    pack_border_hybridstore extra info unique to this atom style (optional)
    unpack_borderretrieve an atom’s info from the buffer (required)
    unpack_border_velalso retrieve velocity info (required)
    unpack_border_hybridretreive extra info unique to this atom style (optional)
    pack_exchangestore all an atom’s info to migrate to another processor (required)
    unpack_exchangeretrieve an atom’s info from the buffer (required)
    size_restartnumber of restart quantities associated with proc’s atoms (required)
    pack_restartpack atom quantities into a buffer (required)
    unpack_restartunpack atom quantities from a buffer (required)
    create_atomcreate an individual atom of this style (required)
    data_atomparse an atom line from the data file (required)
    data_atom_hybridparse additional atom info unique to this atom style (optional)
    data_velparse one line of velocity information from data file (optional)
    data_vel_hybridparse additional velocity data unique to this atom style (optional)
    memory_usagetally memory allocated by atom arrays (required)
    -

    The constructor of the derived class sets values for several variables +atoms. +

    +

    Atom_vec_atomic.cpp is a simple example of an atom style. +

    +

    Here is a brief description of methods you define in your new derived +class. See atom_vec.h for details. +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    init one time setup (optional)
    grow re-allocate atom arrays to longer lengths (required)
    grow_reset make array pointers in Atom and AtomVec classes consistent (required)
    copy copy info for one atom to another atom's array locations (required)
    pack_comm store an atom's info in a buffer communicated every timestep (required)
    pack_comm_vel add velocity info to communication buffer (required)
    pack_comm_hybrid store extra info unique to this atom style (optional)
    unpack_comm retrieve an atom's info from the buffer (required)
    unpack_comm_vel also retrieve velocity info (required)
    unpack_comm_hybrid retreive extra info unique to this atom style (optional)
    pack_reverse store an atom's info in a buffer communicating partial forces (required)
    pack_reverse_hybrid store extra info unique to this atom style (optional)
    unpack_reverse retrieve an atom's info from the buffer (required)
    unpack_reverse_hybrid retreive extra info unique to this atom style (optional)
    pack_border store an atom's info in a buffer communicated on neighbor re-builds (required)
    pack_border_vel add velocity info to buffer (required)
    pack_border_hybrid store extra info unique to this atom style (optional)
    unpack_border retrieve an atom's info from the buffer (required)
    unpack_border_vel also retrieve velocity info (required)
    unpack_border_hybrid retreive extra info unique to this atom style (optional)
    pack_exchange store all an atom's info to migrate to another processor (required)
    unpack_exchange retrieve an atom's info from the buffer (required)
    size_restart number of restart quantities associated with proc's atoms (required)
    pack_restart pack atom quantities into a buffer (required)
    unpack_restart unpack atom quantities from a buffer (required)
    create_atom create an individual atom of this style (required)
    data_atom parse an atom line from the data file (required)
    data_atom_hybrid parse additional atom info unique to this atom style (optional)
    data_vel parse one line of velocity information from data file (optional)
    data_vel_hybrid parse additional velocity data unique to this atom style (optional)
    memory_usage tally memory allocated by atom arrays (required) +
    + +

    The constructor of the derived class sets values for several variables that you must set when defining a new atom style, which are documented in atom_vec.h. New atom arrays are defined in atom.cpp. Search for -the word “customize” and you will find locations you will need to -modify.

    -
    -

    Warning

    -

    It is possible to add some attributes, such as a -molecule ID, to atom styles that do not have them via the fix property/atom command. This command also +the word "customize" and you will find locations you will need to +modify. +

    +

    IMPORTANT NOTE: It is possible to add some attributes, such as a +molecule ID, to atom styles that do not have them via the fix +property/atom command. This command also allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases +floating-point values to be added to atoms. See the fix +property/atom doc page for examples of cases where this is useful and details on how to initialize, access, and -output the custom values.

    -
    -

    New pair styles, fixes, or -computes can be added to LAMMPS, as discussed below. +output the custom values. +

    +

    New pair styles, fixes, or +computes can be added to LAMMPS, as discussed below. The code for these classes can use the per-atom properties defined by fix property/atom. The Atom class has a find_custom() method that is -useful in this context:

    -
    int index = atom->find_custom(char *name, int &flag);
    -
    -
    -

    The “name” of a custom attribute, as specified in the fix property/atom command, is checked to verify +useful in this context: +

    +
    int index = atom->find_custom(char *name, int &flag); 
    +
    +

    The "name" of a custom attribute, as specified in the fix +property/atom command, is checked to verify that it exists and its index is returned. The method also sets flag = 0/1 depending on whether it is an integer or floating-point attribute. The vector of values associated with the attribute can then be -accessed using the returned index as

    -
    int *ivector = atom->ivector[index];
    -double *dvector = atom->dvector[index];
    -
    -
    -

    Ivector or dvector are vectors of length Nlocal = # of owned atoms, -which store the attributes of individual atoms.

    -
    -
    -
    -

    10.2. Bond, angle, dihedral, improper potentials¶

    -

    Classes that compute molecular interactions are derived from the Bond, +accessed using the returned index as +

    +
    int *ivector = atom->ivector[index];
    +double *dvector = atom->dvector[index]; 
    +
    +

    Ivector or dvector are vectors of length Nlocal = # of owned atoms, +which store the attributes of individual atoms. +

    +
    + +

    10.2 Bond, angle, dihedral, improper potentials +

    +

    Classes that compute molecular interactions are derived from the Bond, Angle, Dihedral, and Improper classes. New styles can be created to -add new potentials to LAMMPS.

    -

    Bond_harmonic.cpp is the simplest example of a bond style. Ditto for +add new potentials to LAMMPS. +

    +

    Bond_harmonic.cpp is the simplest example of a bond style. Ditto for the harmonic forms of the angle, dihedral, and improper style -commands.

    -

    Here is a brief description of common methods you define in your +commands. +

    +

    Here is a brief description of common methods you define in your new derived class. See bond.h, angle.h, dihedral.h, and improper.h -for details and specific additional methods.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initcheck if all coefficients are set, calls init_style (optional)
    init_stylecheck if style specific conditions are met (optional)
    computecompute the molecular interactions (required)
    settingsapply global settings for all types (optional)
    coeffset coefficients for one type (required)
    equilibrium_distancelength of bond, used by SHAKE (required, bond only)
    equilibrium_angleopening of angle, used by SHAKE (required, angle only)
    write & read_restartwrites/reads coeffs to restart files (required)
    singleforce and energy of a single bond or angle (required, bond or angle only)
    memory_usagetally memory allocated by the style (optional)
    -
    -
    -
    -

    10.3. Compute styles¶

    -

    Classes that compute scalar and vector quantities like temperature +for details and specific additional methods. +

    +
    + + + + + + + + + +
    init check if all coefficients are set, calls init_style (optional)
    init_style check if style specific conditions are met (optional)
    compute compute the molecular interactions (required)
    settings apply global settings for all types (optional)
    coeff set coefficients for one type (required)
    equilibrium_distance length of bond, used by SHAKE (required, bond only)
    equilibrium_angle opening of angle, used by SHAKE (required, angle only)
    write & read_restart writes/reads coeffs to restart files (required)
    single force and energy of a single bond or angle (required, bond or angle only)
    memory_usage tally memory allocated by the style (optional) +
    + +
    + +

    10.3 Compute styles +

    +

    Classes that compute scalar and vector quantities like temperature and the pressure tensor, as well as classes that compute per-atom quantities like kinetic energy and the centro-symmetry parameter are derived from the Compute class. New styles can be created -to add new calculations to LAMMPS.

    -

    Compute_temp.cpp is a simple example of computing a scalar +to add new calculations to LAMMPS. +

    +

    Compute_temp.cpp is a simple example of computing a scalar temperature. Compute_ke_atom.cpp is a simple example of computing -per-atom kinetic energy.

    -

    Here is a brief description of methods you define in your new derived -class. See compute.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initperform one time setup (required)
    init_listneighbor list setup, if needed (optional)
    compute_scalarcompute a scalar quantity (optional)
    compute_vectorcompute a vector of quantities (optional)
    compute_peratomcompute one or more quantities per atom (optional)
    compute_localcompute one or more quantities per processor (optional)
    pack_commpack a buffer with items to communicate (optional)
    unpack_communpack the buffer (optional)
    pack_reversepack a buffer with items to reverse communicate (optional)
    unpack_reverseunpack the buffer (optional)
    remove_biasremove velocity bias from one atom (optional)
    remove_bias_allremove velocity bias from all atoms in group (optional)
    restore_biasrestore velocity bias for one atom after remove_bias (optional)
    restore_bias_allsame as before, but for all atoms in group (optional)
    memory_usagetally memory usage (optional)
    -
    -
    -
    -

    10.4. Dump styles¶

    -
    -
    -

    10.5. Dump custom output options¶

    -

    Classes that dump per-atom info to files are derived from the Dump +per-atom kinetic energy. +

    +

    Here is a brief description of methods you define in your new derived +class. See compute.h for details. +

    +
    + + + + + + + + + + + + + + +
    init perform one time setup (required)
    init_list neighbor list setup, if needed (optional)
    compute_scalar compute a scalar quantity (optional)
    compute_vector compute a vector of quantities (optional)
    compute_peratom compute one or more quantities per atom (optional)
    compute_local compute one or more quantities per processor (optional)
    pack_comm pack a buffer with items to communicate (optional)
    unpack_comm unpack the buffer (optional)
    pack_reverse pack a buffer with items to reverse communicate (optional)
    unpack_reverse unpack the buffer (optional)
    remove_bias remove velocity bias from one atom (optional)
    remove_bias_all remove velocity bias from all atoms in group (optional)
    restore_bias restore velocity bias for one atom after remove_bias (optional)
    restore_bias_all same as before, but for all atoms in group (optional)
    memory_usage tally memory usage (optional) +
    + +
    + +

    10.4 Dump styles +

    +

    10.5 Dump custom output options +

    +

    Classes that dump per-atom info to files are derived from the Dump class. To dump new quantities or in a new format, a new derived dump class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump_custom.cpp file.

    -

    Dump_atom.cpp is a simple example of a derived dump class.

    -

    Here is a brief description of methods you define in your new derived -class. See dump.h for details.

    - ---- - - - - - - - - - - - - - - -
    write_headerwrite the header section of a snapshot of atoms
    countcount the number of lines a processor will output
    packpack a proc’s output data into a buffer
    write_datawrite a proc’s data to a file
    -

    See the dump command and its custom style for a list of +DumpCustom class contained in the dump_custom.cpp file. +

    +

    Dump_atom.cpp is a simple example of a derived dump class. +

    +

    Here is a brief description of methods you define in your new derived +class. See dump.h for details. +

    +
    + + + +
    write_header write the header section of a snapshot of atoms
    count count the number of lines a processor will output
    pack pack a proc's output data into a buffer
    write_data write a proc's data to a file +
    + +

    See the dump command and its custom style for a list of keywords for atom information that can already be dumped by DumpCustom. It includes options to dump per-atom info from Compute classes, so adding a new derived Compute class is one way to calculate -new quantities to dump.

    -

    Alternatively, you can add new keywords to the dump custom command. -Search for the word “customize” in dump_custom.cpp to see the -half-dozen or so locations where code will need to be added.

    -
    -
    -
    -

    10.6. Fix styles¶

    -

    In LAMMPS, a “fix” is any operation that is computed during +new quantities to dump. +

    +

    Alternatively, you can add new keywords to the dump custom command. +Search for the word "customize" in dump_custom.cpp to see the +half-dozen or so locations where code will need to be added. +

    +
    + +

    10.6 Fix styles +

    +

    In LAMMPS, a "fix" is any operation that is computed during timestepping that alters some property of the system. Essentially everything that happens during a simulation besides force computation, -neighbor list construction, and output, is a “fix”. This includes +neighbor list construction, and output, is a "fix". This includes time integration (update of coordinates and velocities), force constraints or boundary conditions (SHAKE or walls), and diagnostics (compute a diffusion coefficient). New styles can be created to add -new options to LAMMPS.

    -

    Fix_setforce.cpp is a simple example of setting forces on atoms to +new options to LAMMPS. +

    +

    Fix_setforce.cpp is a simple example of setting forces on atoms to prescribed values. There are dozens of fix options already in LAMMPS; choose one as a template that is similar to what you want to -implement.

    -

    Here is a brief description of methods you can define in your new -derived class. See fix.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    setmaskdetermines when the fix is called during the timestep (required)
    initinitialization before a run (optional)
    setup_pre_exchangecalled before atom exchange in setup (optional)
    setup_pre_forcecalled before force computation in setup (optional)
    setupcalled immediately before the 1st timestep and after forces are computed (optional)
    min_setup_pre_forcelike setup_pre_force, but for minimizations instead of MD runs (optional)
    min_setuplike setup, but for minimizations instead of MD runs (optional)
    initial_integratecalled at very beginning of each timestep (optional)
    pre_exchangecalled before atom exchange on re-neighboring steps (optional)
    pre_neighborcalled before neighbor list build (optional)
    pre_forcecalled before pair & molecular forces are computed (optional)
    post_forcecalled after pair & molecular forces are computed and communicated (optional)
    final_integratecalled at end of each timestep (optional)
    end_of_stepcalled at very end of timestep (optional)
    write_restartdumps fix info to restart file (optional)
    restartuses info from restart file to re-initialize the fix (optional)
    grow_arraysallocate memory for atom-based arrays used by fix (optional)
    copy_arrayscopy atom info when an atom migrates to a new processor (optional)
    pack_exchangestore atom’s data in a buffer (optional)
    unpack_exchangeretrieve atom’s data from a buffer (optional)
    pack_restartstore atom’s data for writing to restart file (optional)
    unpack_restartretrieve atom’s data from a restart file buffer (optional)
    size_restartsize of atom’s data (optional)
    maxsize_restartmax size of atom’s data (optional)
    setup_pre_force_respasame as setup_pre_force, but for rRESPA (optional)
    initial_integrate_respasame as initial_integrate, but for rRESPA (optional)
    post_integrate_respacalled after the first half integration step is done in rRESPA (optional)
    pre_force_respasame as pre_force, but for rRESPA (optional)
    post_force_respasame as post_force, but for rRESPA (optional)
    final_integrate_respasame as final_integrate, but for rRESPA (optional)
    min_pre_forcecalled after pair & molecular forces are computed in minimizer (optional)
    min_post_forcecalled after pair & molecular forces are computed and communicated in minmizer (optional)
    min_storestore extra data for linesearch based minimization on a LIFO stack (optional)
    min_pushstorepush the minimization LIFO stack one element down (optional)
    min_popstorepop the minimization LIFO stack one element up (optional)
    min_clearstoreclear minimization LIFO stack (optional)
    min_stepreset or move forward on line search minimization (optional)
    min_dofreport number of degrees of freedom added by this fix in minimization (optional)
    max_alphareport maximum allowed step size during linesearch minimization (optional)
    pack_commpack a buffer to communicate a per-atom quantity (optional)
    unpack_communpack a buffer to communicate a per-atom quantity (optional)
    pack_reverse_commpack a buffer to reverse communicate a per-atom quantity (optional)
    unpack_reverse_communpack a buffer to reverse communicate a per-atom quantity (optional)
    dofreport number of degrees of freedom removed by this fix during MD (optional)
    compute_scalarreturn a global scalar property that the fix computes (optional)
    compute_vectorreturn a component of a vector property that the fix computes (optional)
    compute_arrayreturn a component of an array property that the fix computes (optional)
    deformcalled when the box size is changed (optional)
    reset_targetcalled when a change of the target temperature is requested during a run (optional)
    reset_dtis called when a change of the time step is requested during a run (optional)
    modify_paramcalled when a fix_modify request is executed (optional)
    memory_usagereport memory used by fix (optional)
    thermocompute quantities for thermodynamic output (optional)
    -

    Typically, only a small fraction of these methods are defined for a +implement. +

    +

    Here is a brief description of methods you can define in your new +derived class. See fix.h for details. +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    setmask determines when the fix is called during the timestep (required)
    init initialization before a run (optional)
    setup_pre_exchange called before atom exchange in setup (optional)
    setup_pre_force called before force computation in setup (optional)
    setup called immediately before the 1st timestep and after forces are computed (optional)
    min_setup_pre_force like setup_pre_force, but for minimizations instead of MD runs (optional)
    min_setup like setup, but for minimizations instead of MD runs (optional)
    initial_integrate called at very beginning of each timestep (optional)
    pre_exchange called before atom exchange on re-neighboring steps (optional)
    pre_neighbor called before neighbor list build (optional)
    pre_force called before pair & molecular forces are computed (optional)
    post_force called after pair & molecular forces are computed and communicated (optional)
    final_integrate called at end of each timestep (optional)
    end_of_step called at very end of timestep (optional)
    write_restart dumps fix info to restart file (optional)
    restart uses info from restart file to re-initialize the fix (optional)
    grow_arrays allocate memory for atom-based arrays used by fix (optional)
    copy_arrays copy atom info when an atom migrates to a new processor (optional)
    pack_exchange store atom's data in a buffer (optional)
    unpack_exchange retrieve atom's data from a buffer (optional)
    pack_restart store atom's data for writing to restart file (optional)
    unpack_restart retrieve atom's data from a restart file buffer (optional)
    size_restart size of atom's data (optional)
    maxsize_restart max size of atom's data (optional)
    setup_pre_force_respa same as setup_pre_force, but for rRESPA (optional)
    initial_integrate_respa same as initial_integrate, but for rRESPA (optional)
    post_integrate_respa called after the first half integration step is done in rRESPA (optional)
    pre_force_respa same as pre_force, but for rRESPA (optional)
    post_force_respa same as post_force, but for rRESPA (optional)
    final_integrate_respa same as final_integrate, but for rRESPA (optional)
    min_pre_force called after pair & molecular forces are computed in minimizer (optional)
    min_post_force called after pair & molecular forces are computed and communicated in minmizer (optional)
    min_store store extra data for linesearch based minimization on a LIFO stack (optional)
    min_pushstore push the minimization LIFO stack one element down (optional)
    min_popstore pop the minimization LIFO stack one element up (optional)
    min_clearstore clear minimization LIFO stack (optional)
    min_step reset or move forward on line search minimization (optional)
    min_dof report number of degrees of freedom added by this fix in minimization (optional)
    max_alpha report maximum allowed step size during linesearch minimization (optional)
    pack_comm pack a buffer to communicate a per-atom quantity (optional)
    unpack_comm unpack a buffer to communicate a per-atom quantity (optional)
    pack_reverse_comm pack a buffer to reverse communicate a per-atom quantity (optional)
    unpack_reverse_comm unpack a buffer to reverse communicate a per-atom quantity (optional)
    dof report number of degrees of freedom removed by this fix during MD (optional)
    compute_scalar return a global scalar property that the fix computes (optional)
    compute_vector return a component of a vector property that the fix computes (optional)
    compute_array return a component of an array property that the fix computes (optional)
    deform called when the box size is changed (optional)
    reset_target called when a change of the target temperature is requested during a run (optional)
    reset_dt is called when a change of the time step is requested during a run (optional)
    modify_param called when a fix_modify request is executed (optional)
    memory_usage report memory used by fix (optional)
    thermo compute quantities for thermodynamic output (optional) +
    + +

    Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration (nve, nvt, npt) implement initial_integrate() and +integration (nve, nvt, npt) implement initial_integrate() and final_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post_force().

    -

    Fixes that perform diagnostics typically implement end_of_step(). For +constrain forces implement post_force(). +

    +

    Fixes that perform diagnostics typically implement end_of_step(). For an end_of_step fix, one of your fix arguments must be the variable -“nevery” which is used to determine when to call the fix and you must +"nevery" which is used to determine when to call the fix and you must set this variable in the constructor of your fix. By convention, this -is the first argument the fix defines (after the ID, group-ID, style).

    -

    If the fix needs to store information for each atom that persists from +is the first argument the fix defines (after the ID, group-ID, style). +

    +

    If the fix needs to store information for each atom that persists from timestep to timestep, it can manage that memory and migrate the info with the atoms as they move from processors to processor by implementing the grow_arrays, copy_arrays, pack_exchange, and unpack_exchange methods. Similarly, the pack_restart and unpack_restart methods can be implemented to store information about the fix in restart files. If you wish an integrator or force -constraint fix to work with rRESPA (see the run_style +constraint fix to work with rRESPA (see the run_style command), the initial_integrate, post_force_integrate, and final_integrate_respa methods can be implemented. The thermo method enables a fix to contribute values to thermodynamic output, as printed -quantities and/or to be summed to the potential energy of the system.

    -
    -
    -
    -

    10.7. Input script commands¶

    -

    New commands can be added to LAMMPS input scripts by adding new -classes that have a “command” method. For example, the create_atoms, +quantities and/or to be summed to the potential energy of the system. +

    +
    + +

    10.7 Input script commands +

    +

    New commands can be added to LAMMPS input scripts by adding new +classes that have a "command" method. For example, the create_atoms, read_data, velocity, and run commands are all implemented in this fashion. When such a command is encountered in the LAMMPS input script, LAMMPS simply creates a class with the corresponding name, -invokes the “command” method of the class, and passes it the arguments +invokes the "command" method of the class, and passes it the arguments from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures.

    -

    The single method your new class must define is as follows:

    - ---- - - - - - -
    commandoperations performed by the new command
    -

    Of course, the new class can define other methods and variables as -needed.

    -
    -
    -
    -

    10.8. Kspace computations¶

    -

    Classes that compute long-range Coulombic interactions via K-space +operations it wishes on LAMMPS data structures. +

    +

    The single method your new class must define is as follows: +

    +
    +
    command operations performed by the new command +
    + +

    Of course, the new class can define other methods and variables as +needed. +

    +
    + +

    10.8 Kspace computations +

    +

    Classes that compute long-range Coulombic interactions via K-space representations (Ewald, PPPM) are derived from the KSpace class. New -styles can be created to add new K-space options to LAMMPS.

    -

    Ewald.cpp is an example of computing K-space interactions.

    -

    Here is a brief description of methods you define in your new derived -class. See kspace.h for details.

    - ---- - - - - - - - - - - - - - - -
    initinitialize the calculation before a run
    setupcomputation before the 1st timestep of a run
    computeevery-timestep computation
    memory_usagetally of memory usage
    -
    -
    -
    -

    10.9. Minimization styles¶

    -

    Classes that perform energy minimization derived from the Min class. +styles can be created to add new K-space options to LAMMPS. +

    +

    Ewald.cpp is an example of computing K-space interactions. +

    +

    Here is a brief description of methods you define in your new derived +class. See kspace.h for details. +

    +
    + + + +
    init initialize the calculation before a run
    setup computation before the 1st timestep of a run
    compute every-timestep computation
    memory_usage tally of memory usage +
    + +
    + +

    10.9 Minimization styles +

    +

    Classes that perform energy minimization derived from the Min class. New styles can be created to add new minimization algorithms to -LAMMPS.

    -

    Min_cg.cpp is an example of conjugate gradient minimization.

    -

    Here is a brief description of methods you define in your new derived -class. See min.h for details.

    - ---- - - - - - - - - - - - -
    initinitialize the minimization before a run
    runperform the minimization
    memory_usagetally of memory usage
    -
    -
    -
    -

    10.10. Pairwise potentials¶

    -

    Classes that compute pairwise interactions are derived from the Pair +LAMMPS. +

    +

    Min_cg.cpp is an example of conjugate gradient minimization. +

    +

    Here is a brief description of methods you define in your new derived +class. See min.h for details. +

    +
    + + +
    init initialize the minimization before a run
    run perform the minimization
    memory_usage tally of memory usage +
    + +
    + +

    10.10 Pairwise potentials +

    +

    Classes that compute pairwise interactions are derived from the Pair class. In LAMMPS, pairwise calculation include manybody potentials such as EAM or Tersoff where particles interact without a static bond topology. New styles can be created to add new pair potentials to -LAMMPS.

    -

    Pair_lj_cut.cpp is a simple example of a Pair class, though it -includes some optional methods to enable its use with rRESPA.

    -

    Here is a brief description of the class methods in pair.h:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    computeworkhorse routine that computes pairwise interactions
    settingsreads the input script line with arguments you define
    coeffset coefficients for one i,j type pair
    init_oneperform initialization for one i,j type pair
    init_styleinitialization specific to this pair style
    write & read_restartwrite/read i,j pair coeffs to restart files
    write & read_restart_settingswrite/read global settings to restart files
    singleforce and energy of a single pairwise interaction between 2 atoms
    compute_inner/middle/outerversions of compute used by rRESPA
    -

    The inner/middle/outer routines are optional.

    -
    -
    -
    -

    10.11. Region styles¶

    -

    Classes that define geometric regions are derived from the Region +LAMMPS. +

    +

    Pair_lj_cut.cpp is a simple example of a Pair class, though it +includes some optional methods to enable its use with rRESPA. +

    +

    Here is a brief description of the class methods in pair.h: +

    +
    + + + + + + + + +
    compute workhorse routine that computes pairwise interactions
    settings reads the input script line with arguments you define
    coeff set coefficients for one i,j type pair
    init_one perform initialization for one i,j type pair
    init_style initialization specific to this pair style
    write & read_restart write/read i,j pair coeffs to restart files
    write & read_restart_settings write/read global settings to restart files
    single force and energy of a single pairwise interaction between 2 atoms
    compute_inner/middle/outer versions of compute used by rRESPA +
    + +

    The inner/middle/outer routines are optional. +

    +
    + +

    10.11 Region styles +

    +

    Classes that define geometric regions are derived from the Region class. Regions are used elsewhere in LAMMPS to group atoms, delete atoms to create a void, insert atoms in a specified region, etc. New -styles can be created to add new region shapes to LAMMPS.

    -

    Region_sphere.cpp is an example of a spherical region.

    -

    Here is a brief description of methods you define in your new derived -class. See region.h for details.

    - ---- - - - - - -
    matchdetermine whether a point is in the region
    -
    -
    -
    -

    10.12. Body styles¶

    -

    Classes that define body particles are derived from the Body class. +styles can be created to add new region shapes to LAMMPS. +

    +

    Region_sphere.cpp is an example of a spherical region. +

    +

    Here is a brief description of methods you define in your new derived +class. See region.h for details. +

    +
    +
    match determine whether a point is in the region +
    + +
    + +

    10.11 Body styles +

    +

    Classes that define body particles are derived from the Body class. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, -etc.

    -

    See Section_howto 14 of the manual for -an overview of using body particles and the body doc page +etc. +

    +

    See Section_howto 14 of the manual for +an overview of using body particles and the body doc page for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS.

    -

    Body_nparticle.cpp is an example of a body particle that is treated as -a rigid body containing N sub-particles.

    -

    Here is a brief description of methods you define in your new derived -class. See body.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data_bodyprocess a line from the Bodies section of a data file
    noutrownumber of sub-particles output is generated for
    noutcolnumber of values per-sub-particle output is generated for
    outputoutput values for the Mth sub-particle
    pack_comm_bodybody attributes to communicate every timestep
    unpack_comm_bodyunpacking of those attributes
    pack_border_bodybody attributes to communicate when reneighboring is done
    unpack_border_bodyunpacking of those attributes
    -
    -
    -
    -

    10.13. Thermodynamic output options¶

    -

    There is one class that computes and prints thermodynamic information -to the screen and log file; see the file thermo.cpp.

    -

    There are two styles defined in thermo.cpp: “one” and “multi”. There -is also a flexible “custom” style which allows the user to explicitly +can be created to add new kinds of body particles to LAMMPS. +

    +

    Body_nparticle.cpp is an example of a body particle that is treated as +a rigid body containing N sub-particles. +

    +

    Here is a brief description of methods you define in your new derived +class. See body.h for details. +

    +
    + + + + + + + +
    data_body process a line from the Bodies section of a data file
    noutrow number of sub-particles output is generated for
    noutcol number of values per-sub-particle output is generated for
    output output values for the Mth sub-particle
    pack_comm_body body attributes to communicate every timestep
    unpack_comm_body unpacking of those attributes
    pack_border_body body attributes to communicate when reneighboring is done
    unpack_border_body unpacking of those attributes +
    + +
    + +

    10.13 Thermodynamic output options +

    +

    There is one class that computes and prints thermodynamic information +to the screen and log file; see the file thermo.cpp. +

    +

    There are two styles defined in thermo.cpp: "one" and "multi". There +is also a flexible "custom" style which allows the user to explicitly list keywords for quantities to print when thermodynamic info is -output. See the thermo_style command for a list -of defined quantities.

    -

    The thermo styles (one, multi, etc) are simply lists of keywords. +output. See the thermo_style command for a list +of defined quantities. +

    +

    The thermo styles (one, multi, etc) are simply lists of keywords. Adding a new style thus only requires defining a new list of keywords. -Search for the word “customize” with references to “thermo style” in -thermo.cpp to see the two locations where code will need to be added.

    -

    New keywords can also be added to thermo.cpp to compute new quantities -for output. Search for the word “customize” with references to -“keyword” in thermo.cpp to see the several locations where code will -need to be added.

    -

    Note that the thermo_style custom command already allows -for thermo output of quantities calculated by fixes, -computes, and variables. Thus, it may +Search for the word "customize" with references to "thermo style" in +thermo.cpp to see the two locations where code will need to be added. +

    +

    New keywords can also be added to thermo.cpp to compute new quantities +for output. Search for the word "customize" with references to +"keyword" in thermo.cpp to see the several locations where code will +need to be added. +

    +

    Note that the thermo_style custom command already allows +for thermo output of quantities calculated by fixes, +computes, and variables. Thus, it may be simpler to compute what you wish via one of those constructs, than -by adding a new keyword to the thermo command.

    -
    -
    -
    -

    10.14. Variable options¶

    -

    There is one class that computes and stores variable +by adding a new keyword to the thermo command. +

    +
    + +

    10.14 Variable options +

    +

    There is one class that computes and stores variable information in LAMMPS; see the file variable.cpp. The value associated with a variable can be periodically printed to the screen -via the print, fix print, or -thermo_style custom commands. Variables of style -“equal” can compute complex equations that involve the following types -of arguments:

    -
    thermo keywords = ke, vol, atoms, ...
    +via the print, fix print, or
    +thermo_style custom commands.  Variables of style
    +"equal" can compute complex equations that involve the following types
    +of arguments:
    +

    +
    thermo keywords = ke, vol, atoms, ...
     other variables = v_a, v_myvar, ...
     math functions = div(x,y), mult(x,y), add(x,y), ...
     group functions = mass(group), xcm(group,x), ...
     atom values = x[123], y[3], vx[34], ...
    -compute values = c_mytemp[0], c_thermo_press[3], ...
    -
    -
    -

    Adding keywords for the thermo_style custom command +compute values = c_mytemp[0], c_thermo_press[3], ... + +

    Adding keywords for the thermo_style custom command (which can then be accessed by variables) was discussed -here on this page.

    -

    Adding a new math function of one or two arguments can be done by +here on this page. +

    +

    Adding a new math function of one or two arguments can be done by editing one section of the Variable::evaulate() method. Search for -the word “customize” to find the appropriate location.

    -

    Adding a new group function can be done by editing one section of the -Variable::evaulate() method. Search for the word “customize” to find +the word "customize" to find the appropriate location. +

    +

    Adding a new group function can be done by editing one section of the +Variable::evaulate() method. Search for the word "customize" to find the appropriate location. You may need to add a new method to the -Group class as well (see the group.cpp file).

    -

    Accessing a new atom-based vector can be done by editing one section -of the Variable::evaulate() method. Search for the word “customize” -to find the appropriate location.

    -

    Adding new compute styles (whose calculated values can +Group class as well (see the group.cpp file). +

    +

    Accessing a new atom-based vector can be done by editing one section +of the Variable::evaulate() method. Search for the word "customize" +to find the appropriate location. +

    +

    Adding new compute styles (whose calculated values can then be accessed by variables) was discussed -here on this page.

    -
    -
    -

    10.15. Submitting new features for inclusion in LAMMPS¶

    -

    We encourage users to submit new features to the developers that they add to +here on this page. +

    +
    + +
    + +

    10.15 Submitting new features for inclusion in LAMMPS +

    +

    We encourage users to submit new features to the +developers that they add to LAMMPS, especially if you think they will be of interest to other users. If they are broadly useful we may add them as core files to -LAMMPS or as part of a standard package. +LAMMPS or as part of a standard package. Else we will add them as a user-contributed file or package. Examples of user packages are in src sub-directories that start with USER. The USER-MISC package is simply a collection of (mostly) unrelated single files, which is the simplest way to have your contribution quickly added to the LAMMPS distribution. You can see a list of the both -standard and user packages by typing “make package” in the LAMMPS src -directory.

    -

    Note that by providing us the files to release, you are agreeing to +standard and user packages by typing "make package" in the LAMMPS src +directory. +

    +

    Note that by providing us the files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the -GPL, used as a license for the rest of LAMMPS. See Section 1.4 for details.

    -

    With user packages and files, all we are really providing (aside from +GPL, used as a license for the rest of LAMMPS. See Section +1.4 for details. +

    +

    With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source -code and on the Authors page -of the LAMMPS WWW site), is a means for you to distribute your +code and on the Authors page +of the LAMMPS WWW site), is a means for you to distribute your work to the LAMMPS user community, and a mechanism for others to easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you’re also implicitly +contact with new collaborators. Note that you're also implicitly agreeing to support your code which means answer questions, fix bugs, and maintain it if LAMMPS changes in some way that breaks it (an -unusual event).

    -
    -

    Note

    -

    If you prefer to actively develop and support your add-on +unusual event). +

    +

    NOTE: If you prefer to actively develop and support your add-on feature yourself, then you may wish to make it available for download from your own website, as a user package that LAMMPS users can add to -their copy of LAMMPS. See the Offsite LAMMPS packages and tools page of the LAMMPS web +their copy of LAMMPS. See the Offsite LAMMPS packages and +tools page of the LAMMPS web site for examples of groups that do this. We are happy to advertise your package and web site from that page. Simply email the -developers with info about -your package and we will post it there.

    -
    -

    The previous sections of this doc page describe how to add new “style” +developers with info about +your package and we will post it there. +

    +

    The previous sections of this doc page describe how to add new "style" files of various kinds to LAMMPS. Packages are simply collections of one or more new class files which are invoked as a new style within a LAMMPS input script. If designed correctly, these additions typically do not require changes to the main core of LAMMPS; they are simply add-on files. If you think your new feature requires non-trivial -changes in core LAMMPS files, you’ll need to communicate with the developers, since we may or may +changes in core LAMMPS files, you'll need to communicate with the +developers, since we may or may not want to make those changes. An example of a trivial change is -making a parent-class method “virtual” when you derive a new child -class from it.

    -

    Here are the steps you need to follow to submit a single file or user +making a parent-class method "virtual" when you derive a new child +class from it. +

    +

    Here are the steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the src dir for -examples.

    -
      -
    • All source files you provide must compile with the most current -version of LAMMPS.
    • -
    • If you want your file(s) to be added to main LAMMPS or one of its +examples. +

      +
      • All source files you provide must compile with the most current +version of LAMMPS. + +
      • If you want your file(s) to be added to main LAMMPS or one of its standard packages, then it needs to be written in a style compatible with other LAMMPS source files. This is so the developers can understand it and hopefully maintain it. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of -the error class for error and warning messages.
      • -
      • If you want your contribution to be added as a user-contributed -feature, and it’s a single file (actually a *.cpp and *.h file) it can +the error class for error and warning messages. + +
      • If you want your contribution to be added as a user-contributed +feature, and it's a single file (actually a *.cpp and *.h file) it can rapidly be added to the USER-MISC directory. Send us the one-line entry to add to the USER-MISC/README file in that dir, along with the 2 source files. You can do this multiple times if you wish to -contribute several individual features.
      • -
      • If you want your contribution to be added as a user-contribution and +contribute several individual features. + +
      • If you want your contribution to be added as a user-contribution and it is several related featues, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README @@ -1113,8 +719,9 @@ other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a -tarball of this USER-FOO directory.
      • -
      • Your new source files need to have the LAMMPS copyright, GPL notice, +tarball of this USER-FOO directory. + +
      • Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the @@ -1122,33 +729,37 @@ USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your -code.
      • -
      • You must also create a documentation file for each new command or +code. + +
      • You must also create a documentation file for each new command or style you are adding to LAMMPS. This will be one file for a single-file feature. For a package, it might be several files. These are simple text files which we auto-convert to HTML. Thus they must -be in the same format as other .txt files in the lammps/doc directory +be in the same format as other *.txt files in the lammps/doc directory for similar commands and styles; use one or more of them as a starting point. As appropriate, the text files can include links to equations -(see doc/Eqs/.tex for examples, we auto-create the associated JPG +(see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.txt for examples and the earlier part of the same -file for how to format the cite itself. The “Restrictions” section of +file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The -txt2html tool we use to convert to HTML can be downloaded from this site, so you can perform -the HTML conversion yourself to proofread your doc page.
      • -
      • For a new package (or even a single command) you can include one or +txt2html tool we use to convert to HTML can be downloaded from this +site, so you can perform +the HTML conversion yourself to proofread your doc page. + +
      • For a new package (or even a single command) you can include one or more example scripts. These should run in no more than 1 minute, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other -users provided for their packages.
      • -
      • If there is a paper of yours describing your feature (either the +users provided for their packages. + +
      • If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or -its implementation in LAMMPS), you can add the citation to the *.cpp +its implementation in LAMMPS), you can add the citation to the *.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the @@ -1159,86 +770,20 @@ should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you -provide.
      • -
      -

      Finally, as a general rule-of-thumb, the more clear and +provide. +

    +

    Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your doc and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new -feature.

    -

    (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997).

    -
    -
    +feature. +

    +
    +
    -
    -
    - - -
    -
    - - - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +

    a(H->xp^>2o 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 literal 618387 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%0AeDJ&r~abFSt5iYwf=L#)-FAUox}@ z`Skq?H;;(w`ua$f2H_T}(d;_>*W=abd7oka>QQ>&b_^boCYZmU0`VrYHN%tSrT z&uNy4j}L8qKj$HsFE-$HUuWJQ0r{U$2eSh8?)d!2F57F*(xGd=bK9rr9Ik;21=s#~ z^zJ`%-7)usMID}@w}V65N8S5+*ZacL^ANfL@V}FW-+oa&tNVgb8m$@mh*DD8{$>O! z?E&-!{{YB{e34(SKAxdtm#1_6Iz;Ki{Q3MbR%fTV{`cbhP~6aK8uxA&N4079AlG8m zZM`QAKpeKWJ^uihidVZ8{LYOSrmxxW5!4WSuT|&88=vd@p3bA_92MFg$G4eW z(bOK|_3Ua7E|Avh{5Zl99JJoeh-LRI)kMnR@q4)B5<@hQ35E)c}r0x8|`4ju(Jo8p~4!-PvccZb}fHR;!Mk2dc&OC}A zfB7BV0$xg(zPo8Ncsk9khNx!3Q*5%hKWsj6-2jJNR#I*aDT{E**JCyI%W&Qo-D z31Gg!H;?bnJMro_Tu4VKyLWiz>=#$@^!i2=p!=U5-;O{~8(~mwq&te;^209YUc-dQy_Aq}ubN*lCjB4rlC4zAs=AO0Nhz;N1TlK%RNrJr(_ZM8F{{Rq)oqU)tl4hMN z`EVsM+2vq;a|HPZo45dEQ|D*%w**a2hq2S<5YR@}>%aCr@zQ6&3J06-h=RRU;Okk} zQ|x%|#~PRb(by89(o^nd`}=WGK^TB2)5Xg^h~j_ev;P1+jqV)+b1lP=cYFT;o!H|a zLD>FplgWkmB1Nzv?7R3H^8yvLe(cKCf%E=9F;u0ef;TTLSJqjh-_k2U^d<}<{oPNf zpWLgu{_Jh&ht^?Iw0J6?uDBoyG{oB!YVWJW((XSn!uMaMKe>wQRF0WhHtnJz`w^5) zVLk}w?r>1{p$*39_!a(e%7hYFx-}0Kw|QoVekwdzZlWN`FGp$kf2r>pexSfVV!lC9 zZC7k;Xq0<(`nV@t2M1%J0a^^oM#f{{ScXEk=rcC6}hJt#8T}4D zok8lVuYIq?-d*re3N*_Aqf8#Uoo|V=I*-hCxL>rtxJZ5qK3e-9SzQ_mB|B0DdrT=O zR9~eJ-lfIhDam2IePi+Wfj=O?<~=zN%0+u9HUk|mQB|O9FyZfBm@8J-zmN7)jbk6* z`N~fQwf4-%R)N_5Z_FtHvioK@HNfm~Z&*G<{$^h+u7D2j!SACo;Vx6E`0PCG@xy6= zpA&LXUtG$}rRj6iUS*`P4`bdTQEzlVG1aAkhYz$6c0QMQHxw9l2>us_2*BUcR?Zs# z0C_Gh`0`%;&%|ke>0v&mW2maj9Q`T+GzAy=;4OOV*ohYZ0G0m$ky~RI#{Tm0tJ&4I z9o%3$^d)ZYr*+-`05o~w+Oscb588NL`(jrb`gBxMW=_TMy_SI4xb3NcsZWsY z@$)h}P}!cl;DjpP=zZKlKoqdNFS~WqtW}^gFz?Cl6b3@kjbz4x9hScfToBl?m{a9n z^O#q;e2qgy&9AoEN;^^PVDy1tIbO%}P#z3x-S_^cuQBtS(tKPWWn{X&v<)NQ^u3oUDe;0Ioa}` z`3T;qJ@6qL2l8-y!Dy*hsuu71I&uF16N9JLkH0u72H30hd+z@L7`9}&-0c1$YIS|O zkFEXqyLfHy)BO2>4oc_3I9&S~e$lREQhONu5#6Al7A28T4#0GI^U^oBhp-dM(K^>t z=J}L?fb0E5)*s+KgX!sBY5xE%@f5p2+u!-pf8rDW01%(}g#Q4puP+w|xih{G~=7`PUIlm>&b=$ez84L>++`anPr14o}L-gmt1=ke2~CBo3F zUY;l+LD8_j-fB7=O^*Hh@nl7n4&(g9)KPua+3cEl(@R*4Ez9p{e33+Kmj3{qYh~lT z!FiBZt~x*l9EtAT8v4!V8A-RfbPpZbw^!_R4{m#)2Ey_48m`+158B}>kwrMKXsHX9 z-o86{mMswa{{Wmp2nu{%eV=|{R07zH5%~xF+^NbURVgWzXX^R5xfHZ|+*>FPfza(K zAX~Rbys}Ss>U%pKx!)=<(4ce}3-qWe#bmkX`cu#Jr=RIhKhmCmr9A%tN;RGD{!J+@ zx=YE{IK019xlxtn1E9cPkJKdm0ac%V)yaB=7ufy5Rf^i}(77s&=2qRUT?6XBn&29g zfqVY|7Mb{40NV7s*X{HZsD+FWk6KwhyAUCzD?T2x{{V3aj;0G{DWi7w9ZU18+xM^A z*qW~W;<{{0@b7U2EpcneQSI@+nf!k*?e^uDfUdZA?a7l0uR{mCF*LwCa5C~}loA{L zxJAm^?a;o)pk^u8eZz`DE}jc!hN`)|o&0(e3_ zX;bmy7iyK7v>vr*(-BidqWZ?_*IVh+F@Zk*Y?_(R=nu5Enr@;XP@R+q&6n-_b5m_! tyhgE!^@x(xMC?)Tz6?n$6Dx|#9b&(3e&iLqtLR@s{IXy!e#J+d^mn4Tm`Dm>fB zj6JW$jAcYf!!TZkgt1n#H0I~MKi)aN-|utJ`J8jly`Ovkx#!%EfF<|~kg~V2vjIRL z5O8iU00A4Y2Ef81A|k@zJpzNlqGAwnu{}T~B_$v*=)r?9C=4borz|fmqa+K1DI8Kz zQc*!55YqDMNOe`DvMNGV&f#!Pr~T#Rv55sk)|W23VMxP*aX|d< zftCROzWt^Aa;^U+?L>OJb60S?2lJO$-A|N9y(8XZS6X*h)T%VjT2f2|z=5+zVvBPG z04R29{$Hv8n6qRn*cFZ}2DED#gzt(2L5@c7+Yx$-tkVJM9Iad%J}u`!3bfcDT$(%A z<$3)drPISpylZ&1#-Br(#S{&( ztrE4i21Xa;M#Qr`r#d>rYWLZPEQWPF)@Q}=ceXh(>*T`jxFj?AC#jQkgntN;rzuWoz| z-rDUnuj$2-I=++8U%wl@`eWx_JnO@&1-Yq}3f|8jc;pYRIO#>BI81|{FOJ>#cZ^@yw01eNZD>Cdzu#&tlie5EcFl$!^QO+ z#1EX_M#bN%X^mcfL!p?}5;IbEH!O4oKu@d@KZec!W=Y>dsLoJuK5NWneWOt2N5lR8 zw^Uy1d{!;b$vKdAa`#Ea)XPA5c@BwlbxFxCq`ifbxoVL2Q#bvv&4Y0Z0-HvLQmCvH z-r170xp*@>H6N1)uNgPeDybVi`$}@(3pH~Rw(;x6p~oYxBr!wC3c7J!%w|ZaHitIq zQkqz3{USJUpTs2v!n(M6`}(p=$}~wLzPPE0(nyfABGojfD(RpNW45qG>iH&Gjdbel283c5OWZK!Y;!`{BE;pTvYSJlNRj73 zs7_m_BCC6KU-s}-ItD3%%8meS zDeAZ^cQJi>-E4^CeI+E%LtK}##b#+J0r+#XuD;o&h+jr`-+YW;B$(~?=L&!o7Z&?C zcH@{w=Xa>GRZ3`Px@OMS)cxGTqPc|&E(8If(uadO;gu^QY7^gZyk}M(c9&r!pwuv- zl@KP`v~zHN&Px_Gu->0E?E&e#a*9m=mrxt_A*jXtP)4QvsCSv=JXMv>@#2gHMF|^zL969y zg@^&J z9b@16Zg5rfn>ShYRzCUb+=!kXfe?;oHP`reImp;&-yEdnnkH=d(j{^w#s-0V>$f?X zkm?Q%3C73nKZ$pUPo~LDgr)D6Ek~UP3r|6aEPH!7$LH3RObll4Rk|Y94_qkvgpaL7 z{-}{u-ak3n|IjTDRg{jzWXRv_1kXdVUuj0np-(4`{=~(*&X92?WMM6Bb#o4PzC}kn zuV|5_(~>&+l@@99atUuM*VypJgMHQQh(TS^uVA~UsuO1(2WnC#-5H90{A5`XUPk@i zhrTwqroh`!T7;4sy{h0%%qSWyt8Z5=3HnX!YQ+RMWA2N4=&~%)JG?}(n~gM+*Eg?@ zsa$Vv5mEVmT`EDsFJ_tPnAEr>>nx<6;;IDf2Xu_f@l9zLBaym8YPtJJ#NImA=%1?S z-6vJ=R+%n)$E*Lmqocj&Pua%z!~MM8LAv)-bg4wSsO>59M~uJ(fYXU>)051yWnf7@ zoWn=j^BeOp1#%YApHX?gEHZpEK5!>2v;NY{Ta@>EH=sfuKZ~RuJU`gkGU8mQ*rJ(W zUz4aN-M;Tpxt8k-JVH8C`qWRyBsSrhY0H5r&vNtIqIN!uvR_Ns-A;C(L@FT_b;3l| w*{JA;NyFv*cl*tgY!-Mh>E;XHR)&my#+Tk(aZ)QC|If$#kFEJ9)e(&S2WaH4I{*Lx literal 586170 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 J?)=2^C5|h?&rQhE#F{x=_AZmIjZ^Jf|26XU7PX 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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). +

    + diff --git a/doc/Section_packages.html b/doc/Section_packages.html index 98a805ea2e..4b9bd92756 100644 --- a/doc/Section_packages.html +++ b/doc/Section_packages.html @@ -1,942 +1,269 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands - Next +Section +
    - - - - - - - - - 4. Packages — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    4. Packages¶

    -

    This section gives a quick overview of the add-on packages that extend -LAMMPS functionality.

    - -

    LAMMPS includes many optional packages, which are groups of files that + + +


    + +

    4. Packages +

    +

    This section gives a quick overview of the add-on packages that extend +LAMMPS functionality. +

    +4.1 Standard packages
    +4.2 User packages
    + +

    LAMMPS includes many optional packages, which are groups of files that enable a specific set of features. For example, force fields for molecular systems or granular systems are in packages. You can see -the list of all packages by typing “make package” from within the src -directory of the LAMMPS distribution.

    -

    See Section_start 3 of the manual for +the list of all packages by typing "make package" from within the src +directory of the LAMMPS distribution. +

    +

    See Section_start 3 of the manual for details on how to include/exclude specific packages as part of the LAMMPS build process, and for more details about the differences -between standard packages and user packages in LAMMPS.

    -

    Below, the packages currently availabe in LAMMPS are listed. For +between standard packages and user packages in LAMMPS. +

    +

    Below, the packages currently availabe in LAMMPS are listed. For standard packages, just a one-line description is given. For user -packages, more details are provided.

    -
    -

    4.1. Standard packages¶

    -

    The current list of standard packages is as follows:

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PackageDescriptionAuthor(s)Doc pageExampleLibrary
    ASPHEREaspherical particles
      -
    • -
    -
    Section_howto 6.14ellipse
      -
    • -
    -
    BODYbody-style particles
      -
    • -
    -
    bodybody
      -
    • -
    -
    CLASS2class 2 force fields
      -
    • -
    -
    pair_style lj/class2
      -
    • -
    -
      -
    • -
    -
    COLLOIDcolloidal particles
      -
    • -
    -
    atom_style colloidcolloid
      -
    • -
    -
    CORESHELLadiabatic core/shell modelHendrik Heenen (Technical U of Munich)Section_howto 6.25coreshell
      -
    • -
    -
    DIPOLEpoint dipole particles
      -
    • -
    -
    pair_style dipole/cutdipole
      -
    • -
    -
    FLDFast Lubrication DynamicsKumar & Bybee & Higdon (1)pair_style lubricateU
      -
    • -
    -
      -
    • -
    -
    GPUGPU-enabled stylesMike Brown (ORNL)Section accelerategpulib/gpu
    GRANULARgranular systems
      -
    • -
    -
    Section_howto 6.6pour
      -
    • -
    -
    KIMopenKIM potentialsSmirichinski & Elliot & Tadmor (3)pair_style kimkimKIM
    KOKKOSKokkos-enabled stylesTrott & Edwards (4)Section_acceleratekokkoslib/kokkos
    KSPACElong-range Coulombic solvers
      -
    • -
    -
    kspace_stylepeptide
      -
    • -
    -
    MANYBODYmany-body potentials
      -
    • -
    -
    pair_style tersoffshear
      -
    • -
    -
    MEAMmodified EAM potentialGreg Wagner (Sandia)pair_style meammeamlib/meam
    MCMonte Carlo options
      -
    • -
    -
    fix gcmc
      -
    • -
    -
      -
    • -
    -
    MOLECULEmolecular system force fields
      -
    • -
    -
    Section_howto 6.3peptide
      -
    • -
    -
    OPToptimized pair stylesFischer & Richie & Natoli (2)Section accelerate
      -
    • -
    -
      -
    • -
    -
    PERIPeridynamics modelsMike Parks (Sandia)pair_style periperi
      -
    • -
    -
    POEMScoupled rigid body motionRudra Mukherjee (JPL)fix poemsrigidlib/poems
    PYTHONembed Python code in an input script
      -
    • -
    -
    pythonpythonlib/python
    REAXReaxFF potentialAidan Thompson (Sandia)pair_style reaxreaxlib/reax
    REPLICAmulti-replica methods
      -
    • -
    -
    Section_howto 6.5tad
      -
    • -
    -
    RIGIDrigid bodies
      -
    • -
    -
    fix rigidrigid
      -
    • -
    -
    SHOCKshock loading methods
      -
    • -
    -
    fix msst
      -
    • -
    -
      -
    • -
    -
    SNAPquantum-fit potentialAidan Thompson (Sandia)pair snapsnap
      -
    • -
    -
    SRDstochastic rotation dynamics
      -
    • -
    -
    fix srdsrd
      -
    • -
    -
    VORONOIVoronoi tesselationsDaniel Schwen (LANL)compute voronoi/atom
      -
    • -
    -
    Voro++
    XTCdumps in XTC format
      -
    • -
    -
    dump
      -
    • -
    -
      -
    • -
    -
          
    -

    The “Authors” column lists a name(s) if a specific person is -responible for creating and maintaining the package.

    -

    (1) The FLD package was created by Amit Kumar and Michael Bybee from -Jonathan Higdon’s group at UIUC.

    -

    (2) The OPT package was created by James Fischer (High Performance +packages, more details are provided. +

    +
    + +
    + +

    4.1 Standard packages +

    +

    The current list of standard packages is as follows: +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Package Description Author(s) Doc page Example Library
    ASPHERE aspherical particles - Section_howto 6.14 ellipse -
    BODY body-style particles - body body -
    CLASS2 class 2 force fields - pair_style lj/class2 - -
    COLLOID colloidal particles - atom_style colloid colloid -
    CORESHELL adiabatic core/shell model Hendrik Heenen (Technical U of Munich) Section_howto 6.25 coreshell -
    DIPOLE point dipole particles - pair_style dipole/cut dipole -
    FLD Fast Lubrication Dynamics Kumar & Bybee & Higdon (1) pair_style lubricateU - -
    GPU GPU-enabled styles Mike Brown (ORNL) Section accelerate gpu lib/gpu
    GRANULAR granular systems - Section_howto 6.6 pour -
    KIM openKIM potentials Smirichinski & Elliot & Tadmor (3) pair_style kim kim KIM
    KOKKOS Kokkos-enabled styles Trott & Edwards (4) Section_accelerate kokkos lib/kokkos
    KSPACE long-range Coulombic solvers - kspace_style peptide -
    MANYBODY many-body potentials - pair_style tersoff shear -
    MEAM modified EAM potential Greg Wagner (Sandia) pair_style meam meam lib/meam
    MC Monte Carlo options - fix gcmc - -
    MOLECULE molecular system force fields - Section_howto 6.3 peptide -
    OPT optimized pair styles Fischer & Richie & Natoli (2) Section accelerate - -
    PERI Peridynamics models Mike Parks (Sandia) pair_style peri peri -
    POEMS coupled rigid body motion Rudra Mukherjee (JPL) fix poems rigid lib/poems
    PYTHON embed Python code in an input script - python python lib/python
    REAX ReaxFF potential Aidan Thompson (Sandia) pair_style reax reax lib/reax
    REPLICA multi-replica methods - Section_howto 6.5 tad -
    RIGID rigid bodies - fix rigid rigid -
    SHOCK shock loading methods - fix msst - -
    SNAP quantum-fit potential Aidan Thompson (Sandia) pair snap snap -
    SRD stochastic rotation dynamics - fix srd srd -
    VORONOI Voronoi tesselations Daniel Schwen (LANL) compute voronoi/atom - Voro++
    XTC dumps in XTC format - dump - -
    +
    + +

    The "Authors" column lists a name(s) if a specific person is +responible for creating and maintaining the package. +

    +

    (1) The FLD package was created by Amit Kumar and Michael Bybee from +Jonathan Higdon's group at UIUC. +

    +

    (2) The OPT package was created by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge -Technolgy).

    -

    (3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott, -and Ellad Tadmor (U Minn).

    -

    (4) The KOKKOS package was created primarily by Christian Trott +Technolgy). +

    +

    (3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott, +and Ellad Tadmor (U Minn). +

    +

    (4) The KOKKOS package was created primarily by Christian Trott (Sandia). It uses the Kokkos library which was developed by Carter -Edwards, Christian, and collaborators at Sandia.

    -

    The “Doc page” column links to either a portion of the -Section_howto of the manual, or an input script -command implemented as part of the package.

    -

    The “Example” column is a sub-directory in the examples directory of +Edwards, Christian, and collaborators at Sandia. +

    +

    The "Doc page" column links to either a portion of the +Section_howto of the manual, or an input script +command implemented as part of the package. +

    +

    The "Example" column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. -E.g. “peptide” refers to the examples/peptide directory.

    -

    The “Library” column lists an external library which must be built +E.g. "peptide" refers to the examples/peptide directory. +

    +

    The "Library" column lists an external library which must be built first and which LAMMPS links to when it is built. If it is listed as lib/package, then the code for the library is under the lib directory of the LAMMPS distribution. See the lib/package/README file for info on how to build the library. If it is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/README or src/package/Makefile.lammps file for -info on where to download the library. Section start of the manual also gives details -on how to build LAMMPS with both kinds of auxiliary libraries.

    -
    -
    -

    4.2. User packages¶

    -

    The current list of user-contributed packages is as follows:

    - --------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PackageDescriptionAuthor(s)Doc pageExamplePic/movieLibrary
    USER-ATCatom-to-continuum couplingJones & Templeton & Zimmerman (1)fix atcUSER/atcatclib/atc
    USER-AWPMDwave-packet MDIlya Valuev (JIHT)pair_style awpmd/cutUSER/awpmd
      -
    • -
    -
    lib/awpmd
    USER-CG-CMMcoarse-graining modelAxel Kohlmeyer (Temple U)pair_style lj/sdkUSER/cg-cmmcg
      -
    • -
    -
    USER-COLVARScollective variablesFiorin & Henin & Kohlmeyer (2)fix colvarsUSER/colvarscolvarslib/colvars
    USER-CUDANVIDIA GPU stylesChristian Trott (U Tech Ilmenau)Section accelerateUSER/cuda
      -
    • -
    -
    lib/cuda
    USER-DIFFRACTIONvirutal x-ray and electron diffractionShawn Coleman (ARL)compute xrdUSER/diffraction
      -
    • -
    -
      -
    • -
    -
    USER-DRUDEDrude oscillatorsDequidt & Devemy & Padua (3)tutorialUSER/drude
      -
    • -
    -
      -
    • -
    -
    USER-EFFelectron force fieldAndres Jaramillo-Botero (Caltech)pair_style eff/cutUSER/effeff
      -
    • -
    -
    USER-FEPfree energy perturbationAgilio Padua (U Blaise Pascal Clermont-Ferrand)compute fepUSER/fep
      -
    • -
    -
      -
    • -
    -
    USER-INTELVectorized CPU and Intel(R) coprocessor styles
      -
    1. Michael Brown (Intel)
    2. -
    -
    Section accelerateexamples/intel
      -
    • -
    -
      -
    • -
    -
    USER-LBLattice Boltzmann fluidColin Denniston (U Western Ontario)fix lb/fluidUSER/lb
      -
    • -
    -
      -
    • -
    -
    USER-MISCsingle-file contributionsUSER-MISC/READMEUSER-MISC/README
      -
    • -
    -
      -
    • -
    -
      -
    • -
    -
    USER-MOLFILEVMD molfile plug-insAxel Kohlmeyer (Temple U)dump molfile
      -
    • -
    -
      -
    • -
    -
    VMD-MOLFILE
    USER-OMPOpenMP threaded stylesAxel Kohlmeyer (Temple U)Section accelerate
      -
    • -
    -
      -
    • -
    -
      -
    • -
    -
    USER-PHONONphonon dynamical matrixLing-Ti Kong (Shanghai Jiao Tong U)fix phononUSER/phonon
      -
    • -
    -
      -
    • -
    -
    USER-QMMMQM/MM couplingAxel Kohlmeyer (Temple U)fix qmmmUSER/qmmm
      -
    • -
    -
    lib/qmmm
    USER-QTBquantum nuclear effectsYuan Shen (Stanford)fix qtb fix_qbmsstqtb
      -
    • -
    -
      -
    • -
    -
    USER-QUIPQUIP/libatoms interfaceAlbert Bartok-Partay (U Cambridge)pair_style quipUSER/quip
      -
    • -
    -
    lib/quip
    USER-REAXCC version of ReaxFFMetin Aktulga (LBNL)pair_style reaxcreax
      -
    • -
    -
      -
    • -
    -
    USER-SPHsmoothed particle hydrodynamicsGeorg Ganzenmuller (EMI)userguide.pdfUSER/sphsph
      -
    • -
    -
           
    -

    The “Authors” column lists a name(s) if a specific person is -responible for creating and maintaining the package.

    -

    If the Library is not listed as lib/package, then it is a third-party +info on where to download the library. Section +start of the manual also gives details +on how to build LAMMPS with both kinds of auxiliary libraries. +

    +
    + +
    + +

    4.2 User packages +

    +

    The current list of user-contributed packages is as follows: +

    +
    + + + + + + + + + + + + + + + + + + + + + +
    Package Description Author(s) Doc page Example Pic/movie Library
    USER-ATC atom-to-continuum coupling Jones & Templeton & Zimmerman (1) fix atc USER/atc atc lib/atc
    USER-AWPMD wave-packet MD Ilya Valuev (JIHT) pair_style awpmd/cut USER/awpmd - lib/awpmd
    USER-CG-CMM coarse-graining model Axel Kohlmeyer (Temple U) pair_style lj/sdk USER/cg-cmm cg -
    USER-COLVARS collective variables Fiorin & Henin & Kohlmeyer (2) fix colvars USER/colvars colvars lib/colvars
    USER-CUDA NVIDIA GPU styles Christian Trott (U Tech Ilmenau) Section accelerate USER/cuda - lib/cuda
    USER-DIFFRACTION virutal x-ray and electron diffraction Shawn Coleman (ARL)compute xrd USER/diffraction - -
    USER-DRUDE Drude oscillators Dequidt & Devemy & Padua (3) tutorial USER/drude - -
    USER-EFF electron force field Andres Jaramillo-Botero (Caltech) pair_style eff/cut USER/eff eff -
    USER-FEP free energy perturbation Agilio Padua (U Blaise Pascal Clermont-Ferrand) compute fep USER/fep - -
    USER-INTEL Vectorized CPU and Intel(R) coprocessor styles W. Michael Brown (Intel) Section accelerate examples/intel - -
    USER-LB Lattice Boltzmann fluid Colin Denniston (U Western Ontario) fix lb/fluid USER/lb - -
    USER-MISC single-file contributions USER-MISC/README USER-MISC/README - - -
    USER-MOLFILE VMD molfile plug-ins Axel Kohlmeyer (Temple U) dump molfile - - VMD-MOLFILE
    USER-OMP OpenMP threaded styles Axel Kohlmeyer (Temple U) Section accelerate - - -
    USER-PHONON phonon dynamical matrix Ling-Ti Kong (Shanghai Jiao Tong U) fix phonon USER/phonon - -
    USER-QMMM QM/MM coupling Axel Kohlmeyer (Temple U) fix qmmm USER/qmmm - lib/qmmm
    USER-QTB quantum nuclear effects Yuan Shen (Stanford) fix qtb fix_qbmsst qtb - -
    USER-QUIP QUIP/libatoms interface Albert Bartok-Partay (U Cambridge) pair_style quip USER/quip - lib/quip
    USER-REAXC C version of ReaxFF Metin Aktulga (LBNL) pair_style reaxc reax - -
    USER-SPH smoothed particle hydrodynamics Georg Ganzenmuller (EMI) userguide.pdf USER/sph sph -
    +
    + + + + + + + + + + + +

    The "Authors" column lists a name(s) if a specific person is +responible for creating and maintaining the package. +

    +

    If the Library is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/Makefile.lammps file for info on where to download the -library from.

    -

    (2) The ATC package was created by Reese Jones, Jeremy Templeton, and -Jon Zimmerman (Sandia).

    -

    (2) The COLVARS package was created by Axel Kohlmeyer (Temple U) using +library from. +

    +

    (2) The ATC package was created by Reese Jones, Jeremy Templeton, and +Jon Zimmerman (Sandia). +

    +

    (2) The COLVARS package was created by Axel Kohlmeyer (Temple U) using the colvars module library written by Giacomo Fiorin (Temple U) and -Jerome Henin (LISM, Marseille, France).

    -

    (3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal +Jerome Henin (LISM, Marseille, France). +

    +

    (3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal Clermont-Ferrand) and co-authors Julien Devemy (CNRS) and Agilio Padua -(U Blaise Pascal).

    -

    The “Doc page” column links to either a portion of the -Section_howto of the manual, or an input script +(U Blaise Pascal). +

    +

    The "Doc page" column links to either a portion of the +Section_howto of the manual, or an input script command implemented as part of the package, or to additional -documentation provided witht he package.

    -

    The “Example” column is a sub-directory in the examples directory of +documentation provided witht he package. +

    +

    The "Example" column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. -E.g. “peptide” refers to the examples/peptide directory. USER/cuda -refers to the examples/USER/cuda directory.

    -

    The “Library” column lists an external library which must be built +E.g. "peptide" refers to the examples/peptide directory. USER/cuda +refers to the examples/USER/cuda directory. +

    +

    The "Library" column lists an external library which must be built first and which LAMMPS links to when it is built. If it is listed as lib/package, then the code for the library is under the lib directory of the LAMMPS distribution. See the lib/package/README file for info on how to build the library. If it is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/Makefile.lammps file for info on where to download -the library. Section start of the +the library. Section start of the manual also gives details on how to build LAMMPS with both kinds of -auxiliary libraries.

    -

    More details on each package, from the USER-*/README file is given -below.

    -
    -
    -
    -

    4.3. USER-ATC package¶

    -

    This package implements a “fix atc” command which can be used in a +auxiliary libraries. +

    +

    More details on each package, from the USER-*/README file is given +below. +

    +
    + +

    USER-ATC package +

    +

    This package implements a "fix atc" command which can be used in a LAMMPS input script. This fix can be employed to either do concurrent coupling of MD with FE-based physics surrogates or on-the-fly -post-processing of atomic information to continuum fields.

    -

    See the doc page for the fix atc command to get started. At the +post-processing of atomic information to continuum fields. +

    +

    See the doc page for the fix atc command to get started. At the bottom of the doc page are many links to additional documentation -contained in the doc/USER/atc directory.

    -

    There are example scripts for using this package in examples/USER/atc.

    -

    This package uses an external library in lib/atc which must be +contained in the doc/USER/atc directory. +

    +

    There are example scripts for using this package in examples/USER/atc. +

    +

    This package uses an external library in lib/atc which must be compiled before making LAMMPS. See the lib/atc/README file and the LAMMPS manual for information on building LAMMPS with external -libraries.

    -

    The primary people who created this package are Reese Jones (rjones at +libraries. +

    +

    The primary people who created this package are Reese Jones (rjones at sandia.gov), Jeremy Templeton (jatempl at sandia.gov) and Jon Zimmerman (jzimmer at sandia.gov) at Sandia. Contact them directly if -you have questions.

    -
    -
    -
    -

    4.4. USER-AWPMD package¶

    -

    This package contains a LAMMPS implementation of the Antisymmetrized -Wave Packet Molecular Dynamics (AWPMD) method.

    -

    See the doc page for the pair_style awpmd/cut command to get started.

    -

    There are example scripts for using this package in examples/USER/awpmd.

    -

    This package uses an external library in lib/awpmd which must be +you have questions. +

    +
    + +

    USER-AWPMD package +

    +

    This package contains a LAMMPS implementation of the Antisymmetrized +Wave Packet Molecular Dynamics (AWPMD) method. +

    +

    See the doc page for the pair_style awpmd/cut command to get started. +

    +

    There are example scripts for using this package in examples/USER/awpmd. +

    +

    This package uses an external library in lib/awpmd which must be compiled before making LAMMPS. See the lib/awpmd/README file and the LAMMPS manual for information on building LAMMPS with external -libraries.

    -

    The person who created this package is Ilya Valuev at the JIHT in +libraries. +

    +

    The person who created this package is Ilya Valuev at the JIHT in Russia (valuev at physik.hu-berlin.de). Contact him directly if you -have questions.

    -
    -
    -
    -

    4.5. USER-CG-CMM package¶

    -

    This package implements 3 commands which can be used in a LAMMPS input -script:

    -
      -
    • pair_style lj/sdk
    • -
    • pair_style lj/sdk/coul/long
    • -
    • angle_style sdk
    • -
    -

    These styles allow coarse grained MD simulations with the +have questions. +

    +
    + +

    USER-CG-CMM package +

    +

    This package implements 3 commands which can be used in a LAMMPS input +script: +

    +
    • pair_style lj/sdk +
    • pair_style lj/sdk/coul/long +
    • angle_style sdk +
    +

    These styles allow coarse grained MD simulations with the parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007) (SDK), with extensions to simulate ionic liquids, electrolytes, lipids -and charged amino acids.

    -

    See the doc pages for these commands for details.

    -

    There are example scripts for using this package in -examples/USER/cg-cmm.

    -

    This is the second generation implementation reducing the the clutter +and charged amino acids. +

    +

    See the doc pages for these commands for details. +

    +

    There are example scripts for using this package in +examples/USER/cg-cmm. +

    +

    This is the second generation implementation reducing the the clutter of the previous version. For many systems with electrostatics, it will be faster to use pair_style hybrid/overlay with lj/sdk and coul/long instead of the combined lj/sdk/coul/long style. since the number of @@ -946,106 +273,126 @@ of the kspace_style pppm/cg is recommended over regular pppm. For all new styles, input file backward compatibility is provided. The old implementation is still available through appending the /old suffix. These will be discontinued and removed after the new -implementation has been fully validated.

    -

    The current version of this package should be considered beta -quality. The CG potentials work correctly for “normal” situations, but +implementation has been fully validated. +

    +

    The current version of this package should be considered beta +quality. The CG potentials work correctly for "normal" situations, but have not been testing with all kinds of potential parameters and -simulation systems.

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.6. USER-COLVARS package¶

    -

    This package implements the “fix colvars” command which can be -used in a LAMMPS input script.

    -

    This fix allows to use “collective variables” to implement +simulation systems. +

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions. +

    +
    + +

    USER-COLVARS package +

    +

    This package implements the "fix colvars" command which can be +used in a LAMMPS input script. +

    +

    This fix allows to use "collective variables" to implement Adaptive Biasing Force, Metadynamics, Steered MD, Umbrella -Sampling and Restraints. This code consists of two parts:

    -
      -
    • A portable collective variable module library written and maintained
    • -
    • by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and
    • -
    • Jerome Henin (LISM, CNRS, Marseille, France). This code is located in
    • -
    • the directory lib/colvars and needs to be compiled first. The colvars
    • -
    • fix and an interface layer, exchanges information between LAMMPS and
    • -
    • the collective variable module.
    • -
    -

    See the doc page of fix colvars for more details.

    -

    There are example scripts for using this package in -examples/USER/colvars

    -

    This is a very new interface that does not yet support all +Sampling and Restraints. This code consists of two parts: +

    +
    • A portable collective variable module library written and maintained +
    • by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and +
    • Jerome Henin (LISM, CNRS, Marseille, France). This code is located in +
    • the directory lib/colvars and needs to be compiled first. The colvars +
    • fix and an interface layer, exchanges information between LAMMPS and +
    • the collective variable module. +
    +

    See the doc page of fix colvars for more details. +

    +

    There are example scripts for using this package in +examples/USER/colvars +

    +

    This is a very new interface that does not yet support all features in the module and will see future optimizations and improvements. The colvars module library is also available in NAMD has been thoroughly used and tested there. Bugs and problems are likely due to the interface layers code. Thus the current version of this package should be considered -beta quality.

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.7. USER-CUDA package¶

    -

    This package provides acceleration of various LAMMPS pair styles, fix +beta quality. +

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions. +

    +
    + +

    USER-CUDA package +

    +

    This package provides acceleration of various LAMMPS pair styles, fix styles, compute styles, and long-range Coulombics via PPPM for NVIDIA -GPUs.

    -

    See this section of the manual to get started:

    -

    Section_accelerate

    -

    There are example scripts for using this package in -examples/USER/cuda.

    -

    This package uses an external library in lib/cuda which must be +GPUs. +

    +

    See this section of the manual to get started: +

    +

    Section_accelerate +

    +

    There are example scripts for using this package in +examples/USER/cuda. +

    +

    This package uses an external library in lib/cuda which must be compiled before making LAMMPS. See the lib/cuda/README file and the LAMMPS manual for information on building LAMMPS with external -libraries.

    -

    The person who created this package is Christian Trott at the +libraries. +

    +

    The person who created this package is Christian Trott at the University of Technology Ilmenau, Germany (christian.trott at -tu-ilmenau.de). Contact him directly if you have questions.

    -
    -
    -
    -

    4.8. USER-DIFFRACTION package¶

    -

    This package contains the commands neeed to calculate x-ray and -electron diffraction intensities based on kinematic diffraction -theory.

    -

    See these doc pages and their related commands to get started:

    - -

    The person who created this package is Shawn P. Coleman -(shawn.p.coleman8.ctr at mail.mil) while at the University of -Arkansas. Contact him directly if you have questions.

    -
    -
    -
    -

    4.9. USER-DRUDE package¶

    -

    This package implements methods for simulating polarizable systems -in LAMMPS using thermalized Drude oscillators.

    -

    See these doc pages and their related commands to get started:

    - -

    There are auxiliary tools for using this package in tools/drude.

    -

    The person who created this package is Alain Dequidt at Universite +tu-ilmenau.de). Contact him directly if you have questions. +

    +
    + +

    USER-DIFFRACTION package +

    +

    This package contains the commands neeed to calculate x-ray and +electron diffraction intensities based on kinematic diffraction +theory. +

    +

    See these doc pages and their related commands to get started: +

    + +

    The person who created this package is Shawn P. Coleman +(shawn.p.coleman8.ctr at mail.mil) while at the University of +Arkansas. Contact him directly if you have questions. +

    +
    + +

    USER-DRUDE package +

    +

    This package implements methods for simulating polarizable systems +in LAMMPS using thermalized Drude oscillators. +

    +

    See these doc pages and their related commands to get started: +

    + +

    There are auxiliary tools for using this package in tools/drude. +

    +

    The person who created this package is Alain Dequidt at Universite Blaise Pascal Clermont-Ferrand (alain.dequidt at univ-bpclermont.fr) Contact him directly if you have questions. Co-authors: Julien Devemy, -Agilio Padua.

    -
    -
    -
    -

    4.10. USER-EFF package¶

    -

    This package contains a LAMMPS implementation of the electron Force +Agilio Padua. +

    +
    + +

    USER-EFF package +

    +

    This package contains a LAMMPS implementation of the electron Force Field (eFF) currently under development at Caltech, as described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, JCC, 2010. The eFF potential was first introduced by Su and Goddard, in -2007.

    -

    eFF can be viewed as an approximation to QM wave packet dynamics and +2007. +

    +

    eFF can be viewed as an approximation to QM wave packet dynamics and Fermionic molecular dynamics, combining the ability of electronic structure methods to describe atomic structure, bonding, and chemistry in materials, and of plasma methods to describe nonequilibrium @@ -1059,276 +406,260 @@ electrostatic terms between nuclei and electrons, to the sum of a set of effective pairwise potentials. This makes eFF uniquely suited to simulate materials over a wide range of temperatures and pressures where electronically excited and ionized states of matter can occur -and coexist.

    -

    The necessary customizations to the LAMMPS core are in place to +and coexist. +

    +

    The necessary customizations to the LAMMPS core are in place to enable the correct handling of explicit electron properties during -minimization and dynamics.

    -

    See the doc page for the pair_style eff/cut command to get started.

    -

    There are example scripts for using this package in -examples/USER/eff.

    -

    There are auxiliary tools for using this package in tools/eff.

    -

    The person who created this package is Andres Jaramillo-Botero at +minimization and dynamics. +

    +

    See the doc page for the pair_style eff/cut command to get started. +

    +

    There are example scripts for using this package in +examples/USER/eff. +

    +

    There are auxiliary tools for using this package in tools/eff. +

    +

    The person who created this package is Andres Jaramillo-Botero at CalTech (ajaramil at wag.caltech.edu). Contact him directly if you -have questions.

    -
    -
    -
    -

    4.11. USER-FEP package¶

    -

    This package provides methods for performing free energy perturbation -simulations with soft-core pair potentials in LAMMPS.

    -

    See these doc pages and their related commands to get started:

    - -

    The person who created this package is Agilio Padua at Universite +have questions. +

    +
    + +

    USER-FEP package +

    +

    This package provides methods for performing free energy perturbation +simulations with soft-core pair potentials in LAMMPS. +

    +

    See these doc pages and their related commands to get started: +

    + +

    The person who created this package is Agilio Padua at Universite Blaise Pascal Clermont-Ferrand (agilio.padua at univ-bpclermont.fr) -Contact him directly if you have questions.

    -
    -
    -
    -

    4.12. USER-INTEL package¶

    -

    This package provides options for performing neighbor list and +Contact him directly if you have questions. +

    +
    + +

    USER-INTEL package +

    +

    This package provides options for performing neighbor list and non-bonded force calculations in single, mixed, or double precision and also a capability for accelerating calculations with an -Intel(R) Xeon Phi(TM) coprocessor.

    -

    See this section of the manual to get started:

    -

    Section_accelerate

    -

    The person who created this package is W. Michael Brown at Intel -(michael.w.brown at intel.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.13. USER-LB package¶

    -

    This package contains a LAMMPS implementation of a background +Intel(R) Xeon Phi(TM) coprocessor. +

    +

    See this section of the manual to get started: +

    +

    Section_accelerate +

    +

    The person who created this package is W. Michael Brown at Intel +(michael.w.brown at intel.com). Contact him directly if you have questions. +

    +
    + +

    USER-LB package +

    +

    This package contains a LAMMPS implementation of a background Lattice-Boltzmann fluid, which can be used to model MD particles -influenced by hydrodynamic forces.

    -

    See this doc page and its related commands to get started:

    -

    fix lb/fluid

    -

    The people who created this package are Frances Mackay (fmackay at +influenced by hydrodynamic forces. +

    +

    See this doc page and its related commands to get started: +

    +

    fix lb/fluid +

    +

    The people who created this package are Frances Mackay (fmackay at uwo.ca) and Colin (cdennist at uwo.ca) Denniston, University of -Western Ontario. Contact them directly if you have questions.

    -
    -
    -
    -

    4.14. USER-MISC package¶

    -

    The files in this package are a potpourri of (mostly) unrelated +Western Ontario. Contact them directly if you have questions. +

    +
    + +

    USER-MISC package +

    +

    The files in this package are a potpourri of (mostly) unrelated features contributed to LAMMPS by users. Each feature is a single -pair of files (*.cpp and *.h).

    -

    More information about each feature can be found by reading its doc +pair of files (*.cpp and *.h). +

    +

    More information about each feature can be found by reading its doc page in the LAMMPS doc directory. The doc page which lists all LAMMPS -input script commands is as follows:

    -

    Section_commands

    -

    User-contributed features are listed at the bottom of the fix, -compute, pair, etc sections.

    -

    The list of features and author of each is given in the -src/USER-MISC/README file.

    -

    You should contact the author directly if you have specific questions -about the feature or its coding.

    -
    -
    -
    -

    4.15. USER-MOLFILE package¶

    -

    This package contains a dump molfile command which uses molfile +input script commands is as follows: +

    +

    Section_commands +

    +

    User-contributed features are listed at the bottom of the fix, +compute, pair, etc sections. +

    +

    The list of features and author of each is given in the +src/USER-MISC/README file. +

    +

    You should contact the author directly if you have specific questions +about the feature or its coding. +

    +
    + +

    USER-MOLFILE package +

    +

    This package contains a dump molfile command which uses molfile plugins that are bundled with the -VMD molecular visualization and +VMD molecular visualization and analysis program, to enable LAMMPS to dump its information in formats -compatible with various molecular simulation tools.

    -

    The package only provides the interface code, not the plugins. These +compatible with various molecular simulation tools. +

    +

    The package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD or other programs that use them) without having to recompile the -application itself.

    -

    See this doc page to get started:

    -

    dump molfile

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.16. USER-OMP package¶

    -

    This package provides OpenMP multi-threading support and +application itself. +

    +

    See this doc page to get started: +

    +

    dump molfile +

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions. +

    +
    + +

    USER-OMP package +

    +

    This package provides OpenMP multi-threading support and other optimizations of various LAMMPS pair styles, dihedral -styles, and fix styles.

    -

    See this section of the manual to get started:

    -

    Section_accelerate

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.17. USER-PHONON package¶

    -

    This package contains a fix phonon command that calculates dynamical +styles, and fix styles. +

    +

    See this section of the manual to get started: +

    +

    Section_accelerate +

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions. +

    +
    + +

    USER-PHONON package +

    +

    This package contains a fix phonon command that calculates dynamical matrices, which can then be used to compute phonon dispersion -relations, directly from molecular dynamics simulations.

    -

    See this doc page to get started:

    -

    fix phonon

    -

    The person who created this package is Ling-Ti Kong (konglt at +relations, directly from molecular dynamics simulations. +

    +

    See this doc page to get started: +

    +

    fix phonon +

    +

    The person who created this package is Ling-Ti Kong (konglt at sjtu.edu.cn) at Shanghai Jiao Tong University. Contact him directly -if you have questions.

    -
    -
    -
    -

    4.18. USER-QMMM package¶

    -

    This package provides a fix qmmm command which allows LAMMPS to be +if you have questions. +

    +
    + +

    USER-QMMM package +

    +

    This package provides a fix qmmm command which allows LAMMPS to be used in a QM/MM simulation, currently only in combination with pw.x -code from the Quantum ESPRESSO package.

    -

    The current implementation only supports an ONIOM style mechanical +code from the Quantum ESPRESSO package. +

    + + +

    The current implementation only supports an ONIOM style mechanical coupling to the Quantum ESPRESSO plane wave DFT package. Electrostatic coupling is in preparation and the interface has been written in a manner that coupling to other QM codes should be possible -without changes to LAMMPS itself.

    -

    See this doc page to get started:

    -

    fix qmmm

    -

    as well as the lib/qmmm/README file.

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.19. USER-QTB package¶

    -

    This package provides a self-consistent quantum treatment of the +without changes to LAMMPS itself. +

    +

    See this doc page to get started: +

    +

    fix qmmm +

    +

    as well as the lib/qmmm/README file. +

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions. +

    +
    + +

    USER-QTB package +

    +

    This package provides a self-consistent quantum treatment of the vibrational modes in a classical molecular dynamics simulation. By coupling the MD simulation to a colored thermostat, it introduces zero point energy into the system, alter the energy power spectrum and the heat capacity towards their quantum nature. This package could be of interest if one wants to model systems at temperatures lower than their classical limits or when temperatures ramp up across the -classical limits in the simulation.

    -

    See these two doc pages to get started:

    -

    fix qtb provides quantum nulcear correction through a +classical limits in the simulation. +

    +

    See these two doc pages to get started: +

    +

    fix qtb provides quantum nulcear correction through a colored thermostat and can be used with other time integration schemes -like fix nve or fix nph.

    -

    fix qbmsst enables quantum nuclear correction of a +like fix nve or fix nph. +

    +

    fix qbmsst enables quantum nuclear correction of a multi-scale shock technique simulation by coupling the quantum thermal -bath with the shocked system.

    -

    The person who created this package is Yuan Shen (sy0302 at +bath with the shocked system. +

    +

    The person who created this package is Yuan Shen (sy0302 at stanford.edu) at Stanford University. Contact him directly if you -have questions.

    -
    -
    -
    -

    4.20. USER-REAXC package¶

    -

    This package contains a implementation for LAMMPS of the ReaxFF force +have questions. +

    +
    + +

    USER-REAXC package +

    +

    This package contains a implementation for LAMMPS of the ReaxFF force field. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. It was originally developed by Adri van Duin and the Goddard -group at CalTech.

    -

    The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in +group at CalTech. +

    +

    The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in C, should give identical or very similar results to pair_style reax, which is a ReaxFF implementation on top of a Fortran library, a -version of which library was originally authored by Adri van Duin.

    -

    The reax/c version should be somewhat faster and more scalable, +version of which library was originally authored by Adri van Duin. +

    +

    The reax/c version should be somewhat faster and more scalable, particularly with respect to the charge equilibration calculation. It should also be easier to build and use since there are no complicating -issues with Fortran memory allocation or linking to a Fortran library.

    -

    For technical details about this implemention of ReaxFF, see -this paper:

    -

    Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods +issues with Fortran memory allocation or linking to a Fortran library. +

    +

    For technical details about this implemention of ReaxFF, see +this paper: +

    +

    Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty, -S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).

    -

    See the doc page for the pair_style reax/c command for details -of how to use it in LAMMPS.

    -

    The person who created this package is Hasan Metin Aktulga (hmaktulga +S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011). +

    +

    See the doc page for the pair_style reax/c command for details +of how to use it in LAMMPS. +

    +

    The person who created this package is Hasan Metin Aktulga (hmaktulga at lbl.gov), while at Purdue University. Contact him directly, or Aidan Thompson at Sandia (athomps at sandia.gov), if you have -questions.

    -
    -
    -
    -

    4.21. USER-SPH package¶

    -

    This package implements smoothed particle hydrodynamics (SPH) in -LAMMPS. Currently, the package has the following features:

    -
      -
    • Tait, ideal gas, Lennard-Jones equation of states, full support for -complete (i.e. internal-energy dependent) equations of state
    • -
    • plain or Monaghans XSPH integration of the equations of motion
    • -
    • density continuity or density summation to propagate the density field
    • -
    • commands to set internal energy and density of particles from the -input script
    • -
    • output commands to access internal energy and density for dumping and -thermo output
    • -
    -

    See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started.

    -

    There are example scripts for using this package in examples/USER/sph.

    -

    The person who created this package is Georg Ganzenmuller at the +questions. +

    +
    + +

    USER-SPH package +

    +

    This package implements smoothed particle hydrodynamics (SPH) in +LAMMPS. Currently, the package has the following features: +

    +

    * Tait, ideal gas, Lennard-Jones equation of states, full support for + complete (i.e. internal-energy dependent) equations of state +* plain or Monaghans XSPH integration of the equations of motion +* density continuity or density summation to propagate the density field +* commands to set internal energy and density of particles from the + input script +* output commands to access internal energy and density for dumping and + thermo output +

    +

    See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started. +

    +

    There are example scripts for using this package in examples/USER/sph. +

    +

    The person who created this package is Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if -you have questions.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +you have questions. +

    + diff --git a/doc/Section_perf.html b/doc/Section_perf.html index fafcf05ec4..330d99407a 100644 --- a/doc/Section_perf.html +++ b/doc/Section_perf.html @@ -1,167 +1,43 @@ + +
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
    - - - - - - - - - 8. Performance & scalability — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    8. Performance & scalability¶

    -

    LAMMPS performance on several prototypical benchmarks and machines is -discussed on the Benchmarks page of the LAMMPS WWW Site where + + +


    + +

    8. Performance & scalability +

    +

    LAMMPS performance on several prototypical benchmarks and machines is +discussed on the Benchmarks page of the LAMMPS WWW Site where CPU timings and parallel efficiencies are listed. Here, the benchmarks are described briefly and some useful rules of thumb about -their performance are highlighted.

    -

    These are the 5 benchmark problems:

    -
      -
    1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55
    2. -
    -
    -
    neighbors per atom), NVE integration
    -
      -
    1. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ +their performance are highlighted. +

      +

      These are the 5 benchmark problems: +

      +
      1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 +neighbors per atom), NVE integration + +
      2. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per -atom), NVE integration
      3. -
      4. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 -neighbors per atom), NVE integration
      5. -
      6. Chute = granular chute flow, frictional history potential with 1.1 -sigma cutoff (7 neighbors per atom), NVE integration
      7. -
      8. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force +atom), NVE integration + +
      9. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 +neighbors per atom), NVE integration + +
      10. Chute = granular chute flow, frictional history potential with 1.1 +sigma cutoff (7 neighbors per atom), NVE integration + +
      11. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force field with a 10 Angstrom LJ cutoff (440 neighbors per atom), particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT -integration
      12. -
      -

      The input files for running the benchmarks are included in the LAMMPS +integration +

    +

    The input files for running the benchmarks are included in the LAMMPS distribution, as are sample output files. Each of the 5 problems has 32,000 atoms and runs for 100 timesteps. Each can be run as a serial benchmarks (on one processor) or in parallel. In parallel, each @@ -170,54 +46,30 @@ fixed-size benchmarking, the same 32K atom problem is run on various numbers of processors. For scaled-size benchmarking, the model size is increased with the number of processors. E.g. on 8 processors, a 256K-atom problem is run; on 1024 processors, a 32-million atom -problem is run, etc.

    -

    A useful metric from the benchmarks is the CPU cost per atom per +problem is run, etc. +

    +

    A useful metric from the benchmarks is the CPU cost per atom per timestep. Since LAMMPS performance scales roughly linearly with problem size and timesteps, the run time of any problem using the same model (atom style, force field, cutoff, etc) can then be estimated. For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler under Red Hat Linux), the CPU run-time in seconds/atom/timestep for -the 5 problems is

    - -------- - - - - - - - - - - - - - - - - - - - - - - - -
    Problem:LJChainEAMChuteRhodopsin
    CPU/atom/step:4.55E-62.18E-69.38E-62.18E-61.11E-4
    Ratio to LJ:1.00.482.060.4824.5
    -

    The ratios mean that if the atomic LJ system has a normalized cost of +the 5 problems is +

    +
    + + +
    Problem: LJ Chain EAM Chute Rhodopsin
    CPU/atom/step: 4.55E-6 2.18E-6 9.38E-6 2.18E-6 1.11E-4
    Ratio to LJ: 1.0 0.48 2.06 0.48 24.5 +
    + +

    The ratios mean that if the atomic LJ system has a normalized cost of 1.0, the bead-spring chains and granular systems run 2x faster, while the EAM metal and solvated protein models run 2x and 25x slower respectively. The bulk of these cost differences is due to the expense of computing a particular pairwise force field for a given -number of neighbors per atom.

    -

    Performance on a parallel machine can also be predicted from the +number of neighbors per atom. +

    +

    Performance on a parallel machine can also be predicted from the one-processor timings if the parallel efficiency can be estimated. The communication bandwidth and latency of a particular parallel machine affects the efficiency. On most machines LAMMPS will give @@ -225,80 +77,8 @@ fixed-size parallel efficiencies on these benchmarks above 50% so long as the atoms/processor count is a few 100 or greater - i.e. on 64 to 128 processors. Likewise, scaled-size parallel efficiencies will typically be 80% or greater up to very large processor counts. The -benchmark data on the LAMMPS WWW Site gives specific examples on +benchmark data on the LAMMPS WWW Site gives specific examples on some different machines, including a run of 3/4 of a billion LJ atoms -on 1500 processors that ran at 85% parallel efficiency.

    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +on 1500 processors that ran at 85% parallel efficiency. +

    + diff --git a/doc/Section_python.html b/doc/Section_python.html index 0e7318a3dc..c895035102 100644 --- a/doc/Section_python.html +++ b/doc/Section_python.html @@ -1,204 +1,75 @@ + +
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
    - - - - - - - - - 11. Python interface to LAMMPS — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    11. Python interface to LAMMPS¶

    -

    LAMMPS can work together with Python in two ways. First, Python can -wrap LAMMPS through the LAMMPS library interface, so that a Python script can + + +


    + +

    11. Python interface to LAMMPS +

    +

    LAMMPS can work together with Python in two ways. First, Python can +wrap LAMMPS through the LAMMPS library +interface, so that a Python script can create one or more instances of LAMMPS and launch one or more -simulations. In Python lingo, this is “extending” Python with LAMMPS.

    -

    Second, LAMMPS can use the Python interpreter, so that a LAMMPS input +simulations. In Python lingo, this is "extending" Python with LAMMPS. +

    +

    Second, LAMMPS can use the Python interpreter, so that a LAMMPS input script can invoke Python code, and pass information back-and-forth between the input script and Python functions you write. The Python code can also callback to LAMMPS to query or change its attributes. -In Python lingo, this is “embedding” Python in LAMMPS.

    -

    This section describes how to do both.

    - -

    If you are not familiar with it, Python is a +In Python lingo, this is "embedding" Python in LAMMPS. +

    +

    This section describes how to do both. +

    + +

    If you are not familiar with it, Python is a powerful scripting and programming language which can essentially do anything that faster, lower-level languages like C or C++ can do, but typically with much fewer lines of code. When used in embedded mode, Python can perform operations that the simplistic LAMMPS input script -syntax cannot. Python can be also be used as a “glue” language to +syntax cannot. Python can be also be used as a "glue" language to drive a program through its library interface, or to hook multiple pieces of software together, such as a simulation package plus a visualization package, or to run a coupled multiscale or multiphysics -model.

    -

    See Section_howto 10 of the manual and +model. +

    +

    See Section_howto 10 of the manual and the couple directory of the distribution for more ideas about coupling -LAMMPS to other codes. See Section_howto 19 for a description of the LAMMPS +LAMMPS to other codes. See Section_howto +19 for a description of the LAMMPS library interface provided in src/library.cpp and src/library.h, and how to extend it for your needs. As described below, that interface is what is exposed to Python either when calling LAMMPS from Python or when calling Python from a LAMMPS input script and then calling back to LAMMPS from Python code. The library interface is designed to be easy to add functions to. Thus the Python interface to LAMMPS is also -easy to extend as well.

    -

    If you create interesting Python scripts that run LAMMPS or +easy to extend as well. +

    +

    If you create interesting Python scripts that run LAMMPS or interesting Python functions that can be called from a LAMMPS input -script, that you think would be useful to other users, please email them to the developers. We can -include them in the LAMMPS distribution.

    -
    -

    11.1. Overview of running LAMMPS from Python¶

    -

    The LAMMPS distribution includes a python directory with all you need +script, that you think would be useful to other users, please email +them to the developers. We can +include them in the LAMMPS distribution. +

    +
    + +
    + +

    11.1 Overview of running LAMMPS from Python +

    +

    The LAMMPS distribution includes a python directory with all you need to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS library interface, with one wrapper function per LAMMPS library function. This file makes it is possible to do the following either @@ -209,506 +80,538 @@ modify internal LAMMPS variables. From a Python script you can do this in serial or parallel. Running Python interactively in parallel does not generally work, unless you have a version of Python that extends standard Python to enable multiple instances of Python to read -what you type.

    -

    To do all of this, you must first build LAMMPS as a shared library, +what you type. +

    +

    To do all of this, you must first build LAMMPS as a shared library, then insure that your Python can find the python/lammps.py file and the shared library. These steps are explained in subsequent sections 11.3 and 11.4. Sections 11.5 and 11.6 discuss using MPI from a parallel Python program and how to test that you are ready to use LAMMPS from Python. Section 11.7 lists all the functions in the -current LAMMPS library interface and how to call them from Python.

    -

    Section 11.8 gives some examples of coupling LAMMPS to other tools via +current LAMMPS library interface and how to call them from Python. +

    +

    Section 11.8 gives some examples of coupling LAMMPS to other tools via Python. For example, LAMMPS can easily be coupled to a GUI or other visualization tools that display graphs or animations in real time as LAMMPS runs. Examples of such scripts are inlcluded in the python -directory.

    -

    Two advantages of using Python to run LAMMPS are how concise the +directory. +

    +

    Two advantages of using Python to run LAMMPS are how concise the language is, and that it can be run interactively, enabling rapid development and debugging of programs. If you use it to mostly invoke costly operations within LAMMPS, such as running a simulation for a reasonable number of timesteps, then the overhead cost of invoking -LAMMPS thru Python will be negligible.

    -

    The Python wrapper for LAMMPS uses the amazing and magical (to me) -“ctypes” package in Python, which auto-generates the interface code +LAMMPS thru Python will be negligible. +

    +

    The Python wrapper for LAMMPS uses the amazing and magical (to me) +"ctypes" package in Python, which auto-generates the interface code needed between Python and a set of C interface routines for a library. Ctypes is part of standard Python for versions 2.5 and later. You can check which version of Python you have installed, by simply typing -“python” at a shell prompt.

    -
    -
    -
    -

    11.2. Overview of using Python from a LAMMPS script¶

    -
    -

    Warning

    -

    It is not currently possible to use the -python command described in this section with Python 3, +"python" at a shell prompt. +

    +
    + +

    11.2 Overview of using Python from a LAMMPS script +

    +

    IMPORTANT NOTE: It is not currently possible to use the +python command described in this section with Python 3, only with Python 2. The C API changed from Python 2 to 3 and the -LAMMPS code is not compatible with both.

    -
    -

    LAMMPS has a python command which can be used in an +LAMMPS code is not compatible with both. +

    +

    LAMMPS has a python command which can be used in an input script to define and execute a Python function that you write the code for. The Python function can also be assigned to a LAMMPS -python-style variable via the variable command. Each +python-style variable via the variable command. Each time the variable is evaluated, either in the LAMMPS input script itself, or by another LAMMPS command that uses the variable, this will -trigger the Python function to be invoked.

    -

    The Python code for the function can be included directly in the input +trigger the Python function to be invoked. +

    +

    The Python code for the function can be included directly in the input script or in an auxiliary file. The function can have arguments which are mapped to LAMMPS variables (also defined in the input script) and it can return a value to a LAMMPS variable. This is thus a mechanism for your input script to pass information to a piece of Python code, ask Python to execute the code, and return information to your input -script.

    -

    Note that a Python function can be arbitrarily complex. It can import +script. +

    +

    Note that a Python function can be arbitrarily complex. It can import other Python modules, instantiate Python classes, call other Python functions, etc. The Python code that you provide can contain more code than the single function. It can contain other functions or Python classes, as well as global variables or other mechanisms for -storing state between calls from LAMMPS to the function.

    -

    The Python function you provide can consist of “pure” Python code that +storing state between calls from LAMMPS to the function. +

    +

    The Python function you provide can consist of "pure" Python code that only performs operations provided by standard Python. However, the -Python function can also “call back” to LAMMPS through its +Python function can also "call back" to LAMMPS through its Python-wrapped library interface, in the manner described in the previous section 11.1. This means it can issue LAMMPS input script commands or query and set internal LAMMPS state. As an example, this can be useful in an input script to create a more complex loop with branching logic, than can be created using the simple looping and -brancing logic enabled by the next and if -commands.

    -

    See the python doc page and the variable +brancing logic enabled by the next and if +commands. +

    +

    See the python doc page and the variable doc page for its python-style variables for more info, including examples of Python code you can write for both pure Python operations -and callbacks to LAMMPS.

    -

    To run pure Python code from LAMMPS, you only need to build LAMMPS -with the PYTHON package installed:

    -

    make yes-python -make machine

    -

    Note that this will link LAMMPS with the Python library on your +and callbacks to LAMMPS. +

    +

    To run pure Python code from LAMMPS, you only need to build LAMMPS +with the PYTHON package installed: +

    +

    make yes-python +make machine +

    +

    Note that this will link LAMMPS with the Python library on your system, which typically requires several auxiliary system libraries to also be linked. The list of these libraries and the paths to find them are specified in the lib/python/Makefile.lammps file. You need to insure that file contains the correct information for your version of Python and your machine to successfully build LAMMPS. See the -lib/python/README file for more info.

    -

    If you want to write Python code with callbacks to LAMMPS, then you +lib/python/README file for more info. +

    +

    If you want to write Python code with callbacks to LAMMPS, then you must also follow the steps overviewed in the preceeding section (11.1) for running LAMMPS from Python. I.e. you must build LAMMPS as a shared library and insure that Python can find the python/lammps.py -file and the shared library.

    -
    -
    -
    -

    11.3. Building LAMMPS as a shared library¶

    -

    Instructions on how to build LAMMPS as a shared library are given in -Section_start 5. A shared library is one +file and the shared library. +

    +
    + +

    11.3 Building LAMMPS as a shared library +

    +

    Instructions on how to build LAMMPS as a shared library are given in +Section_start 5. A shared library is one that is dynamically loadable, which is what Python requires to wrap -LAMMPS. On Linux this is a library file that ends in ”.so”, not ”.a”.

    -

    >From the src directory, type

    -
    make foo mode=shlib
    -
    -
    -

    where foo is the machine target name, such as linux or g++ or serial. +LAMMPS. On Linux this is a library file that ends in ".so", not ".a". +

    +

    >From the src directory, type +

    +
    make foo mode=shlib 
    +
    +

    where foo is the machine target name, such as linux or g++ or serial. This should create the file liblammps_foo.so in the src directory, as well as a soft link liblammps.so, which is what the Python wrapper will load by default. Note that if you are building multiple machine versions of the shared library, the soft link is always set to the -most recently built version.

    -

    If this fails, see Section_start 5 for +most recently built version. +

    +

    If this fails, see Section_start 5 for more details, especially if your LAMMPS build uses auxiliary libraries like MPI or FFTW which may not be built as shared libraries on your -system.

    -
    -
    -
    -

    11.4. Installing the Python wrapper into Python¶

    -

    For Python to invoke LAMMPS, there are 2 files it needs to know about:

    -
      -
    • python/lammps.py
    • -
    • src/liblammps.so
    • -
    -

    Lammps.py is the Python wrapper on the LAMMPS library interface. +system. +

    +
    + +

    11.4 Installing the Python wrapper into Python +

    +

    For Python to invoke LAMMPS, there are 2 files it needs to know about: +

    +
    • python/lammps.py +
    • src/liblammps.so +
    +

    Lammps.py is the Python wrapper on the LAMMPS library interface. Liblammps.so is the shared LAMMPS library that Python loads, as -described above.

    -

    You can insure Python can find these files in one of two ways:

    -
      -
    • set two environment variables
    • -
    • run the python/install.py script
    • -
    -

    If you set the paths to these files as environment variables, you only +described above. +

    +

    You can insure Python can find these files in one of two ways: +

    +
    • set two environment variables +
    • run the python/install.py script +
    +

    If you set the paths to these files as environment variables, you only have to do it once. For the csh or tcsh shells, add something like -this to your ~/.cshrc file, one line for each of the two files:

    -
    setenv PYTHONPATH $*PYTHONPATH*:/home/sjplimp/lammps/python
    -setenv LD_LIBRARY_PATH $*LD_LIBRARY_PATH*:/home/sjplimp/lammps/src
    -
    -
    -

    If you use the python/install.py script, you need to invoke it every +this to your ~/.cshrc file, one line for each of the two files: +

    +
    setenv PYTHONPATH $PYTHONPATH:/home/sjplimp/lammps/python
    +setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/home/sjplimp/lammps/src 
    +
    +

    If you use the python/install.py script, you need to invoke it every time you rebuild LAMMPS (as a shared library) or make changes to the -python/lammps.py file.

    -

    You can invoke install.py from the python directory as

    -
    % python install.py [libdir] [pydir]
    -
    -
    -

    The optional libdir is where to copy the LAMMPS shared library to; the +python/lammps.py file. +

    +

    You can invoke install.py from the python directory as +

    +
    % python install.py [libdir] [pydir] 
    +
    +

    The optional libdir is where to copy the LAMMPS shared library to; the default is /usr/local/lib. The optional pydir is where to copy the lammps.py file to; the default is the site-packages directory of the -version of Python that is running the install script.

    -

    Note that libdir must be a location that is in your default +version of Python that is running the install script. +

    +

    Note that libdir must be a location that is in your default LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a location that Python looks in by default for imported modules, like its site-packages dir. If you want to copy these files to non-standard locations, such as within your own user space, you will need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables -accordingly, as above.

    -

    If the install.py script does not allow you to copy files into system -directories, prefix the python command with “sudo”. If you do this, +accordingly, as above. +

    +

    If the install.py script does not allow you to copy files into system +directories, prefix the python command with "sudo". If you do this, make sure that the Python that root runs is the same as the Python you -run. E.g. you may need to do something like

    -
    % sudo /usr/local/bin/python install.py [libdir] [pydir]
    -
    -
    -

    You can also invoke install.py from the make command in the src -directory as

    -
    % make install-python
    -
    -
    -

    In this mode you cannot append optional arguments. Again, you may -need to prefix this with “sudo”. In this mode you cannot control -which Python is invoked by root.

    -

    Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see this section below), you will +run. E.g. you may need to do something like +

    +
    % sudo /usr/local/bin/python install.py [libdir] [pydir] 
    +
    +

    You can also invoke install.py from the make command in the src +directory as +

    +
    % make install-python 
    +
    +

    In this mode you cannot append optional arguments. Again, you may +need to prefix this with "sudo". In this mode you cannot control +which Python is invoked by root. +

    +

    Note that if you want Python to be able to load different versions of +the LAMMPS shared library (see this section below), you will need to manually copy files like liblammps_g++.so into the appropriate system directory. This is not needed if you set the LD_LIBRARY_PATH -environment variable as described above.

    -
    -
    -
    -

    11.5. Extending Python with MPI to run in parallel¶

    -

    If you wish to run LAMMPS in parallel from Python, you need to extend +environment variable as described above. +

    +
    + +

    11.5 Extending Python with MPI to run in parallel +

    +

    If you wish to run LAMMPS in parallel from Python, you need to extend your Python with an interface to MPI. This also allows you to -make MPI calls directly from Python in your script, if you desire.

    -

    There are several Python packages available that purport to wrap MPI -as a library and allow MPI functions to be called from Python.

    -

    These include

    - -

    All of these except pyMPI work by wrapping the MPI library and +make MPI calls directly from Python in your script, if you desire. +

    +

    There are several Python packages available that purport to wrap MPI +as a library and allow MPI functions to be called from Python. +

    +

    These include +

    + +

    All of these except pyMPI work by wrapping the MPI library and exposing (some portion of) its interface to your Python script. This means Python cannot be used interactively in parallel, since they do not address the issue of interactive input to multiple instances of Python running on different processors. The one exception is pyMPI, which alters the Python interpreter to address this issue, and (I -believe) creates a new alternate executable (in place of “python” -itself) as a result.

    -

    In principle any of these Python/MPI packages should work to invoke +believe) creates a new alternate executable (in place of "python" +itself) as a result. +

    +

    In principle any of these Python/MPI packages should work to invoke LAMMPS in parallel and to make MPI calls themselves from a Python script which is itself running in parallel. However, when I downloaded and looked at a few of them, their documentation was -incomplete and I had trouble with their installation. It’s not clear +incomplete and I had trouble with their installation. It's not clear if some of the packages are still being actively developed and -supported.

    -

    The one I recommend, since I have successfully used it with LAMMPS, is -Pypar. Pypar requires the ubiquitous Numpy package be installed in your Python. After -launching python, type

    -
    import numpy
    -
    -
    -

    to see if it is installed. If not, here is how to install it (version +supported. +

    +

    The one I recommend, since I have successfully used it with LAMMPS, is +Pypar. Pypar requires the ubiquitous Numpy +package be installed in your Python. After +launching python, type +

    +
    import numpy 
    +
    +

    to see if it is installed. If not, here is how to install it (version 1.3.0b1 as of April 2009). Unpack the numpy tarball and from its -top-level directory, type

    -
    python setup.py build
    -sudo python setup.py install
    -
    -
    -

    The “sudo” is only needed if required to copy Numpy files into your -Python distribution’s site-packages directory.

    -

    To install Pypar (version pypar-2.1.4_94 as of Aug 2012), unpack it -and from its “source” directory, type

    -
    python setup.py build
    -sudo python setup.py install
    -
    -
    -

    Again, the “sudo” is only needed if required to copy Pypar files into -your Python distribution’s site-packages directory.

    -

    If you have successully installed Pypar, you should be able to run -Python and type

    -
    import pypar
    -
    -
    -

    without error. You should also be able to run python in parallel -on a simple test script

    -
    % mpirun -np 4 python test.py
    -
    -
    -

    where test.py contains the lines

    -
    import pypar
    -print "Proc %d out of %d procs" % (pypar.rank(),pypar.size())
    -
    -
    -

    and see one line of output for each processor you run on.

    -
    -

    Warning

    -

    To use Pypar and LAMMPS in parallel from Python, you +top-level directory, type +

    +
    python setup.py build
    +sudo python setup.py install 
    +
    +

    The "sudo" is only needed if required to copy Numpy files into your +Python distribution's site-packages directory. +

    +

    To install Pypar (version pypar-2.1.4_94 as of Aug 2012), unpack it +and from its "source" directory, type +

    +
    python setup.py build
    +sudo python setup.py install 
    +
    +

    Again, the "sudo" is only needed if required to copy Pypar files into +your Python distribution's site-packages directory. +

    +

    If you have successully installed Pypar, you should be able to run +Python and type +

    +
    import pypar 
    +
    +

    without error. You should also be able to run python in parallel +on a simple test script +

    +
    % mpirun -np 4 python test.py 
    +
    +

    where test.py contains the lines +

    +
    import pypar
    +print "Proc %d out of %d procs" % (pypar.rank(),pypar.size()) 
    +
    +

    and see one line of output for each processor you run on. +

    +

    IMPORTANT NOTE: To use Pypar and LAMMPS in parallel from Python, you must insure both are using the same version of MPI. If you only have one MPI installed on your system, this is not an issue, but it can be if you have multiple MPIs. Your LAMMPS build is explicit about which MPI it is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. Pypar uses the “mpicc” command to find +src/MAKE/Makefile.foo file. Pypar uses the "mpicc" command to find information about the MPI it uses to build against. And it tries to -load “libmpi.so” from the LD_LIBRARY_PATH. This may or may not find +load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find the MPI library that LAMMPS is using. If you have problems running both Pypar and LAMMPS together, this is an issue you may need to address, e.g. by moving other MPI installations so that Pypar finds -the right one.

    -
    -
    -
    -
    -

    11.6. Testing the Python-LAMMPS interface¶

    -

    To test if LAMMPS is callable from Python, launch Python interactively -and type:

    -
    >>> from lammps import lammps
    ->>> lmp = lammps()
    -
    -
    -

    If you get no errors, you’re ready to use LAMMPS from Python. If the -2nd command fails, the most common error to see is

    -
    OSError: Could not load LAMMPS dynamic library
    -
    -
    -

    which means Python was unable to load the LAMMPS shared library. This -typically occurs if the system can’t find the LAMMPS shared library or +the right one. +

    +
    + +

    11.6 Testing the Python-LAMMPS interface +

    +

    To test if LAMMPS is callable from Python, launch Python interactively +and type: +

    +
    >>> from lammps import lammps
    +>>> lmp = lammps() 
    +
    +

    If you get no errors, you're ready to use LAMMPS from Python. If the +2nd command fails, the most common error to see is +

    +
    OSError: Could not load LAMMPS dynamic library 
    +
    +

    which means Python was unable to load the LAMMPS shared library. This +typically occurs if the system can't find the LAMMPS shared library or one of the auxiliary shared libraries it depends on, or if something about the library is incompatible with your Python. The error message -should give you an indication of what went wrong.

    -

    You can also test the load directly in Python as follows, without -first importing from the lammps.py file:

    -
    >>> from ctypes import CDLL
    ->>> CDLL("liblammps.so")
    -
    -
    -

    If an error occurs, carefully go thru the steps in Section_start 5 and above about building a shared +should give you an indication of what went wrong. +

    +

    You can also test the load directly in Python as follows, without +first importing from the lammps.py file: +

    +
    >>> from ctypes import CDLL
    +>>> CDLL("liblammps.so") 
    +
    +

    If an error occurs, carefully go thru the steps in Section_start +5 and above about building a shared library and about insuring Python can find the necessary two files -it needs.

    -
    -

    11.6.1. Test LAMMPS and Python in serial:¶

    -

    To run a LAMMPS test in serial, type these lines into Python -interactively from the bench directory:

    -
    >>> from lammps import lammps
    ->>> lmp = lammps()
    ->>> lmp.file("in.lj")
    -
    -
    -

    Or put the same lines in the file test.py and run it as

    -
    % python test.py
    -
    -
    -

    Either way, you should see the results of running the in.lj benchmark +it needs. +

    +
    Test LAMMPS and Python in serial: +
    +

    To run a LAMMPS test in serial, type these lines into Python +interactively from the bench directory: +

    +
    >>> from lammps import lammps
    +>>> lmp = lammps()
    +>>> lmp.file("in.lj") 
    +
    +

    Or put the same lines in the file test.py and run it as +

    +
    % python test.py 
    +
    +

    Either way, you should see the results of running the in.lj benchmark on a single processor appear on the screen, the same as if you had -typed something like:

    -
    lmp_g++ < in.lj
    -
    -
    -
    -
    -

    11.6.2. Test LAMMPS and Python in parallel:¶

    -

    To run LAMMPS in parallel, assuming you have installed the -Pypar package as discussed -above, create a test.py file containing these lines:

    -
    import pypar
    +typed something like:
    +

    +
    lmp_g++ < in.lj 
    +
    +
    Test LAMMPS and Python in parallel: +
    +

    To run LAMMPS in parallel, assuming you have installed the +Pypar package as discussed +above, create a test.py file containing these lines: +

    +
    import pypar
     from lammps import lammps
     lmp = lammps()
    -lmp.file("in.lj")
    -print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp
    -pypar.finalize()
    -
    -
    -

    You can then run it in parallel as:

    -
    % mpirun -np 4 python test.py
    -
    -
    -

    and you should see the same output as if you had typed

    -
    % mpirun -np 4 lmp_g++ < in.lj
    -
    -
    -

    Note that if you leave out the 3 lines from test.py that specify Pypar +lmp.file("in.lj") +print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp +pypar.finalize() + +

    You can then run it in parallel as: +

    +
    % mpirun -np 4 python test.py 
    +
    +

    and you should see the same output as if you had typed +

    +
    % mpirun -np 4 lmp_g++ < in.lj 
    +
    +

    Note that if you leave out the 3 lines from test.py that specify Pypar commands you will instantiate and run LAMMPS independently on each of the P processors specified in the mpirun command. In this case you should get 4 sets of output, each showing that a LAMMPS run was made on a single processor, instead of one set of output showing that LAMMPS ran on 4 processors. If the 1-processor outputs occur, it -means that Pypar is not working correctly.

    -

    Also note that once you import the PyPar module, Pypar initializes MPI +means that Pypar is not working correctly. +

    +

    Also note that once you import the PyPar module, Pypar initializes MPI for you, and you can use MPI calls directly in your Python script, as described in the Pypar documentation. The last line of your Python script should be pypar.finalize(), to insure MPI is shut down -correctly.

    -
    -
    -

    11.6.3. Running Python scripts:¶

    -

    Note that any Python script (not just for LAMMPS) can be invoked in -one of several ways:

    -
    % python foo.script
    +correctly.
    +

    +
    Running Python scripts: +
    +

    Note that any Python script (not just for LAMMPS) can be invoked in +one of several ways: +

    +
    % python foo.script
     % python -i foo.script
    -% foo.script
    -
    -
    -

    The last command requires that the first line of the script be -something like this:

    -
    #!/usr/local/bin/python
    -#!/usr/local/bin/python -i
    -
    -
    -

    where the path points to where you have Python installed, and that you -have made the script file executable:

    -
    % chmod +x foo.script
    -
    -
    -

    Without the “-i” flag, Python will exit when the script finishes. -With the “-i” flag, you will be left in the Python interpreter when +% foo.script + +

    The last command requires that the first line of the script be +something like this: +

    +
    #!/usr/local/bin/python 
    +#!/usr/local/bin/python -i 
    +
    +

    where the path points to where you have Python installed, and that you +have made the script file executable: +

    +
    % chmod +x foo.script 
    +
    +

    Without the "-i" flag, Python will exit when the script finishes. +With the "-i" flag, you will be left in the Python interpreter when the script finishes, so you can type subsequent commands. As mentioned above, you can only run Python interactively when running -Python on a single processor, not in parallel.

    -
    -
    -
    -

    11.7. Using LAMMPS from Python¶

    -

    As described above, the Python interface to LAMMPS consists of a -Python “lammps” module, the source code for which is in -python/lammps.py, which creates a “lammps” object, with a set of +Python on a single processor, not in parallel. +

    +
    + +
    + +

    11.7 Using LAMMPS from Python +

    +

    As described above, the Python interface to LAMMPS consists of a +Python "lammps" module, the source code for which is in +python/lammps.py, which creates a "lammps" object, with a set of methods that can be invoked on that object. The sample Python code -below assumes you have first imported the “lammps” module in your -Python script, as follows:

    -
    from lammps import lammps
    -
    -
    -

    These are the methods defined by the lammps module. If you look at +below assumes you have first imported the "lammps" module in your +Python script, as follows: +

    +
    from lammps import lammps 
    +
    +

    These are the methods defined by the lammps module. If you look at the files src/library.cpp and src/library.h you will see that they correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program.

    -
    lmp = lammps()           # create a LAMMPS object using the default liblammps.so library
    -lmp = lammps(ptr=lmpptr) # ditto, but use lmpptr as previously created LAMMPS object
    -lmp = lammps("g++")      # create a LAMMPS object using the liblammps_g++.so library
    -lmp = lammps("",list)    # ditto, with command-line args, e.g. list = ["-echo","screen"]
    -lmp = lammps("g++",list)
    -
    -
    -
    lmp.close()              # destroy a LAMMPS object
    -
    -
    -
    lmp.file(file)           # run an entire input script, file = "in.lj"
    -lmp.command(cmd)         # invoke a single LAMMPS command, cmd = "run 100"
    -
    -
    -
    xlo = lmp.extract_global(name,type)  # extract a global quantity
    -                                     # name = "boxxlo", "nlocal", etc
    -                                  # type = 0 = int
    -                                  #        1 = double
    -
    -
    -
    coords = lmp.extract_atom(name,type)      # extract a per-atom quantity
    -                                          # name = "x", "type", etc
    -                                       # type = 0 = vector of ints
    -                                       #        1 = array of ints
    -                                       #        2 = vector of doubles
    -                                       #        3 = array of doubles
    -
    -
    -
    eng = lmp.extract_compute(id,style,type)  # extract value(s) from a compute
    -v3 = lmp.extract_fix(id,style,type,i,j)   # extract value(s) from a fix
    -                                          # id = ID of compute or fix
    -                                       # style = 0 = global data
    -                                       #         1 = per-atom data
    -                                       #         2 = local data
    -                                       # type = 0 = scalar
    -                                       #        1 = vector
    -                                       #        2 = array
    -                                       # i,j = indices of value in global vector or array
    -
    -
    -
    var = lmp.extract_variable(name,group,flag)  # extract value(s) from a variable
    -                                          # name = name of variable
    -                                          # group = group ID (ignored for equal-style variables)
    -                                          # flag = 0 = equal-style variable
    -                                          #        1 = atom-style variable
    -
    -
    -
    flag = lmp.set_variable(name,value)       # set existing named string-style variable to value, flag = 0 if successful
    -natoms = lmp.get_natoms()                 # total # of atoms as int
    -data = lmp.gather_atoms(name,type,count)  # return atom attribute of all atoms gathered into data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc
    -lmp.scatter_atoms(name,type,count,data)   # scatter atom attribute of all atoms from data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc
    -
    -
    -
    -
    -

    Warning

    -

    Currently, the creation of a LAMMPS object from within +from a C++ or C or Fortran program. +

    +
    lmp = lammps()           # create a LAMMPS object using the default liblammps.so library
    +lmp = lammps(ptr=lmpptr) # ditto, but use lmpptr as previously created LAMMPS object
    +lmp = lammps("g++")      # create a LAMMPS object using the liblammps_g++.so library
    +lmp = lammps("",list)    # ditto, with command-line args, e.g. list = ["-echo","screen"]
    +lmp = lammps("g++",list) 
    +
    +
    lmp.close()              # destroy a LAMMPS object 
    +
    +
    lmp.file(file)           # run an entire input script, file = "in.lj"
    +lmp.command(cmd)         # invoke a single LAMMPS command, cmd = "run 100" 
    +
    +
    xlo = lmp.extract_global(name,type)  # extract a global quantity
    +                                     # name = "boxxlo", "nlocal", etc
    +				     # type = 0 = int
    +				     #        1 = double 
    +
    +
    coords = lmp.extract_atom(name,type)      # extract a per-atom quantity
    +                                          # name = "x", "type", etc
    +				          # type = 0 = vector of ints
    +				          #        1 = array of ints
    +				          #        2 = vector of doubles
    +				          #        3 = array of doubles 
    +
    +
    eng = lmp.extract_compute(id,style,type)  # extract value(s) from a compute
    +v3 = lmp.extract_fix(id,style,type,i,j)   # extract value(s) from a fix
    +                                          # id = ID of compute or fix
    +					  # style = 0 = global data
    +					  #	    1 = per-atom data
    +					  #         2 = local data
    +					  # type = 0 = scalar
    +					  #	   1 = vector
    +					  #        2 = array
    +					  # i,j = indices of value in global vector or array 
    +
    +
    var = lmp.extract_variable(name,group,flag)  # extract value(s) from a variable
    +	                                     # name = name of variable
    +					     # group = group ID (ignored for equal-style variables)
    +					     # flag = 0 = equal-style variable
    +					     #        1 = atom-style variable 
    +
    +
    flag = lmp.set_variable(name,value)       # set existing named string-style variable to value, flag = 0 if successful
    +natoms = lmp.get_natoms()                 # total # of atoms as int
    +data = lmp.gather_atoms(name,type,count)  # return atom attribute of all atoms gathered into data, ordered by atom ID
    +                                          # name = "x", "charge", "type", etc
    +                                          # count = # of per-atom values, 1 or 3, etc
    +lmp.scatter_atoms(name,type,count,data)   # scatter atom attribute of all atoms from data, ordered by atom ID
    +                                          # name = "x", "charge", "type", etc
    +                                          # count = # of per-atom values, 1 or 3, etc 
    +
    +
    + +

    IMPORTANT NOTE: Currently, the creation of a LAMMPS object from within lammps.py does not take an MPI communicator as an argument. There should be a way to do this, so that the LAMMPS instance runs on a -subset of processors if desired, but I don’t know how to do it from +subset of processors if desired, but I don't know how to do it from Pypar. So for now, it runs with MPI_COMM_WORLD, which is all the processors. If someone figures out how to do this with one or more of the Python wrappers for MPI, like Pypar, please let us know and we -will amend these doc pages.

    -
    -

    The lines

    -
    from lammps import lammps
    -lmp = lammps()
    -
    -
    -

    create an instance of LAMMPS, wrapped in a Python class by the lammps +will amend these doc pages. +

    +

    The lines +

    +
    from lammps import lammps
    +lmp = lammps() 
    +
    +

    create an instance of LAMMPS, wrapped in a Python class by the lammps Python module, and return an instance of the Python class as lmp. It -is used to make all subequent calls to the LAMMPS library.

    -

    Additional arguments can be used to tell Python the name of the shared +is used to make all subequent calls to the LAMMPS library. +

    +

    Additional arguments can be used to tell Python the name of the shared library to load or to pass arguments to the LAMMPS instance, the same -as if LAMMPS were launched from a command-line prompt.

    -

    If the ptr argument is set like this:

    -
    lmp = lammps(ptr=lmpptr)
    -
    -
    -

    then lmpptr must be an argument passed to Python via the LAMMPS -python command, when it is used to define a Python +as if LAMMPS were launched from a command-line prompt. +

    +

    If the ptr argument is set like this: +

    +
    lmp = lammps(ptr=lmpptr) 
    +
    +

    then lmpptr must be an argument passed to Python via the LAMMPS +python command, when it is used to define a Python function that is invoked by the LAMMPS input script. This mode of using Python with LAMMPS is described above in 11.2. The variable lmpptr refers to the instance of LAMMPS that called the embedded Python interpreter. Using it as an argument to lammps() allows the -returned Python class instance “lmp” to make calls to that instance of -LAMMPS. See the python command doc page for examples -using this syntax.

    -

    Note that you can create multiple LAMMPS objects in your Python -script, and coordinate and run multiple simulations, e.g.

    -
    from lammps import lammps
    -lmp1 = lammps()
    -lmp2 = lammps()
    -lmp1.file("in.file1")
    -lmp2.file("in.file2")
    -
    -
    -

    The file() and command() methods allow an input script or single -commands to be invoked.

    -

    The extract_global(), extract_atom(), extract_compute(), +returned Python class instance "lmp" to make calls to that instance of +LAMMPS. See the python command doc page for examples +using this syntax. +

    +

    Note that you can create multiple LAMMPS objects in your Python +script, and coordinate and run multiple simulations, e.g. +

    +
    from lammps import lammps
    +lmp1 = lammps()
    +lmp2 = lammps()
    +lmp1.file("in.file1")
    +lmp2.file("in.file2") 
    +
    +

    The file() and command() methods allow an input script or single +commands to be invoked. +

    +

    The extract_global(), extract_atom(), extract_compute(), extract_fix(), and extract_variable() methods return values or -pointers to data structures internal to LAMMPS.

    -

    For extract_global() see the src/library.cpp file for the list of +pointers to data structures internal to LAMMPS. +

    +

    For extract_global() see the src/library.cpp file for the list of valid names. New names could easily be added. A double or integer is returned. You need to specify the appropriate data type via the type -argument.

    -

    For extract_atom(), a pointer to internal LAMMPS atom-based data is +argument. +

    +

    For extract_atom(), a pointer to internal LAMMPS atom-based data is returned, which you can use via normal Python subscripting. See the extract() method in the src/atom.cpp file for a list of valid names. Again, new names could easily be added. A pointer to a vector of -doubles or integers, or a pointer to an array of doubles (double **) -or integers (int **) is returned. You need to specify the appropriate -data type via the type argument.

    -

    For extract_compute() and extract_fix(), the global, per-atom, or +doubles or integers, or a pointer to an array of doubles (double **) +or integers (int **) is returned. You need to specify the appropriate +data type via the type argument. +

    +

    For extract_compute() and extract_fix(), the global, per-atom, or local data calulated by the compute or fix can be accessed. What is returned depends on whether the compute or fix calculates a scalar or vector or array. For a scalar, a single double value is returned. If @@ -718,27 +621,33 @@ subscripting. The one exception is that for a fix that calculates a global vector or array, a single double value from the vector or array is returned, indexed by I (vector) or I and J (array). I,J are zero-based indices. The I,J arguments can be left out if not needed. -See Section_howto 15 of the manual for a +See Section_howto 15 of the manual for a discussion of global, per-atom, and local data, and of scalar, vector, and array data types. See the doc pages for individual -computes and fixes for a description of what -they calculate and store.

    -

    For extract_variable(), an equal-style or atom-style variable is evaluated and its result returned.

    -

    For equal-style variables a single double value is returned and the +computes and fixes for a description of what +they calculate and store. +

    +

    For extract_variable(), an equal-style or atom-style +variable is evaluated and its result returned. +

    +

    For equal-style variables a single double value is returned and the group argument is ignored. For atom-style variables, a vector of doubles is returned, one value per atom, which you can use via normal Python subscripting. The values will be zero for atoms not in the -specified group.

    -

    The get_natoms() method returns the total number of atoms in the -simulation, as an int.

    -

    The gather_atoms() method returns a ctypes vector of ints or doubles +specified group. +

    +

    The get_natoms() method returns the total number of atoms in the +simulation, as an int. +

    +

    The gather_atoms() method returns a ctypes vector of ints or doubles as specified by type, of length count*natoms, for the property of all the atoms in the simulation specified by name, ordered by count and then by atom ID. The vector can be used via normal Python subscripting. If atom IDs are not consecutively ordered within -LAMMPS, a None is returned as indication of an error.

    -

    Note that the data structure gather_atoms(“x”) returns is different -from the data structure returned by extract_atom(“x”) in four ways. +LAMMPS, a None is returned as indication of an error. +

    +

    Note that the data structure gather_atoms("x") returns is different +from the data structure returned by extract_atom("x") in four ways. (1) Gather_atoms() returns a vector which you index as x[i]; extract_atom() returns an array which you index as x[i][j]. (2) Gather_atoms() orders the atoms by atom ID while extract_atom() does @@ -750,19 +659,22 @@ returns an array that effectively points directly to the internal data. This means you can change values inside LAMMPS from Python by assigning a new values to the extract_atom() array. To do this with the gather_atoms() vector, you need to change values in the vector, -then invoke the scatter_atoms() method.

    -

    The scatter_atoms() method takes a vector of ints or doubles as +then invoke the scatter_atoms() method. +

    +

    The scatter_atoms() method takes a vector of ints or doubles as specified by type, of length count*natoms, for the property of all the atoms in the simulation specified by name, ordered by bount and then by atom ID. It uses the vector of data to overwrite the corresponding properties for each atom inside LAMMPS. This requires LAMMPS to have -its “map” option enabled; see the atom_modify +its "map" option enabled; see the atom_modify command for details. If it is not, or if atom IDs are not -consecutively ordered, no coordinates are reset.

    -

    The array of coordinates passed to scatter_atoms() must be a ctypes +consecutively ordered, no coordinates are reset. +

    +

    The array of coordinates passed to scatter_atoms() must be a ctypes vector of ints or doubles, allocated and initialized something like -this:

    -
    from ctypes import *
    +this:
    +

    +
    from ctypes import *
     natoms = lmp.get_natoms()
     n3 = 3*natoms
     x = (n3*c_double)()
    @@ -772,206 +684,109 @@ x[2] = z coord of atom with ID 1
     x[3] = x coord of atom with ID 2
     ...
     x[n3-1] = z coord of atom with ID natoms
    -lmp.scatter_coords("x",1,3,x)
    -
    -
    -

    Alternatively, you can just change values in the vector returned by -gather_atoms(“x”,1,3), since it is a ctypes vector of doubles.

    -
    -

    As noted above, these Python class methods correspond one-to-one with +lmp.scatter_coords("x",1,3,x) + +

    Alternatively, you can just change values in the vector returned by +gather_atoms("x",1,3), since it is a ctypes vector of doubles. +

    +
    + +

    As noted above, these Python class methods correspond one-to-one with the functions in the LAMMPS library interface in src/library.cpp and library.h. This means you can extend the Python wrapper via the -following steps:

    -
      -
    • Add a new interface function to src/library.cpp and -src/library.h.
    • -
    • Rebuild LAMMPS as a shared library.
    • -
    • Add a wrapper method to python/lammps.py for this interface -function.
    • -
    • You should now be able to invoke the new interface function from a -Python script. Isn’t ctypes amazing?
    • -
    -
    -
    -

    11.8. Example Python scripts that use LAMMPS¶

    -

    These are the Python scripts included as demos in the python/examples +following steps: +

    +
    • Add a new interface function to src/library.cpp and +src/library.h. + +
    • Rebuild LAMMPS as a shared library. + +
    • Add a wrapper method to python/lammps.py for this interface +function. + +
    • You should now be able to invoke the new interface function from a +Python script. Isn't ctypes amazing? +
    +
    + +
    + +

    11.8 Example Python scripts that use LAMMPS +

    +

    These are the Python scripts included as demos in the python/examples directory of the LAMMPS distribution, to illustrate the kinds of things that are possible when Python wraps LAMMPS. If you create your own scripts, send them to us and we can include them in the LAMMPS -distribution.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - -
    trivial.pyread/run a LAMMPS input script thru Python
    demo.pyinvoke various LAMMPS library interface routines
    simple.pymimic operation of couple/simple/simple.cpp in Python
    gui.pyGUI go/stop/temperature-slider to control LAMMPS
    plot.pyreal-time temeperature plot with GnuPlot via Pizza.py
    viz_tool.pyreal-time viz via some viz package
    vizplotgui_tool.pycombination of viz_tool.py and plot.py and gui.py
    -
    -

    For the viz_tool.py and vizplotgui_tool.py commands, replace “tool” -with “gl” or “atomeye” or “pymol” or “vmd”, depending on what -visualization package you have installed.

    -

    Note that for GL, you need to be able to run the Pizza.py GL tool, -which is included in the pizza sub-directory. See the Pizza.py doc pages for more info:

    -

    Note that for AtomEye, you need version 3, and there is a line in the +distribution. +

    +
    + + + + + + +
    trivial.py read/run a LAMMPS input script thru Python
    demo.py invoke various LAMMPS library interface routines
    simple.py mimic operation of couple/simple/simple.cpp in Python
    gui.py GUI go/stop/temperature-slider to control LAMMPS
    plot.py real-time temeperature plot with GnuPlot via Pizza.py
    viz_tool.py real-time viz via some viz package
    vizplotgui_tool.py combination of viz_tool.py and plot.py and gui.py +
    + +
    + +

    For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" +with "gl" or "atomeye" or "pymol" or "vmd", depending on what +visualization package you have installed. +

    +

    Note that for GL, you need to be able to run the Pizza.py GL tool, +which is included in the pizza sub-directory. See the Pizza.py doc +pages for more info: +

    + + +

    Note that for AtomEye, you need version 3, and there is a line in the scripts that specifies the path and name of the executable. See the -AtomEye WWW pages here or here for more details:

    -
    http://mt.seas.upenn.edu/Archive/Graphics/A
    -http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html
    -
    -
    -

    The latter link is to AtomEye 3 which has the scriping -capability needed by these Python scripts.

    -

    Note that for PyMol, you need to have built and installed the +AtomEye WWW pages here or here for more details: +

    +
    http://mt.seas.upenn.edu/Archive/Graphics/A
    +http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html 
    +
    + + + + +

    The latter link is to AtomEye 3 which has the scriping +capability needed by these Python scripts. +

    +

    Note that for PyMol, you need to have built and installed the open-source version of PyMol in your Python, so that you can import it -from a Python script. See the PyMol WWW pages here or -here for more details:

    -
    http://www.pymol.org
    -http://sourceforge.net/scm/?type=svn&group_id=4546
    -
    -
    -

    The latter link is to the open-source version.

    -

    Note that for VMD, you need a fairly current version (1.8.7 works for +from a Python script. See the PyMol WWW pages here or +here for more details: +

    +
    http://www.pymol.org
    +http://sourceforge.net/scm/?type=svn&group_id=4546 
    +
    + + + + +

    The latter link is to the open-source version. +

    +

    Note that for VMD, you need a fairly current version (1.8.7 works for me) and there are some lines in the pizza/vmd.py script for 4 PIZZA -variables that have to match the VMD installation on your system.

    -
    -

    See the python/README file for instructions on how to run them and the -source code for individual scripts for comments about what they do.

    -

    Here are screenshots of the vizplotgui_tool.py script in action for -different visualization package options. Click to see larger images:

    - - - - -
    -
    +variables that have to match the VMD installation on your system. +

    +
    +

    See the python/README file for instructions on how to run them and the +source code for individual scripts for comments about what they do. +

    +

    Here are screenshots of the vizplotgui_tool.py script in action for +different visualization package options. Click to see larger images: +

    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/Section_start.html b/doc/Section_start.html index b0c8761e1f..20769a24bb 100644 --- a/doc/Section_start.html +++ b/doc/Section_start.html @@ -1,427 +1,309 @@ + +
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section +
    - - - - - - - - - 2. Getting Started — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    2. Getting Started¶

    -

    This section describes how to build and run LAMMPS, for both new and -experienced users.

    - -
    -

    2.1. What’s in the LAMMPS distribution¶

    -

    When you download a LAMMPS tarball you will need to unzip and untar + + +


    + +

    2. Getting Started +

    +

    This section describes how to build and run LAMMPS, for both new and +experienced users. +

    +2.1 What's in the LAMMPS distribution
    +2.2 Making LAMMPS
    +2.3 Making LAMMPS with optional packages
    +2.4 Building LAMMPS via the Make.py script
    +2.5 Building LAMMPS as a library
    +2.6 Running LAMMPS
    +2.7 Command-line options
    +2.8 Screen output
    +2.9 Tips for users of previous versions
    + +
    + +
    + +

    2.1 What's in the LAMMPS distribution +

    +

    When you download a LAMMPS tarball you will need to unzip and untar the downloaded file with the following commands, after placing the -tarball in an appropriate directory.

    -
    gunzip lammps*.tar.gz
    -tar xvf lammps*.tar
    -
    -
    -

    This will create a LAMMPS directory containing two files and several -sub-directories:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    READMEtext file
    LICENSEthe GNU General Public License (GPL)
    benchbenchmark problems
    docdocumentation
    examplessimple test problems
    potentialsembedded atom method (EAM) potential files
    srcsource files
    toolspre- and post-processing tools
    -

    Note that the download page also has links to download +tarball in an appropriate directory. +

    +
    gunzip lammps*.tar.gz 
    +tar xvf lammps*.tar 
    +
    +

    This will create a LAMMPS directory containing two files and several +sub-directories: +

    +
    + + + + + + + +
    README text file
    LICENSE the GNU General Public License (GPL)
    bench benchmark problems
    doc documentation
    examples simple test problems
    potentials embedded atom method (EAM) potential files
    src source files
    tools pre- and post-processing tools +
    + +

    Note that the download page also has links to download Windows exectubles and installers, as well as pre-built executables for a few specific Linux distributions. It also has instructions for how to download/install LAMMPS for Macs (via Homebrew), and to download and update LAMMPS from SVN and Git repositories, which gives -you the same files that are in the download tarball.

    -

    The Windows and Linux executables for serial or parallel only include -certain packages and bug-fixes/upgrades listed on this page up to a certain date, as +you the same files that are in the download tarball. +

    +

    The Windows and Linux executables for serial or parallel only include +certain packages and bug-fixes/upgrades listed on this +page up to a certain date, as stated on the download page. If you want an executable with -non-included packages or that is more current, then you’ll need to -build LAMMPS yourself, as discussed in the next section.

    -

    Skip to the Running LAMMPS sections for info on how to -launch a LAMMPS Windows executable on a Windows box.

    -
    -
    -
    -

    2.2. Making LAMMPS¶

    -

    This section has the following sub-sections:

    - -
    -

    *Read this first:*

    -

    If you want to avoid building LAMMPS yourself, read the preceeding +non-included packages or that is more current, then you'll need to +build LAMMPS yourself, as discussed in the next section. +

    +

    Skip to the Running LAMMPS sections for info on how to +launch a LAMMPS Windows executable on a Windows box. +

    +
    + +

    2.2 Making LAMMPS +

    +

    This section has the following sub-sections: +

    + +
    + +Read this first: + +

    If you want to avoid building LAMMPS yourself, read the preceeding section about options available for downloading and installing -executables. Details are discussed on the download page.

    -

    Building LAMMPS can be simple or not-so-simple. If all you need are +executables. Details are discussed on the download page. +

    +

    Building LAMMPS can be simple or not-so-simple. If all you need are the default packages installed in LAMMPS, and MPI is already installed on your machine, or you just want to run LAMMPS in serial, then you can typically use the Makefile.mpi or Makefile.serial files in -src/MAKE by typing one of these lines (from the src dir):

    -
    make mpi
    -make serial
    -
    -
    -

    Note that on a facility supercomputer, there are often “modules” +src/MAKE by typing one of these lines (from the src dir): +

    +
    make mpi
    +make serial 
    +
    +

    Note that on a facility supercomputer, there are often "modules" loaded in your environment that provide the compilers and MPI you -should use. In this case, the “mpicxx” compile/link command in -Makefile.mpi should just work by accessing those modules.

    -

    It may be the case that one of the other Makefile.machine files in the -src/MAKE sub-directories is a better match to your system (type “make” -to see a list), you can use it as-is by typing (for example):

    -
    make stampede
    -
    -
    -

    If any of these builds (with an existing Makefile.machine) works on -your system, then you’re done!

    -

    If you want to do one of the following:

    -
      -
    • use optional LAMMPS features that require additional libraries
    • -
    • use optional packages that require additional libraries
    • -
    • use optional accelerator packages that require special compiler/linker settings
    • -
    • run on a specialized platform that has its own compilers, settings, or other libs to use
    • -
    -

    then building LAMMPS is more complicated. You may need to find where +should use. In this case, the "mpicxx" compile/link command in +Makefile.mpi should just work by accessing those modules. +

    +

    It may be the case that one of the other Makefile.machine files in the +src/MAKE sub-directories is a better match to your system (type "make" +to see a list), you can use it as-is by typing (for example): +

    +
    make stampede 
    +
    +

    If any of these builds (with an existing Makefile.machine) works on +your system, then you're done! +

    +

    If you want to do one of the following: +

    +
    • use optional LAMMPS features that require additional libraries +
    • use optional packages that require additional libraries +
    • use optional accelerator packages that require special compiler/linker settings +
    • run on a specialized platform that has its own compilers, settings, or other libs to use +
    +

    then building LAMMPS is more complicated. You may need to find where auxiliary libraries exist on your machine or install them if they -don’t. You may need to build additional libraries that are part of +don't. You may need to build additional libraries that are part of the LAMMPS package, before building LAMMPS. You may need to edit a -Makefile.machine file to make it compatible with your system.

    -

    Note that there is a Make.py tool in the src directory that automates +Makefile.machine file to make it compatible with your system. +

    +

    Note that there is a Make.py tool in the src directory that automates several of these steps, but you still have to know what you are doing. -Section 2.4 below describes the tool. It is a convenient +Section 2.4 below describes the tool. It is a convenient way to work with installing/un-installing various packages, the Makefile.machine changes required by some packages, and the auxiliary -libraries some of them use.

    -

    Please read the following sections carefully. If you are not +libraries some of them use. +

    +

    Please read the following sections carefully. If you are not comfortable with makefiles, or building codes on a Unix platform, or running an MPI job on your machine, please find a local expert to help you. Many compilation, linking, and run problems that users have are -often not really LAMMPS issues - they are peculiar to the user’s +often not really LAMMPS issues - they are peculiar to the user's system, compilers, libraries, etc. Such questions are better answered -by a local expert.

    -

    If you have a build problem that you are convinced is a LAMMPS issue +by a local expert. +

    +

    If you have a build problem that you are convinced is a LAMMPS issue (e.g. the compiler complains about a line of LAMMPS source code), then -please post the issue to the LAMMPS mail list.

    -

    If you succeed in building LAMMPS on a new kind of machine, for which -there isn’t a similar machine Makefile included in the +please post the issue to the LAMMPS mail +list. +

    +

    If you succeed in building LAMMPS on a new kind of machine, for which +there isn't a similar machine Makefile included in the src/MAKE/MACHINES directory, then send it to the developers and we can -include it in the LAMMPS distribution.

    -
    -

    *Steps to build a LAMMPS executable:*

    -

    Step 0

    -

    The src directory contains the C++ source and header files for LAMMPS. +include it in the LAMMPS distribution. +

    +
    + +Steps to build a LAMMPS executable: + +

    Step 0 +

    +

    The src directory contains the C++ source and header files for LAMMPS. It also contains a top-level Makefile and a MAKE sub-directory with low-level Makefile.* files for many systems and machines. See the src/MAKE/README file for a quick overview of what files are available -and what sub-directories they are in.

    -

    The src/MAKE dir has a few files that should work as-is on many +and what sub-directories they are in. +

    +

    The src/MAKE dir has a few files that should work as-is on many platforms. The src/MAKE/OPTIONS dir has more that invoke additional compiler, MPI, and other setting options commonly used by LAMMPS, to illustrate their syntax. The src/MAKE/MACHINES dir has many more that have been tweaked or optimized for specific machines. These files are all good starting points if you find you need to change them for your machine. Put any file you edit into the src/MAKE/MINE directory and -it will be never be touched by any LAMMPS updates.

    -

    >From within the src directory, type “make” or “gmake”. You should see +it will be never be touched by any LAMMPS updates. +

    +

    >From within the src directory, type "make" or "gmake". You should see a list of available choices from src/MAKE and all of its sub-directories. If one of those has the options you want or is the -machine you want, you can type a command like:

    -
    make mpi
    +machine you want, you can type a command like:
    +

    +
    make mpi
     or
     make serial_icc
     or
    -gmake mac
    -
    -
    -

    Note that the corresponding Makefile.machine can exist in src/MAKE or +gmake mac + +

    Note that the corresponding Makefile.machine can exist in src/MAKE or any of its sub-directories. If a file with the same name appears in multiple places (not a good idea), the order they are used is as follows: src/MAKE/MINE, src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference to a file you have created/edited and put in -src/MAKE/MINE.

    -

    Note that on a multi-processor or multi-core platform you can launch a -parallel make, by using the “-j” switch with the make command, which -will build LAMMPS more quickly.

    -

    If you get no errors and an executable like lmp_mpi or lmp_g++_serial -or lmp_mac is produced, then you’re done; it’s your lucky day.

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this section below.

    -

    Step 1

    -

    If Step 0 did not work, you will need to create a low-level Makefile +src/MAKE/MINE. +

    +

    Note that on a multi-processor or multi-core platform you can launch a +parallel make, by using the "-j" switch with the make command, which +will build LAMMPS more quickly. +

    +

    If you get no errors and an executable like lmp_mpi or lmp_g++_serial +or lmp_mac is produced, then you're done; it's your lucky day. +

    +

    Note that by default only a few of LAMMPS optional packages are +installed. To build LAMMPS with optional packages, see this +section below. +

    +

    Step 1 +

    +

    If Step 0 did not work, you will need to create a low-level Makefile for your machine, like Makefile.foo. You should make a copy of an existing Makefile.* in src/MAKE or one of its sub-directories as a starting point. The only portions of the file you need to edit are -the first line, the “compiler/linker settings” section, and the -“LAMMPS-specific settings” section. When it works, put the edited +the first line, the "compiler/linker settings" section, and the +"LAMMPS-specific settings" section. When it works, put the edited file in src/MAKE/MINE and it will not be altered by any future LAMMPS -updates.

    -

    Step 2

    -

    Change the first line of Makefile.foo to list the word “foo” after the -“#”, and whatever other options it will set. This is the line you -will see if you just type “make”.

    -

    Step 3

    -

    The “compiler/linker settings” section lists compiler and linker +updates. +

    +

    Step 2 +

    +

    Change the first line of Makefile.foo to list the word "foo" after the +"#", and whatever other options it will set. This is the line you +will see if you just type "make". +

    +

    Step 3 +

    +

    The "compiler/linker settings" section lists compiler and linker settings for your C++ compiler, including optimization flags. You can use g++, the open-source GNU compiler, which is available on all Unix systems. You can also use mpicxx which will typically be available if MPI is installed on your system, though you should check which actual compiler it wraps. Vendor compilers often produce faster code. On boxes with Intel CPUs, we suggest using the Intel icc compiler, which -can be downloaded from Intel’s compiler site.

    -

    If building a C++ code on your machine requires additional libraries, +can be downloaded from Intel's compiler site. +

    + + +

    If building a C++ code on your machine requires additional libraries, then you should list them as part of the LIB variable. You should -not need to do this if you use mpicxx.

    -

    The DEPFLAGS setting is what triggers the C++ compiler to create a +not need to do this if you use mpicxx. +

    +

    The DEPFLAGS setting is what triggers the C++ compiler to create a dependency list for a source file. This speeds re-compilation when -source (.cpp) or header (.h) files are edited. Some compilers do +source (*.cpp) or header (*.h) files are edited. Some compilers do not support dependency file creation, or may use a different switch -than -D. GNU g++ and Intel icc works with -D. If your compiler can’t -create dependency files, then you’ll need to create a Makefile.foo +than -D. GNU g++ and Intel icc works with -D. If your compiler can't +create dependency files, then you'll need to create a Makefile.foo patterned after Makefile.storm, which uses different rules that do not involve dependency files. Note that when you build LAMMPS for the -first time on a new platform, a long list of *.d files will be printed +first time on a new platform, a long list of *.d files will be printed out rapidly. This is not an error; it is the Makefile doing its -normal creation of dependencies.

    -

    Step 4

    -

    The “system-specific settings” section has several parts. Note that +normal creation of dependencies. +

    +

    Step 4 +

    +

    The "system-specific settings" section has several parts. Note that if you change any -D setting in this section, you should do a full -re-compile, after typing “make clean” (which will describe different -clean options).

    -

    The LMP_INC variable is used to include options that turn on ifdefs -within the LAMMPS code. The options that are currently recogized are:

    -
      -
    • -DLAMMPS_GZIP
    • -
    • -DLAMMPS_JPEG
    • -
    • -DLAMMPS_PNG
    • -
    • -DLAMMPS_FFMPEG
    • -
    • -DLAMMPS_MEMALIGN
    • -
    • -DLAMMPS_XDR
    • -
    • -DLAMMPS_SMALLBIG
    • -
    • -DLAMMPS_BIGBIG
    • -
    • -DLAMMPS_SMALLSMALL
    • -
    • -DLAMMPS_LONGLONG_TO_LONG
    • -
    • -DPACK_ARRAY
    • -
    • -DPACK_POINTER
    • -
    • -DPACK_MEMCPY
    • -
    -

    The read_data and dump commands will read/write gzipped files if you +re-compile, after typing "make clean" (which will describe different +clean options). +

    +

    The LMP_INC variable is used to include options that turn on ifdefs +within the LAMMPS code. The options that are currently recogized are: +

    +
    • -DLAMMPS_GZIP +
    • -DLAMMPS_JPEG +
    • -DLAMMPS_PNG +
    • -DLAMMPS_FFMPEG +
    • -DLAMMPS_MEMALIGN +
    • -DLAMMPS_XDR +
    • -DLAMMPS_SMALLBIG +
    • -DLAMMPS_BIGBIG +
    • -DLAMMPS_SMALLSMALL +
    • -DLAMMPS_LONGLONG_TO_LONG +
    • -DPACK_ARRAY +
    • -DPACK_POINTER +
    • -DPACK_MEMCPY +
    +

    The read_data and dump commands will read/write gzipped files if you compile with -DLAMMPS_GZIP. It requires that your machine supports -the “popen” function in the standard runtime library and that a gzip -executable can be found by LAMMPS during a run.

    -

    If you use -DLAMMPS_JPEG, the dump image command +the "popen" function in the standard runtime library and that a gzip +executable can be found by LAMMPS during a run. +

    +

    If you use -DLAMMPS_JPEG, the dump image command will be able to write out JPEG image files. For JPEG files, you must also link LAMMPS with a JPEG library, as described below. If you use --DLAMMPS_PNG, the dump image command will be able to write +-DLAMMPS_PNG, the dump image command will be able to write out PNG image files. For PNG files, you must also link LAMMPS with a PNG library, as described below. If neither of those two defines are used, LAMMPS will only be able to write out uncompressed PPM image -files.

    -

    If you use -DLAMMPS_FFMPEG, the dump movie command +files. +

    +

    If you use -DLAMMPS_FFMPEG, the dump movie command will be available to support on-the-fly generation of rendered movies the need to store intermediate image files. It requires that your -machines supports the “popen” function in the standard runtime library -and that an FFmpeg executable can be found by LAMMPS during the run.

    -

    Using -DLAMMPS_MEMALIGN=<bytes> enables the use of the +machines supports the "popen" function in the standard runtime library +and that an FFmpeg executable can be found by LAMMPS during the run. +

    +

    Using -DLAMMPS_MEMALIGN= enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. This can help to make more efficient use of vector instructions of modern CPUS, since dynamically allocated memory has to be aligned on larger than default byte boundaries (e.g. 16 bytes instead of 8 bytes on x86 type platforms) for optimal -performance.

    -

    If you use -DLAMMPS_XDR, the build will include XDR compatibility +performance. +

    +

    If you use -DLAMMPS_XDR, the build will include XDR compatibility files for doing particle dumps in XTC format. This is only necessary if your platform does have its own XDR files available. See the -Restrictions section of the dump command for details.

    -

    Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, -D- +Restrictions section of the dump command for details. +

    +

    Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, -D- DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These settings refer to use of 4-byte (small) vs 8-byte (big) integers within LAMMPS, as specified in src/lmptype.h. The only reason to use @@ -433,41 +315,50 @@ if your machine does not support 64-bit integers, though you can use SMALLSMALL setting if you are running in serial or on a desktop machine or small cluster where you will never run large systems or for long time (more than 2 billion atoms, more than 2 billion timesteps). -See the Additional build tips section below for more -details on these settings.

    -

    Note that two packages, USER-ATC and USER-CUDA are not currently +See the Additional build tips section below for more +details on these settings. +

    +

    Note that two packages, USER-ATC and USER-CUDA are not currently compatible with -DLAMMPS_BIGBIG. Also the GPU package requires the lib/gpu library to be compiled with the same setting, or the link will -fail.

    -

    The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or -MPI version does not recognize “long long” data types. In this case a -“long” data type is likely already 64-bits, in which case this setting -will convert to that data type.

    -

    Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY +fail. +

    +

    The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or +MPI version does not recognize "long long" data types. In this case a +"long" data type is likely already 64-bits, in which case this setting +will convert to that data type. +

    +

    Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY options can make for faster parallel FFTs (in the PPPM solver) on some platforms. The -DPACK_ARRAY setting is the default. See the -kspace_style command for info about PPPM. See -Step 6 below for info about building LAMMPS with an FFT library.

    -

    Step 5

    -

    The 3 MPI variables are used to specify an MPI library to build LAMMPS +kspace_style command for info about PPPM. See +Step 6 below for info about building LAMMPS with an FFT library. +

    +

    Step 5 +

    +

    The 3 MPI variables are used to specify an MPI library to build LAMMPS with. Note that you do not need to set these if you use the MPI compiler mpicxx for your CC and LINK setting in the section above. -The MPI wrapper knows where to find the needed files.

    -

    If you want LAMMPS to run in parallel, you must have an MPI library +The MPI wrapper knows where to find the needed files. +

    +

    If you want LAMMPS to run in parallel, you must have an MPI library installed on your platform. If MPI is installed on your system in the usual place (under /usr/local), you also may not need to specify these 3 variables, assuming /usr/local is in your path. On some large -parallel machines which use “modules” for their compile/link +parallel machines which use "modules" for their compile/link environements, you may simply need to include the correct module in your build environment, before building LAMMPS. Or the parallel machine may have a vendor-provided MPI which the compiler has no -trouble finding.

    -

    Failing this, these 3 variables can be used to specify where the mpi.h +trouble finding. +

    +

    Failing this, these 3 variables can be used to specify where the mpi.h file (MPI_INC) and the MPI library file (MPI_PATH) are found and the -name of the library file (MPI_LIB).

    -

    If you are installing MPI yourself, we recommend Argonne’s MPICH2 -or OpenMPI. MPICH can be downloaded from the Argonne MPI site. OpenMPI can -be downloaded from the OpenMPI site. +name of the library file (MPI_LIB). +

    +

    If you are installing MPI yourself, we recommend Argonne's MPICH2 +or OpenMPI. MPICH can be downloaded from the Argonne MPI +site. OpenMPI can +be downloaded from the OpenMPI site. Other MPI packages should also work. If you are running on a big parallel platform, your system people or the vendor should have already installed a version of MPI, which is likely to be faster @@ -476,53 +367,62 @@ and link with it. If you use MPICH or OpenMPI, you will have to configure and build it for your platform. The MPI configure script should have compiler options to enable you to use the same compiler you are using for the LAMMPS build, which can avoid problems that can -arise when linking LAMMPS to the MPI library.

    -

    If you just want to run LAMMPS on a single processor, you can use the -dummy MPI library provided in src/STUBS, since you don’t need a true +arise when linking LAMMPS to the MPI library. +

    +

    If you just want to run LAMMPS on a single processor, you can use the +dummy MPI library provided in src/STUBS, since you don't need a true MPI library installed on your system. See src/MAKE/Makefile.serial for how to specify the 3 MPI variables in this case. You will also need to build the STUBS library for your platform before making LAMMPS itself. Note that if you are building with src/MAKE/Makefile.serial, -e.g. by typing “make serial”, then the STUBS library is built for you.

    -

    To build the STUBS library from the src directory, type “make -mpi-stubs”, or from the src/STUBS dir, type “make”. This should +e.g. by typing "make serial", then the STUBS library is built for you. +

    +

    To build the STUBS library from the src directory, type "make +mpi-stubs", or from the src/STUBS dir, type "make". This should create a libmpi_stubs.a file suitable for linking to LAMMPS. If the build fails, you will need to edit the STUBS/Makefile for your -platform.

    -

    The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() -that calls gettimeofday() . If your system doesn’t support -gettimeofday() , you’ll need to insert code to call another timer. +platform. +

    +

    The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() +that calls gettimeofday() . If your system doesn't support +gettimeofday() , you'll need to insert code to call another timer. Note that the ANSI-standard function clock() rolls over after an hour or so, and is therefore insufficient for timing long LAMMPS -simulations.

    -

    Step 6

    -

    The 3 FFT variables allow you to specify an FFT library which LAMMPS +simulations. +

    +

    Step 6 +

    +

    The 3 FFT variables allow you to specify an FFT library which LAMMPS uses (for performing 1d FFTs) when running the particle-particle particle-mesh (PPPM) option for long-range Coulombics via the -kspace_style command.

    -

    LAMMPS supports various open-source or vendor-supplied FFT libraries +kspace_style command. +

    +

    LAMMPS supports various open-source or vendor-supplied FFT libraries for this purpose. If you leave these 3 variables blank, LAMMPS will -use the open-source KISS FFT library, which is +use the open-source KISS FFT library, which is included in the LAMMPS distribution. This library is portable to all platforms and for typical LAMMPS simulations is almost as fast as FFTW or vendor optimized libraries. If you are not including the KSPACE -package in your build, you can also leave the 3 variables blank.

    -

    Otherwise, select which kinds of FFTs to use as part of the FFT_INC +package in your build, you can also leave the 3 variables blank. +

    +

    Otherwise, select which kinds of FFTs to use as part of the FFT_INC setting by a switch of the form -DFFT_XXX. Recommended values for XXX are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI, ACML, and T3E. For backward compatability, using -DFFT_FFTW will use the FFTW2 library. Using -DFFT_NONE will use the KISS library -described above.

    -

    You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, +described above. +

    +

    You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, so the compiler and linker can find the needed FFT header and library -files. Note that on some large parallel machines which use “modules” +files. Note that on some large parallel machines which use "modules" for their compile/link environements, you may simply need to include the correct module in your build environment. Or the parallel machine may have a vendor-provided FFT library which the compiler has no -trouble finding.

    -

    FFTW is a fast, portable library that should also work on any +trouble finding. +

    +

    FFTW is a fast, portable library that should also work on any platform. You can download it from -www.fftw.org. Both the legacy version 2.1.X and +www.fftw.org. Both the legacy version 2.1.X and the newer 3.X versions are supported as -DFFT_FFTW2 or -DFFT_FFTW3. Building FFTW for your box should be as simple as ./configure; make. Note that on some platforms FFTW2 has been pre-installed, and uses @@ -531,8 +431,9 @@ e.g. sfftw.h, or dfftw.h instead of fftw.h. In this case, you can specify an additional define variable for FFT_INC called -DFFTW_SIZE, which will select the correct include file. In this case, for FFT_LIB you must also manually specify the correct library, namely -lsfftw or --ldfftw.

    -

    The FFT_INC variable also allows for a -DFFT_SINGLE setting that will +-ldfftw. +

    +

    The FFT_INC variable also allows for a -DFFT_SINGLE setting that will use single-precision FFTs with PPPM, which can speed-up long-range calulations, particularly in parallel or on GPUs. Fourier transform and related PPPM operations are somewhat insensitive to floating point @@ -540,42 +441,54 @@ truncation errors and thus do not always need to be performed in double precision. Using the -DFFT_SINGLE setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. Note that single precision FFTs have only -been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.

    -

    Step 7

    -

    The 3 JPG variables allow you to specify a JPEG and/or PNG library -which LAMMPS uses when writing out JPEG or PNG files via the dump image command. These can be left blank if you do not +been tested with the FFTW3, FFTW2, MKL, and KISS FFT options. +

    +

    Step 7 +

    +

    The 3 JPG variables allow you to specify a JPEG and/or PNG library +which LAMMPS uses when writing out JPEG or PNG files via the dump +image command. These can be left blank if you do not use the -DLAMMPS_JPEG or -DLAMMPS_PNG switches discussed above in Step -4, since in that case JPEG/PNG output will be disabled.

    -

    A standard JPEG library usually goes by the name libjpeg.a or +4, since in that case JPEG/PNG output will be disabled. +

    +

    A standard JPEG library usually goes by the name libjpeg.a or libjpeg.so and has an associated header file jpeglib.h. Whichever -JPEG library you have on your platform, you’ll need to set the +JPEG library you have on your platform, you'll need to set the appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the -compiler and linker can find it.

    -

    A standard PNG library usually goes by the name libpng.a or libpng.so +compiler and linker can find it. +

    +

    A standard PNG library usually goes by the name libpng.a or libpng.so and has an associated header file png.h. Whichever PNG library you -have on your platform, you’ll need to set the appropriate JPG_INC, +have on your platform, you'll need to set the appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the compiler and linker can -find it.

    -

    As before, if these header and library files are in the usual place on -your machine, you may not need to set these variables.

    -

    Step 8

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this section below, before proceeding to Step 9.

    -

    Step 9

    -

    That’s it. Once you have a correct Makefile.foo, and you have +find it. +

    +

    As before, if these header and library files are in the usual place on +your machine, you may not need to set these variables. +

    +

    Step 8 +

    +

    Note that by default only a few of LAMMPS optional packages are +installed. To build LAMMPS with optional packages, see this +section below, before proceeding to Step 9. +

    +

    Step 9 +

    +

    That's it. Once you have a correct Makefile.foo, and you have pre-built any other needed libraries (e.g. MPI, FFT, etc) all you need -to do from the src directory is type something like this:

    -
    make foo
    +to do from the src directory is type something like this:
    +

    +
    make foo
     or
    -gmake foo
    -
    -
    -

    You should get the executable lmp_foo when the build is complete.

    -
    -

    *Errors that can occur when making LAMMPS:*

    -
    -

    Warning

    -

    If an error occurs when building LAMMPS, the compiler +gmake foo + +

    You should get the executable lmp_foo when the build is complete. +

    +
    + +Errors that can occur when making LAMMPS: + +

    IMPORTANT NOTE: If an error occurs when building LAMMPS, the compiler or linker will state very explicitly what the problem is. The error message should give you a hint as to which of the steps above has failed, and what you need to do in order to fix it. Building a code @@ -583,278 +496,332 @@ with a Makefile is a very logical process. The compiler and linker need to find the appropriate files and those files need to be compatible with LAMMPS source files. When a make fails, there is usually a very simple reason, which you or a local expert will need to -fix.

    -
    -

    Here are two non-obvious errors that can occur:

    -

    (1) If the make command breaks immediately with errors that indicate -it can’t find files with a “*” in their names, this can be because -your machine’s native make doesn’t support wildcard expansion in a -makefile. Try gmake instead of make. If that doesn’t work, try using +fix. +

    +

    Here are two non-obvious errors that can occur: +

    +

    (1) If the make command breaks immediately with errors that indicate +it can't find files with a "*" in their names, this can be because +your machine's native make doesn't support wildcard expansion in a +makefile. Try gmake instead of make. If that doesn't work, try using a -f switch with your make command to use a pre-generated -Makefile.list which explicitly lists all the needed files, e.g.

    -
    make makelist
    +Makefile.list which explicitly lists all the needed files, e.g.
    +

    +
    make makelist
     make -f Makefile.list linux
    -gmake -f Makefile.list mac
    -
    -
    -

    The first “make” command will create a current Makefile.list with all -the file names in your src dir. The 2nd “make” command (make or +gmake -f Makefile.list mac + +

    The first "make" command will create a current Makefile.list with all +the file names in your src dir. The 2nd "make" command (make or gmake) will use it to build LAMMPS. Note that you should -include/exclude any desired optional packages before using the “make -makelist” command.

    -

    (2) If you get an error that says something like ‘identifier “atoll” -is undefined’, then your machine does not support “long long” +include/exclude any desired optional packages before using the "make +makelist" command. +

    +

    (2) If you get an error that says something like 'identifier "atoll" +is undefined', then your machine does not support "long long" integers. Try using the -DLAMMPS_LONGLONG_TO_LONG setting described -above in Step 4.

    -
    -

    *Additional build tips:*

    -
      -
    1. Building LAMMPS for multiple platforms.
    2. -
    -

    You can make LAMMPS for multiple platforms from the same src +above in Step 4. +

    +
    + +Additional build tips: + +

    (1) Building LAMMPS for multiple platforms. +

    +

    You can make LAMMPS for multiple platforms from the same src directory. Each target creates its own object sub-directory called -Obj_target where it stores the system-specific *.o files.

    -
      -
    1. Cleaning up.
    2. -
    -

    Typing “make clean-all” or “make clean-machine” will delete *.o object +Obj_target where it stores the system-specific *.o files. +

    +

    (2) Cleaning up. +

    +

    Typing "make clean-all" or "make clean-machine" will delete *.o object files created when LAMMPS is built, for either all builds or for a -particular machine.

    -

    (3) Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or --DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL

    -

    As explained above, any of these 3 settings can be specified on the -LMP_INC line in your low-level src/MAKE/Makefile.foo.

    -

    The default is -DLAMMPS_SMALLBIG which allows for systems with up to +particular machine. +

    +

    (3) Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or +-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL +

    +

    As explained above, any of these 3 settings can be specified on the +LMP_INC line in your low-level src/MAKE/Makefile.foo. +

    +

    The default is -DLAMMPS_SMALLBIG which allows for systems with up to 2^63 atoms and 2^63 timesteps (about 9e18). The atom limit is for atomic systems which do not store bond topology info and thus do not require atom IDs. If you use atom IDs for atomic systems (which is the default) or if you use a molecular model, which stores bond topology info and thus requires atom IDs, the limit is 2^31 atoms (about 2 billion). This is because the IDs are stored in 32-bit -integers.

    -

    Likewise, with this setting, the 3 image flags for each atom (see the -dump doc page for a discussion) are stored in a 32-bit +integers. +

    +

    Likewise, with this setting, the 3 image flags for each atom (see the +dump doc page for a discussion) are stored in a 32-bit integer, which means the atoms can only wrap around a periodic box (in each dimension) at most 512 times. If atoms move through the periodic -box more than this many times, the image flags will “roll over”, +box more than this many times, the image flags will "roll over", e.g. from 511 to -512, which can cause diagnostics like the -mean-squared displacement, as calculated by the compute msd command, to be faulty.

    -

    To allow for larger atomic systems with atom IDs or larger molecular +mean-squared displacement, as calculated by the compute +msd command, to be faulty. +

    +

    To allow for larger atomic systems with atom IDs or larger molecular systems or larger image flags, compile with -DLAMMPS_BIGBIG. This stores atom IDs and image flags in 64-bit integers. This enables atomic or molecular systems with atom IDS of up to 2^63 atoms (about -9e18). And image flags will not “roll over” until they reach 2^20 = -1048576.

    -

    If your system does not support 8-byte integers, you will need to +9e18). And image flags will not "roll over" until they reach 2^20 = +1048576. +

    +

    If your system does not support 8-byte integers, you will need to compile with the -DLAMMPS_SMALLSMALL setting. This will restrict the total number of atoms (for atomic or molecular systems) and timesteps -to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512.

    -

    Note that in src/lmptype.h there are definitions of all these data +to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512. +

    +

    Note that in src/lmptype.h there are definitions of all these data types as well as the MPI data types associated with them. The MPI types need to be consistent with the associated C data types, or else LAMMPS will generate a run-time error. As far as we know, the settings defined in src/lmptype.h are portable and work on every -current system.

    -

    In all cases, the size of problem that can be run on a per-processor -basis is limited by 4-byte integer storage to 2^31 atoms per processor -(about 2 billion). This should not normally be a limitation since such -a problem would have a huge per-processor memory footprint due to -neighbor lists and would run very slowly in terms of CPU secs/timestep.

    -
    -

    *Building for a Mac:*

    -

    OS X is BSD Unix, so it should just work. See the -src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files.

    -
    -

    *Building for Windows:*

    -

    The LAMMPS download page has an option to download both a serial and -parallel pre-built Windows executable. See the Running LAMMPS section for instructions on running these executables -on a Windows box.

    -

    The pre-built executables hosted on the LAMMPS download page are built with a subset +current system. +

    +

    In all cases, the size of problem that can be run on a per-processor +basis is limited by 4-byte integer storage to 2^31 atoms per processor +(about 2 billion). This should not normally be a limitation since such +a problem would have a huge per-processor memory footprint due to +neighbor lists and would run very slowly in terms of CPU secs/timestep. +

    +
    + +Building for a Mac: + +

    OS X is BSD Unix, so it should just work. See the +src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files. +

    +
    + +Building for Windows: + +

    The LAMMPS download page has an option to download both a serial and +parallel pre-built Windows executable. See the Running +LAMMPS section for instructions on running these executables +on a Windows box. +

    +

    The pre-built executables hosted on the LAMMPS download +page are built with a subset of the available packages; see the download page for the list. These are single executable files. No examples or documentation in included. You will need to download the full source code package to -obtain those.

    -

    As an alternative, you can download “daily builds” (and some older +obtain those. +

    +

    As an alternative, you can download "daily builds" (and some older versions) of the installer packages from -rpm.lammps.org/windows.html. +rpm.lammps.org/windows.html. These executables are built with most optional packages and the -download includes documentation, some tools and most examples.

    -

    If you want a Windows version with specific packages included and -excluded, you can build it yourself.

    -

    One way to do this is install and use cygwin to build LAMMPS with a +download includes documentation, some tools and most examples. +

    +

    If you want a Windows version with specific packages included and +excluded, you can build it yourself. +

    +

    One way to do this is install and use cygwin to build LAMMPS with a standard unix style make program, just as you would on a Linux box; -see src/MAKE/MACHINES/Makefile.cygwin.

    -

    The other way to do this is using Visual Studio and project files. +see src/MAKE/MACHINES/Makefile.cygwin. +

    +

    The other way to do this is using Visual Studio and project files. See the src/WINDOWS directory and its README.txt file for instructions -on both a basic build and a customized build with pacakges you select.

    -
    -
    -
    -

    2.3. Making LAMMPS with optional packages¶

    -

    This section has the following sub-sections:

    - -

    Note that the following Section 2.4 describes the Make.py +on both a basic build and a customized build with pacakges you select. +

    +
    + +

    2.3 Making LAMMPS with optional packages +

    +

    This section has the following sub-sections: +

    + +

    Note that the following Section 2.4 describes the Make.py tool which can be used to install/un-install packages and build the auxiliary libraries which some of them use. It can also auto-edit a -Makefile.machine to add settings needed by some packages.

    -
    -

    *Package basics:*

    -

    The source code for LAMMPS is structured as a set of core files which +Makefile.machine to add settings needed by some packages. +

    +
    + +Package basics: + +

    The source code for LAMMPS is structured as a set of core files which are always included, plus optional packages. Packages are groups of files that enable a specific set of features. For example, force -fields for molecular systems or granular systems are in packages.

    -

    You can see the list of all packages by typing “make package” from +fields for molecular systems or granular systems are in packages. +

    +

    You can see the list of all packages by typing "make package" from within the src directory of the LAMMPS distribution. This also lists -various make commands that can be used to manipulate packages.

    -

    If you use a command in a LAMMPS input script that is specific to a +various make commands that can be used to manipulate packages. +

    +

    If you use a command in a LAMMPS input script that is specific to a particular package, you must have built LAMMPS with that package, else you will get an error that the style is invalid or the command is -unknown. Every command’s doc page specfies if it is part of a -package. You can also type

    -
    lmp_machine -h
    -
    -
    -

    to run your executable with the optional -h command-line switch for “help”, which will list the styles and commands -known to your executable.

    -

    There are two kinds of packages in LAMMPS, standard and user packages. +unknown. Every command's doc page specfies if it is part of a +package. You can also type +

    +
    lmp_machine -h 
    +
    +

    to run your executable with the optional -h command-line +switch for "help", which will list the styles and commands +known to your executable. +

    +

    There are two kinds of packages in LAMMPS, standard and user packages. More information about the contents of standard and user packages is -given in Section_packages of the manual. The -difference between standard and user packages is as follows:

    -

    Standard packages are supported by the LAMMPS developers and are +given in Section_packages of the manual. The +difference between standard and user packages is as follows: +

    +

    Standard packages are supported by the LAMMPS developers and are written in a syntax and style consistent with the rest of LAMMPS. This means we will answer questions about them, debug and fix them if -necessary, and keep them compatible with future changes to LAMMPS.

    -

    User packages have been contributed by users, and always begin with +necessary, and keep them compatible with future changes to LAMMPS. +

    +

    User packages have been contributed by users, and always begin with the user prefix. If they are a single command (single file), they are typically in the user-misc package. Otherwise, they are a a set of -files grouped together which add a specific functionality to the code.

    -

    User packages don’t necessarily meet the requirements of the standard +files grouped together which add a specific functionality to the code. +

    +

    User packages don't necessarily meet the requirements of the standard packages. If you have problems using a feature provided in a user package, you will likely need to contact the contributor directly to get help. Information on how to submit additions you make to LAMMPS -as a user-contributed package is given in this section of the documentation.

    -

    Some packages (both standard and user) require additional libraries. -See more details below.

    -
    -

    *Including/excluding packages:*

    -

    To use or not use a package you must include or exclude it before +as a user-contributed package is given in this +section of the documentation. +

    +

    Some packages (both standard and user) require additional libraries. +See more details below. +

    +
    + +Including/excluding packages: + +

    To use or not use a package you must include or exclude it before building LAMMPS. From the src directory, this is typically as simple -as:

    -
    make yes-colloid
    -make g++
    -
    -
    -

    or

    -
    make no-manybody
    -make g++
    -
    -
    -
    -

    Warning

    -

    You should NOT include/exclude packages and build +as: +

    +
    make yes-colloid
    +make g++ 
    +
    +

    or +

    +
    make no-manybody
    +make g++ 
    +
    +

    IMPORTANT NOTE: You should NOT include/exclude packages and build LAMMPS in a single make command by using multiple targets, e.g. make yes-colloid g++. This is because the make procedure creates a list of source files that will be out-of-date for the build if the package -configuration changes during the same command.

    -
    -

    Some packages have individual files that depend on other packages +configuration changes during the same command. +

    +

    Some packages have individual files that depend on other packages being included. LAMMPS checks for this and does the right thing. I.e. individual files are only included if their dependencies are already included. Likewise, if a package is excluded, other files -dependent on that package are also excluded.

    -

    If you will never run simulations that use the features in a +dependent on that package are also excluded. +

    +

    If you will never run simulations that use the features in a particular packages, there is no reason to include it in your build. For some packages, this will keep you from having to build auxiliary libraries (see below), and will also produce a smaller executable -which may run a bit faster.

    -

    When you download a LAMMPS tarball, these packages are pre-installed +which may run a bit faster. +

    +

    When you download a LAMMPS tarball, these packages are pre-installed in the src directory: KSPACE, MANYBODY,MOLECULE. When you download LAMMPS source files from the SVN or Git repositories, no packages are -pre-installed.

    -

    Packages are included or excluded by typing “make yes-name” or “make -no-name”, where “name” is the name of the package in lower-case, e.g. +pre-installed. +

    +

    Packages are included or excluded by typing "make yes-name" or "make +no-name", where "name" is the name of the package in lower-case, e.g. name = kspace for the KSPACE package or name = user-atc for the -USER-ATC package. You can also type “make yes-standard”, “make -no-standard”, “make yes-std”, “make no-std”, “make yes-user”, “make -no-user”, “make yes-all” or “make no-all” to include/exclude various -sets of packages. Type “make package” to see the all of the -package-related make options.

    -
    -

    Warning

    -

    Inclusion/exclusion of a package works by simply +USER-ATC package. You can also type "make yes-standard", "make +no-standard", "make yes-std", "make no-std", "make yes-user", "make +no-user", "make yes-all" or "make no-all" to include/exclude various +sets of packages. Type "make package" to see the all of the +package-related make options. +

    +

    IMPORTANT NOTE: Inclusion/exclusion of a package works by simply moving files back and forth between the main src directory and sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), so that the files are seen or not seen when LAMMPS is built. After -you have included or excluded a package, you must re-build LAMMPS.

    -
    -

    Additional package-related make options exist to help manage LAMMPS +you have included or excluded a package, you must re-build LAMMPS. +

    +

    Additional package-related make options exist to help manage LAMMPS files that exist in both the src directory and in package sub-directories. You do not normally need to use these commands unless you are editing LAMMPS files or have downloaded a patch from -the LAMMPS WWW site.

    -

    Typing “make package-update” or “make pu” will overwrite src files +the LAMMPS WWW site. +

    +

    Typing "make package-update" or "make pu" will overwrite src files with files from the package sub-directories if the package has been included. It should be used after a patch is installed, since patches only update the files in the package sub-directory, but not the src -files. Typing “make package-overwrite” will overwrite files in the -package sub-directories with src files.

    -

    Typing “make package-status” or “make ps” will show which packages are +files. Typing "make package-overwrite" will overwrite files in the +package sub-directories with src files. +

    +

    Typing "make package-status" or "make ps" will show which packages are currently included. Of those that are included, it will list files that are different in the src directory and package sub-directory. -Typing “make package-diff” lists all differences between these files. -Again, type “make package” to see all of the package-related make -options.

    -
    -

    *Packages that require extra libraries:*

    -

    A few of the standard and user packages require additional auxiliary +Typing "make package-diff" lists all differences between these files. +Again, type "make package" to see all of the package-related make +options. +

    +
    + +Packages that require extra libraries: + +

    A few of the standard and user packages require additional auxiliary libraries. Most of them are provided with LAMMPS, in which case they must be compiled first, before LAMMPS is built if you wish to include that package. If you get a LAMMPS build error about a missing library, this is likely the reason. See the -Section_packages doc page for a list of -packages that have these kinds of auxiliary libraries.

    -

    The lib directory in the distribution has sub-directories with package +Section_packages doc page for a list of +packages that have these kinds of auxiliary libraries. +

    +

    The lib directory in the distribution has sub-directories with package names that correspond to the needed auxiliary libs, e.g. lib/reax. Each sub-directory has a README file that gives more details. Code for most of the auxiliary libraries is included in that directory. -Examples are the USER-ATC and MEAM packages.

    -

    A few of the lib sub-directories do not include code, but do include +Examples are the USER-ATC and MEAM packages. +

    +

    A few of the lib sub-directories do not include code, but do include instructions and sometimes scripts that automate the process of downloading the auxiliary library and installing it so LAMMPS can link -to it. Examples are the KIM and VORONOI and USER-MOLFILE packages.

    -

    The lib/python directory (for the PYTHON package) contains only a +to it. Examples are the KIM and VORONOI and USER-MOLFILE packages. +

    +

    The lib/python directory (for the PYTHON package) contains only a choice of Makefile.lammps.* files. This is because no auxiliary code or libraries are needed, only the Python library and other system libs that already available on your system. However, the Makefile.lammps file is needed to tell the LAMMPS build which libs to use and where to -find them.

    -

    For libraries with provided code, the sub-directory README file +find them. +

    +

    For libraries with provided code, the sub-directory README file (e.g. lib/reax/README) has instructions on how to build that library. -Typically this is done by typing something like:

    -
    make -f Makefile.g++
    -
    -
    -

    If one of the provided Makefiles is not appropriate for your system +Typically this is done by typing something like: +

    +
    make -f Makefile.g++ 
    +
    +

    If one of the provided Makefiles is not appropriate for your system you will need to edit or add one. Note that all the Makefiles have a setting for EXTRAMAKE at the top that specifies a Makefile.lammps.* -file.

    -

    If the library build is successful, it will produce 2 files in the lib -directory:

    -
    libpackage.a
    -Makefile.lammps
    -
    -
    -

    The Makefile.lammps file will be a copy of the EXTRAMAKE file setting -specified in the library Makefile.* you used.

    -

    Note that you must insure that the settings in Makefile.lammps are +file. +

    +

    If the library build is successful, it will produce 2 files in the lib +directory: +

    +
    libpackage.a
    +Makefile.lammps 
    +
    +

    The Makefile.lammps file will be a copy of the EXTRAMAKE file setting +specified in the library Makefile.* you used. +

    +

    Note that you must insure that the settings in Makefile.lammps are appropriate for your system. If they are not, the LAMMPS build will -fail.

    -

    As explained in the lib/package/README files, the settings in +fail. +

    +

    As explained in the lib/package/README files, the settings in Makefile.lammps are used to specify additional system libraries and their locations so that LAMMPS can build with the auxiliary library. For example, if the MEAM or REAX packages are used, the auxiliary @@ -862,170 +829,164 @@ libraries consist of F90 code, built with a Fortran complier. To link that library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is built with, typically requires additional Fortran-to-C libraries be included in the link. Another example are the BLAS and LAPACK -libraries needed to use the USER-ATC or USER-AWPMD packages.

    -

    For libraries without provided code, the sub-directory README file has +libraries needed to use the USER-ATC or USER-AWPMD packages. +

    +

    For libraries without provided code, the sub-directory README file has information on where to download the library and how to build it, e.g. lib/voronoi/README. The README files also describe how you must -either (a) create soft links, via the “ln” command, in those +either (a) create soft links, via the "ln" command, in those directories to point to where you built or installed the packages, or (b) check or edit the Makefile.lammps file in the same directory -to provide that information.

    -

    Some of the sub-directories, e.g. lib/voronoi, also have an install.py +to provide that information. +

    +

    Some of the sub-directories, e.g. lib/voronoi, also have an install.py script which can be used to automate the process of downloading/building/installing the auxiliary library, and setting the -needed soft links. Type “python install.py” for further instructions.

    -

    As with the sub-directories containing library code, if the soft links +needed soft links. Type "python install.py" for further instructions. +

    +

    As with the sub-directories containing library code, if the soft links or settings in the lib/package/Makefile.lammps files are not correct, -the LAMMPS build will typically fail.

    -
    -

    *Packages that require Makefile.machine settings*

    -

    A few packages require specific settings in Makefile.machine, to +the LAMMPS build will typically fail. +

    +
    + +Packages that require Makefile.machine settings + +

    A few packages require specific settings in Makefile.machine, to either build or use the package effectively. These are the USER-INTEL, KOKKOS, USER-OMP, and OPT packages. The details of what flags to add or what variables to define are given on the doc pages -that describe each of these accelerator packages in detail:

    - -

    Here is a brief summary of what Makefile.machine changes are needed. -Note that the Make.py tool, described in the next Section 2.4 can automatically add the needed info to an existing -machine Makefile, using simple command-line arguments.

    -

    In src/MAKE/OPTIONS see the following Makefiles for examples of the -changes described below:

    -
      -
    • Makefile.intel_cpu
    • -
    • Makefile.intel_phi
    • -
    • Makefile.kokkos_omp
    • -
    • Makefile.kokkos_cuda
    • -
    • Makefile.kokkos_phi
    • -
    • Makefile.omp
    • -
    -

    For the USER-INTEL package, you have 2 choices when building. You can +that describe each of these accelerator packages in detail: +

    + +

    Here is a brief summary of what Makefile.machine changes are needed. +Note that the Make.py tool, described in the next Section +2.4 can automatically add the needed info to an existing +machine Makefile, using simple command-line arguments. +

    +

    In src/MAKE/OPTIONS see the following Makefiles for examples of the +changes described below: +

    +
    • Makefile.intel_cpu +
    • Makefile.intel_phi +
    • Makefile.kokkos_omp +
    • Makefile.kokkos_cuda +
    • Makefile.kokkos_phi +
    • Makefile.omp +
    +

    For the USER-INTEL package, you have 2 choices when building. You can build with CPU or Phi support. The latter uses Xeon Phi chips in -“offload” mode. Each of these modes requires additional settings in -your Makefile.machine for CCFLAGS and LINKFLAGS.

    -

    For CPU mode (if using an Intel compiler):

    -
      -
    • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits
    • -
    • LINKFLAGS: add -fopenmp
    • -
    -

    For Phi mode add the following in addition to the CPU mode flags:

    -
      -
    • CCFLAGS: add -DLMP_INTEL_OFFLOAD and
    • -
    • LINKFLAGS: add -offload
    • -
    -

    And also add this to CCFLAGS:

    -
    --offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs="gather_scatter_loop_unroll=4""
    -
    -

    For the KOKKOS package, you have 3 choices when building. You can +"offload" mode. Each of these modes requires additional settings in +your Makefile.machine for CCFLAGS and LINKFLAGS. +

    +

    For CPU mode (if using an Intel compiler): +

    +
    • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits +
    • LINKFLAGS: add -fopenmp +
    +

    For Phi mode add the following in addition to the CPU mode flags: +

    +
    • CCFLAGS: add -DLMP_INTEL_OFFLOAD and +
    • LINKFLAGS: add -offload +
    +

    And also add this to CCFLAGS: +

    +
    -offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs=\"gather_scatter_loop_unroll=4\"" 
    +
    +

    For the KOKKOS package, you have 3 choices when building. You can build with OMP or Cuda or Phi support. Phi support uses Xeon Phi -chips in “native” mode. This can be done by setting the following -variables in your Makefile.machine:

    -
      -
    • for OMP support, set OMP = yes
    • -
    • for Cuda support, set OMP = yes and CUDA = yes
    • -
    • for Phi support, set OMP = yes and MIC = yes
    • -
    -

    These can also be set as additional arguments to the make command, e.g.

    -
    make g++ OMP=yes MIC=yes
    -
    -
    -

    Building the KOKKOS package with CUDA support requires a Makefile -machine that uses the NVIDIA “nvcc” compiler, as well as an -appropriate “arch” setting appropriate to the GPU hardware and NVIDIA +chips in "native" mode. This can be done by setting the following +variables in your Makefile.machine: +

    +
    • for OMP support, set OMP = yes +
    • for Cuda support, set OMP = yes and CUDA = yes +
    • for Phi support, set OMP = yes and MIC = yes +
    +

    These can also be set as additional arguments to the make command, e.g. +

    +
    make g++ OMP=yes MIC=yes 
    +
    +

    Building the KOKKOS package with CUDA support requires a Makefile +machine that uses the NVIDIA "nvcc" compiler, as well as an +appropriate "arch" setting appropriate to the GPU hardware and NVIDIA software you have on your machine. See src/MAKE/OPTIONS/Makefile.kokkos_cuda for an example of such a machine -Makefile.

    -

    For the USER-OMP package, your Makefile.machine needs additional -settings for CCFLAGS and LINKFLAGS.

    -
      -
    • CCFLAGS: add -fopenmp and -restrict
    • -
    • LINKFLAGS: add -fopenmp
    • -
    -

    For the OPT package, your Makefile.machine needs an additional -settings for CCFLAGS.

    -
      -
    • CCFLAGS: add -restrict
    • -
    -
    -
    -
    -

    2.4. Building LAMMPS via the Make.py script¶

    -

    The src directory includes a Make.py script, written in Python, which +Makefile. +

    +

    For the USER-OMP package, your Makefile.machine needs additional +settings for CCFLAGS and LINKFLAGS. +

    +
    • CCFLAGS: add -fopenmp and -restrict +
    • LINKFLAGS: add -fopenmp +
    +

    For the OPT package, your Makefile.machine needs an additional +settings for CCFLAGS. +

    +
    • CCFLAGS: add -restrict +
    +
    + +

    2.4 Building LAMMPS via the Make.py script +

    +

    The src directory includes a Make.py script, written in Python, which can be used to automate various steps of the build process. It is particularly useful for working with the accelerator packages, as well -as other packages which require auxiliary libraries to be built.

    -

    The goal of the Make.py tool is to allow any complex multi-step LAMMPS +as other packages which require auxiliary libraries to be built. +

    +

    The goal of the Make.py tool is to allow any complex multi-step LAMMPS build to be performed as a single Make.py command. And you can archive the commands, so they can be re-invoked later via the -r -(redo) switch. If you find some LAMMPS build procedure that can’t be -done in a single Make.py command, let the developers know, and we’ll -see if we can augment the tool.

    -

    You can run Make.py from the src directory by typing either:

    -
    Make.py -h
    -python Make.py -h
    -
    -
    -

    which will give you help info about the tool. For the former to work, +(redo) switch. If you find some LAMMPS build procedure that can't be +done in a single Make.py command, let the developers know, and we'll +see if we can augment the tool. +

    +

    You can run Make.py from the src directory by typing either: +

    +
    Make.py -h
    +python Make.py -h 
    +
    +

    which will give you help info about the tool. For the former to work, you may need to edit the first line of Make.py to point to your local -Python. And you may need to insure the script is executable:

    -
    chmod +x Make.py
    -
    -
    -

    Here are examples of build tasks you can perform with Make.py:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Install/uninstall packagesMake.py -p no-lib kokkos omp intel
    Build specific auxiliary libsMake.py -a lib-atc lib-meam
    Build libs for all installed packagesMake.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
    Create a Makefile from scratch with compiler and MPI settingsMake.py -m none -cc g++ -mpi mpich -a file
    Augment Makefile.serial with settings for installed packagesMake.py -p intel -intel cpu -m serial -a file
    Add JPG and FFTW support to Makefile.mpiMake.py -m mpi -jpg -fft fftw -a file
    Build LAMMPS with a parallel make using Makefile.mpiMake.py -j 16 -m mpi -a exe
    Build LAMMPS and libs it needs using Makefile.serial with accelerator settingsMake.py -p gpu intel -intel cpu -a lib-all file serial
    -

    The bench and examples directories give Make.py commands that can be +Python. And you may need to insure the script is executable: +

    +
    chmod +x Make.py 
    +
    +

    Here are examples of build tasks you can perform with Make.py: +

    +
    + + + + + + + +
    Install/uninstall packages Make.py -p no-lib kokkos omp intel
    Build specific auxiliary libs Make.py -a lib-atc lib-meam
    Build libs for all installed packages Make.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
    Create a Makefile from scratch with compiler and MPI settings Make.py -m none -cc g++ -mpi mpich -a file
    Augment Makefile.serial with settings for installed packages Make.py -p intel -intel cpu -m serial -a file
    Add JPG and FFTW support to Makefile.mpi Make.py -m mpi -jpg -fft fftw -a file
    Build LAMMPS with a parallel make using Makefile.mpi Make.py -j 16 -m mpi -a exe
    Build LAMMPS and libs it needs using Makefile.serial with accelerator settings Make.py -p gpu intel -intel cpu -a lib-all file serial +
    + +

    The bench and examples directories give Make.py commands that can be used to build LAMMPS with the various packages and options needed to run all the benchmark and example input scripts. See these files for -more details:

    -
      -
    • bench/README
    • -
    • bench/FERMI/README
    • -
    • bench/KEPLER/README
    • -
    • bench/PHI/README
    • -
    • examples/README
    • -
    • examples/accelerate/README
    • -
    • examples/accelerate/make.list
    • -
    -

    All of the Make.py options and syntax help can be accessed by using -the “-h” switch.

    -

    E.g. typing “Make.py -h” gives

    -
    Syntax: Make.py switch args ...
    +more details:
    +

    +
    • bench/README +
    • bench/FERMI/README +
    • bench/KEPLER/README +
    • bench/PHI/README +
    • examples/README +
    • examples/accelerate/README +
    • examples/accelerate/make.list +
    +

    All of the Make.py options and syntax help can be accessed by using +the "-h" switch. +

    +

    E.g. typing "Make.py -h" gives +

    +
    Syntax: Make.py switch args ...
       switches can be listed in any order
       help switch:
         -h prints help and syntax for all other specified switches
    @@ -1040,80 +1001,82 @@ the “-h” switch.

    -atc, -awpmd, -colvars, -cuda -gpu, -meam, -poems, -qmmm, -reax switches for build and makefile options: - -intel, -kokkos, -cc, -mpi, -fft, -jpg, -png -
    -
    -

    Using the “-h” switch with other switches and actions gives additional -info on all the other specified switches or actions. The “-h” can be + -intel, -kokkos, -cc, -mpi, -fft, -jpg, -png + +

    Using the "-h" switch with other switches and actions gives additional +info on all the other specified switches or actions. The "-h" can be anywhere in the command-line and the other switches do not need their -arguments. E.g. type “Make.py -h -d -atc -intel” will print:

    -
    -d dir
    +arguments.  E.g. type "Make.py -h -d -atc -intel" will print:
    +

    +
    -d dir
       dir = LAMMPS home dir
    -  if -d not specified, working dir must be lammps/src
    -
    -
    -
    -atc make=suffix lammps=suffix2
    +  if -d not specified, working dir must be lammps/src 
    +
    +
    -atc make=suffix lammps=suffix2
       all args are optional and can be in any order
       make = use Makefile.suffix (def = g++)
    -  lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile)
    -
    -
    -
    -intel mode
    +  lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile) 
    +
    +
    -intel mode
       mode = cpu or phi (def = cpu)
    -    build Intel package for CPU or Xeon Phi
    -
    -
    -

    Note that Make.py never overwrites an existing Makefile.machine. + build Intel package for CPU or Xeon Phi + +

    Note that Make.py never overwrites an existing Makefile.machine. Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or rename if desired. Likewise it creates an executable named -src/lmp_auto, which you can rename using the -o switch if desired.

    -

    The most recently executed Make.py commmand is saved in -src/Make.py.last. You can use the “-r” switch (for redo) to re-invoke +src/lmp_auto, which you can rename using the -o switch if desired. +

    +

    The most recently executed Make.py commmand is saved in +src/Make.py.last. You can use the "-r" switch (for redo) to re-invoke the last command, or you can save a sequence of one or more Make.py -commands to a file and invoke the file of commands using “-r”. You +commands to a file and invoke the file of commands using "-r". You can also label the commands in the file and invoke one or more of them -by name.

    -

    A typical use of Make.py is to start with a valid Makefile.machine for +by name. +

    +

    A typical use of Make.py is to start with a valid Makefile.machine for your system, that works for a vanilla LAMMPS build, i.e. when optional packages are not installed. You can then use Make.py to add various settings (FFT, JPG, PNG) to the Makefile.machine as well as change its compiler and MPI options. You can also add additional packages to the -build, as well as build the needed supporting libraries.

    -

    You can also use Make.py to create a new Makefile.machine from -scratch, using the “-m none” switch, if you also specify what compiler -and MPI options to use, via the “-cc” and “-mpi” switches.

    -
    -
    -
    -

    2.5. Building LAMMPS as a library¶

    -

    LAMMPS can be built as either a static or shared library, which can +build, as well as build the needed supporting libraries. +

    +

    You can also use Make.py to create a new Makefile.machine from +scratch, using the "-m none" switch, if you also specify what compiler +and MPI options to use, via the "-cc" and "-mpi" switches. +

    +
    + +

    2.5 Building LAMMPS as a library +

    +

    LAMMPS can be built as either a static or shared library, which can then be called from another application or a scripting language. See -this section for more info on coupling -LAMMPS to other codes. See this section for -more info on wrapping and running LAMMPS from Python.

    -
    -

    2.5.1. Static library:¶

    -

    To build LAMMPS as a static library (*.a file on Linux), type

    -
    make foo mode=lib
    -
    -
    -

    where foo is the machine name. This kind of library is typically used +this section for more info on coupling +LAMMPS to other codes. See this section for +more info on wrapping and running LAMMPS from Python. +

    +
    Static library: +
    +

    To build LAMMPS as a static library (*.a file on Linux), type +

    +
    make foo mode=lib 
    +
    +

    where foo is the machine name. This kind of library is typically used to statically link a driver application to LAMMPS, so that you can insure all dependencies are satisfied at compile time. This will use the ARCHIVE and ARFLAGS settings in src/MAKE/Makefile.foo. The build will create the file liblammps_foo.a which another application can link to. It will also create a soft link liblammps.a, which will -point to the most recently built static library.

    -
    -
    -

    2.5.2. Shared library:¶

    -

    To build LAMMPS as a shared library (*.so file on Linux), which can be -dynamically loaded, e.g. from Python, type

    -
    make foo mode=shlib
    -
    -
    -

    where foo is the machine name. This kind of library is required when -wrapping LAMMPS with Python; see Section_python +point to the most recently built static library. +

    +
    Shared library: +
    +

    To build LAMMPS as a shared library (*.so file on Linux), which can be +dynamically loaded, e.g. from Python, type +

    +
    make foo mode=shlib 
    +
    +

    where foo is the machine name. This kind of library is required when +wrapping LAMMPS with Python; see Section_python for details. This will use the SHFLAGS and SHLIBFLAGS settings in src/MAKE/Makefile.foo and perform the build in the directory Obj_shared_foo. This is so that each file can be compiled with the @@ -1121,8 +1084,9 @@ Obj_shared_foo. This is so that each file can be compiled with the build will create the file liblammps_foo.so which another application can link to dyamically. It will also create a soft link liblammps.so, which will point to the most recently built shared library. This is -the file the Python wrapper loads by default.

    -

    Note that for a shared library to be usable by a calling program, all +the file the Python wrapper loads by default. +

    +

    Note that for a shared library to be usable by a calling program, all the auxiliary libraries it depends on must also exist as shared libraries. This will be the case for libraries included with LAMMPS, such as the dummy MPI library in src/STUBS or any package libraries in @@ -1131,316 +1095,349 @@ the -fPIC switch. However, if a library like MPI or FFTW does not exist as a shared library, the shared library build will generate an error. This means you will need to install a shared library version of the auxiliary library. The build instructions for the library -should tell you how to do this.

    -

    Here is an example of such errors when the system FFTW or provided -lib/colvars library have not been built as shared libraries:

    -
    /usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation
    -R_X86_64_32 against `.rodata' can not be used when making a shared
    +should tell you how to do this.
    +

    +

    Here is an example of such errors when the system FFTW or provided +lib/colvars library have not been built as shared libraries: +

    +
    /usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation
    +R_X86_64_32 against `.rodata' can not be used when making a shared
     object; recompile with -fPIC
    -/usr/local/lib/libfftw3.a: could not read symbols: Bad value
    -
    -
    -
    /usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o):
    -relocation R_X86_64_32 against `__pthread_key_create' can not be used
    +/usr/local/lib/libfftw3.a: could not read symbols: Bad value 
    +
    +
    /usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o):
    +relocation R_X86_64_32 against `__pthread_key_create' can not be used
     when making a shared object; recompile with -fPIC
    -../../lib/colvars/libcolvars.a: error adding symbols: Bad value
    -
    -
    -

    As an example, here is how to build and install the MPICH library, a popular open-source version of MPI, distributed by +../../lib/colvars/libcolvars.a: error adding symbols: Bad value + +

    As an example, here is how to build and install the MPICH +library, a popular open-source version of MPI, distributed by Argonne National Labs, as a shared library in the default -/usr/local/lib location:

    -
    ./configure --enable-shared
    +/usr/local/lib location:
    +

    + + +
    ./configure --enable-shared
     make
    -make install
    -
    -
    -

    You may need to use “sudo make install” in place of the last line if +make install + +

    You may need to use "sudo make install" in place of the last line if you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so.

    -
    -
    -

    2.5.3. Additional requirement for using a shared library:¶

    -

    The operating system finds shared libraries to load at run-time using +should be the file /usr/local/lib/libmpich.so. +

    +
    Additional requirement for using a shared library: +
    +

    The operating system finds shared libraries to load at run-time using the environment variable LD_LIBRARY_PATH. So you may wish to copy the file src/liblammps.so or src/liblammps_g++.so (for example) to a place the system can find it by default, such as /usr/local/lib, or you may wish to add the LAMMPS src directory to LD_LIBRARY_PATH, so that the current version of the shared library is always available to programs -that use it.

    -

    For the csh or tcsh shells, you would add something like this to your -~/.cshrc file:

    -
    setenv LD_LIBRARY_PATH $*LD_LIBRARY_PATH*:/home/sjplimp/lammps/src
    -
    -
    -
    -
    -

    2.5.4. Calling the LAMMPS library:¶

    -

    Either flavor of library (static or shared0 allows one or more LAMMPS -objects to be instantiated from the calling program.

    -

    When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS +that use it. +

    +

    For the csh or tcsh shells, you would add something like this to your +~/.cshrc file: +

    +
    setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/home/sjplimp/lammps/src 
    +
    +
    Calling the LAMMPS library: +
    +

    Either flavor of library (static or shared0 allows one or more LAMMPS +objects to be instantiated from the calling program. +

    +

    When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS namespace; you can safely use any of its classes and methods from -within the calling code, as needed.

    -

    When used from a C or Fortran program or a scripting language like +within the calling code, as needed. +

    +

    When used from a C or Fortran program or a scripting language like Python, the library has a simple function-style interface, provided in -src/library.cpp and src/library.h.

    -

    See the sample codes in examples/COUPLE/simple for examples of C++ and +src/library.cpp and src/library.h. +

    +

    See the sample codes in examples/COUPLE/simple for examples of C++ and C and Fortran codes that invoke LAMMPS thru its library interface. There are other examples as well in the COUPLE directory which are -discussed in Section_howto 10 of the -manual. See Section_python of the manual for a +discussed in Section_howto 10 of the +manual. See Section_python of the manual for a description of the Python wrapper provided with LAMMPS that operates -through the LAMMPS library interface.

    -

    The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See Section_howto 19 of the manual for a description of the -interface and how to extend it for your needs.

    -
    -
    -
    -
    -

    2.6. Running LAMMPS¶

    -

    By default, LAMMPS runs by reading commands from standard input. Thus -if you run the LAMMPS executable by itself, e.g.

    -
    lmp_linux
    -
    -
    -

    it will simply wait, expecting commands from the keyboard. Typically +through the LAMMPS library interface. +

    +

    The files src/library.cpp and library.h define the C-style API for +using LAMMPS as a library. See Section_howto +19 of the manual for a description of the +interface and how to extend it for your needs. +

    +
    + +

    2.6 Running LAMMPS +

    +

    By default, LAMMPS runs by reading commands from standard input. Thus +if you run the LAMMPS executable by itself, e.g. +

    +
    lmp_linux 
    +
    +

    it will simply wait, expecting commands from the keyboard. Typically you should put commands in an input script and use I/O redirection, -e.g.

    -
    lmp_linux < in.file
    -
    -
    -

    For parallel environments this should also work. If it does not, use -the ‘-in’ command-line switch, e.g.

    -
    lmp_linux -in in.file
    -
    -
    -

    This section describes how input scripts are -structured and what commands they contain.

    -

    You can test LAMMPS on any of the sample inputs provided in the +e.g. +

    +
    lmp_linux < in.file 
    +
    +

    For parallel environments this should also work. If it does not, use +the '-in' command-line switch, e.g. +

    +
    lmp_linux -in in.file 
    +
    +

    This section describes how input scripts are +structured and what commands they contain. +

    +

    You can test LAMMPS on any of the sample inputs provided in the examples or bench directory. Input scripts are named in.* and sample outputs are named log.*.name.P where name is a machine and P is the -number of processors it was run on.

    -

    Here is how you might run a standard Lennard-Jones benchmark on a -Linux box, using mpirun to launch a parallel job:

    -
    cd src
    +number of processors it was run on.
    +

    +

    Here is how you might run a standard Lennard-Jones benchmark on a +Linux box, using mpirun to launch a parallel job: +

    +
    cd src
     make linux
     cp lmp_linux ../bench
     cd ../bench
    -mpirun -np 4 lmp_linux < in.lj
    -
    -
    -

    See this page for timings for this and the other benchmarks on +mpirun -np 4 lmp_linux < in.lj + +

    See this page for timings for this and the other benchmarks on various platforms. Note that some of the example scripts require -LAMMPS to be built with one or more of its optional packages.

    -
    -

    On a Windows box, you can skip making LAMMPS and simply download an +LAMMPS to be built with one or more of its optional packages. +

    + + +
    + +

    On a Windows box, you can skip making LAMMPS and simply download an executable, as described above, though the pre-packaged executables -include only certain packages.

    -

    To run a LAMMPS executable on a Windows machine, first decide whether +include only certain packages. +

    +

    To run a LAMMPS executable on a Windows machine, first decide whether you want to download the non-MPI (serial) or the MPI (parallel) version of the executable. Download and save the version you have -chosen.

    -

    For the non-MPI version, follow these steps:

    -
      -
    • Get a command prompt by going to Start->Run... , -then typing “cmd”.
    • -
    • Move to the directory where you have saved lmp_win_no-mpi.exe -(e.g. by typing: cd “Documents”).
    • -
    • At the command prompt, type “lmp_win_no-mpi -in in.lj”, replacing in.lj -with the name of your LAMMPS input script.
    • -
    -

    For the MPI version, which allows you to run LAMMPS under Windows on -multiple processors, follow these steps:

    -
      -
    • Download and install -MPICH2 -for Windows.
    • -
    • You’ll need to use the mpiexec.exe and smpd.exe files from the MPICH2 +chosen. +

      +

      For the non-MPI version, follow these steps: +

      +
      • Get a command prompt by going to Start->Run... , +then typing "cmd". + +
      • Move to the directory where you have saved lmp_win_no-mpi.exe +(e.g. by typing: cd "Documents"). + +
      • At the command prompt, type "lmp_win_no-mpi -in in.lj", replacing in.lj +with the name of your LAMMPS input script. +
      +

      For the MPI version, which allows you to run LAMMPS under Windows on +multiple processors, follow these steps: +

      +
      • Download and install +MPICH2 +for Windows. + +
      • You'll need to use the mpiexec.exe and smpd.exe files from the MPICH2 package. Put them in same directory (or path) as the LAMMPS Windows -executable.
      • -
      • Get a command prompt by going to Start->Run... , -then typing “cmd”.
      • -
      • Move to the directory where you have saved lmp_win_mpi.exe -(e.g. by typing: cd “Documents”).
      • -
      • Then type something like this: “mpiexec -localonly 4 lmp_win_mpi -in -in.lj”, replacing in.lj with the name of your LAMMPS input script.
      • -
      • Note that you may need to provide smpd with a passphrase (it doesn’t -matter what you type).
      • -
      • In this mode, output may not immediately show up on the screen, so if +executable. + +
      • Get a command prompt by going to Start->Run... , +then typing "cmd". + +
      • Move to the directory where you have saved lmp_win_mpi.exe +(e.g. by typing: cd "Documents"). + +
      • Then type something like this: "mpiexec -localonly 4 lmp_win_mpi -in +in.lj", replacing in.lj with the name of your LAMMPS input script. + +
      • Note that you may need to provide smpd with a passphrase (it doesn't +matter what you type). + +
      • In this mode, output may not immediately show up on the screen, so if your input script takes a long time to execute, you may need to be patient before the output shows up. :l Alternatively, you can still use this executable to run on a single processor by typing something -like: “lmp_win_mpi -in in.lj”.
      • -
      -
      -

      The screen output from LAMMPS is described in the next section. As it -runs, LAMMPS also writes a log.lammps file with the same information.

      -

      Note that this sequence of commands copies the LAMMPS executable +like: "lmp_win_mpi -in in.lj". +

    +
    + +

    The screen output from LAMMPS is described in the next section. As it +runs, LAMMPS also writes a log.lammps file with the same information. +

    +

    Note that this sequence of commands copies the LAMMPS executable (lmp_linux) to the directory with the input files. This may not be necessary, but some versions of MPI reset the working directory to where the executable is, rather than leave it as the directory where you launch mpirun from (if you launch lmp_linux on its own and not under mpirun). If that happens, LAMMPS will look for additional input files and write its output files to the executable directory, rather -than your working directory, which is probably not what you want.

    -

    If LAMMPS encounters errors in the input script or while running a +than your working directory, which is probably not what you want. +

    +

    If LAMMPS encounters errors in the input script or while running a simulation it will print an ERROR message and stop or a WARNING -message and continue. See Section_errors for a -discussion of the various kinds of errors LAMMPS can or can’t detect, -a list of all ERROR and WARNING messages, and what to do about them.

    -

    LAMMPS can run a problem on any number of processors, including a +message and continue. See Section_errors for a +discussion of the various kinds of errors LAMMPS can or can't detect, +a list of all ERROR and WARNING messages, and what to do about them. +

    +

    LAMMPS can run a problem on any number of processors, including a single processor. In theory you should get identical answers on any number of processors and on any machine. In practice, numerical round-off can cause slight differences and eventual divergence of -molecular dynamics phase space trajectories.

    -

    LAMMPS can run as large a problem as will fit in the physical memory +molecular dynamics phase space trajectories. +

    +

    LAMMPS can run as large a problem as will fit in the physical memory of one or more processors. If you run out of memory, you must run on -more processors or setup a smaller problem.

    -
    -
    -
    -

    2.7. Command-line options¶

    -

    At run time, LAMMPS recognizes several optional command-line switches +more processors or setup a smaller problem. +

    +
    + +

    2.7 Command-line options +

    +

    At run time, LAMMPS recognizes several optional command-line switches which may be used in any order. Either the full word or a one-or-two -letter abbreviation can be used:

    -
      -
    • -c or -cuda
    • -
    • -e or -echo
    • -
    • -h or -help
    • -
    • -i or -in
    • -
    • -k or -kokkos
    • -
    • -l or -log
    • -
    • -nc or -nocite
    • -
    • -pk or -package
    • -
    • -p or -partition
    • -
    • -pl or -plog
    • -
    • -ps or -pscreen
    • -
    • -r or -restart
    • -
    • -ro or -reorder
    • -
    • -sc or -screen
    • -
    • -sf or -suffix
    • -
    • -v or -var
    • -
    -

    For example, lmp_ibm might be launched as follows:

    -
    mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none < in.alloy
    -mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy
    -
    -
    -

    Here are the details on the options:

    -
    -cuda on/off
    -
    -
    -

    Explicitly enable or disable CUDA support, as provided by the +letter abbreviation can be used: +

    +
    • -c or -cuda +
    • -e or -echo +
    • -h or -help +
    • -i or -in +
    • -k or -kokkos +
    • -l or -log +
    • -nc or -nocite +
    • -pk or -package +
    • -p or -partition +
    • -pl or -plog +
    • -ps or -pscreen +
    • -r or -restart +
    • -ro or -reorder +
    • -sc or -screen +
    • -sf or -suffix +
    • -v or -var +
    +

    For example, lmp_ibm might be launched as follows: +

    +
    mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none < in.alloy
    +mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy 
    +
    +

    Here are the details on the options: +

    +
    -cuda on/off 
    +
    +

    Explicitly enable or disable CUDA support, as provided by the USER-CUDA package. Even if LAMMPS is built with this package, as -described above in Section 2.3, this switch must be set to +described above in Section 2.3, this switch must be set to enable running with the CUDA-enabled styles the package provides. If the switch is not set (the default), LAMMPS will operate as if the USER-CUDA package were not installed; i.e. you can run standard LAMMPS -or with the GPU package, for testing or benchmarking purposes.

    -
    -echo style
    -
    -
    -

    Set the style of command echoing. The style can be none or screen -or log or both. Depending on the style, each command read from +or with the GPU package, for testing or benchmarking purposes. +

    +
    -echo style 
    +
    +

    Set the style of command echoing. The style can be none or screen +or log or both. Depending on the style, each command read from the input script will be echoed to the screen and/or logfile. This can be useful to figure out which line of your script is causing an -input error. The default value is log. The echo style can also be -set by using the echo command in the input script itself.

    -
    -help
    -
    -
    -

    Print a brief help summary and a list of options compiled into this +input error. The default value is log. The echo style can also be +set by using the echo command in the input script itself. +

    +
    -help 
    +
    +

    Print a brief help summary and a list of options compiled into this executable for each LAMMPS style (atom_style, fix, compute, pair_style, bond_style, etc). This can tell you if the command you want to use was included via the appropriate package at compile time. LAMMPS will print the info and immediately exit if this switch is -used.

    -
    -in file
    -
    -
    -

    Specify a file to use as an input script. This is an optional switch +used. +

    +
    -in file 
    +
    +

    Specify a file to use as an input script. This is an optional switch when running LAMMPS in one-partition mode. If it is not specified, LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should +via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should also work in parallel, but if it does not (in the unlikely case that an MPI implementation does not support it), then use the -in flag. Note that this is a required switch when running LAMMPS in multi-partition mode, since multiple processors cannot all read from -stdin.

    -
    -kokkos on/off keyword/value ...
    -
    -
    -

    Explicitly enable or disable KOKKOS support, as provided by the KOKKOS +stdin. +

    +
    -kokkos on/off keyword/value ... 
    +
    +

    Explicitly enable or disable KOKKOS support, as provided by the KOKKOS package. Even if LAMMPS is built with this package, as described -above in Section 2.3, this switch must be set to enable +above in Section 2.3, this switch must be set to enable running with the KOKKOS-enabled styles the package provides. If the switch is not set (the default), LAMMPS will operate as if the KOKKOS package were not installed; i.e. you can run standard LAMMPS or with the GPU or USER-CUDA or USER-OMP packages, for testing or benchmarking -purposes.

    -

    Additional optional keyword/value pairs can be specified which +purposes. +

    +

    Additional optional keyword/value pairs can be specified which determine how Kokkos will use the underlying hardware on your platform. These settings apply to each MPI task you launch via the -“mpirun” or “mpiexec” command. You may choose to run one or more MPI +"mpirun" or "mpiexec" command. You may choose to run one or more MPI tasks per physical node. Note that if you are running on a desktop machine, you typically have one physical node. On a cluster or -supercomputer there may be dozens or 1000s of physical nodes.

    -

    Either the full word or an abbreviation can be used for the keywords. +supercomputer there may be dozens or 1000s of physical nodes. +

    +

    Either the full word or an abbreviation can be used for the keywords. Note that the keywords do not use a leading minus sign. I.e. the -keyword is “t”, not “-t”. Also note that each of the keywords has a +keyword is "t", not "-t". Also note that each of the keywords has a default setting. Example of when to use these options and what -settings to use on different platforms is given in Section 5.8.

    -
      -
    • d or device
    • -
    • g or gpus
    • -
    • t or threads
    • -
    • n or numa
    • -
    -
    device Nd
    -
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you +settings to use on different platforms is given in Section +5.8. +

    +
    • d or device +
    • g or gpus +
    • t or threads +
    • n or numa +
    +
    device Nd 
    +
    +

    This option is only relevant if you built LAMMPS with CUDA=yes, you have more than one GPU per node, and if you are running with only one MPI task per node. The Nd setting is the ID of the GPU on the node to run on. By default Nd = 0. If you have multiple GPUs per node, they have consecutive IDs numbered as 0,1,2,etc. This setting allows you to launch multiple independent jobs on the node, each with a single -MPI task per node, and assign each job to run on a different GPU.

    -
    gpus Ng Ns
    -
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you +MPI task per node, and assign each job to run on a different GPU. +

    +
    gpus Ng Ns 
    +
    +

    This option is only relevant if you built LAMMPS with CUDA=yes, you have more than one GPU per node, and you are running with multiple MPI tasks per node (up to one per GPU). The Ng setting is how many GPUs you will use. The Ns setting is optional. If set, it is the ID of a GPU to skip when assigning MPI tasks to GPUs. This may be useful if your desktop system reserves one GPU to drive the screen and the rest 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

    -
    SLURM_LOCALID (various MPI variants compiled with SLURM support)
    +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 +

    +
    SLURM_LOCALID (various MPI variants compiled with SLURM support)
     MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
    -OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI)
    -
    -
    -

    which are initialized by the “srun”, “mpirun” or “mpiexec” commands. +OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) + +

    which are initialized by the "srun", "mpirun" or "mpiexec" commands. The environment variable setting for each MPI rank is used to assign a -unique GPU ID to the MPI task.

    -
    threads Nt
    -
    -
    -

    This option assigns Nt number of threads to each MPI task for +unique GPU ID to the MPI task. +

    +
    threads Nt 
    +
    +

    This option assigns Nt number of threads to each MPI task for performing work when Kokkos is executing in OpenMP or pthreads mode. The default is Nt = 1, which essentially runs in MPI-only mode. If there are Np MPI tasks per physical node, you generally want Np*Nt = the number of physical cores per node, to use your available hardware optimally. This also sets the number of threads used by the host when -LAMMPS is compiled with CUDA=yes.

    -
    numa Nm
    -
    -
    -

    This option is only relevant when using pthreads with hwloc support. +LAMMPS is compiled with CUDA=yes. +

    +
    numa Nm 
    +
    +

    This option is only relevant when using pthreads with hwloc support. In this case Nm defines the number of NUMA regions (typicaly sockets) on a node which will be utilizied by a single MPI rank. By default Nm = 1. If this option is used the total number of worker-threads per @@ -1448,46 +1445,47 @@ MPI rank is threads*numa. Currently it is always almost better to assign at least one MPI rank per NUMA region, and leave numa set to its default value of 1. This is because letting a single process span multiple NUMA regions induces a significant amount of cross NUMA data -traffic which is slow.

    -
    -log file
    -
    -
    -

    Specify a log file for LAMMPS to write status information to. In +traffic which is slow. +

    +
    -log file 
    +
    +

    Specify a log file for LAMMPS to write status information to. In one-partition mode, if the switch is not used, LAMMPS writes to the file log.lammps. If this switch is used, LAMMPS writes to the specified file. In multi-partition mode, if the switch is not used, a log.lammps file is created with hi-level status information. Each partition also writes to a log.lammps.N file where N is the partition ID. If the switch is specified in multi-partition mode, the hi-level -logfile is named “file” and each partition also logs information to a +logfile is named "file" and each partition also logs information to a file.N. For both one-partition and multi-partition mode, if the -specified file is “none”, then no log files are created. Using a -log command in the input script will override this setting. -Option -plog will override the name of the partition log files file.N.

    -
    -nocite
    -
    -
    -

    Disable writing the log.cite file which is normally written to list +specified file is "none", then no log files are created. Using a +log command in the input script will override this setting. +Option -plog will override the name of the partition log files file.N. +

    +
    -nocite 
    +
    +

    Disable writing the log.cite file which is normally written to list references for specific cite-able features used during a LAMMPS run. -See the citation page for more -details.

    -
    -package style args ....
    -
    -
    -

    Invoke the package command with style and args. The +See the citation page for more +details. +

    +
    -package style args .... 
    +
    +

    Invoke the package command with style and args. The syntax is the same as if the command appeared at the top of the input -script. For example “-package gpu 2” or “-pk gpu 2” is the same as -package gpu 2 in the input script. The possible styles -and args are documented on the package doc page. This +script. For example "-package gpu 2" or "-pk gpu 2" is the same as +package gpu 2 in the input script. The possible styles +and args are documented on the package doc page. This switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together.

    -

    Along with the “-suffix” command-line switch, this is a convenient +USER-INTEL and USER-OMP packages which can be used together. +

    +

    Along with the "-suffix" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without -having to edit an input script.

    -
    -partition 8x2 4 5 ...
    -
    -
    -

    Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P +having to edit an input script. +

    +
    -partition 8x2 4 5 ... 
    +
    +

    Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P processors and this switch is not used, LAMMPS runs in one partition, i.e. all P processors run a single simulation. If this switch is used, the P processors are split into separate partitions and each @@ -1496,21 +1494,23 @@ specify the number of processors in each partition. Arguments of the form MxN mean M partitions, each with N processors. Arguments of the form N mean a single partition with N processors. The sum of processors in all partitions must equal P. Thus the command -“-partition 8x2 4 5” has 10 partitions and runs on a total of 25 -processors.

    -

    Running with multiple partitions can e useful for running -multi-replica simulations, where each +"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 +processors. +

    +

    Running with multiple partitions can e useful for running +multi-replica simulations, where each replica runs on on one or a few processors. Note that with MPI installed on a machine (e.g. your desktop), you can run on more -(virtual) processors than you have physical processors.

    -

    To run multiple independent simulatoins from one input script, using -multiple partitions, see Section_howto 4 -of the manual. World- and universe-style variables -are useful in this context.

    -
    -plog file
    -
    -
    -

    Specify the base name for the partition log files, so partition N +(virtual) processors than you have physical processors. +

    +

    To run multiple independent simulatoins from one input script, using +multiple partitions, see Section_howto 4 +of the manual. World- and universe-style variables +are useful in this context. +

    +
    -plog file 
    +
    +

    Specify the base name for the partition log files, so partition N writes log information to file.N. If file is none, then no partition log files are created. This overrides the filename specified in the -log command-line option. This option is useful when working with @@ -1518,11 +1518,11 @@ large numbers of partitions, allowing the partition log files to be suppressed (-plog none) or placed in a sub-directory (-plog replica_files/log.lammps) If this option is not used the log file for partition N is log.lammps.N or whatever is specified by the -log -command-line option.

    -
    -pscreen file
    -
    -
    -

    Specify the base name for the partition screen file, so partition N +command-line option. +

    +
    -pscreen file 
    +
    +

    Specify the base name for the partition screen file, so partition N writes screen information to file.N. If file is none, then no partition screen files are created. This overrides the filename specified in the -screen command-line option. This option is useful @@ -1530,80 +1530,84 @@ when working with large numbers of partitions, allowing the partition screen files to be suppressed (-pscreen none) or placed in a sub-directory (-pscreen replica_files/screen). If this option is not used the screen file for partition N is screen.N or whatever is -specified by the -screen command-line option.

    -
    --restart restartfile remap datafile keyword value ...
    -
    -

    Convert the restart file into a data file and immediately exit. This +specified by the -screen command-line option. +

    +
    -restart restartfile remap datafile keyword value ... 
    +
    +

    Convert the restart file into a data file and immediately exit. This is the same operation as if the following 2-line input script were -run:

    -
    -read_restart restartfile remap
    -write_data datafile keyword value ...
    -
    -

    Note that the specified restartfile and datafile can have wild-card -characters (“*”,%”) as described by the -read_restart and write_data +run: +

    +
    read_restart restartfile remap
    +write_data datafile keyword value ... 
    +
    +

    Note that the specified restartfile and datafile can have wild-card +characters ("*",%") as described by the +read_restart and write_data commands. But a filename such as file.* will need to be enclosed in -quotes to avoid shell expansion of the “*” character.

    -

    Note that following restartfile, the optional flag remap can be +quotes to avoid shell expansion of the "*" character. +

    +

    Note that following restartfile, the optional flag remap can be used. This has the same effect as adding it to the -read_restart command, as explained on its doc +read_restart command, as explained on its doc page. This is only useful if the reading of the restart file triggers an error that atoms have been lost. In that case, use of the remap -flag should allow the data file to still be produced.

    -

    Also note that following datafile, the same optional keyword/value -pairs can be listed as used by the write_data -command.

    -
    -reorder nth N
    --reorder custom filename
    -
    -
    -

    Reorder the processors in the MPI communicator used to instantiate +flag should allow the data file to still be produced. +

    +

    Also note that following datafile, the same optional keyword/value +pairs can be listed as used by the write_data +command. +

    +
    -reorder nth N
    +-reorder custom filename 
    +
    +

    Reorder the processors in the MPI communicator used to instantiate LAMMPS, in one of several ways. The original MPI communicator ranks all P processors from 0 to P-1. The mapping of these ranks to physical processors is done by MPI before LAMMPS begins. It may be useful in some cases to alter the rank order. E.g. to insure that cores within each node are ranked in a desired order. Or when using -the run_style verlet/split command with 2 partitions +the run_style verlet/split command with 2 partitions to insure that a specific Kspace processor (in the 2nd partition) is matched up with a specific set of processors in the 1st partition. -See the Section_accelerate doc pages for -more details.

    -

    If the keyword nth is used with a setting N, then it means every +See the Section_accelerate doc pages for +more details. +

    +

    If the keyword nth is used with a setting N, then it means every Nth processor will be moved to the end of the ranking. This is useful -when using the run_style verlet/split command with 2 +when using the run_style verlet/split command with 2 partitions via the -partition command-line switch. The first set of processors will be in the first partition, the 2nd set in the 2nd partition. The -reorder command-line switch can alter this so that the 1st N procs in the 1st partition and one proc in the 2nd partition will be ordered consecutively, e.g. as the cores on one physical node. -This can boost performance. For example, if you use “-reorder nth 4” -and “-partition 9 3” and you are running on 12 processors, the -processors will be reordered from

    -
    0 1 2 3 4 5 6 7 8 9 10 11
    -
    -
    -

    to

    -
    0 1 2 4 5 6 8 9 10 3 7 11
    -
    -
    -

    so that the processors in each partition will be

    -
    0 1 2 4 5 6 8 9 10
    -3 7 11
    -
    -
    -

    See the “processors” command for how to insure processors from each -partition could then be grouped optimally for quad-core nodes.

    -

    If the keyword is custom, then a file that specifies a permutation +This can boost performance. For example, if you use "-reorder nth 4" +and "-partition 9 3" and you are running on 12 processors, the +processors will be reordered from +

    +
    0 1 2 3 4 5 6 7 8 9 10 11 
    +
    +

    to +

    +
    0 1 2 4 5 6 8 9 10 3 7 11 
    +
    +

    so that the processors in each partition will be +

    +
    0 1 2 4 5 6 8 9 10 
    +3 7 11 
    +
    +

    See the "processors" command for how to insure processors from each +partition could then be grouped optimally for quad-core nodes. +

    +

    If the keyword is custom, then a file that specifies a permutation of the processor ranks is also specified. The format of the reorder file is as follows. Any number of initial blank or comment lines -(starting with a “#” character) can be present. These should be -followed by P lines of the form:

    -
    I J
    -
    -
    -

    where P is the number of processors LAMMPS was launched with. Note +(starting with a "#" character) can be present. These should be +followed by P lines of the form: +

    +
    I J 
    +
    +

    where P is the number of processors LAMMPS was launched with. Note that if running in multi-partition mode (see the -partition switch above) P is the total number of processors in all partitions. The I and J values describe a permutation of the P processors. Every I and @@ -1611,108 +1615,121 @@ J should be values from 0 to P-1 inclusive. In the set of P I values, every proc ID should appear exactly once. Ditto for the set of P J values. A single I,J pairing means that the physical processor with rank I in the original MPI communicator will have rank J in the -reordered communicator.

    -

    Note that rank ordering can also be specified by many MPI +reordered communicator. +

    +

    Note that rank ordering can also be specified by many MPI implementations, either by environment variables that specify how to order physical processors, or by config files that specify what physical processors to assign to each MPI rank. The -reorder switch simply gives you a portable way to do this without relying on MPI -itself. See the processors out command for how to output +itself. See the processors out command for how to output info on the final assignment of physical processors to the LAMMPS -simulation domain.

    -
    -screen file
    -
    -
    -

    Specify a file for LAMMPS to write its screen information to. In +simulation domain. +

    +
    -screen file 
    +
    +

    Specify a file for LAMMPS to write its screen information to. In one-partition mode, if the switch is not used, LAMMPS writes to the screen. If this switch is used, LAMMPS writes to the specified file instead and you will see no screen output. In multi-partition mode, if the switch is not used, hi-level status information is written to the screen. Each partition also writes to a screen.N file where N is the partition ID. If the switch is specified in multi-partition mode, -the hi-level screen dump is named “file” and each partition also +the hi-level screen dump is named "file" and each partition also writes screen information to a file.N. For both one-partition and -multi-partition mode, if the specified file is “none”, then no screen +multi-partition mode, if the specified file is "none", then no screen output is performed. Option -pscreen will override the name of the -partition screen files file.N.

    -
    -suffix style
    -
    -
    -

    Use variants of various styles if they exist. The specified style can -be cuda, gpu, intel, kk, omp, or opt. These refer to +partition screen files file.N. +

    +
    -suffix style 
    +
    +

    Use variants of various styles if they exist. The specified style can +be cuda, gpu, intel, kk, omp, or opt. These refer to optional packages that LAMMPS can be built with, as described above in -Section 2.3. The “cuda” style corresponds to the USER-CUDA -package, the “gpu” style to the GPU package, the “intel” style to the -USER-INTEL package, the “kk” style to the KOKKOS package, the “opt” -style to the OPT package, and the “omp” style to the USER-OMP package.

    -

    Along with the “-package” command-line switch, this is a convenient +Section 2.3. The "cuda" style corresponds to the USER-CUDA +package, the "gpu" style to the GPU package, the "intel" style to the +USER-INTEL package, the "kk" style to the KOKKOS package, the "opt" +style to the OPT package, and the "omp" style to the USER-OMP package. +

    +

    Along with the "-package" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without -having to edit an input script.

    -

    As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/cuda, +having to edit an input script. +

    +

    As an example, all of the packages provide a pair_style +lj/cut variant, with style names lj/cut/cuda, lj/cut/gpu, lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the -suffix switch is used the specified suffix (cuda,gpu,intel,kk,omp,opt) is automatically appended whenever your input script command creates a new -atom, pair, fix, -compute, or run style. If the variant -version does not exist, the standard version is created.

    -

    For the GPU package, using this command-line switch also invokes the -default GPU settings, as if the command “package gpu 1” were used at +atom, pair, fix, +compute, or run style. If the variant +version does not exist, the standard version is created. +

    +

    For the GPU package, using this command-line switch also invokes the +default GPU settings, as if the command "package gpu 1" were used at the top of your input script. These settings can be changed by using -the “-package gpu” command-line switch or the package gpu command in your script.

    -

    For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command “package -intel 1” were used at the top of your input script. These settings -can be changed by using the “-package intel” command-line switch or -the package intel command in your script. If the +the "-package gpu" command-line switch or the package +gpu command in your script. +

    +

    For the USER-INTEL package, using this command-line switch also +invokes the default USER-INTEL settings, as if the command "package +intel 1" were used at the top of your input script. These settings +can be changed by using the "-package intel" command-line switch or +the package intel command in your script. If the USER-OMP package is also installed, the intel suffix will make the omp suffix a second choice, if a requested style is not available in the USER-INTEL package. It will also invoke the default USER-OMP -settings, as if the command “package omp 0” were used at the top of +settings, as if the command "package omp 0" were used at the top of your input script. These settings can be changed by using the -“-package omp” command-line switch or the package omp -command in your script.

    -

    For the KOKKOS package, using this command-line switch also invokes -the default KOKKOS settings, as if the command “package kokkos” were +"-package omp" command-line switch or the package omp +command in your script. +

    +

    For the KOKKOS package, using this command-line switch also invokes +the default KOKKOS settings, as if the command "package kokkos" were used at the top of your input script. These settings can be changed -by using the “-package kokkos” command-line switch or the package kokkos command in your script.

    -

    For the OMP package, using this command-line switch also invokes the -default OMP settings, as if the command “package omp 0” were used at +by using the "-package kokkos" command-line switch or the package +kokkos command in your script. +

    +

    For the OMP package, using this command-line switch also invokes the +default OMP settings, as if the command "package omp 0" were used at the top of your input script. These settings can be changed by using -the “-package omp” command-line switch or the package omp command in your script.

    -

    The suffix command can also be used within an input +the "-package omp" command-line switch or the package +omp command in your script. +

    +

    The suffix command can also be used within an input script to set a suffix, or to turn off or back on any suffix setting -made via the command line.

    -
    -var name value1 value2 ...
    -
    -
    -

    Specify a variable that will be defined for substitution purposes when +made via the command line. +

    +
    -var name value1 value2 ... 
    +
    +

    Specify a variable that will be defined for substitution purposes when the input script is read. This switch can be used multiple times to -define multiple variables. “Name” is the variable name which can be a +define multiple variables. "Name" is the variable name which can be a single character (referenced as $x in the input script) or a full -string (referenced as ${abc}). An index-style variable will be created and populated with the +string (referenced as ${abc}). An index-style +variable will be created and populated with the subsequent values, e.g. a set of filenames. Using this command-line -option is equivalent to putting the line “variable name index value1 -value2 ...” at the beginning of the input script. Defining an index +option is equivalent to putting the line "variable name index value1 +value2 ..." at the beginning of the input script. Defining an index variable as a command-line argument overrides any setting for the same index variable in the input script, since index variables cannot be -re-defined. See the variable command for more info on -defining index and other kinds of variables and this section for more info on using variables -in input scripts.

    -
    -

    Note

    -

    Currently, the command-line parser looks for arguments that -start with “-” to indicate new switches. Thus you cannot specify -multiple variable values if any of they start with a “-”, e.g. a +re-defined. See the variable command for more info on +defining index and other kinds of variables and this +section for more info on using variables +in input scripts. +

    +

    NOTE: Currently, the command-line parser looks for arguments that +start with "-" to indicate new switches. Thus you cannot specify +multiple variable values if any of they start with a "-", e.g. a negative numeric value. It is OK if the first value1 starts with a -“-”, since it is automatically skipped.

    -
    -
    -
    -
    -

    2.8. LAMMPS screen output¶

    -

    As LAMMPS reads an input script, it prints information to both the +"-", since it is automatically skipped. +

    +
    + +

    2.8 LAMMPS screen output +

    +

    As LAMMPS reads an input script, it prints information to both the screen and a log file about significant actions it takes to setup a simulation. When the simulation is ready to begin, LAMMPS performs various initializations and prints the amount of memory (in MBytes per @@ -1722,80 +1739,80 @@ thermodynamic information is printed periodically, every few timesteps. When the run concludes, LAMMPS prints the final thermodynamic state and a total run time for the simulation. It then appends statistics about the CPU time and storage requirements for the -simulation. An example set of statistics is shown here:

    -
    Loop time of 49.002 on 2 procs for 2004 atoms
    -
    -
    -
    Pair   time (%) = 35.0495 (71.5267)
    +simulation.  An example set of statistics is shown here:
    +

    +
    Loop time of 49.002 on 2 procs for 2004 atoms 
    +
    +
    Pair   time (%) = 35.0495 (71.5267)
     Bond   time (%) = 0.092046 (0.187841)
     Kspce  time (%) = 6.42073 (13.103)
     Neigh  time (%) = 2.73485 (5.5811)
     Comm   time (%) = 1.50291 (3.06703)
     Outpt  time (%) = 0.013799 (0.0281601)
    -Other  time (%) = 2.13669 (4.36041)
    -
    -
    -
    Nlocal:    1002 ave, 1015 max, 989 min
    +Other  time (%) = 2.13669 (4.36041) 
    +
    +
    Nlocal:    1002 ave, 1015 max, 989 min
    +Histogram: 1 0 0 0 0 0 0 0 0 1 
    +Nghost:    8720 ave, 8724 max, 8716 min 
     Histogram: 1 0 0 0 0 0 0 0 0 1
    -Nghost:    8720 ave, 8724 max, 8716 min
    -Histogram: 1 0 0 0 0 0 0 0 0 1
    -Neighs:    354141 ave, 361422 max, 346860 min
    -Histogram: 1 0 0 0 0 0 0 0 0 1
    -
    -
    -
    Total # of neighbors = 708282
    +Neighs:    354141 ave, 361422 max, 346860 min 
    +Histogram: 1 0 0 0 0 0 0 0 0 1 
    +
    +
    Total # of neighbors = 708282
     Ave neighs/atom = 353.434
     Ave special neighs/atom = 2.34032
     Number of reneighborings = 42
    -Dangerous reneighborings = 2
    -
    -
    -

    The first section gives the breakdown of the CPU run time (in seconds) +Dangerous reneighborings = 2 + +

    The first section gives the breakdown of the CPU run time (in seconds) into major categories. The second section lists the number of owned atoms (Nlocal), ghost atoms (Nghost), and pair-wise neighbors stored per processor. The max and min values give the spread of these values across processors with a 10-bin histogram showing the distribution. The total number of histogram counts is equal to the number of -processors.

    -

    The last section gives aggregate statistics for pair-wise neighbors +processors. +

    +

    The last section gives aggregate statistics for pair-wise neighbors and special neighbors that LAMMPS keeps track of (see the -special_bonds command). The number of times +special_bonds command). The number of times neighbor lists were rebuilt during the run is given as well as the -number of potentially “dangerous” rebuilds. If atom movement +number of potentially "dangerous" rebuilds. If atom movement triggered neighbor list rebuilding (see the -neigh_modify command), then dangerous +neigh_modify command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild -takes place.

    -

    If an energy minimization was performed via the -minimize command, additional information is printed, -e.g.

    -
    Minimization stats:
    +takes place.
    +

    +

    If an energy minimization was performed via the +minimize command, additional information is printed, +e.g. +

    +
    Minimization stats:
       E initial, next-to-last, final = -0.895962 -2.94193 -2.94342
       Gradient 2-norm init/final= 1920.78 20.9992
       Gradient inf-norm init/final= 304.283 9.61216
       Iterations = 36
    -  Force evaluations = 177
    -
    -
    -

    The first line lists the initial and final energy, as well as the + Force evaluations = 177 + +

    The first line lists the initial and final energy, as well as the energy on the next-to-last iteration. The next 2 lines give a measure of the gradient of the energy (force on all atoms). The 2-norm is the -“length” of this force vector; the inf-norm is the largest component. +"length" of this force vector; the inf-norm is the largest component. The last 2 lines are statistics on how many iterations and force-evaluations the minimizer required. Multiple force evaluations are typically done at each iteration to perform a 1d line minimization -in the search direction.

    -

    If a kspace_style long-range Coulombics solve was +in the search direction. +

    +

    If a kspace_style long-range Coulombics solve was performed during the run (PPPM, Ewald), then additional information is -printed, e.g.

    -
    FFT time (% of Kspce) = 0.200313 (8.34477)
    -FFT Gflps 3d 1d-only = 2.31074 9.19989
    -
    -
    -

    The first line gives the time spent doing 3d FFTs (4 per timestep) and +printed, e.g. +

    +
    FFT time (% of Kspce) = 0.200313 (8.34477)
    +FFT Gflps 3d 1d-only = 2.31074 9.19989 
    +
    +

    The first line gives the time spent doing 3d FFTs (4 per timestep) and the fraction it represents of the total KSpace time (listed above). Each 3d FFT requires computation (3 sets of 1d FFTs) and communication (transposes). The total flops performed is 5Nlog_2(N), where N is the @@ -1803,111 +1820,45 @@ number of points in the 3d grid. The FFTs are timed with and without the communication and a Gflop rate is computed. The 3d rate is with communication; the 1d rate is without (just the 1d FFTs). Thus you can estimate what fraction of your FFT time was spent in -communication, roughly 75% in the example above.

    -
    -
    -
    -

    2.9. Tips for users of previous LAMMPS versions¶

    -

    The current C++ began with a complete rewrite of LAMMPS 2001, which +communication, roughly 75% in the example above. +

    +
    + +

    2.9 Tips for users of previous LAMMPS versions +

    +

    The current C++ began with a complete rewrite of LAMMPS 2001, which was written in F90. Features of earlier versions of LAMMPS are listed -in Section_history. The F90 and F77 versions +in Section_history. The F90 and F77 versions (2001 and 99) are also freely distributed as open-source codes; check -the LAMMPS WWW Site for distribution information if you prefer +the LAMMPS WWW Site for distribution information if you prefer those versions. The 99 and 2001 versions are no longer under active -development; they do not have all the features of C++ LAMMPS.

    -

    If you are a previous user of LAMMPS 2001, these are the most -significant changes you will notice in C++ LAMMPS:

    -

    (1) The names and arguments of many input script commands have +development; they do not have all the features of C++ LAMMPS. +

    +

    If you are a previous user of LAMMPS 2001, these are the most +significant changes you will notice in C++ LAMMPS: +

    +

    (1) The names and arguments of many input script commands have changed. All commands are now a single word (e.g. read_data instead -of read data).

    -

    (2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, -but you may need to specify the relevant commands in different ways.

    -

    (3) The format of the data file can be streamlined for some problems. -See the read_data command for details. The data file -section “Nonbond Coeff” has been renamed to “Pair Coeff” in C++ LAMMPS.

    -

    (4) Binary restart files written by LAMMPS 2001 cannot be read by C++ -LAMMPS with a read_restart command. This is +of read data). +

    +

    (2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, +but you may need to specify the relevant commands in different ways. +

    +

    (3) The format of the data file can be streamlined for some problems. +See the read_data command for details. The data file +section "Nonbond Coeff" has been renamed to "Pair Coeff" in C++ LAMMPS. +

    +

    (4) Binary restart files written by LAMMPS 2001 cannot be read by C++ +LAMMPS with a read_restart command. This is because they were output by F90 which writes in a different binary -format than C or C++ writes or reads. Use the restart2data tool +format than C or C++ writes or reads. Use the restart2data tool provided with LAMMPS 2001 to convert the 2001 restart file to a text data file. Then edit the data file as necessary before using the C++ -LAMMPS read_data command to read it in.

    -

    (5) There are numerous small numerical changes in C++ LAMMPS that mean +LAMMPS read_data command to read it in. +

    +

    (5) There are numerous small numerical changes in C++ LAMMPS that mean you will not get identical answers when comparing to a 2001 run. However, your initial thermodynamic energy and MD trajectory should be -close if you have setup the problem for both codes the same.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +close if you have setup the problem for both codes the same. +

    + diff --git a/doc/Section_tools.html b/doc/Section_tools.html index 519baa9db4..a68a6138c7 100644 --- a/doc/Section_tools.html +++ b/doc/Section_tools.html @@ -1,707 +1,572 @@ + +
    Previous Section - LAMMPS WWW Site - LAMMPS +Documentation - LAMMPS Commands - Next +Section +
    - - - - - - - - - 9. Additional tools — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    9. Additional tools¶

    -

    LAMMPS is designed to be a computational kernel for performing + + +


    + +

    9. Additional tools +

    +

    LAMMPS is designed to be a computational kernel for performing molecular dynamics computations. Additional pre- and post-processing steps are often necessary to setup and analyze a simulation. A few additional tools are provided with the LAMMPS distribution and are -described in this section.

    -

    Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, +described in this section. +

    +

    Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the Pizza.py WWW site.

    -

    Note that many users write their own setup or analysis tools or use +written in Python and is available for download from the +Pizza.py WWW site. +

    + + + + +

    Note that many users write their own setup or analysis tools or use other existing codes and convert their output to a LAMMPS input format or vice versa. The tools listed here are included in the LAMMPS distribution as examples of auxiliary tools. Some of them are not actively supported by Sandia, as they were contributed by LAMMPS users. If you have problems using them, we can direct you to the -authors.

    -

    The source code for each of these codes is in the tools sub-directory +authors. +

    +

    The source code for each of these codes is in the tools sub-directory of the LAMMPS distribution. There is a Makefile (which you may need to edit for your platform) which will build several of the tools which reside in that directory. Some of them are larger packages in their -own sub-directories with their own Makefiles.

    - -
    -
    -

    9.1. amber2lmp tool¶

    -

    The amber2lmp sub-directory contains two Python scripts for converting +own sub-directories with their own Makefiles. +

    + +
    + +

    amber2lmp tool +

    +

    The amber2lmp sub-directory contains two Python scripts for converting files back-and-forth between the AMBER MD code and LAMMPS. See the -README file in amber2lmp for more information.

    -

    These tools were written by Keir Novik while he was at Queen Mary +README file in amber2lmp for more information. +

    +

    These tools were written by Keir Novik while he was at Queen Mary University of London. Keir is no longer there and cannot support these tools which are out-of-date with respect to the current LAMMPS -version (and maybe with respect to AMBER as well). Since we don’t use -these tools at Sandia, you’ll need to experiment with them and make -necessary modifications yourself.

    -
    -
    -
    -

    9.2. binary2txt tool¶

    -

    The file binary2txt.cpp converts one or more binary LAMMPS dump file -into ASCII text files. The syntax for running the tool is

    -
    binary2txt file1 file2 ...
    -
    -
    -

    which creates file1.txt, file2.txt, etc. This tool must be compiled +version (and maybe with respect to AMBER as well). Since we don't use +these tools at Sandia, you'll need to experiment with them and make +necessary modifications yourself. +

    +
    + +

    binary2txt tool +

    +

    The file binary2txt.cpp converts one or more binary LAMMPS dump file +into ASCII text files. The syntax for running the tool is +

    +
    binary2txt file1 file2 ... 
    +
    +

    which creates file1.txt, file2.txt, etc. This tool must be compiled on a platform that can read the binary file created by a LAMMPS run, -since binary files are not compatible across all platforms.

    -
    -
    -
    -

    9.3. ch2lmp tool¶

    -

    The ch2lmp sub-directory contains tools for converting files -back-and-forth between the CHARMM MD code and LAMMPS.

    -

    They are intended to make it easy to use CHARMM as a builder and as a +since binary files are not compatible across all platforms. +

    +
    + +

    ch2lmp tool +

    +

    The ch2lmp sub-directory contains tools for converting files +back-and-forth between the CHARMM MD code and LAMMPS. +

    +

    They are intended to make it easy to use CHARMM as a builder and as a post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an ensemble built in CHARMM into its LAMMPS equivalent. Using -lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files.

    -

    See the README file in the ch2lmp sub-directory for more information.

    -

    These tools were created by Pieter in’t Veld (pjintve at sandia.gov) -and Paul Crozier (pscrozi at sandia.gov) at Sandia.

    -
    -
    -
    -

    9.4. chain tool¶

    -

    The file chain.f creates a LAMMPS data file containing bead-spring +lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files. +

    +

    See the README file in the ch2lmp sub-directory for more information. +

    +

    These tools were created by Pieter in't Veld (pjintve at sandia.gov) +and Paul Crozier (pscrozi at sandia.gov) at Sandia. +

    +
    + +

    chain tool +

    +

    The file chain.f creates a LAMMPS data file containing bead-spring polymer chains and/or monomer solvent atoms. It uses a text file containing chain definition parameters as an input. The created chains and solvent atoms can strongly overlap, so LAMMPS needs to run -the system initially with a “soft” pair potential to un-overlap it. -The syntax for running the tool is

    -
    chain < def.chain > data.file
    -
    -
    -

    See the def.chain or def.chain.ab files in the tools directory for +the system initially with a "soft" pair potential to un-overlap it. +The syntax for running the tool is +

    +
    chain < def.chain > data.file 
    +
    +

    See the def.chain or def.chain.ab files in the tools directory for examples of definition files. This tool was used to create the -system for the chain benchmark.

    -
    -
    -
    -

    9.5. colvars tools¶

    -

    The colvars directory contains a collection of tools for postprocessing +system for the chain benchmark. +

    +
    + +

    colvars tools +

    +

    The colvars directory contains a collection of tools for postprocessing data produced by the colvars collective variable library. -To compile the tools, edit the makefile for your system and run “make”.

    -

    Please report problems and issues the colvars library and its tools -at: https://github.com/colvars/colvars/issues

    -

    abf_integrate:

    -

    MC-based integration of multidimensional free energy gradient -Version 20110511

    -
    Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >]
    -
    -
    -

    The LAMMPS interface to the colvars collective variable library, as +To compile the tools, edit the makefile for your system and run "make". +

    +

    Please report problems and issues the colvars library and its tools +at: https://github.com/colvars/colvars/issues +

    +

    abf_integrate: +

    +

    MC-based integration of multidimensional free energy gradient +Version 20110511 +

    +
    Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] 
    +
    +

    The LAMMPS interface to the colvars collective variable library, as well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy.

    -
    -
    -
    -

    9.6. createatoms tool¶

    -

    The tools/createatoms directory contains a Fortran program called +gmail.com) at ICTP, Italy. +

    +
    + +

    createatoms tool +

    +

    The tools/createatoms directory contains a Fortran program called createAtoms.f which can generate a variety of interesting crystal structures and geometries and output the resulting list of atom -coordinates in LAMMPS or other formats.

    -

    See the included Manual.pdf for details.

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.

    -
    -
    -
    -

    9.7. data2xmovie tool¶

    -

    The file data2xmovie.c converts a LAMMPS data file into a snapshot -suitable for visualizing with the xmovie tool, as if it had +coordinates in LAMMPS or other formats. +

    +

    See the included Manual.pdf for details. +

    +

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. +

    +
    + +

    data2xmovie tool +

    +

    The file data2xmovie.c converts a LAMMPS data file into a snapshot +suitable for visualizing with the xmovie tool, as if it had been output with a dump command from LAMMPS itself. The syntax for -running the tool is

    -
    data2xmovie [options] < infile > outfile
    -
    -
    -

    See the top of the data2xmovie.c file for a discussion of the options.

    -
    -
    -
    -

    9.8. eam database tool¶

    -

    The tools/eam_database directory contains a Fortran program that will +running the tool is +

    +
    data2xmovie [options] < infile > outfile 
    +
    +

    See the top of the data2xmovie.c file for a discussion of the options. +

    +
    + +

    eam database tool +

    +

    The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the pair_style eam/alloy command.

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, -and is based on his paper:

    -

    X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, -144113 (2004).

    -
    -
    -
    -

    9.9. eam generate tool¶

    -

    The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated embedded atom method (EAM) setfl potential file. The potentials they +Zr. The files can then be used with the pair_style +eam/alloy command. +

    +

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, +and is based on his paper: +

    +

    X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, +144113 (2004). +

    +
    + +

    eam generate tool +

    +

    The tools/eam_generate directory contains several one-file C programs +that convert an analytic formula into a tabulated embedded atom +method (EAM) setfl potential file. The potentials they produce are in the potentials directory, and can be used with the -pair_style eam/alloy command.

    -

    The source files and potentials were provided by Gerolf Ziegenhain -(gerolf at ziegenhain.com).

    -
    -
    -
    -

    9.10. eff tool¶

    -

    The tools/eff directory contains various scripts for generating +pair_style eam/alloy command. +

    +

    The source files and potentials were provided by Gerolf Ziegenhain +(gerolf at ziegenhain.com). +

    +
    + +

    eff tool +

    +

    The tools/eff directory contains various scripts for generating structures and post-processing output for simulations using the -electron force field (eFF).

    -

    These tools were provided by Andres Jaramillo-Botero at CalTech -(ajaramil at wag.caltech.edu).

    -
    -
    -
    -

    9.11. emacs tool¶

    -

    The tools/emacs directory contains a Lips add-on file for Emacs that +electron force field (eFF). +

    +

    These tools were provided by Andres Jaramillo-Botero at CalTech +(ajaramil at wag.caltech.edu). +

    +
    + +

    emacs tool +

    +

    The tools/emacs directory contains a Lips add-on file for Emacs that enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup.

    -

    These tools were provided by Aidan Thompson at Sandia -(athomps at sandia.gov).

    -
    -
    -
    -

    9.12. fep tool¶

    -

    The tools/fep directory contains Python scripts useful for +with various highlighting options setup. +

    +

    These tools were provided by Aidan Thompson at Sandia +(athomps at sandia.gov). +

    +
    + +

    fep tool +

    +

    The tools/fep directory contains Python scripts useful for post-processing results from performing free-energy perturbation -simulations using the USER-FEP package.

    -

    The scripts were contributed by Agilio Padua (Universite Blaise -Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr.

    -

    See README file in the tools/fep directory.

    -
    -
    -
    -

    9.13. i-pi tool¶

    -

    The tools/i-pi directory contains a version of the i-PI package, with +simulations using the USER-FEP package. +

    +

    The scripts were contributed by Agilio Padua (Universite Blaise +Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. +

    +

    See README file in the tools/fep directory. +

    +
    + +

    i-pi tool +

    +

    The tools/i-pi directory contains a version of the i-PI package, with all the LAMMPS-unrelated files removed. It is provided so that it can -be used with the fix ipi command to perform -path-integral molecular dynamics (PIMD).

    -

    The i-PI package was created and is maintained by Michele Ceriotti, +be used with the fix ipi command to perform +path-integral molecular dynamics (PIMD). +

    +

    The i-PI package was created and is maintained by Michele Ceriotti, michele.ceriotti at gmail.com, to interface to a variety of molecular -dynamics codes.

    -

    See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -fix ipi doc page for further details on running PIMD -calculations with LAMMPS.

    -
    -
    -
    -

    9.14. ipp tool¶

    -

    The tools/ipp directory contains a Perl script ipp which can be used +dynamics codes. +

    +

    See the tools/i-pi/manual.pdf file for an overview of i-PI, and the +fix ipi doc page for further details on running PIMD +calculations with LAMMPS. +

    +
    + +

    ipp tool +

    +

    The tools/ipp directory contains a Perl script ipp which can be used to facilitate the creation of a complicated file (say, a lammps input -script or tools/createatoms input file) using a template file.

    -

    ipp was created and is maintained by Reese Jones (Sandia), rjones at -sandia.gov.

    -

    See two examples in the tools/ipp directory. One of them is for the -tools/createatoms tool’s input file.

    -
    -
    -
    -

    9.15. kate tool¶

    -

    The file in the tools/kate directory is an add-on to the Kate editor +script or tools/createatoms input file) using a template file. +

    +

    ipp was created and is maintained by Reese Jones (Sandia), rjones at +sandia.gov. +

    +

    See two examples in the tools/ipp directory. One of them is for the +tools/createatoms tool's input file. +

    +
    + +

    kate tool +

    +

    The file in the tools/kate directory is an add-on to the Kate editor in the KDE suite that allow syntax highlighting of LAMMPS input -scripts. See the README.txt file for details.

    -

    The file was provided by Alessandro Luigi Sellerio -(alessandro.sellerio at ieni.cnr.it).

    -
    -
    -
    -

    9.16. lmp2arc tool¶

    -

    The lmp2arc sub-directory contains a tool for converting LAMMPS output -files to the format for Accelrys’ Insight MD code (formerly +scripts. See the README.txt file for details. +

    +

    The file was provided by Alessandro Luigi Sellerio +(alessandro.sellerio at ieni.cnr.it). +

    +
    + +

    lmp2arc tool +

    +

    The lmp2arc sub-directory contains a tool for converting LAMMPS output +files to the format for Accelrys' Insight MD code (formerly MSI/Biosym and its Discover MD code). See the README file for more -information.

    -

    This tool was written by John Carpenter (Cray), Michael Peachey +information. +

    +

    This tool was written by John Carpenter (Cray), Michael Peachey (Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool.

    -

    This tool was updated for the current LAMMPS C++ version by Jeff -Greathouse at Sandia (jagreat at sandia.gov).

    -
    -
    -
    -

    9.17. lmp2cfg tool¶

    -

    The lmp2cfg sub-directory contains a tool for converting LAMMPS output -files into a series of *.cfg files which can be read into the -AtomEye visualizer. See -the README file for more information.

    -

    This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).

    -
    -
    -
    -

    9.18. lmp2vmd tool¶

    -

    The lmp2vmd sub-directory contains a README.txt file that describes -details of scripts and plugin support within the VMD package for visualizing LAMMPS -dump files.

    -

    The VMD plugins and other supporting scripts were written by Axel -Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.

    -
    -
    -
    -

    9.19. matlab tool¶

    -

    The matlab sub-directory contains several MATLAB scripts for +(jec at mayo.edu), but still fields questions about the tool. +

    +

    This tool was updated for the current LAMMPS C++ version by Jeff +Greathouse at Sandia (jagreat at sandia.gov). +

    +
    + +

    lmp2cfg tool +

    +

    The lmp2cfg sub-directory contains a tool for converting LAMMPS output +files into a series of *.cfg files which can be read into the +AtomEye visualizer. See +the README file for more information. +

    +

    This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). +

    +
    + +

    lmp2vmd tool +

    +

    The lmp2vmd sub-directory contains a README.txt file that describes +details of scripts and plugin support within the VMD +package for visualizing LAMMPS +dump files. +

    +

    The VMD plugins and other supporting scripts were written by Axel +Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn. +

    +
    + +

    matlab tool +

    +

    The matlab sub-directory contains several MATLAB scripts for post-processing LAMMPS output. The scripts include readers for log and dump files, a reader for EAM potential files, and a converter that reads LAMMPS dump files and produces CFG files that can be visualized -with the AtomEye -visualizer.

    -

    See the README.pdf file for more information.

    -

    These scripts were written by Arun Subramaniyan at Purdue Univ -(asubrama at purdue.edu).

    -
    -
    -
    -

    9.20. micelle2d tool¶

    -

    The file micelle2d.f creates a LAMMPS data file containing short lipid +with the AtomEye +visualizer. +

    +

    See the README.pdf file for more information. +

    +

    These scripts were written by Arun Subramaniyan at Purdue Univ +(asubrama at purdue.edu). +

    + + +
    + +

    micelle2d tool +

    +

    The file micelle2d.f creates a LAMMPS data file containing short lipid chains in a monomer solution. It uses a text file containing lipid definition parameters as an input. The created molecules and solvent atoms can strongly overlap, so LAMMPS needs to run the system -initially with a “soft” pair potential to un-overlap it. The syntax -for running the tool is

    -
    micelle2d < def.micelle2d > data.file
    -
    -
    -

    See the def.micelle2d file in the tools directory for an example of a +initially with a "soft" pair potential to un-overlap it. The syntax +for running the tool is +

    +
    micelle2d < def.micelle2d > data.file 
    +
    +

    See the def.micelle2d file in the tools directory for an example of a definition file. This tool was used to create the system for the -micelle example.

    -
    -
    -
    -

    9.21. moltemplate tool¶

    -

    The moltemplate sub-directory contains a Python-based tool for +micelle example. +

    +
    + +

    moltemplate tool +

    +

    The moltemplate sub-directory contains a Python-based tool for building molecular systems based on a text-file description, and creating LAMMPS data files that encode their molecular topology as lists of bonds, angles, dihedrals, etc. See the README.TXT file for -more information.

    -

    This tool was written by Andrew Jewett (jewett.aij at gmail.com), who +more information. +

    +

    This tool was written by Andrew Jewett (jewett.aij at gmail.com), who supports it. It has its own WWW page at -http://moltemplate.org.

    -
    -
    -
    -

    9.22. msi2lmp tool¶

    -

    The msi2lmp sub-directory contains a tool for creating LAMMPS input -data files from Accelrys’ Insight MD code (formerly MSI/Biosym and -its Discover MD code). See the README file for more information.

    -

    This tool was written by John Carpenter (Cray), Michael Peachey +http://moltemplate.org. +

    +
    + +

    msi2lmp tool +

    +

    The msi2lmp sub-directory contains a tool for creating LAMMPS input +data files from Accelrys' Insight MD code (formerly MSI/Biosym and +its Discover MD code). See the README file for more information. +

    +

    This tool was written by John Carpenter (Cray), Michael Peachey (Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool.

    -

    This tool may be out-of-date with respect to the current LAMMPS and -Insight versions. Since we don’t use it at Sandia, you’ll need to -experiment with it yourself.

    -
    -
    -
    -

    9.23. phonon tool¶

    -

    The phonon sub-directory contains a post-processing tool useful for -analyzing the output of the fix phonon command in -the USER-PHONON package.

    -

    See the README file for instruction on building the tool and what +(jec at mayo.edu), but still fields questions about the tool. +

    +

    This tool may be out-of-date with respect to the current LAMMPS and +Insight versions. Since we don't use it at Sandia, you'll need to +experiment with it yourself. +

    +
    + +

    phonon tool +

    +

    The phonon sub-directory contains a post-processing tool useful for +analyzing the output of the fix phonon command in +the USER-PHONON package. +

    +

    See the README file for instruction on building the tool and what library it needs. And see the examples/USER/phonon directory -for example problems that can be post-processed with this tool.

    -

    This tool was written by Ling-Ti Kong at Shanghai Jiao Tong -University.

    -
    -
    -
    -

    9.24. polymer bonding tool¶

    -

    The polybond sub-directory contains a Python-based tool useful for -performing “programmable polymer bonding”. The Python file -lmpsdata.py provides a “Lmpsdata” class with various methods which can +for example problems that can be post-processed with this tool. +

    +

    This tool was written by Ling-Ti Kong at Shanghai Jiao Tong +University. +

    +
    + +

    polymer bonding tool +

    +

    The polybond sub-directory contains a Python-based tool useful for +performing "programmable polymer bonding". The Python file +lmpsdata.py provides a "Lmpsdata" class with various methods which can be invoked by a user-written Python script to create data files with -complex bonding topologies.

    -

    See the Manual.pdf for details and example scripts.

    -

    This tool was written by Zachary Kraus at Georgia Tech.

    -
    -
    -
    -

    9.25. pymol_asphere tool¶

    -

    The pymol_asphere sub-directory contains a tool for converting a +complex bonding topologies. +

    +

    See the Manual.pdf for details and example scripts. +

    +

    This tool was written by Zachary Kraus at Georgia Tech. +

    +
    + +

    pymol_asphere tool +

    +

    The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal -particles into an input file for the PyMol visualization package.

    -

    Specifically, the tool triangulates the ellipsoids so they can be +particles into an input file for the PyMol visualization +package. +

    + + +

    Specifically, the tool triangulates the ellipsoids so they can be viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol_asphere for more information.

    -

    This tool was written by Mike Brown at Sandia.

    -
    -
    -
    -

    9.26. python tool¶

    -

    The python sub-directory contains several Python scripts -that perform common LAMMPS post-processing tasks, such as:

    -
      -
    • extract thermodynamic info from a log file as columns of numbers
    • -
    • plot two columns of thermodynamic info from a log file using GnuPlot
    • -
    • sort the snapshots in a dump file by atom ID
    • -
    • convert multiple NEB dump files into one dump file for viz
    • -
    • convert dump files into XYZ, CFG, or PDB format for viz by other packages
    • -
    -

    These are simple scripts built on Pizza.py modules. See the -README for more info on Pizza.py and how to use these scripts.

    -
    -
    -
    -

    9.27. reax tool¶

    -

    The reax sub-directory contains stand-alond codes that can -post-process the output of the fix reax/bonds -command from a LAMMPS simulation using ReaxFF. See -the README.txt file for more info.

    -

    These tools were written by Aidan Thompson at Sandia.

    -
    -
    -
    -

    9.28. restart2data tool¶

    -
    -

    Warning

    -

    This tool is now obsolete and is not included in the +examples directory within pymol_asphere for more information. +

    +

    This tool was written by Mike Brown at Sandia. +

    +
    + +

    python tool +

    +

    The python sub-directory contains several Python scripts +that perform common LAMMPS post-processing tasks, such as: +

    +
    • extract thermodynamic info from a log file as columns of numbers +
    • plot two columns of thermodynamic info from a log file using GnuPlot +
    • sort the snapshots in a dump file by atom ID +
    • convert multiple NEB dump files into one dump file for viz +
    • convert dump files into XYZ, CFG, or PDB format for viz by other packages +
    +

    These are simple scripts built on Pizza.py modules. See the +README for more info on Pizza.py and how to use these scripts. +

    +
    + +

    reax tool +

    +

    The reax sub-directory contains stand-alond codes that can +post-process the output of the fix reax/bonds +command from a LAMMPS simulation using ReaxFF. See +the README.txt file for more info. +

    +

    These tools were written by Aidan Thompson at Sandia. +

    +
    + +

    restart2data tool +

    +

    IMPORTANT NOTE: This tool is now obsolete and is not included in the current LAMMPS distribution. This is becaues there is now a -write_data command, which can create a data file -from within an input script. Running LAMMPS with the “-r” -command-line switch as follows:

    -
    -

    lmp_g++ -r restartfile datafile

    -

    is the same as running a 2-line input script:

    -

    read_restart restartfile -write_data datafile

    -

    which will produce the same data file that the restart2data tool used +write_data command, which can create a data file +from within an input script. Running LAMMPS with the "-r" +command-line switch as follows: +

    +

    lmp_g++ -r restartfile datafile +

    +

    is the same as running a 2-line input script: +

    +

    read_restart restartfile +write_data datafile +

    +

    which will produce the same data file that the restart2data tool used to create. The following information is included in case you have an -older version of LAMMPS which still includes the restart2data tool.

    -

    The file restart2data.cpp converts a binary LAMMPS restart file into -an ASCII data file. The syntax for running the tool is

    -
    restart2data restart-file data-file (input-file)
    -
    -
    -

    Input-file is optional and if specified will contain LAMMPS input +older version of LAMMPS which still includes the restart2data tool. +

    +

    The file restart2data.cpp converts a binary LAMMPS restart file into +an ASCII data file. The syntax for running the tool is +

    +
    restart2data restart-file data-file (input-file) 
    +
    +

    Input-file is optional and if specified will contain LAMMPS input commands for the masses and force field parameters, instead of putting those in the data-file. Only a few force field styles currently -support this option.

    -

    This tool must be compiled on a platform that can read the binary file +support this option. +

    +

    This tool must be compiled on a platform that can read the binary file created by a LAMMPS run, since binary files are not compatible across -all platforms.

    -

    Note that a text data file has less precision than a binary restart +all platforms. +

    +

    Note that a text data file has less precision than a binary restart file. Hence, continuing a run from a converted data file will typically not conform as closely to a previous run as will restarting -from a binary restart file.

    -

    If a “%” appears in the specified restart-file, the tool expects a set -of multiple files to exist. See the restart and -write_restart commands for info on how such sets -of files are written by LAMMPS, and how the files are named.

    -
    -
    -
    -

    9.29. vim tool¶

    -

    The files in the tools/vim directory are add-ons to the VIM editor +from a binary restart file. +

    +

    If a "%" appears in the specified restart-file, the tool expects a set +of multiple files to exist. See the restart and +write_restart commands for info on how such sets +of files are written by LAMMPS, and how the files are named. +

    +
    + +

    vim tool +

    +

    The files in the tools/vim directory are add-ons to the VIM editor that allow easier editing of LAMMPS input scripts. See the README.txt -file for details.

    -

    These files were provided by Gerolf Ziegenhain (gerolf at -ziegenhain.com)

    -
    -
    -
    -

    9.30. xmgrace tool¶

    -

    The files in the tools/xmgrace directory can be used to plot the +file for details. +

    +

    These files were provided by Gerolf Ziegenhain (gerolf at +ziegenhain.com) +

    +
    + +

    xmgrace tool +

    +

    The files in the tools/xmgrace directory can be used to plot the thermodynamic data in LAMMPS log files via the xmgrace plotting package. There are several tools in the directory that can be used in post-processing mode. The lammpsplot.cpp file can be compiled and used to create plots from the current state of a running LAMMPS -simulation.

    -

    See the README file for details.

    -

    These files were provided by Vikas Varshney (vv0210 at gmail.com)

    -
    -
    -
    -

    9.31. xmovie tool¶

    -

    The xmovie tool is an X-based visualization package that can read +simulation. +

    +

    See the README file for details. +

    +

    These files were provided by Vikas Varshney (vv0210 at gmail.com) +

    +
    + +

    xmovie tool +

    +

    The xmovie tool is an X-based visualization package that can read LAMMPS dump files and animate them. It is in its own sub-directory with the tools directory. You may need to modify its Makefile so that -it can find the appropriate X libraries to link against.

    -

    The syntax for running xmovie is

    -
    xmovie [options] dump.file1 dump.file2 ...
    -
    -
    -

    If you just type “xmovie” you will see a list of options. Note that +it can find the appropriate X libraries to link against. +

    +

    The syntax for running xmovie is +

    +
    xmovie [options] dump.file1 dump.file2 ... 
    +
    +

    If you just type "xmovie" you will see a list of options. Note that by default, LAMMPS dump files are in scaled coordinates, so you typically need to use the -scale option with xmovie. When xmovie runs it opens a visualization window and a control window. The control -options are straightforward to use.

    -

    Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he +options are straightforward to use. +

    +

    Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he spent a summer at Sandia. It displays 2d projections of a 3d domain. While simple in design, it is an amazingly fast program that can -render large numbers of atoms very quickly. It’s a useful tool for +render large numbers of atoms very quickly. It's a useful tool for debugging LAMMPS input and output and making sure your simulation is doing what you think it should. The animations on the Examples page -of the LAMMPS WWW site were created with xmovie.

    -

    I’ve lost contact with Mike, so I hope he’s comfortable with us -distributing his great tool!

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +of the LAMMPS WWW site were created with xmovie. +

    +

    I've lost contact with Mike, so I hope he's comfortable with us +distributing his great tool! +

    + diff --git a/doc/accelerate_cuda.html b/doc/accelerate_cuda.html index f1d45f0937..b8c6ecbab8 100644 --- a/doc/accelerate_cuda.html +++ b/doc/accelerate_cuda.html @@ -1,372 +1,228 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.USER-CUDA package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.USER-CUDA package¶

    -

    The USER-CUDA package was developed by Christian Trott (Sandia) while + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.1 USER-CUDA package +

    +

    The USER-CUDA package was developed by Christian Trott (Sandia) while at U Technology Ilmenau in Germany. It provides NVIDIA GPU versions of many pair styles, many fixes, a few computes, and for long-range Coulombics via the PPPM command. It has the following general -features:

    -
      -
    • The package is designed to allow an entire LAMMPS calculation, for +features: +

      +
      • The package is designed to allow an entire LAMMPS calculation, for many timesteps, to run entirely on the GPU (except for inter-processor MPI communication), so that atom-based data (e.g. coordinates, forces) -do not have to move back-and-forth between the CPU and GPU.
      • -
      • The speed-up advantage of this approach is typically better when the -number of atoms per GPU is large
      • -
      • Data will stay on the GPU until a timestep where a non-USER-CUDA fix +do not have to move back-and-forth between the CPU and GPU. + +
      • The speed-up advantage of this approach is typically better when the +number of atoms per GPU is large + +
      • Data will stay on the GPU until a timestep where a non-USER-CUDA fix or compute is invoked. Whenever a non-GPU operation occurs (fix, compute, output), data automatically moves back to the CPU as needed. This may incur a performance penalty, but should otherwise work -transparently.
      • -
      • Neighbor lists are constructed on the GPU.
      • -
      • The package only supports use of a single MPI task, running on a -single CPU (core), assigned to each GPU.
      • -
      -

      Here is a quick overview of how to use the USER-CUDA package:

      -
        -
      • build the library in lib/cuda for your GPU hardware with desired precision
      • -
      • include the USER-CUDA package and build LAMMPS
      • -
      • use the mpirun command to specify 1 MPI task per GPU (on each node)
      • -
      • enable the USER-CUDA package via the “-c on” command-line switch
      • -
      • specify the # of GPUs per node
      • -
      • use USER-CUDA styles in your input script
      • -
      -

      The latter two steps can be done using the “-pk cuda” and “-sf cuda” -command-line switches respectively. Or -the effect of the “-pk” or “-sf” switches can be duplicated by adding -the package cuda or suffix cuda commands -respectively to your input script.

      -

      Required hardware/software:

      -

      To use this package, you need to have one or more NVIDIA GPUs and -install the NVIDIA Cuda software on your system:

      -

      Your NVIDIA GPU needs to support Compute Capability 1.3. This list may -help you to find out the Compute Capability of your card:

      -

      http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units

      -

      Install the Nvidia Cuda Toolkit (version 3.2 or higher) and the +transparently. + +

    • Neighbor lists are constructed on the GPU. + +
    • The package only supports use of a single MPI task, running on a +single CPU (core), assigned to each GPU. +
    +

    Here is a quick overview of how to use the USER-CUDA package: +

    +
    • build the library in lib/cuda for your GPU hardware with desired precision +
    • include the USER-CUDA package and build LAMMPS +
    • use the mpirun command to specify 1 MPI task per GPU (on each node) +
    • enable the USER-CUDA package via the "-c on" command-line switch +
    • specify the # of GPUs per node +
    • use USER-CUDA styles in your input script +
    +

    The latter two steps can be done using the "-pk cuda" and "-sf cuda" +command-line switches respectively. Or +the effect of the "-pk" or "-sf" switches can be duplicated by adding +the package cuda or suffix cuda commands +respectively to your input script. +

    +

    Required hardware/software: +

    +

    To use this package, you need to have one or more NVIDIA GPUs and +install the NVIDIA Cuda software on your system: +

    +

    Your NVIDIA GPU needs to support Compute Capability 1.3. This list may +help you to find out the Compute Capability of your card: +

    +

    http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units +

    +

    Install the Nvidia Cuda Toolkit (version 3.2 or higher) and the corresponding GPU drivers. The Nvidia Cuda SDK is not required, but we recommend it also be installed. You can then make sure its sample -projects can be compiled without problems.

    -

    Building LAMMPS with the USER-CUDA package:

    -

    This requires two steps (a,b): build the USER-CUDA library, then build -LAMMPS with the USER-CUDA package.

    -

    You can do both these steps in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type “Make.py -h” for help. If run from the src directory, this +projects can be compiled without problems. +

    +

    Building LAMMPS with the USER-CUDA package: +

    +

    This requires two steps (a,b): build the USER-CUDA library, then build +LAMMPS with the USER-CUDA package. +

    +

    You can do both these steps in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type "Make.py -h" for help. If run from the src directory, this command will create src/lmp_cuda using src/MAKE/Makefile.mpi as the -starting Makefile.machine:

    -
    Make.py -p cuda -cuda mode=single arch=20 -o cuda lib-cuda file mpi
    -
    -
    -

    Or you can follow these two (a,b) steps:

    -
      -
    1. Build the USER-CUDA library
    2. -
    -

    The USER-CUDA library is in lammps/lib/cuda. If your CUDA toolkit -is not installed in the default system directoy /usr/local/cuda edit -the file lib/cuda/Makefile.common accordingly.

    -

    To build the library with the settings in lib/cuda/Makefile.default, -simply type:

    -
    make
    -
    -
    -

    To set options when the library is built, type “make OPTIONS”, where -OPTIONS are one or more of the following. The settings will be -written to the lib/cuda/Makefile.defaults before the build.

    -
    -precision=N to set the precision level
    +starting Makefile.machine:
    +

    +
    Make.py -p cuda -cuda mode=single arch=20 -o cuda lib-cuda file mpi 
    +
    +

    Or you can follow these two (a,b) steps: +

    +

    (a) Build the USER-CUDA library +

    +

    The USER-CUDA library is in lammps/lib/cuda. If your CUDA toolkit +is not installed in the default system directoy /usr/local/cuda edit +the file lib/cuda/Makefile.common accordingly. +

    +

    To build the library with the settings in lib/cuda/Makefile.default, +simply type: +

    +
    make 
    +
    +

    To set options when the library is built, type "make OPTIONS", where +OPTIONS are one or more of the following. The settings will be +written to the lib/cuda/Makefile.defaults before the build. +

    +
    precision=N to set the precision level
       N = 1 for single precision (default)
       N = 2 for double precision
       N = 3 for positions in double precision
       N = 4 for positions and velocities in double precision
    -arch=M to set GPU compute capability
    +arch=M to set GPU compute capability
       M = 35 for Kepler GPUs
       M = 20 for CC2.0 (GF100/110, e.g. C2050,GTX580,GTX470) (default)
       M = 21 for CC2.1 (GF104/114,  e.g. GTX560, GTX460, GTX450)
       M = 13 for CC1.3 (GF200, e.g. C1060, GTX285)
    -prec_timer=0/1 to use hi-precision timers
    +prec_timer=0/1 to use hi-precision timers
       0 = do not use them (default)
       1 = use them
    -  this is usually only useful for Mac machines
    -dbg=0/1 to activate debug mode
    +  this is usually only useful for Mac machines 
    +dbg=0/1 to activate debug mode
       0 = no debug mode (default)
       1 = yes debug mode
       this is only useful for developers
    -cufft=1 for use of the CUDA FFT library
    +cufft=1 for use of the CUDA FFT library
       0 = no CUFFT support (default)
    -  in the future other CUDA-enabled FFT libraries might be supported
    -
    -

    If the build is successful, it will produce the files liblammpscuda.a and -Makefile.lammps.

    -

    Note that if you change any of the options (like precision), you need -to re-build the entire library. Do a “make clean” first, followed by -“make”.

    -
      -
    1. Build LAMMPS with the USER-CUDA package
    2. -
    -
    cd lammps/src
    +  in the future other CUDA-enabled FFT libraries might be supported 
    +
    +

    If the build is successful, it will produce the files liblammpscuda.a and +Makefile.lammps. +

    +

    Note that if you change any of the options (like precision), you need +to re-build the entire library. Do a "make clean" first, followed by +"make". +

    +

    (b) Build LAMMPS with the USER-CUDA package +

    +
    cd lammps/src
     make yes-user-cuda
    -make machine
    -
    -
    -

    No additional compile/link flags are needed in Makefile.machine.

    -

    Note that if you change the USER-CUDA library precision (discussed +make machine +

    +

    No additional compile/link flags are needed in Makefile.machine. +

    +

    Note that if you change the USER-CUDA library precision (discussed above) and rebuild the USER-CUDA library, then you also need to re-install the USER-CUDA package and re-build LAMMPS, so that all affected files are re-compiled and linked to the new USER-CUDA -library.

    -

    Run with the USER-CUDA package from the command line:

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +library. +

    +

    Run with the USER-CUDA package from the command line: +

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    -

    When using the USER-CUDA package, you must use exactly one MPI task -per physical GPU.

    -

    You must use the “-c on” command-line switch to enable the USER-CUDA package. -The “-c on” switch also issues a default package cuda 1 +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. +

    +

    When using the USER-CUDA package, you must use exactly one MPI task +per physical GPU. +

    +

    You must use the "-c on" command-line +switch to enable the USER-CUDA package. +The "-c on" switch also issues a default package cuda 1 command which sets various USER-CUDA options to default values, as -discussed on the package command doc page.

    -

    Use the “-sf cuda” command-line switch, -which will automatically append “cuda” to styles that support it. Use -the “-pk cuda Ng” command-line switch to +discussed on the package command doc page. +

    +

    Use the "-sf cuda" command-line switch, +which will automatically append "cuda" to styles that support it. Use +the "-pk cuda Ng" command-line switch to set Ng = # of GPUs per node to a different value than the default set -by the “-c on” switch (1 GPU) or change other package cuda options.

    -
    lmp_machine -c on -sf cuda -pk cuda 1 -in in.script                       # 1 MPI task uses 1 GPU
    +by the "-c on" switch (1 GPU) or change other package
    +cuda options.
    +

    +
    lmp_machine -c on -sf cuda -pk cuda 1 -in in.script                       # 1 MPI task uses 1 GPU
     mpirun -np 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script          # 2 MPI tasks use 2 GPUs on a single 16-core (or whatever) node
    -mpirun -np 24 -ppn 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script  # ditto on 12 16-core nodes
    -
    -
    -

    The syntax for the “-pk” switch is the same as same as the “package -cuda” command. See the package command doc page for +mpirun -np 24 -ppn 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script # ditto on 12 16-core nodes + +

    The syntax for the "-pk" switch is the same as same as the "package +cuda" command. See the package command doc page for details, including the default values used for all its options if it -is not specified.

    -

    Note that the default for the package cuda command is -to set the Newton flag to “off” for both pairwise and bonded +is not specified. +

    +

    Note that the default for the package cuda command is +to set the Newton flag to "off" for both pairwise and bonded interactions. This typically gives fastest performance. If the -newton command is used in the input script, it can -override these defaults.

    -

    Or run with the USER-CUDA package by editing an input script:

    -

    The discussion above for the mpirun/mpiexec command and the requirement -of one MPI task per GPU is the same.

    -

    You must still use the “-c on” command-line switch to enable the USER-CUDA package.

    -

    Use the suffix cuda command, or you can explicitly add a -“cuda” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/cuda 2.5
    -
    -
    -

    You only need to use the package cuda command if you +newton command is used in the input script, it can +override these defaults. +

    +

    Or run with the USER-CUDA package by editing an input script: +

    +

    The discussion above for the mpirun/mpiexec command and the requirement +of one MPI task per GPU is the same. +

    +

    You must still use the "-c on" command-line +switch to enable the USER-CUDA package. +

    +

    Use the suffix cuda command, or you can explicitly add a +"cuda" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/cuda 2.5 
    +
    +

    You only need to use the package cuda command if you wish to change any of its option defaults, including the number of -GPUs/node (default = 1), as set by the “-c on” command-line switch.

    -

    Speed-ups to expect:

    -

    The performance of a GPU versus a multi-core CPU is a function of your +GPUs/node (default = 1), as set by the "-c on" command-line +switch. +

    +

    Speed-ups to expect: +

    +

    The performance of a GPU versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed).

    -

    See the Benchmark page of the +precision used on the GPU (double, single, mixed). +

    +

    See the Benchmark page of the LAMMPS web site for performance of the USER-CUDA package on different -hardware.

    -

    Guidelines for best performance:

    -
      -
    • The USER-CUDA package offers more speed-up relative to CPU performance +hardware. +

      +

      Guidelines for best performance: +

      +
      • The USER-CUDA package offers more speed-up relative to CPU performance when the number of atoms per GPU is large, e.g. on the order of tens -or hundreds of 1000s.
      • -
      • As noted above, this package will continue to run a simulation +or hundreds of 1000s. + +
      • As noted above, this package will continue to run a simulation entirely on the GPU(s) (except for inter-processor MPI communication), for multiple timesteps, until a CPU calculation is required, either by a fix or compute that is non-GPU-ized, or until output is performed (thermo or dump snapshot or restart file). The less often this -occurs, the faster your simulation will run.
      • -
      -
      -

      Restrictions¶

      -

      None.

      -
      -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +occurs, the faster your simulation will run. + +

    Restrictions: +

    +

    None. +

    + diff --git a/doc/accelerate_gpu.html b/doc/accelerate_gpu.html index 95edb9fd70..fcf563e175 100644 --- a/doc/accelerate_gpu.html +++ b/doc/accelerate_gpu.html @@ -1,401 +1,257 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.GPU package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.GPU package¶

    -

    The GPU package was developed by Mike Brown at ORNL and his + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.2 GPU package +

    +

    The GPU package was developed by Mike Brown at ORNL and his collaborators, particularly Trung Nguyen (ORNL). It provides GPU versions of many pair styles, including the 3-body Stillinger-Weber -pair style, and for kspace_style pppm for -long-range Coulombics. It has the following general features:

    -
      -
    • It is designed to exploit common GPU hardware configurations where one +pair style, and for kspace_style pppm for +long-range Coulombics. It has the following general features: +

      +
      • It is designed to exploit common GPU hardware configurations where one or more GPUs are coupled to many cores of one or more multi-core CPUs, -e.g. within a node of a parallel machine.
      • -
      • Atom-based data (e.g. coordinates, forces) moves back-and-forth -between the CPU(s) and GPU every timestep.
      • -
      • Neighbor lists can be built on the CPU or on the GPU
      • -
      • The charge assignement and force interpolation portions of PPPM can be +e.g. within a node of a parallel machine. + +
      • Atom-based data (e.g. coordinates, forces) moves back-and-forth +between the CPU(s) and GPU every timestep. + +
      • Neighbor lists can be built on the CPU or on the GPU + +
      • The charge assignement and force interpolation portions of PPPM can be run on the GPU. The FFT portion, which requires MPI communication -between processors, runs on the CPU.
      • -
      • Asynchronous force computations can be performed simultaneously on the -CPU(s) and GPU.
      • -
      • It allows for GPU computations to be performed in single or double +between processors, runs on the CPU. + +
      • Asynchronous force computations can be performed simultaneously on the +CPU(s) and GPU. + +
      • It allows for GPU computations to be performed in single or double precision, or in mixed-mode precision, where pairwise forces are computed in single precision, but accumulated into double-precision -force vectors.
      • -
      • LAMMPS-specific code is in the GPU package. It makes calls to a +force vectors. + +
      • LAMMPS-specific code is in the GPU package. It makes calls to a generic GPU library in the lib/gpu directory. This library provides NVIDIA support as well as more general OpenCL support, so that the same functionality can eventually be supported on a variety of GPU -hardware.
      • -
      -

      Here is a quick overview of how to use the GPU package:

      -
        -
      • build the library in lib/gpu for your GPU hardware wity desired precision
      • -
      • include the GPU package and build LAMMPS
      • -
      • use the mpirun command to set the number of MPI tasks/node which determines the number of MPI tasks/GPU
      • -
      • specify the # of GPUs per node
      • -
      • use GPU styles in your input script
      • -
      -

      The latter two steps can be done using the “-pk gpu” and “-sf gpu” -command-line switches respectively. Or -the effect of the “-pk” or “-sf” switches can be duplicated by adding -the package gpu or suffix gpu commands -respectively to your input script.

      -

      Required hardware/software:

      -

      To use this package, you currently need to have an NVIDIA GPU and -install the NVIDIA Cuda software on your system:

      -
        -
      • Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/0/information
      • -
      • Go to http://www.nvidia.com/object/cuda_get.html
      • -
      • Install a driver and toolkit appropriate for your system (SDK is not necessary)
      • -
      • Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties
      • -
      -

      Building LAMMPS with the GPU package:

      -

      This requires two steps (a,b): build the GPU library, then build -LAMMPS with the GPU package.

      -

      You can do both these steps in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type “Make.py -h” for help. If run from the src directory, this +hardware. +

    +

    Here is a quick overview of how to use the GPU package: +

    +
    • build the library in lib/gpu for your GPU hardware wity desired precision +
    • include the GPU package and build LAMMPS +
    • use the mpirun command to set the number of MPI tasks/node which determines the number of MPI tasks/GPU +
    • specify the # of GPUs per node +
    • use GPU styles in your input script +
    +

    The latter two steps can be done using the "-pk gpu" and "-sf gpu" +command-line switches respectively. Or +the effect of the "-pk" or "-sf" switches can be duplicated by adding +the package gpu or suffix gpu commands +respectively to your input script. +

    +

    Required hardware/software: +

    +

    To use this package, you currently need to have an NVIDIA GPU and +install the NVIDIA Cuda software on your system: +

    +
    • Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/0/information +
    • Go to http://www.nvidia.com/object/cuda_get.html +
    • Install a driver and toolkit appropriate for your system (SDK is not necessary) +
    • Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties +
    +

    Building LAMMPS with the GPU package: +

    +

    This requires two steps (a,b): build the GPU library, then build +LAMMPS with the GPU package. +

    +

    You can do both these steps in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type "Make.py -h" for help. If run from the src directory, this command will create src/lmp_gpu using src/MAKE/Makefile.mpi as the -starting Makefile.machine:

    -
    Make.py -p gpu -gpu mode=single arch=31 -o gpu lib-gpu file mpi
    -
    -
    -

    Or you can follow these two (a,b) steps:

    -
      -
    1. Build the GPU library
    2. -
    -

    The GPU library is in lammps/lib/gpu. Select a Makefile.machine (in +starting Makefile.machine: +

    +
    Make.py -p gpu -gpu mode=single arch=31 -o gpu lib-gpu file mpi 
    +
    +

    Or you can follow these two (a,b) steps: +

    +

    (a) Build the GPU library +

    +

    The GPU library is in lammps/lib/gpu. Select a Makefile.machine (in lib/gpu) appropriate for your system. You should pay special -attention to 3 settings in this makefile.

    -
      -
    • CUDA_HOME = needs to be where NVIDIA Cuda software is installed on your system
    • -
    • CUDA_ARCH = needs to be appropriate to your GPUs
    • -
    • CUDA_PREC = precision (double, mixed, single) you desire
    • -
    -

    See lib/gpu/Makefile.linux.double for examples of the ARCH settings +attention to 3 settings in this makefile. +

    +
    • CUDA_HOME = needs to be where NVIDIA Cuda software is installed on your system +
    • CUDA_ARCH = needs to be appropriate to your GPUs +
    • CUDA_PREC = precision (double, mixed, single) you desire +
    +

    See lib/gpu/Makefile.linux.double for examples of the ARCH settings for different GPU choices, e.g. Fermi vs Kepler. It also lists the -possible precision settings:

    -
    CUDA_PREC = -D_SINGLE_SINGLE  # single precision for all calculations
    -CUDA_PREC = -D_DOUBLE_DOUBLE  # double precision for all calculations
    -CUDA_PREC = -D_SINGLE_DOUBLE  # accumulation of forces, etc, in double
    -
    -
    -

    The last setting is the mixed mode referred to above. Note that your +possible precision settings: +

    +
    CUDA_PREC = -D_SINGLE_SINGLE  # single precision for all calculations
    +CUDA_PREC = -D_DOUBLE_DOUBLE  # double precision for all calculations
    +CUDA_PREC = -D_SINGLE_DOUBLE  # accumulation of forces, etc, in double 
    +
    +

    The last setting is the mixed mode referred to above. Note that your GPU must support double precision to use either the 2nd or 3rd of -these settings.

    -

    To build the library, type:

    -
    make -f Makefile.machine
    -
    -
    -

    If successful, it will produce the files libgpu.a and Makefile.lammps.

    -

    The latter file has 3 settings that need to be appropriate for the +these settings. +

    +

    To build the library, type: +

    +
    make -f Makefile.machine 
    +
    +

    If successful, it will produce the files libgpu.a and Makefile.lammps. +

    +

    The latter file has 3 settings that need to be appropriate for the paths and settings for the CUDA system software on your machine. Makefile.lammps is a copy of the file specified by the EXTRAMAKE setting in Makefile.machine. You can change EXTRAMAKE or create your -own Makefile.lammps.machine if needed.

    -

    Note that to change the precision of the GPU library, you need to -re-build the entire library. Do a “clean” first, e.g. “make -f -Makefile.linux clean”, followed by the make command above.

    -
      -
    1. Build LAMMPS with the GPU package
    2. -
    -
    cd lammps/src
    +own Makefile.lammps.machine if needed.
    +

    +

    Note that to change the precision of the GPU library, you need to +re-build the entire library. Do a "clean" first, e.g. "make -f +Makefile.linux clean", followed by the make command above. +

    +

    (b) Build LAMMPS with the GPU package +

    +
    cd lammps/src
     make yes-gpu
    -make machine
    -
    -
    -

    No additional compile/link flags are needed in Makefile.machine.

    -

    Note that if you change the GPU library precision (discussed above) +make machine + +

    No additional compile/link flags are needed in Makefile.machine. +

    +

    Note that if you change the GPU library precision (discussed above) and rebuild the GPU library, then you also need to re-install the GPU package and re-build LAMMPS, so that all affected files are -re-compiled and linked to the new GPU library.

    -

    Run with the GPU package from the command line:

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +re-compiled and linked to the new GPU library. +

    +

    Run with the GPU package from the command line: +

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    -

    When using the GPU package, you cannot assign more than one GPU to a +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. +

    +

    When using the GPU package, you cannot assign more than one GPU to a single MPI task. However multiple MPI tasks can share the same GPU, and in many cases it will be more efficient to run this way. Likewise it may be more efficient to use less MPI tasks/node than the available # of CPU cores. Assignment of multiple MPI tasks to a GPU will happen automatically if you create more MPI tasks/node than there are GPUs/mode. E.g. with 8 MPI tasks/node and 2 GPUs, each GPU will be -shared by 4 MPI tasks.

    -

    Use the “-sf gpu” command-line switch, -which will automatically append “gpu” to styles that support it. Use -the “-pk gpu Ng” command-line switch to -set Ng = # of GPUs/node to use.

    -
    lmp_machine -sf gpu -pk gpu 1 -in in.script                         # 1 MPI task uses 1 GPU
    +shared by 4 MPI tasks.
    +

    +

    Use the "-sf gpu" command-line switch, +which will automatically append "gpu" to styles that support it. Use +the "-pk gpu Ng" command-line switch to +set Ng = # of GPUs/node to use. +

    +
    lmp_machine -sf gpu -pk gpu 1 -in in.script                         # 1 MPI task uses 1 GPU
     mpirun -np 12 lmp_machine -sf gpu -pk gpu 2 -in in.script           # 12 MPI tasks share 2 GPUs on a single 16-core (or whatever) node
    -mpirun -np 48 -ppn 12 lmp_machine -sf gpu -pk gpu 2 -in in.script   # ditto on 4 16-core nodes
    -
    -
    -

    Note that if the “-sf gpu” switch is used, it also issues a default -package gpu 1 command, which sets the number of -GPUs/node to 1.

    -

    Using the “-pk” switch explicitly allows for setting of the number of +mpirun -np 48 -ppn 12 lmp_machine -sf gpu -pk gpu 2 -in in.script # ditto on 4 16-core nodes + +

    Note that if the "-sf gpu" switch is used, it also issues a default +package gpu 1 command, which sets the number of +GPUs/node to 1. +

    +

    Using the "-pk" switch explicitly allows for setting of the number of GPUs/node to use and additional options. Its syntax is the same as -same as the “package gpu” command. See the package +same as the "package gpu" command. See the package command doc page for details, including the default values used for -all its options if it is not specified.

    -

    Note that the default for the package gpu command is to -set the Newton flag to “off” pairwise interactions. It does not -affect the setting for bonded interactions (LAMMPS default is “on”). -The “off” setting for pairwise interaction is currently required for -GPU package pair styles.

    -

    Or run with the GPU package by editing an input script:

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and use of multiple MPI tasks/GPU is the same.

    -

    Use the suffix gpu command, or you can explicitly add an -“gpu” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/gpu 2.5
    -
    -
    -

    You must also use the package gpu command to enable the -GPU package, unless the “-sf gpu” or “-pk gpu” command-line switches were used. It specifies the -number of GPUs/node to use, as well as other options.

    -

    Speed-ups to expect:

    -

    The performance of a GPU versus a multi-core CPU is a function of your +all its options if it is not specified. +

    +

    Note that the default for the package gpu command is to +set the Newton flag to "off" pairwise interactions. It does not +affect the setting for bonded interactions (LAMMPS default is "on"). +The "off" setting for pairwise interaction is currently required for +GPU package pair styles. +

    +

    Or run with the GPU package by editing an input script: +

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +and use of multiple MPI tasks/GPU is the same. +

    +

    Use the suffix gpu command, or you can explicitly add an +"gpu" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/gpu 2.5 
    +
    +

    You must also use the package gpu command to enable the +GPU package, unless the "-sf gpu" or "-pk gpu" command-line +switches were used. It specifies the +number of GPUs/node to use, as well as other options. +

    +

    Speed-ups to expect: +

    +

    The performance of a GPU versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed).

    -

    See the Benchmark page of the +precision used on the GPU (double, single, mixed). +

    +

    See the Benchmark page of the LAMMPS web site for performance of the GPU package on various -hardware, including the Titan HPC platform at ORNL.

    -

    You should also experiment with how many MPI tasks per GPU to use to +hardware, including the Titan HPC platform at ORNL. +

    +

    You should also experiment with how many MPI tasks per GPU to use to give the best performance for your problem and machine. This is also a function of the problem size and the pair style being using. Likewise, you should experiment with the precision setting for the GPU library to see if single or mixed precision will give accurate -results, since they will typically be faster.

    -

    Guidelines for best performance:

    -
      -
    • Using multiple MPI tasks per GPU will often give the best performance, -as allowed my most multi-core CPU/GPU configurations.
    • -
    • If the number of particles per MPI task is small (e.g. 100s of +results, since they will typically be faster. +

      +

      Guidelines for best performance: +

      +
      • Using multiple MPI tasks per GPU will often give the best performance, +as allowed my most multi-core CPU/GPU configurations. + +
      • If the number of particles per MPI task is small (e.g. 100s of particles), it can be more efficient to run with fewer MPI tasks per -GPU, even if you do not use all the cores on the compute node.
      • -
      • The package gpu command has several options for tuning +GPU, even if you do not use all the cores on the compute node. + +
      • The package gpu command has several options for tuning performance. Neighbor lists can be built on the GPU or CPU. Force calculations can be dynamically balanced across the CPU cores and GPUs. GPU-specific settings can be made which can be optimized -for different hardware. See the packakge command -doc page for details.
      • -
      • As described by the package gpu command, GPU +for different hardware. See the packakge command +doc page for details. + +
      • As described by the package gpu command, GPU accelerated pair styles can perform computations asynchronously with -CPU computations. The “Pair” time reported by LAMMPS will be the +CPU computations. The "Pair" time reported by LAMMPS will be the maximum of the time required to complete the CPU pair style computations and the time required to complete the GPU pair style computations. Any time spent for GPU-enabled pair styles for -computations that run simultaneously with bond, -angle, dihedral, -improper, and long-range -calculations will not be included in the “Pair” time.
      • -
      • When the mode setting for the package gpu command is force/neigh, +computations that run simultaneously with bond, +angle, dihedral, +improper, and long-range +calculations will not be included in the "Pair" time. + +
      • When the mode setting for the package gpu command is force/neigh, the time for neighbor list calculations on the GPU will be added into -the “Pair” time, not the “Neigh” time. An additional breakdown of the +the "Pair" time, not the "Neigh" time. An additional breakdown of the times required for various tasks on the GPU (data copy, neighbor calculations, force computations, etc) are output only with the LAMMPS screen output (not in the log file) at the end of each run. These timings represent total time spent on the GPU for each routine, -regardless of asynchronous CPU calculations.
      • -
      • The output section “GPU Time Info (average)” reports “Max Mem / Proc”. +regardless of asynchronous CPU calculations. + +
      • The output section "GPU Time Info (average)" reports "Max Mem / Proc". This is the maximum memory used at one time on the GPU for data -storage by a single MPI process.
      • -
      -
      -

      Restrictions¶

      -

      None.

      -
      -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +storage by a single MPI process. + +

    Restrictions: +

    +

    None. +

    + diff --git a/doc/accelerate_intel.html b/doc/accelerate_intel.html index 984302118b..2972e989c3 100644 --- a/doc/accelerate_intel.html +++ b/doc/accelerate_intel.html @@ -1,133 +1,20 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.USER-INTEL package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.USER-INTEL package¶

    -

    The USER-INTEL package was developed by Mike Brown at Intel + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.3 USER-INTEL package +

    +

    The USER-INTEL package was developed by Mike Brown at Intel Corporation. It provides a capability to accelerate simulations by offloading neighbor list and non-bonded force calculations to Intel(R) Xeon Phi(TM) coprocessors (not native mode like the KOKKOS package). @@ -135,225 +22,264 @@ Additionally, it supports running simulations in single, mixed, or double precision with vectorization, even if a coprocessor is not present, i.e. on an Intel(R) CPU. The same C++ code is used for both cases. When offloading to a coprocessor, the routine is run twice, -once with an offload flag.

    -

    The USER-INTEL package can be used in tandem with the USER-OMP +once with an offload flag. +

    +

    The USER-INTEL package can be used in tandem with the USER-OMP package. This is useful when offloading pair style computations to coprocessors, so that other styles not supported by the USER-INTEL package, e.g. bond, angle, dihedral, improper, and long-range electrostatics, can run simultaneously in threaded mode on the CPU cores. Since less MPI tasks than CPU cores will typically be invoked when running with coprocessors, this enables the extra CPU cores to be -used for useful computation.

    -

    If LAMMPS is built with both the USER-INTEL and USER-OMP packages +used for useful computation. +

    +

    If LAMMPS is built with both the USER-INTEL and USER-OMP packages intsalled, this mode of operation is made easier to use, because the -“-suffix intel” command-line switch or -the suffix intel command will both set a second-choice -suffix to “omp” so that styles from the USER-OMP package will be used +"-suffix intel" command-line switch or +the suffix intel command will both set a second-choice +suffix to "omp" so that styles from the USER-OMP package will be used if available, after first testing if a style from the USER-INTEL -package is available.

    -

    When using the USER-INTEL package, you must choose at build time +package is available. +

    +

    When using the USER-INTEL package, you must choose at build time whether you are building for CPU-only acceleration or for using the -Xeon Phi in offload mode.

    -

    Here is a quick overview of how to use the USER-INTEL package -for CPU-only acceleration:

    -
      -
    • specify these CCFLAGS in your src/MAKE/Makefile.machine: -openmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost
    • -
    • specify -openmp with LINKFLAGS in your Makefile.machine
    • -
    • include the USER-INTEL package and (optionally) USER-OMP package and build LAMMPS
    • -
    • specify how many OpenMP threads per MPI task to use
    • -
    • use USER-INTEL and (optionally) USER-OMP styles in your input script
    • -
    -

    Note that many of these settings can only be used with the Intel -compiler, as discussed below.

    -

    Using the USER-INTEL package to offload work to the Intel(R) +Xeon Phi in offload mode. +

    +

    Here is a quick overview of how to use the USER-INTEL package +for CPU-only acceleration: +

    +
    • specify these CCFLAGS in your src/MAKE/Makefile.machine: -openmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost +
    • specify -openmp with LINKFLAGS in your Makefile.machine +
    • include the USER-INTEL package and (optionally) USER-OMP package and build LAMMPS +
    • specify how many OpenMP threads per MPI task to use +
    • use USER-INTEL and (optionally) USER-OMP styles in your input script +
    +

    Note that many of these settings can only be used with the Intel +compiler, as discussed below. +

    +

    Using the USER-INTEL package to offload work to the Intel(R) Xeon Phi(TM) coprocessor is the same except for these additional -steps:

    -
      -
    • add the flag -DLMP_INTEL_OFFLOAD to CCFLAGS in your Makefile.machine
    • -
    • add the flag -offload to LINKFLAGS in your Makefile.machine
    • -
    -

    The latter two steps in the first case and the last step in the -coprocessor case can be done using the “-pk intel” and “-sf intel” -command-line switches respectively. Or -the effect of the “-pk” or “-sf” switches can be duplicated by adding -the package intel or suffix intel -commands respectively to your input script.

    -

    Required hardware/software:

    -

    To use the offload option, you must have one or more Intel(R) Xeon -Phi(TM) coprocessors and use an Intel(R) C++ compiler.

    -

    Optimizations for vectorization have only been tested with the +steps: +

    +
    • add the flag -DLMP_INTEL_OFFLOAD to CCFLAGS in your Makefile.machine +
    • add the flag -offload to LINKFLAGS in your Makefile.machine +
    +

    The latter two steps in the first case and the last step in the +coprocessor case can be done using the "-pk intel" and "-sf intel" +command-line switches respectively. Or +the effect of the "-pk" or "-sf" switches can be duplicated by adding +the package intel or suffix intel +commands respectively to your input script. +

    +

    Required hardware/software: +

    +

    To use the offload option, you must have one or more Intel(R) Xeon +Phi(TM) coprocessors and use an Intel(R) C++ compiler. +

    +

    Optimizations for vectorization have only been tested with the Intel(R) compiler. Use of other compilers may not result in -vectorization or give poor performance.

    -

    Use of an Intel C++ compiler is recommended, but not required (though +vectorization or give poor performance. +

    +

    Use of an Intel C++ compiler is recommended, but not required (though g++ will not recognize some of the settings, so they cannot be used). -The compiler must support the OpenMP interface.

    -

    The recommended version of the Intel(R) compiler is 14.0.1.106. -Versions 15.0.1.133 and later are also supported. If using Intel(R) -MPI, versions 15.0.2.044 and later are recommended.

    -

    Building LAMMPS with the USER-INTEL package:

    -

    You can choose to build with or without support for offload to a +The compiler must support the OpenMP interface. +

    +

    The recommended version of the Intel(R) compiler is 14.0.1.106. +Versions 15.0.1.133 and later are also supported. If using Intel(R) +MPI, versions 15.0.2.044 and later are recommended. +

    +

    Building LAMMPS with the USER-INTEL package: +

    +

    You can choose to build with or without support for offload to a Intel(R) Xeon Phi(TM) coprocessor. If you build with support for a coprocessor, the same binary can be used on nodes with and without coprocessors installed. However, if you do not have coprocessors on your system, building without offload support will produce a -smaller binary.

    -

    You can do either in one line, using the src/Make.py script, described -in Section 2.4 of the manual. Type -“Make.py -h” for help. If run from the src directory, these commands +smaller binary. +

    +

    You can do either in one line, using the src/Make.py script, described +in Section 2.4 of the manual. Type +"Make.py -h" for help. If run from the src directory, these commands will create src/lmp_intel_cpu and lmp_intel_phi using -src/MAKE/Makefile.mpi as the starting Makefile.machine:

    -
    Make.py -p intel omp -intel cpu -o intel_cpu -cc icc file mpi
    -Make.py -p intel omp -intel phi -o intel_phi -cc icc file mpi
    -
    -
    -

    Note that this assumes that your MPI and its mpicxx wrapper +src/MAKE/Makefile.mpi as the starting Makefile.machine: +

    +
    Make.py -p intel omp -intel cpu -o intel_cpu -cc icc file mpi 
    +Make.py -p intel omp -intel phi -o intel_phi -cc icc file mpi 
    +
    +

    Note that this assumes that your MPI and its mpicxx wrapper is using the Intel compiler. If it is not, you should -leave off the “-cc icc” switch.

    -

    Or you can follow these steps:

    -
    cd lammps/src
    +leave off the "-cc icc" switch.
    +

    +

    Or you can follow these steps: +

    +
    cd lammps/src
     make yes-user-intel
     make yes-user-omp (if desired)
    -make machine
    -
    -
    -

    Note that if the USER-OMP package is also installed, you can use -styles from both packages, as described below.

    -

    The Makefile.machine needs a “-fopenmp” flag for OpenMP support in +make machine + +

    Note that if the USER-OMP package is also installed, you can use +styles from both packages, as described below. +

    +

    The Makefile.machine needs a "-fopenmp" flag for OpenMP support in both the CCFLAGS and LINKFLAGS variables. You also need to add --DLAMMPS_MEMALIGN=64 and -restrict to CCFLAGS.

    -

    If you are compiling on the same architecture that will be used for -the runs, adding the flag -xHost to CCFLAGS will enable +-DLAMMPS_MEMALIGN=64 and -restrict to CCFLAGS. +

    +

    If you are compiling on the same architecture that will be used for +the runs, adding the flag -xHost to CCFLAGS will enable vectorization with the Intel(R) compiler. Otherwise, you must provide the correct compute node architecture to the -x option -(e.g. -xAVX).

    -

    In order to build with support for an Intel(R) Xeon Phi(TM) -coprocessor, the flag -offload should be added to the LINKFLAGS line -and the flag -DLMP_INTEL_OFFLOAD should be added to the CCFLAGS line.

    -

    Example makefiles Makefile.intel_cpu and Makefile.intel_phi are +(e.g. -xAVX). +

    +

    In order to build with support for an Intel(R) Xeon Phi(TM) +coprocessor, the flag -offload should be added to the LINKFLAGS line +and the flag -DLMP_INTEL_OFFLOAD should be added to the CCFLAGS line. +

    +

    Example makefiles Makefile.intel_cpu and Makefile.intel_phi are included in the src/MAKE/OPTIONS directory with settings that perform well with the Intel(R) compiler. The latter file has support for -offload to coprocessors; the former does not.

    -

    Notes on CPU and core affinity:

    -

    Setting core affinity is often used to pin MPI tasks and OpenMP +offload to coprocessors; the former does not. +

    +

    Notes on CPU and core affinity: +

    +

    Setting core affinity is often used to pin MPI tasks and OpenMP threads to a core or group of cores so that memory access can be -uniform. Unless disabled at build time, affinity for MPI tasks and -OpenMP threads on the host will be set by default on the host -when using offload to a coprocessor. In this case, it is unnecessary +uniform. Unless disabled at build time, affinity for MPI tasks and +OpenMP threads on the host will be set by default on the host +when using offload to a coprocessor. In this case, it is unnecessary to use other methods to control affinity (e.g. taskset, numactl, I_MPI_PIN_DOMAIN, etc.). This can be disabled in an input script -with the no_affinity option to the package intel +with the no_affinity option to the package intel command or by disabling the option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the CCFLAGS line of your Makefile). Disabling this option is not recommended, especially when running -on a machine with hyperthreading disabled.

    -

    Running with the USER-INTEL package from the command line:

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +on a machine with hyperthreading disabled. +

    +

    Running with the USER-INTEL package from the command line: +

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    -

    If you plan to compute (any portion of) pairwise interactions using +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. +

    +

    If you plan to compute (any portion of) pairwise interactions using USER-INTEL pair styles on the CPU, or use USER-OMP styles on the CPU, you need to choose how many OpenMP threads per MPI task to use. Note that the product of MPI tasks * OpenMP threads/task should not exceed the physical number of cores (on a node), otherwise performance will -suffer.

    -

    If LAMMPS was built with coprocessor support for the USER-INTEL +suffer. +

    +

    If LAMMPS was built with coprocessor support for the USER-INTEL package, you also need to specify the number of coprocessor/node and the number of coprocessor threads per MPI task to use. Note that coprocessor threads (which run on the coprocessor) are totally independent from OpenMP threads (which run on the CPU). The default values for the settings that affect coprocessor threads are typically -fine, as discussed below.

    -

    Use the “-sf intel” command-line switch, -which will automatically append “intel” to styles that support it. If -a style does not support it, an “omp” suffix is tried next. OpenMP -threads per MPI task can be set via the “-pk intel Nphi omp Nt” or -“-pk omp Nt” command-line switches, which -set Nt = # of OpenMP threads per MPI task to use. The “-pk omp” form -is only allowed if LAMMPS was also built with the USER-OMP package.

    -

    Use the “-pk intel Nphi” command-line switch to set Nphi = # of Xeon Phi(TM) +fine, as discussed below. +

    +

    Use the "-sf intel" command-line switch, +which will automatically append "intel" to styles that support it. If +a style does not support it, an "omp" suffix is tried next. OpenMP +threads per MPI task can be set via the "-pk intel Nphi omp Nt" or +"-pk omp Nt" command-line switches, which +set Nt = # of OpenMP threads per MPI task to use. The "-pk omp" form +is only allowed if LAMMPS was also built with the USER-OMP package. +

    +

    Use the "-pk intel Nphi" command-line +switch to set Nphi = # of Xeon Phi(TM) coprocessors/node, if LAMMPS was built with coprocessor support. All the available coprocessor threads on each Phi will be divided among -MPI tasks, unless the tptask option of the “-pk intel” command-line switch is used to limit the coprocessor -threads per MPI task. See the package intel command -for details.

    -
    CPU-only without USER-OMP (but using Intel vectorization on CPU):
    +MPI tasks, unless the tptask option of the "-pk intel" command-line
    +switch is used to limit the coprocessor
    +threads per MPI task.  See the package intel command
    +for details.
    +

    +
    CPU-only without USER-OMP (but using Intel vectorization on CPU):
     lmp_machine -sf intel -in in.script                 # 1 MPI task
    -mpirun -np 32 lmp_machine -sf intel -in in.script   # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes)
    -
    -
    -
    CPU-only with USER-OMP (and Intel vectorization on CPU):
    +mpirun -np 32 lmp_machine -sf intel -in in.script   # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes) 
    +
    +
    CPU-only with USER-OMP (and Intel vectorization on CPU):
     lmp_machine -sf intel -pk intel 16 0 -in in.script             # 1 MPI task on a 16-core node
     mpirun -np 4 lmp_machine -sf intel -pk omp 4 -in in.script     # 4 MPI tasks each with 4 threads on a single 16-core node
    -mpirun -np 32 lmp_machine -sf intel -pk omp 4 -in in.script    # ditto on 8 16-core nodes
    -
    -
    -
    CPUs + Xeon Phi(TM) coprocessors with or without USER-OMP:
    +mpirun -np 32 lmp_machine -sf intel -pk omp 4 -in in.script    # ditto on 8 16-core nodes 
    +
    +
    CPUs + Xeon Phi(TM) coprocessors with or without USER-OMP:
     lmp_machine -sf intel -pk intel 1 omp 16 -in in.script                       # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, all 240 coprocessor threads
     lmp_machine -sf intel -pk intel 1 omp 16 tptask 32 -in in.script             # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, only 32 coprocessor threads
     mpirun -np 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script           # 4 MPI tasks, 4 OpenMP threads/task, 1 coprocessor, 60 coprocessor threads/task
     mpirun -np 32 -ppn 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script   # ditto on 8 16-core nodes
    -mpirun -np 8 lmp_machine -sf intel -pk intel 4 omp 2 -in in.script           # 8 MPI tasks, 2 OpenMP threads/task, 4 coprocessors, 120 coprocessor threads/task
    -
    -
    -

    Note that if the “-sf intel” switch is used, it also invokes two -default commands: package intel 1, followed by package omp 0. These both set the number of OpenMP threads per +mpirun -np 8 lmp_machine -sf intel -pk intel 4 omp 2 -in in.script # 8 MPI tasks, 2 OpenMP threads/task, 4 coprocessors, 120 coprocessor threads/task + +

    Note that if the "-sf intel" switch is used, it also invokes two +default commands: package intel 1, followed by package +omp 0. These both set the number of OpenMP threads per MPI task via the OMP_NUM_THREADS environment variable. The first command sets the number of Xeon Phi(TM) coprocessors/node to 1 (and -the precision mode to “mixed”, as one of its option defaults). The +the precision mode to "mixed", as one of its option defaults). The latter command is not invoked if LAMMPS was not built with the USER-OMP package. The Nphi = 1 value for the first command is ignored -if LAMMPS was not built with coprocessor support.

    -

    Using the “-pk intel” or “-pk omp” switches explicitly allows for +if LAMMPS was not built with coprocessor support. +

    +

    Using the "-pk intel" or "-pk omp" switches explicitly allows for direct setting of the number of OpenMP threads per MPI task, and additional options for either of the USER-INTEL or USER-OMP packages. -In particular, the “-pk intel” switch sets the number of +In particular, the "-pk intel" switch sets the number of coprocessors/node and can limit the number of coprocessor threads per MPI task. The syntax for these two switches is the same as the -package omp and package intel commands. -See the package command doc page for details, including +package omp and package intel commands. +See the package command doc page for details, including the default values used for all its options if these switches are not specified, and how to set the number of OpenMP threads via the -OMP_NUM_THREADS environment variable if desired.

    -

    Or run with the USER-INTEL package by editing an input script:

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +OMP_NUM_THREADS environment variable if desired. +

    +

    Or run with the USER-INTEL package by editing an input script: +

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, OpenMP threads per MPI task, and coprocessor threads per MPI task is -the same.

    -

    Use the suffix intel command, or you can explicitly add an -“intel” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/intel 2.5
    -
    -
    -

    You must also use the package intel command, unless the -“-sf intel” or “-pk intel” command-line switches were used. It specifies how many +the same. +

    +

    Use the suffix intel command, or you can explicitly add an +"intel" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/intel 2.5 
    +
    +

    You must also use the package intel command, unless the +"-sf intel" or "-pk intel" command-line +switches were used. It specifies how many coprocessors/node to use, as well as other OpenMP threading and coprocessor options. Its doc page explains how to set the number of -OpenMP threads via an environment variable if desired.

    -

    If LAMMPS was also built with the USER-OMP package, you must also use -the package omp command to enable that package, unless -the “-sf intel” or “-pk omp” command-line switches were used. It specifies how many +OpenMP threads via an environment variable if desired. +

    +

    If LAMMPS was also built with the USER-OMP package, you must also use +the package omp command to enable that package, unless +the "-sf intel" or "-pk omp" command-line +switches were used. It specifies how many OpenMP threads per MPI task to use, as well as other options. Its doc page explains how to set the number of OpenMP threads via an -environment variable if desired.

    -

    Speed-ups to expect:

    -

    If LAMMPS was not built with coprocessor support when including the +environment variable if desired. +

    +

    Speed-ups to expect: +

    +

    If LAMMPS was not built with coprocessor support when including the USER-INTEL package, then acclerated styles will run on the CPU using vectorization optimizations and the specified precision. This may give a substantial speed-up for a pair style, particularly if mixed or -single precision is used.

    -

    If LAMMPS was built with coproccesor support, the pair styles will run +single precision is used. +

    +

    If LAMMPS was built with coproccesor support, the pair styles will run on one or more Intel(R) Xeon Phi(TM) coprocessors (per node). The performance of a Xeon Phi versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/coprocessor, and the precision used on the coprocessor (double, -single, mixed).

    -

    See the Benchmark page of the +single, mixed). +

    +

    See the Benchmark page of the LAMMPS web site for performance of the USER-INTEL package on different -hardware.

    -

    Guidelines for best performance on an Intel(R) Xeon Phi(TM) -coprocessor:

    -
      -
    • The default for the package intel command is to have +hardware. +

      +

      Guidelines for best performance on an Intel(R) Xeon Phi(TM) +coprocessor: +

      +
      • The default for the package intel command is to have all the MPI tasks on a given compute node use a single Xeon Phi(TM) coprocessor. In general, running with a large number of MPI tasks on each node will perform best with offload. Each MPI task will @@ -364,121 +290,63 @@ with 60 cores available for offload and 4 hardware threads per core each MPI task to use a subset of 10 threads on the coprocessor. Fine tuning of the number of threads to use per MPI task or the number of threads to use per core can be accomplished with keyword settings of -the package intel command.
      • -
      • If desired, only a fraction of the pair style computation can be +the package intel command. + +
      • If desired, only a fraction of the pair style computation can be offloaded to the coprocessors. This is accomplished by using the -balance keyword in the package intel command. A +balance keyword in the package intel command. A balance of 0 runs all calculations on the CPU. A balance of 1 runs all calculations on the coprocessor. A balance of 0.5 runs half of the calculations on the coprocessor. Setting the balance to -1 (the default) will enable dynamic load balancing that continously adjusts the fraction of offloaded work throughout the simulation. This option typically produces results within 5 to 10 percent of the optimal fixed -balance.
      • -
      • When using offload with CPU hyperthreading disabled, it may help +balance. + +
      • When using offload with CPU hyperthreading disabled, it may help performance to use fewer MPI tasks and OpenMP threads than available cores. This is due to the fact that additional threads are generated -internally to handle the asynchronous offload tasks.
      • -
      • If running short benchmark runs with dynamic load balancing, adding a +internally to handle the asynchronous offload tasks. + +
      • If running short benchmark runs with dynamic load balancing, adding a short warm-up run (10-20 steps) will allow the load-balancer to find a -near-optimal setting that will carry over to additional runs.
      • -
      • If pair computations are being offloaded to an Intel(R) Xeon Phi(TM) +near-optimal setting that will carry over to additional runs. + +
      • If pair computations are being offloaded to an Intel(R) Xeon Phi(TM) coprocessor, a diagnostic line is printed to the screen (not to the log file), during the setup phase of a run, indicating that offload mode is being used and indicating the number of coprocessor threads per MPI task. Additionally, an offload timing summary is printed at -the end of each run. When offloading, the frequency for atom sorting is changed to 1 so that the per-atom data is -effectively sorted at every rebuild of the neighbor lists.
      • -
      • For simulations with long-range electrostatics or bond, angle, +the end of each run. When offloading, the frequency for atom +sorting is changed to 1 so that the per-atom data is +effectively sorted at every rebuild of the neighbor lists. + +
      • For simulations with long-range electrostatics or bond, angle, dihedral, improper calculations, computation and data transfer to the coprocessor will run concurrently with computations and MPI communications for these calculations on the host CPU. The USER-INTEL package has two modes for deciding which atoms will be handled by the -coprocessor. This choice is controlled with the ghost keyword of -the package intel command. When set to 0, ghost atoms +coprocessor. This choice is controlled with the ghost keyword of +the package intel command. When set to 0, ghost atoms (atoms at the borders between MPI tasks) are not offloaded to the card. This allows for overlap of MPI communication of forces with -computation on the coprocessor when the newton setting -is “on”. The default is dependent on the style being used, however, +computation on the coprocessor when the newton setting +is "on". The default is dependent on the style being used, however, better performance may be achieved by setting this option -explictly.
      • -
      -
      -

      Restrictions¶

      -

      When offloading to a coprocessor, hybrid styles +explictly. +

    +

    Restrictions: +

    +

    When offloading to a coprocessor, hybrid styles that require skip lists for neighbor builds cannot be offloaded. -Using hybrid/overlay is allowed. Only one intel +Using hybrid/overlay is allowed. Only one intel accelerated style may be used with hybrid styles. -Special_bonds exclusion lists are not currently +Special_bonds exclusion lists are not currently supported with offload, however, the same effect can often be accomplished by setting cutoffs for excluded atom types to 0. None of the pair styles in the USER-INTEL package currently support the -“inner”, “middle”, “outer” options for rRESPA integration via the -run_style respa command; only the “pair” option is -supported.

    -
    -
    - - -
    -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +"inner", "middle", "outer" options for rRESPA integration via the +run_style respa command; only the "pair" option is +supported. +

    + diff --git a/doc/accelerate_kokkos.html b/doc/accelerate_kokkos.html index 274fa79d74..885a84b27b 100644 --- a/doc/accelerate_kokkos.html +++ b/doc/accelerate_kokkos.html @@ -1,502 +1,446 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.KOKKOS package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.KOKKOS package¶

    -

    The KOKKOS package was developed primaritly by Christian Trott + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.4 KOKKOS package +

    +

    The KOKKOS package was developed primaritly by Christian Trott (Sandia) with contributions of various styles by others, including Sikandar Mashayak (UIUC), Stan Moore (Sandia), and Ray Shan (Sandia). The underlying Kokkos library was written primarily by Carter Edwards, Christian Trott, and Dan Sunderland (all -Sandia).

    -

    The KOKKOS package contains versions of pair, fix, and atom styles +Sandia). +

    +

    The KOKKOS package contains versions of pair, fix, and atom styles that use data structures and macros provided by the Kokkos library, -which is included with LAMMPS in lib/kokkos.

    -

    The Kokkos library is part of -Trilinos and can also -be downloaded from Github. Kokkos is a +which is included with LAMMPS in lib/kokkos. +

    +

    The Kokkos library is part of +Trilinos and can also +be downloaded from Github. Kokkos is a templated C++ library that provides two key abstractions for an application like LAMMPS. First, it allows a single implementation of an application kernel (e.g. a pair style) to run efficiently on different kinds of hardware, such as a GPU, Intel Phi, or many-core -chip.

    -

    The Kokkos library also provides data abstractions to adjust (at +chip. +

    +

    The Kokkos library also provides data abstractions to adjust (at compile time) the memory layout of basic data structures like 2d and 3d arrays and allow the transparent utilization of special hardware load and store operations. Such data structures are used in LAMMPS to store atom coordinates or forces or neighbor lists. The layout is chosen to optimize performance on different platforms. Again this functionality is hidden from the developer, and does not affect how -the kernel is coded.

    -

    These abstractions are set at build time, when LAMMPS is compiled with -the KOKKOS package installed. This is done by selecting a “host” and -“device” to build for, compatible with the compute nodes in your -machine (one on a desktop machine or 1000s on a supercomputer).

    -

    All Kokkos operations occur within the context of an individual MPI +the kernel is coded. +

    +

    These abstractions are set at build time, when LAMMPS is compiled with +the KOKKOS package installed. This is done by selecting a "host" and +"device" to build for, compatible with the compute nodes in your +machine (one on a desktop machine or 1000s on a supercomputer). +

    +

    All Kokkos operations occur within the context of an individual MPI task running on a single node of the machine. The total number of MPI tasks used by LAMMPS (one or multiple per compute node) is set in the usual manner via the mpirun or mpiexec commands, and is independent of -Kokkos.

    -

    Kokkos provides support for two different modes of execution per MPI +Kokkos. +

    +

    Kokkos provides support for two different modes of execution per MPI task. This means that computational tasks (pairwise interactions, neighbor list builds, time integration, etc) can be parallelized for one or the other of the two modes. The first mode is called the -“host” and is one or more threads running on one or more physical CPUs +"host" and is one or more threads running on one or more physical CPUs (within the node). Currently, both multi-core CPUs and an Intel Phi processor (running in native mode, not offload mode like the USER-INTEL package) are supported. The second mode is called the -“device” and is an accelerator chip of some kind. Currently only an +"device" and is an accelerator chip of some kind. Currently only an NVIDIA GPU is supported via Cuda. If your compute node does not have a GPU, then there is only one mode of execution, i.e. the host and -device are the same.

    -

    When using the KOKKOS package, you must choose at build time whether +device are the same. +

    +

    When using the KOKKOS package, you must choose at build time whether you are building for OpenMP, GPU, or for using the Xeon Phi in native -mode.

    -

    Here is a quick overview of how to use the KOKKOS package:

    -
      -
    • specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
    • -
    • include the KOKKOS package and build LAMMPS
    • -
    • enable the KOKKOS package and its hardware options via the “-k on” command-line switch use KOKKOS styles in your input script
    • -
    -

    The latter two steps can be done using the “-k on”, “-pk kokkos” and -“-sf kk” command-line switches -respectively. Or the effect of the “-pk” or “-sf” switches can be -duplicated by adding the package kokkos or suffix kk commands respectively to your input script.

    -

    Required hardware/software:

    -

    The KOKKOS package can be used to build and run LAMMPS on the -following kinds of hardware:

    -
      -
    • CPU-only: one MPI task per CPU core (MPI-only, but using KOKKOS styles)
    • -
    • CPU-only: one or a few MPI tasks per node with additional threading via OpenMP
    • -
    • Phi: on one or more Intel Phi coprocessors (per node)
    • -
    • GPU: on the GPUs of a node with additional OpenMP threading on the CPUs
    • -
    -

    Kokkos support within LAMMPS must be built with a C++11 compatible -compiler. For example, gcc 4.7.2 or later.

    -

    Note that Intel Xeon Phi coprocessors are supported in “native” mode, -not “offload” mode like the USER-INTEL package supports.

    -

    Only NVIDIA GPUs are currently supported.

    -
    -

    Warning

    -

    For good performance of the KOKKOS package on GPUs, +mode. +

    +

    Here is a quick overview of how to use the KOKKOS package: +

    +
    • specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support +
    • include the KOKKOS package and build LAMMPS +
    • enable the KOKKOS package and its hardware options via the "-k on" command-line switch use KOKKOS styles in your input script +
    +

    The latter two steps can be done using the "-k on", "-pk kokkos" and +"-sf kk" command-line switches +respectively. Or the effect of the "-pk" or "-sf" switches can be +duplicated by adding the package kokkos or suffix +kk commands respectively to your input script. +

    +

    Required hardware/software: +

    +

    The KOKKOS package can be used to build and run LAMMPS on the +following kinds of hardware: +

    +
    • CPU-only: one MPI task per CPU core (MPI-only, but using KOKKOS styles) +
    • CPU-only: one or a few MPI tasks per node with additional threading via OpenMP +
    • Phi: on one or more Intel Phi coprocessors (per node) +
    • GPU: on the GPUs of a node with additional OpenMP threading on the CPUs +
    +

    Kokkos support within LAMMPS must be built with a C++11 compatible +compiler. For example, gcc 4.7.2 or later. +

    +

    Note that Intel Xeon Phi coprocessors are supported in "native" mode, +not "offload" mode like the USER-INTEL package supports. +

    +

    Only NVIDIA GPUs are currently supported. +

    +

    IMPORTANT NOTE: For good performance of the KOKKOS package on GPUs, you must have Kepler generation GPUs (or later). The Kokkos library exploits texture cache options not supported by Telsa generation GPUs -(or older).

    -
    -

    To build the KOKKOS package for GPUs, NVIDIA Cuda software must be +(or older). +

    +

    To build the KOKKOS package for GPUs, NVIDIA Cuda software must be installed on your system. See the discussion above for the USER-CUDA -and GPU packages for details of how to check and do this.

    -

    Building LAMMPS with the KOKKOS package:

    -

    You must choose at build time whether to build for OpenMP, Cuda, or -Phi.

    -

    You can do any of these in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type “Make.py -h” for help. If run from the src directory, these +and GPU packages for details of how to check and do this. +

    +

    Building LAMMPS with the KOKKOS package: +

    +

    You must choose at build time whether to build for OpenMP, Cuda, or +Phi. +

    +

    You can do any of these in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type "Make.py -h" for help. If run from the src directory, these commands will create src/lmp_kokkos_omp, lmp_kokkos_cuda, and lmp_kokkos_phi. Note that the OMP and PHI options use src/MAKE/Makefile.mpi as the starting Makefile.machine. The CUDA -option uses src/MAKE/OPTIONS/Makefile.kokkos_cuda.

    -
    Make.py -p kokkos -kokkos omp -o kokkos_omp -a file mpi
    +option uses src/MAKE/OPTIONS/Makefile.kokkos_cuda.
    +

    +
    Make.py -p kokkos -kokkos omp -o kokkos_omp -a file mpi 
     Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda
    -Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi
    -
    -
    -

    Or you can follow these steps:

    -

    CPU-only (run all-MPI or with OpenMP threading):

    -
    cd lammps/src
    +Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi 
    +
    +

    Or you can follow these steps: +

    +

    CPU-only (run all-MPI or with OpenMP threading): +

    +
    cd lammps/src
     make yes-kokkos
    -make g++ KOKKOS_DEVICES=OpenMP
    -
    -
    -

    Intel Xeon Phi:

    -
    cd lammps/src
    +make g++ KOKKOS_DEVICES=OpenMP 
    +
    +

    Intel Xeon Phi: +

    +
    cd lammps/src
     make yes-kokkos
    -make g++ KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=KNC
    -
    -
    -

    CPUs and GPUs:

    -
    cd lammps/src
    +make g++ KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=KNC 
    +
    +

    CPUs and GPUs: +

    +
    cd lammps/src
     make yes-kokkos
    -make cuda KOKKOS_DEVICES=Cuda
    -
    -
    -

    These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the +make cuda KOKKOS_DEVICES=Cuda + +

    These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the make command line which requires a GNU-compatible make command. Try -“gmake” if your system’s standard make complains.

    -
    -

    Warning

    -

    If you build using make line variables and re-build -LAMMPS twice with different KOKKOS options and the same target, -e.g. g++ in the first two examples above, then you must perform a -“make clean-all” or “make clean-machine” before each build. This is +"gmake" if your system's standard make complains. +

    +

    IMPORTANT NOTE: If you build using make line variables and re-build +LAMMPS twice with different KOKKOS options and the *same* target, +e.g. g++ in the first two examples above, then you *must* perform a +"make clean-all" or "make clean-machine" before each build. This is to force all the KOKKOS-dependent files to be re-compiled with the new -options.

    -
    -

    You can also hardwire these make variables in the specified machine +options. +

    +

    You can also hardwire these make variables in the specified machine makefile, e.g. src/MAKE/Makefile.g++ in the first two examples above, -with a line like:

    -
    KOKKOS_ARCH = KNC
    -
    -
    -

    Note that if you build LAMMPS multiple times in this manner, using +with a line like: +

    +
    KOKKOS_ARCH = KNC 
    +
    +

    Note that if you build LAMMPS multiple times in this manner, using different KOKKOS options (defined in different machine makefiles), you -do not have to worry about doing a “clean” in between. This is -because the targets will be different.

    -
    -

    Warning

    -

    The 3rd example above for a GPU, uses a different +do not have to worry about doing a "clean" in between. This is +because the targets will be different. +

    +

    IMPORTANT NOTE: The 3rd example above for a GPU, uses a different machine makefile, in this case src/MAKE/Makefile.cuda, which is included in the LAMMPS distribution. To build the KOKKOS package for -a GPU, this makefile must use the NVIDA “nvcc” compiler. And it must +a GPU, this makefile must use the NVIDA "nvcc" compiler. And it must have a KOKKOS_ARCH setting that is appropriate for your NVIDIA hardware and installed software. Typical values for KOKKOS_ARCH are given below, as well as other settings that must be included in the machine makefile, if -you create your own.

    -
    -
    -

    Warning

    -

    Currently, there are no precision options with the +you create your own. +

    +

    IMPORTANT NOTE: Currently, there are no precision options with the KOKKOS package. All compilation and computation is performed in -double precision.

    -
    -

    There are other allowed options when building with the KOKKOS package. +double precision. +

    +

    There are other allowed options when building with the KOKKOS package. As above, they can be set either as variables on the make command line or in Makefile.machine. This is the full list of options, including those discussed above, Each takes a value shown below. The default value is listed, which is set in the -lib/kokkos/Makefile.kokkos file.

    -

    #Default settings specific options -#Options: force_uvm,use_ldg,rdc

    -
      -
    • KOKKOS_DEVICES, values = OpenMP, Serial, Pthreads, Cuda, default = OpenMP
    • -
    • KOKKOS_ARCH, values = KNC, SNB, HSW, Kepler, Kepler30, Kepler32, Kepler35, Kepler37, Maxwell, Maxwell50, Maxwell52, Maxwell53, ARMv8, BGQ, Power7, Power8, default = none
    • -
    • KOKKOS_DEBUG, values = yes, no, default = no
    • -
    • KOKKOS_USE_TPLS, values = hwloc, librt, default = none
    • -
    • KOKKOS_CUDA_OPTIONS, values = force_uvm, use_ldg, rdc
    • -
    -

    KOKKOS_DEVICE sets the parallelization method used for Kokkos code +lib/kokkos/Makefile.kokkos file. +

    +

    #Default settings specific options +#Options: force_uvm,use_ldg,rdc +

    +
    • KOKKOS_DEVICES, values = OpenMP, Serial, Pthreads, Cuda, default = OpenMP +
    • KOKKOS_ARCH, values = KNC, SNB, HSW, Kepler, Kepler30, Kepler32, Kepler35, Kepler37, Maxwell, Maxwell50, Maxwell52, Maxwell53, ARMv8, BGQ, Power7, Power8, default = none +
    • KOKKOS_DEBUG, values = yes, no, default = no +
    • KOKKOS_USE_TPLS, values = hwloc, librt, default = none +
    • KOKKOS_CUDA_OPTIONS, values = force_uvm, use_ldg, rdc +
    +

    KOKKOS_DEVICE sets the parallelization method used for Kokkos code (within LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be used. KOKKOS_DEVICES=Pthreads means that pthreads will be used. -KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.

    -

    If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE -directory must use “nvcc” as its compiler, via its CC setting. For +KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used. +

    +

    If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE +directory must use "nvcc" as its compiler, via its CC setting. For best performance its CCFLAGS setting should use -O3 and have a KOKKOS_ARCH setting that matches the compute capability of your NVIDIA hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note the minimal required compute capability is 2.0, but this will give signicantly reduced performance compared to Kepler generation GPUs -with compute capability 3.x. For the LINK setting, “nvcc” should not +with compute capability 3.x. For the LINK setting, "nvcc" should not be used; instead use g++ or another compiler suitable for linking C++ applications. Often you will want to use your MPI compiler wrapper for this setting (i.e. mpicxx). Finally, the lo-level Makefile must -also have a “Compilation rule” for creating *.o files from *.cu files. +also have a "Compilation rule" for creating *.o files from *.cu files. See src/Makefile.cuda for an example of a lo-level Makefile with all -of these settings.

    -

    KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not +of these settings. +

    +

    KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP provides alternative methods via environment variables for binding threads to hardware cores. More info on binding threads to cores is -given in this section.

    -

    KOKKOS_ARCH=KNC enables compiler switches needed when compling for an -Intel Phi processor.

    -

    KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism +given in this section. +

    +

    KOKKOS_ARCH=KNC enables compiler switches needed when compling for an +Intel Phi processor. +

    +

    KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism on most Unix platforms. This library is not available on all -platforms.

    -

    KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style +platforms. +

    +

    KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time debugging information that can be useful. It also enables runtime -bounds checking on Kokkos data structures.

    -

    KOKKOS_CUDA_OPTIONS are additional options for CUDA.

    -

    For more information on Kokkos see the Kokkos programmers’ guide here: -/lib/kokkos/doc/Kokkos_PG.pdf.

    -

    Run with the KOKKOS package from the command line:

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +bounds checking on Kokkos data structures. +

    +

    KOKKOS_CUDA_OPTIONS are additional options for CUDA. +

    +

    For more information on Kokkos see the Kokkos programmers' guide here: +/lib/kokkos/doc/Kokkos_PG.pdf. +

    +

    Run with the KOKKOS package from the command line: +

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    -

    When using KOKKOS built with host=OMP, you need to choose how many -OpenMP threads per MPI task will be used (via the “-k” command-line +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. +

    +

    When using KOKKOS built with host=OMP, you need to choose how many +OpenMP threads per MPI task will be used (via the "-k" command-line switch discussed below). Note that the product of MPI tasks * OpenMP threads/task should not exceed the physical number of cores (on a -node), otherwise performance will suffer.

    -

    When using the KOKKOS package built with device=CUDA, you must use -exactly one MPI task per physical GPU.

    -

    When using the KOKKOS package built with host=MIC for Intel Xeon Phi +node), otherwise performance will suffer. +

    +

    When using the KOKKOS package built with device=CUDA, you must use +exactly one MPI task per physical GPU. +

    +

    When using the KOKKOS package built with host=MIC for Intel Xeon Phi coprocessor support you need to insure there are one or more MPI tasks per coprocessor, and choose the number of coprocessor threads to use -per MPI task (via the “-k” command-line switch discussed below). The +per MPI task (via the "-k" command-line switch discussed below). The product of MPI tasks * coprocessor threads/task should not exceed the maximum number of threads the coproprocessor is designed to run, otherwise performance will suffer. This value is 240 for current generation Xeon Phi(TM) chips, which is 60 physical cores * 4 threads/core. Note that with the KOKKOS package you do not need to specify how many Phi coprocessors there are per node; each -coprocessors is simply treated as running some number of MPI tasks.

    -

    You must use the “-k on” command-line switch to enable the KOKKOS package. It +coprocessors is simply treated as running some number of MPI tasks. +

    +

    You must use the "-k on" command-line +switch to enable the KOKKOS package. It takes additional arguments for hardware settings appropriate to your -system. Those arguments are documented here. The two most commonly used -options are:

    -
    -k on t Nt g Ng
    -
    -
    -

    The “t Nt” option applies to host=OMP (even if device=CUDA) and +system. Those arguments are documented +here. The two most commonly used +options are: +

    +
    -k on t Nt g Ng 
    +
    +

    The "t Nt" option applies to host=OMP (even if device=CUDA) and host=MIC. For host=OMP, it specifies how many OpenMP threads per MPI task to use with a node. For host=MIC, it specifies how many Xeon Phi threads per MPI task to use within a node. The default is Nt = 1. Note that for host=OMP this is effectively MPI-only mode which may be fine. But for host=MIC you will typically end up using far less than -all the 240 available threads, which could give very poor performance.

    -

    The “g Ng” option applies to device=CUDA. It specifies how many GPUs +all the 240 available threads, which could give very poor performance. +

    +

    The "g Ng" option applies to device=CUDA. It specifies how many GPUs per compute node to use. The default is 1, so this only needs to be -specified is you have 2 or more GPUs per compute node.

    -

    The “-k on” switch also issues a “package kokkos” command (with no +specified is you have 2 or more GPUs per compute node. +

    +

    The "-k on" switch also issues a "package kokkos" command (with no additional arguments) which sets various KOKKOS options to default -values, as discussed on the package command doc page.

    -

    Use the “-sf kk” command-line switch, -which will automatically append “kk” to styles that support it. Use -the “-pk kokkos” command-line switch if -you wish to change any of the default package kokkos -optionns set by the “-k on” command-line switch.

    -
    host=OMP, dual hex-core nodes (12 threads/node):
    +values, as discussed on the package command doc page.
    +

    +

    Use the "-sf kk" command-line switch, +which will automatically append "kk" to styles that support it. Use +the "-pk kokkos" command-line switch if +you wish to change any of the default package kokkos +optionns set by the "-k on" command-line +switch. +

    +
    host=OMP, dual hex-core nodes (12 threads/node):
     mpirun -np 12 lmp_g++ -in in.lj                           # MPI-only mode with no Kokkos
     mpirun -np 12 lmp_g++ -k on -sf kk -in in.lj              # MPI-only mode with Kokkos
     mpirun -np 1 lmp_g++ -k on t 12 -sf kk -in in.lj          # one MPI task, 12 threads
    -mpirun -np 2 lmp_g++ -k on t 6 -sf kk -in in.lj           # two MPI tasks, 6 threads/task
    -mpirun -np 32 -ppn 2 lmp_g++ -k on t 6 -sf kk -in in.lj   # ditto on 16 nodes
    -
    -
    -

    host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): +mpirun -np 2 lmp_g++ -k on t 6 -sf kk -in in.lj # two MPI tasks, 6 threads/task +mpirun -np 32 -ppn 2 lmp_g++ -k on t 6 -sf kk -in in.lj # ditto on 16 nodes + +

    host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240 mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240 mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240 -mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis

    -
    host=OMP, device=CUDA, node = dual hex-core CPUs and a single GPU:
    +mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj   # ditto on 8 Phis
    +

    +
    host=OMP, device=CUDA, node = dual hex-core CPUs and a single GPU:
     mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj          # one MPI task, 6 threads on CPU
    -mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj   # ditto on 4 nodes
    -
    -
    -
    host=OMP, device=CUDA, node = dual 8-core CPUs and 2 GPUs:
    +mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj   # ditto on 4 nodes 
    +
    +
    host=OMP, device=CUDA, node = dual 8-core CPUs and 2 GPUs:
     mpirun -np 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj           # two MPI tasks, 8 threads per CPU
    -mpirun -np 32 -ppn 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj   # ditto on 16 nodes
    -
    -
    -

    Note that the default for the package kokkos command is -to use “full” neighbor lists and set the Newton flag to “off” for both +mpirun -np 32 -ppn 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj # ditto on 16 nodes + +

    Note that the default for the package kokkos command is +to use "full" neighbor lists and set the Newton flag to "off" for both pairwise and bonded interactions. This typically gives fastest -performance. If the newton command is used in the input -script, it can override the Newton flag defaults.

    -

    However, when running in MPI-only mode with 1 thread per MPI task, it -will typically be faster to use “half” neighbor lists and set the -Newton flag to “on”, just as is the case for non-accelerated pair -styles. You can do this with the “-pk” command-line switch.

    -

    Or run with the KOKKOS package by editing an input script:

    -

    The discussion above for the mpirun/mpiexec command and setting +performance. If the newton command is used in the input +script, it can override the Newton flag defaults. +

    +

    However, when running in MPI-only mode with 1 thread per MPI task, it +will typically be faster to use "half" neighbor lists and set the +Newton flag to "on", just as is the case for non-accelerated pair +styles. You can do this with the "-pk" command-line +switch. +

    +

    Or run with the KOKKOS package by editing an input script: +

    +

    The discussion above for the mpirun/mpiexec command and setting appropriate thread and GPU values for host=OMP or host=MIC or -device=CUDA are the same.

    -

    You must still use the “-k on” command-line switch to enable the KOKKOS package, and +device=CUDA are the same. +

    +

    You must still use the "-k on" command-line +switch to enable the KOKKOS package, and specify its additional arguments for hardware options appopriate to -your system, as documented above.

    -

    Use the suffix kk command, or you can explicitly add a -“kk” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/kk 2.5
    -
    -
    -

    You only need to use the package kokkos command if you -wish to change any of its option defaults, as set by the “-k on” -command-line switch.

    -

    Speed-ups to expect:

    -

    The performance of KOKKOS running in different modes is a function of +your system, as documented above. +

    +

    Use the suffix kk command, or you can explicitly add a +"kk" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/kk 2.5 
    +
    +

    You only need to use the package kokkos command if you +wish to change any of its option defaults, as set by the "-k on" +command-line switch. +

    +

    Speed-ups to expect: +

    +

    The performance of KOKKOS running in different modes is a function of your hardware, which KOKKOS-enable styles are used, and the problem -size.

    -

    Generally speaking, the following rules of thumb apply:

    -
      -
    • When running on CPUs only, with a single thread per MPI task, +size. +

      +

      Generally speaking, the following rules of thumb apply: +

      +
      • When running on CPUs only, with a single thread per MPI task, performance of a KOKKOS style is somewhere between the standard (un-accelerated) styles (MPI-only mode), and those provided by the USER-OMP package. However the difference between all 3 is small (less -than 20%).
      • -
      • When running on CPUs only, with multiple threads per MPI task, +than 20%). + +
      • When running on CPUs only, with multiple threads per MPI task, performance of a KOKKOS style is a bit slower than the USER-OMP -package.
      • -
      • When running on GPUs, KOKKOS is typically faster than the USER-CUDA -and GPU packages.
      • -
      • When running on Intel Xeon Phi, KOKKOS is not as fast as -the USER-INTEL package, which is optimized for that hardware.
      • -
      -

      See the Benchmark page of the +package. + +

    • When running on GPUs, KOKKOS is typically faster than the USER-CUDA +and GPU packages. + +
    • When running on Intel Xeon Phi, KOKKOS is not as fast as +the USER-INTEL package, which is optimized for that hardware. +
    +

    See the Benchmark page of the LAMMPS web site for performance of the KOKKOS package on different -hardware.

    -

    Guidelines for best performance:

    -

    Here are guidline for using the KOKKOS package on the different -hardware configurations listed above.

    -

    Many of the guidelines use the package kokkos command +hardware. +

    +

    Guidelines for best performance: +

    +

    Here are guidline for using the KOKKOS package on the different +hardware configurations listed above. +

    +

    Many of the guidelines use the package kokkos command See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations.

    -

    Running on a multi-core CPU:

    -

    If N is the number of physical cores/node, then the number of MPI +its options can provide a speed-up for specific calculations. +

    +

    Running on a multi-core CPU: +

    +

    If N is the number of physical cores/node, then the number of MPI tasks/node * number of threads/task should not exceed N, and should typically equal N. Note that the default threads/task is 1, as set by -the “t” keyword of the “-k” command-line switch. If you do not change this, no +the "t" keyword of the "-k" command-line +switch. If you do not change this, no additional parallelism (beyond MPI) will be invoked on the host -CPU(s).

    -

    You can compare the performance running in different modes:

    -
      -
    • run with 1 MPI task/node and N threads/task
    • -
    • run with N MPI tasks/node and 1 thread/task
    • -
    • run with settings in between these extremes
    • -
    -

    Examples of mpirun commands in these modes are shown above.

    -

    When using KOKKOS to perform multi-threading, it is important for +CPU(s). +

    +

    You can compare the performance running in different modes: +

    +
    • run with 1 MPI task/node and N threads/task +
    • run with N MPI tasks/node and 1 thread/task +
    • run with settings in between these extremes +
    +

    Examples of mpirun commands in these modes are shown above. +

    +

    When using KOKKOS to perform multi-threading, it is important for performance to bind both MPI tasks to physical cores, and threads to -physical cores, so they do not migrate during a simulation.

    -

    If you are not certain MPI tasks are being bound (check the defaults -for your MPI installation), binding can be forced with these flags:

    -
    OpenMPI 1.8: mpirun -np 2 -bind-to socket -map-by socket ./lmp_openmpi ...
    -Mvapich2 2.0: mpiexec -np 2 -bind-to socket -map-by socket ./lmp_mvapich ...
    -
    -
    -

    For binding threads with the KOKKOS OMP option, use thread affinity +physical cores, so they do not migrate during a simulation. +

    +

    If you are not certain MPI tasks are being bound (check the defaults +for your MPI installation), binding can be forced with these flags: +

    +
    OpenMPI 1.8: mpirun -np 2 -bind-to socket -map-by socket ./lmp_openmpi ...
    +Mvapich2 2.0: mpiexec -np 2 -bind-to socket -map-by socket ./lmp_mvapich ... 
    +
    +

    For binding threads with the KOKKOS OMP option, use thread affinity environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or later, intel 12 or later) setting the environment variable OMP_PROC_BIND=true should be sufficient. For binding threads with the KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option, as -discussed in Section 2.3.4 of the -manual.

    -

    Running on GPUs:

    -

    Insure the -arch setting in the machine makefile you are using, +discussed in Section 2.3.4 of the +manual. +

    +

    Running on GPUs: +

    +

    Insure the -arch setting in the machine makefile you are using, e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software -(see this section of the manual for -details).

    -

    The -np setting of the mpirun command should set the number of MPI -tasks/node to be equal to the # of physical GPUs on the node.

    -

    Use the “-k” command-line switch to +(see this section of the manual for +details). +

    +

    The -np setting of the mpirun command should set the number of MPI +tasks/node to be equal to the # of physical GPUs on the node. +

    +

    Use the "-k" command-line switch to specify the number of GPUs per node, and the number of threads per MPI task. 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 * number of @@ -504,117 +448,62 @@ threads/task should not exceed N. With one GPU (and one MPI task) it may be faster to use less than all the available cores, by setting threads/task to a smaller value. This is because using all the cores on a dual-socket node will incur extra cost to copy memory from the -2nd socket to the GPU.

    -

    Examples of mpirun commands that follow these rules are shown above.

    -
    -

    Warning

    -

    When using a GPU, you will achieve the best +2nd socket to the GPU. +

    +

    Examples of mpirun commands that follow these rules are shown above. +

    +

    IMPORTANT NOTE: When using a GPU, you will achieve the best performance if your input script does not use any fix or compute styles which are not yet Kokkos-enabled. This allows data to stay on the GPU for multiple timesteps, without being copied back to the host CPU. Invoking a non-Kokkos fix or compute, or performing I/O for -thermo or dump output will cause data -to be copied back to the CPU.

    -
    -

    You cannot yet assign multiple MPI tasks to the same GPU with the +thermo or dump output will cause data +to be copied back to the CPU. +

    +

    You cannot yet assign multiple MPI tasks to the same GPU with the KOKKOS package. We plan to support this in the future, similar to the -GPU package in LAMMPS.

    -

    You cannot yet use both the host (multi-threaded) and device (GPU) +GPU package in LAMMPS. +

    +

    You cannot yet use both the host (multi-threaded) and device (GPU) together to compute pairwise interactions with the KOKKOS package. We hope to support this in the future, similar to the GPU package in -LAMMPS.

    -

    Running on an Intel Phi:

    -

    Kokkos only uses Intel Phi processors in their “native” mode, i.e. -not hosted by a CPU.

    -

    As illustrated above, build LAMMPS with OMP=yes (the default) and +LAMMPS. +

    +

    Running on an Intel Phi: +

    +

    Kokkos only uses Intel Phi processors in their "native" mode, i.e. +not hosted by a CPU. +

    +

    As illustrated above, build LAMMPS with OMP=yes (the default) and MIC=yes. The latter insures code is correctly compiled for the Intel Phi. The OMP setting means OpenMP will be used for parallelization on the Phi, which is currently the best option within Kokkos. In the -future, other options may be added.

    -

    Current-generation Intel Phi chips have either 61 or 57 cores. One +future, other options may be added. +

    +

    Current-generation Intel Phi chips have either 61 or 57 cores. One core should be excluded for running the OS, leaving 60 or 56 cores. Each core is hyperthreaded, so there are effectively N = 240 (4*60) or -N = 224 (4*56) cores to run on.

    -

    The -np setting of the mpirun command sets the number of MPI -tasks/node. The “-k on t Nt” command-line switch sets the number of +N = 224 (4*56) cores to run on. +

    +

    The -np setting of the mpirun command sets the number of MPI +tasks/node. The "-k on t Nt" command-line switch sets the number of threads/task as Nt. The product of these 2 values should be N, i.e. 240 or 224. Also, the number of threads/task should be a multiple of 4 so that logical threads from more than one MPI task do not run on -the same physical core.

    -

    Examples of mpirun commands that follow these rules are shown above.

    -
    -

    Restrictions¶

    -

    As noted above, if using GPUs, the number of MPI tasks per compute +the same physical core. +

    +

    Examples of mpirun commands that follow these rules are shown above. +

    +

    Restrictions: +

    +

    As noted above, if using GPUs, the number of MPI tasks per compute node should equal to the number of GPUs per compute node. In the future Kokkos will support assigning multiple MPI tasks to a single -GPU.

    -

    Currently Kokkos does not support AMD GPUs due to limits in the +GPU. +

    +

    Currently Kokkos does not support AMD GPUs due to limits in the available backend programming models. Specifically, Kokkos requires extensive C++ support from the Kernel language. This is expected to -change in the future.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +change in the future. +

    + diff --git a/doc/accelerate_omp.html b/doc/accelerate_omp.html index 0663e12685..d30135f1d1 100644 --- a/doc/accelerate_omp.html +++ b/doc/accelerate_omp.html @@ -1,243 +1,153 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.USER-OMP package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.USER-OMP package¶

    -

    The USER-OMP package was developed by Axel Kohlmeyer at Temple + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.5 USER-OMP package +

    +

    The USER-OMP package was developed by Axel Kohlmeyer at Temple University. It provides multi-threaded versions of most pair styles, nearly all bonded styles (bond, angle, dihedral, improper), several Kspace styles, and a few fix styles. The package currently -uses the OpenMP interface for multi-threading.

    -

    Here is a quick overview of how to use the USER-OMP package:

    -
      -
    • use the -fopenmp flag for compiling and linking in your Makefile.machine
    • -
    • include the USER-OMP package and build LAMMPS
    • -
    • use the mpirun command to set the number of MPI tasks/node
    • -
    • specify how many threads per MPI task to use
    • -
    • use USER-OMP styles in your input script
    • -
    -

    The latter two steps can be done using the “-pk omp” and “-sf omp” -command-line switches respectively. Or -the effect of the “-pk” or “-sf” switches can be duplicated by adding -the package omp or suffix omp commands -respectively to your input script.

    -

    Required hardware/software:

    -

    Your compiler must support the OpenMP interface. You should have one +uses the OpenMP interface for multi-threading. +

    +

    Here is a quick overview of how to use the USER-OMP package: +

    +
    • use the -fopenmp flag for compiling and linking in your Makefile.machine +
    • include the USER-OMP package and build LAMMPS +
    • use the mpirun command to set the number of MPI tasks/node +
    • specify how many threads per MPI task to use +
    • use USER-OMP styles in your input script +
    +

    The latter two steps can be done using the "-pk omp" and "-sf omp" +command-line switches respectively. Or +the effect of the "-pk" or "-sf" switches can be duplicated by adding +the package omp or suffix omp commands +respectively to your input script. +

    +

    Required hardware/software: +

    +

    Your compiler must support the OpenMP interface. You should have one or more multi-core CPUs so that multiple threads can be launched by an -MPI task running on a CPU.

    -

    Building LAMMPS with the USER-OMP package:

    -

    To do this in one line, use the src/Make.py script, described in -Section 2.4 of the manual. Type “Make.py --h” for help. If run from the src directory, this command will create +MPI task running on a CPU. +

    +

    Building LAMMPS with the USER-OMP package: +

    +

    To do this in one line, use the src/Make.py script, described in +Section 2.4 of the manual. Type "Make.py +-h" for help. If run from the src directory, this command will create src/lmp_omp using src/MAKE/Makefile.mpi as the starting -Makefile.machine:

    -
    Make.py -p omp -o omp file mpi
    -
    -
    -

    Or you can follow these steps:

    -
    cd lammps/src
    +Makefile.machine:
    +

    +
    Make.py -p omp -o omp file mpi 
    +
    +

    Or you can follow these steps: +

    +
    cd lammps/src
     make yes-user-omp
    -make machine
    -
    -
    -

    The CCFLAGS setting in Makefile.machine needs “-fopenmp” to add OpenMP +make machine + +

    The CCFLAGS setting in Makefile.machine needs "-fopenmp" to add OpenMP support. This works for both the GNU and Intel compilers. Without this flag the USER-OMP styles will still be compiled and work, but will not support multi-threading. For the Intel compilers the CCFLAGS -setting also needs to include “-restrict”.

    -

    Run with the USER-OMP package from the command line:

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +setting also needs to include "-restrict". +

    +

    Run with the USER-OMP package from the command line: +

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    -

    You need to choose how many threads per MPI task will be used by the +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. +

    +

    You need to choose how many threads per MPI task will be used by the USER-OMP package. Note that the product of MPI tasks * threads/task should not exceed the physical number of cores (on a node), otherwise -performance will suffer.

    -

    Use the “-sf omp” command-line switch, -which will automatically append “omp” to styles that support it. Use -the “-pk omp Nt” command-line switch, to -set Nt = # of OpenMP threads per MPI task to use.

    -
    lmp_machine -sf omp -pk omp 16 -in in.script                       # 1 MPI task on a 16-core node
    +performance will suffer.
    +

    +

    Use the "-sf omp" command-line switch, +which will automatically append "omp" to styles that support it. Use +the "-pk omp Nt" command-line switch, to +set Nt = # of OpenMP threads per MPI task to use. +

    +
    lmp_machine -sf omp -pk omp 16 -in in.script                       # 1 MPI task on a 16-core node
     mpirun -np 4 lmp_machine -sf omp -pk omp 4 -in in.script           # 4 MPI tasks each with 4 threads on a single 16-core node
    -mpirun -np 32 -ppn 4 lmp_machine -sf omp -pk omp 4 -in in.script   # ditto on 8 16-core nodes
    -
    -
    -

    Note that if the “-sf omp” switch is used, it also issues a default -package omp 0 command, which sets the number of threads -per MPI task via the OMP_NUM_THREADS environment variable.

    -

    Using the “-pk” switch explicitly allows for direct setting of the +mpirun -np 32 -ppn 4 lmp_machine -sf omp -pk omp 4 -in in.script # ditto on 8 16-core nodes + +

    Note that if the "-sf omp" switch is used, it also issues a default +package omp 0 command, which sets the number of threads +per MPI task via the OMP_NUM_THREADS environment variable. +

    +

    Using the "-pk" switch explicitly allows for direct setting of the number of threads and additional options. Its syntax is the same as -the “package omp” command. See the package command doc +the "package omp" command. See the package command doc page for details, including the default values used for all its options if it is not specified, and how to set the number of threads -via the OMP_NUM_THREADS environment variable if desired.

    -

    Or run with the USER-OMP package by editing an input script:

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and threads/MPI task is the same.

    -

    Use the suffix omp command, or you can explicitly add an -“omp” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/omp 2.5
    -
    -
    -

    You must also use the package omp command to enable the -USER-OMP package, unless the “-sf omp” or “-pk omp” command-line switches were used. It specifies how many +via the OMP_NUM_THREADS environment variable if desired. +

    +

    Or run with the USER-OMP package by editing an input script: +

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +and threads/MPI task is the same. +

    +

    Use the suffix omp command, or you can explicitly add an +"omp" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/omp 2.5 
    +
    +

    You must also use the package omp command to enable the +USER-OMP package, unless the "-sf omp" or "-pk omp" command-line +switches were used. It specifies how many threads per MPI task to use, as well as other options. Its doc page explains how to set the number of threads via an environment variable -if desired.

    -

    Speed-ups to expect:

    -

    Depending on which styles are accelerated, you should look for a -reduction in the “Pair time”, “Bond time”, “KSpace time”, and “Loop -time” values printed at the end of a run.

    -

    You may see a small performance advantage (5 to 20%) when running a +if desired. +

    +

    Speed-ups to expect: +

    +

    Depending on which styles are accelerated, you should look for a +reduction in the "Pair time", "Bond time", "KSpace time", and "Loop +time" values printed at the end of a run. +

    +

    You may see a small performance advantage (5 to 20%) when running a USER-OMP style (in serial or parallel) with a single thread per MPI task, versus running standard LAMMPS with its standard (un-accelerated) styles (in serial or all-MPI parallelization with 1 task/core). This is because many of the USER-OMP styles contain similar optimizations to those used in the OPT package, as described -above.

    -

    With multiple threads/task, the optimal choice of MPI tasks/node and +above. +

    +

    With multiple threads/task, the optimal choice of MPI tasks/node and OpenMP threads/task can vary a lot and should always be tested via benchmark runs for a specific simulation running on a specific machine, paying attention to guidelines discussed in the next -sub-section.

    -

    A description of the multi-threading strategy used in the USER-OMP -package and some performance examples are presented here

    -

    Guidelines for best performance:

    -

    For many problems on current generation CPUs, running the USER-OMP +sub-section. +

    +

    A description of the multi-threading strategy used in the USER-OMP +package and some performance examples are presented +here +

    +

    Guidelines for best performance: +

    +

    For many problems on current generation CPUs, running the USER-OMP package with a single thread/task is faster than running with multiple threads/task. This is because the MPI parallelization in LAMMPS is often more efficient than multi-threading as implemented in the USER-OMP package. The parallel efficiency (in a threaded sense) also -varies for different USER-OMP styles.

    -

    Using multiple threads/task can be more effective under the following -circumstances:

    -
      -
    • Individual compute nodes have a significant number of CPU cores but +varies for different USER-OMP styles. +

      +

      Using multiple threads/task can be more effective under the following +circumstances: +

      +
      • Individual compute nodes have a significant number of CPU cores but the CPU itself has limited memory bandwidth, e.g. for Intel Xeon 53xx (Clovertown) and 54xx (Harpertown) quad core processors. Running one MPI task per CPU core will result in significant performance @@ -245,111 +155,52 @@ degradation, so that running with 4 or even only 2 MPI tasks per node is faster. Running in hybrid MPI+OpenMP mode will reduce the inter-node communication bandwidth contention in the same way, but offers an additional speedup by utilizing the otherwise idle CPU -cores.
      • -
      • The interconnect used for MPI communication does not provide +cores. + +
      • The interconnect used for MPI communication does not provide sufficient bandwidth for a large number of MPI tasks per node. For example, this applies to running over gigabit ethernet or on Cray XT4 or XT5 series supercomputers. As in the aforementioned case, this -effect worsens when using an increasing number of nodes.
      • -
      • The system has a spatially inhomogeneous particle density which does -not map well to the domain decomposition scheme or -load-balancing options that LAMMPS provides. This is +effect worsens when using an increasing number of nodes. + +
      • The system has a spatially inhomogeneous particle density which does +not map well to the domain decomposition scheme or +load-balancing options that LAMMPS provides. This is because multi-threading achives parallelism over the number of -particles, not via their distribution in space.
      • -
      • A machine is being used in “capability mode”, i.e. near the point +particles, not via their distribution in space. + +
      • A machine is being used in "capability mode", i.e. near the point where MPI parallelism is maxed out. For example, this can happen when -using the PPPM solver for long-range +using the PPPM solver for long-range electrostatics on large numbers of nodes. The scaling of the KSpace -calculation (see the kspace_style command) becomes +calculation (see the kspace_style command) becomes the performance-limiting factor. Using multi-threading allows less MPI tasks to be invoked and can speed-up the long-range solver, while increasing overall performance by parallelizing the pairwise and bonded calculations via OpenMP. Likewise additional speedup can be sometimes be achived by increasing the length of the Coulombic cutoff and thus reducing the work done by the long-range solver. Using the -run_style verlet/split command, which is compatible +run_style verlet/split command, which is compatible with the USER-OMP package, is an alternative way to reduce the number -of MPI tasks assigned to the KSpace calculation.
      • -
      -

      Additional performance tips are as follows:

      -
        -
      • The best parallel efficiency from omp styles is typically achieved +of MPI tasks assigned to the KSpace calculation. +
      +

      Additional performance tips are as follows: +

      +
      • The best parallel efficiency from omp styles is typically achieved when there is at least one MPI task per physical processor, -i.e. socket or die.
      • -
      • It is usually most efficient to restrict threading to a single -socket, i.e. use one or more MPI task per socket.
      • -
      • Several current MPI implementation by default use a processor affinity +i.e. socket or die. + +
      • It is usually most efficient to restrict threading to a single +socket, i.e. use one or more MPI task per socket. + +
      • Several current MPI implementation by default use a processor affinity setting that restricts each MPI task to a single CPU core. Using multi-threading in this mode will force the threads to share that core and thus is likely to be counterproductive. Instead, binding MPI -tasks to a (multi-core) socket, should solve this issue.
      • -
      -
      -

      Restrictions¶

      -

      None.

      -
      -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +tasks to a (multi-core) socket, should solve this issue. + +

    Restrictions: +

    +

    None. +

    + diff --git a/doc/accelerate_opt.html b/doc/accelerate_opt.html index 60f1afb2a6..a539df5914 100644 --- a/doc/accelerate_opt.html +++ b/doc/accelerate_opt.html @@ -1,250 +1,87 @@ + +
    Previous Section - LAMMPS WWW Site - +LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - 5.OPT package — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Return to Section accelerate overview

    -
    -

    5.OPT package¶

    -

    The OPT package was developed by James Fischer (High Performance + + +


    + +

    Return to Section accelerate overview +

    +

    5.3.6 OPT package +

    +

    The OPT package was developed by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge Technologies). It contains a handful of pair styles whose compute() methods were rewritten in C++ templated form to reduce the overhead -due to if tests and other conditional code.

    -

    Here is a quick overview of how to use the OPT package:

    -
      -
    • include the OPT package and build LAMMPS
    • -
    • use OPT pair styles in your input script
    • -
    -

    The last step can be done using the “-sf opt” command-line switch. Or the effect of the “-sf” switch -can be duplicated by adding a suffix opt command to your -input script.

    -

    Required hardware/software:

    -

    None.

    -

    Building LAMMPS with the OPT package:

    -

    Include the package and build LAMMPS:

    -

    To do this in one line, use the src/Make.py script, described in -Section 2.4 of the manual. Type “Make.py --h” for help. If run from the src directory, this command will create +due to if tests and other conditional code. +

    +

    Here is a quick overview of how to use the OPT package: +

    +
    • include the OPT package and build LAMMPS +
    • use OPT pair styles in your input script +
    +

    The last step can be done using the "-sf opt" command-line +switch. Or the effect of the "-sf" switch +can be duplicated by adding a suffix opt command to your +input script. +

    +

    Required hardware/software: +

    +

    None. +

    +

    Building LAMMPS with the OPT package: +

    +

    Include the package and build LAMMPS: +

    +

    To do this in one line, use the src/Make.py script, described in +Section 2.4 of the manual. Type "Make.py +-h" for help. If run from the src directory, this command will create src/lmp_opt using src/MAKE/Makefile.mpi as the starting -Makefile.machine:

    -
    Make.py -p opt -o opt file mpi
    -
    -
    -

    Or you can follow these steps:

    -
    cd lammps/src
    +Makefile.machine:
    +

    +
    Make.py -p opt -o opt file mpi 
    +
    +

    Or you can follow these steps: +

    +
    cd lammps/src
     make yes-opt
    -make machine
    -
    -
    -

    If you are using Intel compilers, then the CCFLAGS setting in -Makefile.machine needs to include “-restrict”.

    -

    Run with the OPT package from the command line:

    -

    Use the “-sf opt” command-line switch, -which will automatically append “opt” to styles that support it.

    -
    lmp_machine -sf opt -in in.script
    -mpirun -np 4 lmp_machine -sf opt -in in.script
    -
    -
    -

    Or run with the OPT package by editing an input script:

    -

    Use the suffix opt command, or you can explicitly add an -“opt” suffix to individual styles in your input script, e.g.

    -
    pair_style lj/cut/opt 2.5
    -
    -
    -

    Speed-ups to expect:

    -

    You should see a reduction in the “Pair time” value printed at the end +make machine + +

    If you are using Intel compilers, then the CCFLAGS setting in +Makefile.machine needs to include "-restrict". +

    +

    Run with the OPT package from the command line: +

    +

    Use the "-sf opt" command-line switch, +which will automatically append "opt" to styles that support it. +

    +
    lmp_machine -sf opt -in in.script
    +mpirun -np 4 lmp_machine -sf opt -in in.script 
    +
    +

    Or run with the OPT package by editing an input script: +

    +

    Use the suffix opt command, or you can explicitly add an +"opt" suffix to individual styles in your input script, e.g. +

    +
    pair_style lj/cut/opt 2.5 
    +
    +

    Speed-ups to expect: +

    +

    You should see a reduction in the "Pair time" value printed at the end of a run. On most machines for reasonable problem sizes, it will be a -5 to 20% savings.

    -

    Guidelines for best performance:

    -

    None. Just try out an OPT pair style to see how it performs.

    -
    -

    Restrictions¶

    -

    None.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +5 to 20% savings. +

    +

    Guidelines for best performance: +

    +

    None. Just try out an OPT pair style to see how it performs. +

    +

    Restrictions: +

    +

    None. +

    + diff --git a/doc/angle_charmm.html b/doc/angle_charmm.html index d29673a918..bfac8e0760 100644 --- a/doc/angle_charmm.html +++ b/doc/angle_charmm.html @@ -1,264 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style charmm command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style charmm command¶

    -
    -
    -

    angle_style charmm/kk command¶

    -
    -
    -

    angle_style charmm/omp command¶

    -
    -

    Syntax¶

    -
    angle_style charmm
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style charmm
    -angle_coeff 1 300.0 107.0 50.0 3.0
    -
    -
    -
    -
    -

    Description¶

    -

    The charmm angle style uses the potential

    -_images/angle_charmm.jpg -

    with an additional Urey_Bradley term based on the distance r between + + +


    + +

    angle_style charmm command +

    +

    angle_style charmm/kk command +

    +

    angle_style charmm/omp command +

    +

    Syntax: +

    +
    angle_style charmm 
    +
    +

    Examples: +

    +
    angle_style charmm
    +angle_coeff 1 300.0 107.0 50.0 3.0 
    +
    +

    Description: +

    +

    The charmm angle style uses the potential +

    +
    +
    +

    with an additional Urey_Bradley term based on the distance r between the 1st and 3rd atoms in the angle. K, theta0, Kub, and Rub are -coefficients defined for each angle type.

    -

    See (MacKerell) for a description of the CHARMM force -field.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/radian^2)
    • -
    • theta0 (degrees)
    • -
    • K_ub (energy/distance^2)
    • -
    • r_ub (distance)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +coefficients defined for each angle type. +

    +

    See (MacKerell) for a description of the CHARMM force +field. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/radian^2) +
    • theta0 (degrees) +
    • K_ub (energy/distance^2) +
    • r_ub (distance) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +

    + diff --git a/doc/angle_class2.html b/doc/angle_class2.html index 87b3c9ac2a..df2f305a9b 100644 --- a/doc/angle_class2.html +++ b/doc/angle_class2.html @@ -1,291 +1,126 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style class2 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style class2 command¶

    -
    -
    -

    angle_style class2/omp command¶

    -
    -

    Syntax¶

    -
    angle_style class2
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style class2
    +
    +
    +
    + +

    angle_style class2 command +

    +

    angle_style class2/omp command +

    +

    Syntax: +

    +
    angle_style class2 
    +
    +

    Examples: +

    +
    angle_style class2
     angle_coeff * 75.0
     angle_coeff 1 bb 10.5872 1.0119 1.5228
    -angle_coeff * ba 3.6551 24.895 1.0119 1.5228
    -
    -
    -
    -
    -

    Description¶

    -

    The class2 angle style uses the potential

    -_images/angle_class2.jpg -

    where Ea is the angle term, Ebb is a bond-bond term, and Eba is a +angle_coeff * ba 3.6551 24.895 1.0119 1.5228 + +

    Description: +

    +

    The class2 angle style uses the potential +

    +
    +
    +

    where Ea is the angle term, Ebb is a bond-bond term, and Eba is a bond-angle term. Theta0 is the equilibrium angle and r1 and r2 are -the equilibrium bond lengths.

    -

    See (Sun) for a description of the COMPASS class2 force field.

    -

    Coefficients for the Ea, Ebb, and Eba formulas must be defined for -each angle type via the angle_coeff command as in +the equilibrium bond lengths. +

    +

    See (Sun) for a description of the COMPASS class2 force field. +

    +

    Coefficients for the Ea, Ebb, and Eba formulas must be defined for +each angle type via the angle_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands.

    -

    These are the 4 coefficients for the Ea formula:

    -
      -
    • theta0 (degrees)
    • -
    • K2 (energy/radian^2)
    • -
    • K3 (energy/radian^3)
    • -
    • K4 (energy/radian^4)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of the various K are in per-radian.

    -

    For the Ebb formula, each line in a angle_coeff +read_data or read_restart +commands. +

    +

    These are the 4 coefficients for the Ea formula: +

    +
    • theta0 (degrees) +
    • K2 (energy/radian^2) +
    • K3 (energy/radian^3) +
    • K4 (energy/radian^4) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of the various K are in per-radian. +

    +

    For the Ebb formula, each line in a angle_coeff command in the input script lists 4 coefficients, the first of which -is “bb” to indicate they are BondBond coefficients. In a data file, -these coefficients should be listed under a “BondBond Coeffs” heading -and you must leave out the “bb”, i.e. only list 3 coefficients after -the angle type.

    -
      -
    • bb
    • -
    • M (energy/distance^2)
    • -
    • r1 (distance)
    • -
    • r2 (distance)
    • -
    -

    For the Eba formula, each line in a angle_coeff +is "bb" to indicate they are BondBond coefficients. In a data file, +these coefficients should be listed under a "BondBond Coeffs" heading +and you must leave out the "bb", i.e. only list 3 coefficients after +the angle type. +

    +
    • bb +
    • M (energy/distance^2) +
    • r1 (distance) +
    • r2 (distance) +
    +

    For the Eba formula, each line in a angle_coeff command in the input script lists 5 coefficients, the first of which -is “ba” to indicate they are BondAngle coefficients. In a data file, -these coefficients should be listed under a “BondAngle Coeffs” heading -and you must leave out the “ba”, i.e. only list 4 coefficients after -the angle type.

    -
      -
    • ba
    • -
    • N1 (energy/distance^2)
    • -
    • N2 (energy/distance^2)
    • -
    • r1 (distance)
    • -
    • r2 (distance)
    • -
    -

    The theta0 value in the Eba formula is not specified, since it is the -same value from the Ea formula.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +is "ba" to indicate they are BondAngle coefficients. In a data file, +these coefficients should be listed under a "BondAngle Coeffs" heading +and you must leave out the "ba", i.e. only list 4 coefficients after +the angle type. +

    +
    • ba +
    • N1 (energy/distance^2) +
    • N2 (energy/distance^2) +
    • r1 (distance) +
    • r2 (distance) +
    +

    The theta0 value in the Eba formula is not specified, since it is the +same value from the Ea formula. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the CLASS2 -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the CLASS2 +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). +

    + diff --git a/doc/angle_coeff.html b/doc/angle_coeff.html index db99de280a..1ae29b5f2c 100644 --- a/doc/angle_coeff.html +++ b/doc/angle_coeff.html @@ -1,279 +1,104 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_coeff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_coeff command¶

    -
    -

    Syntax¶

    -
    angle_coeff N args
    -
    -
    -
      -
    • N = angle type (see asterisk form below)
    • -
    • args = coefficients for one or more angle types
    • -
    -
    -
    -

    Examples¶

    -
    angle_coeff 1 300.0 107.0
    +
    +
    +
    + +

    angle_coeff command +

    +

    Syntax: +

    +
    angle_coeff N args 
    +
    +
    • N = angle type (see asterisk form below) +
    • args = coefficients for one or more angle types +
    +

    Examples: +

    +
    angle_coeff 1 300.0 107.0
     angle_coeff * 5.0
    -angle_coeff 2*10 5.0
    -
    -
    -
    -
    -

    Description¶

    -

    Specify the angle force field coefficients for one or more angle types. +angle_coeff 2*10 5.0 + +

    Description: +

    +

    Specify the angle force field coefficients for one or more angle types. The number and meaning of the coefficients depends on the angle style. Angle coefficients can also be set in the data file read by the -read_data command or in a restart file.

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file. +

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple angle types. This takes the -form “*” or “n” or “n” or “m*n”. If N = the number of angle types, +form "*" or "*n" or "n*" or "m*n". If N = the number of angle types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive).

    -

    Note that using an angle_coeff command can override a previous setting +means all types from m to n (inclusive). +

    +

    Note that using an angle_coeff command can override a previous setting for the same angle type. For example, these commands set the coeffs -for all angle types, then overwrite the coeffs for just angle type 2:

    -
    angle_coeff * 200.0 107.0 1.2
    -angle_coeff 2 50.0 107.0
    -
    -
    -

    A line in a data file that specifies angle coefficients uses the exact +for all angle types, then overwrite the coeffs for just angle type 2: +

    +
    angle_coeff * 200.0 107.0 1.2
    +angle_coeff 2 50.0 107.0 
    +
    +

    A line in a data file that specifies angle coefficients uses the exact same format as the arguments of the angle_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the “Angle Coeffs” section of a data file, the line that -corresponds to the 1st example above would be listed as

    -
    1 300.0 107.0
    -
    -
    -

    The angle_style class2 is an exception to this +under the "Angle Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

    +
    1 300.0 107.0 
    +
    +

    The angle_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its -doc page for details.

    -
    -

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on +doc page for details. +

    +
    + +

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated angle_coeff command.

    -

    Note that there are also additional angle styles submitted by users +specified by the associated angle_coeff command. +

    +

    Note that there are also additional angle styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -

    An angle style must be defined before any angle coefficients are -set, either in the input script or in a data file.

    -
    - -
    +links to the individual styles are given in the angle section of this +page. +

    + + +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    An angle style must be defined before any angle coefficients are +set, either in the input script or in a data file. +

    +

    Related commands: +

    +

    angle_style +

    +

    Default: none +

    + diff --git a/doc/angle_cosine.html b/doc/angle_cosine.html index a9772a1b78..709444b5ad 100644 --- a/doc/angle_cosine.html +++ b/doc/angle_cosine.html @@ -1,249 +1,77 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine command¶

    -
    -
    -

    angle_style cosine/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine
    -angle_coeff * 75.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine angle style uses the potential

    -_images/angle_cosine.jpg -

    where K is defined for each angle type.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style cosine command +

    +

    angle_style cosine/omp command +

    +

    Syntax: +

    +
    angle_style cosine 
    +
    +

    Examples: +

    +
    angle_style cosine
    +angle_coeff * 75.0 
    +
    +

    Description: +

    +

    The cosine angle style uses the potential +

    +
    +
    +

    where K is defined for each angle type. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_cosine_delta.html b/doc/angle_cosine_delta.html index d0fb41f861..e7ce77ead4 100644 --- a/doc/angle_cosine_delta.html +++ b/doc/angle_cosine_delta.html @@ -1,253 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine/delta command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine/delta command¶

    -
    -
    -

    angle_style cosine/delta/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine/delta
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine/delta
    -angle_coeff 2*4 75.0 100.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/delta angle style uses the potential

    -_images/angle_cosine_delta.jpg -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • theta0 (degrees)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style cosine/delta command +

    +

    angle_style cosine/delta/omp command +

    +

    Syntax: +

    +
    angle_style cosine/delta 
    +
    +

    Examples: +

    +
    angle_style cosine/delta
    +angle_coeff 2*4 75.0 100.0 
    +
    +

    Description: +

    +

    The cosine/delta angle style uses the potential +

    +
    +
    +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • theta0 (degrees) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff, angle_style +cosine/squared +

    +

    Default: none +

    + diff --git a/doc/angle_cosine_periodic.html b/doc/angle_cosine_periodic.html index 68e9112795..58878bb6aa 100644 --- a/doc/angle_cosine_periodic.html +++ b/doc/angle_cosine_periodic.html @@ -1,263 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine/periodic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine/periodic command¶

    -
    -
    -

    angle_style cosine/periodic/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine/periodic
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine/periodic
    -angle_coeff * 75.0 1 6
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/periodic angle style uses the following potential, which -is commonly used in the DREIDING force -field, particularly for organometallic systems where n = 4 might be -used for an octahedral complex and n = 3 might be used for a -trigonal center:

    -_images/angle_cosine_periodic.jpg -

    where C, B and n are coefficients defined for each angle type.

    -

    See (Mayo) for a description of the DREIDING force field

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • C (energy)
    • -
    • B = 1 or -1
    • -
    • n = 1, 2, 3, 4, 5 or 6 for periodicity
    • -
    -

    Note that the prefactor C is specified and not the overall force + + +


    + +

    angle_style cosine/periodic command +

    +

    angle_style cosine/periodic/omp command +

    +

    Syntax: +

    +
    angle_style cosine/periodic 
    +
    +

    Examples: +

    +
    angle_style cosine/periodic
    +angle_coeff * 75.0 1 6 
    +
    +

    Description: +

    +

    The cosine/periodic angle style uses the following potential, which +is commonly used in the DREIDING force +field, particularly for organometallic systems where n = 4 might be +used for an octahedral complex and n = 3 might be used for a +trigonal center: +

    +
    +
    +

    where C, B and n are coefficients defined for each angle type. +

    +

    See (Mayo) for a description of the DREIDING force field +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • C (energy) +
    • B = 1 or -1 +
    • n = 1, 2, 3, 4, 5 or 6 for periodicity +
    +

    Note that the prefactor C is specified and not the overall force constant K = C / n^2. When B = 1, it leads to a minimum for the linear geometry. When B = -1, it leads to a maximum for the linear -geometry.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +geometry. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). +

    + diff --git a/doc/angle_cosine_shift.html b/doc/angle_cosine_shift.html index 0f7a9ae047..a7ecc30ae3 100644 --- a/doc/angle_cosine_shift.html +++ b/doc/angle_cosine_shift.html @@ -1,254 +1,81 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine/shift command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine/shift command¶

    -
    -
    -

    angle_style cosine/shift/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine/shift
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine/shift
    -angle_coeff * 10.0 45.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/shift angle style uses the potential

    -_images/angle_cosine_shift.jpg -

    where theta0 is the equilibrium angle. The potential is bounded + + +


    + +

    angle_style cosine/shift command +

    +

    angle_style cosine/shift/omp command +

    +

    Syntax: +

    +
    angle_style cosine/shift 
    +
    +

    Examples: +

    +
    angle_style cosine/shift
    +angle_coeff * 10.0 45.0 
    +
    +

    Description: +

    +

    The cosine/shift angle style uses the potential +

    +
    +
    +

    where theta0 is the equilibrium angle. The potential is bounded between -Umin and zero. In the neighborhood of the minimum E=- Umin + -Umin/4(theta-theta0)^2 hence the spring constant is umin/2.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • umin (energy)
    • -
    • theta (angle)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +Umin/4(theta-theta0)^2 hence the spring constant is umin/2. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • umin (energy) +
    • theta (angle) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff, +angle_cosineshiftexp +

    +

    Default: none +

    + diff --git a/doc/angle_cosine_shift_exp.html b/doc/angle_cosine_shift_exp.html index fd3caf1f3b..14b9e71ede 100644 --- a/doc/angle_cosine_shift_exp.html +++ b/doc/angle_cosine_shift_exp.html @@ -1,265 +1,94 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine/shift/exp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine/shift/exp command¶

    -
    -
    -

    angle_style cosine/shift/exp/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine/shift/exp
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine/shift/exp
    -angle_coeff * 10.0 45.0 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/shift/exp angle style uses the potential

    -_images/angle_cosine_shift_exp.jpg -

    where Umin, theta, and a are defined for each angle type.

    -

    The potential is bounded between [-Umin:0] and the minimum is + + +


    + +

    angle_style cosine/shift/exp command +

    +

    angle_style cosine/shift/exp/omp command +

    +

    Syntax: +

    +
    angle_style cosine/shift/exp 
    +
    +

    Examples: +

    +
    angle_style cosine/shift/exp
    +angle_coeff * 10.0 45.0 2.0 
    +
    +

    Description: +

    +

    The cosine/shift/exp angle style uses the potential +

    +
    +
    +

    where Umin, theta, and a are defined for each angle type. +

    +

    The potential is bounded between [-Umin:0] and the minimum is located at the angle theta0. The a parameter can be both positive or negative and is used to control the spring constant at the -equilibrium.

    -

    The spring constant is given by k = A exp(A) Umin / [2 (Exp(a)-1)]. -For a > 3, k/Umin = a/2 to better than 5% relative error. For negative +equilibrium. +

    +

    The spring constant is given by k = A exp(A) Umin / [2 (Exp(a)-1)]. +For a > 3, k/Umin = a/2 to better than 5% relative error. For negative values of the a parameter, the spring constant is essentially zero, and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a -> 0, where it has been implemented to linear -order in a for a < 0.001. In this limit the potential reduces to the -cosineshifted potential.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • umin (energy)
    • -
    • theta (angle)
    • -
    • A (real number)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +behaved in the limit a -> 0, where it has been implemented to linear +order in a for a < 0.001. In this limit the potential reduces to the +cosineshifted potential. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • umin (energy) +
    • theta (angle) +
    • A (real number) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff, +angle_cosineshift, +dihedral_cosineshift +

    +

    Default: none +

    + diff --git a/doc/angle_cosine_squared.html b/doc/angle_cosine_squared.html index 7a8d6b3f6e..7f85d3552b 100644 --- a/doc/angle_cosine_squared.html +++ b/doc/angle_cosine_squared.html @@ -1,253 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style cosine/squared command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style cosine/squared command¶

    -
    -
    -

    angle_style cosine/squared/omp command¶

    -
    -

    Syntax¶

    -
    angle_style cosine/squared
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style cosine/squared
    -angle_coeff 2*4 75.0 100.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/squared angle style uses the potential

    -_images/angle_cosine_squared.jpg -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • theta0 (degrees)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style cosine/squared command +

    +

    angle_style cosine/squared/omp command +

    +

    Syntax: +

    +
    angle_style cosine/squared 
    +
    +

    Examples: +

    +
    angle_style cosine/squared
    +angle_coeff 2*4 75.0 100.0 
    +
    +

    Description: +

    +

    The cosine/squared angle style uses the potential +

    +
    +
    +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • theta0 (degrees) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_dipole.html b/doc/angle_dipole.html index 5367f273fc..b9117b3da9 100644 --- a/doc/angle_dipole.html +++ b/doc/angle_dipole.html @@ -1,290 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style dipole command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style dipole command¶

    -
    -
    -

    angle_style dipole/omp command¶

    -
    -

    Syntax¶

    -
    angle_style dipole
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style dipole
    -angle_coeff 6 2.1 180.0
    -
    -
    -
    -
    -

    Description¶

    -

    The dipole angle style is used to control the orientation of a dipolar -atom within a molecule (Orsi). Specifically, the dipole angle -style restrains the orientation of a point dipole mu_j (embedded in atom -‘j’) with respect to a reference (bond) vector r_ij = r_i - r_j, where ‘i’ -is another atom of the same molecule (typically, ‘i’ and ‘j’ are also -covalently bonded).

    -

    It is convenient to define an angle gamma between the ‘free’ vector mu_j -and the reference (bond) vector r_ij:

    -_images/angle_dipole_gamma.jpg -

    The dipole angle style uses the potential:

    -_images/angle_dipole_potential.jpg -

    where K is a rigidity constant and gamma0 is an equilibrium (reference) -angle.

    -

    The torque on the dipole can be obtained by differentiating the -potential using the ‘chain rule’ as in appendix C.3 of -(Allen):

    -_images/angle_dipole_torque.jpg -

    Example: if gamma0 is set to 0 degrees, the torque generated by -the potential will tend to align the dipole along the reference + + +


    + +

    angle_style dipole command +

    +

    angle_style dipole/omp command +

    +

    Syntax: +

    +
    angle_style dipole 
    +
    +

    Examples: +

    +
    angle_style dipole
    +angle_coeff 6 2.1 180.0 
    +
    +

    Description: +

    +

    The dipole angle style is used to control the orientation of a dipolar +atom within a molecule (Orsi). Specifically, the dipole angle +style restrains the orientation of a point dipole mu_j (embedded in atom +'j') with respect to a reference (bond) vector r_ij = r_i - r_j, where 'i' +is another atom of the same molecule (typically, 'i' and 'j' are also +covalently bonded). +

    +

    It is convenient to define an angle gamma between the 'free' vector mu_j +and the reference (bond) vector r_ij: +

    +
    +
    +

    The dipole angle style uses the potential: +

    +
    +
    +

    where K is a rigidity constant and gamma0 is an equilibrium (reference) +angle. +

    +

    The torque on the dipole can be obtained by differentiating the +potential using the 'chain rule' as in appendix C.3 of +(Allen): +

    +
    +
    +

    Example: if gamma0 is set to 0 degrees, the torque generated by +the potential will tend to align the dipole along the reference direction defined by the (bond) vector r_ij (in other words, mu_j is -restrained to point towards atom ‘i’).

    -

    Note that the angle dipole potential does not give rise to any force, -because it does not depend on the distance between i and j (it only -depends on the angle between mu_j and r_ij).

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • gamma0 (degrees)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +restrained to point towards atom 'i'). +

    +

    Note that the angle dipole potential does not give rise to any force, +because it does not depend on the distance between i and j (it only +depends on the angle between mu_j and r_ij). +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • gamma0 (degrees) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    -

    Warning

    -

    In the “Angles” section of the data file, the atom ID -‘j’ corresponding to the dipole to restrain must come before the atom -ID of the reference atom ‘i’. A third atom ID ‘k’ must also be -provided, although ‘k’ is just a ‘dummy’ atom which can be any atom; -it may be useful to choose a convention (e.g., ‘k’=’i’) and adhere to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    IMPORTANT NOTE: In the "Angles" section of the data file, the atom ID +'j' corresponding to the dipole to restrain must come before the atom +ID of the reference atom 'i'. A third atom ID 'k' must also be +provided, although 'k' is just a 'dummy' atom which can be any atom; +it may be useful to choose a convention (e.g., 'k'='i') and adhere to it. For example, if ID=1 for the dipolar atom to restrain, and ID=2 -for the reference atom, the corresponding line in the “Angles” section -of the data file would read: X X 1 2 2

    -
    -

    The “newton” command for intramolecular interactions must be “on” -(which is the default).

    -

    This angle style should not be used with SHAKE.

    -
    - -
    +for the reference atom, the corresponding line in the "Angles" section +of the data file would read: X X 1 2 2 +

    +

    The "newton" command for intramolecular interactions must be "on" +(which is the default). +

    +

    This angle style should not be used with SHAKE. +

    +

    Related commands: +

    +

    angle_coeff, angle_hybrid +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Orsi) Orsi & Essex, The ELBA force field for coarse-grain modeling of +lipid membranes, PloS ONE 6(12): e28637, 2011. +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Allen) Allen & Tildesley, Computer Simulation of Liquids, +Clarendon Press, Oxford, 1987. +

    + diff --git a/doc/angle_fourier.html b/doc/angle_fourier.html index cf373ae963..93d1b083de 100644 --- a/doc/angle_fourier.html +++ b/doc/angle_fourier.html @@ -1,250 +1,78 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style fourier command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style fourier command¶

    -
    -
    -

    angle_style fourier/omp command¶

    -
    -

    Syntax¶

    -
    angle_style fourier
    -
    -
    -
    -
    -

    Examples¶

    -

    angle_style fourier -angle_coeff 75.0 1.0 1.0 1.0

    -
    -
    -

    Description¶

    -

    The fourier angle style uses the potential

    -_images/angle_fourier.jpg -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • C0 (real)
    • -
    • C1 (real)
    • -
    • C2 (real)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style fourier command +

    +

    angle_style fourier/omp command +

    +

    Syntax: +

    +
    angle_style fourier 
    +
    +

    Examples: +

    +

    angle_style fourier +angle_coeff 75.0 1.0 1.0 1.0 +

    +

    Description: +

    +

    The fourier angle style uses the potential +

    +
    +
    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • C0 (real) +
    • C1 (real) +
    • C2 (real) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_fourier_simple.html b/doc/angle_fourier_simple.html index 0960846c83..732ee095cc 100644 --- a/doc/angle_fourier_simple.html +++ b/doc/angle_fourier_simple.html @@ -1,249 +1,77 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style fourier/simple command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style fourier/simple command¶

    -
    -
    -

    angle_style fourier/simple/omp command¶

    -
    -

    Syntax¶

    -
    angle_style fourier/simple
    -
    -
    -
    -
    -

    Examples¶

    -

    angle_style fourier/simple -angle_coeff 100.0 -1.0 1.0

    -
    -
    -

    Description¶

    -

    The fourier/simple angle style uses the potential

    -_images/angle_fourier_simple.jpg -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • c (real)
    • -
    • n (real)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style fourier/simple command +

    +

    angle_style fourier/simple/omp command +

    +

    Syntax: +

    +
    angle_style fourier/simple 
    +
    +

    Examples: +

    +

    angle_style fourier/simple +angle_coeff 100.0 -1.0 1.0 +

    +

    Description: +

    +

    The fourier/simple angle style uses the potential +

    +
    +
    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • c (real) +
    • n (real) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_harmonic.html b/doc/angle_harmonic.html index 0a9c1d507a..f5b02202ef 100644 --- a/doc/angle_harmonic.html +++ b/doc/angle_harmonic.html @@ -1,258 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style harmonic command¶

    -
    -
    -

    angle_style harmonic/kk command¶

    -
    -
    -

    angle_style harmonic/omp command¶

    -
    -

    Syntax¶

    -
    angle_style harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style harmonic
    -angle_coeff 1 300.0 107.0
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic angle style uses the potential

    -_images/angle_harmonic.jpg -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/radian^2)
    • -
    • theta0 (degrees)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style harmonic command +

    +

    angle_style harmonic/kk command +

    +

    angle_style harmonic/omp command +

    +

    Syntax: +

    +
    angle_style harmonic 
    +
    +

    Examples: +

    +
    angle_style harmonic
    +angle_coeff 1 300.0 107.0 
    +
    +

    Description: +

    +

    The harmonic angle style uses the potential +

    +
    +
    +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/radian^2) +
    • theta0 (degrees) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_hybrid.html b/doc/angle_hybrid.html index 9be62c9f1a..d5e3412fbb 100644 --- a/doc/angle_hybrid.html +++ b/doc/angle_hybrid.html @@ -1,274 +1,96 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style hybrid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style hybrid command¶

    -
    -

    Syntax¶

    -
    angle_style hybrid style1 style2 ...
    -
    -
    -
      -
    • style1,style2 = list of one or more angle styles
    • -
    -
    -
    -

    Examples¶

    -
    angle_style hybrid harmonic cosine
    +
    +
    +
    + +

    angle_style hybrid command +

    +

    Syntax: +

    +
    angle_style hybrid style1 style2 ... 
    +
    +
    • style1,style2 = list of one or more angle styles +
    +

    Examples: +

    +
    angle_style hybrid harmonic cosine
     angle_coeff 1 harmonic 80.0 30.0
    -angle_coeff 2* cosine 50.0
    -
    -
    -
    -
    -

    Description¶

    -

    The hybrid style enables the use of multiple angle styles in one +angle_coeff 2* cosine 50.0 + +

    Description: +

    +

    The hybrid style enables the use of multiple angle styles in one simulation. An angle style is assigned to each angle type. For example, angles in a polymer flow (of angle type 1) could be computed -with a harmonic potential and angles in the wall boundary (of angle -type 2) could be computed with a cosine potential. The assignment -of angle type to style is made via the angle_coeff -command or in the data file.

    -

    In the angle_coeff commands, the name of an angle style must be added +with a harmonic potential and angles in the wall boundary (of angle +type 2) could be computed with a cosine potential. The assignment +of angle type to style is made via the angle_coeff +command or in the data file. +

    +

    In the angle_coeff commands, the name of an angle style must be added after the angle type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 angle_coeff -commands set angles of angle type 1 to be computed with a harmonic +commands set angles of angle type 1 to be computed with a harmonic potential with coefficients 80.0, 30.0 for K, theta0. All other angle -types (2-N) are computed with a cosine potential with coefficient -50.0 for K.

    -

    If angle coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. “harmonic” or “cosine”, must be added after the angle type, for each -line in the “Angle Coeffs” section, e.g.

    -
    Angle Coeffs
    -
    -
    -
    1 harmonic 80.0 30.0
    +types (2-N) are computed with a cosine potential with coefficient
    +50.0 for K.
    +

    +

    If angle coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. "harmonic" or "cosine", must be added after the angle type, for each +line in the "Angle Coeffs" section, e.g. +

    +
    Angle Coeffs 
    +
    +
    1 harmonic 80.0 30.0
     2 cosine 50.0
    -...
    -
    -
    -

    If class2 is one of the angle hybrid styles, the same rule holds for +... + +

    If class2 is one of the angle hybrid styles, the same rule holds for specifying additional BondBond (and BondAngle) coefficients either via -the input script or in the data file. I.e. class2 must be added to +the input script or in the data file. I.e. class2 must be added to each line after the angle type. For lines in the BondBond (or BondAngle) section of the data file for angle types that are not -class2, you must use an angle style of skip as a placeholder, e.g.

    -
    BondBond Coeffs
    -
    -
    -
    1 skip
    +class2, you must use an angle style of skip as a placeholder, e.g.
    +

    +
    BondBond Coeffs 
    +
    +
    1 skip
     2 class2 3.6512 1.0119 1.0119
    -...
    -
    -
    -

    Note that it is not necessary to use the angle style skip in the +... + +

    Note that it is not necessary to use the angle style skip in the input script, since BondBond (or BondAngle) coefficients need not be -specified at all for angle types that are not class2.

    -

    An angle style of none with no additional coefficients can be used +specified at all for angle types that are not class2. +

    +

    An angle style of none with no additional coefficients can be used in place of an angle style, either in a input script angle_coeff command or in the data file, if you desire to turn off interactions -for specific angle types.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    Unlike other angle styles, the hybrid angle style does not store angle -coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a restart -file, you need to re-specify angle_coeff commands.

    -
    - -
    +for specific angle types. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Unlike other angle styles, the hybrid angle style does not store angle +coefficient info for individual sub-styles in a binary restart +files. Thus when retarting a simulation from a restart +file, you need to re-specify angle_coeff commands. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_none.html b/doc/angle_none.html index 80bb96e150..a589bcc7c2 100644 --- a/doc/angle_none.html +++ b/doc/angle_none.html @@ -1,218 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style none command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style none command¶

    -
    -

    Syntax¶

    -
    angle_style none
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Using an angle style of none means angle forces are not computed, even + + +


    + +

    angle_style none command +

    +

    Syntax: +

    +
    angle_style none 
    +
    +

    Examples: +

    +
    angle_style none 
    +
    +

    Description: +

    +

    Using an angle style of none means angle forces are not computed, even if triplets of angle atoms were listed in the data file read by the -read_data command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +read_data command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/angle_quartic.html b/doc/angle_quartic.html index c2b09b06bc..9618b3d7f8 100644 --- a/doc/angle_quartic.html +++ b/doc/angle_quartic.html @@ -1,256 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style quartic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style quartic command¶

    -
    -
    -

    angle_style quartic/omp command¶

    -
    -

    Syntax¶

    -
    angle_style quartic
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style quartic
    -angle_coeff 1 129.1948 56.8726 -25.9442 -14.2221
    -
    -
    -
    -
    -

    Description¶

    -

    The quartic angle style uses the potential

    -_images/angle_quartic.jpg -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • theta0 (degrees)
    • -
    • K2 (energy/radian^2)
    • -
    • K3 (energy/radian^3)
    • -
    • K4 (energy/radian^4)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    angle_style quartic command +

    +

    angle_style quartic/omp command +

    +

    Syntax: +

    +
    angle_style quartic 
    +
    +

    Examples: +

    +
    angle_style quartic
    +angle_coeff 1 129.1948 56.8726 -25.9442 -14.2221 
    +
    +

    Description: +

    +

    The quartic angle style uses the potential +

    +
    +
    +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • theta0 (degrees) +
    • K2 (energy/radian^2) +
    • K3 (energy/radian^3) +
    • K4 (energy/radian^4) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/angle_sdk.html b/doc/angle_sdk.html index a6df98ce5e..fa1b5f37dc 100644 --- a/doc/angle_sdk.html +++ b/doc/angle_sdk.html @@ -1,242 +1,64 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style sdk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style sdk command¶

    -
    -

    Syntax¶

    -
    angle_style sdk
    -
    -
    -
    angle_style sdk/omp
    -
    -
    -
    -
    -

    Examples¶

    -
    angle_style sdk
    -angle_coeff 1 300.0 107.0
    -
    -
    -
    -
    -

    Description¶

    -

    The sdk angle style is a combination of the harmonic angle potential,

    -_images/angle_harmonic.jpg -

    where theta0 is the equilibrium value of the angle and K a prefactor, -with the repulsive part of the non-bonded lj/sdk pair style + + +


    + +

    angle_style sdk command +

    +

    Syntax: +

    +
    angle_style sdk 
    +
    +
    angle_style sdk/omp 
    +
    +

    Examples: +

    +
    angle_style sdk
    +angle_coeff 1 300.0 107.0 
    +
    +

    Description: +

    +

    The sdk angle style is a combination of the harmonic angle potential, +

    +
    +
    +

    where theta0 is the equilibrium value of the angle and K a prefactor, +with the repulsive part of the non-bonded lj/sdk pair style between the atoms 1 and 3. This angle potential is intended for coarse grained MD simulations with the CMM parametrization using the -pair_style lj/sdk. Relative to the pair_style -lj/sdk, however, the energy is shifted by epsilon, to avoid sudden -jumps. Note that the usual 1/2 factor is included in K.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above:

    -
      -
    • K (energy/radian^2)
    • -
    • theta0 (degrees)
    • -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians +pair_style lj/sdk. Relative to the pair_style +lj/sdk, however, the energy is shifted by epsilon, to avoid sudden +jumps. Note that the usual 1/2 factor is included in K. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above: +

    +
    • K (energy/radian^2) +
    • theta0 (degrees) +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -The also required lj/sdk parameters will be extracted automatically -from the pair_style.

    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER-CG-CMM package. See the Making LAMMPS section for more info on packages.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +The also required lj/sdk parameters will be extracted automatically +from the pair_style. +

    +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER-CG-CMM package. See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff, angle_style +harmonic, pair_style lj/sdk, +pair_style lj/sdk/coul/long +

    +

    Default: none +

    + diff --git a/doc/angle_style.html b/doc/angle_style.html index 9f3c84bce2..97ea5e7d87 100644 --- a/doc/angle_style.html +++ b/doc/angle_style.html @@ -1,277 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style command¶

    -
    -

    Syntax¶

    -
    angle_style style
    -
    -
    -
      -
    • style = none or hybrid or charmm or class2 or cosine or cosine/squared or harmonic
    • -
    -
    -
    -

    Examples¶

    -
    angle_style harmonic
    +
    +
    +
    + +

    angle_style command +

    +

    Syntax: +

    +
    angle_style style 
    +
    +
    • style = none or hybrid or charmm or class2 or cosine or cosine/squared or harmonic +
    +

    Examples: +

    +
    angle_style harmonic
     angle_style charmm
    -angle_style hybrid harmonic cosine
    -
    -
    -
    -
    -

    Description¶

    -

    Set the formula(s) LAMMPS uses to compute angle interactions between +angle_style hybrid harmonic cosine + +

    Description: +

    +

    Set the formula(s) LAMMPS uses to compute angle interactions between triplets of atoms, which remain in force for the duration of the simulation. The list of angle triplets is read in by a -read_data or read_restart command -from a data or restart file.

    -

    Hybrid models where angles are computed using different angle -potentials can be setup using the hybrid angle style.

    -

    The coefficients associated with a angle style can be specified in a -data or restart file or via the angle_coeff command.

    -

    All angle potentials store their coefficient data in binary restart -files which means angle_style and angle_coeff +read_data or read_restart command +from a data or restart file. +

    +

    Hybrid models where angles are computed using different angle +potentials can be setup using the hybrid angle style. +

    +

    The coefficients associated with a angle style can be specified in a +data or restart file or via the angle_coeff command. +

    +

    All angle potentials store their coefficient data in binary restart +files which means angle_style and angle_coeff commands do not need to be re-specified in an input script that -restarts a simulation. See the read_restart +restarts a simulation. See the read_restart command for details on how to do this. The one exception is that -angle_style hybrid only stores the list of sub-styles in the restart -file; angle coefficients need to be re-specified.

    -
    -

    Warning

    -

    When both an angle and pair style is defined, the -special_bonds command often needs to be used to +angle_style hybrid only stores the list of sub-styles in the restart +file; angle coefficients need to be re-specified. +

    +

    IMPORTANT NOTE: When both an angle and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 3 bonded atoms.

    -
    -

    In the formulas listed for each angle style, theta is the angle -between the 3 atoms in the angle.

    -
    -

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on +exist between 3 bonded atoms. +

    +

    In the formulas listed for each angle style, theta is the angle +between the 3 atoms in the angle. +

    +
    + +

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated angle_coeff command.

    -

    Note that there are also additional angle styles submitted by users +specified by the associated angle_coeff command. +

    +

    Note that there are also additional angle styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    Angle styles can only be set for atom_styles that allow angles to be -defined.

    -

    Most angle styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +links to the individual styles are given in the angle section of this +page. +

    + + +
    + +

    Restrictions: +

    +

    Angle styles can only be set for atom_styles that allow angles to be +defined. +

    +

    Most angle styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. The doc pages for individual bond potentials tell if it is part of a -package.

    -
    - -
    -

    Default¶

    -
    angle_style none
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +package. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: +

    +
    angle_style none 
    +
    + diff --git a/doc/angle_table.html b/doc/angle_table.html index 2b98e033e2..9f136cd2df 100644 --- a/doc/angle_table.html +++ b/doc/angle_table.html @@ -1,206 +1,91 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - angle_style table command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    angle_style table command¶

    -
    -
    -

    angle_style table/omp command¶

    -
    -

    Syntax¶

    -
    angle_style table style N
    -
    -
    -
      -
    • style = linear or spline = method of interpolation
    • -
    • N = use N values in table
    • -
    -
    -
    -

    Examples¶

    -
    angle_style table linear 1000
    -angle_coeff 3 file.table ENTRY1
    -
    -
    -
    -
    -

    Description¶

    -

    Style table creates interpolation tables of length N from angle + + +


    + +

    angle_style table command +

    +

    angle_style table/omp command +

    +

    Syntax: +

    +
    angle_style table style N 
    +
    +
    • style = linear or spline = method of interpolation +
    • N = use N values in table +
    +

    Examples: +

    +
    angle_style table linear 1000
    +angle_coeff 3 file.table ENTRY1 
    +
    +

    Description: +

    +

    Style table creates interpolation tables of length N from angle potential and derivative values listed in a file(s) as a function of -angle The files are read by the angle_coeff -command.

    -

    The interpolation tables are created by fitting cubic splines to the +angle The files are read by the angle_coeff +command. +

    +

    The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of -N angles. During a simulation, these tables are used to interpolate +N angles. During a simulation, these tables are used to interpolate energy and force values on individual atoms as needed. The -interpolation is done in one of 2 styles: linear or spline.

    -

    For the linear style, the angle is used to find 2 surrounding table +interpolation is done in one of 2 styles: linear or spline. +

    +

    For the linear style, the angle is used to find 2 surrounding table values from which an energy or its derivative is computed by linear -interpolation.

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The angle is used to +interpolation. +

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The angle is used to find the appropriate set of coefficients which are used to evaluate a -cubic polynomial which computes the energy or derivative.

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above.

    -
      -
    • filename
    • -
    • keyword
    • -
    -

    The filename specifies a file containing tabulated energy and +cubic polynomial which computes the energy or derivative. +

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above. +

    +
    • filename +
    • keyword +
    +

    The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The -format of this file is described below.

    -
    -

    The format of a tabulated file is as follows (without the -parenthesized comments):

    -
    # Angle potential for harmonic (one or more comment or blank lines)
    -
    -
    -
    HAM                           (keyword is the first text on line)
    +format of this file is described below.
    +

    +
    + +

    The format of a tabulated file is as follows (without the +parenthesized comments): +

    +
    # Angle potential for harmonic (one or more comment or blank lines) 
    +
    +
    HAM                           (keyword is the first text on line)
     N 181 FP 0 0 EQ 90.0          (N, FP, EQ parameters)
                                   (blank line)
     N 181 FP 0 0                  (N, FP parameters)
     1 0.0 200.5 2.5               (index, angle, energy, derivative)
     2 1.0 198.0 2.5
     ...
    -181 180.0 0.0 0.0
    -
    -
    -

    A section begins with a non-blank line whose 1st character is not a -“#”; blank lines or lines starting with “#” can be used as comments +181 180.0 0.0 0.0 + +

    A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -angle_coeff command. The next line lists (in any +angle_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values.

    -

    The parameter “N” is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the angle_style table command. Let -Ntable = N in the angle_style command, and Nfile = “N” in the +keyword followed by one or more numeric values. +

    +

    The parameter "N" is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the angle_style table command. Let +Ntable = N in the angle_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and derivative @@ -209,17 +94,21 @@ Ntable are then used as described above, when computing energy and force for individual angles and their atoms. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary -interpolation), you should set Ntable = Nfile.

    -

    The “FP” parameter is optional. If used, it is followed by two values +interpolation), you should set Ntable = Nfile. +

    +

    The "FP" parameter is optional. If used, it is followed by two values fplo and fphi, which are the 2nd derivatives at the innermost and outermost angle settings. These values are needed by the spline -construction routines. If not specified by the “FP” parameter, they +construction routines. If not specified by the "FP" parameter, they are estimated (less accurately) by the first two and last two -derivative values in the table.

    -

    The “EQ” parameter is also optional. If used, it is followed by a the -equilibrium angle value, which is used, for example, by the fix shake command. If not used, the equilibrium angle is -set to 180.0.

    -

    Following a blank line, the next N lines list the tabulated values. +derivative values in the table. +

    +

    The "EQ" parameter is also optional. If used, it is followed by a the +equilibrium angle value, which is used, for example, by the fix +shake command. If not used, the equilibrium angle is +set to 180.0. +

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the angle value (in degrees), the 3rd value is the energy (in energy units), and the 4th is -dE/d(theta) (also in energy units). The 3rd @@ -228,100 +117,47 @@ angle. The last term is the derivative of the energy with respect to the angle (in degrees, not radians). Thus the units of the last term are still energy, not force. The angle values must increase from one line to the next. The angle values must also begin with 0.0 and end -with 180.0, i.e. span the full range of possible angles.

    -

    Note that one file can contain many sections, each with a tabulated +with 180.0, i.e. span the full range of possible angles. +

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    angle_coeff +

    +

    Default: none +

    + diff --git a/doc/atom_modify.html b/doc/atom_modify.html index 3feff05e51..7dc0ab5a74 100644 --- a/doc/atom_modify.html +++ b/doc/atom_modify.html @@ -1,343 +1,179 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS +Commands +
    - - - - - - - - - atom_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    atom_modify command¶

    -
    -

    Syntax¶

    -
    atom_modify keyword values ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be appended
    • -
    • keyword = id or map or first or sort
    • -
    -
    -id value = yes or no
    -   map value = array or hash
    -   first value = group-ID = group whose atoms will appear first in internal atom lists
    -   sort values = Nfreq binsize
    +
    +
    +
    + +

    atom_modify command +

    +

    Syntax: +

    +
    atom_modify keyword values ... 
    +
    +
    • one or more keyword/value pairs may be appended + +
    • keyword = id or map or first or sort + +
         id value = yes or no
      +   map value = array or hash
      +   first value = group-ID = group whose atoms will appear first in internal atom lists
      +   sort values = Nfreq binsize
            Nfreq = sort atoms spatially every this many time steps
      -     binsize = bin size for spatial sorting (distance units)
      -
      -
    -
    -

    Examples¶

    -
    atom_modify map hash
    +     binsize = bin size for spatial sorting (distance units) 
    +
    + + +

    Examples: +

    +
    atom_modify map hash
     atom_modify map array sort 10000 2.0
    -atom_modify first colloid
    -
    -
    -
    -
    -

    Description¶

    -

    Modify certain attributes of atoms defined and stored within LAMMPS, -in addition to what is specified by the atom_style -command. The id and map keywords must be specified before a -simulation box is defined; other keywords can be specified any time.

    -

    The id keyword determines whether non-zero atom IDs can be assigned -to each atom. If the value is yes, which is the default, IDs are -assigned, whether you use the create atoms or -read_data or read_restart -commands to initialize atoms. If the value is no the IDs for all -atoms are assumed to be 0.

    -

    If atom IDs are used, they must all be positive integers. They should +atom_modify first colloid + +

    Description: +

    +

    Modify certain attributes of atoms defined and stored within LAMMPS, +in addition to what is specified by the atom_style +command. The id and map keywords must be specified before a +simulation box is defined; other keywords can be specified any time. +

    +

    The id keyword determines whether non-zero atom IDs can be assigned +to each atom. If the value is yes, which is the default, IDs are +assigned, whether you use the create atoms or +read_data or read_restart +commands to initialize atoms. If the value is no the IDs for all +atoms are assumed to be 0. +

    +

    If atom IDs are used, they must all be positive integers. They should also be unique, though LAMMPS does not check for this. Typically they should also be consecutively numbered (from 1 to Natoms), though this -is not required. Molecular atom styles are those +is not required. Molecular atom styles are those that store bond topology information (styles bond, angle, molecular, full). These styles require atom IDs since the IDs are used to encode the topology. Some other LAMMPS commands also require the use of atom IDs. E.g. some many-body pair styles use them to avoid double -computation of the I-J interaction between two atoms.

    -

    The only reason not to use atom IDs is if you are running an atomic +computation of the I-J interaction between two atoms. +

    +

    The only reason not to use atom IDs is if you are running an atomic simulation so large that IDs cannot be uniquely assigned. For a default LAMMPS build this limit is 2^31 or about 2 billion atoms. However, even in this case, you can use 64-bit atom IDs, allowing 2^63 or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG -switch. This is described in Section 2.2 +switch. This is described in Section 2.2 of the manual. If atom IDs are not used, they must be specified as 0 -for all atoms, e.g. in a data or restart file.

    -

    The map keyword determines how atom ID lookup is done for molecular +for all atoms, e.g. in a data or restart file. +

    +

    The map keyword determines how atom ID lookup is done for molecular atom styles. Lookups are performed by bond (angle, etc) routines in -LAMMPS to find the local atom index associated with a global atom ID.

    -

    When the array value is used, each processor stores a lookup table +LAMMPS to find the local atom index associated with a global atom ID. +

    +

    When the array value is used, each processor stores a lookup table of length N, where N is the largest atom ID in the system. This is a fast, simple method for many simulations, but requires too much memory -for large simulations. The hash value uses a hash table to perform -the lookups. This can be slightly slower than the array method, but +for large simulations. The hash value uses a hash table to perform +the lookups. This can be slightly slower than the array method, but its memory cost is proportional to the number of atoms owned by a processor, i.e. N/P when N is the total number of atoms in the system -and P is the number of processors.

    -

    When this setting is not specified in your input script, LAMMPS +and P is the number of processors. +

    +

    When this setting is not specified in your input script, LAMMPS creates a map, if one is needed, as an array or hash. See the discussion of default values below for how LAMMPS chooses which kind of map to build. Note that atomic systems do not normally need to create a map. However, even in this case some LAMMPS commands will create a map to find atoms (and then destroy it), or require a -permanent map. An example of the former is the velocity loop all command, which uses a map when looping over all +permanent map. An example of the former is the velocity loop +all command, which uses a map when looping over all atoms and insuring the same velocity values are assigned to an atom -ID, no matter which processor owns it.

    -

    The first keyword allows a group to be specified whose -atoms will be maintained as the first atoms in each processor’s list +ID, no matter which processor owns it. +

    +

    The first keyword allows a group to be specified whose +atoms will be maintained as the first atoms in each processor's list of owned atoms. This in only useful when the specified group is a small fraction of all the atoms, and there are other operations LAMMPS is performing that will be sped-up significantly by being able to loop over the smaller set of atoms. Otherwise the reordering required by -this option will be a net slow-down. The neigh_modify include and comm_modify group +this option will be a net slow-down. The neigh_modify +include and comm_modify group commands are two examples of commands that require this setting to -work efficiently. Several fixes, most notably time -integration fixes like fix nve, also take advantage of +work efficiently. Several fixes, most notably time +integration fixes like fix nve, also take advantage of this setting if the group they operate on is the group specified by -this command. Note that specifying “all” as the group-ID effectively -turns off the first option.

    -

    It is OK to use the first keyword with a group that has not yet been +this command. Note that specifying "all" as the group-ID effectively +turns off the first option. +

    +

    It is OK to use the first keyword with a group that has not yet been defined, e.g. to use the atom_modify first command at the beginning of your input script. LAMMPS does not use the group until a simullation -is run.

    -

    The sort keyword turns on a spatial sorting or reordering of atoms -within each processor’s sub-domain every Nfreq timesteps. If -Nfreq is set to 0, then sorting is turned off. Sorting can improve +is run. +

    +

    The sort keyword turns on a spatial sorting or reordering of atoms +within each processor's sub-domain every Nfreq timesteps. If +Nfreq is set to 0, then sorting is turned off. Sorting can improve cache performance and thus speed-up a LAMMPS simulation, as discussed -in a paper by (Meloni). Its efficacy depends on the problem +in a paper by (Meloni). Its efficacy depends on the problem size (atoms/processor), how quickly the system becomes disordered, and various other factors. As a general rule, sorting is typically more effective at speeding up simulations of liquids as opposed to solids. -In tests we have done, the speed-up can range from zero to 3-4x.

    -

    Reordering is peformed every Nfreq timesteps during a dynamics run +In tests we have done, the speed-up can range from zero to 3-4x. +

    +

    Reordering is peformed every Nfreq timesteps during a dynamics run or iterations during a minimization. More precisely, reordering occurs at the first reneighboring that occurs after the target timestep. The reordering is performed locally by each processor, -using bins of the specified binsize. If binsize is set to 0.0, -then a binsize equal to half the neighbor cutoff +using bins of the specified binsize. If binsize is set to 0.0, +then a binsize equal to half the neighbor cutoff distance (force cutoff plus skin distance) is used, which is a reasonable value. After the atoms have been binned, they are reordered so that atoms in the same bin are adjacent to each other in -the processor’s 1d list of atoms.

    -

    The goal of this procedure is for atoms to put atoms close to each -other in the processor’s one-dimensional list of atoms that are also +the processor's 1d list of atoms. +

    +

    The goal of this procedure is for atoms to put atoms close to each +other in the processor's one-dimensional list of atoms that are also near to each other spatially. This can improve cache performance when pairwise intereractions and neighbor lists are computed. Note that if bins are too small, there will be few atoms/bin. Likewise if bins are too large, there will be many atoms/bin. In both cases, the goal of -cache locality will be undermined.

    -
    -

    Warning

    -

    Running a simulation with sorting on versus off should +cache locality will be undermined. +

    +

    IMPORTANT NOTE: Running a simulation with sorting on versus off should not change the simulation results in a statistical sense. However, a different ordering will induce round-off differences, which will lead to diverging trajectories over time when comparing two simluations. Various commands, particularly those which use random numbers -(e.g. velocity create, and fix langevin), may generate (statistically identical) +(e.g. velocity create, and fix +langevin), may generate (statistically identical) results which depend on the order in which atoms are processed. The -order of atoms in a dump file will also typically change -if sorting is enabled.

    -
    -
    -
    -

    Restrictions¶

    -

    The first and sort options cannot be used together. Since sorting -is on by default, it will be turned off if the first keyword is -used with a group-ID that is not “all”.

    -

    Related commands: none

    -
    -
    -

    Default¶

    -

    By default, id is yes. By default, atomic systems (no bond topology -info) do not use a map. For molecular systems (with bond topology -info), a map is used. The default map style is array if no atom ID is -larger than 1 million, otherwise the default is hash. By default, a -“first” group is not defined. By default, sorting is enabled with a -frequency of 1000 and a binsize of 0.0, which means the neighbor -cutoff will be used to set the bin size.

    -
    -

    (Meloni) Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007).

    -
    -
    +order of atoms in a dump file will also typically change +if sorting is enabled. +

    +

    Restrictions: +

    +

    The first and sort options cannot be used together. Since sorting +is on by default, it will be turned off if the first keyword is +used with a group-ID that is not "all". +

    +

    Related commands: none +

    +

    Default: +

    +

    By default, id is yes. By default, atomic systems (no bond topology +info) do not use a map. For molecular systems (with bond topology +info), a map is used. The default map style is array if no atom ID is +larger than 1 million, otherwise the default is hash. By default, a +"first" group is not defined. By default, sorting is enabled with a +frequency of 1000 and a binsize of 0.0, which means the neighbor +cutoff will be used to set the bin size. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Meloni) Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007). +

    + diff --git a/doc/atom_style.html b/doc/atom_style.html index a335d9a186..6c690b135f 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -1,472 +1,268 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - atom_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    atom_style command¶

    -
    -

    Syntax¶

    -
    atom_style style args
    -
    -
    -
      -
    • style = angle or atomic or body or bond or charge or dipole or electron or ellipsoid or full or line or meso or molecular or peri or sphere or tri or template or hybrid
    • -
    -
    -args = none for any style except body and hybrid
    -  body args = bstyle bstyle-args
    +
    +
    +
    + +

    atom_style command +

    +

    Syntax: +

    +
    atom_style style args 
    +
    +
    • style = angle or atomic or body or bond or charge or dipole or electron or ellipsoid or full or line or meso or molecular or peri or sphere or tri or template or hybrid + +
        args = none for any style except body and hybrid
      +  body args = bstyle bstyle-args
           bstyle = style of body particles
           bstyle-args = additional arguments specific to the bstyle
      -                  see the body doc page for details
      -  template args = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  hybrid args = list of one or more sub-styles, each with their args
      -
      -
        -
      • accelerated styles (with same args) = angle/cuda or angle/kk or atomic/cuda or atomic/kk or bond/kk or charge/cuda or charge/kk or full/cuda or full/kk or molecular/kk
      • -
      -
    -
    -

    Examples¶

    -
    atom_style atomic
    +                  see the body doc page for details
    +  template args = template-ID
    +    template-ID = ID of molecule template specified in a separate molecule command
    +  hybrid args = list of one or more sub-styles, each with their args 
    +
    +
  • accelerated styles (with same args) = angle/cuda or angle/kk or atomic/cuda or atomic/kk or bond/kk or charge/cuda or charge/kk or full/cuda or full/kk or molecular/kk + + + +

    Examples: +

    +
    atom_style atomic
     atom_style bond
     atom_style full
     atom_style full/cuda
     atom_style body nparticle 2 10
     atom_style hybrid charge bond
     atom_style hybrid charge body nparticle 2 5
    -atom_style template myMols
    -
  • -
    -
    -
    -

    Description¶

    -

    Define what style of atoms to use in a simulation. This determines +atom_style template myMols + +

    Description: +

    +

    Define what style of atoms to use in a simulation. This determines what attributes are associated with the atoms. This command must be -used before a simulation is setup via a read_data, -read_restart, or create_box -command.

    -

    Once a style is assigned, it cannot be changed, so use a style general -enough to encompass all attributes. E.g. with style bond, angular +used before a simulation is setup via a read_data, +read_restart, or create_box +command. +

    +

    Once a style is assigned, it cannot be changed, so use a style general +enough to encompass all attributes. E.g. with style bond, angular terms cannot be used or added later to the model. It is OK to use a -style more general than needed, though it may be slightly inefficient.

    -

    The choice of style affects what quantities are stored by each atom, +style more general than needed, though it may be slightly inefficient. +

    +

    The choice of style affects what quantities are stored by each atom, what quantities are communicated between processors to enable forces to be computed, and what quantities are listed in the data file read -by the read_data command.

    -

    These are the additional attributes of each style and the typical +by the read_data command. +

    +

    These are the additional attributes of each style and the typical kinds of physical systems they are used to model. All styles store coordinates, velocities, atom IDs and types. See the -read_data, create_atoms, and -set commands for info on how to set these various -quantities.

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    anglebonds and anglesbead-spring polymers with stiffness
    atomiconly the default valuescoarse-grain liquids, solids, metals
    bodymass, inertia moments, quaternion, angular momentumarbitrary bodies
    bondbondsbead-spring polymers
    chargechargeatomic system with charges
    dipolecharge and dipole momentsystem with dipolar particles
    electroncharge and spin and eradiuselectronic force field
    ellipsoidshape, quaternion, angular momentumaspherical particles
    fullmolecular + chargebio-molecules
    lineend points, angular velocityrigid bodies
    mesorho, e, cvSPH particles
    molecularbonds, angles, dihedrals, impropersuncharged molecules
    perimass, volumemesocopic Peridynamic models
    spherediameter, mass, angular velocitygranular models
    templatetemplate index, template atomsmall molecules with fixed topology
    tricorner points, angular momentumrigid bodies
    wavepacketcharge, spin, eradius, etag, cs_re, cs_imAWPMD
    -
    -

    Warning

    -

    It is possible to add some attributes, such as a -molecule ID, to atom styles that do not have them via the fix property/atom command. This command also +read_data, create_atoms, and +set commands for info on how to set these various +quantities. +

    +
    + + + + + + + + + + + + + + + + +
    angle bonds and angles bead-spring polymers with stiffness
    atomic only the default values coarse-grain liquids, solids, metals
    body mass, inertia moments, quaternion, angular momentum arbitrary bodies
    bond bonds bead-spring polymers
    charge charge atomic system with charges
    dipole charge and dipole moment system with dipolar particles
    electron charge and spin and eradius electronic force field
    ellipsoid shape, quaternion, angular momentum aspherical particles
    full molecular + charge bio-molecules
    line end points, angular velocity rigid bodies
    meso rho, e, cv SPH particles
    molecular bonds, angles, dihedrals, impropers uncharged molecules
    peri mass, volume mesocopic Peridynamic models
    sphere diameter, mass, angular velocity granular models
    template template index, template atom small molecules with fixed topology
    tri corner points, angular momentum rigid bodies
    wavepacket charge, spin, eradius, etag, cs_re, cs_im AWPMD +
    + +

    IMPORTANT NOTE: It is possible to add some attributes, such as a +molecule ID, to atom styles that do not have them via the fix +property/atom command. This command also allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases +floating-point values to be added to atoms. See the fix +property/atom doc page for examples of cases where this is useful and details on how to initialize, access, and -output the custom values.

    -
    -

    All of the above styles define point particles, except the sphere, -ellipsoid, electron, peri, wavepacket, line, tri, and -body styles, which define finite-size particles. See Section_howto 14 for an overview of using finite-size -particle models with LAMMPS.

    -

    All of the point-particle styles assign mass to particles on a -per-type basis, using the mass command, The finite-size +output the custom values. +

    +

    All of the above styles define point particles, except the sphere, +ellipsoid, electron, peri, wavepacket, line, tri, and +body styles, which define finite-size particles. See Section_howto +14 for an overview of using finite-size +particle models with LAMMPS. +

    +

    All of the point-particle styles assign mass to particles on a +per-type basis, using the mass command, The finite-size particle styles assign mass to individual particles on a per-particle -basis.

    -

    For the sphere style, the particles are spheres and each stores a -per-particle diameter and mass. If the diameter > 0.0, the particle +basis. +

    +

    For the sphere style, the particles are spheres and each stores a +per-particle diameter and mass. If the diameter > 0.0, the particle is a finite-size sphere. If the diameter = 0.0, it is a point -particle.

    -

    For the ellipsoid style, the particles are ellipsoids and each +particle. +

    +

    For the ellipsoid style, the particles are ellipsoids and each stores a flag which indicates whether it is a finite-size ellipsoid or a point particle. If it is an ellipsoid, it also stores a shape vector with the 3 diamters of the ellipsoid and a quaternion 4-vector -with its orientation.

    -

    For the electron style, the particles representing electrons are 3d +with its orientation. +

    +

    For the electron style, the particles representing electrons are 3d Gaussians with a specified position and bandwidth or uncertainty in -position, which is represented by the eradius = electron size.

    -

    For the peri style, the particles are spherical and each stores a -per-particle mass and volume.

    -

    The meso style is for smoothed particle hydrodynamics (SPH) +position, which is represented by the eradius = electron size. +

    +

    For the peri style, the particles are spherical and each stores a +per-particle mass and volume. +

    +

    The meso style is for smoothed particle hydrodynamics (SPH) particles which store a density (rho), energy (e), and heat capacity -(cv).

    -

    The wavepacket style is similar to electron, but the electrons may +(cv). +

    +

    The wavepacket style is similar to electron, but the electrons may consist of several Gaussian wave packets, summed up with coefficients cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must -have identical etag values.

    -

    For the line style, the particles are idealized line segments and +have identical etag values. +

    +

    For the line style, the particles are idealized line segments and each stores a per-particle mass and length and orientation (i.e. the -end points of the line segment).

    -

    For the tri style, the particles are planar triangles and each +end points of the line segment). +

    +

    For the tri style, the particles are planar triangles and each stores a per-particle mass and size and orientation (i.e. the corner -points of the triangle).

    -

    The template style allows molecular topolgy (bonds,angles,etc) to be -defined via a molecule template using the molecule +points of the triangle). +

    +

    The template style allows molecular topolgy (bonds,angles,etc) to be +defined via a molecule template using the molecule command. The template stores one or more molecules with a single copy of the topology info (bonds,angles,etc) of each. Individual atoms only store a template index and template atom to identify which molecule and which atom-within-the-molecule they represent. Using the -template style instead of the bond, angle, molecular styles +template style instead of the bond, angle, molecular styles can save memory for systems comprised of a large number of small molecules, all of a single type (or small number of types). See the -paper by Grime and Voth, in (Grime), for examples of how this -can be advantageous for large-scale coarse-grained systems.

    -
    -

    Warning

    -

    When using the template style with a molecule template that contains multiple molecules, you should +paper by Grime and Voth, in (Grime), for examples of how this +can be advantageous for large-scale coarse-grained systems. +

    +

    IMPORTANT NOTE: When using the template style with a molecule +template that contains multiple molecules, you should insure the atom types, bond types, angle_types, etc in all the molecules are consistent. E.g. if one molecule represents H2O and another CO2, then you probably do not want each molecule file to define 2 atom types and a single bond type, because they will conflict with each other when a mixture system of H2O and CO2 molecules is -defined, e.g. by the read_data command. Rather the +defined, e.g. by the read_data command. Rather the H2O molecule should define atom types 1 and 2, and bond type 1. And the CO2 molecule should define atom types 3 and 4 (or atom types 3 and -2 if a single oxygen type is desired), and bond type 2.

    -
    -

    For the body style, the particles are arbitrary bodies with internal -attributes defined by the “style” of the bodies, which is specified by -the bstyle argument. Body particles can represent complex entities, +2 if a single oxygen type is desired), and bond type 2. +

    +

    For the body style, the particles are arbitrary bodies with internal +attributes defined by the "style" of the bodies, which is specified by +the bstyle argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of -sub-particles, deformable objects, etc.

    -

    The body doc page descibes the body styles LAMMPS +sub-particles, deformable objects, etc. +

    +

    The body doc page descibes the body styles LAMMPS currently supports, and provides more details as to the kind of body particles they represent. For all styles, each body particle stores moments of inertia and a quaternion 4-vector, so that its orientation -and position can be time integrated due to forces and torques.

    -

    Note that there may be additional arguments required along with the -bstyle specification, in the atom_style body command. These -arguments are described in the body doc page.

    -
    -

    Typically, simulations require only a single (non-hybrid) atom style. +and position can be time integrated due to forces and torques. +

    +

    Note that there may be additional arguments required along with the +bstyle specification, in the atom_style body command. These +arguments are described in the body doc page. +

    +
    + +

    Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the needed properties by any atom. For example, if some atoms in a -simulation are charged, but others are not, use the charge style. -If some atoms have bonds, but others do not, use the bond style.

    -

    The only scenario where the hybrid style is needed is if there is no +simulation are charged, but others are not, use the charge style. +If some atoms have bonds, but others do not, use the bond style. +

    +

    The only scenario where the hybrid style is needed is if there is no single style which defines all needed properties of all atoms. For example, if you want dipolar particles which will rotate due to -torque, you would need to use “atom_style hybrid sphere dipole”. When +torque, you would need to use "atom_style hybrid sphere dipole". When a hybrid style is used, atoms store and communicate the union of all -quantities implied by the individual styles.

    -

    When using the hybrid style, you cannot combine the template style +quantities implied by the individual styles. +

    +

    When using the hybrid style, you cannot combine the template style with another molecular style that stores bond,angle,etc info on a -per-atom basis.

    -

    LAMMPS can be extended with new atom styles as well as new body -styles; see this section.

    -
    -

    Styles with a cuda or kk suffix are functionally the same as the +per-atom basis. +

    +

    LAMMPS can be extended with new atom styles as well as new body +styles; see this section. +

    +
    + +

    Styles with a cuda or kk 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. The accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues.

    -

    Note that other acceleration packages in LAMMPS, specifically the GPU, +results, except for round-off and precision issues. +

    +

    Note that other acceleration packages in LAMMPS, specifically the GPU, USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom -styles.

    -

    The accelerated styles are part of the USER-CUDA and KOKKOS packages +styles. +

    +

    The accelerated styles are part of the USER-CUDA and KOKKOS packages respectively. They are only enabled if LAMMPS was built with those -packages. See the Making LAMMPS section -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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command.

    -

    The angle, bond, full, molecular, and template styles are -part of the MOLECULE package. The line and tri styles are part -of the ASPHERE pacakge. The body style is part of the BODY package. -The dipole style is part of the DIPOLE package. The peri style is -part of the PERI package for Peridynamics. The electron style is -part of the USER-EFF package for electronic force fields. The meso style is part of the USER-SPH -package for smoothed particle hydrodyanmics (SPH). See this PDF guide to using SPH in LAMMPS. The -wavepacket style is part of the USER-AWPMD package for the -antisymmetrized wave packet MD method. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    atom_style atomic

    -
    -

    (Grime) Grime and Voth, to appear in J Chem Theory & Computation -(2014).

    -
    -
    +packages. See the Making LAMMPS section +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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

    +

    The angle, bond, full, molecular, and template styles are +part of the MOLECULE package. The line and tri styles are part +of the ASPHERE pacakge. The body style is part of the BODY package. +The dipole style is part of the DIPOLE package. The peri style is +part of the PERI package for Peridynamics. The electron style is +part of the USER-EFF package for electronic force +fields. The meso style is part of the USER-SPH +package for smoothed particle hydrodyanmics (SPH). See this PDF +guide to using SPH in LAMMPS. The +wavepacket style is part of the USER-AWPMD package for the +antisymmetrized wave packet MD method. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    read_data, pair_style +

    +

    Default: +

    +

    atom_style atomic +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Grime) Grime and Voth, to appear in J Chem Theory & Computation +(2014). +

    + diff --git a/doc/balance.html b/doc/balance.html index 7899e7a6ab..39acba35ea 100644 --- a/doc/balance.html +++ b/doc/balance.html @@ -1,246 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - balance command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    balance command¶

    -
    -

    Syntax¶

    -
    balance thresh style args ... keyword value ...
    -
    -
    -
      -
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance
    • -
    • one style/arg pair can be used (or multiple for x,*y*,*z*)
    • -
    • style = x or y or z or shift or rcb
    • -
    -
    -x args = uniform or Px-1 numbers between 0 and 1
    -    uniform = evenly spaced cuts between processors in x dimension
    +
    +
    +
    + +

    balance command +

    +

    Syntax: +

    +
    balance thresh style args ... keyword value ... 
    +
    +
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance + +
    • one style/arg pair can be used (or multiple for x,y,z) + +
    • style = x or y or z or shift or rcb + +
        x args = uniform or Px-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in x dimension
           numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension
      -    x can be specified together with y or z
      -  y args = uniform or Py-1 numbers between 0 and 1
      -    uniform = evenly spaced cuts between processors in y dimension
      +    x can be specified together with y or z
      +  y args = uniform or Py-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in y dimension
           numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension
      -    y can be specified together with x or z
      -  z args = uniform or Pz-1 numbers between 0 and 1
      -    uniform = evenly spaced cuts between processors in z dimension
      +    y can be specified together with x or z
      +  z args = uniform or Pz-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in z dimension
           numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension
      -    z can be specified together with x or y
      -  shift args = dimstr Niter stopthresh
      -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
      +    z can be specified together with x or y
      +  shift args = dimstr Niter stopthresh
      +    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
           Niter = # of times to iterate within each dimension of dimstr sequence
           stopthresh = stop balancing when this imbalance threshhold is reached
      -  rcb args = none
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = out
      • -
      -
      -out value = filename
      -    filename = write each processor's sub-domain to a file
      -
      -
    -
    -

    Examples¶

    -
    balance 0.9 x uniform y 0.4 0.5 0.6
    +  rcb args = none 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = out + +
      out value = filename
    +    filename = write each processor's sub-domain to a file 
    +
    + + +

    Examples: +

    +
    balance 0.9 x uniform y 0.4 0.5 0.6
     balance 1.2 shift xz 5 1.1
     balance 1.0 shift xz 5 1.1
     balance 1.1 rcb
    -balance 1.0 shift x 20 1.0 out tmp.balance
    -
  • -
    -
    -
    -

    Description¶

    -

    This command adjusts the size and shape of processor sub-domains +balance 1.0 shift x 20 1.0 out tmp.balance + +

    Description: +

    +

    This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across -processors. The load balancing is “static” in the sense that this +processors. The load balancing is "static" in the sense that this command performs the balancing once, before or between simulations. The processor sub-domains will then remain static during the -subsequent run. To perform “dynamic” balancing, see the fix balance command, which can adjust processor -sub-domain sizes and shapes on-the-fly during a run.

    -

    Load-balancing is typically only useful if the particles in the +subsequent run. To perform "dynamic" balancing, see the fix +balance command, which can adjust processor +sub-domain sizes and shapes on-the-fly during a run. +

    +

    Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per procesor, may assign very different numbers of particles per processor. This can lead to poor -performance when the simulation is run in parallel.

    -

    Note that the processors command allows some control +performance when the simulation is run in parallel. +

    +

    Note that the processors command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume.

    -

    The requested load-balancing operation is only performed if the -current “imbalance factor” in particles owned by each processor -exceeds the specified thresh parameter. The imbalance factor is +sub-domains will still have the same shape and same volume. +

    +

    The requested load-balancing operation is only performed if the +current "imbalance factor" in particles owned by each processor +exceeds the specified thresh parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an -imbalance factor of 1.0 is perfect balance.

    -

    As an example, for 10000 particles running on 10 processors, if the +imbalance factor of 1.0 is perfect balance. +

    +

    As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that a re-balance can be forced even if the current balance is perfect (1.0) be specifying a -thresh < 1.0.

    -
    -

    Warning

    -

    Balancing is performed even if the imbalance factor -does not exceed the thresh parameter if a “grid” style is specified -when the current partitioning is “tiled”. The meaning of “grid” vs -“tiled” is explained below. This is to allow forcing of the -partitioning to “grid” so that the comm_style brick -command can then be used to replace a current comm_style tiled setting.

    -
    -

    When the balance command completes, it prints statistics about the +thresh < 1.0. +

    +

    IMPORTANT NOTE: Balancing is performed even if the imbalance factor +does not exceed the thresh parameter if a "grid" style is specified +when the current partitioning is "tiled". The meaning of "grid" vs +"tiled" is explained below. This is to allow forcing of the +partitioning to "grid" so that the comm_style brick +command can then be used to replace a current comm_style +tiled setting. +

    +

    When the balance command completes, it prints statistics about the result, including the change in the imbalance factor and the change in -the maximum number of particles on any processor. For “grid” methods +the maximum number of particles on any processor. For "grid" methods (defined below) that create a logical 3d grid of processors, the positions of all cutting planes in each of the 3 dimensions (as -fractions of the box length) are also printed.

    -
    -

    Warning

    -

    This command attempts to minimize the imbalance +fractions of the box length) are also printed. +

    +

    IMPORTANT NOTE: This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect -balance (1.0) may not be achieved. For example, “grid” methods +balance (1.0) may not be achieved. For example, "grid" methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the intiial system is -generated by the create_atoms command, then “grid” +generated by the create_atoms command, then "grid" methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single -processor.

    -
    -
    -

    Warning

    -

    The imbalance factor is also an estimate of the +processor. +

    +

    IMPORTANT NOTE: The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were @@ -248,117 +132,105 @@ perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM -solver used via the kspace_style command. Thus +solver used via the kspace_style command. Thus you should benchmark the run times of a simulation before and after -balancing.

    -
    -
    -

    The method used to perform a load balance is specified by one of the -listed styles (or more in the case of x,*y*,*z*), which are -described in detail below. There are 2 kinds of styles.

    -

    The x, y, z, and shift styles are “grid” methods which produce +balancing. +

    +
    + +

    The method used to perform a load balance is specified by one of the +listed styles (or more in the case of x,y,z), which are +described in detail below. There are 2 kinds of styles. +

    +

    The x, y, z, and shift styles are "grid" methods which produce a logical 3d grid of processors. They operate by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for -each of 16 processors); the middle diagram is after a “grid” method -has been applied.

    - - - -

    The rcb style is a “tiling” method which does not produce a logical +each of 16 processors); the middle diagram is after a "grid" method +has been applied. +

    +
    +
    +

    The rcb style is a "tiling" method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as -in the rightmost diagram above.

    -

    The “grid” methods can be used with either of the -comm_style command options, brick or tiled. The -“tiling” methods can only be used with comm_style tiled. Note that it can be useful to use a “grid” -method with comm_style tiled to return the domain -partitioning to a logical 3d grid of processors so that “comm_style -brick” can afterwords be specified for subsequent run -commands.

    -

    When a “grid” method is specified, the current domain partitioning can +in the rightmost diagram above. +

    +

    The "grid" methods can be used with either of the +comm_style command options, brick or tiled. The +"tiling" methods can only be used with comm_style +tiled. Note that it can be useful to use a "grid" +method with comm_style tiled to return the domain +partitioning to a logical 3d grid of processors so that "comm_style +brick" can afterwords be specified for subsequent run +commands. +

    +

    When a "grid" method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This becomes the starting -point for the balancing operation.

    -

    When a “tiling” method is specified, the current domain partitioning -(“grid” or “tiled”) is ignored, and a new partitioning is computed -from scratch.

    -
    -

    The x, y, and z styles invoke a “grid” method for balancing, as +point for the balancing operation. +

    +

    When a "tiling" method is specified, the current domain partitioning +("grid" or "tiled") is ignored, and a new partitioning is computed +from scratch. +

    +
    + +

    The x, y, and z styles invoke a "grid" method for balancing, as described above. Note that any or all of these 3 styles can be specified together, one after the other, but they cannot be used with any other style. This style adjusts the position of cutting planes between processor sub-domains in specific dimensions. Only the -specified dimensions are altered.

    -

    The uniform argument spaces the planes evenly, as in the left -diagrams above. The numeric argument requires listing Ps-1 numbers +specified dimensions are altered. +

    +

    The uniform argument spaces the planes evenly, as in the left +diagrams above. The numeric argument requires listing Ps-1 numbers that specify the position of the cutting planes. This requires knowing Ps = Px or Py or Pz = the number of processors assigned by LAMMPS to the relevant dimension. This assignment is made (and the Px, Py, Pz values printed out) when the simulation box is created by -the “create_box” or “read_data” or “read_restart” command and is -influenced by the settings of the processors -command.

    -

    Each of the numeric values must be between 0 and 1, and they must be +the "create_box" or "read_data" or "read_restart" command and is +influenced by the settings of the processors +command. +

    +

    Each of the numeric values must be between 0 and 1, and they must be listed in ascending order. They represent the fractional position of the cutting place. The left (or lower) edge of the box is 0.0, and the right (or upper) edge is 1.0. Neither of these values is specified. Only the interior Ps-1 positions are specified. Thus is there are 2 procesors in the x dimension, you specify a single value -such as 0.75, which would make the left processor’s sub-domain 3x -larger than the right processor’s sub-domain.

    -
    -

    The shift style invokes a “grid” method for balancing, as +such as 0.75, which would make the left processor's sub-domain 3x +larger than the right processor's sub-domain. +

    +
    + +

    The shift style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance -factor, similar to how the fix balance shift -command operates.

    -

    The dimstr argument is a string of characters, each of which must be -an “x” or “y” or “z”. Eacn character can appear zero or one time, +factor, similar to how the fix balance shift +command operates. +

    +

    The dimstr argument is a string of characters, each of which must be +an "x" or "y" or "z". Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there -to be a density variation in the particles.

    -

    Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in dimstr, one dimension at a time. For a single +to be a density variation in the particles. +

    +

    Balancing proceeds by adjusting the cutting planes in each of the +dimensions listed in dimstr, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up -to Niter times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the stopthresh -criterion is met.

    -

    A rebalance operation in a single dimension is performed using a +to Niter times. After each dimension finishes, the imbalance factor +is re-computed, and the balancing operation halts if the stopthresh +criterion is met. +

    +

    A rebalance operation in a single dimension is performed using a recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning for a single value, except @@ -370,31 +242,33 @@ the cut is adjusted to be halfway between a low and high bound. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recustion progresses, the count of particles on either side of the -plane gets closer to the target value.

    -

    Once the rebalancing is complete and final processor sub-domains +plane gets closer to the target value. +

    +

    Once the rebalancing is complete and final processor sub-domains assigned, particles are migrated to their new owning processor, and -the balance procedure ends.

    -
    -

    Warning

    -

    At each rebalance operation, the bisectioning for each +the balance procedure ends. +

    +

    IMPORTANT NOTE: At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds -separated by the extent of a processor’s sub-domain in one dimension. +separated by the extent of a processor's sub-domain in one dimension. The size of this bracketing region shrinks by 1/2 every iteration. -Thus if Niter is specified as 10, the cutting plane will typically +Thus if Niter is specified as 10, the cutting plane will typically be positioned to 1 part in 1000 accuracy (relative to the perfect -target position). For Niter = 20, it will be accurate to 1 part in -a million. Thus there is no need ot set Niter to a large value. +target position). For Niter = 20, it will be accurate to 1 part in +a million. Thus there is no need ot set Niter to a large value. LAMMPS will check if the threshold accuracy is reached (in a -dimension) is less iterations than Niter and exit early. However, -Niter should also not be set too small, since it will take roughly +dimension) is less iterations than Niter and exit early. However, +Niter should also not be set too small, since it will take roughly the same number of iterations to converge even if the cutting plane is -initially close to the target value.

    -
    -
    -

    The rcb style invokes a “tiled” method for balancing, as described +initially close to the target value. +

    +
    + +

    The rcb style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows.

    -

    The simulation domain is cut into 2 boxes by an axis-aligned cut in +simulation domain. The basic idea is as follows. +

    +

    The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the @@ -405,23 +279,27 @@ box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors -at each iteration.

    -

    That is the procedure for the first cut. Subsequent cuts are made +at each iteration. +

    +

    That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms -in that sub-box.

    -
    -

    The out keyword writes a text file to the specified filename with +in that sub-box. +

    +
    + +

    The out keyword writes a text file to the specified filename with the results of the balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the -Pizza.py mdump tool which has support for manipulating and +Pizza.py mdump tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem:

    -
    ITEM: TIMESTEP
    +processors for a 2d problem:
    +

    +
    ITEM: TIMESTEP
     0
     ITEM: NUMBER OF NODES
     16
    @@ -454,90 +332,29 @@ ITEM: SQUARES
     1 1 1 2 3 4
     2 1 5 6 7 8
     3 1 9 10 11 12
    -4 1 13 14 15 16
    -
    -
    -

    The coordinates of all the vertices are listed in the NODES section, 5 +4 1 13 14 15 16 + +

    The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list.

    -

    The “SQUARES” section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4).

    -

    For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and “SQUARES” replaced by “CUBES”.

    -
    -
    -
    -

    Restrictions¶

    -

    For 2d simulations, the z style cannot be used. Nor can a “z” -appear in dimstr for the shift style.

    -
    - -
    +will be duplicate nodes in the list. +

    +

    The "SQUARES" section lists the node IDs of the 4 vertices in a +rectangle for each processor (1 to 4). +

    +

    For a 3d problem, the syntax is similar with 8 vertices listed for +each processor, instead of 4, and "SQUARES" replaced by "CUBES". +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    For 2d simulations, the z style cannot be used. Nor can a "z" +appear in dimstr for the shift style. +

    +

    Related commands: +

    +

    processors, fix balance +

    +

    Default: none +

    + diff --git a/doc/body.html b/doc/body.html index 231e8ed7f4..3d610764d2 100644 --- a/doc/body.html +++ b/doc/body.html @@ -1,252 +1,138 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - Body particles — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    Body particles¶

    -

    Overview:

    -

    This doc page is not about a LAMMPS input script command, but about + + +


    + +

    Body particles +

    +

    Overview: +

    +

    This doc page is not about a LAMMPS input script command, but about body particles, which are generalized finite-size particles. Individual body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See Section_howto 14 for a general overview of all these -particle types.

    -

    Body particles are used via the atom_style body +simpler entities that body particles. See Section_howto +14 for a general overview of all these +particle types. +

    +

    Body particles are used via the atom_style body command. It takes a body style as an argument. The current body styles supported by LAMMPS are as follows. The name in the first -column is used as the bstyle argument for the atom_style body command.

    - ---- - - - - - -
    nparticlerigid body with N sub-particles
    -

    The body style determines what attributes are stored for each body and +column is used as the bstyle argument for the atom_style +body command. +

    +
    +
    nparticle rigid body with N sub-particles +
    + +

    The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each -style are described below.

    -

    We hope to add more styles in the future. See Section_modify 12 for details on how to add a new body -style to the code.

    -
    -

    When to use body particles:

    -

    You should not use body particles to model a rigid body made of +style are described below. +

    +

    We hope to add more styles in the future. See Section_modify +12 for details on how to add a new body +style to the code. +

    +
    + +

    When to use body particles: +

    +

    You should not use body particles to model a rigid body made of simpler particles (e.g. point, sphere, ellipsoid, line segment, triangular particles), if the interaction between pairs of rigid bodies is just the summation of pairwise interactions between the simpler particles. LAMMPS already supports this kind of model via the -fix rigid command. Any of the numerous pair styles +fix rigid command. Any of the numerous pair styles that compute interactions between simpler particles can be used. The -fix rigid command time integrates the motion of the +fix rigid command time integrates the motion of the rigid bodies. All of the standard LAMMPS commands for thermostatting, adding constraints, performing output, etc will operate as expected on -the simple particles.

    -

    By contrast, when body particles are used, LAMMPS treats an entire +the simple particles. +

    +

    By contrast, when body particles are used, LAMMPS treats an entire body as a single particle for purposes of computing pairwise interactions, building neighbor lists, migrating particles between processors, outputting particles to a dump file, etc. This means that interactions between pairs of bodies or between a body and non-body (point) particle need to be encoded in an appropriate pair style. If -such a pair style were to mimic the fix rigid model, +such a pair style were to mimic the fix rigid model, it would need to loop over the entire collection of interactions between pairs of simple particles within the two bodies, each time a -single body/body interaction was computed.

    -

    Thus it only makes sense to use body particles and develop such a pair +single body/body interaction was computed. +

    +

    Thus it only makes sense to use body particles and develop such a pair style, when particle/particle interactions are more complex than what -the fix rigid command can already calculate. For -example, if particles have one or more of the following attributes:

    -
      -
    • represented by a surface mesh
    • -
    • represented by a collection of geometric entities (e.g. planes + spheres)
    • -
    • deformable
    • -
    • internal stress that induces fragmentation
    • -
    -

    then the interaction between pairs of particles is likely to be more +the fix rigid command can already calculate. For +example, if particles have one or more of the following attributes: +

    +
    • represented by a surface mesh +
    • represented by a collection of geometric entities (e.g. planes + spheres) +
    • deformable +
    • internal stress that induces fragmentation +
    +

    then the interaction between pairs of particles is likely to be more complex than the summation of simple sub-particle interactions. An example is contact or frictional forces between particles with planar -sufaces that inter-penetrate.

    -

    These are additional LAMMPS commands that can be used with body -particles of different styles

    - ---- - - - - - - - - - - - -
    fix nve/bodyintegrate motion of a body particle
    compute body/localstore sub-particle attributes of a body particle
    dump localoutput sub-particle attributes of a body particle
    -

    The pair styles defined for use with specific body styles are listed -in the sections below.

    -
    -

    Specifics of body style nparticle:

    -

    The nparticle body style represents body particles as a rigid body +sufaces that inter-penetrate. +

    +

    These are additional LAMMPS commands that can be used with body +particles of different styles +

    +
    + + +
    fix nve/body integrate motion of a body particle
    compute body/local store sub-particle attributes of a body particle
    dump local output sub-particle attributes of a body particle +
    + +

    The pair styles defined for use with specific body styles are listed +in the sections below. +

    +
    + +

    Specifics of body style nparticle: +

    +

    The nparticle body style represents body particles as a rigid body with a variable number N of sub-particles. It is provided as a vanillia, prototypical example of a body particle, although as -mentioned above, the fix rigid command already -duplicates its functionality.

    -

    The atom_style body command for this body style takes two additional -arguments:

    -
    atom_style body nparticle Nmin Nmax
    +mentioned above, the fix rigid command already
    +duplicates its functionality.
    +

    +

    The atom_style body command for this body style takes two additional +arguments: +

    +
    atom_style body nparticle Nmin Nmax
     Nmin = minimum # of sub-particles in any body in the system
    -Nmax = maximum # of sub-particles in any body in the system
    -
    -
    -

    The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle.

    -

    When the read_data command reads a data file for this +Nmax = maximum # of sub-particles in any body in the system + +

    The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. +

    +

    When the read_data command reads a data file for this body style, the following information must be provided for each entry -in the Bodies section of the data file:

    -
    atom-ID 1 M
    +in the Bodies section of the data file:
    +

    +
    atom-ID 1 M
     N
     ixx iyy izz ixy ixz iyz x1 y1 z1 ...
     ...
    -... xN yN zN
    -
    -
    -

    N is the number of sub-particles in the body particle. M = 6 + 3*N. +... xN yN zN + +

    N is the number of sub-particles in the body particle. M = 6 + 3*N. The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N sub-particles (x1 to zN) as 3N values on as many lines as required. Note that this in not N lines, but 10 values per line; see the -read_data command for details. The 6 moments of +read_data command for details. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with @@ -254,84 +140,24 @@ respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation internally. The coordinates of each sub-particle are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of -the particle is specified by the x,y,z values in the Atoms section -of the data file.

    -

    The pair_style body command can be used with this -body style to compute body/body and body/non-body interactions.

    -

    For output purposes via the compute body/local and dump local +the particle is specified by the x,y,z values in the Atoms section +of the data file. +

    +

    The pair_style body command can be used with this +body style to compute body/body and body/non-body interactions. +

    +

    For output purposes via the compute +body/local and dump local commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values:

    -
    1 = x position of sub-particle
    +sub-particles in a body particle.  The datum has 3 values:
    +

    +
    1 = x position of sub-particle
     2 = y position of sub-particle
    -3 = z position of sub-particle
    -
    -
    -

    These values are the current position of the sub-particle within the +3 = z position of sub-particle + +

    These values are the current position of the sub-particle within the simulation domain, not a displacement from the center-of-mass (COM) of the body particle itself. These values are calculated using the -current COM and orientiation of the body particle.

    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +current COM and orientiation of the body particle. +

    + diff --git a/doc/bond_class2.html b/doc/bond_class2.html index b6b65e08db..2c1611d443 100644 --- a/doc/bond_class2.html +++ b/doc/bond_class2.html @@ -1,256 +1,88 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style class2 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style class2 command¶

    -
    -
    -

    bond_style class2/omp command¶

    -
    -

    Syntax¶

    -
    bond_style class2
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style class2
    -bond_coeff 1 1.0 100.0 80.0 80.0
    -
    -
    -
    -
    -

    Description¶

    -

    The class2 bond style uses the potential

    -_images/bond_class2.jpg -

    where r0 is the equilibrium bond distance.

    -

    See (Sun) for a description of the COMPASS class2 force field.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • R0 (distance)
    • -
    • K2 (energy/distance^2)
    • -
    • K3 (energy/distance^3)
    • -
    • K4 (energy/distance^4)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    bond_style class2 command +

    +

    bond_style class2/omp command +

    +

    Syntax: +

    +
    bond_style class2 
    +
    +

    Examples: +

    +
    bond_style class2
    +bond_coeff 1 1.0 100.0 80.0 80.0 
    +
    +

    Description: +

    +

    The class2 bond style uses the potential +

    +
    +
    +

    where r0 is the equilibrium bond distance. +

    +

    See (Sun) for a description of the COMPASS class2 force field. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • R0 (distance) +
    • K2 (energy/distance^2) +
    • K3 (energy/distance^3) +
    • K4 (energy/distance^4) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the CLASS2 -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the CLASS2 +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). +

    + diff --git a/doc/bond_coeff.html b/doc/bond_coeff.html index b6debc47c3..4d6fb4d94d 100644 --- a/doc/bond_coeff.html +++ b/doc/bond_coeff.html @@ -1,276 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_coeff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_coeff command¶

    -
    -

    Syntax¶

    -
    bond_coeff N args
    -
    -
    -
      -
    • N = bond type (see asterisk form below)
    • -
    • args = coefficients for one or more bond types
    • -
    -
    -
    -

    Examples¶

    -
    bond_coeff 5 80.0 1.2
    +
    +
    +
    + +

    bond_coeff command +

    +

    Syntax: +

    +
    bond_coeff N args 
    +
    +
    • N = bond type (see asterisk form below) +
    • args = coefficients for one or more bond types +
    +

    Examples: +

    +
    bond_coeff 5 80.0 1.2
     bond_coeff * 30.0 1.5 1.0 1.0
     bond_coeff 1*4 30.0 1.5 1.0 1.0
    -bond_coeff 1 harmonic 200.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Specify the bond force field coefficients for one or more bond types. +bond_coeff 1 harmonic 200.0 1.0 + +

    Description: +

    +

    Specify the bond force field coefficients for one or more bond types. The number and meaning of the coefficients depends on the bond style. Bond coefficients can also be set in the data file read by the -read_data command or in a restart file.

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file. +

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple bond types. This takes the -form “*” or “n” or “n” or “m*n”. If N = the number of bond types, +form "*" or "*n" or "n*" or "m*n". If N = the number of bond types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive).

    -

    Note that using a bond_coeff command can override a previous setting +means all types from m to n (inclusive). +

    +

    Note that using a bond_coeff command can override a previous setting for the same bond type. For example, these commands set the coeffs -for all bond types, then overwrite the coeffs for just bond type 2:

    -
    bond_coeff * 100.0 1.2
    -bond_coeff 2 200.0 1.2
    -
    -
    -

    A line in a data file that specifies bond coefficients uses the exact +for all bond types, then overwrite the coeffs for just bond type 2: +

    +
    bond_coeff * 100.0 1.2
    +bond_coeff 2 200.0 1.2 
    +
    +

    A line in a data file that specifies bond coefficients uses the exact same format as the arguments of the bond_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the “Bond Coeffs” section of a data file, the line that -corresponds to the 1st example above would be listed as

    -
    5 80.0 1.2
    -
    -
    -
    -

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on +under the "Bond Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

    +
    5 80.0 1.2 
    +
    +
    + +

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated bond_coeff command.

    -

    Note that here are also additional bond styles submitted by users +specified by the associated bond_coeff command. +

    +

    Note that here are also additional bond styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -

    A bond style must be defined before any bond coefficients are set, -either in the input script or in a data file.

    -
    - -
    +links to the individual styles are given in the bond section of this +page. +

    + + +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    A bond style must be defined before any bond coefficients are set, +either in the input script or in a data file. +

    +

    Related commands: +

    +

    bond_style +

    +

    Default: none +

    + diff --git a/doc/bond_fene.html b/doc/bond_fene.html index 90efb06834..e75edad892 100644 --- a/doc/bond_fene.html +++ b/doc/bond_fene.html @@ -1,264 +1,96 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style fene command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style fene command¶

    -
    -
    -

    bond_style fene/kk command¶

    -
    -
    -

    bond_style fene/omp command¶

    -
    -

    Syntax¶

    -
    bond_style fene
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style fene
    -bond_coeff 1 30.0 1.5 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The fene bond style uses the potential

    -_images/bond_fene.jpg -

    to define a finite extensible nonlinear elastic (FENE) potential -(Kremer), used for bead-spring polymer models. The first + + +


    + +

    bond_style fene command +

    +

    bond_style fene/kk command +

    +

    bond_style fene/omp command +

    +

    Syntax: +

    +
    bond_style fene 
    +
    +

    Examples: +

    +
    bond_style fene
    +bond_coeff 1 30.0 1.5 1.0 1.0 
    +
    +

    Description: +

    +

    The fene bond style uses the potential +

    +
    +
    +

    to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd -term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/distance^2)
    • -
    • R0 (distance)
    • -
    • epsilon (energy)
    • -
    • sigma (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/distance^2) +
    • R0 (distance) +
    • epsilon (energy) +
    • sigma (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    You typically should specify special_bonds fene -or special_bonds lj/coul 0 1 1 to use this bond -style. LAMMPS will issue a warning it that’s not the case.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    You typically should specify special_bonds fene +or special_bonds lj/coul 0 1 1 to use this bond +style. LAMMPS will issue a warning it that's not the case. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). +

    + diff --git a/doc/bond_fene_expand.html b/doc/bond_fene_expand.html index a469c1bb63..db6cc88ae2 100644 --- a/doc/bond_fene_expand.html +++ b/doc/bond_fene_expand.html @@ -1,265 +1,99 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style fene/expand command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style fene/expand command¶

    -
    -
    -

    bond_style fene/expand/omp command¶

    -
    -

    Syntax¶

    -
    bond_style fene/expand
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style fene/expand
    -bond_coeff 1 30.0 1.5 1.0 1.0 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    The fene/expand bond style uses the potential

    -_images/bond_fene_expand.jpg -

    to define a finite extensible nonlinear elastic (FENE) potential -(Kremer), used for bead-spring polymer models. The first -term is attractive, the 2nd Lennard-Jones term is repulsive.

    -

    The fene/expand bond style is similar to fene except that an extra -shift factor of delta (positive or negative) is added to r to + + +


    + +

    bond_style fene/expand command +

    +

    bond_style fene/expand/omp command +

    +

    Syntax: +

    +
    bond_style fene/expand 
    +
    +

    Examples: +

    +
    bond_style fene/expand
    +bond_coeff 1 30.0 1.5 1.0 1.0 0.5 
    +
    +

    Description: +

    +

    The fene/expand bond style uses the potential +

    +
    +
    +

    to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive. +

    +

    The fene/expand bond style is similar to fene except that an extra +shift factor of delta (positive or negative) is added to r to effectively change the bead size of the bonded atoms. The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma -+ delta.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/distance^2)
    • -
    • R0 (distance)
    • -
    • epsilon (energy)
    • -
    • sigma (distance)
    • -
    • delta (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are ++ delta. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/distance^2) +
    • R0 (distance) +
    • epsilon (energy) +
    • sigma (distance) +
    • delta (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    You typically should specify special_bonds fene -or special_bonds lj/coul 0 1 1 to use this bond -style. LAMMPS will issue a warning it that’s not the case.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    You typically should specify special_bonds fene +or special_bonds lj/coul 0 1 1 to use this bond +style. LAMMPS will issue a warning it that's not the case. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). +

    + diff --git a/doc/bond_harmonic.html b/doc/bond_harmonic.html index fc25b01261..f3738011b7 100644 --- a/doc/bond_harmonic.html +++ b/doc/bond_harmonic.html @@ -1,254 +1,81 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style harmonic command¶

    -
    -
    -

    bond_style harmonic/kk command¶

    -
    -
    -

    bond_style harmonic/omp command¶

    -
    -

    Syntax¶

    -
    bond_style harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style harmonic
    -bond_coeff 5 80.0 1.2
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic bond style uses the potential

    -_images/bond_harmonic.jpg -

    where r0 is the equilibrium bond distance. Note that the usual 1/2 -factor is included in K.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/distance^2)
    • -
    • r0 (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    bond_style harmonic command +

    +

    bond_style harmonic/kk command +

    +

    bond_style harmonic/omp command +

    +

    Syntax: +

    +
    bond_style harmonic 
    +
    +

    Examples: +

    +
    bond_style harmonic
    +bond_coeff 5 80.0 1.2 
    +
    +

    Description: +

    +

    The harmonic bond style uses the potential +

    +
    +
    +

    where r0 is the equilibrium bond distance. Note that the usual 1/2 +factor is included in K. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/distance^2) +
    • r0 (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/bond_harmonic_shift.html b/doc/bond_harmonic_shift.html index 5630efe1fa..04b686a1ab 100644 --- a/doc/bond_harmonic_shift.html +++ b/doc/bond_harmonic_shift.html @@ -1,256 +1,85 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style harmonic/shift command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style harmonic/shift command¶

    -
    -
    -

    bond_style harmonic/shift/omp command¶

    -
    -

    Syntax¶

    -
    bond_style harmonic/shift
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style harmonic/shift
    -bond_coeff 5 10.0 0.5 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic/shift bond style is a shifted harmonic bond that uses -the potential

    -_images/bond_harmonic_shift.jpg -

    where r0 is the equilibrium bond distance, and rc the critical distance. + + +


    + +

    bond_style harmonic/shift command +

    +

    bond_style harmonic/shift/omp command +

    +

    Syntax: +

    +
    bond_style harmonic/shift 
    +
    +

    Examples: +

    +
    bond_style harmonic/shift
    +bond_coeff 5 10.0 0.5 1.0 
    +
    +

    Description: +

    +

    The harmonic/shift bond style is a shifted harmonic bond that uses +the potential +

    +
    +
    +

    where r0 is the equilibrium bond distance, and rc the critical distance. The potential is -Umin at r0 and zero at rc. The spring constant is -k = Umin / [ 2 (r0-rc)^2].

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • Umin (energy)
    • -
    • r0 (distance)
    • -
    • rc (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +k = Umin / [ 2 (r0-rc)^2]. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • Umin (energy) +
    +
    • r0 (distance) +
    +
    • rc (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds, +bond_harmonic +

    +

    Default: none +

    + diff --git a/doc/bond_harmonic_shift_cut.html b/doc/bond_harmonic_shift_cut.html index 2452682832..9240cd1320 100644 --- a/doc/bond_harmonic_shift_cut.html +++ b/doc/bond_harmonic_shift_cut.html @@ -1,257 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style harmonic/shift/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style harmonic/shift/cut command¶

    -
    -
    -

    bond_style harmonic/shift/cut/omp command¶

    -
    -

    Syntax¶

    -
    bond_style harmonic/shift/cut
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style harmonic/shift/cut
    -bond_coeff 5 10.0 0.5 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic/shift/cut bond style is a shifted harmonic bond that -uses the potential

    -_images/bond_harmonic_shift_cut.jpg -

    where r0 is the equilibrium bond distance, and rc the critical distance. -The bond potential is zero for distances r > rc. The potential is -Umin -at r0 and zero at rc. The spring constant is k = Umin / [ 2 (r0-rc)^2].

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • Umin (energy)
    • -
    • r0 (distance)
    • -
    • rc (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    bond_style harmonic/shift/cut command +

    +

    bond_style harmonic/shift/cut/omp command +

    +

    Syntax: +

    +
    bond_style harmonic/shift/cut 
    +
    +

    Examples: +

    +
    bond_style harmonic/shift/cut
    +bond_coeff 5 10.0 0.5 1.0 
    +
    +

    Description: +

    +

    The harmonic/shift/cut bond style is a shifted harmonic bond that +uses the potential +

    +
    +
    +

    where r0 is the equilibrium bond distance, and rc the critical distance. +The bond potential is zero for distances r > rc. The potential is -Umin +at r0 and zero at rc. The spring constant is k = Umin / [ 2 (r0-rc)^2]. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • Umin (energy) +
    • r0 (distance) +
    • rc (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds, +bond_harmonic, +bond_harmonicshift +

    +

    Default: none +

    + diff --git a/doc/bond_hybrid.html b/doc/bond_hybrid.html index db5d941601..1477766841 100644 --- a/doc/bond_hybrid.html +++ b/doc/bond_hybrid.html @@ -1,257 +1,79 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style hybrid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style hybrid command¶

    -
    -

    Syntax¶

    -
    bond_style hybrid style1 style2 ...
    -
    -
    -
      -
    • style1,style2 = list of one or more bond styles
    • -
    -
    -
    -

    Examples¶

    -
    bond_style hybrid harmonic fene
    +
    +
    +
    + +

    bond_style hybrid command +

    +

    Syntax: +

    +
    bond_style hybrid style1 style2 ... 
    +
    +
    • style1,style2 = list of one or more bond styles +
    +

    Examples: +

    +
    bond_style hybrid harmonic fene
     bond_coeff 1 harmonic 80.0 1.2
    -bond_coeff 2* fene 30.0 1.5 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The hybrid style enables the use of multiple bond styles in one +bond_coeff 2* fene 30.0 1.5 1.0 1.0 + +

    Description: +

    +

    The hybrid style enables the use of multiple bond styles in one simulation. A bond style is assigned to each bond type. For example, bonds in a polymer flow (of bond type 1) could be computed with a -fene potential and bonds in the wall boundary (of bond type 2) could -be computed with a harmonic potential. The assignment of bond type -to style is made via the bond_coeff command or in -the data file.

    -

    In the bond_coeff commands, the name of a bond style must be added +fene potential and bonds in the wall boundary (of bond type 2) could +be computed with a harmonic potential. The assignment of bond type +to style is made via the bond_coeff command or in +the data file. +

    +

    In the bond_coeff commands, the name of a bond style must be added after the bond type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 bond_coeff -commands set bonds of bond type 1 to be computed with a harmonic +commands set bonds of bond type 1 to be computed with a harmonic potential with coefficients 80.0, 1.2 for K, r0. All other bond types -(2-N) are computed with a fene potential with coefficients 30.0, -1.5, 1.0, 1.0 for K, R0, epsilon, sigma.

    -

    If bond coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. “harmonic” or “fene” must be added after the bond type, for each -line in the “Bond Coeffs” section, e.g.

    -
    Bond Coeffs
    -
    -
    -
    1 harmonic 80.0 1.2
    +(2-N) are computed with a fene potential with coefficients 30.0,
    +1.5, 1.0, 1.0 for K, R0, epsilon, sigma.
    +

    +

    If bond coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. "harmonic" or "fene" must be added after the bond type, for each +line in the "Bond Coeffs" section, e.g. +

    +
    Bond Coeffs 
    +
    +
    1 harmonic 80.0 1.2
     2 fene 30.0 1.5 1.0 1.0
    -...
    -
    -
    -

    A bond style of none with no additional coefficients can be used in +... + +

    A bond style of none with no additional coefficients can be used in place of a bond style, either in a input script bond_coeff command or in the data file, if you desire to turn off interactions for specific -bond types.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    Unlike other bond styles, the hybrid bond style does not store bond -coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a restart -file, you need to re-specify bond_coeff commands.

    -
    - -
    +bond types. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Unlike other bond styles, the hybrid bond style does not store bond +coefficient info for individual sub-styles in a binary restart +files. Thus when retarting a simulation from a restart +file, you need to re-specify bond_coeff commands. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/bond_morse.html b/doc/bond_morse.html index dc5d320f23..38fd439571 100644 --- a/doc/bond_morse.html +++ b/doc/bond_morse.html @@ -1,252 +1,80 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style morse command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style morse command¶

    -
    -
    -

    bond_style morse/omp command¶

    -
    -

    Syntax¶

    -
    bond_style morse
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style morse
    -bond_coeff 5 1.0 2.0 1.2
    -
    -
    -
    -
    -

    Description¶

    -

    The morse bond style uses the potential

    -_images/bond_morse.jpg -

    where r0 is the equilibrium bond distance, alpha is a stiffness -parameter, and D determines the depth of the potential well.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • D (energy)
    • -
    • alpha (inverse distance)
    • -
    • r0 (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    bond_style morse command +

    +

    bond_style morse/omp command +

    +

    Syntax: +

    +
    bond_style morse 
    +
    +

    Examples: +

    +
    bond_style morse
    +bond_coeff 5 1.0 2.0 1.2 
    +
    +

    Description: +

    +

    The morse bond style uses the potential +

    +
    +
    +

    where r0 is the equilibrium bond distance, alpha is a stiffness +parameter, and D determines the depth of the potential well. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • D (energy) +
    • alpha (inverse distance) +
    • r0 (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/bond_none.html b/doc/bond_none.html index dcfad5e8bd..ed59eca4c2 100644 --- a/doc/bond_none.html +++ b/doc/bond_none.html @@ -1,218 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style none command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style none command¶

    -
    -

    Syntax¶

    -
    bond_style none
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Using a bond style of none means bond forces are not computed, even if + + +


    + +

    bond_style none command +

    +

    Syntax: +

    +
    bond_style none 
    +
    +

    Examples: +

    +
    bond_style none 
    +
    +

    Description: +

    +

    Using a bond style of none means bond forces are not computed, even if pairs of bonded atoms were listed in the data file read by the -read_data command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +read_data command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/bond_nonlinear.html b/doc/bond_nonlinear.html index ee59d97828..f920a20e0e 100644 --- a/doc/bond_nonlinear.html +++ b/doc/bond_nonlinear.html @@ -1,254 +1,86 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style nonlinear command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style nonlinear command¶

    -
    -
    -

    bond_style nonlinear/omp command¶

    -
    -

    Syntax¶

    -
    bond_style nonlinear
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style nonlinear
    -bond_coeff 2 100.0 1.1 1.4
    -
    -
    -
    -
    -

    Description¶

    -

    The nonlinear bond style uses the potential

    -_images/bond_nonlinear.jpg -

    to define an anharmonic spring (Rector) of equilibrium -length r0 and maximum extension lamda.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • epsilon (energy)
    • -
    • r0 (distance)
    • -
    • lamda (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    bond_style nonlinear command +

    +

    bond_style nonlinear/omp command +

    +

    Syntax: +

    +
    bond_style nonlinear 
    +
    +

    Examples: +

    +
    bond_style nonlinear
    +bond_coeff 2 100.0 1.1 1.4 
    +
    +

    Description: +

    +

    The nonlinear bond style uses the potential +

    +
    +
    +

    to define an anharmonic spring (Rector) of equilibrium +length r0 and maximum extension lamda. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • epsilon (energy) +
    • r0 (distance) +
    • lamda (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Rector) Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). +

    + diff --git a/doc/bond_quartic.html b/doc/bond_quartic.html index e744669cb6..403af0aa18 100644 --- a/doc/bond_quartic.html +++ b/doc/bond_quartic.html @@ -1,286 +1,119 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style quartic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style quartic command¶

    -
    -
    -

    bond_style quartic/omp command¶

    -
    -

    Syntax¶

    -
    bond_style quartic
    -
    -
    -
    -
    -

    Examples¶

    -
    bond_style quartic
    -bond_coeff 2 1200 -0.55 0.25 1.3 34.6878
    -
    -
    -
    -
    -

    Description¶

    -

    The quartic bond style uses the potential

    -_images/bond_quartic.jpg -

    to define a bond that can be broken as the simulation proceeds (e.g. + + +


    + +

    bond_style quartic command +

    +

    bond_style quartic/omp command +

    +

    Syntax: +

    +
    bond_style quartic 
    +
    +

    Examples: +

    +
    bond_style quartic
    +bond_coeff 2 1200 -0.55 0.25 1.3 34.6878 
    +
    +

    Description: +

    +

    The quartic bond style uses the potential +

    +
    +
    +

    to define a bond that can be broken as the simulation proceeds (e.g. due to a polymer being stretched). The sigma and epsilon used in the -LJ portion of the formula are both set equal to 1.0 by LAMMPS.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy/distance^4)
    • -
    • B1 (distance)
    • -
    • B2 (distance)
    • -
    • Rc (distance)
    • -
    • U0 (energy)
    • -
    -

    This potential was constructed to mimic the FENE bond potential for +LJ portion of the formula are both set equal to 1.0 by LAMMPS. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy/distance^4) +
    • B1 (distance) +
    • B2 (distance) +
    • Rc (distance) +
    • U0 (energy) +
    +

    This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with sigma = epsilon = 1.0 are used, the following choice of parameters gives a quartic potential that looks nearly like the FENE potential: K = 1200, B1 = -0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters -can be specified using the bond_coeff command, but +can be specified using the bond_coeff command, but you will need to choose them carefully so they form a suitable bond -potential.

    -

    Rc is the cutoff length at which the bond potential goes smoothly to a -local maximum. If a bond length ever becomes > Rc, LAMMPS “breaks” +potential. +

    +

    Rc is the cutoff length at which the bond potential goes smoothly to a +local maximum. If a bond length ever becomes > Rc, LAMMPS "breaks" the bond, which means two things. First, the bond potential is turned off by setting its type to 0, and is no longer computed. Second, a pairwise interaction between the two atoms is turned on, since they -are no longer bonded.

    -

    LAMMPS does the second task via a computational sleight-of-hand. It +are no longer bonded. +

    +

    LAMMPS does the second task via a computational sleight-of-hand. It subtracts the pairwise interaction as part of the bond computation. When the bond breaks, the subtraction stops. For this to work, the pairwise interaction must always be computed by the -pair_style command, whether the bond is broken or -not. This means that special_bonds must be set -to 1,1,1, as indicated as a restriction below.

    -

    Note that when bonds are dumped to a file via the dump local command, bonds with type 0 are not included. The -delete_bonds command can also be used to query the -status of broken bonds or permanently delete them, e.g.:

    -
    delete_bonds all stats
    -delete_bonds all bond 0 remove
    -
    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command, whether the bond is broken or +not. This means that special_bonds must be set +to 1,1,1, as indicated as a restriction below. +

    +

    Note that when bonds are dumped to a file via the dump +local command, bonds with type 0 are not included. The +delete_bonds command can also be used to query the +status of broken bonds or permanently delete them, e.g.: +

    +
    delete_bonds all stats
    +delete_bonds all bond 0 remove 
    +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    The quartic style requires that special_bonds +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    The quartic style requires that special_bonds parameters be set to 1,1,1. Three- and four-body interactions (angle, -dihedral, etc) cannot be used with quartic bonds.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +dihedral, etc) cannot be used with quartic bonds. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/bond_style.html b/doc/bond_style.html index 7848972ea5..135676886d 100644 --- a/doc/bond_style.html +++ b/doc/bond_style.html @@ -1,285 +1,109 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style command¶

    -
    -

    Syntax¶

    -
    bond_style style args
    -
    -
    -
      -
    • style = none or hybrid or class2 or fene or fene/expand or harmonic or morse or nonlinear or quartic
    • -
    -
    -args = none for any style except hybrid
    -  hybrid args = list of one or more styles
    -
    -
    -
    -

    Examples¶

    -
    bond_style harmonic
    +
    +
    +
    + +

    bond_style command +

    +

    Syntax: +

    +
    bond_style style args 
    +
    +
    • style = none or hybrid or class2 or fene or fene/expand or harmonic or morse or nonlinear or quartic +
    +
      args = none for any style except hybrid
    +  hybrid args = list of one or more styles 
    +
    +

    Examples: +

    +
    bond_style harmonic
     bond_style fene
    -bond_style hybrid harmonic fene
    -
    -
    -
    -
    -

    Description¶

    -

    Set the formula(s) LAMMPS uses to compute bond interactions between +bond_style hybrid harmonic fene + +

    Description: +

    +

    Set the formula(s) LAMMPS uses to compute bond interactions between pairs of atoms. In LAMMPS, a bond differs from a pairwise -interaction, which are set via the pair_style +interaction, which are set via the pair_style command. Bonds are defined between specified pairs of atoms and remain in force for the duration of the simulation (unless the bond breaks which is possible in some bond potentials). The list of bonded -atoms is read in by a read_data or -read_restart command from a data or restart file. +atoms is read in by a read_data or +read_restart command from a data or restart file. By contrast, pair potentials are typically defined between all pairs of atoms within a cutoff distance and the set of active interactions -changes over time.

    -

    Hybrid models where bonds are computed using different bond potentials -can be setup using the hybrid bond style.

    -

    The coefficients associated with a bond style can be specified in a -data or restart file or via the bond_coeff command.

    -

    All bond potentials store their coefficient data in binary restart -files which means bond_style and bond_coeff commands +changes over time. +

    +

    Hybrid models where bonds are computed using different bond potentials +can be setup using the hybrid bond style. +

    +

    The coefficients associated with a bond style can be specified in a +data or restart file or via the bond_coeff command. +

    +

    All bond potentials store their coefficient data in binary restart +files which means bond_style and bond_coeff commands do not need to be re-specified in an input script that restarts a -simulation. See the read_restart command for +simulation. See the read_restart command for details on how to do this. The one exception is that bond_style -hybrid only stores the list of sub-styles in the restart file; bond -coefficients need to be re-specified.

    -
    -

    Warning

    -

    When both a bond and pair style is defined, the -special_bonds command often needs to be used to +hybrid only stores the list of sub-styles in the restart file; bond +coefficients need to be re-specified. +

    +

    IMPORTANT NOTE: When both a bond and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 2 bonded atoms.

    -
    -

    In the formulas listed for each bond style, r is the distance -between the 2 atoms in the bond.

    -
    -

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on +exist between 2 bonded atoms. +

    +

    In the formulas listed for each bond style, r is the distance +between the 2 atoms in the bond. +

    +
    + +

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated bond_coeff command.

    -

    Note that there are also additional bond styles submitted by users +specified by the associated bond_coeff command. +

    +

    Note that there are also additional bond styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    Bond styles can only be set for atom styles that allow bonds to be -defined.

    -

    Most bond styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +links to the individual styles are given in the bond section of this +page. +

    + + +
    + +

    Restrictions: +

    +

    Bond styles can only be set for atom styles that allow bonds to be +defined. +

    +

    Most bond styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. The doc pages for individual bond potentials tell if it is part of a -package.

    -
    - -
    -

    Default¶

    -

    bond_style none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +package. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: +

    +

    bond_style none +

    + diff --git a/doc/bond_table.html b/doc/bond_table.html index 2579b044ec..fb92e239fe 100644 --- a/doc/bond_table.html +++ b/doc/bond_table.html @@ -1,205 +1,90 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - bond_style table command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    bond_style table command¶

    -
    -
    -

    bond_style table/omp command¶

    -
    -

    Syntax¶

    -
    bond_style table style N
    -
    -
    -
      -
    • style = linear or spline = method of interpolation
    • -
    • N = use N values in table
    • -
    -
    -
    -

    Examples¶

    -
    bond_style table linear 1000
    -bond_coeff 1 file.table ENTRY1
    -
    -
    -
    -
    -

    Description¶

    -

    Style table creates interpolation tables of length N from bond + + +


    + +

    bond_style table command +

    +

    bond_style table/omp command +

    +

    Syntax: +

    +
    bond_style table style N 
    +
    +
    • style = linear or spline = method of interpolation +
    • N = use N values in table +
    +

    Examples: +

    +
    bond_style table linear 1000
    +bond_coeff 1 file.table ENTRY1 
    +
    +

    Description: +

    +

    Style table creates interpolation tables of length N from bond potential and force values listed in a file(s) as a function of bond -length. The files are read by the bond_coeff -command.

    -

    The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and force values at each of N +length. The files are read by the bond_coeff +command. +

    +

    The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of N distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one -of 2 styles: linear or spline.

    -

    For the linear style, the bond length is used to find 2 surrounding +of 2 styles: linear or spline. +

    +

    For the linear style, the bond length is used to find 2 surrounding table values from which an energy or force is computed by linear -interpolation.

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The bond length is +interpolation. +

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The bond length is used to find the appropriate set of coefficients which are used to -evaluate a cubic polynomial which computes the energy or force.

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above.

    -
      -
    • filename
    • -
    • keyword
    • -
    -

    The filename specifies a file containing tabulated energy and force +evaluate a cubic polynomial which computes the energy or force. +

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above. +

    +
    • filename +
    • keyword +
    +

    The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The format of -this file is described below.

    -
    -

    The format of a tabulated file is as follows (without the -parenthesized comments):

    -
    # Bond potential for harmonic (one or more comment or blank lines)
    -
    -
    -
    HAM                           (keyword is the first text on line)
    +this file is described below.
    +

    +
    + +

    The format of a tabulated file is as follows (without the +parenthesized comments): +

    +
    # Bond potential for harmonic (one or more comment or blank lines) 
    +
    +
    HAM                           (keyword is the first text on line)
     N 101 FP 0 0 EQ 0.5           (N, FP, EQ  parameters)
                                   (blank line)
     1 0.00 338.0000 1352.0000     (index, bond-length, energy, force)
     2 0.01 324.6152 1324.9600
     ...
    -101 1.00 338.0000 -1352.0000
    -
    -
    -

    A section begins with a non-blank line whose 1st character is not a -“#”; blank lines or lines starting with “#” can be used as comments +101 1.00 338.0000 -1352.0000 + +

    A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -bond_coeff command. The next line lists (in any +bond_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values.

    -

    The parameter “N” is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the bond_style table command. Let -Ntable = N in the bond_style command, and Nfile = “N” in the +keyword followed by one or more numeric values. +

    +

    The parameter "N" is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the bond_style table command. Let +Ntable = N in the bond_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -208,117 +93,68 @@ Ntable are then used as described above, when computing energy and force for individual bond lengths. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile.

    -

    The “FP” parameter is optional. If used, it is followed by two values +should set Ntable = Nfile. +

    +

    The "FP" parameter is optional. If used, it is followed by two values fplo and fphi, which are the derivatives of the force at the innermost and outermost bond lengths. These values are needed by the spline -construction routines. If not specified by the “FP” parameter, they +construction routines. If not specified by the "FP" parameter, they are estimated (less accurately) by the first two and last two force -values in the table.

    -

    The “EQ” parameter is also optional. If used, it is followed by a the -equilibrium bond length, which is used, for example, by the fix shake command. If not used, the equilibrium bond -length is set to 0.0.

    -

    Following a blank line, the next N lines list the tabulated values. +values in the table. +

    +

    The "EQ" parameter is also optional. If used, it is followed by a the +equilibrium bond length, which is used, for example, by the fix +shake command. If not used, the equilibrium bond +length is set to 0.0. +

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the bond length r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The bond lengths must range from a LO value to a HI value, and increase from one line to the next. If the actual bond length is ever smaller than the LO value or larger than the HI value, then the bond energy and -force is evaluated as if the bond were the LO or HI length.

    -

    Note that one file can contain many sections, each with a tabulated +force is evaluated as if the bond were the LO or HI length. +

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    bond_coeff, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/boundary.html b/doc/boundary.html index ddb828d6d1..a427194ee1 100644 --- a/doc/boundary.html +++ b/doc/boundary.html @@ -1,282 +1,106 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - boundary command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    boundary command¶

    -
    -

    Syntax¶

    -
    boundary x y z
    -
    -
    -
      -
    • x,y,z = p or s or f or m, one or two letters
    • -
    -
    -p is periodic
    -  f is non-periodic and fixed
    -  s is non-periodic and shrink-wrapped
    -  m is non-periodic and shrink-wrapped with a minimum value
    -
    -
    -
    -

    Examples¶

    -
    boundary p p f
    +
    +
    +
    + +

    boundary command +

    +

    Syntax: +

    +
    boundary x y z 
    +
    +
    • x,y,z = p or s or f or m, one or two letters + +
        p is periodic
      +  f is non-periodic and fixed
      +  s is non-periodic and shrink-wrapped
      +  m is non-periodic and shrink-wrapped with a minimum value 
      +
      + +
    +

    Examples: +

    +
    boundary p p f
     boundary p fs p
    -boundary s f fm
    -
    -
    -
    -
    -

    Description¶

    -

    Set the style of boundaries for the global simulation box in each +boundary s f fm + +

    Description: +

    +

    Set the style of boundaries for the global simulation box in each dimension. A single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face. The initial size -of the simulation box is set by the read_data, -read_restart, or create_box -commands.

    -

    The style p means the box is periodic, so that particles interact +of the simulation box is set by the read_data, +read_restart, or create_box +commands. +

    +

    The style p means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or box deformation (see the fix npt and fix deform commands). The p -style must be applied to both faces of a dimension.

    -

    The styles f, s, and m mean the box is non-periodic, so that +constant pressure boundary conditions or box deformation (see the fix +npt and fix deform commands). The p +style must be applied to both faces of a dimension. +

    +

    The styles f, s, and m mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one -side of the box to the other.

    -

    For style f, the position of the face is fixed. If an atom moves +side of the box to the other. +

    +

    For style f, the position of the face is fixed. If an atom moves outside the face it will be deleted on the next timestep that reneighboring occurs. This will typically generate an error unless -you have set the thermo_modify lost option to -allow for lost atoms.

    -

    For style s, the position of the face is set so as to encompass the +you have set the thermo_modify lost option to +allow for lost atoms. +

    +

    For style s, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they -move.

    -

    For style m, shrink-wrapping occurs, but is bounded by the value +move. +

    +

    For style m, shrink-wrapping occurs, but is bounded by the value specified in the data or restart file or set by the -create_box command. For example, if the upper z +create_box command. For example, if the upper z face has a value of 50.0 in the data file, the face will always be positioned at 50.0 or above, even if the maximum z-extent of all the atoms becomes less than 50.0. This can be useful if you start a simulation with an empty box or if you wish to leave room on one side -of the box, e.g. for atoms to evaporate from a surface.

    -

    For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension +of the box, e.g. for atoms to evaporate from a surface. +

    +

    For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension of a tilt factor (e.g. y for xy) is periodic, then the periodicity is enforced with the tilt factor offset. If the 1st dimension is shrink-wrapped, then the shrink wrapping is applied to the tilted box face, to encompass the atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to -determine the x extent of the box.

    -

    See Section_howto 12 of the doc pages +determine the x extent of the box. +

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations.

    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command or -read_restart command. See the -change_box command for how to change the simulation -box boundaries after it has been defined.

    -

    For 2d simulations, the z dimension must be periodic.

    -
    - -
    -

    Default¶

    -
    boundary p p p
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +triclinic representations. +

    +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command or +read_restart command. See the +change_box command for how to change the simulation +box boundaries after it has been defined. +

    +

    For 2d simulations, the z dimension must be periodic. +

    +

    Related commands: +

    +

    See the thermo_modify command for a discussion +of lost atoms. +

    +

    Default: +

    +
    boundary p p p 
    +
    + diff --git a/doc/box.html b/doc/box.html index 927b77c223..162087c7ff 100644 --- a/doc/box.html +++ b/doc/box.html @@ -1,246 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - box command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    box command¶

    -
    -

    Syntax¶

    -
    box keyword value ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be appended
    • -
    • keyword = tilt
    • -
    -
    -tilt value = small or large
    -
    -
    -
    -

    Examples¶

    -
    box tilt large
    -box tilt small
    -
    -
    -
    -
    -

    Description¶

    -

    Set attributes of the simulation box.

    -

    For triclinic (non-orthogonal) simulation boxes, the tilt keyword + + +


    + +

    box command +

    +

    Syntax: +

    +
    box keyword value ... 
    +
    +
    • one or more keyword/value pairs may be appended + +
    • keyword = tilt + +
        tilt value = small or large 
      +
      + +
    +

    Examples: +

    +
    box tilt large
    +box tilt small 
    +
    +

    Description: +

    +

    Set attributes of the simulation box. +

    +

    For triclinic (non-orthogonal) simulation boxes, the tilt keyword allows simulation domains to be created with arbitrary tilt factors, -e.g. via the create_box or -read_data commands. Tilt factors determine how -skewed the triclinic box is; see this section of the manual for a discussion of -triclinic boxes in LAMMPS.

    -

    LAMMPS normally requires that no tilt factor can skew the box more +e.g. via the create_box or +read_data commands. Tilt factors determine how +skewed the triclinic box is; see this +section of the manual for a discussion of +triclinic boxes in LAMMPS. +

    +

    LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st -dimension in the tilt factor (x for xz). If tilt is set to -small, which is the default, then an error will be -generated if a box is created which exceeds this limit. If tilt -is set to large, then no limit is enforced. You can create -a box with any tilt factors you wish.

    -

    Note that if a simulation box has a large tilt factor, LAMMPS will run +dimension in the tilt factor (x for xz). If tilt is set to +small, which is the default, then an error will be +generated if a box is created which exceeds this limit. If tilt +is set to large, then no limit is enforced. You can create +a box with any tilt factors you wish. +

    +

    Note that if a simulation box has a large tilt factor, LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor’s irregular-shaped sub-domain. +acquire ghost atoms around a processor's irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error.

    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command or -read_restart command.

    -

    Related commands: none

    -
    -
    -

    Default¶

    -

    The default value is tilt = small.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +error. +

    +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command or +read_restart command. +

    +

    Related commands: none +

    +

    Default: +

    +

    The default value is tilt = small. +

    + diff --git a/doc/change_box.html b/doc/change_box.html index 965a0e2b13..c40a3f588b 100644 --- a/doc/change_box.html +++ b/doc/change_box.html @@ -1,188 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - change_box command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    change_box command¶

    -
    -

    Syntax¶

    -
    change_box group-ID parameter args ... keyword args ...
    -
    -
    -
      -
    • group-ID = ID of group of atoms to (optionally) displace
    • -
    • one or more parameter/arg pairs may be appended
    • -
    -
    -parameter = x or y or z or xy or xz or yz or boundary or ortho or triclinic or set or remap
    -  x, y, z args = style value(s)
    -    style = final or delta or scale or volume
    -      final values = lo hi
    +
    +
    +
    + +

    change_box command +

    +

    Syntax: +

    +
    change_box group-ID parameter args ... keyword args ... 
    +
    +
    • group-ID = ID of group of atoms to (optionally) displace + +
    • one or more parameter/arg pairs may be appended + +
      parameter = x or y or z or xy or xz or yz or boundary or ortho or triclinic or set or remap
      +  x, y, z args = style value(s)
      +    style = final or delta or scale or volume
      +      final values = lo hi
               lo hi = box boundaries after displacement (distance units)
      -      delta values = dlo dhi
      +      delta values = dlo dhi
               dlo dhi = change in box boundaries after displacement (distance units)
      -      scale values = factor
      +      scale values = factor
               factor = multiplicative factor for change in box length after displacement
      -      volume value = none = adjust this dim to preserve volume of system
      -  xy, xz, yz args = style value
      -    style = final or delta
      -      final value = tilt
      +      volume value = none = adjust this dim to preserve volume of system
      +  xy, xz, yz args = style value
      +    style = final or delta
      +      final value = tilt
               tilt = tilt factor after displacement (distance units)
      -      delta value = dtilt
      +      delta value = dtilt
               dtilt = change in tilt factor after displacement (distance units)
      -  boundary args = x y z
      -    x,y,z = p or s or f or m, one or two letters
      -    p is periodic
      -    f is non-periodic and fixed
      -    s is non-periodic and shrink-wrapped
      -    m is non-periodic and shrink-wrapped with a minimum value
      -  ortho args = none = change box to orthogonal
      -  triclinic args = none = change box to triclinic
      -  set args = none = store state of current box
      -  remap args = none = remap atom coords from last saved state to current box
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = units
      • -
      -
      -units value = lattice or box
      +  boundary args = x y z
      +    x,y,z = p or s or f or m, one or two letters
      +    p is periodic
      +    f is non-periodic and fixed
      +    s is non-periodic and shrink-wrapped
      +    m is non-periodic and shrink-wrapped with a minimum value
      +  ortho args = none = change box to orthogonal
      +  triclinic args = none = change box to triclinic
      +  set args = none = store state of current box
      +  remap args = none = remap atom coords from last saved state to current box 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = units + +
        units value = lattice or box
           lattice = distances are defined in lattice units
      -    box = distances are defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box
    -change_box all x scale 1.1 y volume z volume remap
    -
    -
    -
    -
    -

    Description¶

    -

    Change the volume and/or shape and/or boundary conditions for the + box = distances are defined in simulation box units + + + +

    Examples: +

    +
    change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box
    +change_box all x scale 1.1 y volume z volume remap 
    +
    +

    Description: +

    +

    Change the volume and/or shape and/or boundary conditions for the simulation box. Orthogonal simulation boxes have 3 adjustable size parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable size/shape parameters (x,y,z,xy,xz,yz). Any or all of @@ -190,59 +71,60 @@ them can be adjusted independently by this command. Thus it can be used to expand or contract a box, or to apply a shear strain to a non-orthogonal box. It can also be used to change the boundary conditions for the simulation box, similar to the -boundary command.

    -

    The size and shape of the initial simulation box are specified by the -create_box or read_data or -read_restart command used to setup the simulation. +boundary command. +

    +

    The size and shape of the initial simulation box are specified by the +create_box or read_data or +read_restart command used to setup the simulation. The size and shape may be altered by subsequent runs, e.g. by use of -the fix npt or fix deform commands. -The create_box, read data, and -read_restart commands also determine whether the +the fix npt or fix deform commands. +The create_box, read data, and +read_restart commands also determine whether the simulation box is orthogonal or triclinic and their doc pages explain -the meaning of the xy,xz,yz tilt factors.

    -

    See Section_howto 12 of the doc pages +the meaning of the xy,xz,yz tilt factors. +

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations.

    -

    The keywords used in this command are applied sequentially to the -simulation box and the atoms in it, in the order specified.

    -

    Before the sequence of keywords are invoked, the current box -size/shape is stored, in case a remap keyword is used to map the +triclinic representations. +

    +

    The keywords used in this command are applied sequentially to the +simulation box and the atoms in it, in the order specified. +

    +

    Before the sequence of keywords are invoked, the current box +size/shape is stored, in case a remap keyword is used to map the atom coordinates from a previously stored box size/shape to the -current one.

    -

    After all the keywords have been processed, any shrink-wrap boundary -conditions are invoked (see the boundary command) +current one. +

    +

    After all the keywords have been processed, any shrink-wrap boundary +conditions are invoked (see the boundary command) which may change simulation box boundaries, and atoms are migrated to -new owning processors.

    -

    IMPORTANT_NOTE: This means that you cannot use the change_box command +new owning processors. +

    +

    IMPORTANT_NOTE: This means that you cannot use the change_box command to enlarge a shrink-wrapped box, e.g. to make room to insert more -atoms via the create_atoms command, because the +atoms via the create_atoms command, because the simulation box will be re-shrink-wrapped before the change_box command completes. Instead you could do something like this, assuming the simulation box is non-periodic and atoms extend from 0 to 20 in all -dimensions:

    -
    change_box all x final -10 20
    -create_atoms 1 single -5 5 5   # this will fail to insert an atom
    -
    -
    -
    change_box all x final -10 20 boundary f s s
    +dimensions:
    +

    +
    change_box all x final -10 20
    +create_atoms 1 single -5 5 5   # this will fail to insert an atom 
    +
    +
    change_box all x final -10 20 boundary f s s
     create_atoms 1 single -5 5 5
    -change_box boundary s s s      # this will work
    -
    -
    -
    -

    Warning

    -

    Unlike the earlier “displace_box” version of this +change_box boundary s s s # this will work + +

    IMPORTANT NOTE: Unlike the earlier "displace_box" version of this command, atom remapping is NOT performed by default. This command allows remapping to be done in a more general way, exactly when you specify it (zero or more times) in the sequence of transformations. -Thus if you do not use the remap keyword, atom coordinates will not +Thus if you do not use the remap keyword, atom coordinates will not be changed even if the box size/shape changes. If a uniformly -strained state is desired, the remap keyword should be specified.

    -
    -
    -

    Warning

    -

    It is possible to lose atoms with this command. +strained state is desired, the remap keyword should be specified. +

    +

    IMPORTANT NOTE: It is possible to lose atoms with this command. E.g. by changing the box without remapping the atoms, and having atoms end up outside of non-periodic boundaries. It is also possible to alter bonds between atoms straddling a boundary in bad ways. E.g. by @@ -250,95 +132,101 @@ converting a boundary from periodic to non-periodic. It is also possible when remapping atoms to put them (nearly) on top of each other. E.g. by converting a boundary from non-periodic to periodic. All of these will typically lead to bad dynamics and/or generate error -messages.

    -
    -
    -

    Warning

    -

    The simulation box size/shape can be changed by +messages. +

    +

    IMPORTANT NOTE: The simulation box size/shape can be changed by arbitrarily large amounts by this command. This is not a problem, except that the mapping of processors to the simulation box is not changed from its initial 3d configuration; see the -processors command. Thus, if the box size/shape +processors command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box -may not end up as optimal as the initial mapping attempted to be.

    -
    -
    -

    Warning

    -

    Because the keywords used in this command are applied +may not end up as optimal as the initial mapping attempted to be. +

    +

    IMPORTANT NOTE: Because the keywords used in this command are applied one at a time to the simulation box and the atoms in it, care must be taken with triclinic cells to avoid exceeding the limits on skew after each transformation in the sequence. If skew is exceeded before the final transformation this can be avoided by changing the order of the sequence, or breaking the transformation into two or more smaller transformations. For more information on the allowed limits for box -skew see the discussion on triclinic boxes on this page.

    -
    -
    -

    For the x, y, and z parameters, this is the meaning of their -styles and values.

    -

    For style final, the final lo and hi box boundaries of a dimension +skew see the discussion on triclinic boxes on this +page. +

    +
    + +

    For the x, y, and z parameters, this is the meaning of their +styles and values. +

    +

    For style final, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below.

    -

    For style delta, plus or minus changes in the lo/hi box boundaries +See the discussion of the units keyword below. +

    +

    For style delta, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below.

    -

    For style scale, a multiplicative factor to apply to the box length +distance units. See the discussion of the units keyword below. +

    +

    For style scale, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression.

    -

    The volume style changes the specified dimension in such a way that +factor less than 1.0 means compression. +

    +

    The volume style changes the specified dimension in such a way that the overall box volume remains constant with respect to the operation -performed by the preceding keyword. The volume style can only be +performed by the preceding keyword. The volume style can only be used following a keyword that changed the volume, which is any of the -x, y, z keywords. If the preceding keyword “key” had a volume +x, y, z keywords. If the preceding keyword "key" had a volume style, then both it and the current keyword apply to the keyword -preceding “key”. I.e. this sequence of keywords is allowed:

    -
    change_box all x scale 1.1 y volume z volume
    -
    -
    -

    The volume style changes the associated dimension so that the +preceding "key". I.e. this sequence of keywords is allowed: +

    +
    change_box all x scale 1.1 y volume z volume 
    +
    +

    The volume style changes the associated dimension so that the overall box volume is unchanged relative to its value before the -preceding keyword was invoked.

    -

    If the following command is used, then the z box length will shrink by -the same 1.1 factor the x box length was increased by:

    -
    change_box all x scale 1.1 z volume
    -
    -
    -

    If the following command is used, then the y,z box lengths will each +preceding keyword was invoked. +

    +

    If the following command is used, then the z box length will shrink by +the same 1.1 factor the x box length was increased by: +

    +
    change_box all x scale 1.1 z volume 
    +
    +

    If the following command is used, then the y,z box lengths will each shrink by sqrt(1.1) to keep the volume constant. In this case, the y,z box lengths shrink so as to keep their relative aspect ratio -constant:

    -
    change_box all"x scale 1.1 y volume z volume
    -
    -
    -

    If the following command is used, then the final box will be a factor +constant: +

    +
    change_box all"x scale 1.1 y volume z volume 
    +
    +

    If the following command is used, then the final box will be a factor of 10% larger in x and y, and a factor of 21% smaller in z, so as to -keep the volume constant:

    -
    change_box all x scale 1.1 z volume y scale 1.1 z volume
    -
    -
    -
    -

    Warning

    -

    For solids or liquids, when one dimension of the box +keep the volume constant: +

    +
    change_box all x scale 1.1 z volume y scale 1.1 z volume 
    +
    +

    IMPORTANT NOTE: For solids or liquids, when one dimension of the box is expanded, it may be physically undesirable to hold the other 2 box lengths constant since that implies a density change. For solids, -adjusting the other dimensions via the volume style may make +adjusting the other dimensions via the volume style may make physical sense (just as for a liquid), but may not be correct for -materials and potentials whose Poisson ratio is not 0.5.

    -
    -

    For the scale and volume styles, the box length is expanded or -compressed around its mid point.

    -
    -

    For the xy, xz, and yz parameters, this is the meaning of their +materials and potentials whose Poisson ratio is not 0.5. +

    +

    For the scale and volume styles, the box length is expanded or +compressed around its mid point. +

    +
    + +

    For the xy, xz, and yz parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume.

    -

    For style final, the final tilt factor is specified. The value +box does not change its volume. +

    +

    For style final, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the -units keyword below.

    -

    For style delta, a plus or minus change in the tilt factor is +units keyword below. +

    +

    For style delta, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below.

    -

    All of these styles change the xy, xz, yz tilt factors. In LAMMPS, +the discussion of the units keyword below. +

    +

    All of these styles change the xy, xz, yz tilt factors. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are required to be no more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt @@ -347,152 +235,108 @@ between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. Any tilt factor specified by this command -must be within these limits.

    -
    -

    The boundary keyword takes arguments that have exactly the same -meaning as they do for the boundary command. In each +must be within these limits. +

    +
    + +

    The boundary keyword takes arguments that have exactly the same +meaning as they do for the boundary command. In each dimension, a single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the -lower face and the second style to the upper face.

    -

    The style p means the box is periodic; the other styles mean -non-periodic. For style f, the position of the face is fixed. For -style s, the position of the face is set so as to encompass the +lower face and the second style to the upper face. +

    +

    The style p means the box is periodic; the other styles mean +non-periodic. For style f, the position of the face is fixed. For +style s, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they -move. For style m, shrink-wrapping occurs, but is bounded by the +move. For style m, shrink-wrapping occurs, but is bounded by the current box edge in that dimension, so that the box will become no -smaller. See the boundary command for more -explanation of these style options.

    -

    Note that the “boundary” command itself can only be used before the -simulation box is defined via a read_data or -create_box or read_restart +smaller. See the boundary command for more +explanation of these style options. +

    +

    Note that the "boundary" command itself can only be used before the +simulation box is defined via a read_data or +create_box or read_restart command. This command allows the boundary conditions to be changed later in your input script. Also note that the -read_restart will change boundary conditions to +read_restart will change boundary conditions to match what is stored in the restart file. So if you wish to change them, you should use the change_box command after the read_restart -command.

    -
    -

    The ortho and triclinic keywords convert the simulation box to be -orthogonal or triclinic (non-orthongonal). See this section for a discussion of how non-orthongal -boxes are represented in LAMMPS.

    -

    The simulation box is defined as either orthogonal or triclinic when -it is created via the create_box, -read_data, or read_restart -commands.

    -

    These keywords allow you to toggle the existing simulation box from +command. +

    +
    + +

    The ortho and triclinic keywords convert the simulation box to be +orthogonal or triclinic (non-orthongonal). See this +section for a discussion of how non-orthongal +boxes are represented in LAMMPS. +

    +

    The simulation box is defined as either orthogonal or triclinic when +it is created via the create_box, +read_data, or read_restart +commands. +

    +

    These keywords allow you to toggle the existing simulation box from orthogonal to triclinic and vice versa. For example, an initial equilibration simulation can be run in an orthogonal box, the box can -be toggled to triclinic, and then a non-equilibrium MD (NEMD) simulation can be run with deformation -via the fix deform command.

    -

    If the simulation box is currently triclinic and has non-zero tilt in -xy, yz, or xz, then it cannot be converted to an orthogonal box.

    -
    -

    The set keyword saves the current box size/shape. This can be -useful if you wish to use the remap keyword more than once or if you +be toggled to triclinic, and then a non-equilibrium MD (NEMD) +simulation can be run with deformation +via the fix deform command. +

    +

    If the simulation box is currently triclinic and has non-zero tilt in +xy, yz, or xz, then it cannot be converted to an orthogonal box. +

    +
    + +

    The set keyword saves the current box size/shape. This can be +useful if you wish to use the remap keyword more than once or if you wish it to be applied to an intermediate box size/shape in a sequence of keyword operations. Note that the box size/shape is saved before any of the keywords are processed, i.e. the box size/shape at the time -the create_box command is encountered in the input script.

    -

    The remap keyword remaps atom coordinates from the last saved box +the create_box command is encountered in the input script. +

    +

    The remap keyword remaps atom coordinates from the last saved box size/shape to the current box state. For example, if you stretch the -box in the x dimension or tilt it in the xy plane via the x and xy -keywords, then the remap commmand will dilate or tilt the atoms to +box in the x dimension or tilt it in the xy plane via the x and xy +keywords, then the remap commmand will dilate or tilt the atoms to conform to the new box size/shape, as if the atoms moved with the box -as it deformed.

    -

    Note that this operation is performed without regard to periodic +as it deformed. +

    +

    Note that this operation is performed without regard to periodic boundaries. Also, any shrink-wrapping of non-periodic boundaries (see -the boundary command) occurs after all keywords, -including this one, have been processed.

    -

    Only atoms in the specified group are remapped.

    -
    -

    The units keyword determines the meaning of the distance units used -to define various arguments. A box value selects standard distance -units as defined by the units command, e.g. Angstroms for -units = real or metal. A lattice value means the distance units are -in lattice spacings. The lattice command must have -been previously used to define the lattice spacing.

    -
    -
    -
    -

    Restrictions¶

    -

    If you use the ortho or triclinic keywords, then at the point in -the input script when this command is issued, no dumps can -be active, nor can a fix ave/spatial or fix deform be active. This is because these commands +the boundary command) occurs after all keywords, +including this one, have been processed. +

    +

    Only atoms in the specified group are remapped. +

    +
    + +

    The units keyword determines the meaning of the distance units used +to define various arguments. A box value selects standard distance +units as defined by the units command, e.g. Angstroms for +units = real or metal. A lattice value means the distance units are +in lattice spacings. The lattice command must have +been previously used to define the lattice spacing. +

    +
    + +

    Restrictions: +

    +

    If you use the ortho or triclinic keywords, then at the point in +the input script when this command is issued, no dumps can +be active, nor can a fix ave/spatial or fix +deform be active. This is because these commands test whether the simulation box is orthogonal when they are first issued. Note that these commands can be used in your script before a -change_box command is issued, so long as an undump or -unfix command is also used to turn them off.

    -
    - -
    -

    Default¶

    -

    The option default is units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +change_box command is issued, so long as an undump or +unfix command is also used to turn them off. +

    +

    Related commands: +

    +

    fix deform, boundary +

    +

    Default: +

    +

    The option default is units = lattice. +

    + diff --git a/doc/clear.html b/doc/clear.html index dfe9413515..ddb7f19a13 100644 --- a/doc/clear.html +++ b/doc/clear.html @@ -1,226 +1,43 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - clear command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    clear command¶

    -
    -

    Syntax¶

    -
    clear
    -
    -
    -
    -
    -

    Examples¶

    -
    (commands for 1st simulation)
    +
    +
    +
    + +

    clear command +

    +

    Syntax: +

    +
    clear 
    +
    +

    Examples: +

    +
    (commands for 1st simulation)
     clear
    -(commands for 2nd simulation)
    -
    -
    -
    -
    -

    Description¶

    -

    This command deletes all atoms, restores all settings to their default +(commands for 2nd simulation) + +

    Description: +

    +

    This command deletes all atoms, restores all settings to their default values, and frees all memory allocated by LAMMPS. Once a clear command has been executed, it is almost as if LAMMPS were starting over, with only the exceptions noted below. This command enables -multiple jobs to be run sequentially from one input script.

    -

    These settings are not affected by a clear command: the working -directory (shell command), log file status -(log command), echo status (echo command), and -input script variables (variable command).

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +multiple jobs to be run sequentially from one input script. +

    +

    These settings are not affected by a clear command: the working +directory (shell command), log file status +(log command), echo status (echo command), and +input script variables (variable command). +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/comm_modify.html b/doc/comm_modify.html index afece0170d..db169c35f1 100644 --- a/doc/comm_modify.html +++ b/doc/comm_modify.html @@ -1,329 +1,151 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - comm_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    comm_modify command¶

    -
    -

    Syntax¶

    -
    comm_modify keyword value ...
    -
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = mode or cutoff or group or vel
    • -
    -
    -mode value = single or multi = communicate atoms within a single or multiple distances
    -  cutoff value = Rcut (distance units) = communicate atoms from this far away
    -  group value = group-ID = only communicate atoms in the group
    -  vel value = yes or no = do or do not communicate velocity info with ghost atoms
    -
    -
    -
    -

    Examples¶

    -
    comm_modify mode multi
    +
    +
    +
    + +

    comm_modify command +

    +

    Syntax: +

    +
    comm_modify keyword value ... 
    +
    +
    • zero or more keyword/value pairs may be appended + +
    • keyword = mode or cutoff or group or vel + +
        mode value = single or multi = communicate atoms within a single or multiple distances
      +  cutoff value = Rcut (distance units) = communicate atoms from this far away
      +  group value = group-ID = only communicate atoms in the group
      +  vel value = yes or no = do or do not communicate velocity info with ghost atoms 
      +
      + +
    +

    Examples: +

    +
    comm_modify mode multi
     comm_modify mode multi group solvent
     comm_modify vel yes
    -comm_modify cutoff 5.0 vel yes
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets parameters that affect the inter-processor +comm_modify cutoff 5.0 vel yes + +

    Description: +

    +

    This command sets parameters that affect the inter-processor communication of atom information that occurs each timestep as coordinates and other properties are exchanged between neighboring -processors and stored as properties of ghost atoms.

    -
    -

    Warning

    -

    These options apply to the currently defined comm -style. When you specify a comm_style command, all +processors and stored as properties of ghost atoms. +

    +

    IMPORTANT NOTE: These options apply to the currently defined comm +style. When you specify a comm_style command, all communication settings are restored to their default 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.

    -
    -

    The mode keyword determines whether a single or multiple cutoff -distances are used to determine which atoms to communicate.

    -

    The default mode is single which means each processor acquires +command after it. +

    +

    The mode keyword determines whether a single or multiple cutoff +distances are used to determine which atoms to communicate. +

    +

    The default mode is single which means each processor acquires information for ghost atoms that are within a single distance from its sub-domain. The distance is the maximum of the neighbor cutoff for -all atom type pairs.

    -

    For many systems this is an efficient algorithm, but for systems with -widely varying cutoffs for different type pairs, the multi mode can +all atom type pairs. +

    +

    For many systems this is an efficient algorithm, but for systems with +widely varying cutoffs for different type pairs, the multi mode can be faster. In this case, each atom type is assigned its own distance cutoff for communication purposes, and fewer atoms will be -communicated. See the neighbor multi command for a +communicated. See the neighbor multi command for a neighbor list construction option that may also be beneficial for -simulations of this kind.

    -

    The cutoff keyword allows you to set a ghost cutoff distance, which -is the distance from the borders of a processor’s sub-domain at which +simulations of this kind. +

    +

    The cutoff keyword allows you to set a ghost cutoff distance, which +is the distance from the borders of a processor's sub-domain at which ghost atoms are acquired from other processors. By default the ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. See -the neighbor command for more information about the +the neighbor command for more information about the skin distance. If the specified Rcut is greater than the neighbor cutoff, then extra ghost atoms will be acquired. If it is smaller, -the ghost cutoff is set to the neighbor cutoff.

    -

    These are simulation scenarios in which it may be useful or even -necessary to set a ghost cutoff > neighbor cutoff:

    -
      -
    • a single polymer chain with bond interactions, but no pairwise interactions
    • -
    • bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff
    • -
    • ghost atoms beyond the pairwise cutoff are needed for some computation
    • -
    -

    In the first scenario, a pairwise potential is not defined. Thus the +the ghost cutoff is set to the neighbor cutoff. +

    +

    These are simulation scenarios in which it may be useful or even +necessary to set a ghost cutoff > neighbor cutoff: +

    +
    • a single polymer chain with bond interactions, but no pairwise interactions +
    • bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff +
    • ghost atoms beyond the pairwise cutoff are needed for some computation +
    +

    In the first scenario, a pairwise potential is not defined. Thus the pairwise neighbor cutoff will be 0.0. But ghost atoms are still needed for computing bond, angle, etc interactions between atoms on different processors, or when the interaction straddles a periodic -boundary.

    -

    The appropriate ghost cutoff depends on the newton bond -setting. For newton bond off, the distance needs to be the furthest +boundary. +

    +

    The appropriate ghost cutoff depends on the newton bond +setting. For newton bond off, the distance needs to be the furthest distance between any two atoms in the bond, angle, etc. E.g. the -distance between 1-4 atoms in a dihedral. For newton bond on, the +distance between 1-4 atoms in a dihedral. For newton bond on, the distance between the central atom in the bond, angle, etc and any other atom is sufficient. E.g. the distance between 2-4 atoms in a -dihedral.

    -

    In the second scenario, a pairwise potential is defined, but its +dihedral. +

    +

    In the second scenario, a pairwise potential is defined, but its neighbor cutoff is not sufficiently long enough to enable bond, angle, etc terms to be computed. As in the previous scenario, an appropriate -ghost cutoff should be set.

    -

    In the last scenario, a fix or compute or -pairwise potential needs to calculate with ghost +ghost cutoff should be set. +

    +

    In the last scenario, a fix or compute or +pairwise potential needs to calculate with ghost atoms beyond the normal pairwise cutoff for some computation it performs (e.g. locate neighbors of ghost atoms in a multibody pair potential). Setting the ghost cutoff appropriately can insure it will -find the needed atoms.

    -
    -

    Warning

    -

    In these scenarios, if you do not set the ghost cutoff +find the needed atoms. +

    +

    IMPORTANT NOTE: In these scenarios, if you do not set the ghost cutoff long enough, and if there is only one processor in a periodic -dimension (e.g. you are running in serial), then LAMMPS may “find” the +dimension (e.g. you are running in serial), then LAMMPS may "find" the atom it is looking for (e.g. the partner atom in a bond), that is on the far side of the simulation box, across a periodic boundary. This will typically lead to bad dynamics (i.e. the bond length is now the simulation box length). To detect if this is happening, see the -neigh_modify cluster command.

    -
    -

    The group keyword will limit communication to atoms in the specified +neigh_modify cluster command. +

    +

    The group keyword will limit communication to atoms in the specified group. This can be useful for models where no ghost atoms are needed for some kinds of particles. All atoms (not just those in the specified group) will still migrate to new processors as they move. The group specified with this option must also be specified via the -atom_modify first command.

    -

    The vel keyword enables velocity information to be communicated with -ghost particles. Depending on the atom_style, +atom_modify first command. +

    +

    The vel keyword enables velocity information to be communicated with +ghost particles. Depending on the atom_style, velocity info includes the translational velocity, angular velocity, -and angular momentum of a particle. If the vel option is set to -yes, then ghost atoms store these quantities; if no then they do -not. The yes setting is needed by some pair styles which require +and angular momentum of a particle. If the vel option is set to +yes, then ghost atoms store these quantities; if no then they do +not. The yes setting is needed by some pair styles which require the velocity state of both the I and J particles to compute a pairwise -I,J interaction.

    -

    Note that if the fix deform command is being used -with its “remap v” option enabled, then the velocities for ghost atoms +I,J interaction. +

    +

    Note that if the fix deform command is being used +with its "remap v" option enabled, then the velocities for ghost atoms (in the fix deform group) mirrored across a periodic boundary will also include components due to any velocity shift that occurs across -that boundary (e.g. due to dilation or shear).

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defauls are mode = single, group = all, cutoff = 0.0, vel = +that boundary (e.g. due to dilation or shear). +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    comm_style, neighbor +

    +

    Default: +

    +

    The option defauls are mode = single, group = all, cutoff = 0.0, vel = no. The cutoff default of 0.0 means that ghost cutoff = neighbor -cutoff = pairwise force cutoff + neighbor skin.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +cutoff = pairwise force cutoff + neighbor skin. +

    + diff --git a/doc/comm_style.html b/doc/comm_style.html index ec53119cec..9e4c23a7fb 100644 --- a/doc/comm_style.html +++ b/doc/comm_style.html @@ -1,251 +1,68 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - comm_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    comm_style command¶

    -
    -

    Syntax¶

    -
    comm_style style
    -
    -
    -
      -
    • style = brick or tiled
    • -
    -
    -
    -

    Examples¶

    -
    comm_style brick
    -comm_style tiled
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets the style of inter-processor communication of atom + + +


    + +

    comm_style command +

    +

    Syntax: +

    +
    comm_style style 
    +
    +
    • style = brick or tiled +
    +

    Examples: +

    +
    comm_style brick
    +comm_style tiled 
    +
    +

    Description: +

    +

    This command sets the style of inter-processor communication of atom information that occurs each timestep as coordinates and other properties are exchanged between neighboring processors and stored as -properties of ghost atoms.

    -

    For the default brick style, the domain decomposition used by LAMMPS +properties of ghost atoms. +

    +

    For the default brick style, the domain decomposition used by LAMMPS to partition the simulation box must be a regular 3d grid of bricks, one per processor. Each processor communicates with its 6 Cartesian -neighbors in the grid to acquire information for nearby atoms.

    -

    For the tiled style, a more general domain decomposition can be -used, as triggered by the balance or fix balance commands. The simulation box can be -partitioned into non-overlapping rectangular-shaped “tiles” or varying +neighbors in the grid to acquire information for nearby atoms. +

    +

    For the tiled style, a more general domain decomposition can be +used, as triggered by the balance or fix +balance commands. The simulation box can be +partitioned into non-overlapping rectangular-shaped "tiles" or varying sizes and shapes. Again there is one tile per processor. To acquire information for nearby atoms, communication must now be done with a -more complex pattern of neighboring processors.

    -

    Note that this command does not actually define a partitoining of the +more complex pattern of neighboring processors. +

    +

    Note that this command does not actually define a partitoining of the simulation box (a domain decomposition), rather it determines what kinds of decompositions are allowed and the pattern of communication used to enable the decomposition. A decomposition is created when the -simulation box is first created, via the create_box -or read_data or read_restart -commands. For both the brick and tiled styles, the initial +simulation box is first created, via the create_box +or read_data or read_restart +commands. For both the brick and tiled styles, the initial decomposition will be the same, as described by -create_box and processors +create_box and processors commands. The decomposition can be changed via the -balance or fix_balance commands.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The default style is brick.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +balance or fix_balance commands. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    comm_modify, processors, +balance, fix balance +

    +

    Default: +

    +

    The default style is brick. +

    + diff --git a/doc/compute.html b/doc/compute.html index 2c19fd036d..c6a3030e53 100644 --- a/doc/compute.html +++ b/doc/compute.html @@ -1,154 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID style args
    -
    -
    -
      -
    • ID = user-assigned name for the computation
    • -
    • group-ID = ID of the group of atoms to perform the computation on
    • -
    • style = one of a list of possible style names (see below)
    • -
    • args = arguments used by a particular style
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all temp
    +
    +
    +
    + +

    compute command +

    +

    Syntax: +

    +
    compute ID group-ID style args 
    +
    +
    • ID = user-assigned name for the computation +
    • group-ID = ID of the group of atoms to perform the computation on +
    • style = one of a list of possible style names (see below) +
    • args = arguments used by a particular style +
    +

    Examples: +

    +
    compute 1 all temp
     compute newtemp flow temp/partial 1 1 0
    -compute 3 all ke/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that will be performed on a group of atoms. +compute 3 all ke/atom + +

    Description: +

    +

    Define a computation that will be performed on a group of atoms. Quantities calculated by a compute are instantaneous values, meaning they are calculated from information about atoms on the current timestep or iteration, though a compute may internally store some @@ -156,12 +36,15 @@ information about a previous state of the system. Defining a compute does not perform a computation. Instead computes are invoked by other LAMMPS commands as needed, e.g. to calculate a temperature needed for a thermostat fix or to generate thermodynamic or dump file output. -See this howto section for a summary of -various LAMMPS output options, many of which involve computes.

    -

    The ID of a compute can only contain alphanumeric characters and -underscores.

    -
    -

    Computes calculate one of three styles of quantities: global, +See this howto section for a summary of +various LAMMPS output options, many of which involve computes. +

    +

    The ID of a compute can only contain alphanumeric characters and +underscores. +

    +
    + +

    Computes calculate one of three styles of quantities: global, per-atom, or local. A global quantity is one or more system-wide values, e.g. the temperature of the system. A per-atom quantity is one or more values per atom, e.g. the kinetic energy of each atom. @@ -169,260 +52,215 @@ Per-atom values are set to 0.0 for atoms not in the specified compute group. Local quantities are calculated by each processor based on the atoms it owns, but there may be zero or more per atom, e.g. a list of bond distances. Computes that produce per-atom quantities have the -word “atom” in their style, e.g. ke/atom. Computes that produce -local quantities have the word “local” in their style, -e.g. bond/local. Styles with neither “atom” or “local” in their -style produce global quantities.

    -

    Note that a single compute produces either global or per-atom or local -quantities, but never more than one of these.

    -

    Global, per-atom, and local quantities each come in three kinds: a +word "atom" in their style, e.g. ke/atom. Computes that produce +local quantities have the word "local" in their style, +e.g. bond/local. Styles with neither "atom" or "local" in their +style produce global quantities. +

    +

    Note that a single compute produces either global or per-atom or local +quantities, but never more than one of these. +

    +

    Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The doc page for each compute describes the style and kind of values it produces, e.g. a per-atom vector. Some computes produce more than one -kind of a single style, e.g. a global scalar and a global vector.

    -

    When a compute quantity is accessed, as in many of the output commands +kind of a single style, e.g. a global scalar and a global vector. +

    +

    When a compute quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket -notation, where ID is the ID of the compute:

    - ---- - - - - - - - - - - - -
    c_IDentire scalar, vector, or array
    c_ID[I]one element of vector, one column of array
    c_ID[I][J]one element of array
    -

    In other words, using one bracket reduces the dimension of the -quantity once (vector -> scalar, array -> vector). Using two brackets -reduces the dimension twice (array -> scalar). Thus a command that +notation, where ID is the ID of the compute: +

    +
    + + +
    c_ID entire scalar, vector, or array
    c_ID[I] one element of vector, one column of array
    c_ID[I][J] one element of array +
    + +

    In other words, using one bracket reduces the dimension of the +quantity once (vector -> scalar, array -> vector). Using two brackets +reduces the dimension twice (array -> scalar). Thus a command that uses scalar compute values as input can also process elements of a -vector or array.

    -

    Note that commands and variables which use compute +vector or array. +

    +

    Note that commands and variables which use compute quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no ambiguity about referring to a compute quantity as c_ID even if it produces, for example, both a scalar and vector. The doc pages for -various commands explain the details.

    -
    -

    In LAMMPS, the values generated by a compute can be used in several -ways:

    -
      -
    • The results of computes that calculate a global temperature or +various commands explain the details. +

      +
      + +

      In LAMMPS, the values generated by a compute can be used in several +ways: +

      + -

      The results of computes that calculate global quantities can be either -“intensive” or “extensive” values. Intensive means the value is +or when atom velocities are created. + +

    • Global values can be output via the thermo_style +custom or fix ave/time command. +Or the values can be referenced in a variable equal or +variable atom command. + +
    • Per-atom values can be output via the dump custom command +or the fix ave/spatial command. Or they can be +time-averaged via the fix ave/atom command or +reduced by the compute reduce command. Or the +per-atom values can be referenced in an atom-style +variable. + +
    • Local values can be reduced by the compute +reduce command, or histogrammed by the fix +ave/histo command, or output by the dump +local command. +
    +

    The results of computes that calculate global quantities can be either +"intensive" or "extensive" values. Intensive means the value is independent of the number of atoms in the simulation, e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. -Thermodynamic output will normalize extensive +Thermodynamic output will normalize extensive values by the number of atoms in the system, depending on the -“thermo_modify norm” setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a compute value is accessed in another way, e.g. by a -variable, you may want to know whether it is an +variable, you may want to know whether it is an intensive or extensive value. See the doc page for individual -computes for further info.

    -
    -

    LAMMPS creates its own computes internally for thermodynamic output. -Three computes are always created, named “thermo_temp”, -“thermo_press”, and “thermo_pe”, as if these commands had been invoked -in the input script:

    -
    compute thermo_temp all temp
    +computes for further info.
    +

    +
    + +

    LAMMPS creates its own computes internally for thermodynamic output. +Three computes are always created, named "thermo_temp", +"thermo_press", and "thermo_pe", as if these commands had been invoked +in the input script: +

    +
    compute thermo_temp all temp
     compute thermo_press all pressure thermo_temp
    -compute thermo_pe all pe
    -
    -
    -

    Additional computes for other quantities are created if the thermo +compute thermo_pe all pe + +

    Additional computes for other quantities are created if the thermo style requires it. See the documentation for the -thermo_style command.

    -

    Fixes that calculate temperature or pressure, i.e. for thermostatting +thermo_style command. +

    +

    Fixes that calculate temperature or pressure, i.e. for thermostatting or barostatting, may also create computes. These are discussed in the -documentation for specific fix commands.

    -

    In all these cases, the default computes LAMMPS creates can be +documentation for specific fix commands. +

    +

    In all these cases, the default computes LAMMPS creates can be replaced by computes defined by the user in the input script, as -described by the thermo_modify and fix modify commands.

    -

    Properties of either a default or user-defined compute can be modified -via the compute_modify command.

    -

    Computes can be deleted with the uncompute command.

    -

    Code for new computes can be added to LAMMPS (see this section of the manual) and the results of their -calculations accessed in the various ways described above.

    -
    -

    Each compute style has its own doc page which describes its arguments +described by the thermo_modify and fix +modify commands. +

    +

    Properties of either a default or user-defined compute can be modified +via the compute_modify command. +

    +

    Computes can be deleted with the uncompute command. +

    +

    Code for new computes can be added to LAMMPS (see this +section of the manual) and the results of their +calculations accessed in the various ways described above. +

    +
    + +

    Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles available in LAMMPS. They are also given in more compact form in the -compute section of this page.

    -

    There are also additional compute styles (not listed here) submitted +compute section of this page. +

    +

    There are also additional compute styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the compute -section of this page.

    -

    There are also additional accelerated compute styles (note listed +section of this page. +

    +

    There are also additional accelerated compute styles (note listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles -are given in the compute section of this page.

    -
      -
    • angle/local - theta and energy of each angle
    • -
    • body/local - attributes of body sub-particles
    • -
    • bond/local - distance and energy of each bond
    • -
    • centro/atom - centro-symmetry parameter for each atom
    • -
    • cluster/atom - cluster ID for each atom
    • -
    • cna/atom - common neighbor analysis (CNA) for each atom
    • -
    • com - center-of-mass of group of atoms
    • -
    • com/chunk - center-of-mass for each chunk
    • -
    • contact/atom - contact count for each spherical particle
    • -
    • coord/atom - coordination number for each atom
    • -
    • damage/atom - Peridynamic damage for each atom
    • -
    • dihedral/local - angle of each dihedral
    • -
    • dilatation/atom - Peridynamic dilatation for each atom
    • -
    • displace/atom - displacement of each atom
    • -
    • erotate/asphere - rotational energy of aspherical particles
    • -
    • erotate/rigid - rotational energy of rigid bodies
    • -
    • erotate/sphere - rotational energy of spherical particles
    • -
    • erotate/sphere/atom - rotational energy for each spherical particle
    • -
    • event/displace - detect event on atom displacement
    • -
    • group/group - energy/force between two groups of atoms
    • -
    • gyration - radius of gyration of group of atoms
    • -
    • gyration/chunk - radius of gyration for each chunk
    • -
    • heat/flux - heat flux through a group of atoms
    • -
    • improper/local - angle of each improper
    • -
    • inertia/chunk - inertia tensor for each chunk
    • -
    • ke - translational kinetic energy
    • -
    • ke/atom - kinetic energy for each atom
    • -
    • ke/rigid - translational kinetic energy of rigid bodies
    • -
    • msd - mean-squared displacement of group of atoms
    • -
    • msd/chunk - mean-squared displacement for each chunk
    • -
    • msd/nongauss - MSD and non-Gaussian parameter of group of atoms
    • -
    • pair - values computed by a pair style
    • -
    • pair/local - distance/energy/force of each pairwise interaction
    • -
    • pe - potential energy
    • -
    • pe/atom - potential energy for each atom
    • -
    • plasticity/atom - Peridynamic plasticity for each atom
    • -
    • pressure - total pressure and pressure tensor
    • -
    • property/atom - convert atom attributes to per-atom vectors/arrays
    • -
    • property/local - convert local attributes to localvectors/arrays
    • -
    • property/chunk - extract various per-chunk attributes
    • -
    • rdf - radial distribution function g(r) histogram of group of atoms
    • -
    • reduce - combine per-atom quantities into a single global value
    • -
    • reduce/region - same as compute reduce, within a region
    • -
    • slice - extract values from global vector or array
    • -
    • sna/atom - calculate bispectrum coefficients for each atom
    • -
    • snad/atom - derivative of bispectrum coefficients for each atom
    • -
    • snav/atom - virial contribution from bispectrum coefficients for each atom
    • -
    • stress/atom - stress tensor for each atom
    • -
    • temp - temperature of group of atoms
    • -
    • temp/asphere - temperature of aspherical particles
    • -
    • temp/chunk - temperature of each chunk
    • -
    • temp/com - temperature after subtracting center-of-mass velocity
    • -
    • temp/deform - temperature excluding box deformation velocity
    • -
    • temp/partial - temperature excluding one or more dimensions of velocity
    • -
    • temp/profile - temperature excluding a binned velocity profile
    • -
    • temp/ramp - temperature excluding ramped velocity component
    • -
    • temp/region - temperature of a region of atoms
    • -
    • temp/sphere - temperature of spherical particles
    • -
    • ti - thermodyanmic integration free energy values
    • -
    • torque/chunk - torque applied on each chunk
    • -
    • vacf - velocity-autocorrelation function of group of atoms
    • -
    • vcm/chunk - velocity of center-of-mass for each chunk
    • -
    • voronoi/atom - Voronoi volume and neighbors for each atom
    • -
    -

    There are also additional compute styles submitted by users which are +are given in the compute section of this +page. +

    +
    • angle/local - theta and energy of each angle +
    • body/local - attributes of body sub-particles +
    • bond/local - distance and energy of each bond +
    • centro/atom - centro-symmetry parameter for each atom +
    • cluster/atom - cluster ID for each atom +
    • cna/atom - common neighbor analysis (CNA) for each atom +
    • com - center-of-mass of group of atoms +
    • com/chunk - center-of-mass for each chunk +
    • contact/atom - contact count for each spherical particle +
    • coord/atom - coordination number for each atom +
    • damage/atom - Peridynamic damage for each atom +
    • dihedral/local - angle of each dihedral +
    • dilatation/atom - Peridynamic dilatation for each atom +
    • displace/atom - displacement of each atom +
    • erotate/asphere - rotational energy of aspherical particles +
    • erotate/rigid - rotational energy of rigid bodies +
    • erotate/sphere - rotational energy of spherical particles +
    • erotate/sphere/atom - rotational energy for each spherical particle +
    • event/displace - detect event on atom displacement +
    • group/group - energy/force between two groups of atoms +
    • gyration - radius of gyration of group of atoms +
    • gyration/chunk - radius of gyration for each chunk +
    • heat/flux - heat flux through a group of atoms +
    • improper/local - angle of each improper +
    • inertia/chunk - inertia tensor for each chunk +
    • ke - translational kinetic energy +
    • ke/atom - kinetic energy for each atom +
    • ke/rigid - translational kinetic energy of rigid bodies +
    • msd - mean-squared displacement of group of atoms +
    • msd/chunk - mean-squared displacement for each chunk +
    • msd/nongauss - MSD and non-Gaussian parameter of group of atoms +
    • pair - values computed by a pair style +
    • pair/local - distance/energy/force of each pairwise interaction +
    • pe - potential energy +
    • pe/atom - potential energy for each atom +
    • plasticity/atom - Peridynamic plasticity for each atom +
    • pressure - total pressure and pressure tensor +
    • property/atom - convert atom attributes to per-atom vectors/arrays +
    • property/local - convert local attributes to localvectors/arrays +
    • property/chunk - extract various per-chunk attributes +
    • rdf - radial distribution function g(r) histogram of group of atoms +
    • reduce - combine per-atom quantities into a single global value +
    • reduce/region - same as compute reduce, within a region +
    • slice - extract values from global vector or array +
    • sna/atom - calculate bispectrum coefficients for each atom +
    • snad/atom - derivative of bispectrum coefficients for each atom +
    • snav/atom - virial contribution from bispectrum coefficients for each atom +
    • stress/atom - stress tensor for each atom +
    • temp - temperature of group of atoms +
    • temp/asphere - temperature of aspherical particles +
    • temp/chunk - temperature of each chunk +
    • temp/com - temperature after subtracting center-of-mass velocity +
    • temp/deform - temperature excluding box deformation velocity +
    • temp/partial - temperature excluding one or more dimensions of velocity +
    • temp/profile - temperature excluding a binned velocity profile +
    • temp/ramp - temperature excluding ramped velocity component +
    • temp/region - temperature of a region of atoms +
    • temp/sphere - temperature of spherical particles +
    • ti - thermodyanmic integration free energy values +
    • torque/chunk - torque applied on each chunk +
    • vacf - velocity-autocorrelation function of group of atoms +
    • vcm/chunk - velocity of center-of-mass for each chunk +
    • voronoi/atom - Voronoi volume and neighbors for each atom +
    +

    There are also additional compute styles submitted by users which are included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the compute section of this page.

    -

    There are also additional accelerated compute styles included in the +the individual styles are given in the compute section of this +page. +

    +

    There are also additional accelerated compute styles included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given in the pair -section of this page.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +section of this page. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    uncompute, compute_modify, fix +ave/atom, fix ave/spatial, +fix ave/time, fix ave/histo +

    +

    Default: none +

    + diff --git a/doc/compute_ackland_atom.html b/doc/compute_ackland_atom.html index d128227c11..d3445f2f52 100644 --- a/doc/compute_ackland_atom.html +++ b/doc/compute_ackland_atom.html @@ -1,252 +1,80 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ackland/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ackland/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ackland/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ackland/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ackland/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Defines a computation that calculates the local lattice structure -according to the formulation given in (Ackland).

    -

    In contrast to the centro-symmetry parameter this method is stable against + + +


    + +

    compute ackland/atom command +

    +

    Syntax: +

    +
    compute ID group-ID ackland/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • ackland/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all ackland/atom 
    +
    +

    Description: +

    +

    Defines a computation that calculates the local lattice structure +according to the formulation given in (Ackland). +

    +

    In contrast to the centro-symmetry +parameter this method is stable against temperature boost, because it is based not on the distance between particles but the angles. Therefore statistical fluctuations are averaged out a little more. A comparison with the Common Neighbor -Analysis metric is made in the paper.

    -

    The result is a number which is mapped to the following different -lattice structures:

    -
      -
    • 0 = UNKNOWN
    • -
    • 1 = BCC
    • -
    • 2 = FCC
    • -
    • 3 = HCP
    • -
    • 4 = ICO
    • -
    -

    The neighbor list needed to compute this quantity is constructed each +Analysis metric is made in the paper. +

    +

    The result is a number which is mapped to the following different +lattice structures: +

    +
    • 0 = UNKNOWN +
    • 1 = BCC +
    • 2 = FCC +
    • 3 = HCP +
    • 4 = ICO +
    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of -which computes this quantity.-

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +which computes this quantity.- +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The per-atom vector values will be unitless since they are the -integers defined above.

    -
    - -
    +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    Restrictions: +

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The per-atom vector values will be unitless since they are the +integers defined above. +

    +

    Related commands: +

    +

    compute centro/atom +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ackland) Ackland, Jones, Phys Rev B, 73, 054104 (2006). +

    + diff --git a/doc/compute_angle_local.html b/doc/compute_angle_local.html index 528a8cc3a4..60ba03541f 100644 --- a/doc/compute_angle_local.html +++ b/doc/compute_angle_local.html @@ -1,260 +1,87 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute angle/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute angle/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID angle/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • angle/local = style name of this compute command
    • -
    • one or more keywords may be appended
    • -
    • keyword = theta or eng
    • -
    -
    -theta = tabulate angles
    -  eng = tabulate angle energies
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all angle/local theta
    -compute 1 all angle/local eng theta
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual angle + + +


    + +

    compute angle/local command +

    +

    Syntax: +

    +
    compute ID group-ID angle/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • angle/local = style name of this compute command + +
    • one or more keywords may be appended + +
    • keyword = theta or eng + +
        theta = tabulate angles
      +  eng = tabulate angle energies 
      +
      + +
    +

    Examples: +

    +
    compute 1 all angle/local theta
    +compute 1 all angle/local eng theta 
    +
    +

    Description: +

    +

    Define a computation that calculates properties of individual angle interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the -group parameter as explained below.

    -

    The local data stored by this command is generated by looping over all +group parameter as explained below. +

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute group. Any angles that have been broken (see the -angle_style command) by setting their angle type to -0 are not included. Angles that have been turned off (see the fix shake or delete_bonds commands) by +angle_style command) by setting their angle type to +0 are not included. Angles that have been turned off (see the fix +shake or delete_bonds commands) by setting their angle type negative are written into the file, but their -energy will be 0.0.

    -

    Note that as atoms migrate from processor to processor, there will be +energy will be 0.0. +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, angle output from the compute property/local command can be combined -with data from this command and output by the dump local -command in a consistent way.

    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +For example, angle output from the compute +property/local command can be combined +with data from this command and output by the dump local +command in a consistent way. +

    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of angles. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The output for theta will be in degrees. The output for eng will -be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The output for theta will be in degrees. The output for eng will +be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute +property/local +

    +

    Default: none +

    + diff --git a/doc/compute_angmom_chunk.html b/doc/compute_angmom_chunk.html index 4005222522..2017422f12 100644 --- a/doc/compute_angmom_chunk.html +++ b/doc/compute_angmom_chunk.html @@ -1,270 +1,94 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute angmom/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute angmom/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID angmom/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • angmom/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid angmom/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the angular momemtum of multiple -chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute angmom/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID angmom/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • angmom/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid angmom/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the angular momemtum of multiple +chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the 3 components of the angular momentum +a system. +

    +

    This compute calculates the 3 components of the angular momentum vector for each chunk, due to the velocity/momentum of the individual atoms in the chunk around the center-of-mass of the chunk. The calculation includes all effects due to atoms passing thru periodic -boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the chunk’s -angular momentum in “unwrapped” form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of “unwrapped” coordinates. See the Atoms section of -the read_data command for a discussion of image flags +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's +angular momentum in "unwrapped" form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of "unwrapped" coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute angmom/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute angmom/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all angmom/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 3 for the 3 xyz components of the angular momentum for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The array values are “intensive”. The array values will be in -mass-velocity-distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The array values are "intensive". The array values will be in +mass-velocity-distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable angmom() function +

    +

    Default: none +

    + diff --git a/doc/compute_basal_atom.html b/doc/compute_basal_atom.html index b758c427c6..8427c4e4fa 100644 --- a/doc/compute_basal_atom.html +++ b/doc/compute_basal_atom.html @@ -1,250 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute basal/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute basal/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID basal/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • basal/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all basal/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Defines a computation that calculates the hexagonal close-packed “c” + + +


    + +

    compute basal/atom command +

    +

    Syntax: +

    +
    compute ID group-ID basal/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • basal/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all basal/atom 
    +
    +

    Description: +

    +

    Defines a computation that calculates the hexagonal close-packed "c" lattice vector for each atom in the group. It does this by calculating the normal unit vector to the basal plane for each atom. The results enable efficient identification and characterization of -twins and grains in hexagonal close-packed structures.

    -

    The output of the compute is thus the 3 components of a unit vector +twins and grains in hexagonal close-packed structures. +

    +

    The output of the compute is thus the 3 components of a unit vector associdate with each atom. The components are set to 0.0 for -atoms not in the group.

    -

    Details of the calculation are given in (Barrett).

    -

    The neighbor list needed to compute this quantity is constructed each +atoms not in the group. +

    +

    Details of the calculation are given in (Barrett). +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of -which computes this quantity.

    -

    An example input script that uses this compute is provided -in examples/USER/misc/basal.

    -

    Output info:

    -

    This compute calculates a per-atom array with 3 columns, which can be +which computes this quantity. +

    +

    An example input script that uses this compute is provided +in examples/USER/misc/basal. +

    +

    Output info: +

    +

    This compute calculates a per-atom array with 3 columns, which can be accessed by indices 1-3 by any command that uses per-atom values from -a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The per-atom vector values are unitless since the 3 columns represent -components of a unit vector.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The output of this compute will be meaningless unless the atoms are on +a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The per-atom vector values are unitless since the 3 columns represent +components of a unit vector. +

    +

    Restrictions: +

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The output of this compute will be meaningless unless the atoms are on (or near) hcp lattice sites, since the calculation assumes a -well-defined basal plane.

    -
    - -
    +well-defined basal plane. +

    +

    Related commands: +

    +

    compute centro/atom, compute +ackland/atom +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Barrett) Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012). +

    + diff --git a/doc/compute_body_local.html b/doc/compute_body_local.html index 7d49a8ae38..7b8b74dfea 100644 --- a/doc/compute_body_local.html +++ b/doc/compute_body_local.html @@ -1,272 +1,99 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute body/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute body/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID body/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • body/local = style name of this compute command
    • -
    • one or more keywords may be appended
    • -
    • keyword = type or integer
    • -
    -
    -type = atom type of the body particle
    -  integer = 1,2,3,etc = index of fields defined by body style
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all body/local type 1 2 3
    -compute 1 all body/local 3 6
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual body + + +


    + +

    compute body/local command +

    +

    Syntax: +

    +
    compute ID group-ID body/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • body/local = style name of this compute command + +
    • one or more keywords may be appended + +
    • keyword = type or integer + +
        type = atom type of the body particle
      +  integer = 1,2,3,etc = index of fields defined by body style 
      +
      + +
    +

    Examples: +

    +
    compute 1 all body/local type 1 2 3
    +compute 1 all body/local 3 6 
    +
    +

    Description: +

    +

    Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as -explained below. See Section_howto 14 -of the manual and the body doc page for more details on -using body particles.

    -

    The local data stored by this command is generated by looping over all +explained below. See Section_howto 14 +of the manual and the body doc page for more details on +using body particles. +

    +

    The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If the atom is a body particle, then its N sub-particles will be looped over, and it will contribute N datums to the count of datums. If it -is not a body particle, it will contribute 1 datum.

    -

    For both body particles and non-body particles, the type keyword -will store the type of the atom.

    -

    The integer keywords mean different things for body and non-body -particles. If the atom is not a body particle, only its x, y, z -coordinates can be referenced, using the integer keywords 1,2,3. +is not a body particle, it will contribute 1 datum. +

    +

    For both body particles and non-body particles, the type keyword +will store the type of the atom. +

    +

    The integer keywords mean different things for body and non-body +particles. If the atom is not a body particle, only its x, y, z +coordinates can be referenced, using the integer keywords 1,2,3. Note that this means that if you want to access more fields than this for body particles, then you cannot include non-body particles in the -group.

    -

    For a body particle, the integer keywords refer to fields calculated +group. +

    +

    For a body particle, the integer keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified -by the atom_style body, determines how many fields -exist and what they are. See the body doc page for -details of the different styles.

    -

    Here is an example of how to output body information using the dump local command with this compute. If fields 1,2,3 for the +by the atom_style body, determines how many fields +exist and what they are. See the body doc page for +details of the different styles. +

    +

    Here is an example of how to output body information using the dump +local command with this compute. If fields 1,2,3 for the body sub-particles are x,y,z coordinates, then the dump file will be -formatted similar to the output of a dump atom or custom -command.

    -
    compute 1 all body/local type 1 2 3
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4]
    -
    -
    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +formatted similar to the output of a dump atom or custom +command. +

    +
    compute 1 all body/local type 1 2 3
    +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] 
    +
    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of datums as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The units for output values depend on the body style.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +command that uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The units for output values depend on the body style. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local +

    +

    Default: none +

    + diff --git a/doc/compute_bond_local.html b/doc/compute_bond_local.html index 16fc047c5f..db281b4fa7 100644 --- a/doc/compute_bond_local.html +++ b/doc/compute_bond_local.html @@ -1,268 +1,94 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute bond/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute bond/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID bond/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • bond/local = style name of this compute command
    • -
    • one or more keywords may be appended
    • -
    • keyword = dist or eng
    • -
    -
    -dist = bond distance
    -  eng = bond energy
    -  force = bond force
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all bond/local eng
    -compute 1 all bond/local dist eng force
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual bond + + +


    + +

    compute bond/local command +

    +

    Syntax: +

    +
    compute ID group-ID bond/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • bond/local = style name of this compute command + +
    • one or more keywords may be appended + +
    • keyword = dist or eng + +
        dist = bond distance
      +  eng = bond energy
      +  force = bond force 
      +
      + +
    +

    Examples: +

    +
    compute 1 all bond/local eng
    +compute 1 all bond/local dist eng force 
    +
    +

    Description: +

    +

    Define a computation that calculates properties of individual bond interactions. The number of datums generated, aggregated across all processors, equals the number of bonds in the system, modified -by the group parameter as explained below.

    -

    The local data stored by this command is generated by looping over all +by the group parameter as explained below. +

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. -Any bonds that have been broken (see the bond_style +Any bonds that have been broken (see the bond_style command) by setting their bond type to 0 are not included. Bonds that -have been turned off (see the fix shake or -delete_bonds commands) by setting their bond type -negative are written into the file, but their energy will be 0.0.

    -

    Note that as atoms migrate from processor to processor, there will be +have been turned off (see the fix shake or +delete_bonds commands) by setting their bond type +negative are written into the file, but their energy will be 0.0. +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, bond output from the compute property/local command can be combined -with data from this command and output by the dump local -command in a consistent way.

    -

    Here is an example of how to do this:

    -
    compute 1 all property/local batom1 batom2 btype
    +For example, bond output from the compute
    +property/local command can be combined
    +with data from this command and output by the dump local
    +command in a consistent way.
    +

    +

    Here is an example of how to do this: +

    +
    compute 1 all property/local batom1 batom2 btype 
     compute 2 all bond/local dist eng
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2]
    -
    -
    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] + +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The output for dist will be in distance units. The -output for eng will be in energy units. The output for -force will be in force units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The output for dist will be in distance units. The +output for eng will be in energy units. The output for +force will be in force units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute +property/local +

    +

    Default: none +

    + diff --git a/doc/compute_centro_atom.html b/doc/compute_centro_atom.html index e43de7e11d..6b3c037103 100644 --- a/doc/compute_centro_atom.html +++ b/doc/compute_centro_atom.html @@ -1,297 +1,126 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute centro/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute centro/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID centro/atom lattice
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • centro/atom = style name of this compute command
    • -
    • lattice = fcc or bcc or N = # of neighbors per atom to include
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all centro/atom fcc
    -
    -
    -
    compute 1 all centro/atom 8
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the centro-symmetry parameter for + + +


    + +

    compute centro/atom command +

    +

    Syntax: +

    +
    compute ID group-ID centro/atom lattice 
    +
    +
    • ID, group-ID are documented in compute command +
    • centro/atom = style name of this compute command +
    • lattice = fcc or bcc or N = # of neighbors per atom to include +
    +

    Examples: +

    +
    compute 1 all centro/atom fcc 
    +
    +
    compute 1 all centro/atom 8 
    +
    +

    Description: +

    +

    Define a computation that calculates the centro-symmetry parameter for each atom in the group. In solid-state systems the centro-symmetry parameter is a useful measure of the local lattice disorder around an atom and can be used to characterize whether the atom is part of a perfect lattice, a local defect (e.g. a dislocation or stacking -fault), or at a surface.

    -

    The value of the centro-symmetry parameter will be 0.0 for atoms not -in the specified compute group.

    -

    This parameter is computed using the following formula from -(Kelchner)

    -_images/centro_symmetry.jpg -

    where the N nearest neighbors or each atom are identified and Ri and +fault), or at a surface. +

    +

    The value of the centro-symmetry parameter will be 0.0 for atoms not +in the specified compute group. +

    +

    This parameter is computed using the following formula from +(Kelchner) +

    +
    +
    +

    where the N nearest neighbors or each atom are identified and Ri and Ri+N/2 are vectors from the central atom to a particular pair of nearest neighbors. There are N*(N-1)/2 possible neighbor pairs that can contribute to this formula. The quantity in the sum is computed for each, and the N/2 smallest are used. This will typically be for pairs of atoms in symmetrically opposite positions with respect to the -central atom; hence the i+N/2 notation.

    -

    N is an input parameter, which should be set to correspond to the +central atom; hence the i+N/2 notation. +

    +

    N is an input parameter, which should be set to correspond to the number of nearest neighbors in the underlying lattice of atoms. If -the keyword fcc or bcc is used, N is set to 12 and 8 -respectively. More generally, N can be set to a positive, even -integer.

    -

    For an atom on a lattice site, surrounded by atoms on a perfect +the keyword fcc or bcc is used, N is set to 12 and 8 +respectively. More generally, N can be set to a positive, even +integer. +

    +

    For an atom on a lattice site, surrounded by atoms on a perfect lattice, the centro-symmetry parameter will be 0. It will be near 0 for small thermal perturbations of a perfect lattice. If a point defect exists, the symmetry is broken, and the parameter will be a larger positive value. An atom at a surface will have a large -positive parameter. If the atom does not have N neighbors (within +positive parameter. If the atom does not have N neighbors (within the potential cutoff), then its centro-symmetry parameter is set to -0.0.

    -

    Only atoms within the cutoff of the pairwise neighbor list are +0.0. +

    +

    Only atoms within the cutoff of the pairwise neighbor list are considered as possible neighbors. Atoms not in the compute group are -included in the N neighbors used in this calculation.

    -

    The neighbor list needed to compute this quantity is constructed each +included in the N neighbors used in this calculation. +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a -centro/atom style.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +centro/atom style. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values are unitless values >= 0.0. Their +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values are unitless values >= 0.0. Their magnitude depends on the lattice style due to the number of contibuting neighbor pairs in the summation in the formula above. And it depends on the local defects surrounding the central atom, as -described above.

    -

    Here are typical centro-symmetry values, from a a nanoindentation +described above. +

    +

    Here are typical centro-symmetry values, from a a nanoindentation simulation into gold (FCC). These were provided by Jon Zimmerman -(Sandia):

    -
    Bulk lattice = 0
    +(Sandia):
    +

    +
    Bulk lattice = 0
     Dislocation core ~ 1.0 (0.5 to 1.25)
     Stacking faults ~ 5.0 (4.0 to 6.0)
    -Free surface ~ 23.0
    -
    -
    -

    These values are not normalized by the square of the lattice -parameter. If they were, normalized values would be:

    -
    Bulk lattice = 0
    +Free surface ~ 23.0 
    +
    +

    These values are *not* normalized by the square of the lattice +parameter. If they were, normalized values would be: +

    +
    Bulk lattice = 0
     Dislocation core ~ 0.06 (0.03 to 0.075)
     Stacking faults ~ 0.3 (0.24 to 0.36)
    -Free surface ~ 1.38
    -
    -
    -

    For BCC materials, the values for dislocation cores and free surfaces +Free surface ~ 1.38 + +

    For BCC materials, the values for dislocation cores and free surfaces would be somewhat different, due to their being only 8 neighbors instead -of 12.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +of 12. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute cna/atom +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Kelchner) Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). +

    + diff --git a/doc/compute_chunk_atom.html b/doc/compute_chunk_atom.html index 70a6675a0d..24d4598c62 100644 --- a/doc/compute_chunk_atom.html +++ b/doc/compute_chunk_atom.html @@ -1,484 +1,437 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute chunk/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute chunk/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID chunk/atom style args keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • chunk/atom = style name of this compute command
    • -
    -
    -style = bin/1d or bin/2d or bin/3d or type or molecule or compute/fix/variable
    -  bin/1d args = dim origin delta
    -    dim = x or y or z
    -    origin = lower or center or upper or coordinate value (distance units)
    +
    +
    +
    + +

    compute chunk/atom command +

    +

    Syntax: +

    +
    compute ID group-ID chunk/atom style args keyword values ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • chunk/atom = style name of this compute command + +
      style = bin/1d or bin/2d or bin/3d or type or molecule or compute/fix/variable
      +  bin/1d args = dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  bin/2d args = dim origin delta dim origin delta
      -    dim = x or y or z
      -    origin = lower or center or upper or coordinate value (distance units)
      +  bin/2d args = dim origin delta dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  bin/3d args = dim origin delta dim origin delta dim origin delta
      -    dim = x or y or z
      -    origin = lower or center or upper or coordinate value (distance units)
      +  bin/3d args = dim origin delta dim origin delta dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  type args = none
      -  molecule args = none
      -  compute/fix/variable = c_ID, c_ID[I], f_ID, f_ID[I], v_name with no args
      +  type args = none
      +  molecule args = none
      +  compute/fix/variable = c_ID, c_ID[I], f_ID, f_ID[I], v_name with no args
           c_ID = per-atom vector calculated by a compute with ID
           c_ID[I] = Ith column of per-atom array calculated by a compute with ID
           f_ID = per-atom vector calculated by a fix with ID
           f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -    v_name = per-atom vector calculated by an atom-style variable with name
      -
      -
        -
      • zero or more keyword/values pairs may be appended
      • -
      • keyword = region or nchunk or static or compress or bound or discard or units
      • -
      -
      -region value = region-ID
      +    v_name = per-atom vector calculated by an atom-style variable with name 
      +
      +
    • zero or more keyword/values pairs may be appended + +
    • keyword = region or nchunk or static or compress or bound or discard or units + +
        region value = region-ID
           region-ID = ID of region atoms must be in to be part of a chunk
      -  nchunk value = once or every
      +  nchunk value = once or every
           once = only compute the number of chunks once
           every = re-compute the number of chunks whenever invoked
      -  limit values = 0 or Nc max or Nc exact
      +  limit values = 0 or Nc max or Nc exact
           0 = no limit on the number of chunks
      -    Nc max = limit number of chunks to be <= Nc
      +    Nc max = limit number of chunks to be <= Nc
           Nc exact = set number of chunks to exactly Nc
      -  ids value = once or nfreq or every
      +  ids value = once or nfreq or every
           once = assign chunk IDs to atoms only once, they persist thereafter
      -    nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
      +    nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
           every = assign chunk IDs to atoms whenever invoked
      -  compress value = yes or no
      +  compress value = yes or no
           yes = compress chunk IDs to eliminate IDs with no atoms
           no = do not compress chunk IDs even if some IDs have no atoms
      -  discard value = yes or no or mixed
      +  discard value = yes or no or mixed
           yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0
           no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID
           mixed = keep or discard such atoms according to spatial binning rule
      -  bound values = x/y/z lo hi
      -    x/y/z = x or y or z to bound sptial bins in this dimension
      -    lo = lower or coordinate value (distance units)
      -    hi = upper or coordinate value (distance units)
      -  units value = box or lattice or reduced
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all chunk/atom type
    +  bound values = x/y/z lo hi
    +    x/y/z = x or y or z to bound sptial bins in this dimension
    +    lo = lower or coordinate value (distance units)
    +    hi = upper or coordinate value (distance units)
    +  units value = box or lattice or reduced 
    +
    + + +

    Examples: +

    +
    compute 1 all chunk/atom type
     compute 1 all chunk/atom bin/1d z lower 0.02 units reduced
     compute 1 all chunk/atom bin/2d z lower 1.0 y 0.0 2.5
    -compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates an integer chunk ID from 1 to +compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes + +

    Description: +

    +

    Define a computation that calculates an integer chunk ID from 1 to Nchunk for each atom in the group. Values of chunk IDs are determined -by the style of chunk, which can be based on atom type or molecule +by the style of chunk, which can be based on atom type or molecule ID or spatial binning or a per-atom property or value calculated by -another compute, fix, or atom-style variable. Per-atom chunk IDs can be used by other -computes with “chunk” in their style name, such as compute com/chunk or compute msd/chunk. Or they can be used by the fix ave/chunk command to sum and time average a +another compute, fix, or atom-style +variable. Per-atom chunk IDs can be used by other +computes with "chunk" in their style name, such as compute +com/chunk or compute +msd/chunk. Or they can be used by the fix +ave/chunk command to sum and time average a variety of per-atom properties over the atoms in each chunk. Or they can simply be accessed by any command that uses per-atom values from a -compute as input, as discussed in Section_howto 15.

    -

    See Section_howto 23 for an overview of +compute as input, as discussed in Section_howto +15. +

    +

    See Section_howto 23 for an overview of how this compute can be used with a variety of other commands to tabulate properties of a simulation. The howto section gives several examples of input script commands that can be used to calculate -interesting properties.

    -

    Conceptually it is important to realize that this compute does two -simple things. First, it sets the value of Nchunk = the number of +interesting properties. +

    +

    Conceptually it is important to realize that this compute does two +simple things. First, it sets the value of Nchunk = the number of chunks, which can be a constant value or change over time. Second, it assigns each atom to a chunk via a chunk ID. Chunk IDs range from 1 -to Nchunk inclusive; some chunks may have no atoms assigned to them. +to Nchunk inclusive; some chunks may have no atoms assigned to them. Atoms that do not belong to any chunk are assigned a value of 0. Note that the two operations are not always performed together. For -example, spatial bins can be setup once (which sets Nchunk), and +example, spatial bins can be setup once (which sets Nchunk), and atoms assigned to those bins many times thereafter (setting their -chunk IDs).

    -

    All other commands in LAMMPS that use chunk IDs assume there are -Nchunk number of chunks, and that every atom is assigned to one of -those chunks, or not assigned to any chunk.

    -

    There are many options for specifying for how and when Nchunk is +chunk IDs). +

    +

    All other commands in LAMMPS that use chunk IDs assume there are +Nchunk number of chunks, and that every atom is assigned to one of +those chunks, or not assigned to any chunk. +

    +

    There are many options for specifying for how and when Nchunk is calculated, and how and when chunk IDs are assigned to atoms. The -details depend on the chunk style and its args, as well as -optional keyword settings. They can also depend on whether a fix ave/chunk command is using this compute, since -that command requires Nchunk to remain static across windows of -timesteps it specifies, while it accumulates per-chunk averages.

    -

    The details are described below.

    -

    The different chunk styles operate as follows. For each style, how it -calculates Nchunk and assigns chunk IDs to atoms is explained. Note +details depend on the chunk style and its args, as well as +optional keyword settings. They can also depend on whether a fix +ave/chunk command is using this compute, since +that command requires Nchunk to remain static across windows of +timesteps it specifies, while it accumulates per-chunk averages. +

    +

    The details are described below. +

    +
    + +
    + +

    The different chunk styles operate as follows. For each style, how it +calculates Nchunk and assigns chunk IDs to atoms is explained. Note that using the optional keywords can change both of those actions, as -described further below where the keywords are discussed.

    -
    -

    The binning styles perform a spatial binning of atoms, and assign an -atom the chunk ID corresponding to the bin number it is in. Nchunk +described further below where the keywords are discussed. +

    +
    + +

    The binning styles perform a spatial binning of atoms, and assign an +atom the chunk ID corresponding to the bin number it is in. Nchunk is set to the number of bins, which can change if the simulation box -size changes.

    -

    The bin/1d, bin/2d, and bin/3d styles define bins as 1d layers -(slabs), 2d pencils, or 3d boxes. The dim, origin, and delta +size changes. +

    +

    The bin/1d, bin/2d, and bin/3d styles define bins as 1d layers +(slabs), 2d pencils, or 3d boxes. The dim, origin, and delta settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y or z, or dim = y -before dim = z. Bins in a particular dim have a bin size in that -dimension given by delta. In each dimension, bins are defined -relative to a specified origin, which may be the lower/upper edge of +before dim = z. Bins in a particular dim have a bin size in that +dimension given by delta. In each dimension, bins are defined +relative to a specified origin, which may be the lower/upper edge of the simulation box (in that dimension), or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the simulation box -or the bounds specified by the optional bounds keyword.

    -

    For orthogonal simulation boxes, the bins are layers, pencils, or +or the bounds specified by the optional bounds keyword. +

    +

    For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See this section of the manual for a discussion of +tilted faces of the simulation box. See this +section of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the “b” cross “c” -direction. Bins in y have faces normal to the “a” cross “c” -direction. And bins in z have faces normal to the “a” cross “b” +bins in the x dimension have faces with normals in the "b" cross "c" +direction. Bins in y have faces normal to the "a" cross "c" +direction. And bins in z have faces normal to the "a" cross "b" direction. Note that in order to define the size and position of -these bins in an unambiguous fashion, the units option must be set -to reduced when using a triclinic simulation box, as noted below.

    -

    The meaning of origin and delta for triclinic boxes is as follows. +these bins in an unambiguous fashion, the units option must be set +to reduced when using a triclinic simulation box, as noted below. +

    +

    The meaning of origin and delta for triclinic boxes is as follows. Consider a triclinic box with bins that are 1d layers or slabs in the -x dimension. No matter how the box is tilted, an origin of 0.0 -means start layers at the lower “b” cross “c” plane of the simulation -box and an origin of 1.0 means to start layers at the upper “b” -cross “c” face of the box. A delta value of 0.1 in reduced units +x dimension. No matter how the box is tilted, an origin of 0.0 +means start layers at the lower "b" cross "c" plane of the simulation +box and an origin of 1.0 means to start layers at the upper "b" +cross "c" face of the box. A delta value of 0.1 in reduced units means there will be 10 layers from 0.0 to 1.0, regardless of the -current size or shape of the simulation box.

    -

    The created bins (and hence the chunk IDs) are numbered consecutively -from 1 to the number of bins = Nchunk. For 2d and 3d bins, the +current size or shape of the simulation box. +

    +

    The created bins (and hence the chunk IDs) are numbered consecutively +from 1 to the number of bins = Nchunk. For 2d and 3d bins, the numbering varies most rapidly in the first dimension (which could be x, y, or z), next rapidly in the 2nd dimension, and most slowly in the -3rd dimension.

    -

    Each time this compute is invoked, each atom is mapped to a bin based +3rd dimension. +

    +

    Each time this compute is invoked, each atom is mapped to a bin based on its current position. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have moved outside the bounds of all bins. If an atom is not inside -any bin, the discard keyword is used to determine how a chunk ID is -assigned to the atom.

    -
    -

    The type style uses the atom type as the chunk ID. Nchunk is set +any bin, the discard keyword is used to determine how a chunk ID is +assigned to the atom. +

    +
    + +

    The type style uses the atom type as the chunk ID. Nchunk is set to the number of atom types defined for the simulation, e.g. via the -create_box or read_data commands.

    -
    -

    The molecule style uses the molecule ID of each atom as its chunk -ID. Nchunk is set to the largest chunk ID. Note that this excludes +create_box or read_data commands. +

    +
    + +

    The molecule style uses the molecule ID of each atom as its chunk +ID. Nchunk is set to the largest chunk ID. Note that this excludes molecule IDs for atoms which are not in the specified group or -optional region.

    -

    There is no requirement that all atoms in a particular molecule are +optional region. +

    +

    There is no requirement that all atoms in a particular molecule are assigned the same chunk ID (zero or non-zero), though you probably want that to be the case, if you wish to compute a per-molecule property. LAMMPS will issue a warning if that is not the case, but -only the first time that Nchunk is calculated.

    -

    Note that atoms with a molecule ID = 0, which may be non-molecular +only the first time that Nchunk is calculated. +

    +

    Note that atoms with a molecule ID = 0, which may be non-molecular solvent atoms, have an out-of-range chunk ID. These atoms are -discarded (not assigned to any chunk) or assigned to Nchunk, -depending on the value of the discard keyword.

    -
    -

    The compute/fix/variable styles set the chunk ID of each atom based +discarded (not assigned to any chunk) or assigned to Nchunk, +depending on the value of the discard keyword. +

    +
    + +

    The compute/fix/variable styles set the chunk ID of each atom based on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the referenced floating point values are converted to an integer chunk ID as follows. The floating point value is truncated (rounded down) to -an integer value. If the integer value is <= 0, then a chunk ID of 0 -is assigned to the atom. If the integer value is > 0, it becomes the -chunk ID to the atom. Nchunk is set to the largest chunk ID. Note +an integer value. If the integer value is <= 0, then a chunk ID of 0 +is assigned to the atom. If the integer value is > 0, it becomes the +chunk ID to the atom. Nchunk is set to the largest chunk ID. Note that this excludes atoms which are not in the specified group or -optional region.

    -

    If the style begins with “c_”, a compute ID must follow which has been +optional region. +

    +

    If the style begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS.

    -

    If the style begins with “f_”, a fix ID must follow which has been +their own compute styles and add them to LAMMPS. +

    +

    If the style begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with the timestep on which this compute accesses the fix, else an error -results. Users can also write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name for an atom or -atomfile style variable must follow which has been -previously defined in the input script. Variables of style atom can +results. Users can also write code for their own fix styles and add +them to LAMMPS. +

    +

    If a value begins with "v_", a variable name for an atom or +atomfile style variable must follow which has been +previously defined in the input script. Variables of style atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to -treat as a chunk ID.

    -

    Normally, Nchunk = the number of chunks, is re-calculated every time +treat as a chunk ID. +

    +
    + +
    + +

    Normally, Nchunk = the number of chunks, is re-calculated every time this fix is invoked, though the value may or may not change. As -explained below, the nchunk keyword can be set to once which means -Nchunk will never change.

    -

    If a fix ave/chunk command uses this compute, it -can also turn off the re-calculation of Nchunk for one or more +explained below, the nchunk keyword can be set to once which means +Nchunk will never change. +

    +

    If a fix ave/chunk command uses this compute, it +can also turn off the re-calculation of Nchunk for one or more windows of timesteps. The extent of the windows, during which Nchunk -is held constant, are determined by the Nevery, Nrepeat, Nfreq -values and the ave keyword setting that are used by the fix ave/chunk command.

    -

    Specifically, if ave = one, then for each span of Nfreq -timesteps, Nchunk is held constant between the first timestep when +is held constant, are determined by the Nevery, Nrepeat, Nfreq +values and the ave keyword setting that are used by the fix +ave/chunk command. +

    +

    Specifically, if ave = one, then for each span of Nfreq +timesteps, Nchunk is held constant between the first timestep when averaging is done (within the Nfreq-length window), and the last -timestep when averaging is done (multiple of Nfreq). If ave = -running or window, then Nchunk is held constant forever, -starting on the first timestep when the fix ave/chunk command invokes this compute.

    -

    Note that multiple fix ave/chunk commands can use +timestep when averaging is done (multiple of Nfreq). If ave = +running or window, then Nchunk is held constant forever, +starting on the first timestep when the fix +ave/chunk command invokes this compute. +

    +

    Note that multiple fix ave/chunk commands can use the same compute chunk/atom compute. However, the time windows they -induce for holding Nchunk constant must be identical, else an error -will be generated.

    -

    The various optional keywords operate as follows. Note that some of +induce for holding Nchunk constant must be identical, else an error +will be generated. +

    +
    + +
    + +

    The various optional keywords operate as follows. Note that some of them function differently or are ignored by different chunk styles. Some of them also have different default values, depending on -the chunk style, as listed below.

    -

    The region keyword applies to all chunk styles. If used, an atom +the chunk style, as listed below. +

    +

    The region keyword applies to all chunk styles. If used, an atom must be in both the specified group and the specified geometric -region to be assigned to a chunk.

    -
    -

    The nchunk keyword applies to all chunk styles. It specifies how -often Nchunk is recalculated, which in turn can affect the chunk IDs -assigned to individual atoms.

    -

    If nchunk is set to once, then Nchunk is only calculated once, -the first time this compute is invoked. If nchunk is set to -every, then Nchunk is re-calculated every time the compute is +region to be assigned to a chunk. +

    +
    + +

    The nchunk keyword applies to all chunk styles. It specifies how +often Nchunk is recalculated, which in turn can affect the chunk IDs +assigned to individual atoms. +

    +

    If nchunk is set to once, then Nchunk is only calculated once, +the first time this compute is invoked. If nchunk is set to +every, then Nchunk is re-calculated every time the compute is invoked. Note that, as described above, the use of this compute -by the fix ave/chunk command can override -the every setting.

    -

    The default values for nchunk are listed below and depend on the +by the fix ave/chunk command can override +the every setting. +

    +

    The default values for nchunk are listed below and depend on the chunk style and other system and keyword settings. They attempt to represent typical use cases for the various chunk styles. The -nchunk value can always be set explicitly if desired.

    -
    -

    The limit keyword can be used to limit the calculated value of -Nchunk = the number of chunks. The limit is applied each time -Nchunk is calculated, which also limits the chunk IDs assigned to -any atom. The limit keyword is used by all chunk styles except the -binning styles, which ignore it. This is because the number of bins -can be tailored using the bound keyword (described below) which -effectively limits the size of Nchunk.

    -

    If limit is set to Nc = 0, then no limit is imposed on Nchunk, -though the compress keyword can still be used to reduce Nchunk, as -described below.

    -

    If Nc > 0, then the effect of the limit keyword depends on whether -the compress keyword is also used with a setting of yes, and -whether the compress keyword is specified before the limit keyword -or after.

    -

    In all cases, Nchunk is first calculated in the usual way for each -chunk style, as described above.

    -

    First, here is what occurs if compress yes is not set. If limit -is set to Nc max, then Nchunk is reset to the smaller of Nchunk -and Nc. If limit is set to Nc exact, then Nchunk is reset to -Nc, whether the original Nchunk was larger or smaller than Nc. -If Nchunk shrank due to the limit setting, then atom chunk IDs > -Nchunk will be reset to 0 or Nchunk, depending on the setting of -the discard keyword. If Nchunk grew, there will simply be some -chunks with no atoms assigned to them.

    -

    If compress yes is set, and the compress keyword comes before the -limit keyword, the compression operation is performed first, as -described below, which resets Nchunk. The limit keyword is then -applied to the new Nchunk value, exactly as described in the +nchunk value can always be set explicitly if desired. +

    +
    + +

    The limit keyword can be used to limit the calculated value of +Nchunk = the number of chunks. The limit is applied each time +Nchunk is calculated, which also limits the chunk IDs assigned to +any atom. The limit keyword is used by all chunk styles except the +binning styles, which ignore it. This is because the number of bins +can be tailored using the bound keyword (described below) which +effectively limits the size of Nchunk. +

    +

    If limit is set to Nc = 0, then no limit is imposed on Nchunk, +though the compress keyword can still be used to reduce Nchunk, as +described below. +

    +

    If Nc > 0, then the effect of the limit keyword depends on whether +the compress keyword is also used with a setting of yes, and +whether the compress keyword is specified before the limit keyword +or after. +

    +

    In all cases, Nchunk is first calculated in the usual way for each +chunk style, as described above. +

    +

    First, here is what occurs if compress yes is not set. If limit +is set to Nc max, then Nchunk is reset to the smaller of Nchunk +and Nc. If limit is set to Nc exact, then Nchunk is reset to +Nc, whether the original Nchunk was larger or smaller than Nc. +If Nchunk shrank due to the limit setting, then atom chunk IDs > +Nchunk will be reset to 0 or Nchunk, depending on the setting of +the discard keyword. If Nchunk grew, there will simply be some +chunks with no atoms assigned to them. +

    +

    If compress yes is set, and the compress keyword comes before the +limit keyword, the compression operation is performed first, as +described below, which resets Nchunk. The limit keyword is then +applied to the new Nchunk value, exactly as described in the preceeding paragraph. Note that in this case, all atoms will end up -with chunk IDs <= Nc, but their original values (e.g. molecule ID or -compute/fix/variable value) may have been > Nc, because of the -compression operation.

    -

    If compress yes is set, and the compress keyword comes after the -limit keyword, then the limit value of Nc is applied first to -the uncompressed value of Nchunk, but only if Nc < Nchunk -(whether Nc max or Nc exact is used). This effectively means all -atoms with chunk IDs > Nc have their chunk IDs reset to 0 or Nc, -depending on the setting of the discard keyword. The compression -operation is then performed, which may shrink Nchunk further. If -the new Nchunk < Nc and limit = Nc exact is specified, then -Nchunk is reset to Nc, which results in extra chunks with no atoms +with chunk IDs <= Nc, but their original values (e.g. molecule ID or +compute/fix/variable value) may have been > Nc, because of the +compression operation. +

    +

    If compress yes is set, and the compress keyword comes after the +limit keyword, then the limit value of Nc is applied first to +the uncompressed value of Nchunk, but only if Nc < Nchunk +(whether Nc max or Nc exact is used). This effectively means all +atoms with chunk IDs > Nc have their chunk IDs reset to 0 or Nc, +depending on the setting of the discard keyword. The compression +operation is then performed, which may shrink Nchunk further. If +the new Nchunk < Nc and limit = Nc exact is specified, then +Nchunk is reset to Nc, which results in extra chunks with no atoms assigned to them. Note that in this case, all atoms will end up with -chunk IDs <= Nc, and their original values (e.g. molecule ID or -compute/fix/variable value) will also have been <= Nc.

    -
    -

    The ids keyword applies to all chunk styles. If the setting is -once then the chunk IDs assigned to atoms the first time this -compute is invoked will be permanent, and never be re-computed.

    -

    If the setting is nfreq and if a fix ave/chunk -command is using this compute, then in each of the Nchunk = constant -time windows (discussed above), the chunk ID’s assigned to atoms on +chunk IDs <= Nc, and their original values (e.g. molecule ID or +compute/fix/variable value) will also have been <= Nc. +

    +
    + +

    The ids keyword applies to all chunk styles. If the setting is +once then the chunk IDs assigned to atoms the first time this +compute is invoked will be permanent, and never be re-computed. +

    +

    If the setting is nfreq and if a fix ave/chunk +command is using this compute, then in each of the Nchunk = constant +time windows (discussed above), the chunk ID's assigned to atoms on the first step of the time window will persist until the end of the -time window.

    -

    If the setting is every, which is the default, then chunk IDs are -re-calculated on any timestep this compute is invoked.

    -
    -

    Warning

    -

    If you want the persistent chunk-IDs calculated by -this compute to be continuous when running from a restart file, then you should use the same ID for this +time window. +

    +

    If the setting is every, which is the default, then chunk IDs are +re-calculated on any timestep this compute is invoked. +

    +

    IMPORTANT NOTE: If you want the persistent chunk-IDs calculated by +this compute to be continuous when running from a restart +file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and -thus be initialized correctly with chunk IDs from the restart file.

    -
    -
    -

    The compress keyword applies to all chunk styles and affects how -Nchunk is calculated, which in turn affects the chunk IDs assigned -to each atom. It is useful for converting a “sparse” set of chunk IDs -(with many IDs that have no atoms assigned to them), into a “dense” -set of IDs, where every chunk has one or more atoms assigned to it.

    -

    Two possible use cases are as follows. If a large simulation box is -mostly empty space, then the binning style may produce many bins -with no atoms. If compress is set to yes, only bins with atoms -will be contribute to Nchunk. Likewise, the molecule or -compute/fix/variable styles may produce large Nchunk values. For -example, the compute cluster/atom command +thus be initialized correctly with chunk IDs from the restart file. +

    +
    + +

    The compress keyword applies to all chunk styles and affects how +Nchunk is calculated, which in turn affects the chunk IDs assigned +to each atom. It is useful for converting a "sparse" set of chunk IDs +(with many IDs that have no atoms assigned to them), into a "dense" +set of IDs, where every chunk has one or more atoms assigned to it. +

    +

    Two possible use cases are as follows. If a large simulation box is +mostly empty space, then the binning style may produce many bins +with no atoms. If compress is set to yes, only bins with atoms +will be contribute to Nchunk. Likewise, the molecule or +compute/fix/variable styles may produce large Nchunk values. For +example, the compute cluster/atom command assigns every atom an atom ID for one of the atoms it is clustered with. For a million-atom system with 5 clusters, there would only be 5 unique chunk IDs, but the largest chunk ID might be 1 million, -resulting in Nchunk = 1 million. If compress is set to yes, -Nchunk will be reset to 5.

    -

    If compress is set to no, which is the default, no compression is -done. If it is set to yes, all chunk IDs with no atoms are removed +resulting in Nchunk = 1 million. If compress is set to yes, +Nchunk will be reset to 5. +

    +

    If compress is set to no, which is the default, no compression is +done. If it is set to yes, all chunk IDs with no atoms are removed from the list of chunk IDs, and the list is sorted. The remaining -chunk IDs are renumbered from 1 to Nchunk where Nchunk is the new +chunk IDs are renumbered from 1 to Nchunk where Nchunk is the new length of the list. The chunk IDs assigned to each atom reflect -the new renumbering from 1 to Nchunk.

    -

    The original chunk IDs (before renumbering) can be accessed by the -compute property/chunk command and its -id keyword, or by the fix ave/chunk command +the new renumbering from 1 to Nchunk. +

    +

    The original chunk IDs (before renumbering) can be accessed by the +compute property/chunk command and its +id keyword, or by the fix ave/chunk command which outputs the original IDs as one of the columns in its global -output array. For example, using the “compute cluster/atom” command +output array. For example, using the "compute cluster/atom" command discussed above, the original 5 unique chunk IDs might be atom IDs (27,4982,58374,857838,1000000). After compresion, these will be renumbered to (1,2,3,4,5). The original values (27,...,1000000) can -be output to a file by the fix ave/chunk command, -or by using the fix ave/time command in -conjunction with the compute property/chunk command.

    -
    -

    Warning

    -

    The compression operation requires global +be output to a file by the fix ave/chunk command, +or by using the fix ave/time command in +conjunction with the compute +property/chunk command. +

    +

    IMPORTANT NOTE: The compression operation requires global communication across all processors to share their chunk ID values. It can require large memory on every processor to store them, even after they are compressed, if there are are a large number of unique @@ -486,179 +439,130 @@ chunk IDs with atoms assigned to them. It uses a STL map to find unique chunk IDs and store them in sorted order. Each time an atom is assigned a compressed chunk ID, it must access the STL map. All of this means that compression can be expensive, both in memory and CPU -time. The use of the limit keyword in conjunction with the -compress keyword can affect these costs, depending on which keyword -is used first. So use this option with care.

    -
    -
    -

    The discard keyword applies to all chunk styles. It affects what +time. The use of the limit keyword in conjunction with the +compress keyword can affect these costs, depending on which keyword +is used first. So use this option with care. +

    +
    + +

    The discard keyword applies to all chunk styles. It affects what chunk IDs are assigned to atoms that do not match one of the valid -chunk IDs from 1 to Nchunk. Note that it does not apply to atoms +chunk IDs from 1 to Nchunk. Note that it does not apply to atoms that are not in the specified group or optionally specified region. -Those atoms are always assigned a chunk ID = 0.

    -

    If the calculated chunk ID for an atom is not within the range 1 to -Nchunk then it is a “discard” atom. Note that Nchunk may have -been shrunk by the limit keyword. Or the compress keyword may +Those atoms are always assigned a chunk ID = 0. +

    +

    If the calculated chunk ID for an atom is not within the range 1 to +Nchunk then it is a "discard" atom. Note that Nchunk may have +been shrunk by the limit keyword. Or the compress keyword may have eliminated chunk IDs that were valid before the compression took place, and are now not in the compressed list. Also note that for the -molecule chunk style, if new molecules are added to the system, -their chunk IDs may exceed a previously calculated Nchunk. +molecule chunk style, if new molecules are added to the system, +their chunk IDs may exceed a previously calculated Nchunk. Likewise, evaluation of a compute/fix/variable on a later timestep may return chunk IDs that are invalid for the previously calculated -Nchunk.

    -

    All the chunk styles except the binning styles, must use discard -set to either yes or no. If discard is set to yes, which is -the default, then every “discard” atom has its chunk ID set to 0. If -discard is set to no, every “discard” atom has its chunk ID set to -Nchunk. I.e. it becomes part of the last chunk.

    -

    The binning styles use the discard keyword to decide whether to +Nchunk. +

    +

    All the chunk styles except the binning styles, must use discard +set to either yes or no. If discard is set to yes, which is +the default, then every "discard" atom has its chunk ID set to 0. If +discard is set to no, every "discard" atom has its chunk ID set to +Nchunk. I.e. it becomes part of the last chunk. +

    +

    The binning styles use the discard keyword to decide whether to discard atoms outside the spatial domain covered by bins, or to assign -them to the bin they are nearest to. Details are as follows.

    -

    If discard is set to yes, an out-of-domain atom will have its -chunk ID set to 0. If discard is set to no, the atom will have +them to the bin they are nearest to. Details are as follows. +

    +

    If discard is set to yes, an out-of-domain atom will have its +chunk ID set to 0. If discard is set to no, the atom will have its chunk ID set to the first or last bin in that dimension. If -(discard* is set to mixed, which is the default, it will only have +(discard is set to mixed, which is the default, it will only have its chunk ID set to the first or last bin if bins extend to the simulation box boundary in that dimension. This is the case if the -bound keyword settings are lower and upper, which is the -default. If the bound keyword settings are numeric values, then the +bound keyword settings are lower and upper, which is the +default. If the bound keyword settings are numeric values, then the atom will have its chunk ID set to 0 if it is outside the bounds of any bin. Note that in this case, it is possible that the first or -last bin extends beyond the numeric bounds settings, depending on -the specified origin. If this is the case, the chunk ID of the atom +last bin extends beyond the numeric bounds settings, depending on +the specified origin. If this is the case, the chunk ID of the atom is only set to 0 if it is outside the first or last bin, not if it is -simply outside the numeric bounds setting.

    -
    -

    The bound keyword only applies to the binning styles; otherwise it +simply outside the numeric bounds setting. +

    +
    + +

    The bound keyword only applies to the binning styles; otherwise it is ignored. It can be used one or more times to limit the extent of bin coverage in a specified dimension, i.e. to only bin a portion of -the box. If the lo setting is lower or the hi setting is -upper, the bin extent in that direction extends to the box boundary. -If a numeric value is used for lo and/or hi, then the bin extent -in the lo or hi direction extends only to that value, which is +the box. If the lo setting is lower or the hi setting is +upper, the bin extent in that direction extends to the box boundary. +If a numeric value is used for lo and/or hi, then the bin extent +in the lo or hi direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, -though LAMMPS does not check for this. Note that using the bound +though LAMMPS does not check for this. Note that using the bound keyword typically reduces the total number of bins and thus the number -of chunks Nchunk.

    -

    The units keyword only applies to the binning styles; otherwise it +of chunks Nchunk. +

    +

    The units keyword only applies to the binning styles; otherwise it is ignored. It determines the meaning of the distance units used for -the bin sizes delta and for origin and bounds values if they are +the bin sizes delta and for origin and bounds values if they are coordinate values. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, -only the reduced option may be used.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing. A reduced value means normalized +only the reduced option may be used. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing. A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper -faces of the simulation box respectively. Thus an origin value of -0.5 means the center of the box in any dimension. A delta value of -0.1 means 10 bins span the box in that dimension.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +faces of the simulation box respectively. Thus an origin value of +0.5 means the center of the box in any dimension. A delta value of +0.1 means 10 bins span the box in that dimension. +

    +
    + +
    + +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values are unitless chunk IDs, ranging from 1 to -Nchunk (inclusive) for atoms assigned to chunks, and 0 for atoms not -belonging to a chunk.

    -
    -
    -

    Restrictions¶

    -

    Even if the nchunk keyword is set to once, the chunk IDs assigned +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values are unitless chunk IDs, ranging from 1 to +Nchunk (inclusive) for atoms assigned to chunks, and 0 for atoms not +belonging to a chunk. +

    +

    Restrictions: +

    +

    Even if the nchunk keyword is set to once, the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. Instead you must re-specify this command and assign atoms to chunks when -the restarted simulation begins.

    -
    - -
    -

    Default¶

    -

    The option defaults are as follows:

    -
      -
    • region = none
    • -
    • nchunk = every if compress is yes, overriding other defaults listed here
    • -
    • nchunk = once for type style
    • -
    • nchunk = once for mol style if region is none
    • -
    • nchunk = every for mol style if region is set
    • -
    • nchunk = once for binning style if the simulation box size is static or units = reduced
    • -
    • nchunk = every for binning style if the simulation box size is dynamic and units is lattice or box
    • -
    • nchunk = every for compute/fix/variable style
    • -
    • limit = 0
    • -
    • ids = every
    • -
    • compress = no
    • -
    • discard = yes for all styles except binning
    • -
    • discard = mixed for binning styles
    • -
    • bound = lower and upper in all dimensions
    • -
    • units = lattice
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the restarted simulation begins. +

    +

    Related commands: +

    +

    fix ave/chunk +

    +

    Default: +

    +

    The option defaults are as follows: +

    +
    • region = none +
    • nchunk = every if compress is yes, overriding other defaults listed here +
    • nchunk = once for type style +
    • nchunk = once for mol style if region is none +
    • nchunk = every for mol style if region is set +
    • nchunk = once for binning style if the simulation box size is static or units = reduced +
    • nchunk = every for binning style if the simulation box size is dynamic and units is lattice or box +
    • nchunk = every for compute/fix/variable style +
    • limit = 0 +
    • ids = every +
    • compress = no +
    • discard = yes for all styles except binning +
    • discard = mixed for binning styles +
    • bound = lower and upper in all dimensions +
    • units = lattice +
    + diff --git a/doc/compute_cluster_atom.html b/doc/compute_cluster_atom.html index 7293746023..f972d2fae0 100644 --- a/doc/compute_cluster_atom.html +++ b/doc/compute_cluster_atom.html @@ -1,242 +1,62 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute cluster/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute cluster/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID cluster/atom cutoff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • cluster/atom = style name of this compute command
    • -
    • cutoff = distance within which to label atoms as part of same cluster (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all cluster/atom 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that assigns each atom a cluster ID.

    -

    A cluster is defined as a set of atoms, each of which is within the + + +


    + +

    compute cluster/atom command +

    +

    Syntax: +

    +
    compute ID group-ID cluster/atom cutoff 
    +
    +
    • ID, group-ID are documented in compute command +
    • cluster/atom = style name of this compute command +
    • cutoff = distance within which to label atoms as part of same cluster (distance units) +
    +

    Examples: +

    +
    compute 1 all cluster/atom 1.0 
    +
    +

    Description: +

    +

    Define a computation that assigns each atom a cluster ID. +

    +

    A cluster is defined as a set of atoms, each of which is within the cutoff distance from one or more other atoms in the cluster. If an atom has no neighbors within the cutoff distance, then it is a 1-atom cluster. The ID of every atom in the cluster will be the smallest -atom ID of any atom in the cluster.

    -

    Only atoms in the compute group are clustered and assigned cluster -IDs. Atoms not in the compute group are assigned a cluster ID = 0.

    -

    The neighbor list needed to compute this quantity is constructed each +atom ID of any atom in the cluster. +

    +

    Only atoms in the compute group are clustered and assigned cluster +IDs. Atoms not in the compute group are assigned a cluster ID = 0. +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of a -clsuter/atom style.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +clsuter/atom style. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be an ID > 0, as explained above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be an ID > 0, as explained above. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute coord/atom +

    +

    Default: none +

    + diff --git a/doc/compute_cna_atom.html b/doc/compute_cna_atom.html index 08ffbd1a71..191b8911c8 100644 --- a/doc/compute_cna_atom.html +++ b/doc/compute_cna_atom.html @@ -1,272 +1,104 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute cna/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute cna/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID cna/atom cutoff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • cna/atom = style name of this compute command
    • -
    • cutoff = cutoff distance for nearest neighbors (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all cna/atom 3.08
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the CNA (Common Neighbor + + +


    + +

    compute cna/atom command +

    +

    Syntax: +

    +
    compute ID group-ID cna/atom cutoff 
    +
    +
    • ID, group-ID are documented in compute command +
    • cna/atom = style name of this compute command +
    • cutoff = cutoff distance for nearest neighbors (distance units) +
    +

    Examples: +

    +
    compute 1 all cna/atom 3.08 
    +
    +

    Description: +

    +

    Define a computation that calculates the CNA (Common Neighbor Analysis) pattern for each atom in the group. In solid-state systems the CNA pattern is a useful measure of the local crystal structure -around an atom. The CNA methodology is described in (Faken) -and (Tsuzuki).

    -

    Currently, there are five kinds of CNA patterns LAMMPS recognizes:

    -
      -
    • fcc = 1
    • -
    • hcp = 2
    • -
    • bcc = 3
    • -
    • icosohedral = 4
    • -
    • unknown = 5
    • -
    -

    The value of the CNA pattern will be 0 for atoms not in the specified +around an atom. The CNA methodology is described in (Faken) +and (Tsuzuki). +

    +

    Currently, there are five kinds of CNA patterns LAMMPS recognizes: +

    +
    • fcc = 1 +
    • hcp = 2 +
    • bcc = 3 +
    • icosohedral = 4 +
    • unknown = 5 +
    +

    The value of the CNA pattern will be 0 for atoms not in the specified compute group. Note that normally a CNA calculation should only be -performed on mono-component systems.

    -

    The CNA calculation can be sensitive to the specified cutoff value. +performed on mono-component systems. +

    +

    The CNA calculation can be sensitive to the specified cutoff value. You should insure the appropriate nearest neighbors of an atom are found within the cutoff distance for the presumed crystal strucure. E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to -obtain a good cutoff distance:

    -_images/cna_cutoff1.jpg -

    where a is the lattice constant for the crystal structure concerned +obtain a good cutoff distance: +

    +
    +
    +

    where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals.

    -

    Also note that since the CNA calculation in LAMMPS uses the neighbors +for HCP crystals. +

    +

    Also note that since the CNA calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the -following relation should also be satisfied:

    -_images/cna_cutoff2.jpg -

    where Rc is the cutoff distance of the potential, Rs is the skin -distance as specified by the neighbor command, and +following relation should also be satisfied: +

    +
    +
    +

    where Rc is the cutoff distance of the potential, Rs is the skin +distance as specified by the neighbor command, and cutoff is the argument used with the compute cna/atom command. LAMMPS -will issue a warning if this is not the case.

    -

    The neighbor list needed to compute this quantity is constructed each +will issue a warning if this is not the case. +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a -cna/atom style.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +cna/atom style. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be a number from 0 to 5, as explained -above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be a number from 0 to 5, as explained +above. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute centro/atom +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Faken) Faken, Jonsson, Comput Mater Sci, 2, 279 (1994). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Tsuzuki) Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). +

    + diff --git a/doc/compute_com.html b/doc/compute_com.html index 73f287f1be..64735c5cf5 100644 --- a/doc/compute_com.html +++ b/doc/compute_com.html @@ -1,244 +1,62 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute com command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute com command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID com
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • com = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all com
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the center-of-mass of the group + + +


    + +

    compute com command +

    +

    Syntax: +

    +
    compute ID group-ID com 
    +
    +
    • ID, group-ID are documented in compute command +
    • com = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all com 
    +
    +

    Description: +

    +

    Define a computation that calculates the center-of-mass of the group of atoms, including all effects due to atoms passing thru periodic -boundaries.

    -

    A vector of three quantites is calculated by this compute, which -are the x,y,z coordinates of the center of mass.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the -center-of-mass in “unwrapped” form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of “unwrapped” coordinates. See the Atoms section of -the read_data command for a discussion of image flags +boundaries. +

    +

    A vector of three quantites is calculated by this compute, which +are the x,y,z coordinates of the center of mass. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the +center-of-mass in "unwrapped" form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of "unwrapped" coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    Output info:

    -

    This compute calculates a global vector of length 3, which can be +(e.g. to 0) before invoking this compute by using the set +image command. +

    +

    Output info: +

    +

    This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector values are “intensive”. The vector values will be in -distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector values are "intensive". The vector values will be in +distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute com/chunk +

    +

    Default: none +

    + diff --git a/doc/compute_com_chunk.html b/doc/compute_com_chunk.html index 31ad55ecc7..a2ad970b71 100644 --- a/doc/compute_com_chunk.html +++ b/doc/compute_com_chunk.html @@ -1,268 +1,92 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute com/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute com/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID com/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • com/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid com/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the center-of-mass for multiple -chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute com/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID com/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • com/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid com/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the center-of-mass for multiple +chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the x,y,z coordinates of the center-of-mass +a system. +

    +

    This compute calculates the x,y,z coordinates of the center-of-mass for each chunk, which includes all effects due to atoms passing thru -periodic boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +periodic boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the chunk’s -center-of-mass in “unwrapped” form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of “unwrapped” coordinates. See the Atoms section of -the read_data command for a discussion of image flags +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's +center-of-mass in "unwrapped" form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of "unwrapped" coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute com/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute com/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 3 for the x,y,z center-of-mass coordinates of each chunk. These values can be accessed by any command that uses global array values -from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The array values are “intensive”. The array values will be in -distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The array values are "intensive". The array values will be in +distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute com +

    +

    Default: none +

    + diff --git a/doc/compute_contact_atom.html b/doc/compute_contact_atom.html index e31ad688d8..6c35adf5b0 100644 --- a/doc/compute_contact_atom.html +++ b/doc/compute_contact_atom.html @@ -1,237 +1,59 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute contact/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute contact/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID contact/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • contact/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all contact/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the number of contacts -for each atom in a group.

    -

    The contact number is defined for finite-size spherical particles as + + +


    + +

    compute contact/atom command +

    +

    Syntax: +

    +
    compute ID group-ID contact/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • contact/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all contact/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the number of contacts +for each atom in a group. +

    +

    The contact number is defined for finite-size spherical particles as the number of neighbor atoms which overlap the central particle, meaning that their distance of separation is less than or equal to the -sum of the radii of the two particles.

    -

    The value of the contact number will be 0.0 for atoms not in the -specified compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, whose values can be +sum of the radii of the two particles. +

    +

    The value of the contact number will be 0.0 for atoms not in the +specified compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, whose values can be accessed by any command that uses per-atom values from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options.

    -

    The per-atom vector values will be a number >= 0.0, as explained -above.

    -
    -
    -

    Restrictions¶

    -

    This compute requires that atoms store a radius as defined by the -atom_style sphere command.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +input. See Section_howto 15 for an +overview of LAMMPS output options. +

    +

    The per-atom vector values will be a number >= 0.0, as explained +above. +

    +

    Restrictions: +

    +

    This compute requires that atoms store a radius as defined by the +atom_style sphere command. +

    +

    Related commands: +

    +

    compute coord/atom +

    +

    Default: none +

    + diff --git a/doc/compute_coord_atom.html b/doc/compute_coord_atom.html index ebca8848d7..98dbe794f9 100644 --- a/doc/compute_coord_atom.html +++ b/doc/compute_coord_atom.html @@ -1,276 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute coord/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute coord/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID coord/atom cutoff type1 type2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • coord/atom = style name of this compute command
    • -
    • cutoff = distance within which to count coordination neighbors (distance units)
    • -
    • typeN = atom type for Nth coordination count (see asterisk form below)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all coord/atom 2.0
    +
    +
    +
    + +

    compute coord/atom command +

    +

    Syntax: +

    +
    compute ID group-ID coord/atom cutoff type1 type2 ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • coord/atom = style name of this compute command +
    • cutoff = distance within which to count coordination neighbors (distance units) +
    • typeN = atom type for Nth coordination count (see asterisk form below) +
    +

    Examples: +

    +
    compute 1 all coord/atom 2.0
     compute 1 all coord/atom 6.0 1 2
    -compute 1 all coord/atom 6.0 2*4 5*8 *
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates one or more coordination numbers -for each atom in a group.

    -

    A coordination number is defined as the number of neighbor atoms with +compute 1 all coord/atom 6.0 2*4 5*8 * + +

    Description: +

    +

    Define a computation that calculates one or more coordination numbers +for each atom in a group. +

    +

    A coordination number is defined as the number of neighbor atoms with specified atom type(s) that are within the specified cutoff distance from the central atom. Atoms not in the group are included in a -coordination number of atoms in the group.

    -

    The typeN keywords allow you to specify which atom types contribute +coordination number of atoms in the group. +

    +

    The typeN keywords allow you to specify which atom types contribute to each coordination number. One coordination number is computed for -each of the typeN keywords listed. If no typeN keywords are +each of the typeN keywords listed. If no typeN keywords are listed, a single coordination number is calculated, which includes -atoms of all types (same as the “*” format, see below).

    -

    The typeN keywords can be specified in one of two ways. An explicit +atoms of all types (same as the "*" format, see below). +

    +

    The typeN keywords can be specified in one of two ways. An explicit numeric value can be used, as in the 2nd example above. Or a wild-card asterisk can be used to specify a range of atom types. This -takes the form “*” or “n” or “n” or “m*n”. If N = the number of +takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive).

    -

    The value of all coordination numbers will be 0.0 for atoms not in the -specified compute group.

    -

    The neighbor list needed to compute this quantity is constructed each +(inclusive). +

    +

    The value of all coordination numbers will be 0.0 for atoms not in the +specified compute group. +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently.

    -
    -

    Warning

    -

    If you have a bonded system, then the settings of -special_bonds command can remove pairwise +too frequently. +

    +

    IMPORTANT NOTE: If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the coordination count. One way to get around this, is to write a dump file, and use the -rerun command to compute the coordination for snapshots +rerun command to compute the coordination for snapshots in the dump file. The rerun script can use a -special_bonds command that includes all pairs in -the neighbor list.

    -
    -

    Output info:

    -

    If single type1 keyword is specified (or if none are specified), -this compute calculates a per-atom vector. If multiple typeN +special_bonds command that includes all pairs in +the neighbor list. +

    +

    Output info: +

    +

    If single type1 keyword is specified (or if none are specified), +this compute calculates a per-atom vector. If multiple typeN keywords are specified, this compute calculates a per-atom array, with N columns. These values can be accessed by any command that uses -per-atom values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The per-atom vector or array values will be a number >= 0.0, as -explained above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +per-atom values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The per-atom vector or array values will be a number >= 0.0, as +explained above. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute cluster/atom +

    +

    Default: none +

    + diff --git a/doc/compute_damage_atom.html b/doc/compute_damage_atom.html index 9bdf883aa4..d475631308 100644 --- a/doc/compute_damage_atom.html +++ b/doc/compute_damage_atom.html @@ -1,240 +1,68 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute damage/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute damage/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID damage/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • damage/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all damage/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom damage for each atom -in a group. This is a quantity relevant for Peridynamics models. See this document -for an overview of LAMMPS commands for Peridynamics modeling.

    -

    The “damage” of a Peridymaics particles is based on the bond breakage + + +


    + +

    compute damage/atom command +

    +

    Syntax: +

    +
    compute ID group-ID damage/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • damage/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all damage/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom damage for each atom +in a group. This is a quantity relevant for Peridynamics +models. See this document +for an overview of LAMMPS commands for Peridynamics modeling. +

    +

    The "damage" of a Peridymaics particles is based on the bond breakage between the particle and its neighbors. If all the bonds are broken -the particle is considered to be fully damaged.

    -

    See the PDLAMMPS user guide for a formal -definition of “damage” and more details about Peridynamics as it is -implemented in LAMMPS.

    -

    This command can be used with all the Peridynamic pair styles.

    -

    The damage value will be 0.0 for atoms not in the specified compute -group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +the particle is considered to be fully damaged. +

    +

    See the PDLAMMPS user +guide for a formal +definition of "damage" and more details about Peridynamics as it is +implemented in LAMMPS. +

    +

    This command can be used with all the Peridynamic pair styles. +

    +

    The damage value will be 0.0 for atoms not in the specified compute +group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values are unitlesss numbers (damage) >= 0.0.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values are unitlesss numbers (damage) >= 0.0. +

    +

    Restrictions: +

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute dilatation, compute +plasticity +

    +

    Default: none +

    + diff --git a/doc/compute_dihedral_local.html b/doc/compute_dihedral_local.html index 28d559e7a2..b8d4bb5674 100644 --- a/doc/compute_dihedral_local.html +++ b/doc/compute_dihedral_local.html @@ -1,253 +1,79 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute dihedral/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute dihedral/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID dihedral/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • dihedral/local = style name of this compute command
    • -
    • one or more keywords may be appended
    • -
    • keyword = phi
    • -
    -
    -phi = tabulate dihedral angles
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all dihedral/local phi
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual dihedral + + +


    + +

    compute dihedral/local command +

    +

    Syntax: +

    +
    compute ID group-ID dihedral/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • dihedral/local = style name of this compute command + +
    • one or more keywords may be appended + +
    • keyword = phi + +
        phi = tabulate dihedral angles 
      +
      + +
    +

    Examples: +

    +
    compute 1 all dihedral/local phi 
    +
    +

    Description: +

    +

    Define a computation that calculates properties of individual dihedral interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the -group parameter as explained below.

    -

    The local data stored by this command is generated by looping over all +group parameter as explained below. +

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their dihedrals. A dihedral will only be included if all 4 atoms in the dihedral are in the specified -compute group.

    -

    Note that as atoms migrate from processor to processor, there will be +compute group. +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, dihedral output from the compute property/local command can be combined -with data from this command and output by the dump local -command in a consistent way.

    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +For example, dihedral output from the compute +property/local command can be combined +with data from this command and output by the dump local +command in a consistent way. +

    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of dihedrals. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The output for phi will be in degrees.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The output for phi will be in degrees. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute +property/local +

    +

    Default: none +

    + diff --git a/doc/compute_dilatation_atom.html b/doc/compute_dilatation_atom.html index 73a26f59b7..2f76dee3ba 100644 --- a/doc/compute_dilatation_atom.html +++ b/doc/compute_dilatation_atom.html @@ -1,242 +1,71 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute dilatation/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute dilatation/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID dilatation/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • dilation/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all dilatation/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom dilatation for each -atom in a group. This is a quantity relevant for Peridynamics models. See this document -for an overview of LAMMPS commands for Peridynamics modeling.

    -

    For small deformation, dilatation of is the measure of the volumetric -strain.

    -

    The dilatation “theta” for each peridynamic particle I is calculated + + +


    + +

    compute dilatation/atom command +

    +

    Syntax: +

    +
    compute ID group-ID dilatation/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • dilation/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all dilatation/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom dilatation for each +atom in a group. This is a quantity relevant for Peridynamics +models. See this document +for an overview of LAMMPS commands for Peridynamics modeling. +

    +

    For small deformation, dilatation of is the measure of the volumetric +strain. +

    +

    The dilatation "theta" for each peridynamic particle I is calculated as a sum over its neighbors with unbroken bonds, where the contribution of the IJ pair is a function of the change in bond length (versus the initial length in the reference state), the volume fraction of the particles and an influence function. See the -PDLAMMPS user guide for a formal -definition of dilatation.

    -

    This command can only be used with a subset of the Peridynamic pair styles: peri/lps, peri/ves and peri/eps.

    -

    The dilatation value will be 0.0 for atoms not in the specified -compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +PDLAMMPS user +guide for a formal +definition of dilatation. +

    +

    This command can only be used with a subset of the Peridynamic pair +styles: peri/lps, peri/ves and peri/eps. +

    +

    The dilatation value will be 0.0 for atoms not in the specified +compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options.

    -

    The per-atom vector values are unitlesss numbers (theta) >= 0.0.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of LAMMPS output options. +

    +

    The per-atom vector values are unitlesss numbers (theta) >= 0.0. +

    +

    Restrictions: +

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute damage, compute +plasticity +

    +

    Default: none +

    + diff --git a/doc/compute_displace_atom.html b/doc/compute_displace_atom.html index b300e5656b..87370be662 100644 --- a/doc/compute_displace_atom.html +++ b/doc/compute_displace_atom.html @@ -1,256 +1,74 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute displace/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute displace/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID displace/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • displace/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all displace/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the current displacement of each + + +


    + +

    compute displace/atom command +

    +

    Syntax: +

    +
    compute ID group-ID displace/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • displace/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all displace/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the current displacement of each atom in the group from its original coordinates, including all effects -due to atoms passing thru periodic boundaries.

    -

    A vector of four quantites per atom is calculated by this compute. +due to atoms passing thru periodic boundaries. +

    +

    A vector of four quantites per atom is calculated by this compute. The first 3 elements of the vector are the dx,dy,dz displacements. The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy + -dz*dz).

    -

    The displacement of an atom is from its original position at the time +dz*dz). +

    +

    The displacement of an atom is from its original position at the time the compute command was issued. The value of the displacement will be -0.0 for atoms not in the specified compute group.

    -
    -

    Warning

    -

    Initial coordinates are stored in “unwrapped” form, by -using the image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. -See the Atoms section of the read_data command for a +0.0 for atoms not in the specified compute group. +

    +

    IMPORTANT NOTE: Initial coordinates are stored in "unwrapped" form, by +using the image flags associated with each atom. See the dump +custom command for a discussion of "unwrapped" coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by -using the set image command.

    -
    -
    -

    Warning

    -

    If you want the quantities calculated by this compute -to be continuous when running from a restart file, +using the set image command. +

    +

    IMPORTANT NOTE: If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom coordinates from the restart file.

    -
    -

    Output info:

    -

    This compute calculates a per-atom array with 4 columns, which can be +correctly with time=0 atom coordinates from the restart file. +

    +

    Output info: +

    +

    This compute calculates a per-atom array with 4 columns, which can be accessed by indices 1-4 by any command that uses per-atom values from -a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The per-atom array values will be in distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The per-atom array values will be in distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute msd, dump custom, fix +store/state +

    +

    Default: none +

    + diff --git a/doc/compute_erotate_asphere.html b/doc/compute_erotate_asphere.html index feaffc5777..8ea9a4e1dc 100644 --- a/doc/compute_erotate_asphere.html +++ b/doc/compute_erotate_asphere.html @@ -1,250 +1,75 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute erotate/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute erotate/asphere command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID erotate/asphere
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • erotate/asphere = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all erotate/asphere
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the rotational kinetic energy of + + +


    + +

    compute erotate/asphere command +

    +

    Syntax: +

    +
    compute ID group-ID erotate/asphere 
    +
    +
    • ID, group-ID are documented in compute command +
    • erotate/asphere = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all erotate/asphere 
    +
    +

    Description: +

    +

    Define a computation that calculates the rotational kinetic energy of a group of aspherical particles. The aspherical particles can be ellipsoids, or line segments, or triangles. See the -atom_style and read_data commands -for descriptions of these options.

    -

    For all 3 types of particles, the rotational kinetic energy is +atom_style and read_data commands +for descriptions of these options. +

    +

    For all 3 types of particles, the rotational kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor for the aspherical particle and w is its angular velocity, which is computed -from its angular momentum if needed.

    -
    -

    Warning

    -

    For 2d models, ellipsoidal particles +from its angular momentum if needed. +

    +

    IMPORTANT NOTE: For 2d models, ellipsoidal particles are treated as ellipsoids, not ellipses, meaning their moments of -inertia will be the same as in 3d.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the KE). This value can be +inertia will be the same as in 3d. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute requires that ellipsoidal particles atoms store a shape +input. See Section_howto 15 for an +overview of LAMMPS output options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute requires that ellipsoidal particles atoms store a shape and quaternion orientation and angular momentum as defined by the -atom_style ellipsoid command.

    -

    This compute requires that line segment particles atoms store a length -and orientation and angular velocity as defined by the atom_style line command.

    -

    This compute requires that triangular particles atoms store a size and +atom_style ellipsoid command. +

    +

    This compute requires that line segment particles atoms store a length +and orientation and angular velocity as defined by the atom_style +line command. +

    +

    This compute requires that triangular particles atoms store a size and shape and quaternion orientation and angular momentum as defined by -the atom_style tri command.

    -

    All particles in the group must be finite-size. They cannot be point -particles.

    -

    Related commands: none

    -

    compute erotate/sphere

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the atom_style tri command. +

    +

    All particles in the group must be finite-size. They cannot be point +particles. +

    +

    Related commands: none +

    +

    compute erotate/sphere +

    +

    Default: none +

    + diff --git a/doc/compute_erotate_rigid.html b/doc/compute_erotate_rigid.html index 790c0624b1..2e4358e30a 100644 --- a/doc/compute_erotate_rigid.html +++ b/doc/compute_erotate_rigid.html @@ -1,242 +1,66 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute erotate/rigid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute erotate/rigid command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID erotate/rigid fix-ID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • erotate/rigid = style name of this compute command
    • -
    • fix-ID = ID of rigid body fix
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all erotate/rigid myRigid
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the rotational kinetic energy of -a collection of rigid bodies, as defined by one of the fix rigid command variants.

    -

    The rotational energy of each rigid body is computed as 1/2 I Wbody^2, + + +


    + +

    compute erotate/rigid command +

    +

    Syntax: +

    +
    compute ID group-ID erotate/rigid fix-ID 
    +
    +
    • ID, group-ID are documented in compute command +
    • erotate/rigid = style name of this compute command +
    • fix-ID = ID of rigid body fix +
    +

    Examples: +

    +
    compute 1 all erotate/rigid myRigid 
    +
    +

    Description: +

    +

    Define a computation that calculates the rotational kinetic energy of +a collection of rigid bodies, as defined by one of the fix +rigid command variants. +

    +

    The rotational energy of each rigid body is computed as 1/2 I Wbody^2, where I is the inertia tensor for the rigid body, and Wbody is its angular velocity vector. Both I and Wbody are in the frame of -reference of the rigid body, i.e. I is diagonalized.

    -

    The fix-ID should be the ID of one of the fix rigid +reference of the rigid body, i.e. I is diagonalized. +

    +

    The fix-ID should be the ID of one of the fix rigid commands which defines the rigid bodies. The group specified in the compute command is ignored. The rotational energy of all the rigid bodies defined by the fix rigid command in included in the -calculation.

    -

    Output info:

    -

    This compute calculates a global scalar (the summed rotational energy +calculation. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the summed rotational energy of all the rigid bodies). This value can be used by any command that uses a global scalar value from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute ke/rigid +

    +

    Default: none +

    + diff --git a/doc/compute_erotate_sphere.html b/doc/compute_erotate_sphere.html index 2d41764bca..eb6662b13b 100644 --- a/doc/compute_erotate_sphere.html +++ b/doc/compute_erotate_sphere.html @@ -1,242 +1,62 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute erotate/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute erotate/sphere command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID erotate/sphere
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • erotate/sphere = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all erotate/sphere
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the rotational kinetic energy of -a group of spherical particles.

    -

    The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle’s angular velocity.

    -
    -

    Warning

    -

    For 2d models, particles are treated + + +


    + +

    compute erotate/sphere command +

    +

    Syntax: +

    +
    compute ID group-ID erotate/sphere 
    +
    +
    • ID, group-ID are documented in compute command +
    • erotate/sphere = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all erotate/sphere 
    +
    +

    Description: +

    +

    Define a computation that calculates the rotational kinetic energy of +a group of spherical particles. +

    +

    The rotational energy is computed as 1/2 I w^2, where I is the moment +of inertia for a sphere and w is the particle's angular velocity. +

    +

    IMPORTANT NOTE: For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the KE). This value can be +same as in 3d. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute requires that atoms store a radius and angular velocity -(omega) as defined by the atom_style sphere command.

    -

    All particles in the group must be finite-size spheres or point +input. See Section_howto 15 for an +overview of LAMMPS output options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute requires that atoms store a radius and angular velocity +(omega) as defined by the atom_style sphere command. +

    +

    All particles in the group must be finite-size spheres or point particles. They cannot be aspherical. Point particles will not -contribute to the rotational energy.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +contribute to the rotational energy. +

    +

    Related commands: +

    +

    compute erotate/asphere +

    +

    Default: none +

    + diff --git a/doc/compute_erotate_sphere_atom.html b/doc/compute_erotate_sphere_atom.html index a98a2c3a6c..e758b7be4f 100644 --- a/doc/compute_erotate_sphere_atom.html +++ b/doc/compute_erotate_sphere_atom.html @@ -1,241 +1,58 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute erotate/sphere/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute erotate/sphere/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID erotate/sphere/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • erotate/sphere/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all erotate/sphere/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the rotational kinetic energy for -each particle in a group.

    -

    The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle’s angular velocity.

    -
    -

    Warning

    -

    For 2d models, particles are treated + + +


    + +

    compute erotate/sphere/atom command +

    +

    Syntax: +

    +
    compute ID group-ID erotate/sphere/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • erotate/sphere/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all erotate/sphere/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the rotational kinetic energy for +each particle in a group. +

    +

    The rotational energy is computed as 1/2 I w^2, where I is the moment +of inertia for a sphere and w is the particle's angular velocity. +

    +

    IMPORTANT NOTE: For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d.

    -
    -

    The value of the rotational kinetic energy will be 0.0 for atoms not +same as in 3d. +

    +

    The value of the rotational kinetic energy will be 0.0 for atoms not in the specified compute group or for point particles with a radius = -0.0.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +0.0. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_event_displace.html b/doc/compute_event_displace.html index 8b1e1bf206..8efff145ad 100644 --- a/doc/compute_event_displace.html +++ b/doc/compute_event_displace.html @@ -1,248 +1,67 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute event/displace command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute event/displace command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID event/displace threshold
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • event/displace = style name of this compute command
    • -
    • threshold = minimum distance anyparticle must move to trigger an event (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all event/displace 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that flags an “event” if any particle in the + + +


    + +

    compute event/displace command +

    +

    Syntax: +

    +
    compute ID group-ID event/displace threshold 
    +
    +
    • ID, group-ID are documented in compute command +
    • event/displace = style name of this compute command +
    • threshold = minimum distance anyparticle must move to trigger an event (distance units) +
    +

    Examples: +

    +
    compute 1 all event/displace 0.5 
    +
    +

    Description: +

    +

    Define a computation that flags an "event" if any particle in the group has moved a distance greater than the specified threshold distance when compared to a previously stored reference state (i.e. the previous event). This compute is typically used in -conjunction with the prd and tad commands, +conjunction with the prd and tad commands, to detect if a transition -to a new minimum energy basin has occurred.

    -

    This value calculated by the compute is equal to 0 if no particle has +to a new minimum energy basin has occurred. +

    +

    This value calculated by the compute is equal to 0 if no particle has moved far enough, and equal to 1 if one or more particles have moved -further than the threshold distance.

    -
    -

    Note

    -

    If the system is undergoing significant center-of-mass motion, -due to thermal motion, an external force, or an initial net momentum, +further than the threshold distance. +

    +

    NOTE: If the system is undergoing significant center-of-mass motion, +due to thermal motion, an external force, or an initial net momentum, then this compute will not be able to distinguish that motion from -local atom displacements and may generate “false postives.”

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the flag). This value can be +local atom displacements and may generate "false postives." +

    +

    Output info: +

    +

    This compute calculates a global scalar (the flag). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options.

    -

    The scalar value calculated by this compute is “intensive”. The -scalar value will be a 0 or 1 as explained above.

    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +input. See Section_howto 15 for an +overview of LAMMPS output options. +

    +

    The scalar value calculated by this compute is "intensive". The +scalar value will be a 0 or 1 as explained above. +

    +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    prd, tad +

    +

    Default: none +

    + diff --git a/doc/compute_fep.html b/doc/compute_fep.html index baa065c878..6eecc4b023 100644 --- a/doc/compute_fep.html +++ b/doc/compute_fep.html @@ -1,447 +1,279 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute fep command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute fep command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID fep temp attribute args ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in the compute command
    • -
    • fep = name of this compute command
    • -
    • temp = external temperature (as specified for constant-temperature run)
    • -
    • one or more attributes with args may be appended
    • -
    • attribute = pair or atom
    • -
    -
    -pair args = pstyle pparam I J v_delta
    +
    +
    +
    + +

    compute fep command +

    +

    Syntax: +

    +
    compute ID group-ID fep temp attribute args ... keyword value ... 
    +
    +
    • ID, group-ID are documented in the compute command + +
    • fep = name of this compute command + +
    • temp = external temperature (as specified for constant-temperature run) + +
    • one or more attributes with args may be appended + +
    • attribute = pair or atom + +
        pair args = pstyle pparam I J v_delta
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to perturb
           I,J = type pair(s) to set parameter for
           v_delta = variable with perturbation to apply (in the units of the parameter)
      -  atom args = aparam I v_delta
      +  atom args = aparam I v_delta
           aparam = parameter to perturb
           I = type to set parameter for
      -    v_delta = variable with perturbation to apply (in the units of the parameter)
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = tail or volume
      • -
      -
      -tail value = no or yes
      -    no = ignore tail correction to pair energies (usually small in fep)
      -    yes = include tail correction to pair energies
      -  volume value = no or yes
      -    no = ignore volume changes (e.g. in NVE or NVT trajectories)
      -    yes = include volume changes (e.g. in NpT trajectories)
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes
    -compute 1 all fep 300 atom charge 2 v_delta
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a perturbation to parameters of the interaction potential and + v_delta = variable with perturbation to apply (in the units of the parameter) + +

  • zero or more keyword/value pairs may be appended + +
  • keyword = tail or volume + +
      tail value = no or yes
    +    no = ignore tail correction to pair energies (usually small in fep)
    +    yes = include tail correction to pair energies
    +  volume value = no or yes
    +    no = ignore volume changes (e.g. in NVE or NVT trajectories)
    +    yes = include volume changes (e.g. in NpT trajectories) 
    +
    + + +

    Examples: +

    +
    compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes
    +compute 1 all fep 300 atom charge 2 v_delta 
    +
    +

    Description: +

    +

    Apply a perturbation to parameters of the interaction potential and recalculate the pair potential energy without changing the atomic coordinates from those of the reference, unperturbed system. This compute can be used to calculate free energy differences using several methods, such as free-energy perturbation (FEP), finite-difference -thermodynamic integration (FDTI) or Bennet’s acceptance ratio method -(BAR).

    -

    The potential energy of the system is decomposed in three terms: a +thermodynamic integration (FDTI) or Bennet's acceptance ratio method +(BAR). +

    +

    The potential energy of the system is decomposed in three terms: a background term corresponding to interaction sites whose parameters -remain constant, a reference term *U*<sub>0</sub> corresponding to the +remain constant, a reference term U0 corresponding to the initial interactions of the atoms that will undergo perturbation, and -a term *U*<sub>1</sub> corresponding to the final interactions of -these atoms:

    -_images/compute_fep_u.jpg -

    A coupling parameter &lambda; varying from 0 to 1 connects the -reference and perturbed systems:

    -_images/compute_fep_lambda.jpg -

    It is possible but not necessary that the coupling parameter (or a +a term U1 corresponding to the final interactions of +these atoms: +

    +
    +
    +

    A coupling parameter λ varying from 0 to 1 connects the +reference and perturbed systems: +

    +
    +
    +

    It is possible but not necessary that the coupling parameter (or a function thereof) appears as a multiplication factor of the potential energy. Therefore, this compute can apply perturbations to interaction parameters that are not directly proportional to the potential energy -(e.g. &sigma; in Lennard-Jones potentials).

    -

    This command can be combined with fix adapt to +(e.g. σ in Lennard-Jones potentials). +

    +

    This command can be combined with fix adapt to perform multistage free-energy perturbation calculations along -stepwise alchemical transformations during a simulation run:

    -_images/compute_fep_fep.jpg -

    This compute is suitable for the finite-difference thermodynamic -integration (FDTI) method (Mezei), which is based on an +stepwise alchemical transformations during a simulation run: +

    +
    +
    +

    This compute is suitable for the finite-difference thermodynamic +integration (FDTI) method (Mezei), which is based on an evaluation of the numerical derivative of the free energy by a -perturbation method using a very small &delta;:

    -_images/compute_fep_fdti.jpg -

    where *w*<sub>i</sub> are weights of a numerical quadrature. The fix adapt command can be used to define the stages of -&lambda; at which the derivative is calculated and averaged.

    -

    The compute fep calculates the exponential Boltzmann term and also the -potential energy difference *U*<sub>1</sub>-*U*<sub>0</sub>. By -choosing a very small perturbation &delta; the thermodynamic +perturbation method using a very small δ: +

    +
    +
    +

    where wi are weights of a numerical quadrature. The fix +adapt command can be used to define the stages of +λ at which the derivative is calculated and averaged. +

    +

    The compute fep calculates the exponential Boltzmann term and also the +potential energy difference U1-U0. By +choosing a very small perturbation δ the thermodynamic integration method can be implemented using a numerical evaluation of -the derivative of the potential energy with respect to &lambda;:

    -_images/compute_fep_ti.jpg -

    Another technique to calculate free energy differences is the -acceptance ratio method (Bennet), which can be implemented -by calculating the potential energy differences with &delta; = 1.0 on -both the forward and reverse routes:

    -_images/compute_fep_bar.jpg -

    The value of the free energy difference is determined by numerical -root finding to establish the equality.

    -

    Concerning the choice of how the atomic parameters are perturbed in +the derivative of the potential energy with respect to λ: +

    +
    +
    +

    Another technique to calculate free energy differences is the +acceptance ratio method (Bennet), which can be implemented +by calculating the potential energy differences with δ = 1.0 on +both the forward and reverse routes: +

    +
    +
    +

    The value of the free energy difference is determined by numerical +root finding to establish the equality. +

    +

    Concerning the choice of how the atomic parameters are perturbed in order to setup an alchemical transformation route, several strategies are available, such as single-topology or double-topology strategies -(Pearlman). The latter does not require modification of -bond lengths, angles or other internal coordinates.

    -

    IMPORTANT NOTES: This compute command does not take kinetic energy +(Pearlman). The latter does not require modification of +bond lengths, angles or other internal coordinates. +

    +

    IMPORTANT NOTES: This compute command does not take kinetic energy into account, therefore the masses of the particles should not be modified between the reference and perturbed states, or along the alchemical transformation route. This compute command does not change -bond lengths or other internal coordinates (Boresch, Karplus).

    -
    -

    The pair attribute enables various parameters of potentials defined -by the pair_style and pair_coeff -commands to be changed, if the pair style supports it.

    -

    The pstyle argument is the name of the pair style. For example, -pstyle could be specified as “lj/cut”. The pparam argument is the +bond lengths or other internal coordinates (Boresch, +Karplus). +

    +
    + +

    The pair attribute enables various parameters of potentials defined +by the pair_style and pair_coeff +commands to be changed, if the pair style supports it. +

    +

    The pstyle argument is the name of the pair style. For example, +pstyle could be specified as "lj/cut". The pparam argument is the name of the parameter to change. This is a (non-exclusive) list of pair styles and parameters that can be used with this compute. See the doc pages for individual pair styles and their energy formulas for -the meaning of these parameters:

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    lj/cutepsilon,sigmatype pairs
    lj/cut/coul/cutepsilon,sigmatype pairs
    lj/cut/coul/longepsilon,sigmatype pairs
    lj/cut/softepsilon,sigma,lambdatype pairs
    coul/cut/softlambdatype pairs
    coul/long/softlambdatype pairs
    lj/cut/coul/cut/softepsilon,sigma,lambdatype pairs
    lj/cut/coul/long/softepsilon,sigma,lambdatype pairs
    lj/cut/tip4p/long/softepsilon,sigma,lambdatype pairs
    tip4p/long/softlambdatype pairs
    lj/charmm/coul/long/softepsilon,sigma,lambdatype pairs
    borna,b,ctype pairs
    bucka,ctype pairs
    -

    Note that it is easy to add new potentials and their parameters to +the meaning of these parameters: +

    +
    + + + + + + + + + + + + +
    lj/cut epsilon,sigma type pairs
    lj/cut/coul/cut epsilon,sigma type pairs
    lj/cut/coul/long epsilon,sigma type pairs
    lj/cut/soft epsilon,sigma,lambda type pairs
    coul/cut/soft lambda type pairs
    coul/long/soft lambda type pairs
    lj/cut/coul/cut/soft epsilon,sigma,lambda type pairs
    lj/cut/coul/long/soft epsilon,sigma,lambda type pairs
    lj/cut/tip4p/long/soft epsilon,sigma,lambda type pairs
    tip4p/long/soft lambda type pairs
    lj/charmm/coul/long/soft epsilon,sigma,lambda type pairs
    born a,b,c type pairs
    buck a,c type pairs +
    + +

    Note that it is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential.

    -

    Similar to the pair_coeff command, I and J can be +the pair_*.cpp file associated with the potential. +

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets +each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of -atom types. This takes the form “*” or “n” or “n” or “m*n”. If N = +atom types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored.

    -

    If pair_style hybrid or hybrid/overlay is being -used, then the pstyle will be a sub-style name. You must specify +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored. +

    +

    If pair_style hybrid or hybrid/overlay is being +used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the -pair_coeff command) for that sub-style.

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +pair_coeff command) for that sub-style. +

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this compute is invoked. It should be specified as v_name, where name -is the variable name.

    -
    -

    The atom attribute enables atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be used with this compute:

    -
      -
    • charge = charge on particle
    • -
    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +is the variable name. +

    +
    + +

    The atom attribute enables atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be used with this compute: +

    +
    • charge = charge on particle +
    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this compute is invoked. It should be specified as v_name, where name -is the variable name.

    -
    -

    The tail keyword controls the calculation of the tail correction to -“van der Waals” pair energies beyond the cutoff, if this has been -activated via the pair_modify command. If the +is the variable name. +

    +
    + +

    The tail keyword controls the calculation of the tail correction to +"van der Waals" pair energies beyond the cutoff, if this has been +activated via the pair_modify command. If the perturbation is small, the tail contribution to the energy difference -between the reference and perturbed systems should be negligible.

    -

    If the keyword volume = yes, then the Boltzmann term is multiplied +between the reference and perturbed systems should be negligible. +

    +

    If the keyword volume = yes, then the Boltzmann term is multiplied by the volume so that correct ensemble averaging can be performed over -trajectories during which the volume fluctuates or changes (Allen and Tildesley):

    -_images/compute_fep_vol.jpg -
    -

    Output info:

    -

    This compute calculates a global vector of length 3 which contains the -energy difference (U*<sub>1</sub>-*U*<sub>0</sub>) as c_ID[1], the -Boltzmann factor exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT), or -V*exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT), as c_ID[2] and the -volume of the simulation box V as c_ID[3]. *U*<sub>1</sub> is the +trajectories during which the volume fluctuates or changes (Allen and +Tildesley): +

    +
    +
    +
    + +

    Output info: +

    +

    This compute calculates a global vector of length 3 which contains the +energy difference (U1-U0) as c_ID[1], the +Boltzmann factor exp(-(U1-U0)/kT), or +Vexp(-(U1-U0)/kT), as c_ID[2] and the +volume of the simulation box V as c_ID[3]. U1 is the pair potential energy obtained with the perturbed parameters and -*U*<sub>0</sub> is the pair potential energy obtained with the +U0 is the pair potential energy obtained with the unperturbed parameters. The energies include kspace terms if these -are used in the simulation.

    -

    These output results can be used by any command that uses a global -scalar or vector from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options. For example, the computed values can be averaged using fix ave/time.

    -

    The values calculated by this compute are “extensive”.

    -
  • -
    -

    Restrictions¶

    -

    This compute is distributed as the USER-FEP package. It is only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are tail = no, volume = no.

    -
    -

    (Pearlman) Pearlman, J Chem Phys, 98, 1487 (1994)

    -

    (Mezei) Mezei, J Chem Phys, 86, 7084 (1987)

    -

    (Bennet) Bennet, J Comput Phys, 22, 245 (1976)

    -

    (BoreschKarplus) Boresch and Karplus, J Phys Chem A, 103, 103 (1999)

    -

    (AllenTildesley) Allen and Tildesley, Computer Simulation of -Liquids, Oxford University Press (1987)

    -
    -
    +are used in the simulation. +

    +

    These output results can be used by any command that uses a global +scalar or vector from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. For example, the computed values can be averaged using fix +ave/time. +

    +

    The values calculated by this compute are "extensive". +

    +

    Restrictions: +

    +

    This compute is distributed as the USER-FEP package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix adapt/fep, fix ave/time, +pair_lj_soft_coul_soft +

    +

    Default: +

    +

    The option defaults are tail = no, volume = no. +

    +
    + -
    -
    -
    - +

    (Pearlman) Pearlman, J Chem Phys, 98, 1487 (1994) +

    + -
    +

    (Mezei) Mezei, J Chem Phys, 86, 7084 (1987) +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Bennet) Bennet, J Comput Phys, 22, 245 (1976) +

    + -
    +

    (BoreschKarplus) Boresch and Karplus, J Phys Chem A, 103, 103 (1999) +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (AllenTildesley) Allen and Tildesley, Computer Simulation of +Liquids, Oxford University Press (1987) +

    + diff --git a/doc/compute_group_group.html b/doc/compute_group_group.html index 8fb773e85d..268b1f68ca 100644 --- a/doc/compute_group_group.html +++ b/doc/compute_group_group.html @@ -1,295 +1,135 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute group/group command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute group/group command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID group/group group2-ID keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • group/group = style name of this compute command
    • -
    • group2-ID = group ID of second (or same) group
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = pair or kspace or boundary
    • -
    -
    -pair value = yes or no
    -  kspace value = yes or no
    -  boundary value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    compute 1 lower group/group upper
    +
    +
    +
    + +

    compute group/group command +

    +

    Syntax: +

    +
    compute ID group-ID group/group group2-ID keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • group/group = style name of this compute command + +
    • group2-ID = group ID of second (or same) group + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = pair or kspace or boundary + +
        pair value = yes or no
      +  kspace value = yes or no
      +  boundary value = yes or no 
      +
      + +
    +

    Examples: +

    +
    compute 1 lower group/group upper
     compute 1 lower group/group upper kspace yes
    -compute mine fluid group/group wall
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the total energy and force +compute mine fluid group/group wall + +

    Description: +

    +

    Define a computation that calculates the total energy and force interaction between two groups of atoms: the compute group and the -specified group2. The two groups can be the same.

    -

    If the pair keyword is set to yes, which is the default, then the +specified group2. The two groups can be the same. +

    +

    If the pair keyword is set to yes, which is the default, then the the interaction energy will include a pair component which is defined as the pairwise energy between all pairs of atoms where one atom in the pair is in the first group and the other is in the second group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to pairwise -interactions with atoms in the specified group2.

    -

    If the kspace keyword is set to yes, which is not the default, and -if a kspace_style is defined, then the interaction +interactions with atoms in the specified group2. +

    +

    If the kspace keyword is set to yes, which is not the default, and +if a kspace_style is defined, then the interaction energy will include a Kspace component which is the long-range Coulombic energy between all the atoms in the first group and all the atoms in the 2nd group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to -long-range Coulombic interactions with atoms in the specified group2.

    -

    Normally the long-range Coulombic energy converges only when the net +long-range Coulombic interactions with atoms in the specified group2. +

    +

    Normally the long-range Coulombic energy converges only when the net charge of the unit cell is zero. However, one can assume the net charge of the system is neutralized by a uniform background plasma, and a correction to the system energy can be applied to reduce -artifacts. For more information see (Bogusz). If the -boundary keyword is set to yes, which is the default, and kspace +artifacts. For more information see (Bogusz). If the +boundary keyword is set to yes, which is the default, and kspace contributions are included, then this energy correction term will be added to the total group-group energy. This correction term does not affect the force calculation and will be zero if one or both of the groups are charge neutral. This energy correction term is the same as -that included in the regular Ewald and PPPM routines.

    -

    This compute does not calculate any bond or angle or dihedral or -improper interactions between atoms in the two groups.

    -
    -

    The pairwise contributions to the group-group interactions are +that included in the regular Ewald and PPPM routines. +

    +

    This compute does not calculate any bond or angle or dihedral or +improper interactions between atoms in the two groups. +

    +
    + +

    The pairwise contributions to the group-group interactions are calculated by looping over a neighbor list. The Kspace contribution to the group-group interactions require essentially the same amount of work (FFTs, Ewald summation) as computing long-range forces for the entire system. Thus it can be costly to invoke this compute too -frequently.

    -

    If you desire a breakdown of the interactions into a pairwise and +frequently. +

    +

    If you desire a breakdown of the interactions into a pairwise and Kspace component, simply invoke the compute twice with the appropriate -yes/no settings for the pair and kspace keywords. This is no more -costly than using a single compute with both keywords set to yes. +yes/no settings for the pair and kspace keywords. This is no more +costly than using a single compute with both keywords set to yes. The individual contributions can be summed in a -variable if desired.

    -

    This document describes how the long-range -group-group calculations are performed.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the energy) and a global +variable if desired. +

    +

    This document describes how the long-range +group-group calculations are performed. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    Both the scalar and vector values calculated by this compute are -“extensive”. The scalar value will be in energy units. -The vector values will be in force units.

    -
    -
    -

    Restrictions¶

    -

    Not all pair styles can be evaluated in a pairwise mode as required by +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    Both the scalar and vector values calculated by this compute are +"extensive". The scalar value will be in energy units. +The vector values will be in force units. +

    +

    Restrictions: +

    +

    Not all pair styles can be evaluated in a pairwise mode as required by this compute. For example, 3-body and other many-body potentials, -such as Tersoff and -Stillinger-Weber cannot be used. EAM +such as Tersoff and +Stillinger-Weber cannot be used. EAM potentials only include the pair potential portion of the EAM -interaction when used by this compute, not the embedding term.

    -

    Not all Kspace styles support calculation of group/group interactions. -The ewald and pppm styles do.

    -

    Related commands: none

    -
    -
    -

    Default¶

    -

    The option defaults are pair = yes, kspace = no, and boundary = yes.

    -
    -

    Bogusz et al, J Chem Phys, 108, 7070 (1998)

    -
    -
    +interaction when used by this compute, not the embedding term. +

    +

    Not all Kspace styles support calculation of group/group interactions. +The ewald and pppm styles do. +

    +

    Related commands: none +

    +

    Default: +

    +

    The option defaults are pair = yes, kspace = no, and boundary = yes. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Bogusz et al, J Chem Phys, 108, 7070 (1998) +

    + diff --git a/doc/compute_gyration.html b/doc/compute_gyration.html index 6f48993acb..8d0eed96f2 100644 --- a/doc/compute_gyration.html +++ b/doc/compute_gyration.html @@ -1,257 +1,78 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute gyration command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute gyration command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID gyration
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • gyration = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 molecule gyration
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the radius of gyration Rg of the + + +


    + +

    compute gyration command +

    +

    Syntax: +

    +
    compute ID group-ID gyration 
    +
    +
    • ID, group-ID are documented in compute command +
    • gyration = style name of this compute command +
    +

    Examples: +

    +
    compute 1 molecule gyration 
    +
    +

    Description: +

    +

    Define a computation that calculates the radius of gyration Rg of the group of atoms, including all effects due to atoms passing thru -periodic boundaries.

    -

    Rg is a measure of the size of the group of atoms, and is computed as -the square root of the Rg^2 value in this formula

    -_images/compute_gyration.jpg -

    where M is the total mass of the group, Rcm is the center-of-mass -position of the group, and the sum is over all atoms in the group.

    -

    A Rg^2 tensor, stored as a 6-element vector, is also calculated by +periodic boundaries. +

    +

    Rg is a measure of the size of the group of atoms, and is computed as +the square root of the Rg^2 value in this formula +

    +
    +
    +

    where M is the total mass of the group, Rcm is the center-of-mass +position of the group, and the sum is over all atoms in the group. +

    +

    A Rg^2 tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy - Rcmy) for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. Note that unlike the scalar Rg, each of the 6 values of the tensor is -effectively a “squared” value, since the cross-terms may be negative -and taking a sqrt() would be invalid.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to Rg in -“unwrapped” form, by using the image flags associated with each atom. -See the dump custom command for a discussion of -“unwrapped” coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +effectively a "squared" value, since the cross-terms may be negative +and taking a sqrt() would be invalid. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to Rg in +"unwrapped" form, by using the image flags associated with each atom. +See the dump custom command for a discussion of +"unwrapped" coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (Rg) and a global vector of +(e.g. to 0) before invoking this compute by using the set +image command. +

    +

    Output info: +

    +

    This compute calculates a global scalar (Rg) and a global vector of length 6 (Rg^2 tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or -vector values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The scalar and vector values calculated by this compute are -“intensive”. The scalar and vector values will be in distance and -distance^2 units respectively.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The scalar and vector values calculated by this compute are +"intensive". The scalar and vector values will be in distance and +distance^2 units respectively. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute gyration/chunk +

    +

    Default: none +

    + diff --git a/doc/compute_gyration_chunk.html b/doc/compute_gyration_chunk.html index 8caa7251a0..61f391f8ff 100644 --- a/doc/compute_gyration_chunk.html +++ b/doc/compute_gyration_chunk.html @@ -1,288 +1,122 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute gyration/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute gyration/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID gyration/chunk chunkID keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • gyration/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = tensor
    • -
    -
    -tensor value = none
    -
    -
    -
    -

    Examples¶

    -
    compute 1 molecule gyration/chunk molchunk
    -compute 2 molecule gyration/chunk molchunk tensor
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the radius of gyration Rg for -multiple chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute gyration/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID gyration/chunk chunkID keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • gyration/chunk = style name of this compute command + +
    • chunkID = ID of compute chunk/atom command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = tensor + +
        tensor value = none 
      +
      + +
    +

    Examples: +

    +
    compute 1 molecule gyration/chunk molchunk
    +compute 2 molecule gyration/chunk molchunk tensor 
    +
    +

    Description: +

    +

    Define a computation that calculates the radius of gyration Rg for +multiple chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the radius of gyration Rg for each chunk, +a system. +

    +

    This compute calculates the radius of gyration Rg for each chunk, which includes all effects due to atoms passing thru periodic -boundaries.

    -

    Rg is a measure of the size of a chunk, and is computed by this -formula

    -_images/compute_gyration.jpg -

    where M is the total mass of the chunk, Rcm is the center-of-mass +boundaries. +

    +

    Rg is a measure of the size of a chunk, and is computed by this +formula +

    +
    +
    +

    where M is the total mass of the chunk, Rcm is the center-of-mass position of the chunk, and the sum is over all atoms in the -chunk.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +chunk. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -

    If the tensor keyword is specified, then the scalar Rg value is not +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    If the tensor keyword is specified, then the scalar Rg value is not calculated, but an Rg tensor is instead calculated for each chunk. The formula for the components of the tensor is the same as the above formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy - Rcmy) for the xy component, etc. The 6 components of the tensor are -ordered xx, yy, zz, xy, xz, yz.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to Rg in -“unwrapped” form, by using the image flags associated with each atom. -See the dump custom command for a discussion of -“unwrapped” coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +ordered xx, yy, zz, xy, xz, yz. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to Rg in +"unwrapped" form, by using the image flags associated with each atom. +See the dump custom command for a discussion of +"unwrapped" coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute gyration/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute gyration/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all gyration/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global vector if the tensor keyword is not +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global vector if the tensor keyword is not specified and a global array if it is. The length of the vector or -number of rows in the array = the number of chunks Nchunk as -calculated by the specified compute chunk/atom command. If the tensor keyword +number of rows in the array = the number of chunks Nchunk as +calculated by the specified compute +chunk/atom command. If the tensor keyword is specified, the global array has 6 columns. The vector or array can be accessed by any command that uses global values from a compute as -input. See this section for an overview -of LAMMPS output options.

    -

    All the vector or array values calculated by this compute are -“intensive”. The vector or array values will be in distance -units, since they are the square root of values -represented by the formula above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    compute gyration

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +input. See this section for an overview +of LAMMPS output options. +

    +

    All the vector or array values calculated by this compute are +"intensive". The vector or array values will be in distance +units, since they are the square root of values +represented by the formula above. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    compute gyration +

    +

    Default: none +

    + diff --git a/doc/compute_heat_flux.html b/doc/compute_heat_flux.html index d2a3e760d3..8ea72a590e 100644 --- a/doc/compute_heat_flux.html +++ b/doc/compute_heat_flux.html @@ -1,288 +1,175 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute heat/flux command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute heat/flux command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID heat/flux ke-ID pe-ID stress-ID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • heat/flux = style name of this compute command
    • -
    • ke-ID = ID of a compute that calculates per-atom kinetic energy
    • -
    • pe-ID = ID of a compute that calculates per-atom potential energy
    • -
    • stress-ID = ID of a compute that calculates per-atom stress
    • -
    -
    -
    -

    Examples¶

    -
    compute myFlux all heat/flux myKE myPE myStress
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the heat flux vector based on + + +


    + +

    compute heat/flux command +

    +

    Syntax: +

    +
    compute ID group-ID heat/flux ke-ID pe-ID stress-ID 
    +
    +
    • ID, group-ID are documented in compute command +
    • heat/flux = style name of this compute command +
    • ke-ID = ID of a compute that calculates per-atom kinetic energy +
    • pe-ID = ID of a compute that calculates per-atom potential energy +
    • stress-ID = ID of a compute that calculates per-atom stress +
    +

    Examples: +

    +
    compute myFlux all heat/flux myKE myPE myStress 
    +
    +

    Description: +

    +

    Define a computation that calculates the heat flux vector based on contributions from atoms in the specified group. This can be used by itself to measure the heat flux into or out of a reservoir of atoms, -or to calculate a thermal conductivity using the Green-Kubo formalism.

    -

    See the fix thermal/conductivity +or to calculate a thermal conductivity using the Green-Kubo formalism. +

    +

    See the fix thermal/conductivity command for details on how to compute thermal conductivity in an -alternate way, via the Muller-Plathe method. See the fix heat command for a way to control the heat added or -subtracted to a group of atoms.

    -

    The compute takes three arguments which are IDs of other -computes. One calculates per-atom kinetic energy -(ke-ID), one calculates per-atom potential energy (pe-ID), and the -third calcualtes per-atom stress (stress-ID). These should be +alternate way, via the Muller-Plathe method. See the fix +heat command for a way to control the heat added or +subtracted to a group of atoms. +

    +

    The compute takes three arguments which are IDs of other +computes. One calculates per-atom kinetic energy +(ke-ID), one calculates per-atom potential energy (pe-ID), and the +third calcualtes per-atom stress (stress-ID). These should be defined for the same group used by compute heat/flux, though LAMMPS -does not check for this.

    -

    The Green-Kubo formulas relate the ensemble average of the -auto-correlation of the heat flux J to the thermal conductivity kappa:

    -_images/heat_flux_J.jpg -_images/heat_flux_k.jpg -

    Ei in the first term of the equation for J is the per-atom energy -(potential and kinetic). This is calculated by the computes ke-ID -and pe-ID. Si in the second term of the equation for J is the -per-atom stress tensor calculated by the compute stress-ID. The +does not check for this. +

    +

    The Green-Kubo formulas relate the ensemble average of the +auto-correlation of the heat flux J to the thermal conductivity kappa: +

    +
    +
    +
    +
    +

    Ei in the first term of the equation for J is the per-atom energy +(potential and kinetic). This is calculated by the computes ke-ID +and pe-ID. Si in the second term of the equation for J is the +per-atom stress tensor calculated by the compute stress-ID. The tensor multiplies Vi as a 3x3 matrix-vector multiply to yield a vector. Note that as discussed below, the 1/V scaling factor in the equation for J is NOT included in the calculation performed by this compute; you need to add it for a volume appropriate to the atoms -included in the calculation.

    -
    -

    Warning

    -

    The compute pe/atom and -compute stress/atom commands have options +included in the calculation. +

    +

    IMPORTANT NOTE: The compute pe/atom and +compute stress/atom commands have options for which terms to include in their calculation (pair, bond, etc). The heat flux calculation will thus include exactly the same terms. -Normally you should use compute stress/atom virial so as not to include a kinetic energy -term in the heat flux.

    -
    -

    This compute calculates 6 quantities and stores them in a 6-component +Normally you should use compute stress/atom +virial so as not to include a kinetic energy +term in the heat flux. +

    +

    This compute calculates 6 quantities and stores them in a 6-component vector. The first 3 components are the x, y, z components of the full heat flux vector, i.e. (Jx, Jy, Jz). The next 3 components are the x, y, z components of just the convective portion of the flux, i.e. the -first term in the equation for J above.

    -
    -

    The heat flux can be output every so many timesteps (e.g. via the -thermo_style custom command). Then as a +first term in the equation for J above. +

    +
    + +

    The heat flux can be output every so many timesteps (e.g. via the +thermo_style custom command). Then as a post-processing operation, an autocorrelation can be performed, its -integral estimated, and the Green-Kubo formula above evaluated.

    -

    The fix ave/correlate command can calclate +integral estimated, and the Green-Kubo formula above evaluated. +

    +

    The fix ave/correlate command can calclate the autocorrelation. The trap() function in the -variable command can calculate the integral.

    -

    An example LAMMPS input script for solid Ar is appended below. The -result should be: average conductivity ~0.29 in W/mK.

    -
    -

    Output info:

    -

    This compute calculates a global vector of length 6 (total heat flux +variable command can calculate the integral. +

    +

    An example LAMMPS input script for solid Ar is appended below. The +result should be: average conductivity ~0.29 in W/mK. +

    +
    + +

    Output info: +

    +

    This compute calculates a global vector of length 6 (total heat flux vector, followed by convective heat flux vector), which can be accessed by indices 1-6. These values can be used by any command that -uses global vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector values calculated by this compute are “extensive”, meaning +uses global vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector values calculated by this compute are "extensive", meaning they scale with the number of atoms in the simulation. They can be divided by the appropriate volume to get a flux, which would then be -an “intensive” value, meaning independent of the number of atoms in -the simulation. Note that if the compute is “all”, then the +an "intensive" value, meaning independent of the number of atoms in +the simulation. Note that if the compute is "all", then the appropriate volume to divide by is the simulation box volume. However, if a sub-group is used, it should be the volume containing -those atoms.

    -

    The vector values will be in energy*velocity units. Once +those atoms. +

    +

    The vector values will be in energy*velocity units. Once divided by a volume the units will be that of flux, namely -energy/area/time units

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +print "average conductivity: $k[W/mK] @ $T K, ${ndens} /A^3" + + diff --git a/doc/compute_improper_local.html b/doc/compute_improper_local.html index d331fd9c3e..cdf58f1b6e 100644 --- a/doc/compute_improper_local.html +++ b/doc/compute_improper_local.html @@ -1,253 +1,79 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute improper/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute improper/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID improper/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • improper/local = style name of this compute command
    • -
    • one or more keywords may be appended
    • -
    • keyword = chi
    • -
    -
    -chi = tabulate improper angles
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all improper/local chi
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual improper + + +


    + +

    compute improper/local command +

    +

    Syntax: +

    +
    compute ID group-ID improper/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • improper/local = style name of this compute command + +
    • one or more keywords may be appended + +
    • keyword = chi + +
        chi = tabulate improper angles 
      +
      + +
    +

    Examples: +

    +
    compute 1 all improper/local chi 
    +
    +

    Description: +

    +

    Define a computation that calculates properties of individual improper interactions. The number of datums generated, aggregated across all processors, equals the number of impropers in the system, modified by -the group parameter as explained below.

    -

    The local data stored by this command is generated by looping over all +the group parameter as explained below. +

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their impropers. An improper will only be included if all 4 atoms in the improper are in the specified -compute group.

    -

    Note that as atoms migrate from processor to processor, there will be +compute group. +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, improper output from the compute property/local command can be combined -with data from this command and output by the dump local -command in a consistent way.

    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +For example, improper output from the compute +property/local command can be combined +with data from this command and output by the dump local +command in a consistent way. +

    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of impropers. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The output for chi will be in degrees.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The output for chi will be in degrees. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute +property/local +

    +

    Default: none +

    + diff --git a/doc/compute_inertia_chunk.html b/doc/compute_inertia_chunk.html index 1eb41c32f1..9b131c32a0 100644 --- a/doc/compute_inertia_chunk.html +++ b/doc/compute_inertia_chunk.html @@ -1,269 +1,93 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute inertia/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute inertia/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID inertia/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • inertia/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid inertia/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the inertia tensor for multiple -chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute inertia/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID inertia/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • inertia/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid inertia/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the inertia tensor for multiple +chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the 6 components of the symmetric intertia +a system. +

    +

    This compute calculates the 6 components of the symmetric intertia tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The calculation includes all effects due to atoms passing thru periodic -boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the chunk’s -inertia tensor in “unwrapped” form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of “unwrapped” coordinates. See the Atoms section of -the read_data command for a discussion of image flags +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's +inertia tensor in "unwrapped" form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of "unwrapped" coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute inertia/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute inertia/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all inertia/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 6 for the 6 components of the inertia tensor for each chunk, ordered as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The array values are “intensive”. The array values will be in -mass*distance^2 units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses global array values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The array values are "intensive". The array values will be in +mass*distance^2 units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable inertia() function +

    +

    Default: none +

    + diff --git a/doc/compute_ke.html b/doc/compute_ke.html index 2791c98109..90497bec8d 100644 --- a/doc/compute_ke.html +++ b/doc/compute_ke.html @@ -1,245 +1,64 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ke command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ke command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ke
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ke = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ke
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the translational kinetic energy -of a group of particles.

    -

    The kinetic energy of each particle is computed as 1/2 m v^2, where m -and v are the mass and velocity of the particle.

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal + + +


    + +

    compute ke command +

    +

    Syntax: +

    +
    compute ID group-ID ke 
    +
    +
    • ID, group-ID are documented in compute command +
    • ke = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all ke 
    +
    +

    Description: +

    +

    Define a computation that calculates the translational kinetic energy +of a group of particles. +

    +

    The kinetic energy of each particle is computed as 1/2 m v^2, where m +and v are the mass and velocity of the particle. +

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is “translational” kinetic energy, calculated by the simple -formula above. For thermodynamic output, the ke keyword infers +thermo_style command. For this compute, kinetic +energy is "translational" kinetic energy, calculated by the simple +formula above. For thermodynamic output, the ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. For the default temperature -computation via the compute temp command, these +computation via the compute temp command, these are the same. But different computes that calculate temperature can subtract out different non-thermal components of velocity and/or -include different degrees of freedom (translational, rotational, etc).

    -

    Output info:

    -

    This compute calculates a global scalar (the summed KE). This value +include different degrees of freedom (translational, rotational, etc). +

    +

    Output info: +

    +

    This compute calculates a global scalar (the summed KE). This value can be used by any command that uses a global scalar value from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +compute as input. See Section_howto 15 +for an overview of LAMMPS output options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute erotate/sphere +

    +

    Default: none +

    + diff --git a/doc/compute_ke_atom.html b/doc/compute_ke_atom.html index b5bfb3bfb7..fdf97f197a 100644 --- a/doc/compute_ke_atom.html +++ b/doc/compute_ke_atom.html @@ -1,234 +1,53 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ke/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ke/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ke/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ke/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ke/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom translational -kinetic energy for each atom in a group.

    -

    The kinetic energy is simply 1/2 m v^2, where m is the mass and v is -the velocity of each atom.

    -

    The value of the kinetic energy will be 0.0 for atoms not in the -specified compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by + + +


    + +

    compute ke/atom command +

    +

    Syntax: +

    +
    compute ID group-ID ke/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • ke/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all ke/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom translational +kinetic energy for each atom in a group. +

    +

    The kinetic energy is simply 1/2 m v^2, where m is the mass and v is +the velocity of each atom. +

    +

    The value of the kinetic energy will be 0.0 for atoms not in the +specified compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_ke_atom_eff.html b/doc/compute_ke_atom_eff.html index 971e55c519..d305890bba 100644 --- a/doc/compute_ke_atom_eff.html +++ b/doc/compute_ke_atom_eff.html @@ -1,261 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ke/atom/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ke/atom/eff command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ke/atom/eff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ke/atom/eff = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ke/atom/eff
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom translational + + +


    + +

    compute ke/atom/eff command +

    +

    Syntax: +

    +
    compute ID group-ID ke/atom/eff 
    +
    +
    • ID, group-ID are documented in compute command +
    • ke/atom/eff = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all ke/atom/eff 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom translational (nuclei and electrons) and radial kinetic energy (electron only) in a group. The particles are assumed to be nuclei and electrons modeled -with the electronic force field.

    -

    The kinetic energy for each nucleus is computed as 1/2 m v^2, where m +with the electronic force field. +

    +

    The kinetic energy for each nucleus is computed as 1/2 m v^2, where m corresponds to the corresponding nuclear mass, and the kinetic energy for each electron is computed as 1/2 (me v^2 + 3/4 me s^2), where me and v correspond to the mass and translational velocity of each -electron, and s to its radial velocity, respectively.

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal +electron, and s to its radial velocity, respectively. +

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is “translational” plus electronic “radial” kinetic energy, +thermo_style command. For this compute, kinetic +energy is "translational" plus electronic "radial" kinetic energy, calculated by the simple formula above. For thermodynamic output, the -ke keyword infers kinetic energy from the temperature of the system +ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each (nuclear-only) degree of freedom in -eFF.

    -
    -

    Warning

    -

    The temperature in eFF should be monitored via the -compute temp/eff command, which can be printed +eFF. +

    +

    IMPORTANT NOTE: The temperature in eFF should be monitored via the +compute temp/eff command, which can be printed with thermodynamic output by using the -thermo_modify command, as shown in the following -example:

    -
    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press
    -thermo_modify   temp effTemp
    -
    -
    -

    The value of the kinetic energy will be 0.0 for atoms (nuclei or -electrons) not in the specified compute group.

    -

    Output info:

    -

    This compute calculates a scalar quantity for each atom, which can be +thermo_modify command, as shown in the following +example: +

    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press 
    +thermo_modify   temp effTemp 
    +
    +

    The value of the kinetic energy will be 0.0 for atoms (nuclei or +electrons) not in the specified compute group. +

    +

    Output info: +

    +

    This compute calculates a scalar quantity for each atom, which can be accessed by any command that uses per-atom computes as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_ke_eff.html b/doc/compute_ke_eff.html index a8f05d59ba..7c476b9aa6 100644 --- a/doc/compute_ke_eff.html +++ b/doc/compute_ke_eff.html @@ -1,257 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ke/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ke/eff command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ke/eff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ke/eff = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ke/eff
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the kinetic energy of motion of a + + +


    + +

    compute ke/eff command +

    +

    Syntax: +

    +
    compute ID group-ID ke/eff 
    +
    +
    • ID, group-ID are documented in compute command +
    • ke/eff = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all ke/eff 
    +
    +

    Description: +

    +

    Define a computation that calculates the kinetic energy of motion of a group of eFF particles (nuclei and electrons), as modeled with the -electronic force field.

    -

    The kinetic energy for each nucleus is computed as 1/2 m v^2 and the +electronic force field. +

    +

    The kinetic energy for each nucleus is computed as 1/2 m v^2 and the kinetic energy for each electron is computed as 1/2(me v^2 + 3/4 me s^2), where m corresponds to the nuclear mass, me to the electron mass, v to the translational velocity of each particle, and s to the -radial velocity of the electron, respectively.

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal +radial velocity of the electron, respectively. +

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is “translational” and “radial” (only for electrons) kinetic +thermo_style command. For this compute, kinetic +energy is "translational" and "radial" (only for electrons) kinetic energy, calculated by the simple formula above. For thermodynamic -output, the ke keyword infers kinetic energy from the temperature of +output, the ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. For -the eFF temperature computation via the compute temp_eff command, these are the same. But +the eFF temperature computation via the compute +temp_eff command, these are the same. But different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include other -degrees of freedom.

    -

    IMPRORTANT NOTE: The temperature in eFF models should be monitored via -the compute temp/eff command, which can be +degrees of freedom. +

    +

    IMPRORTANT NOTE: The temperature in eFF models should be monitored via +the compute temp/eff command, which can be printed with thermodynamic output by using the -thermo_modify command, as shown in the following -example:

    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press
    -thermo_modify   temp effTemp
    -
    -
    -

    See compute temp/eff.

    -

    Output info:

    -

    This compute calculates a global scalar (the KE). This value can be +thermo_modify command, as shown in the following +example: +

    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press 
    +thermo_modify   temp effTemp 
    +
    +

    See compute temp/eff. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +input. See Section_howto 15 for an +overview of LAMMPS output options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/compute_ke_rigid.html b/doc/compute_ke_rigid.html index cb45568548..485cf37fa3 100644 --- a/doc/compute_ke_rigid.html +++ b/doc/compute_ke_rigid.html @@ -1,240 +1,65 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ke/rigid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ke/rigid command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID ke/rigid fix-ID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ke = style name of this compute command
    • -
    • fix-ID = ID of rigid body fix
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all ke/rigid myRigid
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the translational kinetic energy -of a collection of rigid bodies, as defined by one of the fix rigid command variants.

    -

    The kinetic energy of each rigid body is computed as 1/2 M Vcm^2, + + +


    + +

    compute ke/rigid command +

    +

    Syntax: +

    +
    compute ID group-ID ke/rigid fix-ID 
    +
    +
    • ID, group-ID are documented in compute command +
    • ke = style name of this compute command +
    • fix-ID = ID of rigid body fix +
    +

    Examples: +

    +
    compute 1 all ke/rigid myRigid 
    +
    +

    Description: +

    +

    Define a computation that calculates the translational kinetic energy +of a collection of rigid bodies, as defined by one of the fix +rigid command variants. +

    +

    The kinetic energy of each rigid body is computed as 1/2 M Vcm^2, where M is the total mass of the rigid body, and Vcm is its -center-of-mass velocity.

    -

    The fix-ID should be the ID of one of the fix rigid +center-of-mass velocity. +

    +

    The fix-ID should be the ID of one of the fix rigid commands which defines the rigid bodies. The group specified in the compute command is ignored. The kinetic energy of all the rigid bodies defined by the fix rigid command in included in the -calculation.

    -

    Output info:

    -

    This compute calculates a global scalar (the summed KE of all the +calculation. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the summed KE of all the rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +global scalar value from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute erotate/rigid +

    +

    Default: none +

    + diff --git a/doc/compute_meso_e_atom.html b/doc/compute_meso_e_atom.html index 405fc6b65f..3350eb3000 100644 --- a/doc/compute_meso_e_atom.html +++ b/doc/compute_meso_e_atom.html @@ -1,237 +1,61 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute meso_e/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute meso_e/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID meso_e/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • meso_e/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all meso_e/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom internal energy -for each atom in a group.

    -

    The internal energy is the energy associated with the internal degrees + + +


    + +

    compute meso_e/atom command +

    +

    Syntax: +

    +
    compute ID group-ID meso_e/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • meso_e/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all meso_e/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom internal energy +for each atom in a group. +

    +

    The internal energy is the energy associated with the internal degrees of freedom of a mesoscopic particles, e.g. a Smooth-Particle -Hydrodynamics particle.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The value of the internal energy will be 0.0 for atoms not in the -specified compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +Hydrodynamics particle. +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The value of the internal energy will be 0.0 for atoms not in the +specified compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_meso_rho_atom.html b/doc/compute_meso_rho_atom.html index 7afe72af79..790e2f9005 100644 --- a/doc/compute_meso_rho_atom.html +++ b/doc/compute_meso_rho_atom.html @@ -1,237 +1,61 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute meso_rho/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute meso_rho/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID meso_rho/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • meso_rho/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all meso_rho/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom mesoscopic density -for each atom in a group.

    -

    The mesoscopic density is the mass density of a mesoscopic particle, -calculated by kernel function interpolation using “pair style -sph/rhosum”.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The value of the mesoscopic density will be 0.0 for atoms not in the -specified compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by + + +


    + +

    compute meso_rho/atom command +

    +

    Syntax: +

    +
    compute ID group-ID meso_rho/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • meso_rho/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all meso_rho/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom mesoscopic density +for each atom in a group. +

    +

    The mesoscopic density is the mass density of a mesoscopic particle, +calculated by kernel function interpolation using "pair style +sph/rhosum". +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The value of the mesoscopic density will be 0.0 for atoms not in the +specified compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in mass/volume units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in mass/volume units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_meso_t_atom.html b/doc/compute_meso_t_atom.html index eb4209d5e7..39b21ccff9 100644 --- a/doc/compute_meso_t_atom.html +++ b/doc/compute_meso_t_atom.html @@ -1,238 +1,63 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute meso_t/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute meso_t/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID meso_t/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • meso_t/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all meso_t/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom internal temperature -for each atom in a group.

    -

    The internal temperature is the ratio of internal energy over the heat + + +


    + +

    compute meso_t/atom command +

    +

    Syntax: +

    +
    compute ID group-ID meso_t/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • meso_t/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all meso_t/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom internal temperature +for each atom in a group. +

    +

    The internal temperature is the ratio of internal energy over the heat capacity associated with the internal degrees of freedom of a mesoscopic -particles, e.g. a Smooth-Particle Hydrodynamics particle.

    -

    T_*int* = E_*int* / C_*V, int*

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The value of the internal energy will be 0.0 for atoms not in the -specified compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +particles, e.g. a Smooth-Particle Hydrodynamics particle. +

    +

    T_int = E_int / C_V, int +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The value of the internal energy will be 0.0 for atoms not in the +specified compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in temperature units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in temperature units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_modify.html b/doc/compute_modify.html index bae366645a..4536ee76bc 100644 --- a/doc/compute_modify.html +++ b/doc/compute_modify.html @@ -1,258 +1,80 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute_modify command¶

    -
    -

    Syntax¶

    -
    compute_modify compute-ID keyword value ...
    -
    -
    -
      -
    • compute-ID = ID of the compute to modify
    • -
    • one or more keyword/value pairs may be listed
    • -
    • keyword = extra or dynamic
    • -
    -
    -extra value = N
    +
    +
    +
    + +

    compute_modify command +

    +

    Syntax: +

    +
    compute_modify compute-ID keyword value ... 
    +
    +
    • compute-ID = ID of the compute to modify + +
    • one or more keyword/value pairs may be listed + +
    • keyword = extra or dynamic + +
        extra value = N
           N = # of extra degrees of freedom to subtract
      -  dynamic value = yes or no
      +  dynamic value = yes or no
           yes/no = do or do not recompute the number of atoms contributing to the temperature
      -  thermo value = yes or no
      -    yes/no = do or do not add contributions from fixes to the potential energy
      -
      -
    -
    -

    Examples¶

    -
    compute_modify myTemp extra 0
    -compute_modify newtemp dynamic yes extra 600
    -
    -
    -
    -
    -

    Description¶

    -

    Modify one or more parameters of a previously defined compute. Not -all compute styles support all parameters.

    -

    The extra keyword refers to how many degrees-of-freedom are + thermo value = yes or no + yes/no = do or do not add contributions from fixes to the potential energy + + + +

    Examples: +

    +
    compute_modify myTemp extra 0
    +compute_modify newtemp dynamic yes extra 600 
    +
    +

    Description: +

    +

    Modify one or more parameters of a previously defined compute. Not +all compute styles support all parameters. +

    +

    The extra keyword refers to how many degrees-of-freedom are subtracted (typically from 3N) as a normalizing factor in a temperature computation. Only computes that compute a temperature use -this option. The default is 2 or 3 for 2d or 3d systems which is a correction factor for an ensemble +this option. The default is 2 or 3 for 2d or 3d +systems which is a correction factor for an ensemble of velocities with zero total linear momentum. You can use a negative -number for the extra parameter if you need to add -degrees-of-freedom. See the compute temp/asphere command for an example.

    -

    The dynamic keyword determines whether the number of atoms N in the +number for the extra parameter if you need to add +degrees-of-freedom. See the compute +temp/asphere command for an example. +

    +

    The dynamic keyword determines whether the number of atoms N in the compute group is re-computed each time a temperature is computed. Only compute styles that compute a temperature use this option. By default, N is assumed to be constant. If you are adding atoms to the -system (see the fix pour or fix deposit commands) or expect atoms to be lost +system (see the fix pour or fix +deposit commands) or expect atoms to be lost (e.g. due to evaporation), then this option should be used to insure -the temperature is correctly normalized.

    -

    The thermo keyword determines whether the potential energy -contribution calculated by some fixes is added to the +the temperature is correctly normalized. +

    +

    The thermo keyword determines whether the potential energy +contribution calculated by some fixes is added to the potential energy calculated by the compute. Currently, only the -compute of style pe uses this option. See the doc pages for -individual fixes for details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are extra = 2 or 3 for 2d or 3d systems and -dynamic = no. Thermo is yes if the compute of style pe was -defined with no extra keywords; otherwise it is no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +compute of style pe uses this option. See the doc pages for +individual fixes for details. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute +

    +

    Default: +

    +

    The option defaults are extra = 2 or 3 for 2d or 3d systems and +dynamic = no. Thermo is yes if the compute of style pe was +defined with no extra keywords; otherwise it is no. +

    + diff --git a/doc/compute_msd.html b/doc/compute_msd.html index bf54bf25a5..137e89cb60 100644 --- a/doc/compute_msd.html +++ b/doc/compute_msd.html @@ -1,273 +1,99 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute msd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute msd command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID msd keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • msd = style name of this compute command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = com
    • -
    -
    -com value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all msd
    -compute 1 upper msd com yes
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the mean-squared displacement + + +


    + +

    compute msd command +

    +

    Syntax: +

    +
    compute ID group-ID msd keyword values ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • msd = style name of this compute command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = com + +
        com value = yes or no 
      +
      + +
    +

    Examples: +

    +
    compute 1 all msd
    +compute 1 upper msd com yes 
    +
    +

    Description: +

    +

    Define a computation that calculates the mean-squared displacement (MSD) of the group of atoms, including all effects due to atoms passing thru periodic boundaries. For computation of the non-Gaussian -parameter of mean-squared displacement, see the compute msd/nongauss command.

    -

    A vector of four quantites is calculated by this compute. The first 3 +parameter of mean-squared displacement, see the compute +msd/nongauss command. +

    +

    A vector of four quantites is calculated by this compute. The first 3 elements of the vector are the squared dx,dy,dz displacements, summed and averaged over atoms in the group. The 4th element is the total squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and -averaged over atoms in the group.

    -

    The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing atoms.

    -

    The displacement of an atom is from its original position at the time +averaged over atoms in the group. +

    +

    The slope of the mean-squared displacement (MSD) versus time is +proportional to the diffusion coefficient of the diffusing atoms. +

    +

    The displacement of an atom is from its original position at the time the compute command was issued. The value of the displacement will be -0.0 for atoms not in the specified compute group.

    -

    If the com option is set to yes then the effect of any drift in +0.0 for atoms not in the specified compute group. +

    +

    If the com option is set to yes then the effect of any drift in the center-of-mass of the group of atoms is subtracted out before xhe -displacment of each atom is calcluated.

    -
    -

    Warning

    -

    Initial coordinates are stored in “unwrapped” form, by -using the image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. -See the Atoms section of the read_data command for a +displacment of each atom is calcluated. +

    +

    IMPORTANT NOTE: Initial coordinates are stored in "unwrapped" form, by +using the image flags associated with each atom. See the dump +custom command for a discussion of "unwrapped" coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by -using the set image command.

    -
    -
    -

    Warning

    -

    If you want the quantities calculated by this compute -to be continuous when running from a restart file, +using the set image command. +

    +

    IMPORTANT NOTE: If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom coordinates from the restart file.

    -
    -

    Output info:

    -

    This compute calculates a global vector of length 4, which can be +correctly with time=0 atom coordinates from the restart file. +

    +

    Output info: +

    +

    This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector values are “intensive”. The vector values will be in -distance^2 units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option default is com = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector values are "intensive". The vector values will be in +distance^2 units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute msd/nongauss, compute +displace_atom, fix +store/state, compute +msd/chunk +

    +

    Default: +

    +

    The option default is com = no. +

    + diff --git a/doc/compute_msd_chunk.html b/doc/compute_msd_chunk.html index ef8252b80f..e6ef5bc252 100644 --- a/doc/compute_msd_chunk.html +++ b/doc/compute_msd_chunk.html @@ -1,304 +1,125 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute msd/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute msd/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID msd/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • msd/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all msd/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the mean-squared displacement -(MSD) for multiple chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute msd/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID msd/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • msd/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 all msd/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the mean-squared displacement +(MSD) for multiple chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    Four quantites are calculated by this compute for each chunk. The +a system. +

    +

    Four quantites are calculated by this compute for each chunk. The first 3 quantities are the squared dx,dy,dz displacements of the center-of-mass. The 4th component is the total squared displacement, i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These calculations include all effects due to atoms passing thru periodic -boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -

    The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing chunks.

    -

    The displacement of the center-of-mass of the chunk is from its +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    The slope of the mean-squared displacement (MSD) versus time is +proportional to the diffusion coefficient of the diffusing chunks. +

    +

    The displacement of the center-of-mass of the chunk is from its original center-of-mass position, calculated on the timestep this -compute command was first invoked.

    -
    -

    Warning

    -

    The number of chunks Nchunk calculated by the -compute chunk/atom command must remain +compute command was first invoked. +

    +

    IMPORTANT NOTE: The number of chunks Nchunk calculated by the +compute chunk/atom command must remain constant each time this compute is invoked, so that the displacement for each chunk from its original position can be computed -consistently. If Nchunk does not remain constant, an error will be -generated. If needed, you can enforce a constant Nchunk by using -the nchunk once or ids once options when specifying the compute chunk/atom command.

    -
    -
    -

    Warning

    -

    This compute stores the original position (of the +consistently. If Nchunk does not remain constant, an error will be +generated. If needed, you can enforce a constant Nchunk by using +the nchunk once or ids once options when specifying the compute +chunk/atom command. +

    +

    IMPORTANT NOTE: This compute stores the original position (of the center-of-mass) of each chunk. When a displacement is calculated on a later timestep, it is assumed that the same atoms are assigned to the same chunk ID. However LAMMPS has no simple way to insure this is the -case, though you can use the ids once option when specifying the -compute chunk/atom command. Note that if +case, though you can use the ids once option when specifying the +compute chunk/atom command. Note that if this is not the case, the MSD calculation does not have a sensible -meaning.

    -
    -
    -

    Warning

    -

    The initial coordinates of the atoms in each chunk are -stored in “unwrapped” form, by using the image flags associated with -each atom. See the dump custom command for a discussion -of “unwrapped” coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +meaning. +

    +

    IMPORTANT NOTE: The initial coordinates of the atoms in each chunk are +stored in "unwrapped" form, by using the image flags associated with +each atom. See the dump custom command for a discussion +of "unwrapped" coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -
    -

    Warning

    -

    Unlike the compute msd command, +(e.g. to 0) before invoking this compute by using the set +image command. +

    +

    IMPORTANT NOTE: Unlike the compute msd command, this compute does not store the initial center-of-mass coorindates of its molecules in a restart file. Thus you cannot continue the MSD per -chunk calculation of this compute when running from a restart file.

    -
    -

    The simplest way to output the results of the compute com/msd -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +chunk calculation of this compute when running from a restart
    +file.
    +

    +

    The simplest way to output the results of the compute com/msd +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/msd cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 4 for dx,dy,dz and the total displacement. These values can be accessed by any command that uses global array values from a compute -as input. See this section for an -overview of LAMMPS output options.

    -

    The array values are “intensive”. The array values will be in -distance^2 units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +as input. See this section for an +overview of LAMMPS output options. +

    +

    The array values are "intensive". The array values will be in +distance^2 units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute msd +

    +

    Default: none +

    + diff --git a/doc/compute_msd_nongauss.html b/doc/compute_msd_nongauss.html index db923d6ddc..e041a30796 100644 --- a/doc/compute_msd_nongauss.html +++ b/doc/compute_msd_nongauss.html @@ -1,260 +1,90 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute msd/nongauss command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute msd/nongauss command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID msd/nongauss keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • msd/nongauss = style name of this compute command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = com
    • -
    -
    -com value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all msd/nongauss
    -compute 1 upper msd/nongauss com yes
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the mean-squared displacement + + +


    + +

    compute msd/nongauss command +

    +

    Syntax: +

    +
    compute ID group-ID msd/nongauss keyword values ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • msd/nongauss = style name of this compute command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = com + +
        com value = yes or no 
      +
      + +
    +

    Examples: +

    +
    compute 1 all msd/nongauss
    +compute 1 upper msd/nongauss com yes 
    +
    +

    Description: +

    +

    Define a computation that calculates the mean-squared displacement (MSD) and non-Gaussian parameter (NGP) of the group of atoms, -including all effects due to atoms passing thru periodic boundaries.

    -

    A vector of three quantites is calculated by this compute. The first +including all effects due to atoms passing thru periodic boundaries. +

    +

    A vector of three quantites is calculated by this compute. The first element of the vector is the total squared dx,dy,dz displacements drsquared = (dx*dx + dy*dy + dz*dz) of atoms, and the second is the fourth power of these displacements drfourth = (dx*dx + dy*dy + dz*dz)*(dx*dx + dy*dy + dz*dz), summed and averaged over atoms in the group. The 3rd component is the nonGaussian diffusion paramter NGP = -3*drfourth/(5*drsquared*drsquared), i.e.

    -_images/compute_msd_nongauss.jpg -

    The NGP is a commonly used quantity in studies of dynamical +3*drfourth/(5*drsquared*drsquared), i.e. +

    +
    +
    +

    The NGP is a commonly used quantity in studies of dynamical heterogeneity. Its minimum theoretical value (-0.4) occurs when all atoms have the same displacement magnitude. NGP=0 for Brownian -diffusion, while NGP > 0 when some mobile atoms move faster than -others.

    -

    If the com option is set to yes then the effect of any drift in +diffusion, while NGP > 0 when some mobile atoms move faster than +others. +

    +

    If the com option is set to yes then the effect of any drift in the center-of-mass of the group of atoms is subtracted out before the -displacment of each atom is calcluated.

    -

    See the compute msd doc page for further IMPORTANT -NOTES, which also apply to this compute.

    -

    Output info:

    -

    This compute calculates a global vector of length 3, which can be +displacment of each atom is calcluated. +

    +

    See the compute msd doc page for further IMPORTANT +NOTES, which also apply to this compute. +

    +

    Output info: +

    +

    This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector values are “intensive”. The first vector value will be in -distance^2 units, the second is in distance^4 units, and -the 3rd is dimensionless.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option default is com = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector values are "intensive". The first vector value will be in +distance^2 units, the second is in distance^4 units, and +the 3rd is dimensionless. +

    +

    Restrictions: +

    +

    This compute is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute msd +

    +

    Default: +

    +

    The option default is com = no. +

    + diff --git a/doc/compute_omega_chunk.html b/doc/compute_omega_chunk.html index b8ceef4788..3c553afbc8 100644 --- a/doc/compute_omega_chunk.html +++ b/doc/compute_omega_chunk.html @@ -1,270 +1,94 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute omega/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute omega/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID omega/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • omega/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid omega/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the angular velocity (omega) of -multiple chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute omega/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID omega/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • omega/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid omega/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the angular velocity (omega) of +multiple chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the 3 components of the angular velocity +a system. +

    +

    This compute calculates the 3 components of the angular velocity vector for each chunk, via the formula L = Iw where L is the angular momentum vector of the chunk, I is its moment of inertia tensor, and w is omega = angular velocity of the chunk. The calculation includes -all effects due to atoms passing thru periodic boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +all effects due to atoms passing thru periodic boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the chunk’s -angular velocity in “unwrapped” form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of “unwrapped” coordinates. See the Atoms section of -the read_data command for a discussion of image flags +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's +angular velocity in "unwrapped" form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of "unwrapped" coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute omega/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute omega/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all omega/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 3 for the 3 xyz components of the angular velocity for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The array values are “intensive”. The array values will be in -velocity/distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The array values are "intensive". The array values will be in +velocity/distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable omega() function +

    +

    Default: none +

    + diff --git a/doc/compute_pair.html b/doc/compute_pair.html index 6ac98f1ec8..b456d96ba6 100644 --- a/doc/compute_pair.html +++ b/doc/compute_pair.html @@ -1,264 +1,86 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute pair command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute pair command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID pair pstyle evalue
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • pair = style name of this compute command
    • -
    • pstyle = style name of a pair style that calculates additional values
    • -
    • evalue = epair or evdwl or ecoul or blank (optional setting)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all pair gauss
    +
    +
    +
    + +

    compute pair command +

    +

    Syntax: +

    +
    compute ID group-ID pair pstyle evalue 
    +
    +
    • ID, group-ID are documented in compute command +
    • pair = style name of this compute command +
    • pstyle = style name of a pair style that calculates additional values +
    • evalue = epair or evdwl or ecoul or blank (optional setting) +
    +

    Examples: +

    +
    compute 1 all pair gauss
     compute 1 all pair lj/cut/coul/cut ecoul
    -compute 1 all pair reax
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that extracts additional values calculated by a +compute 1 all pair reax + +

    Description: +

    +

    Define a computation that extracts additional values calculated by a pair style, sums them across processors, and makes them accessible for output or further processing by other commands. The group specified -for this command is ignored.

    -

    The specified pstyle must be a pair style used in your simulation -either by itself or as a sub-style in a pair_style hybrid or hybrid/overlay command.

    -

    The evalue setting is optional; it may be left off the command. All -pair styles tally a potential energy epair which may be broken into -two parts: evdwl and ecoul such that epair = evdwl + ecoul. +for this command is ignored. +

    +

    The specified pstyle must be a pair style used in your simulation +either by itself or as a sub-style in a pair_style hybrid or +hybrid/overlay command. +

    +

    The evalue setting is optional; it may be left off the command. All +pair styles tally a potential energy epair which may be broken into +two parts: evdwl and ecoul such that epair = evdwl + ecoul. If the pair style calculates Coulombic interactions, their energy will -be tallied in ecoul. Everything else (whether it is a Lennard-Jones -style van der Waals interaction or not) is tallied in evdwl. If -evalue is specified as epair or left out, then epair is stored +be tallied in ecoul. Everything else (whether it is a Lennard-Jones +style van der Waals interaction or not) is tallied in evdwl. If +evalue is specified as epair or left out, then epair is stored as a global scalar by this compute. This is useful when using -pair_style hybrid if you want to know the portion -of the total energy contributed by one sub-style. If evalue is -specfied as evdwl or ecoul, then just that portion of the energy -is stored as a global scalar.

    -

    Some pair styles tally additional quantities, e.g. a breakdown of +pair_style hybrid if you want to know the portion +of the total energy contributed by one sub-style. If evalue is +specfied as evdwl or ecoul, then just that portion of the energy +is stored as a global scalar. +

    +

    Some pair styles tally additional quantities, e.g. a breakdown of potential energy into a dozen or so components is tallied by the -pair_style reax commmand. These values (1 or more) +pair_style reax commmand. These values (1 or more) are stored as a global vector by this compute. See the doc page for -individual pair styles for info on these values.

    -

    Output info:

    -

    This compute calculates a global scalar which is epair or evdwl or -ecoul. If the pair style supports it, it also calculates a global -vector of length >= 1, as determined by the pair style. These values +individual pair styles for info on these values. +

    +

    Output info: +

    +

    This compute calculates a global scalar which is epair or evdwl or +ecoul. If the pair style supports it, it also calculates a global +vector of length >= 1, as determined by the pair style. These values can be used by any command that uses global scalar or vector values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar and vector values calculated by this compute are -“extensive”.

    -

    The scalar value will be in energy units. The vector -values will typically also be in energy units, but -see the doc page for the pair style for details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The default for evalue is epair.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar and vector values calculated by this compute are +"extensive". +

    +

    The scalar value will be in energy units. The vector +values will typically also be in energy units, but +see the doc page for the pair style for details. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute pe +

    +

    Default: +

    +

    The default for evalue is epair. +

    + diff --git a/doc/compute_pair_local.html b/doc/compute_pair_local.html index 5dfc14d934..d7a17323bd 100644 --- a/doc/compute_pair_local.html +++ b/doc/compute_pair_local.html @@ -1,298 +1,127 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute pair/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute pair/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID pair/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • pair/local = style name of this compute command
    • -
    • zero or more keywords may be appended
    • -
    • keyword = dist or eng or force or fx or fy or fz or pN
    • -
    -
    -dist = pairwise distance
    -  eng = pairwise energy
    -  force = pairwise force
    -  fx,*fy*,*fz* = components of pairwise force
    -  pN = pair style specific quantities for allowed N values
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all pair/local eng
    +
    +
    +
    + +

    compute pair/local command +

    +

    Syntax: +

    +
    compute ID group-ID pair/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • pair/local = style name of this compute command + +
    • zero or more keywords may be appended + +
    • keyword = dist or eng or force or fx or fy or fz or pN + +
        dist = pairwise distance
      +  eng = pairwise energy
      +  force = pairwise force
      +  fx,fy,fz = components of pairwise force
      +  pN = pair style specific quantities for allowed N values 
      +
      + +
    +

    Examples: +

    +
    compute 1 all pair/local eng
     compute 1 all pair/local dist eng force
     compute 1 all pair/local dist eng fx fy fz
    -compute 1 all pair/local dist fx fy fz p1 p2 p3
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates properties of individual pairwise +compute 1 all pair/local dist fx fy fz p1 p2 p3 + +

    Description: +

    +

    Define a computation that calculates properties of individual pairwise interactions. The number of datums generated, aggregated across all -processors, equals the number of pairwise interactions in the system.

    -

    The local data stored by this command is generated by looping over the +processors, equals the number of pairwise interactions in the system. +

    +

    The local data stored by this command is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group, and if the current pairwise distance is less than the force cutoff distance for that interaction, as defined by the -pair_style and pair_coeff -commands.

    -

    The output dist is the distance bewteen the pair of atoms.

    -

    The output eng is the interaction energy for the pair of atoms.

    -

    The output force is the force acting between the pair of atoms, +pair_style and pair_coeff +commands. +

    +

    The output dist is the distance bewteen the pair of atoms. +

    +

    The output eng is the interaction energy for the pair of atoms. +

    +

    The output force is the force acting between the pair of atoms, which is positive for a repulsive force and negative for an attractive -force. The outputs fx, fy, and fz are the xyz components of -force on atom I.

    -

    A pair style may define additional pairwise quantities which can be -accessed as p1 to pN, where N is defined by the pair style. Most +force. The outputs fx, fy, and fz are the xyz components of +force on atom I. +

    +

    A pair style may define additional pairwise quantities which can be +accessed as p1 to pN, where N is defined by the pair style. Most pair styles do not define any additional quantities, so N = 0. An -example of ones that do are the granular pair styles +example of ones that do are the granular pair styles 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 detils.

    -

    The output dist will be in distance units. The output -eng will be in energy units. The outputs force, -fx, fy, and fz will be in force units. The output -pN will be in whatever units the pair style defines.

    -

    Note that as atoms migrate from processor to processor, there will be +individual pair styles for detils. +

    +

    The output dist will be in distance units. The output +eng will be in energy units. The outputs force, +fx, fy, and fz will be in force units. The output +pN will be in whatever units the pair style defines. +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, pair output from the compute property/local command can be combined -with data from this command and output by the dump local -command in a consistent way.

    -
    -

    Warning

    -

    For pairs, if two atoms I,J are involved in 1-2, 1-3, +For example, pair output from the compute +property/local command can be combined +with data from this command and output by the dump local +command in a consistent way. +

    +

    IMPORTANT NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this will be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise -interactions are set by the special_bonds +interactions are set by the special_bonds command. An exception is if long-range Coulombics are being computed -via the kspace_style command, then atom pairs with +via the kspace_style command, then atom pairs with weighting factors of zero are still included in the neighbor list, so that a portion of the long-range interaction contribution can be computed in the pair style. Hence in that case, those atom pairs will -be part of the local data created by this command.

    -
    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +be part of the local data created by this command. +

    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The output for dist will be in distance units. The -output for eng will be in energy units. The output for -force will be in force units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The output for dist will be in distance units. The +output for eng will be in energy units. The output for +force will be in force units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute +property/local +

    +

    Default: none +

    + diff --git a/doc/compute_pe.html b/doc/compute_pe.html index a21bb9c058..2543ed1da6 100644 --- a/doc/compute_pe.html +++ b/doc/compute_pe.html @@ -1,277 +1,107 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute pe command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute pe command¶

    -
    -
    -

    compute pe/cuda command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID pe keyword ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • pe = style name of this compute command
    • -
    • zero or more keywords may be appended
    • -
    • keyword = pair or bond or angle or dihedral or improper or kspace
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all pe
    -compute molPE all pe bond angle dihedral improper
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the potential energy of the -entire system of atoms. The specified group must be “all”. See the -compute pe/atom command if you want per-atom + + +


    + +

    compute pe command +

    +

    compute pe/cuda command +

    +

    Syntax: +

    +
    compute ID group-ID pe keyword ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • pe = style name of this compute command +
    • zero or more keywords may be appended +
    • keyword = pair or bond or angle or dihedral or improper or kspace +
    +

    Examples: +

    +
    compute 1 all pe
    +compute molPE all pe bond angle dihedral improper 
    +
    +

    Description: +

    +

    Define a computation that calculates the potential energy of the +entire system of atoms. The specified group must be "all". See the +compute pe/atom command if you want per-atom energies. These per-atom values could be summed for a group of atoms -via the compute reduce command.

    -

    The energy is calculated by the various pair, bond, etc potentials +via the compute reduce command. +

    +

    The energy is calculated by the various pair, bond, etc potentials defined for the simulation. If no extra keywords are listed, then the potential energy is the sum of pair, bond, angle, dihedral, improper, and kspace (long-range) energy. If any extra keywords are listed, -then only those components are summed to compute the potential energy.

    -

    The Kspace contribution requires 1 extra FFT each timestep the energy -is calculated, if using the PPPM solver via the kspace_style pppm command. Thus it can increase the cost of the +then only those components are summed to compute the potential energy. +

    +

    The Kspace contribution requires 1 extra FFT each timestep the energy +is calculated, if using the PPPM solver via the kspace_style +pppm command. Thus it can increase the cost of the PPPM calculation if it is needed on a large fraction of the simulation -timesteps.

    -

    Various fixes can contribute to the total potential energy of the -system. See the doc pages for individual fixes for -details. The thermo option of the -compute_modify command determines whether these +timesteps. +

    +

    Various fixes can contribute to the total potential energy of the +system. See the doc pages for individual fixes for +details. The thermo option of the +compute_modify command determines whether these contributions are added into the computed potential energy. If no -keywords are specified the default is yes. If any keywords are -specified, the default is no.

    -

    A compute of this style with the ID of “thermo_pe” is created when -LAMMPS starts up, as if this command were in the input script:

    -
    compute thermo_pe all pe
    -
    -
    -

    See the “thermo_style” command for more details.

    -
    -

    Styles with a cuda suffix are functionally the same as the +keywords are specified the default is yes. If any keywords are +specified, the default is no. +

    +

    A compute of this style with the ID of "thermo_pe" is created when +LAMMPS starts up, as if this command were in the input script: +

    +
    compute thermo_pe all pe 
    +
    +

    See the "thermo_style" command for more details. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the potential energy). This +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the potential energy). This value can be used by any command that uses a global scalar value from -a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “extensive”. The -scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "extensive". The +scalar value will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute pe/atom +

    +

    Default: none +

    + diff --git a/doc/compute_pe_atom.html b/doc/compute_pe_atom.html index 8e572cf8d4..7138369832 100644 --- a/doc/compute_pe_atom.html +++ b/doc/compute_pe_atom.html @@ -1,270 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute pe/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute pe/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID pe/atom keyword ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • pe/atom = style name of this compute command
    • -
    • zero or more keywords may be appended
    • -
    • keyword = pair or bond or angle or dihedral or improper or kspace
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all pe/atom
    +
    +
    +
    + +

    compute pe/atom command +

    +

    Syntax: +

    +
    compute ID group-ID pe/atom keyword ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • pe/atom = style name of this compute command +
    • zero or more keywords may be appended +
    • keyword = pair or bond or angle or dihedral or improper or kspace +
    +

    Examples: +

    +
    compute 1 all pe/atom
     compute 1 all pe/atom pair
    -compute 1 all pe/atom pair bond
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that computes the per-atom potential energy for -each atom in a group. See the compute pe command if -you want the potential energy of the entire system.

    -

    The per-atom energy is calculated by the various pair, bond, etc +compute 1 all pe/atom pair bond + +

    Description: +

    +

    Define a computation that computes the per-atom potential energy for +each atom in a group. See the compute pe command if +you want the potential energy of the entire system. +

    +

    The per-atom energy is calculated by the various pair, bond, etc potentials defined for the simulation. If no extra keywords are listed, then the potential energy is the sum of pair, bond, angle, dihedral,improper, and kspace energy. If any extra keywords are listed, then only those components are summed to compute the potential -energy.

    -

    Note that the energy of each atom is due to its interaction with all -other atoms in the simulation, not just with other atoms in the group.

    -

    For an energy contribution produced by a small set of atoms (e.g. 4 +energy. +

    +

    Note that the energy of each atom is due to its interaction with all +other atoms in the simulation, not just with other atoms in the group. +

    +

    For an energy contribution produced by a small set of atoms (e.g. 4 atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction), that energy is assigned in equal portions to each atom in the set. -E.g. 1/4 of the dihedral energy to each of the 4 atoms.

    -

    The dihedral_style charmm style calculates +E.g. 1/4 of the dihedral energy to each of the 4 atoms. +

    +

    The dihedral_style charmm style calculates pairwise interactions between 1-4 atoms. The energy contribution of -these terms is included in the pair energy, not the dihedral energy.

    -

    The KSpace contribution is calculated using the method in -(Heyes) for the Ewald method and a related method for PPPM, -as specified by the kspace_style pppm command. +these terms is included in the pair energy, not the dihedral energy. +

    +

    The KSpace contribution is calculated using the method in +(Heyes) for the Ewald method and a related method for PPPM, +as specified by the kspace_style pppm command. For PPPM, the calcluation requires 1 extra FFT each timestep that -per-atom energy is calculated. Thie document -describes how the long-range per-atom energy calculation is performed.

    -

    As an example of per-atom potential energy compared to total potential +per-atom energy is calculated. Thie document +describes how the long-range per-atom energy calculation is performed. +

    +

    As an example of per-atom potential energy compared to total potential energy, these lines in an input script should yield the same result -in the last 2 columns of thermo output:

    -
    compute              peratom all pe/atom
    -compute              pe all reduce sum c_peratom
    -thermo_style custom step temp etotal press pe c_pe
    -
    -
    -
    -

    Warning

    -

    The per-atom energy does not any Lennard-Jones tail -corrections invoked by the pair_modify tail yes -command, since those are global contributions to the system energy.

    -
    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +in the last 2 columns of thermo output: +

    +
    compute		peratom all pe/atom
    +compute		pe all reduce sum c_peratom
    +thermo_style	custom step temp etotal press pe c_pe 
    +
    +

    IMPORTANT NOTE: The per-atom energy does not any Lennard-Jones tail +corrections invoked by the pair_modify tail yes +command, since those are global contributions to the system energy. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The per-atom vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    - -
    +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The per-atom vector values will be in energy units. +

    +

    Restrictions: +

    +

    Related commands: +

    +

    compute pe, compute +stress/atom +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Heyes) Heyes, Phys Rev B 49, 755 (1994), +

    + diff --git a/doc/compute_plasticity_atom.html b/doc/compute_plasticity_atom.html index 0754ce4f22..ea39315d00 100644 --- a/doc/compute_plasticity_atom.html +++ b/doc/compute_plasticity_atom.html @@ -1,242 +1,73 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute plasticity/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute plasticity/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID plasticity/atom
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • plasticity/atom = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all plasticity/atom
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the per-atom plasticity for each -atom in a group. This is a quantity relevant for Peridynamics models. See this document -for an overview of LAMMPS commands for Peridynamics modeling.

    -

    The plasticity for a Peridynamic particle is the so-called consistency + + +


    + +

    compute plasticity/atom command +

    +

    Syntax: +

    +
    compute ID group-ID plasticity/atom 
    +
    +
    • ID, group-ID are documented in compute command +
    • plasticity/atom = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all plasticity/atom 
    +
    +

    Description: +

    +

    Define a computation that calculates the per-atom plasticity for each +atom in a group. This is a quantity relevant for Peridynamics +models. See this document +for an overview of LAMMPS commands for Peridynamics modeling. +

    +

    The plasticity for a Peridynamic particle is the so-called consistency parameter (lambda). For elastic deformation lambda = 0, otherwise -lambda > 0 for plastic deformation. For details, see -(Mitchell) and the PDF doc included in the LAMMPS -distro in doc/PDF/PDLammps_EPS.pdf.

    -

    This command can be invoked for one of the Peridynamic pair styles: peri/eps.

    -

    The plasticity value will be 0.0 for atoms not in the specified -compute group.

    -

    Output info:

    -

    This compute calculates a per-atom vector, which can be accessed by +lambda > 0 for plastic deformation. For details, see +(Mitchell) and the PDF doc included in the LAMMPS +distro in doc/PDF/PDLammps_EPS.pdf. +

    +

    This command can be invoked for one of the Peridynamic pair +styles: peri/eps. +

    +

    The plasticity value will be 0.0 for atoms not in the specified +compute group. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options.

    -

    The per-atom vector values are unitlesss numbers (lambda) >= 0.0.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +Section_howto 15 for an overview of LAMMPS output options. +

    +

    The per-atom vector values are unitlesss numbers (lambda) >= 0.0. +

    +

    Restrictions: +

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute damage, compute +dilatation +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mitchell) Mitchell, "A non-local, ordinary-state-based +viscoelasticity model for peridynamics", Sandia National Lab Report, +8064:1-28 (2011). +

    + diff --git a/doc/compute_pressure.html b/doc/compute_pressure.html index 4f0c30bab1..40eb3c0c07 100644 --- a/doc/compute_pressure.html +++ b/doc/compute_pressure.html @@ -1,309 +1,153 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute pressure command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute pressure command¶

    -
    -
    -

    compute pressure/cuda command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID pressure temp-ID keyword ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • pressure = style name of this compute command
    • -
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed
    • -
    • zero or more keywords may be appended
    • -
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all pressure thermo_temp
    -compute 1 all pressure NULL pair bond
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the pressure of the entire system -of atoms. The specified group must be “all”. See the compute stress/atom command if you want per-atom + + +


    + +

    compute pressure command +

    +

    compute pressure/cuda command +

    +

    Syntax: +

    +
    compute ID group-ID pressure temp-ID keyword ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • pressure = style name of this compute command +
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed +
    • zero or more keywords may be appended +
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial +
    +

    Examples: +

    +
    compute 1 all pressure thermo_temp
    +compute 1 all pressure NULL pair bond 
    +
    +

    Description: +

    +

    Define a computation that calculates the pressure of the entire system +of atoms. The specified group must be "all". See the compute +stress/atom command if you want per-atom pressure (stress). These per-atom values could be summed for a group -of atoms via the compute reduce command.

    -

    The pressure is computed by the formula

    -_images/pressure.jpg -

    where N is the number of atoms in the system (see discussion of DOF +of atoms via the compute reduce command. +

    +

    The pressure is computed by the formula +

    +
    +
    +

    where N is the number of atoms in the system (see discussion of DOF below), Kb is the Boltzmann constant, T is the temperature, d is the dimensionality of the system (2 or 3 for 2d/3d), V is the system volume (or area in 2d), and the second term is the virial, computed within LAMMPS for all pairwise as well as 2-body, 3-body, and 4-body, -and long-range interactions. Fixes that impose constraints -(e.g. the fix shake command) also contribute to the -virial term.

    -

    A symmetric pressure tensor, stored as a 6-element vector, is also +and long-range interactions. Fixes that impose constraints +(e.g. the fix shake command) also contribute to the +virial term. +

    +

    A symmetric pressure tensor, stored as a 6-element vector, is also calculated by this compute. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components (where I and J = x,y,z) is similar to the above formula, except that the first term uses components of the kinetic energy tensor and the -second term uses components of the virial tensor:

    -_images/pressure_tensor.jpg -

    If no extra keywords are listed, the entire equations above are +second term uses components of the virial tensor: +

    +
    +
    +

    If no extra keywords are listed, the entire equations above are calculated. This includes a kinetic energy (temperature) term and the virial as the sum of pair, bond, angle, dihedral, improper, kspace (long-range), and fix contributions to the force on each atom. If any extra keywords are listed, then only those components are summed to -compute temperature or ke and/or the virial. The virial keyword -means include all terms except the kinetic energy ke.

    -

    Details of how LAMMPS computes the virial efficiently for the entire +compute temperature or ke and/or the virial. The virial keyword +means include all terms except the kinetic energy ke. +

    +

    Details of how LAMMPS computes the virial efficiently for the entire system, including the effects of periodic boundary conditions is -discussed in (Thompson).

    -

    The temperature and kinetic energy tensor is not calculated by this +discussed in (Thompson). +

    +

    The temperature and kinetic energy tensor is not calculated by this compute, but rather by the temperature compute specified with the command. If the kinetic energy is not included in the pressure, than the temperature compute is not used and can be specified as NULL. Normally the temperature compute used by compute pressure should calculate the temperature of all atoms for consistency with the virial term, but any compute style that calculates temperature can be used, -e.g. one that excludes frozen atoms or other degrees of freedom.

    -

    Note that if desired the specified temperature compute can be one that +e.g. one that excludes frozen atoms or other degrees of freedom. +

    +

    Note that if desired the specified temperature compute can be one that subtracts off a bias to calculate a temperature using only the thermal velocity of the atoms, e.g. by subtracting a background streaming -velocity. See the doc pages for individual compute commands to determine which ones include a bias.

    -

    Also note that the N in the first formula above is really +velocity. See the doc pages for individual compute +commands to determine which ones include a bias. +

    +

    Also note that the N in the first formula above is really degrees-of-freedom divided by d = dimensionality, where the DOF value -is calcluated by the temperature compute. See the various compute temperature styles for details.

    -

    A compute of this style with the ID of “thermo_press” is created when -LAMMPS starts up, as if this command were in the input script:

    -
    compute thermo_press all pressure thermo_temp
    -
    -
    -

    where “thermo_temp” is the ID of a similarly defined compute of style -“temp”. See the “thermo_style” command for more details.

    -
    -

    Styles with a cuda suffix are functionally the same as the +is calcluated by the temperature compute. See the various compute +temperature styles for details. +

    +

    A compute of this style with the ID of "thermo_press" is created when +LAMMPS starts up, as if this command were in the input script: +

    +
    compute thermo_press all pressure thermo_temp 
    +
    +

    where "thermo_temp" is the ID of a similarly defined compute of style +"temp". See the "thermo_style" command for more details. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the pressure) and a global +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the pressure) and a global vector of length 6 (pressure tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar -or vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar and vector values calculated by this compute are -“intensive”. The scalar and vector values will be in pressure -units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +or vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar and vector values calculated by this compute are +"intensive". The scalar and vector values will be in pressure +units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp, compute +stress/atom, +thermo_style, +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Thompson) Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). +

    + diff --git a/doc/compute_property_atom.html b/doc/compute_property_atom.html index d89557b127..ca449ada49 100644 --- a/doc/compute_property_atom.html +++ b/doc/compute_property_atom.html @@ -1,161 +1,45 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute property/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute property/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID property/atom input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • property/atom = style name of this compute command
    • -
    • input = one or more atom attributes
    • -
    -
    possible attributes = id, mol, proc, type, mass,
    -                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    -                     vx, vy, vz, fx, fy, fz,
    +
    +
    +
    + +

    compute property/atom command +

    +

    Syntax: +

    +
    compute ID group-ID property/atom input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • property/atom = style name of this compute command + +
    • input = one or more atom attributes + +
        possible attributes = id, mol, proc, type, mass,
      + 	                x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      +		        vx, vy, vz, fx, fy, fz,
                               q, mux, muy, muz, mu,
                               radius, diameter, omegax, omegay, omegaz,
      -                     angmomx, angmomy, angmomz,
      -                     shapex,shapey, shapez,
      -                     quatw, quati, quatj, quatk, tqx, tqy, tqz,
      -                     end1x, end1y, end1z, end2x, end2y, end2z,
      -                     corner1x, corner1y, corner1z,
      -                     corner2x, corner2y, corner2z,
      -                     corner3x, corner3y, corner3z,
      -                     nbonds,
      +			angmomx, angmomy, angmomz,
      +			shapex,shapey, shapez,
      +		        quatw, quati, quatj, quatk, tqx, tqy, tqz,
      +			end1x, end1y, end1z, end2x, end2y, end2z,
      +			corner1x, corner1y, corner1z,
      +			corner2x, corner2y, corner2z,
      +			corner3x, corner3y, corner3z,
      +			nbonds,
                               vfrac, s0,
      -                     spin, eradius, ervel, erforce,
      +			spin, eradius, ervel, erforce,
                               rho, drho, e, de, cv,
      -                        i_name, d_name
      -
    -
    -
    id = atom ID
    +                        i_name, d_name 
    +
    +
          id = atom ID
           mol = molecule ID
           proc = ID of processor that owns atom
           type = atom type
    @@ -177,168 +61,113 @@
           tqx,tqy,tqz = torque on finite-size particles
           end12x, end12y, end12z = end points of line segment
           corner123x, corner123y, corner123z = corner points of triangle
    -      nbonds = number of bonds assigned to an atom
    -
    -
    -
    PERI package per-atom properties:
    +      nbonds = number of bonds assigned to an atom 
    +
    +
          PERI package per-atom properties:
           vfrac = ???
    -      s0 = ???
    -
    -
    -
    USER-EFF and USER-AWPMD package per-atom properties:
    +      s0 = ??? 
    +
    +
          USER-EFF and USER-AWPMD package per-atom properties:
           spin = electron spin
           eradius = electron radius
           ervel = electron radial velocity
    -      erforce = electron radial force
    -
    -
    -
    USER-SPH package per-atom properties:
    +      erforce = electron radial force 
    +
    +
          USER-SPH package per-atom properties:
           rho = ???
           drho = ???
           e = ???
           de = ???
    -      cv = ???
    -
    -
    -
    -fix property/atom per-atom properties:
    +      cv = ??? 
    +
    +
          fix property/atom per-atom properties:
           i_name = custom integer vector with name
    -      d_name = custom integer vector with name
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all property/atom xs vx fx mux
    +      d_name = custom integer vector with name 
    +
    + + +

    Examples: +

    +
    compute 1 all property/atom xs vx fx mux 
     compute 2 all property/atom type
    -compute 1 all property/atom ix iy iz
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that simply stores atom attributes for each atom +compute 1 all property/atom ix iy iz + +

    Description: +

    +

    Define a computation that simply stores atom attributes for each atom in the group. This is useful so that the values can be used by other -output commands that take computes as -inputs. See for example, the compute reduce, -fix ave/atom, fix ave/histo, -fix ave/spatial, and atom-style variable commands.

    -

    The list of possible attributes is the same as that used by the dump custom command, which describes their meaning, with some -additional quantities that are only defined for certain atom styles. Basically, this augmented list gives an -input script access to any per-atom quantity stored by LAMMPS.

    -

    The values are stored in a per-atom vector or array as discussed +output commands that take computes as +inputs. See for example, the compute reduce, +fix ave/atom, fix ave/histo, +fix ave/spatial, and atom-style +variable commands. +

    +

    The list of possible attributes is the same as that used by the dump +custom command, which describes their meaning, with some +additional quantities that are only defined for certain atom +styles. Basically, this augmented list gives an +input script access to any per-atom quantity stored by LAMMPS. +

    +

    The values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group or for quantities that are not defined for a particular particle in the group -(e.g. shapex if the particle is not an ellipsoid).

    -

    The additional quantities only accessible via this command, and not -directly via the dump custom command, are as follows.

    -

    Shapex, shapey, and shapez are defined for ellipsoidal particles -and define the 3d shape of each particle.

    -

    Quatw, quati, quatj, and quatk are defined for ellipsoidal +(e.g. shapex if the particle is not an ellipsoid). +

    +

    The additional quantities only accessible via this command, and not +directly via the dump custom command, are as follows. +

    +

    Shapex, shapey, and shapez are defined for ellipsoidal particles +and define the 3d shape of each particle. +

    +

    Quatw, quati, quatj, and quatk are defined for ellipsoidal particles and body particles and store the 4-vector quaternion -representing the orientation of each particle. See the set -command for an explanation of the quaternion vector.

    -

    End1x, end1y, end1z, end2x, end2y, end2z, are defined for -line segment particles and define the end points of each line segment.

    -

    Corner1x, corner1y, corner1z, corner2x, corner2y, -corner2z, corner3x, corner3y, corner3z, are defined for -triangular particles and define the corner points of each triangle.

    -

    Nbonds is available for all molecular atom styles and refers to the +representing the orientation of each particle. See the set +command for an explanation of the quaternion vector. +

    +

    End1x, end1y, end1z, end2x, end2y, end2z, are defined for +line segment particles and define the end points of each line segment. +

    +

    Corner1x, corner1y, corner1z, corner2x, corner2y, +corner2z, corner3x, corner3y, corner3z, are defined for +triangular particles and define the corner points of each triangle. +

    +

    Nbonds is available for all molecular atom styles and refers to the number of explicit bonds assigned to an atom. Note that if the -newton bond command is set to on, which is the +newton bond command is set to on, which is the default, then every bond in the system is assigned to only one of the two atoms in the bond. Thus a bond between atoms I,J may be tallied -for either atom I or atom J. If newton bond off is set, -it will be tallied with both atom I and atom J.

    -

    The i_name and d_name attributes refer to custom integer and +for either atom I or atom J. If newton bond off is set, +it will be tallied with both atom I and atom J. +

    +

    The i_name and d_name attributes refer to custom integer and floating-point properties that have been added to each atom via the -fix property/atom command. When that command +fix property/atom command. When that command is used specific names are given to each attribute which are what is -specified as the “name” portion of i_name or d_name.

    -

    Output info:

    -

    This compute calculates a per-atom vector or per-atom array depending +specified as the "name" portion of i_name or d_name. +

    +

    Output info: +

    +

    This compute calculates a per-atom vector or per-atom array depending on the number of input values. If a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses -per-atom values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector or array values will be in whatever units the +per-atom values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector or array values will be in whatever units the corresponding attribute is in, e.g. velocity units for vx, charge -units for q, etc.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +units for q, etc. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump custom, compute reduce, fix +ave/atom, fix ave/spatial, +fix property/atom +

    +

    Default: none +

    + diff --git a/doc/compute_property_chunk.html b/doc/compute_property_chunk.html index b1ed2e54f8..cf4cc03019 100644 --- a/doc/compute_property_chunk.html +++ b/doc/compute_property_chunk.html @@ -1,291 +1,127 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute property/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute property/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID property/chunk chunkID input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • property/chunk = style name of this compute command
    • -
    • input = one or more attributes
    • -
    -
    -attributes = count, id, coord1, coord2, coord3
    -    count = # of atoms in chunk
    -    id = original chunk IDs before compression by compute chunk/atom
    -    coord123 = coordinates for spatial bins calculated by compute chunk/atom
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all property/chunk count
    -compute 1 all property/chunk ID coord1
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that stores the specified attributes of chunks of -atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute property/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID property/chunk chunkID input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • property/chunk = style name of this compute command + +
    • input = one or more attributes + +
        attributes = count, id, coord1, coord2, coord3
      +    count = # of atoms in chunk 
      +    id = original chunk IDs before compression by compute chunk/atom
      +    coord123 = coordinates for spatial bins calculated by compute chunk/atom 
      +
      + +
    +

    Examples: +

    +
    compute 1 all property/chunk count
    +compute 1 all property/chunk ID coord1 
    +
    +

    Description: +

    +

    Define a computation that stores the specified attributes of chunks of +atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates and stores the specified attributes of chunks -as global data so they can be accessed by other output commands and used in conjunction with -other commands that generate per-chunk data, such as compute com/chunk or compute msd/chunk.

    -

    Note that only atoms in the specified group contribute to the -calculation of the count attribute. The compute chunk/atom command defines its own group; +a system. +

    +

    This compute calculates and stores the specified attributes of chunks +as global data so they can be accessed by other output +commands and used in conjunction with +other commands that generate per-chunk data, such as compute +com/chunk or compute +msd/chunk. +

    +

    Note that only atoms in the specified group contribute to the +calculation of the count attribute. The compute +chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the “all” group for +contribute to this calculation. You can specify the "all" group for this command if you simply want to include atoms with non-zero chunk -IDs.

    -

    The count attribute is the number of atoms in the chunk.

    -

    The id attribute stores the original chunk ID for each chunk. It -can only be used if the compress keyword was set to yes for the -compute chunk/atom command referenced by +IDs. +

    +

    The count attribute is the number of atoms in the chunk. +

    +

    The id attribute stores the original chunk ID for each chunk. It +can only be used if the compress keyword was set to yes for the +compute chunk/atom command referenced by chunkID. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original -chunk ID (molecule ID in this case) of 415. The id attribute will -then be 415 for the 3rd chunk.

    -

    The coordN attributes can only be used if a binning style was used -in the compute chunk/atom command referenced -by chunkID. For bin/1d, bin/2d, and bin/3d styles the attribute +chunk ID (molecule ID in this case) of 415. The id attribute will +then be 415 for the 3rd chunk. +

    +

    The coordN attributes can only be used if a binning style was used +in the compute chunk/atom command referenced +by chunkID. For bin/1d, bin/2d, and bin/3d styles the attribute is the center point of the bin in the corresponding dimension. Style -bin/1d only defines a coord1 attribute. Style bin/2d adds a -coord2 attribute. Style bin/3d adds a coord3 attribute.

    -

    Note that if the value of the units keyword used in the compute chunk/atom command is box or lattice, the -coordN attributes will be in distance units. If the -value of the units keyword is reduced, the coordN attributes -will be in unitless reduced units (0-1).

    -

    The simplest way to output the results of the compute property/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +bin/1d only defines a coord1 attribute.  Style bin/2d adds a
    +coord2 attribute.  Style bin/3d adds a coord3 attribute.
    +

    +

    Note that if the value of the units keyword used in the compute +chunk/atom command is box or lattice, the +coordN attributes will be in distance units. If the +value of the units keyword is reduced, the coordN attributes +will be in unitless reduced units (0-1). +

    +

    The simplest way to output the results of the compute property/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk1 all property/chunk cc1
     compute myChunk2 all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2 file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global vector or global array depending on +fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2 file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global vector or global array depending on the number of input values. The length of the vector or number of -rows in the array is the number of chunks.

    -

    This compute calculates a global vector or global array where the -number of rows = the number of chunks Nchunk as calculated by the -specified compute chunk/atom command. If a +rows in the array is the number of chunks. +

    +

    This compute calculates a global vector or global array where the +number of rows = the number of chunks Nchunk as calculated by the +specified compute chunk/atom command. If a single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as -input. See this section for an overview -of LAMMPS output options.

    -

    The vector or array values are “intensive”. The values will be -unitless or in the units discussed above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +input. See this section for an overview +of LAMMPS output options. +

    +

    The vector or array values are "intensive". The values will be +unitless or in the units discussed above. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix ave/chunk +

    +

    Default: none +

    + diff --git a/doc/compute_property_local.html b/doc/compute_property_local.html index 6880ac42ce..440fa21fe2 100644 --- a/doc/compute_property_local.html +++ b/doc/compute_property_local.html @@ -1,150 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute property/local command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute property/local command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID property/local input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • property/local = style name of this compute command
    • -
    • input = one or more attributes
    • -
    -
    possible attributes = natom1 natom2 ntype1 ntype2
    -                     patom1 patom2 ptype1 ptype2
    +
    +
    +
    + +

    compute property/local command +

    +

    Syntax: +

    +
    compute ID group-ID property/local input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • property/local = style name of this compute command + +
    • input = one or more attributes + +
        possible attributes = natom1 natom2 ntype1 ntype2
      +		        patom1 patom2 ptype1 ptype2
                               batom1 batom2 btype
                               aatom1 aatom2 aatom3 atype
                               datom1 datom2 datom3 dtype
      -                        iatom1 iatom2 iatom3 itype
      -
    -
    -
    natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
    +                        iatom1 iatom2 iatom3 itype 
    +
    +
         natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
          ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
          patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff)
          ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff)
    @@ -155,167 +39,113 @@
          datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral
          dtype = dihedral type of each dihedral
          iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper
    -     itype = improper type of each improper
    -
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all property/local btype batom1 batom2
    -compute 1 all property/local atype aatom2
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that stores the specified attributes as local -data so it can be accessed by other output commands. If the input attributes refer + itype = improper type of each improper + + + +

    Examples: +

    +
    compute 1 all property/local btype batom1 batom2
    +compute 1 all property/local atype aatom2 
    +
    +

    Description: +

    +

    Define a computation that stores the specified attributes as local +data so it can be accessed by other output +commands. If the input attributes refer to bond information, then the number of datums generated, aggregated across all processors, equals the number of bonds in the system. -Ditto for pairs, angles, etc.

    -

    If multiple input attributes are specified then they must all generate +Ditto for pairs, angles, etc. +

    +

    If multiple input attributes are specified then they must all generate the same amount of information, so that the resulting local array has the same number of rows for each column. This means that only bond attributes can be specified together, or angle attributes, etc. Bond and angle attributes can not be mixed in the same compute -property/local command.

    -

    If the inputs are pair attributes, the local data is generated by +property/local command. +

    +

    If the inputs are pair attributes, the local data is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair -are in the specified compute group. For natom1 and natom2, all +are in the specified compute group. For natom1 and natom2, all atom pairs in the neighbor list are considered (out to the neighbor -cutoff = force cutoff + neighbor skin). For patom1 -and patom2, the distance between the atoms must be less than the +cutoff = force cutoff + neighbor skin). For patom1 +and patom2, the distance between the atoms must be less than the force cutoff distance for that pair to be included, as defined by the -pair_style and pair_coeff -commands.

    -

    If the inputs are bond, angle, etc attributes, the local data is +pair_style and pair_coeff +commands. +

    +

    If the inputs are bond, angle, etc attributes, the local data is generated by looping over all the atoms owned on a processor and extracting bond, angle, etc info. For bonds, info about an individual bond will only be included if both atoms in the bond are in the -specified compute group. Likewise for angles, dihedrals, etc.

    -

    For bonds and angles, a bonds/angles that have been broken by setting +specified compute group. Likewise for angles, dihedrals, etc. +

    +

    For bonds and angles, a bonds/angles that have been broken by setting their bond/angle type to 0 will not be included. Bonds/angles that -have been turned off (see the fix shake or -delete_bonds commands) by setting their bond/angle +have been turned off (see the fix shake or +delete_bonds commands) by setting their bond/angle type negative are written into the file. This is consistent with the -compute bond/local and compute angle/local commands

    -

    Note that as atoms migrate from processor to processor, there will be +compute bond/local and compute +angle/local commands +

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, output from the compute bond/local command can be combined with bond -atom indices from this command and output by the dump local command in a consistent way.

    -

    The natom1 and natom2, or patom1 and patom2 attributes refer +For example, output from the compute +bond/local command can be combined with bond +atom indices from this command and output by the dump +local command in a consistent way. +

    +

    The natom1 and natom2, or patom1 and patom2 attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed -by the pair_style command. The ntype1 and -ntype2, or ptype1 and ptype2 attributes refer to the atom types -of the 2 atoms in each pairwise interaction.

    -
    -

    Warning

    -

    For pairs, if two atoms I,J are involved in 1-2, 1-3, +by the pair_style command. The ntype1 and +ntype2, or ptype1 and ptype2 attributes refer to the atom types +of the 2 atoms in each pairwise interaction. +

    +

    IMPORTANT NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this may be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise -interactions are set by the special_bonds -command.

    -
    -

    The batom1 and batom2 attributes refer to the atom IDs of the 2 -atoms in each bond. The btype attribute refers to +interactions are set by the special_bonds +command. +

    +

    The batom1 and batom2 attributes refer to the atom IDs of the 2 +atoms in each bond. The btype attribute refers to the type of the bond, from 1 to Nbtypes = # of bond types. The number of bond types is defined in the data file read by the -read_data command.

    -

    The attributes that start with “a”, “d”, “i”, refer to similar values -for angles, dihedrals, and -impropers.

    -

    Output info:

    -

    This compute calculates a local vector or local array depending on the +read_data command. +

    +

    The attributes that start with "a", "d", "i", refer to similar values +for angles, dihedrals, and +impropers. +

    +

    Output info: +

    +

    This compute calculates a local vector or local array depending on the number of input values. The length of the vector or number of rows in the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector or array values will be integers that correspond to the -specified attribute.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +that uses local values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector or array values will be integers that correspond to the +specified attribute. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump local, compute reduce +

    +

    Default: none +

    + diff --git a/doc/compute_rdf.html b/doc/compute_rdf.html index 2852014ef7..c2af825cc2 100644 --- a/doc/compute_rdf.html +++ b/doc/compute_rdf.html @@ -1,329 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute rdf command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute rdf command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • rdf = style name of this compute command
    • -
    • Nbin = number of RDF bins
    • -
    • itypeN = central atom type for Nth RDF histogram (see asterisk form below)
    • -
    • jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below)
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all rdf 100
    +
    +
    +
    + +

    compute rdf command +

    +

    Syntax: +

    +
    compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • rdf = style name of this compute command +
    • Nbin = number of RDF bins +
    • itypeN = central atom type for Nth RDF histogram (see asterisk form below) +
    • jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) +
    +

    Examples: +

    +
    compute 1 all rdf 100
     compute 1 all rdf 100 1 1
     compute 1 all rdf 100 * 3
     compute 1 fluid rdf 500 1 1 1 2 2 1 2 2
    -compute 1 fluid rdf 500 1*3 2 5 *10
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the radial distribution function +compute 1 fluid rdf 500 1*3 2 5 *10 + +

    Description: +

    +

    Define a computation that calculates the radial distribution function (RDF), also called g(r), and the coordination number for a group of particles. Both are calculated in histogram form by binning pairwise -distances into Nbin bins from 0.0 to the maximum force cutoff -defined by the pair_style command. The bins are of +distances into Nbin bins from 0.0 to the maximum force cutoff +defined by the pair_style command. The bins are of uniform size in radial distance. Thus a single bin encompasses a thin -shell of distances in 3d and a thin ring of distances in 2d.

    -
    -

    Warning

    -

    If you have a bonded system, then the settings of -special_bonds command can remove pairwise +shell of distances in 3d and a thin ring of distances in 2d. +

    +

    IMPORTANT NOTE: If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the RDF. One way to get around -this, is to write a dump file, and use the rerun command +this, is to write a dump file, and use the rerun command to compute the RDF for snapshots in the dump file. The rerun script -can use a special_bonds command that includes all -pairs in the neighbor list.

    -
    -

    The itypeN and jtypeN arguments are optional. These arguments +can use a special_bonds command that includes all +pairs in the neighbor list. +

    +

    The itypeN and jtypeN arguments are optional. These arguments must come in pairs. If no pairs are listed, then a single histogram is computed for g(r) between all atom types. If one or more pairs are listed, then a separate histogram is generated for each -itype,*jtype* pair.

    -

    The itypeN and jtypeN settings can be specified in one of two +itype,jtype pair. +

    +

    The itypeN and jtypeN settings can be specified in one of two ways. An explicit numeric value can be used, as in the 4th example above. Or a wild-card asterisk can be used to specify a range of atom -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive).

    -

    If both itypeN and jtypeN are single values, as in the 4th example -above, this means that a g(r) is computed where atoms of type itypeN -are the central atom, and atoms of type jtypeN are the distribution -atom. If either itypeN and jtypeN represent a range of values via +(inclusive). +

    +

    If both itypeN and jtypeN are single values, as in the 4th example +above, this means that a g(r) is computed where atoms of type itypeN +are the central atom, and atoms of type jtypeN are the distribution +atom. If either itypeN and jtypeN represent a range of values via the wild-card asterisk, as in the 5th example above, this means that a g(r) is computed where atoms of any of the range of types represented -by itypeN are the central atom, and atoms of any of the range of -types represented by jtypeN are the distribution atom.

    -

    Pairwise distances are generated by looping over a pairwise neighbor -list, just as they would be in a pair_style +by itypeN are the central atom, and atoms of any of the range of +types represented by jtypeN are the distribution atom. +

    +

    Pairwise distances are generated by looping over a pairwise neighbor +list, just as they would be in a pair_style computation. The distance between two atoms I and J is included in a -specific histogram if the following criteria are met:

    -
      -
    • atoms I,J are both in the specified compute group
    • -
    • the distance between atoms I,J is less than the maximum force cutoff
    • -
    • the type of the I atom matches itypeN (one or a range of types)
    • -
    • the type of the J atom matches jtypeN (one or a range of types)
    • -
    -

    It is OK if a particular pairwise distance is included in more than -one individual histogram, due to the way the itypeN and jtypeN -arguments are specified.

    -

    The g(r) value for a bin is calculated from the histogram count by +specific histogram if the following criteria are met: +

    +
    • atoms I,J are both in the specified compute group +
    • the distance between atoms I,J is less than the maximum force cutoff +
    • the type of the I atom matches itypeN (one or a range of types) +
    • the type of the J atom matches jtypeN (one or a range of types) +
    +

    It is OK if a particular pairwise distance is included in more than +one individual histogram, due to the way the itypeN and jtypeN +arguments are specified. +

    +

    The g(r) value for a bin is calculated from the histogram count by scaling it by the idealized number of how many counts there would be -if atoms of type jtypeN were uniformly distributed. Thus it -involves the count of itypeN atoms, the count of jtypeN atoms, the -volume of the entire simulation box, and the volume of the bin’s thin -shell in 3d (or the area of the bin’s thin ring in 2d).

    -

    A coordination number coord(r) is also calculated, which is the number -of atoms of type jtypeN within the current bin or closer, averaged -over atoms of type itypeN. This is calculated as the area- or +if atoms of type jtypeN were uniformly distributed. Thus it +involves the count of itypeN atoms, the count of jtypeN atoms, the +volume of the entire simulation box, and the volume of the bin's thin +shell in 3d (or the area of the bin's thin ring in 2d). +

    +

    A coordination number coord(r) is also calculated, which is the number +of atoms of type jtypeN within the current bin or closer, averaged +over atoms of type itypeN. This is calculated as the area- or volume-weighted sum of g(r) values over all bins up to and including the current bin, multiplied by the global average volume density of -atoms of type jtypeN.

    -

    The simplest way to output the results of the compute rdf calculation -to a file is to use the fix ave/time command, for -example:

    -
    compute myRDF all rdf 50
    -fix 1 all ave/time 100 1 100 c_myRDF file tmp.rdf mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array with the number of rows = -Nbins, and the number of columns = 1 + 2*Npairs, where Npairs is the +atoms of type jtypeN. +

    +

    The simplest way to output the results of the compute rdf calculation +to a file is to use the fix ave/time command, for +example: +

    +
    compute myRDF all rdf 50
    +fix 1 all ave/time 100 1 100 c_myRDF file tmp.rdf mode vector 
    +
    +

    Output info: +

    +

    This compute calculates a global array with the number of rows = +Nbins, and the number of columns = 1 + 2*Npairs, where Npairs is the number of I,J pairings specified. The first column has the bin coordinate (center of the bin), Each successive set of 2 columns has -the g(r) and coord(r) values for a specific set of itypeN versus -jtypeN interactions, as described above. These values can be used +the g(r) and coord(r) values for a specific set of itypeN versus +jtypeN interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options.

    -

    The array values calculated by this compute are all “intensive”.

    -

    The first column of array values will be in distance -units. The g(r) columns of array values are normalized -numbers >= 0.0. The coordination number columns of array values are -also numbers >= 0.0.

    -
    -
    -

    Restrictions¶

    -

    The RDF is not computed for distances longer than the force cutoff, -since processors (in parallel) don’t know about atom coordinates for +Section_howto 15 for an overview of +LAMMPS output options. +

    +

    The array values calculated by this compute are all "intensive". +

    +

    The first column of array values will be in distance +units. The g(r) columns of array values are normalized +numbers >= 0.0. The coordination number columns of array values are +also numbers >= 0.0. +

    +

    Restrictions: +

    +

    The RDF is not computed for distances longer than the force cutoff, +since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an RDF for larger -distances, you can use the rerun command to post-process +distances, you can use the rerun command to post-process a dump file. The definition of g(r) used by LAMMPS is only appropriate for characterizing atoms that are uniformly distributed throughout the simulation cell. In such cases, the coordination number is still correct and meaningful. As an example, if a large simulation cell -contains only one atom of type itypeN and one of jtypeN, then g(r) +contains only one atom of type itypeN and one of jtypeN, then g(r) will register an arbitrarily large spike at whatever distance they happen to be at, and zero everywhere else. coord(r) will show a step -change from zero to one at the location of the spike in g(r).

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +change from zero to one at the location of the spike in g(r). +

    +

    Related commands: +

    +

    fix ave/time +

    +

    Default: none +

    + diff --git a/doc/compute_reduce.html b/doc/compute_reduce.html index abe0a590e3..ce267fe4e5 100644 --- a/doc/compute_reduce.html +++ b/doc/compute_reduce.html @@ -1,201 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute reduce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute reduce command¶

    -
    -
    -

    compute reduce/region command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID style arg mode input1 input2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • style = reduce or reduce/region
    • -
    -
    -reduce arg = none
    -  reduce/region arg = region-ID
    -    region-ID = ID of region to use for choosing atoms
    -
    -
      -
    • mode = sum or min or max or ave or sumsq or avesq
    • -
    • one or more inputs can be listed
    • -
    • input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
    • -
    -
    x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    +
    +
    +
    + +

    compute reduce command +

    +

    compute reduce/region command +

    +

    Syntax: +

    +
    compute ID group-ID style arg mode input1 input2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • style = reduce or reduce/region + +
        reduce arg = none
      +  reduce/region arg = region-ID
      +    region-ID = ID of region to use for choosing atoms 
      +
      +
    • mode = sum or min or max or ave or sumsq or avesq + +
    • one or more inputs can be listed + +
    • input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + +
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = per-atom or local vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID
         f_ID = per-atom or local vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name
      -
    -
    -
      -
    • zero or more keyword/args pairs may be appended
    • -
    • keyword = replace
    • -
    -
    -replace args = vec1 vec2
    +  v_name = per-atom vector calculated by an atom-style variable with name 
    +
    +
  • zero or more keyword/args pairs may be appended + +
  • keyword = replace + +
      replace args = vec1 vec2
         vec1 = reduced value from this input vector will be replaced
    -    vec2 = replace it with vec1[N] where N is index of max/min value from vec2
    -
    -
  • -
    -

    Examples¶

    -
    compute 1 all reduce sum c_force
    +    vec2 = replace it with vec1[N] where N is index of max/min value from vec2 
    +
    + + +

    Examples: +

    +
    compute 1 all reduce sum c_force
     compute 1 all reduce/region subbox sum c_force
     compute 2 all reduce min c_press[2] f_ave v_myKE
    -compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3
    -
    -
    -
    -
    -

    Description¶

    -

    Define a calculation that “reduces” one or more vector inputs into +compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 + +

    Description: +

    +

    Define a calculation that "reduces" one or more vector inputs into scalar values, one per listed input. The inputs can be per-atom or local quantities; they cannot be global quantities. Atom attributes -are per-atom quantities, computes and fixes -may generate any of the three kinds of quantities, and atom-style variables generate per-atom quantities. See the -variable command and its special functions which can +are per-atom quantities, computes and fixes +may generate any of the three kinds of quantities, and atom-style +variables generate per-atom quantities. See the +variable command and its special functions which can perform the same operations as the compute reduce command on global -vectors.

    -

    The reduction operation is specified by the mode setting. The sum -option adds the values in the vector into a global total. The min -or max options find the minimum or maximum value across all vector -values. The ave setting adds the vector values into a global total, -then divides by the number of values in the vector. The sumsq +vectors. +

    +

    The reduction operation is specified by the mode setting. The sum +option adds the values in the vector into a global total. The min +or max options find the minimum or maximum value across all vector +values. The ave setting adds the vector values into a global total, +then divides by the number of values in the vector. The sumsq option sums the square of the values in the vector into a global -total. The avesq setting does the same as sumsq, then divdes the +total. The avesq setting does the same as sumsq, then divdes the sum of squares by the number of values. The last two options can be useful for calculating the variance of some quantity, e.g. variance = -sumsq - ave^2.

    -

    Each listed input is operated on independently. For per-atom inputs, +sumsq - ave^2. +

    +

    Each listed input is operated on independently. For per-atom inputs, the group specified with this command means only atoms within the group contribute to the result. For per-atom inputs, if the compute reduce/region command is used, the atoms must also currently be within @@ -203,159 +86,115 @@ the region. Note that an input that produces per-atom quantities may define its own group which affects the quantities it returns. For example, if a compute is used as an input which generates a per-atom vector, it will generate values of 0.0 for atoms that are not in the -group specified for that compute.

    -

    Each listed input can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an atom-style -variable.

    -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +group specified for that compute. +

    +

    Each listed input can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an atom-style +variable. +

    +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -

    If a value begins with “c_”, a compute ID must follow which has been +inputs to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. Computes can generate per-atom or local quantities. See the individual -compute doc page for details. If no bracketed integer +compute doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is used. Users can also write code for their own -compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +compute styles and add them to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. Fixes can generate per-atom -or local quantities. See the individual fix doc page for +or local quantities. See the individual fix doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute reduce references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +is used. Users can also write code for their own fix style and add +them to LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. It must be an -atom-style variable. Atom-style variables can +atom-style variable. Atom-style variables can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to -reduce.

    -
    -

    If the replace keyword is used, two indices vec1 and vec2 are +reduce. +

    +
    + +

    If the replace keyword is used, two indices vec1 and vec2 are specified, where each index ranges from 1 to the # of input values. -The replace keyword can only be used if the mode is min or max. -It works as follows. A min/max is computed as usual on the vec2 -input vector. The index N of that value within vec2 is also stored. -Then, instead of performing a min/max on the vec1 input vector, the -stored index is used to select the Nth element of the vec1 vector.

    -

    Thus, for example, if you wish to use this compute to find the bond -with maximum stretch, you can do it as follows:

    -
    compute 1 all property/local batom1 batom2
    -compute      2 all bond/local dist
    -compute      3 all reduce max c_1[1] c_1[2] c_2 replace 1 3 replace 2 3
    -thermo_style custom step temp c_3[1] c_3[2] c_3[3]
    -
    -
    -

    The first two input values in the compute reduce command are vectors -with the IDs of the 2 atoms in each bond, using the compute property/local command. The last input -value is bond distance, using the compute bond/local command. Instead of taking the +The replace keyword can only be used if the mode is min or max. +It works as follows. A min/max is computed as usual on the vec2 +input vector. The index N of that value within vec2 is also stored. +Then, instead of performing a min/max on the vec1 input vector, the +stored index is used to select the Nth element of the vec1 vector. +

    +

    Thus, for example, if you wish to use this compute to find the bond +with maximum stretch, you can do it as follows: +

    +
    compute 1 all property/local batom1 batom2
    +compute	2 all bond/local dist
    +compute	3 all reduce max c_1[1] c_1[2] c_2 replace 1 3 replace 2 3
    +thermo_style custom step temp c_3[1] c_3[2] c_3[3] 
    +
    +

    The first two input values in the compute reduce command are vectors +with the IDs of the 2 atoms in each bond, using the compute +property/local command. The last input +value is bond distance, using the compute +bond/local command. Instead of taking the max of the two atom ID vectors, which does not yield useful -information in this context, the replace keywords will extract the +information in this context, the replace keywords will extract the atom IDs for the two atoms in the bond of maximum stretch. These atom -IDs and the bond stretch will be printed with thermodynamic output.

    -
    -

    If a single input is specified this compute produces a global scalar +IDs and the bond stretch will be printed with thermodynamic output. +

    +
    + +

    If a single input is specified this compute produces a global scalar value. If multiple inputs are specified, this compute produces a global vector of values, the length of which is equal to the number of -inputs specified.

    -

    As discussed below, for the sum and sumsq modes, the value(s) -produced by this compute are all “extensive”, meaning their value +inputs specified. +

    +

    As discussed below, for the sum and sumsq modes, the value(s) +produced by this compute are all "extensive", meaning their value scales linearly with the number of atoms involved. If normalized -values are desired, this compute can be accessed by the thermo_style custom command with thermo_modify norm yes set as an option. Or it can be accessed by a -variable that divides by the appropriate atom count.

    -
    -

    Output info:

    -

    This compute calculates a global scalar if a single input value is +values are desired, this compute can be accessed by the thermo_style +custom command with thermo_modify norm +yes set as an option. Or it can be accessed by a +variable that divides by the appropriate atom count. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar if a single input value is specified or a global vector of length N where N is the number of inputs, and which can be accessed by indices 1 to N. These values can be used by any command that uses global scalar or vector values from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options.

    -

    All the scalar or vector values calculated by this compute are -“intensive”, except when the sum or sumsq modes are used on +compute as input. See Section_howto 15 +for an overview of LAMMPS output options. +

    +

    All the scalar or vector values calculated by this compute are +"intensive", except when the sum or sumsq modes are used on per-atom or local vectors, in which case the calculated values are -“extensive”.

    -

    The scalar or vector values will be in whatever units the -quantities being reduced are in.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +"extensive". +

    +

    The scalar or vector values will be in whatever units the +quantities being reduced are in. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix, variable +

    +

    Default: none +

    + diff --git a/doc/compute_saed.html b/doc/compute_saed.html index 537047bd2a..c99d3ae823 100644 --- a/doc/compute_saed.html +++ b/doc/compute_saed.html @@ -1,364 +1,191 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute saed command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute saed command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID saed lambda type1 type2 ... typeN keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • saed = style name of this compute command
    • -
    • lambda = wavelength of incident radiation (length units)
    • -
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = Kmax or Zone or dR_Ewald or c or manual or echo
    • -
    -
    -Kmax value = Maximum distance explored from reciprocal space origin
    +
    +
    +
    + +

    compute saed command +

    +

    Syntax: +

    +
    compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • saed = style name of this compute command + +
    • lambda = wavelength of incident radiation (length units) + +
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = Kmax or Zone or dR_Ewald or c or manual or echo + +
        Kmax value = Maximum distance explored from reciprocal space origin 
                        (inverse length units)
      -  Zone values = z1 z2 z3
      -    z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
      -               reciprocal space will be meshed up to Kmax
      -  dR_Ewald value = Thickness of Ewald sphere slice intercepting
      +  Zone values = z1 z2 z3
      +    z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all 
      +               reciprocal space will be meshed up to Kmax
      +  dR_Ewald value = Thickness of Ewald sphere slice intercepting 
                            reciprocal space (inverse length units)
      -  c values = c1 c2 c3
      -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
      +  c values = c1 c2 c3
      +    c1,c2,c3 = parameters to adjust the spacing of the reciprocal 
                      lattice nodes in the h, k, and l directions respectively
      -  manual = flag to use manual spacing of reciprocal lattice points
      -             based on the values of the c parameters
      -  echo = flag to provide extra output for debugging purposes
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
    -
    -
    -
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    -fix saed/vtk 1 1 1 c_2 file Ni_000.saed
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates electron diffraction intensity as -described in (Coleman) on a mesh of reciprocal lattice nodes -defined by the entire simulation domain (or manually) using simulated -radiation of wavelength lambda.

    -

    The electron diffraction intensity I at each reciprocal lattice point -is computed from the structure factor F using the equations:

    -_images/compute_saed1.jpg -_images/compute_saed2.jpg -

    Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors.

    -

    Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) by + manual = flag to use manual spacing of reciprocal lattice points + based on the values of the c parameters + echo = flag to provide extra output for debugging purposes + + + +

    Examples: +

    +
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    +compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo 
    +
    +
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    +fix saed/vtk 1 1 1 c_2 file Ni_000.saed 
    +
    +

    Description: +

    +

    Define a computation that calculates electron diffraction intensity as +described in (Coleman) on a mesh of reciprocal lattice nodes +defined by the entire simulation domain (or manually) using simulated +radiation of wavelength lambda. +

    +

    The electron diffraction intensity I at each reciprocal lattice point +is computed from the structure factor F using the equations: +

    +
    +
    +
    +
    +

    Here, K is the location of the reciprocal lattice node, rj is the +position of each atom, fj are atomic scattering factors. +

    +

    Diffraction intensities are calculated on a three-dimensional mesh of +reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below.

    - -

    For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing *c**inv(A) along each reciprocal lattice +shown in the 2D diagram below. +

    +
    +
    +

    For a mesh defined by the simulation domain, a rectilinear grid is +constructed with spacing c*inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic -boundary.

    -

    If the manual flag is included, the mesh of reciprocal lattice nodes -will defined using the c values for the spacing along each reciprocal -lattice axis. Note that manual mapping of the reciprocal space mesh is -good for comparing diffraction results from multiple simulations; however -it can reduce the likelihood that Bragg reflections will be satisfied -unless small spacing parameters <0.05 Angstrom^(-1) are implemented. -Meshes with manual spacing do not require a periodic boundary.

    -

    The limits of the reciprocal lattice mesh are determined by the use of -the Kmax, Zone, and dR_Ewald parameters. The rectilinear mesh -created about the origin of reciprocal space is terminated at the -boundary of a sphere of radius Kmax centered at the origin. If -Zone parameters z1=z2=z3=0 are used, diffraction intensities are -computed throughout the entire spherical volume - note this can greatly -increase the cost of computation. Otherwise, Zone parameters will -denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an -intersecting Ewald sphere. Diffraction intensities will only be -computed at the intersection of the reciprocal lattice mesh and a -dR_Ewald thick surface of the Ewald sphere. See the example 3D -intestiety data and the intersection of a [010] zone axis in the below image.

    - -

    The atomic scattering factors, fj, accounts for the reduction in -diffraction intensity due to Compton scattering. Compute saed uses -analytical approximations of the atomic scattering factors that vary -for each atom type (type1 type2 ... typeN) and angle of diffraction. +boundary. +

    +

    If the manual flag is included, the mesh of reciprocal lattice nodes +will defined using the c values for the spacing along each reciprocal +lattice axis. Note that manual mapping of the reciprocal space mesh is +good for comparing diffraction results from multiple simulations; however +it can reduce the likelihood that Bragg reflections will be satisfied +unless small spacing parameters <0.05 Angstrom^(-1) are implemented. +Meshes with manual spacing do not require a periodic boundary. +

    +

    The limits of the reciprocal lattice mesh are determined by the use of +the Kmax, Zone, and dR_Ewald parameters. The rectilinear mesh +created about the origin of reciprocal space is terminated at the +boundary of a sphere of radius Kmax centered at the origin. If +Zone parameters z1=z2=z3=0 are used, diffraction intensities are +computed throughout the entire spherical volume - note this can greatly +increase the cost of computation. Otherwise, Zone parameters will +denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an +intersecting Ewald sphere. Diffraction intensities will only be +computed at the intersection of the reciprocal lattice mesh and a +dR_Ewald thick surface of the Ewald sphere. See the example 3D +intestiety data and the intersection of a [010] zone axis in the below image. +

    +
    +
    +

    The atomic scattering factors, fj, accounts for the reduction in +diffraction intensity due to Compton scattering. Compute saed uses +analytical approximations of the atomic scattering factors that vary +for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula -(Brown):

    -_images/compute_saed3.jpg -

    Coefficients parameterized by (Fox) are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute saed are:

    -
    -
    H: He: Li: Be: B:
    -
    -
    C: N: O: F: Ne:
    -
    -
    Na: Mg: Al: Si: P:
    -
    S: Cl: Ar: K: Ca:
    -
    -

    Sc: Ti: V: Cr: Mn: -Fe: Co: Ni: Cu: Zn: -Ga: Ge: As: Se: Br: -Kr: Rb: Sr: Y: Zr: -Nb: Mo: Tc: Ru: Rh: -Pd: Ag: Cd: In: Sn: -Sb: Te: I: Xe: Cs: -Ba: La: Ce: Pr: Nd: -Pm: Sm: Eu: Gd: Tb: -Dy: Ho: Er: Tm: Yb: -Lu: Hf: Ta: W: Re: -Os: Ir: Pt: Au: Hg: -Tl: Pb: Bi: Po: At: -Rn: Fr: Ra: Ac: Th: -Pa: U: Np: Pu: Am: -Cm: Bk: Cf:tb(c=5,s=:)

    -
    -
    -

    If the echo keyword is specified, compute saed will provide extra -reporting information to the screen.

    -

    Output info:

    -

    This compute calculates a global vector. The length of the vector is -the number of reciprocal lattice nodes that are explored by the mesh. -The entries of the global vector are the computed diffraction -intensities as described above.

    -

    The vector can be accessed by any command that uses global values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    All array values calculated by this compute are “intensive”.

    -
    -
    -

    Restrictions¶

    -

    The compute_saed command does not work for triclinic cells.

    -
    - -
    -

    Default¶

    -

    The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = -0.01.

    -
    -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013).

    -

    (Brown) Brown et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 554-95 (2004).

    -

    (Fox) Fox, O’Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 -(1989).

    -
    -
    +(Brown): +

    +
    +
    +

    Coefficients parameterized by (Fox) are assigned for each +atom type designating the chemical symbol and charge of each atom +type. Valid chemical symbols for compute saed are: +

    +

    H: He: Li: Be: B: + C: N: O: F: Ne: + Na: Mg: Al: Si: P: + S: Cl: Ar: K: Ca: + Sc: Ti: V: Cr: Mn: + Fe: Co: Ni: Cu: Zn: + Ga: Ge: As: Se: Br: + Kr: Rb: Sr: Y: Zr: + Nb: Mo: Tc: Ru: Rh: + Pd: Ag: Cd: In: Sn: + Sb: Te: I: Xe: Cs: + Ba: La: Ce: Pr: Nd: + Pm: Sm: Eu: Gd: Tb: + Dy: Ho: Er: Tm: Yb: + Lu: Hf: Ta: W: Re: + Os: Ir: Pt: Au: Hg: + Tl: Pb: Bi: Po: At: + Rn: Fr: Ra: Ac: Th: + Pa: U: Np: Pu: Am: + Cm: Bk: Cf:tb(c=5,s=:) +

    +

    If the echo keyword is specified, compute saed will provide extra +reporting information to the screen. +

    +

    Output info: +

    +

    This compute calculates a global vector. The length of the vector is +the number of reciprocal lattice nodes that are explored by the mesh. +The entries of the global vector are the computed diffraction +intensities as described above. +

    +

    The vector can be accessed by any command that uses global values +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    All array values calculated by this compute are "intensive". +

    +

    Restrictions: +

    +

    The compute_saed command does not work for triclinic cells. +

    +

    Related commands: +

    +

    fix saed_vtk, compute xrd +

    +

    Default: +

    +

    The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = +0.01. +

    +
    + -
    -
    -
    - +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013). +

    + -
    +

    (Brown) Brown et al. International Tables for Crystallography +Volume C: Mathematical and Chemical Tables, 554-95 (2004). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Fox) Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 +(1989). +

    + diff --git a/doc/compute_slice.html b/doc/compute_slice.html index 47f8fe5717..e4f82a1652 100644 --- a/doc/compute_slice.html +++ b/doc/compute_slice.html @@ -1,290 +1,124 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute slice command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute slice command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID slice Nstart Nstop Nskip input1 input2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • slice = style name of this compute command
    • -
    • Nstart = starting index within input vector(s)
    • -
    • Nstop = stopping index within input vector(s)
    • -
    • Nskip = extract every Nskip elements from input vector(s)
    • -
    • input = c_ID, c_ID[N], f_ID, f_ID[N]
    • -
    -
    c_ID = global vector calculated by a compute with ID
    +
    +
    +
    + +

    compute slice command +

    +

    Syntax: +

    +
    compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • slice = style name of this compute command + +
    • Nstart = starting index within input vector(s) + +
    • Nstop = stopping index within input vector(s) + +
    • Nskip = extract every Nskip elements from input vector(s) + +
    • input = c_ID, c_ID[N], f_ID, f_ID[N] + +
        c_ID = global vector calculated by a compute with ID
         c_ID[I] = Ith column of global array calculated by a compute with ID
         f_ID = global vector calculated by a fix with ID
      -  f_ID[I] = Ith column of global array calculated by a fix with ID
      -
    -
    -
    -
    -

    Examples¶

    -
    compute 1 all slice 1 100 10 c_msdmol[4]
    -compute 1 all slice 301 400 1 c_msdmol[4]
    -
    -
    -
    -
    -

    Description¶

    -

    Define a calculation that “slices” one or more vector inputs into + f_ID[I] = Ith column of global array calculated by a fix with ID + + + +

    Examples: +

    +
    compute 1 all slice 1 100 10 c_msdmol[4]
    +compute 1 all slice 301 400 1 c_msdmol[4] 
    +
    +

    Description: +

    +

    Define a calculation that "slices" one or more vector inputs into smaller vectors, one per listed input. The inputs can be global quantities; they cannot be per-atom or local quantities. -Computes and fixes may generate any of the -three kinds of quantities. Variables do not generate -global vectors. The group specified with this command is ignored.

    -

    The values extracted from the input vector(s) are determined by the -Nstart, Nstop, and Nskip parameters. The elements of an input +Computes and fixes may generate any of the +three kinds of quantities. Variables do not generate +global vectors. The group specified with this command is ignored. +

    +

    The values extracted from the input vector(s) are determined by the +Nstart, Nstop, and Nskip parameters. The elements of an input vector of length N are indexed from 1 to N. Starting at element -Nstart, every Mth element is extracted, where M = Nskip, until -element Nstop is reached. The extracted quantities are stored as a -vector, which is typically shorter than the input vector.

    -

    Each listed input is operated on independently to produce one output +Nstart, every Mth element is extracted, where M = Nskip, until +element Nstop is reached. The extracted quantities are stored as a +vector, which is typically shorter than the input vector. +

    +

    Each listed input is operated on independently to produce one output vector. Each listed input must be a global vector or column of a -global array calculated by another compute or -fix.

    -

    If an input value begins with “c_”, a compute ID must follow which has +global array calculated by another compute or +fix. +

    +

    If an input value begins with "c_", a compute ID must follow which has been previously defined in the input script and which generates a -global vector or array. See the individual compute doc +global vector or array. See the individual compute doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is -used. Users can also write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +used. Users can also write code for their own compute styles and add +them to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script and which generates a global -vector or array. See the individual fix doc page for +vector or array. See the individual fix doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute slice references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and add them to LAMMPS.

    -

    If a single input is specified this compute produces a global vector, +is used. Users can also write code for their own fix style and add +them to LAMMPS. +

    +

    If a single input is specified this compute produces a global vector, even if the length of the vector is 1. If multiple inputs are specified, then a global array of values is produced, with the number -of columns equal to the number of inputs specified.

    -
    -

    Output info:

    -

    This compute calculates a global vector if a single input value is +of columns equal to the number of inputs specified. +

    +
    + +

    Output info: +

    +

    This compute calculates a global vector if a single input value is specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or -array values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector or array values calculated by this compute are simply +array values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector or array values calculated by this compute are simply copies of values generated by computes or fixes that are input vectors to this compute. If there is a single input vector of intensive and/or extensive values, then each value in the vector of values -calculated by this compute will be “intensive” or “extensive”, +calculated by this compute will be "intensive" or "extensive", depending on the corresponding input value. If there are multiple input vectors, and all the values in them are intensive, then the -array values calculated by this compute are “intensive”. If there are +array values calculated by this compute are "intensive". If there are multiple input vectors, and any value in them is extensive, then the -array values calculated by this compute are “extensive”.

    -

    The vector or array values will be in whatever units the -input quantities are in.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +array values calculated by this compute are "extensive". +

    +

    The vector or array values will be in whatever units the +input quantities are in. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix, compute +reduce +

    +

    Default: none +

    + diff --git a/doc/compute_sna_atom.html b/doc/compute_sna_atom.html index ca1f38bb45..9e9b25d1d0 100644 --- a/doc/compute_sna_atom.html +++ b/doc/compute_sna_atom.html @@ -1,220 +1,120 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute sna/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute sna/atom command¶

    -
    -
    -

    compute snad/atom command¶

    -
    -
    -

    compute snav/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID sna/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    +
    +
    +
    + +

    compute sna/atom command +

    +

    compute snad/atom command +

    +

    compute snav/atom command +

    +

    Syntax: +

    +
    compute ID group-ID sna/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
     compute ID group-ID snad/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    -compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • sna/atom = style name of this compute command
    • -
    • rcutfac = scale factor applied to all cutoff radii (positive real)
    • -
    • rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1)
    • -
    • twojmax = band limit for bispectrum components (non-negative integer)
    • -
    • R_1, R_2,... = list of cutoff radii, one for each type (distance units)
    • -
    • w_1, w_2,... = list of neighbor weights, one for each type
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = diagonal or rmin0 or switchflag
    • -
    -
    -diagonal value = 0 or 1 or 2 or 3
    -     0 = all j1, j2, j <= twojmax, j2 <= j1
    -     1 = subset satisfying j1 == j2
    -     2 = subset satisfying j1 == j2 == j3
    -     3 = subset satisfying j2 <= j1 <= j
    -  rmin0 value = parameter in distance to angle conversion (distance units)
    -  switchflag value = 0 or 1
    -     0 = do not use switching function
    -     1 = use switching function
    -
    -
    -
    -

    Examples¶

    -
    compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 diagonal 3 rmin0 0.0
    +compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • sna/atom = style name of this compute command + +
    • rcutfac = scale factor applied to all cutoff radii (positive real) + +
    • rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1) + +
    • twojmax = band limit for bispectrum components (non-negative integer) + +
    • R_1, R_2,... = list of cutoff radii, one for each type (distance units) + +
    • w_1, w_2,... = list of neighbor weights, one for each type + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = diagonal or rmin0 or switchflag + +
        diagonal value = 0 or 1 or 2 or 3
      +     0 = all j1, j2, j <= twojmax, j2 <= j1
      +     1 = subset satisfying j1 == j2
      +     2 = subset satisfying j1 == j2 == j3
      +     3 = subset satisfying j2 <= j1 <= j
      +  rmin0 value = parameter in distance to angle conversion (distance units)
      +  switchflag value = 0 or 1 
      +     0 = do not use switching function
      +     1 = use switching function 
      +
      + +
    +

    Examples: +

    +
    compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 diagonal 3 rmin0 0.0
     compute db all sna/atom 1.4 0.95 6 2.0 1.0
    -compute vb all sna/atom 1.4 0.95 6 2.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates a set of bispectrum components -for each atom in a group.

    -

    Bispectrum components of an atom are order parameters characterizing +compute vb all sna/atom 1.4 0.95 6 2.0 1.0 + +

    Description: +

    +

    Define a computation that calculates a set of bispectrum components +for each atom in a group. +

    +

    Bispectrum components of an atom are order parameters characterizing the radial and angular distribution of neighbor atoms. The detailed mathematical definition is given in the paper by Thompson et -al. (Thompson)

    -

    The position of a neighbor atom i’ relative to a central atom i is -a point within the 3D ball of radius R_ii’ = rcutfac*(R_i + R_i’)

    -

    Bartok et al. (Bartok), proposed mapping this 3D ball +al. (Thompson) +

    +

    The position of a neighbor atom i' relative to a central atom i is +a point within the 3D ball of radius R_ii' = rcutfac*(R_i + R_i') +

    +

    Bartok et al. (Bartok), proposed mapping this 3D ball onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance r within R_ii’ is mapped on to a third -polar angle theta0 defined by,

    -_images/compute_sna_atom1.jpg -

    In this way, all possible neighbor positions are mapped on to a subset -of the 3-sphere. Points south of the latitude theta0max=rfac0*Pi -are excluded.

    -

    The natural basis for functions on the 3-sphere is formed by the 4D -hyperspherical harmonics U^j_m,m’(theta, phi, theta0). These -functions are better known as D^j_m,m’, the elements of the Wigner -D-matrices (Meremianin, -Varshalovich).

    -

    The density of neighbors on the 3-sphere can be written as a sum of +space. The radial distance r within R_ii' is mapped on to a third +polar angle theta0 defined by, +

    +
    +
    +

    In this way, all possible neighbor positions are mapped on to a subset +of the 3-sphere. Points south of the latitude theta0max=rfac0*Pi +are excluded. +

    +

    The natural basis for functions on the 3-sphere is formed by the 4D +hyperspherical harmonics U^j_m,m'(theta, phi, theta0). These +functions are better known as D^j_m,m', the elements of the Wigner +D-matrices (Meremianin, +Varshalovich). +

    +

    The density of neighbors on the 3-sphere can be written as a sum of Dirac-delta functions, one for each neighbor, weighted by species and radial distance. Expanding this density function as a generalized Fourier series in the basis functions, we can write each Fourier -coefficient as

    -_images/compute_sna_atom2.jpg -

    The w_i’ neighbor weights are dimensionless numbers that are chosen +coefficient as +

    +
    +
    +

    The w_i' neighbor weights are dimensionless numbers that are chosen to distinguish atoms of different types, while the central atom is -arbitrarily assigned a unit weight. The function fc(r) ensures that +arbitrarily assigned a unit weight. The function fc(r) ensures that the contribution of each neighbor atom goes smoothly to zero at -R_ii’:

    -_images/compute_sna_atom4.jpg -

    The expansion coefficients u^j_m,m’ are complex-valued and they are +R_ii': +

    +
    +
    +

    The expansion coefficients u^j_m,m' are complex-valued and they are not directly useful as descriptors, because they are not invariant under rotation of the polar coordinate frame. However, the following scalar triple products of expansion coefficients can be shown to be -real-valued and invariant under rotation (Bartok).

    -_images/compute_sna_atom3.jpg -

    The constants H^jmm’_j1m1m1’_j2m2m2’ are coupling coefficients, +real-valued and invariant under rotation (Bartok). +

    +
    +
    +

    The constants H^jmm'_j1m1m1'_j2m2m2' are coupling coefficients, analogous to Clebsch-Gordan coefficients for rotations on the 2-sphere. These invariants are the components of the bispectrum and -these are the quantities calculated by the compute sna/atom. They +these are the quantities calculated by the compute sna/atom. They characterize the strength of density correlations at three points on the 3-sphere. The j2=0 subset form the power spectrum, which characterizes the correlations of two points. The lowest-order @@ -222,175 +122,141 @@ components describe the coarsest features of the density function, while higher-order components reflect finer detail. Note that the central atom is included in the expansion, so three point-correlations can be either due to three neighbors, or two neighbors and the central -atom.

    -

    Compute snad/atom calculates the derivative of the bispectrum components -summed separately for each atom type:

    -_images/compute_sna_atom5.jpg -

    The sum is over all atoms i’ of atom type I. For each atom i, +atom. +

    +

    Compute snad/atom calculates the derivative of the bispectrum components +summed separately for each atom type: +

    +
    +
    +

    The sum is over all atoms i' of atom type I. For each atom i, this compute evaluates the above expression for each direction, each atom type, and each bispectrum component. See section below on output -for a detailed explanation.

    -

    Compute snav/atom calculates the virial contribution due to the -derivatives:

    -_images/compute_sna_atom6.jpg -

    Again, the sum is over all atoms i’ of atom type I. For each atom -i, this compute evaluates the above expression for each of the six +for a detailed explanation. +

    +

    Compute snav/atom calculates the virial contribution due to the +derivatives: +

    +
    +
    +

    Again, the sum is over all atoms i' of atom type I. For each atom +i, this compute evaluates the above expression for each of the six virial components, each atom type, and each bispectrum component. See -section below on output for a detailed explanation.

    -

    The value of all bispectrum components will be zero for atoms not in +section below on output for a detailed explanation. +

    +

    The value of all bispectrum components will be zero for atoms not in the group. Neighbor atoms not in the group do not contribute to the -bispectrum of atoms in the group.

    -

    The neighbor list needed to compute this quantity is constructed each +bispectrum of atoms in the group. +

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently.

    -

    The argument rcutfac is a scale factor that controls the ratio of -atomic radius to radial cutoff distance.

    -

    The argument rfac0 and the optional keyword rmin0 define the -linear mapping from radial distance to polar angle theta0 on the -3-sphere.

    -

    The argument twojmax and the keyword diagonal define which +too frequently. +

    +

    The argument rcutfac is a scale factor that controls the ratio of +atomic radius to radial cutoff distance. +

    +

    The argument rfac0 and the optional keyword rmin0 define the +linear mapping from radial distance to polar angle theta0 on the +3-sphere. +

    +

    The argument twojmax and the keyword diagonal define which bispectrum components are generated. See section below on output for a detailed explanation of the number of bispectrum components and the -ordered in which they are listed

    -

    The keyword switchflag can be used to turn off the switching -function.

    -
    -

    Warning

    -

    If you have a bonded system, then the settings of -special_bonds command can remove pairwise +ordered in which they are listed +

    +

    The keyword switchflag can be used to turn off the switching +function. +

    +

    IMPORTANT NOTE: If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the calculation. One way to get -around this, is to write a dump file, and use the rerun +around this, is to write a dump file, and use the rerun command to compute the bispectrum components for snapshots in the dump -file. The rerun script can use a special_bonds -command that includes all pairs in the neighbor list.

    -
    -

    ;line

    -

    Output info:

    -

    Compute sna/atom calculates a per-atom array, each column +file. The rerun script can use a special_bonds +command that includes all pairs in the neighbor list. +

    +

    ;line +

    +

    Output info: +

    +

    Compute sna/atom calculates a per-atom array, each column corresponding to a particular bispectrum component. The total number of columns and the identities of the bispectrum component contained in -each column depend on the values of twojmax and diagonal, as -described by the following piece of python code:

    -
    for j1 in range(0,twojmax+1):
    -    if(diagonal==2):
    +each column depend on the values of twojmax and diagonal, as
    +described by the following piece of python code:
    +

    +
    for j1 in range(0,twojmax+1):
    +    if(diagonal==2): 
             print j1/2,j1/2,j1/2
         elif(diagonal==1):
    -        for j in range(0,min(twojmax,2*j1)+1,2):
    +        for j in range(0,min(twojmax,2*j1)+1,2): 
                 print j1/2,j1/2,j/2
         elif(diagonal==0):
             for j2 in range(0,j1+1):
    -            for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
    +            for j in range(j1-j2,min(twojmax,j1+j2)+1,2): 
                     print j1/2,j2/2,j/2
         elif(diagonal==3):
             for j2 in range(0,j1+1):
    -            for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
    -                if (j>=j1): print j1/2,j2/2,j/2
    -
    -
    -

    Compute snad/atom evaluates a per-atom array. The columns are -arranged into ntypes blocks, listed in order of atom type I. Each -block contains three sub-blocks corresponding to the x, y, and z + for j in range(j1-j2,min(twojmax,j1+j2)+1,2): + if (j>=j1): print j1/2,j2/2,j/2 + +

    Compute snad/atom evaluates a per-atom array. The columns are +arranged into ntypes blocks, listed in order of atom type I. Each +block contains three sub-blocks corresponding to the x, y, and z components of the atom position. Each of these sub-blocks contains one column for each bispectrum component, the same as for compute -sna/atom

    -

    Compute snav/atom evaluates a per-atom array. The columns are -arranged into ntypes blocks, listed in order of atom type I. Each -block contains six sub-blocks corresponding to the xx, yy, zz, -yz, xz, and xy components of the virial tensor in Voigt +sna/atom +

    +

    Compute snav/atom evaluates a per-atom array. The columns are +arranged into ntypes blocks, listed in order of atom type I. Each +block contains six sub-blocks corresponding to the xx, yy, zz, +yz, xz, and xy components of the virial tensor in Voigt notation. Each of these sub-blocks contains one column for each -bispectrum component, the same as for compute sna/atom

    -

    These values can be accessed by any command that uses per-atom values -from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -
    -
    -

    Restrictions¶

    -

    These computes are part of the SNAP package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The optional keyword defaults are diagonal = 0, rmin0 = 0, -switchflag = 1.

    -
    -

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint -available at arXiv:1409.3880

    -

    (Bartok) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).

    -

    (Meremianin) Meremianin, J. Phys. A, 39, 3099 (2006).

    -

    (Varshalovich) Varshalovich, Moskalev, Khersonskii, Quantum Theory -of Angular Momentum, World Scientific, Singapore (1987).

    -
    -
    +bispectrum component, the same as for compute sna/atom +

    +

    These values can be accessed by any command that uses per-atom values +from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    Restrictions: +

    +

    These computes are part of the SNAP package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_style snap +

    +

    Default: +

    +

    The optional keyword defaults are diagonal = 0, rmin0 = 0, +switchflag = 1. +

    +
    + -
    -
    -
    - +

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint +available at arXiv:1409.3880 +

    + -
    +

    (Bartok) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Meremianin) Meremianin, J. Phys. A, 39, 3099 (2006). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Varshalovich) Varshalovich, Moskalev, Khersonskii, Quantum Theory +of Angular Momentum, World Scientific, Singapore (1987). +

    + diff --git a/doc/compute_stress_atom.html b/doc/compute_stress_atom.html index ad41febc8b..52089c9aef 100644 --- a/doc/compute_stress_atom.html +++ b/doc/compute_stress_atom.html @@ -1,194 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute stress/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute stress/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID stress/atom temp-ID keyword ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • stress/atom = style name of this compute command
    • -
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed
    • -
    • zero or more keywords may be appended
    • -
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 mobile stress/atom NULL
    +
    +
    +
    + +

    compute stress/atom command +

    +

    Syntax: +

    +
    compute ID group-ID stress/atom temp-ID keyword ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • stress/atom = style name of this compute command +
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed +
    • zero or more keywords may be appended +
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial +
    +

    Examples: +

    +
    compute 1 mobile stress/atom NULL
     compute 1 mobile stress/atom myRamp
    -compute 1 all stress/atom NULL pair bond
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that computes the symmetric per-atom stress +compute 1 all stress/atom NULL pair bond + +

    Description: +

    +

    Define a computation that computes the symmetric per-atom stress tensor for each atom in a group. The tensor for each atom has 6 components and is stored as a 6-element vector in the following order: -xx, yy, zz, xy, xz, yz. See the compute pressure command if you want the stress tensor -(pressure) of the entire system.

    -

    The stress tensor for atom I is given by the following formula, -where a and b take on values x,y,z to generate the 6 components of -the symmetric tensor:

    -_images/stress_tensor.jpg -

    The first term is a kinetic energy contribution for atom I. See -details below on how the specified temp-ID can affect the velocities +xx, yy, zz, xy, xz, yz. See the compute +pressure command if you want the stress tensor +(pressure) of the entire system. +

    +

    The stress tensor for atom I is given by the following formula, +where a and b take on values x,y,z to generate the 6 components of +the symmetric tensor: +

    +
    +
    +

    The first term is a kinetic energy contribution for atom I. See +details below on how the specified temp-ID can affect the velocities used in this calculation. The second term is a pairwise energy -contribution where n loops over the Np neighbors of atom I, r1 -and r2 are the positions of the 2 atoms in the pairwise interaction, -and F1 and F2 are the forces on the 2 atoms resulting from the +contribution where n loops over the Np neighbors of atom I, r1 +and r2 are the positions of the 2 atoms in the pairwise interaction, +and F1 and F2 are the forces on the 2 atoms resulting from the pairwise interaction. The third term is a bond contribution of -similar form for the Nb bonds which atom I is part of. There are -similar terms for the Na angle, Nd dihedral, and Ni improper -interactions atom I is part of. There is also a term for the KSpace +similar form for the Nb bonds which atom I is part of. There are +similar terms for the Na angle, Nd dihedral, and Ni improper +interactions atom I is part of. There is also a term for the KSpace contribution from long-range Coulombic interactions, if defined. -Finally, there is a term for the Nf fixes that apply -internal constraint forces to atom I. Currently, only the fix shake and fix rigid commands -contribute to this term.

    -

    As the coefficients in the formula imply, a virial contribution +Finally, there is a term for the Nf fixes that apply +internal constraint forces to atom I. Currently, only the fix +shake and fix rigid commands +contribute to this term. +

    +

    As the coefficients in the formula imply, a virial contribution produced by a small set of atoms (e.g. 4 atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction) is assigned in equal portions to each atom in the set. E.g. 1/4 of the dihedral virial to each of the 4 atoms, or 1/3 of the fix virial due to SHAKE constraints applied -to atoms in a a water molecule via the fix shake -command.

    -

    If no extra keywords are listed, all of the terms in this formula are +to atoms in a a water molecule via the fix shake +command. +

    +

    If no extra keywords are listed, all of the terms in this formula are included in the per-atom stress tensor. If any extra keywords are listed, only those terms are summed to compute the tensor. The -virial keyword means include all terms except the kinetic energy -ke.

    -

    Note that the stress for each atom is due to its interaction with all -other atoms in the simulation, not just with other atoms in the group.

    -

    Details of how LAMMPS computes the virial for individual atoms for +virial keyword means include all terms except the kinetic energy +ke. +

    +

    Note that the stress for each atom is due to its interaction with all +other atoms in the simulation, not just with other atoms in the group. +

    +

    Details of how LAMMPS computes the virial for individual atoms for either pairwise or manybody potentials, and including the effects of -periodic boundary conditions is discussed in (Thompson). +periodic boundary conditions is discussed in (Thompson). The basic idea for manybody potentials is to treat each component of the force computation between a small cluster of atoms in the same manner as in the formula above for bond, angle, dihedral, etc @@ -196,134 +85,88 @@ interactions. Namely the quantity R dot F is summed over the atoms in the interaction, with the R vectors unwrapped by periodic boundaries so that the cluster of atoms is close together. The total contribution for the cluster interaction is divided evenly among those -atoms.

    -

    The dihedral_style charmm style calculates +atoms. +

    +

    The dihedral_style charmm style calculates pairwise interactions between 1-4 atoms. The virial contribution of -these terms is included in the pair virial, not the dihedral virial.

    -

    The KSpace contribution is calculated using the method in -(Heyes) for the Ewald method and by the methodology described -in (Sirk) for PPPM. The choice of KSpace solver is specified -by the kspace_style pppm command. Note that for +these terms is included in the pair virial, not the dihedral virial. +

    +

    The KSpace contribution is calculated using the method in +(Heyes) for the Ewald method and by the methodology described +in (Sirk) for PPPM. The choice of KSpace solver is specified +by the kspace_style pppm command. Note that for PPPM, the calcluation requires 6 extra FFTs each timestep that per-atom stress is calculated. Thus it can significantly increase the cost of the PPPM calculation if it is needed on a large fraction of -the simulation timesteps.

    -

    The temp-ID argument can be used to affect the per-atom velocities +the simulation timesteps. +

    +

    The temp-ID argument can be used to affect the per-atom velocities used in the kinetic energy contribution to the total stress. If the kinetic energy is not included in the stress, than the temperature compute is not used and can be specified as NULL. If the kinetic energy is included and you wish to use atom velocities as-is, then -temp-ID can also be specified as NULL. If desired, the specified +temp-ID can also be specified as NULL. If desired, the specified temperature compute can be one that subtracts off a bias to leave each atom with only a thermal velocity to use in the formula above, e.g. by subtracting a background streaming velocity. See the doc pages for -individual compute commands to determine which ones -include a bias.

    -
    -

    Note that as defined in the formula, per-atom stress is the negative +individual compute commands to determine which ones +include a bias. +

    +
    + +

    Note that as defined in the formula, per-atom stress is the negative of the per-atom pressure tensor. It is also really a stress*volume formulation, meaning the computed quantity is in units of pressure*volume. It would need to be divided by a per-atom volume to -have units of stress (pressure), but an individual atom’s volume is +have units of stress (pressure), but an individual atom's volume is not well defined or easy to compute in a deformed solid or a liquid. -See the compute voronoi/atom command for -one possible way to estimate a per-atom volume.

    -

    Thus, if the diagonal components of the per-atom stress tensor are +See the compute voronoi/atom command for +one possible way to estimate a per-atom volume. +

    +

    Thus, if the diagonal components of the per-atom stress tensor are summed for all atoms in the system and the sum is divided by dV, where d = dimension and V is the volume of the system, the result should be --P, where P is the total pressure of the system.

    -

    These lines in an input script for a 3d system should yield that -result. I.e. the last 2 columns of thermo output will be the same:

    -
    compute              peratom all stress/atom NULL
    -compute              p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
    -variable     press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
    -thermo_style custom step temp etotal press v_press
    -
    -
    -

    Output info:

    -

    This compute calculates a per-atom array with 6 columns, which can be +-P, where P is the total pressure of the system. +

    +

    These lines in an input script for a 3d system should yield that +result. I.e. the last 2 columns of thermo output will be the same: +

    +
    compute		peratom all stress/atom NULL
    +compute		p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
    +variable	press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
    +thermo_style	custom step temp etotal press v_press 
    +
    +

    Output info: +

    +

    This compute calculates a per-atom array with 6 columns, which can be accessed by indices 1-6 by any command that uses per-atom values from -a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The per-atom array values will be in pressure*volume -units as discussed above.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The per-atom array values will be in pressure*volume +units as discussed above. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute pe, compute pressure +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Heyes) Heyes, Phys Rev B 49, 755 (1994), +

    + -
    +

    (Sirk) Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Thompson) Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). +

    + diff --git a/doc/compute_temp.html b/doc/compute_temp.html index fe956a4324..d669eee5e2 100644 --- a/doc/compute_temp.html +++ b/doc/compute_temp.html @@ -1,282 +1,117 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp command¶

    -
    -
    -

    compute temp/cuda command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all temp
    -compute myTemp mobile temp
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp command +

    +

    compute temp/cuda command +

    +

    Syntax: +

    +
    compute ID group-ID temp 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all temp
    +compute myTemp mobile temp 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms. A compute of this style can be used by any command that -computes a temperature, e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +computes a temperature, e.g. thermo_modify, fix +temp/rescale, fix npt, etc. +

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    A compute of this style with the ID of “thermo_temp” is created when -LAMMPS starts up, as if this command were in the input script:

    -
    compute thermo_temp all temp
    -
    -
    -

    See the “thermo_style” command for more details.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    A compute of this style with the ID of "thermo_temp" is created when +LAMMPS starts up, as if this command were in the input script: +

    +
    compute thermo_temp all temp 
    +
    +

    See the "thermo_style" command for more details. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -
    -

    Styles with a cuda suffix are functionally the same as the +thermostatting. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp/partial, compute +temp/region, compute +pressure +

    +

    Default: none +

    + diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html index 46080aa81b..2c6241da99 100644 --- a/doc/compute_temp_asphere.html +++ b/doc/compute_temp_asphere.html @@ -1,324 +1,163 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/asphere command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/asphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/asphere = style name of this compute command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = bias or dof
    • -
    -
    -bias value = bias-ID
    +
    +
    +
    + +

    compute temp/asphere command +

    +

    Syntax: +

    +
    compute ID group-ID temp/asphere keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • temp/asphere = style name of this compute command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = bias or dof + +
        bias value = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias
      -  dof value = all or rotate
      +  dof value = all or rotate
           all = compute temperature of translational and rotational degrees of freedom
      -    rotate = compute temperature of just rotational degrees of freedom
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all temp/asphere
    +    rotate = compute temperature of just rotational degrees of freedom 
    +
    + + +

    Examples: +

    +
    compute 1 all temp/asphere
     compute myTemp mobile temp/asphere bias tempCOM
    -compute myTemp mobile temp/asphere dof rotate
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of +compute myTemp mobile temp/asphere dof rotate + +

    Description: +

    +

    Define a computation that calculates the temperature of a group of aspherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the -usual compute temp command, which assumes point -particles with only translational kinetic energy.

    -

    Only finite-size particles (aspherical or spherical) can be included +usual compute temp command, which assumes point +particles with only translational kinetic energy. +

    +

    Only finite-size particles (aspherical or spherical) can be included in the group. For 3d finite-size particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d finite-size particles, each has 3 degrees of freedom (2 translational, 1 -rotational).

    -
    -

    Warning

    -

    This choice for degrees of freedom (dof) assumes that +rotational). +

    +

    IMPORTANT NOTE: This choice for degrees of freedom (dof) assumes that all finite-size aspherical or spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the -compute_modify extra command to adjust the dof -accordingly.

    -
    -

    For example, an aspherical particle with all three of its shape +compute_modify extra command to adjust the dof +accordingly. +

    +

    For example, an aspherical particle with all three of its shape parameters the same is a sphere. If it does not rotate, then it should have 3 dof instead of 6 in 3d (or 2 instead of 3 in 2d). A uniaxial aspherical particle has two of its three shape parameters the same. If it does not rotate around the axis perpendicular to its circular cross section, then it should have 5 dof instead of 6 in 3d. -The latter is the case for uniaxial ellipsoids in a GayBerne model since there is no induced torque around the +The latter is the case for uniaxial ellipsoids in a GayBerne +model since there is no induced torque around the optical axis. It will also be the case for biaxial ellipsoids when exactly two of the semiaxes have the same length and the corresponding -relative well depths are equal.

    -

    The translational kinetic energy is computed the same as is described -by the compute temp command. The rotational +relative well depths are equal. +

    +

    The translational kinetic energy is computed the same as is described +by the compute temp command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor for the aspherical particle and w is its angular velocity, which is -computed from its angular momentum.

    -
    -

    Warning

    -

    For 2d models, particles are treated +computed from its angular momentum. +

    +

    IMPORTANT NOTE: For 2d models, particles are treated as ellipsoids, not ellipses, meaning their moments of inertia will be -the same as in 3d.

    -
    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the same as in 3d. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formula, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component, and the appropriate elements of the inertia tensor are used. The 6 components of the -vector are ordered xx, yy, zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as fix shake and fix rigid. This means the +vector are ordered xx, yy, zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    This compute subtracts out translational degrees-of-freedom due to +fixes that constrain molecular motion, such as fix +shake and fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the extra option of the -compute_modify command.

    -

    See this howto section of the manual for +be altered using the extra option of the +compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a “bias” velocity from each atom. This allows +thermostatting. +

    +
    + +

    The keyword/value option pairs are used in the following ways. +

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a "bias" velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details.

    -

    For the dof keyword, a setting of all calculates a temperature +pages for fixes that perform thermostatting for more details. +

    +

    For the dof keyword, a setting of all calculates a temperature that includes both translational and rotational degrees of freedom. A -setting of rotate calculates a temperature that includes only -rotational degrees of freedom.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +setting of rotate calculates a temperature that includes only +rotational degrees of freedom. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This compute requires that atoms store angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This compute requires that atoms store angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    compute temp +

    +

    Default: none +

    + diff --git a/doc/compute_temp_chunk.html b/doc/compute_temp_chunk.html index 69baa0f1c7..05947ba736 100644 --- a/doc/compute_temp_chunk.html +++ b/doc/compute_temp_chunk.html @@ -1,397 +1,251 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    • zero or more values can be listed as value1,value2,etc
    • -
    • value = temp or kecom or internal
    • -
    -
    temp = temperature of each chunk
    +
    +
    +
    + +

    compute temp/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • temp/chunk = style name of this compute command + +
    • chunkID = ID of compute chunk/atom command + +
    • zero or more values can be listed as value1,value2,etc + +
    • value = temp or kecom or internal + +
        temp = temperature of each chunk
         kecom = kinetic energy of each chunk based on velocity of center of mass
      -  internal = internal kinetic energy of each chunk
      -
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = com or bias or adof or cdof
    • -
    -
    -com value = yes or no
    +  internal = internal kinetic energy of each chunk 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = com or bias or adof or cdof + +
      com value = yes or no
         yes = subtract center-of-mass velocity from each chunk before calculating temperature
         no = do not subtract center-of-mass velocity
    -  bias value = bias-ID
    +  bias value = bias-ID
         bias-ID = ID of a temperature compute that removes a velocity bias
    -  adof value = dof_per_atom
    +  adof value = dof_per_atom
         dof_per_atom = define this many degrees-of-freedom per atom
    -  cdof value = dof_per_chunk
    -    dof_per_chunk = define this many degrees-of-freedom per chunk
    -
    -
  • -
    -

    Examples¶

    -
    compute 1 fluid temp/chunk molchunk
    +  cdof value = dof_per_chunk
    +    dof_per_chunk = define this many degrees-of-freedom per chunk 
    +
    + + +

    Examples: +

    +
    compute 1 fluid temp/chunk molchunk
     compute 1 fluid temp/chunk molchunk temp internal
    -compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of +compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 + +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms that are also in chunks, after optionally subtracting out the center-of-mass velocity of each chunk. By specifying optional values, it can also calulate the per-chunk temperature or energies of the -multiple chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom +multiple chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    The temperature is calculated by the formula KE = DOF/2 k T, where KE = +a system. +

    +

    The temperature is calculated by the formula KE = DOF/2 k T, where KE = total kinetic energy of all atoms assigned to chunks (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for those atoms, k -= Boltzmann constant, and T = temperature.

    -

    The DOF is calculated as N*adof + Nchunk*cdof, where N = number of += Boltzmann constant, and T = temperature. +

    +

    The DOF is calculated as N*adof + Nchunk*cdof, where N = number of atoms contributing to the KE, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the dimension +dimensionality of system, as set via the dimension command, and cdof = 0.0. This gives the usual formula for -temperature.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +temperature. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    Note that the number of atoms contributing to the temperature is +zz, xy, xz, yz. +

    +

    Note that the number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed the atoms may be dynamically assigned to chunks. Thus there is no -need to use the dynamic option of the -compute_modify command for this compute style.

    -

    If any optional values are specified, then per-chunk quantities are -also calculated and stored in a global array, as described below.

    -

    The temp value calculates the temperature for each chunk by the +need to use the dynamic option of the +compute_modify command for this compute style. +

    +

    If any optional values are specified, then per-chunk quantities are +also calculated and stored in a global array, as described below. +

    +

    The temp value calculates the temperature for each chunk by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = -temperature.

    -

    The DOF in this case is calculated as N*adof + cdof, where N = number +temperature. +

    +

    The DOF in this case is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the dimension +dimensionality of system, as set via the dimension command, and cdof = 0.0. This gives the usual formula for -temperature.

    -

    The kecom value calculates the kinetic energy of each chunk as if +temperature. +

    +

    The kecom value calculates the kinetic energy of each chunk as if all its atoms were moving with the velocity of the center-of-mass of -the chunk.

    -

    The internal value calculates the internal kinetic energy of each +the chunk. +

    +

    The internal value calculates the internal kinetic energy of each chunk. The interal KE is summed over the atoms in the chunk using an -internal “thermal” velocity for each atom, which is its velocity minus -the center-of-mass velocity of the chunk.

    -
    -

    Note that currently the global and per-chunk temperatures calculated +internal "thermal" velocity for each atom, which is its velocity minus +the center-of-mass velocity of the chunk. +

    +
    + +

    Note that currently the global and per-chunk temperatures calculated by this compute only include translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity -bias or constraints that are applied, such as compute temp/partial, or fix shake -or fix rigid. This is because those degrees of +bias or constraints that are applied, such as compute +temp/partial, or fix shake +or fix rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can use the -adof and cdof keywords to adjust the calculated degress of freedom -appropriately, as explained below.

    -

    Note that the per-chunk temperature calulated by this compute and the -fix ave/chunk temp command can be different. +adof and cdof keywords to adjust the calculated degress of freedom +appropriately, as explained below. +

    +

    Note that the per-chunk temperature calulated by this compute and the +fix ave/chunk temp command can be different. This compute calculates the temperature for each chunk for a single snapshot. Fix ave/chunk can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. This compute allows the center-of-mass velocity of each chunk to be subtracted before -calculating the temperature; fix ave/chunk does not.

    -
    -

    Warning

    -

    Only atoms in the specified group contribute to the -calculations performed by this compute. The compute chunk/atom command defines its own group; +calculating the temperature; fix ave/chunk does not. +

    +

    IMPORTANT NOTE: Only atoms in the specified group contribute to the +calculations performed by this compute. The compute +chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the “all” group for +contribute to this calculation. You can specify the "all" group for this command if you simply want to include atoms with non-zero chunk -IDs.

    -
    -

    The simplest way to output the per-chunk results of the compute -temp/chunk calculation to a file is to use the fix ave/time command, for example:

    -
    compute cc1 all chunk/atom molecule
    +IDs.
    +

    +

    The simplest way to output the per-chunk results of the compute +temp/chunk calculation to a file is to use the fix +ave/time command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all temp/chunk cc1 temp
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    The com keyword can be used with a value of yes to subtract the +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +


    + +

    The keyword/value option pairs are used in the following ways. +

    +

    The com keyword can be used with a value of yes to subtract the velocity of the center-of-mass for each chunk from the velocity of the atoms in that chunk, before calculating either the global or per-chunk temperature. This can be useful if the atoms are streaming or otherwise moving collectively, and you wish to calculate only the -thermal temperature.

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a “bias” velocity from each atom. This also +thermal temperature. +

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a "bias" velocity from each atom. This also allows calculation of the global or per-chunk temperature using only the thermal temperature of atoms in each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a velocity profile. It also applies to the calculation -of the other per-chunk values, such as kecom or internal, which +of the other per-chunk values, such as kecom or internal, which involve the center-of-mass velocity of each chunk, which is calculated after the velocity bias is removed from each atom. Note that the temperature compute will apply its bias globally to the entire system, -not on a per-chunk basis.

    -

    The adof and cdof keywords define the values used in the degree of +not on a per-chunk basis. +

    +

    The adof and cdof keywords define the values used in the degree of freedom (DOF) formulas used for the global or per-chunk temperature, as described above. They can be used to calculate a more appropriate -temperature for some kinds of chunks. Here are 3 examples:

    -

    If spatially binned chunks contain some number of water molecules and -fix shake is used to make each molecule rigid, then +temperature for some kinds of chunks. Here are 3 examples: +

    +

    If spatially binned chunks contain some number of water molecules and +fix shake is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 -translational, 3 rotational) per molecule by setting adof to 2.0.

    -

    If compute temp/partial is used with the -bias keyword to only allow the x component of velocity to contribute -to the temperature, then adof = 1.0 would be appropriate.

    -

    If each chunk consists of a large molecule, with some number of its -bonds constrained by fix shake or the entire molecule -by fix rigid/small, adof = 0.0 and cdof could be +translational, 3 rotational) per molecule by setting adof to 2.0. +

    +

    If compute temp/partial is used with the +bias keyword to only allow the x component of velocity to contribute +to the temperature, then adof = 1.0 would be appropriate. +

    +

    If each chunk consists of a large molecule, with some number of its +bonds constrained by fix shake or the entire molecule +by fix rigid/small, adof = 0.0 and cdof could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid -molecule.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +molecule. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    This compute also optionally calculates a global array, if one or more +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    This compute also optionally calculates a global array, if one or more of the optional values are specified. The number of rows in the array -= the number of chunks Nchunk as calculated by the specified -compute chunk/atom command. The number of += the number of chunks Nchunk as calculated by the specified +compute chunk/atom command. The number of columns is the number of specifed values (1 or more). These values can be accessed by any command that uses global array values from a -compute as input. Again, see Section_howto 15 for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”. The array values are “intensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. The array values -will be in temperature units for the temp value, and in -energy units for the kecom and internal values.

    -
    -
    -

    Restrictions¶

    -

    The com and bias keywords cannot be used together.

    -
    - -
    -

    Default¶

    -

    The option defaults are com no, no bias, adof = dimensionality of the -system (2 or 3), and cdof = 0.0.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +compute as input. Again, see Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". The array values are "intensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. The array values +will be in temperature units for the temp value, and in +energy units for the kecom and internal values. +

    +

    Restrictions: +

    +

    The com and bias keywords cannot be used together. +

    +

    Related commands: +

    +

    compute temp, fix ave/chunk +temp +

    +

    Default: +

    +

    The option defaults are com no, no bias, adof = dimensionality of the +system (2 or 3), and cdof = 0.0. +

    + diff --git a/doc/compute_temp_com.html b/doc/compute_temp_com.html index fcc1637c0b..5635c606d3 100644 --- a/doc/compute_temp_com.html +++ b/doc/compute_temp_com.html @@ -1,269 +1,98 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/com command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/com command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/com
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/com = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all temp/com
    -compute myTemp mobile temp/com
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/com command +

    +

    Syntax: +

    +
    compute ID group-ID temp/com 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/com = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all temp/com
    +compute myTemp mobile temp/com 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out the center-of-mass velocity of the group. This is useful if the group is expected to have a non-zero net velocity for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    -

    After the center-of-mass velocity has been subtracted from each atom, +e.g. thermo_modify, fix +temp/rescale, fix npt, etc. +

    +

    After the center-of-mass velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of the center-of-mass velocity by this fix is essentially -computing the temperature after a “bias” has been removed from the +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of the center-of-mass velocity by this fix is essentially +computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp +

    +

    Default: none +

    + diff --git a/doc/compute_temp_cs.html b/doc/compute_temp_cs.html index fa304fa97e..f548d3c652 100644 --- a/doc/compute_temp_cs.html +++ b/doc/compute_temp_cs.html @@ -1,167 +1,52 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/cs command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/cs command¶

    -
    -

    Syntax¶

    -

    compute ID group-ID temp/cs group1 group2 pre

    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/cs = style name of this compute command
    • -
    • group1 = group-ID of either cores or shells
    • -
    • group2 = group-ID of either shells or cores
    • -
    -
    -
    -

    Examples¶

    -
    compute oxygen_c-s all temp/cs O_core O_shell
    -compute core_shells all temp/cs cores shells
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a system based + + +


    + +

    compute temp/cs command +

    +

    Syntax: +

    +

    compute ID group-ID temp/cs group1 group2 pre +

    +
    • ID, group-ID are documented in compute command +
    • temp/cs = style name of this compute command +
    • group1 = group-ID of either cores or shells +
    • group2 = group-ID of either shells or cores +
    +

    Examples: +

    +
    compute oxygen_c-s all temp/cs O_core O_shell
    +compute core_shells all temp/cs cores shells 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a system based on the center-of-mass velocity of atom pairs that are bonded to each other. This compute is designed to be used with the adiabatic -core/shell model of (Mitchell and Finchham). See -Section_howto 25 of the manual for an +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an overview of the model as implemented in LAMMPS. Specifically, this compute enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of freedom of the core/shell pairs to not be influenced by a thermostat. A compute of this style can be used by any command that computes a -temperature via fix_modify e.g. fix temp/rescale, fix npt, etc.

    -

    For this compute, core and shell particles are specified by two +temperature via fix_modify e.g. fix +temp/rescale, fix npt, etc. +

    +

    For this compute, core and shell particles are specified by two respective group IDs, which can be defined using the -group command. The number of atoms in the two groups +group command. The number of atoms in the two groups must be the same and there should be one bond defined between a pair -of atoms in the two groups.

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +of atoms in the two groups. +

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that @@ -170,113 +55,66 @@ the velocity of the center-of-mass (COM) of the core/shell pair the atom is part of. Note that atoms that are not core or shell particles are also included in the temperature calculation (if they are in the specified group-ID); they contribute to the total kinetic energy in -the usual way.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the usual way. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. Again, the velocity of each core or shell atom is its -COM velocity.

    -

    The change this fix makes to core/shell atom velocities is essentially -computing the temperature after a “bias” has been removed from the -velocity of the atoms. This “bias” is the velocity of the atom +COM velocity. +

    +

    The change this fix makes to core/shell atom velocities is essentially +computing the temperature after a "bias" has been removed from the +velocity of the atoms. This "bias" is the velocity of the atom relative to the COM velocity of the core/shell pair. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining COM velocity will be performed, and the bias will be added back in. This means the thermostating will effectively be performed on the core/shell pairs, instead of on the individual core and shell atoms. -Thermostatting fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    The internal energy of core/shell pairs can be calculated by the -compute temp/chunk command, if chunks are -defined as core/shell pairs. See Section_howto 25 for more discussion on how to do this.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +Thermostatting fixes that work in this way include fix +nvt, fix temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    The internal energy of core/shell pairs can be calculated by the +compute temp/chunk command, if chunks are +defined as core/shell pairs. See Section_howto +25 for more discussion on how to do this. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    The number of core/shell pairs contributing to the temperature is +vector values from a compute as input. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    The number of core/shell pairs contributing to the temperature is assumed to be constant for the duration of the run. No fixes should -be used which generate new molecules or atoms during a simulation.

    -
    - -
    +be used which generate new molecules or atoms during a simulation. +

    +

    Related commands: +

    +

    compute temp, compute +temp/chunk +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

    + diff --git a/doc/compute_temp_deform.html b/doc/compute_temp_deform.html index fce44f069a..1a2af61281 100644 --- a/doc/compute_temp_deform.html +++ b/doc/compute_temp_deform.html @@ -1,311 +1,139 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/deform command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/deform command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/deform
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/deform = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute myTemp all temp/deform
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/deform command +

    +

    Syntax: +

    +
    compute ID group-ID temp/deform 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/deform = style name of this compute command +
    +

    Examples: +

    +
    compute myTemp all temp/deform 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out a streaming velocity induced by the simulation box changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the fix deform command. A compute -of this style is created by the fix nvt/sllod +induced by use of the fix deform command. A compute +of this style is created by the fix nvt/sllod command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command -that computes a temperature, e.g. thermo_modify, -fix temp/rescale, fix npt, etc.

    -

    The deformation fix changes the box size and/or shape over time, so +that computes a temperature, e.g. thermo_modify, +fix temp/rescale, fix npt, etc. +

    +

    The deformation fix changes the box size and/or shape over time, so each atom in the simulation box can be thought of as having a -“streaming” velocity. For example, if the box is being sheared in x, +"streaming" velocity. For example, if the box is being sheared in x, relative to y, then atoms at the bottom of the box (low y) have a small x velocity, while atoms at the top of the box (hi y) have a large x velocity. This position-dependent streaming velocity is -subtracted from each atom’s actual velocity to yield a thermal -velocity which is used to compute the temperature.

    -
    -

    Warning

    -

    Fix deform has an option for +subtracted from each atom's actual velocity to yield a thermal +velocity which is used to compute the temperature. +

    +

    IMPORTANT NOTE: Fix deform has an option for remapping either atom coordinates or velocities to the changing simulation box. When using this compute in conjunction with a deforming box, fix deform should NOT remap atom positions, but rather should let atoms respond to the changing box by adjusting their own -velocities (or let fix deform remap the atom -velocities, see it’s remap option). If fix deform does remap atom +velocities (or let fix deform remap the atom +velocities, see it's remap option). If fix deform does remap atom positions, then they appear to move with the box but their velocity is not changed, and thus they do NOT have the streaming velocity assumed by this compute. LAMMPS will warn you if fix deform is defined and -its remap setting is not consistent with this compute.

    -
    -

    After the streaming velocity has been subtracted from each atom, the +its remap setting is not consistent with this compute. +

    +

    After the streaming velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that v in -the kinetic energy formula is the atom’s thermal velocity.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the kinetic energy formula is the atom's thermal velocity. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of the box deformation velocity component by this fix is -essentially computing the temperature after a “bias” has been removed +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of the box deformation velocity component by this fix is +essentially computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -
    -

    Warning

    -

    The temperature calculated by this compute is only +fixes that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    IMPORTANT NOTE: The temperature calculated by this compute is only accurate if the atoms are indeed moving with a stream velocity profile that matches the box deformation. If not, then the compute will subtract off an incorrect stream velocity, yielding a bogus thermal temperature. You should NOT assume that your atoms are streaming at the same rate the box is deforming. Rather, you should monitor their -velocity profile, e.g. via the fix ave/spatial -command. And you can compare the results of this compute to compute temp/profile, which actually calculates the +velocity profile, e.g. via the fix ave/spatial +command. And you can compare the results of this compute to compute +temp/profile, which actually calculates the stream profile before subtracting it. If the two computes do not give roughly the same temperature, then your atoms are not streaming -consistent with the box deformation. See the fix deform command for more details on ways to get atoms -to stream consistently with the box deformation.

    -
    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +consistent with the box deformation. See the fix +deform command for more details on ways to get atoms +to stream consistently with the box deformation. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp/ramp, compute +temp/profile, fix deform, +fix nvt/sllod +

    +

    Default: none +

    + diff --git a/doc/compute_temp_deform_eff.html b/doc/compute_temp_deform_eff.html index 91745062d6..6331c8e915 100644 --- a/doc/compute_temp_deform_eff.html +++ b/doc/compute_temp_deform_eff.html @@ -1,250 +1,78 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/deform/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/deform/eff command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/deform/eff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/deform/eff = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute myTemp all temp/deform/eff
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + + +


    + +

    compute temp/deform/eff command +

    +

    Syntax: +

    +
    compute ID group-ID temp/deform/eff 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/deform/eff = style name of this compute command +
    +

    Examples: +

    +
    compute myTemp all temp/deform/eff 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model, after subtracting out a streaming velocity induced by the simulation box changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the fix deform/eff command. A -compute of this style is created by the fix nvt/sllod/eff command to compute the thermal +induced by use of the fix deform/eff command. A +compute of this style is created by the fix +nvt/sllod/eff command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command that computes a temperature, -e.g. thermo_modify, fix npt/eff, -etc.

    -

    The calculation performed by this compute is exactly like that -described by the compute temp/deform +e.g. thermo_modify, fix npt/eff, +etc. +

    +

    The calculation performed by this compute is exactly like that +described by the compute temp/deform command, except that the formula for the temperature includes the -radial electron velocity contributions, as discussed by the compute temp/eff command. Note that only the +radial electron velocity contributions, as discussed by the compute +temp/eff command. Note that only the translational degrees of freedom for each nuclei or electron are affected by the streaming velocity adjustment. The radial velocity -component of the electrons is not affected.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +component of the electrons is not affected. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute temp/ramp, fix +deform/eff, fix +nvt/sllod/eff +

    +

    Default: none +

    + diff --git a/doc/compute_temp_drude.html b/doc/compute_temp_drude.html index ddc47ddcd6..96d3aac384 100644 --- a/doc/compute_temp_drude.html +++ b/doc/compute_temp_drude.html @@ -1,259 +1,87 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/drude command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/drude command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/drude
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/drude = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute TDRUDE all temp/drude
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperatures of core-Drude + + +


    + +

    compute temp/drude command +

    +

    Syntax: +

    +
    compute ID group-ID temp/drude 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/drude = style name of this compute command +
    +

    Examples: +

    +
    compute TDRUDE all temp/drude 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperatures of core-Drude pairs. This compute is designed to be used with the thermalized Drude oscillator model. This compute is designed to be used with the -thermalized Drude oscillator model. Polarizable -models in LAMMPS are described in this Section.

    -

    Drude oscillators consist of a core particle and a Drude particle +thermalized Drude oscillator model. Polarizable +models in LAMMPS are described in this +Section. +

    +

    Drude oscillators consist of a core particle and a Drude particle connected by a harmonic bond, and the relative motion of these Drude oscillators is usually maintained cold by a specific thermostat that acts on the relative motion of the core-Drude particle pairs. Therefore, because LAMMPS considers Drude particles as normal -atoms in its default temperature compute (compute temp command), the reduced temperature of the -core-Drude particle pairs is not calculated correctly.

    -

    By contrast, this compute calculates the temperature of the cores +atoms in its default temperature compute (compute +temp command), the reduced temperature of the +core-Drude particle pairs is not calculated correctly. +

    +

    By contrast, this compute calculates the temperature of the cores using center-of-mass velocities of the core-Drude pairs, and the reduced temperature of the Drude particles using the relative velocities of the Drude particles with respect to their cores. Non-polarizable atoms are considered as cores. Their velocities -contribute to the temperature of the cores.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +contribute to the temperature of the cores. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6, which can be accessed by indices 1-6, whose components -are

    -
      -
    1. temperature of the centers of mass (temperature units)
    2. -
    3. temperature of the dipoles (temperature units)
    4. -
    5. number of degrees of freedom of the centers of mass
    6. -
    7. number of degrees of freedom of the dipoles
    8. -
    9. kinetic energy of the centers of mass (energy units)
    10. -
    11. kinetic energy of the dipoles (energy units)
    12. -
    -

    These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    Both the scalar value and the first two values of the vector -calculated by this compute are “intensive”. The other 4 vector values -are “extensive”.

    -
    -
    -

    Restrictions¶

    -

    The number of degrees of freedom contributing to the temperature is -assumed to be constant for the duration of the run unless the -fix_modify command sets the option dynamic yes.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +are +

    +
    1. temperature of the centers of mass (temperature units) +
    2. temperature of the dipoles (temperature units) +
    3. number of degrees of freedom of the centers of mass +
    4. number of degrees of freedom of the dipoles +
    5. kinetic energy of the centers of mass (energy units) +
    6. kinetic energy of the dipoles (energy units) +
    +

    These values can be used by any command that uses global scalar or +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    Both the scalar value and the first two values of the vector +calculated by this compute are "intensive". The other 4 vector values +are "extensive". +

    +

    Restrictions: +

    +

    The number of degrees of freedom contributing to the temperature is +assumed to be constant for the duration of the run unless the +fix_modify command sets the option dynamic yes. +

    +

    Related commands: +

    +

    fix drude, fix +langevin_drude, fix +drude/transform, pair_style +thole, compute temp +

    +

    Default: none +

    + diff --git a/doc/compute_temp_eff.html b/doc/compute_temp_eff.html index 35fac9f0bb..3cc20e9db7 100644 --- a/doc/compute_temp_eff.html +++ b/doc/compute_temp_eff.html @@ -1,275 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/eff command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/eff
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/eff = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all temp/eff
    -compute myTemp mobile temp/eff
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + + +


    + +

    compute temp/eff command +

    +

    Syntax: +

    +
    compute ID group-ID temp/eff 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/eff = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all temp/eff
    +compute myTemp mobile temp/eff 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model. A compute of this style can be used by commands that compute a -temperature, e.g. thermo_modify, fix npt/eff, etc.

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +temperature, e.g. thermo_modify, fix +npt/eff, etc. +

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2 for nuclei and sum of 1/2 (m v^2 + 3/4 m s^2) for electrons, where s includes the radial electron velocity contributions), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms (only total -number of nuclei in the eFF (see the pair_eff +number of nuclei in the eFF (see the pair_eff command) in the group, k = Boltzmann constant, and T = temperature. This expression is summed over all nuclear and electronic degrees of freedom, essentially by setting the kinetic contribution to the heat capacity to 3/2k (where only nuclei contribute). This subtlety is valid for temperatures well below the Fermi temperature, which for densities two to five times the density of liquid H2 ranges from -86,000 to 170,000 K.

    -
    -

    Warning

    -

    For eFF models, in order to override the default +86,000 to 170,000 K. +

    +

    IMPORTANT NOTE: For eFF models, in order to override the default temperature reported by LAMMPS in the thermodynamic quantities -reported via the thermo command, the user should apply a -thermo_modify command, as shown in the following -example:

    -
    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press
    -thermo_modify   temp effTemp
    -
    -
    -

    A 6-component kinetic energy tensor is also calculated by this compute +reported via the thermo command, the user should apply a +thermo_modify command, as shown in the following +example: +

    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press 
    +thermo_modify   temp effTemp 
    +
    +

    A 6-component kinetic energy tensor is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx * vy for the xy component, etc. For the eFF, -again, the radial electronic velocities are also considered.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +again, the radial electronic velocities are also considered. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    The scalar value calculated by this compute is “intensive”, meaning it +thermostatting. +

    +

    Output info: +

    +

    The scalar value calculated by this compute is "intensive", meaning it is independent of the number of atoms in the simulation. The vector -values are “extensive”, meaning they scale with the number of atoms in -the simulation.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +values are "extensive", meaning they scale with the number of atoms in +the simulation. +

    +

    Restrictions: +

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute temp/partial, compute +temp/region, compute +pressure +

    +

    Default: none +

    + diff --git a/doc/compute_temp_partial.html b/doc/compute_temp_partial.html index 937bf8f469..5385c5bfae 100644 --- a/doc/compute_temp_partial.html +++ b/doc/compute_temp_partial.html @@ -1,287 +1,125 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/partial command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/partial command¶

    -
    -
    -

    compute temp/partial/cuda command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/partial xflag yflag zflag
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/partial = style name of this compute command
    • -
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension
    • -
    -
    -
    -

    Examples¶

    -
    compute newT flow temp/partial 1 1 0
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/partial command +

    +

    compute temp/partial/cuda command +

    +

    Syntax: +

    +
    compute ID group-ID temp/partial xflag yflag zflag 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/partial = style name of this compute command +
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension +
    +

    Examples: +

    +
    compute newT flow temp/partial 1 1 0 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after excluding one or more velocity components. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +e.g. thermo_modify, fix +temp/rescale, fix npt, etc. +

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. The calculation of KE excludes the x, y, or z dimensions if xflag, yflag, or zflag = 0. The dim parameter is adjusted to give the correct number of -degrees of freedom.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +degrees of freedom. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the calculation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of velocity components by this fix is essentially -computing the temperature after a “bias” has been removed from the +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of velocity components by this fix is essentially +computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -
    -

    Styles with a cuda suffix are functionally the same as the +thermostatting. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp, compute +temp/region, compute +pressure +

    +

    Default: none +

    + diff --git a/doc/compute_temp_profile.html b/doc/compute_temp_profile.html index e8ad060ae4..1312ae63e6 100644 --- a/doc/compute_temp_profile.html +++ b/doc/compute_temp_profile.html @@ -1,254 +1,150 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/profile command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/profile command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/profile xflag yflag zflag binstyle args
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/profile = style name of this compute command
    • -
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension
    • -
    • binstyle = x or y or z or xy or yz or xz or xyz
    • -
    -
    -x arg = Nx
    -  y arg = Ny
    -  z arg = Nz
    -  xy args = Nx Ny
    -  yz args = Ny Nz
    -  xz args = Nx Nz
    -  xyz args = Nx Ny Nz
    -    Nx,Ny,Nz = number of velocity bins in x,y,z dimensions
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = out
    • -
    -
    -out value = tensor or bin
    -
    -
    -
    -

    Examples¶

    -
    compute myTemp flow temp/profile 1 1 1 x 10
    +
    +
    +
    + +

    compute temp/profile command +

    +

    Syntax: +

    +
    compute ID group-ID temp/profile xflag yflag zflag binstyle args 
    +
    +
    • ID, group-ID are documented in compute command + +
    • temp/profile = style name of this compute command + +
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension + +
    • binstyle = x or y or z or xy or yz or xz or xyz + +
        x arg = Nx
      +  y arg = Ny
      +  z arg = Nz
      +  xy args = Nx Ny
      +  yz args = Ny Nz
      +  xz args = Nx Nz
      +  xyz args = Nx Ny Nz
      +    Nx,Ny,Nz = number of velocity bins in x,y,z dimensions 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = out + +
        out value = tensor or bin 
      +
      + +
    +

    Examples: +

    +
    compute myTemp flow temp/profile 1 1 1 x 10
     compute myTemp flow temp/profile 1 1 1 x 10 out bin
    -compute myTemp flow temp/profile 0 1 1 xyz 20 20 20
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of +compute myTemp flow temp/profile 0 1 1 xyz 20 20 20 + +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out a spatially-averaged center-of-mass velocity field, before computing the kinetic energy. This can be useful for thermostatting a collection of atoms undergoing a complex flow, e.g. via a profile-unbiased thermostat (PUT) as described in -(Evans). A compute of this style can be used by any command -that computes a temperature, e.g. thermo_modify, -fix temp/rescale, fix npt, etc.

    -

    The xflag, yflag, zflag settings determine which components of -average velocity are subtracted out.

    -

    The binstyle setting and its Nx, Ny, Nz arguments determine -how bins are setup to perform spatial averaging. “Bins” can be 1d -slabs, 2d pencils, or 3d bricks depending on which binstyle is used. -The simulation box is partitioned conceptually into Nx by Ny by -Nz bins. Depending on the binstyle, you may only specify one or +(Evans). A compute of this style can be used by any command +that computes a temperature, e.g. thermo_modify, +fix temp/rescale, fix npt, etc. +

    +

    The xflag, yflag, zflag settings determine which components of +average velocity are subtracted out. +

    +

    The binstyle setting and its Nx, Ny, Nz arguments determine +how bins are setup to perform spatial averaging. "Bins" can be 1d +slabs, 2d pencils, or 3d bricks depending on which binstyle is used. +The simulation box is partitioned conceptually into Nx by Ny by +Nz bins. Depending on the binstyle, you may only specify one or two of these values; the others are effectively set to 1 (no binning in that dimension). For non-orthogonal (triclinic) simulation boxes, -the bins are “tilted” slabs or pencils or bricks that are parallel to -the tilted faces of the box. See the region prism -command for a discussion of the geometry of tilted boxes in LAMMPS.

    -

    When a temperature is computed, the center-of-mass velocity for the +the bins are "tilted" slabs or pencils or bricks that are parallel to +the tilted faces of the box. See the region prism +command for a discussion of the geometry of tilted boxes in LAMMPS. +

    +

    When a temperature is computed, the center-of-mass velocity for the set of atoms that are both in the compute group and in the same spatial bin is calculated. This bias velocity is then subtracted from the velocities of individual atoms in the bin to yield a thermal velocity for each atom. Note that if there is only one atom in the -bin, its thermal velocity will thus be 0.0.

    -

    After the spatially-averaged velocity field has been subtracted from +bin, its thermal velocity will thus be 0.0. +

    +

    After the spatially-averaged velocity field has been subtracted from each atom, the temperature is calculated by the formula KE = (dim/2 N - dim*Nx*Ny*Nz) k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom subtracted to adjust for the removal of the center-of-mass velocity in -each of Nx*Ny*Nz bins, as discussed in the (Evans) paper.

    -

    If the out keyword is used with a tensor value, which is the +each of Nx*Ny*Nz bins, as discussed in the (Evans) paper. +

    +

    If the out keyword is used with a tensor value, which is the default, a kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, -yy, zz, xy, xz, yz.

    -

    If the out keyword is used with a bin value, the count of atoms +yy, zz, xy, xz, yz. +

    +

    If the out keyword is used with a bin value, the count of atoms and computed temperature for each bin are stored for output, as an array of values, as described below. The temperature of each bin is calculated as described above, where the bias velocity is subtracted and only the remaining thermal velocity of atoms in the bin contributes to the temperature. See the note below for how the temperature is normalized by the degrees-of-freedom of atoms in the -bin.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of the spatially-averaged velocity field by this fix is -essentially computing the temperature after a “bias” has been removed +bin. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of the spatially-averaged velocity field by this fix is +essentially computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +fixes that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -
    -

    Warning

    -

    When using the out keyword with a value of bin, +extra option of the compute_modify command. +

    +

    IMPORTANT NOTE: When using the out keyword with a value of bin, the calculated temperature for each bin does not include the degrees-of-freedom adjustment described in the preceeding paragraph, for fixes that constrain molecular motion. It does include the -adjustment due to the extra option, which is applied to each bin.

    -
    -

    See this howto section of the manual for +adjustment due to the extra option, which is applied to each bin. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a -profile-unbiased thermostat (PUT), as described in (Evans).

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature). Depending -on the setting of the out keyword, it also calculates a global -vector or array. For out = tensor, it calculates a vector of -length 6 (KE tensor), which can be accessed by indices 1-6. For out -= bin it calculates a global array which has 2 columns and N rows, +profile-unbiased thermostat (PUT), as described in (Evans). +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature). Depending +on the setting of the out keyword, it also calculates a global +vector or array. For out = tensor, it calculates a vector of +length 6 (KE tensor), which can be accessed by indices 1-6. For out += bin it calculates a global array which has 2 columns and N rows, where N is the number of bins. The first column contains the number of atoms in that bin. The second contains the temperature of that bin, calculated as described above. The ordering of rows in the array @@ -256,97 +152,44 @@ is as follows. Bins in x vary fastest, then y, then z. Thus for a 10x10x10 3d array of bins, there will be 1000 rows. The bin with indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 + ix = 322, where the rows are numbered from 1 to 1000 and the bin -indices are numbered from 1 to 10 in each dimension.

    -

    These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”. The array values are “intensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. The first column +indices are numbered from 1 to 10 in each dimension. +

    +

    These values can be used by any command that uses global scalar or +vector or array values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". The array values are "intensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. The first column of array values are counts; the values in the second column will be in -temperature units.

    -
    -
    -

    Restrictions¶

    -

    You should not use too large a velocity-binning grid, especially in +temperature units. +

    +

    Restrictions: +

    +

    You should not use too large a velocity-binning grid, especially in 3d. In the current implementation, the binned velocity averages are summed across all processors, so this will be inefficient if the grid is too large, and the operation is performed every timestep, as it -will be for most thermostats.

    -
    - -
    -

    Default¶

    -

    The option default is out = tensor.

    -
    -

    (Evans) Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986).

    -
    -
    +will be for most thermostats. +

    +

    Related commands: +

    +

    compute temp, compute +temp/ramp, compute +temp/deform, compute +pressure +

    +

    Default: +

    +

    The option default is out = tensor. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Evans) Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986). +

    + diff --git a/doc/compute_temp_ramp.html b/doc/compute_temp_ramp.html index fbca8be99a..686ad9cd61 100644 --- a/doc/compute_temp_ramp.html +++ b/doc/compute_temp_ramp.html @@ -1,290 +1,122 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/ramp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/ramp command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/ramp = style name of this compute command
    • -
    • vdim = vx or vy or vz
    • -
    • vlo,vhi = subtract velocities between vlo and vhi (velocity units)
    • -
    • dim = x or y or z
    • -
    • clo,chi = lower and upper bound of domain to subtract from (distance units)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = units
    • -
    -
    -units value = lattice or box
    -
    -
    -
    -

    Examples¶

    -
    compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/ramp command +

    +

    Syntax: +

    +
    compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/ramp = style name of this compute command +
    • vdim = vx or vy or vz +
    • vlo,vhi = subtract velocities between vlo and vhi (velocity units) +
    • dim = x or y or z +
    • clo,chi = lower and upper bound of domain to subtract from (distance units) +
    • zero or more keyword/value pairs may be appended +
    • keyword = units +
    +
      units value = lattice or box 
    +
    +

    Examples: +

    +
    compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out an ramped velocity profile before computing the kinetic energy. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    -

    The meaning of the arguments for this command which define the -velocity ramp are the same as for the velocity ramp -command which was presumably used to impose the velocity.

    -

    After the ramp velocity has been subtracted from the specified +e.g. thermo_modify, fix +temp/rescale, fix npt, etc. +

    +

    The meaning of the arguments for this command which define the +velocity ramp are the same as for the velocity ramp +command which was presumably used to impose the velocity. +

    +

    After the ramp velocity has been subtracted from the specified dimension for each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, -and T = temperature.

    -

    The units keyword determines the meaning of the distance units used -for coordinates (c1,c2) and velocities (vlo,vhi). A box value -selects standard distance units as defined by the units -command, e.g. Angstroms for units = real or metal. A lattice value +and T = temperature. +

    +

    The units keyword determines the meaning of the distance units used +for coordinates (c1,c2) and velocities (vlo,vhi). A box value +selects standard distance units as defined by the units +command, e.g. Angstroms for units = real or metal. A lattice value means the distance units are in lattice spacings; e.g. velocity = -lattice spacings / tau. The lattice command must have -been previously used to define the lattice spacing.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +lattice spacings / tau. The lattice command must have +been previously used to define the lattice spacing. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of the ramped velocity component by this fix is -essentially computing the temperature after a “bias” has been removed +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of the ramped velocity component by this fix is +essentially computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +fixes that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option default is units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp, compute +temp/profie, compute +temp/deform, compute +pressure +

    +

    Default: +

    +

    The option default is units = lattice. +

    + diff --git a/doc/compute_temp_region.html b/doc/compute_temp_region.html index 7662655e9f..06a5250926 100644 --- a/doc/compute_temp_region.html +++ b/doc/compute_temp_region.html @@ -1,280 +1,113 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/region command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/region command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/region region-ID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/region = style name of this compute command
    • -
    • region-ID = ID of region to use for choosing atoms
    • -
    -
    -
    -

    Examples¶

    -
    compute mine flow temp/region boundary
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/region command +

    +

    Syntax: +

    +
    compute ID group-ID temp/region region-ID 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/region = style name of this compute command +
    • region-ID = ID of region to use for choosing atoms +
    +

    Examples: +

    +
    compute mine flow temp/region boundary 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms in a geometric region. This can be useful for thermostatting one portion of the simulation box. E.g. a McDLT simulation where one side is cooled, and the other side is heated. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix temp/rescale, etc.

    -

    Note that a region-style temperature can be used to thermostat with -fix temp/rescale or fix langevin, but should probably not be used with -Nose/Hoover style fixes (fix nvt, fix npt, or fix nph), if the -degrees-of-freedom included in the computed T varies with time.

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +e.g. thermo_modify, fix +temp/rescale, etc. +

    +

    Note that a region-style temperature can be used to thermostat with +fix temp/rescale or fix +langevin, but should probably not be used with +Nose/Hoover style fixes (fix nvt, fix +npt, or fix nph), if the +degrees-of-freedom included in the computed T varies with time. +

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in both the group and region, k = Boltzmann constant, and T = -temperature.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +temperature. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is calculated each +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed atoms can -enter/leave the region. Thus there is no need to use the dynamic -option of the compute_modify command for this -compute style.

    -

    The removal of atoms outside the region by this fix is essentially -computing the temperature after a “bias” has been removed, which in +enter/leave the region. Thus there is no need to use the dynamic +option of the compute_modify command for this +compute style. +

    +

    The removal of atoms outside the region by this fix is essentially +computing the temperature after a "bias" has been removed, which in this case is the velocity of any atoms outside the region. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes that work in this way include -fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. This means any of the thermostatting +fix nvt, fix temp/rescale, fix +temp/berendsen, and fix +langevin. This means any of the thermostatting fixes can operate on a geometric region of atoms, as defined by this -compute.

    -

    Unlike other compute styles that calculate temperature, this compute +compute. +

    +

    Unlike other compute styles that calculate temperature, this compute does not subtract out degrees-of-freedom due to fixes that constrain -motion, such as fix shake and fix rigid. This is because those degrees of freedom +motion, such as fix shake and fix +rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that straddle the region boundary, and hence the concept is somewhat ill-defined. If needed the number of subtracted degrees-of-freedom can be set -explicitly using the extra option of the -compute_modify command.

    -

    See this howto section of the manual for +explicitly using the extra option of the +compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp, compute +pressure +

    +

    Default: none +

    + diff --git a/doc/compute_temp_region_eff.html b/doc/compute_temp_region_eff.html index c038d9d7be..e4e84b9e8c 100644 --- a/doc/compute_temp_region_eff.html +++ b/doc/compute_temp_region_eff.html @@ -1,242 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/region/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/region/eff command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/region/eff region-ID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/region/eff = style name of this compute command
    • -
    • region-ID = ID of region to use for choosing atoms
    • -
    -
    -
    -

    Examples¶

    -
    compute mine flow temp/region/eff boundary
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + + +


    + +

    compute temp/region/eff command +

    +

    Syntax: +

    +
    compute ID group-ID temp/region/eff region-ID 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/region/eff = style name of this compute command +
    • region-ID = ID of region to use for choosing atoms +
    +

    Examples: +

    +
    compute mine flow temp/region/eff boundary 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model, within a geometric region using the electron force field. A compute of this style can be used by commands that compute a -temperature, e.g. thermo_modify.

    -

    The operation of this compute is exactly like that described by the -compute temp/region command, except that +temperature, e.g. thermo_modify. +

    +

    The operation of this compute is exactly like that described by the +compute temp/region command, except that the formula for the temperature itself includes the radial electron -velocity contributions, as discussed by the compute temp/eff command.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +velocity contributions, as discussed by the compute +temp/eff command. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute temp/region, compute +temp/eff, compute +pressure +

    +

    Default: none +

    + diff --git a/doc/compute_temp_rotate.html b/doc/compute_temp_rotate.html index 12a91c06bd..cbd3a31042 100644 --- a/doc/compute_temp_rotate.html +++ b/doc/compute_temp_rotate.html @@ -1,268 +1,101 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/rotate command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/rotate command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/rotate
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/rotate = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute Tbead bead temp/rotate
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of + + +


    + +

    compute temp/rotate command +

    +

    Syntax: +

    +
    compute ID group-ID temp/rotate 
    +
    +
    • ID, group-ID are documented in compute command +
    • temp/rotate = style name of this compute command +
    +

    Examples: +

    +
    compute Tbead bead temp/rotate 
    +
    +

    Description: +

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out the center-of-mass velocity and angular velocity of the group. This is useful if the group is expected to have a non-zero net velocity and/or global rotation motion for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    -

    After the center-of-mass velocity and angular velocity has been subtracted from each atom, +e.g. thermo_modify, fix +temp/rescale, fix npt, etc. +

    +

    After the center-of-mass velocity and angular velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature.

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    The removal of the center-of-mass velocity and angular velocity by this fix is essentially -computing the temperature after a “bias” has been removed from the +zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    The removal of the center-of-mass velocity and angular velocity by this fix is essentially +computing the temperature after a "bias" has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix +temp/rescale, fix +temp/berendsen, and fix +langevin. +

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command.

    -

    See this howto section of the manual for +extra option of the compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting. +

    +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute temp +

    +

    Default: none +

    + diff --git a/doc/compute_temp_sphere.html b/doc/compute_temp_sphere.html index c08fa3f9a8..dcbfd9a28a 100644 --- a/doc/compute_temp_sphere.html +++ b/doc/compute_temp_sphere.html @@ -1,312 +1,147 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute temp/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute temp/sphere command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID temp/sphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • temp/sphere = style name of this compute command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = bias or dof
    • -
    -
    -bias value = bias-ID
    +
    +
    +
    + +

    compute temp/sphere command +

    +

    Syntax: +

    +
    compute ID group-ID temp/sphere keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • temp/sphere = style name of this compute command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = bias or dof + +
        bias value = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias
      -  dof value = all or rotate
      +  dof value = all or rotate
           all = compute temperature of translational and rotational degrees of freedom
      -    rotate = compute temperature of just rotational degrees of freedom
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all temp/sphere
    +    rotate = compute temperature of just rotational degrees of freedom 
    +
    + + +

    Examples: +

    +
    compute 1 all temp/sphere
     compute myTemp mobile temp/sphere bias tempCOM
    -compute myTemp mobile temp/sphere dof rotate
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the temperature of a group of +compute myTemp mobile temp/sphere dof rotate + +

    Description: +

    +

    Define a computation that calculates the temperature of a group of spherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the -usual compute temp command, which assumes point -particles with only translational kinetic energy.

    -

    Both point and finite-size particles can be included in the group. +usual compute temp command, which assumes point +particles with only translational kinetic energy. +

    +

    Both point and finite-size particles can be included in the group. Point particles do not rotate, so they have only 3 translational degrees of freedom. For 3d spherical particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d spherical particles, -each has 3 degrees of freedom (2 translational, 1 rotational).

    -
    -

    Warning

    -

    This choice for degrees of freedom (dof) assumes that +each has 3 degrees of freedom (2 translational, 1 rotational). +

    +

    IMPORTANT NOTE: This choice for degrees of freedom (dof) assumes that all finite-size spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the -compute_modify extra command to adjust the dof -accordingly.

    -
    -

    The translational kinetic energy is computed the same as is described -by the compute temp command. The rotational +compute_modify extra command to adjust the dof +accordingly. +

    +

    The translational kinetic energy is computed the same as is described +by the compute temp command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the moment of -inertia for a sphere and w is the particle’s angular velocity.

    -
    -

    Warning

    -

    For 2d models, particles are treated +inertia for a sphere and w is the particle's angular velocity. +

    +

    IMPORTANT NOTE: For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d.

    -
    -

    A kinetic energy tensor, stored as a 6-element vector, is also +same as in 3d. +

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formulas, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component. The 6 components of -the vector are ordered xx, yy, zz, xy, xz, yz.

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case.

    -

    This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as fix shake and fix rigid. This means the +the vector are ordered xx, yy, zz, xy, xz, yz. +

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

    +

    This compute subtracts out translational degrees-of-freedom due to +fixes that constrain molecular motion, such as fix +shake and fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the extra option of the -compute_modify command.

    -

    See this howto section of the manual for +be altered using the extra option of the +compute_modify command. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a “bias” velocity from each atom. This allows +thermostatting. +

    +
    + +

    The keyword/value option pairs are used in the following ways. +

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a "bias" velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details.

    -

    For the dof keyword, a setting of all calculates a temperature +pages for fixes that perform thermostatting for more details. +

    +

    For the dof keyword, a setting of all calculates a temperature that includes both translational and rotational degrees of freedom. A -setting of rotate calculates a temperature that includes only -rotational degrees of freedom.

    -
    -

    Output info:

    -

    This compute calculates a global scalar (the temperature) and a global +setting of rotate calculates a temperature that includes only +rotational degrees of freedom. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “intensive”. The -vector values are “extensive”.

    -

    The scalar value will be in temperature units. The -vector values will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command.

    -

    All particles in the group must be finite-size spheres, or point -particles with radius = 0.0.

    -
    - -
    -

    Default¶

    -

    The option defaults are no bias and dof = all.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +vector values from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "intensive". The +vector values are "extensive". +

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. +

    +

    Restrictions: +

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. +

    +

    All particles in the group must be finite-size spheres, or point +particles with radius = 0.0. +

    +

    Related commands: +

    +

    compute temp, compute +temp/asphere +

    +

    Default: +

    +

    The option defaults are no bias and dof = all. +

    + diff --git a/doc/compute_ti.html b/doc/compute_ti.html index 7cf0799669..5a7ef6e1ed 100644 --- a/doc/compute_ti.html +++ b/doc/compute_ti.html @@ -1,307 +1,148 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute ti command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute ti command¶

    -
    -

    Syntax¶

    -
    compute ID group ti keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • ti = style name of this compute command
    • -
    • one or more attribute/arg pairs may be appended
    • -
    • keyword = pair style (lj/cut, gauss, born, etc) or tail or kspace
    • -
    -
    -pair style args = atype v_name1 v_name2
    +
    +
    +
    + +

    compute ti command +

    +

    Syntax: +

    +
    compute ID group ti keyword args ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • ti = style name of this compute command + +
    • one or more attribute/arg pairs may be appended + +
    • keyword = pair style (lj/cut, gauss, born, etc) or tail or kspace + +
        pair style args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is energy scale factor and function of lambda
           v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
      -  tail args = atype v_name1 v_name2
      +  tail args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda
           v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
      -  kspace args = atype v_name1 v_name2
      +  kspace args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is K-Space scale factor and function of lambda
      -    v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
    -compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the derivative of the interaction -potential with respect to lambda, the coupling parameter used in a + v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda + + + +

    Examples: +

    +
    compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
    +compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks 
    +
    +

    Description: +

    +

    Define a computation that calculates the derivative of the interaction +potential with respect to lambda, the coupling parameter used in a thermodynamic integration. This derivative can be used to infer a free energy difference resulting from an alchemical simulation, as -described in Eike.

    -

    Typically this compute will be used in conjunction with the fix adapt command which can perform alchemical +described in Eike. +

    +

    Typically this compute will be used in conjunction with the fix +adapt command which can perform alchemical transformations by adusting the strength of an interaction potential as a simulation runs, as defined by one or more -pair_style or kspace_style +pair_style or kspace_style commands. This scaling is done via a prefactor on the energy, forces, virial calculated by the pair or K-Space style. The prefactor is -often a function of a lambda parameter which may be adjusted from 0 -to 1 (or vice versa) over the course of a run. The -time-dependent adjustment is what the fix adapt -command does.

    -

    Assume that the unscaled energy of a pair_style or kspace_style is -given by U. Then the scaled energy is

    -
    Us = f(lambda) U
    -
    -
    -

    where f() is some function of lambda. What this compute calculates is

    -
    dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda
    -
    -
    -

    which is the derivative of the system’s scaled potential energy Us -with respect to lambda.

    -

    To perform this calculation, you provide one or more atom types as -atype. Atype can be specified in one of two ways. An explicit +often a function of a lambda parameter which may be adjusted from 0 +to 1 (or vice versa) over the course of a run. The +time-dependent adjustment is what the fix adapt +command does. +

    +

    Assume that the unscaled energy of a pair_style or kspace_style is +given by U. Then the scaled energy is +

    +
    Us = f(lambda) U 
    +
    +

    where f() is some function of lambda. What this compute calculates is +

    +
    dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda 
    +
    +

    which is the derivative of the system's scaled potential energy Us +with respect to lambda. +

    +

    To perform this calculation, you provide one or more atom types as +atype. Atype can be specified in one of two ways. An explicit numeric values can be used, as in the 1st example above. Or a wildcard asterisk can be used in place of or in conjunction with the -atype argument to select multiple atom types. This takes the form -“*” or “n” or “n” or “m*n”. If N = the number of atom types, then +atype argument to select multiple atom types. This takes the form +"*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive).

    -

    You also specify two functions, as equal-style variables. The first is specified as v_name1, where -name1 is the name of the variable, and is f(lambda) in the notation -above. The second is specified as v_name2, where name2 is the +means all types from m to n (inclusive). +

    +

    You also specify two functions, as equal-style +variables. The first is specified as v_name1, where +name1 is the name of the variable, and is f(lambda) in the notation +above. The second is specified as v_name2, where name2 is the name of the variable, and is df(lambda) / dlambda in the notation above. I.e. it is the analytic derivative of f() with respect to -lambda. Note that the name1 variable is also typically given as an -argument to the fix adapt command.

    -

    An alchemical simulation may use several pair potentials together, -invoked via the pair_style hybrid or hybrid/overlay +lambda. Note that the name1 variable is also typically given as an +argument to the fix adapt command. +

    +

    An alchemical simulation may use several pair potentials together, +invoked via the pair_style hybrid or hybrid/overlay command. The total dUs/dlambda for the overall system is calculated as the sum of each contributing term as listed by the keywords in the compute ti command. Individual pair potentials can be listed, which will be sub-styles in the hybrid case. You can also include a K-space -term via the kspace keyword. You can also include a pairwise -long-range tail correction to the energy via the tail keyword.

    -

    For each term you can specify a different (or the same) scale factor +term via the kspace keyword. You can also include a pairwise +long-range tail correction to the energy via the tail keyword. +

    +

    For each term you can specify a different (or the same) scale factor by the two variables that you list. Again, these will typically correspond toe the scale factors applied to these various potentials -and the K-Space contribution via the fix_adapt -command.

    -

    More details about the exact functional forms for the computation of -du/dl can be found in the paper by Eike.

    -
    -

    Output info:

    -

    This compute calculates a global scalar, namely dUs/dlambda. This +and the K-Space contribution via the fix_adapt +command. +

    +

    More details about the exact functional forms for the computation of +du/dl can be found in the paper by Eike. +

    +
    + +

    Output info: +

    +

    This compute calculates a global scalar, namely dUs/dlambda. This value can be used by any command that uses a global scalar value from -a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The scalar value calculated by this compute is “extensive”.

    -

    The scalar value will be in energy units.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The scalar value calculated by this compute is "extensive". +

    +

    The scalar value will be in energy units. +

    +

    Restrictions: +

    +

    This compute is part of the MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix adapt +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Eike) Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006). +

    + diff --git a/doc/compute_torque_chunk.html b/doc/compute_torque_chunk.html index 918f60d3ca..593397646d 100644 --- a/doc/compute_torque_chunk.html +++ b/doc/compute_torque_chunk.html @@ -1,269 +1,92 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute torque/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute torque/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID torque/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • torque/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid torque/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the torque on multiple chunks of -atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute torque/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID torque/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • torque/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid torque/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the torque on multiple chunks of +atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the 3 components of the torque vector for eqch +a system. +

    +

    This compute calculates the 3 components of the torque vector for eqch chunk, due to the forces on the individual atoms in the chunk around the center-of-mass of the chunk. The calculation includes all effects -due to atoms passing thru periodic boundaries.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +due to atoms passing thru periodic boundaries. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -
    -

    Warning

    -

    The coordinates of an atom contribute to the chunk’s -torque in “unwrapped” form, by using the image flags associated with -each atom. See the dump custom command for a discussion -of “unwrapped” coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +"all" group for this command if you simply want to include atoms with +non-zero chunk IDs. +

    +

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's +torque in "unwrapped" form, by using the image flags associated with +each atom. See the dump custom command for a discussion +of "unwrapped" coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set image command.

    -
    -

    The simplest way to output the results of the compute torque/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set
    +image command.
    +

    +

    The simplest way to output the results of the compute torque/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all torque/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 3 for the 3 xyz components of the torque for each chunk. These values can be accessed by any command that uses global array values from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options.

    -

    The array values are “intensive”. The array values will be in -force-distance units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +compute as input. See Section_howto 15 +for an overview of LAMMPS output options. +

    +

    The array values are "intensive". The array values will be in +force-distance units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable torque() function +

    +

    Default: none +

    + diff --git a/doc/compute_vacf.html b/doc/compute_vacf.html index 07f63e0870..12a3411eec 100644 --- a/doc/compute_vacf.html +++ b/doc/compute_vacf.html @@ -1,259 +1,76 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute vacf command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute vacf command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID vacf
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • vacf = style name of this compute command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 all vacf
    -compute 1 upper vacf
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the velocity auto-correlation -function (VACF), averaged over a group of atoms. Each atom’s + + +


    + +

    compute vacf command +

    +

    Syntax: +

    +
    compute ID group-ID vacf 
    +
    +
    • ID, group-ID are documented in compute command +
    • vacf = style name of this compute command +
    +

    Examples: +

    +
    compute 1 all vacf
    +compute 1 upper vacf 
    +
    +

    Description: +

    +

    Define a computation that calculates the velocity auto-correlation +function (VACF), averaged over a group of atoms. Each atom's contribution to the VACF is its current velocity vector dotted into -its initial velocity vector at the time the compute was specified.

    -

    A vector of four quantites is calculated by this compute. The first 3 +its initial velocity vector at the time the compute was specified. +

    +

    A vector of four quantites is calculated by this compute. The first 3 elements of the vector are vx * vx0 (and similarly for the y and z components), summed and averaged over atoms in the group. Vx is the current x-component of velocity for the atom, vx0 is the initial x-component of velocity for the atom. The 4th element of the vector is the total VACF, i.e. (vx*vx0 + vy*vy0 + vz*vz0), summed and -averaged over atoms in the group.

    -

    The integral of the VACF versus time is proportional to the diffusion +averaged over atoms in the group. +

    +

    The integral of the VACF versus time is proportional to the diffusion coefficient of the diffusing atoms. This can be computed in the -following manner, using the variable trap() function:

    -
    compute         2 all vacf
    +following manner, using the variable trap() function:
    +

    +
    compute         2 all vacf
     fix             5 all vector 1 c_2[4]
     variable        diff equal dt*trap(f_5)
    -thermo_style    custom step v_diff
    -
    -
    -
    -

    Warning

    -

    If you want the quantities calculated by this compute -to be continuous when running from a restart file, +thermo_style custom step v_diff + +

    IMPORTANT NOTE: If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom velocities from the restart file.

    -
    -

    Output info:

    -

    This compute calculates a global vector of length 4, which can be +correctly with time=0 atom velocities from the restart file. +

    +

    Output info: +

    +

    This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    The vector values are “intensive”. The vector values will be in -velocity^2 units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +from a compute as input. See this +section for an overview of LAMMPS output +options. +

    +

    The vector values are "intensive". The vector values will be in +velocity^2 units. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute msd +

    +

    Default: none +

    + diff --git a/doc/compute_vcm_chunk.html b/doc/compute_vcm_chunk.html index 346f67ce6a..8c23af9a58 100644 --- a/doc/compute_vcm_chunk.html +++ b/doc/compute_vcm_chunk.html @@ -1,256 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute vcm/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute vcm/chunk command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID vcm/chunk chunkID
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • vcm/chunk = style name of this compute command
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    -
    -
    -

    Examples¶

    -
    compute 1 fluid vcm/chunk molchunk
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the center-of-mass velocity for -multiple chunks of atoms.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom + + +


    + +

    compute vcm/chunk command +

    +

    Syntax: +

    +
    compute ID group-ID vcm/chunk chunkID 
    +
    +
    • ID, group-ID are documented in compute command +
    • vcm/chunk = style name of this compute command +
    • chunkID = ID of compute chunk/atom command +
    +

    Examples: +

    +
    compute 1 fluid vcm/chunk molchunk 
    +
    +

    Description: +

    +

    Define a computation that calculates the center-of-mass velocity for +multiple chunks of atoms. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    This compute calculates the x,y,z components of the center-of-mass +a system. +

    +

    This compute calculates the x,y,z components of the center-of-mass velocity for each chunk. This is done by summing mass*velocity for each atom in the chunk and dividing the sum by the total mass of the -chunk.

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +chunk. +

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -“all” group for this command if you simply want to include atoms with -non-zero chunk IDs.

    -

    The simplest way to output the results of the compute vcm/chunk -calculation to a file is to use the fix ave/time -command, for example:

    -
    compute cc1 all chunk/atom molecule
    +"all" group for this command if you simply want to include atoms with
    +non-zero chunk IDs.
    +

    +

    The simplest way to output the results of the compute vcm/chunk +calculation to a file is to use the fix ave/time +command, for example: +

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all vcm/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    -
    -
    -

    Output info:

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector + +

    Output info: +

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The number of columns = 3 for the x,y,z center-of-mass velocity coordinates of each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The array values are “intensive”. The array values will be in -velocity units.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The array values are "intensive". The array values will be in +velocity units. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/compute_voronoi_atom.html b/doc/compute_voronoi_atom.html index 5e8d8e2b5a..ea7f0fb50c 100644 --- a/doc/compute_voronoi_atom.html +++ b/doc/compute_voronoi_atom.html @@ -1,208 +1,98 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute voronoi/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute voronoi/atom command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID voronoi/atom keyword arg ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • voronoi/atom = style name of this compute command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = only_group or surface or radius or edge_histo or edge_threshold or face_threshold
    • -
    -
    -only_group = no arg
    -  occupation = no arg
    -  surface arg = sgroup-ID
    +
    +
    +
    + +

    compute voronoi/atom command +

    +

    Syntax: +

    +
    compute ID group-ID voronoi/atom keyword arg ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • voronoi/atom = style name of this compute command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = only_group or surface or radius or edge_histo or edge_threshold or face_threshold + +
        only_group = no arg
      +  occupation = no arg
      +  surface arg = sgroup-ID
           sgroup-ID = compute the dividing surface between group-ID and sgroup-ID
             this keyword adds a third column to the compute output
      -  radius arg = v_r
      +  radius arg = v_r
           v_r = radius atom style variable for a poly-disperse Voronoi tessellation
      -  edge_histo arg = maxedge
      -    maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
      -  edge_threshold arg = minlength
      +  edge_histo arg = maxedge
      +    maxedge = maximum number of Voronoi cell edges to be accounted in the histogram 
      +  edge_threshold arg = minlength
           minlength = minimum length for an edge to be counted
      -  face_threshold arg = minarea
      -    minarea = minimum area for a face to be counted
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all voronoi/atom
    +  face_threshold arg = minarea
    +    minarea = minimum area for a face to be counted 
    +
    + + +

    Examples: +

    +
    compute 1 all voronoi/atom
     compute 2 precipitate voronoi/atom surface matrix
    -compute 3b precipitate voronoi/atom radius v_r
    -compute 4 solute voronoi/atom only_group
    -
    -
    -
    compute 5 defects voronoi/atom occupation
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates the Voronoi tessellation of the +compute 3b precipitate voronoi/atom radius v_r +compute 4 solute voronoi/atom only_group + +

    compute 5 defects voronoi/atom occupation 
    +
    +

    Description: +

    +

    Define a computation that calculates the Voronoi tessellation of the atoms in the simulation box. The tessellation is calculated using all atoms in the simulation, but non-zero values are only stored for atoms -in the group.

    -

    By default two quantities per atom are calculated by this compute. +in the group. +

    +

    By default two quantities per atom are calculated by this compute. The first is the volume of the Voronoi cell around each atom. Any -point in an atom’s Voronoi cell is closer to that atom than any other. +point in an atom's Voronoi cell is closer to that atom than any other. The second is the number of faces of the Voronoi cell, which is also -the number of nearest neighbors of the atom in the middle of the cell.

    -
    -

    If the only_group keyword is specified the tessellation is performed +the number of nearest neighbors of the atom in the middle of the cell. +

    +
    + +

    If the only_group keyword is specified the tessellation is performed only with respect to the atoms contained in the compute group. This is equivalent to deleting all atoms not contained in the group prior to -evaluating the tessellation.

    -

    If the surface keyword is specified a third quantity per atom is -computed: the Voronoi cell surface of the given atom. surface takes -a group ID as an argument. If a group other than all is specified, +evaluating the tessellation. +

    +

    If the surface keyword is specified a third quantity per atom is +computed: the Voronoi cell surface of the given atom. surface takes +a group ID as an argument. If a group other than all is specified, only the Voronoi cell facets facing a neighbor atom from the specified -group are counted towards the surface area.

    -

    In the example above, a precipitate embedded in a matrix, only atoms +group are counted towards the surface area. +

    +

    In the example above, a precipitate embedded in a matrix, only atoms at the surface of the precipitate will have non-zero surface area, and only the outward facing facets of the Voronoi cells are counted (the hull of the precipitate). The total surface area of the precipitate -can be obtained by running a “reduce sum” compute on c_2[3]

    -

    If the radius keyword is specified with an atom style variable as +can be obtained by running a "reduce sum" compute on c_2[3] +

    +

    If the radius keyword is specified with an atom style variable as the argument, a poly-disperse Voronoi tessellation is -performed. Examples for radius variables are

    -
    variable r1 atom (type==1)*0.1+(type==2)*0.4
    +performed. Examples for radius variables are
    +

    +
    variable r1 atom (type==1)*0.1+(type==2)*0.4
     compute radius all property/atom radius
    -variable r2 atom c_radius
    -
    -
    -

    Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms +variable r2 atom c_radius + +

    Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms and 0.4 units for type 2 atoms, and v_r2 accesses the radius property -present in atom_style sphere for granular models.

    -

    The edge_histo keyword activates the compilation of a histogram of +present in atom_style sphere for granular models. +

    +

    The edge_histo keyword activates the compilation of a histogram of number of edges on the faces of the Voronoi cells in the compute group. The argument maxedge of the this keyword is the largest number of edges on a single Voronoi cell face expected to occur in the @@ -210,13 +100,15 @@ sample. This keyword adds the generation of a global vector with maxedge+1 entries. The last entry in the vector contains the number of faces with with more than maxedge edges. Since the polygon with the smallest amount of edges is a triangle, entries 1 and 2 of the vector -will always be zero.

    -

    The edge_threshold and face_threshold keywords allow the +will always be zero. +

    +

    The edge_threshold and face_threshold keywords allow the suppression of edges below a given minimum length and faces below a given minimum area. Ultra short edges and ultra small faces can occur as artifacts of the Voronoi tessellation. These keywords will affect -the neighbor count and edge histogram outputs.

    -

    If the occupation keyword is specified the tessellation is only +the neighbor count and edge histogram outputs. +

    +

    If the occupation keyword is specified the tessellation is only performed for the first invocation of the compute and then stored. For all following invocations of the compute the number of atoms in each Voronoi cell in the stored tessellation is counted. In this mode @@ -230,15 +122,19 @@ one can be any positive integer including zero, while column two values will always be greater than zero. Column one data can be used to locate vacancies (the coordinates are given by the atom coordinates at the time step when the compute was first invoked), while column two -data can be used to identify interstitial atoms.

    -
    -

    The Voronoi calculation is performed by the freely available Voro++ package, written by Chris Rycroft at UC Berkeley and LBL, +data can be used to identify interstitial atoms. +

    +
    + +

    The Voronoi calculation is performed by the freely available Voro++ +package, written by Chris Rycroft at UC Berkeley and LBL, which must be installed on your system when building LAMMPS for use with this compute. See instructions on obtaining and installing the -Voro++ software in the src/VORONOI/README file.

    -
    -

    Warning

    -

    The calculation of Voronoi volumes is performed by +Voro++ software in the src/VORONOI/README file. +

    + + +

    IMPORTANT NOTE: The calculation of Voronoi volumes is performed by each processor for the atoms it owns, and includes the effect of ghost atoms stored by the processor. This assumes that the Voronoi cells of owned atoms are not affected by atoms beyond the ghost atom cut-off @@ -246,103 +142,42 @@ distance. This is usually a good assumption for liquid and solid systems, but may lead to underestimation of Voronoi volumes in low density systems. By default, the set of ghost atoms stored by each processor is determined by the cutoff used for -pair_style interactions. The cutoff can be set -explicitly via the comm_modify cutoff command.

    -
    -
    -

    Warning

    -

    The Voro++ package performs its calculation in 3d. +pair_style interactions. The cutoff can be set +explicitly via the comm_modify cutoff command. +

    +

    IMPORTANT NOTE: The Voro++ package performs its calculation in 3d. This should still work for a 2d LAMMPS simulation, to effectively -compute Voronoi “areas”, so long as the z-dimension of the box is +compute Voronoi "areas", so long as the z-dimension of the box is roughly the same (or smaller) compared to the separation of the atoms. Typical values for the z box dimensions in a 2d LAMMPS model are -0.5 -to 0.5, which satisfies the criterion for most units +to 0.5, which satisfies the criterion for most units systems. Note that you define the z extent of the simulation box for -2d simulations when using the create_box or -read_data commands.

    -
    -

    Output info:

    -

    This compute calculates a per-atom array with 2 columns. In regular -dynamic tessellation mode the first column is the Voronoi volume, the -second is the neighbor count, as described above (read above for the -output data in case the occupation keyword is specified). +2d simulations when using the create_box or +read_data commands. +

    +

    Output info: +

    +

    This compute calculates a per-atom array with 2 columns. In regular +dynamic tessellation mode the first column is the Voronoi volume, the +second is the neighbor count, as described above (read above for the +output data in case the occupation keyword is specified). These values can be accessed by any command that -uses per-atom values from a compute as input. See Section_howto 15 for an overview of LAMMPS output -options.

    -

    The Voronoi cell volume will be in distance units cubed.

    -
    -
    -

    Restrictions¶

    -

    This compute is part of the VORONOI package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +uses per-atom values from a compute as input. See Section_howto +15 for an overview of LAMMPS output +options. +

    +

    The Voronoi cell volume will be in distance units cubed. +

    +

    Restrictions: +

    +

    This compute is part of the VORONOI package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump custom +

    +

    Default: none +

    + diff --git a/doc/compute_xrd.html b/doc/compute_xrd.html index 52179cf86d..e69612ac17 100644 --- a/doc/compute_xrd.html +++ b/doc/compute_xrd.html @@ -1,390 +1,214 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - compute xrd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    compute xrd command¶

    -
    -

    Syntax¶

    -
    compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in compute command
    • -
    • xrd = style name of this compute command
    • -
    • lambda = wavelength of incident radiation (length units)
    • -
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = 2Theta or c or LP or manual or echo
    • -
    -
    -2Theta values = Min2Theta Max2Theta
    -    Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
    +
    +
    +
    + +

    compute xrd command +

    +

    Syntax: +

    +
    compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... 
    +
    +
    • ID, group-ID are documented in compute command + +
    • xrd = style name of this compute command + +
    • lambda = wavelength of incident radiation (length units) + +
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = 2Theta or c or LP or manual or echo + +
        2Theta values = Min2Theta Max2Theta
      +    Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore 
           (radians or degrees)
      -  c values = c1 c2 c3
      -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
      +  c values = c1 c2 c3
      +    c1,c2,c3 = parameters to adjust the spacing of the reciprocal 
                      lattice nodes in the h, k, and l directions respectively
      -  LP value = switch to apply Lorentz-polarization factor
      +  LP value = switch to apply Lorentz-polarization factor
           0/1 = off/on
      -  manual = flag to use manual spacing of reciprocal lattice points
      -             based on the values of the c parameters
      -  echo = flag to provide extra output for debugging purposes
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
    -compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual
    -
    -
    -
    fix 1 all ave/histo/weights 1 1 1 0.087 0.87 250 c_1[1] c_1[2] mode vector file Rad2Theta.xrd
    -fix 2 all ave/histo/weights 1 1 1 10 100 250 c_2[1] c_2[2] mode vector file Deg2Theta.xrd
    -
    -
    -
    -
    -

    Description¶

    -

    Define a computation that calculates x-ray diffraction intensity as described -in (Coleman) on a mesh of reciprocal lattice nodes defined + manual = flag to use manual spacing of reciprocal lattice points + based on the values of the c parameters + echo = flag to provide extra output for debugging purposes + + + +

    Examples: +

    +
    compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo 
    +compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual 
    +
    +
    fix 1 all ave/histo/weights 1 1 1 0.087 0.87 250 c_1[1] c_1[2] mode vector file Rad2Theta.xrd
    +fix 2 all ave/histo/weights 1 1 1 10 100 250 c_2[1] c_2[2] mode vector file Deg2Theta.xrd 
    +
    +
    +
    +

    Description: +

    +

    Define a computation that calculates x-ray diffraction intensity as described +in (Coleman) on a mesh of reciprocal lattice nodes defined by the entire simulation domain (or manually) using a simulated radiation -of wavelength lambda.

    -

    The x-ray diffraction intensity, I, at each reciprocal lattice point, k, -is computed from the structure factor, F, using the equations:

    -_images/compute_xrd1.jpg -_images/compute_xrd2.jpg -_images/compute_xrd3.jpg -_images/compute_xrd4.jpg -

    Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors, LP is the -Lorentz-polarization factor, and theta is the scattering angle of -diffraction. The Lorentz-polarization factor can be turned off using -the optional LP keyword.

    -

    Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) +of wavelength lambda. +

    +

    The x-ray diffraction intensity, I, at each reciprocal lattice point, k, +is computed from the structure factor, F, using the equations: +

    +
    +
    +
    +
    +
    +
    +
    +
    +

    Here, K is the location of the reciprocal lattice node, rj is the +position of each atom, fj are atomic scattering factors, LP is the +Lorentz-polarization factor, and theta is the scattering angle of +diffraction. The Lorentz-polarization factor can be turned off using +the optional LP keyword. +

    +

    Diffraction intensities are calculated on a three-dimensional mesh of +reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below.

    - -

    For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing *c**inv(A) along each reciprocal lattice +shown in the 2D diagram below. +

    +
    +
    +

    For a mesh defined by the simulation domain, a rectilinear grid is +constructed with spacing c*inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic -boundary.

    -

    If the manual flag is included, the mesh of reciprocal lattice nodes -will defined using the c values for the spacing along each +boundary. +

    +

    If the manual flag is included, the mesh of reciprocal lattice nodes +will defined using the c values for the spacing along each reciprocal lattice axis. Note that manual mapping of the reciprocal space mesh is good for comparing diffraction results from multiple simulations; however it can reduce the likelihood that Bragg -reflections will be satisfied unless small spacing parameters (< 0.05 +reflections will be satisfied unless small spacing parameters (< 0.05 Angstrom^(-1)) are implemented. Meshes with manual spacing do not -require a periodic boundary.

    -

    The limits of the reciprocal lattice mesh are determined by range of -scattering angles explored. The 2Theta parameters allows the user +require a periodic boundary. +

    +

    The limits of the reciprocal lattice mesh are determined by range of +scattering angles explored. The 2Theta parameters allows the user to reduce the scattering angle range to only the region of interest -which reduces the cost of the computation.

    -

    The atomic scattering factors, fj, accounts for the reduction in +which reduces the cost of the computation. +

    +

    The atomic scattering factors, fj, accounts for the reduction in diffraction intensity due to Compton scattering. Compute xrd uses analytical approximations of the atomic scattering factors that vary for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula -(Colliex):

    -_images/compute_xrd5.jpg -

    Coefficients parameterized by (Peng) are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute xrd are:

    -
    -
    H: He1-: He: Li: Li1+:
    -
    -
    -
    -
    Be: Be2+: B: C: Cval:
    -
    N: O: O1-: F: F1-:
    -
    -

    Ne: Na: Na1+: Mg: Mg2+: -Al: Al3+: Si: Sival: Si4+:

    -
    -
    P: S: Cl: Cl1-: Ar: -K: Ca: Ca2+: Sc: Sc3+:
    -

    Ti: Ti2+: Ti3+: Ti4+: V:

    -
    -

    V2+: V3+: V5+: Cr: Cr2+:

    -
    -
    -
    Cr3+: Mn: Mn2+: Mn3+: Mn4+:
    -
    Fe: Fe2+: Fe3+: Co: Co2+: -Co: Ni: Ni2+: Ni3+: Cu:
    -
    -

    Cu1+: Cu2+: Zn: Zn2+: Ga: -Ga3+: Ge: Ge4+: As: Se:

    -
    -
    Br: Br1-: Kr: Rb: Rb1+: -Sr: Sr2+: Y: Y3+: Zr:
    -

    Zr4+: Nb: Nb3+: Nb5+: Mo: -Mo3+: Mo5+: Mo6+: Tc: Ru: -Ru3+: Ru4+: Rh: Rh3+: Rh4+:

    -
    -
    Pd: Pd2+: Pd4+: Ag: Ag1+:
    -
    -
    Ag2+: Cd: Cd2+: In: In3+:
    -
    Sn: Sn2+: Sn4+: Sb: Sb3+:
    -
    Sb5+: Te: I: I1-: Xe:
    -
    Cs: Cs1+: Ba: Ba2+: La:
    -
    -

    La3+: Ce: Ce3+: Ce4+: Pr: -Pr3+: Pr4+: Nd: Nd3+: Pm: -Pm3+: Sm: Sm3+: Eu: Eu2+: -Eu3+: Gd: Gd3+: Tb: Tb3+:

    -
    -
    Dy: Dy3+: Ho: Ho3+: Er:
    -

    Er3+: Tm: Tm3+: Yb: Yb2+: -Yb3+: Lu: Lu3+: Hf: Hf4+:

    -
    -
    Ta: Ta5+: W: W6+: Re: -Os: Os4+: Ir: Ir3+: Ir4+: -Pt: Pt2+: Pt4+: Au: Au1+:
    -

    Au3+: Hg: Hg1+: Hg2+: Tl: -Tl1+: Tl3+: Pb: Pb2+: Pb4+:

    -
    -
    Bi: Bi3+: Bi5+: Po: At: -Rn: Fr: Ra: Ra2+: Ac:
    -
    -
    Ac3+: Th: Th4+: Pa: U:
    -
    U3+: U4+: U6+: Np: Np3+:
    -
    -

    Np4+: Np6+: Pu: Pu3+: Pu4+: -Pu6+: Am: Cm: Bk: Cf:tb(c=5,s=:)

    -
    -
    -

    If the echo keyword is specified, compute xrd will provide extra -reporting information to the screen.

    -

    Output info:

    -

    This compute calculates a global array. The number of rows in the -array is the number of reciprocal lattice nodes that are explored -which by the mesh. The global array has 2 columns.

    -

    The first column contains the diffraction angle in the units (radians -or degrees) provided with the 2Theta values. The second column contains -the computed diffraction intensities as described above.

    -

    The array can be accessed by any command that uses global values -from a compute as input. See this section for an overview of LAMMPS output -options.

    -

    All array values calculated by this compute are “intensive”.

    -
    -
    -

    Restrictions¶

    -

    The compute_xrd command does not work for triclinic cells.

    -
    - -
    -

    Default¶

    -

    The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, -no manual flag, no echo flag.

    -
    -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013).

    -

    (Colliex) Colliex et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 249-429 (2004).

    -

    (Peng) Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 -(1996).

    -
    -
    +(Colliex): +

    +
    +
    +

    Coefficients parameterized by (Peng) are assigned for each +atom type designating the chemical symbol and charge of each atom +type. Valid chemical symbols for compute xrd are: +

    +

    H: He1-: He: Li: Li1+: + Be: Be2+: B: C: Cval: + N: O: O1-: F: F1-: + Ne: Na: Na1+: Mg: Mg2+: + Al: Al3+: Si: Sival: Si4+: + P: S: Cl: Cl1-: Ar: + K: Ca: Ca2+: Sc: Sc3+: + Ti: Ti2+: Ti3+: Ti4+: V: + V2+: V3+: V5+: Cr: Cr2+: + Cr3+: Mn: Mn2+: Mn3+: Mn4+: + Fe: Fe2+: Fe3+: Co: Co2+: + Co: Ni: Ni2+: Ni3+: Cu: + Cu1+: Cu2+: Zn: Zn2+: Ga: + Ga3+: Ge: Ge4+: As: Se: + Br: Br1-: Kr: Rb: Rb1+: + Sr: Sr2+: Y: Y3+: Zr: + Zr4+: Nb: Nb3+: Nb5+: Mo: + Mo3+: Mo5+: Mo6+: Tc: Ru: + Ru3+: Ru4+: Rh: Rh3+: Rh4+: + Pd: Pd2+: Pd4+: Ag: Ag1+: + Ag2+: Cd: Cd2+: In: In3+: + Sn: Sn2+: Sn4+: Sb: Sb3+: + Sb5+: Te: I: I1-: Xe: + Cs: Cs1+: Ba: Ba2+: La: + La3+: Ce: Ce3+: Ce4+: Pr: + Pr3+: Pr4+: Nd: Nd3+: Pm: + Pm3+: Sm: Sm3+: Eu: Eu2+: + Eu3+: Gd: Gd3+: Tb: Tb3+: + Dy: Dy3+: Ho: Ho3+: Er: + Er3+: Tm: Tm3+: Yb: Yb2+: + Yb3+: Lu: Lu3+: Hf: Hf4+: + Ta: Ta5+: W: W6+: Re: + Os: Os4+: Ir: Ir3+: Ir4+: + Pt: Pt2+: Pt4+: Au: Au1+: + Au3+: Hg: Hg1+: Hg2+: Tl: + Tl1+: Tl3+: Pb: Pb2+: Pb4+: + Bi: Bi3+: Bi5+: Po: At: + Rn: Fr: Ra: Ra2+: Ac: + Ac3+: Th: Th4+: Pa: U: + U3+: U4+: U6+: Np: Np3+: + Np4+: Np6+: Pu: Pu3+: Pu4+: + Pu6+: Am: Cm: Bk: Cf:tb(c=5,s=:) +

    +

    If the echo keyword is specified, compute xrd will provide extra +reporting information to the screen. +

    +

    Output info: +

    +

    This compute calculates a global array. The number of rows in the +array is the number of reciprocal lattice nodes that are explored +which by the mesh. The global array has 2 columns. +

    +

    The first column contains the diffraction angle in the units (radians +or degrees) provided with the 2Theta values. The second column contains +the computed diffraction intensities as described above. +

    +

    The array can be accessed by any command that uses global values +from a compute as input. See this section for an overview of LAMMPS output +options. +

    +

    All array values calculated by this compute are "intensive". +

    +

    Restrictions: +

    +

    The compute_xrd command does not work for triclinic cells. +

    +

    Related commands: +

    +

    fix ave/histo, +compute saed +

    +

    Default: +

    +

    The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, +no manual flag, no echo flag. +

    +
    + -
    -
    -
    - +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013). +

    + -
    +

    (Colliex) Colliex et al. International Tables for Crystallography +Volume C: Mathematical and Chemical Tables, 249-429 (2004). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Peng) Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 +(1996). +

    + diff --git a/doc/create_atoms.html b/doc/create_atoms.html index caa4249ce3..dff7b6c971 100644 --- a/doc/create_atoms.html +++ b/doc/create_atoms.html @@ -1,495 +1,329 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - create_atoms command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    create_atoms command¶

    -
    -

    Syntax¶

    -
    create_atoms type style args keyword values ...
    -
    -
    -
      -
    • type = atom type (1-Ntypes) of atoms to create (offset for molecule creation)
    • -
    • style = box or region or single or random
    • -
    -
    -box args = none
    -  region args = region-ID
    +
    +
    +
    + +

    create_atoms command +

    +

    Syntax: +

    +
    create_atoms type style args keyword values ... 
    +
    +
    • type = atom type (1-Ntypes) of atoms to create (offset for molecule creation) + +
    • style = box or region or single or random + +
        box args = none
      +  region args = region-ID
           region-ID = particles will only be created if contained in the region
      -  single args = x y z
      +  single args = x y z
           x,y,z = coordinates of a single particle (distance units)
      -  random args = N seed region-ID
      +  random args = N seed region-ID
           N = number of particles to create
           seed = random # seed (positive integer)
      -    region-ID = create atoms within this region, use NULL for entire simulation box
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = mol or basis or remap or var or set or units
      • -
      -
      -mol value = template-ID seed
      -    template-ID = ID of molecule template specified in a separate molecule command
      +    region-ID = create atoms within this region, use NULL for entire simulation box 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = mol or basis or remap or var or set or units + +
        mol value = template-ID seed
      +    template-ID = ID of molecule template specified in a separate molecule command
           seed = random # seed (positive integer)
      -  basis values = M itype
      +  basis values = M itype
           M = which basis atom
           itype = atom type (1-N) to assign to this basis atom
      -  remap value = yes or no
      -  var value = name = variable name to evaluate for test of atom creation
      -  set values = dim vname
      -    dim = x or y or z
      +  remap value = yes or no
      +  var value = name = variable name to evaluate for test of atom creation
      +  set values = dim vname
      +    dim = x or y or z
           name = name of variable to set with x,y,z atom position
      -  rotate values = Rx Ry Rz theta
      +  rotate values = Rx Ry Rz theta
           Rx,Ry,Rz = rotation vector for single molecule
           theta = rotation angle for single molecule (degrees)
      -  units value = lattice or box
      -    lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    create_atoms 1 box
    +  units value = lattice or box
    +    lattice = the geometry is defined in lattice units
    +    box = the geometry is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    create_atoms 1 box
     create_atoms 3 region regsphere basis 2 3
    -create_atoms 3 single 0 0 5
    -create_atoms 1 box var v set x xpos set y ypos
    -
    -
    -
    -
    -

    Description¶

    -

    This command creates atoms (or molecules) on a lattice, or a single +create_atoms 3 single 0 0 5 +create_atoms 1 box var v set x xpos set y ypos + +

    Description: +

    +

    This command creates atoms (or molecules) on a lattice, or a single atom (or molecule), or a random collection of atoms (or molecules), as an alternative to reading in their coordinates explicitly via a -read_data or read_restart +read_data or read_restart command. A simulation box must already exist, which is typically -created via the create_box command. Before using +created via the create_box command. Before using this command, a lattice must also be defined using the -lattice command, unless you specify the single style -with units = box or the random style. For the remainder of this doc -page, a created atom or molecule is referred to as a “particle”.

    -

    If created particles are individual atoms, they are assigned the -specified atom type, though this can be altered via the basis +lattice command, unless you specify the single style +with units = box or the random style. For the remainder of this doc +page, a created atom or molecule is referred to as a "particle". +

    +

    If created particles are individual atoms, they are assigned the +specified atom type, though this can be altered via the basis keyword as discussed below. If molecules are being created, the type of each atom in the created molecule is specified in the file read by -the molecule command, and those values are added to -the specified atom type. E.g. if type = 2, and the file specifies +the molecule command, and those values are added to +the specified atom type. E.g. if type = 2, and the file specifies atom types 1,2,3, then each created molecule will have atom types -3,4,5.

    -

    For the box style, the create_atoms command fills the entire +3,4,5. +

    +

    For the box style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should insure its size is a multiple of the lattice spacings, to avoid unwanted atom overlaps at the box boundaries. If your box is periodic and a multiple of the lattice spacing in a particular dimension, LAMMPS is careful to put exactly one particle at -the boundary (on either side of the box), not zero or two.

    -

    For the region style, a geometric volume is filled with particles on +the boundary (on either side of the box), not zero or two. +

    +

    For the region style, a geometric volume is filled with particles on the lattice. This volume what is inside the simulation box and is -also consistent with the region volume. See the region +also consistent with the region volume. See the region command for details. Note that a region can be specified so that its -“volume” is either inside or outside a geometric boundary. Also note +"volume" is either inside or outside a geometric boundary. Also note that if your region is the same size as a periodic simulation box (in some dimension), LAMMPS does not implement the same logic described -above as for the box style, to insure exactly one particle at +above as for the box style, to insure exactly one particle at periodic boundaries. if this is what you desire, you should either -use the box style, or tweak the region size to get precisely the -particles you want.

    -

    For the single style, a single particle is added to the system at +use the box style, or tweak the region size to get precisely the +particles you want. +

    +

    For the single style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified -positions.

    -

    For the random style, N particles are added to the system at +positions. +

    +

    For the random style, N particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the -speficied random number seed, resulting in the same set of particles +speficied random number seed, resulting in the same set of particles coordinates, independent of how many processors are being used in the -simulation. If the region-ID argument is specified as NULL, then +simulation. If the region-ID argument is specified as NULL, then the created particles will be anywhere in the simulation box. If a -region-ID is specified, a geometric volume is filled which is both +region-ID is specified, a geometric volume is filled which is both inside the simulation box and is also consistent with the region -volume. See the region command for details. Note that -a region can be specified so that its “volume” is either inside or -outside a geometric boundary.

    -
    -

    Warning

    -

    Particles generated by the random style will +volume. See the region command for details. Note that +a region can be specified so that its "volume" is either inside or +outside a geometric boundary. +

    +

    IMPORTANT NOTE: Particles generated by the random style will typically be highly overlapped which will cause many interatomic potentials to compute large energies and forces. Thus you should -either perform an energy minimization or run dynamics -with fix nve/limit to equilibrate such a system, -before running normal dynamics.

    -
    -

    Note that this command adds particles to those that already exist. +either perform an energy minimization or run dynamics +with fix nve/limit to equilibrate such a system, +before running normal dynamics. +

    +

    Note that this command adds particles to those that already exist. This means it can be used to add particles to a system previously read in from a data or restart file. Or the create_atoms command can be used multiple times, to add multiple sets of particles to the simulation. For example, grain boundaries can be created, by -interleaving create_atoms with lattice commands +interleaving create_atoms with lattice commands specifying different orientations. By using the create_atoms command -in conjunction with the delete_atoms command, +in conjunction with the delete_atoms command, reasonably complex geometries can be created, or a protein can be -solvated with a surrounding box of water molecules.

    -

    In all these cases, care should be taken to insure that new atoms do +solvated with a surrounding box of water molecules. +

    +

    In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules -are being added. The delete_atoms command can be -used to remove overlapping atoms or molecules.

    -
    -

    Individual atoms are inserted by this command, unless the mol -keyword is used. It specifies a template-ID previously defined -using the molecule command, which reads a file that +are being added. The delete_atoms command can be +used to remove overlapping atoms or molecules. +

    +
    + +

    Individual atoms are inserted by this command, unless the mol +keyword is used. It specifies a template-ID previously defined +using the molecule command, which reads a file that defines the molecule. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the -molecule command for details. The only settings +molecule command for details. The only settings required to be in this file are the coordinates and types of atoms in -the molecule.

    -

    Using a lattice to add molecules, e.g. via the box or region or -single styles, is exactly the same as adding atoms on lattice +the molecule. +

    +

    Using a lattice to add molecules, e.g. via the box or region or +single styles, is exactly the same as adding atoms on lattice points, except that entire molecules are added at each point, i.e. on the point defined by each basis atom in the unit cell as it tiles the simulation box or region. This is done by placing the geometric center of the molecule at the lattice point, and giving the molecule a -random orientation about the point. The random seed specified with -the mol keyword is used for this operation, and the random numbers +random orientation about the point. The random seed specified with +the mol keyword is used for this operation, and the random numbers generated by each processor are different. This means the coordinates of individual atoms (in the molecules) will be different when running on different numbers of processors, unlike when atoms are being -created in parallel.

    -

    Also note that because of the random rotations, it may be important to +created in parallel. +

    +

    Also note that because of the random rotations, it may be important to use a lattice with a large enough spacing that adjacent molecules will -not overlap, regardless of their relative orientations.

    -
    -

    Warning

    -

    If the create_box command is used to +not overlap, regardless of their relative orientations. +

    +

    IMPORTANT NOTE: If the create_box command is used to create the simulation box, followed by the create_atoms command with -its mol option for adding molecules, then you typically need to use -the optional keywords allowed by the create_box +its mol option for adding molecules, then you typically need to use +the optional keywords allowed by the create_box command for extra bonds (angles,etc) or extra special neighbors. This -is because by default, the create_box command sets -up a non-molecular system which doesn’t allow molecules to be added.

    -
    -
    -

    This is the meaning of the other allowed keywords.

    -

    The basis keyword is only used when atoms (not molecules) are being +is because by default, the create_box command sets +up a non-molecular system which doesn't allow molecules to be added. +

    +
    + +

    This is the meaning of the other allowed keywords. +

    +

    The basis keyword is only used when atoms (not molecules) are being created. It specifies an atom type that will be assigned to specific -basis atoms as they are created. See the lattice +basis atoms as they are created. See the lattice command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created atoms are assigned the -argument type as their atom type.

    -

    The remap keyword only applies to the single style. If it is set -to yes, then if the specified position is outside the simulation +argument type as their atom type. +

    +

    The remap keyword only applies to the single style. If it is set +to yes, then if the specified position is outside the simulation box, it will mapped back into the box, assuming the relevant -dimensions are periodic. If it is set to no, no remapping is done -and no particle is created if its position is outside the box.

    -

    The var and set keywords can be used to provide a criterion for +dimensions are periodic. If it is set to no, no remapping is done +and no particle is created if its position is outside the box. +

    +

    The var and set keywords can be used to provide a criterion for accepting or rejecting the addition of an individual atom, based on -its coordinates. The vname specified for the var keyword is the -name of an equal-style variable which should evaluate +its coordinates. The vname specified for the var keyword is the +name of an equal-style variable which should evaluate to a zero or non-zero value based on one or two or three variables which will store the x, y, or z coordinates of an atom (one variable -per coordinate). These other variables must be equal-style variables defined in the input script, but their -formula can by anything. The set keyword is used to identify the +per coordinate). These other variables must be equal-style +variables defined in the input script, but their +formula can by anything. The set keyword is used to identify the names of these other variables, one variable for the x-coordinate of a -created atom, one for y, and one for z.

    -

    When an atom is created, its x, y, or z coordinates override the -formula for any set variable that is defined. The var variable is +created atom, one for y, and one for z. +

    +

    When an atom is created, its x, y, or z coordinates override the +formula for any set variable that is defined. The var variable is then evaluated. If the returned value is 0.0, the atom is not created. If it is non-zero, the atom is created. After all atoms are -created, the formulas defined for all of the set variables are -restored to their original strings.

    -

    As an example, these commands can be used in a 2d simulation, to -create a sinusoidal surface. Note that the surface is “rough” due to -individual lattice points being “above” or “below” the mathematical +created, the formulas defined for all of the set variables are +restored to their original strings. +

    +

    As an example, these commands can be used in a 2d simulation, to +create a sinusoidal surface. Note that the surface is "rough" due to +individual lattice points being "above" or "below" the mathematical expression for the sinusoidal curve. If a finer lattice were used, -the sinusoid would appear to be “smoother”. Also note the use of the -“xlat” and “ylat” thermo_style keywords which +the sinusoid would appear to be "smoother". Also note the use of the +"xlat" and "ylat" thermo_style keywords which converts lattice spacings to distance. Click on the image for a -larger version.

    -
    variable        x equal 100
    +larger version.
    +

    +
    variable        x equal 100
     variable        y equal 25
    -lattice              hex 0.8442
    -region               box block 0 $x 0 $y -0.5 0.5
    -create_box   1 box
    -
    -
    -
    variable        xx equal 0.0
    +lattice		hex 0.8442
    +region		box block 0 $x 0 $y -0.5 0.5
    +create_box	1 box 
    +
    +
    variable        xx equal 0.0
     variable        yy equal 0.0
    -variable        v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0"
    -create_atoms 1 box var v set x xx set y yy
    -
    -
    - -

    The rotate keyword can be used with the single style, when adding +variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0" +create_atoms 1 box var v set x xx set y yy + +

    +
    +

    The rotate keyword can be used with the single style, when adding a single molecule to specify the orientation at which the molecule is inserted. The axis of rotation is determined by the rotation vector (Rx,Ry,Rz) that goes through the insertion point. The specified -theta determines the angle of rotation around that axis. Note that +theta determines the angle of rotation around that axis. Note that the direction of rotation for the atoms around the rotation axis is -consistent with the right-hand rule: if your right-hand’s thumb points -along R, then your fingers wrap around the axis in the direction of -rotation.

    -

    The units keyword determines the meaning of the distance units used -to specify the coordinates of the one particle created by the single -style. A box value selects standard distance units as defined by -the units command, e.g. Angstroms for units = real or -metal. A lattice value means the distance units are in lattice -spacings.

    -
    -

    Atom IDs are assigned to created atoms in the following way. The +consistent with the right-hand rule: if your right-hand's thumb points +along R, then your fingers wrap around the axis in the direction of +rotation. +

    +

    The units keyword determines the meaning of the distance units used +to specify the coordinates of the one particle created by the single +style. A box value selects standard distance units as defined by +the units command, e.g. Angstroms for units = real or +metal. A lattice value means the distance units are in lattice +spacings. +

    +
    + +

    Atom IDs are assigned to created atoms in the following way. The collection of created atoms are assigned consecutive IDs that start immediately following the largest atom ID existing before the create_atoms command was invoked. When a simulation is performed on different numbers of processors, there is no guarantee a particular created atom will be assigned the same ID. If molecules are being created, molecule IDs are assigned to created molecules in a similar -fashion.

    -

    Aside from their ID, atom type, and xyz position, other properties of +fashion. +

    +

    Aside from their ID, atom type, and xyz position, other properties of created atoms are set to default values, depending on which quantities -are defined by the chosen atom style. See the atom style command for more details. See the -set and velocity commands for info on how -to change these values.

    -
      -
    • charge = 0.0
    • -
    • dipole moment magnitude = 0.0
    • -
    • diameter = 1.0
    • -
    • shape = 0.0 0.0 0.0
    • -
    • density = 1.0
    • -
    • volume = 1.0
    • -
    • velocity = 0.0 0.0 0.0
    • -
    • angular velocity = 0.0 0.0 0.0
    • -
    • angular momentum = 0.0 0.0 0.0
    • -
    • quaternion = (1,0,0,0)
    • -
    • bonds, angles, dihedrals, impropers = none
    • -
    -

    If molecules are being created, these defaults can be overridden by -values specified in the file read by the molecule +are defined by the chosen atom style. See the atom +style command for more details. See the +set and velocity commands for info on how +to change these values. +

    +
    • charge = 0.0 +
    • dipole moment magnitude = 0.0 +
    • diameter = 1.0 +
    • shape = 0.0 0.0 0.0 +
    • density = 1.0 +
    • volume = 1.0 +
    • velocity = 0.0 0.0 0.0 +
    • angular velocity = 0.0 0.0 0.0 +
    • angular momentum = 0.0 0.0 0.0 +
    • quaternion = (1,0,0,0) +
    • bonds, angles, dihedrals, impropers = none +
    +

    If molecules are being created, these defaults can be overridden by +values specified in the file read by the molecule command. E.g. the file typically defines bonds (angles,etc) between -atoms in the molecule, and can optionally define charges on each atom.

    -

    Note that the sphere atom style sets the default particle diameter +atoms in the molecule, and can optionally define charges on each atom. +

    +

    Note that the sphere atom style sets the default particle diameter to 1.0 as well as the density. This means the mass for the particle -is not 1.0, but is PI/6 * diameter^3 = 0.5236.

    -

    Note that the ellipsoid atom style sets the default particle shape +is not 1.0, but is PI/6 * diameter^3 = 0.5236. +

    +

    Note that the ellipsoid atom style sets the default particle shape to (0.0 0.0 0.0) and the density to 1.0 which means it is a point -particle, not an ellipsoid, and has a mass of 1.0.

    -

    Note that the peri style sets the default volume and density to 1.0 -and thus also set the mass for the particle to 1.0.

    -

    The set command can be used to override many of these -default settings.

    -
    -
    -
    -

    Restrictions¶

    -

    An atom_style must be previously defined to use this -command.

    -

    A rotation vector specified for a single molecule must be in -the z-direction for a 2d model.

    -
    - -
    -

    Default¶

    -

    The default for the basis keyword is that all created atoms are -assigned the argument type as their atom type (when single atoms are -being created). The other defaults are remap = no, rotate = -random, and units = lattice.

    -
    -
    +particle, not an ellipsoid, and has a mass of 1.0. +

    +

    Note that the peri style sets the default volume and density to 1.0 +and thus also set the mass for the particle to 1.0. +

    +

    The set command can be used to override many of these +default settings. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    An atom_style must be previously defined to use this +command. +

    +

    A rotation vector specified for a single molecule must be in +the z-direction for a 2d model. +

    +

    Related commands: +

    +

    lattice, region, create_box, +read_data, read_restart +

    +

    Default: +

    +

    The default for the basis keyword is that all created atoms are +assigned the argument type as their atom type (when single atoms are +being created). The other defaults are remap = no, rotate = +random, and units = lattice. +

    + diff --git a/doc/create_bonds.html b/doc/create_bonds.html index 3a5ce672b6..13267df97f 100644 --- a/doc/create_bonds.html +++ b/doc/create_bonds.html @@ -1,293 +1,114 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - create_bonds command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    create_bonds command¶

    -
    -

    Syntax¶

    -
    create_bonds group-ID group2-ID btype rmin rmax
    -
    -
    -
      -
    • group-ID = ID of first group
    • -
    • group2-ID = ID of second group, bonds will be between atoms in the 2 groups
    • -
    • btype = bond type of created bonds
    • -
    • rmin = minimum distance between pair of atoms to bond together
    • -
    • rmax = minimum distance between pair of atoms to bond together
    • -
    -
    -
    -

    Examples¶

    -
    create_bonds all all 1 1.0 1.2
    -create_bonds surf solvent 3 2.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    Create bonds between pairs of atoms that meet specified distance + + +


    + +

    create_bonds command +

    +

    Syntax: +

    +
    create_bonds group-ID group2-ID btype rmin rmax 
    +
    +
    • group-ID = ID of first group +
    • group2-ID = ID of second group, bonds will be between atoms in the 2 groups +
    • btype = bond type of created bonds +
    • rmin = minimum distance between pair of atoms to bond together +
    • rmax = minimum distance between pair of atoms to bond together +
    +

    Examples: +

    +
    create_bonds all all 1 1.0 1.2
    +create_bonds surf solvent 3 2.0 2.4 
    +
    +

    Description: +

    +

    Create bonds between pairs of atoms that meet specified distance criteria. The bond interactions can then be computed during a simulation by the bond potential defined by the -bond_style and bond_coeff +bond_style and bond_coeff commands. This command is useful for adding bonds to a system, e.g. between nearest neighbors in a lattice of atoms, without having to enumerate all the bonds in the data file read by the -read_data command.

    -

    Note that the flexibility of this command is limited. It can be used +read_data command. +

    +

    Note that the flexibility of this command is limited. It can be used several times to create different types of bond at different distances. But it cannot typically create all the bonds that would normally be defined in a complex system of molecules. Also note that this command does not add any 3-body or 4-body interactions which, depending on your model, may be induced by added bonds, -e.g. angle, dihedral, or -improper interactions.

    -

    All created bonds will be between pairs of atoms I,J where I is in one +e.g. angle, dihedral, or +improper interactions. +

    +

    All created bonds will be between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups -can be the same, e.g. group “all”. The created bonds will be of bond -type btype, where btype must be a value between 1 and the number -of bond types defined. This maximum value is set by the “bond types” +can be the same, e.g. group "all". The created bonds will be of bond +type btype, where btype must be a value between 1 and the number +of bond types defined. This maximum value is set by the "bond types" field in the header of the data file read by the -read_data command, or via the optional “bond/types” -argument of the create_box command.

    -

    For a bond to be created, an I,J pair of atoms must be a distance D -apart such that rmin <= D <= rmax.

    -

    The following settings must have been made in an input -script before this command is used:

    - -

    These settings are required so that a neighbor list can be created to +read_data command, or via the optional "bond/types" +argument of the create_box command. +

    +

    For a bond to be created, an I,J pair of atoms must be a distance D +apart such that rmin <= D <= rmax. +

    +

    The following settings must have been made in an input +script before this command is used: +

    + +

    These settings are required so that a neighbor list can be created to search for nearby atoms. Pairs of atoms that are already bonded cannot appear in the neighbor list, to avoid creation of duplicate bonds. The neighbor list for all atom type pairs must also extend to -a distance that encompasses the rmax for new bonds to create.

    -

    An additional requirement is that your system must be ready to perform +a distance that encompasses the rmax for new bonds to create. +

    +

    An additional requirement is that your system must be ready to perform a simulation. This means, for example, that all -pair_style coefficients be set via the -pair_coeff command. A bond_style +pair_style coefficients be set via the +pair_coeff command. A bond_style command and all bond coefficients must also be set, even if no bonds exist before this command is invoked. This is because the building of neighbor list requires initialization and setup of a simulation, -similar to what a run command would require.

    -

    Note that you can change any of these settings after this command +similar to what a run command would require. +

    +

    Note that you can change any of these settings after this command executes, e.g. if you wish to use long-range Coulombic interactions -via the kspace_style command for your subsequent -simulation.

    -
    -

    Warning

    -

    If the system has no bonds to begin with, or if more +via the kspace_style command for your subsequent +simulation. +

    +

    IMPORTANT NOTE: If the system has no bonds to begin with, or if more bonds per atom are being added than currently exist, then you must insure that the number of bond types and the maximum number of bonds per atom are set to large enough values. Otherwise an error may occur when too many bonds are added to an atom. If the -read_data command is used to define the system, these -2 parameters can be set via the “bond types” and “extra bond per atom” +read_data command is used to define the system, these +2 parameters can be set via the "bond types" and "extra bond per atom" fields in the header section of the data file. If the -create_box command is used to define the system, -these 2 parameters can be set via its optional “bond/types” and -“extra/bond/per/atom” arguments. See the doc pages for the 2 commands -for details.

    -
    -
    -
    -

    Restrictions¶

    -

    This command cannot be used with molecular systems defined using -molecule template files via the molecule and -atom_style template commands.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +create_box command is used to define the system, +these 2 parameters can be set via its optional "bond/types" and +"extra/bond/per/atom" arguments. See the doc pages for the 2 commands +for details. +

    +

    Restrictions: +

    +

    This command cannot be used with molecular systems defined using +molecule template files via the molecule and +atom_style template commands. +

    +

    Related commands: +

    +

    create_atoms, delete_bonds +

    +

    Default: none +

    + diff --git a/doc/create_box.html b/doc/create_box.html index 21958fb993..85be5f5f61 100644 --- a/doc/create_box.html +++ b/doc/create_box.html @@ -1,185 +1,74 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - create_box command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    create_box command¶

    -
    -

    Syntax¶

    -
    create_box N region-ID keyword value ...
    -
    -
    -
      -
    • N = # of atom types to use in this simulation
    • -
    • region-ID = ID of region to use as simulation domain
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = bond/types or angle/types or dihedral/types or improper/types or extra/bond/per/atom or extra/angle/per/atom or extra/dihedral/per/atom or extra/improper/per/atom
    • -
    -
    -bond/types value = # of bond types
    -  angle/types value = # of angle types
    -  dihedral/types value = # of dihedral types
    -  improper/types value = # of improper types
    -  extra/bond/per/atom value = # of bonds per atom
    -  extra/angle/per/atom value = # of angles per atom
    -  extra/dihedral/per/atom value = # of dihedrals per atom
    -  extra/improper/per/atom value = # of impropers per atom
    -  extra/special/per/atom value = # of special neighbors per atom
    -
    -
    -
    -

    Examples¶

    -
    create_box 2 mybox
    -create_box 2 mybox bond/types 2 extra/bond/per/atom 1
    -
    -
    -
    -
    -

    Description¶

    -

    This command creates a simulation box based on the specified region. -Thus a region command must first be used to define a + + +


    + +

    create_box command +

    +

    Syntax: +

    +
    create_box N region-ID keyword value ... 
    +
    +
    • N = # of atom types to use in this simulation + +
    • region-ID = ID of region to use as simulation domain + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = bond/types or angle/types or dihedral/types or improper/types or extra/bond/per/atom or extra/angle/per/atom or extra/dihedral/per/atom or extra/improper/per/atom + +
        bond/types value = # of bond types
      +  angle/types value = # of angle types
      +  dihedral/types value = # of dihedral types
      +  improper/types value = # of improper types
      +  extra/bond/per/atom value = # of bonds per atom
      +  extra/angle/per/atom value = # of angles per atom
      +  extra/dihedral/per/atom value = # of dihedrals per atom
      +  extra/improper/per/atom value = # of impropers per atom
      +  extra/special/per/atom value = # of special neighbors per atom 
      +
      + +
    +

    Examples: +

    +
    create_box 2 mybox
    +create_box 2 mybox bond/types 2 extra/bond/per/atom 1 
    +
    +

    Description: +

    +

    This command creates a simulation box based on the specified region. +Thus a region command must first be used to define a geometric domain. It also partitions the simulation box into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and the settings of the -processors command. The partitioning can later be -changed by the balance or fix balance commands.

    -

    The argument N is the number of atom types that will be used in the -simulation.

    -

    If the region is not of style prism, then LAMMPS encloses the region +processors command. The partitioning can later be +changed by the balance or fix +balance commands. +

    +

    The argument N is the number of atom types that will be used in the +simulation. +

    +

    If the region is not of style prism, then LAMMPS encloses the region (block, sphere, etc) with an axis-aligned orthogonal bounding box -which becomes the simulation domain.

    -

    If the region is of style prism, LAMMPS creates a non-orthogonal +which becomes the simulation domain. +

    +

    If the region is of style prism, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. -As defined by the region prism command, the -parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 +As defined by the region prism command, the +parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = -(xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or -positive or negative values and are called “tilt factors” because they +(xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or +positive or negative values and are called "tilt factors" because they are the amount of displacement applied to faces of an originally -orthogonal box to transform it into the parallelipiped.

    -

    By default, a prism region used with the create_box command must +orthogonal box to transform it into the parallelipiped. +

    +

    By default, a prism region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be @@ -188,140 +77,86 @@ between -5 and 5. Similarly, both xz and yz must be between since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box with tilt -factors that exceed these limits, you can use the box tilt -command, with a setting of large; a setting of small is the -default.

    -

    See Section_howto 12 of the doc pages +factors that exceed these limits, you can use the box tilt +command, with a setting of large; a setting of small is the +default. +

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations.

    -

    When a prism region is used, the simulation domain should normally be +triclinic representations. +

    +

    When a prism region is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by the -boundary command. For example, if the xy tilt factor +boundary command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if this is not -the case.

    -

    Also note that if your simulation will tilt the box, e.g. via the fix deform command, the simulation box must be setup to +the case. +

    +

    Also note that if your simulation will tilt the box, e.g. via the fix +deform command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by -using the change box command with its ortho and -triclinic options.

    -
    -

    Warning

    -

    If the system is non-periodic (in a dimension), then +using the change box command with its ortho and +triclinic options. +

    +

    IMPORTANT NOTE: If the system is non-periodic (in a dimension), then you should not make the lo/hi box dimensions (as defined in your -region command) radically smaller/larger than the extent +region command) radically smaller/larger than the extent of the atoms you eventually plan to create, e.g. via the -create_atoms command. For example, if your atoms +create_atoms command. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because as described above, LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using -“fixed” boundary conditions (see the boundary -command). When using “shrink-wrap” boundary conditions (see the -boundary command), a huge (mostly empty) box may cause +"fixed" boundary conditions (see the boundary +command). When using "shrink-wrap" boundary conditions (see the +boundary command), a huge (mostly empty) box may cause a parallel simulation to lose atoms the first time that LAMMPS -shrink-wraps the box around the atoms.

    -
    -
    -

    The optional keywords can be used to create a system that allows for +shrink-wraps the box around the atoms. +

    +
    + +

    The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with special 1-2,1-3,1-4 neighbors to be added later. These optional keywords serve the same purpose as the analogous keywords that can be used in a data file which are recognized by the -read_data command when it sets up a system.

    -

    Note that if these keywords are not used, then the create_box command +read_data command when it sets up a system. +

    +

    Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds -between pairs of atoms to be defined, or a bond potential to be specified, or for molecules with +between pairs of atoms to be defined, or a bond +potential to be specified, or for molecules with special neighbors to be added to the system by commands such as -create_atoms mol, fix deposit -or fix pour.

    -

    As an example, see the examples/deposit/in.deposit.molecule script, +create_atoms mol, fix deposit +or fix pour. +

    +

    As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the fix deposit command. The create_box command in the +molecules in the system, but they are added later by the fix +deposit command. The create_box command in the script uses the bond/types and extra/bond/per/atom keywords to allow this. If the added molecule contained more than 1 special bond (allowed by default), an extra/special/per/atom keyword would also -need to be specified.

    -
    -
    -
    -

    Restrictions¶

    -

    An atom_style and region must have -been previously defined to use this command.

    -
    - -
    +need to be specified. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    An atom_style and region must have +been previously defined to use this command. +

    +

    Related commands: +

    +

    read_data, create_atoms, +region +

    +

    Default: none +

    + diff --git a/doc/delete_atoms.html b/doc/delete_atoms.html index 193b87af16..c0dc0590d8 100644 --- a/doc/delete_atoms.html +++ b/doc/delete_atoms.html @@ -1,329 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - delete_atoms command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    delete_atoms command¶

    -
    -

    Syntax¶

    -
    delete_atoms style args keyword value ...
    -
    -
    -
      -
    • style = group or region or overlap or porosity
    • -
    -
    -group args = group-ID
    -  region args = region-ID
    -  overlap args = cutoff group1-ID group2-ID
    +
    +
    +
    + +

    delete_atoms command +

    +

    Syntax: +

    +
    delete_atoms style args keyword value ... 
    +
    +
    • style = group or region or overlap or porosity + +
        group args = group-ID
      +  region args = region-ID
      +  overlap args = cutoff group1-ID group2-ID
           cutoff = delete one atom from pairs of atoms within the cutoff (distance units)
           group1-ID = one atom in pair must be in this group
           group2-ID = other atom in pair must be in this group
      -  porosity args = region-ID fraction seed
      +  porosity args = region-ID fraction seed
           region-ID = region within which to perform deletions
           fraction = delete this fraction of atoms
      -    seed = random number seed (positive integer)
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = compress or bond or mol
      • -
      -
      -compress value = no or yes
      -  bond value = no or yes
      -  mol value = no or yes
      -
      -
    -
    -

    Examples¶

    -
    delete_atoms group edge
    +    seed = random number seed (positive integer) 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = compress or bond or mol + +
      compress value = no or yes
    +  bond value = no or yes
    +  mol value = no or yes 
    +
    + + +

    Examples: +

    +
    delete_atoms group edge
     delete_atoms region sphere compress no
     delete_atoms overlap 0.3 all all
     delete_atoms overlap 0.5 solvent colloid
    -delete_atoms porosity cube 0.1 482793 bond yes
    -
  • -
    -
    -
    -

    Description¶

    -

    Delete the specified atoms. This command can be used to carve out +delete_atoms porosity cube 0.1 482793 bond yes + +

    Description: +

    +

    Delete the specified atoms. This command can be used to carve out voids from a block of material or to delete created atoms that are too -close to each other (e.g. at a grain boundary).

    -

    For style group, all atoms belonging to the group are deleted.

    -

    For style region, all atoms in the region volume are deleted. +close to each other (e.g. at a grain boundary). +

    +

    For style group, all atoms belonging to the group are deleted. +

    +

    For style region, all atoms in the region volume are deleted. Additional atoms can be deleted if they are in a molecule for which -one or more atoms were deleted within the region; see the mol -keyword discussion below.

    -

    For style overlap pairs of atoms whose distance of separation is +one or more atoms were deleted within the region; see the mol +keyword discussion below. +

    +

    For style overlap pairs of atoms whose distance of separation is within the specified cutoff distance are searched for, and one of the 2 atoms is deleted. Only pairs where one of the two atoms is in the first group specified and the other atom is in the second group are considered. The atom that is in the first group is the one that is -deleted.

    -

    Note that it is OK for the two group IDs to be the same (e.g. group -all), or for some atoms to be members of both groups. In these +deleted. +

    +

    Note that it is OK for the two group IDs to be the same (e.g. group +all), or for some atoms to be members of both groups. In these cases, either atom in the pair may be deleted. Also note that if there are atoms which are members of both groups, the only guarantee is that at the end of the deletion operation, enough deletions will have occurred that no atom pairs within the cutoff will remain (subject to the group restriction). There is no guarantee that the minimum number of atoms will be deleted, or that the same atoms will -be deleted when running on different numbers of processors.

    -

    For style porosity a specified fraction of atoms are deleted +be deleted when running on different numbers of processors. +

    +

    For style porosity a specified fraction of atoms are deleted within the specified region. For example, if fraction is 0.1, then 10% of the atoms will be deleted. The atoms to delete are chosen randomly. There is no guarantee that the exact fraction of atoms will be deleted, or that the same atoms will be deleted when running on -different numbers of processors.

    -

    If the compress keyword is set to yes, then after atoms are +different numbers of processors. +

    +

    If the compress keyword is set to yes, then after atoms are deleted, then atom IDs are re-assigned so that they run from 1 to the number of atoms in the system. Note that this is not done for -molecular systems (see the atom_style command), -regardless of the compress setting, since it would foul up the bond -connectivity that has already been assigned.

    -

    A molecular system with fixed bonds, angles, dihedrals, or improper +molecular systems (see the atom_style command), +regardless of the compress setting, since it would foul up the bond +connectivity that has already been assigned. +

    +

    A molecular system with fixed bonds, angles, dihedrals, or improper interactions, is one where the topology of the interactions is typically defined in the data file read by the -read_data command, and where the interactions -themselves are defined with the bond_style, -angle_style, etc commands. If you delete atoms +read_data command, and where the interactions +themselves are defined with the bond_style, +angle_style, etc commands. If you delete atoms from such a system, you must be careful not to end up with bonded interactions that are stored by remaining atoms but which include -deleted atoms. This will cause LAMMPS to generate a “missing atoms” -error when the bonded interaction is computed. The bond and mol -keywords offer two ways to do that.

    -

    It the bond keyword is set to yes then any bond or angle or +deleted atoms. This will cause LAMMPS to generate a "missing atoms" +error when the bonded interaction is computed. The bond and mol +keywords offer two ways to do that. +

    +

    It the bond keyword is set to yes then any bond or angle or dihedral or improper interaction that includes a deleted atom is also removed from the lists of such interactions stored by non-deleted atoms. Note that simply deleting interactions due to dangling bonds (e.g. at a surface) may result in a inaccurate or invalid model for -the remaining atoms.

    -

    It the mol keyword is set to yes, then for every atom that is +the remaining atoms. +

    +

    It the mol keyword is set to yes, then for every atom that is deleted, all other atoms in the same molecule (with the same molecule ID) will also be deleted. This is not done for atoms with molecule ID = 0, since such an ID is assumed to flag isolated atoms that are not -part of molecules.

    -
    -

    Warning

    -

    The molecule deletion operation in invoked after all +part of molecules. +

    +

    IMPORTANT NOTE: The molecule deletion operation in invoked after all individual atoms have been deleted using the rules described above for each style. This means additional atoms may be deleted that are not in the group or region, that are not required by the overlap cutoff criterion, or that will create a higher fraction of porosity than was -requested.

    -
    -
    -
    -

    Restrictions¶

    -

    The overlap styles requires inter-processor communication to acquire +requested. +

    +

    Restrictions: +

    +

    The overlap styles requires inter-processor communication to acquire ghost atoms and build a neighbor list. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses set, etc). Since a neighbor list is used to find overlapping atom pairs, it also means that you must define a -pair style with the minimum force cutoff distance -between any pair of atoms types (plus the neighbor -skin) >= the specified overlap cutoff.

    -

    If the special_bonds command is used with a +pair style with the minimum force cutoff distance +between any pair of atoms types (plus the neighbor +skin) >= the specified overlap cutoff. +

    +

    If the special_bonds command is used with a setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not appear in the neighbor list, and thus will not be considered for -deletion by the overlap styles. You probably don’t want to be -deleting one atom in a bonded pair anyway.

    -

    The bond yes option cannot be used with molecular systems defined -using molecule template files via the molecule and -atom_style template commands.

    -
    - -
    -

    Default¶

    -

    The option defaults are compress = yes, bond = no, mol = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +deletion by the overlap styles. You probably don't want to be +deleting one atom in a bonded pair anyway. +

    +

    The bond yes option cannot be used with molecular systems defined +using molecule template files via the molecule and +atom_style template commands. +

    +

    Related commands: +

    +

    create_atoms +

    +

    Default: +

    +

    The option defaults are compress = yes, bond = no, mol = no. +

    + diff --git a/doc/delete_bonds.html b/doc/delete_bonds.html index d302ba39d7..ccd35f4526 100644 --- a/doc/delete_bonds.html +++ b/doc/delete_bonds.html @@ -1,328 +1,159 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - delete_bonds command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    delete_bonds command¶

    -
    -

    Syntax¶

    -
    delete_bonds group-ID style arg keyword ...
    -
    -
    -
      -
    • group-ID = group ID

      -
    • -
    • -
      style = multi or atom or bond or angle or dihedral or
      -

      improper or stats

      -
      -
      -
    • -
    -
    -multi arg = none
    -  atom arg = an atom type or range of types (see below)
    -  bond arg = a bond type or range of types (see below)
    -  angle arg = an angle type or range of types (see below)
    -  dihedral arg = a dihedral type or range of types (see below)
    -  improper arg = an improper type or range of types (see below)
    -  stats arg = none
    -
    -
      -
    • zero or more keywords may be appended
    • -
    • keyword = any or undo or remove or special
    • -
    -
    -
    -

    Examples¶

    -
    delete_bonds frozen multi remove
    +
    +
    +
    + +

    delete_bonds command +

    +

    Syntax: +

    +
    delete_bonds group-ID style arg keyword ... 
    +
    +
    • group-ID = group ID + +
    • style = multi or atom or bond or angle or dihedral or + improper or stats + +
        multi arg = none
      +  atom arg = an atom type or range of types (see below)
      +  bond arg = a bond type or range of types (see below)
      +  angle arg = an angle type or range of types (see below)
      +  dihedral arg = a dihedral type or range of types (see below)
      +  improper arg = an improper type or range of types (see below)
      +  stats arg = none 
      +
      +
    • zero or more keywords may be appended + +
    • keyword = any or undo or remove or special + + +
    +

    Examples: +

    +
    delete_bonds frozen multi remove
     delete_bonds all atom 4 special
     delete_bonds all bond 0*3 special
    -delete_bonds all stats
    -
    -
    -
    -
    -

    Description¶

    -

    Turn off (or on) molecular topology interactions, i.e. bonds, angles, +delete_bonds all stats + +

    Description: +

    +

    Turn off (or on) molecular topology interactions, i.e. bonds, angles, dihedrals, impropers. This command is useful for deleting interactions that have been previously turned off by bond-breaking potentials. It is also useful for turning off topology interactions between frozen or rigid atoms. Pairwise interactions can be turned -off via the neigh_modify exclude command. The -fix shake command also effectively turns off certain -bond and angle interactions.

    -

    For all styles, by default, an interaction is only turned off (or on) -if all the atoms involved are in the specified group. See the any -keyword to change the behavior.

    -

    Several of the styles (atom, bond, angle, dihedral, -improper) take a type as an argument. The specified type should +off via the neigh_modify exclude command. The +fix shake command also effectively turns off certain +bond and angle interactions. +

    +

    For all styles, by default, an interaction is only turned off (or on) +if all the atoms involved are in the specified group. See the any +keyword to change the behavior. +

    +

    Several of the styles (atom, bond, angle, dihedral, +improper) take a type as an argument. The specified type should be an integer from 0 to N, where N is the number of relevant types (atom types, bond types, etc). A value of 0 is only relevant for -style bond; see details below. In all cases, a wildcard asterisk -can be used in place of or in conjunction with the type argument to -specify a range of types. This takes the form “*” or “n” or “n” or -“m*n”. If N = the number of types, then an asterisk with no numeric +style bond; see details below. In all cases, a wildcard asterisk +can be used in place of or in conjunction with the type argument to +specify a range of types. This takes the form "*" or "*n" or "n*" or +"m*n". If N = the number of types, then an asterisk with no numeric values means all types from 0 to N. A leading asterisk means all types from 0 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that it is fine to include a type of 0 for -non-bond styles; it will simply be ignored.

    -

    For style multi all bond, angle, dihedral, and improper interactions -of any type, involving atoms in the group, are turned off.

    -

    Style atom is the same as style multi except that in addition, one +non-bond styles; it will simply be ignored. +

    +

    For style multi all bond, angle, dihedral, and improper interactions +of any type, involving atoms in the group, are turned off. +

    +

    Style atom is the same as style multi except that in addition, one or more of the atoms involved in the bond, angle, dihedral, or -improper interaction must also be of the specified atom type.

    -

    For style bond, only bonds are candidates for turn-off, and the bond -must also be of the specified type. Styles angle, dihedral, and -improper are treated similarly.

    -

    For style bond, you can set the type to 0 to delete bonds that have +improper interaction must also be of the specified atom type. +

    +

    For style bond, only bonds are candidates for turn-off, and the bond +must also be of the specified type. Styles angle, dihedral, and +improper are treated similarly. +

    +

    For style bond, you can set the type to 0 to delete bonds that have been previously broken by a bond-breaking potential (which sets the -bond type to 0 when a bond is broken); e.g. see the bond_style quartic command.

    -

    For style stats no interactions are turned off (or on); the status +bond type to 0 when a bond is broken); e.g. see the bond_style +quartic command. +

    +

    For style stats no interactions are turned off (or on); the status of all interactions in the specified group is simply reported. This is useful for diagnostic purposes if bonds have been turned off by a -bond-breaking potential during a previous run.

    -

    The default behavior of the delete_bonds command is to turn off +bond-breaking potential during a previous run. +

    +

    The default behavior of the delete_bonds command is to turn off interactions by toggling their type to a negative value, but not to permanently remove the interaction. E.g. a bond_type of 2 is set to -2. The neighbor list creation routines will not include such an interaction in their interaction lists. The default is also to not alter the list of 1-2, 1-3, 1-4 neighbors computed by the -special_bonds command and used to weight pairwise +special_bonds command and used to weight pairwise force and energy calculations. This means that pairwise computations -will proceed as if the bond (or angle, etc) were still turned on.

    -

    Several keywords can be appended to the argument list to alter the -default behaviors.

    -

    The any keyword changes the requirement that all atoms in the bond +will proceed as if the bond (or angle, etc) were still turned on. +

    +

    Several keywords can be appended to the argument list to alter the +default behaviors. +

    +

    The any keyword changes the requirement that all atoms in the bond (angle, etc) must be in the specified group in order to turn-off the interaction. Instead, if any of the atoms in the interaction are in -the specified group, it will be turned off (or on if the undo -keyword is used).

    -

    The undo keyword inverts the delete_bonds command so that the +the specified group, it will be turned off (or on if the undo +keyword is used). +

    +

    The undo keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For -example, for style angle, if type is specified as 2, then all +example, for style angle, if type is specified as 2, then all angles with current type = -2, are reset to type = 2. Note that the -fix shake command also sets bond and angle types -negative, so this option should not be used on those interactions.

    -

    The remove keyword is invoked at the end of the delete_bonds +fix shake command also sets bond and angle types +negative, so this option should not be used on those interactions. +

    +

    The remove keyword is invoked at the end of the delete_bonds operation. It causes turned-off bonds (angles, etc) to be removed -from each atom’s data structure and then adjusts the global bond +from each atom's data structure and then adjusts the global bond (angle, etc) counts accordingly. Removal is a permanent change; -removed bonds cannot be turned back on via the undo keyword. -Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list.

    -

    The special keyword is invoked at the end of the delete_bonds +removed bonds cannot be turned back on via the undo keyword. +Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. +

    +

    The special keyword is invoked at the end of the delete_bonds operation, after (optional) removal. It re-computes the pairwise 1-2, 1-3, 1-4 weighting list. The weighting list computation treats turned-off bonds the same as turned-on. Thus, turned-off bonds must -be removed if you wish to change the weighting list.

    -

    Note that the choice of remove and special options affects how +be removed if you wish to change the weighting list. +

    +

    Note that the choice of remove and special options affects how 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that -have been modified by the delete_bonds command.

    -
    -
    -

    Restrictions¶

    -

    This command requires inter-processor communication to coordinate the +have been modified by the delete_bonds command. +

    +

    Restrictions: +

    +

    This command requires inter-processor communication to coordinate the deleting of bonds. This means that your system must be ready to perform a simulation before using this command (force fields setup, -atom masses set, etc).

    -

    If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 -weighting list is not recomputed, this can cause a later fix shake command to fail due to an atom’s bonds being +atom masses set, etc). +

    +

    If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 +weighting list is not recomputed, this can cause a later fix +shake command to fail due to an atom's bonds being inconsistent with the weighting list. This should only happen if the group used in the fix command includes both atoms in the bond, in -which case you probably should be recomputing the weighting list.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +which case you probably should be recomputing the weighting list. +

    +

    Related commands: +

    +

    neigh_modify exclude, +special_bonds, fix shake +

    +

    Default: none +

    + diff --git a/doc/dielectric.html b/doc/dielectric.html index e10cd1ca4d..9ba1459bcd 100644 --- a/doc/dielectric.html +++ b/doc/dielectric.html @@ -1,233 +1,44 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dielectric command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dielectric command¶

    -
    -

    Syntax¶

    -
    dielectric value
    -
    -
    -
      -
    • value = dielectric constant
    • -
    -
    -
    -

    Examples¶

    -
    dielectric 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Set the dielectric constant for Coulombic interactions (pairwise and + + +


    + +

    dielectric command +

    +

    Syntax: +

    +
    dielectric value 
    +
    +
    • value = dielectric constant +
    +

    Examples: +

    +
    dielectric 2.0 
    +
    +

    Description: +

    +

    Set the dielectric constant for Coulombic interactions (pairwise and long-range) to this value. The constant is unitless, since it is used to reduce the strength of the interactions. The value is used in the denominator of the formulas for Coulombic interactions - e.g. a value of 4.0 reduces the Coulombic interactions to 25% of their default -strength. See the pair_style command for more -details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -
    dielectric 1.0
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +strength. See the pair_style command for more +details. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_style +

    +

    Default: +

    +
    dielectric 1.0 
    +
    + diff --git a/doc/dihedral_charmm.html b/doc/dihedral_charmm.html index b51e9b9160..10a1588f63 100644 --- a/doc/dihedral_charmm.html +++ b/doc/dihedral_charmm.html @@ -1,178 +1,61 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style charmm command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style charmm command¶

    -
    -
    -

    dihedral_style charmm/kk command¶

    -
    -
    -

    dihedral_style charmm/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style charmm
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style charmm
    -dihedral_coeff 1 120.0 1 60 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    The charmm dihedral style uses the potential

    -_images/dihedral_charmm.jpg -

    See (MacKerell) for a description of the CHARMM force + + +


    + +

    dihedral_style charmm command +

    +

    dihedral_style charmm/kk command +

    +

    dihedral_style charmm/omp command +

    +

    Syntax: +

    +
    dihedral_style charmm 
    +
    +

    Examples: +

    +
    dihedral_style charmm
    +dihedral_coeff 1 120.0 1 60 0.5 
    +
    +

    Description: +

    +

    The charmm dihedral style uses the potential +

    +
    +
    +

    See (MacKerell) for a description of the CHARMM force field. This dihedral style can also be used for the AMBER force field -(see comment on weighting factors below). See (Cornell) -for a description of the AMBER force field.

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • n (integer >= 0)
    • -
    • d (integer value of degrees)
    • -
    • weighting factor (0.0 to 1.0)
    • -
    -

    The weighting factor is applied to pairwise interaction between the +(see comment on weighting factors below). See (Cornell) +for a description of the AMBER force field. +

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • n (integer >= 0) +
    • d (integer value of degrees) +
    • weighting factor (0.0 to 1.0) +
    +

    The weighting factor is applied to pairwise interaction between the 1st and 4th atoms in the dihedral, which are computed by a CHARMM -pair_style with epsilon and sigma values specified -with a pair_coeff command. Note that this +pair_style with epsilon and sigma values specified +with a pair_coeff command. Note that this weighting factor is unrelated to the weighting factor specified by the -special bonds command which applies to all 1-4 -interactions in the system.

    -

    For CHARMM force fields, the special_bonds 1-4 weighting factor should -be set to 0.0. This is because the pair styles that contain “charmm” -(e.g. pair_style lj/charmm/coul/long) define extra +special bonds command which applies to all 1-4 +interactions in the system. +

    +

    For CHARMM force fields, the special_bonds 1-4 weighting factor should +be set to 0.0. This is because the pair styles that contain "charmm" +(e.g. pair_style lj/charmm/coul/long) define extra 1-4 interaction coefficients that are used by this dihedral style to compute those interactions explicitly. This means that if any of the weighting factors defined as dihedral coefficients (4th coeff above) @@ -180,107 +63,61 @@ are non-zero, then you must use a charmm pair style. Note that if you do not set the special_bonds 1-4 weighting factor to 0.0 (which is the default) then 1-4 interactions in dihedrals will be computed twice, once by the pair routine and once by the dihedral routine, which is -probably not what you want.

    -

    For AMBER force fields, the special_bonds 1-4 weighting factor should +probably not what you want. +

    +

    For AMBER force fields, the special_bonds 1-4 weighting factor should be set to the AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors (4th coeff above) should be set to 0.0. In this case, you can use any pair style you wish, since the dihedral does not -need any 1-4 information.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +need any 1-4 information. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem B, 102, 3586 (1998). +

    + diff --git a/doc/dihedral_class2.html b/doc/dihedral_class2.html index 6376f1e223..1dc4af3f4e 100644 --- a/doc/dihedral_class2.html +++ b/doc/dihedral_class2.html @@ -1,349 +1,185 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style class2 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style class2 command¶

    -
    -
    -

    dihedral_style class2/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style class2
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style class2
    +
    +
    +
    + +

    dihedral_style class2 command +

    +

    dihedral_style class2/omp command +

    +

    Syntax: +

    +
    dihedral_style class2 
    +
    +

    Examples: +

    +
    dihedral_style class2
     dihedral_coeff 1 100 75 100 70 80 60
    -dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228
    +dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228 
     dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010
    -dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270
    -dihedral_coeff * aat -13.5271 110.2453 105.1270
    -dihedral_coeff * bb13 0.0 1.0119 1.1010
    -
    -
    -
    -
    -

    Description¶

    -

    The class2 dihedral style uses the potential

    -_images/dihedral_class2.jpg -

    where Ed is the dihedral term, Embt is a middle-bond-torsion term, +dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270 +dihedral_coeff * aat -13.5271 110.2453 105.1270 +dihedral_coeff * bb13 0.0 1.0119 1.1010 + +

    Description: +

    +

    The class2 dihedral style uses the potential +

    +
    +
    +

    where Ed is the dihedral term, Embt is a middle-bond-torsion term, Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat -is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term.

    -

    Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium -bond lengths.

    -

    See (Sun) for a description of the COMPASS class2 force field.

    -

    Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas +is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. +

    +

    Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium +bond lengths. +

    +

    See (Sun) for a description of the COMPASS class2 force field. +

    +

    Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas must be defined for each dihedral type via the -dihedral_coeff command as in the example above, +dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands.

    -

    These are the 6 coefficients for the Ed formula:

    -
      -
    • K1 (energy)
    • -
    • phi1 (degrees)
    • -
    • K2 (energy)
    • -
    • phi2 (degrees)
    • -
    • K3 (energy)
    • -
    • phi3 (degrees)
    • -
    -

    For the Embt formula, each line in a -dihedral_coeff command in the input script lists -5 coefficients, the first of which is “mbt” to indicate they are +read_data or read_restart +commands. +

    +

    These are the 6 coefficients for the Ed formula: +

    +
    • K1 (energy) +
    • phi1 (degrees) +
    • K2 (energy) +
    • phi2 (degrees) +
    • K3 (energy) +
    • phi3 (degrees) +
    +

    For the Embt formula, each line in a +dihedral_coeff command in the input script lists +5 coefficients, the first of which is "mbt" to indicate they are MiddleBondTorsion coefficients. In a data file, these coefficients -should be listed under a “MiddleBondTorsion Coeffs” heading and you -must leave out the “mbt”, i.e. only list 4 coefficients after the -dihedral type.

    -
      -
    • mbt
    • -
    • A1 (energy/distance)
    • -
    • A2 (energy/distance)
    • -
    • A3 (energy/distance)
    • -
    • r2 (distance)
    • -
    -

    For the Eebt formula, each line in a -dihedral_coeff command in the input script lists -9 coefficients, the first of which is “ebt” to indicate they are +should be listed under a "MiddleBondTorsion Coeffs" heading and you +must leave out the "mbt", i.e. only list 4 coefficients after the +dihedral type. +

    +
    • mbt +
    • A1 (energy/distance) +
    • A2 (energy/distance) +
    • A3 (energy/distance) +
    • r2 (distance) +
    +

    For the Eebt formula, each line in a +dihedral_coeff command in the input script lists +9 coefficients, the first of which is "ebt" to indicate they are EndBondTorsion coefficients. In a data file, these coefficients -should be listed under a “EndBondTorsion Coeffs” heading and you must -leave out the “ebt”, i.e. only list 8 coefficients after the dihedral -type.

    -
      -
    • ebt
    • -
    • B1 (energy/distance)
    • -
    • B2 (energy/distance)
    • -
    • B3 (energy/distance)
    • -
    • C1 (energy/distance)
    • -
    • C2 (energy/distance)
    • -
    • C3 (energy/distance)
    • -
    • r1 (distance)
    • -
    • r3 (distance)
    • -
    -

    For the Eat formula, each line in a -dihedral_coeff command in the input script lists -9 coefficients, the first of which is “at” to indicate they are +should be listed under a "EndBondTorsion Coeffs" heading and you must +leave out the "ebt", i.e. only list 8 coefficients after the dihedral +type. +

    +
    • ebt +
    • B1 (energy/distance) +
    • B2 (energy/distance) +
    • B3 (energy/distance) +
    • C1 (energy/distance) +
    • C2 (energy/distance) +
    • C3 (energy/distance) +
    • r1 (distance) +
    • r3 (distance) +
    +

    For the Eat formula, each line in a +dihedral_coeff command in the input script lists +9 coefficients, the first of which is "at" to indicate they are AngleTorsion coefficients. In a data file, these coefficients should -be listed under a “AngleTorsion Coeffs” heading and you must leave out -the “at”, i.e. only list 8 coefficients after the dihedral type.

    -
      -
    • at
    • -
    • D1 (energy/radian)
    • -
    • D2 (energy/radian)
    • -
    • D3 (energy/radian)
    • -
    • E1 (energy/radian)
    • -
    • E2 (energy/radian)
    • -
    • E3 (energy/radian)
    • -
    • theta1 (degrees)
    • -
    • theta2 (degrees)
    • -
    -

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them +be listed under a "AngleTorsion Coeffs" heading and you must leave out +the "at", i.e. only list 8 coefficients after the dihedral type. +

    +
    • at +
    • D1 (energy/radian) +
    • D2 (energy/radian) +
    • D3 (energy/radian) +
    • E1 (energy/radian) +
    • E2 (energy/radian) +
    • E3 (energy/radian) +
    • theta1 (degrees) +
    • theta2 (degrees) +
    +

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them to radians internally; hence the units of D and E are in -energy/radian.

    -

    For the Eaat formula, each line in a -dihedral_coeff command in the input script lists -4 coefficients, the first of which is “aat” to indicate they are +energy/radian. +

    +

    For the Eaat formula, each line in a +dihedral_coeff command in the input script lists +4 coefficients, the first of which is "aat" to indicate they are AngleAngleTorsion coefficients. In a data file, these coefficients -should be listed under a “AngleAngleTorsion Coeffs” heading and you -must leave out the “aat”, i.e. only list 3 coefficients after the -dihedral type.

    -
      -
    • aat
    • -
    • M (energy/radian^2)
    • -
    • theta1 (degrees)
    • -
    • theta2 (degrees)
    • -
    -

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of M are in energy/radian^2.

    -

    For the Ebb13 formula, each line in a -dihedral_coeff command in the input script lists -4 coefficients, the first of which is “bb13” to indicate they are +should be listed under a "AngleAngleTorsion Coeffs" heading and you +must leave out the "aat", i.e. only list 3 coefficients after the +dihedral type. +

    +
    • aat +
    • M (energy/radian^2) +
    • theta1 (degrees) +
    • theta2 (degrees) +
    +

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of M are in energy/radian^2. +

    +

    For the Ebb13 formula, each line in a +dihedral_coeff command in the input script lists +4 coefficients, the first of which is "bb13" to indicate they are BondBond13 coefficients. In a data file, these coefficients should be -listed under a “BondBond13 Coeffs” heading and you must leave out the -“bb13”, i.e. only list 3 coefficients after the dihedral type.

    -
      -
    • bb13
    • -
    • N (energy/distance^2)
    • -
    • r1 (distance)
    • -
    • r3 (distance)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +listed under a "BondBond13 Coeffs" heading and you must leave out the +"bb13", i.e. only list 3 coefficients after the dihedral type. +

    +
    • bb13 +
    • N (energy/distance^2) +
    • r1 (distance) +
    • r3 (distance) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -CLASS2 package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +CLASS2 package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). +

    + diff --git a/doc/dihedral_coeff.html b/doc/dihedral_coeff.html index 45adc65ee9..5461b7e706 100644 --- a/doc/dihedral_coeff.html +++ b/doc/dihedral_coeff.html @@ -1,290 +1,113 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_coeff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_coeff command¶

    -
    -

    Syntax¶

    -
    dihedral_coeff N args
    -
    -
    -
      -
    • N = dihedral type (see asterisk form below)
    • -
    • args = coefficients for one or more dihedral types
    • -
    -
    -
    -

    Examples¶

    -
    dihedral_coeff 1 80.0 1 3
    +
    +
    +
    + +

    dihedral_coeff command +

    +

    Syntax: +

    +
    dihedral_coeff N args 
    +
    +
    • N = dihedral type (see asterisk form below) +
    • args = coefficients for one or more dihedral types +
    +

    Examples: +

    +
    dihedral_coeff 1 80.0 1 3
     dihedral_coeff * 80.0 1 3 0.5
    -dihedral_coeff 2* 80.0 1 3 0.5
    -
    -
    -
    -
    -

    Description¶

    -
    -

    Specify the dihedral force field coefficients for one or more dihedral types. +dihedral_coeff 2* 80.0 1 3 0.5 + +

    Description: +

    +
    + +

    Specify the dihedral force field coefficients for one or more dihedral types. The number and meaning of the coefficients depends on the dihedral style. Dihedral coefficients can also be set in the data file read by the -read_data command or in a restart file.

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file. +

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple dihedral types. This takes the -form “*” or “n” or “n” or “m*n”. If N = the number of dihedral types, +form "*" or "*n" or "n*" or "m*n". If N = the number of dihedral types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive).

    -

    Note that using a dihedral_coeff command can override a previous setting +means all types from m to n (inclusive). +

    +

    Note that using a dihedral_coeff command can override a previous setting for the same dihedral type. For example, these commands set the coeffs -for all dihedral types, then overwrite the coeffs for just dihedral type 2:

    -
    dihedral_coeff * 80.0 1 3
    -dihedral_coeff 2 200.0 1 3
    -
    -
    -

    A line in a data file that specifies dihedral coefficients uses the exact +for all dihedral types, then overwrite the coeffs for just dihedral type 2: +

    +
    dihedral_coeff * 80.0 1 3
    +dihedral_coeff 2 200.0 1 3 
    +
    +

    A line in a data file that specifies dihedral coefficients uses the exact same format as the arguments of the dihedral_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the “Dihedral Coeffs” section of a data file, the line that -corresponds to the 1st example above would be listed as

    -
    1 80.0 1 3
    -
    -
    -

    The dihedral_style class2 is an exception to +under the "Dihedral Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

    +
    1 80.0 1 3 
    +
    +

    The dihedral_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc -page for details.

    -
    -

    Warning

    -

    When comparing the formulas and coefficients for +page for details. +

    +

    IMPORTANT NOTE: When comparing the formulas and coefficients for various LAMMPS dihedral styles with dihedral equations defined by other force fields, note that some force field implementations -divide/multiply the energy prefactor K by the multiple number of +divide/multiply the energy prefactor K by the multiple number of torsions that contain the J-K bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed dihedral equation applies to each -individual dihedral. Thus you need to define K appropriately to -account for this difference if necessary.

    -
    -
    -

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +individual dihedral. Thus you need to define K appropriately to +account for this difference if necessary. +

    +
    + +

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated dihedral_coeff command.

    -

    Note that there are also additional dihedral styles submitted by users +specified by the associated dihedral_coeff command. +

    +

    Note that there are also additional dihedral styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the dihedral section of -this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -

    A dihedral style must be defined before any dihedral coefficients are -set, either in the input script or in a data file.

    -
    - -
    +this page. +

    + + +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    A dihedral style must be defined before any dihedral coefficients are +set, either in the input script or in a data file. +

    +

    Related commands: +

    +

    dihedral_style +

    +

    Default: none +

    + diff --git a/doc/dihedral_cosine_shift_exp.html b/doc/dihedral_cosine_shift_exp.html index 97ad1a1f3c..b6712072e9 100644 --- a/doc/dihedral_cosine_shift_exp.html +++ b/doc/dihedral_cosine_shift_exp.html @@ -1,263 +1,92 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style cosine/shift/exp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style cosine/shift/exp command¶

    -
    -
    -

    dihedral_style cosine/shift/exp/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style cosine/shift/exp
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style cosine/shift/exp
    -dihedral_coeff 1 10.0 45.0 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cosine/shift/exp dihedral style uses the potential

    -_images/dihedral_cosine_shift_exp.jpg -

    where Umin, theta, and a are defined for each dihedral type.

    -

    The potential is bounded between [-Umin:0] and the minimum is located + + +


    + +

    dihedral_style cosine/shift/exp command +

    +

    dihedral_style cosine/shift/exp/omp command +

    +

    Syntax: +

    +
    dihedral_style cosine/shift/exp 
    +
    +

    Examples: +

    +
    dihedral_style cosine/shift/exp
    +dihedral_coeff 1 10.0 45.0 2.0 
    +
    +

    Description: +

    +

    The cosine/shift/exp dihedral style uses the potential +

    +
    +
    +

    where Umin, theta, and a are defined for each dihedral type. +

    +

    The potential is bounded between [-Umin:0] and the minimum is located at the angle theta0. The a parameter can be both positive or negative -and is used to control the spring constant at the equilibrium.

    -

    The spring constant is given by k=a exp(a) Umin/ [2 (Exp(a)-1)]. -For a>3 k/Umin = a/2 to better than 5% relative error. For negative +and is used to control the spring constant at the equilibrium. +

    +

    The spring constant is given by k=a exp(a) Umin/ [2 (Exp(a)-1)]. +For a>3 k/Umin = a/2 to better than 5% relative error. For negative values of the a parameter, the spring constant is essentially zero, and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a->0, where it has been implemented to linear -order in a for a < 0.001.

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example +behaved in the limit a->0, where it has been implemented to linear +order in a for a < 0.001. +

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • umin (energy)
    • -
    • theta (angle)
    • -
    • A (real number)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • umin (energy) +
    • theta (angle) +
    • A (real number) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff, +angle_cosineshiftexp +

    +

    Default: none +

    + diff --git a/doc/dihedral_fourier.html b/doc/dihedral_fourier.html index 98f2bfae85..f1b85a1692 100644 --- a/doc/dihedral_fourier.html +++ b/doc/dihedral_fourier.html @@ -1,256 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style fourier command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style fourier command¶

    -
    -
    -

    dihedral_style fourier/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style fourier
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style fourier
    -dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0
    -
    -
    -
    -
    -

    Description¶

    -

    The fourier dihedral style uses the potential:

    -_images/dihedral_fourier.jpg -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • m (integer >=1)
    • -
    • K1 (energy)
    • -
    • n1 (integer >= 0)
    • -
    • d1 (degrees)
    • -
    • -
    • Km (energy)
    • -
    • nm (integer >= 0)
    • -
    • dm (degrees)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    dihedral_style fourier command +

    +

    dihedral_style fourier/omp command +

    +

    Syntax: +

    +
    dihedral_style fourier 
    +
    +

    Examples: +

    +
    dihedral_style fourier
    +dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0 
    +
    +

    Description: +

    +

    The fourier dihedral style uses the potential: +

    +
    +
    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • m (integer >=1) +
    • K1 (energy) +
    • n1 (integer >= 0) +
    • d1 (degrees) +
    • .... +
    • Km (energy) +
    • nm (integer >= 0) +
    • dm (degrees) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_harmonic.html b/doc/dihedral_harmonic.html index d8d838420f..b4bc70655d 100644 --- a/doc/dihedral_harmonic.html +++ b/doc/dihedral_harmonic.html @@ -1,264 +1,90 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style harmonic command¶

    -
    -
    -

    dihedral_style harmonic/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style harmonic
    -dihedral_coeff 1 80.0 1 2
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic dihedral style uses the potential

    -_images/dihedral_harmonic.jpg -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K (energy)
    • -
    • d (+1 or -1)
    • -
    • n (integer >= 0)
    • -
    -
    -

    Warning

    -

    Here are important points to take note of when + + +


    + +

    dihedral_style harmonic command +

    +

    dihedral_style harmonic/omp command +

    +

    Syntax: +

    +
    dihedral_style harmonic 
    +
    +

    Examples: +

    +
    dihedral_style harmonic
    +dihedral_coeff 1 80.0 1 2 
    +
    +

    Description: +

    +

    The harmonic dihedral style uses the potential +

    +
    +
    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K (energy) +
    • d (+1 or -1) +
    • n (integer >= 0) +
    +

    IMPORTANT NOTE: Here are important points to take note of when defining LAMMPS dihedral coefficients for the harmonic style, so that they are compatible with how harmonic dihedrals are defined by other -force fields:

    -
    -
      -
    • The LAMMPS convention is that the trans position = 180 degrees, while -in some force fields trans = 0 degrees.
    • -
    • Some force fields reverse the sign convention on d.
    • -
    • Some force fields let n be positive or negative which corresponds to -d = 1 or -1 for the harmonic style.
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +force fields: +

    +
    • The LAMMPS convention is that the trans position = 180 degrees, while +in some force fields trans = 0 degrees. + +
    • Some force fields reverse the sign convention on d. + +
    • Some force fields let n be positive or negative which corresponds to +d = 1 or -1 for the harmonic style. +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_helix.html b/doc/dihedral_helix.html index 1969d84e5a..461cbb399f 100644 --- a/doc/dihedral_helix.html +++ b/doc/dihedral_helix.html @@ -1,259 +1,91 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style helix command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style helix command¶

    -
    -
    -

    dihedral_style helix/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style helix
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style helix
    -dihedral_coeff 1 80.0 100.0 40.0
    -
    -
    -
    -
    -

    Description¶

    -

    The helix dihedral style uses the potential

    -_images/dihedral_helix.jpg -

    This coarse-grain dihedral potential is described in (Guo). + + +


    + +

    dihedral_style helix command +

    +

    dihedral_style helix/omp command +

    +

    Syntax: +

    +
    dihedral_style helix 
    +
    +

    Examples: +

    +
    dihedral_style helix
    +dihedral_coeff 1 80.0 100.0 40.0 
    +
    +

    Description: +

    +

    The helix dihedral style uses the potential +

    +
    +
    +

    This coarse-grain dihedral potential is described in (Guo). For dihedral angles in the helical region, the energy function is represented by a standard potential consisting of three minima, one corresponding to the trans (t) state and the other to gauche states (g+ and g-). The paper describes how the A,B,C parameters are chosen so as to balance secondary (largely driven by local interactions) and -tertiary structure (driven by long-range interactions).

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • A (energy)
    • -
    • B (energy)
    • -
    • C (energy)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +tertiary structure (driven by long-range interactions). +

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • A (energy) +
    • B (energy) +
    • C (energy) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Guo) Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). +

    + diff --git a/doc/dihedral_hybrid.html b/doc/dihedral_hybrid.html index c1910ad46b..23960e40c8 100644 --- a/doc/dihedral_hybrid.html +++ b/doc/dihedral_hybrid.html @@ -1,275 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style hybrid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style hybrid command¶

    -
    -

    Syntax¶

    -
    dihedral_style hybrid style1 style2 ...
    -
    -
    -
      -
    • style1,style2 = list of one or more dihedral styles
    • -
    -
    -
    -

    Examples¶

    -
    dihedral_style hybrid harmonic helix
    +
    +
    +
    + +

    dihedral_style hybrid command +

    +

    Syntax: +

    +
    dihedral_style hybrid style1 style2 ... 
    +
    +
    • style1,style2 = list of one or more dihedral styles +
    +

    Examples: +

    +
    dihedral_style hybrid harmonic helix
     dihedral_coeff 1 harmonic 6.0 1 3
    -dihedral_coeff 2* helix 10 10 10
    -
    -
    -
    -
    -

    Description¶

    -

    The hybrid style enables the use of multiple dihedral styles in one +dihedral_coeff 2* helix 10 10 10 + +

    Description: +

    +

    The hybrid style enables the use of multiple dihedral styles in one simulation. An dihedral style is assigned to each dihedral type. For example, dihedrals in a polymer flow (of dihedral type 1) could be -computed with a harmonic potential and dihedrals in the wall -boundary (of dihedral type 2) could be computed with a helix +computed with a harmonic potential and dihedrals in the wall +boundary (of dihedral type 2) could be computed with a helix potential. The assignment of dihedral type to style is made via the -dihedral_coeff command or in the data file.

    -

    In the dihedral_coeff commands, the name of a dihedral style must be +dihedral_coeff command or in the data file. +

    +

    In the dihedral_coeff commands, the name of a dihedral style must be added after the dihedral type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 dihedral_coeff commands set dihedrals of dihedral type 1 to be -computed with a harmonic potential with coefficients 6.0, 1, 3 for -K, d, n. All other dihedral types (2-N) are computed with a helix -potential with coefficients 10, 10, 10 for A, B, C.

    -

    If dihedral coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. “harmonic” or “helix”, must be added after the dihedral type, for -each line in the “Dihedral Coeffs” section, e.g.

    -
    Dihedral Coeffs
    -
    -
    -
    1 harmonic 6.0 1 3
    +computed with a harmonic potential with coefficients 6.0, 1, 3 for
    +K, d, n.  All other dihedral types (2-N) are computed with a helix
    +potential with coefficients 10, 10, 10 for A, B, C.
    +

    +

    If dihedral coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. "harmonic" or "helix", must be added after the dihedral type, for +each line in the "Dihedral Coeffs" section, e.g. +

    +
    Dihedral Coeffs 
    +
    +
    1 harmonic 6.0 1 3
     2 helix 10 10 10
    -...
    -
    -
    -

    If class2 is one of the dihedral hybrid styles, the same rule holds +... + +

    If class2 is one of the dihedral hybrid styles, the same rule holds for specifying additional AngleTorsion (and EndBondTorsion, etc) coefficients either via the input script or in the data file. -I.e. class2 must be added to each line after the dihedral type. For +I.e. class2 must be added to each line after the dihedral type. For lines in the AngleTorsion (or EndBondTorsion, etc) section of the data -file for dihedral types that are not class2, you must use an -dihedral style of skip as a placeholder, e.g.

    -
    AngleTorsion Coeffs
    -
    -
    -
    1 skip
    +file for dihedral types that are not class2, you must use an
    +dihedral style of skip as a placeholder, e.g.
    +

    +
    AngleTorsion Coeffs 
    +
    +
    1 skip
     2 class2 1.0 1.0 1.0 3.0 3.0 3.0 30.0 50.0
    -...
    -
    -
    -

    Note that it is not necessary to use the dihedral style skip in the +... + +

    Note that it is not necessary to use the dihedral style skip in the input script, since AngleTorsion (or EndBondTorsion, etc) coefficients -need not be specified at all for dihedral types that are not class2.

    -

    A dihedral style of none with no additional coefficients can be used +need not be specified at all for dihedral types that are not class2. +

    +

    A dihedral style of none with no additional coefficients can be used in place of a dihedral style, either in a input script dihedral_coeff command or in the data file, if you desire to turn off interactions -for specific dihedral types.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    Unlike other dihedral styles, the hybrid dihedral style does not store -dihedral coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a -restart file, you need to re-specify dihedral_coeff commands.

    -
    - -
    +for specific dihedral types. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Unlike other dihedral styles, the hybrid dihedral style does not store +dihedral coefficient info for individual sub-styles in a binary +restart files. Thus when retarting a simulation from a +restart file, you need to re-specify dihedral_coeff commands. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_multi_harmonic.html b/doc/dihedral_multi_harmonic.html index 9fc9d7ac88..5557b772b4 100644 --- a/doc/dihedral_multi_harmonic.html +++ b/doc/dihedral_multi_harmonic.html @@ -1,252 +1,79 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style multi/harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style multi/harmonic command¶

    -
    -
    -

    dihedral_style multi/harmonic/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style multi/harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style multi/harmonic
    -dihedral_coeff 1 20 20 20 20 20
    -
    -
    -
    -
    -

    Description¶

    -

    The multi/harmonic dihedral style uses the potential

    -_images/dihedral_multi_harmonic.jpg -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • A1 (energy)
    • -
    • A2 (energy)
    • -
    • A3 (energy)
    • -
    • A4 (energy)
    • -
    • A5 (energy)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    dihedral_style multi/harmonic command +

    +

    dihedral_style multi/harmonic/omp command +

    +

    Syntax: +

    +
    dihedral_style multi/harmonic 
    +
    +

    Examples: +

    +
    dihedral_style multi/harmonic
    +dihedral_coeff 1 20 20 20 20 20 
    +
    +

    Description: +

    +

    The multi/harmonic dihedral style uses the potential +

    +
    +
    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • A1 (energy) +
    • A2 (energy) +
    • A3 (energy) +
    • A4 (energy) +
    • A5 (energy) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_nharmonic.html b/doc/dihedral_nharmonic.html index 6450ec8f03..256ea0651a 100644 --- a/doc/dihedral_nharmonic.html +++ b/doc/dihedral_nharmonic.html @@ -1,253 +1,79 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style nharmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style nharmonic command¶

    -
    -
    -

    dihedral_style nharmonic/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style nharmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style nharmonic
    -dihedral_coeff 3 10.0 20.0 30.0
    -
    -
    -
    -
    -

    Description¶

    -

    The nharmonic dihedral style uses the potential:

    -_images/dihedral_nharmonic.jpg -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • n (integer >=1)
    • -
    • A1 (energy)
    • -
    • A2 (energy)
    • -
    • ...
    • -
    • An (energy)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + + +


    + +

    dihedral_style nharmonic command +

    +

    dihedral_style nharmonic/omp command +

    +

    Syntax: +

    +
    dihedral_style nharmonic 
    +
    +

    Examples: +

    +
    dihedral_style nharmonic
    +dihedral_coeff 3 10.0 20.0 30.0 
    +
    +

    Description: +

    +

    The nharmonic dihedral style uses the potential: +

    +
    +
    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • n (integer >=1) +
    • A1 (energy) +
    • A2 (energy) +
    • ... +
    • An (energy) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_none.html b/doc/dihedral_none.html index 83dbd7d8a4..439ab77036 100644 --- a/doc/dihedral_none.html +++ b/doc/dihedral_none.html @@ -1,218 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style none command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style none command¶

    -
    -

    Syntax¶

    -
    dihedral_style none
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Using an dihedral style of none means dihedral forces are not + + +


    + +

    dihedral_style none command +

    +

    Syntax: +

    +
    dihedral_style none 
    +
    +

    Examples: +

    +
    dihedral_style none 
    +
    +

    Description: +

    +

    Using an dihedral style of none means dihedral forces are not computed, even if quadruplets of dihedral atoms were listed in the -data file read by the read_data command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +data file read by the read_data command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/dihedral_opls.html b/doc/dihedral_opls.html index c509b8111a..133841c79c 100644 --- a/doc/dihedral_opls.html +++ b/doc/dihedral_opls.html @@ -1,261 +1,93 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style opls command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style opls command¶

    -
    -
    -

    dihedral_style opls/kk command¶

    -
    -
    -

    dihedral_style opls/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style opls
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style opls
    +
    +
    +
    + +

    dihedral_style opls command +

    +

    dihedral_style opls/kk command +

    +

    dihedral_style opls/omp command +

    +

    Syntax: +

    +
    dihedral_style opls 
    +
    +

    Examples: +

    +
    dihedral_style opls
     dihedral_coeff 1 1.740 -0.157 0.279 0.00   # CT-CT-CT-CT
     dihedral_coeff 2 0.000 0.000 0.366 0.000   # CT-CT-CT-HC
    -dihedral_coeff 3 0.000 0.000 0.318 0.000   # HC-CT-CT-HC
    -
    -
    -
    -
    -

    Description¶

    -

    The opls dihedral style uses the potential

    -_images/dihedral_opls.jpg -

    Note that the usual 1/2 factor is not included in the K values.

    -

    This dihedral potential is used in the OPLS force field and is -described in (Watkins).

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands:

    -
      -
    • K1 (energy)
    • -
    • K2 (energy)
    • -
    • K3 (energy)
    • -
    • K4 (energy)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +dihedral_coeff 3 0.000 0.000 0.318 0.000 # HC-CT-CT-HC + +

    Description: +

    +

    The opls dihedral style uses the potential +

    +
    +
    +

    Note that the usual 1/2 factor is not included in the K values. +

    +

    This dihedral potential is used in the OPLS force field and is +described in (Watkins). +

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands: +

    +
    • K1 (energy) +
    • K2 (energy) +
    • K3 (energy) +
    • K4 (energy) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Watkins) Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). +

    + diff --git a/doc/dihedral_quadratic.html b/doc/dihedral_quadratic.html index 6faaab69f4..2d6ffa43f1 100644 --- a/doc/dihedral_quadratic.html +++ b/doc/dihedral_quadratic.html @@ -1,253 +1,80 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style quadratic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style quadratic command¶

    -
    -
    -

    dihedral_style quadratic/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style quadratic
    -
    -
    -
    -
    -

    Examples¶

    -
    dihedral_style quadratic
    -dihedral_coeff 100.0 80.0
    -
    -
    -
    -
    -

    Description¶

    -

    The quadratic dihedral style uses the potential:

    -_images/dihedral_quadratic.jpg -

    This dihedral potential can be used to keep a dihedral in a predefined -value (cis=zero, right-hand convention is used).

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example + + +


    + +

    dihedral_style quadratic command +

    +

    dihedral_style quadratic/omp command +

    +

    Syntax: +

    +
    dihedral_style quadratic 
    +
    +

    Examples: +

    +
    dihedral_style quadratic
    +dihedral_coeff 100.0 80.0 
    +
    +

    Description: +

    +

    The quadratic dihedral style uses the potential: +

    +
    +
    +

    This dihedral potential can be used to keep a dihedral in a predefined +value (cis=zero, right-hand convention is used). +

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy/radian^2)
    • -
    • phi0 (degrees)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy/radian^2) +
    • phi0 (degrees) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dihedral_style.html b/doc/dihedral_style.html index f186ee018b..0eb962eadc 100644 --- a/doc/dihedral_style.html +++ b/doc/dihedral_style.html @@ -1,296 +1,121 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style command¶

    -
    -

    Syntax¶

    -
    dihedral_style style
    -
    -
    -
      -
    • style = none or hybrid or charmm or class2 or harmonic or helix or multi/harmonic or opls
    • -
    -
    -
    -

    Examples¶

    -
    dihedral_style harmonic
    +
    +
    +
    + +

    dihedral_style command +

    +

    Syntax: +

    +
    dihedral_style style 
    +
    +
    • style = none or hybrid or charmm or class2 or harmonic or helix or multi/harmonic or opls +
    +

    Examples: +

    +
    dihedral_style harmonic
     dihedral_style multi/harmonic
    -dihedral_style hybrid harmonic charmm
    -
    -
    -
    -
    -

    Description¶

    -

    Set the formula(s) LAMMPS uses to compute dihedral interactions +dihedral_style hybrid harmonic charmm + +

    Description: +

    +

    Set the formula(s) LAMMPS uses to compute dihedral interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of dihedral quadruplets is read in by a -read_data or read_restart command -from a data or restart file.

    -

    Hybrid models where dihedrals are computed using different dihedral -potentials can be setup using the hybrid dihedral style.

    -

    The coefficients associated with a dihedral style can be specified in -a data or restart file or via the dihedral_coeff -command.

    -

    All dihedral potentials store their coefficient data in binary restart +read_data or read_restart command +from a data or restart file. +

    +

    Hybrid models where dihedrals are computed using different dihedral +potentials can be setup using the hybrid dihedral style. +

    +

    The coefficients associated with a dihedral style can be specified in +a data or restart file or via the dihedral_coeff +command. +

    +

    All dihedral potentials store their coefficient data in binary restart files which means dihedral_style and -dihedral_coeff commands do not need to be +dihedral_coeff commands do not need to be re-specified in an input script that restarts a simulation. See the -read_restart command for details on how to do -this. The one exception is that dihedral_style hybrid only stores +read_restart command for details on how to do +this. The one exception is that dihedral_style hybrid only stores the list of sub-styles in the restart file; dihedral coefficients need -to be re-specified.

    -
    -

    Warning

    -

    When both a dihedral and pair style is defined, the -special_bonds command often needs to be used to +to be re-specified. +

    +

    IMPORTANT NOTE: When both a dihedral and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 4 bonded atoms.

    -
    -

    In the formulas listed for each dihedral style, phi is the torsional +exist between 4 bonded atoms. +

    +

    In the formulas listed for each dihedral style, phi is the torsional angle defined by the quadruplet of atoms. This angle has a sign -convention as shown in this diagram:

    -_images/dihedral_sign.jpg -

    where the I,J,K,L ordering of the 4 atoms that define the dihedral -is from left to right.

    -

    This sign convention effects several of the dihedral styles listed +convention as shown in this diagram: +

    +
    +
    +

    where the I,J,K,L ordering of the 4 atoms that define the dihedral +is from left to right. +

    +

    This sign convention effects several of the dihedral styles listed below (e.g. charmm, helix) in the sense that the energy formula depends on the sign of phi, which may be reflected in the value of the -coefficients you specify.

    -
    -

    Warning

    -

    When comparing the formulas and coefficients for +coefficients you specify. +

    +

    IMPORTANT NOTE: When comparing the formulas and coefficients for various LAMMPS dihedral styles with dihedral equations defined by other force fields, note that some force field implementations -divide/multiply the energy prefactor K by the multiple number of +divide/multiply the energy prefactor K by the multiple number of torsions that contain the J-K bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed dihedral equation applies to each -individual dihedral. Thus you need to define K appropriately via -the dihedral_coeff command to account for this -difference if necessary.

    -
    -
    -

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +individual dihedral. Thus you need to define K appropriately via +the dihedral_coeff command to account for this +difference if necessary. +

    +
    + +

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated dihedral_coeff command.

    -

    Note that there are also additional dihedral styles submitted by users +specified by the associated dihedral_coeff command. +

    +

    Note that there are also additional dihedral styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the dihedral section of -this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    Dihedral styles can only be set for atom styles that allow dihedrals -to be defined.

    -

    Most dihedral styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +this page. +

    + + +
    + +

    Restrictions: +

    +

    Dihedral styles can only be set for atom styles that allow dihedrals +to be defined. +

    +

    Most dihedral styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. The doc pages for individual dihedral potentials tell if it is part of -a package.

    -
    - -
    -

    Default¶

    -

    dihedral_style none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a package. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: +

    +

    dihedral_style none +

    + diff --git a/doc/dihedral_table.html b/doc/dihedral_table.html index edd61be1d3..754bac683e 100644 --- a/doc/dihedral_table.html +++ b/doc/dihedral_table.html @@ -1,223 +1,105 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dihedral_style table command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dihedral_style table command¶

    -
    -
    -

    dihedral_style table/omp command¶

    -
    -

    Syntax¶

    -
    dihedral_style table style Ntable
    -
    -
    -
      -
    • style = linear or spline = method of interpolation
    • -
    • Ntable = size of the internal lookup table
    • -
    -
    -
    -

    Examples¶

    -
    dihedral_style table spline 400
    +
    +
    +
    + +

    dihedral_style table command +

    +

    dihedral_style table/omp command +

    +

    Syntax: +

    +
    dihedral_style table style Ntable 
    +
    +
    • style = linear or spline = method of interpolation +
    • Ntable = size of the internal lookup table +
    +

    Examples: +

    +
    dihedral_style table spline 400
     dihedral_style table linear 1000
     dihedral_coeff 1 file.table DIH_TABLE1
    -dihedral_coeff 2 file.table DIH_TABLE2
    -
    -
    -
    -
    -

    Description¶

    -

    The table dihedral style creates interpolation tables of length -Ntable from dihedral potential and derivative values listed in a -file(s) as a function of the dihedral angle “phi”. The files are read -by the dihedral_coeff command.

    -

    The interpolation tables are created by fitting cubic splines to the +dihedral_coeff 2 file.table DIH_TABLE2 + +

    Description: +

    +

    The table dihedral style creates interpolation tables of length +Ntable from dihedral potential and derivative values listed in a +file(s) as a function of the dihedral angle "phi". The files are read +by the dihedral_coeff command. +

    +

    The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of -Ntable dihedral angles. During a simulation, these tables are used +Ntable dihedral angles. During a simulation, these tables are used to interpolate energy and force values on individual atoms as -needed. The interpolation is done in one of 2 styles: linear or -spline.

    -

    For the linear style, the dihedral angle (phi) is used to find 2 +needed. The interpolation is done in one of 2 styles: linear or +spline. +

    +

    For the linear style, the dihedral angle (phi) is used to find 2 surrounding table values from which an energy or its derivative is -computed by linear interpolation.

    -

    For the spline style, cubic spline coefficients are computed and -stored at each of the Ntable evenly-spaced values in the +computed by linear interpolation. +

    +

    For the spline style, cubic spline coefficients are computed and +stored at each of the Ntable evenly-spaced values in the interpolated table. For a given dihedral angle (phi), the appropriate coefficients are chosen from this list, and a cubic polynomial is used -to compute the energy and the derivative at this angle.

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example -above.

    -
      -
    • filename
    • -
    • keyword
    • -
    -

    The filename specifies a file containing tabulated energy and +to compute the energy and the derivative at this angle. +

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example +above. +

    +
    • filename +
    • keyword +
    +

    The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The -format of this file is described below.

    -
    -

    The format of a tabulated file is as follows (without the +format of this file is described below. +

    +
    + +

    The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment -or blank lines.

    -
    # Table of the potential and its negative derivative
    -
    -
    -
    DIH_TABLE1                   (keyword is the first text on line)
    +or blank lines.
    +

    +
    # Table of the potential and its negative derivative  
    +
    +
    DIH_TABLE1                   (keyword is the first text on line)
     N 30 DEGREES                 (N, NOF, DEGREES, RADIANS, CHECKU/F)
                                  (blank line)
     1 -168.0 -1.40351172223 -0.0423346818422
     2 -156.0 -1.70447981034 -0.00811786522531
     3 -144.0 -1.62956100432 0.0184129719987
     ...
    -30 180.0 -0.707106781187 -0.0719306095245
    -
    -
    -
    # Example 2: table of the potential. Forces omitted
    -
    -
    -
    DIH_TABLE2
    -N 30 NOF CHECKU testU.dat CHECKF testF.dat
    -
    -
    -
    1 -168.0 -1.40351172223
    +30 180.0 -0.707106781187 -0.0719306095245 
    +
    +
    # Example 2: table of the potential. Forces omitted 
    +
    +
    DIH_TABLE2
    +N 30 NOF CHECKU testU.dat CHECKF testF.dat 
    +
    +
    1 -168.0 -1.40351172223
     2 -156.0 -1.70447981034
     3 -144.0 -1.62956100432
     ...
    -30 180.0 -0.707106781187
    -
    -
    -

    A section begins with a non-blank line whose 1st character is not a -“#”; blank lines or lines starting with “#” can be used as comments +30 180.0 -0.707106781187 + +

    A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -dihedral_coeff command. The next line lists (in +dihedral_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values.

    -

    Following a blank line, the next N lines list the tabulated values. On +keyword followed by one or more numeric values. +

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the angle value, the 3rd value is the energy (in energy units), and the 4th is -dE/d(phi) also in energy units). The 3rd term is the @@ -226,151 +108,104 @@ term (when present) is the negative derivative of the energy with respect to the angle (in degrees, or radians depending on whether the user selected DEGREES or RADIANS). Thus the units of the last term are still energy, not force. The dihedral angle values must increase -from one line to the next.

    -

    Dihedral table splines are cyclic. There is no discontinuity at 180 +from one line to the next. +

    +

    Dihedral table splines are cyclic. There is no discontinuity at 180 degrees (or at any other angle). Although in the examples above, the angles range from -180 to 180 degrees, in general, the first angle in the list can have any value (positive, zero, or negative). However -the range of angles represented in the table must be strictly less +the range of angles represented in the table must be strictly less than 360 degrees (2pi radians) to avoid angle overlap. (You may not supply entries in the table for both 180 and -180, for example.) If -the user’s table covers only a narrow range of dihedral angles, -strange numerical behavior can occur in the large remaining gap.

    -

    Parameters:

    -

    The parameter “N” is required and its value is the number of table +the user's table covers only a narrow range of dihedral angles, +strange numerical behavior can occur in the large remaining gap. +

    +

    Parameters: +

    +

    The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N -specified in the dihedral_style table command. -Let Ntable is the number of table entries requested dihedral_style -command, and let Nfile be the parameter following “N” in the -tabulated file (“30” in the sparse example above). What LAMMPS does -is a preliminary interpolation by creating splines using the Nfile +specified in the dihedral_style table command. +Let Ntable is the number of table entries requested dihedral_style +command, and let Nfile be the parameter following "N" in the +tabulated file ("30" in the sparse example above). What LAMMPS does +is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as -needed to generate energy and derivative values at Ntable different +needed to generate energy and derivative values at Ntable different points (which are evenly spaced over a 360 degree range, even if the -angles in the file are not). The resulting tables of length Ntable +angles in the file are not). The resulting tables of length Ntable are then used as described above, when computing energy and force for individual dihedral angles and their atoms. This means that if you -want the interpolation tables of length Ntable to match exactly what +want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively nopreliminary -interpolation), you should set Ntable = Nfile. To insure the -nodal points in the user’s file are aligned with the interpolated +interpolation), you should set Ntable = Nfile. To insure the +nodal points in the user's file are aligned with the interpolated table entries, the angles in the table should be integer multiples of -360/Ntable degrees, or 2*PI/Ntable radians (depending on your -choice of angle units).

    -

    The optional “NOF” keyword allows the user to omit the forces +360/Ntable degrees, or 2*PI/Ntable radians (depending on your +choice of angle units). +

    +

    The optional "NOF" keyword allows the user to omit the forces (negative energy derivatives) from the table file (normally located in the 4th column). In their place, forces will be calculated automatically by differentiating the potential energy function indicated by the 3rd column of the table (using either linear or -spline interpolation).

    -

    The optional “DEGREES” keyword allows the user to specify angles in -degrees instead of radians (default).

    -

    The optional “RADIANS” keyword allows the user to specify angles in +spline interpolation). +

    +

    The optional "DEGREES" keyword allows the user to specify angles in +degrees instead of radians (default). +

    +

    The optional "RADIANS" keyword allows the user to specify angles in radians instead of degrees. (Note: This changes the way the forces -are scaled in the 4th column of the data file.)

    -

    The optional “CHECKU” keyword is followed by a filename. This allows -the user to save all of the the Ntable different entries in the +are scaled in the 4th column of the data file.) +

    +

    The optional "CHECKU" keyword is followed by a filename. This allows +the user to save all of the the Ntable different entries in the interpolated energy table to a file to make sure that the interpolated -function agrees with the user’s expectations. (Note: You can -temporarily increase the Ntable parameter to a high value for this -purpose. “Ntable” is explained above.)

    -

    The optional “CHECKF” keyword is analogous to the “CHECKU” keyword. +function agrees with the user's expectations. (Note: You can +temporarily increase the Ntable parameter to a high value for this +purpose. "Ntable" is explained above.) +

    +

    The optional "CHECKF" keyword is analogous to the "CHECKU" keyword. It is followed by a filename, and it allows the user to check the interpolated force table. This option is available even if the user -selected the “NOF” option.

    -

    Note that one file can contain many sections, each with a tabulated +selected the "NOF" option. +

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one -that matches the specified keyword.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +that matches the specified keyword. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restrictions¶

    -

    This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restrictions: +

    +

    This dihedral style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    dihedral_coeff +

    +

    Default: none +

    + diff --git a/doc/dimension.html b/doc/dimension.html index 17dee72b0a..65099ab255 100644 --- a/doc/dimension.html +++ b/doc/dimension.html @@ -1,240 +1,53 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dimension command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dimension command¶

    -
    -

    Syntax¶

    -
    dimension N
    -
    -
    -
      -
    • N = 2 or 3
    • -
    -
    -
    -

    Examples¶

    -
    dimension 2
    -
    -
    -
    -
    -

    Description¶

    -

    Set the dimensionality of the simulation. By default LAMMPS runs 3d + + +


    + +

    dimension command +

    +

    Syntax: +

    +
    dimension N 
    +
    +
    • N = 2 or 3 +
    +

    Examples: +

    +
    dimension 2 
    +
    +

    Description: +

    +

    Set the dimensionality of the simulation. By default LAMMPS runs 3d simulations. To run a 2d simulation, this command should be used prior to setting up a simulation box via the -create_box or read_data commands. -Restart files also store this setting.

    -

    See the discussion in Section_howto for -additional instructions on how to run 2d simulations.

    -
    -

    Warning

    -

    Some models in LAMMPS treat particles as finite-size +create_box or read_data commands. +Restart files also store this setting. +

    +

    See the discussion in Section_howto for +additional instructions on how to run 2d simulations. +

    +

    IMPORTANT NOTE: Some models in LAMMPS treat particles as finite-size spheres or ellipsoids, as opposed to point particles. In 2d, the particles will still be spheres or ellipsoids, not circular disks or -ellipses, meaning their moment of inertia will be the same as in 3d.

    -
    -
    -
    -

    Restrictions¶

    -

    This command must be used before the simulation box is defined by a -read_data or create_box command.

    -
    - -
    -

    Default¶

    -
    dimension 3
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +ellipses, meaning their moment of inertia will be the same as in 3d. +

    +

    Restrictions: +

    +

    This command must be used before the simulation box is defined by a +read_data or create_box command. +

    +

    Related commands: +

    +

    fix enforce2d +

    +

    Default: +

    +
    dimension 3 
    +
    + diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html index d769595eda..4906a78c5e 100644 --- a/doc/displace_atoms.html +++ b/doc/displace_atoms.html @@ -1,306 +1,125 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - displace_atoms command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    displace_atoms command¶

    -
    -

    Syntax¶

    -
    displace_atoms group-ID style args keyword value ...
    -
    -
    -
      -
    • group-ID = ID of group of atoms to displace
    • -
    • style = move or ramp or random or rotate
    • -
    -
    -move args = delx dely delz
    +
    +
    +
    + +

    displace_atoms command +

    +

    Syntax: +

    +
    displace_atoms group-ID style args keyword value ... 
    +
    +
    • group-ID = ID of group of atoms to displace + +
    • style = move or ramp or random or rotate + +
        move args = delx dely delz
           delx,dely,delz = distance to displace in each dimension (distance units)
      -  ramp args = ddim dlo dhi dim clo chi
      -    ddim = x or y or z
      +  ramp args = ddim dlo dhi dim clo chi
      +    ddim = x or y or z
           dlo,dhi = displacement distance between dlo and dhi (distance units)
      -    dim = x or y or z
      +    dim = x or y or z
           clo,chi = lower and upper bound of domain to displace (distance units)
      -  random args = dx dy dz seed
      +  random args = dx dy dz seed
           dx,dy,dz = random displacement magnitude in each dimension (distance units)
           seed = random # seed (positive integer)
      -  rotate args = Px Py Pz Rx Ry Rz theta
      +  rotate args = Px Py Pz Rx Ry Rz theta
           Px,Py,Pz = origin point of axis of rotation (distance units)
           Rx,Ry,Rz = axis of rotation vector
      -    theta = angle of rotation (degrees)
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      -
      -keyword = units
      -    value = box or lattice
      -
      -
    -
    -

    Examples¶

    -
    displace_atoms top move 0 -5 0 units box
    -displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5
    -
    -
    -
    -
    -

    Description¶

    -

    Displace a group of atoms. This can be used to move atoms a large + theta = angle of rotation (degrees) + +

  • zero or more keyword/value pairs may be appended + +
      keyword = units
    +    value = box or lattice 
    +
    + + +

    Examples: +

    +
    displace_atoms top move 0 -5 0 units box
    +displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 
    +
    +

    Description: +

    +

    Displace a group of atoms. This can be used to move atoms a large distance before beginning a simulation or to randomize atoms initially on a lattice. For example, in a shear simulation, an initial strain can be imposed on the system. Or two groups of atoms can be brought -into closer proximity.

    -

    The move style displaces the group of atoms by the specified 3d -distance.

    -

    The ramp style displaces atoms a variable amount in one dimension -depending on the atom’s coordinate in a (possibly) different +into closer proximity. +

    +

    The move style displaces the group of atoms by the specified 3d +distance. +

    +

    The ramp style displaces atoms a variable amount in one dimension +depending on the atom's coordinate in a (possibly) different dimension. For example, the second example command displaces atoms in the x-direction an amount between 0.0 and 5.0 distance units. Each -atom’s displacement depends on the fractional distance its y +atom's displacement depends on the fractional distance its y coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside -those bounds will be moved the minimum (0.0) or maximum (5.0) amount.

    -

    The random style independently moves each atom in the group by a +those bounds will be moved the minimum (0.0) or maximum (5.0) amount. +

    +

    The random style independently moves each atom in the group by a random displacement, uniformly sampled from a value between -dx and +dx in the x dimension, and similarly for y and z. Random numbers are used in such a way that the displacement of a particular atom is the -same, regardless of how many processors are being used.

    -

    The rotate style rotates each atom in the group by the angle theta -around a rotation axis R = (Rx,Ry,Rz) that goes thru a point P = +same, regardless of how many processors are being used. +

    +

    The rotate style rotates each atom in the group by the angle theta +around a rotation axis R = (Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your -right-hand’s thumb points along R, then your fingers wrap around the -axis in the direction of positive theta.

    -

    Distance units for displacements and the origin point of the rotate -style are determined by the setting of box or lattice for the -units keyword. Box means distance units as defined by the -units command - e.g. Angstroms for real units. -Lattice means distance units are in lattice spacings. The -lattice command must have been previously used to -define the lattice spacing.

    -
    -
    -

    Warning

    -

    Care should be taken not to move atoms on top of other +right-hand's thumb points along R, then your fingers wrap around the +axis in the direction of positive theta. +

    +

    Distance units for displacements and the origin point of the rotate +style are determined by the setting of box or lattice for the +units keyword. Box means distance units as defined by the +units command - e.g. Angstroms for real units. +Lattice means distance units are in lattice spacings. The +lattice command must have been previously used to +define the lattice spacing. +

    +
    + +

    IMPORTANT NOTE: Care should be taken not to move atoms on top of other atoms. After the move, atoms are remapped into the periodic simulation box if needed, and any shrink-wrap boundary conditions (see -the boundary command) are enforced which may change +the boundary command) are enforced which may change the box size. Other than this effect, this command does not change the size or shape of the simulation box. See the -change_box command if that effect is desired.

    -
    -
    -

    Warning

    -

    Atoms can be moved arbitrarily long distances by this +change_box command if that effect is desired. +

    +

    IMPORTANT NOTE: Atoms can be moved arbitrarily long distances by this command. If the simulation box is non-periodic and shrink-wrapped -(see the boundary command), this can change its size +(see the boundary command), this can change its size or shape. This is not a problem, except that the mapping of processors to the simulation box is not changed by this command from -its initial 3d configuration; see the processors +its initial 3d configuration; see the processors command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box may not end up as optimal -as the initial mapping attempted to be.

    -
    -
  • -
    -
    -

    Restrictions¶

    -

    You cannot rotate around any rotation vector except the z-axis for a -2d simulation.

    -
    - -
    -

    Default¶

    -

    The option defaults are units = lattice.

    -
    -
    +as the initial mapping attempted to be. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    You cannot rotate around any rotation vector except the z-axis for a +2d simulation. +

    +

    Related commands: +

    +

    lattice, change_box, +fix_move +

    +

    Default: +

    +

    The option defaults are units = lattice. +

    + diff --git a/doc/dump.html b/doc/dump.html index 2b8d87e770..05256568a7 100644 --- a/doc/dump.html +++ b/doc/dump.html @@ -1,201 +1,78 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dump command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dump command¶

    -
    -
    -

    dump image command¶

    -
    -
    -

    dump movie command¶

    -
    -
    -

    dump molfile command¶

    -
    -

    Syntax¶

    -
    dump ID group-ID style N file args
    -
    -
    -
      -
    • ID = user-assigned name for the dump
    • -
    • group-ID = ID of the group of atoms to be dumped
    • -
    • style = atom or atom/mpiio or cfg or cfg/mpiio or dcd or xtc or xyz or xyz/mpiio or image or movie or molfile or local or custom or custom/mpiio
    • -
    • N = dump every this many timesteps
    • -
    • file = name of file to write dump info to
    • -
    • args = list of arguments for a particular style
    • -
    -
    -atom args = none
    -  atom/mpiio args = none
    -  cfg args = same as custom args, see below
    -  cfg/mpiio args = same as custom args, see below
    -  dcd args = none
    -  xtc args = none
    -  xyz args = none
    -
    -
    -xyz/mpiio args = none
    -
    -
    -image args = discussed on dump image doc page
    -
    -
    -movie args = discussed on dump image doc page
    -
    -
    -molfile args = discussed on dump molfile doc page
    -
    -
    -local args = list of local attributes
    +
    +
    +
    + +

    dump command +

    +

    dump image command +

    +

    dump movie command +

    +

    dump molfile command +

    +

    Syntax: +

    +
    dump ID group-ID style N file args 
    +
    +
    • ID = user-assigned name for the dump + +
    • group-ID = ID of the group of atoms to be dumped + +
    • style = atom or atom/mpiio or cfg or cfg/mpiio or dcd or xtc or xyz or xyz/mpiio or image or movie or molfile or local or custom or custom/mpiio + +
    • N = dump every this many timesteps + +
    • file = name of file to write dump info to + +
    • args = list of arguments for a particular style + +
        atom args = none
      +  atom/mpiio args = none
      +  cfg args = same as custom args, see below
      +  cfg/mpiio args = same as custom args, see below
      +  dcd args = none
      +  xtc args = none
      +  xyz args = none 
      +
      +
        xyz/mpiio args = none 
      +
      +
        image args = discussed on dump image doc page 
      +
      +
        movie args = discussed on dump image doc page 
      +
      +
        molfile args = discussed on dump molfile doc page 
      +
      +
        local args = list of local attributes
           possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N]
             index = enumeration of local values
             c_ID = local vector calculated by a compute with ID
             c_ID[N] = Nth column of local array calculated by a compute with ID
             f_ID = local vector calculated by a fix with ID
      -      f_ID[N] = Nth column of local array calculated by a fix with ID
      -
      -
      -custom or custom/mpiio args = list of atom attributes
      +      f_ID[N] = Nth column of local array calculated by a fix with ID 
      +
      +
        custom or custom/mpiio args = list of atom attributes
           possible attributes = id, mol, proc, procp1, type, element, mass,
      -                       x, y, z, xs, ys, zs, xu, yu, zu,
      -                       xsu, ysu, zsu, ix, iy, iz,
      -                       vx, vy, vz, fx, fy, fz,
      +			  x, y, z, xs, ys, zs, xu, yu, zu, 
      +			  xsu, ysu, zsu, ix, iy, iz,
      +			  vx, vy, vz, fx, fy, fz,
                                 q, mux, muy, muz, mu,
                                 radius, diameter, omegax, omegay, omegaz,
      -                       angmomx, angmomy, angmomz, tqx, tqy, tqz,
      -                       c_ID, c_ID[N], f_ID, f_ID[N], v_name
      -
      -
      -id = atom ID
      +			  angmomx, angmomy, angmomz, tqx, tqy, tqz,
      +			  c_ID, c_ID[N], f_ID, f_ID[N], v_name 
      +
      +
            id = atom ID
             mol = molecule ID
             proc = ID of processor that owns atom
             procp1 = ID+1 of processor that owns atom
             type = atom type
      -      element = name of atom element, as defined by dump_modify command
      +      element = name of atom element, as defined by dump_modify command
             mass = atom mass
             x,y,z = unscaled atom coordinates
             xs,ys,zs = scaled atom coordinates
      @@ -217,12 +94,13 @@ id = atom ID
             f_ID[N] = Nth column of per-atom array calculated by a fix with ID
             v_name = per-atom vector calculated by an atom-style variable with name
             d_name = per-atom floating point vector with name, managed by fix property/atom
      -      i_name = per-atom integer vector with name, managed by fix property/atom
      -
      -
    -
    -

    Examples¶

    -
    dump myDump all atom 100 dump.atom
    +      i_name = per-atom integer vector with name, managed by fix property/atom 
    +
    + + +

    Examples: +

    +
    dump myDump all atom 100 dump.atom
     dump myDump all atom/mpiio 100 dump.atom.mpiio
     dump 2 subgroup atom 50 dump.run.bin
     dump 2 subgroup atom 50 dump.run.mpiio.bin
    @@ -230,428 +108,493 @@ dump 4a all custom 100 dump.myforce.* id type x y vx fx
     dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke
     dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz
     dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2]
    -dump 1 all xtc 1000 file.xtc
    -
    -
    -
    -
    -

    Description¶

    -

    Dump a snapshot of atom quantities to one or more files every N -timesteps in one of several styles. The image and movie styles are -the exception: the image style renders a JPG, PNG, or PPM image file -of the atom configuration every N timesteps while the movie style +dump 1 all xtc 1000 file.xtc + +

    Description: +

    +

    Dump a snapshot of atom quantities to one or more files every N +timesteps in one of several styles. The image and movie styles are +the exception: the image style renders a JPG, PNG, or PPM image file +of the atom configuration every N timesteps while the movie style combines and compresses them into a movie file; both are discussed in -detail on the dump image doc page. The timesteps on +detail on the dump image doc page. The timesteps on which dump output is written can also be controlled by a variable. -See the dump_modify every command.

    -

    Only information for atoms in the specified group is dumped. The -dump_modify thresh and region commands can also +See the dump_modify every command. +

    +

    Only information for atoms in the specified group is dumped. The +dump_modify thresh and region commands can also alter what atoms are included. Not all styles support all these -options; see details below.

    -

    As described below, the filename determines the kind of output (text +options; see details below. +

    +

    As described below, the filename determines the kind of output (text or binary or gzipped, one big file or one per timestep, one big file -or multiple smaller files).

    -
    -

    Warning

    -

    Because periodic boundary conditions are enforced only +or multiple smaller files). +

    +

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation -box.

    -
    -
    -

    Warning

    -

    Unless the dump_modify sort option +box. +

    +

    IMPORTANT NOTE: Unless the dump_modify sort option is invoked, the lines of atom information written to dump files (typically one line per atom) will be in an indeterminate order for each snapshot. This is even true when running on a single processor, -if the atom_modify sort option is on, which it is +if the atom_modify sort option is on, which it is by default. In this case atoms are re-ordered periodically during a simulation, due to spatial sorting. It is also true when running in parallel, because data for a single snapshot is collected from -multiple processors, each of which owns a subset of the atoms.

    -
    -

    For the atom, custom, cfg, and local styles, sorting is off by -default. For the dcd, xtc, xyz, and molfile styles, sorting by -atom ID is on by default. See the dump_modify doc -page for details.

    -

    As explained below, the atom/mpiio, cfg/mpiio, custom/mpiio, and -xyz/mpiio styles are identical in command syntax and in the format +multiple processors, each of which owns a subset of the atoms. +

    +

    For the atom, custom, cfg, and local styles, sorting is off by +default. For the dcd, xtc, xyz, and molfile styles, sorting by +atom ID is on by default. See the dump_modify doc +page for details. +

    +

    As explained below, the atom/mpiio, cfg/mpiio, custom/mpiio, and +xyz/mpiio styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without -“mpiio”, except the single dump file they produce is written in +"mpiio", except the single dump file they produce is written in parallel via the MPI-IO library. For the remainder of this doc page, -you should thus consider the atom and atom/mpiio styles (etc) to +you should thus consider the atom and atom/mpiio styles (etc) to be inter-changeable. The one exception is how the filename is -specified for the MPI-IO styles, as explained below.

    -
    -

    The style keyword determines what atom quantities are written to the +specified for the MPI-IO styles, as explained below. +

    +
    + +

    The style keyword determines what atom quantities are written to the file and in what format. Settings made via the -dump_modify command can also alter the format of -individual values and the file itself.

    -

    The atom, local, and custom styles create files in a simple text +dump_modify command can also alter the format of +individual values and the file itself. +

    +

    The atom, local, and custom styles create files in a simple text format that is self-explanatory when viewing a dump file. Many of the -LAMMPS post-processing tools, including -Pizza.py, work with this -format, as does the rerun command.

    -

    For post-processing purposes the atom, local, and custom text -files are self-describing in the following sense.

    -

    The dimensions of the simulation box are included in each snapshot. -For an orthogonal simulation box this information is is formatted as:

    -
    ITEM: BOX BOUNDS xx yy zz
    +LAMMPS post-processing tools, including
    +Pizza.py, work with this
    +format, as does the rerun command.
    +

    +

    For post-processing purposes the atom, local, and custom text +files are self-describing in the following sense. +

    +

    The dimensions of the simulation box are included in each snapshot. +For an orthogonal simulation box this information is is formatted as: +

    +
    ITEM: BOX BOUNDS xx yy zz
     xlo xhi
     ylo yhi
    -zlo zhi
    -
    -
    -

    where xlo,xhi are the maximum extents of the simulation box in the -x-dimension, and similarly for y and z. The “xx yy zz” represent 6 +zlo zhi + +

    where xlo,xhi are the maximum extents of the simulation box in the +x-dimension, and similarly for y and z. The "xx yy zz" represent 6 characters that encode the style of boundary for each of the 6 simulation box boundaries (xlo,xhi and ylo,yhi and zlo,zhi). Each of the 6 characters is either p = periodic, f = fixed, s = shrink wrap, or m = shrink wrapped with a minimum value. See the -boundary command for details.

    -

    For triclinic simulation boxes (non-orthogonal), an orthogonal +boundary command for details. +

    +

    For triclinic simulation boxes (non-orthogonal), an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, -formatted as follows:

    -
    ITEM: BOX BOUNDS xy xz yz xx yy zz
    +formatted as follows:
    +

    +
    ITEM: BOX BOUNDS xy xz yz xx yy zz 
     xlo_bound xhi_bound xy
     ylo_bound yhi_bound xz
    -zlo_bound zhi_bound yz
    -
    -
    -

    The presence of the text “xy xz yz” in the ITEM line indicates that +zlo_bound zhi_bound yz + +

    The presence of the text "xy xz yz" in the ITEM line indicates that the 3 tilt factors will be included on each of the 3 following lines. This bounding box is convenient for many visualization programs. The -meaning of the 6 character flags for “xx yy zz” is the same as above.

    -

    Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they repesent a bounding box. See this section of the doc pages for a geometric +meaning of the 6 character flags for "xx yy zz" is the same as above. +

    +

    Note that the first two numbers on each line are now xlo_bound instead +of xlo, etc, since they repesent a bounding box. See this +section of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those -parameters to and from other commonly used triclinic representations.

    -

    The “ITEM: ATOMS” line in each snapshot lists column descriptors for +parameters to and from other commonly used triclinic representations. +

    +

    The "ITEM: ATOMS" line in each snapshot lists column descriptors for the per-atom lines that follow. For example, the descriptors would be -“id type xs ys zs” for the default atom style, and would be the atom -attributes you specify in the dump command for the custom style.

    -

    For style atom, atom coordinates are written to the file, along with +"id type xs ys zs" for the default atom style, and would be the atom +attributes you specify in the dump command for the custom style. +

    +

    For style atom, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the -dump_modify settings. Image flags can also be -added for each atom via dump_modify.

    -

    Style custom allows you to specify a list of atom attributes to be +dump_modify settings. Image flags can also be +added for each atom via dump_modify. +

    +

    Style custom allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot specify a quantity that is not defined for a particular simulation - -such as q for atom style bond, since that atom style doesn’t +such as q for atom style bond, since that atom style doesn't assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes -is given below.

    -

    For style local, local output generated by computes -and fixes is used to generate lines of output that is +is given below. +

    +

    For style local, local output generated by computes +and fixes is used to generate lines of output that is written to the dump file. This local data is typically calculated by each processor based on the atoms it owns, but there may be zero or more entities per atom, e.g. a list of bond distances. An explanation of the possible dump local attributes is given below. Note that by -using input from the compute property/local command with dump local, +using input from the compute +property/local command with dump local, it is possible to generate information on bonds, angles, etc that can be cut and pasted directly into a data file read by the -read_data command.

    -

    Style cfg has the same command syntax as style custom and writes +read_data command. +

    +

    Style cfg has the same command syntax as style custom and writes extended CFG format files, as used by the -AtomEye visualization +AtomEye visualization package. Since the extended CFG format uses a single snapshot of the -system per file, a wildcard “*” must be included in the filename, as -discussed below. The list of atom attributes for style cfg must -begin with either “mass type xs ys zs” or “mass type xsu ysu zsu” +system per file, a wildcard "*" must be included in the filename, as +discussed below. The list of atom attributes for style cfg must +begin with either "mass type xs ys zs" or "mass type xsu ysu zsu" since these quantities are needed to write the CFG files in the -appropriate format (though the “mass” and “type” fields do not appear +appropriate format (though the "mass" and "type" fields do not appear explicitly in the file). Any remaining attributes will be stored as -“auxiliary properties” in the CFG files. Note that you will typically -want to use the dump_modify element command with +"auxiliary properties" in the CFG files. Note that you will typically +want to use the dump_modify element command with CFG-formatted files, to associate element names with atom types, so that AtomEye can render atoms appropriately. When unwrapped -coordinates xsu, ysu, and zsu are requested, the nominal AtomEye +coordinates xsu, ysu, and zsu are requested, the nominal AtomEye periodic cell dimensions are expanded by a large factor UNWRAPEXPAND = 10.0, which ensures atoms that are displayed correctly for up to UNWRAPEXPAND/2 periodic boundary crossings in any direction. Beyond this, AtomEye will rewrap the unwrapped coordinates. The expansion causes the atoms to be drawn farther away from the viewer, but it is easy to zoom the atoms closer, and the interatomic distances are -unaffected.

    -

    The dcd style writes DCD files, a standard atomic trajectory format +unaffected. +

    +

    The dcd style writes DCD files, a standard atomic trajectory format used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD files are binary and thus may not be portable to different machines. -The number of atoms per snapshot cannot change with the dcd style. -The unwrap option of the dump_modify command -allows DCD coordinates to be written “unwrapped” by the image flags +The number of atoms per snapshot cannot change with the dcd style. +The unwrap option of the dump_modify command +allows DCD coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside -the box size stored with the snapshot.

    -

    The xtc style writes XTC files, a compressed trajectory format used +the box size stored with the snapshot. +

    +

    The xtc style writes XTC files, a compressed trajectory format used by the GROMACS molecular dynamics package, and described -here. +here. The precision used in XTC files can be adjusted via the -dump_modify command. The default value of 1000 +dump_modify command. The default value of 1000 means that coordinates are stored to 1/1000 nanometer accuracy. XTC -files are portable binary files written in the NFS XDR data format, -so that any machine which supports XDR should be able to read them. -The number of atoms per snapshot cannot change with the xtc style. -The unwrap option of the dump_modify command allows -XTC coordinates to be written “unwrapped” by the image flags for each +files are portable binary files written in the NFS XDR data format, +so that any machine which supports XDR should be able to read them. +The number of atoms per snapshot cannot change with the xtc style. +The unwrap option of the dump_modify command allows +XTC coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size -stored with the snapshot.

    -

    The xyz style writes XYZ files, which is a simple text-based +stored with the snapshot. +

    +

    The xyz style writes XYZ files, which is a simple text-based coordinate format that many codes can read. Specifically it has a line with the number of atoms, then a comment line that is usually ignored followed by one line per atom with the atom type and the x-, y-, and z-coordinate of that atom. You can use the -dump_modify element option to change the output +dump_modify element option to change the output from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess -bonds and colors.

    -

    Note that atom, custom, dcd, xtc, and xyz style dump files -can be read directly by VMD, a -popular molecular viewing program. See Section tools of the manual and the +bonds and colors. +

    +

    Note that atom, custom, dcd, xtc, and xyz style dump files +can be read directly by VMD, a +popular molecular viewing program. See Section +tools of the manual and the tools/lmp2vmd/README.txt file for more information about support in -VMD for reading and visualizing LAMMPS dump files.

    -
    -

    Dumps are performed on timesteps that are a multiple of N (including +VMD for reading and visualizing LAMMPS dump files. +

    +
    + +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which +changed via the dump_modify first command, which can also be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the dump_modify every command (not allowed -for dcd style). The dump_modify every command +using the dump_modify every command (not allowed +for dcd style). The dump_modify every command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. In this mode a dump on the first timestep of a run will also not be written unless the -dump_modify first command is used.

    -

    The specified filename determines how the dump file(s) is written. +dump_modify first command is used. +

    +

    The specified filename determines how the dump file(s) is written. The default is to write one large text file, which is opened when the -dump command is invoked and closed when an undump -command is used or when LAMMPS exits. For the dcd and xtc styles, -this is a single large binary file.

    -

    Dump filenames can contain two wildcard characters. If a “*” +dump command is invoked and closed when an undump +command is used or when LAMMPS exits. For the dcd and xtc styles, +this is a single large binary file. +

    +

    Dump filenames can contain two wildcard characters. If a "*" character appears in the filename, then one file per snapshot is -written and the “*” character is replaced with the timestep value. +written and the "*" character is replaced with the timestep value. For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, -tmp.dump.20000, etc. This option is not available for the dcd and -xtc styles. Note that the dump_modify pad +tmp.dump.20000, etc. This option is not available for the dcd and +xtc styles. Note that the dump_modify pad command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to read a series of dump files -in order with some post-processing tools.

    -

    If a “%” character appears in the filename, then each of P processors -writes a portion of the dump file, and the “%” character is replaced +in order with some post-processing tools. +

    +

    If a "%" character appears in the filename, then each of P processors +writes a portion of the dump file, and the "%" character is replaced with the processor ID from 0 to P-1. For example, tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. This option is not available for the -dcd, xtc, and xyz styles.

    -

    By default, P = the number of processors meaning one file per -processor, but P can be set to a smaller value via the nfile or -fileper keywords of the dump_modify command. +dcd, xtc, and xyz styles. +

    +

    By default, P = the number of processors meaning one file per +processor, but P can be set to a smaller value via the nfile or +fileper keywords of the dump_modify command. These options can be the most efficient way of writing out dump files -when running on large numbers of processors.

    -

    Note that using the “*” and “%” characters together can produce a -large number of small dump files!

    -

    For the atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio +when running on large numbers of processors. +

    +

    Note that using the "*" and "%" characters together can produce a +large number of small dump files! +

    +

    For the atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles, a single dump file is written in parallel via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO -package installed, e.g.

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform
    -
    -
    -

    Second, use a dump filename which contains ”.mpiio”. Note that it -does not have to end in ”.mpiio”, just contain those characters. +package installed, e.g. +

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform 
    +
    +

    Second, use a dump filename which contains ".mpiio". Note that it +does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO restart files, which must be both written and read using MPI-IO, the dump files produced by these MPI-IO styles are identical in format to the files produced by their non-MPI-IO style counterparts. This means you can write a dump file using MPI-IO and -use the read_dump command or perform other +use the read_dump command or perform other post-processing, just as if the dump file was not written using -MPI-IO.

    -

    Note that MPI-IO dump files are one large file which all processors -write to. You thus cannot use the “%” wildcard character described +MPI-IO. +

    +

    Note that MPI-IO dump files are one large file which all processors +write to. You thus cannot use the "%" wildcard character described above in the filename since that specifies generation of multiple -files. You can use the ”.bin” suffix described below in an MPI-IO +files. You can use the ".bin" suffix described below in an MPI-IO dump file; again this file will be written in parallel and have the -same binary format as if it were written without MPI-IO.

    -

    If the filename ends with ”.bin”, the dump file (or files, if “*” or -“%” is also used) is written in binary format. A binary dump file +same binary format as if it were written without MPI-IO. +

    +

    If the filename ends with ".bin", the dump file (or files, if "*" or +"%" is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. Of course, when post-processing, you will need -to convert it back to text format (see the binary2txt tool) or write your own code to read the +to convert it back to text format (see the binary2txt +tool) or write your own code to read the binary file. The format of the binary file can be understood by looking at the tools/binary2txt.cpp file. This option is only -available for the atom and custom styles.

    -

    If the filename ends with ”.gz”, the dump file (or files, if “*” or “%” +available for the atom and custom styles. +

    +

    If the filename ends with ".gz", the dump file (or files, if "*" or "%" is also used) is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer -to write. This option is not available for the dcd and xtc -styles.

    -
    -

    This section explains the local attributes that can be specified as -part of the local style.

    -

    The index attribute can be used to generate an index number from 1 +to write. This option is not available for the dcd and xtc +styles. +

    +
    + +

    This section explains the local attributes that can be specified as +part of the local style. +

    +

    The index attribute can be used to generate an index number from 1 to N for each line written into the dump file, where N is the total number of local datums from all processors, or lines of output that will appear in the snapshot. Note that because data from different processors depend on what atoms they currently own, and atoms migrate between processor, there is no guarantee that the same index will be used for the same info (e.g. a particular bond) in successive -snapshots.

    -

    The c_ID and c_ID[N] attributes allow local vectors or arrays -calculated by a compute to be output. The ID in the +snapshots. +

    +

    The c_ID and c_ID[N] attributes allow local vectors or arrays +calculated by a compute to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the -compute command for details. There are computes for +compute command for details. There are computes for calculating local information such as indices, types, and energies for -bonds and angles.

    -

    Note that computes which calculate global or per-atom quantities, as +bonds and angles. +

    +

    Note that computes which calculate global or per-atom quantities, as opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the thermo_style custom command, and per-atom quantities can be -output by the dump custom command.

    -

    If c_ID is used as a attribute, then the local vector calculated by -the compute is printed. If c_ID[N] is used, then N must be in the +Instead, global quantities can be output by the thermo_style +custom command, and per-atom quantities can be +output by the dump custom command. +

    +

    If c_ID is used as a attribute, then the local vector calculated by +the compute is printed. If c_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local -array calculated by the compute.

    -

    The f_ID and f_ID[N] attributes allow local vectors or arrays -calculated by a fix to be output. The ID in the attribute +array calculated by the compute. +

    +

    The f_ID and f_ID[N] attributes allow local vectors or arrays +calculated by a fix to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined -previously in the input script.

    -

    If f_ID is used as a attribute, then the local vector calculated by -the fix is printed. If f_ID[N] is used, then N must be in the +previously in the input script. +

    +

    If f_ID is used as a attribute, then the local vector calculated by +the fix is printed. If f_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local -array calculated by the fix.

    -

    Here is an example of how to dump bond info for a system, -including the distance and energy of each bond:

    -
    compute 1 all property/local batom1 batom2 btype
    +array calculated by the fix.
    +

    +

    Here is an example of how to dump bond info for a system, +including the distance and energy of each bond: +

    +
    compute 1 all property/local batom1 batom2 btype 
     compute 2 all bond/local dist eng
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2]
    -
    -
    -
    -

    This section explains the atom attributes that can be specified as -part of the custom and cfg styles.

    -

    The id, mol, proc, procp1, type, element, mass, vx, -vy, vz, fx, fy, fz, q attributes are self-explanatory.

    -

    Id is the atom ID. Mol is the molecule ID, included in the data -file for molecular systems. Proc is the ID of the processor (0 to -Nprocs-1) that currently owns the atom. Procp1 is the proc ID+1, -which can be convenient in place of a type attribute (1 to Ntypes) -for coloring atoms in a visualization program. Type is the atom -type (1 to Ntypes). Element is typically the chemical name of an -element, which you must assign to each type via the dump_modify element command. More generally, it can be any -string you wish to associated with an atom type. Mass is the atom -mass. Vx, vy, vz, fx, fy, fz, and q are components of -atom velocity and force and atomic charge.

    -

    There are several options for outputting atom coordinates. The x, -y, z attributes write atom coordinates “unscaled”, in the -appropriate distance units (Angstroms, sigma, etc). Use -xs, ys, zs if you want the coordinates “scaled” to the box size, +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] + +


    + +

    This section explains the atom attributes that can be specified as +part of the custom and cfg styles. +

    +

    The id, mol, proc, procp1, type, element, mass, vx, +vy, vz, fx, fy, fz, q attributes are self-explanatory. +

    +

    Id is the atom ID. Mol is the molecule ID, included in the data +file for molecular systems. Proc is the ID of the processor (0 to +Nprocs-1) that currently owns the atom. Procp1 is the proc ID+1, +which can be convenient in place of a type attribute (1 to Ntypes) +for coloring atoms in a visualization program. Type is the atom +type (1 to Ntypes). Element is typically the chemical name of an +element, which you must assign to each type via the dump_modify +element command. More generally, it can be any +string you wish to associated with an atom type. Mass is the atom +mass. Vx, vy, vz, fx, fy, fz, and q are components of +atom velocity and force and atomic charge. +

    +

    There are several options for outputting atom coordinates. The x, +y, z attributes write atom coordinates "unscaled", in the +appropriate distance units (Angstroms, sigma, etc). Use +xs, ys, zs if you want the coordinates "scaled" to the box size, so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. Use -xu, yu, zu if you want the coordinates “unwrapped” by the image +xu, yu, zu if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the -periodic box. Note that using xu, yu, zu means that the +periodic box. Note that using xu, yu, zu means that the coordinate values may be far outside the box bounds printed with the -snapshot. Using xsu, ysu, zsu is similar to using xu, yu, zu, +snapshot. Using xsu, ysu, zsu is similar to using xu, yu, zu, except that the unwrapped coordinates are scaled by the box size. Atoms that have passed through a periodic boundary will have the corresponding -cooordinate increased or decreased by 1.0.

    -

    The image flags can be printed directly using the ix, iy, iz +cooordinate increased or decreased by 1.0. +

    +

    The image flags can be printed directly using the ix, iy, iz attributes. For periodic dimensions, they specify which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross -periodic boundaries during the simulation.

    -

    The mux, muy, muz attributes are specific to dipolar systems -defined with an atom style of dipole. They give the orientation of -the atom’s point dipole moment. The mu attribute gives the -magnitude of the atom’s dipole moment.

    -

    The radius and diameter attributes are specific to spherical +periodic boundaries during the simulation. +

    +

    The mux, muy, muz attributes are specific to dipolar systems +defined with an atom style of dipole. They give the orientation of +the atom's point dipole moment. The mu attribute gives the +magnitude of the atom's dipole moment. +

    +

    The radius and diameter attributes are specific to spherical particles that have a finite size, such as those defined with an atom -style of sphere.

    -

    The omegax, omegay, and omegaz attributes are specific to +style of sphere. +

    +

    The omegax, omegay, and omegaz attributes are specific to finite-size spherical particles that have an angular velocity. Only -certain atom styles, such as sphere define this quantity.

    -

    The angmomx, angmomy, and angmomz attributes are specific to +certain atom styles, such as sphere define this quantity. +

    +

    The angmomx, angmomy, and angmomz attributes are specific to finite-size aspherical particles that have an angular momentum. Only -the ellipsoid atom style defines this quantity.

    -

    The tqx, tqy, tqz attributes are for finite-size particles that +the ellipsoid atom style defines this quantity. +

    +

    The tqx, tqy, tqz attributes are for finite-size particles that can sustain a rotational torque due to interactions with other -particles.

    -

    The c_ID and c_ID[N] attributes allow per-atom vectors or arrays -calculated by a compute to be output. The ID in the +particles. +

    +

    The c_ID and c_ID[N] attributes allow per-atom vectors or arrays +calculated by a compute to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the -compute command for details. There are computes for +compute command for details. There are computes for calculating the per-atom energy, stress, centro-symmetry parameter, -and coordination number of individual atoms.

    -

    Note that computes which calculate global or local quantities, as +and coordination number of individual atoms. +

    +

    Note that computes which calculate global or local quantities, as opposed to per-atom quantities, cannot be output in a dump custom command. Instead, global quantities can be output by the -thermo_style custom command, and local quantities -can be output by the dump local command.

    -

    If c_ID is used as a attribute, then the per-atom vector calculated -by the compute is printed. If c_ID[N] is used, then N must be in +thermo_style custom command, and local quantities +can be output by the dump local command. +

    +

    If c_ID is used as a attribute, then the per-atom vector calculated +by the compute is printed. If c_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length -per-atom array calculated by the compute.

    -

    The f_ID and f_ID[N] attributes allow vector or array per-atom -quantities calculated by a fix to be output. The ID in the +per-atom array calculated by the compute. +

    +

    The f_ID and f_ID[N] attributes allow vector or array per-atom +quantities calculated by a fix to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been -defined previously in the input script. The fix ave/atom command is one that calculates per-atom +defined previously in the input script. The fix +ave/atom command is one that calculates per-atom quantities. Since it can time-average per-atom quantities produced by -any compute, fix, or atom-style -variable, this allows those time-averaged results to -be written to a dump file.

    -

    If f_ID is used as a attribute, then the per-atom vector calculated -by the fix is printed. If f_ID[N] is used, then N must be in the +any compute, fix, or atom-style +variable, this allows those time-averaged results to +be written to a dump file. +

    +

    If f_ID is used as a attribute, then the per-atom vector calculated +by the fix is printed. If f_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length -per-atom array calculated by the fix.

    -

    The v_name attribute allows per-atom vectors calculated by a -variable to be output. The name in the attribute +per-atom array calculated by the fix. +

    +

    The v_name attribute allows per-atom vectors calculated by a +variable to be output. The name in the attribute should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable can be referenced, since it is the only style that generates per-atom -values. Variables of style atom can reference individual atom +values. Variables of style atom can reference individual atom attributes, per-atom atom attributes, thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a -dump file.

    -

    The d_name and i_name attributes allow to output custom per atom +dump file. +

    +

    The d_name and i_name attributes allow to output custom per atom floating point or integer properties that are managed by -fix property/atom.

    -

    See Section_modify of the manual for information +fix property/atom. +

    +

    See Section_modify of the manual for information on how to add new compute and fix styles to LAMMPS to calculate -per-atom quantities which could then be output into dump files.

    -
    -
    -
    -

    Restrictions¶

    -

    To write gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    -

    The atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles +per-atom quantities which could then be output into dump files. +

    +
    + +

    Restrictions: +

    +

    To write gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making +LAMMPS section of the documentation. +

    +

    The atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles are part of the MPIIO package. They are only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -

    The xtc style is part of the XTC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info. This is +built with that package. See the Making +LAMMPS section for more info. +

    +

    The xtc style is part of the XTC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. This is because some machines may not support the low-level XDR data format that XTC files are written with, which will result in a compile-time error when a low-level include file is not found. Putting this style @@ -664,80 +607,16 @@ files. This option can be invoked at build time by adding Makefile, e.g. src/MAKE/Makefile.foo. This compatibility mode has been tested successfully on Cray XT3/XT4/XT5 and IBM BlueGene/L machines and should also work on IBM BG/P, and Windows XP/Vista/7 -machines.

    -
    - -
    -

    Default¶

    -

    The defaults for the image and movie styles are listed on the -dump image doc page.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +machines. +

    +

    Related commands: +

    +

    dump image, dump_modify, +undump +

    +

    Default: +

    +

    The defaults for the image and movie styles are listed on the +dump image doc page. +

    + diff --git a/doc/dump_image.html b/doc/dump_image.html index a8d23f6d19..c2babe4f63 100644 --- a/doc/dump_image.html +++ b/doc/dump_image.html @@ -1,711 +1,566 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dump image command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dump image command¶

    -
    -
    -

    dump movie command¶

    -
    -

    Syntax¶

    -
    dump ID group-ID style N file color diameter keyword value ...
    -
    -
    -
      -
    • ID = user-assigned name for the dump
    • -
    • group-ID = ID of the group of atoms to be imaged
    • -
    • style = image or movie = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page)
    • -
    • N = dump every this many timesteps
    • -
    • file = name of file to write image to
    • -
    • color = atom attribute that determines color of each atom
    • -
    • diameter = atom attribute that determines size of each atom
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = adiam or atom or bond or size or view or center or up or zoom or persp or box or axes or subbox or shiny or ssao
    • -
    -
    -adiam value = number = numeric value for atom diameter (distance units)
    -  atom = yes/no = do or do not draw atoms
    -  bond values = color width = color and width of bonds
    -    color = atom or type or none
    -    width = number or atom or type or none
    +
    +
    +
    + +

    dump image command +

    +

    dump movie command +

    +

    Syntax: +

    +
    dump ID group-ID style N file color diameter keyword value ... 
    +
    +
    • ID = user-assigned name for the dump + +
    • group-ID = ID of the group of atoms to be imaged + +
    • style = image or movie = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page) + +
    • N = dump every this many timesteps + +
    • file = name of file to write image to + +
    • color = atom attribute that determines color of each atom + +
    • diameter = atom attribute that determines size of each atom + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = adiam or atom or bond or size or view or center or up or zoom or persp or box or axes or subbox or shiny or ssao + +
        adiam value = number = numeric value for atom diameter (distance units)
      +  atom = yes/no = do or do not draw atoms
      +  bond values = color width = color and width of bonds
      +    color = atom or type or none
      +    width = number or atom or type or none
             number = numeric value for bond width (distance units)
      -  size values = width height = size of images
      +  size values = width height = size of images
           width = width of image in # of pixels
           height = height of image in # of pixels
      -  view values = theta phi = view of simulation box
      +  view values = theta phi = view of simulation box
           theta = view angle from +z axis (degrees)
           phi = azimuthal view angle (degrees)
           theta or phi can be a variable (see below)
      -  center values = flag Cx Cy Cz = center point of image
      -    flag = "s" for static, "d" for dynamic
      +  center values = flag Cx Cy Cz = center point of image
      +    flag = "s" for static, "d" for dynamic
           Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box)
           Cx,Cy,Cz can be variables (see below)
      -  up values = Ux Uy Uz = direction that is "up" in image
      +  up values = Ux Uy Uz = direction that is "up" in image
           Ux,Uy,Uz = components of up vector
           Ux,Uy,Uz can be variables (see below)
      -  zoom value = zfactor = size that simulation box appears in image
      -    zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
      +  zoom value = zfactor = size that simulation box appears in image
      +    zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
           zfactor can be a variable (see below)
      -  persp value = pfactor = amount of "perspective" in image
      -    pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
      +  persp value = pfactor = amount of "perspective" in image
      +    pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
           pfactor can be a variable (see below)
      -  box values = yes/no diam = draw outline of simulation box
      +  box values = yes/no diam = draw outline of simulation box
           yes/no = do or do not draw simulation box lines
           diam = diameter of box lines as fraction of shortest box length
      -  axes values = yes/no length diam = draw xyz axes
      +  axes values = yes/no length diam = draw xyz axes
           yes/no = do or do not draw xyz axes lines next to simulation box
           length = length of axes lines as fraction of respective box lengths
           diam = diameter of axes lines as fraction of shortest box length
      -  subbox values = yes/no diam = draw outline of processor sub-domains
      +  subbox values = yes/no diam = draw outline of processor sub-domains
           yes/no = do or do not draw sub-domain lines
           diam = diameter of sub-domain lines as fraction of shortest box length
      -  shiny value = sfactor = shinyness of spheres and cylinders
      +  shiny value = sfactor = shinyness of spheres and cylinders
           sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
      -  ssao value = yes/no seed dfactor = SSAO depth shading
      +  ssao value = yes/no seed dfactor = SSAO depth shading
           yes/no = turn depth shading on/off
           seed = random # seed (positive integer)
      -    dfactor = strength of shading from 0.0 to 1.0
      -
      -
    -
    -

    Examples¶

    -
    dump d0 all image 100 dump.*.jpg type type
    +    dfactor = strength of shading from 0.0 to 1.0 
    +
    + + +

    Examples: +

    +
    dump d0 all image 100 dump.*.jpg type type
     dump d1 mobile image 500 snap.*.png element element ssao yes 4539 0.6
     dump d2 all image 200 img-*.ppm type type zoom 2.5 adiam 1.5 size 1280 720
     dump m0 all movie 1000 movie.mpg type type size 640 480
     dump m1 all movie 1000 movie.avi type type size 640 480
    -dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720
    -
    -
    -
    -
    -

    Description¶

    -

    Dump a high-quality rendered image of the atom configuration every N +dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720 + +

    Description: +

    +

    Dump a high-quality rendered image of the atom configuration every N timesteps and save the images either as a sequence of JPEG or PNG or PPM files, or as a single movie file. The options for this command as -well as the dump_modify command control what is +well as the dump_modify command control what is included in the image or movie and how it appears. A series of such images can easily be manually converted into an animated movie of your simulation or the process can be automated without writing the intermediate files using the dump movie style; see further details below. Other dump styles store snapshots of numerical data asociated -with atoms in various formats, as discussed on the dump -doc page.

    -

    Note that a set of images or a movie can be made after a simulation -has been run, using the rerun command to read snapshots +with atoms in various formats, as discussed on the dump +doc page. +

    +

    Note that a set of images or a movie can be made after a simulation +has been run, using the rerun command to read snapshots from an existing dump file, and using these dump commands in the rerun -script to generate the images/movie.

    -

    Here are two sample images, rendered as 1024x1024 JPEG files. Click -to see the full-size images:

    -

    Only atoms in the specified group are rendered in the image. The -dump_modify region and thresh commands can also -alter what atoms are included in the image. -The filename suffix determines whether a JPEG, PNG, or PPM file is -created with the image dump style. If the suffix is ”.jpg” or -”.jpeg”, then a JPEG format file is created, if the suffix is ”.png”, +script to generate the images/movie. +

    +

    Here are two sample images, rendered as 1024x1024 JPEG files. Click +to see the full-size images: +

    +
    + + + + + +
    + +

    Only atoms in the specified group are rendered in the image. The +dump_modify region and thresh commands can also +alter what atoms are included in the image.

    +

    The filename suffix determines whether a JPEG, PNG, or PPM file is +created with the image dump style. If the suffix is ".jpg" or +".jpeg", then a JPEG format file is created, if the suffix is ".png", then a PNG format is created, else a PPM (aka NETPBM) format file is created. The JPEG and PNG files are binary; PPM has a text mode header followed by binary data. JPEG images have lossy compression; PNG has lossless compression; and PPM files are uncompressed but can be compressed with gzip, if LAMMPS has been compiled with --DLAMMPS_GZIP and a ”.gz” suffix is used.

    -

    Similarly, the format of the resulting movie is chosen with the -movie dump style. This is handled by the underlying FFmpeg converter +-DLAMMPS_GZIP and a ".gz" suffix is used. +

    +

    Similarly, the format of the resulting movie is chosen with the +movie dump style. This is handled by the underlying FFmpeg converter and thus details have to be looked up in the FFmpeg documentation. Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie compression like bitrate and -framerate can be set using the dump_modify command.

    -

    To write out JPEG and PNG format files, you must build LAMMPS with +framerate can be set using the dump_modify command. +

    +

    To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG -flag. See this section of the manual -for instructions on how to do this.

    -
    -

    Warning

    -

    Because periodic boundary conditions are enforced only +flag. See this section of the manual +for instructions on how to do this. +

    +

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an -atom in the image may be slightly outside the simulation box.

    -
    -
    -

    Dumps are performed on timesteps that are a multiple of N (including +atom in the image may be slightly outside the simulation box. +

    +
    + +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which +changed via the dump_modify first command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the dump_modify every command.

    -

    Dump image filenames must contain a wildcard character “*”, so that -one image file per snapshot is written. The “*” character is replaced +using the dump_modify every command. +

    +

    Dump image filenames must contain a wildcard character "*", so that +one image file per snapshot is written. The "*" character is replaced with the timestep value. For example, tmp.dump.*.jpg becomes tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note -that the dump_modify pad command can be used to +that the dump_modify pad command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to convert a series of images into a movie in the -correct ordering.

    -

    Dump movie filenames on the other hand, must not have any wildcard +correct ordering. +

    +

    Dump movie filenames on the other hand, must not have any wildcard character since only one file combining all images into a single -movie will be written by the movie encoder.

    -
    -

    The color and diameter settings determine the color and size of +movie will be written by the movie encoder. +

    +
    + +

    The color and diameter settings determine the color and size of atoms rendered in the image. They can be any atom attribute defined -for the dump custom command, including type and -element. This includes per-atom quantities calculated by a -compute, fix, or variable, -which are prefixed by “c_”, “f_”, or “v_” respectively. Note that the -diameter setting can be overridden with a numeric value by the -optional adiam keyword, in which case you can specify the diameter -setting with any valid atom attribute.

    -

    If type is specified for the color setting, then the color of each +for the dump custom command, including type and +element. This includes per-atom quantities calculated by a +compute, fix, or variable, +which are prefixed by "c_", "f_", or "v_" respectively. Note that the +diameter setting can be overridden with a numeric value by the +optional adiam keyword, in which case you can specify the diameter +setting with any valid atom attribute. +

    +

    If type is specified for the color setting, then the color of each atom is determined by its atom type. By default the mapping of types -to colors is as follows:

    -
      -
    • type 1 = red
    • -
    • type 2 = green
    • -
    • type 3 = blue
    • -
    • type 4 = yellow
    • -
    • type 5 = aqua
    • -
    • type 6 = cyan
    • -
    -

    and repeats itself for types > 6. This mapping can be changed by the -dump_modify acolor command.

    -

    If type is specified for the diameter setting then the diameter of +to colors is as follows: +

    +
    • type 1 = red +
    • type 2 = green +
    • type 3 = blue +
    • type 4 = yellow +
    • type 5 = aqua +
    • type 6 = cyan +
    +

    and repeats itself for types > 6. This mapping can be changed by the +dump_modify acolor command. +

    +

    If type is specified for the diameter setting then the diameter of each atom is determined by its atom type. By default all types have -diameter 1.0. This mapping can be changed by the dump_modify adiam command.

    -

    If element is specified for the color and/or diameter setting, +diameter 1.0. This mapping can be changed by the dump_modify +adiam command. +

    +

    If element is specified for the color and/or diameter setting, then the color and/or diameter of each atom is determined by which element it is, which in turn is specified by the element-to-type -mapping specified by the “dump_modify element” command. By default +mapping specified by the "dump_modify element" command. By default every atom type is C (carbon). Every element has a color and diameter associated with it, which is the same as the colors and sizes used by -the AtomEye visualization package.

    -

    If other atom attributes are used for the color or diameter -settings, they are interpreted in the following way.

    -

    If “vx”, for example, is used as the color setting, then the color +the AtomEye visualization package. +

    + + +

    If other atom attributes are used for the color or diameter +settings, they are interpreted in the following way. +

    +

    If "vx", for example, is used as the color setting, then the color of the atom will depend on the x-component of its velocity. The association of a per-atom value with a specific color is determined by -a “color map”, which can be specified via the -dump_modify command. The basic idea is that the +a "color map", which can be specified via the +dump_modify command. The basic idea is that the atom-attribute will be within a range of values, and every value within the range is mapped to a specific color. Depending on how the color map is defined, that mapping can take place via interpolation so -that a value of -3.2 is halfway between “red” and “blue”, or -discretely so that the value of -3.2 is “orange”.

    -

    If “vx”, for example, is used as the diameter setting, then the atom +that a value of -3.2 is halfway between "red" and "blue", or +discretely so that the value of -3.2 is "orange". +

    +

    If "vx", for example, is used as the diameter setting, then the atom will be rendered using the x-component of its velocity as the -diameter. If the per-atom value <= 0.0, them the atom will not be +diameter. If the per-atom value <= 0.0, them the atom will not be drawn. Note that finite-size spherical particles, as defined by -atom_style sphere define a per-particle radius or -diameter, which can be used as the diameter setting.

    -
    -

    The various kewords listed above control how the image is rendered. +atom_style sphere define a per-particle radius or +diameter, which can be used as the diameter setting. +

    +
    + +

    The various kewords listed above control how the image is rendered. As listed below, all of the keywords have defaults, most of which you -will likely not need to change. The dump modify +will likely not need to change. The dump modify also has options specific to the dump image style, particularly for -assigning colors to atoms, bonds, and other image features.

    -
    -

    The adiam keyword allows you to override the diameter setting to a +assigning colors to atoms, bonds, and other image features. +

    +
    + +

    The adiam keyword allows you to override the diameter setting to a per-atom attribute with a specified numeric value. All atoms will be drawn with that diameter, e.g. 1.5, which is in whatever distance -units the input script defines, e.g. Angstroms.

    -

    The atom keyword allow you to turn off the drawing of all atoms, -if the specified value is no.

    -

    The bond keyword allows to you to alter how bonds are drawn. A bond +units the input script defines, e.g. Angstroms. +

    +

    The atom keyword allow you to turn off the drawing of all atoms, +if the specified value is no. +

    +

    The bond keyword allows to you to alter how bonds are drawn. A bond is only drawn if both atoms in the bond are being drawn due to being in the specified group and due to other selection criteria (e.g. region, threshhold settings of the -dump_modify command). By default, bonds are drawn +dump_modify command). By default, bonds are drawn if they are defined in the input data file as read by the -read_data command. Using none for both the bond -color and width value will turn off the drawing of all bonds.

    -

    If atom is specified for the bond color value, then each bond is +read_data command. Using none for both the bond +color and width value will turn off the drawing of all bonds. +

    +

    If atom is specified for the bond color value, then each bond is drawn in 2 halves, with the color of each half being the color of the -atom at that end of the bond.

    -

    If type is specified for the color value, then the color of each +atom at that end of the bond. +

    +

    If type is specified for the color value, then the color of each bond is determined by its bond type. By default the mapping of bond -types to colors is as follows:

    -
      -
    • type 1 = red
    • -
    • type 2 = green
    • -
    • type 3 = blue
    • -
    • type 4 = yellow
    • -
    • type 5 = aqua
    • -
    • type 6 = cyan
    • -
    -

    and repeats itself for bond types > 6. This mapping can be changed by -the dump_modify bcolor command.

    -

    The bond width value can be a numeric value or atom or type (or -none as indicated above).

    -

    If a numeric value is specified, then all bonds will be drawn as +types to colors is as follows: +

    +
    • type 1 = red +
    • type 2 = green +
    • type 3 = blue +
    • type 4 = yellow +
    • type 5 = aqua +
    • type 6 = cyan +
    +

    and repeats itself for bond types > 6. This mapping can be changed by +the dump_modify bcolor command. +

    +

    The bond width value can be a numeric value or atom or type (or +none as indicated above). +

    +

    If a numeric value is specified, then all bonds will be drawn as cylinders with that diameter, e.g. 1.0, which is in whatever distance -units the input script defines, e.g. Angstroms.

    -

    If atom is specified for the width value, then each bond +units the input script defines, e.g. Angstroms. +

    +

    If atom is specified for the width value, then each bond will be drawn with a width corresponding to the minimum diameter -of the 2 atoms in the bond.

    -

    If type is specified for the width value then the diameter of each +of the 2 atoms in the bond. +

    +

    If type is specified for the width value then the diameter of each bond is determined by its bond type. By default all types have -diameter 0.5. This mapping can be changed by the dump_modify bdiam command.

    -
    -

    The size keyword sets the width and height of the created images, -i.e. the number of pixels in each direction.

    -
    -

    The view, center, up, zoom, and persp values determine how +diameter 0.5. This mapping can be changed by the dump_modify +bdiam command. +

    +
    + +

    The size keyword sets the width and height of the created images, +i.e. the number of pixels in each direction. +

    +
    + +

    The view, center, up, zoom, and persp values determine how 3d simulation space is mapped to the 2d plane of the image. Basically -they control how the simulation box appears in the image.

    -

    All of the view, center, up, zoom, and persp values can be +they control how the simulation box appears in the image. +

    +

    All of the view, center, up, zoom, and persp values can be specified as numeric quantities, whose meaning is explained below. -Any of them can also be specified as an equal-style variable, by using v_name as the value, where “name” is +Any of them can also be specified as an equal-style +variable, by using v_name as the value, where "name" is the variable name. In this case the variable will be evaluated on the timestep each image is created to create a new value. If the equal-style variable is time-dependent, this is a means of changing the way the simulation box appears from image to image, effectively -doing a pan or fly-by view of your simulation.

    -

    The view keyword determines the viewpoint from which the simulation -box is viewed, looking towards the center point. The theta value +doing a pan or fly-by view of your simulation. +

    +

    The view keyword determines the viewpoint from which the simulation +box is viewed, looking towards the center point. The theta value is the vertical angle from the +z axis, and must be an angle from 0 to -180 degrees. The phi value is an azimuthal angle around the z axis +180 degrees. The phi value is an azimuthal angle around the z axis and can be positive or negative. A value of 0.0 is a view along the -+x axis, towards the center point. If theta or phi are ++x axis, towards the center point. If theta or phi are specified via variables, then the variable values should be in -degrees.

    -

    The center keyword determines the point in simulation space that -will be at the center of the image. Cx, Cy, and Cz are +degrees. +

    +

    The center keyword determines the point in simulation space that +will be at the center of the image. Cx, Cy, and Cz are speficied as fractions of the box dimensions, so that (0.5,0.5,0.5) is the center of the simulation box. These values do not have to be between 0.0 and 1.0, if you want the simulation box to be offset from the center of the image. Note, however, that if you choose strange -values for Cx, Cy, or Cz you may get a blank image. Internally, -Cx, Cy, and Cz are converted into a point in simulation space. -If flag is set to “s” for static, then this conversion is done once, -at the time the dump command is issued. If flag is set to “d” for +values for Cx, Cy, or Cz you may get a blank image. Internally, +Cx, Cy, and Cz are converted into a point in simulation space. +If flag is set to "s" for static, then this conversion is done once, +at the time the dump command is issued. If flag is set to "d" for dynamic then the conversion is performed every time a new image is created. If the box size or shape is changing, this will adjust the -center point in simulation space.

    -

    The up keyword determines what direction in simulation space will be -“up” in the image. Internally it is stored as a vector that is in the -plane perpendicular to the view vector implied by the theta and -pni values, and which is also in the plane defined by the view +center point in simulation space. +

    +

    The up keyword determines what direction in simulation space will be +"up" in the image. Internally it is stored as a vector that is in the +plane perpendicular to the view vector implied by the theta and +pni values, and which is also in the plane defined by the view vector and user-specified up vector. Thus this internal vector is -computed from the user-specified up vector as

    -
    up_internal = view cross (up cross view)
    -
    -
    -

    This means the only restriction on the specified up vector is that -it cannot be parallel to the view vector, implied by the theta and -phi values.

    -

    The zoom keyword scales the size of the simulation box as it appears -in the image. The default zfactor value of 1 should display an -image mostly filled by the atoms in the simulation box. A zfactor > -1 will make the simulation box larger; a zfactor < 1 will make it -smaller. Zfactor must be a value > 0.0.

    -

    The persp keyword determines how much depth perspective is present +computed from the user-specified up vector as +

    +
    up_internal = view cross (up cross view) 
    +
    +

    This means the only restriction on the specified up vector is that +it cannot be parallel to the view vector, implied by the theta and +phi values. +

    +

    The zoom keyword scales the size of the simulation box as it appears +in the image. The default zfactor value of 1 should display an +image mostly filled by the atoms in the simulation box. A zfactor > +1 will make the simulation box larger; a zfactor < 1 will make it +smaller. Zfactor must be a value > 0.0. +

    +

    The persp keyword determines how much depth perspective is present in the image. Depth perspective makes lines that are parallel in -simulation space appear non-parallel in the image. A pfactor value +simulation space appear non-parallel in the image. A pfactor value of 0.0 means that parallel lines will meet at infininty (1.0/pfactor), -which is an orthographic rendering with no persepctive. A pfactor -value between 0.0 and 1.0 will introduce more perspective. A pfactor -value > 1 will create a highly skewed image with a large amount of -perspective.

    -
    -

    Warning

    -

    The persp keyword is not yet supported as an option.

    -
    -
    -

    The box keyword determines if and how the simulation box boundaries -are rendered as thin cylinders in the image. If no is set, then the -box boundaries are not drawn and the diam setting is ignored. If -yes is set, the 12 edges of the box are drawn, with a diameter that +which is an orthographic rendering with no persepctive. A pfactor +value between 0.0 and 1.0 will introduce more perspective. A pfactor +value > 1 will create a highly skewed image with a large amount of +perspective. +

    +

    IMPORTANT NOTE: The persp keyword is not yet supported as an option. +

    +
    + +

    The box keyword determines if and how the simulation box boundaries +are rendered as thin cylinders in the image. If no is set, then the +box boundaries are not drawn and the diam setting is ignored. If +yes is set, the 12 edges of the box are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). The color of the box boundaries can be set with the dump_modify boxcolor command.

    -

    The axes keyword determines if and how the coordinate axes are -rendered as thin cylinders in the image. If no is set, then the -axes are not drawn and the length and diam settings are ignored. -If yes is set, 3 thin cylinders are drawn to represent the x,y,z +2d). The color of the box boundaries can be set with the dump_modify +boxcolor command. +

    +

    The axes keyword determines if and how the coordinate axes are +rendered as thin cylinders in the image. If no is set, then the +axes are not drawn and the length and diam settings are ignored. +If yes is set, 3 thin cylinders are drawn to represent the x,y,z axes in colors red,green,blue. The origin of these cylinders will be -offset from the lower left corner of the box by 10%. The length +offset from the lower left corner of the box by 10%. The length setting determines how long the cylinders will be as a fraction of the -respective box lengths. The diam setting determines their thickness +respective box lengths. The diam setting determines their thickness as a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d).

    -

    The subbox keyword determines if and how processor sub-domain -boundaries are rendered as thin cylinders in the image. If no is +2d). +

    +

    The subbox keyword determines if and how processor sub-domain +boundaries are rendered as thin cylinders in the image. If no is set (default), then the sub-domain boundaries are not drawn and the -diam setting is ignored. If yes is set, the 12 edges of each +diam setting is ignored. If yes is set, the 12 edges of each processor sub-domain are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color -of the sub-domain boundaries can be set with the dump_modify boxcolor command.

    -
    -

    The shiny keyword determines how shiny the objects rendered in the -image will appear. The sfactor value must be a value 0.0 <= -sfactor <= 1.0, where sfactor = 1 is a highly reflective surface -and sfactor = 0 is a rough non-shiny surface.

    -

    The ssao keyword turns on/off a screen space ambient occlusion -(SSAO) model for depth shading. If yes is set, then atoms further +of the sub-domain boundaries can be set with the dump_modify +boxcolor command. +

    +
    + +

    The shiny keyword determines how shiny the objects rendered in the +image will appear. The sfactor value must be a value 0.0 <= +sfactor <= 1.0, where sfactor = 1 is a highly reflective surface +and sfactor = 0 is a rough non-shiny surface. +

    +

    The ssao keyword turns on/off a screen space ambient occlusion +(SSAO) model for depth shading. If yes is set, then atoms further away from the viewer are darkened via a randomized process, which is perceived as depth. The calculation of this effect can increase the cost of computing the image by roughly 2x. The strength of the effect -can be scaled by the dfactor parameter. If no is set, no depth -shading is performed.

    -
    -

    A series of JPEG, PNG, or PPM images can be converted into a movie +can be scaled by the dfactor parameter. If no is set, no depth +shading is performed. +

    +
    + +

    A series of JPEG, PNG, or PPM images can be converted into a movie file and then played as a movie using commonly available tools. Using -dump style movie automates this step and avoids the intermediate +dump style movie automates this step and avoids the intermediate step of writing (many) image snapshot file. But LAMMPS has to be compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be -installed.

    -

    To manually convert JPEG, PNG or PPM files into an animated GIF or -MPEG or other movie file you can use:

    -
      -
      1. -
      2. Use the ImageMagick convert program.
      3. -
      -
    • -
    -
    % convert *.jpg foo.gif
    -% convert -loop 1 *.ppm foo.mpg
    -
    -
    -

    Animated GIF files from ImageMagick are unoptimized. You can use a +installed. +

    +

    To manually convert JPEG, PNG or PPM files into an animated GIF or +MPEG or other movie file you can use: +

    +
    • a) Use the ImageMagick convert program. + +
      % convert *.jpg foo.gif
      +% convert -loop 1 *.ppm foo.mpg 
      +
      +

      Animated GIF files from ImageMagick are unoptimized. You can use a program like gifsicle to optimize and massively shrink them. MPEG files created by ImageMagick are in MPEG-1 format with rather -inefficient compression and low quality.

      -
        -
        1. -
        2. Use QuickTime.
        3. -
        -
      • -
      -

      Select “Open Image Sequence” under the File menu Load the images into -QuickTime to animate them Select “Export” under the File menu Save the -movie as a QuickTime movie (*.mov) or in another format. QuickTime +inefficient compression and low quality. +

      +
    • b) Use QuickTime. + +

      Select "Open Image Sequence" under the File menu Load the images into +QuickTime to animate them Select "Export" under the File menu Save the +movie as a QuickTime movie (*.mov) or in another format. QuickTime can generate very high quality and efficiently compressed movie files. Some of the supported formats require to buy a license and some are not readable on all platforms until specific runtime libraries are -installed.

      -
        -
        1. -
        2. Use FFmpeg
        3. -
        -
      • -
      -

      FFmpeg is a command line tool that is available on many platforms and -allows extremely flexible encoding and decoding of movies.

      -
      cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v
      -cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi
      -
      -
      -

      Frontends for FFmpeg exist for multiple platforms. For more -information see the FFmpeg homepage

      -
      -

      Play the movie:

      -
        -
        1. -
        2. Use your browser to view an animated GIF movie.
        3. -
        -
      • -
      -

      Select “Open File” under the File menu -Load the animated GIF file

      -
        -
      • b) Use the freely available mplayer or ffplay tool to view a +installed. +

        +
      • c) Use FFmpeg + +

        FFmpeg is a command line tool that is available on many platforms and +allows extremely flexible encoding and decoding of movies. +

        +
        cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v
        +cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi 
        +
        +

        Frontends for FFmpeg exist for multiple platforms. For more +information see the FFmpeg homepage +

        + +
      +
      + +

      Play the movie: +

      +
      • a) Use your browser to view an animated GIF movie. + +

        Select "Open File" under the File menu +Load the animated GIF file +

        +
      • b) Use the freely available mplayer or ffplay tool to view a movie. Both are available for multiple OSes and support a large -variety of file formats and decoders.
      • -
      -
      % mplayer foo.mpg
      -% ffplay bar.avi
      -
      -
      - -
      a = animate("foo*.jpg")
      -
      -
      -
        -
      • d) QuickTime and other Windows- or MacOS-based media players can +variety of file formats and decoders. + +
        % mplayer foo.mpg 
        +% ffplay bar.avi 
        +
        +
      • c) Use the Pizza.py +animate tool, +which works directly on a series of image files. + +
        a = animate("foo*.jpg") 
        +
        +
      • d) QuickTime and other Windows- or MacOS-based media players can obviously play movie files directly. Similarly for corresponding tools bundled with Linux desktop environments. However, due to licensing issues with some file formats, the formats may require installing additional libraries, purchasing a license, or may not be -supported.
      • -
      -
      -

      See Section_modify of the manual for information +supported. +

    +
    + +

    See Section_modify of the manual for information on how to add new compute and fix styles to LAMMPS to calculate -per-atom quantities which could then be output into dump files.

    -
    -
    -
    -

    Restrictions¶

    -

    To write JPEG images, you must use the -DLAMMPS_JPEG switch when +per-atom quantities which could then be output into dump files. +

    +
    + +

    Restrictions: +

    +

    To write JPEG images, you must use the -DLAMMPS_JPEG switch when building LAMMPS and link with a JPEG library. To write PNG images, you must use the -DLAMMPS_PNG switch when building LAMMPS and link with a -PNG library.

    -

    To write movie dumps, you must use the -DLAMMPS_FFMPEG switch when +PNG library. +

    +

    To write movie dumps, you must use the -DLAMMPS_FFMPEG switch when building LAMMPS and have the FFmpeg executable available on the -machine where LAMMPS is being run. Typically it’s name is lowercase, -i.e. ffmpeg.

    -

    See the Making LAMMPS section of the -documentation for details on how to compile with optional switches.

    -

    Note that since FFmpeg is run as an external program via a pipe, +machine where LAMMPS is being run. Typically it's name is lowercase, +i.e. ffmpeg. +

    +

    See the Making LAMMPS section of the +documentation for details on how to compile with optional switches. +

    +

    Note that since FFmpeg is run as an external program via a pipe, LAMMPS has limited control over its execution and no knowledge about errors and warnings printed by it. Those warnings and error messages will be printed to the screen only. Due to the way image data is -communicated to FFmpeg, it will often print the message

    -
    pipe:: Input/output error
    -
    -
    -

    which can be safely ignored. Other warnings +communicated to FFmpeg, it will often print the message +

    +
    pipe:: Input/output error 
    +
    +

    which can be safely ignored. Other warnings and errors have to be addressed according to the FFmpeg documentation. One known issue is that certain movie file formats (e.g. MPEG level 1 and 2 format streams) have video bandwith limits that can be crossed when rendering too large of image sizes. Typical warnings look like -this:

    -
    [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it
    +this:
    +

    +
    [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it
     [mpeg @ 0x98b5e0] buffer underflow st=0 bufi=281407 size=285018
    -[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018
    -
    -
    -

    In this case it is recommended to either reduce the size of the image +[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018 + +

    In this case it is recommended to either reduce the size of the image or encode in a different format that is also supported by your copy of FFmpeg, and which does not have this limitation (e.g. .avi, .mkv, -mp4).

    -
    - -
    -

    Default¶

    -

    The defaults for the keywords are as follows:

    -
      -
    • adiam = not specified (use diameter setting)
    • -
    • atom = yes
    • -
    • bond = none none (if no bonds in system)
    • -
    • bond = atom 0.5 (if bonds in system)
    • -
    • size = 512 512
    • -
    • view = 60 30 (for 3d)
    • -
    • view = 0 0 (for 2d)
    • -
    • center = s 0.5 0.5 0.5
    • -
    • up = 0 0 1 (for 3d)
    • -
    • up = 0 1 0 (for 2d)
    • -
    • zoom = 1.0
    • -
    • persp = 0.0
    • -
    • box = yes 0.02
    • -
    • axes = no 0.0 0.0
    • -
    • subbox no 0.0
    • -
    • shiny = 1.0
    • -
    • ssao = no
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +mp4). +

    +

    Related commands: +

    +

    dump, dump_modify, undump +

    +

    Default: +

    +

    The defaults for the keywords are as follows: +

    +
    • adiam = not specified (use diameter setting) +
    • atom = yes +
    • bond = none none (if no bonds in system) +
    • bond = atom 0.5 (if bonds in system) +
    • size = 512 512 +
    • view = 60 30 (for 3d) +
    • view = 0 0 (for 2d) +
    • center = s 0.5 0.5 0.5 +
    • up = 0 0 1 (for 3d) +
    • up = 0 1 0 (for 2d) +
    • zoom = 1.0 +
    • persp = 0.0 +
    • box = yes 0.02 +
    • axes = no 0.0 0.0 +
    • subbox no 0.0 +
    • shiny = 1.0 +
    • ssao = no +
    + diff --git a/doc/dump_modify.html b/doc/dump_modify.html index 16e0c34870..90cec61922 100644 --- a/doc/dump_modify.html +++ b/doc/dump_modify.html @@ -1,335 +1,241 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dump_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dump_modify command¶

    -
    -

    Syntax¶

    -
    dump_modify dump-ID keyword values ...
    -
    -
    -
      -
    • dump-ID = ID of dump to modify
    • -
    • one or more keyword/value pairs may be appended
    • -
    • these keywords apply to various dump styles
    • -
    • keyword = append or buffer or element or every or fileper or first or flush or format or image or label or nfile or pad or precision or region or scale or sort or thresh or unwrap
    • -
    -
    -append arg = yes or no
    -  buffer arg = yes or no
    -  element args = E1 E2 ... EN, where N = # of atom types
    +
    +
    +
    + +

    dump_modify command +

    +

    Syntax: +

    +
    dump_modify dump-ID keyword values ... 
    +
    +
    • dump-ID = ID of dump to modify + +
    • one or more keyword/value pairs may be appended + +
    • these keywords apply to various dump styles + +
    • keyword = append or buffer or element or every or fileper or first or flush or format or image or label or nfile or pad or precision or region or scale or sort or thresh or unwrap + +
        append arg = yes or no
      +  buffer arg = yes or no
      +  element args = E1 E2 ... EN, where N = # of atom types
           E1,...,EN = element name, e.g. C or Fe or Ga
      -  every arg = N
      +  every arg = N
           N = dump every this many timesteps
           N can be a variable (see below)
      -  fileper arg = Np
      +  fileper arg = Np
           Np = write one file for every this many processors
      -  first arg = yes or no
      -  format arg = C-style format string for one line of output
      -  flush arg = yes or no
      -  image arg = yes or no
      -  label arg = string
      +  first arg = yes or no
      +  format arg = C-style format string for one line of output
      +  flush arg = yes or no
      +  image arg = yes or no
      +  label arg = string
           string = character string (e.g. BONDS) to use in header of dump local file
      -  nfile arg = Nf
      +  nfile arg = Nf
           Nf = write this many files, one from each of Nf processors
      -  pad arg = Nchar = # of characters to convert timestep to
      -  precision arg = power-of-10 value from 10 to 1000000
      -  region arg = region-ID or "none"
      -  scale arg = yes or no
      -  sfactor arg = coordinate scaling factor (> 0.0)
      -  tfactor arg = time scaling factor (> 0.0)
      -  sort arg = off or id or N or -N
      +  pad arg = Nchar = # of characters to convert timestep to
      +  precision arg = power-of-10 value from 10 to 1000000
      +  region arg = region-ID or "none"
      +  scale arg = yes or no
      +  sfactor arg = coordinate scaling factor (> 0.0)
      +  tfactor arg = time scaling factor (> 0.0)
      +  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
            N = sort per-atom lines in ascending order by the Nth column
            -N = sort per-atom lines in descending order by the Nth column
      -  thresh args = attribute operation value
      +  thresh args = attribute operation value
           attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
      -    operation = "<" or "<=" or ">" or ">=" or "==" or "!="
      +    operation = "<" or "<=" or ">" or ">=" or "==" or "!="
           value = numeric value to compare to
      -    these 3 args can be replaced by the word "none" to turn off thresholding
      -  unwrap arg = yes or no
      -
      -
        -
      • these keywords apply only to the image and movie styles
      • -
      • keyword = acolor or adiam or amap or backcolor or bcolor or bdiam or boxcolor or color or bitrate or framerate
      • -
      -
      -acolor args = type color
      +    these 3 args can be replaced by the word "none" to turn off thresholding
      +  unwrap arg = yes or no 
      +
      +
    • these keywords apply only to the image and movie styles + +
    • keyword = acolor or adiam or amap or backcolor or bcolor or bdiam or boxcolor or color or bitrate or framerate + +
        acolor args = type color
           type = atom type or range of types (see below)
           color = name of color or color1/color2/...
      -  adiam args = type diam
      +  adiam args = type diam
           type = atom type or range of types (see below)
           diam = diameter of atoms of that type (distance units)
      -  amap args = lo hi style delta N entry1 entry2 ... entryN
      -    lo = number or min = lower bound of range of color map
      -    hi = number or max = upper bound of range of color map
      -    style = 2 letters = "c" or "d" or "s" plus "a" or "f"
      -      "c" for continuous
      -      "d" for discrete
      -      "s" for sequential
      -      "a" for absolute
      -      "f" for fractional
      -    delta = binsize (only used for style "s", otherwise ignored)
      +  amap args = lo hi style delta N entry1 entry2 ... entryN
      +    lo = number or min = lower bound of range of color map
      +    hi = number or max = upper bound of range of color map
      +    style = 2 letters = "c" or "d" or "s" plus "a" or "f"
      +      "c" for continuous
      +      "d" for discrete
      +      "s" for sequential
      +      "a" for absolute
      +      "f" for fractional
      +    delta = binsize (only used for style "s", otherwise ignored)
             binsize = range is divided into bins of this width
           N = # of subsequent entries
           entry = value color (for continuous style)
      -      value = number or min or max = single value within range
      +      value = number or min or max = single value within range
             color = name of color used for that value
           entry = lo hi color (for discrete style)
      -      lo/hi = number or min or max = lower/upper bound of subset of range
      +      lo/hi = number or min or max = lower/upper bound of subset of range
             color = name of color used for that subset of values
           entry = color (for sequential style)
             color = name of color used for a bin of values
      -  backcolor arg = color
      +  backcolor arg = color
           color = name of color for background
      -  bcolor args = type color
      +  bcolor args = type color
           type = bond type or range of types (see below)
           color = name of color or color1/color2/...
      -  bdiam args = type diam
      +  bdiam args = type diam
           type = bond type or range of types (see below)
           diam = diameter of bonds of that type (distance units)
      -  boxcolor arg = color
      +  boxcolor arg = color
           color = name of color for simulation box lines and processor sub-domain lines
      -  color args = name R G B
      +  color args = name R G B
           name = name of color
           R,G,B = red/green/blue numeric values from 0.0 to 1.0
      -  bitrate arg = rate
      +  bitrate arg = rate
           rate = target bitrate for movie in kbps
      -  framerate arg = fps
      -    fps = frames per second for movie
      -
      -
    -
    -

    Examples¶

    -
    dump_modify 1 format "%d %d %20.15g %g %g" scale yes
    +  framerate arg = fps
    +    fps = frames per second for movie 
    +
    + + +

    Examples: +

    +
    dump_modify 1 format "%d %d %20.15g %g %g" scale yes
     dump_modify myDump image yes scale no flush yes
    -dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2
    +dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2
     dump_modify xtcdump precision 10000 sfactor 0.1
     dump_modify 1 every 1000 nfile 20
     dump_modify 1 every v_myVar
    -dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red
    -
    -
    -
    -
    -

    Description¶

    -

    Modify the parameters of a previously defined dump command. Not all -parameters are relevant to all dump styles.

    -

    As explained on the dump doc page, the atom/mpiio, -custom/mpiio, and xyz/mpiio dump styles are identical in command +dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red + +

    Description: +

    +

    Modify the parameters of a previously defined dump command. Not all +parameters are relevant to all dump styles. +

    +

    As explained on the dump doc page, the atom/mpiio, +custom/mpiio, and xyz/mpiio dump styles are identical in command syntax and in the format of the dump files they create, to the -corresponding styles without “mpiio”, except the single dump file they +corresponding styles without "mpiio", except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a -dump_modify option below is valid for the atom style, it is also -valid for the atom/mpiio style, and similarly for the other styles -which allow for use of MPI-IO.

    -

    These keywords apply to various dump styles, including the dump image and dump movie styles. The -description gives details.

    -
    -

    The append keyword applies to all dump styles except cfg and xtc -and dcd. It also applies only to text output files, not to binary -or gzipped or image/movie files. If specified as yes, then dump +dump_modify option below is valid for the atom style, it is also +valid for the atom/mpiio style, and similarly for the other styles +which allow for use of MPI-IO. +

    +
    + +
    + +

    These keywords apply to various dump styles, including the dump +image and dump movie styles. The +description gives details. +

    +
    + +

    The append keyword applies to all dump styles except cfg and xtc +and dcd. It also applies only to text output files, not to binary +or gzipped or image/movie files. If specified as yes, then dump snapshots are appended to the end of an existing dump file. If -specified as no, then a new dump file will be created which will +specified as no, then a new dump file will be created which will overwrite an existing file with the same name. This keyword can only take effect if the dump_modify command is used after the -dump command, but before the first command that causes -dump snapshots to be output, e.g. a run or -minimize command. Once the dump file has been opened, -this keyword has no further effect.

    -
    -

    The buffer keyword applies only to dump styles atom, cfg, -custom, local, and xyz. It also applies only to text output -files, not to binary or gzipped files. If specified as yes, which +dump command, but before the first command that causes +dump snapshots to be output, e.g. a run or +minimize command. Once the dump file has been opened, +this keyword has no further effect. +

    +
    + +

    The buffer keyword applies only to dump styles atom, cfg, +custom, local, and xyz. It also applies only to text output +files, not to binary or gzipped files. If specified as yes, which is the default, then each processor writes its output into an internal text buffer, which is then sent to the processor(s) which perform file writes, and written by those processors(s) as one large chunk of text. -If specified as no, each processor sends its per-atom data in binary +If specified as no, each processor sends its per-atom data in binary format to the processor(s) which perform file wirtes, and those -processor(s) format and write it line by line into the output file.

    -

    The buffering mode is typically faster since each processor does the +processor(s) format and write it line by line into the output file. +

    +

    The buffering mode is typically faster since each processor does the relatively expensive task of formatting the output for its own atoms. However it requires about twice the memory (per processor) for the -extra buffering.

    -
    -

    The element keyword applies only to the the dump cfg, xyz, and -image styles. It associates element names (e.g. H, C, Fe) with +extra buffering. +

    +
    + +

    The element keyword applies only to the the dump cfg, xyz, and +image styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of -this page.

    -

    In the case of dump cfg, this allows the AtomEye +this page. +

    +

    In the case of dump cfg, this allows the AtomEye visualization package to read the dump file and render atoms with the -appropriate size and color.

    -

    In the case of dump image, the output images will follow the same -AtomEye convention. An element name is specified for each +appropriate size and color. +

    +

    In the case of dump image, the output images will follow the same +AtomEye convention. An element name is specified for each atom type (1 to Ntype) in the simulation. The same element name can -be given to multiple atom types.

    -

    In the case of xyz format dumps, there are no restrictions to what +be given to multiple atom types. +

    +

    In the case of xyz format dumps, there are no restrictions to what label can be used as an element name. Any whitespace separated text -will be accepted.

    -
    -

    The every keyword changes the dump frequency originally specified by -the dump command to a new value. The every keyword can be +will be accepted. +

    + + +
    + +

    The every keyword changes the dump frequency originally specified by +the dump command to a new value. The every keyword can be specified in one of two ways. It can be a numeric value in which case -it must be > 0. Or it can be an equal-style variable, -which should be specified as v_name, where name is the variable name.

    -

    In this case, the variable is evaluated at the beginning of a run to +it must be > 0. Or it can be an equal-style variable, +which should be specified as v_name, where name is the variable name. +

    +

    In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a dump snapshot will be written out. On that timestep the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and logfreq() and stride() math -functions for equal-style variables, as examples of +functions for equal-style variables, as examples of useful functions to use in this context. Other similar math functions -could easily be added as options for equal-style variables. Also see the next() function, which allows +could easily be added as options for equal-style +variables. Also see the next() function, which allows use of a file-style variable which reads successive values from a -file, each time the variable is evaluated. Used with the every +file, each time the variable is evaluated. Used with the every keyword, if the file contains a list of ascending timesteps, you can -output snapshots whenever you wish.

    -

    Note that when using the variable option with the every keyword, you -need to use the first option if you want an initial snapshot written -to the dump file. The every keyword cannot be used with the dump -dcd style.

    -

    For example, the following commands will -write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:

    -
    variable     s equal logfreq(10,3,10)
    -dump         1 all atom 100 tmp.dump
    -dump_modify  1 every v_s first yes
    -
    -
    -

    The following commands would write snapshots at the timesteps listed -in file tmp.times:

    -
    variable        f file tmp.times
    -variable     s equal next(f)
    -dump         1 all atom 100 tmp.dump
    -dump_modify  1 every v_s
    -
    -
    -
    -

    Warning

    -

    When using a file-style variable with the every +output snapshots whenever you wish. +

    +

    Note that when using the variable option with the every keyword, you +need to use the first option if you want an initial snapshot written +to the dump file. The every keyword cannot be used with the dump +dcd style. +

    +

    For example, the following commands will +write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: +

    +
    variable	s equal logfreq(10,3,10)
    +dump		1 all atom 100 tmp.dump
    +dump_modify	1 every v_s first yes 
    +
    +

    The following commands would write snapshots at the timesteps listed +in file tmp.times: +

    +
    variable        f file tmp.times
    +variable	s equal next(f)
    +dump		1 all atom 100 tmp.dump
    +dump_modify	1 every v_s 
    +
    +

    IMPORTANT NOTE: When using a file-style variable with the every keyword, the file of timesteps must list a first timestep that is beyond the current timestep (e.g. it cannot be 0). And it must list one or more timesteps beyond the length of the run you perform. This @@ -337,393 +243,467 @@ is because the dump command will generate an error if the next timestep it reads from the file is not a value greater than the current timestep. Thus if you wanted output on steps 0,15,100 of a 100-timestep run, the file should contain the values 15,100,101 and -you should also use the dump_modify first command. Any final value > -100 could be used in place of 101.

    -
    -
    -

    The first keyword determines whether a dump snapshot is written on +you should also use the dump_modify first command. Any final value > +100 could be used in place of 101. +

    +
    + +

    The first keyword determines whether a dump snapshot is written on the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency -specified in the dump command, including timestep 0. But +specified in the dump command, including timestep 0. But if this is not the case, a dump snapshot will only be written if the -setting of this keyword is yes. If it is no, which is the -default, then it will not be written.

    -
    -

    The flush keyword determines whether a flush operation is invoked +setting of this keyword is yes. If it is no, which is the +default, then it will not be written. +

    +
    + +

    The flush keyword determines whether a flush operation is invoked after a dump snapshot is written to the dump file. A flush insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. Flushes cannot be -performed with dump style xtc.

    -
    -

    The text-based dump styles have a default C-style format string which +performed with dump style xtc. +

    +
    + +

    The text-based dump styles have a default C-style format string which simply specifies %d for integers and %g for floating-point values. -The format keyword can be used to override the default with a new -C-style format string. Do not include a trailing “n” newline +The format keyword can be used to override the default with a new +C-style format string. Do not include a trailing "\n" newline character in the format string. This option has no effect on the -dcd and xtc dump styles since they write binary files. Note that -for the cfg style, the first two fields (atom id and type) are not +dcd and xtc dump styles since they write binary files. Note that +for the cfg style, the first two fields (atom id and type) are not actually written into the CFG file, though you must include formats -for them in the format string.

    -
    -

    Warning

    -

    Any value written to a text-based dump file that is a -per-atom quantity calculated by a compute or -fix is stored internally as a floating-point value. If the +for them in the format string. +

    +

    IMPORTANT NOTE: Any value written to a text-based dump file that is a +per-atom quantity calculated by a compute or +fix is stored internally as a floating-point value. If the value is actually an integer and you wish it to appear in the text dump file as a (large) integer, then you need to use an appropriate -format. For example, these commands:

    -
    -
    compute     1 all property/local batom1 batom2
    +format.  For example, these commands:
    +

    +
    compute     1 all property/local batom1 batom2
     dump        1 all local 100 tmp.bonds index c_1[1] c_1[2]
    -dump_modify 1 format "%d %0.0f %0.0f"
    -
    -
    -

    will output the two atom IDs for atoms in each bond as integers. If +dump_modify 1 format "%d %0.0f %0.0f" + +

    will output the two atom IDs for atoms in each bond as integers. If the dump_modify command were omitted, they would appear as floating-point values, assuming they were large integers (more than 6 -digits). The “index” keyword should use the “%d” format since it is +digits). The "index" keyword should use the "%d" format since it is not generated by a compute or fix, and is stored internally as an -integer.

    -
    -

    The fileper keyword is documented below with the nfile keyword.

    -
    -

    The image keyword applies only to the dump atom style. If the -image value is yes, 3 flags are appended to each atom’s coords which +integer. +

    +
    + +

    The fileper keyword is documented below with the nfile keyword. +

    +
    + +

    The image keyword applies only to the dump atom style. If the +image value is yes, 3 flags are appended to each atom's coords which are the absolute box image of the atom in each dimension. For example, an x image flag of -2 with a normalized coord of 0.5 means the atom is in the center of the box, but has passed thru the box boundary 2 times and is really 2 box lengths to the left of its -current coordinate. Note that for dump style custom these various +current coordinate. Note that for dump style custom these various values can be printed in the dump file by using the appropriate atom -attributes in the dump command itself.

    -
    -

    The label keyword applies only to the dump local style. When +attributes in the dump command itself. +

    +
    + +

    The label keyword applies only to the dump local style. When it writes local information, such as bond or angle topology -to a dump file, it will use the specified label to format -the header. By default this includes 2 lines:

    -
    ITEM: NUMBER OF ENTRIES
    -ITEM: ENTRIES ...
    -
    -
    -

    The word “ENTRIES” will be replaced with the string specified, -e.g. BONDS or ANGLES.

    -
    -

    The nfile or fileper keywords can be used in conjunction with the -“%” wildcard character in the specified dump file name, for all dump -styles except the dcd, image, movie, xtc, and xyz styles -(for which “%” is not allowed). As explained on the dump -command doc page, the “%” character causes the dump file to be written +to a dump file, it will use the specified label to format +the header. By default this includes 2 lines: +

    +
    ITEM: NUMBER OF ENTRIES
    +ITEM: ENTRIES ... 
    +
    +

    The word "ENTRIES" will be replaced with the string specified, +e.g. BONDS or ANGLES. +

    +
    + +

    The nfile or fileper keywords can be used in conjunction with the +"%" wildcard character in the specified dump file name, for all dump +styles except the dcd, image, movie, xtc, and xyz styles +(for which "%" is not allowed). As explained on the dump +command doc page, the "%" character causes the dump file to be written in pieces, one piece for each of P processors. By default P = the -number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors.

    -

    The nfile keyword sets P to the specified Nf value. For example, if +number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors. +

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a dump file.

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a dump file. +

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a dump file.

    -
    -

    The pad keyword only applies when the dump filename is specified -with a wildcard “*” character which becomes the timestep. If pad is +next 3 processors and write it to a dump file. +

    +
    + +

    The pad keyword only applies when the dump filename is specified +with a wildcard "*" character which becomes the timestep. If pad is 0, which is the default, the timestep is converted into a string of -unpadded length, e.g. 100 or 12000 or 2000000. When pad is -specified with Nchar > 0, the string is padded with leading zeroes -so they are all the same length = Nchar. For example, pad 7 would +unpadded length, e.g. 100 or 12000 or 2000000. When pad is +specified with Nchar > 0, the string is padded with leading zeroes +so they are all the same length = Nchar. For example, pad 7 would yield 0000100, 0012000, 2000000. This can be useful so that post-processing programs can easily read the files in ascending -timestep order.

    -
    -

    The precision keyword only applies to the dump xtc style. A +timestep order. +

    +
    + +

    The precision keyword only applies to the dump xtc style. A specified value of N means that coordinates are stored to 1/N nanometer accuracy, e.g. for N = 1000, the coordinates are written to -1/1000 nanometer accuracy.

    -
    -

    The sfactor and tfactor keywords only apply to the dump xtc +1/1000 nanometer accuracy. +

    +
    + +

    The sfactor and tfactor keywords only apply to the dump xtc style. They allow customization of the unit conversion factors used when writing to XTC files. By default they are initialized for -whatever units style is being used, to write out -coordinates in nanometers and time in picoseconds. I.e. for real -units, LAMMPS defines sfactor = 0.1 and tfactor = 0.001, since the -Angstroms and fmsec used by real units are 0.1 nm and 0.001 psec +whatever units style is being used, to write out +coordinates in nanometers and time in picoseconds. I.e. for real +units, LAMMPS defines sfactor = 0.1 and tfactor = 0.001, since the +Angstroms and fmsec used by real units are 0.1 nm and 0.001 psec respectively. If you are using a units system with distance and time units far from nm and psec, you may wish to write XTC files with different units, since the compression algorithm used in XTC files is most effective when the typical magnitude of position data is between -10.0 and 0.1.

    -
    -

    The region keyword only applies to the dump custom, cfg, -image, and movie styles. If specified, only atoms in the region +10.0 and 0.1. +

    +
    + +

    The region keyword only applies to the dump custom, cfg, +image, and movie styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only one region can be applied as a filter (the last one specified). See -the region command for more details. Note that a region -can be defined as the “inside” or “outside” of a geometric shape, and -it can be the “union” or “intersection” of a series of simpler -regions.

    -
    -

    The scale keyword applies only to the dump atom style. A scale -value of yes means atom coords are written in normalized units from +the region command for more details. Note that a region +can be defined as the "inside" or "outside" of a geometric shape, and +it can be the "union" or "intersection" of a series of simpler +regions. +

    +
    + +

    The scale keyword applies only to the dump atom style. A scale +value of yes means atom coords are written in normalized units from 0.0 to 1.0 in each box dimension. If the simluation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. A -value of no means they are written in absolute distance units -(e.g. Angstroms or sigma).

    -
    -

    The sort keyword determines whether lines of per-atom output in a -snapshot are sorted or not. A sort value of off means they will +value of no means they are written in absolute distance units +(e.g. Angstroms or sigma). +

    +
    + +

    The sort keyword determines whether lines of per-atom output in a +snapshot are sorted or not. A sort value of off means they will typically be written in indeterminate order, either in serial or -parallel. This is the case even in serial if the atom_modify sort option is turned on, which it is by default, to -improve performance. A sort value of id means sort the output by +parallel. This is the case even in serial if the atom_modify +sort option is turned on, which it is by default, to +improve performance. A sort value of id means sort the output by atom ID. A sort value of N or -N means sort the output by the value in the Nth column of per-atom info in either ascending or descending -order.

    -

    The dump local style cannot be sorted by atom ID, since there are +order. +

    +

    The dump local style cannot be sorted by atom ID, since there are typically multiple lines of output per atom. Some dump styles, such -as dcd and xtc, require sorting by atom ID to format the output +as dcd and xtc, require sorting by atom ID to format the output file correctly. If multiple processors are writing the dump file, via -the “%” wildcard in the dump filename, then sorting cannot be -performed.

    -
    -

    Warning

    -

    Unless it is required by the dump style, sorting dump +the "%" wildcard in the dump filename, then sorting cannot be +performed. +

    +

    IMPORTANT NOTE: Unless it is required by the dump style, sorting dump file output requires extra overhead in terms of CPU and communication -cost, as well as memory, versus unsorted output.

    -
    -
    -

    The thresh keyword only applies to the dump custom, cfg, -image, and movie styles. Multiple thresholds can be specified. -Specifying “none” turns off all threshold criteria. If thresholds are +cost, as well as memory, versus unsorted output. +

    +
    + +

    The thresh keyword only applies to the dump custom, cfg, +image, and movie styles. Multiple thresholds can be specified. +Specifying "none" turns off all threshold criteria. If thresholds are specified, only atoms whose attributes meet all the threshold criteria are written to the dump file or included in the image. The possible attributes that can be tested for are the same as those that can be -specified in the dump custom command, with the exception -of the element attribute, since it is not a numeric value. Note +specified in the dump custom command, with the exception +of the element attribute, since it is not a numeric value. Note that different attributes can be output by the dump custom command than are used as threshold criteria by the dump_modify command. E.g. you can output the coordinates and stress of atoms whose energy -is above some threshold.

    -
    -

    The unwrap keyword only applies to the dump dcd and xtc styles. -If set to yes, coordinates will be written “unwrapped” by the image +is above some threshold. +

    +
    + +

    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 thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the -box size stored with the snapshot.

    -

    These keywords apply only to the dump image and -dump movie styles. Any keyword that affects an +box size stored with the snapshot. +

    +
    + +
    + +

    These keywords apply only to the dump image and +dump movie styles. Any keyword that affects an image, also affects a movie, since the movie is simply a collection of -images. Some of the keywords only affect the dump movie style. The descriptions give details.

    -
    -

    The acolor keyword can be used with the dump image -command, when its atom color setting is type, to set the color that -atoms of each type will be drawn in the image.

    -

    The specified type should be an integer from 1 to Ntypes = the +images. Some of the keywords only affect the dump +movie style. The descriptions give details. +

    +
    + +

    The acolor keyword can be used with the dump image +command, when its atom color setting is type, to set the color that +atoms of each type will be drawn in the image. +

    +

    The specified type should be an integer from 1 to Ntypes = the number of atom types. A wildcard asterisk can be used in place of or -in conjunction with the type argument to specify a range of atom -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +in conjunction with the type argument to specify a range of atom +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive).

    -

    The specified color can be a single color which is any of the 140 +(inclusive). +

    +

    The specified color can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated -by a “/” character, e.g. red/green/blue. In the former case, that +by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified atom types. In the latter case, the list of colors are assigned in a round-robin fashion to each -of the specified atom types.

    -
    -

    The adiam keyword can be used with the dump image -command, when its atom diameter setting is type, to set the size +of the specified atom types. +

    +
    + +

    The adiam keyword can be used with the dump image +command, when its atom diameter setting is type, to set the size that atoms of each type will be drawn in the image. The specified -type should be an integer from 1 to Ntypes. As with the acolor -keyword, a wildcard asterisk can be used as part of the type -argument to specify a range of atomt types. The specified diam is -the size in whatever distance units the input script is -using, e.g. Angstroms.

    -
    -

    The amap keyword can be used with the dump image -command, with its atom keyword, when its atom setting is an +type should be an integer from 1 to Ntypes. As with the acolor +keyword, a wildcard asterisk can be used as part of the type +argument to specify a range of atomt types. The specified diam is +the size in whatever distance units the input script is +using, e.g. Angstroms. +

    +
    + +

    The amap keyword can be used with the dump image +command, with its atom keyword, when its atom setting is an atom-attribute, to setup a color map. The color map is used to assign a specific RGB (red/green/blue) color value to an individual atom when -it is drawn, based on the atom’s attribute, which is a numeric value, -e.g. its x-component of velocity if the atom-attribute “vx” was -specified.

    -

    The basic idea of a color map is that the atom-attribute will be +it is drawn, based on the atom's attribute, which is a numeric value, +e.g. its x-component of velocity if the atom-attribute "vx" was +specified. +

    +

    The basic idea of a color map is that the atom-attribute will be within a range of values, and that range is associated with a a series -of colors (e.g. red, blue, green). An atom’s specific value (vx = +of colors (e.g. red, blue, green). An atom's specific value (vx = -3.2) can then mapped to the series of colors (e.g. halfway between red and blue), and a specific color is determined via an interpolation -procedure.

    -

    There are many possible options for the color map, enabled by the -amap keyword. Here are the details.

    -

    The lo and hi settings determine the range of values allowed for -the atom attribute. If numeric values are used for lo and/or hi, +procedure. +

    +

    There are many possible options for the color map, enabled by the +amap keyword. Here are the details. +

    +

    The lo and hi settings determine the range of values allowed for +the atom attribute. If numeric values are used for lo and/or hi, then values that are lower/higher than that value are set to the -value. I.e. the range is static. If lo is specified as min or -hi as max then the range is dynamic, and the lower and/or +value. I.e. the range is static. If lo is specified as min or +hi as max then the range is dynamic, and the lower and/or upper bound will be calculated each time an image is drawn, based -on the set of atoms being visualized.

    -

    The style setting is two letters, such as “ca”. The first letter is -either “c” for continuous, “d” for discrete, or “s” for sequential. -The second letter is either “a” for absolute, or “f” for fractional.

    -

    A continuous color map is one in which the color changes continuously +on the set of atoms being visualized. +

    +

    The style setting is two letters, such as "ca". The first letter is +either "c" for continuous, "d" for discrete, or "s" for sequential. +The second letter is either "a" for absolute, or "f" for fractional. +

    +

    A continuous color map is one in which the color changes continuously from value to value within the range. A discrete color map is one in which discrete colors are assigned to sub-ranges of values within the range. A sequential color map is one in which discrete colors are assigned to a sequence of sub-ranges of values covering the entire -range.

    -

    An absolute color map is one in which the values to which colors are +range. +

    +

    An absolute color map is one in which the values to which colors are assigned are specified explicitly as values within the range. A fractional color map is one in which the values to which colors are assigned are specified as a fractional portion of the range. For example if the range is from -10.0 to 10.0, and the color red is to be assigned to atoms with a value of 5.0, then for an absolute color map the number 5.0 would be used. But for a fractional map, the number -0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0.

    -

    The delta setting must be specified for all styles, but is only used +0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0. +

    +

    The delta setting must be specified for all styles, but is only used for the sequential style; otherwise the value is ignored. It specifies the bin size to use within the range for assigning consecutive colors to. For example, if the range is from -10.0 to -10.0 and a delta of 1.0 is used, then 20 colors will be assigned to -the range. The first will be from -10.0 <= color1 < -9.0, then 2nd -from -9.0 <= color2 < -8.0, etc.

    -

    The N setting is how many entries follow. The format of the entries +10.0 and a delta of 1.0 is used, then 20 colors will be assigned to +the range. The first will be from -10.0 <= color1 < -9.0, then 2nd +from -9.0 <= color2 < -8.0, etc. +

    +

    The N setting is how many entries follow. The format of the entries depends on whether the color map style is continuous, discrete or -sequential. In all cases the color setting can be any of the 140 +sequential. In all cases the color setting can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump_modify color option.

    -

    For continuous color maps, each entry has a value and a color. -The value is either a number within the range of values or min or -max. The value of the first entry must be min and the value -of the last entry must be max. Any entries in between must have +dump_modify color option. +

    +

    For continuous color maps, each entry has a value and a color. +The value is either a number within the range of values or min or +max. The value of the first entry must be min and the value +of the last entry must be max. Any entries in between must have increasing values. Note that numeric values can be specified either as absolute numbers or as fractions (0.0 to 1.0) of the range, -depending on the “a” or “f” in the style setting for the color map.

    -

    Here is how the entries are used to determine the color of an +depending on the "a" or "f" in the style setting for the color map. +

    +

    Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. X will fall between 2 of the entry values. The color of the atom is linearly interpolated (in each of the RGB values) between the 2 colors associated with those entries. For example, if X = -5.0 and the 2 -surrounding entries are “red” at -10.0 and “blue” at 0.0, then the -atom’s color will be halfway between “red” and “blue”, which happens -to be “purple”.

    -

    For discrete color maps, each entry has a lo and hi value and a -color. The lo and hi settings are either numbers within the -range of values or lo can be min or hi can be max. The lo -and hi settings of the last entry must be min and max. Other -entries can have any lo and hi values and the sub-ranges of -different values can overlap. Note that numeric lo and hi values +surrounding entries are "red" at -10.0 and "blue" at 0.0, then the +atom's color will be halfway between "red" and "blue", which happens +to be "purple". +

    +

    For discrete color maps, each entry has a lo and hi value and a +color. The lo and hi settings are either numbers within the +range of values or lo can be min or hi can be max. The lo +and hi settings of the last entry must be min and max. Other +entries can have any lo and hi values and the sub-ranges of +different values can overlap. Note that numeric lo and hi values can be specified either as absolute numbers or as fractions (0.0 to -1.0) of the range, depending on the “a” or “f” in the style setting -for the color map.

    -

    Here is how the entries are used to determine the color of an +1.0) of the range, depending on the "a" or "f" in the style setting +for the color map. +

    +

    Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The entries -are scanned from first to last. The first time that lo <= X <= -hi, X is assigned the color associated with that entry. You can +are scanned from first to last. The first time that lo <= X <= +hi, X is assigned the color associated with that entry. You can think of the last entry as assigning a default color (since it will always be matched by X), and the earlier entries as colors that override the default. Also note that no interpolation of a color RGB is done. All atoms will be drawn with one of the colors in the list -of entries.

    -

    For sequential color maps, each entry has only a color. Here is how +of entries. +

    +

    For sequential color maps, each entry has only a color. Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The range is partitioned -into N bins of width binsize. Thus X will fall in a specific bin +into N bins of width binsize. Thus X will fall in a specific bin from 1 to N, say the Mth bin. If it falls on a boundary between 2 bins, it is considered to be in the higher of the 2 bins. Each bin is -assigned a color from the E entries. If E < N, then the colors are +assigned a color from the E entries. If E < N, then the colors are repeated. For example if 2 entries with colors red and green are specified, then the odd numbered bins will be red and the even bins green. The color of the atom is the color of its bin. Note that the sequential color map is really a shorthand way of defining a discrete -color map without having to specify where all the bin boundaries are.

    -

    Here is an example of using a sequential color map to color all the +color map without having to specify where all the bin boundaries are. +

    +

    Here is an example of using a sequential color map to color all the atoms in individual molecules with a different color. See the examples/pour/in.pour.2d.molecule input script for an example of how -this is used.

    -
    variable        colors string &
    -                "red green blue yellow white &
    -                purple pink orange lime gray"
    -variable     mol atom mol%10
    -dump         1 all image 250 image.*.jpg v_mol type &
    -             zoom 1.6 adiam 1.5
    -dump_modify  1 pad 5 amap 0 10 sa 1 10 ${colors}
    -
    -
    -

    In this case, 10 colors are defined, and molecule IDs are -mapped to one of the colors, even if there are 1000s of molecules.

    -
    -

    The backcolor sets the background color of the images. The color +this is used. +

    +
    variable        colors string &
    +                "red green blue yellow white &
    +                purple pink orange lime gray"
    +variable	mol atom mol%10
    +dump		1 all image 250 image.*.jpg v_mol type &
    +		zoom 1.6 adiam 1.5
    +dump_modify	1 pad 5 amap 0 10 sa 1 10 ${colors} 
    +
    +

    In this case, 10 colors are defined, and molecule IDs are +mapped to one of the colors, even if there are 1000s of molecules. +

    +
    + +

    The backcolor sets the background color of the images. The color name can be any of the 140 pre-defined colors (see below) or a color -name defined by the dump_modify color option.

    -
    -

    The bcolor keyword can be used with the dump image -command, with its bond keyword, when its color setting is type, to -set the color that bonds of each type will be drawn in the image.

    -

    The specified type should be an integer from 1 to Nbondtypes = the +name defined by the dump_modify color option. +

    +
    + +

    The bcolor keyword can be used with the dump image +command, with its bond keyword, when its color setting is type, to +set the color that bonds of each type will be drawn in the image. +

    +

    The specified type should be an integer from 1 to Nbondtypes = the number of bond types. A wildcard asterisk can be used in place of or -in conjunction with the type argument to specify a range of bond -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +in conjunction with the type argument to specify a range of bond +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of bond types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive).

    -

    The specified color can be a single color which is any of the 140 +(inclusive). +

    +

    The specified color can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated -by a “/” character, e.g. red/green/blue. In the former case, that +by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified bond types. In the latter case, the list of colors are assigned in a round-robin fashion to each -of the specified bond types.

    -
    -

    The bdiam keyword can be used with the dump image -command, with its bond keyword, when its diam setting is type, to +of the specified bond types. +

    +
    + +

    The bdiam keyword can be used with the dump image +command, with its bond keyword, when its diam setting is type, to set the diameter that bonds of each type will be drawn in the image. -The specified type should be an integer from 1 to Nbondtypes. As -with the bcolor keyword, a wildcard asterisk can be used as part of -the type argument to specify a range of bond types. The specified -diam is the size in whatever distance units you are -using, e.g. Angstroms.

    -
    -

    The bitrate keyword can be used with the dump movie command to define the size of the resulting +The specified type should be an integer from 1 to Nbondtypes. As +with the bcolor keyword, a wildcard asterisk can be used as part of +the type argument to specify a range of bond types. The specified +diam is the size in whatever distance units you are +using, e.g. Angstroms. +

    +
    + +

    The bitrate keyword can be used with the dump +movie command to define the size of the resulting movie file and its quality via setting how many kbits per second are to be used for the movie file. Higher bitrates require less compression and will result in higher quality movies. The quality is also determined by the compression format and encoder. The default setting is 2000 kbit/s, which will result in average quality with -older compression formats.

    -
    -

    Warning

    -

    Not all movie file formats supported by dump movie -allow the bitrate to be set. If not, the setting is silently ignored.

    -
    -
    -

    The boxcolor keyword sets the color of the simulation box drawn +older compression formats. +

    +

    IMPORTANT NOTE: Not all movie file formats supported by dump movie +allow the bitrate to be set. If not, the setting is silently ignored. +

    +
    + +

    The boxcolor keyword sets the color of the simulation box drawn around the atoms in each image as well as the color of processor -sub-domain boundaries. See the “dump image box” command for how to -specify that a box be drawn via the box keyword, and the sub-domain -boundaries via the subbox keyword. The color name can be any of the +sub-domain boundaries. See the "dump image box" command for how to +specify that a box be drawn via the box keyword, and the sub-domain +boundaries via the subbox keyword. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump_modify color option.

    -
    -

    The color keyword allows definition of a new color name, in addition +dump_modify color option. +

    +
    + +

    The color keyword allows definition of a new color name, in addition to the 140-predefined colors (see below), and associates 3 red/green/blue RGB values with that color name. The color name can then be used with any other dump_modify keyword that takes a color name as a value. The RGB values should each be floating point values -between 0.0 and 1.0 inclusive.

    -

    When a color name is converted to RGB values, the user-defined color +between 0.0 and 1.0 inclusive. +

    +

    When a color name is converted to RGB values, the user-defined color names are searched first, then the 140 pre-defined color names. This -means you can also use the color keyword to overwrite one of the -pre-defined color names with new RBG values.

    -
    -

    The framerate keyword can be used with the dump movie command to define the duration of the resulting -movie file. Movie files written by the dump movie command have a +means you can also use the color keyword to overwrite one of the +pre-defined color names with new RBG values. +

    +
    + +

    The framerate keyword can be used with the dump +movie command to define the duration of the resulting +movie file. Movie files written by the dump movie command have a default frame rate of 24 frames per second and the images generated will be converted at that rate. Thus a sequence of 1000 dump images will result in a movie of about 42 seconds. To make a movie run @@ -731,315 +711,107 @@ longer you can either generate images more frequently or lower the frame rate. To speed a movie up, you can do the inverse. Using a frame rate higher than 24 is not recommended, as it will result in simply dropping the rendered images. It is more efficient to dump -images less frequently.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are

    -
      -
    • append = no
    • -
    • buffer = yes for dump styles atom, custom, loca, and xyz
    • -
    • element = “C” for every atom type
    • -
    • every = whatever it was set to via the dump command
    • -
    • fileper = # of processors
    • -
    • first = no
    • -
    • flush = yes
    • -
    • format = %d and %g for each integer or floating point value
    • -
    • image = no
    • -
    • label = ENTRIES
    • -
    • nfile = 1
    • -
    • pad = 0
    • -
    • precision = 1000
    • -
    • region = none
    • -
    • scale = yes
    • -
    • sort = off for dump styles atom, custom, cfg, and local
    • -
    • sort = id for dump styles dcd, xtc, and xyz
    • -
    • thresh = none
    • -
    • unwrap = no
    • -
    • acolor = * red/green/blue/yellow/aqua/cyan
    • -
    • adiam = * 1.0
    • -
    • amap = min max cf 0.0 2 min blue max red
    • -
    • backcolor = black
    • -
    • bcolor = * red/green/blue/yellow/aqua/cyan
    • -
    • bdiam = * 0.5
    • -
    • bitrate = 2000
    • -
    • boxcolor = yellow
    • -
    • color = 140 color names are pre-defined as listed below
    • -
    • framerate = 24
    • -
    -
    -

    These are the standard 109 element names that LAMMPS pre-defines for -use with the dump image and dump_modify commands.

    -
      -
    • 1-10 = “H”, “He”, “Li”, “Be”, “B”, “C”, “N”, “O”, “F”, “Ne”
    • -
    • 11-20 = “Na”, “Mg”, “Al”, “Si”, “P”, “S”, “Cl”, “Ar”, “K”, “Ca”
    • -
    • 21-30 = “Sc”, “Ti”, “V”, “Cr”, “Mn”, “Fe”, “Co”, “Ni”, “Cu”, “Zn”
    • -
    • 31-40 = “Ga”, “Ge”, “As”, “Se”, “Br”, “Kr”, “Rb”, “Sr”, “Y”, “Zr”
    • -
    • 41-50 = “Nb”, “Mo”, “Tc”, “Ru”, “Rh”, “Pd”, “Ag”, “Cd”, “In”, “Sn”
    • -
    • 51-60 = “Sb”, “Te”, “I”, “Xe”, “Cs”, “Ba”, “La”, “Ce”, “Pr”, “Nd”
    • -
    • 61-70 = “Pm”, “Sm”, “Eu”, “Gd”, “Tb”, “Dy”, “Ho”, “Er”, “Tm”, “Yb”
    • -
    • 71-80 = “Lu”, “Hf”, “Ta”, “W”, “Re”, “Os”, “Ir”, “Pt”, “Au”, “Hg”
    • -
    • 81-90 = “Tl”, “Pb”, “Bi”, “Po”, “At”, “Rn”, “Fr”, “Ra”, “Ac”, “Th”
    • -
    • 91-100 = “Pa”, “U”, “Np”, “Pu”, “Am”, “Cm”, “Bk”, “Cf”, “Es”, “Fm”
    • -
    • 101-109 = “Md”, “No”, “Lr”, “Rf”, “Db”, “Sg”, “Bh”, “Hs”, “Mt”
    • -
    -
    -

    These are the 140 colors that LAMMPS pre-defines for use with the -dump image and dump_modify commands. Additional +images less frequently. +

    +
    + +
    + +

    Restrictions: none +

    +

    Related commands: +

    +

    dump, dump image, undump +

    +

    Default: +

    +

    The option defaults are +

    +
    • append = no +
    • buffer = yes for dump styles atom, custom, loca, and xyz +
    • element = "C" for every atom type +
    • every = whatever it was set to via the dump command +
    • fileper = # of processors +
    • first = no +
    • flush = yes +
    • format = %d and %g for each integer or floating point value +
    • image = no +
    • label = ENTRIES +
    • nfile = 1 +
    • pad = 0 +
    • precision = 1000 +
    • region = none +
    • scale = yes +
    • sort = off for dump styles atom, custom, cfg, and local +
    • sort = id for dump styles dcd, xtc, and xyz +
    • thresh = none +
    • unwrap = no +
    +
    • acolor = * red/green/blue/yellow/aqua/cyan +
    • adiam = * 1.0 +
    • amap = min max cf 0.0 2 min blue max red +
    • backcolor = black +
    • bcolor = * red/green/blue/yellow/aqua/cyan +
    • bdiam = * 0.5 +
    • bitrate = 2000 +
    • boxcolor = yellow +
    • color = 140 color names are pre-defined as listed below +
    • framerate = 24 +
    +
    + +

    These are the standard 109 element names that LAMMPS pre-defines for +use with the dump image and dump_modify commands. +

    +
    • 1-10 = "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne" +
    • 11-20 = "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca" +
    • 21-30 = "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn" +
    • 31-40 = "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr" +
    • 41-50 = "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn" +
    • 51-60 = "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd" +
    • 61-70 = "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb" +
    • 71-80 = "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg" +
    • 81-90 = "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th" +
    • 91-100 = "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm" +
    • 101-109 = "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt" +
    +
    + +

    These are the 140 colors that LAMMPS pre-defines for use with the +dump image and dump_modify commands. Additional colors can be defined with the dump_modify color command. The 3 numbers listed for each name are the RGB (red/green/blue) values. -Divide each value by 255 to get the equivalent 0.0 to 1.0 value.

    - ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    aliceblue = 240, 248, 255antiquewhite = 250, 235, 215aqua = 0, 255, 255aquamarine = 127, 255, 212azure = 240, 255, 255
    beige = 245, 245, 220bisque = 255, 228, 196black = 0, 0, 0blanchedalmond = 255, 255, 205blue = 0, 0, 255
    blueviolet = 138, 43, 226brown = 165, 42, 42burlywood = 222, 184, 135cadetblue = 95, 158, 160chartreuse = 127, 255, 0
    chocolate = 210, 105, 30coral = 255, 127, 80cornflowerblue = 100, 149, 237cornsilk = 255, 248, 220crimson = 220, 20, 60
    cyan = 0, 255, 255darkblue = 0, 0, 139darkcyan = 0, 139, 139darkgoldenrod = 184, 134, 11darkgray = 169, 169, 169
    darkgreen = 0, 100, 0darkkhaki = 189, 183, 107darkmagenta = 139, 0, 139darkolivegreen = 85, 107, 47darkorange = 255, 140, 0
    darkorchid = 153, 50, 204darkred = 139, 0, 0darksalmon = 233, 150, 122darkseagreen = 143, 188, 143darkslateblue = 72, 61, 139
    darkslategray = 47, 79, 79darkturquoise = 0, 206, 209darkviolet = 148, 0, 211deeppink = 255, 20, 147deepskyblue = 0, 191, 255
    dimgray = 105, 105, 105dodgerblue = 30, 144, 255firebrick = 178, 34, 34floralwhite = 255, 250, 240forestgreen = 34, 139, 34
    fuchsia = 255, 0, 255gainsboro = 220, 220, 220ghostwhite = 248, 248, 255gold = 255, 215, 0goldenrod = 218, 165, 32
    gray = 128, 128, 128green = 0, 128, 0greenyellow = 173, 255, 47honeydew = 240, 255, 240hotpink = 255, 105, 180
    indianred = 205, 92, 92indigo = 75, 0, 130ivory = 255, 240, 240khaki = 240, 230, 140lavender = 230, 230, 250
    lavenderblush = 255, 240, 245lawngreen = 124, 252, 0lemonchiffon = 255, 250, 205lightblue = 173, 216, 230lightcoral = 240, 128, 128
    lightcyan = 224, 255, 255lightgoldenrodyellow = 250, 250, 210lightgreen = 144, 238, 144lightgrey = 211, 211, 211lightpink = 255, 182, 193
    lightsalmon = 255, 160, 122lightseagreen = 32, 178, 170lightskyblue = 135, 206, 250lightslategray = 119, 136, 153lightsteelblue = 176, 196, 222
    lightyellow = 255, 255, 224lime = 0, 255, 0limegreen = 50, 205, 50linen = 250, 240, 230magenta = 255, 0, 255
    maroon = 128, 0, 0mediumaquamarine = 102, 205, 170mediumblue = 0, 0, 205mediumorchid = 186, 85, 211mediumpurple = 147, 112, 219
    mediumseagreen = 60, 179, 113mediumslateblue = 123, 104, 238mediumspringgreen = 0, 250, 154mediumturquoise = 72, 209, 204mediumvioletred = 199, 21, 133
    midnightblue = 25, 25, 112mintcream = 245, 255, 250mistyrose = 255, 228, 225moccasin = 255, 228, 181navajowhite = 255, 222, 173
    navy = 0, 0, 128oldlace = 253, 245, 230olive = 128, 128, 0olivedrab = 107, 142, 35orange = 255, 165, 0
    orangered = 255, 69, 0orchid = 218, 112, 214palegoldenrod = 238, 232, 170palegreen = 152, 251, 152paleturquoise = 175, 238, 238
    palevioletred = 219, 112, 147papayawhip = 255, 239, 213peachpuff = 255, 239, 213peru = 205, 133, 63pink = 255, 192, 203
    plum = 221, 160, 221powderblue = 176, 224, 230purple = 128, 0, 128red = 255, 0, 0rosybrown = 188, 143, 143
    royalblue = 65, 105, 225saddlebrown = 139, 69, 19salmon = 250, 128, 114sandybrown = 244, 164, 96seagreen = 46, 139, 87
    seashell = 255, 245, 238sienna = 160, 82, 45silver = 192, 192, 192skyblue = 135, 206, 235slateblue = 106, 90, 205
    slategray = 112, 128, 144snow = 255, 250, 250springgreen = 0, 255, 127steelblue = 70, 130, 180tan = 210, 180, 140
    teal = 0, 128, 128thistle = 216, 191, 216tomato = 253, 99, 71turquoise = 64, 224, 208violet = 238, 130, 238
    wheat = 245, 222, 179white = 255, 255, 255whitesmoke = 245, 245, 245yellow = 255, 255, 0yellowgreen = 154, 205, 50
    -
    -
    +Divide each value by 255 to get the equivalent 0.0 to 1.0 value. +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    aliceblue = 240, 248, 255 antiquewhite = 250, 235, 215 aqua = 0, 255, 255 aquamarine = 127, 255, 212 azure = 240, 255, 255
    beige = 245, 245, 220 bisque = 255, 228, 196 black = 0, 0, 0 blanchedalmond = 255, 255, 205 blue = 0, 0, 255
    blueviolet = 138, 43, 226 brown = 165, 42, 42 burlywood = 222, 184, 135 cadetblue = 95, 158, 160 chartreuse = 127, 255, 0
    chocolate = 210, 105, 30 coral = 255, 127, 80 cornflowerblue = 100, 149, 237 cornsilk = 255, 248, 220 crimson = 220, 20, 60
    cyan = 0, 255, 255 darkblue = 0, 0, 139 darkcyan = 0, 139, 139 darkgoldenrod = 184, 134, 11 darkgray = 169, 169, 169
    darkgreen = 0, 100, 0 darkkhaki = 189, 183, 107 darkmagenta = 139, 0, 139 darkolivegreen = 85, 107, 47 darkorange = 255, 140, 0
    darkorchid = 153, 50, 204 darkred = 139, 0, 0 darksalmon = 233, 150, 122 darkseagreen = 143, 188, 143 darkslateblue = 72, 61, 139
    darkslategray = 47, 79, 79 darkturquoise = 0, 206, 209 darkviolet = 148, 0, 211 deeppink = 255, 20, 147 deepskyblue = 0, 191, 255
    dimgray = 105, 105, 105 dodgerblue = 30, 144, 255 firebrick = 178, 34, 34 floralwhite = 255, 250, 240 forestgreen = 34, 139, 34
    fuchsia = 255, 0, 255 gainsboro = 220, 220, 220 ghostwhite = 248, 248, 255 gold = 255, 215, 0 goldenrod = 218, 165, 32
    gray = 128, 128, 128 green = 0, 128, 0 greenyellow = 173, 255, 47 honeydew = 240, 255, 240 hotpink = 255, 105, 180
    indianred = 205, 92, 92 indigo = 75, 0, 130 ivory = 255, 240, 240 khaki = 240, 230, 140 lavender = 230, 230, 250
    lavenderblush = 255, 240, 245 lawngreen = 124, 252, 0 lemonchiffon = 255, 250, 205 lightblue = 173, 216, 230 lightcoral = 240, 128, 128
    lightcyan = 224, 255, 255 lightgoldenrodyellow = 250, 250, 210 lightgreen = 144, 238, 144 lightgrey = 211, 211, 211 lightpink = 255, 182, 193
    lightsalmon = 255, 160, 122 lightseagreen = 32, 178, 170 lightskyblue = 135, 206, 250 lightslategray = 119, 136, 153 lightsteelblue = 176, 196, 222
    lightyellow = 255, 255, 224 lime = 0, 255, 0 limegreen = 50, 205, 50 linen = 250, 240, 230 magenta = 255, 0, 255
    maroon = 128, 0, 0 mediumaquamarine = 102, 205, 170 mediumblue = 0, 0, 205 mediumorchid = 186, 85, 211 mediumpurple = 147, 112, 219
    mediumseagreen = 60, 179, 113 mediumslateblue = 123, 104, 238 mediumspringgreen = 0, 250, 154 mediumturquoise = 72, 209, 204 mediumvioletred = 199, 21, 133
    midnightblue = 25, 25, 112 mintcream = 245, 255, 250 mistyrose = 255, 228, 225 moccasin = 255, 228, 181 navajowhite = 255, 222, 173
    navy = 0, 0, 128 oldlace = 253, 245, 230 olive = 128, 128, 0 olivedrab = 107, 142, 35 orange = 255, 165, 0
    orangered = 255, 69, 0 orchid = 218, 112, 214 palegoldenrod = 238, 232, 170 palegreen = 152, 251, 152 paleturquoise = 175, 238, 238
    palevioletred = 219, 112, 147 papayawhip = 255, 239, 213 peachpuff = 255, 239, 213 peru = 205, 133, 63 pink = 255, 192, 203
    plum = 221, 160, 221 powderblue = 176, 224, 230 purple = 128, 0, 128 red = 255, 0, 0 rosybrown = 188, 143, 143
    royalblue = 65, 105, 225 saddlebrown = 139, 69, 19 salmon = 250, 128, 114 sandybrown = 244, 164, 96 seagreen = 46, 139, 87
    seashell = 255, 245, 238 sienna = 160, 82, 45 silver = 192, 192, 192 skyblue = 135, 206, 235 slateblue = 106, 90, 205
    slategray = 112, 128, 144 snow = 255, 250, 250 springgreen = 0, 255, 127 steelblue = 70, 130, 180 tan = 210, 180, 140
    teal = 0, 128, 128 thistle = 216, 191, 216 tomato = 253, 99, 71 turquoise = 64, 224, 208 violet = 238, 130, 238
    wheat = 245, 222, 179 white = 255, 255, 255 whitesmoke = 245, 245, 245 yellow = 255, 255, 0 yellowgreen = 154, 205, 50 +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/dump_molfile.html b/doc/dump_molfile.html index 7bafe817d0..07c3b9f881 100644 --- a/doc/dump_molfile.html +++ b/doc/dump_molfile.html @@ -1,215 +1,113 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - dump molfile command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    dump molfile command¶

    -
    -

    Syntax¶

    -
    dump ID group-ID molfile N file format path
    -
    -
    -
      -
    • ID = user-assigned name for the dump
    • -
    • group-ID = ID of the group of atoms to be imaged
    • -
    • molfile = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page)
    • -
    • N = dump every this many timesteps
    • -
    • file = name of file to write to
    • -
    • format = file format to be used
    • -
    • path = file path with plugins (optional)
    • -
    -
    -
    -

    Examples¶

    -
    dump mf1 all molfile 10 melt1.xml hoomd
    +
    +
    +
    + +

    dump molfile command +

    +

    Syntax: +

    +
    dump ID group-ID molfile N file format path 
    +
    +
    • ID = user-assigned name for the dump + +
    • group-ID = ID of the group of atoms to be imaged + +
    • molfile = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page) + +
    • N = dump every this many timesteps + +
    • file = name of file to write to + +
    • format = file format to be used + +
    • path = file path with plugins (optional) + + +
    +

    Examples: +

    +
    dump mf1 all molfile 10 melt1.xml hoomd
     dump mf2 all molfile 10 melt2-*.pdb pdb .
    -dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile
    -
    -
    -
    -
    -

    Description¶

    -

    Dump a snapshot of atom coordinates and selected additional quantities +dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile + +

    Description: +

    +

    Dump a snapshot of atom coordinates and selected additional quantities to one or more files every N timesteps in one of several formats. Only information for atoms in the specified group is dumped. This specific dump style uses molfile plugins that are bundled with the -VMD molecular visualization and -analysis program. See Section tools of the +VMD molecular visualization and +analysis program. See Section tools of the manual and the tools/lmp2vmd/README.txt file for more information about support in VMD for reading and visualizing native LAMMPS dump -files.

    -

    Unless the filename contains a * character, the output will be written +files. +

    +

    Unless the filename contains a * character, the output will be written to one single file with the specified format. Otherwise there will be one file per snapshot and the * will be replaced by the time step number -when the snapshot is written.

    -
    -

    Warning

    -

    Because periodic boundary conditions are enforced only +when the snapshot is written. +

    +

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation -box.

    -
    -

    The molfile plugin API has a few restrictions that have to be honored +box. +

    +

    The molfile plugin API has a few restrictions that have to be honored by this dump style: the number of atoms must not change, the atoms must be sorted, outside of the coordinates no change in atom properties -(like type, mass, charge) will be recorded.

    -
    -

    The format keyword determines what format is used to write out the +(like type, mass, charge) will be recorded. +

    +
    + +

    The format keyword determines what format is used to write out the dump. For this to work, LAMMPS must be able to find and load a compatible molfile plugin that supports this format. Settings made via -the dump_modify command can alter per atom properties -like element names.

    -

    The path keyword determines which in directories. This is a “path” +the dump_modify command can alter per atom properties +like element names. +

    +

    The path keyword determines which in directories. This is a "path" like other search paths, i.e. it can contain multiple directories separated by a colon (or semi-colon on windows). This keyword is -optional and default to ”.”, the current directory.

    -

    The unwrap option of the dump_modify command allows -coordinates to be written “unwrapped” by the image flags for each atom. +optional and default to ".", the current directory. +

    +

    The unwrap option of the dump_modify command allows +coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the -snapshot.

    -
    -

    Dumps are performed on timesteps that are a multiple of N (including +snapshot. +

    +
    + +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which can +changed via the dump_modify first command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by using the -dump_modify every command. The dump_modify every command also allows a variable to be used to -determine the sequence of timesteps on which dump files are written.

    -
    -
    -
    -

    Restrictions¶

    -

    The molfile dump style is part of the USER-MOLFILE package. It is -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Molfile plugins provide a consistent programming interface to read and +dump_modify every command. The dump_modify +every command also allows a variable to be used to +determine the sequence of timesteps on which dump files are written. +

    +
    + +

    Restrictions: +

    +

    The molfile dump style is part of the USER-MOLFILE package. It is +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Molfile plugins provide a consistent programming interface to read and write file formats commonly used in molecular simulations. The USER-MOLFILE package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the @@ -217,89 +115,24 @@ platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD or other programs that use them) without having to recompile the application itself. The plugins are installed in the directory: -<VMDHOME>/plugins/<VMDARCH>/molfile

    -
    -

    Note

    -

    while the programming interface (API) to the plugins is backward +/plugins//molfile +

    +

    NOTE: while the programming interface (API) to the plugins is backward compatible, the binary interface (ABI) has been changing over time, so it is necessary to compile this package with the plugin header files from VMD that match the binary plugins. These header files in the -directory: <VMDHOME>/plugins/include For convenience, the package ships +directory: /plugins/include For convenience, the package ships with a set of header files that are compatible with VMD 1.9 and 1.9.1 -(June 2012)

    -
    -
    -
    - -
    -

    Default¶

    -

    The default path is ”.”. All other properties have to be specified.

    -
    -
    +(June 2012) +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Related commands: +

    +

    dump, dump_modify, undump +

    +

    Default: +

    +

    The default path is ".". All other properties have to be specified. +

    + diff --git a/doc/echo.html b/doc/echo.html index 5f67ae4392..15ca28365e 100644 --- a/doc/echo.html +++ b/doc/echo.html @@ -1,230 +1,43 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - echo command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    echo command¶

    -
    -

    Syntax¶

    -
    echo style
    -
    -
    -
      -
    • style = none or screen or log or both
    • -
    -
    -
    -

    Examples¶

    -
    echo both
    -echo log
    -
    -
    -
    -
    -

    Description¶

    -

    This command determines whether LAMMPS echoes each input script + + +


    + +

    echo command +

    +

    Syntax: +

    +
    echo style 
    +
    +
    • style = none or screen or log or both +
    +

    Examples: +

    +
    echo both
    +echo log 
    +
    +

    Description: +

    +

    This command determines whether LAMMPS echoes each input script command to the screen and/or log file as it is read and processed. If an input script has errors, it can be useful to look at echoed output -to see the last command processed.

    -

    The command-line switch -echo can be used -in place of this command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -
    -
    -

    Default¶

    -
    echo log
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +to see the last command processed. +

    +

    The command-line switch -echo can be used +in place of this command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: +

    +
    echo log 
    +
    + diff --git a/doc/fix.html b/doc/fix.html index afa0521562..ad6b904b3b 100644 --- a/doc/fix.html +++ b/doc/fix.html @@ -1,195 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style args
    -
    -
    -
      -
    • ID = user-assigned name for the fix
    • -
    • group-ID = ID of the group of atoms to apply the fix to
    • -
    • style = one of a long list of possible style names (see below)
    • -
    • args = arguments used by a particular style
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve
    +
    +
    +
    + +

    fix command +

    +

    Syntax: +

    +
    fix ID group-ID style args 
    +
    +
    • ID = user-assigned name for the fix +
    • group-ID = ID of the group of atoms to apply the fix to +
    • style = one of a long list of possible style names (see below) +
    • args = arguments used by a particular style +
    +

    Examples: +

    +
    fix 1 all nve
     fix 3 all nvt temp 300.0 300.0 0.01
    -fix mine top setforce 0.0 NULL 0.0
    -
    -
    -
    -
    -

    Description¶

    -

    Set a fix that will be applied to a group of atoms. In LAMMPS, a -“fix” is any operation that is applied to the system during +fix mine top setforce 0.0 NULL 0.0 + +

    Description: +

    +

    Set a fix that will be applied to a group of atoms. In LAMMPS, a +"fix" is any operation that is applied to the system during timestepping or minimization. Examples include updating of atom positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary conditions, computing diagnostics, etc. There are dozens of fixes -defined in LAMMPS and new ones can be added; see this section for a discussion.

    -

    Fixes perform their operations at different stages of the timestep. +defined in LAMMPS and new ones can be added; see this +section for a discussion. +

    +

    Fixes perform their operations at different stages of the timestep. If 2 or more fixes operate at the same stage of the timestep, they are -invoked in the order they were specified in the input script.

    -

    The ID of a fix can only contain alphanumeric characters and -underscores.

    -

    Fixes can be deleted with the unfix command.

    -
    -

    Warning

    -

    The unfix command is the only way to turn +invoked in the order they were specified in the input script. +

    +

    The ID of a fix can only contain alphanumeric characters and +underscores. +

    +

    Fixes can be deleted with the unfix command. +

    +

    IMPORTANT NOTE: The unfix command is the only way to turn off a fix; simply specifying a new fix with a similar style will not turn off the first one. This is especially important to realize for -integration fixes. For example, using a fix nve -command for a second run after using a fix nvt command +integration fixes. For example, using a fix nve +command for a second run after using a fix nvt command for the first run, will not cancel out the NVT time integration -invoked by the “fix nvt” command. Thus two time integrators would be -in place!

    -
    -

    If you specify a new fix with the same ID and style as an existing +invoked by the "fix nvt" command. Thus two time integrators would be +in place! +

    +

    If you specify a new fix with the same ID and style as an existing fix, the old fix is deleted and the new one is created (presumably -with new settings). This is the same as if an “unfix” command were +with new settings). This is the same as if an "unfix" command were first performed on the old fix, except that the new fix is kept in the same order relative to the existing fixes as the old one originally was. Note that this operation also wipes out any additional changes -made to the old fix via the fix_modify command.

    -

    The fix modify command allows settings for some -fixes to be reset. See the doc page for individual fixes for details.

    -

    Some fixes store an internal “state” which is written to binary -restart files via the restart or -write_restart commands. This allows the fix to +made to the old fix via the fix_modify command. +

    +

    The fix modify command allows settings for some +fixes to be reset. See the doc page for individual fixes for details. +

    +

    Some fixes store an internal "state" which is written to binary +restart files via the restart or +write_restart commands. This allows the fix to continue on with its calculations in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file. See the doc pages -for individual fixes for info on which ones can be restarted.

    -
    -

    Some fixes calculate one of three styles of quantities: global, +for individual fixes for info on which ones can be restarted. +

    +
    + +

    Some fixes calculate one of three styles of quantities: global, per-atom, or local, which can be used by other commands or output as described below. A global quantity is one or more system-wide values, e.g. the energy of a wall interacting with particles. A per-atom @@ -197,257 +84,202 @@ quantity is one or more values per atom, e.g. the displacement vector for each atom since time 0. Per-atom values are set to 0.0 for atoms not in the specified fix group. Local quantities are calculated by each processor based on the atoms it owns, but there may be zero or -more per atoms.

    -

    Note that a single fix may produces either global or per-atom or local -quantities (or none at all), but never more than one of these.

    -

    Global, per-atom, and local quantities each come in three kinds: a +more per atoms. +

    +

    Note that a single fix may produces either global or per-atom or local +quantities (or none at all), but never more than one of these. +

    +

    Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The doc page for each fix describes the style and kind of values it produces, e.g. a per-atom vector. Some fixes produce more than one -kind of a single style, e.g. a global scalar and a global vector.

    -

    When a fix quantity is accessed, as in many of the output commands +kind of a single style, e.g. a global scalar and a global vector. +

    +

    When a fix quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket -notation, where ID is the ID of the fix:

    - ---- - - - - - - - - - - - -
    f_IDentire scalar, vector, or array
    f_ID[I]one element of vector, one column of array
    f_ID[I][J]one element of array
    -

    In other words, using one bracket reduces the dimension of the -quantity once (vector -> scalar, array -> vector). Using two brackets -reduces the dimension twice (array -> scalar). Thus a command that +notation, where ID is the ID of the fix: +

    +
    + + +
    f_ID entire scalar, vector, or array
    f_ID[I] one element of vector, one column of array
    f_ID[I][J] one element of array +
    + +

    In other words, using one bracket reduces the dimension of the +quantity once (vector -> scalar, array -> vector). Using two brackets +reduces the dimension twice (array -> scalar). Thus a command that uses scalar fix values as input can also process elements of a vector -or array.

    -

    Note that commands and variables which use fix +or array. +

    +

    Note that commands and variables which use fix quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no ambiguity about referring to a fix quantity as f_ID even if it produces, for example, both a scalar and vector. The doc pages for -various commands explain the details.

    -
    -

    In LAMMPS, the values generated by a fix can be used in several ways:

    - -

    See this howto section for a summary of -various LAMMPS output options, many of which involve fixes.

    -

    The results of fixes that calculate global quantities can be either -“intensive” or “extensive” values. Intensive means the value is +various commands explain the details. +

    +
    + +

    In LAMMPS, the values generated by a fix can be used in several ways: +

    + +

    See this howto section for a summary of +various LAMMPS output options, many of which involve fixes. +

    +

    The results of fixes that calculate global quantities can be either +"intensive" or "extensive" values. Intensive means the value is independent of the number of atoms in the simulation, e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. -Thermodynamic output will normalize extensive +Thermodynamic output will normalize extensive values by the number of atoms in the system, depending on the -“thermo_modify norm” setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a fix value is accessed in another way, e.g. by a -variable, you may want to know whether it is an +variable, you may want to know whether it is an intensive or extensive value. See the doc page for individual fixes -for further info.

    -
    -

    Each fix style has its own documentation page which describes its +for further info. +

    +
    + +

    Each fix style has its own documentation page which describes its arguments and what it does, as listed below. Here is an alphabetic list of fix styles available in LAMMPS. They are also given in more -compact form in the fix section of this page.

    -

    There are also additional fix styles (not listed here) submitted by +compact form in the fix section of this +page. +

    +

    There are also additional fix styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the fix section -of this page.

    -

    There are also additional accelerated fix styles (not listed here) +of this page. +

    +

    There are also additional accelerated fix styles (not listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given -in the fix section of this page.

    -
      -
    • adapt - change a simulation parameter over time
    • -
    • addforce - add a force to each atom
    • -
    • append/atoms - append atoms to a running simulation
    • -
    • aveforce - add an averaged force to each atom
    • -
    • ave/atom - compute per-atom time-averaged quantities
    • -
    • ave/correlate - compute/output time correlations
    • -
    • ave/histo - compute/output time-averaged histograms
    • -
    • ave/spatial - compute/output time-averaged per-atom quantities by layer
    • -
    • ave/time - compute/output global time-averaged quantities
    • -
    • balance - perform dynamic load-balancing
    • -
    • bond/break - break bonds on the fly
    • -
    • bond/create - create bonds on the fly
    • -
    • bond/swap - Monte Carlo bond swapping
    • -
    • box/relax - relax box size during energy minimization
    • -
    • deform - change the simulation box size/shape
    • -
    • deposit - add new atoms above a surface
    • -
    • drag - drag atoms towards a defined coordinate
    • -
    • dt/reset - reset the timestep based on velocity, forces
    • -
    • efield - impose electric field on system
    • -
    • enforce2d - zero out z-dimension velocity and force
    • -
    • evaporate - remove atoms from simulation periodically
    • -
    • external - callback to an external driver program
    • -
    • freeze - freeze atoms in a granular simulation
    • -
    • gcmc - grand canonical insertions/deletions
    • -
    • gld - generalized Langevin dynamics integrator
    • -
    • gravity - add gravity to atoms in a granular simulation
    • -
    • heat - add/subtract momentum-conserving heat
    • -
    • indent - impose force due to an indenter
    • -
    • langevin - Langevin temperature control
    • -
    • lineforce - constrain atoms to move in a line
    • -
    • momentum - zero the linear and/or angular momentum of a group of atoms
    • -
    • move - move atoms in a prescribed fashion
    • -
    • msst - multi-scale shock technique (MSST) integration
    • -
    • neb - nudged elastic band (NEB) spring forces
    • -
    • nph - constant NPH time integration via Nose/Hoover
    • -
    • nphug - constant-stress Hugoniostat integration
    • -
    • nph/asphere - NPH for aspherical particles
    • -
    • nph/sphere - NPH for spherical particles
    • -
    • npt - constant NPT time integration via Nose/Hoover
    • -
    • npt/asphere - NPT for aspherical particles
    • -
    • npt/sphere - NPT for spherical particles
    • -
    • nve - constant NVE time integration
    • -
    • nve/asphere - NVE for aspherical particles
    • -
    • nve/asphere/noforce - NVE for aspherical particles without forces”
    • -
    • nve/body - NVE for body particles
    • -
    • nve/limit - NVE with limited step length
    • -
    • nve/line - NVE for line segments
    • -
    • nve/noforce - NVE without forces (v only)
    • -
    • nve/sphere - NVE for spherical particles
    • -
    • nve/tri - NVE for triangles
    • -
    • nvt - constant NVT time integration via Nose/Hoover
    • -
    • nvt/asphere - NVT for aspherical particles
    • -
    • nvt/sllod - NVT for NEMD with SLLOD equations
    • -
    • nvt/sphere - NVT for spherical particles
    • -
    • orient/fcc - add grain boundary migration force
    • -
    • planeforce - constrain atoms to move in a plane
    • -
    • poems - constrain clusters of atoms to move as coupled rigid bodies
    • -
    • pour - pour new atoms/molecules into a granular simulation domain
    • -
    • press/berendsen - pressure control by Berendsen barostat
    • -
    • print - print text and variables during a simulation
    • -
    • property/atom - add customized per-atom values
    • -
    • qeq/comb - charge equilibration for COMB potential qeq/dynamic - charge equilibration via dynamic method qeq/point - charge equilibration via point method qeq/shielded - charge equilibration via shielded method qeq/slater - charge equilibration via Slater method reax/bonds - write out ReaxFF bond information recenter - constrain the center-of-mass position of a group of atoms
    • -
    • restrain - constrain a bond, angle, dihedral
    • -
    • rigid - constrain one or more clusters of atoms to move as a rigid body with NVE integration
    • -
    • rigid/nph - constrain one or more clusters of atoms to move as a rigid body with NPH integration
    • -
    • rigid/npt - constrain one or more clusters of atoms to move as a rigid body with NPT integration
    • -
    • rigid/nve - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration
    • -
    • rigid/nvt - constrain one or more clusters of atoms to move as a rigid body with NVT integration
    • -
    • rigid/small - constrain many small clusters of atoms to move as a rigid body with NVE integration
    • -
    • setforce - set the force on each atom
    • -
    • shake - SHAKE constraints on bonds and/or angles
    • -
    • spring - apply harmonic spring force to group of atoms
    • -
    • spring/rg - spring on radius of gyration of group of atoms
    • -
    • spring/self - spring from each atom to its origin
    • -
    • srd - stochastic rotation dynamics (SRD)
    • -
    • store/force - store force on each atom
    • -
    • store/state - store attributes for each atom
    • -
    • temp/berendsen - temperature control by Berendsen thermostat
    • -
    • temp/rescale - temperature control by velocity rescaling
    • -
    • thermal/conductivity - Muller-Plathe kinetic energy exchange for thermal conductivity calculation
    • -
    • tmd - guide a group of atoms to a new configuration
    • -
    • ttm - two-temperature model for electronic/atomic coupling
    • -
    • tune/kspace - auto-tune KSpace parameters
    • -
    • vector - accumulate a global vector every N timesteps
    • -
    • viscosity - Muller-Plathe momentum exchange for viscosity calculation
    • -
    • viscous - viscous damping for granular simulations
    • -
    • wall/colloid - Lennard-Jones wall interacting with finite-size particles
    • -
    • wall/gran - frictional wall(s) for granular simulations
    • -
    • wall/harmonic - harmonic spring wall
    • -
    • wall/lj1043 - Lennard-Jones 10-4-3 wall
    • -
    • wall/lj126 - Lennard-Jones 12-6 wall
    • -
    • wall/lj93 - Lennard-Jones 9-3 wall
    • -
    • wall/piston - moving reflective piston wall
    • -
    • wall/reflect - reflecting wall(s)
    • -
    • wall/region - use region surface as wall
    • -
    • wall/srd - slip/no-slip wall for SRD particles
    • -
    -
    -
    -

    Restrictions¶

    -

    Some fix styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. -The doc pages for individual fixes tell if it is part of a package.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +in the fix section of this page. +

    +
    • adapt - change a simulation parameter over time +
    • addforce - add a force to each atom +
    • append/atoms - append atoms to a running simulation +
    • aveforce - add an averaged force to each atom +
    • ave/atom - compute per-atom time-averaged quantities +
    • ave/correlate - compute/output time correlations +
    • ave/histo - compute/output time-averaged histograms +
    • ave/spatial - compute/output time-averaged per-atom quantities by layer +
    • ave/time - compute/output global time-averaged quantities +
    • balance - perform dynamic load-balancing +
    • bond/break - break bonds on the fly +
    • bond/create - create bonds on the fly +
    • bond/swap - Monte Carlo bond swapping +
    • box/relax - relax box size during energy minimization +
    • deform - change the simulation box size/shape +
    • deposit - add new atoms above a surface +
    • drag - drag atoms towards a defined coordinate +
    • dt/reset - reset the timestep based on velocity, forces +
    • efield - impose electric field on system +
    • enforce2d - zero out z-dimension velocity and force +
    • evaporate - remove atoms from simulation periodically +
    • external - callback to an external driver program +
    • freeze - freeze atoms in a granular simulation +
    • gcmc - grand canonical insertions/deletions +
    • gld - generalized Langevin dynamics integrator +
    • gravity - add gravity to atoms in a granular simulation +
    • heat - add/subtract momentum-conserving heat +
    • indent - impose force due to an indenter +
    • langevin - Langevin temperature control +
    • lineforce - constrain atoms to move in a line +
    • momentum - zero the linear and/or angular momentum of a group of atoms +
    • move - move atoms in a prescribed fashion +
    • msst - multi-scale shock technique (MSST) integration +
    • neb - nudged elastic band (NEB) spring forces +
    • nph - constant NPH time integration via Nose/Hoover +
    • nphug - constant-stress Hugoniostat integration +
    • nph/asphere - NPH for aspherical particles +
    • nph/sphere - NPH for spherical particles +
    • npt - constant NPT time integration via Nose/Hoover +
    • npt/asphere - NPT for aspherical particles +
    • npt/sphere - NPT for spherical particles +
    • nve - constant NVE time integration +
    • nve/asphere - NVE for aspherical particles +
    • nve/asphere/noforce - NVE for aspherical particles without forces" +
    • nve/body - NVE for body particles +
    • nve/limit - NVE with limited step length +
    • nve/line - NVE for line segments +
    • nve/noforce - NVE without forces (v only) +
    • nve/sphere - NVE for spherical particles +
    • nve/tri - NVE for triangles +
    • nvt - constant NVT time integration via Nose/Hoover +
    • nvt/asphere - NVT for aspherical particles +
    • nvt/sllod - NVT for NEMD with SLLOD equations +
    • nvt/sphere - NVT for spherical particles +
    • orient/fcc - add grain boundary migration force +
    • planeforce - constrain atoms to move in a plane +
    • poems - constrain clusters of atoms to move as coupled rigid bodies +
    • pour - pour new atoms/molecules into a granular simulation domain +
    • press/berendsen - pressure control by Berendsen barostat +
    • print - print text and variables during a simulation +
    • property/atom - add customized per-atom values +
    • qeq/comb - charge equilibration for COMB potential qeq/dynamic - charge equilibration via dynamic method qeq/point - charge equilibration via point method qeq/shielded - charge equilibration via shielded method qeq/slater - charge equilibration via Slater method reax/bonds - write out ReaxFF bond information recenter - constrain the center-of-mass position of a group of atoms +
    • restrain - constrain a bond, angle, dihedral +
    • rigid - constrain one or more clusters of atoms to move as a rigid body with NVE integration +
    • rigid/nph - constrain one or more clusters of atoms to move as a rigid body with NPH integration +
    • rigid/npt - constrain one or more clusters of atoms to move as a rigid body with NPT integration +
    • rigid/nve - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration +
    • rigid/nvt - constrain one or more clusters of atoms to move as a rigid body with NVT integration +
    • rigid/small - constrain many small clusters of atoms to move as a rigid body with NVE integration +
    • setforce - set the force on each atom +
    • shake - SHAKE constraints on bonds and/or angles +
    • spring - apply harmonic spring force to group of atoms +
    • spring/rg - spring on radius of gyration of group of atoms +
    • spring/self - spring from each atom to its origin +
    • srd - stochastic rotation dynamics (SRD) +
    • store/force - store force on each atom +
    • store/state - store attributes for each atom +
    • temp/berendsen - temperature control by Berendsen thermostat +
    • temp/rescale - temperature control by velocity rescaling +
    • thermal/conductivity - Muller-Plathe kinetic energy exchange for thermal conductivity calculation +
    • tmd - guide a group of atoms to a new configuration +
    • ttm - two-temperature model for electronic/atomic coupling +
    • tune/kspace - auto-tune KSpace parameters +
    • vector - accumulate a global vector every N timesteps +
    • viscosity - Muller-Plathe momentum exchange for viscosity calculation +
    • viscous - viscous damping for granular simulations +
    • wall/colloid - Lennard-Jones wall interacting with finite-size particles +
    • wall/gran - frictional wall(s) for granular simulations +
    • wall/harmonic - harmonic spring wall +
    • wall/lj1043 - Lennard-Jones 10-4-3 wall +
    • wall/lj126 - Lennard-Jones 12-6 wall +
    • wall/lj93 - Lennard-Jones 9-3 wall +
    • wall/piston - moving reflective piston wall +
    • wall/reflect - reflecting wall(s) +
    • wall/region - use region surface as wall +
    • wall/srd - slip/no-slip wall for SRD particles +
    +

    Restrictions: +

    +

    Some fix styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. +The doc pages for individual fixes tell if it is part of a package. +

    +

    Related commands: +

    +

    unfix, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_adapt.html b/doc/fix_adapt.html index b0556743b0..51ad3ce48f 100644 --- a/doc/fix_adapt.html +++ b/doc/fix_adapt.html @@ -1,462 +1,263 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix adapt command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix adapt command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID adapt N attribute args ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • adapt = style name of this fix command
    • -
    • N = adapt simulation settings every this many timesteps
    • -
    • one or more attribute/arg pairs may be appended
    • -
    • attribute = pair or kspace or atom
    • -
    -
    -pair args = pstyle pparam I J v_name
    +
    +
    +
    + +

    fix adapt command +

    +

    Syntax: +

    +
    fix ID group-ID adapt N attribute args ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • adapt = style name of this fix command + +
    • N = adapt simulation settings every this many timesteps + +
    • one or more attribute/arg pairs may be appended + +
    • attribute = pair or kspace or atom + +
        pair args = pstyle pparam I J v_name
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to adapt over time
           I,J = type pair(s) to set parameter for
           v_name = variable with name that calculates value of pparam
      -  kspace arg = v_name
      +  kspace arg = v_name
           v_name = variable with name that calculates scale factor on K-space terms
      -  atom args = aparam v_name
      +  atom args = aparam v_name
           aparam = parameter to adapt over time
      -    v_name = variable with name that calculates value of aparam
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = scale or reset
      • -
      -
      -scale value = no or yes
      -    no = the variable value is the new setting
      -    yes = the variable value multiplies the original setting
      -  reset value = no or yes
      -    no = values will remain altered at the end of a run
      -    yes = reset altered values to their original values at the end of a run
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all adapt 1 pair soft a 1 1 v_prefactor
    +    v_name = variable with name that calculates value of aparam 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = scale or reset + +
      scale value = no or yes
    +    no = the variable value is the new setting
    +    yes = the variable value multiplies the original setting
    +  reset value = no or yes
    +    no = values will remain altered at the end of a run
    +    yes = reset altered values to their original values at the end of a run 
    +
    + + +

    Examples: +

    +
    fix 1 all adapt 1 pair soft a 1 1 v_prefactor
     fix 1 all adapt 1 pair soft a 2* 3 v_prefactor
     fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
    -fix 1 all adapt 10 atom diameter v_size
    -
  • -
    -
    -
    -

    Description¶

    -

    Change or adapt one or more specific simulation attributes or settings +fix 1 all adapt 10 atom diameter v_size + +

    Description: +

    +

    Change or adapt one or more specific simulation attributes or settings over time as a simulation runs. Pair potential and K-space and atom attributes which can be varied by this fix are discussed below. Many other fixes can also be used to time-vary simulation parameters, -e.g. the “fix deform” command will change the simulation box -size/shape and the “fix move” command will change atom positions and +e.g. the "fix deform" command will change the simulation box +size/shape and the "fix move" command will change atom positions and velocities in a prescribed manner. Also note that many commands allow variables as arguments for specific parameters, if described in that manner on their doc pages. An equal-style variable can calculate a time-dependent quantity, so this is another way to vary a simulation -parameter over time.

    -

    If N is specified as 0, the specified attributes are only changed +parameter over time. +

    +

    If N is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If N > 0, then changes -are made every N steps during the simulation, presumably with a -variable that is time-dependent.

    -

    Depending on the value of the reset keyword, attributes changed by +associated variables are not time-dependent. If N > 0, then changes +are made every N steps during the simulation, presumably with a +variable that is time-dependent. +

    +

    Depending on the value of the reset keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if reset is specified as yes, a +the end of a simulation. Even if reset is specified as yes, a restart file written during a simulation will contain the modified -settings.

    -

    If the scale keyword is set to no, then the value the parameter is -set to will be whatever the variable generates. If the scale -keyword is set to yes, then the value of the altered parameter will +settings. +

    +

    If the scale keyword is set to no, then the value the parameter is +set to will be whatever the variable generates. If the scale +keyword is set to yes, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a “scale factor” applied -in (presumably) a time-varying fashion to the parameter.

    -

    Note that whether scale is no or yes, internally, the parameters +variable generates. I.e. the variable is now a "scale factor" applied +in (presumably) a time-varying fashion to the parameter. +

    +

    Note that whether scale is no or yes, internally, the parameters themselves are actually altered by this fix. Make sure you use the -reset yes option if you want the parameters to be restored to their -initial values after the run.

    -
    -

    The pair keyword enables various parameters of potentials defined by -the pair_style command to be changed, if the pair -style supports it. Note that the pair_style and -pair_coeff commands must be used in the usual manner +reset yes option if you want the parameters to be restored to their +initial values after the run. +

    +
    + +

    The pair keyword enables various parameters of potentials defined by +the pair_style command to be changed, if the pair +style supports it. Note that the pair_style and +pair_coeff commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply -overrides the parameters.

    -

    The pstyle argument is the name of the pair style. If pair_style hybrid or hybrid/overlay is used, pstyle should be -a sub-style name. For example, pstyle could be specified as “soft” -or “lubricate”. The pparam argument is the name of the parameter to +overrides the parameters. +

    +

    The pstyle argument is the name of the pair style. If pair_style +hybrid or hybrid/overlay is used, pstyle should be +a sub-style name. For example, pstyle could be specified as "soft" +or "lubricate". The pparam argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair -styles and their energy formulas for the meaning of these parameters:

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    borna,b,ctype pairs
    bucka,ctype pairs
    coul/cutscaletype pairs
    coul/debyescaletype pairs
    coul/longscaletype pairs
    lj/cutepsilon,sigmatype pairs
    lj/expandepsilon,sigma,deltatype pairs
    lubricatemuglobal
    gaussatype pairs
    morsed0,r0,alphatype pairs
    softatype pairs
    -
    -

    Warning

    -

    It is easy to add new potentials and their parameters +styles and their energy formulas for the meaning of these parameters: +

    +
    + + + + + + + + + + +
    born a,b,c type pairs
    buck a,c type pairs
    coul/cut scale type pairs
    coul/debye scale type pairs
    coul/long scale type pairs
    lj/cut epsilon,sigma type pairs
    lj/expand epsilon,sigma,delta type pairs
    lubricate mu global
    gauss a type pairs
    morse d0,r0,alpha type pairs
    soft a type pairs +
    + +

    IMPORTANT NOTE: It is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential.

    -
    -

    Some parameters are global settings for the pair style, e.g. the -viscosity setting “mu” for pair_style lubricate. +the pair_*.cpp file associated with the potential. +

    +

    Some parameters are global settings for the pair style, e.g. the +viscosity setting "mu" for pair_style lubricate. Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor “a” for pair_style soft.

    -

    Note that for many of the potentials, the parameter that can be varied +e.g. the prefactor "a" for pair_style soft. +

    +

    Note that for many of the potentials, the parameter that can be varied is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as “scale” +potential, e.g. the lj/cut epsilon. The parameters listed as "scale" are exactly that, since the energy expression for the -coul/cut potential (for example) has no labeled +coul/cut potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the -Buckingham potential needs both the A and C terms +Buckingham potential needs both the A and C terms altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C.

    -

    If a type pair parameter is specified, the I and J settings should +list the pair style twice, once for A and once for C. +

    +

    If a type pair parameter is specified, the I and J settings should be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the I and J settings still need to be -specified, but are ignored.

    -

    Similar to the pair_coeff command, I and J can be +parameter is specified, the I and J settings still need to be +specified, but are ignored. +

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values.

    -

    A wild-card asterisk can be used in place of or in conjunction with +each, as in the 1st example above. I <= J is required. LAMMPS sets +the coefficients for the symmetric J,I interaction to the same values. +

    +

    A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored.

    -

    IMPROTANT NOTE: If pair_style hybrid or hybrid/overlay is being used, then the pstyle will +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored. +

    +

    IMPROTANT NOTE: If pair_style hybrid or +hybrid/overlay is being used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the pair_coeff -command) for that sub-style.

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +to type pair values defined (via the pair_coeff +command) for that sub-style. +

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include thermo_style command keywords for the +and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the -start and stop keywords of the run command and the -elaplong keyword of thermo_style custom for -details.

    -

    For example, these commands would change the prefactor coefficient of -the pair_style soft potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation:

    -
    variable prefactor equal ramp(10,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor
    -
    -
    -
    -

    The kspace keyword used the specified variable as a scale factor on +start and stop keywords of the run command and the +elaplong keyword of thermo_style custom for +details. +

    +

    For example, these commands would change the prefactor coefficient of +the pair_style soft potential from 10.0 to 30.0 in a +linear fashion over the course of a simulation: +

    +
    variable prefactor equal ramp(10,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor 
    +
    +
    + +

    The kspace keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the kspace_style command. If the -variable has a value of 1.0, then the solver is unaltered.

    -

    The kspace keyword works this way whether the scale keyword -is set to no or yes.

    -
    -

    The atom keyword enables various atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix:

    -
      -
    • charge = charge on particle
    • -
    • diameter = diameter of particle
    • -
    -

    The v_name argument of the atom keyword is the name of an -equal-style variable which will be evaluated each time +defined by the kspace_style command. If the +variable has a value of 1.0, then the solver is unaltered. +

    +

    The kspace keyword works this way whether the scale keyword +is set to no or yes. +

    +
    + +

    The atom keyword enables various atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be varied by this fix: +

    +
    • charge = charge on particle +
    • diameter = diameter of particle +
    +

    The v_name argument of the atom keyword is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group.

    -
    -

    Warning

    -

    The atom keyword works this way whether the scale -keyword is set to no or yes. I.e. the use of scale yes is not yet -supported by the atom keyword.

    -
    -

    If the atom parameter is diameter and per-atom density and per-atom -mass are defined for particles (e.g. atom_style granular), then the mass of each particle is also +for all atoms in the fix group. +

    +

    IMPORTANT NOTE: The atom keyword works this way whether the scale +keyword is set to no or yes. I.e. the use of scale yes is not yet +supported by the atom keyword. +

    +

    If the atom parameter is diameter and per-atom density and per-atom +mass are defined for particles (e.g. atom_style +granular), then the mass of each particle is also changed when the diameter changes (density is assumed to stay -constant).

    -

    For example, these commands would shrink the diameter of all granular -particles in the “center” group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation:

    -
    variable size equal ramp(1.0,0.1)
    -fix 1 center adapt 10 atom diameter v_size
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +constant). +

    +

    For example, these commands would shrink the diameter of all granular +particles in the "center" group from 1.0 to 0.1 in a linear fashion +over the course of a 1000-step simulation: +

    +
    variable size equal ramp(1.0,0.1)
    +fix 1 center adapt 10 atom diameter v_size 
    +
    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -

    For rRESPA time integration, this fix changes -parameters on the outermost rRESPA level.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are scale = no, reset = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    For rRESPA time integration, this fix changes +parameters on the outermost rRESPA level. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute ti +

    +

    Default: +

    +

    The option defaults are scale = no, reset = no. +

    + diff --git a/doc/fix_adapt_fep.html b/doc/fix_adapt_fep.html index 4e340b37f3..a1e3009c1d 100644 --- a/doc/fix_adapt_fep.html +++ b/doc/fix_adapt_fep.html @@ -1,465 +1,275 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix adapt/fep command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix adapt/fep command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID adapt/fep N attribute args ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • adapt/fep = style name of this fix command
    • -
    • N = adapt simulation settings every this many timesteps
    • -
    • one or more attribute/arg pairs may be appended
    • -
    • attribute = pair or kspace or atom
    • -
    -
    -pair args = pstyle pparam I J v_name
    +
    +
    +
    + +

    fix adapt/fep command +

    +

    Syntax: +

    +
    fix ID group-ID adapt/fep N attribute args ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • adapt/fep = style name of this fix command + +
    • N = adapt simulation settings every this many timesteps + +
    • one or more attribute/arg pairs may be appended + +
    • attribute = pair or kspace or atom + +
        pair args = pstyle pparam I J v_name
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to adapt over time
           I,J = type pair(s) to set parameter for
           v_name = variable with name that calculates value of pparam
      -  kspace arg = v_name
      +  kspace arg = v_name
           v_name = variable with name that calculates scale factor on K-space terms
      -  atom args = aparam v_name
      +  atom args = aparam v_name
           aparam = parameter to adapt over time
           I = type(s) to set parameter for
      -    v_name = variable with name that calculates value of aparam
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = scale or reset or after
      • -
      -
      -scale value = no or yes
      -    no = the variable value is the new setting
      -    yes = the variable value multiplies the original setting
      -  reset value = no or yes
      -    no = values will remain altered at the end of a run
      -    yes = reset altered values to their original values at the end
      +    v_name = variable with name that calculates value of aparam 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = scale or reset or after + +
        scale value = no or yes
      +    no = the variable value is the new setting
      +    yes = the variable value multiplies the original setting
      +  reset value = no or yes
      +    no = values will remain altered at the end of a run
      +    yes = reset altered values to their original values at the end
           of a run
      -  after value = no or yes
      -    no = parameters are adapted at timestep N
      -    yes = parameters are adapted one timestep after N
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor
    +  after value = no or yes
    +    no = parameters are adapted at timestep N
    +    yes = parameters are adapted one timestep after N 
    +
    + + +

    Examples: +

    +
    fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor
     fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor
     fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
    -fix 1 all adapt/fep 10 atom diameter 1 v_size
    -
    -
    -
    -
    -

    Description¶

    -

    Change or adapt one or more specific simulation attributes or settings -over time as a simulation runs.

    -

    This is an enhanced version of the fix_adapt command -with two differences,

    -
      -
    • It is possible to modify the charges of chosen atom types only, -instead of scaling all the charges in the system.
    • -
    • There is a new option after for better compatibility with “fix -ave/time”.
    • -
    -

    This version is suited for free energy calculations using -compute_ti or compute_fep.

    -

    If N is specified as 0, the specified attributes are only changed +fix 1 all adapt/fep 10 atom diameter 1 v_size + +

    Description: +

    +

    Change or adapt one or more specific simulation attributes or settings +over time as a simulation runs. +

    +

    This is an enhanced version of the fix_adapt command +with two differences, +

    +
    • It is possible to modify the charges of chosen atom types only, +instead of scaling all the charges in the system. + +
    • There is a new option after for better compatibility with "fix +ave/time". +
    +

    This version is suited for free energy calculations using +compute_ti or compute_fep. +

    +

    If N is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If N > 0, then changes -are made every N steps during the simulation, presumably with a -variable that is time-dependent.

    -

    Depending on the value of the reset keyword, attributes changed by +associated variables are not time-dependent. If N > 0, then changes +are made every N steps during the simulation, presumably with a +variable that is time-dependent. +

    +

    Depending on the value of the reset keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if reset is specified as yes, a +the end of a simulation. Even if reset is specified as yes, a restart file written during a simulation will contain the modified -settings.

    -

    If the scale keyword is set to no, then the value the parameter is -set to will be whatever the variable generates. If the scale -keyword is set to yes, then the value of the altered parameter will +settings. +

    +

    If the scale keyword is set to no, then the value the parameter is +set to will be whatever the variable generates. If the scale +keyword is set to yes, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a “scale factor” applied +variable generates. I.e. the variable is now a "scale factor" applied in (presumably) a time-varying fashion to the parameter. Internally, the parameters themselves are actually altered; make sure you use the -reset yes option if you want the parameters to be restored to their -initial values after the run.

    -

    If the after keyword is set to yes, then the parameters are +reset yes option if you want the parameters to be restored to their +initial values after the run. +

    +

    If the after keyword is set to yes, then the parameters are changed one timestep after the multiple of N. In this manner, if a fix -such as “fix ave/time” is used to calculate averages at every N +such as "fix ave/time" is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with -the same values of the parameters.

    -
    -

    The pair keyword enables various parameters of potentials defined by -the pair_style command to be changed, if the pair -style supports it. Note that the pair_style and -pair_coeff commands must be used in the usual manner +the same values of the parameters. +

    +
    + +

    The pair keyword enables various parameters of potentials defined by +the pair_style command to be changed, if the pair +style supports it. Note that the pair_style and +pair_coeff commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply -overrides the parameters.

    -

    The pstyle argument is the name of the pair style. If pair_style hybrid or hybrid/overlay is used, pstyle should be -a sub-style name. For example, pstyle could be specified as “soft” -or “lubricate”. The pparam argument is the name of the parameter to +overrides the parameters. +

    +

    The pstyle argument is the name of the pair style. If pair_style +hybrid or hybrid/overlay is used, pstyle should be +a sub-style name. For example, pstyle could be specified as "soft" +or "lubricate". The pparam argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair -styles and their energy formulas for the meaning of these parameters:

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    borna,b,ctype pairs
    bucka,ctype pairs
    coul/cutscaletype pairs
    coul/debyescaletype pairs
    coul/longscaletype pairs
    lj/cutepsilon,sigmatype pairs
    lj/expandepsilon,sigma,deltatype pairs
    lubricatemuglobal
    gaussatype pairs
    softatype pairs
    -
    -

    Warning

    -

    It is easy to add new potentials and their parameters +styles and their energy formulas for the meaning of these parameters: +

    +
    + + + + + + + + + +
    born a,b,c type pairs
    buck a,c type pairs
    coul/cut scale type pairs
    coul/debye scale type pairs
    coul/long scale type pairs
    lj/cut epsilon,sigma type pairs
    lj/expand epsilon,sigma,delta type pairs
    lubricate mu global
    gauss a type pairs
    soft a type pairs +
    + +

    IMPORTANT NOTE: It is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential.

    -
    -

    Some parameters are global settings for the pair style, e.g. the -viscosity setting “mu” for pair_style lubricate. +the pair_*.cpp file associated with the potential. +

    +

    Some parameters are global settings for the pair style, e.g. the +viscosity setting "mu" for pair_style lubricate. Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor “a” for pair_style soft.

    -

    Note that for many of the potentials, the parameter that can be varied +e.g. the prefactor "a" for pair_style soft. +

    +

    Note that for many of the potentials, the parameter that can be varied is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as “scale” +potential, e.g. the lj/cut epsilon. The parameters listed as "scale" are exactly that, since the energy expression for the -coul/cut potential (for example) has no labeled +coul/cut potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the -Buckingham potential needs both the A and C terms +Buckingham potential needs both the A and C terms altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C.

    -

    If a type pair parameter is specified, the I and J settings should +list the pair style twice, once for A and once for C. +

    +

    If a type pair parameter is specified, the I and J settings should be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the I and J settings still need to be -specified, but are ignored.

    -

    Similar to the pair_coeff command, I and J can be +parameter is specified, the I and J settings still need to be +specified, but are ignored. +

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values.

    -

    A wild-card asterisk can be used in place of or in conjunction with +each, as in the 1st example above. I <= J is required. LAMMPS sets +the coefficients for the symmetric J,I interaction to the same values. +

    +

    A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored.

    -

    IMPROTANT NOTE: If pair_style hybrid or hybrid/overlay is being used, then the pstyle will +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored. +

    +

    IMPROTANT NOTE: If pair_style hybrid or +hybrid/overlay is being used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the pair_coeff -command) for that sub-style.

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +to type pair values defined (via the pair_coeff +command) for that sub-style. +

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include thermo_style command keywords for the +and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the -start and stop keywords of the run command and the -elaplong keyword of thermo_style custom for -details.

    -

    For example, these commands would change the prefactor coefficient of -the pair_style soft potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation:

    -
    variable prefactor equal ramp(10,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor
    -
    -
    -
    -

    The kspace keyword used the specified variable as a scale factor on +start and stop keywords of the run command and the +elaplong keyword of thermo_style custom for +details. +

    +

    For example, these commands would change the prefactor coefficient of +the pair_style soft potential from 10.0 to 30.0 in a +linear fashion over the course of a simulation: +

    +
    variable prefactor equal ramp(10,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor 
    +
    +
    + +

    The kspace keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the kspace_style command. If the -variable has a value of 1.0, then the solver is unaltered.

    -

    The kspace keyword works this way whether the scale keyword -is set to no or yes.

    -
    -

    The atom keyword enables various atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix:

    -
      -
    • charge = charge on particle
    • -
    • diameter = diameter of particle
    • -
    -

    The I argument indicates which atom types are affected. A wild-card +defined by the kspace_style command. If the +variable has a value of 1.0, then the solver is unaltered. +

    +

    The kspace keyword works this way whether the scale keyword +is set to no or yes. +

    +
    + +

    The atom keyword enables various atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be varied by this fix: +

    +
    • charge = charge on particle +
    • diameter = diameter of particle +
    +

    The I argument indicates which atom types are affected. A wild-card asterisk can be used in place of or in conjunction with the I argument -to set the coefficients for multiple atom types.

    -

    The v_name argument of the atom keyword is the name of an -equal-style variable which will be evaluated each time +to set the coefficients for multiple atom types. +

    +

    The v_name argument of the atom keyword is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group.

    -

    If the atom parameter is diameter and per-atom density and per-atom -mass are defined for particles (e.g. atom_style granular), then the mass of each particle is also +for all atoms in the fix group. +

    +

    If the atom parameter is diameter and per-atom density and per-atom +mass are defined for particles (e.g. atom_style +granular), then the mass of each particle is also changed when the diameter changes (density is assumed to stay -constant).

    -

    For example, these commands would shrink the diameter of all granular -particles in the “center” group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation:

    -
    variable size equal ramp(1.0,0.1)
    -fix 1 center adapt 10 atom diameter * v_size
    -
    -
    -

    For rRESPA time integration, this fix changes -parameters on the outermost rRESPA level.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +constant). +

    +

    For example, these commands would shrink the diameter of all granular +particles in the "center" group from 1.0 to 0.1 in a linear fashion +over the course of a 1000-step simulation: +

    +
    variable size equal ramp(1.0,0.1)
    +fix 1 center adapt 10 atom diameter * v_size 
    +
    +

    For rRESPA time integration, this fix changes +parameters on the outermost rRESPA level. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are scale = no, reset = no, after = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute fep, fix_adapt, compute +ti +

    +

    Default: +

    +

    The option defaults are scale = no, reset = no, after = no. +

    + diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html index 752e019665..e6ba94273f 100644 --- a/doc/fix_addforce.html +++ b/doc/fix_addforce.html @@ -1,346 +1,184 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix addforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix addforce command¶

    -
    -
    -

    fix addforce/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID addforce fx fy fz keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • addforce = style name of this fix command
    • -
    • fx,fy,fz = force component values (force units)
    • -
    -
    any of fx,fy,fz can be a variable (see below)
    -
    -
    -
      -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = every or region or energy
    • -
    -
    -every value = Nevery
    +
    +
    +
    + +

    fix addforce command +

    +

    fix addforce/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID addforce fx fy fz keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • addforce = style name of this fix command + +
    • fx,fy,fz = force component values (force units) + +
        any of fx,fy,fz can be a variable (see below) 
      +
      +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = every or region or energy + +
        every value = Nevery
           Nevery = add force every this many timesteps
      -  region value = region-ID
      +  region value = region-ID
           region-ID = ID of region atoms must be in to have added force
      -  energy value = v_name
      -    v_name = variable with name that calculates the potential energy of each atom in the added force field
      -
      -
    -
    -

    Examples¶

    -
    fix kick flow addforce 1.0 0.0 0.0
    +  energy value = v_name
    +    v_name = variable with name that calculates the potential energy of each atom in the added force field 
    +
    + + +

    Examples: +

    +
    fix kick flow addforce 1.0 0.0 0.0
     fix kick flow addforce 1.0 0.0 v_oscillate
    -fix ff boundary addforce 0.0 0.0 v_push energy v_espace
    -
    -
    -
    -
    -

    Description¶

    -

    Add fx,fy,fz to the corresponding component of force for each atom in +fix ff boundary addforce 0.0 0.0 v_push energy v_espace + +

    Description: +

    +

    Add fx,fy,fz to the corresponding component of force for each atom in the group. This command can be used to give an additional push to atoms in a simulation, such as for a simulation of Poiseuille flow in -a channel.

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style variable, namely fx, -fy, fz. If the value is a variable, it should be specified as +a channel. +

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style or atom-style variable, namely fx, +fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine -the force component.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +the force component. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field.

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent force field. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well.

    -

    If the every keyword is used, the Nevery setting determines how +field with optional time-dependence as well. +

    +

    If the every keyword is used, the Nevery setting determines how often the forces are applied. The default value is 1, for every -timestep.

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it.

    -
    -

    Adding a force to atoms implies a change in their potential energy as -they move due to the applied force field. For dynamics via the “run” -command, this energy can be optionally added to the system’s potential +timestep. +

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it. +

    +
    + +

    Adding a force to atoms implies a change in their potential energy as +they move due to the applied force field. For dynamics via the "run" +command, this energy can be optionally added to the system's potential energy for thermodynamic output (see below). For energy minimization -via the “minimize” command, this energy must be added to the system’s +via the "minimize" command, this energy must be added to the system's potential energy to formulate a self-consistent minimization problem -(see below).

    -

    The energy keyword is not allowed if the added force is a constant +(see below). +

    +

    The energy keyword is not allowed if the added force is a constant vector F = (fx,fy,fz), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each atom directly as E = -x dot F = -(x*fx + y*fy + -z*fz), so that -Grad(E) = F.

    -

    The energy keyword is optional if the added force is defined with +z*fz), so that -Grad(E) = F. +

    +

    The energy keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the -run command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics.

    -

    The energy keyword is required if the added force is defined with +run command. If the keyword is not used, LAMMPS will set +the energy to 0.0, which is typically fine for dynamics. +

    +

    The energy keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via -the “minimize” command. The keyword specifies the name of an -atom-style variable which is used to compute the +the "minimize" command. The keyword specifies the name of an +atom-style variable which is used to compute the energy of each atom as function of its position. Like variables used -for fx, fy, fz, the energy variable is specified as v_name, -where name is the variable name.

    -

    Note that when the energy keyword is used during an energy +for fx, fy, fz, the energy variable is specified as v_name, +where name is the variable name. +

    +

    Note that when the energy keyword is used during an energy minimization, you must insure that the formula defined for the -atom-style variable is consistent with the force +atom-style variable is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force were a spring-like F = kx, then the energy formula should be E = --0.5kx^2. If you don’t do this correctly, the minimization will not -converge properly.

    -
    -

    Styles with a cuda suffix are functionally the same as the +-0.5kx^2. If you don't do this correctly, the minimization will not +converge properly. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this -fix to add the potential “energy” inferred by the added force to the -system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is -needed so that the minimize command can include the +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this +fix to add the potential "energy" inferred by the added force to the +system's potential energy as part of thermodynamic +output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added force.

    -

    This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various output commands. The scalar is the potential +added force. +

    +

    This fix computes a global scalar and a global 3-vector of forces, +which can be accessed by various output +commands. The scalar is the potential energy discussed above. The vector is the total force on the group of atoms before the forces on individual atoms are changed by the fix. -The scalar and vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +The scalar and vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization.

    -
    -

    Warning

    -

    If you want the fictitious potential energy associated +the iteration count during the minimization. +

    +

    IMPORTANT NOTE: If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option default for the every keyword is every = 1.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +fix_modify energy option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix setforce, fix aveforce +

    +

    Default: +

    +

    The option default for the every keyword is every = 1. +

    + diff --git a/doc/fix_addtorque.html b/doc/fix_addtorque.html index 8a344d28b6..a9a521e3b7 100644 --- a/doc/fix_addtorque.html +++ b/doc/fix_addtorque.html @@ -1,269 +1,102 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix addtorque command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix addtorque command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID addtorque Tx Ty Tz
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • addtorque = style name of this fix command
    • -
    • Tx,Ty,Tz = torque component values (torque units)
    • -
    • any of Tx,Ty,Tz can be a variable (see below)
    • -
    -
    -
    -

    Examples¶

    -
    fix kick bead addtorque 2.0 3.0 5.0
    -fix kick bead addtorque 0.0 0.0 v_oscillate
    -
    -
    -
    -
    -

    Description¶

    -

    Add a set of forces to each atom in -the group such that:

    -
      -
    • the components of the total torque applied on the group (around its -center of mass) are Tx,Ty,Tz
    • -
    • the group would move as a rigid body in the absence of other -forces.
    • -
    -

    This command can be used to drive a group of atoms into rotation.

    -

    Any of the 3 quantities defining the torque components can be specified -as an equal-style variable, namely Tx, -Ty, Tz. If the value is a variable, it should be specified as + + +


    + +

    fix addtorque command +

    +

    Syntax: +

    +
    fix ID group-ID addtorque Tx Ty Tz 
    +
    +
    • ID, group-ID are documented in fix command + +
    • addtorque = style name of this fix command + +
    • Tx,Ty,Tz = torque component values (torque units) + +
    • any of Tx,Ty,Tz can be a variable (see below) + + +
    +

    Examples: +

    +
    fix kick bead addtorque 2.0 3.0 5.0
    +fix kick bead addtorque 0.0 0.0 v_oscillate 
    +
    +

    Description: +

    +

    Add a set of forces to each atom in +the group such that: +

    +
    • the components of the total torque applied on the group (around its +center of mass) are Tx,Ty,Tz + +
    • the group would move as a rigid body in the absence of other +forces. +
    +

    This command can be used to drive a group of atoms into rotation. +

    +

    Any of the 3 quantities defining the torque components can be specified +as an equal-style variable, namely Tx, +Ty, Tz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -torque component.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +torque component. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent torque.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this -fix to add the potential “energy” inferred by the added forces to the -system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is -needed so that the minimize command can include the +time. Thus it is easy to specify a time-dependent torque. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this +fix to add the potential "energy" inferred by the added forces to the +system's potential energy as part of thermodynamic +output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added forces.

    -

    This fix computes a global scalar and a global 3-vector, which can be -accessed by various output commands. +added forces. +

    +

    This fix computes a global scalar and a global 3-vector, which can be +accessed by various output commands. The scalar is the potential energy discussed above. The vector is the total torque on the group of atoms before the forces on individual atoms are changed by the fix. The scalar and vector values calculated -by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the iteration count during the minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix addforce +

    +

    Default: none +

    + diff --git a/doc/fix_append_atoms.html b/doc/fix_append_atoms.html index 009f8b510d..f2df056748 100644 --- a/doc/fix_append_atoms.html +++ b/doc/fix_append_atoms.html @@ -1,291 +1,123 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix append/atoms command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix append/atoms command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID append/atoms face ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • append/atoms = style name of this fix command
    • -
    • face = zhi
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = basis or size or freq or temp or random or units
    • -
    -
    -basis values = M itype
    +
    +
    +
    + +

    fix append/atoms command +

    +

    Syntax: +

    +
    fix ID group-ID append/atoms face ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • append/atoms = style name of this fix command + +
    • face = zhi + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = basis or size or freq or temp or random or units + +
        basis values = M itype
           M = which basis atom
           itype = atom type (1-N) to assign to this basis atom
      -  size args = Lz
      +  size args = Lz
           Lz = z size of lattice region appended in a single event(distance units)
      -  freq args = freq
      +  freq args = freq
           freq = the number of timesteps between append events
      -  temp args = target damp seed extent
      +  temp args = target damp seed extent
           target = target temperature for the region between zhi-extent and zhi (temperature units)
           damp = damping parameter (time units)
           seed = random number seed for langevin kicks
           extent = extent of thermostated region (distance units)
      -  random args = xmax ymax zmax seed
      -    xmax, ymax, zmax = maximum displacement in particular direction (distance units)
      -    seed = random number seed for random displacement
      -  units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all append/atoms zhi size 5.0 freq 295 units lattice
    +  random args = xmax ymax zmax seed
    +    xmax, ymax, zmax = maximum displacement in particular direction (distance units)
    +    seed = random number seed for random displacement
    +  units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix 1 all append/atoms zhi size 5.0 freq 295 units lattice
     fix 4 all append/atoms zhi size 15.0 freq 5 units box
    -fix A all append/atoms zhi size 1.0 freq 1000 units lattice
    -
    -
    -
    -
    -

    Description¶

    -

    This fix creates atoms on a lattice, appended on the zhi edge of the +fix A all append/atoms zhi size 1.0 freq 1000 units lattice + +

    Description: +

    +

    This fix creates atoms on a lattice, appended on the zhi edge of the system box. This can be useful when a shock or wave is propagating from zlo. This allows the system to grow with time to accommodate an expanding wave. A simulation box must already exist, which is -typically created via the create_box command. +typically created via the create_box command. Before using this command, a lattice must also be defined using the -lattice command.

    -

    This fix will automatically freeze atoms on the zhi edge of the -system, so that overlaps are avoided when new atoms are appended.

    -

    The basis keyword specifies an atom type that will be assigned to +lattice command. +

    +

    This fix will automatically freeze atoms on the zhi edge of the +system, so that overlaps are avoided when new atoms are appended. +

    +

    The basis keyword specifies an atom type that will be assigned to specific basis atoms as they are created. See the -lattice command for specifics on how basis atoms are +lattice command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created -atoms are assigned type = 1 unless this keyword specifies differently.

    -

    The size keyword defines the size in z of the chunk of material to -be added.

    -

    The random keyword will give the atoms random displacements around -their lattice points to simulate some initial temperature.

    -

    The temp keyword will cause a region to be thermostated with a +atoms are assigned type = 1 unless this keyword specifies differently. +

    +

    The size keyword defines the size in z of the chunk of material to +be added. +

    +

    The random keyword will give the atoms random displacements around +their lattice points to simulate some initial temperature. +

    +

    The temp keyword will cause a region to be thermostated with a Langevin thermostat on the zhi boundary. The size of the region is -measured from zhi and is set with the extent argument.

    -

    The units keyword determines the meaning of the distance units used +measured from zhi and is set with the extent argument. +

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. -A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The boundary on which atoms are added with append/atoms must be +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The boundary on which atoms are added with append/atoms must be shrink/minimum. The opposite boundary may be any boundary type other -than periodic.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are size = 0.0, freq = 0, units = lattice. All -added atoms are of type 1 unless the basis keyword is used.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +than periodic. +

    +

    Related commands: +

    +

    fix wall/piston command +

    +

    Default: +

    +

    The keyword defaults are size = 0.0, freq = 0, units = lattice. All +added atoms are of type 1 unless the basis keyword is used. +

    + diff --git a/doc/fix_atc.html b/doc/fix_atc.html index fc3a49435f..86db400873 100644 --- a/doc/fix_atc.html +++ b/doc/fix_atc.html @@ -1,434 +1,258 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix atc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix atc command¶

    -
    -

    Syntax¶

    -
    fix <fixID> <group> atc <type> <parameter_file>
    -
    -
    -
      -
    • fixID = name of fix
    • -
    • group = name of group fix is to be applied
    • -
    • type = thermal or two_temperature or hardy or field
    • -
    -
    -thermal = thermal coupling with fields: temperature
    - two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    - hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
    - field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
    -
    -
      -
    • parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file
    • -
    -
    -
    -

    Examples¶

    -
    fix AtC internal atc thermal Ar_thermal.dat
    +
    +
    +
    + +

    fix atc command +

    +

    Syntax: +

    +
    fix   atc   
    +
    +
  • fixID = name of fix + +
  • group = name of group fix is to be applied + +
  • type = thermal or two_temperature or hardy or field + +
     thermal = thermal coupling with fields: temperature
    + two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    + hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) 
    + field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) 
    +
    +
  • parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file + +

    Examples: +

    +
    fix AtC internal atc thermal Ar_thermal.dat 
     fix AtC internal atc two_temperature Ar_ttm.mat
     fix AtC internal atc hardy
    -fix AtC internal atc field
    -
  • -
    -
    -
    -

    Description¶

    -

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.

    -_images/atc_nanotube.jpg -
    The following coupling example is typical, but non-exhaustive:
    - # ... commands to create and initialize the MD system
    -
    -
    -
    # initial fix to designate coupling type and group to apply it to
    - # tag group physics material_file
    - fix AtC internal atc thermal Ar_thermal.mat
    -
    -
    -
    # create a uniform 12 x 2 x 2 mesh that covers region contain the group
    - # nx ny nz region periodicity
    - fix_modify AtC mesh create 12 2 2 mdRegion f p p
    -
    -
    -
    # specify the control method for the type of coupling
    - # physics control_type
    - fix_modify AtC thermal control flux
    -
    -
    -
    # specify the initial values for the empirical field "temperature"
    - # field node_group value
    - fix_modify AtC initial temperature all 30
    -
    -
    -
    # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output atc_fe_output 100
    -
    -
    -
    run 1000
    -
    -
    -

    likewise for this post-processing example:

    -
    # ... commands to create and initialize the MD system
    -
    -
    -
    # initial fix to designate post-processing and the group to apply it to
    - # no material file is allowed nor required
    - fix AtC internal atc hardy
    -
    -
    -
    # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
    - fix AtC kernel quartic_sphere 10.0
    -
    -
    -
    # create a uniform 1 x 1 x 1 mesh that covers region contain the group
    - # with periodicity this effectively creats a system average
    - fix_modify AtC mesh create 1 1 1 box p p p
    -
    -
    -
    # change from default lagrangian map to eulerian
    - # refreshed every 100 steps
    - fix_modify AtC atom_element_map eulerian 100
    -
    -
    -
    # start with no field defined
    - # add mass density, potential energy density, stress and temperature
    - fix_modify AtC fields add density energy stress temperature
    -
    -
    -
    # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output nvtFE 100 text
    -
    -
    -
    run 1000
    -
    -
    -
    -
    the mesh’s linear interpolation functions can be used as the localization function
    -
    by using the field option:
    -
    -

    fix AtC internal atc field

    -

    fix_modify AtC mesh create 1 1 1 box p p p

    -

    ...

    -

    Note coupling and post-processing can be combined in the same simulations using separate fixes.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. The fix_modify options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.

    -
      -
    • Currently,
    • -
      • -
      • the coupling is restricted to thermal physics
      • -
      -
    • -
      • -
      • the FE computations are done in serial on each processor.
      • -
      -
    • -
    -
    - -
    -

    Default¶

    -

    None

    -
    -

    For detailed exposition of the theory and algorithms please see:

    -

    (Wagner) Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, “An atomistic-to-continuum coupling method for heat transfer in solids.” Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.

    -

    (Zimmerman2004) Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, “Calculation of stress in atomistic simulation.” Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.

    -

    (Zimmerman2010) Zimmerman, JA; Jones, RE; Templeton, JA, “A material frame approach for evaluating continuum variables in atomistic simulations.” Journal of Computational Physics (2010), 229:2364.

    -

    (Templeton2010) Templeton, JA; Jones, RE; Wagner, GJ, “Application of a field-based method to spatially varying thermal transport problems in molecular dynamics.” Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.

    -

    (Jones) Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, “Electron transport enhanced molecular dynamics for metals and semi-metals.” International Journal for Numerical Methods in Engineering (2010), 83:940.

    -

    (Templeton2011) Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, “A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling.” Journal of Chemical Theory and Computation (2011), 7:1736.

    -

    (Mandadapu) Mandadapu, KK; Templeton, JA; Lee, JW, “Polarization as a field variable from molecular dynamics simulations.” Journal of Chemical Physics (2013), 139:054115.

    -

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes ” The finite element method ”, Dover 2003, for the basics of FE simulation.

    -
    -
    +fix AtC internal atc field + +

    Description: +

    +

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. +

    +
    +
    +
    The following coupling example is typical, but non-exhaustive:
    + # ... commands to create and initialize the MD system 
    +
    +
     # initial fix to designate coupling type and group to apply it to 
    + # tag group physics material_file 
    + fix AtC internal atc thermal Ar_thermal.mat 
    +
    +
     # create a uniform 12 x 2 x 2 mesh that covers region contain the group 
    + # nx ny nz region periodicity 
    + fix_modify AtC mesh create 12 2 2 mdRegion f p p 
    +
    +
     # specify the control method for the type of coupling 
    + # physics control_type 
    + fix_modify AtC thermal control flux 
    +
    +
     # specify the initial values for the empirical field "temperature" 
    + # field node_group value 
    + fix_modify AtC initial temperature all 30 
    +
    +
     # create an output stream for nodal fields 
    + # filename output_frequency 
    + fix_modify AtC output atc_fe_output 100 
    +
    +
     run 1000 
    +
    +

    likewise for this post-processing example: +

    +
     # ... commands to create and initialize the MD system 
    +
    +
     # initial fix to designate post-processing and the group to apply it to 
    + # no material file is allowed nor required 
    + fix AtC internal atc hardy 
    +
    +
     # for hardy fix, specific kernel function (function type and range) to # be used as a localization function 
    + fix AtC kernel quartic_sphere 10.0 
    +
    +
     # create a uniform 1 x 1 x 1 mesh that covers region contain the group 
    + # with periodicity this effectively creats a system average 
    + fix_modify AtC mesh create 1 1 1 box p p p 
    +
    +
     # change from default lagrangian map to eulerian 
    + # refreshed every 100 steps 
    + fix_modify AtC atom_element_map eulerian 100 
    +
    +
     # start with no field defined 
    + # add mass density, potential energy density, stress and temperature 
    + fix_modify AtC fields add density energy stress temperature 
    +
    +
     # create an output stream for nodal fields 
    + # filename output_frequency 
    + fix_modify AtC output nvtFE 100 text 
    +
    +
     run 1000 
    +
    +

    the mesh's linear interpolation functions can be used as the localization function + by using the field option: +

    +

    fix AtC internal atc field +

    +

    fix_modify AtC mesh create 1 1 1 box p p p +

    +

    ... +

    +

    Note coupling and post-processing can be combined in the same simulations using separate fixes. +

    +
    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart files. The fix_modify options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. +

    +
    • Currently, +
    • - the coupling is restricted to thermal physics +
    • - the FE computations are done in serial on each processor. +
    +

    Related commands: +

    +

    After specifying this fix in your input script, several other fix_modify commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. +

    +

    fix_modify commands for setup: +

    + +

    fix_modify commands for boundary and initial conditions: +

    + +

    fix_modify commands for control and filtering: +

    + +

    fix_modify commands for output: +

    + +

    fix_modify commands for post-processing: +

    + +

    miscellaneous fix_modify commands: +

    + +

    Note: a set of example input files with the attendant material files are included with this package +

    +

    Default: +None +

    +
    -
    -
    -
    - +

    For detailed exposition of the theory and algorithms please see: +

    + -
    +

    (Wagner) Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Zimmerman2004) Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. +

    + -
    +

    (Zimmerman2010) Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. +

    + -
    -
    +

    (Templeton2010) Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. +

    + -
    +

    (Jones) Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. +

    + -
    - +

    (Templeton2011) Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. +

    + - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mandadapu) Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. +

    +

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. +

    + diff --git a/doc/fix_atom_swap.html b/doc/fix_atom_swap.html index db6450a67d..739845a391 100644 --- a/doc/fix_atom_swap.html +++ b/doc/fix_atom_swap.html @@ -1,206 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix atom/swap command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix atom/swap command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID atom/swap N X seed T keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • atom/swap = style name of this fix command
    • -
    • N = invoke this fix every N steps
    • -
    • X = number of swaps to attempt every N steps
    • -
    • seed = random # seed (positive integer)
    • -
    • T = scaling temperature of the MC swaps (temperature units)
    • -
    • one or more keyword/value pairs may be appended to args
    • -
    • keyword = types or delta_mu or ke or semi-grand or region
    • -
    -
    -types values = two or more atom types
    -  delta_mu values = number_of_types-1 relative chemical potentials (energy units)
    -  ke value = no or yes
    -    no = no conservation of kinetic energy after atom swaps
    -    yes = kinetic energy is conserved after atom swaps
    -  semi-grand value = no or yes
    -    no = particle type counts and fractions conserved
    -    yes = semi-grand canonical ensemble, particle fractions not conserved
    -  region value = region-ID
    -    region-ID = ID of region to use as an exchange/move volume
    -
    -
    -
    -

    Examples¶

    -
    fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
    -fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6
    -fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 delta_mu 4.3 -5.0
    -
    -
    -
    -
    -

    Description¶

    -

    This fix performs Monte Carlo swaps of atoms of one given atom type + + +


    + +

    fix atom/swap command +

    +

    Syntax: +

    +
    fix ID group-ID atom/swap N X seed T keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • atom/swap = style name of this fix command + +
    • N = invoke this fix every N steps + +
    • X = number of swaps to attempt every N steps + +
    • seed = random # seed (positive integer) + +
    • T = scaling temperature of the MC swaps (temperature units) + +
    • one or more keyword/value pairs may be appended to args + +
    • keyword = types or delta_mu or ke or semi-grand or region + +
        types values = two or more atom types
      +  delta_mu values = number_of_types-1 relative chemical potentials (energy units)
      +  ke value = no or yes
      +    no = no conservation of kinetic energy after atom swaps
      +    yes = kinetic energy is conserved after atom swaps
      +  semi-grand value = no or yes
      +    no = particle type counts and fractions conserved
      +    yes = semi-grand canonical ensemble, particle fractions not conserved
      +  region value = region-ID
      +    region-ID = ID of region to use as an exchange/move volume 
      +
      + +
    +

    Examples: +

    +
    fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
    +fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 
    +fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 delta_mu 4.3 -5.0 
    +
    +

    Description: +

    +

    This fix performs Monte Carlo swaps of atoms of one given atom type with atoms of the other given atom types. The specified T is used in -the Metropolis criterion dictating swap probabilities.

    -

    Perform X swaps of atoms of one type with atoms of another type +the Metropolis criterion dictating swap probabilities. +

    +

    Perform X swaps of atoms of one type with atoms of another type according to a Monte Carlo probability. Swap candidates must be in the fix group, must be in the region (if specified), and must be of one of the listed types. Swaps are attempted between candidates that are chosen randomly with equal probability among the candidate atoms. Swaps are not attempted between atoms of the same type since -nothing would happen.

    -

    All atoms in the simulation domain can be moved using regular time -integration displacements, e.g. via fix_nvt, resulting +nothing would happen. +

    +

    All atoms in the simulation domain can be moved using regular time +integration displacements, e.g. via fix_nvt, resulting in a hybrid MC+MD simulation. A smaller-than-usual timestep size may be needed when running such a hybrid simulation, especially if the -swapped atoms are not well equilibrated.

    -

    The types keyword is required. At least two atom types must be -specified.

    -

    The ke keyword can be set to no to turn off kinetic energy -conservation for swaps. The default is yes, which means that swapped +swapped atoms are not well equilibrated. +

    +

    The types keyword is required. At least two atom types must be +specified. +

    +

    The ke keyword can be set to no to turn off kinetic energy +conservation for swaps. The default is yes, which means that swapped atoms have their velocities scaled by the ratio of the masses of the swapped atom types. This ensures that the kinetic energy of each atom is the same after the swap as it was before the swap, even though the -atom masses have changed.

    -

    The semi-grand keyword can be set to yes to switch to the -semi-grand canonical ensemble as discussed in (Sadigh). This +atom masses have changed. +

    +

    The semi-grand keyword can be set to yes to switch to the +semi-grand canonical ensemble as discussed in (Sadigh). This means that the total number of each particle type does not need to be -conserved. The default is no, which means that the only kind of swap +conserved. The default is no, which means that the only kind of swap allowed exchanges an atom of one type with an atom of a different given type. In other words, the relative mole fractions of the swapped atoms remains constant. Whereas in the semi-grand canonical ensemble, the composition of the system can change. Note that when using -semi-grand, all atoms in the fix group are eligible for attempted +semi-grand, all atoms in the fix group are eligible for attempted conversion to one of the given types, even if its current type is not one of the given types. An attempt is made to switch the selected atom -to one of the listed types with equal probability. Acceptance of -each attempt depends upon the Metropolis criterion.

    -

    The delta_mu keyword allows users to specify non-zero chemical +to one of the listed types with equal probability. Acceptance of +each attempt depends upon the Metropolis criterion. +

    +

    The delta_mu keyword allows users to specify non-zero chemical potentials for each of the atom types. All chemical potentials are relative to the first atom type, so no value is given for the first atom type. These parameters are useful for semi-grand canonical @@ -208,148 +102,98 @@ ensemble simulations where it may be desirable to actively control the composition of the system. When given, there must be ntypes-1 values given, where ntypes is the number of atom types in the simulated system. Note that a value for delta_mu is required for all atom types -when using semi-grand, even for atom types not listed following the -types keyword. This is because when using semi-grand, it is +when using semi-grand, even for atom types not listed following the +types keyword. This is because when using semi-grand, it is possible that any of the atom types in the system could be part of the fix group and therefore are eligible for swapping to one of the listed -atom types.

    -

    This command may optionally use the region keyword to define swap +atom types. +

    +

    This command may optionally use the region keyword to define swap volume. The specified region must have been previously defined with a -region command. It must be defined with side = in. +region command. It must be defined with side = in. Swap attempts occur only between atoms that are both within the -specified region. Swaps are not otherwise attempted.

    -

    You should ensure you do not swap atoms belonging to a molecule, or +specified region. Swaps are not otherwise attempted. +

    +

    You should ensure you do not swap atoms belonging to a molecule, or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for swapping have a non-zero molecule ID, but does not check for this at the time of -swapping.

    -

    This fix checks to ensure all atoms of the given types have the same -atomic charge. LAMMPS doesn’t enforce this in general, but it is +swapping. +

    +

    This fix checks to ensure all atoms of the given types have the same +atomic charge. LAMMPS doesn't enforce this in general, but it is needed for this fix to simplify the swapping procedure. Successful -swaps will swap the atom type and charge of the swapped atoms.

    -

    Since this fix computes total potential energies before and after +swaps will swap the atom type and charge of the swapped atoms. +

    +

    Since this fix computes total potential energies before and after proposed swaps, so even complicated potential energy calculations are -OK, including the following:

    -
      -
    • long-range electrostatics (kspace)
    • -
    • many body pair styles
    • -
    • hybrid pair styles
    • -
    • eam pair styles
    • -
    • triclinic systems
    • -
    • need to include potential energy contributions from other fixes
    • -
    -

    Some fixes have an associated potential energy. Examples of such fixes -include: efield, gravity, -addforce, langevin, -restrain, temp/berendsen, -temp/rescale, and wall fixes. -For that energy to be included in the total potential energy of the +OK, including the following: +

    +
    • long-range electrostatics (kspace) +
    • many body pair styles +
    • hybrid pair styles +
    • eam pair styles +
    • triclinic systems +
    • need to include potential energy contributions from other fixes +
    +

    Some fixes have an associated potential energy. Examples of such fixes +include: efield, gravity, +addforce, langevin, +restrain, temp/berendsen, +temp/rescale, and wall fixes. +For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the fix to binary restart files. This includes information about the random +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the fix to binary restart +files. This includes information about the random number generator seed, the next timestep for MC exchanges, etc. See -the read_restart command for info on how to +the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    This fix computes a global vector of length 2, which can be accessed -by various output commands. The vector -values are the following global cumulative quantities:

    -
      -
    • 1 = swap attempts
    • -
    • 2 = swap successes
    • -
    -

    The vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are ke = yes, semi-grand = no, delta_mu = 0.0 for -all atom types.

    -
    -

    (Sadigh) B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and -L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).

    -
    -
    +the operation of the fix continues in an uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    This fix computes a global vector of length 2, which can be accessed +by various output commands. The vector +values are the following global cumulative quantities: +

    +
    • 1 = swap attempts +
    • 2 = swap successes +
    +

    The vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix_nvt, neighbor, +fix_deposit, fix_evaporate, +delete_atoms, fix_gcmc +

    +

    Default: +

    +

    The option defaults are ke = yes, semi-grand = no, delta_mu = 0.0 for +all atom types. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sadigh) B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and +L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012). +

    + diff --git a/doc/fix_ave_atom.html b/doc/fix_ave_atom.html index 5efc53bd23..f80025c8f9 100644 --- a/doc/fix_ave_atom.html +++ b/doc/fix_ave_atom.html @@ -1,320 +1,165 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/atom command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/atom = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps -one or more input values can be listed
    • -
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name
    • -
    -
    x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    +
    +
    +
    + +

    fix ave/atom command +

    +

    Syntax: +

    +
    fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/atom = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps +one or more input values can be listed + +
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name + +
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name
      -
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all ave/atom 1 100 100 vx vy vz
    -fix 1 all ave/atom 10 20 1000 c_my_stress[1]
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more per-atom vectors as inputs every few timesteps, and + v_name = per-atom vector calculated by an atom-style variable with name + + + +

    Examples: +

    +
    fix 1 all ave/atom 1 100 100 vx vy vz
    +fix 1 all ave/atom 10 20 1000 c_my_stress[1] 
    +
    +

    Description: +

    +

    Use one or more per-atom vectors as inputs every few timesteps, and average them atom by atom over longer timescales. The resulting -per-atom averages can be used by other output commands such as the fix ave/spatial or dump custom commands.

    -

    The group specified with the command means only atoms within the group +per-atom averages can be used by other output +commands such as the fix +ave/spatial or dump custom commands. +

    +

    The group specified with the command means only atoms within the group have their averages computed. Results are set to 0.0 for atoms not in -the group.

    -

    Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an atom-style -variable. In the latter cases, the compute, fix, or +the group. +

    +

    Each input value can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an atom-style +variable. In the latter cases, the compute, fix, or variable must produce a per-atom vector, not a global quantity or local quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix ave/time command.

    -

    Computes that produce per-atom vectors or arrays are -those which have the word atom in their style name. See the doc -pages for individual fixes to determine which ones produce -per-atom vectors or arrays. Variables of style atom +compute, fix, or variable, then see the fix +ave/time command. +

    +

    Computes that produce per-atom vectors or arrays are +those which have the word atom in their style name. See the doc +pages for individual fixes to determine which ones produce +per-atom vectors or arrays. Variables of style atom are the only ones that can be used with this fix since they produce -per-atom vectors.

    -

    Each per-atom value of each input vector is averaged independently.

    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +per-atom vectors. +

    +

    Each per-atom value of each input vector is averaged independently. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a multiple of Nfreq. The average is over Nrepeat +that are a multiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on -timestep 200, etc.

    -
    -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +timestep 200, etc. +

    +
    + +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -
    -

    Warning

    -

    The x,y,z attributes are values that are re-wrapped +inputs to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    IMPORTANT NOTE: The x,y,z attributes are values that are re-wrapped inside the periodic box whenever an atom crosses a periodic boundary. Thus if you time average an atom that spends half its time on either side of the periodic box, you will get a value in the middle of the box. If this is not what you want, consider averaging unwrapped -coordinates, which can be provided by the compute property/atom command via its xu,yu,zu -attributes.

    -
    -

    If a value begins with “c_”, a compute ID must follow which has been +coordinates, which can be provided by the compute +property/atom command via its xu,yu,zu +attributes. +

    +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the compute is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also -write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +write code for their own compute styles and add them to +LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the fix is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be -compatible with Nevery, else an error will result. Users can also -write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has -been previously defined in the input script as an atom-style variable Variables of style atom can reference +compatible with Nevery, else an error will result. Users can also +write code for their own fix styles and add them to +LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has +been previously defined in the input script as an atom-style +variable Variables of style atom can reference thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating -per-atom quantities to time average.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +per-atom quantities to time average. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global scalar or vector quantities are -stored by this fix for access by various output commands.

    -

    This fix produces a per-atom vector or array which can be accessed by -various output commands. A vector is +stored by this fix for access by various output +commands. +

    +

    This fix produces a per-atom vector or array which can be accessed by +various output commands. A vector is produced if only a single quantity is averaged by this fix. If two or more quantities are averaged, then an array of values is produced. The per-atom values can only be accessed on timesteps that are -multiples of Nfreq since that is when averaging is performed.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +multiples of Nfreq since that is when averaging is performed. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix ave/histo, fix +ave/spatial, fix ave/time, +variable, +

    +

    Default: none +

    + diff --git a/doc/fix_ave_chunk.html b/doc/fix_ave_chunk.html index 8cce0fdba3..a1c1a9dc2f 100644 --- a/doc/fix_ave_chunk.html +++ b/doc/fix_ave_chunk.html @@ -1,429 +1,361 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/chunk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/chunk command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/chunk = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps
    • -
    • chunkID = ID of compute chunk/atom command
    • -
    • one or more input values can be listed
    • -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name
    • -
    -
    vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    +
    +
    +
    + +

    fix ave/chunk command +

    +

    Syntax: +

    +
    fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/chunk = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps + +
    • chunkID = ID of compute chunk/atom command + +
    • one or more input values can be listed + +
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name + +
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         temp = temperature
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = norm or ave or bias or adof or cdof or file or overwrite or title1 or title2 or title3
    • -
    -
    -norm arg = all or sample or none = how output on Nfreq steps is normalized
    -    all = output is sum of atoms across all Nrepeat samples, divided by atom count
    -    sample = output is sum of Nrepeat sample averages, divided by Nrepeat
    -    none = output is sum of Nrepeat sums, divided by Nrepeat
    -  ave args = one or running or window M
    +  v_name = per-atom vector calculated by an atom-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = norm or ave or bias or adof or cdof or file or overwrite or title1 or title2 or title3 + +
      norm arg = all or sample or none = how output on Nfreq steps is normalized
    +    all = output is sum of atoms across all Nrepeat samples, divided by atom count
    +    sample = output is sum of Nrepeat sample averages, divided by Nrepeat
    +    none = output is sum of Nrepeat sums, divided by Nrepeat
    +  ave args = one or running or window M
         one = output new average value every Nfreq steps
         running = output cumulative average of all previous Nfreq steps
         window M = output average of M most recent Nfreq steps
    -  bias arg = bias-ID
    +  bias arg = bias-ID
         bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation
    -  adof value = dof_per_atom
    +  adof value = dof_per_atom
         dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation
    -  cdof value = dof_per_chunk
    +  cdof value = dof_per_chunk
         dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation
    -  file arg = filename
    +  file arg = filename
         filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values"
    +  title3 arg = string
    +    string = text to print as 3rd line of output file 
    +
    + + +

    Examples: +

    +
    fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values"
     fix 1 flow ave/chunk 100 10 1000 molchunk vx vz norm sample file vel.profile
     fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running
    -fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running
    -
    -
    -

    IMPORTANT NOTE:

    -

    If you are trying to replace an older fix ave/spatial command with the -newer, more flexible fix ave/chunk and compute chunk/atom commands, you simply need to split +fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running + +

    IMPORTANT NOTE: +

    +

    If you are trying to replace an older fix ave/spatial command with the +newer, more flexible fix ave/chunk and compute +chunk/atom commands, you simply need to split the fix ave/spatial arguments across the two new commands. For -example, this command:

    -
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
    -
    -
    -

    could be replaced by:

    -
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0
    -fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more per-atom vectors as inputs every few timesteps, sum +example, this command: +

    +
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile 
    +
    +

    could be replaced by: +

    +
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0 
    +fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile 
    +
    +

    Description: +

    +

    Use one or more per-atom vectors as inputs every few timesteps, sum the values over the atoms in each chunk at each timestep, then average the per-chunk values over longer timescales. The resulting chunk -averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    -

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom +averages can be used by other output +commands such as thermo_style +custom, and can also be written to a file. +

    +

    In LAMMPS, chunks are collections of atoms defined by a compute +chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute +chunk/atom doc page and "Section_howto +23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system.

    -

    Note that only atoms in the specified group contribute to the summing -and averaging calculations. The compute chunk/atom command defines its own group as +a system. +

    +

    Note that only atoms in the specified group contribute to the summing +and averaging calculations. The compute +chunk/atom command defines its own group as well as an optional region. Atoms will have a chunk ID = 0, meaning they belong to no chunk, if they are not in that group or region. -Thus you can specify the “all” group for this command if you simply -want to use the chunk definitions provided by chunkID.

    -

    Each specified per-atom value can be an atom attribute (position, +Thus you can specify the "all" group for this command if you simply +want to use the chunk definitions provided by chunkID. +

    +

    Each specified per-atom value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of -a compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +a compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a -global quantity. Note that the compute property/atom command provides access to +global quantity. Note that the compute +property/atom command provides access to any attribute defined and stored by atoms. If you wish to time-average global quantities from a compute, fix, or variable, then -see the fix ave/time command.

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +see the fix ave/time command. +

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities.

    -

    The per-atom values of each input vector are summed and averaged -independently of the per-atom values in other input vectors.

    -
    -

    Warning

    -

    This fix works by creating an array of size Nchunk -by Nvalues on each processor. Nchunk is the number of chunks which -is defined by the compute chunk/atom +produce global quantities. +

    +

    The per-atom values of each input vector are summed and averaged +independently of the per-atom values in other input vectors. +

    +

    IMPORTANT NOTE: This fix works by creating an array of size Nchunk +by Nvalues on each processor. Nchunk is the number of chunks which +is defined by the compute chunk/atom command. Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate chunk. Then the entire array is summed across all processors. This means that using a large number of chunks will incur an overhead in memory and computational cost (summing across processors), so be -careful to define a reasonable number of chunks.

    -
    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +careful to define a reasonable number of chunks. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc.

    -

    Each input value can also be averaged over the atoms in each chunk. -The way the averaging is done across the Nrepeat timesteps to -produce output on the Nfreq timesteps, and across multiple Nfreq -outputs, is determined by the norm and ave keyword settings, as -discussed below.

    -
    -

    Warning

    -

    To perform per-chunk averaging within a Nfreq time -window, the number of chunks Nchunk defined by the compute chunk/atom command must remain constant. If -the ave keyword is set to running or window then Nchunk must +100,200,etc. +

    +

    Each input value can also be averaged over the atoms in each chunk. +The way the averaging is done across the Nrepeat timesteps to +produce output on the Nfreq timesteps, and across multiple Nfreq +outputs, is determined by the norm and ave keyword settings, as +discussed below. +

    +

    IMPORTANT NOTE: To perform per-chunk averaging within a Nfreq time +window, the number of chunks Nchunk defined by the compute +chunk/atom command must remain constant. If +the ave keyword is set to running or window then Nchunk must remain constant for the duration of the simulation. This fix forces -the chunk/atom compute specified by chunkID to hold Nchunk constant +the chunk/atom compute specified by chunkID to hold Nchunk constant for the appropriate time windows, by not allowing it to re-calcualte -Nchunk, which can also affect how it assigns chunk IDs to atoms. -More details are given on the compute chunk/atom doc page.

    -
    -
    -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +Nchunk, which can also affect how it assigns chunk IDs to atoms. +More details are given on the compute +chunk/atom doc page. +

    +
    + +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. As noted above, any other atom attributes can be used as input values -to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -

    The density/number value means the number density is computed for -each chunk, i.e. number/volume. The density/mass value means the +to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    The density/number value means the number density is computed for +each chunk, i.e. number/volume. The density/mass value means the mass density is computed for each chunk, i.e. total-mass/volume. The output values are in units of 1/volume or density (mass/volume). See -the units command doc page for the definition of density +the units command doc page for the definition of density for each choice of units, e.g. gram/cm^3. If the chunks defined by -the compute chunk/atom command are spatial +the compute chunk/atom command are spatial bins, the volume is the bin volume. Otherwise it is the volume of the -entire simulation box.

    -

    The temp value means the temperature is computed for each chunk, by +entire simulation box. +

    +

    The temp value means the temperature is computed for each chunk, by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = -temperature.

    -

    The DOF is calculated as N*adof + cdof, where N = number of atoms in +temperature. +

    +

    The DOF is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = dimensionality of -system, as set via the dimension command, and cdof = -0.0. This gives the usual formula for temperature.

    -

    Note that currently this temperature only includes translational +system, as set via the dimension command, and cdof = +0.0. This gives the usual formula for temperature. +

    +

    Note that currently this temperature only includes translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity bias or constraints that are applied, -such as compute temp/partial, or fix shake or fix rigid. This is because +such as compute temp/partial, or fix +shake or fix rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can -use the adof and cdof keywords to adjust the calculated degress of -freedom appropriately, as explained below.

    -

    Also note that a bias can be subtracted from atom velocities before -they are used in the above formula for KE, by using the bias +use the adof and cdof keywords to adjust the calculated degress of +freedom appropriately, as explained below. +

    +

    Also note that a bias can be subtracted from atom velocities before +they are used in the above formula for KE, by using the bias keyword. This allows, for example, a thermal temperature to be -computed after removal of a flow velocity profile.

    -

    Note that the per-chunk temperature calculated by this fix and the -compute temp/chunk command can be different. +computed after removal of a flow velocity profile. +

    +

    Note that the per-chunk temperature calculated by this fix and the +compute temp/chunk command can be different. The compute calculates the temperature for each chunk for a single snapshot. This fix can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. The compute allows the center-of-mass velocity of each chunk to be subtracted before -calculating the temperature; this fix does not.

    -

    If a value begins with “c_”, a compute ID must follow which has been +calculating the temperature; this fix does not. +

    +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +their own compute styles and add them to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to average within chunks.

    -
    -

    Additional optional keywords also affect the operation of this fix -and its outputs.

    -

    The norm keyword affects how averaging is done for the per-chunk -values that are output every Nfreq timesteps.

    -

    It the norm setting is all, which is the default, a chunk value is -summed over all atoms in all Nrepeat samples, as is the count of +quantities to average within chunks. +

    +
    + +

    Additional optional keywords also affect the operation of this fix +and its outputs. +

    +

    The norm keyword affects how averaging is done for the per-chunk +values that are output every Nfreq timesteps. +

    +

    It the norm setting is all, which is the default, a chunk value is +summed over all atoms in all Nrepeat samples, as is the count of atoms in the chunk. The averaged output value for the chunk on the -Nfreq timesteps is Total-sum / Total-count. In other words it is an -average over atoms across the entire Nfreq timescale.

    -

    If the norm setting is sample, the chunk value is summed over atoms -for each sample, as is the count, and an “average sample value” is +Nfreq timesteps is Total-sum / Total-count. In other words it is an +average over atoms across the entire Nfreq timescale. +

    +

    If the norm setting is sample, the chunk value is summed over atoms +for each sample, as is the count, and an "average sample value" is computed for each sample, i.e. Sample-sum / Sample-count. The outuput -value for the chunk on the Nfreq timesteps is the average of the -Nrepeat “average sample values”, i.e. the sum of Nrepeat “average -sample values” divided by Nrepeat. In other words it is an average -of an average.

    -

    If the norm setting is none, a similar computation as for the -sample seting is done, except the individual “average sample values” -are “summed sample values”. A summed sample value is simply the chunk +value for the chunk on the Nfreq timesteps is the average of the +Nrepeat "average sample values", i.e. the sum of Nrepeat "average +sample values" divided by Nrepeat. In other words it is an average +of an average. +

    +

    If the norm setting is none, a similar computation as for the +sample seting is done, except the individual "average sample values" +are "summed sample values". A summed sample value is simply the chunk value summed over atoms in the sample, without dividing by the number of atoms in the sample. The outuput value for the chunk on the -Nfreq timesteps is the average of the Nrepeat “summed sample -values”, i.e. the sum of Nrepeat “summed sample values” divided by -Nrepeat.

    -

    The ave keyword determines how the per-chunk values produced every -Nfreq steps are averaged with values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, which is the default, then the chunk -values produced on timesteps that are multiples of Nfreq are +Nfreq timesteps is the average of the Nrepeat "summed sample +values", i.e. the sum of Nrepeat "summed sample values" divided by +Nrepeat. +

    +

    The ave keyword determines how the per-chunk values produced every +Nfreq steps are averaged with values produced on previous steps that +were multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, which is the default, then the chunk +values produced on timesteps that are multiples of Nfreq are independent of each other; they are output as-is without further -averaging.

    -

    If the ave setting is running, then the chunk values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +averaging. +

    +

    If the ave setting is running, then the chunk values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output chunk value is thus the average of the chunk value produced on that timestep with all preceding values for the same chunk. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it.

    -

    If the ave setting is window, then the chunk values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving “window” of time, so that the last M values for the same +the unfix command, or re-defining the fix by +re-specifying it. +

    +

    If the ave setting is window, then the chunk values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving "window" of time, so that the last M values for the same chunk are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual chunk values on steps 8000,9000,10000. Outputs on early steps will -average over less than M values if they are not available.

    -

    The bias keyword specifies the ID of a temperature compute that -removes a “bias” velocity from each atom, specified as bias-ID. It -is only used when the temp value is calculated, to compute the +average over less than M values if they are not available. +

    +

    The bias keyword specifies the ID of a temperature compute that +removes a "bias" velocity from each atom, specified as bias-ID. It +is only used when the temp value is calculated, to compute the thermal temperature of each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. See the doc pages for individual computes that calculate a temperature to see which ones implement a -bias.

    -

    The adof and cdof keywords define the values used in the degree of +bias. +

    +

    The adof and cdof keywords define the values used in the degree of freedom (DOF) formula described above for for temperature calculation -for each chunk. They are only used when the temp value is +for each chunk. They are only used when the temp value is calculated. They can be used to calculate a more appropriate -temperature for some kinds of chunks. Here are 3 examples:

    -

    If spatially binned chunks contain some number of water molecules and -fix shake is used to make each molecule rigid, then +temperature for some kinds of chunks. Here are 3 examples: +

    +

    If spatially binned chunks contain some number of water molecules and +fix shake is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 -translational, 3 rotational) per molecule by setting adof to 2.0.

    -

    If compute temp/partial is used with the -bias keyword to only allow the x component of velocity to contribute -to the temperature, then adof = 1.0 would be appropriate.

    -

    If each chunk consists of a large molecule, with some number of its -bonds constrained by fix shake or the entire molecule -by fix rigid/small, adof = 0.0 and cdof could be +translational, 3 rotational) per molecule by setting adof to 2.0. +

    +

    If compute temp/partial is used with the +bias keyword to only allow the x component of velocity to contribute +to the temperature, then adof = 1.0 would be appropriate. +

    +

    If each chunk consists of a large molecule, with some number of its +bonds constrained by fix shake or the entire molecule +by fix rigid/small, adof = 0.0 and cdof could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid -molecule.

    -

    The file keyword allows a filename to be specified. Every Nfreq +molecule. +

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of chunk info will be written to a text file in the following format. A line with the timestep and number of chunks is written. Then one line per chunk is written, containing the chunk @@ -433,52 +365,64 @@ the chunk, and one or more calculated values. More explanation of the optional values is given below. The number of values in each line corresponds to the number of values specified in the fix ave/chunk command. The number of atoms and the value(s) are summed or average -quantities, as explained above.

    -

    The overwrite keyword will continuously overwrite the output file +quantities, as explained above. +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows:

    -
    # Chunk-averaged data for fix ID and group name
    -# Timestep Number-of-chunks
    -# Chunk (OrigID) (Coord1) (Coord2) (Coord3) Ncount value1 value2 ...
    -
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows: +

    +
    # Chunk-averaged data for fix ID and group name
    +# Timestep Number-of-chunks
    +# Chunk (OrigID) (Coord1) (Coord2) (Coord3) Ncount value1 value2 ... 
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are -replaced with the appropriate value names, e.g. fx or c_myCompute**2**.

    -

    The words in parenthesis only appear with corresponding columns if the -chunk style specified for the compute chunk/atom command supports them. The OrigID -column is only used if the compress keyword was set to yes for the -compute chunk/atom command. This means that +replaced with the appropriate value names, e.g. fx or c_myCompute2. +

    +

    The words in parenthesis only appear with corresponding columns if the +chunk style specified for the compute +chunk/atom command supports them. The OrigID +column is only used if the compress keyword was set to yes for the +compute chunk/atom command. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original chunk ID or molecule ID of -415. The OrigID column will list 415 for the 3rd chunk.

    -

    The CoordN columns only appear if a binning style was used in the -compute chunk/atom command. For bin/1d, -bin/2d, and bin/3d styles the column values are the center point +415. The OrigID column will list 415 for the 3rd chunk. +

    +

    The CoordN columns only appear if a binning style was used in the +compute chunk/atom command. For bin/1d, +bin/2d, and bin/3d styles the column values are the center point of the bin in the corresponding dimension. Just Coord1 is used for -bin/1d, Coord2 is added for bin/2d, Coord3 is added for bin/3d.

    -

    Note that if the value of the units keyword used in the compute chunk/atom command is box or lattice, the -coordinate values will be in distance units. If the -value of the units keyword is reduced, the coordinate values will -be in unitless reduced units (0-1).

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +bin/1d, Coord2 is added for bin/2d, Coord3 is added for bin/3d. +

    +

    Note that if the value of the units keyword used in the compute +chunk/atom command is box or lattice, the +coordinate values will be in distance units. If the +value of the units keyword is reduced, the coordinate values will +be in unitless reduced units (0-1). +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = -the number of chunks Nchunk as calculated by the specified compute chunk/atom command. The # of columns = +the number of chunks Nchunk as calculated by the specified compute +chunk/atom command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional columns for OrigID and CoordN are used, as explained above. Following the optional columns, the next column contains the count of @@ -487,90 +431,27 @@ quantities. When the array is accessed with a row I that exceeds the current number of chunks, than a 0.0 is returned by the fix instead of an error, since the number of chunks can vary as a simulation runs depending on how that value is computed by the compute chunk/atom -command.

    -

    The array values calculated by this fix are treated as “intensive”, +command. +

    +

    The array values calculated by this fix are treated as "intensive", since they are typically already normalized by the count of atoms in -each chunk.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are norm = all, ave = one, bias = none, no file output, and -title 1,2,3 = strings as described above.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +each chunk. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix ave/atom, fix +ave/histo, fix ave/time, +variable, fix ave/correlate +

    +

    Default: +

    +

    The option defaults are norm = all, ave = one, bias = none, no file output, and +title 1,2,3 = strings as described above. +

    + diff --git a/doc/fix_ave_correlate.html b/doc/fix_ave_correlate.html index f5bd22a971..eda6a0785b 100644 --- a/doc/fix_ave_correlate.html +++ b/doc/fix_ave_correlate.html @@ -1,479 +1,349 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/correlate command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/correlate command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/correlate = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of correlation time windows to accumulate
    • -
    • Nfreq = calculate tine window averages every this many timesteps
    • -
    • one or more input values can be listed
    • -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
    • -
    -
    c_ID = global scalar calculated by a compute with ID
    +
    +
    +
    + +

    fix ave/correlate command +

    +

    Syntax: +

    +
    fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/correlate = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of correlation time windows to accumulate + +
    • Nfreq = calculate tine window averages every this many timesteps + +
    • one or more input values can be listed + +
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + +
        c_ID = global scalar calculated by a compute with ID
         c_ID[I] = Ith component of global vector calculated by a compute with ID
         f_ID = global scalar calculated by a fix with ID
         f_ID[I] = Ith component of global vector calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = type or ave or start or prefactor or file or overwrite or title1 or title2 or title3
    • -
    -
    -type arg = auto or upper or lower or auto/upper or auto/lower or full
    +  v_name = global value calculated by an equal-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = type or ave or start or prefactor or file or overwrite or title1 or title2 or title3 + +
      type arg = auto or upper or lower or auto/upper or auto/lower or full
         auto = correlate each value with itself
         upper = correlate each value with each succeeding value
         lower = correlate each value with each preceding value
         auto/upper = auto + upper
         auto/lower = auto + lower
         full = correlate each value with every other value, including itself = auto + upper + lower
    -  ave args = one or running
    +  ave args = one or running
         one = zero the correlation accumulation every Nfreq steps
         running = accumulate correlations continuously
    -  start args = Nstart
    +  start args = Nstart
         Nstart = start accumulating correlations on this timestep
    -  prefactor args = value
    +  prefactor args = value
         value = prefactor to scale all the correlation data by
    -  file arg = filename
    +  file arg = filename
         filename = name of file to output correlation data to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
    -fix 1 all ave/correlate 1 50 10000 &
    -          c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
    -       type upper ave running title1 "My correlation data"
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more global scalar values as inputs every few timesteps, + title3 arg = string + string = text to print as 3rd line of output file + + + +

    Examples: +

    +
    fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
    +fix 1 all ave/correlate 1 50 10000 &
    +          c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
    +	  type upper ave running title1 "My correlation data" 
    +
    +

    Description: +

    +

    Use one or more global scalar values as inputs every few timesteps, calculate time correlations bewteen them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by -variables or used by other output commands such as thermo_style custom, and can also be written to a file.

    -

    The group specified with this command is ignored. However, note that +variables or used by other output +commands such as thermo_style +custom, and can also be written to a file. +

    +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own “group” definitions.

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own "group" definitions. +

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the fix ave/spatial, fix ave/atom, -or fix ave/histo commands. If you wish to sum a -per-atom quantity into a single global quantity, see the compute reduce command.

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +from a compute, fix, or variable, then see the fix +ave/spatial, fix ave/atom, +or fix ave/histo commands. If you wish to sum a +per-atom quantity into a single global quantity, see the compute +reduce command. +

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values.

    -

    The input values must either be all scalars. What kinds of +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values. +

    +

    The input values must either be all scalars. What kinds of correlations between input values are calculated is determined by the -type keyword as discussed below.

    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +type keyword as discussed below. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to calculate correlation data. -The input values are sampled every Nevery timesteps. The +The input values are sampled every Nevery timesteps. The correlation data for the preceding samples is computed on timesteps -that are a multiple of Nfreq. Consider a set of samples from some +that are a multiple of Nfreq. Consider a set of samples from some initial time up to an output timestep. The initial time could be the -beginning of the simulation or the last output time; see the ave +beginning of the simulation or the last output time; see the ave keyword for options. For the set of samples, the correlation value -Cij is calculated as:

    -
    Cij(delta) = ave(Vi(t)*Vj(t+delta))
    -
    -
    -

    which is the correlation value between input values Vi and Vj, +Cij is calculated as: +

    +
    Cij(delta) = ave(Vi(t)*Vj(t+delta)) 
    +
    +

    which is the correlation value between input values Vi and Vj, separated by time delta. Note that the second value Vj in the pair is always the one sampled at the later time. The ave() represents an average over every pair of samples in the set that are separated by -time delta. The maximum delta used is of size (Nrepeat-1)**Nevery*. -Thus the correlation between a pair of input values yields Nrepeat -correlation datums:

    -
    Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij((Nrepeat-1)*Nevery)
    -
    -
    -

    For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on +time delta. The maximum delta used is of size (Nrepeat-1)*Nevery. +Thus the correlation between a pair of input values yields Nrepeat +correlation datums: +

    +
    Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij((Nrepeat-1)*Nevery) 
    +
    +

    For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on timesteps 0,5,10,15,...,100 will be used to compute the final averages on timestep 100. Six averages will be computed: Cij(0), Cij(5), Cij(10), Cij(15), Cij(20), and Cij(25). Cij(10) on timestep 100 will be the average of 19 samples, namely Vi(0)*Vj(10), Vi(5)*Vj(15), -Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100).

    -

    Nfreq must be a multiple of Nevery; Nevery and Nrepeat must be -non-zero. Also, if the ave keyword is set to one which is the -default, then Nfreq >= (Nrepeat-1)**Nevery* is required.

    -
    -

    If a value begins with “c_”, a compute ID must follow which has been +Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100). +

    +

    Nfreq must be a multiple of Nevery; Nevery and Nrepeat must be +non-zero. Also, if the ave keyword is set to one which is the +default, then Nfreq >= (Nrepeat-1)*Nevery is required. +

    +
    + +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the compute is used.

    -

    Note that there is a compute reduce command +calculated by the compute is used. +

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/correlate. Or it can be a compute -defined not in your input script, but by thermodynamic output or other fixes such as fix nvt -or fix temp/rescale. See the doc pages for +defined not in your input script, but by thermodynamic +output or other fixes such as fix nvt +or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. Users can also -write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +write code for their own compute styles and add them to +LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the fix is used.

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +calculated by the fix is used. +

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to +LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Only equal-style -variables can be referenced. See the variable command -for details. Note that variables of style equal define a formula +variables can be referenced. See the variable command +for details. Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying -quantities to time correlate.

    -
    -

    Additional optional keywords also affect the operation of this fix.

    -

    The type keyword determines which pairs of input values are +quantities to time correlate. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +

    +

    The type keyword determines which pairs of input values are correlated with each other. For N input values Vi, for i = 1 to N, let the number of pairs = Npair. Note that the second value in the -pair Vi(t)*Vj(t+delta) is always the one sampled at the later time.

    -
      -
    • If type is set to auto then each input value is correlated with -itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N.
    • -
    • If type is set -to upper then each input value is correlated with every succeeding -value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2.
    • -
    • If type is set -to lower then each input value is correlated with every preceeding -value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2.
    • -
    • If type is set to auto/upper then each input value is correlated -with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, -so Npair = N*(N+1)/2.
    • -
    • If type is set to auto/lower then each input value is correlated -with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, -so Npair = N*(N+1)/2.
    • -
    • If type is set to full then each input value is correlated with +pair Vi(t)*Vj(t+delta) is always the one sampled at the later time. +

      +
      • If type is set to auto then each input value is correlated with +itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N. + +
      • If type is set +to upper then each input value is correlated with every succeeding +value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2. + +
      • If type is set +to lower then each input value is correlated with every preceeding +value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2. + +
      • If type is set to auto/upper then each input value is correlated +with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, +so Npair = N*(N+1)/2. + +
      • If type is set to auto/lower then each input value is correlated +with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, +so Npair = N*(N+1)/2. + +
      • If type is set to full then each input value is correlated with itself and every other value. I.e. Cij = Vi*Vj, for i,j = 1,N so -Npair = N^2.
      • -
      -

      The ave keyword determines what happens to the accumulation of -correlation samples every Nfreq timesteps. If the ave setting is -one, then the accumulation is restarted or zeroed every Nfreq -timesteps. Thus the outputs on successive Nfreq timesteps are +Npair = N^2. +

    +

    The ave keyword determines what happens to the accumulation of +correlation samples every Nfreq timesteps. If the ave setting is +one, then the accumulation is restarted or zeroed every Nfreq +timesteps. Thus the outputs on successive Nfreq timesteps are essentially independent of each other. The exception is that the Cij(0) = Vi(T)*Vj(T) value at a timestep T, where T is a multiple of -Nfreq, contributes to the correlation output both at time T and at -time T+Nfreq.

    -

    If the ave setting is running, then the accumulation is never +Nfreq, contributes to the correlation output both at time T and at +time T+Nfreq. +

    +

    If the ave setting is running, then the accumulation is never zeroed. Thus the output of correlation data at any timestep is the -average over samples accumulated every Nevery steps since the fix +average over samples accumulated every Nevery steps since the fix was defined. it can only be restarted by deleting the fix via the -unfix command, or by re-defining the fix by re-specifying -it.

    -

    The start keyword specifies what timestep the accumulation of +unfix command, or by re-defining the fix by re-specifying +it. +

    +

    The start keyword specifies what timestep the accumulation of correlation samples will begin on. The default is step 0. Setting it to a larger value can avoid adding non-equilibrated data to the -correlation averages.

    -

    The prefactor keyword specifies a constant which will be used as a +correlation averages. +

    +

    The prefactor keyword specifies a constant which will be used as a multiplier on the correlation data after it is averaged. It is effectively a scale factor on Vi*Vj, which can be used to account for -the size of the time window or other unit conversions.

    -

    The file keyword allows a filename to be specified. Every Nfreq +the size of the time window or other unit conversions. +

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, an array of correlation data is written to the file. The -number of rows is Nrepeat, as described above. The number of +number of rows is Nrepeat, as described above. The number of columns is the Npair+2, also as described above. Thus the file ends -up to be a series of these array sections.

    -

    The overwrite keyword will continuously overwrite the output file +up to be a series of these array sections. +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows:

    -
    # Time-correlated data for fix ID
    -# TimeStep Number-of-time-windows
    -# Index TimeDelta Ncount valueI*valueJ valueI*valueJ ...
    -
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows: +

    +
    # Time-correlated data for fix ID
    +# TimeStep Number-of-time-windows
    +# Index TimeDelta Ncount valueI*valueJ valueI*valueJ ... 
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the value pairs are replaced with the -appropriate fields from the fix ave/correlate command.

    -
    -

    Let Sij = a set of time correlation data for input values I and J, -namely the Nrepeat values:

    -
    Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery)
    -
    -
    -

    As explained below, these datums are output as one column of a global -array, which is effectively the correlation matrix.

    -

    The trap function defined for equal-style variables +appropriate fields from the fix ave/correlate command. +

    +
    + +

    Let Sij = a set of time correlation data for input values I and J, +namely the Nrepeat values: +

    +
    Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery) 
    +
    +

    As explained below, these datums are output as one column of a global +array, which is effectively the correlation matrix. +

    +

    The trap function defined for equal-style variables can be used to perform a time integration of this vector of datums, using a trapezoidal rule. This is useful for calculating various quantities which can be derived from time correlation data. If a normalization factor is needed for the time integration, it can be -included in the variable formula or via the prefactor keyword.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +included in the variable formula or via the prefactor keyword. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = -Nrepeat and # of columns = Npair+2. The first column has the time +Nrepeat and # of columns = Npair+2. The first column has the time delta (in timesteps) between the pairs of input values used to calculate the correlation, as described above. The 2nd column has the number of samples contributing to the correlation average, as described above. The remaining Npair columns are for I,J pairs of the -N input values, as determined by the type keyword, as described -above.

    -
      -
    • For type = auto, the Npair = N columns are ordered: C11, C22, ..., -CNN.
    • -
    • For type = upper, the Npair = N*(N-1)/2 columns are ordered: C12, -C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N.
    • -
    • For type = lower, the Npair = N*(N-1)/2 columns are ordered: C21, -C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1.
    • -
    • For type = auto/upper, the Npair = N*(N+1)/2 columns are ordered: +N input values, as determined by the type keyword, as described +above. +

      +
      • For type = auto, the Npair = N columns are ordered: C11, C22, ..., +CNN. + +
      • For type = upper, the Npair = N*(N-1)/2 columns are ordered: C12, +C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N. + +
      • For type = lower, the Npair = N*(N-1)/2 columns are ordered: C21, +C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1. + +
      • For type = auto/upper, the Npair = N*(N+1)/2 columns are ordered: C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N, -CNN.
      • -
      • For type = auto/lower, the Npair = N*(N+1)/2 columns are ordered: +CNN. + +
      • For type = auto/lower, the Npair = N*(N+1)/2 columns are ordered: C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1, -CNN.
      • -
      • For type = full, the Npair = N^2 columns are ordered: C11, C12, +CNN. + +
      • For type = full, the Npair = N^2 columns are ordered: C11, C12, ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, -CNN.
      • -
      -

      The array values calculated by this fix are treated as “intensive”. +CNN. +

    +

    The array values calculated by this fix are treated as "intensive". If you need to divide them by the number of atoms, you must do this in a later processing step, e.g. when using them in a -variable.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +variable. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix ave/time, fix +ave/atom, fix ave/spatial, +fix ave/histo, variable +

    +

    Default: none +

    +

    The option defaults are ave = one, type = auto, start = 0, no file +output, title 1,2,3 = strings as described above, and prefactor = 1.0. +

    + diff --git a/doc/fix_ave_histo.html b/doc/fix_ave_histo.html index 2d627f86fa..96e16bd57b 100644 --- a/doc/fix_ave_histo.html +++ b/doc/fix_ave_histo.html @@ -1,486 +1,351 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/histo command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/histo command¶

    -
    -
    -

    fix ave/histo/weight command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = ave/histo or ave/histo/weight = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating histogram
    • -
    • Nfreq = calculate histogram every this many timesteps
    • -
    • lo,hi = lo/hi bounds within which to histogram
    • -
    • Nbin = # of histogram bins
    • -
    • one or more input values can be listed
    • -
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
    • -
    -
    x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    +
    +
    +
    + +

    fix ave/histo command +

    +

    fix ave/histo/weight command +

    +

    Syntax: +

    +
    fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style = ave/histo or ave/histo/weight = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating histogram + +
    • Nfreq = calculate histogram every this many timesteps + +
    • lo,hi = lo/hi bounds within which to histogram + +
    • Nbin = # of histogram bins + +
    • one or more input values can be listed + +
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + +
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = scalar or vector calculated by a compute with ID
         c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
         f_ID = scalar or vector calculated by a fix with ID
         f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
      -  v_name = value(s) calculated by an equal-style or atom-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = mode or file or ave or start or beyond or overwrite or title1 or title2 or title3
    • -
    -
    -mode arg = scalar or vector
    +  v_name = value(s) calculated by an equal-style or atom-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = mode or file or ave or start or beyond or overwrite or title1 or title2 or title3 + +
      mode arg = scalar or vector
         scalar = all input values are scalars
         vector = all input values are vectors
    -  file arg = filename
    +  file arg = filename
         filename = name of file to output histogram(s) to
    -  ave args = one or running or window
    +  ave args = one or running or window
         one = output a new average value every Nfreq steps
         running = output cumulative average of all previous Nfreq steps
         window M = output average of M most recent Nfreq steps
    -  start args = Nstart
    +  start args = Nstart
         Nstart = start averaging on this timestep
    -  beyond arg = ignore or end or extra
    +  beyond arg = ignore or end or extra
         ignore = ignore values outside histogram lo/hi bounds
         end = count values outside histogram lo/hi bounds in end bins
         extra = create 2 extra bins for value outside histogram lo/hi bounds
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file, only for vector mode
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
    -fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values"
    -fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
    -fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2]
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more values as inputs every few timesteps, histogram them, + title3 arg = string + string = text to print as 3rd line of output file, only for vector mode + + + +

    Examples: +

    +
    fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
    +fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values"
    +fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra 
    +fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2] 
    +
    +

    Description: +

    +

    Use one or more values as inputs every few timesteps, histogram them, and average the histogram over longer timescales. The resulting -histogram can be used by other output commands, and can also be written to a +histogram can be used by other output +commands, and can also be written to a file. The fix ave/histo/weight command has identical syntax to fix ave/histo, except that exactly two values must be specified. See -details below.

    -

    The group specified with this command is ignored for global and local +details below. +

    +

    The group specified with this command is ignored for global and local input values. For per-atom input values, only atoms in the group contribute to the histogram. Note that regardless of the specified group, specified values may represent calculations performed by -computes and fixes which store their own “group” definition.

    -

    A histogram is simply a count of the number of values that fall within -a histogram bin. Nbins are defined, with even spacing between lo -and hi. Values that fall outside the lo/hi bounds can be treated in -different ways; see the discussion of the beyond keyword below.

    -

    Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an equal-style or atom-style -variable. The set of input values can be either all +computes and fixes which store their own "group" definition. +

    +

    A histogram is simply a count of the number of values that fall within +a histogram bin. Nbins are defined, with even spacing between lo +and hi. Values that fall outside the lo/hi bounds can be treated in +different ways; see the discussion of the beyond keyword below. +

    +

    Each input value can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an equal-style or atom-style +variable. The set of input values can be either all global, all per-atom, or all local quantities. Inputs of different kinds (e.g. global and per-atom) cannot be mixed. Atom attributes are -per-atom vector values. See the doc page for individual “compute” and -“fix” commands to see what kinds of quantities they generate.

    -

    The input values must either be all scalars or all vectors (or -arrays), depending on the setting of the mode keyword.

    -

    Note that the output of this command is a single histogram for all +per-atom vector values. See the doc page for individual "compute" and +"fix" commands to see what kinds of quantities they generate. +

    +

    The input values must either be all scalars or all vectors (or +arrays), depending on the setting of the mode keyword. +

    +

    Note that the output of this command is a single histogram for all input values combined together, not one histogram per input value. -See below for details on the format of the output of this fix.

    -

    If mode = vector, then the input values may either be vectors or +See below for details on the format of the output of this fix. +

    +

    If mode = vector, then the input values may either be vectors or arrays. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. -E.g. these 2 fix ave/histo commands are equivalent, since the compute com/chunk command creates a global array -with 3 columns:

    -
    compute myCOM all com/chunk
    +E.g. these 2 fix ave/histo commands are equivalent, since the compute
    +com/chunk command creates a global array
    +with 3 columns:
    +

    +
    compute myCOM all com/chunk
     fix 1 all ave/histo 100 1 100 c_myCOM file tmp1.com mode vector
    -fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector
    -
    -
    -

    If the fix ave/histo/weight command is used, exactly two values must +fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector + +

    If the fix ave/histo/weight command is used, exactly two values must be specified. If the values are vectors, they must be the same length. The first value (a scalar or vector) is what is histogrammed into bins, in the same manner the fix ave/histo command operates. The -second value (a scalar or vector) is used as a “weight”. This means -that instead of each value tallying a “1” to its bin, the +second value (a scalar or vector) is used as a "weight". This means +that instead of each value tallying a "1" to its bin, the corresponding weight is tallied. E.g. the Nth entry in the first -vector tallies the Nth entry (weight) in the second vector.

    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +vector tallies the Nth entry (weight) in the second vector. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are -multiple of Nfreq. It is averaged over Nrepeat histograms, -computed in the preceding portion of the simulation every Nevery -timesteps. Nfreq must be a multiple of Nevery and Nevery must -be non-zero even if Nrepeat is 1. Also, the timesteps contributing -to the histogram cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is -required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values +multiple of Nfreq. It is averaged over Nrepeat histograms, +computed in the preceding portion of the simulation every Nevery +timesteps. Nfreq must be a multiple of Nevery and Nevery must +be non-zero even if Nrepeat is 1. Also, the timesteps contributing +to the histogram cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is +required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values on timesteps 90,92,94,96,98,100 will be used to compute the final histogram on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging of the histogram is done; a histogram is -simply generated on timesteps 100,200,etc.

    -
    -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +simply generated on timesteps 100,200,etc. +

    +
    + +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -

    If a value begins with “c_”, a compute ID must follow which has been -previously defined in the input script. If mode = scalar, then if +inputs to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    If a value begins with "c_", a compute ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If mode = +the global vector calculated by the compute is used. If mode = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or -per-atom or local array calculated by the compute is used.

    -

    Note that there is a compute reduce command +per-atom or local array calculated by the compute is used. +

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/histo. Or it can be a compute defined -not in your input script, but by thermodynamic output or other fixes such as fix nvt or fix temp/rescale. See +not in your input script, but by thermodynamic +output or other fixes such as fix +nvt or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. -Users can also write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been -previously defined in the input script. If mode = scalar, then if +Users can also write code for their own compute styles and add them +to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If mode = vector, then +global vector calculated by the fix is used. If mode = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or per-atom -or local array calculated by the fix is used.

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has -been previously defined in the input script. If mode = scalar, then +or local array calculated by the fix is used. +

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to +LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has +been previously defined in the input script. If mode = scalar, then only equal-style variables can be used, which produce a global value. -If mode = vector, then only atom-style variables can be used, which -produce a per-atom vector. See the variable command -for details. Note that variables of style equal and atom define a +If mode = vector, then only atom-style variables can be used, which +produce a per-atom vector. See the variable command +for details. Note that variables of style equal and atom define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of -specifying quantities to histogram.

    -
    -

    Additional optional keywords also affect the operation of this fix.

    -

    If the mode keyword is set to scalar, then all input values must -be global scalars, or elements of global vectors. If the mode -keyword is set to vector, then all input values must be global or +specifying quantities to histogram. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +

    +

    If the mode keyword is set to scalar, then all input values must +be global scalars, or elements of global vectors. If the mode +keyword is set to vector, then all input values must be global or per-atom or local vectors, or columns of global or per-atom or local -arrays.

    -

    The beyond keyword determines how input values that fall outside the -lo to hi bounds are treated. Values such that lo <= value <= -hi are assigned to one bin. Values on a bin boundary are assigned -to the lower of the 2 bins. If beyond is set to ignore then -values < lo and values > hi are ignored, i.e. they are not binned. -If beyond is set to end then values < lo are counted in the -first bin and values > hi are counted in the last bin. If beyond -is set to extend then two extra bins are created, so that there are -Nbins+2 total bins. Values < lo are counted in the first bin and -values > hi are counted in the last bin (Nbins+1). Values between -lo and hi (inclusive) are counted in bins 2 thru Nbins+1. The -“coordinate” stored and printed for these two extra bins is lo and -hi.

    -

    The ave keyword determines how the histogram produced every Nfreq +arrays. +

    +

    The beyond keyword determines how input values that fall outside the +lo to hi bounds are treated. Values such that lo <= value <= +hi are assigned to one bin. Values on a bin boundary are assigned +to the lower of the 2 bins. If beyond is set to ignore then +values < lo and values > hi are ignored, i.e. they are not binned. +If beyond is set to end then values < lo are counted in the +first bin and values > hi are counted in the last bin. If beyond +is set to extend then two extra bins are created, so that there are +Nbins+2 total bins. Values < lo are counted in the first bin and +values > hi are counted in the last bin (Nbins+1). Values between +lo and hi (inclusive) are counted in bins 2 thru Nbins+1. The +"coordinate" stored and printed for these two extra bins is lo and +hi. +

    +

    The ave keyword determines how the histogram produced every Nfreq steps are averaged with histograms produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, then the histograms produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging.

    -

    If the ave setting is running, then the histograms produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, then the histograms produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging. +

    +

    If the ave setting is running, then the histograms produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each bin value in the histogram is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix -via the unfix command, or by re-defining the fix by -re-specifying it.

    -

    If the ave setting is window, then the histograms produced on -timesteps that are multiples of Nfreq are summed within a moving -“window” of time, so that the last M histograms are used to produce +via the unfix command, or by re-defining the fix by +re-specifying it. +

    +

    If the ave setting is window, then the histograms produced on +timesteps that are multiples of Nfreq are summed within a moving +"window" of time, so that the last M histograms are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the combined histogram of the individual histograms on steps 8000,9000,10000. Outputs on early steps will be sums over less -than M histograms if they are not available.

    -

    The start keyword specifies what timestep histogramming will begin +than M histograms if they are not available. +

    +

    The start keyword specifies what timestep histogramming will begin on. The default is step 0. Often input values can be 0.0 at time 0, -so setting start to a larger value can avoid including a 0.0 in -a running or windowed histogram.

    -

    The file keyword allows a filename to be specified. Every Nfreq +so setting start to a larger value can avoid including a 0.0 in +a running or windowed histogram. +

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, one histogram is written to the file. This includes a leading line that contains the timestep, number of bins, the total count of values contributing to the histogram, the count of values that were -not histogrammed (see the beyond keyword), the minimum value +not histogrammed (see the beyond keyword), the minimum value encountered, and the maximum value encountered. The min/max values include values that were not histogrammed. Following the leading line, one line per bin is written into the file. Each line contains -the bin #, the coordinate for the center of the bin (between lo and -hi), the count of values in the bin, and the normalized count. The +the bin #, the coordinate for the center of the bin (between lo and +hi), the count of values in the bin, and the normalized count. The normalized count is the bin count divided by the total count (not including values not histogrammed), so that the normalized values sum -to 1.0 across all bins.

    -

    The overwrite keyword will continuously overwrite the output file +to 1.0 across all bins. +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows:

    -
    # Histogram for fix ID
    -# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value
    -# Bin Coord Count Count/Total
    -
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows: +

    +
    # Histogram for fix ID
    +# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value
    +# Bin Coord Count Count/Total 
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the six values that are printed at the first of each section of output. The third describes the 4 values printed for each bin in -the histogram.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix produces a global vector and global array which can be -accessed by various output commands. +the histogram. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix produces a global vector and global array which can be +accessed by various output commands. The values can only be accessed on timesteps that are multiples of -Nfreq since that is when a histogram is generated. The global -vector has 4 values:

    -
      -
    • 1 = total counts in the histogram
    • -
    • 2 = values that were not histogrammed (see beyond keyword)
    • -
    • 3 = min value of all input values, including ones not histogrammed
    • -
    • 4 = max value of all input values, including ones not histogrammed
    • -
    -

    The global array has # of rows = Nbins and # of columns = 3. The +Nfreq since that is when a histogram is generated. The global +vector has 4 values: +

    +
    • 1 = total counts in the histogram +
    • 2 = values that were not histogrammed (see beyond keyword) +
    • 3 = min value of all input values, including ones not histogrammed +
    • 4 = max value of all input values, including ones not histogrammed +
    +

    The global array has # of rows = Nbins and # of columns = 3. The first column has the bin coordinate, the 2nd column has the count of values in that histogram bin, and the 3rd column has the bin count divided by the total count (not including missing counts), so that the -values in the 3rd column sum to 1.0.

    -

    The vector and array values calculated by this fix are all treated as -“intensive”. If this is not the case, e.g. due to histogramming +values in the 3rd column sum to 1.0. +

    +

    The vector and array values calculated by this fix are all treated as +"intensive". If this is not the case, e.g. due to histogramming per-atom input values, then you will need to account for that when -interpreting the values produced by this fix.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +interpreting the values produced by this fix. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix ave/atom, fix +ave/spatial, fix ave/time, +variable, fix ave/correlate, +

    +

    Default: none +

    +

    The option defaults are mode = scalar, ave = one, start = 0, no file +output, beyond = ignore, and title 1,2,3 = strings as described above. +

    + diff --git a/doc/fix_ave_spatial.html b/doc/fix_ave_spatial.html index 4070005cfd..9d41f243ac 100644 --- a/doc/fix_ave_spatial.html +++ b/doc/fix_ave_spatial.html @@ -1,430 +1,353 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/spatial command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/spatial command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta ... value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/spatial = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps
    • -
    • dim, origin, delta can be repeated 1, 2, or 3 times for 1d, 2d, or 3d bins
    • -
    -
    -dim = x or y or z
    -  origin = lower or center or upper or coordinate value (distance units)
    -  delta = thickness of spatial bins in dim (distance units)
    -
    -
      -
    • one or more input values can be listed
    • -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
    • -
    -
    vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    +
    +
    +
    + +

    fix ave/spatial command +

    +

    Syntax: +

    +
    fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta ... value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/spatial = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps + +
    • dim, origin, delta can be repeated 1, 2, or 3 times for 1d, 2d, or 3d bins + +
        dim = x or y or z
      +  origin = lower or center or upper or coordinate value (distance units)
      +  delta = thickness of spatial bins in dim (distance units) 
      +
      +
    • one or more input values can be listed + +
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name + +
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = region or bound or discard or norm or ave or units or file or overwrite or title1 or title2 or title3
    • -
    -
    -region arg = region-ID
    -  bound args = x/y/z lo hi
    -    x/y/z = x or y or z to bound bins in this dimension
    -    lo = lower or coordinate value (distance units)
    -    hi = upper or coordinate value (distance units)
    -  discard arg = mixed or no or yes
    +  v_name = per-atom vector calculated by an atom-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = region or bound or discard or norm or ave or units or file or overwrite or title1 or title2 or title3 + +
      region arg = region-ID
    +  bound args = x/y/z lo hi
    +    x/y/z = x or y or z to bound bins in this dimension
    +    lo = lower or coordinate value (distance units)
    +    hi = upper or coordinate value (distance units)
    +  discard arg = mixed or no or yes
         mixed = discard atoms outside bins only if bin bounds are explicitly set
         no = always keep out-of-bounds atoms
         yes = always discard out-of-bounds atoms
    -  norm arg = all or sample
    +  norm arg = all or sample
         region-ID = ID of region atoms must be in to contribute to spatial averaging
    -  ave args = one or running or window M
    +  ave args = one or running or window M
         one = output new average value every Nfreq steps
         running = output cumulative average of all previous Nfreq steps
         window M = output average of M most recent Nfreq steps
    -  units arg = box or lattice or reduced
    -  file arg = filename
    +  units arg = box or lattice or reduced
    +  file arg = filename
         filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/spatial 10000 1 10000 z lower 0.02 c_myCentro units reduced &
    -                      title1 "My output values"
    +  title3 arg = string
    +    string = text to print as 3rd line of output file 
    +
    + + +

    Examples: +

    +
    fix 1 all ave/spatial 10000 1 10000 z lower 0.02 c_myCentro units reduced &
    +                      title1 "My output values"
     fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
     fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass ave running
    -fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass bound y 5.0 20.0 discard yes ave running
    -
    -
    -

    IMPORTANT NOTE:

    -

    The fix ave/spatial command has been replaced by the more flexible -fix ave/chunk and compute chunk/atom commands. The fix ave/spatial -command will be removed from LAMMPS sometime in the summer of 2015.

    -

    Any fix ave/spatial command can be replaced by the two new commands. +fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass bound y 5.0 20.0 discard yes ave running + +

    IMPORTANT NOTE: +

    +

    The fix ave/spatial command has been replaced by the more flexible +fix ave/chunk and compute +chunk/atom commands. The fix ave/spatial +command will be removed from LAMMPS sometime in the summer of 2015. +

    +

    Any fix ave/spatial command can be replaced by the two new commands. You simply need to split the fix ave/spatial arguments across the two -new commands. For example, this command:

    -
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
    -
    -
    -

    could be replaced by:

    -
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0
    -fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more per-atom vectors as inputs every few timesteps, bin +new commands. For example, this command: +

    +
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile 
    +
    +

    could be replaced by: +

    +
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0 
    +fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile 
    +
    +

    Description: +

    +

    Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into 1d, 2d, or 3d bins based on current atom coordinates, and average the bin values over longer timescales. The -resulting bin averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    -

    The group specified with the command means only atoms within the group -contribute to bin averages. If the region keyword is used, the atom +resulting bin averages can be used by other output +commands such as thermo_style +custom, and can also be written to a file. +

    +

    The group specified with the command means only atoms within the group +contribute to bin averages. If the region keyword is used, the atom must be in both the specified group and the specified geometric -region in order to contribute to bin averages.

    -

    Each listed value can be an atom attribute (position, velocity, force +region in order to contribute to bin averages. +

    +

    Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a -compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix ave/time command.

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +compute, fix, or variable, then see the fix +ave/time command. +

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities.

    -

    The per-atom values of each input vector are binned and averaged -independently of the per-atom values in other input vectors.

    -

    The size and dimensionality of the bins (1d = layers or slabs, 2d = -pencils, 3d = boxes) are determined by the dim, origin, and -delta settings and how many times they are specified (1, 2, or 3). -See details below.

    -
    -

    Warning

    -

    This fix works by creating an array of size Nbins by +produce global quantities. +

    +

    The per-atom values of each input vector are binned and averaged +independently of the per-atom values in other input vectors. +

    +

    The size and dimensionality of the bins (1d = layers or slabs, 2d = +pencils, 3d = boxes) are determined by the dim, origin, and +delta settings and how many times they are specified (1, 2, or 3). +See details below. +

    +

    IMPORTANT NOTE: This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a large number of bins (easy to do for 2d or 3d bins) will incur an overhead in memory and computational cost (summing across processors), -so be careful to use reasonable numbers of bins.

    -
    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +so be careful to use reasonable numbers of bins. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc.

    -
    -

    Each per-atom property is also averaged over atoms in each bin. The -way the averaging is one across the Nrepeat timesteps to produce -output on the Nfreq timesteps, and across multiple Nfreq outputs, -is determined by the norm and av keyword settings, as discussed -below.

    -

    Bins can be 1d layers or slabs, 2d pencils, or 3d boxes. This depends -on how many times (1, 2, or 3) the dim, origin, and delta +100,200,etc. +

    +
    + +

    Each per-atom property is also averaged over atoms in each bin. The +way the averaging is one across the Nrepeat timesteps to produce +output on the Nfreq timesteps, and across multiple Nfreq outputs, +is determined by the norm and av keyword settings, as discussed +below. +

    +

    Bins can be 1d layers or slabs, 2d pencils, or 3d boxes. This depends +on how many times (1, 2, or 3) the dim, origin, and delta settings are specified in the fix ave/spatial command. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y, or -dim = y before dim = z. Bins in a particular dim have a bin size in -that dimension given by delta. Every Nfreq steps, when averaging is +dim = y before dim = z. Bins in a particular dim have a bin size in +that dimension given by delta. Every Nfreq steps, when averaging is being performed and the per-atom property is calculated for the first time, the number of bins and the bin sizes and boundaries are computed. Thus if the simulation box changes size during a simulation, the number of bins and their boundaries may also change. -In each dimension, bins are defined relative to a specified origin, +In each dimension, bins are defined relative to a specified origin, which may be the lower/upper edge of the simulation box in that dimension, or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the bin extent in that dimension. By default the -bin extent is the entire simulation box.

    -

    The bound keyword can be used one or more times to limit the extent +bin extent is the entire simulation box. +

    +

    The bound keyword can be used one or more times to limit the extent of bin coverage in specified dimensions, i.e. to only bin a portion of -the box. If the lo setting is lower or the hi setting is -upper, the bin extent in that direction extends to the box boundary. -If a numeric value is used for lo and/or hi, then the bin extent -in the lo or hi direction extends only to that value, which is +the box. If the lo setting is lower or the hi setting is +upper, the bin extent in that direction extends to the box boundary. +If a numeric value is used for lo and/or hi, then the bin extent +in the lo or hi direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, -though LAMMPS does not check for this.

    -

    On each sampling timestep, each atom is mapped to the bin it currently +though LAMMPS does not check for this. +

    +

    On each sampling timestep, each atom is mapped to the bin it currently belongs to, based on its current position. Note that the group-ID and region keyword can exclude specific atoms from this operation, as discussed above. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have -moved outside the bounds of any bin.

    -

    The discard keyword determines what is done with any atom which is -outside the bounds of any bin. If discard is set to yes, the atom -will be ignored and not contribute to any bin averages. If discard -is set to no, the atom will be counted as if it were in the first or -last bin in that dimension. If (discard* is set to mixed, which is +moved outside the bounds of any bin. +

    +

    The discard keyword determines what is done with any atom which is +outside the bounds of any bin. If discard is set to yes, the atom +will be ignored and not contribute to any bin averages. If discard +is set to no, the atom will be counted as if it were in the first or +last bin in that dimension. If (discard is set to mixed, which is the default, it will only be counted in the first or last bin if bins extend to the box boundary in that dimension. This is the case if the -bound keyword settings are lower and upper, which is the -default. If the bound keyword settings are numeric values, then the +bound keyword settings are lower and upper, which is the +default. If the bound keyword settings are numeric values, then the atom will be ignored if it is outside the bounds of any bin. Note that in this case, it is possible that the first or last bin extends -beyond the numeric bounds settings, depending on the specified -origin. If this is the case, the atom is only ignored if it is +beyond the numeric bounds settings, depending on the specified +origin. If this is the case, the atom is only ignored if it is outside the first or last bin, not if it is simply outside the numeric -bounds setting.

    -

    For orthogonal simulation boxes, the bins are also layers, pencils, or +bounds setting. +

    +

    For orthogonal simulation boxes, the bins are also layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bins are so that they are -parallel to the tilted faces of the simulation box. See this section of the manual for a discussion of +parallel to the tilted faces of the simulation box. See this +section of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the “b” cross “c” -direction. Bins in y have faces normal to the “a” cross “c” -direction. And bins in z have faces normal to the “a” cross “b” +bins in the x dimension have faces with normals in the "b" cross "c" +direction. Bins in y have faces normal to the "a" cross "c" +direction. And bins in z have faces normal to the "a" cross "b" direction. Note that in order to define the size and position of -these bins in an unambiguous fashion, the units option must be set -to reduced when using a triclinic simulation box, as noted below.

    -
    -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +these bins in an unambiguous fashion, the units option must be set +to reduced when using a triclinic simulation box, as noted below. +

    +
    + +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can -be used as inputs to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -

    The density/number value means the number density is computed in -each bin, i.e. a weighting of 1 for each atom. The density/mass +be used as inputs to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    The density/number value means the number density is computed in +each bin, i.e. a weighting of 1 for each atom. The density/mass value means the mass density is computed in each bind, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are -output. See the units command doc page for the -definition of density for each choice of units, e.g. gram/cm^3.

    -

    If a value begins with “c_”, a compute ID must follow which has been +output. See the units command doc page for the +definition of density for each choice of units, e.g. gram/cm^3. +

    +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +their own compute styles and add them to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to spatially average.

    -
    -

    Additional optional keywords also affect the operation of this fix. -The region, bound, and discard keywords were discussed above.

    -

    The norm keyword affects how averaging is done for the output -produced every Nfreq timesteps. For an all setting, a bin -quantity is summed over all atoms in all Nrepeat samples, as is the +quantities to spatially average. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +The region, bound, and discard keywords were discussed above. +

    +

    The norm keyword affects how averaging is done for the output +produced every Nfreq timesteps. For an all setting, a bin +quantity is summed over all atoms in all Nrepeat samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over -the entire Nfreq timescale.

    -

    For a sample setting, the bin quantity is summed over atoms for only -a single sample, as is the count, and a “average sample value” is +the entire Nfreq timescale. +

    +

    For a sample setting, the bin quantity is summed over atoms for only +a single sample, as is the count, and a "average sample value" is computed, i.e. Sample-quantity / Sample-count. The printed value for -the bin is the average of the Nrepeat “average sample values”, In -other words it is an average of an average.

    -

    The ave keyword determines how the bin values produced every Nfreq +the bin is the average of the Nrepeat "average sample values", In +other words it is an average of an average. +

    +

    The ave keyword determines how the bin values produced every Nfreq steps are averaged with bin values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, then the bin values produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging.

    -

    If the ave setting is running, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, then the bin values produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging. +

    +

    If the ave setting is running, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it.

    -

    If the ave setting is window, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving “window” of time, so that the last M values for the same bin +the unfix command, or re-defining the fix by +re-specifying it. +

    +

    If the ave setting is window, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving "window" of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average -over less than M values if they are not available.

    -

    The units keyword determines the meaning of the distance units used -for the bin size delta and for origin and bounds values if they +over less than M values if they are not available. +

    +

    The units keyword determines the meaning of the distance units used +for the bin size delta and for origin and bounds values if they are coordinate value. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, -only the reduced option may be used.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing. A reduced value means normalized +only the reduced option may be used. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing. A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper -faces of the simulation box respectively. Thus an origin value of -0.5 means the center of the box in any dimension. A delta value of -0.1 means 10 bins span the box in that dimension.

    -

    Consider a non-orthogonal box, with bins that are 1d layers or slabs -in the x dimension. No matter how the box is tilted, an origin of -0.0 means start layers at the lower “b” cross “c” plane of the -simulation box and an origin of 1.0 means to start layers at the -upper “b” cross “c” face of the box. A delta value of 0.1 means +faces of the simulation box respectively. Thus an origin value of +0.5 means the center of the box in any dimension. A delta value of +0.1 means 10 bins span the box in that dimension. +

    +

    Consider a non-orthogonal box, with bins that are 1d layers or slabs +in the x dimension. No matter how the box is tilted, an origin of +0.0 means start layers at the lower "b" cross "c" plane of the +simulation box and an origin of 1.0 means to start layers at the +upper "b" cross "c" face of the box. A delta value of 0.1 means there will be 10 layers from 0.0 to 1.0, regardless of the current -size or shape of the simulation box.

    -

    The file keyword allows a filename to be specified. Every Nfreq +size or shape of the simulation box. +

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID @@ -432,39 +355,45 @@ written. Then one line per bin is written, containing the bin ID in the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average -quantities. If the value of the units keyword is box or -lattice, the “coord” is printed in box units. If the value of the -units keyword is reduced, the “coord” is printed in reduced units -(0-1).

    -

    The overwrite keyword will continuously overwrite the output file +quantities. If the value of the units keyword is box or +lattice, the "coord" is printed in box units. If the value of the +units keyword is reduced, the "coord" is printed in reduced units +(0-1). +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows:

    -
    # Spatial-averaged data for fix ID and group name
    -# Timestep Number-of-bins
    -# Bin Coord1 Coord2 Coord3 Count value1 value2 ...
    -
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows: +

    +
    # Spatial-averaged data for fix ID and group name
    +# Timestep Number-of-bins
    +# Bin Coord1 Coord2 Coord3 Count value1 value2 ... 
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by -just Coord.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +just Coord. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = Ndim+1+Nvalues, where Ndim = 1,2,3 for 1d,2d,3d bins. The first 1 or 2 or 3 columns have the bin coordinates @@ -475,93 +404,32 @@ the current number of bins, than a 0.0 is returned by the fix instead of an error, since the number of bins can vary as a simulation runs, depending on the simulation box size. 2d or 3d bins are ordered so that the last dimension(s) vary fastest. The array values calculated -by this fix are “intensive”, since they are already normalized by the -count of atoms in each bin.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    When the ave keyword is set to running or window then the number +by this fix are "intensive", since they are already normalized by the +count of atoms in each bin. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    When the ave keyword is set to running or window then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the -simulation box size doesn’t change or if the units keyword is set to -reduced.

    -
    - -
    -

    Default¶

    -

    The option defaults are bound = lower and upper in all dimensions, +simulation box size doesn't change or if the units keyword is set to +reduced. +

    +

    Related commands: +

    +

    compute, fix ave/atom, fix +ave/histo, fix ave/time, +variable, fix ave/correlate, +fix ave/spatial/sphere +

    +

    Default: +

    +

    The option defaults are bound = lower and upper in all dimensions, discard = mixed, norm = all, ave = one, units = lattice, no file -output, and title 1,2,3 = strings as described above.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +output, and title 1,2,3 = strings as described above. +

    + diff --git a/doc/fix_ave_spatial_sphere.html b/doc/fix_ave_spatial_sphere.html index bd31e9769f..d7d55d7257 100644 --- a/doc/fix_ave_spatial_sphere.html +++ b/doc/fix_ave_spatial_sphere.html @@ -1,341 +1,259 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/spatial/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/spatial/sphere command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/spatial/sphere Nevery Nrepeat Nfreq origin_x origin_y origin_z r_min r_max nbins value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/spatial = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps
    • -
    • origin_x, origin_y, origin_z = center of the sphere. can be the result of variables or computes (see below)
    • -
    • r_min = radial distance at which binning begins
    • -
    • r_max = radial distance at which binning ends
    • -
    • nbins = number of spherical shells to create between r_min and r_max
    • -
    • one or more input values can be listed
    • -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
    • -
    -
    vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    +
    +
    +
    + +

    fix ave/spatial/sphere command +

    +

    Syntax: +

    +
    fix ID group-ID ave/spatial/sphere Nevery Nrepeat Nfreq origin_x origin_y origin_z r_min r_max nbins value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/spatial = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps + +
    • origin_x, origin_y, origin_z = center of the sphere. can be the result of variables or computes (see below) + +
    • r_min = radial distance at which binning begins + +
    • r_max = radial distance at which binning ends + +
    • nbins = number of spherical shells to create between r_min and r_max + +
    • one or more input values can be listed + +
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name + +
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = region or norm or units or ave or file or overwrite or title1 or title2 or title3
    • -
    -
    -region arg = region-ID
    +  v_name = per-atom vector calculated by an atom-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = region or norm or units or ave or file or overwrite or title1 or title2 or title3 + +
      region arg = region-ID
         region-ID = ID of region atoms must be in to contribute to spatial averaging
    -  norm arg = all or sample
    -  units arg = box or lattice or reduced
    -  ave args = one or running or window M
    +  norm arg = all or sample
    +  units arg = box or lattice or reduced
    +  ave args = one or running or window M
         one = output new average value every Nfreq steps
         running = output cumulative average of all previous Nfreq steps
         window M = output average of M most recent Nfreq steps
    -  file arg = filename
    +  file arg = filename
         filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/spatial/sphere 10000 1 10000 0.5 0.5 0.5 0.1 0.5 5 density/number vx vy vz units reduced title1 "My output values"
    -fix 1 flow ave/spatial/sphere 100 10 1000 20.0 20.0 20.0 0.0 20.0 20 vx vz norm sample file vel.profile
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more per-atom vectors as inputs every few timesteps, bin + title3 arg = string + string = text to print as 3rd line of output file + + + +

    Examples: +

    +
    fix 1 all ave/spatial/sphere 10000 1 10000 0.5 0.5 0.5 0.1 0.5 5 density/number vx vy vz units reduced title1 "My output values"
    +fix 1 flow ave/spatial/sphere 100 10 1000 20.0 20.0 20.0 0.0 20.0 20 vx vz norm sample file vel.profile 
    +
    +

    Description: +

    +

    Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into spherical shells based on current atom coordinates, and average the bin values over longer timescales. The -resulting bin averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    -

    The group specified with the command means only atoms within the group -contribute to bin averages. If the region keyword is used, the atom +resulting bin averages can be used by other output +commands such as thermo_style +custom, and can also be written to a file. +

    +

    The group specified with the command means only atoms within the group +contribute to bin averages. If the region keyword is used, the atom must be in both the group and the specified geometric -region in order to contribute to bin averages.

    -

    Each listed value can be an atom attribute (position, velocity, force +region in order to contribute to bin averages. +

    +

    Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a -compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix ave/time command.

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +compute, fix, or variable, then see the fix +ave/time command. +

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities.

    -

    The per-atom values of each input vector are binned and averaged -independently of the per-atom values in other input vectors.

    -

    Nbins specifies the number of spherical shells which will be created -between r_min and r_max centered at (origin_x, origin_y, origin_z).

    -
    -

    Warning

    -

    This fix works by creating an array of size Nbins by +produce global quantities. +

    +

    The per-atom values of each input vector are binned and averaged +independently of the per-atom values in other input vectors. +

    +

    Nbins specifies the number of spherical shells which will be created +between r_min and r_max centered at (origin_x, origin_y, origin_z). +

    +

    IMPORTANT NOTE: This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a -large number of bins will incur an overhead in memory and computational -cost (summing across processors), so be careful to use reasonable numbers -of bins.

    -
    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +large number of bins will incur an overhead in memory and computational +cost (summing across processors), so be careful to use reasonable numbers +of bins. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc.

    -
    -

    The origin_x, origin_y, and origin_z parameters may be specified +100,200,etc. +

    +
    + +

    The origin_x, origin_y, and origin_z parameters may be specified by either a compute or a variable. This allows, for example, the center of the spherical bins to be attached to the center of mass of a group of atoms. If a variable origin is used and periodic boundary conditions are in effect, then the origin will be wrapped across periodic boundaries whenever it changes so that it is always inside -the simulation box.

    -
    -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +the simulation box. +

    +
    + +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can -be used as inputs to this fix by using the compute property/atom command and then specifying -an input value from that compute.

    -

    The density/number value means the number density is computed in -each bin, i.e. a weighting of 1 for each atom. The density/mass +be used as inputs to this fix by using the compute +property/atom command and then specifying +an input value from that compute. +

    +

    The density/number value means the number density is computed in +each bin, i.e. a weighting of 1 for each atom. The density/mass value means the mass density is computed in each bin, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are -output. See the units command doc page for the +output. See the units command doc page for the definition of density for each choice of units, e.g. gram/cm^3. -The bin volume will always be calculated in box units, independent -of the use of the units keyword in this command.

    -

    If a value begins with “c_”, a compute ID must follow which has been +The bin volume will always be calculated in box units, independent +of the use of the units keyword in this command. +

    +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +their own compute styles and add them to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to spatially average.

    -
    -

    Additional optional keywords also affect the operation of this fix. -The region keyword was discussed above.

    -

    The norm keyword affects how averaging is done for the output -produced every Nfreq timesteps. For an all setting, a bin -quantity is summed over all atoms in all Nrepeat samples, as is the +quantities to spatially average. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +The region keyword was discussed above. +

    +

    The norm keyword affects how averaging is done for the output +produced every Nfreq timesteps. For an all setting, a bin +quantity is summed over all atoms in all Nrepeat samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over -the entire Nfreq timescale.

    -

    For a sample setting, the bin quantity is summed over atoms for only -a single sample, as is the count, and a “average sample value” is +the entire Nfreq timescale. +

    +

    For a sample setting, the bin quantity is summed over atoms for only +a single sample, as is the count, and a "average sample value" is computed, i.e. Sample-quantity / Sample-count. The printed value for -the bin is the average of the Nrepeat “average sample values”, In -other words it is an average of an average.

    -

    The ave keyword determines how the bin values produced every Nfreq +the bin is the average of the Nrepeat "average sample values", In +other words it is an average of an average. +

    +

    The ave keyword determines how the bin values produced every Nfreq steps are averaged with bin values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, then the bin values produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging.

    -

    If the ave setting is running, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, then the bin values produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging. +

    +

    If the ave setting is running, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it.

    -

    If the ave setting is window, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving “window” of time, so that the last M values for the same bin +the unfix command, or re-defining the fix by +re-specifying it. +

    +

    If the ave setting is window, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving "window" of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average -over less than M values if they are not available.

    -

    The units keyword determines the meaning of the distance units used +over less than M values if they are not available. +

    +

    The units keyword determines the meaning of the distance units used for the sphere origin and the two radial lengths. For orthogonal simulation boxes, any of the 3 options may be used. For -non-orthogonal (triclinic) simulation boxes, only the reduced option -may be used.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing.

    -
    -

    Warning

    -

    The lattice style may only be used if the lattice -spacing is the same in each direction.

    -
    -

    A reduced value means normalized unitless values between 0 and 1, +non-orthogonal (triclinic) simulation boxes, only the reduced option +may be used. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing. +

    +

    IMPORTANT NOTE: The lattice style may only be used if the lattice +spacing is the same in each direction. +

    +

    A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper faces of the simulation box -respectively. Thus an origin value of 0.5 means the center of the -box in any dimension.

    -

    The file keyword allows a filename to be specified. Every Nfreq +respectively. Thus an origin value of 0.5 means the center of the +box in any dimension. +

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID @@ -343,135 +261,82 @@ written. Then one line per bin is written, containing the bin ID the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average -quantities. If the value of the units keyword is box or -lattice, the “coord” is printed in box units. If the value of the -units keyword is reduced, the “coord” is printed in reduced units -(0-1).

    -

    The overwrite keyword will continuously overwrite the output file +quantities. If the value of the units keyword is box or +lattice, the "coord" is printed in box units. If the value of the +units keyword is reduced, the "coord" is printed in reduced units +(0-1). +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows:

    -
    # Spatial-averaged data for fix ID and group name
    -# Timestep Number-of-bins
    -# Bin r Count value1 value2 ...
    -
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows: +

    +
    # Spatial-averaged data for fix ID and group name
    +# Timestep Number-of-bins
    +# Bin r Count value1 value2 ... 
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by -just Coord.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +just Coord. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = 2+Nvalues. The first column contains the -radius at the center of the shell. For units reduced, this is in -reduced units, while for units box and lattice this is in box +radius at the center of the shell. For units reduced, this is in +reduced units, while for units box and lattice this is in box units. The next column has the count of atoms in that bin, and the remaining columns are the Nvalue quantities. When the array is accessed with an I that exceeds the current number of bins, than a 0.0 is returned by the fix instead of an error. The array values -calculated by this fix are “intensive”, since they are already -normalized by the count of atoms in each bin.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    When the ave keyword is set to running or window then the number +calculated by this fix are "intensive", since they are already +normalized by the count of atoms in each bin. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    When the ave keyword is set to running or window then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the -simulation box size doesn’t change or if the units keyword is set to -reduced.

    -

    This style is part of the USER-MISC package. It is only enabled if -LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are norm = all, ave = one, units = lattice, no -file output, and title 1,2,3 = strings as described above.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +simulation box size doesn't change or if the units keyword is set to +reduced. +

    +

    This style is part of the USER-MISC package. It is only enabled if +LAMMPS is build with that package. See the Making of +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute, fix ave/atom, fix +ave/histo, fix ave/time, +variable, fix ave/correlate, +fix ave/spatial, +

    +

    Default: +

    +

    The option defaults are norm = all, ave = one, units = lattice, no +file output, and title 1,2,3 = strings as described above. +

    + diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index 55cb2b333b..77c0fd34d8 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -1,473 +1,334 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ave/time command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ave/time command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/time = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps
    • -
    • one or more input values can be listed
    • -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
    • -
    -
    c_ID = global scalar, vector, or array calculated by a compute with ID
    +
    +
    +
    + +

    fix ave/time command +

    +

    Syntax: +

    +
    fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/time = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps + +
    • one or more input values can be listed + +
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + +
        c_ID = global scalar, vector, or array calculated by a compute with ID
         c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID
         f_ID = global scalar, vector, or array calculated by a fix with ID
         f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name
      -
    -
    -
      -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = mode or file or ave or start or off or overwrite or title1 or title2 or title3
    • -
    -
    -mode arg = scalar or vector
    +  v_name = global value calculated by an equal-style variable with name 
    +
    +
  • zero or more keyword/arg pairs may be appended + +
  • keyword = mode or file or ave or start or off or overwrite or title1 or title2 or title3 + +
      mode arg = scalar or vector
         scalar = all input values are global scalars
         vector = all input values are global vectors or global arrays
    -  ave args = one or running or window M
    +  ave args = one or running or window M
         one = output a new average value every Nfreq steps
         running = output cummulative average of all previous Nfreq steps
         window M = output average of M most recent Nfreq steps
    -  start args = Nstart
    +  start args = Nstart
         Nstart = start averaging on this timestep
    -  off arg = M = do not average this value
    +  off arg = M = do not average this value
         M = value # from 1 to Nvalues
    -  file arg = filename
    +  file arg = filename
         filename = name of file to output time averages to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    +  overwrite arg = none = overwrite output file with only latest output
    +  title1 arg = string
         string = text to print as 1st line of output file
    -  title2 arg = string
    +  title2 arg = string
         string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file, only for vector mode
    -
    -
  • -
    -

    Examples¶

    -
    fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile
    -fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 &
    -                              title1 "My output values"
    -fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more global values as inputs every few timesteps, and + title3 arg = string + string = text to print as 3rd line of output file, only for vector mode + + + +

    Examples: +

    +
    fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile
    +fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 &
    +                              title1 "My output values"
    +fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1 
    +
    +

    Description: +

    +

    Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be -used by other output commands such as -thermo_style custom, and can also be written to a +used by other output commands such as +thermo_style custom, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to -a file.

    -

    The group specified with this command is ignored. However, note that +a file. +

    +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own “group” definitions.

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own "group" definitions. +

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the fix ave/spatial, fix ave/atom, -or fix ave/histo commands. If you wish to sum a -per-atom quantity into a single global quantity, see the compute reduce command.

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +from a compute, fix, or variable, then see the fix +ave/spatial, fix ave/atom, +or fix ave/histo commands. If you wish to sum a +per-atom quantity into a single global quantity, see the compute +reduce command. +

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values.

    -

    The input values must either be all scalars or all vectors (or -arrays), depending on the setting of the mode keyword. In both +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values. +

    +

    The input values must either be all scalars or all vectors (or +arrays), depending on the setting of the mode keyword. In both cases, the averaging is performed independently on each input value. I.e. each input scalar is averaged independently and each element of -each input vector (or array) is averaged independently.

    -

    If mode = vector, then the input values may either be vectors or -arrays and all must be the same “length”, which is the length of the +each input vector (or array) is averaged independently. +

    +

    If mode = vector, then the input values may either be vectors or +arrays and all must be the same "length", which is the length of the vector or number of rows in the array. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. E.g. these 2 fix ave/time commands are equivalent, -since the compute rdf command creates, in this -case, a global array with 3 columns, each of length 50:

    -
    compute myRDF all rdf 50 1 2
    +since the compute rdf command creates, in this
    +case, a global array with 3 columns, each of length 50:
    +

    +
    compute myRDF all rdf 50 1 2
     fix 1 all ave/time 100 1 100 c_myRDF file tmp1.rdf mode vector
    -fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector
    -
    -
    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector + +


    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a mlutiple of Nfreq. The average is over Nrepeat +that are a mlutiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc.

    -
    -

    If a value begins with “c_”, a compute ID must follow which has been -previously defined in the input script. If mode = scalar, then if +100,200,etc. +

    +
    + +

    If a value begins with "c_", a compute ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If mode = +the global vector calculated by the compute is used. If mode = vector, then if no bracketed term is appended, the global vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global array -calculated by the compute is used.

    -

    Note that there is a compute reduce command +calculated by the compute is used. +

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/time. Or it can be a compute defined -not in your input script, but by thermodynamic output or other fixes such as fix nvt or fix temp/rescale. See +not in your input script, but by thermodynamic +output or other fixes such as fix +nvt or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. -Users can also write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been -previously defined in the input script. If mode = scalar, then if +Users can also write code for their own compute styles and add them +to LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If mode = vector, then +global vector calculated by the fix is used. If mode = vector, then if no bracketed term is appended, the global vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the -Ith column of the global array calculated by the fix is used.

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +Ith column of the global array calculated by the fix is used. +

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to +LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Variables can only be -used as input for mode = scalar. Only equal-style variables can be -referenced. See the variable command for details. -Note that variables of style equal define a formula which can +used as input for mode = scalar. Only equal-style variables can be +referenced. See the variable command for details. +Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to -time average.

    -
    -

    Additional optional keywords also affect the operation of this fix.

    -

    If the mode keyword is set to scalar, then all input values must -be global scalars, or elements of global vectors. If the mode -keyword is set to vector, then all input values must be global +time average. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +

    +

    If the mode keyword is set to scalar, then all input values must +be global scalars, or elements of global vectors. If the mode +keyword is set to vector, then all input values must be global vectors, or columns of global arrays. They can also be global arrays, which are converted into a series of global vectors (one per column), -as explained above.

    -

    The ave keyword determines how the values produced every Nfreq +as explained above. +

    +

    The ave keyword determines how the values produced every Nfreq steps are averaged with values produced on previous steps that were -multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, then the values produced on timesteps -that are multiples of Nfreq are independent of each other; they are -output as-is without further averaging.

    -

    If the ave setting is running, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, then the values produced on timesteps +that are multiples of Nfreq are independent of each other; they are +output as-is without further averaging. +

    +

    If the ave setting is running, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cummulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the unfix -command, or by re-defining the fix by re-specifying it.

    -

    If the ave setting is window, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving “window” of time, so that the last M values are used to +only be restarted by deleting the fix via the unfix +command, or by re-defining the fix by re-specifying it. +

    +

    If the ave setting is window, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving "window" of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available.

    -

    The start keyword specifies what timestep averaging will begin on. +values if they are not available. +

    +

    The start keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so -setting start to a larger value can avoid including a 0.0 in a -running or windowed average.

    -

    The off keyword can be used to flag any of the input values. If a +setting start to a larger value can avoid including a 0.0 in a +running or windowed average. +

    +

    The off keyword can be used to flag any of the input values. If a value is flagged, it will not be time averaged. Instead the most recent input value will always be stored and output. This is useful if one of more of the inputs produced by a compute or fix or variable are effectively constant or are simply current values. E.g. they are being written to a file with other time-averaged values for purposes -of creating well-formatted output.

    -

    The file keyword allows a filename to be specified. Every Nfreq +of creating well-formatted output. +

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, one quantity or vector of quantities is written to the file for -each input value specified in the fix ave/time command. For mode = +each input value specified in the fix ave/time command. For mode = scalar, this means a single line is written each time output is performed. Thus the file ends up to be a series of lines, i.e. one -column of numbers for each input value. For mode = vector, an array +column of numbers for each input value. For mode = vector, an array of numbers is written each time output is performed. The number of rows is the length of the input vectors, and the number of columns is the number of values. Thus the file ends up to be a series of these -array sections.

    -

    The overwrite keyword will continuously overwrite the output file +array sections. +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting. +

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 2 or 3 lines of the -output file, assuming the file keyword was used. LAMMPS uses -default values for each of these, so they do not need to be specified.

    -

    By default, these header lines are as follows for mode = scalar:

    -
    # Time-averaged data for fix ID
    -# TimeStep value1 value2 ...
    -
    -
    -

    In the first line, ID is replaced with the fix-ID. In the second line +output file, assuming the file keyword was used. LAMMPS uses +default values for each of these, so they do not need to be specified. +

    +

    By default, these header lines are as follows for mode = scalar: +

    +
    # Time-averaged data for fix ID
    +# TimeStep value1 value2 ... 
    +
    +

    In the first line, ID is replaced with the fix-ID. In the second line the values are replaced with the appropriate fields from the fix ave/time command. There is no third line in the header of the file, -so the title3 setting is ignored when mode = scalar.

    -

    By default, these header lines are as follows for mode = vector:

    -
    # Time-averaged data for fix ID
    -# TimeStep Number-of-rows
    -# Row value1 value2 ...
    -
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +so the title3 setting is ignored when mode = scalar. +

    +

    By default, these header lines are as follows for mode = vector: +

    +
    # Time-averaged data for fix ID
    +# TimeStep Number-of-rows
    +# Row value1 value2 ... 
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the -appropriate fields from the fix ave/time command.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix produces a global scalar or global vector or global array -which can be accessed by various output commands. The values can only be -accessed on timesteps that are multiples of Nfreq since that is when -averaging is performed.

    -

    A scalar is produced if only a single input value is averaged and -mode = scalar. A vector is produced if multiple input values are -averaged for mode = scalar, or a single input value for mode = +appropriate fields from the fix ave/time command. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix produces a global scalar or global vector or global array +which can be accessed by various output +commands. The values can only be +accessed on timesteps that are multiples of Nfreq since that is when +averaging is performed. +

    +

    A scalar is produced if only a single input value is averaged and +mode = scalar. A vector is produced if multiple input values are +averaged for mode = scalar, or a single input value for mode = vector. In the first case, the length of the vector is the number of inputs. In the second case, the length of the vector is the same as the length of the input vector. An array is produced if multiple -input values are averaged and mode = vector. The global array has # +input values are averaged and mode = vector. The global array has # of rows = length of the input vectors and # of columns = number of -inputs.

    -

    If the fix prouduces a scalar or vector, then the scalar and each -element of the vector can be either “intensive” or “extensive”, +inputs. +

    +

    If the fix prouduces a scalar or vector, then the scalar and each +element of the vector can be either "intensive" or "extensive", depending on whether the values contributing to the scalar or vector -element are “intensive” or “extensive”. If the fix produces an array, -then all elements in the array must be the same, either “intensive” or -“extensive”. If a compute or fix provides the value being time +element are "intensive" or "extensive". If the fix produces an array, +then all elements in the array must be the same, either "intensive" or +"extensive". If a compute or fix provides the value being time averaged, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are mode = scalar, ave = one, start = 0, no file +further info. Values produced by a variable are treated as intensive. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix ave/atom, fix +ave/spatial, fix ave/histo, +variable, fix ave/correlate, +

    +

    Default: +

    +

    The option defaults are mode = scalar, ave = one, start = 0, no file output, title 1,2,3 = strings as described above, and no off settings -for any input values.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +for any input values. +

    + diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index e053caefd0..d7c1011cec 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -1,296 +1,128 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix aveforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix aveforce command¶

    -
    -
    -

    fix aveforce/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID aveforce fx fy fz keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • aveforce = style name of this fix command
    • -
    • fx,fy,fz = force component values (force units)
    • -
    -
    any of fx,fy,fz can be a variable (see below)
    -
    -
    -
      -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = region
    • -
    -
    -region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    -
    -
    -
    -

    Examples¶

    -
    fix pressdown topwall aveforce 0.0 -1.0 0.0
    +
    +
    +
    + +

    fix aveforce command +

    +

    fix aveforce/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID aveforce fx fy fz keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • aveforce = style name of this fix command + +
    • fx,fy,fz = force component values (force units) + +
        any of fx,fy,fz can be a variable (see below) 
      +
      +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = region + +
        region value = region-ID
      +    region-ID = ID of region atoms must be in to have added force 
      +
      + +
    +

    Examples: +

    +
    fix pressdown topwall aveforce 0.0 -1.0 0.0
     fix 2 bottomwall aveforce NULL -1.0 0.0 region top
    -fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top
    -
    -
    -
    -
    -

    Description¶

    -

    Apply an additional external force to a group of atoms in such a way +fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top + +

    Description: +

    +

    Apply an additional external force to a group of atoms in such a way that every atom experiences the same force. This is useful for pushing on wall or boundary atoms so that the structure of the wall -does not change over time.

    -

    The existing force is averaged for the group of atoms, component by +does not change over time. +

    +

    The existing force is averaged for the group of atoms, component by component. The actual force on each atom is then set to the average value plus the component specified in this command. This means each -atom in the group receives the same force.

    -

    Any of the fx,fy,fz values can be specified as NULL which means the +atom in the group receives the same force. +

    +

    Any of the fx,fy,fz values can be specified as NULL which means the force in that dimension is not changed. Note that this is not the same as specifying a 0.0 value, since that sets all forces to the same -average value without adding in any additional force.

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style variable, namely fx, fy, fz. +average value without adding in any additional force. +

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style variable, namely fx, fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average -force.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +force. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent average force.

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it.

    -
    -

    Styles with a cuda suffix are functionally the same as the +time. Thus it is easy to specify a time-dependent average force. +

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the iteration count during the minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix setforce, fix addforce +

    +

    Default: none +

    + diff --git a/doc/fix_balance.html b/doc/fix_balance.html index 92b84a5720..5634916d21 100644 --- a/doc/fix_balance.html +++ b/doc/fix_balance.html @@ -1,218 +1,103 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix balance command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix balance command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID balance Nfreq thresh style args keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • balance = style name of this fix command
    • -
    • Nfreq = perform dynamic load balancing every this many steps
    • -
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance
    • -
    • style = shift or rcb
    • -
    -
    shift args = dimstr Niter stopthresh
    -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
    +
    +
    +
    + +

    fix balance command +

    +

    Syntax: +

    +
    fix ID group-ID balance Nfreq thresh style args keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • balance = style name of this fix command + +
    • Nfreq = perform dynamic load balancing every this many steps + +
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance + +
    • style = shift or rcb + +
        shift args = dimstr Niter stopthresh
      +    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
           Niter = # of times to iterate within each dimension of dimstr sequence
           stopthresh = stop balancing when this imbalance threshhold is reached
      -  rcb args = none
      -
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = out
    • -
    -
    -out value = filename
    -    filename = write each processor's sub-domain to a file, at each re-balancing
    -
    -
    -
    -

    Examples¶

    -
    fix 2 all balance 1000 1.05 shift x 10 1.05
    +  rcb args = none 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = out + +
      out value = filename
    +    filename = write each processor's sub-domain to a file, at each re-balancing 
    +
    + + +

    Examples: +

    +
    fix 2 all balance 1000 1.05 shift x 10 1.05
     fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance
    -fix 2 all balance 1000 1.1 rcb
    -
  • -
    -
    -
    -

    Description¶

    -

    This command adjusts the size and shape of processor sub-domains +fix 2 all balance 1000 1.1 rcb + +

    Description: +

    +

    This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across -processors. The load balancing is “dynamic” in the sense that +processors. The load balancing is "dynamic" in the sense that rebalancing is performed periodically during the simulation. To -perform “static” balancing, before or between runs, see the -balance command.

    -

    Load-balancing is typically only useful if the particles in the +perform "static" balancing, before or between runs, see the +balance command. +

    +

    Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per processor, may assign very different numbers of particles per processor. This can lead to -poor performance when the simulation is run in parallel.

    -

    Note that the processors command allows some control +poor performance when the simulation is run in parallel. +

    +

    Note that the processors command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume.

    -

    On a particular timestep, a load-balancing operation is only performed -if the current “imbalance factor” in particles owned by each processor -exceeds the specified thresh parameter. The imbalance factor is +sub-domains will still have the same shape and same volume. +

    +

    On a particular timestep, a load-balancing operation is only performed +if the current "imbalance factor" in particles owned by each processor +exceeds the specified thresh parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an -imbalance factor of 1.0 is perfect balance.

    -

    As an example, for 10000 particles running on 10 processors, if the +imbalance factor of 1.0 is perfect balance. +

    +

    As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that re-balances can be forced even if the current balance is perfect (1.0) be specifying a -thresh < 1.0.

    -
    -

    Warning

    -

    This command attempts to minimize the imbalance +thresh < 1.0. +

    +

    IMPORTANT NOTE: This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect -balance (1.0) may not be achieved. For example, “grid” methods +balance (1.0) may not be achieved. For example, "grid" methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the initial system is -generated by the create_atoms command, then “grid” +generated by the create_atoms command, then "grid" methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single -processor.

    -
    -
    -

    Warning

    -

    The imbalance factor is also an estimate of the +processor. +

    +

    IMPORTANT NOTE: The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were @@ -220,103 +105,91 @@ perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM -solver used via the kspace_style command. Thus +solver used via the kspace_style command. Thus you should benchmark the run times of a simulation before and after -balancing.

    -
    -
    -

    The method used to perform a load balance is specified by one of the +balancing. +

    +
    + +

    The method used to perform a load balance is specified by one of the listed styles, which are described in detail below. There are 2 kinds -of styles.

    -

    The shift style is a “grid” method which produces a logical 3d grid +of styles. +

    +

    The shift style is a "grid" method which produces a logical 3d grid of processors. It operates by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for each of 16 -processors); the middle diagram is after a “grid” method has been -applied.

    - - - -

    The rcb style is a “tiling” method which does not produce a logical +processors); the middle diagram is after a "grid" method has been +applied. +

    +
    +
    +

    The rcb style is a "tiling" method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as -in the rightmost diagram above.

    -

    The “grid” methods can be used with either of the -comm_style command options, brick or tiled. The -“tiling” methods can only be used with comm_style tiled.

    -

    When a “grid” method is specified, the current domain partitioning can +in the rightmost diagram above. +

    +

    The "grid" methods can be used with either of the +comm_style command options, brick or tiled. The +"tiling" methods can only be used with comm_style +tiled. +

    +

    When a "grid" method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This is the starting point -for the balancing operation.

    -

    When a “tiling” method is specified, the current domain partitioning -(“grid” or “tiled”) is ignored, and a new partitioning is computed -from scratch.

    -
    -

    The group-ID is currently ignored. In the future it may be used to +for the balancing operation. +

    +

    When a "tiling" method is specified, the current domain partitioning +("grid" or "tiled") is ignored, and a new partitioning is computed +from scratch. +

    +
    + +

    The group-ID is currently ignored. In the future it may be used to determine what particles are considered for balancing. Normally it -would only makes sense to use the all group. But in some cases it +would only makes sense to use the all group. But in some cases it may be useful to balance on a subset of the particles, e.g. when modeling large nanoparticles in a background of small solvent -particles.

    -

    The Nfreq setting determines how often a rebalance is performed. If -Nfreq > 0, then rebalancing will occur every Nfreq steps. Each -time a rebalance occurs, a reneighboring is triggered, so Nfreq -should not be too small. If Nfreq = 0, then rebalancing will be +particles. +

    +

    The Nfreq setting determines how often a rebalance is performed. If +Nfreq > 0, then rebalancing will occur every Nfreq steps. Each +time a rebalance occurs, a reneighboring is triggered, so Nfreq +should not be too small. If Nfreq = 0, then rebalancing will be done every time reneighboring normally occurs, as determined by the -the neighbor and neigh_modify -command settings.

    -

    On rebalance steps, rebalancing will only be attempted if the current -imbalance factor, as defined above, exceeds the thresh setting.

    -
    -

    The shift style invokes a “grid” method for balancing, as described +the neighbor and neigh_modify +command settings. +

    +

    On rebalance steps, rebalancing will only be attempted if the current +imbalance factor, as defined above, exceeds the thresh setting. +

    +
    + +

    The shift style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors -in an iterative fashion, seeking to reduce the imbalance factor.

    -

    The dimstr argument is a string of characters, each of which must be -an “x” or “y” or “z”. Eacn character can appear zero or one time, +in an iterative fashion, seeking to reduce the imbalance factor. +

    +

    The dimstr argument is a string of characters, each of which must be +an "x" or "y" or "z". Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there -to be a density variation in the particles.

    -

    Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in dimstr, one dimension at a time. For a single +to be a density variation in the particles. +

    +

    Balancing proceeds by adjusting the cutting planes in each of the +dimensions listed in dimstr, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up -to Niter times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the stopthresh -criterion is met.

    -

    A rebalance operation in a single dimension is performed using a +to Niter times. After each dimension finishes, the imbalance factor +is re-computed, and the balancing operation halts if the stopthresh +criterion is met. +

    +

    A rebalance operation in a single dimension is performed using a density-dependent recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning @@ -331,40 +204,43 @@ the position of the cut is adjusted based on the local density. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recursion progresses, the count of particles on either side of the -plane gets closer to the target value.

    -

    The density-dependent part of this algorithm is often an advantage +plane gets closer to the target value. +

    +

    The density-dependent part of this algorithm is often an advantage when you rebalance a system that is already nearly balanced. It typically converges more quickly than the geometric bisectioning -algorithm used by the balance command. However, if can +algorithm used by the balance command. However, if can be a disadvantage if you attempt to rebalance a system that is far from balanced, and converge more slowly. In this case you probably -want to use the balance command before starting a run, -so that you begin the run with a balanced system.

    -

    Once the rebalancing is complete and final processor sub-domains +want to use the balance command before starting a run, +so that you begin the run with a balanced system. +

    +

    Once the rebalancing is complete and final processor sub-domains assigned, particles migrate to their new owning processor as part of -the normal reneighboring procedure.

    -
    -

    Warning

    -

    At each rebalance operation, the bisectioning for each +the normal reneighboring procedure. +

    +

    IMPORTANT NOTE: At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds -separated by the extent of a processor’s sub-domain in one dimension. +separated by the extent of a processor's sub-domain in one dimension. The size of this bracketing region shrinks based on the local density, as described above, which should typically be 1/2 or more every -iteration. Thus if Niter is specified as 10, the cutting plane will +iteration. Thus if Niter is specified as 10, the cutting plane will typically be positioned to better than 1 part in 1000 accuracy -(relative to the perfect target position). For Niter = 20, it will +(relative to the perfect target position). For Niter = 20, it will be accurate to better than 1 part in a million. Thus there is no need -to set Niter to a large value. This is especially true if you are +to set Niter to a large value. This is especially true if you are rebalancing often enough that each time you expect only an incremental adjustement in the cutting planes is necessary. LAMMPS will check if the threshold accuracy is reached (in a dimension) is less iterations -than Niter and exit early.

    -
    -
    -

    The rcb style invokes a “tiled” method for balancing, as described +than Niter and exit early. +

    +
    + +

    The rcb style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows.

    -

    The simulation domain is cut into 2 boxes by an axis-aligned cut in +simulation domain. The basic idea is as follows. +

    +

    The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the @@ -375,23 +251,27 @@ box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors -at each iteration.

    -

    That is the procedure for the first cut. Subsequent cuts are made +at each iteration. +

    +

    That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms -in that sub-box.

    -
    -

    The out keyword writes a text file to the specified filename with +in that sub-box. +

    +
    + +

    The out keyword writes a text file to the specified filename with the results of each rebalancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the -Pizza.py mdump tool which has support for manipulating and +Pizza.py mdump tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem:

    -
    ITEM: TIMESTEP
    +processors for a 2d problem:
    +

    +
    ITEM: TIMESTEP
     0
     ITEM: NUMBER OF NODES
     16
    @@ -424,112 +304,58 @@ ITEM: SQUARES
     1 1 1 2 3 4
     2 1 5 6 7 8
     3 1 9 10 11 12
    -4 1 13 14 15 16
    -
    -
    -

    The coordinates of all the vertices are listed in the NODES section, 5 +4 1 13 14 15 16 + +

    The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list.

    -

    The “SQUARES” section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4).

    -

    For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and “SQUARES” replaced by “CUBES”.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which is the imbalance factor +will be duplicate nodes in the list. +

    +

    The "SQUARES" section lists the node IDs of the 4 vertices in a +rectangle for each processor (1 to 4). +

    +

    For a 3d problem, the syntax is similar with 8 vertices listed for +each processor, instead of 4, and "SQUARES" replaced by "CUBES". +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which is the imbalance factor after the most recent rebalance and a global vector of length 3 with additional information about the most recent rebalancing. The 3 -values in the vector are as follows:

    -
      -
    • 1 = max # of particles per processor
    • -
    • 2 = total # iterations performed in last rebalance
    • -
    • 3 = imbalance factor right before the last rebalance was performed
    • -
    -

    As explained above, the imbalance factor is the ratio of the maximum +values in the vector are as follows: +

    +
    • 1 = max # of particles per processor +
    • 2 = total # iterations performed in last rebalance +
    • 3 = imbalance factor right before the last rebalance was performed +
    +

    As explained above, the imbalance factor is the ratio of the maximum number of particles on any processor to the average number of -particles per processor.

    -

    These quantities can be accessed by various output commands. The scalar and vector values -calculated by this fix are “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -
    -

    Restrictions¶

    -

    For 2d simulations, a “z” cannot appear in dimstr for the shift -style.

    -
    - -
    +particles per processor. +

    +

    These quantities can be accessed by various output +commands. The scalar and vector values +calculated by this fix are "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    For 2d simulations, a "z" cannot appear in dimstr for the shift +style. +

    +

    Related commands: +

    +

    processors, balance +

    +

    Default: none +

    + diff --git a/doc/fix_bond_break.html b/doc/fix_bond_break.html index fab486b284..2bb8d5e667 100644 --- a/doc/fix_bond_break.html +++ b/doc/fix_bond_break.html @@ -1,328 +1,158 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix bond/break command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix bond/break command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID bond/break Nevery bondtype Rmax keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • bond/break = style name of this fix command
    • -
    • Nevery = attempt bond breaking every this many steps
    • -
    • bondtype = type of bonds to break
    • -
    • Rmax = bond longer than Rmax can break (distance units)
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = prob
    • -
    -
    -prob values = fraction seed
    +
    +
    +
    + +

    fix bond/break command +

    +

    Syntax: +

    +
    fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • bond/break = style name of this fix command + +
    • Nevery = attempt bond breaking every this many steps + +
    • bondtype = type of bonds to break + +
    • Rmax = bond longer than Rmax can break (distance units) + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = prob + +
        prob values = fraction seed
           fraction = break a bond with this probability if otherwise eligible
      -    seed = random number seed (positive integer)
      -
      -
    -
    -

    Examples¶

    -
    fix 5 all bond/break 10 2 1.2
    -fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829
    -
    -
    -
    -
    -

    Description¶

    -

    Break bonds between pairs of atoms as a simulation runs according to + seed = random number seed (positive integer) + + + +

    Examples: +

    +
    fix 5 all bond/break 10 2 1.2
    +fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 
    +
    +

    Description: +

    +

    Break bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model the dissolution of a polymer network due to stretching of the simulation box or other deformations. In this context, a bond means an interaction between a -pair of atoms computed by the bond_style command. +pair of atoms computed by the bond_style command. Once the bond is broken it will be permanently deleted, as will all -angle, dihedral, and improper interactions that bond is part of.

    -

    This is different than a pairwise bond-order +angle, dihedral, and improper interactions that bond is part of. +

    +

    This is different than a pairwise bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move.

    -

    A check for possible bond breakage is performed every Nevery -timesteps. If two bonded atoms I,J are further than a distance Rmax -of each other, if the bond is of type bondtype, and if both I and J -are in the specified fix group, then I,J is labeled as a “possible” -bond to break.

    -

    If several bonds involving an atom are stretched, it may have multiple +interactions from timestep to timestep as atoms move. +

    +

    A check for possible bond breakage is performed every Nevery +timesteps. If two bonded atoms I,J are further than a distance Rmax +of each other, if the bond is of type bondtype, and if both I and J +are in the specified fix group, then I,J is labeled as a "possible" +bond to break. +

    +

    If several bonds involving an atom are stretched, it may have multiple possible bonds to break. Every atom checks its list of possible bonds -to break and labels the longest such bond as its “sole” bond to break. +to break and labels the longest such bond as its "sole" bond to break. After this is done, if atom I is bonded to atom J in its sole bond, and atom J is bonded to atom I in its sole bond, then the I,J bond is -“eligible” to be broken.

    -

    Note that these rules mean an atom will only be part of at most one +"eligible" to be broken. +

    +

    Note that these rules mean an atom will only be part of at most one broken bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its sole -partner (due to Rjk > Rij), then this means atom I will not be part of +partner (due to Rjk > Rij), then this means atom I will not be part of a broken bond on this timestep, even if it has other possible bond -partners.

    -

    The prob keyword can effect whether an eligible bond is actually -broken. The fraction setting must be a value between 0.0 and 1.0. +partners. +

    +

    The prob keyword can effect whether an eligible bond is actually +broken. The fraction setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and the -eligible bond is only broken if the random number < fraction.

    -

    When a bond is broken, data structures within LAMMPS that store bond +eligible bond is only broken if the random number < fraction. +

    +

    When a bond is broken, data structures within LAMMPS that store bond topology are updated to reflect the breakage. Likewise, if the bond is part of a 3-body (angle) or 4-body (dihedral, improper) interaction, that interaction is removed as well. These changes typically affect pairwise interactions between atoms that used to be -part of bonds, angles, etc.

    -
    -

    Warning

    -

    One data structure that is not updated when a bond +part of bonds, angles, etc. +

    +

    IMPORTANT NOTE: One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though one molecule becomes two moleclues due to the broken bond, all atoms -in both new moleclues retain their original molecule IDs.

    -
    -

    Computationally, each timestep this fix operates, it loops over all +in both new moleclues retain their original molecule IDs. +

    +

    Computationally, each timestep this fix operates, it loops over all the bonds in the system and computes distances between pairs of bonded atoms. It also communicates between neighboring processors to coordinate which bonds are broken. Moreover, if any bonds are broken, neighbor lists must be immediately updated on the same timestep. This -is to insure that any pairwise interactions that should be turned “on” +is to insure that any pairwise interactions that should be turned "on" due to a bond breaking, because they are no longer excluded by the presence of the bond and the settings of the -special_bonds command, will be immediately +special_bonds command, will be immediately recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently.

    -

    You can dump out snapshots of the current bond topology via the dump local command.

    -
    -

    Warning

    -

    Breaking a bond typically alters the energy of a +Thus you should be cautious about invoking this fix too frequently. +

    +

    You can dump out snapshots of the current bond topology via the dump +local command. +

    +

    IMPORTANT NOTE: Breaking a bond typically alters the energy of a system. You should be careful not to choose bond breaking criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and break it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will be dramatically released when the bond is broken. More generally, you may need to thermostat your system to compensate for energy changes -resulting from broken bonds (and angles, dihedrals, impropers).

    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various output commands. The vector values calculated -by this fix are “intensive”.

    -

    These are the 2 quantities:

    -
      -
      1. -
      2. # of bonds broken on the most recent breakage timestep
      3. -
      -
    • -
      1. -
      2. cummulative # of bonds broken
      3. -
      -
    • -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are prob = 1.0.

    -
    -
    +resulting from broken bonds (and angles, dihedrals, impropers). +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes two statistics which it stores in a global vector of +length 2, which can be accessed by various output +commands. The vector values calculated +by this fix are "intensive". +

    +

    These are the 2 quantities: +

    +
    • (1) # of bonds broken on the most recent breakage timestep +
    • (2) cummulative # of bonds broken +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix bond/create, fix +bond/swap, dump local, +special_bonds +

    +

    Default: +

    +

    The option defaults are prob = 1.0. +

    + diff --git a/doc/fix_bond_create.html b/doc/fix_bond_create.html index 07ff6811ee..f0cd61dbad 100644 --- a/doc/fix_bond_create.html +++ b/doc/fix_bond_create.html @@ -1,425 +1,256 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix bond/create command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix bond/create command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • bond/create = style name of this fix command
    • -
    • Nevery = attempt bond creation every this many steps
    • -
    • itype,jtype = atoms of itype can bond to atoms of jtype
    • -
    • Rmin = 2 atoms separated by less than Rmin can bond (distance units)
    • -
    • bondtype = type of created bonds
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = iparam or jparam or prob or atype or dtype or itype
    • -
    -
    -iparam values = maxbond, newtype
    +
    +
    +
    + +

    fix bond/create command +

    +

    Syntax: +

    +
    fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • bond/create = style name of this fix command + +
    • Nevery = attempt bond creation every this many steps + +
    • itype,jtype = atoms of itype can bond to atoms of jtype + +
    • Rmin = 2 atoms separated by less than Rmin can bond (distance units) + +
    • bondtype = type of created bonds + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = iparam or jparam or prob or atype or dtype or itype + +
        iparam values = maxbond, newtype
           maxbond = max # of bonds of bondtype the itype atom can have
           newtype = change the itype atom to this type when maxbonds exist
      -  jparam values = maxbond, newtype
      +  jparam values = maxbond, newtype
           maxbond = max # of bonds of bondtype the jtype atom can have
           newtype = change the jtype atom to this type when maxbonds exist
      -  prob values = fraction seed
      +  prob values = fraction seed
           fraction = create a bond with this probability if otherwise eligible
           seed = random number seed (positive integer)
      -  atype value = angletype
      +  atype value = angletype
           angletype = type of created angles
      -  dtype value = dihedraltype
      +  dtype value = dihedraltype
           dihedraltype = type of created dihedrals
      -  itype value = impropertype
      -    impropertype = type of created impropers
      -
      -
    -
    -

    Examples¶

    -
    fix 5 all bond/create 10 1 2 0.8 1
    +  itype value = impropertype
    +    impropertype = type of created impropers 
    +
    + + +

    Examples: +

    +
    fix 5 all bond/create 10 1 2 0.8 1
     fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3
    -fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2
    -
    -
    -
    -
    -

    Description¶

    -

    Create bonds between pairs of atoms as a simulation runs according to +fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2 + +

    Description: +

    +

    Create bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model cross-linking of polymers, the formation of a percolation network, etc. In this context, a bond means an interaction between a pair of atoms computed -by the bond_style command. Once the bond is created +by the bond_style command. Once the bond is created it will be permanently in place. Optionally, the creation of a bond can also create angle, dihedral, and improper interactions that bond -is part of. See the discussion of the atype, dtype, and itype -keywords below.

    -

    This is different than a pairwise bond-order +is part of. See the discussion of the atype, dtype, and itype +keywords below. +

    +

    This is different than a pairwise bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move.

    -

    A check for possible new bonds is performed every Nevery timesteps. -If two atoms I,J are within a distance Rmin of each other, if I is -of atom type itype, if J is of atom type jtype, if both I and J +interactions from timestep to timestep as atoms move. +

    +

    A check for possible new bonds is performed every Nevery timesteps. +If two atoms I,J are within a distance Rmin of each other, if I is +of atom type itype, if J is of atom type jtype, if both I and J are in the specified fix group, if a bond does not already exist -between I and J, and if both I and J meet their respective maxbond -requirement (explained below), then I,J is labeled as a “possible” -bond pair.

    -

    If several atoms are close to an atom, it may have multiple possible +between I and J, and if both I and J meet their respective maxbond +requirement (explained below), then I,J is labeled as a "possible" +bond pair. +

    +

    If several atoms are close to an atom, it may have multiple possible bond partners. Every atom checks its list of possible bond partners -and labels the closest such partner as its “sole” bond partner. After +and labels the closest such partner as its "sole" bond partner. After this is done, if atom I has atom J as its sole partner, and atom J has -atom I as its sole partner, then the I,J bond is “eligible” to be -formed.

    -

    Note that these rules mean an atom will only be part of at most one +atom I as its sole partner, then the I,J bond is "eligible" to be +formed. +

    +

    Note that these rules mean an atom will only be part of at most one created bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its -sole partner (due to Rjk < Rij), then this means atom I will not form -a bond on this timestep, even if it has other possible bond partners.

    -

    It is permissible to have itype = jtype. Rmin must be <= the -pairwise cutoff distance between itype and jtype atoms, as defined -by the pair_style command.

    -

    The iparam and jparam keywords can be used to limit the bonding +sole partner (due to Rjk < Rij), then this means atom I will not form +a bond on this timestep, even if it has other possible bond partners. +

    +

    It is permissible to have itype = jtype. Rmin must be <= the +pairwise cutoff distance between itype and jtype atoms, as defined +by the pair_style command. +

    +

    The iparam and jparam keywords can be used to limit the bonding functionality of the participating atoms. Each atom keeps track of -how many bonds of bondtype it already has. If atom I of -itype already has maxbond bonds (as set by the iparam +how many bonds of bondtype it already has. If atom I of +itype already has maxbond bonds (as set by the iparam keyword), then it will not form any more. Likewise for atom J. If -maxbond is set to 0, then there is no limit on the number of bonds -that can be formed with that atom.

    -

    The newtype value for iparam and jparam can be used to change -the atom type of atom I or J when it reaches maxbond number of bonds -of type bondtype. This means it can now interact in a pairwise +maxbond is set to 0, then there is no limit on the number of bonds +that can be formed with that atom. +

    +

    The newtype value for iparam and jparam can be used to change +the atom type of atom I or J when it reaches maxbond number of bonds +of type bondtype. This means it can now interact in a pairwise fashion with other atoms in a different way by specifying different -pair_coeff coefficients. If you do not wish the -atom type to change, simply specify newtype as itype or jtype.

    -

    The prob keyword can also effect whether an eligible bond is -actually created. The fraction setting must be a value between 0.0 +pair_coeff coefficients. If you do not wish the +atom type to change, simply specify newtype as itype or jtype. +

    +

    The prob keyword can also effect whether an eligible bond is +actually created. The fraction setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and -the eligible bond is only created if the random number < fraction.

    -

    Any bond that is created is assigned a bond type of bondtype

    -

    When a bond is created, data structures within LAMMPS that store bond +the eligible bond is only created if the random number < fraction. +

    +

    Any bond that is created is assigned a bond type of bondtype +

    +

    When a bond is created, data structures within LAMMPS that store bond topology are updated to reflect the creation. If the bond is part of new 3-body (angle) or 4-body (dihedral, improper) interactions, you can choose to create new angles, dihedrals, impropers as well, using -the atype, dtype, and itype keywords. All of these changes +the atype, dtype, and itype keywords. All of these changes typically affect pairwise interactions between atoms that are now part -of new bonds, angles, etc.

    -
    -

    Warning

    -

    One data structure that is not updated when a bond +of new bonds, angles, etc. +

    +

    IMPORTANT NOTE: One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though two molecules become one moleclue due to the created bond, all atoms in -the new moleclue retain their original molecule IDs.

    -
    -

    If the atype keyword is used and if an angle potential is defined -via the angle_style command, then any new 3-body +the new moleclue retain their original molecule IDs. +

    +

    If the atype keyword is used and if an angle potential is defined +via the angle_style command, then any new 3-body interactions inferred by the creation of a bond will create new angles -of type angletype, with parameters assigned by the corresponding -angle_coeff command. Likewise, the dtype and -itype keywords will create new dihedrals and impropers of type -dihedraltype and impropertype.

    -
    -

    Warning

    -

    To create a new bond, the internal LAMMPS data +of type angletype, with parameters assigned by the corresponding +angle_coeff command. Likewise, the dtype and +itype keywords will create new dihedrals and impropers of type +dihedraltype and impropertype. +

    +

    IMPORTANT NOTE: To create a new bond, the internal LAMMPS data structures that store this information must have space for it. When LAMMPS is initialized from a data file, the list of bonds is scanned and the maximum number of bonds per atom is tallied. If some atom will acquire more bonds than this limit as this fix operates, then the -“extra bond per atom” parameter must be set to allow for it. Ditto -for “extra angle per atom”, “extra dihedral per atom”, and “extra -improper per atom” if angles, dihedrals, or impropers are being added -when bonds are created. See the read_data or -create_box command for more details. Note that a +"extra bond per atom" parameter must be set to allow for it. Ditto +for "extra angle per atom", "extra dihedral per atom", and "extra +improper per atom" if angles, dihedrals, or impropers are being added +when bonds are created. See the read_data or +create_box command for more details. Note that a data file with no atoms can be used if you wish to add unbonded atoms -via the create atoms command, e.g. for a -percolation simulation.

    -
    -
    -

    Warning

    -

    LAMMPS stores and maintains a data structure with a +via the create atoms command, e.g. for a +percolation simulation. +

    +

    IMPORTANT NOTE: LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system) for use in weighting pairwise interactions for bonded atoms. Note that adding a single bond always adds a new 1st -neighbor but may also induce many new 2nd and 3rd neighbors, -depending on the molecular topology of your system. The “extra -special per atom” parameter must typically be set to allow for the new +neighbor but may also induce *many* new 2nd and 3rd neighbors, +depending on the molecular topology of your system. The "extra +special per atom" parameter must typically be set to allow for the new maximum total size (1st + 2nd + 3rd neighbors) of this per-atom list. -There are 3 ways to do this. See the read_data or -create_box or “special_bonds extra” commands for -details.

    -
    -
    -

    Warning

    -

    Even if you do not use the atype, dtype, or -itype keywords, the list of topological neighbors is updated for +There are 3 ways to do this. See the read_data or +create_box or "special_bonds extra" commands for +details. +

    +

    IMPORTANT NOTE: Even if you do not use the atype, dtype, or +itype keywords, the list of topological neighbors is updated for atoms affected by the new bond. This in turn affects which neighbors are considered for pairwise interactions, using the weighting rules -set by the special_bonds command. Consider a new +set by the special_bonds command. Consider a new bond created between atoms I,J. If J has a bonded neighbor K, then K -becomes a 2nd neighbor of I. Even if the atype keyword is not used +becomes a 2nd neighbor of I. Even if the atype keyword is not used to create angle I-J-K, the pairwise interaction between I and K will be potentially turned off or weighted by the 1-3 weighting specified -by the special_bonds command. This is the case -even if the “angle yes” option was used with that command. The same -is true for 3rd neighbors (1-4 interactions), the dtype keyword, and -the “dihedral yes” option used with the -special_bonds command.

    -
    -

    Note that even if your simulation starts with no bonds, you must -define a bond_style and use the -bond_coeff command to specify coefficients for the -bondtype. Similarly, if new atom types are specified by the -iparam or jparam keywords, they must be within the range of atom +by the special_bonds command. This is the case +even if the "angle yes" option was used with that command. The same +is true for 3rd neighbors (1-4 interactions), the dtype keyword, and +the "dihedral yes" option used with the +special_bonds command. +

    +

    Note that even if your simulation starts with no bonds, you must +define a bond_style and use the +bond_coeff command to specify coefficients for the +bondtype. Similarly, if new atom types are specified by the +iparam or jparam keywords, they must be within the range of atom types allowed by the simulation and pairwise coefficients must be -specified for the new types.

    -

    Computationally, each timestep this fix operates, it loops over +specified for the new types. +

    +

    Computationally, each timestep this fix operates, it loops over neighbor lists and computes distances between pairs of atoms in the list. It also communicates between neighboring processors to coordinate which bonds are created. Moreover, if any bonds are created, neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that -should be turned “off” due to a bond creation, because they are now +should be turned "off" due to a bond creation, because they are now excluded by the presence of the bond and the settings of the -special_bonds command, will be immediately +special_bonds command, will be immediately recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently.

    -

    You can dump out snapshots of the current bond topology via the dump local command.

    -
    -

    Warning

    -

    Creating a bond typically alters the energy of a +Thus you should be cautious about invoking this fix too frequently. +

    +

    You can dump out snapshots of the current bond topology via the dump +local command. +

    +

    IMPORTANT NOTE: Creating a bond typically alters the energy of a system. You should be careful not to choose bond creation criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and create it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will oscillate dramatically when the bond is formed. More generally, you may need to thermostat your system to compensate for energy changes -resulting from created bonds (and angles, dihedrals, impropers).

    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various output commands. The vector values calculated -by this fix are “intensive”.

    -

    These are the 2 quantities:

    -
      -
      1. -
      2. # of bonds created on the most recent creation timestep
      3. -
      -
    • -
      1. -
      2. cummulative # of bonds created
      3. -
      -
    • -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are iparam = (0,itype), jparam = (0,jtype), and -prob = 1.0.

    -
    -
    +resulting from created bonds (and angles, dihedrals, impropers). +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes two statistics which it stores in a global vector of +length 2, which can be accessed by various output +commands. The vector values calculated +by this fix are "intensive". +

    +

    These are the 2 quantities: +

    +
    • (1) # of bonds created on the most recent creation timestep +
    • (2) cummulative # of bonds created +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix bond/break, fix +bond/swap, dump local, +special_bonds +

    +

    Default: +

    +

    The option defaults are iparam = (0,itype), jparam = (0,jtype), and +prob = 1.0. +

    + diff --git a/doc/fix_bond_swap.html b/doc/fix_bond_swap.html index d97fca06aa..fbf2288613 100644 --- a/doc/fix_bond_swap.html +++ b/doc/fix_bond_swap.html @@ -1,154 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix bond/swap command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix bond/swap command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID bond/swap Nevery fraction cutoff seed
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • bond/swap = style name of this fix command
    • -
    • Nevery = attempt bond swapping every this many steps
    • -
    • fraction = fraction of group atoms to consider for swapping
    • -
    • cutoff = distance at which swapping will be considered (distance units)
    • -
    • seed = random # seed (positive integer)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all bond/swap 50 0.5 1.3 598934
    -
    -
    -
    -
    -

    Description¶

    -

    In a simulation of polymer chains, this command attempts to swap bonds + + +


    + +

    fix bond/swap command +

    +

    Syntax: +

    +
    fix ID group-ID bond/swap Nevery fraction cutoff seed 
    +
    +
    • ID, group-ID are documented in fix command +
    • bond/swap = style name of this fix command +
    • Nevery = attempt bond swapping every this many steps +
    • fraction = fraction of group atoms to consider for swapping +
    • cutoff = distance at which swapping will be considered (distance units) +
    • seed = random # seed (positive integer) +
    +

    Examples: +

    +
    fix 1 all bond/swap 50 0.5 1.3 598934 
    +
    +

    Description: +

    +

    In a simulation of polymer chains, this command attempts to swap bonds between two different chains, effectively grafting the end of one chain onto another chain and vice versa. This is done via Monte Carlo rules using the Boltzmann acceptance criterion. The purpose is to @@ -157,47 +37,54 @@ alone would do it, by enabling instantaneous large conformational changes in a dense polymer melt. The polymer chains should thus more rapidly converge to the proper end-to-end distances and radii of gyration. It is designed for use with systems of -FENE or harmonic bead-spring +FENE or harmonic bead-spring polymer chains where each polymer is a linear chain of monomers, but LAMMPS does not enforce this requirement, i.e. any -bond_style can be used.

    -

    A schematic of the kinds of bond swaps that can occur is shown here:

    -_images/bondswap.jpg -

    On the left, the red and blue chains have two monomers A1 and B1 close +bond_style can be used. +

    +

    A schematic of the kinds of bond swaps that can occur is shown here: +

    +
    +
    +

    On the left, the red and blue chains have two monomers A1 and B1 close to each other, which are currently bonded to monomers A2 and B2 respectively within their own chains. The bond swap operation will attempt to delete the A1-A2 and B1-B2 bonds and replace them with A1-B2 and B1-A2 bonds. If the swap is energetically favorable, the two chains on the right are the result and each polymer chain has undergone a dramatic conformational change. This reference, -(Sides) provides more details on how the algorithm works and -its application:

    -

    The bond swapping operation is invoked every Nevery timesteps. If +(Sides) provides more details on how the algorithm works and +its application: +

    +

    The bond swapping operation is invoked every Nevery timesteps. If any bond is swapped, a re-build of the neighbor lists is triggered, since a swap alters the list of which neighbors are considered for pairwise interaction. At each invocation, each processor considers a -random specified fraction of its atoms as potential swapping -monomers for this timestep. Choosing a small fraction value can +random specified fraction of its atoms as potential swapping +monomers for this timestep. Choosing a small fraction value can reduce the likelihood of a reverse swap occurring soon after an -initial swap.

    -

    For each monomer A1, its neighbors are examined to find a possible B1 +initial swap. +

    +

    For each monomer A1, its neighbors are examined to find a possible B1 monomer. Both A1 and B1 must be in the fix group, their separation -must be less than the specified cutoff, and the molecule IDs of A1 +must be less than the specified cutoff, and the molecule IDs of A1 and B1 must be the same (see below). If a suitable partner is found, the energy change due to swapping the 2 bonds is computed. This includes changes in pairwise, bond, and angle energies due to the altered connectivity of the 2 chains. Dihedral and improper -interactions are not allowed to be defined when this fix is used.

    -

    If the energy decreases due to the swap operation, the bond swap is +interactions are not allowed to be defined when this fix is used. +

    +

    If the energy decreases due to the swap operation, the bond swap is accepted. If the energy increases it is accepted with probability exp(-delta/kT) where delta is the increase in energy, k is the Boltzmann constant, and T is the current temperature of the system. Whether the swap is accepted or rejected, no other swaps are attempted -by this processor on this timestep.

    -

    The criterion for matching molecule IDs is how bond swaps performed by +by this processor on this timestep. +

    +

    The criterion for matching molecule IDs is how bond swaps performed by this fix conserve chain length. To use this features you must setup the molecule IDs for your polymer chains in a certain way, typically -in the data file, read by the read_data comand. +in the data file, read by the read_data comand. Consider a system of 6-mer chains. You have 2 choices. If the molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then swaps will conserve chain length. For a particular momoner there will @@ -207,153 +94,106 @@ partner. If the molecule IDs for monomers on each chain are set to able to occur at either end of a chain. Thus for a particular monomer there will be 2 possible swap partners on another chain. In this scenario, swaps can also occur within a single chain, i.e. the two -ends of a chain swap with each other.

    -
    -

    Warning

    -

    If your simulation uses molecule IDs in the usual way, +ends of a chain swap with each other. +

    +

    IMPORTANT NOTE: If your simulation uses molecule IDs in the usual way, where all monomers on a single chain are assigned the same ID (different for each chain), then swaps will only occur within the same chain. If you assign the same molecule ID to all monomers in all chains then inter-chain swaps will occur, but they will not conserve chain length. Neither of these scenarios is probably what you want -for this fix.

    -
    -
    -

    Warning

    -

    When a bond swap occurs the image flags of monomers in +for this fix. +

    +

    IMPORTANT NOTE: When a bond swap occurs the image flags of monomers in the new polymer chains can become inconsistent. See the -dump command for a discussion of image flags. This is not +dump command for a discussion of image flags. This is not an issue for running dynamics, but can affect calculation of some diagnostic quantities or the printing of unwrapped coordinates to a -dump file.

    -
    -
    -

    This fix computes a temperature each time it is invoked for use by the +dump file. +

    +
    + +

    This fix computes a temperature each time it is invoked for use by the Boltzmann criterion. To do this, the fix creates its own compute of -style temp, as if this command had been issued:

    -
    compute fix-ID_temp all temp
    -
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID with underscore + “temp” -appended and the group for the new compute is “all”, so that the -temperature of the entire system is used.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +style temp, as if this command had been issued: +

    +
    compute fix-ID_temp all temp 
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID with underscore + "temp" +appended and the group for the new compute is "all", so that the +temperature of the entire system is used. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodyanmic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -
    -

    Restart, fix_modify, thermo output, run start/stop, minimize info:

    -

    No information about this fix is written to binary restart files. Because the state of the random number generator -is not saved in restart files, this means you cannot do “exact” +compute_modify command or print this temperature +during thermodyanmic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +
    + +

    Restart, fix_modify, thermo output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. Also note that each processor generates possible swaps independently of other processors. Thus if you repeat the same simulation on a different number -of processors, the specific swaps performed will be different.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +of processors, the specific swaps performed will be different. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used to compute the temperature for -the Boltzmann criterion.

    -

    This fix computes two statistical quantities as a global 2-vector of -output, which can be accessed by various output commands. The first component of the +the Boltzmann criterion. +

    +

    This fix computes two statistical quantities as a global 2-vector of +output, which can be accessed by various output +commands. The first component of the vector is the cummulative number of swaps performed by all processors. The second component of the vector is the cummulative number of swaps -attempted (whether accepted or rejected). Note that a swap “attempt” +attempted (whether accepted or rejected). Note that a swap "attempt" only occurs when swap partners meeting the criteria described above are found on a particular timestep. The vector values calculated by -this fix are “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -

    The setings of the “special_bond” command must be 0,1,1 in order to +this fix are "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    The setings of the "special_bond" command must be 0,1,1 in order to use this fix, which is typical of bead-spring chains with FENE or harmonic bonds. This means that pairwise interactions between bonded atoms are turned off, but are turned on between atoms two or three -hops away along the chain backbone.

    -

    Currently, energy changes in dihedral and improper interactions due to +hops away along the chain backbone. +

    +

    Currently, energy changes in dihedral and improper interactions due to a bond swap are not considered. Thus a simulation that uses this fix -cannot use a dihedral or improper potential.

    -
    - -
    +cannot use a dihedral or improper potential. +

    +

    Related commands: +

    +

    fix atom/swap +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sides) Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, +199-208 (2004). +

    + diff --git a/doc/fix_box_relax.html b/doc/fix_box_relax.html index 8c7626726d..13af69fe32 100644 --- a/doc/fix_box_relax.html +++ b/doc/fix_box_relax.html @@ -1,225 +1,115 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix box/relax command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix box/relax command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID box/relax keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • box/relax = style name of this fix command
    • -
    -
    -one or more keyword value pairs may be appended
    -keyword = iso or aniso or tri or x or y or z or xy or yz or xz or couple or nreset or vmax or dilate or scaleyz or scalexz or scalexy or fixedpoint
    -  iso or aniso or tri value = Ptarget = desired pressure (pressure units)
    -  x or y or z or xy or yz or xz value = Ptarget = desired pressure (pressure units)
    -  couple = none or xyz or xy or yz or xz
    -  nreset value = reset reference cell every this many minimizer iterations
    -  vmax value = fraction = max allowed volume change in one iteration
    -  dilate value = all or partial
    -  scaleyz value = yes or no = scale yz with lz
    -  scalexz value = yes or no = scale xz with lz
    -  scalexy value = yes or no = scale xy with ly
    -  fixedpoint values = x y z
    -    x,y,z = perform relaxation dilation/contraction around this point (distance units)
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all box/relax iso 0.0 vmax 0.001
    +
    +
    +
    + +

    fix box/relax command +

    +

    Syntax: +

    +
    fix ID group-ID box/relax keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • box/relax = style name of this fix command + +
      one or more keyword value pairs may be appended
      +keyword = iso or aniso or tri or x or y or z or xy or yz or xz or couple or nreset or vmax or dilate or scaleyz or scalexz or scalexy or fixedpoint 
      +  iso or aniso or tri value = Ptarget = desired pressure (pressure units)
      +  x or y or z or xy or yz or xz value = Ptarget = desired pressure (pressure units)
      +  couple = none or xyz or xy or yz or xz
      +  nreset value = reset reference cell every this many minimizer iterations
      +  vmax value = fraction = max allowed volume change in one iteration
      +  dilate value = all or partial 
      +  scaleyz value = yes or no = scale yz with lz
      +  scalexz value = yes or no = scale xz with lz
      +  scalexy value = yes or no = scale xy with ly
      +  fixedpoint values = x y z
      +    x,y,z = perform relaxation dilation/contraction around this point (distance units) 
      +
      + +
    +

    Examples: +

    +
    fix 1 all box/relax iso 0.0 vmax 0.001
     fix 2 water box/relax aniso 0.0 dilate partial
    -fix 2 ice box/relax tri 0.0 couple xy nreset 100
    -
    -
    -
    -
    -

    Description¶

    -

    Apply an external pressure or stress tensor to the simulation box -during an energy minimization. This allows the box +fix 2 ice box/relax tri 0.0 couple xy nreset 100 + +

    Description: +

    +

    Apply an external pressure or stress tensor to the simulation box +during an energy minimization. This allows the box size and shape to vary during the iterations of the minimizer so that the final configuration will be both an energy minimum for the potential energy of the atoms, and the system pressure tensor will be close to the specified external tensor. Conceptually, specifying a positive pressure is like squeezing on the simulation box; a negative -pressure typically allows the box to expand.

    -
    -

    The external pressure tensor is specified using one or more of the -iso, aniso, tri, x, y, z, xy, xz, yz, and couple +pressure typically allows the box to expand. +

    +
    + +

    The external pressure tensor is specified using one or more of the +iso, aniso, tri, x, y, z, xy, xz, yz, and couple keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are -varied together during the mimimization.

    -

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). +varied together during the mimimization. +

    +

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The create_box, read data, and read_restart commands +dimensions (x,y,z,xy,xz,yz). The create_box, read +data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors.

    -

    The target pressures Ptarget for each of the 6 components of the -stress tensor can be specified independently via the x, y, z, -xy, xz, yz keywords, which correspond to the 6 simulation box -dimensions. For example, if the y keyword is used, the y-box length -will change during the minimization. If the xy keyword is used, the +(triclinic) and explain the meaning of the xy,xz,yz tilt factors. +

    +

    The target pressures Ptarget for each of the 6 components of the +stress tensor can be specified independently via the x, y, z, +xy, xz, yz keywords, which correspond to the 6 simulation box +dimensions. For example, if the y keyword is used, the y-box length +will change during the minimization. If the xy keyword is used, the xy tilt factor will change. A box dimension will not change if that -component is not specified.

    -

    Note that in order to use the xy, xz, or yz keywords, the +component is not specified. +

    +

    Note that in order to use the xy, xz, or yz keywords, the simulation box must be triclinic, even if its initial tilt factors are -0.0.

    -

    When the size of the simulation box changes, all atoms are re-scaled -to new positions, unless the keyword dilate is specified with a -value of partial, in which case only the atoms in the fix group are +0.0. +

    +

    When the size of the simulation box changes, all atoms are re-scaled +to new positions, unless the keyword dilate is specified with a +value of partial, in which case only the atoms in the fix group are re-scaled. This can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a -surrounding fluid.

    -

    The scaleyz, scalexz, and scalexy keywords control whether or +surrounding fluid. +

    +

    The scaleyz, scalexz, and scalexy keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when relaxing triclinic periodic cells. The default -values yes will turn on scaling, which corresponds to adjusting the +values yes will turn on scaling, which corresponds to adjusting the linear dimensions of the cell while preserving its shape. Choosing -no ensures that the tilt factors are not scaled with the box +no ensures that the tilt factors are not scaled with the box dimensions. See below for restrictions and default values in different situations. In older versions of LAMMPS, scaling of tilt factors was not performed. The old behavior can be recovered by setting all three -scale keywords to no.

    -

    The fixedpoint keyword specifies the fixed point for cell relaxation. +scale keywords to no. +

    +

    The fixedpoint keyword specifies the fixed point for cell relaxation. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to fixedpoint, then the lower periodic boundaries will remain at +to fixedpoint, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as -far. In all cases, the particle positions at each iteration are -unaffected by the chosen value, except that all particles are -displaced by the same amount, different on each iteration.

    -
    -

    Warning

    -

    Appling an external pressure to tilt dimensions xy, -xz, yz can sometimes result in arbitrarily large values of the +far. In all cases, the particle positions at each iteration are +unaffected by the chosen value, except that all particles are +displaced by the same amount, different on each iteration. +

    +

    IMPORTANT NOTE: Appling an external pressure to tilt dimensions xy, +xz, yz can sometimes result in arbitrarily large values of the tilt factors, i.e. a dramatically deformed simulation box. This typically indicates that there is something badly wrong with how the simulation was constructed. The two most common sources of this error @@ -229,118 +119,132 @@ solid. In either case the minimization may converge to a bogus conformation or not converge at all. Also note that if the box shape tilts to an extreme shape, LAMMPS will run less efficiently, due to the large volume of communication needed to acquire ghost atoms around -a processor’s irregular-shaped sub-domain. For extreme values of -tilt, LAMMPS may also lose atoms and generate an error.

    -
    -
    -

    Warning

    -

    Performing a minimization with this fix is not a +a processor's irregular-shaped sub-domain. For extreme values of +tilt, LAMMPS may also lose atoms and generate an error. +

    +

    IMPORTANT NOTE: Performing a minimization with this fix is not a mathematically well-defined minimization problem. This is because the objective function being minimized changes if the box size/shape -changes. In practice this means the minimizer can get “stuck” before +changes. In practice this means the minimizer can get "stuck" before you have reached the desired tolerance. The solution to this is to restart the minmizer from the new adjusted box size/shape, since that creates a new objective function valid for the new box size/shape. Repeat as necessary until the box size/shape has reached its new -equilibrium.

    -
    -
    -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be “coupled” together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +equilibrium. +

    +
    + +
    + +
    + +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Ptarget values for any coupled dimensions must be identical. -Couple xyz can be used for a 2d simulation; the z dimension is -simply ignored.

    -
    -

    The iso, aniso, and tri keywords are simply shortcuts that are -equivalent to specifying several other keywords together.

    -

    The keyword iso means couple all 3 diagonal components together when +Ptarget values for any coupled dimensions must be identical. +Couple xyz can be used for a 2d simulation; the z dimension is +simply ignored. +

    +
    + +

    The iso, aniso, and tri keywords are simply shortcuts that are +equivalent to specifying several other keywords together. +

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using “iso Ptarget” is the same as specifying -these 4 keywords:

    -
    x Ptarget
    +dimensions together.  Using "iso Ptarget" is the same as specifying
    +these 4 keywords:
    +

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -couple xyz
    -
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using “aniso Ptarget” is the same as specifying these 4 -keywords:

    -
    x Ptarget
    +pressure.  Using "aniso Ptarget" is the same as specifying these 4
    +keywords:
    +

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -couple none
    -
    -
    -

    The keyword tri means x, y, z, xy, xz, and yz dimensions +couple none + +

    The keyword tri means x, y, z, xy, xz, and yz dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the -external normal stress. Using “tri Ptarget” is the same as specifying -these 7 keywords:

    -
    x Ptarget
    +external normal stress.  Using "tri Ptarget" is the same as specifying
    +these 7 keywords:
    +

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -xy 0.0
    -yz 0.0
    -xz 0.0
    -couple none
    -
    -
    -
    -

    The vmax keyword can be used to limit the fractional change in the +xy 0.0 +yz 0.0 +xz 0.0 +couple none + +


    + +

    The vmax keyword can be used to limit the fractional change in the volume of the simulation box that can occur in one iteration of the minimizer. If the pressure is not settling down during the minimization this can be because the volume is fluctuating too much. -The specified fraction must be greater than 0.0 and should be << 1.0. +The specified fraction must be greater than 0.0 and should be << 1.0. A value of 0.001 means the volume cannot change by more than 1/10 of a -percent in one iteration when couple xyz has been specified. For +percent in one iteration when couple xyz has been specified. For any other case it means no linear dimension of the simulation box can -change by more than 1/10 of a percent.

    -
    -

    With this fix, the potential energy used by the minimizer is augmented +change by more than 1/10 of a percent. +

    +
    + +

    With this fix, the potential energy used by the minimizer is augmented by an additional energy provided by the fix. The overall objective -function then is:

    -_images/fix_box_relax1.jpg -

    where U is the system potential energy, P*_t is the desired -hydrostatic pressure, *V and V*_0 are the system and reference -volumes, respectively. *E*_*strain is the strain energy expression -proposed by Parrinello and Rahman (Parrinello1981). -Taking derivatives of E w.r.t. the box dimensions, and setting these +function then is: +

    +
    +
    +

    where U is the system potential energy, P_t is the desired +hydrostatic pressure, V and V_0 are the system and reference +volumes, respectively. E_strain is the strain energy expression +proposed by Parrinello and Rahman (Parrinello1981). +Taking derivatives of E w.r.t. the box dimensions, and setting these to zero, we find that at the minimum of the objective function, the -global system stress tensor P will satisfy the relation:

    -_images/fix_box_relax2.jpg -

    where I is the identity matrix, h**_0 is the box dimension tensor of -the reference cell, and **h**_0*d* is the diagonal part of -**h**_0. **S**_*t* is a symmetric stress tensor that is chosen by LAMMPS -so that the upper-triangular components of **P equal the stress tensor -specified by the user.

    -

    This equation only applies when the box dimensions are equal to those +global system stress tensor P will satisfy the relation: +

    +
    +
    +

    where I is the identity matrix, h_0 is the box dimension tensor of +the reference cell, and h_0d is the diagonal part of +h_0. S_t is a symmetric stress tensor that is chosen by LAMMPS +so that the upper-triangular components of P equal the stress tensor +specified by the user. +

    +

    This equation only applies when the box dimensions are equal to those of the reference dimensions. If this is not the case, then the converged stress tensor will not equal that specified by the user. We can resolve this problem by periodically resetting the reference -dimensions. The keyword nreset_ref controls how often this is done. +dimensions. The keyword nreset_ref controls how often this is done. If this keyword is not used, or is given a value of zero, then the reference dimensions are set to those of the initial simulation domain -and are never changed. A value of nstep means that every nstep +and are never changed. A value of nstep means that every nstep minimization steps, the reference dimensions are set to those of the current simulation domain. Note that resetting the reference dimensions changes the objective function and gradients, which sometimes causes the minimization to fail. This can be resolved by -changing the value of nreset, or simply continuing the minimization -from a restart file.

    -
    -

    Warning

    -

    As normally computed, pressure includes a kinetic- -energy or temperature-dependent component; see the compute pressure command. However, atom velocities are +changing the value of nreset, or simply continuing the minimization +from a restart file. +

    +

    IMPORTANT NOTE: As normally computed, pressure includes a kinetic- +energy or temperature-dependent component; see the compute +pressure command. However, atom velocities are ignored during a minimization, and the applied pressure(s) specified with this command are assumed to only be the virial component of the pressure (the non-kinetic portion). Thus if atoms have a non-zero @@ -350,169 +254,116 @@ solution for this is to either (a) zero the velocities of all atoms before performing the minimization, or (b) make sure you are monitoring the pressure without its kinetic component. The latter can be done by outputting the pressure from the fix this command creates -(see below) or a pressure fix you define yourself.

    -
    -
    -

    Warning

    -

    Because pressure is often a very sensitive function of +(see below) or a pressure fix you define yourself. +

    +

    IMPORTANT NOTE: Because pressure is often a very sensitive function of volume, it can be difficult for the minimizer to equilibrate the system the desired pressure with high precision, particularly for solids. Some techniques that seem to help are (a) use the -“min_modify line quadratic” option when minimizing with box +"min_modify line quadratic" option when minimizing with box relaxations, (b) minimize several times in succession if need be, to drive the pressure closer to the target pressure, (c) relax the atom positions before relaxing the box, and (d) relax the box to the target hydrostatic pressure before relaxing to a target shear stress state. Also note that some systems (e.g. liquids) will not sustain a non-hydrostatic applied -pressure, which means the minimizer will not converge.

    -
    -
    -

    This fix computes a temperature and pressure each timestep. The +pressure, which means the minimizer will not converge. +

    +
    + +

    This fix computes a temperature and pressure each timestep. The temperature is used to compute the kinetic contribution to the pressure, even though this is subsequently ignored by default. To do -this, the fix creates its own computes of style “temp” and “pressure”, -as if these commands had been issued:

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp virial
    -
    -
    -

    See the compute temp and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is the same +this, the fix creates its own computes of style "temp" and "pressure", +as if these commands had been issued: +

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp virial 
    +
    +

    See the compute temp and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is the same as the fix group. Also note that the pressure compute does not -include a kinetic component.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp and press options are +include a kinetic component. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its temperature and pressure calculation, as described above. Note that as described above, if you assign a pressure compute to this fix that includes a kinetic energy component it will affect the -minimization, most likely in an undesirable way.

    -
    -

    Warning

    -

    If both the temp and press keywords are used in a +minimization, most likely in an undesirable way. +

    +

    IMPORTANT NOTE: If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by fix npt), but -only if the temp keyword comes after the press keyword. If the -temp keyword comes before the press keyword, then the new pressure -compute specified by the press keyword will be unaffected by the -temp setting.

    -
    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -pressure-volume energy, plus the strain energy, if it exists.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    This fix is invoked during energy minimization, but +only if the temp keyword comes after the press keyword. If the +temp keyword comes before the press keyword, then the new pressure +compute specified by the press keyword will be unaffected by the +temp setting. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +pressure-volume energy, plus the strain energy, if it exists. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    This fix is invoked during energy minimization, but not for the purpose of adding a contribution to the energy or forces being minimized. Instead it alters the simulation box geometry as -described above.

    -
    -
    -

    Restrictions¶

    -

    Only dimensions that are available can be adjusted by this fix. -Non-periodic dimensions are not available. z, xz, and yz, are -not available for 2D simulations. xy, xz, and yz are only +described above. +

    +

    Restrictions: +

    +

    Only dimensions that are available can be adjusted by this fix. +Non-periodic dimensions are not available. z, xz, and yz, are +not available for 2D simulations. xy, xz, and yz are only available if the simulation domain is non-orthogonal. The -create_box, read data, and -read_restart commands specify whether the +create_box, read data, and +read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain -the meaning of the xy,xz,yz tilt factors.

    -

    The scaleyz yes and scalexz yes keyword/value pairs can not be used -for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options +the meaning of the xy,xz,yz tilt factors. +

    +

    The scaleyz yes and scalexz yes keyword/value pairs can not be used +for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options can only be used if the 2nd dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -tri, yz, xz, and xy.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0.

    -
    -

    (Parrinello1981) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    -
    -
    +tri, yz, xz, and xy. +

    +

    Related commands: +

    +

    fix npt, minimize +

    +

    Default: +

    +

    The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Parrinello1981) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). +

    + diff --git a/doc/fix_colvars.html b/doc/fix_colvars.html index b69823d441..5aa30bb707 100644 --- a/doc/fix_colvars.html +++ b/doc/fix_colvars.html @@ -1,304 +1,147 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix colvars command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix colvars command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID colvars configfile keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • colvars = style name of this fix command
    • -
    • configfile = the configuration file for the colvars module
    • -
    • keyword = input or output or seed or tstat
    • -
    -
    -input arg = colvars.state file name or prefix or NULL (default: NULL)
    -  output arg = output filename prefix (default: out)
    -  seed arg = seed for random number generator (default: 1966)
    -  unwrap arg = yes or no
    +
    +
    +
    + +

    fix colvars command +

    +

    Syntax: +

    +
    fix ID group-ID colvars configfile keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • colvars = style name of this fix command + +
    • configfile = the configuration file for the colvars module + +
    • keyword = input or output or seed or tstat + +
        input arg = colvars.state file name or prefix or NULL (default: NULL)
      +  output arg = output filename prefix (default: out)
      +  seed arg = seed for random number generator (default: 1966)
      +  unwrap arg = yes or no
           use unwrapped coordinates in collective variables (default: yes)
      -  tstat arg = fix id of a thermostat or NULL (default: NULL)
      -
      -
    -
    -

    Examples¶

    -
    fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide
    -fix abf all colvars colvars.inp tstat 1
    -
    -
    -
    -
    -

    Description¶

    -

    This fix interfaces LAMMPS to a “collective variables” or “colvars” + tstat arg = fix id of a thermostat or NULL (default: NULL) + + + +

    Examples: +

    +
    fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide
    +fix abf all colvars colvars.inp tstat 1 
    +
    +

    Description: +

    +

    This fix interfaces LAMMPS to a "collective variables" or "colvars" module library which allows to calculate potentials of mean force (PMFs) for any set of colvars, using different sampling methods: currently implemented are the Adaptive Biasing Force (ABF) method, metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a flexible harmonic restraint bias. The colvars library is -hosted at http://colvars.github.io/

    -

    This documentation describes only the fix colvars command itself and -LAMMPS specific parts of the code. The full documentation of the -colvars library is available as this supplementary PDF document

    -

    A detailed discussion of the implementation of the portable collective -variable library is in (Fiorin). Additional information can -be found in (Henin).

    -

    There are some example scripts for using this package with LAMMPS in the -examples/USER/colvars directory.

    -
    -

    The only mandatory argument to the fix is the filename to the colvars +hosted at http://colvars.github.io/ +

    +

    This documentation describes only the fix colvars command itself and +LAMMPS specific parts of the code. The full documentation of the +colvars library is available as this supplementary PDF document +

    +

    A detailed discussion of the implementation of the portable collective +variable library is in (Fiorin). Additional information can +be found in (Henin). +

    +

    There are some example scripts for using this package with LAMMPS in the +examples/USER/colvars directory. +

    +
    + +

    The only mandatory argument to the fix is the filename to the colvars input file that contains the input that is independent from the MD -program in which the colvars library has been integrated.

    -

    The group-ID entry is ignored. The collective variable module will +program in which the colvars library has been integrated. +

    +

    The group-ID entry is ignored. The collective variable module will always apply to the entire system and there can only be one instance of the colvars fix at a time. The colvars fix will only communicate the minimum information necessary and the colvars library supports multiple, completely independent collective variables, so there is -no restriction to functionaliry by limiting the number of colvars fixes.

    -

    The input keyword allows to specify a state file that would contain +no restriction to functionaliry by limiting the number of colvars fixes. +

    +

    The input keyword allows to specify a state file that would contain the restart information required in order to continue a calculation from -a prerecorded state. Fix colvars records it state in binary restart -files, so when using the read_restart command, -this is usually not needed.

    -

    The output keyword allows to specify the output prefix. All output -files generated will use this prefix followed by the ”.colvars.” and -a word like “state” or “traj”.

    -

    The seed keyword contains the seed for the random number generator -that will be used in the colvars module.

    -

    The unwrap keyword controls whether wrapped or unwrapped coordinates +a prerecorded state. Fix colvars records it state in binary restart +files, so when using the read_restart command, +this is usually not needed. +

    +

    The output keyword allows to specify the output prefix. All output +files generated will use this prefix followed by the ".colvars." and +a word like "state" or "traj". +

    +

    The seed keyword contains the seed for the random number generator +that will be used in the colvars module. +

    +

    The unwrap keyword controls whether wrapped or unwrapped coordinates are passed to the colvars library for calculation of the collective -variables and the resulting forces. The default is yes, i.e. to use +variables and the resulting forces. The default is yes, i.e. to use the image flags to reconstruct the absolute atom positions. -Setting this to no will use the current local coordinates that are -wrapped back into the simulation cell at each re-neighboring instead.

    -

    The tstat keyword can be either NULL or the label of a thermostating +Setting this to no will use the current local coordinates that are +wrapped back into the simulation cell at each re-neighboring instead. +

    +

    The tstat keyword can be either NULL or the label of a thermostating fix that thermostats all atoms in the fix colvars group. This will be used to provide the colvars module with the current thermostat target -temperature.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the current status of the colvars module into -binary restart files. This is in addition to the text +temperature. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the current status of the colvars module into +binary restart files. This is in addition to the text mode status file that is written by the colvars module itself and the -kind of information in both files is identical.

    -

    The fix_modify energy option is supported by this +kind of information in both files is identical. +

    +

    The fix_modify energy option is supported by this fix to add the energy change from the biasing force added by the fix -to the system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +to the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    There can only be one colvars fix active at a time. Since the interface +calculated by this fix is "extensive". +

    +

    Restrictions: +

    +

    This fix is part of the USER-COLVARS package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    There can only be one colvars fix active at a time. Since the interface communicates only the minimum amount of information and colvars module itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality.

    -
    - -
    -

    Default¶

    -

    The default options are input = NULL, output = out, seed = 1966, unwrap yes, -and tstat = NULL.

    -
    -

    (Fiorin) Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594

    -

    (Henin) Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6, -35-47 (2010)

    -
    -
    +not a limitation of functionality. +

    +

    Related commands: +

    +

    fix smd +

    +

    Default: +

    +

    The default options are input = NULL, output = out, seed = 1966, unwrap yes, +and tstat = NULL. +

    +
    + -
    -
    -
    - +

    (Fiorin) Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594 +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Henin) Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6, +35-47 (2010) +

    + diff --git a/doc/fix_deform.html b/doc/fix_deform.html index b49b4b7aa4..f9a7526b51 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -1,448 +1,366 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix deform command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix deform command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID deform N parameter args ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • deform = style name of this fix command
    • -
    • N = perform box deformation every this many timesteps
    • -
    • one or more parameter/arg pairs may be appended
    • -
    -
    -parameter = x or y or z or xy or xz or yz
    -  x, y, z args = style value(s)
    -    style = final or delta or scale or vel or erate or trate or volume or wiggle or variable
    -      final values = lo hi
    +
    +
    +
    + +

    fix deform command +

    +

    Syntax: +

    +
    fix ID group-ID deform N parameter args ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • deform = style name of this fix command + +
    • N = perform box deformation every this many timesteps + +
    • one or more parameter/arg pairs may be appended + +
      parameter = x or y or z or xy or xz or yz
      +  x, y, z args = style value(s)
      +    style = final or delta or scale or vel or erate or trate or volume or wiggle or variable
      +      final values = lo hi
               lo hi = box boundaries at end of run (distance units)
      -      delta values = dlo dhi
      +      delta values = dlo dhi
               dlo dhi = change in box boundaries at end of run (distance units)
      -      scale values = factor
      +      scale values = factor
               factor = multiplicative factor for change in box length at end of run
      -      vel value = V
      +      vel value = V
               V = change box length at this velocity (distance/time units),
      -         effectively an engineering strain rate
      -      erate value = R
      +	    effectively an engineering strain rate
      +      erate value = R
               R = engineering strain rate (1/time units)
      -      trate value = R
      +      trate value = R
               R = true strain rate (1/time units)
      -      volume value = none = adjust this dim to preserve volume of system
      -      wiggle values = A Tp
      +      volume value = none = adjust this dim to preserve volume of system
      +      wiggle values = A Tp
               A = amplitude of oscillation (distance units)
      -     Tp = period of oscillation (time units)
      -      variable values = v_name1 v_name2
      +	Tp = period of oscillation (time units)
      +      variable values = v_name1 v_name2
               v_name1 = variable with name1 for box length change as function of time
      -     v_name2 = variable with name2 for change rate as function of time
      -  xy, xz, yz args = style value
      -    style = final or delta or vel or erate or trate or wiggle
      -      final value = tilt
      +	v_name2 = variable with name2 for change rate as function of time
      +  xy, xz, yz args = style value
      +    style = final or delta or vel or erate or trate or wiggle
      +      final value = tilt
               tilt = tilt factor at end of run (distance units)
      -      delta value = dtilt
      +      delta value = dtilt
               dtilt = change in tilt factor at end of run (distance units)
      -      vel value = V
      +      vel value = V
               V = change tilt factor at this velocity (distance/time units),
      -         effectively an engineering shear strain rate
      -      erate value = R
      +	    effectively an engineering shear strain rate
      +      erate value = R
               R = engineering shear strain rate (1/time units)
      -      trate value = R
      +      trate value = R
               R = true shear strain rate (1/time units)
      -      wiggle values = A Tp
      +      wiggle values = A Tp
               A = amplitude of oscillation (distance units)
      -     Tp = period of oscillation (time units)
      -      variable values = v_name1 v_name2
      +	Tp = period of oscillation (time units)
      +      variable values = v_name1 v_name2
               v_name1 = variable with name1 for tilt change as function of time
      -     v_name2 = variable with name2 for change rate as function of time
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = remap or flip or units
      • -
      -
      -remap value = x or v or none
      +	v_name2 = variable with name2 for change rate as function of time 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = remap or flip or units + +
        remap value = x or v or none
           x = remap coords of atoms in group into deforming box
           v = remap velocities of all atoms when they cross periodic boundaries
           none = no remapping of x or v
      -  flip value = yes or no
      +  flip value = yes or no
           allow or disallow box flips when it becomes highly skewed
      -  units value = lattice or box
      +  units value = lattice or box
           lattice = distances are defined in lattice units
      -    box = distances are defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box
    +    box = distances are defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box
     fix 1 all deform 1 x trate 0.1 y volume z volume
     fix 1 all deform 1 xy erate 0.001 remap v
    -fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Change the volume and/or shape of the simulation box during a dynamics +fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 + +

    Description: +

    +

    Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a -continuously strained system. See the fix nvt/sllod and compute temp/deform commands for more details.

    -

    For the x, y, z parameters, the associated dimension cannot be -shrink-wrapped. For the xy, yz, xz parameters, the associated +continuously strained system. See the fix +nvt/sllod and compute +temp/deform commands for more details. +

    +

    For the x, y, z parameters, the associated dimension cannot be +shrink-wrapped. For the xy, yz, xz parameters, the associated 2nd dimension cannot be shrink-wrapped. Dimensions not varied by this command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a fix npt or fix nph command.

    -

    The size and shape of the simulation box at the beginning of the +unspecified parameters can also be controlled by a fix +npt or fix nph command. +

    +

    The size and shape of the simulation box at the beginning of the simulation run were either specified by the -create_box or read_data or -read_restart command used to setup the simulation +create_box or read_data or +read_restart command used to setup the simulation initially if it is the first run, or they are the values from the end -of the previous run. The create_box, read data, and read_restart commands +of the previous run. The create_box, read +data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0.

    -

    As described below, the desired simulation box size and shape at the +must be triclinic, even if its initial tilt factors are 0.0. +

    +

    As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial -and final values.

    -
    -

    For the x, y, and z parameters, this is the meaning of their -styles and values.

    -

    The final, delta, scale, vel, and erate styles all change -the specified dimension of the box via “constant displacement” which -is effectively a “constant engineering strain rate”. This means the +and final values. +

    +
    + +

    For the x, y, and z parameters, this is the meaning of their +styles and values. +

    +

    The final, delta, scale, vel, and erate styles all change +the specified dimension of the box via "constant displacement" which +is effectively a "constant engineering strain rate". This means the box dimension changes linearly with time from its initial to final -value.

    -

    For style final, the final lo and hi box boundaries of a dimension +value. +

    +

    For style final, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below.

    -

    For style delta, plus or minus changes in the lo/hi box boundaries +See the discussion of the units keyword below. +

    +

    For style delta, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below.

    -

    For style scale, a multiplicative factor to apply to the box length +distance units. See the discussion of the units keyword below. +

    +

    For style scale, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression.

    -

    For style vel, a velocity at which the box length changes is -specified in units of distance/time. This is effectively a “constant -engineering strain rate”, where rate = V/L0 and L0 is the initial box +factor less than 1.0 means compression. +

    +

    For style vel, a velocity at which the box length changes is +specified in units of distance/time. This is effectively a "constant +engineering strain rate", where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then after 10 psec, the box length will have doubled. After 20 psec, it -will have tripled.

    -

    The erate style changes a dimension of the the box at a “constant -engineering strain rate”. The units of the specified strain rate are -1/time. See the units command for the time units +will have tripled. +

    +

    The erate style changes a dimension of the the box at a "constant +engineering strain rate". The units of the specified strain rate are +1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for “metal” units). Tensile strain is unitless and +e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length. The box length L as a -function of time will change as

    -
    L(t) = L0 (1 + erate*dt)
    -
    -
    -

    where dt is the elapsed time (in time units). Thus if erate R is +function of time will change as +

    +
    L(t) = L0 (1 + erate*dt) 
    +
    +

    where dt is the elapsed time (in time units). Thus if erate R is specified as 0.1 and time units are picoseconds, this means the box length will increase by 10% of its original length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = -0.01 means the box length will shrink by 1% of its original length -every picosecond. Note that for an “engineering” rate the change is +every picosecond. Note that for an "engineering" rate the change is based on the original box length, so running with R = 1 for 10 picoseconds expands the box length by a factor of 11 (strain of 10), -which is different that what the trate style would induce.

    -

    The trate style changes a dimension of the box at a “constant true -strain rate”. Note that this is not an “engineering strain rate”, as -the other styles are. Rather, for a “true” rate, the rate of change +which is different that what the trate style would induce. +

    +

    The trate style changes a dimension of the box at a "constant true +strain rate". Note that this is not an "engineering strain rate", as +the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified -strain rate are 1/time. See the units command for the +strain rate are 1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for “metal” units). Tensile strain is unitless and +e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length.

    -

    The box length L as a function of time will change as

    -
    L(t) = L0 exp(trate*dt)
    -
    -
    -

    where dt is the elapsed time (in time units). Thus if trate R is +is the change relative to the original length. +

    +

    The box length L as a function of time will change as +

    +
    L(t) = L0 exp(trate*dt) 
    +
    +

    where dt is the elapsed time (in time units). Thus if trate R is specified as ln(1.1) and time units are picoseconds, this means the box length will increase by 10% of its current (not original) length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. R = ln(2) or ln(3) means the box length will double or triple every picosecond. R = ln(0.99) means the box length will shrink by 1% of its current length every picosecond. Note that for a -“true” rate the change is continuous and based on the current length, +"true" rate the change is continuous and based on the current length, so running with R = ln(2) for 10 picoseconds does not expand the box -length by a factor of 11 as it would with erate, but by a factor of -1024 since the box length will double every picosecond.

    -

    Note that to change the volume (or cross-sectional area) of the +length by a factor of 11 as it would with erate, but by a factor of +1024 since the box length will double every picosecond. +

    +

    Note that to change the volume (or cross-sectional area) of the simulation box at a constant rate, you can change multiple dimensions -via erate or trate. E.g. to double the box volume in a picosecond -picosecond, you could set “x erate M”, “y erate M”, “z erate M”, with +via erate or trate. E.g. to double the box volume in a picosecond +picosecond, you could set "x erate M", "y erate M", "z erate M", with M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, -the box volume doubles. Or you could set “x trate M”, “y trate M”, “z -trate M”, with M = ln(1.26) = 0.231, and the box volume would double -every picosecond.

    -

    The volume style changes the specified dimension in such a way that +the box volume doubles. Or you could set "x trate M", "y trate M", "z +trate M", with M = ln(1.26) = 0.231, and the box volume would double +every picosecond. +

    +

    The volume style changes the specified dimension in such a way that the box volume remains constant while other box dimensions are changed -explicitly via the styles discussed above. For example, “x scale 1.1 -y scale 1.1 z volume” will shrink the z box length as the x,y box +explicitly via the styles discussed above. For example, "x scale 1.1 +y scale 1.1 z volume" will shrink the z box length as the x,y box lengths increase, to keep the volume constant (product of x,y,z -lengths). If “x scale 1.1 z volume” is specified and parameter y is +lengths). If "x scale 1.1 z volume" is specified and parameter y is unspecified, then the z box length will shrink as x increases to keep -the product of x,z lengths constant. If “x scale 1.1 y volume z -volume” is specified, then both the y,z box lengths will shrink as x +the product of x,z lengths constant. If "x scale 1.1 y volume z +volume" is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant.

    -

    For solids or liquids, note that when one dimension of the box is +aspect ratio constant. +

    +

    For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically undesirable to hold the other 2 box lengths constant (unspecified by -fix deform) since that implies a density change. Using the volume +fix deform) since that implies a density change. Using the volume style for those 2 dimensions to keep the box volume constant may make more physical sense, but may also not be correct for materials and potentials whose Poisson ratio is not 0.5. An alternative is to use -fix npt aniso with zero applied pressure on those 2 -dimensions, so that they respond to the tensile strain dynamically.

    -

    The wiggle style oscillates the specified box length dimension +fix npt aniso with zero applied pressure on those 2 +dimensions, so that they respond to the tensile strain dynamically. +

    +

    The wiggle style oscillates the specified box length dimension sinusoidally with the specified amplitude and period. I.e. the box -length L as a function of time is given by

    -
    L(t) = L0 + A sin(2*pi t/Tp)
    -
    -
    -

    where L0 is its initial length. If the amplitude A is a positive +length L as a function of time is given by +

    +
    L(t) = L0 + A sin(2*pi t/Tp) 
    +
    +

    where L0 is its initial length. If the amplitude A is a positive number the box initially expands, then contracts, etc. If A is negative then the box initially contracts, then expands, etc. The amplitude can be in lattice or box distance units. See the discussion -of the units keyword below.

    -

    The variable style changes the specified box length dimension by +of the units keyword below. +

    +

    The variable style changes the specified box length dimension by evaluating a variable, which presumably is a function of time. The -variable with name1 must be an equal-style variable +variable with name1 must be an equal-style variable and should calculate a change in box length in units of distance. Note that this distance is in box units, not lattice units; see the -discussion of the units keyword below. The formula associated with -variable name1 can reference the current timestep. Note that it -should return the “change” in box length, not the absolute box length. +discussion of the units keyword below. The formula associated with +variable name1 can reference the current timestep. Note that it +should return the "change" in box length, not the absolute box length. This means it should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box.

    -

    The variable name2 must also be an equal-style variable and should calculate the rate of box length +evaluate to a value > 0.0 to dilate the box at future times, or a +value < 0.0 to compress the box. +

    +

    The variable name2 must also be an equal-style +variable and should calculate the rate of box length change, in units of distance/time, i.e. the time-derivative of the -name1 variable. This quantity is used internally by LAMMPS to reset +name1 variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an -arbitrary variable.

    -

    Here is an example of using the variable style to perform the same -box deformation as the wiggle style formula listed above, where we -assume that the current timestep = 0.

    -
    variable A equal 5.0
    +arbitrary variable.
    +

    +

    Here is an example of using the variable style to perform the same +box deformation as the wiggle style formula listed above, where we +assume that the current timestep = 0. +

    +
    variable A equal 5.0
     variable Tp equal 10.0
    -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)"
    -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)"
    -fix 2 all deform 1 x variable v_displace v_rate remap v
    -
    -
    -

    For the scale, vel, erate, trate, volume, wiggle, and -variable styles, the box length is expanded or compressed around its -mid point.

    -
    -

    For the xy, xz, and yz parameters, this is the meaning of their +variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" +variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" +fix 2 all deform 1 x variable v_displace v_rate remap v + +

    For the scale, vel, erate, trate, volume, wiggle, and +variable styles, the box length is expanded or compressed around its +mid point. +

    +
    + +

    For the xy, xz, and yz parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume.

    -

    The final, delta, vel, and erate styles all change the shear -strain at a “constant engineering shear strain rate”. This means the +box does not change its volume. +

    +

    The final, delta, vel, and erate styles all change the shear +strain at a "constant engineering shear strain rate". This means the tilt factor changes linearly with time from its initial to final -value.

    -

    For style final, the final tilt factor is specified. The value +value. +

    +

    For style final, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the -units keyword below.

    -

    For style delta, a plus or minus change in the tilt factor is +units keyword below. +

    +

    For style delta, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below.

    -

    For style vel, a velocity at which the tilt factor changes is +the discussion of the units keyword below. +

    +

    For style vel, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an -“engineering shear strain rate”, where rate = V/L0 and L0 is the +"engineering shear strain rate", where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial tilt factor is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the tilt factor will be 15 Angstroms. After 2 psec, it will be 25 -Angstroms.

    -

    The erate style changes a tilt factor at a “constant engineering -shear strain rate”. The units of the specified shear strain rate are -1/time. See the units command for the time units +Angstroms. +

    +

    The erate style changes a tilt factor at a "constant engineering +shear strain rate". The units of the specified shear strain rate are +1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for “metal” units). Shear strain is unitless and is +e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x -direction for xy deformation) from the unstrained orientation.

    -

    The tilt factor T as a function of time will change as

    -
    T(t) = T0 + L0*erate*dt
    -
    -
    -

    where T0 is the initial tilt factor, L0 is the original length of the +direction for xy deformation) from the unstrained orientation. +

    +

    The tilt factor T as a function of time will change as +

    +
    T(t) = T0 + L0*erate*dt 
    +
    +

    where T0 is the initial tilt factor, L0 is the original length of the box perpendicular to the shear direction (e.g. y box length for xy deformation), and dt is the elapsed time (in time units). Thus if -erate R is specified as 0.1 and time units are picoseconds, this +erate R is specified as 0.1 and time units are picoseconds, this means the shear strain will increase by 0.1 every picosecond. I.e. if the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the original y box length. R = 1 or 2 means the tilt factor will increase by 1 or 2 every picosecond. R = -0.01 means a decrease in shear -strain by 0.01 every picosecond.

    -

    The trate style changes a tilt factor at a “constant true shear -strain rate”. Note that this is not an “engineering shear strain -rate”, as the other styles are. Rather, for a “true” rate, the rate +strain by 0.01 every picosecond. +

    +

    The trate style changes a tilt factor at a "constant true shear +strain rate". Note that this is not an "engineering shear strain +rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of the specified shear strain rate are 1/time. See the -units command for the time units associated with -different choices of simulation units, e.g. picoseconds for “metal” +units command for the time units associated with +different choices of simulation units, e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) -from the unstrained orientation.

    -

    The tilt factor T as a function of time will change as

    -
    T(t) = T0 exp(trate*dt)
    -
    -
    -

    where T0 is the initial tilt factor and dt is the elapsed time (in -time units). Thus if trate R is specified as ln(1.1) and time units +from the unstrained orientation. +

    +

    The tilt factor T as a function of time will change as +

    +
    T(t) = T0 exp(trate*dt) 
    +
    +

    where T0 is the initial tilt factor and dt is the elapsed time (in +time units). Thus if trate R is specified as ln(1.1) and time units are picoseconds, this means the shear strain or tilt factor will increase by 10% every picosecond. I.e. if the xy shear strain was initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = @@ -452,256 +370,213 @@ shrink by 1% every picosecond. Note that the change is continuous, so running with R = ln(2) for 10 picoseconds does not change the tilt factor by a factor of 10, but by a factor of 1024 since it doubles every picosecond. Note that the initial tilt factor must be non-zero -to use the trate option.

    -

    Note that shear strain is defined as the tilt factor divided by the -perpendicular box length. The erate and trate styles control the +to use the trate option. +

    +

    Note that shear strain is defined as the tilt factor divided by the +perpendicular box length. The erate and trate styles control the tilt factor, but assume the perpendicular box length remains constant. If this is not the case (e.g. it changes due to another fix deform -parameter), then this effect on the shear strain is ignored.

    -

    The wiggle style oscillates the specified tilt factor sinusoidally +parameter), then this effect on the shear strain is ignored. +

    +

    The wiggle style oscillates the specified tilt factor sinusoidally with the specified amplitude and period. I.e. the tilt factor T as a -function of time is given by

    -
    T(t) = T0 + A sin(2*pi t/Tp)
    -
    -
    -

    where T0 is its initial value. If the amplitude A is a positive +function of time is given by +

    +
    T(t) = T0 + A sin(2*pi t/Tp) 
    +
    +

    where T0 is its initial value. If the amplitude A is a positive number the tilt factor initially becomes more positive, then more negative, etc. If A is negative then the tilt factor initially becomes more negative, then more positive, etc. The amplitude can be in lattice or box distance units. See the discussion of the units -keyword below.

    -

    The variable style changes the specified tilt factor by evaluating a +keyword below. +

    +

    The variable style changes the specified tilt factor by evaluating a variable, which presumably is a function of time. The variable with -name1 must be an equal-style variable and should +name1 must be an equal-style variable and should calculate a change in tilt in units of distance. Note that this distance is in box units, not lattice units; see the discussion of the -units keyword below. The formula associated with variable name1 +units keyword below. The formula associated with variable name1 can reference the current timestep. Note that it should return the -“change” in tilt factor, not the absolute tilt factor. This means it +"change" in tilt factor, not the absolute tilt factor. This means it should evaluate to 0.0 when invoked on the initial timestep of the run -following the definition of fix deform.

    -

    The variable name2 must also be an equal-style variable and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the name1 +following the definition of fix deform. +

    +

    The variable name2 must also be an equal-style +variable and should calculate the rate of tilt change, +in units of distance/time, i.e. the time-derivative of the name1 variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an -arbitrary variable.

    -

    Here is an example of using the variable style to perform the same -box deformation as the wiggle style formula listed above, where we -assume that the current timestep = 0.

    -
    variable A equal 5.0
    +arbitrary variable.
    +

    +

    Here is an example of using the variable style to perform the same +box deformation as the wiggle style formula listed above, where we +assume that the current timestep = 0. +

    +
    variable A equal 5.0
     variable Tp equal 10.0
    -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)"
    -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)"
    -fix 2 all deform 1 xy variable v_displace v_rate remap v
    -
    -
    -
    -

    All of the tilt styles change the xy, xz, yz tilt factors during a +variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" +variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" +fix 2 all deform 1 xy variable v_displace v_rate remap v + +


    + +

    All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. -See the discussion of the flip keyword below, to allow this bound to -be exceeded, if desired.

    -

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +See the discussion of the flip keyword below, to allow this bound to +be exceeded, if desired. +

    +

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all equivalent.

    -

    To obey this constraint and allow for large shear deformations to be -applied via the xy, xz, or yz parameters, the following -algorithm is used. If prd is the associated parallel box length (10 +... are all equivalent. +

    +

    To obey this constraint and allow for large shear deformations to be +applied via the xy, xz, or yz parameters, the following +algorithm is used. If prd is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is flipped to the other limit (an equivalent box) and the simulation continues. Thus -for this example, if the initial xy tilt factor was 0.0 and “xy final -100.0” was specified, then during the simulation the xy tilt factor +for this example, if the initial xy tilt factor was 0.0 and "xy final +100.0" was specified, then during the simulation the xy tilt factor would increase from 0.0 to 5.0, the box would be flipped so that the tilt factor becomes -5.0, the tilt factor would increase from -5.0 to 5.0, the box would be flipped again, etc. The flip occurs 10 times and the final tilt factor at the end of the simulation would be 0.0. During each flip event, atoms are remapped into the new box in the -appropriate manner.

    -

    The one exception to this rule is if the 1st dimension in the tilt +appropriate manner. +

    +

    The one exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient due to the highly skewed simulation box.

    -
    -

    Each time the box size or shape is changed, the remap keyword +simply become inefficient due to the highly skewed simulation box. +

    +
    + +

    Each time the box size or shape is changed, the remap keyword determines whether atom positions are remapped to the new box. If -remap is set to x (the default), atoms in the fix group are +remap is set to x (the default), atoms in the fix group are remapped; otherwise they are not. Note that their velocities are not -changed, just their positions are altered. If remap is set to v, +changed, just their positions are altered. If remap is set to v, then any atom in the fix group that crosses a periodic boundary will have a delta added to its velocity equal to the difference in velocities between the lo and hi boundaries. Note that this velocity difference can include tilt components, e.g. a delta in the x velocity -when an atom crosses the y periodic boundary. If remap is set to -none, then neither of these remappings take place.

    -

    Conceptually, setting remap to x forces the atoms to deform via an +when an atom crosses the y periodic boundary. If remap is set to +none, then neither of these remappings take place. +

    +

    Conceptually, setting remap to x forces the atoms to deform via an affine transformation that exactly matches the box deformation. This setting is typically appropriate for solids. Note that though the -atoms are effectively “moving” with the box over time, it is not due +atoms are effectively "moving" with the box over time, it is not due to their having a velocity that tracks the box change, but only due to -the remapping. By contrast, setting remap to v is typically +the remapping. By contrast, setting remap to v is typically appropriate for fluids, where you want the atoms to respond to the change in box size/shape on their own and acquire a velocity that matches the box change, so that their motion will naturally track the -box without explicit remapping of their coordinates.

    -
    -

    Warning

    -

    When non-equilibrium MD (NEMD) simulations are -performed using this fix, the option “remap v” should normally be -used. This is because fix nvt/sllod adjusts the +box without explicit remapping of their coordinates. +

    +

    IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are +performed using this fix, the option "remap v" should normally be +used. This is because fix nvt/sllod adjusts the atom positions and velocities to induce a velocity profile that matches the changing box size/shape. Thus atom coordinates should NOT be remapped by fix deform, but velocities SHOULD be when atoms cross periodic boundaries, since that is consistent with maintaining the velocity profile already created by fix nvt/sllod. LAMMPS will warn -you if the remap setting is not consistent with fix nvt/sllod.

    -
    -
    -

    Warning

    -

    For non-equilibrium MD (NEMD) simulations using “remap -v” it is usually desirable that the fluid (or flowing material, +you if the remap setting is not consistent with fix nvt/sllod. +

    +

    IMPORTANT NOTE: For non-equilibrium MD (NEMD) simulations using "remap +v" it is usually desirable that the fluid (or flowing material, e.g. granular particles) stream with a velocity profile consistent with the deforming box. As mentioned above, using a thermostat such -as fix nvt/sllod or fix lavgevin (with a bias provided by compute temp/deform), will typically accomplish +as fix nvt/sllod or fix +lavgevin (with a bias provided by compute +temp/deform), will typically accomplish that. If you do not use a thermostat, then there is no driving force pushing the atoms to flow in a manner consistent with the deforming box. E.g. for a shearing system the box deformation velocity may vary from 0 at the bottom to 10 at the top of the box. But the stream velocity profile of the atoms may vary from -5 at the bottom to +5 at -the top. You can monitor these effects using the fix ave/spatial, compute temp/deform, and compute temp/profile commands. One way to induce +the top. You can monitor these effects using the fix +ave/spatial, compute +temp/deform, and compute +temp/profile commands. One way to induce atoms to stream consistent with the box deformation is to give them an -initial velocity profile, via the velocity ramp +initial velocity profile, via the velocity ramp command, that matches the box deformation rate. This also typically helps the system come to equilibrium more quickly, even if a -thermostat is used.

    -
    -
    -

    Warning

    -

    If a fix rigid is defined for rigid -bodies, and remap is set to x, then the center-of-mass coordinates +thermostat is used. +

    +

    IMPORTANT NOTE: If a fix rigid is defined for rigid +bodies, and remap is set to x, then the center-of-mass coordinates of rigid bodies will be remapped to the changing simulation box. This will be done regardless of whether atoms in the rigid bodies are in the fix deform group or not. The velocity of the centers of mass are -not remapped even if remap is set to v, since fix nvt/sllod does not currently do anything special +not remapped even if remap is set to v, since fix +nvt/sllod does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or -include a background fluid and thermostat the fluid via fix nvt/sllod.

    -
    -

    The flip keyword allows the tilt factors for a triclinic box to +include a background fluid and thermostat the fluid via fix +nvt/sllod. +

    +

    The flip keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -above. If the flip value is set to yes, the bound is enforced by -flipping the box when it is exceeded. If the flip value is set to -no, the tilt will continue to change without flipping. Note that if +above. If the flip value is set to yes, the bound is enforced by +flipping the box when it is exceeded. If the flip value is set to +no, the tilt will continue to change without flipping. Note that if you apply large deformations, this means the box shape can tilt dramatically LAMMPS will run less efficiently, due to the large volume -of communication needed to acquire ghost atoms around a processor’s +of communication needed to acquire ghost atoms around a processor's irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error.

    -

    The units keyword determines the meaning of the distance units used -to define various arguments. A box value selects standard distance -units as defined by the units command, e.g. Angstroms for -units = real or metal. A lattice value means the distance units are -in lattice spacings. The lattice command must have +also lose atoms and generate an error. +

    +

    The units keyword determines the meaning of the distance units used +to define various arguments. A box value selects standard distance +units as defined by the units command, e.g. Angstroms for +units = real or metal. A lattice value means the distance units are +in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that the -units choice also affects the vel style parameters since it is +units choice also affects the vel style parameters since it is defined in terms of distance/time. Also note that the units keyword -does not affect the variable style. You should use the xlat, -ylat, zlat keywords of the thermo_style -command if you want to include lattice spacings in a variable formula.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +does not affect the variable style. You should use the xlat, +ylat, zlat keywords of the thermo_style +command if you want to include lattice spacings in a variable formula. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands.

    -

    This fix can perform deformation over multiple runs, using the start -and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    You cannot apply x, y, or z deformations to a dimension that is -shrink-wrapped via the boundary comamnd.

    -

    You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in -xy) that is shrink-wrapped via the boundary comamnd.

    -
    - -
    -

    Default¶

    -

    The option defaults are remap = x, flip = yes, and units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. +

    +

    This fix can perform deformation over multiple runs, using the start +and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    You cannot apply x, y, or z deformations to a dimension that is +shrink-wrapped via the boundary comamnd. +

    +

    You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in +xy) that is shrink-wrapped via the boundary comamnd. +

    +

    Related commands: +

    +

    change_box +

    +

    Default: +

    +

    The option defaults are remap = x, flip = yes, and units = lattice. +

    + diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index e586ff546d..93a498194a 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -1,289 +1,189 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix deposit command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix deposit command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID deposit N type M seed keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • deposit = style name of this fix command
    • -
    • N = # of atoms or molecules to insert
    • -
    • type = atom type to assign to inserted atoms (offset for moleclue insertion)
    • -
    • M = insert a single atom or molecule every M steps
    • -
    • seed = random # seed (positive integer)
    • -
    • one or more keyword/value pairs may be appended to args
    • -
    • keyword = region or id or global or local or near or attempt or rate or vx or vy or vz or mol or rigid or shake or units
    • -
    -
    -region value = region-ID
    +
    +
    +
    + +

    fix deposit command +

    +

    Syntax: +

    +
    fix ID group-ID deposit N type M seed keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • deposit = style name of this fix command + +
    • N = # of atoms or molecules to insert + +
    • type = atom type to assign to inserted atoms (offset for moleclue insertion) + +
    • M = insert a single atom or molecule every M steps + +
    • seed = random # seed (positive integer) + +
    • one or more keyword/value pairs may be appended to args + +
    • keyword = region or id or global or local or near or attempt or rate or vx or vy or vz or mol or rigid or shake or units + +
        region value = region-ID
           region-ID = ID of region to use as insertion volume
      -  id value = max or next
      +  id value = max or next
           max = atom ID for new atom(s) is max ID of all current atoms plus one
           next = atom ID for new atom(s) increments by one for every deposition
      -  global values = lo hi
      +  global values = lo hi
           lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units)
      -  local values = lo hi delta
      +  local values = lo hi delta
           lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units)
      -    delta = lateral distance within which a neighbor is considered "nearby" (distance units)
      -  near value = R
      +    delta = lateral distance within which a neighbor is considered "nearby" (distance units)
      +  near value = R
           R = only insert atom/molecule if further than R from existing particles (distance units)
      -  attempt value = Q
      +  attempt value = Q
           Q = attempt a single insertion up to Q times
      -  rate value = V
      +  rate value = V
           V = z velocity (y in 2d) at which insertion volume moves (velocity units)
      -  vx values = vxlo vxhi
      +  vx values = vxlo vxhi
           vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units)
      -  vy values = vylo vyhi
      +  vy values = vylo vyhi
           vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units)
      -  vz values = vzlo vzhi
      +  vz values = vzlo vzhi
           vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units)
      -  target values = tx ty tz
      +  target values = tx ty tz
           tx,ty,tz = location of target point (distance units)
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  molfrac values = f1 f2 ... fN
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  molfrac values = f1 f2 ... fN
           f1 to fN = relative probability of creating each of N molecules in template-ID
      -  rigid value = fix-ID
      -    fix-ID = ID of fix rigid/small command
      -  shake value = fix-ID
      -    fix-ID = ID of fix shake command
      -  units value = lattice or box
      +  rigid value = fix-ID
      +    fix-ID = ID of fix rigid/small command
      +  shake value = fix-ID
      +    fix-ID = ID of fix shake command
      +  units value = lattice or box
           lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box
    +    box = the geometry is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box
     fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8
    -fix 4 sputter deposit 1000 2 500 12235 region sphere vz -1.0 -1.0 target 5.0 5.0 0.0 units lattice
    -
    -
    -
    -
    -

    Description¶

    -

    Insert a single atom or molecule into the simulation domain every M +fix 4 sputter deposit 1000 2 500 12235 region sphere vz -1.0 -1.0 target 5.0 5.0 0.0 units lattice + +

    Description: +

    +

    Insert a single atom or molecule into the simulation domain every M timesteps until N atoms or molecules have been inserted. This is useful for simulating deposition onto a surface. For the remainder of this doc page, a single inserted atom or molecule is referred to as a -“particle”.

    -

    If inserted particles are individual atoms, they are assigned the +"particle". +

    +

    If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the -molecule command, and those values are added to the +molecule command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify -type = 0. If you specify type = 2, the in the inserted molecule -will have atom types 3,4,5.

    -

    All atoms in the inserted particle are assigned to two groups: the -default group “all” and the group specified in the fix deposit command -(which can also be “all”).

    -

    If you are computing temperature values which include inserted +type = 0. If you specify type = 2, the in the inserted molecule +will have atom types 3,4,5. +

    +

    All atoms in the inserted particle are assigned to two groups: the +default group "all" and the group specified in the fix deposit command +(which can also be "all"). +

    +

    If you are computing temperature values which include inserted particles, you will want to use the -compute_modify dynamic option, which insures the +compute_modify dynamic option, which insures the current number of atoms is used as a normalizing factor each time the -temperature is computed.

    -

    Care must be taken that inserted particles are not too near existing +temperature is computed. +

    +

    Care must be taken that inserted particles are not too near existing atoms, using the options described below. When inserting particles above a surface in a non-periodic box (see the -boundary command), the possibility of a particle +boundary command), the possibility of a particle escaping the surface and flying upward should be considered, since the particle may be lost or the box size may grow infinitely large. A -fix wall/reflect command can be used to +fix wall/reflect command can be used to prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. When simulating a sputtering experiment it is probably more realistic to -ignore those atoms using the thermo_modify -command with the lost ignore option and a fixed -boundary.

    -

    The fix deposit command must use the region keyword to define an +ignore those atoms using the thermo_modify +command with the lost ignore option and a fixed +boundary. +

    +

    The fix deposit command must use the region keyword to define an insertion volume. The specified region must have been previously -defined with a region command. It must be defined with -side = in.

    -
    -

    Warning

    -

    LAMMPS checks that the specified region is wholly +defined with a region command. It must be defined with +side = in. +

    +

    IMPORTANT NOTE: LAMMPS checks that the specified region is wholly inside the simulation box. It can do this correctly for orthonormal -simulation boxes. However for triclinic boxes, it only tests against the larger +simulation boxes. However for triclinic +boxes, it only tests against the larger orthonormal box that bounds the tilted simulation box. If the specified region includes volume outside the tilted box, then an -insertion will likely fail, leading to a “lost atoms” error. Thus for +insertion will likely fail, leading to a "lost atoms" error. Thus for triclinic boxes you should insure the specified region is wholly -inside the simulation box.

    -
    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads files that define one or +inside the simulation box. +

    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads files that define one or more molecules. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the -molecule command for details. The only settings +molecule command for details. The only settings required to be in each file are the coordinates and types of atoms in -the molecule.

    -

    If the molecule template contains more than one molecule, the relative +the molecule. +

    +

    If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the -molfrac keyword. N relative probablities, each from 0.0 to 1.0, are +molfrac keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is deposited, a random number is used to sample from -the list of relative probabilities. The N values must sum to 1.0.

    -

    If you wish to insert molecules via the mol keyword, that will be -treated as rigid bodies, use the rigid keyword, specifying as its -value the ID of a separate fix rigid/small -command which also appears in your input script.

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix shake command which also appears in your input script.

    -

    Each timestep a particle is inserted, the coordinates for its atoms +the list of relative probabilities. The N values must sum to 1.0. +

    +

    If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script. +

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix +shake command which also appears in your input script. +

    +

    Each timestep a particle is inserted, the coordinates for its atoms are chosen as follows. For insertion of individual atoms, the -“position” referred to in the following description is the coordinate -of the atom. For insertion of molecule, the “position” is the -geometric center of the molecule; see the molecule doc +"position" referred to in the following description is the coordinate +of the atom. For insertion of molecule, the "position" is the +geometric center of the molecule; see the molecule doc page for details. A random rotation of the molecule around its center point is performed, which determines the coordinates all the -individual atoms.

    -

    A random position within the region insertion volume is generated. If -neither the global or local keyword is used, the random position -is the trial position. If the global keyword is used, the random +individual atoms. +

    +

    A random position within the region insertion volume is generated. If +neither the global or local keyword is used, the random position +is the trial position. If the global keyword is used, the random x,y values are used, but the z position of the new particle is set above the highest current atom in the simulation by a distance randomly chosen between lo/hi. (For a 2d simulation, this is done for -the y position.) If the local keyword is used, the z position is +the y position.) If the local keyword is used, the z position is set a distance between lo/hi above the highest current atom in the -simulation that is “nearby” the chosen x,y position. In this context, -“nearby” means the lateral distance (in x,y) between the new and old -particles is less than the delta setting.

    -

    Once a trial x,y,z position has been selected, the insertion is only +simulation that is "nearby" the chosen x,y position. In this context, +"nearby" means the lateral distance (in x,y) between the new and old +particles is less than the delta setting. +

    +

    Once a trial x,y,z position has been selected, the insertion is only performed if no current atom in the simulation is within a distance R of any atom in the new particle, including the effect of periodic -boundary conditions if applicable. R is defined by the near +boundary conditions if applicable. R is defined by the near keyword. Note that the default value for R is 0.0, which will allow atoms to strongly overlap if you are inserting where other atoms are present. This distance test is performed independently for each atom @@ -291,159 +191,102 @@ in an inserted molecule, based on the randomly rotated configuration of the molecule. If this test fails, a new random position within the insertion volume is chosen and another trial is made. Up to Q attempts are made. If the particle is not successfully inserted, -LAMMPS prints a warning message.

    -
    -

    Warning

    -

    If you are inserting finite size particles or a +LAMMPS prints a warning message. +

    +

    IMPORTANT NOTE: If you are inserting finite size particles or a molecule or rigid body consisting of finite-size particles, then you should typically set R larger than the distance at which any inserted particle may overlap with either a previouly inserted particle or an existing particle. LAMMPS will issue a warning if R is smaller than -this value, based on the radii of existing and inserted particles.

    -
    -

    The rate option moves the insertion volume in the z direction (3d) +this value, based on the radii of existing and inserted particles. +

    +

    The rate option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is -ignored if the global or local keywords are used, since those -options choose a z-coordinate for insertion independently.

    -

    The vx, vy, and vz components of velocity for the inserted particle -are set using the values specified for the vx, vy, and vz +ignored if the global or local keywords are used, since those +options choose a z-coordinate for insertion independently. +

    +

    The vx, vy, and vz components of velocity for the inserted particle +are set using the values specified for the vx, vy, and vz keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. For molecules, the same velocity is given to every particle (no rotation -or bond vibration).

    -

    If the target option is used, the velocity vector of the inserted +or bond vibration). +

    +

    If the target option is used, the velocity vector of the inserted particle is changed so that it points from the insertion position towards the specified target point. The magnitude of the velocity is unchanged. This can be useful, for example, for simulating a sputtering process. E.g. the target point can be far away, so that all incident particles strike the surface as if they are in an -incident beam of particles at a prescribed angle.

    -

    The id keyword determines how atom IDs and molecule IDs are assigned +incident beam of particles at a prescribed angle. +

    +

    The id keyword determines how atom IDs and molecule IDs are assigned to newly deposited particles. Molecule IDs are only assigned if -molecules are being inserted. For the max setting, the atom and +molecules are being inserted. For the max setting, the atom and molecule IDs of all current atoms are checked. Atoms in the new particle are assigned IDs starting with the current maximum plus one. If a molecule is inserted it is assigned an ID = current maximum plus one. This means that if particles leave the system, the new IDs may -replace the lost ones. For the next setting, the maximum ID of any +replace the lost ones. For the next setting, the maximum ID of any atom and molecule is stored at the time the fix is defined. Each time a new particle is added, this value is incremented to assign IDs to the new atom(s) or molecule. Thus atom and molecule IDs for deposited particles will be consecutive even if particles leave the system over -time.

    -

    The units keyword determines the meaning of the distance units used -for the other deposition parameters. A box value selects standard -distance units as defined by the units command, -e.g. Angstroms for units = real or metal. A lattice value means the -distance units are in lattice spacings. The lattice +time. +

    +

    The units keyword determines the meaning of the distance units used +for the other deposition parameters. A box value selects standard +distance units as defined by the units command, +e.g. Angstroms for units = real or metal. A lattice value means the +distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that the units choice affects all the keyword values that have -units of distance or velocity.

    -
    -

    Warning

    -

    If you are monitoring the temperature of a system +units of distance or velocity. +

    +

    IMPORTANT NOTE: If you are monitoring the temperature of a system where the atom count is changing due to adding particles, you -typically should use the compute_modify dynamic yes command for the temperature compute you are -using.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the deposition to binary restart files. This includes information about how many +typically should use the compute_modify dynamic +yes command for the temperature compute you are +using. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the deposition to binary restart +files. This includes information about how many particles have been depositied, the random number generator seed, the next timestep for deposition, etc. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this +operation of the fix continues in an uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    The specified insertion region cannot be a “dynamic” region, as -defined by the region command.

    -
    - -
    -

    Default¶

    -

    Insertions are performed for individual atoms, i.e. no mol setting -is defined. If the mol keyword is used, the default for molfrac +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    The specified insertion region cannot be a "dynamic" region, as +defined by the region command. +

    +

    Related commands: +

    +

    fix_pour, region +

    +

    Default: +

    +

    Insertions are performed for individual atoms, i.e. no mol setting +is defined. If the mol keyword is used, the default for molfrac is an equal probabilities for all molecules in the template. Additional option defaults are id = max, delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, -and units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +and units = lattice. +

    + diff --git a/doc/fix_drag.html b/doc/fix_drag.html index 0aea7127ac..adef7e6576 100644 --- a/doc/fix_drag.html +++ b/doc/fix_drag.html @@ -1,246 +1,66 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix drag command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix drag command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID drag x y z fmag delta
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • drag = style name of this fix command
    • -
    • x,y,z = coord to drag atoms towards
    • -
    • fmag = magnitude of force to apply to each atom (force units)
    • -
    • delta = cutoff distance inside of which force is not applied (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a force to each atom in a group to drag it towards the point + + +


    + +

    fix drag command +

    +

    Syntax: +

    +
    fix ID group-ID drag x y z fmag delta 
    +
    +
    • ID, group-ID are documented in fix command +
    • drag = style name of this fix command +
    • x,y,z = coord to drag atoms towards +
    • fmag = magnitude of force to apply to each atom (force units) +
    • delta = cutoff distance inside of which force is not applied (distance units) +
    +

    Examples: +

    +
    fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 
    +
    +

    Description: +

    +

    Apply a force to each atom in a group to drag it towards the point (x,y,z). The magnitude of the force is specified by fmag. If an atom is closer than a distance delta to the point, then the force is not -applied.

    -

    Any of the x,y,z values can be specified as NULL which means do not +applied. +

    +

    Any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force -application.

    -

    This command can be used to steer one or more atoms to a new location -in the simulation.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +application. +

    +

    This command can be used to steer one or more atoms to a new location +in the simulation. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms by the drag force. The vector -values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix spring, fix spring/self, +fix spring/rg, fix smd +

    +

    Default: none +

    + diff --git a/doc/fix_drude.html b/doc/fix_drude.html index 352319bd16..398abd701e 100644 --- a/doc/fix_drude.html +++ b/doc/fix_drude.html @@ -1,235 +1,60 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix drude command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix drude command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID drude flag1 flag2 ... flagN
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • drude = style name of this fix command
    • -
    • tag = Drude flag for each atom type (1 to N) in the system
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all drude 1 1 0 1 0 2 2 2
    -fix 1 all drude C C N C N D D D
    -
    -
    -
    -
    -

    Description¶

    -

    Assign each atom type in the system to be one of 3 kinds of atoms + + +


    + +

    fix drude command +

    +

    Syntax: +

    +
    fix ID group-ID drude flag1 flag2 ... flagN 
    +
    +
    • ID, group-ID are documented in fix command +
    • drude = style name of this fix command +
    • tag = Drude flag for each atom type (1 to N) in the system +
    +

    Examples: +

    +
    fix 1 all drude 1 1 0 1 0 2 2 2
    +fix 1 all drude C C N C N D D D 
    +
    +

    Description: +

    +

    Assign each atom type in the system to be one of 3 kinds of atoms within the Drude polarization model. This compute is designed to be -used with the thermalized Drude oscillator model. Polarizable models in LAMMPS -are described in this Section.

    -

    The three possible types can be designated with an integer (0,1,2) -or capital letter (N,C,D):

    -
      -
    • 0 or N = non-polarizable atom (not part of Drude model)
    • -
    • 1 or C = Drude core
    • -
    • 2 or D = Drude electron
    • -
    -
    -
    -

    Restrictions¶

    -

    This fix should be invoked before any other commands that implement -the Drude oscillator model, such as fix langevin_drude, fix drude/transform, compute temp/drude, pair_style thole.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +used with the thermalized Drude oscillator +model. Polarizable models in LAMMPS +are described in this Section. +

    +

    The three possible types can be designated with an integer (0,1,2) +or capital letter (N,C,D): +

    +
    • 0 or N = non-polarizable atom (not part of Drude model) +
    • 1 or C = Drude core +
    • 2 or D = Drude electron +
    +

    Restrictions: +

    +

    This fix should be invoked before any other commands that implement +the Drude oscillator model, such as fix +langevin_drude, fix +drude/transform, compute +temp/drude, pair_style +thole. +

    +

    Related commands: +

    +

    fix langevin_drude, fix +drude/transform, compute +temp/drude, pair_style +thole +

    +

    Default: None +

    + diff --git a/doc/fix_drude_transform.html b/doc/fix_drude_transform.html index c5cac524d1..f19e5df09c 100644 --- a/doc/fix_drude_transform.html +++ b/doc/fix_drude_transform.html @@ -1,335 +1,171 @@ + + + + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix drude/transform/direct command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix drude/transform/direct command¶

    -
    -
    -

    fix drude/transform/inverse command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = drude/transform/direct or drude/transform/inverse
    • -
    -
    -
    -

    Examples¶

    -
    fix 3 all drude/transform/direct
    -fix 1 all drude/transform/inverse
    -
    -
    -
    -
    -

    Description¶

    -

    Transform the coordinates of Drude oscillators from real to reduced + + +


    + +

    fix drude/transform/direct command +

    +

    fix drude/transform/inverse command +

    +

    Syntax: +

    +
    fix ID group-ID style keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • style = drude/transform/direct or drude/transform/inverse +
    +

    Examples: +

    +
    fix 3 all drude/transform/direct
    +fix 1 all drude/transform/inverse 
    +
    +

    Description: +

    +

    Transform the coordinates of Drude oscillators from real to reduced and back for thermalizing the Drude oscillators as described in -(Lamoureux) using a Nose-Hoover thermostat. This fix is -designed to be used with the thermalized Drude oscillator model. Polarizable models in LAMMPS are -described in this Section.

    -

    Drude oscillators are a pair of atoms representing a single +(Lamoureux) using a Nose-Hoover thermostat. This fix is +designed to be used with the thermalized Drude oscillator +model. Polarizable models in LAMMPS are +described in this Section. +

    +

    Drude oscillators are a pair of atoms representing a single polarizable atom. Ideally, the mass of Drude particles would vanish and their positions would be determined self-consistently by iterative -minimization of the energy, the cores’ positions being fixed. It is +minimization of the energy, the cores' positions being fixed. It is however more efficient and it yields comparable results, if the Drude oscillators (the motion of the Drude particle relative to the core) are thermalized at a low temperature. In that case, the Drude -particles need a small mass.

    -

    The thermostats act on the reduced degrees of freedom, which are +particles need a small mass. +

    +

    The thermostats act on the reduced degrees of freedom, which are defined by the following equations. Note that in these equations upper case denotes atomic or center of mass values and lower case denotes Drude particle or dipole values. Primes denote the transformed -(reduced) values, while bare letters denote the original values.

    -

    Masses: begin{equation} M’ = M + m end{equation} -begin{equation} m’ = frac {M, m } {M’} end{equation} -Positions: begin{equation} X’ = frac {M, X + m, x} {M’} -end{equation} begin{equation} x’ = x - X end{equation} -Velocities: begin{equation} V’ = frac {M, V + m, v} {M’} -end{equation} begin{equation} v’ = v - V end{equation} -Forces: begin{equation} F’ = F + f end{equation} -begin{equation} f’ = frac { M, f - m, F} {M’} -end{equation}

    -

    This transform conserves the total kinetic energy -begin{equation} frac 1 2 , (M, V^2+ m, v^2) -= frac 1 2 , (M’, V’^2+ m’, v’^2) end{equation} +(reduced) values, while bare letters denote the original values. +

    +

    Masses: \begin{equation} M' = M + m \end{equation} +\begin{equation} m' = \frac {M\, m } {M'} \end{equation} +Positions: \begin{equation} X' = \frac {M\, X + m\, x} {M'} +\end{equation} \begin{equation} x' = x - X \end{equation} +Velocities: \begin{equation} V' = \frac {M\, V + m\, v} {M'} +\end{equation} \begin{equation} v' = v - V \end{equation} +Forces: \begin{equation} F' = F + f \end{equation} +\begin{equation} f' = \frac { M\, f - m\, F} {M'} +\end{equation} +

    +

    This transform conserves the total kinetic energy +\begin{equation} \frac 1 2 \, (M\, V^2\ + m\, v^2) += \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end{equation} and the virial defined with absolute positions -begin{equation} X, F + x, f = X’, F’ + x’, f’ end{equation}

    -
    -

    This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the fix drude command to -specify the Drude status of each atom type.

    -
    -

    Warning

    -

    only the Drude core atoms need to be in the group +\begin{equation} X\, F + x\, f = X'\, F' + x'\, f' \end{equation} +

    +
    + +

    This fix requires each atom know whether it is a Drude particle or +not. You must therefore use the fix drude command to +specify the Drude status of each atom type. +

    +

    IMPORTANT NOTE: only the Drude core atoms need to be in the group specified for this fix. A Drude electron will be transformed together with its cores even if it is not itself in the group. It is safe to include Drude electrons or non-polarizable atoms in the group. The -non-polarizable atoms will simply not be transformed.

    -
    -
    -

    This fix does NOT perform time integration. It only transform masses, +non-polarizable atoms will simply not be transformed. +

    +
    + +

    This fix does NOT perform time integration. It only transform masses, coordinates, velocities and forces. Thus you must use separate time -integration fixes, like fix nve or fix npt to actually update the velocities and positions of +integration fixes, like fix nve or fix +npt to actually update the velocities and positions of atoms. In order to thermalize the reduced degrees of freedom at different temperatures, two Nose-Hoover thermostats must be defined, -acting on two distinct groups.

    -
    -

    Warning

    -

    The fix drude/transform/direct command must appear -before any Nose-Hoover thermostating fixes. The fix -drude/transform/inverse command must appear after any Nose-Hoover -thermostating fixes.

    -
    -

    Example:

    -
    fix fDIRECT all drude/transform/direct
    +acting on two distinct groups.
    +

    +

    IMPORTANT NOTE: The fix drude/transform/direct command must appear +before any Nose-Hoover thermostating fixes. The fix +drude/transform/inverse command must appear after any Nose-Hoover +thermostating fixes. +

    +

    Example: +

    +
    fix fDIRECT all drude/transform/direct
     fix fNVT gCORES nvt temp 300.0 300.0 100.0
     fix fNVT gDRUDES nvt temp 1.0 1.0 100.0
     fix fINVERSE all drude/transform/inverse
     compute TDRUDE all temp/drude
    -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE[1] c_TDRUDE[2]
    -
    -
    -

    In this example, gCORES is the group of the atom cores and gDRUDES +thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE[1] c_TDRUDE[2] + +

    In this example, gCORES is the group of the atom cores and gDRUDES is the group of the Drude particles (electrons). The centers of mass of the Drude oscillators will be thermostated at 300.0 and the internal degrees of freedom will be thermostated at 1.0. The temperatures of cores and Drude particles, in center-of-mass and -relatice coordinates, are calculated using compute temp/drude

    -

    In addition, if you want to use a barostat to simulate a system at -constant pressure, only one of the Nose-Hoover fixes must be npt, -the other one should be nvt. You must add a compute temp/com and a -fix_modify command so that the temperature of the npt fix be just +relatice coordinates, are calculated using compute +temp/drude +

    +

    In addition, if you want to use a barostat to simulate a system at +constant pressure, only one of the Nose-Hoover fixes must be npt, +the other one should be nvt. You must add a compute temp/com and a +fix_modify command so that the temperature of the npt fix be just that of its group but the pressure be the overall pressure -thermo_press.

    -

    Example:

    -
    compute cTEMP_CORE gCORES temp/com
    +thermo_press.
    +

    +

    Example: +

    +
    compute cTEMP_CORE gCORES temp/com
     fix fDIRECT all drude/transform/direct
     fix fNPT gCORES npt temp 298.0 298.0 100.0 iso 1.0 1.0 500.0
     fix_modify fNPT temp cTEMP_CORE press thermo_press
     fix fNVT gDRUDES nvt temp 5.0 5.0 100.0
    -fix fINVERSE all drude/transform/inverse
    -
    -
    -

    In this example, gCORES is the group of the atom cores and gDRUDES +fix fINVERSE all drude/transform/inverse + +

    In this example, gCORES is the group of the atom cores and gDRUDES is the group of the Drude particles. The centers of mass of the Drude oscillators will be thermostated at 298.0 and the internal degrees of freedom will be thermostated at 5.0. The whole system will be -barostated at 1.0.

    -

    In order to avoid the flying ice cube problem (irreversible transfer +barostated at 1.0. +

    +

    In order to avoid the flying ice cube problem (irreversible transfer of linear momentum to the center of mass of the system), you may need -to add a fix momentum command like such as

    -
    fix fMOMENTUM all momentum 100 linear 1 1 1
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +to add a fix momentum command like such as +

    +
    fix fMOMENTUM all momentum 100 linear 1 1 1 
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix drude, +fix langevin/drude, +compute temp/drude, +pair_style thole +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003). +

    + diff --git a/doc/fix_dt_reset.html b/doc/fix_dt_reset.html index c9b8194dfa..039327b172 100644 --- a/doc/fix_dt_reset.html +++ b/doc/fix_dt_reset.html @@ -1,274 +1,96 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix dt/reset command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix dt/reset command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • dt/reset = style name of this fix command
    • -
    • N = recompute dt every N timesteps
    • -
    • Tmin = minimum dt allowed which can be NULL (time units)
    • -
    • Tmax = maximum dt allowed which can be NULL (time units)
    • -
    • Xmax = maximum distance for an atom to move in one timestep (distance units)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = units
    • -
    -
    -units value = lattice or box
    +
    +
    +
    + +

    fix dt/reset command +

    +

    Syntax: +

    +
    fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • dt/reset = style name of this fix command +
    • N = recompute dt every N timesteps +
    • Tmin = minimum dt allowed which can be NULL (time units) +
    • Tmax = maximum dt allowed which can be NULL (time units) +
    • Xmax = maximum distance for an atom to move in one timestep (distance units) +
    • zero or more keyword/value pairs may be appended +
    • keyword = units +
    +
      units value = lattice or box
         lattice = Xmax is defined in lattice units
    -    box = Xmax is defined in simulation box units
    -
    -
    -
    -

    Examples¶

    -
    fix 5 all dt/reset 10 1.0e-5 0.01 0.1
    -fix 5 all dt/reset 10 0.01 2.0 0.2 units box
    -
    -
    -
    -
    -

    Description¶

    -

    Reset the timestep size every N steps during a run, so that no atom + box = Xmax is defined in simulation box units + +

    Examples: +

    +
    fix 5 all dt/reset 10 1.0e-5 0.01 0.1
    +fix 5 all dt/reset 10 0.01 2.0 0.2 units box 
    +
    +

    Description: +

    +

    Reset the timestep size every N steps during a run, so that no atom moves further than Xmax, based on current atom velocities and forces. This can be useful when starting from a configuration with overlapping atoms, where forces will be large. Or it can be useful when running an impact simulation where one or more high-energy atoms collide with -a solid, causing a damage cascade.

    -

    This fix overrides the timestep size setting made by the -timestep command. The new timestep size dt is -computed in the following manner.

    -

    For each atom, the timestep is computed that would cause it to -displace Xmax on the next integration step, as a function of its +a solid, causing a damage cascade. +

    +

    This fix overrides the timestep size setting made by the +timestep command. The new timestep size dt is +computed in the following manner. +

    +

    For each atom, the timestep is computed that would cause it to +displace Xmax on the next integration step, as a function of its current velocity and force. Since performing this calculation exactly would require the solution to a quartic equation, a cheaper estimate -is generated. The estimate is conservative in that the atom’s -displacement is guaranteed not to exceed Xmax, though it may be -smaller.

    -

    Given this putative timestep for each atom, the minimum timestep value -across all atoms is computed. Then the Tmin and Tmax bounds are +is generated. The estimate is conservative in that the atom's +displacement is guaranteed not to exceed Xmax, though it may be +smaller. +

    +

    Given this putative timestep for each atom, the minimum timestep value +across all atoms is computed. Then the Tmin and Tmax bounds are applied, if specified. If one (or both) is specified as NULL, it is -not applied.

    -

    When the run style is respa, this fix resets the +not applied. +

    +

    When the run style is respa, this fix resets the outer loop (largest) timestep, which is the same timestep that the -timestep command sets.

    -

    Note that the cumulative simulation time (in time units), which +timestep command sets. +

    +

    Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, -can be accessed by the thermo_style time keyword.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar stores -the last timestep on which the timestep was reset to a new value.

    -

    The scalar value calculated by this fix is “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults is units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +can be accessed by the thermo_style time keyword. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar stores +the last timestep on which the timestep was reset to a new value. +

    +

    The scalar value calculated by this fix is "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    timestep +

    +

    Default: +

    +

    The option defaults is units = lattice. +

    + diff --git a/doc/fix_efield.html b/doc/fix_efield.html index c89f9c011c..339e4db521 100644 --- a/doc/fix_efield.html +++ b/doc/fix_efield.html @@ -1,328 +1,170 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix efield command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix efield command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID efield ex ey ez keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • efield = style name of this fix command
    • -
    • ex,ey,ez = E-field component values (electric field units)
    • -
    • any of ex,ey,ez can be a variable (see below)
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = region or energy
    • -
    -
    -region value = region-ID
    +
    +
    +
    + +

    fix efield command +

    +

    Syntax: +

    +
    fix ID group-ID efield ex ey ez keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • efield = style name of this fix command + +
    • ex,ey,ez = E-field component values (electric field units) + +
    • any of ex,ey,ez can be a variable (see below) + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = region or energy + +
        region value = region-ID
           region-ID = ID of region atoms must be in to have added force
      -  energy value = v_name
      -    v_name = variable with name that calculates the potential energy of each atom in the added E-field
      -
      -
    -
    -

    Examples¶

    -
    fix kick external-field efield 1.0 0.0 0.0
    -fix kick external-field efield 0.0 0.0 v_oscillate
    -
    -
    -
    -
    -

    Description¶

    -

    Add a force F = qE to each charged atom in the group due to an + energy value = v_name + v_name = variable with name that calculates the potential energy of each atom in the added E-field + + + +

    Examples: +

    +
    fix kick external-field efield 1.0 0.0 0.0
    +fix kick external-field efield 0.0 0.0 v_oscillate 
    +
    +

    Description: +

    +

    Add a force F = qE to each charged atom in the group due to an external electric field being applied to the system. If the system contains point-dipoles, also add a torque on the dipoles due to the -external electric field.

    -

    For charges, any of the 3 quantities defining the E-field components +external electric field. +

    +

    For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style -variable, namely ex, ey, ez. If the value is a +variable, namely ex, ey, ez. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the E-field component.

    -

    For point-dipoles, equal-style variables can be used, but atom-style +its value used to determine the E-field component. +

    +

    For point-dipoles, equal-style variables can be used, but atom-style variables are not currently supported, since they imply a spatial gradient in the electric field which means additional terms with gradients of the field are required for the force and torque on -dipoles.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +dipoles. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent E-field.

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent E-field. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent E-field -with optional time-dependence as well.

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it.

    -
    -

    Adding a force or torque to atoms implies a change in their potential -energy as they move or rotate due to the applied E-field.

    -

    For dynamics via the “run” command, this energy can be optionally -added to the system’s potential energy for thermodynamic output (see -below). For energy minimization via the “minimize” command, this -energy must be added to the system’s potential energy to formulate a -self-consistent minimization problem (see below).

    -

    The energy keyword is not allowed if the added field is a constant +with optional time-dependence as well. +

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it. +

    +
    + +

    Adding a force or torque to atoms implies a change in their potential +energy as they move or rotate due to the applied E-field. +

    +

    For dynamics via the "run" command, this energy can be optionally +added to the system's potential energy for thermodynamic output (see +below). For energy minimization via the "minimize" command, this +energy must be added to the system's potential energy to formulate a +self-consistent minimization problem (see below). +

    +

    The energy keyword is not allowed if the added field is a constant vector (ex,ey,ez), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each charged particle directly as E = -x dot qE = -q (x*ex + y*ey + z*ez), so that -Grad(E) = F. Similarly for point-dipole particles the energy can be computed as E = -mu dot E = -(mux*ex + muy*ey + -muz*ez).

    -

    The energy keyword is optional if the added force is defined with +muz*ez). +

    +

    The energy keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the -run command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics.

    -

    The energy keyword is required if the added force is defined with +run command. If the keyword is not used, LAMMPS will set +the energy to 0.0, which is typically fine for dynamics. +

    +

    The energy keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via -the “minimize” command for charged particles. It is not required for +the "minimize" command for charged particles. It is not required for point-dipoles, but a warning is issued since the minimizer in LAMMPS does not rotate dipoles, so you should not expect to be able to -minimize the orientation of dipoles in an applied electric field.

    -

    The energy keyword specifies the name of an atom-style -variable which is used to compute the energy of each -atom as function of its position. Like variables used for ex, ey, -ez, the energy variable is specified as v_name, where name is the -variable name.

    -

    Note that when the energy keyword is used during an energy +minimize the orientation of dipoles in an applied electric field. +

    +

    The energy keyword specifies the name of an atom-style +variable which is used to compute the energy of each +atom as function of its position. Like variables used for ex, ey, +ez, the energy variable is specified as v_name, where name is the +variable name. +

    +

    Note that when the energy keyword is used during an energy minimization, you must insure that the formula defined for the -atom-style variable is consistent with the force +atom-style variable is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force due to the electric field were a spring-like F = kx, then the energy -formula should be E = -0.5kx^2. If you don’t do this correctly, the -minimization will not converge properly.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this -fix to add the potential “energy” inferred by the added force due to -the electric field to the system’s potential energy as part of -thermodynamic output. This is a fictitious -quantity but is needed so that the minimize command +formula should be E = -0.5kx^2. If you don't do this correctly, the +minimization will not converge properly. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this +fix to add the potential "energy" inferred by the added force due to +the electric field to the system's potential energy as part of +thermodynamic output. This is a fictitious +quantity but is needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the -direction of the added force due to the electric field.

    -

    This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various output commands. The scalar is the potential +direction of the added force due to the electric field. +

    +

    This fix computes a global scalar and a global 3-vector of forces, +which can be accessed by various output +commands. The scalar is the potential energy discussed above. The vector is the total force added to the group of atoms. The scalar and vector values calculated by this fix -are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization.

    -
    -

    Warning

    -

    If you want the fictitious potential energy associated +the iteration count during the minimization. +

    +

    IMPORTANT NOTE: If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +fix_modify energy option for this fix. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix addforce +

    +

    Default: none +

    + diff --git a/doc/fix_enforce2d.html b/doc/fix_enforce2d.html index bbbd2809ba..87b0546b43 100644 --- a/doc/fix_enforce2d.html +++ b/doc/fix_enforce2d.html @@ -1,249 +1,74 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix enforce2d command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix enforce2d command¶

    -
    -
    -

    fix enforce2d/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID enforce2d
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • enforce2d = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 5 all enforce2d
    -
    -
    -
    -
    -

    Description¶

    -

    Zero out the z-dimension velocity and force on each atom in the group. + + +


    + +

    fix enforce2d command +

    +

    fix enforce2d/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID enforce2d 
    +
    +
    • ID, group-ID are documented in fix command +
    • enforce2d = style name of this fix command +
    +

    Examples: +

    +
    fix 5 all enforce2d 
    +
    +

    Description: +

    +

    Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do -not move from their initial z coordinate.

    -
    -

    Styles with a cuda suffix are functionally the same as the +not move from their initial z coordinate. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/fix_evaporate.html b/doc/fix_evaporate.html index 027b461c8e..5918faffc4 100644 --- a/doc/fix_evaporate.html +++ b/doc/fix_evaporate.html @@ -1,279 +1,109 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix evaporate command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix evaporate command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID evaporate N M region-ID seed
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • evaporate = style name of this fix command
    • -
    • N = delete atoms every this many timesteps
    • -
    • M = number of atoms to delete each time
    • -
    • region-ID = ID of region within which to perform deletions
    • -
    • seed = random number seed to use for choosing atoms to delete
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = molecule
    -  molecule value = no or yes
    -
    -
    -
    -

    Examples¶

    -
    fix 1 solvent evaporate 1000 10 surface 49892
    -fix 1 solvent evaporate 1000 10 surface 38277 molecule yes
    -
    -
    -
    -
    -

    Description¶

    -

    Remove M atoms from the simulation every N steps. This can be used, + + +


    + +

    fix evaporate command +

    +

    Syntax: +

    +
    fix ID group-ID evaporate N M region-ID seed 
    +
    +
    • ID, group-ID are documented in fix command + +
    • evaporate = style name of this fix command + +
    • N = delete atoms every this many timesteps + +
    • M = number of atoms to delete each time + +
    • region-ID = ID of region within which to perform deletions + +
    • seed = random number seed to use for choosing atoms to delete + +
    • zero or more keyword/value pairs may be appended + +
      keyword = molecule
      +  molecule value = no or yes 
      +
      + +
    +

    Examples: +

    +
    fix 1 solvent evaporate 1000 10 surface 49892
    +fix 1 solvent evaporate 1000 10 surface 38277 molecule yes 
    +
    +

    Description: +

    +

    Remove M atoms from the simulation every N steps. This can be used, for example, to model evaporation of solvent particles or moleclues (i.e. drying) of a system. Every N steps, the number of atoms in the fix group and within the specifed region are counted. M of these are chosen at random and deleted. If there are less than M eligible -particles, then all of them are deleted.

    -

    If the setting for the molecule keyword is no, then only single +particles, then all of them are deleted. +

    +

    If the setting for the molecule keyword is no, then only single atoms are deleted. In this case, you should insure you do not delete only a portion of a molecule (only some of its atoms), or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero -molecule ID, but does not check for this at the time of deletion.

    -

    If the setting for the molecule keyword is yes, then when an atom +molecule ID, but does not check for this at the time of deletion. +

    +

    If the setting for the molecule keyword is yes, then when an atom is chosen for deletion, the entire molecule it is part of is deleted. The count of deleted atoms is incremented by the number of atoms in -the molecule, which may make it exceed M. If the molecule ID of the +the molecule, which may make it exceed M. If the molecule ID of the chosen atom is 0, then it is assumed to not be part of a molecule, and -just the single atom is deleted.

    -

    As an example, if you wish to delete 10 water molecules every N -steps, you should set M to 30. If only the water’s oxygen atoms +just the single atom is deleted. +

    +

    As an example, if you wish to delete 10 water molecules every N +steps, you should set M to 30. If only the water's oxygen atoms were in the fix group, then two hydrogen atoms would be deleted when an oxygen atom is selected for deletion, whether the hydrogens are -inside the evaporation region or not.

    -

    Note that neighbor lists are re-built on timesteps that atoms are +inside the evaporation region or not. +

    +

    Note that neighbor lists are re-built on timesteps that atoms are removed. Thus you should not remove atoms too frequently or you will -incur overhead due to the cost of building neighbor lists.

    -
    -

    Warning

    -

    If you are monitoring the temperature of a system +incur overhead due to the cost of building neighbor lists. +

    +

    IMPORTANT NOTE: If you are monitoring the temperature of a system where the atom count is changing due to evaporation, you typically -should use the compute_modify dynamic yes -command for the temperature compute you are using.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar, which can be accessed by various -output commands. The scalar is the +should use the compute_modify dynamic yes +command for the temperature compute you are using. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the cummulative number of deleted atoms. The scalar value calculated by -this fix is “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are molecule = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +this fix is "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix deposit +

    +

    Default: +

    +

    The option defaults are molecule = no. +

    + diff --git a/doc/fix_external.html b/doc/fix_external.html index afdcf9d3ea..717bc456e4 100644 --- a/doc/fix_external.html +++ b/doc/fix_external.html @@ -1,322 +1,163 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix external command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix external command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID external mode args
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • external = style name of this fix command
    • -
    • mode = pf/callback or pf/array
    • -
    -
    -pf/callback args = Ncall Napply
    +
    +
    +
    + +

    fix external command +

    +

    Syntax: +

    +
    fix ID group-ID external mode args 
    +
    +
    • ID, group-ID are documented in fix command + +
    • external = style name of this fix command + +
    • mode = pf/callback or pf/array + +
        pf/callback args = Ncall Napply
           Ncall = make callback every Ncall steps
           Napply = apply callback forces every Napply steps
      -  pf/array args = Napply
      -    Napply = apply array forces every Napply steps
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all external pf/callback 1 1
    +  pf/array args = Napply
    +    Napply = apply array forces every Napply steps 
    +
    + + +

    Examples: +

    +
    fix 1 all external pf/callback 1 1
     fix 1 all external pf/callback 100 1
    -fix 1 all external pf/array 10
    -
    -
    -
    -
    -

    Description¶

    -

    This fix allows external programs that are running LAMMPS through its -library interface to modify certain +fix 1 all external pf/array 10 + +

    Description: +

    +

    This fix allows external programs that are running LAMMPS through its +library interface to modify certain LAMMPS properties on specific timesteps, similar to the way other -fixes do. The external driver can be a C/C++ or Fortran program or a Python script.

    -
    -

    If mode is pf/callback then the fix will make a callback every -Ncall timesteps or minimization iterations to the external program. +fixes do. The external driver can be a C/C++ or Fortran +program or a Python +script. +

    +
    + +

    If mode is pf/callback then the fix will make a callback every +Ncall timesteps or minimization iterations to the external program. The external program computes forces on atoms by setting values in an array owned by the fix. The fix then adds these forces to each atom -in the group, once every Napply steps, similar to the way the fix addforce command works. Note that if Ncall > -Napply, the force values produced by one callback will persist, and -be used multiple times to update atom forces.

    -

    The callback function “foo” is invoked by the fix as:

    -
    foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal);
    -
    -
    -

    The arguments are as follows:

    -
      -
    • ptr = pointer provided by and simply passed back to external driver
    • -
    • timestep = current LAMMPS timestep
    • -
    • nlocal = # of atoms on this processor
    • -
    • ids = list of atom IDs on this processor
    • -
    • x = coordinates of atoms on this processor
    • -
    • fexternal = forces to add to atoms on this processor
    • -
    -

    Note that timestep is a “bigint” which is defined in src/lmptype.h, -typically as a 64-bit integer.

    -

    Fexternal are the forces returned by the driver program.

    -

    The fix has a set_callback() method which the external driver can call +in the group, once every Napply steps, similar to the way the fix +addforce command works. Note that if Ncall > +Napply, the force values produced by one callback will persist, and +be used multiple times to update atom forces. +

    +

    The callback function "foo" is invoked by the fix as: +

    +
    foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal); 
    +
    +

    The arguments are as follows: +

    +
    • ptr = pointer provided by and simply passed back to external driver +
    • timestep = current LAMMPS timestep +
    • nlocal = # of atoms on this processor +
    • ids = list of atom IDs on this processor +
    • x = coordinates of atoms on this processor +
    • fexternal = forces to add to atoms on this processor +
    +

    Note that timestep is a "bigint" which is defined in src/lmptype.h, +typically as a 64-bit integer. +

    +

    Fexternal are the forces returned by the driver program. +

    +

    The fix has a set_callback() method which the external driver can call to pass a pointer to its foo() function. See the couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an example of how this is done. This sample application performs classical MD using quantum forces computed by a density functional -code Quest.

    -
    -

    If mode is pf/array then the fix simply stores force values in an +code Quest. +

    + + +
    + +

    If mode is pf/array then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once -every Napply steps, similar to the way the fix addforce command works.

    -

    The name of the public force array provided by the FixExternal -class is

    -
    double **fexternal;
    -
    -
    -

    It is allocated by the FixExternal class as an (N,3) array where N is +every Napply steps, similar to the way the fix +addforce command works. +

    +

    The name of the public force array provided by the FixExternal +class is +

    +
    double **fexternal; 
    +
    +

    It is allocated by the FixExternal class as an (N,3) array where N is the number of atoms owned by a processor. The 3 corresponds to the -fx, fy, fz components of force.

    -

    It is up to the external program to set the values in this array to +fx, fy, fz components of force. +

    +

    It is up to the external program to set the values in this array to the desired quantities, as often as desired. For example, the driver program might perform an MD run in stages of 1000 timesteps each. In -between calls to the LAMMPS run command, it could retrieve +between calls to the LAMMPS run command, it could retrieve atom coordinates from LAMMPS, compute forces, set values in fexternal, -etc.

    -
    -

    To use this fix during energy minimization, the energy corresponding +etc. +

    +
    + +

    To use this fix during energy minimization, the energy corresponding to the added forces must also be set so as to be consistent with the -added forces. Otherwise the minimization will not converge correctly.

    -

    This can be done from the external driver by calling this public -method of the FixExternal class:

    -
    void set_energy(double eng);
    -
    -
    -

    where eng is the potential energy. Eng is an extensive quantity, +added forces. Otherwise the minimization will not converge correctly. +

    +

    This can be done from the external driver by calling this public +method of the FixExternal class: +

    +
    void set_energy(double eng); 
    +
    +

    where eng is the potential energy. Eng is an extensive quantity, meaning it should be the sum over per-atom energies of all affected -atoms. It should also be provided in energy units +atoms. It should also be provided in energy units consistent with the simulation. See the details below for how to -insure this energy setting is used appropriately in a minimization.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this -fix to add the potential “energy” set by the external driver to the -system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is -needed so that the minimize command can include the +insure this energy setting is used appropriately in a minimization. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this +fix to add the potential "energy" set by the external driver to the +system's potential energy as part of thermodynamic +output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added force.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +added force. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the potential energy discussed above. The scalar stored by this fix -is “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the fictitious potential energy associated +is "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +fix_modify energy option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/fix_freeze.html b/doc/fix_freeze.html index 19100caf1b..ec829e4102 100644 --- a/doc/fix_freeze.html +++ b/doc/fix_freeze.html @@ -1,263 +1,93 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix freeze command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix freeze command¶

    -
    -
    -

    fix freeze/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID freeze
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • freeze = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 2 bottom freeze
    -
    -
    -
    -
    -

    Description¶

    -

    Zero out the force and torque on a granular particle. This is useful + + +


    + +

    fix freeze command +

    +

    fix freeze/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID freeze 
    +
    +
    • ID, group-ID are documented in fix command +
    • freeze = style name of this fix command +
    +

    Examples: +

    +
    fix 2 bottom freeze 
    +
    +

    Description: +

    +

    Zero out the force and torque on a granular particle. This is useful for preventing certain particles from moving in a simulation. The -granular pair styles also detect if this fix has been +granular pair styles also detect if this fix has been defined and compute interactions between frozen and non-frozen particles appropriately, as if the frozen particle has infinite mass. A similar functionality for normal (point) particles can be obtained -using fix setforce.

    -
    -

    Styles with a cuda suffix are functionally the same as the +using fix setforce. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    There can only be a single freeze fix defined. This is because other -the granular pair styles treat frozen particles +fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    There can only be a single freeze fix defined. This is because other +the granular pair styles treat frozen particles differently and need to be able to reference a single group to which -this fix is applied.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +this fix is applied. +

    +

    Related commands: +

    +

    atom_style sphere, fix setforce +

    +

    Default: none +

    + diff --git a/doc/fix_gcmc.html b/doc/fix_gcmc.html index dec2534783..576e6d6b43 100644 --- a/doc/fix_gcmc.html +++ b/doc/fix_gcmc.html @@ -1,490 +1,354 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix gcmc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix gcmc command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID gcmc N X M type seed T mu displace keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • gcmc = style name of this fix command
    • -
    • N = invoke this fix every N steps
    • -
    • X = average number of GCMC exchanges to attempt every N steps
    • -
    • M = average number of MC moves to attempt every N steps
    • -
    • type = atom type to assign to inserted atoms (offset for molecule insertion)
    • -
    • seed = random # seed (positive integer)
    • -
    • T = temperature of the ideal gas reservoir (temperature units)
    • -
    • mu = chemical potential of the ideal gas reservoir (energy units)
    • -
    • translate = maximum Monte Carlo translation distance (length units)
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    -
    -keyword = mol, region, maxangle, pressure, fugacity_coeff, full_energy, charge, group, grouptype, or intra_energy
    -  mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -  shake value = fix-ID
    -    fix-ID = ID of fix shake command
    -  region value = region-ID
    -    region-ID = ID of region where MC moves are allowed
    -  maxangle value = maximum molecular rotation angle (degrees)
    -  pressure value = pressure of the gas reservoir (pressure units)
    -  fugacity_coeff value = fugacity coefficient of the gas reservoir (unitless)
    -  full_energy = compute the entire system energy when performing MC moves
    -  charge value = charge of inserted atoms (charge units)
    -  group value = group-ID
    +
    +
    +
    + +

    fix gcmc command +

    +

    Syntax: +

    +
    fix ID group-ID gcmc N X M type seed T mu displace keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • gcmc = style name of this fix command + +
    • N = invoke this fix every N steps + +
    • X = average number of GCMC exchanges to attempt every N steps + +
    • M = average number of MC moves to attempt every N steps + +
    • type = atom type to assign to inserted atoms (offset for molecule insertion) + +
    • seed = random # seed (positive integer) + +
    • T = temperature of the ideal gas reservoir (temperature units) + +
    • mu = chemical potential of the ideal gas reservoir (energy units) + +
    • translate = maximum Monte Carlo translation distance (length units) + +
    • zero or more keyword/value pairs may be appended to args + +
      keyword = mol, region, maxangle, pressure, fugacity_coeff, full_energy, charge, group, grouptype, or intra_energy
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  shake value = fix-ID
      +    fix-ID = ID of fix shake command
      +  region value = region-ID
      +    region-ID = ID of region where MC moves are allowed 
      +  maxangle value = maximum molecular rotation angle (degrees) 
      +  pressure value = pressure of the gas reservoir (pressure units)
      +  fugacity_coeff value = fugacity coefficient of the gas reservoir (unitless) 
      +  full_energy = compute the entire system energy when performing MC moves
      +  charge value = charge of inserted atoms (charge units)
      +  group value = group-ID
           group-ID = group-ID for inserted atoms (string)
      -  grouptype values = type group-ID
      +  grouptype values = type group-ID 
           type = atom type (int)
           group-ID = group-ID for inserted atoms (string)
      -  intra_energy value = intramolecular energy (energy units)
      -
      -
    -
    -

    Examples¶

    -
    fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
    +  intra_energy value = intramolecular energy (energy units)  
    +
    + + +

    Examples: +

    +
    fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
     fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy
    -fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk
    -
    -
    -
    -
    -

    Description¶

    -

    This fix performs grand canonical Monte Carlo (GCMC) exchanges of +fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk + +

    Description: +

    +

    This fix performs grand canonical Monte Carlo (GCMC) exchanges of atoms or molecules of the given type with an imaginary ideal gas reservoir at the specified T and chemical potential (mu) as discussed in -(Frenkel). If used with the fix nvt command, +(Frenkel). If used with the fix nvt command, simulations in the grand canonical ensemble (muVT, constant chemical potential, constant volume, and constant temperature) can be performed. Specific uses include computing isotherms in microporous -materials, or computing vapor-liquid coexistence curves.

    -

    Every N timesteps the fix attempts a number of GCMC exchanges (insertions +materials, or computing vapor-liquid coexistence curves. +

    +

    Every N timesteps the fix attempts a number of GCMC exchanges (insertions or deletions) of gas atoms or molecules of the given type between the simulation cell and the imaginary reservoir. It also attempts a number of Monte Carlo moves (translations and molecule rotations) of gas of the given type -within the simulation cell or region. The average number of +within the simulation cell or region. The average number of attempted GCMC exchanges is X. The average number of attempted MC moves is M. M should typically be chosen to be approximately equal to the expected number of gas atoms or molecules -of the given type within the simulation cell or region, +of the given type within the simulation cell or region, which will result in roughly one -MC translation per atom or molecule per MC cycle.

    -

    For MC moves of molecular gasses, rotations and translations are each +MC translation per atom or molecule per MC cycle. +

    +

    For MC moves of molecular gasses, rotations and translations are each attempted with 50% probability. For MC moves of atomic gasses, translations are attempted 100% of the time. For MC exchanges of either molecular or atomic gasses, deletions and insertions are each -attempted with 50% probability.

    -

    All inserted particles are always assigned to two groups: the default group -“all” and the group specified in the fix gcmc command (which can also -be “all”). In addition, particles are also added to any groups specified -by the group and grouptype keywords. +attempted with 50% probability. +

    +

    All inserted particles are always assigned to two groups: the default group +"all" and the group specified in the fix gcmc command (which can also +be "all"). In addition, particles are also added to any groups specified +by the group and grouptype keywords. If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by -the molecule command, and those values are added to -the specified atom type. E.g. if type = 2, and the file specifies +the molecule command, and those values are added to +the specified atom type. E.g. if type = 2, and the file specifies atom types 1,2,3, then the inserted molecule will have atom types -3,4,5.

    -

    This fix cannot be used to perform MC insertions of gas atoms or +3,4,5. +

    +

    This fix cannot be used to perform MC insertions of gas atoms or molecules other than the exchanged type, but MC deletions, translations, and rotations can be performed on any atom/molecule in the fix group. All atoms in the simulation cell can be moved using regular time integration translations, e.g. via -fix_nvt, resulting in a hybrid GCMC+MD simulation. A +fix_nvt, resulting in a hybrid GCMC+MD simulation. A smaller-than-usual timestep size may be needed when running such a hybrid simulation, especially if the inserted molecules are not well -equilibrated.

    -

    This command may optionally use the region keyword to define an -exchange and move volume. The specified region must have been -previously defined with a region command. It must be -defined with side = in. Insertion attempts occur only within the -specified region. For non-rectangular regions, random trial +equilibrated. +

    +

    This command may optionally use the region keyword to define an +exchange and move volume. The specified region must have been +previously defined with a region command. It must be +defined with side = in. Insertion attempts occur only within the +specified region. For non-rectangular regions, random trial points are generated within the rectangular bounding box until a point is found that lies inside the region. If no valid point is generated after 1000 trials, no insertion is performed, but it is counted as an attempted insertion. -Move and deletion attempt candidates are selected +Move and deletion attempt candidates are selected from gas atoms or molecules within the region. If there are no candidates, no move or deletion is performed, but it is counted as an attempt move -or deletion. If an attempted move places the atom or molecule center-of-mass outside -the specified region, a new attempted move is generated. This process is repeated -until the atom or molecule center-of-mass is inside the specified region.

    -

    If used with fix_nvt, the temperature of the imaginary +or deletion. If an attempted move places the atom or molecule center-of-mass outside +the specified region, a new attempted move is generated. This process is repeated +until the atom or molecule center-of-mass is inside the specified region. +

    +

    If used with fix_nvt, the temperature of the imaginary reservoir, T, should be set to be equivalent to the target temperature -used in fix_nvt. Otherwise, the imaginary reservoir -will not be in thermal equilibrium with the simulation cell.

    -

    Note that neighbor lists are re-built every timestep that this fix is +used in fix_nvt. Otherwise, the imaginary reservoir +will not be in thermal equilibrium with the simulation cell. +

    +

    Note that neighbor lists are re-built every timestep that this fix is invoked, so you should not set N to be too small. However, periodic rebuilds are necessary in order to avoid dangerous rebuilds and missed interactions. Specifically, avoid performing so many MC translations per timestep that atoms can move beyond the neighbor list skin -distance. See the neighbor command for details.

    -

    When an atom or molecule is to be inserted, its +distance. See the neighbor command for details. +

    +

    When an atom or molecule is to be inserted, its coordinates are chosen at a random position within the current simulation cell or region, and new atom velocities are randomly chosen from the specified temperature distribution given by T. Relative coordinates for atoms in a molecule are taken from the template -molecule provided by the user, with the origin of the relative +molecule provided by the user, with the origin of the relative coordinates coinciding with the chosen insertion point. This means that if the origin of the template molecule coordinate system lies far from the center of the template molecule, -the inserted molecule will lie far from the insertion point. +the inserted molecule will lie far from the insertion point. A random initial rotation is used in -the case of molecule insertions.

    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads a file that defines the +the case of molecule insertions. +

    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads a file that defines the molecule. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can -be specified in the molecule file. See the molecule +be specified in the molecule file. See the molecule command for details. The only settings required to be in this file -are the coordinates and types of atoms in the molecule.

    -

    When not using the mol keyword, you should ensure you do not delete +are the coordinates and types of atoms in the molecule. +

    +

    When not using the mol keyword, you should ensure you do not delete atoms that are bonded to other atoms, or LAMMPS will soon generate an error when it tries to find bonded neighbors. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero -molecule ID, but does not check for this at the time of deletion.

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix shake command which also appears in your input script.

    -

    Optionally, users may specify the maximum rotation angle for -molecular rotations using the maxangle keyword and specifying +molecule ID, but does not check for this at the time of deletion. +

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix +shake command which also appears in your input script. +

    +

    Optionally, users may specify the maximum rotation angle for +molecular rotations using the maxangle keyword and specifying the angle in degrees. Rotations are performed by generating a random point on the unit sphere and a random rotation angle on the range [0,maxangle). The molecule is then rotated by that angle about an -axis passing through the molecule center of mass. The axis is parallel +axis passing through the molecule center of mass. The axis is parallel to the unit vector defined by the point on the unit sphere. The same procedure is used for randomly rotating molecules when they are inserted, except that the rotation axis passes through whatever -origin is used for the molecule template, and the maximum angle is -360 degrees.

    -

    Note that fix GCMC does not use configurational bias -MC or any other kind of sampling of intramolecular degrees of freedom. -Inserted molecules can have different orientations, but they will all -have the same intramolecular configuration, -which was specified in the molecule command input.

    -

    For atomic gasses, inserted atoms have the specified atom type, but -deleted atoms are any atoms that have been inserted or that belong -to the user-specified fix group. For molecular gasses, exchanged -molecules use the same atom types as in the template molecule +origin is used for the molecule template, and the maximum angle is +360 degrees. +

    +

    Note that fix GCMC does not use configurational bias +MC or any other kind of sampling of intramolecular degrees of freedom. +Inserted molecules can have different orientations, but they will all +have the same intramolecular configuration, +which was specified in the molecule command input. +

    +

    For atomic gasses, inserted atoms have the specified atom type, but +deleted atoms are any atoms that have been inserted or that belong +to the user-specified fix group. For molecular gasses, exchanged +molecules use the same atom types as in the template molecule supplied by the user. In both cases, exchanged -atoms/molecules are assigned to two groups: the default group “all” -and the group specified in the fix gcmc command (which can also be -“all”).

    -

    The gas reservoir pressure can be specified using the pressure -keyword, in which case the user-specified chemical potential is -ignored. For non-ideal gas reservoirs, the user may also specify the -fugacity coefficient using the fugacity_coeff keyword.

    -

    The full_energy option means that fix GCMC will compute the total +atoms/molecules are assigned to two groups: the default group "all" +and the group specified in the fix gcmc command (which can also be +"all"). +

    +

    The gas reservoir pressure can be specified using the pressure +keyword, in which case the user-specified chemical potential is +ignored. For non-ideal gas reservoirs, the user may also specify the +fugacity coefficient using the fugacity_coeff keyword. +

    +

    The full_energy option means that fix GCMC will compute the total potential energy of the entire simulated system. The total system energy before and after the proposed GCMC move is then used in the -Metropolis criterion to determine whether or not to accept the +Metropolis criterion to determine whether or not to accept the proposed GCMC move. By default, this option is off, in which case only partial energies are computed to determine the difference in -energy that would be caused by the proposed GCMC move.

    -

    The full_energy option is needed for systems with complicated -potential energy calculations, including the following:

    -
      -
    • long-range electrostatics (kspace)
    • -
    • many-body pair styles
    • -
    • hybrid pair styles
    • -
    • eam pair styles
    • -
    • triclinic systems
    • -
    • need to include potential energy contributions from other fixes
    • -
    -

    In these cases, LAMMPS will automatically apply the full_energy -keyword and issue a warning message.

    -

    When the mol keyword is used, the full_energy option also includes -the intramolecular energy of inserted and deleted molecules. If this -is not desired, the intra_energy keyword can be used to define an +energy that would be caused by the proposed GCMC move. +

    +

    The full_energy option is needed for systems with complicated +potential energy calculations, including the following: +

    +
    • long-range electrostatics (kspace) +
    • many-body pair styles +
    • hybrid pair styles +
    • eam pair styles +
    • triclinic systems +
    • need to include potential energy contributions from other fixes +
    +

    In these cases, LAMMPS will automatically apply the full_energy +keyword and issue a warning message. +

    +

    When the mol keyword is used, the full_energy option also includes +the intramolecular energy of inserted and deleted molecules. If this +is not desired, the intra_energy keyword can be used to define an amount of energy that is subtracted from the final energy when a molecule is inserted, and added to the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this -will ensure roughly the same behavior whether or not the full_energy -option is used.

    -

    Some fixes have an associated potential energy. Examples of such fixes -include: efield, gravity, -addforce, langevin, -restrain, temp/berendsen, -temp/rescale, and wall fixes. -For that energy to be included in the total potential energy of the +will ensure roughly the same behavior whether or not the full_energy +option is used. +

    +

    Some fixes have an associated potential energy. Examples of such fixes +include: efield, gravity, +addforce, langevin, +restrain, temp/berendsen, +temp/rescale, and wall fixes. +For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done.

    -

    Use the charge option to insert atoms with a user-specified point -charge. Note that doing so will cause the system to become non-neutral. -LAMMPS issues a warning when using long-range electrostatics (kspace) -with non-neutral systems. See the -compute_group_group documentation for more -details about simulating non-neutral systems with kspace on.

    -

    Use of this fix typically will cause the number of atoms to fluctuate, +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done. +

    +

    Use the charge option to insert atoms with a user-specified point +charge. Note that doing so will cause the system to become non-neutral. +LAMMPS issues a warning when using long-range electrostatics (kspace) +with non-neutral systems. See the +compute_group_group documentation for more +details about simulating non-neutral systems with kspace on. +

    +

    Use of this fix typically will cause the number of atoms to fluctuate, therefore, you will want to use the -compute_modify command to insure that the +compute_modify command to insure that the current number of atoms is used as a normalizing factor each time -temperature is computed. Here is the necessary command:

    -
    compute_modify thermo_temp dynamic yes
    -
    -
    -

    If LJ units are used, note that a value of 0.18292026 is used by this -fix as the reduced value for Planck’s constant. This value was +temperature is computed. Here is the necessary command: +

    +
    compute_modify thermo_temp dynamic yes 
    +
    +

    If LJ units are used, note that a value of 0.18292026 is used by this +fix as the reduced value for Planck's constant. This value was derived from LJ parameters for argon, where h* = h/sqrt(sigma^2 * epsilon * mass), sigma = 3.429 angstroms, epsilon/k = 121.85 K, and -mass = 39.948 amu.

    -

    The group keyword assigns all inserted atoms to the group -of the group-ID value. The grouptype keyword assigns all -inserted atoms of the specified type to the group -of the group-ID value.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the fix to binary restart files. This includes information about the random +mass = 39.948 amu. +

    +

    The group keyword assigns all inserted atoms to the group +of the group-ID value. The grouptype keyword assigns all +inserted atoms of the specified type to the group +of the group-ID value. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the fix to binary restart +files. This includes information about the random number generator seed, the next timestep for MC exchanges, etc. See -the read_restart command for info on how to +the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    This fix computes a global vector of length 8, which can be accessed -by various output commands. The vector -values are the following global cumulative quantities:

    -
      -
    • 1 = translation attempts
    • -
    • 2 = translation successes
    • -
    • 3 = insertion attempts
    • -
    • 4 = insertion successes
    • -
    • 5 = deletion attempts
    • -
    • 6 = deletion successes
    • -
    • 7 = rotation attempts
    • -
    • 8 = rotation successes
    • -
    -

    The vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -

    Do not set “neigh_modify once yes” or else this fix will never be -called. Reneighboring is required.

    -

    Can be run in parallel, but aspects of the GCMC part will not scale -well in parallel. Only usable for 3D simulations.

    -

    Note that very lengthy simulations involving insertions/deletions of +the operation of the fix continues in an uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    This fix computes a global vector of length 8, which can be accessed +by various output commands. The vector +values are the following global cumulative quantities: +

    +
    • 1 = translation attempts +
    • 2 = translation successes +
    • 3 = insertion attempts +
    • 4 = insertion successes +
    • 5 = deletion attempts +
    • 6 = deletion successes +
    • 7 = rotation attempts +
    • 8 = rotation successes +
    +

    The vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    Do not set "neigh_modify once yes" or else this fix will never be +called. Reneighboring is required. +

    +

    Can be run in parallel, but aspects of the GCMC part will not scale +well in parallel. Only usable for 3D simulations. +

    +

    Note that very lengthy simulations involving insertions/deletions of billions of gas molecules may run out of atom or molecule IDs and -trigger an error, so it is better to run multiple shorter-duration +trigger an error, so it is better to run multiple shorter-duration simulations. Likewise, very large molecules have not been tested -and may turn out to be problematic.

    -

    Use of multiple fix gcmc commands in the same input script can be -problematic if using a template molecule. The issue is that the +and may turn out to be problematic. +

    +

    Use of multiple fix gcmc commands in the same input script can be +problematic if using a template molecule. The issue is that the user-referenced template molecule in the second fix gcmc command may no longer exist since it might have been deleted by the first fix gcmc command. An existing template molecule will need to be -referenced by the user for each subsequent fix gcmc command.

    -
    - -
    -

    Default¶

    -

    The option defaults are mol = no, maxangle = 10, full_energy = no, +referenced by the user for each subsequent fix gcmc command. +

    +

    Related commands: +

    +

    fix_atom_swap, +fix_nvt, neighbor, +fix_deposit, fix_evaporate, +delete_atoms +

    +

    Default: +

    +

    The option defaults are mol = no, maxangle = 10, full_energy = no, except for the situations where full_energy is required, as -listed above.

    -
    -

    (Frenkel) Frenkel and Smit, Understanding Molecular Simulation, -Academic Press, London, 2002.

    -
    -
    +listed above. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Frenkel) Frenkel and Smit, Understanding Molecular Simulation, +Academic Press, London, 2002. +

    + diff --git a/doc/fix_gld.html b/doc/fix_gld.html index e3ad451b58..840a47265b 100644 --- a/doc/fix_gld.html +++ b/doc/fix_gld.html @@ -1,323 +1,171 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix gld command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix gld command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • gld = style name of this fix command
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    • N_k = number of terms in the Prony series representation of the memory kernel
    • -
    • seed = random number seed to use for white noise (positive integer)
    • -
    • series = pprony is presently the only available option
    • -
    • c_k = the weight of the kth term in the Prony series (mass per time units)
    • -
    • tau_k = the time constant of the kth term in the Prony series (time units)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = frozen or zero
    -  frozen value = no or yes
    -    no = initialize extended variables using values drawn from equilibrium distribution at Tstart
    -    yes = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature)
    -  zero value = no or yes
    -    no = do not set total random force to zero
    -    yes = set total random force to zero
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes
    -fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643
    -
    -
    -
    -
    -

    Description¶

    -

    Applies Generalized Langevin Dynamics to a group of atoms, as -described in (Baczewski). This is intended to model the + + +


    + +

    fix gld command +

    +

    Syntax: +

    +
    fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • gld = style name of this fix command + +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
    • N_k = number of terms in the Prony series representation of the memory kernel + +
    • seed = random number seed to use for white noise (positive integer) + +
    • series = pprony is presently the only available option + +
    • c_k = the weight of the kth term in the Prony series (mass per time units) + +
    • tau_k = the time constant of the kth term in the Prony series (time units) + +
    • zero or more keyword/value pairs may be appended + +
      keyword = frozen or zero
      +  frozen value = no or yes
      +    no = initialize extended variables using values drawn from equilibrium distribution at Tstart
      +    yes = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature)
      +  zero value = no or yes
      +    no = do not set total random force to zero
      +    yes = set total random force to zero 
      +
      + +
    +

    Examples: +

    +
    fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes
    +fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643 
    +
    +

    Description: +

    +

    Applies Generalized Langevin Dynamics to a group of atoms, as +described in (Baczewski). This is intended to model the effect of an implicit solvent with a temporally non-local dissipative force and a colored Gaussian random force, consistent with the Fluctuation-Dissipation Theorem. The functional form of the memory kernel associated with the temporally non-local force is constrained -to be a Prony series.

    -
    -

    Warning

    -

    While this fix bears many similarities to fix langevin, it has one significant -difference. Namely, fix gld performs time integration, -whereas fix langevin does NOT. To this end, the -specification of another fix to perform time integration, such as fix nve, is NOT necessary.

    -
    -

    With this fix active, the force on the *j*th atom is given as

    -_images/fix_gld1.jpg -

    Here, the first term is representative of all conservative (pairwise, +to be a Prony series. +

    +

    IMPORTANT NOTE: While this fix bears many similarities to fix +langevin, it has one significant +difference. Namely, fix gld performs time integration, +whereas fix langevin does NOT. To this end, the +specification of another fix to perform time integration, such as fix +nve, is NOT necessary. +

    +

    With this fix active, the force on the jth atom is given as +

    +
    +
    +

    Here, the first term is representative of all conservative (pairwise, bonded, etc) forces external to this fix, the second is the temporally non-local dissipative force given as a Prony series, and the third is -the colored Gaussian random force.

    -

    The Prony series form of the memory kernel is chosen to enable an +the colored Gaussian random force. +

    +

    The Prony series form of the memory kernel is chosen to enable an extended variable formalism, with a number of exemplary mathematical -features discussed in (Baczewski). In particular, 3N_k +features discussed in (Baczewski). In particular, 3N_k extended variables are added to each atom, which effect the action of the memory kernel without having to explicitly evaluate the integral over time in the second term of the force. This also has the benefit of requiring the generation of uncorrelated random forces, rather than -correlated random forces as specified in the third term of the force.

    -

    Presently, the Prony series coefficients are limited to being greater +correlated random forces as specified in the third term of the force. +

    +

    Presently, the Prony series coefficients are limited to being greater than or equal to zero, and the time constants are limited to being greater than zero. To this end, the value of series MUST be set to -pprony, for now. Future updates will allow for negative coefficients +pprony, for now. Future updates will allow for negative coefficients and other representations of the memory kernel. It is with these -updates in mind that the series option was included.

    -

    The units of the Prony series coefficients are chosen to be mass per +updates in mind that the series option was included. +

    +

    The units of the Prony series coefficients are chosen to be mass per time to ensure that the numerical integration scheme stably approaches the Newtonian and Langevin limits. Details of these limits, and the associated numerical concerns are discussed in -(Baczewski).

    -

    The desired temperature at each timestep is ramped from Tstart to -Tstop over the course of the next run.

    -

    The random # seed must be a positive integer. A Marsaglia random +(Baczewski). +

    +

    The desired temperature at each timestep is ramped from Tstart to +Tstop over the course of the next run. +

    +

    The random # seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors.

    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    The keyword frozen can be used to specify how the extended variables +runs on different numbers of processors. +

    +
    + +

    The keyword/value option pairs are used in the following ways. +

    +

    The keyword frozen can be used to specify how the extended variables associated with the GLD memory kernel are initialized. Specifying no (the default), the initial values are drawn at random from an -equilibrium distribution at Tstart, consistent with the +equilibrium distribution at Tstart, consistent with the Fluctuation-Dissipation Theorem. Specifying yes, initializes the -extended variables to zero.

    -

    The keyword zero can be used to eliminate drift due to the +extended variables to zero. +

    +

    The keyword zero can be used to eliminate drift due to the thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword zero is set to yes, the total random force is set exactly +keyword zero is set to yes, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time.

    -
    -

    Restart, run start/stop, minimize info:

    -

    The instantaneous values of the extended variables are written to -binary restart files. Because the state of the random +momentum will not drift over time. +

    +
    + +

    Restart, run start/stop, minimize info: +

    +

    The instantaneous values of the extended variables are written to +binary restart files. Because the state of the random number generator is not saved in restart files, this means you cannot -do “exact” restarts with this fix, where the simulation continues on +do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior.

    -

    None of the fix_modify options are relevant to this +sense, a restarted simulation should produce the same behavior. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are frozen = no, zero = no.

    -
    -

    (Baczewski) A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013).

    -
    -
    +access by various output commands. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix langevin, fix viscous, +pair_style dpd/tstat +

    +

    Default: +

    +

    The option defaults are frozen = no, zero = no. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Baczewski) A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013). +

    + diff --git a/doc/fix_gle.html b/doc/fix_gle.html index 3f678ca764..ec749d513b 100644 --- a/doc/fix_gle.html +++ b/doc/fix_gle.html @@ -1,321 +1,170 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix gle command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix gle command¶

    -
    -

    Syntax¶

    -
    fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride]
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • gle = style name of this fix command
    • -
    • Ns = number of additional fictitious momenta
    • -
    • Tstart, Tstop = temperature ramp during the run
    • -
    • Amatrix = file to read the drift matrix A from
    • -
    • seed = random number seed to use for generating noise (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -
    keyword = noneq and/or every
    -

    noneq Cmatrix = file to read the non-equilibrium covariance matrix from -every stride = apply the GLE once every time steps. Reduces the accuracy

    -
    -
    of the integration of the GLE, but has no effect on the accuracy of equilibrium -sampling. It might change sampling properties when used together with noneq.
    -
    -
    -
    -
    -

    Examples¶

    -

    fix 3 boundary gle 6 300 300 31415 smart.A -fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C

    -
    -
    -

    Description¶

    -

    Apply a Generalized Langevin Equation (GLE) thermostat as described -in (Ceriotti). The formalism allows one to obtain a number -of different effects ranging from efficient sampling of all -vibrational modes in the system to inexpensive (approximate) -modelling of nuclear quantum effects. Contrary to -fix langevin, this fix performs both -thermostatting and evolution of the Hamiltonian equations of motion, so it -should not be used together with fix nve – at least not -on the same atom groups.

    -

    Each degree of freedom in the thermostatted group is supplemented + + +


    + +

    fix gle command +

    +

    Syntax: +

    +
    fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride] 
    +
    +
    • ID, group-ID are documented in fix command + +
    • gle = style name of this fix command + +
    • Ns = number of additional fictitious momenta + +
    • Tstart, Tstop = temperature ramp during the run + +
    • Amatrix = file to read the drift matrix A from + +
    • seed = random number seed to use for generating noise (positive integer) + +
    • zero or more keyword/value pairs may be appended + +keyword = noneq and/or every + noneq Cmatrix = file to read the non-equilibrium covariance matrix from + every stride = apply the GLE once every time steps. Reduces the accuracy + of the integration of the GLE, but has *no effect* on the accuracy of equilibrium + sampling. It might change sampling properties when used together with noneq. + +
    +

    Examples: +

    +

    fix 3 boundary gle 6 300 300 31415 smart.A +fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C +

    +

    Description: +

    +

    Apply a Generalized Langevin Equation (GLE) thermostat as described +in (Ceriotti). The formalism allows one to obtain a number +of different effects ranging from efficient sampling of all +vibrational modes in the system to inexpensive (approximate) +modelling of nuclear quantum effects. Contrary to +fix langevin, this fix performs both +thermostatting and evolution of the Hamiltonian equations of motion, so it +should not be used together with fix nve -- at least not +on the same atom groups. +

    +

    Each degree of freedom in the thermostatted group is supplemented with Ns additional degrees of freedom s, and the equations of motion -become

    -

    dq/dt=p/m -d(p,s)/dt=(F,0) - A(p,s) + B dW/dt

    -

    where F is the physical force, A is the drift matrix (that generalizes -the friction in Langevin dynamics), B is the diffusion term and dW/dt +become +

    +

    dq/dt=p/m +d(p,s)/dt=(F,0) - A(p,s) + B dW/dt +

    +

    where F is the physical force, A is the drift matrix (that generalizes +the friction in Langevin dynamics), B is the diffusion term and dW/dt un-correlated Gaussian random forces. The A matrix couples the physical -(q,p) dynamics with that of the additional degrees of freedom, -and makes it possible to obtain effectively a history-dependent -noise and friction kernel.

    -

    The drift matrix should be given as an external file Afile, +(q,p) dynamics with that of the additional degrees of freedom, +and makes it possible to obtain effectively a history-dependent +noise and friction kernel. +

    +

    The drift matrix should be given as an external file Afile, as a (Ns+1 x Ns+1) matrix in inverse time units. Matrices that are -optimal for a given application and the system of choice can be -obtained from (GLE4MD).

    -

    Equilibrium sampling a temperature T is obtained by specifiying the -target value as the Tstart and Tstop arguments, so that the diffusion +optimal for a given application and the system of choice can be +obtained from (GLE4MD). +

    +

    Equilibrium sampling a temperature T is obtained by specifiying the +target value as the Tstart and Tstop arguments, so that the diffusion matrix that gives canonical sampling for a given A is computed automatically. However, the GLE framework also allow for non-equilibrium sampling, that can be used for instance to model inexpensively zero-point energy -effects (Ceriotti2). This is achieved specifying the -noneq keyword followed by the name of the file that contains the -static covariance matrix for the non-equilibrium dynamics.

    -

    Since integrating GLE dynamics can be costly when used together with -simple potentials, one can use the every optional keyword to -apply the Langevin terms only once every several MD steps, in a +effects (Ceriotti2). This is achieved specifying the +noneq keyword followed by the name of the file that contains the +static covariance matrix for the non-equilibrium dynamics. +

    +

    Since integrating GLE dynamics can be costly when used together with +simple potentials, one can use the every optional keyword to +apply the Langevin terms only once every several MD steps, in a multiple time-step fashion. This should be used with care when doing non-equilibrium sampling, but should have no effect on equilibrium -averages when using canonical sampling.

    -

    The random number seed must be a positive integer. A Marsaglia random +averages when using canonical sampling. +

    +

    The random number seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on -different numbers of processors.

    -

    Note also that the Generalized Langevin Dynamics scheme that is -implemented by the fix gld scheme is closely related +different numbers of processors. +

    +

    Note also that the Generalized Langevin Dynamics scheme that is +implemented by the fix gld scheme is closely related to the present one. In fact, it should be always possible to cast the Prony series form of the memory kernel used by GLD into an appropriate -input matrix for fix_gle. While the GLE scheme is more -general, the form used by fix gld can be more directly -related to the representation of an implicit solvent environment.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    The instantaneous values of the extended variables are written to -binary restart files. Because the state of the random +input matrix for fix_gle. While the GLE scheme is more +general, the form used by fix gld can be more directly +related to the representation of an implicit solvent environment. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    The instantaneous values of the extended variables are written to +binary restart files. Because the state of the random number generator is not saved in restart files, this means you cannot -do “exact” restarts with this fix, where the simulation continues on +do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and -subtle artefacts in the sampling.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    The fix_modify energy option is supported by this +restart, otherwise the same sequence of random numbers will be used +each time, which might lead to stochastic synchronization and +subtle artefacts in the sampling. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”.

    -
    -
    -

    Restrictions¶

    -

    The GLE thermostat in its current implementation should not be used +calculated by this fix is "extensive". +

    +

    Restrictions: +

    +

    The GLE thermostat in its current implementation should not be used with rigid bodies, SHAKE or RATTLE. It is expected that all the thermostatted degrees of freedom are fully flexible, and the sampled -ensemble will not be correct otherwise.

    -

    In order to perform constant-pressure simulations please use -fix press/berendsen, rather than -fix_npt, to avoid duplicate integration of the -equations of motion.

    -

    This fix is part of the USER-MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +ensemble will not be correct otherwise. +

    +

    In order to perform constant-pressure simulations please use +fix press/berendsen, rather than +fix_npt, to avoid duplicate integration of the +equations of motion. +

    +

    This fix is part of the USER-MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix nvt, fix temp/rescale, fix +viscous, fix nvt, pair_style +dpd/tstat, fix_gld +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ceriotti2) Ceriotti, Bussi and Parrinello, Phys Rev Lett 103, +030603 (2009) +

    + diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html index d9182988ae..cde892dc2a 100644 --- a/doc/fix_gravity.html +++ b/doc/fix_gravity.html @@ -1,317 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix gravity command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix gravity command¶

    -
    -
    -

    fix gravity/cuda command¶

    -
    -
    -

    fix gravity/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group gravity magnitude style args
    -
    -
    -
      -
    • ID, group are documented in fix command
    • -
    • gravity = style name of this fix command
    • -
    • magnitude = size of acceleration (force/mass units)
    • -
    • magnitude can be a variable (see below)
    • -
    • style = chute or spherical or gradient or vector
    • -
    -
    -chute args = angle
    +
    +
    +
    + +

    fix gravity command +

    +

    fix gravity/cuda command +

    +

    fix gravity/omp command +

    +

    Syntax: +

    +
    fix ID group gravity magnitude style args 
    +
    +
    • ID, group are documented in fix command + +
    • gravity = style name of this fix command + +
    • magnitude = size of acceleration (force/mass units) + +
    • magnitude can be a variable (see below) + +
    • style = chute or spherical or gradient or vector + +
        chute args = angle
           angle = angle in +x away from -z or -y axis in 3d/2d (in degrees)
           angle can be a variable (see below)
      -  spherical args = phi theta
      +  spherical args = phi theta
           phi = azimuthal angle from +x axis (in degrees)
           theta = angle from +z or +y axis in 3d/2d (in degrees)
           phi or theta can be a variable (see below)
      -  vector args = x y z
      +  vector args = x y z
           x y z = vector direction to apply the acceleration
      -    x or y or z can be a variable (see below)
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all gravity 1.0 chute 24.0
    +    x or y or z can be a variable (see below) 
    +
    + + +

    Examples: +

    +
    fix 1 all gravity 1.0 chute 24.0
     fix 1 all gravity v_increase chute 24.0
     fix 1 all gravity 1.0 spherical 0.0 -180.0
     fix 1 all gravity 10.0 spherical v_phi v_theta
    -fix 1 all gravity 100.0 vector 1 1 0
    -
    -
    -
    -
    -

    Description¶

    -

    Impose an additional acceleration on each particle in the group. This -fix is typically used with granular systems to include a “gravity” +fix 1 all gravity 100.0 vector 1 1 0 + +

    Description: +

    +

    Impose an additional acceleration on each particle in the group. This +fix is typically used with granular systems to include a "gravity" term acting on the macroscopic particles. More generally, it can represent any kind of driving field, e.g. a pressure gradient inducing a Poiseuille flow in a fluid. Note that this fix operates differently -than the fix addforce command. The addforce fix +than the fix addforce command. The addforce fix adds the same force to each atom, independent of its mass. This -command imparts the same acceleration to each atom (force/mass).

    -

    The magnitude of the acceleration is specified in force/mass units. +command imparts the same acceleration to each atom (force/mass). +

    +

    The magnitude of the acceleration is specified in force/mass units. For granular systems (LJ units) this is typically 1.0. See the -units command for details.

    -

    Style chute is typically used for simulations of chute flow where -the specified angle is the chute angle, with flow occurring in the +x +units command for details. +

    +

    Style chute is typically used for simulations of chute flow where +the specified angle is the chute angle, with flow occurring in the +x direction. For 3d systems, the tilt is away from the z axis; for 2d -systems, the tilt is away from the y axis.

    -

    Style spherical allows an arbitrary 3d direction to be specified for -the acceleration vector. Phi and theta are defined in the usual +systems, the tilt is away from the y axis. +

    +

    Style spherical allows an arbitrary 3d direction to be specified for +the acceleration vector. Phi and theta are defined in the usual spherical coordinates. Thus for acceleration acting in the -z -direction, theta would be 180.0 (or -180.0). Theta = 90.0 and -phi = -90.0 would mean acceleration acts in the -y direction. For -2d systems, phi is ignored and theta is an angle in the xy plane -where theta = 0.0 is the y-axis.

    -

    Style vector imposes an acceleration in the vector direction given -by (x,y,z). Only the direction of the vector is important; it’s -length is ignored. For 2d systems, the z component is ignored.

    -

    Any of the quantities magnitude, angle, phi, theta, x, y, -z which define the gravitational magnitude and direction, can be -specified as an equal-style variable. If the value is +direction, theta would be 180.0 (or -180.0). Theta = 90.0 and +phi = -90.0 would mean acceleration acts in the -y direction. For +2d systems, phi is ignored and theta is an angle in the xy plane +where theta = 0.0 is the y-axis. +

    +

    Style vector imposes an acceleration in the vector direction given +by (x,y,z). Only the direction of the vector is important; it's +length is ignored. For 2d systems, the z component is ignored. +

    +

    Any of the quantities magnitude, angle, phi, theta, x, y, +z which define the gravitational magnitude and direction, can be +specified as an equal-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the quantity. You should insure that the variable calculates a result in the approriate units, -e.g. force/mass or degrees.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +e.g. force/mass or degrees. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent gravitational -field.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +field. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the gravitational potential energy of the system to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. This scalar is the +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. This scalar is the gravitational potential energy of the particles in the defined field, namely mass * (g dot x) for each particles, where x and mass are the particles position and mass, and g is the gravitational field. The -scalar value calculated by this fix is “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +scalar value calculated by this fix is "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    atom_style sphere, fix addforce +

    +

    Default: none +

    + diff --git a/doc/fix_heat.html b/doc/fix_heat.html index 80536bf501..b519acab60 100644 --- a/doc/fix_heat.html +++ b/doc/fix_heat.html @@ -1,304 +1,137 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix heat command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix heat command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID heat N eflux
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • heat = style name of this fix command
    • -
    • N = add/subtract heat every this many timesteps
    • -
    • eflux = rate of heat addition or subtraction (energy/time units)
    • -
    • eflux can be a variable (see below)
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = region
    • -
    -
    -region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    -
    -
    -
    -

    Examples¶

    -
    fix 3 qin heat 1 1.0
    +
    +
    +
    + +

    fix heat command +

    +

    Syntax: +

    +
    fix ID group-ID heat N eflux 
    +
    +
    • ID, group-ID are documented in fix command + +
    • heat = style name of this fix command + +
    • N = add/subtract heat every this many timesteps + +
    • eflux = rate of heat addition or subtraction (energy/time units) + +
    • eflux can be a variable (see below) + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = region + +
        region value = region-ID
      +    region-ID = ID of region atoms must be in to have added force 
      +
      + +
    +

    Examples: +

    +
    fix 3 qin heat 1 1.0
     fix 3 qin heat 10 v_flux
    -fix 4 qout heat 1 -1.0 region top
    -
    -
    -
    -
    -

    Description¶

    -

    Add non-translational kinetic energy (heat) to a group of atoms in a +fix 4 qout heat 1 -1.0 region top + +

    Description: +

    +

    Add non-translational kinetic energy (heat) to a group of atoms in a manner that conserves their aggregate momentum. Two of these fixes can be used to establish a temperature gradient across a simulation domain by adding heat (energy) to one group of atoms (hot reservoir) and subtracting heat from another (cold reservoir). E.g. a simulation -sampling from the McDLT ensemble.

    -

    If the region keyword is used, the atom must be in both the group -and the specified geometric region in order to have +sampling from the McDLT ensemble. +

    +

    If the region keyword is used, the atom must be in both the group +and the specified geometric region in order to have energy added or subtracted to it. If not specified, then the atoms in -the group are affected wherever they may move to.

    -

    Heat addition/subtraction is performed every N timesteps. The eflux +the group are affected wherever they may move to. +

    +

    Heat addition/subtraction is performed every N timesteps. The eflux parameter can be specified as a numeric constant or as a variable (see below). If it is a numeric constant or equal-style variable which -evaluates to a scalar value, then the eflux determines the change in +evaluates to a scalar value, then the eflux determines the change in aggregate energy of the entire group of atoms per unit time, e.g. in -eV/psec for metal units. In this case it is an -“extensive” quantity, meaning its magnitude should be scaled with the -number of atoms in the group. Note that since eflux has per-time +eV/psec for metal units. In this case it is an +"extensive" quantity, meaning its magnitude should be scaled with the +number of atoms in the group. Note that since eflux has per-time units (i.e. it is a flux), this means that a larger value of N will -add/subtract a larger amount of energy each time the fix is invoked.

    -

    If eflux is specified as an atom-style variable (see below), then +add/subtract a larger amount of energy each time the fix is invoked. +

    +

    If eflux is specified as an atom-style variable (see below), then the variable computes one value per atom. In this case, each value is the energy flux for a single atom, again in units of energy per unit -time. In this case, each value is an “intensive” quantity, which need -not be scaled with the number of atoms in the group.

    -

    As mentioned above, the eflux parameter can be specified as an -equal-style or atom_style variable. If the value is a +time. In this case, each value is an "intensive" quantity, which need +not be scaled with the number of atoms in the group. +

    +

    As mentioned above, the eflux parameter can be specified as an +equal-style or atom_style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value(s) used to determine the flux.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value(s) used to determine the flux. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent flux.

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent flux. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent flux -with optional time-dependence as well.

    -
    -

    Warning

    -

    If heat is subtracted from the system too aggressively -so that the group’s kinetic energy would go to zero, or any individual -atom’s kinetic energy would go to zero for the case where eflux is -an atom-style variable, then LAMMPS will halt with an error message.

    -
    -

    Fix heat is different from a thermostat such as fix nvt -or fix temp/rescale in that energy is -added/subtracted continually. Thus if there isn’t another mechanism +with optional time-dependence as well. +

    +

    IMPORTANT NOTE: If heat is subtracted from the system too aggressively +so that the group's kinetic energy would go to zero, or any individual +atom's kinetic energy would go to zero for the case where eflux is +an atom-style variable, then LAMMPS will halt with an error message. +

    +

    Fix heat is different from a thermostat such as fix nvt +or fix temp/rescale in that energy is +added/subtracted continually. Thus if there isn't another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net -energy change is 0.0 or use fix viscous to drain -energy from the system.

    -

    This fix does not change the coordinates of its atoms; it only scales +energy change is 0.0 or use fix viscous to drain +energy from the system. +

    +

    This fix does not change the coordinates of its atoms; it only scales their velocities. Thus you must still use an integration fix -(e.g. fix nve) on the affected atoms. This fix should +(e.g. fix nve) on the affected atoms. This fix should not normally be used on atoms that have their temperature controlled -by another fix - e.g. fix nvt or fix langevin fix.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. This scalar is the +by another fix - e.g. fix nvt or fix +langevin fix. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. This scalar is the most recent value by which velocites were scaled. The scalar value -calculated by this fix is “intensive”. If eflux is specified as +calculated by this fix is "intensive". If eflux is specified as an atom-style variable, this fix computes the average value by which -the velocities were scaled for all of the atoms that had their -velocities scaled.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the velocities were scaled for all of the atoms that had their +velocities scaled. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute temp, compute +temp/region +

    +

    Default: none +

    + diff --git a/doc/fix_imd.html b/doc/fix_imd.html index ae1654cdc4..1d89148879 100644 --- a/doc/fix_imd.html +++ b/doc/fix_imd.html @@ -1,327 +1,172 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix imd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix imd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID imd trate port keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • imd = style name of this fix command
    • -
    • port = port number on which the fix listens for an IMD client
    • -
    • keyword = unwrap or fscale or trate
    • -
    -
    -unwrap arg = on or off
    +
    +
    +
    + +

    fix imd command +

    +

    Syntax: +

    +
    fix ID group-ID imd trate port keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • imd = style name of this fix command + +
    • port = port number on which the fix listens for an IMD client + +
    • keyword = unwrap or fscale or trate + +
        unwrap arg = on or off
           off = coordinates are wrapped back into the principal unit cell (default)
      -    on = "unwrapped" coordinates using the image flags used
      -  fscale arg = factor
      +    on = "unwrapped" coordinates using the image flags used
      +  fscale arg = factor
           factor = floating point number to scale IMD forces (default: 1.0)
      -  trate arg = transmission rate of coordinate data sets (default: 1)
      -  nowait arg = on or off
      +  trate arg = transmission rate of coordinate data sets (default: 1)
      +  nowait arg = on or off
           off = LAMMPS waits to be connected to an IMD client before continuing (default)
      -    on = LAMMPS listens for an IMD client, but continues with the run
      -
      -
    -
    -

    Examples¶

    -
    fix vmd all imd 5678
    -fix comm all imd 8888 trate 5 unwrap on fscale 10.0
    -
    -
    -
    -
    -

    Description¶

    -

    This fix implements the “Interactive MD” (IMD) protocol which allows + on = LAMMPS listens for an IMD client, but continues with the run + + + +

    Examples: +

    +
    fix vmd all imd 5678 
    +fix comm all imd 8888 trate 5 unwrap on fscale 10.0 
    +
    +

    Description: +

    +

    This fix implements the "Interactive MD" (IMD) protocol which allows realtime visualization and manipulation of MD simulations through the IMD protocol, as initially implemented in VMD and NAMD. Specifically -it allows LAMMPS to connect an IMD client, for example the VMD visualization program, so that it can monitor the progress of the -simulation and interactively apply forces to selected atoms.

    -

    If LAMMPS is compiled with the preprocessor flag -DLAMMPS_ASYNC_IMD +it allows LAMMPS to connect an IMD client, for example the VMD +visualization program, so that it can monitor the progress of the +simulation and interactively apply forces to selected atoms. +

    +

    If LAMMPS is compiled with the preprocessor flag -DLAMMPS_ASYNC_IMD then fix imd will use POSIX threads to spawn a IMD communication thread on MPI rank 0 in order to offload data reading and writing from the main execution thread and potentially lower the inferred latencies for slow communication links. This feature has only been -tested under linux.

    -

    There are example scripts for using this package with LAMMPS in +tested under linux. +

    +

    There are example scripts for using this package with LAMMPS in examples/USER/imd. Additional examples and a driver for use with the Novint Falcon game controller as haptic device can be found at: -http://sites.google.com/site/akohlmey/software/vrpn-icms.

    -

    The source code for this fix includes code developed by the +http://sites.google.com/site/akohlmey/software/vrpn-icms. +

    +

    The source code for this fix includes code developed by the Theoretical and Computational Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign. We thank them for providing a software -interface that allows codes like LAMMPS to hook to VMD.

    -

    Upon initialization of the fix, it will open a communication port on +interface that allows codes like LAMMPS to hook to VMD. +

    +

    Upon initialization of the fix, it will open a communication port on the node with MPI task 0 and wait for an incoming connection. As soon as an IMD client is connected, the simulation will continue and the -fix will send the current coordinates of the fix’s group to the IMD +fix will send the current coordinates of the fix's group to the IMD client at every trate MD step. When using r-RESPA, trate applies to the steps of the outmost RESPA level. During a run with an active IMD connection also the IMD client can request to apply forces to selected -atoms of the fix group.

    -

    The port number selected must be an available network port number. On -many machines, port numbers < 1024 are reserved for accounts with +atoms of the fix group. +

    +

    The port number selected must be an available network port number. On +many machines, port numbers < 1024 are reserved for accounts with system manager privilege and specific applications. If multiple imd fixes would be active at the same time, each needs to use a different -port number.

    -

    The nowait keyword controls the behavior of the fix when no IMD -client is connected. With the default setting of off, LAMMPS will +port number. +

    +

    The nowait keyword controls the behavior of the fix when no IMD +client is connected. With the default setting of off, LAMMPS will wait until a connection is made before continuing with the -execution. Setting nowait to on will have the LAMMPS code be ready +execution. Setting nowait to on will have the LAMMPS code be ready to connect to a client, but continue with the simulation. This can for example be used to monitor the progress of an ongoing calculation without the need to be permanently connected or having to download a -trajectory file.

    -

    The trate keyword allows to select how often the coordinate data is +trajectory file. +

    +

    The trate keyword allows to select how often the coordinate data is sent to the IMD client. It can also be changed on request of the IMD -client through an IMD protocol message. The unwrap keyword allows -to send “unwrapped” coordinates to the IMD client that undo the +client through an IMD protocol message. The unwrap keyword allows +to send "unwrapped" coordinates to the IMD client that undo the wrapping back of coordinates into the principle unit cell, as done by -default in LAMMPS. The fscale keyword allows to apply a scaling +default in LAMMPS. The fscale keyword allows to apply a scaling factor to forces transmitted by the IMD client. The IMD protocols stipulates that forces are transferred in kcal/mol/angstrom under the assumption that coordinates are given in angstrom. For LAMMPS runs with different units or as a measure to tweak the forces generated by the manipulation of the IMD client, this option allows to make -adjustments.

    -

    To connect VMD to a listening LAMMPS simulation on the same machine +adjustments. +

    +

    To connect VMD to a listening LAMMPS simulation on the same machine with fix imd enabled, one needs to start VMD and load a coordinate or topology file that matches the fix group. When the VMD command -prompts appears, one types the command line:

    -
    imd connect localhost 5678
    -
    -
    -

    This assumes that fix imd was started with 5678 as a port -number for the IMD protocol.

    -

    The steps to do interactive manipulation of a running simulation in -VMD are the following:

    -

    In the Mouse menu of the VMD Main window, select “Mouse -> Force -> -Atom”. You may alternately select “Residue”, or “Fragment” to apply +prompts appears, one types the command line: +

    +
    imd connect localhost 5678 
    +
    +

    This assumes that fix imd was started with 5678 as a port +number for the IMD protocol. +

    +

    The steps to do interactive manipulation of a running simulation in +VMD are the following: +

    +

    In the Mouse menu of the VMD Main window, select "Mouse -> Force -> +Atom". You may alternately select "Residue", or "Fragment" to apply forces to whole residues or fragments. Your mouse can now be used to apply forces to your simulation. Click on an atom, residue, or fragment and drag to apply a force. Click quickly without moving the mouse to turn the force off. You can also use a variety of 3D position trackers to apply forces to your simulation. Game controllers or haptic -devices with force-feedback such as the Novint Falcon or Sensable +devices with force-feedback such as the Novint Falcon or Sensable PHANTOM allow you to feel the resistance due to inertia or interactions -with neighbors that the atoms experience you are trying to move, as if -they were real objects. See the VMD IMD Homepage and the -VRPN-ICMS Homepage for more details.

    -

    If IMD control messages are received, a line of text describing the +with neighbors that the atoms experience you are trying to move, as if +they were real objects. See the VMD IMD Homepage and the +VRPN-ICMS Homepage for more details. +

    +

    If IMD control messages are received, a line of text describing the message and its effect will be printed to the LAMMPS output screen, if -screen output is active.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +screen output is active. +

    + + + + + + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    When used in combination with VMD, a topology or coordinate file has +quantities are stored by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    When used in combination with VMD, a topology or coordinate file has to be loaded, which matches (in number and ordering of atoms) the group the fix is applied to. The fix internally sorts atom IDs by ascending integer value; in VMD (and thus the IMD protocol) those will -be assigned 0-based consecutive index numbers.

    -

    When using multiple active IMD connections at the same time, each -needs to use a different port number.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +be assigned 0-based consecutive index numbers. +

    +

    When using multiple active IMD connections at the same time, each +needs to use a different port number. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 625ea18f16..4e77d2e948 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -1,194 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix indent command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix indent command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID indent K keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • indent = style name of this fix command
    • -
    • K = force constant for indenter surface (force/distance^2 units)
    • -
    • one or more keyword/value pairs may be appended
    • -
    • keyword = sphere or cylinder or plane or side or units
    • -
    -
    -sphere args = x y z R
    +
    +
    +
    + +

    fix indent command +

    +

    Syntax: +

    +
    fix ID group-ID indent K keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • indent = style name of this fix command + +
    • K = force constant for indenter surface (force/distance^2 units) + +
    • one or more keyword/value pairs may be appended + +
    • keyword = sphere or cylinder or plane or side or units + +
        sphere args = x y z R
           x,y,z = initial position of center of indenter (distance units)
           R = sphere radius of indenter (distance units)
           any of x,y,z,R can be a variable (see below)
      -  cylinder args = dim c1 c2 R
      -    dim = x or y or z = axis of cylinder
      +  cylinder args = dim c1 c2 R
      +    dim = x or y or z = axis of cylinder
           c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
           R = cylinder radius of indenter (distance units)
           any of c1,c2,R can be a variable (see below)
      -  plane args = dim pos side
      -    dim = x or y or z = plane perpendicular to this dimension
      +  plane args = dim pos side
      +    dim = x or y or z = plane perpendicular to this dimension
           pos = position of plane in dimension x, y, or z (distance units)
           pos can be a variable (see below)
      -    side = lo or hi
      -  side value = in or out
      -    in = the indenter acts on particles inside the sphere or cylinder
      -    out = the indenter acts on particles outside the sphere or cylinder
      -  units value = lattice or box
      +    side = lo or hi
      +  side value = in or out
      +    in = the indenter acts on particles inside the sphere or cylinder
      +    out = the indenter acts on particles outside the sphere or cylinder
      +  units value = lattice or box
           lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0
    +    box = the geometry is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0
     fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in
    -fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box
    -
    -
    -
    -
    -

    Description¶

    -

    Insert an indenter within a simulation box. The indenter repels all +fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box + +

    Description: +

    +

    Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow. Or it can be used as a constraining wall -around a simulation; see the discussion of the side keyword below.

    -

    The indenter can either be spherical or cylindrical or planar. You -must set one of those 3 keywords.

    -

    A spherical indenter exerts a force of magnitude

    -
    F(r) = - K (r - R)^2
    -
    -
    -

    on each atom where K is the specified force constant, r is the -distance from the atom to the center of the indenter, and R is the -radius of the indenter. The force is repulsive and F(r) = 0 for r > -R.

    -

    A cylindrical indenter exerts the same force, except that r is the +around a simulation; see the discussion of the side keyword below. +

    +

    The indenter can either be spherical or cylindrical or planar. You +must set one of those 3 keywords. +

    +

    A spherical indenter exerts a force of magnitude +

    +
    F(r) = - K (r - R)^2 
    +
    +

    on each atom where K is the specified force constant, r is the +distance from the atom to the center of the indenter, and R is the +radius of the indenter. The force is repulsive and F(r) = 0 for r > +R. +

    +

    A cylindrical indenter exerts the same force, except that r is the distance from the atom to the center axis of the cylinder. The -cylinder extends infinitely along its axis.

    -

    Spherical and cylindrical indenters account for periodic boundaries in +cylinder extends infinitely along its axis. +

    +

    Spherical and cylindrical indenters account for periodic boundaries in two ways. First, the center point of a spherical indenter (x,y,z) or axis of a cylindrical indenter (c1,c2) is remapped back into the simulation box, if the box is periodic in a particular dimension. @@ -196,182 +85,127 @@ This occurs every timestep if the indenter geometry is specified with a variable (see below), e.g. it is moving over time. Second, the calculation of distance to the indenter center or axis accounts for periodic boundaries. Both of these mean that an indenter can -effectively move through and straddle one or more periodic boundaries.

    -

    A planar indenter is really an axis-aligned infinite-extent wall -exerting the same force on atoms in the system, where R is the -position of the plane and r-R is the distance from the plane. If -the side parameter of the plane is specified as lo then it will +effectively move through and straddle one or more periodic boundaries. +

    +

    A planar indenter is really an axis-aligned infinite-extent wall +exerting the same force on atoms in the system, where R is the +position of the plane and r-R is the distance from the plane. If +the side parameter of the plane is specified as lo then it will indent from the lo end of the simulation box, meaning that atoms with -a coordinate less than the plane’s current position will be pushed +a coordinate less than the plane's current position will be pushed towards the hi end of the box and atoms with a coordinate higher than -the plane’s current position will feel no force. Vice versa if side -is specified as hi.

    -

    Any of the 4 quantities defining a spherical indenter’s geometry can -be specified as an equal-style variable, namely x, -y, z, or R. Similarly, for a cylindrical indenter, any of c1, -c2, or R, can be a variable. For a planar indenter, pos can be +the plane's current position will feel no force. Vice versa if side +is specified as hi. +

    +

    Any of the 4 quantities defining a spherical indenter's geometry can +be specified as an equal-style variable, namely x, +y, z, or R. Similarly, for a cylindrical indenter, any of c1, +c2, or R, can be a variable. For a planar indenter, pos can be a variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the -indenter geometry.

    -

    Note that equal-style variables can specify formulas with various -mathematical functions, and include thermo_style +indenter geometry. +

    +

    Note that equal-style variables can specify formulas with various +mathematical functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous -fashion. For the latter, see the start and stop keywords of the -run command and the elaplong keyword of thermo_style custom for details.

    -

    For example, if a spherical indenter’s x-position is specfied as v_x, -then this variable definition will keep it’s center at a relative +fashion. For the latter, see the start and stop keywords of the +run command and the elaplong keyword of thermo_style +custom for details. +

    +

    For example, if a spherical indenter's x-position is specfied as v_x, +then this variable definition will keep it's center at a relative position in the simulation box, 1/4 of the way from the left edge to -the right edge, even if the box size changes:

    -
    variable x equal "xlo + 0.25*lx"
    -
    -
    -

    Similarly, either of these variable definitions will move the indenter -from an initial position at 2.5 at a constant velocity of 5:

    -
    variable x equal "2.5 + 5*elaplong*dt"
    -variable x equal vdisplace(2.5,5)
    -
    -
    -

    If a spherical indenter’s radius is specified as v_r, then these +the right edge, even if the box size changes: +

    +
    variable x equal "xlo + 0.25*lx" 
    +
    +

    Similarly, either of these variable definitions will move the indenter +from an initial position at 2.5 at a constant velocity of 5: +

    +
    variable x equal "2.5 + 5*elaplong*dt"
    +variable x equal vdisplace(2.5,5) 
    +
    +

    If a spherical indenter's radius is specified as v_r, then these variable definitions will grow the size of the indenter at a specfied -rate.

    -
    variable r0 equal 0.0
    +rate.
    +

    +
    variable r0 equal 0.0
     variable rate equal 1.0
    -variable r equal "v_r0 + step*dt*v_rate"
    -
    -
    -

    If the side keyword is specified as out, which is the default, +variable r equal "v_r0 + step*dt*v_rate" + +

    If the side keyword is specified as out, which is the default, then particles outside the indenter are pushded away from its outer surface, as described above. This only applies to spherical or -cylindrical indenters. If the side keyword is specified as in, +cylindrical indenters. If the side keyword is specified as in, the action of the indenter is reversed. Particles inside the indenter are pushed away from its inner surface. In other words, the indenter is now a containing wall that traps the particles inside it. If the -radius shrinks over time, it will squeeze the particles.

    -

    The units keyword determines the meaning of the distance units used -to define the indenter geometry. A box value selects standard -distance units as defined by the units command, -e.g. Angstroms for units = real or metal. A lattice value means the -distance units are in lattice spacings. The lattice +radius shrinks over time, it will squeeze the particles. +

    +

    The units keyword determines the meaning of the distance units used +to define the indenter geometry. A box value selects standard +distance units as defined by the units command, +e.g. Angstroms for units = real or metal. A lattice value means the +distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. The (x,y,z) coords of the indenter position are scaled by the x,y,z lattice spacings respectively. The radius of a spherical or -cylindrical indenter is scaled by the x lattice spacing.

    -

    Note that the units keyword only affects indenter geometry parameters +cylindrical indenter is scaled by the x lattice spacing. +

    +

    Note that the units keyword only affects indenter geometry parameters specified directly with numbers, not those specified as variables. In -the latter case, you should use the xlat, ylat, zlat keywords of -the thermo_style command if you want to include -lattice spacings in a variable formula.

    -

    The force constant K is not affected by the units keyword. It is +the latter case, you should use the xlat, ylat, zlat keywords of +the thermo_style command if you want to include +lattice spacings in a variable formula. +

    +

    The force constant K is not affected by the units keyword. It is always in force/distance^2 units where force and distance are defined -by the units command. If you wish K to be scaled by the +by the units command. If you wish K to be scaled by the lattice spacing, you can define K with a variable whose formula -contains xlat, ylat, zlat keywords of the -thermo_style command, e.g.

    -
    variable k equal 100.0/xlat/xlat
    -fix 1 all indent $k sphere ...
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +contains xlat, ylat, zlat keywords of the +thermo_style command, e.g. +

    +
    variable k equal 100.0/xlat/xlat
    +fix 1 all indent $k sphere ... 
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and the indenter to -the system’s potential energy as part of thermodynamic output. The energy of each particle interacting -with the indenter is K/3 (r - R)^3.

    -

    This fix computes a global scalar energy and a global 3-vector of -forces (on the indenter), which can be accessed by various output commands. The scalar and vector values -calculated by this fix are “extensive”.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. Note that if you +the system's potential energy as part of thermodynamic +output. The energy of each particle interacting +with the indenter is K/3 (r - R)^3. +

    +

    This fix computes a global scalar energy and a global 3-vector of +forces (on the indenter), which can be accessed by various output +commands. The scalar and vector values +calculated by this fix are "extensive". +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. Note that if you define the indenter geometry with a variable using a time-dependent formula, LAMMPS uses the iteration count in the minimizer as the timestep. But it is almost certainly a bad idea to have the indenter change its position or size during a minimization. LAMMPS does not -check if you have done this.

    -
    -

    Warning

    -

    If you want the atom/indenter interaction energy to be +check if you have done this. +

    +

    IMPORTANT NOTE: If you want the atom/indenter interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you must enable the fix_modify -energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -
    -
    -

    Default¶

    -

    The option defaults are side = out and units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +being minimized), you must enable the fix_modify +energy option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: +

    +

    The option defaults are side = out and units = lattice. +

    + diff --git a/doc/fix_ipi.html b/doc/fix_ipi.html index 91c57815cc..1c76f7af28 100644 --- a/doc/fix_ipi.html +++ b/doc/fix_ipi.html @@ -1,267 +1,98 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ipi command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ipi command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ipi address port [unix]
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ipi = style name of this fix command
    • -
    • address = internet address (FQDN or IP), or UNIX socket name
    • -
    • port = port number (ignored for UNIX sockets)
    • -
    • optional keyword = unix, if present uses a unix socket
    • -
    -
    -
    -

    Examples¶

    -

    fix 1 all ipi my.server.com 12345 -fix 1 all ipi mysocket 666 unix

    -
    -
    -

    Description¶

    -

    This fix enables LAMMPS to be run as a client for the i-PI Python -wrapper (IPI) for performing a path integral molecular dynamics + + +


    + +

    fix ipi command +

    +

    Syntax: +

    +
    fix ID group-ID ipi address port [unix] 
    +
    +
    • ID, group-ID are documented in fix command +
    • ipi = style name of this fix command +
    • address = internet address (FQDN or IP), or UNIX socket name +
    • port = port number (ignored for UNIX sockets) +
    • optional keyword = unix, if present uses a unix socket +
    +

    Examples: +

    +

    fix 1 all ipi my.server.com 12345 +fix 1 all ipi mysocket 666 unix +

    +

    Description: +

    +

    This fix enables LAMMPS to be run as a client for the i-PI Python +wrapper (IPI) for performing a path integral molecular dynamics (PIMD) simulation. The philosophy behind i-PI is described in the -following publication (IPI-CPC).

    -

    A version of the i-PI package, containing only files needed for use +following publication (IPI-CPC). +

    +

    A version of the i-PI package, containing only files needed for use with LAMMPS, is provided in the tools/i-pi directory. See the tools/i-pi/manual.pdf for an introduction to i-PI. The examples/USER/i-pi directory contains example scripts for using i-PI -with LAMMPS.

    -

    In brief, the path integral molecular dynamics is performed by the +with LAMMPS. +

    +

    In brief, the path integral molecular dynamics is performed by the Python wrapper, while the client (LAMMPS in this case) simply computes forces and energy for each configuration. The communication between the two components takes place using sockets, and is reduced to the bare minimum. All the parameters of the dynamics are specified in the input of i-PI, and all the parameters of the force field must be -specified as LAMMPS inputs, preceding the fix ipi command.

    -

    The server address must be specified by the address argument, and +specified as LAMMPS inputs, preceding the fix ipi command. +

    +

    The server address must be specified by the address argument, and can be either the IP address, the fully-qualified name of the server, or the name of a UNIX socket for local, faster communication. In the -case of internet sockets, the port argument specifies the port -number on which i-PI is listening, while the unix optional switch -specifies that the socket is a UNIX socket.

    -

    Note that there is no check of data integrity, or that the atomic +case of internet sockets, the port argument specifies the port +number on which i-PI is listening, while the unix optional switch +specifies that the socket is a UNIX socket. +

    +

    Note that there is no check of data integrity, or that the atomic configurations make sense. It is assumed that the species in the i-PI input are listed in the same order as in the data file of LAMMPS. The initial configuration is ignored, as it will be substituted with the -coordinates received from i-PI before forces are ever evaluated.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    There is no restart information associated with this fix, since all -the dynamical parameters are dealt with by i-PI.

    -
    -
    -

    Restrictions¶

    -

    Using this fix on anything other than all atoms requires particular +coordinates received from i-PI before forces are ever evaluated. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    There is no restart information associated with this fix, since all +the dynamical parameters are dealt with by i-PI. +

    +

    Restrictions: +

    +

    Using this fix on anything other than all atoms requires particular care, since i-PI will know nothing on atoms that are not those whose coordinates are transferred. However, one could use this strategy to define an external potential acting on the atoms that are moved by -i-PI.

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info. Because of +i-PI. +

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. Because of the use of UNIX domain sockets, this fix will only work in a UNIX -environment.

    -
    - -
    +environment. +

    +

    Related commands: +

    +

    fix nve +

    +
    + -
    -
    -
    - +

    (IPI-CPC) Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, +1019-1026 (2014). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (IPI) +http://epfl-cosmo.github.io/gle4md/index.html?page=ipi +

    + diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 82b6ef3a03..78687927d9 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -1,490 +1,362 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix langevin command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix langevin command¶

    -
    -
    -

    fix langevin/kk command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID langevin Tstart Tstop damp seed keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • langevin = style name of this fix command
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    • Tstart can be a variable (see below)
    • -
    • damp = damping parameter (time units)
    • -
    • seed = random number seed to use for white noise (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = angmom or omega or scale or tally or zero
    • -
    -
    -angmom value = no or scale
    -    no = do not thermostat rotational degrees of freedom via the angular momentum
    +
    +
    +
    + +

    fix langevin command +

    +

    fix langevin/kk command +

    +

    Syntax: +

    +
    fix ID group-ID langevin Tstart Tstop damp seed keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • langevin = style name of this fix command + +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
    • Tstart can be a variable (see below) + +
    • damp = damping parameter (time units) + +
    • seed = random number seed to use for white noise (positive integer) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = angmom or omega or scale or tally or zero + +
        angmom value = no or scale
      +    no = do not thermostat rotational degrees of freedom via the angular momentum
           factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below
      -  gjf value = no or yes
      -    no = use standard formulation
      -    yes = use Gronbech-Jensen/Farago formulation
      -  omega value = no or yes
      -    no = do not thermostat rotational degrees of freedom via the angular velocity
      -    yes = do thermostat rotational degrees of freedom via the angular velocity
      -  scale values = type ratio
      +  gjf value = no or yes
      +    no = use standard formulation
      +    yes = use Gronbech-Jensen/Farago formulation
      +  omega value = no or yes
      +    no = do not thermostat rotational degrees of freedom via the angular velocity
      +    yes = do thermostat rotational degrees of freedom via the angular velocity
      +  scale values = type ratio
           type = atom type (1-N)
           ratio = factor by which to scale the damping coefficient
      -  tally value = no or yes
      -    no = do not tally the energy added/subtracted to atoms
      -    yes = do tally the energy added/subtracted to atoms
      -  zero value = no or yes
      -    no = do not set total random force to zero
      -    yes = set total random force to zero
      -
      -
    -
    -

    Examples¶

    -
    fix 3 boundary langevin 1.0 1.0 1000.0 699483
    +  tally value = no or yes
    +    no = do not tally the energy added/subtracted to atoms
    +    yes = do tally the energy added/subtracted to atoms
    +  zero value = no or yes
    +    no = do not set total random force to zero
    +    yes = set total random force to zero 
    +
    + + +

    Examples: +

    +
    fix 3 boundary langevin 1.0 1.0 1000.0 699483
     fix 1 all langevin 1.0 1.1 100.0 48279 scale 3 1.5
    -fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a Langevin thermostat as described in (Schneider) +fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 + +

    Description: +

    +

    Apply a Langevin thermostat as described in (Schneider) to a group of atoms which models an interaction with a background -implicit solvent. Used with fix nve, this command +implicit solvent. Used with fix nve, this command performs Brownian dynamics (BD), since the total force on each atom -will have the form:

    -
    F = Fc + Ff + Fr
    +will have the form:
    +

    +
    F = Fc + Ff + Fr
     Ff = - (m / damp) v
    -Fr is proportional to sqrt(Kb T m / (dt damp))
    -
    -
    -

    Fc is the conservative force computed via the usual inter-particle -interactions (pair_style, -bond_style, etc).

    -

    The Ff and Fr terms are added by this fix on a per-particle basis. -See the pair_style dpd/tstat command for a +Fr is proportional to sqrt(Kb T m / (dt damp)) + +

    Fc is the conservative force computed via the usual inter-particle +interactions (pair_style, +bond_style, etc). +

    +

    The Ff and Fr terms are added by this fix on a per-particle basis. +See the pair_style dpd/tstat command for a thermostatting option that adds similar terms on a pairwise basis to -pairs of interacting particles.

    -

    Ff is a frictional drag or viscous damping term proportional to the -particle’s velocity. The proportionality constant for each atom is +pairs of interacting particles. +

    +

    Ff is a frictional drag or viscous damping term proportional to the +particle's velocity. The proportionality constant for each atom is computed as m/damp, where m is the mass of the particle and damp is -the damping factor specified by the user.

    -

    Fr is a force due to solvent atoms at a temperature T randomly bumping +the damping factor specified by the user. +

    +

    Fr is a force due to solvent atoms at a temperature T randomly bumping into the particle. As derived from the fluctuation/dissipation theorem, its magnitude as shown above is proportional to sqrt(Kb T m / dt damp), where Kb is the Boltzmann constant, T is the desired temperature, m is the mass of the particle, dt is the timestep size, and damp is the damping factor. Random numbers are used to randomize the direction and magnitude of this force as described in -(Dunweg), where a uniform random number is used (instead of -a Gaussian random number) for speed.

    -

    Note that unless you use the omega or angmom keywords, the +(Dunweg), where a uniform random number is used (instead of +a Gaussian random number) for speed. +

    +

    Note that unless you use the omega or angmom keywords, the thermostat effect of this fix is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles, which have rotational degrees of freedom, are being thermostatted. The translational degrees of freedom can also have a bias velocity removed from them before -thermostatting takes place; see the description below.

    -
    -

    Warning

    -

    Unlike the fix nvt command which +thermostatting takes place; see the description below. +

    +

    IMPORTANT NOTE: Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to effect thermostatting. Thus you must use a separate time integration fix, -like fix nve to actually update the velocities and +like fix nve to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that also have their temperature -controlled by another fix - e.g. by fix nvt or fix temp/rescale commands.

    -
    -

    See this howto section of the manual for +controlled by another fix - e.g. by fix nvt or fix +temp/rescale commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop.

    -

    Tstart can be specified as an equal-style or atom-style -variable. In this case, the Tstop setting is +thermostatting. +

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. +

    +

    Tstart can be specified as an equal-style or atom-style +variable. In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -target temperature.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +target temperature. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature.

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent temperature. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent -temperature with optional time-dependence as well.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that remove a “bias” from the +temperature with optional time-dependence as well. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that remove a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or removing the x-component of velocity from the calculation. This is not done by default, but only if the -fix_modify command is used to assign a temperature +fix_modify command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages -for individual compute commands to determine which ones +for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back -in.

    -

    The damp parameter is specified in time units and determines how +in. +

    +

    The damp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time -units (tau or fmsec or psec - see the units command). +units (tau or fmsec or psec - see the units command). The damp factor can be thought of as inversely related to the viscosity of the solvent. I.e. a small relaxation time implies a hi-viscosity solvent and vice versa. See the discussion about gamma -and viscosity in the documentation for the fix viscous command for more details.

    -

    The random # seed must be a positive integer. A Marsaglia random +and viscosity in the documentation for the fix +viscous command for more details. +

    +

    The random # seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on -different numbers of processors.

    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    The keyword angmom and omega keywords enable thermostatting of +different numbers of processors. +

    +
    + +

    The keyword/value option pairs are used in the following ways. +

    +

    The keyword angmom and omega keywords enable thermostatting of rotational degrees of freedom in addition to the usual translational -degrees of freedom. This can only be done for finite-size particles.

    -

    A simulation using atom_style sphere defines an omega for finite-size +degrees of freedom. This can only be done for finite-size particles. +

    +

    A simulation using atom_style sphere defines an omega for finite-size spheres. A simulation using atom_style ellipsoid defines a finite size and shape for aspherical particles and an angular momentum. The Langevin formulas for thermostatting the rotational degrees of freedom are the same as those above, where force is replaced by torque, m is replaced by the moment of inertia I, and v is replaced by omega (which is derived from the angular momentum in the case of -aspherical particles).

    -

    The rotational temperature of the particles can be monitored by the -compute temp/sphere and compute temp/asphere commands with their rotate -options.

    -

    For the omega keyword there is also a scale factor of 10.0/3.0 that +aspherical particles). +

    +

    The rotational temperature of the particles can be monitored by the +compute temp/sphere and compute +temp/asphere commands with their rotate +options. +

    +

    For the omega keyword there is also a scale factor of 10.0/3.0 that is applied as a multiplier on the Ff (damping) term in the equation above and of sqrt(10.0/3.0) as a multiplier on the Fr term. This does not affect the thermostatting behaviour of the Langevin formalism but insures that the randomized rotational diffusivity of spherical -particles is correct.

    -

    For the angmom keyword a similar scale factor is needed which is +particles is correct. +

    +

    For the angmom keyword a similar scale factor is needed which is 10.0/3.0 for spherical particles, but is anisotropic for aspherical particles (e.g. ellipsoids). Currently LAMMPS only applies an isotropic scale factor, and you can choose its magnitude as the -specified value of the angmom keyword. If your aspherical particles +specified value of the angmom keyword. If your aspherical particles are (nearly) spherical than a value of 10.0/3.0 = 3.333 is a good choice. If they are highly aspherical, a value of 1.0 is as good a choice as any, since the effects on rotational diffusivity of the particles will be incorrect regardless. Note that for any reasonable -scale factor, the thermostatting effect of the angmom keyword on the +scale factor, the thermostatting effect of the angmom keyword on the rotational temperature of the aspherical particles should still be -valid.

    -

    The keyword scale allows the damp factor to be scaled up or down by +valid. +

    +

    The keyword scale allows the damp factor to be scaled up or down by the specified factor for atoms of that type. This can be useful when different atom types have different sizes or masses. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increases the relaxation time which is -equivalent to the solvent’s viscosity acting on particles with 1/2 the +equivalent to the solvent's viscosity acting on particles with 1/2 the diameter. This is the opposite effect of scale factors used by the -fix viscous command, since the damp factor in fix -langevin is inversely related to the gamma factor in fix viscous. -Also note that the damping factor in fix langevin includes the -particle mass in Ff, unlike fix viscous. Thus the mass and size of +fix viscous command, since the damp factor in fix +langevin is inversely related to the gamma factor in fix viscous. +Also note that the damping factor in fix langevin includes the +particle mass in Ff, unlike fix viscous. Thus the mass and size of different atom types should be accounted for in the choice of ratio -values.

    -

    The keyword tally enables the calculation of the cumulative energy +values. +

    +

    The keyword tally enables the calculation of the cumulative energy added/subtracted to the atoms as they are thermostatted. Effectively it is the energy exchanged between the infinite thermal reservoir and the particles. As described below, this energy can then be printed out or added to the potential energy of the system to monitor energy -conservation.

    -
    -

    Warning

    -

    this accumulated energy does NOT include kinetic -energy removed by the zero flag. LAMMPS will print a warning when -both options are active.

    -
    -

    The keyword zero can be used to eliminate drift due to the +conservation. +

    +

    IMPORTANT NOTE: this accumulated energy does NOT include kinetic +energy removed by the zero flag. LAMMPS will print a warning when +both options are active. +

    +

    The keyword zero can be used to eliminate drift due to the thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword zero is set to yes, the total random force is set exactly +keyword zero is set to yes, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time.

    -

    The keyword gjf can be used to run the Gronbech-Jensen/Farago time-discretization of the Langevin model. As +momentum will not drift over time. +

    +

    The keyword gjf can be used to run the Gronbech-Jensen/Farago + time-discretization of the Langevin model. As described in the papers cited below, the purpose of this method is to enable longer timesteps to be used (up to the numerical stability limit of the integrator), while still producing the correct Boltzmann distribution of atom positions. It is implemented within LAMMPS, by changing how the the random force is applied so that it is composed of the average of two random forces representing half-contributions from -the previous and current time intervals.

    -

    In common with all methods based on Verlet integration, the +the previous and current time intervals. +

    +

    In common with all methods based on Verlet integration, the discretized velocities generated by this method in conjunction with velocity-Verlet time integration are not exactly conjugate to the positions. As a result the temperature (computed from the discretized velocities) will be systematically lower than the target temperature, by a small amount which grows with the timestep. Nonetheless, the distribution of atom positions will still be consistent with the -target temperature.

    -

    As an example of using the gjf keyword, for molecules containing C-H +target temperature. +

    +

    As an example of using the gjf keyword, for molecules containing C-H bonds, configurational properties generated with dt = 2.5 fs and tdamp = 100 fs are indistinguishable from dt = 0.5 fs. Because the velocity distribution systematically decreases with increasing timestep, the method should not be used to generate properties that depend on the velocity distribution, such as the velocity autocorrelation function (VACF). In this example, the velocity distribution at dt = 2.5fs -generates an average temperature of 220 K, instead of 300 K.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +generates an average temperature of 220 K, instead of 300 K. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. Because the state of the random number generator -is not saved in restart files, this means you cannot do “exact” +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same.

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system’s potential energy as part of thermodynamic output. Note that use of this option requires -setting the tally keyword to yes.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. Note that use of this option requires +setting the tally keyword to yes. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”. Note that calculation of this -quantity requires setting the tally keyword to yes.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are angmom = no, omega = no, scale = 1.0 for all -types, tally = no, zero = no, gjf = no.

    -
    -

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).

    -

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978).

    -

    (Gronbech-Jensen) Gronbech-Jensen and Farago, Mol Phys, 111, 983 -(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, -185, 524 (2014)

    -
    -
    +calculated by this fix is "extensive". Note that calculation of this +quantity requires setting the tally keyword to yes. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix nvt, fix temp/rescale, fix +viscous, fix nvt, pair_style +dpd/tstat +

    +

    Default: +

    +

    The option defaults are angmom = no, omega = no, scale = 1.0 for all +types, tally = no, zero = no, gjf = no. +

    +
    + -
    -
    -
    - +

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). +

    + -
    +

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Gronbech-Jensen) Gronbech-Jensen and Farago, Mol Phys, 111, 983 +(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, +185, 524 (2014) +

    + diff --git a/doc/fix_langevin_drude.html b/doc/fix_langevin_drude.html index b181e27176..a118f323c6 100644 --- a/doc/fix_langevin_drude.html +++ b/doc/fix_langevin_drude.html @@ -1,434 +1,280 @@ + + + + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix langevin/drude command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix langevin/drude command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • langevin/drude = style name of this fix command
    • -
    • Tcom = desired temperature of the centers of mass (temperature units)
    • -
    • damp_com = damping parameter for the thermostat on centers of mass (time units)
    • -
    • seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer)
    • -
    • Tdrude = desired temperature of the Drude oscillators (temperature units)
    • -
    • damp_drude = damping parameter for the thermostat on Drude oscillators (time units)
    • -
    • seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = zero
    • -
    -
    -zero value = no or yes
    -    no = do not set total random force on centers of mass to zero
    -    yes = set total random force on centers of mass to zero
    -
    -
    -
    -

    Examples¶

    -
    fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451
    -fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes
    -
    -
    -
    -
    -

    Description¶

    -

    Apply two Langevin thermostats as described in (Jiang) for + + +


    + +

    fix langevin/drude command +

    +

    Syntax: +

    +
    fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • langevin/drude = style name of this fix command + +
    • Tcom = desired temperature of the centers of mass (temperature units) + +
    • damp_com = damping parameter for the thermostat on centers of mass (time units) + +
    • seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) + +
    • Tdrude = desired temperature of the Drude oscillators (temperature units) + +
    • damp_drude = damping parameter for the thermostat on Drude oscillators (time units) + +
    • seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = zero + +
        zero value = no or yes
      +    no = do not set total random force on centers of mass to zero
      +    yes = set total random force on centers of mass to zero 
      +
      + +
    +

    Examples: +

    +
    fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451
    +fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes 
    +
    +

    Description: +

    +

    Apply two Langevin thermostats as described in (Jiang) for thermalizing the reduced degrees of freedom of Drude oscillators. -This link describes how to use the thermalized Drude oscillator model in LAMMPS and polarizable models in LAMMPS -are discussed in this Section.

    -

    Drude oscillators are a way to simulate polarizables atoms, by +This link describes how to use the thermalized Drude oscillator +model in LAMMPS and polarizable models in LAMMPS +are discussed in this Section. +

    +

    Drude oscillators are a way to simulate polarizables atoms, by splitting them into a core and a Drude particle bound by a harmonic bond. The thermalization works by transforming the particles degrees of freedom by these equations. In these equations upper case denotes atomic or center of mass values and lower case denotes Drude particle or dipole values. Primes denote the transformed (reduced) values, -while bare letters denote the original values.

    -

    Velocities: -begin{equation} V’ = frac {M, V + m, v} {M’} end{equation} -begin{equation} v’ = v - V end{equation} +while bare letters denote the original values. +

    +Velocities: +\begin{equation} V' = \frac {M\, V + m\, v} {M'} \end{equation} +\begin{equation} v' = v - V \end{equation} Masses: -begin{equation} M’ = M + m end{equation} -begin{equation} m’ = frac {M, m } {M’} end{equation} +\begin{equation} M' = M + m \end{equation} +\begin{equation} m' = \frac {M\, m } {M'} \end{equation} The Langevin forces are computed as -begin{equation} F’ = - frac {M’} {mathtt{damp_com}}, V’ + F_r’ end{equation} -begin{equation} f’ = - frac {m’} {mathtt{damp_drude}}, v’ + f_r’ end{equation} -(F_r’) is a random force proportional to -(sqrt { frac {2, k_B mathtt{Tcom}, m’}

    -
    -
    -
    {mathrm dt, mathtt{damp_com} }
    -

    } ).

    -
    -

    (f_r’) is a random force proportional to -(sqrt { frac {2, k_B mathtt{Tdrude}, m’}

    -
    -
    -
    {mathrm dt, mathtt{damp_drude} }
    -

    } ).

    -
    -

    Then the real forces acting on the particles are computed from the inverse +\begin{equation} F' = - \frac {M'} {\mathtt{damp\_com}}\, V' + F_r' \end{equation} +\begin{equation} f' = - \frac {m'} {\mathtt{damp\_drude}}\, v' + f_r' \end{equation} +\(F_r'\) is a random force proportional to +\(\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} + {\mathrm dt\, \mathtt{damp\_com} } + } \). +
    +\(f_r'\) is a random force proportional to +\(\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} + {\mathrm dt\, \mathtt{damp\_drude} } + } \). +
    +

    Then the real forces acting on the particles are computed from the inverse transform: -begin{equation} F = frac M {M’}, F’ - f’ end{equation} -begin{equation} f = frac m {M’}, F’ + f’ end{equation}

    -

    This fix also thermostates non-polarizable atoms in the group at -temperature Tcom, as if they had a massless Drude partner. The +\begin{equation} F = \frac M {M'}\, F' - f' \end{equation} +\begin{equation} f = \frac m {M'}\, F' + f' \end{equation} +

    +

    This fix also thermostates non-polarizable atoms in the group at +temperature Tcom, as if they had a massless Drude partner. The Drude particles themselves need not be in the group. The center of mass and the dipole are thermostated iff the core atom is in the -group.

    -

    Note that the thermostat effect of this fix is applied to only the +group. +

    +

    Note that the thermostat effect of this fix is applied to only the translational degrees of freedom of the particles, which is an important consideration if finite-size particles, which have rotational degrees of freedom, are being thermostated. The translational degrees of freedom can also have a bias velocity removed -from them before thermostating takes place; see the description below.

    -
    -

    Warning

    -

    Like the fix langevin command, +from them before thermostating takes place; see the description below. +

    +

    IMPORTANT NOTE: Like the fix langevin command, this fix does NOT perform time integration. It only modifies forces to effect thermostating. Thus you must use a separate time integration -fix, like fix nve or fix nph to actually +fix, like fix nve or fix nph to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that -also have their temperature controlled by another fix - e.g. by fix nvt or fix temp/rescale commands.

    -
    -

    See this howto section of the manual for +also have their temperature controlled by another fix - e.g. by fix +nvt or fix temp/rescale commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostating.

    -
    -

    This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the fix drude command to -specify the Drude status of each atom type.

    -
    -

    Warning

    -

    only the Drude core atoms need to be in the group +thermostating. +

    +
    + +

    This fix requires each atom know whether it is a Drude particle or +not. You must therefore use the fix drude command to +specify the Drude status of each atom type. +

    +

    IMPORTANT NOTE: only the Drude core atoms need to be in the group specified for this fix. A Drude electron will be transformed together with its cores even if it is not itself in the group. It is safe to include Drude electrons or non-polarizable atoms in the group. The non-polarizable atoms will simply not be thermostatted as if they had -a massless Drude partner (electron).

    -
    -
    -

    Warning

    -

    Ghost atoms need to know their velocity for this fix -to act correctly. You must use the comm_modify -command to enable this, e.g.

    -
    -
    comm_modify vel yes
    -
    -
    -
    -

    Tcom is the target temperature of the centers of mass, which would -be used to thermostate the non-polarizable atoms. Tdrude is the +a massless Drude partner (electron). +

    +

    IMPORTANT NOTE: Ghost atoms need to know their velocity for this fix +to act correctly. You must use the comm_modify +command to enable this, e.g. +

    +
    comm_modify vel yes 
    +
    +
    + +

    Tcom is the target temperature of the centers of mass, which would +be used to thermostate the non-polarizable atoms. Tdrude is the (normally low) target temperature of the core-Drude particle pairs -(dipoles). Tcom and Tdrude can be specified as an equal-style -variable. If the value is a variable, it should be +(dipoles). Tcom and Tdrude can be specified as an equal-style +variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to -determine the target temperature.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +determine the target temperature. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature.

    -

    Like other fixes that perform thermostating, this fix can be used with -compute commands that remove a “bias” from the atom +time. Thus it is easy to specify a time-dependent temperature. +

    +

    Like other fixes that perform thermostating, this fix can be used with +compute commands that remove a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms. This is not done by default, but only if the -fix_modify command is used to assign a temperature +fix_modify command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages -for individual compute commands to determine which ones +for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostating is performed on the remaining thermal degrees of freedom, and the bias is added back -in. NOTE: this feature has not been tested.

    -

    Note: The temperature thermostating the core-Drude particle pairs +in. NOTE: this feature has not been tested. +

    +

    Note: The temperature thermostating the core-Drude particle pairs should be chosen low enough, so as to mimic as closely as possible the self-consistent minimization. It must however be high enough, so that the dipoles can follow the local electric field exerted by the neighbouring atoms. The optimal value probably depends on the temperature of the centers of mass and on the mass of the Drude -particles.

    -

    damp_com is the characteristic time for reaching thermal equilibrium +particles. +

    +

    damp_com is the characteristic time for reaching thermal equilibrium of the centers of mass. For example, a value of 100.0 means to relax the temperature of the centers of mass in a timespan of (roughly) 100 -time units (tau or fmsec or psec - see the units -command). damp_drude is the characteristic time for reaching -thermal equilibrium of the dipoles. It is typically a few timesteps.

    -

    The number seed_com and seed_drude are positive integers. They set +time units (tau or fmsec or psec - see the units +command). damp_drude is the characteristic time for reaching +thermal equilibrium of the dipoles. It is typically a few timesteps. +

    +

    The number seed_com and seed_drude are positive integers. They set the seeds of the Marsaglia random number generators used for generating the random forces on centers of mass and on the dipoles. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of -processors.

    -

    The keyword zero can be used to eliminate drift due to the +processors. +

    +

    The keyword zero can be used to eliminate drift due to the thermostat on centers of mass. Because the random forces on different centers of mass are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the momentum of the total center of mass of the system undergoes a -slow random walk. If the keyword zero is set to yes, the total +slow random walk. If the keyword zero is set to yes, the total random force on the centers of mass is set exactly to zero by subtracting off an equal part of it from each center of mass in the group. As a result, the total center of mass of a system with zero -initial momentum will not drift over time.

    -

    The actual temperatures of cores and Drude particles, in +initial momentum will not drift over time. +

    +

    The actual temperatures of cores and Drude particles, in center-of-mass and relatice coordinates, respectively, can be -calculated using the compute temp/drude -command.

    -
    -

    Usage example for rigid bodies in the NPT ensemble:

    -
    comm_modify vel yes
    +calculated using the compute temp/drude
    +command.
    +

    +
    + +

    Usage example for rigid bodies in the NPT ensemble: +

    +
    comm_modify vel yes
     fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes
     fix NPH ATOMS rigid/nph/small molecule iso 1. 1. 500.
     fix NVE DRUDES nve
    -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TATOM c_TDRUDE f_TEMP[1] f_TEMP[2]
    -
    -
    -

    Comments:

    -
      -
    • Drude particles should not be in the rigid group, otherwise the Drude
    • -
    • oscillators will be frozen and the system will lose its
    • -
    • polarizability. zero yes avoids a drift of the center of mass of
    • -
    • the system, but is a bit slower. use two different random seeds to
    • -
    • avoid unphysical correlations. temperature is controlled by the fix
    • -
    • langevin/drude, so the time-integration fixes do not thermostate.
    • -
    • don’t forget to time-integrate both cores and Drude particles.
    • -
    • pressure is time-integrated only once by using nve for Drude
    • -
    • particles and nph for atoms/cores (or vice versa). Do not use nph
    • -
    • for both. contrary to the alternative thermostating using Nose-Hoover
    • -
    • thermostat fix npt and fix drude/transform, the fix_modify
    • -
    • command is not required here, because the fix nph computes the
    • -
    • global pressure even if its group is ATOMS. This is what we want. If
    • -
    • we thermostated ATOMS using npt, the pressure should be the global
    • -
    • one, but the temperature should be only that of the cores. That’s why
    • -
    • the command fix_modify should be called in that case. f_TEMP[1]
    • -
    • and f_TEMP[2] contain the reduced temperatures of the cores/atoms
    • -
    • and of the Drude particles (see below). They should be 300. and 1. on
    • -
    • average here.
    • -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. Because the state of the random number generator -is not saved in restart files, this means you cannot do “exact” +thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TATOM c_TDRUDE f_TEMP[1] f_TEMP[2] + +

    Comments: +

    +
    • Drude particles should not be in the rigid group, otherwise the Drude +
    • oscillators will be frozen and the system will lose its +
    • polarizability. zero yes avoids a drift of the center of mass of +
    • the system, but is a bit slower. use two different random seeds to +
    • avoid unphysical correlations. temperature is controlled by the fix +
    • langevin/drude, so the time-integration fixes do not thermostate. +
    • don't forget to time-integrate both cores and Drude particles. +
    • pressure is time-integrated only once by using nve for Drude +
    • particles and nph for atoms/cores (or vice versa). Do not use nph +
    • for both. contrary to the alternative thermostating using Nose-Hoover +
    • thermostat fix npt and fix drude/transform, the fix_modify +
    • command is not required here, because the fix nph computes the +
    • global pressure even if its group is ATOMS. This is what we want. If +
    • we thermostated ATOMS using npt, the pressure should be the global +
    • one, but the temperature should be only that of the cores. That's why +
    • the command fix_modify should be called in that case. f_TEMP[1] +
    • and f_TEMP[2] contain the reduced temperatures of the cores/atoms +
    • and of the Drude particles (see below). They should be 300. and 1. on +
    • average here. +
    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostating procedure, as described above. For consistency, the group used by the -compute should include the group of this fix and the Drude particles.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are zero = no.

    -
    -

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J -Phys Chem Lett, 2, 87-92 (2011).

    -
    -
    +compute should include the group of this fix and the Drude particles. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix langevin, +fix drude, +fix drude/transform, +compute temp/drude, +pair_style thole +

    +

    Default: +

    +

    The option defaults are zero = no. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J +Phys Chem Lett, 2, 87-92 (2011). +

    + diff --git a/doc/fix_langevin_eff.html b/doc/fix_langevin_eff.html index 8b06af1be4..c2b8617da9 100644 --- a/doc/fix_langevin_eff.html +++ b/doc/fix_langevin_eff.html @@ -1,290 +1,128 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix langevin/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix langevin/eff command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • langevin/eff = style name of this fix command
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    • damp = damping parameter (time units)
    • -
    • seed = random number seed to use for white noise (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = scale or tally or zero
    -  scale values = type ratio
    +
    +
    +
    + +

    fix langevin/eff command +

    +

    Syntax: +

    +
    fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • langevin/eff = style name of this fix command + +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
    • damp = damping parameter (time units) + +
    • seed = random number seed to use for white noise (positive integer) + +
    • zero or more keyword/value pairs may be appended + +
      keyword = scale or tally or zero
      +  scale values = type ratio
           type = atom type (1-N)
           ratio = factor by which to scale the damping coefficient
      -  tally values = no or yes
      -    no = do not tally the energy added/subtracted to atoms
      -    yes = do tally the energy added/subtracted to atoms
      -
      -
      -zero value = no or yes
      -    no = do not set total random force to zero
      -    yes = set total random force to zero
      -
      -
    -
    -

    Examples¶

    -
    fix 3 boundary langevin/eff 1.0 1.0 10.0 699483
    -fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a Langevin thermostat as described in (Schneider) -to a group of nuclei and electrons in the electron force field model. Used with fix nve/eff, + tally values = no or yes + no = do not tally the energy added/subtracted to atoms + yes = do tally the energy added/subtracted to atoms + +

      zero value = no or yes
    +    no = do not set total random force to zero
    +    yes = set total random force to zero 
    +
    + + +

    Examples: +

    +
    fix 3 boundary langevin/eff 1.0 1.0 10.0 699483
    +fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 
    +
    +

    Description: +

    +

    Apply a Langevin thermostat as described in (Schneider) +to a group of nuclei and electrons in the electron force +field model. Used with fix nve/eff, this command performs Brownian dynamics (BD), since the total force on -each atom will have the form:

    -
    F = Fc + Ff + Fr
    +each atom will have the form:
    +

    +
    F = Fc + Ff + Fr
     Ff = - (m / damp) v
    -Fr is proportional to sqrt(Kb T m / (dt damp))
    -
    -
    -

    Fc is the conservative force computed via the usual inter-particle -interactions (pair_style).

    -

    The Ff and Fr terms are added by this fix on a per-particle basis.

    -

    The operation of this fix is exactly like that described by the fix langevin command, except that the thermostatting +Fr is proportional to sqrt(Kb T m / (dt damp)) + +

    Fc is the conservative force computed via the usual inter-particle +interactions (pair_style). +

    +

    The Ff and Fr terms are added by this fix on a per-particle basis. +

    +

    The operation of this fix is exactly like that described by the fix +langevin command, except that the thermostatting is also applied to the radial electron velocity for electron -particles.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. Because the state of the random number generator -is not saved in restart files, this means you cannot do “exact” +particles. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same.

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system’s potential energy as part of thermodynamic output. Note that use of this option requires -setting the tally keyword to yes.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. Note that use of this option requires +setting the tally keyword to yes. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”. Note that calculation of this -quantity requires setting the tally keyword to yes.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are scale = 1.0 for all types and tally = no.

    -
    -

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).

    -

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978).

    -
    -
    +calculated by this fix is "extensive". Note that calculation of this +quantity requires setting the tally keyword to yes. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix langevin +

    +

    Default: +

    +

    The option defaults are scale = 1.0 for all types and tally = no. +

    +
    + -
    -
    -
    - +

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978). +

    + diff --git a/doc/fix_lb_fluid.html b/doc/fix_lb_fluid.html index 563c6d687f..090c688753 100644 --- a/doc/fix_lb_fluid.html +++ b/doc/fix_lb_fluid.html @@ -1,222 +1,126 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lb/fluid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lb/fluid command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • lb/fluid = style name of this fix command
    • -
    • nevery = update the lattice-Boltzmann fluid every this many timesteps
    • -
    • LBtype = 1 to use the standard finite difference LB integrator, -2 to use the LB integrator of Ollila et al.
    • -
    • viscosity = the fluid viscosity (units of mass/(time*length)).
    • -
    • density = the fluid density.
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = setArea or setGamma or scaleGamma or dx or dm or a0 or noise or calcforce or trilinear or D3Q19 or read_restart or write_restart or zwall_velocity or bodyforce or printfluid
    • -
    -
    -setArea values = type node_area
    +
    +
    +
    + +

    fix lb/fluid command +

    +

    Syntax: +

    +
    fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • lb/fluid = style name of this fix command + +
    • nevery = update the lattice-Boltzmann fluid every this many timesteps + +
    • LBtype = 1 to use the standard finite difference LB integrator, +2 to use the LB integrator of Ollila et al. + +
    • viscosity = the fluid viscosity (units of mass/(time*length)). + +
    • density = the fluid density. + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = setArea or setGamma or scaleGamma or dx or dm or a0 or noise or calcforce or trilinear or D3Q19 or read_restart or write_restart or zwall_velocity or bodyforce or printfluid + +
        setArea values = type node_area
             type = atom type (1-N)
             node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default).
      -  setGamma values = gamma
      +  setGamma values = gamma
             gamma = user set value for the force coupling constant.
      -  scaleGamma values = type gammaFactor
      +  scaleGamma values = type gammaFactor
             type = atom type (1-N)
      -      gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.
      -  dx values = dx_LB = the lattice spacing.
      -  dm values = dm_LB = the lattice-Boltzmann mass unit.
      -  a0 values = a_0_real = the square of the speed of sound in the fluid.
      -  noise values = Temperature seed
      -      Temperature = fluid temperature.
      -      seed = random number generator seed (positive integer)
      -  calcforce values = N forcegroup-ID
      +      gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.    
      +  dx values = dx_LB = the lattice spacing.
      +  dm values = dm_LB = the lattice-Boltzmann mass unit.
      +  a0 values = a_0_real = the square of the speed of sound in the fluid.
      +  noise values = Temperature seed 
      +      Temperature = fluid temperature. 
      +      seed = random number generator seed (positive integer) 
      +  calcforce values = N forcegroup-ID 
             N = output the force and torque every N timesteps
             forcegroup-ID = ID of the particle group to calculate the force and torque of
      -  trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil).
      -  D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice).
      -  read_restart values = restart file = name of the restart file to use to restart a fluid run.
      -  write_restart values = N = write a restart file every N MD timesteps.
      -  zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax).
      -  bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid.
      -  printfluid values = N = print the fluid density and velocity at each grid point every N timesteps.
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1
    -fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873
    -
    -
    -
    -
    -

    Description¶

    -

    Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS -simulation domain. The MD particles described by group-ID apply a velocity -dependent force to the fluid.

    -

    The lattice-Boltzmann algorithm solves for the fluid motion governed by -the Navier Stokes equations,

    -_images/fix_lb_fluid_navierstokes.jpg -

    with,

    -_images/fix_lb_fluid_viscosity.jpg -

    where rho is the fluid density, u is the local fluid velocity, sigma + trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil). + D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice). + read_restart values = restart file = name of the restart file to use to restart a fluid run. + write_restart values = N = write a restart file every N MD timesteps. + zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax). + bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. + printfluid values = N = print the fluid density and velocity at each grid point every N timesteps. + + + +

    Examples: +

    +
    fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1
    +fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 
    +
    +

    Description: +

    +

    Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS +simulation domain. The MD particles described by group-ID apply a velocity +dependent force to the fluid. +

    +

    The lattice-Boltzmann algorithm solves for the fluid motion governed by +the Navier Stokes equations, +

    +
    +
    +

    with, +

    +
    +
    +

    where rho is the fluid density, u is the local fluid velocity, sigma is the stress tensor, F is a local external force, and eta and Lambda are the shear and bulk viscosities respectively. Here, we have -implemented

    -_images/fix_lb_fluid_stress.jpg -

    with a_0 set to 1/3 (dx/dt)^2 by default.

    -

    The algorithm involves tracking the time evolution of a set of partial +implemented +

    +
    +
    +

    with a_0 set to 1/3 (dx/dt)^2 by default. +

    +

    The algorithm involves tracking the time evolution of a set of partial distribution functions which evolve according to a velocity -discretized version of the Boltzmann equation,

    -_images/fix_lb_fluid_boltzmann.jpg -

    where the first term on the right hand side represents a single time +discretized version of the Boltzmann equation, +

    +
    +
    +

    where the first term on the right hand side represents a single time relaxation towards the equilibrium distribution function, and tau is a parameter physically related to the viscosity. On a technical note, we have implemented a 15 velocity model (D3Q15) as default; however, the user can switch to a 19 velocity model (D3Q19) through the use of -the D3Q19 keyword. This fix provides the user with the choice of +the D3Q19 keyword. This fix provides the user with the choice of two algorithms to solve this equation, through the specification of -the keyword LBtype. If LBtype is set equal to 1, the standard -finite difference LB integrator is used. If LBtype is set equal to -2, the algorithm of Ollila et al. is used.

    -

    Physical variables are then defined in terms of moments of the distribution -functions,

    -_images/fix_lb_fluid_properties.jpg -

    Full details of the lattice-Boltzmann algorithm used can be found in -Mackay et al..

    -

    The fluid is coupled to the MD particles described by group-ID +the keyword LBtype. If LBtype is set equal to 1, the standard +finite difference LB integrator is used. If LBtype is set equal to +2, the algorithm of Ollila et al. is used. +

    +

    Physical variables are then defined in terms of moments of the distribution +functions, +

    +
    +
    +

    Full details of the lattice-Boltzmann algorithm used can be found in +Mackay et al.. +

    +

    The fluid is coupled to the MD particles described by group-ID through a velocity dependent force. The contribution to the fluid force on a given lattice mesh site j due to MD particle alpha is -calculated as:

    -_images/fix_lb_fluid_fluidforce.jpg -

    where v_n is the velocity of the MD particle, u_f is the fluid +calculated as: +

    +
    +
    +

    where v_n is the velocity of the MD particle, u_f is the fluid velocity interpolated to the particle location, and gamma is the force coupling constant. Zeta is a weight assigned to the grid point, obtained by distributing the particle to the nearest lattice sites. @@ -227,272 +131,258 @@ the Peskin stencil is seen to provide more stable results, the trilinear stencil may be better suited for simulation of objects close to walls, due to its smaller support. Therefore, by default, the Peskin stencil is used; however the user may switch to the trilinear -stencil by specifying the keyword, trilinear.

    -

    By default, the force coupling constant, gamma, is calculated according to

    -_images/fix_lb_fluid_gammadefault.jpg -

    Here, m_v is the mass of the MD particle, m_u is a representative +stencil by specifying the keyword, trilinear. +

    +

    By default, the force coupling constant, gamma, is calculated according to +

    +
    +
    +

    Here, m_v is the mass of the MD particle, m_u is a representative fluid mass at the particle location, and dt_collision is a collision -time, chosen such that tau/dt_collision = 1 (see Mackay and Denniston for full details). In order to calculate m_u, the +time, chosen such that tau/dt_collision = 1 (see Mackay and +Denniston for full details). In order to calculate m_u, the fluid density is interpolated to the MD particle location, and multiplied by a volume, node_area*dx_lb, where node_area represents the portion of the surface area of the composite object associated with a given MD particle. By default, node_area is set equal to dx_lb*dx_lb; however specific values for given atom types can be set -using the setArea keyword.

    -

    The user also has the option of specifying their own value for the +using the setArea keyword. +

    +

    The user also has the option of specifying their own value for the force coupling constant, for all the MD particles associated with the -fix, through the use of the setGamma keyword. This may be useful -when modelling porous particles. See Mackay et al. for a +fix, through the use of the setGamma keyword. This may be useful +when modelling porous particles. See Mackay et al. for a detailed description of the method by which the user can choose an -appropriate gamma value.

    -
    -

    Warning

    -

    while this fix applies the force of the particles on +appropriate gamma value. +

    +

    IMPORTANT NOTE: while this fix applies the force of the particles on the fluid, it does not apply the force of the fluid to the particles. When the force coupling constant is set using the default method, there is only one option to include this hydrodynamic force on the particles, and that is through the use of the -lb/viscous fix. This fix adds the hydrodynamic +lb/viscous fix. This fix adds the hydrodynamic force to the total force acting on the particles, after which any of the built-in LAMMPS integrators can be used to integrate the particle motion. However, if the user specifies their own value for the force -coupling constant, as mentioned in Mackay et al., the +coupling constant, as mentioned in Mackay et al., the built-in LAMMPS integrators may prove to be unstable. Therefore, we -have included our own integrators fix lb/rigid/pc/sphere, and fix lb/pc, to solve for the particle motion in these +have included our own integrators fix +lb/rigid/pc/sphere, and fix +lb/pc, to solve for the particle motion in these cases. These integrators should not be used with the -lb/viscous fix, as they add hydrodynamic forces +lb/viscous fix, as they add hydrodynamic forces to the particles directly. In addition, they can not be used if the -force coupling constant has been set the default way.

    -
    -
    -

    Warning

    -

    if the force coupling constant is set using the -default method, and the lb/viscous fix is NOT +force coupling constant has been set the default way. +

    +

    IMPORTANT NOTE: if the force coupling constant is set using the +default method, and the lb/viscous fix is NOT used to add the hydrodynamic force to the total force acting on the particles, this physically corresponds to a situation in which an infinitely massive particle is moving through the fluid (since collisions between the particle and the fluid do not act to change the -particle’s velocity). Therefore, the user should set the mass of the +particle's velocity). Therefore, the user should set the mass of the particle to be significantly larger than the mass of the fluid at the particle location, in order to approximate an infinitely massive -particle (see the dragforce test run for an example).

    -
    -
    -

    Inside the fix, parameters are scaled by the lattice-Boltzmann +particle (see the dragforce test run for an example). +

    +
    + +

    Inside the fix, parameters are scaled by the lattice-Boltzmann timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to (nevery*dt_MD), where dt_MD is the MD timestep. By default, dm is set equal to 1.0, and dx is chosen so that tau/(dt) = (3*eta*dt)/(rho*dx^2) is approximately equal to 1. However, the user has the option of specifying their own values for dm, and dx, by using -the optional keywords dm, and dx respectively.

    -
    -

    Warning

    -

    Care must be taken when choosing both a value for dx, +the optional keywords dm, and dx respectively. +

    +

    IMPORTANT NOTE: Care must be taken when choosing both a value for dx, and a simulation domain size. This fix uses the same subdivision of the simulation domain among processors as the main LAMMPS program. In order to uniformly cover the simulation domain with lattice sites, the lengths of the individual LAMMPS subdomains must all be evenly divisible by dx. If the simulation domain size is cubic, with equal lengths in all dimensions, and the default value for dx is used, this -will automatically be satisfied.

    -
    -

    Physical parameters describing the fluid are specified through -viscosity, density, and a0. If the force coupling constant is +will automatically be satisfied. +

    +

    Physical parameters describing the fluid are specified through +viscosity, density, and a0. If the force coupling constant is set the default way, the surface area associated with the MD particles -is specified using the setArea keyword. If the user chooses to +is specified using the setArea keyword. If the user chooses to specify a value for the force coupling constant, this is set using the -setGamma keyword. These parameters should all be given in terms of +setGamma keyword. These parameters should all be given in terms of the mass, distance, and time units chosen for the main LAMMPS run, as they are scaled by the LB timestep, lattice spacing, and mass unit, -inside the fix.

    -
    -

    The setArea keyword allows the user to associate a surface area with +inside the fix. +

    +
    + +

    The setArea keyword allows the user to associate a surface area with a given atom type. For example if a spherical composite object of radius R is represented as a spherical shell of N evenly distributed MD particles, all of the same type, the surface area per particle associated with that atom type should be set equal to 4*pi*R^2/N. This keyword should only be used if the force coupling constant, -gamma, is set the default way.

    -

    The setGamma keyword allows the user to specify their own value for +gamma, is set the default way. +

    +

    The setGamma keyword allows the user to specify their own value for the force coupling constant, gamma, instead of using the default -value.

    -

    The scaleGamma keyword should be used in conjunction with the -setGamma keyword, when the user wishes to specify different gamma +value. +

    +

    The scaleGamma keyword should be used in conjunction with the +setGamma keyword, when the user wishes to specify different gamma values for different atom types. This keyword allows the user to -scale the setGamma gamma value by a factor, gammaFactor, for a given -atom type.

    -

    The dx keyword allows the user to specify a value for the LB grid -spacing.

    -

    The dm keyword allows the user to specify the LB mass unit.

    -

    If the a0 keyword is used, the value specified is used for the +scale the setGamma gamma value by a factor, gammaFactor, for a given +atom type. +

    +

    The dx keyword allows the user to specify a value for the LB grid +spacing. +

    +

    The dm keyword allows the user to specify the LB mass unit. +

    +

    If the a0 keyword is used, the value specified is used for the square of the speed of sound in the fluid. If this keyword is not present, the speed of sound squared is set equal to (1/3)*(dx/dt)^2. -Setting a0 > (dx/dt)^2 is not allowed, as this may lead to -instabilities.

    -

    If the noise keyword is used, followed by a a positive temperature +Setting a0 > (dx/dt)^2 is not allowed, as this may lead to +instabilities. +

    +

    If the noise keyword is used, followed by a a positive temperature value, and a positive integer random number seed, a thermal -lattice-Boltzmann algorithm is used. If LBtype is set equal to 1 +lattice-Boltzmann algorithm is used. If LBtype is set equal to 1 (i.e. the standard LB integrator is chosen), the thermal LB algorithm -of Adhikari et al. is used; however if LBtype is set +of Adhikari et al. is used; however if LBtype is set equal to 2 both the LB integrator, and thermal LB algorithm described -in Ollila et al. are used.

    -

    If the calcforce keyword is used, both the fluid force and torque +in Ollila et al. are used. +

    +

    If the calcforce keyword is used, both the fluid force and torque acting on the specified particle group are printed to the screen every -N timesteps.

    -

    If the keyword trilinear is used, the trilinear stencil is used to +N timesteps. +

    +

    If the keyword trilinear is used, the trilinear stencil is used to interpolate the particle nodes onto the fluid mesh. By default, the immersed boundary method, Peskin stencil is used. Both of these -interpolation methods are described in Mackay et al..

    -

    If the keyword D3Q19 is used, the 19 velocity (D3Q19) lattice is +interpolation methods are described in Mackay et al.. +

    +

    If the keyword D3Q19 is used, the 19 velocity (D3Q19) lattice is used by the lattice-Boltzmann algorithm. By default, the 15 velocity -(D3Q15) lattice is used.

    -

    If the keyword write_restart is used, followed by a positive +(D3Q15) lattice is used. +

    +

    If the keyword write_restart is used, followed by a positive integer, N, a binary restart file is printed every N LB timesteps. This restart file only contains information about the fluid. Therefore, a LAMMPS restart file should also be written in order to -print out full details of the simulation.

    -
    -

    Warning

    -

    When a large number of lattice grid points are used, -the restart files may become quite large.

    -
    -

    In order to restart the fluid portion of the simulation, the keyword -read_restart is specified, followed by the name of the binary -lb_fluid restart file to be used.

    -

    If the zwall_velocity keyword is used y-velocities are assigned to +print out full details of the simulation. +

    +

    IMPORTANT NOTE: When a large number of lattice grid points are used, +the restart files may become quite large. +

    +

    In order to restart the fluid portion of the simulation, the keyword +read_restart is specified, followed by the name of the binary +lb_fluid restart file to be used. +

    +

    If the zwall_velocity keyword is used y-velocities are assigned to the lower and upper walls. This keyword requires the presence of walls in the z-direction. This is set by assigning fixed boundary conditions in the z-direction. If fixed boundary conditions are present in the z-direction, and this keyword is not used, the walls -are assumed to be stationary.

    -

    If the bodyforce keyword is used, a constant body force is added to -the fluid, defined by it’s x, y and z components.

    -

    If the printfluid keyword is used, followed by a positive integer, N, +are assumed to be stationary. +

    +

    If the bodyforce keyword is used, a constant body force is added to +the fluid, defined by it's x, y and z components. +

    +

    If the printfluid keyword is used, followed by a positive integer, N, the fluid densities and velocities at each lattice site are printed to the -screen every N timesteps.

    -
    -

    For further details, as well as descriptions and results of several -test runs, see Mackay et al.. Please include a citation to +screen every N timesteps. +

    +
    + +

    For further details, as well as descriptions and results of several +test runs, see Mackay et al.. Please include a citation to this paper if the lb_fluid fix is used in work contributing to -published research.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    Due to the large size of the fluid data, this fix writes it’s own +published research. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    Due to the large size of the fluid data, this fix writes it's own binary restart files, if requested, independent of the main LAMMPS -binary restart files; no information about lb_fluid -is written to the main LAMMPS binary restart files.

    -

    None of the fix_modify options are relevant to this +binary restart files; no information about lb_fluid +is written to the main LAMMPS binary restart files. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix can only be used with an orthogonal simulation domain.

    -

    Walls have only been implemented in the z-direction. Therefore, the +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix can only be used with an orthogonal simulation domain. +

    +

    Walls have only been implemented in the z-direction. Therefore, the boundary conditions, as specified via the main LAMMPS boundary command must be periodic for x and y, and either fixed or periodic for z. -Shrink-wrapped boundary conditions are not permitted with this fix.

    -

    This fix must be used before any of fix lb/viscous, fix lb/momentum, fix lb/rigid/pc/sphere, and/ or fix lb/pc , as the fluid needs to be initialized before +Shrink-wrapped boundary conditions are not permitted with this fix. +

    +

    This fix must be used before any of fix +lb/viscous, fix +lb/momentum, fix +lb/rigid/pc/sphere, and/ or fix +lb/pc , as the fluid needs to be initialized before any of these routines try to access its properties. In addition, in order for the hydrodynamic forces to be added to the particles, this fix must be used in conjunction with the -lb/viscous fix if the force coupling constant is -set by default, or either the lb/viscous fix or -one of the lb/rigid/pc/sphere or -lb/pc integrators, if the user chooses to specifiy -their own value for the force coupling constant.

    -
    - -
    -

    Default¶

    -

    By default, the force coupling constant is set according to

    -_images/fix_lb_fluid_gammadefault.jpg -

    and an area of dx_lb^2 per node, used to calculate the fluid mass at -the particle node location, is assumed.

    -

    dx is chosen such that tau/(delta t_LB) = -(3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. -dm is set equal to 1.0. -a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. +lb/viscous fix if the force coupling constant is +set by default, or either the lb/viscous fix or +one of the lb/rigid/pc/sphere or +lb/pc integrators, if the user chooses to specifiy +their own value for the force coupling constant. +

    +

    Related commands: +

    +

    fix lb/viscous, fix +lb/momentum, fix +lb/rigid/pc/sphere, fix +lb/pc +

    +

    Default: +

    +

    By default, the force coupling constant is set according to +

    +
    +
    +

    and an area of dx_lb^2 per node, used to calculate the fluid mass at +the particle node location, is assumed. +

    +

    dx is chosen such that tau/(delta t_LB) = +(3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. +dm is set equal to 1.0. +a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. The Peskin stencil is used as the default interpolation method. The D3Q15 lattice is used for the lattice-Boltzmann algorithm. -If walls are present, they are assumed to be stationary.

    -
    -

    (Ollila et al.) Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902.

    -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

    -

    (Mackay and Denniston) Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298.

    -

    (Adhikari et al.) Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479.

    -
    -
    +If walls are present, they are assumed to be stationary. +

    +
    + -
    -
    -
    - +

    (Ollila et al.) Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902. +

    + -
    +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Mackay and Denniston) Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298. +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Adhikari et al.) Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479. +

    + diff --git a/doc/fix_lb_momentum.html b/doc/fix_lb_momentum.html index 59b26145f9..7092c4e010 100644 --- a/doc/fix_lb_momentum.html +++ b/doc/fix_lb_momentum.html @@ -1,259 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lb/momentum command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lb/momentum command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lb/momentum nevery keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in the fix command
    • -
    • lb/momentum = style name of this fix command
    • -
    • nevery = adjust the momentum every this many timesteps
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = linear
    • -
    -
    -linear values = xflag yflag zflag
    -    xflag,yflag,zflag = 0/1 to exclude/include each dimension.
    -
    -
    -
    -

    Examples¶

    -
    fix 1 sphere lb/momentum
    -fix 1 all lb/momentum linear 1 1 0
    -
    -
    -
    -
    -

    Description¶

    -

    This fix is based on the fix momentum command, and + + +


    + +

    fix lb/momentum command +

    +

    Syntax: +

    +
    fix ID group-ID lb/momentum nevery keyword values ... 
    +
    +
    • ID, group-ID are documented in the fix command + +
    • lb/momentum = style name of this fix command + +
    • nevery = adjust the momentum every this many timesteps + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = linear + +
        linear values = xflag yflag zflag
      +    xflag,yflag,zflag = 0/1 to exclude/include each dimension. 
      +
      + +
    +

    Examples: +

    +
    fix 1 sphere lb/momentum 
    +fix 1 all lb/momentum linear 1 1 0 
    +
    +

    Description: +

    +

    This fix is based on the fix momentum command, and was created to be used in place of that command, when a -lattice-Boltzmann fluid is present.

    -

    Zero the total linear momentum of the system, including both the atoms +lattice-Boltzmann fluid is present. +

    +

    Zero the total linear momentum of the system, including both the atoms specified by group-ID and the lattice-Boltzmann fluid every nevery timesteps. This is accomplished by adjusting the particle velocities -and the fluid velocities at each lattice site.

    -
    -

    Note

    -

    This fix only considers the linear momentum of the system.

    -
    -

    By default, the subtraction is performed for each dimension. This can -be changed by specifying the keyword linear, along with a set of +and the fluid velocities at each lattice site. +

    +

    NOTE: This fix only considers the linear momentum of the system. +

    +

    By default, the subtraction is performed for each dimension. This can +be changed by specifying the keyword linear, along with a set of three flags set to 0/1 in order to exclude/ include the corresponding -dimension.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +dimension. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command.

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    Zeros the total system linear momentum in each dimension.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can be +used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command. +

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix momentum, fix lb/fluid +

    +

    Default: +

    +

    Zeros the total system linear momentum in each dimension. +

    + diff --git a/doc/fix_lb_pc.html b/doc/fix_lb_pc.html index b2e5a6e72b..8fc22cf84c 100644 --- a/doc/fix_lb_pc.html +++ b/doc/fix_lb_pc.html @@ -1,240 +1,68 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lb/pc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lb/pc command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lb/pc
    -
    -
    -
      -
    • ID, group-ID are documented in the fix command
    • -
    • lb/pc = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all lb/pc
    -
    -
    -
    -
    -

    Description¶

    -

    Update the positions and velocities of the individual particles -described by group-ID, experiencing velocity-dependent hydrodynamic -forces, using the integration algorithm described in Mackay et al.. This integration algorithm should only be used if a -user-specified value for the force-coupling constant used in fix lb/fluid has been set; do not use this integration -algorithm if the force coupling constant has been set by default.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options + + +


    + +

    fix lb/pc command +

    +

    Syntax: +

    +
    fix ID group-ID lb/pc 
    +
    +
    • ID, group-ID are documented in the fix command +
    • lb/pc = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all lb/pc 
    +
    +

    Description: +

    +

    Update the positions and velocities of the individual particles +described by group-ID, experiencing velocity-dependent hydrodynamic +forces, using the integration algorithm described in Mackay et +al.. This integration algorithm should only be used if a +user-specified value for the force-coupling constant used in fix +lb/fluid has been set; do not use this integration +algorithm if the force coupling constant has been set by default. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command.

    -
    - -
    +by this fix for access by various output +commands. No parameter of this fix can be +used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command. +

    +

    Related commands: +

    +

    fix lb/fluid fix +lb/rigid/pc/sphere +

    +

    Default: None. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. +

    + diff --git a/doc/fix_lb_rigid_pc_sphere.html b/doc/fix_lb_rigid_pc_sphere.html index 711ec2554f..0debaa69d6 100644 --- a/doc/fix_lb_rigid_pc_sphere.html +++ b/doc/fix_lb_rigid_pc_sphere.html @@ -1,329 +1,158 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lb/rigid/pc/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lb/rigid/pc/sphere command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command

      -
    • -
    • lb/rigid/pc/sphere = style name of this fix command

      -
    • -
    • bodystyle = single or molecule or group

      -
    • -
    • -
      single args = none
      -

      molecule args = none -group args = N groupID1 groupID2 ...

      -
      -

      N = # of groups

      -
      -
      -
      -

      zero or more keyword/value pairs may be appended

      -
    • -
    • keyword = force or torque or innerNodes

      -
    • -
    -
    -force values = M xflag yflag zflag
    +
    +
    +
    + +

    fix lb/rigid/pc/sphere command +

    +

    Syntax: +

    +
    fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • lb/rigid/pc/sphere = style name of this fix command + +
    • bodystyle = single or molecule or group + +
    • single args = none + molecule args = none + group args = N groupID1 groupID2 ... + N = # of groups +zero or more keyword/value pairs may be appended + +
    • keyword = force or torque or innerNodes + +
        force values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass force is active
      -  torque values = M xflag yflag zflag
      +  torque values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
      -    xflag,yflag,zflag = off/on if component of center-of-mass torque is active
      -  innerNodes values = innergroup-ID
      -    innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid
      -
      -
    -
    -

    Examples¶

    -
    fix 1 spheres lb/rigid/pc/sphere
    -fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms
    -
    -
    -
    -
    -

    Description¶

    -

    This fix is based on the fix rigid command, and was + xflag,yflag,zflag = off/on if component of center-of-mass torque is active + innerNodes values = innergroup-ID + innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid + + + +

    Examples: +

    +
    fix 1 spheres lb/rigid/pc/sphere 
    +fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms 
    +
    +

    Description: +

    +

    This fix is based on the fix rigid command, and was created to be used in place of that fix, to integrate the equations of motion of spherical rigid bodies when a lattice-Boltzmann fluid is present with a user-specified value of the force-coupling constant. -The fix uses the integration algorithm described in Mackay et al. to update the positions, velocities, and orientations of +The fix uses the integration algorithm described in Mackay et +al. to update the positions, velocities, and orientations of a set of spherical rigid bodies experiencing velocity dependent hydrodynamic forces. The spherical bodies are assumed to rotate as solid, uniform density spheres, with moments of inertia calculated using the combined sum of the masses of all the constituent particles -(which are assumed to be point particles).

    -
    -

    By default, all of the atoms that this fix acts on experience a +(which are assumed to be point particles). +

    +
    + +

    By default, all of the atoms that this fix acts on experience a hydrodynamic force due to the presence of the lattice-Boltzmann fluid. -However, the innerNodes keyword allows the user to specify atoms +However, the innerNodes keyword allows the user to specify atoms belonging to a rigid object which do not interact with the lattice-Boltzmann fluid (i.e. these atoms do not feel a hydrodynamic force from the lattice-Boltzmann fluid). This can be used to distinguish between atoms on the surface of a non-porous object, and -those on the inside.

    -

    This feature can be used, for example, when implementing a hard sphere +those on the inside. +

    +

    This feature can be used, for example, when implementing a hard sphere interaction between two spherical objects. Instead of interactions occurring between the particles on the surfaces of the two spheres, it is desirable simply to place an atom at the center of each sphere, which does not contribute to the hydrodynamic force, and have these -central atoms interact with one another.

    -
    -

    Apart from the features described above, this fix is very similar to +central atoms interact with one another. +

    +
    + +

    Apart from the features described above, this fix is very similar to the rigid fix (although it includes fewer optional arguments, and assumes the constituent atoms are point particles); see -fix_rigid for a complete documentation.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about the rigid and rigid/nve fixes are written to -binary restart files.

    -

    Similar to the fix_rigid command: &quot; The rigid -fix computes a global scalar which can be accessed by various output commands. The scalar value calculated by -these fixes is “intensive”. The scalar is the current temperature of +fix_rigid for a complete documentation. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about the rigid and rigid/nve fixes are written to +binary restart files. +

    +

    Similar to the fix_rigid command: " The rigid +fix computes a global scalar which can be accessed by various output +commands. The scalar value calculated by +these fixes is "intensive". The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees -of freedom constrained by the force and torque keywords are -removed from this calculation.&quot;

    -

    &quot;All of these fixes compute a global array of values which can be -accessed by various output commands. +of freedom constrained by the force and torque keywords are +removed from this calculation." +

    +

    "All of these fixes compute a global array of values which can be +accessed by various output commands. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components of the torque acting on the COM, and the xyz image flags of the COM, which have the same meaning as image -flags for atom positions (see the “dump” command). The force and -torque values in the array are not affected by the force and -torque keywords in the fix rigid command; they reflect values before -any changes are made by those keywords.

    -

    The ordering of the rigid bodies (by row in the array) is as follows. -For the single keyword there is just one rigid body. For the -molecule keyword, the bodies are ordered by ascending molecule ID. -For the group keyword, the list of group IDs determines the ordering -of bodies.

    -

    The array values calculated by these fixes are “intensive”, meaning -they are independent of the number of atoms in the simulation.

    -

    No parameter of these fixes can be used with the start/stop keywords -of the run command. These fixes are not invoked during -energy minimization. &quot;

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this +flags for atom positions (see the "dump" command). The force and +torque values in the array are not affected by the force and +torque keywords in the fix rigid command; they reflect values before +any changes are made by those keywords. +

    +

    The ordering of the rigid bodies (by row in the array) is as follows. +For the single keyword there is just one rigid body. For the +molecule keyword, the bodies are ordered by ascending molecule ID. +For the group keyword, the list of group IDs determines the ordering +of bodies. +

    +

    The array values calculated by these fixes are "intensive", meaning +they are independent of the number of atoms in the simulation. +

    +

    No parameter of these fixes can be used with the start/stop keywords +of the run command. These fixes are not invoked during +energy minimization. " +

    +

    Restrictions: +

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this command. Should only be used if the force coupling constant used in -fix lb/fluid has been set by the user; this +fix lb/fluid has been set by the user; this integration fix cannot be used if the force coupling constant is set -by default.

    -
    - -
    -

    Default¶

    -

    The defaults are force * on on on, and torque * on on on.

    -
    -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

    -
    -
    +by default. +

    +

    Related commands: +

    +

    fix lb/fluid, fix lb/pc +

    +

    Default: +

    +

    The defaults are force * on on on, and torque * on on on. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. +

    + diff --git a/doc/fix_lb_viscous.html b/doc/fix_lb_viscous.html index 1ce5feab37..d9c87884b9 100644 --- a/doc/fix_lb_viscous.html +++ b/doc/fix_lb_viscous.html @@ -1,265 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lb/viscous command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lb/viscous command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lb/viscous
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • lb/viscous = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -

    fix 1 flow lb/viscous

    -
    -
    -

    Description¶

    -

    This fix is similar to the fix viscous command, and + + +


    + +

    fix lb/viscous command +

    +

    Syntax: +

    +
    fix ID group-ID lb/viscous 
    +
    +
    • ID, group-ID are documented in fix command +
    • lb/viscous = style name of this fix command +
    +

    Examples: +

    +

    fix 1 flow lb/viscous +

    +

    Description: +

    +

    This fix is similar to the fix viscous command, and is to be used in place of that command when a lattice-Boltzmann fluid is present, and the user wishes to integrate the particle motion using -one of the built in LAMMPS integrators.

    -

    This fix adds a force, F = - Gamma*(velocity-fluid_velocity), to each -atom, where Gamma is the force coupling constant described in the fix lb/fluid command (which applies an equal and -opposite force to the fluid).

    -
    -

    Warning

    -

    This fix should only be used in conjunction with one +one of the built in LAMMPS integrators. +

    +

    This fix adds a force, F = - Gamma*(velocity-fluid_velocity), to each +atom, where Gamma is the force coupling constant described in the fix +lb/fluid command (which applies an equal and +opposite force to the fluid). +

    +

    IMPORTANT NOTE: This fix should only be used in conjunction with one of the built in LAMMPS integrators; it should not be used with the -fix lb/pc or fix lb/rigid/pc/sphere integrators, which +fix lb/pc or fix +lb/rigid/pc/sphere integrators, which already include the hydrodynamic forces. These latter fixes should only be used if the force coupling constant has been set by the user (instead of using the default value); if the default force coupling value is used, then this fix provides the only method for adding the -hydrodynamic forces to the particles.

    -
    -
    -

    For further details, as well as descriptions and results of several -test runs, see Mackay et al.. Please include a citation to +hydrodynamic forces to the particles. +

    +
    + +

    For further details, as well as descriptions and results of several +test runs, see Mackay et al.. Please include a citation to this paper if this fix is used in work contributing to published -research.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    As described in the fix viscous documentation:

    -

    “No information about this fix is written to binary restart files. None of the fix_modify options +research. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    As described in the fix viscous documentation: +

    +

    "No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. This fix should only +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the min_style command -for details.”

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command.

    -

    This fix should not be used if either the fix lb/pc -or fix lb/rigid/pc/sphere integrator is -used.

    -
    - -
    +non-conservative forces. See the min_style command +for details." +

    +

    Restrictions: +

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command. +

    +

    This fix should not be used if either the fix lb/pc +or fix lb/rigid/pc/sphere integrator is +used. +

    +

    Related commands: +

    +

    fix lb/fluid, fix lb/pc, fix +lb/rigid/pc/sphere +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. +

    + diff --git a/doc/fix_lineforce.html b/doc/fix_lineforce.html index 51422a930a..9c87f094e2 100644 --- a/doc/fix_lineforce.html +++ b/doc/fix_lineforce.html @@ -1,238 +1,56 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix lineforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix lineforce command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID lineforce x y z
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • lineforce = style name of this fix command
    • -
    • x y z = direction of line as a 3-vector
    • -
    -
    -
    -

    Examples¶

    -
    fix hold boundary lineforce 0.0 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Adjust the forces on each atom in the group so that only the component + + +


    + +

    fix lineforce command +

    +

    Syntax: +

    +
    fix ID group-ID lineforce x y z 
    +
    +
    • ID, group-ID are documented in fix command +
    • lineforce = style name of this fix command +
    • x y z = direction of line as a 3-vector +
    +

    Examples: +

    +
    fix hold boundary lineforce 0.0 1.0 1.0 
    +
    +

    Description: +

    +

    Adjust the forces on each atom in the group so that only the component of force along the linear direction specified by the vector (x,y,z) remains. This is done by subtracting out components of force in the -plane perpendicular to the line.

    -

    If the initial velocity of the atom is 0.0 (or along the line), then -it should continue to move along the line thereafter.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +plane perpendicular to the line. +

    +

    If the initial velocity of the atom is 0.0 (or along the line), then +it should continue to move along the line thereafter. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix planeforce +

    +

    Default: none +

    + diff --git a/doc/fix_meso.html b/doc/fix_meso.html index 824a40ed8b..81bb833347 100644 --- a/doc/fix_meso.html +++ b/doc/fix_meso.html @@ -1,236 +1,57 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix meso command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix meso command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID meso
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • meso = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all meso
    -
    -
    -
    -
    -

    Description¶

    -

    Perform time integration to update position, velocity, internal energy + + +


    + +

    fix meso command +

    +

    Syntax: +

    +
    fix ID group-ID meso 
    +
    +
    • ID, group-ID are documented in fix command +
    • meso = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all meso 
    +
    +

    Description: +

    +

    Perform time integration to update position, velocity, internal energy and local density for atoms in the group each timestep. This fix is needed to time-integrate mesoscopic systems where particles carry -internal variables such as SPH or DPDE.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +internal variables such as SPH or DPDE. +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    "fix meso/stationary" +

    +

    Default: none +

    + diff --git a/doc/fix_meso_stationary.html b/doc/fix_meso_stationary.html index 478f3dc959..cf339c2560 100644 --- a/doc/fix_meso_stationary.html +++ b/doc/fix_meso_stationary.html @@ -1,237 +1,58 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix meso/stationary command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix meso/stationary command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID meso/stationary
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • meso = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 boundary meso/stationary
    -
    -
    -
    -
    -

    Description¶

    -

    Perform time integration to update internal energy and local density, + + +


    + +

    fix meso/stationary command +

    +

    Syntax: +

    +
    fix ID group-ID meso/stationary 
    +
    +
    • ID, group-ID are documented in fix command +
    • meso = style name of this fix command +
    +

    Examples: +

    +
    fix 1 boundary meso/stationary 
    +
    +

    Description: +

    +

    Perform time integration to update internal energy and local density, but not position or velocity for atoms in the group each timestep. This fix is needed for SPH simulations to correctly time-integrate fixed boundary particles which constrain a fluid to a given region in -space.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +space. +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    "fix meso" +

    +

    Default: none +

    + diff --git a/doc/fix_modify.html b/doc/fix_modify.html index d1ea58b553..d31aada56e 100644 --- a/doc/fix_modify.html +++ b/doc/fix_modify.html @@ -1,260 +1,81 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix_modify command¶

    -
    -

    Syntax¶

    -
    fix_modify fix-ID keyword value ...
    -
    -
    -
      -
    • fix-ID = ID of the fix to modify
    • -
    • one or more keyword/value pairs may be appended
    • -
    • keyword = temp or press or energy
    • -
    -
    -temp value = compute ID that calculates a temperature
    -  press value = compute ID that calculates a pressure
    -  energy value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    fix_modify 3 temp myTemp press myPress
    -fix_modify 1 energy yes
    -
    -
    -
    -
    -

    Description¶

    -

    Modify one or more parameters of a previously defined fix. Only + + +


    + +

    fix_modify command +

    +

    Syntax: +

    +
    fix_modify fix-ID keyword value ... 
    +
    +
    • fix-ID = ID of the fix to modify + +
    • one or more keyword/value pairs may be appended + +
    • keyword = temp or press or energy + +
        temp value = compute ID that calculates a temperature
      +  press value = compute ID that calculates a pressure
      +  energy value = yes or no 
      +
      + +
    +

    Examples: +

    +
    fix_modify 3 temp myTemp press myPress
    +fix_modify 1 energy yes 
    +
    +

    Description: +

    +

    Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which -fix_modify parameters.

    -

    The temp keyword is used to determine how a fix computes +fix_modify parameters. +

    +

    The temp keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously -defined by the user via the compute command and it must +defined by the user via the compute command and it must be a style of compute that calculates a temperature. All fixes that compute temperatures define their own compute by default, as described in their documentation. Thus this option allows the user to override -the default method for computing T.

    -

    The press keyword is used to determine how a fix computes pressure. +the default method for computing T. +

    +

    The press keyword is used to determine how a fix computes pressure. The specified compute ID must have been previously defined by the user -via the compute command and it must be a style of +via the compute command and it must be a style of compute that calculates a pressure. All fixes that compute pressures define their own compute by default, as described in their documentation. Thus this option allows the user to override the -default method for computing P.

    -

    For fixes that calculate a contribution to the potential energy of the -system, the energy keyword will include that contribution in +default method for computing P. +

    +

    For fixes that calculate a contribution to the potential energy of the +system, the energy keyword will include that contribution in thermodynamic output of potential energy. See the -thermo_style command for info on how potential +thermo_style command for info on how potential energy is output. The contribution by itself can be printed by using the keyword f_ID in the thermo_style custom command, where ID is the fix-ID of the appropriate fix. Note that you must use this setting -for a fix if you are using it when performing an energy minimization and if you want the energy and forces it -produces to be part of the optimization criteria.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are temp = ID defined by fix, press = ID defined -by fix, energy = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +for a fix if you are using it when performing an energy +minimization and if you want the energy and forces it +produces to be part of the optimization criteria. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix, compute temp, compute +pressure, thermo_style +

    +

    Default: +

    +

    The option defaults are temp = ID defined by fix, press = ID defined +by fix, energy = no. +

    + diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html index 4f65a93965..c17c44a3fc 100644 --- a/doc/fix_momentum.html +++ b/doc/fix_momentum.html @@ -1,261 +1,85 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix momentum command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix momentum command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID momentum N keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • momentum = style name of this fix command
    • -
    • N = adjust the momentum every this many timesteps -one or more keyword/value pairs may be appended
    • -
    • keyword = linear or angular or rescale
    • -
    -
    -linear values = xflag yflag zflag
    +
    +
    +
    + +

    fix momentum command +

    +

    Syntax: +

    +
    fix ID group-ID momentum N keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • momentum = style name of this fix command + +
    • N = adjust the momentum every this many timesteps +one or more keyword/value pairs may be appended + +
    • keyword = linear or angular or rescale + +
        linear values = xflag yflag zflag
           xflag,yflag,zflag = 0/1 to exclude/include each dimension
      -  angular values = none
      -
      -
      -rescale values = none
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all momentum 1 linear 1 1 0
    +  angular values = none 
    +
    +
      rescale values = none 
    +
    + + +

    Examples: +

    +
    fix 1 all momentum 1 linear 1 1 0
     fix 1 all momentum 1 linear 1 1 1 rescale
    -fix 1 all momentum 100 linear 1 1 1 angular
    -
    -
    -
    -
    -

    Description¶

    -

    Zero the linear and/or angular momentum of the group of atoms every N +fix 1 all momentum 100 linear 1 1 1 angular + +

    Description: +

    +

    Zero the linear and/or angular momentum of the group of atoms every N timesteps by adjusting the velocities of the atoms. One (or both) of -the linear or angular keywords must be specified.

    -

    If the linear keyword is used, the linear momentum is zeroed by +the linear or angular keywords must be specified. +

    +

    If the linear keyword is used, the linear momentum is zeroed by subtracting the center-of-mass velocity of the group from each atom. This does not change the relative velocity of any pair of atoms. One or more dimensions can be excluded from this operation by setting the -corresponding flag to 0.

    -

    If the angular keyword is used, the angular momentum is zeroed by -subtracting a rotational component from each atom.

    -

    This command can be used to insure the entire collection of atoms (or +corresponding flag to 0. +

    +

    If the angular keyword is used, the angular momentum is zeroed by +subtracting a rotational component from each atom. +

    +

    This command can be used to insure the entire collection of atoms (or a subset of them) does not drift or rotate during the simulation due -to random perturbations (e.g. fix langevin -thermostatting).

    -

    The rescale keyword enables conserving the kinetic energy of the group -of atoms by rescaling the velocities after the momentum was removed.

    -

    Note that the velocity command can be used to create -initial velocities with zero aggregate linear and/or angular momentum.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +to random perturbations (e.g. fix langevin +thermostatting). +

    +

    The rescale keyword enables conserving the kinetic energy of the group +of atoms by rescaling the velocities after the momentum was removed. +

    +

    Note that the velocity command can be used to create +initial velocities with zero aggregate linear and/or angular momentum. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix recenter, velocity +

    +

    Default: none +

    + diff --git a/doc/fix_move.html b/doc/fix_move.html index 70ddaa89e9..099f269c8d 100644 --- a/doc/fix_move.html +++ b/doc/fix_move.html @@ -1,287 +1,173 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix move command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix move command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID move style args keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • move = style name of this fix command
    • -
    • style = linear or wiggle or rotate or variable
    • -
    -
    -linear args = Vx Vy Vz
    +
    +
    +
    + +

    fix move command +

    +

    Syntax: +

    +
    fix ID group-ID move style args keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • move = style name of this fix command + +
    • style = linear or wiggle or rotate or variable + +
        linear args = Vx Vy Vz
           Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL
      -  wiggle args = Ax Ay Az period
      +  wiggle args = Ax Ay Az period
           Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
           period = period of oscillation (time units)
      -  rotate args = Px Py Pz Rx Ry Rz period
      +  rotate args = Px Py Pz Rx Ry Rz period
           Px,Py,Pz = origin point of axis of rotation (distance units)
           Rx,Ry,Rz = axis of rotation vector
           period = period of rotation (time units)
      -  variable args = v_dx v_dy v_dz v_vx v_vy v_vz
      +  variable args = v_dx v_dy v_dz v_vx v_vy v_vz
           v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
      -    v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = units
      • -
      -
      -units value = box or lattice
      -
      -
    -
    -

    Examples¶

    -
    fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box
    +    v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = units + +
      units value = box or lattice 
    +
    + + +

    Examples: +

    +
    fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box
     fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0
    -fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL
    -
  • -
    -
    -
    -

    Description¶

    -

    Perform updates of position and velocity for atoms in the group each +fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL + +

    Description: +

    +

    Perform updates of position and velocity for atoms in the group each timestep using the specified settings or formulas, without regard to forces on the atoms. This can be useful for boundary or other atoms, -whose movement can influence nearby atoms.

    -
    -

    Warning

    -

    The atoms affected by this fix should not normally be -time integrated by other fixes (e.g. fix nve, fix nvt), since that will change their positions and -velocities twice.

    -
    -
    -

    Warning

    -

    As atoms move due to this fix, they will pass thru +whose movement can influence nearby atoms. +

    +

    IMPORTANT NOTE: The atoms affected by this fix should not normally be +time integrated by other fixes (e.g. fix nve, fix +nvt), since that will change their positions and +velocities twice. +

    +

    IMPORTANT NOTE: As atoms move due to this fix, they will pass thru periodic boundaries and be remapped to the other side of the simulation box, just as they would during normal time integration -(e.g. via the fix nve command). It is up to you to +(e.g. via the fix nve command). It is up to you to decide whether periodic boundaries are appropriate with the kind of -atom motion you are prescribing with this fix.

    -
    -
    -

    Warning

    -

    As dicsussed below, atoms are moved relative to their +atom motion you are prescribing with this fix. +

    +

    IMPORTANT NOTE: As dicsussed below, atoms are moved relative to their initial position at the time the fix is specified. These initial -coordinates are stored by the fix in “unwrapped” form, by using the -image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. -See the Atoms section of the read_data command for a +coordinates are stored by the fix in "unwrapped" form, by using the +image flags associated with each atom. See the dump +custom command for a discussion of "unwrapped" coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this fix by using -the set image command.

    -
    -
    -

    The linear style moves atoms at a constant velocity, so that their -position X = (x,y,z) as a function of time is given in vector -notation as

    -
    X(t) = X0 + V * delta
    -
    -
    -

    where X0 = (x0,y0,z0) is their position at the time the fix is -specified, V is the specified velocity vector with components -(Vx,Vy,Vz), and delta is the time elapsed since the fix was +the set image command. +

    +
    + +

    The linear style moves atoms at a constant velocity, so that their +position X = (x,y,z) as a function of time is given in vector +notation as +

    +
    X(t) = X0 + V * delta 
    +
    +

    where X0 = (x0,y0,z0) is their position at the time the fix is +specified, V is the specified velocity vector with components +(Vx,Vy,Vz), and delta is the time elapsed since the fix was specified. This style also sets the velocity of each atom to V = (Vx,Vy,Vz). If any of the velocity components is specified as NULL, then the position and velocity of that component is time integrated -the same as the fix nve command would perform, using -the corresponding force component on the atom.

    -

    Note that the linear style is identical to using the variable -style with an equal-style variable that uses the -vdisplace() function. E.g.

    -
    variable V equal 10.0
    +the same as the fix nve command would perform, using
    +the corresponding force component on the atom.
    +

    +

    Note that the linear style is identical to using the variable +style with an equal-style variable that uses the +vdisplace() function. E.g. +

    +
    variable V equal 10.0
     variable x equal vdisplace(0.0,$V)
    -fix 1 boundary move variable v_x NULL NULL v_V NULL NULL
    -
    -
    -

    The wiggle style moves atoms in an oscillatory fashion, so that -their position X = (x,y,z) as a function of time is given in vector -notation as

    -
    X(t) = X0 + A sin(omega*delta)
    -
    -
    -

    where X0 = (x0,y0,z0) is their position at the time the fix is -specified, A is the specified amplitude vector with components -(Ax,Ay,Az), omega is 2 PI / period, and delta is the time +fix 1 boundary move variable v_x NULL NULL v_V NULL NULL + +

    The wiggle style moves atoms in an oscillatory fashion, so that +their position X = (x,y,z) as a function of time is given in vector +notation as +

    +
    X(t) = X0 + A sin(omega*delta) 
    +
    +

    where X0 = (x0,y0,z0) is their position at the time the fix is +specified, A is the specified amplitude vector with components +(Ax,Ay,Az), omega is 2 PI / period, and delta is the time elapsed since the fix was specified. This style also sets the velocity of each atom to the time derivative of this expression. If any of the amplitude components is specified as NULL, then the position and velocity of that component is time integrated the same as -the fix nve command would perform, using the -corresponding force component on the atom.

    -

    Note that the wiggle style is identical to using the variable -style with equal-style variables that use the -swiggle() and cwiggle() functions. E.g.

    -
    variable A equal 10.0
    +the fix nve command would perform, using the
    +corresponding force component on the atom.
    +

    +

    Note that the wiggle style is identical to using the variable +style with equal-style variables that use the +swiggle() and cwiggle() functions. E.g. +

    +
    variable A equal 10.0
     variable T equal 5.0
     variable omega equal 2.0*PI/$T
     variable x equal swiggle(0.0,$A,$T)
     variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
    -fix 1 boundary move variable v_x NULL NULL v_v NULL NULL
    -
    -
    -

    The rotate style rotates atoms around a rotation axis R = -(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The period of +fix 1 boundary move variable v_x NULL NULL v_v NULL NULL + +

    The rotate style rotates atoms around a rotation axis R = +(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The period of the rotation is also specified. This style also sets the velocity of each atom to (omega cross Rperp) where omega is its angular velocity around the rotation axis and Rperp is a perpendicular vector from the rotation axis to the atom. If the defined -atom_style assigns an angular velocity to each atom, -then each atom’s angular velocity is also set to omega. Note that the +atom_style assigns an angular velocity to each atom, +then each atom's angular velocity is also set to omega. Note that the direction of rotation for the atoms around the rotation axis is -consistent with the right-hand rule: if your right-hand’s thumb points -along R, then your fingers wrap around the axis in the direction of -rotation.

    -

    The variable style allows the position and velocity components of +consistent with the right-hand rule: if your right-hand's thumb points +along R, then your fingers wrap around the axis in the direction of +rotation. +

    +

    The variable style allows the position and velocity components of each atom to be set by formulas specified via the -variable command. Each of the 6 variables is +variable command. Each of the 6 variables is specified as an argument to the fix as v_name, where name is the -variable name that is defined elsewhere in the input script.

    -

    Each variable must be of either the equal or atom style. -Equal-style variables compute a single numeric quantity, that can be +variable name that is defined elsewhere in the input script. +

    +

    Each variable must be of either the equal or atom style. +Equal-style variables compute a single numeric quantity, that can be a function of the timestep as well as of other simulation values. -Atom-style variables compute a numeric quantity for each atom, that -can be a function per-atom quantities, such as the atom’s position, as +Atom-style variables compute a numeric quantity for each atom, that +can be a function per-atom quantities, such as the atom's position, as well as of the timestep and other simulation values. Note that this fix stores the original coordinates of each atom (see note below) so that per-atom quantity can be used in an atom-style variable formula. -See the variable command for details.

    -

    The first 3 variables (v_dx,v_dy,v_dz) specified for the variable -style are used to calculate a displacement from the atom’s original +See the variable command for details. +

    +

    The first 3 variables (v_dx,v_dy,v_dz) specified for the variable +style are used to calculate a displacement from the atom's original position at the time the fix was specified. The second 3 variables (v_vx,v_vy,v_vz) specified are used to compute a velocity for each -atom.

    -

    Any of the 6 variables can be specified as NULL. If both the +atom. +

    +

    Any of the 6 variables can be specified as NULL. If both the displacement and velocity variables for a particular x,y,z component are specified as NULL, then the position and velocity of that -component is time integrated the same as the fix nve +component is time integrated the same as the fix nve command would perform, using the corresponding force component on the atom. If only the velocity variable for a component is specified as NULL, then the displacement variable will be used to set the position @@ -289,116 +175,60 @@ of the atom, and its velocity component will not be changed. If only the displacement variable for a component is specified as NULL, then the velocity variable will be used to set the velocity of the atom, and the position of the atom will be time integrated using that -velocity.

    -

    The units keyword determines the meaning of the distance units used -to define the linear velocity and wiggle amplitude and rotate -origin. This setting is ignored for the variable style. A box -value selects standard units as defined by the units +velocity. +

    +

    The units keyword determines the meaning of the distance units used +to define the linear velocity and wiggle amplitude and rotate +origin. This setting is ignored for the variable style. A box +value selects standard units as defined by the units command, e.g. velocity in Angstroms/fmsec and amplitude and position -in Angstroms for units = real. A lattice value means the velocity +in Angstroms for units = real. A lattice value means the velocity units are in lattice spacings per time and the amplitude and position -are in lattice spacings. The lattice command must have +are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice -spacings can be different in x,y,z.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the original coordinates of moving atoms to binary restart files, as well as the initial timestep, so that +spacings can be different in x,y,z. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the original coordinates of moving atoms to binary +restart files, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    IMPORTANNT NOTE: Because the move positions are a function of the +operation of the fix continues in an uninterrupted fashion. +

    +

    IMPORTANNT NOTE: Because the move positions are a function of the current timestep and the initial timestep, you cannot reset the timestep to a different value after reading a restart file, if you -expect a fix move command to work in an uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    This fix produces a per-atom array which can be accessed by various -output commands. The number of columns +expect a fix move command to work in an uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    This fix produces a per-atom array which can be accessed by various +output commands. The number of columns for each atom is 3, and the columns store the original unwrapped x,y,z coords of each atom. The per-atom values can be accessed on any -timestep.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -

    For rRESPA time integration, this fix adjusts the -position and velocity of atoms on the outermost rRESPA level.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +timestep. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    For rRESPA time integration, this fix adjusts the +position and velocity of atoms on the outermost rRESPA level. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix nve, displace_atoms +

    +

    Default: none +

    +

    The option default is units = lattice. +

    + diff --git a/doc/fix_msst.html b/doc/fix_msst.html index f79a088582..60f2daffe7 100644 --- a/doc/fix_msst.html +++ b/doc/fix_msst.html @@ -1,329 +1,171 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix msst command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix msst command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID msst dir shockvel keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • msst = style name of this fix
    • -
    • dir = x or y or z
    • -
    • shockvel = shock velocity (strictly positive, distance/time units)
    • -
    • zero or more keyword value pairs may be appended
    • -
    • keyword = q or mu or p0 or v0 or e0 or tscale
    • -
    -
    -q value = cell mass-like parameter (mass^2/distance^4 units)
    -  mu value = artificial viscosity (mass/length/time units)
    -  p0 value = initial pressure in the shock equations (pressure units)
    -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    -  e0 value = initial total energy (energy units)
    -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5
    -fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4  v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01
    -
    -
    -
    -
    -

    Description¶

    -

    This command performs the Multi-Scale Shock Technique (MSST) + + +


    + +

    fix msst command +

    +

    Syntax: +

    +
    fix ID group-ID msst dir shockvel keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • msst = style name of this fix + +
    • dir = x or y or z + +
    • shockvel = shock velocity (strictly positive, distance/time units) + +
    • zero or more keyword value pairs may be appended + +
    • keyword = q or mu or p0 or v0 or e0 or tscale + +
        q value = cell mass-like parameter (mass^2/distance^4 units)
      +  mu value = artificial viscosity (mass/length/time units)
      +  p0 value = initial pressure in the shock equations (pressure units)
      +  v0 value = initial simulation cell volume in the shock equations (distance^3 units)  
      +  e0 value = initial total energy (energy units)
      +  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) 
      +
      + +
    +

    Examples: +

    +
    fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5
    +fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4  v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 
    +
    +

    Description: +

    +

    This command performs the Multi-Scale Shock Technique (MSST) integration to update positions and velocities each timestep to mimic -a compressive shock wave passing over the system. See (Reed) +a compressive shock wave passing over the system. See (Reed) for a detailed description of this method. The MSST varies the cell volume and temperature in such a way as to restrain the system to the shock Hugoniot and the Rayleigh line. These restraints correspond to the macroscopic conservation laws dictated by a shock -front. shockvel determines the steady shock velocity that will be -simulated.

    -

    To perform a simulation, choose a value of q that provides volume +front. shockvel determines the steady shock velocity that will be +simulated. +

    +

    To perform a simulation, choose a value of q that provides volume compression on the timescale of 100 fs to 1 ps. If the volume is not compressing, either the shock speed is chosen to be below the material -sound speed or p0 has been chosen inaccurately. Volume compression -at the start can be sped up by using a non-zero value of tscale. Use -the smallest value of tscale that results in compression.

    -

    Under some special high-symmetry conditions, the pressure (volume) +sound speed or p0 has been chosen inaccurately. Volume compression +at the start can be sped up by using a non-zero value of tscale. Use +the smallest value of tscale that results in compression. +

    +

    Under some special high-symmetry conditions, the pressure (volume) and/or temperature of the system may oscillate for many cycles even -with an appropriate choice of mass-like parameter q. Such +with an appropriate choice of mass-like parameter q. Such oscillations have physical significance in some cases. The optional -mu keyword adds an artificial viscosity that helps break the system +mu keyword adds an artificial viscosity that helps break the system symmetry to equilibrate to the shock Hugoniot and Rayleigh line more -rapidly in such cases.

    -

    tscale is a factor between 0 and 1 that determines what fraction of +rapidly in such cases. +

    +

    tscale is a factor between 0 and 1 that determines what fraction of thermal kinetic energy is converted to compressive strain kinetic energy at the start of the simulation. Setting this parameter to a non-zero value may assist in compression at the start of simulations -where it is slow to occur.

    -

    If keywords e0, p0,or v0 are not supplied, these quantities will +where it is slow to occur. +

    +

    If keywords e0, p0,or v0 are not supplied, these quantities will be calculated on the first step, after the energy specified by -tscale is removed. The value of e0 is not used in the dynamical -equations, but is used in calculating the deviation from the Hugoniot.

    -

    Values of shockvel less than a critical value determined by the +tscale is removed. The value of e0 is not used in the dynamical +equations, but is used in calculating the deviation from the Hugoniot. +

    +

    Values of shockvel less than a critical value determined by the material response will not have compressive solutions. This will be -reflected in lack of significant change of the volume in the MSST.

    -

    For all pressure styles, the simulation box stays orthogonal in shape. +reflected in lack of significant change of the volume in the MSST. +

    +

    For all pressure styles, the simulation box stays orthogonal in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by -LAMMPS, but are not implemented for MSST.

    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp” and “pressure”, -as if these commands had been issued:

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp
    -
    -
    -

    See the compute temp and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”. The group for the new computes is “all”.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of all internal variables to binary restart files. See the read_restart command +LAMMPS, but are not implemented for MSST. +

    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if these commands had been issued: +

    +
    compute fix-ID_temp group-ID temp 
    +compute fix-ID_press group-ID pressure fix-ID_temp 
    +
    +

    See the compute temp and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press". The group for the new computes is "all". +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of all internal variables to binary restart +files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The progress of the MSST can be monitored by printing the global -scalar and global vector quantities computed by the fix.

    -

    The scalar is the cumulative energy change due to the fix. This is +uninterrupted fashion. +

    +

    The progress of the MSST can be monitored by printing the global +scalar and global vector quantities computed by the fix. +

    +

    The scalar is the cumulative energy change due to the fix. This is also the energy added to the potential energy by the -fix_modify energy command. With this command, the -thermo keyword etotal prints the conserved quantity of the MSST +fix_modify energy command. With this command, the +thermo keyword etotal prints the conserved quantity of the MSST dynamic equations. This can be used to test if the MD timestep is sufficiently small for accurate integration of the dynamic -equations. See also thermo_style command.

    -

    The global vector contains four values in this order:

    -

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position]

    -
      -
    1. dhugoniot is the departure from the Hugoniot (temperature units).
    2. -
    3. drayleigh is the departure from the Rayleigh line (pressure units).
    4. -
    5. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).
    6. -
    7. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front.
    8. -
    -

    To print these quantities to the log file with descriptive column -headers, the following LAMMPS commands are suggested:

    -
    fix           msst all msst z
    +equations. See also thermo_style command.
    +

    +

    The global vector contains four values in this order: +

    +

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position] +

    +
    1. dhugoniot is the departure from the Hugoniot (temperature units). +
    2. drayleigh is the departure from the Rayleigh line (pressure units). +
    3. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +
    4. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. +
    +

    To print these quantities to the log file with descriptive column +headers, the following LAMMPS commands are suggested: +

    +
    fix		 msst all msst z 
     fix_modify       msst energy yes
     variable dhug    equal f_msst[1]
     variable dray    equal f_msst[2]
     variable lgr_vel equal f_msst[3]
     variable lgr_pos equal f_msst[4]
    -thermo_style     custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst
    -
    -
    -

    These fixes compute a global scalar and a global vector of 4 -quantities, which can be accessed by various output commands. The scalar values calculated -by this fix are “extensive”; the vector values are “intensive”.

    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    All cell dimensions must be periodic. This fix can not be used with a +thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst + +

    These fixes compute a global scalar and a global vector of 4 +quantities, which can be accessed by various output +commands. The scalar values calculated +by this fix are "extensive"; the vector values are "intensive". +

    +

    Restrictions: +

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The MSST fix has been tested only for the group-ID -all.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0 -are calculated on the first step.

    -
    -

    (Reed) Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003).

    -
    -
    +all. +

    +

    Related commands: +

    +

    fix nphug, fix deform +

    +

    Default: +

    +

    The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0 +are calculated on the first step. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Reed) Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003). +

    + diff --git a/doc/fix_neb.html b/doc/fix_neb.html index 25277b3e55..23a8b894d3 100644 --- a/doc/fix_neb.html +++ b/doc/fix_neb.html @@ -1,282 +1,113 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix neb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix neb command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID neb Kspring
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • neb = style name of this fix command
    • -
    • Kspring = inter-replica spring constant (force/distance units)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 active neb 10.0
    -
    -
    -
    -
    -

    Description¶

    -

    Add inter-replica forces to atoms in the group for a multi-replica -simulation run via the neb command to perform a nudged + + +


    + +

    fix neb command +

    +

    Syntax: +

    +
    fix ID group-ID neb Kspring 
    +
    +
    • ID, group-ID are documented in fix command +
    • neb = style name of this fix command +
    • Kspring = inter-replica spring constant (force/distance units) +
    +

    Examples: +

    +
    fix 1 active neb 10.0 
    +
    +

    Description: +

    +

    Add inter-replica forces to atoms in the group for a multi-replica +simulation run via the neb command to perform a nudged elastic band (NEB) calculation for transition state finding. Hi-level -explanations of NEB are given with the neb command and in -Section_howto 5 of the manual. The fix -neb command must be used with the “neb” command to define how -inter-replica forces are computed.

    -

    Only the N atoms in the fix group experience inter-replica forces. +explanations of NEB are given with the neb command and in +Section_howto 5 of the manual. The fix +neb command must be used with the "neb" command to define how +inter-replica forces are computed. +

    +

    Only the N atoms in the fix group experience inter-replica forces. Atoms in the two end-point replicas do not experience these forces, but those in intermediate replicas do. During the initial stage of NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting on the atoms of each intermediate replica I is altered, as described -in the (Henkelman1) paper, to become:

    -
    Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That
    -
    -
    -

    Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the +in the (Henkelman1) paper, to become: +

    +
    Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That 
    +
    +

    Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its neighbor replicas. That (t with a hat over it) is -the unit “tangent” vector for replica I which is a function of Ri, +the unit "tangent" vector for replica I which is a function of Ri, Ri-1, Ri+1, and the potential energy of the 3 replicas; it points roughly in the direction of (Ri+i - Ri-1); see the -(Henkelman1) paper for details.

    -

    The first two terms in the above equation are the component of the +(Henkelman1) paper for details. +

    +

    The first two terms in the above equation are the component of the interatomic forces perpendicular to the tangent vector. The last term is a spring force between replica I and its neighbors, parallel to the -tangent vector direction with the specified spring constant Kspring.

    -

    The effect of the first two terms is to push the atoms of each replica +tangent vector direction with the specified spring constant Kspring. +

    +

    The effect of the first two terms is to push the atoms of each replica toward the minimum energy path (MEP) of conformational states that transition over the energy barrier. The MEP for an energy barrier is defined as a sequence of 3N-dimensional states which cross the barrier at its saddle point, each of which has a potential energy gradient -parallel to the MEP itself.

    -

    The effect of the last term is to push each replica away from its two +parallel to the MEP itself. +

    +

    The effect of the last term is to push each replica away from its two neighbors in a direction along the MEP, so that the final set of -states are equidistant from each other.

    -

    During the second stage of NEB, the forces on the N atoms in the +states are equidistant from each other. +

    +

    During the second stage of NEB, the forces on the N atoms in the replica nearest the top of the energy barrier are altered so that it climbs to the top of the barrier and finds the saddle point. The forces on atoms in this replica are described in the -(Henkelman2) paper, and become:

    -
    Fi = -Grad(V) + 2 (Grad(V) dot That) That
    -
    -
    -

    The inter-replica forces for the other replicas are unchanged from the -first equation.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +(Henkelman2) paper, and become: +

    +
    Fi = -Grad(V) + 2 (Grad(V) dot That) That 
    +
    +

    The inter-replica forces for the other replicas are unchanged from the +first equation. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -as invoked by the minimize command via the -neb command.

    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +as invoked by the minimize command via the +neb command. +

    +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    neb +

    +

    Default: none +

    + +

    (Henkelman1) Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). +

    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Henkelman2) Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, +9901-9904 (2000). +

    + diff --git a/doc/fix_nh.html b/doc/fix_nh.html index 87f7dc1d87..103fc7321e 100644 --- a/doc/fix_nh.html +++ b/doc/fix_nh.html @@ -1,306 +1,193 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt command¶

    -
    -
    -

    fix nvt/cuda command¶

    -
    -
    -

    fix nvt/omp command¶

    -
    -
    -

    fix npt command¶

    -
    -
    -

    fix npt/cuda command¶

    -
    -
    -

    fix npt/omp command¶

    -
    -
    -

    fix nph command¶

    -
    -
    -

    fix nph/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style_name keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style_name = nvt or npt or nph
    • -
    • one or more keyword/value pairs may be appended
    • -
    -
    -keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scalexy or scaleyz or scalexz or flip or fixedpoint
    -  temp values = Tstart Tstop Tdamp
    +
    +
    +
    + +

    fix nvt command +

    +

    fix nvt/cuda command +

    +

    fix nvt/omp command +

    +

    fix npt command +

    +

    fix npt/cuda command +

    +

    fix npt/omp command +

    +

    fix nph command +

    +

    fix nph/omp command +

    +

    Syntax: +

    +
    fix ID group-ID style_name keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style_name = nvt or npt or nph + +
    • one or more keyword/value pairs may be appended + +
      keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scalexy or scaleyz or scalexz or flip or fixedpoint
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = external temperature at start/end of run
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = N
      +  couple = none or xyz or xy or yz or xz
      +  tchain value = N
           N = length of thermostat chain (1 = single thermostat)
      -  pchain values = N
      +  pchain values = N
           N length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = M
      +  mtk value = yes or no = add in MTK adjustment term or not
      +  tloop value = M
           M = number of sub-cycles to perform on thermostat
      -  ploop value = M
      +  ploop value = M
           M = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = Df
      +  nreset value = reset reference cell every this many timesteps
      +  drag value = Df
           Df = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = dilate-group-ID
      +  dilate value = dilate-group-ID
           dilate-group-ID = only dilate atoms in this group due to barostat volume changes
      -  scalexy value = yes or no = scale xy with ly
      -  scaleyz value = yes or no = scale yz with lz
      -  scalexz value = yes or no = scale xz with lz
      -  flip value = yes or no = allow or disallow box flips when it becomes highly skewed
      -  fixedpoint values = x y z
      -    x,y,z = perform barostat dilation/contraction around this point (distance units)
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all nvt temp 300.0 300.0 100.0
    +  scalexy value = yes or no = scale xy with ly
    +  scaleyz value = yes or no = scale yz with lz
    +  scalexz value = yes or no = scale xz with lz
    +  flip value = yes or no = allow or disallow box flips when it becomes highly skewed
    +  fixedpoint values = x y z
    +    x,y,z = perform barostat dilation/contraction around this point (distance units) 
    +
    + + +

    Examples: +

    +
    fix 1 all nvt temp 300.0 300.0 100.0
     fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0
    -fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000
    -
    -
    -
    -
    -

    Description¶

    -

    These commands perform time integration on Nose-Hoover style +fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 + +

    Description: +

    +

    These commands perform time integration on Nose-Hoover style non-Hamiltonian equations of motion which are designed to generate positions and velocities sampled from the canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph) ensembles. This updates the position and velocity for atoms in the group each -timestep.

    -

    The thermostatting and barostatting is achieved by adding some dynamic +timestep. +

    +

    The thermostatting and barostatting is achieved by adding some dynamic variables which are coupled to the particle velocities (thermostatting) and simulation domain dimensions (barostatting). In addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the overall box volume, or -to individual dimensions, including the xy, xz and yz tilt +to individual dimensions, including the xy, xz and yz tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used correctly, the time-averaged temperature and stress tensor of the particles will match the target values specified by Tstart/Tstop and -Pstart/Pstop.

    -

    The equations of motion used are those of Shinoda et al in -(Shinoda), which combine the hydrostatic equations of -Martyna, Tobias and Klein in (Martyna) with the strain +Pstart/Pstop. +

    +

    The equations of motion used are those of Shinoda et al in +(Shinoda), which combine the hydrostatic equations of +Martyna, Tobias and Klein in (Martyna) with the strain energy proposed by Parrinello and Rahman in -(Parrinello). The time integration schemes closely +(Parrinello). The time integration schemes closely follow the time-reversible measure-preserving Verlet and rRESPA -integrators derived by Tuckerman et al. in (Tuckerman).

    -
    -

    The thermostat parameters for fix styles nvt and npt is specified -using the temp keyword. Other thermostat-related keywords are -tchain, tloop and drag, which are discussed below.

    -

    The thermostat is applied to only the translational degrees of freedom +integrators derived by Tuckerman et al. in (Tuckerman). +

    +
    + +

    The thermostat parameters for fix styles nvt and npt is specified +using the temp keyword. Other thermostat-related keywords are +tchain, tloop and drag, which are discussed below. +

    +

    The thermostat is applied to only the translational degrees of freedom for the particles. The translational degrees of freedom can also have a bias velocity removed before thermostatting takes place; see the description below. The desired temperature at each timestep is a -ramped value during the run from Tstart to Tstop. The Tdamp +ramped value during the run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 10.0 means to relax the temperature in a timespan of (roughly) 10 time units (e.g. tau or -fmsec or psec - see the units command). The atoms in the +fmsec or psec - see the units command). The atoms in the fix group are the only ones whose velocities and positions are updated -by the velocity/position update portion of the integration.

    -
    -

    Warning

    -

    A Nose-Hoover thermostat will not work well for -arbitrary values of Tdamp. If Tdamp is too small, the temperature +by the velocity/position update portion of the integration. +

    +

    IMPORTANT NOTE: A Nose-Hoover thermostat will not work well for +arbitrary values of Tdamp. If Tdamp is too small, the temperature can fluctuate wildly; if it is too large, the temperature will take a very long time to equilibrate. A good choice for many models is a -Tdamp of around 100 timesteps. Note that this is NOT the same as -100 time units for most units settings.

    -
    -
    -

    The barostat parameters for fix styles npt and nph is specified -using one or more of the iso, aniso, tri, x, y, z, xy, -xz, yz, and couple keywords. These keywords give you the +Tdamp of around 100 timesteps. Note that this is NOT the same as +100 time units for most units settings. +

    +
    + +

    The barostat parameters for fix styles npt and nph is specified +using one or more of the iso, aniso, tri, x, y, z, xy, +xz, yz, and couple keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a constant-pressure -simulation.

    -

    Other barostat-related keywords are pchain, mtk, ploop, -nreset, drag, and dilate, which are discussed below.

    -

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). +simulation. +

    +

    Other barostat-related keywords are pchain, mtk, ploop, +nreset, drag, and dilate, which are discussed below. +

    +

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The create_box, read data, and read_restart commands +dimensions (x,y,z,xy,xz,yz). The create_box, read +data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors.

    -

    The target pressures for each of the 6 components of the stress tensor -can be specified independently via the x, y, z, xy, xz, yz +(triclinic) and explain the meaning of the xy,xz,yz tilt factors. +

    +

    The target pressures for each of the 6 components of the stress tensor +can be specified independently via the x, y, z, xy, xz, yz keywords, which correspond to the 6 simulation box dimensions. For each component, the external pressure or tensor component at each -timestep is a ramped value during the run from Pstart to Pstop. +timestep is a ramped value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will change during a simulation. For -example, if the y keyword is used, the y-box length will change. If -the xy keyword is used, the xy tilt factor will change. A box +example, if the y keyword is used, the y-box length will change. If +the xy keyword is used, the xy tilt factor will change. A box dimension will not change if that component is not specified, although -you have the option to change that dimension via the fix deform command.

    -

    Note that in order to use the xy, xz, or yz keywords, the +you have the option to change that dimension via the fix +deform command. +

    +

    Note that in order to use the xy, xz, or yz keywords, the simulation box must be triclinic, even if its initial tilt factors are -0.0.

    -

    For all barostat keywords, the Pdamp parameter operates like the -Tdamp parameter, determining the time scale on which pressure is +0.0. +

    +

    For all barostat keywords, the Pdamp parameter operates like the +Tdamp parameter, determining the time scale on which pressure is relaxed. For example, a value of 10.0 means to relax the pressure in a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the units command).

    -
    -

    Warning

    -

    A Nose-Hoover barostat will not work well for -arbitrary values of Pdamp. If Pdamp is too small, the pressure +the units command). +

    +

    IMPORTANT NOTE: A Nose-Hoover barostat will not work well for +arbitrary values of Pdamp. If Pdamp is too small, the pressure and volume can fluctuate wildly; if it is too large, the pressure will take a very long time to equilibrate. A good choice for many models -is a Pdamp of around 1000 timesteps. Note that this is NOT the same -as 1000 time units for most units settings.

    -
    -

    Regardless of what atoms are in the fix group (the only atoms which +is a Pdamp of around 1000 timesteps. Note that this is NOT the same +as 1000 time units for most units settings. +

    +

    Regardless of what atoms are in the fix group (the only atoms which are time integrated), a global pressure or stress tensor is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword -dilate is specified with a dilate-group-ID for a group that +dilate is specified with a dilate-group-ID for a group that represents a subset of the atoms. This can be useful, for example, to leave the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. This option should @@ -308,64 +195,70 @@ be used with care, since it can be unphysical to dilate some atoms and not others, because it can introduce large, instantaneous displacements between a pair of atoms (one dilated, one not) that are far from the dilation origin. Also note that for atoms not in the fix -group, a separate time integration fix like fix nve or -fix nvt can be used on them, independent of whether they -are dilated or not.

    -
    -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be “coupled” together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +group, a separate time integration fix like fix nve or +fix nvt can be used on them, independent of whether they +are dilated or not. +

    +
    + +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored.

    -
    -

    The iso, aniso, and tri keywords are simply shortcuts that are -equivalent to specifying several other keywords together.

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored. +

    +
    + +

    The iso, aniso, and tri keywords are simply shortcuts that are +equivalent to specifying several other keywords together. +

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using “iso Pstart Pstop Pdamp” is the same as -specifying these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using "iso Pstart Pstop Pdamp" is the same as
    +specifying these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz
    -
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using “aniso Pstart Pstop Pdamp” is the same as specifying -these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +pressure.  Using "aniso Pstart Pstop Pdamp" is the same as specifying
    +these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none
    -
    -
    -

    The keyword tri means x, y, z, xy, xz, and yz dimensions +couple none + +

    The keyword tri means x, y, z, xy, xz, and yz dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the -external normal stress. Using “tri Pstart Pstop Pdamp” is the same as -specifying these 7 keywords:

    -
    x Pstart Pstop Pdamp
    +external normal stress.  Using "tri Pstart Pstop Pdamp" is the same as
    +specifying these 7 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
     xy 0.0 0.0 Pdamp
     yz 0.0 0.0 Pdamp
     xz 0.0 0.0 Pdamp
    -couple none
    -
    -
    -
    -

    In some cases (e.g. for solids) the pressure (volume) and/or +couple none + +


    + +

    In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover -barostat and thermostat is applied. The optional drag keyword will +barostat and thermostat is applied. The optional drag keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the @@ -375,370 +268,360 @@ is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. Note that use of the drag keyword will interfere with energy conservation and will also change the distribution of positions and velocities so that they do not -correspond to the nominal NVT, NPT, or NPH ensembles.

    -

    An alternative way to control initial oscillations is to use chain -thermostats. The keyword tchain determines the number of thermostats +correspond to the nominal NVT, NPT, or NPH ensembles. +

    +

    An alternative way to control initial oscillations is to use chain +thermostats. The keyword tchain determines the number of thermostats in the particle thermostat. A value of 1 corresponds to the original -Nose-Hoover thermostat. The keyword pchain specifies the number of +Nose-Hoover thermostat. The keyword pchain specifies the number of thermostats in the chain thermostatting the barostat degrees of freedom. A value of 0 corresponds to no thermostatting of the -barostat variables.

    -

    The mtk keyword controls whether or not the correction terms due to +barostat variables. +

    +

    The mtk keyword controls whether or not the correction terms due to Martyna, Tuckerman, and Klein are included in the equations of motion -(Martyna). Specifying no reproduces the original +(Martyna). Specifying no reproduces the original Hoover barostat, whose volume probability distribution function differs from the true NPT and NPH ensembles by a factor of 1/V. Hence -using yes is more correct, but in many cases the difference is -negligible.

    -

    The keyword tloop can be used to improve the accuracy of integration +using yes is more correct, but in many cases the difference is +negligible. +

    +

    The keyword tloop can be used to improve the accuracy of integration scheme at little extra cost. The initial and final updates of the -thermostat variables are broken up into tloop substeps, each of -length dt/tloop. This corresponds to using a first-order -Suzuki-Yoshida scheme (Tuckerman2006). The keyword -ploop does the same thing for the barostat thermostat.

    -

    The keyword nreset controls how often the reference dimensions used +thermostat variables are broken up into tloop substeps, each of +length dt/tloop. This corresponds to using a first-order +Suzuki-Yoshida scheme (Tuckerman2006). The keyword +ploop does the same thing for the barostat thermostat. +

    +

    The keyword nreset controls how often the reference dimensions used to define the strain energy are reset. If this keyword is not used, or is given a value of zero, then the reference dimensions are set to those of the initial simulation domain and are never changed. If the simulation domain changes significantly during the simulation, then the final average pressure tensor will differ significantly from the -specified values of the external stress tensor. A value of nstep -means that every nstep timesteps, the reference dimensions are set -to those of the current simulation domain.

    -

    The scaleyz, scalexz, and scalexy keywords control whether or +specified values of the external stress tensor. A value of nstep +means that every nstep timesteps, the reference dimensions are set +to those of the current simulation domain. +

    +

    The scaleyz, scalexz, and scalexy keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when barostatting triclinic periodic cells. The default -values yes will turn on scaling, which corresponds to adjusting the +values yes will turn on scaling, which corresponds to adjusting the linear dimensions of the cell while preserving its shape. Choosing -no ensures that the tilt factors are not scaled with the box +no ensures that the tilt factors are not scaled with the box dimensions. See below for restrictions and default values in different situations. In older versions of LAMMPS, scaling of tilt factors was not performed. The old behavior can be recovered by setting all three -scale keywords to no.

    -

    The flip keyword allows the tilt factors for a triclinic box to +scale keywords to no. +

    +

    The flip keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -below. If the flip value is set to yes, the bound is enforced by -flipping the box when it is exceeded. If the flip value is set to -no, the tilt will continue to change without flipping. Note that if +below. If the flip value is set to yes, the bound is enforced by +flipping the box when it is exceeded. If the flip value is set to +no, the tilt will continue to change without flipping. Note that if applied stress induces large deformations (e.g. in a liquid), this means the box shape can tilt dramatically and LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor’s irregular-shaped sub-domain. +acquire ghost atoms around a processor's irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error.

    -

    The fixedpoint keyword specifies the fixed point for barostat volume +error. +

    +

    The fixedpoint keyword specifies the fixed point for barostat volume changes. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to fixedpoint, then the lower periodic boundaries will remain at +to fixedpoint, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of -positions.

    -
    -
    -

    Warning

    -

    Using a barostat coupled to tilt dimensions xy, -xz, yz can sometimes result in arbitrarily large values of the +positions. +

    +
    + +

    IMPORTANT NOTE: Using a barostat coupled to tilt dimensions xy, +xz, yz can sometimes result in arbitrarily large values of the tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS allows the tilt factors to grow a small amount beyond the normal limit of half the box length (0.6 times the box length), and then performs a -box “flip” to an equivalent periodic cell. See the discussion of the -flip keyword above, to allow this bound to be exceeded, if desired.

    -
    -

    The flip operation is described in more detail in the doc page for -fix deform. Both the barostat dynamics and the atom +box "flip" to an equivalent periodic cell. See the discussion of the +flip keyword above, to allow this bound to be exceeded, if desired. +

    +

    The flip operation is described in more detail in the doc page for +fix deform. Both the barostat dynamics and the atom trajectories are unaffected by this operation. However, if a tilt factor is incremented by a large amount (1.5 times the box length) on a single timestep, LAMMPS can not accomodate this event and will terminate the simulation with an error. This error typically indicates that there is something badly wrong with how the simulation was -constructed, such as specifying values of Pstart that are too far +constructed, such as specifying values of Pstart that are too far from the current stress value, or specifying a timestep that is too large. Triclinic barostatting should be used with care. This also is true for other barostat styles, although they tend to be more forgiving of insults. In particular, it is important to recognize that equilibrium liquids can not support a shear stress and that equilibrium solids can not support shear stresses that exceed the -yield stress.

    -

    One exception to this rule is if the 1st dimension in the tilt factor +yield stress. +

    +

    One exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will simply -become inefficient due to the highly skewed simulation box.

    -
    -

    Warning

    -

    Unlike the fix temp/berendsen command which performs +become inefficient due to the highly skewed simulation box. +

    +

    IMPORTANT NOTE: Unlike the fix +temp/berendsen command which performs thermostatting but NO time integration, these fixes perform thermostatting/barostatting AND time integration. Thus you should not -use any other time integration fix, such as fix nve on +use any other time integration fix, such as fix nve on atoms to which this fix is applied. Likewise, fix nvt and fix npt should not normally be used on atoms that also have their temperature -controlled by another fix - e.g. by fix langevin or fix temp/rescale commands.

    -
    -

    See this howto section of the manual for +controlled by another fix - e.g. by fix langevin or fix +temp/rescale commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting and barostatting.

    -
    -

    These fixes compute a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp” and “pressure”, -as if one of these two sets of commands had been issued:

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp
    -
    -
    -
    compute fix-ID_temp all temp
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”. For fix nvt, the group for the new computes +thermostatting and barostatting. +

    +
    + +

    These fixes compute a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if one of these two sets of commands had been issued: +

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp 
    +
    +
    compute fix-ID_temp all temp
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press". For fix nvt, the group for the new computes is the same as the fix group. For fix nph and fix npt, the group for -the new computes is “all” since pressure is computed for the entire -system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -

    Like other fixes that perform thermostatting, fix nvt and fix npt can -be used with compute commands that calculate a -temperature after removing a “bias” from the atom velocities. +the new computes is "all" since pressure is computed for the entire +system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +

    Like other fixes that perform thermostatting, fix nvt and fix npt can +be used with compute commands that calculate a +temperature after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not -done by default, but only if the fix_modify command +done by default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such -a bias term. See the doc pages for individual compute commands to determine which ones include a bias. In +a bias term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    These fixes can be used with either the verlet or respa -integrators. When using one of the barostat fixes -with respa, LAMMPS uses an integrator constructed +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    These fixes can be used with either the verlet or respa +integrators. When using one of the barostat fixes +with respa, LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator -(for two rRESPA levels):

    -_images/fix_nh1.jpg -

    This factorization differs somewhat from that of Tuckerman et al., in that +(for two rRESPA levels): +

    +
    +
    +

    This factorization differs somewhat from that of Tuckerman et al., in that the barostat is only updated at the outermost rRESPA level, whereas -Tuckerman’s factorization requires splitting the pressure into pieces +Tuckerman's factorization requires splitting the pressure into pieces corresponding to the forces computed at each rRESPA level. In theory, the latter method will exhibit better numerical stability. In practice, -because Pdamp is normally chosen to be a large multiple of the -outermost rRESPA timestep, the barostat dynamics are not the -limiting factor for numerical stability. Both -factorizations are time-reversible and can be shown to preserve the phase -space measure of the underlying non-Hamiltonian equations of motion.

    -
    -

    The fix npt and fix nph commands can be used with rigid bodies or +because Pdamp is normally chosen to be a large multiple of the +outermost rRESPA timestep, the barostat dynamics are not the +limiting factor for numerical stability. Both +factorizations are time-reversible and can be shown to preserve the phase +space measure of the underlying non-Hamiltonian equations of motion. +

    +
    + +

    The fix npt and fix nph commands can be used with rigid bodies or mixtures of rigid bodies and non-rigid particles (e.g. solvent). But -there are also fix rigid/npt and fix rigid/nph commands, which are typically a more natural +there are also fix rigid/npt and fix +rigid/nph commands, which are typically a more natural choice. See the doc page for those commands for more discussion of -the various ways to do this.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the various ways to do this. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    These fixes writes the state of all the thermostat and barostat -variables to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    These fixes writes the state of all the thermostat and barostat +variables to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify temp and press options are supported by these fixes. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms.

    -
    -

    Warning

    -

    If both the temp and press keywords are used in a +compute temperature on a subset of atoms. +

    +

    IMPORTANT NOTE: If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by fix npt), but -only if the temp keyword comes after the press keyword. If the -temp keyword comes before the press keyword, then the new pressure -compute specified by the press keyword will be unaffected by the -temp setting.

    -
    -

    The fix_modify energy option is supported by these +only if the temp keyword comes after the press keyword. If the +temp keyword comes before the press keyword, then the new pressure +compute specified by the press keyword will be unaffected by the +temp setting. +

    +

    The fix_modify energy option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system’s potential energy as part of -thermodynamic output.

    -

    These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various output commands. The scalar value calculated by -these fixes is “extensive”; the vector values are “intensive”.

    -

    The scalar is the cumulative energy change due to the fix.

    -

    The vector stores internal Nose/Hoover thermostat and barostat +and barostatting to the system's potential energy as part of +thermodynamic output. +

    +

    These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various output +commands. The scalar value calculated by +these fixes is "extensive"; the vector values are "intensive". +

    +

    The scalar is the cumulative energy change due to the fix. +

    +

    The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on -which fix is used and the settings for keywords tchain and pchain, +which fix is used and the settings for keywords tchain and pchain, which specify the number of Nose/Hoover chains for the thermostat and -barostat. If no thermostatting is done, then tchain is 0. If no -barostatting is done, then pchain is 0. In the following list, -“ndof” is 0, 1, 3, or 6, and is the number of degrees of freedom in +barostat. If no thermostatting is done, then tchain is 0. If no +barostatting is done, then pchain is 0. In the following list, +"ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in the barostat. Its value is 0 if no barostat is used, else its value is 6 if any off-diagonal stress tensor component is barostatted, else -its value is 1 if couple xyz is used or couple xy for a 2d -simulation, otherwise its value is 3.

    -

    The order of values in the global vector and their meaning is as +its value is 1 if couple xyz is used or couple xy for a 2d +simulation, otherwise its value is 3. +

    +

    The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta_dot, followed by ndof for omega, etc:

    -
      -
    • eta[tchain] = particle thermostat displacements (unitless)
    • -
    • eta_dot[tchain] = particle thermostat velocities (1/time units)
    • -
    • omega[ndof] = barostat displacements (unitless)
    • -
    • omega_dot[ndof] = barostat velocities (1/time units)
    • -
    • etap[pchain] = barostat thermostat displacements (unitless)
    • -
    • etap_dot[pchain] = barostat thermostat velocities (1/time units)
    • -
    • PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units)
    • -
    • KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units)
    • -
    • PE_omega[ndof] = potential energy of each barostat displacement (energy units)
    • -
    • KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units)
    • -
    • PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units)
    • -
    • KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units)
    • -
    • PE_strain[1] = scalar strain energy (energy units)
    • -
    -

    These fixes can ramp their external temperature and pressure over -multiple runs, using the start and stop keywords of the -run command. See the run command for details of -how to do this.

    -

    These fixes are not invoked during energy minimization.

    -
    -
    -
    -

    Restrictions¶

    -

    X, y, z cannot be barostatted if the associated dimension is not -periodic. Xy, xz, and yz can only be barostatted if the +by tchain for eta_dot, followed by ndof for omega, etc: +

    +
    • eta[tchain] = particle thermostat displacements (unitless) +
    • eta_dot[tchain] = particle thermostat velocities (1/time units) +
    • omega[ndof] = barostat displacements (unitless) +
    • omega_dot[ndof] = barostat velocities (1/time units) +
    • etap[pchain] = barostat thermostat displacements (unitless) +
    • etap_dot[pchain] = barostat thermostat velocities (1/time units) +
    • PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) +
    • KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) +
    • PE_omega[ndof] = potential energy of each barostat displacement (energy units) +
    • KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) +
    • PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) +
    • KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) +
    • PE_strain[1] = scalar strain energy (energy units) +
    +

    These fixes can ramp their external temperature and pressure over +multiple runs, using the start and stop keywords of the +run command. See the run command for details of +how to do this. +

    +

    These fixes are not invoked during energy +minimization. +

    +
    + +

    Restrictions: +

    +

    X, y, z cannot be barostatted if the associated dimension is not +periodic. Xy, xz, and yz can only be barostatted if the simulation domain is triclinic and the 2nd dimension in the keyword -(y dimension in xy) is periodic. Z, xz, and yz, cannot be -barostatted for 2D simulations. The create_box, -read data, and read_restart +(y dimension in xy) is periodic. Z, xz, and yz, cannot be +barostatted for 2D simulations. The create_box, +read data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz -tilt factors.

    -

    For the temp keyword, the final Tstop cannot be 0.0 since it would +tilt factors. +

    +

    For the temp keyword, the final Tstop cannot be 0.0 since it would make the external T = 0.0 at some timestep during the simulation which -is not allowed in the Nose/Hoover formulation.

    -

    The scaleyz yes and scalexz yes keyword/value pairs can not be used -for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options +is not allowed in the Nose/Hoover formulation. +

    +

    The scaleyz yes and scalexz yes keyword/value pairs can not be used +for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options can only be used if the 2nd dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -tri, yz, xz, and xy.

    -

    These fixes can be used with dynamic groups as defined by the -group command. Likewise they can be used with groups to +tri, yz, xz, and xy. +

    +

    These fixes can be used with dynamic groups as defined by the +group command. Likewise they can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = +over time or the atom count becomes very small. +

    +

    Related commands: +

    +

    fix nve, fix_modify, +run_style +

    +

    Default: +

    +

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none, -scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and -not coupled to barostat, otherwise no.

    -
    -

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).

    -

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    -

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006).

    -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    -
    -
    +scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and +not coupled to barostat, otherwise no. +

    +
    + -
    -
    -
    - +

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). +

    + -
    +

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and +Martyna, J Phys A: Math Gen, 39, 5629 (2006). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). +

    + diff --git a/doc/fix_nh_eff.html b/doc/fix_nh_eff.html index ab1e4995fa..7d159b4bd6 100644 --- a/doc/fix_nh_eff.html +++ b/doc/fix_nh_eff.html @@ -1,183 +1,63 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt/eff command¶

    -
    -
    -

    fix npt/eff command¶

    -
    -
    -

    fix nph/eff command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style_name keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style_name = nvt/eff or npt/eff or nph/eff
    • -
    -
    -one or more keyword value pairs may be appended
    -keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate
    -  temp values = Tstart Tstop Tdamp
    +
    +
    +
    + +

    fix nvt/eff command +

    +

    fix npt/eff command +

    +

    fix nph/eff command +

    +

    Syntax: +

    +
    fix ID group-ID style_name keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style_name = nvt/eff or npt/eff or nph/eff + +
      one or more keyword value pairs may be appended
      +keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = external temperature at start/end of run
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = length of thermostat chain (1 = single thermostat)
      -  pchain values = length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = number of sub-cycles to perform on thermostat
      -  ploop value = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = all or partial
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all nvt/eff temp 300.0 300.0 0.1
    +  couple = none or xyz or xy or yz or xz
    +  tchain value = length of thermostat chain (1 = single thermostat)
    +  pchain values = length of thermostat chain on barostat (0 = no thermostat)
    +  mtk value = yes or no = add in MTK adjustment term or not
    +  tloop value = number of sub-cycles to perform on thermostat
    +  ploop value = number of sub-cycles to perform on barostat thermostat
    +  nreset value = reset reference cell every this many timesteps
    +  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
    +  dilate value = all or partial 
    +
    + + +

    Examples: +

    +
    fix 1 all nvt/eff temp 300.0 300.0 0.1
     fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0
     fix 2 part npt/eff temp 300.0 300.0 0.1 tri 5.0 5.0 1.0
    -fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000
    -
    -
    -
    -
    -

    Description¶

    -

    These commands perform time integration on Nose-Hoover style +fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 + +

    Description: +

    +

    These commands perform time integration on Nose-Hoover style non-Hamiltonian equations of motion for nuclei and electrons in the -group for the electron force field model. The fixes +group for the electron force field model. The fixes are designed to generate positions and velocities sampled from the canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph) ensembles. This is achieved by adding some dynamic variables which @@ -186,26 +66,27 @@ domain dimensions (barostatting). In addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the -overall box volume, or to individual dimensions, including the xy, -xz and yz tilt dimensions. The external pressure of the barostat +overall box volume, or to individual dimensions, including the xy, +xz and yz tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used correctly, the time-averaged temperature and stress tensor of the particles will match the target values specified by -Tstart/Tstop and Pstart/Pstop.

    -

    The operation of these fixes is exactly like that described by the -fix nvt, npt, and nph commands, except that the radius +Tstart/Tstop and Pstart/Pstop. +

    +

    The operation of these fixes is exactly like that described by the +fix nvt, npt, and nph commands, except that the radius and radial velocity of electrons are also updated. Likewise the temperature and pressure calculated by the fix, using the computes it -creates (as discussed in the fix nvt, npt, and nph +creates (as discussed in the fix nvt, npt, and nph doc page), are performed with computes that include the eFF contribution -to the temperature or kinetic energy from the electron radial velocity.

    -
    -

    Warning

    -

    there are two different pressures that can be reported -for eFF when defining the pair_style (see pair eff/cut to understand these settings), one +to the temperature or kinetic energy from the electron radial velocity. +

    +

    IMPORTANT NOTE: there are two different pressures that can be reported +for eFF when defining the pair_style (see pair +eff/cut to understand these settings), one (default) that considers electrons do not contribute radial virial -components (i.e. electrons treated as incompressible ‘rigid’ spheres) +components (i.e. electrons treated as incompressible 'rigid' spheres) and one that does. The radial electronic contributions to the virials are only tallied if the flexible pressure option is set, and this will affect both global and per-atom quantities. In principle, the true @@ -213,118 +94,65 @@ pressure of a system is somewhere in between the rigid and the flexible eFF pressures, but, for most cases, the difference between these two pressures will not be significant over long-term averaged runs (i.e. even though the energy partitioning changes, the total -energy remains similar).

    -
    -
    -

    Warning

    -

    currently, there is no available option for the user +energy remains similar). +

    +

    IMPORTANT NOTE: currently, there is no available option for the user to set or create temperature distributions that include the radial -electronic degrees of freedom with the velocity +electronic degrees of freedom with the velocity command, so the the user must allow for these degrees of freedom to equilibrate (i.e. equi-partitioning of energy) through time -integration.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    See the doc page for the fix nvt, npt, and nph commands -for details.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Other restriction discussed on the doc page for the fix nvt, npt, and nph commands also apply.

    -
    -

    Warning

    -

    The temperature for systems (regions or groups) with +integration. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    See the doc page for the fix nvt, npt, and nph commands +for details. +

    +

    Restrictions: +

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Other restriction discussed on the doc page for the fix nvt, npt, and +nph commands also apply. +

    +

    IMPORTANT NOTE: The temperature for systems (regions or groups) with only electrons and no nuclei is 0.0 (i.e. not defined) in the current temperature calculations, a practical example would be a uniform electron gas or a very hot plasma, where electrons remain delocalized from the nuclei. This is because, even though electron virials are included in the temperature calculation, these are averaged over the nuclear degrees of freedom only. In such cases a corrective term must -be added to the pressure to get the correct kinetic contribution.

    -
    -
    - -
    -

    Default¶

    -

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = -ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none.

    -
    -

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).

    -

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    -

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006).

    -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    -
    -
    +be added to the pressure to get the correct kinetic contribution. +

    +

    Related commands: +

    +

    fix nvt, fix nph, fix npt, +fix_modify, run_style +

    +

    Default: +

    +

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = +ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none. +

    +
    + -
    -
    -
    - +

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). +

    + -
    +

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and +Martyna, J Phys A: Math Gen, 39, 5629 (2006). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). +

    + diff --git a/doc/fix_nph_asphere.html b/doc/fix_nph_asphere.html index 811e03526d..a6022e235e 100644 --- a/doc/fix_nph_asphere.html +++ b/doc/fix_nph_asphere.html @@ -1,315 +1,159 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nph/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nph/asphere command¶

    -
    -
    -

    fix nph/asphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nph/asphere args keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nph/asphere = style name of this fix command
    • -
    • additional barostat related keyword/value pairs from the fix nph command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nph/asphere iso 0.0 0.0 1000.0
    +
    +
    +
    + +

    fix nph/asphere command +

    +

    fix nph/asphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nph/asphere args keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nph/asphere = style name of this fix command +
    • additional barostat related keyword/value pairs from the fix nph command can be appended +
    +

    Examples: +

    +
    fix 1 all nph/asphere iso 0.0 0.0 1000.0
     fix 2 all nph/asphere x 5.0 5.0 1000.0
     fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NPH integration to update position, velocity, +fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial + +

    Description: +

    +

    Perform constant NPH integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover pressure barostat. P is pressure; H is enthalpy. This creates a system -trajectory consistent with the isenthalpic ensemble.

    -

    This fix differs from the fix nph command, which assumes -point particles and only updates their position and velocity.

    -

    Additional parameters affecting the barostat are specified by keywords -and values documented with the fix nph command. See, -for example, discussion of the aniso, and dilate keywords.

    -

    The particles in the fix group are the only ones whose velocities and +trajectory consistent with the isenthalpic ensemble. +

    +

    This fix differs from the fix nph command, which assumes +point particles and only updates their position and velocity. +

    +

    Additional parameters affecting the barostat are specified by keywords +and values documented with the fix nph command. See, +for example, discussion of the aniso, and dilate keywords. +

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPH integration.

    -

    Regardless of what particles are in the fix group, a global pressure is +NPH integration. +

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid.

    -
    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp/asphere” and -“pressure”, as if these commands had been issued:

    -
    compute fix-ID_temp all temp/asphere
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp/asphere and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is “all” -since pressure is computed for the entire system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +unchanged and controlling the pressure of a surrounding fluid. +

    +
    + +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/asphere" and +"pressure", as if these commands had been issued: +

    +
    compute fix-ID_temp all temp/asphere
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp/asphere and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is "all" +since pressure is computed for the entire system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover barostat to binary restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover barostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp and press options are +uninterrupted fashion. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms.

    -

    The fix_modify energy option is supported by this +on a subset of atoms. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nph command.

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nph command. +

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    fix nph, fix nve_asphere, fix +nvt_asphere, fix +npt_asphere, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_nph_sphere.html b/doc/fix_nph_sphere.html index 0c768bcf34..f1b4ef9fcc 100644 --- a/doc/fix_nph_sphere.html +++ b/doc/fix_nph_sphere.html @@ -1,313 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nph/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nph/sphere command¶

    -
    -
    -

    fix nph/sphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nph/sphere args keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nph/sphere = style name of this fix command
    • -
    • additional barostat related keyword/value pairs from the fix nph command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nph/sphere iso 0.0 0.0 1000.0
    +
    +
    +
    + +

    fix nph/sphere command +

    +

    fix nph/sphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nph/sphere args keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nph/sphere = style name of this fix command +
    • additional barostat related keyword/value pairs from the fix nph command can be appended +
    +

    Examples: +

    +
    fix 1 all nph/sphere iso 0.0 0.0 1000.0
     fix 2 all nph/sphere x 5.0 5.0 1000.0
     fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NPH integration to update position, velocity, and +fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial + +

    Description: +

    +

    Perform constant NPH integration to update position, velocity, and angular velocity each timestep for finite-size spherical particles in the group using a Nose/Hoover pressure barostat. P is pressure; H is enthalpy. This creates a system trajectory consistent with the -isenthalpic ensemble.

    -

    This fix differs from the fix nph command, which assumes -point particles and only updates their position and velocity.

    -

    Additional parameters affecting the barostat are specified by keywords -and values documented with the fix nph command. See, -for example, discussion of the aniso, and dilate keywords.

    -

    The particles in the fix group are the only ones whose velocities and +isenthalpic ensemble. +

    +

    This fix differs from the fix nph command, which assumes +point particles and only updates their position and velocity. +

    +

    Additional parameters affecting the barostat are specified by keywords +and values documented with the fix nph command. See, +for example, discussion of the aniso, and dilate keywords. +

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPH integration.

    -

    Regardless of what particles are in the fix group, a global pressure is +NPH integration. +

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid.

    -
    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp/sphere” and -“pressure”, as if these commands had been issued:

    -
    compute fix-ID_temp all temp/sphere
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp/sphere and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is “all” -since pressure is computed for the entire system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +unchanged and controlling the pressure of a surrounding fluid. +

    +
    + +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/sphere" and +"pressure", as if these commands had been issued: +

    +
    compute fix-ID_temp all temp/sphere
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp/sphere and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is "all" +since pressure is computed for the entire system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover barostat to binary restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover barostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp and press options are +uninterrupted fashion. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms.

    -

    The fix_modify energy option is supported by this +on a subset of atoms. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nph command.

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command.

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nph command. +

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. +

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles. +

    +

    Related commands: +

    +

    fix nph, fix nve_sphere, fix +nvt_sphere, fix npt_sphere, +fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_nphug.html b/doc/fix_nphug.html index 0747c9e095..9fb2140e7f 100644 --- a/doc/fix_nphug.html +++ b/doc/fix_nphug.html @@ -1,393 +1,239 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nphug command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nphug command¶

    -
    -
    -

    fix nphug/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nphug keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    -
    -one or more keyword value pairs may be appended
    -keyword = temp or iso or aniso or tri or x or y or z or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy
    -  temp values = Value1 Value2 Tdamp
    +
    +
    +
    + +

    fix nphug command +

    +

    fix nphug/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nphug keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
      one or more keyword value pairs may be appended
      +keyword = temp or iso or aniso or tri or x or y or z or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy
      +  temp values = Value1 Value2 Tdamp
           Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressures, must be equal (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor components, must be equal (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = length of thermostat chain (1 = single thermostat)
      -  pchain values = length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = number of sub-cycles to perform on thermostat
      -  ploop value = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = all or partial
      -  scaleyz value = yes or no = scale yz with lz
      -  scalexz value = yes or no = scale xz with lz
      -  scalexy value = yes or no = scale xy with ly
      -
      -
    -
    -

    Examples¶

    -
    fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
    -fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0
    -
    -
    -
    -
    -

    Description¶

    -

    This command is a variant of the Nose-Hoover -fix npt fix style. + couple = none or xyz or xy or yz or xz + tchain value = length of thermostat chain (1 = single thermostat) + pchain values = length of thermostat chain on barostat (0 = no thermostat) + mtk value = yes or no = add in MTK adjustment term or not + tloop value = number of sub-cycles to perform on thermostat + ploop value = number of sub-cycles to perform on barostat thermostat + nreset value = reset reference cell every this many timesteps + drag value = drag factor added to barostat/thermostat (0.0 = no drag) + dilate value = all or partial + scaleyz value = yes or no = scale yz with lz + scalexz value = yes or no = scale xz with lz + scalexy value = yes or no = scale xy with ly + + + +

    Examples: +

    +
    fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
    +fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 
    +
    +

    Description: +

    +

    This command is a variant of the Nose-Hoover +fix npt fix style. It performs time integration of the Hugoniostat equations -of motion developed by Ravelo et al. (Ravelo). +of motion developed by Ravelo et al. (Ravelo). These equations compress the system to a state with average -axial stress or pressure equal to the specified target value +axial stress or pressure equal to the specified target value and that satisfies the Rankine-Hugoniot (RH) -jump conditions for steady shocks.

    -

    The compression can be performed +jump conditions for steady shocks. +

    +

    The compression can be performed either -hydrostatically (using keyword iso, aniso, or tri) or uniaxially -(using keywords x, y, or z). In the hydrostatic case, +hydrostatically (using keyword iso, aniso, or tri) or uniaxially +(using keywords x, y, or z). In the hydrostatic case, the cell dimensions change dynamically so that the average axial stress -in all three directions converges towards the specified target value. -In the uniaxial case, the chosen cell dimension changes dynamically +in all three directions converges towards the specified target value. +In the uniaxial case, the chosen cell dimension changes dynamically so that the average axial stress in that direction converges towards the target value. The -other two cell dimensions are kept fixed (zero lateral strain).

    -

    This leads to the following additional restrictions on the keywords:

    -
      -
    • One and only one of the following keywords should be used: iso, aniso, tri, x, y, z
    • -
    • The specified initial and final target pressures must be the same.
    • -
    • The keywords xy, xz, yz may not be used.
    • -
    • The only admissible value for the couple keyword is xyz, which has the same effect as keyword iso
    • -
    • The temp keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored.
    • -
    -

    Essentially, a Hugoniostat simulation is an NPT simulation in which the -user-specified target temperature is replaced with a time-dependent -target temperature Tt obtained from the following equation:

    -_images/fix_nphug.jpg -

    where T and Tt are the instantaneous and target temperatures, +other two cell dimensions are kept fixed (zero lateral strain). +

    +

    This leads to the following additional restrictions on the keywords: +

    +
    • One and only one of the following keywords should be used: iso, aniso, tri, x, y, z +
    • The specified initial and final target pressures must be the same. +
    • The keywords xy, xz, yz may not be used. +
    • The only admissible value for the couple keyword is xyz, which has the same effect as keyword iso +
    • The temp keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored. +
    +

    Essentially, a Hugoniostat simulation is an NPT simulation in which the +user-specified target temperature is replaced with a time-dependent +target temperature Tt obtained from the following equation: +

    +
    +
    +

    where T and Tt are the instantaneous and target temperatures, P and P0 are the instantaneous and reference pressures or axial stresses, -depending on whether hydrostatic or uniaxial compression is being +depending on whether hydrostatic or uniaxial compression is being performed, V and V0 are the instantaneous and reference volumes, E and E0 are the instantaneous and reference internal energy (potential plus kinetic), Ndof is the number of degrees of freedom used in the -definition of temperature, and kB is the Boltzmann constant. Delta is the +definition of temperature, and kB is the Boltzmann constant. Delta is the negative deviation of the instantaneous temperature from the target temperature. -When the system reaches a stable equilibrium, the value of Delta should -fluctuate about zero.

    -

    The values of E0, V0, and P0 are the instantaneous values at the start of -the simulation. These can be overridden using the fix_modify keywords e0, -v0, and p0 described below.

    -
    -
    -

    Warning

    -

    Unlike the fix temp/berendsen command which performs +When the system reaches a stable equilibrium, the value of Delta should +fluctuate about zero. +

    +

    The values of E0, V0, and P0 are the instantaneous values at the start of +the simulation. These can be overridden using the fix_modify keywords e0, +v0, and p0 described below. +

    +
    + +

    IMPORTANT NOTE: Unlike the fix +temp/berendsen command which performs thermostatting but NO time integration, this fix performs thermostatting/barostatting AND time integration. Thus you should not -use any other time integration fix, such as fix nve on -atoms to which this fix is applied. Likewise, this fix should not be -used on atoms that have their temperature controlled by another fix -- e.g. by fix langevin or fix temp/rescale -commands.

    -
    -
    -

    This fix computes a temperature and pressure at each timestep. To do -this, the fix creates its own computes of style “temp” and “pressure”, -as if one of these two sets of commands had been issued:

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp
    -
    -
    -
    compute fix-ID_temp all temp
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”. The group for -the new computes is “all” since pressure is computed for the entire -system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +use any other time integration fix, such as fix nve on +atoms to which this fix is applied. Likewise, this fix should not be +used on atoms that have their temperature controlled by another fix +- e.g. by fix langevin or fix temp/rescale +commands. +

    +
    + +

    This fix computes a temperature and pressure at each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if one of these two sets of commands had been issued: +

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp 
    +
    +
    compute fix-ID_temp all temp
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press". The group for +the new computes is "all" since pressure is computed for the entire +system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the values of E0, V0, and P0, as well as the +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the values of E0, V0, and P0, as well as the state of all the thermostat and barostat -variables to binary restart files. See the -read_restart command for info on how to re-specify +variables to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify e0, v0 and p0 keywords +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify e0, v0 and p0 keywords can be used to define the values of E0, V0, and P0. Note the -the values for e0 and v0 are extensive, and so must correspond -to the total energy and volume of the entire system, not energy and +the values for e0 and v0 are extensive, and so must correspond +to the total energy and volume of the entire system, not energy and volume per atom. If any of these quantities are not specified, then the -instantaneous value in the system at the start of the simulation is used.

    -

    The fix_modify temp and press options are +instantaneous value in the system at the start of the simulation is used. +

    +

    The fix_modify temp and press options are supported by these fixes. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms.

    -

    The fix_modify energy option is supported by these +compute temperature on a subset of atoms. +

    +

    The fix_modify energy option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system’s potential energy as part of -thermodynamic output. Either way, this energy is not +and barostatting to the system's potential energy as part of +thermodynamic output. Either way, this energy is *not* included in the definition of internal energy E when calculating the value -of Delta in the above equation.

    -

    These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various output commands. The scalar value calculated by -these fixes is “extensive”; the vector values are “intensive”.

    -

    The scalar is the cumulative energy change due to the fix.

    -

    The vector stores three quantities unique to this fix (Delta, Us, and up), +of Delta in the above equation. +

    +

    These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various output +commands. The scalar value calculated by +these fixes is "extensive"; the vector values are "intensive". +

    +

    The scalar is the cumulative energy change due to the fix. +

    +

    The vector stores three quantities unique to this fix (Delta, Us, and up), followed by all the internal Nose/Hoover thermostat and barostat -variables defined for fix_style npt. Delta is the deviation +variables defined for fix_style npt. Delta is the deviation of the temperature from the target temperature, given by the above equation. Us and up are the shock and particle velocity corresponding to a steady -shock calculated from the RH conditions. They have units of distance/time.

    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    All the usual restrictions for fix_style npt apply, -plus the additional ones mentioned above.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are the same as those for fix npt

    -
    -

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).

    -
    -
    +shock calculated from the RH conditions. They have units of distance/time. +

    +

    Restrictions: +

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    All the usual restrictions for fix_style npt apply, +plus the additional ones mentioned above. +

    +

    Related commands: +

    +

    fix msst, fix npt, fix_modify +

    +

    Default: +

    +

    The keyword defaults are the same as those for fix npt +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). +

    + diff --git a/doc/fix_npt_asphere.html b/doc/fix_npt_asphere.html index ec2e458b07..f98e64f146 100644 --- a/doc/fix_npt_asphere.html +++ b/doc/fix_npt_asphere.html @@ -1,338 +1,183 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix npt/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix npt/asphere command¶

    -
    -
    -

    fix npt/asphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID npt/asphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • npt/asphere = style name of this fix command
    • -
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
    +
    +
    +
    + +

    fix npt/asphere command +

    +

    fix npt/asphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID npt/asphere keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • npt/asphere = style name of this fix command +
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended +
    +

    Examples: +

    +
    fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
     fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NPT integration to update position, velocity, +fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial + +

    Description: +

    +

    Perform constant NPT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the -isothermal-isobaric ensemble.

    -

    This fix differs from the fix npt command, which -assumes point particles and only updates their position and velocity.

    -

    The thermostat is applied to both the translational and rotational +isothermal-isobaric ensemble. +

    +

    This fix differs from the fix npt command, which +assumes point particles and only updates their position and velocity. +

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the fix npt command. See, for example, discussion of the temp, -iso, aniso, and dilate keywords.

    -

    The particles in the fix group are the only ones whose velocities and +takes place; see the description below. +

    +

    Additional parameters affecting the thermostat and barostat are +specified by keywords and values documented with the fix +npt command. See, for example, discussion of the temp, +iso, aniso, and dilate keywords. +

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPT integration.

    -

    Regardless of what particles are in the fix group, a global pressure is +NPT integration. +

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid.

    -
    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp/asphere” and -“pressure”, as if these commands had been issued:

    -
    compute fix-ID_temp all temp/asphere
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp/asphere and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is “all” -since pressure is computed for the entire system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +unchanged and controlling the pressure of a surrounding fluid. +

    +
    + +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/asphere" and +"pressure", as if these commands had been issued: +

    +
    compute fix-ID_temp all temp/asphere
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp/asphere and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is "all" +since pressure is computed for the entire system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat and barostat -to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat and barostat +to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms.

    -

    The fix_modify energy option is supported by this +on a subset of atoms. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system’s potential energy as part of -thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix npt command.

    -

    This fix can ramp its target temperature and pressure over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +barostatting to the system's potential energy as part of +thermodynamic output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix npt command. +

    +

    This fix can ramp its target temperature and pressure over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    fix npt, fix nve_asphere, fix +nvt_asphere, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_npt_sphere.html b/doc/fix_npt_sphere.html index 5f3e4eea1e..ff49496068 100644 --- a/doc/fix_npt_sphere.html +++ b/doc/fix_npt_sphere.html @@ -1,334 +1,178 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix npt/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix npt/sphere command¶

    -
    -
    -

    fix npt/sphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID npt/sphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • npt/sphere = style name of this fix command
    • -
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
    +
    +
    +
    + +

    fix npt/sphere command +

    +

    fix npt/sphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID npt/sphere keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • npt/sphere = style name of this fix command +
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended +
    +

    Examples: +

    +
    fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
     fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NPT integration to update position, velocity, and +fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial + +

    Description: +

    +

    Perform constant NPT integration to update position, velocity, and angular velocity each timestep for finite-sizex spherical particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a -system trajectory consistent with the isothermal-isobaric ensemble.

    -

    This fix differs from the fix npt command, which -assumes point particles and only updates their position and velocity.

    -

    The thermostat is applied to both the translational and rotational +system trajectory consistent with the isothermal-isobaric ensemble. +

    +

    This fix differs from the fix npt command, which +assumes point particles and only updates their position and velocity. +

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the fix npt command. See, for example, discussion of the temp, -iso, aniso, and dilate keywords.

    -

    The particles in the fix group are the only ones whose velocities and +takes place; see the description below. +

    +

    Additional parameters affecting the thermostat and barostat are +specified by keywords and values documented with the fix +npt command. See, for example, discussion of the temp, +iso, aniso, and dilate keywords. +

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPT integration.

    -

    Regardless of what particles are in the fix group, a global pressure is +NPT integration. +

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid.

    -
    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp/sphere” and -“pressure”, as if these commands had been issued:

    -
    compute fix-ID_temp all temp/sphere
    -compute fix-ID_press all pressure fix-ID_temp
    -
    -
    -

    See the compute temp/sphere and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is “all” -since pressure is computed for the entire system.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +unchanged and controlling the pressure of a surrounding fluid. +

    +
    + +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/sphere" and +"pressure", as if these commands had been issued: +

    +
    compute fix-ID_temp all temp/sphere
    +compute fix-ID_press all pressure fix-ID_temp 
    +
    +

    See the compute temp/sphere and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is "all" +since pressure is computed for the entire system. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat and barostat -to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat and barostat +to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms.

    -

    The fix_modify energy option is supported by this +on a subset of atoms. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system’s potential energy as part of -thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix npt command.

    -

    This fix can ramp its target temperature and pressure over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command.

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +barostatting to the system's potential energy as part of +thermodynamic output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix npt command. +

    +

    This fix can ramp its target temperature and pressure over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. +

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles. +

    +

    Related commands: +

    +

    fix npt, fix nve_sphere, fix +nvt_sphere, fix +npt_asphere, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_nve.html b/doc/fix_nve.html index 290eaa84eb..fbb4520858 100644 --- a/doc/fix_nve.html +++ b/doc/fix_nve.html @@ -1,260 +1,81 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve command¶

    -
    -
    -

    fix nve/cuda command¶

    -
    -
    -

    fix nve/kk command¶

    -
    -
    -

    fix nve/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position and velocity for + + +


    + +

    fix nve command +

    +

    fix nve/cuda command +

    +

    fix nve/kk command +

    +

    fix nve/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nve 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position and velocity for atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical -ensemble.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +ensemble. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix nvt, fix npt +

    +

    Default: none +

    + diff --git a/doc/fix_nve_asphere.html b/doc/fix_nve_asphere.html index 9c0b70dfa1..8b5ea4a3f5 100644 --- a/doc/fix_nve_asphere.html +++ b/doc/fix_nve_asphere.html @@ -1,242 +1,65 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/asphere command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/asphere
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/asphere = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/asphere
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position, velocity, + + +


    + +

    fix nve/asphere command +

    +

    Syntax: +

    +
    fix ID group-ID nve/asphere 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/asphere = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve/asphere 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for aspherical particles in the group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble.

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +trajectory consistent with the microcanonical ensemble. +

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    fix nve, fix nve/sphere +

    +

    Default: none +

    + diff --git a/doc/fix_nve_asphere_noforce.html b/doc/fix_nve_asphere_noforce.html index d3dd0e2f96..4dd6f31ad6 100644 --- a/doc/fix_nve_asphere_noforce.html +++ b/doc/fix_nve_asphere_noforce.html @@ -1,243 +1,70 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/asphere/noforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/asphere/noforce command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/asphere/noforce
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/asphere/noforce = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -

    fix 1 all nve/asphere/noforce

    -
    -
    -

    Description¶

    -

    Perform updates of position and orientation, but not velocity or + + +


    + +

    fix nve/asphere/noforce command +

    +

    Syntax: +

    +
    fix ID group-ID nve/asphere/noforce 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/asphere/noforce = style name of this fix command +
    +

    Examples: +

    +

    fix 1 all nve/asphere/noforce +

    +

    Description: +

    +

    Perform updates of position and orientation, but not velocity or angular momentum for atoms in the group each timestep. In other words, the force and torque on the atoms is ignored and their velocity and angular momentum are not updated. The atom velocities and -angularm momenta are used to update their positions and orientation.

    -

    This is useful as an implicit time integrator for Fast Lubrication +angularm momenta are used to update their positions and orientation. +

    +

    This is useful as an implicit time integrator for Fast Lubrication Dynamics, since the velocity and angular momentum are updated by the -pair_style lubricuteU command.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +pair_style lubricuteU command. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    fix nve/noforce, fix +nve/asphere +

    +

    Default: none +

    + diff --git a/doc/fix_nve_body.html b/doc/fix_nve_body.html index c8d75841a4..fc7fe3dd6a 100644 --- a/doc/fix_nve_body.html +++ b/doc/fix_nve_body.html @@ -1,242 +1,67 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/body command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/body command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/body
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/body = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/body
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position, velocity, + + +


    + +

    fix nve/body command +

    +

    Syntax: +

    +
    fix ID group-ID nve/body 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/body = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve/body 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for body particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See Section_howto 14 of the manual and the body -doc page for more details on using body particles.

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +consistent with the microcanonical ensemble. See Section_howto +14 of the manual and the body +doc page for more details on using body particles. +

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style body -command.

    -

    All particles in the group must be body particles. They cannot be -point particles.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style body +command. +

    +

    All particles in the group must be body particles. They cannot be +point particles. +

    +

    Related commands: +

    +

    fix nve, fix nve/sphere, fix +nve/asphere +

    +

    Default: none +

    + diff --git a/doc/fix_nve_eff.html b/doc/fix_nve_eff.html index 9713082723..80b1509242 100644 --- a/doc/fix_nve_eff.html +++ b/doc/fix_nve_eff.html @@ -1,235 +1,59 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/eff command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/eff
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/eff = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/eff
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position and velocity for -nuclei and electrons in the group for the electron force field model. V is volume; E is energy. This creates a -system trajectory consistent with the microcanonical ensemble.

    -

    The operation of this fix is exactly like that described by the fix nve command, except that the radius and radial velocity -of electrons are also updated.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options + + +


    + +

    fix nve/eff command +

    +

    Syntax: +

    +
    fix ID group-ID nve/eff 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/eff = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve/eff 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position and velocity for +nuclei and electrons in the group for the electron force +field model. V is volume; E is energy. This creates a +system trajectory consistent with the microcanonical ensemble. +

    +

    The operation of this fix is exactly like that described by the fix +nve command, except that the radius and radial velocity +of electrons are also updated. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix nve, fix nvt/eff, fix +npt/eff +

    +

    Default: none +

    + diff --git a/doc/fix_nve_limit.html b/doc/fix_nve_limit.html index ddd641e83d..13b40bb9e6 100644 --- a/doc/fix_nve_limit.html +++ b/doc/fix_nve_limit.html @@ -1,273 +1,91 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/limit command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/limit command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/limit xmax
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve = style name of this fix command
    • -
    • xmax = maximum distance an atom can move in one timestep (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/limit 0.1
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE updates of position and velocity for atoms in the + + +


    + +

    fix nve/limit command +

    +

    Syntax: +

    +
    fix ID group-ID nve/limit xmax 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve = style name of this fix command +
    • xmax = maximum distance an atom can move in one timestep (distance units) +
    +

    Examples: +

    +
    fix 1 all nve/limit 0.1 
    +
    +

    Description: +

    +

    Perform constant NVE updates of position and velocity for atoms in the group each timestep. A limit is imposed on the maximum distance an atom can move in one timestep. This is useful when starting a simulation with a configuration containing highly overlapped atoms. Normally this would generate huge forces which would blow atoms out of -the simulation box, causing LAMMPS to stop with an error.

    -

    Using this fix can overcome that problem. Forces on atoms must still +the simulation box, causing LAMMPS to stop with an error. +

    +

    Using this fix can overcome that problem. Forces on atoms must still be computable (which typically means 2 atoms must have a separation -distance > 0.0). But large velocities generated by large forces are -reset to a value that corresponds to a displacement of length xmax -in a single timestep. Xmax is specified in distance units; see the -units command for details. The value of xmax should be +distance > 0.0). But large velocities generated by large forces are +reset to a value that corresponds to a displacement of length xmax +in a single timestep. Xmax is specified in distance units; see the +units command for details. The value of xmax should be consistent with the neighbor skin distance and the frequency of neighbor list re-building, so that pairwise interactions are not missed on successive timesteps as atoms move. See the -neighbor and neigh_modify commands -for details.

    -

    Note that if a velocity reset occurs the integrator will not conserve +neighbor and neigh_modify commands +for details. +

    +

    Note that if a velocity reset occurs the integrator will not conserve energy. On steps where no velocity resets occur, this integrator is -exactly like the fix nve command. Since forces are +exactly like the fix nve command. Since forces are unaltered, pressures computed by thermodynamic output will still be -very large for overlapped configurations.

    -
    -

    Warning

    -

    You should not use fix shake in +very large for overlapped configurations. +

    +

    IMPORTANT NOTE: You should not use fix shake in conjunction with this fix. That is because fix shake applies contraint forces based on the predicted postitions of atoms after the next timestep. It has no way of knowing the timestep may change due to this fix, which will cause the constraint forces to be invalid. A better strategy is to turn off fix shake when performing initial dynamics that need this fix, then turn fix shake on when doing normal -dynamics with a fixed-size timestep.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -count of how many updates of atom’s velocity/position were limited by +dynamics with a fixed-size timestep. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +count of how many updates of atom's velocity/position were limited by the maximum distance criterion. This should be roughly the number of atoms so affected, except that updates occur at both the beginning and end of a timestep in a velocity Verlet timestepping algorithm. This is a cumulative quantity for the current run, but is re-initialized to zero each time a run is performed. The scalar value calculated by -this fix is “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +this fix is "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix nve, fix nve/noforce, +pair_style soft +

    +

    Default: none +

    + diff --git a/doc/fix_nve_line.html b/doc/fix_nve_line.html index a72d77cb93..9b18cfeaa3 100644 --- a/doc/fix_nve_line.html +++ b/doc/fix_nve_line.html @@ -1,240 +1,62 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/line command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/line command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/line
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/line = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/line
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position, velocity, + + +


    + +

    fix nve/line command +

    +

    Syntax: +

    +
    fix ID group-ID nve/line 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/line = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve/line 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for line segment particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. See -Section_howto 14 of the manual for an overview of -using line segment particles.

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +Section_howto 14 of the manual for an overview of +using line segment particles. +

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that particles be line segments as defined by the -atom_style line command.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that particles be line segments as defined by the +atom_style line command. +

    +

    Related commands: +

    +

    fix nve, fix nve/asphere +

    +

    Default: none +

    + diff --git a/doc/fix_nve_noforce.html b/doc/fix_nve_noforce.html index b3001f574a..8150e5668a 100644 --- a/doc/fix_nve_noforce.html +++ b/doc/fix_nve_noforce.html @@ -1,241 +1,59 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/noforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/noforce command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/noforce = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 3 wall nve/noforce
    -
    -
    -
    -
    -

    Description¶

    -

    Perform updates of position, but not velocity for atoms in the group + + +


    + +

    fix nve/noforce command +

    +

    Syntax: +

    +
    fix ID group-ID nve 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/noforce = style name of this fix command +
    +

    Examples: +

    +
    fix 3 wall nve/noforce 
    +
    +

    Description: +

    +

    Perform updates of position, but not velocity for atoms in the group each timestep. In other words, the force on the atoms is ignored and their velocity is not updated. The atom velocities are used to update -their positions.

    -

    This can be useful for wall atoms, when you set their velocities, and -want the wall to move (or stay stationary) in a prescribed fashion.

    -

    This can also be accomplished via the fix setforce +their positions. +

    +

    This can be useful for wall atoms, when you set their velocities, and +want the wall to move (or stay stationary) in a prescribed fashion. +

    +

    This can also be accomplished via the fix setforce command, but with fix nve/noforce, the forces on the wall atoms are -unchanged, and can thus be printed by the dump command or -queried with an equal-style variable that uses the -fcm() group function to compute the total force on the group of atoms.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +unchanged, and can thus be printed by the dump command or +queried with an equal-style variable that uses the +fcm() group function to compute the total force on the group of atoms. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix nve +

    +

    Default: none +

    + diff --git a/doc/fix_nve_sphere.html b/doc/fix_nve_sphere.html index 5af499e48a..4ac5df95aa 100644 --- a/doc/fix_nve_sphere.html +++ b/doc/fix_nve_sphere.html @@ -1,273 +1,106 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/sphere command¶

    -
    -
    -

    fix nve/sphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/sphere
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/sphere = style name of this fix command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = update
    • -
    -
    -update value = dipole
    -    dipole = update orientation of dipole moment during integration
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/sphere
    -fix 1 all nve/sphere update dipole
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position, velocity, and + + +


    + +

    fix nve/sphere command +

    +

    fix nve/sphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nve/sphere 
    +
    +
    • ID, group-ID are documented in fix command + +
    • nve/sphere = style name of this fix command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = update + +
        update value = dipole
      +    dipole = update orientation of dipole moment during integration 
      +
      + +
    +

    Examples: +

    +
    fix 1 all nve/sphere
    +fix 1 all nve/sphere update dipole 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position, velocity, and angular velocity for finite-size spherical particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble.

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity.

    -

    If the update keyword is used with the dipole value, then the +consistent with the microcanonical ensemble. +

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity. +

    +

    If the update keyword is used with the dipole value, then the orientation of the dipole moment of each particle is also updated during the time integration. This option should be used for models where a dipole moment is assigned to particles via use of the -atom_style dipole command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +atom_style dipole command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. If the dipole keyword is used, then they must also store a -dipole moment as defined by the atom_style dipole -command.

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. If the dipole keyword is used, then they must also store a +dipole moment as defined by the atom_style dipole +command. +

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles. +

    +

    Related commands: +

    +

    fix nve, fix nve/asphere +

    +

    Default: none +

    + diff --git a/doc/fix_nve_tri.html b/doc/fix_nve_tri.html index 75682b61f4..de9d25b43f 100644 --- a/doc/fix_nve_tri.html +++ b/doc/fix_nve_tri.html @@ -1,240 +1,62 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nve/tri command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nve/tri command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nve/tri
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nve/tri = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve/tri
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVE integration to update position, velocity, + + +


    + +

    fix nve/tri command +

    +

    Syntax: +

    +
    fix ID group-ID nve/tri 
    +
    +
    • ID, group-ID are documented in fix command +
    • nve/tri = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all nve/tri 
    +
    +

    Description: +

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular momentum for triangular particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. See -Section_howto 14 of the manual for an overview of -using triangular particles.

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +Section_howto 14 of the manual for an overview of +using triangular particles. +

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that particles be triangles as defined by the -atom_style tri command.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that particles be triangles as defined by the +atom_style tri command. +

    +

    Related commands: +

    +

    fix nve, fix nve/asphere +

    +

    Default: none +

    + diff --git a/doc/fix_nvt_asphere.html b/doc/fix_nvt_asphere.html index b03a169f89..6320f401b0 100644 --- a/doc/fix_nvt_asphere.html +++ b/doc/fix_nvt_asphere.html @@ -1,317 +1,159 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt/asphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt/asphere command¶

    -
    -
    -

    fix nvt/asphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nvt/asphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nvt/asphere = style name of this fix command
    • -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nvt/asphere temp 300.0 300.0 100.0
    -fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVT integration to update position, velocity, + + +


    + +

    fix nvt/asphere command +

    +

    fix nvt/asphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nvt/asphere keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nvt/asphere = style name of this fix command +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended +
    +

    Examples: +

    +
    fix 1 all nvt/asphere temp 300.0 300.0 100.0
    +fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 
    +
    +

    Description: +

    +

    Perform constant NVT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble.

    -

    This fix differs from the fix nvt command, which -assumes point particles and only updates their position and velocity.

    -

    The thermostat is applied to both the translational and rotational +trajectory consistent with the canonical ensemble. +

    +

    This fix differs from the fix nvt command, which +assumes point particles and only updates their position and velocity. +

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords.

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style “temp/asphere”, as if this command -had been issued:

    -
    compute fix-ID_temp group-ID temp/asphere
    -
    -
    -

    See the compute temp/asphere command for +takes place; see the description below. +

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords. +

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/asphere", as if this command +had been issued: +

    +
    compute fix-ID_temp group-ID temp/asphere 
    +
    +

    See the compute temp/asphere command for details. Note that the ID of the new compute is the fix-ID + -underscore + “temp”, and the group for the new compute is the same as -the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +underscore + "temp", and the group for the new compute is the same as +the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure.

    -

    The fix_modify energy option is supported by this +procedure. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command.

    -

    All particles in the group must be finite-size. They cannot be point +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command. +

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +shape attribute. +

    +

    Related commands: +

    +

    fix nvt, fix nve_asphere, fix +npt_asphere, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_nvt_sllod.html b/doc/fix_nvt_sllod.html index f9a0a4e91d..b4bca0eaf4 100644 --- a/doc/fix_nvt_sllod.html +++ b/doc/fix_nvt_sllod.html @@ -1,172 +1,52 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt/sllod command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt/sllod command¶

    -
    -
    -

    fix nvt/sllod/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nvt/sllod keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nvt/sllod = style name of this fix command
    • -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nvt/sllod temp 300.0 300.0 100.0
    -fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVT integration to update positions and velocities + + +


    + +

    fix nvt/sllod command +

    +

    fix nvt/sllod/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nvt/sllod keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nvt/sllod = style name of this fix command +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended +
    +

    Examples: +

    +
    fix 1 all nvt/sllod temp 300.0 300.0 100.0
    +fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 
    +
    +

    Description: +

    +

    Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble.

    -

    This thermostat is used for a simulation box that is changing size +trajectory consistent with the canonical ensemble. +

    +

    This thermostat is used for a simulation box that is changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. -The size/shape change is induced by use of the fix deform command, so each point in the simulation box -can be thought of as having a “streaming” velocity. This -position-dependent streaming velocity is subtracted from each atom’s +The size/shape change is induced by use of the fix +deform command, so each point in the simulation box +can be thought of as having a "streaming" velocity. This +position-dependent streaming velocity is subtracted from each atom's actual velocity to yield a thermal velocity which is used for temperature computation and thermostatting. For example, if the box is being sheared in x, relative to y, then points at the bottom of the box (low y) have a small x velocity, while points at the top of the box (hi y) have a large x velocity. These velocities do not -contribute to the thermal “temperature” of the atom.

    -
    -

    Warning

    -

    Fix deform has an option for +contribute to the thermal "temperature" of the atom. +

    +

    IMPORTANT NOTE: Fix deform has an option for remapping either atom coordinates or velocities to the changing simulation box. To use fix nvt/sllod, fix deform should NOT remap atom positions, because fix nvt/sllod adjusts the atom positions and @@ -174,168 +54,134 @@ velocities to create a velocity profile that matches the changing box size/shape. Fix deform SHOULD remap atom velocities when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will give an -error if this setting is not consistent.

    -
    -

    The SLLOD equations of motion, originally proposed by Hoover and Ladd -(see (Evans and Morriss)), were proven to be equivalent to -Newton’s equations of motion for shear flow by (Evans and Morriss). They were later shown to generate the desired +error if this setting is not consistent. +

    +

    The SLLOD equations of motion, originally proposed by Hoover and Ladd +(see (Evans and Morriss)), were proven to be equivalent to +Newton's equations of motion for shear flow by (Evans and +Morriss). They were later shown to generate the desired velocity gradient and the correct production of work by stresses for -all forms of homogeneous flow by (Daivis and Todd). As +all forms of homogeneous flow by (Daivis and Todd). As implemented in LAMMPS, they are coupled to a Nose/Hoover chain thermostat in a velocity Verlet formulation, closely following the -implementation used for the fix nvt command.

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords.

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style “temp/deform”, as if this command had -been issued:

    -
    compute fix-ID_temp group-ID temp/deform
    -
    -
    -

    See the compute temp/deform command for +implementation used for the fix nvt command. +

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords. +

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/deform", as if this command had +been issued: +

    +
    compute fix-ID_temp group-ID temp/deform 
    +
    +

    See the compute temp/deform command for details. Note that the ID of the new compute is the fix-ID + -underscore + “temp”, and the group for the new compute is the same as -the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +underscore + "temp", and the group for the new compute is the same as +the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure.

    -

    The fix_modify energy option is supported by this +procedure. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix works best without Nose-Hoover chain thermostats, i.e. using +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor -equilibration.

    -
    - -
    -

    Default¶

    -

    Same as fix nvt, except tchain = 1.

    -
    -

    (Evans and Morriss) Evans and Morriss, Phys Rev A, 30, 1528 (1984).

    -

    (Daivis and Todd) Daivis and Todd, J Chem Phys, 124, 194103 (2006).

    -
    -
    +equilibration. +

    +

    Related commands: +

    +

    fix nve, fix nvt, fix +temp/rescale, fix langevin, +fix_modify, compute +temp/deform +

    +

    Default: +

    +

    Same as fix nvt, except tchain = 1. +

    +
    + -
    -
    -
    - +

    (Evans and Morriss) Evans and Morriss, Phys Rev A, 30, 1528 (1984). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Daivis and Todd) Daivis and Todd, J Chem Phys, 124, 194103 (2006). +

    + diff --git a/doc/fix_nvt_sllod_eff.html b/doc/fix_nvt_sllod_eff.html index ea6a034492..072b124356 100644 --- a/doc/fix_nvt_sllod_eff.html +++ b/doc/fix_nvt_sllod_eff.html @@ -1,264 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt/sllod/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt/sllod/eff command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nvt/sllod/eff keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nvt/sllod/eff = style name of this fix command
    • -
    • additional thermostat related keyword/value pairs from the fix nvt/eff command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1
    -fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVT integration to update positions and velocities -each timestep for nuclei and electrons in the group for the electron force field model, using a Nose/Hoover temperature + + +


    + +

    fix nvt/sllod/eff command +

    +

    Syntax: +

    +
    fix ID group-ID nvt/sllod/eff keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nvt/sllod/eff = style name of this fix command +
    • additional thermostat related keyword/value pairs from the fix nvt/eff command can be appended +
    +

    Examples: +

    +
    fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1
    +fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2 
    +
    +

    Description: +

    +

    Perform constant NVT integration to update positions and velocities +each timestep for nuclei and electrons in the group for the electron +force field model, using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble.

    -

    The operation of this fix is exactly like that described by the fix nvt/sllod command, except that the radius and +trajectory consistent with the canonical ensemble. +

    +

    The operation of this fix is exactly like that described by the fix +nvt/sllod command, except that the radius and radial velocity of electrons are also updated and thermostatted. Likewise the temperature calculated by the fix, using the compute it -creates (as discussed in the fix nvt, npt, and nph doc -page), is performed with a compute temp/deform/eff commmand that includes +creates (as discussed in the fix nvt, npt, and nph doc +page), is performed with a compute +temp/deform/eff commmand that includes the eFF contribution to the temperature from the electron radial -velocity.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart +velocity. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure.

    -

    The fix_modify energy option is supported by this +procedure. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt/eff command.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This fix works best without Nose-Hoover chain thermostats, i.e. using +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt/eff command. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor -equilibration.

    -
    - -
    -

    Default¶

    -

    Same as fix nvt/eff, except tchain = 1.

    -
    -

    (Tuckerman) Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, -106, 5615 (1997).

    -
    -
    +equilibration. +

    +

    Related commands: +

    +

    fix nve/eff, fix nvt/eff, fix +langevin/eff, fix +nvt/sllod, fix_modify, compute +temp/deform/eff +

    +

    Default: +

    +

    Same as fix nvt/eff, except tchain = 1. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Tuckerman) Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, +106, 5615 (1997). +

    + diff --git a/doc/fix_nvt_sphere.html b/doc/fix_nvt_sphere.html index 8bf6671ec8..574a1a04c4 100644 --- a/doc/fix_nvt_sphere.html +++ b/doc/fix_nvt_sphere.html @@ -1,314 +1,155 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix nvt/sphere command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix nvt/sphere command¶

    -
    -
    -

    fix nvt/sphere/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID nvt/sphere keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nvt/sphere = style name of this fix command
    • -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nvt/sphere temp 300.0 300.0 100.0
    -fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2
    -
    -
    -
    -
    -

    Description¶

    -

    Perform constant NVT integration to update position, velocity, and + + +


    + +

    fix nvt/sphere command +

    +

    fix nvt/sphere/omp command +

    +

    Syntax: +

    +
    fix ID group-ID nvt/sphere keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • nvt/sphere = style name of this fix command +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended +
    +

    Examples: +

    +
    fix 1 all nvt/sphere temp 300.0 300.0 100.0
    +fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2 
    +
    +

    Description: +

    +

    Perform constant NVT integration to update position, velocity, and angular velocity each timestep for finite-size spherical particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the -canonical ensemble.

    -

    This fix differs from the fix nvt command, which -assumes point particles and only updates their position and velocity.

    -

    The thermostat is applied to both the translational and rotational +canonical ensemble. +

    +

    This fix differs from the fix nvt command, which +assumes point particles and only updates their position and velocity. +

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords.

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style “temp/sphere”, as if this command -had been issued:

    -
    compute fix-ID_temp group-ID temp/sphere
    -
    -
    -

    See the compute temp/sphere command for +takes place; see the description below. +

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords. +

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/sphere", as if this command +had been issued: +

    +
    compute fix-ID_temp group-ID temp/sphere 
    +
    +

    See the compute temp/sphere command for details. Note that the ID of the new compute is the fix-ID + -underscore + “temp”, and the group for the new compute is the same as -the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +underscore + "temp", and the group for the new compute is the same as +the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the state of the Nose/Hoover thermostat to binary +restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure.

    -

    The fix_modify energy option is supported by this +procedure. +

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command.

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command. +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. +

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles. +

    +

    Related commands: +

    +

    fix nvt, fix nve_sphere, fix +nvt_asphere, fix +npt_sphere, fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_oneway.html b/doc/fix_oneway.html index 448c2f0dda..9b48b802b0 100644 --- a/doc/fix_oneway.html +++ b/doc/fix_oneway.html @@ -1,244 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix oneway command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix oneway command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID oneway N region-ID direction
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • oneway = style name of this fix command
    • -
    • N = apply this fix every this many timesteps
    • -
    • region-ID = ID of region where fix is active
    • -
    • direction = x or -x or y or -y or z or -z = coordinate and direction of the oneway constraint
    • -
    -
    -
    -

    Examples¶

    -
    fix ions oneway 10 semi -x
    +
    +
    +
    + +

    fix oneway command +

    +

    Syntax: +

    +
    fix ID group-ID oneway N region-ID direction 
    +
    +
    • ID, group-ID are documented in fix command + +
    • oneway = style name of this fix command + +
    • N = apply this fix every this many timesteps + +
    • region-ID = ID of region where fix is active + +
    • direction = x or -x or y or -y or z or -z = coordinate and direction of the oneway constraint + + +
    +

    Examples: +

    +
    fix ions oneway 10 semi -x
     fix all oneway 1 left -z
    -fix all oneway 1 right z
    -
    -
    -
    -
    -

    Description¶

    -

    Enforce that particles in the group and in a given region can only -move in one direction. This is done by reversing a particle’s +fix all oneway 1 right z + +

    Description: +

    +

    Enforce that particles in the group and in a given region can only +move in one direction. This is done by reversing a particle's velocity component, if it has the wrong sign in the specified dimension. The effect is that the particle moves in one direction -only.

    -

    This can be used, for example, as a simple model of a semi-permeable -membrane, or as an implementation of Maxwell’s demon.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +only. +

    +

    This can be used, for example, as a simple model of a semi-permeable +membrane, or as an implementation of Maxwell's demon. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix wall/reflect command +

    +

    Default: none +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html index fa445260e3..f9d97dad88 100644 --- a/doc/fix_orient_fcc.html +++ b/doc/fix_orient_fcc.html @@ -1,220 +1,112 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix orient/fcc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix orient/fcc command¶

    -
    fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • nstats = print stats every this many steps, 0 = never
    • -
    • dir = 0/1 for which crystal is used as reference
    • -
    • alat = fcc cubic lattice constant (distance units)
    • -
    • dE = energy added to each atom (energy units)
    • -
    • cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi
    • -
    • file0,file1 = files that specify orientation of each grain
    • -
    -
    -

    Examples¶

    -
    fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec
    -
    -
    -
    -
    -

    Description¶

    -

    The fix applies an orientation-dependent force to atoms near a planar + + +


    + +

    fix orient/fcc command +

    +
    fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 
    +
    +
    • ID, group-ID are documented in fix command +
    • nstats = print stats every this many steps, 0 = never +
    • dir = 0/1 for which crystal is used as reference +
    • alat = fcc cubic lattice constant (distance units) +
    • dE = energy added to each atom (energy units) +
    • cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi +
    • file0,file1 = files that specify orientation of each grain +
    +

    Examples: +

    +
    fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec 
    +
    +

    Description: +

    +

    The fix applies an orientation-dependent force to atoms near a planar grain boundary which can be used to induce grain boundary migration (in the direction perpendicular to the grain boundary plane). The motivation and explanation of this force and its application are -described in (Janssens). The force is only applied to -atoms in the fix group.

    -

    The basic idea is that atoms in one grain (on one side of the +described in (Janssens). The force is only applied to +atoms in the fix group. +

    +

    The basic idea is that atoms in one grain (on one side of the boundary) have a potential energy dE added to them. Atoms in the other grain have 0.0 potential energy added. Atoms near the boundary (whose neighbor environment is intermediate between the two grain orientations) have an energy between 0.0 and dE added. This creates an effective driving force to reduce the potential energy of atoms near the boundary by pushing them towards one of the grain -orientations. For dir = 1 and dE > 0, the boundary will thus move so +orientations. For dir = 1 and dE > 0, the boundary will thus move so that the grain described by file0 grows and the grain described by file1 shrinks. Thus this fix is designed for simulations of two-grain systems, either with one grain boundary and free surfaces parallel to the boundary, or a system with periodic boundary conditions and two equal and opposite grain boundaries. In either case, the entire system can displace during the simulation, and such motion should be -accounted for in measuring the grain boundary velocity.

    -

    The potential energy added to atom I is given by these formulas

    -_images/fix_orient_fcc.jpg -

    which are fully explained in (Janssens). The order +accounted for in measuring the grain boundary velocity. +

    +

    The potential energy added to atom I is given by these formulas +

    +
    +
    +

    which are fully explained in (Janssens). The order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. Rj is the vector from atom I to its neighbor J, and RIj is a vector in the reference (perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an atom coord from file 0/1. Equation (2) gives the expected value of the order parameter XiIJ in the other grain. Hi and lo cutoffs are defined in equations (3) and -(4), using the input parameters cutlo and cuthi as thresholds to +(4), using the input parameters cutlo and cuthi as thresholds to avoid adding grain boundary energy when the deviation in the order parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a perfect crystal). The added potential energy Ui for atom I is given in equation (6) where it is interpolated between 0 and dE using the -two threshold Xi values and the Wi value of equation (5).

    -

    The derivative of this energy expression gives the force on each atom +two threshold Xi values and the Wi value of equation (5). +

    +

    The derivative of this energy expression gives the force on each atom which thus depends on the orientation of its neighbors relative to the 2 grain orientations. Only atoms near the grain boundary feel a net -force which tends to drive them to one of the two grain orientations.

    -

    In equation (1), the reference vector used for each neighbor is the +force which tends to drive them to one of the two grain orientations. +

    +

    In equation (1), the reference vector used for each neighbor is the reference vector closest to the actual neighbor position. This means it is possible two different neighbors will use the same reference vector. In such cases, the atom in question is far from a perfect orientation and will likely receive the full dE addition, so the -effect of duplicate reference vector usage is small.

    -

    The dir parameter determines which grain wants to grow at the +effect of duplicate reference vector usage is small. +

    +

    The dir parameter determines which grain wants to grow at the expense of the other. A value of 0 means the first grain will shrink; -a value of 1 means it will grow. This assumes that dE is positive. -The reverse will be true if dE is negative.

    -

    The alat parameter is the cubic lattice constant for the fcc +a value of 1 means it will grow. This assumes that dE is positive. +The reverse will be true if dE is negative. +

    +

    The alat parameter is the cubic lattice constant for the fcc material and is only used to compute a cutoff distance of 1.57 * alat / sqrt(2) for finding the 12 nearest neighbors of each atom (which should be valid for an fcc crystal). A longer/shorter cutoff can be -imposed by adjusting alat. If a particular atom has less than 12 +imposed by adjusting alat. If a particular atom has less than 12 neighbors within the cutoff, the order parameter of equation (1) is effectively multiplied by 12 divided by the actual number of neighbors -within the cutoff.

    -

    The dE parameter is the maximum amount of additional energy added to -each atom in the grain which wants to shrink.

    -

    The cutlo and cuthi parameters are used to reduce the force added +within the cutoff. +

    +

    The dE parameter is the maximum amount of additional energy added to +each atom in the grain which wants to shrink. +

    +

    The cutlo and cuthi parameters are used to reduce the force added to bulk atoms in each grain far away from the boundary. An atom in the bulk surrounded by neighbors at the ideal grain orientation would compute an order parameter of 0 or 1 and have no force added. However, thermal vibrations in the solid will cause the order parameters to be greater than 0 or less than 1. The cutoff parameters mask this effect, allowing forces to only be added to atoms with -order-parameters between the cutoff values.

    -

    File0 and file1 are filenames for the two grains which each +order-parameters between the cutoff values. +

    +

    File0 and file1 are filenames for the two grains which each contain 6 vectors (6 lines with 3 values per line) which specify the grain orientations. Each vector is a displacement from a central atom (0,0,0) to a nearest neighbor atom in an fcc lattice at the proper @@ -222,124 +114,75 @@ orientation. The vector lengths should all be identical since an fcc lattice has a coordination number of 12. Only 6 are listed due to symmetry, so the list must include one from each pair of equal-and-opposite neighbors. A pair of orientation files for a -Sigma=5 tilt boundary are show below.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +Sigma=5 tilt boundary are show below. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the potential energy of atom interactions with the grain -boundary driving force to the system’s potential energy as part of -thermodynamic output.

    -

    This fix calculates a global scalar which can be accessed by various -output commands. The scalar is the +boundary driving force to the system's potential energy as part of +thermodynamic output. +

    +

    This fix calculates a global scalar which can be accessed by various +output commands. The scalar is the potential energy change due to this fix. The scalar value calculated -by this fix is “extensive”.

    -

    This fix also calculates a per-atom array which can be accessed by -various output commands. The array +by this fix is "extensive". +

    +

    This fix also calculates a per-atom array which can be accessed by +various output commands. The array stores the order parameter Xi and normalized order parameter (0 to 1) -for each atom. The per-atom values can be accessed on any timestep.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    This fix should only be used with fcc lattices.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + 1.596820864092150 -1.785300000000000 0.798410432046075 + + diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html index c68c69714b..3193e18d96 100644 --- a/doc/fix_phonon.html +++ b/doc/fix_phonon.html @@ -1,353 +1,221 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix phonon command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix phonon command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • phonon = style name of this fix command
    • -
    • N = measure the Green’s function every this many timesteps
    • -
    • Noutput = output the dynamical matrix every this many measurements
    • -
    • Nwait = wait this many timesteps before measuring
    • -
    • map_file = file or GAMMA
    • -
    -
    -file is the file that contains the mapping info between atom ID and the lattice indices.
    -
    -
    -GAMMA flags to treate the whole simulation box as a unit cell, so that the mapping
    +
    +
    +
    + +

    fix phonon command +

    +

    Syntax: +

    +
    fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • phonon = style name of this fix command + +
    • N = measure the Green's function every this many timesteps + +
    • Noutput = output the dynamical matrix every this many measurements + +
    • Nwait = wait this many timesteps before measuring + +
    • map_file = file or GAMMA + +
        file is the file that contains the mapping info between atom ID and the lattice indices. 
      +
      +
        GAMMA flags to treate the whole simulation box as a unit cell, so that the mapping
         info can be generated internally. In this case, dynamical matrix at only the gamma-point
      -  will/can be evaluated.
      -
      -
        -
      • prefix = prefix for output files
      • -
      • one or none keyword/value pairs may be appended
      • -
      • keyword = sysdim or nasr
      • -
      -
      -sysdim value = d
      +  will/can be evaluated. 
      +
      +
    • prefix = prefix for output files + +
    • one or none keyword/value pairs may be appended + +
    • keyword = sysdim or nasr + +
        sysdim value = d
           d = dimension of the system, usually the same as the MD model dimension
      -  nasr value = n
      -    n = number of iterations to enforce the acoustic sum rule
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1
    +  nasr value = n
    +    n = number of iterations to enforce the acoustic sum rule 
    +
    + + +

    Examples: +

    +
    fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1
     fix 1 all phonon 20 5000 200000 map.in EAM3D
    -fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100
    -
    -
    -
    -
    -

    Description¶

    -

    Calculate the dynamical matrix from molecular dynamics simulations -based on fluctuation-dissipation theory for a group of atoms.

    -

    Consider a crystal with N unit cells in three dimensions labelled l -= (l<sub>1</sub>,l<sub>2</sub>,l<sub>3</sub>) where l<sub>i</sub> +fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100 + +

    Description: +

    +

    Calculate the dynamical matrix from molecular dynamics simulations +based on fluctuation-dissipation theory for a group of atoms. +

    +

    Consider a crystal with N unit cells in three dimensions labelled l += (l1,l2,l3) where li are integers. Each unit cell is defined by three linearly independent -vectors **a**<sub>1</sub>, **a**<sub>2</sub>, **a**<sub>3</sub> forming a -parallelipiped, containing K basis atoms labelled k.

    -

    Based on fluctuation-dissipation theory, the force constant +vectors a1, a2, a3 forming a +parallelipiped, containing K basis atoms labelled k. +

    +

    Based on fluctuation-dissipation theory, the force constant coefficients of the system in reciprocal space are given by -(Campa&ntilde;&aacute; , Kong) -<center><b>&Phi;</b><sub>k&alpha;,k’&beta;</sub>(<b>q</b>) = -k<sub>B</sub>T -<b>G</b><sup>-1</sup><sub>k&alpha;,k’&beta;</sub>(<b>q</b>),</center>

    -

    where G is the Green’s functions coefficients given by

    +(Campañá , Kong) +
    Φkα,k'β(q) = +kBT +G-1kα,k'β(q),
    +

    +

    where G is the Green's functions coefficients given by +

    Gkα,k'β(q) = -<u(q)•uk'β*(q)>,

    where <...> denotes the ensemble average, and -<center>**u**<sub>k&alpha;</sub>(<b>q</b>) = &sum;<sub>l</sub> -<b>u</b><sub>lk&alpha;</sub> exp(i**qr**<sub>l</sub>)</center>

    -

    is the &alpha; component of the atomic displacement for the k*th atom -in the unit cell in reciprocal space at **q*. In practice, the Green’s +<u(q)•uk'β*(q)>, + +

    where <...> denotes the ensemble average, and +

    u(q) = ∑l +ulkα exp(iqrl)
    +

    +

    is the α component of the atomic displacement for the kth atom +in the unit cell in reciprocal space at q. In practice, the Green's functions coefficients can also be measured according to the following -formula,

    +formula, +

    Gkα,k'β(q) = <R(q)•R*k'β(q)> - <R>(q)•<R>*k'β(q), -

    where R is the instantaneous positions of atoms, and <R> is the + + +

    where R is the instantaneous positions of atoms, and <R> is the averaged atomic positions. It gives essentially the same results as -the displacement method and is easier to implement in an MD code.

    -

    Once the force constant matrix is known, the dynamical matrix D can -then be obtained by

    -
    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)

    whose eigenvalues are exactly the phonon frequencies at q.

    -

    This fix uses positions of atoms in the specified group and calculates +the displacement method and is easier to implement in an MD code. +

    +

    Once the force constant matrix is known, the dynamical matrix D can +then be obtained by +

    +
    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)
    + +

    whose eigenvalues are exactly the phonon frequencies at q. +

    +

    This fix uses positions of atoms in the specified group and calculates two-point correlations. To achieve this. the positions of the atoms -are examined every Nevery steps and are Fourier-transformed into +are examined every Nevery steps and are Fourier-transformed into reciprocal space, where the averaging process and correlation -computation is then done. After every Noutput measurements, the -matrix G**(**q) is calculated and inverted to obtain the elastic +computation is then done. After every Noutput measurements, the +matrix G(q) is calculated and inverted to obtain the elastic stiffness coefficients. The dynamical matrices are then constructed -and written to prefix.bin.timestep files in binary format and to the -file prefix.log for each wavevector q.

    -

    A detailed description of this method can be found in -(Kong2011).

    -

    The sysdim keyword is optional. If specified with a value smaller +and written to prefix.bin.timestep files in binary format and to the +file prefix.log for each wavevector q. +

    +

    A detailed description of this method can be found in +(Kong2011). +

    +

    The sysdim keyword is optional. If specified with a value smaller than the dimensionality of the LAMMPS simulation, its value is used for the dynamical matrix calculation. For example, using LAMMPS ot model a 2D or 3D system, the phonon dispersion of a 1D atomic chain -can be computed using sysdim = 1.

    -

    The nasr keyword is optional. An iterative procedure is employed to -enforce the acoustic sum rule on &Phi; at &Gamma;, and the number -provided by keyword nasr gives the total number of iterations. For a -system whose unit cell has only one atom, nasr = 1 is sufficient; -for other systems, nasr = 10 is typically sufficient.

    -

    The map_file contains the mapping information between the lattice +can be computed using sysdim = 1. +

    +

    The nasr keyword is optional. An iterative procedure is employed to +enforce the acoustic sum rule on Φ at Γ, and the number +provided by keyword nasr gives the total number of iterations. For a +system whose unit cell has only one atom, nasr = 1 is sufficient; +for other systems, nasr = 10 is typically sufficient. +

    +

    The map_file contains the mapping information between the lattice indices and the atom IDs, which tells the code which atom sits at which lattice point; the lattice indices start from 0. An auxiliary -code, latgen, can be employed to -generate the compatible map file for various crystals.

    -

    In case one simulates an aperiodic system, where the whole simulation box -is treated as a unit cell, one can set map_file as GAMMA, so that the mapping +code, latgen, can be employed to +generate the compatible map file for various crystals. +

    +

    In case one simulates an aperiodic system, where the whole simulation box +is treated as a unit cell, one can set map_file as GAMMA, so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed for cyrstals, it will be inefficient and -even degrade the performance of lammps in case the unit cell is too large.

    -

    The calculated dynamical matrix elements are written out in -energy/distance^2/mass units. The coordinates for q +even degrade the performance of lammps in case the unit cell is too large. +

    +

    The calculated dynamical matrix elements are written out in +energy/distance^2/mass units. The coordinates for q points in the log file is in the units of the basis vectors of the -corresponding reciprocal lattice.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp option is supported by this +corresponding reciprocal lattice. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp option is supported by this fix. You can use it to change the temperature compute from thermo_temp -to the one that reflects the true temperature of atoms in the group.

    -

    No global scalar or vector or per-atom quantities are stored by this -fix for access by various output commands.

    -

    Instead, this fix outputs its initialization information (including +to the one that reflects the true temperature of atoms in the group. +

    +

    No global scalar or vector or per-atom quantities are stored by this +fix for access by various output commands. +

    +

    Instead, this fix outputs its initialization information (including mapping information) and the calculated dynamical matrices to the file -prefix.log, with the specified prefix. The dynamical matrices are -also written to files prefix.bin.timestep in binary format. These +prefix.log, with the specified prefix. The dynamical matrices are +also written to files prefix.bin.timestep in binary format. These can be read by the post-processing tool in tools/phonon to compute the -phonon density of states and/or phonon dispersion curves.

    -

    No parameter of this fix can be used with the start/stop keywords -of the run command.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix assumes a crystalline system with periodical lattice. The +phonon density of states and/or phonon dispersion curves. +

    +

    No parameter of this fix can be used with the start/stop keywords +of the run command. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to -keep the system in its solid state.

    -

    This fix is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This fix requires LAMMPS be built with an FFT library. See the -Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are sysdim = the same dimemsion as specified by -the dimension command, and nasr = 20.

    -
    -

    (Campa&ntilde;&aacute;) C. Campa&ntilde;&aacute; and -M. H. M&uuml;ser, Practical Green’s function approach to the -simulation of elastic semi-infinite solids, Phys. Rev. B [74], 075420 (2006)

    -

    (Kong) L.T. Kong, G. Bartels, C. Campa&ntilde;&aacute;, -C. Denniston, and Martin H. M&uuml;ser, Implementation of Green’s -function molecular dynamics: An extension to LAMMPS, Computer Physics Communications [180](6):1004-1010 (2009).

    -

    L.T. Kong, C. Denniston, and Martin H. M&uuml;ser, -An improved version of the Green’s function molecular dynamics -method, Computer Physics Communications [182](2):540-541 (2011).

    -

    (Kong2011) L.T. Kong, Phonon dispersion measured directly from -molecular dynamics simulations, Computer Physics Communications [182](10):2201-2207, (2011).

    -
    -
    +keep the system in its solid state. +

    +

    This fix is part of the USER-PHONON package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix requires LAMMPS be built with an FFT library. See the +Making LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute msd +

    +

    Default: +

    +

    The option defaults are sysdim = the same dimemsion as specified by +the dimension command, and nasr = 20. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Kong2011) L.T. Kong, Phonon dispersion measured directly from +molecular dynamics simulations, Computer Physics Communications +[182](10):2201-2207, +(2011). +

    + diff --git a/doc/fix_pimd.html b/doc/fix_pimd.html index fb32b38d13..44da3e9b4d 100644 --- a/doc/fix_pimd.html +++ b/doc/fix_pimd.html @@ -1,168 +1,54 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix pimd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix pimd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID pimd keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • pimd = style name of this fix command
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = method or fmass or sp or temp or nhc
    • -
    -
    -method value = pimd or nmpimd or cmd
    -  fmass value = scaling factor on mass
    -  sp value = scaling factor on Planck constant
    -  temp value = temperature (temperarate units)
    -  nhc value = Nc = number of chains in Nose-Hoover thermostat
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4
    -
    -
    -
    -
    -

    Description¶

    -

    This command performs quantum molecular dynamics simulations based on + + +


    + +

    fix pimd command +

    +

    Syntax: +

    +
    fix ID group-ID pimd keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • pimd = style name of this fix command + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = method or fmass or sp or temp or nhc + +
        method value = pimd or nmpimd or cmd
      +  fmass value = scaling factor on mass
      +  sp value = scaling factor on Planck constant
      +  temp value = temperature (temperarate units)
      +  nhc value = Nc = number of chains in Nose-Hoover thermostat 
      +
      + +
    +

    Examples: +

    +
    fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 
    +
    +

    Description: +

    +

    This command performs quantum molecular dynamics simulations based on the Feynman path integral to include effects of tunneling and zero-point motion. In this formalism, the isomorphism of a quantum partition function for the original system to a classical partition function for a ring-polymer system is exploited, to efficiently sample -configurations from the canonical ensemble (Feynman). +configurations from the canonical ensemble (Feynman). The classical partition function and its components are given -by the following equations:

    -_images/fix_pimd.jpg -

    The interested user is referred to any of the numerous references on +by the following equations: +

    +
    +
    +

    The interested user is referred to any of the numerous references on this methodology, but briefly, each quantum particle in a path integral simulation is represented by a ring-polymer of P quasi-beads, labeled from 1 to P. During the simulation, each quasi-bead interacts @@ -171,176 +57,139 @@ index (the second term in the effective potential above). The quasi-beads also interact with the two neighboring quasi-beads through the spring potential in imaginary-time space (first term in effective potential). To sample the canonical ensemble, a Nose-Hoover massive -chain thermostat is applied (Tuckerman). With the +chain thermostat is applied (Tuckerman). With the massive chain algorithm, a chain of NH thermostats is coupled to each -degree of freedom for each quasi-bead. The keyword temp sets the -target temperature for the system and the keyword nhc sets the -number Nc of thermostats in each chain. For example, for a +degree of freedom for each quasi-bead. The keyword temp sets the +target temperature for the system and the keyword nhc sets the +number Nc of thermostats in each chain. For example, for a simulation of N particles with P beads in each ring-polymer, the total -number of NH thermostats would be 3 x N x P x Nc.

    -
    -

    Warning

    -

    This fix implements a complete velocity-verlet +number of NH thermostats would be 3 x N x P x Nc. +

    +

    IMPORTANT NOTE: This fix implements a complete velocity-verlet integrator combined with NH massive chain thermostat, so no -other time integration fix should be used.

    -
    -

    The method keyword determines what style of PIMD is performed. A -value of pimd is standard PIMD. A value of nmpimd is for -normal-mode PIMD. A value of cmd is for centroid molecular dynamics -(CMD). The difference between the styles is as follows.

    -

    In standard PIMD, the value used for a bead’s fictitious mass is +other time integration fix should be used. +

    +

    The method keyword determines what style of PIMD is performed. A +value of pimd is standard PIMD. A value of nmpimd is for +normal-mode PIMD. A value of cmd is for centroid molecular dynamics +(CMD). The difference between the styles is as follows. +

    +

    In standard PIMD, the value used for a bead's fictitious mass is arbitrary. A common choice is to use Mi = m/P, which results in the mass of the entire ring-polymer being equal to the real quantum particle. But it can be difficult to efficiently integrate the equations of motion for the stiff harmonic interactions in the ring -polymers.

    -

    A useful way to resolve this issue is to integrate the equations of +polymers. +

    +

    A useful way to resolve this issue is to integrate the equations of motion in a normal mode representation, using Normal Mode -Path-Integral Molecular Dynamics (NMPIMD) (Cao1). In NMPIMD, +Path-Integral Molecular Dynamics (NMPIMD) (Cao1). In NMPIMD, the NH chains are attached to each normal mode of the ring-polymer and the fictitious mass of each mode is chosen as Mk = the eigenvalue of -the Kth normal mode for k > 0. The k = 0 mode, referred to as the +the Kth normal mode for k > 0. The k = 0 mode, referred to as the zero-frequency mode or centroid, corresponds to overall translation of -the ring-polymer and is assigned the mass of the real particle.

    -

    Motion of the centroid can be effectively uncoupled from the other +the ring-polymer and is assigned the mass of the real particle. +

    +

    Motion of the centroid can be effectively uncoupled from the other normal modes by scaling the fictitious masses to achieve a partial adiabatic separation. This is called a Centroid Molecular Dynamics -(CMD) approximation (Cao2). The time-evolution (and resulting +(CMD) approximation (Cao2). The time-evolution (and resulting dynamics) of the quantum particles can be used to obtain centroid time correlation functions, which can be further used to obtain the true quantum correlation function for the original system. The CMD method -also uses normal modes to evolve the system, except only the k > 0 -modes are thermostatted, not the centroid degrees of freedom.

    -

    The keyword fmass sets a further scaling factor for the fictitious +also uses normal modes to evolve the system, except only the k > 0 +modes are thermostatted, not the centroid degrees of freedom. +

    +

    The keyword fmass sets a further scaling factor for the fictitious masses of beads, which can be used for the Partial Adiabatic CMD -(Hone), or to be set as P, which results in the fictitious -masses to be equal to the real particle masses.

    -

    The keyword sp is a scaling factor on Planck’s constant, which can +(Hone), or to be set as P, which results in the fictitious +masses to be equal to the real particle masses. +

    +

    The keyword sp is a scaling factor on Planck's constant, which can be useful for debugging or other purposes. The default value of 1.0 -is appropriate for most situations.

    -

    The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme -as described in (Calhoun). In LAMMPS this is done by using -multi-replica feature in LAMMPS, where +is appropriate for most situations. +

    +

    The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme +as described in (Calhoun). In LAMMPS this is done by using +multi-replica feature in LAMMPS, where each quasi-particle system is stored and simulated on a separate partition of processors. The following diagram illustrates this approach. The original system with 2 ring polymers is shown in red. Since each ring has 4 quasi-beads (imaginary time slices), there are 4 replicas of the system, each running on one of the 4 partitions of processors. Each replica (shown in green) owns one quasi-bead in each -ring.

    -_images/pimd.jpg -

    To run a PIMD simulation with M quasi-beads in each ring polymer using -N MPI tasks for each partition’s domain-decomposition, you would use P -= MxN processors (cores) and run the simulation as follows:

    -
    mpirun -np P lmp_mpi -partition MxN -in script
    -
    -
    -

    Note that in the LAMMPS input script for a multi-partition simulation, -it is often very useful to define a uloop-style variable such as

    -
    variable ibead uloop M pad
    -
    -
    -

    where M is the number of quasi-beads (partitions) used in the +ring. +

    +
    +
    +

    To run a PIMD simulation with M quasi-beads in each ring polymer using +N MPI tasks for each partition's domain-decomposition, you would use P += MxN processors (cores) and run the simulation as follows: +

    +
    mpirun -np P lmp_mpi -partition MxN -in script 
    +
    +

    Note that in the LAMMPS input script for a multi-partition simulation, +it is often very useful to define a uloop-style +variable such as +

    +
    variable ibead uloop M pad 
    +
    +

    where M is the number of quasi-beads (partitions) used in the calculation. The uloop variable can then be used to manage I/O -related tasks for each of the partitions, e.g.

    -
    dump dcd all dcd 10 system_${ibead}.dcd
    +related tasks for each of the partitions, e.g.
    +

    +
    dump dcd all dcd 10 system_${ibead}.dcd
     restart 1000 system_${ibead}.restart1 system_${ibead}.restart2
    -read_restart system_${ibead}.restart2
    -
    -
    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    A PIMD simulation can be initialized with a single data file read via -the read_data command. However, this means all +read_restart system_${ibead}.restart2 + +

    Restrictions: +

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    A PIMD simulation can be initialized with a single data file read via +the read_data command. However, this means all quasi-beads in a ring polymer will have identical positions and velocities, resulting in identical trajectories for all quasi-beads. To avoid this, users can simply initialize velocities with different random number seeds assigned to each partition, as defined by the -uloop variable, e.g.

    -
    velocity all create 300.0 1234${ibead} rot yes dist gaussian
    -
    -
    -
    -
    -

    Default¶

    -

    The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, -and nhc = 2.

    -
    -

    (Feynman) R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and -Path Integrals, McGraw-Hill, New York (1965).

    -

    (Tuckerman) M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993).

    -

    (Cao1) J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993).

    -

    (Cao2) J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994).

    -

    (Hone) T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, -154103 (2006).

    -

    (Calhoun) A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, -415 (1996).

    -
    -
    +uloop variable, e.g. +

    +
    velocity all create 300.0 1234${ibead} rot yes dist gaussian 
    +
    +

    Default: +

    +

    The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, +and nhc = 2. +

    +
    + -
    -
    -
    - +

    (Feynman) R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and +Path Integrals, McGraw-Hill, New York (1965). +

    + -
    +

    (Tuckerman) M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Cao1) J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993). +

    + -
    +

    (Cao2) J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994). +

    + -
    -
    +

    (Hone) T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, +154103 (2006). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Calhoun) A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, +415 (1996). +

    + diff --git a/doc/fix_planeforce.html b/doc/fix_planeforce.html index 2698acf624..2ef66d5a03 100644 --- a/doc/fix_planeforce.html +++ b/doc/fix_planeforce.html @@ -1,238 +1,56 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix planeforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix planeforce command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID planeforce x y z
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • planeforce = style name of this fix command
    • -
    • x y z = 3-vector that is normal to the plane
    • -
    -
    -
    -

    Examples¶

    -
    fix hold boundary planeforce 1.0 0.0 0.0
    -
    -
    -
    -
    -

    Description¶

    -

    Adjust the forces on each atom in the group so that only the + + +


    + +

    fix planeforce command +

    +

    Syntax: +

    +
    fix ID group-ID planeforce x y z 
    +
    +
    • ID, group-ID are documented in fix command +
    • planeforce = style name of this fix command +
    • x y z = 3-vector that is normal to the plane +
    +

    Examples: +

    +
    fix hold boundary planeforce 1.0 0.0 0.0 
    +
    +

    Description: +

    +

    Adjust the forces on each atom in the group so that only the components of force in the plane specified by the normal vector (x,y,z) remain. This is done by subtracting out the component of -force perpendicular to the plane.

    -

    If the initial velocity of the atom is 0.0 (or in the plane), then it -should continue to move in the plane thereafter.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +force perpendicular to the plane. +

    +

    If the initial velocity of the atom is 0.0 (or in the plane), then it +should continue to move in the plane thereafter. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix lineforce +

    +

    Default: none +

    + diff --git a/doc/fix_poems.html b/doc/fix_poems.html index ce79591184..0bc381f4e6 100644 --- a/doc/fix_poems.html +++ b/doc/fix_poems.html @@ -1,300 +1,146 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix poems — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix poems¶

    -

    Syntax:

    -
    fix ID group-ID poems keyword values
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • poems = style name of this fix command
    • -
    • keyword = group or file or molecule
    • -
    -
    -group values = list of group IDs
    -  molecule values = none
    -  file values = filename
    -
    -
    -

    Examples¶

    -
    fix 3 fluid poems group clump1 clump2 clump3
    -fix 3 fluid poems file cluster.list
    -
    -
    -
    -
    -

    Description¶

    -

    Treats one or more sets of atoms as coupled rigid bodies. This means + + +


    + +

    fix poems +

    +

    Syntax: +

    +
    fix ID group-ID poems keyword values 
    +
    +
    • ID, group-ID are documented in fix command + +
    • poems = style name of this fix command + +
    • keyword = group or file or molecule + +
        group values = list of group IDs
      +  molecule values = none
      +  file values = filename 
      +
      + +
    +

    Examples: +

    +
    fix 3 fluid poems group clump1 clump2 clump3
    +fix 3 fluid poems file cluster.list 
    +
    +

    Description: +

    +

    Treats one or more sets of atoms as coupled rigid bodies. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms are updated so that the collection of bodies move as a coupled set. This can be useful for treating a large biomolecule as a collection of connected, -coarse-grained particles.

    -

    The coupling, associated motion constraints, and time integration is -performed by the software package Parallelizable Open source Efficient Multibody Software (POEMS) which computes the +coarse-grained particles. +

    +

    The coupling, associated motion constraints, and time integration is +performed by the software package Parallelizable Open source +Efficient Multibody Software (POEMS) which computes the constrained rigid-body motion of articulated (jointed) multibody -systems (Anderson). POEMS was written and is distributed +systems (Anderson). POEMS was written and is distributed by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and other members of his group at Rensselaer Polytechnic Institute (RPI). Rudranarayan developed the LAMMPS/POEMS interface. For copyright information on POEMS and other details, please refer to the -documents in the poems directory distributed with LAMMPS.

    -

    This fix updates the positions and velocities of the rigid atoms with +documents in the poems directory distributed with LAMMPS. +

    + + +

    This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same -atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin).

    -

    Each body must have a non-degenerate inertia tensor, which means if +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). +

    +

    Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-collinear atoms. Which atoms are in which -bodies can be defined via several options.

    -

    For option group, each of the listed groups is treated as a rigid +bodies can be defined via several options. +

    +

    For option group, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are -included in each rigid body.

    -

    For option molecule, each set of atoms in the group with a different -molecule ID is treated as a rigid body.

    -

    For option file, sets of atoms are read from the specified file and +included in each rigid body. +

    +

    For option molecule, each set of atoms in the group with a different +molecule ID is treated as a rigid body. +

    +

    For option file, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies -a rigid body in the following format:

    -

    ID type atom1-ID atom2-ID atom3-ID ...

    -

    ID as an integer from 1 to M (the number of rigid bodies). Type is +a rigid body in the following format: +

    +

    ID type atom1-ID atom2-ID atom3-ID ... +

    +

    ID as an integer from 1 to M (the number of rigid bodies). Type is any integer; it is not used by the fix poems command. The remaining arguments are IDs of atoms in the rigid body, each typically from 1 to N (the number of atoms in the system). Only atoms that are also in the fix group are included in each rigid body. Blank lines and lines -that begin with ‘#’ are skipped.

    -

    A connection between a pair of rigid bodies is inferred if one atom is +that begin with '#' are skipped. +

    +

    A connection between a pair of rigid bodies is inferred if one atom is common to both bodies. The POEMS solver treats that atom as a spherical joint with 3 degrees of freedom. Currently, a collection of bodies can only be connected by joints as a linear chain. The entire collection of rigid bodies can represent one or more chains. Other connection topologies (tree, ring) are not allowed, but will be added later. Note that if no joints exist, it is more efficient to use the -fix rigid command to simulate the system.

    -

    When the poems fix is defined, it will print out statistics on the +fix rigid command to simulate the system. +

    +

    When the poems fix is defined, it will print out statistics on the total # of clusters, bodies, joints, atoms involved. A cluster in -this context means a set of rigid bodies connected by joints.

    -

    For computational efficiency, you should turn off pairwise and bond +this context means a set of rigid bodies connected by joints. +

    +

    For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to -the motion. The “neigh_modify exclude” and “delete_bonds” commands -can be used to do this if each rigid body is a group.

    -

    For computational efficiency, you should only define one fix poems +the motion. The "neigh_modify exclude" and "delete_bonds" commands +can be used to do this if each rigid body is a group. +

    +

    For computational efficiency, you should only define one fix poems which includes all the desired rigid bodies. LAMMPS will allow -multiple poems fixes to be defined, but it is more expensive.

    -

    The degrees-of-freedom removed by coupled rigid bodies are accounted +multiple poems fixes to be defined, but it is more expensive. +

    +

    The degrees-of-freedom removed by coupled rigid bodies are accounted for in temperature and pressure computations. Similarly, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned -off, and there is only a single fix poems defined.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +off, and there is only a single fix poems defined. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the POEMS package. It is only enabled if LAMMPS +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the POEMS package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be -built and linked with LAMMPS. See the Making LAMMPS section for more info.

    -
    - -
    +built and linked with LAMMPS. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix rigid, delete_bonds, +neigh_modify exclude +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Anderson) Anderson, Mukherjee, Critchley, Ziegler, and Lipton +"POEMS: Parallelizable Open-source Efficient Multibody Software ", +Engineering With Computers (2006). (link to +paper) +

    + diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 256b7043ea..7ce96622df 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -1,396 +1,242 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix pour command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix pour command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID pour N type seed keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • pour = style name of this fix command
    • -
    • N = # of atoms to insert
    • -
    • type = atom type to assign to inserted atoms (offset for molecule insertion)
    • -
    • seed = random # seed (positive integer)
    • -
    • one or more keyword/value pairs may be appended to args
    • -
    • keyword = region or diam or dens or vol or rate or vel or mol or rigid or shake
    • -
    -
    -region value = region-ID
    +
    +
    +
    + +

    fix pour command +

    +

    Syntax: +

    +
    fix ID group-ID pour N type seed keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • pour = style name of this fix command + +
    • N = # of atoms to insert + +
    • type = atom type to assign to inserted atoms (offset for molecule insertion) + +
    • seed = random # seed (positive integer) + +
    • one or more keyword/value pairs may be appended to args + +
    • keyword = region or diam or dens or vol or rate or vel or mol or rigid or shake + +
        region value = region-ID
           region-ID = ID of region to use as insertion volume
      -  diam values = dstyle args
      -    dstyle = one or range or poly
      -      one args = D
      +  diam values = dstyle args
      +    dstyle = one or range or poly
      +      one args = D
               D = single diameter for inserted particles (distance units)
      -      range args = Dlo Dhi
      +      range args = Dlo Dhi
               Dlo,Dhi = range of diameters for inserted particles (distance units)
      -      poly args = Npoly D1 P1 D2 P2 ...
      +      poly args = Npoly D1 P1 D2 P2 ...
               Npoly = # of (D,P) pairs
               D1,D2,... = diameter for subset of inserted particles (distance units)
               P1,P2,... = percentage of inserted particles with this diameter (0-1)
      -  vol values = fraction Nattempt
      +  vol values = fraction Nattempt
           fraction = desired volume fraction for filling insertion volume
           Nattempt = max # of insertion attempts per atom
      -  rate value = V
      +  rate value = V
           V = z velocity (3d) or y velocity (2d) at which
               insertion volume moves (velocity units)
      -  vel values (3d) = vxlo vxhi vylo vyhi vz
      -  vel values (2d) = vxlo vxhi vy
      +  vel values (3d) = vxlo vxhi vylo vyhi vz
      +  vel values (2d) = vxlo vxhi vy
           vxlo,vxhi = range of x velocities for inserted particles (velocity units)
           vylo,vyhi = range of y velocities for inserted particles (velocity units)
           vz = z velocity (3d) assigned to inserted particles (velocity units)
           vy = y velocity (2d) assigned to inserted particles (velocity units)
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  molfrac values = f1 f2 ... fN
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  molfrac values = f1 f2 ... fN
           f1 to fN = relative probability of creating each of N molecules in template-ID
      -  rigid value = fix-ID
      -    fix-ID = ID of fix rigid/small command
      -  shake value = fix-ID
      -    fix-ID = ID of fix shake command
      -
      -
    -
    -

    Examples¶

    -
    fix 3 all pour 1000 2 29494 region myblock
    -fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1
    +  rigid value = fix-ID
    +    fix-ID = ID of fix rigid/small command
    +  shake value = fix-ID
    +    fix-ID = ID of fix shake command 
    +
    + + +

    Examples: +

    +
    fix 3 all pour 1000 2 29494 region myblock
    +fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 
     fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6
    -fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid
    -
    -
    -
    -
    -

    Description¶

    -

    Insert finite-size particles or molecules into the simulation box +fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid + +

    Description: +

    +

    Insert finite-size particles or molecules into the simulation box every few timesteps within a specified region until N particles or molecules have been inserted. This is typically used to model the pouring of granular particles into a container under the influence of gravity. For the remainder of this doc page, a single inserted atom -or molecule is referred to as a “particle”.

    -

    If inserted particles are individual atoms, they are assigned the +or molecule is referred to as a "particle". +

    +

    If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the -molecule command, and those values are added to the +molecule command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify -type = 0. If you specify type = 2, the in the inserted molecule -will have atom types 3,4,5.

    -

    All atoms in the inserted particle are assigned to two groups: the -default group “all” and the group specified in the fix pour command -(which can also be “all”).

    -

    This command must use the region keyword to define an insertion +type = 0. If you specify type = 2, the in the inserted molecule +will have atom types 3,4,5. +

    +

    All atoms in the inserted particle are assigned to two groups: the +default group "all" and the group specified in the fix pour command +(which can also be "all"). +

    +

    This command must use the region keyword to define an insertion volume. The specified region must have been previously defined with a -region command. It must be of type block or a z-axis -cylinder and must be defined with side = in. The cylinder style -of region can only be used with 3d simulations.

    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads a file that defines the +region command. It must be of type block or a z-axis +cylinder and must be defined with side = in. The cylinder style +of region can only be used with 3d simulations. +

    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads a file that defines the molecule. The coordinates, atom types, center-of-mass, moments of inertia, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. -See the molecule command for details. The only +See the molecule command for details. The only settings required to be in this file are the coordinates and types of -atoms in the molecule.

    -

    If the molecule template contains more than one molecule, the relative +atoms in the molecule. +

    +

    If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the -molfrac keyword. N relative probablities, each from 0.0 to 1.0, are +molfrac keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is inserted, a random number is used to sample from -the list of relative probabilities. The N values must sum to 1.0.

    -

    If you wish to insert molecules via the mol keyword, that will be -treated as rigid bodies, use the rigid keyword, specifying as its -value the ID of a separate fix rigid/small -command which also appears in your input script.

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix shake command which also appears in your input script.

    -

    Each timestep particles are inserted, they are placed randomly inside +the list of relative probabilities. The N values must sum to 1.0. +

    +

    If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script. +

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix +shake command which also appears in your input script. +

    +

    Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If they are molecules they are also oriented randomly. Each atom in the particle is tested for overlaps with existing particles, including effects due to periodic boundary conditions if applicable. If an overlap is detected, another random insertion attempt is made; see the -vol keyword discussion below. The larger the volume of the +vol keyword discussion below. The larger the volume of the insertion region, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so -many timesteps until the desired # of particles has been inserted.

    -

    All other keywords are optional with defaults as shown below.

    -

    The diam option is only used when inserting atoms and specifes the -diameters of inserted particles. There are 3 styles: one, range, -or poly. For one, all particles will have diameter D. For -range, the diameter of each particle will be chosen randomly and -uniformly between the specified Dlo and Dhi bounds. For poly, a -series of Npoly diameters is specified. For each diameter a -percentage value from 0.0 to 1.0 is also specified. The Npoly -percentages must sum to 1.0. For the example shown above with “diam 2 -0.7 0.4 1.5 0.6”, all inserted particles will have a diameter of 0.7 -or 1.5. 40% of the particles will be small; 60% will be large.

    -

    Note that for molecule insertion, the diameters of individual atoms in +many timesteps until the desired # of particles has been inserted. +

    +

    All other keywords are optional with defaults as shown below. +

    +

    The diam option is only used when inserting atoms and specifes the +diameters of inserted particles. There are 3 styles: one, range, +or poly. For one, all particles will have diameter D. For +range, the diameter of each particle will be chosen randomly and +uniformly between the specified Dlo and Dhi bounds. For poly, a +series of Npoly diameters is specified. For each diameter a +percentage value from 0.0 to 1.0 is also specified. The Npoly +percentages must sum to 1.0. For the example shown above with "diam 2 +0.7 0.4 1.5 0.6", all inserted particles will have a diameter of 0.7 +or 1.5. 40% of the particles will be small; 60% will be large. +

    +

    Note that for molecule insertion, the diameters of individual atoms in the molecule can be specified in the file read by the -molecule command. If not specified, the diameter of -each atom in the molecule has a default diameter of 1.0.

    -

    The dens and vel options enable inserted particles to have a range +molecule command. If not specified, the diameter of +each atom in the molecule has a default diameter of 1.0. +

    +

    The dens and vel options enable inserted particles to have a range of densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly and uniformly between the -specified bounds. The vz or vy value for option vel assigns a -z-velocity (3d) or y-velocity (2d) to each inserted particle.

    -

    The vol option specifies what volume fraction of the insertion +specified bounds. The vz or vy value for option vel assigns a +z-velocity (3d) or y-velocity (2d) to each inserted particle. +

    +

    The vol option specifies what volume fraction of the insertion volume will be filled with particles. For particles with a size -specified by the diam range keyword, they are assumed to all be of -maximum diamter Dhi for purposes of computing their contribution to -the volume fraction.

    -

    The higher the volume fraction value, the more particles are inserted +specified by the diam range keyword, they are assumed to all be of +maximum diamter Dhi for purposes of computing their contribution to +the volume fraction. +

    +

    The higher the volume fraction value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all -insertions, it prints a warning.

    -

    The rate option moves the insertion volume in the z direction (3d) +insertions, it prints a warning. +

    +

    The rate option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a -successively higher height over time.

    -
    -

    Warning

    -

    If you are monitoring the temperature of a system +successively higher height over time. +

    +

    IMPORTANT NOTE: If you are monitoring the temperature of a system where the particle count is changing due to adding particles, you -typically should use the compute_modify dynamic yes command for the temperature compute you are -using.

    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. This means you must be careful when restarting a +typically should use the compute_modify dynamic +yes command for the temperature compute you are +using. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of the pouring operation. Specifically, you should use a new fix pour command in the input script for the restarted simulation that continues the operation. You will need to adjust the arguments of the -original fix pour command to do this.

    -

    Also note that because the state of the random number generator is not -saved in restart files, you cannot do “exact” restarts with this fix, +original fix pour command to do this. +

    +

    Also note that because the state of the random number generator is not +saved in restart files, you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior if you adjust the fix pour parameters -appropriately.

    -

    None of the fix_modify options are relevant to this +appropriately. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    For 3d simulations, a gravity fix in the -z direction must be defined +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity -must be defined in the -y direction.

    -

    The specified insertion region cannot be a “dynamic” region, as -defined by the region command.

    -
    - -
    -

    Default¶

    -

    Insertions are performed for individual particles, i.e. no mol -setting is defined. If the mol keyword is used, the default for -molfrac is an equal probabilities for all molecules in the template. +must be defined in the -y direction. +

    +

    The specified insertion region cannot be a "dynamic" region, as +defined by the region command. +

    +

    Related commands: +

    +

    fix_deposit, fix_gravity, +region +

    +

    Default: +

    +

    Insertions are performed for individual particles, i.e. no mol +setting is defined. If the mol keyword is used, the default for +molfrac is an equal probabilities for all molecules in the template. Additional option defaults are diam = one 1.0, dens = 1.0 1.0, vol = -0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. +

    + diff --git a/doc/fix_press_berendsen.html b/doc/fix_press_berendsen.html index a6ea0f977f..673c1b3436 100644 --- a/doc/fix_press_berendsen.html +++ b/doc/fix_press_berendsen.html @@ -1,384 +1,227 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix press/berendsen command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix press/berendsen command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID press/berendsen keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • press/berendsen = style name of this fix command
    • -
    -
    -one or more keyword value pairs may be appended
    -keyword = iso or aniso or x or y or z or couple or dilate or modulus
    -  iso or aniso values = Pstart Pstop Pdamp
    +
    +
    +
    + +

    fix press/berendsen command +

    +

    Syntax: +

    +
    fix ID group-ID press/berendsen keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • press/berendsen = style name of this fix command + +
      one or more keyword value pairs may be appended
      +keyword = iso or aniso or x or y or z or couple or dilate or modulus
      +  iso or aniso values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z values = Pstart Pstop Pdamp
      +  x or y or z values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  modulus value = bulk modulus of system (pressure units)
      -  dilate value = all or partial
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all press/berendsen iso 0.0 0.0 1000.0
    -fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial
    -
    -
    -
    -
    -

    Description¶

    -

    Reset the pressure of the system by using a Berendsen barostat -(Berendsen), which rescales the system volume and + couple = none or xyz or xy or yz or xz + modulus value = bulk modulus of system (pressure units) + dilate value = all or partial + + + +

    Examples: +

    +
    fix 1 all press/berendsen iso 0.0 0.0 1000.0
    +fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial 
    +
    +

    Description: +

    +

    Reset the pressure of the system by using a Berendsen barostat +(Berendsen), which rescales the system volume and (optionally) the atoms coordinates within the simulation box every -timestep.

    -

    Regardless of what atoms are in the fix group, a global pressure is +timestep. +

    +

    Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate -unchanged and controlling the pressure of a surrounding fluid.

    -
    -

    Warning

    -

    Unlike the fix npt or fix nph commands which perform Nose/Hoover barostatting AND +unchanged and controlling the pressure of a surrounding fluid. +

    +

    IMPORTANT NOTE: Unlike the fix npt or fix +nph commands which perform Nose/Hoover barostatting AND time integration, this fix does NOT perform time integration. It only modifies the box size and atom coordinates to effect barostatting. -Thus you must use a separate time integration fix, like fix nve or fix nvt to actually update the +Thus you must use a separate time integration fix, like fix +nve or fix nvt to actually update the positions and velocities of atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such -as fix nvt or fix langevin or fix temp/berendsen.

    -
    -

    See this howto section of the manual for +as fix nvt or fix langevin or fix +temp/berendsen. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting and barostatting.

    -
    -

    The barostat is specified using one or more of the iso, aniso, -x, y, z, and couple keywords. These keywords give you the +thermostatting and barostatting. +

    +
    + +

    The barostat is specified using one or more of the iso, aniso, +x, y, z, and couple keywords. These keywords give you the ability to specify the 3 diagonal components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a -constant-pressure simulation. Unlike the fix npt and -fix nph commands, this fix cannot be used with triclinic +constant-pressure simulation. Unlike the fix npt and +fix nph commands, this fix cannot be used with triclinic (non-orthogonal) simulation boxes to control all 6 components of the -general pressure tensor.

    -

    The target pressures for each of the 3 diagonal components of the -stress tensor can be specified independently via the x, y, z, +general pressure tensor. +

    +

    The target pressures for each of the 3 diagonal components of the +stress tensor can be specified independently via the x, y, z, keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each -timestep is a ramped value during the run from Pstart to Pstop. +timestep is a ramped value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will change during a simulation. For -example, if the y keyword is used, the y-box length will change. A +example, if the y keyword is used, the y-box length will change. A box dimension will not change if that component is not specified, -although you have the option to change that dimension via the fix deform command.

    -

    For all barostat keywords, the Pdamp parameter determines the time +although you have the option to change that dimension via the fix +deform command. +

    +

    For all barostat keywords, the Pdamp parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units -(tau or fmsec or psec - see the units command).

    -
    -

    Warning

    -

    The relaxation time is actually also a function of the +(tau or fmsec or psec - see the units command). +

    +

    IMPORTANT NOTE: The relaxation time is actually also a function of the bulk modulus of the system (inverse of isothermal compressibility). The bulk modulus has units of pressure and is the amount of pressure that would need to be applied (isotropically) to reduce the volume of the system by a factor of 2 (assuming the bulk modulus was a constant, -independent of density, which it’s not). The bulk modulus can be set -via the keyword modulus. The Pdamp parameter is effectively +independent of density, which it's not). The bulk modulus can be set +via the keyword modulus. The Pdamp parameter is effectively multiplied by the bulk modulus, so if the pressure is relaxing faster than expected or desired, increasing the bulk modulus has the same -effect as increasing Pdamp. The converse is also true. LAMMPS does +effect as increasing Pdamp. The converse is also true. LAMMPS does not attempt to guess a correct value of the bulk modulus; it just uses 10.0 as a default value which gives reasonable relaxation for a Lennard-Jones liquid, but will be way off for other materials and way too small for solids. Thus you should experiment to find appropriate -values of Pdamp and/or the modulus when using this fix.

    -
    -
    -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be “coupled” together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +values of Pdamp and/or the modulus when using this fix. +

    +
    + +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored.

    -
    -

    The iso and aniso keywords are simply shortcuts that are -equivalent to specifying several other keywords together.

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored. +

    +
    + +

    The iso and aniso keywords are simply shortcuts that are +equivalent to specifying several other keywords together. +

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using “iso Pstart Pstop Pdamp” is the same as -specifying these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using "iso Pstart Pstop Pdamp" is the same as
    +specifying these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz
    -
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using “aniso Pstart Pstop Pdamp” is the same as specifying -these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +pressure.  Using "aniso Pstart Pstop Pdamp" is the same as specifying
    +these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none
    -
    -
    -
    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style “temp” and “pressure”, -as if these commands had been issued:

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp
    -
    -
    -

    See the compute temp and compute pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID -+ underscore + “press”, and the group for the new computes is the same -as the fix group.

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix’s temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp and press options are +couple none + +


    + +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if these commands had been issued: +

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp 
    +
    +

    See the compute temp and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is the same +as the fix group. +

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its temperature and pressure calculations. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms.

    -

    No global or per-atom quantities are stored by this fix for access by -various output commands.

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Any dimension being adjusted by this fix must be periodic.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are dilate = all, modulus = 10.0 in units of -pressure for whatever units are defined.

    -
    -

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem -Phys, 81, 3684 (1984).

    -
    -
    +on a subset of atoms. +

    +

    No global or per-atom quantities are stored by this fix for access by +various output commands. +

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    Any dimension being adjusted by this fix must be periodic. +

    +

    Related commands: +

    +

    fix nve, fix nph, fix +npt, fix temp/berendsen, +fix_modify +

    +

    Default: +

    +

    The keyword defaults are dilate = all, modulus = 10.0 in units of +pressure for whatever units are defined. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem +Phys, 81, 3684 (1984). +

    + diff --git a/doc/fix_print.html b/doc/fix_print.html index b29f5c1d37..98b233769b 100644 --- a/doc/fix_print.html +++ b/doc/fix_print.html @@ -1,275 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix print command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix print command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID print N string keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • print = style name of this fix command
    • -
    • N = print every N steps
    • -
    • string = text string to print with optional variable names
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = file or append or screen or title
    • -
    -
    -file value = filename
    -  append value = filename
    -  screen value = yes or no
    -  title value = string
    -    string =  text to print as 1st line of output file
    -
    -
    -
    -

    Examples¶

    -
    fix extra all print 100 "Coords of marker atom = $x $y $z"
    -fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt
    -
    -
    -
    -
    -

    Description¶

    -

    Print a text string every N steps during a simulation run. This can + + +


    + +

    fix print command +

    +

    Syntax: +

    +
    fix ID group-ID print N string keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • print = style name of this fix command + +
    • N = print every N steps + +
    • string = text string to print with optional variable names + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = file or append or screen or title + +
        file value = filename
      +  append value = filename
      +  screen value = yes or no
      +  title value = string
      +    string =  text to print as 1st line of output file 
      +
      + +
    +

    Examples: +

    +
    fix extra all print 100 "Coords of marker atom = $x $y $z"
    +fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt 
    +
    +

    Description: +

    +

    Print a text string every N steps during a simulation run. This can be used for diagnostic purposes or as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but -will instead be evaluated each time the string is printed.

    -

    See the variable command for a description of equal +will instead be evaluated each time the string is printed. +

    +

    See the variable command for a description of equal style variables which are the most useful ones to use with the fix print command, since they are evaluated afresh each timestep that the fix print line is output. Equal-style variables calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a -compute or fix, or references to other -variables.

    -

    If the file or append keyword is used, a filename is specified to -which the output generated by this fix will be written. If file is +compute or fix, or references to other +variables. +

    +

    If the file or append keyword is used, a filename is specified to +which the output generated by this fix will be written. If file is used, then the filename is overwritten if it already exists. If -append is used, then the filename is appended to if it already -exists, or created if it does not exist.

    -

    If the screen keyword is used, output by this fix to the screen and -logfile can be turned on or off as desired.

    -

    The title keyword allow specification of the string that will be -printed as the first line of the output file, assuming the file -keyword was used. By default, the title line is as follows:

    -
    # Fix print output for fix ID
    -
    -
    -

    where ID is replaced with the fix-ID.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +append is used, then the filename is appended to if it already +exists, or created if it does not exist. +

    +

    If the screen keyword is used, output by this fix to the screen and +logfile can be turned on or off as desired. +

    +

    The title keyword allow specification of the string that will be +printed as the first line of the output file, assuming the file +keyword was used. By default, the title line is as follows: +

    +
    # Fix print output for fix ID 
    +
    +

    where ID is replaced with the fix-ID. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are no file output, screen = yes, and title string -as described above.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable, print +

    +

    Default: +

    +

    The option defaults are no file output, screen = yes, and title string +as described above. +

    + diff --git a/doc/fix_property_atom.html b/doc/fix_property_atom.html index 7c5501c52d..c17eb032c2 100644 --- a/doc/fix_property_atom.html +++ b/doc/fix_property_atom.html @@ -1,387 +1,226 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix property/atom command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix property/atom command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID property/atom vec1 vec2 ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • property/atom = style name of this fix command
    • -
    • vec1,vec2,... = mol or q or i_name or d_name
    • -
    -
    -mol = molecule IDs
    -  q = charge
    -  i_name = new integer vector referenced by name
    -  d_name = new floating-point vector referenced by name
    -
    -
      -
    • zero of more keyword/value pairs may be appended
    • -
    • keyword = ghost
    • -
    -
    -ghost value = no or yes for whether ghost atom info in communicated
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all property/atom mol
    +
    +
    +
    + +

    fix property/atom command +

    +

    Syntax: +

    +
    fix ID group-ID property/atom vec1 vec2 ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • property/atom = style name of this fix command + +
    • vec1,vec2,... = mol or q or i_name or d_name + +
        mol = molecule IDs
      +  q = charge
      +  i_name = new integer vector referenced by name
      +  d_name = new floating-point vector referenced by name 
      +
      +
    • zero of more keyword/value pairs may be appended + +
    • keyword = ghost + +
        ghost value = no or yes for whether ghost atom info in communicated 
      +
      + +
    +

    Examples: +

    +
    fix 1 all property/atom mol
     fix 1 all property/atom i_myflag1 i_myflag2
    -fix 1 all property/atom d_sx d_sy d_sz
    -
    -
    -
    -
    -

    Description¶

    -

    Create one or more additional per-atom vectors to store information -about atoms and to use during a simulation. The specified group-ID -is ignored by this fix.

    -

    The atom style used for a simulation defines a set of per-atom -properties, as explained on the atom_style and -read_data doc pages. The latter command allows these +fix 1 all property/atom d_sx d_sy d_sz + +

    Description: +

    +

    Create one or more additional per-atom vectors to store information +about atoms and to use during a simulation. The specified group-ID +is ignored by this fix. +

    +

    The atom style used for a simulation defines a set of per-atom +properties, as explained on the atom_style and +read_data doc pages. The latter command allows these properties to be defined for each atom in the system when a data file is read. This fix will augment the set of properties with new custom -ones.

    -

    This can be useful in at least two scenarios.

    -

    If the atom style does not define molecule IDs or per-atom charge, -they can be added using the mol or q keywords. This can be -useful, e.g, to define “molecules” to use as rigid bodies with the -fix rigid command, or just to carry around an extra +ones. +

    +

    This can be useful in at least two scenarios. +

    +

    If the atom style does not define molecule IDs or per-atom charge, +they can be added using the mol or q keywords. This can be +useful, e.g, to define "molecules" to use as rigid bodies with the +fix rigid command, or just to carry around an extra flag with the atoms (stored as a molecule ID). An alternative is to use an atom style that does define molecule IDs or charge or to use a hybrid atom style that combines two styles to allow for molecule IDs or charge, but that has 2 practical drawbacks. First it typically necessitates changing the format of the data file. And it may define -additional properties that aren’t needed such as bond lists, which has -some overhead when there are no bonds.

    -

    In the future, we may add additional per-atom properties similar to -mol or q, which “turn-on” specific properties defined by some atom -styles, so they can be used by atom styles that don’t define them.

    -

    More generally, the i_name and d_name vectors allow one or more +additional properties that aren't needed such as bond lists, which has +some overhead when there are no bonds. +

    +

    In the future, we may add additional per-atom properties similar to +mol or q, which "turn-on" specific properties defined by some atom +styles, so they can be used by atom styles that don't define them. +

    +

    More generally, the i_name and d_name vectors allow one or more new custom per-atom properties to be defined. Each name must be unique and can use alphanumeric or underscore characters. These vectors can store whatever values you decide are useful in your simulation. As explained below there are several ways to initialize and access and output these values, both via input script commands and -in new code that you add to LAMMPS.

    -

    This is effectively a simple way to add per-atom properties to a model -without needing to write code for a new atom style +in new code that you add to LAMMPS. +

    +

    This is effectively a simple way to add per-atom properties to a model +without needing to write code for a new atom style that defines the properties. Note however that implementing a new atom style allows new atom properties to be more tightly and -seamlessly integrated with the rest of the code.

    -

    The new atom properties encode values that migrate with atoms to new +seamlessly integrated with the rest of the code. +

    +

    The new atom properties encode values that migrate with atoms to new processors and are written to restart files. If you want the new -properties to also be defined for ghost atoms, then use the ghost -keyword with a value of yes. This will invoke extra communication +properties to also be defined for ghost atoms, then use the ghost +keyword with a value of yes. This will invoke extra communication when ghost atoms are created (at every re-neighboring) to insure the -new properties are also defined for the ghost atoms.

    -
    -

    Warning

    -

    If you use this command with the mol or charge -vectors than you most likely want to set ghost yes, since these +new properties are also defined for the ghost atoms. +

    +

    IMPORTANT NOTE: If you use this command with the mol or charge +vectors than you most likely want to set ghost yes, since these properties are stored with ghost atoms if you use an -atom_style that defines them, and many LAMMPS +atom_style that defines them, and many LAMMPS operations that use molecule IDs or charge, such as neighbor lists and pair styles, will expect ghost atoms to have these valuse. LAMMPS will issue a warning it you define those vectors but do not set -ghost yes.

    -
    -
    -

    Warning

    -

    The properties for ghost atoms are not updated every +ghost yes. +

    +

    IMPORTANT NOTE: The properties for ghost atoms are not updated every timestep, but only once every few steps when neighbor lists are -re-built. Thus the ghost keyword is suitable for static properties, +re-built. Thus the ghost keyword is suitable for static properties, like molecule IDs, but not for dynamic properties that change every step. For the latter, the code you add to LAMMPS to change the properties will also need to communicate their new values to/from -ghost atoms, an operation that can be invoked from within a pair style or fix or compute -that you write.

    -
    -
    -

    This fix is one of a small number that can be defined in an input +ghost atoms, an operation that can be invoked from within a pair +style or fix or compute +that you write. +

    +
    + +

    This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. -This is so it can be used with the read_data command -as described below.

    -

    Per-atom properties that are defined by the atom style are initialized when atoms are created, e.g. by -the read_data or create_atoms +This is so it can be used with the read_data command +as described below. +

    +

    Per-atom properties that are defined by the atom +style are initialized when atoms are created, e.g. by +the read_data or create_atoms commands. The per-atom properaties defined by this fix are not. So you need to initialize them explicitly. This can be done by the -read_data command, using its fix keyword and -passing it the fix-ID of this fix.

    -

    Thus these commands:

    -
    fix prop all property/atom mol d_flag
    -read_data data.txt fix prop NULL Molecules
    -
    -
    -

    would allow a data file to have a section like this:

    -
    Molecules
    -
    -
    -
    1 4 1.5
    +read_data command, using its fix keyword and
    +passing it the fix-ID of this fix.
    +

    +

    Thus these commands: +

    +
    fix prop all property/atom mol d_flag
    +read_data data.txt fix prop NULL Molecules 
    +
    +

    would allow a data file to have a section like this: +

    +
    Molecules 
    +
    +
    1 4 1.5
     2 4 3.0
     3 10 1.0
     4 10 1.0
     5 10 1.0
     ...
    -N 763 4.5
    -
    -
    -

    where N is the number of atoms, and the first field on each line is +N 763 4.5 + +

    where N is the number of atoms, and the first field on each line is the atom-ID, followed by a molecule-ID and a floating point value that -will be stored in a new property called “flag”. Note that the list of -per-atom properties can be in any order.

    -

    Another way of initializing the new properties is via the -set command. For example, if you wanted molecules +will be stored in a new property called "flag". Note that the list of +per-atom properties can be in any order. +

    +

    Another way of initializing the new properties is via the +set command. For example, if you wanted molecules defined for every set of 10 atoms, based on their atom-IDs, -these commands could be used:

    -
    fix prop all property/atom mol
    +these commands could be used:
    +

    +
    fix prop all property/atom mol
     variable cluster atom ((id-1)/10)+1
    -set id * mol v_cluster
    -
    -
    -

    The atom-style variable will create values for atoms +set id * mol v_cluster + +

    The atom-style variable will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the -set commands assigns them to the molecule ID for each atom, +set commands assigns them to the molecule ID for each atom, they will be truncated to an integer value, so atoms 31-40 will all be -assigned a molecule ID of 4.

    -

    Note that atomfile-style variables can also be used in +assigned a molecule ID of 4. +

    +

    Note that atomfile-style variables can also be used in place of atom-style variables, which means in this case that the molecule IDs could be read-in from a separate file and assinged by the -set command. This allows you to initialize new per-atom -properties in a completely general fashion.

    -
    -

    For new atom properties specified as i_name or d_name, the -compute property/atom command can access -their values. This means that the values can be output via the dump custom command, accessed by fixes like fix ave/atom, accessed by other computes like compute reduce, or used in atom-style variables.

    -

    For example, these commands will output two new properties to a custom -dump file:

    -
    fix prop all property/atom i_flag1 d_flag2
    +set command.  This allows you to initialize new per-atom
    +properties in a completely general fashion.
    +

    +
    + +

    For new atom properties specified as i_name or d_name, the +compute property/atom command can access +their values. This means that the values can be output via the dump +custom command, accessed by fixes like fix +ave/atom, accessed by other computes like compute +reduce, or used in atom-style +variables. +

    +

    For example, these commands will output two new properties to a custom +dump file: +

    +
    fix prop all property/atom i_flag1 d_flag2
     compute 1 all property/atom i_flag1 d_flag2
    -dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2]
    -
    -
    -
    -

    If you wish to add new pair styles, -fixes, or computes that use the per-atom -properties defined by this fix, see Section modify of the manual which has some details -on how the properties can be accessed from added classes.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the per-atom values it stores to binary restart files, so that the values can be restored when a -simulation is restarted. See the read_restart +dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] + +


    + +

    If you wish to add new pair styles, +fixes, or computes that use the per-atom +properties defined by this fix, see Section +modify of the manual which has some details +on how the properties can be accessed from added classes. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the per-atom values it stores to binary restart +files, so that the values can be restored when a +simulation is restarted. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    None of the fix_modify options +uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The default keyword values are ghost = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    read_data, set, compute +property/atom +

    +

    Default: +

    +

    The default keyword values are ghost = no. +

    + diff --git a/doc/fix_qbmsst.html b/doc/fix_qbmsst.html index caf1b67ac4..376c73eed0 100644 --- a/doc/fix_qbmsst.html +++ b/doc/fix_qbmsst.html @@ -1,379 +1,232 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qbmsst command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qbmsst command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID qbmsst dir shockvel keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • qbmsst = style name of this fix
    • -
    • dir = x or y or z
    • -
    • shockvel = shock velocity (strictly positive, velocity units)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = q or mu or p0 or v0 or e0 or tscale or damp or seed*or *f_max or N_f or eta or beta or T_init
    • -
    -
    -q value = cell mass-like parameter (mass^2/distance^4 units)
    -  mu value = artificial viscosity (mass/distance/time units)
    -  p0 value = initial pressure in the shock equations (pressure units)
    -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    -  e0 value = initial total energy (energy units)
    -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    -  damp value = damping parameter (time units) inverse of friction <i>&gamma;</i>
    -  seed value = random number seed (positive integer)
    -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    -  N_f value = number of frequency bins (positive integer)
    -  eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
    -  beta value = the quantum temperature is updated every beta time steps (positive integer)
    -  T_init value = quantum temperature for the initial state (temperature units)
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units)
    -fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units)
    -
    -
    -

    Two example input scripts are given, including shocked alpha quartz + + +


    + +

    fix qbmsst command +

    +

    Syntax: +

    +
    fix ID group-ID qbmsst dir shockvel keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • qbmsst = style name of this fix + +
    • dir = x or y or z + +
    • shockvel = shock velocity (strictly positive, velocity units) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = q or mu or p0 or v0 or e0 or tscale or damp or seedor f_max or N_f or eta or beta or T_init + +
        q value = cell mass-like parameter (mass^2/distance^4 units)
      +  mu value = artificial viscosity (mass/distance/time units)
      +  p0 value = initial pressure in the shock equations (pressure units)
      +  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
      +  e0 value = initial total energy (energy units)
      +  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
      +  damp value = damping parameter (time units) inverse of friction γ
      +  seed value = random number seed (positive integer)
      +  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
      +  N_f value = number of frequency bins (positive integer)
      +  eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
      +  beta value = the quantum temperature is updated every beta time steps (positive integer)
      +  T_init value = quantum temperature for the initial state (temperature units) 
      +
      + +
    +

    Examples: +

    +
    fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units)
    +fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) 
    +
    +

    Two example input scripts are given, including shocked alpha quartz and shocked liquid methane. The input script first equilibrate an initial state with the quantum thermal bath at the target temperature and then apply the qbmsst to simulate shock compression with quantum nuclear correction. The following two figures plot related quantities -for shocked alpha quartz.

    -_images/qbmsst_init.jpg -

    Figure 1. Classical temperature <i>T</i><sup>cl</sup> = &sum; -<i>m<sub>i</sub>v<sub>i</sub><sup>2</sup>/3Nk</i><sub>B</sub> vs. time +for shocked alpha quartz. +

    +
    +
    +

    Figure 1. Classical temperature Tcl = ∑ +mivi2/3NkB vs. time for coupling the alpha quartz initial state with the quantum thermal -bath at target quantum temperature <i>T</i><sup>qm</sup> = 300 K. The +bath at target quantum temperature Tqm = 300 K. The NpH ensemble is used for time integration while QTB provides the -colored random force. <i>T</i><sup>cl</sup> converges at the timescale -of damp which is set to be 1 ps.

    -_images/qbmsst_shock.jpg -

    Figure 2. Quantum temperature and pressure vs. time for simulating +colored random force. Tcl converges at the timescale +of damp which is set to be 1 ps. +

    +
    +
    +

    Figure 2. Quantum temperature and pressure vs. time for simulating shocked alpha quartz with the QBMSST. The shock propagates along the z direction. Restart of the QBMSST command is demonstrated in the example input script. Thermodynamic quantities stay continuous before -and after the restart.

    -
    -
    -

    Description¶

    -

    This command performs the Quantum-Bath coupled Multi-Scale Shock -Technique (QBMSST) integration. See (Qi) for a detailed +and after the restart. +

    +

    Description: +

    +

    This command performs the Quantum-Bath coupled Multi-Scale Shock +Technique (QBMSST) integration. See (Qi) for a detailed description of this method. The QBMSST provides description of the thermodynamics and kinetics of shock processes while incorporating -quantum nuclear effects. The shockvel setting determines the steady -shock velocity that will be simulated along direction dir.

    -

    Quantum nuclear effects (fix qtb) can be crucial +quantum nuclear effects. The shockvel setting determines the steady +shock velocity that will be simulated along direction dir. +

    +

    Quantum nuclear effects (fix qtb) can be crucial especially when the temperature of the initial state is below the classical limit or there is a great change in the zero point energies between the initial and final states. Theoretical post processing quantum corrections of shock compressed water and methane have been -reported as much as 30% of the temperatures (Goldman). A +reported as much as 30% of the temperatures (Goldman). A self-consistent method that couples the shock to a quantum thermal bath described by a colored noise Langevin thermostat has been -developed by Qi et al (Qi) and applied to shocked methane. The +developed by Qi et al (Qi) and applied to shocked methane. The onset of chemistry is reported to be at a pressure on the shock Hugoniot that is 40% lower than observed with classical molecular -dynamics.

    -

    It is highly recommended that the system be already in an equilibrium -state with a quantum thermal bath at temperature of T_init. The fix -command fix qtb at constant temperature T_init could +dynamics. +

    +

    It is highly recommended that the system be already in an equilibrium +state with a quantum thermal bath at temperature of T_init. The fix +command fix qtb at constant temperature T_init could be used before applying this command to introduce self-consistent -quantum nuclear effects into the initial state.

    -

    The parameters q, mu, e0, p0, v0 and tscale are described -in the command fix msst. The values of e0, p0, or -v0 will be calculated on the first step if not specified. The -parameter of damp, f_max, and N_f are described in the command -fix qtb.

    -

    The fix qbmsst command couples the shock system to a quantum thermal +quantum nuclear effects into the initial state. +

    +

    The parameters q, mu, e0, p0, v0 and tscale are described +in the command fix msst. The values of e0, p0, or +v0 will be calculated on the first step if not specified. The +parameter of damp, f_max, and N_f are described in the command +fix qtb. +

    +

    The fix qbmsst command couples the shock system to a quantum thermal bath with a rate that is proportional to the change of the total -energy of the shock system, <i>etot</i> - <i>etot</i><sub>0</sub>. -Here <i>etot</i> consists of both the system energy and a thermal -term, see (Qi), and <i>etot</i><sub>0</sub> = e0 is the -initial total energy.

    -

    The eta (<i>&eta;</i>) parameter is a unitless coupling constant -between the shock system and the quantum thermal bath. A small eta +energy of the shock system, etot - etot0. +Here etot consists of both the system energy and a thermal +term, see (Qi), and etot0 = e0 is the +initial total energy. +

    +

    The eta (η) parameter is a unitless coupling constant +between the shock system and the quantum thermal bath. A small eta value cannot adjust the quantum temperature fast enough during the -temperature ramping period of shock compression while large eta -leads to big temperature oscillation. A value of eta between 0.3 and +temperature ramping period of shock compression while large eta +leads to big temperature oscillation. A value of eta between 0.3 and 1 is usually appropriate for simulating most systems under shock -compression. We observe that different values of eta lead to almost -the same final thermodynamic state behind the shock, as expected.

    -

    The quantum temperature is updated every beta (<i>&beta;</i>) steps -with an integration time interval beta times longer than the -simulation time step. In that case, <i>etot</i> is taken as its -average over the past beta steps. The temperature of the quantum -thermal bath <i>T</i><sup>qm</sup> changes dynamically according to -the following equation where &Delta;<i>t</i> is the MD time step and -<i>&gamma;</i> is the friction constant which is equal to the inverse -of the damp parameter.

    +compression. We observe that different values of eta lead to almost +the same final thermodynamic state behind the shock, as expected. +

    +

    The quantum temperature is updated every beta (β) steps +with an integration time interval beta times longer than the +simulation time step. In that case, etot is taken as its +average over the past beta steps. The temperature of the quantum +thermal bath Tqm changes dynamically according to +the following equation where Δt is the MD time step and +γ is the friction constant which is equal to the inverse +of the damp parameter. +

    dTqm/dt = γηβl = 1[etot(t-lΔt)-etot0]/3βNkB -

    The parameter T_init is the initial temperature of the quantum -thermal bath and the system before shock loading.

    -

    For all pressure styles, the simulation box stays orthorhombic in + + +

    The parameter T_init is the initial temperature of the quantum +thermal bath and the system before shock loading. +

    +

    For all pressure styles, the simulation box stays orthorhombic in shape. Parrinello-Rahman boundary conditions (tilted box) are -supported by LAMMPS, but are not implemented for QBMSST.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    Because the state of the random number generator is not written to -binary restart files, this fix cannot be restarted -“exactly” in an uninterrupted fashion. However, in a statistical +supported by LAMMPS, but are not implemented for QBMSST. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    Because the state of the random number generator is not written to +binary restart files, this fix cannot be restarted +"exactly" in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for q, mu, damp, f_max, -N_f, eta, and beta and set tscale = 0 if the system is -compressed during the first run.

    -

    The progress of the QBMSST can be monitored by printing the global +should write explicitly the same value for q, mu, damp, f_max, +N_f, eta, and beta and set tscale = 0 if the system is +compressed during the first run. +

    +

    The progress of the QBMSST can be monitored by printing the global scalar and global vector quantities computed by the fix. The global -vector contains five values in this order:

    -

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position, -quantum_temperature]

    -
      -
    1. dhugoniot is the departure from the Hugoniot (temperature units).
    2. -
    3. drayleigh is the departure from the Rayleigh line (pressure units).
    4. -
    5. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).
    6. -
    7. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front.
    8. -
    9. quantum_temperature is the temperature of the quantum thermal bath <i>T</i><sup>qm</sup>.
    10. -
    -

    To print these quantities to the log file with descriptive column +vector contains five values in this order: +

    +

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position, +quantum_temperature] +

    +
    1. dhugoniot is the departure from the Hugoniot (temperature units). +
    2. drayleigh is the departure from the Rayleigh line (pressure units). +
    3. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +
    4. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. +
    5. quantum_temperature is the temperature of the quantum thermal bath Tqm. +
    +

    To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested. Here the -fix_modify energy command is also enabled to allow -the thermo keyword etotal to print the quantity <i>etot</i>. See -also the thermo_style command.

    -
    fix          fix_id all msst z
    -fix_modify   fix_id energy yes
    -variable     dhug    equal f_fix_id[1]
    -variable     dray    equal f_fix_id[2]
    -variable     lgr_vel equal f_fix_id[3]
    -variable     lgr_pos equal f_fix_id[4]
    -variable     T_qm    equal f_fix_id[5]
    -thermo_style custom  step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id
    -
    -
    -

    The global scalar under the entry f_fix_id is the quantity of thermo -energy as an extra part of <i>etot</i>. This global scalar and the -vector of 5 quantities can be accessed by various output commands. It is worth noting that the -temp keyword under the thermo_style command print -the instantaneous classical temperature <i>T</i><sup>cl</sup> as -described in the command fix qtb.

    -
    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    All cell dimensions must be periodic. This fix can not be used with a +fix_modify energy command is also enabled to allow +the thermo keyword etotal to print the quantity etot. See +also the thermo_style command. +

    +
    fix		fix_id all msst z 
    +fix_modify	fix_id energy yes
    +variable	dhug	equal f_fix_id[1]
    +variable	dray	equal f_fix_id[2]
    +variable	lgr_vel	equal f_fix_id[3]
    +variable	lgr_pos	equal f_fix_id[4]
    +variable	T_qm	equal f_fix_id[5]
    +thermo_style	custom	step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id 
    +
    +

    The global scalar under the entry f_fix_id is the quantity of thermo +energy as an extra part of etot. This global scalar and the +vector of 5 quantities can be accessed by various output +commands. It is worth noting that the +temp keyword under the thermo_style command print +the instantaneous classical temperature Tcl as +described in the command fix qtb. +

    +
    + +

    Restrictions: +

    +

    This fix style is part of the USER-QTB package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID -all.

    -
    -
    - -
    -
    -

    Default¶

    -

    The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed +all. +

    +
    + +

    Related commands: +

    +

    fix qtb, fix msst +

    +
    + +

    Default: +

    +

    The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed = 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and -T_init=300.0. e0, p0, and v0 are calculated on the first step.

    -
    -

    (Goldman) Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009)

    -

    (Qi) Qi and Reed, J. Phys. Chem. A 116, 10451 (2012).

    -
    -
    +T_init=300.0. e0, p0, and v0 are calculated on the first step. +

    +
    + -
    -
    -
    - +

    (Goldman) Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009) +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Qi) Qi and Reed, J. Phys. Chem. A 116, 10451 (2012). +

    + diff --git a/doc/fix_qeq.html b/doc/fix_qeq.html index 4761fe00ab..e4abfa5316 100644 --- a/doc/fix_qeq.html +++ b/doc/fix_qeq.html @@ -1,370 +1,209 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qeq/point command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qeq/point command¶

    -
    -
    -

    fix qeq/shielded command¶

    -
    -
    -

    fix qeq/slater command¶

    -
    -
    -

    fix qeq/dynamic command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style Nevery cutoff tolerance maxiter qfile
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = qeq/point or qeq/shielded or qeq/slater or qeq/dynamic
    • -
    • Nevery = perform charge equilibration every this many steps
    • -
    • cutoff = global cutoff for charge-charge interactions (distance unit)
    • -
    • tolerance = precision to which charges will be equilibrated
    • -
    • maxiter = maximum iterations to perform charge equilibration
    • -
    • qfile = a filename with QEq parameters
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
    +
    +
    +
    + +

    fix qeq/point command +

    +

    fix qeq/shielded command +

    +

    fix qeq/slater command +

    +

    fix qeq/dynamic command +

    +

    Syntax: +

    +
    fix ID group-ID style Nevery cutoff tolerance maxiter qfile 
    +
    +
    • ID, group-ID are documented in fix command +
    • style = qeq/point or qeq/shielded or qeq/slater or qeq/dynamic +
    • Nevery = perform charge equilibration every this many steps +
    • cutoff = global cutoff for charge-charge interactions (distance unit) +
    • tolerance = precision to which charges will be equilibrated +
    • maxiter = maximum iterations to perform charge equilibration +
    • qfile = a filename with QEq parameters +
    +

    Examples: +

    +
    fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
     fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2
     fix 1 all qeq/slater 5 10 1.0e-6 100 params
    -fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq
    -
    -
    -
    -
    -

    Description¶

    -

    Perform the charge equilibration (QEq) method as described in (Rappe and Goddard) and formulated in (Nakano) (also known -as the matrix inversion method) and in (Rick and Stuart) (also +fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq + +

    Description: +

    +

    Perform the charge equilibration (QEq) method as described in (Rappe +and Goddard) and formulated in (Nakano) (also known +as the matrix inversion method) and in (Rick and Stuart) (also known as the extended Lagrangian method) based on the -electronegativity equilization principle.

    -

    These fixes can be used with any pair style in +electronegativity equilization principle. +

    +

    These fixes can be used with any pair style in LAMMPS, so long as per-atom charges are defined. The most typical -use-case is in conjunction with a pair style that +use-case is in conjunction with a pair style that performs charge equilibration periodically (e.g. every timestep), such as the ReaxFF or Streitz-Mintmire potential (the latter is not yet implemented in LAMMPS). But these fixes can also be used with potentials that normally assume per-atom charges are fixed, e.g. a -Buckingham or LJ/Coulombic potential.

    -

    Because the charge equilibration calculation is effectively +Buckingham or LJ/Coulombic potential. +

    +

    Because the charge equilibration calculation is effectively independent of the pair style, these fixes can also be used to perform a one-time assignment of charges to atoms. For example, you could -define the QEq fix, perform a zero-timestep run via the run +define the QEq fix, perform a zero-timestep run via the run command without any pair style defined which would set per-atom charges (based on the current atom configuration), then remove the fix -via the unfix command before performing further dynamics.

    -
    -

    Warning

    -

    Computing and using charge values different from +via the unfix command before performing further dynamics. +

    +

    IMPORTANT NOTE: Computing and using charge values different from published values defined for a fixed-charge potential like Buckingham or CHARMM or AMBER, can have a strong effect on energies and forces, -and produces a different model than the published versions.

    -
    -
    -

    Warning

    -

    The fix qeq/comb command must -still be used to perform charge equliibration with the COMB potential. The fix qeq/reax -command can be used to perform charge equilibration with the ReaxFF force field, although fix qeq/shielded yields the -same results as fix qeq/reax if Nevery, cutoff, and tolerance are -the same. Eventually the fix qeq/reax command will be deprecated.

    -
    -

    The QEq method minimizes the electrostatic energy of the system (or +and produces a different model than the published versions. +

    +

    IMPORTANT NOTE: The fix qeq/comb command must +still be used to perform charge equliibration with the COMB +potential. The fix qeq/reax +command can be used to perform charge equilibration with the ReaxFF +force field, although fix qeq/shielded yields the +same results as fix qeq/reax if Nevery, cutoff, and tolerance are +the same. Eventually the fix qeq/reax command will be deprecated. +

    +

    The QEq method minimizes the electrostatic energy of the system (or equalizes the derivative of energy with respect to charge of all the atoms) by adjusting the partial charge on individual atoms based on -interactions with their neighbors within cutoff. It reqires a few -parameters, in metal units, for each atom type which provided in a -file specified by qfile. The file has the following format

    -
    1 chi eta gamma zeta qcore
    +interactions with their neighbors within cutoff.  It reqires a few
    +parameters, in metal units, for each atom type which provided in a 
    +file specified by qfile.  The file has the following format
    +

    +
    1 chi eta gamma zeta qcore
     2 chi eta gamma zeta qcore
     ...
    -Ntype chi eta gamma zeta qcore
    -
    -
    -

    There is one line per atom type with the following parameters. +Ntype chi eta gamma zeta qcore + +

    There is one line per atom type with the following parameters. Only a subset of the parameters is used by each QEq style as descibed -below, thus the others can be set to 0.0 if desired.

    -
      -
    • chi = electronegativity in energy units
    • -
    • eta = self-Coulomb potential in energy units
    • -
    • gamma = shielded Coulomb constant defined by ReaxFF force field in distance units
    • -
    • zeta = Slater type orbital exponent defined by the Streitz-Mintmire potential in reverse distance units
    • -
    • qcore = charge of the nucleus defined by the Streitz-Mintmire potential potential in charge units
    • -
    -

    The qeq/point style describes partial charges on atoms as point +below, thus the others can be set to 0.0 if desired. +

    +
    • chi = electronegativity in energy units +
    • eta = self-Coulomb potential in energy units +
    • gamma = shielded Coulomb constant defined by ReaxFF force field in distance units +
    • zeta = Slater type orbital exponent defined by the Streitz-Mintmire potential in reverse distance units +
    • qcore = charge of the nucleus defined by the Streitz-Mintmire potential potential in charge units +
    +

    The qeq/point style describes partial charges on atoms as point charges. Interaction between a pair of charged particles is 1/r, which is the simplest description of the interaction between charges. -Only the chi and eta parameters from the qfile file are used. +Only the chi and eta parameters from the qfile file are used. Note that Coulomb catastrophe can occur if repulsion between the pair of charged particles is too weak. This style solves partial charges on atoms via the matrix inversion method. A tolerance of 1.0e-6 is -usually a good number.

    -

    The qeq/shielded style describes partial charges on atoms also as +usually a good number. +

    +

    The qeq/shielded style describes partial charges on atoms also as point charges, but uses a shielded Coulomb potential to describe the interaction between a pair of charged particles. Interaction through -the shielded Coulomb is given by equation (13) of the ReaxFF force field paper. The shielding accounts for charge overlap +the shielded Coulomb is given by equation (13) of the ReaxFF force +field paper. The shielding accounts for charge overlap between charged particles at small separation. This style is the same -as fix qeq/reax, and can be used with pair_style reax/c. Only the chi, eta, and gamma -parameters from the qfile file are used. This style solves partial +as fix qeq/reax, and can be used with pair_style +reax/c. Only the chi, eta, and gamma +parameters from the qfile file are used. This style solves partial charges on atoms via the matrix inversion method. A tolerance of -1.0e-6 is usually a good number.

    -

    The qeq/slater style describes partial charges on atoms as spherical -charge densities centered around atoms via the Slater 1*s* orbital, so +1.0e-6 is usually a good number. +

    +

    The qeq/slater style describes partial charges on atoms as spherical +charge densities centered around atoms via the Slater 1s orbital, so that the interaction between a pair of charged particles is the -product of two Slater 1*s* orbitals. The expression for the Slater -1*s* orbital is given under equation (6) of the -Streitz-Mintmire paper. Only the chi, eta, zeta, and -qcore parameters from the qfile file are used. This style solves +product of two Slater 1s orbitals. The expression for the Slater +1s orbital is given under equation (6) of the +Streitz-Mintmire paper. Only the chi, eta, zeta, and +qcore parameters from the qfile file are used. This style solves partial charges on atoms via the matrix inversion method. A tolerance -of 1.0e-6 is usually a good number.

    -

    The qeq/dynamic style describes partial charges on atoms as point +of 1.0e-6 is usually a good number. +

    +

    The qeq/dynamic style describes partial charges on atoms as point charges that interact through 1/r, but the extended Lagrangian method -is used to solve partial charges on atoms. Only the chi and eta -parameters from the qfile file are used. Note that Coulomb +is used to solve partial charges on atoms. Only the chi and eta +parameters from the qfile file are used. Note that Coulomb catastrophe can occur if repulsion between the pair of charged particles is too weak. A tolerance of 1.0e-3 is usually a good -number.

    -

    Note that qeq/point, qeq/shielded, and qeq/slater describe +number. +

    +

    Note that qeq/point, qeq/shielded, and qeq/slater describe different charge models, whereas the matrix inversion method and the -extended Lagrangian method (qeq/dynamic) are different solvers.

    -

    Note that the qeq/point and the qeq/dynamic styles both describe +extended Lagrangian method (qeq/dynamic) are different solvers. +

    +

    Note that the qeq/point and the qeq/dynamic styles both describe charges as point charges that interact through 1/r relationship, but solve partial charges on atoms using different solvers. Styles -qeq/point and the qeq/dynamic should yield comparable results if -the QEq parameters and Nevery, cutoff, and tolerance are the -same. Style qeq/point is typically faster, but qeq/dynamic scales -better on larger sizes.

    -
    -

    Warning

    -

    To avoid the evaluation of the derivative of charge +qeq/point and the qeq/dynamic should yield comparable results if +the QEq parameters and Nevery, cutoff, and tolerance are the +same. Style qeq/point is typically faster, but qeq/dynamic scales +better on larger sizes. +

    +

    IMPORTANT NOTE: To avoid the evaluation of the derivative of charge with respect to position, which is typically ill-defined, the system -should have a zero net charge.

    -
    -
    -

    Warning

    -

    Developing QEq parameters (chi, eta, gamma, zeta, and -qcore) is an “art”. Charges on atoms are not guaranteed to +should have a zero net charge. +

    +

    IMPORTANT NOTE: Developing QEq parameters (chi, eta, gamma, zeta, and +qcore) is an "art". Charges on atoms are not guaranteed to equilibrate with arbitrary choices of these parameters. We do not develop these QEq paramters. See the examples/qeq directory for some -examples.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about these fixes is written to binary restart files. No global scalar or vector or per-atom -quantities are stored by these fixes for access by various output commands. No parameter of these fixes -can be used with the start/stop keywords of the run -command.

    -

    Thexe fixes are invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    These fixes are part of the QEQ package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +examples. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about these fixes is written to binary restart +files. No global scalar or vector or per-atom +quantities are stored by these fixes for access by various output +commands. No parameter of these fixes +can be used with the start/stop keywords of the run +command. +

    +

    Thexe fixes are invoked during energy minimization. +

    +

    Restrictions: +

    +

    These fixes are part of the QEQ package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix qeq/reax, fix qeq/comb +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Rappe and Goddard) A. K. Rappe and W. A. Goddard III, J Physical +Chemistry, 95, 3358-3363 (1991). +

    + -
    +

    (Nakano) A. Nakano, Computer Physics Communications, 104, 59-69 (1997). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Rick and Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics +101, 16141 (1994). +

    + -
    +

    (Streitz-Mintmire) F. H. Streitz, J. W. Mintmire, Physical Review B, 50, +16, 11996 (1994) +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (ReaxFF) A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J +Physical Chemistry, 105, 9396-9049 (2001) +

    + diff --git a/doc/fix_qeq_comb.html b/doc/fix_qeq_comb.html index 61f509b833..4ae321f0f2 100644 --- a/doc/fix_qeq_comb.html +++ b/doc/fix_qeq_comb.html @@ -1,296 +1,145 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qeq/comb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qeq/comb command¶

    -
    -
    -

    fix qeq/comb/omp command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID qeq/comb Nevery precision keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • qeq/comb = style name of this fix command
    • -
    • Nevery = perform charge equilibration every this many steps
    • -
    • precision = convergence criterion for charge equilibration
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = file
    • -
    -
    -file value = filename
    -    filename = name of file to write QEQ equilibration info to
    -
    -
    -
    -

    Examples¶

    -
    fix 1 surface qeq/comb 10 0.0001
    -
    -
    -
    -
    -

    Description¶

    -

    Perform charge equilibration (QeQ) in conjunction with the COMB + + +


    + +

    fix qeq/comb command +

    +

    fix qeq/comb/omp command +

    +

    Syntax: +

    +
    fix ID group-ID qeq/comb Nevery precision keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • qeq/comb = style name of this fix command + +
    • Nevery = perform charge equilibration every this many steps + +
    • precision = convergence criterion for charge equilibration + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = file + +
        file value = filename
      +    filename = name of file to write QEQ equilibration info to 
      +
      + +
    +

    Examples: +

    +
    fix 1 surface qeq/comb 10 0.0001 
    +
    +

    Description: +

    +

    Perform charge equilibration (QeQ) in conjunction with the COMB (Charge-Optimized Many-Body) potential as described in -(COMB_1) and (COMB_2). It performs the charge +(COMB_1) and (COMB_2). It performs the charge equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB -potential; see the fix qeq/reax command for a QeQ -calculation that can be used with any potential.

    -

    Only charges on the atoms in the specified group are equilibrated. +potential; see the fix qeq/reax command for a QeQ +calculation that can be used with any potential. +

    +

    Only charges on the atoms in the specified group are equilibrated. The fix relies on the pair style (COMB in this case) to calculate the per-atom electronegativity (effective force on the charges). An electronegativity equalization calculation (or QEq) is performed in an interative fashion, which in parallel requires communication at each iteration for processors to exchange charge information about nearby -atoms with each other. See Rappe_and_Goddard and -Rick_and_Stuart for details.

    -

    During a run, charge equilibration is peformed every Nevery time +atoms with each other. See Rappe_and_Goddard and +Rick_and_Stuart for details. +

    +

    During a run, charge equilibration is peformed every Nevery time steps. Charge equilibration is also always enforced on the first step -of each run. The precision argument controls the tolerance for the +of each run. The precision argument controls the tolerance for the difference in electronegativity for all atoms during charge -equilibration. Precision is a trade-off between the cost of -performing charge equilibration (more iterations) and accuracy.

    -

    If the file keyword is used, then information about each -equilibration calculation is written to the specifed file.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +equilibration. Precision is a trade-off between the cost of +performing charge equilibration (more iterations) and accuracy. +

    +

    If the file keyword is used, then information about each +equilibration calculation is written to the specifed file. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix produces a per-atom vector which can be accessed by various -output commands. The vector stores the +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix produces a per-atom vector which can be accessed by various +output commands. The vector stores the gradient of the charge on each atom. The per-atom values be accessed -on any timestep.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    This fix can be invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix command currently only supports pair style *comb*.

    -
    - -
    -

    Default¶

    -

    No file output is performed.

    -
    -

    (COMB_1) J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),

    -

    (COMB_2) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. -Phillpot, Phys Rev B, 81, 125328 (2010).

    -

    (Rappe_and_Goddard) A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 -(1991).

    -

    (Rick_and_Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys -101, 16141 (1994).

    -
    -
    +on any timestep. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    This fix can be invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix command currently only supports pair style comb. +

    +

    Related commands: +

    +

    pair_style comb +

    +

    Default: +

    +

    No file output is performed. +

    +
    + -
    -
    -
    - +

    (COMB_1) J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), +

    + -
    +

    (COMB_2) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. +Phillpot, Phys Rev B, 81, 125328 (2010). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Rappe_and_Goddard) A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 +(1991). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Rick_and_Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys +101, 16141 (1994). +

    + diff --git a/doc/fix_qeq_reax.html b/doc/fix_qeq_reax.html index 1d682db2d8..79f8340d5c 100644 --- a/doc/fix_qeq_reax.html +++ b/doc/fix_qeq_reax.html @@ -1,271 +1,106 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qeq/reax command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qeq/reax command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • qeq/reax = style name of this fix command
    • -
    • Nevery = perform QEq every this many steps
    • -
    • cutlo,cuthi = lo and hi cutoff for Taper radius
    • -
    • tolerance = precision to which charges will be equilibrated
    • -
    • params = reax/c or a filename
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
    -fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq
    -
    -
    -
    -
    -

    Description¶

    -

    Perform the charge equilibration (QEq) method as described in (Rappe and Goddard) and formulated in (Nakano). It is + + +


    + +

    fix qeq/reax command +

    +

    Syntax: +

    +
    fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params 
    +
    +
    • ID, group-ID are documented in fix command +
    • qeq/reax = style name of this fix command +
    • Nevery = perform QEq every this many steps +
    • cutlo,cuthi = lo and hi cutoff for Taper radius +
    • tolerance = precision to which charges will be equilibrated +
    • params = reax/c or a filename +
    +

    Examples: +

    +
    fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
    +fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq 
    +
    +

    Description: +

    +

    Perform the charge equilibration (QEq) method as described in (Rappe +and Goddard) and formulated in (Nakano). It is typically used in conjunction with the ReaxFF force field model as -implemented in the pair_style reax/c command, but +implemented in the pair_style reax/c command, but it can be used with any potential in LAMMPS, so long as it defines and -uses charges on each atom. The fix qeq/comb -command should be used to perform charge equliibration with the COMB potential. For more technical details about the +uses charges on each atom. The fix qeq/comb +command should be used to perform charge equliibration with the COMB +potential. For more technical details about the charge equilibration performed by fix qeq/reax, see the -(Aktulga) paper.

    -

    The QEq method minimizes the electrostatic energy of the system by +(Aktulga) paper. +

    +

    The QEq method minimizes the electrostatic energy of the system by adjusting the partial charge on individual atoms based on interactions with their neighbors. It reqires some parameters for each atom type. -If the params setting above is the word “reax/c”, then these are -extracted from the pair_style reax/c command and +If the params setting above is the word "reax/c", then these are +extracted from the pair_style reax/c command and the ReaxFF force field file it reads in. If a file name is specified -for params, then the parameters are taken from the specified file +for params, then the parameters are taken from the specified file and the file must contain one line for each atom type. The latter form must be used when performing QeQ with a non-ReaxFF potential. -Each line should be formatted as follows:

    -
    itype chi eta gamma
    -
    -
    -

    where itype is the atom type from 1 to Ntypes, chi denotes the -electronegativity in eV, eta denotes the self-Coulomb -potential in eV, and gamma denotes the valence orbital +Each line should be formatted as follows: +

    +
    itype chi eta gamma 
    +
    +

    where itype is the atom type from 1 to Ntypes, chi denotes the +electronegativity in eV, eta denotes the self-Coulomb +potential in eV, and gamma denotes the valence orbital exponent. Note that these 3 quantities are also in the ReaxFF potential file, except that eta is defined here as twice the eta value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units -of this fix are hard-coded to be A, eV, and electronic charge.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    This fix is invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-REAXC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This fix does not correctly handle interactions +of this fix are hard-coded to be A, eV, and electronic charge. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. No global scalar or vector or per-atom +quantities are stored by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    This fix is invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-REAXC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix does not correctly handle interactions involving multiple periodic images of the same atom. Hence, it should not -be used for periodic cell dimensions less than 10 angstroms.

    -
    - -
    +be used for periodic cell dimensions less than 10 angstroms. +

    +

    Related commands: +

    +

    pair_style reax/c +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Rappe) Rappe and Goddard III, Journal of Physical Chemistry, 95, +3358-3363 (1991). +

    + -
    +

    (Nakano) Nakano, Computer Physics Communications, 104, 59-69 (1997). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, +245-259 (2012). +

    + diff --git a/doc/fix_qmmm.html b/doc/fix_qmmm.html index 42049ab801..d10da4e27c 100644 --- a/doc/fix_qmmm.html +++ b/doc/fix_qmmm.html @@ -1,243 +1,71 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qmmm command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qmmm command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID qmmm
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • qmmm = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -

    fix 1 qmol qmmm

    -
    -
    -

    Description¶

    -

    This fix provides functionality to enable a quantum + + +


    + +

    fix qmmm command +

    +

    Syntax: +

    +
    fix ID group-ID qmmm  
    +
    +
    • ID, group-ID are documented in fix command +
    • qmmm = style name of this fix command +
    +

    Examples: +

    +

    fix 1 qmol qmmm +

    +

    Description: +

    +

    This fix provides functionality to enable a quantum mechanics/molecular mechanice (QM/MM) coupling of LAMMPS to a quantum mechanical code. The current implementation only supports an ONIOM -style mechanical coupling to the Quantum ESPRESSO plane +style mechanical coupling to the Quantum ESPRESSO plane wave DFT package. Electrostatic coupling is in preparation and the interface has been written in a manner that coupling to other QM codes -should be possible without changes to LAMMPS itself.

    -

    The interface code for this is in the lib/qmmm directory of the LAMMPS +should be possible without changes to LAMMPS itself. +

    + + +

    The interface code for this is in the lib/qmmm directory of the LAMMPS distribution and is being made available at this early stage of development in order to encourage contributions for interfaces to other QM codes. This will allow the LAMMPS side of the implementation -to be adapted if necessary before being finalized.

    -

    Details about how to use this fix are currently documented in the -description of the QM/MM interface code itself in lib/qmmm/README.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +to be adapted if necessary before being finalized. +

    +

    Details about how to use this fix are currently documented in the +description of the QM/MM interface code itself in lib/qmmm/README. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-QMMM package. It is only enabled if +quantities are stored by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a -library provided with LAMMPS. See the Making LAMMPS section for more info.

    -

    The fix is only functional when LAMMPS is built as a library and +library provided with LAMMPS. See the Making +LAMMPS section for more info. +

    +

    The fix is only functional when LAMMPS is built as a library and linked with a compatible QM program and a QM/MM frontend into a QM/MM -executable. See the lib/qmmm/README file for details.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +executable. See the lib/qmmm/README file for details. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/fix_qtb.html b/doc/fix_qtb.html index f6fb026583..45333c0bc2 100644 --- a/doc/fix_qtb.html +++ b/doc/fix_qtb.html @@ -1,342 +1,194 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix qtb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix qtb command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID qtb keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • qtb = style name of this fix
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = temp or damp or seed or f_max or N_f
    • -
    -
    -temp value = target quantum temperature (temperature units)
    -  damp value = damping parameter (time units) inverse of friction <i>&gamma</i>;
    -  seed value = random number seed (positive integer)
    -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    -  N_f value = number of frequency bins (positive integer)
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve
    +
    +
    +
    + +

    fix qtb command +

    +

    Syntax: +

    +
    fix ID group-ID qtb keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • qtb = style name of this fix + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = temp or damp or seed or f_max or N_f + +
        temp value = target quantum temperature (temperature units)
      +  damp value = damping parameter (time units) inverse of friction &gamma;
      +  seed value = random number seed (positive integer)
      +  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)  
      +  N_f value = number of frequency bins (positive integer) 
      +
      + +
    +

    Examples: +

    +
    fix 1 all nve
     fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units)
     fix 2 all nph iso 1.01325 1.01325 1
    -fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units)
    -
    -
    -
    -
    -

    Description¶

    -

    This command performs the quantum thermal bath scheme proposed by -(Dammak) to include self-consistent quantum nuclear effects, -when used in conjunction with the fix nve or fix nph commands.

    -

    Classical molecular dynamics simulation does not include any quantum +fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) + +

    Description: +

    +

    This command performs the quantum thermal bath scheme proposed by +(Dammak) to include self-consistent quantum nuclear effects, +when used in conjunction with the fix nve or fix +nph commands. +

    +

    Classical molecular dynamics simulation does not include any quantum nuclear effect. Quantum treatment of the vibrational modes will introduce zero point energy into the system, alter the energy power spectrum and bias the heat capacity from the classical limit. Missing all the quantum nuclear effects, classical MD cannot model systems at temperatures lower than their classical limits. This effect is especially important for materials with a large population of hydrogen -atoms and thus higher classical limits.

    -

    The equation of motion implemented by this command follows a Langevin -form:

    +atoms and thus higher classical limits. +

    +

    The equation of motion implemented by this command follows a Langevin +form: +

    miai = fi + Ri - -miγvi.

    Here <i>m<sub>i</sub></i>, <i>a<sub>i</sub></i>, <i>f<sub>i</sub> -</i>, <i>R<sub>i</sub></i>, <i>&gamma;</i> and <i>v<sub>i</sub> </i> +miγvi. + +

    Here mi, ai, fi +, Ri, γ and vi represent mass, acceleration, force exerted by all other atoms, random force, frictional coefficient (the inverse of damping parameter damp), -and velocity. The random force <i>R<sub>i</sub></i> is “colored” so -that any vibrational mode with frequency <i>&omega;</i> will have a -temperature-sensitive energy <i>&theta;</i>(<i>&omega;,T</i>) which +and velocity. The random force Ri is "colored" so +that any vibrational mode with frequency ω will have a +temperature-sensitive energy θ(ω,T) which resembles the energy expectation for a quantum harmonic oscillator -with the same natural frequency:

    +with the same natural frequency: +

    θ(ω,T) = ℏω/2 + ℏω[exp(ℏω/kBT)-1]-1 -

    To efficiently generate the random forces, we employ the method -of (Barrat), that circumvents the need to generate all -random forces for all times before the simulation. The memory -requirement of this approach is less demanding and independent -of the simulation duration. Since the total random force <i>R</i><sub>tot</sub> -does not necessarily vanish for a finite number of atoms, -<i>R<sub>i</sub></i> is replaced by <i>R<sub>i</sub></i> - <i>R</i><sub>tot</sub>/<i>N</i><sub>tot</sub> -to avoid collective motion of the system.

    -

    The temp parameter sets the target quantum temperature. LAMMPS will + + +

    To efficiently generate the random forces, we employ the method +of (Barrat), that circumvents the need to generate all +random forces for all times before the simulation. The memory +requirement of this approach is less demanding and independent +of the simulation duration. Since the total random force Rtot +does not necessarily vanish for a finite number of atoms, +Ri is replaced by Ri - Rtot/Ntot +to avoid collective motion of the system. +

    +

    The temp parameter sets the target quantum temperature. LAMMPS will still have an output temperature in its thermo style. That is the -instantaneous classical temperature <i>T</i><sup>cl</sup> derived from +instantaneous classical temperature Tcl derived from the atom velocities at thermal equilibrium. A non-zero -<i>T</i><sup>cl</sup> will be present even when the quantum +Tcl will be present even when the quantum temperature approaches zero. This is associated with zero-point energy -at low temperatures.

    +at low temperatures. +

    Tcl = ∑ mivi2/3NkB -

    The damp parameter is specified in time units, and it equals the -inverse of the frictional coefficient <i>&gamma;</i>. <i>&gamma;</i> + + +

    The damp parameter is specified in time units, and it equals the +inverse of the frictional coefficient γ. γ should be as small as possible but slightly larger than the timescale of anharmonic coupling in the system which is about 10 ps to 100 -ps. When <i>&gamma;</i> is too large, it gives an energy spectrum that -differs from the desired Bose-Einstein spectrum. When <i>&gamma;</i> +ps. When γ is too large, it gives an energy spectrum that +differs from the desired Bose-Einstein spectrum. When γ is too small, the quantum thermal bath coupling to the system will be less significant than anharmonic effects, reducing to a classical -limit. We find that setting <i>&gamma;</i> between 5 THz and 1 THz -could be appropriate depending on the system.

    -

    The random number seed is a positive integer used to initiate a +limit. We find that setting γ between 5 THz and 1 THz +could be appropriate depending on the system. +

    +

    The random number seed is a positive integer used to initiate a Marsaglia random number generator. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors.

    -

    The f_max parameter truncate the noise frequency domain so that -vibrational modes with frequencies higher than f_max will not be -modulated. If we denote &Delta;<i>t</i> as the time interval for the -MD integration, f_max is always reset by the code to make -<i>&alpha;</i> = (int)(2*f_max*&Delta;<i>t</i>)<sup><i>-1</i></sup> a +runs on different numbers of processors. +

    +

    The f_max parameter truncate the noise frequency domain so that +vibrational modes with frequencies higher than f_max will not be +modulated. If we denote Δt as the time interval for the +MD integration, f_max is always reset by the code to make +α = (int)(2f_maxΔt)-1 a positive integer and print out relative information. An appropriate -value for the cutoff frequency f_max would be around 2~3 -<i>f</i><sub>D</sub>, where <i>f</i><sub>D</sub> is the Debye -frequency.

    -

    The N_f parameter is the frequency grid size, the number of points -from 0 to f_max in the frequency domain that will be -sampled. <i>3&times;2</i> N_f per-atom random numbers are required +value for the cutoff frequency f_max would be around 2~3 +fD, where fD is the Debye +frequency. +

    +

    The N_f parameter is the frequency grid size, the number of points +from 0 to f_max in the frequency domain that will be +sampled. 3×2 N_f per-atom random numbers are required in the random force generation and there could be as many atoms as in the whole simulation that can migrate into every individual -processor. A larger N_f provides a more accurate sampling of the -spectrum while consumes more memory. With fixed f_max and -<i>&gamma;</i>, N_f should be big enough to converge the classical -temperature <i>T</i><sup>cl</sup> as a function of target quantum bath +processor. A larger N_f provides a more accurate sampling of the +spectrum while consumes more memory. With fixed f_max and +γ, N_f should be big enough to converge the classical +temperature Tcl as a function of target quantum bath temperature. Memory usage per processor could be from 10 to 100 -Mbytes.

    -
    -

    Warning

    -

    Unlike the fix nvt command which +Mbytes. +

    +

    IMPORTANT NOTE: Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to a colored thermostat. Thus you must use a separate time integration fix, -like fix nve or fix nph to actually +like fix nve or fix nph to actually update the velocities and positions of atoms (as shown in the examples). Likewise, this fix should not normally be used with other -fixes or commands that also specify system temperatures , e.g. fix nvt and fix temp/rescale.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimizie info:

    -

    No information about this fix is written to binary restart files. Because the state of the random number generator -is not saved in restart files, this means you cannot do “exact” +fixes or commands that also specify system temperatures , e.g. fix +nvt and fix temp/rescale. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimizie info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" restarts with this fix. However, in a statistical sense, a restarted -simulation should produce similar behaviors of the system.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    -
    - -
    -
    -

    Default¶

    -

    The keyword defaults are temp = 300, damp = 1, seed = 880302, -f_max=200.0 and N_f = 100.

    -
    -

    (Dammak) Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev -Lett, 103, 190601 (2009).

    -

    (Barrat) Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).

    -
    -
    +simulation should produce similar behaviors of the system. +

    +

    This fix is not invoked during energy minimization. +

    +
    +

    Restrictions: +

    +

    This fix style is part of the USER-QTB package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +
    -
    -
    - +

    (Dammak) Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev +Lett, 103, 190601 (2009). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Barrat) Barrat and Rodney, J. Stat. Phys, 144, 679 (2011). +

    + diff --git a/doc/fix_reax_bonds.html b/doc/fix_reax_bonds.html index 1f41ec40b9..dd25932e9c 100644 --- a/doc/fix_reax_bonds.html +++ b/doc/fix_reax_bonds.html @@ -1,249 +1,73 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix reax/bonds command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix reax/bonds command¶

    -
    -
    -

    fix reax/c/bonds command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID reax/bonds Nevery filename
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • reax/bonds = style name of this fix command
    • -
    • Nevery = output interval in timesteps
    • -
    • filename = name of output file
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all reax/bonds 100 bonds.tatb
    -fix 1 all reax/c/bonds 100 bonds.reaxc
    -
    -
    -
    -
    -

    Description¶

    -

    Write out the bond information computed by the ReaxFF potential -specified by pair_style reax or pair_style reax/c in the exact same format as the original + + +


    + +

    fix reax/bonds command +

    +

    fix reax/c/bonds command +

    +

    Syntax: +

    +
    fix ID group-ID reax/bonds Nevery filename 
    +
    +
    • ID, group-ID are documented in fix command +
    • reax/bonds = style name of this fix command +
    • Nevery = output interval in timesteps +
    • filename = name of output file +
    +

    Examples: +

    +
    fix 1 all reax/bonds 100 bonds.tatb
    +fix 1 all reax/c/bonds 100 bonds.reaxc 
    +
    +

    Description: +

    +

    Write out the bond information computed by the ReaxFF potential +specified by pair_style reax or pair_style +reax/c in the exact same format as the original stand-alone ReaxFF code of Adri van Duin. The bond information is -written to filename on timesteps that are multiples of Nevery, +written to filename on timesteps that are multiples of Nevery, including timestep 0. For time-averaged chemical species analysis, -please see the fix species command.

    -

    The format of the output file should be self-explantory.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +please see the fix species command. +

    +

    The format of the output file should be self-explantory. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    The fix reax/bonds command requires that the pair_style reax be invoked. This fix is part of the REAX +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    The fix reax/bonds command requires that the pair_style +reax be invoked. This fix is part of the REAX package. It is only enabled if LAMMPS was built with that package, which also requires the REAX library be built and linked with LAMMPS. -The fix reax/c/bonds command requires that the pair_style reax/c be invoked. This fix is part of the +The fix reax/c/bonds command requires that the pair_style +reax/c be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the Making LAMMPS section -for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +package. See the Making LAMMPS section +for more info. +

    +

    Related commands: +

    +

    pair_style reax, pair_style +reax/c, fix reax/c/species +

    +

    Default: none +

    + diff --git a/doc/fix_reaxc_species.html b/doc/fix_reaxc_species.html index 77f008c2df..a507564a2d 100644 --- a/doc/fix_reaxc_species.html +++ b/doc/fix_reaxc_species.html @@ -1,193 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix reax/c/species command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix reax/c/species command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • reax/c/species = style name of this command
    • -
    • Nevery = sample bond-order every this many timesteps
    • -
    • Nrepeat = # of bond-order samples used for calculating averages
    • -
    • Nfreq = calculate average bond-order every this many timesteps
    • -
    • filename = name of output file
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = cutoff or element or position
    • -
    -
    -cutoff value = I J Cutoff
    +
    +
    +
    + +

    fix reax/c/species command +

    +

    Syntax: +

    +
    fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • reax/c/species = style name of this command + +
    • Nevery = sample bond-order every this many timesteps + +
    • Nrepeat = # of bond-order samples used for calculating averages + +
    • Nfreq = calculate average bond-order every this many timesteps + +
    • filename = name of output file + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = cutoff or element or position + +
        cutoff value = I J Cutoff
           I, J = atom types
           Cutoff = Bond-order cutoff value for this pair of atom types
      -  element value = Element1, Element2, ...
      -  position value = posfreq filepos
      +  element value = Element1, Element2, ... 
      +  position value = posfreq filepos
           posfreq = write position files every this many timestep
      -    filepos = name of position output file
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all reax/c/species 10 10 100 species.out
    +    filepos = name of position output file 
    +
    + + +

    Examples: +

    +
    fix 1 all reax/c/species 10 10 100 species.out
     fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55
    -fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos
    -
    -
    -
    -
    -

    Description¶

    -

    Write out the chemical species information computed by the ReaxFF -potential specified by pair_style reax/c. +fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos + +

    Description: +

    +

    Write out the chemical species information computed by the ReaxFF +potential specified by pair_style reax/c. Bond-order values (either averaged or instantaneous, depending on -value of Nrepeat) are used to determine chemical bonds. Every -Nfreq timesteps, chemical species information is written to -filename as a two line output. The first line is a header +value of Nrepeat) are used to determine chemical bonds. Every +Nfreq timesteps, chemical species information is written to +filename as a two line output. The first line is a header containing labels. The second line consists of the following: timestep, total number of molecules, total number of distinct species, -number of molecules of each species. In this context, “species” means +number of molecules of each species. In this context, "species" means a unique molecule. The chemical formula of each species is given in -the first line.

    -

    Optional keyword cutoff can be assigned to change the minimum +the first line. +

    +

    Optional keyword cutoff can be assigned to change the minimum bond-order values used in identifying chemical bonds between pairs of atoms. Bond-order cutoffs should be carefully chosen, as bond-order cutoffs that are too small may include too many bonds (which will result in an error), while cutoffs that are too large will result in fragmented molecules. The default cutoff of 0.3 usually gives good -results.

    -

    The optional keyword element can be used to specify the chemical +results. +

    +

    The optional keyword element can be used to specify the chemical symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as -specified using the reax/c pair_coeff command and -the ReaxFF force field file.

    -

    The optional keyword position writes center-of-mass positions of -each identified molecules to file filepos every posfreq timesteps. +specified using the reax/c pair_coeff command and +the ReaxFF force field file. +

    +

    The optional keyword position writes center-of-mass positions of +each identified molecules to file filepos every posfreq timesteps. The first line contains information on timestep, total number of molecules, total number of distinct species, and box dimensions. The second line is a header containing labels. From the third line @@ -195,130 +86,80 @@ downward, each molecule writes a line of output containing the following information: molecule ID, number of atoms in this molecule, chemical formula, total charge, and center-of-mass xyz positions of this molecule. The xyz positions are in fractional coordinates -relative to the box dimensions.

    -

    For the keyword position, the filepos is the name of the output -file. It can contain the wildcard character “*”. If the “*” -character appears in filepos, then one file per snapshot is written -at posfreq and the “*” character is replaced with the timestep -value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc.

    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +relative to the box dimensions. +

    +

    For the keyword position, the filepos is the name of the output +file. It can contain the wildcard character "*". If the "*" +character appears in filepos, then one file per snapshot is written +at posfreq and the "*" character is replaced with the timestep +value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc. +

    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order -on timesteps that are a multiple of Nfreq. The average is over -Nrepeat bond-order samples, computed in the preceding portion of the -simulation every Nevery timesteps. Nfreq must be a multiple of -Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, +on timesteps that are a multiple of Nfreq. The average is over +Nrepeat bond-order samples, computed in the preceding portion of the +simulation every Nevery timesteps. Nfreq must be a multiple of +Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps contributing to the average bond-order cannot overlap, -i.e. Nfreq > (Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order +i.e. Nfreq > (Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order values on timesteps 90,92,94,96,98,100 will be used to compute the -average bond-order for the species analysis output on timestep 100.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes both a global vector of length 2 and a per-atom -vector, either of which can be accessed by various output commands. The values in the global -vector are “intensive”.

    -

    The 2 values in the global vector are as follows:

    -
      -
    • 1 = total number of molecules
    • -
    • 2 = total number of distinct species
    • -
    -

    The per-atom vector stores the molecule ID for each atom as identified +average bond-order for the species analysis output on timestep 100. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes both a global vector of length 2 and a per-atom +vector, either of which can be accessed by various output +commands. The values in the global +vector are "intensive". +

    +

    The 2 values in the global vector are as follows: +

    +
    • 1 = total number of molecules +
    • 2 = total number of distinct species +
    +

    The per-atom vector stores the molecule ID for each atom as identified by the fix. If an atom is not in a molecule, its ID will be 0. For atoms in the same molecule, the molecule ID for all of them will be the same and will be equal to the smallest atom ID of -any atom in the molecule.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    The fix species currently only works with -pair_style reax/c and it requires that the pair_style reax/c be invoked. This fix is part of the +any atom in the molecule. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    The fix species currently only works with +pair_style reax/c and it requires that the pair_style +reax/c be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the Making LAMMPS section -for more info.

    -

    It should be possible to extend it to other reactive pair_styles (such as -rebo, airebo, -comb, and bop), but this has not yet been done.

    -
    - -
    -

    Default¶

    -

    The default values for bond-order cutoffs are 0.3 for all I-J pairs. The -default element symbols are C, H, O, N. Position files are not written -by default.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +package. See the Making LAMMPS section +for more info. +

    +

    It should be possible to extend it to other reactive pair_styles (such as +rebo, airebo, +comb, and bop), but this has not yet been done. +

    +

    Related commands: +

    +

    pair_style reax/c, fix +reax/bonds +

    +

    Default: +

    +

    The default values for bond-order cutoffs are 0.3 for all I-J pairs. The +default element symbols are C, H, O, N. Position files are not written +by default. +

    + diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html index 2ec206da59..0213e10742 100644 --- a/doc/fix_recenter.html +++ b/doc/fix_recenter.html @@ -1,308 +1,136 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix recenter command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix recenter command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID recenter x y z keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • recenter = style name of this fix command
    • -
    • x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = shift or units
    • -
    -
    -shift value = group-ID
    +
    +
    +
    + +

    fix recenter command +

    +

    Syntax: +

    +
    fix ID group-ID recenter x y z keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • recenter = style name of this fix command + +
    • x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = shift or units + +
        shift value = group-ID
           group-ID = group of atoms whose coords are shifted
      -  units value = box or lattice or fraction
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all recenter 0.0 0.5 0.0
    +  units value = box or lattice or fraction 
    +
    + + +

    Examples: +

    +
    fix 1 all recenter 0.0 0.5 0.0
     fix 1 all recenter INIT INIT NULL
    -fix 1 all recenter INIT 0.0 0.0 units box
    -
    -
    -
    -
    -

    Description¶

    -

    Constrain the center-of-mass position of a group of atoms by adjusting +fix 1 all recenter INIT 0.0 0.0 units box + +

    Description: +

    +

    Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations -(e.g. fix langevin thermostatting).

    -

    Distance units for the x,y,z values are determined by the setting of -the units keyword, as discussed below. One or more x,y,z values can +(e.g. fix langevin thermostatting). +

    +

    Distance units for the x,y,z values are determined by the setting of +the units keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constrain the center-of-mass to its initial value at the beginning of -the run.

    -

    The center-of-mass (COM) is computed for the group specified by the +the run. +

    +

    The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A -different group can be shifted by using the shift keyword. For +different group can be shifted by using the shift keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) -could be shifted.

    -

    If the units keyword is set to box, then the distance units of -x,y,z are defined by the units command - e.g. Angstroms -for real units. A lattice value means the distance units are in -lattice spacings. The lattice command must have been -previously used to define the lattice spacing. A fraction value +could be shifted. +

    +

    If the units keyword is set to box, then the distance units of +x,y,z are defined by the units command - e.g. Angstroms +for real units. A lattice value means the distance units are in +lattice spacings. The lattice command must have been +previously used to define the lattice spacing. A fraction value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 -= middle of the box. The default is to use lattice units.

    -

    Note that the velocity command can be used to create -velocities with zero aggregate linear and/or angular momentum.

    -
    -

    Warning

    -

    This fix performs its operations at the same point in -the timestep as other time integration fixes, such as fix nve, fix nvt, or fix npt. += middle of the box. The default is to use lattice units. +

    +

    Note that the velocity command can be used to create +velocities with zero aggregate linear and/or angular momentum. +

    +

    IMPORTANT NOTE: This fix performs its operations at the same point in +the timestep as other time integration fixes, such as fix +nve, fix nvt, or fix npt. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will -warn you if your fixes are not ordered this way.

    -
    -
    -

    Warning

    -

    If you use this fix on a small group of atoms (e.g. a -molecule in solvent) without using the shift keyword to adjust the +warn you if your fixes are not ordered this way. +

    +

    IMPORTANT NOTE: If you use this fix on a small group of atoms (e.g. a +molecule in solvent) without using the shift keyword to adjust the positions of all atoms in the system, then the results can be unpredictable. For example, if the molecule is pushed in one direction by the solvent, its velocity will increase. But its coordinates will be recentered, meaning it is pushed back towards the force. Thus over time, the velocity and temperature of the molecule -could become very large (though it won’t appear to be moving due to +could become very large (though it won't appear to be moving due to the recentering). If you are thermostatting the entire system, then the solvent would be cooled to compensate. A better solution for this -simulation scenario is to use the fix spring command -to tether the molecule in place.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -distance the group is moved by fix recenter.

    -

    This fix also computes global 3-vector which can be accessed by -various output commands. The 3 +simulation scenario is to use the fix spring command +to tether the molecule in place. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +distance the group is moved by fix recenter. +

    +

    This fix also computes global 3-vector which can be accessed by +various output commands. The 3 quantities in the vector are xyz components of displacement applied to -the group of atoms by the fix.

    -

    The scalar and vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix should not be used with an x,y,z setting that causes a large +the group of atoms by the fix. +

    +

    The scalar and vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost, especially in parallel. Instead, use the -displace_atoms command, which can be used to -move atoms a large distance.

    -
    - -
    -

    Default¶

    -

    The option defaults are shift = fix group-ID, and units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +displace_atoms command, which can be used to +move atoms a large distance. +

    +

    Related commands: +

    +

    fix momentum, velocity +

    +

    Default: +

    +

    The option defaults are shift = fix group-ID, and units = lattice. +

    + diff --git a/doc/fix_restrain.html b/doc/fix_restrain.html index 749d1bf08b..6c0f498fab 100644 --- a/doc/fix_restrain.html +++ b/doc/fix_restrain.html @@ -1,355 +1,193 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix restrain command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix restrain command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID restrain keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • restrain = style name of this fix command
    • -
    • one or more keyword/arg pairs may be appended
    • -
    • keyword = bond or angle or dihedral
    • -
    -
    -bond args = atom1 atom2 Kstart Kstop r0
    +
    +
    +
    + +

    fix restrain command +

    +

    Syntax: +

    +
    fix ID group-ID restrain keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • restrain = style name of this fix command + +
    • one or more keyword/arg pairs may be appended + +
    • keyword = bond or angle or dihedral + +
        bond args = atom1 atom2 Kstart Kstop r0
           atom1,atom2 = IDs of 2 atoms in bond
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
           r0 = equilibrium bond distance (distance units)
      -  angle args = atom1 atom2 atom3 Kstart Kstop theta0
      +  angle args = atom1 atom2 atom3 Kstart Kstop theta0
           atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
           theta0 = equilibrium angle theta (degrees)
      -  dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
      +  dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
           atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
      -    phi0 = equilibrium dihedral angle phi (degrees)
      -
      -
    -
    -

    Examples¶

    -
    fix holdem all restrain bond 45 48 2000.0 2000.0 2.75
    +    phi0 = equilibrium dihedral angle phi (degrees) 
    +
    + + +

    Examples: +

    +
    fix holdem all restrain bond 45 48 2000.0 2000.0 2.75
     fix holdem all restrain dihedral 1 2 3 4 2000.0 2000.0 120.0
     fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 dihedral 1 2 3 4 2000.0 2000.0 120.0
    -fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0
    -
    -
    -
    -
    -

    Description¶

    -

    Restrain the motion of the specified sets of atoms by making them part +fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0 + +

    Description: +

    +

    Restrain the motion of the specified sets of atoms by making them part of a bond or angle or dihedral interaction whose strength can vary over time during a simulation. This is functionally equivalent to creating a bond or angle or dihedral for the same atoms in a data -file, as specified by the read_data command, albeit +file, as specified by the read_data command, albeit with a time-varying pre-factor coefficient. For the purpose of forcefield parameter-fitting or mapping a molecular potential energy surface, this fix reduces the hassle and risk associated with modifying data files. In other words, use this fix to temporarily force a molecule to adopt a particular conformation. To create a -permanent bond or angle or dihedral, you should modify the data file.

    -

    The group-ID specified by this fix is ignored.

    -

    The second example above applies a restraint to hold the dihedral +permanent bond or angle or dihedral, you should modify the data file. +

    +

    The group-ID specified by this fix is ignored. +

    +

    The second example above applies a restraint to hold the dihedral angle formed by atoms 1, 2, 3, and 4 near 120 degrees using a constant restraint coefficient. The fourth example applies similar restraints to multiple dihedral angles using a restraint coefficient that -increases from 0.0 to 2000.0 over the course of the run.

    -
    -

    Warning

    -

    Adding a force to atoms implies a change in their +increases from 0.0 to 2000.0 over the course of the run. +

    +

    IMPORTANT NOTE: Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For -dynamics via the run command, this energy can be added to -the system’s potential energy for thermodynamic output (see below). -For energy minimization via the minimize command, this -energy must be added to the system’s potential energy to formulate a -self-consistent minimization problem (see below).

    -
    -

    In order for a restraint to be effective, the restraint force must +dynamics via the run command, this energy can be added to +the system's potential energy for thermodynamic output (see below). +For energy minimization via the minimize command, this +energy must be added to the system's potential energy to formulate a +self-consistent minimization problem (see below). +

    +

    In order for a restraint to be effective, the restraint force must typically be significantly larger than the forces associated with conventional forcefield terms. If the restraint is applied during a dynamics run (as opposed to during an energy minimization), a large restraint coefficient can significantly reduce the stable timestep size, especially if the atoms are initially far from the preferred conformation. You may need to experiment to determine what value of K -works best for a given application.

    -

    For the case of finding a minimum energy structure for a single +works best for a given application. +

    +

    For the case of finding a minimum energy structure for a single molecule with particular restratins (e.g. for fitting forcefield parameters or constructing a potential energy surface), commands such -as the following may be useful:

    -
    # minimize molecule energy with restraints
    +as the following may be useful:
    +

    +
    # minimize molecule energy with restraints
     velocity all create 600.0 8675309 mom yes rot yes dist gaussian
     fix NVE all nve
     fix TFIX all langevin 600.0 0.0 100 24601
    -fix REST all restrain dihedral 2 1 3 8 0.0 5000.0 $*angle1* dihedral 3 1 2 9 0.0 5000.0 $*angle2*
    +fix REST all restrain dihedral 2 1 3 8 0.0 5000.0 $angle1 dihedral 3 1 2 9 0.0 5000.0 $angle2
     fix_modify REST energy yes
     run 10000
     fix TFIX all langevin 0.0 0.0 100 24601
    -fix REST all restrain dihedral 2 1 3 8 5000.0 5000.0 $*angle1* dihedral 3 1 2 9 5000.0 5000.0 $*angle2*
    +fix REST all restrain dihedral 2 1 3 8 5000.0 5000.0 $angle1 dihedral 3 1 2 9 5000.0 5000.0 $angle2
     fix_modify REST energy yes
     run 10000
     # sanity check for convergence
     minimize 1e-6 1e-9 1000 100000
     # report unrestrained energies
     unfix REST
    -run 0
    -
    -
    -
    -

    The bond keyword applies a bond restraint to the specified atoms -using the same functional form used by the bond_style harmonic command. The potential associated with -the restraint is

    -_images/bond_harmonic.jpg -

    with the following coefficients:

    -
      -
    • K (energy/distance^2)
    • -
    • r0 (distance)
    • -
    -

    K and r0 are specified with the fix. Note that the usual 1/2 factor -is included in K.

    -
    -

    The angle keyword applies an angle restraint to the specified atoms -using the same functional form used by the angle_style harmonic command. The potential associated with -the restraint is

    -_images/angle_harmonic.jpg -

    with the following coefficients:

    -
      -
    • K (energy/radian^2)
    • -
    • theta0 (degrees)
    • -
    -

    K and theta0 are specified with the fix. Note that the usual 1/2 -factor is included in K.

    -
    -

    The dihedral keyword applies a dihedral restraint to the specified +run 0 + +


    + +

    The bond keyword applies a bond restraint to the specified atoms +using the same functional form used by the bond_style +harmonic command. The potential associated with +the restraint is +

    +
    +
    +

    with the following coefficients: +

    +
    • K (energy/distance^2) +
    • r0 (distance) +
    +

    K and r0 are specified with the fix. Note that the usual 1/2 factor +is included in K. +

    +
    + +

    The angle keyword applies an angle restraint to the specified atoms +using the same functional form used by the angle_style +harmonic command. The potential associated with +the restraint is +

    +
    +
    +

    with the following coefficients: +

    +
    • K (energy/radian^2) +
    • theta0 (degrees) +
    +

    K and theta0 are specified with the fix. Note that the usual 1/2 +factor is included in K. +

    +
    + +

    The dihedral keyword applies a dihedral restraint to the specified atoms using a simplified form of the function used by the -dihedral_style charmm command. The potential -associated with the restraint is

    -_images/dihedral_charmm.jpg -

    with the following coefficients:

    -
      -
    • K (energy)
    • -
    • n = 1
    • -
    • d (degrees) = phi0 + 180
    • -
    -

    K and phi0 are specified with the fix. Note that the value of n is +dihedral_style charmm command. The potential +associated with the restraint is +

    +
    +
    +

    with the following coefficients: +

    +
    • K (energy) +
    • n = 1 +
    • d (degrees) = phi0 + 180 +
    +

    K and phi0 are specified with the fix. Note that the value of n is hard-wired to 1. Also note that the energy will be a minimum when the -current dihedral angle phi is equal to phi0.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +current dihedral angle phi is equal to phi0. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the potential energy associated with this fix to the -system’s potential energy as part of thermodynamic output.

    -
    -

    Warning

    -

    If you want the fictitious potential energy associated +system's potential energy as part of thermodynamic +output. +

    +

    IMPORTANT NOTE: If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix.

    -
    -

    This fix computes a global scalar, which can be accessed by various -output commands. The scalar is the +fix_modify energy option for this fix. +

    +

    This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the potential energy for all the restraints as discussed above. The scalar -value calculated by this fix is “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +value calculated by this fix is "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 1da87a532e..971bfd479e 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -1,479 +1,369 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix rigid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix rigid command¶

    -
    -
    -

    fix rigid/nve command¶

    -
    -
    -

    fix rigid/nvt command¶

    -
    -
    -

    fix rigid/npt command¶

    -
    -
    -

    fix rigid/nph command¶

    -
    -
    -

    fix rigid/small command¶

    -
    -
    -

    fix rigid/nve/small command¶

    -
    -
    -

    fix rigid/nvt/small command¶

    -
    -
    -

    fix rigid/npt/small command¶

    -
    -
    -

    fix rigid/nph/small command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style bodystyle args keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = rigid or rigid/nve or rigid/nvt or rigid/npt or rigid/nph or rigid/small or rigid/nve/small or rigid/nvt/small or rigid/npt/small or rigid/nph/small
    • -
    • bodystyle = single or molecule or group
    • -
    -
    -single args = none
    -  molecule args = none
    -  group args = N groupID1 groupID2 ...
    +
    +
    +
    + +

    fix rigid command +

    +

    fix rigid/nve command +

    +

    fix rigid/nvt command +

    +

    fix rigid/npt command +

    +

    fix rigid/nph command +

    +

    fix rigid/small command +

    +

    fix rigid/nve/small command +

    +

    fix rigid/nvt/small command +

    +

    fix rigid/npt/small command +

    +

    fix rigid/nph/small command +

    +

    Syntax: +

    +
    fix ID group-ID style bodystyle args keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style = rigid or rigid/nve or rigid/nvt or rigid/npt or rigid/nph or rigid/small or rigid/nve/small or rigid/nvt/small or rigid/npt/small or rigid/nph/small + +
    • bodystyle = single or molecule or group + +
        single args = none
      +  molecule args = none
      +  group args = N groupID1 groupID2 ...
           N = # of groups
      -    groupID1, groupID2, ... = list of N group IDs
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = langevin or temp or iso or aniso or x or y or z or couple or tparam or pchain or dilate or force or torque or infile
      • -
      -
      -langevin values = Tstart Tstop Tperiod seed
      +    groupID1, groupID2, ... = list of N group IDs 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = langevin or temp or iso or aniso or x or y or z or couple or tparam or pchain or dilate or force or torque or infile + +
        langevin values = Tstart Tstop Tperiod seed
           Tstart,Tstop = desired temperature at start/stop of run (temperature units)
           Tdamp = temperature damping parameter (time units)
           seed = random number seed to use for white noise (positive integer)
      -  temp values = Tstart Tstop Tdamp
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = desired temperature at start/stop of run (temperature units)
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso values = Pstart Pstop Pdamp
      +  iso or aniso values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z values = Pstart Pstop Pdamp
      +  x or y or z values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tparam values = Tchain Titer Torder
      +  couple = none or xyz or xy or yz or xz
      +  tparam values = Tchain Titer Torder
           Tchain = length of Nose/Hoover thermostat chain
           Titer = number of thermostat iterations performed
           Torder = 3 or 5 = Yoshida-Suzuki integration parameters
      -  pchain values = Pchain
      +  pchain values = Pchain
           Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat
      -  dilate value = dilate-group-ID
      +  dilate value = dilate-group-ID
           dilate-group-ID = only dilate atoms in this group due to barostat volume changes
      -  force values = M xflag yflag zflag
      +  force values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass force is active
      -  torque values = M xflag yflag zflag
      +  torque values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass torque is active
      -  infile filename
      -    filename = file with per-body values of mass, center-of-mass, moments of inertia
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -
      -
    -
    -

    Examples¶

    -
    fix 1 clump rigid single
    +  infile filename
    +    filename = file with per-body values of mass, center-of-mass, moments of inertia 
    +  mol value = template-ID
    +    template-ID = ID of molecule template specified in a separate molecule command 
    +
    + + +

    Examples: +

    +
    fix 1 clump rigid single
     fix 1 clump rigid/small molecule
     fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
     fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
     fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
     fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984
    -fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
    +fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off 
     fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0
     fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz
     fix 1 water rigid/nph molecule iso 0.5 0.5 1.0
    -fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Treat one or more sets of atoms as independent rigid bodies. This +fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 + +

    Description: +

    +

    Treat one or more sets of atoms as independent rigid bodies. This means that each timestep the total force and torque on each rigid body is computed as the sum of the forces and torques on its constituent particles. The coordinates, velocities, and orientations of the atoms in each body are then updated so that the body moves and rotates as a -single entity.

    -

    Examples of large rigid bodies are a colloidal particle, or portions -of a biomolecule such as a protein.

    -

    Example of small rigid bodies are patchy nanoparticles, such as those -modeled in this paper by Sharon Glotzer’s group, clumps of +single entity. +

    +

    Examples of large rigid bodies are a colloidal particle, or portions +of a biomolecule such as a protein. +

    +

    Example of small rigid bodies are patchy nanoparticles, such as those +modeled in this paper by Sharon Glotzer's group, clumps of granular particles, lipid molecules consiting of one or more point dipoles connected to other spheroids or ellipsoids, irregular particles built from line segments (2d) or triangles (3d), and coarse-grain models of nano or colloidal particles consisting of a -small number of constituent particles. Note that the fix shake command can also be used to rigidify small +small number of constituent particles. Note that the fix +shake command can also be used to rigidify small molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats -the constituent atoms as point masses.

    -

    These fixes also update the positions and velocities of the atoms in +the constituent atoms as point masses. +

    +

    These fixes also update the positions and velocities of the atoms in each rigid body via time integration, in the NVE, NVT, NPT, or NPH -ensemble, as described below.

    -

    There are two main variants of this fix, fix rigid and fix +ensemble, as described below. +

    +

    There are two main variants of this fix, fix rigid and fix rigid/small. The NVE/NVT/NPT/NHT versions belong to one of the two -variants, as their style names indicate.

    -
    -

    Warning

    -

    Not all of the bodystyle options and keyword/value -options are available for both the rigid and rigid/small variants. -See details below.

    -
    -

    The rigid variant is typically the best choice for a system with a +variants, as their style names indicate. +

    +

    IMPORTANT NOTE: Not all of the bodystyle options and keyword/value +options are available for both the rigid and rigid/small variants. +See details below. +

    +

    The rigid variant is typically the best choice for a system with a small number of large rigid bodies, each of which can extend across the domain of many processors. It operates by creating a single global list of rigid bodies, which all processors contribute to. MPI_Allreduce operations are performed each timestep to sum the contributions from each processor to the force and torque on all the bodies. This operation will not scale well in parallel if large -numbers of rigid bodies are simulated.

    -

    The rigid/small variant is typically best for a system with a large +numbers of rigid bodies are simulated. +

    +

    The rigid/small variant is typically best for a system with a large number of small rigid bodies. Each body is assigned to the atom closest to the geometrical center of the body. The fix operates using local lists of rigid bodies owned by each processor and information is exchanged and summed via local communication between neighboring -processors when ghost atom info is accumlated.

    -
    -

    Warning

    -

    To use rigid/small the ghost atom cutoff must be +processors when ghost atom info is accumlated. +

    +

    IMPORTANT NOTE: To use rigid/small the ghost atom cutoff must be large enough to span the distance between the atom that owns the body and every other atom in the body. This distance value is printed out when the rigid bodies are defined. If the -pair_style cutoff plus neighbor skin does not span -this distance, then you should use the comm_modify cutoff command with a setting epsilon larger than -the distance.

    -
    -

    Which of the two variants is faster for a particular problem is hard +pair_style cutoff plus neighbor skin does not span +this distance, then you should use the comm_modify +cutoff command with a setting epsilon larger than +the distance. +

    +

    Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. Both variants should give identical numerical answers for short runs. Long runs should give statistically similar results, but round-off -differences may accumulate to produce divergent trajectories.

    -
    -

    Warning

    -

    You should not update the atoms in rigid bodies via -other time-integration fixes (e.g. fix nve, fix nvt, fix npt), or you will be integrating +differences may accumulate to produce divergent trajectories. +

    +

    IMPORTANT NOTE: You should not update the atoms in rigid bodies via +other time-integration fixes (e.g. fix nve, fix +nvt, fix npt), or you will be integrating their motion more than once each timestep. When performing a hybrid simulation with some atoms in rigid bodies, and some not, a separate -time integration fix like fix nve or fix nvt should be used for the non-rigid particles.

    -
    -
    -

    Warning

    -

    These fixes are overkill if you simply want to hold a +time integration fix like fix nve or fix +nvt should be used for the non-rigid particles. +

    +

    IMPORTANT NOTE: These fixes are overkill if you simply want to hold a collection of atoms stationary or have them move with a constant velocity. A simpler way to hold atoms stationary is to not include -those atoms in your time integration fix. E.g. use “fix 1 mobile nve” -instead of “fix 1 all nve”, where “mobile” is the group of atoms that +those atoms in your time integration fix. E.g. use "fix 1 mobile nve" +instead of "fix 1 all nve", where "mobile" is the group of atoms that you want to move. You can move atoms with a constant velocity by -assigning them an initial velocity (via the velocity -command), setting the force on them to 0.0 (via the fix setforce command), and integrating them as usual -(e.g. via the fix nve command).

    -
    -
    -

    Warning

    -

    The aggregate properties of each rigid body are +assigning them an initial velocity (via the velocity +command), setting the force on them to 0.0 (via the fix +setforce command), and integrating them as usual +(e.g. via the fix nve command). +

    +

    IMPORTANT NOTE: The aggregate properties of each rigid body are calculated one time at the start of the first simulation run after this fix is specified. The properties include the position and velocity of the center-of-mass of the body, its moments of inertia, and its angular momentum. This is done using the properties of the constituent atoms of the body at that point in time (or see the -infile keyword option). Thereafter, changing properties of -individual atoms in the body will have no effect on a rigid body’s -dynamics, unless they effect the pair_style +infile keyword option). Thereafter, changing properties of +individual atoms in the body will have no effect on a rigid body's +dynamics, unless they effect the pair_style interactions that individual particles are part of. For example, you might think you could displace the atoms in a body or add a large velocity to each atom in a body to make it move in a desired direction -before a 2nd run is performed, using the set or -displace_atoms or velocity +before a 2nd run is performed, using the set or +displace_atoms or velocity command. But these commands will not affect the internal attributes of the body, and the position and velocity or individual atoms in the -body will be reset when time integration starts.

    -
    -
    -

    Each rigid body must have two or more atoms. An atom can belong to at +body will be reset when time integration starts. +

    +
    + +

    Each rigid body must have two or more atoms. An atom can belong to at most one rigid body. Which atoms are in which bodies can be defined -via several options.

    -
    -

    Warning

    -

    With fix rigid/small, which requires bodystyle -molecule, you can define a system that has no rigid bodies -initially. This is useful when you are using the mol keyword in +via several options. +

    +

    IMPORTANT NOTE: With fix rigid/small, which requires bodystyle +molecule, you can define a system that has no rigid bodies +initially. This is useful when you are using the mol keyword in conjunction with another fix that is adding rigid bodies on-the-fly, -such as fix deposit or fix pour.

    -
    -

    For bodystyle single the entire fix group of atoms is treated as one +such as fix deposit or fix pour. +

    +

    For bodystyle single the entire fix group of atoms is treated as one rigid body. This option is only allowed for fix rigid and its -sub-styles.

    -

    For bodystyle molecule, each set of atoms in the fix group with a +sub-styles. +

    +

    For bodystyle molecule, each set of atoms in the fix group with a different molecule ID is treated as a rigid body. This option is allowed for fix rigid and fix rigid/small, and their sub-styles. Note that atoms with a molecule ID = 0 will be treated as a single rigid body. For a system with atomic solvent (typically this is atoms with molecule ID = 0) surrounding rigid bodies, this may not be what you want. Thus you should be careful to use a fix group that only -includes atoms you want to be part of rigid bodies.

    -

    For bodystyle group, each of the listed groups is treated as a +includes atoms you want to be part of rigid bodies. +

    +

    For bodystyle group, each of the listed groups is treated as a separate rigid body. Only atoms that are also in the fix group are included in each rigid body. This option is only allowed for fix -rigid and its sub-styles.

    -
    -

    Warning

    -

    To compute the initial center-of-mass position and +rigid and its sub-styles. +

    +

    IMPORTANT NOTE: To compute the initial center-of-mass position and other properties of each rigid body, the image flags for each atom in -the body are used to “unwrap” the atom coordinates. Thus you must +the body are used to "unwrap" the atom coordinates. Thus you must insure that these image flags are consistent so that the unwrapping creates a valid rigid body (one where the atoms are close together), particularly if the atoms in a single rigid body straddle a periodic boundary. This means the input data file or restart file must define the image flags for each atom consistently or that you have used the -set command to specify them correctly. If a dimension is +set command to specify them correctly. If a dimension is non-periodic then the image flag of each atom must be 0 in that -dimension, else an error is generated.

    -
    -

    The force and torque keywords discussed next are only allowed for -fix rigid and its sub-styles.

    -

    By default, each rigid body is acted on by other atoms which induce an +dimension, else an error is generated. +

    +

    The force and torque keywords discussed next are only allowed for +fix rigid and its sub-styles. +

    +

    By default, each rigid body is acted on by other atoms which induce an external force and torque on its center of mass, causing it to translate and rotate. Components of the external center-of-mass force -and torque can be turned off by the force and torque keywords. +and torque can be turned off by the force and torque keywords. This may be useful if you wish a body to rotate but not translate, or vice versa, or if you wish it to rotate or translate continuously unaffected by interactions with other particles. Note that if you expect a rigid body not to move or rotate by using these keywords, you must insure its initial center-of-mass translational or angular velocity is 0.0. Otherwise the initial translational or angular -momentum the body has will persist.

    -

    An xflag, yflag, or zflag set to off means turn off the component of -force of torque in that dimension. A setting of on means turn on +momentum the body has will persist. +

    +

    An xflag, yflag, or zflag set to off means turn off the component of +force of torque in that dimension. A setting of on means turn on the component, which is the default. Which rigid body(s) the settings -apply to is determined by the first argument of the force and -torque keywords. It can be an integer M from 1 to Nbody, where +apply to is determined by the first argument of the force and +torque keywords. It can be an integer M from 1 to Nbody, where Nbody is the number of rigid bodies defined. A wild-card asterisk can be used in place of, or in conjunction with, the M argument to set the -flags for multiple rigid bodies. This takes the form “*” or “n” or -“n” or “m*n”. If N = the number of rigid bodies, then an asterisk +flags for multiple rigid bodies. This takes the form "*" or "*n" or +"n*" or "m*n". If N = the number of rigid bodies, then an asterisk with no numeric values means all bodies from 1 to N. A leading asterisk means all bodies from 1 to n (inclusive). A trailing asterisk means all bodies from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that you can use the -force or torque keywords as many times as you like. If a +force or torque keywords as many times as you like. If a particular rigid body has its component flags set multiple times, the -settings from the final keyword are used.

    -
    -

    Warning

    -

    For computational efficiency, you may wish to turn off +settings from the final keyword are used. +

    +

    IMPORTANT NOTE: For computational efficiency, you may wish to turn off pairwise and bond interactions within each rigid body, as they no -longer contribute to the motion. The neigh_modify exclude and delete_bonds +longer contribute to the motion. The neigh_modify +exclude and delete_bonds commands are used to do this. If the rigid bodies have strongly overalapping atoms, you may need to turn off these interactions to avoid numerical problems due to large equal/opposite intra-body forces -swamping the contribution of small inter-body forces.

    -
    -

    For computational efficiency, you should typically define one fix +swamping the contribution of small inter-body forces. +

    +

    For computational efficiency, you should typically define one fix rigid or fix rigid/small command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it -is more expensive.

    -
    -

    The constituent particles within a rigid body can be point particles +is more expensive. +

    +
    + +

    The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the atom_style sphere and ellipsoid and line and tri commands for more +ellipsoids or line segments or triangles. See the atom_style sphere +and ellipsoid and line and tri commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due -to frictional granular interactions) and have an -orientation. These contributions are accounted for by these fixes.

    -

    Forces between particles within a body do not contribute to the +to frictional granular interactions) and have an +orientation. These contributions are accounted for by these fixes. +

    +

    Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The neigh_modify exclude and delete_bonds +between particles within each rigid body. The neigh_modify +exclude and delete_bonds commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid -body.

    -
    -

    The rigid and rigid/small and rigid/nve styles perform constant -NVE time integration. The only difference is that the rigid and -rigid/small styles use an integration technique based on Richardson -iterations. The rigid/nve style uses the methods described in the -paper by Miller, which are thought to provide better energy -conservation than an iterative approach.

    -

    The rigid/nvt and rigid/nvt/small styles performs constant NVT -integration using a Nose/Hoover thermostat with chains as described -originally in (Hoover) and (Martyna), which -thermostats both the translational and rotational degrees of freedom -of the rigid bodies. The rigid-body algorithm used by rigid/nvt -is described in the paper by Kamberaj.

    -

    The rigid/npt and rigid/nph (and their /small counterparts) styles -perform constant NPT or NPH integration using a Nose/Hoover barostat -with chains. For the NPT case, the same Nose/Hoover thermostat is also -used as with rigid/nvt.

    -

    The barostat parameters are specified using one or more of the iso, -aniso, x, y, z and couple keywords. These keywords give you +body. +

    +
    + +

    The rigid and rigid/small and rigid/nve styles perform constant +NVE time integration. The only difference is that the rigid and +rigid/small styles use an integration technique based on Richardson +iterations. The rigid/nve style uses the methods described in the +paper by Miller, which are thought to provide better energy +conservation than an iterative approach. +

    +

    The rigid/nvt and rigid/nvt/small styles performs constant NVT +integration using a Nose/Hoover thermostat with chains as described +originally in (Hoover) and (Martyna), which +thermostats both the translational and rotational degrees of freedom +of the rigid bodies. The rigid-body algorithm used by rigid/nvt +is described in the paper by Kamberaj. +

    +

    The rigid/npt and rigid/nph (and their /small counterparts) styles +perform constant NPT or NPH integration using a Nose/Hoover barostat +with chains. For the NPT case, the same Nose/Hoover thermostat is also +used as with rigid/nvt. +

    +

    The barostat parameters are specified using one or more of the iso, +aniso, x, y, z and couple keywords. These keywords give you the ability to specify 3 diagonal components of the external stress tensor, and to couple these components together so that the dimensions they represent are varied together during a constant-pressure simulation. The effects of these keywords are similar to those -defined in fix npt/nph

    -
    -

    Note

    -

    Currently the rigid/npt and rigid/nph (and their /small -counterparts) styles do not support triclinic (non-orthongonal) boxes.

    -
    -

    The target pressures for each of the 6 components of the stress tensor -can be specified independently via the x, y, z keywords, which +defined in fix npt/nph +

    +

    NOTE: Currently the rigid/npt and rigid/nph (and their /small +counterparts) styles do not support triclinic (non-orthongonal) boxes. +

    +

    The target pressures for each of the 6 components of the stress tensor +can be specified independently via the x, y, z keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped -value during the run from Pstart to Pstop. If a target pressure is +value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will -change during a simulation. For example, if the y keyword is used, +change during a simulation. For example, if the y keyword is used, the y-box length will change. A box dimension will not change if that component is not specified, although you have the option to change -that dimension via the fix deform command.

    -

    For all barostat keywords, the Pdamp parameter operates like the -Tdamp parameter, determining the time scale on which pressure is +that dimension via the fix deform command. +

    +

    For all barostat keywords, the Pdamp parameter operates like the +Tdamp parameter, determining the time scale on which pressure is relaxed. For example, a value of 10.0 means to relax the pressure in a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the units command).

    -

    Regardless of what atoms are in the fix group (the only atoms which +the units command). +

    +

    Regardless of what atoms are in the fix group (the only atoms which are time integrated), a global pressure or stress tensor is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword -dilate is specified with a dilate-group-ID for a group that +dilate is specified with a dilate-group-ID for a group that represents a subset of the atoms. This can be useful, for example, to leave the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. Another example is a @@ -482,94 +372,101 @@ barostat is only coupled with the rigid bodies. This option should be used with care, since it can be unphysical to dilate some atoms and not others, because it can introduce large, instantaneous displacements between a pair of atoms (one dilated, one not) that are -far from the dilation origin.

    -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be “coupled” together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +far from the dilation origin. +

    +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored.

    -

    The iso and aniso keywords are simply shortcuts that are -equivalent to specifying several other keywords together.

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored. +

    +

    The iso and aniso keywords are simply shortcuts that are +equivalent to specifying several other keywords together. +

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using “iso Pstart Pstop Pdamp” is the same as -specifying these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using "iso Pstart Pstop Pdamp" is the same as
    +specifying these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz
    -
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using “aniso Pstart Pstop Pdamp” is the same as specifying -these 4 keywords:

    -
    x Pstart Pstop Pdamp
    +pressure.  Using "aniso Pstart Pstop Pdamp" is the same as specifying
    +these 4 keywords:
    +

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none
    -
    -
    -
    -

    The keyword/value option pairs are used in the following ways.

    -

    The langevin and temp and tparam keywords perform thermostatting +couple none + +


    + +

    The keyword/value option pairs are used in the following ways. +

    +

    The langevin and temp and tparam keywords perform thermostatting of the rigid bodies, altering both their translational and rotational -degrees of freedom. What is meant by “temperature” of a collection of +degrees of freedom. What is meant by "temperature" of a collection of rigid bodies and how it can be monitored via the fix output is -discussed below.

    -

    The langevin keyword applies a Langevin thermostat to the constant -NVE time integration performed by either the rigid or rigid/small -or rigid/nve styles. It cannot be used with the rigid/nvt style. +discussed below. +

    +

    The langevin keyword applies a Langevin thermostat to the constant +NVE time integration performed by either the rigid or rigid/small +or rigid/nve styles. It cannot be used with the rigid/nvt style. The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command). The random # seed must be a positive -integer.

    -

    The way that Langevin thermostatting operates is explained on the fix langevin doc page. If you wish to simply viscously +units command). The random # seed must be a positive +integer. +

    +

    The way that Langevin thermostatting operates is explained on the fix +langevin doc page. If you wish to simply viscously damp the rotational motion without thermostatting, you can set -Tstart and Tstop to 0.0, which means only the viscous drag term in +Tstart and Tstop to 0.0, which means only the viscous drag term in the Langevin thermostat will be applied. See the discussion on the -fix viscous doc page for details.

    -
    -

    Warning

    -

    When the langevin keyword is used with fix rigid +fix viscous doc page for details. +

    +

    IMPORTANT NOTE: When the langevin keyword is used with fix rigid versus fix rigid/small, different dynamics will result for parallel runs. This is because of the way random numbers are used in the two cases. The dynamics for the two cases should be statistically -similar, but will not be identical, even for a single timestep.

    -
    -

    The temp and tparam keywords apply a Nose/Hoover thermostat to the -NVT time integration performed by the rigid/nvt style. They cannot -be used with the rigid or rigid/small or rigid/nve styles. The +similar, but will not be identical, even for a single timestep. +

    +

    The temp and tparam keywords apply a Nose/Hoover thermostat to the +NVT time integration performed by the rigid/nvt style. They cannot +be used with the rigid or rigid/small or rigid/nve styles. The desired temperature at each timestep is a ramped value during the run -from Tstart to Tstop. The Tdamp parameter is specified in time +from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command).

    -

    Nose/Hoover chains are used in conjunction with this thermostat. The -tparam keyword can optionally be used to change the chain settings -used. Tchain is the number of thermostats in the Nose Hoover chain. -This value, along with Tdamp can be varied to dampen undesirable +units command). +

    +

    Nose/Hoover chains are used in conjunction with this thermostat. The +tparam keyword can optionally be used to change the chain settings +used. Tchain is the number of thermostats in the Nose Hoover chain. +This value, along with Tdamp can be varied to dampen undesirable oscillations in temperature that can occur in a simulation. As a rule of thumb, increasing the chain length should lead to smaller -oscillations. The keyword pchain specifies the number of +oscillations. The keyword pchain specifies the number of thermostats in the chain thermostatting the barostat degrees of -freedom.

    -
    -

    Warning

    -

    There are alternate ways to thermostat a system of -rigid bodies. You can use fix langevin to treat +freedom. +

    +

    IMPORTANT NOTE: There are alternate ways to thermostat a system of +rigid bodies. You can use fix langevin to treat the individual particles in the rigid bodies as effectively immersed in an implicit solvent, e.g. a Brownian dynamics model. For hybrid systems with both rigid bodies and solvent particles, you can @@ -578,28 +475,33 @@ bodies by appropriate choice of groups in the compute and fix commands for temperature and thermostatting. The solvent interactions with the rigid bodies should then effectively thermostat the rigid body temperature as well without use of the Langevin or Nose/Hoover options -associated with the fix rigid commands.

    -
    -
    -

    The mol keyword can only be used with fix rigid/small. It must be -used when other commands, such as fix deposit or -fix pour, add rigid bodies on-the-fly during a -simulation. You specify a template-ID previously defined using the -molecule command, which reads a file that defines the -molecule. You must use the same template-ID that the other fix +associated with the fix rigid commands. +

    +
    + +

    The mol keyword can only be used with fix rigid/small. It must be +used when other commands, such as fix deposit or +fix pour, add rigid bodies on-the-fly during a +simulation. You specify a template-ID previously defined using the +molecule command, which reads a file that defines the +molecule. You must use the same template-ID that the other fix which is adding rigid bodies uses. The coordinates, atom types, atom diameters, center-of-mass, and moments of inertia can be specified in -the molecule file. See the molecule command for +the molecule file. See the molecule command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule, in which case the -molecule command calculates the other quantities itself.

    -

    Note that these other fixes create new rigid bodies, in addition to -those defined initially by this fix via the bodystyle setting.

    -

    Also note that when using the mol keyword, extra restart information +molecule command calculates the other quantities itself. +

    +

    Note that these other fixes create new rigid bodies, in addition to +those defined initially by this fix via the bodystyle setting. +

    +

    Also note that when using the mol keyword, extra restart information about all rigid bodies is written out whenever a restart file is -written out. See the IMPORTANT NOTE in the next section for details.

    -
    -

    The infile keyword allows a file of rigid body attributes to be read +written out. See the IMPORTANT NOTE in the next section for details. +

    +
    + +

    The infile keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass position, its 6 moments of inertia, its center-of-mass velocity, and @@ -610,308 +512,303 @@ rigid bodies consisting of finite-size particles which overlap each other, LAMMPS will ignore the overlaps when computing these 4 attributes. The amount of error this induces depends on the amount of overlap. To avoid this issue, the values can be pre-computed -(e.g. using Monte Carlo integration).

    -

    The format of the file is as follows. Note that the file does not +(e.g. using Monte Carlo integration). +

    +

    The format of the file is as follows. Note that the file does not have to list attributes for every rigid body integrated by fix rigid. Only bodies which the file specifies will have their computed attributes overridden. The file can contain initial blank lines or -comment lines starting with “#” which are ignored. The first +comment lines starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to -follow. The N successive lines contain the following information:

    -
    ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
    +follow.  The N successive lines contain the following information:
    +

    +
    ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
     ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
     ...
    -IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
    -
    -
    -

    The rigid body IDs are all positive integers. For the single -bodystyle, only an ID of 1 can be used. For the group bodystyle, +IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm + +

    The rigid body IDs are all positive integers. For the single +bodystyle, only an ID of 1 can be used. For the group bodystyle, IDs from 1 to Ng can be used where Ng is the number of specified -groups. For the molecule bodystyle, use the molecule ID for the -atoms in a specific rigid body as the rigid body ID.

    -

    The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are +groups. For the molecule bodystyle, use the molecule ID for the +atoms in a specific rigid body as the rigid body ID. +

    +

    The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are self-explanatory. The center-of-mass should be consistent with what is calculated for the position of the rigid body with all its atoms unwrapped by their respective image flags. If this produces a center-of-mass that is outside the simulation box, LAMMPS wraps it -back into the box.

    -

    The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +back into the box. +

    +

    The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the -rigid body itself. LAMMPS performs the latter calculation internally.

    -

    The (vxcm,vycm,vzcm) values are the velocity of the center of mass. +rigid body itself. LAMMPS performs the latter calculation internally. +

    +

    The (vxcm,vycm,vzcm) values are the velocity of the center of mass. The (lx,ly,lz) values are the angular momentum of the body. The (vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you -wish the body to have no initial motion.

    -

    The (ixcm,iycm,izcm) values are the image flags of the center of mass +wish the body to have no initial motion. +

    +

    The (ixcm,iycm,izcm) values are the image flags of the center of mass of the body. For periodic dimensions, they specify which image of the simulation box the body is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as the rigid bodies -cross periodic boundaries during the simulation.

    -
    -

    Warning

    -

    If you use the infile or mol keywords and write +cross periodic boundaries during the simulation. +

    +

    IMPORTANT NOTE: If you use the infile or mol keywords and write restart files during a simulation, then each time a restart file is written, the fix also write an auxiliary restart file with the name -rfile.rigid, where “rfile” is the name of the restart file, +rfile.rigid, where "rfile" is the name of the restart file, e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary file is in the same format described above. Thus it can be used in a new input script that restarts the run and re-specifies a rigid fix -using an infile keyword and the appropriate filename. Note that the +using an infile keyword and the appropriate filename. Note that the auxiliary file will contain one line for every rigid body, even if the -original file only listed a subset of the rigid bodies.

    -
    -
    -

    If you use a temperature compute with a group that +original file only listed a subset of the rigid bodies. +

    +
    + +

    If you use a temperature compute with a group that includes particles in rigid bodies, the degrees-of-freedom removed by each rigid body are accounted for in the temperature (and pressure) computation, but only if the temperature group includes all the -particles in a particular rigid body.

    -

    A 3d rigid body has 6 degrees of freedom (3 translational, 3 +particles in a particular rigid body. +

    +

    A 3d rigid body has 6 degrees of freedom (3 translational, 3 rotational), except for a collection of point particles lying on a straight line, which has only 5, e.g a dimer. A 2d rigid body has 3 -degrees of freedom (2 translational, 1 rotational).

    -
    -

    Warning

    -

    You may wish to explicitly subtract additional -degrees-of-freedom if you use the force and torque keywords to +degrees of freedom (2 translational, 1 rotational). +

    +

    IMPORTANT NOTE: You may wish to explicitly subtract additional +degrees-of-freedom if you use the force and torque keywords to eliminate certain motions of one or more rigid bodies. LAMMPS does -not do this automatically.

    -
    -

    The rigid body contribution to the pressure of the system (virial) is -also accounted for by this fix.

    -
    -

    If your simlulation is a hybrid model with a mixture of rigid bodies +not do this automatically. +

    +

    The rigid body contribution to the pressure of the system (virial) is +also accounted for by this fix. +

    +
    + +

    If your simlulation is a hybrid model with a mixture of rigid bodies and non-rigid particles (e.g. solvent) there are several ways these -rigid fixes can be used in tandem with fix nve, fix nvt, fix npt, and fix nph.

    -

    If you wish to perform NVE dynamics (no thermostatting or +rigid fixes can be used in tandem with fix nve, fix +nvt, fix npt, and fix nph. +

    +

    If you wish to perform NVE dynamics (no thermostatting or barostatting), use fix rigid or fix rigid/nve to integrate the rigid -bodies, and fix nve to integrate the non-rigid -particles.

    -

    If you wish to perform NVT dynamics (thermostatting, but no +bodies, and fix nve to integrate the non-rigid +particles. +

    +

    If you wish to perform NVT dynamics (thermostatting, but no barostatting), you can use fix rigid/nvt for the rigid bodies, and any -thermostatting fix for the non-rigid particles (fix nvt, -fix langevin, fix temp/berendsen). You can also use fix rigid -or fix rigid/nve for the rigid bodies and thermostat them using fix langevin on the group that contains all the -particles in the rigid bodies. The net force added by fix langevin to each rigid body effectively thermostats +thermostatting fix for the non-rigid particles (fix nvt, +fix langevin, fix +temp/berendsen). You can also use fix rigid +or fix rigid/nve for the rigid bodies and thermostat them using fix +langevin on the group that contains all the +particles in the rigid bodies. The net force added by fix +langevin to each rigid body effectively thermostats its translational center-of-mass motion. Not sure how well it does at -thermostatting its rotational motion.

    -

    If you with to perform NPT or NPH dynamics (barostatting), you cannot -use both fix npt and fix rigid/npt (or the nph +thermostatting its rotational motion. +

    +

    If you with to perform NPT or NPH dynamics (barostatting), you cannot +use both fix npt and fix rigid/npt (or the nph variants). This is because there can only be one fix which monitors the global pressure and changes the simulation box dimensions. So you -have 3 choices:

    -
      -
    • Use fix rigid/npt for the rigid bodies. Use the dilate all option +have 3 choices: +

      +
      • Use fix rigid/npt for the rigid bodies. Use the dilate all option so that it will dilate the positions of the non-rigid particles as -well. Use fix nvt (or any other thermostat) for the -non-rigid particles.
      • -
      • Use fix npt for the group of non-rigid particles. Use -the dilate all option so that it will dilate the center-of-mass +well. Use fix nvt (or any other thermostat) for the +non-rigid particles. + +
      • Use fix npt for the group of non-rigid particles. Use +the dilate all option so that it will dilate the center-of-mass positions of the rigid bodies as well. Use fix rigid/nvt for the -rigid bodies.
      • -
      • Use fix press/berendsen to compute the +rigid bodies. + +
      • Use fix press/berendsen to compute the pressure and change the box dimensions. Use fix rigid/nvt for the -rigid bodies. Use fix nvt (or any other thermostat) for -the non-rigid particles.
      • -
      -

      In all case, the rigid bodies and non-rigid particles both contribute +rigid bodies. Use fix nvt (or any other thermostat) for +the non-rigid particles. +

    +

    In all case, the rigid bodies and non-rigid particles both contribute to the global pressure and the box is scaled the same by any of the -barostatting fixes.

    -

    You could even use the 2nd and 3rd options for a non-hybrid simulation -consisting of only rigid bodies, assuming you give fix npt an empty group, though it’s an odd thing to do. The -barostatting fixes (fix npt and fix press/berensen) will monitor the pressure +barostatting fixes. +

    +

    You could even use the 2nd and 3rd options for a non-hybrid simulation +consisting of only rigid bodies, assuming you give fix +npt an empty group, though it's an odd thing to do. The +barostatting fixes (fix npt and fix +press/berensen) will monitor the pressure and change the box dimensions, but not time integrate any particles. The integration of the rigid bodies will be performed by fix -rigid/nvt.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +rigid/nvt. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about the rigid and rigid/small and rigid/nve -fixes are written to binary restart files. The -exception is if the infile or mol keyword is used, in which case +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about the rigid and rigid/small and rigid/nve +fixes are written to binary restart files. The +exception is if the infile or mol keyword is used, in which case an auxiliary file is written out with rigid body information each time -a restart file is written, as explained above for the infile -keyword. For style rigid/nvt the state of the Nose/Hoover -thermostat is written to binary restart files. See the -read_restart command for info on how to re-specify +a restart file is written, as explained above for the infile +keyword. For style rigid/nvt the state of the Nose/Hoover +thermostat is written to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify energy option is supported by the +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify energy option is supported by the rigid/nvt fix to add the energy change induced by the thermostatting -to the system’s potential energy as part of thermodynamic output.

    -

    The fix_modify temp and press options are +to the system's potential energy as part of thermodynamic +output. +

    +

    The fix_modify temp and press options are supported by the rigid/npt and rigid/nph fixes to change the computes used to calculate the instantaneous pressure tensor. Note that the rigid/nvt fix -does not use any external compute to compute instantaneous temperature.

    -

    The rigid and rigid/small and rigid/nve fixes compute a global -scalar which can be accessed by various output commands. The scalar value calculated by -these fixes is “intensive”. The scalar is the current temperature of +does not use any external compute to compute instantaneous temperature. +

    +

    The rigid and rigid/small and rigid/nve fixes compute a global +scalar which can be accessed by various output +commands. The scalar value calculated by +these fixes is "intensive". The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees -of freedom constrained by the force and torque keywords are -removed from this calculation, but only for the rigid and -rigid/nve fixes.

    -

    The rigid/nvt, rigid/npt, and rigid/nph fixes compute a global -scalar which can be accessed by various output commands. The scalar value calculated by -these fixes is “extensive”. The scalar is the cumulative energy -change due to the thermostatting and barostatting the fix performs.

    -

    All of the rigid fixes except rigid/small compute a global array -of values which can be accessed by various output commands. The number of rows in the +of freedom constrained by the force and torque keywords are +removed from this calculation, but only for the rigid and +rigid/nve fixes. +

    +

    The rigid/nvt, rigid/npt, and rigid/nph fixes compute a global +scalar which can be accessed by various output +commands. The scalar value calculated by +these fixes is "extensive". The scalar is the cumulative energy +change due to the thermostatting and barostatting the fix performs. +

    +

    All of the rigid fixes except rigid/small compute a global array +of values which can be accessed by various output +commands. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components -of the torque acting on the COM, and the xyz image flags of the COM.

    -

    The center of mass (COM) for each body is similar to unwrapped +of the torque acting on the COM, and the xyz image flags of the COM. +

    +

    The center of mass (COM) for each body is similar to unwrapped coordinates written to a dump file. It will always be inside (or slightly outside) the simulation box. The image flags have the same -meaning as image flags for atom positions (see the “dump” command). +meaning as image flags for atom positions (see the "dump" command). This means you can calculate the unwrapped COM by applying the image flags to the COM, the same as when unwrapped coordinates are written -to a dump file.

    -

    The force and torque values in the array are not affected by the -force and torque keywords in the fix rigid command; they reflect -values before any changes are made by those keywords.

    -

    The ordering of the rigid bodies (by row in the array) is as follows. -For the single keyword there is just one rigid body. For the -molecule keyword, the bodies are ordered by ascending molecule ID. -For the group keyword, the list of group IDs determines the ordering -of bodies.

    -

    The array values calculated by these fixes are “intensive”, meaning -they are independent of the number of atoms in the simulation.

    -

    No parameter of these fixes can be used with the start/stop keywords -of the run command. These fixes are not invoked during -energy minimization.

    -
    -
    -
    -

    Restrictions¶

    -

    These fixes are all part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Assigning a temperature via the velocity create -command to a system with rigid bodies may not have +to a dump file. +

    +

    The force and torque values in the array are not affected by the +force and torque keywords in the fix rigid command; they reflect +values before any changes are made by those keywords. +

    +

    The ordering of the rigid bodies (by row in the array) is as follows. +For the single keyword there is just one rigid body. For the +molecule keyword, the bodies are ordered by ascending molecule ID. +For the group keyword, the list of group IDs determines the ordering +of bodies. +

    +

    The array values calculated by these fixes are "intensive", meaning +they are independent of the number of atoms in the simulation. +

    +

    No parameter of these fixes can be used with the start/stop keywords +of the run command. These fixes are not invoked during +energy minimization. +

    +
    + +

    Restrictions: +

    +

    These fixes are all part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Assigning a temperature via the velocity create +command to a system with rigid bodies may not have the desired outcome for two reasons. First, the velocity command can be invoked before the rigid-body fix is invoked or initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different temperature than desired. A -workaround for this is to perform a run 0 command, which +workaround for this is to perform a run 0 command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For -example:

    -
    velocity all create 300.0 12345
    +example:
    +

    +
    velocity all create 300.0 12345
     run 0                             # temperature may not be 300K
    -velocity all scale 300.0          # now it should be
    -
    -
    -
    - -
    -

    Default¶

    -

    The option defaults are force * on on on and torque * on on on, +velocity all scale 300.0 # now it should be + +

    Related commands: +

    +

    delete_bonds, neigh_modify +exclude, fix shake +

    +

    Default: +

    +

    The option defaults are force * on on on and torque * on on on, meaning all rigid bodies are acted on by center-of-mass force and -torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3.

    -
    -

    (Hoover) Hoover, Phys Rev A, 31, 1695 (1985).

    -

    (Kamberaj) Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).

    -

    (Martyna) Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); -Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.

    -

    (Miller) Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, -J Chem Phys, 116, 8649 (2002).

    -

    (Zhang) Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).

    -
    -
    +torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3. +

    +
    + -
    -
    -
    - +

    (Hoover) Hoover, Phys Rev A, 31, 1695 (1985). +

    + -
    +

    (Kamberaj) Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Martyna) Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); +Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. +

    + -
    +

    (Miller) Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, +J Chem Phys, 116, 8649 (2002). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Zhang) Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). +

    + diff --git a/doc/fix_saed_vtk.html b/doc/fix_saed_vtk.html index 8ed5810c4f..25b281cb2c 100644 --- a/doc/fix_saed_vtk.html +++ b/doc/fix_saed_vtk.html @@ -1,354 +1,199 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix saed/vtk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix saed/vtk command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • saed/vtk = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • Nrepeat = # of times to use input values for calculating averages
    • -
    • Nfreq = calculate averages every this many timesteps
    • -
    • c_ID = saed compute ID
    • -
    -
    -keyword = file or ave or start or file or overwrite:l
    -  ave args = one or running or window M
    +
    +
    +
    + +

    fix saed/vtk command +

    +

    Syntax: +

    +
    fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • saed/vtk = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • Nrepeat = # of times to use input values for calculating averages + +
    • Nfreq = calculate averages every this many timesteps + +
    • c_ID = saed compute ID + +
      keyword = file or ave or start or file or overwrite:l
      +  ave args = one or running or window M
           one = output a new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  start args = Nstart
      +  start args = Nstart
           Nstart = start averaging on this timestep
      -  file arg = filename
      -    filename = name of file to output time averages to
      -  overwrite arg = none = overwrite output file with only latest output
      -
      -
    -
    -

    Examples¶

    -
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
    -
    -
    -
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    -fix saed/vtk 1 1 1 c_2 file Ni_000.saed
    -
    -
    -
    -
    -

    Description¶

    -

    Time average computed intensities from compute_saed and -write output to a file in the 3rd generation vtk image data format for -visualization directly in parallelized visualization software packages -like ParaView and VisIt. Note that if no time averaging is done, this -command can be used as a convenient way to simply output diffraction -intensities at a single snapshot.

    -

    To produce output in the image data vtk format ghost data is added -outside the Kmax range assigned in the compute saed. The ghost data is -assigned a value of -1 and can be removed setting a minimum isovolume -of 0 within the vizualiziton software. SAED images can be created by -visualizing a spherical slice of the data that is centered at -R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda.

    -

    The group specified within this command is ignored. However, note that + file arg = filename + filename = name of file to output time averages to + overwrite arg = none = overwrite output file with only latest output + + + +

    Examples: +

    +
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    +compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo 
    +
    +
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    +fix saed/vtk 1 1 1 c_2 file Ni_000.saed 
    +
    +

    Description: +

    +

    Time average computed intensities from compute_saed and +write output to a file in the 3rd generation vtk image data format for +visualization directly in parallelized visualization software packages +like ParaView and VisIt. Note that if no time averaging is done, this +command can be used as a convenient way to simply output diffraction +intensities at a single snapshot. +

    +

    To produce output in the image data vtk format ghost data is added +outside the Kmax range assigned in the compute saed. The ghost data is +assigned a value of -1 and can be removed setting a minimum isovolume +of 0 within the vizualiziton software. SAED images can be created by +visualizing a spherical slice of the data that is centered at +R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda. +

    +

    The group specified within this command is ignored. However, note that specified values may represent calculations performed by saed computes -which store their own “group” definitions.

    -

    Fix saed/vtk is designed to work only with compute_saed -values, e.g.

    -
    compute 3 top saed 0.0251 Al O
    -fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed
    -
    -
    -
    -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +which store their own "group" definitions. +

    +

    Fix saed/vtk is designed to work only with compute_saed +values, e.g. +

    +
    compute 3 top saed 0.0251 Al O 
    +fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed 
    +
    +
    + +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a multiple of Nfreq. The average is over Nrepeat +that are a multiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required.

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required. +

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc.

    -
    -

    The output for fix ave/time/saed is a file writen with the 3rd generation -vtk image data formatting. The filename assigned by the file keyword is -appended with _N.vtk where N is an index (0,1,2...) to account for multiple -diffraction intensity outputs.

    -

    By default the header contains the following information (with example data):

    -
    # vtk DataFile Version 3.0 c_SAED
    +100,200,etc.
    +

    +
    + +

    The output for fix ave/time/saed is a file writen with the 3rd generation +vtk image data formatting. The filename assigned by the file keyword is +appended with _N.vtk where N is an index (0,1,2...) to account for multiple +diffraction intensity outputs. +

    +

    By default the header contains the following information (with example data): +

    +
    # vtk DataFile Version 3.0 c_SAED
     Image data set
     ASCII
     DATASET STRUCTURED_POINTS
     DIMENSIONS 337 219 209
     ASPECT_RATIO 0.00507953 0.00785161 0.00821458
    -ORIGIN -0.853361 -0.855826 -0.854316
    +ORIGIN -0.853361 -0.855826 -0.854316 
     POINT_DATA 15424827
     SCALARS intensity float
     LOOKUP_TABLE default
    -...data
    -
    -
    -

    In this example, kspace is sampled across a 337 x 219 x 209 point mesh -where the mesh spacing is approximately 0.005, 0.007, and 0.008 -inv(length) units in the k1, k2, and k3 directions, respectively. +...data + +

    In this example, kspace is sampled across a 337 x 219 x 209 point mesh +where the mesh spacing is approximately 0.005, 0.007, and 0.008 +inv(length) units in the k1, k2, and k3 directions, respectively. The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are -sampled in total.

    -
    -

    Additional optional keywords also affect the operation of this fix.

    -

    The ave keyword determines how the values produced every Nfreq +sampled in total. +

    +
    + +

    Additional optional keywords also affect the operation of this fix. +

    +

    The ave keyword determines how the values produced every Nfreq steps are averaged with values produced on previous steps that were -multiples of Nfreq, before they are accessed by another output -command or written to a file.

    -

    If the ave setting is one, then the values produced on timesteps -that are multiples of Nfreq are independent of each other; they are -output as-is without further averaging.

    -

    If the ave setting is running, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +multiples of Nfreq, before they are accessed by another output +command or written to a file. +

    +

    If the ave setting is one, then the values produced on timesteps +that are multiples of Nfreq are independent of each other; they are +output as-is without further averaging. +

    +

    If the ave setting is running, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the unfix -command, or by re-defining the fix by re-specifying it.

    -

    If the ave setting is window, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving “window” of time, so that the last M values are used to +only be restarted by deleting the fix via the unfix +command, or by re-defining the fix by re-specifying it. +

    +

    If the ave setting is window, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving "window" of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available.

    -

    The start keyword specifies what timestep averaging will begin on. +values if they are not available. +

    +

    The start keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so -setting start to a larger value can avoid including a 0.0 in a -running or windowed average.

    -

    The file keyword allows a filename to be specified. Every Nfreq -steps, the vector of saed intensity data is written to a new file using -the 3rd generation vtk format. The base of each file is assigned by -the file keyword and this string is appended with _N.vtk where N is +setting start to a larger value can avoid including a 0.0 in a +running or windowed average. +

    +

    The file keyword allows a filename to be specified. Every Nfreq +steps, the vector of saed intensity data is written to a new file using +the 3rd generation vtk format. The base of each file is assigned by +the file keyword and this string is appended with _N.vtk where N is an index (0,1,2...) to account for situations with multiple diffraction -intensity outputs.

    -

    The overwrite keyword will continuously overwrite the output file +intensity outputs. +

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    The attributes for fix_saed_vtk must match the values assigned in the -associated compute_saed command.

    -
    - -
    -

    Default¶

    -

    The option defaults are ave = one, start = 0, no file output.

    -
    -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013).

    -
    -
    +output. This option can only be used with the ave running setting. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    The attributes for fix_saed_vtk must match the values assigned in the +associated compute_saed command. +

    +

    Related commands: +

    +

    compute_saed +

    +

    Default: +

    +

    The option defaults are ave = one, start = 0, no file output. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013). +

    + diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html index 7a91130031..da6ffb5d3f 100644 --- a/doc/fix_setforce.html +++ b/doc/fix_setforce.html @@ -1,293 +1,129 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix setforce command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix setforce command¶

    -
    -
    -

    fix setforce/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID setforce fx fy fz keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • setforce = style name of this fix command
    • -
    • fx,fy,fz = force component values
    • -
    • any of fx,fy,fz can be a variable (see below)
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = region
    • -
    -
    -region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    -
    -
    -
    -

    Examples¶

    -
    fix freeze indenter setforce 0.0 0.0 0.0
    +
    +
    +
    + +

    fix setforce command +

    +

    fix setforce/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID setforce fx fy fz keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • setforce = style name of this fix command + +
    • fx,fy,fz = force component values + +
    • any of fx,fy,fz can be a variable (see below) + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = region + +
        region value = region-ID
      +    region-ID = ID of region atoms must be in to have added force 
      +
      + +
    +

    Examples: +

    +
    fix freeze indenter setforce 0.0 0.0 0.0
     fix 2 edge setforce NULL 0.0 0.0
    -fix 2 edge setforce NULL 0.0 v_oscillate
    -
    -
    -
    -
    -

    Description¶

    -

    Set each component of force on each atom in the group to the specified +fix 2 edge setforce NULL 0.0 v_oscillate + +

    Description: +

    +

    Set each component of force on each atom in the group to the specified values fx,fy,fz. This erases all previously computed forces on the atom, though additional fixes could add new forces. This command can be used to freeze certain atoms in the simulation by zeroing their force, either for running dynamics or performing an energy minimization. For dynamics, this assumes their initial velocity is -also zero.

    -

    Any of the fx,fy,fz values can be specified as NULL which means do not -alter the force component in that dimension.

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style variable, namely fx, -fy, fz. If the value is a variable, it should be specified as +also zero. +

    +

    Any of the fx,fy,fz values can be specified as NULL which means do not +alter the force component in that dimension. +

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style or atom-style variable, namely fx, +fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -force component.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +force component. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field.

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent force field. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well.

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it.

    -
    -

    Styles with a cuda suffix are functionally the same as the +field with optional time-dependence as well. +

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command, but you cannot set +fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command, but you cannot set forces to any value besides zero when performing a minimization. Use -the fix addforce command if you want to apply a -non-zero force to atoms during a minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the fix addforce command if you want to apply a +non-zero force to atoms during a minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix addforce, fix aveforce +

    +

    Default: none +

    + diff --git a/doc/fix_shake.html b/doc/fix_shake.html index bdaea8ba19..9aedcf50ad 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -1,210 +1,103 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix shake command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix shake command¶

    -
    -
    -

    fix shake/cuda command¶

    -
    -
    -

    fix rattle command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style tol iter N constraint values ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = shake or rattle = style name of this fix command
    • -
    • tol = accuracy tolerance of SHAKE solution
    • -
    • iter = max # of iterations in each SHAKE solution
    • -
    • N = print SHAKE statistics every this many timesteps (0 = never)
    • -
    • one or more constraint/value pairs are appended
    • -
    • constraint = b or a or t or m
    • -
    -
    -b values = one or more bond types
    -  a values = one or more angle types
    -  t values = one or more atom types
    -  m value = one or more mass values
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = mol
    • -
    -
    -mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -
    -
    -
    -

    Examples¶

    -
    fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
    +
    +
    +
    + +

    fix shake command +

    +

    fix shake/cuda command +

    +

    fix rattle command +

    +

    Syntax: +

    +
    fix ID group-ID style tol iter N constraint values ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style = shake or rattle = style name of this fix command + +
    • tol = accuracy tolerance of SHAKE solution + +
    • iter = max # of iterations in each SHAKE solution + +
    • N = print SHAKE statistics every this many timesteps (0 = never) + +
    • one or more constraint/value pairs are appended + +
    • constraint = b or a or t or m + +
        b values = one or more bond types
      +  a values = one or more angle types
      +  t values = one or more atom types
      +  m value = one or more mass values 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = mol + +
        mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command 
      +
      + +
    +

    Examples: +

    +
    fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
     fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31
     fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol
     fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31
    -fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol
    -
    -
    -
    -
    -

    Description¶

    -

    Apply bond and angle constraints to specified bonds and angles in the +fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol + +

    Description: +

    +

    Apply bond and angle constraints to specified bonds and angles in the simulation by either the SHAKE or RATTLE algorithms. This typically -enables a longer timestep.

    -

    SHAKE vs RATTLE:

    -

    The SHAKE algorithm was invented for schemes such as standard Verlet +enables a longer timestep. +

    +

    SHAKE vs RATTLE: +

    +

    The SHAKE algorithm was invented for schemes such as standard Verlet timesteppnig, where only the coordinates are integrated and the velocities are approximated as finite differences to the trajectories -(Ryckaert et al. (1977)). If the velocities are +(Ryckaert et al. (1977)). If the velocities are integrated explicitly, as with velocity Verlet which is what LAMMPS uses as an integration method, a second set of constraining forces is required in order to eliminate velocity components along the bonds -(Andersen (1983)).

    -

    In order to formulate individual constraints for SHAKE and RATTLE, +(Andersen (1983)). +

    +

    In order to formulate individual constraints for SHAKE and RATTLE, focus on a single molecule whose bonds are constrained. Let Ri and Vi -be the position and velocity of atom i at time n, for -i*=1,...,*N, where N is the number of sites of our reference -molecule. The distance vector between sites i and j is given by

    -_images/fix_rattle_rij.jpg -

    The constraints can then be formulated as

    -_images/fix_rattle_constraints.jpg -

    The SHAKE algorithm satisfies the first condition, i.e. the sites at -time n+1 will have the desired separations Dij immediately after the +be the position and velocity of atom i at time n, for +i=1,...,N, where N is the number of sites of our reference +molecule. The distance vector between sites i and j is given by +

    +
    +
    +

    The constraints can then be formulated as +

    +
    +
    +

    The SHAKE algorithm satisfies the first condition, i.e. the sites at +time n+1 will have the desired separations Dij immediately after the coordinates are integrated. If we also enforce the second condition, the velocity components along the bonds will vanish. RATTLE satisfies both conditions. As implemented in LAMMPS, fix rattle uses fix shake for satisfying the coordinate constraints. Therefore the settings and optional keywords are the same for both fixes, and all the information -below about SHAKE is also relevant for RATTLE.

    -

    SHAKE:

    -

    Each timestep the specified bonds and angles are reset to their +below about SHAKE is also relevant for RATTLE. +

    +

    SHAKE: +

    +

    Each timestep the specified bonds and angles are reset to their equilibrium lengths and angular values via the SHAKE algorithm -(Ryckaert et al. (1977)). This is done by applying an +(Ryckaert et al. (1977)). This is done by applying an additional constraint force so that the new positions preserve the desired atom separations. The equations for the additional force are solved via an iterative method that typically converges to an accurate @@ -212,8 +105,9 @@ solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of iterations are specified as arguments. Setting the N argument will print statistics to the screen and log file about regarding the lengths of bonds and angles that are being -constrained. Small delta values mean SHAKE is doing a good job.

    -

    In LAMMPS, only small clusters of atoms can be constrained. This is +constrained. Small delta values mean SHAKE is doing a good job. +

    +

    In LAMMPS, only small clusters of atoms can be constrained. This is so the constraint calculation for a cluster can be performed by a single processor, to enable good parallel performance. A cluster is defined as a central atom connected to others in the cluster by @@ -222,167 +116,132 @@ to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or one central atom bonded to 2 others and the angle between the 3 atoms also constrained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer -chain.

    -

    The b constraint lists bond types that will be constrained. The t +chain. +

    +

    The b constraint lists bond types that will be constrained. The t constraint lists atom types. All bonds connected to an atom of the -specified type will be constrained. The m constraint lists atom +specified type will be constrained. The m constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The a constraint lists angle types. If both bonds +fix_shake.cpp). The a constraint lists angle types. If both bonds in the angle are constrained then the angle will also be constrained -if its type is in the list.

    -

    For all constraints, a particular bond is only constrained if both -atoms in the bond are in the group specified with the SHAKE fix.

    -

    The degrees-of-freedom removed by SHAKE bonds and angles are accounted +if its type is in the list. +

    +

    For all constraints, a particular bond is only constrained if both +atoms in the bond are in the group specified with the SHAKE fix. +

    +

    The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE contribution to the pressure of the system (virial) is also accounted -for.

    -
    -

    Warning

    -

    This command works by using the current forces on +for. +

    +

    IMPORTANT NOTE: This command works by using the current forces on atoms to caculate an additional constraint force which when added will leave the atoms in positions that satisfy the SHAKE constraints (e.g. bond length) after the next time integration step. If you -define fixes (e.g. fix efield) that add additional +define fixes (e.g. fix efield) that add additional force to the atoms after fix shake operates, then this fix will not take them into account and the time integration will typically not satisfy the SHAKE constraints. The solution for this is to make sure that fix shake is defined in your input script after any other fixes -which add or change forces (to atoms that fix shake operates on).

    -
    -
    -

    The mol keyword should be used when other commands, such as fix deposit or fix pour, add molecules +which add or change forces (to atoms that fix shake operates on). +

    +
    + +

    The mol keyword should be used when other commands, such as fix +deposit or fix pour, add molecules on-the-fly during a simulation, and you wish to contrain the new -molecules via SHAKE. You specify a template-ID previously defined -using the molecule command, which reads a file that -defines the molecule. You must use the same template-ID that the +molecules via SHAKE. You specify a template-ID previously defined +using the molecule command, which reads a file that +defines the molecule. You must use the same template-ID that the command adding molecules uses. The coordinates, atom types, special bond restrictions, and SHAKE info can be specified in the molecule -file. See the molecule command for details. The only +file. See the molecule command for details. The only settings required to be in this file (by this command) are the SHAKE -info of atoms in the molecule.

    -
    -

    Styles with a cuda suffix are functionally the same as the +info of atoms in the molecule. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    RATTLE:

    -

    The velocity constraints lead to a linear system of equations which +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    RATTLE: +

    +

    The velocity constraints lead to a linear system of equations which can be solved analytically. The implementation of the algorithm in -LAMMPS closely follows (Andersen (1983)).

    -
    -

    Warning

    -

    The fix rattle command modifies forces and velocities +LAMMPS closely follows (Andersen (1983)). +

    +

    IMPORTANT NOTE: The fix rattle command modifies forces and velocities and thus should be defined after all other integration fixes in your input script. If you define other fixes that modify velocities or forces after fix rattle operates, then fix rattle will not take them into account and the overall time integration will typically not satisfy the RATTLE constraints. You can check whether the constraints work correctly by setting the value of RATTLE_DEBUG in -src/fix_rattle.cpp to 1 and recompiling LAMMPS.

    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about these fixes is written to binary restart files. None of the fix_modify options +src/fix_rattle.cpp to 1 and recompiling LAMMPS. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about these fixes is written to binary restart +files. None of the fix_modify options are relevant to these fixes. No global or per-atom quantities are -stored by these fixes for access by various output commands. No parameter of these fixes -can be used with the start/stop keywords of the run -command. These fixes are not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    These fixes are part of the RIGID package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    For computational efficiency, there can only be one shake or rattle -fix defined in a simulation.

    -

    If you use a tolerance that is too large or a max-iteration count that +stored by these fixes for access by various output +commands. No parameter of these fixes +can be used with the start/stop keywords of the run +command. These fixes are not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    These fixes are part of the RIGID package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    For computational efficiency, there can only be one shake or rattle +fix defined in a simulation. +

    +

    If you use a tolerance that is too large or a max-iteration count that is too small, the constraints will not be enforced very strongly, which can lead to poor energy conservation. You can test for this in your system by running a constant NVE simulation with a particular set -of SHAKE parameters and monitoring the energy versus time.

    -

    SHAKE or RATTLE should not be used to contrain an angle at 180 degrees -(e.g. linear CO2 molecule). This causes numeric difficulties.

    -

    Related commands: none

    -

    Default: none

    -
    -

    (Ryckaert) J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, -J of Comp Phys, 23, 327-341 (1977).

    -

    (Andersen) H. Andersen, J of Comp Phys, 52, 24-34 (1983).

    -
    -
    +of SHAKE parameters and monitoring the energy versus time. +

    +

    SHAKE or RATTLE should not be used to contrain an angle at 180 degrees +(e.g. linear CO2 molecule). This causes numeric difficulties. +

    +

    Related commands: none +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Ryckaert) J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, +J of Comp Phys, 23, 327-341 (1977). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Andersen) H. Andersen, J of Comp Phys, 52, 24-34 (1983). +

    + diff --git a/doc/fix_smd.html b/doc/fix_smd.html index e6e0335784..ececffdc41 100644 --- a/doc/fix_smd.html +++ b/doc/fix_smd.html @@ -1,324 +1,162 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix smd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix smd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID smd type values keyword values
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • smd = style name of this fix command
    • -
    • mode = cvel or cfor to select constant velocity or constant force SMD
    • -
    -
    -cvel values = K vel
    +
    +
    +
    + +

    fix smd command +

    +

    Syntax: +

    +
    fix ID group-ID smd type values keyword values 
    +
    +
    • ID, group-ID are documented in fix command + +
    • smd = style name of this fix command + +
    • mode = cvel or cfor to select constant velocity or constant force SMD + +
        cvel values = K vel
           K = spring constant (force/distance units)
      -    vel = velocity of pulling (distance/time units)
      -  cfor values = force
      -    force = pulling force (force units)
      -
      -
        -
      • keyword = tether or couple
      • -
      -
      -tether values = x y z R0
      +    vel = velocity of pulling (distance/time units) 
      +  cfor values = force
      +    force = pulling force (force units) 
      +
      +
    • keyword = tether or couple + +
        tether values = x y z R0
           x,y,z = point to which spring is tethered
           R0 = distance of end of spring from tether point (distance units)
      -  couple values = group-ID2 x y z R0
      +  couple values = group-ID2 x y z R0
           group-ID2 = 2nd group to couple to fix group with a spring
           x,y,z = direction of spring, automatically computed with 'auto'
      -    R0 = distance of end of spring (distance units)
      -
      -
    -
    -

    Examples¶

    -
    fix  pull    cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0
    +    R0 = distance of end of spring (distance units) 
    +
    + + +

    Examples: +

    +
    fix  pull    cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0
     fix  pull    cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0
     fix  stretch cterm smd cvel 20.0  0.0001 couple nterm auto auto auto 0.0
    -fix  pull    cterm smd cfor  5.0 tether 25.0 25.0 25.0 0.0
    -
    -
    -
    -
    -

    Description¶

    -

    This fix implements several options of steered MD (SMD) as reviewed in -(Izrailev), which allows to induce conformational changes +fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 + +

    Description: +

    +

    This fix implements several options of steered MD (SMD) as reviewed in +(Izrailev), which allows to induce conformational changes in systems and to compute the potential of mean force (PMF) along the -assumed reaction coordinate (Park) based on Jarzynski’s -equality (Jarzynski). This fix borrows a lot from fix spring and fix setforce.

    -

    You can apply a moving spring force to a group of atoms (tether -style) or between two groups of atoms (couple style). The spring -can then be used in either constant velocity (cvel) mode or in -constant force (cfor) mode to induce transitions in your systems. -When running in tether style, you may need some way to fix some -other part of the system (e.g. via fix spring/self)

    -

    The tether style attaches a spring between a point at a distance of -R0 away from a fixed point x,y,z and the center of mass of the fix +assumed reaction coordinate (Park) based on Jarzynski's +equality (Jarzynski). This fix borrows a lot from fix +spring and fix setforce. +

    +

    You can apply a moving spring force to a group of atoms (tether +style) or between two groups of atoms (couple style). The spring +can then be used in either constant velocity (cvel) mode or in +constant force (cfor) mode to induce transitions in your systems. +When running in tether style, you may need some way to fix some +other part of the system (e.g. via fix +spring/self) +

    +

    The tether style attaches a spring between a point at a distance of +R0 away from a fixed point x,y,z and the center of mass of the fix group of atoms. A restoring force of magnitude K (R - R0) Mi / M is -applied to each atom in the group where K is the spring constant, Mi +applied to each atom in the group where K is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the -group. Note that K thus represents the total force on the group of -atoms, not a per-atom force.

    -

    In cvel mode the distance R is incremented or decremented +group. Note that K thus represents the total force on the group of +atoms, not a per-atom force. +

    +

    In cvel mode the distance R is incremented or decremented monotonously according to the pulling (or pushing) velocity. -In cfor mode a constant force is added and the actual distance -in direction of the spring is recorded.

    -

    The couple style links two groups of atoms together. The first +In cfor mode a constant force is added and the actual distance +in direction of the spring is recorded. +

    +

    The couple style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector in direction x,y,z with +the two groups are displaced by a vector in direction x,y,z with respect to each other and at a distance R0 from that displacement. -Note that x,y,z only provides a direction and will be internally -normalized. But since it represents the absolute displacement of +Note that x,y,z only provides a direction and will be internally +normalized. But since it represents the absolute displacement of group-ID2 relative to the fix group, (1,1,0) is a different spring than (-1,-1,0). For each vector component, the displacement can be -described with the auto parameter. In this case the direction is +described with the auto parameter. In this case the direction is recomputed in every step, which can be useful for steering a local process where the whole object undergoes some other change. When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms -in each of the two groups.

    -

    For both the tether and couple styles, any of the x,y,z values can +in each of the two groups. +

    +

    For both the tether and couple styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the -distance calculation or force application.

    -

    For constant velocity pulling (cvel mode), the running integral +distance calculation or force application. +

    +

    For constant velocity pulling (cvel mode), the running integral over the pulling force in direction of the spring is recorded and -can then later be used to compute the potential of mean force (PMF) +can then later be used to compute the potential of mean force (PMF) by averaging over multiple independent trajectories along the same -pulling path.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    The fix stores the direction of the spring, current pulling target -distance and the running PMF to binary restart files. -See the read_restart command for info on how to +pulling path. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    The fix stores the direction of the spring, current pulling target +distance and the running PMF to binary restart files. +See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    This fix computes a vector list of 7 quantities, which can be accessed -by various output commands. The +the operation of the fix continues in an uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    This fix computes a vector list of 7 quantities, which can be accessed +by various output commands. The quantities in the vector are in this order: the x-, y-, and z-component of the pulling force, the total force in direction of the pull, the equilibrium distance of the spring, the distance between the two reference points, and finally the accumulated PMF (the sum of -pulling forces times displacement).

    -

    The force is the total force on the group of atoms by the spring. In -the case of the couple style, it is the force on the fix group +pulling forces times displacement). +

    +

    The force is the total force on the group of atoms by the spring. In +the case of the couple style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). -The vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. +

    +

    (Park) +Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) +

    +

    (Jarzynski) +Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) +

    + diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 329ec9650c..80d6d695df 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -1,326 +1,151 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix spring command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix spring command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID spring keyword values
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • spring = style name of this fix command
    • -
    • keyword = tether or couple
    • -
    -
    -tether values = K x y z R0
    +
    +
    +
    + +

    fix spring command +

    +

    Syntax: +

    +
    fix ID group-ID spring keyword values 
    +
    +
    • ID, group-ID are documented in fix command + +
    • spring = style name of this fix command + +
    • keyword = tether or couple + +
        tether values = K x y z R0
           K = spring constant (force/distance units)
           x,y,z = point to which spring is tethered
           R0 = equilibrium distance from tether point (distance units)
      -  couple values = group-ID2 K x y z R0
      +  couple values = group-ID2 K x y z R0
           group-ID2 = 2nd group to couple to fix group with a spring
           K = spring constant (force/distance units)
           x,y,z = direction of spring
      -    R0 = equilibrium distance of spring (distance units)
      -
      -
    -
    -

    Examples¶

    -
    fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
    +    R0 = equilibrium distance of spring (distance units) 
    +
    + + +

    Examples: +

    +
    fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
     fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0
     fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0
     fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0
     fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0
    -fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a spring force to a group of atoms or between two groups of +fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 + +

    Description: +

    +

    Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so -that it doesn’t wander away over the course of a long simulation. It +that it doesn't wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at -a given distance or orientation with respect to each other.

    -

    The tether style attaches a spring between a fixed point x,y,z and +a given distance or orientation with respect to each other. +

    +

    The tether style attaches a spring between a fixed point x,y,z and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each -atom in the group where K is the spring constant, Mi is the mass of +atom in the group where K is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note -that K thus represents the total force on the group of atoms, not a -per-atom force.

    -

    The couple style links two groups of atoms together. The first +that K thus represents the total force on the group of atoms, not a +per-atom force. +

    +

    The couple style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector x,y,z with respect to each -other and at a distance R0 from that displacement. Note that x,y,z +the two groups are displaced by a vector x,y,z with respect to each +other and at a distance R0 from that displacement. Note that x,y,z is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms -in each of the two groups.

    -

    For both the tether and couple styles, any of the x,y,z values can +in each of the two groups. +

    +

    For both the tether and couple styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the -distance calculation or force application.

    -

    The first example above pulls the ligand towards the point (0,0,0). +distance calculation or force application. +

    +

    The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand -a distance 3 away from the z=2 plane (on either side).

    -

    The fourth example holds 2 bilayers a distance 10 apart in z. For the +a distance 3 away from the z=2 plane (on either side). +

    +

    The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis -(assuming the center-of-mass of the pore in x,y is the pore axis).

    -
    -

    Warning

    -

    The center of mass of a group of atoms is calculated -in “unwrapped” coordinates using atom image flags, which means that -the group can straddle a periodic boundary. See the dump +(assuming the center-of-mass of the pore in x,y is the pore axis). +

    +

    IMPORTANT NOTE: The center of mass of a group of atoms is calculated +in "unwrapped" coordinates using atom image flags, which means that +the group can straddle a periodic boundary. See the dump doc page for a discussion of unwrapped coordinates. It also means that a spring connecting two groups or a group and the tether point can cross a periodic boundary and its length be calculated correctly. One exception is for rigid bodies, which should not be used with the fix spring command, if the rigid body will cross a periodic boundary. This is because image flags for rigid bodies are used in a different -way, as explained on the fix rigid doc page.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this -fix to add the energy stored in the spring to the system’s potential -energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -spring energy = 0.5 * K * r^2.

    -

    This fix also computes global 4-vector which can be accessed by -various output commands. The first 3 +way, as explained on the fix rigid doc page. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this +fix to add the energy stored in the spring to the system's potential +energy as part of thermodynamic output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +spring energy = 0.5 * K * r^2. +

    +

    This fix also computes global 4-vector which can be accessed by +various output commands. The first 3 quantities in the vector are xyz components of the total force added -to the group of atoms by the spring. In the case of the couple +to the group of atoms by the spring. In the case of the couple style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). The 4th quantity in the vector is the magnitude of the force added by the spring, as a -positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This +positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention can be useful when using the spring force to compute a -potential of mean force (PMF).

    -

    The scalar and vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the spring energy to be included in the +potential of mean force (PMF). +

    +

    The scalar and vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the spring energy to be included in the total potential energy of the system (the quantity being minimized), -you MUST enable the fix_modify energy option for -this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +you MUST enable the fix_modify energy option for +this fix. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix drag, fix spring/self, +fix spring/rg, fix smd +

    +

    Default: none +

    + diff --git a/doc/fix_spring_rg.html b/doc/fix_spring_rg.html index 61b0244c11..535e088be6 100644 --- a/doc/fix_spring_rg.html +++ b/doc/fix_spring_rg.html @@ -1,253 +1,72 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix spring/rg command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix spring/rg command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID spring/rg K RG0
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • spring/rg = style name of this fix command
    • -
    • K = harmonic force constant (force/distance units)
    • -
    • RG0 = target radius of gyration to constrain to (distance units)
    • -
    -
    if RG0 = NULL, use the current RG as the target value
    -
    -
    -
    -
    -

    Examples¶

    -
    fix 1 protein spring/rg 5.0 10.0
    -fix 2 micelle spring/rg 5.0 NULL
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a harmonic restraining force to atoms in the group to affect + + +


    + +

    fix spring/rg command +

    +

    Syntax: +

    +
    fix ID group-ID spring/rg K RG0 
    +
    +
    • ID, group-ID are documented in fix command +
    • spring/rg = style name of this fix command +
    • K = harmonic force constant (force/distance units) +
    • RG0 = target radius of gyration to constrain to (distance units) +
    +
      if RG0 = NULL, use the current RG as the target value 
    +
    +

    Examples: +

    +
    fix 1 protein spring/rg 5.0 10.0
    +fix 2 micelle spring/rg 5.0 NULL 
    +
    +

    Description: +

    +

    Apply a harmonic restraining force to atoms in the group to affect their central moment about the center of mass (radius of gyration). This fix is useful to encourage a protein or polymer to fold/unfold and also when sampling along the radius of gyration as a reaction -coordinate (i.e. for protein folding).

    -

    The radius of gyration is defined as RG in the first formula. The +coordinate (i.e. for protein folding). +

    +

    The radius of gyration is defined as RG in the first formula. The energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG -than the target value RG0.

    -_images/fix_spring_rg.jpg -

    The (xi - center-of-mass) term is computed taking into account +than the target value RG0. +

    +
    +
    +

    The (xi - center-of-mass) term is computed taking into account periodic boundary conditions, m_i is the mass of the atom, and M is the mass of the entire group. Note that K is thus a force constant -for the aggregate force on the group of atoms, not a per-atom force.

    -

    If RG0 is specified as NULL, then the RG of the group is computed at -the time the fix is specified, and that value is used as the target.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +for the aggregate force on the group of atoms, not a per-atom force. +

    +

    If RG0 is specified as NULL, then the RG of the group is computed at +the time the fix is specified, and that value is used as the target. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix spring, fix spring/self +fix drag, fix smd +

    +

    Default: none +

    + diff --git a/doc/fix_spring_self.html b/doc/fix_spring_self.html index d3ee397f21..7665abdddf 100644 --- a/doc/fix_spring_self.html +++ b/doc/fix_spring_self.html @@ -1,266 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix spring/self command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix spring/self command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID spring/self K dir
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • spring/self = style name of this fix command
    • -
    • K = spring constant (force/distance units)
    • -
    • dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz)
    • -
    -
    -
    -

    Examples¶

    -
    fix tether boundary-atoms spring/self 10.0
    -fix zrest  move spring/self 10.0 z
    -
    -
    -
    -
    -

    Description¶

    -

    Apply a spring force independently to each atom in the group to tether + + +


    + +

    fix spring/self command +

    +

    Syntax: +

    +
    fix ID group-ID spring/self K dir 
    +
    +
    • ID, group-ID are documented in fix command +
    • spring/self = style name of this fix command +
    • K = spring constant (force/distance units) +
    • dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz) +
    +

    Examples: +

    +
    fix tether boundary-atoms spring/self 10.0
    +fix zrest  move spring/self 10.0 z 
    +
    +

    Description: +

    +

    Apply a spring force independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. At each timestep, the magnitude of the force on each atom is -Kr, where r is the displacement of the atom from its current position to its initial position. The distance r correctly takes into account any crossings of periodic boundary by the atom since it was in its intitial -position.

    -

    With the (optional) dir flag, one can select in which direction the +position. +

    +

    With the (optional) dir flag, one can select in which direction the spring force is applied. By default, the restraint is applied in all directions, but it can be limited to the xy-, xz-, yz-plane and the x-, y-, or z-direction, thus restraining the atoms to a line or a -plane, respectively.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the original coordinates of tethered atoms to binary restart files, so that the spring effect will be the +plane, respectively. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the original coordinates of tethered atoms to binary +restart files, so that the spring effect will be the same in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion.

    -

    The fix_modify energy option is supported by this -fix to add the energy stored in the per-atom springs to the system’s -potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is an +operation of the fix continues in an uninterrupted fashion. +

    +

    The fix_modify energy option is supported by this +fix to add the energy stored in the per-atom springs to the system's +potential energy as part of thermodynamic output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is an energy which is the sum of the spring energy for each atom, where the per-atom energy is 0.5 * K * r^2. The scalar value calculated by this -fix is “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the per-atom spring energy to be included +fix is "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being -minimized), you MUST enable the fix_modify energy -option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +minimized), you MUST enable the fix_modify energy +option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix drag, fix spring, +fix smd, fix spring/rg +

    +

    Default: none +

    + diff --git a/doc/fix_srd.html b/doc/fix_srd.html index b2408e6ae1..9c87160d74 100644 --- a/doc/fix_srd.html +++ b/doc/fix_srd.html @@ -1,186 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix srd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix srd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • srd = style name of this fix command
    • -
    • N = reset SRD particle velocities every this many timesteps
    • -
    • groupbig-ID = ID of group of large particles that SRDs interact with
    • -
    • Tsrd = temperature of SRD particles (temperature units)
    • -
    • hgrid = grid spacing for SRD grouping (distance units)
    • -
    • seed = random # seed (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = lamda or collision or overlap or inside or exact or radius or bounce or search or cubic or shift or tstat or rescale
    • -
    -
    -lamda value = mean free path of SRD particles (distance units)
    -  collision value = noslip or slip = collision model
    -  overlap value = yes or no = whether big particles may overlap
    -  inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
    -  exact value = yes or no
    -  radius value = rfactor = scale collision radius by this factor
    -  bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
    -  search value = sgrid = grid spacing for collision partner searching (distance units)
    -  cubic values = style tolerance
    -    style = error or warn
    -    tolerance = fractional difference allowed (0 <= tol <= 1)
    -  shift values = flag shiftseed
    -    flag = yes or no or possible = SRD bin shifting for better statistics
    -      yes = perform bin shifting each time SRD velocities are rescaled
    -      no = no shifting
    -      possible = shift depending on mean free path and bin size
    +
    +
    +
    + +

    fix srd command +

    +

    Syntax: +

    +
    fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command +
    • srd = style name of this fix command +
    • N = reset SRD particle velocities every this many timesteps +
    • groupbig-ID = ID of group of large particles that SRDs interact with +
    • Tsrd = temperature of SRD particles (temperature units) +
    • hgrid = grid spacing for SRD grouping (distance units) +
    • seed = random # seed (positive integer) +
    +
    • zero or more keyword/value pairs may be appended + +
    • keyword = lamda or collision or overlap or inside or exact or radius or bounce or search or cubic or shift or tstat or rescale + +
        lamda value = mean free path of SRD particles (distance units)
      +  collision value = noslip or slip = collision model
      +  overlap value = yes or no = whether big particles may overlap
      +  inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
      +  exact value = yes or no
      +  radius value = rfactor = scale collision radius by this factor
      +  bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
      +  search value = sgrid = grid spacing for collision partner searching (distance units)
      +  cubic values = style tolerance
      +    style = error or warn
      +    tolerance = fractional difference allowed (0 <= tol <= 1)
      +  shift values = flag shiftseed
      +    flag = yes or no or possible = SRD bin shifting for better statistics
      +      yes = perform bin shifting each time SRD velocities are rescaled
      +      no = no shifting
      +      possible = shift depending on mean free path and bin size
           shiftseed = random # seed (positive integer)
      -  tstat value = yes or no = thermostat SRD particles or not
      -  rescale value = yes or no or rotate or collide = rescaling of SRD velocities
      -    yes = rescale during velocity rotation and collisions
      -    no = no rescaling
      -    rotate = rescale during velocity rotation, but not collisions
      -    collide = rescale during collisions, but not velocity rotation
      -
      -
    -
    -

    Examples¶

    -
    fix 1 srd srd 10 big 1.0 0.25 482984
    -fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    Treat a group of partilces as stochastic rotation dynamics (SRD) + tstat value = yes or no = thermostat SRD particles or not + rescale value = yes or no or rotate or collide = rescaling of SRD velocities + yes = rescale during velocity rotation and collisions + no = no rescaling + rotate = rescale during velocity rotation, but not collisions + collide = rescale during collisions, but not velocity rotation + + + +

    Examples: +

    +
    fix 1 srd srd 10 big 1.0 0.25 482984
    +fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 
    +
    +

    Description: +

    +

    Treat a group of partilces as stochastic rotation dynamics (SRD) particles that serve as a background solvent when interacting with big (colloidal) particles in groupbig-ID. The SRD formalism is described -in (Hecht). The key idea behind using SRD particles as a +in (Hecht). The key idea behind using SRD particles as a cheap coarse-grained solvent is that SRD particles do not interact with each other, but only with the solute particles, which in LAMMPS can be spheroids, ellipsoids, or line segments, or triangles, or rigid @@ -190,159 +73,185 @@ imbue the SRD particles with fluid-like properties, including an effective viscosity. Thus simulations with large solute particles can be run more quickly, to measure solute propoerties like diffusivity and viscosity in a background fluid. The usual LAMMPS fixes for such -simulations, such as fix deform, fix viscosity, and fix nvt/sllod, -can be used in conjunction with the SRD model.

    -

    For more details on how the SRD model is implemented in LAMMPS, this paper describes the implementation and usage of pure SRD -fluids. This paper, which is nearly complete, describes +simulations, such as fix deform, fix +viscosity, and fix nvt/sllod, +can be used in conjunction with the SRD model. +

    +

    For more details on how the SRD model is implemented in LAMMPS, this +paper describes the implementation and usage of pure SRD +fluids. This paper, which is nearly complete, describes the implementation and usage of mixture systems (solute particles in an SRD fluid). See the examples/srd directory for sample input -scripts using SRD particles in both settings.

    -

    This fix does 2 things:

    -

    (1) It advects the SRD particles, performing collisions between SRD +scripts using SRD particles in both settings. +

    +

    This fix does 2 things: +

    +

    (1) It advects the SRD particles, performing collisions between SRD and big particles or walls every timestep, imparting force and torque to the big particles. Collisions also change the position and -velocity of SRD particles.

    -

    (2) It resets the velocity distribution of SRD particles via random -rotations every N timesteps.

    -

    SRD particles have a mass, temperature, characteristic timestep +velocity of SRD particles. +

    +

    (2) It resets the velocity distribution of SRD particles via random +rotations every N timesteps. +

    +

    SRD particles have a mass, temperature, characteristic timestep dt_SRD, and mean free path between collisions (lamda). The -fundamental equation relating these 4 quantities is

    -
    lamda = dt_SRD * sqrt(Kboltz * Tsrd / mass)
    -
    -
    -

    The mass of SRD particles is set by the mass command +fundamental equation relating these 4 quantities is +

    +
    lamda = dt_SRD * sqrt(Kboltz * Tsrd / mass) 
    +
    +

    The mass of SRD particles is set by the mass command elsewhere in the input script. The SRD timestep dt_SRD is N times the -step dt defined by the timestep command. Big -particles move in the normal way via a time integration fix +step dt defined by the timestep command. Big +particles move in the normal way via a time integration fix with a short timestep dt. SRD particles advect with a large timestep -dt_SRD >= dt.

    -

    If the lamda keyword is not specified, the the SRD temperature -Tsrd is used in the above formula to compute lamda. If the lamda -keyword is specified, then the Tsrd setting is ignored and the above -equation is used to compute the SRD temperature.

    -

    The characteristic length scale for the SRD fluid is set by hgrid +dt_SRD >= dt. +

    +

    If the lamda keyword is not specified, the the SRD temperature +Tsrd is used in the above formula to compute lamda. If the lamda +keyword is specified, then the Tsrd setting is ignored and the above +equation is used to compute the SRD temperature. +

    +

    The characteristic length scale for the SRD fluid is set by hgrid which is used to bin SRD particles for purposes of resetting their velocities. Normally hgrid is set to be 1/4 of the big particle diameter or smaller, to adequately resolve fluid properties around the -big particles.

    -

    Lamda cannot be smaller than 0.6 * hgrid, else an error is generated -(unless the shift keyword is used, see below). The velocities of +big particles. +

    +

    Lamda cannot be smaller than 0.6 * hgrid, else an error is generated +(unless the shift keyword is used, see below). The velocities of SRD particles are bounded by Vmax, which is set so that an SRD particle will not advect further than Dmax = 4*lamda in dt_SRD. This means that roughly speaking, Dmax should not be larger than a big particle diameter, else SRDs may pass thru big particles without -colliding. A warning is generated if this is the case.

    -

    Collisions between SRD particles and big particles or walls are +colliding. A warning is generated if this is the case. +

    +

    Collisions between SRD particles and big particles or walls are modeled as a lightweight SRD point particle hitting a heavy big particle of given diameter or a wall at a point on its surface and bouncing off with a new velocity. The collision changes the momentum of the SRD particle. It imparts a force and torque to the big particle. It imparts a force to a wall. Static or moving SRD walls -are setup via the fix wall/srd command. For the +are setup via the fix wall/srd command. For the remainder of this doc page, a collision of an SRD particle with a wall can be viewed as a collision with a big particle of infinite radius -and mass.

    -

    The collision keyword sets the style of collisions. The slip +and mass. +

    +

    The collision keyword sets the style of collisions. The slip style means that the tangential component of the SRD particle momentum is preserved. Thus a force is imparted to a big particle, but no torque. The normal component of the new SRD velocity is sampled from -a Gaussian distribution at temperature Tsrd.

    -

    For the noslip style, both the normal and tangential components of +a Gaussian distribution at temperature Tsrd. +

    +

    For the noslip style, both the normal and tangential components of the new SRD velocity are sampled from a Gaussian distribution at -temperature Tsrd. Additionally, a new tangential direction for the +temperature Tsrd. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts torque -to a big particle. Thus a time integrator fix that rotates -the big particles appropriately should be used.

    -
    -

    The overlap keyword should be set to yes if two (or more) big +to a big particle. Thus a time integrator fix that rotates +the big particles appropriately should be used. +

    +
    + +

    The overlap keyword should be set to yes if two (or more) big particles can ever overlap. This depends on the pair potential interaction used for big-big interactions, or could be the case if -multiple big particles are held together as rigid bodies via the fix rigid command. If the overlap keyword is no and +multiple big particles are held together as rigid bodies via the fix +rigid command. If the overlap keyword is no and big particles do in fact overlap, then SRD/big collisions can generate an error if an SRD ends up inside two (or more) big particles at once. -How this error is treated is determined by the inside keyword. -Running with overlap set to no allows for faster collision -checking, so it should only be set to yes if needed.

    -

    The inside keyword determines how a collision is treated if the +How this error is treated is determined by the inside keyword. +Running with overlap set to no allows for faster collision +checking, so it should only be set to yes if needed. +

    +

    The inside keyword determines how a collision is treated if the computation determines that the timestep started with the SRD particle -already inside a big particle. If the setting is error then this -generates an error message and LAMMPS stops. If the setting is warn +already inside a big particle. If the setting is error then this +generates an error message and LAMMPS stops. If the setting is warn then this generates a warning message and the code continues. If the -setting is ignore then no message is generated. One of the output +setting is ignore then no message is generated. One of the output quantities logged by the fix (see below) tallies the number of such events, so it can be monitored. Note that once an SRD particle is inside a big particle, it may remain there for several steps until it -drifts outside the big particle.

    -

    The exact keyword determines how accurately collisions are computed. -A setting of yes computes the time and position of each collision as -SRD and big particles move together. A setting of no estimates the +drifts outside the big particle. +

    +

    The exact keyword determines how accurately collisions are computed. +A setting of yes computes the time and position of each collision as +SRD and big particles move together. A setting of no estimates the position of each collision based on the end-of-timestep positions of -the SRD and big particle. If overlap is set to yes, the setting of -the exact keyword is ignored since time-accurate collisions are -needed.

    -

    The radius keyword scales the effective size of big particles. If +the SRD and big particle. If overlap is set to yes, the setting of +the exact keyword is ignored since time-accurate collisions are +needed. +

    +

    The radius keyword scales the effective size of big particles. If big particles will overlap as they undergo dynamics, then this keyword can be used to scale down their effective collision radius by an -amount rfactor, so that SRD particle will only collide with one big +amount rfactor, so that SRD particle will only collide with one big particle at a time. For example, in a Lennard-Jones system at a temperature of 1.0 (in reduced LJ units), the minimum separation bewteen two big particles is as small as about 0.88 sigma. Thus an -rfactor value of 0.85 should prevent dual collisions.

    -

    The bounce keyword can be used to limit the maximum number of +rfactor value of 0.85 should prevent dual collisions. +

    +

    The bounce keyword can be used to limit the maximum number of collisions an SRD particle undergoes in a single timestep as it bounces between nearby big particles. Note that if the limit is reached, the SRD can be left inside a big particle. A setting of 0 is -the same as no limit.

    -
    -

    There are 2 kinds of bins created and maintained when running an SRD -simulation. The first are “SRD bins” which are used to bin SRD +the same as no limit. +

    +
    + +

    There are 2 kinds of bins created and maintained when running an SRD +simulation. The first are "SRD bins" which are used to bin SRD particles and reset their velocities, as discussed above. The second -are “search bins” which are used to identify SRD/big particle -collisions.

    -

    The search keyword can be used to choose a search bin size for +are "search bins" which are used to identify SRD/big particle +collisions. +

    +

    The search keyword can be used to choose a search bin size for identifying SRD/big particle collisions. The default is to use the -hgrid parameter for SRD bins as the search bin size. Choosing a +hgrid parameter for SRD bins as the search bin size. Choosing a smaller or large value may be more efficient, depending on the problem. But, in a statistical sense, it should not change the -simulation results.

    -

    The cubic keyword can be used to generate an error or warning when +simulation results. +

    +

    The cubic keyword can be used to generate an error or warning when the bin size chosen by LAMMPS creates SRD bins that are non-cubic or -different than the requested value of hgrid by a specified -tolerance. Note that using non-cubic SRD bins can lead to +different than the requested value of hgrid by a specified +tolerance. Note that using non-cubic SRD bins can lead to undetermined behavior when rotating the velocities of SRD particles, -hence LAMMPS tries to protect you from this problem.

    -

    LAMMPS attempts to set the SRD bin size to exactly hgrid. However, +hence LAMMPS tries to protect you from this problem. +

    +

    LAMMPS attempts to set the SRD bin size to exactly hgrid. However, there must be an integer number of bins in each dimension of the simulation box. Thus the actual bin size will depend on the size and shape of the overall simulation box. The actual bin size is printed -as part of the SRD output when a simulation begins.

    -

    If the actual bin size in non-cubic by an amount exceeding the +as part of the SRD output when a simulation begins. +

    +

    If the actual bin size in non-cubic by an amount exceeding the tolerance, an error or warning is printed, depending on the style of -the cubic keyword. Likewise, if the actual bin size differs from -the requested hgrid value by an amount exceeding the tolerance, then -an error or warning is printed. The tolerance is a fractional +the cubic keyword. Likewise, if the actual bin size differs from +the requested hgrid value by an amount exceeding the tolerance, then +an error or warning is printed. The tolerance is a fractional difference. E.g. a tolerance setting of 0.01 on the shape means that if the ratio of any 2 bin dimensions exceeds (1 +/- tolerance) then an error or warning is generated. Similarly, if the ratio of any bin -dimension with hgrid exceeds (1 +/- tolerance), then an error or -warning is generated.

    -
    -

    Warning

    -

    The fix srd command can be used with simluations the +dimension with hgrid exceeds (1 +/- tolerance), then an error or +warning is generated. +

    +

    IMPORTANT NOTE: The fix srd command can be used with simluations the size and/or shape of the simulation box changes. This can be due to -non-periodic boundary conditions or the use of fixes such as the fix deform or fix wall/srd commands +non-periodic boundary conditions or the use of fixes such as the fix +deform or fix wall/srd commands to impose a shear on an SRD fluid or an interaction with an external wall. If the box size changes then the size of SRD bins must be recalculated every reneighboring. This is not necessary if only the box shape changes. This re-binning is always done so as to fit an integer number of bins in the current box dimension, whether it be a fixed, shrink-wrapped, or periodic boundary, as set by the -boundary command. If the box size or shape changes, +boundary command. If the box size or shape changes, then the size of the search bins must be recalculated avery reneighboring. Note that changing the SRD bin size may alter the -properties of the SRD fluid, such as its viscosity.

    -
    -

    The shift keyword determines whether the coordinates of SRD +properties of the SRD fluid, such as its viscosity. +

    +

    The shift keyword determines whether the coordinates of SRD particles are randomly shifted when binned for purposes of rotating their velocities. When no shifting is performed, SRD particles are binned and the velocity distribution of the set of SRD particles in @@ -353,25 +262,29 @@ lamda. If lamda is less than 0.6 of the SRD bin size, then shifting is required. A shift means that all of the SRD particles are shifted by a vector whose coordinates are chosen randomly in the range [-1/2 bin size, 1/2 bin size]. Note that all particles are shifted by the -same vector. The specified random number shiftseed is used to +same vector. The specified random number shiftseed is used to generate these vectors. This operation sufficiently randomizes which -SRD particles are in the same bin, even if lamda is small.

    -

    If the shift flag is set to no, then no shifting is performed, but +SRD particles are in the same bin, even if lamda is small. +

    +

    If the shift flag is set to no, then no shifting is performed, but bin data will be communicated if bins overlap processor boundaries. -An error will be generated if lamda < 0.6 of the SRD bin size. If the -shift flag is set to possible, then shifting is performed only if -lamda < 0.6 of the SRD bin size. A warning is generated to let you -know this is occurring. If the shift flag is set to yes then +An error will be generated if lamda < 0.6 of the SRD bin size. If the +shift flag is set to possible, then shifting is performed only if +lamda < 0.6 of the SRD bin size. A warning is generated to let you +know this is occurring. If the shift flag is set to yes then shifting is performed regardless of the magnitude of lamda. Note that -the shiftseed is not used if the shift flag is set to no, but -must still be specified.

    -

    Note that shifting of SRD coordinates requires extra communication, -hence it should not normally be enabled unless required.

    -

    The tstat keyword will thermostat the SRD particles to the specified -Tsrd. This is done every N timesteps, during the velocity rotation +the shiftseed is not used if the shift flag is set to no, but +must still be specified. +

    +

    Note that shifting of SRD coordinates requires extra communication, +hence it should not normally be enabled unless required. +

    +

    The tstat keyword will thermostat the SRD particles to the specified +Tsrd. This is done every N timesteps, during the velocity rotation operation, by rescaling the thermal velocity of particles in each SRD bin to the desired temperature. If there is a streaming velocity -associated with the system, e.g. due to use of the fix deform command to perform a simulation undergoing +associated with the system, e.g. due to use of the fix +deform command to perform a simulation undergoing shear, then that is also accounted for. The mean velocity of each bin of SRD particles is set to the position-dependent streaming velocity, based on the coordinates of the center of the SRD bin. Note that @@ -381,197 +294,117 @@ necessary to thermostat the SRD particles on a bin by bin basis in that case. Also note that for streaming simulations, if no thermostatting is performed (the default), then it may take a long time for the SRD fluid to come to equilibrium with a velocity profile -that matches the simulation box deformation.

    -

    The rescale keyword enables rescaling of an SRD particle’s velocity +that matches the simulation box deformation. +

    +

    The rescale keyword enables rescaling of an SRD particle's velocity if it would travel more than 4 mean-free paths in an SRD timestep. If an SRD particle exceeds this velocity it is possible it will be lost when migrating to other processors or that collisions with big particles will be missed, either of which will generate errors. Thus the safest mode is to run with rescaling enabled. However rescaling -removes kinetic energy from the system (the particle’s velocity is +removes kinetic energy from the system (the particle's velocity is reduced). The latter will not typically be a problem if -thermostatting is enabled via the tstat keyword or if SRD collisions +thermostatting is enabled via the tstat keyword or if SRD collisions with big particles or walls effectively thermostat the system. If you wish to turn off rescaling (on is the default), e.g. for a pure SRD system with no thermostatting so that the temperature does not decline -over time, the rescale keyword can be used. The no value turns +over time, the rescale keyword can be used. The no value turns rescaling off during collisions and the per-bin velocity rotation -operation. The collide and rotate values turn it on for -one of the operations and off for the other.

    -
    -
    -

    Warning

    -

    This fix is normally used for simulations with a huge +operation. The collide and rotate values turn it on for +one of the operations and off for the other. +

    +
    + +

    IMPORTANT NOTE: This fix is normally used for simulations with a huge number of SRD particles relative to the number of big particles, e.g. 100 to 1. In this scenario, computations that involve only big particles (neighbor list creation, communication, time integration) can slow down dramatically due to the large number of background SRD -particles.

    -
    -

    Three other input script commands will largely overcome this effect, +particles. +

    +

    Three other input script commands will largely overcome this effect, speeding up an SRD simulation by a significant amount. These are the -atom_modify first, neigh_modify include, and comm_modify group +atom_modify first, neigh_modify +include, and comm_modify group commands. Each takes a group-ID as an argument, which in this case -should be the group-ID of the big solute particles.

    -

    Additionally, when a pair_style for big/big particle -interactions is specified, the pair_coeff command +should be the group-ID of the big solute particles. +

    +

    Additionally, when a pair_style for big/big particle +interactions is specified, the pair_coeff command should be used to turn off big/SRD interactions, e.g. by setting their -epsilon or cutoff length to 0.0.

    -

    The “delete_atoms overlap” command may be useful in setting up an SRD +epsilon or cutoff length to 0.0. +

    +

    The "delete_atoms overlap" command may be useful in setting up an SRD simulation to insure there are no initial overlaps between big and SRD -particles.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix tabulates several SRD statistics which are stored in a vector -of length 12, which can be accessed by various output commands. The vector values calculated -by this fix are “intensive”, meaning they do not scale with the size +particles. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix tabulates several SRD statistics which are stored in a vector +of length 12, which can be accessed by various output +commands. The vector values calculated +by this fix are "intensive", meaning they do not scale with the size of the simulation. Technically, the first 8 do scale with the size of the simulation, but treating them as intensive means they are not -scaled when printed as part of thermodyanmic output.

    -

    These are the 12 quantities. All are values for the current timestep, +scaled when printed as part of thermodyanmic output. +

    +

    These are the 12 quantities. All are values for the current timestep, except for quantity 5 and the last three, each of which are -cummulative quantities since the beginning of the run.

    -
      -
      1. -
      2. # of SRD/big collision checks performed
      3. -
      -
    • -
      1. -
      2. # of SRDs which had a collision
      3. -
      -
    • -
      1. -
      2. # of SRD/big colllisions (including multiple bounces)
      3. -
      -
    • -
      1. -
      2. # of SRD particles inside a big particle
      3. -
      -
    • -
      1. -
      2. # of SRD particles whose velocity was rescaled to be < Vmax
      3. -
      -
    • -
      1. -
      2. # of bins for collision searching
      3. -
      -
    • -
      1. -
      2. # of bins for SRD velocity rotation
      3. -
      -
    • -
      1. -
      2. # of bins in which SRD temperature was computed
      3. -
      -
    • -
      1. -
      2. SRD temperature
      3. -
      -
    • -
      1. -
      2. # of SRD particles which have undergone max # of bounces
      3. -
      -
    • -
      1. -
      2. max # of bounces any SRD particle has had in a single step
      3. -
      -
    • -
      1. -
      2. # of reneighborings due to SRD particles moving too far
      3. -
      -
    • -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the SRD -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    -

    Default¶

    -

    The option defaults are lamda inferred from Tsrd, collision = noslip, +cummulative quantities since the beginning of the run. +

    +
    • (1) # of SRD/big collision checks performed +
    • (2) # of SRDs which had a collision +
    • (3) # of SRD/big colllisions (including multiple bounces) +
    • (4) # of SRD particles inside a big particle +
    • (5) # of SRD particles whose velocity was rescaled to be < Vmax +
    • (6) # of bins for collision searching +
    • (7) # of bins for SRD velocity rotation +
    • (8) # of bins in which SRD temperature was computed +
    • (9) SRD temperature +
    • (10) # of SRD particles which have undergone max # of bounces +
    • (11) max # of bounces any SRD particle has had in a single step +
    • (12) # of reneighborings due to SRD particles moving too far +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the SRD +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    fix wall/srd +

    +

    Default: +

    +

    The option defaults are lamda inferred from Tsrd, collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, search = hgrid, cubic = error 0.01, shift = no, tstat = no, and -rescale = yes.

    -
    -

    (Hecht) Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005).

    -

    (Petersen) Petersen, Lechman, Plimpton, Grest, in’ t Veld, Schunk, J -Chem Phys, 132, 174106 (2010).

    -

    (Lechman) Lechman, et al, in preparation (2010).

    -
    -
    +rescale = yes. +

    +
    + -
    -
    -
    - +

    (Hecht) Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005). +

    + -
    +

    (Petersen) Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J +Chem Phys, 132, 174106 (2010). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Lechman) Lechman, et al, in preparation (2010). +

    + diff --git a/doc/fix_store_force.html b/doc/fix_store_force.html index 043137e5b8..f73bdf65b9 100644 --- a/doc/fix_store_force.html +++ b/doc/fix_store_force.html @@ -1,165 +1,47 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix store/force command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix store/force command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID store/force
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • store/force = style name of this fix command
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all store/force
    -
    -
    -
    -
    -

    Description¶

    -

    Store the forces on atoms in the group at the point during each + + +


    + +

    fix store/force command +

    +

    Syntax: +

    +
    fix ID group-ID store/force 
    +
    +
    • ID, group-ID are documented in fix command +
    • store/force = style name of this fix command +
    +

    Examples: +

    +
    fix 1 all store/force 
    +
    +

    Description: +

    +

    Store the forces on atoms in the group at the point during each timestep when the fix is invoked, as described below. This is useful for storing forces before constraints or other boundary conditions are computed which modify the forces, so that unmodified forces can be -written to a dump file or accessed by other output commands that use per-atom quantities.

    -

    This fix is invoked at the point in the velocity-Verlet timestepping -immediately after pair, bond, -angle, dihedral, -improper, and long-range +written to a dump file or accessed by other output +commands that use per-atom quantities. +

    +

    This fix is invoked at the point in the velocity-Verlet timestepping +immediately after pair, bond, +angle, dihedral, +improper, and long-range forces have been calculated. It is the point in the timestep when various fixes that compute constraint forces are calculated and potentially modify the force on each atom. Examples of such fixes are -fix shake, fix wall, and fix indent.

    -
    -

    Warning

    -

    The order in which various fixes are applied which +fix shake, fix wall, and fix +indent. +

    +

    IMPORTANT NOTE: The order in which various fixes are applied which operate at the same point during the timestep, is the same as the order they are specified in the input script. Thus normally, if you want to store per-atom forces due to force field interactions, before @@ -167,92 +49,29 @@ constraints are applied, you should list this fix first within that set of fixes, i.e. before other fixes that apply constraints. However, if you wish to include certain constraints (e.g. fix shake) in the stored force, then it could be specified after some fixes and -before others.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix produces a per-atom array which can be accessed by various -output commands. The number of columns +before others. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix produces a per-atom array which can be accessed by various +output commands. The number of columns for each atom is 3, and the columns store the x,y,z forces on each -atom. The per-atom values be accessed on any timestep.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +atom. The per-atom values be accessed on any timestep. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix store_state +

    +

    Default: none +

    + diff --git a/doc/fix_store_state.html b/doc/fix_store_state.html index 44defb1600..641dbf7eae 100644 --- a/doc/fix_store_state.html +++ b/doc/fix_store_state.html @@ -1,153 +1,38 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix store/state command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix store/state command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID store/state N input1 input2 ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • store/state = style name of this fix command
    • -
    • N = store atom attributes every N steps, N = 0 for initial store only
    • -
    • input = one or more atom attributes
    • -
    -
    possible attributes = id, mol, type, mass,
    -                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    -                     vx, vy, vz, fx, fy, fz,
    +
    +
    +
    + +

    fix store/state command +

    +

    Syntax: +

    +
    fix ID group-ID store/state N input1 input2 ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • store/state = style name of this fix command + +
    • N = store atom attributes every N steps, N = 0 for initial store only + +
    • input = one or more atom attributes + +
        possible attributes = id, mol, type, mass,
      + 	                x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      +		        vx, vy, vz, fx, fy, fz,
                               q, mux, muy, muz,
                               radius, omegax, omegay, omegaz,
                               angmomx, angmomy, angmomz, tqx, tqy, tqz,
                               c_ID, c_ID[N], f_ID, f_ID[N], v_name,
      -                        d_name, i_name
      -
    -
    -
    id = atom ID
    +                        d_name, i_name 
    +
    +
          id = atom ID
           mol = molecule ID
           type = atom type
           mass = atom mass
    @@ -169,148 +54,90 @@
           f_ID[I] = Ith column of per-atom array calculated by a fix with ID
           v_name = per-atom vector calculated by an atom-style variable with name
           d_name = per-atom floating point vector name, managed by fix property/atom
    -      i_name = per-atom integer vector name, managed by fix property/atom
    -
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = com
    • -
    -
    -com value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all store/state 0 x y z
    +      i_name = per-atom integer vector name, managed by fix property/atom 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = com + +
      com value = yes or no 
    +
    + + +

    Examples: +

    +
    fix 1 all store/state 0 x y z
     fix 1 all store/state 0 xu yu zu com yes
    -fix 2 all store/state 1000 vx vy vz
    -
  • -
    -
    -
    -

    Description¶

    -

    Define a fix that stores attributes for each atom in the group at the -time the fix is defined. If N is 0, then the values are never +fix 2 all store/state 1000 vx vy vz + +

    Description: +

    +

    Define a fix that stores attributes for each atom in the group at the +time the fix is defined. If N is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of -output commands that take fixes as -inputs. And see for example, the compute reduce, fix ave/atom, fix ave/histo, fix ave/spatial, -and atom-style variable commands.

    -

    If N is not zero, then the attributes will be updated every N -steps.

    -
    -

    Warning

    -

    Actually, only atom attributes specified by keywords -like xu or vy are initially stored immediately at the point in +output commands that take fixes as +inputs. And see for example, the compute +reduce, fix ave/atom, fix +ave/histo, fix ave/spatial, +and atom-style variable commands. +

    +

    If N is not zero, then the attributes will be updated every N +steps. +

    +

    IMPORTANT NOTE: Actually, only atom attributes specified by keywords +like xu or vy are initially stored immediately at the point in your input script when the fix is defined. Attributes specified by a compute, fix, or variable are not initially stored until the first run following the fix definition begins. This is because calculating those attributes may require quantities that are not defined in -between runs.

    -
    -

    The list of possible attributes is the same as that used by the dump custom command, which describes their meaning.

    -

    If the com keyword is set to yes then the xu, yu, and zu +between runs. +

    +

    The list of possible attributes is the same as that used by the dump +custom command, which describes their meaning. +

    +

    If the com keyword is set to yes then the xu, yu, and zu inputs store the position of each atom relative to the center-of-mass of the group of atoms, instead of storing the absolute position. This -option is used by the compute msd command.

    -

    The requested values are stored in a per-atom vector or array as +option is used by the compute msd command. +

    +

    The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified -group.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the per-atom values it stores to binary restart files, so that the values can be restored when a -simulation is restarted. See the read_restart +group. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the per-atom values it stores to binary restart +files, so that the values can be restored when a +simulation is restarted. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    If a single input is specified, this fix produces a per-atom vector. +uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These -can be accessed by various output commands. The per-atom values be -accessed on any timestep.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option default is com = no.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +can be accessed by various output +commands. The per-atom values be +accessed on any timestep. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump custom, compute +property/atom, +fix property/atom, variable +

    +

    Default: +

    +

    The option default is com = no. +

    + diff --git a/doc/fix_temp_berendsen.html b/doc/fix_temp_berendsen.html index 3c616d7e76..6ae3f4ed9a 100644 --- a/doc/fix_temp_berendsen.html +++ b/doc/fix_temp_berendsen.html @@ -1,345 +1,190 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix temp/berendsen command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix temp/berendsen command¶

    -
    -
    -

    fix temp/berendsen/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID temp/berendsen Tstart Tstop Tdamp
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • temp/berendsen = style name of this fix command
    • -
    • Tstart,Tstop = desired temperature at start/end of run
    • -
    -
    Tstart can be a variable (see below)
    -
    -
    -
      -
    • Tdamp = temperature damping parameter (time units)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all temp/berendsen 300.0 300.0 100.0
    -
    -
    -
    -
    -

    Description¶

    -

    Reset the temperature of a group of atoms by using a Berendsen -thermostat (Berendsen), which rescales their velocities -every timestep.

    -

    The thermostat is applied to only the translational degrees of freedom + + +


    + +

    fix temp/berendsen command +

    +

    fix temp/berendsen/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID temp/berendsen Tstart Tstop Tdamp 
    +
    +
    • ID, group-ID are documented in fix command + +
    • temp/berendsen = style name of this fix command + +
    • Tstart,Tstop = desired temperature at start/end of run + +
        Tstart can be a variable (see below) 
      +
      +
    • Tdamp = temperature damping parameter (time units) +
    +

    Examples: +

    +
    fix 1 all temp/berendsen 300.0 300.0 100.0 
    +
    +

    Description: +

    +

    Reset the temperature of a group of atoms by using a Berendsen +thermostat (Berendsen), which rescales their velocities +every timestep. +

    +

    The thermostat is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles which have rotational degrees of freedom are being thermostatted with this fix. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +takes place; see the description below. +

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command).

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +units command). +

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature.

    -
    -

    Warning

    -

    Unlike the fix nvt command which +time. Thus it is easy to specify a time-dependent temperature. +

    +

    IMPORTANT NOTE: Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies velocities to effect thermostatting. Thus you must use a separate time integration -fix, like fix nve to actually update the positions of +fix, like fix nve to actually update the positions of atoms using the modified velocities. Likewise, this fix should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix langevin commands.

    -
    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix +langevin commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style “temp”, as if this command had been -issued:

    -
    compute fix-ID_temp group-ID temp
    -
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID + underscore + “temp”, -and the group for the new compute is the same as the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +thermostatting. +

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp", as if this command had been +issued: +

    +
    compute fix-ID_temp group-ID temp 
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID + underscore + "temp", +and the group for the new compute is the same as the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda suffix are functionally the same as the +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same.

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same. +

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix can be used with dynamic groups as defined by the -group command. Likewise it can be used with groups to +calculated by this fix is "extensive". +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix can be used with dynamic groups as defined by the +group command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small.

    -
    - -
    +over time or the atom count becomes very small. +

    +

    Related commands: +

    +

    fix nve, fix nvt, fix +temp/rescale, fix langevin, +fix_modify, compute temp, +fix press/berendsen +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem +Phys, 81, 3684 (1984). +

    + diff --git a/doc/fix_temp_csvr.html b/doc/fix_temp_csvr.html index ed974a46de..41c6e7400e 100644 --- a/doc/fix_temp_csvr.html +++ b/doc/fix_temp_csvr.html @@ -1,344 +1,182 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix temp/csvr command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix temp/csvr command¶

    -
    -
    -

    fix temp/csld command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID temp/csvr Tstart Tstop Tdamp seed
    -
    -
    -
    fix ID group-ID temp/csld Tstart Tstop Tdamp seed
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • temp/csvr or temp/csld = style name of this fix command
    • -
    • Tstart,Tstop = desired temperature at start/end of run
    • -
    -
    Tstart can be a variable (see below)
    -
    -
    -
      -
    • Tdamp = temperature damping parameter (time units)
    • -
    • seed = random number seed to use for white noise (positive integer)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all temp/csvr 300.0 300.0 100.0 54324
    -
    -
    -
    fix 1 all temp/csld 100.0 300.0 10.0 123321
    -
    -
    -
    -
    -

    Description¶

    -

    Adjust the temperature with a canonical sampling thermostat that uses -global velocity rescaling with Hamiltonian dynamics (temp/csvr) -(Bussi1), or Langevin dynamics (temp/csld) -(Bussi2). In the case of temp/csvr the thermostat is + + +


    + +

    fix temp/csvr command +

    +

    fix temp/csld command +

    +

    Syntax: +

    +
    fix ID group-ID temp/csvr Tstart Tstop Tdamp seed 
    +
    +
    fix ID group-ID temp/csld Tstart Tstop Tdamp seed 
    +
    +
    • ID, group-ID are documented in fix command + +
    • temp/csvr or temp/csld = style name of this fix command + +
    • Tstart,Tstop = desired temperature at start/end of run + +
        Tstart can be a variable (see below) 
      +
      +
    • Tdamp = temperature damping parameter (time units) + +
    • seed = random number seed to use for white noise (positive integer) +
    +

    Examples: +

    +
    fix 1 all temp/csvr 300.0 300.0 100.0 54324 
    +
    +
    fix 1 all temp/csld 100.0 300.0 10.0 123321 
    +
    +

    Description: +

    +

    Adjust the temperature with a canonical sampling thermostat that uses +global velocity rescaling with Hamiltonian dynamics (temp/csvr) +(Bussi1), or Langevin dynamics (temp/csld) +(Bussi2). In the case of temp/csvr the thermostat is similar to the empirical Berendsen thermostat in -temp/berendsen, but chooses the actual +temp/berendsen, but chooses the actual scaling factor from a suitably chosen (gaussian) distribution rather than having it determined from the time constant directly. In the case -of temp/csld the velocities are updated to a linear combination of +of temp/csld the velocities are updated to a linear combination of the current velocities with a gaussian distribution of velocities at -the desired temperature. Both termostats are applied every timestep.

    -

    The thermostat is applied to only the translational degrees of freedom +the desired temperature. Both termostats are applied every timestep. +

    +

    The thermostat is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles which have rotational degrees of freedom are being thermostatted with these fixes. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +takes place; see the description below. +

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command).

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +units command). +

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature.

    -
    -

    Warning

    -

    Unlike the fix nvt command which +time. Thus it is easy to specify a time-dependent temperature. +

    +

    IMPORTANT NOTE: Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, these fixes do NOT perform time integration. They only modify velocities to effect thermostatting. Thus you must use a separate time integration fix, -like fix nve to actually update the positions of atoms +like fix nve to actually update the positions of atoms using the modified velocities. Likewise, these fixes should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix langevin commands.

    -
    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix +langevin commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    These fixes compute a temperature each timestep. To do this, the fix -creates its own compute of style “temp”, as if this command had been -issued:

    -
    compute fix-ID_temp group-ID temp
    -
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID + underscore + “temp”, -and the group for the new compute is the same as the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +thermostatting. +

    +

    These fixes compute a temperature each timestep. To do this, the fix +creates its own compute of style "temp", as if this command had been +issued: +

    +
    compute fix-ID_temp group-ID temp 
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID + underscore + "temp", +and the group for the new compute is the same as the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, these fixes can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, these fixes can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about these fixes are written to binary restart files.

    -

    The fix_modify temp option is supported by these -fixes. You can use it to assign a temperature compute +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about these fixes are written to binary restart +files. +

    +

    The fix_modify temp option is supported by these +fixes. You can use it to assign a temperature compute you have defined to these fixes which will be used in its thermostatting procedure, as described above. For consistency, the group used by -these fixes and by the compute should be the same.

    -

    These fixes can ramp its target temperature over multiple runs, using -the start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    These fixes are not invoked during energy minimization.

    -

    These fixes compute a global scalar which can be accessed by various -output commands. The scalar is the +these fixes and by the compute should be the same. +

    +

    These fixes can ramp its target temperature over multiple runs, using +the start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    These fixes are not invoked during energy minimization. +

    +

    These fixes compute a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to the fix. The scalar value -calculated by this fix is “extensive”.

    -
    -
    -

    Restrictions¶

    -

    These fixes are not compatible with fix shake.

    -

    The fix can be used with dynamic groups as defined by the -group command. Likewise it can be used with groups to +calculated by this fix is "extensive". +

    +

    Restrictions: +

    +

    These fixes are not compatible with fix shake. +

    +

    The fix can be used with dynamic groups as defined by the +group command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small.

    -
    - -
    +over time or the atom count becomes very small. +

    +

    Related commands: +

    +

    fix nve, fix nvt, fix +temp/rescale, fix langevin, +fix_modify, compute temp, +fix temp/berendsen +

    +

    Default: none +

    +
    + + + +(Bussi1) Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007) -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bussi2) Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007) +

    + diff --git a/doc/fix_temp_rescale.html b/doc/fix_temp_rescale.html index aa5df01922..208a2de9db 100644 --- a/doc/fix_temp_rescale.html +++ b/doc/fix_temp_rescale.html @@ -1,345 +1,184 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix temp/rescale command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix temp/rescale command¶

    -
    -
    -

    fix temp/rescale/cuda command¶

    -
    -
    -

    fix temp/rescale/limit/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID temp/rescale N Tstart Tstop window fraction
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • temp/rescale = style name of this fix command
    • -
    • N = perform rescaling every N steps
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    -
    Tstart can be a variable (see below)
    -
    -
    -
      -
    • window = only rescale if temperature is outside this window (temperature units)
    • -
    • fraction = rescale to target temperature by this fraction
    • -
    -
    -
    -

    Examples¶

    -
    fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
    +
    +
    +
    + +

    fix temp/rescale command +

    +

    fix temp/rescale/cuda command +

    +

    fix temp/rescale/limit/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID temp/rescale N Tstart Tstop window fraction 
    +
    +
    • ID, group-ID are documented in fix command + +
    • temp/rescale = style name of this fix command + +
    • N = perform rescaling every N steps + +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) + +
        Tstart can be a variable (see below) 
      +
      +
    • window = only rescale if temperature is outside this window (temperature units) + +
    • fraction = rescale to target temperature by this fraction +
    +

    Examples: +

    +
    fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
     fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
    -fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Reset the temperature of a group of atoms by explicitly rescaling -their velocities.

    -

    The rescaling is applied to only the translational degrees of freedom +fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 + +

    Description: +

    +

    Reset the temperature of a group of atoms by explicitly rescaling +their velocities. +

    +

    The rescaling is applied to only the translational degrees of freedom for the particles, which is an important consideration if finite-size particles which have rotational degrees of freedom are being thermostatted with this fix. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below.

    -

    Rescaling is performed every N timesteps. The target temperature is a -ramped value between the Tstart and Tstop temperatures at the -beginning and end of the run.

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +takes place; see the description below. +

    +

    Rescaling is performed every N timesteps. The target temperature is a +ramped value between the Tstart and Tstop temperatures at the +beginning and end of the run. +

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature.

    -

    Rescaling is only performed if the difference between the current and -desired temperatures is greater than the window value. The amount -of rescaling that is applied is a fraction (from 0.0 to 1.0) of the +time. Thus it is easy to specify a time-dependent temperature. +

    +

    Rescaling is only performed if the difference between the current and +desired temperatures is greater than the window value. The amount +of rescaling that is applied is a fraction (from 0.0 to 1.0) of the difference between the actual and desired temperature. E.g. if -fraction = 1.0, the temperature is reset to exactly the desired -value.

    -
    -

    Warning

    -

    Unlike the fix nvt command which +fraction = 1.0, the temperature is reset to exactly the desired +value. +

    +

    IMPORTANT NOTE: Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies velocities to effect thermostatting. Thus you must use a separate time integration -fix, like fix nve to actually update the positions of +fix, like fix nve to actually update the positions of atoms using the modified velocities. Likewise, this fix should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix langevin commands.

    -
    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix +langevin commands. +

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting.

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style “temp”, as if one of this command had -been issued:

    -
    compute fix-ID_temp group-ID temp
    -
    -
    -

    See the compute temp for details. Note that the -ID of the new compute is the fix-ID + underscore + “temp”, and the -group for the new compute is the same as the fix group.

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix’s temperature +thermostatting. +

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp", as if one of this command had +been issued: +

    +
    compute fix-ID_temp group-ID temp 
    +
    +

    See the compute temp for details. Note that the +ID of the new compute is the fix-ID + underscore + "temp", and the +group for the new compute is the same as the fix group. +

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix.

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a “bias” from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. +

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute commands to determine which ones include a bias. In +term. See the doc pages for individual compute +commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in.

    -
    -

    Styles with a cuda suffix are functionally the same as the +thermal degrees of freedom, and the bias is added back in. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same.

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same. +

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +calculated by this fix is "extensive". +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix langevin, fix nvt, +fix_modify +

    +

    Default: none +

    + diff --git a/doc/fix_temp_rescale_eff.html b/doc/fix_temp_rescale_eff.html index 2db42a22d5..038e181938 100644 --- a/doc/fix_temp_rescale_eff.html +++ b/doc/fix_temp_rescale_eff.html @@ -1,253 +1,81 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix temp/rescale/eff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix temp/rescale/eff command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • temp/rescale/eff = style name of this fix command
    • -
    • N = perform rescaling every N steps
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    • window = only rescale if temperature is outside this window (temperature units)
    • -
    • fraction = rescale to target temperature by this fraction
    • -
    -
    -
    -

    Examples¶

    -
    fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Reset the temperature of a group of nuclei and electrons in the -electron force field model by explicitly rescaling -their velocities.

    -

    The operation of this fix is exactly like that described by the fix temp/rescale command, except that the rescaling + + +


    + +

    fix temp/rescale/eff command +

    +

    Syntax: +

    +
    fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction 
    +
    +
    • ID, group-ID are documented in fix command +
    • temp/rescale/eff = style name of this fix command +
    • N = perform rescaling every N steps +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) +
    • window = only rescale if temperature is outside this window (temperature units) +
    • fraction = rescale to target temperature by this fraction +
    +

    Examples: +

    +
    fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0 
    +
    +

    Description: +

    +

    Reset the temperature of a group of nuclei and electrons in the +electron force field model by explicitly rescaling +their velocities. +

    +

    The operation of this fix is exactly like that described by the fix +temp/rescale command, except that the rescaling is also applied to the radial electron velocity for electron -particles.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +particles. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same.

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same. +

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is “extensive”.

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +calculated by this fix is "extensive". +

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    fix langevin/eff, fix +nvt/eff, fix_modify, +fix_temp_rescale, +

    +

    Default: none +

    + diff --git a/doc/fix_tfmc.html b/doc/fix_tfmc.html index 38ae722f70..dd69b02f96 100644 --- a/doc/fix_tfmc.html +++ b/doc/fix_tfmc.html @@ -1,168 +1,56 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix tfmc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix tfmc command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID tfmc Delta Temp seed keyword value
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • tfmc = style name of this fix command
    • -
    • Delta = maximal displacement length (distance units)
    • -
    • Temp = imposed temperature of the system
    • -
    • seed = random number seed (positive integer)
    • -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = com or rot
    • -
    -
    -com args = xflag yflag zflag
    +
    +
    +
    + +

    fix tfmc command +

    +

    Syntax: +

    +
    fix ID group-ID tfmc Delta Temp seed keyword value 
    +
    +
    • ID, group-ID are documented in fix command + +
    • tfmc = style name of this fix command + +
    • Delta = maximal displacement length (distance units) + +
    • Temp = imposed temperature of the system + +
    • seed = random number seed (positive integer) + +
    • zero or more keyword/arg pairs may be appended + +
    • keyword = com or rot + +
        com args = xflag yflag zflag
           xflag,yflag,zflag = 0/1 to exclude/include each dimension
      -  rot args = none
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all tfmc 0.1 1000.0 159345
    -fix 1 all tfmc 0.05 600.0 658943 com 1 1 0
    -fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot
    -
    -
    -
    -
    -

    Description¶

    -

    Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, + rot args = none + + + +

    Examples: +

    +
    fix 1 all tfmc 0.1 1000.0 159345
    +fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 
    +fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot 
    +
    +

    Description: +

    +

    Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, using the time-stamped force-bias Monte Carlo (tfMC) algorithm -described in (Mees) and (Bal).

    -

    One successful use case of force-bias Monte Carlo methods is that they +described in (Mees) and (Bal). +

    +

    One successful use case of force-bias Monte Carlo methods is that they can be used to extend the time scale of atomistic simulations, in particular when long time scale relaxation effects must be considered; -some interesting examples are given in the review by (Neyts). +some interesting examples are given in the review by (Neyts). An example of a typical use case would be the modelling of chemical vapour deposition (CVD) processes on a surface, in which impacts by gas-phase species can be performed using MD, but subsequent relaxation @@ -170,8 +58,9 @@ of the surface is too slow to be done using MD only. Using tfMC can allow for a much faster relaxation of the surface, so that higher fluxes can be used, effectively extending the time scale of the simulation. (Such an alternating simulation approach could be set up -using a loop.)

    -

    The initial version of tfMC algorithm in (Mees) contained an +using a loop.) +

    +

    The initial version of tfMC algorithm in (Mees) contained an estimation of the effective time scale of such a simulation, but it was later shown that the speed-up one can gain from a tfMC simulation is system- and process-dependent, ranging from none to several orders @@ -181,144 +70,99 @@ orders of magnitude, whereas diffusion in the liquid phase is not accelerated at all. The observed pseudodynamics when using the tfMC method is not the actual dynamics one would obtain using MD, but the relative importance of processes can match the actual relative -dynamics of the system quite well, provided Delta is chosen with -care. Thus, the system’s equilibrium is reached faster than in MD, +dynamics of the system quite well, provided Delta is chosen with +care. Thus, the system's equilibrium is reached faster than in MD, along a path that is generally roughly similar to a typical MD -simulation (but not necessarily so). See (Bal) for details.

    -

    Each step, all atoms in the selected group are displaced using the +simulation (but not necessarily so). See (Bal) for details. +

    +

    Each step, all atoms in the selected group are displaced using the stochastic tfMC algorithm, which is designed to sample the canonical -(NVT) ensemble at the temperature Temp. Although tfMC is a Monte +(NVT) ensemble at the temperature Temp. Although tfMC is a Monte Carlo algorithm and thus strictly speaking does not perform time integration, it is similar in the sense that it uses the forces on all atoms in order to update their positions. Therefore, it is implemented as a time integration fix, and no other fixes of this type (such as -fix nve) should be used at the same time. Because +fix nve) should be used at the same time. Because velocities do not play a role in this kind of Monte Carlo simulations, -instantaneous temperatures as calculated by temperature computes or thermodynamic output have no meaning: the only relevant -temperature is the sampling temperature Temp. Similarly, performing -tfMC simulations does not require setting a timestep -and the simulated time as calculated by LAMMPS is -meaningless.

    -

    The critical parameter determining the success of a tfMC simulation is -Delta, the maximal displacement length of the lightest element in +instantaneous temperatures as calculated by temperature +computes or thermodynamic +output have no meaning: the only relevant +temperature is the sampling temperature Temp. Similarly, performing +tfMC simulations does not require setting a timestep +and the simulated time as calculated by LAMMPS is +meaningless. +

    +

    The critical parameter determining the success of a tfMC simulation is +Delta, the maximal displacement length of the lightest element in the system: the larger it is, the longer the effective time scale of the simulation will be (there is an approximately quadratic -dependence). However, Delta must also be chosen sufficiently small +dependence). However, Delta must also be chosen sufficiently small in order to comply with detailed balance; in general values between 5 and 10 % of the nearest neighbor distance are found to be a good choice. For a more extensive discussion with specific examples, please -refer to (Bal), which also describes how the code calculates -element-specific maximal displacements from Delta, based on the -fourth root of their mass.

    -

    Because of the uncorrelated movements of the atoms, the center-of-mass +refer to (Bal), which also describes how the code calculates +element-specific maximal displacements from Delta, based on the +fourth root of their mass. +

    +

    Because of the uncorrelated movements of the atoms, the center-of-mass of the fix group will not necessarily be stationary, just like its -orientation. When the com keyword is used, all atom positions will +orientation. When the com keyword is used, all atom positions will be shifted (after every tfMC iteration) in order to fix the position of the center-of-mass along the included directions, by setting the -corresponding flag to 1. The rot keyword does the same for the -rotational component of the tfMC displacements after every iteration.

    -
    -

    Warning

    -

    the com and rot keywords should not be used if an +corresponding flag to 1. The rot keyword does the same for the +rotational component of the tfMC displacements after every iteration. +

    +

    IMPORTANT NOTE: the com and rot keywords should not be used if an external force is acting on the specified fix group, along the included directions. This can be either a true external force (e.g. -through fix wall) or forces due to the interaction +through fix wall) or forces due to the interaction with atoms not included in the fix group. This is because in such cases, translations or rotations of the fix group could be induced by these external forces, and removing them will lead to a violation of -detailed balance.

    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -

    This fix is not compatible with fix shake.

    -
    - -
    -

    Default¶

    -

    The option default is com = 0 0 0

    -
    -

    (Bal) K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014).

    -

    (Mees) M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and -A. Stesmans, Phys. Rev. B 85, 134301 (2012).

    -

    (Neyts) E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 -(2013).

    -
    -
    +detailed balance. +

    +
    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    This fix is not compatible with fix shake. +

    +

    Related commands: +

    +

    fix gcmc, fix nvt +

    +

    Default: +

    +

    The option default is com = 0 0 0 +

    +
    -
    -
    -
    - + -
    +

    (Bal) K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Mees) M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and +A. Stesmans, Phys. Rev. B 85, 134301 (2012). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Neyts) E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 +(2013). +

    + diff --git a/doc/fix_thermal_conductivity.html b/doc/fix_thermal_conductivity.html index 31605861be..ec5fcc0407 100644 --- a/doc/fix_thermal_conductivity.html +++ b/doc/fix_thermal_conductivity.html @@ -1,159 +1,47 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix thermal/conductivity command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix thermal/conductivity command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID thermal/conductivity N edim Nbin keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • thermal/conductivity = style name of this fix command
    • -
    • N = perform kinetic energy exchange every N steps
    • -
    • edim = x or y or z = direction of kinetic energy transfer
    • -
    • Nbin = # of layers in edim direction (must be even number)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = swap
    • -
    -
    -swap value = Nswap = number of swaps to perform every N steps
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all thermal/conductivity 100 z 20
    -fix 1 all thermal/conductivity 50 z 20 swap 2
    -
    -
    -
    -
    -

    Description¶

    -

    Use the Muller-Plathe algorithm described in this paper to exchange kinetic energy between two particles + + +


    + +

    fix thermal/conductivity command +

    +

    Syntax: +

    +
    fix ID group-ID thermal/conductivity N edim Nbin keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • thermal/conductivity = style name of this fix command + +
    • N = perform kinetic energy exchange every N steps + +
    • edim = x or y or z = direction of kinetic energy transfer + +
    • Nbin = # of layers in edim direction (must be even number) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = swap + +
        swap value = Nswap = number of swaps to perform every N steps 
      +
      + +
    +

    Examples: +

    +
    fix 1 all thermal/conductivity 100 z 20
    +fix 1 all thermal/conductivity 50 z 20 swap 2 
    +
    +

    Description: +

    +

    Use the Muller-Plathe algorithm described in this +paper to exchange kinetic energy between two particles in different regions of the simulation box every N steps. This induces a temperature gradient in the system. As described below this enables the thermal conductivity of a material to be calculated. This @@ -162,16 +50,18 @@ NEMD) approach to computing thermal conductivity. This is because the usual NEMD approach is to impose a temperature gradient on the system and measure the response as the resulting heat flux. In the Muller-Plathe method, the heat flux is imposed, and the temperature -gradient is the system’s response.

    -

    See the compute heat/flux command for details +gradient is the system's response. +

    +

    See the compute heat/flux command for details on how to compute thermal conductivity in an alternate way, via the -Green-Kubo formalism.

    -

    The simulation box is divided into Nbin layers in the edim +Green-Kubo formalism. +

    +

    The simulation box is divided into Nbin layers in the edim direction, where the layer 1 is at the low end of that dimension and -the layer Nbin is at the high end. Every N steps, Nswap pairs of +the layer Nbin is at the high end. Every N steps, Nswap pairs of atoms are chosen in the following manner. Only atoms in the fix group are considered. The hottest Nswap atoms in layer 1 are selected. -Similarly, the coldest Nswap atoms in the “middle” layer (see below) +Similarly, the coldest Nswap atoms in the "middle" layer (see below) are selected. The two sets of Nswap atoms are paired up and their velocities are exchanged. This effectively swaps their kinetic energies, assuming their masses are the same. If the masses are @@ -179,157 +69,109 @@ different, an exchange of velocities relative to center of mass motion of the 2 atoms is performed, to conserve kinetic energy. Over time, this induces a temperature gradient in the system which can be measured using commands such as the following, which writes the -temperature profile (assuming z = edim) to the file tmp.profile:

    -
    compute   ke all ke/atom
    +temperature profile (assuming z = edim) to the file tmp.profile:
    +

    +
    compute   ke all ke/atom
     variable  temp atom c_ke/1.5
    -fix       3 all ave/spatial 10 100 1000 z lower 0.05 v_temp &
    -            file tmp.profile units reduced
    -
    -
    -

    Note that by default, Nswap = 1, though this can be changed by the -optional swap keyword. Setting this parameter appropriately, in +fix 3 all ave/spatial 10 100 1000 z lower 0.05 v_temp & + file tmp.profile units reduced + +

    Note that by default, Nswap = 1, though this can be changed by the +optional swap keyword. Setting this parameter appropriately, in conjunction with the swap rate N, allows the heat flux to be adjusted across a wide range of values, and the kinetic energy to be exchanged -in large chunks or more smoothly.

    -

    The “middle” layer for velocity swapping is defined as the Nbin/2 + -1 layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. +in large chunks or more smoothly. +

    +

    The "middle" layer for velocity swapping is defined as the Nbin/2 + +1 layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. This should lead to a symmetric temperature profile since the two layers are separated by the same distance in both directions in a -periodic sense. This is why Nbin is restricted to being an even -number.

    -

    As described below, the total kinetic energy transferred by these +periodic sense. This is why Nbin is restricted to being an even +number. +

    +

    As described below, the total kinetic energy transferred by these swaps is computed by the fix and can be output. Dividing this quantity by time and the cross-sectional area of the simulation box yields a heat flux. The ratio of heat flux to the slope of the temperature profile is proportional to the thermal conductivity of the -fluid, in appropriate units. See the Muller-Plathe paper for details.

    -
    -

    Warning

    -

    If your system is periodic in the direction of the +fluid, in appropriate units. See the Muller-Plathe +paper for details. +

    +

    IMPORTANT NOTE: If your system is periodic in the direction of the heat flux, then the flux is going in 2 directions. This means the effective heat flux in one direction is reduced by a factor of 2. You will see this in the equations for thermal conductivity (kappa) in the Muller-Plathe paper. LAMMPS is simply tallying kinetic energy which does not account for whether or not your system is periodic; you must -use the value appropriately to yield a kappa for your system.

    -
    -
    -

    Warning

    -

    After equilibration, if the temperature gradient you +use the value appropriately to yield a kappa for your system. +

    +

    IMPORTANT NOTE: After equilibration, if the temperature gradient you observe is not linear, then you are likely swapping energy too frequently and are not in a regime of linear response. In this case you cannot accurately infer a thermal conductivity and should try -increasing the Nevery parameter.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +increasing the Nevery parameter. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative kinetic energy transferred between the bottom and middle -of the simulation box (in the edim direction) is stored as a scalar +of the simulation box (in the edim direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumlates thereafter, once every N steps. The units of the -quantity are energy; see the units command for details. -The scalar value calculated by this fix is “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Swaps conserve both momentum and kinetic energy, even if the masses of +quantity are energy; see the units command for details. +The scalar value calculated by this fix is "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than vdim).

    -

    LAMMPS does not check, but you should not use this fix to swap the +apply it only to the non-swapped dimensions (other than vdim). +

    +

    LAMMPS does not check, but you should not use this fix to swap the kinetic energy of atoms that are in constrained molecules, e.g. via -fix shake or fix rigid. This is +fix shake or fix rigid. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible -molecules. See the Zhang paper for a discussion and results -of this idea.

    -

    When running a simulation with large, massive particles or molecules +molecules. See the Zhang paper for a discussion and results +of this idea. +

    +

    When running a simulation with large, massive particles or molecules in a background solvent, you may want to only exchange kinetic energy -bewteen solvent particles.

    -
    - -
    -

    Default¶

    -

    The option defaults are swap = 1.

    -
    -

    (Muller-Plathe) Muller-Plathe, J Chem Phys, 106, 6082 (1997).

    -

    (Zhang) Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, -109, 15060-15067 (2005).

    -
    -
    +bewteen solvent particles. +

    +

    Related commands: +

    +

    fix ave/spatial, fix +viscosity, compute +heat/flux +

    +

    Default: +

    +

    The option defaults are swap = 1. +

    +
    + -
    -
    -
    - +

    (Muller-Plathe) Muller-Plathe, J Chem Phys, 106, 6082 (1997). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Zhang) Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, +109, 15060-15067 (2005). +

    + diff --git a/doc/fix_ti_rs.html b/doc/fix_ti_rs.html index 64bbf0f477..c6f60635ec 100644 --- a/doc/fix_ti_rs.html +++ b/doc/fix_ti_rs.html @@ -1,298 +1,156 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ti/rs command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ti/rs command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ti/rs = style name of this fix command
    • -
    • lambda_initial/lambda_final = initial/final values of the coupling parameter
    • -
    • t_switch/t_equil = number of steps of the switching/equilibration procedure
    • -
    • keyword = function
    • -
    -
    -function value = function-ID
    -    function-ID = ID of the switching function (1, 2 or 3)
    -
    -

    Example:

    -
    fix ref all ti/rs 50.0 2000 1000
    -fix vf vacancy ti/rs 10.0 70000 50000 function 2
    -
    -
    -
    -
    -

    Description¶

    -

    This fix allows you to compute the free energy temperature dependence + + +


    + +

    fix ti/rs command +

    +

    Syntax: +

    +
    fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ti/rs = style name of this fix command + +
    • lambda_initial/lambda_final = initial/final values of the coupling parameter + +
    • t_switch/t_equil = number of steps of the switching/equilibration procedure + +
    • keyword = function + +
        function value = function-ID
      +    function-ID = ID of the switching function (1, 2 or 3) 
      +
      + +
    +

    Example: +

    +
    fix ref all ti/rs 50.0 2000 1000 
    +fix vf vacancy ti/rs 10.0 70000 50000 function 2 
    +
    +

    Description: +

    +

    This fix allows you to compute the free energy temperature dependence by performing a thermodynamic integration procedure known as -Reversible Scaling (de Koning99, de Koning00a). The thermodynamic integration is performed +Reversible Scaling (de Koning99, de +Koning00a). The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching -(Watanabe, de Koning96).

    -

    The forces on the atoms are dynamically scaled during the simulation, -the rescaling is done in the following manner:

    -_images/fix_ti_rs_force.jpg -

    where F_int is the total force on the atoms due to the interatomic +(Watanabe, de Koning96). +

    +

    The forces on the atoms are dynamically scaled during the simulation, +the rescaling is done in the following manner: +

    +
    +
    +

    where F_int is the total force on the atoms due to the interatomic potential and lambda is the coupling parameter of the thermodynamic -integration.

    -

    The fix acts as follows: during the first t_equil steps after the -fix is defined the value of lambda is lambda_initial , this is the -period to equilibrate the system in the lambda = lambda_initial +integration. +

    +

    The fix acts as follows: during the first t_equil steps after the +fix is defined the value of lambda is lambda_initial , this is the +period to equilibrate the system in the lambda = lambda_initial state. After this the value of lambda changes continuously from -lambda_initial to lambda_final according to the function defined -using the keyword function (described below), this is done in -t_switch steps. Then comes the second equilibration period of -t_equil to equilibrate the system in the lambda = lambda_final -state. After that the switching back to the lambda = lambda_initial -state is done using t_switch timesteps and following the same +lambda_initial to lambda_final according to the function defined +using the keyword function (described below), this is done in +t_switch steps. Then comes the second equilibration period of +t_equil to equilibrate the system in the lambda = lambda_final +state. After that the switching back to the lambda = lambda_initial +state is done using t_switch timesteps and following the same switching function. After this period the value of lambda is kept -equal to lambda_initial indefinitely or until a unfix -erase the fix.

    -

    The description of thermodynamic integration in both directions is -done in de Koning00b, the main reason is to try to -eliminate the dissipated heat due to the nonequilibrium process.

    -

    The function keyword allows the use of three different switching -rates. The option 1 results in a constant rescaling where the lambda +equal to lambda_initial indefinitely or until a unfix +erase the fix. +

    +

    The description of thermodynamic integration in both directions is +done in de Koning00b, the main reason is to try to +eliminate the dissipated heat due to the nonequilibrium process. +

    +

    The function keyword allows the use of three different switching +rates. The option 1 results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time -according to the switching function

    -_images/fix_ti_rs_function_1.jpg -

    where tau is the scaled time variable t/t_switch. This switching +according to the switching function +

    +
    +
    +

    where tau is the scaled time variable t/t_switch. This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the final temperature of the procedure. The -option number 2 performs the switching at a rate defined by the -following switching function

    -_images/fix_ti_rs_function_2.jpg -

    This switching function has the characteristic that the temperature +option number 2 performs the switching at a rate defined by the +following switching function +

    +
    +
    +

    This switching function has the characteristic that the temperature scaling occurs at a constant rate during all the procedure. The option -number 3 performs the switching at a rate defined by the following -switching function

    -_images/fix_ti_rs_function_3.jpg -

    This switching function has the characteristic that the temperature +number 3 performs the switching at a rate defined by the following +switching function +

    +
    +
    +

    This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the initial temperature of -the procedure.

    -

    An example script using this command is provided in the -examples/USER/misc/ti directory.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    This fix computes a global vector quantitie which can be accessed by -various output commands. The vector has +the procedure. +

    +

    An example script using this command is provided in the +examples/USER/misc/ti directory. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    This fix computes a global vector quantitie which can be accessed by +various output commands. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector -values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    - -
    -

    Restrictions¶

    -

    This command is part of the USER-MISC package. It is only enabled if -LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    -
    -
    -

    Default¶

    -

    The keyword default is function = 1.

    -
    -

    (de Koning 99) M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999).

    -

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).

    -

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).

    -

    (de Koning 00a) M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000).

    -

    (de Koning 00b) M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000).

    -
    -
    +values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    Related commands: +

    +

    fix ti/spring +

    +

    Restrictions: +

    +

    This command is part of the USER-MISC package. It is only enabled if +LAMMPS was built with those packages. See the Making +LAMMPS section for more info. +

    +

    Default: +

    +

    The keyword default is function = 1. +

    +
    + -
    -
    -
    - +

    (de Koning 99) M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999). +

    + -
    +

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996). +

    + -
    +

    (de Koning 00a) M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (de Koning 00b) M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000). +

    + diff --git a/doc/fix_ti_spring.html b/doc/fix_ti_spring.html index 22a08955ea..7aa8255b43 100644 --- a/doc/fix_ti_spring.html +++ b/doc/fix_ti_spring.html @@ -1,322 +1,175 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ti/spring command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ti/spring command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ti/spring K t_switch t_equil keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ti/spring = style name of this fix command
    • -
    • K = spring constant (force/distance units)
    • -
    • t_switch/t_equil = number of steps of the switching/equilibration procedure
    • -
    • zero or more keyword/value pairs may be appended to args
    • -
    • keyword = function
    • -
    -
    -function value = function-ID
    -    function-ID = ID of the switching function (1 or 2)
    -
    -

    Example:

    -
    fix ref all ti/spring 50.0 2000 1000 function 2
    -
    -
    -
    -
    -

    Description¶

    -

    This fix allows you to compute the free energy of solids by performing + + +


    + +

    fix ti/spring command +

    +

    Syntax: +

    +
    fix ID group-ID ti/spring K t_switch t_equil keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ti/spring = style name of this fix command + +
    • K = spring constant (force/distance units) + +
    • t_switch/t_equil = number of steps of the switching/equilibration procedure + +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = function + +
        function value = function-ID 
      +    function-ID = ID of the switching function (1 or 2) 
      +
      + +
    +

    Example: +

    +
    fix ref all ti/spring 50.0 2000 1000 function 2 
    +
    +

    Description: +

    +

    This fix allows you to compute the free energy of solids by performing a thermodynamic integration between the solid of interest and an -Einstein crystal (Frenkel). The thermodynamic integration +Einstein crystal (Frenkel). The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching -(Watanabe, de Koning96).

    -

    A spring force is applied independently to each atom in the group to +(Watanabe, de Koning96). +

    +

    A spring force is applied independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. More details -about the springs are available in fix spring/self. The forces on the atoms are +about the springs are available in fix +spring/self. The forces on the atoms are dynamically scaled during the simulation, the rescaling is done in the -following manner:

    -_images/fix_ti_spring_force.jpg -

    where F_harm is the force due to the springs, F_solid is the total +following manner: +

    +
    +
    +

    where F_harm is the force due to the springs, F_solid is the total force on the atoms due to the interatomic potential and lambda is the -coupling parameter of the thermodynamic integration.

    -

    The fix acts as follows: during the first t_equil steps after the +coupling parameter of the thermodynamic integration. +

    +

    The fix acts as follows: during the first t_equil steps after the fix is defined the value of lambda is zero, this is the period to equilibrate the system in the lambda = 0 state. After this the value of lambda changes continuously from 0 to 1 according to the function -defined using the keyword function (described below), this is done -in t_switch steps. Then comes the second equilibration period of -t_equil to equilibrate the system in the lambda = 1 state. After +defined using the keyword function (described below), this is done +in t_switch steps. Then comes the second equilibration period of +t_equil to equilibrate the system in the lambda = 1 state. After that the switching back to the lambda = 0 state is made using -t_switch timesteps and following the same switching function. After +t_switch timesteps and following the same switching function. After this period the value of lambda is kept equal to zero and the fix has -no action in the dynamics of the system anymore.

    -

    The description of thermodynamic integration in both directions is -done in de Koning97, the main reason is to try to -eliminate the dissipated heat due to the nonequilibrium process.

    -

    The function keyword allows the use of two different switching -rates, the option 1 results in a constant rescaling where the lambda +no action in the dynamics of the system anymore. +

    +

    The description of thermodynamic integration in both directions is +done in de Koning97, the main reason is to try to +eliminate the dissipated heat due to the nonequilibrium process. +

    +

    The function keyword allows the use of two different switching +rates, the option 1 results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time -according to the switching function

    -_images/fix_ti_spring_function_1.jpg -

    where tau is the scaled time variable t/t_switch. The option number -2 performs the switching at a rate defined by the following -switching function

    -_images/fix_ti_spring_function_2.jpg -

    This function has zero slope as lambda approaches its extreme values -(0 and 1), according to (de Koning96) this results in +according to the switching function +

    +
    +
    +

    where tau is the scaled time variable t/t_switch. The option number +2 performs the switching at a rate defined by the following +switching function +

    +
    +
    +

    This function has zero slope as lambda approaches its extreme values +(0 and 1), according to (de Koning96) this results in smaller fluctuations on the integral to be computed on the -thermodynamic integration.

    -
    -

    Warning

    -

    It is importante to keep the center of mass fixed +thermodynamic integration. +

    +

    IMPORTANT NOTE: It is importante to keep the center of mass fixed during the thermodynamic integration, a non-zero total velocity will result in divergencies during the integration due to the fact that the -atoms are ‘attatched’ to its equilibrium positions by the Einstein -crystal. Check the option zero of fix langevin -and velocity. The use of the Nose-Hoover thermostat -(fix nvt) is NOT recommended due to its well documented +atoms are 'attatched' to its equilibrium positions by the Einstein +crystal. Check the option zero of fix langevin +and velocity. The use of the Nose-Hoover thermostat +(fix nvt) is NOT recommended due to its well documented issues with the canonical sampling of harmonic degrees of freedom -(notice that the chain option will NOT solve this problem). The -Langevin thermostat (fix langevin) works fine.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the original coordinates of tethered atoms to binary restart files, so that the spring effect will be the -same in a restarted simulation. See the read restart command for info on how to re-specify a fix +(notice that the chain option will NOT solve this problem). The +Langevin thermostat (fix langevin) works fine. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the original coordinates of tethered atoms to binary +restart files, so that the spring effect will be the +same in a restarted simulation. See the read +restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of -the fix continues in an uninterrupted fashion.

    -

    The fix modify energy option is supported by this -fix to add the energy stored in the per-atom springs to the system’s -potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar and a global vector quantities which -can be accessed by various output commands. The scalar is an energy which +the fix continues in an uninterrupted fashion. +

    +

    The fix modify energy option is supported by this +fix to add the energy stored in the per-atom springs to the system's +potential energy as part of thermodynamic output. +

    +

    This fix computes a global scalar and a global vector quantities which +can be accessed by various output +commands. The scalar is an energy which is the sum of the spring energy for each atom, where the per-atom energy is 0.5 * K * r^2. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector values calculated by this -fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the per-atom spring energy to be included +fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being -minimized), you MUST enable the fix modify energy -option for this fix.

    -
    -

    An example script using this command is provided in the -examples/USER/misc/ti directory.

    -
    - -
    -

    Restrictions¶

    -

    This command is part of the USER-MISC package. It is only enabled if -LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    -
    -
    -

    Default¶

    -

    The keyword default is function = 1.

    -
    -

    (Frenkel) Daan Frenkel and Anthony J. C. Ladd, J. Chem. Phys. 81, 3188 -(1984).

    -

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).

    -

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).

    -

    (de Koning 97) M. de Koning and A. Antonelli, Phys Rev B, 55, 735 (1997).

    -
    -
    +minimized), you MUST enable the fix modify energy +option for this fix. +

    +

    An example script using this command is provided in the +examples/USER/misc/ti directory. +

    +

    Related commands: +

    +

    fix spring, fix ti/rs +

    +

    Restrictions: +

    +

    This command is part of the USER-MISC package. It is only enabled if +LAMMPS was built with those packages. See the Making +LAMMPS section for more info. +

    +

    Default: +

    +

    The keyword default is function = 1. +

    +
    + -
    -
    -
    - +

    (Frenkel) Daan Frenkel and Anthony J. C. Ladd, J. Chem. Phys. 81, 3188 +(1984). +

    + -
    +

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (de Koning 97) M. de Koning and A. Antonelli, Phys Rev B, 55, 735 (1997). +

    + diff --git a/doc/fix_tmd.html b/doc/fix_tmd.html index 789a380e93..c365365f4b 100644 --- a/doc/fix_tmd.html +++ b/doc/fix_tmd.html @@ -1,298 +1,138 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix tmd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix tmd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID tmd rho_final file1 N file2
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • tmd = style name of this fix command
    • -
    • rho_final = desired value of rho at the end of the run (distance units)
    • -
    • file1 = filename to read target structure from
    • -
    • N = dump TMD statistics every this many timesteps, 0 = no dump
    • -
    • file2 = filename to write TMD statistics to (only needed if N > 0)
    • -
    -
    -
    -

    Examples¶

    -
    fix 1 all nve
    -fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file
    -
    -
    -
    -
    -

    Description¶

    -

    Perform targeted molecular dynamics (TMD) on a group of atoms. A + + +


    + +

    fix tmd command +

    +

    Syntax: +

    +
    fix ID group-ID tmd rho_final file1 N file2 
    +
    +
    • ID, group-ID are documented in fix command +
    • tmd = style name of this fix command +
    • rho_final = desired value of rho at the end of the run (distance units) +
    • file1 = filename to read target structure from +
    • N = dump TMD statistics every this many timesteps, 0 = no dump +
    • file2 = filename to write TMD statistics to (only needed if N > 0) +
    +

    Examples: +

    +
    fix 1 all nve
    +fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file 
    +
    +

    Description: +

    +

    Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or -away from) the target configuration. The parameter “rho” is +away from) the target configuration. The parameter "rho" is monotonically decreased (or increased) from its initial value to -rho_final at the end of the run.

    -

    Rho has distance units and is a measure of the root-mean-squared +rho_final at the end of the run. +

    +

    Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of rho_final = 0.0 means move the atoms all the way to the final -structure during the course of the run.

    -

    The target file1 can be ASCII text or a gzipped text file (detected by -a .gz suffix). The format of the target file1 is as follows:

    -
    0.0 25.0 xlo xhi
    +structure during the course of the run.
    +

    +

    The target file1 can be ASCII text or a gzipped text file (detected by +a .gz suffix). The format of the target file1 is as follows: +

    +
    0.0 25.0 xlo xhi
     0.0 25.0 ylo yhi
     0.0 25.0 zlo zhi
     125     24.97311   1.69005     23.46956 0 0 -1
     126     1.94691    2.79640     1.92799  1 0 0
     127     0.15906    3.46099     0.79121  1 0 0
    -...
    -
    -
    -

    The first 3 lines may or may not be needed, depending on the format of +... + +

    The first 3 lines may or may not be needed, depending on the format of the atoms to follow. If image flags are included with the atoms, the 1st 3 lo/hi lines must appear in the file. If image flags are not included, the 1st 3 lines should not appear. The 3 lines contain the simulation box dimensions for the atom coordinates, in the same format -as in a LAMMPS data file (see the read_data command).

    -

    The remaining lines each contain an atom ID and its target x,y,z +as in a LAMMPS data file (see the read_data command). +

    +

    The remaining lines each contain an atom ID and its target x,y,z coordinates. The atom lines (all or none of them) can optionally be followed by 3 integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in, i.e. a value of N (positive or negative) means add N times the box length to -the coordinate to get the true value.

    -

    The atom lines can be listed in any order, but every atom in the group +the coordinate to get the true value. +

    +

    The atom lines can be listed in any order, but every atom in the group must be listed in the file. Atoms not in the fix group may also be -listed; they will be ignored.

    -

    TMD statistics are written to file2 every N timesteps, unless N is -specified as 0, which means no statistics.

    -

    The atoms in the fix tmd group should be integrated (via a fix nve, -nvt, npt) along with other atoms in the system.

    -

    Restarts can be used with a fix tmd command. For example, imagine a +listed; they will be ignored. +

    +

    TMD statistics are written to file2 every N timesteps, unless N is +specified as 0, which means no statistics. +

    +

    The atoms in the fix tmd group should be integrated (via a fix nve, +nvt, npt) along with other atoms in the system. +

    +

    Restarts can be used with a fix tmd command. For example, imagine a 10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed -to prevent it being overwritten.

    -

    For more information about TMD, see (Schlitter1) and -(Schlitter2).

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +to prevent it being overwritten. +

    +

    For more information about TMD, see (Schlitter1) and +(Schlitter2). +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands.

    -

    This fix can ramp its rho parameter over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    All TMD fixes must be listed in the input script after all integrator +by this fix for access by various output +commands. +

    +

    This fix can ramp its rho parameter over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved -before their positions are corrected to comply with the constraint.

    -

    Atoms that have a TMD fix applied should not be part of a group to +before their positions are corrected to comply with the constraint. +

    +

    Atoms that have a TMD fix applied should not be part of a group to which a SHAKE fix is applied. This is because LAMMPS assumes there are not multiple competing holonomic constraints applied to the same -atoms.

    -

    To read gzipped target files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    -

    Related commands: none

    -

    Default: none

    -
    -

    (Schlitter1) Schlitter, Swegat, Mulders, “Distance-type reaction -coordinates for modelling activated processes”, J Molecular Modeling, -7, 171-177 (2001).

    -

    (Schlitter2) Schlitter and Klahn, “The free energy of a reaction -coordinate at multiple constraints: a concise formulation”, Molecular -Physics, 101, 3439-3443 (2003).

    -
    -
    +atoms. +

    +

    To read gzipped target files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making +LAMMPS section of the documentation. +

    +

    Related commands: none +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Schlitter1) Schlitter, Swegat, Mulders, "Distance-type reaction +coordinates for modelling activated processes", J Molecular Modeling, +7, 171-177 (2001). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Schlitter2) Schlitter and Klahn, "The free energy of a reaction +coordinate at multiple constraints: a concise formulation", Molecular +Physics, 101, 3439-3443 (2003). +

    + diff --git a/doc/fix_ttm.html b/doc/fix_ttm.html index fcb4b3b523..ff7a396989 100644 --- a/doc/fix_ttm.html +++ b/doc/fix_ttm.html @@ -1,147 +1,32 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix ttm command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix ttm command¶

    -
    -
    -

    fix ttm/mod command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile
    -fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = ttm or ttm_mod
    • -
    • seed = random number seed to use for white noise (positive integer)
    • -
    • remaining arguments for fix ttm:
    • -
    -
    C_e  = electronic specific heat (energy/(electron*temperature) units)
    +
    +
    +
    + +

    fix ttm command +

    +

    fix ttm/mod command +

    +

    Syntax: +

    +
    fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile
    +fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style = ttm or ttm_mod + +
    • seed = random number seed to use for white noise (positive integer) + +
    • remaining arguments for fix ttm: + +
        C_e  = electronic specific heat (energy/(electron*temperature) units)
         rho_e = electronic density (electrons/volume units)
         kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units)
         gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
      @@ -152,55 +37,54 @@ fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile
         Nz = number of thermal solve grid points in the z-direction (positive integer)
         T_infile = filename to read initial electronic temperature from
         N = dump TTM temperatures every this many timesteps, 0 = no dump
      -  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
      -
    -
    -
      -
    • remaining arguments for fix ttm/mod:
    • -
    -
    init_file = file with the parameters to TTM
    +  T_outfile = filename to write TTM temperatures to (only needed if N > 0) 
    +
    +
  • remaining arguments for fix ttm/mod: + +
      init_file = file with the parameters to TTM
       Nx = number of thermal solve grid points in the x-direction (positive integer)
       Ny = number of thermal solve grid points in the y-direction (positive integer)
       Nz = number of thermal solve grid points in the z-direction (positive integer)
       T_infile = filename to read initial electronic temperature from
       N = dump TTM temperatures every this many timesteps, 0 = no dump
    -  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
    -
  • -
    -
    -
    -

    Examples¶

    -
    fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
    +  T_outfile = filename to write TTM temperatures to (only needed if N > 0) 
    +
    + + +

    Examples: +

    +
    fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
     fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out
    -fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out
    -
    -
    -
    -
    -

    Description¶

    -

    Use a two-temperature model (TTM) to represent heat transfer through +fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out + +

    Description: +

    +

    Use a two-temperature model (TTM) to represent heat transfer through and between electronic and atomic subsystems. LAMMPS models the atomic subsystem as usual with a molecular dynamics model and the classical force field specified by the user, but the electronic -subsystem is modeled as a continuum, or a background “gas”, on a +subsystem is modeled as a continuum, or a background "gas", on a regular grid. Energy can be transferred spatially within the grid representing the electrons. Energy can also be transferred between the electronic and the atomic subsystems. The algorithm underlying this fix was derived by D. M. Duffy and A. M. Rutherford and is -discussed in two J Physics: Condensed Matter papers: (Duffy) -and (Rutherford). They used this algorithm in cascade +discussed in two J Physics: Condensed Matter papers: (Duffy) +and (Rutherford). They used this algorithm in cascade simulations where a primary knock-on atom (PKA) was initialized with a -high velocity to simulate a radiation event.

    -

    The description in this sub-section applies to both fix ttm and fix +high velocity to simulate a radiation event. +

    +

    The description in this sub-section applies to both fix ttm and fix ttm/mod. Fix ttm/mod adds options to account for external heat sources (e.g. at a surface) and for specifying parameters that allow the electronic heat capacity to depend strongly on electronic temperature. It is more expensive computationally than fix ttm because it treats the thermal diffusion equation as non-linear. More -details on fix ttm/mod are given below.

    -

    Heat transfer between the electronic and atomic subsystems is carried +details on fix ttm/mod are given below. +

    +

    Heat transfer between the electronic and atomic subsystems is carried out via an inhomogeneous Langevin thermostat. This thermostat differs -from the regular Langevin thermostat (fix langevin) in three important ways. First, the +from the regular Langevin thermostat (fix +langevin) in three important ways. First, the Langevin thermostat is applied uniformly to all atoms in the user-specified group for a single target temperature, whereas the TTM fix applies Langevin thermostatting locally to atoms within the @@ -211,57 +95,65 @@ reservoir, whereas the heat reservoir for fix TTM is finite and represents the local electrons. Third, the TTM fix allows users to specify not just one friction coefficient, but rather two independent friction coefficients: one for the electron-ion interactions -(gamma_p), and one for electron stopping (gamma_s).

    -

    When the friction coefficient due to electron stopping, gamma_s, is +(gamma_p), and one for electron stopping (gamma_s). +

    +

    When the friction coefficient due to electron stopping, gamma_s, is non-zero, electron stopping effects are included for atoms moving -faster than the electron stopping critical velocity, v_0. For -further details about this algorithm, see (Duffy) and -(Rutherford).

    -

    Energy transport within the electronic subsystem is solved according +faster than the electron stopping critical velocity, v_0. For +further details about this algorithm, see (Duffy) and +(Rutherford). +

    +

    Energy transport within the electronic subsystem is solved according to the heat diffusion equation with added source terms for heat -transfer between the subsystems:

    -_images/fix_ttm.jpg -

    where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the “e” and “a” subscripts +transfer between the subsystems: +

    +
    +
    +

    where C_e is the specific heat, rho_e is the density, kappa_e is the +thermal conductivity, T is temperature, the "e" and "a" subscripts represent electronic and atomic subsystems respectively, g_p is the coupling constant for the electron-ion interaction, and g_s is the electron stopping coupling parameter. C_e, rho_e, and kappa_e are specified as parameters to the fix. The other quantities are derived. The form of the heat diffusion equation used here is almost the same -as that in equation 6 of (Duffy), with the exception that the +as that in equation 6 of (Duffy), with the exception that the electronic density is explicitly reprensented, rather than being part -of the the specific heat parameter.

    -

    Currently, fix ttm assumes that none of the user-supplied parameters -will vary with temperature. Note that (Duffy) used a tanh() +of the the specific heat parameter. +

    +

    Currently, fix ttm assumes that none of the user-supplied parameters +will vary with temperature. Note that (Duffy) used a tanh() functional form for the temperature dependence of the electronic specific heat, but ignored temperature dependencies of any of the -other parameters. See more discussion below for fix ttm/mod.

    -

    These fixes require use of periodic boundary conditions and a 3D +other parameters. See more discussion below for fix ttm/mod. +

    +

    These fixes require use of periodic boundary conditions and a 3D simulation. Periodic boundary conditions are also used in the heat equation solve for the electronic subsystem. This varies from the -approach of (Rutherford) where the atomic subsystem was +approach of (Rutherford) where the atomic subsystem was embedded within a larger continuum representation of the electronic -subsystem.

    -

    The initial electronic temperature input file, T_infile, is a text +subsystem. +

    +

    The initial electronic temperature input file, T_infile, is a text file LAMMPS reads in with no header and with four numeric columns (ix,iy,iz,Temp) and with a number of rows equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node indices from 0 to nxnodes-1, etc. For example, the initial electronic -temperatures on a 1 by 2 by 3 grid could be specified in a T_infile -as follows:

    -
    0 0 0 1.0
    +temperatures on a 1 by 2 by 3 grid could be specified in a T_infile
    +as follows:
    +

    +
    0 0 0 1.0
     0 0 1 1.0
     0 0 2 1.0
     0 1 0 2.0
     0 1 1 2.0
    -0 1 2 2.0
    -
    -
    -

    where the electronic temperatures along the y=0 plane have been set to +0 1 2 2.0 + +

    where the electronic temperatures along the y=0 plane have been set to 1.0, and the electronic temperatures along the y=1 plane have been set to 2.0. The order of lines in this file is no important. If all the -nodal values are not specified, LAMMPS will generate an error.

    -

    The temperature output file, T_oufile, is created and written by +nodal values are not specified, LAMMPS will generate an error. +

    +

    The temperature output file, T_oufile, is created and written by this fix. Temperatures for both the electronic and atomic subsystems at every node and every N timesteps are output. If N is specified as zero, no output is generated, and no output filename is needed. The @@ -271,66 +163,83 @@ The next Nx*Ny*Nz columns contain the temperatures for the atomic subsystem, and the final Nx*Ny*Nz columns contain the temperatures for the electronic subsystem. The ordering of the Nx*Ny*Nz columns is with the z index varing fastest, y the next fastest, and x the -slowest.

    -

    These fixes do not change the coordinates of their atoms; they only -scales their velocities. Thus a time integration fix (e.g. fix nve) should still be used to time integrate the affected +slowest. +

    +

    These fixes do not change the coordinates of their atoms; they only +scales their velocities. Thus a time integration fix (e.g. fix +nve) should still be used to time integrate the affected atoms. The fixes should not normally be used on atoms that have their -temperature controlled by another fix - e.g. fix nvt or -fix langevin.

    -
    -

    Warning

    -

    The current implementations of these fixes create a +temperature controlled by another fix - e.g. fix nvt or +fix langevin. +

    +

    IMPORTANT NOTE: The current implementations of these fixes create a copy of the electron grid that overlays the entire simulation domain, for each processor. Values on the grid are summed across all processors. Thus you should insure that this grid is not too large, -else your simulation could incur high memory and communication costs.

    -
    -
    -

    Additional details for fix ttm/mod

    -

    Fix ttm/mod uses the heat diffusion equation with possible external -heat sources (e.g. laser heating in ablation simulations):

    -_images/fix_ttm_mod.jpg -

    where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in +else your simulation could incur high memory and communication costs. +

    +
    + +

    Additional details for fix ttm/mod +

    +

    Fix ttm/mod uses the heat diffusion equation with possible external +heat sources (e.g. laser heating in ablation simulations): +

    +
    +
    +

    where theta is the Heaviside step function, I_0 is the (absorbed) +laser pulse intensity for ablation simulations, l_skin is the depth +of skin-layer, and all other designations have the same meaning as in the former equation. The duration of the pulse is set by the parameter -tau in the init_file.

    -

    Fix ttm/mod also allows users to specify the dependencies of C_e and +tau in the init_file. +

    +

    Fix ttm/mod also allows users to specify the dependencies of C_e and kappa_e on the electronic temperature. The specific heat is expressed -as

    -_images/fix_ttm_ce.jpg -

    where X = T_e/1000, and the thermal conductivity is defined as +as +

    +
    +
    +

    where X = T_e/1000, and the thermal conductivity is defined as kappa_e = D_e*rho_e*C_e, where D_e is the thermal diffusion -coefficient.

    -

    Electronic pressure effects are included in the TTM model to account +coefficient. +

    +

    Electronic pressure effects are included in the TTM model to account for the blast force acting on ions because of electronic pressure -gradient (see (Chen), (Norman)). The total force -acting on an ion is:

    -_images/fix_ttm_blast.jpg -

    where F_langevin is a force from Langevin thermostat simulating +gradient (see (Chen), (Norman)). The total force +acting on an ion is: +

    +
    +
    +

    where F_langevin is a force from Langevin thermostat simulating electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force.

    -

    The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e

    -

    The current fix ttm/mod implementation allows TTM simulations with a +force. +

    +

    The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e +

    +

    The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the surface_movement parameter -in the init_file. If it is set to 1, then “vacuum” cells can be -changed to “electron-filled” cells with the temperature T_e_min if +allowed to move. It is controlled by the surface_movement parameter +in the init_file. If it is set to 1, then "vacuum" cells can be +changed to "electron-filled" cells with the temperature T_e_min if atoms move into them (currently only implemented for the case of 1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the init_file via lsurface -and rsurface parameters. In this case, electronic pressure gradient -is calculated as

    -_images/fix_ttm_blast1.jpg -

    where lambda is the electron mean free path (see (Norman), -(Pisarev))

    -

    The fix ttm/mod parameter file init_file has the following syntax/ +initial borders of vacuum can be set in the init_file via lsurface +and rsurface parameters. In this case, electronic pressure gradient +is calculated as +

    +
    +
    +

    where lambda is the electron mean free path (see (Norman), +(Pisarev)) +

    +

    The fix ttm/mod parameter file init_file has the following syntax/ Every line with the odd number is considered as a comment and -ignored. The lines with the even numbers are treated as follows:

    -
    a_0, energy/(temperature*electron) units
    +ignored. The lines with the even numbers are treated as follows:
    +

    +
    a_0, energy/(temperature*electron) units
     a_1, energy/(temperature^2*electron) units
     a_2, energy/(temperature^3*electron) units
     a_3, energy/(temperature^4*electron) units
    @@ -351,27 +260,31 @@ B, dimensionless
     lambda, length units
     n_ion, ions/volume units
     surface_movement: 0 to disable tracking of surface motion, 1 to enable
    -T_e_min, temperature units
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    These fixes write the state of the electronic subsystem and the energy -exchange between the subsystems to binary restart files. See the read_restart command +T_e_min, temperature units + +


    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    These fixes write the state of the electronic subsystem and the energy +exchange between the subsystems to binary restart +files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    Because the state of the random number generator is not saved in the -restart files, this means you cannot do “exact” restarts with this +uninterrupted fashion. +

    +

    Because the state of the random number generator is not saved in the +restart files, this means you cannot do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation -should produce the same behavior.

    -

    None of the fix_modify options are relevant to these -fixes.

    -

    Both fixes compute 2 output quantities stored in a vector of length 2, -which can be accessed by various output commands. The first quantity is the +should produce the same behavior. +

    +

    None of the fix_modify options are relevant to these +fixes. +

    +

    Both fixes compute 2 output quantities stored in a vector of length 2, +which can be accessed by various output +commands. The first quantity is the total energy of the electronic subsystem. The second quantity is the energy transferred from the electronic to the atomic subsystem on that timestep. Note that the velocity verlet integrator applies the fix ttm @@ -381,101 +294,57 @@ Consequently, the change in the atomic subsystem energy is lagged by half a timestep relative to the change in the electronic subsystem energy. As a result of this, users may notice slight fluctuations in the sum of the atomic and electronic subsystem energies reported at -the end of the timestep.

    -

    The vector values calculated are “extensive”.

    -

    No parameter of the fixes can be used with the start/stop keywords -of the run command. The fixes are not invoked during -energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Fix ttm is part of the MISC package. It is only enabled if LAMMPS -was built with that package. Fix ttm/mod is part of the USER-MISC +the end of the timestep. +

    +

    The vector values calculated are "extensive". +

    +

    No parameter of the fixes can be used with the start/stop keywords +of the run command. The fixes are not invoked during +energy minimization. +

    +

    Restrictions: +

    +

    Fix ttm is part of the MISC package. It is only enabled if LAMMPS +was built with that package. Fix ttm/mod is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. -See the Making LAMMPS section for more -info.

    -

    These fixes can only be used for 3d simulations and orthogonal +See the Making LAMMPS section for more +info. +

    +

    These fixes can only be used for 3d simulations and orthogonal simlulation boxes. You must also use periodic -boundary conditions.

    -
    - -
    +boundary conditions. +

    +

    Related commands: +

    +

    fix langevin, fix dt/reset +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Duffy) D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, +016207-016218 (2007). +

    + -
    +

    (Rutherford) A M Rutherford and D M Duffy, J. Phys.: +Condens. Matter, 19, 496201-496210 (2007). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Chen) J Chen, D Tzou and J Beraun, Int. J. Heat +Mass Transfer, 49, 307-316 (2006). +

    + -
    +

    (Norman) G E Norman, S V Starikov, V V Stegailov et al., Contrib. +Plasma Phys., 53, 129-139 (2013). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Pisarev) V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, +475401 (2014). +

    + diff --git a/doc/fix_tune_kspace.html b/doc/fix_tune_kspace.html index 9a6409053e..2b21e12afd 100644 --- a/doc/fix_tune_kspace.html +++ b/doc/fix_tune_kspace.html @@ -1,275 +1,109 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix tune/kspace command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix tune/kspace command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID tune/kspace N
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • tune/kspace = style name of this fix command
    • -
    • N = invoke this fix every N steps
    • -
    -
    -
    -

    Examples¶

    -
    fix 2 all tune/kspace 100
    -
    -
    -
    -
    -

    Description¶

    -

    This fix tests each kspace style (Ewald, PPPM, and MSM), and + + +


    + +

    fix tune/kspace command +

    +

    Syntax: +

    +
    fix ID group-ID tune/kspace N 
    +
    +
    • ID, group-ID are documented in fix command + +
    • tune/kspace = style name of this fix command + +
    • N = invoke this fix every N steps + + +
    +

    Examples: +

    +
    fix 2 all tune/kspace 100 
    +
    +

    Description: +

    +

    This fix tests each kspace style (Ewald, PPPM, and MSM), and automatically selects the fastest style to use for the remainder of the run. If the fastest style is Ewald or PPPM, the fix also -adjusts the coulomb cutoff towards optimal speed. Future versions -of this fix will automatically select other kspace parameters -to use for maximum simulation speed. The kspace parameters may -include the style, cutoff, grid points in each direction, order, -Ewald parameter, MSM parallelization cut-point, MPI tasks to use, etc.

    -

    The rationale for this fix is to provide the user with +adjusts the coulomb cutoff towards optimal speed. Future versions +of this fix will automatically select other kspace parameters +to use for maximum simulation speed. The kspace parameters may +include the style, cutoff, grid points in each direction, order, +Ewald parameter, MSM parallelization cut-point, MPI tasks to use, etc. +

    +

    The rationale for this fix is to provide the user with as-fast-as-possible simulations that include long-range electrostatics (kspace) while meeting the user-prescribed accuracy requirement. A simple heuristic could never capture the optimal combination of parameters for every possible run-time scenario. But by performing short tests of various kspace parameter sets, this fix allows -parameters to be tailored specifically to the user’s machine, MPI +parameters to be tailored specifically to the user's machine, MPI ranks, use of threading or accelerators, the simulated system, and the simulation details. In addition, it is possible that parameters could be evolved with the simulation on-the-fly, which is useful for systems that are dynamically evolving (e.g. changes in box size/shape or -number of particles).

    -

    When this fix is invoked, LAMMPS will perform short timed tests of -various parameter sets to determine the optimal parameters. Tests are +number of particles). +

    +

    When this fix is invoked, LAMMPS will perform short timed tests of +various parameter sets to determine the optimal parameters. Tests are performed on-the-fly, with a new test initialized every N steps. N should -be chosen large enough so that adequate CPU time lapses between tests, +be chosen large enough so that adequate CPU time lapses between tests, thereby providing statistically significant timings. But N should not be -chosen to be so large that an unfortunate parameter set test takes an +chosen to be so large that an unfortunate parameter set test takes an inordinate amount of wall time to complete. An N of 100 for most problems -seems reasonable. Once an optimal parameter set is found, that set is -used for the remainder of the run.

    -

    This fix uses heristics to guide it’s selection of parameter sets to test, +seems reasonable. Once an optimal parameter set is found, that set is +used for the remainder of the run. +

    +

    This fix uses heristics to guide it's selection of parameter sets to test, but the actual timed results will be used to decide which set to use in the -simulation.

    -

    It is not necessary to discard trajectories produced using sub-optimal +simulation. +

    +

    It is not necessary to discard trajectories produced using sub-optimal parameter sets, or a mix of various parameter sets, since the user-prescribed accuracy will have been maintained throughout. However, some users may prefer -to use this fix only to discover the optimal parameter set for a given setup -that can then be used on subsequent production runs.

    -

    This fix starts with kspace parameters that are set by the user with the -kspace_style and kspace_modify -commands. The prescribed accuracy will be maintained by this fix throughout -the simulation.

    -

    None of the fix_modify options are relevant to this -fix.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the KSPACE package. It is only enabled if LAMMPS was -built with that package. See the Making LAMMPS section for more info.

    -

    Do not set “neigh_modify once yes” or else this fix will never be -called. Reneighboring is required.

    -
    - -
    -

    Default¶

    -
    -
    -
    +to use this fix only to discover the optimal parameter set for a given setup +that can then be used on subsequent production runs. +

    +

    This fix starts with kspace parameters that are set by the user with the +kspace_style and kspace_modify +commands. The prescribed accuracy will be maintained by this fix throughout +the simulation. +

    +

    None of the fix_modify options are relevant to this +fix. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the KSPACE package. It is only enabled if LAMMPS was +built with that package. See the Making +LAMMPS section for more info. +

    +

    Do not set "neigh_modify once yes" or else this fix will never be +called. Reneighboring is required. +

    +

    Related commands: +

    +

    kspace_style, boundary +kspace_modify, pair_style +lj/cut/coul/long, pair_style +lj/charmm/coul/long, pair_style +lj/long, pair_style +lj/long/coul/long, +pair_style buck/coul/long +

    +

    Default: +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/fix_vector.html b/doc/fix_vector.html index 62dd1805b4..d35bae9048 100644 --- a/doc/fix_vector.html +++ b/doc/fix_vector.html @@ -1,331 +1,171 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix vector command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix vector command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID vector Nevery value1 value2 ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • ave/time = style name of this fix command
    • -
    • Nevery = use input values every this many timesteps
    • -
    • one or more input values can be listed
    • -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
    • -
    -
    c_ID = global scalar calculated by a compute with ID
    +
    +
    +
    + +

    fix vector command +

    +

    Syntax: +

    +
    fix ID group-ID vector Nevery value1 value2 ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • ave/time = style name of this fix command + +
    • Nevery = use input values every this many timesteps + +
    • one or more input values can be listed + +
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + +
        c_ID = global scalar calculated by a compute with ID
         c_ID[I] = Ith component of global vector calculated by a compute with ID
         f_ID = global scalar calculated by a fix with ID
         f_ID[I] = Ith component of global vector calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name
      -
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all vector 100 c_myTemp
    -fix 1 all vector 5 c_myTemp v_integral
    -
    -
    -
    -
    -

    Description¶

    -

    Use one or more global values as inputs every few timesteps, and + v_name = global value calculated by an equal-style variable with name + + + +

    Examples: +

    +
    fix 1 all vector 100 c_myTemp
    +fix 1 all vector 5 c_myTemp v_integral 
    +
    +

    Description: +

    +

    Use one or more global values as inputs every few timesteps, and simply store them. For a single specified value, the values are stored as a global vector of growing length. For multiple specified values, they are stored as rows in a global array, whose number of rows is growing. The resulting vector or array can be used by other -output commands.

    -

    One way to to use this command is to accumulate a vector that is -time-integrated using the variable trap() function. +output commands. +

    +

    One way to to use this command is to accumulate a vector that is +time-integrated using the variable trap() function. For example the velocity auto-correlation function (VACF) can be -time-integrated, to yield a diffusion coefficient, as follows:

    -
    compute         2 all vacf
    +time-integrated, to yield a diffusion coefficient, as follows:
    +

    +
    compute         2 all vacf
     fix             5 all vector 1 c_2[4]
     variable        diff equal dt*trap(f_5)
    -thermo_style    custom step v_diff
    -
    -
    -

    The group specified with this command is ignored. However, note that +thermo_style custom step v_diff + +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own “group” definitions.

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own "group" definitions. +

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. -And the global quantity must be a scalar, not a vector or array.

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +And the global quantity must be a scalar, not a vector or array. +

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values.

    -

    The Nevery argument specifies on what timesteps the input values +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values. +

    +

    The Nevery argument specifies on what timesteps the input values will be used in order to be stored. Only timesteps that are a -multiple of Nevery, including timestep 0, will contribute values.

    -

    Note that if you perform multiple runs, using the “pre no” option of -the run command to avoid initialization on subsequent runs, -then you need to use the stop keyword with the first run +multiple of Nevery, including timestep 0, will contribute values. +

    +

    Note that if you perform multiple runs, using the "pre no" option of +the run command to avoid initialization on subsequent runs, +then you need to use the stop keyword with the first run command with a timestep value that encompasses all the runs. This is so that the vector or array stored by this fix can be allocated to a -sufficient size.

    -
    -

    If a value begins with “c_”, a compute ID must follow which has been +sufficient size. +

    +
    + +

    If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the compute is used.

    -

    Note that there is a compute reduce command +calculated by the compute is used. +

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix vector. Or it can be a compute defined -not in your input script, but by thermodynamic output or other fixes such as fix nvt -or fix temp/rescale. See the doc pages for +not in your input script, but by thermodynamic +output or other fixes such as fix nvt +or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. Users can also -write code for their own compute styles and add them to LAMMPS.

    -

    If a value begins with “f_”, a fix ID must follow which has been +write code for their own compute styles and add them to +LAMMPS. +

    +

    If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the fix is used.

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to LAMMPS.

    -

    If a value begins with “v_”, a variable name must follow which has +calculated by the fix is used. +

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to +LAMMPS. +

    +

    If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Only equal-style -variables can be referenced. See the variable command -for details. Note that variables of style equal define a formula +variables can be referenced. See the variable command +for details. Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying -quantities to be stored by fix vector.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix produces a global vector or global array which can be -accessed by various output commands. +quantities to be stored by fix vector. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix produces a global vector or global array which can be +accessed by various output commands. The values can only be accessed on timesteps that are multiples of -Nevery.

    -

    A vector is produced if only a single input value is specified. +Nevery. +

    +

    A vector is produced if only a single input value is specified. An array is produced if multiple input values are specified. The length of the vector or the number of rows in the array grows -by 1 every Nevery timesteps.

    -

    If the fix prouduces a vector, then the entire vector will be either -“intensive” or “extensive”, depending on whether the values stored in -the vector are “intensive” or “extensive”. If the fix produces an +by 1 every Nevery timesteps. +

    +

    If the fix prouduces a vector, then the entire vector will be either +"intensive" or "extensive", depending on whether the values stored in +the vector are "intensive" or "extensive". If the fix produces an array, then all elements in the array must be the same, either -“intensive” or “extensive”. If a compute or fix provides the value +"intensive" or "extensive". If a compute or fix provides the value stored, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive.

    -

    This fix can allocate storage for stored values accumulated over -multiple runs, using the start and stop keywords of the -run command. See the run command for details of -how to do this. If using the run pre no command option, +further info. Values produced by a variable are treated as intensive. +

    +

    This fix can allocate storage for stored values accumulated over +multiple runs, using the start and stop keywords of the +run command. See the run command for details of +how to do this. If using the run pre no command option, this is required to allow the fix to allocate sufficient storage for -stored values.

    -

    This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +stored values. +

    +

    This fix is not invoked during energy minimization. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, variable +

    +

    Default: none +

    + diff --git a/doc/fix_viscosity.html b/doc/fix_viscosity.html index 12a706717f..eb96df8cb7 100644 --- a/doc/fix_viscosity.html +++ b/doc/fix_viscosity.html @@ -1,161 +1,50 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix viscosity command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix viscosity command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID viscosity N vdim pdim Nbin keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • viscosity = style name of this fix command
    • -
    • N = perform momentum exchange every N steps
    • -
    • vdim = x or y or z = which momentum component to exchange
    • -
    • pdim = x or y or z = direction of momentum transfer
    • -
    • Nbin = # of layers in pdim direction (must be even number)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = swap or target
    • -
    -
    -swap value = Nswap = number of swaps to perform every N steps
    -  vtarget value = V or INF = target velocity of swap partners (velocity units)
    -
    -
    -
    -

    Examples¶

    -
    fix 1 all viscosity 100 x z 20
    -fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5
    -
    -
    -
    -
    -

    Description¶

    -

    Use the Muller-Plathe algorithm described in this paper to exchange momenta between two particles in + + +


    + +

    fix viscosity command +

    +

    Syntax: +

    +
    fix ID group-ID viscosity N vdim pdim Nbin keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • viscosity = style name of this fix command + +
    • N = perform momentum exchange every N steps + +
    • vdim = x or y or z = which momentum component to exchange + +
    • pdim = x or y or z = direction of momentum transfer + +
    • Nbin = # of layers in pdim direction (must be even number) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = swap or target + +
        swap value = Nswap = number of swaps to perform every N steps
      +  vtarget value = V or INF = target velocity of swap partners (velocity units) 
      +
      + +
    +

    Examples: +

    +
    fix 1 all viscosity 100 x z 20
    +fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 
    +
    +

    Description: +

    +

    Use the Muller-Plathe algorithm described in this +paper to exchange momenta between two particles in different regions of the simulation box every N steps. This induces a shear velocity profile in the system. As described below this enables a viscosity of the fluid to be calculated. This algorithm is @@ -165,175 +54,131 @@ impose a shear velocity profile on the system and measure the response via an off-diagonal component of the stress tensor, which is proportional to the momentum flux. In the Muller-Plathe method, the momentum flux is imposed, and the shear velocity profile is the -system’s response.

    -

    The simulation box is divided into Nbin layers in the pdim +system's response. +

    +

    The simulation box is divided into Nbin layers in the pdim direction, where the layer 1 is at the low end of that dimension and -the layer Nbin is at the high end. Every N steps, Nswap pairs of +the layer Nbin is at the high end. Every N steps, Nswap pairs of atoms are chosen in the following manner. Only atoms in the fix group are considered. Nswap atoms in layer 1 with positive velocity -components in the vdim direction closest to the target value V are -selected. Similarly, Nswap atoms in the “middle” layer (see below) with -negative velocity components in the vdim direction closest to the -negative of the target value V are selected. The two sets of Nswap -atoms are paired up and their vdim momenta components are swapped +components in the vdim direction closest to the target value V are +selected. Similarly, Nswap atoms in the "middle" layer (see below) with +negative velocity components in the vdim direction closest to the +negative of the target value V are selected. The two sets of Nswap +atoms are paired up and their vdim momenta components are swapped within each pair. This resets their velocities, typically in opposite directions. Over time, this induces a shear velocity profile in the system which can be measured using commands such as the following, -which writes the profile to the file tmp.profile:

    -
    fix f1 all ave/spatial 100 10 1000 z lower 0.05 vx &
    -    file tmp.profile units reduced
    -
    -
    -

    Note that by default, Nswap = 1 and vtarget = INF, though this can be -changed by the optional swap and vtarget keywords. When vtarget = +which writes the profile to the file tmp.profile: +

    +
    fix f1 all ave/spatial 100 10 1000 z lower 0.05 vx &
    +    file tmp.profile units reduced 
    +
    +

    Note that by default, Nswap = 1 and vtarget = INF, though this can be +changed by the optional swap and vtarget keywords. When vtarget = INF, one or more atoms with the most positive and negative velocity components are selected. Setting these parameters appropriately, in conjunction with the swap rate N, allows the momentum flux rate to be adjusted across a wide range of values, and the momenta to be -exchanged in large chunks or more smoothly.

    -

    The “middle” layer for momenta swapping is defined as the Nbin/2 + 1 -layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. +exchanged in large chunks or more smoothly. +

    +

    The "middle" layer for momenta swapping is defined as the Nbin/2 + 1 +layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. This should lead to a symmetric velocity profile since the two layers are separated by the same distance in both directions in a periodic -sense. This is why Nbin is restricted to being an even number.

    -

    As described below, the total momentum transferred by these velocity +sense. This is why Nbin is restricted to being an even number. +

    +

    As described below, the total momentum transferred by these velocity swaps is computed by the fix and can be output. Dividing this quantity by time and the cross-sectional area of the simulation box yields a momentum flux. The ratio of momentum flux to the slope of the shear velocity profile is proportional to the viscosity of the -fluid, in appropriate units. See the Muller-Plathe paper for details.

    -
    -

    Warning

    -

    If your system is periodic in the direction of the +fluid, in appropriate units. See the Muller-Plathe +paper for details. +

    +

    IMPORTANT NOTE: If your system is periodic in the direction of the momentum flux, then the flux is going in 2 directions. This means the effective momentum flux in one direction is reduced by a factor of 2. You will see this in the equations for viscosity in the Muller-Plathe paper. LAMMPS is simply tallying momentum which does not account for whether or not your system is periodic; you must use the value -appropriately to yield a viscosity for your system.

    -
    -
    -

    Warning

    -

    After equilibration, if the velocity profile you +appropriately to yield a viscosity for your system. +

    +

    IMPORTANT NOTE: After equilibration, if the velocity profile you observe is not linear, then you are likely swapping momentum too frequently and are not in a regime of linear response. In this case you cannot accurately infer a viscosity and should try increasing -the Nevery parameter.

    -
    -

    An alternative method for calculating a viscosity is to run a NEMD -simulation, as described in Section_howto 13 of the manual. NEMD simulations -deform the simmulation box via the fix deform -command. Thus they cannot be run on a charged system using a PPPM solver since PPPM does not currently support +the Nevery parameter. +

    +

    An alternative method for calculating a viscosity is to run a NEMD +simulation, as described in Section_howto +13 of the manual. NEMD simulations +deform the simmulation box via the fix deform +command. Thus they cannot be run on a charged system using a PPPM +solver since PPPM does not currently support non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; -thus it does not suffer from this limitation.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +thus it does not suffer from this limitation. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative momentum transferred between the bottom and middle of the -simulation box (in the pdim direction) is stored as a scalar +simulation box (in the pdim direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumlates thereafter, once every N steps. The units of the quantity are momentum = mass*velocity. The scalar value calculated by -this fix is “intensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Swaps conserve both momentum and kinetic energy, even if the masses of +this fix is "intensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than vdim).

    -

    LAMMPS does not check, but you should not use this fix to swap -velocities of atoms that are in constrained molecules, e.g. via fix shake or fix rigid. This is because +apply it only to the non-swapped dimensions (other than vdim). +

    +

    LAMMPS does not check, but you should not use this fix to swap +velocities of atoms that are in constrained molecules, e.g. via fix +shake or fix rigid. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible molecules. -See the Maginn paper for an example of using this algorithm -in a computation of alcohol molecule properties.

    -

    When running a simulation with large, massive particles or molecules +See the Maginn paper for an example of using this algorithm +in a computation of alcohol molecule properties. +

    +

    When running a simulation with large, massive particles or molecules in a background solvent, you may want to only exchange momenta bewteen -solvent particles.

    -
    - -
    -

    Default¶

    -

    The option defaults are swap = 1 and vtarget = INF.

    -
    -

    (Muller-Plathe) Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999).

    -

    (Maginn) Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, -260, 218-231 (2007).

    -
    -
    +solvent particles. +

    +

    Related commands: +

    +

    fix ave/spatial, fix +thermal/conductivity +

    +

    Default: +

    +

    The option defaults are swap = 1 and vtarget = INF. +

    +
    + -
    -
    -
    - +

    (Muller-Plathe) Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Maginn) Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, +260, 218-231 (2007). +

    + diff --git a/doc/fix_viscous.html b/doc/fix_viscous.html index 55bae73d16..9d890a071a 100644 --- a/doc/fix_viscous.html +++ b/doc/fix_viscous.html @@ -1,162 +1,45 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix viscous command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix viscous command¶

    -
    -
    -

    fix viscous/cuda command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID viscous gamma keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • viscous = style name of this fix command
    • -
    • gamma = damping coefficient (force/velocity units)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = scale
    -  scale values = type ratio
    +
    +
    +
    + +

    fix viscous command +

    +

    fix viscous/cuda command +

    +

    Syntax: +

    +
    fix ID group-ID viscous gamma keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • viscous = style name of this fix command + +
    • gamma = damping coefficient (force/velocity units) + +
    • zero or more keyword/value pairs may be appended + +
      keyword = scale
      +  scale values = type ratio
           type = atom type (1-N)
      -    ratio = factor to scale the damping coefficient by
      -
      -
    -
    -

    Examples¶

    -
    fix 1 flow viscous 0.1
    -fix 1 damp viscous 0.5 scale 3 2.5
    -
    -
    -
    -
    -

    Description¶

    -

    Add a viscous damping force to atoms in the group that is proportional + ratio = factor to scale the damping coefficient by + + + +

    Examples: +

    +
    fix 1 flow viscous 0.1
    +fix 1 damp viscous 0.5 scale 3 2.5 
    +
    +

    Description: +

    +

    Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a frictional interaction with implicit solvent, i.e. the no-slip Stokes drag on a spherical particle. In granular simulations this can be @@ -164,139 +47,88 @@ useful for draining the kinetic energy from the system in a controlled fashion. If used without additional thermostatting (to add kinetic energy to the system), it has the effect of slowly (or rapidly) freezing the system; hence it can also be used as a simple energy -minimization technique.

    -

    The damping force F is given by F = - gamma * velocity. The larger +minimization technique. +

    +

    The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the -optional keyword scale is used, gamma can scaled up or down by the +optional keyword scale is used, gamma can scaled up or down by the specified factor for atoms of that type. It can be used multiple -times to adjust gamma for several atom types.

    -
    -

    Warning

    -

    You should specify gamma in force/velocity units. +times to adjust gamma for several atom types. +

    +

    IMPORTANT NOTE: You should specify gamma in force/velocity units. This is not the same as mass/time units, at least for some of the -LAMMPS units options like “real” or “metal” that are not -self-consistent.

    -
    -

    In a Brownian dynamics context, gamma = Kb T / D, where Kb = -Boltzmann’s constant, T = temperature, and D = particle diffusion +LAMMPS units options like "real" or "metal" that are not +self-consistent. +

    +

    In a Brownian dynamics context, gamma = Kb T / D, where Kb = +Boltzmann's constant, T = temperature, and D = particle diffusion coefficient. D can be written as Kb T / (3 pi eta d), where eta = dynamic viscosity of the frictional fluid and d = diameter of particle. This means gamma = 3 pi eta d, and thus is proportional to -the viscosity of the fluid and the particle diameter.

    -

    In the current implementation, rather than have the user specify a +the viscosity of the fluid and the particle diameter. +

    +

    In the current implementation, rather than have the user specify a viscosity, gamma is specified directly in force/velocity units. If needed, gamma can be adjusted for atoms of different sizes -(i.e. sigma) by using the scale keyword.

    -

    Note that Brownian dynamics models also typically include a randomized -force term to thermostat the system at a chosen temperature. The fix langevin command does this. It has the same +(i.e. sigma) by using the scale keyword. +

    +

    Note that Brownian dynamics models also typically include a randomized +force term to thermostat the system at a chosen temperature. The fix +langevin command does this. It has the same viscous damping term as fix viscous and adds a random force to each atom. The random force term is proportional to the sqrt of the chosen thermostatting temperature. Thus if you use fix langevin with a target T = 0, its random force term is zero, and you are essentially performing the same operation as fix viscous. Also note that the -gamma of fix viscous is related to the damping parameter of fix langevin, however the former is specified in units +gamma of fix viscous is related to the damping parameter of fix +langevin, however the former is specified in units of force/velocity and the latter in units of time, so that it can more -easily be used as a thermostat.

    -
    -

    Styles with a cuda suffix are functionally the same as the +easily be used as a thermostat. +

    +
    + +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. This fix should only +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the min_style command -for details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +non-conservative forces. See the min_style command +for details. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix langevin +

    +

    Default: none +

    + diff --git a/doc/fix_wall.html b/doc/fix_wall.html index 153b9590b7..891863492f 100644 --- a/doc/fix_wall.html +++ b/doc/fix_wall.html @@ -1,313 +1,213 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/lj93 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/lj93 command¶

    -
    -
    -

    fix wall/lj126 command¶

    -
    -
    -

    fix wall/lj1043 command¶

    -
    -
    -

    fix wall/colloid command¶

    -
    -
    -

    fix wall/harmonic command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID style face args ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • style = wall/lj93 or wall/lj126 or wall/lj1043 or wall/colloid or wall/harmonic
    • -
    • one or more face/arg pairs may be appended
    • -
    • face = xlo or xhi or ylo or yhi or zlo or zhi
    • -
    -
    -args = coord epsilon sigma cutoff
    +
    +
    +
    + +

    fix wall/lj93 command +

    +

    fix wall/lj126 command +

    +

    fix wall/lj1043 command +

    +

    fix wall/colloid command +

    +

    fix wall/harmonic command +

    +

    Syntax: +

    +
    fix ID group-ID style face args ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • style = wall/lj93 or wall/lj126 or wall/lj1043 or wall/colloid or wall/harmonic + +
    • one or more face/arg pairs may be appended + +
    • face = xlo or xhi or ylo or yhi or zlo or zhi + +
        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)
      -      variable = equal-style variable like v_x or v_wiggle
      +      variable = equal-style variable like v_x or v_wiggle
           epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
             epsilon can be a variable (see below)
           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)
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = units or fld
      • -
      -
      -units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -  fld value = yes or no
      -    yes = invoke the wall constraint to be compatible with implicit FLD
      -    no = invoke the wall constraint in the normal way
      -  pbc value = yes or no
      -    yes = allow periodic boundary in a wall dimension
      -    no = require non-perioidic boundaries in any wall dimension
      -
      -
    -
    -

    Examples¶

    -
    fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box
    +    cutoff = distance from wall at which wall-particle interaction is cut off (distance units) 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = units or fld + +
      units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +  fld value = yes or no
    +    yes = invoke the wall constraint to be compatible with implicit FLD
    +    no = invoke the wall constraint in the normal way
    +  pbc value = yes or no
    +    yes = allow periodic boundary in a wall dimension
    +    no = require non-perioidic boundaries in any wall dimension 
    +
    + + +

    Examples: +

    +
    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/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
    -
  • -
    -
    -
    -

    Description¶

    -

    Bound the simulation domain on one or more of its faces with a flat +fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 + +

    Description: +

    +

    Bound the simulation domain on one or more of its faces with a flat wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of -wall-particle interactions depends on the style.

    -

    For style wall/lj93, the energy E is given by the 9/3 potential:

    -_images/fix_wall_lj93.jpg -

    For style wall/lj126, the energy E is given by the 12/6 potential:

    -_images/pair_lj.jpg -

    For style wall/lj1043, the energy E is given by the 10/4/3 potential:

    -_images/fix_wall_lj1043.jpg -

    For style wall/colloid, the energy E is given by an integrated form -of the pair_style colloid potential:

    -_images/fix_wall_colloid.jpg -

    For style wall/harmonic, the energy E is given by a harmonic spring -potential:

    -_images/fix_wall_harmonic.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 +wall-particle interactions depends on the style. +

    +

    For style wall/lj93, the energy E is given by the 9/3 potential: +

    +
    +
    +

    For style wall/lj126, the energy E is given by the 12/6 potential: +

    +
    +
    +

    For style wall/lj1043, the energy E is given by the 10/4/3 potential: +

    +
    +
    +

    For style wall/colloid, the energy E is given by an integrated form +of the pair_style colloid potential: +

    +
    +
    +

    For style wall/harmonic, the energy E is given by a harmonic spring +potential: +

    +
    +
    +

    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 potential is shifted so that the wall-particle interaction energy is -0.0 at the cutoff distance.

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face interacts with +0.0 at the cutoff distance. +

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face interacts with particles near the lower side of the simulation box in that dimension. -A hi face interacts with particles near the upper side of the -simulation box in that dimension.

    -

    The position of each wall can be specified in one of 3 ways: as the +A hi face interacts with particles near the upper side of the +simulation box in that dimension. +

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. See examples below.

    -

    For the wall/lj93 and wall/lj126 and wall/lj1043 styles, -epsilon and sigma are the usual Lennard-Jones parameters, which +specify a time-dependent wall position. See examples below. +

    +

    For the wall/lj93 and wall/lj126 and wall/lj1043 styles, +epsilon and sigma are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with -the wall. Epsilon has energy units. Note that this epsilon and -sigma may be different than any epsilon or sigma values defined -for a pair style that computes particle-particle interactions.

    -

    The wall/lj93 interaction is derived by integrating over a 3d -half-lattice of Lennard-Jones 12/6 particles. The wall/lj126 +the wall. Epsilon has energy units. Note that this epsilon and +sigma may be different than any epsilon or sigma values defined +for a pair style that computes particle-particle interactions. +

    +

    The wall/lj93 interaction is derived by integrating over a 3d +half-lattice of Lennard-Jones 12/6 particles. The wall/lj126 interaction is effectively a harder, more repulsive wall interaction. -The wall/lj1043 interaction is yet a different form of wall -interaction, described in Magda et al in (Magda).

    -

    For the wall/colloid style, R is the radius of the colloid -particle, D is the distance from the surface of the colloid particle -to the wall (r-R), and sigma is the size of a constituent LJ +The wall/lj1043 interaction is yet a different form of wall +interaction, described in Magda et al in (Magda). +

    +

    For the wall/colloid style, R is the radius of the colloid +particle, D is the distance from the surface of the colloid particle +to the wall (r-R), and sigma is the size of a constituent LJ particle inside the colloid particle and wall. Note that the cutoff distance Rc in this case is the distance from the colloid particle -center to the wall. The prefactor epsilon can be thought of as an +center to the wall. The prefactor epsilon can be thought of as an effective Hamaker constant with energy units for the strength of the -colloid-wall interaction. More specifically, the epsilon pre-factor +colloid-wall interaction. More specifically, the epsilon pre-factor = 4 * pi^2 * rho_wall * rho_colloid * epsilon * sigma^6, where epsilon and sigma are the LJ parameters for the constituent LJ particles. Rho_wall and rho_colloid are the number density of the constituent particles, in the wall and colloid respectively, in units -of 1/volume.

    -

    The wall/colloid interaction is derived by integrating over -constituent LJ particles of size sigma within the colloid particle -and a 3d half-lattice of Lennard-Jones 12/6 particles of size sigma +of 1/volume. +

    +

    The wall/colloid interaction is derived by integrating over +constituent LJ particles of size sigma within the colloid particle +and a 3d half-lattice of Lennard-Jones 12/6 particles of size sigma in the wall. As mentioned in the preceeding paragraph, the density of particles in the wall and colloid can be different, as specified by -the epsilon pre-factor.

    -

    For the wall/harmonic style, epsilon is effectively the spring +the epsilon pre-factor. +

    +

    For the wall/harmonic style, epsilon is effectively the spring constant K, and has units (energy/distance^2). The input parameter -sigma is ignored. The minimum energy position of the harmonic -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 -as an equal-style variable, in which case it should be +sigma is ignored. The minimum energy position of the harmonic +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 +as an equal-style variable, 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 the result becomes the current epsilon or sigma of the wall. Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent wall interaction.

    -
    -

    Warning

    -

    For all of the styles, you must insure that r is -always > 0 for all particles in the group, or LAMMPS will generate an +time. Thus it is easy to specify a time-dependent wall interaction. +

    +

    IMPORTANT NOTE: For all of the styles, you must insure that r is +always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles at -the wall position coord (r = 0) or with particles on the wrong side -of the wall (r < 0). For the wall/lj93 and wall/lj126 styles, the +the wall position coord (r = 0) or with particles on the wrong side +of the wall (r < 0). For the wall/lj93 and wall/lj126 styles, the energy of the wall/particle interaction (and hence the force on the -particle) blows up as r -> 0. The wall/colloid style is even more -restrictive, since the energy blows up as D = r-R -> 0. This means +particle) blows up as r -> 0. The wall/colloid style is even more +restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger than R -from the wall position coord. The harmonic style is a softer -potential and does not blow up as r -> 0, but you must use a large -enough epsilon that particles always reamin on the correct side of -the wall (r > 0).

    -
    -

    The units keyword determines the meaning of the distance units used +from the wall position coord. The harmonic style is a softer +potential and does not blow up as r -> 0, but you must use a large +enough epsilon that particles always reamin on the correct side of +the wall (r > 0). +

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to -produce a value compatible with the units setting you specify.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings.

    -

    The fld keyword can be used with a yes setting to invoke the wall +produce a value compatible with the units setting you specify. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings. +

    +

    The fld keyword can be used with a yes setting to invoke the wall constraint before pairwise interactions are computed. This allows an -implicit FLD model using pair_style lubricateU +implicit FLD model using pair_style lubricateU to include the wall force in its calculations. If the setting is -no, wall forces are imposed after pairwise interactions, in the -usual manner.

    -

    The pbc keyword can be used with a yes setting to allow walls to +no, wall forces are imposed after pairwise interactions, in the +usual manner. +

    +

    The pbc keyword can be used with a yes setting to allow walls to be specified in a periodic dimension. See the -boundary command for options on simulation box -boundaries. The default for pbc is no, which means the system +boundary command for options on simulation box +boundaries. The default for pbc is no, which means the system must be non-periodic when using a wall. But you may wish to use a periodic box. E.g. to allow some particles to interact with the wall via the fix group-ID, and others to pass through it and wrap around a @@ -315,154 +215,96 @@ periodic box. In this case you should insure that the wall if sufficiently far enough away from the box boundary. If you do not, then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you -want.

    -
    -

    Here are examples of variable definitions that move the wall position +want. +

    +
    + +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables. The wall interaction parameters (epsilon, -sigma) could be varied with additional variable definitions.

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall xlo v_ramp 1.0 1.0 2.5
    -
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall xlo v_linear 1.0 1.0 2.5
    -
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5
    -
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5
    -
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables. The wall interaction parameters (epsilon, +sigma) could be varied with additional variable definitions. +

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall xlo v_ramp 1.0 1.0 2.5 
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall xlo v_linear 1.0 1.0 2.5 
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time.

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time. +

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period:

    -
    position = c0 + A sin(omega*delta)
    -
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period: +

    +
    position = c0 + A sin(omega*delta) 
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles:

    -
    position = c0 + A (1 - cos(omega*delta))
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +perturbation on the particles: +

    +
    position = c0 + A (1 - cos(omega*delta)) 
    +
    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and each wall to -the system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar energy and a global vector of -forces, which can be accessed by various output commands. Note that the scalar energy is +the system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar energy and a global vector of +forces, which can be accessed by various output +commands. Note that the scalar energy is the sum of interactions with all defined walls. If you want the energy on a per-wall basis, you need to use multiple fix wall commands. The length of the vector is equal to the number of walls defined by the fix. Each vector value is the normal force on a specific wall. Note that an outward force on a wall will be a -negative value for lo walls and a positive value for hi walls. -The scalar and vector values calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the atom/wall interaction energy to be +negative value for lo walls and a positive value for hi walls. +The scalar and vector values calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you MUST enable the fix_modify -energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults units = lattice, fld = no, and pbc = no.

    -
    -

    (Magda) Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); -erratum in JCP 84, 2901 (1986).

    -
    -
    +being minimized), you MUST enable the fix_modify +energy option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix wall/reflect, +fix wall/gran, +fix wall/region +

    +

    Default: +

    +

    The option defaults units = lattice, fld = no, and pbc = no. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Magda) Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); +erratum in JCP 84, 2901 (1986). +

    + diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html index 3e30a61499..032beac914 100644 --- a/doc/fix_wall_gran.html +++ b/doc/fix_wall_gran.html @@ -1,193 +1,84 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/gran command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/gran command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • wall/gran = style name of this fix command
    • -
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
    • -
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
    • -
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
    • -
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
    • -
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
    • -
    • dampflag = 0 or 1 if tangential damping force is excluded or included
    • -
    • wallstyle = xplane or yplane or zplane or zcylinder
    • -
    • args = list of arguments for a particular style
    • -
    -
    -xplane or yplane or zplane args = lo hi
    +
    +
    +
    + +

    fix wall/gran command +

    +

    Syntax: +

    +
    fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • wall/gran = style name of this fix command + +
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) + +
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) + +
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) + +
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) + +
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4) + +
    • dampflag = 0 or 1 if tangential damping force is excluded or included + +
    • wallstyle = xplane or yplane or zplane or zcylinder + +
    • args = list of arguments for a particular style + +
        xplane or yplane or zplane args = lo hi
           lo,hi = position of lower and upper plane (distance units), either can be NULL)
      -  zcylinder args = radius
      -    radius = cylinder radius (distance units)
      -
      -
        -
      • zero or more keyword/value pairs may be appended to args
      • -
      • keyword = wiggle or shear
      • -
      -
      -wiggle values = dim amplitude period
      -    dim = x or y or z
      +  zcylinder args = radius
      +    radius = cylinder radius (distance units) 
      +
      +
    • zero or more keyword/value pairs may be appended to args + +
    • keyword = wiggle or shear + +
        wiggle values = dim amplitude period
      +    dim = x or y or z
           amplitude = size of oscillation (distance units)
           period = time of oscillation (time units)
      -  shear values = dim vshear
      -    dim = x or y or z
      -    vshear = magnitude of shear velocity (velocity units)
      -
      -
    -
    -

    Examples¶

    -
    fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
    -fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
    -fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Bound the simulation domain of a granular system with a frictional + shear values = dim vshear + dim = x or y or z + vshear = magnitude of shear velocity (velocity units) + + + +

    Examples: +

    +
    fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 
    +fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL 
    +fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 
    +
    +

    Description: +

    +

    Bound the simulation domain of a granular system with a frictional wall. All particles in the group interact with the wall when they are -close enough to touch it.

    -

    The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and +close enough to touch it. +

    +

    The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and dampflag) have the same meaning as those specified with the -pair_style granular force fields. This means a NULL +pair_style granular force fields. This means a NULL can be used for either Kt or gamma_t as described on that page. If a NULL is used for Kt, then a default value is used where Kt = 2/7 Kn. If a NULL is used for gamma_t, then a default value is used where -gamma_t = 1/2 gamma_n.

    -

    The nature of the wall/particle interactions are determined by which -pair_style is used in your input script: hooke, hooke/history, or -hertz/history. The equation for the force between the wall and +gamma_t = 1/2 gamma_n. +

    +

    The nature of the wall/particle interactions are determined by which +pair_style is used in your input script: hooke, hooke/history, or +hertz/history. The equation for the force between the wall and particles touching it is the same as the corresponding equation on the -pair_style granular doc page, in the limit of one of +pair_style granular doc page, in the limit of one of the two particles going to infinite radius and mass (flat wall). I.e. delta = radius - r = overlap of particle with wall, m_eff = mass of particle, and sqrt(RiRj/Ri+Rj) becomes sqrt(radius of particle). @@ -196,10 +87,10 @@ doc page. The meaning of xmu and dampflag are also as described on that page. Note that you can choose different values for these 6 wall/particle coefficients than for particle/particle interactions, if you wish your wall to interact differently with the particles, e.g. if -the wall is a different material.

    -
    -

    Warning

    -

    As discussed on the doc page for pair_style granular, versions of LAMMPS before 9Jan09 used a +the wall is a different material. +

    +

    IMPORTANT NOTE: As discussed on the doc page for pair_style +granular, versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a sqrt(radius) term which was not present before. Also the previous @@ -210,131 +101,76 @@ appropriately in the current code to reproduce the results of a prevoius Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, Kn, Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were -previously.

    -
    -

    The wallstyle can be planar or cylindrical. The 3 planar options +previously. +

    +

    The wallstyle can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by -lo and hi. Either of the values can be specified as NULL if a -single wall is desired. For a zcylinder wallstyle, the cylinder’s -axis is at x = y = 0.0, and the radius of the cylinder is specified.

    -

    Optionally, the wall can be moving, if the wiggle or shear -keywords are appended. Both keywords cannot be used together.

    -

    For the wiggle keyword, the wall oscillates sinusoidally, similar to +lo and hi. Either of the values can be specified as NULL if a +single wall is desired. For a zcylinder wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. +

    +

    Optionally, the wall can be moving, if the wiggle or shear +keywords are appended. Both keywords cannot be used together. +

    +

    For the wiggle keyword, the wall oscillates sinusoidally, similar to the oscillations of particles which can be specified by the -fix_move command. This is useful in packing -simulations of granular particles. The arguments to the wiggle -keyword specify a dimension for the motion, as well as it’s -amplitude and period. Note that if the dimension is in the plane +fix_move command. This is useful in packing +simulations of granular particles. The arguments to the wiggle +keyword specify a dimension for the motion, as well as it's +amplitude and period. Note that if the dimension is in the plane of the wall, this is effectively a shearing motion. If the dimension is perpendicular to the wall, it is more of a shaking motion. A -zcylinder wall can only be wiggled in the z dimension.

    -

    Each timestep, the position of a wiggled wall in the appropriate dim -is set according to this equation:

    -
    position = coord + A - A cos (omega * delta)
    -
    -
    -

    where coord is the specified initial position of the wall, A is -the amplitude, omega is 2 PI / period, and delta is the time +zcylinder wall can only be wiggled in the z dimension. +

    +

    Each timestep, the position of a wiggled wall in the appropriate dim +is set according to this equation: +

    +
    position = coord + A - A cos (omega * delta) 
    +
    +

    where coord is the specified initial position of the wall, A is +the amplitude, omega is 2 PI / period, and delta is the time elapsed since the fix was specified. The velocity of the wall is set -to the derivative of this expression.

    -

    For the shear keyword, the wall moves continuously in the specified -dimension with velocity vshear. The dimension must be tangential to -walls with a planar wallstyle, e.g. in the y or z directions for -an xplane wall. For zcylinder walls, a dimension of z means the -cylinder is moving in the z-direction along it’s axis. A dimension of -x or y means the cylinder is spinning around the z-axis, either in -the clockwise direction for vshear > 0 or counter-clockwise for -vshear < 0. In this case, vshear is the tangential velocity of -the wall at whatever radius has been defined.

    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    This fix writes the shear friction state of atoms interacting with the -wall to binary restart files, so that a simulation can -continue correctly if granular potentials with shear “history” effects -are being used. See the read_restart command for +to the derivative of this expression. +

    +

    For the shear keyword, the wall moves continuously in the specified +dimension with velocity vshear. The dimension must be tangential to +walls with a planar wallstyle, e.g. in the y or z directions for +an xplane wall. For zcylinder walls, a dimension of z means the +cylinder is moving in the z-direction along it's axis. A dimension of +x or y means the cylinder is spinning around the z-axis, either in +the clockwise direction for vshear > 0 or counter-clockwise for +vshear < 0. In this case, vshear is the tangential velocity of +the wall at whatever radius has been defined. +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    This fix writes the shear friction state of atoms interacting with the +wall to binary restart files, so that a simulation can +continue correctly if granular potentials with shear "history" effects +are being used. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion.

    -

    None of the fix_modify options are relevant to this +uninterrupted fashion. +

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Any dimension (xyz) that has a granular wall must be non-periodic.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Any dimension (xyz) that has a granular wall must be non-periodic. +

    +

    Related commands: +

    +

    fix_move, pair_style granular +

    +

    Default: none +

    + diff --git a/doc/fix_wall_piston.html b/doc/fix_wall_piston.html index ba0204f5e6..b76361ce91 100644 --- a/doc/fix_wall_piston.html +++ b/doc/fix_wall_piston.html @@ -1,295 +1,131 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/piston command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/piston command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID wall/piston face ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • wall/piston = style name of this fix command
    • -
    • face = zlo
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = pos or vel or ramp or units
    • -
    -
    -pos args = z
    +
    +
    +
    + +

    fix wall/piston command +

    +

    Syntax: +

    +
    fix ID group-ID wall/piston face ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • wall/piston = style name of this fix command + +
    • face = zlo + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = pos or vel or ramp or units + +
        pos args = z
           z = z coordinate at which the piston begins (distance units)
      -  vel args = vz
      +  vel args = vz
           vz = final velocity of the piston (velocity units)
      -  ramp = use a linear velocity ramp from 0 to vz
      -  temp args = target damp seed extent
      +  ramp = use a linear velocity ramp from 0 to vz
      +  temp args = target damp seed extent
           target = target velocity for region immediately ahead of the piston
           damp = damping paramter (time units)
           seed = random number seed for langevin kicks
           extent = extent of thermostated region (distance units)
      -  units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix xwalls all wall/piston zlo
    +  units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix xwalls all wall/piston zlo
     fix walls all wall/piston zlo pos 1.0 vel 10.0 units box
    -fix top all wall/piston zlo vel 10.0 ramp
    -
    -
    -
    -
    -

    Description¶

    -

    Bound the simulation with a moving wall which reflect particles in the +fix top all wall/piston zlo vel 10.0 ramp + +

    Description: +

    +

    Bound the simulation with a moving wall which reflect particles in the specified group and drive the system with an effective infinite-mass -piston capable of driving shock waves.

    -

    A momentum mirror technique is used, which means that if an atom (or +piston capable of driving shock waves. +

    +

    A momentum mirror technique is used, which means that if an atom (or the wall) moves such that an atom is outside the wall on a timestep by -a distance delta (e.g. due to fix nve), then it is put +a distance delta (e.g. due to fix nve), then it is put back inside the face by the same delta, and the velocity relative to the moving wall is flipped in z. For instance, a stationary particle hit with a piston wall with velocity vz, will end the timestep with a -velocity of 2*vz.

    -

    Currently the face keyword can only be zlo. This creates a piston +velocity of 2*vz. +

    +

    Currently the face keyword can only be zlo. This creates a piston moving in the positive z direction. Particles with z coordinate less than the wall position are reflected to a z coordinate greater than the wall position. If the piston velocity is vpz and the particle velocity before reflection is vzi, the particle velocity after -reflection is -vzi + 2*vpz.

    -

    The initial position of the wall can be specified by the pos keyword.

    -

    The final velocity of the wall can be specified by the vel keyword

    -

    The ramp keyword will cause the wall/piston to adjust the velocity -linearly from zero velocity to vel over the course of the run. If -the ramp keyword is omitted then the wall/piston moves at a constant -velocity defined by vel.

    -

    The temp keyword will cause the region immediately in front of the +reflection is -vzi + 2*vpz. +

    +

    The initial position of the wall can be specified by the pos keyword. +

    +

    The final velocity of the wall can be specified by the vel keyword +

    +

    The ramp keyword will cause the wall/piston to adjust the velocity +linearly from zero velocity to vel over the course of the run. If +the ramp keyword is omitted then the wall/piston moves at a constant +velocity defined by vel. +

    +

    The temp keyword will cause the region immediately in front of the wall/piston to be thermostated with a Langevin thermostat. This region moves with the piston. The damping and kicking are measured in the reference frame of the piston. So, a temperature of zero would mean all particles were moving at exactly the speed of the -wall/piston.

    -

    The units keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant is used.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings.

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +wall/piston. +

    +

    The units keyword determines the meaning of the distance units used +to define a wall position, but only when a numeric constant is used. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings. +

    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The face that has the wall/piston must be boundary type ‘s’ -(shrink-wrapped). The opposing face can be -any boundary type other than periodic.

    -

    A wall/piston should not be used with rigid bodies such as those -defined by a “fix rigid” command. This is because the wall/piston -displaces atoms directly rather than exerting a force on them.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are pos = 0, vel = 0, units = lattice.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The face that has the wall/piston must be boundary type 's' +(shrink-wrapped). The opposing face can be +any boundary type other than periodic. +

    +

    A wall/piston should not be used with rigid bodies such as those +defined by a "fix rigid" command. This is because the wall/piston +displaces atoms directly rather than exerting a force on them. +

    +

    Related commands: +

    +

    fix wall/reflect command, fix +append/atoms command +

    +

    Default: +

    +

    The keyword defaults are pos = 0, vel = 0, units = lattice. +

    + diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html index 6fecb8dc52..8e87e80db5 100644 --- a/doc/fix_wall_reflect.html +++ b/doc/fix_wall_reflect.html @@ -1,339 +1,174 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/reflect command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/reflect command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID wall/reflect face arg ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • wall/reflect = style name of this fix command
    • -
    • one or more face/arg pairs may be appended
    • -
    • face = xlo or xhi or ylo or yhi or zlo or zhi
    • -
    -
    -xlo,*ylo*,*zlo* arg = EDGE or constant or variable
    +
    +
    +
    + +

    fix wall/reflect command +

    +

    Syntax: +

    +
    fix ID group-ID wall/reflect face arg ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • wall/reflect = style name of this fix command + +
    • one or more face/arg pairs may be appended + +
    • face = xlo or xhi or ylo or yhi or zlo or zhi + +
        xlo,ylo,zlo arg = EDGE or constant or variable
           EDGE = current lo edge of simulation box
           constant = number like 0.0 or -30.0 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
      +    variable = equal-style variable like v_x or v_wiggle
      +  xhi,yhi,zhi arg = EDGE or constant or variable
           EDGE = current hi edge of simulation box
           constant = number like 50.0 or 100.3 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = units
      • -
      -
      -units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix xwalls all wall/reflect xlo EDGE xhi EDGE
    +    variable = equal-style variable like v_x or v_wiggle 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = units + +
      units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix xwalls all wall/reflect xlo EDGE xhi EDGE
     fix walls all wall/reflect xlo 0.0 ylo 10.0 units box
    -fix top all wall/reflect zhi v_pressdown
    -
  • -
    -
    -
    -

    Description¶

    -

    Bound the simulation with one or more walls which reflect particles -in the specified group when they attempt to move thru them.

    -

    Reflection means that if an atom moves outside the wall on a timestep -by a distance delta (e.g. due to fix nve), then it is +fix top all wall/reflect zhi v_pressdown + +

    Description: +

    +

    Bound the simulation with one or more walls which reflect particles +in the specified group when they attempt to move thru them. +

    +

    Reflection means that if an atom moves outside the wall on a timestep +by a distance delta (e.g. due to fix nve), then it is put back inside the face by the same delta, and the sign of the -corresponding component of its velocity is flipped.

    -

    When used in conjunction with fix nve and run_style verlet, the resultant time-integration algorithm is +corresponding component of its velocity is flipped. +

    +

    When used in conjunction with fix nve and run_style +verlet, the resultant time-integration algorithm is equivalent to the primitive splitting algorithm (PSA) described by -Bond. Because each reflection event divides +Bond. Because each reflection event divides the corresponding timestep asymmetrically, energy conservation is only satisfied to O(dt), rather than to O(dt^2) as it would be for -velocity-Verlet integration without reflective walls.

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face reflects particles +velocity-Verlet integration without reflective walls. +

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face reflects particles that move to a coordinate less than the wall position, back in the -hi direction. A hi face reflects particles that move to a -coordinate higher than the wall position, back in the lo direction.

    -

    The position of each wall can be specified in one of 3 ways: as the +hi direction. A hi face reflects particles that move to a +coordinate higher than the wall position, back in the lo direction. +

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position.

    -

    The units keyword determines the meaning of the distance units used +specify a time-dependent wall position. +

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to -produce a value compatible with the units setting you specify.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings.

    -
    -

    Here are examples of variable definitions that move the wall position +produce a value compatible with the units setting you specify. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings. +

    +
    + +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables.

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall/reflect xlo v_ramp
    -
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall/reflect xlo v_linear
    -
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall/reflect xlo v_wiggle
    -
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall/reflect xlo v_wiggle
    -
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables. +

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall/reflect xlo v_ramp 
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall/reflect xlo v_linear 
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall/reflect xlo v_wiggle  
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall/reflect xlo v_wiggle 
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time.

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time. +

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period:

    -
    position = c0 + A sin(omega*delta)
    -
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period: +

    +
    position = c0 + A sin(omega*delta) 
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles:

    -
    position = c0 + A (1 - cos(omega*delta))
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options +perturbation on the particles: +

    +
    position = c0 + A (1 - cos(omega*delta)) 
    +
    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Any dimension (xyz) that has a reflecting wall must be non-periodic.

    -

    A reflecting wall should not be used with rigid bodies such as those -defined by a “fix rigid” command. This is because the wall/reflect +by this fix for access by various output +commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization. +

    +

    Restrictions: +

    +

    Any dimension (xyz) that has a reflecting wall must be non-periodic. +

    +

    A reflecting wall should not be used with rigid bodies such as those +defined by a "fix rigid" command. This is because the wall/reflect displaces atoms directly rather than exerts a force on them. For -rigid bodies, use a soft wall instead, such as fix wall/lj93. LAMMPS will flag the use of a rigid +rigid bodies, use a soft wall instead, such as fix +wall/lj93. LAMMPS will flag the use of a rigid fix with fix wall/reflect with a warning, but will not generate an -error.

    -
    - -
    +error. +

    +

    Related commands: +

    +

    fix wall/lj93, fix oneway +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bond) Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007). +

    + diff --git a/doc/fix_wall_region.html b/doc/fix_wall_region.html index fe95967fa2..9f4a5d06ce 100644 --- a/doc/fix_wall_region.html +++ b/doc/fix_wall_region.html @@ -1,194 +1,72 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/region command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/region command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID wall/region region-ID style epsilon sigma cutoff
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • wall/region = style name of this fix command
    • -
    • region-ID = region whose boundary will act as wall
    • -
    • style = lj93 or lj126 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)
    • -
    -
    -
    -

    Examples¶

    -
    fix wall all wall/region mySphere lj93 1.0 1.0 2.5
    -
    -
    -
    -
    -

    Description¶

    -

    Treat the surface of the geometric region defined by the region-ID + + +


    + +

    fix wall/region command +

    +

    Syntax: +

    +
    fix ID group-ID wall/region region-ID style epsilon sigma cutoff 
    +
    +
    • ID, group-ID are documented in fix command +
    • wall/region = style name of this fix command +
    • region-ID = region whose boundary will act as wall +
    • style = lj93 or lj126 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) +
    +

    Examples: +

    +
    fix wall all wall/region mySphere lj93 1.0 1.0 2.5 
    +
    +

    Description: +

    +

    Treat the surface of the geometric region defined by the region-ID as a bounding wall which interacts with nearby particles according to the specified style. The distance between a particle and the surface is the distance to the nearest point on the surface and the force the wall exerts on the particle is along the direction between that point and the particle, which is the direction normal to the surface at that point. Note that if the region surface is comprised of multiple -“faces”, then each face can exert a force on the particle if it is -close enough. E.g. for region_style block, a particle +"faces", then each face can exert a force on the particle if it is +close enough. E.g. for region_style block, a particle in the interior, near a corner of the block, could feel wall forces -from 1, 2, or 3 faces of the block.

    -

    Regions are defined using the region command. Note that +from 1, 2, or 3 faces of the block. +

    +

    Regions are defined using the region command. Note that the region volume can be interior or exterior to the bounding surface, which will determine in which direction the surface interacts with particles, i.e. the direction of the surface normal. Regions can either be primitive shapes (block, sphere, cylinder, etc) or -combinations of primitive shapes specified via the union or -intersect region styles. These latter styles can be used to +combinations of primitive shapes specified via the union or +intersect region styles. These latter styles can be used to construct particle containers with complex shapes. Regions can also -change over time via the region command keywords (move) -and rotate. If such a region is used with this fix, then the of -region surface will move over time in the corresponding manner.

    -
    -

    Warning

    -

    As discussed on the region command doc +change over time via the region command keywords (move) +and rotate. If such a region is used with this fix, then the of +region surface will move over time in the corresponding manner. +

    +

    IMPORTANT NOTE: As discussed on the region command doc page, regions in LAMMPS do not get wrapped across periodic boundaries. It is up to you to insure that periodic or non-periodic boundaries are -specified appropriately via the boundary command when +specified appropriately via the boundary command when using a region as a wall that bounds particle motion. This also means that if you embed a region in your simulation box and want it to -repulse particles from its surface (using the “side out” option in the -region command), that its repulsive force will not be -felt across a periodic boundary.

    -
    -
    -

    Warning

    -

    For primitive regions with sharp corners and/or edges +repulse particles from its surface (using the "side out" option in the +region command), that its repulsive force will not be +felt across a periodic boundary. +

    +

    IMPORTANT NOTE: For primitive regions with sharp corners and/or edges (e.g. a block or cylinder), wall/particle forces are computed -accurately for both interior and exterior regions. For union and -intersect regions, additional sharp corners and edges may be present +accurately for both interior and exterior regions. For union and +intersect regions, additional sharp corners and edges may be present due to the intersection of the surfaces of 2 or more primitive volumes. These corners and edges can be of two types: concave or convex. Concave points/edges are like the corners of a cube as seen @@ -200,184 +78,133 @@ LAMMPS does NOT compute the location of these convex points directly, and hence wall/particle forces in the cutoff volume around these points suffer from inaccuracies. The basic problem is that the outward normal of the surface is not continuous at these points. This -can cause particles to feel no force (they don’t “see” the wall) when +can cause particles to feel no force (they don't "see" the wall) when in one location, then move a distance epsilon, and suddenly feel a -large force because they now “see” the wall. In a worst-case +large force because they now "see" the wall. In a worst-case scenario, this can blow particles out of the simulation box. Thus, as a general rule you should not use the fix wall/region command with -union or interesect regions that have convex points or edges.

    -
    -
    -

    Warning

    -

    Similarly, you should not define union or -intersert regions for use with this command that share a common +union or interesect regions that have convex points or edges. +

    +

    IMPORTANT NOTE: Similarly, you should not define union or +intersert regions for use with this command that share a common face, even if the face is smooth. E.g. two regions of style block in -a union region, where the two blocks have the same face. This is +a union region, where the two blocks have the same face. This is because LAMMPS discards points that are part of multiple sub-regions when calculating wall/particle interactions, to avoid double-counting the interaction. Having two coincident faces could cause the face to become invisible to the particles. The solution is to make the two -faces differ by epsilon in their position.

    -
    -

    The energy of wall-particle interactions depends on the specified -style.

    -

    For style lj93, the energy E is given by the 9/3 potential:

    -_images/fix_wall_lj93.jpg -

    For style lj126, the energy E is given by the 12/6 potential:

    -_images/pair_lj.jpg -

    For style colloid, the energy E is given by an integrated form of -the pair_style colloid potential:

    -_images/fix_wall_colloid.jpg -

    For style wall/harmonic, the energy E is given by a harmonic spring -potential:

    -_images/fix_wall_harmonic.jpg -

    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 +faces differ by epsilon in their position. +

    +

    The energy of wall-particle interactions depends on the specified +style. +

    +

    For style lj93, the energy E is given by the 9/3 potential: +

    +
    +
    +

    For style lj126, the energy E is given by the 12/6 potential: +

    +
    +
    +

    For style colloid, the energy E is given by an integrated form of +the pair_style colloid potential: +

    +
    +
    +

    For style wall/harmonic, the energy E is given by a harmonic spring +potential: +

    +
    +
    +

    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.

    -

    For the lj93 and lj126 styles, epsilon and sigma are the usual +cutoff distance. +

    +

    For the lj93 and lj126 styles, epsilon and sigma are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with the wall. Epsilon has energy units. -Note that this epsilon and sigma may be different than any -epsilon or sigma values defined for a pair style that computes -particle-particle interactions.

    -

    The lj93 interaction is derived by integrating over a 3d -half-lattice of Lennard-Jones 12/6 particles. The lj126 interaction -is effectively a harder, more repulsive wall interaction.

    -

    For the colloid style, epsilon is effectively a Hamaker constant -with energy units for the colloid-wall interaction, R is the radius -of the colloid particle, D is the distance from the surface of the -colloid particle to the wall (r-R), and sigma is the size of a +Note that this epsilon and sigma may be different than any +epsilon or sigma values defined for a pair style that computes +particle-particle interactions. +

    +

    The lj93 interaction is derived by integrating over a 3d +half-lattice of Lennard-Jones 12/6 particles. The lj126 interaction +is effectively a harder, more repulsive wall interaction. +

    +

    For the colloid style, epsilon is effectively a Hamaker constant +with energy units for the colloid-wall interaction, R is the radius +of the colloid particle, D is the distance from the surface of the +colloid particle to the wall (r-R), and sigma is the size of a constituent LJ particle inside the colloid particle. Note that the cutoff distance Rc in this case is the distance from the colloid -particle center to the wall.

    -

    The colloid interaction is derived by integrating over constituent -LJ particles of size sigma within the colloid particle and a 3d -half-lattice of Lennard-Jones 12/6 particles of size sigma in the -wall.

    -

    For the wall/harmonic style, epsilon is effectively the spring +particle center to the wall. +

    +

    The colloid interaction is derived by integrating over constituent +LJ particles of size sigma within the colloid particle and a 3d +half-lattice of Lennard-Jones 12/6 particles of size sigma in the +wall. +

    +

    For the wall/harmonic style, epsilon is effectively the spring constant K, and has units (energy/distance^2). The input parameter -sigma is ignored. The minimum energy position of the harmonic -spring is at the cutoff. This is a repulsive-only spring since the -interaction is truncated at the cutoff

    -
    -

    Warning

    -

    For all of the styles, you must insure that r is -always > 0 for all particles in the group, or LAMMPS will generate an +sigma is ignored. The minimum energy position of the harmonic +spring is at the cutoff. This is a repulsive-only spring since the +interaction is truncated at the cutoff +

    +

    IMPORTANT NOTE: For all of the styles, you must insure that r is +always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles on the region surface (r = 0) or with particles on the wrong side of the -region surface (r < 0). For the wall/lj93 and wall/lj126 styles, +region surface (r < 0). For the wall/lj93 and wall/lj126 styles, the energy of the wall/particle interaction (and hence the force on -the particle) blows up as r -> 0. The wall/colloid style is even -more restrictive, since the energy blows up as D = r-R -> 0. This +the particle) blows up as r -> 0. The wall/colloid style is even +more restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger -than R from the region surface. The harmonic style is a softer -potential and does not blow up as r -> 0, but you must use a large -enough epsilon that particles always reamin on the correct side of -the region surface (r > 0).

    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files.

    -

    The fix_modify energy option is supported by this +than R from the region surface. The harmonic style is a softer +potential and does not blow up as r -> 0, but you must use a large +enough epsilon that particles always reamin on the correct side of +the region surface (r > 0). +

    +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. +

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and the wall to the -system’s potential energy as part of thermodynamic output.

    -

    This fix computes a global scalar energy and a global 3-length vector -of forces, which can be accessed by various output commands. The scalar energy is the sum +system's potential energy as part of thermodynamic +output. +

    +

    This fix computes a global scalar energy and a global 3-length vector +of forces, which can be accessed by various output +commands. The scalar energy is the sum of energy interactions for all particles interacting with the wall represented by the region surface. The 3 vector quantities are the x,y,z components of the total force acting on the wall due to the particles. The scalar and vector values calculated by this fix are -“extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command.

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command.

    -
    -

    Warning

    -

    If you want the atom/wall interaction energy to be +"extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. +

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. +

    +

    IMPORTANT NOTE: If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you MUST enable the fix_modify -energy option for this fix.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +being minimized), you MUST enable the fix_modify +energy option for this fix. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix wall/lj93, +fix wall/lj126, +fix wall/colloid, +fix wall/gran +

    +

    Default: none +

    + diff --git a/doc/fix_wall_srd.html b/doc/fix_wall_srd.html index a76c35a4b9..ea3f64c68b 100644 --- a/doc/fix_wall_srd.html +++ b/doc/fix_wall_srd.html @@ -1,376 +1,203 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - fix wall/srd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    fix wall/srd command¶

    -
    -

    Syntax¶

    -
    fix ID group-ID wall/srd face arg ... keyword value ...
    -
    -
    -
      -
    • ID, group-ID are documented in fix command
    • -
    • wall/srd = style name of this fix command
    • -
    • one or more face/arg pairs may be appended
    • -
    • face = xlo or xhi or ylo or yhi or zlo or zhi
    • -
    -
    -xlo,*ylo*,*zlo* arg = EDGE or constant or variable
    +
    +
    +
    + +

    fix wall/srd command +

    +

    Syntax: +

    +
    fix ID group-ID wall/srd face arg ... keyword value ... 
    +
    +
    • ID, group-ID are documented in fix command + +
    • wall/srd = style name of this fix command + +
    • one or more face/arg pairs may be appended + +
    • face = xlo or xhi or ylo or yhi or zlo or zhi + +
        xlo,ylo,zlo arg = EDGE or constant or variable
           EDGE = current lo edge of simulation box
           constant = number like 0.0 or -30.0 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
      +    variable = equal-style variable like v_x or v_wiggle
      +  xhi,yhi,zhi arg = EDGE or constant or variable
           EDGE = current hi edge of simulation box
           constant = number like 50.0 or 100.3 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = units
      • -
      -
      -units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -
      -
    -
    -

    Examples¶

    -
    fix xwalls all wall/srd xlo EDGE xhi EDGE
    +    variable = equal-style variable like v_x or v_wiggle 
    +
    +
  • zero or more keyword/value pairs may be appended + +
  • keyword = units + +
      units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units 
    +
    + + +

    Examples: +

    +
    fix xwalls all wall/srd xlo EDGE xhi EDGE
     fix walls all wall/srd xlo 0.0 ylo 10.0 units box
    -fix top all wall/srd zhi v_pressdown
    -
  • -
    -
    -
    -

    Description¶

    -

    Bound the simulation with one or more walls which interact with +fix top all wall/srd zhi v_pressdown + +

    Description: +

    +

    Bound the simulation with one or more walls which interact with stochastic reaction dynamics (SRD) particles as slip (smooth) or no-slip (rough) flat surfaces. The wall interaction is actually -invoked via the fix srd command, only on the group of +invoked via the fix srd command, only on the group of SRD particles it defines, so the group setting for the fix wall/srd -command is ignored.

    -

    A particle/wall collision occurs if an SRD particle moves outside the +command is ignored. +

    +

    A particle/wall collision occurs if an SRD particle moves outside the wall on a timestep. This alters the position and velocity of the SRD -particle and imparts a force to the wall.

    -

    The collision and Tsrd settings specified via the fix srd command affect the SRD/wall collisions. A slip -setting for the collision keyword means that the tangential +particle and imparts a force to the wall. +

    +

    The collision and Tsrd settings specified via the fix +srd command affect the SRD/wall collisions. A slip +setting for the collision keyword means that the tangential component of the SRD particle momentum is preserved. Thus only a normal force is imparted to the wall. The normal component of the new SRD velocity is sampled from a Gaussian distribution at temperature -Tsrd.

    -

    For a noslip setting of the collision keyword, both the normal and +Tsrd. +

    +

    For a noslip setting of the collision keyword, both the normal and tangential components of the new SRD velocity are sampled from a -Gaussian distribution at temperature Tsrd. Additionally, a new +Gaussian distribution at temperature Tsrd. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts both a normal and tangential force to the -wall.

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face reflects particles +wall. +

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face reflects particles that move to a coordinate less than the wall position, back in the -hi direction. A hi face reflects particles that move to a -coordinate higher than the wall position, back in the lo direction.

    -

    The position of each wall can be specified in one of 3 ways: as the +hi direction. A hi face reflects particles that move to a +coordinate higher than the wall position, back in the lo direction. +

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position.

    -
    -

    Warning

    -

    Because the trajectory of the SRD particle is tracked +specify a time-dependent wall position. +

    +

    IMPORTANT NOTE: Because the trajectory of the SRD particle is tracked as it collides with the wall, you must insure that r = distance of the -particle from the wall, is always > 0 for SRD particles, or LAMMPS +particle from the wall, is always > 0 for SRD particles, or LAMMPS will generate an error. This means you cannot start your simulation -with SRD particles at the wall position coord (r = 0) or with -particles on the wrong side of the wall (r < 0).

    -
    -
    -

    Warning

    -

    If you have 2 or more walls that come together at an +with SRD particles at the wall position coord (r = 0) or with +particles on the wrong side of the wall (r < 0). +

    +

    IMPORTANT NOTE: If you have 2 or more walls that come together at an edge or corner (e.g. walls in the x and y dimensions), then be sure to -set the overlap keyword to yes in the fix srd +set the overlap keyword to yes in the fix srd command, since the walls effectively overlap when SRD particles -collide with them. LAMMPS will issue a warning if you do not do this.

    -
    -
    -

    Warning

    -

    The walls of this fix only interact with SRD -particles, as defined by the fix srd command. If you +collide with them. LAMMPS will issue a warning if you do not do this. +

    +

    IMPORTANT NOTE: The walls of this fix only interact with SRD +particles, as defined by the fix srd command. If you are simulating a mixture containing other kinds of particles, then you -should typically use another wall command to act on +should typically use another wall command to act on the other particles. Since SRD particles will be colliding both with the walls and the other particles, it is important to insure that the -other particle’s finite extent does not overlap an SRD wall. If you +other particle's finite extent does not overlap an SRD wall. If you do not do this, you may generate errors when SRD particles end up -“inside” another particle or a wall at the beginning of a collision -step.

    -
    -

    The units keyword determines the meaning of the distance units used +"inside" another particle or a wall at the beginning of a collision +step. +

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. It is not relevant when EDGE or a variable is used to specify a face -position.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings.

    -
    -

    Here are examples of variable definitions that move the wall position +position. +

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings. +

    +
    + +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables.

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall/srd xlo v_ramp
    -
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall/srd xlo v_linear
    -
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall/srd xlo v_wiggle
    -
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall/srd xlo v_wiggle
    -
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables. +

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall/srd xlo v_ramp 
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall/srd xlo v_linear 
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall/srd xlo v_wiggle  
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall/srd xlo v_wiggle 
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The displace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time.

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time. +

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period:

    -
    position = c0 + A sin(omega*delta)
    -
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period: +

    +
    position = c0 + A sin(omega*delta) 
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles:

    -
    position = c0 + A (1 - cos(omega*delta))
    -
    -
    -
    -
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info¶

    -

    No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix.

    -

    This fix computes a global array of values which can be accessed by -various output commands. The number of +perturbation on the particles: +

    +
    position = c0 + A (1 - cos(omega*delta)) 
    +
    +
    + +

    Restart, fix_modify, output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. None of the fix_modify options +are relevant to this fix. +

    +

    This fix computes a global array of values which can be accessed by +various output commands. The number of rows in the array is equal to the number of walls defined by the fix. The number of columns is 3, for the x,y,z components of force on each -wall.

    -

    Note that an outward normal force on a wall will be a negative value -for lo walls and a positive value for hi walls. The array values -calculated by this fix are “extensive”.

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization.

    -
    -
    -

    Restrictions¶

    -

    Any dimension (xyz) that has an SRD wall must be non-periodic.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +wall. +

    +

    Note that an outward normal force on a wall will be a negative value +for lo walls and a positive value for hi walls. The array values +calculated by this fix are "extensive". +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    Any dimension (xyz) that has an SRD wall must be non-periodic. +

    +

    Related commands: +

    +

    fix srd +

    +

    Default: none +

    + diff --git a/doc/group.html b/doc/group.html index 641c18c384..53347eefcc 100644 --- a/doc/group.html +++ b/doc/group.html @@ -1,458 +1,289 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - group command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    group command¶

    -
    -

    Syntax¶

    -
    group ID style args
    -
    -
    -
      -
    • ID = user-defined name of the group
    • -
    • style = delete or region or type or id or molecule or variable or include or subtract or union or intersect or dynamic or static
    • -
    -
    -delete = no args
    -  clear = no args
    -  region args = region-ID
    -  type or id or molecule
    +
    +
    +
    + +

    group command +

    +

    Syntax: +

    +
    group ID style args 
    +
    +
    • ID = user-defined name of the group + +
    • style = delete or region or type or id or molecule or variable or include or subtract or union or intersect or dynamic or static + +
        delete = no args
      +  clear = no args
      +  region args = region-ID
      +  type or id or molecule
           args = list of one or more atom types, atom IDs, or molecule IDs
             any entry in list can be a sequence formatted as A:B or A:B:C where
             A = starting index, B = ending index,
             C = increment between indices, 1 if not specified
           args = logical value
      -      logical = "<" or "<=" or ">" or ">=" or "==" or "!="
      -      value = an atom type or atom ID or molecule ID (depending on style)
      +      logical = "<" or "<=" or ">" or ">=" or "==" or "!="
      +      value = an atom type or atom ID or molecule ID (depending on style)
           args = logical value1 value2
      -      logical = "<>"
      -      value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
      -  variable args = variable-name
      -  include args = molecule
      +      logical = "<>"
      +      value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
      +  variable args = variable-name
      +  include args = molecule
           molecule = add atoms to group with same molecule ID as atoms already in group
      -  subtract args = two or more group IDs
      -  union args = one or more group IDs
      -  intersect args = two or more group IDs
      -  dynamic args = parent-ID keyword value ...
      +  subtract args = two or more group IDs
      +  union args = one or more group IDs
      +  intersect args = two or more group IDs
      +  dynamic args = parent-ID keyword value ...
           one or more keyword/value pairs may be appended
      -    keyword = region or var or every
      -      region value = region-ID
      -      var value = name of variable
      -      every value = N = update group every this many timesteps
      -  static = no args
      -
      -
    -
    -

    Examples¶

    -
    group edge region regstrip
    +    keyword = region or var or every
    +      region value = region-ID
    +      var value = name of variable
    +      every value = N = update group every this many timesteps
    +  static = no args 
    +
    + + +

    Examples: +

    +
    group edge region regstrip
     group water type 3 4
     group sub id 10 25 50
     group sub id 10 25 50 500:1000
     group sub id 100:10000:10
    -group sub id <= 150
    -group polyA molecule <> 50 250
    +group sub id <= 150
    +group polyA molecule <> 50 250
     group hienergy variable eng
     group hienergy include molecule
     group boundary subtract all a2 a3
     group boundary union lower upper
     group boundary intersect upper flow
     group boundary delete
    -group mine dynamic all region myRegion every 100
    -
    -
    -
    -
    -

    Description¶

    -

    Identify a collection of atoms as belonging to a group. The group ID -can then be used in other commands such as fix, -compute, dump, or velocity -to act on those atoms together.

    -

    If the group ID already exists, the group command adds the specified -atoms to the group.

    -
    -

    Warning

    -

    By default groups are static, meaning the atoms are -permanently assigned to the group. For example, if the region style +group mine dynamic all region myRegion every 100 + +

    Description: +

    +

    Identify a collection of atoms as belonging to a group. The group ID +can then be used in other commands such as fix, +compute, dump, or velocity +to act on those atoms together. +

    +

    If the group ID already exists, the group command adds the specified +atoms to the group. +

    +

    IMPORTANT NOTE: By default groups are static, meaning the atoms are +permanently assigned to the group. For example, if the region style is used to assign atoms to a group, the atoms will remain in the group even if they later move out of the region. As explained below, the -dynamic style can be used to make a group dynamic so that a periodic +dynamic style can be used to make a group dynamic so that a periodic determination is made as to which atoms are in the group. Since many LAMMPS commands operate on groups of atoms, you should think carefully -about whether making a group dynamic makes sense for your model.

    -
    -

    A group with the ID all is predefined. All atoms belong to this -group. This group cannot be deleted, or made dynamic.

    -

    The delete style removes the named group and un-assigns all atoms +about whether making a group dynamic makes sense for your model. +

    +

    A group with the ID all is predefined. All atoms belong to this +group. This group cannot be deleted, or made dynamic. +

    +

    The delete style removes the named group and un-assigns all atoms that were assigned to that group. Since there is a restriction (see below) that no more than 32 groups can be defined at any time, the -delete style allows you to remove groups that are no longer needed, +delete style allows you to remove groups that are no longer needed, so that more can be specified. You cannot delete a group if it has -been used to define a current fix or compute -or dump.

    -

    The clear style un-assigns all atoms that were assigned to that +been used to define a current fix or compute +or dump. +

    +

    The clear style un-assigns all atoms that were assigned to that group. This may be dangerous to do during a simulation run, -e.g. using the run every command if a fix or compute or +e.g. using the run every command if a fix or compute or other operation expects the atoms in the group to remain constant, but -LAMMPS does not check for this.

    -

    The region style puts all atoms in the region volume into the group. +LAMMPS does not check for this. +

    +

    The region style puts all atoms in the region volume into the group. Note that this is a static one-time assignment. The atoms remain assigned (or not assigned) to the group even in they later move out of -the region volume.

    -

    The type, id, and molecule styles put all atoms with the +the region volume. +

    +

    The type, id, and molecule styles put all atoms with the specified atom types, atom IDs, or molecule IDs into the group. These -3 styles can use arguments specified in one of two formats.

    -

    The first format is a list of values (types or IDs). For example, the +3 styles can use arguments specified in one of two formats. +

    +

    The first format is a list of values (types or IDs). For example, the 2nd command in the examples above puts all atoms of type 3 or 4 into -the group named water. Each entry in the list can be a +the group named water. Each entry in the list can be a colon-separated sequence A:B or A:B:C, as in two of the examples -above. A “sequence” generates a sequence of values (types or IDs), +above. A "sequence" generates a sequence of values (types or IDs), with an optional increment. The first example with 500:1000 has the default increment of 1 and would add all atom IDs from 500 to 1000 (inclusive) to the group sub, along with 10,25,50 since they also appear in the list of values. The second example with 100:10000:10 uses an increment of 10 and would thus would add atoms IDs -100,110,120, ... 9990,10000 to the group sub.

    -

    The second format is a logical followed by one or two values (type +100,110,120, ... 9990,10000 to the group sub. +

    +

    The second format is a logical followed by one or two values (type or ID). The 7 valid logicals are listed above. All the logicals -except <> take a single argument. The 3rd example above adds all -atoms with IDs from 1 to 150 to the group named sub. The logical <> -means “between” and takes 2 arguments. The 4th example above adds all +except <> take a single argument. The 3rd example above adds all +atoms with IDs from 1 to 150 to the group named sub. The logical <> +means "between" and takes 2 arguments. The 4th example above adds all atoms belonging to molecules with IDs from 50 to 250 (inclusive) to -the group named polyA.

    -

    The variable style evaluates a variable to determine which atoms to -add to the group. It must be an atom-style variable +the group named polyA. +

    +

    The variable style evaluates a variable to determine which atoms to +add to the group. It must be an atom-style variable previously defined in the input script. If the variable evaluates to a non-zero value for a particular atom, then that atom is added -to the specified group.

    -

    Atom-style variables can specify formulas that include thermodynamic +to the specified group. +

    +

    Atom-style variables can specify formulas that include thermodynamic quantities, per-atom values such as atom coordinates, or per-atom quantities calculated by computes, fixes, or other variables. They can also include Boolean logic where 2 numeric values are compared to yield a 1 or 0 (effectively a true or false). Thus using the -variable style, is a general way to flag specific atoms to include -or exclude from a group.

    -

    For example, these lines define a variable “eatom” that calculates the +variable style, is a general way to flag specific atoms to include +or exclude from a group. +

    +

    For example, these lines define a variable "eatom" that calculates the potential energy of each atom and includes it in the group if its -potential energy is above the threshhold value -3.0.

    -
    compute         1 all pe/atom
    +potential energy is above the threshhold value -3.0.
    +

    +
    compute         1 all pe/atom
     compute         2 all reduce sum c_1
     thermo_style    custom step temp pe c_2
    -run             0
    -
    -
    -
    variable        eatom atom "c_1 > -3.0"
    -group           hienergy variable eatom
    -
    -
    -

    Note that these lines

    -
    compute         2 all reduce sum c_1
    +run             0 
    +
    +
    variable        eatom atom "c_1 > -3.0"
    +group           hienergy variable eatom 
    +
    +

    Note that these lines +

    +
    compute         2 all reduce sum c_1
     thermo_style    custom step temp pe c_2
    -run             0
    -
    -
    -

    are necessary to insure that the “eatom” variable is current when the +run 0 + +

    are necessary to insure that the "eatom" variable is current when the group command invokes it. Because the eatom variable computes the per-atom energy via the pe/atom compute, it will only be current if a run has been performed which evaluated pairwise energies, and the pe/atom compute was actually invoked during the run. Printing the thermodyanmic info for compute 2 insures that this is the case, since it sums the pe/atom compute values (in the reduce compute) to output -them to the screen. See the “Variable Accuracy” section of the -variable doc page for more details on insuring that -variables are current when they are evaluated between runs.

    -

    The include style with its arg molecule adds atoms to a group that +them to the screen. See the "Variable Accuracy" section of the +variable doc page for more details on insuring that +variables are current when they are evaluated between runs. +

    +

    The include style with its arg molecule adds atoms to a group that have the same molecule ID as atoms already in the group. The molecule ID = 0 is ignored in this operation, since it is assumed to flag isolated atoms that are not part of molecules. An example of where -this operation is useful is if the region style has been used +this operation is useful is if the region style has been used previously to add atoms to a group that are within a geometric region. If molecules straddle the region boundary, then atoms outside the region that are part of molecules with atoms inside the region will -not be in the group. Using the group command a 2nd time with include -molecule will add those atoms that are outside the region to the -group.

    -
    -

    Warning

    -

    The include molecule operation is relatively +not be in the group. Using the group command a 2nd time with include +molecule will add those atoms that are outside the region to the +group. +

    +

    IMPORTANT NOTE: The include molecule operation is relatively expensive in a parallel sense. This is because it requires communication of relevant molecule IDs between all the processors and each processor to loop over its atoms once per processor, to compare its atoms to the list of molecule IDs from every other processor. Hence it scales as N, rather than N/P as most of the group operations -do, where N is the number of atoms, and P is the number of processors.

    -
    -

    The subtract style takes a list of two or more existing group names +do, where N is the number of atoms, and P is the number of processors. +

    +

    The subtract style takes a list of two or more existing group names as arguments. All atoms that belong to the 1st group, but not to any -of the other groups are added to the specified group.

    -

    The union style takes a list of one or more existing group names as +of the other groups are added to the specified group. +

    +

    The union style takes a list of one or more existing group names as arguments. All atoms that belong to any of the listed groups are -added to the specified group.

    -

    The intersect style takes a list of two or more existing group names +added to the specified group. +

    +

    The intersect style takes a list of two or more existing group names as arguments. Atoms that belong to every one of the listed groups are -added to the specified group.

    -
    -

    The dynamic style flags an existing or new group as dynamic. This +added to the specified group. +

    +
    + +

    The dynamic style flags an existing or new group as dynamic. This means atoms will be (re)assigned to the group periodically as a simulation runs. This is in contrast to static groups where atoms are permanently assigned to the group. The way the assignment occurs is as follows. Only atoms in the group specified as the parent group via the parent-ID are assigned to the dynamic group before the following -conditions are applied. If the region keyword is used, atoms not in -the specified region are removed from the dynamic group. If the var +conditions are applied. If the region keyword is used, atoms not in +the specified region are removed from the dynamic group. If the var keyword is used, the variable name must be an atom-style or atomfile-style variable. The variable is evaluated and atoms whose -per-atom values are 0.0, are removed from the dynamic group.

    -

    The assignment of atoms to a dynamic group is done at the beginning of -each run and on every timestep that is a multiple of N, which is the -argument for the every keyword (N = 1 is the default). For an -energy minimization, via the minimize command, an +per-atom values are 0.0, are removed from the dynamic group. +

    +

    The assignment of atoms to a dynamic group is done at the beginning of +each run and on every timestep that is a multiple of N, which is the +argument for the every keyword (N = 1 is the default). For an +energy minimization, via the minimize command, an assignement is made at the beginning of the minimization, but not -during the iterations of the minimizer.

    -

    The point in the timestep at which atoms are assigned to a dynamic +during the iterations of the minimizer. +

    +

    The point in the timestep at which atoms are assigned to a dynamic group is after the initial stage of velocity Verlet time integration has been performed, and before neighbor lists or forces are computed. This is the point in the timestep where atom positions have just changed due to the time integration, so the region criterion should be -accurate, if applied.

    -
    -

    Warning

    -

    If the region keyword is used to determine what +accurate, if applied. +

    +

    IMPORTANT NOTE: If the region keyword is used to determine what atoms are in the dynamic group, atoms can move outside of the simulation box between reneighboring events. Thus if you want to include all atoms on the left side of the simulation box, you probably want to set the left boundary of the region to be outside the simulation box by some reasonable amount (e.g. up to the cutoff of the -potential), else they may be excluded from the dynamic region.

    -
    -

    Here is an example of using a dynamic group to shrink the set of atoms +potential), else they may be excluded from the dynamic region. +

    +

    Here is an example of using a dynamic group to shrink the set of atoms being integrated by using a spherical region with a variable radius (shrinking from 18 to 5 over the course of the run). This could be used to model a quench of the system, freezing atoms outside the shrinking sphere, then converting the remaining atoms to a static -group and running further.

    -
    variable        nsteps equal 5000
    +group and running further.
    +

    +
    variable        nsteps equal 5000
     variable        rad equal 18-(step/v_nsteps)*(18-5)
     region          ss sphere 20 20 0 v_rad
     group           mobile dynamic all region ss
     fix             1 mobile nve
     run             ${nsteps}
     group           mobile static
    -run          ${nsteps}
    -
    -
    -
    -

    Warning

    -

    All fixes and computes take a group ID as an argument, +run ${nsteps} + +

    IMPORTANT NOTE: All fixes and computes take a group ID as an argument, but they do not all allow for use of a dynamic group. If you get an error message that this is not allowed, but feel that it should be for the fix or compute in question, then please post your reasoning to the -LAMMPS mail list and we can change it.

    -
    -

    The static style removes the setting for a dynamic group, converting +LAMMPS mail list and we can change it. +

    +

    The static style removes the setting for a dynamic group, converting it to a static group (the default). The atoms in the static group are -those currently in the dynamic group.

    -
    -
    -
    -

    Restrictions¶

    -

    There can be no more than 32 groups defined at one time, including -“all”.

    -

    The parent group of a dynamic group cannot itself be a dynamic group.

    -
    - -
    -

    Default¶

    -

    All atoms belong to the “all” group.

    -
    -
    +those currently in the dynamic group. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    There can be no more than 32 groups defined at one time, including +"all". +

    +

    The parent group of a dynamic group cannot itself be a dynamic group. +

    +

    Related commands: +

    +

    dump, fix, region, +velocity +

    +

    Default: +

    +

    All atoms belong to the "all" group. +

    + diff --git a/doc/group2ndx.html b/doc/group2ndx.html index cbd181bcce..3fb0670fcd 100644 --- a/doc/group2ndx.html +++ b/doc/group2ndx.html @@ -1,234 +1,58 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - group2ndx command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    group2ndx command¶

    -
    -

    Syntax¶

    -
    group2ndx file group-ID ...
    -
    -
    -
      -
    • file = name of index file to write out
    • -
    • zero or more group IDs may be appended
    • -
    -
    -
    -

    Examples¶

    -
    group2ndx allindex.ndx
    -group2ndx someindex.ndx upper lower mobile
    -
    -
    -
    -
    -

    Description¶

    -

    Write a Gromacs style index file in text format that associates atom IDs -with the corresponding group definitions. This index file can be used + + +


    + +

    group2ndx command +

    +

    Syntax: +

    +
    group2ndx file group-ID ... 
    +
    +
    • file = name of index file to write out + +
    • zero or more group IDs may be appended + + +
    +

    Examples: +

    +
    group2ndx allindex.ndx
    +group2ndx someindex.ndx upper lower mobile 
    +
    +

    Description: +

    +

    Write a Gromacs style index file in text format that associates atom IDs +with the corresponding group definitions. This index file can be used with in combination with Gromacs analysis tools or to import group -definitions into the fix colvars input file.

    -

    Without specifying any group IDs, all groups will be written to the index +definitions into the fix colvars input file. +

    +

    Without specifying any group IDs, all groups will be written to the index file. When specifying group IDs, only those groups will be written to the -index file. In order to follow the Gromacs conventions, the group all -will be renamed to System in the index file.

    -
    -
    -
    -

    Restrictions¶

    -

    This command requires that atoms have atom IDs, since this is the -information that is written to the index file.

    -

    This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +index file. In order to follow the Gromacs conventions, the group all +will be renamed to System in the index file. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command requires that atoms have atom IDs, since this is the +information that is written to the index file. +

    +

    This fix is part of the USER-COLVARS package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    group, dump, fix colvars +

    +

    Default: none +

    + diff --git a/doc/if.html b/doc/if.html index dc6dc3bd22..ba4f5de6d4 100644 --- a/doc/if.html +++ b/doc/if.html @@ -1,283 +1,174 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - if command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    if command¶

    -
    -

    Syntax¶

    -
    if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ...
    -
    -
    -
      -
    • boolean = a Boolean expression evaluated as TRUE or FALSE (see below)
    • -
    • then = required word
    • -
    • t1,t2,...,tN = one or more LAMMPS commands to execute if condition is met, each enclosed in quotes
    • -
    • elif = optional word, can appear multiple times
    • -
    • f1,f2,...,fN = one or more LAMMPS commands to execute if elif condition is met, each enclosed in quotes (optional arguments)
    • -
    • else = optional argument
    • -
    • e1,e2,...,eN = one or more LAMMPS commands to execute if no condition is met, each enclosed in quotes (optional arguments)
    • -
    -
    -
    -

    Examples¶

    -
    if "${steps} > 1000" then quit
    -if "${myString} == a10" then quit
    -if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y"
    -if "(${eng} > 0.0) || ($n < 1000)" then &
    -  "timestep 0.005" &
    -elif $n<10000 &
    -  "timestep 0.01" &
    -else &
    -  "timestep 0.02" &
    -  "print 'Max step reached'"
    -if "${eng} > ${eng_previous}" then "jump file1" else "jump file2"
    -
    -
    -
    -
    -

    Description¶

    -

    This command provides an if-then-else capability within an input + + +


    + +

    if command +

    +

    Syntax: +

    +
    if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ... 
    +
    +
    • boolean = a Boolean expression evaluated as TRUE or FALSE (see below) +
    • then = required word +
    • t1,t2,...,tN = one or more LAMMPS commands to execute if condition is met, each enclosed in quotes +
    • elif = optional word, can appear multiple times +
    • f1,f2,...,fN = one or more LAMMPS commands to execute if elif condition is met, each enclosed in quotes (optional arguments) +
    • else = optional argument +
    • e1,e2,...,eN = one or more LAMMPS commands to execute if no condition is met, each enclosed in quotes (optional arguments) +
    +

    Examples: +

    +
    if "${steps} > 1000" then quit
    +if "${myString} == a10" then quit
    +if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y"
    +if "(${eng} > 0.0) || ($n < 1000)" then &
    +  "timestep 0.005" &
    +elif $n<10000 &
    +  "timestep 0.01" &
    +else &
    +  "timestep 0.02" &
    +  "print 'Max step reached'"
    +if "${eng} > ${eng_previous}" then "jump file1" else "jump file2" 
    +
    +

    Description: +

    +

    This command provides an if-then-else capability within an input script. A Boolean expression is evaluted and the result is TRUE or FALSE. Note that as in the examples above, the expression can contain -variables, as defined by the variable command, which +variables, as defined by the variable command, which will be evaluated as part of the expression. Thus a user-defined formula that reflects the current state of the simulation can be used -to issue one or more new commands.

    -

    If the result of the Boolean expression is TRUE, then one or more +to issue one or more new commands. +

    +

    If the result of the Boolean expression is TRUE, then one or more commands (t1, t2, ..., tN) are executed. If it is FALSE, then Boolean expressions associated with successive elif keywords are evaluated until one is found to be true, in which case its commands (f1, f2, ..., fN) are executed. If no Boolean expression is TRUE, then the commands associated with the else keyword, namely (e1, e2, ..., eN), are executed. The elif and else keywords and their associated -commands are optional. If they aren’t specified and the initial -Boolean expression is FALSE, then no commands are executed.

    -

    The syntax for Boolean expressions is described below.

    -

    Each command (t1, f1, e1, etc) can be any valid LAMMPS input script -command, except an include command, which is not +commands are optional. If they aren't specified and the initial +Boolean expression is FALSE, then no commands are executed. +

    +

    The syntax for Boolean expressions is described below. +

    +

    Each command (t1, f1, e1, etc) can be any valid LAMMPS input script +command, except an include command, which is not allowed. If the command is more than one word, it must enclosed in quotes, so it will be treated as a single argument, as in the examples -above.

    -
    -

    Warning

    -

    If a command itself requires a quoted argument (e.g. a -print command), then double and single quotes can be used +above. +

    +

    IMPORTANT NOTE: If a command itself requires a quoted argument (e.g. a +print command), then double and single quotes can be used and nested in the usual manner, as in the examples above and below. -See Section_commands 2 of the manual for +See Section_commands 2 of the manual for more details on using quotes in arguments. Only one of level of -nesting is allowed, but that should be sufficient for most use cases.

    -
    -

    Note that by using the line continuation character “&”, the if command -can be spread across many lines, though it is still a single command:

    -
    if "$a < $b" then &
    -  "print 'Minimum value = $a'" &
    -  "run 1000" &
    -else &
    -  'print "Minimum value = $b"' &
    -  "minimize 0.001 0.001 1000 10000"
    -
    -
    -

    Note that if one of the commands to execute is quit, as in +nesting is allowed, but that should be sufficient for most use cases. +

    +

    Note that by using the line continuation character "&", the if command +can be spread across many lines, though it is still a single command: +

    +
    if "$a < $b" then &
    +  "print 'Minimum value = $a'" &
    +  "run 1000" &
    +else &      
    +  'print "Minimum value = $b"' &
    +  "minimize 0.001 0.001 1000 10000" 
    +
    +

    Note that if one of the commands to execute is quit, as in the first example above, then executing the command will cause LAMMPS -to halt.

    -

    Note that by jumping to a label in the same input script, the if -command can be used to break out of a loop. See the variable delete command for info on how to delete the associated -loop variable, so that it can be re-used later in the input script.

    -

    Here is an example of a loop which checks every 1000 steps if the +to halt. +

    +

    Note that by jumping to a label in the same input script, the if +command can be used to break out of a loop. See the variable +delete command for info on how to delete the associated +loop variable, so that it can be re-used later in the input script. +

    +

    Here is an example of a loop which checks every 1000 steps if the system temperature has reached a certain value, and if so, breaks out of the loop to finish the run. Note that any variable could be checked, so long as it is current on the timestep when the run -completes. As explained on the variable doc page, -this can be insured by includig the variable in thermodynamic output.

    -
    variable myTemp equal temp
    +completes.  As explained on the variable doc page,
    +this can be insured by includig the variable in thermodynamic output.
    +

    +
    variable myTemp equal temp
     label loop
     variable a loop 1000
     run 1000
    -if "${myTemp} < 300.0" then "jump SELF break"
    +if "${myTemp} < 300.0" then "jump SELF break"
     next a
     jump SELF loop
     label break
    -print "ALL DONE"
    -
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop.

    -
    label            loopa
    +print "ALL DONE" 
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop. +

    +
    label	    loopa
     variable    a loop 5
    -  label          loopb
    +  label	    loopb
       variable  b loop 5
    -  print          "A,B = $a,$b"
    +  print	    "A,B = $a,$b"
       run       10000
    -  if     "$b > 2" then "jump SELF break"
    -  next           b
    -  jump           in.script loopb
    -label            break
    +  if	    "$b > 2" then "jump SELF break"
    +  next	    b
    +  jump	    in.script loopb
    +label	    break
     variable    b delete
    -next     a
    -jump     SELF loopa
    -
    -
    -
    -

    The Boolean expressions for the if and elif keywords have a C-like +next a +jump SELF loopa + +


    + +

    The Boolean expressions for the if and elif keywords have a C-like syntax. Note that each expression is a single argument within the if command. Thus if you want to include spaces in the expression for -clarity, you must enclose the entire expression in quotes.

    -

    An expression is built out of numbers (which start with a digit or +clarity, you must enclose the entire expression in quotes. +

    +

    An expression is built out of numbers (which start with a digit or period or minus sign) or strings (which start with a letter and can -contain alphanumeric characters or underscores):

    -
    0.2, 100, 1.0e20, -15.4, etc
    -InP, myString, a123, ab_23_cd, etc
    -
    -
    -

    and Boolean operators:

    -
    A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A || B, !A
    -
    -
    -

    Each A and B is a number or string or a variable reference like $a or -${abc}, or A or B can be another Boolean expression.

    -

    If a variable is used it can produce a number when evaluated, like an -equal-style variable. Or it can produce a string, -like an index-style variable. For an individual +contain alphanumeric characters or underscores): +

    +
    0.2, 100, 1.0e20, -15.4, etc 
    +InP, myString, a123, ab_23_cd, etc 
    +
    +

    and Boolean operators: +

    +
    A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A || B, !A 
    +
    +

    Each A and B is a number or string or a variable reference like $a or +${abc}, or A or B can be another Boolean expression. +

    +

    If a variable is used it can produce a number when evaluated, like an +equal-style variable. Or it can produce a string, +like an index-style variable. For an individual Boolean operator, A and B must both be numbers or must both be -strings. You cannot compare a number to a string.

    -

    Expressions are evaluated left to right and have the usual C-style -precedence: the unary logical NOT operator ”!” has the highest -precedence, the 4 relational operators “<”, “<=”, “>”, and “>=” are -next; the two remaining relational operators “==” and ”!=” are next; -then the logical AND operator “&&”; and finally the logical OR -operator “||” has the lowest precedence. Parenthesis can be used to +strings. You cannot compare a number to a string. +

    +

    Expressions are evaluated left to right and have the usual C-style +precedence: the unary logical NOT operator "!" has the highest +precedence, the 4 relational operators "<", "<=", ">", and ">=" are +next; the two remaining relational operators "==" and "!=" are next; +then the logical AND operator "&&"; and finally the logical OR +operator "||" has the lowest precedence. Parenthesis can be used to group one or more portions of an expression and/or enforce a different -order of evaluation than what would occur with the default precedence.

    -

    When the 6 relational operators (first 6 in list above) compare 2 +order of evaluation than what would occur with the default precedence. +

    +

    When the 6 relational operators (first 6 in list above) compare 2 numbers, they return either a 1.0 or 0.0 depending on whether the relationship between A and B is TRUE or FALSE. When the 6 relational operators compare 2 strings, they also return a 1.0 or 0.0 for TRUE or -FALSE, but the comparison is done by the C function strcmp().

    -

    When the 3 logical operators (last 3 in list above) compare 2 numbers, +FALSE, but the comparison is done by the C function strcmp(). +

    +

    When the 3 logical operators (last 3 in list above) compare 2 numbers, they also return either a 1.0 or 0.0 depending on whether the relationship between A and B is TRUE or FALSE (or just A). The logical AND operator will return 1.0 if both its arguments are @@ -285,83 +176,19 @@ non-zero, else it returns 0.0. The logical OR operator will return 1.0 if either of its arguments is non-zero, else it returns 0.0. The logical NOT operator returns 1.0 if its argument is 0.0, else it returns 0.0. The 3 logical operators can only be used to operate on -numbers, not on strings.

    -

    The overall Boolean expression produces a TRUE result if the result is -non-zero. If the result is zero, the expression result is FALSE.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +numbers, not on strings. +

    +

    The overall Boolean expression produces a TRUE result if the result is +non-zero. If the result is zero, the expression result is FALSE. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    variable, print +

    +

    Default: none +

    + diff --git a/doc/improper_class2.html b/doc/improper_class2.html index 38d270f59d..da32179c3d 100644 --- a/doc/improper_class2.html +++ b/doc/improper_class2.html @@ -1,293 +1,131 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style class2 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style class2 command¶

    -
    -
    -

    improper_style class2/omp command¶

    -
    -

    Syntax¶

    -
    improper_style class2
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style class2
    +
    +
    +
    + +

    improper_style class2 command +

    +

    improper_style class2/omp command +

    +

    Syntax: +

    +
    improper_style class2 
    +
    +

    Examples: +

    +
    improper_style class2
     improper_coeff 1 100.0 0
    -improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06
    -
    -
    -
    -
    -

    Description¶

    -

    The class2 improper style uses the potential

    -_images/improper_class2.jpg -

    where Ei is the improper term and Eaa is an angle-angle term. The 3 X -terms in Ei are an average over 3 out-of-plane angles.

    -

    The 4 atoms in an improper quadruplet (listed in the data file read by -the read_data command) are ordered I,J,K,L. X_IJKL +improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06 + +

    Description: +

    +

    The class2 improper style uses the potential +

    +
    +
    +

    where Ei is the improper term and Eaa is an angle-angle term. The 3 X +terms in Ei are an average over 3 out-of-plane angles. +

    +

    The 4 atoms in an improper quadruplet (listed in the data file read by +the read_data command) are ordered I,J,K,L. X_IJKL refers to the angle between the plane of I,J,K and the plane of J,K,L, and the bond JK lies in both planes. Similarly for X_KJLI and X_LJIK. Note that atom J appears in the common bonds (JI, JK, JL) of all 3 X terms. Thus J (the 2nd atom in the quadruplet) is the atom of -symmetry in the 3 X angles.

    -

    The subscripts on the various theta’s refer to different combinations +symmetry in the 3 X angles. +

    +

    The subscripts on the various theta's refer to different combinations of 3 atoms (I,J,K,L) used to form a particular angle. E.g. Theta_IJL is the angle formed by atoms I,J,L with J in the middle. Theta1, theta2, theta3 are the equilibrium positions of those angles. Again, atom J (the 2nd atom in the quadruplet) is the atom of symmetry in the -theta angles, since it is always the center atom.

    -

    Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L +theta angles, since it is always the center atom. +

    +

    Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L would exist for an improper to be defined between the 4 atoms, but -this is not required.

    -

    See (Sun) for a description of the COMPASS class2 force field.

    -

    Coefficients for the Ei and Eaa formulas must be defined for each -improper type via the improper_coeff command as +this is not required. +

    +

    See (Sun) for a description of the COMPASS class2 force field. +

    +

    Coefficients for the Ei and Eaa formulas must be defined for each +improper type via the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands.

    -

    These are the 2 coefficients for the Ei formula:

    -
      -
    • K (energy/radian^2)
    • -
    • X0 (degrees)
    • -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -

    For the Eaa formula, each line in a -improper_coeff command in the input script lists -7 coefficients, the first of which is “aa” to indicate they are +read_data or read_restart +commands. +

    +

    These are the 2 coefficients for the Ei formula: +

    +
    • K (energy/radian^2) +
    • X0 (degrees) +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +

    For the Eaa formula, each line in a +improper_coeff command in the input script lists +7 coefficients, the first of which is "aa" to indicate they are AngleAngle coefficients. In a data file, these coefficients should be -listed under a “AngleAngle Coeffs” heading and you must leave out the -“aa”, i.e. only list 6 coefficients after the improper type.

    -
      -
    • aa
    • -
    • M1 (energy/distance)
    • -
    • M2 (energy/distance)
    • -
    • M3 (energy/distance)
    • -
    • theta1 (degrees)
    • -
    • theta2 (degrees)
    • -
    • theta3 (degrees)
    • -
    -

    The theta values are specified in degrees, but LAMMPS converts them to -radians internally; hence the units of M are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +listed under a "AngleAngle Coeffs" heading and you must leave out the +"aa", i.e. only list 6 coefficients after the improper type. +

    +
    • aa +
    • M1 (energy/distance) +
    • M2 (energy/distance) +
    • M3 (energy/distance) +
    • theta1 (degrees) +
    • theta2 (degrees) +
    • theta3 (degrees) +
    +

    The theta values are specified in degrees, but LAMMPS converts them to +radians internally; hence the units of M are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -CLASS2 package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +CLASS2 package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). +

    + diff --git a/doc/improper_coeff.html b/doc/improper_coeff.html index 1a082180d6..bd67c5f64d 100644 --- a/doc/improper_coeff.html +++ b/doc/improper_coeff.html @@ -1,278 +1,102 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_coeff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_coeff command¶

    -
    -

    Syntax¶

    -
    improper_coeff N args
    -
    -
    -
      -
    • N = improper type (see asterisk form below)
    • -
    • args = coefficients for one or more improper types
    • -
    -
    -
    -

    Examples¶

    -
    improper_coeff 1 300.0 0.0
    +
    +
    +
    + +

    improper_coeff command +

    +

    Syntax: +

    +
    improper_coeff N args 
    +
    +
    • N = improper type (see asterisk form below) +
    • args = coefficients for one or more improper types +
    +

    Examples: +

    +
    improper_coeff 1 300.0 0.0
     improper_coeff * 80.2 -1 2
    -improper_coeff *4 80.2 -1 2
    -
    -
    -
    -
    -

    Description¶

    -

    Specify the improper force field coefficients for one or more improper +improper_coeff *4 80.2 -1 2 + +

    Description: +

    +

    Specify the improper force field coefficients for one or more improper types. The number and meaning of the coefficients depends on the improper style. Improper coefficients can also be set in the data -file read by the read_data command or in a restart -file.

    -

    N can be specified in one of two ways. An explicit numeric value can +file read by the read_data command or in a restart +file. +

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple improper types. This takes -the form “*” or “n” or “n” or “m*n”. If N = the number of improper +the form "*" or "*n" or "n*" or "m*n". If N = the number of improper types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle -asterisk means all types from m to n (inclusive).

    -

    Note that using an improper_coeff command can override a previous +asterisk means all types from m to n (inclusive). +

    +

    Note that using an improper_coeff command can override a previous setting for the same improper type. For example, these commands set the coeffs for all improper types, then overwrite the coeffs for just -improper type 2:

    -
    improper_coeff * 300.0 0.0
    -improper_coeff 2 50.0 0.0
    -
    -
    -

    A line in a data file that specifies improper coefficients uses the +improper type 2: +

    +
    improper_coeff * 300.0 0.0
    +improper_coeff 2 50.0 0.0 
    +
    +

    A line in a data file that specifies improper coefficients uses the exact same format as the arguments of the improper_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the “Improper Coeffs” section of a data file, the line that -corresponds to the 1st example above would be listed as

    -
    1 300.0 0.0
    -
    -
    -

    The improper_style class2 is an exception to +under the "Improper Coeffs" section of a data file, the line that +corresponds to the 1st example above would be listed as +

    +
    1 300.0 0.0 
    +
    +

    The improper_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc -page for details.

    -
    -

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on +page for details. +

    +
    + +

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated improper_coeff command.

    -

    Note that there are also additional improper styles submitted by users +specified by the associated improper_coeff command. +

    +

    Note that there are also additional improper styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the improper section of -this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -

    An improper style must be defined before any improper coefficients are -set, either in the input script or in a data file.

    -
    - -
    +this page. +

    + + +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    An improper style must be defined before any improper coefficients are +set, either in the input script or in a data file. +

    +

    Related commands: +

    +

    improper_style +

    +

    Default: none +

    + diff --git a/doc/improper_cossq.html b/doc/improper_cossq.html index 0c239479d8..6bdb36927c 100644 --- a/doc/improper_cossq.html +++ b/doc/improper_cossq.html @@ -1,265 +1,95 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style cossq command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style cossq command¶

    -
    -
    -

    improper_style cossq/omp command¶

    -
    -

    Syntax¶

    -
    improper_style cossq
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style cossq
    -improper_coeff 1 4.0 0.0
    -
    -
    -
    -
    -

    Description¶

    -

    The cossq improper style uses the potential

    -_images/improper_cossq.jpg -

    where x is the improper angle, x0 is its equilibrium value, and K is a -prefactor.

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then X + + +


    + +

    improper_style cossq command +

    +

    improper_style cossq/omp command +

    +

    Syntax: +

    +
    improper_style cossq 
    +
    +

    Examples: +

    +
    improper_style cossq
    +improper_coeff 1 4.0 0.0 
    +
    +

    Description: +

    +

    The cossq improper style uses the potential +

    +
    +
    +

    where x is the improper angle, x0 is its equilibrium value, and K is a +prefactor. +

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then X is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms.

    -

    Note that defining 4 atoms to interact in this way, does not mean that +is with respect to the other 3 atoms. +

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms.

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms. +

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy/radian^2)
    • -
    • X0 (degrees)
    • -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy/radian^2) +
    • X0 (degrees) +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    + diff --git a/doc/improper_cvff.html b/doc/improper_cvff.html index 9bd64346af..b437e7c029 100644 --- a/doc/improper_cvff.html +++ b/doc/improper_cvff.html @@ -1,262 +1,92 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style cvff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style cvff command¶

    -
    -
    -

    improper_style cvff/omp command¶

    -
    -

    Syntax¶

    -
    improper_style cvff
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style cvff
    -improper_coeff 1 80.0 -1 4
    -
    -
    -
    -
    -

    Description¶

    -

    The cvff improper style uses the potential

    -_images/improper_cvff.jpg -

    where phi is the improper dihedral angle.

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then + + +


    + +

    improper_style cvff command +

    +

    improper_style cvff/omp command +

    +

    Syntax: +

    +
    improper_style cvff 
    +
    +

    Examples: +

    +
    improper_style cvff
    +improper_coeff 1 80.0 -1 4 
    +
    +

    Description: +

    +

    The cvff improper style uses the potential +

    +
    +
    +

    where phi is the improper dihedral angle. +

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then the improper dihedral angle is between the plane of I,J,K and the plane of J,K,L. Note that because this is effectively a dihedral angle, the formula for this improper style is the same as for -dihedral_style harmonic.

    -

    Note that defining 4 atoms to interact in this way, does not mean that +dihedral_style harmonic. +

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms.

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms. +

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy)
    • -
    • d (+1 or -1)
    • -
    • n (0,1,2,3,4,6)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy) +
    • d (+1 or -1) +
    • n (0,1,2,3,4,6) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    + diff --git a/doc/improper_fourier.html b/doc/improper_fourier.html index a3f8557fec..5b3478deb5 100644 --- a/doc/improper_fourier.html +++ b/doc/improper_fourier.html @@ -1,258 +1,87 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style fourier command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style fourier command¶

    -
    -
    -

    improper_style fourier/omp command¶

    -
    -

    Syntax¶

    -
    improper_style fourier
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style fourier
    -improper_coeff 1 100.0 180.0
    -
    -
    -
    -
    -

    Description¶

    -

    The fourier improper style uses the following potential:

    -_images/improper_fourier.jpg -

    where K is the force constant and omega is the angle between the IL -axis and the IJK plane:

    -_images/umbrella.jpg -

    If all parameter (see bellow) 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 command as in the example + + +


    + +

    improper_style fourier command +

    +

    improper_style fourier/omp command +

    +

    Syntax: +

    +
    improper_style fourier 
    +
    +

    Examples: +

    +
    improper_style fourier
    +improper_coeff 1 100.0 180.0 
    +
    +

    Description: +

    +

    The fourier improper style uses the following potential: +

    +
    +
    +

    where K is the force constant and omega is the angle between the IL +axis and the IJK plane: +

    +
    +
    +

    If all parameter (see bellow) 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 command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy)
    • -
    • C0 (real)
    • -
    • C1 (real)
    • -
    • C2 (real)
    • -
    • all (integer >= 0)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy) +
    • C0 (real) +
    • C1 (real) +
    • C2 (real) +
    • all (integer >= 0) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    + diff --git a/doc/improper_harmonic.html b/doc/improper_harmonic.html index 0bbb8c21c1..771d27faaa 100644 --- a/doc/improper_harmonic.html +++ b/doc/improper_harmonic.html @@ -1,267 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style harmonic command¶

    -
    -
    -

    improper_style harmonic/kk command¶

    -
    -
    -

    improper_style harmonic/omp command¶

    -
    -

    Syntax¶

    -
    improper_style harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style harmonic
    -improper_coeff 1 100.0 0
    -
    -
    -
    -
    -

    Description¶

    -

    The harmonic improper style uses the potential

    -_images/improper_harmonic.jpg -

    where X is the improper angle, X0 is its equilibrium value, and K is a -prefactor. Note that the usual 1/2 factor is included in K.

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then X + + +


    + +

    improper_style harmonic command +

    +

    improper_style harmonic/kk command +

    +

    improper_style harmonic/omp command +

    +

    Syntax: +

    +
    improper_style harmonic 
    +
    +

    Examples: +

    +
    improper_style harmonic
    +improper_coeff 1 100.0 0 
    +
    +

    Description: +

    +

    The harmonic improper style uses the potential +

    +
    +
    +

    where X is the improper angle, X0 is its equilibrium value, and K is a +prefactor. Note that the usual 1/2 factor is included in K. +

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then X is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms.

    -

    Note that defining 4 atoms to interact in this way, does not mean that +is with respect to the other 3 atoms. +

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms.

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms. +

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy/radian^2)
    • -
    • X0 (degrees)
    • -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy/radian^2) +
    • X0 (degrees) +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    + diff --git a/doc/improper_hybrid.html b/doc/improper_hybrid.html index 8f8211050d..c0903b607f 100644 --- a/doc/improper_hybrid.html +++ b/doc/improper_hybrid.html @@ -1,251 +1,75 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style hybrid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style hybrid command¶

    -
    -

    Syntax¶

    -
    improper_style hybrid style1 style2 ...
    -
    -
    -
      -
    • style1,style2 = list of one or more improper styles
    • -
    -
    -
    -

    Examples¶

    -
    improper_style hybrid harmonic helix
    +
    +
    +
    + +

    improper_style hybrid command +

    +

    Syntax: +

    +
    improper_style hybrid style1 style2 ... 
    +
    +
    • style1,style2 = list of one or more improper styles +
    +

    Examples: +

    +
    improper_style hybrid harmonic helix
     improper_coeff 1 harmonic 120.0 30
    -improper_coeff 2 cvff 20.0 -1 2
    -
    -
    -
    -
    -

    Description¶

    -

    The hybrid style enables the use of multiple improper styles in one +improper_coeff 2 cvff 20.0 -1 2 + +

    Description: +

    +

    The hybrid style enables the use of multiple improper styles in one simulation. An improper style is assigned to each improper type. For example, impropers in a polymer flow (of improper type 1) could be -computed with a harmonic potential and impropers in the wall -boundary (of improper type 2) could be computed with a cvff +computed with a harmonic potential and impropers in the wall +boundary (of improper type 2) could be computed with a cvff potential. The assignment of improper type to style is made via the -improper_coeff command or in the data file.

    -

    In the improper_coeff command, the first coefficient sets the improper +improper_coeff command or in the data file. +

    +

    In the improper_coeff command, the first coefficient sets the improper style and the remaining coefficients are those appropriate to that style. In the example above, the 2 improper_coeff commands would set -impropers of improper type 1 to be computed with a harmonic +impropers of improper type 1 to be computed with a harmonic potential with coefficients 120.0, 30 for K, X0. Improper type 2 -would be computed with a cvff potential with coefficients 20.0, -1, -2 for K, d, n.

    -

    If the improper class2 potential is one of the hybrid styles, it +would be computed with a cvff potential with coefficients 20.0, -1, +2 for K, d, n. +

    +

    If the improper class2 potential is one of the hybrid styles, it requires additional AngleAngle coefficients be specified in the data -file. These lines must also have an additional “class2” argument +file. These lines must also have an additional "class2" argument added after the improper type. For improper types which are assigned -to other hybrid styles, use the style name (e.g. “harmonic”) +to other hybrid styles, use the style name (e.g. "harmonic") appropriate to that style. The AngleAngle coeffs for that improper -type will then be ignored.

    -

    An improper style of none can be specified as the 2nd argument to +type will then be ignored. +

    +

    An improper style of none can be specified as the 2nd argument to the improper_coeff command, if you desire to turn off certain improper -types.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -

    Unlike other improper styles, the hybrid improper style does not store -improper coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a -restart file, you need to re-specify improper_coeff commands.

    -
    - -
    +types. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Unlike other improper styles, the hybrid improper style does not store +improper coefficient info for individual sub-styles in a binary +restart files. Thus when retarting a simulation from a +restart file, you need to re-specify improper_coeff commands. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    + diff --git a/doc/improper_none.html b/doc/improper_none.html index d19a069bb5..bfd664f385 100644 --- a/doc/improper_none.html +++ b/doc/improper_none.html @@ -1,218 +1,34 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style none command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style none command¶

    -
    -

    Syntax¶

    -
    improper_style none
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Using an improper style of none means improper forces are not + + +


    + +

    improper_style none command +

    +

    Syntax: +

    +
    improper_style none 
    +
    +

    Examples: +

    +
    improper_style none 
    +
    +

    Description: +

    +

    Using an improper style of none means improper forces are not computed, even if quadruplets of improper atoms were listed in the -data file read by the read_data command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +data file read by the read_data command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/improper_ring.html b/doc/improper_ring.html index 956c16fa9a..9e1ab3c26a 100644 --- a/doc/improper_ring.html +++ b/doc/improper_ring.html @@ -1,270 +1,102 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style ring command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style ring command¶

    -
    -
    -

    improper_style ring/omp command¶

    -
    -

    Syntax¶

    -
    improper_style ring
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style ring
    -improper_coeff 1 8000 70.5
    -
    -
    -
    -
    -

    Description¶

    -

    The ring improper style uses the potential

    -_images/improper_ring.jpg -

    where K is a prefactor, theta is the angle formed by the atoms -specified by (i,j,k,l) indices and theta0 its equilibrium value.

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered i,j,k,l then -theta_*ijl* is the angle between atoms i,j and l, theta_*ijk* is the -angle between atoms i,j and k, theta_*kjl* is the angle between atoms -j,k, and l.

    -

    The “ring” improper style implements the improper potential introduced -by Destree et al., in Equation (9) of (Destree). This + + +


    + +

    improper_style ring command +

    +

    improper_style ring/omp command +

    +

    Syntax: +

    +
    improper_style ring 
    +
    +

    Examples: +

    +
    improper_style ring
    +improper_coeff 1 8000 70.5 
    +
    +

    Description: +

    +

    The ring improper style uses the potential +

    +
    +
    +

    where K is a prefactor, theta is the angle formed by the atoms +specified by (i,j,k,l) indices and theta0 its equilibrium value. +

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered i,j,k,l then +theta_ijl is the angle between atoms i,j and l, theta_ijk is the +angle between atoms i,j and k, theta_kjl is the angle between atoms +j,k, and l. +

    +

    The "ring" improper style implements the improper potential introduced +by Destree et al., in Equation (9) of (Destree). This potential does not affect small amplitude vibrations but is used in an ad-hoc way to prevent the onset of accidentially large amplitude fluctuations leading to the occurrence of a planar conformation of the three bonds i-j, j-k and j-l, an intermediate conformation toward the -chiral inversion of a methine carbon. In the “Impropers” section of +chiral inversion of a methine carbon. In the "Impropers" section of data file four atoms: i, j, k and l are specified with i,j and l lying -on the backbone of the chain and k specifying the chirality of j.

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +on the backbone of the chain and k specifying the chirality of j. +

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy/radian^2)
    • -
    • theta0 (degrees)
    • -
    -

    theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy/radian^2) +
    • theta0 (degrees) +
    +

    theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Destree) M. Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, +J Chem Phys, 112, 9632 (2000). +

    + diff --git a/doc/improper_style.html b/doc/improper_style.html index 96ed401e22..c7deed3da6 100644 --- a/doc/improper_style.html +++ b/doc/improper_style.html @@ -1,278 +1,99 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style command¶

    -
    -

    Syntax¶

    -
    improper_style style
    -
    -
    -
      -
    • style = none or hybrid or class2 or cvff or harmonic
    • -
    -
    -
    -

    Examples¶

    -
    improper_style harmonic
    +
    +
    +
    + +

    improper_style command +

    +

    Syntax: +

    +
    improper_style style 
    +
    +
    • style = none or hybrid or class2 or cvff or harmonic +
    +

    Examples: +

    +
    improper_style harmonic
     improper_style cvff
    -improper_style hybrid cvff harmonic
    -
    -
    -
    -
    -

    Description¶

    -

    Set the formula(s) LAMMPS uses to compute improper interactions +improper_style hybrid cvff harmonic + +

    Description: +

    +

    Set the formula(s) LAMMPS uses to compute improper interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of improper quadruplets is read in by a -read_data or read_restart command +read_data or read_restart command from a data or restart file. Note that the ordering of the 4 atoms in an improper quadruplet determines the the definition of the improper angle used in the formula for each style. See the doc pages of -individual styles for details.

    -

    Hybrid models where impropers are computed using different improper -potentials can be setup using the hybrid improper style.

    -

    The coefficients associated with an improper style can be specified in -a data or restart file or via the improper_coeff -command.

    -

    All improper potentials store their coefficient data in binary restart +individual styles for details. +

    +

    Hybrid models where impropers are computed using different improper +potentials can be setup using the hybrid improper style. +

    +

    The coefficients associated with an improper style can be specified in +a data or restart file or via the improper_coeff +command. +

    +

    All improper potentials store their coefficient data in binary restart files which means improper_style and -improper_coeff commands do not need to be +improper_coeff commands do not need to be re-specified in an input script that restarts a simulation. See the -read_restart command for details on how to do -this. The one exception is that improper_style hybrid only stores +read_restart command for details on how to do +this. The one exception is that improper_style hybrid only stores the list of sub-styles in the restart file; improper coefficients need -to be re-specified.

    -
    -

    Warning

    -

    When both an improper and pair style is defined, the -special_bonds command often needs to be used to +to be re-specified. +

    +

    IMPORTANT NOTE: When both an improper and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between a group of 4 bonded atoms.

    -
    -
    -

    Here is an alphabetic list of improper styles defined in LAMMPS. +exist between a group of 4 bonded atoms. +

    +
    + +

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated improper_coeff -command.

    -

    Note that there are also additional improper styles submitted by users +specified by the associated improper_coeff +command. +

    +

    Note that there are also additional improper styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the improper section of -this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    Improper styles can only be set for atom_style choices that allow -impropers to be defined.

    -

    Most improper styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +this page. +

    + + +
    + +

    Restrictions: +

    +

    Improper styles can only be set for atom_style choices that allow +impropers to be defined. +

    +

    Most improper styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. The doc pages for individual improper potentials tell if it is part of -a package.

    -
    - -
    -

    Default¶

    -
    improper_style none
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a package. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: +

    +
    improper_style none 
    +
    + diff --git a/doc/improper_umbrella.html b/doc/improper_umbrella.html index 737edb0b20..2774452ae0 100644 --- a/doc/improper_umbrella.html +++ b/doc/improper_umbrella.html @@ -1,262 +1,97 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - improper_style umbrella command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    improper_style umbrella command¶

    -
    -
    -

    improper_style umbrella/omp command¶

    -
    -

    Syntax¶

    -
    improper_style umbrella
    -
    -
    -
    -
    -

    Examples¶

    -
    improper_style umbrella
    -improper_coeff 1 100.0 180.0
    -
    -
    -
    -
    -

    Description¶

    -

    The umbrella improper style uses the following potential, which is + + +


    + +

    improper_style umbrella command +

    +

    improper_style umbrella/omp command +

    +

    Syntax: +

    +
    improper_style umbrella 
    +
    +

    Examples: +

    +
    improper_style umbrella
    +improper_coeff 1 100.0 180.0 
    +
    +

    Description: +

    +

    The umbrella improper style uses the following potential, which is commonly referred to as a classic inversion and used in the -DREIDING force field:

    -_images/improper_umbrella.jpg -

    where K is the force constant and omega is the angle between the IL -axis and the IJK plane:

    -_images/umbrella.jpg -

    If omega0 = 0 the potential term has a minimum for the planar +DREIDING force field: +

    +
    +
    +

    where K is the force constant and omega is the angle between the IL +axis and the IJK plane: +

    +
    +
    +

    If omega0 = 0 the potential term has a minimum for the planar structure. Otherwise it has two minima at +/- omega0, with a barrier -in between.

    -

    See (Mayo) for a description of the DREIDING force field.

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +in between. +

    +

    See (Mayo) for a description of the DREIDING force field. +

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • K (energy)
    • -
    • omega0 (degrees)
    • -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • K (energy) +
    • omega0 (degrees) +
    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    improper_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990), +

    + diff --git a/doc/include.html b/doc/include.html index afbfb798bc..f7ba914eac 100644 --- a/doc/include.html +++ b/doc/include.html @@ -1,230 +1,45 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - include command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    include command¶

    -
    -

    Syntax¶

    -
    include file
    -
    -
    -
      -
    • file = filename of new input script to switch to
    • -
    -
    -
    -

    Examples¶

    -
    include newfile
    -include in.run2
    -
    -
    -
    -
    -

    Description¶

    -

    This command opens a new input script file and begins reading LAMMPS + + +


    + +

    include command +

    +

    Syntax: +

    +
    include file 
    +
    +
    • file = filename of new input script to switch to +
    +

    Examples: +

    +
    include newfile
    +include in.run2 
    +
    +

    Description: +

    +

    This command opens a new input script file and begins reading LAMMPS commands from that file. When the new file is finished, the original file is returned to. Include files can be nested as deeply as desired. If input script A includes script B, and B includes A, then -LAMMPS could run for a long time.

    -

    If the filename is a variable (see the variable +LAMMPS could run for a long time. +

    +

    If the filename is a variable (see the variable command), different processor partitions can run different input -scripts.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +scripts. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    variable, jump +

    +

    Default: none +

    + diff --git a/doc/info.html b/doc/info.html index f7f17e6d85..0a9dec096e 100644 --- a/doc/info.html +++ b/doc/info.html @@ -1,261 +1,85 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - info command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    info command¶

    -
    -

    Syntax¶

    -
    info args
    -
    -
    -
    -
    args = one or more of the following keywords: out, all, system, computes, dumps, fixes, groups, regions, variables, time, or configuration
    -
    out values = screen, log, append filename, overwrite filename:ul
    -
    -
    -
    -

    Examples¶

    -
    info system
    +
    +
    +
    + +

    info command +

    +

    Syntax: +

    +
    info args 
    +
    +

    args = one or more of the following keywords: out, all, system, computes, dumps, fixes, groups, regions, variables, time, or configuration + out values = screen, log, append filename, overwrite filename:ul +

    +

    Examples: +

    +
    info system
     info groups computes variables
     info all out log
    -info all out append info.txt
    -
    -
    -
    -
    -

    Description¶

    -

    Print out information about the current internal state of the running +info all out append info.txt + +

    Description: +

    +

    Print out information about the current internal state of the running LAMMPS process. This can be helpful when debugging or validating complex input scripts. Several output categories are available and -one or more output category may be requested.

    -

    The out flag controls where the output is sent. It can only be sent +one or more output category may be requested. +

    +

    The out flag controls where the output is sent. It can only be sent to one target. By default this is the screen, if it is active. The -log argument selects the log file instead. With the append and -overwrite option, followed by a filename, the output is written -to that file, which is either appended to or overwritten, respectively.

    -

    The all flag activates printing all categories listed below.

    -

    The system category prints a general system overview listing. This +log argument selects the log file instead. With the append and +overwrite option, followed by a filename, the output is written +to that file, which is either appended to or overwritten, respectively. +

    +

    The all flag activates printing all categories listed below. +

    +

    The system category prints a general system overview listing. This includes the unit style, atom style, number of atoms, bonds, angles, dihedrals, and impropers and the number of the respective types, box -dimensions and properties, force computing styles and more.

    -

    The computes category prints a list of all currently defined -computes, their IDs and styles and groups they operate on.

    -

    The dumps category prints a list of all currently active dumps, -their IDs, styles, filenames, groups, and dump frequencies.

    -

    The fixes category prints a list of all currently defined fixes, -their IDs and styles and groups they operate on.

    -

    The groups category prints a list of all currently defined groups.

    -

    The regions category prints a list of all currently defined regions, -their IDs and styles and whether “inside” or “outside” atoms are -selected.

    -

    The variables category prints a list of all currently defined +dimensions and properties, force computing styles and more. +

    +

    The computes category prints a list of all currently defined +computes, their IDs and styles and groups they operate on. +

    +

    The dumps category prints a list of all currently active dumps, +their IDs, styles, filenames, groups, and dump frequencies. +

    +

    The fixes category prints a list of all currently defined fixes, +their IDs and styles and groups they operate on. +

    +

    The groups category prints a list of all currently defined groups. +

    +

    The regions category prints a list of all currently defined regions, +their IDs and styles and whether "inside" or "outside" atoms are +selected. +

    +

    The variables category prints a list of all currently defined variables, their names, styles, definition and last computed value, if -available.

    -

    The time category prints the accumulated CPU and wall time for the -process that writes output (usually MPI rank 0).

    -

    The configuration command prints some information about the LAMMPS +available. +

    +

    The time category prints the accumulated CPU and wall time for the +process that writes output (usually MPI rank 0). +

    +

    The configuration command prints some information about the LAMMPS version and architection and OS it is run on. Where supported, also information about the memory consumption provided by the OS is -reported.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The out option has the default screen.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +reported. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    print +

    +

    Default: +

    +

    The out option has the default screen. +

    + diff --git a/doc/jump.html b/doc/jump.html index c8ac52f235..5fa7246628 100644 --- a/doc/jump.html +++ b/doc/jump.html @@ -1,320 +1,136 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - jump command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    jump command¶

    -
    -

    Syntax¶

    -
    jump file label
    -
    -
    -
      -
    • file = filename of new input script to switch to
    • -
    • label = optional label within file to jump to
    • -
    -
    -
    -

    Examples¶

    -
    jump newfile
    +
    +
    +
    + +

    jump command +

    +

    Syntax: +

    +
    jump file label 
    +
    +
    • file = filename of new input script to switch to +
    • label = optional label within file to jump to +
    +

    Examples: +

    +
    jump newfile
     jump in.run2 runloop
    -jump SELF runloop
    -
    -
    -
    -
    -

    Description¶

    -

    This command closes the current input script file, opens the file with +jump SELF runloop + +

    Description: +

    +

    This command closes the current input script file, opens the file with the specified name, and begins reading LAMMPS commands from that file. -Unlike the include command, the original file is not +Unlike the include command, the original file is not returned to, although by using multiple jump commands it is possible -to chain from file to file or back to the original file.

    -

    If the word “SELF” is used for the filename, then the current input -script is re-opened and read again.

    -
    -

    Warning

    -

    The SELF option is not guaranteed to work when the +to chain from file to file or back to the original file. +

    +

    If the word "SELF" is used for the filename, then the current input +script is re-opened and read again. +

    +

    IMPORTANT NOTE: The SELF option is not guaranteed to work when the current input script is being read through stdin (standard input), -e.g.

    -
    -
    lmp_g++ < in.script
    -
    -
    -

    since the SELF option invokes the C-library rewind() call, which may +e.g. +

    +
    lmp_g++ < in.script 
    +
    +

    since the SELF option invokes the C-library rewind() call, which may not be supported for stdin on some systems or by some MPI -implementations. This can be worked around by using the -in command-line argument, e.g.

    -
    lmp_g++ -in in.script
    -
    -
    -

    or by using the -var command-line argument to pass the script name as a +implementations. This can be worked around by using the -in +command-line argument, e.g. +

    +
    lmp_g++ -in in.script 
    +
    +

    or by using the -var command-line +argument to pass the script name as a variable to the input script. In the latter case, a -variable called “fname” could be used in place of -SELF, e.g.

    -
    lmp_g++ -var fname in.script < in.script
    -
    -
    -

    The 2nd argument to the jump command is optional. If specified, it is +variable called "fname" could be used in place of +SELF, e.g. +

    +
    lmp_g++ -var fname in.script < in.script 
    +
    +

    The 2nd argument to the jump command is optional. If specified, it is treated as a label and the new file is scanned (without executing commands) until the label is found, and commands are executed from that point forward. This can be used to loop over a portion of the input script, as in this example. These commands perform 10 runs, each of 10000 steps, and create 10 dump files named file.1, file.2, -etc. The next command is used to exit the loop after 10 -iterations. When the “a” variable has been incremented for the tenth -time, it will cause the next jump command to be skipped.

    -
    variable a loop 10
    +etc.  The next command is used to exit the loop after 10
    +iterations.  When the "a" variable has been incremented for the tenth
    +time, it will cause the next jump command to be skipped.
    +

    +
    variable a loop 10
     label loop
     dump 1 all atom 100 file.$a
     run 10000
     undump 1
     next a
    -jump in.lj loop
    -
    -
    -

    If the jump file argument is a variable, the jump command can be +jump in.lj loop + +

    If the jump file argument is a variable, the jump command can be used to cause different processor partitions to run different input scripts. In this example, LAMMPS is run on 40 processors, with 4 partitions of 10 procs each. An in.file containing the example variable and jump command will cause each partition to run a different -simulation.

    -
    mpirun -np 40 lmp_ibm -partition 4x10 -in in.file
    -
    -
    -
    variable f world script.1 script.2 script.3 script.4
    -jump $f
    -
    -
    -

    Here is an example of a loop which checks every 1000 steps if the +simulation. +

    +
    mpirun -np 40 lmp_ibm -partition 4x10 -in in.file 
    +
    +
    variable f world script.1 script.2 script.3 script.4
    +jump $f 
    +
    +

    Here is an example of a loop which checks every 1000 steps if the system temperature has reached a certain value, and if so, breaks out of the loop to finish the run. Note that any variable could be checked, so long as it is current on the timestep when the run -completes. As explained on the variable doc page, -this can be insured by includig the variable in thermodynamic output.

    -
    variable myTemp equal temp
    +completes.  As explained on the variable doc page,
    +this can be insured by includig the variable in thermodynamic output.
    +

    +
    variable myTemp equal temp
     label loop
     variable a loop 1000
     run 1000
    -if "${myTemp} < 300.0" then "jump SELF break"
    +if "${myTemp} < 300.0" then "jump SELF break"
     next a
     jump SELF loop
     label break
    -print "ALL DONE"
    -
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop.

    -
    label            loopa
    +print "ALL DONE" 
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop. +

    +
    label	    loopa
     variable    a loop 5
    -  label          loopb
    +  label	    loopb
       variable  b loop 5
    -  print          "A,B = $a,$b"
    +  print	    "A,B = $a,$b"
       run       10000
    -  if     "$b > 2" then "jump SELF break"
    -  next           b
    -  jump           in.script loopb
    -label            break
    +  if	    "$b > 2" then "jump SELF break"
    +  next	    b
    +  jump	    in.script loopb
    +label	    break
     variable    b delete
    -next     a
    -jump     SELF loopa
    -
    -
    -
    -
    -

    Restrictions¶

    -

    If you jump to a file and it does not contain the specified label, -LAMMPS will come to the end of the file and exit.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +next a +jump SELF loopa + +

    Restrictions: +

    +

    If you jump to a file and it does not contain the specified label, +LAMMPS will come to the end of the file and exit. +

    +

    Related commands: +

    +

    variable, include, label, +next +

    +

    Default: none +

    + diff --git a/doc/kspace_modify.html b/doc/kspace_modify.html index 0da78a22fc..25693a130d 100644 --- a/doc/kspace_modify.html +++ b/doc/kspace_modify.html @@ -1,205 +1,89 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - kspace_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    kspace_modify command¶

    -
    -

    Syntax¶

    -
    kspace_modify keyword value ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be listed
    • -
    -
    -keyword = mesh or order or order/disp or mix/disp or overlap or minorder or force or gewald or gewald/disp or slab or (nozforce* or compute or cutoff/adjust or fftbench or collective or diff or kmax/ewald or force/disp/real or force/disp/kspace or splittol or disp/auto:l
    -  mesh value = x y z
    +
    +
    +
    + +

    kspace_modify command +

    +

    Syntax: +

    +
    kspace_modify keyword value ... 
    +
    +
    • one or more keyword/value pairs may be listed + +
      keyword = mesh or order or order/disp or mix/disp or overlap or minorder or force or gewald or gewald/disp or slab or (nozforce or compute or cutoff/adjust or fftbench or collective or diff or kmax/ewald or force/disp/real or force/disp/kspace or splittol or disp/auto:l
      +  mesh value = x y z
           x,y,z = grid size in each dimension for long-range Coulombics
      -  mesh/disp value = x y z
      +  mesh/disp value = x y z
           x,y,z = grid size in each dimension for 1/r^6 dispersion
      -  order value = N
      +  order value = N
           N = extent of Gaussian for PPPM or MSM mapping of charge to grid
      -  order/disp value = N
      +  order/disp value = N
           N = extent of Gaussian for PPPM mapping of dispersion term to grid
      -  mix/disp value = pair or geom or none
      -  overlap = yes or no = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor
      -  minorder value = M
      +  mix/disp value = pair or geom or none
      +  overlap = yes or no = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor
      +  minorder value = M
           M = min allowed extent of Gaussian when auto-adjusting to minimize grid communication
      -  force value = accuracy (force units)
      -  gewald value = rinv (1/distance units)
      +  force value = accuracy (force units)
      +  gewald value = rinv (1/distance units)
           rinv = G-ewald parameter for Coulombics
      -  gewald/disp value = rinv (1/distance units)
      +  gewald/disp value = rinv (1/distance units)
           rinv = G-ewald parameter for dispersion
      -  slab value = volfactor or nozforce
      +  slab value = volfactor or nozforce
           volfactor = ratio of the total extended volume used in the
             2d approximation compared with the volume of the simulation domain
      -  nozforce turns off kspace forces in the z direction
      -  compute value = yes or no
      -  cutoff/adjust value = yes or no
      -  pressure/scalar value = yes or no
      -  fftbench value = yes or no
      -  collective value = yes or no
      -  diff value = ad or ik = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode
      -  kmax/ewald value = kx ky kz
      +  nozforce turns off kspace forces in the z direction
      +  compute value = yes or no 
      +  cutoff/adjust value = yes or no 
      +  pressure/scalar value = yes or no 
      +  fftbench value = yes or no 
      +  collective value = yes or no 
      +  diff value = ad or ik = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode 
      +  kmax/ewald value = kx ky kz 
           kx,ky,kz = number of Ewald sum kspace vectors in each dimension
      -  force/disp/real value = accuracy (force units)
      -  force/disp/kspace value = accuracy (force units)
      -  splittol value = tol
      +  force/disp/real value = accuracy (force units)
      +  force/disp/kspace value = accuracy (force units)
      +  splittol value = tol
           tol = relative size of two eigenvalues (see discussion below)
      -  disp/auto value = yes or no
      -
      -
    -
    -

    Examples¶

    -
    kspace_modify mesh 24 24 30 order 6
    -kspace_modify slab 3.0
    -
    -
    -
    -
    -

    Description¶

    -

    Set parameters used by the kspace solvers defined by the -kspace_style command. Not all parameters are -relevant to all kspace styles.

    -

    The mesh keyword sets the grid size for kspace style pppm or -msm. In the case of PPPM, this is the FFT mesh, and each dimension + disp/auto value = yes or no + + + +

    Examples: +

    +
    kspace_modify mesh 24 24 30 order 6
    +kspace_modify slab 3.0 
    +
    +

    Description: +

    +

    Set parameters used by the kspace solvers defined by the +kspace_style command. Not all parameters are +relevant to all kspace styles. +

    +

    The mesh keyword sets the grid size for kspace style pppm or +msm. In the case of PPPM, this is the FFT mesh, and each dimension must be factorizable into powers of 2, 3, and 5. In the case of MSM, this is the finest scale real-space mesh, and each dimension must be factorizable into powers of 2. When this option is not set, the PPPM or MSM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of -0,0,0 unset the option.

    -

    The mesh/disp keyword sets the grid size for kspace style -pppm/disp. This is the FFT mesh for long-range dispersion and ach +0,0,0 unset the option. +

    +

    The mesh/disp keyword sets the grid size for kspace style +pppm/disp. This is the FFT mesh for long-range dispersion and ach dimension must be factorizable into powers of 2, 3, and 5. When this -option is not set, the PPPM solver chooses its own grid size, +option is not set, the PPPM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. -Values for x,y,z of 0,0,0 unset the option.

    -

    The order keyword determines how many grid spacings an atom’s charge -extends when it is mapped to the grid in kspace style pppm or msm. +Values for x,y,z of 0,0,0 unset the option. +

    +

    The order keyword determines how many grid spacings an atom's charge +extends when it is mapped to the grid in kspace style pppm or msm. The default for this parameter is 5 for PPPM and 8 for MSM, which means each charge spans 5 or 8 grid cells in each dimension, respectively. For the LAMMPS implementation of MSM, the order can @@ -210,57 +94,63 @@ size, to achieve the requested accuracy. Conversely, the smaller the order value, the larger the grid size will be. Note that there is an inherent trade-off involved: a small grid will lower the cost of FFTs or MSM direct sum, but a larger order parameter will increase the cost -of interpolating charge/fields to/from the grid.

    -

    The order/disp keyword determines how many grid spacings an atom’s +of interpolating charge/fields to/from the grid. +

    +

    The order/disp keyword determines how many grid spacings an atom's dispersion term extends when it is mapped to the grid in kspace style -pppm/disp. It has the same meaning as the order setting for -Coulombics.

    -

    The overlap keyword can be used in conjunction with the minorder +pppm/disp. It has the same meaning as the order setting for +Coulombics. +

    +

    The overlap keyword can be used in conjunction with the minorder keyword with the PPPM styles to adjust the amount of communication that occurs when values on the FFT grid are exchangeed between processors. This communication is distinct from the communication inherent in the parallel FFTs themselves, and is required because processors interpolate charge and field values using grid point values owned by neighboring processors (i.e. ghost point communication). If -the overlap keyword is set to yes then this communication is +the overlap keyword is set to yes then this communication is allowed to extend beyond nearest-neighbor processors, e.g. when using -lots of processors on a small problem. If it is set to no then the +lots of processors on a small problem. If it is set to no then the communication will be limited to nearest-neighbor processors and the -order setting will be reduced if necessary, as explained by the -minorder keyword discussion. The overlap keyword is always set to -yes in MSM.

    -

    The minorder keyword allows LAMMPS to reduce the order setting if +order setting will be reduced if necessary, as explained by the +minorder keyword discussion. The overlap keyword is always set to +yes in MSM. +

    +

    The minorder keyword allows LAMMPS to reduce the order setting if necessary to keep the communication of ghost grid point limited to exchanges between nearest-neighbor processors. See the discussion of -the overlap keyword for details. If the overlap keyword is set to -yes, which is the default, this is never needed. If it set to no +the overlap keyword for details. If the overlap keyword is set to +yes, which is the default, this is never needed. If it set to no and overlap occurs, then LAMMPS will reduce the order setting, one step at a time, until the ghost grid overlap only extends to nearest -neighbor processors. The minorder keyword limits how small the -order setting can become. The minimum allowed value for PPPM is 2, -which is the default. If minorder is set to the same value as -order then no reduction is allowed, and LAMMPS will generate an -error if the grid communcation is non-nearest-neighbor and overlap -is set to no. The minorder keyword is not currently supported in -MSM.

    -

    The PPPM order parameter may be reset by LAMMPS when it sets up the +neighbor processors. The minorder keyword limits how small the +order setting can become. The minimum allowed value for PPPM is 2, +which is the default. If minorder is set to the same value as +order then no reduction is allowed, and LAMMPS will generate an +error if the grid communcation is non-nearest-neighbor and overlap +is set to no. The minorder keyword is not currently supported in +MSM. +

    +

    The PPPM order parameter may be reset by LAMMPS when it sets up the FFT grid if the implied grid stencil extends beyond the grid cells owned by neighboring processors. Typically this will only occur when small problems are run on large numbers of processors. A warning will be generated indicating the order parameter is being reduced to allow LAMMPS to run the problem. Automatic adjustment of the order parameter -is not supported in MSM.

    -

    The force keyword overrides the relative accuracy parameter set by -the kspace_style command with an absolute +is not supported in MSM. +

    +

    The force keyword overrides the relative accuracy parameter set by +the kspace_style command with an absolute accuracy. The accuracy determines the RMS error in per-atom forces calculated by the long-range solver and is thus specified in force units. A negative value for the accuracy setting means to use the relative accuracy parameter. The accuracy setting is used in conjunction with the pairwise cutoff to determine the number of -K-space vectors for style ewald, the FFT grid size for style -pppm, or the real space grid size for style msm.

    -

    The gewald keyword sets the value of the Ewald or PPPM G-ewald -parameter for charge as rinv in reciprocal distance units. Without +K-space vectors for style ewald, the FFT grid size for style +pppm, or the real space grid size for style msm. +

    +

    The gewald keyword sets the value of the Ewald or PPPM G-ewald +parameter for charge as rinv in reciprocal distance units. Without this setting, LAMMPS chooses the parameter automatically as a function of cutoff, precision, grid spacing, etc. This means it can vary from one simulation to the next which may not be desirable for matching a @@ -268,13 +158,15 @@ KSpace solver to a pre-tabulated pairwise potential. This setting can also be useful if Ewald or PPPM fails to choose a good grid spacing and G-ewald parameter automatically. If the value is set to 0.0, LAMMPS will choose the G-ewald parameter automatically. MSM does not -use the gewald parameter.

    -

    The gewald/disp keyword sets the value of the Ewald or PPPM G-ewald -parameter for dispersion as rinv in reciprocal distance units. It -has the same meaning as the gewald setting for Coulombics.

    -

    The slab keyword allows an Ewald or PPPM solver to be used for a +use the gewald parameter. +

    +

    The gewald/disp keyword sets the value of the Ewald or PPPM G-ewald +parameter for dispersion as rinv in reciprocal distance units. It +has the same meaning as the gewald setting for Coulombics. +

    +

    The slab keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a -boundary setting of “boundary p p f”. This is done by +boundary setting of "boundary p p f". This is done by treating the system as if it were periodic in z, but inserting empty volume between atom slabs and removing dipole inter-slab interactions so that slab-slab interactions are effectively turned off. The @@ -283,209 +175,176 @@ by the actual dimension in z. The recommended value is 3.0. A larger value is inefficient; a smaller value introduces unwanted slab-slab interactions. The use of fixed boundaries in z means that the user must prevent particle migration beyond the initial z-bounds, typically -by providing a wall-style fix. The methodology behind the slab -option is explained in the paper by (Yeh). The slab option +by providing a wall-style fix. The methodology behind the slab +option is explained in the paper by (Yeh). The slab option is also extended to non-neutral systems -(Ballenegger). An alternative slab option can be -invoked with the nozforce keyword in lieu of the volfactor. This -turns off all kspace forces in the z direction. The nozforce option +(Ballenegger). An alternative slab option can be +invoked with the nozforce keyword in lieu of the volfactor. This +turns off all kspace forces in the z direction. The nozforce option is not supported by MSM. For MSM, any combination of periodic, non-periodic, or shrink-wrapped boundaries can be set using -boundary (the slab approximation in not needed). The -slab keyword is not currently supported by Ewald or PPPM when using +boundary (the slab approximation in not needed). The +slab keyword is not currently supported by Ewald or PPPM when using a triclinic simulation cell. The slab correction has also been -extended to point dipole interactions (Klapp) in -kspace_style ewald/disp.

    -

    The compute keyword allows Kspace computations to be turned off, -even though a kspace_style is defined. This is +extended to point dipole interactions (Klapp) in +kspace_style ewald/disp. +

    +

    The compute keyword allows Kspace computations to be turned off, +even though a kspace_style is defined. This is not useful for running a real simulation, but can be useful for debugging purposes or for computing only partial forces that do not include the Kspace contribution. You can also do this by simply not -defining a kspace_style, but a Kspace-compatible -pair_style requires a kspace style to be defined. -This keyword gives you that option.

    -

    The cutoff/adjust keyword applies only to MSM. If this option is +defining a kspace_style, but a Kspace-compatible +pair_style requires a kspace style to be defined. +This keyword gives you that option. +

    +

    The cutoff/adjust keyword applies only to MSM. If this option is turned on, the Coulombic cutoff will be automatically adjusted at the beginning of the run to give the desired estimated error. Other cutoffs such as LJ will not be affected. If the grid is not set using -the mesh command, this command will also attempt to use the optimal +the mesh command, this command will also attempt to use the optimal grid that minimizes cost using an estimate given by -(Hardy). Note that this cost estimate is not exact, somewhat -experimental, and still may not yield the optimal parameters.

    -

    The pressure/scalar keyword applies only to MSM. If this option is +(Hardy). Note that this cost estimate is not exact, somewhat +experimental, and still may not yield the optimal parameters. +

    +

    The pressure/scalar keyword applies only to MSM. If this option is turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will be computed, which can be used, for example, to run an isotropic barostat. Computing the full pressure tensor with MSM is expensive, and this option provides a faster alternative. The scalar pressure is computed using a -relationship between the Coulombic energy and pressure (Hummer) +relationship between the Coulombic energy and pressure (Hummer) instead of using the virial equation. This option cannot be used to access individual components of the pressure tensor, to compute per-atom virial, -or with suffix kspace/pair styles of MSM, like OMP or GPU.

    -

    The fftbench keyword applies only to PPPM. It is on by default. If +or with suffix kspace/pair styles of MSM, like OMP or GPU. +

    +

    The fftbench keyword applies only to PPPM. It is on by default. If this option is turned off, LAMMPS will not take the time at the end of a run to give FFT benchmark timings, and will finish a few seconds -faster than it would if this option were on.

    -

    The collective keyword applies only to PPPM. It is set to no by +faster than it would if this option were on. +

    +

    The collective keyword applies only to PPPM. It is set to no by default, except on IBM BlueGene machines. If this option is set to -yes, LAMMPS will use MPI collective operations to remap data for +yes, LAMMPS will use MPI collective operations to remap data for 3d-FFT operations instead of the default point-to-point communication. This is faster on IBM BlueGene machines, and may also be faster on other machines if they have an efficient implementation of MPI -collective operations and adequate hardware.

    -

    The diff keyword specifies the differentiation scheme used by the +collective operations and adequate hardware. +

    +

    The diff keyword specifies the differentiation scheme used by the PPPM method to compute forces on particles given electrostatic -potentials on the PPPM mesh. The ik approach is the default for -PPPM and is the original formulation used in (Hockney). It +potentials on the PPPM mesh. The ik approach is the default for +PPPM and is the original formulation used in (Hockney). It performs differentiation in Kspace, and uses 3 FFTs to transfer each component of the computed fields back to real space for total of 4 -FFTs per timestep.

    -

    The analytic differentiation ad approach uses only 1 FFT to transfer +FFTs per timestep. +

    +

    The analytic differentiation ad approach uses only 1 FFT to transfer information back to real space for a total of 2 FFTs per timestep. It then performs analytic differentiation on the single quantity to generate the 3 components of the electric field at each grid point. -This is sometimes referred to as “smoothed” PPPM. This approach +This is sometimes referred to as "smoothed" PPPM. This approach requires a somewhat larger PPPM mesh to achieve the same accuracy as -the ik method. Currently, only the ik method (default) can be -used for a triclinic simulation cell with PPPM. The ad method is -always used for MSM.

    -
    -

    Warning

    -

    Currently, not all PPPM styles support the ad -option. Support for those PPPM variants will be added later.

    -
    -

    The kmax/ewald keyword sets the number of kspace vectors in each -dimension for kspace style ewald. The three values must be positive +the ik method. Currently, only the ik method (default) can be +used for a triclinic simulation cell with PPPM. The ad method is +always used for MSM. +

    +

    IMPORTANT NOTE: Currently, not all PPPM styles support the ad +option. Support for those PPPM variants will be added later. +

    +

    The kmax/ewald keyword sets the number of kspace vectors in each +dimension for kspace style ewald. The three values must be positive integers, or else (0,0,0), which unsets the option. When this option is not set, the Ewald sum scheme chooses its own kspace vectors, consistent with the user-specified accuracy and pairwise cutoff. In -any case, if kspace style ewald is invoked, the values used are -printed to the screen and the log file at the start of the run.

    -

    With the mix/disp keyword one can select the mixing rule for the -dispersion coefficients. With pair, the dispersion coefficients of +any case, if kspace style ewald is invoked, the values used are +printed to the screen and the log file at the start of the run. +

    +

    With the mix/disp keyword one can select the mixing rule for the +dispersion coefficients. With pair, the dispersion coefficients of unlike types are computed as indicated with -pair_modify. With geom, geometric mixing is +pair_modify. With geom, geometric mixing is enforced on the dispersion coefficients in the kspace coefficients. When using the arithmetic mixing rule, this will speed-up the simulations but introduces some error in the force -computations, as shown in (Wennberg). With none, it is +computations, as shown in (Wennberg). With none, it is assumed that no mixing rule is applicable. Splitting of the dispersion coefficients will be performed as described in -(Isele-Holder). This splitting can be influenced with -the splittol keywords. Only the eigenvalues that are larger than tol +(Isele-Holder). This splitting can be influenced with +the splittol keywords. Only the eigenvalues that are larger than tol compared to the largest eigenvalues are included. Using this keywords the original matrix of dispersion coefficients is approximated. This leads to faster computations, but the accuracy in the reciprocal space -computations of the dispersion part is decreased.

    -

    The force/disp/real and force/disp/kspace keywords set the force +computations of the dispersion part is decreased. +

    +

    The force/disp/real and force/disp/kspace keywords set the force accuracy for the real and space computations for the dispersion part -of pppm/disp. As shown in (Isele-Holder), optimal +of pppm/disp. As shown in (Isele-Holder), optimal performance and accuracy in the results is obtained when these values -are different.

    -

    The disp/auto option controlls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to no, parameters have -to be specified using the gewald/disp, mesh/disp, -force/disp/real or force/disp/kspace keywords, or +are different. +

    +

    The disp/auto option controlls whether the pppm/disp is allowed to +generate PPPM parameters automatically. If set to no, parameters have +to be specified using the gewald/disp, mesh/disp, +force/disp/real or force/disp/kspace keywords, or the code will stop with an error message. When this option is set to -yes, the error message will not appear and the simulation will start. +yes, the error message will not appear and the simulation will start. For a typical application, using the automatic parameter generation will provide simulations that are either inaccurate or slow. Using this option is thus not -recommended. For guidelines on how to obtain good parameters, see the How-To discussion.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = +recommended. For guidelines on how to obtain good parameters, see the How-To discussion. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    kspace_style, boundary +

    +

    Default: +

    +

    The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = 5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0, gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = yes (MSM), pressure/scalar = yes (MSM), fftbench = yes (PPPM), diff = ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, -split = 0, tol = 1.0e-6, and disp/auto = no.

    -
    -

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, -Adam Hilger, NY (1989).

    -

    (Yeh) Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).

    -

    (Ballenegger) Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 -(2009).

    -

    (Klapp) Klapp, Schoen, J Chem Phys, 117, 8050 (2002).

    -

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast +split = 0, tol = 1.0e-6, and disp/auto = no. +

    +
    + + + +

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989). +

    + + +

    (Yeh) Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999). +

    + + +

    (Ballenegger) Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 +(2009). +

    + + +

    (Klapp) Klapp, Schoen, J Chem Phys, 117, 8050 (2002). +

    + + +

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of -Illinois at Urbana-Champaign, (2006).

    -

    (Hummer) Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998)

    -

    (Isele-Holder) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J -Chem Theory Comput, 9, 5412 (2013).

    -

    (Wennberg) Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, -9, 3527 (2013).

    -
    -
    +Illinois at Urbana-Champaign, (2006). +

    + +

    (Hummer) Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998) +

    + -
    -
    -
    - +

    (Isele-Holder) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J +Chem Theory Comput, 9, 5412 (2013). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Wennberg) Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, +9, 3527 (2013). +

    + diff --git a/doc/kspace_style.html b/doc/kspace_style.html index 0f0e1dbdef..36b55dc1da 100644 --- a/doc/kspace_style.html +++ b/doc/kspace_style.html @@ -1,267 +1,145 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - kspace_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    kspace_style command¶

    -
    -

    Syntax¶

    -
    kspace_style style value
    -
    -
    -
      -
    • style = none or ewald or ewald/disp or ewald/omp or pppm or pppm/cg or pppm/disp or pppm/tip4p or pppm/stagger or pppm/disp/tip4p or pppm/gpu or pppm/omp or pppm/cg/omp or pppm/tip4p/omp or msm or msm/cg or msm/omp or msm/cg/omp
    • -
    -
    -none value = none
    -  ewald value = accuracy
    +
    +
    +
    + +

    kspace_style command +

    +

    Syntax: +

    +
    kspace_style style value 
    +
    +
    • style = none or ewald or ewald/disp or ewald/omp or pppm or pppm/cg or pppm/disp or pppm/tip4p or pppm/stagger or pppm/disp/tip4p or pppm/gpu or pppm/omp or pppm/cg/omp or pppm/tip4p/omp or msm or msm/cg or msm/omp or msm/cg/omp + +
        none value = none
      +  ewald value = accuracy
           accuracy = desired relative error in forces
      -  ewald/disp value = accuracy
      +  ewald/disp value = accuracy
           accuracy = desired relative error in forces
      -  ewald/omp value = accuracy
      +  ewald/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm value = accuracy
      +  pppm value = accuracy
           accuracy = desired relative error in forces
      -  pppm/cg value = accuracy (smallq)
      +  pppm/cg value = accuracy (smallq)
           accuracy = desired relative error in forces
           smallq = cutoff for charges to be considered (optional) (charge units)
      -  pppm/disp value = accuracy
      +  pppm/disp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/tip4p value = accuracy
      +  pppm/tip4p value = accuracy
           accuracy = desired relative error in forces
      -  pppm/disp/tip4p value = accuracy
      +  pppm/disp/tip4p value = accuracy
           accuracy = desired relative error in forces
      -  pppm/gpu value = accuracy
      +  pppm/gpu value = accuracy
           accuracy = desired relative error in forces
      -  pppm/omp value = accuracy
      +  pppm/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/cg/omp value = accuracy
      +  pppm/cg/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/tip4p/omp value = accuracy
      +  pppm/tip4p/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/stagger value = accuracy
      +  pppm/stagger value = accuracy
           accuracy = desired relative error in forces
      -  msm value = accuracy
      +  msm value = accuracy
           accuracy = desired relative error in forces
      -  msm/cg value = accuracy (smallq)
      +  msm/cg value = accuracy (smallq)
           accuracy = desired relative error in forces
           smallq = cutoff for charges to be considered (optional) (charge units)
      -  msm/omp value = accuracy
      +  msm/omp value = accuracy
           accuracy = desired relative error in forces
      -  msm/cg/omp value = accuracy (smallq)
      +  msm/cg/omp value = accuracy (smallq)
           accuracy = desired relative error in forces
      -    smallq = cutoff for charges to be considered (optional) (charge units)
      -
      -
    -
    -

    Examples¶

    -
    kspace_style pppm 1.0e-4
    +    smallq = cutoff for charges to be considered (optional) (charge units) 
    +
    + + +

    Examples: +

    +
    kspace_style pppm 1.0e-4
     kspace_style pppm/cg 1.0e-5 1.0e-6
     kspace style msm 1.0e-4
    -kspace_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Define a long-range solver for LAMMPS to use each timestep to compute +kspace_style none + +

    Description: +

    +

    Define a long-range solver for LAMMPS to use each timestep to compute long-range Coulombic interactions or long-range 1/r^6 interactions. Most of the long-range solvers perform their computation in K-space, -hence the name of this command.

    -

    When such a solver is used in conjunction with an appropriate pair +hence the name of this command. +

    +

    When such a solver is used in conjunction with an appropriate pair style, the cutoff for Coulombic or 1/r^N interactions is effectively infinite. If the Coulombic case, this means each charge in the system interacts with charges in an infinite array of periodic images of the -simulation domain.

    -

    Note that using a long-range solver requires use of a matching pair style to perform consistent short-range pairwise +simulation domain. +

    +

    Note that using a long-range solver requires use of a matching pair +style to perform consistent short-range pairwise calculations. This means that the name of the pair style contains a -matching keyword to the name of the KSpace style, as in this table:

    - ---- - - - - - - - - - - - - - - - - - -
    Pair styleKSpace style
    coul/longewald or pppm
    coul/msmmsm
    lj/long or buck/longdisp (for dispersion)
    tip4p/longtip4p
    -
    -

    The ewald style performs a standard Ewald summation as described in -any solid-state physics text.

    -

    The ewald/disp style adds a long-range dispersion sum option for +matching keyword to the name of the KSpace style, as in this table: +

    +
    + + + + +
    Pair style KSpace style
    coul/long ewald or pppm
    coul/msm msm
    lj/long or buck/long disp (for dispersion)
    tip4p/long tip4p +
    + +
    + +

    The ewald style performs a standard Ewald summation as described in +any solid-state physics text. +

    +

    The ewald/disp style adds a long-range dispersion sum option for 1/r^6 potentials and is useful for simulation of interfaces -(Veld). It also performs standard Coulombic Ewald summations, -but in a more efficient manner than the ewald style. The 1/r^6 +(Veld). It also performs standard Coulombic Ewald summations, +but in a more efficient manner than the ewald style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. -The ewald/disp style can also be used with point-dipoles -(Toukmaji) and is currently the only kspace solver in -LAMMPS with this capability.

    -
    -

    The pppm style invokes a particle-particle particle-mesh solver -(Hockney) which maps atom charge to a 3d mesh, uses 3d FFTs -to solve Poisson’s equation on the mesh, then interpolates electric +The ewald/disp style can also be used with point-dipoles +(Toukmaji) and is currently the only kspace solver in +LAMMPS with this capability. +

    +
    + +

    The pppm style invokes a particle-particle particle-mesh solver +(Hockney) which maps atom charge to a 3d mesh, uses 3d FFTs +to solve Poisson's equation on the mesh, then interpolates electric fields on the mesh points back to the atoms. It is closely related to -the particle-mesh Ewald technique (PME) (Darden) used in +the particle-mesh Ewald technique (PME) (Darden) used in AMBER and CHARMM. The cost of traditional Ewald summation scales as N^(3/2) where N is the number of atoms in the system. The PPPM solver scales as Nlog(N) due to the FFTs, so it is almost always a faster -choice (Pollock).

    -

    The pppm/cg style is identical to the pppm style except that it +choice (Pollock). +

    +

    The pppm/cg style is identical to the pppm style except that it has an optimization for systems where most particles are uncharged. -Similarly the msm/cg style implements the same optimization for msm. -The optional smallq argument defines the cutoff for the absolute +Similarly the msm/cg style implements the same optimization for msm. +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/tip4p style is identical to the pppm style except that it +or not. Its default value is 1.0e-5. +

    +

    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. -It should be used with pair styles with a -tip4p/long in their style name.

    -

    The pppm/stagger style performs calculations using two different +It should be used with pair styles with a +tip4p/long in their style name. +

    +

    The pppm/stagger style performs calculations using two different meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase the accuracy of the method for a given mesh size. Or a coarser mesh can be used for the same target accuracy, which saves CPU time. However, there is a trade-off since FFTs on two meshes are now performed which increases the -compuation required. See (Cerutti), (Neelov), -and (Hockney) for details of the method.

    -

    For high relative accuracy, using staggered PPPM allows the mesh size +compuation required. See (Cerutti), (Neelov), +and (Hockney) for details of the method. +

    +

    For high relative accuracy, using staggered PPPM allows the mesh size to be reduced by a factor of 2 in each dimension as compared to regular PPPM (for the same target accuracy). This can give up to a 4x speedup in the KSpace time (8x less mesh points, 2x more expensive). @@ -269,80 +147,88 @@ However, for low relative accuracy, the staggered PPPM mesh size may be essentially the same as for regular PPPM, which means the method will be up to 2x slower in the KSpace time (simply 2x more expensive). For more details and timings, see -Section_accelerate.

    -
    -

    Warning

    -

    Using pppm/stagger may not give the same increase in +Section_accelerate. +

    +

    IMPORTANT NOTE: Using pppm/stagger may not give the same increase in the accuracy of energy and pressure as it does in forces, so some caution must be used if energy and/or pressure are quantities of -interest, such as when using a barostat.

    -
    -
    -

    The pppm/disp and pppm/disp/tip4p styles add a mesh-based long-range -dispersion sum option for 1/r^6 potentials (Isele-Holder), -similar to the ewald/disp style. The 1/r^6 capability means +interest, such as when using a barostat. +

    +
    + +

    The pppm/disp and pppm/disp/tip4p styles add a mesh-based long-range +dispersion sum option for 1/r^6 potentials (Isele-Holder), +similar to the ewald/disp style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, -i.e. they become full long-range potentials.

    -

    For these styles, you will possibly want to adjust the default choice of -parameters by using the kspace_modify command. +i.e. they become full long-range potentials. +

    +

    For these styles, you will possibly want to adjust the default choice of +parameters by using the kspace_modify command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace calculations. When not making any settings, the simulation will stop with an error message. Further information on the influence of the parameters -and how to choose them is described in (Isele-Holder), -(Isele-Holder2) and the -How-To discussion.

    -
    -
    -

    Warning

    -

    All of the PPPM styles can be used with +and how to choose them is described in (Isele-Holder), +(Isele-Holder2) and the +How-To discussion. +

    +
    + +

    IMPORTANT NOTE: All of the PPPM styles can be used with single-precision FFTs by using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your lo-level Makefile. This setting also changes some of the PPPM operations (e.g. mapping charge to mesh and interpolating electric fields to particles) to be performed in single precision. This option can speed-up long-range calulations, particularly in parallel or on GPUs. The use of the -DFFT_SINGLE flag -is discussed in this section of the -manual. MSM does not currently support the -DFFT_SINGLE compiler switch.

    -
    -
    -

    The msm style invokes a multi-level summation method MSM solver, -(Hardy) or (Hardy2), which maps atom charge to a 3d +is discussed in this section of the +manual. MSM does not currently support the -DFFT_SINGLE compiler switch. +

    +
    + +

    The msm style invokes a multi-level summation method MSM solver, +(Hardy) or (Hardy2), which maps atom charge to a 3d mesh, and uses a multi-level hierarchy of coarser and coarser meshes on which direct coulomb solves are done. This method does not use FFTs and scales as N. It may therefore be faster than the other K-space solvers for relatively large problems when running on large -core counts. MSM can also be used for non-periodic boundary conditions and -for mixed periodic and non-periodic boundaries.

    -

    MSM is most competitive versus Ewald and PPPM when only relatively -low accuracy forces, about 1e-4 relative error or less accurate, -are needed. Note that use of a larger coulomb cutoff (i.e. 15 -angstroms instead of 10 angstroms) provides better MSM accuracy for -both the real space and grid computed forces.

    -

    Currently calculation of the full pressure tensor in MSM is expensive. -Using the kspace_modify pressure/scalar yes +core counts. MSM can also be used for non-periodic boundary conditions and +for mixed periodic and non-periodic boundaries. +

    +

    MSM is most competitive versus Ewald and PPPM when only relatively +low accuracy forces, about 1e-4 relative error or less accurate, +are needed. Note that use of a larger coulomb cutoff (i.e. 15 +angstroms instead of 10 angstroms) provides better MSM accuracy for +both the real space and grid computed forces. +

    +

    Currently calculation of the full pressure tensor in MSM is expensive. +Using the kspace_modify pressure/scalar yes command provides a less expensive way to compute the scalar pressure (Pxx + Pyy + Pzz)/3.0. The scalar pressure can be used, for example, to run an isotropic barostat. If the full pressure tensor is needed, then calculating the pressure at every timestep or using a fixed -pressure simulation with MSM will cause the code to run slower.

    -
    -

    The specified accuracy determines the relative RMS error in per-atom +pressure simulation with MSM will cause the code to run slower. +

    +
    + +

    The specified accuracy determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point charges (e.g. 2 monovalent ions) exert on each other at a distance of 1 Angstrom. This reference value was chosen as representative of the magnitude of electrostatic forces in atomic systems. Thus an accuracy value of 1.0e-4 means that the RMS error will be a factor of 10000 -smaller than the reference force.

    -

    The accuracy setting is used in conjunction with the pairwise cutoff -to determine the number of K-space vectors for style ewald or the -grid size for style pppm or msm.

    -

    Note that style pppm only computes the grid size at the beginning of +smaller than the reference force. +

    +

    The accuracy setting is used in conjunction with the pairwise cutoff +to determine the number of K-space vectors for style ewald or the +grid size for style pppm or msm. +

    +

    Note that style pppm only computes the grid size at the beginning of a simulation, so if the length or triclinic tilt of the simulation cell increases dramatically during the course of the simulation, the accuracy of the simulation may degrade. Likewise, if the -kspace_modify slab option is used with +kspace_modify slab option is used with shrink-wrap boundaries in the z-dimension, and the box size changes dramatically in z. For example, for a triclinic system with all three tilt factors set to the maximum limit, the PPPM grid should be @@ -351,162 +237,158 @@ z direction as compared to the same system using a cubic orthogonal simulation cell. One way to ensure the accuracy requirement is being met is to run a short simulation at the maximum expected tilt or length, note the required grid size, and then use the -kspace_modify mesh command to manually set the -PPPM grid size to this value.

    -

    RMS force errors in real space for ewald and pppm are estimated -using equation 18 of (Kolafa), which is also referenced as -equation 9 of (Petersen). RMS force errors in K-space for -ewald are estimated using equation 11 of (Petersen), -which is similar to equation 32 of (Kolafa). RMS force -errors in K-space for pppm are estimated using equation 38 of -(Deserno). RMS force errors for msm are estimated -using ideas from chapter 3 of (Hardy), with equation 3.197 -of particular note. When using msm with non-periodic boundary +kspace_modify mesh command to manually set the +PPPM grid size to this value. +

    +

    RMS force errors in real space for ewald and pppm are estimated +using equation 18 of (Kolafa), which is also referenced as +equation 9 of (Petersen). RMS force errors in K-space for +ewald are estimated using equation 11 of (Petersen), +which is similar to equation 32 of (Kolafa). RMS force +errors in K-space for pppm are estimated using equation 38 of +(Deserno). RMS force errors for msm are estimated +using ideas from chapter 3 of (Hardy), with equation 3.197 +of particular note. When using msm with non-periodic boundary conditions, it is expected that the error estimation will be too -pessimistic. RMS force errors for dipoles when using ewald/disp -are estimated using equations 33 and 46 of (Wang).

    -

    See the kspace_modify command for additional -options of the K-space solvers that can be set, including a force +pessimistic. RMS force errors for dipoles when using ewald/disp +are estimated using equations 33 and 46 of (Wang). +

    +

    See the kspace_modify command for additional +options of the K-space solvers that can be set, including a force option for setting an absoulte RMS error in forces, as opposed to a -relative RMS error.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +relative RMS error. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision -issues.

    -

    More specifically, the pppm/gpu style performs charge assignment and +issues. +

    +

    More specifically, the pppm/gpu style performs charge assignment and force interpolation calculations on the GPU. These processes are performed either in single or double precision, depending on whether the -DFFT_SINGLE setting was specified in your lo-level Makefile, as discussed above. The FFTs themselves are still calculated on the CPU. -If pppm/gpu is used with a GPU-enabled pair style, part of the PPPM +If pppm/gpu is used with a GPU-enabled pair style, part of the PPPM calculation can be performed concurrently on the GPU while other calculations for non-bonded and bonded force calculation are performed -on the CPU.

    -

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, +on the CPU. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restrictions¶

    -

    Note that the long-range electrostatic solvers in LAMMPS assume conducting +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section for more info. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restrictions: +

    +

    Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole -interactions. Vacuum boundary conditions are not currently supported.

    -

    The ewald/disp, ewald, pppm, and msm styles support +interactions. Vacuum boundary conditions are not currently supported. +

    +

    The ewald/disp, ewald, pppm, and msm styles support non-orthogonal (triclinic symmetry) simulation boxes. However, triclinic -simulation cells may not yet be supported by suffix versions of these -styles (such as pppm/cuda).

    -

    All of the kspace styles are part of the KSPACE package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that -the KSPACE package is installed by default.

    -

    For MSM, a simulation must be 3d and one can use any combination of -periodic, non-periodic, or shrink-wrapped boundaries (specified using -the boundary command).

    -

    For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. -The only exception is if the slab option is set with kspace_modify, -in which case the xy dimensions must be periodic and the z dimension must be -non-periodic.

    -
    - -
    -

    Default¶

    -
    kspace_style none
    -
    -
    -
    -

    (Darden) Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993).

    -

    (Deserno) Deserno and Holm, J Chem Phys, 109, 7694 (1998).

    -

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, -Adam Hilger, NY (1989).

    -

    (Kolafa) Kolafa and Perram, Molecular Simualtion, 9, 351 (1992).

    -

    (Petersen) Petersen, J Chem Phys, 103, 3668 (1995).

    -

    (Wang) Wang and Holm, J Chem Phys, 115, 6277 (2001).

    -

    (Pollock) Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).

    -

    (Cerutti) Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory -and Computation 5, 2322 (2009)

    -

    (Neelov) Neelov, Holm, J Chem Phys 132, 234103 (2010)

    -

    (Veld) In ‘t Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).

    -

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, -10913 (2000).

    -

    (Isele-Holder) Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012).

    -

    (Isele-Holder2) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory -Comput 9, 5412 (2013).

    -

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast +simulation cells may not yet be supported by suffix versions of these +styles (such as pppm/cuda). +

    +

    All of the kspace styles are part of the KSPACE package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. Note that +the KSPACE package is installed by default. +

    +

    For MSM, a simulation must be 3d and one can use any combination of +periodic, non-periodic, or shrink-wrapped boundaries (specified using +the boundary command). +

    +

    For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. +The only exception is if the slab option is set with kspace_modify, +in which case the xy dimensions must be periodic and the z dimension must be +non-periodic. +

    +

    Related commands: +

    +

    kspace_modify, pair_style +lj/cut/coul/long, pair_style +lj/charmm/coul/long, pair_style +lj/long/coul/long, pair_style buck/coul/long +

    +

    Default: +

    +
    kspace_style none 
    +
    +
    + + + +

    (Darden) Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). +

    + + +

    (Deserno) Deserno and Holm, J Chem Phys, 109, 7694 (1998). +

    + + +

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989). +

    + + +

    (Kolafa) Kolafa and Perram, Molecular Simualtion, 9, 351 (1992). +

    + + +

    (Petersen) Petersen, J Chem Phys, 103, 3668 (1995). +

    + + +

    (Wang) Wang and Holm, J Chem Phys, 115, 6277 (2001). +

    + + +

    (Pollock) Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). +

    + + +

    (Cerutti) Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory +and Computation 5, 2322 (2009) +

    + + +

    (Neelov) Neelov, Holm, J Chem Phys 132, 234103 (2010) +

    + + +

    (Veld) In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007). +

    + + +

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, +10913 (2000). +

    + + +

    (Isele-Holder) Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012). +

    + + +

    (Isele-Holder2) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory +Comput 9, 5412 (2013). +

    + + +

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of -Illinois at Urbana-Champaign, (2006).

    -

    (Hardy) Hardy, Stone, Schulten, Parallel Computing 35 (2009) -164-177.

    -
    -
    +Illinois at Urbana-Champaign, (2006). +

    + - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Hardy) Hardy, Stone, Schulten, Parallel Computing 35 (2009) +164-177. +

    + diff --git a/doc/label.html b/doc/label.html index 7eb98c7555..70030e6d3c 100644 --- a/doc/label.html +++ b/doc/label.html @@ -1,226 +1,41 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - label command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    label command¶

    -
    -

    Syntax¶

    -
    label ID
    -
    -
    -
      -
    • ID = string used as label name
    • -
    -
    -
    -

    Examples¶

    -
    label xyz
    -label loop
    -
    -
    -
    -
    -

    Description¶

    -

    Label this line of the input script with the chosen ID. Unless a jump + + +


    + +

    label command +

    +

    Syntax: +

    +
    label ID 
    +
    +
    • ID = string used as label name +
    +

    Examples: +

    +
    label xyz
    +label loop 
    +
    +

    Description: +

    +

    Label this line of the input script with the chosen ID. Unless a jump command was used previously, this does nothing. But if a -jump command was used with a label argument to begin +jump command was used with a label argument to begin invoking this script file, then all command lines in the script prior to this line will be ignored. I.e. execution of the script will begin at this line. This is useful for looping over a section of the input -script as discussed in the jump command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +script as discussed in the jump command. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/lattice.html b/doc/lattice.html index 22bfda2176..2e75e2157d 100644 --- a/doc/lattice.html +++ b/doc/lattice.html @@ -1,434 +1,267 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - lattice command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    lattice command¶

    -
    -

    Syntax¶

    -
    lattice style scale keyword values ...
    -
    -
    -
      -
    • style = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom
    • -
    • scale = scale factor between lattice and simulation box
    • -
    -
    scale = reduced density rho* (for LJ units)
    -  scale = lattice constant in distance units (for all other units)
    -
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = origin or orient or spacing or a1 or a2 or a3 or basis
    • -
    -
    -origin values = x y z
    -    x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
    -  orient values = dim i j k
    -    dim = x or y or z
    +
    +
    +
    + +

    lattice command +

    +

    Syntax: +

    +
    lattice style scale keyword values ... 
    +
    +
    • style = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom + +
    • scale = scale factor between lattice and simulation box + +
        scale = reduced density rho* (for LJ units)
      +  scale = lattice constant in distance units (for all other units) 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = origin or orient or spacing or a1 or a2 or a3 or basis + +
        origin values = x y z
      +    x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
      +  orient values = dim i j k
      +    dim = x or y or z
           i,j,k = integer lattice directions
      -  spacing values = dx dy dz
      +  spacing values = dx dy dz
           dx,dy,dz = lattice spacings in the x,y,z box directions
      -  a1,*a2*,*a3* values = x y z
      +  a1,a2,a3 values = x y z
           x,y,z = primitive vector components that define unit cell
      -  basis values = x y z
      -    x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
      -
      -
    -
    -

    Examples¶

    -
    lattice fcc 3.52
    +  basis values = x y z
    +    x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) 
    +
    + + +

    Examples: +

    +
    lattice fcc 3.52
     lattice hex 0.85
     lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0
    -lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 &
    +lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 &
                         basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
    -lattice none 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Define a lattice for use by other commands. In LAMMPS, a lattice is +lattice none 2.0 + +

    Description: +

    +

    Define a lattice for use by other commands. In LAMMPS, a lattice is simply a set of points in space, determined by a unit cell with basis atoms, that is replicated infinitely in all dimensions. The arguments of the lattice command can be used to define a wide variety of -crystallographic lattices.

    -

    A lattice is used by LAMMPS in two ways. First, the -create_atoms command creates atoms on the lattice +crystallographic lattices. +

    +

    A lattice is used by LAMMPS in two ways. First, the +create_atoms command creates atoms on the lattice points inside the simulation box. Note that the -create_atoms command allows different atom types +create_atoms command allows different atom types to be assigned to different basis atoms of the lattice. Second, the lattice spacing in the x,y,z dimensions implied by the lattice, can be used by other commands as distance units -(e.g. create_box, region and -velocity), which are often convenient to use when the -underlying problem geometry is atoms on a lattice.

    -

    The lattice style must be consistent with the dimension of the -simulation - see the dimension command. Styles sc -or bcc or fcc or hcp or diamond are for 3d problems. Styles -sq or sq2 or hex are for 2d problems. Style custom can be -used for either 2d or 3d problems.

    -

    A lattice consists of a unit cell, a set of basis atoms within that +(e.g. create_box, region and +velocity), which are often convenient to use when the +underlying problem geometry is atoms on a lattice. +

    +

    The lattice style must be consistent with the dimension of the +simulation - see the dimension command. Styles sc +or bcc or fcc or hcp or diamond are for 3d problems. Styles +sq or sq2 or hex are for 2d problems. Style custom can be +used for either 2d or 3d problems. +

    +

    A lattice consists of a unit cell, a set of basis atoms within that cell, and a set of transformation parameters (scale, origin, orient) that map the unit cell into the simulation box. The vectors a1,a2,a3 are the edge vectors of the unit cell. This is the nomenclature for -“primitive” vectors in solid-state crystallography, but in LAMMPS the -unit cell they determine does not have to be a “primitive cell” of -minimum volume.

    -

    Note that the lattice command can be used multiple times in an input +"primitive" vectors in solid-state crystallography, but in LAMMPS the +unit cell they determine does not have to be a "primitive cell" of +minimum volume. +

    +

    Note that the lattice command can be used multiple times in an input script. Each time it is invoked, the lattice attributes are re-defined and are used for all subsequent commands (that use lattice attributes). For example, a sequence of lattice, -region, and create_atoms commands +region, and create_atoms commands can be repeated multiple times to build a poly-crystalline model with different geometric regions populated with atoms in different lattice -orientations.

    -
    -

    A lattice of style none does not define a unit cell and basis set, -so it cannot be used with the create_atoms +orientations. +

    +
    + +

    A lattice of style none does not define a unit cell and basis set, +so it cannot be used with the create_atoms command. However it does define a lattice spacing via the specified scale parameter. As explained above the lattice spacings in x,y,z can be used by other commands as distance units. No additional -keyword/value pairs can be specified for the none style. By -default, a “lattice none 1.0” is defined, which means the lattice +keyword/value pairs can be specified for the none style. By +default, a "lattice none 1.0" is defined, which means the lattice spacing is the same as one distance unit, as defined by the -units command.

    -

    Lattices of style sc, fcc, bcc, and diamond are 3d lattices +units command. +

    +

    Lattices of style sc, fcc, bcc, and diamond are 3d lattices that define a cubic unit cell with edge length = 1.0. This means a1 = -1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style hcp has a1 = 1 0 0, a2 = 0 +1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style hcp has a1 = 1 0 0, a2 = 0 sqrt(3) 0, and a3 = 0 0 sqrt(8/3). The placement of the basis atoms within the unit cell are described in any solid-state physics text. A -sc lattice has 1 basis atom at the lower-left-bottom corner of the -cube. A bcc lattice has 2 basis atoms, one at the corner and one at -the center of the cube. A fcc lattice has 4 basis atoms, one at the -corner and 3 at the cube face centers. A hcp lattice has 4 basis -atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A diamond -lattice has 8 basis atoms.

    -

    Lattices of style sq and sq2 are 2d lattices that define a square +sc lattice has 1 basis atom at the lower-left-bottom corner of the +cube. A bcc lattice has 2 basis atoms, one at the corner and one at +the center of the cube. A fcc lattice has 4 basis atoms, one at the +corner and 3 at the cube face centers. A hcp lattice has 4 basis +atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A diamond +lattice has 8 basis atoms. +

    +

    Lattices of style sq and sq2 are 2d lattices that define a square unit cell with edge length = 1.0. This means a1 = 1 0 0 and a2 = 0 1 -0. A sq lattice has 1 basis atom at the lower-left corner of the -square. A sq2 lattice has 2 basis atoms, one at the corner and one -at the center of the square. A hex style is also a 2d lattice, but +0. A sq lattice has 1 basis atom at the lower-left corner of the +square. A sq2 lattice has 2 basis atoms, one at the corner and one +at the center of the square. A hex style is also a 2d lattice, but the unit cell is rectangular, with a1 = 1 0 0 and a2 = 0 sqrt(3) 0. It has 2 basis atoms, one at the corner and one at the center of the -rectangle.

    -

    A lattice of style custom allows you to specify a1, a2, a3, and a +rectangle. +

    +

    A lattice of style custom allows you to specify a1, a2, a3, and a list of basis atoms to put in the unit cell. By default, a1 and a2 and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you can specify them to be of any length and non-orthogonal to each other, -so that they describe a tilted parallelepiped. Via the basis +so that they describe a tilted parallelepiped. Via the basis keyword you add atoms, one at a time, to the unit cell. Its arguments -are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector +are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector x of a basis atom within the unit cell is thus a linear combination of -the the unit cell’s 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, -where bx,by,bz are the 3 values specified for the basis keyword.

    -
    -

    This sub-section discusses the arguments that determine how the +the the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, +where bx,by,bz are the 3 values specified for the basis keyword. +

    +
    + +

    This sub-section discusses the arguments that determine how the idealized unit cell is transformed into a lattice of points within the -simulation box.

    -

    The scale argument determines how the size of the unit cell will be +simulation box. +

    +

    The scale argument determines how the size of the unit cell will be scaled when mapping it into the simulation box. I.e. it determines a multiplicative factor to apply to the unit cell, to convert it to a lattice of the desired size and distance units in the simulation box. -The meaning of the scale argument depends on the units -being used in your simulation.

    -

    For all unit styles except lj, the scale argument is specified in -the distance units defined by the unit style. For example, in real -or metal units, if the unit cell is a unit cube with edge length +The meaning of the scale argument depends on the units +being used in your simulation. +

    +

    For all unit styles except lj, the scale argument is specified in +the distance units defined by the unit style. For example, in real +or metal units, if the unit cell is a unit cube with edge length 1.0, specifying scale = 3.52 would create a cubic lattice with a -spacing of 3.52 Angstroms. In cgs units, the spacing would be 3.52 -cm.

    -

    For unit style lj, the scale argument is the Lennard-Jones reduced +spacing of 3.52 Angstroms. In cgs units, the spacing would be 3.52 +cm. +

    +

    For unit style lj, the scale argument is the Lennard-Jones reduced density, typically written as rho*. LAMMPS converts this value into -the multiplicative factor via the formula “factor^dim = rho/rho*”, +the multiplicative factor via the formula "factor^dim = rho/rho*", where rho = N/V with V = the volume of the lattice unit cell and N = the number of basis atoms in the unit cell (described below), and dim = 2 or 3 for the dimensionality of the simulation. Effectively, this means that if LJ particles of size sigma = 1.0 are used in the simulation, the lattice of particles will be at the desired reduced -density.

    -

    The origin option specifies how the unit cell will be shifted or +density. +

    +

    The origin option specifies how the unit cell will be shifted or translated when mapping it into the simulation box. The x,y,z values -are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice +are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice by a fraction of the lattice spacing in each dimension. The meaning -of “lattice spacing” is discussed below.

    -

    The orient option specifies how the unit cell will be rotated when -mapping it into the simulation box. The dim argument is one of the +of "lattice spacing" is discussed below. +

    +

    The orient option specifies how the unit cell will be rotated when +mapping it into the simulation box. The dim argument is one of the 3 coordinate axes in the simulation box. The other 3 arguments are the crystallographic direction in the lattice that you want to orient -along that axis, specified as integers. E.g. “orient x 2 1 0” means +along that axis, specified as integers. E.g. "orient x 2 1 0" means the x-axis in the simulation box will be the [210] lattice direction, and similarly for y and z. The 3 lattice directions you specify do not have to be unit vectors, but they must be mutually orthogonal and obey the right-hand rule, i.e. (X cross Y) points in -the Z direction.

    -
    -

    Warning

    -

    The preceding paragraph describing lattice directions +the Z direction. +

    +

    IMPORTANT NOTE: The preceding paragraph describing lattice directions is only valid for orthogonal cubic unit cells (or square in 2d). If -you are using a hcp or hex lattice or the more general lattice -style custom with non-orthogonal a1,a2,a3 vectors, then you should -think of the 3 orient vectors as creating a 3x3 rotation matrix +you are using a hcp or hex lattice or the more general lattice +style custom with non-orthogonal a1,a2,a3 vectors, then you should +think of the 3 orient vectors as creating a 3x3 rotation matrix which is applied to a1,a2,a3 to rotate the original unit cell to a new -orientation in the simulation box.

    -
    -
    -

    Several LAMMPS commands have the option to use distance units that are -inferred from “lattice spacings” in the x,y,z box directions. -E.g. the region command can create a block of size -10x20x20, where 10 means 10 lattice spacings in the x direction.

    -
    -

    Warning

    -

    Though they are called lattice spacings, all the -commands that have a “units lattice” option, simply use the 3 values +orientation in the simulation box. +

    +
    + +

    Several LAMMPS commands have the option to use distance units that are +inferred from "lattice spacings" in the x,y,z box directions. +E.g. the region command can create a block of size +10x20x20, where 10 means 10 lattice spacings in the x direction. +

    +

    IMPORTANT NOTE: Though they are called lattice spacings, all the +commands that have a "units lattice" option, simply use the 3 values as scale factors on the distance units defined by the -units command. Thus if you do not like the lattice +units command. Thus if you do not like the lattice spacings computed by LAMMPS (e.g. for a non-orthogonal or rotated unit cell), you can define the 3 values to be whatever you wish, via the -spacing option.

    -
    -

    If the spacing option is not specified, the lattice spacings are +spacing option. +

    +

    If the spacing option is not specified, the lattice spacings are computed by LAMMPS in the following way. A unit cell of the lattice is mapped into the simulation box (scaled and rotated), so that it now has (perhaps) a modified size and orientation. The lattice spacing in X is defined as the difference between the min/max extent of the x coordinates of the 8 corner points of the modified unit cell (4 in 2d). Similarly, the Y and Z lattice spacings are defined as the -difference in the min/max of the y and z coordinates.

    -

    Note that if the unit cell is orthogonal with axis-aligned edges (no -rotation via the orient keyword), then the lattice spacings in each +difference in the min/max of the y and z coordinates. +

    +

    Note that if the unit cell is orthogonal with axis-aligned edges (no +rotation via the orient keyword), then the lattice spacings in each dimension are simply the scale factor (described above) multiplied by -the length of a1,a2,a3. Thus a hex style lattice with a scale +the length of a1,a2,a3. Thus a hex style lattice with a scale factor of 3.0 Angstroms, would have a lattice spacing of 3.0 in x and -3*sqrt(3.0) in y.

    -
    -

    Warning

    -

    For non-orthogonal unit cells and/or when a rotation -is applied via the orient keyword, then the lattice spacings +3*sqrt(3.0) in y. +

    +

    IMPORTANT NOTE: For non-orthogonal unit cells and/or when a rotation +is applied via the orient keyword, then the lattice spacings computed by LAMMPS are typically less intuitive. In particular, in these cases, there is no guarantee that a particular lattice spacing is an integer multiple of the periodicity of the lattice in that direction. Thus, if you create an orthogonal periodic simulation box whose size in a dimension is a multiple of the lattice spacing, and -then fill it with atoms via the create_atoms +then fill it with atoms via the create_atoms command, you will NOT necessarily create a periodic system. -I.e. atoms may overlap incorrectly at the faces of the simulation box.

    -
    -

    The spacing option sets the 3 lattice spacings directly. All must +I.e. atoms may overlap incorrectly at the faces of the simulation box. +

    +

    The spacing option sets the 3 lattice spacings directly. All must be non-zero (use 1.0 for dz in a 2d simulation). The specified values are multiplied by the multiplicative factor described above that is associated with the scale factor. Thus a spacing of 1.0 means one unit cell edge length independent of the scale factor. As mentioned above, this option can be useful if the spacings LAMMPS computes are inconvenient to use in subsequent commands, which can be the case for -non-orthogonal or rotated lattices.

    -

    Note that whenever the lattice command is used, the values of the +non-orthogonal or rotated lattices. +

    +

    Note that whenever the lattice command is used, the values of the lattice spacings LAMMPS calculates are printed out. Thus their effect -in commands that use the spacings should be decipherable.

    -
    -
    -
    -

    Restrictions¶

    -

    The a1,a2,a3,basis keywords can only be used with style custom.

    -
    - -
    -

    Default¶

    -
    lattice none 1.0
    -
    -
    -

    For other lattice styles, the option defaults are origin = 0.0 0.0 +in commands that use the spacings should be decipherable. +

    +
    + +

    Restrictions: +

    +

    The a1,a2,a3,basis keywords can only be used with style custom. +

    +

    Related commands: +

    +

    dimension, create_atoms, +region +

    +

    Default: +

    +
    lattice none 1.0 
    +
    +

    For other lattice styles, the option defaults are origin = 0.0 0.0 0.0, orient = x 1 0 0, orient = y 0 1 0, orient = z 0 0 1, a1 = 1 0 0, -a2 = 0 1 0, and a3 = 0 0 1.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a2 = 0 1 0, and a3 = 0 0 1. +

    + diff --git a/doc/log.html b/doc/log.html index 02062b34a6..e583a10ea3 100644 --- a/doc/log.html +++ b/doc/log.html @@ -1,235 +1,51 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - log command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    log command¶

    -
    -

    Syntax¶

    -
    log file keyword
    -
    -
    -
      -
    • file = name of new logfile
    • -
    • keyword = append if output should be appended to logfile (optional)
    • -
    -
    -
    -

    Examples¶

    -
    log log.equil
    -log log.equil append
    -
    -
    -
    -
    -

    Description¶

    -

    This command closes the current LAMMPS log file, opens a new file with + + +


    + +

    log command +

    +

    Syntax: +

    +
    log file keyword 
    +
    +
    • file = name of new logfile +
    • keyword = append if output should be appended to logfile (optional) +
    +

    Examples: +

    +
    log log.equil
    +log log.equil append 
    +
    +

    Description: +

    +

    This command closes the current LAMMPS log file, opens a new file with the specified name, and begins logging information to it. If the -specified file name is none, then no new log file is opened. If the -optional keyword append is specified, then output will be appended -to an existing log file, instead of overwriting it.

    -

    If multiple processor partitions are being used, the file name should +specified file name is none, then no new log file is opened. If the +optional keyword append is specified, then output will be appended +to an existing log file, instead of overwriting it. +

    +

    If multiple processor partitions are being used, the file name should be a variable, so that different processors do not attempt to write to -the same log file.

    -

    The file “log.lammps” is the default log file for a LAMMPS run. The +the same log file. +

    +

    The file "log.lammps" is the default log file for a LAMMPS run. The name of the initial log file can also be set by the command-line -switch -log. See Section_start 6 for -details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -
    -
    -

    Default¶

    -

    The default LAMMPS log file is named log.lammps

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +switch -log. See Section_start 6 for +details. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: +

    +

    The default LAMMPS log file is named log.lammps +

    + diff --git a/doc/mass.html b/doc/mass.html index f9d8533e20..1fa0e43775 100644 --- a/doc/mass.html +++ b/doc/mass.html @@ -1,262 +1,89 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - mass command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    mass command¶

    -
    -

    Syntax¶

    -
    mass I value
    -
    -
    -
      -
    • I = atom type (see asterisk form below)
    • -
    • value = mass
    • -
    -
    -
    -

    Examples¶

    -
    mass 1 1.0
    +
    +
    +
    + +

    mass command +

    +

    Syntax: +

    +
    mass I value 
    +
    +
    • I = atom type (see asterisk form below) +
    • value = mass +
    +

    Examples: +

    +
    mass 1 1.0
     mass * 62.5
    -mass 2* 62.5
    -
    -
    -
    -
    -

    Description¶

    -

    Set the mass for all atoms of one or more atom types. Per-type mass -values can also be set in the read_data data file -using the “Masses” keyword. See the units command for -what mass units to use.

    -

    The I index can be specified in one of two ways. An explicit numeric +mass 2* 62.5 + +

    Description: +

    +

    Set the mass for all atoms of one or more atom types. Per-type mass +values can also be set in the read_data data file +using the "Masses" keyword. See the units command for +what mass units to use. +

    +

    The I index can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the mass for multiple atom types. This -takes the form “*” or “n” or “n” or “m*n”. If N = the number of +takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive).

    -

    A line in a data file that follows the “Masses” +(inclusive). +

    +

    A line in a data file that follows the "Masses" keyword specifies mass using the same format as the arguments of the mass command in an input script, except that no wild-card asterisk can -be used. For example, under the “Masses” section of a data file, the -line that corresponds to the 1st example above would be listed as

    -
    1 1.0
    -
    -
    -

    Note that the mass command can only be used if the atom style requires per-type atom mass to be set. -Currently, all but the sphere and ellipsoid and peri styles do. +be used. For example, under the "Masses" section of a data file, the +line that corresponds to the 1st example above would be listed as +

    +
    1 1.0 
    +
    +

    Note that the mass command can only be used if the atom +style requires per-type atom mass to be set. +Currently, all but the sphere and ellipsoid and peri styles do. They require mass to be set for individual particles, not types. Per-atom masses are defined in the data file read by the -read_data command, or set to default values by the -create_atoms command. Per-atom masses can also be -set to new values by the set mass or set density -commands.

    -

    Also note that pair_style eam and pair_style bop commands define the masses of atom types in their +read_data command, or set to default values by the +create_atoms command. Per-atom masses can also be +set to new values by the set mass or set density +commands. +

    +

    Also note that pair_style eam and pair_style +bop commands define the masses of atom types in their respective potential files, in which case the mass command is normally -not used.

    -

    If you define a hybrid atom style which includes one +not used. +

    +

    If you define a hybrid atom style which includes one (or more) sub-styles which require per-type mass and one (or more) sub-styles which require per-atom mass, then you must define both. However, in this case the per-type mass will be ignored; only the -per-atom mass will be used by LAMMPS.

    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -

    All masses must be defined before a simulation is run. They must also -all be defined before a velocity or fix shake command is used.

    -

    The mass assigned to any type or atom must be > 0.0.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +per-atom mass will be used by LAMMPS. +

    +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    All masses must be defined before a simulation is run. They must also +all be defined before a velocity or fix +shake command is used. +

    +

    The mass assigned to any type or atom must be > 0.0. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/min_modify.html b/doc/min_modify.html index 3ae9dac98f..d9298f9b69 100644 --- a/doc/min_modify.html +++ b/doc/min_modify.html @@ -1,266 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - min_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    min_modify command¶

    -
    -

    Syntax¶

    -
    min_modify keyword values ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be listed
    • -
    -
    -keyword = dmax or line
    -  dmax value = max
    +
    +
    +
    + +

    min_modify command +

    +

    Syntax: +

    +
    min_modify keyword values ... 
    +
    +
    • one or more keyword/value pairs may be listed + +
      keyword = dmax or line
      +  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
      -
      -
    -
    -

    Examples¶

    -
    min_modify dmax 0.2
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets parameters that affect the energy minimization -algorithms selected by the min_style command. The + line value = backtrack or quadratic or forcezero + backtrack,quadratic,forcezero = style of linesearch to use + + + +

    Examples: +

    +
    min_modify dmax 0.2 
    +
    +

    Description: +

    +

    This command sets parameters that affect the energy minimization +algorithms selected by the min_style command. The various settings may affect the convergence rate and overall number of force evaluations required by a minimization, so users can experiment -with these parameters to tune their minimizations.

    -

    The cg and sd minimization styles have an outer iteration and an +with these parameters to tune their minimizations. +

    +

    The cg and sd minimization styles have an outer iteration and an inner iteration which is steps along a one-dimensional line search in -a particular search direction. The dmax parameter is how far any +a particular search direction. The dmax parameter is how far any atom can move in a single line search in any dimension (x, y, or z). -For the quickmin and fire minimization styles, the dmax setting +For the quickmin and fire minimization styles, the dmax setting is how far any atom can move in a single iteration (timestep). Thus a -value of 0.1 in real units means no atom will move +value of 0.1 in real units means no atom will move further than 0.1 Angstroms in a single outer iteration. This prevents highly overlapped atoms from being moved long distances (e.g. through -another atom) due to large forces.

    -

    The choice of line search algorithm for the cg and sd minimization -styles can be selected via the line keyword. -The default quadratic line search algorithm starts out using +another atom) due to large forces. +

    +

    The choice of line search algorithm for the cg and sd minimization +styles can be selected via the line keyword. +The default quadratic line search algorithm starts out using the robust backtracking method described below. However, once the system gets close to a local minimum and the linesearch steps get small, so that the energy -is approximately quadratic in the step length, it uses the +is approximately quadratic in the step length, it uses the estimated location of zero gradient as the linesearch step, -provided the energy change is downhill. +provided the energy change is downhill. This becomes more efficient than backtracking -for highly-converged relaxations. The forcezero -line search algorithm is similar to quadratic. -It may be more efficient than quadratic on some systems.

    -

    The backtracking search is robust and should always find a local energy -minimum. However, it will “converge” when it can no longer reduce the +for highly-converged relaxations. The forcezero +line search algorithm is similar to quadratic. +It may be more efficient than quadratic on some systems. +

    +

    The backtracking search is robust and should always find a local energy +minimum. However, it will "converge" when it can no longer reduce the energy of the system. Individual atom forces may still be larger than desired at this point, because the energy change is measured as the difference of two large values (energy before and energy after) and that difference may be smaller than machine epsilon even if atoms -could move in the gradient direction to reduce forces further.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are dmax = 0.1 and line = quadratic.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +could move in the gradient direction to reduce forces further. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    min_style, minimize +

    +

    Default: +

    +

    The option defaults are dmax = 0.1 and line = quadratic. +

    + diff --git a/doc/min_style.html b/doc/min_style.html index 6a08b673e9..740ca261e1 100644 --- a/doc/min_style.html +++ b/doc/min_style.html @@ -1,284 +1,104 @@ + +
    LAMMPS WWW Page - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - min_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    min_style command¶

    -
    -

    Syntax¶

    -
    min_style style
    -
    -
    -
      -
    • style = cg or hftn or sd or quickmin or fire
    • -
    -
    -
    -

    Examples¶

    -
    min_style cg
    -min_style fire
    -
    -
    -
    -
    -

    Description¶

    -

    Choose a minimization algorithm to use when a minimize -command is performed.

    -

    Style cg is the Polak-Ribiere version of the conjugate gradient (CG) + + +


    + +

    min_style command +

    +

    Syntax: +

    +
    min_style style 
    +
    +
    • style = cg or hftn or sd or quickmin or fire +
    +

    Examples: +

    +
    min_style cg
    +min_style fire 
    +
    +

    Description: +

    +

    Choose a minimization algorithm to use when a minimize +command is performed. +

    +

    Style cg is the Polak-Ribiere version of the conjugate gradient (CG) algorithm. At each iteration the force gradient is combined with the previous iteration information to compute a new search direction perpendicular (conjugate) to the previous search direction. The PR variant affects how the direction is chosen and how the CG method is restarted when it ceases to make progress. The PR variant is thought -to be the most effective CG choice for most problems.

    -

    Style hftn is a Hessian-free truncated Newton algorithm. At each +to be the most effective CG choice for most problems. +

    +

    Style hftn is a Hessian-free truncated Newton algorithm. At each iteration a quadratic model of the energy potential is solved by a conjugate gradient inner iteration. The Hessian (second derivatives) of the energy is not formed directly, but approximated in each conjugate search direction by a finite difference directional derivative. When close to an energy minimum, the algorithm behaves like a Newton method and exhibits a quadratic convergence rate to high -accuracy. In most cases the behavior of hftn is similar to cg, -but it offers an alternative if cg seems to perform poorly. This -style is not affected by the min_modify command.

    -

    Style sd is a steepest descent algorithm. At each iteration, the +accuracy. In most cases the behavior of hftn is similar to cg, +but it offers an alternative if cg seems to perform poorly. This +style is not affected by the min_modify command. +

    +

    Style sd is a steepest descent algorithm. At each iteration, the search direction is set to the downhill direction corresponding to the force vector (negative gradient of energy). Typically, steepest descent will not converge as quickly as CG, but may be more robust in -some situations.

    -

    Style quickmin is a damped dynamics method described in -(Sheppard), where the damping parameter is related to the +some situations. +

    +

    Style quickmin is a damped dynamics method described in +(Sheppard), where the damping parameter is related to the projection of the velocity vector along the current force vector for each atom. The velocity of each atom is initialized to 0.0 by this -style, at the beginning of a minimization.

    -

    Style fire is a damped dynamics method described in -(Bitzek), which is similar to quickmin but adds a variable +style, at the beginning of a minimization. +

    +

    Style fire is a damped dynamics method described in +(Bitzek), which is similar to quickmin but adds a variable timestep and alters the projection operation to maintain components of 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.

    -

    Either the quickmin and fire styles are useful in the context of -nudged elastic band (NEB) calculations via the neb command.

    -
    -

    Warning

    -

    The damped dynamic minimizers use whatever timestep -you have defined via the timestep command. Often they +a minimization. +

    +

    Either the quickmin and fire styles are useful in the context of +nudged elastic band (NEB) calculations via the neb command. +

    +

    IMPORTANT NOTE: The damped dynamic minimizers use whatever timestep +you have defined via the timestep command. Often they will converge more quickly if you use a timestep about 10x larger than -you would normally use for dynamics simulations.

    -
    -
    -

    Warning

    -

    The quickmin and fire styles do not yet support -the use of the fix box/relax command or -minimizations involving the electron radius in eFF -models.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -
    min_style cg
    -
    -
    -
    -

    (Sheppard) Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 +you would normally use for dynamics simulations. +

    +

    IMPORTANT NOTE: The quickmin and fire styles do not yet support +the use of the fix box/relax command or +minimizations involving the electron radius in eFF +models. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    min_modify, minimize, neb +

    +

    Default: +

    +
    min_style cg 
    +
    +
    + + + +

    (Sheppard) Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 (2008). See ref 1 in this paper for original reference to Qmin in -Jonsson, Mills, Jacobsen.

    -

    (Bitzek) Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, -97, 170201 (2006).

    -
    -
    +Jonsson, Mills, Jacobsen. +

    + - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bitzek) Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, +97, 170201 (2006). +

    + diff --git a/doc/minimize.html b/doc/minimize.html index 1077778dfa..16f8be7b46 100644 --- a/doc/minimize.html +++ b/doc/minimize.html @@ -1,430 +1,279 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - minimize command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    minimize command¶

    -
    -

    Syntax¶

    -
    minimize etol ftol maxiter maxeval
    -
    -
    -
      -
    • etol = stopping tolerance for energy (unitless)
    • -
    • ftol = stopping tolerance for force (force units)
    • -
    • maxiter = max iterations of minimizer
    • -
    • maxeval = max number of force/energy evaluations
    • -
    -
    -
    -

    Examples¶

    -
    minimize 1.0e-4 1.0e-6 100 1000
    -minimize 0.0 1.0e-8 1000 100000
    -
    -
    -
    -
    -

    Description¶

    -

    Perform an energy minimization of the system, by iteratively adjusting + + +


    + +

    minimize command +

    +

    Syntax: +

    +
    minimize etol ftol maxiter maxeval 
    +
    +
    • etol = stopping tolerance for energy (unitless) +
    • ftol = stopping tolerance for force (force units) +
    • maxiter = max iterations of minimizer +
    • maxeval = max number of force/energy evaluations +
    +

    Examples: +

    +
    minimize 1.0e-4 1.0e-6 100 1000
    +minimize 0.0 1.0e-8 1000 100000 
    +
    +

    Description: +

    +

    Perform an energy minimization of the system, by iteratively adjusting atom coordinates. Iterations are terminated when one of the stopping criteria is satisfied. At that point the configuration will hopefully be in local potential energy minimum. More precisely, the configuration should approximate a critical point for the objective -function (see below), which may or may not be a local minimum.

    -

    The minimization algorithm used is set by the -min_style command. Other options are set by the -min_modify command. Minimize commands can be -interspersed with run commands to alternate between +function (see below), which may or may not be a local minimum. +

    +

    The minimization algorithm used is set by the +min_style command. Other options are set by the +min_modify command. Minimize commands can be +interspersed with run commands to alternate between relaxation and dynamics. The minimizers bound the distance atoms move in one iteration, so that you can relax systems with highly overlapped atoms (large energies and forces) by pushing the atoms off of each -other.

    -

    Alternate means of relaxing a system are to run dynamics with a small -or limited timestep. Or dynamics can be run -using fix viscous to impose a damping force that -slowly drains all kinetic energy from the system. The pair_style soft potential can be used to un-overlap atoms while -running dynamics.

    -

    Note that you can minimize some atoms in the system while holding the -coordiates of other atoms fixed by applying fix setforce to the other atoms. See a fuller -discussion of using fixes while minimizing below.

    -

    The minimization styles cg, sd, and hftn +other. +

    +

    Alternate means of relaxing a system are to run dynamics with a small +or limited timestep. Or dynamics can be run +using fix viscous to impose a damping force that +slowly drains all kinetic energy from the system. The pair_style +soft potential can be used to un-overlap atoms while +running dynamics. +

    +

    Note that you can minimize some atoms in the system while holding the +coordiates of other atoms fixed by applying fix +setforce to the other atoms. See a fuller +discussion of using fixes while minimizing below. +

    +

    The minimization styles cg, sd, and hftn involves an outer iteration loop which sets the search direction along which atom coordinates are changed. An inner iteration is then performed using a line search algorithm. The line search typically evaluates forces and energies several times to set new coordinates. Currently, a backtracking algorithm is used which may not be optimal in terms of the number of force evaulations performed, but appears to -be more robust than previous line searches we’ve tried. The -backtracking method is described in Nocedal and Wright’s Numerical -Optimization (Procedure 3.1 on p 41).

    -

    The minimization styles quickmin and fire perform +be more robust than previous line searches we've tried. The +backtracking method is described in Nocedal and Wright's Numerical +Optimization (Procedure 3.1 on p 41). +

    +

    The minimization styles quickmin and fire perform damped dynamics using an Euler integration step. Thus they require a -timestep be defined.

    -
    -

    Warning

    -

    The damped dynamic minimizers use whatever timestep -you have defined via the timestep command. Often they +timestep be defined. +

    +

    IMPORTANT NOTE: The damped dynamic minimizers use whatever timestep +you have defined via the timestep command. Often they will converge more quickly if you use a timestep about 10x larger than -you would normally use for dynamics simulations.

    -
    -
    -

    In all cases, the objective function being minimized is the total +you would normally use for dynamics simulations. +

    +
    + +

    In all cases, the objective function being minimized is the total potential energy of the system as a function of the N atom -coordinates:

    -_images/min_energy.jpg -

    where the first term is the sum of all non-bonded pairwise interactions including long-range Coulombic interactions, the 2nd thru 5th terms are -bond, angle, -dihedral, and improper +coordinates: +

    +
    +
    +

    where the first term is the sum of all non-bonded pairwise +interactions including long-range Coulombic +interactions, the 2nd thru 5th terms are +bond, angle, +dihedral, and improper interactions respectively, and the last term is energy due to -fixes which can act as constraints or apply force to atoms, +fixes which can act as constraints or apply force to atoms, such as thru interaction with a wall. See the discussion below about -how fix commands affect minimization.

    -

    The starting point for the minimization is the current configuration -of the atoms.

    -
    -

    The minimization procedure stops if any of several criteria are met:

    -
      -
    • the change in energy between outer iterations is less than etol
    • -
    • the 2-norm (length) of the global force vector is less than the ftol
    • -
    • the line search fails because the step distance backtracks to 0.0
    • -
    • the number of outer iterations or timesteps exceeds maxiter
    • -
    • the number of total force evaluations exceeds maxeval
    • -
    -

    For the first criterion, the specified energy tolerance etol is +how fix commands affect minimization. +

    +

    The starting point for the minimization is the current configuration +of the atoms. +

    +
    + +

    The minimization procedure stops if any of several criteria are met: +

    +
    • the change in energy between outer iterations is less than etol +
    • the 2-norm (length) of the global force vector is less than the ftol +
    • the line search fails because the step distance backtracks to 0.0 +
    • the number of outer iterations or timesteps exceeds maxiter +
    • the number of total force evaluations exceeds maxeval +
    +

    For the first criterion, the specified energy tolerance etol is unitless; it is met when the energy change between successive iterations divided by the energy magnitude is less than or equal to -the tolerance. For example, a setting of 1.0e-4 for etol means an +the tolerance. For example, a setting of 1.0e-4 for etol means an energy tolerance of one part in 10^4. For the damped dynamics minimizers this check is not performed for a few steps after velocities are reset to 0, otherwise the minimizer would prematurely -converge.

    -

    For the second criterion, the specified force tolerance ftol is in +converge. +

    +

    For the second criterion, the specified force tolerance ftol is in force units, since it is the length of the global force vector for all atoms, e.g. a vector of size 3N for N atoms. Since many of the components will be near zero after minimization, you can think of -ftol as an upper bound on the final force on any component of any -atom. For example, a setting of 1.0e-4 for ftol means no x, y, or z +ftol as an upper bound on the final force on any component of any +atom. For example, a setting of 1.0e-4 for ftol means no x, y, or z component of force on any atom will be larger than 1.0e-4 (in force -units) after minimization.

    -

    Either or both of the etol and ftol values can be set to 0.0, in -which case some other criterion will terminate the minimization.

    -

    During a minimization, the outer iteration count is treated as a +units) after minimization. +

    +

    Either or both of the etol and ftol values can be set to 0.0, in +which case some other criterion will terminate the minimization. +

    +

    During a minimization, the outer iteration count is treated as a timestep. Output is triggered by this timestep, e.g. thermodynamic -output or dump and restart files.

    -

    Using the thermo_style custom command with the -fmax or fnorm keywords can be useful for monitoring the progress +output or dump and restart files. +

    +

    Using the thermo_style custom command with the +fmax or fnorm keywords can be useful for monitoring the progress of the minimization. Note that these outputs will be calculated only from forces on the atoms, and will not include any extra degrees of -freedom, such as from the fix box/relax command.

    -

    Following minimization, a statistical summary is printed that lists +freedom, such as from the fix box/relax command. +

    +

    Following minimization, a statistical summary is printed that lists which convergence criterion caused the minimizer to stop, as well as information about the energy, force, final line search, and -iteration counts. An example is as follows:

    -
    Minimization stats:
    +iteration counts.  An example is as follows:
    +

    +
    Minimization stats:
       Stopping criterion = max iterations
    -  Energy initial, next-to-last, final =
    +  Energy initial, next-to-last, final = 
            -0.626828169302     -2.82642039062     -2.82643549739
       Force two-norm initial, final = 2052.1 91.9642
       Force max component initial, final = 346.048 9.78056
       Final line search alpha, max atom move = 2.23899e-06 2.18986e-05
    -  Iterations, force evaluations = 2000 12724
    -
    -
    -

    The 3 energy values are for before and after the minimization and on -the next-to-last iteration. This is what the etol parameter checks.

    -

    The two-norm force values are the length of the global force vector -before and after minimization. This is what the ftol parameter -checks.

    -

    The max-component force values are the absolute value of the largest + Iterations, force evaluations = 2000 12724 + +

    The 3 energy values are for before and after the minimization and on +the next-to-last iteration. This is what the etol parameter checks. +

    +

    The two-norm force values are the length of the global force vector +before and after minimization. This is what the ftol parameter +checks. +

    +

    The max-component force values are the absolute value of the largest component (x,y,z) in the global force vector, i.e. the infinity-norm -of the force vector.

    -

    The alpha parameter for the line-search, when multiplied by the max +of the force vector. +

    +

    The alpha parameter for the line-search, when multiplied by the max force component (on the last iteration), gives the max distance any atom moved during the last iteration. Alpha will be 0.0 if the line search could not reduce the energy. Even if alpha is non-zero, if the -“max atom move” distance is tiny compared to typical atom coordinates, +"max atom move" distance is tiny compared to typical atom coordinates, then it is possible the last iteration effectively caused no atom movement and thus the evaluated energy did not change and the minimizer terminated. Said another way, even with non-zero forces, -it’s possible the effect of those forces is to move atoms a distance +it's possible the effect of those forces is to move atoms a distance less than machine precision, so that the energy cannot be further -reduced.

    -

    The iterations and force evaluation values are what is checked by the -maxiter and maxeval parameters.

    -
    -
    -

    Warning

    -

    There are several force fields in LAMMPS which have +reduced. +

    +

    The iterations and force evaluation values are what is checked by the +maxiter and maxeval parameters. +

    +
    + +

    IMPORTANT NOTE: There are several force fields in LAMMPS which have discontinuities or other approximations which may prevent you from performing an energy minimization to high tolerances. For example, -you should use a pair style that goes to 0.0 at the +you should use a pair style that goes to 0.0 at the cutoff distance when performing minimization (even if you later change it when running dynamics). If you do not do this, the total energy of the system will have discontinuities when the relative distance between any pair of atoms changes from cutoff+epsilon to cutoff-epsilon and the minimizer may behave poorly. Some of the manybody potentials use splines and other internal cutoffs that -inherently have this problem. The long-range Coulombic styles (PPPM, Ewald) are approximate to within the +inherently have this problem. The long-range Coulombic +styles (PPPM, Ewald) are approximate to within the user-specified tolerance, which means their energy and forces may not agree to a higher precision than the Kspace-specified tolerance. In all these cases, the minimizer may give up and stop before finding a -minimum to the specified energy or force tolerance.

    -
    -

    Note that a cutoff Lennard-Jones potential (and others) can be shifted +minimum to the specified energy or force tolerance. +

    +

    Note that a cutoff Lennard-Jones potential (and others) can be shifted so that its energy is 0.0 at the cutoff via the -pair_modify command. See the doc pages for -inidividual pair styles for details. Note that +pair_modify command. See the doc pages for +inidividual pair styles for details. Note that Coulombic potentials always have a cutoff, unless versions with a -long-range component are used (e.g. pair_style lj/cut/coul/long). The CHARMM potentials go to 0.0 at -the cutoff (e.g. pair_style lj/charmm/coul/charmm), -as do the GROMACS potentials (e.g. pair_style lj/gromacs).

    -

    If a soft potential (pair_style soft) is used the -Astop value is used for the prefactor (no time dependence).

    -

    The fix box/relax command can be used to apply an +long-range component are used (e.g. pair_style +lj/cut/coul/long). The CHARMM potentials go to 0.0 at +the cutoff (e.g. pair_style lj/charmm/coul/charmm), +as do the GROMACS potentials (e.g. pair_style +lj/gromacs). +

    +

    If a soft potential (pair_style soft) is used the +Astop value is used for the prefactor (no time dependence). +

    +

    The fix box/relax command can be used to apply an external pressure to the simulation box and allow it to shrink/expand -during the minimization.

    -

    Only a few other fixes (typically those that apply force constraints) +during the minimization. +

    +

    Only a few other fixes (typically those that apply force constraints) are invoked during minimization. See the doc pages for individual -fix commands to see which ones are relevant. Current -examples of fixes that can be used include:

    - -
    -

    Warning

    -

    Some fixes which are invoked during minimization have +fix commands to see which ones are relevant. Current +examples of fixes that can be used include: +

    + +

    IMPORTANT NOTE: Some fixes which are invoked during minimization have an associated potential energy. For that energy to be included in the total potential energy of the system (the quantity being minimized), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done.

    -
    -
    -
    -
    -

    Restrictions¶

    -

    Features that are not yet implemented are listed here, in case someone -knows how they could be coded:

    -

    It is an error to use fix shake with minimization +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done. +

    +
    + +

    Restrictions: +

    +

    Features that are not yet implemented are listed here, in case someone +knows how they could be coded: +

    +

    It is an error to use fix shake with minimization because it turns off bonds that should be included in the potential energy of the system. The effect of a fix shake can be approximated during a minimization by using stiff spring constants for the bonds and/or angles that would normally be constrained by the SHAKE -algorithm.

    -

    Fix rigid is also not supported by minimization. It +algorithm. +

    +

    Fix rigid is also not supported by minimization. It is not an error to have it defined, but the energy minimization will not keep the defined body(s) rigid during the minimization. Note that if bonds, angles, etc internal to a rigid body have been turned off -(e.g. via neigh_modify exclude), they will not +(e.g. via neigh_modify exclude), they will not contribute to the potential energy which is probably not what is -desired.

    -

    Pair potentials that produce torque on a particle (e.g. granular potentials or the GayBerne potential for ellipsoidal particles) are not +desired. +

    +

    Pair potentials that produce torque on a particle (e.g. granular +potentials or the GayBerne +potential for ellipsoidal particles) are not relaxed by a minimization. More specifically, radial relaxations are induced, but no rotations are induced by a minimization, so such a -system will not fully relax.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +system will not fully relax. +

    +

    Related commands: +

    +

    min_modify, min_style, +run_style +

    +

    Default: none +

    + diff --git a/doc/molecule.html b/doc/molecule.html index 76ffe8d40d..15f8df52c9 100644 --- a/doc/molecule.html +++ b/doc/molecule.html @@ -1,579 +1,444 @@ + +
    <LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - molecule command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    molecule command¶

    -
    -

    Syntax¶

    -
    molecule ID file1 file2 ... keyword values ...
    -
    -
    -
      -
    • ID = user-assigned name for the molecule template
    • -
    • file1,file2,... = names of files containing molecule descriptions
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = offset
    • -
    -
    -offset values = toff boff aoff doff ioff
    +
    +
    +
    + +

    molecule command +

    +

    Syntax: +

    +
    molecule ID file1 file2 ... keyword values ... 
    +
    +
    • ID = user-assigned name for the molecule template + +
    • file1,file2,... = names of files containing molecule descriptions + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = offset + +
        offset values = toff boff aoff doff ioff
           toff = offset to add to atom types
           boff = offset to add to bond types
           aoff = offset to add to angle types
           doff = offset to add to dihedral types
      -    ioff = offset to add to improper types
      -
      -
    -
    -

    Examples¶

    -
    molecule 1 mymol
    +    ioff = offset to add to improper types 
    +
    + + +

    Examples: +

    +
    molecule 1 mymol
     molecule 1 co2.txt h2o.txt
     molecule CO2 co2.txt
    -molecule 1 mymol offset 6 9 18 23 14
    -
    -
    -
    -
    -

    Description¶

    -

    Define a molecule template that can be used as part of other LAMMPS +molecule 1 mymol offset 6 9 18 23 14 + +

    Description: +

    +

    Define a molecule template that can be used as part of other LAMMPS commands, typically to define a collection of particles as a bonded molecule or a rigid body. Commands that currently use molecule -templates include:

    - -

    The ID of a molecule template can only contain alphanumeric characters -and underscores.

    -

    A single template can contain multiple molecules, listed one per file. +templates include: +

    + +

    The ID of a molecule template can only contain alphanumeric characters +and underscores. +

    +

    A single template can contain multiple molecules, listed one per file. Many of the commands listed above currently use only the first molecule in the template, and will issue a warning if the template -contains multiple molecules. The atom_style template command allows multiple-molecule templates -to define a system with more than one templated molecule.

    -

    The optional offset keyword adds the specified offset values to the +contains multiple molecules. The atom_style +template command allows multiple-molecule templates +to define a system with more than one templated molecule. +

    +

    The optional offset keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper -types as they are read from the molecule file. E.g. if toff = 2, +types as they are read from the molecule file. E.g. if toff = 2, and the file uses atom types 1,2,3, then each created molecule will have atom types 3,4,5. This is to make it easy to use the same molecule template file in different simulations. Note that the same offsets are applied to the molecules in all specified files. All five offset values must be speicified, but individual values will be ignored if the molecule template does not use that attribute (e.g. no -bonds).

    -
    -

    Warning

    -

    This command can be used to define molecules with +bonds). +

    +

    IMPORTANT NOTE: This command can be used to define molecules with bonds, angles, dihedrals, imporopers, or special bond lists of neighbors within a molecular topology, so that you can later add the molecules to your simulation, via one or more of the commands listed above. If such molecules do not already exist when LAMMPS creates the -simulation box, via the create_box or -read_data command, when you later add them you may +simulation box, via the create_box or +read_data command, when you later add them you may overflow the pre-allocated data structures which store molecular topology information with each atom, and an error will be generated. -Both the create_box command and the data files read -by the read_data command have “extra” options which +Both the create_box command and the data files read +by the read_data command have "extra" options which insure space is allocated for storing topology info for molecules that -are added later.

    -
    -

    The format of an individual molecule file is similar to the data file -read by the read_data commands, and is as follows.

    -

    A molecule file has a header and a body. The header appears first. +are added later. +

    +

    The format of an individual molecule file is similar to the data file +read by the read_data commands, and is as follows. +

    +

    A molecule file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with ‘#’ that is ignored. If the +can have a trailing comment starting with '#' that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn’t contain a header -keyword, the line begins the body of the file.

    -

    The body of the file contains zero or more sections. The first line +value(s) is read from the line. If it doesn't contain a header +keyword, the line begins the body of the file. +

    +

    The body of the file contains zero or more sections. The first line of a section has only a keyword. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can appear in any order, -with a few exceptions as noted below.

    -

    These are the recognized header keywords. Header lines can come in +with a few exceptions as noted below. +

    +

    These are the recognized header keywords. Header lines can come in any order. The numeric value(s) are read from the beginning of the line. The keyword should appear at the end of the line. All these settings have default values, as explained below. A line need only -appear if the value(s) are different than the default.

    -
      -
    • N atoms = # of atoms N in molecule, default = 0
    • -
    • Nb bonds = # of bonds Nb in molecule, default = 0
    • -
    • Na angles = # of angles Na in molecule, default = 0
    • -
    • Nd dihedrals = # of dihedrals Nd in molecule, default = 0
    • -
    • Ni impropers = # of impropers Ni in molecule, default = 0
    • -
    • Mtotal mass = total mass of molecule
    • -
    • Xc Yc Zc com = coordinates of center-of-mass of molecule
    • -
    • Ixx Iyy Izz Ixy Ixz Iyz inertia = 6 components of inertia tensor of molecule
    • -
    -

    For mass, com, and inertia, the default is for LAMMPS to +appear if the value(s) are different than the default. +

    +
    • N atoms = # of atoms N in molecule, default = 0 +
    • Nb bonds = # of bonds Nb in molecule, default = 0 +
    • Na angles = # of angles Na in molecule, default = 0 +
    • Nd dihedrals = # of dihedrals Nd in molecule, default = 0 +
    • Ni impropers = # of impropers Ni in molecule, default = 0 +
    • Mtotal mass = total mass of molecule +
    • Xc Yc Zc com = coordinates of center-of-mass of molecule +
    • Ixx Iyy Izz Ixy Ixz Iyz inertia = 6 components of inertia tensor of molecule +
    +

    For mass, com, and inertia, the default is for LAMMPS to calculate this quantity itself if needed, assuming the molecules consists of a set of point particles or finite-size particles (with a non-zero diameter) that do not overlap. If finite-size particles in the molecule do overlap, LAMMPS will not account for the overlap effects when calculating any of these 3 quantities, so you should -pre-compute them yourself and list the values in the file.

    -

    The mass and center-of-mass coordinates (Xc,Yc,Zc) are +pre-compute them yourself and list the values in the file. +

    +

    The mass and center-of-mass coordinates (Xc,Yc,Zc) are self-explanatory. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation -internally.

    -

    These are the allowed section keywords for the body of the file.

    -
      -
    • Coords, Types, Charges, Diameters, Masses = atom-property sections
    • -
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections
    • -
    • Special Bond Counts, Special Bonds = special neighbor info
    • -
    • Shake Flags, Shake Atoms, Shake Bond Types = SHAKE info
    • -
    -

    If a Bonds section is specified then the Special Bond Counts and +internally. +

    +

    These are the allowed section keywords for the body of the file. +

    +
    • Coords, Types, Charges, Diameters, Masses = atom-property sections +
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections +
    • Special Bond Counts, Special Bonds = special neighbor info +
    • Shake Flags, Shake Atoms, Shake Bond Types = SHAKE info +
    +

    If a Bonds section is specified then the Special Bond Counts and Special Bonds sections can also be used, if desired, to explicitly list the 1-2, 1-3, 1-4 neighbors within the molecule topology (see details below). This is optional since if these sections are not included, LAMMPS will auto-generate this information. Note that LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the -special_bonds command for more details. One +special_bonds command for more details. One reason to list the special bond info explicitly is for the -thermalized Drude oscillator model which treats +thermalized Drude oscillator model which treats the bonds between nuclear cores and Drude electrons in a different -manner.

    -
    -

    Warning

    -

    Whether a section is required depends on how the +manner. +

    +

    IMPORTANT NOTE: Whether a section is required depends on how the molecule template is used by other LAMMPS commands. For example, to -add a molecule via the fix deposit command, the +add a molecule via the fix deposit command, the Coords and Types sections are required. To add a rigid body via the -fix pour command, the Bonds (Angles, etc) sections are +fix pour command, the Bonds (Angles, etc) sections are not required, since the molecule will be treated as a rigid body. -Some sections are optional. For example, the fix pour -command can be used to add “molecules” which are clusters of +Some sections are optional. For example, the fix pour +command can be used to add "molecules" which are clusters of finite-size granular particles. If the Diameters section is not specified, each particle in the molecule will have a default diameter of 1.0. See the doc pages for LAMMPS commands that use molecule -templates for more details.

    -
    -

    Each section is listed below in alphabetic order. The format of each +templates for more details. +

    +

    Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and rules (if any) for whether it can appear in the data file. In each case the ID is ignored; it is simply included for readability, and should be a number from 1 to Nlines for the section, indicating which atom (or bond, etc) the entry applies to. The lines are assumed to be -listed in order from 1 to Nlines, but LAMMPS does not check for this.

    -
    -

    Coords section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID x y z
    • -
    • x,y,z = coordinate of atom
    • -
    -
    -

    Types section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID type
    • -
    • type = atom type of atom
    • -
    -
    -

    Charges section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID q
    • -
    • q = charge on atom
    • -
    -

    This section is only allowed for atom styles that +listed in order from 1 to Nlines, but LAMMPS does not check for this. +

    +
    + +

    Coords section: +

    +
    • one line per atom +
    • line syntax: ID x y z +
    • x,y,z = coordinate of atom +
    +
    + +

    Types section: +

    +
    • one line per atom +
    • line syntax: ID type +
    • type = atom type of atom +
    +
    + +

    Charges section: +

    +
    • one line per atom +
    • line syntax: ID q +
    • q = charge on atom +
    +

    This section is only allowed for atom styles that support charge. If this section is not included, the default charge -on each atom in the molecule is 0.0.

    -
    -

    Diameters section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID diam
    • -
    • diam = diameter of atom
    • -
    -

    This section is only allowed for atom styles that +on each atom in the molecule is 0.0. +

    +
    + +

    Diameters section: +

    +
    • one line per atom +
    • line syntax: ID diam +
    • diam = diameter of atom +
    +

    This section is only allowed for atom styles that support finite-size spherical particles, e.g. atom_style sphere. If -not listed, the default diameter of each atom in the molecule is 1.0.

    -
    -

    Masses section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID mass
    • -
    • mass = mass of atom
    • -
    -

    This section is only allowed for atom styles that +not listed, the default diameter of each atom in the molecule is 1.0. +

    +
    + +

    Masses section: +

    +
    • one line per atom +
    • line syntax: ID mass +
    • mass = mass of atom +
    +

    This section is only allowed for atom styles that support per-atom mass, as opposed to per-type mass. See the -mass command for details. If this section is not +mass command for details. If this section is not included, the default mass for each atom is derived from its volume (see Diameters section) and a default density of 1.0, in -units of mass/volume.

    -
    -

    Bonds section:

    -
      -
    • one line per bond
    • -
    • line syntax: ID type atom1 atom2
    • -
    • type = bond type (1-Nbondtype)
    • -
    • atom1,atom2 = IDs of atoms in bond
    • -
    -

    The IDs for the two atoms in each bond should be values -from 1 to Natoms, where Natoms = # of atoms in the molecule.

    -
    -

    Angles section:

    -
      -
    • one line per angle
    • -
    • line syntax: ID type atom1 atom2 atom3
    • -
    • type = angle type (1-Nangletype)
    • -
    • atom1,atom2,atom3 = IDs of atoms in angle
    • -
    -

    The IDs for the three atoms in each angle should be values from 1 to +units of mass/volume. +

    +
    + +

    Bonds section: +

    +
    • one line per bond +
    • line syntax: ID type atom1 atom2 +
    • type = bond type (1-Nbondtype) +
    • atom1,atom2 = IDs of atoms in bond +
    +

    The IDs for the two atoms in each bond should be values +from 1 to Natoms, where Natoms = # of atoms in the molecule. +

    +
    + +

    Angles section: +

    +
    • one line per angle +
    • line syntax: ID type atom1 atom2 atom3 +
    • type = angle type (1-Nangletype) +
    • atom1,atom2,atom3 = IDs of atoms in angle +
    +

    The IDs for the three atoms in each angle should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are ordered linearly within the angle. Thus the central atom (around -which the angle is computed) is the atom2 in the list.

    -
    -

    Dihedrals section:

    -
      -
    • one line per dihedral
    • -
    • line syntax: ID type atom1 atom2 atom3 atom4
    • -
    • type = dihedral type (1-Ndihedraltype)
    • -
    • atom1,atom2,atom3,atom4 = IDs of atoms in dihedral
    • -
    -

    The IDs for the four atoms in each dihedral should be values from 1 to +which the angle is computed) is the atom2 in the list. +

    +
    + +

    Dihedrals section: +

    +
    • one line per dihedral +
    • line syntax: ID type atom1 atom2 atom3 atom4 +
    • type = dihedral type (1-Ndihedraltype) +
    • atom1,atom2,atom3,atom4 = IDs of atoms in dihedral +
    +

    The IDs for the four atoms in each dihedral should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are -ordered linearly within the dihedral.

    -
    -

    Impropers section:

    -
      -
    • one line per improper
    • -
    • line syntax: ID type atom1 atom2 atom3 atom4
    • -
    • type = improper type (1-Nimpropertype)
    • -
    • atom1,atom2,atom3,atom4 = IDs of atoms in improper
    • -
    -

    The IDs for the four atoms in each improper should be values from 1 to +ordered linearly within the dihedral. +

    +
    + +

    Impropers section: +

    +
    • one line per improper +
    • line syntax: ID type atom1 atom2 atom3 atom4 +
    • type = improper type (1-Nimpropertype) +
    • atom1,atom2,atom3,atom4 = IDs of atoms in improper +
    +

    The IDs for the four atoms in each improper should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The ordering of the 4 atoms determines the definition of the improper angle used in -the formula for the defined improper style. See -the doc pages for individual styles for details.

    -
    -

    Special Bond Counts section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID N1 N2 N3
    • -
    • N1 = # of 1-2 bonds
    • -
    • N2 = # of 1-3 bonds
    • -
    • N3 = # of 1-4 bonds
    • -
    -

    N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of +the formula for the defined improper style. See +the doc pages for individual styles for details. +

    +
    + +

    Special Bond Counts section: +

    +
    • one line per atom +
    • line syntax: ID N1 N2 N3 +
    • N1 = # of 1-2 bonds +
    • N2 = # of 1-3 bonds +
    • N3 = # of 1-4 bonds +
    +

    N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of this atom within the topology of the molecule. See the -special_bonds doc page for more discussion of +special_bonds doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds section must also appear. If this section is not specied, the -atoms in the molecule will have no special bonds.

    -
    -

    Special Bonds section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID a b c d ...
    • -
    • a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds
    • -
    -

    A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, +atoms in the molecule will have no special bonds. +

    +
    + +

    Special Bonds section: +

    +
    • one line per atom +
    • line syntax: ID a b c d ... +
    • a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds +
    +

    A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, 1-4 neighbors of this atom. The IDs should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The first N1 values should be the 1-2 neighbors, the next N2 should be the 1-3 neighbors, the last N3 should be the 1-4 neighbors. No atom ID should -appear more than once. See the special_bonds doc +appear more than once. See the special_bonds doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bond Counts section must also appear. If this section is not specied, the atoms in the molecule will have no special -bonds.

    -
    -

    Shake Flags section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID flag
    • -
    • flag = 0,1,2,3,4
    • -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the “fix shake” command. The other -two Shake sections must also appear in the file, following this one.

    -

    The meaning of the flag for each atom is as follows. See the fix shake doc page for a further description of SHAKE -clusters.

    -
      -
    • 0 = not part of a SHAKE cluster
    • -
    • 1 = part of a SHAKE angle cluster (two bonds and the angle they form)
    • -
    • 2 = part of a 2-atom SHAKE cluster with a single bond
    • -
    • 3 = part of a 3-atom SHAKE cluster with two bonds
    • -
    • 4 = part of a 4-atom SHAKE cluster with three bonds
    • -
    -
    -

    Shake Atoms section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID a b c d
    • -
    • a,b,c,d = IDs of atoms in cluster
    • -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the “fix shake” command. The other -two Shake sections must also appear in the file.

    -

    The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms +bonds. +

    +
    + +

    Shake Flags section: +

    +
    • one line per atom +
    • line syntax: ID flag +
    • flag = 0,1,2,3,4 +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the "fix shake" command. The other +two Shake sections must also appear in the file, following this one. +

    +

    The meaning of the flag for each atom is as follows. See the fix +shake doc page for a further description of SHAKE +clusters. +

    +
    • 0 = not part of a SHAKE cluster +
    • 1 = part of a SHAKE angle cluster (two bonds and the angle they form) +
    • 2 = part of a 2-atom SHAKE cluster with a single bond +
    • 3 = part of a 3-atom SHAKE cluster with two bonds +
    • 4 = part of a 4-atom SHAKE cluster with three bonds +
    +
    + +

    Shake Atoms section: +

    +
    • one line per atom +
    • line syntax: ID a b c d +
    • a,b,c,d = IDs of atoms in cluster +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the "fix shake" command. The other +two Shake sections must also appear in the file. +

    +

    The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should -list their a,b,c,d values identically.

    -

    If flag = 0, no a,b,c,d values are listed on the line, just the -(ignored) ID.

    -

    If flag = 1, a,b,c are listed, where a = ID of central atom in the -angle, and b,c the other two atoms in the angle.

    -

    If flag = 2, a,b are listed, where a = ID of atom in bond with the the -lowest ID, and b = ID of atom in bond with the highest ID.

    -

    If flag = 3, a,b,c are listed, where a = ID of central atom, -and b,c = IDs of other two atoms bonded to the central atom.

    -

    If flag = 4, a,b,c,d are listed, where a = ID of central atom, -and b,c,d = IDs of other three atoms bonded to the central atom.

    -

    See the fix shake doc page for a further description -of SHAKE clusters.

    -
    -

    Shake Bond Types section:

    -
      -
    • one line per atom
    • -
    • line syntax: ID a b c
    • -
    • a,b,c = bond types (or angle type) of bonds (or angle) in cluster
    • -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the “fix shake” command. The other -two Shake sections must also appear in the file.

    -

    The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds +list their a,b,c,d values identically. +

    +

    If flag = 0, no a,b,c,d values are listed on the line, just the +(ignored) ID. +

    +

    If flag = 1, a,b,c are listed, where a = ID of central atom in the +angle, and b,c the other two atoms in the angle. +

    +

    If flag = 2, a,b are listed, where a = ID of atom in bond with the the +lowest ID, and b = ID of atom in bond with the highest ID. +

    +

    If flag = 3, a,b,c are listed, where a = ID of central atom, +and b,c = IDs of other two atoms bonded to the central atom. +

    +

    If flag = 4, a,b,c,d are listed, where a = ID of central atom, +and b,c,d = IDs of other three atoms bonded to the central atom. +

    +

    See the fix shake doc page for a further description +of SHAKE clusters. +

    +
    + +

    Shake Bond Types section: +

    +
    • one line per atom +
    • line syntax: ID a b c +
    • a,b,c = bond types (or angle type) of bonds (or angle) in cluster +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the "fix shake" command. The other +two Shake sections must also appear in the file. +

    +

    The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should -list their a,b,c values identically.

    -

    If flag = 0, no a,b,c values are listed on the line, just the -(ignored) ID.

    -

    If flag = 1, a,b,c are listed, where a = bondtype of the bond between +list their a,b,c values identically. +

    +

    If flag = 0, no a,b,c values are listed on the line, just the +(ignored) ID. +

    +

    If flag = 1, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = -the angle type (1 to Nangletypes) of the angle between the 3 atoms.

    -

    If flag = 2, only a is listed, where a = bondtype of the bond between -the 2 atoms in the cluster.

    -

    If flag = 3, a,b are listed, where a = bondtype of the bond between +the angle type (1 to Nangletypes) of the angle between the 3 atoms. +

    +

    If flag = 2, only a is listed, where a = bondtype of the bond between +the 2 atoms in the cluster. +

    +

    If flag = 3, a,b are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), and b = bondtype of the bond between the central atom -and the 2nd non-central atom (value c in the Shake Atoms section).

    -

    If flag = 4, a,b,c are listed, where a = bondtype of the bond between +and the 2nd non-central atom (value c in the Shake Atoms section). +

    +

    If flag = 4, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = bondtype of the bond between the central atom and the 3rd non-central -atom (value d in the Shake Atoms section).

    -

    See the fix shake doc page for a further description -of SHAKE clusters.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The default keyword value is offset 0 0 0 0 0.

    -
    -
    +atom (value d in the Shake Atoms section). +

    +

    See the fix shake doc page for a further description +of SHAKE clusters. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    fix deposit, fix pour, +fix_gcmc +

    +

    Default: +

    +

    The default keyword value is offset 0 0 0 0 0. +

    + diff --git a/doc/neb.html b/doc/neb.html index 263cd66f5c..ae2fe0cdbf 100644 --- a/doc/neb.html +++ b/doc/neb.html @@ -1,205 +1,91 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - neb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    neb command¶

    -
    -

    Syntax¶

    -
    neb etol ftol N1 N2 Nevery file-style arg
    -
    -
    -
      -
    • etol = stopping tolerance for energy (energy units)
    • -
    • ftol = stopping tolerance for force (force units)
    • -
    • N1 = max # of iterations (timesteps) to run initial NEB
    • -
    • N2 = max # of iterations (timesteps) to run barrier-climbing NEB
    • -
    • Nevery = print replica energies and reaction coordinates every this many timesteps
    • -
    • file-style= final or each or none
    • -
    -
    -final arg = filename
    +
    +
    +
    + +

    neb command +

    +

    Syntax: +

    +
    neb etol ftol N1 N2 Nevery file-style arg 
    +
    +
    • etol = stopping tolerance for energy (energy units) + +
    • ftol = stopping tolerance for force (force units) + +
    • N1 = max # of iterations (timesteps) to run initial NEB + +
    • N2 = max # of iterations (timesteps) to run barrier-climbing NEB + +
    • Nevery = print replica energies and reaction coordinates every this many timesteps + +
    • file-style= final or each or none + +
        final arg = filename
           filename = file with initial coords for final replica
             coords for intermediate replicas are linearly interpolated between first and last replica
      -  each arg = filename
      +  each arg = filename
           filename = unique filename for each replica (except first) with its initial coords
      -  none arg = no argument
      -    all replicas assumed to already have their initial coords
      -
      -
    -
    -

    Examples¶

    -
    neb 0.1 0.0 1000 500 50 final coords.final
    +  none arg = no argument
    +    all replicas assumed to already have their initial coords 
    +
    + + +

    Examples: +

    +
    neb 0.1 0.0 1000 500 50 final coords.final
     neb 0.0 0.001 1000 500 50 each coords.initial.$i
    -neb 0.0 0.001 1000 500 50 none
    -
    -
    -
    -
    -

    Description¶

    -

    Perform a nudged elastic band (NEB) calculation using multiple +neb 0.0 0.001 1000 500 50 none + +

    Description: +

    +

    Perform a nudged elastic band (NEB) calculation using multiple replicas of a system. Two or more replicas must be used; the first -and last are the end points of the transition path.

    -

    NEB is a method for finding both the atomic configurations and height +and last are the end points of the transition path. +

    +

    NEB is a method for finding both the atomic configurations and height of the energy barrier associated with a transition state, e.g. for an atom to perform a diffusive hop from one energy basin to another in a coordinated fashion with its neighbors. The implementation in LAMMPS -follows the discussion in these 3 papers: (Henkelman1), -(Henkelman2), and (Nakano).

    -

    Each replica runs on a partition of one or more processors. Processor +follows the discussion in these 3 papers: (Henkelman1), +(Henkelman2), and (Nakano). +

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 7 of the +switch; see Section_start 7 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on just one or two processors. You will simply not get the performance speed-up you would see with one or more physical processors per -replica. See this section of the manual -for further discussion.

    -
    -

    Warning

    -

    The current NEB implementation in LAMMPS only allows -there to be one processor per replica.

    -
    -
    -

    Warning

    -

    As explained below, a NEB calculation perfoms a damped +replica. See this section of the manual +for further discussion. +

    +

    IMPORTANT NOTE: The current NEB implementation in LAMMPS only allows +there to be one processor per replica. +

    +

    IMPORTANT NOTE: As explained below, a NEB calculation perfoms a damped dynamics minimization across all the replicas. The mimimizer uses whatever timestep you have defined in your input script, via the -timestep command. Often NEB will converge more +timestep command. Often NEB will converge more quickly if you use a timestep about 10x larger than you would normally -use for dynamics simulations.

    -
    -

    When a NEB calculation is performed, it is assumed that each replica +use for dynamics simulations. +

    +

    When a NEB 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 atoms, the interaction potentials, and the starting configuration when the neb command is -issued should be the same for every replica.

    -

    In a NEB calculation each atom in a replica is connected to the same +issued should be the same for every replica. +

    +

    In a NEB calculation each atom in a replica is connected to the same atom in adjacent replicas by springs, which induce inter-replica -forces. These forces are imposed by the fix neb +forces. These forces are imposed by the fix neb command, which must be used in conjunction with the neb command. The group used to define the fix neb command defines the NEB atoms which are the only ones that inter-replica springs are applied to. If the @@ -210,15 +96,17 @@ replica. Conceptually, the non-NEB atoms provide a background force field for the NEB atoms. They can be allowed to move during the NEB minimiation procedure (which will typically induce different coordinates for non-NEB atoms in different replicas), or held fixed -using other LAMMPS commands such as fix setforce. Note -that the partition command can be used to invoke a +using other LAMMPS commands such as fix setforce. Note +that the partition command can be used to invoke a command on a subset of the replicas, e.g. if you wish to hold NEB or -non-NEB atoms fixed in only the end-point replicas.

    -

    The initial atomic configuration for each of the replicas can be -specified in different manners via the file-style setting, as +non-NEB atoms fixed in only the end-point replicas. +

    +

    The initial atomic configuration for each of the replicas can be +specified in different manners via the file-style setting, as discussed below. Only atoms whose initial coordinates should differ -from the current configuration need be specified.

    -

    Conceptually, the initial configuration for the first replica should +from the current configuration need be specified. +

    +

    Conceptually, the initial configuration for the first replica should be a state with all the atoms (NEB and non-NEB) having coordinates on one side of the energy barrier. A perfect energy minimum is not required, since atoms in the first replica experience no spring forces @@ -227,14 +115,16 @@ drive the first replica to an energy minimum if it is not already there. However, you will typically get better convergence if the initial state is already at a minimum. For example, for a system with a free surface, the surface should be fully relaxed before attempting -a NEB calculation.

    -

    Likewise, the initial configuration of the final replica should be a +a NEB calculation. +

    +

    Likewise, the initial configuration of the final replica should be a state with all the atoms (NEB and non-NEB) on the other side of the energy barrier. Again, a perfect energy minimum is not required, since the atoms in the last replica also experience no spring forces from the next-to-last replica, and thus the damped dynamics -minimization will drive it to an energy minimum.

    -

    As explained below, the initial configurations of intermediate +minimization will drive it to an energy minimum. +

    +

    As explained below, the initial configurations of intermediate replicas can be atomic coordinates interpolated in a linear fashion between the first and last replicas. This is often adequate state for simple transitions. For more complex transitions, it may lead to slow @@ -242,9 +132,11 @@ convergence or even bad results if the minimum energy path (MEP, see below) of states over the barrier cannot be correctly converged to from such an initial configuration. In this case, you will want to generate initial states for the intermediate replicas that are -geometrically closer to the MEP and read them in.

    -
    -

    For a file-style setting of final, a filename is specified which +geometrically closer to the MEP and read them in. +

    +
    + +

    For a file-style setting of final, a filename is specified which contains atomic 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 @@ -259,326 +151,292 @@ distance along a line between the starting and final point, and the the line. Note that this procedure to produce consistent coordinates across all the replicas, the current coordinates need to be the same in all replicas. LAMMPS does not check for this, but invalid initial -configurations will likely result if it is not the case.

    -
    -

    Note

    -

    The “distance” between the starting and final point is +configurations will likely result if it is not the case. +

    +

    NOTE: The "distance" between the starting and final point is calculated in a minimum-image sense for a periodic simulation box. This means that if the two positions are on opposite sides of a box (periodic in that dimension), the distance between them will be small, because the periodic image of one of the atoms is close to the other. Similarly, even if the assigned position resulting from the interpolation is outside the periodic box, the atom will be wrapped -back into the box when the NEB calculation begins.

    -
    -

    For a file-style setting of each, a filename is specified which is +back into the box when the NEB calculation begins. +

    +

    For a file-style setting of each, a filename is specified which is assumed to be unique to each replica. This can be done by -using a variable in the filename, e.g.

    -
    variable i equal part
    -neb 0.0 0.001 1000 500 50 each coords.initial.$i
    -
    -
    -

    which in this case will substitute the partition ID (0 to N-1) for the +using a variable in the filename, e.g. +

    +
    variable i equal part
    +neb 0.0 0.001 1000 500 50 each coords.initial.$i 
    +
    +

    which in this case will substitute the partition ID (0 to N-1) for the variable I, which is also effectively the replica ID. See the -variable command for other options, such as using -world-, universe-, or uloop-style variables.

    -

    Each replica (except the first replica) will read its file, formatted +variable command for other options, such as using +world-, universe-, or uloop-style variables. +

    +

    Each replica (except the first replica) will read its file, formatted as described below, and for any atom that appears in the file, assign the specified coordinates to its atom. The various files do not need -to contain the same set of atoms.

    -

    For a file-style setting of none, no filename is specified. Each +to contain the same set of atoms. +

    +

    For a file-style setting of none, no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or -dump file, via the read_data, -read_restart, or read_dump +dump file, via the read_data, +read_restart, or read_dump commands. The replica-specific names of these files can be specified -as in the discussion above for the each file-style. Also see the +as in the discussion above for the each file-style. Also see the section below for how a NEB calculation can produce restart files, so -that a long calculation can be restarted if needed.

    -
    -

    Warning

    -

    None of the file-style settings change the initial +that a long calculation can be restarted if needed. +

    +

    IMPORTANT NOTE: None of the file-style settings change the initial configuration of any atom in the first replica. The first replica must thus be in the correct initial configuration at the time the neb -command is issued.

    -
    -
    -

    A NEB calculation proceeds in two stages, each of which is a +command is issued. +

    +
    + +

    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 dynamics -min_style, such as quickmin or fire. The cg, -sd, and hftn styles cannot be used, since they perform iterative +min_style, such as quickmin or fire. The cg, +sd, and hftn styles cannot be used, since they perform iterative line searches in their inner loop, which cannot be easily synchronized -across multiple replicas.

    -

    The minimizer tolerances for energy and force are set by etol and -ftol, the same as for the minimize command.

    -

    A non-zero etol means that the NEB calculation will terminate if the +across multiple replicas. +

    +

    The minimizer tolerances for energy and force are set by etol and +ftol, the same as for the minimize command. +

    +

    A non-zero etol means that the NEB calculation will terminate if the energy criterion is met by every replica. The energies being compared -to etol do not include any contribution from the inter-replica -forces, since these are non-conservative. A non-zero ftol means +to etol do not include any contribution from the inter-replica +forces, since these are non-conservative. A non-zero ftol means that the NEB calculation will terminate if the force criterion is met -by every replica. The forces being compared to ftol include the +by every replica. The forces being compared to ftol include the inter-replica forces between an atom and its images in adjacent -replicas.

    -

    The maximum number of iterations in each stage is set by N1 and -N2. These are effectively timestep counts since each iteration of +replicas. +

    +

    The maximum number of iterations in each stage is set by N1 and +N2. These are effectively timestep counts since each iteration of damped dynamics is like a single timestep in a dynamics -run. During both stages, the potential energy of each +run. During both stages, the potential energy of each 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. +Nevery timesteps. The RD is 0 and 1 for the first and last replica. For intermediate replicas, it is the cumulative distance (normalized by the total cumulative distance) between adjacent replicas, where -“distance” is defined as the length of the 3N-vector of differences in +"distance" is defined as the length of the 3N-vector of differences in atomic coordinates, where N is the number of NEB atoms involved in the -transition. These outputs allow you to monitor NEB’s progress in -finding a good energy barrier. N1 and N2 must both be multiples -of Nevery.

    -

    In the first stage of NEB, the set of replicas should converge toward +transition. These outputs allow you to monitor NEB's progress in +finding a good energy barrier. N1 and N2 must both be multiples +of Nevery. +

    +

    In the first stage of NEB, the set of replicas should converge toward the minimum energy path (MEP) of conformational states that transition over the barrier. The MEP for a barrier is defined as a sequence of 3N-dimensional states that cross the barrier at its saddle point, each of which has a potential energy gradient parallel to the MEP itself. The replica states will also be roughly equally spaced along the MEP -due to the inter-replica spring force added by the fix neb command.

    -

    In the second stage of NEB, the replica with the highest energy +due to the inter-replica spring force added by the fix +neb command. +

    +

    In the second stage of NEB, the replica with the highest energy is selected and the inter-replica forces on it are converted to a force that drives its atom coordinates to the top or saddle point of the barrier, via the barrier-climbing calculation described in -(Henkelman2). As before, the other replicas rearrange -themselves along the MEP so as to be roughly equally spaced.

    -

    When both stages are complete, if the NEB calculation was successful, +(Henkelman2). As before, the other replicas rearrange +themselves along the MEP so as to be roughly equally spaced. +

    +

    When both stages are complete, if the NEB calculation was successful, one of the replicas should be an atomic configuration at the top or saddle point of the barrier, the potential energies for the set of replicas should represent the energy profile of the barrier along the MEP, and the configurations of the replicas should be a sequence of -configurations along the MEP.

    -
    -

    A few other settings in your input script are required or advised to +configurations along the MEP. +

    +
    + +

    A few other settings in your input script are required or advised to perform a NEB calculation. See the IMPORTANT NOTE about the choice of -timestep at the beginning of this doc page.

    -

    An atom map must be defined which it is not by default for atom_style atomic problems. The atom_modify map command can be used to do this.

    -

    The “atom_modify sort 0 0.0” command should be used to turn off atom -sorting.

    -
    -

    Note

    -

    This sorting restriction will be removed in a future version of -NEB in LAMMPS.

    -
    -

    The minimizers in LAMMPS operate on all atoms in your system, even +timestep at the beginning of this doc page. +

    +

    An atom map must be defined which it is not by default for atom_style +atomic problems. The atom_modify +map command can be used to do this. +

    +

    The "atom_modify sort 0 0.0" command should be used to turn off atom +sorting. +

    +

    NOTE: This sorting restriction will be removed in a future version of +NEB in LAMMPS. +

    +

    The minimizers in LAMMPS operate on all atoms in your system, even non-NEB atoms, as defined above. To prevent non-NEB atoms from moving -during the minimization, you should use the fix setforce command to set the force on each of those +during the minimization, you should use the fix +setforce command to set the force on each of those atoms to 0.0. This is not required, and may not even be desired in some cases, but if those atoms move too far (e.g. because the initial state of your system was not well-minimized), it can cause problems -for the NEB procedure.

    -

    The damped dynamics minimizers, such as quickmin -and fire), adjust the position and velocity of the atoms via an +for the NEB procedure. +

    +

    The damped dynamics minimizers, such as quickmin +and fire), adjust the position and velocity of the atoms via an Euler integration step. Thus you must define an appropriate -timestep to use with NEB. As mentioned above, NEB +timestep to use with NEB. As mentioned above, NEB will often converge more quickly if you use a timestep about 10x -larger than you would normally use for dynamics simulations.

    -
    -

    Each file read by the neb command containing atomic coordinates used -to initialize one or more replicas must be formatted as follows.

    -

    The file can be ASCII text or a gzipped text file (detected by a .gz +larger than you would normally use for dynamics simulations. +

    +
    + +

    Each file read by the neb command containing atomic coordinates used +to initialize one or more replicas must be formatted as follows. +

    +

    The file can be ASCII text or a gzipped text file (detected by a .gz suffix). The file can contain initial blank lines or comment lines -starting with “#” which are ignored. The first non-blank, non-comment +starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive -lines contain the following information:

    -
    ID1 x1 y1 z1
    +lines contain the following information:
    +

    +
    ID1 x1 y1 z1
     ID2 x2 y2 z2
     ...
    -IDN xN yN zN
    -
    -
    -

    The fields are the the atom ID, followed by the x,y,z coordinates. +IDN xN yN zN + +

    The fields are the the atom ID, followed by the x,y,z coordinates. The lines can be listed in any order. Additional trailing information -on the line is OK, such as a comment.

    -

    Note that for a typical NEB calculation you do not need to specify +on the line is OK, such as a comment. +

    +

    Note that for a typical NEB calculation you do not need to specify initial coordinates for very many atoms to produce differing starting and final replicas whose intermediate replicas will converge to the energy barrier. Typically only new coordinates for atoms -geometrically near the barrier need be specified.

    -

    Also note there is no requirement that the atoms in the file -correspond to the NEB atoms in the group defined by the fix neb command. Not every NEB atom need be in the file, -and non-NEB atoms can be listed in the file.

    -
    -

    Four kinds of output can be generated during a NEB calculation: energy +geometrically near the barrier need be specified. +

    +

    Also note there is no requirement that the atoms in the file +correspond to the NEB atoms in the group defined by the fix +neb command. Not every NEB atom need be in the file, +and non-NEB atoms can be listed in the file. +

    +
    + +

    Four kinds of output can be generated during a NEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, -and restart files.

    -

    When running with multiple partitions (each of which is a replica in +and restart files. +

    +

    When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file -contains a line of output, printed once every Nevery timesteps. It +contains a line of output, printed once every Nevery timesteps. It contains the timestep, the maximum force per replica, the maximum -force per atom (in any replica), potential gradients in the initial,

    -
    -
    final, and climbing replicas,
    -

    the forward and backward energy barriers, +force per atom (in any replica), potential gradients in the initial, + final, and climbing replicas, +the forward and backward energy barriers, the total reaction coordinate (RDT), and -the normalized reaction coordinate and potential energy of each replica.

    -

    The “maximum force per replica” is +the normalized reaction coordinate and potential energy of each replica. +

    +

    The "maximum force per replica" is the two-norm of the 3N-length force vector for the atoms in each -replica, maximized across replicas, which is what the ftol setting +replica, maximized across replicas, which is what the ftol setting is checking against. In this case, N is all the atoms in each -replica. The “maximum force per atom” is the maximum force component +replica. The "maximum force per atom" is the maximum force component of any atom in any replica. The potential gradients are the two-norm of the 3N-length force vector solely due to the interaction potential i.e. without adding in inter-replica forces. Note that inter-replica forces are zero in the initial and final replicas, and only affect -the direction in the climbing replica. For this reason, the “maximum -force per replica” is often equal to the potential gradient in the +the direction in the climbing replica. For this reason, the "maximum +force per replica" is often equal to the potential gradient in the climbing replica. In the first stage of NEB, there is no climbing replica, and so the potential gradient in the highest energy replica is reported, since this replica will become the climbing replica -in the second stage of NEB.

    -

    The “reaction coordinate” (RD) for each +in the second stage of NEB. +

    +

    The "reaction coordinate" (RD) for each replica is the two-norm of the 3N-length vector of distances between -its atoms and the preceding replica’s atoms, added to the RD of the -preceding replica. The RD of the first replica RD1 = 0.0; +its atoms and the preceding replica's atoms, 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 atoms -being operated on by the fix neb command.

    -

    The forward (reverse) energy barrier is the potential energy of the highest -replica minus the energy of the first (last) replica.

    -

    When running on multiple partitions, LAMMPS produces additional log +from zero to one. When computing RD, N only includes the atoms +being operated on by the fix neb command. +

    +

    The forward (reverse) energy barrier is the potential energy of the highest +replica minus the energy of the first (last) replica. +

    +

    When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a NEB calculation, these contain the thermodynamic output for each -replica.

    -

    If dump commands in the input script define a filename -that includes a universe or uloop style variable, +replica. +

    +

    If dump commands in the input script define a filename +that includes a universe or uloop style variable, then one dump file (per dump command) will be created for each replica. At the end of the NEB calculation, the final snapshot in each file will contain the sequence of snapshots that transition the system over the energy barrier. Earlier snapshots will show the -convergence of the replicas to the MEP.

    -

    Likewise, restart filenames can be specified with a -universe or uloop style variable, to generate +convergence of the replicas to the MEP. +

    +

    Likewise, restart filenames can be specified with a +universe or uloop style variable, to generate restart files for each replica. These may be useful if the NEB calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered -parameters.

    -

    There are 2 Python scripts provided in the tools/python directory, +parameters. +

    +

    There are 2 Python scripts provided in the tools/python directory, neb_combine.py and neb_final.py, which are useful in analyzing output from a NEB calculation. Assume a NEB simulation with M replicas, and -the NEB atoms labelled with a specific atom type.

    -

    The neb_combine.py script extracts atom coords for the NEB atoms from +the NEB atoms labelled with a specific atom type. +

    +

    The neb_combine.py script extracts atom coords for the NEB atoms from all M dump files and creates a single dump file where each snapshot contains the NEB atoms from all the replicas and one copy of non-NEB atoms from the first replica (presumed to be identical in other replicas). This can be visualized/animated to see how the NEB atoms -relax as the NEB calculation proceeds.

    -

    The neb_final.py script extracts the final snapshot from each of the M +relax as the NEB calculation proceeds. +

    +

    The neb_final.py script extracts the final snapshot from each of the M dump files to create a single dump file with M snapshots. This can be visualized to watch the system make its transition over the energy -barrier.

    -

    To illustrate, here are images from the final snapshot produced by the +barrier. +

    +

    To illustrate, here are images from the final snapshot produced by the neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger -image.

    - - -
    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    +image. +

    + + -
    -
    - +

    (Henkelman1) Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). +

    + -
    -
    +

    (Henkelman2) Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, +9901-9904 (2000). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Nakano) Nakano, Comp Phys Comm, 178, 280-289 (2008). +

    + diff --git a/doc/neigh_modify.html b/doc/neigh_modify.html index d90184f0ff..38e8f15f64 100644 --- a/doc/neigh_modify.html +++ b/doc/neigh_modify.html @@ -1,157 +1,39 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - neigh_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    neigh_modify command¶

    -
    -

    Syntax¶

    -
    neigh_modify keyword values ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be listed
    • -
    -
    -keyword = delay or every or check or once or cluster or include or exclude or page or one or binsize
    -  delay value = N
    +
    +
    +
    + +

    neigh_modify command +

    +

    Syntax: +

    +
    neigh_modify keyword values ... 
    +
    +
    • one or more keyword/value pairs may be listed + +
      keyword = delay or every or check or once or cluster or include or exclude or page or one or binsize
      +  delay value = N
           N = delay building until this many steps since last build
      -  every value = M
      +  every value = M
           M = build neighbor list every this many steps
      -  check value = yes or no
      -    yes = only build if some atom has moved half the skin distance or more
      -    no = always build on 1st step that every and delay are satisfied
      -  once
      -    yes = only build neighbor list once at start of run and never rebuild
      -    no = rebuild neighbor list according to other settings
      -  cluster
      -    yes = check bond,angle,etc neighbor list for nearby clusters
      -    no = do not check bond,angle,etc neighbor list for nearby clusters
      -  include value = group-ID
      +  check value = yes or no
      +    yes = only build if some atom has moved half the skin distance or more
      +    no = always build on 1st step that every and delay are satisfied
      +  once
      +    yes = only build neighbor list once at start of run and never rebuild
      +    no = rebuild neighbor list according to other settings
      +  cluster
      +    yes = check bond,angle,etc neighbor list for nearby clusters
      +    no = do not check bond,angle,etc neighbor list for nearby clusters
      +  include value = group-ID
           group-ID = only build pair neighbor lists for atoms in this group
      -  exclude values:
      +  exclude values:
           type M N
             M,N = exclude if one atom in pair is type M, other is type N
           group group1-ID group2-ID
      @@ -160,53 +42,57 @@ keyword = delay or every or check or once or
             groupname = exclude if both atoms are in the same molecule and in the same group
           none
             delete all exclude settings
      -  page value = N
      +  page value = N
           N = number of pairs stored in a single neighbor page
      -  one value = N
      +  one value = N
           N = max number of neighbors of one atom
      -  binsize value = size
      -    size = bin size for neighbor list construction (distance units)
      -
      -
    -
    -

    Examples¶

    -
    neigh_modify every 2 delay 10 check yes page 100000
    +  binsize value = size
    +    size = bin size for neighbor list construction (distance units) 
    +
    + + +

    Examples: +

    +
    neigh_modify every 2 delay 10 check yes page 100000
     neigh_modify exclude type 2 3
     neigh_modify exclude group frozen frozen check no
     neigh_modify exclude group residue1 chain3
    -neigh_modify exclude molecule rigid
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets parameters that affect the building and use of +neigh_modify exclude molecule rigid + +

    Description: +

    +

    This command sets parameters that affect the building and use of pairwise neighbor lists. Depending on what pair interactions and other commands are defined, a simulation may require one or more -neighbor lists.

    -

    The every, delay, check, and once options affect how often -lists are built as a simulation runs. The delay setting means never +neighbor lists. +

    +

    The every, delay, check, and once options affect how often +lists are built as a simulation runs. The delay setting means never build new lists until at least N steps after the previous build. The -every setting means build lists every M steps (after the delay has -passed). If the check setting is no, the lists are built on the -first step that satisfies the delay and every settings. If the -check setting is yes, then the every and delay settings +every setting means build lists every M steps (after the delay has +passed). If the check setting is no, the lists are built on the +first step that satisfies the delay and every settings. If the +check setting is yes, then the every and delay settings determine when a build may possibly be performed, but an actual build only occurs if some atom has moved more than half the skin distance -(specified in the neighbor command) since the last -build.

    -

    If the once setting is yes, then the neighbor list is only built +(specified in the neighbor command) since the last +build. +

    +

    If the once setting is yes, then the neighbor list is only built once at the beginning of each run, and never rebuilt, except on steps when a restart file is written, or steps when a fix forces a rebuild -to occur (e.g. fixes that create or delete atoms, such as fix deposit or fix evaporate). +to occur (e.g. fixes that create or delete atoms, such as fix +deposit or fix evaporate). This setting should only be made if you are certain atoms will not move far enough that the neighbor list should be rebuilt, e.g. running a simulation of a cold crystal. Note that it is not that expensive to -check if neighbor lists should be rebuilt.

    -

    When the rRESPA integrator is used (see the run_style -command), the every and delay parameters refer to the longest -(outermost) timestep.

    -

    The cluster option does a sanity test every time neighbor lists are +check if neighbor lists should be rebuilt. +

    +

    When the rRESPA integrator is used (see the run_style +command), the every and delay parameters refer to the longest +(outermost) timestep. +

    +

    The cluster option does a sanity test every time neighbor lists are built for bond, angle, dihedral, and improper interactions, to check that each set of 2, 3, or 4 atoms is a cluster of nearby atoms. It does this by computing the distance between pairs of atoms in the @@ -217,173 +103,117 @@ nearby periodic images. The only way this should happen is if the pairwise cutoff is so short that atoms that are part of the same interaction are not communicated as ghost atoms. This is an unusual model (e.g. no pair interactions at all) and the problem can be fixed -by use of the comm_modify cutoff command. Note -that to save time, the default cluster setting is no, so that this -check is not performed.

    -

    The include option limits the building of pairwise neighbor lists to +by use of the comm_modify cutoff command. Note +that to save time, the default cluster setting is no, so that this +check is not performed. +

    +

    The include option limits the building of pairwise neighbor lists to atoms in the specified group. This can be useful for models where a large portion of the simulation is particles that do not interact with other particles or with each other via pairwise interactions. The group specified with this option must also be specified via the -atom_modify first command.

    -

    The exclude option turns off pairwise interactions between certain +atom_modify first command. +

    +

    The exclude option turns off pairwise interactions between certain pairs of atoms, by not including them in the neighbor list. These are -sample scenarios where this is useful:

    -
      -
    • In crack simulations, pairwise interactions can be shut off between 2 -slabs of atoms to effectively create a crack.
    • -
    • When a large collection of atoms is treated as frozen, interactions +sample scenarios where this is useful: +

      +
      • In crack simulations, pairwise interactions can be shut off between 2 +slabs of atoms to effectively create a crack. + +
      • When a large collection of atoms is treated as frozen, interactions between those atoms can be turned off to save needless -computation. E.g. Using the fix setforce command -to freeze a wall or portion of a bio-molecule.
      • -
      • When one or more rigid bodies are specified, interactions within each -body can be turned off to save needless computation. See the fix rigid command for more details.
      • -
      -

      The exclude type option turns off the pairwise interaction if one +computation. E.g. Using the fix setforce command +to freeze a wall or portion of a bio-molecule. + +

    • When one or more rigid bodies are specified, interactions within each +body can be turned off to save needless computation. See the fix +rigid command for more details. +
    +

    The exclude type option turns off the pairwise interaction if one atom is of type M and the other of type N. M can equal N. The -exclude group option turns off the interaction if one atom is in the +exclude group option turns off the interaction if one atom is in the first group and the other is the second. Group1-ID can equal -group2-ID. The exclude molecule option turns off the interaction if +group2-ID. The exclude molecule option turns off the interaction if both atoms are in the specified group and in the same molecule, as -determined by their molecule ID.

    -

    Each of the exclude options can be specified multiple times. The -exclude type option is the most efficient option to use; it requires +determined by their molecule ID. +

    +

    Each of the exclude options can be specified multiple times. The +exclude type option is the most efficient option to use; it requires only a single check, no matter how many times it has been specified. The other exclude options are more expensive if specified multiple -times; they require one check for each time they have been specified.

    -

    Note that the exclude options only affect pairwise interactions; see -the delete_bonds command for information on -turning off bond interactions.

    -
    -

    Warning

    -

    Excluding pairwise interactions will not work +times; they require one check for each time they have been specified. +

    +

    Note that the exclude options only affect pairwise interactions; see +the delete_bonds command for information on +turning off bond interactions. +

    +

    IMPORTANT NOTE: Excluding pairwise interactions will not work correctly when also using a long-range solver via the -kspace_style command. LAMMPS will give a warning +kspace_style command. LAMMPS will give a warning to this effect. This is because the short-range pairwise interaction needs to subtract off a term from the total energy for pairs whose short-range interaction is excluded, to compensate for how the long-range solver treats the interaction. This is done correctly for pairwise interactions that are excluded (or weighted) via the -special_bonds command. But it is not done for -interactions that are excluded via these neigh_modify exclude options.

    -
    -

    The page and one options affect how memory is allocated for the +special_bonds command. But it is not done for +interactions that are excluded via these neigh_modify exclude options. +

    +

    The page and one options affect how memory is allocated for the neighbor lists. For most simulations the default settings for these options are fine, but if a very large problem is being run or a very long cutoff is being used, these parameters can be tuned. The indices -of neighboring atoms are stored in “pages”, which are allocated one +of neighboring atoms are stored in "pages", which are allocated one after another as they fill up. The size of each page is set by the -page value. A new page is allocated when the next atom’s neighbors +page value. A new page is allocated when the next atom's neighbors could potentially overflow the list. This threshold is set by the -one value which tells LAMMPS the maximum number of neighbor’s one -atom can have.

    -
    -

    Warning

    -

    LAMMPS can crash without an error message if the -number of neighbors for a single particle is larger than the page -setting, which means it is much, much larger than the one setting. -This is because LAMMPS doesn’t error check these limits for every -pairwise interaction (too costly), but only after all the particle’s +one value which tells LAMMPS the maximum number of neighbor's one +atom can have. +

    +

    IMPORTANT NOTE: LAMMPS can crash without an error message if the +number of neighbors for a single particle is larger than the page +setting, which means it is much, much larger than the one setting. +This is because LAMMPS doesn't error check these limits for every +pairwise interaction (too costly), but only after all the particle's neighbors have been found. This problem usually means something is -very wrong with the way you’ve setup your problem (particle spacing, +very wrong with the way you've setup your problem (particle spacing, cutoff length, neighbor skin distance, etc). If you really expect -that many neighbors per particle, then boost the one and page -settings accordingly.

    -
    -

    The binsize option allows you to specify what size of bins will be +that many neighbors per particle, then boost the one and page +settings accordingly. +

    +

    The binsize option allows you to specify what size of bins will be used in neighbor list construction to sort and find neighboring atoms. -By default, for neighbor style bin, LAMMPS uses bins -that are 1/2 the size of the maximum pair cutoff. For neighbor style multi, the bins are 1/2 the size of the minimum pair +By default, for neighbor style bin, LAMMPS uses bins +that are 1/2 the size of the maximum pair cutoff. For neighbor style +multi, the bins are 1/2 the size of the minimum pair cutoff. Typically these are good values values for minimizing the time for neighbor list construction. This setting overrides the default. If you make it too big, there is little overhead due to looping over bins, but more atoms are checked. If you make it too small, the optimal number of atoms is checked, but bin overhead goes up. If you set the binsize to 0.0, LAMMPS will use the default -binsize of 1/2 the cutoff.

    -
    -
    -

    Restrictions¶

    -

    If the “delay” setting is non-zero, then it must be a multiple of the -“every” setting.

    -

    The exclude molecule option can only be used with atom styles that -define molecule IDs.

    -

    The value of the page setting must be at least 10x larger than the -one setting. This insures neighbor pages are not mostly empty -space.

    -
    - -
    -

    Default¶

    -

    The option defaults are delay = 10, every = 1, check = yes, once = no, +binsize of 1/2 the cutoff. +

    +

    Restrictions: +

    +

    If the "delay" setting is non-zero, then it must be a multiple of the +"every" setting. +

    +

    The exclude molecule option can only be used with atom styles that +define molecule IDs. +

    +

    The value of the page setting must be at least 10x larger than the +one setting. This insures neighbor pages are not mostly empty +space. +

    +

    Related commands: +

    +

    neighbor, delete_bonds +

    +

    Default: +

    +

    The option defaults are delay = 10, every = 1, check = yes, once = no, cluster = no, include = all, exclude = none, page = 100000, one = -2000, and binsize = 0.0.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +2000, and binsize = 0.0. +

    + diff --git a/doc/neighbor.html b/doc/neighbor.html index 80ac0fd22d..9618531ee0 100644 --- a/doc/neighbor.html +++ b/doc/neighbor.html @@ -1,271 +1,88 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - neighbor command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    neighbor command¶

    -
    -

    Syntax¶

    -
    neighbor skin style
    -
    -
    -
      -
    • skin = extra distance beyond force cutoff (distance units)
    • -
    • style = bin or nsq or multi
    • -
    -
    -
    -

    Examples¶

    -
    neighbor 0.3 bin
    -neighbor 2.0 nsq
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets parameters that affect the building of pairwise + + +


    + +

    neighbor command +

    +

    Syntax: +

    +
    neighbor skin style 
    +
    +
    • skin = extra distance beyond force cutoff (distance units) +
    • style = bin or nsq or multi +
    +

    Examples: +

    +
    neighbor 0.3 bin
    +neighbor 2.0 nsq 
    +
    +

    Description: +

    +

    This command sets parameters that affect the building of pairwise neighbor lists. All atom pairs within a neighbor cutoff distance -equal to the their force cutoff plus the skin distance are stored in +equal to the their force cutoff plus the skin distance are stored in the list. Typically, the larger the skin distance, the less often neighbor lists need to be built, but more pairs must be checked for possible force interactions every timestep. The default value for -skin depends on the choice of units for the simulation; see the -default values below.

    -

    The skin distance is also used to determine how often atoms migrate -to new processors if the check option of the -neigh_modify command is set to yes. Atoms are +skin depends on the choice of units for the simulation; see the +default values below. +

    +

    The skin distance is also used to determine how often atoms migrate +to new processors if the check option of the +neigh_modify command is set to yes. Atoms are migrated (communicated) to new processors on the same timestep that -neighbor lists are re-built.

    -

    The style value selects what algorithm is used to build the list. -The bin style creates the list by binning which is an operation that +neighbor lists are re-built. +

    +

    The style value selects what algorithm is used to build the list. +The bin style creates the list by binning which is an operation that scales linearly with N/P, the number of atoms per processor where N = total number of atoms and P = number of processors. It is almost -always faster than the nsq style which scales as (N/P)^2. For -unsolvated small molecules in a non-periodic box, the nsq choice can -sometimes be faster. Either style should give the same answers.

    -

    The multi style is a modified binning algorithm that is useful for +always faster than the nsq style which scales as (N/P)^2. For +unsolvated small molecules in a non-periodic box, the nsq choice can +sometimes be faster. Either style should give the same answers. +

    +

    The multi style is a modified binning algorithm that is useful for systems with a wide range of cutoff distances, e.g. due to different -size particles. For the bin style, the bin size is set to 1/2 of +size particles. For the bin style, the bin size is set to 1/2 of the largest cutoff distance between any pair of atom types and a single set of bins is defined to search over for all atom types. This can be inefficient if one pair of types has a very long cutoff, but -other type pairs have a much shorter cutoff. For style multi the +other type pairs have a much shorter cutoff. For style multi the bin size is set to 1/2 of the shortest cutoff distance and multiple sets of bins are defined to search over for different atom types. This imposes some extra setup overhead, but the searches themselves -may be much faster for the short-cutoff cases. See the comm_modify mode multi command for a communication option option -that may also be beneficial for simulations of this kind.

    -

    The neigh_modify command has additional options +may be much faster for the short-cutoff cases. See the comm_modify +mode multi command for a communication option option +that may also be beneficial for simulations of this kind. +

    +

    The neigh_modify command has additional options that control how often neighbor lists are built and which pairs are -stored in the list.

    -

    When a run is finished, counts of the number of neighbors stored in +stored in the list. +

    +

    When a run is finished, counts of the number of neighbors stored in the pairwise list and the number of times neighbor lists were built -are printed to the screen and log file. See this section for details.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -
    -
    0.3 bin for units = lj, skin = 0.3 sigma
    -
    2.0 bin for units = real or metal, skin = 2.0 Angstroms
    -
    0.001 bin for units = si, skin = 0.001 meters = 1.0 mm
    -
    0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm
    -

    -
    -
    -
    +are printed to the screen and log file. See this +section for details. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    neigh_modify, units, +comm_modify +

    +

    Default: +

    +0.3 bin for units = lj, skin = 0.3 sigma
    +2.0 bin for units = real or metal, skin = 2.0 Angstroms
    +0.001 bin for units = si, skin = 0.001 meters = 1.0 mm
    +0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/newton.html b/doc/newton.html index 03feaeb064..94e20608e6 100644 --- a/doc/newton.html +++ b/doc/newton.html @@ -1,250 +1,67 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - newton command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    newton command¶

    -
    -

    Syntax¶

    -
    newton flag
    -newton flag1 flag2
    -
    -
    -
      -
    • flag = on or off for both pairwise and bonded interactions
    • -
    • flag1 = on or off for pairwise interactions
    • -
    • flag2 = on or off for bonded interactions
    • -
    -
    -
    -

    Examples¶

    -
    newton off
    -newton on off
    -
    -
    -
    -
    -

    Description¶

    -

    This command turns Newton’s 3rd law on or off for pairwise and -bonded interactions. For most problems, setting Newton’s 3rd law to -on means a modest savings in computation at the cost of two times + + +


    + +

    newton command +

    +

    Syntax: +

    +
    newton flag
    +newton flag1 flag2 
    +
    +
    • flag = on or off for both pairwise and bonded interactions +
    • flag1 = on or off for pairwise interactions +
    • flag2 = on or off for bonded interactions +
    +

    Examples: +

    +
    newton off
    +newton on off 
    +
    +

    Description: +

    +

    This command turns Newton's 3rd law on or off for pairwise and +bonded interactions. For most problems, setting Newton's 3rd law to +on means a modest savings in computation at the cost of two times more communication. Whether this is faster depends on problem size, -force cutoff lengths, a machine’s compute/communication ratio, and how -many processors are being used.

    -

    Setting the pairwise newton flag to off means that if two +force cutoff lengths, a machine's compute/communication ratio, and how +many processors are being used. +

    +

    Setting the pairwise newton flag to off means that if two interacting atoms are on different processors, both processors compute their interaction and the resulting force information is not -communicated. Similarly, for bonded interactions, newton off means +communicated. Similarly, for bonded interactions, newton off means that if a bond, angle, dihedral, or improper interaction contains atoms on 2 or more processors, the interaction is computed by each -processor.

    -

    LAMMPS should produce the same answers for any newton flag settings, -except for round-off issues.

    -

    With run_style respa and only bonded interactions +processor. +

    +

    LAMMPS should produce the same answers for any newton flag settings, +except for round-off issues. +

    +

    With run_style respa and only bonded interactions (bond, angle, etc) computed in the innermost timestep, it may be -faster to turn newton off for bonded interactions, to avoid extra -communication in the innermost loop.

    -
    -
    -

    Restrictions¶

    -

    The newton bond setting cannot be changed after the simulation box is -defined by a read_data or -create_box command.

    -
    - -
    -

    Default¶

    -
    newton on
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +faster to turn newton off for bonded interactions, to avoid extra +communication in the innermost loop. +

    +

    Restrictions: +

    +

    The newton bond setting cannot be changed after the simulation box is +defined by a read_data or +create_box command. +

    +

    Related commands: +

    +

    run_style respa +

    +

    Default: +

    +
    newton on 
    +
    + diff --git a/doc/next.html b/doc/next.html index b7e5e3f52e..ed8effb539 100644 --- a/doc/next.html +++ b/doc/next.html @@ -1,220 +1,109 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - next command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    next command¶

    -
    -

    Syntax¶

    -
    next variables
    -
    -
    -
      -
    • variables = one or more variable names
    • -
    -
    -
    -

    Examples¶

    -
    next x
    -next a t x myTemp
    -
    -
    -
    -
    -

    Description¶

    -

    This command is used with variables defined by the -variable command. It assigns the next value to the + + +


    + +

    next command +

    +

    Syntax: +

    +
    next variables 
    +
    +
    • variables = one or more variable names +
    +

    Examples: +

    +
    next x
    +next a t x myTemp 
    +
    +

    Description: +

    +

    This command is used with variables defined by the +variable command. It assigns the next value to the variable from the list of values defined for that variable by the -variable command. Thus when that variable is +variable command. Thus when that variable is subsequently substituted for in an input script command, the new value -is used.

    -

    See the variable command for info on how to define and +is used. +

    +

    See the variable command for info on how to define and use different kinds of variables in LAMMPS input scripts. If a -variable name is a single lower-case character from “a” to “z”, it can +variable name is a single lower-case character from "a" to "z", it can be used in an input script command as $a or $z. If it is multiple -letters, it can be used as ${myTemp}.

    -

    If multiple variables are used as arguments to the next command, -then all must be of the same variable style: index, loop, file, -universe, or uloop. An exception is that universe- and -uloop-style variables can be mixed in the same next command.

    -

    All the variables specified with the next command are incremented by -one value from their respective list of values. A file-style +letters, it can be used as ${myTemp}. +

    +

    If multiple variables are used as arguments to the next command, +then all must be of the same variable style: index, loop, file, +universe, or uloop. An exception is that universe- and +uloop-style variables can be mixed in the same next command. +

    +

    All the variables specified with the next command are incremented by +one value from their respective list of values. A file-style variable reads the next line from its associated file. An -atomfile-style variable reads the next set of lines (one per atom) -from its associated file. String- or atom- or equal- or -world-style variables cannot be used with the the next command, -since they only store a single value.

    -

    When any of the variables in the next command has no more values, a +atomfile-style variable reads the next set of lines (one per atom) +from its associated file. String- or atom- or equal- or +world-style variables cannot be used with the the next command, +since they only store a single value. +

    +

    When any of the variables in the next command has no more values, a flag is set that causes the input script to skip the next -jump command encountered. This enables a loop containing -a next command to exit. As explained in the variable +jump command encountered. This enables a loop containing +a next command to exit. As explained in the variable command, the variable that has exhausted its values is also deleted. This allows it to be used and re-defined later in the input script. -File-style and atomfile-style variables are exhausted when the -end-of-file is reached.

    -

    When the next command is used with index- or loop-style variables, +File-style and atomfile-style variables are exhausted when the +end-of-file is reached. +

    +

    When the next command is used with index- or loop-style variables, the next value is assigned to the variable for all processors. When -the next command is used with file-style variables, the next line is +the next command is used with file-style variables, the next line is read from its file and the string assigned to the variable. When the -next command is used with atomfile-style variables, the next set of -per-atom values is read from its file and assigned to the variable.

    -

    When the next command is used with universe- or uloop-style -variables, all universe- or uloop-style variables must be listed +next command is used with atomfile-style variables, the next set of +per-atom values is read from its file and assigned to the variable. +

    +

    When the next command is used with universe- or uloop-style +variables, all universe- or uloop-style variables must be listed in the next command. This is because of the manner in which the incrementing is done, using a single lock file for all variables. The next value (for each variable) is assigned to whichever processor partition executes the command first. All processors in the partition are assigned the same value(s). Running LAMMPS on multiple partitions -of processors via the “-partition” command-line switch is described in -this section of the manual. Universe- -and uloop-style variables are incremented using the files -“tmp.lammps.variable” and “tmp.lammps.variable.lock” which you will -see in your directory during and after such a LAMMPS run.

    -

    Here is an example of running a series of simulations using the next -command with an index-style variable. If this input script is named +of processors via the "-partition" command-line switch is described in +this section of the manual. Universe- +and uloop-style variables are incremented using the files +"tmp.lammps.variable" and "tmp.lammps.variable.lock" which you will +see in your directory during and after such a LAMMPS run. +

    +

    Here is an example of running a series of simulations using the next +command with an index-style variable. If this input script is named in.polymer, 8 simulations would be run using data files from -directories run1 thru run8.

    -
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
    +directories run1 thru run8.
    +

    +
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
     shell cd $d
     read_data data.polymer
     run 10000
     shell cd ..
     clear
     next d
    -jump in.polymer
    -
    -
    -

    If the variable “d” were of style universe, and the same in.polymer +jump in.polymer + +

    If the variable "d" were of style universe, and the same in.polymer input script were run on 3 partitions of processors, then the first 3 simulations would begin, one on each set of processors. Whichever -partition finished first, it would assign variable “d” the 4th value +partition finished first, it would assign variable "d" the 4th value and run another simulation, and so forth until all 8 simulations were -finished.

    -

    Jump and next commands can also be nested to enable multi-level loops. -For example, this script will run 15 simulations in a double loop.

    -
    variable i loop 3
    +finished.
    +

    +

    Jump and next commands can also be nested to enable multi-level loops. +For example, this script will run 15 simulations in a double loop. +

    +
    variable i loop 3
       variable j loop 5
       clear
       ...
    @@ -224,102 +113,36 @@ For example, this script will run 15 simulations in a double loop.

    next j jump in.script next i -jump in.script -
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop.

    -
    label            loopa
    +jump in.script 
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop. +

    +
    label	    loopa
     variable    a loop 5
    -  label          loopb
    +  label	    loopb
       variable  b loop 5
    -  print          "A,B = $a,$b"
    +  print	    "A,B = $a,$b"
       run       10000
    -  if     $b > 2 then "jump in.script break"
    -  next           b
    -  jump           in.script loopb
    -label            break
    -variable    b delete
    -
    -
    -
    next     a
    -jump     in.script loopa
    -
    -
    -
    -
    -

    Restrictions¶

    -

    As described above.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + if $b > 2 then "jump in.script break" + next b + jump in.script loopb +label break +variable b delete + +
    next	    a
    +jump	    in.script loopa 
    +
    +

    Restrictions: +

    +

    As described above. +

    +

    Related commands: +

    +

    jump, include, shell, +variable, +

    +

    Default: none +

    + diff --git a/doc/package.html b/doc/package.html index 620ce5c359..5c0dd866d8 100644 --- a/doc/package.html +++ b/doc/package.html @@ -1,231 +1,115 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - package command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    package command¶

    -
    -

    Syntax¶

    -
    package style args
    -
    -
    -
      -
    • style = cuda or gpu or intel or kokkos or omp
    • -
    • args = arguments specific to the style
    • -
    -
    -cuda args = Ngpu keyword value ...
    +
    +
    +
    + +

    package command +

    +

    Syntax: +

    +
    package style args 
    +
    +
    • style = cuda or gpu or intel or kokkos or omp + +
    • args = arguments specific to the style + +
        cuda args = Ngpu keyword value ...
           Ngpu = # of GPUs per node
           zero or more keyword/value pairs may be appended
      -    keywords = newton or gpuID or timing or test or thread
      -      newton = off or on
      +    keywords = newton or gpuID or timing or test or thread
      +      newton = off or on
               off = set Newton pairwise and bonded flags off (default)
               on = set Newton pairwise and bonded flags on
      -      gpuID values = gpu1 .. gpuN
      +      gpuID values = gpu1 .. gpuN
               gpu1 .. gpuN = IDs of the Ngpu GPUs to use
      -      timing values = none
      -      test values = id
      +      timing values = none
      +      test values = id
               id = atom-ID of a test particle
      -      thread = auto or tpa or bpa
      +      thread = auto or tpa or bpa
               auto = test whether tpa or bpa is faster
               tpa = one thread per atom
               bpa = one block per atom
      -  gpu args = Ngpu keyword value ...
      +  gpu args = Ngpu keyword value ...
           Ngpu = # of GPUs per node
      -    zero or more keyword/value pairs may be appended
      -    keywords = neigh or newton or binsize or split or gpuID or tpa or device
      -      neigh value = yes or no
      +    zero or more keyword/value pairs may be appended 
      +    keywords = neigh or newton or binsize or split or gpuID or tpa or device
      +      neigh value = yes or no
               yes = neighbor list build on GPU (default)
               no = neighbor list build on CPU
      -      newton = off or on
      +      newton = off or on
               off = set Newton pairwise flag off (default and required)
               on = set Newton pairwise flag on (currently not allowed)
      -      binsize value = size
      +      binsize value = size
               size = bin size for neighbor list construction (distance units)
      -      split = fraction
      +      split = fraction
               fraction = fraction of atoms assigned to GPU (default = 1.0)
      -      gpuID values = first last
      +      gpuID values = first last
               first = ID of first GPU to be used on each node
               last = ID of last GPU to be used on each node
      -      tpa value = Nthreads
      +      tpa value = Nthreads
               Nthreads = # of GPU threads used per atom
      -      device value = device_type
      -        device_type = kepler or fermi or cypress or generic
      -  intel args = NPhi keyword value ...
      +      device value = device_type
      +        device_type = kepler or fermi or cypress or generic
      +  intel args = NPhi keyword value ...
           Nphi = # of coprocessors per node
      -    zero or more keyword/value pairs may be appended
      -    keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
      -      omp value = Nthreads
      +    zero or more keyword/value pairs may be appended 
      +    keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
      +      omp value = Nthreads
               Nthreads = number of OpenMP threads to use on CPU (default = 0)
      -      mode value = single or mixed or double
      +      mode value = single or mixed or double
               single = perform force calculations in single precision
               mixed = perform force calculations in mixed precision
               double = perform force calculations in double precision
      -      balance value = split
      +      balance value = split
               split = fraction of work to offload to coprocessor, -1 for dynamic
      -      ghost value = yes or no
      +      ghost value = yes or no
               yes = include ghost atoms for offload
               no = do not include ghost atoms for offload
      -      tpc value = Ntpc
      +      tpc value = Ntpc
               Ntpc = max number of coprocessor threads per coprocessor core (default = 4)
      -      tptask value = Ntptask
      +      tptask value = Ntptask
               Ntptask = max number of coprocessor threads per MPI task (default = 240)
      -      no_affinity values = none
      -  kokkos args = keyword value ...
      +      no_affinity values = none
      +  kokkos args = keyword value ...
           zero or more keyword/value pairs may be appended
      -    keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
      -      neigh value = full or half/thread or half or n2 or full/cluster
      +    keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
      +      neigh value = full or half/thread or half or n2 or full/cluster
               full = full neighbor list
               half/thread = half neighbor list built in thread-safe manner
               half = half neighbor list, not thread-safe, only use when 1 thread/MPI task
               n2 = non-binning neighbor list build, O(N^2) algorithm
               full/cluster = full neighbor list with clustered groups of atoms
      -      newton = off or on
      +      newton = off or on
               off = set Newton pairwise and bonded flags off (default)
               on = set Newton pairwise and bonded flags on
      -      binsize value = size
      +      binsize value = size
               size = bin size for neighbor list construction (distance units)
      -      comm value = no or host or device
      +      comm value = no or host or device
               use value for both comm/exchange and comm/forward
      -      comm/exchange value = no or host or device
      -      comm/forward value = no or host or device
      +      comm/exchange value = no or host or device
      +      comm/forward value = no or host or device
               no = perform communication pack/unpack in non-KOKKOS mode
               host = perform pack/unpack on host (e.g. with OpenMP threading)
               device = perform pack/unpack on device (e.g. on GPU)
      -  omp args = Nthreads keyword value ...
      +  omp args = Nthreads keyword value ...
           Nthread = # of OpenMP threads to associate with each MPI process
      -    zero or more keyword/value pairs may be appended
      -    keywords = neigh
      -      neigh value = yes or no
      +    zero or more keyword/value pairs may be appended 
      +    keywords = neigh
      +      neigh value = yes or no
               yes = threaded neighbor list build (default)
      -        no = non-threaded neighbor list build
      -
      -
    -
    -

    Examples¶

    -
    package gpu 1
    +        no = non-threaded neighbor list build 
    +
    + + +

    Examples: +

    +
    package gpu 1
     package gpu 1 split 0.75
     package gpu 2 split -1.0
     package cuda 2 gpuID 0 2
    @@ -234,320 +118,367 @@ package kokkos neigh half/thread comm device
     package omp 0 neigh no
     package omp 4
     package intel 1
    -package intel 2 omp 4 mode mixed balance 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    This command invokes package-specific settings for the various +package intel 2 omp 4 mode mixed balance 0.5 + +

    Description: +

    +

    This command invokes package-specific settings for the various accelerator packages available in LAMMPS. Currently the following packages use settings from this command: USER-CUDA, GPU, USER-INTEL, -KOKKOS, and USER-OMP.

    -

    If this command is specified in an input script, it must be near the +KOKKOS, and USER-OMP. +

    +

    If this command is specified in an input script, it must be near the top of the script, before the simulation box has been defined. This is because it specifies settings that the accelerator packages use in -their intialization, before a simultion is defined.

    -

    This command can also be specified from the command-line when -launching LAMMPS, using the “-pk” command-line switch. The syntax is exactly the same as -when used in an input script.

    -

    Note that all of the accelerator packages require the package command +their intialization, before a simultion is defined. +

    +

    This command can also be specified from the command-line when +launching LAMMPS, using the "-pk" command-line +switch. The syntax is exactly the same as +when used in an input script. +

    +

    Note that all of the accelerator packages require the package command to be specified (except the OPT package), if the package is to be used in a simulation (LAMMPS can be built with an accelerator package without using it in a particular simulation). However, in all cases, a default version of the command is typically invoked by other -accelerator settings.

    -

    The USER-CUDA and KOKKOS packages require a “-c on” or “-k on” -command-line switch respectively, which -invokes a “package cuda” or “package kokkos” command with default -settings.

    -

    For the GPU, USER-INTEL, and USER-OMP packages, if a “-sf gpu” or “-sf -intel” or “-sf omp” command-line switch +accelerator settings. +

    +

    The USER-CUDA and KOKKOS packages require a "-c on" or "-k on" +command-line switch respectively, which +invokes a "package cuda" or "package kokkos" command with default +settings. +

    +

    For the GPU, USER-INTEL, and USER-OMP packages, if a "-sf gpu" or "-sf +intel" or "-sf omp" command-line switch is used to auto-append accelerator suffixes to various styles in the -input script, then those switches also invoke a “package gpu”, -“package intel”, or “package omp” command with default settings.

    -
    -

    Warning

    -

    A package command for a particular style can be -invoked multiple times when a simulation is setup, e.g. by the “-c -on”, “-k on”, “-sf”, and “-pk” command-line switches, and by using this command in an +input script, then those switches also invoke a "package gpu", +"package intel", or "package omp" command with default settings. +

    +

    IMPORTANT NOTE: A package command for a particular style can be +invoked multiple times when a simulation is setup, e.g. by the "-c +on", "-k on", "-sf", and "-pk" command-line +switches, and by using this command in an input script. Each time it is used all of the style options are set, either to default values or to specified settings. I.e. settings from -previous invocations do not persist across multiple invocations.

    -
    -

    See the Section Accelerate section of the +previous invocations do not persist across multiple invocations. +

    +

    See the Section Accelerate section of the manual for more details about using the various accelerator packages -for speeding up LAMMPS simulations.

    -
    -

    The cuda style invokes settings associated with the use of the -USER-CUDA package.

    -

    The Ngpus argument sets the number of GPUs per node. There must be -exactly one MPI task per GPU, as set by the mpirun or mpiexec command.

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below.

    -

    The newton keyword sets the Newton flags for pairwise and bonded -interactions to off or on, the same as the newton -command allows. The default is off because this will almost always +for speeding up LAMMPS simulations. +

    +
    + +

    The cuda style invokes settings associated with the use of the +USER-CUDA package. +

    +

    The Ngpus argument sets the number of GPUs per node. There must be +exactly one MPI task per GPU, as set by the mpirun or mpiexec command. +

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below. +

    +

    The newton keyword sets the Newton flags for pairwise and bonded +interactions to off or on, the same as the newton +command allows. The default is off because this will almost always give better performance for the USER-CUDA package. This means -more computation is done, but less communication.

    -

    The gpuID keyword allows selection of which GPUs on each node will +more computation is done, but less communication. +

    +

    The gpuID keyword allows selection of which GPUs on each node will be used for a simulation. GPU IDs range from 0 to N-1 where N is the physical number of GPUs/node. An ID is specified for each of the Ngpus being used. For example if you have three GPUs on a machine, one of which is used for the X-Server (the GPU with the ID 1) while the others (with IDs 0 and 2) are used for computations you would -specify:

    -
    package cuda 2 gpuID 0 2
    -
    -
    -

    The purpose of the gpuID keyword is to allow two (or more) +specify: +

    +
    package cuda 2 gpuID 0 2 
    +
    +

    The purpose of the gpuID keyword is to allow two (or more) simulations to be run on one workstation. In that case one could set the first simulation to use GPU 0 and the second to use GPU 1. This is -not necessary however, if the GPUs are in what is called compute -exclusive mode. Using that setting, every process will get its own -GPU automatically. This compute exclusive mode can be set as root -using the nvidia-smi tool which is part of the CUDA installation.

    -

    Also note that if the gpuID keyword is not used, the USER-CUDA +not necessary however, if the GPUs are in what is called compute +exclusive mode. Using that setting, every process will get its own +GPU automatically. This compute exclusive mode can be set as root +using the nvidia-smi tool which is part of the CUDA installation. +

    +

    Also note that if the gpuID keyword is not used, the USER-CUDA package sorts existing GPUs on each node according to their number of multiprocessors. This way, compute GPUs will be priorized over -X-Server GPUs.

    -

    If the timing keyword is specified, detailed timing information for -various subroutines will be output.

    -

    If the test keyword is specified, information for the specified atom +X-Server GPUs. +

    +

    If the timing keyword is specified, detailed timing information for +various subroutines will be output. +

    +

    If the test keyword is specified, information for the specified atom with atom-ID will be output at several points during each timestep. This is mainly usefull for debugging purposes. Note that the -simulation slow down dramatically if this option is used.

    -

    The thread keyword can be used to specify how GPU threads are +simulation slow down dramatically if this option is used. +

    +

    The thread keyword can be used to specify how GPU threads are assigned work during pair style force evaluation. If the value = -tpa, one thread per atom is used. If the value = bpa, one block -per atom is used. If the value = auto, a short test is performed at -the beginning of each run to determing where tpa or bpa mode is -faster. The result of this test is output. Since auto is the -default value, it is usually not necessary to use this keyword.

    -
    -

    The gpu style invokes settings associated with the use of the GPU -package.

    -

    The Ngpu argument sets the number of GPUs per node. There must be +tpa, one thread per atom is used. If the value = bpa, one block +per atom is used. If the value = auto, a short test is performed at +the beginning of each run to determing where tpa or bpa mode is +faster. The result of this test is output. Since auto is the +default value, it is usually not necessary to use this keyword. +

    +
    + +

    The gpu style invokes settings associated with the use of the GPU +package. +

    +

    The Ngpu argument sets the number of GPUs per node. There must be at least as many MPI tasks per node as GPUs, as set by the mpirun or -mpiexec command. If there are more MPI tasks (per node) -than GPUs, multiple MPI tasks will share each GPU.

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below.

    -

    The neigh keyword specifies where neighbor lists for pair style -computation will be built. If neigh is yes, which is the default, -neighbor list building is performed on the GPU. If neigh is no, +mpiexec command. If there are more MPI tasks (per node) +than GPUs, multiple MPI tasks will share each GPU. +

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below. +

    +

    The neigh keyword specifies where neighbor lists for pair style +computation will be built. If neigh is yes, which is the default, +neighbor list building is performed on the GPU. If neigh is no, neighbor list building is performed on the CPU. GPU neighbor list building currently cannot be used with a triclinic box. GPU neighbor list calculation currently cannot be used with -hybrid pair styles. GPU neighbor lists are not +hybrid pair styles. GPU neighbor lists are not compatible with comannds that are not GPU-enabled. When a non-GPU enabled command requires a neighbor list, it will also be built on the CPU. In these cases, it will typically be more efficient to only use -CPU neighbor list builds.

    -

    The newton keyword sets the Newton flags for pairwise (not bonded) -interactions to off or on, the same as the newton -command allows. Currently, only an off value is allowed, since all +CPU neighbor list builds. +

    +

    The newton keyword sets the Newton flags for pairwise (not bonded) +interactions to off or on, the same as the newton +command allows. Currently, only an off value is allowed, since all the GPU package pair styles require this setting. This means more computation is done, but less communication. In the future a value of -on may be allowed, so the newton keyword is included as an option +on may be allowed, so the newton keyword is included as an option for compatibility with the package command for other accelerator styles. Note that the newton setting for bonded interactions is not -affected by this keyword.

    -

    The binsize keyword sets the size of bins used to bin atoms in -neighbor list builds performed on the GPU, if neigh = yes is set. -If binsize is set to 0.0 (the default), then bins = the size of the +affected by this keyword. +

    +

    The binsize keyword sets the size of bins used to bin atoms in +neighbor list builds performed on the GPU, if neigh = yes is set. +If binsize is set to 0.0 (the default), then bins = the size of the pairwise cutoff + neighbor skin distance. This is 2x larger than the LAMMPS default used for neighbor list building on the CPU. This will be close to optimal for the GPU, so you do not normally need to use this keyword. 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 because the GPU is +long-range Coulombic solver because the GPU is faster at performing pairwise interactions, then it may be optimal to -make the binsize smaller than the default. For example, with a -cutoff of 20*sigma in LJ units and a neighbor skin -distance of sigma, a binsize = 5.25*sigma can be more efficient than -the default.

    -

    The split keyword can be used for load balancing force calculations -between CPU and GPU cores in GPU-enabled pair styles. If 0 < split < +make the binsize smaller than the default. For example, with a +cutoff of 20*sigma in LJ units and a neighbor skin +distance of sigma, a binsize = 5.25*sigma can be more efficient than +the default. +

    +

    The split keyword can be used for load balancing force calculations +between CPU and GPU cores in GPU-enabled pair styles. If 0 < split < 1.0, a fixed fraction of particles is offloaded to the GPU while force calculation for the other particles occurs simulataneously on the CPU. -If split < 0.0, the optimal fraction (based on CPU and GPU timings) +If split < 0.0, the optimal fraction (based on CPU and GPU timings) is calculated every 25 timesteps, i.e. dynamic load-balancing across -the CPU and GPU is performed. If split = 1.0, all force +the CPU and GPU is performed. If split = 1.0, all force calculations for GPU accelerated pair styles are performed on the GPU. -In this case, other hybrid pair interactions, -bond, angle, -dihedral, improper, and -long-range calculations can be performed on the +In this case, other hybrid pair interactions, +bond, angle, +dihedral, improper, and +long-range calculations can be performed on the CPU while the GPU is performing force calculations for the GPU-enabled pair style. If all CPU force computations complete before the GPU completes, LAMMPS will block until the GPU has finished before -continuing the timestep.

    -

    As an example, if you have two GPUs per node and 8 CPU cores per node, +continuing the timestep. +

    +

    As an example, if you have two GPUs per node and 8 CPU cores per node, and would like to run on 4 nodes (32 cores) with dynamic balancing of -force calculation across CPU and GPU cores, you could specify

    -
    mpirun -np 32 -sf gpu -in in.script    # launch command
    -package gpu 2 split -1                 # input script command
    -
    -
    -

    In this case, all CPU cores and GPU devices on the nodes would be +force calculation across CPU and GPU cores, you could specify +

    +
    mpirun -np 32 -sf gpu -in in.script    # launch command
    +package gpu 2 split -1                 # input script command 
    +
    +

    In this case, all CPU cores and GPU devices on the nodes would be utilized. Each GPU device would be shared by 4 CPU cores. The CPU cores would perform force calculations for some fraction of the particles at the same time the GPUs performed force calculation for -the other particles.

    -

    The gpuID keyword allows selection of which GPUs on each node will -be used for a simulation. The first and last values specify the +the other particles. +

    +

    The gpuID keyword allows selection of which GPUs on each node will +be used for a simulation. The first and last values specify the GPU IDs to use (from 0 to Ngpu-1). By default, first = 0 and last = Ngpu-1, so that all GPUs are used, assuming Ngpu is set to the number of physical GPUs. If you only wish to use a subset, set Ngpu to a -smaller number and first/last to a sub-range of the available GPUs.

    -

    The tpa keyword sets the number of GPU thread per atom used to +smaller number and first/last to a sub-range of the available GPUs. +

    +

    The tpa keyword sets the number of GPU thread per atom used to perform force calculations. With a default value of 1, the number of threads will be chosen based on the pair style, however, the value can be set explicitly with this keyword to fine-tune performance. For large cutoffs or with a small number of particles per GPU, increasing the value can improve performance. The number of threads per atom must -be a power of 2 and currently cannot be greater than 32.

    -

    The device keyword can be used to tune parameters optimized for a -specific accelerator, when using OpenCL. For CUDA, the device +be a power of 2 and currently cannot be greater than 32. +

    +

    The device keyword can be used to tune parameters optimized for a +specific accelerator, when using OpenCL. For CUDA, the device keyword is ignored. Currently, the device type is limited to NVIDIA Kepler, NVIDIA Fermi, AMD Cypress, or a generic device. More devices may be added later. The default device type can be specified when building LAMMPS with the GPU library, via settings in the -lib/gpu/Makefile that is used.

    -
    -

    The intel style invokes settings associated with the use of the -USER-INTEL package. All of its settings, except the omp and mode +lib/gpu/Makefile that is used. +

    +
    + +

    The intel style invokes settings associated with the use of the +USER-INTEL package. All of its settings, except the omp and mode keywords, are ignored if LAMMPS was not built with Xeon Phi -coprocessor support. All of its settings, including the omp and -mode keyword are applicable if LAMMPS was built with coprocessor -support.

    -

    The Nphi argument sets the number of coprocessors per node. +coprocessor support. All of its settings, including the omp and +mode keyword are applicable if LAMMPS was built with coprocessor +support. +

    +

    The Nphi argument sets the number of coprocessors per node. This can be set to any value, including 0, if LAMMPS was not -built with coprocessor support.

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below.

    -

    The omp keyword determines the number of OpenMP threads allocated +built with coprocessor support. +

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below. +

    +

    The omp keyword determines the number of OpenMP threads allocated for each MPI task when any portion of the interactions computed by a USER-INTEL pair style are run on the CPU. This can be the case even -if LAMMPS was built with coprocessor support; see the balance +if LAMMPS was built with coprocessor support; see the balance keyword discussion below. If you are running with less MPI tasks/node than there are CPUs, it can be advantageous to use OpenMP threading on -the CPUs.

    -
    -

    Warning

    -

    The omp keyword has nothing to do with coprocessor -threads on the Xeon Phi; see the tpc and tptask keywords below for -a discussion of coprocessor threads.

    -
    -

    The Nthread value for the omp keyword sets the number of OpenMP -threads allocated for each MPI task. Setting Nthread = 0 (the +the CPUs. +

    +

    IMPORTANT NOTE: The omp keyword has nothing to do with coprocessor +threads on the Xeon Phi; see the tpc and tptask keywords below for +a discussion of coprocessor threads. +

    +

    The Nthread value for the omp keyword sets the number of OpenMP +threads allocated for each MPI task. Setting Nthread = 0 (the default) instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the -OMP_NUM_THREADS environment variable or the compiler runtime, which -is usually a value of 1.

    -

    For more details, including examples of how to set the OMP_NUM_THREADS -environment variable, see the discussion of the Nthreads setting on -this doc page for the “package omp” command. Nthreads is a required +OMP_NUM_THREADS environment variable or the compiler runtime, which +is usually a value of 1. +

    +

    For more details, including examples of how to set the OMP_NUM_THREADS +environment variable, see the discussion of the Nthreads setting on +this doc page for the "package omp" command. Nthreads is a required argument for the USER-OMP package. Its meaning is exactly the same -for the USER-INTEL pacakge.

    -
    -

    Warning

    -

    If you build LAMMPS with both the USER-INTEL and +for the USER-INTEL pacakge. +

    +

    IMPORTANT NOTE: If you build LAMMPS with both the USER-INTEL and USER-OMP packages, be aware that both packages allow setting of the -Nthreads value via their package commands, but there is only a -single global Nthreads value used by OpenMP. Thus if both package +Nthreads value via their package commands, but there is only a +single global Nthreads value used by OpenMP. Thus if both package commands are invoked, you should insure the two values are consistent. If they are not, the last one invoked will take precedence, for both -packages. Also note that if the “-sf intel” command-line switch is used, it invokes a “package -intel” command, followed by a “package omp” command, both with a -setting of Nthreads = 0.

    -
    -

    The mode keyword determines the precision mode to use for +packages. Also note that if the "-sf intel" command-line"> +switch is used, it invokes a "package +intel" command, followed by a "package omp" command, both with a +setting of Nthreads = 0. +

    +

    The mode keyword determines the precision mode to use for computing pair style forces, either on the CPU or on the coprocessor, -when using a USER-INTEL supported pair style. It -can take a value of single, mixed which is the default, or -double. Single means single precision is used for the entire -force calculation. Mixed means forces between a pair of atoms are +when using a USER-INTEL supported pair style. It +can take a value of single, mixed which is the default, or +double. Single means single precision is used for the entire +force calculation. Mixed means forces between a pair of atoms are computed in single precision, but accumulated and stored in double precision, including storage of forces, torques, energies, and virial -quantities. Double means double precision is used for the entire -force calculation.

    -

    The balance keyword sets the fraction of pair style work offloaded to the coprocessor for split +quantities. Double means double precision is used for the entire +force calculation. +

    +

    The balance keyword sets the fraction of pair +style work offloaded to the coprocessor for split values between 0.0 and 1.0 inclusive. While this fraction of work is running on the coprocessor, other calculations will run on the host, including neighbor and pair calculations that are not offloaded, as well as angle, bond, dihedral, kspace, and some MPI communications. -If split is set to -1, the fraction of work is dynamically adjusted +If split is set to -1, the fraction of work is dynamically adjusted automatically throughout the run. This typically give performance -within 5 to 10 percent of the optimal fixed fraction.

    -

    The ghost keyword determines whether or not ghost atoms, i.e. atoms +within 5 to 10 percent of the optimal fixed fraction. +

    +

    The ghost keyword determines whether or not ghost atoms, i.e. atoms at the boundaries of proessor sub-domains, are offloaded for neighbor -and force calculations. When the value = “no”, ghost atoms are not +and force calculations. When the value = "no", ghost atoms are not offloaded. This option can reduce the amount of data transfer with the coprocessor and can also overlap MPI communication of forces with -computation on the coprocessor when the newton pair -setting is “on”. When the value = “yes”, ghost atoms are offloaded. +computation on the coprocessor when the newton pair +setting is "on". When the value = "yes", ghost atoms are offloaded. In some cases this can provide better performance, especially if the -balance fraction is high.

    -

    The tpc keyword sets the max # of coprocessor threads Ntpc that +balance fraction is high. +

    +

    The tpc keyword sets the max # of coprocessor threads Ntpc that will run on each core of the coprocessor. The default value = 4, which is the number of hardware threads per core supported by the -current generation Xeon Phi chips.

    -

    The tptask keyword sets the max # of coprocessor threads (Ntptask* +current generation Xeon Phi chips. +

    +

    The tptask keyword sets the max # of coprocessor threads (Ntptask assigned to each MPI task. The default value = 240, which is the total # of threads an entire current generation Xeon Phi chip can run (240 = 60 cores * 4 threads/core). This means each MPI task assigned to the Phi will enough threads for the chip to run the max allowed, even if only 1 MPI task is assigned. If 8 MPI tasks are assigned to the Phi, each will run with 30 threads. If you wish to limit the -number of threads per MPI task, set tptask to a smaller value. -E.g. for tptask = 16, if 8 MPI tasks are assigned, each will run -with 16 threads, for a total of 128.

    -

    Note that the default settings for tpc and tptask are fine for -most problems, regardless of how many MPI tasks you assign to a Phi.

    -

    The no_affinity keyword will turn off automatic setting of core +number of threads per MPI task, set tptask to a smaller value. +E.g. for tptask = 16, if 8 MPI tasks are assigned, each will run +with 16 threads, for a total of 128. +

    +

    Note that the default settings for tpc and tptask are fine for +most problems, regardless of how many MPI tasks you assign to a Phi. +

    +

    The no_affinity keyword will turn off automatic setting of core affinity for MPI tasks and OpenMP threads on the host when using -offload to a coprocessor. Affinity settings are used when possible -to prevent MPI tasks and OpenMP threads from being on separate NUMA -domains and to prevent offload threads from interfering with other -processes/threads used for LAMMPS.

    -
    -

    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.

    -

    The neigh keyword determines how neighbor lists are built. A value -of half uses half-neighbor lists, the same as used by most pair -styles in LAMMPS. A value of half/thread uses a thread-safe variant -of the half-neighbor list. It should be used instead of half when +offload to a coprocessor. Affinity settings are used when possible +to prevent MPI tasks and OpenMP threads from being on separate NUMA +domains and to prevent offload threads from interfering with other +processes/threads used for LAMMPS. +

    +
    + +

    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. +

    +

    The neigh keyword determines how neighbor lists are built. A value +of half uses half-neighbor lists, the same as used by most pair +styles in LAMMPS. A value of half/thread uses a thread-safe variant +of the half-neighbor list. It should be used instead of half when running with more than 1 threads per MPI task on a CPU. A value of -n2 uses an O(N^2) algorithm to build the neighbor list without +n2 uses an O(N^2) algorithm to build the neighbor list without binning, where N = # of atoms on a processor. It is typically slower -than the other methods, which use binning.

    -

    A value of full uses a full neighbor lists and is the default. 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 +than the other methods, which use binning. +

    +

    A value of full uses a full neighbor lists and is the default. 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. However, when running in MPI-only mode with 1 -thread per MPI task, half neighbor lists will typically be faster, -just as it is for non-accelerated pair styles.

    -

    A value of full/cluster is an experimental neighbor style, where +thread per MPI task, half neighbor lists will typically be faster, +just as it is for non-accelerated pair styles. +

    +

    A value of full/cluster is an experimental neighbor style, where particles interact with all particles within a small cluster, if at least one of the clusters particles is within the neighbor cutoff range. This potentially allows for better vectorization on architectures such as the Intel Phi. If also reduces the size of the neighbor list by roughly a factor of the cluster size, thus reducing -the total memory footprint considerably.

    -

    The newton keyword sets the Newton flags for pairwise and bonded -interactions to off or on, the same as the newton -command allows. The default is off because this will almost always +the total memory footprint considerably. +

    +

    The newton keyword sets the Newton flags for pairwise and bonded +interactions to off or on, the same as the newton +command allows. The default 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 in -MPI-only mode with 1 thread per MPI task, a value of on will -typically 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 command. Making it an option in the +MPI-only mode with 1 thread per MPI task, a value of on will +typically 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 command. Making it an option in the package kokkos command allows it to be set from the command line. The default value is 0.0, which means the LAMMPS default will be used, which is bins = 1/2 the size of the pairwise cutoff + neighbor skin @@ -555,209 +486,181 @@ 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 can be set by this keyword. 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 because the GPU is faster at +allow for a smaller fraction of KSpace work with a long-range +Coulombic solver because the GPU is faster at performing pairwise interactions, then this rule of thumb may give too -large a binsize.

    -

    The comm and comm/exchange and comm/forward keywords determine +large a binsize. +

    +

    The comm and comm/exchange and comm/forward keywords determine whether the host or device performs the packing and unpacking of data -when communicating per-atom data between processors. “Exchange” +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. The data is for atom +"Forward" communication happens every timestep. 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/exchange and comm/forward 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 +ghost atoms owned by each processor. +

    +

    The comm keyword is simply a short-cut to set the same value +for both the comm/exchange and comm/forward 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 +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 may +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 may also be the fastest choice when using Kokkos styles in MPI-only mode -(i.e. with a thread count of 1).

    -

    When running on CPUs or Xeon Phi, the host and device values work -identically. When using GPUs, the device value will typically be +(i.e. with a thread count of 1). +

    +

    When running on CPUs or Xeon Phi, the host and device values work +identically. When using GPUs, the device value 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. This requires that your MPI is able to access GPU +device value. This requires that your MPI is able to access GPU memory directly. Currently that is true for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later), and CrayMPI. 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.

    -
    -

    The omp style invokes settings associated with the use of the -USER-OMP package.

    -

    The Nthread argument sets the number of OpenMP threads allocated for +host value. Using host instead of no will enable use of +multiple threads to pack/unpack communicated data. +

    +
    + +

    The omp style invokes settings associated with the use of the +USER-OMP package. +

    +

    The Nthread argument sets the number of OpenMP threads allocated for each MPI task. For example, if your system has nodes with dual quad-core processors, it has a total of 8 cores per node. You could use two MPI tasks per node (e.g. using the -ppn option of the mpirun -command in MPICH or -npernode in OpenMPI), and set Nthreads = 4. +command in MPICH or -npernode in OpenMPI), and set Nthreads = 4. This would use all 8 cores on each node. Note that the product of MPI tasks * threads/task should not exceed the physical number of cores -(on a node), otherwise performance will suffer.

    -

    Setting Nthread = 0 instructs LAMMPS to use whatever value is the +(on a node), otherwise performance will suffer. +

    +

    Setting Nthread = 0 instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined -via the OMP_NUM_THREADS environment variable or the compiler +via the OMP_NUM_THREADS environment variable or the compiler runtime. Note that in most cases the default for OpenMP capable compilers is to use one thread for each available CPU core when -OMP_NUM_THREADS is not explicitly set, which can lead to poor -performance.

    -

    Here are examples of how to set the environment variable when -launching LAMMPS:

    -
    env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
    +OMP_NUM_THREADS is not explicitly set, which can lead to poor
    +performance.
    +

    +

    Here are examples of how to set the environment variable when +launching LAMMPS: +

    +
    env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
     env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
    -mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script
    -
    -
    -

    or you can set it permanently in your shell’s start-up script. -All three of these examples use a total of 4 CPU cores.

    -

    Note that different MPI implementations have different ways of passing +mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script + +

    or you can set it permanently in your shell's start-up script. +All three of these examples use a total of 4 CPU cores. +

    +

    Note that different MPI implementations have different ways of passing the OMP_NUM_THREADS environment variable to all MPI processes. The 2nd example line above is for MPICH; the 3rd example line with -x is -for OpenMPI. Check your MPI documentation for additional details.

    -

    What combination of threads and MPI tasks gives the best performance +for OpenMPI. Check your MPI documentation for additional details. +

    +

    What combination of threads and MPI tasks gives the best performance is difficult to predict and can depend on many components of your input. Not all features of LAMMPS support OpenMP threading via the USER-OMP packaage and the parallel efficiency can be very different, -too.

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below.

    -

    The neigh keyword specifies whether neighbor list building will be -multi-threaded in addition to force calculations. If neigh is set -to no then neighbor list calculation is performed only by MPI tasks -with no OpenMP threading. If mode is yes (the default), a -multi-threaded neighbor list build is used. Using neigh = yes is +too. +

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below. +

    +

    The neigh keyword specifies whether neighbor list building will be +multi-threaded in addition to force calculations. If neigh is set +to no then neighbor list calculation is performed only by MPI tasks +with no OpenMP threading. If mode is yes (the default), a +multi-threaded neighbor list build is used. Using neigh = yes is almost always faster and should produce idential neighbor lists at the expense of using more memory. Specifically, neighbor list pages are allocated for all threads at the same time and each thread works -within its own pages.

    -
    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command.

    -

    The cuda style of this command can only be invoked if LAMMPS was built -with the USER-CUDA package. See the Making LAMMPS section for more info.

    -

    The gpu style of this command can only be invoked if LAMMPS was built -with the GPU package. See the Making LAMMPS section for more info.

    -

    The intel style of this command can only be invoked if LAMMPS was -built with the USER-INTEL package. See the Making LAMMPS section for more info.

    -

    The kk style of this command can only be invoked if LAMMPS was built -with the KOKKOS package. See the Making LAMMPS section for more info.

    -

    The omp style of this command can only be invoked if LAMMPS was built -with the USER-OMP package. See the Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    For the USER-CUDA package, the default is Ngpu = 1 and the option +within its own pages. +

    +
    + +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

    +

    The cuda style of this command can only be invoked if LAMMPS was built +with the USER-CUDA package. See the Making +LAMMPS section for more info. +

    +

    The gpu style of this command can only be invoked if LAMMPS was built +with the GPU package. See the Making +LAMMPS section for more info. +

    +

    The intel style of this command can only be invoked if LAMMPS was +built with the USER-INTEL package. See the Making +LAMMPS section for more info. +

    +

    The kk style of this command can only be invoked if LAMMPS was built +with the KOKKOS package. See the Making +LAMMPS section for more info. +

    +

    The omp style of this command can only be invoked if LAMMPS was built +with the USER-OMP package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    suffix, "-pk" command-line +setting +

    +

    Default: +

    +

    For the USER-CUDA package, the default is Ngpu = 1 and the option defaults are newton = off, gpuID = 0 to Ngpu-1, timing = not enabled, test = not enabled, and thread = auto. These settings are made -automatically by the required “-c on” command-line switch. You can change them bu using the -package cuda command in your input script or via the “-pk cuda” -command-line switch.

    -

    For the GPU package, the default is Ngpu = 1 and the option defaults +automatically by the required "-c on" command-line +switch. You can change them bu using the +package cuda command in your input script or via the "-pk cuda" +command-line switch. +

    +

    For the GPU package, the default is Ngpu = 1 and the option defaults are neigh = yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, and device = not used. These settings are made -automatically if the “-sf gpu” command-line switch is used. If it is not used, you +automatically if the "-sf gpu" command-line +switch is used. If it is not used, you must invoke the package gpu command in your input script or via the -“-pk gpu” command-line switch.

    -

    For the USER-INTEL package, the default is Nphi = 1 and the option +"-pk gpu" command-line switch. +

    +

    For the USER-INTEL package, the default is Nphi = 1 and the option defaults are omp = 0, mode = mixed, balance = -1, tpc = 4, tptask = 240. The default ghost option is determined by the pair style being used. This value is output to the screen in the offload report at the -end of each run. Note that all of these settings, except “omp” and -“mode”, are ignored if LAMMPS was not built with Xeon Phi coprocessor -support. These settings are made automatically if the “-sf intel” -command-line switch is used. If it is +end of each run. Note that all of these settings, except "omp" and +"mode", are ignored if LAMMPS was not built with Xeon Phi coprocessor +support. These settings are made automatically if the "-sf intel" +command-line switch is used. If it is not used, you must invoke the package intel command in your input -script or or via the “-pk intel” command-line switch.

    -

    For the KOKKOS package, the option defaults neigh = full, newton = +script or or via the "-pk intel" command-line +switch. +

    +

    For the KOKKOS package, the option defaults neigh = full, newton = off, binsize = 0.0, and comm = host. These settings are made -automatically by the required “-k on” command-line switch. You can change them bu using the -package kokkos command in your input script or via the “-pk kokkos” -command-line switch.

    -

    For the OMP package, the default is Nthreads = 0 and the option +automatically by the required "-k on" command-line +switch. You can change them bu using the +package kokkos command in your input script or via the "-pk kokkos" +command-line switch. +

    +

    For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if -the “-sf omp” command-line switch is +the "-sf omp" command-line switch is used. If it is not used, you must invoke the package omp command in -your input script or via the “-pk omp” command-line switch.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +your input script or via the "-pk omp" command-line +switch. +

    + diff --git a/doc/pair_adp.html b/doc/pair_adp.html index 77cdbf81b1..bbce04db07 100644 --- a/doc/pair_adp.html +++ b/doc/pair_adp.html @@ -1,343 +1,194 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style adp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style adp command¶

    -
    -
    -

    pair_style adp/omp command¶

    -
    -

    Syntax¶

    -
    pair_style adp
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style adp
    +
    +
    +
    + +

    pair_style adp command +

    +

    pair_style adp/omp command +

    +

    Syntax: +

    +
    pair_style adp 
    +
    +

    Examples: +

    +
    pair_style adp
     pair_coeff * * Ta.adp Ta
    -pair_coeff * * ../potentials/AlCu.adp Al Al Cu
    -
    -
    -
    -
    -

    Description¶

    -

    Style adp computes pairwise interactions for metals and metal alloys -using the angular dependent potential (ADP) of (Mishin), -which is a generalization of the embedded atom method (EAM) potential. The LAMMPS implementation is discussed in -(Singh). The total energy Ei of an atom I is given by

    -_images/pair_adp.jpg -

    where F is the embedding energy which is a function of the atomic +pair_coeff * * ../potentials/AlCu.adp Al Al Cu + +

    Description: +

    +

    Style adp computes pairwise interactions for metals and metal alloys +using the angular dependent potential (ADP) of (Mishin), +which is a generalization of the embedded atom method (EAM) +potential. The LAMMPS implementation is discussed in +(Singh). The total energy Ei of an atom I is given by +

    +
    +
    +

    where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, alpha and beta are the element types of atoms I and J, and s and t = 1,2,3 and refer to the cartesian coordinates. The mu and lambda terms represent the dipole and quadruple distortions of the local atomic environment -which extend the original EAM framework by introducing angular forces.

    -

    Note that unlike for other potentials, cutoffs for ADP potentials are +which extend the original EAM framework by introducing angular forces. +

    +

    Note that unlike for other potentials, cutoffs for ADP potentials are not set in the pair_style or pair_coeff command; they are specified in the ADP potential files themselves. Likewise, the ADP potential files -list atomic masses; thus you do not need to use the mass -command to specify them.

    -

    The NIST WWW site distributes and documents ADP potentials:

    -
    http://www.ctcms.nist.gov/potentials
    -
    -
    -

    Note that these must be converted into the extended DYNAMO setfl -format discussed below.

    -

    The NIST site is maintained by Chandler Becker (cbecker at nist.gov) +list atomic masses; thus you do not need to use the mass +command to specify them. +

    +

    The NIST WWW site distributes and documents ADP potentials: +

    +
    http://www.ctcms.nist.gov/potentials 
    +
    +

    Note that these must be converted into the extended DYNAMO setfl +format discussed below. +

    +

    The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on interatomic potentials and file -formats.

    -
    -

    Only a single pair_coeff command is used with the adp style which -specifies an extended DYNAMO setfl file, which contains information +formats. +

    +
    + +

    Only a single pair_coeff command is used with the adp style which +specifies an extended DYNAMO setfl file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of extended setfl elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways to -specify the path for the potential file.

    -

    As an example, the potentials/AlCu.adp file, included in the -potentials directory of the LAMMPS distrbution, is an extended setfl +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of extended setfl elements to atom types +
    +

    See the pair_coeff doc page for alternate ways to +specify the path for the potential file. +

    +

    As an example, the potentials/AlCu.adp file, included in the +potentials directory of the LAMMPS distrbution, is an extended setfl file which has tabulated ADP values for w elements and their alloy interactions: Cu and Al. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Al, and the 4th to be Cu, you would use -the following pair_coeff command:

    -
    pair_coeff * * AlCu.adp Al Al Al Cu
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +the following pair_coeff command: +

    +
    pair_coeff * * AlCu.adp Al Al Al Cu 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Al arguments map LAMMPS atom types 1,2,3 to the Al -element in the extended setfl file. The final Cu argument maps -LAMMPS atom type 4 to the Al element in the extended setfl file. +element in the extended setfl file. The final Cu argument maps +LAMMPS atom type 4 to the Al element in the extended setfl file. Note that there is no requirement that your simulation use all the -elements specified by the extended setfl file.

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an adp potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    Adp files in the potentials directory of the LAMMPS distribution -have an ”.adp” suffix. A DYNAMO setfl file extended for ADP is -formatted as follows. Basically it is the standard setfl format +elements specified by the extended setfl file. +

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an adp potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    Adp files in the potentials directory of the LAMMPS distribution +have an ".adp" suffix. A DYNAMO setfl file extended for ADP is +formatted as follows. Basically it is the standard setfl format with additional tabulated functions u and w added to the file after -the tabulated pair potentials. See the pair_eam -command for further details on the setfl format.

    -
      -
    • lines 1,2,3 = comments (ignored)
    • -
    • line 4: Nelements Element1 Element2 ... ElementN
    • -
    • line 5: Nrho, drho, Nr, dr, cutoff
    • -
    -

    Following the 5 header lines are Nelements sections, one for each -element, each with the following format:

    -
      -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • -
    • embedding function F(rho) (Nrho values)
    • -
    • density function rho(r) (Nr values)
    • -
    -

    Following the Nelements sections, Nr values for each pair potential +the tabulated pair potentials. See the pair_eam +command for further details on the setfl format. +

    +
    • lines 1,2,3 = comments (ignored) +
    • line 4: Nelements Element1 Element2 ... ElementN +
    • line 5: Nrho, drho, Nr, dr, cutoff +
    +

    Following the 5 header lines are Nelements sections, one for each +element, each with the following format: +

    +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +
    • embedding function F(rho) (Nrho values) +
    • density function rho(r) (Nr values) +
    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = +only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). The tabulated values for each phi function are listed as r*phi (in units of eV-Angstroms), since they are for atom pairs, the -same as for other EAM files.

    -

    After the phi(r) arrays, each of the u(r) arrays are listed in the +same as for other EAM files. +

    +

    After the phi(r) arrays, each of the u(r) arrays are listed in the same order with the same assumptions of symmetry. Directly following the u(r), the w(r) arrays are listed. Note that phi(r) is the only -array tabulated with a scaling by r.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +array tabulated with a scaling by r. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, no special mixing rules are needed, since -the ADP potential files specify alloy interactions explicitly.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in tabulated potential files. +the ADP potential files specify alloy interactions explicitly. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, 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.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package (which it is by default).

    -
    - -
    +an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: +

    +

    This pair style is part of the MANYBODY package. It is only enabled +if LAMMPS was built with that package (which it is by default). +

    +

    Related commands: +

    +

    pair_coeff, pair_eam +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Mishin) Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 +(2005). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Singh) Singh and Warner, Acta Mater, 58, 5797-5805 (2010), +

    + diff --git a/doc/pair_airebo.html b/doc/pair_airebo.html index 4c9727beee..898b04d7a2 100644 --- a/doc/pair_airebo.html +++ b/doc/pair_airebo.html @@ -1,357 +1,203 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style airebo command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style airebo command¶

    -
    -
    -

    pair_style airebo/omp command¶

    -
    -
    -

    pair_style rebo command¶

    -
    -
    -

    pair_style rebo/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style cutoff LJ_flag TORSION_flag
    -
    -
    -
      -
    • style = airebo or rebo
    • -
    • cutoff = LJ cutoff (sigma scale factor) (AIREBO only)
    • -
    • LJ_flag = 0/1 to turn off/on the LJ term (AIREBO only, optional)
    • -
    • TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO only, optional)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style airebo 3.0
    +
    +
    +
    + +

    pair_style airebo command +

    +

    pair_style airebo/omp command +

    +

    pair_style rebo command +

    +

    pair_style rebo/omp command +

    +

    Syntax: +

    +
    pair_style style cutoff LJ_flag TORSION_flag 
    +
    +
    • style = airebo or rebo +
    • cutoff = LJ cutoff (sigma scale factor) (AIREBO only) +
    • LJ_flag = 0/1 to turn off/on the LJ term (AIREBO only, optional) +
    • TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO only, optional) +
    +

    Examples: +

    +
    pair_style airebo 3.0
     pair_style airebo 2.5 1 0
    -pair_coeff * * ../potentials/CH.airebo H C
    -
    -
    -
    pair_style rebo
    -pair_coeff * * ../potentials/CH.airebo H C
    -
    -
    -
    -
    -

    Description¶

    -

    The airebo pair style computes the Adaptive Intermolecular Reactive -Empirical Bond Order (AIREBO) Potential of (Stuart) for a +pair_coeff * * ../potentials/CH.airebo H C + +

    pair_style rebo
    +pair_coeff * * ../potentials/CH.airebo H C 
    +
    +

    Description: +

    +

    The airebo pair style computes the Adaptive Intermolecular Reactive +Empirical Bond Order (AIREBO) Potential of (Stuart) for a system of carbon and/or hydrogen atoms. Note that this is the initial formulation of AIREBO from 2000, not the later formulation. The -rebo pair style computes the Reactive Empirical Bond Order (REBO) -Potential of (Brenner). Note that this is the so-called +rebo pair style computes the Reactive Empirical Bond Order (REBO) +Potential of (Brenner). Note that this is the so-called 2nd generation REBO from 2002, not the original REBO from 1990. As discussed below, 2nd generation REBO is closely related to the intial -AIREBO; it is just a subset of the potential energy terms.

    -

    The AIREBO potential consists of three terms:

    -_images/pair_airebo.jpg -

    By default, all three terms are included. For the airebo style, if +AIREBO; it is just a subset of the potential energy terms. +

    +

    The AIREBO potential consists of three terms: +

    +
    +
    +

    By default, all three terms are included. For the airebo style, if the two optional flag arguments to the pair_style command are included, the LJ and torsional terms can be turned off. Note that both or neither of the flags must be included. If both of the LJ an torsional terms are turned off, it becomes the 2nd-generation REBO potential, with a small caveat on the spline fitting procedure mentioned below. This can be specified directly as pair_style rebo -with no additional arguments.

    -

    The detailed formulas for this potential are given in -(Stuart); here we provide only a brief description.

    -

    The E_REBO term has the same functional form as the hydrocarbon REBO -potential developed in (Brenner). The coefficients for -E_REBO in AIREBO are essentially the same as Brenner’s potential, but +with no additional arguments. +

    +

    The detailed formulas for this potential are given in +(Stuart); here we provide only a brief description. +

    +

    The E_REBO term has the same functional form as the hydrocarbon REBO +potential developed in (Brenner). The coefficients for +E_REBO in AIREBO are essentially the same as Brenner's potential, but a few fitted spline values are slightly different. For most cases the E_REBO term in AIREBO will produce the same energies, forces and statistical averages as the original REBO potential from which it was derived. The E_REBO term in the AIREBO potential gives the model its reactive capabilities and only describes short-ranged C-C, C-H and H-H -interactions (r < 2 Angstroms). These interactions have strong +interactions (r < 2 Angstroms). These interactions have strong coordination-dependence through a bond order parameter, which adjusts the attraction between the I,J atoms based on the position of other -nearby atoms and thus has 3- and 4-body dependence.

    -

    The E_LJ term adds longer-ranged interactions (2 < r < cutoff) using a -form similar to the standard Lennard Jones potential. +nearby atoms and thus has 3- and 4-body dependence. +

    +

    The E_LJ term adds longer-ranged interactions (2 < r < cutoff) using a +form similar to the standard Lennard Jones potential. The E_LJ term in AIREBO contains a series of switching functions so that the short-ranged LJ repulsion (1/r^12) does not interfere with the energetics captured by the E_REBO term. The extent of the E_LJ -interactions is determined by the cutoff argument to the pair_style +interactions is determined by the cutoff argument to the pair_style command which is a scale factor. For each type pair (C-C, C-H, H-H) the cutoff is obtained by multiplying the scale factor by the sigma value defined in the potential file for that type pair. In the standard AIREBO potential, sigma_CC = 3.4 Angstroms, so with a scale factor of 3.0 (the argument in pair_style), the resulting E_LJ cutoff -would be 10.2 Angstroms.

    -

    The E_TORSION term is an explicit 4-body potential that describes -various dihedral angle preferences in hydrocarbon configurations.

    -
    -

    Only a single pair_coeff command is used with the airebo or rebo +would be 10.2 Angstroms. +

    +

    The E_TORSION term is an explicit 4-body potential that describes +various dihedral angle preferences in hydrocarbon configurations. +

    +
    + +

    Only a single pair_coeff command is used with the airebo or rebo style which specifies an AIREBO potential file with parameters for C -and H. Note that the rebo style in LAMMPS uses the same +and H. Note that the rebo style in LAMMPS uses the same AIREBO-formatted potential file. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the -pair_coeff command, where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of AIREBO elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, if your LAMMPS simulation has 4 atom types and you want +pair_coeff command, where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of AIREBO elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, if your LAMMPS simulation has 4 atom types and you want the 1st 3 to be C, and the 4th to be H, you would use the following -pair_coeff command:

    -
    pair_coeff * * CH.airebo C C C H
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command: +

    +
    pair_coeff * * CH.airebo C C C H 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C element in the AIREBO file. The final H argument maps LAMMPS atom type 4 to the H element in the SW file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when a airebo potential is used as part of the hybrid pair style. +when a airebo potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with -other potentials.

    -

    The parameters/coefficients for the AIREBO potentials are listed in -the CH.airebo file to agree with the original (Stuart) +other potentials. +

    +

    The parameters/coefficients for the AIREBO potentials are listed in +the CH.airebo file to agree with the original (Stuart) paper. Thus the parameters are specific to this potential and the way -it was fit, so modifying the file should be done cautiously.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +it was fit, so modifying the file should be done cautiously. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support the pair_modify -mix, shift, table, and tail options.

    -

    These pair styles do not write their information to binary restart files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support the pair_modify +mix, shift, table, and tail options. +

    +

    These pair styles do not write their information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands 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 command. They do not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the MANYBODY package. They are only +script that reads a restart file. +

    +

    These pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info.

    -

    These pair potentials require the newton setting to be -“on” for pair interactions.

    -

    The CH.airebo potential file provided with LAMMPS (see the potentials -directory) is parameterized for metal units. You can use +default). See the Making LAMMPS section +for more info. +

    +

    These pair potentials require the newton setting to be +"on" for pair interactions. +

    +

    The CH.airebo potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal units. You can use the AIREBO or REBO potential with any LAMMPS units, but you would need to create your own AIREBO potential file with coefficients listed in -the appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +the appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Stuart) Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486 +(2000). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Brenner) Brenner, Shenderova, Harrison, Stuart, Ni, Sinnott, J +Physics: Condensed Matter, 14, 783-802 (2002). +

    + diff --git a/doc/pair_awpmd.html b/doc/pair_awpmd.html index 99fd54347c..7ab6be8670 100644 --- a/doc/pair_awpmd.html +++ b/doc/pair_awpmd.html @@ -1,297 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style awpmd/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style awpmd/cut command¶

    -
    -

    Syntax¶

    -
    pair_style awpmd/cut Rc keyword value ...
    -
    -
    -
      -
    • Rc = global cutoff, -1 means cutoff of half the shortest box length
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = hartree or dproduct or uhf or free or pbc or fix or harm or ermscale or flex_press
    • -
    -
    -hartree value = none
    -  dproduct value = none
    -  uhf value = none
    -  free value = none
    -  pbc value = Plen
    +
    +
    +
    + +

    pair_style awpmd/cut command +

    +

    Syntax: +

    +
    pair_style awpmd/cut Rc keyword value ... 
    +
    +
    • Rc = global cutoff, -1 means cutoff of half the shortest box length + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = hartree or dproduct or uhf or free or pbc or fix or harm or ermscale or flex_press + +
        hartree value = none
      +  dproduct value = none
      +  uhf value = none
      +  free value = none
      +  pbc value = Plen
           Plen = periodic width of electron = -1 or positive value (distance units)
      -  fix value = Flen
      +  fix value = Flen
           Flen = fixed width of electron = -1 or positive value (distance units)
      -  harm value = width
      +  harm value = width
           width = harmonic width constraint
      -  ermscale value = factor
      +  ermscale value = factor
           factor = scaling between electron mass and width variable mass
      -  flex_press value = none
      -
      -
    -
    -

    Examples¶

    -
    pair_style awpmd/cut -1
    +  flex_press value = none 
    +
    + + +

    Examples: +

    +
    pair_style awpmd/cut -1
     pair_style awpmd/cut 40.0 uhf free
     pair_coeff * *
    -pair_coeff 2 2 20.0
    -
    -
    -
    -
    -

    Description¶

    -

    This pair style contains an implementation of the Antisymmetrized Wave +pair_coeff 2 2 20.0 + +

    Description: +

    +

    This pair style contains an implementation of the Antisymmetrized Wave Packet Molecular Dynamics (AWPMD) method. Need citation here. Need -basic formulas here. Could be links to other documents.

    -

    Rc is the cutoff.

    -

    The pair_style command allows for several optional keywords -to be specified.

    -

    The hartree, dproduct, and uhf keywords specify the form of the -initial trial wave function for the system. If the hartree keyword +basic formulas here. Could be links to other documents. +

    +

    Rc is the cutoff. +

    +

    The pair_style command allows for several optional keywords +to be specified. +

    +

    The hartree, dproduct, and uhf keywords specify the form of the +initial trial wave function for the system. If the hartree keyword is used, then a Hartree multielectron trial wave function is used. If -the dproduct keyword is used, then a trial function which is a -product of two determinants for each spin type is used. If the uhf +the dproduct keyword is used, then a trial function which is a +product of two determinants for each spin type is used. If the uhf keyword is used, then an unrestricted Hartree-Fock trial wave function -is used.

    -

    The free, pbc, and fix keywords specify a width constraint on -the electron wavepackets. If the free keyword is specified, then there is no -constraint. If the pbc keyword is used and Plen is specified as --1, then the maximum width is half the shortest box length. If Plen +is used. +

    +

    The free, pbc, and fix keywords specify a width constraint on +the electron wavepackets. If the free keyword is specified, then there is no +constraint. If the pbc keyword is used and Plen is specified as +-1, then the maximum width is half the shortest box length. If Plen is a positive value, then the value is the maximum width. If the -fix keyword is used and Flen is specified as -1, then electrons -have a constant width that is read from the data file. If Flen is a +fix keyword is used and Flen is specified as -1, then electrons +have a constant width that is read from the data file. If Flen is a positive value, then the constant width for all electrons is set to -Flen.

    -

    The harm keyword allow oscillations in the width of the -electron wavepackets. More details are needed.

    -

    The ermscale keyword specifies a unitless scaling factor +Flen. +

    +

    The harm keyword allow oscillations in the width of the +electron wavepackets. More details are needed. +

    +

    The ermscale keyword specifies a unitless scaling factor between the electron masses and the width variable mass. More -details needed.

    -

    If the flex_press keyword is used, then a contribution from the -electrons is added to the total virial and pressure of the system.

    -

    This potential is designed to be used with atom_style wavepacket definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +details needed. +

    +

    If the flex_press keyword is used, then a contribution from the +electrons is added to the total virial and pressure of the system. +

    +

    This potential is designed to be used with atom_style +wavepacket definitions, in order to handle the +description of systems with interacting nuclei and explicit electrons. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutoff (distance units)
    • -
    -

    For awpmd/cut, the cutoff coefficient is optional. If it is not +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutoff (distance units) +
    +

    For awpmd/cut, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value -specified in the pair_style command is used.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    The pair_modify mix, shift, table, and tail options -are not relevant for this pair style.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    These are the defaults for the pair_style keywords: hartree for the -initial wavefunction, free for the wavepacket width.

    -
    -
    +specified in the pair_style command is used. +

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    The pair_modify mix, shift, table, and tail options +are not relevant for this pair style. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: +

    +

    These are the defaults for the pair_style keywords: hartree for the +initial wavefunction, free for the wavepacket width. +

    + diff --git a/doc/pair_beck.html b/doc/pair_beck.html index a42042ddb9..e804eb066b 100644 --- a/doc/pair_beck.html +++ b/doc/pair_beck.html @@ -1,282 +1,117 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style beck command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style beck command¶

    -
    -
    -

    pair_style beck/gpu command¶

    -
    -
    -

    pair_style beck/omp command¶

    -
    -

    Syntax¶

    -
    pair_style beck Rc
    -
    -
    -
      -
    • Rc = cutoff for interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style beck 8.0
    +
    +
    +
    + +

    pair_style beck command +

    +

    pair_style beck/gpu command +

    +

    pair_style beck/omp command +

    +

    Syntax: +

    +
    pair_style beck Rc 
    +
    +
    • Rc = cutoff for interactions (distance units) +
    +

    Examples: +

    +
    pair_style beck 8.0
     pair_coeff * * 399.671876712 0.0000867636112694 0.675 4.390 0.0003746
    -pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style beck computes interactions based on the potential by -(Beck), originally designed for simulation of Helium. It -includes truncation at a cutoff distance Rc.

    -_images/pair_beck.jpg -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 + +

    Description: +

    +

    Style beck computes interactions based on the potential by +(Beck), originally designed for simulation of Helium. It +includes truncation at a cutoff distance Rc. +

    +
    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands.

    -
      -
    • A (energy units)
    • -
    • B (energy-distance^6 units)
    • -
    • a (distance units)
    • -
    • alpha (1/distance units)
    • -
    • beta (1/distance^6 units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -Rc is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands. +

    +
    • A (energy units) +
    • B (energy-distance^6 units) +
    • a (distance units) +
    • alpha (1/distance units) +
    • beta (1/distance^6 units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +Rc is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, coeffiecients must be specified. -No default miture rules are used.

    -

    This pair style does not support the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify -tail option for adding long-range tail corrections.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, coeffiecients must be specified. +No default miture rules are used. +

    +

    This pair style does not support the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify +tail option for adding long-range tail corrections. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    -
    -
    -
    - +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Beck) Beck, Molecular Physics, 14, 311 (1968). +

    + diff --git a/doc/pair_body.html b/doc/pair_body.html index 4be17e0a50..b83a52bdca 100644 --- a/doc/pair_body.html +++ b/doc/pair_body.html @@ -1,289 +1,124 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style body command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style body command¶

    -
    -

    Syntax¶

    -
    pair_style body cutoff
    -
    -
    -

    cutoff = global cutoff for interactions (distance units)

    -
    -
    -

    Examples¶

    -
    pair_style body 3.0
    +
    +
    +
    + +

    pair_style body command +

    +

    Syntax: +

    +
    pair_style body cutoff 
    +
    +

    cutoff = global cutoff for interactions (distance units) +

    +

    Examples: +

    +
    pair_style body 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5
    -
    -
    -
    -
    -

    Description¶

    -

    Style body is for use with body particles and calculates pairwise +pair_coeff 1 1 1.0 1.5 2.5 + +

    Description: +

    +

    Style body is for use with body particles and calculates pairwise body/body interactions as well as interactions between body and -point-particles. See Section_howto 14 -of the manual and the body doc page for more details on -using body particles.

    -

    This pair style is designed for use with the “nparticle” body style, -which is specified as an argument to the “atom-style body” command. -See the body doc page for more details about the body -styles LAMMPS supports. The “nparticle” style treats a body particle -as a rigid body composed of N sub-particles.

    -

    The coordinates of a body particle are its center-of-mass (COM). If +point-particles. See Section_howto 14 +of the manual and the body doc page for more details on +using body particles. +

    +

    This pair style is designed for use with the "nparticle" body style, +which is specified as an argument to the "atom-style body" command. +See the body doc page for more details about the body +styles LAMMPS supports. The "nparticle" style treats a body particle +as a rigid body composed of N sub-particles. +

    +

    The coordinates of a body particle are its center-of-mass (COM). If the COMs of a pair of body particles are within the cutoff (global or type-specific, as specified above), then all interactions between pairs of sub-particles in the two body particles are computed. E.g. if the first body particle has 3 sub-particles, and the second has 10, then 30 interactions are computed and summed to yield the -total force and torque on each body particle.

    -
    -

    Warning

    -

    In the example just described, all 30 interactions are +total force and torque on each body particle. +

    +

    IMPORTANT NOTE: In the example just described, all 30 interactions are computed even if the distance between a particular pair of sub-particles is greater than the cutoff. Likewise, no interaction between two body particles is computed if the two COMs are further apart than the cutoff, even if the distance between some pairs of their sub-particles is within the cutoff. Thus care should be used in defining the cutoff distances for body particles, depending on their -shape and size.

    -
    -

    Similar rules apply for a body particle interacting with a point +shape and size. +

    +

    Similar rules apply for a body particle interacting with a point particle. The distance between the two particles is calculated using the COM of the body particle and the position of the point particle. If the distance is within the cutoff and the body particle has N sub-particles, then N interactions with the point particle are computed and summed. If the distance is not within the cutoff, no -interactions between the body and point particle are computed.

    -

    The interaction between two sub-particles, or a sub-particle and point +interactions between the body and point particle are computed. +

    +

    The interaction between two sub-particles, or a sub-particle and point particle, or betwee two point particles is computed as a Lennard-Jones -interaction, using the standard formula

    -_images/pair_lj.jpg -

    where Rc is the cutoff. As explained above, an interaction involving -one or two body sub-particles may be computed even for r > Rc.

    -

    For style body, the following coefficients must be defined for each -pair of atoms types via the pair_coeff command as in +interaction, using the standard formula +

    +
    +
    +

    where Rc is the cutoff. As explained above, an interaction involving +one or two body sub-particles may be computed even for r > Rc. +

    +

    For style body, the following coefficients must be defined for each +pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +read_data or read_restart +commands: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -

    Defining particles to be bodies so they participate in body/body or -body/particle interactions requires the use of the atom_style body command.

    -
    - -
    +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This style is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Defining particles to be bodies so they participate in body/body or +body/particle interactions requires the use of the atom_style +body command. +

    +

    Related commands: +

    +

    pair_coeff, fix_rigid +

    +

    Default: none +

    + diff --git a/doc/pair_bop.html b/doc/pair_bop.html index 4e937440b1..0952ed896d 100644 --- a/doc/pair_bop.html +++ b/doc/pair_bop.html @@ -1,562 +1,460 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style bop command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style bop command¶

    -
    -

    Syntax¶

    -
    pair_style bop keyword ...
    -
    -
    -
      -
    • zero or more keywords may be appended
    • -
    • keyword = save
    • -
    -
    save = pre-compute and save some values
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style bop
    +
    +
    +
    + +

    pair_style bop command +

    +

    Syntax: +

    +
    pair_style bop keyword ... 
    +
    +
  • zero or more keywords may be appended + +
  • keyword = save + +
      save = pre-compute and save some values 
    +
    + + +

    Examples: +

    +
    pair_style bop 
     pair_coeff * * ../potentials/CdTe_bop Cd Te
     pair_style bop save
     pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te
    -comm_modify cutoff 14.70
    -
  • -
    -
    -
    -

    Description¶

    -

    The bop pair style computes Bond-Order Potentials (BOP) based on +comm_modify cutoff 14.70 + +

    Description: +

    +

    The bop pair style computes Bond-Order Potentials (BOP) based on quantum mechanical theory incorporating both sigma and pi bondings. By analytically deriving the BOP from quantum mechanical theory its transferability to different phases can approach that of quantum mechanical methods. This potential is similar to the original BOP -developed by Pettifor (Pettifor_1, -Pettifor_2, Pettifor_3) and later updated -by Murdick, Zhou, and Ward (Murdick, Ward). +developed by Pettifor (Pettifor_1, +Pettifor_2, Pettifor_3) and later updated +by Murdick, Zhou, and Ward (Murdick, Ward). Currently, BOP potential files for these systems are provided with LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A sysstem with only a subset of these elements, including a single element (e.g. C or Cu or Al or Ga or Zn or CdZn), can also be modeled by using the appropriate alloy file and assigning all atom types to the singleelement or subset of elements via the pair_coeff command, as -discussed below.

    -

    The BOP potential consists of three terms:

    -_images/pair_bop.jpg -

    where phi_ij(r_ij) is a short-range two-body function representing the +discussed below. +

    +

    The BOP potential consists of three terms: +

    +
    +
    +

    where phi_ij(r_ij) is a short-range two-body function representing the repulsion between a pair of ion cores, beta_(sigma,ij)(r_ij) and beta_(sigma,ij)(r_ij) are respectively sigma and pi bond ingtegrals, THETA_(sigma,ij) and THETA_(pi,ij) are sigma and pi bond-orders, and -U_prom is the promotion energy for sp-valent systems.

    -

    The detailed formulas for this potential are given in Ward -(Ward); here we provide only a brief description.

    -

    The repulsive energy phi_ij(r_ij) and the bond integrals +U_prom is the promotion energy for sp-valent systems. +

    +

    The detailed formulas for this potential are given in Ward +(Ward); here we provide only a brief description. +

    +

    The repulsive energy phi_ij(r_ij) and the bond integrals beta_(sigma,ij)(r_ij) and beta_(phi,ij)(r_ij) are functions of the interatomic distance r_ij between atom i and j. Each of these potentials has a smooth cutoff at a radius of r_(cut,ij). These smooth cutoffs ensure stable behavior at situations with high sampling -near the cutoff such as melts and surfaces.

    -

    The bond-orders can be viewed as environment-dependent local variables +near the cutoff such as melts and surfaces. +

    +

    The bond-orders can be viewed as environment-dependent local variables that are ij bond specific. The maximum value of the sigma bond-order (THETA_sigma) is 1, while that of the pi bond-order (THETA_pi) is 2, attributing to a maximum value of the total bond-order (THETA_sigma+THETA_pi) of 3. The sigma and pi bond-orders reflect the ubiquitous single-, double-, and triple- bond behavior of chemistry. Their analytical expressions can be derived from tight- -binding theory by recursively expanding an inter-site Green’s function +binding theory by recursively expanding an inter-site Green's function as a continued fraction. To accurately represent the bonding with a computationally efficient potential formulation suitable for MD simulations, the derived BOP only takes (and retains) the first two levels of the recursive representations for both the sigma and the pi bond-orders. Bond-order terms can be understood in terms of molecular orbital hopping paths based upon the Cyrot-Lackmann theorem -(Pettifor_1). The sigma bond-order with a half-full +(Pettifor_1). The sigma bond-order with a half-full valence shell is used to interpolate the bond-order expressiont that incorporated explicite valance band filling. This pi bond-order expression also contains also contains a three-member ring term that allows implementation of an asymmetric density of states, which helps to either stabilize or destabilize close-packed structures. The pi bond-order includes hopping paths of length 4. This enables the -incorporation of dihedral angles effects.

    -
    -

    Warning

    -

    Note that unlike for other potentials, cutoffs for BOP +incorporation of dihedral angles effects. +

    +

    IMPORTANT NOTE: Note that unlike for other potentials, cutoffs for BOP potentials are not set in the pair_style or pair_coeff command; they are specified in the BOP potential files themselves. Likewise, the BOP potential files list atomic masses; thus you do not need to use -the mass command to specify them. Note that for BOP +the mass command to specify them. Note that for BOP potentials with hydrogen, you will likely want to set the mass of H atoms to be 10x or 20x larger to avoid having to use a tiny timestep. -You can do this by using the mass command after using the -pair_coeff command to read the BOP potential -file.

    -
    -

    One option can be specified as a keyword with the pair_style command.

    -

    The save keyword gives you the option to calculate in advance and +You can do this by using the mass command after using the +pair_coeff command to read the BOP potential +file. +

    +

    One option can be specified as a keyword with the pair_style command. +

    +

    The save keyword gives you the option to calculate in advance and store a set of distances, angles, and derivatives of angles. The default is to not do this, but to calculate them on-the-fly each time they are needed. The former may be faster, but takes more memory. The latter requires less memory, but may be slower. It is best to test this option to optimize the speed of BOP for your particular -system configuration.

    -
    -

    Only a single pair_coeff command is used with the bop style which +system configuration. +

    +
    + +

    Only a single pair_coeff command is used with the bop style which specifies a BOP potential file, with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of BOP elements to atom types
    • -
    -

    As an example, imagine the CdTe.bop file has BOP values for Cd +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of BOP elements to atom types +
    +

    As an example, imagine the CdTe.bop file has BOP values for Cd and Te. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Cd, and the 4th to be Te, you would use the following -pair_coeff command:

    -
    pair_coeff * * CdTe Cd Cd Cd Te
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command: +

    +
    pair_coeff * * CdTe Cd Cd Cd Te 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd element in the BOP file. The final Te argument maps LAMMPS atom type -4 to the Te element in the BOP file.

    -

    BOP files in the potentials directory of the LAMMPS distribution -have a ”.bop” suffix. The potentials are in tabulated form containing +4 to the Te element in the BOP file. +

    +

    BOP files in the potentials directory of the LAMMPS distribution +have a ".bop" suffix. The potentials are in tabulated form containing pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), -and beta_pi,ij)(r_ij).

    -

    The parameters/coefficients format for the different kinds of BOP +and beta_pi,ij)(r_ij). +

    +

    The parameters/coefficients format for the different kinds of BOP files are given below with variables matching the formulation of Ward -(Ward) and Zhou (Zhou). Each header line containing a -”:” is preceded by a blank line.

    -
    -

    No angular table file format:

    -

    The parameters/coefficients format for the BOP potentials input file +(Ward) and Zhou (Zhou). Each header line containing a +":" is preceded by a blank line. +

    +
    + +

    No angular table file format: +

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Ward).

    -
      -
    • Line 1: # elements N
    • -
    -

    The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element.

    -

    Following the definition of the elements several global variables for -the tabulated functions are given.

    -
      -
    • Line 1: nr, nBOt (nr is the number of divisions the radius is broken -into for function tables and MUST be a factor of 5; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij)
    • -
    • Line 2: delta_1-delta_7 (if all are not used in the particular
    • -
    • formulation, set unused values to 0.0)
    • -
    -

    Following this N lines for e_1-e_N containing p_pi.

    -
      -
    • Line 3: p_pi (for e_1)
    • -
    • Line 4: p_pi (for e_2 and continues to e_N)
    • -
    -

    The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N

    -
      -
    • Line 1: r_cut (for e_1-e_1 interactions)
    • -
    • Line 2: c_sigma, a_sigma, c_pi, a_pi
    • -
    • Line 3: delta_sigma, delta_pi
    • -
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent)
    • -
    -

    The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

    -
      -
    • Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for -g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. Ward -contains the full expressions for the constants as functions of -b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk))
    • -
    • Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2)
    • -
    -

    The next section contains a block for each interaction type for the -phi_ij(r_ij). Each block has nr entries with 5 entries per line.

    -
      -
    • Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 -interaction type)
    • -
    • Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues -until nr)
    • -
    • ...
    • -
    • Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the -e_1-e_1 interaction type)
    • -
    -

    The next section contains a block for each interaction type for the -beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per -line.

    -
      -
    • Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), -beta_sigma(r5) (for the e_1-e_1 interaction type)
    • -
    • Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), -beta_sigma(r10) (this continues until nr)
    • -
    • ...
    • -
    • Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), -beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type)
    • -
    -

    The next section contains a block for each interaction type for -beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line.

    -
      -
    • Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) -(for the e_1-e_1 interaction type)
    • -
    • Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), -beta_pi(r10) (this continues until nr)
    • -
    • ...
    • -
    • Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), -beta_pi(r5) (for the e_1-e_2 interaction type)
    • -
    -

    The next section contains a block for each interaction type for the -THETA_(S,ij)((THETA_(sigma,ij))^(1/2), f_(sigma,ij)). Each block has -nBOt entries with 5 entries per line.

    -
      -
    • Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type)
    • -
    • Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), -THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt)
    • -
    • ...
    • -
    • Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type)
    • -
    -

    The next section contains a block of N lines for e_1-e_N

    -
      -
    • Line 1: delta^mu (for e_1)
    • -
    • Line 2: delta^mu (for e_2 and repeats to e_N)
    • -
    -

    The last section contains more constants for e_i-e_j interactions with -i=0->N, j=i->N

    -
      -
    • Line 1: (A_ij)^(mu*nu) (for e1-e1)
    • -
    • Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above)
    • -
    -
    -

    Angular spline table file format:

    -

    The parameters/coefficients format for the BOP potentials input file +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Ward). +

    +
    • Line 1: # elements N +
    +

    The first line is followed by N lines containing the atomic +number, mass, and element symbol of each element. +

    +

    Following the definition of the elements several global variables for +the tabulated functions are given. +

    +
    • Line 1: nr, nBOt (nr is the number of divisions the radius is broken +into for function tables and MUST be a factor of 5; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij) + +
    • Line 2: delta_1-delta_7 (if all are not used in the particular + +
    • formulation, set unused values to 0.0) +
    +

    Following this N lines for e_1-e_N containing p_pi. +

    +
    • Line 3: p_pi (for e_1) +
    • Line 4: p_pi (for e_2 and continues to e_N) +
    +

    The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N +

    +
    • Line 1: r_cut (for e_1-e_1 interactions) + +
    • Line 2: c_sigma, a_sigma, c_pi, a_pi + +
    • Line 3: delta_sigma, delta_pi + +
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent) +
    +

    The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N +

    +
    • Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for +g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. Ward +contains the full expressions for the constants as functions of +b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) + +
    • Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) +
    +

    The next section contains a block for each interaction type for the +phi_ij(r_ij). Each block has nr entries with 5 entries per line. +

    +
    • Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 +interaction type) + +
    • Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues +until nr) + +
    • ... + +
    • Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the +e_1-e_1 interaction type) +
    +

    The next section contains a block for each interaction type for the +beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per +line. +

    +
    • Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), +beta_sigma(r5) (for the e_1-e_1 interaction type) + +
    • Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), +beta_sigma(r10) (this continues until nr) + +
    • ... + +
    • Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), +beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) +
    +

    The next section contains a block for each interaction type for +beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. +

    +
    • Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) +(for the e_1-e_1 interaction type) + +
    • Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), +beta_pi(r10) (this continues until nr) + +
    • ... + +
    • Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), +beta_pi(r5) (for the e_1-e_2 interaction type) +
    +

    The next section contains a block for each interaction type for the +THETA_(S,ij)((THETA_(sigma,ij))^(1/2), f_(sigma,ij)). Each block has +nBOt entries with 5 entries per line. +

    +
    • Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), +THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) + +
    • Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), +THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) + +
    • ... + +
    • Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), +THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) +
    +

    The next section contains a block of N lines for e_1-e_N +

    +
    • Line 1: delta^mu (for e_1) +
    • Line 2: delta^mu (for e_2 and repeats to e_N) +
    +

    The last section contains more constants for e_i-e_j interactions with +i=0->N, j=i->N +

    +
    • Line 1: (A_ij)^(mu*nu) (for e1-e1) +
    • Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above) +
    +
    + +

    Angular spline table file format: +

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Zhou).

    -
      -
    • Line 1: # elements N
    • -
    -

    The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element.

    -

    Following the definition of the elements several global variables for -the tabulated functions are given.

    -
      -
    • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Zhou). +

      +
      • Line 1: # elements N +
      +

      The first line is followed by N lines containing the atomic +number, mass, and element symbol of each element. +

      +

      Following the definition of the elements several global variables for +the tabulated functions are given. +

      +
      • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the power of the -power of the spline used to fit the angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij)
      • -
      • Line 2: delta_1-delta_7 (if all are not used in the particular
      • -
      • formulation, set unused values to 0.0)
      • -
      -

      Following this N lines for e_1-e_N containing p_pi.

      -
        -
      • Line 3: p_pi (for e_1)
      • -
      • Line 4: p_pi (for e_2 and continues to e_N)
      • -
      -

      The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N

      -
        -
      • Line 1: r_cut (for e_1-e_1 interactions)
      • -
      • Line 2: c_sigma, a_sigma, c_pi, a_pi
      • -
      • Line 3: delta_sigma, delta_pi
      • -
      • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent)
      • -
      -

      The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

      -
        -
      • Line 1: g0, g1, g2... (These are coefficients for the angular spline +power of the spline used to fit the angular function; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij) + +
      • Line 2: delta_1-delta_7 (if all are not used in the particular + +
      • formulation, set unused values to 0.0) +
      +

      Following this N lines for e_1-e_N containing p_pi. +

      +
      • Line 3: p_pi (for e_1) +
      • Line 4: p_pi (for e_2 and continues to e_N) +
      +

      The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N +

      +
      • Line 1: r_cut (for e_1-e_1 interactions) + +
      • Line 2: c_sigma, a_sigma, c_pi, a_pi + +
      • Line 3: delta_sigma, delta_pi + +
      • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent) +
      +

      The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N +

      +
    • Line 1: g0, g1, g2... (These are coefficients for the angular spline of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The function can contain up to 10 term thus 10 constants. The first line can contain up to five constants. If the spline has more than five terms the second line will contain the remaining constants The following lines will then contain the constants for the remainaing g0, g1, g2... (for e_1-e_1-e_2) and the other three body -interactions
    • -
    -

    The rest of the table has the same structure as the previous section -(see above).

    -
    -

    Angular no-spline table file format:

    -

    The parameters/coefficients format for the BOP potentials input file +interactions + +

    The rest of the table has the same structure as the previous section +(see above). +

    +
    + +

    Angular no-spline table file format: +

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Zhou).

    -
      -
    • Line 1: # elements N
    • -
    -

    The first two lines are followed by N lines containing the atomic -number, mass, and element symbol of each element.

    -

    Following the definition of the elements several global variables for -the tabulated functions are given.

    -
      -
    • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Zhou). +

      +
      • Line 1: # elements N +
      +

      The first two lines are followed by N lines containing the atomic +number, mass, and element symbol of each element. +

      +

      Following the definition of the elements several global variables for +the tabulated functions are given. +

      +
      • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the number of -divisions for the tabulated values of the g angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij)
      • -
      • Line 2: delta_1-delta_7 (if all are not used in the particular
      • -
      • formulation, set unused values to 0.0)
      • -
      -

      Following this N lines for e_1-e_N containing p_pi.

      -
        -
      • Line 3: p_pi (for e_1)
      • -
      • Line 4: p_pi (for e_2 and continues to e_N)
      • -
      -

      The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N

      -
        -
      • Line 1: r_cut (for e_1-e_1 interactions)
      • -
      • Line 2: c_sigma, a_sigma, c_pi, a_pi
      • -
      • Line 3: delta_sigma, delta_pi
      • -
      • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent)
      • -
      -

      The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

      -
        -
      • Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 -interaction type)
      • -
      • Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues -until ntheta)
      • -
      • ...
      • -
      • Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the -e_1-e_1-e_2 interaction type)
      • -
      -

      The rest of the table has the same structure as the previous section (see above).

      -
      -

      Mixing, shift, table tail correction, restart:

      -

      This pair style does not support the pair_modify -mix, shift, table, and tail options.

      -

      This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +divisions for the tabulated values of the g angular function; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij) + +

    • Line 2: delta_1-delta_7 (if all are not used in the particular + +
    • formulation, set unused values to 0.0) +
    +

    Following this N lines for e_1-e_N containing p_pi. +

    +
    • Line 3: p_pi (for e_1) +
    • Line 4: p_pi (for e_2 and continues to e_N) +
    +

    The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N +

    +
    • Line 1: r_cut (for e_1-e_1 interactions) + +
    • Line 2: c_sigma, a_sigma, c_pi, a_pi + +
    • Line 3: delta_sigma, delta_pi + +
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent) +
    +

    The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N +

    +
    • Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 +interaction type) + +
    • Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues +until ntheta) + +
    • ... + +
    • Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the +e_1-e_1-e_2 interaction type) +
    +

    The rest of the table has the same structure as the previous section (see above). +

    +
    + +

    Mixing, shift, table tail correction, restart: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package (which it is by default). -See the Making LAMMPS section for more -info.

    -

    These pair potentials require the newtion setting to be -“on” for pair interactions.

    -

    The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. -You can use the BOP potential with any LAMMPS units, but you would need -to create your own BOP potential file with coefficients listed in the -appropriate units if your simulation does not use “metal” units.

    -
    - -
    -

    Default¶

    -

    non-tabulated potential file, a_0 is non-zero.

    -
    -

    (Pettifor_1) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 -(1999).

    -

    (Pettifor_2) D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, -4124 (2000).

    -

    (Pettifor_3) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 -(2002).

    -

    (Murdick) D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. -Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006).

    -

    (Ward) D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. -Zimmerman, Phys. Rev. B, 85,115206 (2012).

    -

    (Zhou) X.W. Zhou, D.K. Ward, M. Foster (TBP).

    -
    -
    +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: +

    +

    These pair styles are part of the MANYBODY package. They are only +enabled if LAMMPS was built with that package (which it is by default). +See the Making LAMMPS section for more +info. +

    +

    These pair potentials require the newtion setting to be +"on" for pair interactions. +

    +

    The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. +You can use the BOP potential with any LAMMPS units, but you would need +to create your own BOP potential file with coefficients listed in the +appropriate units if your simulation does not use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: +

    +

    non-tabulated potential file, a_0 is non-zero. +

    +
    -
    -
    -
    - + -
    +

    (Pettifor_1) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 +(1999). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Pettifor_2) D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, +4124 (2000). +

    + -
    +

    (Pettifor_3) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 +(2002). +

    + -
    -
    +

    (Murdick) D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. +Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006). +

    + -
    +

    (Ward) D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. +Zimmerman, Phys. Rev. B, 85,115206 (2012). +

    + -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Zhou) X.W. Zhou, D.K. Ward, M. Foster (TBP). +

    + diff --git a/doc/pair_born.html b/doc/pair_born.html index 24cf823b69..bd2ba588fd 100644 --- a/doc/pair_born.html +++ b/doc/pair_born.html @@ -1,377 +1,210 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style born command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style born command¶

    -
    -
    -

    pair_style born/omp command¶

    -
    -
    -

    pair_style born/gpu command¶

    -
    -
    -

    pair_style born/coul/long command¶

    -
    -
    -

    pair_style born/coul/long/cs command¶

    -
    -
    -

    pair_style born/coul/long/cuda command¶

    -
    -
    -

    pair_style born/coul/long/gpu command¶

    -
    -
    -

    pair_style born/coul/long/omp command¶

    -
    -
    -

    pair_style born/coul/msm command¶

    -
    -
    -

    pair_style born/coul/msm/omp command¶

    -
    -
    -

    pair_style born/coul/wolf command¶

    -
    -
    -

    pair_style born/coul/wolf/gpu command¶

    -
    -
    -

    pair_style born/coul/wolf/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = born or born/coul/long or born/coul/long/cs or born/coul/msm or born/coul/wolf
    • -
    • args = list of arguments for a particular style
    • -
    -
    -born args = cutoff
    +
    +
    +
    + +

    pair_style born command +

    +

    pair_style born/omp command +

    +

    pair_style born/gpu command +

    +

    pair_style born/coul/long command +

    +

    pair_style born/coul/long/cs command +

    +

    pair_style born/coul/long/cuda command +

    +

    pair_style born/coul/long/gpu command +

    +

    pair_style born/coul/long/omp command +

    +

    pair_style born/coul/msm command +

    +

    pair_style born/coul/msm/omp command +

    +

    pair_style born/coul/wolf command +

    +

    pair_style born/coul/wolf/gpu command +

    +

    pair_style born/coul/wolf/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = born or born/coul/long or born/coul/long/cs or born/coul/msm or born/coul/wolf +
    • args = list of arguments for a particular style +
    +
      born args = cutoff
         cutoff = global cutoff for non-Coulombic interactions (distance units)
    -  born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
    +  born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/msm args = cutoff (cutoff2)
    +  born/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/wolf args = alpha cutoff (cutoff2)
    +  born/coul/wolf args = alpha cutoff (cutoff2)
         alpha = damping parameter (inverse distance units)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style born 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style born 10.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    -
    -
    -
    pair_style born/coul/long 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    +
    +
    pair_style born/coul/long 10.0
     pair_style born/coul/long/cs 10.0
     pair_style born/coul/long 10.0 8.0
     pair_style born/coul/long/cs 10.0 8.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    -
    -
    -
    pair_style born/coul/msm 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    +
    +
    pair_style born/coul/msm 10.0
     pair_style born/coul/msm 10.0 8.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    -
    -
    -
    pair_style born/coul/wolf 0.25 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    +
    +
    pair_style born/coul/wolf 0.25 10.0
     pair_style born/coul/wolf 0.25 10.0 9.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    -
    -
    -
    -
    -

    Description¶

    -

    The born style computes the Born-Mayer-Huggins or Tosi/Fumi -potential described in (Fumi and Tosi), given by

    -_images/pair_born.jpg -

    where sigma is an interaction-dependent length parameter, rho is an -ionic-pair dependent length parameter, and Rc is the cutoff.

    -

    The styles with coul/long or coul/msm add a Coulombic term as -described for the lj/cut pair styles. An additional +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 + +

    Description: +

    +

    The born style computes the Born-Mayer-Huggins or Tosi/Fumi +potential described in (Fumi and Tosi), given by +

    +
    +
    +

    where sigma is an interaction-dependent length parameter, rho is an +ionic-pair dependent length parameter, and Rc is the cutoff. +

    +

    The styles with coul/long or coul/msm add a Coulombic term as +described for the lj/cut pair styles. An additional damping factor is applied to the Coulombic term so it can be used in -conjunction with the kspace_style command and its -ewald or pppm of msm option. The Coulombic cutoff specified for +conjunction with the kspace_style command and its +ewald or pppm of msm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in -reciprocal space.

    -

    If one cutoff is specified for the born/coul/long and -born/coul/msm style, it is used for both the A,C,D and Coulombic +reciprocal space. +

    +

    If one cutoff is specified for the born/coul/long and +born/coul/msm style, it is used for both the A,C,D and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C,D terms, and the second is the cutoff for the Coulombic -term.

    -

    The born/coul/wolf style adds a Coulombic term as described for the -Wolf potential in the coul/wolf pair style.

    -

    Style born/coul/long/cs is identical to born/coul/long except that -a term is added for the core/shell model +term. +

    +

    The born/coul/wolf style adds a Coulombic term as described for the +Wolf potential in the coul/wolf pair style. +

    +

    Style born/coul/long/cs is identical to born/coul/long except that +a term is added for the core/shell model to allow charges on core and shell particles to be separated by r = -0.0.

    -

    Note that these potentials are related to the Buckingham potential.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +0.0. +

    +

    Note that these potentials are related to the Buckingham +potential. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • A (energy units)
    • -
    • rho (distance units)
    • -
    • sigma (distance units)
    • -
    • C (energy units * distance units^6)
    • -
    • D (energy units * distance units^8)
    • -
    • cutoff (distance units)
    • -
    -

    The second coefficient, rho, must be greater than zero.

    -

    The last coefficient is optional. If not specified, the global A,C,D -cutoff specified in the pair_style command is used.

    -

    For born/coul/long and born/coul/wolf no Coulombic cutoff can be +read_data or read_restart +commands, or by mixing as described below: +

    +
    • A (energy units) +
    • rho (distance units) +
    • sigma (distance units) +
    • C (energy units * distance units^6) +
    • D (energy units * distance units^8) +
    • cutoff (distance units) +
    +

    The second coefficient, rho, must be greater than zero. +

    +

    The last coefficient is optional. If not specified, the global A,C,D +cutoff specified in the pair_style command is used. +

    +

    For born/coul/long and born/coul/wolf no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the -same global Coulombic cutoff specified in the pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +same global Coulombic cutoff specified in the pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    These styles support the pair_modify shift option +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    These styles support the pair_modify shift option for the energy of the exp(), 1/r^6, and 1/r^8 portion of the pair -interaction.

    -

    The born/coul/long pair style supports the -pair_modify table option ti tabulate the -short-range portion of the long-range Coulombic interaction.

    -

    These styles support the pair_modify tail option for adding long-range -tail corrections to energy and pressure.

    -

    Thess styles writes thei information to binary restart +interaction. +

    +

    The born/coul/long pair style supports the +pair_modify table option ti tabulate the +short-range portion of the long-range Coulombic interaction. +

    +

    These styles support the pair_modify tail option for adding long-range +tail corrections to energy and pressure. +

    +

    Thess styles writes thei information to binary restart files, so pair_style and pair_coeff commands do not need to be -specified in an input script that reads a restart file.

    -

    These styles can only be used via the pair keyword of the run_style respa command. They do not support the inner, -middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    The born/coul/long style is part of the KSPACE package. It is only +specified in an input script that reads a restart file. +

    +

    These styles can only be used via the pair keyword of the run_style +respa command. They do not support the inner, +middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    The born/coul/long style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info.

    -
    - -
    +default). See the Making LAMMPS section +for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_style buck +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), +Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964). +

    + diff --git a/doc/pair_brownian.html b/doc/pair_brownian.html index d531b614db..be855698da 100644 --- a/doc/pair_brownian.html +++ b/doc/pair_brownian.html @@ -1,308 +1,150 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style brownian command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style brownian command¶

    -
    -
    -

    pair_style brownian/omp command¶

    -
    -
    -

    pair_style brownian/poly command¶

    -
    -
    -

    pair_style brownian/poly/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF
    -
    -
    -
      -
    • style = brownian or brownian/poly
    • -
    • mu = dynamic viscosity (dynamic viscosity units)
    • -
    • flaglog = 0/1 log terms in the lubrication approximation on/off
    • -
    • flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects
    • -
    • cutinner = inner cutoff distance (distance units)
    • -
    • cutoff = outer cutoff for interactions (distance units)
    • -
    • t_target = target temp of the system (temperature units)
    • -
    • seed = seed for the random number generator (positive integer)
    • -
    • flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions
    • -
    • flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms
    • -
    -
    -
    -

    Examples¶

    -
    pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1)
    +
    +
    +
    + +

    pair_style brownian command +

    +

    pair_style brownian/omp command +

    +

    pair_style brownian/poly command +

    +

    pair_style brownian/poly/omp command +

    +

    Syntax: +

    +
    pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF 
    +
    +
    • style = brownian or brownian/poly +
    • mu = dynamic viscosity (dynamic viscosity units) +
    • flaglog = 0/1 log terms in the lubrication approximation on/off +
    • flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects +
    • cutinner = inner cutoff distance (distance units) +
    • cutoff = outer cutoff for interactions (distance units) +
    • t_target = target temp of the system (temperature units) +
    • seed = seed for the random number generator (positive integer) +
    • flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions +
    • flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms +
    +

    Examples: +

    +
    pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1)
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * *
    -
    -
    -
    -
    -

    Description¶

    -

    Styles brownian and brownain/poly compute Brownian forces and +pair_coeff * * + +

    Description: +

    +

    Styles brownian and brownain/poly compute Brownian forces and torques on finite-size particles. The former requires monodisperse spherical particles; the latter allows for polydisperse spherical -particles.

    -

    These pair styles are designed to be used with either the pair_style lubricate or pair_style lubricateU commands to provide thermostatting +particles. +

    +

    These pair styles are designed to be used with either the pair_style +lubricate or pair_style +lubricateU commands to provide thermostatting when dissipative lubrication forces are acting. Thus the parameters -mu, flaglog, flagfld, cutinner, and cutoff should be +mu, flaglog, flagfld, cutinner, and cutoff should be specified consistent with the settings in the lubrication pair styles. -For details, refer to either of the lubrication pair styles.

    -

    The t_target setting is used to specify the target temperature of -the system. The random number seed is used to generate random -numbers for the thermostatting procedure.

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined.

    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +For details, refer to either of the lubrication pair styles. +

    +

    The t_target setting is used to specify the target temperature of +the system. The random number seed is used to generate random +numbers for the thermostatting procedure. +

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined. +

    +
    + +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutinner (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutinner (distance units) +
    • cutoff (distance units) +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +must be specified. +

    +
    + +

    Styles with a cuda, 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 in this section of +hardware, as discussed in this section of the manual. 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 USER-CUDA, GPU, USER-INTEL, +produce the same results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See this section of the manual for more -instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the “pair_modify” command for details.

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See this section of the manual for more +instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the "pair_modify" command for details. +

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Only spherical monodisperse particles are allowed for pair_style -brownian.

    -

    Only spherical particles are allowed for pair_style brownian/poly.

    -
    - -
    -

    Default¶

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1.

    -
    -
    +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Only spherical monodisperse particles are allowed for pair_style +brownian. +

    +

    Only spherical particles are allowed for pair_style brownian/poly. +

    +

    Related commands: +

    +

    pair_coeff, pair_style +lubricate, pair_style +lubricateU +

    +

    Default: +

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1. +

    + diff --git a/doc/pair_buck.html b/doc/pair_buck.html index 5804523f49..046d2f7121 100644 --- a/doc/pair_buck.html +++ b/doc/pair_buck.html @@ -1,398 +1,220 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style buck command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style buck command¶

    -
    -
    -

    pair_style buck/cuda command¶

    -
    -
    -

    pair_style buck/gpu command¶

    -
    -
    -

    pair_style buck/kk command¶

    -
    -
    -

    pair_style buck/omp command¶

    -
    -
    -

    pair_style buck/coul/cut command¶

    -
    -
    -

    pair_style buck/coul/cut/cuda command¶

    -
    -
    -

    pair_style buck/coul/cut/gpu command¶

    -
    -
    -

    pair_style buck/coul/cut/kk command¶

    -
    -
    -

    pair_style buck/coul/cut/omp command¶

    -
    -
    -

    pair_style buck/coul/long command¶

    -
    -
    -

    pair_style buck/coul/long/cs command¶

    -
    -
    -

    pair_style buck/coul/long/cuda command¶

    -
    -
    -

    pair_style buck/coul/long/gpu command¶

    -
    -
    -

    pair_style buck/coul/long/kk command¶

    -
    -
    -

    pair_style buck/coul/long/omp command¶

    -
    -
    -

    pair_style buck/coul/msm command¶

    -
    -
    -

    pair_style buck/coul/msm/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = buck or buck/coul/cut or buck/coul/long or buck/coul/long/cs or buck/coul/msm
    • -
    • args = list of arguments for a particular style
    • -
    -
    -buck args = cutoff
    +
    +
    +
    + +

    pair_style buck command +

    +

    pair_style buck/cuda command +

    +

    pair_style buck/gpu command +

    +

    pair_style buck/kk command +

    +

    pair_style buck/omp command +

    +

    pair_style buck/coul/cut command +

    +

    pair_style buck/coul/cut/cuda command +

    +

    pair_style buck/coul/cut/gpu command +

    +

    pair_style buck/coul/cut/kk command +

    +

    pair_style buck/coul/cut/omp command +

    +

    pair_style buck/coul/long command +

    +

    pair_style buck/coul/long/cs command +

    +

    pair_style buck/coul/long/cuda command +

    +

    pair_style buck/coul/long/gpu command +

    +

    pair_style buck/coul/long/kk command +

    +

    pair_style buck/coul/long/omp command +

    +

    pair_style buck/coul/msm command +

    +

    pair_style buck/coul/msm/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = buck or buck/coul/cut or buck/coul/long or buck/coul/long/cs or buck/coul/msm +
    • args = list of arguments for a particular style +
    +
      buck args = cutoff
         cutoff = global cutoff for Buckingham interactions (distance units)
    -  buck/coul/cut args = cutoff (cutoff2)
    +  buck/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
    +  buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/msm args = cutoff (cutoff2)
    +  buck/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style buck 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style buck 2.5
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff * * 100.0 1.5 200.0 3.0
    -
    -
    -
    pair_style buck/coul/cut 10.0
    +pair_coeff * * 100.0 1.5 200.0 3.0 
    +
    +
    pair_style buck/coul/cut 10.0
     pair_style buck/coul/cut 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
     pair_coeff 1 1 100.0 1.5 200.0 9.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0
    -
    -
    -
    pair_style buck/coul/long 10.0
    +pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 
    +
    +
    pair_style buck/coul/long 10.0
     pair_style buck/coul/long/cs 10.0
     pair_style buck/coul/long 10.0 8.0
     pair_style buck/coul/long/cs 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0
    -
    -
    -
    pair_style buck/coul/msm 10.0
    +pair_coeff 1 1 100.0 1.5 200.0 9.0 
    +
    +
    pair_style buck/coul/msm 10.0
     pair_style buck/coul/msm 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    The buck style computes a Buckingham potential (exp/6 instead of -Lennard-Jones 12/6) given by

    -_images/pair_buck.jpg -

    where rho is an ionic-pair dependent length parameter, and Rc is the -cutoff on both terms.

    -

    The styles with coul/cut or coul/long or coul/msm add a -Coulombic term as described for the lj/cut pair styles. -For buck/coul/long and buc/coul/msm, an additional damping factor +pair_coeff 1 1 100.0 1.5 200.0 9.0 + +

    Description: +

    +

    The buck style computes a Buckingham potential (exp/6 instead of +Lennard-Jones 12/6) given by +

    +
    +
    +

    where rho is an ionic-pair dependent length parameter, and Rc is the +cutoff on both terms. +

    +

    The styles with coul/cut or coul/long or coul/msm add a +Coulombic term as described for the lj/cut pair styles. +For buck/coul/long and buc/coul/msm, an additional damping factor is applied to the Coulombic term so it can be used in conjunction with -the kspace_style command and its ewald or pppm -or msm option. The Coulombic cutoff specified for this style means +the kspace_style command and its ewald or pppm +or msm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space.

    -

    If one cutoff is specified for the born/coul/cut and -born/coul/long and born/coul/msm styles, it is used for both the +interactions outside that distance are computed in reciprocal space. +

    +

    If one cutoff is specified for the born/coul/cut and +born/coul/long and born/coul/msm styles, it is used for both the A,C and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C terms, and the second is the cutoff for -the Coulombic term.

    -

    Style buck/coul/long/cs is identical to buck/coul/long except that -a term is added for the core/shell model +the Coulombic term. +

    +

    Style buck/coul/long/cs is identical to buck/coul/long except that +a term is added for the core/shell model to allow charges on core and shell particles to be separated by r = -0.0.

    -

    Note that these potentials are related to the Born-Mayer-Huggins potential.

    -
    -

    Warning

    -

    For all these pair styles, the terms with A and C are +0.0. +

    +

    Note that these potentials are related to the Born-Mayer-Huggins +potential. +

    +

    IMPORTANT NOTE: For all these pair styles, the terms with A and C are always cutoff. The additional Coulombic term can be cutoff or long-range (no cutoff) depending on whether the style name includes coul/cut or coul/long or coul/msm. If you wish the C/r^6 term to be -long-range (no cutoff), then see the pair_style buck/long/coul/long command.

    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +long-range (no cutoff), then see the pair_style +buck/long/coul/long command. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • A (energy units)
    • -
    • rho (distance units)
    • -
    • C (energy-distance^6 units)
    • -
    • cutoff (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The second coefficient, rho, must be greater than zero.

    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands: +

    +
    • A (energy units) +
    • rho (distance units) +
    • C (energy-distance^6 units) +
    • cutoff (distance units) +
    • cutoff2 (distance units) +
    +

    The second coefficient, rho, must be greater than zero. +

    +

    The latter 2 coefficients are optional. If not specified, the global A,C and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both A,C and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the A,C and Coulombic cutoffs for this type pair. You cannot specify -2 cutoffs for style buck, since it has no Coulombic terms.

    -

    For buck/coul/long only the LJ cutoff can be specified since a +2 cutoffs for style buck, since it has no Coulombic terms. +

    +

    For buck/coul/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    These styles support the pair_modify shift option -for the energy of the exp() and 1/r^6 portion of the pair interaction.

    -

    The buck/coul/long pair style supports the -pair_modify table option to tabulate the -short-range portion of the long-range Coulombic interaction.

    -

    These styles support the pair_modify tail option for adding long-range +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    These styles support the pair_modify shift option +for the energy of the exp() and 1/r^6 portion of the pair interaction. +

    +

    The buck/coul/long pair style supports the +pair_modify table option to tabulate the +short-range portion of the long-range Coulombic interaction. +

    +

    These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the -pair interaction.

    -

    These styles write their information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    These styles can only be used via the pair keyword of the run_style respa command. They do not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    The buck/coul/long style is part of the KSPACE package. The -buck/coul/long/cs style is part of the CORESHELL package. They are +pair interaction. +

    +

    These styles write their information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    These styles can only be used via the pair keyword of the run_style +respa command. They do not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    The buck/coul/long style is part of the KSPACE package. The +buck/coul/long/cs style is part of the CORESHELL package. They are only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +default). See the Making LAMMPS section +for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_style born +

    +

    Default: none +

    + diff --git a/doc/pair_buck_long.html b/doc/pair_buck_long.html index 1b31e64a84..77c8a3884b 100644 --- a/doc/pair_buck_long.html +++ b/doc/pair_buck_long.html @@ -1,338 +1,182 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style buck/long/coul/long command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style buck/long/coul/long command¶

    -
    -
    -

    pair_style buck/long/coul/long/omp command¶

    -
    -

    Syntax¶

    -
    pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2)
    -
    -
    -
      -
    • flag_buck = long or cut
    • -
    -
    -long = use Kspace long-range summation for the dispersion term 1/r^6
    -  cut = use a cutoff
    -
    -
      -
    • flag_coul = long or off
    • -
    -
    -long = use Kspace long-range summation for the Coulombic term 1/r
    -  off = omit the Coulombic term
    -
    -
      -
    • cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units)
    • -
    • cutoff2 = global cutoff for Coulombic (optional) (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style buck/long/coul/long cut off 2.5
    +
    +
    +
    + +

    pair_style buck/long/coul/long command +

    +

    pair_style buck/long/coul/long/omp command +

    +

    Syntax: +

    +
    pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) 
    +
    +
    • flag_buck = long or cut + +
        long = use Kspace long-range summation for the dispersion term 1/r^6
      +  cut = use a cutoff 
      +
      +
    • flag_coul = long or off + +
        long = use Kspace long-range summation for the Coulombic term 1/r
      +  off = omit the Coulombic term 
      +
      +
    • cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units) + +
    • cutoff2 = global cutoff for Coulombic (optional) (distance units) +
    +

    Examples: +

    +
    pair_style buck/long/coul/long cut off 2.5
     pair_style buck/long/coul/long cut long 2.5 4.0
     pair_style buck/long/coul/long long long 4.0
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 3 4
    -
    -
    -
    -
    -

    Description¶

    -

    The buck/long/coul/long style computes a Buckingham potential (exp/6 -instead of Lennard-Jones 12/6) and Coulombic potential, given by

    -_images/pair_buck.jpg -_images/pair_coulomb.jpg -

    Rc is the cutoff. If one cutoff is specified in the pair_style +pair_coeff 1 1 1 3 4 + +

    Description: +

    +

    The buck/long/coul/long style computes a Buckingham potential (exp/6 +instead of Lennard-Jones 12/6) and Coulombic potential, given by +

    +
    +
    +
    +
    +

    Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the Buckingham and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the Buckingham -and Coulombic terms respectively.

    -

    The purpose of this pair style is to capture long-range interactions +and Coulombic terms respectively. +

    +

    The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Buckingham and Coulombic 1/r -interactions. This is done by use of the flag_buck and flag_coul -settings. The “Ismail paper has more details on when it is +interactions. This is done by use of the flag_buck and flag_coul +settings. The "Ismail paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this -potential.

    -

    If flag_buck is set to long, no cutoff is used on the Buckingham +potential. +

    +

    If flag_buck is set to long, no cutoff is used on the Buckingham 1/r^6 dispersion term. The long-range portion can be calculated by -using the kspace_style ewald/disp or pppm/disp +using the kspace_style ewald/disp or pppm/disp commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via -the Kspace style. If flag_buck is set to cut, the Buckingham -interactions are simply cutoff, as with pair_style buck.

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic +the Kspace style. If flag_buck is set to cut, the Buckingham +interactions are simply cutoff, as with pair_style +buck. +

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several kspace_style command options such as -pppm or ewald. Note that if flag_buck is also set to long, then -the ewald/disp or pppm/disp Kspace style needs to be used to +several kspace_style command options such as +pppm or ewald. Note that if flag_buck is also set to long, then +the ewald/disp or pppm/disp Kspace style needs to be used to perform the long-range calculations for both the Buckingham and -Coulombic interactions. If flag_coul is set to off, Coulombic -interactions are not computed.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +Coulombic interactions. If flag_coul is set to off, Coulombic +interactions are not computed. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • A (energy units)
    • -
    • rho (distance units)
    • -
    • C (energy-distance^6 units)
    • -
    • cutoff (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The second coefficient, rho, must be greater than zero.

    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands: +

    +
    • A (energy units) +
    • rho (distance units) +
    • C (energy-distance^6 units) +
    • cutoff (distance units) +
    • cutoff2 (distance units) +
    +

    The second coefficient, rho, must be greater than zero. +

    +

    The latter 2 coefficients are optional. If not specified, the global Buckingham and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using -flag_buck set to long, you cannot specify a Buckingham cutoff for +flag_buck set to long, you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using flag_coul set to long, you cannot +Similarly, if you are using flag_coul set to long, you cannot specify a Coulombic cutoff for an atom type pair, since only one -global Coulombic cutoff is allowed.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +global Coulombic cutoff is allowed. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair styles does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This pair style supports the pair_modify shift +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair styles does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This pair style supports the pair_modify shift option for the energy of the exp() and 1/r^6 portion of the pair -interaction, assuming flag_buck is cut.

    -

    This pair style does not support the pair_modify +interaction, assuming flag_buck is cut. +

    +

    This pair style does not support the pair_modify shift option for the energy of the Buckingham portion of the pair -interaction.

    -

    This pair style supports the pair_modify table and +interaction. +

    +

    This pair style supports the pair_modify table and table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions.

    -

    This pair style write its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +the long-range Coulombic and dispersion interactions. +

    +

    This pair style write its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the KSPACE package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that -the KSPACE package is installed by default.

    -
    - -
    +the rRESPA hierarchy. See the run_style command for +details. +

    +
    +

    Restrictions: +

    +

    This style is part of the KSPACE package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. Note that +the KSPACE package is installed by default. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ismail) Ismail, Tsige, In 't Veld, Grest, Molecular Physics +(accepted) (2007). +

    + diff --git a/doc/pair_charmm.html b/doc/pair_charmm.html index b4689df222..a36e852678 100644 --- a/doc/pair_charmm.html +++ b/doc/pair_charmm.html @@ -1,391 +1,219 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/charmm/coul/charmm command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/charmm/coul/charmm command¶

    -
    -
    -

    pair_style lj/charmm/coul/charmm/cuda command¶

    -
    -
    -

    pair_style lj/charmm/coul/charmm/omp command¶

    -
    -
    -

    pair_style lj/charmm/coul/charmm/implicit command¶

    -
    -
    -

    pair_style lj/charmm/coul/charmm/implicit/cuda command¶

    -
    -
    -

    pair_style lj/charmm/coul/charmm/implicit/omp command¶

    -
    -
    -

    pair_style lj/charmm/coul/long command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/cuda command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/gpu command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/intel command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/opt command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/omp command¶

    -
    -
    -

    pair_style lj/charmm/coul/msm command¶

    -
    -
    -

    pair_style lj/charmm/coul/msm/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long or lj/charmm/coul/msm
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
    +
    +
    +
    + +

    pair_style lj/charmm/coul/charmm command +

    +

    pair_style lj/charmm/coul/charmm/cuda command +

    +

    pair_style lj/charmm/coul/charmm/omp command +

    +

    pair_style lj/charmm/coul/charmm/implicit command +

    +

    pair_style lj/charmm/coul/charmm/implicit/cuda command +

    +

    pair_style lj/charmm/coul/charmm/implicit/omp command +

    +

    pair_style lj/charmm/coul/long command +

    +

    pair_style lj/charmm/coul/long/cuda command +

    +

    pair_style lj/charmm/coul/long/gpu command +

    +

    pair_style lj/charmm/coul/long/intel command +

    +

    pair_style lj/charmm/coul/long/opt command +

    +

    pair_style lj/charmm/coul/long/omp command +

    +

    pair_style lj/charmm/coul/msm command +

    +

    pair_style lj/charmm/coul/msm/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long or lj/charmm/coul/msm +
    • args = list of arguments for a particular style +
    +
      lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
         inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
    +  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
         inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/long args = inner outer (cutoff)
    +  lj/charmm/coul/long args = inner outer (cutoff)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
         cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    -  lj/charmm/coul/msm args = inner outer (cutoff)
    +  lj/charmm/coul/msm args = inner outer (cutoff)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    -    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/charmm/coul/charmm 8.0 10.0
    +    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) 
    +
    +

    Examples: +

    +
    pair_style lj/charmm/coul/charmm 8.0 10.0
     pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5
    -
    -
    -
    pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5 
    +
    +
    pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
     pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5
    -
    -
    -
    pair_style lj/charmm/coul/long 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5 
    +
    +
    pair_style lj/charmm/coul/long 8.0 10.0
     pair_style lj/charmm/coul/long 8.0 10.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5
    -
    -
    -
    pair_style lj/charmm/coul/msm 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5 
    +
    +
    pair_style lj/charmm/coul/msm 8.0 10.0
     pair_style lj/charmm/coul/msm 8.0 10.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/charmm styles compute LJ and Coulombic interactions with an +pair_coeff 1 1 100.0 2.0 150.0 3.5 + +

    Description: +

    +

    The lj/charmm styles compute LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a widely -used potential in the CHARMM MD code. -See (MacKerell) for a description of the CHARMM force -field.

    -_images/pair_charmm.jpg -

    Both the LJ and Coulombic terms require an inner and outer cutoff. +used potential in the CHARMM MD code. +See (MacKerell) for a description of the CHARMM force +field. +

    +
    +
    +

    Both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. In each case, the inner cutoff distance must be less than the outer cutoff. It it typical to make the difference between the 2 cutoffs about 1.0 -Angstrom.

    -

    Style lj/charmm/coul/charmm/implicit computes the same formulas as -style lj/charmm/coul/charmm except that an additional 1/r term is +Angstrom. +

    +

    Style lj/charmm/coul/charmm/implicit computes the same formulas as +style lj/charmm/coul/charmm except that an additional 1/r term is included in the Coulombic formula. The Coulombic energy thus varies as 1/r^2. This is effectively a distance-dependent dielectric term which is a simple model for an implicit solvent with additional screening. It is designed for use in a simulation of an unsolvated -biomolecule (no explicit water molecules).

    -

    Styles lj/charmm/coul/long and lj/charmm/coul/msm compute the same -formulas as style lj/charmm/coul/charmm except that an additional +biomolecule (no explicit water molecules). +

    +

    Styles lj/charmm/coul/long and lj/charmm/coul/msm compute the same +formulas as style lj/charmm/coul/charmm except that an additional damping factor is applied to the Coulombic term, as described for the -lj/cut pair styles. Only one Coulombic cutoff is -specified for lj/charmm/coul/long and lj/charmm/coul/msm; if only +lj/cut pair styles. Only one Coulombic cutoff is +specified for lj/charmm/coul/long and lj/charmm/coul/msm; if only 2 arguments are used in the pair_style command, then the outer LJ -cutoff is used as the single Coulombic cutoff.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +cutoff is used as the single Coulombic cutoff. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • epsilon_14 (energy units)
    • -
    • sigma_14 (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • epsilon_14 (energy units) +
    • sigma_14 (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma.

    -

    The latter 2 coefficients are optional. If they are specified, they +sigma. +

    +

    The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in -the pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, and sigma_14 coefficients for all of the lj/charmm pair styles can be -mixed. The default mix value is arithmetic to coincide with the -usual settings for the CHARMM force field. See the “pair_modify” -command for details.

    -

    None of the lj/charmm pair styles support the -pair_modify shift option, since the Lennard-Jones -portion of the pair interaction is smoothed to 0.0 at the cutoff.

    -

    The lj/charmm/coul/long style supports the -pair_modify table option since it can tabulate the -short-range portion of the long-range Coulombic interaction.

    -

    None of the lj/charmm pair styles support the -pair_modify tail option for adding long-range tail +mixed. The default mix value is arithmetic to coincide with the +usual settings for the CHARMM force field. See the "pair_modify" +command for details. +

    +

    None of the lj/charmm pair styles support the +pair_modify shift option, since the Lennard-Jones +portion of the pair interaction is smoothed to 0.0 at the cutoff. +

    +

    The lj/charmm/coul/long style supports the +pair_modify table option since it can tabulate the +short-range portion of the long-range Coulombic interaction. +

    +

    None of the lj/charmm pair styles support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since the Lennard-Jones portion of -the pair interaction is smoothed to 0.0 at the cutoff.

    -

    All of the lj/charmm pair styles write their information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    The lj/charmm/coul/long pair style supports the use of the inner, -middle, and outer keywords of the run_style respa +the pair interaction is smoothed to 0.0 at the cutoff. +

    +

    All of the lj/charmm pair styles write their information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    The lj/charmm/coul/long pair style supports the use of the inner, +middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only -support the pair keyword of run_style respa. See the -run_style command for details.

    -
    -
    -
    -

    Restrictions¶

    -

    The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit -styles are part of the MOLECULE package. The lj/charmm/coul/long +support the pair keyword of run_style respa. See the +run_style command for details. +

    +
    + +

    Restrictions: +

    +

    The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit +styles are part of the MOLECULE package. The lj/charmm/coul/long style is part of the KSPACE package. They are only enabled if LAMMPS -was built with those packages. See the Making LAMMPS section for more info. Note that -the MOLECULE and KSPACE packages are installed by default.

    -
    - -
    +was built with those packages. See the Making +LAMMPS section for more info. Note that +the MOLECULE and KSPACE packages are installed by default. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +

    + diff --git a/doc/pair_class2.html b/doc/pair_class2.html index 878fac51ca..58c66b927c 100644 --- a/doc/pair_class2.html +++ b/doc/pair_class2.html @@ -1,362 +1,193 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/class2 command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/class2 command¶

    -
    -
    -

    pair_style lj/class2/cuda command¶

    -
    -
    -

    pair_style lj/class2/gpu command¶

    -
    -
    -

    pair_style lj/class2/kk command¶

    -
    -
    -

    pair_style lj/class2/omp command¶

    -
    -
    -

    pair_style lj/class2/coul/cut command¶

    -
    -
    -

    pair_style lj/class2/coul/cut/cuda command¶

    -
    -
    -

    pair_style lj/class2/coul/cut/kk command¶

    -
    -
    -

    pair_style lj/class2/coul/cut/omp command¶

    -
    -
    -

    pair_style lj/class2/coul/long command¶

    -
    -
    -

    pair_style lj/class2/coul/long/cuda command¶

    -
    -
    -

    pair_style lj/class2/coul/long/gpu command¶

    -
    -
    -

    pair_style lj/class2/coul/long/kk command¶

    -
    -
    -

    pair_style lj/class2/coul/long/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/class2 or lj/class2/coul/cut or lj/class2/coul/long
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/class2 args = cutoff
    +
    +
    +
    + +

    pair_style lj/class2 command +

    +

    pair_style lj/class2/cuda command +

    +

    pair_style lj/class2/gpu command +

    +

    pair_style lj/class2/kk command +

    +

    pair_style lj/class2/omp command +

    +

    pair_style lj/class2/coul/cut command +

    +

    pair_style lj/class2/coul/cut/cuda command +

    +

    pair_style lj/class2/coul/cut/kk command +

    +

    pair_style lj/class2/coul/cut/omp command +

    +

    pair_style lj/class2/coul/long command +

    +

    pair_style lj/class2/coul/long/cuda command +

    +

    pair_style lj/class2/coul/long/gpu command +

    +

    pair_style lj/class2/coul/long/kk command +

    +

    pair_style lj/class2/coul/long/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/class2 or lj/class2/coul/cut or lj/class2/coul/long +
    • args = list of arguments for a particular style +
    +
      lj/class2 args = cutoff
         cutoff = global cutoff for class 2 interactions (distance units)
    -  lj/class2/coul/cut args = cutoff (cutoff2)
    +  lj/class2/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/class2/coul/long args = cutoff (cutoff2)
    +  lj/class2/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/class2 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style lj/class2 10.0
     pair_coeff * * 100.0 2.5
    -pair_coeff 1 2* 100.0 2.5 9.0
    -
    -
    -
    pair_style lj/class2/coul/cut 10.0
    +pair_coeff 1 2* 100.0 2.5 9.0 
    +
    +
    pair_style lj/class2/coul/cut 10.0
     pair_style lj/class2/coul/cut 10.0 8.0
     pair_coeff * * 100.0 3.0
     pair_coeff 1 1 100.0 3.5 9.0
    -pair_coeff 1 1 100.0 3.5 9.0 9.0
    -
    -
    -
    pair_style lj/class2/coul/long 10.0
    +pair_coeff 1 1 100.0 3.5 9.0 9.0 
    +
    +
    pair_style lj/class2/coul/long 10.0
     pair_style lj/class2/coul/long 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/class2 styles compute a 6/9 Lennard-Jones potential given by

    -_images/pair_class2.jpg -

    Rc is the cutoff.

    -

    The lj/class2/coul/cut and lj/class2/coul/long styles add a -Coulombic term as described for the lj/cut pair styles.

    -

    See (Sun) for a description of the COMPASS class2 force field.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 100.0 3.5 9.0 + +

    Description: +

    +

    The lj/class2 styles compute a 6/9 Lennard-Jones potential given by +

    +
    +
    +

    Rc is the cutoff. +

    +

    The lj/class2/coul/cut and lj/class2/coul/long styles add a +Coulombic term as described for the lj/cut pair styles. +

    +

    See (Sun) for a description of the COMPASS class2 force field. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    The latter 2 coefficients are optional. If not specified, the global class 2 and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both class 2 and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the class 2 and Coulombic cutoffs for this type pair. -You cannot specify 2 cutoffs for style lj/class2, since it has no -Coulombic terms.

    -

    For lj/class2/coul/long only the class 2 cutoff can be specified +You cannot specify 2 cutoffs for style lj/class2, since it has no +Coulombic terms. +

    +

    For lj/class2/coul/long only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command.

    -
    -

    If the pair_coeff command is not used to define coefficients for a +specified in the pair_style command. +

    +
    + +

    If the pair_coeff command is not used to define coefficients for a particular I != J type pair, the mixing rule for epsilon and sigma for -all class2 potentials is to use the sixthpower formulas documented -by the pair_modify command. The pair_modify mix setting is thus ignored for class2 potentials +all class2 potentials is to use the sixthpower formulas documented +by the pair_modify command. The pair_modify +mix setting is thus ignored for class2 potentials for epsilon and sigma. However it is still followed for mixing the -cutoff distance.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +cutoff distance. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/class2 pair styles can be mixed. -Epsilon and sigma are always mixed with the value sixthpower. The +Epsilon and sigma are always mixed with the value sixthpower. The cutoff distance is mixed by whatever option is set by the pair_modify -command (default = geometric). See the “pair_modify” command for -details.

    -

    All of the lj/class2 pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction.

    -

    The lj/class2/coul/long pair style does not support the -pair_modify table option since a tabulation -capability has not yet been added to this potential.

    -

    All of the lj/class2 pair styles support the -pair_modify tail option for adding a long-range +command (default = geometric). See the "pair_modify" command for +details. +

    +

    All of the lj/class2 pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction. +

    +

    The lj/class2/coul/long pair style does not support the +pair_modify table option since a tabulation +capability has not yet been added to this potential. +

    +

    All of the lj/class2 pair styles support the +pair_modify tail option for adding a long-range tail correction to the energy and pressure of the Lennard-Jones -portion of the pair interaction.

    -

    All of the lj/class2 pair styles write their information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    All of the lj/class2 pair styles can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    These styles are part of the CLASS2 package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +portion of the pair interaction. +

    +

    All of the lj/class2 pair styles write their information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    All of the lj/class2 pair styles can only be used via the pair +keyword of the run_style respa command. They do not +support the inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    These styles are part of the CLASS2 package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). +

    + diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html index 63f74a0733..fed17fdca0 100644 --- a/doc/pair_coeff.html +++ b/doc/pair_coeff.html @@ -1,210 +1,95 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_coeff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_coeff command¶

    -
    -

    Syntax¶

    -
    pair_coeff I J args
    -
    -
    -
      -
    • I,J = atom types (see asterisk form below)
    • -
    • args = coefficients for one or more pairs of atom types
    • -
    -
    -
    -

    Examples¶

    -
    pair_coeff 1 2 1.0 1.0 2.5
    +
    +
    +
    + +

    pair_coeff command +

    +

    Syntax: +

    +
    pair_coeff I J args 
    +
    +
    • I,J = atom types (see asterisk form below) +
    • args = coefficients for one or more pairs of atom types +
    +

    Examples: +

    +
    pair_coeff 1 2 1.0 1.0 2.5
     pair_coeff 2 * 1.0 1.0
     pair_coeff 3* 1*2 1.0 1.0 2.5
     pair_coeff * * 1.0 1.0
     pair_coeff * * nialhjea 1 1 2
     pair_coeff * 3 morse.table ENTRY1
    -pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid)
    -
    -
    -
    -
    -

    Description¶

    -

    Specify the pairwise force field coefficients for one or more pairs of +pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) + +

    Description: +

    +

    Specify the pairwise force field coefficients for one or more pairs of atom types. The number and meaning of the coefficients depends on the pair style. Pair coefficients can also be set in the data file read -by the read_data command or in a restart file.

    -

    I and J can be specified in one of two ways. Explicit numeric values -can be used for each, as in the 1st example above. I <= J is +by the read_data command or in a restart file. +

    +

    I and J can be specified in one of two ways. Explicit numeric values +can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I -interaction to the same values.

    -

    A wildcard asterisk can be used in place of or in conjunction with the +interaction to the same values. +

    +

    A wildcard asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form “*” or “n” or “n” or “m*n”. If N = the +types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored.

    -

    Note that a pair_coeff command can override a previous setting for the +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored. +

    +

    Note that a pair_coeff command can override a previous setting for the same I,J pair. For example, these commands set the coeffs for all I,J -pairs, then overwrite the coeffs for just the I,J = 2,3 pair:

    -
    pair_coeff * * 1.0 1.0 2.5
    -pair_coeff 2 3 2.0 1.0 1.12
    -
    -
    -

    A line in a data file that specifies pair coefficients uses the exact +pairs, then overwrite the coeffs for just the I,J = 2,3 pair: +

    +
    pair_coeff * * 1.0 1.0 2.5
    +pair_coeff 2 3 2.0 1.0 1.12 
    +
    +

    A line in a data file that specifies pair coefficients uses the exact same format as the arguments of the pair_coeff command in an input script, with the exception of the I,J type arguments. In each line of -the “Pair Coeffs” section of a data file, only a single type I is +the "Pair Coeffs" section of a data file, only a single type I is specified, which sets the coefficients for type I interacting with type I. This is because the section has exactly N lines, where N = the number of atom types. For this reason, the wild-card asterisk should also not be used as part of the I argument. Thus in a data file, the line corresponding to the 1st example above would be listed -as

    -
    2 1.0 1.0 2.5
    -
    -
    -

    For many potentials, if coefficients for type pairs with I != J are +as +

    +
    2 1.0 1.0 2.5 
    +
    +

    For many potentials, if coefficients for type pairs with I != J are not set explicitly by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the -pair_modify command for a discussion. Details on +pair_modify command for a discussion. Details on this option as it pertains to individual potentials are described on -the doc page for the potential.

    -

    Many pair styles, typically for many-body potentials, use tabulated +the doc page for the potential. +

    +

    Many pair styles, typically for many-body potentials, use tabulated potential files as input, when specifying the pair_coeff command. Potential files provided with LAMMPS are in the potentials directory of the distribution. For some potentials, such as EAM, other archives of suitable files can be found on the Web. They can be used with LAMMPS so long as they are in the format LAMMPS expects, as discussed -on the individual doc pages.

    -

    When a pair_coeff command using a potential file is specified, LAMMPS +on the individual doc pages. +

    +

    When a pair_coeff command using a potential file is specified, LAMMPS looks for the potential file in 2 places. First it looks in the -location specified. E.g. if the file is specified as “niu3.eam”, it +location specified. E.g. if the file is specified as "niu3.eam", it is looked for in the current working directory. If it is specified as -”../potentials/niu3.eam”, then it is looked for in the potentials +"../potentials/niu3.eam", then it is looked for in the potentials directory, assuming it is a sister directory of the current working directory. If the file is not found, it is then looked for in the directory specified by the LAMMPS_POTENTIALS environment variable. @@ -212,112 +97,54 @@ Thus if this is set to the potentials directory in the LAMMPS distro, then you can use those files from anywhere on your system, without copying them into your working directory. Environment variables are set in different ways for different shells. Here are example settings -for

    -
    csh, tcsh:
    -% setenv LAMMPS_POTENTIALS /path/to/lammps/potentials
    -
    -
    -
    bash:
    -% export LAMMPS_POTENTIALS=/path/to/lammps/potentials
    -
    -
    -
    -Windows:
    -% set LAMMPS_POTENTIALS="C:Path to LAMMPSPotentials
    -
    -
    -

    The alphabetic list of pair styles defined in LAMMPS is given on the -pair_style doc page. They are also given in more -compact form in the pair section of this page.

    -

    Click on the style to display the formula it computes, arguments +for +

    +
    csh, tcsh:
    +% setenv LAMMPS_POTENTIALS /path/to/lammps/potentials 
    +
    +
    bash:
    +% export LAMMPS_POTENTIALS=/path/to/lammps/potentials 
    +
    +
    Windows:
    +% set LAMMPS_POTENTIALS="C:\Path to LAMMPS\Potentials 
    +
    +
    + +

    The alphabetic list of pair styles defined in LAMMPS is given on the +pair_style doc page. They are also given in more +compact form in the pair section of this +page. +

    +

    Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the -associated pair_coeff command.

    -

    Note that there are also additional pair styles (not listed on the -pair_style doc page) submitted by users which are +associated pair_coeff command. +

    +

    Note that there are also additional pair styles (not listed on the +pair_style doc page) submitted by users which are included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the pair section of this page.

    -

    There are also additional accelerated pair styles (not listed on the -pair_style doc page) included in the LAMMPS +the individual styles are given in the pair section of this +page. +

    +

    There are also additional accelerated pair styles (not listed on the +pair_style doc page) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given in the pair -section of this page.

    -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -
    - -
    +section of this page. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    Related commands: +

    +

    pair_style, pair_modify, +read_data, read_restart, +pair_write +

    +

    Default: none +

    + diff --git a/doc/pair_colloid.html b/doc/pair_colloid.html index 9de64aedad..3f8f006bac 100644 --- a/doc/pair_colloid.html +++ b/doc/pair_colloid.html @@ -1,224 +1,117 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style colloid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style colloid command¶

    -
    -
    -

    pair_style colloid/gpu command¶

    -
    -
    -

    pair_style colloid/omp command¶

    -
    -

    Syntax¶

    -
    pair_style colloid cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for colloidal interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style colloid 10.0
    +
    +
    +
    + +

    pair_style colloid command +

    +

    pair_style colloid/gpu command +

    +

    pair_style colloid/omp command +

    +

    Syntax: +

    +
    pair_style colloid cutoff 
    +
    +
    • cutoff = global cutoff for colloidal interactions (distance units) +
    +

    Examples: +

    +
    pair_style colloid 10.0
     pair_coeff * *  25 1.0 10.0 10.0
     pair_coeff 1 1 144 1.0 0.0 0.0 3.0
     pair_coeff 1 2  75.398 1.0 0.0 10.0 9.0
    -pair_coeff 2 2  39.478 1.0 10.0 10.0 25.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style colloid computes pairwise interactions between large colloidal +pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 + +

    Description: +

    +

    Style colloid computes pairwise interactions between large colloidal particles and small solvent particles using 3 formulas. A colloidal -particle has a size > sigma; a solvent particle is the usual -Lennard-Jones particle of size sigma.

    -

    The colloid-colloid interaction energy is given by

    -_images/pair_colloid_cc.jpg -

    where A_cc is the Hamaker constant, a1 and a2 are the radii of the two +particle has a size > sigma; a solvent particle is the usual +Lennard-Jones particle of size sigma. +

    +

    The colloid-colloid interaction energy is given by +

    +
    +
    +

    where A_cc is the Hamaker constant, a1 and a2 are the radii of the two colloidal particles, and Rc is the cutoff. This equation results from describing each colloidal particle as an integrated collection of Lennard-Jones particles of size sigma and is derived in -(Everaers).

    -

    The colloid-solvent interaction energy is given by

    -_images/pair_colloid_cs.jpg -

    where A_cs is the Hamaker constant, a is the radius of the colloidal +(Everaers). +

    +

    The colloid-solvent interaction energy is given by +

    +
    +
    +

    where A_cs is the Hamaker constant, a is the radius of the colloidal particle, and Rc is the cutoff. This formula is derived from the colloid-colloid interaction, letting one of the particle sizes go to -zero.

    -

    The solvent-solvent interaction energy is given by the usual -Lennard-Jones formula

    -_images/pair_colloid_ss.jpg -

    with A_ss set appropriately, which results from letting both particle -sizes go to zero.

    -

    When used in combination with pair_style yukawa/colloid, the two terms become the so-called +zero. +

    +

    The solvent-solvent interaction energy is given by the usual +Lennard-Jones formula +

    +
    +
    +

    with A_ss set appropriately, which results from letting both particle +sizes go to zero. +

    +

    When used in combination with pair_style +yukawa/colloid, the two terms become the so-called DLVO potential, which combines electrostatic repulsion and van der -Waals attraction.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +Waals attraction. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • A (energy units)
    • -
    • sigma (distance units)
    • -
    • d1 (distance units)
    • -
    • d2 (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    A is the Hamaker energy prefactor and should typically be set as -follows:

    -
      -
    • A_cc = colloid/colloid = 4 pi^2 = 39.5
    • -
    • A_cs = colloid/solvent = sqrt(A_cc*A_ss)
    • -
    • A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4)
    • -
    -

    Sigma is the size of the solvent particle or the constituent particles +read_data or read_restart +commands, or by mixing as described below: +

    +
    • A (energy units) +
    • sigma (distance units) +
    • d1 (distance units) +
    • d2 (distance units) +
    • cutoff (distance units) +
    +

    A is the Hamaker energy prefactor and should typically be set as +follows: +

    +
    • A_cc = colloid/colloid = 4 pi^2 = 39.5 +
    • A_cs = colloid/solvent = sqrt(A_cc*A_ss) +
    • A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) +
    +

    Sigma is the size of the solvent particle or the constituent particles integrated over in the colloidal particle and should typically be set -as follows:

    -
      -
    • Sigma_cc = colloid/colloid = 1.0
    • -
    • Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma
    • -
    • Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is
    • -
    -

    Thus typically Sigma_cs = 1.0, unless the solvent particle’s size != -1.0.

    -

    D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in -the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 -and d2 > 0, then the pair interacts via the colloid-colloid formula +as follows: +

    +
    • Sigma_cc = colloid/colloid = 1.0 +
    • Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma +
    • Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is +
    +

    Thus typically Sigma_cs = 1.0, unless the solvent particle's size != +1.0. +

    +

    D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in +the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 +and d2 > 0, then the pair interacts via the colloid-colloid formula above. If d1 = 0 and d2 = 0, then the pair interacts via the solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones particle of size sigma. If either d1 = 0 or d2 = 0 and the other is -larger, then the pair interacts via the colloid-solvent formula.

    -

    Note that the diameter of a particular particle type may appear in +larger, then the pair interacts via the colloid-solvent formula. +

    +

    Note that the diameter of a particular particle type may appear in multiple pair_coeff commands, as it interacts with other particle types. You should insure the particle diameter is specified -consistently each time it appears.

    -

    The last coefficient is optional. If not specified, the global cutoff +consistently each time it appears. +

    +

    The last coefficient is optional. If not specified, the global cutoff specified in the pair_style command is used. However, you typically want different cutoffs for interactions between different particle sizes. E.g. if colloidal particles of diameter 10 are used with @@ -226,135 +119,95 @@ solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 would correspond to a colloid-colloid cutoff of 25. A good rule-of-thumb is to use a colloid-solvent cutoff that is half the big diameter + 4 times the small diameter. I.e. 9 = 5 + 4 for the -colloid-solvent cutoff in this case.

    -
    -

    Warning

    -

    When using pair_style colloid for a mixture with 2 (or +colloid-solvent cutoff in this case. +

    +

    IMPORTANT NOTE: When using pair_style colloid for a mixture with 2 (or more) widely different particles sizes (e.g. sigma=10 colloids in a background sigam=1 LJ fluid), you will likely want to use these -commands for efficiency: neighbor multi and -comm_modify multi.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +commands for efficiency: neighbor multi and +comm_modify multi. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -geometric. See the “pair_modify” command for details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +geometric. See the "pair_modify" command for details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Normally, this pair style should be used with finite-size particles -which have a diameter, e.g. see the atom_style sphere command. However, this is not a requirement, +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This style is part of the COLLOID package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Normally, this pair style should be used with finite-size particles +which have a diameter, e.g. see the atom_style +sphere command. However, this is not a requirement, since the only definition of particle size is via the pair_coeff parameters for each type. In other words, the physical radius of the particle is ignored. Thus you should insure that the d1,d2 parameters you specify are consistent with the physical size of the particles of -that type.

    -

    Per-particle polydispersity is not yet supported by this pair style; -only per-type polydispersity is enabled via the pair_coeff parameters.

    -
    - -
    +that type. +

    +

    Per-particle polydispersity is not yet supported by this pair style; +only per-type polydispersity is enabled via the pair_coeff parameters. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Everaers) Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). +

    + diff --git a/doc/pair_comb.html b/doc/pair_comb.html index 520ce6c21f..3812b25920 100644 --- a/doc/pair_comb.html +++ b/doc/pair_comb.html @@ -1,352 +1,204 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style comb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style comb command¶

    -
    -
    -

    pair_style comb/omp command¶

    -
    -
    -

    pair_style comb3 command¶

    -
    -

    Syntax¶

    -
    pair_style comb
    -pair_style comb3 keyword
    -
    -
    -
    -keyword = polar
    -  polar value = polar_on or polar_off = whether or not to include atomic polarization
    -
    -
    -
    -

    Examples¶

    -
    pair_style comb
    +
    +
    +
    + +

    pair_style comb command +

    +

    pair_style comb/omp command +

    +

    pair_style comb3 command +

    +

    Syntax: +

    +
    pair_style comb
    +pair_style comb3 keyword 
    +
    +
    keyword = polar
    +  polar value = polar_on or polar_off = whether or not to include atomic polarization 
    +
    + + +

    Examples: +

    +
    pair_style comb
     pair_coeff * * ../potentials/ffield.comb Si
    -pair_coeff * * ../potentials/ffield.comb Hf Si O
    -
    -
    -
    pair_style comb3 polar_off
    -pair_coeff * * ../potentials/ffield.comb3 O Cu N C O
    -
    -
    -
    -
    -

    Description¶

    -

    Style comb computes the second-generation variable charge COMB -(Charge-Optimized Many-Body) potential. Style comb3 computes the +pair_coeff * * ../potentials/ffield.comb Hf Si O + +

    pair_style comb3 polar_off
    +pair_coeff * * ../potentials/ffield.comb3 O Cu N C O 
    +
    +

    Description: +

    +

    Style comb computes the second-generation variable charge COMB +(Charge-Optimized Many-Body) potential. Style comb3 computes the third-generation COMB potential. These COMB potentials are described -in (COMB) and (COMB3). Briefly, the total energy -E<sub>T</sub> of a system of atoms is given by

    -_images/pair_comb1.jpg -

    where E<sub>i</sub><sup>self</sup> is the self-energy of atom i +in (COMB) and (COMB3). Briefly, the total energy +ET of a system of atoms is given by +

    +
    +
    +

    where Eiself is the self-energy of atom i (including atomic ionization energies and electron affinities), -E<sub>ij</sub><sup>short</sup> is the bond-order potential between -atoms i and j, -E<sub>ij</sub><sup>Coul</sup> is the Coulomb interactions, -E<sup>polar</sup> is the polarization term for organic systems -(style comb3 only), -E<sup>vdW</sup> is the van der Waals energy (style comb3 only), -E<sup>barr</sup> is a charge barrier function, and -E<sup>corr</sup> are angular correction terms.

    -

    The COMB potentials (styles comb and comb3) are variable charge +Eijshort is the bond-order potential between +atoms i and j, +EijCoul is the Coulomb interactions, +Epolar is the polarization term for organic systems +(style comb3 only), +EvdW is the van der Waals energy (style comb3 only), +Ebarr is a charge barrier function, and +Ecorr are angular correction terms. +

    +

    The COMB potentials (styles comb and comb3) are variable charge potentials. The equilibrium charge on each atom is calculated by the -electronegativity equalization (QEq) method. See Rick for -further details. This is implemented by the fix qeq/comb command, which should normally be +electronegativity equalization (QEq) method. See Rick for +further details. This is implemented by the fix +qeq/comb command, which should normally be specified in the input script when running a model with the COMB -potential. The fix qeq/comb command has options +potential. The fix qeq/comb command has options that determine how often charge equilibration is performed, its convergence criterion, and which atoms are included in the -calculation.

    -

    Only a single pair_coeff command is used with the comb and comb3 +calculation. +

    +

    Only a single pair_coeff command is used with the comb and comb3 styles which specifies the COMB potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the potential file in the pair_coeff -command, where N is the number of LAMMPS atom types.

    -

    For example, if your LAMMPS simulation of a Si/SiO<sub>2</sub>/ -HfO<sub>2</sub> interface has 4 atom types, and you want the 1st and +command, where N is the number of LAMMPS atom types. +

    +

    For example, if your LAMMPS simulation of a Si/SiO2/ +HfO2 interface has 4 atom types, and you want the 1st and last to be Si, the 2nd to be Hf, and the 3rd to be O, and you would -use the following pair_coeff command:

    -
    pair_coeff * * ../potentials/ffield.comb Si Hf O Si
    -
    -
    -

    The first two arguments must be * * so as to span all LAMMPS atom +use the following pair_coeff command: +

    +
    pair_coeff * * ../potentials/ffield.comb Si Hf O Si 
    +
    +

    The first two arguments must be * * so as to span all LAMMPS atom types. The first and last Si arguments map LAMMPS atom types 1 and 4 -to the Si element in the ffield.comb file. The second Hf argument +to the Si element in the ffield.comb file. The second Hf argument maps LAMMPS atom type 2 to the Hf element, and the third O argument maps LAMMPS atom type 3 to the O element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. -This can be used when a comb potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    For style comb, the provided potential file ffield.comb contains +This can be used when a comb potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    For style comb, the provided potential file ffield.comb contains all currently-available 2nd generation COMB parameterizations: for Si, Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals. For style -comb3, the potential file ffield.comb3 contains all +comb3, the potential file ffield.comb3 contains all currently-available 3rd generation COMB paramterizations: O, Cu, N, C, H, Ti, Zn and Zr. The status of the optimization of the compounds, for -example Cu<sub>2</sub>O, TiN and hydrocarbons, are given in the -following table:

    -_images/pair_comb2.jpg -

    For style comb3, in addition to ffield.comb3, a special parameter -file, lib.comb3, that is exclusively used for C/O/H systems, will be +example Cu2O, TiN and hydrocarbons, are given in the +following table: +

    +
    +
    +

    For style comb3, in addition to ffield.comb3, a special parameter +file, lib.comb3, that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the directory pointed to by the environment variable LAMMPS_POTENTIALS, as -described on the pair_coeff command doc page.

    -

    Keyword polar indicates whether the force field includes +described on the pair_coeff command doc page. +

    +

    Keyword polar indicates whether the force field includes the atomic polarization. Since the equilibration of the polarization -has not yet been implemented, it can only set polar_off at present.

    -
    -

    Warning

    -

    You can not use potential file ffield.comb with -style comb3, nor file ffield.comb3 with style comb.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +has not yet been implemented, it can only set polar_off at present. +

    +

    IMPORTANT NOTE: You can not use potential file ffield.comb with +style comb3, nor file ffield.comb3 with style comb. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file.

    -

    These pair styles does not support the pair_modify -shift, table, and tail options.

    -

    These pair styles do not write its information to binary restart files, since it is stored in potential files. Thus, you -need to re-specify the pair_style, pair_coeff, and fix qeq/comb commands 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 command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the MANYBODY package. It is only enabled +described above from values in the potential file. +

    +

    These pair styles does not support the pair_modify +shift, table, and tail options. +

    +

    These pair styles do not write its information to binary restart +files, since it is stored in potential files. Thus, you +need to re-specify the pair_style, pair_coeff, and fix +qeq/comb commands 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 command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    These pair styles are part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    These pair styles requires the newton setting to be “on” -for pair interactions.

    -

    The COMB potentials in the ffield.comb and ffield.comb3 files provided +the Making LAMMPS section for more info. +

    +

    These pair styles requires the newton setting to be "on" +for pair interactions. +

    +

    The COMB potentials in the ffield.comb and ffield.comb3 files provided with LAMMPS (see the potentials directory) are parameterized for metal -units. You can use the COMB potential with any LAMMPS +units. You can use the COMB potential with any LAMMPS units, but you would need to create your own COMB potential file with coefficients listed in the appropriate units if your simulation -doesn’t use “metal” units.

    -
    - -
    +doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_style, pair_coeff, +fix_qeq/comb +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (COMB) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and +S. R. Phillpot, Phys. Rev. B 81, 125328 (2010) +

    + -
    +

    (COMB3) T. Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, +Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, +255-279 (2013). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Rick) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 +(1994). +

    + diff --git a/doc/pair_coul.html b/doc/pair_coul.html index fb7c01869d..db95f8848a 100644 --- a/doc/pair_coul.html +++ b/doc/pair_coul.html @@ -1,533 +1,373 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style coul/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style coul/cut command¶

    -
    -
    -

    pair_style coul/cut/gpu command¶

    -
    -
    -

    pair_style coul/cut/kk command¶

    -
    -
    -

    pair_style coul/cut/omp command¶

    -
    -
    -

    pair_style coul/debye command¶

    -
    -
    -

    pair_style coul/debye/gpu command¶

    -
    -
    -

    pair_style coul/debye/kk command¶

    -
    -
    -

    pair_style coul/debye/omp command¶

    -
    -
    -

    pair_style coul/dsf command¶

    -
    -
    -

    pair_style coul/dsf/gpu command¶

    -
    -
    -

    pair_style coul/dsf/kk command¶

    -
    -
    -

    pair_style coul/dsf/omp command¶

    -
    -
    -

    pair_style coul/long command¶

    -
    -
    -

    pair_style coul/long/cs command¶

    -
    -
    -

    pair_style coul/long/omp command¶

    -
    -
    -

    pair_style coul/long/gpu command¶

    -
    -
    -

    pair_style coul/long/kk command¶

    -
    -
    -

    pair_style coul/msm command¶

    -
    -
    -

    pair_style coul/msm/omp command¶

    -
    -
    -

    pair_style coul/streitz command¶

    -
    -
    -

    pair_style coul/wolf command¶

    -
    -
    -

    pair_style coul/wolf/kk command¶

    -
    -
    -

    pair_style coul/wolf/omp command¶

    -
    -
    -

    pair_style tip4p/cut command¶

    -
    -
    -

    pair_style tip4p/long command¶

    -
    -
    -

    pair_style tip4p/cut/omp command¶

    -
    -
    -

    pair_style tip4p/long/omp command¶

    -
    -

    Syntax¶

    -
    pair_style coul/cut cutoff
    +
    +
    +
    + +

    pair_style coul/cut command +

    +

    pair_style coul/cut/gpu command +

    +

    pair_style coul/cut/kk command +

    +

    pair_style coul/cut/omp command +

    +

    pair_style coul/debye command +

    +

    pair_style coul/debye/gpu command +

    +

    pair_style coul/debye/kk command +

    +

    pair_style coul/debye/omp command +

    +

    pair_style coul/dsf command +

    +

    pair_style coul/dsf/gpu command +

    +

    pair_style coul/dsf/kk command +

    +

    pair_style coul/dsf/omp command +

    +

    pair_style coul/long command +

    +

    pair_style coul/long/cs command +

    +

    pair_style coul/long/omp command +

    +

    pair_style coul/long/gpu command +

    +

    pair_style coul/long/kk command +

    +

    pair_style coul/msm command +

    +

    pair_style coul/msm/omp command +

    +

    pair_style coul/streitz command +

    +

    pair_style coul/wolf command +

    +

    pair_style coul/wolf/kk command +

    +

    pair_style coul/wolf/omp command +

    +

    pair_style tip4p/cut command +

    +

    pair_style tip4p/long command +

    +

    pair_style tip4p/cut/omp command +

    +

    pair_style tip4p/long/omp command +

    +

    Syntax: +

    +
    pair_style coul/cut cutoff
     pair_style coul/debye kappa cutoff
     pair_style coul/dsf alpha cutoff
     pair_style coul/long cutoff
     pair_style coul/long/cs cutoff
    -pair_style coul/long/gpu cutoff
    +pair_style coul/long/gpu cutoff 
     pair_style coul/wolf alpha cutoff
     pair_style coul/streitz cutoff keyword alpha
     pair_style tip4p/cut otype htype btype atype qdist cutoff
    -pair_style tip4p/long otype htype btype atype qdist cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for Coulombic interactions
    • -
    • kappa = Debye length (inverse distance units)
    • -
    • alpha = damping parameter (inverse distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style coul/cut 2.5
    +pair_style tip4p/long otype htype btype atype qdist cutoff 
    +
    +
    • cutoff = global cutoff for Coulombic interactions +
    • kappa = Debye length (inverse distance units) +
    • alpha = damping parameter (inverse distance units) +
    +

    Examples: +

    +
    pair_style coul/cut 2.5
     pair_coeff * *
    -pair_coeff 2 2 3.5
    -
    -
    -
    pair_style coul/debye 1.4 3.0
    +pair_coeff 2 2 3.5 
    +
    +
    pair_style coul/debye 1.4 3.0
     pair_coeff * *
    -pair_coeff 2 2 3.5
    -
    -
    -
    pair_style coul/dsf 0.05 10.0
    -pair_coeff * *
    -
    -
    -
    pair_style coul/long 10.0
    +pair_coeff 2 2 3.5 
    +
    +
    pair_style coul/dsf 0.05 10.0
    +pair_coeff * * 
    +
    +
    pair_style coul/long 10.0
     pair_style coul/long/cs 10.0
    -pair_coeff * *
    -
    -
    -
    pair_style coul/msm 10.0
    -pair_coeff * *
    -
    -
    -
    pair_style coul/wolf 0.2 9.0
    -pair_coeff * *
    -
    -
    -
    pair_style coul/streitz 12.0 ewald
    +pair_coeff * * 
    +
    +
    pair_style coul/msm 10.0
    +pair_coeff * * 
    +
    +
    pair_style coul/wolf 0.2 9.0
    +pair_coeff * * 
    +
    +
    pair_style coul/streitz 12.0 ewald
     pair_style coul/streitz 12.0 wolf 0.30
    -pair_coeff * * AlO.streitz Al O
    -
    -
    -
    pair_style tip4p/cut 1 2 7 8 0.15 12.0
    -pair_coeff * *
    -
    -
    -
    pair_style tip4p/long 1 2 7 8 0.15 10.0
    -pair_coeff * *
    -
    -
    -
    -
    -

    Description¶

    -

    The coul/cut style computes the standard Coulombic interaction -potential given by

    -_images/pair_coulomb.jpg -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff * * AlO.streitz Al O + +

    pair_style tip4p/cut 1 2 7 8 0.15 12.0
    +pair_coeff * * 
    +
    +
    pair_style tip4p/long 1 2 7 8 0.15 10.0
    +pair_coeff * * 
    +
    +

    Description: +

    +

    The coul/cut style computes the standard Coulombic interaction +potential given by +

    +
    +
    +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. The cutoff Rc truncates -the interaction distance.

    -
    -

    Style coul/debye adds an additional exp() damping factor to the -Coulombic term, given by

    -_images/pair_debye.jpg -

    where kappa is the Debye length. This potential is another way to -mimic the screening effect of a polar solvent.

    -
    -

    Style coul/dsf computes Coulombic interactions via the damped -shifted force model described in Fennell, given by:

    -_images/pair_coul_dsf.jpg -

    where alpha is the damping parameter and erfc() is the +by the dielectric command. The cutoff Rc truncates +the interaction distance. +

    +
    + +

    Style coul/debye adds an additional exp() damping factor to the +Coulombic term, given by +

    +
    +
    +

    where kappa is the Debye length. This potential is another way to +mimic the screening effect of a polar solvent. +

    +
    + +

    Style coul/dsf computes Coulombic interactions via the damped +shifted force model described in Fennell, given by: +

    +
    +
    +

    where alpha is the damping parameter and erfc() is the complementary error-function. The potential corrects issues in the Wolf model (described below) to provide consistent forces and energies (the Wolf potential is not differentiable at the cutoff) and smooth -decay to zero.

    -
    -

    Style coul/wolf computes Coulombic interactions via the Wolf -summation method, described in Wolf, given by:

    -_images/pair_coul_wolf.jpg -

    where alpha is the damping parameter, and erc() and erfc() are +decay to zero. +

    +
    + +

    Style coul/wolf computes Coulombic interactions via the Wolf +summation method, described in Wolf, given by: +

    +
    +
    +

    where alpha is the damping parameter, and erc() and erfc() are error-fuction and complementary error-function terms. This potential is essentially a short-range, spherically-truncated, -charge-neutralized, shifted, pairwise 1/r summation. With a +charge-neutralized, shifted, pairwise 1/r summation. With a manipulation of adding and substracting a self term (for i = j) to the first and second term on the right-hand-side, respectively, and a -small enough alpha damping parameter, the second term shrinks and +small enough alpha damping parameter, the second term shrinks and the potential becomes a rapidly-converging real-space summation. With a long enough cutoff and small enough alpha parameter, the energy and forces calcluated by the Wolf summation method approach those of the Ewald sum. So it is a means of getting effective long-range -interactions with a short-range potential.

    -
    -

    Style coul/streitz is the Coulomb pair interaction defined as part -of the Streitz-Mintmire potential, as described in this paper, in which charge distribution about an atom is modeled -as a Slater 1*s* orbital. More details can be found in the referenced +interactions with a short-range potential. +

    +
    + +

    Style coul/streitz is the Coulomb pair interaction defined as part +of the Streitz-Mintmire potential, as described in this +paper, in which charge distribution about an atom is modeled +as a Slater 1s orbital. More details can be found in the referenced paper. To fully reproduce the published Streitz-Mintmire potential, -which is a variable charge potential, style coul/streitz must be -used with pair_style eam/alloy (or some other +which is a variable charge potential, style coul/streitz must be +used with pair_style eam/alloy (or some other short-range potential that has been parameterized appropriately) via -the pair_style hybrid/overlay command. Likewise, -charge equilibration must be performed via the fix qeq/slater command. For example:

    -
    pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy
    +the pair_style hybrid/overlay command.  Likewise,
    +charge equilibration must be performed via the fix
    +qeq/slater command. For example:
    +

    +
    pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy
     pair_coeff * * coul/streitz AlO.streitz Al O
     pair_coeff * * eam/alloy AlO.eam.alloy Al O
    -fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz
    -
    -
    -

    The keyword wolf in the coul/streitz command denotes computing +fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz + +

    The keyword wolf in the coul/streitz command denotes computing Coulombic interactions via Wolf summation. An additional damping parameter is required for the Wolf summation, as described for the coul/wolf potential above. Alternatively, Coulombic interactions can -be computed via an Ewald summation. For example:

    -
    pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy
    -kspace_style ewald 1e-6
    -
    -
    -

    Keyword ewald does not need a damping parameter, but a -kspace_style must be defined, which can be style -ewald or pppm. The Ewald method was used in Streitz and -Mintmire’s original paper, but a Wolf summation offers a speed-up in -some cases.

    -

    For the fix qeq/slater command, the qfile can be a filename that -contains QEq parameters as discussed on the fix qeq -command doc page. Alternatively qfile can be replaced by -“coul/streitz”, in which case the fix will extract QEq parameters from -the coul/streitz pair style itself.

    -

    See the examples/strietz directory for an example input script that +be computed via an Ewald summation. For example: +

    +
    pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy
    +kspace_style ewald 1e-6 
    +
    +

    Keyword ewald does not need a damping parameter, but a +kspace_style must be defined, which can be style +ewald or pppm. The Ewald method was used in Streitz and +Mintmire's original paper, but a Wolf summation offers a speed-up in +some cases. +

    +

    For the fix qeq/slater command, the qfile can be a filename that +contains QEq parameters as discussed on the fix qeq +command doc page. Alternatively qfile can be replaced by +"coul/streitz", in which case the fix will extract QEq parameters from +the coul/streitz pair style itself. +

    +

    See the examples/strietz directory for an example input script that uses the Streitz-Mintmire potential. The potentials directory has the -AlO.eam.alloy and AlO.streitz potential files used by the example.

    -

    Note that the Streiz-Mintmire potential is generally used for oxides, +AlO.eam.alloy and AlO.streitz potential files used by the example. +

    +

    Note that the Streiz-Mintmire potential is generally used for oxides, but there is no conceptual problem with extending it to nitrides and carbides (such as SiC, TiN). Pair coul/strietz used by itself or with any other pair style such as EAM, MEAM, Tersoff, or LJ in hybrid/overlay mode. To do this, you would need to provide a -Streitz-Mintmire parameterizaion for the material being modeled.

    -
    -

    Styles coul/long and coul/msm compute the same Coulombic -interactions as style coul/cut except that an additional damping +Streitz-Mintmire parameterizaion for the material being modeled. +

    +
    + +

    Styles coul/long and coul/msm compute the same Coulombic +interactions as style coul/cut except that an additional damping factor is applied so it can be used in conjunction with the -kspace_style command and its ewald or pppm +kspace_style command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space.

    -

    Style coul/long/cs is identical to coul/long except that a term is -added for the core/shell model to allow -charges on core and shell particles to be separated by r = 0.0.

    -

    Styles tip4p/cut and tip4p/long implement the coulomb part of -the TIP4P water model of (Jorgensen), which introduces +interactions outside that distance are computed in reciprocal space. +

    +

    Style coul/long/cs is identical to coul/long except that a term is +added for the core/shell model to allow +charges on core and shell particles to be separated by r = 0.0. +

    +

    Styles tip4p/cut and tip4p/long implement the coulomb part of +the TIP4P water model of (Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair_style arguments. Style tip4p/cut uses a global cutoff for -Coulomb interactions; style tip4p/long is for use with a long-range -Coulombic solver (Ewald or PPPM).

    -
    -

    Warning

    -

    For each TIP4P water molecule in your system, the atom +pair_style arguments. Style tip4p/cut uses a global cutoff for +Coulomb interactions; style tip4p/long is for use with a long-range +Coulombic solver (Ewald or PPPM). +

    +

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to “find” the 2 H atoms associated +first. This is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    -
    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502. +

    +

    See the howto section for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model.

    -
    -

    Note that these potentials are designed to be combined with other pair -potentials via the pair_style hybrid/overlay +test the trade-off for your model. +

    +
    + +

    Note that these potentials are designed to be combined with other pair +potentials via the pair_style hybrid/overlay command. This is because they have no repulsive core. Hence if they are used by themselves, there will be no repulsion to keep two oppositely charged particles from moving arbitrarily close to each -other.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +other. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutoff (distance units)
    • -
    -

    For coul/cut and coul/debye, the cutoff coefficient is optional. +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutoff (distance units) +
    +

    For coul/cut and coul/debye, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default -global value specified in the pair_style command is used.

    -

    For coul/long and coul/msm no cutoff can be specified for an +global value specified in the pair_style command is used. +

    +

    For coul/long and coul/msm no cutoff can be specified for an individual I,J type pair via the pair_coeff command. All type pairs use the same global Coulombic cutoff specified in the pair_style -command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the cutoff distance for the -coul/cut style can be mixed. The default mix value is geometric. -See the “pair_modify” command for details.

    -

    The pair_modify shift option is not relevant -for these pair styles.

    -

    The coul/long style supports the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the cutoff distance for the +coul/cut style can be mixed. The default mix value is geometric. +See the "pair_modify" command for details. +

    +

    The pair_modify shift option is not relevant +for these pair styles. +

    +

    The coul/long style supports the pair_modify table option for tabulation of the short-range portion of the -long-range Coulombic interaction.

    -

    These pair styles do not support the pair_modify +long-range Coulombic interaction. +

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    These pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    The coul/long, coul/msm and tip4p/long styles are part of the -KSPACE package. The coul/long/cs style is part of the CORESHELL +pressure. +

    +

    These pair styles write their information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    The coul/long, coul/msm and tip4p/long styles are part of the +KSPACE package. The coul/long/cs style is part of the CORESHELL package. They are only enabled if LAMMPS was built with that package -(which it is by default). See the Making LAMMPS section for more info.

    -
    - -
    +(which it is by default). See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_style, +hybrid/overlay, kspace_style +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Wolf) D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem +Phys, 110, 8254 (1999). +

    + -
    +

    (Fennell) C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, +234104 (2006). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Streitz) F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003 +(1994). +

    + diff --git a/doc/pair_coul_diel.html b/doc/pair_coul_diel.html index 589c236164..a5f97bce47 100644 --- a/doc/pair_coul_diel.html +++ b/doc/pair_coul_diel.html @@ -1,280 +1,120 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style coul/diel command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style coul/diel command¶

    -
    -
    -

    pair_style coul/diel/omp command¶

    -
    -

    Syntax¶

    -
    pair_style coul/diel cutoff
    -
    -
    -

    cutoff = global cutoff (distance units)

    -
    -
    -

    Examples¶

    -
    pair_style coul/diel 3.5
    -pair_coeff 1 4 78. 1.375 0.112
    -
    -
    -
    -
    -

    Description¶

    -

    Style coul/diel computes a Coulomb correction for implict solvent + + +


    + +

    pair_style coul/diel command +

    +

    pair_style coul/diel/omp command +

    +

    Syntax: +

    +
    pair_style coul/diel cutoff 
    +
    +

    cutoff = global cutoff (distance units) +

    +

    Examples: +

    +
    pair_style coul/diel 3.5
    +pair_coeff 1 4 78. 1.375 0.112 
    +
    +

    Description: +

    +

    Style coul/diel computes a Coulomb correction for implict solvent ion interactions in which the dielectric perimittivity is distance dependent. -The dielectric permittivity epsilon_D(r) connects to limiting regimes: +The dielectric permittivity epsilon_D(r) connects to limiting regimes: One limit is defined by a small dielectric permittivity (close to vacuum) at or close to contact seperation between the ions. At larger separations the dielectric permittivity reaches a bulk value used in the regular Coulomb interaction coul/long or coul/cut. The transition is modeled by a hyperbolic function which is incorporated -in the Coulomb correction term for small ion separations as follows

    -_images/pair_coul_diel.jpg -

    where r_me is the inflection point of epsilon_D(r) and sigma_e is a slope +in the Coulomb correction term for small ion separations as follows +

    +
    +
    +

    where r_me is the inflection point of epsilon_D(r) and sigma_e is a slope defining length scale. C is the same Coulomb conversion factor as in the pair_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb -interaction between ions is corrected at small distances r. The lower -limit of epsilon_D(r->0)=5.2 due to dielectric saturation (Stiles) -while the Coulomb interaction reaches its bulk limit by setting -epsilon_D(r->infty)=epsilon, the bulk value of the solvent which is 78 -for water at 298K.

    -

    Examples of the use of this type of Coulomb interaction include implicit -solvent simulations of salt ions -(Lenart) and of ionic surfactants (Jusufi). +interaction between ions is corrected at small distances r. The lower +limit of epsilon_D(r->0)=5.2 due to dielectric saturation (Stiles) +while the Coulomb interaction reaches its bulk limit by setting +epsilon_D(r->\infty)=epsilon, the bulk value of the solvent which is 78 +for water at 298K. +

    +

    Examples of the use of this type of Coulomb interaction include implicit +solvent simulations of salt ions +(Lenart) and of ionic surfactants (Jusufi). Note that this potential is only reasonable for implicit solvent simulations and in combiantion with coul/cut or coul/long. It is also usually combined -with gauss/cut, see (Lenart) or (Jusufi).

    -

    The following coefficients must be defined for each pair of atom -types via the pair_coeff command as in the example +with gauss/cut, see (Lenart) or (Jusufi). +

    +

    The following coefficients must be defined for each pair of atom +types via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • epsilon (no units)
    • -
    • r_me (distance units)
    • -
    • sigma_e (distance units)
    • -
    -

    The global cutoff (r_c) specified in the pair_style command is used.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs.

    -

    This pair style supports the pair_modify shift +read_data or read_restart +commands: +

    +
    • epsilon (no units) +
    • r_me (distance units) +
    • sigma_e (distance units) +
    +

    The global cutoff (r_c) specified in the pair_style command is used. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs. +

    +

    This pair style supports the pair_modify shift option for the energy of the Gauss-potential portion of the pair -interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This style is part of the “user-misc” package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +pressure. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    This style is part of the "user-misc" package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff +pair_style gauss/cut +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Stiles) Stiles , Hubbard, and Kayser, J Chem Phys, 77, +6189 (1982). +

    + -
    +

    (Lenart) Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, +044509 (2007). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Jusufi) Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, +13783 (2008). +

    + diff --git a/doc/pair_cs.html b/doc/pair_cs.html index 247773cd8f..8cc7b4f091 100644 --- a/doc/pair_cs.html +++ b/doc/pair_cs.html @@ -1,266 +1,91 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style born/coul/long/cs command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style born/coul/long/cs command¶

    -
    -
    -

    pair_style buck/coul/long/cs command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = born/coul/long/cs or buck/coul/long/cs
    • -
    • args = list of arguments for a particular style
    • -
    -
    -born/coul/long/cs args = cutoff (cutoff2)
    +
    +
    +
    + +

    pair_style born/coul/long/cs command +

    +

    pair_style buck/coul/long/cs command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = born/coul/long/cs or buck/coul/long/cs +
    • args = list of arguments for a particular style +
    +
      born/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long/cs args = cutoff (cutoff2)
    +  buck/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style born/coul/long/cs 10.0 8.0
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    -
    -
    -
    pair_style buck/coul/long/cs 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style born/coul/long/cs 10.0 8.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    +
    +
    pair_style buck/coul/long/cs 10.0
     pair_style buck/coul/long/cs 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    These pair styles are designed to be used with the adiabatic -core/shell model of (Mitchell and Finchham). See -Section_howto 25 of the manual for an -overview of the model as implemented in LAMMPS.

    -

    These pair styles are identical to the pair_style born/coul/long and pair_style buck/coul/long styles, except they correctly treat the +pair_coeff 1 1 100.0 1.5 200.0 9.0 + +

    Description: +

    +

    These pair styles are designed to be used with the adiabatic +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an +overview of the model as implemented in LAMMPS. +

    +

    These pair styles are identical to the pair_style +born/coul/long and pair_style +buck/coul/long styles, except they correctly treat the special case where the distance between two charged core and shell atoms in the same core/shell pair approach r = 0.0. This needs special treatment when a long-range solver for Coulombic interactions -is also used, i.e. via the kspace_style command.

    -

    More specifically, the short-range Coulomb interaction between a core +is also used, i.e. via the kspace_style command. +

    +

    More specifically, the short-range Coulomb interaction between a core and its shell should be turned off using the -special_bonds command by setting the 1-2 weight +special_bonds command by setting the 1-2 weight to 0.0, which works because the core and shell atoms are bonded to each other. This induces a long-range correction approximation which -fails at small distances (~< 10e-8). Therefore, the Coulomb term which +fails at small distances (~< 10e-8). Therefore, the Coulomb term which is used to calculate the correction factor is extended by a minimal distance (r_min = 1.0-6) when the interaction between a core/shell -pair is treated, as follows

    -_images/pair_cs.jpg -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair is treated, as follows +

    +
    +
    +

    where C is an energy-conversion constant, Qi and Qj are the charges on the core and shell, epsilon is the dielectric constant and r_min is the -minimal distance.

    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the CORESHELL package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +minimal distance. +

    +

    Restrictions: +

    +

    These pair styles are part of the CORESHELL package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_style born, +pair_style buck +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993). +

    + diff --git a/doc/pair_dipole.html b/doc/pair_dipole.html index 20e689001a..6bce1d0def 100644 --- a/doc/pair_dipole.html +++ b/doc/pair_dipole.html @@ -1,425 +1,286 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/cut/dipole/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/cut/dipole/cut command¶

    -
    -
    -

    pair_style lj/cut/dipole/cut/gpu command¶

    -
    -
    -

    pair_style lj/cut/dipole/cut/omp command¶

    -
    -
    -

    pair_style lj/sf/dipole/sf command¶

    -
    -
    -

    pair_style lj/sf/dipole/sf/gpu command¶

    -
    -
    -

    pair_style lj/sf/dipole/sf/omp command¶

    -
    -
    -

    pair_style lj/cut/dipole/long command¶

    -
    -
    -

    pair_style lj/long/dipole/long command¶

    -
    -

    Syntax¶

    -
    pair_style lj/cut/dipole/cut cutoff (cutoff2)
    +
    +
    +
    + +

    pair_style lj/cut/dipole/cut command +

    +

    pair_style lj/cut/dipole/cut/gpu command +

    +

    pair_style lj/cut/dipole/cut/omp command +

    +

    pair_style lj/sf/dipole/sf command +

    +

    pair_style lj/sf/dipole/sf/gpu command +

    +

    pair_style lj/sf/dipole/sf/omp command +

    +

    pair_style lj/cut/dipole/long command +

    +

    pair_style lj/long/dipole/long command +

    +

    Syntax: +

    +
    pair_style lj/cut/dipole/cut cutoff (cutoff2)
     pair_style lj/sf/dipole/sf cutoff (cutoff2)
     pair_style lj/cut/dipole/long cutoff (cutoff2)
    -pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2)
    -
    -
    -
      -
    • cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units)
    • -
    • cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units)
    • -
    • flag_lj = long or cut or off
    • -
    -
    -long = use long-range damping on dispersion 1/r^6 term
    -  cut = use a cutoff on dispersion 1/r^6 term
    -  off = omit disperion 1/r^6 term entirely
    -
    -
      -
    • flag_coul = long or off
    • -
    -
    -long = use long-range damping on Coulombic 1/r and point-dipole terms
    -  off = omit Coulombic and point-dipole terms entirely
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/cut/dipole/cut 10.0
    -pair_coeff * * 1.0 1.0
    -pair_coeff 2 3 1.0 1.0 2.5 4.0
    -
    -
    -
    pair_style lj/sf/dipole/sf 9.0
    -pair_coeff * * 1.0 1.0
    -pair_coeff 2 3 1.0 1.0 2.5 4.0
    -
    -
    -
    pair_style lj/cut/dipole/long 10.0
    -pair_coeff * * 1.0 1.0
    -pair_coeff 2 3 1.0 1.0 2.5 4.0
    -
    -
    -
    pair_style lj/long/dipole/long long long 3.5 10.0
    -pair_coeff * * 1.0 1.0
    -pair_coeff 2 3 1.0 1.0 2.5 4.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/cut/dipole/cut computes interactions between pairs of particles +pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) + +

    • cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) + +
    • cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) + +
    • flag_lj = long or cut or off + +
        long = use long-range damping on dispersion 1/r^6 term
      +  cut = use a cutoff on dispersion 1/r^6 term
      +  off = omit disperion 1/r^6 term entirely 
      +
      +
    • flag_coul = long or off + +
        long = use long-range damping on Coulombic 1/r and point-dipole terms
      +  off = omit Coulombic and point-dipole terms entirely 
      +
      + +
    +

    Examples: +

    +
    pair_style lj/cut/dipole/cut 10.0
    +pair_coeff * * 1.0 1.0 
    +pair_coeff 2 3 1.0 1.0 2.5 4.0 
    +
    +
    pair_style lj/sf/dipole/sf 9.0
    +pair_coeff * * 1.0 1.0 
    +pair_coeff 2 3 1.0 1.0 2.5 4.0 
    +
    +
    pair_style lj/cut/dipole/long 10.0
    +pair_coeff * * 1.0 1.0 
    +pair_coeff 2 3 1.0 1.0 2.5 4.0 
    +
    +
    pair_style lj/long/dipole/long long long 3.5 10.0
    +pair_coeff * * 1.0 1.0 
    +pair_coeff 2 3 1.0 1.0 2.5 4.0 
    +
    +

    Description: +

    +

    Style lj/cut/dipole/cut computes interactions between pairs of particles that each have a charge and/or a point dipole moment. In addition to the usual Lennard-Jones interaction between the particles (Elj) the charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J.

    -_images/pair_dipole.jpg -

    where qi and qj are the charges on the two particles, pi and pj are +(F), and torque (T) between particles I and J. +

    +
    +
    +

    where qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. These formulas are discussed in -(Allen) and in (Toukmaji).

    -

    Style lj/sf/dipole/sf computes “shifted-force” interactions between +(Allen) and in (Toukmaji). +

    +

    Style lj/sf/dipole/sf computes "shifted-force" interactions between pairs of particles that each have a charge and/or a point dipole moment. In general, a shifted-force potential is a (sligthly) modified potential containing extra terms that make both the energy and its derivative go to zero at the cutoff distance; this removes (cutoff-related) problems in energy conservation and any numerical -instability in the equations of motion (Allen). Shifted-force +instability in the equations of motion (Allen). Shifted-force interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) potentials are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J:

    -_images/pair_dipole_sf.jpg -_images/pair_dipole_sf2.jpg -

    where epsilon and sigma are the standard LJ parameters, r_c is the +(F), and torque (T) between particles I and J: +

    +
    +
    +
    +
    +

    where epsilon and sigma are the standard LJ parameters, r_c is the cutoff, qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. The shifted-force formula for the -Lennard-Jones potential is reported in (Stoddard). The +Lennard-Jones potential is reported in (Stoddard). The original (unshifted) formulas for the electrostatic potentials, forces -and torques can be found in (Price). The shifted-force +and torques can be found in (Price). The shifted-force electrostatic potentials have been obtained by applying equation 5.13 -of (Allen). The formulas for the corresponding forces and -torques have been obtained by applying the ‘chain rule’ as in appendix -C.3 of (Allen).

    -

    If one cutoff is specified in the pair_style command, it is used for +of (Allen). The formulas for the corresponding forces and +torques have been obtained by applying the 'chain rule' as in appendix +C.3 of (Allen). +

    +

    If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms -respectively.

    -

    Style lj/cut/dipole/long computes long-range point-dipole -interactions as discussed in (Toukmaji). Dipole-dipole, +respectively. +

    +

    Style lj/cut/dipole/long computes long-range point-dipole +interactions as discussed in (Toukmaji). Dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions, which are computed -with a cutoff. A kspace_style must be defined to -use this pair style. Currently, only kspace_style ewald/disp support long-range point-dipole -interactions.

    -

    Style lj/long/dipole/long also computes point-dipole interactions as -discussed in (Toukmaji). Long-range dipole-dipole, +with a cutoff. A kspace_style must be defined to +use this pair style. Currently, only kspace_style +ewald/disp support long-range point-dipole +interactions. +

    +

    Style lj/long/dipole/long also computes point-dipole interactions as +discussed in (Toukmaji). Long-range dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions -can be cutoff or long-ranged.

    -

    For style lj/long/dipole/long, if flag_lj is set to long, no +can be cutoff or long-ranged. +

    +

    For style lj/long/dipole/long, if flag_lj is set to long, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range -portion is calculated by using the kspace_style ewald_disp command. The specified LJ cutoff then +portion is calculated by using the kspace_style +ewald_disp command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If flag_lj is set to cut, the LJ -interactions are simply cutoff, as with pair_style lj/cut. If flag_lj is set to off, LJ interactions -are not computed at all.

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic or +space via the Kspace style. If flag_lj is set to cut, the LJ +interactions are simply cutoff, as with pair_style +lj/cut. If flag_lj is set to off, LJ interactions +are not computed at all. +

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using -ewald_disp of the kspace_style command. If -flag_coul is set to off, Coulombic and dipole interactions are not -computed at all.

    -

    Atoms with dipole moments should be integrated using the fix nve/sphere update dipole command to rotate the -dipole moments. The omega option on the fix langevin command can be used to thermostat the -rotational motion. The compute temp/sphere +ewald_disp of the kspace_style command. If +flag_coul is set to off, Coulombic and dipole interactions are not +computed at all. +

    +

    Atoms with dipole moments should be integrated using the fix +nve/sphere update dipole command to rotate the +dipole moments. The omega option on the fix +langevin command can be used to thermostat the +rotational motion. The compute temp/sphere command can be used to monitor the temperature, since it includes -rotational degrees of freedom. The atom_style dipole command should be used since it defines the +rotational degrees of freedom. The atom_style +dipole command should be used since it defines the point dipoles and their rotational state. The magnitude of the dipole moment for each type of particle can be defined by the -dipole command or in the “Dipoles” section of the data -file read in by the read_data command. Their initial -orientation can be defined by the set dipole command or in -the “Atoms” section of the data file.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +dipole command or in the "Dipoles" section of the data +file read in by the read_data command. Their initial +orientation can be defined by the set dipole command or in +the "Atoms" section of the data file. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +type pair. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default -mix value is geometric. See the “pair_modify” command for details.

    -

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +mix value is geometric. See the "pair_modify" command for details. +

    +

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -geometric. See the “pair_modify” command for details.

    -

    This pair style does not support the pair_modify +geometric. See the "pair_modify" command for details. +

    +

    This pair style does not support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction; such energy goes to zero at the cutoff by construction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +interaction; such energy goes to zero at the cutoff by construction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    The lj/cut/dipole/cut, lj/cut/dipole/long, and -lj/long/dipole/long styles are part of the DIPOLE package. They are -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The lj/sf/dipole/sf style is part of the USER-MISC package. It is -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Using dipole pair styles with electron units is not -currently supported.

    -
    - -
    +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    The lj/cut/dipole/cut, lj/cut/dipole/long, and +lj/long/dipole/long styles are part of the DIPOLE package. They are +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The lj/sf/dipole/sf style is part of the USER-MISC package. It is +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Using dipole pair styles with electron units is not +currently supported. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Allen) Allen and Tildesley, Computer Simulation of Liquids, +Clarendon Press, Oxford, 1987. +

    + -
    +

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, +10913 (2000). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Stoddard) Stoddard and Ford, Phys Rev A, 8, 1504 (1973). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Price) Price, Stone and Alderton, Mol Phys, 52, 987 (1984). +

    + diff --git a/doc/pair_dpd.html b/doc/pair_dpd.html index 3ccb23ce40..91d610c71a 100644 --- a/doc/pair_dpd.html +++ b/doc/pair_dpd.html @@ -1,372 +1,221 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style dpd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style dpd command¶

    -
    -
    -

    pair_style dpd/gpu command¶

    -
    -
    -

    pair_style dpd/omp command¶

    -
    -
    -

    pair_style dpd/tstat command¶

    -
    -
    -

    pair_style dpd/tstat/gpu command¶

    -
    -
    -

    pair_style dpd/tstat/omp command¶

    -
    -

    Syntax¶

    -
    pair_style dpd T cutoff seed
    -pair_style dpd/tstat Tstart Tstop cutoff seed
    -
    -
    -
      -
    • T = temperature (temperature units)
    • -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • -
    • cutoff = global cutoff for DPD interactions (distance units)
    • -
    • seed = random # seed (positive integer)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style dpd 1.0 2.5 34387
    +
    +
    +
    + +

    pair_style dpd command +

    +

    pair_style dpd/gpu command +

    +

    pair_style dpd/omp command +

    +

    pair_style dpd/tstat command +

    +

    pair_style dpd/tstat/gpu command +

    +

    pair_style dpd/tstat/omp command +

    +

    Syntax: +

    +
    pair_style dpd T cutoff seed
    +pair_style dpd/tstat Tstart Tstop cutoff seed 
    +
    +
    • T = temperature (temperature units) +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) +
    • cutoff = global cutoff for DPD interactions (distance units) +
    • seed = random # seed (positive integer) +
    +

    Examples: +

    +
    pair_style dpd 1.0 2.5 34387
     pair_coeff * * 3.0 1.0
    -pair_coeff 1 1 3.0 1.0 1.0
    -
    -
    -
    pair_style dpd/tstat 1.0 1.0 2.5 34387
    +pair_coeff 1 1 3.0 1.0 1.0 
    +
    +
    pair_style dpd/tstat 1.0 1.0 2.5 34387
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style dpd computes a force field for dissipative particle dynamics -(DPD) following the exposition in (Groot).

    -

    Style dpd/tstat invokes a DPD thermostat on pairwise interactions, +pair_coeff 1 1 1.0 1.0 + +

    Description: +

    +

    Style dpd computes a force field for dissipative particle dynamics +(DPD) following the exposition in (Groot). +

    +

    Style dpd/tstat invokes a DPD thermostat on pairwise interactions, which is equivalent to the non-conservative portion of the DPD force field. This pair-wise thermostat can be used in conjunction with any -pair style, and in leiu of per-particle thermostats -like fix langevin or ensemble thermostats like -Nose Hoover as implemented by fix nvt. To use -dpd/stat as a thermostat for another pair style, use the pair_style hybrid/overlay command to compute both the desired -pair interaction and the thermostat for each pair of particles.

    -

    For style dpd, the force on atom I due to atom J is given as a sum -of 3 terms

    -_images/pair_dpd.jpg -

    where Fc is a conservative force, Fd is a dissipative force, and Fr is +pair style, and in leiu of per-particle thermostats +like fix langevin or ensemble thermostats like +Nose Hoover as implemented by fix nvt. To use +dpd/stat as a thermostat for another pair style, use the pair_style +hybrid/overlay command to compute both the desired +pair interaction and the thermostat for each pair of particles. +

    +

    For style dpd, the force on atom I due to atom J is given as a sum +of 3 terms +

    +
    +
    +

    where Fc is a conservative force, Fd is a dissipative force, and Fr is a random force. Rij is a unit vector in the direction Ri - Rj, Vij is the vector difference in velocities of the two atoms = Vi - Vj, alpha is a Gaussian random number with zero mean and unit variance, dt is the timestep size, and w(r) is a weighting factor that varies between 0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 Kb T gamma), where Kb is the Boltzmann constant and T is the temperature parameter -in the pair_style command.

    -

    For style dpd/tstat, the force on atom I due to atom J is the same +in the pair_style command. +

    +

    For style dpd/tstat, the force on atom I due to atom J is the same as the above equation, except that the conservative Fc term is dropped. Also, during the run, T is set each timestep to a ramped -value from Tstart to Tstop.

    -

    For style dpd, the pairwise energy associated with style dpd is +value from Tstart to Tstop. +

    +

    For style dpd, the pairwise energy associated with style dpd is only due to the conservative force term Fc, and is shifted to be zero at the cutoff distance Rc. The pairwise virial is calculated using -all 3 terms. For style dpd/tstat there is no pairwise energy, but -the last two terms of the formula make a contribution to the virial.

    -

    For style dpd, the following coefficients must be defined for each -pair of atoms types via the pair_coeff command as in +all 3 terms. For style dpd/tstat there is no pairwise energy, but +the last two terms of the formula make a contribution to the virial. +

    +

    For style dpd, the following coefficients must be defined for each +pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • A (force units)
    • -
    • gamma (force/velocity units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global DPD +read_data or read_restart +commands: +

    +
    • A (force units) +
    • gamma (force/velocity units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), -where T is the temperature set by the pair_style -command so it does not need to be specified.

    -

    For style dpd/tstat, the coefficiencts defined for each pair of -atoms types via the pair_coeff command is the same, -except that A is not included.

    -

    The GPU-accelerated versions of these styles are implemented based on -the work of (Afshar) and (Phillips).

    -
    -

    Warning

    -

    If you are modeling DPD polymer chains, you may want -to use the pair_style srp command in conjuction with +where T is the temperature set by the pair_style +command so it does not need to be specified. +

    +

    For style dpd/tstat, the coefficiencts defined for each pair of +atoms types via the pair_coeff command is the same, +except that A is not included. +

    +

    The GPU-accelerated versions of these styles are implemented based on +the work of (Afshar) and (Phillips). +

    +

    IMPORTANT NOTE: If you are modeling DPD polymer chains, you may want +to use the pair_style srp command in conjuction with these pair styles. It is a soft segmental repulsive potential (SRP) -that can prevent DPD polymer chains from crossing each other.

    -
    -
    -

    Warning

    -

    The virial calculation for pressure when using this +that can prevent DPD polymer chains from crossing each other. +

    +

    IMPORTANT NOTE: The virial calculation for pressure when using this pair style includes all the components of force listed above, -including the random force.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +including the random force. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    These pair styles do not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    These pair styles do not support the pair_modify shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative Fc term is already -shifted to be 0.0 at the cutoff distance Rc.

    -

    The pair_modify table option is not relevant -for these pair styles.

    -

    These pair style do not support the pair_modify +shifted to be 0.0 at the cutoff distance Rc. +

    +

    The pair_modify table option is not relevant +for these pair styles. +

    +

    These pair style do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    These pair styles writes their information to binary restart files, so pair_style and pair_coeff commands do not need +pressure. +

    +

    These pair styles writes their information to binary restart +files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will re-initialize its random number generator the same way it did initially. This means the random forces will be random, but will not be the same as they would have been if the original simulation had -continued past the restart time.

    -

    These pair styles can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords.

    -

    The dpd/tstat style can ramp its target temperature over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this.

    -
    -
    -
    -

    Restrictions¶

    -

    The default frequency for rebuilding neighbor lists is every 10 steps -(see the neigh_modify command). This may be too -infrequent for style dpd simulations since particles move rapidly +continued past the restart time. +

    +

    These pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords. +

    +

    The dpd/tstat style can ramp its target temperature over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this. +

    +
    + +

    Restrictions: +

    +

    The default frequency for rebuilding neighbor lists is every 10 steps +(see the neigh_modify command). This may be too +infrequent for style dpd simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero -number of “dangerous” reneighborings (printed at the end of a +number of "dangerous" reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more -often and see if system energies/trajectories change.

    -

    These pair styles requires you to use the comm_modify vel yes command so that velocites are stored by ghost -atoms.

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +often and see if system energies/trajectories change. +

    +

    These pair styles requires you to use the comm_modify vel +yes command so that velocites are stored by ghost +atoms. +

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details.

    -
    - -
    +read_restart command for more details. +

    +

    Related commands: +

    +

    pair_coeff, fix nvt, fix +langevin, pair_style srp +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Groot) Groot and Warren, J Chem Phys, 107, 4423-35 (1997). +

    + -
    +

    (Afshar) Afshar, F. Schmid, A. Pishevar, S. Worley, Comput Phys +Comm, 184, 1119-1128 (2013). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Phillips) C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput +Phys Comm, 230, 7191-7201 (2011). +

    + diff --git a/doc/pair_dsmc.html b/doc/pair_dsmc.html index 8a974e9c9b..f21cefe8c7 100644 --- a/doc/pair_dsmc.html +++ b/doc/pair_dsmc.html @@ -1,316 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style dsmc command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style dsmc command¶

    -
    -

    Syntax¶

    -
    pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample
    -
    -
    -
      -
    • max_cell_size = global maximum cell size for DSMC interactions (distance units)
    • -
    • seed = random # seed (positive integer)
    • -
    • weighting = macroparticle weighting
    • -
    • Tref = reference temperature (temperature units)
    • -
    • Nrecompute = recompute v*sigma_max every this many timesteps (timesteps)
    • -
    • Nsample = sample this many times in recomputing v*sigma_max
    • -
    -
    -
    -

    Examples¶

    -
    pair_style dsmc 2.5 34387 10 1.0 100 20
    +
    +
    +
    + +

    pair_style dsmc command +

    +

    Syntax: +

    +
    pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample 
    +
    +
    • max_cell_size = global maximum cell size for DSMC interactions (distance units) +
    • seed = random # seed (positive integer) +
    • weighting = macroparticle weighting +
    • Tref = reference temperature (temperature units) +
    • Nrecompute = recompute v*sigma_max every this many timesteps (timesteps) +
    • Nsample = sample this many times in recomputing v*sigma_max +
    +

    Examples: +

    +
    pair_style dsmc 2.5 34387 10 1.0 100 20
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style dsmc computes collisions between pairs of particles for a +pair_coeff 1 1 1.0 + +

    Description: +

    +

    Style dsmc computes collisions between pairs of particles for a direct simulation Monte Carlo (DSMC) model following the exposition in -(Bird). Each collision resets the velocities of the two +(Bird). Each collision resets the velocities of the two particles involved. The number of pairwise collisions for each pair or particle types and the length scale within which they occur are determined by the parameters of the pair_style and pair_coeff -commands.

    -

    Stochastic collisions are performed using the variable hard sphere -(VHS) approach, with the user-defined max_cell_size value used as +commands. +

    +

    Stochastic collisions are performed using the variable hard sphere +(VHS) approach, with the user-defined max_cell_size value used as the maximum DSMC cell size, and reference cross-sections for -collisions given using the pair_coeff command.

    -

    There is no pairwise energy or virial contributions associated with -this pair style.

    -

    The following coefficient must be defined for each pair of atoms types -via the pair_coeff command as in the examples above, +collisions given using the pair_coeff command. +

    +

    There is no pairwise energy or virial contributions associated with +this pair style. +

    +

    The following coefficient must be defined for each pair of atoms types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • sigma (area units, i.e. distance-squared)
    • -
    -

    The global DSMC max_cell_size determines the maximum cell length +read_data or read_restart +commands: +

    +
    • sigma (area units, i.e. distance-squared) +
    +

    The global DSMC max_cell_size determines the maximum cell length used in the DSMC calculation. A structured mesh is overlayed on the simulation box such that an integer number of cells are created in -each direction for each processor’s sub-domain. Cell lengths are -adjusted up to the user-specified maximum cell size.

    -
    -

    To perform a DSMC simulation with LAMMPS, several additional options +each direction for each processor's sub-domain. Cell lengths are +adjusted up to the user-specified maximum cell size. +

    +
    + +

    To perform a DSMC simulation with LAMMPS, several additional options should be set in your input script, though LAMMPS does not check for -these settings.

    -

    Since this pair style does not compute particle forces, you should use -the “fix nve/noforce” time integration fix for the DSMC particles, -e.g.

    -
    fix 1 all nve/noforce
    -
    -
    -

    This pair style assumes that all particles will communicated to +these settings. +

    +

    Since this pair style does not compute particle forces, you should use +the "fix nve/noforce" time integration fix for the DSMC particles, +e.g. +

    +
    fix 1 all nve/noforce 
    +
    +

    This pair style assumes that all particles will communicated to neighboring processors every timestep as they move. This makes it possible to perform all collisions between pairs of particles that are on the same processor. To ensure this occurs, you should use -these commands:

    -
    neighbor 0.0 bin
    +these commands:
    +

    +
    neighbor 0.0 bin
     neigh_modify every 1 delay 0 check no
     atom_modify sort 0 0.0
    -communicate single cutoff 0.0
    -
    -
    -

    These commands ensure that LAMMPS communicates particles to +communicate single cutoff 0.0 + +

    These commands ensure that LAMMPS communicates particles to neighboring processors every timestep and that no ghost atoms are created. The output statistics for a simulation run should indicate -there are no ghost particles or neighbors.

    -

    In order to get correct DSMC collision statistics, users should -specify a Gaussian velocity distribution when populating the +there are no ghost particles or neighbors. +

    +

    In order to get correct DSMC collision statistics, users should +specify a Gaussian velocity distribution when populating the simulation domain. Note that the default velocity distribution is uniform, which will not give good DSMC collision rates. Specify -“dist gaussian” when using the velocity command -as in the following:

    -
    velocity all create 594.6 87287 loop geom dist gaussian
    -
    -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +"dist gaussian" when using the velocity command +as in the following: +

    +
    velocity all create 594.6 87287 loop geom dist gaussian 
    +
    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will re-initialize its random number generator the same way it did initially. This means the random forces will be random, but will not be the same as they would have been if the original simulation had -continued past the restart time.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +continued past the restart time. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: +

    +

    This style is part of the MC package. It is only enabled if LAMMPS +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, fix nve/noforce, +neigh_modify, neighbor, +comm_modify +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bird) G. A. Bird, "Molecular Gas Dynamics and the Direct Simulation +of Gas Flows" (1994). +

    + diff --git a/doc/pair_eam.html b/doc/pair_eam.html index 8d559c5f3b..3bb2cb901f 100644 --- a/doc/pair_eam.html +++ b/doc/pair_eam.html @@ -1,621 +1,480 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style eam command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style eam command¶

    -
    -
    -

    pair_style eam/cuda command¶

    -
    -
    -

    pair_style eam/gpu command¶

    -
    -
    -

    pair_style eam/kk command¶

    -
    -
    -

    pair_style eam/omp command¶

    -
    -
    -

    pair_style eam/opt command¶

    -
    -
    -

    pair_style eam/alloy command¶

    -
    -
    -

    pair_style eam/alloy/cuda command¶

    -
    -
    -

    pair_style eam/alloy/gpu command¶

    -
    -
    -

    pair_style eam/alloy/kk command¶

    -
    -
    -

    pair_style eam/alloy/omp command¶

    -
    -
    -

    pair_style eam/alloy/opt command¶

    -
    -
    -

    pair_style eam/cd command¶

    -
    -
    -

    pair_style eam/cd/omp command¶

    -
    -
    -

    pair_style eam/fs command¶

    -
    -
    -

    pair_style eam/fs/cuda command¶

    -
    -
    -

    pair_style eam/fs/gpu command¶

    -
    -
    -

    pair_style eam/fs/kk command¶

    -
    -
    -

    pair_style eam/fs/omp command¶

    -
    -
    -

    pair_style eam/fs/opt command¶

    -
    -

    Syntax¶

    -
    pair_style style
    -
    -
    -
      -
    • style = eam or eam/alloy or eam/cd or eam/fs
    • -
    -
    -
    -

    Examples¶

    -
    pair_style eam
    +
    +
    +
    + +

    pair_style eam command +

    +

    pair_style eam/cuda command +

    +

    pair_style eam/gpu command +

    +

    pair_style eam/kk command +

    +

    pair_style eam/omp command +

    +

    pair_style eam/opt command +

    +

    pair_style eam/alloy command +

    +

    pair_style eam/alloy/cuda command +

    +

    pair_style eam/alloy/gpu command +

    +

    pair_style eam/alloy/kk command +

    +

    pair_style eam/alloy/omp command +

    +

    pair_style eam/alloy/opt command +

    +

    pair_style eam/cd command +

    +

    pair_style eam/cd/omp command +

    +

    pair_style eam/fs command +

    +

    pair_style eam/fs/cuda command +

    +

    pair_style eam/fs/gpu command +

    +

    pair_style eam/fs/kk command +

    +

    pair_style eam/fs/omp command +

    +

    pair_style eam/fs/opt command +

    +

    Syntax: +

    +
    pair_style style 
    +
    +
    • style = eam or eam/alloy or eam/cd or eam/fs +
    +

    Examples: +

    +
    pair_style eam
     pair_coeff * * cuu3
    -pair_coeff 1*3 1*3 niu3.eam
    -
    -
    -
    pair_style eam/alloy
    -pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni
    -
    -
    -
    pair_style eam/cd
    -pair_coeff * * ../potentials/FeCr.cdeam Fe Cr
    -
    -
    -
    pair_style eam/fs
    -pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni
    -
    -
    -
    -
    -

    Description¶

    -

    Style eam computes pairwise interactions for metals and metal alloys -using embedded-atom method (EAM) potentials (Daw). The total -energy Ei of an atom I is given by

    -_images/pair_eam.jpg -

    where F is the embedding energy which is a function of the atomic +pair_coeff 1*3 1*3 niu3.eam + +

    pair_style eam/alloy
    +pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni 
    +
    +
    pair_style eam/cd
    +pair_coeff * * ../potentials/FeCr.cdeam Fe Cr 
    +
    +
    pair_style eam/fs
    +pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni 
    +
    +

    Description: +

    +

    Style eam computes pairwise interactions for metals and metal alloys +using embedded-atom method (EAM) potentials (Daw). The total +energy Ei of an atom I is given by +

    +
    +
    +

    where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I -within the cutoff distance.

    -

    The cutoff distance and the tabulated values of the functionals F, +within the cutoff distance. +

    +

    The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by -the pair_coeff command. These are ASCII text files +the pair_coeff command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO was the original serial EAM MD code, written by the EAM originators. Several DYNAMO potential files for different metals are included in the -“potentials” directory of the LAMMPS distribution. All of these files -are parameterized in terms of LAMMPS metal units.

    -
    -

    Warning

    -

    The eam style reads single-element EAM potentials in -the DYNAMO funcfl format. Either single element or alloy systems -can be modeled using multiple funcfl files and style eam. For the +"potentials" directory of the LAMMPS distribution. All of these files +are parameterized in terms of LAMMPS metal units. +

    +

    IMPORTANT NOTE: The eam style reads single-element EAM potentials in +the DYNAMO funcfl format. Either single element or alloy systems +can be modeled using multiple funcfl files and style eam. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single -DYNAMO setfl file or Finnis/Sinclair EAM file can be used by LAMMPS -to model alloy systems by invoking the eam/alloy or eam/cd or -eam/fs styles as described below. These files require no mixing -since they specify alloy interactions explicitly.

    -
    -
    -

    Warning

    -

    Note that unlike for other potentials, cutoffs for EAM +DYNAMO setfl file or Finnis/Sinclair EAM file can be used by LAMMPS +to model alloy systems by invoking the eam/alloy or eam/cd or +eam/fs styles as described below. These files require no mixing +since they specify alloy interactions explicitly. +

    +

    IMPORTANT NOTE: Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. Likewise, the EAM potential files list atomic masses; thus you do not need to use -the mass command to specify them.

    -
    -

    There are several WWW sites that distribute and document EAM -potentials stored in DYNAMO or other formats:

    -
    http://www.ctcms.nist.gov/potentials
    +the mass command to specify them.
    +

    +

    There are several WWW sites that distribute and document EAM +potentials stored in DYNAMO or other formats: +

    +
    http://www.ctcms.nist.gov/potentials
     http://cst-www.nrl.navy.mil/ccm6/ap
    -http://enpub.fulton.asu.edu/cms/potentials/main/main.htm
    -
    -
    -

    These potentials should be usable with LAMMPS, though the alternate +http://enpub.fulton.asu.edu/cms/potentials/main/main.htm + +

    These potentials should be usable with LAMMPS, though the alternate formats would need to be converted to the DYNAMO format used by LAMMPS and described on this page. The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on -interatomic potentials and file formats.

    -
    -

    For style eam, potential values are read from a file that is in the -DYNAMO single-element funcfl format. If the DYNAMO file was created -by a Fortran program, it cannot have “D” values in it for exponents. -C only recognizes “e” or “E” for scientific notation.

    -

    Note that unlike for other potentials, cutoffs for EAM potentials are +interatomic potentials and file formats. +

    +
    + +

    For style eam, potential values are read from a file that is in the +DYNAMO single-element funcfl format. If the DYNAMO file was created +by a Fortran program, it cannot have "D" values in it for exponents. +C only recognizes "e" or "E" for scientific notation. +

    +

    Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in -the EAM potential files themselves.

    -

    For style eam a potential file must be assigned to each I,I pair of +the EAM potential files themselves. +

    +

    For style eam a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a -single argument:

    -
      -
    • filename
    • -
    -

    Thus the following command

    -
    pair_coeff *2 1*2 cuu3.eam
    -
    -
    -

    will read the cuu3 potential file and use the tabulated Cu values for +single argument: +

    +
    • filename +
    +

    Thus the following command +

    +
    pair_coeff *2 1*2 cuu3.eam 
    +
    +

    will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs -1,2 and 2,1 are ignored). See the pair_coeff doc +1,2 and 2,1 are ignored). See the pair_coeff doc page for alternate ways to specify the path for the potential file. In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYNAMO code originally did it; you do not need to specify -coefficients for these type pairs.

    -

    Funcfl files in the potentials directory of the LAMMPS -distribution have an ”.eam” suffix. A DYNAMO single-element funcfl -file is formatted as follows:

    -
      -
    • line 1: comment (ignored)
    • -
    • line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • -
    • line 3: Nrho, drho, Nr, dr, cutoff
    • -
    -

    On line 2, all values but the mass are ignored by LAMMPS. The mass is -in mass units, e.g. mass number or grams/mole for metal +coefficients for these type pairs. +

    +

    Funcfl files in the potentials directory of the LAMMPS +distribution have an ".eam" suffix. A DYNAMO single-element funcfl +file is formatted as follows: +

    +
    • line 1: comment (ignored) +
    • line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) +
    • line 3: Nrho, drho, Nr, dr, cutoff +
    +

    On line 2, all values but the mass are ignored by LAMMPS. The mass is +in mass units, e.g. mass number or grams/mole for metal units. The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are -Angstroms; I’m not sure of the units for drho - some measure of -electron density.

    -

    Following the three header lines are three arrays of tabulated values:

    -
      -
    • embedding function F(rho) (Nrho values)
    • -
    • effective charge function Z(r) (Nr values)
    • -
    • density function rho(r) (Nr values)
    • -
    -

    The values for each array can be listed as multiple values per line, +Angstroms; I'm not sure of the units for drho - some measure of +electron density. +

    +

    Following the three header lines are three arrays of tabulated values: +

    +
    • embedding function F(rho) (Nrho values) +
    • effective charge function Z(r) (Nr values) +
    • density function rho(r) (Nr values) +
    +

    The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the -individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr.

    -

    The units for the embedding function F are eV. The units for the +individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. +

    +

    The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron -density). The units for the effective charge Z are “atomic charge” or +density). The units for the effective charge Z are "atomic charge" or sqrt(Hartree * Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy -expression as r*phi, in units of eV-Angstroms, via the formula

    -
    r*phi = 27.2 * 0.529 * Zi * Zj
    -
    -
    -

    where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms.

    -
    -

    Style eam/alloy computes pairwise interactions using the same -formula as style eam. However the associated -pair_coeff command reads a DYNAMO setfl file -instead of a funcfl file. Setfl files can be used to model a +expression as r*phi, in units of eV-Angstroms, via the formula +

    +
    r*phi = 27.2 * 0.529 * Zi * Zj 
    +
    +

    where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. +

    +
    + +

    Style eam/alloy computes pairwise interactions using the same +formula as style eam. However the associated +pair_coeff command reads a DYNAMO setfl file +instead of a funcfl file. Setfl files can be used to model a single-element or alloy system. In the alloy case, as explained -above, setfl files contain explicit tabulated values for alloy -interactions. Thus they allow more generality than funcfl files for -modeling alloys.

    -

    For style eam/alloy, potential values are read from a file that is -in the DYNAMO multi-element setfl format, except that element names +above, setfl files contain explicit tabulated values for alloy +interactions. Thus they allow more generality than funcfl files for +modeling alloys. +

    +

    For style eam/alloy, potential values are read from a file that is +in the DYNAMO multi-element setfl format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the -DYNAMO file was created by a Fortran program, it cannot have “D” -values in it for exponents. C only recognizes “e” or “E” for -scientific notation.

    -

    Only a single pair_coeff command is used with the eam/alloy style -which specifies a DYNAMO setfl file, which contains information for +DYNAMO file was created by a Fortran program, it cannot have "D" +values in it for exponents. C only recognizes "e" or "E" for +scientific notation. +

    +

    Only a single pair_coeff command is used with the eam/alloy style +which specifies a DYNAMO setfl file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of setfl elements to atom types
    • -
    -

    As an example, the potentials/NiAlH_jea.eam.alloy file is a setfl +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of setfl elements to atom types +
    +

    As an example, the potentials/NiAlH_jea.eam.alloy file is a setfl file which has tabulated EAM values for 3 elements and their alloy -interactions: Ni, Al, and H. See the pair_coeff doc +interactions: Ni, Al, and H. See the pair_coeff doc page for alternate ways to specify the path for the potential file. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff -command:

    -
    pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command: +

    +
    pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni -element in the setfl file. The final Al argument maps LAMMPS atom -type 4 to the Al element in the setfl file. Note that there is no +element in the setfl file. The final Al argument maps LAMMPS atom +type 4 to the Al element in the setfl file. Note that there is no requirement that your simulation use all the elements specified by the -setfl file.

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an eam/alloy potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    Setfl files in the potentials directory of the LAMMPS distribution -have an ”.eam.alloy” suffix. A DYNAMO multi-element setfl file is -formatted as follows:

    -
      -
    • lines 1,2,3 = comments (ignored)
    • -
    • line 4: Nelements Element1 Element2 ... ElementN
    • -
    • line 5: Nrho, drho, Nr, dr, cutoff
    • -
    -

    In a DYNAMO setfl file, line 4 only lists Nelements = the # of -elements in the setfl file. For LAMMPS, the element name (Ni, Cu, +setfl file. +

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an eam/alloy potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    Setfl files in the potentials directory of the LAMMPS distribution +have an ".eam.alloy" suffix. A DYNAMO multi-element setfl file is +formatted as follows: +

    +
    • lines 1,2,3 = comments (ignored) +
    • line 4: Nelements Element1 Element2 ... ElementN +
    • line 5: Nrho, drho, Nr, dr, cutoff +
    +

    In a DYNAMO setfl file, line 4 only lists Nelements = the # of +elements in the setfl file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the -elements appear in the file.

    -

    The meaning and units of the values in line 5 is the same as for the -funcfl file described above. Note that the cutoff (in Angstroms) is +elements appear in the file. +

    +

    The meaning and units of the values in line 5 is the same as for the +funcfl file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element -pairings.

    -

    Following the 5 header lines are Nelements sections, one for each -element, each with the following format:

    -
      -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • -
    • embedding function F(rho) (Nrho values)
    • -
    • density function rho(r) (Nr values)
    • -
    -

    As with the funcfl files, only the mass (in mass units, +pairings. +

    +

    Following the 5 header lines are Nelements sections, one for each +element, each with the following format: +

    +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +
    • embedding function F(rho) (Nrho values) +
    • density function rho(r) (Nr values) +
    +

    As with the funcfl files, only the mass (in mass units, e.g. mass number or grams/mole for metal units) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and -units as in a funcfl file.

    -

    Following the Nelements sections, Nr values for each pair potential +units as in a funcfl file. +

    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = +only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). Unlike the effective charge array Z(r) in funcfl files, -the tabulated values for each phi function are listed in setfl files +Nelements). Unlike the effective charge array Z(r) in funcfl files, +the tabulated values for each phi function are listed in setfl files directly as r*phi (in units of eV-Angstroms), since they are for atom -pairs.

    -
    -

    Style eam/cd is similar to the eam/alloy style, except that it +pairs. +

    +
    + +

    Style eam/cd is similar to the eam/alloy style, except that it computes alloy pairwise interactions using the concentration-dependent embedded-atom method (CD-EAM). This model can reproduce the enthalpy of mixing of alloys over the full composition range, as described in -(Stukowski).

    -

    The pair_coeff command is specified the same as for the eam/alloy -style. However the DYNAMO setfl file must has two -lines added to it, at the end of the file:

    -
      -
    • line 1: Comment line (ignored)
    • -
    • line 2: N Coefficient0 Coefficient1 ... CoeffincientN
    • -
    -

    The last line begins with the degree N of the polynomial function -h(x) that modifies the cross interaction between A and B elements. -Then N+1 coefficients for the terms of the polynomial are then -listed.

    -

    Modified EAM setfl files used with the eam/cd style must contain -exactly two elements, i.e. in the current implementation the eam/cd +(Stukowski). +

    +

    The pair_coeff command is specified the same as for the eam/alloy +style. However the DYNAMO setfl file must has two +lines added to it, at the end of the file: +

    +
    • line 1: Comment line (ignored) +
    • line 2: N Coefficient0 Coefficient1 ... CoeffincientN +
    +

    The last line begins with the degree N of the polynomial function +h(x) that modifies the cross interaction between A and B elements. +Then N+1 coefficients for the terms of the polynomial are then +listed. +

    +

    Modified EAM setfl files used with the eam/cd style must contain +exactly two elements, i.e. in the current implementation the eam/cd style only supports binary alloys. The first and second elements in -the input EAM file are always taken as the A and B species.

    -

    CD-EAM files in the potentials directory of the LAMMPS -distribution have a ”.cdeam” suffix.

    -
    -

    Style eam/fs computes pairwise interactions for metals and metal +the input EAM file are always taken as the A and B species. +

    +

    CD-EAM files in the potentials directory of the LAMMPS +distribution have a ".cdeam" suffix. +

    +
    + +

    Style eam/fs computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and -Sinclair (Finnis). The total energy Ei of an atom I is -given by

    -_images/pair_eam_fs.jpg -

    This has the same form as the EAM formula above, except that rho is +Sinclair (Finnis). The total energy Ei of an atom I is +given by +

    +
    +
    +

    This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the -element at that atomic site.

    -

    The associated pair_coeff command for style eam/fs -reads a DYNAMO setfl file that has been extended to include +element at that atomic site. +

    +

    The associated pair_coeff command for style eam/fs +reads a DYNAMO setfl file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in -(Ackland1). An example of such a potential is the same -author’s Fe-P FS potential (Ackland2). Note that while FS +(Ackland1). An example of such a potential is the same +author's Fe-P FS potential (Ackland2). Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the -FS potential files.

    -

    For style eam/fs, the form of the pair_coeff command is exactly the -same as for style eam/alloy, e.g.

    -
    pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al
    -
    -
    -

    where there are N additional arguments after the filename, where N is -the number of LAMMPS atom types. See the pair_coeff +FS potential files. +

    +

    For style eam/fs, the form of the pair_coeff command is exactly the +same as for style eam/alloy, e.g. +

    +
    pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al 
    +
    +

    where there are N additional arguments after the filename, where N is +the number of LAMMPS atom types. See the pair_coeff doc page for alternate ways to specify the path for the potential file. The N values determine the mapping of LAMMPS atom types to EAM -elements in the file, as described above for style eam/alloy. As -with eam/alloy, if a mapping value is NULL, the mapping is not -performed. This can be used when an eam/fs potential is used as -part of the hybrid pair style. The NULL values are used as -placeholders for atom types that will be used with other potentials.

    -

    FS EAM files include more information than the DYNAMO setfl format -files read by eam/alloy, in that i,j density functionals for all +elements in the file, as described above for style eam/alloy. As +with eam/alloy, if a mapping value is NULL, the mapping is not +performed. This can be used when an eam/fs potential is used as +part of the hybrid pair style. The NULL values are used as +placeholders for atom types that will be used with other potentials. +

    +

    FS EAM files include more information than the DYNAMO setfl format +files read by eam/alloy, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair -formulation of the EAM.

    -

    FS EAM files in the potentials directory of the LAMMPS distribution -have an ”.eam.fs” suffix. They are formatted as follows:

    -
      -
    • lines 1,2,3 = comments (ignored)
    • -
    • line 4: Nelements Element1 Element2 ... ElementN
    • -
    • line 5: Nrho, drho, Nr, dr, cutoff
    • -
    -

    The 5-line header section is identical to an EAM setfl file.

    -

    Following the header are Nelements sections, one for each element I, -each with the following format:

    -
      -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • -
    • embedding function F(rho) (Nrho values)
    • -
    • density function rho(r) for element I at element 1 (Nr values)
    • -
    • density function rho(r) for element I at element 2
    • -
    • ...
    • -
    • density function rho(r) for element I at element Nelement
    • -
    -

    The units of these quantities in line 1 are the same as for setfl +formulation of the EAM. +

    +

    FS EAM files in the potentials directory of the LAMMPS distribution +have an ".eam.fs" suffix. They are formatted as follows: +

    +
    • lines 1,2,3 = comments (ignored) +
    • line 4: Nelements Element1 Element2 ... ElementN +
    • line 5: Nrho, drho, Nr, dr, cutoff +
    +

    The 5-line header section is identical to an EAM setfl file. +

    +

    Following the header are Nelements sections, one for each element I, +each with the following format: +

    +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) +
    • embedding function F(rho) (Nrho values) +
    • density function rho(r) for element I at element 1 (Nr values) +
    • density function rho(r) for element I at element 2 +
    • ... +
    • density function rho(r) for element I at element Nelement +
    +

    The units of these quantities in line 1 are the same as for setfl files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the -file.

    -

    Following the Nelements sections, Nr values for each pair potential +file. +

    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of -eV-Angstroms) as in EAM setfl files. Note that in Finnis/Sinclair, -the phi(r) arrays are still symmetric, so only phi arrays for i >= j -are listed.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +eV-Angstroms) as in EAM setfl files. Note that in Finnis/Sinclair, +the phi(r) arrays are still symmetric, so only phi arrays for i >= j +are listed. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accerlate of the manual for more -instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accerlate of the manual for more +instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify -a pair_coeff command with I != J arguments for the eam styles.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    The eam pair styles do not write their information to binary restart files, since it is stored in tabulated potential files. +a pair_coeff command with I != J arguments for the eam styles. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    The eam pair styles do not write their information to binary restart +files, 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.

    -

    The eam pair styles can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    All of these styles except the eam/cd style are part of the MANYBODY +an input script that reads a restart file. +

    +

    The eam pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    All of these styles except the eam/cd style are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package -(which it is by default). See the Making LAMMPS section for more info.

    -

    The eam/cd style is part of the USER-MISC package and also requires +(which it is by default). See the Making +LAMMPS section for more info. +

    +

    The eam/cd style is part of the USER-MISC package and also requires the MANYBODY package. It is only enabled if LAMMPS was built with -those packages. See the Making LAMMPS -section for more info.

    -
    - -
    +those packages. See the Making LAMMPS +section for more info. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Ackland1) Ackland, Condensed Matter (2005). +

    + -
    +

    (Ackland2) Ackland, Mendelev, Srolovitz, Han and Barashev, Journal +of Physics: Condensed Matter, 16, S2629 (2004). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Daw) Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). +Daw, Baskes, Phys Rev B, 29, 6443 (1984). +

    + -
    +

    (Finnis) Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Stukowski) Stukowski, Sadigh, Erhart, Caro; Modeling Simulation +Materials Science & Engineering, 7, 075005 (2009). +

    + diff --git a/doc/pair_edip.html b/doc/pair_edip.html index ae7bca4008..fcf1b3ec4e 100644 --- a/doc/pair_edip.html +++ b/doc/pair_edip.html @@ -1,327 +1,174 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style edip command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style edip command¶

    -
    -

    Syntax¶

    -
    pair_style edip
    -
    -
    -
    pair_style edip/omp
    -
    -
    -
    -
    -

    Examples¶

    -

    pair_style edip -pair_coeff * * Si.edip Si

    -
    -
    -

    Description¶

    -

    The edip style computes a 3-body EDIP potential which is + + +


    + +

    pair_style edip command +

    +

    Syntax: +

    +
    pair_style edip 
    +
    +
    pair_style edip/omp 
    +
    +

    Examples: +

    +

    pair_style edip +pair_coeff * * Si.edip Si +

    +

    Description: +

    +

    The edip style computes a 3-body EDIP potential which is popular for modeling silicon materials where it can have advantages -over other models such as the Stillinger-Weber or -Tersoff potentials. In EDIP, the energy E of a -system of atoms is

    -_images/pair_edip.jpg -

    where phi2 is a two-body term and phi3 is a three-body term. The +over other models such as the Stillinger-Weber or +Tersoff potentials. In EDIP, the energy E of a +system of atoms is +

    +
    +
    +

    where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = a. Both terms depend on the local environment of atom I through its effective coordination number defined by Z, which is unity for a -cutoff distance < c and gently goes to 0 at distance = a.

    -

    Only a single pair_coeff command is used with the edip style which +cutoff distance < c and gently goes to 0 at distance = a. +

    +

    Only a single pair_coeff command is used with the edip style which specifies a EDIP potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of EDIP elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine a file Si.edip has EDIP values for Si.

    -

    EDIP files in the potentials directory of the LAMMPS -distribution have a ”.edip” suffix. Lines that are not blank or +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of EDIP elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine a file Si.edip has EDIP values for Si. +

    +

    EDIP files in the potentials directory of the LAMMPS +distribution have a ".edip" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above:

    -
      -
    • element 1 (the center atom in a 3-body interaction)
    • -
    • element 2
    • -
    • element 3
    • -
    • A (energy units)
    • -
    • B (distance units)
    • -
    • cutoffA (distance units)
    • -
    • cutoffC (distance units)
    • -
    • alpha
    • -
    • beta
    • -
    • eta
    • -
    • gamma (distance units)
    • -
    • lambda (energy units)
    • -
    • mu
    • -
    • tho
    • -
    • sigma (distance units)
    • -
    • Q0
    • -
    • u1
    • -
    • u2
    • -
    • u3
    • -
    • u4
    • -
    -

    The A, B, beta, sigma parameters are used only for two-body interactions. -The eta, gamma, lambda, mu, Q0 and all u1 to u4 parameters are used only +and three-body coefficients in the formula above: +

    +
    • element 1 (the center atom in a 3-body interaction) +
    • element 2 +
    • element 3 +
    • A (energy units) +
    • B (distance units) +
    • cutoffA (distance units) +
    • cutoffC (distance units) +
    • alpha +
    • beta +
    • eta +
    • gamma (distance units) +
    • lambda (energy units) +
    • mu +
    • tho +
    • sigma (distance units) +
    • Q0 +
    • u1 +
    • u2 +
    • u3 +
    • u4 +
    +

    The A, B, beta, sigma parameters are used only for two-body interactions. +The eta, gamma, lambda, mu, Q0 and all u1 to u4 parameters are used only for three-body interactions. The alpha and cutoffC parameters are used -for the coordination environment function only.

    -

    The EDIP potential file must contain entries for all the +for the coordination environment function only. +

    +

    The EDIP potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries.

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries. +

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify EDIP parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc.

    -

    At the moment, only a single element parametrization is -implemented. However, the author is not aware of other -multi-element EDIP parametrizations. If you know any and +entries would be required, etc. +

    +

    At the moment, only a single element parametrization is +implemented. However, the author is not aware of other +multi-element EDIP parametrizations. If you know any and you are interest in that, please contact the author of -the EDIP package.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the EDIP package. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages.

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    The EDIP potential files provided with LAMMPS (see the potentials directory) -are parameterized for metal units. +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages. +

    +

    This pair style requires the newton setting to be "on" +for pair interactions. +

    +

    The EDIP potential files provided with LAMMPS (see the potentials directory) +are parameterized for metal units. You can use the SW potential with any LAMMPS units, but you would need to create your own EDIP potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (EDIP) J. F. Justo et al., Phys. Rev. B 58, 2539 (1998). +

    + diff --git a/doc/pair_eff.html b/doc/pair_eff.html index c09198332c..1e3b5391c5 100644 --- a/doc/pair_eff.html +++ b/doc/pair_eff.html @@ -1,171 +1,54 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style eff/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style eff/cut command¶

    -
    -

    Syntax¶

    -
    pair_style eff/cut cutoff keyword args ...
    -
    -
    -
      -
    • cutoff = global cutoff for Coulombic interactions
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = limit/eradius or pressure/evirials or ecp
    -  limit/eradius args = none
    -  pressure/evirials args = none
    -  ecp args = type element type element ...
    +
    +
    +
    + +

    pair_style eff/cut command +

    +

    Syntax: +

    +
    pair_style eff/cut cutoff keyword args ... 
    +
    +
    • cutoff = global cutoff for Coulombic interactions + +
    • zero or more keyword/value pairs may be appended + +
      keyword = limit/eradius or pressure/evirials or ecp
      +  limit/eradius args = none
      +  pressure/evirials args = none
      +  ecp args = type element type element ...
           type = LAMMPS atom type (1 to Ntypes)
      -    element = element symbol (e.g. H, Si)
      -
      -
    -
    -

    Examples¶

    -
    pair_style eff/cut 39.7
    +    element = element symbol (e.g. H, Si) 
    +
    + + +

    Examples: +

    +
    pair_style eff/cut 39.7
     pair_style eff/cut 40.0 limit/eradius
     pair_style eff/cut 40.0 limit/eradius pressure/evirials
     pair_style eff/cut 40.0 ecp 1 Si 3 C
     pair_coeff * *
     pair_coeff 2 2 20.0
    -pair_coeff 1 s 0.320852 2.283269 0.814857
    -pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621
    -
    -
    -
    -
    -

    Description¶

    -

    This pair style contains a LAMMPS implementation of the electron Force +pair_coeff 1 s 0.320852 2.283269 0.814857 +pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621 + +

    Description: +

    +

    This pair style contains a LAMMPS implementation of the electron Force Field (eFF) potential currently under development at Caltech, as -described in (Jaramillo-Botero). The eFF for Z<6 -was first introduced by (Su) in 2007. It has been extended to +described in (Jaramillo-Botero). The eFF for Z<6 +was first introduced by (Su) in 2007. It has been extended to higher Zs by using effective core potentials (ECPs) that now cover up -to 2nd and 3rd row p-block elements of the periodic table.

    -

    eFF can be viewed as an approximation to QM wave packet dynamics and +to 2nd and 3rd row p-block elements of the periodic table. +

    +

    eFF can be viewed as an approximation to QM wave packet dynamics and Fermionic molecular dynamics, combining the ability of electronic structure methods to describe atomic structure, bonding, and chemistry in materials, and of plasma methods to describe nonequilibrium @@ -192,8 +75,9 @@ potential term between Gaussians, eFF includes the electron kinetic energy from the Gaussians. These two terms are based on first-principles quantum mechanics. On the other hand, nuclei are described as point charges, which interact with other nuclei and -electrons through standard electrostatic potential forms.

    -

    The full Hamiltonian (shown below), contains then a standard +electrons through standard electrostatic potential forms. +

    +

    The full Hamiltonian (shown below), contains then a standard description for electrostatic interactions between a set of delocalized point and Gaussian charges which include, nuclei-nuclei (NN), electron-electron (ee), and nuclei-electron (Ne). Thus, eFF is a @@ -206,124 +90,142 @@ materials over a wide range of temperatures and pressures where electronically excited and ionized states of matter can occur and coexist. Furthermore, the interactions between particles -nuclei and electrons- reduce to the sum of a set of effective pairwise potentials -in the eFF formulation. The eff/cut style computes the pairwise +in the eFF formulation. The eff/cut style computes the pairwise Coulomb interactions between nuclei and electrons (E_NN,E_Ne,E_ee), and the quantum-derived Pauli (E_PR) and Kinetic energy interactions potentials between electrons (E_KE) for a total energy expression -given as,

    -_images/eff_energy_expression.jpg -

    The individual terms are defined as follows:

    -_images/eff_KE.jpg -_images/eff_NN.jpg -_images/eff_Ne.jpg -_images/eff_ee.jpg -_images/eff_Pauli.jpg -

    where, s_i correspond to the electron sizes, the sigmas i’s to the +given as, +

    +
    +
    +

    The individual terms are defined as follows: +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    where, s_i correspond to the electron sizes, the sigmas i's to the fixed spins of the electrons, Z_i to the charges on the nuclei, R_ij to the distances between the nuclei or the nuclei and electrons, and r_ij to the distances between electrons. For additional details see -(Jaramillo-Botero).

    -

    The overall electrostatics energy is given in Hartree units of energy +(Jaramillo-Botero). +

    +

    The overall electrostatics energy is given in Hartree units of energy by default and can be modified by an energy-conversion constant, -according to the units chosen (see electron_units). The +according to the units chosen (see electron_units). The cutoff Rc, given in Bohrs (by default), truncates the interaction distance. The recommended cutoff for this pair style should follow the minimum image criterion, i.e. half of the minimum unit cell -length.

    -

    Style eff/long (not yet available) computes the same interactions as -style eff/cut except that an additional damping factor is applied so +length. +

    +

    Style eff/long (not yet available) computes the same interactions as +style eff/cut except that an additional damping factor is applied so it can be used in conjunction with the -kspace_style command and its ewald or pppm +kspace_style command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space.

    -

    This potential is designed to be used with atom_style electron definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +interactions outside that distance are computed in reciprocal space. +

    +

    This potential is designed to be used with atom_style +electron definitions, in order to handle the +description of systems with interacting nuclei and explicit electrons. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutoff (distance units)
    • -
    -

    For eff/cut, the cutoff coefficient is optional. If it is not used +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutoff (distance units) +
    +

    For eff/cut, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified -in the pair_style command is used.

    -

    For eff/long (not yet available) no cutoff will be specified for an -individual I,J type pair via the pair_coeff command. +in the pair_style command is used. +

    +

    For eff/long (not yet available) no cutoff will be specified for an +individual I,J type pair via the pair_coeff command. All type pairs use the same global cutoff specified in the pair_style -command.

    -
    -

    The limit/eradius and pressure/evirials keywrods are optional. -Neither or both must be specified. If not specified they are unset.

    -

    The limit/eradius keyword is used to restrain electron size from +command. +

    +
    + +

    The limit/eradius and pressure/evirials keywrods are optional. +Neither or both must be specified. If not specified they are unset. +

    +

    The limit/eradius keyword is used to restrain electron size from becoming excessively diffuse at very high temperatures were the Gaussian wave packet representation breaks down, and from expanding as free particles to infinite size. If unset, electron radius is free to increase without bounds. If set, a restraining harmonic potential of -the form E = 1/2k_ss^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr^2, -is applied on the electron radius.

    -

    The pressure/evirials keyword is used to control between two types +the form E = 1/2k_ss^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr^2, +is applied on the electron radius. +

    +

    The pressure/evirials keyword is used to control between two types of pressure computation: if unset, the computed pressure does not include the electronic radial virials contributions to the total pressure (scalar or tensor). If set, the computed pressure will include the electronic radial virial contributions to the total -pressure (scalar and tensor).

    -

    The ecp keyword is used to associate an ECP representation for a +pressure (scalar and tensor). +

    +

    The ecp keyword is used to associate an ECP representation for a particular atom type. The ECP captures the orbital overlap between a core pseudo particle and valence electrons within the Pauli repulsion. A list of type:element-symbol pairs may be provided for all ECP -representations, after the “ecp” keyword.

    -
    -

    Warning

    -

    Default ECP parameters are provided for C, N, O, Al, +representations, after the "ecp" keyword. +

    +

    IMPORTANT NOTE: Default ECP parameters are provided for C, N, O, Al, and Si. Users can modify these using the pair_coeff command as exemplified above. For this, the User must distinguish between two different functional forms supported, one that captures the orbital overlap assuming the s-type core interacts with an s-like valence electron (s-s) and another that assumes the interaction is s-p. For systems that exhibit significant p-character (e.g. C, N, O) the s-p -form is recommended. The “s” ECP form requires 3 parameters and the -“p” 5 parameters.

    -
    -
    -

    Warning

    -

    there are two different pressures that can be reported +form is recommended. The "s" ECP form requires 3 parameters and the +"p" 5 parameters. +

    +

    IMPORTANT NOTE: there are two different pressures that can be reported for eFF when defining this pair_style, one (default) that considers electrons do not contribute radial virial components (i.e. electrons -treated as incompressible ‘rigid’ spheres) and one that does. The +treated as incompressible 'rigid' spheres) and one that does. The radial electronic contributions to the virials are only tallied if the flexible pressure option is set, and this will affect both global and per-atom quantities. In principle, the true pressure of a system is somewhere in between the rigid and the flexible eFF pressures, but, for most cases, the difference between these two pressures will not be significant over long-term averaged runs (i.e. even though the energy -partitioning changes, the total energy remains similar).

    -
    -
    -
    -

    Warning

    -

    This implemention of eFF gives a reasonably accurate -description for systems containing nuclei from Z = 1-6 in “all -electron” representations. For systems with increasingly +partitioning changes, the total energy remains similar). +

    +
    + +

    IMPORTANT NOTE: This implemention of eFF gives a reasonably accurate +description for systems containing nuclei from Z = 1-6 in "all +electron" representations. For systems with increasingly non-spherical electrons, Users should use the ECP representations. ECPs are now supported and validated for most of the 2nd and 3rd row elements of the p-block. Predefined parameters are provided for C, N, O, Al, and Si. The ECP captures the orbital overlap between the core and valence electrons (i.e. Pauli repulsion) with one of the -functional forms:

    -
    -_images/eff_ECP1.jpg -_images/eff_ECP2.jpg -

    Where the 1st form correspond to core interactions with s-type valence +functional forms: +

    +
    +
    +
    +
    +

    Where the 1st form correspond to core interactions with s-type valence electrons and the 2nd to core interactions with p-type valence -electrons.

    -

    The current version adds full support for models with fixed-core and +electrons. +

    +

    The current version adds full support for models with fixed-core and ECP definitions. to enable larger timesteps (i.e. by avoiding the high frequency vibrational modes -translational and radial- of the 2 s electrons), and in the ECP case to reduce the increased orbital -complexity in higher Z elements (up to Z<18). A fixed-core should be +complexity in higher Z elements (up to Z<18). A fixed-core should be defined with a mass that includes the corresponding nuclear mass plus the 2 s electrons in atomic mass units (2x5.4857990943e-4), and a radius equivalent to that of minimized 1s electrons (see examples @@ -332,8 +234,9 @@ described with a mass that includes the corresponding nuclear mass, plus all the core electrons (i.e no outer shell electrons), and a radius equivalent to that of a corresponding minimized full-electron system. The charge for a pseudo-core atom should be given by the -number of outer shell electrons.

    -

    In general, eFF excels at computing the properties of materials in +number of outer shell electrons. +

    +

    In general, eFF excels at computing the properties of materials in extreme conditions and tracing the system dynamics over multi-picosend timescales; this is particularly relevant where electron excitations can change significantly the nature of bonding in the system. It can @@ -350,117 +253,73 @@ and nodeless and valid for covalent compounds such as dense hydrogen, hydrocarbons, and diamond; alkali metals (e.g. lithium), alkali earth metals (e.g. beryllium) and semimetals such as boron; and various compounds containing ionic and/or multicenter bonds, such as boron -dihydride.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the cutoff distance for the -eff/cut style can be mixed. The default mix value is geometric. -See the “pair_modify” command for details.

    -

    The pair_modify shift option is not relevant for -these pair styles.

    -

    The eff/long (not yet available) style supports the -pair_modify table option for tabulation of the -short-range portion of the long-range Coulombic interaction.

    -

    These pair styles do not support the pair_modify +dihydride. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the cutoff distance for the +eff/cut style can be mixed. The default mix value is geometric. +See the "pair_modify" command for details. +

    +

    The pair_modify shift option is not relevant for +these pair styles. +

    +

    The eff/long (not yet available) style supports the +pair_modify table option for tabulation of the +short-range portion of the long-range Coulombic interaction. +

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    These pair styles write their information to binary restart files, 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 command. They do not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These pair styles will only be enabled if LAMMPS is built with the +pressure. +

    +

    These pair styles write their information to binary restart +files, 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 command. They do not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    These pair styles will only be enabled if LAMMPS is built with the USER-EFF package. It will only be enabled if LAMMPS was built with -that package. See the Making LAMMPS -section for more info.

    -

    These pair styles require that particles store electron attributes +that package. See the Making LAMMPS +section for more info. +

    +

    These pair styles require that particles store electron attributes such as radius, radial velocity, and radital force, as defined by the -atom_style. The electron atom style does all of -this.

    -

    Thes pair styles require you to use the comm_modify vel yes command so that velocites are stored by ghost -atoms.

    -
    - -
    -

    Default¶

    -

    If not specified, limit_eradius = 0 and pressure_with_evirials = 0.

    -
    -

    (Su) Su and Goddard, Excited Electron Dynamics Modeling of Warm -Dense Matter, Phys Rev Lett, 99:185003 (2007).

    -

    (Jaramillo-Botero) Jaramillo-Botero, Su, Qi, Goddard, Large-scale, +atom_style. The electron atom style does all of +this. +

    +

    Thes pair styles require you to use the comm_modify vel +yes command so that velocites are stored by ghost +atoms. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: +

    +

    If not specified, limit_eradius = 0 and pressure_with_evirials = 0. +

    +
    + + + +

    (Su) Su and Goddard, Excited Electron Dynamics Modeling of Warm +Dense Matter, Phys Rev Lett, 99:185003 (2007). +

    + + +

    (Jaramillo-Botero) Jaramillo-Botero, Su, Qi, Goddard, Large-scale, Long-term Non-adiabatic Electron Molecular Dynamics for Describing Material Properties and Phenomena in Extreme Environments, J Comp -Chem, 32, 497-512 (2011).

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Chem, 32, 497-512 (2011). +

    + diff --git a/doc/pair_eim.html b/doc/pair_eim.html index 06c2341c02..01867a598e 100644 --- a/doc/pair_eim.html +++ b/doc/pair_eim.html @@ -1,338 +1,181 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style eim command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style eim command¶

    -
    -
    -

    pair_style eim/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style
    -
    -
    -
      -
    • style = eim
    • -
    -
    -
    -

    Examples¶

    -
    pair_style eim
    +
    +
    +
    + +

    pair_style eim command +

    +

    pair_style eim/omp command +

    +

    Syntax: +

    +
    pair_style style 
    +
    +
    • style = eim +
    +

    Examples: +

    +
    pair_style eim
     pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl
     pair_coeff * * Na Cl ffield.eim  Na Na Na Cl
    -pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na
    -
    -
    -
    -
    -

    Description¶

    -

    Style eim computes pairwise interactions for ionic compounds -using embedded-ion method (EIM) potentials (Zhou). The -energy of the system E is given by

    -_images/pair_eim1.jpg -

    The first term is a double pairwise sum over the J neighbors of all I +pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na + +

    Description: +

    +

    Style eim computes pairwise interactions for ionic compounds +using embedded-ion method (EIM) potentials (Zhou). The +energy of the system E is given by +

    +
    +
    +

    The first term is a double pairwise sum over the J neighbors of all I atoms, where phi_ij is a pair potential. The second term sums over the embedding energy E_i of atom I, which is a function of its charge q_i and the electrical potential sigma_i at its location. E_i, q_i, -and sigma_i are calculated as

    -_images/pair_eim2.jpg -

    where eta_ji is a pairwise function describing electron flow from atom +and sigma_i are calculated as +

    +
    +
    +

    where eta_ji is a pairwise function describing electron flow from atom I to atom J, and psi_ij is another pairwise function. The multi-body nature of the EIM potential is a result of the embedding energy term. A complete list of all the pair functions used in EIM is summarized -below

    -_images/pair_eim3.jpg -

    Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), +below +

    +
    +
    +

    Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), r_(c,psi), A_(eta), r_(s,eta), r_(c,eta), chi, and pair function type p are parameters, with subscripts ij indicating the two species of -atoms in the atomic pair.

    -
    -

    Warning

    -

    Even though the EIM potential is treating atoms as -charged ions, you should not use a LAMMPS atom_style +atoms in the atomic pair. +

    +

    IMPORTANT NOTE: Even though the EIM potential is treating atoms as +charged ions, you should not use a LAMMPS atom_style that stores a charge on each atom and thus requires you to assign a -charge to each atom, e.g. the charge or full atom styles. This is +charge to each atom, e.g. the charge or full atom styles. This is because the EIM potential infers the charge on an atom from the -equation above for q_i; you do not assign charges explicitly.

    -
    -
    -

    All the EIM parameters are listed in a potential file which is -specified by the pair_coeff command. This is an -ASCII text file in a format described below. The “ffield.eim” file -included in the “potentials” directory of the LAMMPS distribution +equation above for q_i; you do not assign charges explicitly. +

    +
    + +

    All the EIM parameters are listed in a potential file which is +specified by the pair_coeff command. This is an +ASCII text file in a format described below. The "ffield.eim" file +included in the "potentials" directory of the LAMMPS distribution currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. A system with any combination of these elements can be modeled. This -file is parameterized in terms of LAMMPS metal units.

    -

    Note that unlike other potentials, cutoffs for EIM potentials are not +file is parameterized in terms of LAMMPS metal units. +

    +

    Note that unlike other potentials, cutoffs for EIM potentials are not set in the pair_style or pair_coeff command; they are specified in the EIM potential file itself. Likewise, the EIM potential file lists -atomic masses; thus you do not need to use the mass -command to specify them.

    -

    Only a single pair_coeff command is used with the eim style which +atomic masses; thus you do not need to use the mass +command to specify them. +

    +

    Only a single pair_coeff command is used with the eim style which specifies an EIM potential file and the element(s) to extract information for. The EIM elements are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff -command, where N is the number of LAMMPS atom types:

    -
      -
    • Elem1, Elem2, ...
    • -
    • EIM potential file
    • -
    • N element names = mapping of EIM elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example like one of those above, suppose you want to model a +command, where N is the number of LAMMPS atom types: +

    +
    • Elem1, Elem2, ... +
    • EIM potential file +
    • N element names = mapping of EIM elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example like one of those above, suppose you want to model a system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Na, and the 4th to be Cl, you would -use the following pair_coeff command:

    -
    pair_coeff * * Na Cl ffield.eim Na Na Na Cl
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +use the following pair_coeff command: +

    +
    pair_coeff * * Na Cl ffield.eim Na Na Na Cl 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The filename is the EIM potential file. The Na and Cl arguments (before the file name) are the two elements for which info will be extracted from the potentail file. The first three trailing Na arguments map LAMMPS atom types 1,2,3 to the EIM Na element. The -final Cl argument maps LAMMPS atom type 4 to the EIM Cl element.

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an eim potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    The ffield.eim file in the potentials directory of the LAMMPS -distribution is formated as follows:

    -

    Lines starting with # are comments and are ignored by LAMMPS. Lines -starting with “global:” include three global values. The first value +final Cl argument maps LAMMPS atom type 4 to the EIM Cl element. +

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an eim potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    The ffield.eim file in the potentials directory of the LAMMPS +distribution is formated as follows: +

    +

    Lines starting with # are comments and are ignored by LAMMPS. Lines +starting with "global:" include three global values. The first value divides the cations from anions, i.e., any elements with electronegativity above this value are viewed as anions, and any elements with electronegativity below this value are viewed as cations. The second and third values are related to the cutoff function - i.e. the 0.510204, 1.64498, and 0.010204 shown in the above -equation can be derived from these values.

    -

    Lines starting with “element:” are formatted as follows: name of +equation can be derived from these values. +

    +

    Lines starting with "element:" are formatted as follows: name of element, atomic number, atomic mass, electronic negativity, atomic radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive -energy (LAMMPS ignores it), and q0 (must be 0).

    -

    Lines starting with “pair:” are entered as: element 1, element 2, +energy (LAMMPS ignores it), and q0 (must be 0). +

    +

    Lines starting with "pair:" are entered as: element 1, element 2, r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, -r_(s,psi), and p.

    -

    The lines in the file can be in any order; LAMMPS extracts the info it -needs.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +r_(s,psi), and p. +

    +

    The lines in the file can be in any order; LAMMPS extracts the info it +needs. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package (which it is by default).

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    +

    Restrictions: +

    +

    This style is part of the MANYBODY package. It is only enabled if +LAMMPS was built with that package (which it is by default). +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Zhou) Zhou, submitted for publication (2010). Please contact +Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. +

    + diff --git a/doc/pair_gauss.html b/doc/pair_gauss.html index 25bbc990de..a3753aab3c 100644 --- a/doc/pair_gauss.html +++ b/doc/pair_gauss.html @@ -1,328 +1,172 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style gauss command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style gauss command¶

    -
    -
    -

    pair_style gauss/gpu command¶

    -
    -
    -

    pair_style gauss/omp command¶

    -
    -
    -

    pair_style gauss/cut command¶

    -
    -
    -

    pair_style gauss/cut/omp command¶

    -
    -

    Syntax¶

    -
    pair_style gauss cutoff
    -pair_style gauss/cut cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for Gauss interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style gauss 12.0
    +
    +
    +
    + +

    pair_style gauss command +

    +

    pair_style gauss/gpu command +

    +

    pair_style gauss/omp command +

    +

    pair_style gauss/cut command +

    +

    pair_style gauss/cut/omp command +

    +

    Syntax: +

    +
    pair_style gauss cutoff
    +pair_style gauss/cut cutoff 
    +
    +
    • cutoff = global cutoff for Gauss interactions (distance units) +
    +

    Examples: +

    +
    pair_style gauss 12.0 
     pair_coeff * * 1.0 0.9
    -pair_coeff 1 4 1.0 0.9 10.0
    -
    -
    -
    pair_style gauss/cut 3.5
    -pair_coeff 1 4 0.2805 1.45 0.112
    -
    -
    -
    -
    -

    Description¶

    -

    Style gauss computes a tethering potential of the form

    -_images/pair_gauss.jpg -

    between an atom and its corresponding tether site which will typically -be a frozen atom in the simulation. Rc is the cutoff.

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +pair_coeff 1 4 1.0 0.9 10.0 + +

    pair_style gauss/cut 3.5
    +pair_coeff 1 4 0.2805 1.45 0.112 
    +
    +

    Description: +

    +

    Style gauss computes a tethering potential of the form +

    +
    +
    +

    between an atom and its corresponding tether site which will typically +be a frozen atom in the simulation. Rc is the cutoff. +

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • A (energy units)
    • -
    • B (1/distance^2 units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used.

    -

    Style gauss/cut computes a generalized Gaussian interaction potential -between pairs of particles:

    -_images/pair_gauss_cut.jpg -

    where H determines together with the standard deviation sigma_h the +read_data or read_restart +commands: +

    +
    • A (energy units) +
    • B (1/distance^2 units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used. +

    +

    Style gauss/cut computes a generalized Gaussian interaction potential +between pairs of particles: +

    +
    +
    +

    where H determines together with the standard deviation sigma_h the peak height of the Gaussian function, and r_mh the peak position. Examples of the use of the Gaussian potentials include implicit -solvent simulations of salt ions (Lenart) and of surfactants -(Jusufi). In these instances the Gaussian potential mimics +solvent simulations of salt ions (Lenart) and of surfactants +(Jusufi). In these instances the Gaussian potential mimics the hydration barrier between a pair of particles. The hydration barrier is located at r_mh and has a width of sigma_h. The prefactor -determines the hight of the potential barrier.

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the example above, +determines the hight of the potential barrier. +

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • H (energy * distance units)
    • -
    • r_mh (distance units)
    • -
    • sigma_h (distance units)
    • -
    -

    The global cutoff (r_c) specified in the pair_style command is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • H (energy * distance units) +
    • r_mh (distance units) +
    • sigma_h (distance units) +
    +

    The global cutoff (r_c) specified in the pair_style command is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 switch7_Section_start.html#start_6 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    The gauss style does not support the pair_modify +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    The gauss style does not support the pair_modify shift option. There is no effect due to the Gaussian well beyond the -cutoff; hence reasonable cutoffs need to be specified.

    -

    The gauss/cut style supports the pair_modify shift +cutoff; hence reasonable cutoffs need to be specified. +

    +

    The gauss/cut style supports the pair_modify shift option for the energy of the Gauss-potential portion of the pair -interaction.

    -

    The pair_modify table and tail options are not -relevant for these pair styles.

    -

    These pair styles write their information to binary restart files, 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 command. They do not support the -inner, middle, outer keywords.

    -

    The gauss pair style tallies an “occupancy” count of how many Gaussian-well +interaction. +

    +

    The pair_modify table and tail options are not +relevant for these pair styles. +

    +

    These pair styles write their information to binary restart +files, 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 command. They do not support the +inner, middle, outer keywords. +

    +

    The gauss pair style tallies an "occupancy" count of how many Gaussian-well sites have an atom within the distance at which the force is a maximum -= sqrt(0.5/b). This quantity can be accessed via the compute pair command as a vector of values of length 1.

    -

    To print this quantity to the log file (with a descriptive column -heading) the following commands could be included in an input script:

    -
    compute gauss all pair gauss
    += sqrt(0.5/b).  This quantity can be accessed via the compute
    +pair command as a vector of values of length 1.
    +

    +

    To print this quantity to the log file (with a descriptive column +heading) the following commands could be included in an input script: +

    +
    compute gauss all pair gauss
     variable occ equal c_gauss[1]
    -thermo_style custom step temp epair v_occ
    -
    -
    -
    -
    -
    -

    Restrictions¶

    -

    The gauss/cut style is part of the “user-misc” package. It is only -enabled if LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    -
    - -
    +thermo_style custom step temp epair v_occ + +
    +

    Restrictions: +

    +

    The gauss/cut style is part of the "user-misc" package. It is only +enabled if LAMMPS is build with that package. See the Making of +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, +pair_style coul/diel +

    +

    Default: none +

    + -
    -
    -
    - +

    (Lenart) Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, +044509 (2007). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Jusufi) Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, +13783 (2008). +

    + diff --git a/doc/pair_gayberne.html b/doc/pair_gayberne.html index 83631f3566..27de230530 100644 --- a/doc/pair_gayberne.html +++ b/doc/pair_gayberne.html @@ -1,232 +1,123 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style gayberne command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style gayberne command¶

    -
    -
    -

    pair_style gayberne/gpu command¶

    -
    -
    -

    pair_style gayberne/intel command¶

    -
    -
    -

    pair_style gayberne/omp command¶

    -
    -

    Syntax¶

    -
    pair_style gayberne gamma upsilon mu cutoff
    -
    -
    -
      -
    • gamma = shift for potential minimum (typically 1)
    • -
    • upsilon = exponent for eta orientation-dependent energy function
    • -
    • mu = exponent for chi orientation-dependent energy function
    • -
    • cutoff = global cutoff for interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style gayberne 1.0 1.0 1.0 10.0
    -pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The gayberne styles compute a Gay-Berne anisotropic LJ interaction -(Berardi) between pairs of ellipsoidal particles or an -ellipsoidal and spherical particle via the formulas

    -_images/pair_gayberne.jpg -

    where A1 and A2 are the transformation matrices from the simulation + + +


    + +

    pair_style gayberne command +

    +

    pair_style gayberne/gpu command +

    +

    pair_style gayberne/intel command +

    +

    pair_style gayberne/omp command +

    +

    Syntax: +

    +
    pair_style gayberne gamma upsilon mu cutoff 
    +
    +
    • gamma = shift for potential minimum (typically 1) +
    • upsilon = exponent for eta orientation-dependent energy function +
    • mu = exponent for chi orientation-dependent energy function +
    • cutoff = global cutoff for interactions (distance units) +
    +

    Examples: +

    +
    pair_style gayberne 1.0 1.0 1.0 10.0
    +pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 
    +
    +

    Description: +

    +

    The gayberne styles compute a Gay-Berne anisotropic LJ interaction +(Berardi) between pairs of ellipsoidal particles or an +ellipsoidal and spherical particle via the formulas +

    +
    +
    +

    where A1 and A2 are the transformation matrices from the simulation box frame to the body frame and r12 is the center to center vector between the particles. Ur controls the shifted distance dependent interaction based on the distance of closest approach of the two particles (h12) and the user-specified shift parameter gamma. When both particles are spherical, the formula reduces to the usual Lennard-Jones interaction (see details below for when Gay-Berne treats -a particle as “spherical”).

    -

    For large uniform molecules it has been shown that the energy +a particle as "spherical"). +

    +

    For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact -curvatures (Everaers):

    -_images/pair_gayberne2.jpg -

    The variable names utilized as potential parameters are for the most -part taken from (Everaers) in order to be consistent with -the RE-squared pair potential. Details on the +curvatures (Everaers): +

    +
    +
    +

    The variable names utilized as potential parameters are for the most +part taken from (Everaers) in order to be consistent with +the RE-squared pair potential. Details on the upsilon and mu parameters are given -here.

    -

    More details of the Gay-Berne formulation are given in the references -listed below and in this supplementary document.

    -

    Use of this pair style requires the NVE, NVT, or NPT fixes with the -asphere extension (e.g. fix nve/asphere) in -order to integrate particle rotation. Additionally, atom_style ellipsoid should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +here. +

    +

    More details of the Gay-Berne formulation are given in the references +listed below and in this supplementary +document. +

    +

    Use of this pair style requires the NVE, NVT, or NPT fixes with the +asphere extension (e.g. fix nve/asphere) in +order to integrate particle rotation. Additionally, atom_style +ellipsoid should be used since it defines the +rotational state and the size and shape of each ellipsoidal particle. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon = well depth (energy units)
    • -
    • sigma = minimum effective particle radii (distance units)
    • -
    • epsilon_i_a = relative well depth of type I for side-to-side interactions
    • -
    • epsilon_i_b = relative well depth of type I for face-to-face interactions
    • -
    • epsilon_i_c = relative well depth of type I for end-to-end interactions
    • -
    • epsilon_j_a = relative well depth of type J for side-to-side interactions
    • -
    • epsilon_j_b = relative well depth of type J for face-to-face interactions
    • -
    • epsilon_j_c = relative well depth of type J for end-to-end interactions
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used.

    -

    It is typical with the Gay-Berne potential to define sigma as the +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon = well depth (energy units) +
    • sigma = minimum effective particle radii (distance units) +
    • epsilon_i_a = relative well depth of type I for side-to-side interactions +
    • epsilon_i_b = relative well depth of type I for face-to-face interactions +
    • epsilon_i_c = relative well depth of type I for end-to-end interactions +
    • epsilon_j_a = relative well depth of type J for side-to-side interactions +
    • epsilon_j_b = relative well depth of type J for face-to-face interactions +
    • epsilon_j_c = relative well depth of type J for end-to-end interactions +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used. +

    +

    It is typical with the Gay-Berne potential to define sigma as the minimum of the 3 shape diameters of the particles involved in an I,I interaction, though this is not required. Note that this is a -different meaning for sigma than the pair_style resquared potential uses.

    -

    The epsilon_i and epsilon_j coefficients are actually defined for atom +different meaning for sigma than the pair_style +resquared potential uses. +

    +

    The epsilon_i and epsilon_j coefficients are actually defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type.

    -

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are +commands, they only need to be specified once for each atom type. +

    +

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_j values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in “pair_coeff I J” commands when +coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other -pair_coeff commands, since only the last setting will be in effect.

    -

    Note that if this potential is being used as a sub-style of -pair_style hybrid, and there is no “pair_coeff I I” +pair_coeff commands, since only the last setting will be in effect. +

    +

    Note that if this potential is being used as a sub-style of +pair_style hybrid, and there is no "pair_coeff I I" setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type. e.g. in a “pair_coeff I J” command.

    -
    -

    Warning

    -

    If the epsilon a = b = c for an atom type, and if the +that type. e.g. in a "pair_coeff I J" command. +

    +

    IMPORTANT NOTE: If the epsilon a = b = c for an atom type, and if the shape of the particle itself is spherical, meaning its 3 shape parameters are all the same, then the particle is treated as an LJ sphere by the Gay-Berne potential. This is significant because if two @@ -241,140 +132,112 @@ are set to 0.0, which is a valid way in LAMMPS to specify a point particle, then the Gay-Berne potential will treat that as shape parameters of 1.0 (i.e. a LJ particle with sigma = 1), since it requires finite-size particles. In this case you should still set the -pair_coeff sigma to 1.0 as well.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_coeff sigma to 1.0 as well. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. The default mix -value is geometric. See the “pair_modify” command for details.

    -

    This pair styles supports the pair_modify shift +value is geometric. See the "pair_modify" command for details. +

    +

    This pair styles supports the pair_modify shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +dependence of the interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    The gayberne style is part of the ASPHERE package. It is only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    These pair style require that atoms store torque and a quaternion to +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    The gayberne style is part of the ASPHERE package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    These pair style require that atoms store torque and a quaternion to represent their orientation, as defined by the -atom_style. It also require they store a per-type -shape. The particles cannot store a per-particle -diameter.

    -

    This pair style requires that atoms be ellipsoids as defined by the -atom_style ellipsoid command.

    -

    Particles acted on by the potential can be finite-size aspherical or +atom_style. It also require they store a per-type +shape. The particles cannot store a per-particle +diameter. +

    +

    This pair style requires that atoms be ellipsoids as defined by the +atom_style ellipsoid command. +

    +

    Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all 3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0.

    -

    The Gay-Berne potential does not become isotropic as r increases -(Everaers). The distance-of-closest-approach +all 3 of their shape parameters equal to 0.0. +

    +

    The Gay-Berne potential does not become isotropic as r increases +(Everaers). The distance-of-closest-approach approximation used by LAMMPS becomes less accurate when high-aspect -ratio ellipsoids are used.

    -
    - -
    +ratio ellipsoids are used. +

    +

    Related commands: +

    +

    pair_coeff, fix nve/asphere, +compute temp/asphere, pair_style +resquared +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Everaers) Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). +

    + -
    +

    (Berardi) Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). +Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Perram) Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Allen) Allen and Germano, Mol Phys 104, 3225-3235 (2006). +

    + diff --git a/doc/pair_gran.html b/doc/pair_gran.html index b65add97e0..281d2246e7 100644 --- a/doc/pair_gran.html +++ b/doc/pair_gran.html @@ -1,225 +1,111 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style gran/hooke command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style gran/hooke command¶

    -
    -
    -

    pair_style gran/cuda command¶

    -
    -
    -

    pair_style gran/omp command¶

    -
    -
    -

    pair_style gran/hooke/history command¶

    -
    -
    -

    pair_style gran/hooke/history/omp command¶

    -
    -
    -

    pair_style gran/hertz/history command¶

    -
    -
    -

    pair_style gran/hertz/history/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style Kn Kt gamma_n gamma_t xmu dampflag
    -
    -
    -
      -
    • style = gran/hooke or gran/hooke/history or gran/hertz/history
    • -
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
    • -
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
    • -
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
    • -
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
    • -
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
    • -
    • dampflag = 0 or 1 if tangential damping force is excluded or included
    • -
    -
    -

    Warning

    -

    Versions of LAMMPS before 9Jan09 had different style + + +


    + +

    pair_style gran/hooke command +

    +

    pair_style gran/cuda command +

    +

    pair_style gran/omp command +

    +

    pair_style gran/hooke/history command +

    +

    pair_style gran/hooke/history/omp command +

    +

    pair_style gran/hertz/history command +

    +

    pair_style gran/hertz/history/omp command +

    +

    Syntax: +

    +
    pair_style style Kn Kt gamma_n gamma_t xmu dampflag 
    +
    +
    • style = gran/hooke or gran/hooke/history or gran/hertz/history + +
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) + +
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) + +
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) + +
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) + +
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4) + +
    • dampflag = 0 or 1 if tangential damping force is excluded or included +
    +

    IMPORTANT NOTE: Versions of LAMMPS before 9Jan09 had different style names for granular force fields. This is to emphasize the fact that the Hertzian equation has changed to model polydispersity more accurately. A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t coefficients in the pair_style command must be specified with different values in order to reproduce calculations made with earlier versions of LAMMPS, even for monodisperse systems. See the -NOTE below for details.

    -
    -
    -
    -

    Examples¶

    -
    pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1
    -pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0
    -
    -
    -
    -
    -

    Description¶

    -

    The gran styles use the following formulas for the frictional force +NOTE below for details. +

    +

    Examples: +

    +
    pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1
    +pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 
    +
    +

    Description: +

    +

    The gran styles use the following formulas for the frictional force between two granular particles, as described in -(Brilliantov), (Silbert), and -(Zhang), when the distance r between two particles of radii +(Brilliantov), (Silbert), and +(Zhang), when the distance r between two particles of radii Ri and Rj is less than their contact distance d = Ri + Rj. There is -no force between the particles when r > d.

    -

    The two Hookean styles use this formula:

    -_images/pair_gran_hooke.jpg -

    The Hertzian style uses this formula:

    -_images/pair_gran_hertz.jpg -

    In both equations the first parenthesized term is the normal force +no force between the particles when r > d. +

    +

    The two Hookean styles use this formula: +

    +
    +
    +

    The Hertzian style uses this formula: +

    +
    +
    +

    In both equations the first parenthesized term is the normal force between the two particles and the second parenthesized term is the tangential force. The normal force has 2 terms, a contact force and a damping force. The tangential force also has 2 terms: a shear force -and a damping force. The shear force is a “history” effect that +and a damping force. The shear force is a "history" effect that accounts for the tangential displacement between the particles for the duration of the time they are in contact. This term is included in -pair styles hooke/history and hertz/history, but is not included -in pair style hooke. The tangential damping force term is included -in all three pair styles if dampflag is set to 1; it is not included -if dampflag is set to 0.

    -

    The other quantities in the equations are as follows:

    -
      -
    • delta = d - r = overlap distance of 2 particles
    • -
    • Kn = elastic constant for normal contact
    • -
    • Kt = elastic constant for tangential contact
    • -
    • gamma_n = viscoelastic damping constant for normal contact
    • -
    • gamma_t = viscoelastic damping constant for tangential contact
    • -
    • m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj
    • -
    • Delta St = tangential displacement vector between 2 spherical particles which is truncated to satisfy a frictional yield criterion
    • -
    • n_ij = unit vector along the line connecting the centers of the 2 particles
    • -
    • Vn = normal component of the relative velocity of the 2 particles
    • -
    • Vt = tangential component of the relative velocity of the 2 particles
    • -
    -

    The Kn, Kt, gamma_n, and gamma_t coefficients are specified as +pair styles hooke/history and hertz/history, but is not included +in pair style hooke. The tangential damping force term is included +in all three pair styles if dampflag is set to 1; it is not included +if dampflag is set to 0. +

    +

    The other quantities in the equations are as follows: +

    +
    • delta = d - r = overlap distance of 2 particles +
    • Kn = elastic constant for normal contact +
    • Kt = elastic constant for tangential contact +
    • gamma_n = viscoelastic damping constant for normal contact +
    • gamma_t = viscoelastic damping constant for tangential contact +
    • m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj +
    • Delta St = tangential displacement vector between 2 spherical particles which is truncated to satisfy a frictional yield criterion +
    • n_ij = unit vector along the line connecting the centers of the 2 particles +
    • Vn = normal component of the relative velocity of the 2 particles +
    • Vt = tangential component of the relative velocity of the 2 particles +
    +

    The Kn, Kt, gamma_n, and gamma_t coefficients are specified as parameters to the pair_style command. If a NULL is used for Kt, then a default value is used where Kt = 2/7 Kn. If a NULL is used for -gamma_t, then a default value is used where gamma_t = 1/2 gamma_n.

    -

    The interpretation and units for these 4 coefficients are different in -the Hookean versus Hertzian equations.

    -

    The Hookean model is one where the normal push-back force for two +gamma_t, then a default value is used where gamma_t = 1/2 gamma_n. +

    +

    The interpretation and units for these 4 coefficients are different in +the Hookean versus Hertzian equations. +

    +

    The Hookean model is one where the normal push-back force for two overlapping particles is a linear function of the overlap distance. Thus the specified Kn is in units of (force/distance). Note that this push-back force is independent of absolute particle size (in the @@ -227,8 +113,9 @@ monodisperse case) and of the relative sizes of the two particles (in the polydisperse case). This model also applies to the other terms in the force equation so that the specified gamma_n is in units of (1/time), Kt is in units of (force/distance), and gamma_t is in units -of (1/time).

    -

    The Hertzian model is one where the normal push-back force for two +of (1/time). +

    +

    The Hertzian model is one where the normal push-back force for two overlapping particles is proportional to the area of overlap of the two particles, and is thus a non-linear function of overlap distance. Thus Kn has units of force per area and is thus specified in units of @@ -237,24 +124,25 @@ and relative size (polydispersity) are captured in the radii-dependent pre-factors. When these pre-factors are carried through to the other terms in the force equation it means that the specified gamma_n is in units of (1/(time*distance)), Kt is in units of (pressure), and -gamma_t is in units of (1/(time*distance)).

    -

    Note that in the Hookean case, Kn can be thought of as a linear spring +gamma_t is in units of (1/(time*distance)). +

    +

    Note that in the Hookean case, Kn can be thought of as a linear spring constant with units of force/distance. In the Hertzian case, Kn is like a non-linear spring constant with units of force/area or -pressure, and as shown in the (Zhang) paper, Kn = 4G / +pressure, and as shown in the (Zhang) paper, Kn = 4G / (3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / -(2(1+nu)), and E = Young’s modulus. Similarly, Kt = 4G / (2-nu). +(2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). (NOTE: in an earlier version of the manual, we incorrectly stated that -Kt = 8G / (2-nu).)

    -

    Thus in the Hertzian case Kn and Kt can be set to values that +Kt = 8G / (2-nu).) +

    +

    Thus in the Hertzian case Kn and Kt can be set to values that corresponds to properties of the material being modeled. This is also true in the Hookean case, except that a spring constant must be chosen that is appropriate for the absolute size of particles in the model. Since relative particle sizes are not accounted for, the Hookean -styles may not be a suitable model for polydisperse systems.

    -
    -

    Warning

    -

    In versions of LAMMPS before 9Jan09, the equation for +styles may not be a suitable model for polydisperse systems. +

    +

    IMPORTANT NOTE: In versions of LAMMPS before 9Jan09, the equation for Hertzian interactions did not include the sqrt(RiRj/Ri+Rj) term and thus was not as accurate for polydisperse systems. For monodisperse systems, sqrt(RiRj/Ri+Rj) is a constant factor that effectively scales @@ -263,163 +151,129 @@ values of these 4 coefficients appropriately in the current code to reproduce the results of a previous Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, all 4 of these coefficients should now be set -2x larger than they were previously.

    -
    -

    Xmu is also specified in the pair_style command and is the upper limit +2x larger than they were previously. +

    +

    Xmu is also specified in the pair_style command and is the upper limit of the tangential force through the Coulomb criterion Ft = xmu*Fn, where Ft and Fn are the total tangential and normal force components in the formulas above. Thus in the Hookean case, the tangential force between 2 particles grows according to a tangential spring and dash-pot model until Ft/Fn = xmu and is then held at Ft = Fn*xmu until the particles lose contact. In the Hertzian case, a similar analogy -holds, though the spring is no longer linear.

    -
    -

    Warning

    -

    Normally, xmu should be specified as a fractional +holds, though the spring is no longer linear. +

    +

    IMPORTANT NOTE: Normally, xmu should be specified as a fractional value between 0.0 and 1.0, however LAMMPS allows large values (up to 1.0e4) to allow for modeling of systems which can sustain very large -tangential forces.

    -
    -

    For granular styles there are no additional coefficients to set for -each pair of atom types via the pair_coeff command. +tangential forces. +

    +

    For granular styles there are no additional coefficients to set for +each pair of atom types via the pair_coeff command. All settings are global and are made via the pair_style command. -However you must still use the pair_coeff for all -pairs of granular atom types. For example the command

    -
    pair_coeff * *
    -
    -
    -

    should be used if all atoms in the simulation interact via a granular +However you must still use the pair_coeff for all +pairs of granular atom types. For example the command +

    +
    pair_coeff * * 
    +
    +

    should be used if all atoms in the simulation interact via a granular potential (i.e. one of the pair styles above is used). If a granular -potential is used as a sub-style of pair_style hybrid, then specific atom types can be used in the +potential is used as a sub-style of pair_style +hybrid, then specific atom types can be used in the pair_coeff command to determine which atoms interact via a granular -potential.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +potential. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    The pair_modify mix, shift, table, and tail options -are not relevant for granular pair styles.

    -

    These pair styles write their information to binary restart files, so a pair_style command does 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 command. They do not support the -inner, middle, outer keywords.

    -

    The single() function of these pair styles returns 0.0 for the energy +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    The pair_modify mix, shift, table, and tail options +are not relevant for granular pair styles. +

    +

    These pair styles write their information to binary restart +files, so a pair_style command does 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 command. They do not support the +inner, middle, outer keywords. +

    +

    The single() function of these pair styles returns 0.0 for the energy of a pairwise interaction, since energy is not conserved in these dissipative potentials. It also returns only the normal component of the pairwise interaction force. However, the single() function also calculates 4 extra pairwise quantities. The first 3 are the components of the tangential force between particles I and J, acting -on particle I. P4 is the magnitude of this tangential force. These -extra quantites can be accessed by the compute pair/local command, as p1, p2, p3, -p4.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    All the granular pair styles are part of the GRANULAR package. It is -only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    These pair styles require that atoms store torque and angular velocity -(omega) as defined by the atom_style. They also -require a per-particle radius is stored. The sphere atom style does -all of this.

    -

    This pair style requires you to use the comm_modify vel yes command so that velocites are stored by ghost -atoms.

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +on particle I. P4 is the magnitude of this tangential force. These +extra quantites can be accessed by the compute +pair/local command, as p1, p2, p3, +p4. +

    +
    + +

    Restrictions: none +

    +

    All the granular pair styles are part of the GRANULAR package. It is +only enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    These pair styles require that atoms store torque and angular velocity +(omega) as defined by the atom_style. They also +require a per-particle radius is stored. The sphere atom style does +all of this. +

    +

    This pair style requires you to use the comm_modify vel +yes command so that velocites are stored by ghost +atoms. +

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details.

    -
    - -
    +read_restart command for more details. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Brilliantov) Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53, +p 5382-5392 (1996). +

    + -
    +

    (Silbert) Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev +E, 64, p 051302 (2001). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Zhang) Zhang and Makse, Phys Rev E, 72, p 011301 (2005). +

    + diff --git a/doc/pair_gromacs.html b/doc/pair_gromacs.html index eb8f3d242d..eb74024b82 100644 --- a/doc/pair_gromacs.html +++ b/doc/pair_gromacs.html @@ -1,337 +1,170 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/gromacs command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/gromacs command¶

    -
    -
    -

    pair_style lj/gromacs/cuda command¶

    -
    -
    -

    pair_style lj/gromacs/gpu command¶

    -
    -
    -

    pair_style lj/gromacs/omp command¶

    -
    -
    -

    pair_style lj/gromacs/coul/gromacs command¶

    -
    -
    -

    pair_style lj/gromacs/coul/gromacs/cuda command¶

    -
    -
    -

    pair_style lj/gromacs/coul/gromacs/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/gromacs or lj/gromacs/coul/gromacs
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/gromacs args = inner outer
    +
    +
    +
    + +

    pair_style lj/gromacs command +

    +

    pair_style lj/gromacs/cuda command +

    +

    pair_style lj/gromacs/gpu command +

    +

    pair_style lj/gromacs/omp command +

    +

    pair_style lj/gromacs/coul/gromacs command +

    +

    pair_style lj/gromacs/coul/gromacs/cuda command +

    +

    pair_style lj/gromacs/coul/gromacs/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/gromacs or lj/gromacs/coul/gromacs +
    • args = list of arguments for a particular style +
    +
      lj/gromacs args = inner outer
         inner, outer = global switching cutoffs for Lennard Jones
    -  lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
    +  lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    -    inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/gromacs 9.0 12.0
    +    inner2, outer2 = global switching cutoffs for Coulombic (optional) 
    +
    +

    Examples: +

    +
    pair_style lj/gromacs 9.0 12.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 2 2 100.0 2.0 8.0 10.0
    -
    -
    -
    pair_style lj/gromacs/coul/gromacs 9.0 12.0
    +pair_coeff 2 2 100.0 2.0 8.0 10.0 
    +
    +
    pair_style lj/gromacs/coul/gromacs 9.0 12.0
     pair_style lj/gromacs/coul/gromacs 8.0 10.0 7.0 9.0
    -pair_coeff * * 100.0 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/gromacs styles compute shifted LJ and Coulombic interactions +pair_coeff * * 100.0 2.0 + +

    Description: +

    +

    The lj/gromacs styles compute shifted LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a commonly -used potential in the GROMACS MD code and for -the coarse-grained models of (Marrink).

    -_images/pair_gromacs.jpg -

    r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, -and C are computed by LAMMPS to perform the shifting and smoothing. +used potential in the GROMACS MD code and for +the coarse-grained models of (Marrink). +

    +
    +
    +

    r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, +and C are computed by LAMMPS to perform the shifting and smoothing. The function S(r) is actually applied once to each term of the LJ formula and once to the Coulombic formula, so there are 2 or 3 sets of A,B,C coefficients depending on which pair_style is used. The boundary conditions -applied to the smoothing function are as follows: S’(r1) = S’‘(r1) = 0, -S(rc) = -E(rc), S’(rc) = -E’(rc), and S’‘(rc) = -E’‘(rc), +applied to the smoothing function are as follows: S'(r1) = S''(r1) = 0, +S(rc) = -E(rc), S'(rc) = -E'(rc), and S''(rc) = -E''(rc), where E(r) is the corresponding term in the LJ or Coulombic potential energy function. -Single and double primes denote first and second -derivatives with respect to r, respectively.

    -

    The inner and outer cutoff for the LJ and Coulombic terms can be the +Single and double primes denote first and second +derivatives with respect to r, respectively. +

    +

    The inner and outer cutoff for the LJ and Coulombic terms can be the same or different depending on whether 2 or 4 arguments are used in -the pair_style command. The inner LJ cutoff must be > 0, but the -inner Coulombic cutoff can be >= 0.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +the pair_style command. The inner LJ cutoff must be > 0, but the +inner Coulombic cutoff can be >= 0. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • inner (distance units)
    • -
    • outer (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • inner (distance units) +
    • outer (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma.

    -

    The last 2 coefficients are optional inner and outer cutoffs for style -lj/gromacs. If not specified, the global inner and outer values -are used.

    -

    The last 2 coefficients cannot be used with style -lj/gromacs/coul/gromacs because this force field does not allow +sigma. +

    +

    The last 2 coefficients are optional inner and outer cutoffs for style +lj/gromacs. If not specified, the global inner and outer values +are used. +

    +

    The last 2 coefficients cannot be used with style +lj/gromacs/coul/gromacs because this force field does not allow varying cutoffs for individual atom pairs; all pairs use the global -cutoff(s) specified in the pair_style command.

    -
    -

    Styles intel, kk, with a cuda, gpu, omp, or opt suffix are +cutoff(s) specified in the pair_style command. +

    +
    + +

    Styles intel, kk, with a cuda, gpu, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    None of the GROMACS pair styles support the -pair_modify shift option, since the Lennard-Jones +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    None of the GROMACS pair styles support the +pair_modify shift option, since the Lennard-Jones portion of the pair interaction is already smoothed to 0.0 at the -cutoff.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    None of the GROMACS pair styles support the -pair_modify tail option for adding long-range tail +cutoff. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    None of the GROMACS pair styles support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff.

    -

    All of the GROMACS pair styles write their information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    All of the GROMACS pair styles can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +a potential that goes to 0.0 at the cutoff. +

    +

    All of the GROMACS pair styles write their information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    All of the GROMACS pair styles can only be used via the pair +keyword of the run_style respa command. They do not +support the inner, middle, outer keywords. +

    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Marrink) Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004). +

    + diff --git a/doc/pair_hbond_dreiding.html b/doc/pair_hbond_dreiding.html index 535f191bae..617d0fa3fa 100644 --- a/doc/pair_hbond_dreiding.html +++ b/doc/pair_hbond_dreiding.html @@ -1,237 +1,114 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style hbond/dreiding/lj command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style hbond/dreiding/lj command¶

    -
    -
    -

    pair_style hbond/dreiding/lj/omp command¶

    -
    -
    -

    pair_style hbond/dreiding/morse command¶

    -
    -
    -

    pair_style hbond/dreiding/morse/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof
    -
    -
    -
      -
    • style = hbond/dreiding/lj or hbond/dreiding/morse
    • -
    • n = cosine angle periodicity
    • -
    • inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units)
    • -
    • outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units)
    • -
    • angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor
    • -
    • interactions (degrees)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90
    -pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0
    -
    -
    -
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90
    -pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90
    -
    -
    -
    -
    -

    Description¶

    -

    The hbond/dreiding styles compute the Acceptor-Hydrogen-Donor (AHD) + + +


    + +

    pair_style hbond/dreiding/lj command +

    +

    pair_style hbond/dreiding/lj/omp command +

    +

    pair_style hbond/dreiding/morse command +

    +

    pair_style hbond/dreiding/morse/omp command +

    +

    Syntax: +

    +
    pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof 
    +
    +
    • style = hbond/dreiding/lj or hbond/dreiding/morse +
    • n = cosine angle periodicity +
    • inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) +
    • outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units) +
    • angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor +
    • interactions (degrees) +
    +

    Examples: +

    +
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90
    +pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0 
    +
    +
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90
    +pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 
    +
    +

    Description: +

    +

    The hbond/dreiding styles compute the Acceptor-Hydrogen-Donor (AHD) 3-body hydrogen bond interaction for the -DREIDING force field, given by:

    -_images/pair_hbond_dreiding.jpg -

    where Rin is the inner spline distance cutoff, Rout is the outer +DREIDING force field, given by: +

    +
    +
    +

    where Rin is the inner spline distance cutoff, Rout is the outer distance cutoff, theta_c is the angle cutoff, and n is the cosine -periodicity.

    -

    Here, r is the radial distance between the donor (D) and acceptor -(A) atoms and theta is the bond angle between the acceptor, the -hydrogen (H) and the donor atoms:

    -_images/dreiding_hbond.jpg -

    These 3-body interactions can be defined for pairs of acceptor and +periodicity. +

    +

    Here, r is the radial distance between the donor (D) and acceptor +(A) atoms and theta is the bond angle between the acceptor, the +hydrogen (H) and the donor atoms: +

    +
    +
    +

    These 3-body interactions can be defined for pairs of acceptor and donor atoms, based on atom types. For each donor/acceptor atom pair, the 3rd atom in the interaction is a hydrogen permanently bonded to the donor atom, e.g. in a bond list read in from a data file via the -read_data command. The atom types of possible +read_data command. The atom types of possible hydrogen atoms for each donor/acceptor type pair are specified by the -pair_coeff command (see below).

    -

    Style hbond/dreiding/lj is the original DREIDING potential of -(Mayo). It uses a LJ 12/10 functional for the Donor-Acceptor -interactions. To match the results in the original paper, use n = 4.

    -

    Style hbond/dreiding/morse is an improved version using a Morse -potential for the Donor-Acceptor interactions. (Liu) showed +pair_coeff command (see below). +

    +

    Style hbond/dreiding/lj is the original DREIDING potential of +(Mayo). It uses a LJ 12/10 functional for the Donor-Acceptor +interactions. To match the results in the original paper, use n = 4. +

    +

    Style hbond/dreiding/morse is an improved version using a Morse +potential for the Donor-Acceptor interactions. (Liu) showed that the Morse form gives improved results for Dendrimer simulations, -when n = 2.

    -

    See this howto section of the manual for -more information on the DREIDING forcefield.

    -
    -

    Warning

    -

    Because the Dreiding hydrogen bond potential is only +when n = 2. +

    +

    See this howto section of the manual for +more information on the DREIDING forcefield. +

    +

    IMPORTANT NOTE: Because the Dreiding hydrogen bond potential is only one portion of an overall force field which typically includes other pairwise interactions, it is common to use it as a sub-style in a -pair_style hybrid/overlay command, where another +pair_style hybrid/overlay command, where another pair style provides the repulsive core interaction between pairs of -atoms, e.g. a 1/r^12 Lennard-Jones repulsion.

    -
    -
    -

    Warning

    -

    When using the hbond/dreiding pair styles with -pair_style hybrid/overlay, you should explicitly +atoms, e.g. a 1/r^12 Lennard-Jones repulsion. +

    +

    IMPORTANT NOTE: When using the hbond/dreiding pair styles with +pair_style hybrid/overlay, you should explicitly define pair interactions between the donor atom and acceptor atoms, (as well as between these atoms and ALL other atoms in your system). -Whenever pair_style hybrid/overlay is used, +Whenever pair_style hybrid/overlay is used, ordinary mixing rules are not applied to atoms like the donor and acceptor atoms because they are typically referenced in multiple pair styles. Neglecting to do this can cause difficult-to-detect physics -problems.

    -
    -
    -

    Warning

    -

    In the original Dreiding force field paper 1-4 +problems. +

    +

    IMPORTANT NOTE: In the original Dreiding force field paper 1-4 non-bonded interactions ARE allowed. If this is desired for your -model, use the special_bonds command (e.g. “special_bonds lj 0.0 0.0 -1.0”) to turn these interactions on.

    -
    -
    -

    The following coefficients must be defined for pairs of eligible -donor/acceptor types via the pair_coeff command as -in the examples above.

    -
    -

    Warning

    -

    Unlike other pair styles and their associated -pair_coeff commands, you do not need to specify +model, use the special_bonds command (e.g. "special_bonds lj 0.0 0.0 +1.0") to turn these interactions on. +

    +
    + +

    The following coefficients must be defined for pairs of eligible +donor/acceptor types via the pair_coeff command as +in the examples above. +

    +

    IMPORTANT NOTE: Unlike other pair styles and their associated +pair_coeff commands, you do not need to specify pair_coeff settings for all possible I,J type pairs. Only I,J type pairs for atoms which act as joint donors/acceptors need to be -specified; all other type pairs are assumed to be inactive.

    -
    -
    -

    Warning

    -

    A pair_coeff command can be +specified; all other type pairs are assumed to be inactive. +

    +

    IMPORTANT NOTE: A pair_coeff command can be speficied multiple times for the same donor/acceptor type pair. This enables multiple hydrogen types to be assigned to the same donor/acceptor type pair. For other pair_styles, if the pair_coeff @@ -239,177 +116,140 @@ command is re-used for the same I.J type pair, the settings for that type pair are overwritten. For the hydrogen bond potentials this is not the case; the settings are cummulative. This means the only way to turn off a previous setting, is to re-use the pair_style command -and start over.

    -
    -

    For the hbond/dreiding/lj style the list of coefficients is as -follows:

    -
      -
    • K = hydrogen atom type = 1 to Ntypes
    • -
    • donor flag = i or j
    • -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • n = exponent in formula above
    • -
    • distance cutoff Rin (distance units)
    • -
    • distance cutoff Rout (distance units)
    • -
    • angle cutoff (degrees)
    • -
    -

    For the hbond/dreiding/morse style the list of coefficients is as -follows:

    -
      -
    • K = hydrogen atom type = 1 to Ntypes
    • -
    • donor flag = i or j
    • -
    • D0 (energy units)
    • -
    • alpha (1/distance units)
    • -
    • r0 (distance units)
    • -
    • n = exponent in formula above
    • -
    • distance cutoff Rin (distance units)
    • -
    • distance cutoff Rout (distance units)
    • -
    • angle cutoff (degrees)
    • -
    -

    A single hydrogen atom type K can be specified, or a wild-card +and start over. +

    +

    For the hbond/dreiding/lj style the list of coefficients is as +follows: +

    +
    • K = hydrogen atom type = 1 to Ntypes +
    • donor flag = i or j +
    • epsilon (energy units) +
    • sigma (distance units) +
    • n = exponent in formula above +
    • distance cutoff Rin (distance units) +
    • distance cutoff Rout (distance units) +
    • angle cutoff (degrees) +
    +

    For the hbond/dreiding/morse style the list of coefficients is as +follows: +

    +
    • K = hydrogen atom type = 1 to Ntypes +
    • donor flag = i or j +
    • D0 (energy units) +
    • alpha (1/distance units) +
    • r0 (distance units) +
    • n = exponent in formula above +
    • distance cutoff Rin (distance units) +
    • distance cutoff Rout (distance units) +
    • angle cutoff (degrees) +
    +

    A single hydrogen atom type K can be specified, or a wild-card asterisk can be used in place of or in conjunction with the K arguments to select multiple types as hydrogens. This takes the form -“*” or “n” or “n” or “m*n”. See the pair_coeff command -doc page for details.

    -

    If the donor flag is i, then the atom of type I in the pair_coeff +"*" or "*n" or "n*" or "m*n". See the pair_coeff command +doc page for details. +

    +

    If the donor flag is i, then the atom of type I in the pair_coeff command is treated as the donor, and J is the acceptor. If the donor -flag is j, then the atom of type J in the pair_coeff command is +flag is j, then the atom of type J in the pair_coeff command is treated as the donor and I is the donor. This option is required -because the pair_coeff command requires that I <= J.

    -

    Epsilon and sigma are settings for the hydrogen bond potential based +because the pair_coeff command requires that I <= J. +

    +

    Epsilon and sigma are settings for the hydrogen bond potential based on a Lennard-Jones functional form. Note that sigma is defined as the zero-crossing distance for the potential, not as the energy minimum at -2^(1/6) sigma.

    -

    D0 and alpha and r0 are settings for the hydrogen bond potential based -on a Morse functional form.

    -

    The last 3 coefficients for both styles are optional. If not +2^(1/6) sigma. +

    +

    D0 and alpha and r0 are settings for the hydrogen bond potential based +on a Morse functional form. +

    +

    The last 3 coefficients for both styles are optional. If not specified, the global n, distance cutoff, and angle cutoff specified in the pair_style command are used. If you wish to only override the 2nd or 3rd optional parameter, you must also specify the preceding -optional parameters.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +optional parameters. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. You must explicitly identify -each donor/acceptor type pair.

    -

    These styles do not support the pair_modify shift -option for the energy of the interactions.

    -

    The pair_modify table option is not relevant for -these pair styles.

    -

    These pair styles do not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. You must explicitly identify +each donor/acceptor type pair. +

    +

    These styles do not support the pair_modify shift +option for the energy of the interactions. +

    +

    The pair_modify table option is not relevant for +these pair styles. +

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    These pair styles do not write their information to binary restart files, so pair_style and pair_coeff commands need to be -re-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 command. They do not support the -inner, middle, outer keywords.

    -

    These pair styles tally a count of how many hydrogen bonding +pressure. +

    +

    These pair styles do not write their information to binary restart +files, so pair_style and pair_coeff commands need to be +re-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 command. They do not support the +inner, middle, outer keywords. +

    +

    These pair styles tally a count of how many hydrogen bonding interactions they calculate each timestep and the hbond energy. These -quantities can be accessed via the compute pair -command as a vector of values of length 2.

    -

    To print these quantities to the log file (with a descriptive column -heading) the following commands could be included in an input script:

    -
    compute hb all pair hbond/dreiding/lj
    +quantities can be accessed via the compute pair
    +command as a vector of values of length 2.
    +

    +

    To print these quantities to the log file (with a descriptive column +heading) the following commands could be included in an input script: +

    +
    compute hb all pair hbond/dreiding/lj
     variable n_hbond equal c_hb[1] #number hbonds
     variable E_hbond equal c_hb[2] #hbond energy
    -thermo_style custom step temp epair v_E_hbond
    -
    -
    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +thermo_style custom step temp epair v_E_hbond + +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Liu) Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8) +2798 (2009) +

    + diff --git a/doc/pair_hybrid.html b/doc/pair_hybrid.html index 2bfb4a9927..0403530f02 100644 --- a/doc/pair_hybrid.html +++ b/doc/pair_hybrid.html @@ -1,259 +1,140 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style hybrid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style hybrid command¶

    -
    -
    -

    pair_style hybrid/omp command¶

    -
    -
    -

    pair_style hybrid/overlay command¶

    -
    -
    -

    pair_style hybrid/overlay/omp command¶

    -
    -

    Syntax¶

    -
    pair_style hybrid style1 args style2 args ...
    -pair_style hybrid/overlay style1 args style2 args ...
    -
    -
    -
      -
    • style1,style2 = list of one or more pair styles and their arguments
    • -
    -
    -
    -

    Examples¶

    -
    pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
    +
    +
    +
    + +

    pair_style hybrid command +

    +

    pair_style hybrid/omp command +

    +

    pair_style hybrid/overlay command +

    +

    pair_style hybrid/overlay/omp command +

    +

    Syntax: +

    +
    pair_style hybrid style1 args style2 args ...
    +pair_style hybrid/overlay style1 args style2 args ... 
    +
    +
    • style1,style2 = list of one or more pair styles and their arguments +
    +

    Examples: +

    +
    pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
     pair_coeff 1*2 1*2 eam niu3
     pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
    -pair_coeff 1*2 3 lj/cut 0.5 1.2
    -
    -
    -
    pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
    +pair_coeff 1*2 3 lj/cut 0.5 1.2 
    +
    +
    pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff * * coul/long
    -
    -
    -
    -
    -

    Description¶

    -

    The hybrid and hybrid/overlay styles enable the use of multiple -pair styles in one simulation. With the hybrid style, exactly one +pair_coeff * * coul/long + +

    Description: +

    +

    The hybrid and hybrid/overlay styles enable the use of multiple +pair styles in one simulation. With the hybrid style, exactly one pair style is assigned to each pair of atom types. With the -hybrid/overlay style, one or more pair styles can be assigned to +hybrid/overlay style, one or more pair styles can be assigned to each pair of atom types. The assignment of pair styles to type pairs -is made via the pair_coeff command.

    -

    Here are two examples of hybrid simulations. The hybrid style could +is made via the pair_coeff command. +

    +

    Here are two examples of hybrid simulations. The hybrid style could be used for a simulation of a metal droplet on a LJ surface. The -metal atoms interact with each other via an eam potential, the -surface atoms interact with each other via a lj/cut potential, and -the metal/surface interaction is also computed via a lj/cut -potential. The hybrid/overlay style could be used as in the 2nd +metal atoms interact with each other via an eam potential, the +surface atoms interact with each other via a lj/cut potential, and +the metal/surface interaction is also computed via a lj/cut +potential. The hybrid/overlay style could be used as in the 2nd example above, where multiple potentials are superposed in an additive fashion to compute the interaction between atoms. In this example, -using lj/cut and coul/long together gives the same result as if -the lj/cut/coul/long potential were used by itself. In this case, +using lj/cut and coul/long together gives the same result as if +the lj/cut/coul/long potential were used by itself. In this case, it would be more efficient to use the single combined potential, but in general any combination of pair potentials can be used together in to produce an interaction that is not encoded in any single pair_style -file, e.g. adding Coulombic forces between granular particles.

    -

    All pair styles that will be used are listed as “sub-styles” following -the hybrid or hybrid/overlay keyword, in any order. Each -sub-style’s name is followed by its usual arguments, as illustrated in +file, e.g. adding Coulombic forces between granular particles. +

    +

    All pair styles that will be used are listed as "sub-styles" following +the hybrid or hybrid/overlay keyword, in any order. Each +sub-style's name is followed by its usual arguments, as illustrated in the example above. See the doc pages of individual pair styles for a -listing and explanation of the appropriate arguments.

    -

    Note that an individual pair style can be used multiple times as a +listing and explanation of the appropriate arguments. +

    +

    Note that an individual pair style can be used multiple times as a sub-style. For efficiency this should only be done if your model requires it. E.g. if you have different regions of Si and C atoms and wish to use a Tersoff potential for pure Si for one set of atoms, and a Tersoff potetnial for pure C for the other set (presumably with some -3rd potential for Si-C interactions), then the sub-style tersoff +3rd potential for Si-C interactions), then the sub-style tersoff could be listed twice. But if you just want to use a Lennard-Jones or other pairwise potential for several different atom type pairs in your model, then you should just list the sub-style once and use the -pair_coeff command to assign parameters for the different type pairs.

    -
    -

    Warning

    -

    An exception to this option to list an individual pair +pair_coeff command to assign parameters for the different type pairs. +

    +

    IMPORTANT NOTE: An exception to this option to list an individual pair style multiple times are the pair styles implemented as Fortran -libraries: pair_style meam and pair_style reax (pair_style reax/c is OK). +libraries: pair_style meam and pair_style +reax (pair_style reax/c is OK). This is because unlike a C++ class, they can not be instantiated -multiple times, due to the manner in which they were coded in Fortran.

    -
    -

    In the pair_coeff commands, the name of a pair style must be added +multiple times, due to the manner in which they were coded in Fortran. +

    +

    In the pair_coeff commands, the name of a pair style must be added after the I,J type specification, with the remaining coefficients being those appropriate to that style. If the pair style is used multiple times in the pair_style command, then an additional numeric argument must also be specified which is a number from 1 to M where M is the number of times the sub-style was listed in the pair style command. The extra number indicates which instance of the sub-style -these coefficients apply to.

    -

    For example, consider a simulation with 3 atom types: types 1 and 2 +these coefficients apply to. +

    +

    For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following -commands would set up a hybrid simulation:

    -
    pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
    +commands would set up a hybrid simulation:
    +

    +
    pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
     pair_coeff * * eam/alloy nialhjea Ni Ni NULL
     pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
    -pair_coeff 1*2 3 lj/cut 0.8 1.3
    -
    -
    -

    As an example of using the same pair style multiple times, consider a +pair_coeff 1*2 3 lj/cut 0.8 1.3 + +

    As an example of using the same pair style multiple times, consider a simulation with 2 atom types. Type 1 is Si, type 2 is C. The following commands would model the Si atoms with Tersoff, the C atoms -with Tersoff, and the cross-interactions with Lennard-Jones:

    -
    pair_style hybrid lj/cut 2.5 tersoff tersoff
    -pair_coeff * * tersoff 1 Si.tersoff Si NULL
    +with Tersoff, and the cross-interactions with Lennard-Jones:
    +

    +
    pair_style hybrid lj/cut 2.5 tersoff tersoff
    +pair_coeff * * tersoff 1 Si.tersoff Si NULL 
     pair_coeff * * tersoff 2 C.tersoff NULL C
    -pair_coeff 1 2 lj/cut 1.0 1.5
    -
    -
    -

    If pair coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. “eam/alloy” or “lj/cut” must be added after the atom type, for -each line in the “Pair Coeffs” section, e.g.

    -
    Pair Coeffs
    -
    -
    -
    1 lj/cut/coul/cut 1.0 1.0
    -...
    -
    -
    -

    Note that the pair_coeff command for some potentials such as -pair_style eam/alloy includes a mapping specification +pair_coeff 1 2 lj/cut 1.0 1.5 + +

    If pair coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. "eam/alloy" or "lj/cut" must be added after the atom type, for +each line in the "Pair Coeffs" section, e.g. +

    +
    Pair Coeffs 
    +
    +
    1 lj/cut/coul/cut 1.0 1.0
    +... 
    +
    +

    Note that the pair_coeff command for some potentials such as +pair_style eam/alloy includes a mapping specification of elements to all atom types, which in the hybrid case, can include -atom types not assigned to the eam/alloy potential. The NULL +atom types not assigned to the eam/alloy potential. The NULL keyword is used by many such potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type that will be assigned to a different -sub-style.

    -

    For the hybrid style, each atom type pair I,J is assigned to exactly +sub-style. +

    +

    For the hybrid style, each atom type pair I,J is assigned to exactly one sub-style. Just as with a simulation using a single pair style, if you specify the same atom type pair in a second pair_coeff command, -the previous assignment will be overwritten.

    -

    For the hybrid/overlay style, each atom type pair I,J can be +the previous assignment will be overwritten. +

    +

    For the hybrid/overlay style, each atom type pair I,J can be assigned to one or more sub-styles. If you specify the same atom type pair in a second pair_coeff command with a new sub-style, then the second sub-style is added to the list of potentials that will be @@ -262,66 +143,76 @@ the same atom type pair in a second pair_coeff command with a sub-style that has already been defined for that pair of atoms, then the new pair coefficients simply override the previous ones, as in the normal usage of the pair_coeff command. E.g. these two sets of -commands are the same:

    -
    pair_style lj/cut 2.5
    +commands are the same:
    +

    +
    pair_style lj/cut 2.5
     pair_coeff * * 1.0 1.0
    -pair_coeff 2 2 1.5 0.8
    -
    -
    -
    pair_style hybrid/overlay lj/cut 2.5
    +pair_coeff 2 2 1.5 0.8 
    +
    +
    pair_style hybrid/overlay lj/cut 2.5
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff 2 2 lj/cut 1.5 0.8
    -
    -
    -

    Coefficients must be defined for each pair of atoms types via the -pair_coeff command as described above, or in the -data file or restart files read by the read_data or -read_restart commands, or by mixing as described -below.

    -

    For both the hybrid and hybrid/overlay styles, every atom type -pair I,J (where I <= J) must be assigned to at least one sub-style via -the pair_coeff command as in the examples above, or -in the data file read by the read_data, or by mixing -as described below.

    -

    If you want there to be no interactions between a particular pair of +pair_coeff 2 2 lj/cut 1.5 0.8 + +

    Coefficients must be defined for each pair of atoms types via the +pair_coeff command as described above, or in the +data file or restart files read by the read_data or +read_restart commands, or by mixing as described +below. +

    +

    For both the hybrid and hybrid/overlay styles, every atom type +pair I,J (where I <= J) must be assigned to at least one sub-style via +the pair_coeff command as in the examples above, or +in the data file read by the read_data, or by mixing +as described below. +

    +

    If you want there to be no interactions between a particular pair of atom types, you have 3 choices. You can assign the type pair to some -sub-style and use the neigh_modify exclude type +sub-style and use the neigh_modify exclude type command. You can assign it to some sub-style and set the coefficients so that there is effectively no interaction (e.g. epsilon = 0.0 in a -LJ potential). Or, for hybrid and hybrid/overlay simulations, you -can use this form of the pair_coeff command in your input script:

    -
    pair_coeff   2 3 none
    -
    -
    -

    or this form in the “Pair Coeffs” section of the data file:

    -
    3 none
    -
    -
    -

    If an assignment to none is made in a simulation with the -hybrid/overlay pair style, it wipes out all previous assignments of -that atom type pair to sub-styles.

    -

    Note that you may need to use an atom_style hybrid +LJ potential). Or, for hybrid and hybrid/overlay simulations, you +can use this form of the pair_coeff command in your input script: +

    +
    pair_coeff	2 3 none 
    +
    +

    or this form in the "Pair Coeffs" section of the data file: +

    +
    3 none 
    +
    +

    If an assignment to none is made in a simulation with the +hybrid/overlay pair style, it wipes out all previous assignments of +that atom type pair to sub-styles. +

    +

    Note that you may need to use an atom_style hybrid command in your input script, if atoms in the simulation will need attributes from several atom styles, due to using multiple pair -potentials.

    -
    -

    Different force fields (e.g. CHARMM vs AMBER) may have different rules +potentials. +

    +
    + +

    Different force fields (e.g. CHARMM vs AMBER) may have different rules for applying weightings that change the strength of pairwise interactions bewteen pairs of atoms that are also 1-2, 1-3, and 1-4 neighbors in the molecular bond topology, as normally set by the -special_bonds command. Different weights can be -assigned to different pair hybrid sub-styles via the pair_modify special command. This allows multiple force fields +special_bonds command. Different weights can be +assigned to different pair hybrid sub-styles via the pair_modify +special command. This allows multiple force fields to be used in a model of a hybrid system. See the -pair_modify doc page for details.

    -

    The potential energy contribution to the overall system due to an -individual sub-style can be accessed and output via the compute pair command.

    -
    -

    IMPORTANT: Several of the potentials defined via the pair_style +pair_modify doc page for details. +

    +

    The potential energy contribution to the overall system due to an +individual sub-style can be accessed and output via the compute +pair command. +

    +
    + +

    IMPORTANT: Several of the potentials defined via the pair_style command in LAMMPS are really many-body potentials, such as Tersoff, AIREBO, MEAM, ReaxFF, etc. The way to think about using these -potentials in a hybrid setting is as follows.

    -

    A subset of atom types is assigned to the many-body potential with a -single pair_coeff command, using “* *” to include +potentials in a hybrid setting is as follows. +

    +

    A subset of atom types is assigned to the many-body potential with a +single pair_coeff command, using "* *" to include all types and the NULL keywords described above to exclude specific types not assigned to that potential. If types 1,3,4 were assigned in that way (but not type 2), this means that all many-body interactions @@ -329,8 +220,9 @@ between all atoms of types 1,3,4 will be computed by that potential. Pair_style hybrid allows interactions between type pairs 2-2, 1-2, 2-3, 2-4 to be specified for computation by other pair styles. You could even add a second interaction for 1-1 to be computed by another -pair style, assuming pair_style hybrid/overlay is used.

    -

    But you should not, as a general rule, attempt to exclude the +pair style, assuming pair_style hybrid/overlay is used. +

    +

    But you should not, as a general rule, attempt to exclude the many-body interactions for some subset of the type pairs within the set of 1,3,4 interactions, e.g. exclude 1-1 or 1-3 interactions. That is not conceptually well-defined for many-body interactions, since the @@ -338,171 +230,125 @@ potential will typically calculate energies and foces for small groups of atoms, e.g. 3 or 4 atoms, using the neighbor lists of the atoms to find the additional atoms in the group. It is typically non-physical to think of excluding an interaction between a particular pair of -atoms when the potential computes 3-body or 4-body interactions.

    -

    However, you can still use the pair_coeff none setting or the -neigh_modify exclude command to exclude certain +atoms when the potential computes 3-body or 4-body interactions. +

    +

    However, you can still use the pair_coeff none setting or the +neigh_modify exclude command to exclude certain type pairs from the neighbor list that will be passed to a manybody sub-style. This will alter the calculations made by a many-body potential, since it builds its list of 3-body, 4-body, etc interactions from the pair list. You will need to think carefully as -to whether it produces a physically meaningful result for your model.

    -

    For example, imagine you have two atom types in your model, type 1 for +to whether it produces a physically meaningful result for your model. +

    +

    For example, imagine you have two atom types in your model, type 1 for atoms in one surface, and type 2 for atoms in the other, and you wish to use a Tersoff potential to compute interactions within each surface, but not between surfaces. Then either of these two command -sequences would implement that model:

    -
    pair_style hybrid tersoff
    +sequences would implement that model:
    +

    +
    pair_style hybrid tersoff
     pair_coeff * * tersoff SiC.tersoff C C
    -pair_coeff 1 2 none
    -
    -
    -
    pair_style tersoff
    +pair_coeff 1 2 none 
    +
    +
    pair_style tersoff
     pair_coeff * * SiC.tersoff C C
    -neigh_modify exclude type 1 2
    -
    -
    -

    Either way, only neighbor lists with 1-1 or 2-2 interactions would be +neigh_modify exclude type 1 2 + +

    Either way, only neighbor lists with 1-1 or 2-2 interactions would be passed to the Tersoff potential, which means it would compute no -3-body interactions containing both type 1 and 2 atoms.

    -

    Here is another example, using hybrid/overlay, to use 2 many-body +3-body interactions containing both type 1 and 2 atoms. +

    +

    Here is another example, using hybrid/overlay, to use 2 many-body potentials together, in an overlapping manner. Imagine you have CNT (C atoms) on a Si surface. You want to use Tersoff for Si/Si and Si/C interactions, and AIREBO for C/C interactions. Si atoms are type 1; C -atoms are type 2. Something like this will work:

    -
    pair_style hybrid/overlay tersoff airebo 3.0
    +atoms are type 2.  Something like this will work:
    +

    +
    pair_style hybrid/overlay tersoff airebo 3.0
     pair_coeff * * tersoff SiC.tersoff.custom Si C
    -pair_coeff * * airebo CH.airebo NULL C
    -
    -
    -

    Note that to prevent the Tersoff potential from computing C/C +pair_coeff * * airebo CH.airebo NULL C + +

    Note that to prevent the Tersoff potential from computing C/C interactions, you would need to modify the SiC.tersoff file to turn off C/C interaction, i.e. by setting the appropriate coefficients to -0.0.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +0.0. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate -of the manual.

    -

    Since the hybrid and hybrid/overlay styles delegate computation -to the individual sub-styles, the suffix versions of the hybrid -and hybrid/overlay styles are used to propagate the corresponding +hardware, as discussed in Section_accelerate +of the manual. +

    +

    Since the hybrid and hybrid/overlay styles delegate computation +to the individual sub-styles, the suffix versions of the hybrid +and hybrid/overlay styles are used to propagate the corresponding suffix to all sub-styles, if those versions exist. Otherwise the -non-accelerated version will be used.

    -

    The individual accelerated sub-styles are part of the USER-CUDA, GPU, +non-accelerated version will be used. +

    +

    The individual accelerated sub-styles are part of the USER-CUDA, GPU, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the -Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    Any pair potential settings made via the -pair_modify command are passed along to all -sub-styles of the hybrid potential.

    -

    For atom type pairs I,J and I != J, if the sub-style assigned to I,I +Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    Any pair potential settings made via the +pair_modify command are passed along to all +sub-styles of the hybrid potential. +

    +

    For atom type pairs I,J and I != J, if the sub-style assigned to I,I and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to specify a pair_coeff command for I,J since the I,J type pair will be assigned automatically to the sub-style defined for both I,I and J,J and its coefficients generated by the mixing rule used by that -sub-style. For the hybrid/overlay style, there is an additional +sub-style. For the hybrid/overlay style, there is an additional requirement that both the I,I and J,J pairs are assigned to a single -sub-style. See the “pair_modify” command for details of mixing rules. +sub-style. See the "pair_modify" command for details of mixing rules. See the See the doc page for the sub-style to see if allows for -mixing.

    -

    The hybrid pair styles supports the pair_modify +mixing. +

    +

    The hybrid pair styles supports the pair_modify shift, table, and tail options for an I,J pair interaction, if the -associated sub-style supports it.

    -

    For the hybrid pair styles, the list of sub-styles and their -respective settings are written to binary restart files, so a pair_style command does +associated sub-style supports it. +

    +

    For the hybrid pair styles, the list of sub-styles and their +respective settings are written to binary restart +files, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file. Thus, pair_coeff commands need to be re-specified in the -restart input script.

    -

    These pair styles support the use of the inner, middle, and -outer keywords of the run_style respa command, if -their sub-styles do.

    -
    -
    -

    Restrictions¶

    -

    When using a long-range Coulombic solver (via the -kspace_style command) with a hybrid pair_style, -one or more sub-styles will be of the “long” variety, -e.g. lj/cut/coul/long or buck/coul/long. You must insure that the +restart input script. +

    +

    These pair styles support the use of the inner, middle, and +outer keywords of the run_style respa command, if +their sub-styles do. +

    +

    Restrictions: +

    +

    When using a long-range Coulombic solver (via the +kspace_style command) with a hybrid pair_style, +one or more sub-styles will be of the "long" variety, +e.g. lj/cut/coul/long or buck/coul/long. You must insure that the short-range Coulombic cutoff used by each of these long pair styles is -the same or else LAMMPS will generate an error.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +the same or else LAMMPS will generate an error. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_kim.html b/doc/pair_kim.html index c803dbb5b4..7ff025a96a 100644 --- a/doc/pair_kim.html +++ b/doc/pair_kim.html @@ -1,289 +1,123 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style kim command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style kim command¶

    -
    -

    Syntax¶

    -
    pair_style kim virialmode model printflag
    -
    -
    -
      -
    • virialmode = KIMvirial or LAMMPSvirial
    • -
    • model = name of KIM model (potential)
    • -
    • printflag = 1/0 do or do not print KIM descriptor file, optional
    • -
    -
    -
    -

    Examples¶

    -
    pair_style kim KIMvirial model_Ar_P_Morse
    -pair_coeff * * Ar Ar
    -
    -
    -
    pair_style kim KIMvirial model_Ar_P_Morse 1
    -pair_coeff * * Ar Ar
    -
    -
    -
    -
    -

    Description¶

    -

    This pair style is a wrapper on the Knowledge Base for Interatomic Models (KIM) repository of interatomic potentials, -so that they can be used by LAMMPS scripts.

    -

    In KIM lingo, a potential is a “model” and a model contains both the + + +


    + +

    pair_style kim command +

    +

    Syntax: +

    +
    pair_style kim virialmode model printflag 
    +
    +
    • virialmode = KIMvirial or LAMMPSvirial +
    • model = name of KIM model (potential) +
    • printflag = 1/0 do or do not print KIM descriptor file, optional +
    +

    Examples: +

    +
    pair_style kim KIMvirial model_Ar_P_Morse
    +pair_coeff * * Ar Ar 
    +
    +
    pair_style kim KIMvirial model_Ar_P_Morse 1
    +pair_coeff * * Ar Ar 
    +
    +

    Description: +

    +

    This pair style is a wrapper on the Knowledge Base for Interatomic +Models (KIM) repository of interatomic potentials, +so that they can be used by LAMMPS scripts. +

    +

    In KIM lingo, a potential is a "model" and a model contains both the analytic formulas that define the potential as well as the parameters needed to run it for one or more materials, including coefficients and -cutoffs.

    -

    The argument virialmode determines how the global virial is -calculated. If KIMvirial is specified, the KIM model performs the -global virial calculation (if it knows how). If LAMMPSvirial is -specified, LAMMPS computes the global virial using its fdotr mechanism.

    -

    The argument model is the name of the KIM model for a specific +cutoffs. +

    +

    The argument virialmode determines how the global virial is +calculated. If KIMvirial is specified, the KIM model performs the +global virial calculation (if it knows how). If LAMMPSvirial is +specified, LAMMPS computes the global virial using its fdotr mechanism. +

    +

    The argument model is the name of the KIM model for a specific potential as KIM defines it. In principle, LAMMPS can invoke any KIM model. You should get an error or warning message from either LAMMPS -or KIM if there is an incompatibility.

    -

    The argument printflag is optional. If it is set to a non-zero +or KIM if there is an incompatibility. +

    +

    The argument printflag is optional. If it is set to a non-zero value then a KIM dsecriptor file is printed when KIM is invoked. This -can be useful for debugging. The default is to not print this file.

    -

    Only a single pair_coeff command is used with the kim style which +can be useful for debugging. The default is to not print this file. +

    +

    Only a single pair_coeff command is used with the kim style which specifies the mapping of LAMMPS atom types to KIM elements. This is done by specifying N additional arguments after the * * in the -pair_coeff command, where N is the number of LAMMPS atom types:

    -
      -
    • N element names = mapping of KIM elements to atom types
    • -
    -

    As an example, imagine the KIM model supports Si and C atoms. If your +pair_coeff command, where N is the number of LAMMPS atom types: +

    +
    • N element names = mapping of KIM elements to atom types +
    +

    As an example, imagine the KIM model supports Si and C atoms. If your LAMMPS simulation has 4 atom types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair_coeff command:

    -
    pair_coeff * * Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +and the 4th to be C, you would use the following pair_coeff command: +

    +
    pair_coeff * * Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to Si as defined within KIM. The final C argument maps LAMMPS atom type 4 to C as defined within KIM. If a mapping value is specified as NULL, the -mapping is not performed. This can only be used when a kim -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can only be used when a kim +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials.

    -
    -

    In addition to the usual LAMMPS error messages, the KIM library itself +potentials. +

    +
    + +

    In addition to the usual LAMMPS error messages, the KIM library itself may generate errors, which should be printed to the screen. In this case it is also useful to check the kim.log file for additional error information. This file kim.log should be generated in the same -directory where LAMMPS is running.

    -

    To download, build, and install the KIM library on your system, see +directory where LAMMPS is running. +

    +

    To download, build, and install the KIM library on your system, see the lib/kim/README file. Once you have done this and built LAMMPS with the KIM package installed you can run the example input scripts -in examples/kim.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since KIM stores the potential parameters. +in examples/kim. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since KIM stores the potential parameters. Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the KIM package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This current version of pair_style kim is compatible with the -kim-api package version 1.6.0 and higher.

    -
    - -
    +an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This pair style is part of the KIM package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This current version of pair_style kim is compatible with the +kim-api package version 1.6.0 and higher. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_lcbop.html b/doc/pair_lcbop.html index 7221a44136..8b407d6729 100644 --- a/doc/pair_lcbop.html +++ b/doc/pair_lcbop.html @@ -1,269 +1,103 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lcbop command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lcbop command¶

    -
    -

    Syntax¶

    -
    pair_style lcbop
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style lcbop
    -pair_coeff * * ../potentials/C.lcbop C
    -
    -
    -
    -
    -

    Description¶

    -

    The lcbop pair style computes the long-range bond-order potential -for carbon (LCBOP) of (Los and Fasolino). See section II in -that paper for the analytic equations associated with the potential.

    -

    Only a single pair_coeff command is used with the lcbop style which + + +


    + +

    pair_style lcbop command +

    +

    Syntax: +

    +
    pair_style lcbop 
    +
    +

    Examples: +

    +
    pair_style lcbop
    +pair_coeff * * ../potentials/C.lcbop C 
    +
    +

    Description: +

    +

    The lcbop pair style computes the long-range bond-order potential +for carbon (LCBOP) of (Los and Fasolino). See section II in +that paper for the analytic equations associated with the potential. +

    +

    Only a single pair_coeff command is used with the lcbop style which specifies an LCBOP potential file with parameters for specific elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of LCBOP elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C you would use the following pair_coeff command:

    -
    pair_coeff * * C.lcbop C C C NULL
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of LCBOP elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, if your LAMMPS simulation has 4 atom types and you want +the 1st 3 to be C you would use the following pair_coeff command: +

    +
    pair_coeff * * C.lcbop C C C NULL 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first C argument maps LAMMPS atom type 1 to the C element in the LCBOP file. If a mapping value is specified as NULL, the mapping is -not performed. This can be used when a lcbop potential is used as -part of the hybrid pair style. The NULL values are placeholders for -atom types that will be used with other potentials.

    -

    The parameters/coefficients for the LCBOP potential as applied to C -are listed in the C.lcbop file to agree with the original (Los and Fasolino) paper. Thus the parameters are specific to this +not performed. This can be used when a lcbop potential is used as +part of the hybrid pair style. The NULL values are placeholders for +atom types that will be used with other potentials. +

    +

    The parameters/coefficients for the LCBOP potential as applied to C +are listed in the C.lcbop file to agree with the original (Los and +Fasolino) paper. Thus the parameters are specific to this potential and the way it was fit, so modifying the file should be done -carefully.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +carefully. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair styles is part of the MANYBODY package. It is only enabled +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair styles is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    This pair potential requires the newton setting to be -“on” for pair interactions.

    -

    The C.lcbop potential file provided with LAMMPS (see the potentials -directory) is parameterized for metal units. You can use +the Making LAMMPS section for more info. +

    +

    This pair potential requires the newton setting to be +"on" for pair interactions. +

    +

    The C.lcbop potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal units. You can use the LCBOP potential with any LAMMPS units, but you would need to create your own LCBOP potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_airebo, pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Los and Fasolino) J. H. Los and A. Fasolino, Phys. Rev. B 68, 024107 +(2003). +

    + diff --git a/doc/pair_line_lj.html b/doc/pair_line_lj.html index 5ccd6206dc..26b801f808 100644 --- a/doc/pair_line_lj.html +++ b/doc/pair_line_lj.html @@ -1,165 +1,49 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style line/lj command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style line/lj command¶

    -
    -
    -

    pair_style line/lj/omp command¶

    -
    -

    Syntax¶

    -
    pair_style line/lj cutoff
    -
    -
    -

    cutoff = global cutoff for interactions (distance units)

    -
    -
    -

    Examples¶

    -
    pair_style line/lj 3.0
    +
    +
    +
    + +

    pair_style line/lj command +

    +

    pair_style line/lj/omp command +

    +

    Syntax: +

    +
    pair_style line/lj cutoff 
    +
    +

    cutoff = global cutoff for interactions (distance units) +

    +

    Examples: +

    +
    pair_style line/lj 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5
    -
    -
    -
    -
    -

    Description¶

    -

    Style line/lj treats particles which are line segments as a set of +pair_coeff 1 1 1.0 1.5 2.5 + +

    Description: +

    +

    Style line/lj treats particles which are line segments as a set of small spherical particles that tile the line segment length as explained below. Interactions between two line segments, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones interactions. Interactions between a line segment with N spherical particles and a point particle are treated as the -pairwise sum of N Lennard-Jones interactions. See the pair_style lj/cut doc page for the definition of Lennard-Jones -interactions.

    -

    The cutoff distance for an interaction between 2 line segments, or +pairwise sum of N Lennard-Jones interactions. See the pair_style +lj/cut doc page for the definition of Lennard-Jones +interactions. +

    +

    The cutoff distance for an interaction between 2 line segments, or between a line segment and a point particle, is calculated from the position of the line segment (its center), not between pairs of individual spheres comprising the line segment. Thus an interaction -is either calculated in its entirety or not at all.

    -

    The set of non-overlapping spherical particles that represent a line +is either calculated in its entirety or not at all. +

    +

    The set of non-overlapping spherical particles that represent a line segment, for purposes of this pair style, are generated in the following manner. Their size is a function of the line segment length and the specified sigma for that particle type. If a line segment has @@ -172,131 +56,87 @@ sigma-prime is chosen as the sphere diameter, such that L/N = sigma-prime. Thus the line segment interacts with other segments or point particles as a collection of N spheres of diameter sigma-prime, evenly spaced along the line segment, so as to exactly cover its -length.

    -

    The LJ interaction between 2 spheres on different line segments of +length. +

    +

    The LJ interaction between 2 spheres on different line segments of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for line segment spheres is -computed using only sigma_II values, specific to the line segment’s +computed using only sigma_II values, specific to the line segment's type, this means that any specified sigma_IJ values (for I != J) are -effectively ignored.

    -

    For style line/lj, the following coefficients must be defined for -each pair of atoms types via the pair_coeff command +effectively ignored. +

    +

    For style line/lj, the following coefficients must be defined for +each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by -the read_data or read_restart -commands:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the read_data or read_restart +commands: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Defining particles to be line segments so they participate in +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Defining particles to be line segments so they participate in line/line or line/particle interactions requires the use the -atom_style line command.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +atom_style line command. +

    +

    Related commands: +

    +

    pair_coeff, pair_style tri/lj +

    +

    Default: none +

    + diff --git a/doc/pair_list.html b/doc/pair_list.html index 85a3edbf00..b0981813f3 100644 --- a/doc/pair_list.html +++ b/doc/pair_list.html @@ -1,315 +1,154 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style list command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style list command¶

    -
    -

    Syntax¶

    -
    pair_style list listfile cutoff keyword
    -
    -
    -
      -
    • listfile = name of file with list of pairwise interactions
    • -
    • cutoff = global cutoff (distance units)
    • -
    • keyword = optional flag nocheck or check (default is check)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style list restraints.txt 200.0
    -pair_coeff * *
    -
    -
    -
    pair_style hybrid/overlay lj/cut 1.1225 list pair_list.txt 300.0
    +
    +
    +
    + +

    pair_style list command +

    +

    Syntax: +

    +
    pair_style list listfile cutoff keyword 
    +
    +
    • listfile = name of file with list of pairwise interactions +
    • cutoff = global cutoff (distance units) +
    • keyword = optional flag nocheck or check (default is check) +
    +

    Examples: +

    +
    pair_style list restraints.txt 200.0
    +pair_coeff * * 
    +
    +
    pair_style hybrid/overlay lj/cut 1.1225 list pair_list.txt 300.0
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff 3* 3* list
    -
    -
    -
    -
    -

    Description¶

    -

    Style list computes interactions between explicitly listed pairs of +pair_coeff 3* 3* list + +

    Description: +

    +

    Style list computes interactions between explicitly listed pairs of atoms with the option to select functional form and parameters for each individual pair. Because the parameters are set in the list file, the pair_coeff command has no parameters (but still needs to be -provided). The check and nocheck keywords enable/disable a test -that checks whether all listed bonds were present and computed.

    -

    This pair style can be thought of as a hybrid between bonded, +provided). The check and nocheck keywords enable/disable a test +that checks whether all listed bonds were present and computed. +

    +

    This pair style can be thought of as a hybrid between bonded, non-bonded, and restraint interactions. It will typically be used as -an additional interaction within the hybrid/overlay pair style. It +an additional interaction within the hybrid/overlay pair style. It currently supports three interaction styles: a 12-6 Lennard-Jones, a -Morse and a harmonic potential.

    -

    The format of the list file is as follows:

    -
      -
    • one line per pair of atoms
    • -
    • empty lines will be ignored
    • -
    • comment text starts with a ‘#’ character
    • -
    • line syntax: ID1 ID2 style coeffs cutoff
    • -
    -
    ID1 = atom ID of first atom
    +Morse and a harmonic potential.
    +

    +

    The format of the list file is as follows: +

    +
    • one line per pair of atoms + +
    • empty lines will be ignored + +
    • comment text starts with a '#' character + +
    • line syntax: ID1 ID2 style coeffs cutoff + +
        ID1 = atom ID of first atom
         ID2 = atom ID of second atom
         style = style of interaction
         coeffs = list of coeffs
      -  cutoff = cutoff for interaction (optional)
      -
    -
    -

    The cutoff parameter is optional. If not specified, the global cutoff -is used.

    -

    Here is an example file:

    -
    # this is a comment
    -
    -
    -
    15 259 lj126     1.0 1.0      50.0
    -15 603 morse    10.0 1.2 2.0  10.0 # and another comment
    -18 470 harmonic 50.0 1.2       5.0
    -
    -
    -

    The style lj126 computes pairwise interactions with the formula

    -_images/pair_lj.jpg -

    and the coefficients:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    -

    The style morse computes pairwise interactions with the formula

    -_images/pair_morse.jpg -

    and the coefficients:

    -
      -
    • D0 (energy units)
    • -
    • alpha (1/distance units)
    • -
    • r0 (distance units)
    • -
    -

    The style harmonic computes pairwise interactions with the formula

    -_images/bond_harmonic.jpg -

    and the coefficients:

    -
      -
    • K (energy units)
    • -
    • r0 (distance units)
    • -
    -

    Note that the usual 1/2 factor is included in K.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support mixing since all parameters are -explicit for each pair.

    -

    The pair_modify shift option is supported by this -pair style.

    -

    The pair_modify table and tail options are not -relevant for this pair style.

    -

    This pair style does not write its information to binary restart files, so pair_style and pair_coeff commands need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style does not use a neighbor list and instead identifies + cutoff = cutoff for interaction (optional) + + + +

    The cutoff parameter is optional. If not specified, the global cutoff +is used. +

    +

    Here is an example file: +

    +
    # this is a comment 
    +
    +
    15 259 lj126     1.0 1.0      50.0
    +15 603 morse    10.0 1.2 2.0  10.0 # and another comment 
    +18 470 harmonic 50.0 1.2       5.0  
    +
    +

    The style lj126 computes pairwise interactions with the formula +

    +
    +
    +

    and the coefficients: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    +

    The style morse computes pairwise interactions with the formula +

    +
    +
    +

    and the coefficients: +

    +
    • D0 (energy units) +
    • alpha (1/distance units) +
    • r0 (distance units) +
    +

    The style harmonic computes pairwise interactions with the formula +

    +
    +
    +

    and the coefficients: +

    +
    • K (energy units) +
    • r0 (distance units) +
    +

    Note that the usual 1/2 factor is included in K. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support mixing since all parameters are +explicit for each pair. +

    +

    The pair_modify shift option is supported by this +pair style. +

    +

    The pair_modify table and tail options are not +relevant for this pair style. +

    +

    This pair style does not write its information to binary restart +files, so pair_style and pair_coeff commands need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style does not use a neighbor list and instead identifies atoms by their IDs. This has two consequences: 1) The cutoff has to be chosen sufficiently large, so that the second atom of a pair has to be a ghost atom on the same node on which the first atom is local; -otherwise the interaction will be skipped. You can use the check +otherwise the interaction will be skipped. You can use the check option to detect, if interactions are missing. 2) Unlike other pair styles in LAMMPS, an atom I will not interact with multiple images of atom J (assuming the images are within the cutoff distance), but only -with the nearest image.

    -

    This style is part of the USER-MISC package. It is only enabled if -LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +with the nearest image. +

    +

    This style is part of the USER-MISC package. It is only enabled if +LAMMPS is build with that package. See the Making of +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, +pair_style hybrid/overlay, +pair_style lj/cut, +pair_style morse, +bond_style harmonic +

    +

    Default: none +

    + diff --git a/doc/pair_lj.html b/doc/pair_lj.html index 7101fd7f99..1a8c57f73a 100644 --- a/doc/pair_lj.html +++ b/doc/pair_lj.html @@ -1,349 +1,199 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/cut command¶

    -
    -
    -

    pair_style lj/cut/cuda command¶

    -
    -
    -

    pair_style lj/cut/gpu command¶

    -
    -
    -

    pair_style lj/cut/intel command¶

    -
    -
    -

    pair_style lj/cut/kk command¶

    -
    -
    -

    pair_style lj/cut/opt command¶

    -
    -
    -

    pair_style lj/cut/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/cut command¶

    -
    -
    -

    pair_style lj/cut/coul/cut/cuda command¶

    -
    -
    -

    pair_style lj/cut/coul/cut/gpu command¶

    -
    -
    -

    pair_style lj/cut/coul/cut/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/debye command¶

    -
    -
    -

    pair_style lj/cut/coul/debye/cuda command¶

    -
    -
    -

    pair_style lj/cut/coul/debye/gpu command¶

    -
    -
    -

    pair_style lj/cut/coul/debye/kk command¶

    -
    -
    -

    pair_style lj/cut/coul/debye/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/dsf command¶

    -
    -
    -

    pair_style lj/cut/coul/dsf/gpu command¶

    -
    -
    -

    pair_style lj/cut/coul/dsf/kk command¶

    -
    -
    -

    pair_style lj/cut/coul/dsf/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/long command¶

    -
    -
    -

    pair_style lj/cut/coul/long/cuda command¶

    -
    -
    -

    pair_style lj/cut/coul/long/gpu command¶

    -
    -
    -

    pair_style lj/cut/coul/long/intel command¶

    -
    -
    -

    pair_style lj/cut/coul/long/opt command¶

    -
    -
    -

    pair_style lj/cut/coul/long/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/msm command¶

    -
    -
    -

    pair_style lj/cut/coul/msm/gpu command¶

    -
    -
    -

    pair_style lj/cut/coul/msm/omp command¶

    -
    -
    -

    pair_style lj/cut/tip4p/cut command¶

    -
    -
    -

    pair_style lj/cut/tip4p/cut/omp command¶

    -
    -
    -

    pair_style lj/cut/tip4p/long command¶

    -
    -
    -

    pair_style lj/cut/tip4p/long/omp command¶

    -
    -
    -

    pair_style lj/cut/tip4p/long/opt command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/dsf or lj/cut/coul/long or lj/cut/coul/msm or lj/cut/tip4p/long
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/cut args = cutoff
    +
    +
    +
    + +

    pair_style lj/cut command +

    +

    pair_style lj/cut/cuda command +

    +

    pair_style lj/cut/gpu command +

    +

    pair_style lj/cut/intel command +

    +

    pair_style lj/cut/kk command +

    +

    pair_style lj/cut/opt command +

    +

    pair_style lj/cut/omp command +

    +

    pair_style lj/cut/coul/cut command +

    +

    pair_style lj/cut/coul/cut/cuda command +

    +

    pair_style lj/cut/coul/cut/gpu command +

    +

    pair_style lj/cut/coul/cut/omp command +

    +

    pair_style lj/cut/coul/debye command +

    +

    pair_style lj/cut/coul/debye/cuda command +

    +

    pair_style lj/cut/coul/debye/gpu command +

    +

    pair_style lj/cut/coul/debye/kk command +

    +

    pair_style lj/cut/coul/debye/omp command +

    +

    pair_style lj/cut/coul/dsf command +

    +

    pair_style lj/cut/coul/dsf/gpu command +

    +

    pair_style lj/cut/coul/dsf/kk command +

    +

    pair_style lj/cut/coul/dsf/omp command +

    +

    pair_style lj/cut/coul/long command +

    +

    pair_style lj/cut/coul/long/cuda command +

    +

    pair_style lj/cut/coul/long/gpu command +

    +

    pair_style lj/cut/coul/long/intel command +

    +

    pair_style lj/cut/coul/long/opt command +

    +

    pair_style lj/cut/coul/long/omp command +

    +

    pair_style lj/cut/coul/msm command +

    +

    pair_style lj/cut/coul/msm/gpu command +

    +

    pair_style lj/cut/coul/msm/omp command +

    +

    pair_style lj/cut/tip4p/cut command +

    +

    pair_style lj/cut/tip4p/cut/omp command +

    +

    pair_style lj/cut/tip4p/long command +

    +

    pair_style lj/cut/tip4p/long/omp command +

    +

    pair_style lj/cut/tip4p/long/opt command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/dsf or lj/cut/coul/long or lj/cut/coul/msm or lj/cut/tip4p/long +
    • args = list of arguments for a particular style +
    +
      lj/cut args = cutoff
         cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/cut/coul/cut args = cutoff (cutoff2)
    +  lj/cut/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/debye args = kappa cutoff (cutoff2)
    +  lj/cut/coul/debye args = kappa cutoff (cutoff2)
         kappa = inverse of the Debye length (inverse distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/dsf args = alpha cutoff (cutoff2)
    +  lj/cut/coul/dsf args = alpha cutoff (cutoff2)
         alpha = damping parameter (inverse distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (distance units)
    -  lj/cut/coul/long args = cutoff (cutoff2)
    +  lj/cut/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/msm args = cutoff (cutoff2)
    +  lj/cut/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
    +  lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
    +  lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/cut 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style lj/cut 2.5
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 1.1 2.8
    -
    -
    -
    pair_style lj/cut/coul/cut 10.0
    +pair_coeff 1 1 1 1.1 2.8 
    +
    +
    pair_style lj/cut/coul/cut 10.0
     pair_style lj/cut/coul/cut 10.0 8.0
     pair_coeff * * 100.0 3.0
     pair_coeff 1 1 100.0 3.5 9.0
    -pair_coeff 1 1 100.0 3.5 9.0 9.0
    -
    -
    -
    pair_style lj/cut/coul/debye 1.5 3.0
    +pair_coeff 1 1 100.0 3.5 9.0 9.0 
    +
    +
    pair_style lj/cut/coul/debye 1.5 3.0
     pair_style lj/cut/coul/debye 1.5 2.5 5.0
     pair_coeff * * 1.0 1.0
     pair_coeff 1 1 1.0 1.5 2.5
    -pair_coeff 1 1 1.0 1.5 2.5 5.0
    -
    -
    -
    pair_style lj/cut/coul/dsf 0.05 2.5 10.0
    +pair_coeff 1 1 1.0 1.5 2.5 5.0 
    +
    +
    pair_style lj/cut/coul/dsf 0.05 2.5 10.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.0 2.5
    -
    -
    -
    pair_style lj/cut/coul/long 10.0
    +pair_coeff 1 1 1.0 1.0 2.5 
    +
    +
    pair_style lj/cut/coul/long 10.0
     pair_style lj/cut/coul/long 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    pair_style lj/cut/coul/msm 10.0
    +pair_coeff 1 1 100.0 3.5 9.0 
    +
    +
    pair_style lj/cut/coul/msm 10.0
     pair_style lj/cut/coul/msm 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 100.0 3.5 9.0 
    +
    +
    pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
     pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 100.0 3.5 9.0 
    +
    +
    pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
     pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/cut styles compute the standard 12/6 Lennard-Jones potential, -given by

    -_images/pair_lj.jpg -

    Rc is the cutoff.

    -

    Style lj/cut/coul/cut adds a Coulombic pairwise interaction given by

    -_images/pair_coulomb.jpg -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff 1 1 100.0 3.5 9.0 + +

    Description: +

    +

    The lj/cut styles compute the standard 12/6 Lennard-Jones potential, +given by +

    +
    +
    +

    Rc is the cutoff. +

    +

    Style lj/cut/coul/cut adds a Coulombic pairwise interaction given by +

    +
    +
    +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. If one cutoff is +by the dielectric command. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the LJ and Coulombic terms respectively.

    -

    Style lj/cut/coul/debye adds an additional exp() damping factor -to the Coulombic term, given by

    -_images/pair_debye.jpg -

    where kappa is the inverse of the Debye length. This potential is -another way to mimic the screening effect of a polar solvent.

    -

    Style lj/cut/coul/dsf computes the Coulombic term via the damped -shifted force model described in Fennell, given by:

    -_images/pair_coul_dsf.jpg -

    where alpha is the damping parameter and erfc() is the complementary +cutoffs for the LJ and Coulombic terms respectively. +

    +

    Style lj/cut/coul/debye adds an additional exp() damping factor +to the Coulombic term, given by +

    +
    +
    +

    where kappa is the inverse of the Debye length. This potential is +another way to mimic the screening effect of a polar solvent. +

    +

    Style lj/cut/coul/dsf computes the Coulombic term via the damped +shifted force model described in Fennell, given by: +

    +
    +
    +

    where alpha is the damping parameter and erfc() is the complementary error-function. This potential is essentially a short-range, -spherically-truncated, charge-neutralized, shifted, pairwise 1/r +spherically-truncated, charge-neutralized, shifted, pairwise 1/r summation. The potential is based on Wolf summation, proposed as an alternative to Ewald summation for condensed phase systems where charge screening causes electrostatic interactions to become @@ -351,191 +201,157 @@ effectively short-ranged. In order for the electrostatic sum to be absolutely convergent, charge neutralization within the cutoff radius is enforced by shifting the potential through placement of image charges on the cutoff sphere. Convergence can often be improved by -setting alpha to a small non-zero value.

    -

    Styles lj/cut/coul/long and lj/cut/coul/msm compute the same -Coulombic interactions as style lj/cut/coul/cut except that an +setting alpha to a small non-zero value. +

    +

    Styles lj/cut/coul/long and lj/cut/coul/msm compute the same +Coulombic interactions as style lj/cut/coul/cut except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the kspace_style -command and its ewald or pppm option. The Coulombic cutoff +be used in conjunction with the kspace_style +command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are -computed in reciprocal space.

    -

    Styles lj/cut/tip4p/cut and lj/cut/tip4p/long implement the TIP4P -water model of (Jorgensen), which introduces a massless +computed in reciprocal space. +

    +

    Styles lj/cut/tip4p/cut and lj/cut/tip4p/long implement the TIP4P +water model of (Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair_style arguments. Style lj/cut/tip4p/cut uses a cutoff for -Coulomb interactions; style lj/cut/tip4p/long is for use with a -long-range Coulombic solver (Ewald or PPPM).

    -
    -

    Warning

    -

    For each TIP4P water molecule in your system, the atom +pair_style arguments. Style lj/cut/tip4p/cut uses a cutoff for +Coulomb interactions; style lj/cut/tip4p/long is for use with a +long-range Coulombic solver (Ewald or PPPM). +

    +

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to “find” the 2 H atoms associated +first. This is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    -
    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502. +

    +

    See the howto section for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model.

    -

    For all of the lj/cut pair styles, the following coefficients must +test the trade-off for your model. +

    +

    For all of the lj/cut pair styles, the following coefficients must be defined for each pair of atoms types via the -pair_coeff command as in the examples above, or in -the data file or restart files read by the read_data -or read_restart commands, or by mixing as -described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +pair_coeff command as in the examples above, or in +the data file or restart files read by the read_data +or read_restart commands, or by mixing as +described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma.

    -

    The latter 2 coefficients are optional. If not specified, the global +sigma. +

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style lj/cut, since it -has no Coulombic terms.

    -

    For lj/cut/coul/long and lj/cut/coul/msm and lj/cut/tip4p/cut -and lj/cut/tip4p/long only the LJ cutoff can be specified since a +type pair. You cannot specify 2 cutoffs for style lj/cut, since it +has no Coulombic terms. +

    +

    For lj/cut/coul/long and lj/cut/coul/msm and lj/cut/tip4p/cut +and lj/cut/tip4p/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    All of the lj/cut pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction.

    -

    The lj/cut/coul/long and lj/cut/tip4p/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction.

    -

    All of the lj/cut pair styles support the -pair_modify tail option for adding a long-range +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    All of the lj/cut pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction. +

    +

    The lj/cut/coul/long and lj/cut/tip4p/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction. +

    +

    All of the lj/cut pair styles support the +pair_modify tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones -portion of the pair interaction.

    -

    All of the lj/cut pair styles write their information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    The lj/cut and lj/cut/coul/long pair styles support the use of the -inner, middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be +portion of the pair interaction. +

    +

    All of the lj/cut pair styles write their information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    The lj/cut and lj/cut/coul/long pair styles support the use of the +inner, middle, and outer keywords of the run_style +respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the pair keyword of run_style respa. -See the run_style command for details.

    -
    -
    -
    -

    Restrictions¶

    -

    The lj/cut/coul/long and lj/cut/tip4p/long styles are part of the -KSPACE package. The lj/cut/tip4p/cut style is part of the MOLECULE +The other styles only support the pair keyword of run_style respa. +See the run_style command for details. +

    +
    + +

    Restrictions: +

    +

    The lj/cut/coul/long and lj/cut/tip4p/long styles are part of the +KSPACE package. The lj/cut/tip4p/cut style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those -packages. See the Making LAMMPS section +packages. See the Making LAMMPS section for more info. Note that the KSPACE and MOLECULE packages are -installed by default.

    -
    - -
    +installed by default. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Fennell) C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, +234104 (2006). +

    + diff --git a/doc/pair_lj96.html b/doc/pair_lj96.html index b4593938b6..768c8fc3fd 100644 --- a/doc/pair_lj96.html +++ b/doc/pair_lj96.html @@ -1,285 +1,116 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj96/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj96/cut command¶

    -
    -
    -

    pair_style lj96/cut/cuda command¶

    -
    -
    -

    pair_style lj96/cut/gpu command¶

    -
    -
    -

    pair_style lj96/cut/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj96/cut cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for lj96/cut interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj96/cut 2.5
    +
    +
    +
    + +

    pair_style lj96/cut command +

    +

    pair_style lj96/cut/cuda command +

    +

    pair_style lj96/cut/gpu command +

    +

    pair_style lj96/cut/omp command +

    +

    Syntax: +

    +
    pair_style lj96/cut cutoff 
    +
    +
    • cutoff = global cutoff for lj96/cut interactions (distance units) +
    +

    Examples: +

    +
    pair_style lj96/cut 2.5
     pair_coeff * * 1.0 1.0 4.0
    -pair_coeff 1 1 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    The lj96/cut style compute a 9/6 Lennard-Jones potential, instead -of the standard 12/6 potential, given by

    -_images/pair_lj96.jpg -

    Rc is the cutoff.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 1.0 1.0 + +

    Description: +

    +

    The lj96/cut style compute a 9/6 Lennard-Jones potential, instead +of the standard 12/6 potential, given by +

    +
    +
    +

    Rc is the cutoff. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global LJ -cutoff specified in the pair_style command is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global LJ +cutoff specified in the pair_style command is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style supports the pair_modify tail +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +pressure of the pair interaction. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +the rRESPA hierarchy. See the run_style command for +details. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_lj_cubic.html b/doc/pair_lj_cubic.html index 783d1ea9a8..386a41988e 100644 --- a/doc/pair_lj_cubic.html +++ b/doc/pair_lj_cubic.html @@ -1,296 +1,137 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/cubic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/cubic command¶

    -
    -
    -

    pair_style lj/cubic/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj/cubic
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/cubic
    -pair_coeff * * 1.0 0.8908987
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/cubic style computes a truncated LJ interaction potential whose -energy and force are continuous everywhere. -Inside the inflection point the interaction is identical to the -standard 12/6 Lennard-Jones potential. -The LJ function outside the inflection point is replaced + + +


    + +

    pair_style lj/cubic command +

    +

    pair_style lj/cubic/omp command +

    +

    Syntax: +

    +
    pair_style lj/cubic 
    +
    +

    Examples: +

    +
    pair_style lj/cubic
    +pair_coeff * * 1.0 0.8908987 
    +
    +

    Description: +

    +

    The lj/cubic style computes a truncated LJ interaction potential whose +energy and force are continuous everywhere. +Inside the inflection point the interaction is identical to the +standard 12/6 Lennard-Jones potential. +The LJ function outside the inflection point is replaced with a cubic function of distance. The energy, force, and second -derivative are continuous at the inflection point. +derivative are continuous at the inflection point. The cubic coefficient A3 is chosen so -that both energy and force go to zero at the cutoff distance. -Outside the cutoff distance the energy and force are zero.

    -_images/pair_lj_cubic.jpg -

    The location of the inflection point rs is defined -by the LJ diameter, rs/sigma = (26/7)^1/6. The cutoff distance -is defined by rc/rs = 67/48 or rc/sigma = 1.737.... -The analytic expression for the -the cubic coefficient +that both energy and force go to zero at the cutoff distance. +Outside the cutoff distance the energy and force are zero. +

    +
    +
    +

    The location of the inflection point rs is defined +by the LJ diameter, rs/sigma = (26/7)^1/6. The cutoff distance +is defined by rc/rs = 67/48 or rc/sigma = 1.737.... +The analytic expression for the +the cubic coefficient A3*rmin^3/epsilon = 27.93... is given in the paper by -Holian and Ravelo (Holian).

    -

    This potential is commonly used to study the shock mechanics -of FCC solids, as in Ravelo et al. (Ravelo).

    -

    The following coefficients must be defined for each pair of atom -types via the pair_coeff command as in the example +Holian and Ravelo (Holian). +

    +

    This potential is commonly used to study the shock mechanics +of FCC solids, as in Ravelo et al. (Ravelo). +

    +

    The following coefficients must be defined for each pair of atom +types via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum, which is located at rmin = 2^(1/6)*sigma. In the above example, sigma = 0.8908987, -so rmin = 1.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +so rmin = 1. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    The lj/cubic pair style does not support the -pair_modify shift option, +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    The lj/cubic pair style does not support the +pair_modify shift option, since pair interaction is already smoothed to 0.0 at the -cutoff.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    The lj/cubic pair style does not support the -pair_modify tail option for adding long-range tail +cutoff. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    The lj/cubic pair style does not support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff.

    -

    The lj/cubic pair style writes its information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    The lj/cubic pair style can only be used via the pair -keyword of the run_style respa command. It does not -support the inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +a potential that goes to 0.0 at the cutoff. +

    +

    The lj/cubic pair style writes its information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    The lj/cubic pair style can only be used via the pair +keyword of the run_style respa command. It does not +support the inner, middle, outer keywords. +

    +
    + +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + + + +(Holian) Holian and Ravelo, Phys Rev B, 51, 11275 (1995). -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). +

    + diff --git a/doc/pair_lj_expand.html b/doc/pair_lj_expand.html index 687f57ad10..4dc314a37e 100644 --- a/doc/pair_lj_expand.html +++ b/doc/pair_lj_expand.html @@ -1,289 +1,120 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/expand command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/expand command¶

    -
    -
    -

    pair_style lj/expand/cuda command¶

    -
    -
    -

    pair_style lj/expand/gpu command¶

    -
    -
    -

    pair_style lj/expand/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj/expand cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for lj/expand interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj/expand 2.5
    +
    +
    +
    + +

    pair_style lj/expand command +

    +

    pair_style lj/expand/cuda command +

    +

    pair_style lj/expand/gpu command +

    +

    pair_style lj/expand/omp command +

    +

    Syntax: +

    +
    pair_style lj/expand cutoff 
    +
    +
    • cutoff = global cutoff for lj/expand interactions (distance units) +
    +

    Examples: +

    +
    pair_style lj/expand 2.5
     pair_coeff * * 1.0 1.0 0.5
    -pair_coeff 1 1 1.0 1.0 -0.2 2.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/expand computes a LJ interaction with a distance shifted by +pair_coeff 1 1 1.0 1.0 -0.2 2.0 + +

    Description: +

    +

    Style lj/expand computes a LJ interaction with a distance shifted by delta which can be useful when particles are of different sizes, since it is different that using different sigma values in a standard LJ -formula:

    -_images/pair_lj_expand.jpg -

    Rc is the cutoff which does not include the delta distance. I.e. the -actual force cutoff is the sum of cutoff + delta.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +formula: +

    +
    +
    +

    Rc is the cutoff which does not include the delta distance. I.e. the +actual force cutoff is the sum of cutoff + delta. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • delta (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The delta values can be positive or negative. The last coefficient is -optional. If not specified, the global LJ cutoff is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • delta (distance units) +
    • cutoff (distance units) +
    +

    The delta values can be positive or negative. The last coefficient is +optional. If not specified, the global LJ cutoff is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, and shift +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, and shift coefficients and cutoff distance for this pair style can be mixed. -Shift is always mixed via an arithmetic rule. The other +Shift is always mixed via an arithmetic rule. The other coefficients are mixed according to the pair_modify mix value. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style supports the pair_modify tail +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +pressure of the pair interaction. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_lj_long.html b/doc/pair_lj_long.html index 45faf1283b..5b7455771b 100644 --- a/doc/pair_lj_long.html +++ b/doc/pair_lj_long.html @@ -1,391 +1,235 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/long/coul/long command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/long/coul/long command¶

    -
    -
    -

    pair_style lj/long/coul/long/omp command¶

    -
    -
    -

    pair_style lj/long/coul/long/opt command¶

    -
    -
    -

    pair_style lj/long/tip4p/long command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/long/coul/long or lj/long/tip4p/long
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/long/coul/long args = flag_lj flag_coul cutoff (cutoff2)
    -    flag_lj = long or cut or off
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff on dispersion 1/r^6 term
    -      off = omit disperion 1/r^6 term entirely
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    +
    +
    +
    + +

    pair_style lj/long/coul/long command +

    +

    pair_style lj/long/coul/long/omp command +

    +

    pair_style lj/long/coul/long/opt command +

    +

    pair_style lj/long/tip4p/long command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/long/coul/long or lj/long/tip4p/long +
    • args = list of arguments for a particular style +
    +
      lj/long/coul/long args = flag_lj flag_coul cutoff (cutoff2)
    +    flag_lj = long or cut or off
    +      long = use Kspace long-range summation for dispersion 1/r^6 term
    +      cut = use a cutoff on dispersion 1/r^6 term
    +      off = omit disperion 1/r^6 term entirely
    +    flag_coul = long or off
    +      long = use Kspace long-range summation for Coulombic 1/r term
    +      off = omit Coulombic term
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    -    flag_lj = long or cut
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    +  lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    +    flag_lj = long or cut
    +      long = use Kspace long-range summation for dispersion 1/r^6 term
    +      cut = use a cutoff
    +    flag_coul = long or off
    +      long = use Kspace long-range summation for Coulombic 1/r term
    +      off = omit Coulombic term
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/long/coul/long cut off 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style lj/long/coul/long cut off 2.5
     pair_style lj/long/coul/long cut long 2.5 4.0
     pair_style lj/long/coul/long long long 2.5 4.0
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 3 4
    -
    -
    -
    pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 1 3 4 
    +
    +
    pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0
     pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/long/coul/long computes the standard 12/6 Lennard-Jones and -Coulombic potentials, given by

    -_images/pair_lj.jpg -_images/pair_coulomb.jpg -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff 1 1 100.0 3.5 9.0 + +

    Description: +

    +

    Style lj/long/coul/long computes the standard 12/6 Lennard-Jones and +Coulombic potentials, given by +

    +
    +
    +
    +
    +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, epsilon is the dielectric constant which can be set by -the dielectric command, and Rc is the cutoff. If +the dielectric command, and Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are -used as cutoffs for the LJ and Coulombic terms respectively.

    -

    The purpose of this pair style is to capture long-range interactions +used as cutoffs for the LJ and Coulombic terms respectively. +

    +

    The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Lennard-Jones and Coulombic 1/r -interactions. This is done by use of the flag_lj and flag_coul -settings. The In ‘t Veld paper has more details on when it is +interactions. This is done by use of the flag_lj and flag_coul +settings. The In 't Veld paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this -potential.

    -

    Style lj/long/tip4p/long implements the TIP4P water model of -(Jorgensen), which introduces a massless site located a +potential. +

    +

    Style lj/long/tip4p/long implements the TIP4P water model of +(Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the -massless charge site are specified as pair_style arguments.

    -
    -

    Warning

    -

    For each TIP4P water molecule in your system, the atom +massless charge site are specified as pair_style arguments. +

    +

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to “find” the 2 H atoms associated +first. This is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    -
    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502. +

    +

    See the howto section for more information on how to use the TIP4P pair style. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is typically best in an efficiency sense to use a -LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the +LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range -calculation, so you can test the trade-off for your model.

    -

    If flag_lj is set to long, no cutoff is used on the LJ 1/r^6 +calculation, so you can test the trade-off for your model. +

    +

    If flag_lj is set to long, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range portion can be calculated by using -the kspace_style ewald/disp or pppm/disp commands. +the kspace_style ewald/disp or pppm/disp commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If -flag_lj is set to cut, the LJ interactions are simply cutoff, as -with pair_style lj/cut.

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic +flag_lj is set to cut, the LJ interactions are simply cutoff, as +with pair_style lj/cut. +

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several kspace_style command options such as -pppm or ewald. Note that if flag_lj is also set to long, then -the ewald/disp or pppm/disp Kspace style needs to be used to +several kspace_style command options such as +pppm or ewald. Note that if flag_lj is also set to long, then +the ewald/disp or pppm/disp Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic -interactions. If flag_coul is set to off, Coulombic interactions -are not computed.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +interactions. If flag_coul is set to off, Coulombic interactions +are not computed. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma.

    -

    The latter 2 coefficients are optional. If not specified, the global +sigma. +

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair.

    -

    Note that if you are using flag_lj set to long, you +type pair. +

    +

    Note that if you are using flag_lj set to long, you cannot specify a LJ cutoff for an atom type pair, since only one -global LJ cutoff is allowed. Similarly, if you are using flag_coul -set to long, you cannot specify a Coulombic cutoff for an atom type -pair, since only one global Coulombic cutoff is allowed.

    -

    For lj/long/tip4p/long only the LJ cutoff can be specified +global LJ cutoff is allowed. Similarly, if you are using flag_coul +set to long, you cannot specify a Coulombic cutoff for an atom type +pair, since only one global Coulombic cutoff is allowed. +

    +

    For lj/long/tip4p/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +specified in the pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/long pair styles can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    These pair styles support the pair_modify shift +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    These pair styles support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction, assuming flag_lj is cut.

    -

    These pair styles support the pair_modify table and +interaction, assuming flag_lj is cut. +

    +

    These pair styles support the pair_modify table and table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions.

    -

    Thes pair styles do not support the pair_modify +the long-range Coulombic and dispersion interactions. +

    +

    Thes pair styles do not support the pair_modify tail option for adding a long-range tail correction to the -Lennard-Jones portion of the energy and pressure.

    -

    These pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    The pair lj/long/coul/long styles support the use of the inner, -middle, and outer keywords of the run_style respa +Lennard-Jones portion of the energy and pressure. +

    +

    These pair styles write their information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    The pair lj/long/coul/long styles support the use of the inner, +middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the -run_style command for details.

    -
    -
    -
    -

    Restrictions¶

    -

    These styles are part of the KSPACE package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that -the KSPACE package is installed by default.

    -
    - -
    +run_style command for details. +

    +
    +

    Restrictions: +

    +

    These styles are part of the KSPACE package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. Note that +the KSPACE package is installed by default. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (In 't Veld) In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007). +

    + diff --git a/doc/pair_lj_sf.html b/doc/pair_lj_sf.html index 8fdc8328a5..582c4604e8 100644 --- a/doc/pair_lj_sf.html +++ b/doc/pair_lj_sf.html @@ -1,281 +1,121 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/sf command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/sf command¶

    -
    -
    -

    pair_style lj/sf/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj/sf cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for Lennard-Jones interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj/sf 2.5
    +
    +
    +
    + +

    pair_style lj/sf command +

    +

    pair_style lj/sf/omp command +

    +

    Syntax: +

    +
    pair_style lj/sf cutoff 
    +
    +
    • cutoff = global cutoff for Lennard-Jones interactions (distance units) +
    +

    Examples: +

    +
    pair_style lj/sf 2.5
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.0 3.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/sf computes a truncated and force-shifted LJ interaction +pair_coeff 1 1 1.0 1.0 3.0 + +

    Description: +

    +

    Style lj/sf computes a truncated and force-shifted LJ interaction (Shifted Force Lennard-Jones), so that both the potential and the -force go continuously to zero at the cutoff (Toxvaerd):

    -_images/pair_lj_sf.jpg -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +force go continuously to zero at the cutoff (Toxvaerd): +

    +
    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair_style command is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global +LJ cutoff specified in the pair_style command is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    The pair_modify shift option is not relevant for -this pair style, since the pair interaction goes to 0.0 at the cutoff.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    The pair_modify shift option is not relevant for +this pair style, since the pair interaction goes to 0.0 at the cutoff. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +at the cutoff. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: +

    +

    This pair style is part of the USER-MISC package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Toxvaerd) Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011). +

    + diff --git a/doc/pair_lj_smooth.html b/doc/pair_lj_smooth.html index 0e4d18b6e3..f5d381fe3f 100644 --- a/doc/pair_lj_smooth.html +++ b/doc/pair_lj_smooth.html @@ -1,298 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/smooth command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/smooth command¶

    -
    -
    -

    pair_style lj/smooth/cuda command¶

    -
    -
    -

    pair_style lj/smooth/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj/smooth Rin Rc
    -
    -
    -
      -
    • Rin = inner cutoff beyond which force smoothing will be applied (distance units)
    • -
    • Rc = outer cutoff for lj/smooth interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj/smooth 8.0 10.0
    +
    +
    +
    + +

    pair_style lj/smooth command +

    +

    pair_style lj/smooth/cuda command +

    +

    pair_style lj/smooth/omp command +

    +

    Syntax: +

    +
    pair_style lj/smooth Rin Rc 
    +
    +
    • Rin = inner cutoff beyond which force smoothing will be applied (distance units) +
    • Rc = outer cutoff for lj/smooth interactions (distance units) +
    +

    Examples: +

    +
    pair_style lj/smooth 8.0 10.0
     pair_coeff * * 10.0 1.5
    -pair_coeff 1 1 20.0 1.3 7.0 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/smooth computes a LJ interaction with a force smoothing -applied between the inner and outer cutoff.

    -_images/pair_lj_smooth.jpg -

    The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to +pair_coeff 1 1 20.0 1.3 7.0 9.0 + +

    Description: +

    +

    Style lj/smooth computes a LJ interaction with a force smoothing +applied between the inner and outer cutoff. +

    +
    +
    +

    The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to cause the force to vary smoothly from the inner cutoff Rin to the -outer cutoff Rc.

    -

    At the inner cutoff the force and its 1st derivative +outer cutoff Rc. +

    +

    At the inner cutoff the force and its 1st derivative will match the unsmoothed LJ formula. At the outer cutoff the force -and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0.

    -
    -

    Warning

    -

    this force smoothing causes the energy to be +and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0. +

    +

    IMPORTANT NOTE: this force smoothing causes the energy to be discontinuous both in its values and 1st derivative. This can lead to poor energy conservation and may require the use of a thermostat. Plot the energy and force resulting from this formula via the -pair_write command to see the effect.

    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_write command to see the effect. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • innner (distance units)
    • -
    • outer (distance units)
    • -
    -

    The last 2 coefficients are optional inner and outer cutoffs. If not -specified, the global values for Rin and Rc are used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • innner (distance units) +
    • outer (distance units) +
    +

    The last 2 coefficients are optional inner and outer cutoffs. If not +specified, the global values for Rin and Rc are used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, Rin +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, Rin coefficients and the cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The other coefficients are mixed according to the pair_modify mix option. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +at the cutoff. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff, pair +lj/smooth/linear +

    +

    Default: none +

    + diff --git a/doc/pair_lj_smooth_linear.html b/doc/pair_lj_smooth_linear.html index 7ce8a5e9db..43f35bbba1 100644 --- a/doc/pair_lj_smooth_linear.html +++ b/doc/pair_lj_smooth_linear.html @@ -1,278 +1,111 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/smooth/linear command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/smooth/linear command¶

    -
    -
    -

    pair_style lj/smooth/linear/omp command¶

    -
    -

    Syntax¶

    -
    pair_style lj/smooth/linear Rc
    -
    -
    -
      -
    • Rc = cutoff for lj/smooth/linear interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj/smooth/linear 5.456108274435118
    +
    +
    +
    + +

    pair_style lj/smooth/linear command +

    +

    pair_style lj/smooth/linear/omp command +

    +

    Syntax: +

    +
    pair_style lj/smooth/linear Rc 
    +
    +
    • Rc = cutoff for lj/smooth/linear interactions (distance units) +
    +

    Examples: +

    +
    pair_style lj/smooth/linear 5.456108274435118
     pair_coeff * * 0.7242785984051078 2.598146797350056
    -pair_coeff 1 1 20.0 1.3 9.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style lj/smooth/linear computes a LJ interaction that combines the +pair_coeff 1 1 20.0 1.3 9.0 + +

    Description: +

    +

    Style lj/smooth/linear computes a LJ interaction that combines the standard 12/6 Lennard-Jones function and subtracts a linear term that -includes the cutoff distance Rc, as in this formula:

    -_images/pair_lj_smooth_linear.jpg -

    At the cutoff Rc, the energy and force (its 1st derivative) will be 0.0.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +includes the cutoff distance Rc, as in this formula: +

    +
    +
    +

    At the cutoff Rc, the energy and force (its 1st derivative) will be 0.0. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global value -for Rc is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global value +for Rc is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed. The default mix value is geometric. -See the “pair_modify” command for details.

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant for -this pair style.

    -

    This pair style does not support the pair_modify +See the "pair_modify" command for details. +

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant for +this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +at the cutoff. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff, pair lj/smooth +

    +

    Default: none +

    + diff --git a/doc/pair_lj_soft.html b/doc/pair_lj_soft.html index 168b97ea82..9b49d3a3ab 100644 --- a/doc/pair_lj_soft.html +++ b/doc/pair_lj_soft.html @@ -1,471 +1,299 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/cut/soft command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/cut/soft command¶

    -
    -
    -

    pair_style lj/cut/soft/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/cut/soft command¶

    -
    -
    -

    pair_style lj/cut/coul/cut/soft/omp command¶

    -
    -
    -

    pair_style lj/cut/coul/long/soft command¶

    -
    -
    -

    pair_style lj/cut/coul/long/soft/omp command¶

    -
    -
    -

    pair_style lj/cut/tip4p/long/soft command¶

    -
    -
    -

    pair_style lj/cut/tip4p/long/soft/omp command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/soft command¶

    -
    -
    -

    pair_style lj/charmm/coul/long/soft/omp command¶

    -
    -
    -

    pair_style coul/cut/soft command¶

    -
    -
    -

    pair_style coul/cut/soft/omp command¶

    -
    -
    -

    pair_style coul/long/soft command¶

    -
    -
    -

    pair_style coul/long/soft/omp command¶

    -
    -
    -

    pair_style tip4p/long/soft command¶

    -
    -
    -

    pair_style tip4p/long/soft/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/cut/soft or lj/cut/coul/cut/soft or lj/cut/coul/long/soft or lj/cut/tip4p/long/soft or lj/charmm/coul/long/soft or coul/cut/soft or coul/long/soft or tip4p/long/soft
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/cut/soft args = n alpha_lj cutoff
    +
    +
    +
    + +

    pair_style lj/cut/soft command +

    +

    pair_style lj/cut/soft/omp command +

    +

    pair_style lj/cut/coul/cut/soft command +

    +

    pair_style lj/cut/coul/cut/soft/omp command +

    +

    pair_style lj/cut/coul/long/soft command +

    +

    pair_style lj/cut/coul/long/soft/omp command +

    +

    pair_style lj/cut/tip4p/long/soft command +

    +

    pair_style lj/cut/tip4p/long/soft/omp command +

    +

    pair_style lj/charmm/coul/long/soft command +

    +

    pair_style lj/charmm/coul/long/soft/omp command +

    +

    pair_style coul/cut/soft command +

    +

    pair_style coul/cut/soft/omp command +

    +

    pair_style coul/long/soft command +

    +

    pair_style coul/long/soft/omp command +

    +

    pair_style tip4p/long/soft command +

    +

    pair_style tip4p/long/soft/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/cut/soft or lj/cut/coul/cut/soft or lj/cut/coul/long/soft or lj/cut/tip4p/long/soft or lj/charmm/coul/long/soft or coul/cut/soft or coul/long/soft or tip4p/long/soft +
    • args = list of arguments for a particular style +
    +
      lj/cut/soft args = n alpha_lj cutoff
         n, alpha_LJ = parameters of soft-core potential
         cutoff = global cutoff for Lennard-Jones interactions (distance units)
    -  lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
    +  lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
         n, alpha_LJ, alpha_C = parameters of soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
    +  lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
    +  lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
    +  lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
         cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
    -  coul/cut/soft args = n alpha_C cutoff
    +  coul/cut/soft args = n alpha_C cutoff
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -  coul/long/soft args = n alpha_C cutoff
    +  coul/long/soft args = n alpha_C cutoff
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -  tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
    +  tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/cut/soft 2.0 0.5 9.5
    +
    +
    +

    Examples: +

    +
    pair_style lj/cut/soft 2.0 0.5 9.5
     pair_coeff * * 0.28 3.1 1.0
    -pair_coeff 1 1 0.28 3.1 1.0 9.5
    -
    -
    -
    pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 1.0 9.5 
    +
    +
    pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5
     pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 9.5
     pair_coeff * * 0.28 3.1 1.0
     pair_coeff 1 1 0.28 3.1 0.5 10.0
    -pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5
    -
    -
    -
    pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5 
    +
    +
    pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5
     pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 9.5
     pair_coeff * * 0.28 3.1 1.0
     pair_coeff 1 1 0.28 3.1 0.0 10.0
    -pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5
    -
    -
    -
    pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
    +pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 
    +
    +
    pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
     pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 9.5
     pair_coeff * * 0.155 3.1536 1.0
    -pair_coeff 1 1 0.155 3.1536 1.0 9.5
    -
    -
    -
    pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0
    +pair_coeff 1 1 0.155 3.1536 1.0 9.5 
    +
    +
    pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0
     pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0
     pair_coeff * * 0.28 3.1 1.0
    -pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1
    -
    -
    -
    pair_style coul/long/soft 1.0 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 
    +
    +
    pair_style coul/long/soft 1.0 10.0 9.5
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 9.5
    -
    -
    -
    pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
    +pair_coeff 1 1 1.0 9.5 
    +
    +
    pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 9.5
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/cut/soft style and substyles compute the 12/6 Lennard-Jones +pair_coeff 1 1 1.0 9.5 + +

    Description: +

    +

    The lj/cut/soft style and substyles compute the 12/6 Lennard-Jones and Coulomb potential modified by a soft core, in order to avoid singularities during free energy calculations when sites are created -or anihilated (Beutler),

    -_images/pair_lj_soft.jpg -

    Coulomb interactions are also damped with a soft core at short -distance,

    -_images/pair_coul_soft.jpg -

    In the Coulomb part C is an energy-conversion constant, q_i and q_j +or anihilated (Beutler), +

    +
    +
    +

    Coulomb interactions are also damped with a soft core at short +distance, +

    +
    +
    +

    In the Coulomb part C is an energy-conversion constant, q_i and q_j are the charges on the 2 atoms, and epsilon is the dielectric constant -which can be set by the dielectric command.

    -

    The coefficient lambda is an activation parameter. When lambda = 1 the +which can be set by the dielectric command. +

    +

    The coefficient lambda is an activation parameter. When lambda = 1 the pair potentiel is identical to a Lennard-Jones term or a Coulomb term or a combination of both. When lambda = 0 the interactions are deactivated. The transition between these two extrema is smoothed by a soft repulsive core in order to avoid singularities in potential energy and forces when sites are created or anihilated and can overlap -(Beutler).

    -

    The paratemers n, alpha_LJ and alpha_C are set in the -pair_style command, before the cutoffs. Usual +(Beutler). +

    +

    The paratemers n, alpha_LJ and alpha_C are set in the +pair_style command, before the cutoffs. Usual choices for the exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the LJ and Coulomb terms are shown -below, for lambda ranging from 1 to 0 every 0.1.

    -_images/lj_soft.jpg -_images/coul_soft.jpg -

    For the lj/cut/coul/cut/soft or lj/cut/coul/long/soft pair styles, +below, for lambda ranging from 1 to 0 every 0.1. +

    +
    +
    +

    For the lj/cut/coul/cut/soft or lj/cut/coul/long/soft pair styles, the following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • lambda (activation parameter between 0 and 1)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The latter two coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • lambda (activation parameter between 0 and 1) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    The latter two coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style lj/cut/soft, -since it has no Coulombic terms. For the coul/cut/soft and -coul/long/soft only lambda and the optional cutoff2 are to be -specified.

    -

    Style lj/cut/tip4p/long/soft implements a soft-core version of the +type pair. You cannot specify 2 cutoffs for style lj/cut/soft, +since it has no Coulombic terms. For the coul/cut/soft and +coul/long/soft only lambda and the optional cutoff2 are to be +specified. +

    +

    Style lj/cut/tip4p/long/soft implements a soft-core version of the TIP4P water model. The usage of this pair style is documented in the -pair_lj styles. The soft-core version introduces the +pair_lj styles. The soft-core version introduces the lambda parameter to the list of arguments, after epsilon and sigma in -the pair_coeff command. The paratemers n, alpha_LJ -and alpha_C are set in the pair_style command, -before the cutoffs.

    -

    Style lj/charmm/coul/long/soft implements a soft-core version of the +the pair_coeff command. The paratemers n, alpha_LJ +and alpha_C are set in the pair_style command, +before the cutoffs. +

    +

    Style lj/charmm/coul/long/soft implements a soft-core version of the CHARMM version of LJ interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. The usage of this pair style is documented -in the pair_charmm styles. The soft-core version +in the pair_charmm styles. The soft-core version introduces the lambda parameter to the list of arguments, after -epsilon and sigma in the pair_coeff command (and +epsilon and sigma in the pair_coeff command (and before the optional eps14 and sigma14). The paratemers n, -alpha_LJ and alpha_C are set in the pair_style -command, before the cutoffs.

    -

    The coul/cut/soft, coul/long/soft and tip4p/long/soft substyles +alpha_LJ and alpha_C are set in the pair_style +command, before the cutoffs. +

    +

    The coul/cut/soft, coul/long/soft and tip4p/long/soft substyles are designed to be combined with other pair potentials via the -pair_style hybrid/overlay command. This is because +pair_style hybrid/overlay command. This is because they have no repulsive core. Hence, if used by themselves, there will be no repulsion to keep two oppositely charged particles from overlapping each other. In this case, if lambda = 1, a singularity may occur. These substyles are suitable to represent charges embedded in the Lennard-Jones radius of another site (for example hydrogen atoms -in several water models).

    -

    IMPORTANT NOTES: When using the core-softed Coulomb potentials with -long-range solvers (coul/long/soft, lj/cut/coul/long/soft, etc.) +in several water models). +

    +

    IMPORTANT NOTES: When using the core-softed Coulomb potentials with +long-range solvers (coul/long/soft, lj/cut/coul/long/soft, etc.) in a free energy calculation in which sites holding electrostatic charges are being created or anihilated (using -fix_adapt/fep and compute_fep) +fix_adapt/fep and compute_fep) it is important to adapt both the lambda activation parameter (from 0 to 1, or the reverse) and the value of the charge (from 0 to its final value, or the reverse). This ensures that long-range electrostatic terms (kspace) are correct. It is not necessary to use core-softed Coulomb potentials if the van der Waals site is present during the free-energy route, thus avoiding overlap of the charges. Examples are -provided in the LAMMPS source directory tree, under examples/USER/fep.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +provided in the LAMMPS source directory tree, under examples/USER/fep. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, tail correction, restart info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, tail correction, restart info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. -The default mix value is geometric. See the “pair_modify” command -for details.

    -

    These pair styles support the pair_modify shift +The default mix value is geometric. See the "pair_modify" command +for details. +

    +

    These pair styles support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction.

    -

    These pair styles support the pair_modify tail +interaction. +

    +

    These pair styles support the pair_modify tail option for adding a long-range tail correction to the energy and -pressure for the Lennard-Jones portion of the pair interaction.

    -

    These pair styles write information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -
    -
    -
    -

    Restrictions¶

    -

    To avoid division by zero do not set sigma = 0; use the lambda +pressure for the Lennard-Jones portion of the pair interaction. +

    +

    These pair styles write information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +
    + +

    Restrictions: +

    +

    To avoid division by zero do not set sigma = 0; use the lambda parameter instead to activate/deactivate interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not -interact though the Lennard-Jones term the coul/long/soft or +interact though the Lennard-Jones term the coul/long/soft or similar substyle can be used via the -pair_style hybrid/overlay command.

    -
    -

    All of the plain soft pair styles are part of the USER-FEP package. -The long styles also requires the KSPACE package to be installed. +pair_style hybrid/overlay command. +

    +
    + +

    All of the plain soft pair styles are part of the USER-FEP package. +The long styles also requires the KSPACE package to be installed. They are only enabled if LAMMPS was built with those packages. See -the Making LAMMPS section for more info.

    -
    - -
    +the Making LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, fix_adapt, +fix_adapt/fep, compute_fep +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Beutler) Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem +Phys Lett, 222, 529 (1994). +

    + diff --git a/doc/pair_lubricate.html b/doc/pair_lubricate.html index 455126a773..cdef2a104f 100644 --- a/doc/pair_lubricate.html +++ b/doc/pair_lubricate.html @@ -1,379 +1,239 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lubricate command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lubricate command¶

    -
    -
    -

    pair_style lubricate/omp command¶

    -
    -
    -

    pair_style lubricate/poly command¶

    -
    -
    -

    pair_style lubricate/poly/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF
    -
    -
    -
      -
    • style = lubricate or lubricate/poly
    • -
    • mu = dynamic viscosity (dynamic viscosity units)
    • -
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation
    • -
    • flagfld = 0/1 to exclude/include Fast Lubrication Dynamics (FLD) effects
    • -
    • cutinner = inner cutoff distance (distance units)
    • -
    • cutoff = outer cutoff for interactions (distance units)
    • -
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions
    • -
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms
    • -
    -

    Examples: (all assume radius = 1)

    -
    pair_style lubricate 1.5 1 1 2.01 2.5
    +
    +
    +
    + +

    pair_style lubricate command +

    +

    pair_style lubricate/omp command +

    +

    pair_style lubricate/poly command +

    +

    pair_style lubricate/poly/omp command +

    +

    Syntax: +

    +
    pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF 
    +
    +
    • style = lubricate or lubricate/poly +
    • mu = dynamic viscosity (dynamic viscosity units) +
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation +
    • flagfld = 0/1 to exclude/include Fast Lubrication Dynamics (FLD) effects +
    • cutinner = inner cutoff distance (distance units) +
    • cutoff = outer cutoff for interactions (distance units) +
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions +
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms +
    +

    Examples: (all assume radius = 1) +

    +
    pair_style lubricate 1.5 1 1 2.01 2.5
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * *
    -
    -
    -
    pair_style lubricate 1.5 1 1 2.01 2.5
    +pair_coeff * * 
    +
    +
    pair_style lubricate 1.5 1 1 2.01 2.5
     pair_coeff * *
     variable mu equal ramp(1,2)
    -fix 1 all adapt 1 pair lubricate mu * * v_mu
    -
    -
    -
    -
    -

    Description¶

    -

    Styles lubricate and lubricate/poly compute hydrodynamic +fix 1 all adapt 1 pair lubricate mu * * v_mu + +

    Description: +

    +

    Styles lubricate and lubricate/poly compute hydrodynamic interactions between mono-disperse spherical particles in a pairwise fashion. The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in (Ball and Melrose)

    -_images/pair_lubricate.jpg -

    which represents the dissipation W between two nearby particles due to +Ball-Melrose lubrication terms via the formulas in (Ball and +Melrose) +

    +
    +
    +

    which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with -viscosity mu. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity.

    -

    The Asq (squeeze) term is the strongest and is included if flagHI is +viscosity mu. Note that this is dynamic viscosity which has units of +mass/distance/time, not kinematic viscosity. +

    +

    The Asq (squeeze) term is the strongest and is included if flagHI is set to 1 (default). It scales as 1/gap where gap is the separation between the surfaces of the 2 particles. The Ash (shear) and Apu -(pump) terms are only included if flaglog is set to 1. They are the +(pump) terms are only included if flaglog is set to 1. They are the next strongest interactions, and the only other singular interaction, -and scale as log(gap). Note that flaglog = 1 and flagHI = 0 is -invalid, and will result in a warning message, after which flagHI will +and scale as log(gap). Note that flaglog = 1 and flagHI = 0 is +invalid, and will result in a warning message, after which flagHI will be set to 1. The Atw (twist) term is currently not included. It is -typically a very small contribution to the lubrication forces.

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined.

    -

    Cutinner sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. Cutoff +typically a very small contribution to the lubrication forces. +

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined. +

    +

    Cutinner sets the minimum center-to-center separation that will be +used in calculations irrespective of the actual separation. Cutoff is the maximum center-to-center separation at which an interaction is -computed. Using a cutoff less than 3 radii is recommended if -flaglog is set to 1.

    -

    The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in (Kumar), which can be -represented by the following equation

    -_images/fld.jpg -

    where U represents the velocities and angular velocities of the -particles, U^*infty* represents the velocity and the angular velocity -of the undisturbed fluid, and E^*infty* represents the rate of strain -tensor of the undisturbed fluid with viscosity mu. Again, note that +computed. Using a cutoff less than 3 radii is recommended if +flaglog is set to 1. +

    +

    The other component is due to the Fast Lubrication Dynamics (FLD) +approximation, described in (Kumar), which can be +represented by the following equation +

    +
    +
    +

    where U represents the velocities and angular velocities of the +particles, U^infty represents the velocity and the angular velocity +of the undisturbed fluid, and E^infty represents the rate of strain +tensor of the undisturbed fluid with viscosity mu. Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction corrections to R_FU are included -as long as flagVF is set to 1 (default).

    -
    -

    Warning

    -

    When using the FLD terms, these pair styles are +as long as flagVF is set to 1 (default). +

    +

    IMPORTANT NOTE: When using the FLD terms, these pair styles are designed to be used with explicit time integration and a -correspondingly small timestep. Thus either fix nve/sphere or fix nve/asphere should be used for time integration. -To perform implicit FLD, see the pair_style lubricateU command.

    -
    -

    Style lubricate requires monodisperse spherical particles; style -lubricate/poly allows for polydisperse spherical particles.

    -

    The viscosity mu can be varied in a time-dependent manner over the +correspondingly small timestep. Thus either fix +nve/sphere or fix +nve/asphere should be used for time integration. +To perform implicit FLD, see the pair_style +lubricateU command. +

    +

    Style lubricate requires monodisperse spherical particles; style +lubricate/poly allows for polydisperse spherical particles. +

    +

    The viscosity mu can be varied in a time-dependent manner over the course of a simluation, in which case in which case the pair_style -setting for mu will be overridden. See the fix adapt -command for details.

    -

    If the suspension is sheared via the fix deform +setting for mu will be overridden. See the fix adapt +command for details. +

    +

    If the suspension is sheared via the fix deform command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R_FU.

    -

    When computing the volume fraction corrections to R_FU, the presence +corrections to R_FU. +

    +

    When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted -for with the following types of walls: wall/lj93, -wall/lj126, wall/colloid, and -wall/harmonic. For these wall styles, the correct +for with the following types of walls: wall/lj93, +wall/lj126, wall/colloid, and +wall/harmonic. For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the volume fraction. Other wall styles will still work, but they will result in the volume fraction being computed based on the box -boundaries.

    -

    Since lubrication forces are dissipative, it is usually desirable to +boundaries. +

    +

    Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -pair_style brownian command. These pair styles -and the brownian style should use consistent parameters for mu, -flaglog, flagfld, cutinner, cutoff, flagHI and flagVF.

    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_style brownian command. These pair styles +and the brownian style should use consistent parameters for mu, +flaglog, flagfld, cutinner, cutoff, flagHI and flagVF. +

    +
    + +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutinner (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutinner (distance units) +
    • cutoff (distance units) +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +must be specified. +

    +
    + +

    Styles with a cuda, 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 in this section of +hardware, as discussed in this section of the manual. 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 USER-CUDA, GPU, USER-INTEL, +produce the same results, except for round-off and precision issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See this section of the manual for more -instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the “pair_modify” command for details.

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See this section of the manual for more +instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the "pair_modify" command for details. +

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Only spherical monodisperse particles are allowed for pair_style -lubricate.

    -

    Only spherical particles are allowed for pair_style lubricate/poly.

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Only spherical monodisperse particles are allowed for pair_style +lubricate. +

    +

    Only spherical particles are allowed for pair_style lubricate/poly. +

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details.

    -
    - -
    -

    Default¶

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1.

    -
    -

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997).

    -

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also -his thesis for more details: A. Kumar, “Microscale Dynamics in -Suspensions of Non-spherical Particles”, Thesis, University of +read_restart command for more details. +

    +

    Related commands: +

    +

    pair_coeff, pair_style +lubricateU +

    +

    Default: +

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1. +

    +
    + + + +

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997). +

    + + +

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also +his thesis for more details: A. Kumar, "Microscale Dynamics in +Suspensions of Non-spherical Particles", Thesis, University of Illinois Urbana-Champaign, -(2010). (https://www.ideals.illinois.edu/handle/2142/16032)

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +(2010). (https://www.ideals.illinois.edu/handle/2142/16032) +

    + diff --git a/doc/pair_lubricateU.html b/doc/pair_lubricateU.html index 27ae23e139..42a596c70b 100644 --- a/doc/pair_lubricateU.html +++ b/doc/pair_lubricateU.html @@ -1,197 +1,89 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lubricateU command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lubricateU command¶

    -
    -
    -

    pair_style lubricateU/poly command¶

    -
    -

    Syntax¶

    -
    pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF
    -
    -
    -
      -
    • style = lubricateU or lubricateU/poly
    • -
    • mu = dynamic viscosity (dynamic viscosity units)
    • -
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation
    • -
    • cutinner = inner cut off distance (distance units)
    • -
    • cutoff = outer cutoff for interactions (distance units)
    • -
    • gdot = shear rate (1/time units)
    • -
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions
    • -
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms
    • -
    -

    Examples: (all assume radius = 1)

    -
    pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1
    +
    +
    +
    + +

    pair_style lubricateU command +

    +

    pair_style lubricateU/poly command +

    +

    Syntax: +

    +
    pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF 
    +
    +
    • style = lubricateU or lubricateU/poly +
    • mu = dynamic viscosity (dynamic viscosity units) +
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation +
    • cutinner = inner cut off distance (distance units) +
    • cutoff = outer cutoff for interactions (distance units) +
    • gdot = shear rate (1/time units) +
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions +
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms +
    +

    Examples: (all assume radius = 1) +

    +
    pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * *
    -
    -
    -
    -
    -

    Description¶

    -

    Styles lubricateU and lubricateU/poly compute velocities and +pair_coeff * * + +

    Description: +

    +

    Styles lubricateU and lubricateU/poly compute velocities and angular velocities such that the hydrodynamic interaction balances the -force and torque due to all other types of interactions.

    -

    The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in (Ball and Melrose)

    -_images/pair_lubricate.jpg -

    which represents the dissipation W between two nearby particles due to +force and torque due to all other types of interactions. +

    +

    The interactions have 2 components. The first is +Ball-Melrose lubrication terms via the formulas in (Ball and +Melrose) +

    +
    +
    +

    which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with -viscosity mu. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity.

    -

    The Asq (squeeze) term is the strongest and is included as long as -flagHI is set to 1 (default). It scales as 1/gap where gap is the +viscosity mu. Note that this is dynamic viscosity which has units of +mass/distance/time, not kinematic viscosity. +

    +

    The Asq (squeeze) term is the strongest and is included as long as +flagHI is set to 1 (default). It scales as 1/gap where gap is the separation between the surfaces of the 2 particles. The Ash (shear) -and Apu (pump) terms are only included if flaglog is set to 1. They +and Apu (pump) terms are only included if flaglog is set to 1. They are the next strongest interactions, and the only other singular -interaction, and scale as log(gap). Note that flaglog = 1 and -flagHI = 0 is invalid, and will result in a warning message, after -which flagHI will be set to 1. The Atw (twist) term is currently not +interaction, and scale as log(gap). Note that flaglog = 1 and +flagHI = 0 is invalid, and will result in a warning message, after +which flagHI will be set to 1. The Atw (twist) term is currently not included. It is typically a very small contribution to the lubrication -forces.

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined.

    -

    Cutinner sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. Cutoff +forces. +

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined. +

    +

    Cutinner sets the minimum center-to-center separation that will be +used in calculations irrespective of the actual separation. Cutoff is the maximum center-to-center separation at which an interaction is -computed. Using a cutoff less than 3 radii is recommended if -flaglog is set to 1.

    -

    The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in (Kumar). The equation being -solved to balance the forces and torques is

    -_images/fld2.jpg -

    where U represents the velocities and angular velocities of the -particles, U^*infty* represents the velocities and the angular -velocities of the undisturbed fluid, and E^*infty* represents the rate +computed. Using a cutoff less than 3 radii is recommended if +flaglog is set to 1. +

    +

    The other component is due to the Fast Lubrication Dynamics (FLD) +approximation, described in (Kumar). The equation being +solved to balance the forces and torques is +

    +
    +
    +

    where U represents the velocities and angular velocities of the +particles, U^infty represents the velocities and the angular +velocities of the undisturbed fluid, and E^infty represents the rate of strain tensor of the undisturbed fluid flow with viscosity -mu. Again, note that this is dynamic viscosity which has units of +mu. Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction -corrections to R_FU are included if flagVF is set to 1 (default).

    -

    F*rest* represents the forces and torques due to all other types of +corrections to R_FU are included if flagVF is set to 1 (default). +

    +

    Frest represents the forces and torques due to all other types of interactions, e.g. Brownian, electrostatic etc. Note that this algorithm neglects the inertial terms, thereby removing the restriction of resolving the small interial time scale, which may not @@ -200,167 +92,134 @@ the velocity such that the hydrodynamic force balances all other types of forces, thereby resulting in a net zero force (zero inertia limit). When defining this pair style, it must be defined last so that when this style is invoked all other types of forces have already been -computed. For the same reason, it won’t work if additional non-pair +computed. For the same reason, it won't work if additional non-pair styles are defined (such as bond or Kspace forces) as they are calculated in LAMMPS after the pairwise interactions have been -computed.

    -
    -

    Warning

    -

    When using these styles, the these pair styles are +computed. +

    +

    IMPORTANT NOTE: When using these styles, the these pair styles are designed to be used with implicit time integration and a -correspondingly larger timestep. Thus either fix nve/noforce should be used for spherical -particles defined via atom_style sphere or fix nve/asphere/noforce should be used for -spherical particles defined via atom_style ellipsoid. This is because the velocity and angular +correspondingly larger timestep. Thus either fix +nve/noforce should be used for spherical +particles defined via atom_style sphere or fix +nve/asphere/noforce should be used for +spherical particles defined via atom_style +ellipsoid. This is because the velocity and angular momentum of each particle is set by the pair style, and should not be -reset by the time integration fix.

    -
    -

    Style lubricateU requires monodisperse spherical particles; style -lubricateU/poly allows for polydisperse spherical particles.

    -

    If the suspension is sheared via the fix deform +reset by the time integration fix. +

    +

    Style lubricateU requires monodisperse spherical particles; style +lubricateU/poly allows for polydisperse spherical particles. +

    +

    If the suspension is sheared via the fix deform command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R_FU.

    -

    When computing the volume fraction corrections to R_FU, the presence +corrections to R_FU. +

    +

    When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted -for with the following types of walls: wall/lj93, -wall/lj126, wall/colloid, and -“wall/harmonic_fix_wall.html”. For these wall styles, the correct +for with the following types of walls: wall/lj93, +wall/lj126, wall/colloid, and +"wall/harmonic_fix_wall.html". For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the -volume fraction. To use these wall styles with pair_style lubricateU -or lubricateU/poly, the fld yes option must be specified in the -fix wall command.

    -

    Since lubrication forces are dissipative, it is usually desirable to +volume fraction. To use these wall styles with pair_style lubricateU +or lubricateU/poly, the fld yes option must be specified in the +fix wall command. +

    +

    Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -pair_style brownian command. These pair styles -and the brownian style should use consistent parameters for mu, -flaglog, flagfld, cutinner, cutoff, flagHI and flagVF.

    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_style brownian command. These pair styles +and the brownian style should use consistent parameters for mu, +flaglog, flagfld, cutinner, cutoff, flagHI and flagVF. +

    +
    + +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cutinner (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cutinner (distance units) +
    • cutoff (distance units) +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the “pair_modify” command for details.

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +must be specified. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the "pair_modify" command for details. +

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Currently, these pair styles assume that all other types of +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Currently, these pair styles assume that all other types of forces/torques on the particles have been already been computed when it is invoked. This requires this style to be defined as the last of the pair styles, and that no fixes apply additional constraint forces. -One exception is the fix wall/colloid commands, which -has an “fld” option to apply their wall forces correctly.

    -

    Only spherical monodisperse particles are allowed for pair_style -lubricateU.

    -

    Only spherical particles are allowed for pair_style lubricateU/poly.

    -

    For sheared suspensions, it is assumed that the shearing is done in +One exception is the fix wall/colloid commands, which +has an "fld" option to apply their wall forces correctly. +

    +

    Only spherical monodisperse particles are allowed for pair_style +lubricateU. +

    +

    Only spherical particles are allowed for pair_style lubricateU/poly. +

    +

    For sheared suspensions, it is assumed that the shearing is done in the xy plane, with x being the velocity direction and y being the -velocity-gradient direction. In this case, one must use fix deform with the same rate of shear (erate).

    -
    - -
    -

    Default¶

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1.

    -
    -

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997).

    -

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010).

    -
    -
    +velocity-gradient direction. In this case, one must use fix +deform with the same rate of shear (erate). +

    +

    Related commands: +

    +

    pair_coeff, pair_style +lubricate +

    +

    Default: +

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1. +

    +
    + -
    -
    -
    - +

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). +

    + diff --git a/doc/pair_meam.html b/doc/pair_meam.html index 6899a0e485..3a8f578f47 100644 --- a/doc/pair_meam.html +++ b/doc/pair_meam.html @@ -1,282 +1,176 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style meam command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style meam command¶

    -
    -

    Syntax¶

    -
    pair_style meam
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style meam
    +
    +
    +
    + +

    pair_style meam command +

    +

    Syntax: +

    +
    pair_style meam 
    +
    +

    Examples: +

    +
    pair_style meam
     pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si
    -pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni
    -
    -
    -
    -
    -

    Description¶

    -
    -

    Note

    -

    The behavior of the MEAM potential for alloy systems has changed +pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni + +

    Description: +

    +

    NOTE: The behavior of the MEAM potential for alloy systems has changed as of November 2010; see description below of the mixture_ref_t -parameter

    -
    -

    Style meam computes pairwise interactions for a variety of materials +parameter +

    +

    Style meam computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials -(Baskes). Conceptually, it is an extension to the original -EAM potentials which adds angular forces. It is +(Baskes). Conceptually, it is an extension to the original +EAM potentials which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like -silicon and carbon.

    -

    In the MEAM formulation, the total energy E of a system of atoms is -given by:

    -_images/pair_meam.jpg -

    where F is the embedding energy which is a function of the atomic +silicon and carbon. +

    +

    In the MEAM formulation, the total energy E of a system of atoms is +given by: +

    +
    +
    +

    where F is the embedding energy which is a function of the atomic electron density rho, and phi is a pair potential interaction. The pair interaction is summed over all neighbors J of atom I within the cutoff distance. As with EAM, the multi-body nature of the MEAM potential is a result of the embedding energy term. Details of the computation of the embedding and pair energies, as implemented in -LAMMPS, are given in (Gullet) and references therein.

    -

    The various parameters in the MEAM formulas are listed in two files -which are specified by the pair_coeff command. +LAMMPS, are given in (Gullet) and references therein. +

    +

    The various parameters in the MEAM formulas are listed in two files +which are specified by the pair_coeff command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different -materials are included in the “potentials” directory of the LAMMPS -distribution with a ”.meam” suffix. All of these are parameterized in -terms of LAMMPS metal units.

    -

    Note that unlike for other potentials, cutoffs for MEAM potentials are +materials are included in the "potentials" directory of the LAMMPS +distribution with a ".meam" suffix. All of these are parameterized in +terms of LAMMPS metal units. +

    +

    Note that unlike for other potentials, cutoffs for MEAM potentials are not set in the pair_style or pair_coeff command; they are specified in -the MEAM potential files themselves.

    -

    Only a single pair_coeff command is used with the meam style which +the MEAM potential files themselves. +

    +

    Only a single pair_coeff command is used with the meam style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff -command, where N is the number of LAMMPS atom types:

    -
      -
    • MEAM library file
    • -
    • Elem1, Elem2, ...
    • -
    • MEAM parameter file
    • -
    • N element names = mapping of MEAM elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential files.

    -

    As an example, the potentials/library.meam file has generic MEAM +command, where N is the number of LAMMPS atom types: +

    +
    • MEAM library file +
    • Elem1, Elem2, ... +
    • MEAM parameter file +
    • N element names = mapping of MEAM elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential files. +

    +

    As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/sic.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair_coeff command:

    -
    pair_coeff * * library.meam Si C sic.meam Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +and the 4th to be C, you would use the following pair_coeff command: +

    +
    pair_coeff * * library.meam Si C sic.meam Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the library and parameter file respectively. The Si and C arguments (between the file names) are the two elements for which info will be extracted from the library file. The first three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps LAMMPS atom type 4 to the MEAM C -element.

    -

    If the 2nd filename is specified as NULL, no parameter file is read, +element. +

    +

    If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are used. Use of the NULL specification for the parameter file is discouraged for systems with more than a single element type (e.g. alloys), since the parameter file is expected to set element interaction terms that are not captured by the information in the -library file.

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when a meam potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    The MEAM library file provided with LAMMPS has the name -potentials/library.meam. It is the “meamf” file used by other MD +library file. +

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when a meam potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    The MEAM library file provided with LAMMPS has the name +potentials/library.meam. It is the "meamf" file used by other MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, it is formatted as a series of entries, each of which -has 19 parameters and can span multiple lines:

    -

    elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, -t0, t1, t2, t3, rozero, ibar

    -

    The “elt” and “lat” parameters are text strings, such as elt = Si or +has 19 parameters and can span multiple lines: +

    +

    elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, +t0, t1, t2, t3, rozero, ibar +

    +

    The "elt" and "lat" parameters are text strings, such as elt = Si or Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the -formulas above. The value of the “elt” string is what is used in the +formulas above. The value of the "elt" string is what is used in the pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library -file with the same “elt” value; LAMMPS reads the 1st matching entry it -finds and ignores the rest.

    -

    Other parameters in the MEAM library file correspond to single-element -potential parameters:

    -
    -lat      = lattice structure of reference configuration
    +file with the same "elt" value; LAMMPS reads the 1st matching entry it
    +finds and ignores the rest.
    +

    +

    Other parameters in the MEAM library file correspond to single-element +potential parameters: +

    +
    lat      = lattice structure of reference configuration
     z        = number of nearest neighbors in the reference structure
     ielement = atomic number
     atwt     = atomic weight
     alat     = lattice constant of reference structure
     esub     = energy per atom (eV) in the reference structure at equilibrium
    -asub     = "A" parameter for MEAM (see e.g. (Baskes))
    -
    -

    The alpha, b0, b1, b2, b3, t0, t1, t2, t3 parameters correspond to the -standard MEAM parameters in the literature (Baskes) (the b +asub = "A" parameter for MEAM (see e.g. (Baskes)) +

    +

    The alpha, b0, b1, b2, b3, t0, t1, t2, t3 parameters correspond to the +standard MEAM parameters in the literature (Baskes) (the b parameters are the standard beta parameters). The rozero parameter is an element-dependent density scaling that weights the reference -background density (see e.g. equation 4.5 in (Gullet)) and +background density (see e.g. equation 4.5 in (Gullet)) and is typically 1.0 for single-element systems. The ibar parameter selects the form of the function G(Gamma) used to compute the electron -density; options are

    -
    0 => G = sqrt(1+Gamma)
    -   1 => G = exp(Gamma/2)
    -   2 => not implemented
    -   3 => G = 2/(1+exp(-Gamma))
    -   4 => G = sqrt(1+Gamma)
    -  -5 => G = +-sqrt(abs(1+Gamma))
    -
    -
    -

    If used, the MEAM parameter file contains settings that override or +density; options are +

    +
       0 => G = sqrt(1+Gamma)
    +   1 => G = exp(Gamma/2)
    +   2 => not implemented 
    +   3 => G = 2/(1+exp(-Gamma))
    +   4 => G = sqrt(1+Gamma)
    +  -5 => G = +-sqrt(abs(1+Gamma)) 
    +
    +

    If used, the MEAM parameter file contains settings that override or complement the library file settings. Examples of such parameter -files are in the potentials directory with a ”.meam” suffix. Their +files are in the potentials directory with a ".meam" suffix. Their format is the same as is read by other Fortran MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a -trailing comment (starting with #) which is ignored.

    -
    keyword = value
    -keyword(I) = value
    -keyword(I,J) = value
    -keyword(I,J,K) = value
    -
    -
    -

    The recognized keywords are as follows:

    -

    Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, -augt1, gsmooth_factor, re

    -

    where

    -
    -rc          = cutoff radius for cutoff function; default = 4.0
    +trailing comment (starting with #) which is ignored.
    +

    +
    keyword = value
    +keyword(I) = value
    +keyword(I,J) = value
    +keyword(I,J,K) = value 
    +
    +

    The recognized keywords are as follows: +

    +

    Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, +augt1, gsmooth_factor, re +

    +

    where +

    +
    rc          = cutoff radius for cutoff function; default = 4.0
     delr        = length of smoothing distance for cutoff function; default = 0.1
     rho0(I)     = relative density for element I (overwrites value
                   read from meamf file)
    @@ -287,32 +181,32 @@ alpha(I,J)  = alpha parameter for pair potential between I and J (can
                   be computed from bulk modulus of reference structure
     re(I,J)     = equilibrium distance between I and J in the reference
                   structure
    -Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened
    -              by K (I<=J); default = 2.8
    -Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened
    -              by K (I<=J); default = 2.0
    +Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened 
    +              by K (I<=J); default = 2.8
    +Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened 
    +              by K (I<=J); default = 2.0
     lattce(I,J) = lattice structure of I-J reference structure:
                     dia = diamond (interlaced fcc for alloy)
                     fcc = face centered cubic
                     bcc = body centered cubic
    -                dim = dimer
    +                dim = dimer 
                     b1  = rock salt (NaCl structure)
    -             hcp = hexagonal close-packed
    -             c11 = MoSi2 structure
    -             l12 = Cu3Au structure (lower case L, followed by 12)
    +		hcp = hexagonal close-packed
    +		c11 = MoSi2 structure
    +		l12 = Cu3Au structure (lower case L, followed by 12)
                     b2  = CsCl structure (interpenetrating simple cubic)
     nn2(I,J)    = turn on second-nearest neighbor MEAM formulation for
    -              I-J pair (see for example (Lee)).
    +              I-J pair (see for example (Lee)).  
                     0 = second-nearest neighbor formulation off
                     1 = second-nearest neighbor formulation on
                     default = 0
     attrac(I,J) = additional cubic attraction term in Rose energy I-J pair potential
    -                default = 0
    +                default = 0            
     repuls(I,J) = additional cubic repulsive term in Rose energy I-J pair potential
    -                default = 0
    -zbl(I,J)    = blend the MEAM I-J pair potential with the ZBL potential for small
    -              atom separations (ZBL)
    -                default = 1
    +                default = 0     
    +zbl(I,J)    = blend the MEAM I-J pair potential with the ZBL potential for small 
    +              atom separations (ZBL) 
    +                default = 1       
     gsmooth_factor  = factor determining the length of the G-function smoothing
                       region; only significant for ibar=0 or ibar=4.
                           99.0 = short smoothing region, sharp step
    @@ -322,7 +216,7 @@ augt1           = integer flag for whether to augment t1 parameter by
                       3/5*t3 to account for old vs. new meam formulations;
                         0 = don't augment t1
                         1 = augment t1
    -                    default = 1
    +                    default = 1 
     ialloy          = integer flag to use alternative averaging rule for t parameters,
                       for comparison with the DYNAMO MEAM code
                         0 = standard averaging (matches ialloy=0 in DYNAMO)
    @@ -334,8 +228,8 @@ mixture_ref_t   = integer flag to use mixture average of t to compute the backgr
                       (see description and warning elsewhere in this doc page)
                         0 = do not use mixture averaging for t in the reference density
                         1 = use mixture averaging for t in the reference density
    -                    default = 0
    -erose_form      = integer value to select the form of the Rose energy function
    +                    default = 0 
    +erose_form      = integer value to select the form of the Rose energy function 
                       (see description below).
                         default = 0
     emb_lin_neg     = integer value to select embedding function for negative densities
    @@ -345,27 +239,30 @@ emb_lin_neg     = integer value to select embedding function for negative densit
     bkgd_dyn        = integer value to select background density formula
                         0 = rho_bkgd = rho_ref_meam(a) (as in the reference structure)
                         1 = rho_bkgd = rho0_meam(a)*Z_meam(a) (matches DYNAMO)
    -                    default = 0
    -
    -

    Rc, delr, re are in distance units (Angstroms in the case of metal + default = 0 +

    +

    Rc, delr, re are in distance units (Angstroms in the case of metal units). Ec and delta are in energy units (eV in the case of metal -units).

    -

    Each keyword represents a quantity which is either a scalar, vector, +units). +

    +

    Each keyword represents a quantity which is either a scalar, vector, 2d array, or 3d array and must be specified with the correct corresponding array syntax. The indices I,J,K each run from 1 to N -where N is the number of MEAM elements being used.

    -

    Thus these lines

    -
    rho0(2) = 2.25
    -alpha(1,2) = 4.37
    -
    -
    -

    set rho0 for the 2nd element to the value 2.25 and set alpha for the -alloy interaction between elements 1 and 2 to 4.37.

    -

    The augt1 parameter is related to modifications in the MEAM +where N is the number of MEAM elements being used. +

    +

    Thus these lines +

    +
    rho0(2) = 2.25
    +alpha(1,2) = 4.37 
    +
    +

    set rho0 for the 2nd element to the value 2.25 and set alpha for the +alloy interaction between elements 1 and 2 to 4.37. +

    +

    The augt1 parameter is related to modifications in the MEAM formulation of the partial electron density function. In recent literature, an extra term is included in the expression for the third-order density in order to make the densities orthogonal (see for -example (Wang), equation 3d); this term is included in the +example (Wang), equation 3d); this term is included in the MEAM implementation in lammps. However, in earlier published work this term was not included when deriving parameters, including most of those provided in the library.meam file included with lammps, and to @@ -373,8 +270,9 @@ account for this difference the parameter t1 must be augmented by 3/5*t3. If augt1=1, the default, this augmentation is done automatically. When parameter values are fit using the modified density function, as in more recent literature, augt1 should be set to -0.

    -

    The mixture_ref_t parameter is available to match results with those +0. +

    +

    The mixture_ref_t parameter is available to match results with those of previous versions of lammps (before January 2011). Newer versions of lammps, by default, use the single-element values of the t parameters to compute the background reference density. This is the @@ -384,133 +282,102 @@ reference density. Setting mixture_ref_t=1 gives the old behavior. WARNING: using mixture_ref_t=1 will give results that are demonstrably incorrect for second-neighbor MEAM, and non-standard for first-neighbor MEAM; this option is included only for matching with -previous versions of lammps and should be avoided if possible.

    -

    The parameters attrac and repuls, along with the integer selection +previous versions of lammps and should be avoided if possible. +

    +

    The parameters attrac and repuls, along with the integer selection parameter erose_form, can be used to modify the Rose energy function used to compute the pair potential. This function gives the energy of the reference state as a function of interatomic spacing. The form of -this function is:

    -
    astar = alpha * (r/re - 1.d0)
    -if erose_form = 0: erose = -Ec*(1+astar+a3*(astar**3)/(r/re))*exp(-astar)
    +this function is:
    +

    +
    astar = alpha * (r/re - 1.d0)
    +if erose_form = 0: erose = -Ec*(1+astar+a3*(astar**3)/(r/re))*exp(-astar) 
     if erose_form = 1: erose = -Ec*(1+astar+(-attrac+repuls/r)*(astar**3))*exp(-astar)
     if erose_form = 2: erose = -Ec*(1 +astar + a3*(astar**3))*exp(-astar)
    -a3 = repuls, astar < 0
    -a3 = attrac, astar >= 0
    -
    -
    -

    Most published MEAM parameter sets use the default values attrac=repulse=0. -Setting repuls=attrac=delta corresponds to the form used in several -recent published MEAM parameter sets, such as (Vallone)

    -
    -

    Note

    -

    The default form of the erose expression in LAMMPS was corrected +a3 = repuls, astar < 0 +a3 = attrac, astar >= 0 + +

    Most published MEAM parameter sets use the default values attrac=repulse=0. +Setting repuls=attrac=delta corresponds to the form used in several +recent published MEAM parameter sets, such as (Vallone) +

    +

    NOTE: The default form of the erose expression in LAMMPS was corrected in March 2009. The current version is correct, but may show different behavior compared with earlier versions of lammps with the attrac and/or repuls parameters are non-zero. To obtain the previous default form, use erose_form = 1 (this form does not seem to appear in the -literature). An alternative form (see e.g. (Lee2)) is -available using erose_form = 2.

    -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +literature). An alternative form (see e.g. (Lee2)) is +available using erose_form = 2. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair_coeff command with I != J arguments for this style.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +specify a pair_coeff command with I != J arguments for this style. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the MEAM package. It is only enabled if LAMMPS +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This style is part of the MEAM package. It is only enabled if LAMMPS was built with that package, which also requires the MEAM library be -built and linked with LAMMPS. See the Making LAMMPS section for more info.

    -
    - -
    +built and linked with LAMMPS. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_style eam, +pair_style meam/spline +

    +

    Default: none +

    +
    + + + +

    (Baskes) Baskes, Phys Rev B, 46, 2727-2742 (1992). +

    + + +

    (Gullet) Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). +This report may be accessed on-line via this link. +

    -
    -
    -
    - + -
    +

    (Lee) Lee, Baskes, Phys. Rev. B, 62, 8564-8567 (2000). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Lee2) Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001). +

    + -
    +

    (Valone) Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006). +

    + -
    -
    +

    (Wang) Wang, Van Hove, Ross, Baskes, J. Chem. Phys., 121, 5410 (2004). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (ZBL) J.F. Ziegler, J.P. Biersack, U. Littmark, "Stopping and Ranges +of Ions in Matter", Vol 1, 1985, Pergamon Press. +

    + diff --git a/doc/pair_meam_spline.html b/doc/pair_meam_spline.html index 81357a61b4..e1a17d7b54 100644 --- a/doc/pair_meam_spline.html +++ b/doc/pair_meam_spline.html @@ -1,310 +1,152 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style meam/spline — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style meam/spline¶

    -
    -
    -

    pair_style meam/spline/omp¶

    -
    -

    Syntax¶

    -
    pair_style meam/spline
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style meam/spline
    +
    +
    +
    + +

    pair_style meam/spline +

    +

    pair_style meam/spline/omp +

    +

    Syntax: +

    +
    pair_style meam/spline 
    +
    +

    Examples: +

    +
    pair_style meam/spline
     pair_coeff * * Ti.meam.spline Ti
    -pair_coeff * * Ti.meam.spline Ti Ti Ti
    -
    -
    -
    -
    -

    Description¶

    -

    The meam/spline style computes pairwise interactions for metals +pair_coeff * * Ti.meam.spline Ti Ti Ti + +

    Description: +

    +

    The meam/spline style computes pairwise interactions for metals using a variant of modified embedded-atom method (MEAM) potentials -(Lenosky). The total energy E is given by

    -_images/pair_meam_spline.jpg -

    where rho_i is the density at atom I, theta_jik is the angle between +(Lenosky). The total energy E is given by +

    +
    +
    +

    where rho_i is the density at atom I, theta_jik is the angle between atoms J, I, and K centered on atom I. The five functions Phi, U, rho, -f, and g are represented by cubic splines.

    -

    The cutoffs and the coefficients for these spline functions are listed +f, and g are represented by cubic splines. +

    +

    The cutoffs and the coefficients for these spline functions are listed in a parameter file which is specified by the -pair_coeff command. Parameter files for different -elements are included in the “potentials” directory of the LAMMPS -distribution and have a ”.meam.spline” file suffix. All of these -files are parameterized in terms of LAMMPS metal units.

    -

    Note that unlike for other potentials, cutoffs for spline-based MEAM +pair_coeff command. Parameter files for different +elements are included in the "potentials" directory of the LAMMPS +distribution and have a ".meam.spline" file suffix. All of these +files are parameterized in terms of LAMMPS metal units. +

    +

    Note that unlike for other potentials, cutoffs for spline-based MEAM potentials are not set in the pair_style or pair_coeff command; they -are specified in the potential files themselves.

    -

    Unlike the EAM pair style, which retrieves the atomic mass from the +are specified in the potential files themselves. +

    +

    Unlike the EAM pair style, which retrieves the atomic mass from the potential file, the spline-based MEAM potentials do not include mass -information; thus you need to use the mass command to -specify it.

    -

    Only a single pair_coeff command is used with the meam/spline style +information; thus you need to use the mass command to +specify it. +

    +

    Only a single pair_coeff command is used with the meam/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of spline-based MEAM elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine the Ti.meam.spline file has values for Ti. If +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of spline-based MEAM elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine the Ti.meam.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be treated with this potentials, you would use the following pair_coeff -command:

    -
    pair_coeff * * Ti.meam.spline Ti Ti Ti
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command: +

    +
    pair_coeff * * Ti.meam.spline Ti Ti Ti 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a meam/spline -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can be used when a meam/spline +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials.

    -
    -

    Warning

    -

    The meam/spline style currently supports only +potentials. +

    +

    IMPORTANT NOTE: The meam/spline style currently supports only single-element MEAM potentials. It may be extended for alloy systems -in the future.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +in the future. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    The current version of this pair style does not support multiple -element types or mixing. It has been designed for pure elements only.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    The meam/spline pair style does not write its information to binary restart files, since it is stored in an external +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    The current version of this pair style does not support multiple +element types or mixing. It has been designed for pure elements only. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    The meam/spline pair style does not write its information to binary +restart files, since it is stored in an external potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file.

    -

    The meam/spline pair style can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    This pair style is only enabled if LAMMPS was built with the USER-MISC -package. See the Making LAMMPS section -for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +(2000). +

    + diff --git a/doc/pair_meam_sw_spline.html b/doc/pair_meam_sw_spline.html index c7ccbf8bd7..391a28686d 100644 --- a/doc/pair_meam_sw_spline.html +++ b/doc/pair_meam_sw_spline.html @@ -1,303 +1,146 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style meam/sw/spline — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style meam/sw/spline¶

    -
    -
    -

    pair_style meam/sw/spline/omp¶

    -
    -

    Syntax¶

    -
    pair_style meam/sw/spline
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style meam/sw/spline
    +
    +
    +
    + +

    pair_style meam/sw/spline +

    +

    pair_style meam/sw/spline/omp +

    +

    Syntax: +

    +
    pair_style meam/sw/spline 
    +
    +

    Examples: +

    +
    pair_style meam/sw/spline
     pair_coeff * * Ti.meam.sw.spline Ti
    -pair_coeff * * Ti.meam.sw.spline Ti Ti Ti
    -
    -
    -
    -
    -

    Description¶

    -

    The meam/sw/spline style computes pairwise interactions for metals +pair_coeff * * Ti.meam.sw.spline Ti Ti Ti + +

    Description: +

    +

    The meam/sw/spline style computes pairwise interactions for metals using a variant of modified embedded-atom method (MEAM) potentials -(Lenosky) with an additional Stillinger-Weber (SW) term -(Stillinger) in the energy. This form of the potential +(Lenosky) with an additional Stillinger-Weber (SW) term +(Stillinger) in the energy. This form of the potential was first proposed by Nicklas, Fellinger, and Park -(Nicklas). We refer to it as MEAM+SW. The total energy E -is given by

    -_images/pair_meam_sw_spline.jpg -

    where rho_I is the density at atom I, theta_JIK is the angle between -atoms J, I, and K centered on atom I. The seven functions -Phi, F, G, U, rho, f, and g are represented by cubic splines.

    -

    The cutoffs and the coefficients for these spline functions are listed +(Nicklas). We refer to it as MEAM+SW. The total energy E +is given by +

    +
    +
    +

    where rho_I is the density at atom I, theta_JIK is the angle between +atoms J, I, and K centered on atom I. The seven functions +Phi, F, G, U, rho, f, and g are represented by cubic splines. +

    +

    The cutoffs and the coefficients for these spline functions are listed in a parameter file which is specified by the -pair_coeff command. Parameter files for different -elements are included in the “potentials” directory of the LAMMPS -distribution and have a ”.meam.sw.spline” file suffix. All of these -files are parameterized in terms of LAMMPS metal units.

    -

    Note that unlike for other potentials, cutoffs for spline-based +pair_coeff command. Parameter files for different +elements are included in the "potentials" directory of the LAMMPS +distribution and have a ".meam.sw.spline" file suffix. All of these +files are parameterized in terms of LAMMPS metal units. +

    +

    Note that unlike for other potentials, cutoffs for spline-based MEAM+SW potentials are not set in the pair_style or pair_coeff -command; they are specified in the potential files themselves.

    -

    Unlike the EAM pair style, which retrieves the atomic mass from the +command; they are specified in the potential files themselves. +

    +

    Unlike the EAM pair style, which retrieves the atomic mass from the potential file, the spline-based MEAM+SW potentials do not include -mass information; thus you need to use the mass command to -specify it.

    -

    Only a single pair_coeff command is used with the meam/sw/spline style +mass information; thus you need to use the mass command to +specify it. +

    +

    Only a single pair_coeff command is used with the meam/sw/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of spline-based MEAM+SW elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine the Ti.meam.sw.spline file has values for Ti. +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of spline-based MEAM+SW elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine the Ti.meam.sw.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be treated with this potential, you would use the following pair_coeff -command:

    -

    pair_coeff * * Ti.meam.sw.spline Ti Ti Ti

    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command: +

    +

    pair_coeff * * Ti.meam.sw.spline Ti Ti Ti +

    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a meam/sw/spline +mapping is not performed. This can be used when a meam/sw/spline potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials.

    -
    -

    Warning

    -

    The meam/sw/spline style currently supports only +potentials. +

    +

    IMPORTANT NOTE: The meam/sw/spline style currently supports only single-element MEAM+SW potentials. It may be extended for alloy -systems in the future.

    -
    -

    Example input scripts that use this pair style are provided -in the examples/USER/misc/meam_sw_spline directory.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    The pair style does not support multiple element types or mixing. -It has been designed for pure elements only.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    The meam/sw/spline pair style does not write its information to -binary restart files, since it is stored in an external +systems in the future. +

    +

    Example input scripts that use this pair style are provided +in the examples/USER/misc/meam_sw_spline directory. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    The pair style does not support multiple element types or mixing. +It has been designed for pure elements only. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    The meam/sw/spline pair style does not write its information to +binary restart files, since it is stored in an external potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file.

    -

    The meam/sw/spline pair style can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    This pair style is only enabled if LAMMPS was built with the USER-MISC package. -See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +and Hyoungki Park at The Ohio State University. +

    + diff --git a/doc/pair_mie.html b/doc/pair_mie.html index e2e1d1c1a8..e5207cb232 100644 --- a/doc/pair_mie.html +++ b/doc/pair_mie.html @@ -1,273 +1,107 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style mie/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style mie/cut command¶

    -
    -
    -

    pair_style mie/cut/gpu command¶

    -
    -

    Syntax¶

    -
    pair_style mie/cut cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for mie/cut interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style mie/cut 10.0
    +
    +
    +
    + +

    pair_style mie/cut command +

    +

    pair_style mie/cut/gpu command +

    +

    Syntax: +

    +
    pair_style mie/cut cutoff 
    +
    +
    • cutoff = global cutoff for mie/cut interactions (distance units) +
    +

    Examples: +

    +
    pair_style mie/cut 10.0
     pair_coeff 1 1 0.72 3.40 23.00 6.66
     pair_coeff 2 2 0.30 3.55 12.65 6.00
    -pair_coeff 1 2 0.46 3.32 16.90 6.31
    -
    -
    -
    -
    -

    Description¶

    -

    The mie/cut style computes the Mie potential, given by

    -_images/pair_mie.jpg -

    Rc is the cutoff and C is a function that depends on the repulsive and -attractive exponents, given by:

    -_images/pair_mie2.jpg -

    Note that for 12/6 exponents, C is equal to 4 and the formula is the -same as the standard Lennard-Jones potential.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 2 0.46 3.32 16.90 6.31 + +

    Description: +

    +

    The mie/cut style computes the Mie potential, given by +

    +
    +
    +

    Rc is the cutoff and C is a function that depends on the repulsive and +attractive exponents, given by: +

    +
    +
    +

    Note that for 12/6 exponents, C is equal to 4 and the formula is the +same as the standard Lennard-Jones potential. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • gammaR
    • -
    • gammaA
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +read_data or read_restart +commands, or by mixing as described below: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • gammaR +
    • gammaA +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the mie/cut pair styles can be mixed. If not explicity defined, both the repulsive and attractive gamma exponents for different atoms will be calculated following the same mixing rule defined for distances. The default mix value is -geometric. See the “pair_modify” command for details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    This pair style supports the pair_modify tail +geometric. See the "pair_modify" command for details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +pressure of the pair interaction. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +the rRESPA hierarchy. See the run_style command for +details. +

    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Mie) G. Mie, Ann Phys, 316, 657 (1903). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Avendano) C. Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, +G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011). +

    + diff --git a/doc/pair_modify.html b/doc/pair_modify.html index 1bf713ad94..f6013a430e 100644 --- a/doc/pair_modify.html +++ b/doc/pair_modify.html @@ -1,238 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_modify command¶

    -
    -

    Syntax¶

    -
    pair_modify keyword values ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be listed
    • -
    • keyword = pair or special or shift or mix or table or table/disp or tabinner or tabinner/disp or tail or compute
    • -
    -
    -pair values = sub-style N special which w1 wt2 wt3
    -    sub-style = sub-style of pair hybrid
    +
    +
    +
    + +

    pair_modify command +

    +

    Syntax: +

    +
    pair_modify keyword values ... 
    +
    +
    • one or more keyword/value pairs may be listed + +
    • keyword = pair or special or shift or mix or table or table/disp or tabinner or tabinner/disp or tail or compute + +
        pair values = sub-style N special which w1 wt2 wt3
      +    sub-style = sub-style of pair hybrid
           N = which instance of sub-style (only if sub-style is used multiple times)
      -  special values = flavor w1 w2 w3
      -    flavor = lj/coul or lj or coul
      +  special values = flavor w1 w2 w3
      +    flavor = lj/coul or lj or coul
           w1,w2,w3 = weights from 0.0 to 1.0 inclusive
      -  mix value = geometric or arithmetic or sixthpower
      -  shift value = yes or no
      -  table value = N
      +  mix value = geometric or arithmetic or sixthpower
      +  shift value = yes or no
      +  table value = N
           2^N = # of values in table
      -  table/disp value = N
      +  table/disp value = N
           2^N = # of values in table
      -  tabinner value = cutoff
      +  tabinner value = cutoff
           cutoff = inner cutoff at which to begin table (distance units)
      -  tabinner/disp value = cutoff
      +  tabinner/disp value = cutoff
           cutoff = inner cutoff at which to begin table (distance units)
      -  tail value = yes or no
      -  compute value = yes or no
      -
      -
    -
    -

    Examples¶

    -
    pair_modify shift yes mix geometric
    +  tail value = yes or no
    +  compute value = yes or no 
    +
    + + +

    Examples: +

    +
    pair_modify shift yes mix geometric
     pair_modify tail yes
    -pair_modify table 12
    -
    -
    -
    -
    -

    Description¶

    -

    Modify the parameters of the currently defined pair style. Not all -parameters are relevant to all pair styles.

    -

    If used, the pair keyword must appear first in the list of keywords. -It can only be used with the hybrid and hybrid/overlay pair styles. It means that all the +pair_modify table 12 + +

    Description: +

    +

    Modify the parameters of the currently defined pair style. Not all +parameters are relevant to all pair styles. +

    +

    If used, the pair keyword must appear first in the list of keywords. +It can only be used with the hybrid and +hybrid/overlay pair styles. It means that all the following parameters will only be modified for the specified sub-style. If the sub-style is defined multiple times, then an -additional numeric argument N must also be specified, which is a +additional numeric argument N must also be specified, which is a number from 1 to M where M is the number of times the sub-style was -listed in the pair_style hybrid command. The extra +listed in the pair_style hybrid command. The extra number indicates which instance of the sub-style the remaining -keywords will be applied to. Note that if the pair keyword is not -used, and the pair style is hybrid or hybrid/overlay, then all the -specified keywords will be applied to all sub-styles.

    -

    If used, the special keyword must appear second in the list of -keywords, and must follow the pair keyword. Like the pair -keyword, it also can only be used with the hybrid and hybrid/overlay pair styles. Its parameters are -similar to the special_bonds command, and it +keywords will be applied to. Note that if the pair keyword is not +used, and the pair style is hybrid or hybrid/overlay, then all the +specified keywords will be applied to all sub-styles. +

    +

    If used, the special keyword must appear second in the list of +keywords, and must follow the pair keyword. Like the pair +keyword, it also can only be used with the hybrid and +hybrid/overlay pair styles. Its parameters are +similar to the special_bonds command, and it overrides the special_bond settings for the specified sub-style. More -details are given below.

    -

    The mix keyword affects pair coefficients for interactions between +details are given below. +

    +

    The mix keyword affects pair coefficients for interactions between atoms of type I and J, when I != J and the coefficients are not explicitly set in the input script. Note that coefficients for I = J must be set explicitly, either in the input script via the -“pair_coeff” command or in the “Pair Coeffs” section of the data file. For some pair styles it is not necessary to -specify coefficients when I != J, since a “mixing” rule will create -them from the I,I and J,J settings. The pair_modify mix value +"pair_coeff" command or in the "Pair Coeffs" section of the data +file. For some pair styles it is not necessary to +specify coefficients when I != J, since a "mixing" rule will create +them from the I,I and J,J settings. The pair_modify mix value determines what formulas are used to compute the mixed coefficients. -In each case, the cutoff distance is mixed the same way as sigma.

    -

    Note that not all pair styles support mixing. Also, some mix options +In each case, the cutoff distance is mixed the same way as sigma. +

    +

    Note that not all pair styles support mixing. Also, some mix options are not available for certain pair styles. See the doc page for individual pair styles for those restrictions. Note also that the -pair_coeff command also can be to directly set +pair_coeff command also can be to directly set coefficients for a specific I != J pairing, in which case no mixing is -performed.

    -

    mix geometric

    -
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -sigma_ij = sqrt(sigma_i * sigma_j)
    -
    -
    -

    mix arithmetic

    -
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -sigma_ij = (sigma_i + sigma_j) / 2
    -
    -
    -

    mix sixthpower

    -
    epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    +performed.
    +

    +

    mix geometric +

    +
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +sigma_ij = sqrt(sigma_i * sigma_j) 
    +
    +

    mix arithmetic +

    +
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +sigma_ij = (sigma_i + sigma_j) / 2 
    +
    +

    mix sixthpower +

    +
    epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
                  (sigma_i^6 + sigma_j^6)
    -sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6)
    -
    -
    -

    The shift keyword determines whether a Lennard-Jones potential is +sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) + +

    The shift keyword determines whether a Lennard-Jones potential is shifted at its cutoff to 0.0. If so, this adds an energy term to each pairwise interaction which will be included in the thermodynamic output, but does not affect pair forces or atom trajectories. See the doc page for individual pair styles to see which ones support this -option.

    -

    The table and table/disp keywords apply to pair styles with a +option. +

    +

    The table and table/disp keywords apply to pair styles with a long-range Coulombic term or long-range dispersion term respectively; see the doc page for individual styles to see which potentials support these options. If N is non-zero, a table of length 2^N is pre-computed for forces and energies, which can shrink their computational cost by up to a factor of 2. The table is indexed via a -bit-mapping technique (Wolff) and a linear interpolation is +bit-mapping technique (Wolff) and a linear interpolation is performed between adjacent table values. In our experiments with different table styles (lookup, linear, spline), this method typically -gave the best performance in terms of speed and accuracy.

    -

    The choice of table length is a tradeoff in accuracy versus speed. A +gave the best performance in terms of speed and accuracy. +

    +

    The choice of table length is a tradeoff in accuracy versus speed. A larger N yields more accurate force computations, but requires more memory which can slow down the computation due to cache misses. A reasonable value of N is between 8 and 16. The default value of 12 @@ -241,106 +133,110 @@ no-table (N = 0) option. For N = 0, forces and energies are computed directly, using a polynomial fit for the needed erfc() function evaluation, which is what earlier versions of LAMMPS did. Values greater than 16 typically slow down the simulation and will not -improve accuracy; values from 1 to 8 give unreliable results.

    -

    The tabinner and tabinner/disp keywords set an inner cutoff above +improve accuracy; values from 1 to 8 give unreliable results. +

    +

    The tabinner and tabinner/disp keywords set an inner cutoff above which the pairwise computation is done by table lookup (if tables are invoked), for the corresponding Coulombic and dispersion tables -discussed with the table and table/disp keywords. The smaller the +discussed with the table and table/disp keywords. The smaller the cutoff is set, the less accurate the table becomes (for a given number of table values), which can require use of larger tables. The default cutoff value is sqrt(2.0) distance units which means nearly all pairwise interactions are computed via table lookup for simulations -with “real” units, but some close pairs may be computed directly -(non-table) for simulations with “lj” units.

    -

    When the tail keyword is set to yes, certain pair styles will add -a long-range VanderWaals tail “correction” to the energy and pressure. +with "real" units, but some close pairs may be computed directly +(non-table) for simulations with "lj" units. +

    +

    When the tail keyword is set to yes, certain pair styles will add +a long-range VanderWaals tail "correction" to the energy and pressure. These corrections are bookkeeping terms which do not affect dynamics, unless a constant-pressure simulation is being performed. See the doc page for individual styles to see which support this option. These corrections are included in the calculation and printing of -thermodynamic quantities (see the thermo_style +thermodynamic quantities (see the thermo_style command). Their effect will also be included in constant NPT or NPH simulations where the pressure influences the simulation box -dimensions (e.g. the fix npt and fix nph +dimensions (e.g. the fix npt and fix nph commands). The formulas used for the long-range corrections come from -equation 5 of (Sun).

    -
    -

    Warning

    -

    The tail correction terms are computed at the +equation 5 of (Sun). +

    +

    IMPORTANT NOTE: The tail correction terms are computed at the beginning of each run, using the current atom counts of each atom type. If atoms are deleted (or lost) or created during a simulation, -e.g. via the fix gcmc command, the correction factors +e.g. via the fix gcmc command, the correction factors are not re-computed. If you expect the counts to change dramatically, you can break a run into a series of shorter runs so that the -correction factors are re-computed more frequently.

    -
    -

    Several additional assumptions are inherent in using tail corrections, -including the following:

    -
      -
    • The simulated system is a 3d bulk homogeneous liquid. This option +correction factors are re-computed more frequently. +

      +

      Several additional assumptions are inherent in using tail corrections, +including the following: +

      +
      • The simulated system is a 3d bulk homogeneous liquid. This option should not be used for systems that are non-liquid, 2d, have a slab -geometry (only 2d periodic), or inhomogeneous.
      • -
      • G(r), the radial distribution function (rdf), is unity beyond the +geometry (only 2d periodic), or inhomogeneous. + +
      • G(r), the radial distribution function (rdf), is unity beyond the cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an LJ fluid), and it is probably a good idea to verify this assumption by checking the rdf. The rdf is not exactly unity beyond the cutoff for each pair of interaction types, so the tail correction is necessarily -an approximation.
      • -
      -

      The tail corrections are computed at the beginning of each simulation +an approximation. + +

      The tail corrections are computed at the beginning of each simulation run. If the number of atoms changes during the run, e.g. due to atoms -leaving the simulation domain, or use of the fix gcmc +leaving the simulation domain, or use of the fix gcmc command, then the corrections are not updates to relect the changed atom count. If this is a large effect in your simulation, you should break the long run into several short runs, so that the correction -factors are re-computed multiple times.

      -
        -
      • Thermophysical properties obtained from calculations with this option +factors are re-computed multiple times. +

        +
      • Thermophysical properties obtained from calculations with this option enabled will not be thermodynamically consistent with the truncated force-field that was used. In other words, atoms do not feel any LJ pair interactions beyond the cutoff, but the energy and pressure reported by the simulation include an estimated contribution from -those interactions.
      • -
      -

      The compute keyword allows pairwise computations to be turned off, -even though a pair_style is defined. This is not +those interactions. +

    +

    The compute keyword allows pairwise computations to be turned off, +even though a pair_style is defined. This is not useful for running a real simulation, but can be useful for debugging -purposes or for performing a rerun simulation, when you +purposes or for performing a rerun simulation, when you only wish to compute partial forces that do not include the pairwise -contribution.

    -

    Two examples are as follows. First, this option allows you to perform -a simulation with pair_style hybrid with only a +contribution. +

    +

    Two examples are as follows. First, this option allows you to perform +a simulation with pair_style hybrid with only a subset of the hybrid sub-styles enabled. Second, this option allows you to perform a simulation with only long-range interactions but no short-range pairwise interactions. Doing this by simply not defining a pair style will not work, because the -kspace_style command requires a Kspace-compatible -pair style be defined.

    -
    -
    -

    Use of special keyword¶

    -

    The special keyword requires 4 values similar to those specified -with the special_bonds command, flavor and -w1,w2,w3. The flavor argument can be lj to change the -Lennard-Jones settings, coul to change the Coulombic settings, or -lj/coul to change both to the same set of 3 values. The w1,w2,w3 +kspace_style command requires a Kspace-compatible +pair style be defined. +

    +
    + +
    Use of special keyword +
    +

    The special keyword requires 4 values similar to those specified +with the special_bonds command, flavor and +w1,w2,w3. The flavor argument can be lj to change the +Lennard-Jones settings, coul to change the Coulombic settings, or +lj/coul to change both to the same set of 3 values. The w1,w2,w3 values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2, -1-3, and 1-4 bond topology neighbors. For example, these commands

    -
    special_bonds lj/coul 0.0 0.0 0.1
    +1-3, and 1-4 bond topology neighbors.  For example, these commands
    +

    +
    special_bonds lj/coul 0.0 0.0 0.1
     pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0
     pair_modify pair lj/charmm/coul/long special lj/coul 0.0 0.0 0.0
     pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5
    -pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.8333
    -
    -
    -

    show how to use both the CHARMM and AMBER force fields in a single +pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.8333 + +

    show how to use both the CHARMM and AMBER force fields in a single simulation. The first pair modify command sets the special bonds to CHARMM values (all 0.0). The last 2 pair modify commands set the -standard AMBER values for LJ and Coulombic weights.

    -
    -

    Warning

    -

    The global settings specified by the -special_bonds command affect the construction of +standard AMBER values for LJ and Coulombic weights. +

    +

    IMPORTANT NOTE: The global settings specified by the +special_bonds command affect the construction of neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors) exclude those pairs from the neighbor list entirely. Weights of 1.0 store the neighbor with no weighting applied. The format of the @@ -349,95 +245,36 @@ non-zero or non-one value. Thus an error is generated if the new sub-style value is not 0.0 (or 1.0) when the global setting is 0.0 (or 1.0). Note that as in the example above, the global factor can simply be set a value other than 0.0 or 1.0, then overridden by any of the -sub-styles with a value that is 0.0 or 1.0.

    -
    -
    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    You cannot use shift yes with tail yes, since those are -conflicting options. You cannot use tail yes with 2d simulations.

    -
    - -
    -

    Default¶

    -

    The option defaults are mix = geometric, shift = no, table = 12, -tabinner = sqrt(2.0), tail = no, and compute = yes.

    -

    Note that some pair styles perform mixing, but only a certain style of -mixing. See the doc pages for individual pair styles for details.

    -
    -

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).

    -

    (Sun) Sun, J Phys Chem B, 102, 7338-7364 (1998).

    -
    -
    +sub-styles with a value that is 0.0 or 1.0. +

    +
    +

    Restrictions: none +

    +

    You cannot use shift yes with tail yes, since those are +conflicting options. You cannot use tail yes with 2d simulations. +

    +

    Related commands: +

    +

    pair_style, pair_coeff, +thermo_style +

    +

    Default: +

    +

    The option defaults are mix = geometric, shift = no, table = 12, +tabinner = sqrt(2.0), tail = no, and compute = yes. +

    +

    Note that some pair styles perform mixing, but only a certain style of +mixing. See the doc pages for individual pair styles for details. +

    +
    -
    -
    -
    - + -
    +

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sun) Sun, J Phys Chem B, 102, 7338-7364 (1998). +

    + diff --git a/doc/pair_morse.html b/doc/pair_morse.html index 6691c0b761..58beb18f7f 100644 --- a/doc/pair_morse.html +++ b/doc/pair_morse.html @@ -1,284 +1,114 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style morse command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style morse command¶

    -
    -
    -

    pair_style morse/cuda command¶

    -
    -
    -

    pair_style morse/gpu command¶

    -
    -
    -

    pair_style morse/omp command¶

    -
    -
    -

    pair_style morse/opt command¶

    -
    -

    Syntax¶

    -
    pair_style morse cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for Morse interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style morse 2.5
    +
    +
    +
    + +

    pair_style morse command +

    +

    pair_style morse/cuda command +

    +

    pair_style morse/gpu command +

    +

    pair_style morse/omp command +

    +

    pair_style morse/opt command +

    +

    Syntax: +

    +
    pair_style morse cutoff 
    +
    +
    • cutoff = global cutoff for Morse interactions (distance units) +
    +

    Examples: +

    +
    pair_style morse 2.5
     pair_coeff * * 100.0 2.0 1.5
    -pair_coeff 1 1 100.0 2.0 1.5 3.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style morse computes pairwise interactions with the formula

    -_images/pair_morse.jpg -

    Rc is the cutoff.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 100.0 2.0 1.5 3.0 + +

    Description: +

    +

    Style morse computes pairwise interactions with the formula +

    +
    +
    +

    Rc is the cutoff. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • D0 (energy units)
    • -
    • alpha (1/distance units)
    • -
    • r0 (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global morse -cutoff is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands: +

    +
    • D0 (energy units) +
    • alpha (1/distance units) +
    • r0 (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global morse +cutoff is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    None of these pair styles support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    All of these pair styles support the pair_modify -shift option for the energy of the pair interaction.

    -

    The pair_modify table options is not relevant for -the Morse pair styles.

    -

    None of these pair styles support the pair_modify +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    None of these pair styles support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    All of these pair styles support the pair_modify +shift option for the energy of the pair interaction. +

    +

    The pair_modify table options is not relevant for +the Morse pair styles. +

    +

    None of these pair styles support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    All of these pair styles write their information to binary restart files, 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 command. They do not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +pressure. +

    +

    All of these pair styles write their information to binary restart +files, 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 command. They do not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_nb3b_harmonic.html b/doc/pair_nb3b_harmonic.html index acce127337..6d258736e1 100644 --- a/doc/pair_nb3b_harmonic.html +++ b/doc/pair_nb3b_harmonic.html @@ -1,293 +1,129 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style nb3b/harmonic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style nb3b/harmonic command¶

    -
    -
    -

    pair_style nb3b/harmonic/omp command¶

    -
    -

    Syntax¶

    -
    pair_style nb3b/harmonic
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style nb3b/harmonic
    -pair_coeff * * MgOH.nb3bharmonic Mg O H
    -
    -
    -
    -
    -

    Description¶

    -

    This pair style computes a nonbonded 3-body harmonic potential for the -energy E of a system of atoms as

    -_images/pair_nb3b_harmonic.jpg -

    where theta_0 is the equilibrium value of the angle and K is a -prefactor. Note that the usual 1/2 factor is included in K. The form -of the potential is identical to that used in angle_style harmonic, -but in this case, the atoms do not need to be explicitly bonded.

    -

    Only a single pair_coeff command is used with this style which + + +


    + +

    pair_style nb3b/harmonic command +

    +

    pair_style nb3b/harmonic/omp command +

    +

    Syntax: +

    +
    pair_style nb3b/harmonic 
    +
    +

    Examples: +

    +
    pair_style nb3b/harmonic
    +pair_coeff * * MgOH.nb3bharmonic Mg O H 
    +
    +

    Description: +

    +

    This pair style computes a nonbonded 3-body harmonic potential for the +energy E of a system of atoms as +

    +
    +
    +

    where theta_0 is the equilibrium value of the angle and K is a +prefactor. Note that the usual 1/2 factor is included in K. The form +of the potential is identical to that used in angle_style harmonic, +but in this case, the atoms do not need to be explicitly bonded. +

    +

    Only a single pair_coeff command is used with this style which specifies a potential file with parameters for specified elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the -number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine a file SiC.nb3b.harmonic has potential values +number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine a file SiC.nb3b.harmonic has potential values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command:

    -
    pair_coeff * * SiC.nb3b.harmonic Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +following pair_coeff command: +

    +
    pair_coeff * * SiC.nb3b.harmonic Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the potential file. The final C argument maps LAMMPS atom type 4 to the C element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when the potential is used as part of the hybrid pair style. The +when the potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other potentials. An example of a pair_coeff command for use with the -hybrid pair style is:

    -

    pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H

    -

    Three-body nonbonded harmonic files in the potentials directory of -the LAMMPS distribution have a ”.nb3b.harmonic” suffix. Lines that +hybrid pair style is: +

    +

    pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H +

    +

    Three-body nonbonded harmonic files in the potentials directory of +the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that are not blank or comments (starting with #) define parameters for a -triplet of elements.

    -

    Each entry has six arguments. The first three are atom types as +triplet of elements. +

    +

    Each entry has six arguments. The first three are atom types as referenced in the LAMMPS input file. The first argument specifies the -central atom. The fourth argument indicates the K parameter. The -fifth argument indicates theta_0. The sixth argument indicates a -separation cutoff in Angstroms.

    -

    For a given entry, if the second and third arguments are identical, +central atom. The fourth argument indicates the K parameter. The +fifth argument indicates theta_0. The sixth argument indicates a +separation cutoff in Angstroms. +

    +

    For a given entry, if the second and third arguments are identical, then the entry is for a cutoff for the distance between types 1 and 2 -(values for K and theta_0 are irrelevant in this case).

    -

    For a given entry, if the first three arguments are all different, -then the entry is for the K and theta_0 parameters (the cutoff in -this case is irrelevant).

    -

    It is not required that the potential file contain entries for all +(values for K and theta_0 are irrelevant in this case). +

    +

    For a given entry, if the first three arguments are all different, +then the entry is for the K and theta_0 parameters (the cutoff in +this case is irrelevant). +

    +

    It is not required that the potential file contain entries for all of the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +simulation; LAMMPS ignores those entries. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style can only be used if LAMMPS was built with the MANYBODY -package (which it is by default). See the Making LAMMPS section for more info on packages.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This pair style can only be used if LAMMPS was built with the MANYBODY +package (which it is by default). See the Making +LAMMPS section for more info on packages. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_nm.html b/doc/pair_nm.html index a1c4668a7d..809bdb3bd6 100644 --- a/doc/pair_nm.html +++ b/doc/pair_nm.html @@ -1,342 +1,183 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style nm/cut command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style nm/cut command¶

    -
    -
    -

    pair_style nm/cut/coul/cut command¶

    -
    -
    -

    pair_style nm/cut/coul/long command¶

    -
    -
    -

    pair_style nm/cut/omp command¶

    -
    -
    -

    pair_style nm/cut/coul/cut/omp command¶

    -
    -
    -

    pair_style nm/cut/coul/long/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = nm/cut or nm/cut/coul/cut or nm/cut/coul/long
    • -
    • args = list of arguments for a particular style
    • -
    -
    -nm/cut args = cutoff
    +
    +
    +
    + +

    pair_style nm/cut command +

    +

    pair_style nm/cut/coul/cut command +

    +

    pair_style nm/cut/coul/long command +

    +

    pair_style nm/cut/omp command +

    +

    pair_style nm/cut/coul/cut/omp command +

    +

    pair_style nm/cut/coul/long/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = nm/cut or nm/cut/coul/cut or nm/cut/coul/long + +
    • args = list of arguments for a particular style + +
        nm/cut args = cutoff
           cutoff = global cutoff for Pair interactions (distance units)
      -  nm/cut/coul/cut args = cutoff (cutoff2)
      +  nm/cut/coul/cut args = cutoff (cutoff2)
           cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
           cutoff2 = global cutoff for Coulombic (optional) (distance units)
      -  nm/cut/coul/long args = cutoff (cutoff2)
      +  nm/cut/coul/long args = cutoff (cutoff2)
           cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
      -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
      -
      -
    -
    -

    Examples¶

    -
    pair_style nm/cut 12.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    + + +

    Examples: +

    +
    pair_style nm/cut 12.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0
    -
    -
    -
    pair_style nm/cut/coul/cut 12.0 15.0
    +pair_coeff 1 1 0.01 4.4 7.0 6.0 
    +
    +
    pair_style nm/cut/coul/cut 12.0 15.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0
    -
    -
    -
    pair_style nm/cut/coul/long 12.0 15.0
    +pair_coeff 1 1 0.01 4.4 7.0 6.0 
    +
    +
    pair_style nm/cut/coul/long 12.0 15.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style nm computes site-site interactions based on the N-M potential -by Clarke, mainly used for ionic liquids. A site can +pair_coeff 1 1 0.01 4.4 7.0 6.0 + +

    Description: +

    +

    Style nm computes site-site interactions based on the N-M potential +by Clarke, mainly used for ionic liquids. A site can represent a single atom or a united-atom site. The energy of an -interaction has the following form:

    -_images/pair_nm.jpg -

    Rc is the cutoff.

    -

    Style nm/cut/coul/cut adds a Coulombic pairwise interaction given by

    -_images/pair_coulomb.jpg -

    where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. If one cutoff is -specified in the pair_style command, it is used for both the NM and +interaction has the following form: +

    +
    +
    +

    Rc is the cutoff. +

    +

    Style nm/cut/coul/cut adds a Coulombic pairwise interaction given by +

    +
    +
    +

    where C is an energy-conversion constant, Qi and Qj are the charges on +the 2 atoms, and epsilon is the dielectric constant which can be set +by the dielectric command. If one cutoff is +specified in the pair_style command, it is used for both the NM and Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the NM and Coulombic terms respectively.

    -

    Styles nm/cut/coul/long compute the same -Coulombic interactions as style nm/cut/coul/cut except that an +cutoffs for the NM and Coulombic terms respectively. +

    +

    Styles nm/cut/coul/long compute the same +Coulombic interactions as style nm/cut/coul/cut except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the kspace_style -command and its ewald or pppm option. The Coulombic cutoff +be used in conjunction with the kspace_style +command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are -computed in reciprocal space.

    -

    For all of the nm pair styles, the following coefficients must +computed in reciprocal space. +

    +

    For all of the nm pair styles, the following coefficients must be defined for each pair of atoms types -via the pair_coeff command as in the +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands.

    -
      -
    • E0 (energy units)
    • -
    • r0 (distance units)
    • -
    • n (unitless)
    • -
    • m (unitless)
    • -
    • cutoff1 (distance units)
    • -
    • cutoff2 (distance units)
    • -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands. +

    +
    • E0 (energy units) +
    • r0 (distance units) +
    • n (unitless) +
    • m (unitless) +
    • cutoff1 (distance units) +
    • cutoff2 (distance units) +
    +

    The latter 2 coefficients are optional. If not specified, the global NM and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both NM and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the NM and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style nm, since it -has no Coulombic terms.

    -

    For nm/cut/coul/long only the NM cutoff can be specified since a +type pair. You cannot specify 2 cutoffs for style nm, since it +has no Coulombic terms. +

    +

    For nm/cut/coul/long only the NM cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    All of the nm pair styles supports the -pair_modify shift option for the energy of the pair -interaction.

    -

    The nm/cut/coul/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction.

    -

    All of the nm pair styles support the pair_modify +pair_style command. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    All of the nm pair styles supports the +pair_modify shift option for the energy of the pair +interaction. +

    +

    The nm/cut/coul/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction. +

    +

    All of the nm pair styles support the pair_modify tail option for adding a long-range tail correction to the energy and -pressure for the NM portion of the pair interaction.

    -

    All of the nm pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    All of the nm pair styles can only be used via the pair keyword of -the run_style respa command. They do not support the -inner, middle, outer keywords.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pressure for the NM portion of the pair interaction. +

    +

    All of the nm pair styles write their information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    All of the nm pair styles can only be used via the pair keyword of +the run_style respa command. They do not support the +inner, middle, outer keywords. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +

    Restrictions: +

    +

    These pair styles are part of the MISC package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Clarke) Clarke and Smith, J Chem Phys, 84, 2290 (1986). +

    + diff --git a/doc/pair_none.html b/doc/pair_none.html index 15541cc35e..d6d1fedead 100644 --- a/doc/pair_none.html +++ b/doc/pair_none.html @@ -1,227 +1,45 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style none command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style none command¶

    -
    -

    Syntax¶

    -
    pair_style none
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Using a pair style of none means pair forces are not computed.

    -

    With this choice, the force cutoff is 0.0, which means that only atoms -within the neighbor skin distance (see the neighbor + + +


    + +

    pair_style none command +

    +

    Syntax: +

    +
    pair_style none 
    +
    +

    Examples: +

    +
    pair_style none 
    +
    +

    Description: +

    +

    Using a pair style of none means pair forces are not computed. +

    +

    With this choice, the force cutoff is 0.0, which means that only atoms +within the neighbor skin distance (see the neighbor command) are communicated between processors. You must insure the skin distance is large enough to acquire atoms needed for computing -bonds, angles, etc.

    -

    A pair style of none will also prevent pairwise neighbor lists from -being built. However if the neighbor style is bin, +bonds, angles, etc. +

    +

    A pair style of none will also prevent pairwise neighbor lists from +being built. However if the neighbor style is bin, data structures for binning are still allocated. If the neighbor skin distance is small, then these data structures can consume a large amount of memory. So you should either set the neighbor style to -nsq or set the skin distance to a larger value.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +nsq or set the skin distance to a larger value. +

    +

    Restrictions: none +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/pair_peri.html b/doc/pair_peri.html index c209904153..a505847a6f 100644 --- a/doc/pair_peri.html +++ b/doc/pair_peri.html @@ -1,372 +1,231 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style peri/pmb command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style peri/pmb command¶

    -
    -
    -

    pair_style peri/pmb/omp command¶

    -
    -
    -

    pair_style peri/lps command¶

    -
    -
    -

    pair_style peri/lps/omp command¶

    -
    -
    -

    pair_style peri/ves command¶

    -
    -
    -

    pair_style peri/eps command¶

    -
    -

    Syntax¶

    -
    pair_style style
    -
    -
    -

    style = peri/pmb or peri/lps or peri/ves or peri/eps:ul

    -
    -
    -

    Examples¶

    -
    pair_style peri/pmb
    -pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25
    -
    -
    -
    pair_style peri/lps
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25
    -
    -
    -
    pair_style peri/ves
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001
    -
    -
    -
    pair_style peri/eps
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43
    -
    -
    -
    -
    -

    Description¶

    -

    The peridynamic pair styles implement material models that can be used -at the mescscopic and macroscopic scales. See this document for an overview of LAMMPS commands -for Peridynamics modeling.

    -

    Style peri/pmb implements the Peridynamic bond-based prototype -microelastic brittle (PMB) model.

    -

    Style peri/lps implements the Peridynamic state-based linear -peridynamic solid (LPS) model.

    -

    Style peri/ves implements the Peridynamic state-based linear -peridynamic viscoelastic solid (VES) model.

    -

    Style peri/eps implements the Peridynamic state-based elastic-plastic -solid (EPS) model.

    -

    The canonical papers on Peridynamics are (Silling 2000) -and (Silling 2007). The implementation of Peridynamics -in LAMMPS is described in (Parks). Also see the PDLAMMPS user guide for -more details about its implementation.

    -

    The peridynamic VES and EPS models in PDLAMMPS were implemented by + + +


    + +

    pair_style peri/pmb command +

    +

    pair_style peri/pmb/omp command +

    +

    pair_style peri/lps command +

    +

    pair_style peri/lps/omp command +

    +

    pair_style peri/ves command +

    +

    pair_style peri/eps command +

    +

    Syntax: +

    +
    pair_style style 
    +
    +

    style = peri/pmb or peri/lps or peri/ves or peri/eps:ul +

    +

    Examples: +

    +
    pair_style peri/pmb
    +pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25 
    +
    +
    pair_style peri/lps
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 
    +
    +
    pair_style peri/ves
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001 
    +
    +
    pair_style peri/eps
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43 
    +
    +

    Description: +

    +

    The peridynamic pair styles implement material models that can be used +at the mescscopic and macroscopic scales. See this +document for an overview of LAMMPS commands +for Peridynamics modeling. +

    +

    Style peri/pmb implements the Peridynamic bond-based prototype +microelastic brittle (PMB) model. +

    +

    Style peri/lps implements the Peridynamic state-based linear +peridynamic solid (LPS) model. +

    +

    Style peri/ves implements the Peridynamic state-based linear +peridynamic viscoelastic solid (VES) model. +

    +

    Style peri/eps implements the Peridynamic state-based elastic-plastic +solid (EPS) model. +

    +

    The canonical papers on Peridynamics are (Silling 2000) +and (Silling 2007). The implementation of Peridynamics +in LAMMPS is described in (Parks). Also see the PDLAMMPS +user guide for +more details about its implementation. +

    +

    The peridynamic VES and EPS models in PDLAMMPS were implemented by R. Rahman and J. T. Foster at University of Texas at San Antonio. The -original VES formulation is described in “(Mitchell2011)” and the -original EPS formulation is in “(Mitchell2011a)”. Additional PDF docs +original VES formulation is described in "(Mitchell2011)" and the +original EPS formulation is in "(Mitchell2011a)". Additional PDF docs that describe the VES and EPS implementations are include in the -LAMMPS distro in doc/PDF/PDLammps_VES.pdf and -doc/PDF/PDLammps_EPS.pdf. For questions +LAMMPS distro in doc/PDF/PDLammps_VES.pdf and +doc/PDF/PDLammps_EPS.pdf. For questions regarding the VES and EPS models in LAMMPS you can contact R. Rahman -(rezwanur.rahman at utsa.edu).

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +(rezwanur.rahman at utsa.edu). +

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below.

    -

    For the peri/pmb style:

    -
      -
    • c (energy/distance/volume^2 units)
    • -
    • horizon (distance units)
    • -
    • s00 (unitless)
    • -
    • alpha (unitless)
    • -
    -

    C is the effectively a spring constant for Peridynamic bonds, the +read_data or read_restart +commands, or by mixing as described below. +

    +

    For the peri/pmb style: +

    +
    • c (energy/distance/volume^2 units) +
    • horizon (distance units) +
    • s00 (unitless) +
    • alpha (unitless) +
    +

    C is the effectively a spring constant for Peridynamic bonds, the horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. The units of c are such that c/distance = stiffness/volume^2, where stiffness is energy/distance^2 and volume is distance^3. See the users guide for -more details.

    -

    For the peri/lps style:

    -
      -
    • K (force/area units)
    • -
    • G (force/area units)
    • -
    • horizon (distance units)
    • -
    • s00 (unitless)
    • -
    • alpha (unitless)
    • -
    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +more details. +

    +

    For the peri/lps style: +

    +
    • K (force/area units) +
    • G (force/area units) +
    • horizon (distance units) +
    • s00 (unitless) +
    • alpha (unitless) +
    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. See the users guide for more -details.

    -

    For the peri/ves style:

    -
      -
    • K (force/area units)
    • -
    • G (force/area units)
    • -
    • horizon (distance units)
    • -
    • s00 (unitless)
    • -
    • alpha (unitless)
    • -
    • m_lambdai (unitless)
    • -
    • m_taubi (unitless)
    • -
    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +details. +

    +

    For the peri/ves style: +

    +
    • K (force/area units) +
    • G (force/area units) +
    • horizon (distance units) +
    • s00 (unitless) +
    • alpha (unitless) +
    • m_lambdai (unitless) +
    • m_taubi (unitless) +
    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. m_lambdai and m_taubi are the viscoelastic relaxation parameter and time constant, respectively. m_lambdai varies within zero to one. For very small values of m_lambdai the viscoelsatic model responds very similar to a linear elastic model. For details please see the description in -“(Mtchell2011)”.

    -

    For the peri/eps style:

    -

    K (force/area units) +"(Mtchell2011)". +

    +

    For the peri/eps style: +

    +

    K (force/area units) G (force/area units) horizon (distance units) s00 (unitless) -alpha (unitless) -m_yield_stress (force/area units)

    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +alpha (unitless) +m_yield_stress (force/area units) +

    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance and s00 and alpha are used as a bond breaking criteria. m_yield_stress is the yield stress of the material. For -details please see the description in “(Mtchell2011a)”.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +details please see the description in "(Mtchell2011a)". +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    These pair styles do not support the pair_modify -shift option.

    -

    The pair_modify table and tail options are not -relevant for these pair styles.

    -

    These pair styles write their information to binary restart files, 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 command. They do not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    All of these styles are part of the PERI package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +3166:1-34 (2011). +

    + diff --git a/doc/pair_polymorphic.html b/doc/pair_polymorphic.html index f3b220adae..44bee3163e 100644 --- a/doc/pair_polymorphic.html +++ b/doc/pair_polymorphic.html @@ -1,157 +1,43 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style polymorphic command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style polymorphic command¶

    -
    -

    Syntax¶

    -
    pair_style polymorphic
    -
    -
    -

    style = polymorphic

    -
    -
    -

    Examples¶

    -
    pair_style polymorphic
    +
    +
    +
    + +

    pair_style polymorphic command +

    +

    Syntax: +

    +
    pair_style polymorphic 
    +
    +

    style = polymorphic +

    +

    Examples: +

    +
    pair_style polymorphic
     pair_coeff * * TlBr_msw.polymorphic Tl Br
     pair_coeff * * AlCu_eam.polymorphic Al Cu
     pair_coeff * * GaN_tersoff.polymorphic Ga N
    -pair_coeff * * GaN_sw.polymorphic GaN
    -
    -
    -
    -
    -

    Description¶

    -

    The polymorphic pair style computes a 3-body free-form potential -(Zhou) for the energy E of a system of atoms as

    -_images/polymorphic1.jpg -_images/polymorphic2.jpg -_images/polymorphic2.jpg -

    where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N -represents a list of i’s neighbors, delta_ij is a Direc constant +pair_coeff * * GaN_sw.polymorphic GaN + +

    Description: +

    +

    The polymorphic pair style computes a 3-body free-form potential +(Zhou) for the energy E of a system of atoms as +

    +
    +
    +
    +
    +
    +
    +

    where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N +represents a list of i's neighbors, delta_ij is a Direc constant (i.e., delta_ij = 1 when i = j, and delta_ij = 0 otherwise), eta_ij is similar constant that can be set either to eta_ij = delta_ij or eta_ij = 1 - delta_ij depending on the potential type, U_IJ(r_ij), @@ -166,22 +52,34 @@ F_IJ(X_ij) are given. Note that these six functions are all one dimensional, and hence can be provided in an analytic or tabular form. This allows users to design different potentials solely based on a manipulation of these functions. For instance, the potential reduces -to Stillinger-Weber potential (SW) if we set

    -_images/polymorphic4.jpg -

    The potential reduces to Tersoff types of potential -(Tersoff or Albe) if we set

    -_images/polymorphic5.jpg -_images/polymorphic6.jpg -

    The potential reduces to Rockett-Tersoff (Wang) type if we set

    -_images/polymorphic7.jpg -_images/polymorphic6.jpg -_images/polymorphic8.jpg -

    The potential becomes embedded atom method (Daw) if we set

    -_images/polymorphic9.jpg -

    In the embedded atom method case, phi_IJ(r_ij) is the pair energy, +to Stillinger-Weber potential (SW) if we set +

    +
    +
    +

    The potential reduces to Tersoff types of potential +(Tersoff or Albe) if we set +

    +
    +
    +
    +
    +

    The potential reduces to Rockett-Tersoff (Wang) type if we set +

    +
    +
    +
    +
    +
    +
    +

    The potential becomes embedded atom method (Daw) if we set +

    +
    +
    +

    In the embedded atom method case, phi_IJ(r_ij) is the pair energy, F_I(X) is the embedding energy, X is the local electron density, and -f_K(r) is the atomic electron density function.

    -

    If the tabulated functions are created using the parameters of sw, +f_K(r) is the atomic electron density function. +

    +

    If the tabulated functions are created using the parameters of sw, tersoff, and eam potentials, the polymorphic pair style will produce the same global properties (energies and stresses) and the same forces as the sw, tersoff, and eam pair styles. The polymorphic pair style @@ -192,70 +90,74 @@ pair style will produce different atom properties (energies and stresses) as the sw pair style. This does not mean that polymorphic pair style is different from the sw pair style in this case. It just means that the definitions of the atom energies and atom stresses are -different.

    -

    Only a single pair_coeff command is used with the polymorphic style +different. +

    +

    Only a single pair_coeff command is used with the polymorphic style which specifies an potential file for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of -LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of Tersoff elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways to specify the path for +LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of Tersoff elements to atom types +
    +

    See the pair_coeff doc page for alternate ways to specify the path for the potential file. Several files for polymorphic potentials are included in the potentials dir of the LAMMPS distro. They have a -“poly” suffix.

    -

    As an example, imagine the SiC_tersoff.polymorphic file has tabulated +"poly" suffix. +

    +

    As an example, imagine the SiC_tersoff.polymorphic file has tabulated functions for Si-C tersoff potential. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you -would use the following pair_coeff command:

    -
    pair_coeff * * SiC_tersoff.polymorphic Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom +would use the following pair_coeff command: +

    +
    pair_coeff * * SiC_tersoff.polymorphic Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the polymorphic file. The final C argument maps LAMMPS atom type 4 to the C element in the polymorphic file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when an polymorphic potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be -used with other potentials.

    -

    Potential files in the potentials directory of the LAMMPS distribution -have a ”.poly” suffix. At the beginning of the files, an unlimited -number of lines starting with ‘#’ are used to describe the potential -and are ignored by LAMMPS. The next line lists two numbers:

    -
    ntypes eta
    -
    -
    -

    Here ntypes represent total number of species defined in the potential +used with other potentials. +

    +

    Potential files in the potentials directory of the LAMMPS distribution +have a ".poly" suffix. At the beginning of the files, an unlimited +number of lines starting with '#' are used to describe the potential +and are ignored by LAMMPS. The next line lists two numbers: +

    +
    ntypes eta 
    +
    +

    Here ntypes represent total number of species defined in the potential file, and eta = 0 or 1. The number ntypes must equal the total number of different species defined in the pair_coeff command. When eta = 1, eta_ij defined in the potential functions above is set to 1 - delta_ij, otherwise eta_ij is set to delta_ij. The next ntypes lines each lists two numbers and a character string representing atomic -number, atomic mass, and name of the species of the ntypes elements:

    -
    atomic_number atomic-mass element (1)
    +number, atomic mass, and name of the species of the ntypes elements:
    +

    +
    atomic_number atomic-mass element (1)
     atomic_number atomic-mass element (2)
     ...
    -atomic_number atomic-mass element (ntypes)
    -
    -
    -

    The next ntypes*(ntypes+1)/2 lines contain two numbers:

    -
    cut xi (1)
    +atomic_number atomic-mass element (ntypes) 
    +
    +

    The next ntypes*(ntypes+1)/2 lines contain two numbers: +

    +
    cut xi (1)
     cut xi (2)
     ...
    -cut xi (ntypes*(ntypes+1)/2)
    -
    -
    -

    Here cut means the cutoff distance of the pair functions, xi is the +cut xi (ntypes*(ntypes+1)/2) + +

    Here cut means the cutoff distance of the pair functions, xi is the same as defined in the potential functions above. The ntypes*(ntypes+1)/2 lines are related to the pairs according to the sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ..., ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12, -13, 14, ..., 23, 24, ...).

    -

    The final blocks of the potential file are the U, V, W, P, G, and F +13, 14, ..., 23, 24, ...). +

    +

    The final blocks of the potential file are the U, V, W, P, G, and F functions are listed sequentially. First, U functions are given for each of the ntypes*(ntypes+1)/2 pairs according to the sequence described above. For each of the pairs, nr values are listed. Next, @@ -273,108 +175,71 @@ where f(x) = c1 sin(c2*x) cos c1 c2 , where f(x) = c1 cos(c2*x) Tabulated functions are specified by spline n x1 x2, where n=number of point, (x1,x2)=range and then followed by n values evaluated uniformly over these argument ranges. The valid argument ranges of the -functions are between 0 <= r <= cut for the U(r), V(r), W(r) -functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, --1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX -for the F(X) functions.

    -

    Mixing, shift, table tail correction, restart:

    -

    This pair styles does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you +functions are between 0 <= r <= cut for the U(r), V(r), W(r) +functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, +-1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX +for the F(X) functions. +

    +

    Mixing, shift, table tail correction, restart: +

    +

    This pair styles does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write their information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -
    -
    -
    -

    Restrictions¶

    -

    If using create_atoms command, atomic masses must be defined in the +script that reads a restart file. +

    +
    + +

    Restrictions: +

    +

    If using create_atoms command, atomic masses must be defined in the input script. If using read_data, atomic masses must be defined in the -atomic structure data file.

    -

    This pair style is part of the MANYBODY package. It is only enabled if +atomic structure data file. +

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See the -Making LAMMPS section for more info.

    -

    This pair potential requires the newtion setting to be -“on” for pair interactions.

    -

    The potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can use +Making LAMMPS section for more info. +

    +

    This pair potential requires the newtion setting to be +"on" for pair interactions. +

    +

    The potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use any LAMMPS units, but you would need to create your own potential -files.

    -
    - -
    +files. +

    +

    Related commands: +

    +

    pair_coeff +

    +
    + -
    -
    -
    - +

    (Zhou) X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and +F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). +

    + -
    +

    (SW) F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Tersoff) J. Tersoff, Phys. Rev. B, 39, 5566 (1989). +

    + -
    +

    (Albe) K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, +66, 035205 (2002). +

    + -
    -
    +

    (Wang) J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Daw) M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984). +

    + diff --git a/doc/pair_polymorphic.txt b/doc/pair_polymorphic.txt index f5355037dd..8d3b579511 100644 --- a/doc/pair_polymorphic.txt +++ b/doc/pair_polymorphic.txt @@ -29,7 +29,7 @@ The {polymorphic} pair style computes a 3-body free-form potential :c,image(Eqs/polymorphic1.jpg) :c,image(Eqs/polymorphic2.jpg) -:c,image(Eqs/polymorphic2.jpg) +:c,image(Eqs/polymorphic3.jpg) where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N represents a list of i's neighbors, delta_ij is a Direc constant diff --git a/doc/pair_quip.html b/doc/pair_quip.html index 9ca8fdc54d..93096fca19 100644 --- a/doc/pair_quip.html +++ b/doc/pair_quip.html @@ -1,266 +1,102 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style quip command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style quip command¶

    -
    -

    Syntax¶

    -
    pair_style quip
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style      quip
    -pair_coeff      * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
    -pair_coeff      * * sw_example.xml "IP SW" 14
    -
    -
    -
    -
    -

    Description¶

    -

    Style quip provides an interface for calling potential routines from + + +


    + +

    pair_style quip command +

    +

    Syntax: +

    +
    pair_style quip 
    +
    +

    Examples: +

    +
    pair_style      quip
    +pair_coeff      * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
    +pair_coeff      * * sw_example.xml "IP SW" 14 
    +
    +

    Description: +

    +

    Style quip provides an interface for calling potential routines from the QUIP package. QUIP is built separately, and then linked to LAMMPS. The most recent version of the QUIP package can be downloaded from GitHub: -https://github.com/libAtoms/QUIP. The +https://github.com/libAtoms/QUIP. The interface is chiefly intended to be used to run Gaussian Approximation Potentials (GAP), which are described in the following publications: -(Bartok et al) and (PhD thesis of Bartok).

    -

    Only a single pair_coeff command is used with the quip style that +(Bartok et al) and (PhD thesis of +Bartok). +

    +

    Only a single pair_coeff command is used with the quip style that specifies a QUIP potential file containing the parameters of the potential for all needed elements in XML format. This is followed by a QUIP initialization string. Finally, the QUIP elements are mapped to LAMMPS atom types by specifying N atomic numbers, where N is the -number of LAMMPS atom types:

    -
      -
    • QUIP filename
    • -
    • QUIP initialization string
    • -
    • N atomic numbers = mapping of QUIP elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    A QUIP potential is fully specified by the filename which contains the +number of LAMMPS atom types: +

    +
    • QUIP filename +
    • QUIP initialization string +
    • N atomic numbers = mapping of QUIP elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    A QUIP potential is fully specified by the filename which contains the parameters of the potential in XML format, the initialisation string, -and the map of atomic numbers.

    -

    GAP potentials can be obtained from the Data repository section of -http://www.libatoms.org, where the +and the map of atomic numbers. +

    +

    GAP potentials can be obtained from the Data repository section of +http://www.libatoms.org, where the appropriate initialisation strings are also advised. The list of atomic numbers must be matched to the LAMMPS atom types specified in -the LAMMPS data file or elsewhere.

    -

    Two examples input scripts are provided in the examples/USER/quip -directory.

    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +the LAMMPS data file or elsewhere. +

    +

    Two examples input scripts are provided in the examples/USER/quip +directory. +

    +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-QUIP package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    QUIP potentials are parametrized in electron-volts and Angstroms and -therefore should be used with LAMMPS metal units.

    -
    - -
    +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-QUIP package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    QUIP potentials are parametrized in electron-volts and Angstroms and +therefore should be used with LAMMPS metal units. +

    +

    Related commands: +

    +

    pair_coeff +

    +
    + -
    -
    -
    - +

    (Bartok_2010) AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical +Review Letters 104, 136403 (2010). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bartok_PhD) A Bartok-Partay, PhD Thesis, University of Cambridge, +(2010). +

    + diff --git a/doc/pair_reax.html b/doc/pair_reax.html index 91afc6cd7d..bbd554e1b5 100644 --- a/doc/pair_reax.html +++ b/doc/pair_reax.html @@ -1,382 +1,216 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style reax command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style reax command¶

    -
    -

    Syntax¶

    -
    pair_style reax hbcut hbnewflag tripflag precision
    -
    -
    -
      -
    • hbcut = hydrogen-bond cutoff (optional) (distance units)
    • -
    • hbnewflag = use old or new hbond function style (0 or 1) (optional)
    • -
    • tripflag = apply stabilization to all triple bonds (0 or 1) (optional)
    • -
    • precision = precision for charge equilibration (optional)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style reax
    +
    +
    +
    + +

    pair_style reax command +

    +

    Syntax: +

    +
    pair_style reax hbcut hbnewflag tripflag precision 
    +
    +
    • hbcut = hydrogen-bond cutoff (optional) (distance units) +
    • hbnewflag = use old or new hbond function style (0 or 1) (optional) +
    • tripflag = apply stabilization to all triple bonds (0 or 1) (optional) +
    • precision = precision for charge equilibration (optional) +
    +

    Examples: +

    +
    pair_style reax
     pair_style reax 10.0 0 1 1.0e-5
     pair_coeff * * ffield.reax 3 1 2 2
    -pair_coeff * * ffield.reax 3 NULL NULL 3
    -
    -
    -
    -
    -

    Description¶

    -

    Style reax computes the ReaxFF potential of van Duin, Goddard and +pair_coeff * * ffield.reax 3 NULL NULL 3 + +

    Description: +

    +

    Style reax computes the ReaxFF potential of van Duin, Goddard and co-workers. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. There is more than one version of ReaxFF. The version implemented in LAMMPS uses the functional forms documented in the supplemental information of the following paper: -(Chenoweth). The version integrated into LAMMPS matches -the most up-to-date version of ReaxFF as of summer 2010.

    -

    The reax style differs from the pair_style reax/c -command in the lo-level implementation details. The reax style is a -Fortran library, linked to LAMMPS. The reax/c style was initially +(Chenoweth). The version integrated into LAMMPS matches +the most up-to-date version of ReaxFF as of summer 2010. +

    +

    The reax style differs from the pair_style reax/c +command in the lo-level implementation details. The reax style is a +Fortran library, linked to LAMMPS. The reax/c style was initially implemented as stand-alone C code and is now integrated into LAMMPS as -a package.

    -

    LAMMPS requires that a file called ffield.reax be provided, containing +a package. +

    +

    LAMMPS requires that a file called ffield.reax be provided, containing the ReaxFF parameters for each atom type, bond type, etc. The format is identical to the ffield file used by van Duin and co-workers. The filename is required as an argument in the pair_coeff command. Any -value other than “ffield.reax” will be rejected (see below).

    -

    LAMMPS provides several different versions of ffield.reax in its +value other than "ffield.reax" will be rejected (see below). +

    +

    LAMMPS provides several different versions of ffield.reax in its potentials dir, each called potentials/ffield.reax.label. These are documented in potentials/README.reax. The default ffield.reax -contains parameterizations for the following elements: C, H, O, N, S.

    -
    -

    Warning

    -

    We do not distribute a wide variety of ReaxFF force -field files with LAMMPS. Adri van Duin’s group at PSU is the central +contains parameterizations for the following elements: C, H, O, N, S. +

    +

    IMPORTANT NOTE: We do not distribute a wide variety of ReaxFF force +field files with LAMMPS. Adri van Duin's group at PSU is the central repository for this kind of data as they are continuously deriving and updating parameterizations for different classes of materials. You can visit their WWW site at -http://www.engr.psu.edu/adri, register -as a “new user”, and then submit a request to their group describing +http://www.engr.psu.edu/adri, register +as a "new user", and then submit a request to their group describing material(s) you are interested in modeling with ReaxFF. They can tell you what is currently available or what it would take to create a -suitable ReaxFF parameterization.

    -
    -

    The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of pair_style reax potential +suitable ReaxFF parameterization. +

    +

    The format of these files is identical to that used originally by van +Duin. We have tested the accuracy of pair_style reax potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been -tested).

    -

    The hbcut, hbnewflag, tripflag, and precision settings are +tested). +

    +

    The hbcut, hbnewflag, tripflag, and precision settings are optional arguments. If none are provided, default settings are used: -hbcut = 6 (which is Angstroms in real units), hbnewflag = 1 (use -new hbond function style), tripflag = 1 (apply stabilization to all -triple bonds), and precision = 1.0e-6 (one part in 10^6). If you +hbcut = 6 (which is Angstroms in real units), hbnewflag = 1 (use +new hbond function style), tripflag = 1 (apply stabilization to all +triple bonds), and precision = 1.0e-6 (one part in 10^6). If you wish to override any of these defaults, then all of the settings must -be specified.

    -

    Two examples using pair_style reax are provided in the examples/reax -sub-directory, along with corresponding examples for -pair_style reax/c.

    -

    Use of this pair style requires that a charge be defined for every -atom since the reax pair style performs a charge equilibration (QEq) -calculation. See the atom_style and -read_data commands for details on how to specify -charges.

    -

    The thermo variable evdwl stores the sum of all the ReaxFF potential +be specified. +

    +

    Two examples using pair_style reax are provided in the examples/reax +sub-directory, along with corresponding examples for +pair_style reax/c. +

    +

    Use of this pair style requires that a charge be defined for every +atom since the reax pair style performs a charge equilibration (QEq) +calculation. See the atom_style and +read_data commands for details on how to specify +charges. +

    +

    The thermo variable evdwl stores the sum of all the ReaxFF potential energy contributions, with the exception of the Coulombic and charge equilibration contributions which are stored in the thermo variable -ecoul. The output of these quantities is controlled by the -thermo command.

    -

    This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the compute pair command as a vector of values of length 14. +ecoul. The output of these quantities is controlled by the +thermo command. +

    +

    This pair style tallies a breakdown of the total ReaxFF potential +energy into sub-categories, which can be accessed via the compute +pair command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the ReaxFF FORTRAN library):

    -
      -
    1. eb = bond energy
    2. -
    3. ea = atom energy
    4. -
    5. elp = lone-pair energy
    6. -
    7. emol = molecule energy (always 0.0)
    8. -
    9. ev = valence angle energy
    10. -
    11. epen = double-bond valence angle penalty
    12. -
    13. ecoa = valence angle conjugation energy
    14. -
    15. ehb = hydrogen bond energy
    16. -
    17. et = torsion energy
    18. -
    19. eco = conjugation energy
    20. -
    21. ew = van der Waals energy
    22. -
    23. ep = Coulomb energy
    24. -
    25. efi = electric field energy (always 0.0)
    26. -
    27. eqeq = charge equilibration energy
    28. -
    -

    To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script:

    -
    compute reax all pair reax
    -variable eb           equal c_reax[1]
    -variable ea           equal c_reax[2]
    +names in italics match those used in the ReaxFF FORTRAN library):
    +

    +
    1. eb = bond energy +
    2. ea = atom energy +
    3. elp = lone-pair energy +
    4. emol = molecule energy (always 0.0) +
    5. ev = valence angle energy +
    6. epen = double-bond valence angle penalty +
    7. ecoa = valence angle conjugation energy +
    8. ehb = hydrogen bond energy +
    9. et = torsion energy +
    10. eco = conjugation energy +
    11. ew = van der Waals energy +
    12. ep = Coulomb energy +
    13. efi = electric field energy (always 0.0) +
    14. eqeq = charge equilibration energy +
    +

    To print these quantities to the log file (with descriptive column +headings) the following commands could be included in an input script: +

    +
    compute reax all pair reax
    +variable eb  	 equal c_reax[1]
    +variable ea  	 equal c_reax[2] 
     ...
    -variable eqeq         equal c_reax[14]
    -thermo_style custom step temp epair v_eb v_ea ... v_eqeq
    -
    -
    -

    Only a single pair_coeff command is used with the reax style which +variable eqeq equal c_reax[14] +thermo_style custom step temp epair v_eb v_ea ... v_eqeq + +

    Only a single pair_coeff command is used with the reax style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N indices = mapping of ReaxFF elements to atom types
    • -
    -

    The specification of the filename and the mapping of LAMMPS atom types +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N indices = mapping of ReaxFF elements to atom types +
    +

    The specification of the filename and the mapping of LAMMPS atom types recognized by the ReaxFF is done differently than for other LAMMPS potentials, due to the non-portable difficulty of passing character -strings (e.g. filename, element names) between C++ and Fortran.

    -

    The filename has to be “ffield.reax” and it has to exist in the +strings (e.g. filename, element names) between C++ and Fortran. +

    +

    The filename has to be "ffield.reax" and it has to exist in the directory you are running LAMMPS in. This means you cannot prepend a path to the file in the potentials dir. Rather, you should copy that file into the directory you are running from. If you wish to use -another ReaxFF potential file, then name it “ffield.reax” and put it -in the directory you run from.

    -

    In the ReaxFF potential file, near the top, after the general +another ReaxFF potential file, then name it "ffield.reax" and put it +in the directory you run from. +

    +

    In the ReaxFF potential file, near the top, after the general parameters, is the atomic parameters section that contains element names, each with a couple dozen numeric parameters. If there are M -elements specified in the ffield file, think of these as numbered 1 +elements specified in the ffield file, think of these as numbered 1 to M. Each of the N indices you specify for the N atom types of LAMMPS atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will be mapped to whatever element you specify as the first index value, etc. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a ReaxFF potential is used as part -of the hybrid pair style. The NULL values are placeholders for atom -types that will be used with other potentials.

    -
    -

    Warning

    -

    Currently the reax pair style cannot be used as part -of the hybrid pair style. Some additional changes still need to be -made to enable this.

    -
    -

    As an example, say your LAMMPS simulation has 4 atom types and the -elements are ordered as C, H, O, N in the ffield file. If you want +of the hybrid pair style. The NULL values are placeholders for atom +types that will be used with other potentials. +

    +

    IMPORTANT NOTE: Currently the reax pair style cannot be used as part +of the hybrid pair style. Some additional changes still need to be +made to enable this. +

    +

    As an example, say your LAMMPS simulation has 4 atom types and the +elements are ordered as C, H, O, N in the ffield file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair_coeff command:

    -
    pair_coeff * * ffield.reax 1 1 4 2
    -
    -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +H, you would use the following pair_coeff command: +

    +
    pair_coeff * * ffield.reax 1 1 4 2 
    +
    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real units. You can use +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    The ReaxFF potential files provided with LAMMPS in the potentials +directory are parameterized for real units. You can use the ReaxFF potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “real” units.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are hbcut = 6, hbnewflag = 1, tripflag = 1, -precision = 1.0e-6.

    -
    -

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, -Journal of Physical Chemistry A, 112, 1040-1053 (2008).

    -
    -
    +appropriate units if your simulation doesn't use "real" units. +

    +

    Related commands: +

    +

    pair_coeff, pair_style reax/c, +fix_reax_bonds +

    +

    Default: +

    +

    The keyword defaults are hbcut = 6, hbnewflag = 1, tripflag = 1, +precision = 1.0e-6. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, +Journal of Physical Chemistry A, 112, 1040-1053 (2008). +

    + diff --git a/doc/pair_reax_c.html b/doc/pair_reax_c.html index 743cced110..49e0e59e1a 100644 --- a/doc/pair_reax_c.html +++ b/doc/pair_reax_c.html @@ -1,456 +1,323 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style reax/c command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style reax/c command¶

    -
    -

    Syntax¶

    -
    pair_style reax/c cfile keyword value
    -
    -
    -
      -
    • cfile = NULL or name of a control file
    • -
    • zero or more keyword/value pairs may be appended
    • -
    -
    -keyword = checkqeq or lgvdw or safezone or mincap
    -  checkqeq value = yes or no = whether or not to require qeq/reax fix
    -  lgvdw value = yes or no = whether or not to use a low gradient vdW correction
    -  safezone = factor used for array allocation
    -  mincap = minimum size for array allocation
    -
    -
    -
    -

    Examples¶

    -
    pair_style reax/c NULL
    +
    +
    +
    + +

    pair_style reax/c command +

    +

    Syntax: +

    +
    pair_style reax/c cfile keyword value 
    +
    +
    • cfile = NULL or name of a control file + +
    • zero or more keyword/value pairs may be appended + +
      keyword = checkqeq or lgvdw or safezone or mincap
      +  checkqeq value = yes or no = whether or not to require qeq/reax fix 
      +  lgvdw value = yes or no = whether or not to use a low gradient vdW correction
      +  safezone = factor used for array allocation
      +  mincap = minimum size for array allocation 
      +
      + +
    +

    Examples: +

    +
    pair_style reax/c NULL
     pair_style reax/c controlfile checkqeq no
     pair_style reax/c NULL lgvdw yes
     pair_style reax/c NULL safezone 1.6 mincap 100
    -pair_coeff * * ffield.reax C H O N
    -
    -
    -
    -
    -

    Description¶

    -

    Style reax/c computes the ReaxFF potential of van Duin, Goddard and +pair_coeff * * ffield.reax C H O N + +

    Description: +

    +

    Style reax/c computes the ReaxFF potential of van Duin, Goddard and co-workers. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. There is more than one version of ReaxFF. The version implemented in LAMMPS uses the functional forms documented in the -supplemental information of the following paper: (Chenoweth et al., 2008). The version integrated into LAMMPS matches +supplemental information of the following paper: (Chenoweth et al., +2008). The version integrated into LAMMPS matches the most up-to-date version of ReaxFF as of summer 2010. For more technical details about the pair reax/c implementation of ReaxFF, see -the (Aktulga) paper.

    -

    The reax/c style differs from the pair_style reax -command in the lo-level implementation details. The reax style is a -Fortran library, linked to LAMMPS. The reax/c style was initially +the (Aktulga) paper. +

    +

    The reax/c style differs from the pair_style reax +command in the lo-level implementation details. The reax style is a +Fortran library, linked to LAMMPS. The reax/c style was initially implemented as stand-alone C code and is now integrated into LAMMPS as -a package.

    -

    LAMMPS provides several different versions of ffield.reax in its +a package. +

    +

    LAMMPS provides several different versions of ffield.reax in its potentials dir, each called potentials/ffield.reax.label. These are documented in potentials/README.reax. The default ffield.reax -contains parameterizations for the following elements: C, H, O, N, S.

    -

    The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of pair_style reax/c potential +contains parameterizations for the following elements: C, H, O, N, S. +

    +

    The format of these files is identical to that used originally by van +Duin. We have tested the accuracy of pair_style reax/c potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been -tested).

    -
    -

    Warning

    -

    We do not distribute a wide variety of ReaxFF force -field files with LAMMPS. Adri van Duin’s group at PSU is the central +tested). +

    +

    IMPORTANT NOTE: We do not distribute a wide variety of ReaxFF force +field files with LAMMPS. Adri van Duin's group at PSU is the central repository for this kind of data as they are continuously deriving and updating parameterizations for different classes of materials. You can visit their WWW site at -http://www.engr.psu.edu/adri, register -as a “new user”, and then submit a request to their group describing +http://www.engr.psu.edu/adri, register +as a "new user", and then submit a request to their group describing material(s) you are interested in modeling with ReaxFF. They can tell you what is currently available or what it would take to create a -suitable ReaxFF parameterization.

    -
    -

    The cfile setting can be specified as NULL, in which case default +suitable ReaxFF parameterization. +

    +

    The cfile setting can be specified as NULL, in which case default settings are used. A control file can be specified which defines -values of control variables. Some control variables are +values of control variables. Some control variables are global parameters for the ReaxFF potential. Others define certain -performance and output settings. +performance and output settings. Each line in the control file specifies the value for a control variable. The format of the control file is described -below.

    -
    -

    Warning

    -

    The LAMMPS default values for the ReaxFF global parameters +below. +

    +

    IMPORTANT NOTE: The LAMMPS default values for the ReaxFF global parameters correspond to those used by -Adri van Duin’s stand-alone serial code. If these are changed by +Adri van Duin's stand-alone serial code. If these are changed by setting control variables in the control file, the results from -LAMMPS and the serial code will not agree.

    -
    -

    Two examples using pair_style reax/c are provided in the examples/reax -sub-directory, along with corresponding examples for -pair_style reax.

    -

    Use of this pair style requires that a charge be defined for every -atom. See the atom_style and -read_data commands for details on how to specify -charges.

    -

    The ReaxFF parameter files provided were created using a charge +LAMMPS and the serial code will not agree. +

    +

    Two examples using pair_style reax/c are provided in the examples/reax +sub-directory, along with corresponding examples for +pair_style reax. +

    +

    Use of this pair style requires that a charge be defined for every +atom. See the atom_style and +read_data commands for details on how to specify +charges. +

    +

    The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the fix qeq/reax command be used with pair_style reax/c +Therefore, by default, LAMMPS requires that the fix +qeq/reax command be used with pair_style reax/c when simulating a ReaxFF model, to equilibrate charge each timestep. -Using the keyword checkqeq with the value no -turns off the check for fix qeq/reax, +Using the keyword checkqeq with the value no +turns off the check for fix qeq/reax, allowing a simulation to be run without charge equilibration. In this case, the static charges you assign to each atom will be used for computing the electrostatic interactions in the system. -See the fix qeq/reax command for details.

    -

    Using the optional keyword lgvdw with the value yes turns on -the low-gradient correction of the ReaxFF/C for long-range -London Dispersion, as described in the (Liu) paper. Force field -file ffield.reax.lg is designed for this correction, and is trained -for several energetic materials (see “Liu”). When using lg-correction, -recommended value for parameter thb is 0.01, which can be set in the -control file. Note: Force field files are different for the original -or lg corrected pair styles, using wrong ffield file generates an error message.

    -

    Optional keywords safezone and mincap are used for allocating -reax/c arrays. Increase these values can avoid memory problems, such -as segmentation faults and bondchk failed errors, that could occur under -certain conditions.

    -

    The thermo variable evdwl stores the sum of all the ReaxFF potential +See the fix qeq/reax command for details. +

    +

    Using the optional keyword lgvdw with the value yes turns on +the low-gradient correction of the ReaxFF/C for long-range +London Dispersion, as described in the (Liu) paper. Force field +file ffield.reax.lg is designed for this correction, and is trained +for several energetic materials (see "Liu"). When using lg-correction, +recommended value for parameter thb is 0.01, which can be set in the +control file. Note: Force field files are different for the original +or lg corrected pair styles, using wrong ffield file generates an error message. +

    +

    Optional keywords safezone and mincap are used for allocating +reax/c arrays. Increase these values can avoid memory problems, such +as segmentation faults and bondchk failed errors, that could occur under +certain conditions. +

    +

    The thermo variable evdwl stores the sum of all the ReaxFF potential energy contributions, with the exception of the Coulombic and charge equilibration contributions which are stored in the thermo variable -ecoul. The output of these quantities is controlled by the -thermo command.

    -

    This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the compute pair command as a vector of values of length 14. +ecoul. The output of these quantities is controlled by the +thermo command. +

    +

    This pair style tallies a breakdown of the total ReaxFF potential +energy into sub-categories, which can be accessed via the compute +pair command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the original FORTRAN ReaxFF code):

    -
      -
    1. eb = bond energy
    2. -
    3. ea = atom energy
    4. -
    5. elp = lone-pair energy
    6. -
    7. emol = molecule energy (always 0.0)
    8. -
    9. ev = valence angle energy
    10. -
    11. epen = double-bond valence angle penalty
    12. -
    13. ecoa = valence angle conjugation energy
    14. -
    15. ehb = hydrogen bond energy
    16. -
    17. et = torsion energy
    18. -
    19. eco = conjugation energy
    20. -
    21. ew = van der Waals energy
    22. -
    23. ep = Coulomb energy
    24. -
    25. efi = electric field energy (always 0.0)
    26. -
    27. eqeq = charge equilibration energy
    28. -
    -

    To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script:

    -
    compute reax all pair reax/c
    -variable eb           equal c_reax[1]
    -variable ea           equal c_reax[2]
    +names in italics match those used in the original FORTRAN ReaxFF code):
    +

    +
    1. eb = bond energy +
    2. ea = atom energy +
    3. elp = lone-pair energy +
    4. emol = molecule energy (always 0.0) +
    5. ev = valence angle energy +
    6. epen = double-bond valence angle penalty +
    7. ecoa = valence angle conjugation energy +
    8. ehb = hydrogen bond energy +
    9. et = torsion energy +
    10. eco = conjugation energy +
    11. ew = van der Waals energy +
    12. ep = Coulomb energy +
    13. efi = electric field energy (always 0.0) +
    14. eqeq = charge equilibration energy +
    +

    To print these quantities to the log file (with descriptive column +headings) the following commands could be included in an input script: +

    +
    compute reax all pair reax/c
    +variable eb  	 equal c_reax[1]
    +variable ea  	 equal c_reax[2] 
     ...
    -variable eqeq         equal c_reax[14]
    -thermo_style custom step temp epair v_eb v_ea ... v_eqeq
    -
    -
    -

    Only a single pair_coeff command is used with the reax/c style which +variable eqeq equal c_reax[14] +thermo_style custom step temp epair v_eb v_ea ... v_eqeq + +

    Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N indices = ReaxFF elements
    • -
    -

    The filename is the ReaxFF potential file. Unlike for the reax -pair style, any filename can be used.

    -

    In the ReaxFF potential file, near the top, after the general +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N indices = ReaxFF elements +
    +

    The filename is the ReaxFF potential file. Unlike for the reax +pair style, any filename can be used. +

    +

    In the ReaxFF potential file, near the top, after the general parameters, is the atomic parameters section that contains element names, each with a couple dozen numeric parameters. If there are M -elements specified in the ffield file, think of these as numbered 1 +elements specified in the ffield file, think of these as numbered 1 to M. Each of the N indices you specify for the N atom types of LAMMPS atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will be mapped to whatever element you specify as the first index value, etc. If a mapping value is specified as NULL, the mapping is not -performed. This can be used when the reax/c style is used as part -of the hybrid pair style. The NULL values are placeholders for atom -types that will be used with other potentials.

    -

    As an example, say your LAMMPS simulation has 4 atom types and the -elements are ordered as C, H, O, N in the ffield file. If you want +performed. This can be used when the reax/c style is used as part +of the hybrid pair style. The NULL values are placeholders for atom +types that will be used with other potentials. +

    +

    As an example, say your LAMMPS simulation has 4 atom types and the +elements are ordered as C, H, O, N in the ffield file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair_coeff command:

    -
    pair_coeff * * ffield.reax C C N H
    -
    -
    -
    -

    The format of a line in the control file is as follows:

    -
    variable_name value
    -
    -
    -

    and it may be followed by an ”!” character and a trailing comment.

    -

    If the value of a control variable is not specified, then default +H, you would use the following pair_coeff command: +

    +
    pair_coeff * * ffield.reax C C N H 
    +
    +
    + +

    The format of a line in the control file is as follows: +

    +
    variable_name value 
    +
    +

    and it may be followed by an "!" character and a trailing comment. +

    +

    If the value of a control variable is not specified, then default values are used. What follows is the list of variables along with a -brief description of their use and default values.

    -

    simulation_name: Output files produced by pair_style reax/c carry +brief description of their use and default values. +

    +

    simulation_name: Output files produced by pair_style reax/c carry this name + extensions specific to their contents. Partial energies -are reported with a ”.pot” extension, while the trajectory file has -”.trj” extension.

    -

    tabulate_long_range: To improve performance, long range interactions +are reported with a ".pot" extension, while the trajectory file has +".trj" extension. +

    +

    tabulate_long_range: To improve performance, long range interactions can optionally be tabulated (0 means no tabulation). Value of this variable denotes the size of the long range interaction table. The -range from 0 to long range cutoff (defined in the ffield file) is -divided into tabulate_long_range points. Then at the start of +range from 0 to long range cutoff (defined in the ffield file) is +divided into tabulate_long_range points. Then at the start of simulation, we fill in the entries of the long range interaction table by computing the energies and forces resulting from van der Waals and Coulomb interactions between every possible atom type pairs present in the input system. During the simulation we consult to the long range interaction table to estimate the energy and forces between a pair of atoms. Linear interpolation is used for estimation. (default value = -0)

    -

    energy_update_freq: Denotes the frequency (in number of steps) of -writes into the partial energies file. (default value = 0)

    -

    nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) -regarding the bonded interactions. (default value = 5.0)

    -

    hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen -bond interactions.(default value = 7.5. Value of 0.0 turns off hydrogen

    -
    -
    bonds)
    -

    bond_graph_cutoff: is the threshold used in determining what is a +0) +

    +

    energy_update_freq: Denotes the frequency (in number of steps) of +writes into the partial energies file. (default value = 0) +

    +

    nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) +regarding the bonded interactions. (default value = 5.0) +

    +

    hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen +bond interactions.(default value = 7.5. Value of 0.0 turns off hydrogen + bonds) +

    +

    bond_graph_cutoff: is the threshold used in determining what is a physical bond, what is not. Bonds and angles reported in the -trajectory file rely on this cutoff. (default value = 0.3)

    -

    thb_cutoff: cutoff value for the strength of bonds to be considered in -three body interactions. (default value = 0.001)

    -

    thb_cutoff_sq: cutoff value for the strength of bond order products -to be considered in three body interactions. (default value = 0.00001)

    -

    write_freq: Frequency of writes into the trajectory file. (default -value = 0)

    -

    traj_title: Title of the trajectory - not the name of the trajectory -file.

    -

    atom_info: 1 means print only atomic positions + charge (default = 0)

    -

    atom_forces: 1 adds net forces to atom lines in the trajectory file -(default = 0)

    -

    atom_velocities: 1 adds atomic velocities to atoms line (default = 0)

    -

    bond_info: 1 prints bonds in the trajectory file (default = 0)

    -

    angle_info: 1 prints angles in the trajectory file (default = 0)

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +trajectory file rely on this cutoff. (default value = 0.3) +

    +

    thb_cutoff: cutoff value for the strength of bonds to be considered in +three body interactions. (default value = 0.001) +

    +

    thb_cutoff_sq: cutoff value for the strength of bond order products +to be considered in three body interactions. (default value = 0.00001) +

    +

    write_freq: Frequency of writes into the trajectory file. (default +value = 0) +

    +

    traj_title: Title of the trajectory - not the name of the trajectory +file. +

    +

    atom_info: 1 means print only atomic positions + charge (default = 0) +

    +

    atom_forces: 1 adds net forces to atom lines in the trajectory file +(default = 0) +

    +

    atom_velocities: 1 adds atomic velocities to atoms line (default = 0) +

    +

    bond_info: 1 prints bonds in the trajectory file (default = 0) +

    +

    angle_info: 1 prints angles in the trajectory file (default = 0) +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-REAXC package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real units. You can use +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-REAXC package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    The ReaxFF potential files provided with LAMMPS in the potentials +directory are parameterized for real units. You can use the ReaxFF potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “real” units.

    -
    - -
    -

    Default¶

    -

    The keyword defaults are checkqeq = yes, lgvdw = no, safezone = 1.2, -mincap = 50.

    -
    -

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, -Journal of Physical Chemistry A, 112, 1040-1053 (2008).

    -

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, -245-259 (2012).

    -

    (Liu) L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal -of Physical Chemistry A, 115, 11016-11022 (2011).

    -
    -
    +appropriate units if your simulation doesn't use "real" units. +

    +

    Related commands: +

    +

    pair_coeff, fix qeq/reax, fix +reax/c/bonds, fix +reax/c/species, pair_style +reax +

    +

    Default: +

    +

    The keyword defaults are checkqeq = yes, lgvdw = no, safezone = 1.2, +mincap = 50. +

    +
    + -
    -
    -
    - +

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, +Journal of Physical Chemistry A, 112, 1040-1053 (2008). +

    + -
    +

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, +245-259 (2012). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Liu) L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal +of Physical Chemistry A, 115, 11016-11022 (2011). +

    + diff --git a/doc/pair_resquared.html b/doc/pair_resquared.html index 7c2471adf4..e391abdbc9 100644 --- a/doc/pair_resquared.html +++ b/doc/pair_resquared.html @@ -1,376 +1,244 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style resquared command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style resquared command¶

    -
    -
    -

    pair_style resquared/gpu command¶

    -
    -
    -

    pair_style resquared/omp command¶

    -
    -

    Syntax¶

    -
    pair_style resquared cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style resquared 10.0
    -pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style resquared computes the RE-squared anisotropic interaction -(Everaers), (Babadi) between pairs of + + +


    + +

    pair_style resquared command +

    +

    pair_style resquared/gpu command +

    +

    pair_style resquared/omp command +

    +

    Syntax: +

    +
    pair_style resquared cutoff 
    +
    +
    • cutoff = global cutoff for interactions (distance units) +
    +

    Examples: +

    +
    pair_style resquared 10.0
    +pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0 
    +
    +

    Description: +

    +

    Style resquared computes the RE-squared anisotropic interaction +(Everaers), (Babadi) between pairs of ellipsoidal and/or spherical Lennard-Jones particles. For ellipsoidal interactions, the potential considers the ellipsoid as being comprised of small spheres of size sigma. LJ particles are a single sphere of size sigma. The distinction is made to allow the pair style to make -efficient calculations of ellipsoid/solvent interactions.

    -

    Details for the equations used are given in the references below and -in this supplementary document.

    -

    Use of this pair style requires the NVE, NVT, or NPT fixes with the -asphere extension (e.g. fix nve/asphere) in -order to integrate particle rotation. Additionally, atom_style ellipsoid should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +efficient calculations of ellipsoid/solvent interactions. +

    +

    Details for the equations used are given in the references below and +in this supplementary document. +

    +

    Use of this pair style requires the NVE, NVT, or NPT fixes with the +asphere extension (e.g. fix nve/asphere) in +order to integrate particle rotation. Additionally, atom_style +ellipsoid should be used since it defines the +rotational state and the size and shape of each ellipsoidal particle. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands:

    -
      -
    • A12 = Energy Prefactor/Hamaker constant (energy units)
    • -
    • sigma = atomic interaction diameter (distance units)
    • -
    • epsilon_i_a = relative well depth of type I for side-to-side interactions
    • -
    • epsilon_i_b = relative well depth of type I for face-to-face interactions
    • -
    • epsilon_i_c = relative well depth of type I for end-to-end interactions
    • -
    • epsilon_j_a = relative well depth of type J for side-to-side interactions
    • -
    • epsilon_j_b = relative well depth of type J for face-to-face interactions
    • -
    • epsilon_j_c = relative well depth of type J for end-to-end interactions
    • -
    • cutoff (distance units)
    • -
    -

    The parameters used depend on the type of the interacting particles, +read_data or read_restart +commands: +

    +
    • A12 = Energy Prefactor/Hamaker constant (energy units) +
    • sigma = atomic interaction diameter (distance units) +
    • epsilon_i_a = relative well depth of type I for side-to-side interactions +
    • epsilon_i_b = relative well depth of type I for face-to-face interactions +
    • epsilon_i_c = relative well depth of type I for end-to-end interactions +
    • epsilon_j_a = relative well depth of type J for side-to-side interactions +
    • epsilon_j_b = relative well depth of type J for face-to-face interactions +
    • epsilon_j_c = relative well depth of type J for end-to-end interactions +
    • cutoff (distance units) +
    +

    The parameters used depend on the type of the interacting particles, i.e. ellipsoids or LJ spheres. The type of a particle is determined by the diameters specified for its 3 shape paramters. If all 3 shape parameters = 0.0, then the particle is treated as an LJ sphere. The epsilon_i_* or epsilon_j_* parameters are ignored for LJ spheres. If -the 3 shape paraemters are > 0.0, then the particle is treated as an -ellipsoid (even if the 3 parameters are equal to each other).

    -

    A12 specifies the energy prefactor which depends on the types of the -two interacting particles.

    -

    For ellipsoid/ellipsoid interactions, the interaction is computed by +the 3 shape paraemters are > 0.0, then the particle is treated as an +ellipsoid (even if the 3 parameters are equal to each other). +

    +

    A12 specifies the energy prefactor which depends on the types of the +two interacting particles. +

    +

    For ellipsoid/ellipsoid interactions, the interaction is computed by the formulas in the supplementary docuement referenced above. A12 is -the Hamaker constant as described in (Everaers). In LJ -units:

    -_images/pair_resquared.jpg -

    where rho gives the number density of the spherical particles +the Hamaker constant as described in (Everaers). In LJ +units: +

    +
    +
    +

    where rho gives the number density of the spherical particles composing the ellipsoids and epsilon_LJ determines the interaction -strength of the spherical particles.

    -

    For ellipsoid/LJ sphere interactions, the interaction is also computed +strength of the spherical particles. +

    +

    For ellipsoid/LJ sphere interactions, the interaction is also computed by the formulas in the supplementary docuement referenced above. A12 -has a modifed form (see here for -details):

    -_images/pair_resquared2.jpg -

    For ellipsoid/LJ sphere interactions, a correction to the distance- +has a modifed form (see here for +details): +

    +
    +
    +

    For ellipsoid/LJ sphere interactions, a correction to the distance- of-closest approach equation has been implemented to reduce the error -from two particles of disparate sizes; see this supplementary document.

    -

    For LJ sphere/LJ sphere interactions, the interaction is computed +from two particles of disparate sizes; see this supplementary +document. +

    +

    For LJ sphere/LJ sphere interactions, the interaction is computed using the standard Lennard-Jones formula, which is much cheaper to compute than the ellipsoidal formulas. A12 is used as epsilon in the -standard LJ formula:

    -_images/pair_resquared3.jpg -

    and the specified sigma is used as the sigma in the standard LJ -formula.

    -

    When one of both of the interacting particles are ellipsoids, then -sigma specifies the diameter of the continuous distribution of +standard LJ formula: +

    +
    +
    +

    and the specified sigma is used as the sigma in the standard LJ +formula. +

    +

    When one of both of the interacting particles are ellipsoids, then +sigma specifies the diameter of the continuous distribution of constituent particles within each ellipsoid used to model the RE-squared potential. Note that this is a different meaning for -sigma than the pair_style gayberne potential -uses.

    -

    The epsilon_i and epsilon_j coefficients are defined for atom types, +sigma than the pair_style gayberne potential +uses. +

    +

    The epsilon_i and epsilon_j coefficients are defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type.

    -

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are +commands, they only need to be specified once for each atom type. +

    +

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_i values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in “pair_coeff I J” commands when +coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other -pair_coeff commands.

    -

    Note that if this potential is being used as a sub-style of -pair_style hybrid, and there is no “pair_coeff I I” +pair_coeff commands. +

    +

    Note that if this potential is being used as a sub-style of +pair_style hybrid, and there is no "pair_coeff I I" setting made for RE-squared for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type in a “pair_coeff I J” command.

    -

    For large uniform molecules it has been shown that the epsilon_*_* +that type in a "pair_coeff I J" command. +

    +

    For large uniform molecules it has been shown that the epsilon_*_* energy parameters are approximately representable in terms of local -contact curvatures (Everaers):

    -_images/pair_resquared4.jpg -

    where a, b, and c give the particle diameters.

    -

    The last coefficient is optional. If not specified, the global cutoff -specified in the pair_style command is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +contact curvatures (Everaers): +

    +
    +
    +

    where a, b, and c give the particle diameters. +

    +

    The last coefficient is optional. If not specified, the global cutoff +specified in the pair_style command is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed, but only for sphere pairs. The -default mix value is geometric. See the “pair_modify” command for +default mix value is geometric. See the "pair_modify" command for details. Other type pairs cannot be mixed, due to the different meanings of the energy prefactors used to calculate the interactions and the implicit dependence of the ellipsoid-sphere interaction on the equation for the Hamaker constant presented here. Mixing of sigma and epsilon followed by calculation of the energy prefactors using the -equations above is recommended.

    -

    This pair styles supports the pair_modify shift +equations above is recommended. +

    +

    This pair styles supports the pair_modify shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +dependence of the interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords of the run_style command.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This pair style requires that atoms be ellipsoids as defined by the -atom_style ellipsoid command.

    -

    Particles acted on by the potential can be finite-size aspherical or +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords of the run_style +command. +

    +
    + +

    Restrictions: +

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This pair style requires that atoms be ellipsoids as defined by the +atom_style ellipsoid command. +

    +

    Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all 3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0.

    -

    The distance-of-closest-approach approximation used by LAMMPS becomes -less accurate when high-aspect ratio ellipsoids are used.

    -
    - -
    +all 3 of their shape parameters equal to 0.0. +

    +

    The distance-of-closest-approach approximation used by LAMMPS becomes +less accurate when high-aspect ratio ellipsoids are used. +

    +

    Related commands: +

    +

    pair_coeff, fix nve/asphere, +compute temp/asphere, pair_style +gayberne +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Everaers) Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Berardi) Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006). +

    + diff --git a/doc/pair_sdk.html b/doc/pair_sdk.html index f19f5f1878..edfb1d2202 100644 --- a/doc/pair_sdk.html +++ b/doc/pair_sdk.html @@ -1,329 +1,169 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style lj/sdk command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style lj/sdk command¶

    -
    -
    -

    pair_style lj/sdk/gpu command¶

    -
    -
    -

    pair_style lj/sdk/kk command¶

    -
    -
    -

    pair_style lj/sdk/omp command¶

    -
    -
    -

    pair_style lj/sdk/coul/long command¶

    -
    -
    -

    pair_style lj/sdk/coul/long/gpu command¶

    -
    -
    -

    pair_style lj/sdk/coul/long/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = lj/sdk or lj/sdk/coul/long
    • -
    • args = list of arguments for a particular style
    • -
    -
    -lj/sdk args = cutoff
    +
    +
    +
    + +

    pair_style lj/sdk command +

    +

    pair_style lj/sdk/gpu command +

    +

    pair_style lj/sdk/kk command +

    +

    pair_style lj/sdk/omp command +

    +

    pair_style lj/sdk/coul/long command +

    +

    pair_style lj/sdk/coul/long/gpu command +

    +

    pair_style lj/sdk/coul/long/omp command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = lj/sdk or lj/sdk/coul/long +
    • args = list of arguments for a particular style +
    +
      lj/sdk args = cutoff
         cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/sdk/coul/long args = cutoff (cutoff2)
    +  lj/sdk/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -
    -
    -
    -

    Examples¶

    -
    pair_style lj/sdk 2.5
    -pair_coeff 1 1 lj12_6 1 1.1 2.8
    -
    -
    -
    pair_style lj/sdk/coul/long 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    +
    +

    Examples: +

    +
    pair_style lj/sdk 2.5
    +pair_coeff 1 1 lj12_6 1 1.1 2.8 
    +
    +
    pair_style lj/sdk/coul/long 10.0
     pair_style lj/sdk/coul/long 10.0 12.0
    -pair_coeff 1 1 lj9_6 100.0 3.5 12.0
    -
    -
    -
    -
    -

    Description¶

    -

    The lj/sdk styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, -given by

    -_images/pair_cmm.jpg -

    as required for the SDK Coarse-grained MD parametrization discussed in -(Shinoda) and (DeVane). Rc is the cutoff.

    -

    Style lj/sdk/coul/long computes the adds Coulombic interactions -with an additional damping factor applied so it can be used in -conjunction with the kspace_style command and -its ewald or pppm or pppm/cg option. The Coulombic cutoff +pair_coeff 1 1 lj9_6 100.0 3.5 12.0 + +

    Description: +

    +

    The lj/sdk styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, +given by +

    +
    +
    +

    as required for the SDK Coarse-grained MD parametrization discussed in +(Shinoda) and (DeVane). Rc is the cutoff. +

    +

    Style lj/sdk/coul/long computes the adds Coulombic interactions +with an additional damping factor applied so it can be used in +conjunction with the kspace_style command and +its ewald or pppm or pppm/cg option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that -distance are computed in reciprocal space.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +distance are computed in reciprocal space. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • cg_type (lj9_6, lj12_4, or lj12_6)
    • -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff1 (distance units)
    • -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below: +

    +
    • cg_type (lj9_6, lj12_4, or lj12_6) +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff1 (distance units) +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum. The prefactors -are chosen so that the potential minimum is at -epsilon.

    -

    The latter 2 coefficients are optional. If not specified, the global +are chosen so that the potential minimum is at -epsilon. +

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair.

    -

    For lj/sdk/coul/long only the LJ cutoff can be specified since a +type pair. +

    +

    For lj/sdk/coul/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp or opt suffix are +pair_style command. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, and rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/sdk pair styles cannot be mixed, +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, and rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distance for all of the lj/sdk pair styles cannot be mixed, since different pairs may have different exponents. So all parameters -for all pairs have to be specified explicitly through the “pair_coeff” +for all pairs have to be specified explicitly through the "pair_coeff" command. Defining then in a data file is also not supported, due to -limitations of that file format.

    -

    All of the lj/sdk pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction.

    -

    The lj/sdk/coul/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction.

    -

    All of the lj/sdk pair styles write their information to binary restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file.

    -

    The lj/sdk and lj/cut/coul/long pair styles do not support -the use of the inner, middle, and outer keywords of the run_style respa command.

    -
    -
    -
    -

    Restrictions¶

    -

    All of the lj/sdk pair styles are part of the USER-CG-CMM package. -The lj/sdk/coul/long style also requires the KSPACE package to be +limitations of that file format. +

    +

    All of the lj/sdk pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction. +

    +

    The lj/sdk/coul/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction. +

    +

    All of the lj/sdk pair styles write their information to binary +restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +

    +

    The lj/sdk and lj/cut/coul/long pair styles do not support +the use of the inner, middle, and outer keywords of the run_style +respa command. +

    +
    + +

    Restrictions: +

    +

    All of the lj/sdk pair styles are part of the USER-CG-CMM package. +The lj/sdk/coul/long style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS -was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, angle_style sdk +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Shinoda) Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (DeVane) Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008). +

    + diff --git a/doc/pair_snap.html b/doc/pair_snap.html index 271b854457..c5fb036e4e 100644 --- a/doc/pair_snap.html +++ b/doc/pair_snap.html @@ -1,353 +1,201 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style snap command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style snap command¶

    -
    -

    Syntax¶

    -
    pair_style snap
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style snap
    -pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P
    -
    -
    -
    -
    -

    Description¶

    -

    Style snap computes interactions + + +


    + +

    pair_style snap command +

    +

    Syntax: +

    +
    pair_style snap 
    +
    +

    Examples: +

    +
    pair_style snap
    +pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P 
    +
    +

    Description: +

    +

    Style snap computes interactions using the spectral neighbor analysis potential (SNAP) -(Thompson). Like the GAP framework of Bartok et al. -(Bartok2010), (Bartok2013) +(Thompson). Like the GAP framework of Bartok et al. +(Bartok2010), (Bartok2013) it uses bispectrum components to characterize the local neighborhood of each atom in a very general way. The mathematical definition of the -bispectrum calculation used by SNAP is identical -to that used of compute sna/atom. +bispectrum calculation used by SNAP is identical +to that used of compute sna/atom. In SNAP, the total energy is decomposed into a sum over -atom energies. The energy of atom i is -expressed as a weighted sum over bispectrum components.

    -_images/pair_snap.jpg -

    where B_k^i is the k-th bispectrum component of atom i, -and beta_k^alpha_i is the corresponding linear coefficient -that depends on alpha_i, the SNAP element of atom i. The +atom energies. The energy of atom i is +expressed as a weighted sum over bispectrum components. +

    +
    +
    +

    where B_k^i is the k-th bispectrum component of atom i, +and beta_k^alpha_i is the corresponding linear coefficient +that depends on alpha_i, the SNAP element of atom i. The number of bispectrum components used and their definitions -depend on the values of twojmax and diagonalstyle +depend on the values of twojmax and diagonalstyle defined in the SNAP parameter file described below. -The bispectrum calculation is described in more detail -in compute sna/atom.

    -

    Note that unlike for other potentials, cutoffs for SNAP potentials are +The bispectrum calculation is described in more detail +in compute sna/atom. +

    +

    Note that unlike for other potentials, cutoffs for SNAP potentials are not set in the pair_style or pair_coeff command; they are specified in -the SNAP potential files themselves.

    -

    Only a single pair_coeff command is used with the snap style which +the SNAP potential files themselves. +

    +

    Only a single pair_coeff command is used with the snap style which specifies two SNAP files and the list SNAP element(s) to be -extracted. +extracted. The SNAP elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff -command, where N is the number of LAMMPS atom types:

    -
      -
    • SNAP element file
    • -
    • Elem1, Elem2, ...
    • -
    • SNAP parameter file
    • -
    • N element names = mapping of SNAP elements to atom types
    • -
    -

    As an example, if a LAMMPS indium phosphide simulation has 4 atoms +command, where N is the number of LAMMPS atom types: +

    +
    • SNAP element file +
    • Elem1, Elem2, ... +
    • SNAP parameter file +
    • N element names = mapping of SNAP elements to atom types +
    +

    As an example, if a LAMMPS indium phosphide simulation has 4 atoms types, with the first two being indium and the 3rd and 4th being -phophorous, the pair_coeff command would look like this:

    -
    pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The two filenames are for the element and parameter files, respectively. -The ‘In’ and ‘P’ arguments (between the file names) are the two elements -which will be extracted from the element file. The -two trailing ‘In’ arguments map LAMMPS atom types 1 and 2 to the -SNAP ‘In’ element. The two trailing ‘P’ arguments map LAMMPS atom types -3 and 4 to the SNAP ‘P’ element.

    -

    If a SNAP mapping value is -specified as NULL, the mapping is not performed. -This can be used when a snap potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials.

    -

    The name of the SNAP element file usually ends in the -”.snapcoeff” extension. It may contain coefficients +phophorous, the pair_coeff command would look like this: +

    +
    pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The two filenames are for the element and parameter files, respectively. +The 'In' and 'P' arguments (between the file names) are the two elements +which will be extracted from the element file. The +two trailing 'In' arguments map LAMMPS atom types 1 and 2 to the +SNAP 'In' element. The two trailing 'P' arguments map LAMMPS atom types +3 and 4 to the SNAP 'P' element. +

    +

    If a SNAP mapping value is +specified as NULL, the mapping is not performed. +This can be used when a snap potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials. +

    +

    The name of the SNAP element file usually ends in the +".snapcoeff" extension. It may contain coefficients for many SNAP elements. Only those elements listed in the pair_coeff command are extracted. -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. -See the pair_coeff doc page for alternate ways -to specify the path for these files.

    -

    Quite commonly, +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. +See the pair_coeff doc page for alternate ways +to specify the path for these files. +

    +

    Quite commonly, SNAP potentials are combined with one or more other LAMMPS pair styles -using the hybrid/overlay pair style. As an example, the SNAP -tantalum potential provided in the LAMMPS potentials directory -combines the snap and zbl pair styles. It is invoked -by the following commands:

    -
    variable zblcutinner equal 4
    -     variable zblcutouter equal 4.8
    -     variable zblz equal 73
    -     pair_style hybrid/overlay &
    -     zbl ${zblcutinner} ${zblcutouter} snap
    -     pair_coeff * * zbl 0.0
    -     pair_coeff 1 1 zbl ${zblz}
    -     pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    -     ../potentials/Ta06A.snapparam Ta
    -
    -
    -

    It is convenient to keep these commands in a separate file that can -be inserted in any LAMMPS input script using the include -command.

    -

    The top of the SNAP element file can contain any number of blank and comment +using the hybrid/overlay pair style. As an example, the SNAP +tantalum potential provided in the LAMMPS potentials directory +combines the snap and zbl pair styles. It is invoked +by the following commands: +

    +
    	variable zblcutinner equal 4
    +	variable zblcutouter equal 4.8
    +	variable zblz equal 73
    +	pair_style hybrid/overlay &
    +	zbl ${zblcutinner} ${zblcutouter} snap
    +	pair_coeff * * zbl 0.0 
    +	pair_coeff 1 1 zbl ${zblz}
    +	pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    +	../potentials/Ta06A.snapparam Ta 
    +
    +

    It is convenient to keep these commands in a separate file that can +be inserted in any LAMMPS input script using the include +command. +

    +

    The top of the SNAP element file can contain any number of blank and comment lines (start with #), but follows a strict -format after that. The first non-blank non-comment -line must contain two integers:

    -
      -
    • nelem = Number of elements
    • -
    • ncoeff = Number of coefficients
    • -
    -

    This is followed by one block for each of the nelem elements. -The first line of each block contains three entries:

    -
      -
    • Element symbol (text string)
    • -
    • R = Element radius (distance units)
    • -
    • w = Element weight (dimensionless)
    • -
    -

    This line is followed by ncoeff coefficients, one per line.

    -

    The SNAP parameter file can contain blank and comment lines (start +format after that. The first non-blank non-comment +line must contain two integers: +

    +
    • nelem = Number of elements +
    • ncoeff = Number of coefficients +
    +

    This is followed by one block for each of the nelem elements. +The first line of each block contains three entries: +

    +
    • Element symbol (text string) +
    • R = Element radius (distance units) +
    • w = Element weight (dimensionless) +
    +

    This line is followed by ncoeff coefficients, one per line. +

    +

    The SNAP parameter file can contain blank and comment lines (start with #) anywhere. Each non-blank non-comment line must contain one -keyword/value pair. The required keywords are rcutfac and -twojmax. Optional keywords are rfac0, rmin0, diagonalstyle, -and switchflag.

    -

    The default values for these keywords are

    -
      -
    • rfac0 = 0.99363
    • -
    • rmin0 = 0.0
    • -
    • diagonalstyle = 3
    • -
    • switchflag = 0
    • -
    -

    Detailed definitions of these keywords are given on the compute sna/atom doc page.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +keyword/value pair. The required keywords are rcutfac and +twojmax. Optional keywords are rfac0, rmin0, diagonalstyle, +and switchflag. +

    +

    The default values for these keywords are +

    +
    • rfac0 = 0.99363 +
    • rmin0 = 0.0 +
    • diagonalstyle = 3 +
    • switchflag = 0 +
    +

    Detailed definitions of these keywords are given on the compute +sna/atom doc page. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair_coeff command with I != J arguments for this style.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +specify a pair_coeff command with I != J arguments for this style. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the SNAP package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: +

    +

    This style is part of the SNAP package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    compute sna/atom, +compute snad/atom, +compute snav/atom +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint +available at arXiv:1409.3880 +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Bartok2010) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Bartok2013) Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013). +

    + diff --git a/doc/pair_soft.html b/doc/pair_soft.html index 2aa30db7d3..e99ddacd65 100644 --- a/doc/pair_soft.html +++ b/doc/pair_soft.html @@ -1,312 +1,143 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style soft command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style soft command¶

    -
    -
    -

    pair_style soft/gpu command¶

    -
    -
    -

    pair_style soft/omp command¶

    -
    -

    Syntax¶

    -
    pair_style soft cutoff
    -
    -
    -
      -
    • cutoff = global cutoff for soft interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style soft 2.5
    +
    +
    +
    + +

    pair_style soft command +

    +

    pair_style soft/gpu command +

    +

    pair_style soft/omp command +

    +

    Syntax: +

    +
    pair_style soft cutoff 
    +
    +
    • cutoff = global cutoff for soft interactions (distance units) +
    +

    Examples: +

    +
    pair_style soft 2.5
     pair_coeff * * 10.0
    -pair_coeff 1 1 10.0 3.0
    -
    -
    -
    pair_style soft 2.5
    +pair_coeff 1 1 10.0 3.0 
    +
    +
    pair_style soft 2.5
     pair_coeff * * 0.0
     variable prefactor equal ramp(0,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor
    -
    -
    -
    -
    -

    Description¶

    -

    Style soft computes pairwise interactions with the formula

    -_images/pair_soft.jpg -

    It is useful for pushing apart overlapping atoms, since it does not +fix 1 all adapt 1 pair soft a * * v_prefactor + +

    Description: +

    +

    Style soft computes pairwise interactions with the formula +

    +
    +
    +

    It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that can be made to vary in time from the start to the end of the run (see discussion below), e.g. to start with a very soft potential and slowly harden the -interactions over time. Rc is the cutoff. See the fix nve/limit command for another way to push apart -overlapping atoms.

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +interactions over time. Rc is the cutoff. See the fix +nve/limit command for another way to push apart +overlapping atoms. +

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • A (energy units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global soft -cutoff is used.

    -
    -

    Warning

    -

    The syntax for pair_coeff with a +read_data or read_restart +commands, or by mixing as described below: +

    +
    • A (energy units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global soft +cutoff is used. +

    +

    IMPORTANT NOTE: The syntax for pair_coeff with a single A coeff is different in the current version of LAMMPS than in older versions which took two values, Astart and Astop, to ramp between them. This functionality is now available in a more general -form through the fix adapt command, as explained +form through the fix adapt command, as explained below. Note that if you use an old input script and specify Astart and Astop without a cutoff, then LAMMPS will interpret that as A and a -cutoff, which is probabably not what you want.

    -
    -

    The fix adapt command can be used to vary A for one +cutoff, which is probabably not what you want. +

    +

    The fix adapt command can be used to vary A for one or more pair types over the course of a simulation, in which case pair_coeff settings for A must still be specified, but will be overridden. For example these commands will vary the prefactor A for all pairwise interactions from 0.0 at the beginning to 30.0 at the end -of a run:

    -
    variable prefactor equal ramp(0,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor
    -
    -
    -

    Note that a formula defined by an equal-style variable +of a run: +

    +
    variable prefactor equal ramp(0,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor 
    +
    +

    Note that a formula defined by an equal-style variable can use the current timestep, elapsed time in the current run, elapsed time since the beginning of a series of runs, as well as access other -variables.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +variables. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -geometric rule. The cutoff is mixed according to the pair_modify -mix value. The default mix value is geometric. See the -“pair_modify” command for details.

    -

    This pair style does not support the pair_modify -shift option, since the pair interaction goes to 0.0 at the cutoff.

    -

    The pair_modify table and tail options are not -relevant for this pair style.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +geometric rule. The cutoff is mixed according to the pair_modify +mix value. The default mix value is geometric. See the +"pair_modify" command for details. +

    +

    This pair style does not support the pair_modify +shift option, since the pair interaction goes to 0.0 at the cutoff. +

    +

    The pair_modify table and tail options are not +relevant for this pair style. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff, fix nve/limit, fix +adapt +

    +

    Default: none +

    + diff --git a/doc/pair_sph_heatconduction.html b/doc/pair_sph_heatconduction.html index 68da3c2623..570a324b87 100644 --- a/doc/pair_sph_heatconduction.html +++ b/doc/pair_sph_heatconduction.html @@ -1,240 +1,68 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/heatconduction command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/heatconduction command¶

    -
    -

    Syntax¶

    -
    pair_style sph/heatconduction
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sph/heatconduction
    -pair_coeff * * 1.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/heatconduction style computes heat transport between SPH particles. -The transport model is the diffusion euqation for the internal energy.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • D diffusion coefficient (length^2/time units)
    • -
    • h kernel function cutoff (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -
    -
    -
    - +
    -
    +

    pair_style sph/heatconduction command +

    +

    Syntax: +

    +
    pair_style sph/heatconduction 
    +
    +

    Examples: +

    +
    pair_style sph/heatconduction
    +pair_coeff * * 1.0 2.4 
    +
    +

    Description: +

    +

    The sph/heatconduction style computes heat transport between SPH particles. +The transport model is the diffusion euqation for the internal energy. +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • D diffusion coefficient (length^2/time units) +
    • h kernel function cutoff (distance units) +
    +
    -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/rhosum +

    +

    Default: none +

    + diff --git a/doc/pair_sph_idealgas.html b/doc/pair_sph_idealgas.html index 6b73170101..4d45b2959c 100644 --- a/doc/pair_sph_idealgas.html +++ b/doc/pair_sph_idealgas.html @@ -1,248 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/idealgas command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/idealgas command¶

    -
    -

    Syntax¶

    -
    pair_style sph/idealgas
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sph/idealgas
    -pair_coeff * * 1.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/idealgas style computes pressure forces between particles -according to the ideal gas equation of state:

    -_images/pair_sph_ideal.jpg -

    where gamma = 1.4 is the heat capacity ratio, rho is the local + + +


    + +

    pair_style sph/idealgas command +

    +

    Syntax: +

    +
    pair_style sph/idealgas 
    +
    +

    Examples: +

    +
    pair_style sph/idealgas
    +pair_coeff * * 1.0 2.4 
    +
    +

    Description: +

    +

    The sph/idealgas style computes pressure forces between particles +according to the ideal gas equation of state: +

    +
    +
    +

    where gamma = 1.4 is the heat capacity ratio, rho is the local density, and e is the internal energy per unit mass. This pair style -also computes Monaghan’s artificial viscosity to prevent particles -from interpentrating (Monaghan).

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • nu artificial viscosity (no units)
    • -
    • h kernel function cutoff (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +also computes Monaghan's artificial viscosity to prevent particles +from interpentrating (Monaghan). +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • nu artificial viscosity (no units) +
    • h kernel function cutoff (distance units) +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/rhosum +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, +52, 374-389 (1983). +

    + diff --git a/doc/pair_sph_lj.html b/doc/pair_sph_lj.html index 4082a6c592..60cbdc67c8 100644 --- a/doc/pair_sph_lj.html +++ b/doc/pair_sph_lj.html @@ -1,250 +1,86 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/lj command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/lj command¶

    -
    -

    Syntax¶

    -
    pair_style sph/lj
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sph/lj
    -pair_coeff * * 1.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/lj style computes pressure forces between particles according + + +


    + +

    pair_style sph/lj command +

    +

    Syntax: +

    +
    pair_style sph/lj 
    +
    +

    Examples: +

    +
    pair_style sph/lj
    +pair_coeff * * 1.0 2.4 
    +
    +

    Description: +

    +

    The sph/lj style computes pressure forces between particles according to the Lennard-Jones equation of state, which is computed according to -Ree’s 1980 polynomial fit (Ree). The Lennard-Jones parameters +Ree's 1980 polynomial fit (Ree). The Lennard-Jones parameters epsilon and sigma are set to unity. This pair style also computes -Monaghan’s artificial viscosity to prevent particles from -interpentrating (Monaghan).

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • nu artificial viscosity (no units)
    • -
    • h kernel function cutoff (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    As noted above, the Lennard-Jones parameters epsilon and sigma are set -to unity.

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    +Monaghan's artificial viscosity to prevent particles from +interpentrating (Monaghan). +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • nu artificial viscosity (no units) +
    • h kernel function cutoff (distance units) +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    As noted above, the Lennard-Jones parameters epsilon and sigma are set +to unity. +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/rhosum +

    +

    Default: none +

    +
    -
    -
    -
    - + -
    +

    (Ree) Ree, Journal of Chemical Physics, 73, 5401 (1980). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, +52, 374-389 (1983). +

    + diff --git a/doc/pair_sph_rhosum.html b/doc/pair_sph_rhosum.html index e2900cf870..7e3f38a91a 100644 --- a/doc/pair_sph_rhosum.html +++ b/doc/pair_sph_rhosum.html @@ -1,242 +1,69 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/rhosum command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/rhosum command¶

    -
    -

    Syntax¶

    -
    pair_style sph/rhosum Nstep
    -
    -
    -
      -
    • Nstep = timestep interval
    • -
    -
    -
    -

    Examples¶

    -
    pair_style sph/rhosum 10
    -pair_coeff * * 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/rhosum style computes the local particle mass density rho for -SPH particles by kernel function interpolation, every Nstep timesteps.

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • h (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -
    -
    -
    - +
    -
    +

    pair_style sph/rhosum command +

    +

    Syntax: +

    +
    pair_style sph/rhosum Nstep 
    +
    +
    • Nstep = timestep interval +
    +

    Examples: +

    +
    pair_style sph/rhosum 10
    +pair_coeff * * 2.4 
    +
    +

    Description: +

    +

    The sph/rhosum style computes the local particle mass density rho for +SPH particles by kernel function interpolation, every Nstep timesteps. +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • h (distance units) +
    +
    -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/taitwater +

    +

    Default: none +

    + diff --git a/doc/pair_sph_taitwater.html b/doc/pair_sph_taitwater.html index 63382cf9ab..7c350f2f37 100644 --- a/doc/pair_sph_taitwater.html +++ b/doc/pair_sph_taitwater.html @@ -1,250 +1,85 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/taitwater command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/taitwater command¶

    -
    -

    Syntax¶

    -
    pair_style sph/taitwater
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sph/taitwater
    -pair_coeff * * 1000.0 1430.0 1.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/taitwater style computes pressure forces between SPH particles -according to Tait’s equation of state:

    -_images/pair_sph_tait.jpg -

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound.

    -

    This pair style also computes Monaghan’s artificial viscosity to -prevent particles from interpentrating (Monaghan).

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • rho0 reference density (mass/volume units)
    • -
    • c0 reference soundspeed (distance/time units)
    • -
    • nu artificial viscosity (no units)
    • -
    • h kernel function cutoff (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -
    -
    -
    - +
    -
    +

    pair_style sph/taitwater command +

    +

    Syntax: +

    +
    pair_style sph/taitwater 
    +
    +

    Examples: +

    +
    pair_style sph/taitwater
    +pair_coeff * * 1000.0 1430.0 1.0 2.4 
    +
    +

    Description: +

    +

    The sph/taitwater style computes pressure forces between SPH particles +according to Tait's equation of state: +

    +
    +
    +

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the +reference density and c_0 the reference speed of sound. +

    +

    This pair style also computes Monaghan's artificial viscosity to +prevent particles from interpentrating (Monaghan). +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • rho0 reference density (mass/volume units) +
    • c0 reference soundspeed (distance/time units) +
    • nu artificial viscosity (no units) +
    • h kernel function cutoff (distance units) +
    +
    -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/rhosum +

    +

    Default: none +

    +
    -
    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, +52, 374-389 (1983). +

    + diff --git a/doc/pair_sph_taitwater_morris.html b/doc/pair_sph_taitwater_morris.html index 1e1d5cc770..4a2568ff79 100644 --- a/doc/pair_sph_taitwater_morris.html +++ b/doc/pair_sph_taitwater_morris.html @@ -1,248 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sph/taitwater/morris command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sph/taitwater/morris command¶

    -
    -

    Syntax¶

    -
    pair_style sph/taitwater/morris
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sph/taitwater/morris
    -pair_coeff * * 1000.0 1430.0 1.0 2.4
    -
    -
    -
    -
    -

    Description¶

    -

    The sph/taitwater/morris style computes pressure forces between SPH -particles according to Tait’s equation of state:

    -_images/pair_sph_tait.jpg -

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound.

    -

    This pair style also computes laminar viscosity (Morris).

    -

    See this PDF guide to using SPH in -LAMMPS.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • rho0 reference density (mass/volume units)
    • -
    • c0 reference soundspeed (distance/time units)
    • -
    • nu dynamic viscosity (mass*distance/time units)
    • -
    • h kernel function cutoff (distance units)
    • -
    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    This style does not support the pair_modify -shift, table, and tail options.

    -

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file.

    -

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, -middle, outer keywords.

    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -
    - -
    -
    -
    -
    - +
    -
    +

    pair_style sph/taitwater/morris command +

    +

    Syntax: +

    +
    pair_style sph/taitwater/morris 
    +
    +

    Examples: +

    +
    pair_style sph/taitwater/morris
    +pair_coeff * * 1000.0 1430.0 1.0 2.4 
    +
    +

    Description: +

    +

    The sph/taitwater/morris style computes pressure forces between SPH +particles according to Tait's equation of state: +

    +
    +
    +

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the +reference density and c_0 the reference speed of sound. +

    +

    This pair style also computes laminar viscosity (Morris). +

    +

    See this PDF guide to using SPH in +LAMMPS. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • rho0 reference density (mass/volume units) +
    • c0 reference soundspeed (distance/time units) +
    • nu dynamic viscosity (mass*distance/time units) +
    • h kernel function cutoff (distance units) +
    +
    -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    This style does not support the pair_modify +shift, table, and tail options. +

    +

    This style does not write information to binary restart +files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. +

    +

    This style can only be used via the pair keyword of the run_style +respa command. It does not support the inner, +middle, outer keywords. +

    +

    Restrictions: +

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Related commands: +

    +

    pair_coeff, pair_sph/rhosum +

    +

    Default: none +

    +
    -
    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Morris) Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). +

    + diff --git a/doc/pair_srp.html b/doc/pair_srp.html index 4e926a94cd..df195432b4 100644 --- a/doc/pair_srp.html +++ b/doc/pair_srp.html @@ -1,326 +1,172 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style srp command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style srp command¶

    -
    -

    Syntax¶

    -

    pair_style srp cutoff bond_type dist keyword value ...

    -
      -
    • cutoff = global cutoff for SRP interactions (distance units)
    • -
    • bond_type = bond type to apply SRP interactions
    • -
    • distance = min or mid
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = exclude
    • -
    -
    -exclude value = yes or no
    -
    -
    -
    -

    Examples¶

    -
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes
    -pair_coeff 1 1 dpd 60.0 4.5 1.0
    -pair_coeff 1 2 none
    -pair_coeff 2 2 srp 100.0 0.8
    -
    -
    -
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes
    -pair_coeff 1 1 dpd 60.0 50 1.0
    -pair_coeff 1 2 none
    -pair_coeff 2 2 srp 40.0
    -
    -
    -
    pair_style hybrid srp 0.8 2 mid
    -pair_coeff 1 1 none
    -pair_coeff 1 2 none
    -pair_coeff 2 2 srp 100.0 0.8
    -
    -
    -
    -
    -

    Description¶

    -

    Style srp computes a soft segmental repulsive potential (SRP) that + + +


    + +

    pair_style srp command +

    +

    Syntax: +

    +

    pair_style srp cutoff bond_type dist keyword value ... +

    +
    • cutoff = global cutoff for SRP interactions (distance units) + +
    • bond_type = bond type to apply SRP interactions + +
    • distance = min or mid + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = exclude + +
        exclude value = yes or no 
      +
      + +
    +

    Examples: +

    +
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes
    +pair_coeff 1 1 dpd 60.0 4.5 1.0 
    +pair_coeff 1 2 none 
    +pair_coeff 2 2 srp 100.0 0.8 
    +
    +
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes
    +pair_coeff 1 1 dpd 60.0 50 1.0 
    +pair_coeff 1 2 none 
    +pair_coeff 2 2 srp 40.0 
    +
    +
    pair_style hybrid srp 0.8 2 mid 
    +pair_coeff 1 1 none 
    +pair_coeff 1 2 none 
    +pair_coeff 2 2 srp 100.0 0.8 
    +
    +

    Description: +

    +

    Style srp computes a soft segmental repulsive potential (SRP) that acts between pairs of bonds. This potential is useful for preventing bonds from passing through one another when a soft non-bonded potential acts between beads in, for example, DPD polymer chains. An example input script that uses this command is provided in -examples/USER/srp.

    -

    Bonds of type btype interact with one another through a -bond-pairwise potential, such that the force on bond i due to bond -j is as follows

    -_images/pair_srp1.jpg -

    where r and rij are the distance and unit vector between the two +examples/USER/srp. +

    +

    Bonds of type btype interact with one another through a +bond-pairwise potential, such that the force on bond i due to bond +j is as follows +

    +
    +
    +

    where r and rij are the distance and unit vector between the two bonds. The bondtype can also be specified as an asterisk (*) and then this interaction applied to all bonds. -The mid option computes r and rij from the midpoint -distance between bonds. The min option computes r and rij from +The mid option computes r and rij from the midpoint +distance between bonds. The min option computes r and rij from the minimum distance between bonds. The force acting on a bond is -mapped onto the two bond atoms according to the lever rule,

    -_images/pair_srp2.jpg -

    where L is the normalized distance from the atom to the point of -closest approach of bond i and j. The mid option takes L as -0.5 for each interaction as described in (Sirk).

    -

    The following coefficients must be defined via the -pair_coeff command as in the examples above, or in -the data file or restart file read by the read_data -or read_restart commands:

    -
      -
    • C (force units)
    • -
    • rc (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used.

    -
    -

    Warning

    -

    Pair style srp considers each bond of type btype as -a fictitious particle of type bptype, where bptype is the largest -atom type in the system. These “bond particles” are inserted at the +mapped onto the two bond atoms according to the lever rule, +

    +
    +
    +

    where L is the normalized distance from the atom to the point of +closest approach of bond i and j. The mid option takes L as +0.5 for each interaction as described in (Sirk). +

    +

    The following coefficients must be defined via the +pair_coeff command as in the examples above, or in +the data file or restart file read by the read_data +or read_restart commands: +

    +
    • C (force units) +
    • rc (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used. +

    +

    IMPORTANT NOTE: Pair style srp considers each bond of type btype as +a fictitious particle of type bptype, where bptype is the largest +atom type in the system. These "bond particles" are inserted at the beginning of the run, and serve as placeholders that define the position of the bonds. This allows neighbor lists to be constructed and pairwise interactions to be computed in almost the same way as is done for point particles. Because bonds interact only with other -bonds, pair_style hybrid should be used to turn off -interactions between atom type bptype and all other types of atoms. -An error will be flagged if pair_style hybrid is +bonds, pair_style hybrid should be used to turn off +interactions between atom type bptype and all other types of atoms. +An error will be flagged if pair_style hybrid is not used. Further, only bond particles should be given an atom type -of bptype; a check is done at the beginning of the run to ensure -there are no regular atoms of bptype.

    -
    -

    The optional exclude keyword determines if forces are computed +of bptype; a check is done at the beginning of the run to ensure +there are no regular atoms of bptype. +

    +

    The optional exclude keyword determines if forces are computed between first neighbor (directly connected) bonds. For a setting of -no, first neighbor forces are computed; for yes they are not computed. A setting of no -cannot be used with the min option for distance calculation because the the minimum distance between -directly connected bonds is zero.

    -

    Pair style srp turns off normalization of thermodynamic properties -by particle number, as if the command thermo_modify norm no had been issued.

    -

    The pairwise energy associated with style srp is shifted to be zero -at the cutoff distance rc.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair styles does not support mixing.

    -

    This pair style does not support the pair_modify +no, first neighbor forces are computed; for yes they are not computed. A setting of no +cannot be used with the min option for distance calculation because the the minimum distance between +directly connected bonds is zero. +

    +

    Pair style srp turns off normalization of thermodynamic properties +by particle number, as if the command thermo_modify norm +no had been issued. +

    +

    The pairwise energy associated with style srp is shifted to be zero +at the cutoff distance rc. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair styles does not support mixing. +

    +

    This pair style does not support the pair_modify shift option for the energy of the pair interaction. Note that as discussed above, the energy term is already shifted to be 0.0 at the -cutoff distance rc.

    -

    The pair_modify table option is not relevant for -this pair style.

    -

    This pair style does not support the pair_modify +cutoff distance rc. +

    +

    The pair_modify table option is not relevant for +this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes global and per-atom information to binary restart files. Pair srp should be used with pair_style hybrid, thus the pair_coeff commands need to be -specified in the input script when reading a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the USER-MISC package. It is only enabled +pressure. +

    +

    This pair style writes global and per-atom information to binary +restart files. Pair srp should be used with pair_style +hybrid, thus the pair_coeff commands need to be +specified in the input script when reading a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section -for more info.

    -

    This pair style must be used with pair_style hybrid.

    -

    This pair style requires the newton command to be on -for non-bonded interactions.

    -
    - -
    -

    Default¶

    -

    The default keyword value is exclude = yes.

    -
    -

    (Sirk) Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J -Chem Phys, 136 (13) 134903, 2012.

    -
    -
    +for more info. +

    +

    This pair style must be used with pair_style hybrid. +

    +

    This pair style requires the newton command to be on +for non-bonded interactions. +

    +

    Related commands: +

    +

    pair_style hybrid, pair_coeff, +pair dpd +

    +

    Default: +

    +

    The default keyword value is exclude = yes. +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Sirk) Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J +Chem Phys, 136 (13) 134903, 2012. +

    + diff --git a/doc/pair_style.html b/doc/pair_style.html index 4396eb0b24..6cfd973357 100644 --- a/doc/pair_style.html +++ b/doc/pair_style.html @@ -1,404 +1,234 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style command¶

    -
    -

    Syntax¶

    -
    pair_style style args
    -
    -
    -
      -
    • style = one of the styles from the list below
    • -
    • args = arguments used by a particular style
    • -
    -
    -
    -

    Examples¶

    -
    pair_style lj/cut 2.5
    +
    +
    +
    + +

    pair_style command +

    +

    Syntax: +

    +
    pair_style style args 
    +
    +
    • style = one of the styles from the list below +
    • args = arguments used by a particular style +
    +

    Examples: +

    +
    pair_style lj/cut 2.5
     pair_style eam/alloy
     pair_style hybrid lj/charmm/coul/long 10.0 eam
     pair_style table linear 1000
    -pair_style none
    -
    -
    -
    -
    -

    Description¶

    -

    Set the formula(s) LAMMPS uses to compute pairwise interactions. In +pair_style none + +

    Description: +

    +

    Set the formula(s) LAMMPS uses to compute pairwise interactions. In LAMMPS, pair potentials are defined between pairs of atoms that are within a cutoff distance and the set of active interactions typically -changes over time. See the bond_style command to +changes over time. See the bond_style command to define potentials between pairs of bonded atoms, which typically -remain in place for the duration of a simulation.

    -

    In LAMMPS, pairwise force fields encompass a variety of interactions, +remain in place for the duration of a simulation. +

    +

    In LAMMPS, pairwise force fields encompass a variety of interactions, some of which include many-body effects, e.g. EAM, Stillinger-Weber, -Tersoff, REBO potentials. They are still classified as “pairwise” +Tersoff, REBO potentials. They are still classified as "pairwise" potentials because the set of interacting atoms changes with time (unlike molecular bonds) and thus a neighbor list is used to find -nearby interacting atoms.

    -

    Hybrid models where specified pairs of atom types interact via -different pair potentials can be setup using the hybrid pair style.

    -

    The coefficients associated with a pair style are typically set for +nearby interacting atoms. +

    +

    Hybrid models where specified pairs of atom types interact via +different pair potentials can be setup using the hybrid pair style. +

    +

    The coefficients associated with a pair style are typically set for each pair of atom types, and are specified by the -pair_coeff command or read from a file by the -read_data or read_restart -commands.

    -

    The pair_modify command sets options for mixing of +pair_coeff command or read from a file by the +read_data or read_restart +commands. +

    +

    The pair_modify command sets options for mixing of type I-J interaction coefficients and adding energy offsets or tail corrections to Lennard-Jones potentials. Details on these options as they pertain to individual potentials are described on the doc page for the potential. Likewise, info on whether the potential -information is stored in a restart file is listed -on the potential doc page.

    -

    In the formulas listed for each pair style, E is the energy of a -pairwise interaction between two atoms separated by a distance r. +information is stored in a restart file is listed +on the potential doc page. +

    +

    In the formulas listed for each pair style, E is the energy of a +pairwise interaction between two atoms separated by a distance r. The force between the atoms is the negative derivative of this -expression.

    -

    If the pair_style command has a cutoff argument, it sets global +expression. +

    +

    If the pair_style command has a cutoff argument, it sets global cutoffs for all pairs of atom types. The distance(s) can be smaller -or larger than the dimensions of the simulation box.

    -

    Typically, the global cutoff value can be overridden for a specific -pair of atom types by the pair_coeff command. The +or larger than the dimensions of the simulation box. +

    +

    Typically, the global cutoff value can be overridden for a specific +pair of atom types by the pair_coeff command. The pair style settings (including global cutoffs) can be changed by a subsequent pair_style command using the same style. This will reset the cutoffs for all atom type pairs, including those previously set -explicitly by a pair_coeff command. The exceptions -to this are that pair_style table and hybrid settings cannot be +explicitly by a pair_coeff command. The exceptions +to this are that pair_style table and hybrid settings cannot be reset. A new pair_style command for these styles will wipe out all -previously specified pair_coeff values.

    -
    -

    Here is an alphabetic list of pair styles defined in LAMMPS. They are -also given in more compact form in the pair section of this page.

    -

    Click on the style to display the formula it computes, arguments +previously specified pair_coeff values. +

    +
    + +

    Here is an alphabetic list of pair styles defined in LAMMPS. They are +also given in more compact form in the pair section of this +page. +

    +

    Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the -associated pair_coeff command.

    -

    There are also additional pair styles (not listed here) submitted by +associated pair_coeff command. +

    +

    There are also additional pair styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the pair -section of this page.

    -

    There are also additional accelerated pair styles (not listed here) +section of this page. +

    +

    There are also additional accelerated pair styles (not listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given -in the pair section of this page.

    - -
    -
    -
    -

    Restrictions¶

    -

    This command must be used before any coefficients are set by the -pair_coeff, read_data, or -read_restart commands.

    -

    Some pair styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +in the pair section of this page. +

    + + +
    + +

    Restrictions: +

    +

    This command must be used before any coefficients are set by the +pair_coeff, read_data, or +read_restart commands. +

    +

    Some pair styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making +LAMMPS section for more info on packages. The doc pages for individual pair potentials tell if it is part of a -package.

    -
    - -
    -

    Default¶

    -
    pair_style none
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +package. +

    +

    Related commands: +

    +

    pair_coeff, read_data, +pair_modify, kspace_style, +dielectric, pair_write +

    +

    Default: +

    +
    pair_style none 
    +
    + diff --git a/doc/pair_sw.html b/doc/pair_sw.html index d92b909f56..8a9164f90b 100644 --- a/doc/pair_sw.html +++ b/doc/pair_sw.html @@ -1,222 +1,104 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style sw command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style sw command¶

    -
    -
    -

    pair_style sw/cuda command¶

    -
    -
    -

    pair_style sw/gpu command¶

    -
    -
    -

    pair_style sw/intel command¶

    -
    -
    -

    pair_style sw/kk command¶

    -
    -
    -

    pair_style sw/omp command¶

    -
    -

    Syntax¶

    -
    pair_style sw
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style sw
    +
    +
    +
    + +

    pair_style sw command +

    +

    pair_style sw/cuda command +

    +

    pair_style sw/gpu command +

    +

    pair_style sw/intel command +

    +

    pair_style sw/kk command +

    +

    pair_style sw/omp command +

    +

    Syntax: +

    +
    pair_style sw 
    +
    +

    Examples: +

    +
    pair_style sw
     pair_coeff * * si.sw Si
    -pair_coeff * * GaN.sw Ga N Ga
    -
    -
    -
    -
    -

    Description¶

    -

    The sw style computes a 3-body Stillinger-Weber -potential for the energy E of a system of atoms as

    -_images/pair_sw.jpg -

    where phi2 is a two-body term and phi3 is a three-body term. The +pair_coeff * * GaN.sw Ga N Ga + +

    Description: +

    +

    The sw style computes a 3-body Stillinger-Weber +potential for the energy E of a system of atoms as +

    +
    +
    +

    where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a*sigma.

    -

    Only a single pair_coeff command is used with the sw style which +within a cutoff distance = a*sigma. +

    +

    Only a single pair_coeff command is used with the sw style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of SW elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine a file SiC.sw has Stillinger-Weber values for +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of SW elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine a file SiC.sw has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command:

    -
    pair_coeff * * SiC.sw Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command: +

    +
    pair_coeff * * SiC.sw Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the SW file. The final C argument maps LAMMPS atom type 4 to the C element in the SW file. If a mapping value is specified as -NULL, the mapping is not performed. This can be used when a sw -potential is used as part of the hybrid pair style. The NULL values +NULL, the mapping is not performed. This can be used when a sw +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials.

    -

    Stillinger-Weber files in the potentials directory of the LAMMPS -distribution have a ”.sw” suffix. Lines that are not blank or +potentials. +

    +

    Stillinger-Weber files in the potentials directory of the LAMMPS +distribution have a ".sw" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above:

    -
      -
    • element 1 (the center atom in a 3-body interaction)
    • -
    • element 2
    • -
    • element 3
    • -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • a
    • -
    • lambda
    • -
    • gamma
    • -
    • costheta0
    • -
    • A
    • -
    • B
    • -
    • p
    • -
    • q
    • -
    • tol
    • -
    -

    The A, B, p, and q parameters are used only for two-body +and three-body coefficients in the formula above: +

    +
    • element 1 (the center atom in a 3-body interaction) +
    • element 2 +
    • element 3 +
    • epsilon (energy units) +
    • sigma (distance units) +
    • a +
    • lambda +
    • gamma +
    • costheta0 +
    • A +
    • B +
    • p +
    • q +
    • tol +
    +

    The A, B, p, and q parameters are used only for two-body interactions. The lambda and costheta0 parameters are used only for three-body interactions. The epsilon, sigma and a parameters are used for both two-body and three-body interactions. gamma is used only in the -three-body interactions, but is defined for pairs of atoms. -The non-annotated parameters are unitless.

    -

    LAMMPS introduces an additional performance-optimization parameter tol +three-body interactions, but is defined for pairs of atoms. +The non-annotated parameters are unitless. +

    +

    LAMMPS introduces an additional performance-optimization parameter tol that is used for both two-body and three-body interactions. In the Stillinger-Weber potential, the interaction energies become negligibly small at atomic separations substantially less than the theoretical @@ -224,20 +106,23 @@ cutoff distances. LAMMPS therefore defines a virtual cutoff distance based on a user defined tolerance tol. The use of the virtual cutoff distance in constructing atom neighbor lists can significantly reduce the neighbor list sizes and therefore the computational cost. LAMMPS -provides a tol value for each of the three-body entries so that they +provides a tol value for each of the three-body entries so that they can be separately controlled. If tol = 0.0, then the standard -Stillinger-Weber cutoff is used.

    -

    The Stillinger-Weber potential file must contain entries for all the +Stillinger-Weber cutoff is used. +

    +

    The Stillinger-Weber potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries.

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries. +

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify SW parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc.

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc. +

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction. Thus an entry for SiCC means a Si atom with 2 C atoms as neighbors. The parameter values used for the two-body interaction come from the entry where the 2nd and 3rd @@ -259,126 +144,85 @@ entries CSiC and CCSi should be the same. Similarly, the two-body parameters for entries SiCC and CSiSi should also be the same. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not -used for anything and can be set to 0.0 if desired. -This is also true for the parameters in phi3 that are -taken from the ij and ik pairs (sigma, a, gamma)

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +used for anything and can be set to 0.0 if desired. +This is also true for the parameters in phi3 that are +taken from the ij and ik pairs (sigma, a, gamma) +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    When using the USER-INTEL package with this style, there is an +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    When using the USER-INTEL package with this style, there is an additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. -These parameters are common for modeling silicon and water.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +These parameters are common for modeling silicon and water. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +described above from values in the potential file. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    The Stillinger-Weber potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. +the Making LAMMPS section for more info. +

    +

    This pair style requires the newton setting to be "on" +for pair interactions. +

    +

    The Stillinger-Weber potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. You can use the SW potential with any LAMMPS units, but you would need to create your own SW potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Stillinger) Stillinger and Weber, Phys Rev B, 31, 5262 (1985). +

    + diff --git a/doc/pair_table.html b/doc/pair_table.html index fefa15f705..ea976ba199 100644 --- a/doc/pair_table.html +++ b/doc/pair_table.html @@ -1,257 +1,150 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style table command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style table command¶

    -
    -
    -

    pair_style table/gpu command¶

    -
    -
    -

    pair_style table/kk command¶

    -
    -
    -

    pair_style table/omp command¶

    -
    -

    Syntax¶

    -
    pair_style table style N keyword ...
    -
    -
    -
      -
    • style = lookup or linear or spline or bitmap = method of interpolation
    • -
    • N = use N values in lookup, linear, spline tables
    • -
    • N = use 2^N values in bitmap tables
    • -
    • zero or more keywords may be appended
    • -
    • keyword = ewald or pppm or msm or dispersion or tip4p
    • -
    -
    -
    -

    Examples¶

    -
    pair_style table linear 1000
    +
    +
    +
    + +

    pair_style table command +

    +

    pair_style table/gpu command +

    +

    pair_style table/kk command +

    +

    pair_style table/omp command +

    +

    Syntax: +

    +
    pair_style table style N keyword ... 
    +
    +
    • style = lookup or linear or spline or bitmap = method of interpolation +
    • N = use N values in lookup, linear, spline tables +
    • N = use 2^N values in bitmap tables +
    • zero or more keywords may be appended +
    • keyword = ewald or pppm or msm or dispersion or tip4p +
    +

    Examples: +

    +
    pair_style table linear 1000
     pair_style table linear 1000 pppm
     pair_style table bitmap 12
     pair_coeff * 3 morse.table ENTRY1
    -pair_coeff * 3 morse.table ENTRY1 7.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style table creates interpolation tables of length N from pair +pair_coeff * 3 morse.table ENTRY1 7.0 + +

    Description: +

    +

    Style table creates interpolation tables of length N from pair potential and force values listed in a file(s) as a function of -distance. The files are read by the pair_coeff -command.

    -

    The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and force values at each of N +distance. The files are read by the pair_coeff +command. +

    +

    The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of N distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one -of 4 styles: lookup, linear, spline, or bitmap.

    -

    For the lookup style, the distance between 2 atoms is used to find -the nearest table entry, which is the energy or force.

    -

    For the linear style, the pair distance is used to find 2 +of 4 styles: lookup, linear, spline, or bitmap. +

    +

    For the lookup style, the distance between 2 atoms is used to find +the nearest table entry, which is the energy or force. +

    +

    For the linear style, the pair distance is used to find 2 surrounding table values from which an energy or force is computed by -linear interpolation.

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The pair distance is +linear interpolation. +

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The pair distance is used to find the appropriate set of coefficients which are used to -evaluate a cubic polynomial which computes the energy or force.

    -

    For the bitmap style, the N means to create interpolation tables +evaluate a cubic polynomial which computes the energy or force. +

    +

    For the bitmap style, the N means to create interpolation tables that are 2^N in length. The pair distance is used to index into the -table via a fast bit-mapping technique due to (Wolff), and a -linear interpolation is performed between adjacent table values.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above.

    -
      -
    • filename
    • -
    • keyword
    • -
    • cutoff (distance units)
    • -
    -

    The filename specifies a file containing tabulated energy and force +table via a fast bit-mapping technique due to (Wolff), and a +linear interpolation is performed between adjacent table values. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above. +

    +
    • filename +
    • keyword +
    • cutoff (distance units) +
    +

    The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The cutoff is an optional coefficient. If not specified, the outer cutoff in the table itself (see below) will be used to build an interpolation table that extend to the largest tabulated distance. If specified, only file values up to the cutoff are used to create the interpolation -table. The format of this file is described below.

    -

    If your tabulated potential(s) are designed to be used as the +table. The format of this file is described below. +

    +

    If your tabulated potential(s) are designed to be used as the short-range part of one of the long-range solvers specified by the -kspace_style command, then you must use one or +kspace_style command, then you must use one or more of the optional keywords listed above for the pair_style command. -These are ewald or pppm or msm or dispersion or tip4p. This +These are ewald or pppm or msm or dispersion or tip4p. This is so LAMMPS can insure the short-range potential and long-range solver are compatible with each other, as it does for other -short-range pair styles, such as pair_style lj/cut/coul/long. Note that it is up to you to insure +short-range pair styles, such as pair_style +lj/cut/coul/long. Note that it is up to you to insure the tabulated values for each pair of atom types has the correct -functional form to be compatible with the matching long-range solver.

    -
    -

    Here are some guidelines for using the pair_style table command to -best effect:

    -
      -
    • Vary the number of table points; you may need to use more than you think -to get good resolution.
    • -
    • Always use the pair_write command to produce a plot +functional form to be compatible with the matching long-range solver. +

      +
      + +

      Here are some guidelines for using the pair_style table command to +best effect: +

      +
      • Vary the number of table points; you may need to use more than you think +to get good resolution. + +
      • Always use the pair_write command to produce a plot of what the final interpolated potential looks like. This can show up -interpolation “features” you may not like.
      • -
      • Start with the linear style; it’s the style least likely to have problems.
      • -
      • Use N in the pair_style command equal to the “N” in the tabulation -file, and use the “RSQ” or “BITMAP” parameter, so additional interpolation -is not needed. See discussion below.
      • -
      • Make sure that your tabulated forces and tabulated energies are consistent -(dE/dr = -F) along the entire range of r values.
      • -
      • Use as large an inner cutoff as possible. This avoids fitting splines -to very steep parts of the potential.
      • -
      -
      -

      The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments):

      -
      # Morse potential for Fe   (one or more comment or blank lines)
      -
      -
      -
      MORSE_FE                   (keyword is first text on line)
      +interpolation "features" you may not like. 
      +
      +
    • Start with the linear style; it's the style least likely to have problems. + +
    • Use N in the pair_style command equal to the "N" in the tabulation +file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation +is not needed. See discussion below. + +
    • Make sure that your tabulated forces and tabulated energies are consistent +(dE/dr = -F) along the entire range of r values. + +
    • Use as large an inner cutoff as possible. This avoids fitting splines +to very steep parts of the potential. +
    +
    + +

    The format of a tabulated file is a series of one or more sections, +defined as follows (without the parenthesized comments): +

    +
    # Morse potential for Fe   (one or more comment or blank lines) 
    +
    +
    MORSE_FE                   (keyword is first text on line)
     N 500 R 1.0 10.0           (N, R, RSQ, BITMAP, FPRIME parameters)
                                (blank)
     1 1.0 25.5 102.34          (index, r, energy, force)
     2 1.02 23.4 98.5
     ...
    -500 10.0 0.001 0.003
    -
    -
    -

    A section begins with a non-blank line whose 1st character is not a -“#”; blank lines or lines starting with “#” can be used as comments +500 10.0 0.001 0.003 + +

    A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more -numeric values.

    -

    The parameter “N” is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the pair_style table command. Let -Ntable = N in the pair_style command, and Nfile = “N” in the +numeric values. +

    +

    The parameter "N" is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the pair_style table command. Let +Ntable = N in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -260,153 +153,111 @@ Ntable are then used as described above, when computing energy and force for individual pair distances. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile, and use the “RSQ” or “BITMAP” parameter. -The internal table abscissa is RSQ (separation distance squared).

    -

    All other parameters are optional. If “R” or “RSQ” or “BITMAP” does +should set Ntable = Nfile, and use the "RSQ" or "BITMAP" parameter. +The internal table abscissa is RSQ (separation distance squared). +

    +

    All other parameters are optional. If "R" or "RSQ" or "BITMAP" does not appear, then the distances in each line of the table are used as-is to perform spline interpolation. In this case, the table values -can be spaced in r uniformly or however you wish to position table -values in regions of large gradients.

    -

    If used, the parameters “R” or “RSQ” are followed by 2 values rlo -and rhi. If specified, the distance associated with each energy and +can be spaced in r uniformly or however you wish to position table +values in regions of large gradients. +

    +

    If used, the parameters "R" or "RSQ" are followed by 2 values rlo +and rhi. If specified, the distance associated with each energy and force value is computed from these 2 values (at high accuracy), rather than using the (low-accuracy) value listed in each line of the table. The distance values in the table file are ignored in this case. -For “R”, distances uniformly spaced between rlo and rhi are -computed; for “RSQ”, squared distances uniformly spaced between -rlo*rlo and rhi*rhi are computed.

    -

    If used, the parameter “BITMAP” is also followed by 2 values rlo and -rhi. These values, along with the “N” value determine the ordering +For "R", distances uniformly spaced between rlo and rhi are +computed; for "RSQ", squared distances uniformly spaced between +rlo*rlo and rhi*rhi are computed. +

    +

    If used, the parameter "BITMAP" is also followed by 2 values rlo and +rhi. These values, along with the "N" value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this -file is typically produced by the pair_write command -with its bitmap option. When the table is in BITMAP format, the “N” +file is typically produced by the pair_write command +with its bitmap option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2^M where M is the value specified in the pair_style command. Also, a cutoff parameter cannot be used as an optional 3rd argument in the pair_coeff command; the -entire table extent as specified in the file must be used.

    -

    If used, the parameter “FPRIME” is followed by 2 values fplo and -fphi which are the derivative of the force at the innermost and +entire table extent as specified in the file must be used. +

    +

    If used, the parameter "FPRIME" is followed by 2 values fplo and +fphi which are the derivative of the force at the innermost and outermost distances listed in the table. These values are needed by -the spline construction routines. If not specified by the “FPRIME” +the spline construction routines. If not specified by the "FPRIME" parameter, they are estimated (less accurately) by the first 2 and last 2 force values in the table. This parameter is not used by -BITMAP tables.

    -

    Following a blank line, the next N lines list the tabulated values. +BITMAP tables. +

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The r values must increase -from one line to the next (unless the BITMAP parameter is specified).

    -

    Note that one file can contain many sections, each with a tabulated +from one line to the next (unless the BITMAP parameter is specified). +

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly.

    -

    The pair_modify shift, table, and tail options are -not relevant for this pair style.

    -

    This pair style writes the settings for the “pair_style table” command -to binary restart files, so a pair_style command does +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +

    +

    The pair_modify shift, table, and tail options are +not relevant for this pair style. +

    +

    This pair style writes the settings for the "pair_style table" command +to binary restart files, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +commands do need to be specified in the restart input script. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). +

    + diff --git a/doc/pair_tersoff.html b/doc/pair_tersoff.html index 1b38aaddf4..1d17fc697e 100644 --- a/doc/pair_tersoff.html +++ b/doc/pair_tersoff.html @@ -1,244 +1,129 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style tersoff command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style tersoff command¶

    -
    -
    -

    pair_style tersoff/table command¶

    -
    -
    -

    pair_style tersoff/cuda¶

    -
    -
    -

    pair_style tersoff/kk¶

    -
    -
    -

    pair_style tersoff/omp¶

    -
    -
    -

    pair_style tersoff/table/omp command¶

    -
    -

    Syntax¶

    -
    pair_style style
    -
    -
    -

    style = tersoff or tersoff/table or tersoff/cuda or tersoff/omp or tersoff/table/omp

    -
    -
    -

    Examples¶

    -
    pair_style tersoff
    +
    +
    +
    + +

    pair_style tersoff command +

    +

    pair_style tersoff/table command +

    +

    pair_style tersoff/cuda +

    +

    pair_style tersoff/kk +

    +

    pair_style tersoff/omp +

    +

    pair_style tersoff/table/omp command +

    +

    Syntax: +

    +
    pair_style style 
    +
    +

    style = tersoff or tersoff/table or tersoff/cuda or tersoff/omp or tersoff/table/omp +

    +

    Examples: +

    +
    pair_style tersoff
     pair_coeff * * Si.tersoff Si
    -pair_coeff * * SiC.tersoff Si C Si
    -
    -
    -
    pair_style tersoff/table
    -pair_coeff * * SiCGe.tersoff Si(D)
    -
    -
    -
    -
    -

    Description¶

    -

    The tersoff style computes a 3-body Tersoff potential -(Tersoff_1) for the energy E of a system of atoms as

    -_images/pair_tersoff_1.jpg -

    where f_R is a two-body term and f_A includes three-body interactions. +pair_coeff * * SiC.tersoff Si C Si + +

    pair_style tersoff/table
    +pair_coeff * * SiCGe.tersoff Si(D) 
    +
    +

    Description: +

    +

    The tersoff style computes a 3-body Tersoff potential +(Tersoff_1) for the energy E of a system of atoms as +

    +
    +
    +

    where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D.

    -

    The tersoff/table style uses tabulated forms for the two-body, +within a cutoff distance = R + D. +

    +

    The tersoff/table style uses tabulated forms for the two-body, environment and angular functions. Linear interpolation is performed between adjacent table entries. The table length is chosen to be -accurate within 10^-6 with respect to the tersoff style energy. -The tersoff/table should give better performance in terms of speed.

    -

    Only a single pair_coeff command is used with the tersoff style +accurate within 10^-6 with respect to the tersoff style energy. +The tersoff/table should give better performance in terms of speed. +

    +

    Only a single pair_coeff command is used with the tersoff style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of Tersoff elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine the SiC.tersoff file has Tersoff values for Si +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of Tersoff elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command:

    -
    pair_coeff * * SiC.tersoff Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command: +

    +
    pair_coeff * * SiC.tersoff Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when a tersoff potential is used as part of the hybrid pair style. +when a tersoff potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with -other potentials.

    -

    Tersoff files in the potentials directory of the LAMMPS distribution -have a ”.tersoff” suffix. Lines that are not blank or comments +other potentials. +

    +

    Tersoff files in the potentials directory of the LAMMPS distribution +have a ".tersoff" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formula -above:

    -
      -
    • element 1 (the center atom in a 3-body interaction)
    • -
    • element 2 (the atom bonded to the center atom)
    • -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • -
    • m
    • -
    • gamma
    • -
    • lambda3 (1/distance units)
    • -
    • c
    • -
    • d
    • -
    • costheta0 (can be a value < -1 or > 1)
    • -
    • n
    • -
    • beta
    • -
    • lambda2 (1/distance units)
    • -
    • B (energy units)
    • -
    • R (distance units)
    • -
    • D (distance units)
    • -
    • lambda1 (1/distance units)
    • -
    • A (energy units)
    • -
    -

    The n, beta, lambda2, B, lambda1, and A parameters are only used for +above: +

    +
    • element 1 (the center atom in a 3-body interaction) +
    • element 2 (the atom bonded to the center atom) +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) +
    • m +
    • gamma +
    • lambda3 (1/distance units) +
    • c +
    • d +
    • costheta0 (can be a value < -1 or > 1) +
    • n +
    • beta +
    • lambda2 (1/distance units) +
    • B (energy units) +
    • R (distance units) +
    • D (distance units) +
    • lambda1 (1/distance units) +
    • A (energy units) +
    +

    The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -non-annotated parameters are unitless. The value of m must be 3 or 1.

    -

    The Tersoff potential file must contain entries for all the elements +non-annotated parameters are unitless. The value of m must be 3 or 1. +

    +

    The Tersoff potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS -ignores those entries.

    -

    For a single-element simulation, only a single entry is required +ignores those entries. +

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc.

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc. +

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus @@ -246,163 +131,135 @@ three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry.

    -

    The parameters used for a particular +SiCC entry. +

    +

    The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired.

    -

    Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 (Tersoff_2) are not symmetric.

    -

    We chose the above form so as to enable users to define all commonly +be set to 0.0 if desired. +

    +

    Note that the twobody parameters in entries such as SiCC and CSiSi +are often the same, due to the common use of symmetric mixing rules, +but this is not always the case. For example, the beta and n parameters in +Tersoff_2 (Tersoff_2) are not symmetric. +

    +

    We chose the above form so as to enable users to define all commonly used variants of the Tersoff potential. In particular, our form reduces to the original Tersoff form when m = 3 and gamma = 1, while -it reduces to the form of Albe et al. when beta = 1 and m = 1. +it reduces to the form of Albe et al. when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as Tersoff_2 -potential (Tersoff_2). The tersoff/table style implements -Tersoff_2 parameterization only.

    -

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: +potential (Tersoff_2). The tersoff/table style implements +Tersoff_2 parameterization only. +

    +

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: gamma_ijk = omega_ik, lambda3 = 0 and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules:

    -_images/pair_tersoff_2.jpg -

    Tersoff_2 parameters R and S must be converted to the LAMMPS +using the Tersoff_2 mixing rules: +

    +
    +
    +

    Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following -relations: R=(R’+S’)/2 and D=(S’-R’)/2, where the primes indicate the -Tersoff_2 parameters.

    -

    In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff’s various versions of Si, as well as his +relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the +Tersoff_2 parameters. +

    +

    In the potentials directory, the file SiCGe.tersoff provides the +LAMMPS parameters for Tersoff's various versions of Si, as well as his alloy parameters for Si, C, and Ge. This file can be used for pure Si, (three different versions), pure C, pure Ge, binary SiC, and binary SiGe. LAMMPS will generate an error if this file is used with any combination involving C and Ge, since there are no entries for the GeC interactions (Tersoff did not publish parameters for this cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys.

    -

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou +(SiC.tersoff) and the GaN (GaN.tersoff) alloys. +

    +

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been -defined in various papers.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +defined in various papers. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +described above from values in the potential file. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    The Tersoff potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can +the Making LAMMPS section for more info. +

    +

    This pair style requires the newton setting to be "on" +for pair interactions. +

    +

    The Tersoff potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). +

    + -
    +

    (Albe) J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: +Condens. Matter, 15, 5649(2003). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Tersoff_2) J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) +

    + diff --git a/doc/pair_tersoff_mod.html b/doc/pair_tersoff_mod.html index d262dc0fa1..2e6a5a366b 100644 --- a/doc/pair_tersoff_mod.html +++ b/doc/pair_tersoff_mod.html @@ -1,348 +1,204 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style tersoff/mod command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style tersoff/mod command¶

    -
    -
    -

    pair_style tersoff/mod/kk command¶

    -
    -
    -

    pair_style tersoff/mod/omp command¶

    -
    -

    Syntax¶

    -
    pair_style tersoff/mod
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style tersoff/mod
    -pair_coeff * * Si.tersoff.mod Si Si
    -
    -
    -
    -
    -

    Description¶

    -

    The tersoff/mod style computes a bond-order type interatomic -potential (Kumagai) based on a 3-body Tersoff potential -(Tersoff_1), (Tersoff_2) with modified + + +


    + +

    pair_style tersoff/mod command +

    +

    pair_style tersoff/mod/kk command +

    +

    pair_style tersoff/mod/omp command +

    +

    Syntax: +

    +
    pair_style tersoff/mod 
    +
    +

    Examples: +

    +
    pair_style tersoff/mod
    +pair_coeff * * Si.tersoff.mod Si Si 
    +
    +

    Description: +

    +

    The tersoff/mod style computes a bond-order type interatomic +potential (Kumagai) based on a 3-body Tersoff potential +(Tersoff_1), (Tersoff_2) with modified cutoff function and angular-dependent term, giving the energy E of a -system of atoms as

    -_images/pair_tersoff_mod.jpg -

    where f_R is a two-body term and f_A includes three-body interactions. +system of atoms as +

    +
    +
    +

    where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D.

    -

    The modified cutoff function f_C proposed by (Murty) and +within a cutoff distance = R + D. +

    +

    The modified cutoff function f_C proposed by (Murty) and having a continuous second-order differential is employed. The angular-dependent term g(theta) was modified to increase the -flexibility of the potential.

    -

    The tersoff/mod potential is fitted to both the elastic constants +flexibility of the potential. +

    +

    The tersoff/mod potential is fitted to both the elastic constants and melting point by employing the modified Tersoff potential function form in which the angular-dependent term is improved. The model performs extremely well in describing the crystalline, liquid, and -amorphous phases (Schelling).

    -

    Only a single pair_coeff command is used with the tersoff/mod style +amorphous phases (Schelling). +

    +

    Only a single pair_coeff command is used with the tersoff/mod style which specifies a Tersoff/MOD potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of Tersoff/MOD elements to atom types
    • -
    -

    As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of Tersoff/MOD elements to atom types +
    +

    As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. If your LAMMPS simulation has 3 Si atoms types, you would use the following -pair_coeff command:

    -
    pair_coeff * * Si.tersoff_mod Si Si Si
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command: +

    +
    pair_coeff * * Si.tersoff_mod Si Si Si 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff/MOD file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a tersoff/mod -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can be used when a tersoff/mod +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials.

    -

    Tersoff/MOD file in the potentials directory of the LAMMPS -distribution have a ”.tersoff.mod” suffix. Lines that are not blank +potentials. +

    +

    Tersoff/MOD file in the potentials directory of the LAMMPS +distribution have a ".tersoff.mod" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients -in the formula above:

    -
      -
    • element 1 (the center atom in a 3-body interaction)
    • -
    • element 2 (the atom bonded to the center atom)
    • -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • -
    • beta
    • -
    • alpha
    • -
    • h
    • -
    • eta
    • -
    • beta_ters = 1 (dummy parameter)
    • -
    • lambda2 (1/distance units)
    • -
    • B (energy units)
    • -
    • R (distance units)
    • -
    • D (distance units)
    • -
    • lambda1 (1/distance units)
    • -
    • A (energy units)
    • -
    • n
    • -
    • c1
    • -
    • c2
    • -
    • c3
    • -
    • c4
    • -
    • c5
    • -
    -

    The n, eta, lambda2, B, lambda1, and A parameters are only used for +in the formula above: +

    +
    • element 1 (the center atom in a 3-body interaction) +
    • element 2 (the atom bonded to the center atom) +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) +
    • beta +
    • alpha +
    • h +
    • eta +
    • beta_ters = 1 (dummy parameter) +
    • lambda2 (1/distance units) +
    • B (energy units) +
    • R (distance units) +
    • D (distance units) +
    • lambda1 (1/distance units) +
    • A (energy units) +
    • n +
    • c1 +
    • c2 +
    • c3 +
    • c4 +
    • c5 +
    +

    The n, eta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -non-annotated parameters are unitless.

    -

    The Tersoff/MOD potential file must contain entries for all the elements +non-annotated parameters are unitless. +

    +

    The Tersoff/MOD potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS -ignores those entries.

    -

    For a single-element simulation, only a single entry is required -(e.g. SiSiSi). As annotated above, the first element in the entry is -the center atom in a three-body interaction and it is bonded to the -2nd atom and the bond is influenced by the 3rd atom. Thus an entry -for SiSiSi means Si bonded to a Si with another Si atom influencing the bond.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +ignores those entries. +

    +

    For a single-element simulation, only a single entry is required +(e.g. SiSiSi). As annotated above, the first element in the entry is +the center atom in a three-body interaction and it is bonded to the +2nd atom and the bond is influenced by the 3rd atom. Thus an entry +for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    The Tersoff/MOD potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can +the Making LAMMPS section for more info. +

    +

    This pair style requires the newton setting to be "on" +for pair interactions. +

    +

    The Tersoff/MOD potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use the Tersoff/MOD potential with any LAMMPS units, but you would need to create your own Tersoff/MOD potential file with coefficients listed in the -appropriate units if your simulation doesn’t use “metal” units.

    -
    - -
    +appropriate units if your simulation doesn't use "metal" units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Kumagai) T. Kumagai, S. Izumi, S. Hara, S. Sakai, +Comp. Mat. Science, 39, 457 (2007). +

    + -
    +

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Tersoff_2) J. Tersoff, Phys Rev B, 38, 9902 (1988). +

    + -
    +

    (Murty) M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995). +

    + -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Schelling) Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008). +

    + diff --git a/doc/pair_tersoff_zbl.html b/doc/pair_tersoff_zbl.html index 5985d6767e..3374f89148 100644 --- a/doc/pair_tersoff_zbl.html +++ b/doc/pair_tersoff_zbl.html @@ -1,164 +1,46 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style tersoff/zbl command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style tersoff/zbl command¶

    -
    -
    -

    pair_style tersoff/zbl/kk command¶

    -
    -
    -

    pair_style tersoff/zbl/omp command¶

    -
    -

    Syntax¶

    -
    pair_style tersoff/zbl
    -
    -
    -
    -
    -

    Examples¶

    -
    pair_style tersoff/zbl
    -pair_coeff * * SiC.tersoff.zbl Si C Si
    -
    -
    -
    -
    -

    Description¶

    -

    The tersoff/zbl style computes a 3-body Tersoff potential -(Tersoff_1) with a close-separation pairwise modification + + +


    + +

    pair_style tersoff/zbl command +

    +

    pair_style tersoff/zbl/kk command +

    +

    pair_style tersoff/zbl/omp command +

    +

    Syntax: +

    +
    pair_style tersoff/zbl 
    +
    +

    Examples: +

    +
    pair_style tersoff/zbl
    +pair_coeff * * SiC.tersoff.zbl Si C Si 
    +
    +

    Description: +

    +

    The tersoff/zbl style computes a 3-body Tersoff potential +(Tersoff_1) with a close-separation pairwise modification based on a Coulomb potential and the Ziegler-Biersack-Littmark -universal screening function (ZBL), giving the energy E of a -system of atoms as

    -_images/pair_tersoff_zbl.jpg -

    The f_F term is a fermi-like function used to smoothly connect the ZBL +universal screening function (ZBL), giving the energy E of a +system of atoms as +

    +
    +
    +

    The f_F term is a fermi-like function used to smoothly connect the ZBL repulsive potential with the Tersoff potential. There are 2 -parameters used to adjust it: A_F and r_C. A_F controls how “sharp” +parameters used to adjust it: A_F and r_C. A_F controls how "sharp" the transition is between the two, and r_C is essentially the cutoff -for the ZBL potential.

    -

    For the ZBL portion, there are two terms. The first is the Coulomb +for the ZBL potential. +

    +

    For the ZBL portion, there are two terms. The first is the Coulomb repulsive term, with Z1, Z2 as the number of protons in each nucleus, e as the electron charge (1 for metal and real units) and epsilon0 as the permittivity of vacuum. The second part is the ZBL universal @@ -166,82 +48,89 @@ screening function, with a0 being the Bohr radius (typically 0.529 Angstroms), and the remainder of the coefficients provided by the original paper. This screening function should be applicable to most systems. However, it is only accurate for small separations -(i.e. less than 1 Angstrom).

    -

    For the Tersoff portion, f_R is a two-body term and f_A includes +(i.e. less than 1 Angstrom). +

    +

    For the Tersoff portion, f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all -neighbors J and K of atom I within a cutoff distance = R + D.

    -

    Only a single pair_coeff command is used with the tersoff/zbl style +neighbors J and K of atom I within a cutoff distance = R + D. +

    +

    Only a single pair_coeff command is used with the tersoff/zbl style which specifies a Tersoff/ZBL potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types:

    -
      -
    • filename
    • -
    • N element names = mapping of Tersoff/ZBL elements to atom types
    • -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file.

    -

    As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values +where N is the number of LAMMPS atom types: +

    +
    • filename +
    • N element names = mapping of Tersoff/ZBL elements to atom types +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file. +

    +

    As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command:

    -
    pair_coeff * * SiC.tersoff Si Si Si C
    -
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +following pair_coeff command: +

    +
    pair_coeff * * SiC.tersoff Si Si Si C 
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff/ZBL file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff/ZBL file. If a mapping value is specified as NULL, the mapping is not performed. This can be -used when a tersoff/zbl potential is used as part of the hybrid +used when a tersoff/zbl potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will -be used with other potentials.

    -

    Tersoff/ZBL files in the potentials directory of the LAMMPS -distribution have a ”.tersoff.zbl” suffix. Lines that are not blank +be used with other potentials. +

    +

    Tersoff/ZBL files in the potentials directory of the LAMMPS +distribution have a ".tersoff.zbl" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients -in the formula above:

    -
      -
    • element 1 (the center atom in a 3-body interaction)
    • -
    • element 2 (the atom bonded to the center atom)
    • -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • -
    • m
    • -
    • gamma
    • -
    • lambda3 (1/distance units)
    • -
    • c
    • -
    • d
    • -
    • costheta0 (can be a value < -1 or > 1)
    • -
    • n
    • -
    • beta
    • -
    • lambda2 (1/distance units)
    • -
    • B (energy units)
    • -
    • R (distance units)
    • -
    • D (distance units)
    • -
    • lambda1 (1/distance units)
    • -
    • A (energy units)
    • -
    • Z_i
    • -
    • Z_j
    • -
    • ZBLcut (distance units)
    • -
    • ZBLexpscale (1/distance units)
    • -
    -

    The n, beta, lambda2, B, lambda1, and A parameters are only used for +in the formula above: +

    +
    • element 1 (the center atom in a 3-body interaction) +
    • element 2 (the atom bonded to the center atom) +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) +
    • m +
    • gamma +
    • lambda3 (1/distance units) +
    • c +
    • d +
    • costheta0 (can be a value < -1 or > 1) +
    • n +
    • beta +
    • lambda2 (1/distance units) +
    • B (energy units) +
    • R (distance units) +
    • D (distance units) +
    • lambda1 (1/distance units) +
    • A (energy units) +
    • Z_i +
    • Z_j +
    • ZBLcut (distance units) +
    • ZBLexpscale (1/distance units) +
    +

    The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The Z_i,Z_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive portion of the potential and in the Fermi-like function. The -non-annotated parameters are unitless. The value of m must be 3 or 1.

    -

    The Tersoff/ZBL potential file must contain entries for all the +non-annotated parameters are unitless. The value of m must be 3 or 1. +

    +

    The Tersoff/ZBL potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries.

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries. +

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc.

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc. +

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus @@ -249,166 +138,141 @@ three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry.

    -

    The parameters used for a particular +SiCC entry. +

    +

    The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired.

    -

    Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 (Tersoff_2) are not symmetric.

    -

    We chose the above form so as to enable users to define all commonly +be set to 0.0 if desired. +

    +

    Note that the twobody parameters in entries such as SiCC and CSiSi +are often the same, due to the common use of symmetric mixing rules, +but this is not always the case. For example, the beta and n parameters in +Tersoff_2 (Tersoff_2) are not symmetric. +

    +

    We chose the above form so as to enable users to define all commonly used variants of the Tersoff portion of the potential. In particular, our form reduces to the original Tersoff form when m = 3 and gamma = -1, while it reduces to the form of Albe et al. when beta = 1 +1, while it reduces to the form of Albe et al. when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as -Tersoff_2 potential (Tersoff_2).

    -

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: +Tersoff_2 potential (Tersoff_2). +

    +

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: gamma = omega_ijk, lambda3 = 0 and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules:

    -_images/pair_tersoff_2.jpg -

    Tersoff_2 parameters R and S must be converted to the LAMMPS +using the Tersoff_2 mixing rules: +

    +
    +
    +

    Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following -relations: R=(R’+S’)/2 and D=(S’-R’)/2, where the primes indicate the -Tersoff_2 parameters.

    -

    In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff’s various versions of Si, as well as his +relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the +Tersoff_2 parameters. +

    +

    In the potentials directory, the file SiCGe.tersoff provides the +LAMMPS parameters for Tersoff's various versions of Si, as well as his alloy parameters for Si, C, and Ge. This file can be used for pure Si, (three different versions), pure C, pure Ge, binary SiC, and binary SiGe. LAMMPS will generate an error if this file is used with any combination involving C and Ge, since there are no entries for the GeC interactions (Tersoff did not publish parameters for this cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys.

    -

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou +(SiC.tersoff) and the GaN (GaN.tersoff) alloys. +

    +

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been defined in various papers. Also thanks to Ram Devanathan for -providing the base ZBL implementation.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +providing the base ZBL implementation. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you +described above from values in the potential file. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info.

    -

    This pair style requires the newton setting to be “on” -for pair interactions.

    -

    The Tersoff/ZBL potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. +the Making LAMMPS section for more info. +

    +

    This pair style requires the newton setting to be "on" +for pair interactions. +

    +

    The Tersoff/ZBL potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients -listed in the appropriate units if your simulation doesn’t use “metal” -units.

    -
    - -
    +listed in the appropriate units if your simulation doesn't use "metal" +units. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). +

    + -
    +

    (ZBL) J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges +of Ions in Matter' Vol 1, 1985, Pergamon Press. +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Albe) J. Nord, K. Albe, P. Erhart and K. Nordlund, J. Phys.: +Condens. Matter, 15, 5649(2003). +

    + -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Tersoff_2) J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) +

    + diff --git a/doc/pair_thole.html b/doc/pair_thole.html index b37b585729..2fa01d9e86 100644 --- a/doc/pair_thole.html +++ b/doc/pair_thole.html @@ -1,285 +1,133 @@ + + + + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style thole command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style thole command¶

    -
    -

    Syntax¶

    -
    pair_style thole damp cutoff
    -
    -
    -
      -
    • thole = style name
    • -
    • damp = global damping parameter
    • -
    • cutoff = global cutoff
    • -
    -
    -
    -

    Examples¶

    -
    pair_style hybrid/overlay ... thole 2.6 12.0
    +
    +
    +
    + +

    pair_style thole command +

    +

    Syntax: +

    +
    pair_style thole damp cutoff 
    +
    +
    • thole = style name +
    • damp = global damping parameter +
    • cutoff = global cutoff +
    +

    Examples: +

    +
    pair_style hybrid/overlay ... thole 2.6 12.0
     pair_coeff 1 1 thole 1.0
     pair_coeff 1 2 thole 1.0 2.6 10.0
    -pair_coeff * 2 thole 1.0 2.6
    -
    -
    -
    -
    -

    Description¶

    -

    The thole pair style is meant to be used with force fields that +pair_coeff * 2 thole 1.0 2.6 + +

    Description: +

    +

    The thole pair style is meant to be used with force fields that include explicit polarization through Drude dipoles. This link -describes how to use the thermalized Drude oscillator model in LAMMPS and polarizable models in LAMMPS -are discussed in this Section.

    -

    The thole pair style should be used as a sub-style within in the -pair_hybrid/overlay command, in conjunction with a +describes how to use the thermalized Drude oscillator +model in LAMMPS and polarizable models in LAMMPS +are discussed in this Section. +

    +

    The thole pair style should be used as a sub-style within in the +pair_hybrid/overlay command, in conjunction with a main pair style including Coulomb interactions, i.e. any pair style -containing coul/cut or coul/long in its style name.

    -

    The thole pair style computes the Coulomb interaction damped at -short distances by a function

    -

    begin{equation} T_{ij}(r_{ij}) = 1 - left( 1 + -frac{s_{ij} r_{ij} }{2} right) -exp left( - s_{ij} r_{ij} right) end{equation}

    -

    This function results from an adaptation to point charges -(Noskov) of the dipole screening scheme originally proposed -by Thole. The scaling coefficient (s_{ij} ) is determined -by the polarizability of the atoms, ( alpha_i ), and by a Thole -damping parameter ( a ). This Thole damping parameter usually takes +containing coul/cut or coul/long in its style name. +

    +

    The thole pair style computes the Coulomb interaction damped at +short distances by a function +

    +

    \begin{equation} T_{ij}(r_{ij}) = 1 - \left( 1 + +\frac{s_{ij} r_{ij} }{2} \right) +\exp \left( - s_{ij} r_{ij} \right) \end{equation} +

    +

    This function results from an adaptation to point charges +(Noskov) of the dipole screening scheme originally proposed +by Thole. The scaling coefficient \(s_{ij} \) is determined +by the polarizability of the atoms, \( \alpha_i \), and by a Thole +damping parameter \( a \). This Thole damping parameter usually takes a value of 2.6, but in certain force fields the value can depend upon the atom types. The mixing rule for Thole damping parameters is the arithmetic average, and for polarizabilities the geometric average -between the atom-specific values.

    -

    begin{equation} s_{ij} = frac{ a_{ij} }{ -(alpha_{ij})^{1/3} } = frac{ (a_i + a_j)/2 }{ -[(alpha_ialpha_j)^{1/2}]^{1/3} } end{equation}

    -

    The damping function is only applied to the interactions between the +between the atom-specific values. +

    +

    \begin{equation} s_{ij} = \frac{ a_{ij} }{ +(\alpha_{ij})^{1/3} } = \frac{ (a_i + a_j)/2 }{ +[(\alpha_i\alpha_j)^{1/2}]^{1/3} } \end{equation} +

    +

    The damping function is only applied to the interactions between the point charges representing the induced dipoles on polarizable sites, -that is, charges on Drude particles, ( q_{D,i} ), and opposite -charges, ( -q_{D,i} ), located on the respective core particles +that is, charges on Drude particles, \( q_{D,i} \), and opposite +charges, \( -q_{D,i} \), located on the respective core particles (to which each Drude particle is bonded). Therefore, Thole screening -is not applied to the full charge of the core particle ( q_i ), but -only to the ( -q_{D,i} ) part of it.

    -

    The interactions between core charges are subject to the weighting -factors set by the special_bonds command. The +is not applied to the full charge of the core particle \( q_i \), but +only to the \( -q_{D,i} \) part of it. +

    +

    The interactions between core charges are subject to the weighting +factors set by the special_bonds command. The interactions between Drude particles and core charges or non-polarizable atoms are also subject to these weighting factors. The Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from -their respective cores.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the example -above.

    -
      -
    • alpha (distance units^3)
    • -
    • damp
    • -
    • cutoff (distance units)
    • -
    -

    The last two coefficients are optional. If not specified the global +their respective cores. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the example +above. +

    +
    • alpha (distance units^3) +
    • damp +
    • cutoff (distance units) +
    +

    The last two coefficients are optional. If not specified the global Thole damping parameter or global cutoff specified in the pair_style command are used. In order to specify a cutoff (third argument) a damp -parameter (second argument) must also be specified.

    -

    Mixing:

    -

    The thole pair style does not support mixing. Thus, coefficients -for all I,J pairs must be specified explicitly.

    -
    -
    -

    Restrictions¶

    -

    These pair styles are part of the USER-DRUDE package. They are only -enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This pair_style should currently not be used with the charmm dihedral style if the latter non-zero 1-4 weighting -factors. This is because the thole pair style does not know which -pairs are 1-4 partners of which dihedrals.

    -
    - -
    +parameter (second argument) must also be specified. +

    +

    Mixing: +

    +

    The thole pair style does not support mixing. Thus, coefficients +for all I,J pairs must be specified explicitly. +

    +

    Restrictions: +

    +

    These pair styles are part of the USER-DRUDE package. They are only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This pair_style should currently not be used with the charmm dihedral +style if the latter non-zero 1-4 weighting +factors. This is because the thole pair style does not know which +pairs are 1-4 partners of which dihedrals. +

    +

    Related commands: +

    +

    fix drude, fix +langevin/drude, fix +drude/transform, compute +temp/drude +

    +

    Default: none +

    +
    + -
    -
    -
    - +

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Thole) Chem Phys, 59, 341 (1981). +

    + diff --git a/doc/pair_tri_lj.html b/doc/pair_tri_lj.html index 5c2f8f7ef5..98a230c736 100644 --- a/doc/pair_tri_lj.html +++ b/doc/pair_tri_lj.html @@ -1,170 +1,53 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style tri/lj command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style tri/lj command¶

    -
    -
    -

    pair_style tri/lj/omp command¶

    -
    -

    Syntax¶

    -
    pair_style tri/lj cutoff
    -
    -
    -

    cutoff = global cutoff for interactions (distance units)

    -
    -
    -

    Examples¶

    -
    pair_style tri/lj 3.0
    +
    +
    +
    + +

    pair_style tri/lj command +

    +

    pair_style tri/lj/omp command +

    +

    Syntax: +

    +
    pair_style tri/lj cutoff 
    +
    +

    cutoff = global cutoff for interactions (distance units) +

    +

    Examples: +

    +
    pair_style tri/lj 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5
    -
    -
    -
    -
    -

    Description¶

    -

    Style tri/lj treats particles which are triangles as a set of small +pair_coeff 1 1 1.0 1.5 2.5 + +

    Description: +

    +

    Style tri/lj treats particles which are triangles as a set of small spherical particles that tile the triangle surface as explained below. Interactions between two triangles, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones interactions. Interactions between a triangle with N spherical particles and a point particle are treated as the pairwise sum of N -Lennard-Jones interactions. See the pair_style lj/cut -doc page for the definition of Lennard-Jones interactions.

    -

    The cutoff distance for an interaction between 2 triangles, or between +Lennard-Jones interactions. See the pair_style lj/cut +doc page for the definition of Lennard-Jones interactions. +

    +

    The cutoff distance for an interaction between 2 triangles, or between a triangle and a point particle, is calculated from the position of the triangle (its centroid), not between pairs of individual spheres comprising the triangle. Thus an interaction is either calculated in -its entirety or not at all.

    -

    The set of non-overlapping spherical particles that represent a +its entirety or not at all. +

    +

    The set of non-overlapping spherical particles that represent a triangle, for purposes of this pair style, are generated in the following manner. Assume the triangle is of type I, and sigma_II has been specified. We want a set of spheres with centers in the plane of the triangle, none of them larger in diameter than sigma_II, which -completely cover the triangle’s area, but with minimial overlap and a +completely cover the triangle's area, but with minimial overlap and a minimal total number of spheres. This is done in a recursive manner. Place a sphere at the centroid of the original triangle. Calculate what diameter it must have to just cover all 3 corner points of the @@ -176,130 +59,87 @@ process on each sub-triangle, recursing as far as needed to generate a set of covering spheres. When finished, the original criteria are met, and the set of covering spheres shoule be near minimal in number and overlap, at least for input triangles with a reasonable -aspect-ratio.

    -

    The LJ interaction between 2 spheres on different triangles of types +aspect-ratio. +

    +

    The LJ interaction between 2 spheres on different triangles of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for triangles spheres is computed -using only sigma_II values, specific to the triangles’s type, this +using only sigma_II values, specific to the triangles's type, this means that any specified sigma_IJ values (for I != J) are effectively -ignored.

    -

    For style tri/lj, the following coefficients must be defined for -each pair of atoms types via the pair_coeff command +ignored. +

    +

    For style tri/lj, the following coefficients must be defined for +each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by -the read_data or read_restart -commands:

    -
      -
    • epsilon (energy units)
    • -
    • sigma (distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the read_data or read_restart +commands: +

    +
    • epsilon (energy units) +
    • sigma (distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the “pair_modify” command for -details.

    -

    This pair style does not support the pair_modify -shift, table, and tail options.

    -

    This pair style does not write its information to binary restart files.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Defining particles to be triangles so they participate in tri/tri or -tri/particle interactions requires the use the atom_style tri command.

    -
    - -
    +default mix value is geometric. See the "pair_modify" command for +details. +

    +

    This pair style does not support the pair_modify +shift, table, and tail options. +

    +

    This pair style does not write its information to binary restart +files. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Defining particles to be triangles so they participate in tri/tri or +tri/particle interactions requires the use the atom_style +tri command. +

    +

    Related commands: +

    +

    pair_coeff, pair_style line/lj +

    +

    Default: none +

    + diff --git a/doc/pair_write.html b/doc/pair_write.html index 82a5be1091..f392444416 100644 --- a/doc/pair_write.html +++ b/doc/pair_write.html @@ -1,259 +1,83 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_write command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_write command¶

    -
    -

    Syntax¶

    -
    pair_write itype jtype N style inner outer file keyword Qi Qj
    -
    -
    -
      -
    • itype,jtype = 2 atom types
    • -
    • N = # of values
    • -
    • style = r or rsq or bitmap
    • -
    • inner,outer = inner and outer cutoff (distance units)
    • -
    • file = name of file to write values to
    • -
    • keyword = section name in file for this set of tabulated values
    • -
    • Qi,Qj = 2 atom charges (charge units) (optional)
    • -
    -
    -
    -

    Examples¶

    -
    pair_write 1 3 500 r 1.0 10.0 table.txt LJ
    -pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5
    -
    -
    -
    -
    -

    Description¶

    -

    Write energy and force values to a file as a function of distance for + + +


    + +

    pair_write command +

    +

    Syntax: +

    +
    pair_write itype jtype N style inner outer file keyword Qi Qj 
    +
    +
    • itype,jtype = 2 atom types +
    • N = # of values +
    • style = r or rsq or bitmap +
    • inner,outer = inner and outer cutoff (distance units) +
    • file = name of file to write values to +
    • keyword = section name in file for this set of tabulated values +
    • Qi,Qj = 2 atom charges (charge units) (optional) +
    +

    Examples: +

    +
    pair_write 1 3 500 r 1.0 10.0 table.txt LJ
    +pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 
    +
    +

    Description: +

    +

    Write energy and force values to a file as a function of distance for the currently defined pair potential. This is useful for plotting the potential function or otherwise debugging its values. If the file already exists, the table of values is appended to the end of the file to allow multiple tables of energy and force to be included in one -file.

    -

    The energy and force values are computed at distances from inner to +file. +

    +

    The energy and force values are computed at distances from inner to outer for 2 interacting atoms of type itype and jtype, using the -appropriate pair_coeff coefficients. If the style -is r, then N distances are used, evenly spaced in r; if the style is -rsq, N distances are used, evenly spaced in r^2.

    -

    For example, for N = 7, style = r, inner = 1.0, and outer = 4.0, -values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0.

    -

    If the style is bitmap, then 2^N values are written to the file in a +appropriate pair_coeff coefficients. If the style +is r, then N distances are used, evenly spaced in r; if the style is +rsq, N distances are used, evenly spaced in r^2. +

    +

    For example, for N = 7, style = r, inner = 1.0, and outer = 4.0, +values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. +

    +

    If the style is bitmap, then 2^N values are written to the file in a format and order consistent with how they are read in by the -pair_coeff command for pair style table. For -reasonable accuracy in a bitmapped table, choose N >= 12, an inner +pair_coeff command for pair style table. For +reasonable accuracy in a bitmapped table, choose N >= 12, an inner value that is smaller than the distance of closest approach of 2 -atoms, and an outer value <= cutoff of the potential.

    -

    If the pair potential is computed between charged atoms, the charges +atoms, and an outer value <= cutoff of the potential. +

    +

    If the pair potential is computed between charged atoms, the charges of the pair of interacting atoms can optionally be specified. If not -specified, values of Qi = Qj = 1.0 are used.

    -

    The file is written in the format used as input for the -pair_style table option with keyword as the +specified, values of Qi = Qj = 1.0 are used. +

    +

    The file is written in the format used as input for the +pair_style table option with keyword as the section name. Each line written to the file lists an index number (1-N), a distance (in distance units), an energy (in energy units), -and a force (in force units).

    -
    -
    -

    Restrictions¶

    -

    All force field coefficients for pair and other kinds of interactions -must be set before this command can be invoked.

    -

    Due to how the pairwise force is computed, an inner value > 0.0 must -be specified even if the potential has a finite value at r = 0.0.

    -

    For EAM potentials, the pair_write command only tabulates the -pairwise portion of the potential, not the embedding portion.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +and a force (in force units). +

    +

    Restrictions: +

    +

    All force field coefficients for pair and other kinds of interactions +must be set before this command can be invoked. +

    +

    Due to how the pairwise force is computed, an inner value > 0.0 must +be specified even if the potential has a finite value at r = 0.0. +

    +

    For EAM potentials, the pair_write command only tabulates the +pairwise portion of the potential, not the embedding portion. +

    +

    Related commands: +

    +

    pair_style, pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_yukawa.html b/doc/pair_yukawa.html index 2bd3e1d449..d4c78f82de 100644 --- a/doc/pair_yukawa.html +++ b/doc/pair_yukawa.html @@ -1,279 +1,111 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style yukawa command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style yukawa command¶

    -
    -
    -

    pair_style yukawa/gpu command¶

    -
    -
    -

    pair_style yukawa/omp command¶

    -
    -

    Syntax¶

    -
    pair_style yukawa kappa cutoff
    -
    -
    -
      -
    • kappa = screening length (inverse distance units)
    • -
    • cutoff = global cutoff for Yukawa interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style yukawa 2.0 2.5
    +
    +
    +
    + +

    pair_style yukawa command +

    +

    pair_style yukawa/gpu command +

    +

    pair_style yukawa/omp command +

    +

    Syntax: +

    +
    pair_style yukawa kappa cutoff 
    +
    +
    • kappa = screening length (inverse distance units) +
    • cutoff = global cutoff for Yukawa interactions (distance units) +
    +

    Examples: +

    +
    pair_style yukawa 2.0 2.5
     pair_coeff 1 1 100.0 2.3
    -pair_coeff * * 100.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style yukawa computes pairwise interactions with the formula

    -_images/pair_yukawa.jpg -

    Rc is the cutoff.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff * * 100.0 + +

    Description: +

    +

    Style yukawa computes pairwise interactions with the formula +

    +
    +
    +

    Rc is the cutoff. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • A (energy*distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The last coefficient is optional. If not specified, the global yukawa -cutoff is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below: +

    +
    • A (energy*distance units) +
    • cutoff (distance units) +
    +

    The last coefficient is optional. If not specified, the global yukawa +cutoff is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is geometric. See the -“pair_modify” command for details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +like a LJ epsilon. The default mix value is geometric. See the +"pair_modify" command for details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    + diff --git a/doc/pair_yukawa_colloid.html b/doc/pair_yukawa_colloid.html index 7ab33739f0..595e761358 100644 --- a/doc/pair_yukawa_colloid.html +++ b/doc/pair_yukawa_colloid.html @@ -1,318 +1,163 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style yukawa/colloid command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style yukawa/colloid command¶

    -
    -
    -

    pair_style yukawa/colloid/gpu command¶

    -
    -
    -

    pair_style yukawa/colloid/omp command¶

    -
    -

    Syntax¶

    -
    pair_style yukawa/colloid kappa cutoff
    -
    -
    -
      -
    • kappa = screening length (inverse distance units)
    • -
    • cutoff = global cutoff for colloidal Yukawa interactions (distance units)
    • -
    -
    -
    -

    Examples¶

    -
    pair_style yukawa/colloid 2.0 2.5
    +
    +
    +
    + +

    pair_style yukawa/colloid command +

    +

    pair_style yukawa/colloid/gpu command +

    +

    pair_style yukawa/colloid/omp command +

    +

    Syntax: +

    +
    pair_style yukawa/colloid kappa cutoff 
    +
    +
    • kappa = screening length (inverse distance units) +
    • cutoff = global cutoff for colloidal Yukawa interactions (distance units) +
    +

    Examples: +

    +
    pair_style yukawa/colloid 2.0 2.5
     pair_coeff 1 1 100.0 2.3
    -pair_coeff * * 100.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style yukawa/colloid computes pairwise interactions with the formula

    -_images/pair_yukawa_colloid.jpg -

    where Ri and Rj are the radii of the two particles and Rc is the -cutoff.

    -

    In contrast to pair_style yukawa, this functional +pair_coeff * * 100.0 + +

    Description: +

    +

    Style yukawa/colloid computes pairwise interactions with the formula +

    +
    +
    +

    where Ri and Rj are the radii of the two particles and Rc is the +cutoff. +

    +

    In contrast to pair_style yukawa, this functional form arises from the Coulombic interaction between two colloid particles, screened due to the presence of an electrolyte, see the -book by Safran for a derivation in the context of DVLO -theory. Pair_style yukawa is a screened Coulombic -potential between two point-charges and uses no such approximation.

    -

    This potential applies to nearby particle pairs for which the Derjagin -approximation holds, meaning h << Ri + Rj, where h is the -surface-to-surface separation of the two particles.

    -

    When used in combination with pair_style colloid, +book by Safran for a derivation in the context of DVLO +theory. Pair_style yukawa is a screened Coulombic +potential between two point-charges and uses no such approximation. +

    +

    This potential applies to nearby particle pairs for which the Derjagin +approximation holds, meaning h << Ri + Rj, where h is the +surface-to-surface separation of the two particles. +

    +

    When used in combination with pair_style colloid, the two terms become the so-called DLVO potential, which combines -electrostatic repulsion and van der Waals attraction.

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +electrostatic repulsion and van der Waals attraction. +

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below:

    -
      -
    • A (energy/distance units)
    • -
    • cutoff (distance units)
    • -
    -

    The prefactor A is determined from the relationship between surface +read_data or read_restart +commands, or by mixing as described below: +

    +
    • A (energy/distance units) +
    • cutoff (distance units) +
    +

    The prefactor A is determined from the relationship between surface charge and surface potential due to the presence of electrolyte. Note that the A for this potential style has different units than the A -used in pair_style yukawa. For low surface -potentials, i.e. less than about 25 mV, A can be written as:

    -
    A = 2 * PI * R*eps*eps0 * kappa * psi^2
    -
    -
    -

    where

    -
      -
    • R = colloid radius (distance units)
    • -
    • eps0 = permittivity of free space (charge^2/energy/distance units)
    • -
    • eps = relative permittivity of fluid medium (dimensionless)
    • -
    • kappa = inverse screening length (1/distance units)
    • -
    • psi = surface potential (energy/charge units)
    • -
    -

    The last coefficient is optional. If not specified, the global -yukawa/colloid cutoff is used.

    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +used in pair_style yukawa. For low surface +potentials, i.e. less than about 25 mV, A can be written as: +

    +
    A = 2 * PI * R*eps*eps0 * kappa * psi^2 
    +
    +

    where +

    +
    • R = colloid radius (distance units) +
    • eps0 = permittivity of free space (charge^2/energy/distance units) +
    • eps = relative permittivity of fluid medium (dimensionless) +
    • kappa = inverse screening length (1/distance units) +
    • psi = surface potential (energy/charge units) +
    +

    The last coefficient is optional. If not specified, the global +yukawa/colloid cutoff is used. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is geometric. See the -“pair_modify” command for details.

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction.

    -

    The pair_modify table option is not relevant -for this pair style.

    -

    This pair style does not support the pair_modify +like a LJ epsilon. The default mix value is geometric. See the +"pair_modify" command for details. +

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction. +

    +

    The pair_modify table option is not relevant +for this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure.

    -

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -

    This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    This pair style requires that atoms be finite-size spheres with a -diameter, as defined by the atom_style sphere -command.

    -

    Per-particle polydispersity is not yet supported by this pair style; +pressure. +

    +

    This pair style writes its information to binary restart +files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    + +

    Restrictions: +

    +

    This style is part of the COLLOID package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    This pair style requires that atoms be finite-size spheres with a +diameter, as defined by the atom_style sphere +command. +

    +

    Per-particle polydispersity is not yet supported by this pair style; per-type polydispersity is allowed. This means all particles of the same type must have the same diameter. Each type can have a different -diameter.

    -
    - -
    +diameter. +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Safran) Safran, Statistical Thermodynamics of Surfaces, Interfaces, +And Membranes, Westview Press, ISBN: 978-0813340791 (2003). +

    + diff --git a/doc/pair_zbl.html b/doc/pair_zbl.html index f5f16ee25f..ad0b945578 100644 --- a/doc/pair_zbl.html +++ b/doc/pair_zbl.html @@ -1,299 +1,134 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - pair_style zbl command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    pair_style zbl command¶

    -
    -
    -

    pair_style zbl/omp command¶

    -
    -

    Syntax¶

    -
    pair_style zbl inner outer
    -
    -
    -
      -
    • inner = distance where switching function begins
    • -
    • outer = global cutoff for ZBL interaction
    • -
    -
    -
    -

    Examples¶

    -
    pair_style zbl 3.0 4.0
    +
    +
    +
    + +

    pair_style zbl command +

    +

    pair_style zbl/omp command +

    +

    Syntax: +

    +
    pair_style zbl inner outer 
    +
    +
    • inner = distance where switching function begins +
    • outer = global cutoff for ZBL interaction +
    +

    Examples: +

    +
    pair_style zbl 3.0 4.0
     pair_coeff * * 73.0
    -pair_coeff 1 1 14.0
    -
    -
    -
    -
    -

    Description¶

    -

    Style zbl computes the Ziegler-Biersack-Littmark (ZBL) screened nuclear +pair_coeff 1 1 14.0 + +

    Description: +

    +

    Style zbl computes the Ziegler-Biersack-Littmark (ZBL) screened nuclear repulsion for describing high-energy collisions between atoms. -(Ziegler). It includes an additional switching function -that ramps the energy, force, and curvature smoothly to zero +(Ziegler). It includes an additional switching function +that ramps the energy, force, and curvature smoothly to zero between an inner and outer cutoff. The potential -energy due to a pair of atoms at a distance r_ij is given by:

    -_images/pair_zbl.jpg -

    where e is the electron charge, epsilon_0 is the electrical +energy due to a pair of atoms at a distance r_ij is given by: +

    +
    +
    +

    where e is the electron charge, epsilon_0 is the electrical permittivity of vacuum, and Z_i and Z_j are the nuclear charges of the two atoms. The switching function S(r) is identical to that used by -pair_style lj/gromacs. Here, the inner and outer -cutoff are the same for all pairs of atom types.

    -

    The following coefficient must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +pair_style lj/gromacs. Here, the inner and outer +cutoff are the same for all pairs of atom types. +

    +

    The following coefficient must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the LAMMPS data file. Z can not be specified for two different atoms types. Therefore the lists of atom types I and atom types J -must match.

    -
      -
    • Z (multiples of proton charge, e.g. 13.0 for aluminum)
    • -
    -

    Although Z must be defined for all atom type pairs I,J, it is only +must match. +

    +
    • Z (multiples of proton charge, e.g. 13.0 for aluminum) +
    +

    Although Z must be defined for all atom type pairs I,J, it is only stored for individual atom types, i.e. when I = J. Z is normally equal -to the atomic number of the atom type.

    -
    -

    Warning

    -

    The numerical values of the exponential decay +to the atomic number of the atom type. +

    +

    IMPORTANT NOTE: The numerical values of the exponential decay constants in the screening function depend on the unit of distance. In the above equation they are given for units of angstroms. LAMMPS will automatically convert these values to the distance unit of the -specified LAMMPS units setting. The values of Z should -always be given as multiples of a proton’s charge, e.g. 29.0 for -copper.

    -
    -
    -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +specified LAMMPS units setting. The values of Z should +always be given as multiples of a proton's charge, e.g. 29.0 for +copper. +

    +
    + +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues. +

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -

    Mixing, shift, table, tail correction, restart, rRESPA info:

    -

    Mixing is not relevant for this pair style, since as explained above, +enabled if LAMMPS was built with those packages. See the Making +LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Mixing, shift, table, tail correction, restart, rRESPA info: +

    +

    Mixing is not relevant for this pair style, since as explained above, Z values are stored on a per-type basis, and both Zi and Zj are used -explicitly in the ZBL formula.

    -

    The ZBL pair style does not support the pair_modify +explicitly in the ZBL formula. +

    +

    The ZBL pair style does not support the pair_modify shift option, since the ZBL interaction is already smoothed to 0.0 at -the cutoff.

    -

    The pair_modify table option is not relevant for -this pair style.

    -

    This pair style does not support the pair_modify +the cutoff. +

    +

    The pair_modify table option is not relevant for +this pair style. +

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to -0.0 at the cutoff.

    -

    This pair style does not write information to binary restart files, so pair_style and pair_coeff commands must be -specified in an input script that reads a restart file.

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    +0.0 at the cutoff. +

    +

    This pair style does not write information to binary restart +files, so pair_style and pair_coeff commands must be +specified in an input script that reads a restart file. +

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    pair_coeff +

    +

    Default: none +

    +
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Ziegler) J.F. Ziegler, J. P. Biersack and U. Littmark, "The +Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985. +

    + diff --git a/doc/partition.html b/doc/partition.html index fb1b932757..4832823338 100644 --- a/doc/partition.html +++ b/doc/partition.html @@ -1,257 +1,78 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - partition command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    partition command¶

    -
    -

    Syntax¶

    -
    partition style N command ...
    -
    -
    -
      -
    • style = yes or no
    • -
    • N = partition number (see asterisk form below)
    • -
    • command = any LAMMPS command
    • -
    -
    -
    -

    Examples¶

    -
    -partition yes 1 processors 4 10 6
    -partition no 5 print "Active partition"
    -partition yes 5 fix all nve
    -partition yes 6 fix all nvt temp 1.0 1.0 0.1
    -
    -
    -
    -

    Description¶

    -

    This command invokes the specified command on a subset of the + + +


    + +

    partition command +

    +

    Syntax: +

    +
    partition style N command ... 
    +
    +
    • style = yes or no +
    • N = partition number (see asterisk form below) +
    • command = any LAMMPS command +
    +

    Examples: +

    +
    partition yes 1 processors 4 10 6
    +partition no 5 print "Active partition"
    +partition yes *5 fix all nve
    +partition yes 6* fix all nvt temp 1.0 1.0 0.1 
    +
    +

    Description: +

    +

    This command invokes the specified command on a subset of the partitions of processors you have defined via the -partition -command-line switch. See Section_start 6 -for an explanation of the switch.

    -

    Normally, every input script command in your script is invoked by +command-line switch. See Section_start 6 +for an explanation of the switch. +

    +

    Normally, every input script command in your script is invoked by every partition. This behavior can be modified by defining world- or -universe-style variables that have different values +universe-style variables that have different values for each partition. This mechanism can be used to cause your script to jump to different input script files on different partitions, if -such a variable is used in a jump command.

    -

    The “partition” command is another mechanism for having as input +such a variable is used in a jump command. +

    +

    The "partition" command is another mechanism for having as input script operate differently on different partitions. It is basically a prefix on any LAMMPS command. The commmand will only be invoked on -the partition(s) specified by the style and N arguments.

    -

    If the style is yes, the command will be invoked on any partition -which matches the N argument. If the style is no the command +the partition(s) specified by the style and N arguments. +

    +

    If the style is yes, the command will be invoked on any partition +which matches the N argument. If the style is no the command will be invoked on all the partitions which do not match the Np -argument.

    -

    Partitions are numbered from 1 to Np, where Np is the number of -partitions specified by the -partition command-line switch.

    -

    N can be specified in one of two ways. An explicit numeric value +argument. +

    +

    Partitions are numbered from 1 to Np, where Np is the number of +partitions specified by the -partition command-line +switch. +

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can -be used to span a range of partition numbers. This takes the form “*” -or “n” or “n” or “m*n”. An asterisk with no numeric values means +be used to span a range of partition numbers. This takes the form "*" +or "*n" or "n*" or "m*n". An asterisk with no numeric values means all partitions from 1 to Np. A leading asterisk means all partitions from 1 to n (inclusive). A trailing asterisk means all partitions from n to Np (inclusive). A middle asterisk means all partitions from -m to n (inclusive).

    -

    This command can be useful for the “run_style verlet/split” command -which imposed requirements on how the processors -command lays out a 3d grid of processors in each of 2 partitions.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +m to n (inclusive). +

    +

    This command can be useful for the "run_style verlet/split" command +which imposed requirements on how the processors +command lays out a 3d grid of processors in each of 2 partitions. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    run_style verlet/split +

    +

    Default: none +

    + diff --git a/doc/prd.html b/doc/prd.html index 65833d8c0c..dbd74f8d37 100644 --- a/doc/prd.html +++ b/doc/prd.html @@ -1,206 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - prd command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    prd command¶

    -
    -

    Syntax¶

    -
    prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ...
    -
    -
    -
      -
    • N = # of timesteps to run (not including dephasing/quenching)
    • -
    • t_event = timestep interval between event checks
    • -
    • n_dephase = number of velocity randomizations to perform in each dephase run
    • -
    • t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase
    • -
    • t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated
    • -
    • compute-ID = ID of the compute used for event detection
    • -
    • random_seed = random # seed (positive integer)
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = min or temp or vel
    • -
    -
    -min values = etol ftol maxiter maxeval
    +
    +
    +
    + +

    prd command +

    +

    Syntax: +

    +
    prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... 
    +
    +
    • N = # of timesteps to run (not including dephasing/quenching) + +
    • t_event = timestep interval between event checks + +
    • n_dephase = number of velocity randomizations to perform in each dephase run + +
    • t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase + +
    • t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated + +
    • compute-ID = ID of the compute used for event detection + +
    • random_seed = random # seed (positive integer) + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = min or temp or vel + +
        min values = etol ftol maxiter maxeval
           etol = stopping tolerance for energy, used in quenching
           ftol = stopping tolerance for force, used in quenching
           maxiter = max iterations of minimize, used in quenching
           maxeval = max number of force/energy evaluations, used in quenching
      -  temp value = Tdephase
      +  temp value = Tdephase
           Tdephase = target temperature for velocity randomization, used in dephasing
      -  vel values = loop dist
      -    loop = all or local or geom, used in dephasing
      -    dist = uniform or gaussian, used in dephasing
      -  time value = step or clock
      -    step = simulation runs for N timesteps on each replica (default)
      -    clock = simulation runs for N timesteps across all replicas
      -
      -
    -
    -

    Examples¶

    -
    prd 5000 100 10 10 100 1 54982
    -prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200
    -
    -
    -
    -
    -

    Description¶

    -

    Run a parallel replica dynamics (PRD) simulation using multiple + vel values = loop dist + loop = all or local or geom, used in dephasing + dist = uniform or gaussian, used in dephasing + time value = step or clock + step = simulation runs for N timesteps on each replica (default) + clock = simulation runs for N timesteps across all replicas + + + +

    Examples: +

    +
    prd 5000 100 10 10 100 1 54982
    +prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 
    +
    +

    Description: +

    +

    Run a parallel replica dynamics (PRD) simulation using multiple replicas of a system. One or more replicas can be used. The total -number of steps N to run can be interpreted in one of two ways; see -discussion of the time keyword below.

    -

    PRD is described in this paper by Art Voter. It is a method +number of steps N to run can be interpreted in one of two ways; see +discussion of the time keyword below. +

    +

    PRD is described in this paper by Art Voter. It is a method for performing accelerated dynamics that is suitable for infrequent-event systems that obey first-order kinetics. A good overview of accelerated dynamics methods for such systems in given in -this review paper from the same group. To quote from the -paper: “The dynamical evolution is characterized by vibrational +this review paper from the same group. To quote from the +paper: "The dynamical evolution is characterized by vibrational excursions within a potential basin, punctuated by occasional -transitions between basins.” The transition probability is +transitions between basins." The transition probability is characterized by p(t) = k*exp(-kt) where k is the rate constant. Running multiple replicas gives an effective enhancement in the timescale spanned by the multiple simulations, while waiting for an -event to occur.

    -

    Each replica runs on a partition of one or more processors. Processor +event to occur. +

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 6 of the +switch; see Section_start 6 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. For PRD, this makes little sense, since this offers no effective parallel speed-up in searching for infrequent events. See -Section_howto 5 of the manual for further -discussion.

    -

    When a PRD simulation is performed, it is assumed that each replica is +Section_howto 5 of the manual for further +discussion. +

    +

    When a PRD simulation is performed, it is assumed that each replica is running the same model, though LAMMPS does not check for this. I.e. the simulation domain, the number of atoms, the interaction -potentials, etc should be the same for every replica.

    -

    A PRD run has several stages, which are repeated each time an “event” +potentials, etc should be the same for every replica. +

    +

    A PRD run has several stages, which are repeated each time an "event" occurs in one of the replicas, as defined below. The logic for a PRD -run is as follows:

    -
    while (time remains):
    +run is as follows:
    +

    +
    while (time remains):
       dephase for n_dephase*t_dephase steps
       until (event occurs on some replica):
         run dynamics for t_event steps
    @@ -210,256 +104,236 @@ run is as follows:

    run dynamics for t_correlate steps quench check for correlated event on this replica - event replica shares state with all replicas -
    -
    -

    Before this loop begins, the state of the system on replica 0 is + event replica shares state with all replicas + +

    Before this loop begins, the state of the system on replica 0 is shared with all replicas, so that all replicas begin from the same initial state. The first potential energy basin is identified by quenching (an energy minimization, see below) the initial state and -storing the resulting coordinates for reference.

    -

    In the first stage, dephasing is performed by each replica +storing the resulting coordinates for reference. +

    +

    In the first stage, dephasing is performed by each replica independently to eliminate correlations between replicas. This is done by choosing a random set of velocities, based on the -random_seed that is specified, and running t_dephase timesteps of -dynamics. This is repeated n_dephase times. At each of the -n_dephase stages, if an event occurs during the t_dephase steps of +random_seed that is specified, and running t_dephase timesteps of +dynamics. This is repeated n_dephase times. At each of the +n_dephase stages, if an event occurs during the t_dephase steps of dynamics for a particular replica, the replica repeats the stage until -no event occurs.

    -

    If the temp keyword is not specified, the target temperature for +no event occurs. +

    +

    If the temp keyword is not specified, the target temperature for velocity randomization for each replica is the current temperature of -that replica. Otherwise, it is the specified Tdephase temperature. +that replica. Otherwise, it is the specified Tdephase temperature. The style of velocity randomization is controlled using the keyword -vel with arguments that have the same meaning as their counterparts -in the velocity command.

    -

    In the second stage, each replica runs dynamics continuously, stopping -every t_event steps to check if a transition event has occurred. +vel with arguments that have the same meaning as their counterparts +in the velocity command. +

    +

    In the second stage, each replica runs dynamics continuously, stopping +every t_event steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. -The first time through the PRD loop, the “previous basin” is the set -of quenched coordinates from the initial state of the system.

    -

    A quench is an energy minimization and is performed by whichever -algorithm has been defined by the min_style command. +The first time through the PRD loop, the "previous basin" is the set +of quenched coordinates from the initial state of the system. +

    +

    A quench is an energy minimization and is performed by whichever +algorithm has been defined by the min_style command. Minimization parameters may be set via the -min_modify command and by the min keyword of the +min_modify command and by the min keyword of the PRD command. The latter are the settings that would be used with the -minimize command. Note that typically, you do not +minimize command. Note that typically, you do not need to perform a highly-converged minimization to detect a transition -event.

    -

    The event check is performed by a compute with the specified -compute-ID. Currently there is only one compute that works with the -PRD commmand, which is the compute event/displace command. Other -event-checking computes may be added. Compute event/displace checks whether any atom in +event. +

    +

    The event check is performed by a compute with the specified +compute-ID. Currently there is only one compute that works with the +PRD commmand, which is the compute +event/displace command. Other +event-checking computes may be added. Compute +event/displace checks whether any atom in the compute group has moved further than a specified threshold -distance. If so, an “event” has occurred.

    -

    In the third stage, the replica on which the event occurred (event +distance. If so, an "event" has occurred. +

    +

    In the third stage, the replica on which the event occurred (event replica) continues to run dynamics to search for correlated events. -This is done by running dynamics for t_correlate steps, quenching -every t_event steps, and checking if another event has occurred.

    -

    The first time no correlated event occurs, the final state of the +This is done by running dynamics for t_correlate steps, quenching +every t_event steps, and checking if another event has occurred. +

    +

    The first time no correlated event occurs, the final state of the event replica is shared with all replicas, the new basin reference coordinates are updated with the quenched state, and the outer loop begins again. While the replica event is searching for correlated events, all the other replicas also run dynamics and event checking with the same schedule, but the final states are always overwritten by -the state of the event replica.

    -

    The outer loop of the pseudo-code above continues until N steps of -dynamics have been performed. Note that N only includes the +the state of the event replica. +

    +

    The outer loop of the pseudo-code above continues until N steps of +dynamics have been performed. Note that N only includes the dynamics of stages 2 and 3, not the steps taken during dephasing or -the minimization iterations of quenching. The specified N is -interpreted in one of two ways, depending on the time keyword. If -the time value is step, which is the default, then each replica -runs for N timesteps. If the time value is clock, then the -simulation runs until N aggregate timesteps across all replicas have -elapsed. This aggregate time is the “clock” time defined below, which +the minimization iterations of quenching. The specified N is +interpreted in one of two ways, depending on the time keyword. If +the time value is step, which is the default, then each replica +runs for N timesteps. If the time value is clock, then the +simulation runs until N aggregate timesteps across all replicas have +elapsed. This aggregate time is the "clock" time defined below, which typically advances nearly M times faster than the timestepping on a -single replica.

    -
    -

    Four kinds of output can be generated during a PRD run: event +single replica. +

    +
    + +

    Four kinds of output can be generated during a PRD run: event statistics, thermodynamic output by each replica, dump files, and -restart files.

    -

    When running with multiple partitions (each of which is a replica in +restart files. +

    +

    When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file is limited to event statistics. Note that if a PRD run is performed on only a single replica then the event statistics will be intermixed -with the usual thermodynamic output discussed below.

    -

    The quantities printed each time an event occurs are the timestep, CPU +with the usual thermodynamic output discussed below. +

    +

    The quantities printed each time an event occurs are the timestep, CPU time, clock, event number, a correlation flag, the number of -coincident events, and the replica number of the chosen event.

    -

    The timestep is the usual LAMMPS timestep, except that time does not +coincident events, and the replica number of the chosen event. +

    +

    The timestep is the usual LAMMPS timestep, except that time does not advance during dephasing or quenches, but only during dynamics. Note that are two kinds of dynamics in the PRD loop listed above. The first is when all replicas are performing independent dynamics, waiting for an event to occur. The second is when correlated events -are being searched for and only one replica is running dynamics.

    -

    The CPU time is the total processor time since the start of the PRD -run.

    -

    The clock is the same as the timestep except that it advances by M +are being searched for and only one replica is running dynamics. +

    +

    The CPU time is the total processor time since the start of the PRD +run. +

    +

    The clock is the same as the timestep except that it advances by M steps every timestep during the first kind of dynamics when the M replicas are running independently. The clock advances by only 1 step per timestep during the second kind of dynamics, since only a single -replica is checking for a correlated event. Thus “clock” time +replica is checking for a correlated event. Thus "clock" time represents the aggregate time (in steps) that effectively elapses during a PRD simulation on M replicas. If most of the PRD run is spent in the second stage of the loop above, searching for infrequent events, then the clock will advance nearly M times faster than it would if a single replica was running. Note the clock time between -events will be drawn from p(t).

    -

    The event number is a counter that increments with each event, whether -it is uncorrelated or correlated.

    -

    The correlation flag will be 0 when an uncorrelated event occurs +events will be drawn from p(t). +

    +

    The event number is a counter that increments with each event, whether +it is uncorrelated or correlated. +

    +

    The correlation flag will be 0 when an uncorrelated event occurs during the second stage of the loop listed above, i.e. when all replicas are running independently. The correlation flag will be 1 when a correlated event occurs during the third stage of the loop -listed above, i.e. when only one replica is running dynamics.

    -

    When more than one replica detects an event at the end of the second -stage, then one of them is chosen at random. The number of coincident +listed above, i.e. when only one replica is running dynamics. +

    +

    When more than one replica detects an event at the end of the second +stage, then one of them is chosen at random. The number of coincident events is the number of replicas that detected an event. Normally, we expect this value to be 1. If it is often greater than 1, then either -the number of replicas is too large, or t_event is too large.

    -

    The replica number is the ID of the replica (from 0 to M-1) that -found the event.

    -
    -

    When running on multiple partitions, LAMMPS produces additional log +the number of replicas is too large, or t_event is too large. +

    +

    The replica number is the ID of the replica (from 0 to M-1) that +found the event. +

    +
    + +

    When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the PRD command, these contain the thermodynamic output for each replica. You will see short runs and minimizations corresponding to the dynamics and quench operations of the loop listed above. The timestep will be reset aprpopriately depending on whether the -operation advances time or not.

    -

    After the PRD command completes, timing statistics for the PRD run are -printed in each replica’s log file, giving a breakdown of how much CPU -time was spent in each stage (dephasing, dynamics, quenching, etc).

    -
    -

    Any dump files defined in the input script, will be +operation advances time or not. +

    +

    After the PRD command completes, timing statistics for the PRD run are +printed in each replica's log file, giving a breakdown of how much CPU +time was spent in each stage (dephasing, dynamics, quenching, etc). +

    +
    + +

    Any dump files defined in the input script, will be written to during a PRD run at timesteps corresponding to both uncorrelated and correlated events. This means the the requested dump -frequency in the dump command is ignored. There will be -one dump file (per dump command) created for all partitions.

    -

    The atom coordinates of the dump snapshot are those of the minimum +frequency in the dump command is ignored. There will be +one dump file (per dump command) created for all partitions. +

    +

    The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching following a transition event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each PRD -run.

    -
    -

    If the restart command is used, a single restart file +run. +

    +
    + +

    If the restart command is used, a single restart file for all the partitions is generated, which allows a PRD run to be -continued by a new input script in the usual manner.

    -

    The restart file is generated at the end of the loop listed above. If +continued by a new input script in the usual manner. +

    +

    The restart file is generated at the end of the loop listed above. If no correlated events are found, this means it contains a snapshot of -the system at time T + t_correlate, where T is the time at which the +the system at time T + t_correlate, where T is the time at which the uncorrelated event occurred. If correlated events were found, then it -contains a snapshot of the system at time T + t_correlate, where T -is the time of the last correlated event.

    -

    The restart frequency specified in the restart command +contains a snapshot of the system at time T + t_correlate, where T +is the time of the last correlated event. +

    +

    The restart frequency specified in the restart command is interpreted differently when performing a PRD run. It does not mean the timestep interval between restart files. Instead it means an event interval for uncorrelated events. Thus a frequency of 1 means write a restart file every time an uncorrelated event occurs. A frequency of 10 means write a restart file every 10th uncorrelated -event.

    -

    When an input script reads a restart file from a previous PRD run, the +event. +

    +

    When an input script reads a restart file from a previous PRD run, the new script can be run on a different number of replicas or processors. -However, it is assumed that t_correlate in the new PRD command is -the same as it was previously. If not, the calculation of the “clock” -value for the first event in the new run will be slightly off.

    -
    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -

    N and t_correlate settings must be integer multiples of -t_event.

    -

    Runs restarted from restart file written during a PRD run will not +However, it is assumed that t_correlate in the new PRD command is +the same as it was previously. If not, the calculation of the "clock" +value for the first event in the new run will be slightly off. +

    +
    + +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

    +

    N and t_correlate settings must be integer multiples of +t_event. +

    +

    Runs restarted from restart file written during a PRD run will not produce identical results due to changes in the random numbers used -for dephasing.

    -

    This command cannot be used when any fixes are defined that keep track +for dephasing. +

    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples -include the “ave” fixes such as fix ave/spatial. Also fix dt/reset and fix deposit.

    -
    - -
    -

    Default¶

    -

    The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = -geom gaussian, and time = step.

    -
    -

    (Voter) Voter, Phys Rev B, 57, 13985 (1998).

    -

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002).

    -
    -
    +include the "ave" fixes such as fix +ave/spatial. Also fix +dt/reset and fix deposit. +

    +

    Related commands: +

    +

    compute event/displace, +min_modify, min_style, +run_style, minimize, +velocity, temper, neb, +tad +

    +

    Default: +

    +

    The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = +geom gaussian, and time = step. +

    +
    + -
    -
    -
    - +

    (Voter) Voter, Phys Rev B, 57, 13985 (1998). +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials +Research 32, 321 (2002). +

    + diff --git a/doc/print.html b/doc/print.html index 12d4d825f5..e97b5e2188 100644 --- a/doc/print.html +++ b/doc/print.html @@ -1,266 +1,86 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - print command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - - - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +compute or fix, or references to other +variables. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix print, variable +

    +

    Default: +

    +

    The option defaults are no file output and screen = yes. +

    + diff --git a/doc/processors.html b/doc/processors.html index e12d525612..d819aa4fb9 100644 --- a/doc/processors.html +++ b/doc/processors.html @@ -1,144 +1,28 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - processors command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    processors command¶

    -
    -

    Syntax¶

    -
    processors Px Py Pz keyword args ...
    -
    -
    -
      -
    • Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain
    • -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = grid or map or part or file
    • -
    -
    -grid arg = gstyle params ...
    -    gstyle = onelevel or twolevel or numa or custom
    +
    +
    +
    + +

    processors command +

    +

    Syntax: +

    +
    processors Px Py Pz keyword args ... 
    +
    +
    • Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain + +
    • zero or more keyword/arg pairs may be appended + +
    • keyword = grid or map or part or file + +
        grid arg = gstyle params ...
      +    gstyle = onelevel or twolevel or numa or custom
             onelevel params = none
             twolevel params = Nc Cx Cy Cz
               Nc = number of cores per node
      @@ -146,355 +30,322 @@
             numa params = none
             custom params = infile
               infile = file containing grid layout
      -  map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
      +  map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
            cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0
            cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1
            xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering
      -  numa arg = none
      -  part args = Psend Precv cstyle
      +  numa arg = none
      +  part args = Psend Precv cstyle
           Psend = partition # (1 to Np) which will send its processor layout
           Precv = partition # (1 to Np) which will recv the processor layout
      -    cstyle = multiple
      -      multiple = Psend grid will be multiple of Precv grid in each dimension
      -  file arg = outfile
      -    outfile = name of file to write 3d grid of processors to
      -
      -
    -
    -

    Examples¶

    -
    processors * * 5
    +    cstyle = multiple
    +      multiple = Psend grid will be multiple of Precv grid in each dimension
    +  file arg = outfile
    +    outfile = name of file to write 3d grid of processors to 
    +
    + + +

    Examples: +

    +
    processors * * 5 
     processors 2 4 4
     processors * * 8 map xyz
     processors * * * grid numa
     processors * * * grid twolevel 4 * * 1
     processors 4 8 16 grid custom myfile
    -processors * * * part 1 2 multiple
    -
    -
    -
    -
    -

    Description¶

    -

    Specify how processors are mapped as a regular 3d grid to the global +processors * * * part 1 2 multiple + +

    Description: +

    +

    Specify how processors are mapped as a regular 3d grid to the global simulation box. The mapping involves 2 steps. First if there are P processors it means choosing a factorization P = Px by Py by Pz so that there are Px processors in the x dimension, and similarly for the y and z dimensions. Second, the P processors are mapped to the regular 3d grid. The arguments to this command control each of these -2 steps.

    -

    The Px, Py, Pz parameters affect the factorization. Any of the 3 -parameters can be specified with an asterisk “*”, which means LAMMPS +2 steps. +

    +

    The Px, Py, Pz parameters affect the factorization. Any of the 3 +parameters can be specified with an asterisk "*", which means LAMMPS will choose the number of processors in that dimension of the grid. It will do this based on the size and shape of the global simulation -box so as to minimize the surface-to-volume ratio of each processor’s -sub-domain.

    -

    Choosing explicit values for Px or Py or Pz can be used to override +box so as to minimize the surface-to-volume ratio of each processor's +sub-domain. +

    +

    Choosing explicit values for Px or Py or Pz can be used to override the default manner in which LAMMPS will create the regular 3d grid of processors, if it is known to be sub-optimal for a particular problem. E.g. a problem where the extent of atoms will change dramatically in a -particular dimension over the course of the simulation.

    -

    The product of Px, Py, Pz must equal P, the total # of processors -LAMMPS is running on. For a 2d simulation, Pz must -equal 1.

    -

    Note that if you run on a prime number of processors P, then a grid +particular dimension over the course of the simulation. +

    +

    The product of Px, Py, Pz must equal P, the total # of processors +LAMMPS is running on. For a 2d simulation, Pz must +equal 1. +

    +

    Note that if you run on a prime number of processors P, then a grid such as 1 x P x 1 will be required, which may incur extra -communication costs due to the high surface area of each processor’s -sub-domain.

    -

    Also note that if multiple partitions are being used then P is the -number of processors in this partition; see this section for an explanation of the +communication costs due to the high surface area of each processor's +sub-domain. +

    +

    Also note that if multiple partitions are being used then P is the +number of processors in this partition; see this +section for an explanation of the -partition command-line switch. Also note that you can prefix the -processors command with the partition command to -easily specify different Px,Py,Pz values for different partitions.

    -

    You can use the partition command to specify -different processor grids for different partitions, e.g.

    -
    partition yes 1 processors 4 4 4
    -partition yes 2 processors 2 3 2
    -
    -
    -
    -

    Warning

    -

    This command only affects the initial regular 3d grid +processors command with the partition command to +easily specify different Px,Py,Pz values for different partitions. +

    +

    You can use the partition command to specify +different processor grids for different partitions, e.g. +

    +
    partition yes 1 processors 4 4 4
    +partition yes 2 processors 2 3 2 
    +
    +

    IMPORTANT NOTE: This command only affects the initial regular 3d grid created when the simulation box is first specified via a -create_box or read_data or -read_restart command. Or if the simulation box is -re-created via the replicate command. The same +create_box or read_data or +read_restart command. Or if the simulation box is +re-created via the replicate command. The same regular grid is initially created, regardless of which -comm_style command is in effect.

    -
    -

    If load-balancing is never invoked via the balance or -fix balance commands, then the initial regular grid +comm_style command is in effect. +

    +

    If load-balancing is never invoked via the balance or +fix balance commands, then the initial regular grid will persist for all simulations. If balancing is performed, some of the methods invoked by those commands retain the logical toplogy of the initial 3d grid, and the mapping of processors to the grid specified by the processors command. However the grid spacings in different dimensions may change, so that processors own sub-domains of -different sizes. If the comm_style tiled command is +different sizes. If the comm_style tiled command is used, methods invoked by the balancing commands may discard the 3d grid of processors and tile the simulation domain with sub-domains of different sizes and shapes which no longer have a logical 3d connectivity. If that occurs, all the information specified by the -processors command is ignored.

    -
    -

    The grid keyword affects the factorization of P into Px,Py,Pz and it +processors command is ignored. +

    +
    + +

    The grid keyword affects the factorization of P into Px,Py,Pz and it can also affect how the P processor IDs are mapped to the 3d grid of -processors.

    -

    The onelevel style creates a 3d grid that is compatible with the +processors. +

    +

    The onelevel style creates a 3d grid that is compatible with the Px,Py,Pz settings, and which minimizes the surface-to-volume ratio of -each processor’s sub-domain, as described above. The mapping of -processors to the grid is determined by the map keyword setting.

    -

    The twolevel style can be used on machines with multicore nodes to +each processor's sub-domain, as described above. The mapping of +processors to the grid is determined by the map keyword setting. +

    +

    The twolevel style can be used on machines with multicore nodes to minimize off-node communication. It insures that contiguous sub-sections of the 3d grid are assigned to all the cores of a node. -For example if Nc is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of +For example if Nc is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of the 3d grid will correspond to the cores of each node. This affects -both the factorization and mapping steps.

    -

    The Cx, Cy, Cz settings are similar to the Px, Py, Pz -settings, only their product should equal Nc. Any of the 3 -parameters can be specified with an asterisk “*”, which means LAMMPS -will choose the number of cores in that dimension of the node’s +both the factorization and mapping steps. +

    +

    The Cx, Cy, Cz settings are similar to the Px, Py, Pz +settings, only their product should equal Nc. Any of the 3 +parameters can be specified with an asterisk "*", which means LAMMPS +will choose the number of cores in that dimension of the node's sub-grid. As with Px,Py,Pz, it will do this based on the size and shape of the global simulation box so as to minimize the -surface-to-volume ratio of each processor’s sub-domain.

    -
    -

    Warning

    -

    For the twolevel style to work correctly, it +surface-to-volume ratio of each processor's sub-domain. +

    +

    IMPORTANT NOTE: For the twolevel style to work correctly, it assumes the MPI ranks of processors LAMMPS is running on are ordered by core and then by node. E.g. if you are running on 2 quad-core nodes, for a total of 8 processors, then it assumes processors 0,1,2,3 are on node 1, and processors 4,5,6,7 are on node 2. This is the default rank ordering for most MPI implementations, but some MPIs provide options for this ordering, e.g. via environment variable -settings.

    -
    -

    The numa style operates similar to the twolevel keyword except +settings. +

    +

    The numa style operates similar to the twolevel keyword except that it auto-detects which cores are running on which nodes. Currently, it does this in only 2 levels, but it may be extended in the future to account for socket topology and other non-uniform memory access (NUMA) costs. It also uses a different algorithm than the -twolevel keyword for doing the two-level factorization of the +twolevel keyword for doing the two-level factorization of the simulation box into a 3d processor grid to minimize off-node communication, and it does its own MPI-based mapping of nodes and cores to the regular 3d grid. Thus it may produce a different layout -of the processors than the twolevel options.

    -

    The numa style will give an error if the number of MPI processes is +of the processors than the twolevel options. +

    +

    The numa style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px -or Py of Pz values is greater than 1.

    -
    -

    Warning

    -

    Unlike the twolevel style, the numa style does not +or Py of Pz values is greater than 1. +

    +

    IMPORTANT NOTE: Unlike the twolevel style, the numa style does not require any particular ordering of MPI ranks i norder to work correctly. This is because it auto-detects which processes are -running on which nodes.

    -
    -

    The custom style uses the file infile to define both the 3d -factorization and the mapping of processors to the grid.

    -

    The file should have the following format. Any number of initial -blank or comment lines (starting with a “#” character) can be present. +running on which nodes. +

    +

    The custom style uses the file infile to define both the 3d +factorization and the mapping of processors to the grid. +

    +

    The file should have the following format. Any number of initial +blank or comment lines (starting with a "#" character) can be present. The first non-blank, non-comment line should have -3 values:

    -
    Px Py Py
    -
    -
    -

    These must be compatible with the total number of processors -and the Px, Py, Pz settings of the processors commmand.

    -

    This line should be immediately followed by -P = Px*Py*Pz lines of the form:

    -
    ID I J K
    -
    -
    -

    where ID is a processor ID (from 0 to P-1) and I,J,K are the +3 values: +

    +
    Px Py Py 
    +
    +

    These must be compatible with the total number of processors +and the Px, Py, Pz settings of the processors commmand. +

    +

    This line should be immediately followed by +P = Px*Py*Pz lines of the form: +

    +
    ID I J K 
    +
    +

    where ID is a processor ID (from 0 to P-1) and I,J,K are the processors location in the 3d grid. I must be a number from 1 to Px (inclusive) and similarly for J and K. The P lines can be listed in -any order, but no processor ID should appear more than once.

    -
    -

    The map keyword affects how the P processor IDs (from 0 to P-1) are +any order, but no processor ID should appear more than once. +

    +
    + +

    The map keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the -onelevel and twolevel grid settings.

    -

    The cart style uses the family of MPI Cartesian functions to perform +onelevel and twolevel grid settings. +

    +

    The cart style uses the family of MPI Cartesian functions to perform the mapping, namely MPI_Cart_create(), MPI_Cart_get(), MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the MPI_Cart_create() function with its reorder flag = 0, so that MPI is -not free to reorder the processors.

    -

    The cart/reorder style does the same thing as the cart style +not free to reorder the processors. +

    +

    The cart/reorder style does the same thing as the cart style except it sets the reorder flag to 1, so that MPI can reorder -processors if it desires.

    -

    The xyz, xzy, yxz, yzx, zxy, and zyx styles are all +processors if it desires. +

    +

    The xyz, xzy, yxz, yzx, zxy, and zyx styles are all similar. If the style is IJK, then it maps the P processors to the grid so that the processor ID in the I direction varies fastest, the processor ID in the J direction varies next fastest, and the processor ID in the K direction varies slowest. For example, if you select -style xyz and you have a 2x2x2 grid of 8 processors, the assignments -of the 8 octants of the simulation domain will be:

    -
    proc 0 = lo x, lo y, lo z octant
    +style xyz and you have a 2x2x2 grid of 8 processors, the assignments
    +of the 8 octants of the simulation domain will be:
    +

    +
    proc 0 = lo x, lo y, lo z octant
     proc 1 = hi x, lo y, lo z octant
     proc 2 = lo x, hi y, lo z octant
     proc 3 = hi x, hi y, lo z octant
     proc 4 = lo x, lo y, hi z octant
     proc 5 = hi x, lo y, hi z octant
     proc 6 = lo x, hi y, hi z octant
    -proc 7 = hi x, hi y, hi z octant
    -
    -
    -

    Note that, in principle, an MPI implementation on a particular machine -should be aware of both the machine’s network topology and the +proc 7 = hi x, hi y, hi z octant + +

    Note that, in principle, an MPI implementation on a particular machine +should be aware of both the machine's network topology and the specific subset of processors and nodes that were assigned to your simulation. Thus its MPI_Cart calls can optimize the assignment of MPI processes to the 3d grid to minimize communication costs. In practice, however, few if any MPI implementations actually do this. -So it is likely that the cart and cart/reorder styles simply give -the same result as one of the IJK styles.

    -

    Also note, that for the twolevel grid style, the map setting is +So it is likely that the cart and cart/reorder styles simply give +the same result as one of the IJK styles. +

    +

    Also note, that for the twolevel grid style, the map setting is used to first map the nodes to the 3d grid, then again to the cores -within each node. For the latter step, the cart and cart/reorder -styles are not supported, so an xyz style is used in their place.

    -
    -

    The part keyword affects the factorization of P into Px,Py,Pz.

    -

    It can be useful when running in multi-partition mode, e.g. with the -run_style verlet/split command. It specifies a -dependency bewteen a sending partition Psend and a receiving -partition Precv which is enforced when each is setting up their own -mapping of their processors to the simulation box. Each of Psend -and Precv must be integers from 1 to Np, where Np is the number of -partitions you have defined via the -partition command-line switch.

    -

    A “dependency” means that the sending partition will create its +within each node. For the latter step, the cart and cart/reorder +styles are not supported, so an xyz style is used in their place. +

    +
    + +

    The part keyword affects the factorization of P into Px,Py,Pz. +

    +

    It can be useful when running in multi-partition mode, e.g. with the +run_style verlet/split command. It specifies a +dependency bewteen a sending partition Psend and a receiving +partition Precv which is enforced when each is setting up their own +mapping of their processors to the simulation box. Each of Psend +and Precv must be integers from 1 to Np, where Np is the number of +partitions you have defined via the -partition command-line +switch. +

    +

    A "dependency" means that the sending partition will create its regular 3d grid as Px by Py by Pz and after it has done this, it will send the Px,Py,Pz values to the receiving partition. The receiving partition will wait to receive these values before creating its own -regular 3d grid and will use the sender’s Px,Py,Pz values as a +regular 3d grid and will use the sender's Px,Py,Pz values as a constraint. The nature of the constraint is determined by the -cstyle argument.

    -

    For a cstyle of multiple, each dimension of the sender’s processor +cstyle argument. +

    +

    For a cstyle of multiple, each dimension of the sender's processor grid is required to be an integer multiple of the corresponding -dimension in the receiver’s processor grid. This is a requirement of -the run_style verlet/split command.

    -

    For example, assume the sending partition creates a 4x6x10 grid = 240 +dimension in the receiver's processor grid. This is a requirement of +the run_style verlet/split command. +

    +

    For example, assume the sending partition creates a 4x6x10 grid = 240 processor grid. If the receiving partition is running on 80 processors, it could create a 4x2x10 grid, but it will not create a 2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of -4.

    -
    -

    Warning

    -

    If you use the partition command to -invoke different “processsors” commands on different partitions, and -you also use the part keyword, then you must insure that both the -sending and receiving partitions invoke the “processors” command that -connects the 2 partitions via the part keyword. LAMMPS cannot +4. +

    +

    IMPORTANT NOTE: If you use the partition command to +invoke different "processsors" commands on different partitions, and +you also use the part keyword, then you must insure that both the +sending and receiving partitions invoke the "processors" command that +connects the 2 partitions via the part keyword. LAMMPS cannot easily check for this, but your simulation will likely hang in its -setup phase if this error has been made.

    -
    -
    -

    The file keyword writes the mapping of the factorization of P +setup phase if this error has been made. +

    +
    + +

    The file keyword writes the mapping of the factorization of P processors and their mapping to the 3d grid to the specified file -outfile. This is useful to check that you assigned physical +outfile. This is useful to check that you assigned physical processors in the manner you desired, which can be tricky to figure out, especially when running on multiple partitions or on, a multicore machine or when the processor ranks were reordered by use of the --reorder command-line switch or due to -use of MPI-specific launch options such as a config file.

    -

    If you have multiple partitions you should insure that each one writes -to a different file, e.g. using a world-style variable +-reorder command-line switch or due to +use of MPI-specific launch options such as a config file. +

    +

    If you have multiple partitions you should insure that each one writes +to a different file, e.g. using a world-style variable for the filename. The file has a self-explanatory header, followed by -one-line per processor in this format:

    -

    world-ID universe-ID original-ID: I J K: name

    -

    The IDs are the processor’s rank in this simulation (the world), the +one-line per processor in this format: +

    +

    world-ID universe-ID original-ID: I J K: name +

    +

    The IDs are the processor's rank in this simulation (the world), the universe (of multiple simulations), and the original MPI communicator used to instantiate LAMMPS, respectively. The world and universe IDs will only be different if you are running on more than one partition; -see the -partition command-line switch. +see the -partition command-line switch. The universe and original IDs will only be different if you used the --reorder command-line switch to reorder +-reorder command-line switch to reorder the processors differently than their rank in the original -communicator LAMMPS was instantiated with.

    -

    I,J,K are the indices of the processor in the regular 3d grid, each +communicator LAMMPS was instantiated with. +

    +

    I,J,K are the indices of the processor in the regular 3d grid, each from 1 to Nd, where Nd is the number of processors in that dimension -of the grid.

    -

    The name is what is returned by a call to MPI_Get_processor_name() +of the grid. +

    +

    The name is what is returned by a call to MPI_Get_processor_name() and should represent an identifier relevant to the physical processors in your machine. Note that depending on the MPI implementation, -multiple cores can have the same name.

    -
    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command. +multiple cores can have the same name. +

    +
    + +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command. It can be used before a restart file is read to change the 3d -processor grid from what is specified in the restart file.

    -

    The grid numa keyword only currently works with the map cart -option.

    -

    The part keyword (for the receiving partition) only works with the -grid onelevel or grid twolevel options.

    -
    - -
    -

    Default¶

    -

    The option defaults are Px Py Pz = * * *, grid = onelevel, and map = -cart.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +processor grid from what is specified in the restart file. +

    +

    The grid numa keyword only currently works with the map cart +option. +

    +

    The part keyword (for the receiving partition) only works with the +grid onelevel or grid twolevel options. +

    +

    Related commands: +

    +

    partition, -reorder command-line switch +

    +

    Default: +

    +

    The option defaults are Px Py Pz = * * *, grid = onelevel, and map = +cart. +

    + diff --git a/doc/python.html b/doc/python.html index bc569c1749..02193dd770 100644 --- a/doc/python.html +++ b/doc/python.html @@ -1,247 +1,130 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - python command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    python command¶

    -
    -

    Syntax¶

    -
    python func keyword args ...
    -
    -
    -
      -
    • func = name of Python function
    • -
    • one or more keyword/args pairs must be appended
    • -
    -
    -keyword = invoke or input or return or format or file or here or exists
    -  invoke arg = none = invoke the previously defined Python function
    -  input args = N i1 i2 ... iN
    +
    +
    +
    + +

    python command +

    +

    Syntax: +

    +
    python func keyword args ... 
    +
    +
    • func = name of Python function + +
    • one or more keyword/args pairs must be appended + +
      keyword = invoke or input or return or format or file or here or exists
      +  invoke arg = none = invoke the previously defined Python function
      +  input args = N i1 i2 ... iN
           N = # of inputs to function
           i1,...,iN = value, SELF, or LAMMPS variable name
             value = integer number, floating point number, or string
             SELF = reference to LAMMPS itself which can be accessed by Python function
             variable = v_name, where name = name of LAMMPS variable, e.g. v_abc
      -  return arg = varReturn
      +  return arg = varReturn
           varReturn = v_name  = LAMMPS variable name which return value of function will be assigned to
      -  format arg = fstring with M characters
      +  format arg = fstring with M characters 
           M = N if no return value, where N = # of inputs
           M = N+1 if there is a return value
           fstring = each character (i,f,s,p) corresponds in order to an input or return value
           'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF
      -  file arg = filename
      +  file arg = filename
           filename = file of Python code, which defines func
      -  here arg = inline
      +  here arg = inline
           inline = one or more lines of Python code which defines func
                    must be a single argument, typically enclosed between triple quotes
      -  exists arg = none = Python code has been loaded by previous python command
      -
      -
    -
    -

    Examples¶

    -
    python pForce input 2 v_x 20.0 return v_f format fff file force.py
    -python pForce invoke
    -
    -
    -
    python factorial input 1 myN return v_fac format ii here """
    +  exists arg = none = Python code has been loaded by previous python command 
    +
    + + +

    Examples: +

    +
    python pForce input 2 v_x 20.0 return v_f format fff file force.py
    +python pForce invoke 
    +
    +
    python factorial input 1 myN return v_fac format ii here """
     def factorial(n):
       if n == 1: return n
       return n * factorial(n-1)
    - """
    -
    -
    -
    python loop input 1 SELF return v_value format -f here """
    + """ 
    +
    +
    python loop input 1 SELF return v_value format -f here """
     def loop(lmpptr,N,cut0):
       from lammps import lammps
    -  lmp = lammps(ptr=lmpptr)
    -
    -
    -
    # loop N times, increasing cutoff each time
    -
    -
    -
    for i in range(N):
    +  lmp = lammps(ptr=lmpptr) 
    +
    +
      # loop N times, increasing cutoff each time 
    +
    +
      for i in range(N):
         cut = cut0 + i*0.1
    -    lmp.set_variable("cut",cut)               # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $*cut*")   # LAMMPS commands
    -    lmp.command("pair_coeff * * 1.0 1.0")
    -    lmp.command("run 100")
    - """
    -
    -
    -
    -
    -

    Description¶

    -
    -

    Warning

    -

    It is not currently possible to use the -python command described in this section with Python 3, + lmp.set_variable("cut",cut) # set a variable in LAMMPS + lmp.command("pair_style lj/cut $cut") # LAMMPS commands + lmp.command("pair_coeff * * 1.0 1.0") + lmp.command("run 100") + """ + +

    Description: +

    +

    IMPORTANT NOTE: It is not currently possible to use the +python command described in this section with Python 3, only with Python 2. The C API changed from Python 2 to 3 and the -LAMMPS code is not compatible with both.

    -
    -

    Define a Python function or execute a previously defined function. +LAMMPS code is not compatible with both. +

    +

    Define a Python function or execute a previously defined function. Arguments, including LAMMPS variables, can be passed to the function from the LAMMPS input script and a value returned by the Python function to a LAMMPS variable. The Python code for the function can be included directly in the input script or in a separate Python file. -The function can be standard Python code or it can make “callbacks” to +The function can be standard Python code or it can make "callbacks" to LAMMPS through its library interface to query or set internal values within LAMMPS. This is a powerful mechanism for performing complex operations in a LAMMPS input script that are not possible with the simple input script and variable syntax which LAMMPS defines. Thus -your input script can operate more like a true programming language.

    -

    Use of this command requires building LAMMPS with the PYTHON package +your input script can operate more like a true programming language. +

    +

    Use of this command requires building LAMMPS with the PYTHON package which links to the Python library so that the Python interpreter is -embedded in LAMMPS. More details about this process are given below.

    -

    There are two ways to invoke a Python function once it has been -defined. One is using the invoke keyword. The other is to assign -the function to a python-style variable defined in +embedded in LAMMPS. More details about this process are given below. +

    +

    There are two ways to invoke a Python function once it has been +defined. One is using the invoke keyword. The other is to assign +the function to a python-style variable defined in your input script. Whenever the variable is evaluated, it will execute the Python function to assign a value to the variable. Note that variables can be evaluated in many different ways within LAMMPS. They can be substituted for directly in an input script. Or they can be passed to various commands as arguments, so that the variable is -evaluated during a simulation run.

    -

    A broader overview of how Python can be used with LAMMPS is -given in Section python. There is an +evaluated during a simulation run. +

    +

    A broader overview of how Python can be used with LAMMPS is +given in Section python. There is an examples/python directory which illustrates use of the python -command.

    -
    -

    The func setting specifies the name of the Python function. The -code for the function is defined using the file or here keywords -as explained below.

    -

    If the invoke keyword is used, no other keywords can be used, and a +command. +

    +
    + +

    The func setting specifies the name of the Python function. The +code for the function is defined using the file or here keywords +as explained below. +

    +

    If the invoke keyword is used, no other keywords can be used, and a previous python command must have defined the Python function referenced by this command. This invokes the Python function with the previously defined arguments and return value processed as explained below. You can invoke the function as many times as you wish in your -input script.

    -

    The input keyword defines how many arguments N the Python function -expects. If it takes no arguments, then the input keyword should +input script. +

    +

    The input keyword defines how many arguments N the Python function +expects. If it takes no arguments, then the input keyword should not be used. Each argument can be specified directly as a value, e.g. 6 or 3.14159 or abc (a string of characters). The type of each -argument is specified by the format keyword as explained below, so +argument is specified by the format keyword as explained below, so that Python will know how to interpret the value. If the word SELF is used for an argument it has a special meaning. A pointer is passed to the Python function which it converts into a reference to LAMMPS @@ -249,235 +132,254 @@ itself. This enables the function to call back to LAMMPS through its library interface as explained below. This allows the Python function to query or set values internal to LAMMPS which can affect the subsequent execution of the input script. A LAMMPS variable can also -be used as an argument, specified as v_name, where “name” is the name +be used as an argument, specified as v_name, where "name" is the name of the variable. Any style of LAMMPS variable can be used, as defined -by the variable command. Each time the Python +by the variable command. Each time the Python function is invoked, the LAMMPS variable is evaluated and its value is -passed to the Python function.

    -

    The return keyword is only needed if the Python function returns a -value. The specified varReturn must be of the form v_name, where -“name” is the name of a python-style LAMMPS variable, defined by the -variable command. The Python function can return a -numeric or string value, as specified by the format keyword.

    -

    As explained on the variable doc page, the definition +passed to the Python function. +

    +

    The return keyword is only needed if the Python function returns a +value. The specified varReturn must be of the form v_name, where +"name" is the name of a python-style LAMMPS variable, defined by the +variable command. The Python function can return a +numeric or string value, as specified by the format keyword. +

    +

    As explained on the variable doc page, the definition of a python-style variable associates a Python function name with the -variable. This must match the func setting for this command. For -exampe these two commands would be self-consistent:

    -
    variable foo python myMultiply
    -python myMultiply return v_foo format f file funcs.py
    -
    -
    -

    The two commands can appear in either order in the input script so +variable. This must match the func setting for this command. For +exampe these two commands would be self-consistent: +

    +
    variable foo python myMultiply
    +python myMultiply return v_foo format f file funcs.py 
    +
    +

    The two commands can appear in either order in the input script so long as both are specified before the Python function is invoked for -the first time.

    -

    The format keyword must be used if the input or return keyword -is used. It defines an fstring with M characters, where M = sum of +the first time. +

    +

    The format keyword must be used if the input or return keyword +is used. It defines an fstring with M characters, where M = sum of number of inputs and outputs. The order of characters corresponds to the N inputs, followed by the return value (if it exists). Each -character must be one of the following: “i” for integer, “f” for -floating point, “s” for string, or “p” for SELF. Each character +character must be one of the following: "i" for integer, "f" for +floating point, "s" for string, or "p" for SELF. Each character defines the type of the corresponding input or output value of the Python function and affects the type conversion that is performed internally as data is passed back and forth between LAMMPS and Python. -Note that it is permissible to use a python-style variable in a LAMMPS command that allows for an +Note that it is permissible to use a python-style +variable in a LAMMPS command that allows for an equal-style variable as an argument, but only if the output of the -Python function is flagged as a numeric value (“i” or “f”) via the -format keyword.

    -

    Either the file, here, or exists keyword must be used, but only +Python function is flagged as a numeric value ("i" or "f") via the +format keyword. +

    +

    Either the file, here, or exists keyword must be used, but only one of them. These keywords specify what Python code to load into the -Python interpreter. The file keyword gives the name of a file, -which should end with a ”.py” suffix, which contains Python code. The -code will be immediately loaded into and run in the “main” module of +Python interpreter. The file keyword gives the name of a file, +which should end with a ".py" suffix, which contains Python code. The +code will be immediately loaded into and run in the "main" module of the Python interpreter. Note that Python code which contains a -function definition does not “execute” the function when it is run; it -simply defines the function so that it can be invoked later.

    -

    The here keyword does the same thing, except that the Python code -follows as a single argument to the here keyword. This can be done +function definition does not "execute" the function when it is run; it +simply defines the function so that it can be invoked later. +

    +

    The here keyword does the same thing, except that the Python code +follows as a single argument to the here keyword. This can be done using triple quotes as delimiters, as in the examples above. This allows Python code to be listed verbatim in your input script, with proper indentation, blank lines, and comments, as desired. See -Section 3.2, for an explanation of how -triple quotes can be used as part of input script syntax.

    -

    The exists keyword takes no argument. It means that Python code -containing the required Python function defined by the func setting, -is assumed to have been previously loaded by another python command.

    -

    Note that the Python code that is loaded and run must contain a -function with the specified func name. To operate properly when -later invoked, the the function code must match the input and -return and format keywords specified by the python command. -Otherwise Python will generate an error.

    -
    -

    This section describes how Python code can be written to work with -LAMMPS.

    -

    Whether you load Python code from a file or directly from your input -script, via the file and here keywords, the code can be identical. +Section 3.2, for an explanation of how +triple quotes can be used as part of input script syntax. +

    +

    The exists keyword takes no argument. It means that Python code +containing the required Python function defined by the func setting, +is assumed to have been previously loaded by another python command. +

    +

    Note that the Python code that is loaded and run must contain a +function with the specified func name. To operate properly when +later invoked, the the function code must match the input and +return and format keywords specified by the python command. +Otherwise Python will generate an error. +

    +
    + +

    This section describes how Python code can be written to work with +LAMMPS. +

    +

    Whether you load Python code from a file or directly from your input +script, via the file and here keywords, the code can be identical. It must be indented properly as Python requires. It can contain comments or blank lines. If the code is in your input script, it cannot however contain triple-quoted Python strings, since that will conflict with the triple-quote parsing that the LAMMPS input script -performs.

    -

    All the Python code you specify via one or more python commands is -loaded into the Python “main” module, i.e. __main__. The code can +performs. +

    +

    All the Python code you specify via one or more python commands is +loaded into the Python "main" module, i.e. __main__. The code can define global variables or statements that are outside of function definitions. It can contain multiple functions, only one of which -matches the func setting in the python command. This means you can -use the file keyword once to load several functions, and the -exists keyword thereafter in subsequent python commands to access -the other functions previously loaded.

    -

    A Python function you define (or more generally, the code you load) +matches the func setting in the python command. This means you can +use the file keyword once to load several functions, and the +exists keyword thereafter in subsequent python commands to access +the other functions previously loaded. +

    +

    A Python function you define (or more generally, the code you load) can import other Python modules or classes, it can make calls to other system functions or functions you define, and it can access or modify -global variables (in the “main” module) which will persist between +global variables (in the "main" module) which will persist between successive function calls. The latter can be useful, for example, to prevent a function from being invoke multiple times per timestep by different commands in a LAMMPS input script that access the returned python-style variable associated with the function. For example, consider this function loaded with two global variables defined -outside the function:

    -
    nsteplast = -1
    -nvaluelast = 0
    -
    -
    -
    def expensive(nstep):
    -  global nsteplast,nvaluelast
    -  if nstep == nsteplast: return nvaluelast
    -  nsteplast = nstep
    -  # perform complicated calculation
    -  nvalue = ...
    -  nvaluelast = nvalue
    -  return nvalue
    -
    -
    -

    Nsteplast stores the previous timestep the function was invoked +outside the function: +

    +
    nsteplast = -1
    +nvaluelast = 0 
    +
    +
    def expensive(nstep):
    +  global nsteplast,nvaluelast
    +  if nstep == nsteplast: return nvaluelast
    +  nsteplast = nstep  
    +  # perform complicated calculation
    +  nvalue = ...
    +  nvaluelast = nvalue
    +  return nvalue 
    +
    +

    Nsteplast stores the previous timestep the function was invoked (passed as an argument to the function). Nvaluelast stores the return value computed on the last function invocation. If the function is invoked again on the same timestep, the previous value is simply -returned, without re-computing it. The “global” statement inside the -Python function allows it to overwrite the global variables.

    -

    Note that if you load Python code multiple times (via multiple python +returned, without re-computing it. The "global" statement inside the +Python function allows it to overwrite the global variables. +

    +

    Note that if you load Python code multiple times (via multiple python commands), you can overwrite previously loaded variables and functions if you are not careful. E.g. if the code above were loaded twice, the global variables would be re-initialized, which might not be what you want. Likewise, if a function with the same name exists in two chunks of Python code you load, the function loaded second will override the -function loaded first.

    -

    It’s important to realize that if you are running LAMMPS in parallel, +function loaded first. +

    +

    It's important to realize that if you are running LAMMPS in parallel, each MPI task will load the Python interpreter and execute a local copy of the Python function(s) you define. There is no connection -between the Python interpreters running on different processors. -This implies three important things.

    -

    First, if you put a print statement in your Python function, you will +between the Python interpreters running on different processors. +This implies three important things. +

    +

    First, if you put a print statement in your Python function, you will see P copies of the output, when running on P processors. If the prints occur at (nearly) the same time, the P copies of the output may be mixed together. Welcome to the world of parallel programming and -debugging.

    -

    Second, if your Python code loads modules that are not pre-loaded by +debugging. +

    +

    Second, if your Python code loads modules that are not pre-loaded by the Python library, then it will load the module from disk. This may be a bottleneck if 1000s of processors try to load a module at the same time. On some large supercomputers, loading of modules from disk by Python may be disabled. In this case you would need to pre-build a Python library that has the required modules pre-loaded and link -LAMMPS with that library.

    -

    Third, if your Python code calls back to LAMMPS (discussed in the +LAMMPS with that library. +

    +

    Third, if your Python code calls back to LAMMPS (discussed in the next section) and causes LAMMPS to perform an MPI operation requires global communication (e.g. via MPI_Allreduce), such as computing the global temperature of the system, then you must insure all your Python functions (running independently on different processors) call back to -LAMMPS. Otherwise the code may hang.

    -
    -

    Your Python function can “call back” to LAMMPS through its +LAMMPS. Otherwise the code may hang. +

    +
    + +

    Your Python function can "call back" to LAMMPS through its library interface, if you use the SELF input to pass Python a pointer to LAMMPS. The mechanism for doing this in your -Python function is as follows:

    -
    def foo(lmpptr,...):
    -  from lammps import lammps
    -  lmp = lammps(ptr=lmpptr)
    -  lmp.command('print "Hello from inside Python"')
    -  ...
    -
    -
    -

    The function definition must include a variable (lmpptr in this case) +Python function is as follows: +

    +
    def foo(lmpptr,...):
    +  from lammps import lammps
    +  lmp = lammps(ptr=lmpptr)
    +  lmp.command('print "Hello from inside Python"')
    +  ... 
    +
    +

    The function definition must include a variable (lmpptr in this case) which corresponds to SELF in the python command. The first line of the function imports the Python module lammps.py in the python dir of -the distribution. The second line creates a Python object “lmp” which +the distribution. The second line creates a Python object "lmp" which wraps the instance of LAMMPS that called the function. The -“ptr=lmpptr” argument is what makes that happen. The thrid line +"ptr=lmpptr" argument is what makes that happen. The thrid line invokes the command() function in the LAMMPS library interface. It takes a single string argument which is a LAMMPS input script command for LAMMPS to execute, the same as if it appeared in your input -script. In this case, LAMMPS should output

    -
    Hello from inside Python
    -
    -
    -

    to the screen and log file. Note that since the LAMMPS print command +script. In this case, LAMMPS should output +

    +
    Hello from inside Python 
    +
    +

    to the screen and log file. Note that since the LAMMPS print command itself takes a string in quotes as its argument, the Python string -must be delimited with a different style of quotes.

    -

    Section 11.7 describes the syntax for how +must be delimited with a different style of quotes. +

    +

    Section 11.7 describes the syntax for how Python wraps the various functions included in the LAMMPS library -interface.

    -

    A more interesting example is in the examples/python/in.python script -which loads and runs the following function from examples/python/funcs.py:

    -
    def loop(N,cut0,thresh,lmpptr):
    -  print "LOOP ARGS",N,cut0,thresh,lmpptr
    +interface.
    +

    +

    A more interesting example is in the examples/python/in.python script +which loads and runs the following function from examples/python/funcs.py: +

    +
    def loop(N,cut0,thresh,lmpptr):
    +  print "LOOP ARGS",N,cut0,thresh,lmpptr
       from lammps import lammps
       lmp = lammps(ptr=lmpptr)
    -  natoms = lmp.get_natoms()
    -
    -
    -
    for i in range(N):
    -    cut = cut0 + i*0.1
    -
    -
    -
    lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $*cut*")     # LAMMPS command
    -    #lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option
    -
    -
    -
    lmp.command("pair_coeff * * 1.0 1.0")       # ditto
    -    lmp.command("run 10")                       # ditto
    -    pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    -    print "PE",pe/natoms,thresh
    -    if pe/natoms < thresh: return
    -
    -
    -

    with these input script commands:

    -
    python          loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py
    -python          loop invoke
    -
    -
    -

    This has the effect of looping over a series of 10 short runs (10 + natoms = lmp.get_natoms() + +

      for i in range(N):
    +    cut = cut0 + i*0.1 
    +
    +
        lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    +    lmp.command("pair_style lj/cut $cut")     # LAMMPS command
    +    #lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option 
    +
    +
        lmp.command("pair_coeff * * 1.0 1.0")       # ditto
    +    lmp.command("run 10")                       # ditto
    +    pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    +    print "PE",pe/natoms,thresh
    +    if pe/natoms < thresh: return 
    +
    +

    with these input script commands: +

    +
    python          loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py
    +python          loop invoke 
    +
    +

    This has the effect of looping over a series of 10 short runs (10 timesteps each) where the pair style cutoff is increased from a value of 1.0 in distance units, in increments of 0.1. The looping stops when the per-atom potential energy falls below a threshhold of -4.0 in energy units. More generally, Python can be used to implement a loop with complex logic, much more so than can be created using the LAMMPS -jump and if commands.

    -

    Several LAMMPS library functions are called from the loop function. +jump and if commands. +

    +

    Several LAMMPS library functions are called from the loop function. Get_natoms() returns the number of atoms in the simulation, so that it can be used to normalize the potential energy that is returned by -extract_compute() for the “thermo_pe” compute that is defined by +extract_compute() for the "thermo_pe" compute that is defined by default for LAMMPS thermodynamic output. Set_variable() sets the value of a string variable defined in LAMMPS. This library function is a useful way for a Python function to return multiple values to LAMMPS, more than the single value that can be passed back via a -return statement. This cutoff value in the “cut” variable is then +return statement. This cutoff value in the "cut" variable is then substituted (by LAMMPS) in the pair_style command that is executed -next. Alternatively, the “LAMMPS command option” line could be used +next. Alternatively, the "LAMMPS command option" line could be used in place of the 2 preceeding lines, to have Python insert the value -into the LAMMPS command string.

    -
    -

    Warning

    -

    When using the callback mechanism just described, +into the LAMMPS command string. +

    +

    IMPORTANT NOTE: When using the callback mechanism just described, recognize that there are some operations you should not attempt because LAMMPS cannot execute them correctly. If the Python function is invoked between runs in the LAMMPS input script, then it should be OK to invoke any LAMMPS input script command via the library interface command() or file() functions, so long as the command would work if it -were executed in the LAMMPS input script directly at the same point.

    -
    -

    However, a Python function can also be invoked during a run, whenever +were executed in the LAMMPS input script directly at the same point. +

    +

    However, a Python function can also be invoked during a run, whenever an associated LAMMPS variable it is assigned to is evaluted. If the -variable is an input argument to another LAMMPS command (e.g. fix setforce), then the Python function will be invoked +variable is an input argument to another LAMMPS command (e.g. fix +setforce), then the Python function will be invoked inside the class for that command, in one of its methods that is invoked in the middle of a timestep. You cannot execute arbitrary input script commands from the Python function (again, via the @@ -485,9 +387,11 @@ command() or file() functions) at that point in the run and expect it to work. Other library functions such as those that invoke computes or other variables may have hidden side effects as well. In these cases, LAMMPS has no simple way to check that something illogical is -being attempted.

    -
    -

    If you run Python code directly on your workstation, either +being attempted. +

    +
    + +

    If you run Python code directly on your workstation, either interactively or by using Python to launch a Python script stored in a file, and your code has an error, you will typically see informative error messages. That is not the case when you run Python code from @@ -497,144 +401,90 @@ where in the Python code the problem occurred. For example, if the Python code cannot be loaded and run because it has syntax or other logic errors, you may get an error from Python pointing to the offending line, or you may get one of these generic errors from -LAMMPS:

    -
    Could not process Python file
    -Could not process Python string
    -
    -
    -

    When the Python function is invoked, if it does not return properly, -you will typically get this generic error from LAMMPS:

    -
    Python function evaluation failed
    -
    -
    -

    Here are three suggestions for debugging your Python code while -running it under LAMMPS.

    -

    First, don’t run it under LAMMPS, at least to start with! Debug it +LAMMPS: +

    +
    Could not process Python file
    +Could not process Python string 
    +
    +

    When the Python function is invoked, if it does not return properly, +you will typically get this generic error from LAMMPS: +

    +
    Python function evaluation failed 
    +
    +

    Here are three suggestions for debugging your Python code while +running it under LAMMPS. +

    +

    First, don't run it under LAMMPS, at least to start with! Debug it using plain Python. Load and invoke your function, pass it arguments, -check return values, etc.

    -

    Second, add Python print statements to the function to check how far +check return values, etc. +

    +

    Second, add Python print statements to the function to check how far it gets and intermediate values it calculates. See the discussion -above about printing from Python when running in parallel.

    -

    Third, use Python exception handling. For example, say this statement +above about printing from Python when running in parallel. +

    +

    Third, use Python exception handling. For example, say this statement in your Python function is failing, because you have not initialized the -variable foo:

    -
    foo += 1
    -
    -
    -

    If you put one (or more) statements inside a “try” statement, -like this:

    -
    import exceptions
    -print "Inside simple function"
    +variable foo:
    +

    +
    foo += 1 
    +
    +

    If you put one (or more) statements inside a "try" statement, +like this: +

    +
    import exceptions
    +print "Inside simple function"
     try:
       foo += 1      # one or more statements here
     except Exception, e:
    -  print "FOO error:",e
    -
    -
    -

    then you will get this message printed to the screen:

    -
    FOO error: local variable 'foo' referenced before assignment
    -
    -
    -

    If there is no error in the try statements, then nothing is printed. + print "FOO error:",e + +

    then you will get this message printed to the screen: +

    +
    FOO error: local variable 'foo' referenced before assignment 
    +
    +

    If there is no error in the try statements, then nothing is printed. Either way the function continues on (unless you put a return or -sys.exit() in the except clause).

    -
    -
    -
    -

    Restrictions¶

    -

    This command is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the Making LAMMPS section for more info.

    -

    Building LAMMPS with the PYTHON package will link LAMMPS with the +sys.exit() in the except clause). +

    +
    + +

    Restrictions: +

    +

    This command is part of the PYTHON package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

    +

    Building LAMMPS with the PYTHON package will link LAMMPS with the Python library on your system. Settings to enable this are in the lib/python/Makefile.lammps file. See the lib/python/README file for -information on those settings.

    -

    If you use Python code which calls back to LAMMPS, via the SELF input +information on those settings. +

    +

    If you use Python code which calls back to LAMMPS, via the SELF input argument explained above, there is an extra step required when building LAMMPS. LAMMPS must also be built as a shared library and your Python function must be able to to load the Python module in python/lammps.py that wraps the LAMMPS library interface. These are the same steps required to use Python by itself to wrap LAMMPS. -Details on these steps are explained in Section python. Note that it is important that the +Details on these steps are explained in Section +python. Note that it is important that the stand-alone LAMMPS executable and the LAMMPS shared library be consistent (built from the same source code files) in order for this to work. If the two have been built at different times using -different source files, problems may occur.

    -

    As described above, you can use the python command to invoke a Python +different source files, problems may occur. +

    +

    As described above, you can use the python command to invoke a Python function which calls back to LAMMPS through its Python-wrapped library interface. However you cannot do the opposite. I.e. you cannot call -LAMMPS from Python and invoke the python command to “callback” to +LAMMPS from Python and invoke the python command to "callback" to Python and execute a Python function. LAMMPS will generate an error if you try to do that. Note that we think there actually should be a -way to do that, but haven’t yet been able to figure out how to do it -successfully.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +way to do that, but haven't yet been able to figure out how to do it +successfully. +

    +

    Related commands: +

    +

    shell, variable +

    +

    Default: none +

    + diff --git a/doc/quit.html b/doc/quit.html index aac27d0e64..38aadaed60 100644 --- a/doc/quit.html +++ b/doc/quit.html @@ -1,225 +1,42 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - quit command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    quit command¶

    -
    -

    Syntax¶

    -
    quit
    -
    -
    -
    -
    -

    Examples¶

    -
    quit
    -if "$n > 10000" then quit
    -
    -
    -
    -
    -

    Description¶

    -

    This command causes LAMMPS to exit, after shutting down all -output cleanly.

    -

    It can be used as a debug statement in an input script, to terminate -the script at some intermediate point.

    -

    It can also be used as an invoked command inside the -“then” or “else” portion of an if command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    quit command +

    +

    Syntax: +

    +
    quit 
    +
    +

    Examples: +

    +
    quit
    +if "$n > 10000" then quit 
    +
    +

    Description: +

    +

    This command causes LAMMPS to exit, after shutting down all +output cleanly. +

    +

    It can be used as a debug statement in an input script, to terminate +the script at some intermediate point. +

    +

    It can also be used as an invoked command inside the +"then" or "else" portion of an if command. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    if +

    +

    Default: none +

    + diff --git a/doc/read_data.html b/doc/read_data.html index 42e8f24302..cf535e3665 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -1,219 +1,110 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - read_data command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    read_data command¶

    -
    -

    Syntax¶

    -
    read_data file keyword args ...
    -
    -
    -
      -
    • file = name of data file to read in
    • -
    • zero or more keyword/arg pairs may be appended
    • -
    • keyword = add or offset or shift or extra/atom/types or extra/bond/types or extra/angle/types or extra/dihedral/types or extra/improper/types or group or fix
    • -
    -
    -add arg = append or Nstart or merge
    +
    +
    +
    + +

    read_data command +

    +

    Syntax: +

    +
    read_data file keyword args ... 
    +
    +
    • file = name of data file to read in + +
    • zero or more keyword/arg pairs may be appended + +
    • keyword = add or offset or shift or extra/atom/types or extra/bond/types or extra/angle/types or extra/dihedral/types or extra/improper/types or group or fix + +
        add arg = append or Nstart or merge
           append = add new atoms with IDs appended to current IDs
           Nstart = add new atoms with IDs starting with Nstart
           merge = add new atoms with their IDs unchanged
      -  offset args = toff boff aoff doff ioff
      +  offset args = toff boff aoff doff ioff
           toff = offset to add to atom types
           boff = offset to add to bond types
           aoff = offset to add to angle types
           doff = offset to add to dihedral types
           ioff = offset to add to improper types
      -  shift args = Sx Sy Sz
      +  shift args = Sx Sy Sz
           Sx,Sy,Sz = distance to shift atoms when adding to system (distance units)
      -  extra/atom/types arg = # of extra atom types
      -  extra/bond/types arg = # of extra bond types
      -  extra/angle/types arg = # of extra angle types
      -  extra/dihedral/types arg = # of extra dihedral types
      -  extra/improper/types arg = # of extra improper types
      -  group args = groupID
      +  extra/atom/types arg = # of extra atom types
      +  extra/bond/types arg = # of extra bond types
      +  extra/angle/types arg = # of extra angle types
      +  extra/dihedral/types arg = # of extra dihedral types
      +  extra/improper/types arg = # of extra improper types
      +  group args = groupID
           groupID = add atoms in data file to this group
      -  fix args = fix-ID header-string section-string
      +  fix args = fix-ID header-string section-string
           fix-ID = ID of fix to process header lines and sections of data file
           header-string = header lines containing this string will be passed to fix
      -    section-string = section names with this string will be passed to fix
      -
      -
    -
    -

    Examples¶

    -
    read_data data.lj
    +    section-string = section names with this string will be passed to fix 
    +
    + + +

    Examples: +

    +
    read_data data.lj
     read_data ../run7/data.polymer.gz
    -read_data data.protein fix mycmap crossterm CMAP
    +read_data data.protein fix mycmap crossterm CMAP 
     read_data data.water add append offset 3 1 1 1 1 shift 0.0 0.0 50.0
    -read_data data.water add merge 1 group solvent
    -
    -
    -
    -
    -

    Description¶

    -

    Read in a data file containing information LAMMPS needs to run a +read_data data.water add merge 1 group solvent + +

    Description: +

    +

    Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file (detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the read_restart and -create_atoms commands for alternative methods. -Also see the explanation of the -restart command-line switch which can convert a restart file to -a data file.

    -

    This command can be used multiple times to add new atoms and their -properties to an existing system by using the add, offset, and -shift keywords. See more details below, which includes the use case -for the extra keywords.

    -

    The group keyword adds all the atoms in the data file to the +atom coordinates; see the read_restart and +create_atoms commands for alternative methods. +Also see the explanation of the -restart command-line +switch which can convert a restart file to +a data file. +

    +

    This command can be used multiple times to add new atoms and their +properties to an existing system by using the add, offset, and +shift keywords. See more details below, which includes the use case +for the extra keywords. +

    +

    The group keyword adds all the atoms in the data file to the specified group-ID. The group will be created if it does not already exist. This is useful if you are reading multiple data files and wish to put sets of atoms into different groups so they can be operated on later. E.g. a group of added atoms can be moved to new positions via -the displace_atoms command. Note that atoms -read from the data file are also always added to the “all” group. The -group command discusses atom groups, as used in LAMMPS.

    -

    The use of the fix keyword is discussed below.

    -
    -

    Reading multiple data files

    -

    The read_data command can be used multiple times with the same or +the displace_atoms command. Note that atoms +read from the data file are also always added to the "all" group. The +group command discusses atom groups, as used in LAMMPS. +

    +

    The use of the fix keyword is discussed below. +

    +
    + +

    Reading multiple data files +

    +

    The read_data command can be used multiple times with the same or different data files to build up a complex system from components contained in individual data files. For example one data file could contain fluid in a confined domain; a second could contain wall atoms, and the second file could be read a third time to create a wall on the other side of the fluid. The third set of atoms could be rotated to -an opposing direction using the displace_atoms -command, after the third read_data command is used.

    -

    The add, offset, shift, extra, and group keywords are -useful in this context.

    -

    If a simulation box does not yet exist, the add keyword +an opposing direction using the displace_atoms +command, after the third read_data command is used. +

    +

    The add, offset, shift, extra, and group keywords are +useful in this context. +

    +

    If a simulation box does not yet exist, the add keyword cannot be used; the read_data command is being used for the first time. If a simulation box does exist, due to using the -create_box command, or a previous read_data command, -then the add keyword must be used.

    -
    -

    Warning

    -

    The simulation box size (xlo to xhi, ylo to yhi, zlo +create_box command, or a previous read_data command, +then the add keyword must be used. +

    +

    IMPORTANT NOTE: The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in the new data file will be merged with the existing simulation box to create a large enough box in each dimension to contain both the existing and new atoms. Each box dimension never @@ -222,27 +113,29 @@ grows. Care must be used if you are growing the existing simulation box in a periodic dimension. If there are existing atoms with bonds that straddle that periodic boundary, then the atoms may become far apart if the box size grows. This will separate the atoms in the -bond, which can lead to “lost” bond atoms or bad dynamics.

    -
    -

    The three choices for the add argument affect how the IDs of atoms -in the data file are treated. If append is specified, atoms in the +bond, which can lead to "lost" bond atoms or bad dynamics. +

    +

    The three choices for the add argument affect how the IDs of atoms +in the data file are treated. If append is specified, atoms in the data file are added to the current system, with their atom IDs reset so that an atomID = M in the data file becomes atomID = N+M, where N is the largest atom ID in the current system. This rule is applied to all occurrences of atom IDs in the data file, e.g. in the Velocity or -Bonds section. If Nstart is specified, then Nstart is a numeric +Bonds section. If Nstart is specified, then Nstart is a numeric value is given, e.g. 1000, so that an atomID = M in the data file -becomes atomID = 1000+M. If merge is specified, the data file atoms +becomes atomID = 1000+M. If merge is specified, the data file atoms are added to the current system without changing their IDs. They are assumed to merge (without duplication) with the currently defined atoms. It is up to you to insure there are no multiply defined atom IDs, as LAMMPS only performs an incomplete check that this is the case -by insuring the resulting max atomID >= the number of atoms.

    -

    The offset and shift keywords can only be used if the add -keyword is also specified.

    -

    The offset keyword adds the specified offset values to the atom +by insuring the resulting max atomID >= the number of atoms. +

    +

    The offset and shift keywords can only be used if the add +keyword is also specified. +

    +

    The offset keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper types as -they are read from the data file. E.g. if toff = 2, and the file +they are read from the data file. E.g. if toff = 2, and the file uses atom types 1,2,3, then the added atoms will have atom types 3,4,5. These offsets apply to all occurrences of types in the data file, e.g. for the Atoms or Masses or Pair Coeffs or Bond Coeffs @@ -251,146 +144,161 @@ attributes from a data file in different simulations, where you want their types (atom, bond, angle, etc) to be different depending on what other types already exist. All five offset values must be specified, but individual values will be ignored if the data file does not use -that attribute (e.g. no bonds).

    -

    The shift keyword can be used to specify an (Sx, Sy, Sz) +that attribute (e.g. no bonds). +

    +

    The shift keyword can be used to specify an (Sx, Sy, Sz) displacement applied to the coordinates of each atom. Sz must be 0.0 for a 2d simulation. This is a mechanism for adding structured collections of atoms at different locations within the simulation box, to build up a complex geometry. It is up to you to insure atoms do not end up overlapping unphysically which would lead to bad dynamics. -Note that the displace_atoms command can be used +Note that the displace_atoms command can be used to move a subset of atoms after they have been read from a data file. -Likewise, the delete_atoms command can be used to +Likewise, the delete_atoms command can be used to remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + -Sx, xhi_new = xhi + Sx.

    -

    The extra keywords can only be used the first time the read_data +Sx, xhi_new = xhi + Sx. +

    +

    The extra keywords can only be used the first time the read_data command is used. They are useful if you intend to add new atom, bond, angle, etc types later with additional read_data commands. This is because the maximum number of allowed atom, bond, angle, etc types is set by LAMMPS when the system is first initialized. If you do not use -the extra keywords, then the number of these types will be limited +the extra keywords, then the number of these types will be limited to what appears in the first data file you read. For example, if the first data file is a solid substrate of Si, it will likely specify a single atom type. If you read a second data file with a different material (water molecules) that sit on top of the substrate, you will want to use different atom types for those atoms. You can only do -this if you set the extra/atom/types keyword to a sufficiently large +this if you set the extra/atom/types keyword to a sufficiently large value when reading the substrate data file. Note that use of the -extra keywords also allows each data file to contain sections like +extra keywords also allows each data file to contain sections like Masses or Pair Coeffs or Bond Coeffs which are sized appropriately for -the number of types in that data file. If the offset keyword is +the number of types in that data file. If the offset keyword is used appropriately when each data file is read, the values in those sections will be stored correctly in the larger data structures -allocated by the use of the extra keywords. E.g. the substrate file +allocated by the use of the extra keywords. E.g. the substrate file can list mass and pair coefficients for type 1 silicon atoms. The water file can list mass and pair coeffcients for type 1 and type 2 -hydrogen and oxygen atoms. Use of the extra and offset keywords +hydrogen and oxygen atoms. Use of the extra and offset keywords will store those mass and pair coefficient values appropriately in data structures that allow for 3 atom types (Si, H, O). Of course, you would still need to specify coefficients for H/Si and O/Si interactions in your input script to have a complete pairwise -interaction model.

    -

    An alternative to using the extra keywords with the read_data -command, is to use the create_box command to +interaction model. +

    +

    An alternative to using the extra keywords with the read_data +command, is to use the create_box command to initialize the simulation box and all the various type limits you need -via its extra keywords. Then use the read_data command one or more +via its extra keywords. Then use the read_data command one or more times to populate the system with atoms, bonds, angles, etc, using the -offset keyword if desired to alter types used in the various data -files you read.

    -
    -

    Format of a data file

    -

    The structure of the data file is important, though many settings and +offset keyword if desired to alter types used in the various data +files you read. +

    +
    + +

    Format of a data file +

    +

    The structure of the data file is important, though many settings and sections are optional or can come in any order. See the examples -directory for sample data files for different problems.

    -

    A data file has a header and a body. The header appears first. The +directory for sample data files for different problems. +

    +

    A data file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with ‘#’ that is ignored. If the +can have a trailing comment starting with '#' that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn’t contain a header -keyword, the line begins the body of the file.

    -

    The body of the file contains zero or more sections. The first line +value(s) is read from the line. If it doesn't contain a header +keyword, the line begins the body of the file. +

    +

    The body of the file contains zero or more sections. The first line of a section has only a keyword. This line can have a trailing -comment starting with ‘#’ that is either ignored or can be used to +comment starting with '#' that is either ignored or can be used to check for a style match, as described below. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can -appear in any order, with a few exceptions as noted below.

    -

    The keyword fix can be used one or more times. Each usage specifies +appear in any order, with a few exceptions as noted below. +

    +

    The keyword fix can be used one or more times. Each usage specifies a fix that will be used to process a specific portion of the data -file. Any header line containing header-string and any section with -a name containing section-string will be passed to the specified -fix. See the fix property/atom command for +file. Any header line containing header-string and any section with +a name containing section-string will be passed to the specified +fix. See the fix property/atom command for an example of a fix that operates in this manner. The doc page for the fix defines the syntax of the header line(s) and section(s) that -it reads from the data file. Note that the header-string can be +it reads from the data file. Note that the header-string can be specified as NULL, in which case no header lines are passed to the fix. This means that it can infer the length of its Section from -standard header settings, such as the number of atoms.

    -

    The formatting of individual lines in the data file (indentation, +standard header settings, such as the number of atoms. +

    +

    The formatting of individual lines in the data file (indentation, spacing between words and numbers) is not important except that header and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must -be capitalized as shown and can’t have extra white space between their -words - e.g. two spaces or a tab between the 2 words in “xlo xhi” or -the 2 words in “Bond Coeffs”, is not valid.

    -
    -

    Format of the header of a data file

    -

    These are the recognized header keywords. Header lines can come in +be capitalized as shown and can't have extra white space between their +words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or +the 2 words in "Bond Coeffs", is not valid. +

    +
    + +

    Format of the header of a data file +

    +

    These are the recognized header keywords. Header lines can come in any order. The value(s) are read from the beginning of the line. -Thus the keyword atoms should be in a line like “1000 atoms”; the -keyword ylo yhi should be in a line like “-10.0 10.0 ylo yhi”; the -keyword xy xz yz should be in a line like “0.0 5.0 6.0 xy xz yz”. +Thus the keyword atoms should be in a line like "1000 atoms"; the +keyword ylo yhi should be in a line like "-10.0 10.0 ylo yhi"; the +keyword xy xz yz should be in a line like "0.0 5.0 6.0 xy xz yz". All these settings have a default value of 0, except the lo/hi box size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default.

    -
      -
    • atoms = # of atoms in system
    • -
    • bonds = # of bonds in system
    • -
    • angles = # of angles in system
    • -
    • dihedrals = # of dihedrals in system
    • -
    • impropers = # of impropers in system
    • -
    • atom types = # of atom types in system
    • -
    • bond types = # of bond types in system
    • -
    • angle types = # of angle types in system
    • -
    • dihedral types = # of dihedral types in system
    • -
    • improper types = # of improper types in system
    • -
    • extra bond per atom = leave space for this many new bonds per atom
    • -
    • extra angle per atom = leave space for this many new angles per atom
    • -
    • extra dihedral per atom = leave space for this many new dihedrals per atom
    • -
    • extra improper per atom = leave space for this many new impropers per atom
    • -
    • extra special per atom = leave space for this many new special bonds per atom
    • -
    • ellipsoids = # of ellipsoids in system
    • -
    • lines = # of line segments in system
    • -
    • triangles = # of triangles in system
    • -
    • bodies = # of bodies in system
    • -
    • xlo xhi = simulation box boundaries in x dimension
    • -
    • ylo yhi = simulation box boundaries in y dimension
    • -
    • zlo zhi = simulation box boundaries in z dimension
    • -
    • xy xz yz = simulation box tilt factors for triclinic system
    • -
    -

    The initial simulation box size is determined by the lo/hi settings. +is different than the default. +

    +
    • atoms = # of atoms in system +
    • bonds = # of bonds in system +
    • angles = # of angles in system +
    • dihedrals = # of dihedrals in system +
    • impropers = # of impropers in system +
    • atom types = # of atom types in system +
    • bond types = # of bond types in system +
    • angle types = # of angle types in system +
    • dihedral types = # of dihedral types in system +
    • improper types = # of improper types in system +
    • extra bond per atom = leave space for this many new bonds per atom +
    • extra angle per atom = leave space for this many new angles per atom +
    • extra dihedral per atom = leave space for this many new dihedrals per atom +
    • extra improper per atom = leave space for this many new impropers per atom +
    • extra special per atom = leave space for this many new special bonds per atom +
    • ellipsoids = # of ellipsoids in system +
    • lines = # of line segments in system +
    • triangles = # of triangles in system +
    • bodies = # of bodies in system +
    • xlo xhi = simulation box boundaries in x dimension +
    • ylo yhi = simulation box boundaries in y dimension +
    • zlo zhi = simulation box boundaries in z dimension +
    • xy xz yz = simulation box tilt factors for triclinic system +
    +

    The initial simulation box size is determined by the lo/hi settings. In any dimension, the system may be periodic or non-periodic; see the -boundary command. When the simulation box is created +boundary command. When the simulation box is created it is also partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and -the settings of the processors command. The -partitioning can later be changed by the balance or -fix balance commands.

    -

    If the xy xz yz line does not appear, LAMMPS will set up an +the settings of the processors command. The +partitioning can later be changed by the balance or +fix balance commands. +

    +

    If the xy xz yz line does not appear, LAMMPS will set up an axis-aligned (orthogonal) simulation box. If the line does appear, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. The parallelepiped has its -“origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting +"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values -and are called “tilt factors” because they are the amount of +(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values +and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped.

    -

    By default, the tilt factors (xy,xz,yz) can not skew the box more than +transform it into the parallelepiped. +

    +

    By default, the tilt factors (xy,xz,yz) can not skew the box more than half the distance of the corresponding parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz @@ -398,342 +306,338 @@ must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box -with tilt factors that exceed these limits, you can use the box tilt command, with a setting of large; a setting of -small is the default.

    -

    See Section_howto 12 of the doc pages +with tilt factors that exceed these limits, you can use the box +tilt command, with a setting of large; a setting of +small is the default. +

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations.

    -

    When a triclinic system is used, the simulation domain should normally +triclinic representations. +

    +

    When a triclinic system is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by -the boundary command. For example, if the xy tilt +the boundary command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if -this is not the case.

    -

    Also note that if your simulation will tilt the box, e.g. via the fix deform command, the simulation box must be setup to +this is not the case. +

    +

    Also note that if your simulation will tilt the box, e.g. via the fix +deform command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by -using the change box command with its ortho and -triclinic options.

    -

    For 2d simulations, the zlo zhi values should be set to bound the z +using the change box command with its ortho and +triclinic options. +

    +

    For 2d simulations, the zlo zhi values should be set to bound the z coords for atoms that appear in the file; the default of -0.5 0.5 is valid if all z coords are 0.0. For 2d triclinic simulations, the xz -and yz tilt factors must be 0.0.

    -

    If the system is periodic (in a dimension), then atom coordinates can +and yz tilt factors must be 0.0. +

    +

    If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a -periodic sense) back inside the box. Note that if the add option is +periodic sense) back inside the box. Note that if the add option is being used to add atoms to a simulation box that already exists, this periodic remapping will be performed using simulation box bounds that are the union of the existing box and the box boundaries in the new -data file.

    -
    -

    Warning

    -

    If the system is non-periodic (in a dimension), then +data file. +

    +

    IMPORTANT NOTE: If the system is non-periodic (in a dimension), then all atoms in the data file must have coordinates (in that dimension) -that are “greater than or equal to” the lo value and “less than or -equal to” the hi value. If the non-periodic dimension is of style -“fixed” (see the boundary command), then the atom -coords must be strictly “less than” the hi value, due to the way +that are "greater than or equal to" the lo value and "less than or +equal to" the hi value. If the non-periodic dimension is of style +"fixed" (see the boundary command), then the atom +coords must be strictly "less than" the hi value, due to the way LAMMPS assign atoms to processors. Note that you should not make the lo/hi values radically smaller/larger than the extent of the atoms. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using -“fixed” boundary conditions (see the boundary -command). When using “shrink-wrap” boundary conditions (see the -boundary command), a huge (mostly empty) box may cause +"fixed" boundary conditions (see the boundary +command). When using "shrink-wrap" boundary conditions (see the +boundary command), a huge (mostly empty) box may cause a parallel simulation to lose atoms when LAMMPS shrink-wraps the box around the atoms. The read_data command will generate an error -in this case.

    -
    -

    The “extra bond per atom” setting (angle, dihedral, improper) is only +in this case. +

    +

    The "extra bond per atom" setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to -the system when a simulation runs, e.g. by using the fix bond/create command. This will pre-allocate +the system when a simulation runs, e.g. by using the fix +bond/create command. This will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, -dihedrals, impropers).

    -

    The “extra special per atom” setting is typically only needed if new -bonds/angles/etc will be added to the system, e.g. by using the fix bond/create command. Or if entire new molecules -will be added to the system, e.g. by using the fix deposit or fix pour commands, which +dihedrals, impropers). +

    +

    The "extra special per atom" setting is typically only needed if new +bonds/angles/etc will be added to the system, e.g. by using the fix +bond/create command. Or if entire new molecules +will be added to the system, e.g. by using the fix +deposit or fix pour commands, which will have more special 1-2,1-3,1-4 neighbors than any other molecules defined in the data file. Using this setting will pre-allocate space in the LAMMPS data structures for storing these neighbors. See the -special_bonds and molecule doc -pages for more discussion of 1-2,1-3,1-4 neighbors.

    -
    -

    Warning

    -

    All of the “extra” settings are only used if they -appear in the first data file read; see the description of the add +special_bonds and molecule doc +pages for more discussion of 1-2,1-3,1-4 neighbors. +

    +

    IMPORTANT NOTE: All of the "extra" settings are only used if they +appear in the first data file read; see the description of the add keyword above for reading multiple data files. If they appear in -later data files, they are ignored.

    -
    -

    The “ellipsoids” and “lines” and “triangles” and “bodies” settings are -only used with atom_style ellipsoid or line or tri or body and specify how many of the atoms are +later data files, they are ignored. +

    +

    The "ellipsoids" and "lines" and "triangles" and "bodies" settings are +only used with atom_style ellipsoid or line or tri or +body and specify how many of the atoms are finite-size ellipsoids or lines or triangles or bodies; the remainder are point particles. See the discussion of ellipsoidflag and the -Ellipsoids section below. See the discussion of lineflag and the -Lines section below. See the discussion of triangleflag and the -Triangles section below. See the discussion of bodyflag and the -Bodies section below.

    -
    -

    Warning

    -

    For atom_style template, the +Ellipsoids section below. See the discussion of lineflag and the +Lines section below. See the discussion of triangleflag and the +Triangles section below. See the discussion of bodyflag and the +Bodies section below. +

    +

    IMPORTANT NOTE: For atom_style template, the molecular topology (bonds,angles,etc) is contained in the molecule -templates read-in by the molecule command. This means -you cannot set the bonds, angles, etc header keywords in the data -file, nor can you define Bonds, Angles, etc sections as discussed -below. You can set the bond types, angle types, etc header +templates read-in by the molecule command. This means +you cannot set the bonds, angles, etc header keywords in the data +file, nor can you define Bonds, Angles, etc sections as discussed +below. You can set the bond types, angle types, etc header keywords, though it is not necessary. If specified, they must match -the maximum values defined in any of the template molecules.

    -
    -
    -

    Format of the body of a data file

    -

    These are the section keywords for the body of the file.

    -
      -
    • Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies = atom-property sections
    • -
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections
    • -
    • Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs = force field sections
    • -
    • BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs = class 2 force field sections
    • -
    -

    These keywords will check an appended comment for a match with the -currently defined style:

    -
      -
    • Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs
    • -
    -

    For example, these lines:

    -
    Atoms # sphere
    -Pair Coeffs # lj/cut
    -
    -
    -

    will check if the currently-defined atom_style is -sphere, and the current pair_style is lj/cut. If +the maximum values defined in any of the template molecules. +

    +
    + +

    Format of the body of a data file +

    +

    These are the section keywords for the body of the file. +

    +
    • Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies = atom-property sections +
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections +
    • Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs = force field sections +
    • BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs = class 2 force field sections +
    +

    These keywords will check an appended comment for a match with the +currently defined style: +

    +
    • Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs +
    +

    For example, these lines: +

    +
    Atoms # sphere
    +Pair Coeffs # lj/cut 
    +
    +

    will check if the currently-defined atom_style is +sphere, and the current pair_style is lj/cut. If not, LAMMPS will issue a warning to indicate that the data file section likely does not contain the correct number or type of -parameters expected for the currently-defined style.

    -

    Each section is listed below in alphabetic order. The format of each +parameters expected for the currently-defined style. +

    +

    Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and -rules (if any) for where it can appear in the data file.

    -

    Any individual line in the various sections can have a trailing -comment starting with “#” for annotation purposes. E.g. in the -Atoms section:

    -
    10 1 17 -1.0 10.0 5.0 6.0   # salt ion
    -
    -
    -
    -

    Angle Coeffs section:

    -
      -
    • one line per angle type
    • -
    • line syntax: ID coeffs
    • -
    -
    ID = angle type (1-N)
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • example:
    • -
    -
    6 70 108.5 0 0
    -
    -
    -

    The number and meaning of the coefficients are specific to the defined -angle style. See the angle_style and -angle_coeff commands for details. Coefficients can -also be set via the angle_coeff command in the -input script.

    -
    -

    AngleAngle Coeffs section:

    -
      -
    • one line per improper type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = improper type (1-N)
    -  coeffs = list of coeffs (see improper_coeff)
    -
    -
    -

    AngleAngleTorsion Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see dihedral_coeff)
    -
    -
    -

    Angles section:

    -
      -
    • one line per angle
    • -
    • line syntax: ID type atom1 atom2 atom3
    • -
    -
    ID = number of angle (1-Nangles)
    +rules (if any) for where it can appear in the data file.
    +

    +

    Any individual line in the various sections can have a trailing +comment starting with "#" for annotation purposes. E.g. in the +Atoms section: +

    +
    10 1 17 -1.0 10.0 5.0 6.0   # salt ion 
    +
    +
    + +

    Angle Coeffs section: +

    +
    • one line per angle type + +
    • line syntax: ID coeffs + +
        ID = angle type (1-N)
      +  coeffs = list of coeffs 
      +
      +
    • example: + +
        6 70 108.5 0 0 
      +
      + +
    +

    The number and meaning of the coefficients are specific to the defined +angle style. See the angle_style and +angle_coeff commands for details. Coefficients can +also be set via the angle_coeff command in the +input script. +

    +
    + +

    AngleAngle Coeffs section: +

    +
    • one line per improper type + +
    • line syntax: ID coeffs + +
        ID = improper type (1-N)
      +  coeffs = list of coeffs (see improper_coeff) 
      +
      + +
    +
    + +

    AngleAngleTorsion Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see dihedral_coeff) 
      +
      + +
    +
    + +

    Angles section: +

    +
    • one line per angle + +
    • line syntax: ID type atom1 atom2 atom3 + +
        ID = number of angle (1-Nangles)
         type = angle type (1-Nangletype)
      -  atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle
      -
    -
    -

    example: -.. parsed-literal:

    -
    2 2 17 29 430
    -
    -
    -

    The 3 atoms are ordered linearly within the angle. Thus the central + atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle + +example: +
    +

      2 2 17 29 430 
    +
    + + +

    The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. -E.g. H,O,H for a water molecule. The Angles section must appear -after the Atoms section. All values in this section must be -integers (1, not 1.0).

    -
    -

    AngleTorsion Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see dihedral_coeff)
    -
    -
    -

    Atoms section:

    -
      -
    • one line per atom
    • -
    • line syntax: depends on atom style
    • -
    -

    An Atoms section must appear in the data file if natoms > 0 in the +E.g. H,O,H for a water molecule. The Angles section must appear +after the Atoms section. All values in this section must be +integers (1, not 1.0). +

    +
    + +

    AngleTorsion Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see dihedral_coeff) 
      +
      + +
    +
    + +

    Atoms section: +

    +
    • one line per atom +
    • line syntax: depends on atom style +
    +

    An Atoms section must appear in the data file if natoms > 0 in the header section. The atoms can be listed in any order. These are the -line formats for each atom style in LAMMPS. As +line formats for each atom style in LAMMPS. As discussed below, each line can optionally have 3 flags (nx,ny,nz) appended to it, which indicate which image of a periodic simulation box the atom is in. These may be important to include for some kinds -of analysis.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    angleatom-ID molecule-ID atom-type x y z
    atomicatom-ID atom-type x y z
    bodyatom-ID atom-type bodyflag mass x y z
    bondatom-ID molecule-ID atom-type x y z
    chargeatom-ID atom-type q x y z
    dipoleatom-ID atom-type q x y z mux muy muz
    electronatom-ID atom-type q spin eradius x y z
    ellipsoidatom-ID atom-type ellipsoidflag density x y z
    fullatom-ID molecule-ID atom-type q x y z
    lineatom-ID molecule-ID atom-type lineflag density x y z
    mesoatom-ID atom-type rho e cv x y z
    molecularatom-ID molecule-ID atom-type x y z
    periatom-ID atom-type volume density x y z
    sphereatom-ID atom-type diameter density x y z
    templateatom-ID molecule-ID template-index template-atom atom-type x y z
    triatom-ID molecule-ID atom-type triangleflag density x y z
    wavepacketatom-ID atom-type charge spin eradius etag cs_re cs_im x y z
    hybridatom-ID atom-type x y z sub-style1 sub-style2 ...
    -

    The keywords have these meanings:

    -
      -
    • atom-ID = integer ID of atom
    • -
    • molecule-ID = integer ID of molecule the atom belongs to
    • -
    • atom-type = type of atom (1-Ntype)
    • -
    • q = charge on atom (charge units)
    • -
    • diameter = diameter of spherical atom (distance units)
    • -
    • ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles
    • -
    • lineflag = 1 for line segment particles, 0 for point particles
    • -
    • triangleflag = 1 for triangular particles, 0 for point particles
    • -
    • bodyflag = 1 for body particles, 0 for point particles
    • -
    • template-index = which molecule within the molecule template the atom is part of
    • -
    • template-atom = which atom within a template molecule the atom is
    • -
    • density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
    • -
    • mass = mass of particle (mass units)
    • -
    • volume = volume of particle (distance^3 units)
    • -
    • x,y,z = coordinates of atom
    • -
    • mux,muy,muz = components of dipole moment of atom (dipole units)
    • -
    • rho = density (need units) for SPH particles
    • -
    • e = energy (need units) for SPH particles
    • -
    • cv = heat capacity (need units) for SPH particles
    • -
    • spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)
    • -
    • eradius = electron radius (or fixed-core radius)
    • -
    • etag = integer ID of electron that each wavepacket belongs to
    • -
    • cs_re,cs_im = real/imaginary parts of wavepacket coefficients
    • -
    -

    The units for these quantities depend on the unit style; see the -units command for details.

    -

    For 2d simulations specify z as 0.0, or a value within the zlo zhi -setting in the data file header.

    -

    The atom-ID is used to identify the atom throughout the simulation and +of analysis. +

    +
    + + + + + + + + + + + + + + + + + +
    angle atom-ID molecule-ID atom-type x y z
    atomic atom-ID atom-type x y z
    body atom-ID atom-type bodyflag mass x y z
    bond atom-ID molecule-ID atom-type x y z
    charge atom-ID atom-type q x y z
    dipole atom-ID atom-type q x y z mux muy muz
    electron atom-ID atom-type q spin eradius x y z
    ellipsoid atom-ID atom-type ellipsoidflag density x y z
    full atom-ID molecule-ID atom-type q x y z
    line atom-ID molecule-ID atom-type lineflag density x y z
    meso atom-ID atom-type rho e cv x y z
    molecular atom-ID molecule-ID atom-type x y z
    peri atom-ID atom-type volume density x y z
    sphere atom-ID atom-type diameter density x y z
    template atom-ID molecule-ID template-index template-atom atom-type x y z
    tri atom-ID molecule-ID atom-type triangleflag density x y z
    wavepacket atom-ID atom-type charge spin eradius etag cs_re cs_im x y z
    hybrid atom-ID atom-type x y z sub-style1 sub-style2 ... +
    + +

    The keywords have these meanings: +

    +
    • atom-ID = integer ID of atom +
    • molecule-ID = integer ID of molecule the atom belongs to +
    • atom-type = type of atom (1-Ntype) +
    • q = charge on atom (charge units) +
    • diameter = diameter of spherical atom (distance units) +
    • ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles +
    • lineflag = 1 for line segment particles, 0 for point particles +
    • triangleflag = 1 for triangular particles, 0 for point particles +
    • bodyflag = 1 for body particles, 0 for point particles +
    • template-index = which molecule within the molecule template the atom is part of +
    • template-atom = which atom within a template molecule the atom is +
    • density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) +
    • mass = mass of particle (mass units) +
    • volume = volume of particle (distance^3 units) +
    • x,y,z = coordinates of atom +
    • mux,muy,muz = components of dipole moment of atom (dipole units) +
    • rho = density (need units) for SPH particles +
    • e = energy (need units) for SPH particles +
    • cv = heat capacity (need units) for SPH particles +
    • spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP) +
    • eradius = electron radius (or fixed-core radius) +
    • etag = integer ID of electron that each wavepacket belongs to +
    • cs_re,cs_im = real/imaginary parts of wavepacket coefficients +
    +

    The units for these quantities depend on the unit style; see the +units command for details. +

    +

    For 2d simulations specify z as 0.0, or a value within the zlo zhi +setting in the data file header. +

    +

    The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for each atom. Unique values larger than Natoms can be used, but they will cause extra memory to be allocated on each processor, if an atom map array is used, but not if an atom map hash is used; see the -atom_modify command for details. If an atom map is -not used (e.g. an atomic system with no bonds), and you don’t care if +atom_modify command for details. If an atom map is +not used (e.g. an atomic system with no bonds), and you don't care if unique atom IDs appear in dump files, then the atom-IDs can all be set -to 0.

    -

    The molecule ID is a 2nd identifier attached to an atom. Normally, it +to 0. +

    +

    The molecule ID is a 2nd identifier attached to an atom. Normally, it is a number from 1 to N, identifying which molecule the atom belongs -to. It can be 0 if it is an unbonded atom or if you don’t care to -keep track of molecule assignments.

    -

    The diameter specifies the size of a finite-size spherical particle. -It can be set to 0.0, which means that atom is a point particle.

    -

    The ellipsoidflag, lineflag, triangleflag, and bodyflag determine +to. It can be 0 if it is an unbonded atom or if you don't care to +keep track of molecule assignments. +

    +

    The diameter specifies the size of a finite-size spherical particle. +It can be set to 0.0, which means that atom is a point particle. +

    +

    The ellipsoidflag, lineflag, triangleflag, and bodyflag determine whether the particle is a finite-size ellipsoid or line or triangle or body of finite size, or whether the particle is a point particle. Additional attributes must be defined for each ellipsoid, line, -triangle, or body in the corresponding Ellipsoids, Lines, -Triangles, or Bodies section.

    -

    The template-index and template-atom are only defined used by -atom_style template. In this case the -molecule command is used to define a molecule template +triangle, or body in the corresponding Ellipsoids, Lines, +Triangles, or Bodies section. +

    +

    The template-index and template-atom are only defined used by +atom_style template. In this case the +molecule command is used to define a molecule template which contains one or more molecules. If an atom belongs to one of -those molecules, its template-index and template-atom are both set +those molecules, its template-index and template-atom are both set to positive integers; if not the values are both 0. The -template-index is which molecule (1 to Nmols) the atom belongs to. -The template-atom is which atom (1 to Natoms) within the molecule -the atom is.

    -

    Some pair styles and fixes and computes that operate on finite-size +template-index is which molecule (1 to Nmols) the atom belongs to. +The template-atom is which atom (1 to Natoms) within the molecule +the atom is. +

    +

    Some pair styles and fixes and computes that operate on finite-size particles allow for a mixture of finite-size and point particles. See -the doc pages of individual commands for details.

    -

    For finite-size particles, the density is used in conjunction with the +the doc pages of individual commands for details. +

    +

    For finite-size particles, the density is used in conjunction with the particle volume to set the mass of each particle as mass = density * volume. In this context, volume can be a 3d quantity (for spheres or ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line @@ -741,34 +645,36 @@ segments). If the volume is 0.0, meaning a point particle, then the density value is used as the mass. One exception is for the body atom style, in which case the mass of each particle (body or point particle) is specified explicitly. This is because the volume of the -body is unknown.

    -

    For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), +body is unknown. +

    +

    For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -atom_style command. The sub-style specific values +atom_style command. The sub-style specific values are those that are not the 5 standard ones (ID,type,x,y,z). For -example, for the “charge” sub-style, a “q” value would appear. For -the “full” sub-style, a “molecule-ID” and “q” would appear. These are -listed in the same order they appear as listed above. Thus if

    -
    atom_style hybrid charge sphere
    -
    -
    -

    were used in the input script, each atom line would have these fields:

    -
    atom-ID atom-type x y z q diameter density
    -
    -
    -

    Note that if a non-standard value is defined by multiple sub-styles, +example, for the "charge" sub-style, a "q" value would appear. For +the "full" sub-style, a "molecule-ID" and "q" would appear. These are +listed in the same order they appear as listed above. Thus if +

    +
    atom_style hybrid charge sphere 
    +
    +

    were used in the input script, each atom line would have these fields: +

    +
    atom-ID atom-type x y z q diameter density 
    +
    +

    Note that if a non-standard value is defined by multiple sub-styles, it must appear mutliple times in the atom line. E.g. the atom line -for atom_style hybrid dipole full would list “q” twice:

    -
    atom-ID atom-type x y z q mux muy myz molecule-ID q
    -
    -
    -

    Atom lines specify the (x,y,z) coordinates of atoms. These can be +for atom_style hybrid dipole full would list "q" twice: +

    +
    atom-ID atom-type x y z q mux muy myz molecule-ID q 
    +
    +

    Atom lines specify the (x,y,z) coordinates of atoms. These can be inside or outside the simulation box. When the data file is read, LAMMPS wraps coordinates outside the box back into the box for dimensions that are periodic. As discussed above, if an atom is -outside the box in a non-periodic dimension, it will be lost.

    -

    LAMMPS always stores atom coordinates as values which are inside the +outside the box in a non-periodic dimension, it will be lost. +

    +

    LAMMPS always stores atom coordinates as values which are inside the simulation box. It also stores 3 flags which indicate which image of the simulation box (in each dimension) the atom would be in if its coordinates were unwrapped across periodic boundaries. An image flag @@ -776,76 +682,85 @@ of 0 means the atom is still inside the box when unwrapped. A value of 2 means add 2 box lengths to get the unwrapped coordinate. A value of -1 means subtract 1 box length to get the unwrapped coordinate. LAMMPS updates these flags as atoms cross periodic boundaries during -the simulation. The dump command can output atom atom +the simulation. The dump command can output atom atom coordinates in wrapped or unwrapped form, as well as the 3 image -flags.

    -

    In the data file, atom lines (all lines or none of them) can +flags. +

    +

    In the data file, atom lines (all lines or none of them) can optionally list 3 trailing integer values (nx,ny,nz), which are used -to initialize the atom’s image flags. If nx,ny,nz values are not +to initialize the atom's image flags. If nx,ny,nz values are not listed in the data file, LAMMPS initializes them to 0. Note that the -image flags are immediately updated if an atom’s coordinates need to -wrapped back into the simulation box.

    -

    It is only important to set image flags correctly in a data file if a +image flags are immediately updated if an atom's coordinates need to +wrapped back into the simulation box. +

    +

    It is only important to set image flags correctly in a data file if a simulation model relies on unwrapped coordinates for some calculation; otherwise they can be left unspecified. Examples of LAMMPS commands -that use unwrapped coordinates internally are as follows:

    -
      -
    • Atoms in a rigid body (see fix rigid, fix rigid/small) must have consistent image flags, so that +that use unwrapped coordinates internally are as follows: +

      +
      • Atoms in a rigid body (see fix rigid, fix +rigid/small) must have consistent image flags, so that when the atoms are unwrapped, they are near each other, i.e. as a -single body.
      • -
      • If the replicate command is used to generate a larger +single body. + +
      • If the replicate command is used to generate a larger system, image flags must be consistent for bonded atoms when the bond crosses a periodic boundary. I.e. the values of the image flags should be different by 1 (in the appropriate dimension) for the two -atoms in such a bond.
      • -
      • If you plan to dump image flags and perform post-analysis +atoms in such a bond. + +
      • If you plan to dump image flags and perform post-analysis that will unwrap atom coordinates, it may be important that a continued run (restarted from a data file) begins with image flags -that are consistent with the previous run.
      • -
      -

      Atom velocities and other atom quantities not defined above are set to -0.0 when the Atoms section is read. Velocities can be set later by -a Velocities section in the data file or by a -velocity or set command in the input -script.

      -
      -

      Bodies section:

      -
        -
      • one or more lines per body
      • -
      • first line syntax: atom-ID ninteger ndouble
      • -
      -
      ninteger = # of integer quantities for this particle
      -  ndouble = # of floating-point quantities for this particle
      -
      -
      -
        -
      • 0 or more integer lines: one line for every 10 integer quantities
      • -
      • 0 or more double lines: one line for every 10 double quantities
      • -
      • example:
      • -
      -
      12 3 6
      +that are consistent with the previous run. 
      +
    +

    Atom velocities and other atom quantities not defined above are set to +0.0 when the Atoms section is read. Velocities can be set later by +a Velocities section in the data file or by a +velocity or set command in the input +script. +

    +
    + +

    Bodies section: +

    +
    • one or more lines per body + +
    • first line syntax: atom-ID ninteger ndouble + +
        ninteger = # of integer quantities for this particle
      +  ndouble = # of floating-point quantities for this particle 
      +
      +
    • 0 or more integer lines: one line for every 10 integer quantities + +
    • 0 or more double lines: one line for every 10 double quantities + +
    • example: + +
        12 3 6
         2 3 2
      -  1.0 2.0 3.0 1.0 2.0 4.0
      -
    -
    -
      -
    • example:
    • -
    -
    12 0 14
    +  1.0 2.0 3.0 1.0 2.0 4.0 
    +
    +
  • example: + +
      12 0 14
       1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
    -  2.0 4.0 4.0 2.0
    -
  • -
    -

    The Bodies section must appear if atom_style body -is used and any atoms listed in the Atoms section have a bodyflag = + 2.0 4.0 4.0 2.0 + + + +

    The Bodies section must appear if atom_style body +is used and any atoms listed in the Atoms section have a bodyflag = 1. The number of bodies should be specified in the header section via -the “bodies” keyword.

    -

    Each body can have a variable number of integer and/or floating-point +the "bodies" keyword. +

    +

    Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the body doc page. The body style -is given as an argument to the atom_style body -command.

    -

    The ninteger and ndouble values determine how many integer and +style, as described in the body doc page. The body style +is given as an argument to the atom_style body +command. +

    +

    The ninteger and ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and ndouble can be as large as needed and can be different for every body. Integer values are then listed on subsequent lines, 10 values per @@ -854,481 +769,463 @@ line. If the number of lines is not evenly divisible by 10, the last line in that group contains the remaining values, e.g. 4 values out of 14 in the last example above, for floating-point values. If there are no values of a particular type, no lines appear for that type, -e.g. there are no integer lines in the last example above.

    -

    The Bodies section must appear after the Atoms section.

    -
    -

    Bond Coeffs section:

    -
      -
    • one line per bond type
    • -
    • line syntax: ID coeffs
    • -
    -
    ID = bond type (1-N)
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • example:
    • -
    -
    4 250 1.49
    -
    -
    -

    The number and meaning of the coefficients are specific to the defined -bond style. See the bond_style and -bond_coeff commands for details. Coefficients can -also be set via the bond_coeff command in the input -script.

    -
    -

    BondAngle Coeffs section:

    -
      -
    • one line per angle type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = angle type (1-N)
    -  coeffs = list of coeffs (see class 2 section of angle_coeff)
    -
    -
    -

    BondBond Coeffs section:

    -
      -
    • one line per angle type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = angle type (1-N)
    -  coeffs = list of coeffs (see class 2 section of angle_coeff)
    -
    -
    -

    BondBond13 Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    -
    -
    -

    Bonds section:

    -
      -
    • one line per bond
    • -
    • line syntax: ID type atom1 atom2
    • -
    -
    ID = bond number (1-Nbonds)
    +e.g. there are no integer lines in the last example above.
    +

    +

    The Bodies section must appear after the Atoms section. +

    +
    + +

    Bond Coeffs section: +

    +
    • one line per bond type + +
    • line syntax: ID coeffs + +
        ID = bond type (1-N)
      +  coeffs = list of coeffs 
      +
      +
    • example: + +
        4 250 1.49 
      +
      + +
    +

    The number and meaning of the coefficients are specific to the defined +bond style. See the bond_style and +bond_coeff commands for details. Coefficients can +also be set via the bond_coeff command in the input +script. +

    +
    + +

    BondAngle Coeffs section: +

    +
    • one line per angle type + +
    • line syntax: ID coeffs + +
        ID = angle type (1-N)
      +  coeffs = list of coeffs (see class 2 section of angle_coeff) 
      +
      + +
    +
    + +

    BondBond Coeffs section: +

    +
    • one line per angle type + +
    • line syntax: ID coeffs + +
        ID = angle type (1-N)
      +  coeffs = list of coeffs (see class 2 section of angle_coeff) 
      +
      + +
    +
    + +

    BondBond13 Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      +
      + +
    +
    + +

    Bonds section: +

    +
    • one line per bond + +
    • line syntax: ID type atom1 atom2 + +
        ID = bond number (1-Nbonds)
         type = bond type (1-Nbondtype)
      -  atom1,atom2 = IDs of 1st,2nd atoms in bond
      -
    -
    -
      -
    • example:
    • -
    -
    12 3 17 29
    -
    -
    -

    The Bonds section must appear after the Atoms section. All values -in this section must be integers (1, not 1.0).

    -
    -

    Dihedral Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    ID = dihedral type (1-N)
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • example:
    • -
    -
    3 0.6 1 0 1
    -
    -
    -

    The number and meaning of the coefficients are specific to the defined -dihedral style. See the dihedral_style and -dihedral_coeff commands for details. + atom1,atom2 = IDs of 1st,2nd atoms in bond + +

  • example: + +
      12 3 17 29 
    +
    + + +

    The Bonds section must appear after the Atoms section. All values +in this section must be integers (1, not 1.0). +

    +
    + +

    Dihedral Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs 
      +
      +
    • example: + +
        3 0.6 1 0 1 
      +
      + +
    +

    The number and meaning of the coefficients are specific to the defined +dihedral style. See the dihedral_style and +dihedral_coeff commands for details. Coefficients can also be set via the -dihedral_coeff command in the input script.

    -
    -

    Dihedrals section:

    -
      -
    • one line per dihedral
    • -
    • line syntax: ID type atom1 atom2 atom3 atom4
    • -
    -
    ID = number of dihedral (1-Ndihedrals)
    +dihedral_coeff command in the input script.
    +

    +
    + +

    Dihedrals section: +

    +
    • one line per dihedral + +
    • line syntax: ID type atom1 atom2 atom3 atom4 + +
        ID = number of dihedral (1-Ndihedrals)
         type = dihedral type (1-Ndihedraltype)
      -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral
      -
    -
    -
      -
    • example:
    • -
    -
    12 4 17 29 30 21
    -
    -
    -

    The 4 atoms are ordered linearly within the dihedral. The Dihedrals -section must appear after the Atoms section. All values in this -section must be integers (1, not 1.0).

    -
    -

    Ellipsoids section:

    -
      -
    • one line per ellipsoid
    • -
    • line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk
    • -
    -
    atom-ID = ID of atom which is an ellipsoid
    +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral 
    +
    +
  • example: + +
      12 4 17 29 30 21 
    +
    + + +

    The 4 atoms are ordered linearly within the dihedral. The Dihedrals +section must appear after the Atoms section. All values in this +section must be integers (1, not 1.0). +

    +
    + +

    Ellipsoids section: +

    +
    • one line per ellipsoid + +
    • line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk + +
        atom-ID = ID of atom which is an ellipsoid
         shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
      -  quatw,quati,quatj,quatk = quaternion components for orientation of atom
      -
  • -
    -
      -
    • example:
    • -
    -
    12 1 2 1 1 0 0 0
    -
    -
    -

    The Ellipsoids section must appear if atom_style ellipsoid is used and any atoms are listed in the -Atoms section with an ellipsoidflag = 1. The number of ellipsoids -should be specified in the header section via the “ellipsoids” -keyword.

    -

    The 3 shape values specify the 3 diameters or aspect ratios of a + quatw,quati,quatj,quatk = quaternion components for orientation of atom + +

  • example: + +
      12 1 2 1 1 0 0 0 
    +
    + + +

    The Ellipsoids section must appear if atom_style +ellipsoid is used and any atoms are listed in the +Atoms section with an ellipsoidflag = 1. The number of ellipsoids +should be specified in the header section via the "ellipsoids" +keyword. +

    +

    The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 -coordinate axes. They must all be non-zero values.

    -

    The values quatw, quati, quatj, and quatk set the orientation +coordinate axes. They must all be non-zero values. +

    +

    The values quatw, quati, quatj, and quatk set the orientation of the atom as a quaternion (4-vector). Note that the shape attributes specify the aspect ratios of an ellipsoidal particle, which -is oriented by default with its x-axis along the simulation box’s +is oriented by default with its x-axis along the simulation box's x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These 4 components are quatw, quati, quatj, and quatk as specified above. -LAMMPS normalizes each atom’s quaternion in case (a,b,c) is not -specified as a unit vector.

    -

    The Ellipsoids section must appear after the Atoms section.

    -
    -

    EndBondTorsion Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    -
    -
    -

    Improper Coeffs section:

    -
      -
    • one line per improper type
    • -
    • line syntax: ID coeffs
    • -
    -
    ID = improper type (1-N)
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • example:
    • -
    -
    2 20 0.0548311
    -
    -
    -

    The number and meaning of the coefficients are specific to the defined -improper style. See the improper_style and -improper_coeff commands for details. +LAMMPS normalizes each atom's quaternion in case (a,b,c) is not +specified as a unit vector. +

    +

    The Ellipsoids section must appear after the Atoms section. +

    +
    + +

    EndBondTorsion Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      +
      + +
    +
    + +

    Improper Coeffs section: +

    +
    • one line per improper type + +
    • line syntax: ID coeffs + +
        ID = improper type (1-N)
      +  coeffs = list of coeffs 
      +
      +
    • example: + +
        2 20 0.0548311 
      +
      + +
    +

    The number and meaning of the coefficients are specific to the defined +improper style. See the improper_style and +improper_coeff commands for details. Coefficients can also be set via the -improper_coeff command in the input script.

    -
    -

    Impropers section:

    -
      -
    • one line per improper
    • -
    • line syntax: ID type atom1 atom2 atom3 atom4
    • -
    -
    ID = number of improper (1-Nimpropers)
    +improper_coeff command in the input script.
    +

    +
    + +

    Impropers section: +

    +
    • one line per improper + +
    • line syntax: ID type atom1 atom2 atom3 atom4 + +
        ID = number of improper (1-Nimpropers)
         type = improper type (1-Nimpropertype)
      -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper
      -
    -
    -
      -
    • example:
    • -
    -
    12 3 17 29 13 100
    -
    -
    -

    The ordering of the 4 atoms determines the definition of the improper -angle used in the formula for each improper style. See the doc pages for individual styles -for details.

    -

    The Impropers section must appear after the Atoms section. All -values in this section must be integers (1, not 1.0).

    -
    -

    Lines section:

    -
      -
    • one line per line segment
    • -
    • line syntax: atom-ID x1 y1 x2 y2
    • -
    -
    atom-ID = ID of atom which is a line segment
    +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper 
    +
    +
  • example: + +
      12 3 17 29 13 100 
    +
    + + +

    The ordering of the 4 atoms determines the definition of the improper +angle used in the formula for each improper +style. See the doc pages for individual styles +for details. +

    +

    The Impropers section must appear after the Atoms section. All +values in this section must be integers (1, not 1.0). +

    +
    + +

    Lines section: +

    +
    • one line per line segment + +
    • line syntax: atom-ID x1 y1 x2 y2 + +
        atom-ID = ID of atom which is a line segment
         x1,y1 = 1st end point
      -  x2,y2 = 2nd end point
      -
  • -
    -
      -
    • example:
    • -
    -
    12 1.0 0.0 2.0 0.0
    -
    -
    -

    The Lines section must appear if atom_style line -is used and any atoms are listed in the Atoms section with a + x2,y2 = 2nd end point + +

  • example: + +
      12 1.0 0.0 2.0 0.0 
    +
    + + +

    The Lines section must appear if atom_style line +is used and any atoms are listed in the Atoms section with a lineflag = 1. The number of lines should be specified in the header -section via the “lines” keyword.

    -

    The 2 end points are the end points of the line segment. The ordering +section via the "lines" keyword. +

    +

    The 2 end points are the end points of the line segment. The ordering of the 2 points should be such that using a right-hand rule to cross the line segment with a unit vector in the +z direction, gives an -“outward” normal vector perpendicular to the line segment. +"outward" normal vector perpendicular to the line segment. I.e. normal = (c2-c1) x (0,0,1). This orientation may be important -for defining some interactions.

    -

    The Lines section must appear after the Atoms section.

    -
    -

    Masses section:

    -
      -
    • one line per atom type
    • -
    • line syntax: ID mass
    • -
    -
    ID = atom type (1-N)
    -  mass = mass value
    -
    -
    -
      -
    • example:
    • -
    -
    3 1.01
    -
    -
    -

    This defines the mass of each atom type. This can also be set via the -mass command in the input script. This section cannot be +for defining some interactions. +

    +

    The Lines section must appear after the Atoms section. +

    +
    + +

    Masses section: +

    +
    • one line per atom type + +
    • line syntax: ID mass + +
        ID = atom type (1-N)
      +  mass = mass value 
      +
      +
    • example: + +
        3 1.01 
      +
      + +
    +

    This defines the mass of each atom type. This can also be set via the +mass command in the input script. This section cannot be used for atom styles that define a mass for individual atoms - -e.g. atom_style sphere.

    -
    -

    MiddleBondTorsion Coeffs section:

    -
      -
    • one line per dihedral type
    • -
    • line syntax: ID coeffs
    • -
    -
    -ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    -
    -
    -

    Pair Coeffs section:

    -
      -
    • one line per atom type
    • -
    • line syntax: ID coeffs
    • -
    -
    ID = atom type (1-N)
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • example:
    • -
    -
    3 0.022 2.35197 0.022 2.35197
    -
    -
    -

    The number and meaning of the coefficients are specific to the defined -pair style. See the pair_style and -pair_coeff commands for details. Since pair +e.g. atom_style sphere. +

    +
    + +

    MiddleBondTorsion Coeffs section: +

    +
    • one line per dihedral type + +
    • line syntax: ID coeffs + +
        ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      +
      + +
    +
    + +

    Pair Coeffs section: +

    +
    • one line per atom type + +
    • line syntax: ID coeffs + +
        ID = atom type (1-N)
      +  coeffs = list of coeffs 
      +
      +
    • example: + +
        3 0.022 2.35197 0.022 2.35197 
      +
      + +
    +

    The number and meaning of the coefficients are specific to the defined +pair style. See the pair_style and +pair_coeff commands for details. Since pair coefficients for types I != J are not specified, these will be -generated automatically by the pair style’s mixing rule. See the -individual pair_style doc pages and the pair_modify mix command for details. Pair coefficients can also -be set via the pair_coeff command in the input -script.

    -
    -

    PairIJ Coeffs section:

    -
      -
    • one line per pair of atom types for all I,J with I <= J
    • -
    • line syntax: ID1 ID2 coeffs
    • -
    -
    ID1 = atom type I = 1-N
    -  ID2 = atom type J = I-N, with I <= J
    -  coeffs = list of coeffs
    -
    -
    -
      -
    • examples:
    • -
    -
    3 3 0.022 2.35197 0.022 2.35197
    -  3 5 0.022 2.35197 0.022 2.35197
    -
    -
    -

    This section must have N*(N+1)/2 lines where N = # of atom types. The +generated automatically by the pair style's mixing rule. See the +individual pair_style doc pages and the pair_modify +mix command for details. Pair coefficients can also +be set via the pair_coeff command in the input +script. +

    +
    + +

    PairIJ Coeffs section: +

    +
    • one line per pair of atom types for all I,J with I <= J + +
    • line syntax: ID1 ID2 coeffs + +
        ID1 = atom type I = 1-N
      +  ID2 = atom type J = I-N, with I <= J
      +  coeffs = list of coeffs 
      +
      +
    • examples: + +
        3 3 0.022 2.35197 0.022 2.35197
      +  3 5 0.022 2.35197 0.022 2.35197 
      +
      + +
    +

    This section must have N*(N+1)/2 lines where N = # of atom types. The number and meaning of the coefficients are specific to the defined -pair style. See the pair_style and -pair_coeff commands for details. Since pair +pair style. See the pair_style and +pair_coeff commands for details. Since pair coefficients for types I != J are all specified, these values will turn off the default mixing rule defined by the pair style. See the -individual pair_style doc pages and the pair_modify mix command for details. Pair coefficients can also -be set via the pair_coeff command in the input -script.

    -
    -

    Triangles section:

    -
      -
    • one line per triangle
    • -
    • line syntax: atom-ID x1 y1 x2 y2
    • -
    -
    atom-ID = ID of atom which is a line segment
    +individual pair_style doc pages and the pair_modify
    +mix command for details.  Pair coefficients can also
    +be set via the pair_coeff command in the input
    +script.
    +

    +
    + +

    Triangles section: +

    +
    • one line per triangle + +
    • line syntax: atom-ID x1 y1 x2 y2 + +
        atom-ID = ID of atom which is a line segment
         x1,y1,z1 = 1st corner point
         x2,y2,z2 = 2nd corner point
      -  x3,y3,z3 = 3rd corner point
      -
    -
    -
      -
    • example:
    • -
    -
    12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0
    -
    -
    -

    The Triangles section must appear if atom_style tri is used and any atoms are listed in the Atoms + x3,y3,z3 = 3rd corner point + +

  • example: + +
      12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 
    +
    + + +

    The Triangles section must appear if atom_style +tri is used and any atoms are listed in the Atoms section with a triangleflag = 1. The number of lines should be -specified in the header section via the “triangles” keyword.

    -

    The 3 corner points are the corner points of the triangle. The +specified in the header section via the "triangles" keyword. +

    +

    The 3 corner points are the corner points of the triangle. The ordering of the 3 points should be such that using a right-hand rule -to go from point1 to point2 to point3 gives an “outward” normal vector +to go from point1 to point2 to point3 gives an "outward" normal vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This -orientation may be important for defining some interactions.

    -

    The Triangles section must appear after the Atoms section.

    -
    -

    Velocities section:

    -
      -
    • one line per atom
    • -
    • line syntax: depends on atom style
    • -
    - ---- - - - - - - - - - - - - - - - - - -
    all styles except those listedatom-ID vx vy vz
    electronatom-ID vx vy vz ervel
    ellipsoidatom-ID vx vy vz lx ly lz
    sphereatom-ID vx vy vz wx wy wz
    hybridatom-ID vx vy vz sub-style1 sub-style2 ...
    -

    where the keywords have these meanings:

    -

    vx,vy,vz = translational velocity of atom +orientation may be important for defining some interactions. +

    +

    The Triangles section must appear after the Atoms section. +

    +
    + +

    Velocities section: +

    +
    • one line per atom +
    • line syntax: depends on atom style +
    +
    + + + + +
    all styles except those listed atom-ID vx vy vz
    electron atom-ID vx vy vz ervel
    ellipsoid atom-ID vx vy vz lx ly lz
    sphere atom-ID vx vy vz wx wy wz
    hybrid atom-ID vx vy vz sub-style1 sub-style2 ... +
    + +

    where the keywords have these meanings: +

    +

    vx,vy,vz = translational velocity of atom lx,ly,lz = angular momentum of aspherical atom wx,wy,wz = angular velocity of spherical atom -ervel = electron radial velocity (0 for fixed-core):ul

    -

    The velocity lines can appear in any order. This section can only be -used after an Atoms section. This is because the Atoms section +ervel = electron radial velocity (0 for fixed-core):ul +

    +

    The velocity lines can appear in any order. This section can only be +used after an Atoms section. This is because the Atoms section must have assigned a unique atom ID to each atom so that velocities -can be assigned to them.

    -

    Vx, vy, vz, and ervel are in units of velocity. Lx, ly, +can be assigned to them. +

    +

    Vx, vy, vz, and ervel are in units of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, -Wz are in units of angular velocity (radians/time).

    -

    For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), +Wz are in units of angular velocity (radians/time). +

    +

    For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -atom_style command. The sub-style specific values +atom_style command. The sub-style specific values are those that are not the 5 standard ones (ID,vx,vy,vz). For -example, for the “sphere” sub-style, “wx”, “wy”, “wz” values would +example, for the "sphere" sub-style, "wx", "wy", "wz" values would appear. These are listed in the same order they appear as listed -above. Thus if

    -
    atom_style hybrid electron sphere
    -
    -
    -

    were used in the input script, each velocity line would have these -fields:

    -
    atom-ID vx vy vz ervel wx wy wz
    -
    -
    -

    Translational velocities can also be set by the -velocity command in the input script.

    -
  • -
    -
    -

    Restrictions¶

    -

    To read gzipped data files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    -
    - -
    -

    Default¶

    -

    The default for all the extra keywords is 0.

    -
    - +above. Thus if +

    +
    atom_style hybrid electron sphere 
    +
    +

    were used in the input script, each velocity line would have these +fields: +

    +
    atom-ID vx vy vz ervel wx wy wz 
    +
    +

    Translational velocities can also be set by the +velocity command in the input script. +

    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    To read gzipped data files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making +LAMMPS section of the documentation. +

    +

    Related commands: +

    +

    read_dump, read_restart, +create_atoms, write_data +

    +

    Default: +

    +

    The default for all the extra keywords is 0. +

    + diff --git a/doc/read_dump.html b/doc/read_dump.html index e986e9e9f9..3f1a8b124c 100644 --- a/doc/read_dump.html +++ b/doc/read_dump.html @@ -1,351 +1,268 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - read_dump command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    read_dump command¶

    -
    -

    Syntax¶

    -
    read_dump file Nstep field1 field2 ... keyword values ...
    -
    -
    -
      -
    • file = name of dump file to read
    • -
    • Nstep = snapshot timestep to read from file
    • -
    • one or more fields may be appended
    • -
    -
    -field = x or y or z or vx or vy or vz or q or ix or iy or iz
    -  x,*y*,*z* = atom coordinates
    -  vx,*vy*,*vz* = velocity components
    -  q = charge
    -  ix,*iy*,*iz* = image flags in each dimension
    -
    -
      -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = box or replace or purge or trim or add or label or scaled or wrapped or format
    • -
    -
    -box value = yes or no = replace simulation box with dump box
    -  replace value = yes or no = overwrite atoms with dump atoms
    -  purge value = yes or no = delete all atoms before adding dump atoms
    -  trim value = yes or no = trim atoms not in dump snapshot
    -  add value = yes or no = add new dump atoms to system
    -  label value = field column
    -    field = one of the listed fields or id or type
    +
    +
    +
    + +

    read_dump command +

    +

    Syntax: +

    +
    read_dump file Nstep field1 field2 ... keyword values ... 
    +
    +
    • file = name of dump file to read + +
    • Nstep = snapshot timestep to read from file + +
    • one or more fields may be appended + +
      field = x or y or z or vx or vy or vz or q or ix or iy or iz
      +  x,y,z = atom coordinates
      +  vx,vy,vz = velocity components
      +  q = charge
      +  ix,iy,iz = image flags in each dimension 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = box or replace or purge or trim or add or label or scaled or wrapped or format + +
        box value = yes or no = replace simulation box with dump box
      +  replace value = yes or no = overwrite atoms with dump atoms
      +  purge value = yes or no = delete all atoms before adding dump atoms
      +  trim value = yes or no = trim atoms not in dump snapshot
      +  add value = yes or no = add new dump atoms to system
      +  label value = field column
      +    field = one of the listed fields or id or type
           column = label on corresponding column in dump file
      -  scaled value = yes or no = coords in dump file are scaled/unscaled
      -  wrapped value = yes or no = coords in dump file are wrapped/unwrapped
      -  format values = format of dump file, must be last keyword if used
      -    native = native LAMMPS dump file
      -    xyz = XYZ file
      -    molfile style path = VMD molfile plugin interface
      -      style = dcd or xyz or others supported by molfile plugins
      -      path = optional path for location of molfile plugins
      -
      -
    -
    -

    Examples¶

    -
    read_dump dump.file 5000 x y z
    +  scaled value = yes or no = coords in dump file are scaled/unscaled
    +  wrapped value = yes or no = coords in dump file are wrapped/unwrapped
    +  format values = format of dump file, must be last keyword if used
    +    native = native LAMMPS dump file
    +    xyz = XYZ file
    +    molfile style path = VMD molfile plugin interface
    +      style = dcd or xyz or others supported by molfile plugins
    +      path = optional path for location of molfile plugins 
    +
    + + +

    Examples: +

    +
    read_dump dump.file 5000 x y z
     read_dump dump.xyz 5 x y z box no format xyz
    -read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins"
    +read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins"
     read_dump dump.dcd 0 x y z box yes format molfile dcd
     read_dump dump.file 1000 x y z vx vy vz box yes format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile
     read_dump dump.file 5000 x y vx vy trim yes
    -read_dump ../run7/dump.file.gz 10000 x y z box yes
    +read_dump ../run7/dump.file.gz 10000 x y z box yes 
     read_dump dump.xyz 10 x y z box no format molfile xyz ../plugins
     read_dump dump.dcd 0 x y z format molfile dcd
    -read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile
    -
    -
    -
    -
    -

    Description¶

    -

    Read atom information from a dump file to overwrite the current atom +read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile + +

    Description: +

    +

    Read atom information from a dump file to overwrite the current atom coordinates, and optionally the atom velocities and image flags and the simluation box dimensions. This is useful for restarting a run from a particular snapshot in a dump file. See the -read_restart and read_data +read_restart and read_data commands for alternative methods to do this. Also see the -rerun command for a means of reading multiple snapshots -from a dump file.

    -

    Note that a simulation box must already be defined before using the +rerun command for a means of reading multiple snapshots +from a dump file. +

    +

    Note that a simulation box must already be defined before using the read_dump command. This can be done by the -create_box, read_data, or -read_restart commands. The read_dump command can -reset the simulation box dimensions, as explained below.

    -

    Also note that reading per-atom information from a dump snapshot is +create_box, read_data, or +read_restart commands. The read_dump command can +reset the simulation box dimensions, as explained below. +

    +

    Also note that reading per-atom information from a dump snapshot is limited to the atom coordinates, velocities and image flags, as explained below. Other atom properties, which may be necessary to run a valid simulation, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual -way, e.g. in a data file read in by a read_data -command, before using the read_dump command, or by the set -command, after the dump snapshot is read.

    -
    -

    If the dump filename specified as file ends with ”.gz”, the dump +way, e.g. in a data file read in by a read_data +command, before using the read_dump command, or by the set +command, after the dump snapshot is read. +

    +
    + +

    If the dump filename specified as file ends with ".gz", the dump file is read in gzipped format. You cannot (yet) read a dump file -that was written in binary format with a ”.bin” suffix, or to multiple -files via the “%” option in the dump file name. See the -dump command for details.

    -

    The format of the dump file is selected through the format keyword. +that was written in binary format with a ".bin" suffix, or to multiple +files via the "%" option in the dump file name. See the +dump command for details. +

    +

    The format of the dump file is selected through the format keyword. If specified, it must be the last keyword used, since all remaining -arguments are passed on to the dump reader. The native format is -for native LAMMPS dump files, written with a dump atom or -dump custom command. The xyz format is for generic XYZ -formatted dump files. These formats take no additional values.

    -

    The molfile format supports reading data through using the VMD +arguments are passed on to the dump reader. The native format is +for native LAMMPS dump files, written with a dump atom or +dump custom command. The xyz format is for generic XYZ +formatted dump files. These formats take no additional values. +

    +

    The molfile format supports reading data through using the VMD molfile plugin interface. This dump reader format is only available, if the USER-MOLFILE package has been installed when compiling -LAMMPS.

    -

    The molfile format takes one or two additional values. The style +LAMMPS. +

    +

    The molfile format takes one or two additional values. The style value determines the file format to be used and can be any format that the molfile plugins support, such as DCD or XYZ. Note that DCD dump -files can be written by LAMMPS via the dump dcd command. -The path value specifies a list of directories which LAMMPS will -search for the molfile plugins appropriate to the specified style. -The syntax of the path value is like other search paths: it can +files can be written by LAMMPS via the dump dcd command. +The path value specifies a list of directories which LAMMPS will +search for the molfile plugins appropriate to the specified style. +The syntax of the path value is like other search paths: it can contain multiple directories separated by a colon (or semi-colon on -windows). The path keyword is optional and defaults to ”.”, -i.e. the current directory.

    -

    Support for other dump format readers may be added in the future.

    -
    -

    Global information is first read from the dump file, namely timestep -and box information.

    -

    The dump file is scanned for a snapshot with a time stamp that matches -the specified Nstep. This means the LAMMPS timestep the dump file -snapshot was written on for the native format. Note that the xyz -and molfile formats do not store the timestep. For these formats, +windows). The path keyword is optional and defaults to ".", +i.e. the current directory. +

    +

    Support for other dump format readers may be added in the future. +

    +
    + +

    Global information is first read from the dump file, namely timestep +and box information. +

    +

    The dump file is scanned for a snapshot with a time stamp that matches +the specified Nstep. This means the LAMMPS timestep the dump file +snapshot was written on for the native format. Note that the xyz +and molfile formats do not store the timestep. For these formats, timesteps are numbered logically, in a sequential manner, starting -from 0. Thus to access the 10th snapshot in an xyz or mofile -formatted dump file, use Nstep = 9.

    -

    The dimensions of the simulation box for the selected snapshot are -also read; see the box keyword discussion below. For the native +from 0. Thus to access the 10th snapshot in an xyz or mofile +formatted dump file, use Nstep = 9. +

    +

    The dimensions of the simulation box for the selected snapshot are +also read; see the box keyword discussion below. For the native format, an error is generated if the snapshot is for a triclinic box and the current simulation box is orthogonal or vice versa. A warning will be generated if the snapshot box boundary conditions (periodic, shrink-wrapped, etc) do not match the current simulation boundary conditions, but the boundary condition information in the snapshot is -otherwise ignored. See the “boundary” command for more details.

    -

    For the xyz format, no information about the box is available, so -you must set the box flag to no. See details below.

    -

    For the molfile format, reading simulation box information is +otherwise ignored. See the "boundary" command for more details. +

    +

    For the xyz format, no information about the box is available, so +you must set the box flag to no. See details below. +

    +

    For the molfile format, reading simulation box information is typically supported, but the location of the simulation box origin is lost and no explicit information about periodicity or orthogonal/triclinic box shape is available. The USER-MOLFILE package makes a best effort to guess based on heuristics, but this may not -always work perfectly.

    -
    -

    Per-atom information from the dump file snapshot is then read from the -dump file snapshot. This corresponds to the specified fields listed +always work perfectly. +

    +
    + +

    Per-atom information from the dump file snapshot is then read from the +dump file snapshot. This corresponds to the specified fields listed in the read_dump command. It is an error to specify a z-dimension -field, namely z, vz, or iz, for a 2d simulation.

    -

    For dump files in native format, each column of per-atom data has a +field, namely z, vz, or iz, for a 2d simulation. +

    +

    For dump files in native format, each column of per-atom data has a text label listed in the file. A matching label for each field must -appear, e.g. the label “vy” for the field vy. For the x, y, z -fields any of the following labels are considered a match:

    -
    -x, xs, xu, xsu for field x
    -y, ys, yu, ysu for field y
    -z, zs, zu, zsu for field z
    -
    -

    The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and -unwrapped) is explained on the dump command doc page. +appear, e.g. the label "vy" for the field vy. For the x, y, z +fields any of the following labels are considered a match: +

    +
    x, xs, xu, xsu for field x
    +y, ys, yu, ysu for field y
    +z, zs, zu, zsu for field z 
    +
    +

    The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and +unwrapped) is explained on the dump command doc page. These labels are searched for in the list of column labels in the dump -file, in order, until a match is found.

    -

    The dump file must also contain atom IDs, with a column label of “id”.

    -

    If the add keyword is specified with a value of yes, as discussed +file, in order, until a match is found. +

    +

    The dump file must also contain atom IDs, with a column label of "id". +

    +

    If the add keyword is specified with a value of yes, as discussed below, the dump file must contain atom types, with a column label of -“type”.

    -

    If a column label you want to read from the dump file is not a match -to a specified field, the label keyword can be used to specify the +"type". +

    +

    If a column label you want to read from the dump file is not a match +to a specified field, the label keyword can be used to specify the specific column label from the dump file to associate with that field. An example is if a time-averaged coordinate is written to the dump -file via the fix ave/atom command. The column -will then have a label corresponding to the fix-ID rather than “x” or -“xs”. The label keyword can also be used to specify new column -labels for fields id and type.

    -

    For dump files in xyz format, only the x, y, and z fields are +file via the fix ave/atom command. The column +will then have a label corresponding to the fix-ID rather than "x" or +"xs". The label keyword can also be used to specify new column +labels for fields id and type. +

    +

    For dump files in xyz format, only the x, y, and z fields are supported. The dump file does not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms is consistent from snapshot to snapshot in the the XYZ dump file. See -the dump_modify sort command if the XYZ dump file -was written by LAMMPS.

    -

    For dump files in molfile format, the x, y, z, vx, vy, and -vz fields can be specified. However, not all molfile formats store +the dump_modify sort command if the XYZ dump file +was written by LAMMPS. +

    +

    For dump files in molfile format, the x, y, z, vx, vy, and +vz fields can be specified. However, not all molfile formats store velocities, or their respective plugins may not support reading of velocities. The molfile dump files do not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms are consistent from snapshot to snapshot in the the molfile dump file. -See the dump_modify sort command if the dump file -was written by LAMMPS.

    -
    -

    Information from the dump file snapshot is used to overwrite or +See the dump_modify sort command if the dump file +was written by LAMMPS. +

    +
    + +

    Information from the dump file snapshot is used to overwrite or replace properties of the current system. There are various options for how this is done, determined by the specified fields and optional -keywords.

    -

    The timestep of the snapshot becomes the current timestep for the -simulation. See the reset_timestep command if -you wish to change this after the dump snapshot is read.

    -

    If the box keyword is specified with a yes value, then the current +keywords. +

    +

    The timestep of the snapshot becomes the current timestep for the +simulation. See the reset_timestep command if +you wish to change this after the dump snapshot is read. +

    +

    If the box keyword is specified with a yes value, then the current simulation box dimensions are replaced by the dump snapshot box -dimensions. If the box keyword is specified with a no value, the -current simulatoin box is unchanged.

    -

    If the purge keyword is specified with a yes value, then all +dimensions. If the box keyword is specified with a no value, the +current simulatoin box is unchanged. +

    +

    If the purge keyword is specified with a yes value, then all current atoms in the system are deleted before any of the operations -invoked by the replace, trim, or add keywords take place.

    -

    If the replace keyword is specified with a yes value, then atoms +invoked by the replace, trim, or add keywords take place. +

    +

    If the replace keyword is specified with a yes value, then atoms with IDs that are in both the current system and the dump snapshot -have their properties overwritten by field values. If the replace -keyword is specified with a no value, atoms with IDs that are in -both the current system and the dump snapshot are not modified.

    -

    If the trim keyword is specified with a yes value, then atoms with +have their properties overwritten by field values. If the replace +keyword is specified with a no value, atoms with IDs that are in +both the current system and the dump snapshot are not modified. +

    +

    If the trim keyword is specified with a yes value, then atoms with IDs that are in the current system but not in the dump snapshot are -deleted. These atoms are unaffected if the trim keyword is -specified with a no value.

    -

    If the add keyword is specified with a yes value, then atoms with +deleted. These atoms are unaffected if the trim keyword is +specified with a no value. +

    +

    If the add keyword is specified with a yes value, then atoms with IDs that are in the dump snapshot, but not in the current system are -added to the system. These dump atoms are ignored if the add -keyword is specified with a no value.

    -

    Note that atoms added via the add keyword will have only the -attributes read from the dump file due to the field arguments. If -x or y or z is not specified as a field, a value of 0.0 is used +added to the system. These dump atoms are ignored if the add +keyword is specified with a no value. +

    +

    Note that atoms added via the add keyword will have only the +attributes read from the dump file due to the field arguments. If +x or y or z is not specified as a field, a value of 0.0 is used for added atoms. Added atoms must have an atom type, so this value -must appear in the dump file.

    -

    Any other attributes (e.g. charge or particle diameter for spherical +must appear in the dump file. +

    +

    Any other attributes (e.g. charge or particle diameter for spherical particles) will be set to default values, the same as if the -create_atoms command were used.

    -

    Note that atom IDs are not preserved for new dump snapshot atoms added -via the add keyword. The procedure for assigning new atom IDS to +create_atoms command were used. +

    +

    Note that atom IDs are not preserved for new dump snapshot atoms added +via the add keyword. The procedure for assigning new atom IDS to added atoms is the same as is described for the -create_atoms command.

    -
    -

    Atom coordinates read from the dump file are first converted into +create_atoms command. +

    +
    + +

    Atom coordinates read from the dump file are first converted into unscaled coordinates, relative to the box dimensions of the snapshot. These coordinates are then be assigned to an existing or new atom in the current simulation. The coordinates will then be remapped to the @@ -354,124 +271,66 @@ box. If periodic boundary conditions apply, this means the atom will be remapped back into the simulation box if necessary. If shrink-wrap boundary conditions apply, the new coordinates may change the simulation box dimensions. If fixed boundary conditions apply, the -atom will be lost if it is outside the simulation box.

    -

    For native format dump files, the 3 xyz image flags for an atom in +atom will be lost if it is outside the simulation box. +

    +

    For native format dump files, the 3 xyz image flags for an atom in the dump file are set to the corresponding values appearing in the -dump file if the ix, iy, iz fields are specified. If not +dump file if the ix, iy, iz fields are specified. If not specified, the image flags for replaced atoms are not changed and image flags for new atoms are set to default values. If coordinates -read from the dump file are in unwrapped format (e.g. xu) then the +read from the dump file are in unwrapped format (e.g. xu) then the image flags for read-in atoms are also set to default values. The remapping procedure described in the previous paragraph will then change images flags for all atoms (old and new) if periodic boundary -conditions are applied to remap an atom back into the simulation box.

    -
    -

    Warning

    -

    If you get a warning about inconsistent image flags +conditions are applied to remap an atom back into the simulation box. +

    +

    IMPORTANT NOTE: If you get a warning about inconsistent image flags after reading in a dump snapshot, it means one or more pairs of bonded -atoms now have inconsistent image flags. As discussed in Section errors this may or may not cause problems for +atoms now have inconsistent image flags. As discussed in Section +errors this may or may not cause problems for subsequent simulations, One way this can happen is if you read image flag fields from the dump file but do not also use the dump file box -parameters.

    -
    -

    LAMMPS knows how to compute unscaled and remapped coordinates for the -snapshot column labels discussed above, e.g. x, xs, xu, xsu. -If another column label is assigned to the x or y or z field via -the label keyword, e.g. for coordinates output by the fix ave/atom command, then LAMMPS needs to know whether +parameters. +

    +

    LAMMPS knows how to compute unscaled and remapped coordinates for the +snapshot column labels discussed above, e.g. x, xs, xu, xsu. +If another column label is assigned to the x or y or z field via +the label keyword, e.g. for coordinates output by the fix +ave/atom command, then LAMMPS needs to know whether the coordinate information in the dump file is scaled and/or wrapped. -This can be set via the scaled and wrapped keywords. Note that -the value of the scaled and wrapped keywords is ignored for fields -x or y or z if the label keyword is not used to assign a -column label to that field.

    -

    The scaled/unscaled and wrapped/unwrapped setting must be identical -for any of the x, y, z fields that are specified. Thus you -cannot read xs and yu from the dump file. Also, if the dump file +This can be set via the scaled and wrapped keywords. Note that +the value of the scaled and wrapped keywords is ignored for fields +x or y or z if the label keyword is not used to assign a +column label to that field. +

    +

    The scaled/unscaled and wrapped/unwrapped setting must be identical +for any of the x, y, z fields that are specified. Thus you +cannot read xs and yu from the dump file. Also, if the dump file coordinates are scaled and the simulation box is triclinic, then all 3 -of the x, y, z fields must be specified, since they are all -needed to generate absolute, unscaled coordinates.

    -
    -
    -
    -

    Restrictions¶

    -

    To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    -

    The molfile dump file formats are part of the USER-MOLFILE package. +of the x, y, z fields must be specified, since they are all +needed to generate absolute, unscaled coordinates. +

    +
    + +

    Restrictions: +

    +

    To read gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making +LAMMPS section of the documentation. +

    +

    The molfile dump file formats are part of the USER-MOLFILE package. They are only enabled if LAMMPS was built with that packages. See the -Making LAMMPS section for more info.

    -
    - -
    -

    Default¶

    -

    The option defaults are box = yes, replace = yes, purge = no, trim = -no, add = no, scaled = no, wrapped = yes, and format = native.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +Making LAMMPS section for more info. +

    +

    Related commands: +

    +

    dump, dump molfile, +read_data, read_restart, +rerun +

    +

    Default: +

    +

    The option defaults are box = yes, replace = yes, purge = no, trim = +no, add = no, scaled = no, wrapped = yes, and format = native. +

    + diff --git a/doc/read_restart.html b/doc/read_restart.html index 5b3bcb2a46..66afe6a1b6 100644 --- a/doc/read_restart.html +++ b/doc/read_restart.html @@ -1,154 +1,36 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - read_restart command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    read_restart command¶

    -
    -

    Syntax¶

    -
    read_restart file flag
    -
    -
    -
      -
    • file = name of binary restart file to read in
    • -
    • flag = remap (optional)
    • -
    -
    -
    -

    Examples¶

    -
    read_restart save.10000
    +
    +
    +
    + +

    read_restart command +

    +

    Syntax: +

    +
    read_restart file flag 
    +
    +
    • file = name of binary restart file to read in +
    • flag = remap (optional) +
    +

    Examples: +

    +
    read_restart save.10000
     read_restart save.10000 remap
     read_restart restart.*
     read_restart restart.*.mpiio
    -read_restart poly.*.% remap
    -
    -
    -
    -
    -

    Description¶

    -

    Read in a previously saved system configuration from a restart file. +read_restart poly.*.% remap + +

    +
    +

    Description: +

    +

    Read in a previously saved system configuration from a restart file. This allows continuation of a previous run. Details about what information is stored (and not stored) in a restart file is given below. Basically this operation will re-create the simulation box @@ -157,225 +39,185 @@ settings, at the point in time it was written to the restart file by a previous simluation. The simulation box will be partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors in the current simulation and the settings of the -processors command. The partitioning can later be -changed by the balance or fix balance commands.

    -
    -

    Warning

    -

    Normally, restart files are written by the -restart or write_restart commands +processors command. The partitioning can later be +changed by the balance or fix +balance commands. +

    +

    IMPORTANT NOTE: Normally, restart files are written by the +restart or write_restart commands so that all atoms in the restart file are inside the simulation box. If this is not the case, the read_restart command will print an error -that atoms were “lost” when the file is read. This error should be +that atoms were "lost" when the file is read. This error should be reported to the LAMMPS developers so the invalid writing of the restart file can be fixed. If you still wish to use the restart file, -the optional remap flag can be appended to the read_restart command. +the optional remap flag can be appended to the read_restart command. This should avoid the error, by explicitly remapping each atom back into -the simulation box, updating image flags for the atom appropriately.

    -
    -

    Restart files are saved in binary format to enable exact restarts, +the simulation box, updating image flags for the atom appropriately. +

    +

    Restart files are saved in binary format to enable exact restarts, meaning that the trajectories of a restarted run will precisely match -those produced by the original run had it continued on.

    -

    Several things can prevent exact restarts due to round-off effects, in +those produced by the original run had it continued on. +

    +

    Several things can prevent exact restarts due to round-off effects, in which case the trajectories in the 2 runs will slowly diverge. These include running on a different number of processors or changing -certain settings such as those set by the newton or -processors commands. LAMMPS will issue a warning in -these cases.

    -

    Certain fixes will not restart exactly, though they should provide -statistically similar results. These include fix shake and fix langevin.

    -

    Certain pair styles will not restart exactly, though they should +certain settings such as those set by the newton or +processors commands. LAMMPS will issue a warning in +these cases. +

    +

    Certain fixes will not restart exactly, though they should provide +statistically similar results. These include fix +shake and fix langevin. +

    +

    Certain pair styles will not restart exactly, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities, which are used at half-step values every timestep when forces are computed. When a run restarts, forces are initially evaluated with a full-step velocity, which is different than if the run had continued. These pair styles include -granular pair styles, pair dpd, and -pair lubricate.

    -

    If a restarted run is immediately different than the run which +granular pair styles, pair dpd, and +pair lubricate. +

    +

    If a restarted run is immediately different than the run which produced the restart file, it could be a LAMMPS bug, so consider -reporting it if you think the behavior is -wrong.

    -

    Because restart files are binary, they may not be portable to other -machines. In this case, you can use the -restart command-line switch to convert a restart file to a data -file.

    -

    Similar to how restart files are written (see the -write_restart and restart +reporting it if you think the behavior is +wrong. +

    +

    Because restart files are binary, they may not be portable to other +machines. In this case, you can use the -restart command-line +switch to convert a restart file to a data +file. +

    +

    Similar to how restart files are written (see the +write_restart and restart commands), the restart filename can contain two wild-card characters. -If a “*” appears in the filename, the directory is searched for all -filenames that match the pattern where “*” is replaced with a timestep +If a "*" appears in the filename, the directory is searched for all +filenames that match the pattern where "*" is replaced with a timestep value. The file with the largest timestep value is read in. Thus, -this effectively means, read the latest restart file. It’s useful if +this effectively means, read the latest restart file. It's useful if you want your script to continue a run from where it left off. See -the run command and its “upto” option for how to specify -the run command so it doesn’t need to be changed either.

    -

    If a “%” character appears in the restart filename, LAMMPS expects a -set of multiple files to exist. The restart and -write_restart commands explain how such sets are -created. Read_restart will first read a filename where “%” is -replaced by “base”. This file tells LAMMPS how many processors +the run command and its "upto" option for how to specify +the run command so it doesn't need to be changed either. +

    +

    If a "%" character appears in the restart filename, LAMMPS expects a +set of multiple files to exist. The restart and +write_restart commands explain how such sets are +created. Read_restart will first read a filename where "%" is +replaced by "base". This file tells LAMMPS how many processors created the set and how many files are in it. Read_restart then reads the additional files. For example, if the restart file was specified as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of -processors that created the restart file.

    -

    Note that P could be the total number of processors in the previous -simulation, or some subset of those processors, if the fileper or -nfile options were used when the restart file was written; see the -restart and write_restart commands +processors that created the restart file. +

    +

    Note that P could be the total number of processors in the previous +simulation, or some subset of those processors, if the fileper or +nfile options were used when the restart file was written; see the +restart and write_restart commands for details. The processors in the current LAMMPS simulation share the work of reading these files; each reads a roughly equal subset of the files. The number of processors which created the set can be different the number of processors in the current LAMMPS simulation. This can be a fast mode of input on parallel machines that support -parallel I/O.

    -

    A restart file can also be read in parallel as one large binary file +parallel I/O. +

    +

    A restart file can also be read in parallel as one large binary file via the MPI-IO library, assuming it was also written with MPI-IO. MPI-IO is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package -installed, e.g.

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform
    -
    -
    -

    Second, use a restart filename which contains ”.mpiio”. Note that it -does not have to end in ”.mpiio”, just contain those characters. +installed, e.g. +

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform 
    +
    +

    Second, use a restart filename which contains ".mpiio". Note that it +does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO.

    -
    -

    A restart file stores the following information about a simulation: -units, atom style and atom style related settings (id, map, -sort), communication settings (mode, cutoff, vel), timestep, +written and read using MPI-IO. +

    +
    + +

    A restart file stores the following information about a simulation: +units, atom style and atom style related settings (id, map, +sort), communication settings (mode, cutoff, vel), timestep, simulation box size and shape and boundary settings, group definitions, per-type atom settings such as mass, per-atom attributes including their group assignments and molecular topology attributes, force field styles and - in most cases - force field coefficients, and -special_bonds settings. This means that commands +special_bonds settings. This means that commands for these quantities do not need to be re-specified in the input script that reads the restart file, though you can redefine settings -after the restart file is read.

    -

    One exception is that some force styles (pair, bond, angle, etc) do +after the restart file is read. +

    +

    One exception is that some force styles (pair, bond, angle, etc) do not store their coefficient info in restart files. Typically these are many-body or tabulated potentials which read their parameters from -separate files; you may need to re-specify the pair style and pair coeff commands in +separate files; you may need to re-specify the pair +style and pair coeff commands in your restart input script. The doc pages for individual pair styles mention if this is the case. This is also true of bond_style hybrid -(and angle_style, dihedral_style, improper_style hybrid).

    -

    All settings made by the pair_modify command, such +(and angle_style, dihedral_style, improper_style hybrid). +

    +

    All settings made by the pair_modify command, such as the shift and tail settings, are stored in the restart file with -the pair style. The one exception is the pair_modify compute setting is not stored, since it is typically -only used for debugging purposes.

    -

    Information about kspace_style settings are not +the pair style. The one exception is the pair_modify +compute setting is not stored, since it is typically +only used for debugging purposes. +

    +

    Information about kspace_style settings are not stored in the restart file. Hence if you wish to use an Ewald or PPPM solver, these commands must be re-issued after the restart file is -read.

    -

    The list of fixes used for a simulation is not stored in +read. +

    +

    The list of fixes used for a simulation is not stored in the restart file. This means the new input script should specify all -fixes it will use. Note that some fixes store an internal “state” +fixes it will use. Note that some fixes store an internal "state" which is written to the restart file. This allows the fix to continue on with its calculations in a restarted simulation. To re-enable such a fix, the fix command in the new input script must use the same fix-ID and group-ID as was used in the input script that wrote the restart file. If a match is found, LAMMPS prints a message indicating that the fix is being re-enabled. If no match is found before the -first run or minimization is performed by the new script, the “state” +first run or minimization is performed by the new script, the "state" information for the saved fix is discarded. See the doc pages for individual fixes for info on which ones can be restarted in this -manner.

    -

    Bond interactions (angle, etc) that have been turned off by the fix shake or delete_bonds command will +manner. +

    +

    Bond interactions (angle, etc) that have been turned off by the fix +shake or delete_bonds command will be written to a restart file as if they are turned on. This means they will need to be turned off again in a new run after the restart -file is read.

    -

    Bonds that are broken (e.g. by a bond-breaking potential) are written +file is read. +

    +

    Bonds that are broken (e.g. by a bond-breaking potential) are written to the restart file as broken bonds with a type of 0. Thus these -bonds will still be broken when the restart file is read.

    -

    Bonds that have been broken by the fix bond/break command have disappeared from the +bonds will still be broken when the restart file is read. +

    +

    Bonds that have been broken by the fix +bond/break command have disappeared from the system. No information about these bonds is written to the restart -file.

    -
    -

    Warning

    -

    No other information is stored in the restart file. +file. +

    +

    IMPORTANT NOTE: No other information is stored in the restart file. This means that an input script that reads a restart file should -specify settings for quantities like timestep size, -thermodynamic, neighbor list +specify settings for quantities like timestep size, +thermodynamic, neighbor list criteria including settings made via the -neigh_modify comand, dump file -output, geometric regions, etc.

    -
    -
    -
    -
    -

    Restrictions¶

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed.

    -
    - -
    +neigh_modify comand, dump file +output, geometric regions, etc. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed. +

    +

    Related commands: +

    +

    read_data, read_dump, +write_restart, restart +

    +

    Default: none +

    + diff --git a/doc/region.html b/doc/region.html index e5a3e983cb..a1a454856c 100644 --- a/doc/region.html +++ b/doc/region.html @@ -1,285 +1,172 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - region command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    region command¶

    -
    -

    Syntax¶

    -
    region ID style args keyword arg ...
    -
    -
    -
      -
    • ID = user-assigned name for the region
    • -
    • style = delete or block or cone or cylinder or plane or prism or sphere or union or intersect
    • -
    -
    -delete = no args
    -  block args = xlo xhi ylo yhi zlo zhi
    +
    +
    +
    + +

    region command +

    +

    Syntax: +

    +
    region ID style args keyword arg ... 
    +
    +
    • ID = user-assigned name for the region + +
    • style = delete or block or cone or cylinder or plane or prism or sphere or union or intersect + +
        delete = no args
      +  block args = xlo xhi ylo yhi zlo zhi
           xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units)
      -  cone args = dim c1 c2 radlo radhi lo hi
      -    dim = x or y or z = axis of cone
      +  cone args = dim c1 c2 radlo radhi lo hi
      +    dim = x or y or z = axis of cone
           c1,c2 = coords of cone axis in other 2 dimensions (distance units)
           radlo,radhi = cone radii at lo and hi end (distance units)
           lo,hi = bounds of cone in dim (distance units)
      -  cylinder args = dim c1 c2 radius lo hi
      -    dim = x or y or z = axis of cylinder
      +  cylinder args = dim c1 c2 radius lo hi
      +    dim = x or y or z = axis of cylinder
           c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
           radius = cylinder radius (distance units)
             radius can be a variable (see below)
           lo,hi = bounds of cylinder in dim (distance units)
      -  plane args = px py pz nx ny nz
      +  plane args = px py pz nx ny nz
           px,py,pz = point on the plane (distance units)
           nx,ny,nz = direction normal to plane (distance units)
      -  prism args = xlo xhi ylo yhi zlo zhi xy xz yz
      +  prism args = xlo xhi ylo yhi zlo zhi xy xz yz
           xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
           xy = distance to tilt y in x direction (distance units)
           xz = distance to tilt z in x direction (distance units)
           yz = distance to tilt z in y direction (distance units)
      -  sphere args = x y z radius
      +  sphere args = x y z radius
           x,y,z = center of sphere (distance units)
           radius = radius of sphere (distance units)
             radius can be a variable (see below)
      -  union args = N reg-ID1 reg-ID2 ...
      +  union args = N reg-ID1 reg-ID2 ...
           N = # of regions to follow, must be 2 or greater
           reg-ID1,reg-ID2, ... = IDs of regions to join together
      -  intersect args = N reg-ID1 reg-ID2 ...
      +  intersect args = N reg-ID1 reg-ID2 ...
           N = # of regions to follow, must be 2 or greater
      -    reg-ID1,reg-ID2, ... = IDs of regions to intersect
      -
      -
        -
      • zero or more keyword/arg pairs may be appended
      • -
      • keyword = side or units or move or rotate
      • -
      -
      -side value = in or out
      -    in = the region is inside the specified geometry
      -    out = the region is outside the specified geometry
      -  units value = lattice or box
      -    lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units
      -  move args = v_x v_y v_z
      +    reg-ID1,reg-ID2, ... = IDs of regions to intersect 
      +
      +
    • zero or more keyword/arg pairs may be appended + +
    • keyword = side or units or move or rotate + +
        side value = in or out
      +    in = the region is inside the specified geometry
      +    out = the region is outside the specified geometry
      +  units value = lattice or box
      +    lattice = the geometry is defined in lattice units
      +    box = the geometry is defined in simulation box units
      +  move args = v_x v_y v_z
           v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time
      -  rotate args = v_theta Px Py Pz Rx Ry Rz
      +  rotate args = v_theta Px Py Pz Rx Ry Rz
           v_theta = equal-style variable for rotaton of region over time (in radians)
           Px,Py,Pz = origin for axis of rotation (distance units)
      -    Rx,Ry,Rz = axis of rotation vector
      -
      -
    -
    -

    Examples¶

    -
    region 1 block -3.0 5.0 INF 10.0 INF INF
    +    Rx,Ry,Rz = axis of rotation vector 
    +
    + + +

    Examples: +

    +
    region 1 block -3.0 5.0 INF 10.0 INF INF
     region 2 sphere 0.0 0.0 0.0 5 side out
     region void cylinder y 2 3 5 -5.0 EDGE units box
     region 1 prism 0 10 0 10 0 10 2 0 0
     region outside union 4 side1 side2 side3 side4
    -region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL
    -
    -
    -
    -
    -

    Description¶

    -

    This command defines a geometric region of space. Various other +region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL + +

    Description: +

    +

    This command defines a geometric region of space. Various other commands use regions. For example, the region can be filled with -atoms via the create_atoms command. Or a bounding +atoms via the create_atoms command. Or a bounding box around the region, can be used to define the simulation box via -the create_box command. Or the atoms in the region -can be identified as a group via the group command, or -deleted via the delete_atoms command. Or the -surface of the region can be used as a boundary wall via the fix wall/region command.

    -

    Commands which use regions typically test whether an atom’s position +the create_box command. Or the atoms in the region +can be identified as a group via the group command, or +deleted via the delete_atoms command. Or the +surface of the region can be used as a boundary wall via the fix +wall/region command. +

    +

    Commands which use regions typically test whether an atom's position is contained in the region or not. For this purpose, coordinates exactly on the region boundary are considered to be interior to the region. This means, for example, for a spherical region, an atom on the sphere surface would be part of the region if the sphere were -defined with the side in keyword, but would not be part of the -region if it were defined using the side out keyword. See more -details on the side keyword below.

    -

    Normally, regions in LAMMPS are “static”, meaning their geometric -extent does not change with time. If the move or rotate keyword -is used, as described below, the region becomes “dynamic”, meaning -it’s location or orientation changes with time. This may be useful, +defined with the side in keyword, but would not be part of the +region if it were defined using the side out keyword. See more +details on the side keyword below. +

    +

    Normally, regions in LAMMPS are "static", meaning their geometric +extent does not change with time. If the move or rotate keyword +is used, as described below, the region becomes "dynamic", meaning +it's location or orientation changes with time. This may be useful, for example, when thermostatting a region, via the compute temp/region command, or when the fix wall/region command uses a region surface as -a bounding wall on particle motion, i.e. a rotating container.

    -

    The delete style removes the named region. Since there is little +a bounding wall on particle motion, i.e. a rotating container. +

    +

    The delete style removes the named region. Since there is little overhead to defining extra regions, there is normally no need to do this, unless you are defining and discarding large numbers of regions -in your input script.

    -

    The lo/hi values for block or cone or cylinder or prism styles +in your input script. +

    +

    The lo/hi values for block or cone or cylinder or prism styles can be specified as EDGE or INF. EDGE means they extend all the way to the global simulation box boundary. Note that this is the current box boundary; if the box changes size during a simulation, the region does not. INF means a large negative or positive number (1.0e20), so it should encompass the simulation box even if it changes size. If a region is defined before the simulation box has been created (via -create_box or read_data or -read_restart commands), then an EDGE or INF -parameter cannot be used. For a prism region, a non-zero tilt +create_box or read_data or +read_restart commands), then an EDGE or INF +parameter cannot be used. For a prism region, a non-zero tilt factor in any pair of dimensions cannot be used if both the lo/hi values in either of those dimensions are INF. E.g. if the xy tilt is -non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi.

    -
    -

    Warning

    -

    Regions in LAMMPS do not get wrapped across periodic -boundaries, as specified by the boundary command. For +non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi. +

    +

    IMPORTANT NOTE: Regions in LAMMPS do not get wrapped across periodic +boundaries, as specified by the boundary command. For example, a spherical region that is defined so that it overlaps a periodic boundary is not treated as 2 half-spheres, one on either side -of the simulation box.

    -
    -
    -

    Warning

    -

    Regions in LAMMPS are always 3d geometric objects, -regardless of whether the dimension of a simulation +of the simulation box. +

    +

    IMPORTANT NOTE: Regions in LAMMPS are always 3d geometric objects, +regardless of whether the dimension of a simulation is 2d or 3d. Thus when using regions in a 2d simulation, you should be careful to define the region so that its intersection with the 2d -x-y plane of the simulation has the 2d geometric extent you want.

    -
    -

    For style cone, an axis-aligned cone is defined which is like a -cylinder except that two different radii (one at each end) can be -defined. Either of the radii (but not both) can be 0.0.

    -

    For style cone and cylinder, the c1,c2 params are coordinates in +x-y plane of the simulation has the 2d geometric extent you want. +

    +

    For style cone, an axis-aligned cone is defined which is like a +cylinder except that two different radii (one at each end) can be +defined. Either of the radii (but not both) can be 0.0. +

    +

    For style cone and cylinder, the c1,c2 params are coordinates in the 2 other dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the third example above specifies a cylinder with its axis in the y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and -extending in the y-direction from -5.0 to the upper box boundary.

    -

    For style plane, a plane is defined which contain the point +extending in the y-direction from -5.0 to the upper box boundary. +

    +

    For style plane, a plane is defined which contain the point (px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does -not have to be of unit length. The “inside” of the plane is the +not have to be of unit length. The "inside" of the plane is the half-space in the direction of the normal vector; see the discussion -of the side option below.

    -

    For style prism, a parallelepiped is defined (it’s too hard to spell +of the side option below. +

    +

    For style prism, a parallelepiped is defined (it's too hard to spell parallelepiped in an input script!). The parallelepiped has its -“origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting +"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values -and are called “tilt factors” because they are the amount of +(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values +and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped.

    -

    A prism region that will be used with the create_box +transform it into the parallelepiped. +

    +

    A prism region that will be used with the create_box command to define a triclinic simulation box must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of corresponding the parallel box length. For example, if xlo = 2 and @@ -288,198 +175,153 @@ between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all -geometrically equivalent.

    -

    The radius value for style sphere and cylinder can be specified -as an equal-style variable. If the value is a +geometrically equivalent. +

    +

    The radius value for style sphere and cylinder can be specified +as an equal-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the radius of the region.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the radius of the region. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent radius.

    -

    See Section_howto 12 of the doc pages +time. Thus it is easy to specify a time-dependent radius. +

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations.

    -

    The union style creates a region consisting of the volume of all the -listed regions combined. The intersect style creates a region -consisting of the volume that is common to all the listed regions.

    -
    -

    Warning

    -

    The union and intersect regions operate by +triclinic representations. +

    +

    The union style creates a region consisting of the volume of all the +listed regions combined. The intersect style creates a region +consisting of the volume that is common to all the listed regions. +

    +

    IMPORTANT NOTE: The union and intersect regions operate by invoking methods from their list of sub-regions. Thus you cannot -delete the sub-regions after defining the union or intersection -region.

    -
    -
    -

    The side keyword determines whether the region is considered to be +delete the sub-regions after defining the union or intersection +region. +

    +
    + +

    The side keyword determines whether the region is considered to be inside or outside of the specified geometry. Using this keyword in -conjunction with union and intersect regions, complex geometries +conjunction with union and intersect regions, complex geometries can be built up. For example, if the interior of two spheres were -each defined as regions, and a union style with side = out was +each defined as regions, and a union style with side = out was constructed listing the region-IDs of the 2 spheres, the resulting region would be all the volume in the simulation box that was outside -both of the spheres.

    -

    The units keyword determines the meaning of the distance units used +both of the spheres. +

    +

    The units keyword determines the meaning of the distance units used to define the region for any argument above listed as having distance units. It also affects the scaling of the velocity vector specfied -with the vel keyword, the amplitude vector specified with the -wiggle keyword, and the rotation point specified with the rotate -keyword, since they each involve a distance metric.

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings which are used as follows:

    -
      -
    • For style block, the lattice spacing in dimension x is applied to +with the vel keyword, the amplitude vector specified with the +wiggle keyword, and the rotation point specified with the rotate +keyword, since they each involve a distance metric. +

      +

      A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings which are used as follows: +

      +
      • For style block, the lattice spacing in dimension x is applied to xlo and xhi, similarly the spacings in dimensions y,z are applied to -ylo/yhi and zlo/zhi.
      • -
      • For style cone, the lattice spacing in argument dim is applied to +ylo/yhi and zlo/zhi. + +
      • For style cone, the lattice spacing in argument dim is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The two cone radii are scaled by the lattice -spacing in the dimension corresponding to c1.
      • -
      • For style cylinder, the lattice spacing in argument dim is applied +spacing in the dimension corresponding to c1. + +
      • For style cylinder, the lattice spacing in argument dim is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The cylinder radius is scaled by the lattice -spacing in the dimension corresponding to c1.
      • -
      • For style plane, the lattice spacing in dimension x is applied to +spacing in the dimension corresponding to c1. + +
      • For style plane, the lattice spacing in dimension x is applied to px and nx, similarly the spacings in dimensions y,z are applied to -py/ny and pz/nz.
      • -
      • For style prism, the lattice spacing in dimension x is applied to +py/ny and pz/nz. + +
      • For style prism, the lattice spacing in dimension x is applied to xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing in dimension x is applied to xy and xz, and the spacing in dimension y -to yz.
      • -
      • For style sphere, the lattice spacing in dimensions x,y,z are +to yz. + +
      • For style sphere, the lattice spacing in dimensions x,y,z are applied to the sphere center x,y,z. The spacing in dimension x is -applied to the sphere radius.
      • -
      -
      -

      If the move or rotate keywords are used, the region is “dynamic”, +applied to the sphere radius. +

    +
    + +

    If the move or rotate keywords are used, the region is "dynamic", meaning its location or orientation changes with time. These keywords -cannot be used with a union or intersect style region. Instead, +cannot be used with a union or intersect style region. Instead, the keywords should be used to make the individual sub-regions of the -union or intersect region dynamic. Normally, each sub-region -should be “dynamic” in the same manner (e.g. rotate around the same -point), though this is not a requirement.

    -

    The move keyword allows one or more equal-style variables to be used to specify the x,y,z displacement +union or intersect region dynamic. Normally, each sub-region +should be "dynamic" in the same manner (e.g. rotate around the same +point), though this is not a requirement. +

    +

    The move keyword allows one or more equal-style +variables to be used to specify the x,y,z displacement of the region, typically as a function of time. A variable is specified as v_name, where name is the variable name. Any of the three variables can be specified as NULL, in which case no -displacement is calculated in that dimension.

    -

    Note that equal-style variables can specify formulas with various -mathematical functions, and include thermo_style +displacement is calculated in that dimension. +

    +

    Note that equal-style variables can specify formulas with various +mathematical functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a region displacement that change as a function of time or spans consecutive runs in a continuous -fashion. For the latter, see the start and stop keywords of the -run command and the elaplong keyword of thermo_style custom for details.

    -

    For example, these commands would displace a region from its initial +fashion. For the latter, see the start and stop keywords of the +run command and the elaplong keyword of thermo_style +custom for details. +

    +

    For example, these commands would displace a region from its initial position, in the positive x direction, effectively at a constant -velocity:

    -
    variable dx equal ramp(0,10)
    -region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL
    -
    -
    -

    Note that the initial displacemet is 0.0, though that is not required.

    -

    Either of these varaibles would “wiggle” the region back and forth in -the y direction:

    -
    variable dy equal swiggle(0,5,100)
    +velocity:
    +

    +
    variable dx equal ramp(0,10)
    +region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL 
    +
    +

    Note that the initial displacemet is 0.0, though that is not required. +

    +

    Either of these varaibles would "wiggle" the region back and forth in +the y direction: +

    +
    variable dy equal swiggle(0,5,100)
     variable dysame equal 5*sin(2*PI*elaplong*dt/100)
    -region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL
    -
    -
    -

    The rotate keyword rotates the region around a rotation axis R = -(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The rotation +region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL + +

    The rotate keyword rotates the region around a rotation axis R = +(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The rotation angle is calculated, presumably as a function of time, by a variable specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along R, then your fingers -wrap around the axis in the direction of rotation.

    -

    The move and rotate keywords can be used together. In this case, -the displacement specified by the move keyword is applied to the P -point of the rotate keyword.

    -
    -
    -

    Restrictions¶

    -

    A prism cannot be of 0.0 thickness in any dimension; use a small z +rule: if your right-hand thumb points along R, then your fingers +wrap around the axis in the direction of rotation. +

    +

    The move and rotate keywords can be used together. In this case, +the displacement specified by the move keyword is applied to the P +point of the rotate keyword. +

    +

    Restrictions: +

    +

    A prism cannot be of 0.0 thickness in any dimension; use a small z thickness for 2d simulations. For 2d simulations, the xz and yz -parameters must be 0.0.

    -
    - -
    -

    Default¶

    -

    The option defaults are side = in, units = lattice, and no move or -rotation.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +parameters must be 0.0. +

    +

    Related commands: +

    +

    lattice, create_atoms, +delete_atoms, group +

    +

    Default: +

    +

    The option defaults are side = in, units = lattice, and no move or +rotation. +

    + diff --git a/doc/replicate.html b/doc/replicate.html index 7940365193..6b1bac3821 100644 --- a/doc/replicate.html +++ b/doc/replicate.html @@ -1,178 +1,60 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - replicate command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    replicate command¶

    -
    -

    Syntax¶

    -
    replicate nx ny nz
    -
    -
    -
      -
    • nx,ny,nz = replication factors in each dimension
    • -
    -
    -
    -

    Examples¶

    -
    replicate 2 3 2
    -
    -
    -
    -
    -

    Description¶

    -

    Replicate the current simulation one or more times in each dimension. + + +


    + +

    replicate command +

    +

    Syntax: +

    +
    replicate nx ny nz 
    +
    +
    • nx,ny,nz = replication factors in each dimension +
    +

    Examples: +

    +
    replicate 2 3 2 
    +
    +

    Description: +

    +

    Replicate the current simulation one or more times in each dimension. For example, replication factors of 2,2,2 will create a simulation with 8x as many atoms by doubling the simulation domain in each dimension. A replication factor of 1 in a dimension leaves the simulation domain unchanged. When the new simulation box is created it is also partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and -the settings of the processors command. The -partitioning can later be changed by the balance or -fix balance commands.

    -

    All properties of the atoms are replicated, including their +the settings of the processors command. The +partitioning can later be changed by the balance or +fix balance commands. +

    +

    All properties of the atoms are replicated, including their velocities, which may or may not be desirable. New atom IDs are assigned to new atoms, as are molecule IDs. Bonds and other topology interactions are created between pairs of new atoms as well as between old and new atoms. This is done by using the image flag for each atom -to “unwrap” it out of the periodic box before replicating it.

    -

    This means that any molecular bond you specify in the original data +to "unwrap" it out of the periodic box before replicating it. +

    +

    This means that any molecular bond you specify in the original data 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.

    -
    -
    -

    Restrictions¶

    -

    A 2d simulation cannot be replicated in the z dimension.

    -

    If a simulation is non-periodic in a dimension, care should be used +unwrapped appropriately. +

    +

    Restrictions: +

    +

    A 2d simulation cannot be replicated in the z dimension. +

    +

    If a simulation is non-periodic in a dimension, care should be used when replicating it in that dimension, as it may put atoms nearly on -top of each other.

    -
    -

    Warning

    -

    You cannot use the replicate command on a system which +top of each other. +

    +

    IMPORTANT NOTE: You cannot use the replicate command on a system which has a molecule that spans the box and is bonded to itself across a periodic boundary, so that the molecule is efffectively a loop. A simple example would be a linear polymer chain that spans the @@ -181,7 +63,8 @@ More realistic examples would be a CNT (meant to be an infinitely long CNT) or a graphene sheet or a bulk periodic crystal where there are explicit bonds specified between near neighbors. (Note that this only applies to systems that have permanent bonds as specified in the data -file. A CNT that is just atoms modeled with the AIREBO potential has no such permanent bonds, so it can be +file. A CNT that is just atoms modeled with the AIREBO +potential has no such permanent bonds, so it can be replicated.) The reason replication does not work with those systems is that the image flag settings described above cannot be made consistent. I.e. it is not possible to define images flags so that @@ -191,87 +74,27 @@ could work in this scenario is for it to break a bond, insert more atoms, and re-connect the loop for the larger simulation box. But it is not clever enough to do this. So you will have to construct a larger version of your molecule as a pre-processing step and input a -new data file to LAMMPS.

    -
    -

    If the current simulation was read in from a restart file (before a +new data file to LAMMPS. +

    +

    If the current simulation was read in from a restart file (before a run is performed), there can have been no fix information stored in the file for individual atoms. Similarly, no fixes can be defined at the time the replicate command is used that require vectors of atom information to be stored. This is because the replicate command does -not know how to replicate that information for new atoms it creates.

    -

    Replicating a system that has rigid bodies (defined via the fix rigid command), either currently defined or that +not know how to replicate that information for new atoms it creates. +

    +

    Replicating a system that has rigid bodies (defined via the fix +rigid command), either currently defined or that created the restart file which was read in before replicating, can cause problems if there is a bond between a pair of rigid bodies that straddle a periodic boundary. This is because the periodic image information for particles in the rigid bodies are set differently than for a non-rigid system and can result in a new bond being created that spans the periodic box. Thus you cannot use the replicate command in -this scenario.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +this scenario. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/rerun.html b/doc/rerun.html index 00e24bba33..8bb6b2951d 100644 --- a/doc/rerun.html +++ b/doc/rerun.html @@ -1,367 +1,210 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - rerun command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    rerun command¶

    -
    -

    Syntax¶

    -
    rerun file1 file2 ... keyword args ...
    -
    -
    -
      -
    • file1,file2,... = dump file(s) to read
    • -
    • one or more keywords may be appended, keyword dump must appear and be last
    • -
    -
    -keyword = first or last or every or skip or start or stop or dump
    - first args = Nfirts
    +
    +
    +
    + +

    rerun command +

    +

    Syntax: +

    +
    rerun file1 file2 ... keyword args ... 
    +
    +
    • file1,file2,... = dump file(s) to read + +
    • one or more keywords may be appended, keyword dump must appear and be last + +
      keyword = first or last or every or skip or start or stop or dump
      + first args = Nfirts
          Nfirst = dump timestep to start on
      - last args = Nlast
      + last args = Nlast
          Nlast = dumptimestep to stop on
      - every args = Nevery
      + every args = Nevery
          Nevery = read snapshots matching every this many timesteps
      - skip args = Nskip
      + skip args = Nskip
          Nskip = read one out of every Nskip snapshots
      - start args = Nstart
      + start args = Nstart
          Nstart = timestep on which pseudo run will start
      - stop args = Nstop
      + stop args = Nstop
          Nstop = timestep to which pseudo run will end
      - dump args = same as read_dump command starting with its field arguments
      -
      -
    -
    -

    Examples¶

    -
    rerun dump.file dump x y z vx vy vz
    + dump args = same as read_dump command starting with its field arguments 
    +
    + + +

    Examples: +

    +
    rerun dump.file dump x y z vx vy vz
     rerun dump1.txt dump2.txt first 10000 every 1000 dump x y z
     rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj
     rerun dump.dcd dump x y z box no format molfile dcd
    -rerun ../run7/dump.file.gz skip 2 dump x y z box yes
    -
    -
    -
    -
    -

    Description¶

    -

    Perform a psuedo simulation run where atom information is read one +rerun ../run7/dump.file.gz skip 2 dump x y z box yes + +

    Description: +

    +

    Perform a psuedo simulation run where atom information is read one snapshot at a time from a dump file(s), and energies and forces are -computed on the shapshot to produce thermodynamic or other output.

    -

    This can be useful in the following kinds of scenarios, after an -initial simulation produced the dump file:

    -
      -
    • Compute the energy and forces of snaphots using a different potential.
    • -
    • Calculate one or more diagnostic quantities on the snapshots that -weren’t computed in the initial run. These can also be computed with +computed on the shapshot to produce thermodynamic or other output. +

      +

      This can be useful in the following kinds of scenarios, after an +initial simulation produced the dump file: +

      +
      • Compute the energy and forces of snaphots using a different potential. + + +
      • Calculate one or more diagnostic quantities on the snapshots that +weren't computed in the initial run. These can also be computed with settings not used in the initial run, e.g. computing an RDF via the -compute rdf command with a longer cutoff than was -used initially.
      • -
      • Calculate the portion of per-atom forces resulting from a subset of +compute rdf command with a longer cutoff than was +used initially. + +
      • Calculate the portion of per-atom forces resulting from a subset of the potential. E.g. compute only Coulombic forces. This can be done by only defining only a Coulombic pair style in the rerun script. Doing this in the original script would result in different (bad) -dynamics.
      • -
      -

      Conceptually, using the rerun command is like running an input script -that has a loop in it (see the next and jump +dynamics. +

    +

    Conceptually, using the rerun command is like running an input script +that has a loop in it (see the next and jump commands). Each iteration of the loop reads one snapshot from the -dump file via the read_dump command, sets the -timestep to the appropriate value, and then invokes a run +dump file via the read_dump command, sets the +timestep to the appropriate value, and then invokes a run command for zero timesteps to simply compute energy and forces, and -any other thermodynamic output or diagnostic info +any other thermodynamic output or diagnostic info you have defined. This computation also invokes any fixes you have -defined that apply constraints to the system, such as fix shake or fix indent.

    -

    Note that a simulation box must already be defined before using the -rerun command. This can be done by the create_box, -read_data, or read_restart -commands.

    -

    Also note that reading per-atom information from dump snapshots is +defined that apply constraints to the system, such as fix +shake or fix indent. +

    +

    Note that a simulation box must already be defined before using the +rerun command. This can be done by the create_box, +read_data, or read_restart +commands. +

    +

    Also note that reading per-atom information from dump snapshots is limited to the atom coordinates, velocities and image flags as -explained in the read_dump command. Other atom +explained in the read_dump command. Other atom properties, which may be necessary to compute energies and forces, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual way, e.g. in -a data file read in by a read_data command, before -using the rerun command.

    -
    -

    If more than one dump file is specified, the dump files are read one +a data file read in by a read_data command, before +using the rerun command. +

    +
    + +

    If more than one dump file is specified, the dump files are read one after the other. It is assumed that snapshot timesteps will be in ascending order. If a snapshot is encountered that is not in -ascending order, it will cause the rerun command to complete.

    -

    The first, last, every, skip keywords determine which +ascending order, it will cause the rerun command to complete. +

    +

    The first, last, every, skip keywords determine which snapshots are read from the dump file(s). Snapshots are skipped until -they have a timestamp >= Nfirst. When a snapshot with a timestamp > -Nlast is encountered, the rerun command finishes. Note below that -the defaults for first and last are to read all snapshots. If the -every keyword is set to a value > 0, then only snapshots with -timestamps that are a multiple of Nevery are read (the first -snapshot is always read). If Nevery = 0, then this criterion is +they have a timestamp >= Nfirst. When a snapshot with a timestamp > +Nlast is encountered, the rerun command finishes. Note below that +the defaults for first and last are to read all snapshots. If the +every keyword is set to a value > 0, then only snapshots with +timestamps that are a multiple of Nevery are read (the first +snapshot is always read). If Nevery = 0, then this criterion is ignored, i.e. every snapshot is read that meets the other criteria. -If the skip keyword is used, then after the first snapshot is read, -every Nth snapshot is read, where N = Nskip. E.g. if Nskip = 3, +If the skip keyword is used, then after the first snapshot is read, +every Nth snapshot is read, where N = Nskip. E.g. if Nskip = 3, then only 1 out of every 3 snapshots is read, assuming the snapshot -timestamp is also consistent with the other criteria.

    -

    The start and stop keywords do not affect which snapshots are read +timestamp is also consistent with the other criteria. +

    +

    The start and stop keywords do not affect which snapshots are read from the dump file(s). Rather, they have the same meaning that they -do for the run command. They only need to be defined if -(a) you are using a fix command that changes some value +do for the run command. They only need to be defined if +(a) you are using a fix command that changes some value over time, and (b) you want the reference point for elapsed time (from -start to stop) to be different than the first and last settings. +start to stop) to be different than the first and last settings. See the doc page for individual fixes to see which ones can be used -with the start/stop keywords. Note that if you define neither of -the start/stop or first/last keywords, then LAMMPS treats the +with the start/stop keywords. Note that if you define neither of +the start/stop or first/last keywords, then LAMMPS treats the pseudo run as going from 0 to a huge value (effectively infinity). This means that any quantity that a fix scales as a fraction of elapsed time in the run, will essentially remain at its intiial value. Also note that an error will occur if you read a snapshot from the -dump file with a timestep value larger than the stop setting you -have specified.

    -

    The dump keyword is required and must be the last keyword specified. -Its arguments are passed internally to the read_dump -command. The first argument following the dump keyword should be -the field1 argument of the read_dump command. See -the read_dump doc page for details on the various +dump file with a timestep value larger than the stop setting you +have specified. +

    +

    The dump keyword is required and must be the last keyword specified. +Its arguments are passed internally to the read_dump +command. The first argument following the dump keyword should be +the field1 argument of the read_dump command. See +the read_dump doc page for details on the various options it allows for extracting information from the dump file snapshots, and for using that information to alter the LAMMPS -simulation.

    -
    -

    In general, a LAMMPS input script that uses a rerun command can +simulation. +

    +
    + +

    In general, a LAMMPS input script that uses a rerun command can include and perform all the usual operations of an input script that -uses the run command. There are a few exceptions and -points to consider, as discussed here.

    -

    Fixes that perform time integration, such as fix nve or -fix npt are not invoked, since no time integration is +uses the run command. There are a few exceptions and +points to consider, as discussed here. +

    +

    Fixes that perform time integration, such as fix nve or +fix npt are not invoked, since no time integration is performed. Fixes that perturb or constrain the forces on atoms will -be invoked, just as they would during a normal run. Examples are fix indent and fix langevin. So you +be invoked, just as they would during a normal run. Examples are fix +indent and fix langevin. So you should think carefully as to whether that makes sense for the manner -in which you are reprocessing the dump snapshots.

    -

    If you only want the rerun script to perform analyses that do not +in which you are reprocessing the dump snapshots. +

    +

    If you only want the rerun script to perform analyses that do not involve pair interactions, such as use compute msd to calculated -displacements over time, you do not need to define a pair style, which may also mean neighbor lists will not -need to be calculated which saves time. The comm_modify cutoff command can also be used to insure ghost +displacements over time, you do not need to define a pair +style, which may also mean neighbor lists will not +need to be calculated which saves time. The comm_modify +cutoff command can also be used to insure ghost atoms are acquired from far enough away for operations like bond and -angle evaluations, if no pair style is being used.

    -

    Every time a snapshot is read, the timestep for the simulation is -reset, as if the reset_timestep command were +angle evaluations, if no pair style is being used. +

    +

    Every time a snapshot is read, the timestep for the simulation is +reset, as if the reset_timestep command were used. This command has some restrictions as to what fixes can be -defined. See its doc page for details. For example, the fix deposit and fix dt/reset fixes +defined. See its doc page for details. For example, the fix +deposit and fix dt/reset fixes are in this category. They also make no sense to use with a rerun -command.

    -

    If time-averaging fixes like fix ave/time are +command. +

    +

    If time-averaging fixes like fix ave/time are used, they are invoked on timesteps that are a function of their -Nevery, Nrepeat, and Nfreq settings. As an example, see the -fix ave/time doc page for details. You must +Nevery, Nrepeat, and Nfreq settings. As an example, see the +fix ave/time doc page for details. You must insure those settings are consistent with the snapshot timestamps that are read from the dump file(s). If an averaging fix is not invoked on -a timestep it expects to be, LAMMPS will flag an error.

    -

    The various forms of LAMMPS output, as defined by the -thermo_style, thermo, -dump, and restart commands occur on +a timestep it expects to be, LAMMPS will flag an error. +

    +

    The various forms of LAMMPS output, as defined by the +thermo_style, thermo, +dump, and restart commands occur on specific timesteps. If successvive dump snapshots skip those timesteps, then no output will be produced. E.g. if you request thermodynamic output every 100 steps, but the dump file snapshots are every 1000 steps, then you will only see thermodynamic output every -1000 steps.

    -
    -
    -
    -

    Restrictions¶

    -

    To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    -
    - -
    -

    Default¶

    -

    The option defaults are first = 0, last = a huge value (effectively +1000 steps. +

    +
    + +

    Restrictions: +

    +

    To read gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making +LAMMPS section of the documentation. +

    +

    Related commands: +

    +

    read_dump +

    +

    Default: +

    +

    The option defaults are first = 0, last = a huge value (effectively infinity), start = same as first, stop = same as last, every = 0, skip -= 1;

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file += 1; +

    + diff --git a/doc/reset_timestep.html b/doc/reset_timestep.html index b1120d26ab..5e678cb592 100644 --- a/doc/reset_timestep.html +++ b/doc/reset_timestep.html @@ -1,247 +1,66 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - reset_timestep command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    reset_timestep command¶

    -
    -

    Syntax¶

    -
    reset_timestep N
    -
    -
    -
      -
    • N = timestep number
    • -
    -
    -
    -

    Examples¶

    -
    reset_timestep 0
    -reset_timestep 4000000
    -
    -
    -
    -
    -

    Description¶

    -

    Set the timestep counter to the specified value. This command + + +


    + +

    reset_timestep command +

    +

    Syntax: +

    +
    reset_timestep N 
    +
    +
    • N = timestep number +
    +

    Examples: +

    +
    reset_timestep 0
    +reset_timestep 4000000 
    +
    +

    Description: +

    +

    Set the timestep counter to the specified value. This command normally comes after the timestep has been set by reading a restart -file via the read_restart command, or a previous -simulation advanced the timestep.

    -

    The read_data and create_box -commands set the timestep to 0; the read_restart +file via the read_restart command, or a previous +simulation advanced the timestep. +

    +

    The read_data and create_box +commands set the timestep to 0; the read_restart command sets the timestep to the value it had when the restart file -was written.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -

    This command cannot be used when any fixes are defined that keep track +was written. +

    +

    Restrictions: none +

    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform certain kinds of time-dependent operations. -Examples are the fix deposit and fix dt/reset commands. The former adds atoms on -specific timesteps. The latter keeps track of accumulated time.

    -

    Various fixes use the current timestep to calculate related +Examples are the fix deposit and fix +dt/reset commands. The former adds atoms on +specific timesteps. The latter keeps track of accumulated time. +

    +

    Various fixes use the current timestep to calculate related quantities. If the timestep is reset, this may produce unexpected behavior, but LAMMPS allows the fixes to be defined even if the timestep is reset. For example, commands which thermostat the system, -e.g. fix nvt, allow you to specify a target temperature +e.g. fix nvt, allow you to specify a target temperature which ramps from Tstart to Tstop which may persist over several runs. If you change the timestep, you may induce an instantaneous change in -the target temperature.

    -

    Resetting the timestep clears flags for computes that +the target temperature. +

    +

    Resetting the timestep clears flags for computes that may have calculated some quantity from a previous run. This means these quantity cannot be accessed by a variable in between runs until -a new run is performed. See the variable command for -more details.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +a new run is performed. See the variable command for +more details. +

    +

    Related commands: +

    +

    rerun +

    +

    Default: none +

    + diff --git a/doc/restart.html b/doc/restart.html index e1aedf7dbf..083e74e024 100644 --- a/doc/restart.html +++ b/doc/restart.html @@ -1,246 +1,144 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - restart command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    restart command¶

    -
    -

    Syntax¶

    -
    restart 0
    +
    +
    +
    + +

    restart command +

    +

    Syntax: +

    +
    restart 0
     restart N root keyword value ...
    -restart N file1 file2 keyword value ...
    -
    -
    -
      -
    • N = write a restart file every this many timesteps
    • -
    • N can be a variable (see below)
    • -
    • root = filename to which timestep # is appended
    • -
    • file1,file2 = two full filenames, toggle between them when writing file
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = fileper or nfile
    • -
    -
    -fileper arg = Np
    +restart N file1 file2 keyword value ... 
    +
    +
    • N = write a restart file every this many timesteps + +
    • N can be a variable (see below) + +
    • root = filename to which timestep # is appended + +
    • file1,file2 = two full filenames, toggle between them when writing file + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = fileper or nfile + +
        fileper arg = Np
           Np = write one file for every this many processors
      -  nfile arg = Nf
      -    Nf = write this many files, one from each of Nf processors
      -
      -
    -
    -

    Examples¶

    -
    restart 0
    +  nfile arg = Nf
    +    Nf = write this many files, one from each of Nf processors 
    +
    + + +

    Examples: +

    +
    restart 0
     restart 1000 poly.restart
     restart 1000 poly.restart.mpiio
     restart 1000 restart.*.equil
     restart 10000 poly.%.1 poly.%.2 nfile 10
    -restart v_mystep poly.restart
    -
    -
    -
    -
    -

    Description¶

    -

    Write out a binary restart file with the current state of the +restart v_mystep poly.restart + +

    Description: +

    +

    Write out a binary restart file with the current state of the simulation every so many timesteps, in either or both of two modes, as a run proceeds. A value of 0 means do not write out any restart files. The two modes are as follows. If one filename is specified, a series of filenames will be created which include the timestep in the filename. If two filenames are specified, only 2 restart files will be created, with those names. LAMMPS will toggle between the 2 names -as it writes successive restart files.

    -

    Note that you can specify the restart command twice, once with a +as it writes successive restart files. +

    +

    Note that you can specify the restart command twice, once with a single filename and once with two filenames. This would allow you, for example, to write out archival restart files every 100000 steps using a single filenname, and more frequent temporary restart files every 1000 steps, using two filenames. Using restart 0 will turn off -both modes of output.

    -

    Similar to dump files, the restart filename(s) can contain -two wild-card characters.

    -

    If a “*” appears in the single filename, it is replaced with the +both modes of output. +

    +

    Similar to dump files, the restart filename(s) can contain +two wild-card characters. +

    +

    If a "*" appears in the single filename, it is replaced with the current timestep value. This is only recognized when a single filename is used (not when toggling back and forth). Thus, the 3rd example above creates restart files as follows: restart.1000.equil, -restart.2000.equil, etc. If a single filename is used with no “*”, +restart.2000.equil, etc. If a single filename is used with no "*", then the timestep value is appended. E.g. the 2nd example above creates restart files as follows: poly.restart.1000, -poly.restart.2000, etc.

    -

    If a “%” character appears in the restart filename(s), then one file -is written for each processor and the “%” character is replaced with -the processor ID from 0 to P-1. An additional file with the “%” -replaced by “base” is also written, which contains global information. +poly.restart.2000, etc. +

    +

    If a "%" character appears in the restart filename(s), then one file +is written for each processor and the "%" character is replaced with +the processor ID from 0 to P-1. An additional file with the "%" +replaced by "base" is also written, which contains global information. For example, the files written on step 1000 for filename restart.% would be restart.base.1000, restart.0.1000, restart.1.1000, ..., restart.P-1.1000. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support -parallel I/O. The optional fileper and nfile keywords discussed -below can alter the number of files written.

    -

    The restart file can also be written in parallel as one large binary +parallel I/O. The optional fileper and nfile keywords discussed +below can alter the number of files written. +

    +

    The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g.

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform
    -
    -
    -

    Second, use a restart filename which contains ”.mpiio”. Note that it -does not have to end in ”.mpiio”, just contain those characters. +build LAMMPS with its MPIIO package installed, e.g. +

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform 
    +
    +

    Second, use a restart filename which contains ".mpiio". Note that it +does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO.

    -

    Restart files are written on timesteps that are a multiple of N but +written and read using MPI-IO. +

    +

    Restart files are written on timesteps that are a multiple of N but not on the first timestep of a run or minimization. You can use the -write_restart command to write a restart file +write_restart command to write a restart file before a run begins. A restart file is not written on the last timestep of a run unless it is a multiple of N. A restart file is -written on the last timestep of a minimization if N > 0 and the -minimization converges.

    -

    Instead of a numeric value, N can be specifed as an equal-style variable, which should be specified as v_name, where +written on the last timestep of a minimization if N > 0 and the +minimization converges. +

    +

    Instead of a numeric value, N can be specifed as an equal-style +variable, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a restart file will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and -logfreq() and stride() math functions for equal-style variables, as examples of useful functions to use in +logfreq() and stride() math functions for equal-style +variables, as examples of useful functions to use in this context. Other similar math functions could easily be added as -options for equal-style variables.

    -

    For example, the following commands will write restart files +options for equal-style variables. +

    +

    For example, the following commands will write restart files every step from 1100 to 1200, and could be useful for debugging -a simulation where something goes wrong at step 1163:

    -
    variable     s equal stride(1100,1200,1)
    -restart              v_s tmp.restart
    -
    -
    -
    -

    See the read_restart command for information about -what is stored in a restart file.

    -

    Restart files can be read by a read_restart +a simulation where something goes wrong at step 1163: +

    +
    variable	s equal stride(1100,1200,1)
    +restart		v_s tmp.restart 
    +
    +
    + +

    See the read_restart command for information about +what is stored in a restart file. +

    +

    Restart files can be read by a read_restart command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the -r command-line switch to convert a restart file to a data -file.

    -
    -

    Warning

    -

    Although the purpose of restart files is to enable +another machine. In this case, you can use the -r command-line +switch to convert a restart file to a data +file. +

    +

    IMPORTANT NOTE: Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which @@ -248,104 +146,42 @@ means the new input script must specify any fixes you want to use. Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. See the -read_restart command for information about what is -stored in a restart file.

    -
    -
    -

    The optional nfile or fileper keywords can be used in conjunction -with the “%” wildcard character in the specified restart file name(s). -As explained above, the “%” character causes the restart file to be +read_restart command for information about what is +stored in a restart file. +

    +
    + +

    The optional nfile or fileper keywords can be used in conjunction +with the "%" wildcard character in the specified restart file name(s). +As explained above, the "%" character causes the restart file to be written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors.

    -

    The nfile keyword sets P to the specified Nf value. For example, if +the number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors. +

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file.

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a restart file. +

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file.

    -
    -
    -
    -

    Restrictions¶

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed.

    -
    - -
    -

    Default¶

    -
    restart 0
    -
    -
    -
    -
    +next 3 processors and write it to a restart file. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed. +

    +

    Related commands: +

    +

    write_restart, read_restart +

    +

    Default: +

    +
    restart 0 
    +
    + diff --git a/doc/run.html b/doc/run.html index b7ed152afd..3ccb7bb700 100644 --- a/doc/run.html +++ b/doc/run.html @@ -1,385 +1,215 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - run command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    run command¶

    -
    -

    Syntax¶

    -
    run N keyword values ...
    -
    -
    -
      -
    • N = # of timesteps
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = upto or start or stop or pre or post or every
    • -
    -
    -upto value = none
    -  start value = N1
    +
    +
    +
    + +

    run command +

    +

    Syntax: +

    +
    run N keyword values ... 
    +
    +
    • N = # of timesteps + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = upto or start or stop or pre or post or every + +
        upto value = none
      +  start value = N1
           N1 = timestep at which 1st run started
      -  stop value = N2
      +  stop value = N2
           N2 = timestep at which last run will end
      -  pre value = no or yes
      -  post value = no or yes
      -  every values = M c1 c2 ...
      +  pre value = no or yes
      +  post value = no or yes 
      +  every values = M c1 c2 ...
           M = break the run into M-timestep segments and invoke one or more commands between each segment
           c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes
      -    c1 = NULL means no command will be invoked
      -
      -
    -
    -

    Examples¶

    -
    run 10000
    +    c1 = NULL means no command will be invoked 
    +
    + + +

    Examples: +

    +
    run 10000
     run 1000000 upto
     run 100 start 0 stop 1000
     run 1000 pre no post yes
    -run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'"
    -run 100000 every 1000 NULL
    -
    -
    -
    -
    -

    Description¶

    -

    Run or continue dynamics for a specified number of timesteps.

    -

    When the run style is respa, N refers to outer -loop (largest) timesteps.

    -

    A value of N = 0 is acceptable; only the thermodynamics of the system -are computed and printed without taking a timestep.

    -

    The upto keyword means to perform a run starting at the current +run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'" +run 100000 every 1000 NULL + +

    Description: +

    +

    Run or continue dynamics for a specified number of timesteps. +

    +

    When the run style is respa, N refers to outer +loop (largest) timesteps. +

    +

    A value of N = 0 is acceptable; only the thermodynamics of the system +are computed and printed without taking a timestep. +

    +

    The upto keyword means to perform a run starting at the current timestep up to the specified timestep. E.g. if the current timestep -is 10,000 and “run 100000 upto” is used, then an additional 90,000 +is 10,000 and "run 100000 upto" is used, then an additional 90,000 timesteps will be run. This can be useful for very long runs on a machine that allocates chunks of time and terminate your job when time is exceeded. If you need to restart your script multiple times (reading in the last restart file), you can keep restarting your script with the same run command until the simulation finally -completes.

    -

    The start or stop keywords can be used if multiple runs are being -performed and you want a fix command that changes some +completes. +

    +

    The start or stop keywords can be used if multiple runs are being +performed and you want a fix command that changes some value over time (e.g. temperature) to make the change across the entire set of runs and not just a single run. See the doc page for -individual fixes to see which ones can be used with the start/stop -keywords.

    -

    For example, consider this fix followed by 10 run commands:

    -
    fix       1 all nvt 200.0 300.0 1.0
    -run       1000 start 0 stop 10000
    -run       1000 start 0 stop 10000
    +individual fixes to see which ones can be used with the start/stop
    +keywords.
    +

    +

    For example, consider this fix followed by 10 run commands: +

    +
    fix	     1 all nvt 200.0 300.0 1.0
    +run	     1000 start 0 stop 10000
    +run	     1000 start 0 stop 10000
     ...
    -run       1000 start 0 stop 10000
    -
    -
    -

    The NVT fix ramps the target temperature from 200.0 to 300.0 during a +run 1000 start 0 stop 10000 + +

    The NVT fix ramps the target temperature from 200.0 to 300.0 during a run. If the run commands did not have the start/stop keywords (just -“run 1000”), then the temperature would ramp from 200.0 to 300.0 +"run 1000"), then the temperature would ramp from 200.0 to 300.0 during the 1000 steps of each run. With the start/stop keywords, the -ramping takes place over the 10000 steps of all runs together.

    -

    The pre and post keywords can be used to streamline the setup, +ramping takes place over the 10000 steps of all runs together. +

    +

    The pre and post keywords can be used to streamline the setup, clean-up, and associated output to the screen that happens before and after a run. This can be useful if you wish to do many short runs in succession (e.g. LAMMPS is being called as a library which is doing -other computations between successive short LAMMPS runs).

    -

    By default (pre and post = yes), LAMMPS creates neighbor lists, +other computations between successive short LAMMPS runs). +

    +

    By default (pre and post = yes), LAMMPS creates neighbor lists, computes forces, and imposes fix constraints before every run. And after every run it gathers and prints timings statistics. If a run is just a continuation of a previous run (i.e. no settings are changed), the initial computation is not necessary; the old neighbor list is -still valid as are the forces. So if pre is specified as “no” then +still valid as are the forces. So if pre is specified as "no" then the initial setup is skipped, except for printing thermodynamic info. -Note that if pre is set to “no” for the very 1st run LAMMPS +Note that if pre is set to "no" for the very 1st run LAMMPS performs, then it is overridden, since the initial setup computations -must be done.

    -
    -

    Warning

    -

    If your input script changes the system between 2 +must be done. +

    +

    IMPORTANT NOTE: If your input script changes the system between 2 runs, then the initial setup must be performed to insure the change is recognized by all parts of the code that are affected. Examples are -adding a fix or dump or compute, -changing a neighbor list parameter, or writing +adding a fix or dump or compute, +changing a neighbor list parameter, or writing restart file which can migrate atoms between processors. LAMMPS has no easy way to check if this has happened, but it is an error to use -the pre no option in this case.

    -
    -

    If post is specified as “no”, the full timing summary is skipped; -only a one-line summary timing is printed.

    -

    The every keyword provides a means of breaking a LAMMPS run into a +the pre no option in this case. +

    +

    If post is specified as "no", the full timing summary is skipped; +only a one-line summary timing is printed. +

    +

    The every keyword provides a means of breaking a LAMMPS run into a series of shorter runs. Optionally, one or more LAMMPS commands (c1, c2, ..., cN) will be executed in between the short runs. If used, the -every keyword must be the last keyword, since it has a variable +every keyword must be the last keyword, since it has a variable number of arguments. Each of the trailing arguments is a single LAMMPS command, and each command should be enclosed in quotes, so that the entire command will be treated as a single argument. This will also prevent any variables in the command from being evaluated until it is executed multiple times during the run. Note that if a command -itself needs one of its arguments quoted (e.g. the print +itself needs one of its arguments quoted (e.g. the print command), then you can use a combination of single and double quotes, -as in the example above or below.

    -

    The every keyword is a means to avoid listing a long series of runs +as in the example above or below. +

    +

    The every keyword is a means to avoid listing a long series of runs and interleaving commands in your input script. For example, a -print command could be invoked or a fix could +print command could be invoked or a fix could be redefined, e.g. to reset a thermostat temperature. Or this could be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation -periodically during a long LAMMPS run. See this section of the documentation for info about how -to add new commands to LAMMPS. See this section of the documentation for ideas -about how to couple LAMMPS to other codes.

    -

    With the every option, N total steps are simulated, in shorter runs +periodically during a long LAMMPS run. See this +section of the documentation for info about how +to add new commands to LAMMPS. See this +section of the documentation for ideas +about how to couple LAMMPS to other codes. +

    +

    With the every option, N total steps are simulated, in shorter runs of M steps each. After each M-length run, the specified commands are invoked. If only a single command is specified as NULL, then no -command is invoked. Thus these lines:

    -
    variable q equal x[100]
    -run 6000 every 2000 "print 'Coord = $q'"
    -
    -
    -

    are the equivalent of:

    -
    variable q equal x[100]
    +command is invoked.  Thus these lines:
    +

    +
    variable q equal x[100]
    +run 6000 every 2000 "print 'Coord = $q'" 
    +
    +

    are the equivalent of: +

    +
    variable q equal x[100]
     run 2000
    -print "Coord = $q"
    +print "Coord = $q"
     run 2000
    -print "Coord = $q"
    +print "Coord = $q"
     run 2000
    -print "Coord = $q"
    -
    -
    -

    which does 3 runs of 2000 steps and prints the x-coordinate of a -particular atom between runs. Note that the variable “$q” will -be evaluated afresh each time the print command is executed.

    -

    Note that by using the line continuation character “&”, the run every +print "Coord = $q" + +

    which does 3 runs of 2000 steps and prints the x-coordinate of a +particular atom between runs. Note that the variable "$q" will +be evaluated afresh each time the print command is executed. +

    +

    Note that by using the line continuation character "&", the run every command can be spread across many lines, though it is still a single -command:

    -
    run 100000 every 1000 &
    -  "print 'Minimum value = $a'" &
    -  "print 'Maximum value = $b'" &
    -  "print 'Temp = $c'" &
    -  "print 'Press = $d'"
    -
    -
    -

    If the pre and post options are set to “no” when used with the -every keyword, then the 1st run will do the full setup and the last +command: +

    +
    run 100000 every 1000 &
    +  "print 'Minimum value = $a'" &
    +  "print 'Maximum value = $b'" &
    +  "print 'Temp = $c'" &
    +  "print 'Press = $d'" 
    +
    +

    If the pre and post options are set to "no" when used with the +every keyword, then the 1st run will do the full setup and the last run will print the full timing summary, but these operations will be -skipped for intermediate runs.

    -
    -

    Warning

    -

    You might hope to specify a command that exits the run -by jumping out of the loop, e.g.

    -
    -
    variable t equal temp
    -run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'"
    -
    -
    -

    Unfortunately this will not currently work. The run command simply +skipped for intermediate runs. +

    +

    IMPORTANT NOTE: You might hope to specify a command that exits the run +by jumping out of the loop, e.g. +

    +
    variable t equal temp
    +run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" 
    +
    +

    Unfortunately this will not currently work. The run command simply executes each command one at a time each time it pauses, then continues the run. You can replace the jump command with a simple -quit command and cause LAMMPS to exit during the -middle of a run when the condition is met.

    -
    -
    -

    Restrictions¶

    -

    When not using the upto keyword, the number of specified timesteps N +quit command and cause LAMMPS to exit during the +middle of a run when the condition is met. +

    +

    Restrictions: +

    +

    When not using the upto keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly -more than 2 billion steps (2^31) in a single run. When using upto, +more than 2 billion steps (2^31) in a single run. When using upto, N can be larger than a signed 32-bit integer, however the difference between N and the current timestep must still be no larger than -2^31 steps.

    -

    However, with or without the upto keyword, you can perform +2^31 steps. +

    +

    However, with or without the upto keyword, you can perform successive runs to run a simulation for any number of steps (ok, up to 2^63 total steps). I.e. the timestep counter within LAMMPS is a -64-bit signed integer.

    -
    - -
    -

    Default¶

    -

    The option defaults are start = the current timestep, stop = current -timestep + N, pre = yes, and post = yes.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +64-bit signed integer. +

    +

    Related commands: +

    +

    minimize, run_style, +temper +

    +

    Default: +

    +

    The option defaults are start = the current timestep, stop = current +timestep + N, pre = yes, and post = yes. +

    + diff --git a/doc/run_style.html b/doc/run_style.html index 0e9c499bdc..2e12bbac8c 100644 --- a/doc/run_style.html +++ b/doc/run_style.html @@ -1,303 +1,201 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - run_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    run_style command¶

    -
    -

    Syntax¶

    -
    run_style style args
    -
    -
    -
      -
    • style = verlet or verlet/split or respa or respa/omp
    • -
    -
    -verlet args = none
    -  verlet/split args = none
    -  respa args = N n1 n2 ... keyword values ...
    +
    +
    +
    + +

    run_style command +

    +

    Syntax: +

    +
    run_style style args 
    +
    +
    • style = verlet or verlet/split or respa or respa/omp + +
        verlet args = none
      +  verlet/split args = none
      +  respa args = N n1 n2 ... keyword values ...
           N = # of levels of rRESPA
           n1, n2, ... = loop factor between rRESPA levels (N-1 values)
           zero or more keyword/value pairings may be appended to the loop factors
      -    keyword = bond or angle or dihedral or improper or
      -           pair or inner or middle or outer or hybrid or kspace
      -      bond value = M
      +    keyword = bond or angle or dihedral or improper or
      +	      pair or inner or middle or outer or hybrid or kspace
      +      bond value = M
               M = which level (1-N) to compute bond forces in
      -      angle value = M
      +      angle value = M
               M = which level (1-N) to compute angle forces in
      -      dihedral value = M
      +      dihedral value = M
               M = which level (1-N) to compute dihedral forces in
      -      improper value = M
      +      improper value = M
               M = which level (1-N) to compute improper forces in
      -      pair value = M
      +      pair value = M
               M = which level (1-N) to compute pair forces in
      -      inner values = M cut1 cut2
      +      inner values = M cut1 cut2
               M = which level (1-N) to compute pair inner forces in
      -     cut1 = inner cutoff between pair inner and
      -            pair middle or outer  (distance units)
      -     cut2 = outer cutoff between pair inner and
      -            pair middle or outer  (distance units)
      -      middle values = M cut1 cut2
      +	cut1 = inner cutoff between pair inner and
      +	       pair middle or outer  (distance units)
      +	cut2 = outer cutoff between pair inner and
      +	       pair middle or outer  (distance units)
      +      middle values = M cut1 cut2
               M = which level (1-N) to compute pair middle forces in
      -     cut1 = inner cutoff between pair middle and pair outer (distance units)
      -     cut2 = outer cutoff between pair middle and pair outer (distance units)
      -      outer value = M
      +	cut1 = inner cutoff between pair middle and pair outer (distance units)
      +	cut2 = outer cutoff between pair middle and pair outer (distance units)
      +      outer value = M
               M = which level (1-N) to compute pair outer forces in
      -      hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles
      +      hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles 
               M1 = which level (1-N) to compute the first pair_style hybrid sub-style in
               M2 = which level (1-N) to compute the second pair_style hybrid sub-style in
               ...
      -      kspace value = M
      -        M = which level (1-N) to compute kspace forces in
      -
      -
    -
    -

    Examples¶

    -
    run_style verlet
    +      kspace value = M
    +        M = which level (1-N) to compute kspace forces in 
    +
    + + +

    Examples: +

    +
    run_style verlet
     run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4
    -run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4
    -
    -
    -
    run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3
    -
    -
    -
    -
    -

    Description¶

    -

    Choose the style of time integrator used for molecular dynamics -simulations performed by LAMMPS.

    -

    The verlet style is a standard velocity-Verlet integrator.

    -
    -

    The verlet/split style is also a velocity-Verlet integrator, but it +run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 + +

    run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 
    +
    +

    Description: +

    +

    Choose the style of time integrator used for molecular dynamics +simulations performed by LAMMPS. +

    +

    The verlet style is a standard velocity-Verlet integrator. +

    +
    + +

    The verlet/split style is also a velocity-Verlet integrator, but it splits the force calculation within each timestep over 2 partitions of -processors. See Section_start 6 for an -explanation of the -partition command-line switch.

    -

    Specifically, this style performs all computation except the -kspace_style portion of the force field on the 1st -partition. This include the pair style, bond style, neighbor list building, -fixes including time intergration, and output. The -kspace_style portion of the calculation is -performed on the 2nd partition.

    -

    This is most useful for the PPPM kspace_style when its performance on +processors. See Section_start 6 for an +explanation of the -partition command-line switch. +

    +

    Specifically, this style performs all computation except the +kspace_style portion of the force field on the 1st +partition. This include the pair style, bond +style, neighbor list building, +fixes including time intergration, and output. The +kspace_style portion of the calculation is +performed on the 2nd partition. +

    +

    This is most useful for the PPPM kspace_style when its performance on a large number of processors degrades due to the cost of communication in its 3d FFTs. In this scenario, splitting your P total processors into 2 subsets of processors, P1 in the 1st partition and P2 in the 2nd partition, can enable your simulation to run faster. This is because the long-range forces in PPPM can be calculated at the same time as pair-wise and bonded forces are being calculated, and the FFTs -can actually speed up when running on fewer processors.

    -

    To use this style, you must define 2 partitions where P1 is a multiple +can actually speed up when running on fewer processors. +

    +

    To use this style, you must define 2 partitions where P1 is a multiple of P2. Typically having P1 be 3x larger than P2 is a good choice. The 3d processor layouts in each partition must overlay in the following sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by Py2 by Pz2, then Px1 must be an integer multiple of Px2, and similarly -for Py1 a multiple of Py2, and Pz1 a multiple of Pz2.

    -

    Typically the best way to do this is to let the 1st partition choose -its onn optimal layout, then require the 2nd partition’s layout to +for Py1 a multiple of Py2, and Pz1 a multiple of Pz2. +

    +

    Typically the best way to do this is to let the 1st partition choose +its onn optimal layout, then require the 2nd partition's layout to match the integer multiple constraint. See the -processors command with its part keyword for a way -to control this, e.g.

    -
    procssors * * * part 1 2 multiple
    -
    -
    -

    You can also use the partition command to explicitly +processors command with its part keyword for a way +to control this, e.g. +

    +
    procssors * * * part 1 2 multiple 
    +
    +

    You can also use the partition command to explicitly specity the processor layout on each partition. E.g. for 2 partitions -of 60 and 15 processors each:

    -
    partition yes 1 processors 3 4 5
    -partition yes 2 processors 3 1 5
    -
    -
    -

    When you run in 2-partition mode with the verlet/split style, the +of 60 and 15 processors each: +

    +
    partition yes 1 processors 3 4 5
    +partition yes 2 processors 3 1 5 
    +
    +

    When you run in 2-partition mode with the verlet/split style, the thermodyanmic data for the entire simulation will be output to the log and screen file of the 1st partition, which are log.lammps.0 and -screen.0 by default; see the “-plog and -pscreen command-line -switches”Section_start.html#start_7 to change this. The log and +screen.0 by default; see the "-plog and -pscreen command-line +switches"Section_start.html#start_7 to change this. The log and screen file for the 2nd partition will not contain thermodynamic -output beyone the 1st timestep of the run.

    -

    See Section_accelerate of the manual for -performance details of the speed-up offered by the verlet/split +output beyone the 1st timestep of the run. +

    +

    See Section_accelerate of the manual for +performance details of the speed-up offered by the verlet/split style. One important performance consideration is the assignemnt of logical processors in the 2 partitions to the physical cores of a -parallel machine. The processors command has +parallel machine. The processors command has options to support this, and strategies are discussed in -Section_accelerate of the manual.

    -
    -

    The respa style implements the rRESPA multi-timescale integrator -(Tuckerman) with N hierarchical levels, where level 1 is +Section_accelerate of the manual. +

    +
    + +

    The respa style implements the rRESPA multi-timescale integrator +(Tuckerman) with N hierarchical levels, where level 1 is the innermost loop (shortest timestep) and level N is the outermost loop (largest timestep). The loop factor arguments specify what the looping factor is between levels. N1 specifies the number of iterations of level 1 for a single iteration of level 2, N2 is the iterations of level 2 per iteration of level 3, etc. N-1 looping -parameters must be specified.

    -

    The timestep command sets the timestep for the +parameters must be specified. +

    +

    The timestep command sets the timestep for the outermost rRESPA level. Thus if the example command above for a 4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that -specify number of timesteps (e.g. neigh_modify -parameters, dump every N timesteps, etc) refer to the -outermost timesteps.

    -

    The rRESPA keywords enable you to specify at what level of the +specify number of timesteps (e.g. neigh_modify +parameters, dump every N timesteps, etc) refer to the +outermost timesteps. +

    +

    The rRESPA keywords enable you to specify at what level of the hierarchy various forces will be computed. If not specified, the defaults are that bond forces are computed at level 1 (innermost loop), angle forces are computed where bond forces are, dihedral forces are computed where angle forces are, improper forces are computed where dihedral forces are, pair forces are computed at the outermost level, and kspace forces are computed where pair forces are. -The inner, middle, outer forces have no defaults.

    -

    The inner and middle keywords take additional arguments for +The inner, middle, outer forces have no defaults. +

    +

    The inner and middle keywords take additional arguments for cutoffs that are used by the pairwise force computations. If the 2 -cutoffs for inner are 5.0 and 6.0, this means that all pairs up to +cutoffs for inner are 5.0 and 6.0, this means that all pairs up to 6.0 apart are computed by the inner force. Those between 5.0 and 6.0 have their force go ramped to 0.0 so the overlap with the next regime (middle or outer) is smooth. The next regime (middle or outer) will compute forces for all pairs from 5.0 outward, with those from 5.0 to -6.0 having their value ramped in an inverse manner.

    -

    Only some pair potentials support the use of the inner and middle -and outer keywords. If not, only the pair keyword can be used +6.0 having their value ramped in an inverse manner. +

    +

    Only some pair potentials support the use of the inner and middle +and outer keywords. If not, only the pair keyword can be used with that pair style, meaning all pairwise forces are computed at the same rRESPA level. See the doc pages for individual pair styles for -details.i

    -

    Another variant to use pair potentials in rRESPA is with the hybrid -keyword, which requires the use of a hybrid pair_style +details.i +

    +

    Another variant to use pair potentials in rRESPA is with the hybrid +keyword, which requires the use of a hybrid pair_style In this scenario, different sub-styles of the hybrid pair style are evaluated at different rRESPA levels. Thus the hybrid keyword requires as many level assignments as there are hybrid substyles which designate the respective sub-styles to the rRESPA level according to their order -of definition in the pair_style command. Since the hybrid designates -pair force computations, it is mututally exclusive with either the pair -or the inner/middle/outer keywords.

    -

    When using rRESPA (or for any MD simulation) care must be taken to +of definition in the pair_style command. Since the hybrid designates +pair force computations, it is mututally exclusive with either the pair +or the inner/middle/outer keywords. +

    +

    When using rRESPA (or for any MD simulation) care must be taken to choose a timestep size(s) that insures the Hamiltonian for the chosen ensemble is conserved. For the constant NVE ensemble, total energy -must be conserved. Unfortunately, it is difficult to know a priori +must be conserved. Unfortunately, it is difficult to know a priori how well energy will be conserved, and a fairly long test simulation (~10 ps) is usually necessary in order to verify that no long-term -drift in energy occurs with the trial set of parameters.

    -

    With that caveat, a few rules-of-thumb may be useful in selecting -respa settings. The following applies mostly to biomolecular +drift in energy occurs with the trial set of parameters. +

    +

    With that caveat, a few rules-of-thumb may be useful in selecting +respa settings. The following applies mostly to biomolecular simulations using the CHARMM or a similar all-atom force field, but the concepts are adaptable to other problems. Without SHAKE, bonds involving hydrogen atoms exhibit high-frequency vibrations and require @@ -307,18 +205,19 @@ impropers, and dihedrals can be computed on this innermost 0.5 fmsec step. The outermost timestep cannot be greater than 4.0 fmsec without risking energy drift. Smooth switching of forces between the levels of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 -angstrom “healing distance” (the distance between the outer and inner +angstrom "healing distance" (the distance between the outer and inner cutoffs) works reasonably well. We thus recommend the following -settings for use of the respa style without SHAKE in biomolecular -simulations:

    -
    timestep  4.0
    -run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4
    -
    -
    -

    With these settings, users can expect good energy conservation and -roughly a 2.5 fold speedup over the verlet style with a 0.5 fmsec -timestep.

    -

    If SHAKE is used with the respa style, time reversibility is lost, +settings for use of the respa style without SHAKE in biomolecular +simulations: +

    +
    timestep  4.0
    +run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 
    +
    +

    With these settings, users can expect good energy conservation and +roughly a 2.5 fold speedup over the verlet style with a 0.5 fmsec +timestep. +

    +

    If SHAKE is used with the respa style, time reversibility is lost, but substantially longer time steps can be achieved. For biomolecular simulations using the CHARMM or similar all-atom force field, bonds involving hydrogen atoms exhibit high frequency vibrations and require @@ -328,128 +227,72 @@ the modes are coupled. It is therefore desirable to use SHAKE with respa in order to freeze out these high frequency motions and increase the size of the time steps in the respa hierarchy. The following settings can be used for biomolecular simulations with SHAKE and -rRESPA:

    -
    fix             2 all shake 0.000001 500 0 m 1.0 a 1
    +rRESPA:
    +

    +
    fix             2 all shake 0.000001 500 0 m 1.0 a 1
     timestep        4.0
    -run_style    respa 2 2 inner 1 4.0 5.0 outer 2
    -
    -
    -

    With these settings, users can expect good energy conservation and -roughly a 1.5 fold speedup over the verlet style with SHAKE and a -2.0 fmsec timestep.

    -

    For non-biomolecular simulations, the respa style can be +run_style respa 2 2 inner 1 4.0 5.0 outer 2 + +

    With these settings, users can expect good energy conservation and +roughly a 1.5 fold speedup over the verlet style with SHAKE and a +2.0 fmsec timestep. +

    +

    For non-biomolecular simulations, the respa style can be advantageous if there is a clear separation of time scales - fast and slow modes in the simulation. Even a LJ system can benefit from rRESPA if the interactions are divided by the inner, middle and outer keywords. A 2-fold or more speedup can be obtained while maintaining good energy conservation. In real units, for a pure LJ fluid at liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 -Kcal/mol, the following settings seem to work well:

    -
    timestep  36.0
    -run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3
    -
    -
    -
    -

    The respa/omp styles is a variant of respa adapted for use with -pair, bond, angle, dihedral, improper, or kspace styles with an omp -suffix. It is functionally equivalent to respa but performs additional -operations required for managing omp styles. For more on omp styles -see the Section_accelerate of the manual. +Kcal/mol, the following settings seem to work well: +

    +
    timestep  36.0  
    +run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 
    +
    +
    + +

    The respa/omp styles is a variant of respa adapted for use with +pair, bond, angle, dihedral, improper, or kspace styles with an omp +suffix. It is functionally equivalent to respa but performs additional +operations required for managing omp styles. For more on omp styles +see the Section_accelerate of the manual. Accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues.

    -

    You can specify respa/omp explicitly in your input script, or -you can use the -suffix command-line switch -when you invoke LAMMPS, or you can use the suffix -command in your input script.

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively.

    -
    -
    -
    -

    Restrictions¶

    -

    The verlet/split style can only be used if LAMMPS was built with the -REPLICA package. Correspondingly the respa/omp style is available only -if the USER-OMP package was included. See the Making LAMMPS -section for more info on packages.

    -

    Whenever using rRESPA, the user should experiment with trade-offs in +results, except for round-off and precision issues. +

    +

    You can specify respa/omp explicitly in your input script, or +you can use the -suffix command-line switch +when you invoke LAMMPS, or you can use the suffix +command in your input script. +

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively. +

    +
    + +

    Restrictions: +

    +

    The verlet/split style can only be used if LAMMPS was built with the +REPLICA package. Correspondingly the respa/omp style is available only +if the USER-OMP package was included. See the Making LAMMPS +section for more info on packages. +

    +

    Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are -conserving energy to adequate precision.

    -
    - -
    -

    Default¶

    -
    run_style verlet
    -
    -
    -
    -

    (Tuckerman) Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 -(1992).

    -
    -
    +conserving energy to adequate precision. +

    +

    Related commands: +

    +

    timestep, run +

    +

    Default: +

    +
    run_style verlet 
    +
    +
    + -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Tuckerman) Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 +(1992). +

    + diff --git a/doc/set.html b/doc/set.html index d0c30f8dca..e314b1f62c 100644 --- a/doc/set.html +++ b/doc/set.html @@ -1,219 +1,98 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - set command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    set command¶

    -
    -

    Syntax¶

    -
    set style ID keyword values ...
    -
    -
    -
      -
    • style = atom or type or mol or group or region

      -
    • -
    • ID = atom ID range or type range or mol ID range or group ID or region ID

      -
    • -
    • one or more keyword/value pairs may be appended

      -
    • -
    • -
      keyword = type or type/fraction or mol or x or y or z or charge or dipole or dipole/random or quat or quat/random or diameter or shape or length or tri or theta or angmom or mass or density or volume or image or
      -

      bond or angle or dihedral or improper or -meso_e or meso_cv or meso_rho or i_name or d_name

      -
      -
      -
    • -
    -
    -type value = atom type
    +
    +
    +
    + +

    set command +

    +

    Syntax: +

    +
    set style ID keyword values ... 
    +
    +
    • style = atom or type or mol or group or region + +
    • ID = atom ID range or type range or mol ID range or group ID or region ID + +
    • one or more keyword/value pairs may be appended + +
    • keyword = type or type/fraction or mol or x or y or z or charge or dipole or dipole/random or quat or quat/random or diameter or shape or length or tri or theta or angmom or mass or density or volume or image or + bond or angle or dihedral or improper or + meso_e or meso_cv or meso_rho or i_name or d_name + +
        type value = atom type
           value can be an atom-style variable (see below)
      -  type/fraction values = type fraction seed
      +  type/fraction values = type fraction seed
           type = new atom type
           fraction = fraction of selected atoms to set to new atom type
           seed = random # seed (positive integer)
      -  mol value = molecule ID
      +  mol value = molecule ID
           value can be an atom-style variable (see below)
      -  x,*y*,*z* value = atom coordinate (distance units)
      +  x,y,z value = atom coordinate (distance units)
           value can be an atom-style variable (see below)
      -  charge value = atomic charge (charge units)
      +  charge value = atomic charge (charge units)
           value can be an atom-style variable (see below)
      -  dipole values = x y z
      +  dipole values = x y z
           x,y,z = orientation of dipole moment vector
           any of x,y,z can be an atom-style variable (see below)
      -  dipole/random value = seed Dlen
      +  dipole/random value = seed Dlen
           seed = random # seed (positive integer) for dipole moment orientations
           Dlen = magnitude of dipole moment (dipole units)
      -  quat values = a b c theta
      +  quat values = a b c theta
           a,b,c = unit vector to rotate particle around via right-hand rule
           theta = rotation angle (degrees)
           any of a,b,c,theta can be an atom-style variable (see below)
      -  quat/random value = seed
      +  quat/random value = seed
           seed = random # seed (positive integer) for quaternion orientations
      -  diameter value = diameter of spherical particle (distance units)
      +  diameter value = diameter of spherical particle (distance units)
           value can be an atom-style variable (see below)
      -  shape value = Sx Sy Sz
      +  shape value = Sx Sy Sz
           Sx,Sy,Sz = 3 diameters of ellipsoid (distance units)
      -  length value = len
      +  length value = len
           len = length of line segment (distance units)
           len can be an atom-style variable (see below)
      -  tri value = side
      +  tri value = side
           side = side length of equilateral triangle (distance units)
           side can be an atom-style variable (see below)
      -  theta value = angle (degrees)
      +  theta value = angle (degrees)
           angle = orientation of line segment with respect to x-axis
           angle can be an atom-style variable (see below)
      -  angmom values = Lx Ly Lz
      +  angmom values = Lx Ly Lz
           Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units)
           any of Lx,Ly,Lz can be an atom-style variable (see below)
      -  mass value = per-atom mass (mass units)
      +  mass value = per-atom mass (mass units)
           value can be an atom-style variable (see below)
      -  density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
      +  density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
           value can be an atom-style variable (see below)
      -  volume value = particle volume for Peridynamic particle (distance^3 units)
      +  volume value = particle volume for Peridynamic particle (distance^3 units)
           value can be an atom-style variable (see below)
      -  image nx ny nz
      +  image nx ny nz
           nx,ny,nz = which periodic image of the simulation box the atom is in
      -  bond value = bond type for all bonds between selected atoms
      -  angle value = angle type for all angles between selected atoms
      -  dihedral value = dihedral type for all dihedrals between selected atoms
      -  improper value = improper type for all impropers between selected atoms
      -  meso_e value = energy of SPH particles (need units)
      +  bond value = bond type for all bonds between selected atoms
      +  angle value = angle type for all angles between selected atoms
      +  dihedral value = dihedral type for all dihedrals between selected atoms
      +  improper value = improper type for all impropers between selected atoms
      +  meso_e value = energy of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  meso_cv value = heat capacity of SPH particles (need units)
      +  meso_cv value = heat capacity of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  meso_rho value = density of SPH particles (need units)
      +  meso_rho value = density of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  i_name value = value for custom integer vector with name
      +  i_name value = value for custom integer vector with name
           value can be an atom-style variable (see below)
      -  d_name value = value for custom floating-point vector with name
      -    value can be an atom-style variable (see below)
      -
      -
    -
    -

    Examples¶

    -
    set group solvent type 2
    +  d_name value = value for custom floating-point vector with name
    +    value can be an atom-style variable (see below) 
    +
    + + +

    Examples: +

    +
    set group solvent type 2
     set group solvent type/fraction 2 0.5 12393
     set group edge bond 4
     set region half charge 0.5
    @@ -221,155 +100,179 @@ set type 3 charge 0.5
     set type 1*3 charge 0.5
     set atom * charge v_atomfile
     set atom 100*200 x 0.5 y 1.0
    -set atom 1492 type 3
    -
    -
    -
    -
    -

    Description¶

    -

    Set one or more properties of one or more atoms. Since atom -properties are initially assigned by the read_data, -read_restart or create_atoms +set atom 1492 type 3 + +

    Description: +

    +

    Set one or more properties of one or more atoms. Since atom +properties are initially assigned by the read_data, +read_restart or create_atoms commands, this command changes those assignments. This can be useful for overriding the default values assigned by the -create_atoms command (e.g. charge = 0.0). It can +create_atoms command (e.g. charge = 0.0). It can be useful for altering pairwise and molecular force interactions, since force-field coefficients are defined in terms of types. It can be used to change the labeling of atoms by atom type or molecule ID -when they are output in dump files. It can also be useful +when they are output in dump files. It can also be useful for debugging purposes; i.e. positioning an atom at a precise location -to compute subsequent forces or energy.

    -

    Note that the style and ID arguments determine which atoms have +to compute subsequent forces or energy. +

    +

    Note that the style and ID arguments determine which atoms have their properties reset. The remaining keywords specify which properties to reset and what the new values are. Some strings like -type or mol can be used as a style and/or a keyword.

    -
    -

    This section describes how to select which atoms to change -the properties of, via the style and ID arguments.

    -

    The style atom selects all the atoms in a range of atom IDs. The -style type selects all the atoms in a range of types. The style -mol selects all the atoms in a range of molecule IDs.

    -

    In each of the range cases, the range can be specified as a single +type or mol can be used as a style and/or a keyword. +

    +
    + +

    This section describes how to select which atoms to change +the properties of, via the style and ID arguments. +

    +

    The style atom selects all the atoms in a range of atom IDs. The +style type selects all the atoms in a range of types. The style +mol selects all the atoms in a range of molecule IDs. +

    +

    In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range -of values. This takes the form “*” or “n” or “n” or “m*n”. For -example, for the style type, if N = the number of atom types, then +of values. This takes the form "*" or "*n" or "n*" or "m*n". For +example, for the style type, if N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). For all the styles except -mol, the lowest value for the wildcard is 1; for mol it is 0.

    -

    The style group selects all the atoms in the specified group. The -style region selects all the atoms in the specified geometric -region. See the group and region commands -for details of how to specify a group or region.

    -
    -

    This section describes the keyword options for which properties to -change, for the selected atoms.

    -

    Note that except where explicitly prohibited below, all of the -keywords allow an atom-style or atomfile-style variable to be used as the specified value(s). If the +mol, the lowest value for the wildcard is 1; for mol it is 0. +

    +

    The style group selects all the atoms in the specified group. The +style region selects all the atoms in the specified geometric +region. See the group and region commands +for details of how to specify a group or region. +

    +
    + +

    This section describes the keyword options for which properties to +change, for the selected atoms. +

    +

    Note that except where explicitly prohibited below, all of the +keywords allow an atom-style or atomfile-style +variable to be used as the specified value(s). If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its resulting per-atom value used to determine the value assigned to each selected atom. Note that the per-atom value from the variable -will be ignored for atoms that are not selected via the style and -ID settings explained above. A simple way to use per-atom values +will be ignored for atoms that are not selected via the style and +ID settings explained above. A simple way to use per-atom values from the variable to reset a property for all atoms is to use style -atom with ID = “*”; this selects all atom IDs.

    -

    Atom-style variables can specify formulas with various mathematical -functions, and include thermo_style command +atom with ID = "*"; this selects all atom IDs. +

    +

    Atom-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. They can also include per-atom values, such as atom coordinates. Thus it is easy to specify a time-dependent or spatially-dependent set of per-atom values. As explained on the -variable doc page, atomfile-style variables can be +variable doc page, atomfile-style variables can be used in place of atom-style variables, and thus as arguments to the set command. Atomfile-style variables read their per-atoms values -from a file.

    -
    -

    Warning

    -

    Atom-style and atomfile-style variables return +from a file. +

    +

    IMPORTANT NOTE: Atom-style and atomfile-style variables return floating point per-atom values. If the values are assigned to an integer variable, such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would -become 2.

    -
    -

    Keyword type sets the atom type for all selected atoms. The +become 2. +

    +

    Keyword type sets the atom type for all selected atoms. The specified value must be from 1 to ntypes, where ntypes was set by the -create_box command or the atom types field in the -header of the data file read by the read_data -command.

    -

    Keyword type/fraction sets the atom type for a fraction of the +create_box command or the atom types field in the +header of the data file read by the read_data +command. +

    +

    Keyword type/fraction sets the atom type for a fraction of the selected atoms. The actual number of atoms changed is not guaranteed to be exactly the requested fraction, but should be statistically close. Random numbers are used in such a way that a particular atom is changed or not changed, regardless of how many processors are being -used. This keyword does not allow use of an atom-style variable.

    -

    Keyword mol sets the molecule ID for all selected atoms. The atom style being used must support the use of molecule -IDs.

    -

    Keywords x, y, z, and charge set the coordinates or charge of -all selected atoms. For charge, the atom style -being used must support the use of atomic charge.

    -

    Keyword dipole uses the specified x,y,z values as components of a +used. This keyword does not allow use of an atom-style variable. +

    +

    Keyword mol sets the molecule ID for all selected atoms. The atom +style being used must support the use of molecule +IDs. +

    +

    Keywords x, y, z, and charge set the coordinates or charge of +all selected atoms. For charge, the atom style +being used must support the use of atomic charge. +

    +

    Keyword dipole uses the specified x,y,z values as components of a vector to set as the orientation of the dipole moment vectors of the selected atoms. The magnitude of the dipole moment is set -by the length of this orientation vector.

    -

    Keyword dipole/random randomizes the orientation of the dipole +by the length of this orientation vector. +

    +

    Keyword dipole/random randomizes the orientation of the dipole moment vectors of the selected atoms and sets the magnitude of each to -the specified Dlen value. For 2d systems, the z component of the +the specified Dlen value. For 2d systems, the z component of the orientation is set to 0.0. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an -atom-style variable.

    -

    Keyword quat uses the specified values to create a quaternion +atom-style variable. +

    +

    Keyword quat uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The -particles must be ellipsoids as defined by the atom_style ellipsoid command or triangles as defined by the -atom_style tri command. Note that particles defined -by atom_style ellipsoid have 3 shape parameters. +particles must be ellipsoids as defined by the atom_style +ellipsoid command or triangles as defined by the +atom_style tri command. Note that particles defined +by atom_style ellipsoid have 3 shape parameters. The 3 values must be non-zero for each particle set by this command. They are used to specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation -box’s x-axis, and similarly for y and z. If this body is rotated (via +box's x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit rotation vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). The theta and a,b,c values are the arguments to the -quat keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +quat keyword. LAMMPS normalizes the quaternion in case (a,b,c) was not specified as a unit vector. For 2d systems, the a,b,c values are -ignored, since a rotation vector of (0,0,1) is the only valid choice.

    -

    Keyword quat/random randomizes the orientation of the quaternion of +ignored, since a rotation vector of (0,0,1) is the only valid choice. +

    +

    Keyword quat/random randomizes the orientation of the quaternion of the selected atoms. The particles must be ellipsoids as defined by -the atom_style ellipsoid command or triangles as -defined by the atom_style tri command. Random +the atom_style ellipsoid command or triangles as +defined by the atom_style tri command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. For 2d systems, only orientations in the xy plane are generated. As -with keyword quat, for ellipsoidal particles, the 3 shape values +with keyword quat, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. This keyword -does not allow use of an atom-style variable.

    -

    Keyword diameter sets the size of the selected atoms. The particles -must be finite-size spheres as defined by the atom_style sphere command. The diameter of a particle can be +does not allow use of an atom-style variable. +

    +

    Keyword diameter sets the size of the selected atoms. The particles +must be finite-size spheres as defined by the atom_style +sphere command. The diameter of a particle can be set to 0.0, which means they will be treated as point particles. Note that this command does not adjust the particle mass, even if it was -defined with a density, e.g. via the read_data -command.

    -

    Keyword shape sets the size and shape of the selected atoms. The -particles must be ellipsoids as defined by the atom_style ellipsoid command. The Sx, Sy, Sz settings are +defined with a density, e.g. via the read_data +command. +

    +

    Keyword shape sets the size and shape of the selected atoms. The +particles must be ellipsoids as defined by the atom_style +ellipsoid command. The Sx, Sy, Sz settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. They can also all be set to 0.0 which means the particle will be treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -read_data command.

    -

    Keyword length sets the length of selected atoms. The particles -must be line segments as defined by the atom_style line command. If the specified value is non-zero the +read_data command. +

    +

    Keyword length sets the length of selected atoms. The particles +must be line segments as defined by the atom_style +line command. If the specified value is non-zero the line segment is (re)set to a length = the specified value, centered around the particle position, with an orientation along the x-axis. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -read_data command.

    -

    Keyword tri sets the size of selected atoms. The particles must be -triangles as defined by the atom_style tri command. +read_data command. +

    +

    Keyword tri sets the size of selected atoms. The particles must be +triangles as defined by the atom_style tri command. If the specified value is non-zero the triangle is (re)set to be an equilateral triangle in the xy plane with side length = the specified value, with a centroid at the particle position, with its base @@ -377,160 +280,113 @@ parallel to the x axis, and the y-axis running from the center of the base to the top point of the triangle. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a -density, e.g. via the read_data command.

    -

    Keyword theta sets the orientation of selected atoms. The particles -must be line segments as defined by the atom_style line command. The specified value is used to set the -orientation angle of the line segments with respect to the x axis.

    -

    Keyword angmom sets the angular momentum of selected atoms. The -particles must be ellipsoids as defined by the atom_style ellipsoid command or triangles as defined by the -atom_style tri command. The angular momentum vector -of the particles is set to the 3 specified components.

    -

    Keyword mass sets the mass of all selected particles. The particles +density, e.g. via the read_data command. +

    +

    Keyword theta sets the orientation of selected atoms. The particles +must be line segments as defined by the atom_style +line command. The specified value is used to set the +orientation angle of the line segments with respect to the x axis. +

    +

    Keyword angmom sets the angular momentum of selected atoms. The +particles must be ellipsoids as defined by the atom_style +ellipsoid command or triangles as defined by the +atom_style tri command. The angular momentum vector +of the particles is set to the 3 specified components. +

    +

    Keyword mass sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the -atom_style command. See the “mass” command for how -to set mass values on a per-type basis.

    -

    Keyword density also sets the mass of all selected particles, but in +atom_style command. See the "mass" command for how +to set mass values on a per-type basis. +

    +

    Keyword density also sets the mass of all selected particles, but in a different way. The particles must have a per-atom mass attribute, -as defined by the atom_style command. If the atom -has a radius attribute (see atom_style sphere) and +as defined by the atom_style command. If the atom +has a radius attribute (see atom_style sphere) and its radius is non-zero, its mass is set from the density and particle -volume. If the atom has a shape attribute (see atom_style ellipsoid) and its 3 shape parameters are non-zero, +volume. If the atom has a shape attribute (see atom_style +ellipsoid) and its 3 shape parameters are non-zero, then its mass is set from the density and particle volume. If the -atom has a length attribute (see atom_style line) +atom has a length attribute (see atom_style line) and its length is non-zero, then its mass is set from the density and line segment length (the input density is assumed to be in mass/distance units). If the atom has an area attribute (see -atom_style tri) and its area is non-zero, then its +atom_style tri) and its area is non-zero, then its mass is set from the density and triangle area (the input density is assumed to be in mass/distance^2 units). If none of these cases are valid, then the mass is set to the density value directly (the input -density is assumed to be in mass units).

    -

    Keyword volume sets the volume of all selected particles. -Currently, only the atom_style peri command defines +density is assumed to be in mass units). +

    +

    Keyword volume sets the volume of all selected particles. +Currently, only the atom_style peri command defines particles with a volume attribute. Note that this command does not -adjust the particle mass.

    -

    Keyword image sets which image of the simulation box the atom is +adjust the particle mass. +

    +

    Keyword image sets which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation. The flags can be output with atom snapshots via the -dump command. If a value of NULL is specified for any of +dump command. If a value of NULL is specified for any of nx,ny,nz, then the current image value for that dimension is unchanged. For non-periodic dimensions only a value of 0 can be -specified. This keyword does not allow use of atom-style variables.

    -

    This command can be useful after a system has been equilibrated and +specified. This keyword does not allow use of atom-style variables. +

    +

    This command can be useful after a system has been equilibrated and atoms have diffused one or more box lengths in various directions. This command can then reset the image values for atoms so that they are effectively inside the simulation box, e.g if a diffusion -coefficient is about to be measured via the compute msd command. Care should be taken not to reset the +coefficient is about to be measured via the compute +msd command. Care should be taken not to reset the image flags of two atoms in a bond to the same value if the bond straddles a periodic boundary (rather they should be different by +/- 1). This will not affect the dynamics of a simulation, but may mess up analysis of the trajectories if a LAMMPS diagnostic or your own analysis relies on the image flags to unwrap a molecule which -straddles the periodic box.

    -

    Keywords bond, angle, dihedral, and improper, set the bond +straddles the periodic box. +

    +

    Keywords bond, angle, dihedral, and improper, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, -etc) was set by the bond types (angle types, etc) field in the -header of the data file read by the read_data -command. These keywords do not allow use of an atom-style variable.

    -

    Keywords meso_e, meso_cv, and meso_rho set the energy, heat +etc) was set by the bond types (angle types, etc) field in the +header of the data file read by the read_data +command. These keywords do not allow use of an atom-style variable. +

    +

    Keywords meso_e, meso_cv, and meso_rho set the energy, heat capacity, and density of smmothed particle hydrodynamics (SPH) -particles. See this PDF guide to -using SPH in LAMMPS.

    -

    Keywords i_name and d_name refer to custom integer and +particles. See this PDF guide to +using SPH in LAMMPS. +

    +

    Keywords i_name and d_name refer to custom integer and floating-point properties that have been added to each atom via the -fix property/atom command. When that command +fix property/atom command. When that command is used specific names are given to each attribute which are what is -specified as the “name” portion of i_name or d_name.

    -
    -
    -

    Restrictions¶

    -

    You cannot set an atom attribute (e.g. mol or q or volume) if -the atom_style does not have that attribute.

    -

    This command requires inter-processor communication to coordinate the +specified as the "name" portion of i_name or d_name. +

    +

    Restrictions: +

    +

    You cannot set an atom attribute (e.g. mol or q or volume) if +the atom_style does not have that attribute. +

    +

    This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system must be ready to perform a simulation before using one of these keywords (force fields set, atom mass set, etc). This is not -necessary for other keywords.

    -

    Using the region style with the bond (angle, etc) keywords can give +necessary for other keywords. +

    +

    Using the region style with the bond (angle, etc) keywords can give unpredictable results if there are bonds (angles, etc) that straddle periodic boundaries. This is because the region may only extend up to the boundary and partner atoms in the bond (angle, etc) may have -coordinates outside the simulation box if they are ghost atoms.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +coordinates outside the simulation box if they are ghost atoms. +

    +

    Related commands: +

    +

    create_box, create_atoms, +read_data +

    +

    Default: none +

    + diff --git a/doc/shell.html b/doc/shell.html index eaf88c7f39..0bb8b3b6d8 100644 --- a/doc/shell.html +++ b/doc/shell.html @@ -1,159 +1,42 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - shell command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    shell command¶

    -
    -

    Syntax¶

    -
    shell cmd args
    -
    -
    -
      -
    • cmd = cd or mkdir or mv or rm or rmdir or putenv or arbitrary command
    • -
    -
    -cd arg = dir
    +
    +
    +
    + +

    shell command +

    +

    Syntax: +

    +
    shell cmd args 
    +
    +
    • cmd = cd or mkdir or mv or rm or rmdir or putenv or arbitrary command + +
        cd arg = dir
           dir = directory to change to
      -  mkdir args = dir1 dir2 ...
      +  mkdir args = dir1 dir2 ...
           dir1,dir2 = one or more directories to create
      -  mv args = old new
      +  mv args = old new
           old = old filename
           new = new filename
      -  rm args = file1 file2 ...
      +  rm args = file1 file2 ...
           file1,file2 = one or more filenames to delete
      -  rmdir args = dir1 dir2 ...
      +  rmdir args = dir1 dir2 ...
           dir1,dir2 = one or more directories to delete
      -  putenv args = var1=value1 var2=value2
      +  putenv args = var1=value1 var2=value2
           var=value = one of more definitions of environment variables
      -  anything else is passed as a command to the shell for direct execution
      -
      -
    -
    -

    Examples¶

    -
    shell cd sub1
    +  anything else is passed as a command to the shell for direct execution 
    +
    + + +

    Examples: +

    +
    shell cd sub1
     shell cd ..
     shell mkdir tmp1 tmp2 tmp3
     shell rmdir tmp1
    @@ -161,126 +44,71 @@ shell mv log.lammps hold/log.1
     shell rm TMP/file1 TMP/file2
     shell putenv LAMMPS_POTENTIALS=../../potentials
     shell my_setup file1 10 file2
    -shell my_post_process 100 dump.out
    -
    -
    -
    -
    -

    Description¶

    -

    Execute a shell command. A few simple file-based shell commands are +shell my_post_process 100 dump.out + +

    Description: +

    +

    Execute a shell command. A few simple file-based shell commands are supported directly, in Unix-style syntax. Any command not listed above is passed as-is to the C-library system() call, which invokes -the command in a shell.

    -

    This is means to invoke other commands from your input script. For +the command in a shell. +

    +

    This is means to invoke other commands from your input script. For example, you can move files around in preparation for the next section of the input script. Or you can run a program that pre-processes data for input into LAMMPS. Or you can run a program that post-processes -LAMMPS output data.

    -

    With the exception of cd, all commands, including ones invoked via a +LAMMPS output data. +

    +

    With the exception of cd, all commands, including ones invoked via a system() call, are executed by only a single processor, so that -files/directories are not being manipulated by multiple processors.

    -

    The cd cmd executes the Unix “cd” command to change the working +files/directories are not being manipulated by multiple processors. +

    +

    The cd cmd executes the Unix "cd" command to change the working directory. All subsequent LAMMPS commands that read/write files will -use the new directory. All processors execute this command.

    -

    The mkdir cmd executes the Unix “mkdir” command to create one or -more directories.

    -

    The mv cmd executes the Unix “mv” command to rename a file and/or -move it to a new directory.

    -

    The rm cmd executes the Unix “rm” command to remove one or more -files.

    -

    The rmdir cmd executes the Unix “rmdir” command to remove one or +use the new directory. All processors execute this command. +

    +

    The mkdir cmd executes the Unix "mkdir" command to create one or +more directories. +

    +

    The mv cmd executes the Unix "mv" command to rename a file and/or +move it to a new directory. +

    +

    The rm cmd executes the Unix "rm" command to remove one or more +files. +

    +

    The rmdir cmd executes the Unix "rmdir" command to remove one or more directories. A directory must be empty to be successfully -removed.

    -

    The putenv cmd defines or updates an environment variable directly. +removed. +

    +

    The putenv cmd defines or updates an environment variable directly. Since this command does not pass through the shell, no shell variable expansion or globbing is performed, only the usual substitution for -LAMMPS variables defined with the variable command is -performed. The resulting string is then used literally.

    -

    Any other cmd is passed as-is to the shell along with its arguments as +LAMMPS variables defined with the variable command is +performed. The resulting string is then used literally. +

    +

    Any other cmd is passed as-is to the shell along with its arguments as one string, invoked by the C-library system() call. For example, -these lines in your input script:

    -
    variable n equal 10
    +these lines in your input script:
    +

    +
    variable n equal 10
     variable foo string file2
    -shell my_setup file1 $n ${foo}
    -
    -
    -

    would be the same as invoking

    -
    % my_setup file1 10 file2
    -
    -
    -

    from a command-line prompt. The executable program “my_setup” is run -with 3 arguments: file1 10 file2.

    -
    -
    -

    Restrictions¶

    -

    LAMMPS does not detect errors or print warnings when any of these +shell my_setup file1 $n ${foo} + +

    would be the same as invoking +

    +
    % my_setup file1 10 file2 
    +
    +

    from a command-line prompt. The executable program "my_setup" is run +with 3 arguments: file1 10 file2. +

    +

    Restrictions: +

    +

    LAMMPS does not detect errors or print warnings when any of these commands execute. E.g. if the specified directory does not exist, -executing the cd command will silently do nothing.

    -

    Related commands: none

    -

    Default: none

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +executing the cd command will silently do nothing. +

    +

    Related commands: none +

    +

    Default: none +

    + diff --git a/doc/special_bonds.html b/doc/special_bonds.html index a716bcd37a..58fa493988 100644 --- a/doc/special_bonds.html +++ b/doc/special_bonds.html @@ -1,212 +1,95 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - special_bonds command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    special_bonds command¶

    -
    -

    Syntax¶

    -
    special_bonds keyword values ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be appended
    • -
    • keyword = amber or charmm or dreiding or fene or lj/coul or lj or coul or angle or dihedral or extra
    • -
    -
    -amber values = none
    -  charmm values = none
    -  dreiding values = none
    -  fene values = none
    -  lj/coul values = w1,w2,w3
    +
    +
    +
    + +

    special_bonds command +

    +

    Syntax: +

    +
    special_bonds keyword values ... 
    +
    +
    • one or more keyword/value pairs may be appended + +
    • keyword = amber or charmm or dreiding or fene or lj/coul or lj or coul or angle or dihedral or extra + +
        amber values = none
      +  charmm values = none
      +  dreiding values = none
      +  fene values = none
      +  lj/coul values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions
      -  lj values = w1,w2,w3
      +  lj values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions
      -  coul values = w1,w2,w3
      +  coul values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions
      -  angle value = yes or no
      -  dihedral value = yes or no
      -  extra value = N
      -    N = number of extra 1-2,1-3,1-4 interactions to save space for
      -
      -

      Examples:

      -
      special_bonds amber
      +  angle value = yes or no
      +  dihedral value = yes or no
      +  extra value = N
      +    N = number of extra 1-2,1-3,1-4 interactions to save space for 
      +
      + +
    +

    Examples: +

    +
    special_bonds amber
     special_bonds charmm
     special_bonds fene dihedral no
     special_bonds lj/coul 0.0 0.0 0.5 angle yes dihedral yes
     special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 0.0 dihedral yes
    -special_bonds lj/coul 0 1 1 extra 2
    -
    -
    -
    -
    -

    Description¶

    -

    Set weighting coefficients for pairwise energy and force contributions +special_bonds lj/coul 0 1 1 extra 2 + +

    Description: +

    +

    Set weighting coefficients for pairwise energy and force contributions between pairs of atoms that are also permanently bonded to each other, either directly or via one or two intermediate bonds. These weighting -factors are used by nearly all pair styles in LAMMPS +factors are used by nearly all pair styles in LAMMPS that compute simple pairwise interactions. Permanent bonds between atoms are specified by defining the bond topology in the data file -read by the read_data command. Typically a -bond_style command is also used to define a bond +read by the read_data command. Typically a +bond_style command is also used to define a bond potential. The rationale for using these weighting factors is that the interaction between a pair of bonded atoms is all (or mostly) specified by the bond, angle, dihedral potentials, and thus the non-bonded Lennard-Jones or Coulombic interaction between the pair of -atoms should be excluded (or reduced by a weighting factor).

    -
    -

    Warning

    -

    These weighting factors are NOT used by pair styles that compute many-body interactions, since the -“bonds” that result from such interactions are not permanent, but are +atoms should be excluded (or reduced by a weighting factor). +

    +

    IMPORTANT NOTE: These weighting factors are NOT used by pair +styles that compute many-body interactions, since the +"bonds" that result from such interactions are not permanent, but are created and broken dynamically as atom conformations change. Examples of pair styles in this category are EAM, MEAM, Stillinger-Weber, Tersoff, COMB, AIREBO, and ReaxFF. In fact, it generally makes no sense to define permanent bonds between atoms that interact via these potentials, though such bonds may exist elsewhere in your system, -e.g. when using the pair_style hybrid command. +e.g. when using the pair_style hybrid command. Thus LAMMPS ignores special_bonds settings when manybody potentials -are calculated.

    -
    -
    -

    Warning

    -

    Unlike some commands in LAMMPS, you cannot use this +are calculated. +

    +

    IMPORTANT NOTE: Unlike some commands in LAMMPS, you cannot use this command multiple times in an incremental fashion: e.g. to first set the LJ settings and then the Coulombic ones. Each time you use this command it sets all the coefficients to default values and only overrides the one you specify, so you should set all the options you need each time you use it. See more details at the bottom of this -page.

    -
    -

    The Coulomb factors are applied to any Coulomb (charge interaction) +page. +

    +

    The Coulomb factors are applied to any Coulomb (charge interaction) term that the potential calculates. The LJ factors are applied to the remaining terms that the potential calculates, whether they represent LJ interactions or not. The weighting factors are a scaling pre-factor on the energy and force between the pair of atoms. A value of 1.0 means include the full interaction; a value of 0.0 means -exclude it completely.

    -

    The 1st of the 3 coefficients (LJ or Coulombic) is the weighting +exclude it completely. +

    +

    The 1st of the 3 coefficients (LJ or Coulombic) is the weighting factor on 1-2 atom pairs, which are pairs of atoms directly bonded to each other. The 2nd coefficient is the weighting factor on 1-3 atom pairs which are those separated by 2 bonds (e.g. the two H atoms in a @@ -215,54 +98,59 @@ atom pairs which are those separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral interaction). Thus if the 1-2 coefficient is set to 0.0, then the pairwise interaction is effectively turned off for all pairs of atoms bonded to each other. If it is set to 1.0, then -that interaction will be at full strength.

    -
    -

    Warning

    -

    For purposes of computing weighted pairwise +that interaction will be at full strength. +

    +

    IMPORTANT NOTE: For purposes of computing weighted pairwise interactions, 1-3 and 1-4 interactions are not defined from the list of angles or dihedrals used by the simulation. Rather, they are inferred topologically from the set of bonds specified when the simulation is defined from a data or restart file (see -read_data or read_restart +read_data or read_restart commands). Thus the set of 1-2,1-3,1-4 interactions that the weights apply to is the same whether angle and dihedral potentials are computed or not, and remains the same even if bonds are constrained, -or turned off, or removed during a simulation.

    -
    -

    The two exceptions to this rule are (a) if the angle or dihedral -keywords are set to yes (see below), or (b) if the -delete_bonds command is used with the special +or turned off, or removed during a simulation. +

    +

    The two exceptions to this rule are (a) if the angle or dihedral +keywords are set to yes (see below), or (b) if the +delete_bonds command is used with the special option that recomputes the 1-2,1-3,1-4 topologies after bonds are -deleted; see the delete_bonds command for more -details.

    -

    The amber keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ +deleted; see the delete_bonds command for more +details. +

    +

    The amber keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ interactions and to 0.0, 0.0, 0.8333 for Coulombic interactions, which is the default for a commonly used version of the AMBER force field, -where the last value is really 5/6. See (Cornell) for a -description of the AMBER force field.

    -

    The charmm keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both +where the last value is really 5/6. See (Cornell) for a +description of the AMBER force field. +

    +

    The charmm keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both LJ and Coulombic interactions, which is the default for a commonly used version of the CHARMM force field. Note that in pair styles -lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients +lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients are defined explicitly, and these pairwise contributions are computed as part of the charmm dihedral style - see the -pair_coeff and dihedral_style -commands for more information. See (MacKerell) for a -description of the CHARMM force field.

    -

    The dreiding keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both +pair_coeff and dihedral_style +commands for more information. See (MacKerell) for a +description of the CHARMM force field. +

    +

    The dreiding keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both LJ and Coulombic interactions, which is the default for the Dreiding -force field, as discussed in (Mayo).

    -

    The fene keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both +force field, as discussed in (Mayo). +

    +

    The fene keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both LJ and Coulombic interactions, which is consistent with a -coarse-grained polymer model with FENE bonds. See -(Kremer) for a description of FENE bonds.

    -

    The lj/coul, lj, and coul keywords allow the 3 coefficients to -be set explicitly. The lj/coul keyword sets both the LJ and -Coulombic coefficients to the same 3 values. The lj and coul +coarse-grained polymer model with FENE bonds. See +(Kremer) for a description of FENE bonds. +

    +

    The lj/coul, lj, and coul keywords allow the 3 coefficients to +be set explicitly. The lj/coul keyword sets both the LJ and +Coulombic coefficients to the same 3 values. The lj and coul keywords only set either the LJ or Coulombic coefficients. Use both of them if you wish to set the LJ coefficients to different values -than the Coulombic coefficients.

    -

    The angle keyword allows the 1-3 weighting factor to be ignored for +than the Coulombic coefficients. +

    +

    The angle keyword allows the 1-3 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any angle defined in the simulation or as 1,3 or 2,4 atoms in any dihedral defined in the simulation. For example, imagine the 1-3 @@ -272,11 +160,12 @@ as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a dihedral, then the pairwise interaction between atoms 1 and 3 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 4. -If the angle keyword is specified as yes, then the pairwise +If the angle keyword is specified as yes, then the pairwise interaction between atoms 2 and 4 will be unaffected (full weighting -of 1.0). If the angle keyword is specified as no which is the -default, then the 2,4 interaction will also be weighted by 0.5.

    -

    The dihedral keyword allows the 1-4 weighting factor to be ignored +of 1.0). If the angle keyword is specified as no which is the +default, then the 2,4 interaction will also be weighted by 0.5. +

    +

    The dihedral keyword allows the 1-4 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any dihedral defined in the simulation. For example, imagine the 1-4 weighting factor is set to 0.5 and you have a linear molecule @@ -285,148 +174,103 @@ defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a dihedral, then the pairwise interaction between atoms 1 and 4 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 5. -If the dihedral keyword is specified as yes, then the pairwise +If the dihedral keyword is specified as yes, then the pairwise interaction between atoms 2 and 5 will be unaffected (full weighting -of 1.0). If the dihedral keyword is specified as no which is the -default, then the 2,5 interaction will also be weighted by 0.5.

    -

    The extra keyword can be used when additional bonds will be created -during a simulation run, e.g. by the fix bond/create command. It can also be used if -molecules will be added to the system, e.g. via the fix deposit, or fix pour commands, which +of 1.0). If the dihedral keyword is specified as no which is the +default, then the 2,5 interaction will also be weighted by 0.5. +

    +

    The extra keyword can be used when additional bonds will be created +during a simulation run, e.g. by the fix +bond/create command. It can also be used if +molecules will be added to the system, e.g. via the fix +deposit, or fix pour commands, which will have atoms with more special neighbors than any atom in the -current system has.

    -
    -
    -

    Warning

    -

    LAMMPS stores and maintains a data structure with a +current system has. +

    +
    + +

    IMPORTANT NOTE: LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system). If new bonds are created (or molecules added containing atoms with more special neighbors), the size of this list needs to grow. Note that adding a single bond always adds a new 1st -neighbor but may also induce many new 2nd and 3rd neighbors, -depending on the molecular topology of your system. Using the extra +neighbor but may also induce *many* new 2nd and 3rd neighbors, +depending on the molecular topology of your system. Using the extra keyword leaves empty space in the list for this N additional 1st, 2nd, or 3rd neighbors to be added. If you do not do this, you may get an -error when bonds (or molecules) are added.

    -
    -
    -
    -

    Warning

    -

    If you reuse this command in an input script, you +error when bonds (or molecules) are added. +

    +
    + +

    IMPORTANT NOTE: If you reuse this command in an input script, you should set all the options you need each time. This command cannot be used a 2nd time incrementally, e.g. to add some extra storage -locations via the extra keyword. E.g. these two commands:

    -
    -

    special_bonds lj 0.0 1.0 1.0 -special_bonds coul 0.0 0.0 1.0

    -

    are not the same as

    -

    special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0

    -

    In the first case you end up with (after the 2nd command):

    -

    LJ: 0.0 0.0 0.0 -Coul: coul 0.0 0.0 1.0

    -

    because the LJ settings are reset to their default values -each time the command is issued.

    -

    Likewise

    -
    special_bonds amber
    -special_bonds extra 2
    -
    -
    -

    is not the same as this single command:

    -
    special_bonds amber extra 2
    -
    -
    -

    since in the former case, the 2nd command will reset all the LJ and -Coulombic weights to 0.0 (the default).

    -

    One exception to this rule is the extra option itself. It is not +locations via the extra keyword. E.g. these two commands: +

    +

    special_bonds lj 0.0 1.0 1.0 +special_bonds coul 0.0 0.0 1.0 +

    +

    are not the same as +

    +

    special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0 +

    +

    In the first case you end up with (after the 2nd command): +

    +

    LJ: 0.0 0.0 0.0 +Coul: coul 0.0 0.0 1.0 +

    +

    because the LJ settings are reset to their default values +each time the command is issued. +

    +

    Likewise +

    +
    special_bonds amber
    +special_bonds extra 2 
    +
    +

    is not the same as this single command: +

    +
    special_bonds amber extra 2 
    +
    +

    since in the former case, the 2nd command will reset all the LJ and +Coulombic weights to 0.0 (the default). +

    +

    One exception to this rule is the extra option itself. It is not reset to its default value of 0 each time the special_bonds command is invoked. This is because it can also be set by the -read_data and create_box commands, +read_data and create_box commands, so this command will not override those settings unless you explicitly -use extra as an option.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, -angle = no, dihedral = no, and extra = 0.

    -
    -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

    -

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990).

    -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).

    -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990).

    -
    -
    +use extra as an option. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    delete_bonds, fix bond/create +

    +

    Default: +

    +

    All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, +angle = no, dihedral = no, and extra = 0. +

    +
    + -
    -
    -
    - +

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). +

    + -
    +

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). +

    + diff --git a/doc/suffix.html b/doc/suffix.html index cca1d948b1..c1aae192de 100644 --- a/doc/suffix.html +++ b/doc/suffix.html @@ -1,279 +1,105 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - suffix command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    suffix command¶

    -
    -

    Syntax¶

    -
    suffix style
    -
    -
    -
      -
    • style = off or on or cuda or gpu or intel or kk or omp or opt
    • -
    -
    -
    -

    Examples¶

    -
    suffix off
    +
    +
    +
    + +

    suffix command +

    +

    Syntax: +

    +
    suffix style 
    +
    +
    • style = off or on or cuda or gpu or intel or kk or omp or opt +
    +

    Examples: +

    +
    suffix off
     suffix on
     suffix gpu
     suffix intel
    -suffix kk
    -
    -
    -
    -
    -

    Description¶

    -

    This command allows you to use variants of various styles if they -exist. In that respect it operates the same as the -suffix command-line switch. It also has options -to turn off or back on any suffix setting made via the command line.

    -

    The specified style can be cuda, gpu, intel, kk, omp, or -opt. These refer to optional packages that LAMMPS can be built -with, as described in this section of the manual. The “cuda” style corresponds to -the USER-CUDA package, the “gpu” style to the GPU package, the “intel” -style to the USER-INTEL package, the “kk” style to the KOKKOS package, -the “omp” style to the USER-OMP package, and the “opt” style to the -OPT package,

    -

    These are the variants these packages provide:

    -
      -
    • USER-CUDA = a collection of atom, pair, fix, compute, and intergrate -styles, optimized to run on one or more NVIDIA GPUs
    • -
    • GPU = a handful of pair styles and the PPPM kspace_style, optimized to -run on one or more GPUs or multicore CPU/GPU nodes
    • -
    • USER-INTEL = a collection of pair styles and neighbor routines +suffix kk + +

      Description: +

      +

      This command allows you to use variants of various styles if they +exist. In that respect it operates the same as the -suffix +command-line switch. It also has options +to turn off or back on any suffix setting made via the command line. +

      +

      The specified style can be cuda, gpu, intel, kk, omp, or +opt. These refer to optional packages that LAMMPS can be built +with, as described in this section of the +manual. The "cuda" style corresponds to +the USER-CUDA package, the "gpu" style to the GPU package, the "intel" +style to the USER-INTEL package, the "kk" style to the KOKKOS package, +the "omp" style to the USER-OMP package, and the "opt" style to the +OPT package, +

      +

      These are the variants these packages provide: +

      +
      • USER-CUDA = a collection of atom, pair, fix, compute, and intergrate +styles, optimized to run on one or more NVIDIA GPUs + +
      • GPU = a handful of pair styles and the PPPM kspace_style, optimized to +run on one or more GPUs or multicore CPU/GPU nodes + +
      • USER-INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and -Intel(R) Xeon Phi(TM) coprocessors.
      • -
      • KOKKOS = a collection of atom, pair, and fix styles optimized to run +Intel(R) Xeon Phi(TM) coprocessors. + +
      • KOKKOS = a collection of atom, pair, and fix styles optimized to run using the Kokkos library on various kinds of hardware, including GPUs -via Cuda and many-core chips via OpenMP or threading.
      • -
      • USER-OMP = a collection of pair, bond, angle, dihedral, improper, +via Cuda and many-core chips via OpenMP or threading. + +
      • USER-OMP = a collection of pair, bond, angle, dihedral, improper, kspace, compute, and fix styles with support for OpenMP -multi-threading
      • -
      • OPT = a handful of pair styles, cache-optimized for faster CPU -performance
      • -
      -

      As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/opt, lj/cut/omp, +multi-threading + +

    • OPT = a handful of pair styles, cache-optimized for faster CPU +performance +
    +

    As an example, all of the packages provide a pair_style +lj/cut variant, with style names lj/cut/opt, lj/cut/omp, lj/cut/gpu, lj/cut/intel, lj/cut/cuda, or lj/cut/kk. A variant styles can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the suffix command is used with the appropriate style, you do not need to modify your input script. The specified suffix (opt,omp,gpu,intel,cuda,kk) is automatically appended whenever your -input script command creates a new atom, -pair, bond, -angle, dihedral, -improper, kspace, -fix, compute, or run style. +input script command creates a new atom, +pair, bond, +angle, dihedral, +improper, kspace, +fix, compute, or run style. If the variant version does not exist, the standard version is -created.

    -

    When using the intel suffix, LAMMPS will first attempt to use a style +created. +

    +

    When using the intel suffix, LAMMPS will first attempt to use a style with the intel suffix. If the USER-OMP package is installed, the the omp suffix will be tried as a second choice, if a requested style is -not available in the USER-INTEL package.

    -

    If the specified style is off, then any previously specified suffix +not available in the USER-INTEL package. +

    +

    If the specified style is off, then any previously specified suffix is temporarily disabled, whether it was specified by a command-line -switch or a previous suffix command. If the specified style is on, +switch or a previous suffix command. If the specified style is on, a disabled suffix is turned back on. The use of these 2 commands lets your input script use a standard LAMMPS style (i.e. a non-accelerated variant), which can be useful for testing or benchmarking purposes. Of course this is also possible by not using any suffix commands, and explictly appending or not appending the suffix to the relevant -commands in your input script.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +commands in your input script. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    Command-line switch -suffix +

    +

    Default: none +

    + diff --git a/doc/tad.html b/doc/tad.html index aa0bff9b8e..b3e0982342 100644 --- a/doc/tad.html +++ b/doc/tad.html @@ -1,186 +1,77 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - tad command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    tad command¶

    -
    -

    Syntax¶

    -
    tad N t_event T_lo T_hi delta tmax compute-ID keyword value ...
    -
    -
    -
      -
    • N = # of timesteps to run (not including dephasing/quenching)
    • -
    • t_event = timestep interval between event checks
    • -
    • T_lo = temperature at which event times are desired
    • -
    • T_hi = temperature at which MD simulation is performed
    • -
    • delta = desired confidence level for stopping criterion
    • -
    • tmax = reciprocal of lowest expected preexponential factor (time units)
    • -
    • compute-ID = ID of the compute used for event detection
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = min or neb or min_style or neb_style or neb_log
    • -
    -
    -min values = etol ftol maxiter maxeval
    +
    +
    +
    + +

    tad command +

    +

    Syntax: +

    +
    tad N t_event T_lo T_hi delta tmax compute-ID keyword value ... 
    +
    +
    • N = # of timesteps to run (not including dephasing/quenching) + +
    • t_event = timestep interval between event checks + +
    • T_lo = temperature at which event times are desired + +
    • T_hi = temperature at which MD simulation is performed + +
    • delta = desired confidence level for stopping criterion + +
    • tmax = reciprocal of lowest expected preexponential factor (time units) + +
    • compute-ID = ID of the compute used for event detection + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = min or neb or min_style or neb_style or neb_log + +
        min values = etol ftol maxiter maxeval
           etol = stopping tolerance for energy (energy units)
           ftol = stopping tolerance for force (force units)
           maxiter = max iterations of minimize
           maxeval = max number of force/energy evaluations
      -  neb values = ftol N1 N2 Nevery
      +  neb values = ftol N1 N2 Nevery
           etol = stopping tolerance for energy (energy units)
           ftol = stopping tolerance for force (force units)
      -    N1 = max # of iterations (timesteps) to run initial NEB
      +    N1 = max # of iterations (timesteps) to run initial NEB 
           N2 = max # of iterations (timesteps) to run barrier-climbing NEB
           Nevery = print NEB statistics every this many timesteps
      -  neb_style value = quickmin or fire
      -  neb_step value = dtneb
      +  neb_style value = quickmin or fire
      +  neb_step value = dtneb
           dtneb = timestep for NEB damped dynamics minimization
      -  neb_log value = file where NEB statistics are printed
      -
      -
    -
    -

    Examples¶

    -
    tad 2000 50 1800 2300 0.01 0.01 event
    -tad 2000 50 1800 2300 0.01 0.01 event &
    -    min 1e-05 1e-05 100 100 &
    -    neb 0.0 0.01 200 200 20 &
    -    min_style cg &
    -    neb_style fire &
    -    neb_log log.neb
    -
    -
    -
    -
    -

    Description¶

    -

    Run a temperature accelerated dynamics (TAD) simulation. This method + neb_log value = file where NEB statistics are printed + + + +

    Examples: +

    +
    tad 2000 50 1800 2300 0.01 0.01 event
    +tad 2000 50 1800 2300 0.01 0.01 event &
    +    min 1e-05 1e-05 100 100 &
    +    neb 0.0 0.01 200 200 20 &
    +    min_style cg &
    +    neb_style fire &
    +    neb_log log.neb 
    +
    +

    Description: +

    +

    Run a temperature accelerated dynamics (TAD) simulation. This method requires two or more partitions to perform NEB transition state -searches.

    -

    TAD is described in this paper by Art Voter. It is a method +searches. +

    +

    TAD is described in this paper by Art Voter. It is a method that uses accelerated dynamics at an elevated temperature to generate results at a specified lower temperature. A good overview of -accelerated dynamics methods for such systems is given in this review paper from the same group. In general, these methods assume +accelerated dynamics methods for such systems is given in this review +paper from the same group. In general, these methods assume that the long-time dynamics is dominated by infrequent events i.e. the system is is confined to low energy basins for long periods, punctuated by brief, randomly-occurring transitions to adjacent @@ -199,24 +90,28 @@ reflected backwards into the current basin. This is repeated until the stopping criterion is satisfied, at which point the event with the earliest low-temperature occurrence time is selected. The stopping criterion is that the confidence measure be greater than -1-delta. The confidence measure is the probability that no earlier +1-delta. The confidence measure is the probability that no earlier low-temperature event will occur at some later time in the high-temperature simulation. hTST provides an lower bound for this probability, based on the user-specified minimum pre-exponential -factor (reciprocal of tmax).

    -

    In order to estimate the energy barrier for each event, the TAD method -invokes the NEB method. Each NEB replica runs on a +factor (reciprocal of tmax). +

    +

    In order to estimate the energy barrier for each event, the TAD method +invokes the NEB method. Each NEB replica runs on a partition of processors. The current NEB implementation in LAMMPS restricts you to having exactly one processor per replica. For more -information, see the documentation for the neb command. In +information, see the documentation for the neb command. In the current LAMMPS implementation of TAD, all the non-NEB TAD operations are performed on the first partition, while the other -partitions remain idle. See Section_howto 5 of the manual for further discussion of -multi-replica simulations.

    -

    A TAD run has several stages, which are repeated each time an event is -performed. The logic for a TAD run is as follows:

    -
    while (time remains):
    -  while (time < tstop):
    +partitions remain idle. See Section_howto
    +5 of the manual for further discussion of
    +multi-replica simulations.
    +

    +

    A TAD run has several stages, which are repeated each time an event is +performed. The logic for a TAD run is as follows: +

    +
    while (time remains):
    +  while (time < tstop):
         until (event occurs):
           run dynamics for t_event steps
           quench
    @@ -225,111 +120,129 @@ performed.  The logic for a TAD run is as follows:

    update earliest event update tstop reflect back into current basin - execute earliest event -
    -
    -

    Before this outer loop begins, the initial potential energy basin is + execute earliest event + +

    Before this outer loop begins, the initial potential energy basin is identified by quenching (an energy minimization, see below) the -initial state and storing the resulting coordinates for reference.

    -

    Inside the inner loop, dynamics is run continuously according to +initial state and storing the resulting coordinates for reference. +

    +

    Inside the inner loop, dynamics is run continuously according to whatever integrator has been specified by the user, stopping every -t_event steps to check if a transition event has occurred. This +t_event steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting -atom coordinates to the coordinates from the previous basin.

    -

    A quench is an energy minimization and is performed by whichever -algorithm has been defined by the min_style command; +atom coordinates to the coordinates from the previous basin. +

    +

    A quench is an energy minimization and is performed by whichever +algorithm has been defined by the min_style command; its default is the CG minimizer. The tolerances and limits for each -quench can be set by the min keyword. Note that typically, you do +quench can be set by the min keyword. Note that typically, you do not need to perform a highly-converged minimization to detect a -transition event.

    -

    The event check is performed by a compute with the specified -compute-ID. Currently there is only one compute that works with the -TAD commmand, which is the compute event/displace command. Other -event-checking computes may be added. Compute event/displace checks whether any atom in +transition event. +

    +

    The event check is performed by a compute with the specified +compute-ID. Currently there is only one compute that works with the +TAD commmand, which is the compute +event/displace command. Other +event-checking computes may be added. Compute +event/displace checks whether any atom in the compute group has moved further than a specified threshold -distance. If so, an “event” has occurred.

    -

    The NEB calculation is similar to that invoked by the neb +distance. If so, an "event" has occurred. +

    +

    The NEB calculation is similar to that invoked by the neb command, except that the final state is generated internally, instead of being read in from a file. The style of minimization performed by -NEB is determined by the neb_style keyword and must be a damped +NEB is determined by the neb_style keyword and must be a damped dynamics minimizer. The tolerances and limits for each NEB -calculation can be set by the neb keyword. As discussed on the -neb, it is often advantageous to use a larger timestep for +calculation can be set by the neb keyword. As discussed on the +neb, it is often advantageous to use a larger timestep for NEB than for normal dyanmics. Since the size of the timestep set by -the timestep command is used by TAD for performing -dynamics, there is a neb_step keyword which can be used to set a -larger timestep for each NEB calculation if desired.

    -
    -

    A key aspect of the TAD method is setting the stopping criterion +the timestep command is used by TAD for performing +dynamics, there is a neb_step keyword which can be used to set a +larger timestep for each NEB calculation if desired. +

    +
    + +

    A key aspect of the TAD method is setting the stopping criterion appropriately. If this criterion is too conservative, then many events must be generated before one is finally executed. Conversely, if this criterion is too aggressive, high-entropy high-barrier events will be over-sampled, while low-entropy low-barrier events will be under-sampled. If the lowest pre-exponential factor is known fairly -accurately, then it can be used to estimate tmax, and the value of -delta can be set to the desired confidence level e.g. delta = 0.05 +accurately, then it can be used to estimate tmax, and the value of +delta can be set to the desired confidence level e.g. delta = 0.05 corresponds to 95% confidence. However, for systems where the dynamics are not well characterized (the most common case), it will be -necessary to experiment with the values of delta and tmax to get a -good trade-off between accuracy and performance.

    -

    A second key aspect is the choice of t_hi. A larger value greatly +necessary to experiment with the values of delta and tmax to get a +good trade-off between accuracy and performance. +

    +

    A second key aspect is the choice of t_hi. A larger value greatly increases the rate at which new events are generated. However, too large a value introduces errors due to anharmonicity (not accounted for within hTST). Once again, for any given system, experimentation is -necessary to determine the best value of t_hi.

    -
    -

    Five kinds of output can be generated during a TAD run: event +necessary to determine the best value of t_hi. +

    +
    + +

    Five kinds of output can be generated during a TAD run: event statistics, NEB statistics, thermodynamic output by each replica, dump -files, and restart files.

    -

    Event statistics are printed to the screen and master log.lammps file +files, and restart files. +

    +

    Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU -time, global event number N, local event number M, event status, -energy barrier, time margin, t_lo and delt_lo. The timestep is +time, global event number N, local event number M, event status, +energy barrier, time margin, t_lo and delt_lo. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU time is the total processor time since the start of the TAD run. The -global event number N is a counter that increments with each -executed event. The local event number M is a counter that resets to -zero upon entering each new basin. The event status is E when an -event is executed, and is D for an event that is detected, while -DF is for a detected event that is also the earliest (first) event -at the low temperature.

    -

    The time margin is the ratio of the high temperature time in the +global event number N is a counter that increments with each +executed event. The local event number M is a counter that resets to +zero upon entering each new basin. The event status is E when an +event is executed, and is D for an event that is detected, while +DF is for a detected event that is also the earliest (first) event +at the low temperature. +

    +

    The time margin is the ratio of the high temperature time in the current basin to the stopping time. This last number can be used to -judge whether the stopping time is too short or too long (see above).

    -

    t_lo is the low-temperature event time when the current basin was -entered, in units of timestep. del*t_lo* is the time of each detected -event, measured relative to t_lo. delt_lo is equal to the +judge whether the stopping time is too short or too long (see above). +

    +

    t_lo is the low-temperature event time when the current basin was +entered, in units of timestep. delt_lo is the time of each detected +event, measured relative to t_lo. delt_lo is equal to the high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the -energy barrier for that event.

    -

    On lines for executed events, with status E, the global event number -is incremented by one, -the local event number and time margin are reset to zero, -while the global event number, energy barrier, and -delt_lo match the last event with status DF -in the immediately preceding block of detected events. -The low-temperature event time t_lo is incremented by delt_lo.

    -

    NEB statistics are written to the file specified by the neb_log -keyword. If the keyword value is “none”, then no NEB statistics are -printed out. The statistics are written every Nevery timesteps. See -the neb command for a full description of the NEB +energy barrier for that event. +

    +

    On lines for executed events, with status E, the global event number +is incremented by one, +the local event number and time margin are reset to zero, +while the global event number, energy barrier, and +delt_lo match the last event with status DF +in the immediately preceding block of detected events. +The low-temperature event time t_lo is incremented by delt_lo. +

    +

    NEB statistics are written to the file specified by the neb_log +keyword. If the keyword value is "none", then no NEB statistics are +printed out. The statistics are written every Nevery timesteps. See +the neb command for a full description of the NEB statistics. When invoked from TAD, NEB statistics are never printed to -the screen.

    -

    Because the NEB calculation must run on multiple partitions, LAMMPS +the screen. +

    +

    Because the NEB calculation must run on multiple partitions, LAMMPS produces additional screen and log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the TAD command, these contain the thermodynamic output of each NEB replica. In addition, the log file for the first partition, log.lammps.0, will contain thermodynamic output from short runs and minimizations corresponding to the dynamics and quench operations, as well as a line for each new -detected event, as described above.

    -

    After the TAD command completes, timing statistics for the TAD run are -printed in each replica’s log file, giving a breakdown of how much CPU -time was spent in each stage (NEB, dynamics, quenching, etc).

    -

    Any dump files defined in the input script will be written +detected event, as described above. +

    +

    After the TAD command completes, timing statistics for the TAD run are +printed in each replica's log file, giving a breakdown of how much CPU +time was spent in each stage (NEB, dynamics, quenching, etc). +

    +

    Any dump files defined in the input script will be written to during a TAD run at timesteps when an event is executed. This -means the the requested dump frequency in the dump command +means the the requested dump frequency in the dump command is ignored. There will be one dump file (per dump command) created for all partitions. The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching @@ -337,22 +250,24 @@ following the executed event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning -of each TAD run.

    -

    If the restart command is used, a single restart file +of each TAD run. +

    +

    If the restart command is used, a single restart file for all the partitions is generated, which allows a TAD run to be continued by a new input script in the usual manner. The restart file is generated after an event is executed. The restart file contains a snapshot of the system in the new quenched state, including the event number and the low-temperature time. The restart frequency specified -in the restart command is interpreted differently when +in the restart command is interpreted differently when performing a TAD run. It does not mean the timestep interval between restart files. Instead it means an event interval for executed events. Thus a frequency of 1 means write a restart file every time an event is executed. A frequency of 10 means write a restart file every 10th executed event. When an input script reads a restart file from a previous TAD run, the new script can be run on a different -number of replicas or processors.

    -

    Note that within a single state, the dynamics will typically +number of replicas or processors. +

    +

    Note that within a single state, the dynamics will typically temporarily continue beyond the event that is ultimately chosen, until the stopping criterionis satisfied. When the event is eventually executed, the timestep counter is reset to the value when the event @@ -361,103 +276,52 @@ timestep counter is reset to the value at the start of the minimization. This means that the timesteps listed in the replica log files do not always increase monotonically. However, the timestep values printed to the master log file, dump files, and restart files -are always monotonically increasing.

    -
    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -

    N setting must be integer multiple of t_event.

    -

    Runs restarted from restart files written during a TAD run will only +are always monotonically increasing. +

    +
    + +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

    +

    N setting must be integer multiple of t_event. +

    +

    Runs restarted from restart files written during a TAD run will only produce identical results if the user-specified integrator supports -exact restarts. So fix nvt will produce an exact -restart, but fix langevin will not.

    -

    This command cannot be used when any fixes are defined that keep track +exact restarts. So fix nvt will produce an exact +restart, but fix langevin will not. +

    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples -include the “ave” fixes such as fix ave/spatial. Also fix dt/reset and fix deposit.

    -
    - -
    -

    Default¶

    -

    The option defaults are min = 0.1 0.1 40 50, neb = 0.01 100 100 -10, neb_style = quickmin, neb_step = the same timestep set by -the timestep command, and neb_log = “none”.

    -
    -

    (Voter) Sorensen and Voter, J Chem Phys, 112, 9599 (2000)

    -

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002).

    -
    -
    +include the "ave" fixes such as fix +ave/spatial. Also fix +dt/reset and fix deposit. +

    +

    Related commands: +

    +

    compute event/displace, +min_modify, min_style, +run_style, minimize, +temper, neb, +prd +

    +

    Default: +

    +

    The option defaults are min = 0.1 0.1 40 50, neb = 0.01 100 100 +10, neb_style = quickmin, neb_step = the same timestep set by +the timestep command, and neb_log = "none". +

    +
    + -
    -
    -
    - +

    (Voter) Sorensen and Voter, J Chem Phys, 112, 9599 (2000) +

    + -
    - -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials +Research 32, 321 (2002). +

    + diff --git a/doc/temper.html b/doc/temper.html index f4956cc540..fd5727b883 100644 --- a/doc/temper.html +++ b/doc/temper.html @@ -1,198 +1,86 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - temper command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    temper command¶

    -
    -

    Syntax¶

    -
    temper N M temp fix-ID seed1 seed2 index
    -
    -
    -
      -
    • N = total # of timesteps to run
    • -
    • M = attempt a tempering swap every this many steps
    • -
    • temp = initial temperature for this ensemble
    • -
    • fix-ID = ID of the fix that will control temperature during the run
    • -
    • seed1 = random # seed used to decide on adjacent temperature to partner with
    • -
    • seed2 = random # seed for Boltzmann factor in Metropolis swap
    • -
    • index = which temperature (0 to N-1) I am simulating (optional)
    • -
    -
    -
    -

    Examples¶

    -
    temper 100000 100 $t tempfix 0 58728
    -temper 40000 100 $t tempfix 0 32285 $w
    -
    -
    -
    -
    -

    Description¶

    -

    Run a parallel tempering or replica exchange simulation using multiple -replicas (ensembles) of a system. Two or more replicas must be used.

    -

    Each replica runs on a partition of one or more processors. Processor + + +


    + +

    temper command +

    +

    Syntax: +

    +
    temper N M temp fix-ID seed1 seed2 index 
    +
    +
    • N = total # of timesteps to run +
    • M = attempt a tempering swap every this many steps +
    • temp = initial temperature for this ensemble +
    • fix-ID = ID of the fix that will control temperature during the run +
    • seed1 = random # seed used to decide on adjacent temperature to partner with +
    • seed2 = random # seed for Boltzmann factor in Metropolis swap +
    • index = which temperature (0 to N-1) I am simulating (optional) +
    +

    Examples: +

    +
    temper 100000 100 $t tempfix 0 58728
    +temper 40000 100 $t tempfix 0 32285 $w 
    +
    +

    Description: +

    +

    Run a parallel tempering or replica exchange simulation using multiple +replicas (ensembles) of a system. Two or more replicas must be used. +

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 6 of the +switch; see Section_start 6 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See this section of the manual for further -discussion.

    -

    Each replica’s temperature is controlled at a different value by a fix -with fix-ID that controls temperature. Possible fix styles are -nvt, temp/berendsen, -langevin and temp/rescale. -The desired temperature is specified by temp, which is typically a +would see with one or more physical processors per replica. See this +section of the manual for further +discussion. +

    +

    Each replica's temperature is controlled at a different value by a fix +with fix-ID that controls temperature. Possible fix styles are +nvt, temp/berendsen, +langevin and temp/rescale. +The desired temperature is specified by temp, which is typically a variable previously set in the input script, so that each partition is -assigned a different temperature. See the variable -command for more details. For example:

    -
    variable t world 300.0 310.0 320.0 330.0
    +assigned a different temperature.  See the variable
    +command for more details.  For example:
    +

    +
    variable t world 300.0 310.0 320.0 330.0
     fix myfix all nvt $t $t 100.0
    -temper 100000 100 $t myfix 3847 58382
    -
    -
    -

    would define 4 temperatures, and assign one of them to the thermostat -used by each replica, and to the temper command.

    -

    As the tempering simulation runs for N timesteps, a temperature swap -between adjacent ensembles will be attempted every M timesteps. If -seed1 is 0, then the swap attempts will alternate between odd and -even pairings. If seed1 is non-zero then it is used as a seed in a +temper 100000 100 $t myfix 3847 58382 + +

    would define 4 temperatures, and assign one of them to the thermostat +used by each replica, and to the temper command. +

    +

    As the tempering simulation runs for N timesteps, a temperature swap +between adjacent ensembles will be attempted every M timesteps. If +seed1 is 0, then the swap attempts will alternate between odd and +even pairings. If seed1 is non-zero then it is used as a seed in a random number generator to randomly choose an odd or even pairing each time. Each attempted swap of temperatures is either accepted or rejected based on a Boltzmann-weighted Metropolis criterion which uses -seed2 in the random number generator.

    -

    As a tempering run proceeds, multiple log files and screen output +seed2 in the random number generator. +

    +

    As a tempering run proceeds, multiple log files and screen output files are created, one per replica. By default these files are named log.lammps.M and screen.M where M is the replica number from 0 to N-1, -with N = # of replicas. See the section on command-line switches for info on how to change these -names.

    -

    The main screen and log file (log.lammps) will list information about +with N = # of replicas. See the section on command-line +switches for info on how to change these +names. +

    +

    The main screen and log file (log.lammps) will list information about which temperature is assigned to each replica at each thermodynamic -output timestep. E.g. for a simulation with 16 replicas:

    -
    Running on 16 partitions of processors
    +output timestep.  E.g. for a simulation with 16 replicas:
    +

    +
    Running on 16 partitions of processors
     Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15
     0    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     500  1 0 3 2 5 4 6 7 8 9 10 11 12 13 14 15
    @@ -200,10 +88,9 @@ Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15
     1500 2 1 4 0 5 3 6 7 9 8 10 11 12 14 13 15
     2000 2 1 3 0 6 4 5 7 10 8 9 11 12 14 13 15
     2500 2 1 3 0 6 4 5 7 11 8 9 10 12 14 13 15
    -...
    -
    -
    -

    The column headings T0 to TN-1 mean which temperature is currently +... + +

    The column headings T0 to TN-1 mean which temperature is currently assigned to the replica 0 to N-1. Thus the columns represent replicas and the value in each column is its temperature (also numbered 0 to N-1). For example, a 0 in the 4th column (column T3, step 2500) means @@ -211,101 +98,40 @@ that the 4th replica is assigned temperature 0, i.e. the lowest temperature. You can verify this time sequence of temperature assignments for the Nth replica by comparing the Nth column of screen output to the thermodynamic data in the corresponding log.lammps.N or -screen.N files as time proceeds.

    -

    The last argument index in the temper command is optional and is +screen.N files as time proceeds. +

    +

    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 for each replica) which had previously swapped to new temperatures. -The index value (from 0 to N-1, where N is the # of replicas) +The index value (from 0 to N-1, where N is the # of replicas) identifies which temperature the replica was simulating on the timestep the restart files were written. Obviously, this argument must be a variable so that each partition has the correct value. Set -the variable to the N values listed in the log file for the previous +the variable to the N values listed in the log file for the previous run for the replica temperatures at that timestep. For example if the -log file listed the following for a simulation with 5 replicas:

    -
    500000 2 4 0 1 3
    -
    -
    -

    then a setting of

    -
    variable w world 2 4 0 1 3
    -
    -
    -

    would be used to restart the run with a tempering command like the -example above with $w as the last argument.

    -
    -
    -
    -

    Restrictions¶

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -
    - -
    +log file listed the following for a simulation with 5 replicas: +

    +
    500000 2 4 0 1 3 
    +
    +

    then a setting of +

    +
    variable w world 2 4 0 1 3 
    +
    +

    would be used to restart the run with a tempering command like the +example above with $w as the last argument. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages. +

    +

    Related commands: +

    +

    variable, prd, neb +

    +

    Default: none +

    + diff --git a/doc/thermo.html b/doc/thermo.html index 7c8531c7d8..aa36e9eb56 100644 --- a/doc/thermo.html +++ b/doc/thermo.html @@ -1,249 +1,64 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - thermo command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    thermo command¶

    -
    -

    Syntax¶

    -
    thermo N
    -
    -
    -
      -
    • N = output thermodynamics every N timesteps
    • -
    • N can be a variable (see below)
    • -
    -
    -
    -

    Examples¶

    -
    thermo 100
    -
    -
    -
    -
    -

    Description¶

    -

    Compute and print thermodynamic info (e.g. temperature, energy, + + +


    + +

    thermo command +

    +

    Syntax: +

    +
    thermo N 
    +
    +
    • N = output thermodynamics every N timesteps +
    • N can be a variable (see below) +
    +

    Examples: +

    +
    thermo 100 
    +
    +

    Description: +

    +

    Compute and print thermodynamic info (e.g. temperature, energy, pressure) on timesteps that are a multiple of N and at the beginning and end of a simulation. A value of 0 will only print thermodynamics -at the beginning and end.

    -

    The content and format of what is printed is controlled by the -thermo_style and -thermo_modify commands.

    -

    Instead of a numeric value, N can be specifed as an equal-style variable, which should be specified as v_name, where +at the beginning and end. +

    +

    The content and format of what is printed is controlled by the +thermo_style and +thermo_modify commands. +

    +

    Instead of a numeric value, N can be specifed as an equal-style +variable, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which thermodynamic info will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() -and logfreq() and stride() math functions for equal-style variables, as examples of useful functions to use in +and logfreq() and stride() math functions for equal-style +variables, as examples of useful functions to use in this context. Other similar math functions could easily be added as -options for equal-style variables.

    -

    For example, the following commands will output thermodynamic info at -timesteps 0,10,20,30,100,200,300,1000,2000,etc:

    -
    variable     s equal logfreq(10,3,10)
    -thermo               v_s
    -
    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -
    thermo 0
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +options for equal-style variables. +

    +

    For example, the following commands will output thermodynamic info at +timesteps 0,10,20,30,100,200,300,1000,2000,etc: +

    +
    variable	s equal logfreq(10,3,10)
    +thermo	        v_s 
    +
    +

    Restrictions: none +

    +

    Related commands: +

    +

    thermo_style, thermo_modify +

    +

    Default: +

    +
    thermo 0 
    +
    + diff --git a/doc/thermo_modify.html b/doc/thermo_modify.html index 7b287273a5..5d2b90f230 100644 --- a/doc/thermo_modify.html +++ b/doc/thermo_modify.html @@ -1,355 +1,173 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - thermo_modify command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    thermo_modify command¶

    -
    -

    Syntax¶

    -
    thermo_modify keyword value ...
    -
    -
    -
      -
    • one or more keyword/value pairs may be listed
    • -
    -
    -keyword = lost or lost/bond or norm or flush or line or format or temp or press:l
    -  lost value = error or warn or ignore
    -  lost/bond value = error or warn or ignore
    -  norm value = yes or no
    -  flush value = yes or no
    -  line value = one or multi
    -  format values = int string or float string or M string
    +
    +
    +
    + +

    thermo_modify command +

    +

    Syntax: +

    +
    thermo_modify keyword value ... 
    +
    +
    • one or more keyword/value pairs may be listed + +
      keyword = lost or lost/bond or norm or flush or line or format or temp or press:l
      +  lost value = error or warn or ignore
      +  lost/bond value = error or warn or ignore
      +  norm value = yes or no
      +  flush value = yes or no
      +  line value = one or multi
      +  format values = int string or float string or M string
           M = integer from 1 to N, where N = # of quantities being printed
           string = C-style format string
      -  temp value = compute ID that calculates a temperature
      -  press value = compute ID that calculates a pressure
      -
      -
    -
    -

    Examples¶

    -
    thermo_modify lost ignore flush yes
    +  temp value = compute ID that calculates a temperature
    +  press value = compute ID that calculates a pressure 
    +
    + + +

    Examples: +

    +
    thermo_modify lost ignore flush yes
     thermo_modify temp myTemp format 3 %15.8g
    -thermo_modify line multi format float %g
    -
    -
    -
    -
    -

    Description¶

    -

    Set options for how thermodynamic information is computed and printed -by LAMMPS.

    -
    -

    Warning

    -

    These options apply to the currently defined thermo -style. When you specify a thermo_style command, +thermo_modify line multi format float %g + +

    Description: +

    +

    Set options for how thermodynamic information is computed and printed +by LAMMPS. +

    +

    IMPORTANT NOTE: These options apply to the currently defined thermo +style. When you specify a thermo_style command, all thermodynamic settings are restored to their default values, including those previously reset by a thermo_modify command. Thus if your input script specifies a thermo_style command, you should use the -thermo_modify command after it.

    -
    -

    The lost keyword determines whether LAMMPS checks for lost atoms +thermo_modify command after it. +

    +

    The lost keyword determines whether LAMMPS checks for lost atoms each time it computes thermodynamics and what it does if atoms are -lost. An atom can be “lost” if it moves across a non-periodic -simulation box boundary or if it moves more than a box +lost. An atom can be "lost" if it moves across a non-periodic +simulation box boundary or if it moves more than a box length outside the simulation domain (or more than a processor sub-domain length) before reneighboring occurs. The latter case is typically due to bad dynamics, e.g. too large a timestep or huge -forces and velocities. If the value is ignore, LAMMPS does not -check for lost atoms. If the value is error or warn, LAMMPS +forces and velocities. If the value is ignore, LAMMPS does not +check for lost atoms. If the value is error or warn, LAMMPS checks and either issues an error or warning. The code will exit with an error and continue with a warning. A warning will only be issued once, the first time an atom is lost. This can be a useful debugging -option.

    -

    The lost/bond keyword determines whether LAMMPS throws an error or +option. +

    +

    The lost/bond keyword determines whether LAMMPS throws an error or not if an atom in a bonded interaction (bond, angle, etc) cannot be found when it creates bonded neighbor lists. By default this is a fatal error. However in some scenarios it may be desirable to only issue a warning or ignore it and skip the computation of the missing bond, angle, etc. An example would be when gas molecules in a vapor are drifting out of the box through a fixed boundary condition (see -the boundary command). In this case one atom may be -deleted before the rest of the molecule is, on a later timestep.

    -

    The norm keyword determines whether various thermodynamic output +the boundary command). In this case one atom may be +deleted before the rest of the molecule is, on a later timestep. +

    +

    The norm keyword determines whether various thermodynamic output values are normalized by the number of atoms or not, depending on -whether it is set to yes or no. Different unit styles have -different defaults for this setting (see below). Even if norm is -set to yes, a value is only normalized if it is an “extensive” +whether it is set to yes or no. Different unit styles have +different defaults for this setting (see below). Even if norm is +set to yes, a value is only normalized if it is an "extensive" quantity, meaning that it scales with the number of atoms in the system. For the thermo keywords described by the doc page for the -thermo_style command, all energy-related keywords -are extensive, such as pe or ebond or enthalpy. Other keywords -such as temp or press are “intensive” meaning their value is +thermo_style command, all energy-related keywords +are extensive, such as pe or ebond or enthalpy. Other keywords +such as temp or press are "intensive" meaning their value is independent (in a statistical sense) of the number of atoms in the system and thus are never normalized. For thermodynamic output values -extracted from fixes and computes in a thermo_style custom command, the doc page for the individual -fix or compute lists whether the value is -“extensive” or “intensive” and thus whether it is normalized. +extracted from fixes and computes in a thermo_style +custom command, the doc page for the individual +fix or compute lists whether the value is +"extensive" or "intensive" and thus whether it is normalized. Thermodynamic output values calculated by a variable formula are -assumed to be “intensive” and thus are never normalized. You can +assumed to be "intensive" and thus are never normalized. You can always include a divide by the number of atoms in the variable formula -if this is not the case.

    -

    The flush keyword invokes a flush operation after thermodynamic info +if this is not the case. +

    +

    The flush keyword invokes a flush operation after thermodynamic info is written to the log file. This insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the -simulation completes.

    -

    The line keyword determines whether thermodynamics will be printed +simulation completes. +

    +

    The line keyword determines whether thermodynamics will be printed as a series of numeric values on one line or in a multi-line format with 3 quantities with text strings per line and a dashed-line header containing the timestep and CPU time. This modify option overrides -the one and multi thermo_style settings.

    -

    The format keyword sets the numeric format of individual printed -quantities. The int and float keywords set the format for all +the one and multi thermo_style settings. +

    +

    The format keyword sets the numeric format of individual printed +quantities. The int and float keywords set the format for all integer or floating-point quantities printed. The setting with a numeric value M (e.g. format 5 %10.4g) sets the format of the Mth value printed in each output line, e.g. the 5th column of output in this case. If the format for a specific column has been set, it will -take precedent over the int or float setting.

    -
    -

    Warning

    -

    The thermo output values step and atoms are stored +take precedent over the int or float setting. +

    +

    IMPORTANT NOTE: The thermo output values step and atoms are stored internally as 8-byte signed integers, rather than the usual 4-byte -signed integers. When specifying the “format int” keyword you can use -a “%d”-style format identifier in the format string and LAMMPS will -convert this to the corresponding “%lu” form when it is applied to -those keywords. However, when specifying the “format M string” -keyword for step and natoms, you should specify a string -appropriate for an 8-byte signed integer, e.g. one with “%ld”.

    -
    -

    The temp keyword is used to determine how thermodynamic temperature +signed integers. When specifying the "format int" keyword you can use +a "%d"-style format identifier in the format string and LAMMPS will +convert this to the corresponding "%lu" form when it is applied to +those keywords. However, when specifying the "format M string" +keyword for step and natoms, you should specify a string +appropriate for an 8-byte signed integer, e.g. one with "%ld". +

    +

    The temp keyword is used to determine how thermodynamic temperature is calculated, which is used by all thermo quantities that require a -temperature (“temp”, “press”, “ke”, “etotal”, “enthalpy”, “pxx”, etc). +temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx", etc). The specified compute ID must have been previously defined by the user -via the compute command and it must be a style of +via the compute command and it must be a style of compute that calculates a temperature. As described in the -thermo_style command, thermo output uses a default -compute for temperature with ID = thermo_temp. This option allows -the user to override the default.

    -

    The press keyword is used to determine how thermodynamic pressure is +thermo_style command, thermo output uses a default +compute for temperature with ID = thermo_temp. This option allows +the user to override the default. +

    +

    The press keyword is used to determine how thermodynamic pressure is calculated, which is used by all thermo quantities that require a -pressure (“press”, “enthalpy”, “pxx”, etc). The specified compute ID +pressure ("press", "enthalpy", "pxx", etc). The specified compute ID must have been previously defined by the user via the -compute command and it must be a style of compute that +compute command and it must be a style of compute that calculates a pressure. As described in the -thermo_style command, thermo output uses a default -compute for pressure with ID = thermo_press. This option allows the -user to override the default.

    -
    -

    Warning

    -

    If both the temp and press keywords are used in a +thermo_style command, thermo output uses a default +compute for pressure with ID = thermo_press. This option allows the +user to override the default. +

    +

    IMPORTANT NOTE: If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by thermodynamics), -but only if the temp keyword comes after the press keyword. If -the temp keyword comes before the press keyword, then the new -pressure compute specified by the press keyword will be unaffected -by the temp setting.

    -
    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -

    The option defaults are lost = error, norm = yes for unit style of -lj, norm = no for unit style of real and metal, flush = no, -and temp/press = compute IDs defined by thermo_style.

    -

    The defaults for the line and format options depend on the thermo -style. For styles “one” and “custom”, the line and format defaults -are “one”, “%8d”, and “%12.8g”. For style “multi”, the line and -format defaults are “multi”, “%8d”, and “%14.4f”.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +but only if the temp keyword comes after the press keyword. If +the temp keyword comes before the press keyword, then the new +pressure compute specified by the press keyword will be unaffected +by the temp setting. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    thermo, thermo_style +

    +

    Default: +

    +

    The option defaults are lost = error, norm = yes for unit style of +lj, norm = no for unit style of real and metal, flush = no, +and temp/press = compute IDs defined by thermo_style. +

    +

    The defaults for the line and format options depend on the thermo +style. For styles "one" and "custom", the line and format defaults +are "one", "%8d", and "%12.8g". For style "multi", the line and +format defaults are "multi", "%8d", and "%14.4f". +

    + diff --git a/doc/thermo_style.html b/doc/thermo_style.html index 5195ac1a5c..593ba371f8 100644 --- a/doc/thermo_style.html +++ b/doc/thermo_style.html @@ -1,156 +1,39 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - thermo_style command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    thermo_style command¶

    -
    -

    Syntax¶

    -
    thermo_style style args
    -
    -
    -
      -
    • style = one or multi or custom
    • -
    • args = list of arguments for a particular style
    • -
    -
    -one args = none
    -  multi args = none
    -  custom args = list of keywords
    +
    +
    +
    + +

    thermo_style command +

    +

    Syntax: +

    +
    thermo_style style args 
    +
    +
    • style = one or multi or custom + +
    • args = list of arguments for a particular style + +
        one args = none
      +  multi args = none
      +  custom args = list of keywords
           possible keywords = step, elapsed, elaplong, dt, time,
                               cpu, tpcpu, spcpu, cpuremain, part,
                               atoms, temp, press, pe, ke, etotal, enthalpy,
                               evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
                               emol, elong, etail,
                               vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
      -                     xy, xz, yz, xlat, ylat, zlat,
      +		        xy, xz, yz, xlat, ylat, zlat,
                               bonds, angles, dihedrals, impropers,
      -                     pxx, pyy, pzz, pxy, pxz, pyz,
      -                     fmax, fnorm, nbuild, ndanger,
      -                     cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
      -                     c_ID, c_ID[I], c_ID[I][J],
      +		        pxx, pyy, pzz, pxy, pxz, pyz,
      +			fmax, fnorm, nbuild, ndanger,
      +			cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
      +			c_ID, c_ID[I], c_ID[I][J],
                               f_ID, f_ID[I], f_ID[I][J],
                               v_name
             step = timestep
      @@ -185,14 +68,14 @@
             lx,ly,lz = box lengths in x,y,z
             xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
             xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes
      -      xlat,ylat,zlat = lattice spacings as calculated by lattice command
      +      xlat,ylat,zlat = lattice spacings as calculated by lattice command
             bonds,angles,dihedrals,impropers = # of these interactions defined
             pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
             fmax = max component of force on any atom in any dimension
             fnorm = length of force vector for all atoms
             nbuild = # of neighbor list builds
             ndanger = # of dangerous neighbor list builds
      -      cella,cellb,cellc = periodic cell lattice constants a,b,c
      +      cella,cellb,cellc = periodic cell lattice constants a,b,c 
             cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
             c_ID = global scalar value calculated by a compute with ID
             c_ID[I] = Ith component of global vector calculated by a compute with ID
      @@ -200,319 +83,289 @@
             f_ID = global scalar value calculated by a fix with ID
             f_ID[I] = Ith component of global vector calculated by a fix with ID
             f_ID[I][J] = I,J component of global array calculated by a fix with ID
      -      v_name = scalar value calculated by an equal-style variable with name
      -
      -
    -
    -

    Examples¶

    -
    thermo_style multi
    +      v_name = scalar value calculated by an equal-style variable with name 
    +
    + + +

    Examples: +

    +
    thermo_style multi
     thermo_style custom step temp pe etotal press vol
    -thermo_style custom step temp etotal c_myTemp v_abc
    -
    -
    -
    -
    -

    Description¶

    -

    Set the style and content for printing thermodynamic data to the -screen and log file.

    -

    Style one prints a one-line summary of thermodynamic info that is -the equivalent of “thermo_style custom step temp epair emol etotal -press”. The line contains only numeric values.

    -

    Style multi prints a multiple-line listing of thermodynamic info -that is the equivalent of “thermo_style custom etotal ke temp pe ebond -eangle edihed eimp evdwl ecoul elong press”. The listing contains -numeric values and a string ID for each quantity.

    -

    Style custom is the most general setting and allows you to specify +thermo_style custom step temp etotal c_myTemp v_abc + +

    Description: +

    +

    Set the style and content for printing thermodynamic data to the +screen and log file. +

    +

    Style one prints a one-line summary of thermodynamic info that is +the equivalent of "thermo_style custom step temp epair emol etotal +press". The line contains only numeric values. +

    +

    Style multi prints a multiple-line listing of thermodynamic info +that is the equivalent of "thermo_style custom etotal ke temp pe ebond +eangle edihed eimp evdwl ecoul elong press". The listing contains +numeric values and a string ID for each quantity. +

    +

    Style custom is the most general setting and allows you to specify which of the keywords listed above you want printed on each thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are -references to computes, fixes, and -equal-style variables that have been defined +references to computes, fixes, and +equal-style variables that have been defined elsewhere in the input script or can even be new styles which users -have added to LAMMPS (see the Section_modify -section of the documentation). Thus the custom style provides a +have added to LAMMPS (see the Section_modify +section of the documentation). Thus the custom style provides a flexible means of outputting essentially any desired quantity as a -simulation proceeds.

    -

    All styles except custom have vol appended to their list of -outputs if the simulation box volume changes during the simulation.

    -

    The values printed by the various keywords are instantaneous values, +simulation proceeds. +

    +

    All styles except custom have vol appended to their list of +outputs if the simulation box volume changes during the simulation. +

    +

    The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the f_ID keyword and accessing a fix that does time-averaging such as the -fix ave/time command.

    -

    Options invoked by the thermo_modify command can +fix ave/time command. +

    +

    Options invoked by the thermo_modify command can be used to set the one- or multi-line format of the print-out, the normalization of thermodynamic output (total values versus per-atom values for extensive quantities (ones which scale with the number of -atoms in the system), and the numeric precision of each printed value.

    -
    -

    Warning

    -

    When you use a “thermo_style” command, all +atoms in the system), and the numeric precision of each printed value. +

    +

    IMPORTANT NOTE: When you use a "thermo_style" command, all thermodynamic settings are restored to their default values, including -those previously set by a thermo_modify command. +those previously set by a thermo_modify command. Thus if your input script specifies a thermo_style command, you should -use the thermo_modify command after it.

    -
    -
    -

    Several of the thermodynamic quantities require a temperature to be -computed: “temp”, “press”, “ke”, “etotal”, “enthalpy”, “pxx”, etc. By -default this is done by using a temperature compute which is created -when LAMMPS starts up, as if this command had been issued:

    -
    compute thermo_temp all temp
    -
    -
    -

    See the compute temp command for details. Note -that the ID of this compute is thermo_temp and the group is all. +use the thermo_modify command after it. +

    +
    + +

    Several of the thermodynamic quantities require a temperature to be +computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By +default this is done by using a temperature compute which is created +when LAMMPS starts up, as if this command had been issued: +

    +
    compute thermo_temp all temp 
    +
    +

    See the compute temp command for details. Note +that the ID of this compute is thermo_temp and the group is all. You can change the attributes of this temperature (e.g. its -degrees-of-freedom) via the compute_modify +degrees-of-freedom) via the compute_modify command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. -This is done via the thermo_modify command.

    -

    Several of the thermodynamic quantities require a pressure to be -computed: “press”, “enthalpy”, “pxx”, etc. By default this is done by -using a pressure compute which is created when LAMMPS starts up, as -if this command had been issued:

    -
    compute thermo_press all pressure thermo_temp
    -
    -
    -

    See the compute pressure command for details. -Note that the ID of this compute is thermo_press and the group is -all. You can change the attributes of this pressure via the -compute_modify command. Alternatively, you can +This is done via the thermo_modify command. +

    +

    Several of the thermodynamic quantities require a pressure to be +computed: "press", "enthalpy", "pxx", etc. By default this is done by +using a pressure compute which is created when LAMMPS starts up, as +if this command had been issued: +

    +
    compute thermo_press all pressure thermo_temp 
    +
    +

    See the compute pressure command for details. +Note that the ID of this compute is thermo_press and the group is +all. You can change the attributes of this pressure via the +compute_modify command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the -thermo_modify command.

    -

    Several of the thermodynamic quantities require a potential energy to -be computed: “pe”, “etotal”, “ebond”, etc. This is done by using a -pe compute which is created when LAMMPS starts up, as if this -command had been issued:

    -
    compute thermo_pe all pe
    -
    -
    -

    See the compute pe command for details. Note that -the ID of this compute is thermo_pe and the group is all. You can +thermo_modify command. +

    +

    Several of the thermodynamic quantities require a potential energy to +be computed: "pe", "etotal", "ebond", etc. This is done by using a +pe compute which is created when LAMMPS starts up, as if this +command had been issued: +

    +
    compute thermo_pe all pe 
    +
    +

    See the compute pe command for details. Note that +the ID of this compute is thermo_pe and the group is all. You can change the attributes of this potential energy via the -compute_modify command.

    -
    -

    The kinetic energy of the system ke is inferred from the temperature +compute_modify command. +

    +
    + +

    The kinetic energy of the system ke is inferred from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. -Thus, using different compute commands for calculating -temperature, via the thermo_modify temp command, +Thus, using different compute commands for calculating +temperature, via the thermo_modify temp command, may yield different kinetic energies, since different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include different degrees of freedom -(translational, rotational, etc).

    -

    The potential energy of the system pe will include contributions -from fixes if the fix_modify thermo option is set -for a fix that calculates such a contribution. For example, the fix wall/lj93 fix calculates the energy of atoms -interacting with the wall. See the doc pages for “individual fixes” -to see which ones contribute.

    -

    A long-range tail correction etail for the VanderWaal pairwise -energy will be non-zero only if the pair_modify tail option is turned on. The etail contribution -is included in evdwl, pe, and etotal, and the corresponding tail -correction to the pressure is included in press and pxx, pyy, -etc.

    -
    -

    The step, elapsed, and elaplong keywords refer to timestep -count. Step is the current timestep, or iteration count when a -minimization is being performed. Elapsed is the +(translational, rotational, etc). +

    +

    The potential energy of the system pe will include contributions +from fixes if the fix_modify thermo option is set +for a fix that calculates such a contribution. For example, the fix +wall/lj93 fix calculates the energy of atoms +interacting with the wall. See the doc pages for "individual fixes" +to see which ones contribute. +

    +

    A long-range tail correction etail for the VanderWaal pairwise +energy will be non-zero only if the pair_modify +tail option is turned on. The etail contribution +is included in evdwl, pe, and etotal, and the corresponding tail +correction to the pressure is included in press and pxx, pyy, +etc. +

    +
    + +

    The step, elapsed, and elaplong keywords refer to timestep +count. Step is the current timestep, or iteration count when a +minimization is being performed. Elapsed is the number of timesteps elapsed since the beginning of this run. -Elaplong is the number of timesteps elapsed since the beginning of -an initial run in a series of runs. See the start and stop -keywords for the run for info on how to invoke a series of +Elaplong is the number of timesteps elapsed since the beginning of +an initial run in a series of runs. See the start and stop +keywords for the run for info on how to invoke a series of runs that keep track of an initial starting time. If these keywords -are not used, then elapsed and elaplong are the same value.

    -

    The dt keyword is the current timestep size in time -units. The time keyword is the current elapsed -simulation time, also in time units, which is simply +are not used, then elapsed and elaplong are the same value. +

    +

    The dt keyword is the current timestep size in time +units. The time keyword is the current elapsed +simulation time, also in time units, which is simply (step*dt) if the timestep size has not changed and the timestep has -not been reset. If the timestep has changed (e.g. via fix dt/reset) or the timestep has been reset (e.g. via -the “reset_timestep” command), then the simulation time is effectively -a cummulative value up to the current point.

    -

    The cpu keyword is elapsed CPU seconds since the beginning of this -run. The tpcpu and spcpu keywords are measures of how fast your -simulation is currently running. The tpcpu keyword is simulation +not been reset. If the timestep has changed (e.g. via fix +dt/reset) or the timestep has been reset (e.g. via +the "reset_timestep" command), then the simulation time is effectively +a cummulative value up to the current point. +

    +

    The cpu keyword is elapsed CPU seconds since the beginning of this +run. The tpcpu and spcpu keywords are measures of how fast your +simulation is currently running. The tpcpu keyword is simulation time per CPU second, where simulation time is in time -units. E.g. for metal units, the tpcpu value would be -picoseconds per CPU second. The spcpu keyword is the number of +units. E.g. for metal units, the tpcpu value would be +picoseconds per CPU second. The spcpu keyword is the number of timesteps per CPU second. Both quantities are on-the-fly metrics, measured relative to the last time they were invoked. Thus if you are printing out thermodyamic output every 100 timesteps, the two keywords will continually output the time and timestep rate for the last 100 -steps. The tpcpu keyword does not attempt to track any changes in -timestep size, e.g. due to using the fix dt/reset -command.

    -

    The cpuremain keyword estimates the CPU time remaining in the +steps. The tpcpu keyword does not attempt to track any changes in +timestep size, e.g. due to using the fix dt/reset +command. +

    +

    The cpuremain keyword estimates the CPU time remaining in the current run, based on the time elapsed thus far. It will only be a good estimate if the CPU time/timestep for the rest of the run is similar to the preceding timesteps. On the initial timestep the value will be 0.0 since there is no history to estimate from. For a -minimization run performed by the “minimize” command, the estimate is -based on the maxiter parameter, assuming the minimization will -proceed for the maximum number of allowed iterations.

    -

    The part keyword is useful for multi-replica or multi-partition +minimization run performed by the "minimize" command, the estimate is +based on the maxiter parameter, assuming the minimization will +proceed for the maximum number of allowed iterations. +

    +

    The part keyword is useful for multi-replica or multi-partition simulations to indicate which partition this output and this file -corresponds to, or for use in a variable to append to -a filename for output specific to this partition. See Section_start 7 of the manual for details on running in -multi-partition mode.

    -

    The fmax and fnorm keywords are useful for monitoring the progress -of an energy minimization. The fmax keyword +corresponds to, or for use in a variable to append to +a filename for output specific to this partition. See Section_start +7 of the manual for details on running in +multi-partition mode. +

    +

    The fmax and fnorm keywords are useful for monitoring the progress +of an energy minimization. The fmax keyword calculates the maximum force in any dimension on any atom in the system, or the infinity-norm of the force vector for the system. The -fnorm keyword calculates the 2-norm or length of the force vector.

    -

    The nbuild and ndanger keywords are useful for monitoring neighbor +fnorm keyword calculates the 2-norm or length of the force vector. +

    +

    The nbuild and ndanger keywords are useful for monitoring neighbor list builds during a run. Note that both these values are also -printed with the end-of-run statistics. The nbuild keyword is the -number of re-builds during the current run. The ndanger keyword is +printed with the end-of-run statistics. The nbuild keyword is the +number of re-builds during the current run. The ndanger keyword is the number of re-builds that LAMMPS considered potentially -“dangerous”. If atom movement triggered neighbor list rebuilding (see -the neigh_modify command), then dangerous +"dangerous". If atom movement triggered neighbor list rebuilding (see +the neigh_modify command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild -takes place.

    -

    The keywords cella, cellb, cellc, cellalpha, cellbeta, -cellgamma, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See this section of the doc pages for a geometric +takes place. +

    +

    The keywords cella, cellb, cellc, cellalpha, cellbeta, +cellgamma, correspond to the usual crystallographic quantities that +define the periodic unit cell of a crystal. See this +section of the doc pages for a geometric description of triclinic periodic cells, including a precise defintion of these quantities in terms of the internal LAMMPS cell dimensions -lx, ly, lz, yz, xz, xy.

    -
    -

    The c_ID and c_ID[I] and c_ID[I][J] keywords allow global +lx, ly, lz, yz, xz, xy. +

    +
    + +

    The c_ID and c_ID[I] and c_ID[I][J] keywords allow global values calculated by a compute to be output. As discussed on the -compute doc page, computes can calculate global, +compute doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values can be referenced in a -variable and the variable referenced by thermo_style -custom, as discussed below.

    -

    The ID in the keyword should be replaced by the actual ID of a compute +variable and the variable referenced by thermo_style +custom, as discussed below. +

    +

    The ID in the keyword should be replaced by the actual ID of a compute that has been defined elsewhere in the input script. See the -compute command for details. If the compute calculates +compute command for details. If the compute calculates a global scalar, vector, or array, then the keyword formats with 0, 1, -or 2 brackets will reference a scalar value from the compute.

    -

    Note that some computes calculate “intensive” global quantities like -temperature; others calculate “extensive” global quantities like +or 2 brackets will reference a scalar value from the compute. +

    +

    Note that some computes calculate "intensive" global quantities like +temperature; others calculate "extensive" global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in -the compute group) when output, depending on the thermo_modify norm option being used.

    -

    The f_ID and f_ID[I] and f_ID[I][J] keywords allow global +the compute group) when output, depending on the thermo_modify +norm option being used. +

    +

    The f_ID and f_ID[I] and f_ID[I][J] keywords allow global values calculated by a fix to be output. As discussed on the -fix doc page, fixes can calculate global, per-atom, or +fix doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced in a -variable and the variable referenced by thermo_style -custom, as discussed below.

    -

    The ID in the keyword should be replaced by the actual ID of a fix +variable and the variable referenced by thermo_style +custom, as discussed below. +

    +

    The ID in the keyword should be replaced by the actual ID of a fix that has been defined elsewhere in the input script. See the -fix command for details. If the fix calculates a global +fix command for details. If the fix calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 -brackets will reference a scalar value from the fix.

    -

    Note that some fixes calculate “intensive” global quantities like -timestep size; others calculate “extensive” global quantities like +brackets will reference a scalar value from the fix. +

    +

    Note that some fixes calculate "intensive" global quantities like +timestep size; others calculate "extensive" global quantities like energy that are summed over all atoms in the fix group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) -when output, depending on the thermo_modify norm -option being used.

    -

    The v_name keyword allow the current value of a variable to be +when output, depending on the thermo_modify norm +option being used. +

    +

    The v_name keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style variables can be referenced. See the -variable command for details. Variables of style -equal can reference per-atom properties or thermodynamic keywords, +variable command for details. Variables of style +equal can reference per-atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when evaluated, -so this is a very general means of creating thermodynamic output.

    -

    Note that equal-style variables are assumed to be “intensive” global +so this is a very general means of creating thermodynamic output. +

    +

    Note that equal-style variables are assumed to be "intensive" global quantities, which are thus printed as-is, without normalization by -thermo_style custom. You can include a division by “natoms” in the -variable formula if this is not the case.

    -
    -
    -
    -

    Restrictions¶

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command.

    -
    - -
    -

    Default¶

    -
    thermo_style one
    -
    -
    -
    -
    +thermo_style custom. You can include a division by "natoms" in the +variable formula if this is not the case. +

    +
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    Restrictions: +

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command. +

    +

    Related commands: +

    +

    thermo, thermo_modify, +fix_modify, compute temp, +compute pressure +

    +

    Default: +

    +
    thermo_style one 
    +
    + diff --git a/doc/timestep.html b/doc/timestep.html index 780c474d12..b12cc15c9c 100644 --- a/doc/timestep.html +++ b/doc/timestep.html @@ -1,238 +1,49 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - timestep command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    timestep command¶

    -
    -

    Syntax¶

    -
    timestep dt
    -
    -
    -
      -
    • dt = timestep size (time units)
    • -
    -
    -
    -

    Examples¶

    -
    timestep 2.0
    -timestep 0.003
    -
    -
    -
    -
    -

    Description¶

    -

    Set the timestep size for subsequent molecular dynamics simulations. -See the units command for a discussion of time units. + + +


    + +

    timestep command +

    +

    Syntax: +

    +
    timestep dt 
    +
    +
    • dt = timestep size (time units) +
    +

    Examples: +

    +
    timestep 2.0 
    +timestep 0.003 
    +
    +

    Description: +

    +

    Set the timestep size for subsequent molecular dynamics simulations. +See the units command for a discussion of time units. The default value for the timestep also depends on the choice of units -for the simulation; see the default values below.

    -

    When the run style is respa, dt is the timestep for -the outer loop (largest) timestep.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -

    Default¶

    -
    -
    timestep = 0.005 tau for units = lj
    -
    timestep = 1.0 fmsec for units = real
    -
    timestep = 0.001 psec for units = metal
    -
    timestep = 1.0e-8 sec (10 nsec) for units = si or cgs
    -

    -
    -
    -
    +for the simulation; see the default values below. +

    +

    When the run style is respa, dt is the timestep for +the outer loop (largest) timestep. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix dt/reset, run, +run_style respa, units +

    +

    Default: +

    +timestep = 0.005 tau for units = lj
    +timestep = 1.0 fmsec for units = real
    +timestep = 0.001 psec for units = metal
    +timestep = 1.0e-8 sec (10 nsec) for units = si or cgs
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/doc/tutorial_drude.html b/doc/tutorial_drude.html index be03211ff0..b900440292 100644 --- a/doc/tutorial_drude.html +++ b/doc/tutorial_drude.html @@ -1,171 +1,70 @@ + + + +

    Tutorial for Thermalized Drude oscillators in LAMMPS +

    +

    This tutorial explains how to use Drude oscillators in LAMMPS to +simulate polarizable systems using the USER-DRUDE package. As an +illustration, the input files for a simulation of 250 phenol molecules +are documented. First of all, LAMMPS has to be compiled with the +USER-DRUDE package activated. Then, the data file and input scripts +have to be modified to include the Drude dipoles and how to handle +them. +

    +
    - - - - - - - - - <no title> — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - -
    -
    -
    - -

    Overview of Drude induced dipoles

    -

    Polarizable atoms acquire an induced electric dipole moment under the +

    Overview of Drude induced dipoles +

    +

    Polarizable atoms acquire an induced electric dipole moment under the action of an external electric field, for example the electric field created by the surrounding particles. Drude oscillators represent these dipoles by two fixed charges: the core (DC) and the Drude particle (DP) bound by a harmonic potential. The Drude particle can be thought of as the electron cloud whose center can be displaced from -the position of the the corresponding nucleus.

    -

    The sum of the masses of a core-Drude pair should be the mass of the -initial (unsplit) atom, (m_C + m_D = m). The sum of their charges -should be the charge of the initial (unsplit) atom, (q_C + q_D = q). +the position of the the corresponding nucleus. +

    +

    The sum of the masses of a core-Drude pair should be the mass of the +initial (unsplit) atom, \(m_C + m_D = m\). The sum of their charges +should be the charge of the initial (unsplit) atom, \(q_C + q_D = q\). A harmonic potential between the core and Drude partners should be -present, with force constant (k_D) and an equilibrium distance of -zero. The (half-)stiffness of the harmonic bond -(K_D = k_D/2) and the Drude charge (q_D) are related to the atom -polarizability (alpha) by

    -

    begin{equation} K_D = frac 1 2, frac {q_D^2} alpha -end{equation}

    -

    Ideally, the mass of the Drude particle should be small, and the +present, with force constant \(k_D\) and an equilibrium distance of +zero. The (half-)stiffness of the harmonic bond +\(K_D = k_D/2\) and the Drude charge \(q_D\) are related to the atom +polarizability \(\alpha\) by +

    +

    \begin{equation} K_D = \frac 1 2\, \frac {q_D^2} \alpha +\end{equation} +

    +

    Ideally, the mass of the Drude particle should be small, and the stiffness of the harmonic bond should be large, so that the Drude particle remains close ot the core. The values of Drude mass, Drude charge, and force constant can be chosen following different strategies, as in the following examples of polarizable force -fields.

    -
      -
    • Lamoureux and Roux suggest adopting a global -half-stiffness, (K_D) = 500 kcal/(mol &Aring;<sup>2</sup>) &mdash; -which corresponds to a force constant (k_D) = 4184 kJ/(mol -&Aring;<sup>2</sup>) &mdash; for all types of core-Drude bond, a -global mass (m_D) = 0.4 g/mol (or u) for all types of Drude +fields. +

      +
      • Lamoureux and Roux suggest adopting a global +half-stiffness, \(K_D\) = 500 kcal/(mol Å2) — +which corresponds to a force constant \(k_D\) = 4184 kJ/(mol +Å2) — for all types of core-Drude bond, a +global mass \(m_D\) = 0.4 g/mol (or u) for all types of Drude particle, and to calculate the Drude charges for individual atom types from the atom polarizabilities using equation (1). This choice is -followed in the polarizable CHARMM force field.
      • -
      • Schroeder and Steinhauser suggest adopting a global -charge (q_D) = -1.0e and a global mass (m_D) = 0.1 g/mol (or u) +followed in the polarizable CHARMM force field. + +
      • Schroeder and Steinhauser suggest adopting a global +charge \(q_D\) = -1.0e and a global mass \(m_D\) = 0.1 g/mol (or u) for all Drude particles, and to calculate the force constant for each type of core-Drude bond from equation (1). The timesteps used by these authors are between 0.5 and 2 fs, with the degrees of freedom of the Drude oscillators kept cold at 1 K. In both these force fields -hydrogen atoms are treated as non-polarizable.
      • -
      -

      The motion of of the Drude particles can be calculated by minimizing +hydrogen atoms are treated as non-polarizable. +

    +

    The motion of of the Drude particles can be calculated by minimizing the energy of the induced dipoles at each timestep, by an interative, self-consistent procedure. The Drude particles can be massless and therefore do not contribute to the kinetic energy. However, the @@ -176,203 +75,215 @@ decouple the degrees of freedom associated with the Drude oscillators from those of the normal atoms. Thermalizing the Drude dipoles at temperatures comparable to the rest of the simulation leads to several problems (kinetic energy transfer, very short timestep, etc.), which -can be remediated by the “cold Drude” technique (Lamoureux and Roux).

    -

    Two closely related models are used to represent polarization through -“charges on a spring”: the core-shell model and the Drude +can be remediated by the "cold Drude" technique (Lamoureux and +Roux). +

    +

    Two closely related models are used to represent polarization through +"charges on a spring": the core-shell model and the Drude model. Although the basic idea is the same, the core-shell model is normally used for ionic/crystalline materials, whereas the Drude model is normally used for molecular systems and fluid states. In ionic crystals the symmetry around each ion and the distance between them are such that the core-shell model is sufficiently stable. But to be applicable to molecular/covalent systems the Drude model includes two -important features:

    -
      -
    1. The possibility to thermostat the additional degrees of freedom
    2. -
    -
    -
    associated with the induced dipoles at very low temperature, in terms +important features: +

    +
    1. The possibility to thermostat the additional degrees of freedom +associated with the induced dipoles at very low temperature, in terms of the reduced coordinates of the Drude particles with respect to their cores. This makes the trajectory close to that of relaxed -induced dipoles.
    -
      -
    1. The Drude dipoles on covalently bonded atoms interact too strongly +induced dipoles. + +
    2. The Drude dipoles on covalently bonded atoms interact too strongly due to the short distances, so an atom may capture the Drude particle (shell) of a neighbor, or the induced dipoles within the same molecule may align too much. To avoid this, damping at short of the interactions between the point charges composing the induced dipole -can be done by Thole functions.
    3. -
    -
    -

    Preparation of the data file

    -

    The data file is similar to a standard LAMMPS data file for -atom_style full. The DPs and the harmonic bonds connecting them -to their DC should appear in the data file as normal atoms and bonds.

    -

    You can use the polarizer tool (Python script distributed with the +can be done by Thole functions. + +


    + +

    Preparation of the data file +

    +

    The data file is similar to a standard LAMMPS data file for +atom_style full. The DPs and the harmonic bonds connecting them +to their DC should appear in the data file as normal atoms and bonds. +

    +

    You can use the polarizer tool (Python script distributed with the USER-DRUDE package) to convert a non-polarizable data file (here -data.102494.lmp) to a polarizable data file (data-p.lmp)

    -
    polarizer -q -f phenol.dff data.102494.lmp data-p.lmp
    -
    -
    -

    This will automatically insert the new atoms and bonds. +data.102494.lmp) to a polarizable data file (data-p.lmp) +

    +
    polarizer -q -f phenol.dff data.102494.lmp data-p.lmp 
    +
    +

    This will automatically insert the new atoms and bonds. The masses and charges of DCs and DPs are computed -from phenol.dff, as well as the DC-DP bond constants. The file -phenol.dff contains the polarizabilities of the atom types -and the mass of the Drude particles, for instance:

    -
    # units: kJ/mol, A, deg
    +from phenol.dff, as well as the DC-DP bond constants.  The file
    +phenol.dff contains the polarizabilities of the atom types
    +and the mass of the Drude particles, for instance:
    +

    +
    # units: kJ/mol, A, deg
     # kforce is in the form k/2 r_D^2
     # type  m_D/u   q_D/e    k_D   alpha/A3  thole
     OH      0.4    -1.0    4184.0   0.63     0.67
     CA      0.4    -1.0    4184.0   1.36     2.51
    -CAI     0.4    -1.0    4184.0   1.09     2.51
    -
    -
    -

    The hydrogen atoms are absent from this file, so they will be treated +CAI 0.4 -1.0 4184.0 1.09 2.51 + +

    The hydrogen atoms are absent from this file, so they will be treated as non-polarizable atoms. In the non-polarizable data file -data.102494.lmp, atom names corresponding to the atom type numbers -have to be specified as comments at the end of lines of the Masses +data.102494.lmp, atom names corresponding to the atom type numbers +have to be specified as comments at the end of lines of the Masses section. You probably need to edit it to add these names. It should -look like

    -
    Masses
    -
    -
    -
    1 12.011 # CAI
    +look like
    +

    +
    Masses 
    +
    +
    1 12.011 # CAI
     2 12.011 # CA
     3 15.999 # OH
     4 1.008  # HA
    -5 1.008  # HO
    -
    -
    -
    -

    Basic input file

    -

    The atom style should be set to (or derive from) full, so that you -can define atomic charges and molecular bonds, angles, dihedrals...

    -

    The polarizer tool also outputs certain lines related to the input +5 1.008 # HO + +


    + +

    Basic input file +

    +

    The atom style should be set to (or derive from) full, so that you +can define atomic charges and molecular bonds, angles, dihedrals... +

    +

    The polarizer tool also outputs certain lines related to the input script (the use of these lines will be explained below). In order for LAMMPS to recognize that you are using Drude oscillators, you should -use the fix drude. The command is

    -
    fix DRUDE all drude C C C N N D D D
    -
    -
    -

    The N, C, D following the drude keyword have the following meaning: +use the fix drude. The command is +

    +
    fix DRUDE all drude C C C N N D D D 
    +
    +

    The N, C, D following the drude keyword have the following meaning: There is one tag for each atom type. This tag is C for DCs, D for DPs and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and -the atom types 6 to 8 are the newly created DPs.

    -

    By recognizing the fix drude, LAMMPS will find and store matching +the atom types 6 to 8 are the newly created DPs. +

    +

    By recognizing the fix drude, LAMMPS will find and store matching DC-DP pairs and will treat DP as equivalent to their DC in the -special bonds relations. It may be necessary to extend the space +special bonds relations. It may be necessary to extend the space for storing such special relations. In this case extra space should -be reserved by using the extra keyword of the special_bonds +be reserved by using the extra keyword of the special_bonds command. With our phenol, there is 1 more special neighbor for which space is required. Otherwise LAMMPS crashes and gives the required -value.

    -
    special_bonds lj/coul 0.0 0.0 0.5 extra 1
    -
    -
    -

    Let us assume we want to run a simple NVT simulation at 300 K. Note +value. +

    +
    special_bonds lj/coul 0.0 0.0 0.5 extra 1 
    +
    +

    Let us assume we want to run a simple NVT simulation at 300 K. Note that Drude oscillators need to be thermalized at a low temperature in order to approximate a self-consistent field (SCF), therefore it is not possible to simulate an NVE ensemble with this package. Since dipoles -are approximated by a charged DC-DP pair, the pair_style must -include Coulomb interactions, for instance lj/cut/coul/long with -kspace_style pppm. For example, with a cutoff of 10. and a precision -1.e-4:

    -
    pair_style lj/cut/coul/long 10.0
    -kspace_style pppm 1.0e-4
    -
    -
    -

    As compared to the non-polarizable input file, pair_coeff lines need +are approximated by a charged DC-DP pair, the pair_style must +include Coulomb interactions, for instance lj/cut/coul/long with +kspace_style pppm. For example, with a cutoff of 10. and a precision +1.e-4: +

    +
    pair_style lj/cut/coul/long 10.0
    +kspace_style pppm 1.0e-4 
    +
    +

    As compared to the non-polarizable input file, pair_coeff lines need to be added for the DPs. Since the DPs have no Lennard-Jones -interactions, their epsilon is 0. so the only pair_coeff line -that needs to be added is

    -
    pair_coeff * 6* 0.0 0.0 # All-DPs
    -
    -
    -

    Now for the thermalization, the simplest choice is to use the fix langevin/drude.

    -
    fix LANG all langevin/drude 300. 100 12435 1. 20 13977
    -
    -
    -

    This applies a Langevin thermostat at temperature 300. to the centers +interactions, their epsilon is 0. so the only pair_coeff line +that needs to be added is +

    +
    pair_coeff * 6* 0.0 0.0 # All-DPs 
    +
    +

    Now for the thermalization, the simplest choice is to use the fix +langevin/drude. +

    +
    fix LANG all langevin/drude 300. 100 12435 1. 20 13977 
    +
    +

    This applies a Langevin thermostat at temperature 300. to the centers of mass of the DC-DP pairs, with relaxation time 100 and with random seed 12345. This fix applies also a Langevin thermostat at temperature 1. to the relative motion of the DPs around their DCs, with relaxation time 20 and random seed 13977. Only the DCs and non-polarizable -atoms need to be in this fix’s group. LAMMPS will thermostate the DPs +atoms need to be in this fix's group. LAMMPS will thermostate the DPs together with their DC. For this, ghost atoms need to know their -velocities. Thus you need to add the following command:

    -
    comm_modify vel yes
    -
    -
    -

    In order to avoid that the center of mass of the whole system +velocities. Thus you need to add the following command: +

    +
    comm_modify vel yes 
    +
    +

    In order to avoid that the center of mass of the whole system drifts due to the random forces of the Langevin thermostat on DCs, you -can add the zero yes option at the end of the fix line.

    -

    If the fix shake is used to constrain the C-H bonds, it should be -invoked after the fix langevin/drude for more accuracy.

    -
    fix SHAKE ATOMS shake 0.0001 20 0 t 4 5
    -
    -
    -
    -

    Warning

    -

    The group of the fix shake must not include the DPs. -If the group ATOMS is defined by non-DPs atom types, you could use

    -
    -

    Since the fix langevin/drude does not perform time integration (just +can add the zero yes option at the end of the fix line. +

    +

    If the fix shake is used to constrain the C-H bonds, it should be +invoked after the fix langevin/drude for more accuracy. +

    +
    fix SHAKE ATOMS shake 0.0001 20 0 t 4 5 
    +
    +

    IMPORTANT NOTE: The group of the fix shake must not include the DPs. +If the group ATOMS is defined by non-DPs atom types, you could use +

    +

    Since the fix langevin/drude does not perform time integration (just modification of forces but no position/velocity updates), the fix -nve should be used in conjunction.

    -
    fix NVE all nve
    -
    -
    -

    Finally, do not forget to update the atom type elements if you use -them in a dump_modify ... element ... command, by adding the element -type of the DPs. Here for instance

    -
    dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz
    -dump_modify DUMP element C C O H H D D D
    -
    -
    -

    The input file should now be ready for use!

    -

    You will notice that the global temperature thermo_temp computed by +nve should be used in conjunction. +

    +
    fix NVE all nve 
    +
    +

    Finally, do not forget to update the atom type elements if you use +them in a dump_modify ... element ... command, by adding the element +type of the DPs. Here for instance +

    +
    dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz
    +dump_modify DUMP element C C O H H D D D 
    +
    +

    The input file should now be ready for use! +

    +

    You will notice that the global temperature thermo_temp computed by LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as standard atoms in his default compute. If you want to output the temperatures of the DC-DP pair centers of mass and of the DPs relative -to their DCs, you should use the compute temp_drude

    -
    compute TDRUDE all temp/drude
    -
    -
    -

    And then output the correct temperatures of the Drude oscillators -using thermo_style custom with respectively c_TDRUDE[1] and -c_TDRUDE[2]. These should be close to 300.0 and 1.0 on average.

    -
    thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2]
    -
    -
    -
    -

    Thole screening

    -

    Dipolar interactions represented by point charges on springs may not +to their DCs, you should use the compute +temp_drude +

    +
    compute TDRUDE all temp/drude 
    +
    +

    And then output the correct temperatures of the Drude oscillators +using thermo_style custom with respectively c_TDRUDE[1] and +c_TDRUDE[2]. These should be close to 300.0 and 1.0 on average. +

    +
    thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2] 
    +
    +
    + +

    Thole screening +

    +

    Dipolar interactions represented by point charges on springs may not be stable, for example if the atomic polarizability is too high for instance, a DP can escape from its DC and be captured by another DC, which makes the force and energy diverge and the simulation crash. Even without reaching this extreme case, the correlation between nearby dipoles on the same molecule may be exagerated. Often, special bond relations prevent bonded neighboring atoms to see the -charge of each other’s DP, so that the problem does not always appear. +charge of each other's DP, so that the problem does not always appear. It is possible to use screened dipole dipole interactions by using the -*pair_style thole*. This is implemented as a +pair_style thole. This is implemented as a correction to the Coulomb pair_styles, which dampens at short distance the interactions between the charges representing the induced dipoles. -It is to be used as hybrid/overlay with any standard coul pair -style. In our example, we would use

    -
    pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0
    -
    -
    -

    This tells LAMMPS that we are using two pair_styles. The first one is -as above (lj/cut/coul/long 10.0). The second one is a thole -pair_style with default screening factor 2.6 (Noskov) and -cutoff 10.0.

    -

    Since hybrid/overlay does not support mixing rules, the interaction -coefficients of all the pairs of atom types with i < j should be -explicitly defined. The output of the polarizer script can be used -to complete the pair_coeff section of the input file. In our -example, this will look like:

    -
    pair_coeff    1    1 lj/cut/coul/long    0.0700   3.550
    +It is to be used as hybrid/overlay with any standard coul pair
    +style.  In our example, we would use
    +

    +
    pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0 
    +
    +

    This tells LAMMPS that we are using two pair_styles. The first one is +as above (lj/cut/coul/long 10.0). The second one is a thole +pair_style with default screening factor 2.6 (Noskov) and +cutoff 10.0. +

    +

    Since hybrid/overlay does not support mixing rules, the interaction +coefficients of all the pairs of atom types with i < j should be +explicitly defined. The output of the polarizer script can be used +to complete the pair_coeff section of the input file. In our +example, this will look like: +

    +
    pair_coeff    1    1 lj/cut/coul/long    0.0700   3.550
     pair_coeff    1    2 lj/cut/coul/long    0.0700   3.550
     pair_coeff    1    3 lj/cut/coul/long    0.1091   3.310
     pair_coeff    1    4 lj/cut/coul/long    0.0458   2.985
    @@ -404,192 +315,153 @@ pair_coeff    6    7 thole   1.218   2.510
     pair_coeff    6    8 thole   0.829   1.590
     pair_coeff    7    7 thole   1.360   2.510
     pair_coeff    7    8 thole   0.926   1.590
    -pair_coeff    8    8 thole   0.630   0.670
    -
    -
    -

    For the thole pair style the coefficients are

    -
      -
    1. the atom polarizability in units of cubic length
    2. -
    3. the screening factor of the Thole function (optional, default value -specified by the pair_style command)
    4. -
    -
      -
    • the cutoff (optional, default value defined by the pair_style command)
    • -
    -

    The special neighbors have charge-charge and charge-dipole -interactions screened by the coul factors of the special_bonds +pair_coeff 8 8 thole 0.630 0.670 + +

    For the thole pair style the coefficients are +

    +
    1. the atom polarizability in units of cubic length + +
    2. the screening factor of the Thole function (optional, default value +specified by the pair_style command) + +
    3. the cutoff (optional, default value defined by the pair_style command) + +
    +

    The special neighbors have charge-charge and charge-dipole +interactions screened by the coul factors of the special_bonds command (0.0, 0.0, and 0.5 in the example above). Without using the -pair_style thole, dipole-dipole interactions are screened by the -same factor. By using the pair_style thole, dipole-dipole -interactions are screened by Thole’s function, whatever their special +pair_style thole, dipole-dipole interactions are screened by the +same factor. By using the pair_style thole, dipole-dipole +interactions are screened by Thole's function, whatever their special relationship (except within each DC-DP pair of course). Consider for -example 1-2 neighbors: using the pair_style thole, their dipoles -will see each other (despite the coul factor being 0.) and the -interactions between these dipoles will be damped by Thole’s function.

    -
    -

    Thermostats and barostats

    -

    Using a Nose-Hoover barostat with the langevin/drude thermostat is -straightforward using fix nph instead of nve. For example:

    -
    fix NPH all nph iso 1. 1. 500
    -
    -
    -

    It is also possible to use a Nose-Hoover instead of a Langevin -thermostat. This requires to use *fix drude/transform* just before and after the -time intergation fixes. The fix drude/transform/direct converts the +example 1-2 neighbors: using the pair_style thole, their dipoles +will see each other (despite the coul factor being 0.) and the +interactions between these dipoles will be damped by Thole's function. +

    +
    + +

    Thermostats and barostats +

    +

    Using a Nose-Hoover barostat with the langevin/drude thermostat is +straightforward using fix nph instead of nve. For example: +

    +
    fix NPH all nph iso 1. 1. 500 
    +
    +

    It is also possible to use a Nose-Hoover instead of a Langevin +thermostat. This requires to use fix +drude/transform just before and after the +time intergation fixes. The fix drude/transform/direct converts the atomic masses, positions, velocities and forces into a reduced representation, where the DCs transform into the centers of mass of the DC-DP pairs and the DPs transform into their relative position -with respect to their DC. The fix drude/transform/inverse performs +with respect to their DC. The fix drude/transform/inverse performs the reverse transformation. For a NVT simulation, with the DCs and -atoms at 300 K and the DPs at 1 K relative to their DC one would use

    -
    fix DIRECT all drude/transform/direct
    +atoms at 300 K and the DPs at 1 K relative to their DC one would use
    +

    +
    fix DIRECT all drude/transform/direct
     fix NVT1 ATOMS nvt temp 300. 300. 100
     fix NVT2 DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse
    -
    -
    -

    For our phenol example, the groups would be defined as

    -
    group ATOMS  type 1 2 3 4 5 # DCs and non-polarizable atoms
    +fix INVERSE all drude/transform/inverse 
    +
    +

    For our phenol example, the groups would be defined as +

    +
    group ATOMS  type 1 2 3 4 5 # DCs and non-polarizable atoms
     group CORES  type 1 2 3     # DCs
    -group DRUDES type 6 7 8     # DPs
    -
    -
    -

    Note that with the fixes drude/transform, it is not required to -specify comm_modify vel yes because the fixes do it anyway (several +group DRUDES type 6 7 8 # DPs + +

    Note that with the fixes drude/transform, it is not required to +specify comm_modify vel yes because the fixes do it anyway (several times and for the forces also). To avoid the flying ice cube artifact -(Lamoureux), where the atoms progressively freeze and the -center of mass of the whole system drifts faster and faster, the fix -momentum can be used. For instance:

    -
    fix MOMENTUM all momentum 100 linear 1 1 1
    -
    -
    -

    It is a bit more tricky to run a NPT simulation with Nose-Hoover +(Lamoureux), where the atoms progressively freeze and the +center of mass of the whole system drifts faster and faster, the fix +momentum can be used. For instance: +

    +
    fix MOMENTUM all momentum 100 linear 1 1 1 
    +
    +

    It is a bit more tricky to run a NPT simulation with Nose-Hoover barostat and thermostat. First, the volume should be integrated only -once. So the fix for DCs and atoms should be npt while the fix for -DPs should be nvt (or vice versa). Second, the fix npt computes a +once. So the fix for DCs and atoms should be npt while the fix for +DPs should be nvt (or vice versa). Second, the fix npt computes a global pressure and thus a global temperature whatever the fix group. We do want the pressure to correspond to the whole system, but we want the temperature to correspond to the fix group only. We must then use -the fix_modify command for this. In the end, the block of -instructions for thermostating and barostating will look like

    -
    compute TATOMS ATOMS temp
    +the fix_modify command for this.  In the end, the block of
    +instructions for thermostating and barostating will look like
    +

    +
    compute TATOMS ATOMS temp
     fix DIRECT all drude/transform/direct
     fix NPT ATOMS npt temp 300. 300. 100 iso 1. 1. 500
     fix_modify NPT temp TATOMS press thermo_press
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse
    -
    -
    -
    -

    Rigid bodies

    -

    You may want to simulate molecules as rigid bodies (but polarizable). -Common cases are water models such as SWM4-NDP, which is a +fix INVERSE all drude/transform/inverse + +


    + +

    Rigid bodies +

    +

    You may want to simulate molecules as rigid bodies (but polarizable). +Common cases are water models such as SWM4-NDP, which is a kind of polarizable TIP4P water. The rigid bodies and the DPs should be integrated separately, even with the Langevin thermostat. Let us -review the different thermostats and ensemble combinations.

    -

    NVT ensemble using Langevin thermostat:

    -
    comm_modify vel yes
    +review the different thermostats and ensemble combinations.
    +

    +

    NVT ensemble using Langevin thermostat: +

    +
    comm_modify vel yes
     fix LANG all langevin/drude 300. 100 12435 1. 20 13977
     fix RIGID ATOMS rigid/nve/small molecule
    -fix NVE DRUDES nve
    -
    -
    -

    NVT ensemble using Nose-Hoover thermostat:

    -
    fix DIRECT all drude/transform/direct
    +fix NVE DRUDES nve 
    +
    +

    NVT ensemble using Nose-Hoover thermostat: +

    +
    fix DIRECT all drude/transform/direct
     fix RIGID ATOMS rigid/nvt/small molecule temp 300. 300. 100
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse
    -
    -
    -

    NPT ensemble with Langevin thermostat:

    -
    comm_modify vel yes
    +fix INVERSE all drude/transform/inverse 
    +
    +

    NPT ensemble with Langevin thermostat: +

    +
    comm_modify vel yes
     fix LANG all langevin/drude 300. 100 12435 1. 20 13977
     fix RIGID ATOMS rigid/nph/small molecule iso 1. 1. 500
    -fix NVE DRUDES nve
    -
    -
    -

    NPT ensemble using Nose-Hoover thermostat:

    -
    compute TATOM ATOMS temp
    +fix NVE DRUDES nve 
    +
    +

    NPT ensemble using Nose-Hoover thermostat: +

    +
    compute TATOM ATOMS temp
     fix DIRECT all drude/transform/direct
     fix RIGID ATOMS rigid/npt/small molecule temp 300. 300. 100 iso 1. 1. 500
     fix_modify RIGID temp TATOM press thermo_press
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse
    -
    -
    -
    -

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003)

    -

    (Schroeder) Schr&ouml;der and Steinhauser, J Chem Phys, 133, -154511 (2010).

    -
    -
    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux,
    -
    J Phys Chem Lett, 2, 87-92 (2011).
    -
    -

    (Thole) Chem Phys, 59, 341 (1981).

    -

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005).

    -

    (SWM4-NDP) Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys -Let, 418, 245-249 (2006)

    +fix INVERSE all drude/transform/inverse + +
    + -
    -
    -
    - +

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003) +

    + -
    +

    (Schroeder) Schröder and Steinhauser, J Chem Phys, 133, +154511 (2010). +

    + -
    -

    - © Copyright . -

    -
    - Built with Sphinx using a theme provided by Read the Docs. +

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, + J Phys Chem Lett, 2, 87-92 (2011). +

    + -
    +

    (Thole) Chem Phys, 59, 341 (1981). +

    + -
    -
    +

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). +

    + -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    (SWM4-NDP) Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys +Let, 418, 245-249 (2006) +

    + diff --git a/doc/uncompute.html b/doc/uncompute.html index 9b8a0d30b9..8487f4aac6 100644 --- a/doc/uncompute.html +++ b/doc/uncompute.html @@ -1,225 +1,39 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - uncompute command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    uncompute command¶

    -
    -

    Syntax¶

    -
    uncompute compute-ID
    -
    -
    -
      -
    • compute-ID = ID of a previously defined compute
    • -
    -
    -
    -

    Examples¶

    -
    uncompute 2
    -uncompute lower-boundary
    -
    -
    -
    -
    -

    Description¶

    -

    Delete a compute that was previously defined with a compute + + +


    + +

    uncompute command +

    +

    Syntax: +

    +
    uncompute compute-ID 
    +
    +
    • compute-ID = ID of a previously defined compute +
    +

    Examples: +

    +
    uncompute 2
    +uncompute lower-boundary 
    +
    +

    Description: +

    +

    Delete a compute that was previously defined with a compute command. This also wipes out any additional changes made to the compute -via the compute_modify command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +via the compute_modify command. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute +

    +

    Default: none +

    + diff --git a/doc/undump.html b/doc/undump.html index 28bd3fc753..246fe03756 100644 --- a/doc/undump.html +++ b/doc/undump.html @@ -1,224 +1,38 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - undump command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    undump command¶

    -
    -

    Syntax¶

    -
    undump dump-ID
    -
    -
    -
      -
    • dump-ID = ID of previously defined dump
    • -
    -
    -
    -

    Examples¶

    -
    undump mine
    -undump 2
    -
    -
    -
    -
    -

    Description¶

    -

    Turn off a previously defined dump so that it is no longer active. -This closes the file associated with the dump.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +

    undump command +

    +

    Syntax: +

    +
    undump dump-ID 
    +
    +
    • dump-ID = ID of previously defined dump +
    +

    Examples: +

    +
    undump mine
    +undump 2 
    +
    +

    Description: +

    +

    Turn off a previously defined dump so that it is no longer active. +This closes the file associated with the dump. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    dump +

    +

    Default: none +

    + diff --git a/doc/unfix.html b/doc/unfix.html index 234e587340..2ae948c2c8 100644 --- a/doc/unfix.html +++ b/doc/unfix.html @@ -1,225 +1,39 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - unfix command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    unfix command¶

    -
    -

    Syntax¶

    -
    unfix fix-ID
    -
    -
    -
      -
    • fix-ID = ID of a previously defined fix
    • -
    -
    -
    -

    Examples¶

    -
    unfix 2
    -unfix lower-boundary
    -
    -
    -
    -
    -

    Description¶

    -

    Delete a fix that was previously defined with a fix + + +


    + +

    unfix command +

    +

    Syntax: +

    +
    unfix fix-ID 
    +
    +
    • fix-ID = ID of a previously defined fix +
    +

    Examples: +

    +
    unfix 2
    +unfix lower-boundary 
    +
    +

    Description: +

    +

    Delete a fix that was previously defined with a fix command. This also wipes out any additional changes made to the fix -via the fix_modify command.

    -
    -
    -

    Restrictions¶

    -
    -
    none
    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +via the fix_modify command. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    fix +

    +

    Default: none +

    + diff --git a/doc/units.html b/doc/units.html index 74999d7802..d532b2ae32 100644 --- a/doc/units.html +++ b/doc/units.html @@ -1,403 +1,223 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - units command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    units command¶

    -
    -

    Syntax¶

    -
    units style
    -
    -
    -
      -
    • style = lj or real or metal or si or cgs or electron or micro or nano
    • -
    -
    -
    -

    Examples¶

    -
    units metal
    -units lj
    -
    -
    -
    -
    -

    Description¶

    -

    This command sets the style of units used for a simulation. It + + +


    + +

    units command +

    +

    Syntax: +

    +
    units style 
    +
    +
    • style = lj or real or metal or si or cgs or electron or micro or nano +
    +

    Examples: +

    +
    units metal
    +units lj 
    +
    +

    Description: +

    +

    This command sets the style of units used for a simulation. It determines the units of all quantities specified in the input script and data file, as well as quantities output to the screen, log file, and dump files. Typically, this command is used at the very beginning -of an input script.

    -

    For all units except lj, LAMMPS uses physical constants from +of an input script. +

    +

    For all units except lj, LAMMPS uses physical constants from www.physics.nist.gov. For the definition of Kcal in real units, -LAMMPS uses the thermochemical calorie = 4.184 J.

    -

    The choice you make for units simply sets some internal conversion +LAMMPS uses the thermochemical calorie = 4.184 J. +

    +

    The choice you make for units simply sets some internal conversion factors within LAMMPS. This means that any simulation you perform for one choice of units can be duplicated with any other unit setting -LAMMPS supports. In this context “duplicate” means the particles will +LAMMPS supports. In this context "duplicate" means the particles will have identical trajectories and all output generated by the simulation will be identical. This will be the case for some number of timesteps until round-off effects accumulate, since the conversion factors for -two different unit systems are not identical to infinite precision.

    -

    To perform the same simulation in a different set of units you must +two different unit systems are not identical to infinite precision. +

    +

    To perform the same simulation in a different set of units you must change all the unit-based input parameters in your input script and other input files (data file, potential files, etc) correctly to the new units. And you must correctly convert all output from the new units to the old units when comparing to the original results. That -is often not simple to do.

    -
    -

    For style lj, all quantities are unitless. Without loss of +is often not simple to do. +

    +
    + +

    For style lj, all quantities are unitless. Without loss of generality, LAMMPS sets the fundamental quantities mass, sigma, epsilon, and the Boltzmann constant = 1. The masses, distances, energies you specify are multiples of these fundamental values. The formulas relating the reduced or unitless quantity (with an asterisk) to the same quantity with units is also given. Thus you can use the -mass & sigma & epsilon values for a specific material and convert the -results from a unitless LJ simulation into physical quantities.

    -
      -
    • mass = mass or m
    • -
    • distance = sigma, where x* = x / sigma
    • -
    • time = tau, where t* = t (epsilon / m / sigma^2)^1/2
    • -
    • energy = epsilon, where E* = E / epsilon
    • -
    • velocity = sigma/tau, where v* = v tau / sigma
    • -
    • force = epsilon/sigma, where f* = f sigma / epsilon
    • -
    • torque = epsilon, where t* = t / epsilon
    • -
    • temperature = reduced LJ temperature, where T* = T Kb / epsilon
    • -
    • pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon
    • -
    • dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau
    • -
    • charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2
    • -
    • dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2
    • -
    • electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon
    • -
    • density = mass/volume, where rho* = rho sigma^dim
    • -
    -

    Note that for LJ units, the default mode of thermodyamic output via -the thermo_style command is to normalize energies +mass & sigma & epsilon values for a specific material and convert the +results from a unitless LJ simulation into physical quantities. +

    +
    • mass = mass or m +
    • distance = sigma, where x* = x / sigma +
    • time = tau, where t* = t (epsilon / m / sigma^2)^1/2 +
    • energy = epsilon, where E* = E / epsilon +
    • velocity = sigma/tau, where v* = v tau / sigma +
    • force = epsilon/sigma, where f* = f sigma / epsilon +
    • torque = epsilon, where t* = t / epsilon +
    • temperature = reduced LJ temperature, where T* = T Kb / epsilon +
    • pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon +
    • dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau +
    • charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2 +
    • dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2 +
    • electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon +
    • density = mass/volume, where rho* = rho sigma^dim +
    +

    Note that for LJ units, the default mode of thermodyamic output via +the thermo_style command is to normalize energies by the number of atoms, i.e. energy/atom. This can be changed via the -thermo_modify norm command.

    -

    For style real, these are the units:

    -
      -
    • mass = grams/mole
    • -
    • distance = Angstroms
    • -
    • time = femtoseconds
    • -
    • energy = Kcal/mole
    • -
    • velocity = Angstroms/femtosecond
    • -
    • force = Kcal/mole-Angstrom
    • -
    • torque = Kcal/mole
    • -
    • temperature = Kelvin
    • -
    • pressure = atmospheres
    • -
    • dynamic viscosity = Poise
    • -
    • charge = multiple of electron charge (1.0 is a proton)
    • -
    • dipole = charge*Angstroms
    • -
    • electric field = volts/Angstrom
    • -
    • density = gram/cm^dim
    • -
    -

    For style metal, these are the units:

    -
      -
    • mass = grams/mole
    • -
    • distance = Angstroms
    • -
    • time = picoseconds
    • -
    • energy = eV
    • -
    • velocity = Angstroms/picosecond
    • -
    • force = eV/Angstrom
    • -
    • torque = eV
    • -
    • temperature = Kelvin
    • -
    • pressure = bars
    • -
    • dynamic viscosity = Poise
    • -
    • charge = multiple of electron charge (1.0 is a proton)
    • -
    • dipole = charge*Angstroms
    • -
    • electric field = volts/Angstrom
    • -
    • density = gram/cm^dim
    • -
    -

    For style si, these are the units:

    -
      -
    • mass = kilograms
    • -
    • distance = meters
    • -
    • time = seconds
    • -
    • energy = Joules
    • -
    • velocity = meters/second
    • -
    • force = Newtons
    • -
    • torque = Newton-meters
    • -
    • temperature = Kelvin
    • -
    • pressure = Pascals
    • -
    • dynamic viscosity = Pascal*second
    • -
    • charge = Coulombs (1.6021765e-19 is a proton)
    • -
    • dipole = Coulombs*meters
    • -
    • electric field = volts/meter
    • -
    • density = kilograms/meter^dim
    • -
    -

    For style cgs, these are the units:

    -
      -
    • mass = grams
    • -
    • distance = centimeters
    • -
    • time = seconds
    • -
    • energy = ergs
    • -
    • velocity = centimeters/second
    • -
    • force = dynes
    • -
    • torque = dyne-centimeters
    • -
    • temperature = Kelvin
    • -
    • pressure = dyne/cm^2 or barye = 1.0e-6 bars
    • -
    • dynamic viscosity = Poise
    • -
    • charge = statcoulombs or esu (4.8032044e-10 is a proton)
    • -
    • dipole = statcoul-cm = 10^18 debye
    • -
    • electric field = statvolt/cm or dyne/esu
    • -
    • density = grams/cm^dim
    • -
    -

    For style electron, these are the units:

    -
      -
    • mass = atomic mass units
    • -
    • distance = Bohr
    • -
    • time = femtoseconds
    • -
    • energy = Hartrees
    • -
    • velocity = Bohr/atomic time units [1.03275e-15 seconds]
    • -
    • force = Hartrees/Bohr
    • -
    • temperature = Kelvin
    • -
    • pressure = Pascals
    • -
    • charge = multiple of electron charge (1.0 is a proton)
    • -
    • dipole moment = Debye
    • -
    • electric field = volts/cm
    • -
    -

    For style micro, these are the units:

    -
      -
    • mass = picograms
    • -
    • distance = micrometers
    • -
    • time = microseconds
    • -
    • energy = picogram-micrometer^2/microsecond^2
    • -
    • velocity = micrometers/microsecond
    • -
    • force = picogram-micrometer/microsecond^2
    • -
    • torque = picogram-micrometer^2/microsecond^2
    • -
    • temperature = Kelvin
    • -
    • pressure = picogram/(micrometer-microsecond^2)
    • -
    • dynamic viscosity = picogram/(micrometer-microsecond)
    • -
    • charge = picocoulombs (1.6021765e-7 is a proton)
    • -
    • dipole = picocoulomb-micrometer
    • -
    • electric field = volt/micrometer
    • -
    • density = picograms/micrometer^dim
    • -
    -

    For style nano, these are the units:

    -
      -
    • mass = attograms
    • -
    • distance = nanometers
    • -
    • time = nanoseconds
    • -
    • energy = attogram-nanometer^2/nanosecond^2
    • -
    • velocity = nanometers/nanosecond
    • -
    • force = attogram-nanometer/nanosecond^2
    • -
    • torque = attogram-nanometer^2/nanosecond^2
    • -
    • temperature = Kelvin
    • -
    • pressure = attogram/(nanometer-nanosecond^2)
    • -
    • dynamic viscosity = attogram/(nanometer-nanosecond)
    • -
    • charge = multiple of electron charge (1.0 is a proton)
    • -
    • dipole = charge-nanometer
    • -
    • electric field = volt/nanometer
    • -
    • density = attograms/nanometer^dim
    • -
    -

    The units command also sets the timestep size and neighbor skin -distance to default values for each style:

    -
      -
    • For style lj these are dt = 0.005 tau and skin = 0.3 sigma.
    • -
    • For style real these are dt = 1.0 fmsec and skin = 2.0 Angstroms.
    • -
    • For style metal these are dt = 0.001 psec and skin = 2.0 Angstroms.
    • -
    • For style si these are dt = 1.0e-8 sec and skin = 0.001 meters.
    • -
    • For style cgs these are dt = 1.0e-8 sec and skin = 0.1 cm.
    • -
    • For style electron these are dt = 0.001 fmsec and skin = 2.0 Bohr.
    • -
    • For style micro these are dt = 2.0 microsec and skin = 0.1 micrometers.
    • -
    • For style nano these are dt = 0.00045 nanosec and skin = 0.1 nanometers.
    • -
    -
    -
    -

    Restrictions¶

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command.

    -

    Related commands: none

    -
    -
    -

    Default¶

    -
    units lj
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +thermo_modify norm command. +

    +

    For style real, these are the units: +

    +
    • mass = grams/mole +
    • distance = Angstroms +
    • time = femtoseconds +
    • energy = Kcal/mole +
    • velocity = Angstroms/femtosecond +
    • force = Kcal/mole-Angstrom +
    • torque = Kcal/mole +
    • temperature = Kelvin +
    • pressure = atmospheres +
    • dynamic viscosity = Poise +
    • charge = multiple of electron charge (1.0 is a proton) +
    • dipole = charge*Angstroms +
    • electric field = volts/Angstrom +
    • density = gram/cm^dim +
    +

    For style metal, these are the units: +

    +
    • mass = grams/mole +
    • distance = Angstroms +
    • time = picoseconds +
    • energy = eV +
    • velocity = Angstroms/picosecond +
    • force = eV/Angstrom +
    • torque = eV +
    • temperature = Kelvin +
    • pressure = bars +
    • dynamic viscosity = Poise +
    • charge = multiple of electron charge (1.0 is a proton) +
    • dipole = charge*Angstroms +
    • electric field = volts/Angstrom +
    • density = gram/cm^dim +
    +

    For style si, these are the units: +

    +
    • mass = kilograms +
    • distance = meters +
    • time = seconds +
    • energy = Joules +
    • velocity = meters/second +
    • force = Newtons +
    • torque = Newton-meters +
    • temperature = Kelvin +
    • pressure = Pascals +
    • dynamic viscosity = Pascal*second +
    • charge = Coulombs (1.6021765e-19 is a proton) +
    • dipole = Coulombs*meters +
    • electric field = volts/meter +
    • density = kilograms/meter^dim +
    +

    For style cgs, these are the units: +

    +
    • mass = grams +
    • distance = centimeters +
    • time = seconds +
    • energy = ergs +
    • velocity = centimeters/second +
    • force = dynes +
    • torque = dyne-centimeters +
    • temperature = Kelvin +
    • pressure = dyne/cm^2 or barye = 1.0e-6 bars +
    • dynamic viscosity = Poise +
    • charge = statcoulombs or esu (4.8032044e-10 is a proton) +
    • dipole = statcoul-cm = 10^18 debye +
    • electric field = statvolt/cm or dyne/esu +
    • density = grams/cm^dim +
    +

    For style electron, these are the units: +

    +
    • mass = atomic mass units +
    • distance = Bohr +
    • time = femtoseconds +
    • energy = Hartrees +
    • velocity = Bohr/atomic time units [1.03275e-15 seconds] +
    • force = Hartrees/Bohr +
    • temperature = Kelvin +
    • pressure = Pascals +
    • charge = multiple of electron charge (1.0 is a proton) +
    • dipole moment = Debye +
    • electric field = volts/cm +
    +

    For style micro, these are the units: +

    +
    • mass = picograms +
    • distance = micrometers +
    • time = microseconds +
    • energy = picogram-micrometer^2/microsecond^2 +
    • velocity = micrometers/microsecond +
    • force = picogram-micrometer/microsecond^2 +
    • torque = picogram-micrometer^2/microsecond^2 +
    • temperature = Kelvin +
    • pressure = picogram/(micrometer-microsecond^2) +
    • dynamic viscosity = picogram/(micrometer-microsecond) +
    • charge = picocoulombs (1.6021765e-7 is a proton) +
    • dipole = picocoulomb-micrometer +
    • electric field = volt/micrometer +
    • density = picograms/micrometer^dim +
    +

    For style nano, these are the units: +

    +
    • mass = attograms +
    • distance = nanometers +
    • time = nanoseconds +
    • energy = attogram-nanometer^2/nanosecond^2 +
    • velocity = nanometers/nanosecond +
    • force = attogram-nanometer/nanosecond^2 +
    • torque = attogram-nanometer^2/nanosecond^2 +
    • temperature = Kelvin +
    • pressure = attogram/(nanometer-nanosecond^2) +
    • dynamic viscosity = attogram/(nanometer-nanosecond) +
    • charge = multiple of electron charge (1.0 is a proton) +
    • dipole = charge-nanometer +
    • electric field = volt/nanometer +
    • density = attograms/nanometer^dim +
    +

    The units command also sets the timestep size and neighbor skin +distance to default values for each style: +

    +
    • For style lj these are dt = 0.005 tau and skin = 0.3 sigma. +
    • For style real these are dt = 1.0 fmsec and skin = 2.0 Angstroms. +
    • For style metal these are dt = 0.001 psec and skin = 2.0 Angstroms. +
    • For style si these are dt = 1.0e-8 sec and skin = 0.001 meters. +
    • For style cgs these are dt = 1.0e-8 sec and skin = 0.1 cm. +
    • For style electron these are dt = 0.001 fmsec and skin = 2.0 Bohr. +
    • For style micro these are dt = 2.0 microsec and skin = 0.1 micrometers. +
    • For style nano these are dt = 0.00045 nanosec and skin = 0.1 nanometers. +
    +

    Restrictions: +

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command. +

    +

    Related commands: none +

    +

    Default: +

    +
    units lj 
    +
    + diff --git a/doc/variable.html b/doc/variable.html index d3867fa481..9d10201bf3 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -1,206 +1,90 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - variable command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    variable command¶

    -
    -

    Syntax¶

    -
    variable name style args ...
    -
    -
    -
      -
    • name = name of variable to define
    • -
    • style = delete or index or loop or world or universe or -uloop or string or format or getenv or file or atomfile or python or equal or atom
    • -
    -
    -delete = no args
    -  index args = one or more strings
    -  loop args = N
    +
    +
    +
    + +

    variable command +

    +

    Syntax: +

    +
    variable name style args ... 
    +
    +
    • name = name of variable to define + +
    • style = delete or index or loop or world or universe or +uloop or string or format or getenv or file or atomfile or python or equal or atom + +
        delete = no args
      +  index args = one or more strings
      +  loop args = N
           N = integer size of loop, loop from 1 to N inclusive
      -  loop args = N pad
      +  loop args = N pad
           N = integer size of loop, loop from 1 to N inclusive
           pad = all values will be same length, e.g. 001, 002, ..., 100
      -  loop args = N1 N2
      +  loop args = N1 N2
           N1,N2 = loop from N1 to N2 inclusive
      -  loop args = N1 N2 pad
      +  loop args = N1 N2 pad
           N1,N2 = loop from N1 to N2 inclusive
           pad = all values will be same length, e.g. 050, 051, ..., 100
      -  world args = one string for each partition of processors
      -  universe args = one or more strings
      -  uloop args = N
      +  world args = one string for each partition of processors
      +  universe args = one or more strings
      +  uloop args = N
           N = integer size of loop
      -  uloop args = N pad
      +  uloop args = N pad
           N = integer size of loop
           pad = all values will be same length, e.g. 001, 002, ..., 100
      -  string arg = one string
      -  format args = vname fstr
      +  string arg = one string
      +  format args = vname fstr
           vname = name of equal-style variable to evaluate
           fstr = C-style format string
      -  getenv arg = one string
      -  file arg = filename
      -  atomfile arg = filename
      -  python arg = function
      -  equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
      +  getenv arg = one string
      +  file arg = filename
      +  atomfile arg = filename
      +  python arg = function
      +  equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
           numbers = 0.0, 100, -5.4, 2.8e-4, etc
           constants = PI
      -    thermo keywords = vol, ke, press, etc from thermo_style
      +    thermo keywords = vol, ke, press, etc from thermo_style
           math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
      -                     x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x
      +                     x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
           math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
                            sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
                            random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x)
      -                     ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
      -                  stride(x,y,z), stride2(x,y,z,a,b,c),
      -                  vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
      +                     ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), 
      +		     stride(x,y,z), stride2(x,y,z,a,b,c), 
      +		     vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
           group functions = count(group), mass(group), charge(group),
      -                   xcm(group,dim), vcm(group,dim), fcm(group,dim),
      -                   bound(group,dir), gyration(group), ke(group),
      -                   angmom(group,dim), torque(group,dim),
      +		      xcm(group,dim), vcm(group,dim), fcm(group,dim),
      +		      bound(group,dir), gyration(group), ke(group),
      +		      angmom(group,dim), torque(group,dim),
                             inertia(group,dimdim), omega(group,dim)
           region functions = count(group,region), mass(group,region), charge(group,region),
      -                   xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
      -                   bound(group,dir,region), gyration(group,region), ke(group,reigon),
      -                   angmom(group,dim,region), torque(group,dim,region),
      -                   inertia(group,dimdim,region), omega(group,dim,region)
      +		      xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
      +		      bound(group,dir,region), gyration(group,region), ke(group,reigon),
      +		      angmom(group,dim,region), torque(group,dim,region), 
      +		      inertia(group,dimdim,region), omega(group,dim,region)
           special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
           atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
           atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
           compute references = c_ID, c_ID[i], c_ID[i][j]
           fix references = f_ID, f_ID[i], f_ID[i][j]
      -    variable references = v_name, v_name[i]
      -
      -
    -
    -

    Examples¶

    -
    variable x index run1 run2 run3 run4 run5 run6 run7 run8
    +    variable references = v_name, v_name[i] 
    +
    + + +

    Examples: +

    +
    variable x index run1 run2 run3 run4 run5 run6 run7 run8
     variable LoopVar loop $n
     variable beta equal temp/3.0
     variable b1 equal x[234]+0.5*vol
    -variable b1 equal "x[234] + 0.5*vol"
    +variable b1 equal "x[234] + 0.5*vol"
     variable b equal xcm(mol1,x)/2.0
     variable b equal c_myTemp
     variable b atom x*y/vol
    @@ -211,325 +95,373 @@ variable temp world 300.0 310.0 320.0 ${Tfinal}
     variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     variable x uloop 15 pad
     variable str format x %.6g
    -variable x delete
    -
    -
    -
    -
    -

    Description¶

    -

    This command assigns one or more strings to a variable name for -evaluation later in the input script or during a simulation.

    -

    Variables can thus be useful in several contexts. A variable can be +variable x delete + +

    Description: +

    +

    This command assigns one or more strings to a variable name for +evaluation later in the input script or during a simulation. +

    +

    Variables can thus be useful in several contexts. A variable can be defined and then referenced elsewhere in an input script to become part of a new input command. For variable styles that store multiple -strings, the next command can be used to increment which -string is assigned to the variable. Variables of style equal store +strings, the next command can be used to increment which +string is assigned to the variable. Variables of style equal store a formula which when evaluated produces a single numeric value which -can be output either directly (see the print, fix print, and run every commands) or as part -of thermodynamic output (see the thermo_style -command), or used as input to an averaging fix (see the fix ave/time command). Variables of style atom store +can be output either directly (see the print, fix +print, and run every commands) or as part +of thermodynamic output (see the thermo_style +command), or used as input to an averaging fix (see the fix +ave/time command). Variables of style atom store a formula which when evaluated produces one numeric value per atom -which can be output to a dump file (see the dump custom -command) or used as input to an averaging fix (see the fix ave/spatial and fix ave/atom -commands). Variables of style atomfile can be used anywhere in an +which can be output to a dump file (see the dump custom +command) or used as input to an averaging fix (see the fix +ave/spatial and fix ave/atom +commands). Variables of style atomfile can be used anywhere in an input script that atom-style variables are used; they get their per-atom values from a file rather than from a formula. Variables can be hooked to Python functions using code you provide, so that the -variable gets its value from the evaluation of the Python code.

    -
    -

    Warning

    -

    As discussed in Section 3.2 -of the manual, an input script can use “immediate” variables, specified +variable gets its value from the evaluation of the Python code. +

    +

    IMPORTANT NOTE: As discussed in Section 3.2 +of the manual, an input script can use "immediate" variables, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This is a convenient way to evaluate a formula immediately without using the variable command to define a named variable and then evaluate that variable. See below -for a more detailed discussion of this feature.

    -
    -

    In the discussion that follows, the “name” of the variable is the +for a more detailed discussion of this feature. +

    +

    In the discussion that follows, the "name" of the variable is the arbitrary string that is the 1st argument in the variable command. This name can only contain alphanumeric characters and underscores. -The “string” is one or more of the subsequent arguments. The “string” +The "string" is one or more of the subsequent arguments. The "string" can be simple text as in the 1st example above, it can contain other variables as in the 2nd example, or it can be a formula as in the 3rd -example. The “value” is the numeric quantity resulting from +example. The "value" is the numeric quantity resulting from evaluation of the string. Note that the same string can generate different values when it is evaluated at different times during a -simulation.

    -
    -

    Warning

    -

    When the input script line is encountered that defines -a variable of style equal or atom or python that contains a +simulation. +

    +

    IMPORTANT NOTE: When the input script line is encountered that defines +a variable of style equal or atom or python that contains a formula or Python code, the formula is NOT immediately evaluated. -It will be evaluated every time when the variable is used instead. +It will be evaluated every time when the variable is used instead. If you simply want to evaluate a formula in place you can use as -so-called. See the section below about “Immediate Evaluation -of Variables” for more details on the topic. This is also true of -a format style variable since it evaluates another variable when -it is invoked.

    -
    -
    -

    Warning

    -

    Variables of style equal and atom can be used as +so-called. See the section below about "Immediate Evaluation +of Variables" for more details on the topic. This is also true of +a format style variable since it evaluates another variable when +it is invoked. +

    +

    IMPORTANT NOTE: Variables of style equal and atom can be used as inputs to various other LAMMPS commands which evaluate their formulas -as needed, e.g. at different timesteps during a run. -Variables of style python can be used in place of an equal-style +as needed, e.g. at different timesteps during a run. +Variables of style python can be used in place of an equal-style variable so long as the associated Python function, as defined by the -python command, returns a numeric value. Thus any +python command, returns a numeric value. Thus any command that states it can use an equal-style variable as an argument, can also use such a python-style variable. This means that when the LAMMPS command evaluates the variable, the Python function will be -executed.

    -
    -
    -

    Warning

    -

    When a variable command is encountered in the input +executed. +

    +

    IMPORTANT NOTE: When a variable command is encountered in the input script and the variable name has already been specified, the command is ignored. This means variables can NOT be re-defined in an input script (with two exceptions, read further). This is to allow an input script to be processed multiple times without resetting the variables; -see the jump or include commands. It also -means that using the command-line switch +see the jump or include commands. It also +means that using the command-line switch -var will override a corresponding index variable setting in the input -script.

    -
    -

    There are two exceptions to this rule. First, variables of style -string, getenv, equal, atom, and python ARE redefined each +script. +

    +

    There are two exceptions to this rule. First, variables of style +string, getenv, equal, atom, and python ARE redefined each time the command is encountered. This allows these style of variables to be redefined multiple times in an input script. In a loop, this -means the formula associated with an equal or atom style variable +means the formula associated with an equal or atom style variable can change if it contains a substitution for another variable, e.g. $x -or v_x.

    -

    Second, as described below, if a variable is iterated on to the end of -its list of strings via the next command, it is removed +or v_x. +

    +

    Second, as described below, if a variable is iterated on to the end of +its list of strings via the next command, it is removed from the list of active variables, and is thus available to be -re-defined in a subsequent variable command. The delete style does -the same thing.

    -
    -

    This section of the manual explains how +re-defined in a subsequent variable command. The delete style does +the same thing. +

    +
    + +

    This section of the manual explains how occurrences of a variable name in an input script line are replaced by -the variable’s string. The variable name can be referenced as $x if -the name “x” is a single character, or as ${LoopVar} if the name -“LoopVar” is one or more characters.

    -

    As described below, for variable styles index, loop, file, -universe, and uloop, which string is assigned to a variable can be -incremented via the next command. When there are no more +the variable's string. The variable name can be referenced as $x if +the name "x" is a single character, or as ${LoopVar} if the name +"LoopVar" is one or more characters. +

    +

    As described below, for variable styles index, loop, file, +universe, and uloop, which string is assigned to a variable can be +incremented via the next command. When there are no more strings to assign, the variable is exhausted and a flag is set that -causes the next jump command encountered in the input +causes the next jump command encountered in the input script to be skipped. This enables the construction of simple loops -in the input script that are iterated over and then exited from.

    -

    As explained above, an exhausted variable can be re-used in an input -script. The delete style also removes the variable, the same as if +in the input script that are iterated over and then exited from. +

    +

    As explained above, an exhausted variable can be re-used in an input +script. The delete style also removes the variable, the same as if it were exhausted, allowing it to be redefined later in the input script or when the input script is looped over. This can be useful -when breaking out of a loop via the if and jump -commands before the variable would become exhausted. For example,

    -
    label            loop
    +when breaking out of a loop via the if and jump
    +commands before the variable would become exhausted.  For example,
    +

    +
    label	    loop
     variable    a loop 5
    -print            "A = $a"
    -if       "$a > 2" then "jump in.script break"
    -next     a
    -jump     in.script loop
    -label            break
    -variable    a delete
    -
    -
    -
    -

    This section describes how all the various variable styles are defined -and what they store. Except for the equal and atom styles, -which are explaine in the next section.

    -

    Many of the styles store one or more strings. Note that a single +print "A = $a" +if "$a > 2" then "jump in.script break" +next a +jump in.script loop +label break +variable a delete + +


    + +

    This section describes how all the various variable styles are defined +and what they store. Except for the equal and atom styles, +which are explaine in the next section. +

    +

    Many of the styles store one or more strings. Note that a single string can contain spaces (multiple words), if it is enclosed in quotes in the variable command. When the variable is substituted for in another input script command, its returned string will then be -interpreted as multiple arguments in the expanded command.

    -

    For the index style, one or more strings are specified. Initially, +interpreted as multiple arguments in the expanded command. +

    +

    For the index style, one or more strings are specified. Initially, the 1st string is assigned to the variable. Each time a -next command is used with the variable name, the next +next command is used with the variable name, the next string is assigned. All processors assign the same string to the -variable.

    -

    Index style variables with a single string value can also be set by -using the command-line switch -var; see this section for details.

    -

    The loop style is identical to the index style except that the +variable. +

    +

    Index style variables with a single string value can also be set by +using the command-line switch -var; see this +section for details. +

    +

    The loop style is identical to the index style except that the strings are the integers from 1 to N inclusive, if only one argument N is specified. This allows generation of a long list of runs (e.g. 1000) without having to list N strings in the input script. -Initially, the string “1” is assigned to the variable. Each time a -next command is used with the variable name, the next -string (“2”, “3”, etc) is assigned. All processors assign the same -string to the variable. The loop style can also be specified with +Initially, the string "1" is assigned to the variable. Each time a +next command is used with the variable name, the next +string ("2", "3", etc) is assigned. All processors assign the same +string to the variable. The loop style can also be specified with two arguments N1 and N2. In this case the loop runs from N1 to N2 inclusive, and the string N1 is initially assigned to the variable. -N1 <= N2 and N2 >= 0 is required.

    -

    For the world style, one or more strings are specified. There must -be one string for each processor partition or “world”. See this section of the manual for information on -running LAMMPS with multiple partitions via the “-partition” +N1 <= N2 and N2 >= 0 is required. +

    +

    For the world style, one or more strings are specified. There must +be one string for each processor partition or "world". See this +section of the manual for information on +running LAMMPS with multiple partitions via the "-partition" command-line switch. This variable command assigns one string to each world. All processors in the world are assigned the same string. The -next command cannot be used with equal style variables, since there +next command cannot be used with equal style variables, since there is only one value per world. This style of variable is useful when you wish to run different simulations on different partitions, or when performing a parallel tempering simulation (see the -temper command), to assign different temperatures to -different partitions.

    -

    For the universe style, one or more strings are specified. There +temper command), to assign different temperatures to +different partitions. +

    +

    For the universe style, one or more strings are specified. There must be at least as many strings as there are processor partitions or -“worlds”. See this page for information -on running LAMMPS with multiple partitions via the “-partition” +"worlds". See this page for information +on running LAMMPS with multiple partitions via the "-partition" command-line switch. This variable command initially assigns one -string to each world. When a next command is encountered +string to each world. When a next command is encountered using this variable, the first processor partition to encounter it, is assigned the next available string. This continues until all the variable strings are consumed. Thus, this command can be used to run 50 simulations on 8 processor partitions. The simulations will be run one after the other on whatever partition becomes available, until -they are all finished. Universe style variables are incremented -using the files “tmp.lammps.variable” and “tmp.lammps.variable.lock” -which you will see in your directory during such a LAMMPS run.

    -

    The uloop style is identical to the universe style except that the +they are all finished. Universe style variables are incremented +using the files "tmp.lammps.variable" and "tmp.lammps.variable.lock" +which you will see in your directory during such a LAMMPS run. +

    +

    The uloop style is identical to the universe style except that the strings are the integers from 1 to N. This allows generation of long list of runs (e.g. 1000) without having to list N strings in the input -script.

    -

    For the string style, a single string is assigned to the variable. -The only difference between this and using the index style with a -single string is that a variable with string style can be redefined. +script. +

    +

    For the string style, a single string is assigned to the variable. +The only difference between this and using the index style with a +single string is that a variable with string style can be redefined. E.g. by another command later in the input script, or if the script is -read again in a loop.

    -

    For the format style, an equal-style variable is specified along -with a C-style format string, e.g. “%f” or “%.10g”, which must be +read again in a loop. +

    +

    For the format style, an equal-style variable is specified along +with a C-style format string, e.g. "%f" or "%.10g", which must be appropriate for formatting a double-precision floating-point value. This allows an equal-style variable to be formatted specifically for -output as a string, e.g. by the print command, if the -default format “%.15g” has too much precision.

    -

    For the getenv style, a single string is assigned to the variable +output as a string, e.g. by the print command, if the +default format "%.15g" has too much precision. +

    +

    For the getenv style, a single string is assigned to the variable which should be the name of an environment variable. When the variable is evaluated, it returns the value of the environment variable, or an empty string if it not defined. This style of variable can be used to adapt the behavior of LAMMPS input scripts via environment variable settings, or to retrieve information that has -been previously stored with the shell putenv command. +been previously stored with the shell putenv command. Note that because environment variable settings are stored by the -operating systems, they persist beyond a clear command.

    -

    For the file style, a filename is provided which contains a list of +operating systems, they persist beyond a clear command. +

    +

    For the file style, a filename is provided which contains a list of strings to assign to the variable, one per line. The strings can be numeric values if desired. See the discussion of the next() function below for equal-style variables, which will convert the string of a -file-style variable into a numeric value in a formula.

    -

    When a file-style variable is defined, the file is opened and the +file-style variable into a numeric value in a formula. +

    +

    When a file-style variable is defined, the file is opened and the string on the first line is read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return that string. There are two ways to cause the next string -from the file to be read: use the next command or the +from the file to be read: use the next command or the next() function in an equal- or atom-style variable, as discussed -below.

    -

    The rules for formatting the file are as follows. A comment character -“#” can be used anywhere on a line; text starting with the comment -character is stripped. Blank lines are skipped. The first “word” of -a non-blank line, delimited by white space, is the “string” assigned -to the variable.

    -

    For the atomfile style, a filename is provided which contains one or +below. +

    +

    The rules for formatting the file are as follows. A comment character +"#" can be used anywhere on a line; text starting with the comment +character is stripped. Blank lines are skipped. The first "word" of +a non-blank line, delimited by white space, is the "string" assigned +to the variable. +

    +

    For the atomfile style, a filename is provided which contains one or more sets of values, to assign on a per-atom basis to the variable. -The format of the file is described below.

    -

    When an atomfile-style variable is defined, the file is opened and the +The format of the file is described below. +

    +

    When an atomfile-style variable is defined, the file is opened and the first set of per-atom values are read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the -next command or the next() function in an atom-style -variable, as discussed below.

    -

    The rules for formatting the file are as follows. Each time a set of +next command or the next() function in an atom-style +variable, as discussed below. +

    +

    The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. -A comment character “#” can be used anywhere on a line; text starting +A comment character "#" can be used anywhere on a line; text starting with the comment character is stripped. Blank lines are skipped. The -first “word” of a non-blank line, delimited by white space, is read as +first "word" of a non-blank line, delimited by white space, is read as the count N of per-atom lines to immediately follow. N can be be the total number of atoms in the system, or only a subset. The next N -lines have the following format

    -
    ID value
    -
    -
    -

    where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order.

    -
    -

    Warning

    -

    Every time a set of per-atom lines is read, the value +lines have the following format +

    +
    ID value 
    +
    +

    where ID is an atom ID and value is the per-atom numeric value that +will be assigned to that atom. IDs can be listed in any order. +

    +

    IMPORTANT NOTE: Every time a set of per-atom lines is read, the value for all atoms is first set to 0.0. Thus values for atoms whose ID -does not appear in the set, will remain 0.0.

    -
    -

    For the python style a Python function name is provided. This needs -to match a function name specified in a python command -which returns a value to this variable as defined by its return -keyword. For exampe these two commands would be self-consistent:

    -
    variable foo python myMultiply
    -python myMultiply return v_foo format f file funcs.py
    -
    -
    -

    The two commands can appear in either order so long as both are -specified before the Python function is invoked for the first time.

    -

    Each time the variable is evaluated, the associated Python function is +does not appear in the set, will remain 0.0. +

    +

    For the python style a Python function name is provided. This needs +to match a function name specified in a python command +which returns a value to this variable as defined by its return +keyword. For exampe these two commands would be self-consistent: +

    +
    variable foo python myMultiply
    +python myMultiply return v_foo format f file funcs.py 
    +
    +

    The two commands can appear in either order so long as both are +specified before the Python function is invoked for the first time. +

    +

    Each time the variable is evaluated, the associated Python function is invoked, and the value it returns is also returned by the variable. Since the Python function can use other LAMMPS variables as input, or query interal LAMMPS quantities to perform its computation, this means -the variable can return a different value each time it is evaluated.

    -

    The type of value stored in the variable is determined by the format -keyword of the python command. It can be an integer +the variable can return a different value each time it is evaluated. +

    +

    The type of value stored in the variable is determined by the format +keyword of the python command. It can be an integer (i), floating point (f), or string (s) value. As mentioned above, if it is a numeric value (integer or floating point), then the python-style variable can be used in place of an equal-style variable anywhere in an input script, e.g. as an argument to another command -that allows for equal-style variables.

    -
    -

    For the equal and atom styles, a single string is specified which +that allows for equal-style variables. +

    +
    + +

    For the equal and atom styles, a single string is specified which represents a formula that will be evaluated afresh each time the variable is used. If you want spaces in the string, enclose it in double quotes so the parser will treat it as a single argument. For -equal style variables the formula computes a scalar quantity, which +equal style variables the formula computes a scalar quantity, which becomes the value of the variable whenever it is evaluated. For -atom style variables the formula computes one quantity for each -atom whenever it is evaluated.

    -

    Note that equal and atom variables can produce different values at +atom style variables the formula computes one quantity for each +atom whenever it is evaluated. +

    +

    Note that equal and atom variables can produce different values at different stages of the input script or at different times during a -run. For example, if an equal variable is used in a fix print command, different values could be printed each +run. For example, if an equal variable is used in a fix +print command, different values could be printed each timestep it was invoked. If you want a variable to be evaluated immediately, so that the result is stored by the variable instead of -the string, see the section below on “Immediate Evaluation of -Variables”.

    -

    The next command cannot be used with equal or atom style -variables, since there is only one string.

    -

    The formula for an equal or atom variable can contain a variety +the string, see the section below on "Immediate Evaluation of +Variables". +

    +

    The next command cannot be used with equal or atom style +variables, since there is only one string. +

    +

    The formula for an equal or atom variable can contain a variety of quantities. The syntax for each kind of quantity is simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this is a -valid (though strange) variable formula:

    -
    variable x equal "pe + c_MyTemp / vol^(1/3)"
    -
    -
    -

    Specifically, an formula can contain numbers, thermo keywords, math +valid (though strange) variable formula: +

    +
    variable x equal "pe + c_MyTemp / vol^(1/3)" 
    +
    +

    Specifically, an formula can contain numbers, thermo keywords, math operators, math functions, group functions, region functions, atom values, atom vectors, compute references, fix references, and -references to other variables.

    -
    -

    Most of the formula elements produce a scalar value. A few produce a +references to other variables. +

    +
    + + + + + + + + + + + + + +
    Number 0.2, 100, 1.0e20, -15.4, etc
    Constant PI
    Thermo keywords vol, pe, ebond, etc
    Math operators (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
    Math operators (), -x, x+y, x-y, x*y, x/y, x^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
    Math functions sqrt(x), exp(x), ln(x), log(x), abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
    Group functions count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim)
    Region functions count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR)
    Special functions sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
    Atom values id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
    Atom vectors id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
    Compute references c_ID, c_ID[i], c_ID[i][j]
    Fix references f_ID, f_ID[i], f_ID[i][j]
    Other variables v_name, v_name[i] +
    + +
    + +

    Most of the formula elements produce a scalar value. A few produce a per-atom vector of values. These are the atom vectors, compute references that represent a per-atom vector, fix references that represent a per-atom vector, and variables that are atom-style variables. Math functions that operate on scalar values produce a scalar value; math function that operate on per-atom vectors do so -element-by-element and produce a per-atom vector.

    -

    A formula for equal-style variables cannot use any formula element +element-by-element and produce a per-atom vector. +

    +

    A formula for equal-style variables cannot use any formula element that produces a per-atom vector. A formula for an atom-style variable can use formula elements that produce either a scalar value or a per-atom vector. Atom-style variables are evaluated by other commands -that define a group on which they operate, e.g. a -dump or compute or fix command. +that define a group on which they operate, e.g. a +dump or compute or fix command. When they invoke the atom-style variable, only atoms in the group are inlcuded in the formula evaluation. The variable evaluates to 0.0 for -atoms not in the group.

    -

    The thermo keywords allowed in a formula are those defined by the -thermo_style custom command. Thermo keywords that -require a compute to calculate their values such as -“temp” or “press”, use computes stored and invoked by the -thermo_style command. This means that you can +atoms not in the group. +

    +

    The thermo keywords allowed in a formula are those defined by the +thermo_style custom command. Thermo keywords that +require a compute to calculate their values such as +"temp" or "press", use computes stored and invoked by the +thermo_style command. This means that you can only use those keywords in a variable if the style you are using with the thermo_style command (and the thermo keywords associated with that style) also define and use the needed compute. Note that some thermo @@ -537,63 +469,69 @@ keywords use a compute indirectly to calculate their value (e.g. the enthalpy keyword uses temp, pe, and pressure). If a variable is evaluated directly in an input script (not during a run), then the values accessed by the thermo keyword must be current. See the -discussion below about “Variable Accuracy”.

    -
    -
    -

    Math Operators¶

    -

    Math operators are written in the usual way, where the “x” and “y” in +discussion below about "Variable Accuracy". +

    +
    + +

    Math Operators +

    +

    Math operators are written in the usual way, where the "x" and "y" in the examples can themselves be arbitrarily complex formulas, as in the -examples above. In this syntax, “x” and “y” can be scalar values or -per-atom vectors. For example, “ke/natoms” is the division of two -scalars, where “vy+vz” is the element-by-element sum of two per-atom -vectors of y and z velocities.

    -

    Operators are evaluated left to right and have the usual C-style -precedence: unary minus and unary logical NOT operator ”!” have the -highest precedence, exponentiation “^” is next; multiplication and -division and the modulo operator “%” are next; addition and -subtraction are next; the 4 relational operators “<”, “<=”, “>”, and -“>=” are next; the two remaining relational operators “==” and ”!=” -are next; then the logical AND operator “&&”; and finally the logical -OR operator “||” has the lowest precedence. Parenthesis can be used +examples above. In this syntax, "x" and "y" can be scalar values or +per-atom vectors. For example, "ke/natoms" is the division of two +scalars, where "vy+vz" is the element-by-element sum of two per-atom +vectors of y and z velocities. +

    +

    Operators are evaluated left to right and have the usual C-style +precedence: unary minus and unary logical NOT operator "!" have the +highest precedence, exponentiation "^" is next; multiplication and +division and the modulo operator "%" are next; addition and +subtraction are next; the 4 relational operators "<", "<=", ">", and +">=" are next; the two remaining relational operators "==" and "!=" +are next; then the logical AND operator "&&"; and finally the logical +OR operator "||" has the lowest precedence. Parenthesis can be used to group one or more portions of a formula and/or enforce a different -order of evaluation than what would occur with the default precedence.

    -
    -

    Warning

    -

    Because a unary minus is higher precedence than -exponentiation, the formula “-2^2” will evaluate to 4, not -4. This +order of evaluation than what would occur with the default precedence. +

    +

    IMPORTANT NOTE: Because a unary minus is higher precedence than +exponentiation, the formula "-2^2" will evaluate to 4, not -4. This convention is compatible with some programming languages, but not others. As mentioned, this behavior can be easily overridden with -parenthesis; the formula “-(2^2)” will evaluate to -4.

    -
    -

    The 6 relational operators return either a 1.0 or 0.0 depending on +parenthesis; the formula "-(2^2)" will evaluate to -4. +

    +

    The 6 relational operators return either a 1.0 or 0.0 depending on whether the relationship between x and y is TRUE or FALSE. For -example the expression x<10.0 in an atom-style variable formula will +example the expression x<10.0 in an atom-style variable formula will return 1.0 for all atoms whose x-coordinate is less than 10.0, and 0.0 for the others. The logical AND operator will return 1.0 if both its arguments are non-zero, else it returns 0.0. The logical OR operator will return 1.0 if either of its arguments is non-zero, else it returns 0.0. The logical NOT operator returns 1.0 if its argument is -0.0, else it returns 0.0.

    -

    These relational and logical operators can be used as a masking or +0.0, else it returns 0.0. +

    +

    These relational and logical operators can be used as a masking or selection operation in a formula. For example, the number of atoms whose properties satifsy one or more criteria could be calculated by taking the returned per-atom vector of ones and zeroes and passing it -to the compute reduce command.

    -
    -
    -
    -

    Math Functions¶

    -

    Math functions are specified as keywords followed by one or more -parenthesized arguments “x”, “y”, “z”, each of which can themselves be +to the compute reduce command. +

    +
    + +

    Math Functions +

    +

    Math functions are specified as keywords followed by one or more +parenthesized arguments "x", "y", "z", each of which can themselves be arbitrarily complex formulas. In this syntax, the arguments can represent scalar values or per-atom vectors. In the latter case, the math operation is performed on each element of the vector. For -example, “sqrt(natoms)” is the sqrt() of a scalar, where “sqrt(y*z)” +example, "sqrt(natoms)" is the sqrt() of a scalar, where "sqrt(y*z)" yields a per-atom vector with each element being the sqrt() of the -product of one atom’s y and z coordinates.

    -

    Most of the math functions perform obvious operations. The ln() is -the natural log; log() is the base 10 log.

    -

    The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = +product of one atom's y and z coordinates. +

    +

    Most of the math functions perform obvious operations. The ln() is +the natural log; log() is the base 10 log. +

    +

    The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = seed. It generates a uniform random number between lo and hi. The normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and z = seed. It generates a Gaussian variate centered on mu with @@ -603,136 +541,144 @@ equal-style variables, every processor uses the same seed so that they each generate the same sequence of random numbers. For atom-style variables, a unique seed is created for each processor, based on the specified seed. This effectively generates a different random number -for each atom being looped over in the atom-style variable.

    -
    -

    Warning

    -

    Internally, there is just one random number generator +for each atom being looped over in the atom-style variable. +

    +

    IMPORTANT NOTE: Internally, there is just one random number generator for all equal-style variables and one for all atom-style variables. If you define multiple variables (of each style) which use the random() or normal() math functions, then the internal random number generators will only be initialized once, which means only one of the specified seeds will determine the sequence of generated random -numbers.

    -
    -

    The ceil(), floor(), and round() functions are those in the C math +numbers. +

    +

    The ceil(), floor(), and round() functions are those in the C math library. Ceil() is the smallest integer not less than its argument. Floor() if the largest integer not greater than its argument. Round() -is the nearest integer to its argument.

    -

    The ramp(x,y) function uses the current timestep to generate a value +is the nearest integer to its argument. +

    +

    The ramp(x,y) function uses the current timestep to generate a value linearly intepolated between the specified x,y values over the course -of a run, according to this formula:

    -
    value = x + (y-x) * (timestep-startstep) / (stopstep-startstep)
    -
    -
    -

    The run begins on startstep and ends on stopstep. Startstep and -stopstep can span multiple runs, using the start and stop keywords -of the run command. See the run command for -details of how to do this.

    -

    The stagger(x,y) function uses the current timestep to generate a new -timestep. X,y > 0 and x > y are required. The generated timesteps +of a run, according to this formula: +

    +
    value = x + (y-x) * (timestep-startstep) / (stopstep-startstep) 
    +
    +

    The run begins on startstep and ends on stopstep. Startstep and +stopstep can span multiple runs, using the start and stop keywords +of the run command. See the run command for +details of how to do this. +

    +

    The stagger(x,y) function uses the current timestep to generate a new +timestep. X,y > 0 and x > y are required. The generated timesteps increase in a staggered fashion, as the sequence x,x+y,2x,2x+y,3x,3x+y,etc. For any current timestep, the next timestep in the sequence is returned. Thus if stagger(1000,100) is -used in a variable by the dump_modify every -command, it will generate the sequence of output timesteps:

    -
    100,1000,1100,2000,2100,3000,etc
    -
    -
    -

    The logfreq(x,y,z) function uses the current timestep to generate a -new timestep. X,y,z > 0 and y < z are required. The generated +used in a variable by the dump_modify every +command, it will generate the sequence of output timesteps: +

    +
    100,1000,1100,2000,2100,3000,etc 
    +
    +

    The logfreq(x,y,z) function uses the current timestep to generate a +new timestep. X,y,z > 0 and y < z are required. The generated timesteps are on a base-z logarithmic scale, starting with x, and the y value is how many of the z-1 possible timesteps within one logarithmic interval are generated. I.e. the timesteps follow the sequence x,2x,3x,...y*x,x*z,2x*z,3x*z,...y*x*z,x*z^2,2x*z^2,etc. For any current timestep, the next timestep in the sequence is returned. -Thus if logfreq(100,4,10) is used in a variable by the dump_modify every command, it will generate this sequence of -output timesteps:

    -
    100,200,300,400,1000,2000,3000,4000,10000,20000,etc
    -
    -
    -

    The logfreq2(x,y,z) function is similar to logfreq, except a single +Thus if logfreq(100,4,10) is used in a variable by the dump_modify +every command, it will generate this sequence of +output timesteps: +

    +
    100,200,300,400,1000,2000,3000,4000,10000,20000,etc 
    +
    +

    The logfreq2(x,y,z) function is similar to logfreq, except a single logarithmic interval is divided into y equally-spaced timesteps and -all of them are output. Y < z is not required. Thus, if -logfreq2(100,18,10) is used in a variable by the dump_modify every command, then the interval between 100 and +all of them are output. Y < z is not required. Thus, if +logfreq2(100,18,10) is used in a variable by the dump_modify +every command, then the interval between 100 and 1000 is divided as 900/18 = 50 steps, and it will generate the -sequence of output timesteps:

    -
    100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc
    -
    -
    -

    The stride(x,y,z) function uses the current timestep to generate a new -timestep. X,y >= 0 and z > 0 and x <= y are required. The generated +sequence of output timesteps: +

    +
    100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc 
    +
    +

    The stride(x,y,z) function uses the current timestep to generate a new +timestep. X,y >= 0 and z > 0 and x <= y are required. The generated timesteps increase in increments of z, from x to y, i.e. it generates the sequece x,x+z,x+2z,...,y. If y-x is not a multiple of z, then similar to the way a for loop operates, the last value will be one that does not exceed y. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100) is used -in a variable by the dump_modify every command, it -will generate the sequence of output timesteps:

    -
    1000,1100,1200, ... ,1900,2000
    -
    -
    -

    The stride2(x,y,z,a,b,c) function is similar to the stride() function +in a variable by the dump_modify every command, it +will generate the sequence of output timesteps: +

    +
    1000,1100,1200, ... ,1900,2000 
    +
    +

    The stride2(x,y,z,a,b,c) function is similar to the stride() function except it generates two sets of strided timesteps, one at a coarser level and one at a finer level. Thus it is useful for debugging, e.g. to produce output every timestep at the point in simulation when -a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are -a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so +a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are +a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so that the second stride is inside the first. The generated timesteps increase in increments of z, starting at x, until a is reached. At that point the timestep increases in increments of c, from a to b, then after b, increments by z are resumed until y is reached. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100,1350,1360,1) is used in a variable by the -dump_modify every command, it will generate the -sequence of output timesteps:

    -
    1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000
    -
    -
    -

    The vdisplace(x,y) function takes 2 arguments: x = value0 and y = +dump_modify every command, it will generate the +sequence of output timesteps: +

    +
    1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 
    +
    +

    The vdisplace(x,y) function takes 2 arguments: x = value0 and y = velocity, and uses the elapsed time to change the value by a linear displacement due to the applied velocity over the course of a run, -according to this formula:

    -
    value = value0 + velocity*(timestep-startstep)*dt
    -
    -
    -

    where dt = the timestep size.

    -

    The run begins on startstep. Startstep can span multiple runs, using -the start keyword of the run command. See the -run command for details of how to do this. Note that the -thermo_style keyword elaplong = -timestep-startstep.

    -

    The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: +according to this formula: +

    +
    value = value0 + velocity*(timestep-startstep)*dt 
    +
    +

    where dt = the timestep size. +

    +

    The run begins on startstep. Startstep can span multiple runs, using +the start keyword of the run command. See the +run command for details of how to do this. Note that the +thermo_style keyword elaplong = +timestep-startstep. +

    +

    The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: x = value0, y = amplitude, z = period. They use the elapsed time to oscillate the value by a sin() or cos() function over the course of a -run, according to one of these formulas, where omega = 2 PI / period:

    -
    value = value0 + Amplitude * sin(omega*(timestep-startstep)*dt)
    -value = value0 + Amplitude * (1 - cos(omega*(timestep-startstep)*dt))
    -
    -
    -

    where dt = the timestep size.

    -

    The run begins on startstep. Startstep can span multiple runs, using -the start keyword of the run command. See the -run command for details of how to do this. Note that the -thermo_style keyword elaplong = -timestep-startstep.

    -
    -
    -
    -

    Group and Region Functions¶

    -

    Group functions are specified as keywords followed by one or two -parenthesized arguments. The first argument ID is the group-ID. -The dim argument, if it exists, is x or y or z. The dir -argument, if it exists, is xmin, xmax, ymin, ymax, zmin, or -zmax. The dimdim argument, if it exists, is xx or yy or zz -or xy or yz or xz.

    -

    The group function count() is the number of atoms in the group. The +run, according to one of these formulas, where omega = 2 PI / period: +

    +
    value = value0 + Amplitude * sin(omega*(timestep-startstep)*dt)
    +value = value0 + Amplitude * (1 - cos(omega*(timestep-startstep)*dt)) 
    +
    +

    where dt = the timestep size. +

    +

    The run begins on startstep. Startstep can span multiple runs, using +the start keyword of the run command. See the +run command for details of how to do this. Note that the +thermo_style keyword elaplong = +timestep-startstep. +

    +
    + +

    Group and Region Functions +

    +

    Group functions are specified as keywords followed by one or two +parenthesized arguments. The first argument ID is the group-ID. +The dim argument, if it exists, is x or y or z. The dir +argument, if it exists, is xmin, xmax, ymin, ymax, zmin, or +zmax. The dimdim argument, if it exists, is xx or yy or zz +or xy or yz or xz. +

    +

    The group function count() is the number of atoms in the group. The group functions mass() and charge() are the total mass and charge of the group. Xcm() and vcm() return components of the position and velocity of the center of mass of the group. Fcm() returns a component of the total force on the group of atoms. Bound() returns the min/max of a particular coordinate for all atoms in the group. Gyration() computes the radius-of-gyration of the group of atoms. See -the compute gyration command for a definition +the compute gyration command for a definition of the formula. Angmom() returns components of the angular momentum of the group of atoms around its center of mass. Torque() returns components of the torque on the group of atoms around its center of @@ -740,37 +686,43 @@ mass, based on current forces on the atoms. Inertia() returns one of 6 components of the symmetric inertia tensor of the group of atoms around its center of mass, ordered as Ixx,Iyy,Izz,Ixy,Iyz,Ixz. Omega() returns components of the angular velocity of the group of -atoms around its center of mass.

    -

    Region functions are specified exactly the same way as group functions -except they take an extra final argument IDR which is the region ID. +atoms around its center of mass. +

    +

    Region functions are specified exactly the same way as group functions +except they take an extra final argument IDR which is the region ID. The function is computed for all atoms that are in both the group and -the region. If the group is “all”, then the only criteria for atom -inclusion is that it be in the region.

    -
    -
    -
    -

    Special Functions¶

    -

    Special functions take specific kinds of arguments, meaning their -arguments cannot be formulas themselves.

    -

    The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions -each take 1 argument which is of the form “c_ID” or “c_ID[N]” or -“f_ID” or “f_ID[N]”. The first two are computes and the second two +the region. If the group is "all", then the only criteria for atom +inclusion is that it be in the region. +

    +
    + +

    Special Functions +

    +

    Special functions take specific kinds of arguments, meaning their +arguments cannot be formulas themselves. +

    +

    The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions +each take 1 argument which is of the form "c_ID" or "c_ID[N]" or +"f_ID" or "f_ID[N]". The first two are computes and the second two are fixes; the ID in the reference should be replaced by the ID of a compute or fix defined elsewhere in the input script. The compute or fix must produce either a global vector or array. If it produces a -global vector, then the notation without “[N]” should be used. If -it produces a global array, then the notation with “[N]” should be +global vector, then the notation without "[N]" should be used. If +it produces a global array, then the notation with "[N]" should be used, when N is an integer, to specify which column of the global -array is being referenced.

    -

    These functions operate on the global vector of inputs and reduce it +array is being referenced. +

    +

    These functions operate on the global vector of inputs and reduce it to a single scalar value. This is analagous to the operation of the -compute reduce command, which invokes the same -functions on per-atom and local vectors.

    -

    The sum() function calculates the sum of all the vector elements. The +compute reduce command, which invokes the same +functions on per-atom and local vectors. +

    +

    The sum() function calculates the sum of all the vector elements. The min() and max() functions find the minimum and maximum element respectively. The ave() function is the same as sum() except that it -divides the result by the length of the vector.

    -

    The trap() function is the same as sum() except the first and last +divides the result by the length of the vector. +

    +

    The trap() function is the same as sum() except the first and last elements are multiplied by a weighting factor of 1/2 when performing the sum. This effectively implements an integration via the trapezoidal rule on the global vector of data. I.e. consider a set of @@ -779,79 +731,94 @@ points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), length N. The integral from 1 to N of these points is trap(). When appropriately normalized by the timestep size, this function is useful for calculating integrals of time-series data, like that generated by -the fix ave/correlate command.

    -

    The slope() function uses linear regression to fit a line to the set +the fix ave/correlate command. +

    +

    The slope() function uses linear regression to fit a line to the set of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), ..., (N,VN), where the Vi are the values in the global vector of length N. The returned value is the slope of the line. If the line -has a single point or is vertical, it returns 1.0e20.

    -

    The gmask(x) function takes 1 argument which is a group ID. It +has a single point or is vertical, it returns 1.0e20. +

    +

    The gmask(x) function takes 1 argument which is a group ID. It can only be used in atom-style variables. It returns a 1 for -atoms that are in the group, and a 0 for atoms that are not.

    -

    The rmask(x) function takes 1 argument which is a region ID. It can +atoms that are in the group, and a 0 for atoms that are not. +

    +

    The rmask(x) function takes 1 argument which is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that -are in the geometric region, and a 0 for atoms that are not.

    -

    The grmask(x,y) function takes 2 arguments. The first is a group ID, +are in the geometric region, and a 0 for atoms that are not. +

    +

    The grmask(x,y) function takes 2 arguments. The first is a group ID, and the second is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that are in both the group and -region, and a 0 for atoms that are not in both.

    -

    The next(x) function takes 1 argument which is a variable ID (not -“v_foo”, just “foo”). It must be for a file-style or atomfile-style +region, and a 0 for atoms that are not in both. +

    +

    The next(x) function takes 1 argument which is a variable ID (not +"v_foo", just "foo"). It must be for a file-style or atomfile-style variable. Each time the next() function is invoked (i.e. each time the equal-style or atom-style variable is evaluated), the following -steps occur.

    -

    For file-style variables, the current string value stored by the +steps occur. +

    +

    For file-style variables, the current string value stored by the file-style variable is converted to a numeric value and returned by the function. And the next string value in the file is read and stored. Note that if the line previously read from the file was not a numeric string, then it will typically evaluate to 0.0, which is -likely not what you want.

    -

    For atomfile-style variables, the current per-atom values stored by +likely not what you want. +

    +

    For atomfile-style variables, the current per-atom values stored by the atomfile-style variable are returned by the function. And the -next set of per-atom values in the file is read and stored.

    -

    Since file-style and atomfile-style variables read and store the first +next set of per-atom values in the file is read and stored. +

    +

    Since file-style and atomfile-style variables read and store the first line of the file or first set of per-atoms values when they are defined in the input script, these are the value(s) that will be returned the first time the next() function is invoked. If next() is invoked more times than there are lines or sets of lines in the file, -the variable is deleted, similar to how the next command -operates.

    -
    -
    -
    -

    Atom Values and Vectors¶

    -

    Atom values take an integer argument I from 1 to N, where I is the +the variable is deleted, similar to how the next command +operates. +

    +
    + +

    Atom Values and Vectors +

    +

    Atom values take an integer argument I from 1 to N, where I is the atom-ID, e.g. x[243], which means use the x coordinate of the atom with ID = 243. Or they can take a variable name, specified as v_name, where name is the name of the variable, like x[v_myIndex]. The variable can be of any style except atom or atom-file variables. The variable is evaluated and the result is expected to be numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an an index, which -must be a value from 1 to N. Note that a “formula” cannot be used as +must be a value from 1 to N. Note that a "formula" cannot be used as the argument between the brackets, e.g. x[243+10] or x[v_myIndex+1] are not allowed. To do this a single variable can be -defined that contains the needed formula.

    -

    Note that the 0 < atom-ID <= N, where N is the largest atom ID +defined that contains the needed formula. +

    +

    Note that the 0 < atom-ID <= N, where N is the largest atom ID in the system. If an ID is specified for an atom that does not -currently exist, then the generated value is 0.0.

    -

    Atom vectors generate one value per atom, so that a reference like -“vx” means the x-component of each atom’s velocity will be used when -evaluating the variable.

    -

    The meaning of the different atom values and vectors is mostly +currently exist, then the generated value is 0.0. +

    +

    Atom vectors generate one value per atom, so that a reference like +"vx" means the x-component of each atom's velocity will be used when +evaluating the variable. +

    +

    The meaning of the different atom values and vectors is mostly self-explanatory. Mol refers to the molecule ID of an atom, and is -only defined if an atom_style is being used that -defines molecule IDs.

    -

    Note that many other atom attributes can be used as inputs to a -variable by using the compute property/atom command and then specifying -a quantity from that compute.

    -
    -
    -
    -

    Compute References¶

    -

    Compute references access quantities calculated by a -compute. The ID in the reference should be replaced by +only defined if an atom_style is being used that +defines molecule IDs. +

    +

    Note that many other atom attributes can be used as inputs to a +variable by using the compute +property/atom command and then specifying +a quantity from that compute. +

    +
    + +

    Compute References +

    +

    Compute references access quantities calculated by a +compute. The ID in the reference should be replaced by the ID of a compute defined elsewhere in the input script. As -discussed in the doc page for the compute command, +discussed in the doc page for the compute command, computes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Computes can also produce a scalar, vector, or array. An equal-style variable can only @@ -860,42 +827,35 @@ global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual computes to see what -kind of values they produce.

    -

    Examples of different kinds of compute references are as follows. +kind of values they produce. +

    +

    Examples of different kinds of compute references are as follows. There is no ambiguity as to what a reference means, since computes -only produce global or per-atom quantities, never both.

    - ---- - - - - - - - - - - - -
    c_IDglobal scalar, or per-atom vector
    c_ID[I]Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array
    c_ID[I][J]I,J element of global array, or atom I’s Jth value in per-atom array
    -

    For I and J, integers can be specified or a variable name, specified +only produce global or per-atom quantities, never both. +

    +
    + + +
    c_ID global scalar, or per-atom vector
    c_ID[I] Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array
    c_ID[I][J] I,J element of global array, or atom I's Jth value in per-atom array +
    + +

    For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the “Atom Values and Vectors” discussion -above.

    -

    If a variable containing a compute is evaluated directly in an input +syntax are the same as for the "Atom Values and Vectors" discussion +above. +

    +

    If a variable containing a compute is evaluated directly in an input script (not during a run), then the values accessed by the compute -must be current. See the discussion below about “Variable Accuracy”.

    -
    -
    -
    -

    Fix References¶

    -

    Fix references access quantities calculated by a fix. +must be current. See the discussion below about "Variable Accuracy". +

    +
    + +

    Fix References +

    +

    Fix references access quantities calculated by a fix. The ID in the reference should be replaced by the ID of a fix defined elsewhere in the input script. As discussed in the doc page for the -fix command, fixes can produce global, per-atom, or local +fix command, fixes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Fixes can also produce a scalar, vector, or array. An equal-style variable can only use scalar values, which means a global scalar, or @@ -903,49 +863,44 @@ an element of a global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual fixes -to see what kind of values they produce.

    -

    The different kinds of fix references are exactly the same as the -compute references listed in the above table, where “c_” is replaced -by “f_”. Again, there is no ambiguity as to what a reference means, -since fixes only produce global or per-atom quantities, never both.

    - ---- - - - - - - - - - - - -
    f_IDglobal scalar, or per-atom vector
    f_ID[I]Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array
    f_ID[I][J]I,J element of global array, or atom I’s Jth value in per-atom array
    -

    For I and J, integers can be specified or a variable name, specified +to see what kind of values they produce. +

    +

    The different kinds of fix references are exactly the same as the +compute references listed in the above table, where "c_" is replaced +by "f_". Again, there is no ambiguity as to what a reference means, +since fixes only produce global or per-atom quantities, never both. +

    +
    + + +
    f_ID global scalar, or per-atom vector
    f_ID[I] Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array
    f_ID[I][J] I,J element of global array, or atom I's Jth value in per-atom array +
    + +

    For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the “Atom Values and Vectors” discussion -above.

    -

    If a variable containing a fix is evaluated directly in an input +syntax are the same as for the "Atom Values and Vectors" discussion +above. +

    +

    If a variable containing a fix is evaluated directly in an input script (not during a run), then the values accessed by the fix should -be current. See the discussion below about “Variable Accuracy”.

    -

    Note that some fixes only generate quantities on certain timesteps. +be current. See the discussion below about "Variable Accuracy". +

    +

    Note that some fixes only generate quantities on certain timesteps. If a variable attempts to access the fix on non-allowed timesteps, an -error is generated. For example, the fix ave/time +error is generated. For example, the fix ave/time command may only generate averaged quantities every 100 steps. See -the doc pages for individual fix commands for details.

    -
    -
    -
    -

    Variable References¶

    -

    Variable references access quantities stored or calculated by other +the doc pages for individual fix commands for details. +

    +
    + +

    Variable References +

    +

    Variable references access quantities stored or calculated by other variables, which will cause those variables to be evaluated. The name in the reference should be replaced by the name of a variable defined -elsewhere in the input script.

    -

    As discussed on this doc page, equal-style variables generate a global +elsewhere in the input script. +

    +

    As discussed on this doc page, equal-style variables generate a global scalar numeric value; atom-style and atomfile-style variables generate a per-atom vector of numeric values; all other variables store a string. The formula for an equal-style variable can use any style of @@ -955,279 +910,237 @@ string-storing variable is used, the string is converted to a numeric value. Note that this will typically produce a 0.0 if the string is not a numeric string, which is likely not what you want. The formula for an atom-style variable can use any style of variable, including -other atom-style or atomfile-style variables.

    -

    Examples of different kinds of variable references are as follows. +other atom-style or atomfile-style variables. +

    +

    Examples of different kinds of variable references are as follows. There is no ambiguity as to what a reference means, since variables -produce only a global scalar or a per-atom vector, never both.

    - ---- - - - - - - - - -
    v_namescalar, or per-atom vector
    v_name[I]atom I’s value in per-atom vector
    -

    For I, an integer can be specified or a variable name, specified as +produce only a global scalar or a per-atom vector, never both. +

    +
    + +
    v_name scalar, or per-atom vector
    v_name[I] atom I's value in per-atom vector +
    + +

    For I, an integer can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the “Atom Values and Vectors” discussion -above.

    -
    -

    Immediate Evaluation of Variables:

    -

    If you want an equal-style variable to be evaluated immediately, it +syntax are the same as for the "Atom Values and Vectors" discussion +above. +

    +
    + +

    Immediate Evaluation of Variables: +

    +

    If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See -Section 3.2 of the manual, which -describes the use of “immediate” variables in an input script, +Section 3.2 of the manual, which +describes the use of "immediate" variables in an input script, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This effectively evaluates a formula immediately without using the variable -command to define a named variable.

    -

    More generally, there is a difference between referencing a variable -with a leading $ sign (e.g. $x or ${abc}) versus with a leading “v_” +command to define a named variable. +

    +

    More generally, there is a difference between referencing a variable +with a leading $ sign (e.g. $x or ${abc}) versus with a leading "v_" (e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value -into the command. As explained in Section commands 3.2 for “Parsing rules”, you can also use -un-named “immediate” variables for this purpose. For example, a +into the command. As explained in Section commands +3.2 for "Parsing rules", you can also use +un-named "immediate" variables for this purpose. For example, a string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates the string between the parenthesis as an equal-style -variable formula.

    -

    Referencing a variable with a leading “v_” is an optional or required -kind of argument for some commands (e.g. the fix ave/spatial or dump custom or -thermo_style commands) if you wish it to evaluate +variable formula. +

    +

    Referencing a variable with a leading "v_" is an optional or required +kind of argument for some commands (e.g. the fix +ave/spatial or dump custom or +thermo_style commands) if you wish it to evaluate a variable periodically during a run. It can also be used in a variable formula if you wish to reference a second variable. The second variable will be evaluated whenever the first variable is -evaluated.

    -

    As an example, suppose you use this command in your input script to -define the variable “v” as

    -
    variable v equal vol
    -
    -
    -

    before a run where the simulation box size changes. You might think -this will assign the initial volume to the variable “v”. That is not +evaluated. +

    +

    As an example, suppose you use this command in your input script to +define the variable "v" as +

    +
    variable v equal vol 
    +
    +

    before a run where the simulation box size changes. You might think +this will assign the initial volume to the variable "v". That is not the case. Rather it assigns a formula which evaluates the volume -(using the thermo_style keyword “vol”) to the variable “v”. If you -use the variable “v” in some other command like fix ave/time then the current volume of the box will be -evaluated continuously during the run.

    -

    If you want to store the initial volume of the system, you can do it -this way:

    -
    variable v equal vol
    -variable v0 equal $v
    -
    -
    -

    The second command will force “v” to be evaluated (yielding the -initial volume) and assign that value to the variable “v0”. Thus the -command

    -
    thermo_style custom step v_v v_v0
    -
    -
    -

    would print out both the current and initial volume periodically -during the run.

    -

    Note that it is a mistake to enclose a variable formula in double -quotes if it contains variables preceeded by $ signs. For example,

    -
    variable vratio equal "${vfinal}/${v0}"
    -
    -
    -

    This is because the quotes prevent variable substitution (see this section on parsing input script -commands), and thus an error will occur when the formula for “vratio” -is evaluated later.

    -
    -

    Variable Accuracy:

    -

    Obviously, LAMMPS attempts to evaluate variables containing formulas -(equal and atom style variables) accurately whenever the +(using the thermo_style keyword "vol") to the variable "v". If you +use the variable "v" in some other command like fix +ave/time then the current volume of the box will be +evaluated continuously during the run. +

    +

    If you want to store the initial volume of the system, you can do it +this way: +

    +
    variable v equal vol
    +variable v0 equal $v 
    +
    +

    The second command will force "v" to be evaluated (yielding the +initial volume) and assign that value to the variable "v0". Thus the +command +

    +
    thermo_style custom step v_v v_v0 
    +
    +

    would print out both the current and initial volume periodically +during the run. +

    +

    Note that it is a mistake to enclose a variable formula in double +quotes if it contains variables preceeded by $ signs. For example, +

    +
    variable vratio equal "${vfinal}/${v0}" 
    +
    +

    This is because the quotes prevent variable substitution (see this +section on parsing input script +commands), and thus an error will occur when the formula for "vratio" +is evaluated later. +

    +
    + +

    Variable Accuracy: +

    +

    Obviously, LAMMPS attempts to evaluate variables containing formulas +(equal and atom style variables) accurately whenever the evaluation is performed. Depending on what is included in the -formula, this may require invoking a compute, either +formula, this may require invoking a compute, either directly or indirectly via a thermo keyword, or accessing a value previously calculated by a compute, or accessing a value calculated -and stored by a fix. If the compute is one that calculates +and stored by a fix. If the compute is one that calculates the pressure or energy of the system, then these quantities need to be tallied during the evaluation of the interatomic potentials (pair, -bond, etc) on timesteps that the variable will need the values.

    -

    LAMMPS keeps track of all of this during a run or energy minimization. An error will be generated if you +bond, etc) on timesteps that the variable will need the values. +

    +

    LAMMPS keeps track of all of this during a run or energy +minimization. An error will be generated if you attempt to evaluate a variable on timesteps when it cannot produce -accurate values. For example, if a thermo_style custom command prints a variable which accesses -values stored by a fix ave/time command and the +accurate values. For example, if a thermo_style +custom command prints a variable which accesses +values stored by a fix ave/time command and the timesteps on which thermo output is generated are not multiples of the -averaging frequency used in the fix command, then an error will occur.

    -

    An input script can also request variables be evaluated before or +averaging frequency used in the fix command, then an error will occur. +

    +

    An input script can also request variables be evaluated before or after or in between runs, e.g. by including them in a -print command. In this case, if a compute is needed to +print command. In this case, if a compute is needed to evaluate a variable (either directly or indirectly), LAMMPS will not invoke the compute, but it will use a value previously calculated by the compute, and can do this only if it was invoked on the current timestep. Fixes will always provide a quantity needed by a variable, but the quantity may or may not be current. This leads to one of -three kinds of behavior:

    -

    (1) The variable may be evaluated accurately. If it contains +three kinds of behavior: +

    +

    (1) The variable may be evaluated accurately. If it contains references to a compute or fix, and these values were calculated on the last timestep of a preceeding run, then they will be accessed and -used by the variable and the result will be accurate.

    -

    (2) LAMMPS may not be able to evaluate the variable and will generate +used by the variable and the result will be accurate. +

    +

    (2) LAMMPS may not be able to evaluate the variable and will generate an error message stating so. For example, if the variable requires a -quantity from a compute that has not been invoked on +quantity from a compute that has not been invoked on the current timestep, LAMMPS will generate an error. This means, for example, that such a variable cannot be evaluated before the first run has occurred. Likewise, in between runs, a variable containing a compute cannot be evaluated unless the compute was invoked on the last -timestep of the preceding run, e.g. by thermodynamic output.

    -

    One way to get around this problem is to perform a 0-timestep run -before using the variable. For example, these commands

    -
    variable t equal temp
    -print "Initial temperature = $t"
    -run 1000
    -
    -
    -

    will generate an error if the run is the first run specified in the -input script, because generating a value for the “t” variable requires -a compute for calculating the temperature to be invoked.

    -

    However, this sequence of commands would be fine:

    -
    run 0
    +timestep of the preceding run, e.g. by thermodynamic output.
    +

    +

    One way to get around this problem is to perform a 0-timestep run +before using the variable. For example, these commands +

    +
    variable t equal temp
    +print "Initial temperature = $t"
    +run 1000 
    +
    +

    will generate an error if the run is the first run specified in the +input script, because generating a value for the "t" variable requires +a compute for calculating the temperature to be invoked. +

    +

    However, this sequence of commands would be fine: +

    +
    run 0
     variable t equal temp
    -print "Initial temperature = $t"
    -run 1000
    -
    -
    -

    The 0-timestep run initializes and invokes various computes, including +print "Initial temperature = $t" +run 1000 + +

    The 0-timestep run initializes and invokes various computes, including the one for temperature, so that the value it stores is current and -can be accessed by the variable “t” after the run has completed. Note +can be accessed by the variable "t" after the run has completed. Note that a 0-timestep run does not alter the state of the system, so it does not change the input state for the 1000-timestep run that follows. Also note that the 0-timestep run must actually use and -invoke the compute in question (e.g. via thermo or -dump output) in order for it to enable the compute to be +invoke the compute in question (e.g. via thermo or +dump output) in order for it to enable the compute to be used in a variable after the run. Thus if you are trying to print a variable that uses a compute you have defined, you can insure it is invoked on the last timestep of the preceding run by including it in -thermodynamic output.

    -

    Unlike computes, fixes will never generate an error if +thermodynamic output. +

    +

    Unlike computes, fixes will never generate an error if their values are accessed by a variable in between runs. They always return some value to the variable. However, the value may not be what you expect if the fix has not yet calculated the quantity of interest -or it is not current. For example, the fix indent +or it is not current. For example, the fix indent command stores the force on the indenter. But this is not computed until a run is performed. Thus if a variable attempts to print this value before the first run, zeroes will be output. Again, performing -a 0-timestep run before printing the variable has the desired effect.

    -

    (3) The variable may be evaluated incorrectly and LAMMPS may have no +a 0-timestep run before printing the variable has the desired effect. +

    +

    (3) The variable may be evaluated incorrectly and LAMMPS may have no way to detect this has occurred. Consider the following sequence of -commands:

    -
    pair_coeff 1 1 1.0 1.0
    +commands:
    +

    +
    pair_coeff 1 1 1.0 1.0
     run 1000
     pair_coeff 1 1 1.5 1.0
     variable e equal pe
    -print "Final potential energy = $e"
    -
    -
    -

    The first run is performed using one setting for the pairwise -potential defined by the pair_style and -pair_coeff commands. The potential energy is -evaluated on the final timestep and stored by the compute pe compute (this is done by the -thermo_style command). Then a pair coefficient is +print "Final potential energy = $e" + +

    The first run is performed using one setting for the pairwise +potential defined by the pair_style and +pair_coeff commands. The potential energy is +evaluated on the final timestep and stored by the compute +pe compute (this is done by the +thermo_style command). Then a pair coefficient is changed, altering the potential energy of the system. When the -potential energy is printed via the “e” variable, LAMMPS will use the -potential energy value stored by the compute pe +potential energy is printed via the "e" variable, LAMMPS will use the +potential energy value stored by the compute pe compute, thinking it is current. There are many other commands which could alter the state of the system between runs, causing a variable -to evaluate incorrectly.

    -

    The solution to this issue is the same as for case (2) above, namely +to evaluate incorrectly. +

    +

    The solution to this issue is the same as for case (2) above, namely perform a 0-timestep run before the variable is evaluated to insure the system is up-to-date. For example, this sequence of commands would print a potential energy that reflected the changed pairwise -coefficient:

    -
    pair_coeff 1 1 1.0 1.0
    +coefficient:
    +

    +
    pair_coeff 1 1 1.0 1.0
     run 1000
     pair_coeff 1 1 1.5 1.0
     run 0
     variable e equal pe
    -print "Final potential energy = $e"
    -
    -
    -
    -
    -
    -
    -

    Restrictions¶

    -

    Indexing any formula element by global atom ID, such as an atom value, +print "Final potential energy = $e" + +


    + +

    Restrictions: +

    +

    Indexing any formula element by global atom ID, such as an atom value, requires the atom style to use a global mapping in order to look up the vector indices. By default, only atom styles with molecular -information create global maps. The atom_modify map command can override the default.

    -

    All universe- and uloop-style variables defined in an input script -must have the same number of values.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +information create global maps. The atom_modify +map command can override the default. +

    +

    All universe- and uloop-style variables defined in an input script +must have the same number of values. +

    +

    Related commands: +

    +

    next, jump, include, +temper, fix print, print +

    +

    Default: none +

    + diff --git a/doc/velocity.html b/doc/velocity.html index aa82e906d3..5e06774da6 100644 --- a/doc/velocity.html +++ b/doc/velocity.html @@ -1,212 +1,100 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - velocity command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    velocity command¶

    -
    -

    Syntax¶

    -
    velocity group-ID style args keyword value ...
    -
    -
    -
      -
    • group-ID = ID of group of atoms whose velocity will be changed
    • -
    • style = create or set or scale or ramp or zero
    • -
    -
    -create args = temp seed
    +
    +
    +
    + +

    velocity command +

    +

    Syntax: +

    +
    velocity group-ID style args keyword value ... 
    +
    +
    • group-ID = ID of group of atoms whose velocity will be changed + +
    • style = create or set or scale or ramp or zero + +
        create args = temp seed
           temp = temperature value (temperature units)
           seed = random # seed (positive integer)
      -  set args = vx vy vz
      +  set args = vx vy vz
           vx,vy,vz = velocity value or NULL (velocity units)
           any of vx,vy,vz van be a variable (see below)
      -  scale arg = temp
      +  scale arg = temp
           temp = temperature value (temperature units)
      -  ramp args = vdim vlo vhi dim clo chi
      -    vdim = vx or vy or vz
      +  ramp args = vdim vlo vhi dim clo chi
      +    vdim = vx or vy or vz
           vlo,vhi = lower and upper velocity value (velocity units)
      -    dim = x or y or z
      +    dim = x or y or z
           clo,chi = lower and upper coordinate bound (distance units)
      -  zero arg = linear or angular
      -    linear = zero the linear momentum
      -    angular = zero the angular momentum
      -
      -
        -
      • zero or more keyword/value pairs may be appended
      • -
      • keyword = dist or sum or mom or rot or temp or bias or loop or units
      • -
      -
      -dist value = uniform or gaussian
      -  sum value = no or yes
      -  mom value = no or yes
      -  rot value = no or yes
      -  temp value = temperature compute ID
      -  bias value = no or yes
      -  loop value = all or local or geom
      -  rigid value = fix-ID
      +  zero arg = linear or angular
      +    linear = zero the linear momentum
      +    angular = zero the angular momentum 
      +
      +
    • zero or more keyword/value pairs may be appended + +
    • keyword = dist or sum or mom or rot or temp or bias or loop or units + +
        dist value = uniform or gaussian
      +  sum value = no or yes
      +  mom value = no or yes 
      +  rot value = no or yes 
      +  temp value = temperature compute ID
      +  bias value = no or yes 
      +  loop value = all or local or geom
      +  rigid value = fix-ID
           fix-ID = ID of rigid body fix
      -  units value = box or lattice
      -
      -
    -
    -

    Examples¶

    -
    velocity all create 300.0 4928459 rot yes dist gaussian
    +  units value = box or lattice 
    +
    + + +

    Examples: +

    +
    velocity all create 300.0 4928459 rot yes dist gaussian
     velocity border set NULL 4.0 v_vz sum yes units box
     velocity flow scale 300.0
     velocity flow ramp vx 0.0 5.0 y 5 25 temp mytemp
    -velocity all zero linear
    -
    -
    -
    -
    -

    Description¶

    -

    Set or change the velocities of a group of atoms in one of several +velocity all zero linear + +

    Description: +

    +

    Set or change the velocities of a group of atoms in one of several styles. For each style, there are required arguments and optional keyword/value parameters. Not all options are used by each style. -Each option has a default as listed below.

    -

    The create style generates an ensemble of velocities using a random -number generator with the specified seed as the specified temperature.

    -

    The set style sets the velocities of all atoms in the group to the +Each option has a default as listed below. +

    +

    The create style generates an ensemble of velocities using a random +number generator with the specified seed as the specified temperature. +

    +

    The set style sets the velocities of all atoms in the group to the specified values. If any component is specified as NULL, then it is not set. Any of the vx,vy,vz velocity components can be specified as -an equal-style or atom-style variable. If the value +an equal-style or atom-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value used to determine the velocity component. Note that if a variable is used, the velocity it calculates must be in box units, not -lattice units; see the discussion of the units keyword below.

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command -keywords for the simulation box parameters or other parameters.

    -

    Atom-style variables can specify the same formulas as equal-style +lattice units; see the discussion of the units keyword below. +

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command +keywords for the simulation box parameters or other parameters. +

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent -velocity field.

    -

    The scale style computes the current temperature of the group of -atoms and then rescales the velocities to the specified temperature.

    -

    The ramp style is similar to that used by the compute temp/ramp command. Velocities ramped +velocity field. +

    +

    The scale style computes the current temperature of the group of +atoms and then rescales the velocities to the specified temperature. +

    +

    The ramp style is similar to that used by the compute +temp/ramp command. Velocities ramped uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. The value assigned to a particular atom depends on its relative coordinate value (in dim) from clo to chi. For the example above, an @@ -214,206 +102,169 @@ atom with y-coordinate of 10 (1/4 of the way from 5 to 25), would be assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms outside the coordinate bounds (less than 5 or greater than 25 in this case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this -case).

    -

    The zero style adjusts the velocities of the group of atoms so that +case). +

    +

    The zero style adjusts the velocities of the group of atoms so that the aggregate linear or angular momentum is zero. No other changes -are made to the velocities of the atoms. If the rigid option is +are made to the velocities of the atoms. If the rigid option is specified (see below), then the zeroing is performed on individual -rigid bodies, as defined by the fix rigid or fix rigid/small commands. In other words, zero linear +rigid bodies, as defined by the fix rigid or fix +rigid/small commands. In other words, zero linear will set the linear momentum of each rigid body to zero, and zero angular will set the angular momentum of each rigid body to zero. This is done by adjusting the velocities of the atoms in each rigid -body.

    -

    All temperatures specified in the velocity command are in temperature -units; see the units command. The units of velocities and -coordinates depend on whether the units keyword is set to box or -lattice, as discussed below.

    -

    For all styles, no atoms are assigned z-component velocities if the -simulation is 2d; see the dimension command.

    -
    -

    The keyword/value options are used in the following ways by the -various styles.

    -

    The dist keyword is used by create. The ensemble of generated -velocities can be a uniform distribution from some minimum to +body. +

    +

    All temperatures specified in the velocity command are in temperature +units; see the units command. The units of velocities and +coordinates depend on whether the units keyword is set to box or +lattice, as discussed below. +

    +

    For all styles, no atoms are assigned z-component velocities if the +simulation is 2d; see the dimension command. +

    +
    + +

    The keyword/value options are used in the following ways by the +various styles. +

    +

    The dist keyword is used by create. The ensemble of generated +velocities can be a uniform distribution from some minimum to maximum value, scaled to produce the requested temperature. Or it can -be a gaussian distribution with a mean of 0.0 and a sigma scaled to -produce the requested temperature.

    -

    The sum keyword is used by all styles, except zero. The new +be a gaussian distribution with a mean of 0.0 and a sigma scaled to +produce the requested temperature. +

    +

    The sum keyword is used by all styles, except zero. The new velocities will be added to the existing ones if sum = yes, or will -replace them if sum = no.

    -

    The mom and rot keywords are used by create. If mom = yes, the +replace them if sum = no. +

    +

    The mom and rot keywords are used by create. If mom = yes, the linear momentum of the newly created ensemble of velocities is zeroed; -if rot = yes, the angular momentum is zeroed.

    -

    *line

    -

    If specified, the temp keyword is used by create and scale to -specify a compute that calculates temperature in a +if rot = yes, the angular momentum is zeroed. +

    +

    *line +

    +

    If specified, the temp keyword is used by create and scale to +specify a compute that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as -discussed in Section howto 16 of the doc -pages. If this keyword is not specified, create and scale +discussed in Section howto 16 of the doc +pages. If this keyword is not specified, create and scale calculate temperature using a compute that is defined internally as -follows:

    -
    compute velocity_temp group-ID temp
    -
    -
    -

    where group-ID is the same ID used in the velocity command. i.e. the +follows: +

    +
    compute velocity_temp group-ID temp 
    +
    +

    where group-ID is the same ID used in the velocity command. i.e. the group of atoms whose velocity is being altered. This compute is -deleted when the velocity command is finished. See the compute temp command for details. If the calculated +deleted when the velocity command is finished. See the compute +temp command for details. If the calculated temperature should have degrees-of-freedom removed due to fix constraints (e.g. SHAKE or rigid-body constraints), then the appropriate fix command must be specified before the velocity command -is issued.

    -

    The bias keyword with a yes setting is used by create and -scale, but only if the temp keyword is also used to specify a -compute that calculates temperature in a desired way. +is issued. +

    +

    The bias keyword with a yes setting is used by create and +scale, but only if the temp keyword is also used to specify a +compute that calculates temperature in a desired way. If the temperature compute also calculates a velocity bias, the the -bias is subtracted from atom velocities before the create and -scale operations are performed. After the operations, the bias is -added back to the atom velocities. See Section howto 16 of the doc pages for more discussion +bias is subtracted from atom velocities before the create and +scale operations are performed. After the operations, the bias is +added back to the atom velocities. See Section howto +16 of the doc pages for more discussion of temperature computes with biases. Note that the velocity bias is only applied to atoms in the temperature compute specified with the -temp keyword.

    -

    As an example, assume atoms are currently streaming in a flow -direction (which could be separately initialized with the ramp +temp keyword. +

    +

    As an example, assume atoms are currently streaming in a flow +direction (which could be separately initialized with the ramp style), and you wish to initialize their thermal velocity to a desired temperature. In this context thermal velocity means the per-particle velocity that remains when the streaming velocity is subtracted. This -can be done using the create style with the temp keyword -specifying the ID of a compute temp/ramp or -compute temp/profile command, and the -bias keyword set to a yes value.

    -
    -

    The loop keyword is used by create in the following ways.

    -

    If loop = all, then each processor loops over all atoms in the +can be done using the create style with the temp keyword +specifying the ID of a compute temp/ramp or +compute temp/profile command, and the +bias keyword set to a yes value. +

    +
    + +

    The loop keyword is used by create in the following ways. +

    +

    If loop = all, then each processor loops over all atoms in the simulation to create velocities, but only stores velocities for atoms it owns. This can be a slow loop for a large simulation. If atoms were read from a data file, the velocity assigned to a particular atom will be the same, independent of how many processors are being used. This will not be the case if atoms were created using the -create_atoms command, since atom IDs will likely -be assigned to atoms differently.

    -

    If loop = local, then each processor loops over only its atoms to +create_atoms command, since atom IDs will likely +be assigned to atoms differently. +

    +

    If loop = local, then each processor loops over only its atoms to produce velocities. The random number seed is adjusted to give a different set of velocities on each processor. This is a fast loop, but the velocity assigned to a particular atom will depend on which processor owns it. Thus the results will always be different when a -simulation is run on a different number of processors.

    -

    If loop = geom, then each processor loops over only its atoms. For -each atom a unique random number seed is created, based on the atom’s +simulation is run on a different number of processors. +

    +

    If loop = geom, then each processor loops over only its atoms. For +each atom a unique random number seed is created, based on the atom's xyz coordinates. A velocity is generated using that seed. This is a fast loop and the velocity assigned to a particular atom will be the same, independent of how many processors are used. However, the set -of generated velocities may be more correlated than if the all or -local keywords are used.

    -

    Note that the loop geom keyword will not necessarily assign +of generated velocities may be more correlated than if the all or +local keywords are used. +

    +

    Note that the loop geom keyword will not necessarily assign identical velocities for two simulations run on different machines. This is because the computations based on xyz coordinates are sensitive to tiny differences in the double-precision value for a -coordinate as stored on a particular machine.

    -
    -

    The rigid keyword only has meaning when used with the zero style. -It allows specification of a fix-ID for one of the rigid-body fix variants which defines a set of rigid bodies. The +coordinate as stored on a particular machine. +

    +
    + +

    The rigid keyword only has meaning when used with the zero style. +It allows specification of a fix-ID for one of the rigid-body +fix variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid -body defined by the fix, as described above.

    -

    The units keyword is used by set and ramp. If units = box, +body defined by the fix, as described above. +

    +

    The units keyword is used by set and ramp. If units = box, the velocities and coordinates specified in the velocity command are -in the standard units described by the units command +in the standard units described by the units command (e.g. Angstroms/fmsec for real units). If units = lattice, velocities are in units of lattice spacings per time (e.g. spacings/fmsec) and -coordinates are in lattice spacings. The lattice -command must have been previously used to define the lattice spacing.

    -
    -
    -
    -

    Restrictions¶

    -

    Assigning a temperature via the create style to a system with rigid bodies or SHAKE constraints may not +coordinates are in lattice spacings. The lattice +command must have been previously used to define the lattice spacing. +

    +
    + +

    Restrictions: +

    +

    Assigning a temperature via the create style to a system with rigid +bodies or SHAKE constraints may not have the desired outcome for two reasons. First, the velocity command can be invoked before all of the relevant fixes are created and initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different -temperature than desired. A workaround for this is to perform a run 0 command, which insures all DOFs are accounted for +temperature than desired. A workaround for this is to perform a run +0 command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before -performing a simulation. For example:

    -
    velocity all create 300.0 12345
    +performing a simulation.  For example:
    +

    +
    velocity all create 300.0 12345
     run 0                             # temperature may not be 300K
    -velocity all scale 300.0          # now it should be
    -
    -
    -
    - -
    -

    Default¶

    -

    The keyword defaults are dist = uniform, sum = no, mom = yes, rot = +velocity all scale 300.0 # now it should be + +

    Related commands: +

    +

    fix rigid, fix shake, +lattice +

    +

    Default: +

    +

    The keyword defaults are dist = uniform, sum = no, mom = yes, rot = no, bias = no, loop = all, and units = lattice. The temp and rigid -keywords are not defined by default.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +keywords are not defined by default. +

    + diff --git a/doc/write_data.html b/doc/write_data.html index dcc68346d3..426b0a2068 100644 --- a/doc/write_data.html +++ b/doc/write_data.html @@ -1,304 +1,131 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - write_data command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    write_data command¶

    -
    -

    Syntax¶

    -
    write_data file keyword value ...
    -
    -
    -
      -
    • file = name of data file to write out
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = pair or nocoeff
    • -
    -
    -nocoeff = do not write out force field info
    -  pair value = ii or ij
    -    ii = write one line of pair coefficient info per atom type
    -    ij = write one line of pair coefficient info per IJ atom type pair
    -
    -
    -
    -

    Examples¶

    -
    write_data data.polymer
    -write_data data.*
    -
    -
    -
    -
    -

    Description¶

    -

    Write a data file in text format of the current state of the -simulation. Data files can be read by the read data -command to begin a simulation. The read_data command -also describes their format.

    -

    Similar to dump files, the data filename can contain a “*” -wild-card character. The “*” is replaced with the current timestep -value.

    -
    -

    Warning

    -

    The write-data command is not yet fully implemented in + + +


    + +

    write_data command +

    +

    Syntax: +

    +
    write_data file keyword value ... 
    +
    +
    • file = name of data file to write out + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = pair or nocoeff + +
        nocoeff = do not write out force field info
      +  pair value = ii or ij
      +    ii = write one line of pair coefficient info per atom type
      +    ij = write one line of pair coefficient info per IJ atom type pair 
      +
      + +
    +

    Examples: +

    +
    write_data data.polymer
    +write_data data.* 
    +
    +

    Description: +

    +

    Write a data file in text format of the current state of the +simulation. Data files can be read by the read data +command to begin a simulation. The read_data command +also describes their format. +

    +

    Similar to dump files, the data filename can contain a "*" +wild-card character. The "*" is replaced with the current timestep +value. +

    +

    IMPORTANT NOTE: The write-data command is not yet fully implemented in two respects. First, most pair styles do not yet write their coefficient information into the data file. This means you will need to specify that information in your input script that reads the data -file, via the pair_coeff command. Second, a few of -the atom styles (body, ellipsoid, line, tri) that -store auxiliary “bonus” information about aspherical particles, do not +file, via the pair_coeff command. Second, a few of +the atom styles (body, ellipsoid, line, tri) that +store auxiliary "bonus" information about aspherical particles, do not yet write the bonus info into the data file. Both these -functionalities will be added to the write_data command later.

    -
    -

    Because a data file is in text format, if you use a data file written +functionalities will be added to the write_data command later. +

    +

    Because a data file is in text format, if you use a data file written out by this command to restart a simulation, the initial state of the new run will be slightly different than the final state of the old run (when the file was written) which was represented internally by LAMMPS in binary format. A new simulation which reads the data file will thus typically diverge from a simulation that continued in the -original input script.

    -

    If you want to do more exact restarts, using binary files, see the -restart, write_restart, and -read_restart commands. You can also convert +original input script. +

    +

    If you want to do more exact restarts, using binary files, see the +restart, write_restart, and +read_restart commands. You can also convert binary restart files to text data files, after a simulation has run, -using the -r command-line switch.

    -
    -

    Warning

    -

    Only limited information about a simulation is stored +using the -r command-line switch. +

    +

    IMPORTANT NOTE: Only limited information about a simulation is stored in a data file. For example, no information about atom -groups and fixes are stored. Binary restart files store more information.

    -
    -

    Bond interactions (angle, etc) that have been turned off by the fix shake or delete_bonds command will +groups and fixes are stored. Binary restart +files store more information. +

    +

    Bond interactions (angle, etc) that have been turned off by the fix +shake or delete_bonds command will be written to a data file as if they are turned on. This means they will need to be turned off again in a new run after the data file is -read.

    -

    Bonds that are broken (e.g. by a bond-breaking potential) are not +read. +

    +

    Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the -data file is read.

    -
    -

    The nocoeff keyword requests that no force field parameters should +data file is read. +

    +
    + +

    The nocoeff keyword requests that no force field parameters should be written to the data file. This can be very helpful, if one wants to make significant changes to the force field or if the parameters -are read in separately anyway, e.g. from an include file.

    -

    The pair keyword lets you specify in what format the pair +are read in separately anyway, e.g. from an include file. +

    +

    The pair keyword lets you specify in what format the pair coefficient information is written into the data file. If the value -is specified as ii, then one line per atom type is written, to +is specified as ii, then one line per atom type is written, to specify the coefficients for each of the I=J interactions. This means that no cross-interactions for I != J will be specified in the data file and the pair style will apply its mixing rule, as documented on -individual pair_style doc pages. Of course this +individual pair_style doc pages. Of course this behavior can be overridden in the input script after reading the data -file, by specifying additional pair_coeff commands -for any desired I,J pairs.

    -

    If the value is specified as ij, then one line of coefficients is -written for all I,J pairs where I <= J. These coefficients will +file, by specifying additional pair_coeff commands +for any desired I,J pairs. +

    +

    If the value is specified as ij, then one line of coefficients is +written for all I,J pairs where I <= J. These coefficients will include any specific settings made in the input script up to that point. The presence of these I != J coefficients in the data file will effectively turn off the default mixing rule for the pair style. Again, the coefficient values in the data file can can be overridden in the input script after reading the data file, by specifying -additional pair_coeff commands for any desired I,J -pairs.

    -
    -
    -
    -

    Restrictions¶

    -

    This command requires inter-processor communication to migrate atoms +additional pair_coeff commands for any desired I,J +pairs. +

    +
    + +

    Restrictions: +

    +

    This command requires inter-processor communication to migrate atoms before the data file is written. This means that your system must be ready to perform a simulation before using this command (force fields -setup, atom masses initialized, etc).

    -
    - -
    -

    Default¶

    -

    The option defaults are pair = ii.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +setup, atom masses initialized, etc). +

    +

    Related commands: +

    +

    read_data, write_restart +

    +

    Default: +

    +

    The option defaults are pair = ii. +

    + diff --git a/doc/write_dump.html b/doc/write_dump.html index 3bf0a5e2f3..79dc858e56 100644 --- a/doc/write_dump.html +++ b/doc/write_dump.html @@ -1,273 +1,101 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - write_dump command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    write_dump command¶

    -
    -

    Syntax¶

    -
    write_dump group-ID style file dump-args modify dump_modify-args
    -
    -
    -
      -
    • group-ID = ID of the group of atoms to be dumped
    • -
    • style = any of the supported dump styles
    • -
    • file = name of file to write dump info to
    • -
    • dump-args = any additional args needed for a particular dump style
    • -
    • modify = all args after this keyword are passed to dump_modify (optional)
    • -
    • dump-modify-args = args for dump_modify (optional)
    • -
    -
    -
    -

    Examples¶

    -
    write_dump all atom dump.atom
    +
    +
    +
    + +

    write_dump command +

    +

    Syntax: +

    +
    write_dump group-ID style file dump-args modify dump_modify-args 
    +
    +
    • group-ID = ID of the group of atoms to be dumped + +
    • style = any of the supported dump styles + +
    • file = name of file to write dump info to + +
    • dump-args = any additional args needed for a particular dump style + +
    • modify = all args after this keyword are passed to dump_modify (optional) + +
    • dump-modify-args = args for dump_modify (optional) +
    +

    Examples: +

    +
    write_dump all atom dump.atom
     write_dump subgroup atom dump.run.bin
     write_dump all custom dump.myforce.* id type x y vx fx
     write_dump flow custom dump.%.myforce id type c_myF[3] v_ke modify sort id
    -write_dump all xyz system.xyz modify sort id elements O H
    +write_dump all xyz system.xyz modify sort id elements O H 
     write_dump all image snap*.jpg type type size 960 960 modify backcolor white
    -write_dump all image snap*.jpg element element &
    -   bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600  &
    -   modify backcolor white element C C O H N C C C O H H S O H
    -
    -
    -
    -
    -

    Description¶

    -

    Dump a single snapshot of atom quantities to one or more files for the +write_dump all image snap*.jpg element element & + bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 & + modify backcolor white element C C O H N C C C O H H S O H + +

    Description: +

    +

    Dump a single snapshot of atom quantities to one or more files for the current state of the system. This is a one-time immediate operation, -in contrast to the dump command which will will set up a +in contrast to the dump command which will will set up a dump style to write out snapshots periodically during a running -simulation.

    -

    The syntax for this command is mostly identical to that of the -dump and dump_modify commands as if +simulation. +

    +

    The syntax for this command is mostly identical to that of the +dump and dump_modify commands as if they were concatenated together, with the following exceptions: There -is no need for a dump ID or dump frequency and the keyword modify is +is no need for a dump ID or dump frequency and the keyword modify is added. The latter is so that the full range of -dump_modify options can be specified for the single -snapshot, just as they can be for multiple snapshots. The modify +dump_modify options can be specified for the single +snapshot, just as they can be for multiple snapshots. The modify keyword separates the arguments that would normally be passed to the -dump command from those that would be given the dump_modify. Both +dump command from those that would be given the dump_modify. Both support optional arguments and thus LAMMPS needs to be able to cleanly -separate the two sets of args.

    -

    Note that if the specified filename uses wildcard characters “*” or -“%”, as supported by the dump commmand, they will operate -in the same fashion to create the new filename(s). Normally, dump image files require a filename with a “*” character +separate the two sets of args. +

    +

    Note that if the specified filename uses wildcard characters "*" or +"%", as supported by the dump commmand, they will operate +in the same fashion to create the new filename(s). Normally, dump +image files require a filename with a "*" character for the timestep. That is not the case for the write_dump command; no -wildcard “*” character is necessary.

    -
    -
    -
    -

    Restrictions¶

    -

    All restrictions for the dump and -dump_modify commands apply to this command as well, -with the exception of the dump image filename not -requiring a wildcard “*” character, as noted above.

    -

    Since dumps are normally written during a run or energy minimization, the simulation has to be ready to run +wildcard "*" character is necessary. +

    +
    + +

    Restrictions: +

    +

    All restrictions for the dump and +dump_modify commands apply to this command as well, +with the exception of the dump image filename not +requiring a wildcard "*" character, as noted above. +

    +

    Since dumps are normally written during a run or energy +minimization, the simulation has to be ready to run before this command can be used. Similarly, if the dump requires information from a compute, fix, or variable, the information needs to have been calculated for the current timestep (e.g. by a prior run), -else LAMMPS will generate an error message.

    -

    For example, it is not possible to dump per-atom energy with this +else LAMMPS will generate an error message. +

    +

    For example, it is not possible to dump per-atom energy with this command before a run has been performed, since no energies and forces -have yet been calculated. See the variable doc page -sectinn on Variable Accuracy for more information on this topic.

    -
    - -
    -

    Default¶

    -

    The defaults are listed on the doc pages for the dump and -dump image and dump_modify -commands.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +have yet been calculated. See the variable doc page +sectinn on Variable Accuracy for more information on this topic. +

    +

    Related commands: +

    +

    dump, dump image, +dump_modify +

    +

    Default: +

    +

    The defaults are listed on the doc pages for the dump and +dump image and dump_modify +commands. +

    + diff --git a/doc/write_restart.html b/doc/write_restart.html index d5b7a00b2c..8da34fb33c 100644 --- a/doc/write_restart.html +++ b/doc/write_restart.html @@ -1,195 +1,82 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    - - - - - - - - - write_restart command — LAMMPS 15 May 2015 version documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - -
    -
    -
    - -
    - -
    -
    -
    - -
    -

    write_restart command¶

    -
    -

    Syntax¶

    -
    write_restart file keyword value ...
    -
    -
    -
      -
    • file = name of file to write restart information to
    • -
    • zero or more keyword/value pairs may be appended
    • -
    • keyword = fileper or nfile
    • -
    -
    -fileper arg = Np
    +
    +
    +
    + +

    write_restart command +

    +

    Syntax: +

    +
    write_restart file keyword value ... 
    +
    +
    • file = name of file to write restart information to + +
    • zero or more keyword/value pairs may be appended + +
    • keyword = fileper or nfile + +
        fileper arg = Np
           Np = write one file for every this many processors
      -  nfile arg = Nf
      -    Nf = write this many files, one from each of Nf processors
      -
      -
    -
    -

    Examples¶

    -
    write_restart restart.equil
    +  nfile arg = Nf
    +    Nf = write this many files, one from each of Nf processors 
    +
    + + +

    Examples: +

    +
    write_restart restart.equil
     write_restart restart.equil.mpiio
    -write_restart poly.%.* nfile 10
    -
    -
    -
    -
    -

    Description¶

    -

    Write a binary restart file of the current state of the simulation.

    -

    During a long simulation, the restart command is +write_restart poly.%.* nfile 10 + +

    Description: +

    +

    Write a binary restart file of the current state of the simulation. +

    +

    During a long simulation, the restart command is typically used to output restart files periodically. The write_restart command is useful after a minimization or whenever you -wish to write out a single current restart file.

    -

    Similar to dump files, the restart filename can contain -two wild-card characters. If a “*” appears in the filename, it is -replaced with the current timestep value. If a “%” character appears +wish to write out a single current restart file. +

    +

    Similar to dump files, the restart filename can contain +two wild-card characters. If a "*" appears in the filename, it is +replaced with the current timestep value. If a "%" character appears in the filename, then one file is written by each processor and the -“%” character is replaced with the processor ID from 0 to P-1. An -additional file with the “%” replaced by “base” is also written, which +"%" character is replaced with the processor ID from 0 to P-1. An +additional file with the "%" replaced by "base" is also written, which contains global information. For example, the files written for filename restart.% would be restart.base, restart.0, restart.1, ... restart.P-1. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support parallel -I/O. The optional fileper and nfile keywords discussed below can -alter the number of files written.

    -

    The restart file can also be written in parallel as one large binary +I/O. The optional fileper and nfile keywords discussed below can +alter the number of files written. +

    +

    The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g.

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform
    -
    -
    -

    Second, use a restart filename which contains ”.mpiio”. Note that it -does not have to end in ”.mpiio”, just contain those characters. +build LAMMPS with its MPIIO package installed, e.g. +

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform 
    +
    +

    Second, use a restart filename which contains ".mpiio". Note that it +does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO.

    -

    Restart files can be read by a read_restart +written and read using MPI-IO. +

    +

    Restart files can be read by a read_restart command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the -r command-line switch to convert a restart file to a data -file.

    -
    -

    Warning

    -

    Although the purpose of restart files is to enable +another machine. In this case, you can use the -r command-line +switch to convert a restart file to a data +file. +

    +

    IMPORTANT NOTE: Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which @@ -198,104 +85,46 @@ Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. Details are usually given in the documentation of the respective command. Also, see the -read_restart command for general information -about what is stored in a restart file.

    -
    -
    -

    The optional nfile or fileper keywords can be used in conjunction -with the “%” wildcard character in the specified restart file name. -As explained above, the “%” character causes the restart file to be +read_restart command for general information +about what is stored in a restart file. +

    +
    + +

    The optional nfile or fileper keywords can be used in conjunction +with the "%" wildcard character in the specified restart file name. +As explained above, the "%" character causes the restart file to be written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors.

    -

    The nfile keyword sets P to the specified Nf value. For example, if +the number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors. +

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file.

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a restart file. +

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file.

    -
    -
    -
    -

    Restrictions¶

    -

    This command requires inter-processor communication to migrate atoms +next 3 processors and write it to a restart file. +

    +
    + +

    Restrictions: +

    +

    This command requires inter-processor communication to migrate atoms before the restart file is written. This means that your system must be ready to perform a simulation before using this command (force -fields setup, atom masses initialized, etc).

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed.

    -
    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +fields setup, atom masses initialized, etc). +

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed. +

    +

    Related commands: +

    +

    restart, read_restart, +write_data +

    +

    Default: none +

    + From 7ef61b178c426324931e21fa9e4adc192d5cddfb Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 30 Jul 2015 14:50:06 +0000 Subject: [PATCH 6/8] '' git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13799 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/doc2/Eqs/polymorphic1.jpg | Bin 613610 -> 9186 bytes doc/doc2/Eqs/polymorphic2.jpg | Bin 624854 -> 7156 bytes doc/doc2/Eqs/polymorphic3.jpg | Bin 586170 -> 2425 bytes doc/doc2/Eqs/polymorphic4.jpg | Bin 653540 -> 27028 bytes doc/doc2/Eqs/polymorphic5.jpg | Bin 691116 -> 30052 bytes doc/doc2/Eqs/polymorphic6.jpg | Bin 618387 -> 9063 bytes doc/doc2/Eqs/polymorphic7.jpg | Bin 666692 -> 58111 bytes doc/doc2/Eqs/polymorphic8.jpg | Bin 608435 -> 10249 bytes doc/doc2/Eqs/polymorphic9.jpg | Bin 677221 -> 13704 bytes doc/doc2/fix_gcmc.html | 6 +++--- doc/doc2/pair_polymorphic.html | 2 +- 11 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/doc2/Eqs/polymorphic1.jpg b/doc/doc2/Eqs/polymorphic1.jpg index dd609ea6b0b62ddf326a65d42282bb295c01a4c5..4757cb7ad8d14a06a5d3eba914fce459758a59e0 100644 GIT binary patch literal 9186 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�- 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 B!w>)f literal 613610 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

    )gE&fD@(?I~UwI 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

    0K(%)-P>03eS4U^xP{o&BRHWfgNeh@q z#c<&q4=KMSNU42NSySJjg)dP36wp6%U8xgKn8*=eHcaT61 zl7O{999aqA52Wu*7W<&(d1gFwG!r(OwkR(mLI8{q0+SuNPw0Am?jxH<8 z(P=|z)n!>9|R0RG2fX&(r=j}VOLCXsB^{?%0g`(`>?94 zdRB^6O$ex_fvT#8Zko{5N|Lv_aJ3zc7+aSO-Po;%&|saNN^Dd6VtMXRvug>E`mOpOnMVvI!YLJ6F<4D9b#WQ?7ACLRL6x-C zk<^`Lf~i}Nw|i7LyGM?9bV>=%_Qe9E&{{lmkol|unms$9j)VYU_KSLC3re}$5Sn-0 z9$kL1F#)$=&!W%SO1Y!8NQFm6FtrG2_C^l7*~$>L8)%9yEk*B9ksEqy2n{{eL`Rp1 zC+9j*h_DJZqUIC?{mrrf%=24v;i{*QVolBtZ($&y}jP1Y#<^Oei zBAzz-CEj)I&AQSW2|Lr706*NGgCBFixE^!4qFIYJ*2#$t`s&JNrGVRB!;y3etJFO_ zmbtfzQQuot+1OoG>F8W6KnAUa6mn2_uZE^FYy%c3|8MXPd)(w3f2%b({ZdzC-l@K% z;@Pfj{Gh9V(_U99w;PZ~qZ;3!l2KifYIeIoBaP|BPsclJ(;+k)_itzW3kL?sW52u*!mhZ z*~M2d+gMUT7fmAbkgIjQL~%neNnrPod5*5d^1Z{3B|x=v6*P@t3#fzg|E8V6_uKbG zUF!>sKRX_sba)~uZ)6|?+tHa@Wp@=x^$q2ExdmM(Fc6zq+R9d{n%hZG)^uZ(+8&g$ zp$AiA_u#~iuEhf6&(;ERQ14g?OxrdC`&Mt@-Vu1m;~jQ+Bq;LqTx`_L{)F8Aku*$m zPY%n{URa}YmFmQHq^-(^cTmkVH_pgzM;gRkaJ{;_)KJ$A*EDt`6^^dO0u+#g406zJ zTLCPaHv;G8osZhL`raJ$3Oqj(9C++lROI+vd`{OyD#|{T#nkoWSJ!luXgMtv7HSjL zj&o342s^8#v_aHfRIlnNXs~t`S)3iE`o;6T!}cXWw|P0#f3O}jZ`gLXXY;O0lU`mY zjtB0UIT;o`a5OH<4b_9p6B(8A;am}~zeq**lpArKn7WE~a$`vwv#GE}=+1L1T5{Z` z*6ilymiz`+>tX@Qm463{t)BwphGn2}?V3j&Yd2mS*|_=S5wDFir}qR5oeoTBJrQ1D zJG>9AI*>vaPG<=iDErlAhzR6XlKDBcf;`VY|6c@ubP&NxMuHCCy}7_CyK zkMLEgBNBDWuu`*FK<(Fm2lZdP{h<4Uw@=Lf>u)0$Kl-%o&Q}|44^{^%?{ALdf4e)I zerazB?o12{xsXOIJ(f#_9WG+z&zD!_%%M10vp8PH42hq%pC(M*&k!X~bHqtg!s>*n z8p&b-#?Su>-0%PO{N!K$G$iy=!RQwq%I_@+9v+ooc8+(e5i#f@{N1x;n7R&9a|~Wp8Mk; zZQ!l-9*4)m9>gYQ-$_hMyOo}qd^0CI;YLAj-1Xx8eb>qh zp!!2$^i?!0>IxPXd4*6EahY5kewkhpc8OWKSjGomeWmljtG}tc`^KMD;O+MX;Ipsk zVD$zp*trW10{sd=*xpPK6Or;bAv)nv+P-}cv*KeOW}{Jw<_@Fn*#8k|IopgpJT!LmF2)|V?OZTkq$z3 zCxR&7eIPy{8l(h8fQ-FiASWag?A- zQ7t}HF0Yv@QOgb#=@qkuX4OnVy?Q3!so9^`s@x589N7NLfGA`mkc966 zlIXCfl7z&2qO_bF{JgSD>~ic`2A;M+p|OwR*}_9;p=1srmCu%|RQpSG+UX*TZmO_B zKUvUhn9T1qju!M9`(VAs&Z5NuIL{s416)6-Pb+vMR0r7&WRamyrTY@@OOms1in2;C z^NO%%*=XuQC7FGc#1tOH@ude)66FkBshKX-=_ZRUh6z}sX`-;zJXY9a?knmscNBXp z?vlmv+<~+8J-~+?B!L^Cn;G6f5f%az(QyxC30dFPq!(Wn<)hE?;M4^cfqj%#DVis6 zrL!2ZY8s)aoh++0OcYzq<1nXXtgzEMP~2_pEa|p2mv-42%ev|o1K>h&;6e@p->*SU zzy_cQ@&c-my+9SY@1Zg-&^a@2t1M7sn3{BHyJz=C>ZY6|oCwf}uJ{c7Qw3atCy35-f4e&OH1<~fvBikHWRD0uM_`yN4XDLwZ zdDe*!<^TQxz_>T^u_+??t_gZ(*_d2#rkYKoDJhHT(!P0h-1*R6fw5|!Q zwcC+aXC1=TWJ0z!=}@grYD}wBfoWS5fDgri55+;U`zxS?ZYI=L;yY_t z!Yx}&)+Jj~(P?uQ^02;yG$BWF21EpDC!4Ny)4AqGa&^58uWB@5jZJz?qf3KnX;xrc zTvA+XQw_e&xfp(MsPX;^x{Rb#!@GK5n-UCuE zXiCSfHNfBn<=(q}K)rv+UB}*-tFEZzv+jiKBTd;Q6ShKPudbZaDo58eib+}vk72H5 z@#>Y8HI5pZ#wDg$-2zIpn@4uLxs(#l!I*q05CN;9gD#dGcBAQvjW7k)+#ST7G<>D|*ZWhDY z!mM<=ne-MHliu327=Cb&?|>!&Y+nV;J2ry`FYoV~d;)H^1%+Mcj*L0co0K%wo>A22 z%pkb|X^%LKQo5_(~*X+nMwKo>lE)Gx)IY>AC z2b!4jDX3ff6>zUxe!Fkuiu2REmLFU2TQju~x~Jz*bgUDq2N}jvk3K8b@Q!RZh2k0+gP9GZmLgrcGhRrEe;@o926Vg1;*7MgT_^#KkQuj z<>j$;UmQEW^^55O@Tx2I}+(*`7G>6iLiVKA%zVPR5|^X z+KfKFKBZ4?OzJb368oA=i9NlhKK@Pg*{{jt5-+9pW**j90TNzp`$X`^r{t%O&q{ z<%NJ0{<+Ws>Y3;Y%*iBN`LS#&>`)Oicdp`D?$1x(PZg$2Rf&@(g_49xSxx*ztu$_; zPP%Wxy(oYJaxi`Mci{fyA6G`-{mbmh_x{#@<*Oy`Z&$Ck+}!M|xZxGWyY8P#y%w5} zxwx+kdR-C?JDE$!Jzh-7I#NMTJB($f93)pI&N0{t2e{n0SrIRGR?d%^(FvkwY>NVD zzWNhr`1sFvdf)ov{P8z`KXB!}f4T2{@s;`hs?CafoBetBy`rg54+7?9WKQ{&grb5A zY2`U*bCDURi!o^@;rQeQ3^DNpksN=VM%j0aMU6emqeUMP)1wY6DkBfqG8O|cef-*! z)_?wfe*f#g8NB@F>&^Gy`;Ym_7t7>NS8wHlt^U-fdm=FpLK4bv$D|kBOw7r;mR^u{ zIk!0ZQc-E*h4S+F^Qek_=WvLavt(rS89F-Z3=0!^nuiTPRgDWfC0`Vv@gKiAF!b85 z2Iv3qo96p}{j&+Y|A7pAwVVsqZlQqfJ{aI1QuZV~I{#s8eCEBRl+@c9>4~>;GvjW; zvSV+Q=0;zy$cws$E{M2_FATp*hJ{_B7lmG76@^^p74N+yDp?HkUB7>2VC>ab+(%#g zFX$e~UuEE<54m93G78wR5e>X{m4YC@JP^J&9mIwwJxPp?f0P~@`&~|4)Wd>=hzG@q z;rGjvLhm7xL+)Wx_TI&(2Hzp41>K>g1>R<*2i)dnEQbEx-@Vej|M#z$uD$*{8F=e& zT=41p6tLn;G}yel1nl0F0|IuWg0S5QAjUTqBm_i))Sz&XwKo*xLH~RghC=m+upm$# z9st!I`~f<`?&lAR?Xde0PE2hK0{gn*7@p}$<`!5vm**hq(>XRa{ zd1)5dwK5s_t=k9oZi)nvTf#ux_Pro!M-WKc6#%ll{6Ma^FDQWi;VFWyVwUdN4a$AI z0m8=%pnZ1%yzfpxg8o5%F@X5_Yk;`npMc==DPRPz0PM&ufD`8n*s0-98950LC`DPf z@JQHoGzosWf{D3M$|s&Jl2A?;D(I*3wak;b#;S#E8~a37Blmcwn|C~;lXonAfPXA~ zf`1@mKYuD~=7s#?@O_N_*TjJY?FZ7HPXQ}v1>i<(0la-afSVllv??p%0lhHm7O4Vu z4NI)Jgk)gPm-9$xOR8z7VG72{0xfGH*T_B&4SPPG<=`F5Y!MvI=!O^)9?qB+PGwCC z#bk365qvg-5d5#D_Ec#D_B`s;9Fj#ltz1)&02>F9eVw z2QuV9_x=R%0+vH{kWD}g)nY_(p+Jxl_mGp5ahp*LyGB7(T*8xa=TI!lX}Ex~P$Fd? zhpBl-^9{lyxpm^h*-h1lvN|P)GKXvSXOGv6y z^Slls3EvH>WA*}Z(!PiM%=Fvr!ous774S3mj?Y&LsLHkvyo>&+jPw-<~mS_)sxa|bHq!1DSSi2S|*HGvzUX+mB=8W{{~ z;$y!Pr={KD=N4SADlNZ6!(z`8Xq1y^4)Zv?ntQZFDLPbWkj&>bNau1|*~^)aaSh35eQt=bAXL-7xUbKzWy!1 z+wl=}KWQmY?pX`n1%W0K?)7_G8xej_8y9~=osxM`o((%CE=3&SVu<@IsmxJgm0$oP zs_`Hc%8qiqrlq7#=PGW|JBs@Zw$eU>vAoYv3-8x!DqakrLveWKAb=cXUQ40A`!%2z zx{IL?@_A$o54mlK-FHQwly*j&m48f8Qodh=B#u-OnY}cIpo7Shx-m5>2U1hp05=<~ zQGs=*Ch8OYNp%QWsZT}GJ{r?JRy;ehg7*Owh!0rc@(BK=^ z=%@?U#H5p^?Cb*?SlL)j1)-OZW41G?LKl@SZ6J!&7OX;NKpBj+NV{2$=&&e|J!UDo z$1K70n#7o1V%CPCF)!*xGeMrDndsO(@#)P<|by*ox z`hv0nMH!((jApvHBw;;+DKk;|>RO^yuf%IjGOW!a!M0e%SdUeR^H>D<9uptm`$C>O zFdzrXwhw@6+ZR9&eS5cfZ+u+uyW>`4uT0vUa3b@f_F=i%myJr zXyVXiS_Vfgr&a5#$!e33XtwZ(E-Q!FZDo@@mMT(@8N&1;00W8x6LP58`T@{vg>vuh z%Ykjz`iG4^+itpoyf3sx_@8J`2%m0BOCPZ1mbB}N@Qum}hFO9YXay9hj8ml+vqXAc zrNUH2Gg=umhmB6_hVWSFRF9cX?J>QG=MJoOZvoks_ks3V?!E0BP``8S{iZ#eueAm4 zIO~breYiU=Y|NdS=4r?-X*Lz&Y}zu0PL3AHB_ydx$WU{5d_98=ElZWoN@6wG2vwan zBCFdwF+h==YLx*-$)>6~pN0K-Z7r2}EO23uxkAuudJ)eZcx(O% zRO|l(y&Cf|XxQ-i!qFDQTSi8r_IC6oB-uOC3ia+Bw9Emc^6Sbu z3^Q6xG?3(I9aB@T73hmK3S*(#WX@N+AbLzNS+B9U=EZ=jC9eVD>VE*u+IN6uEi`{% z?WcFUHhgw@Wc!kn^S+<&p9|XDHyIh!JRFy3=}pa7b!H)jEd^v|Q)v~c5h+C16QpG} zx)NsPX>-joU6$Ek$S^w%8J0eMwys~Ft9dbi4LLmPp{#}O#MG^N?`g}*4{i>u`QXg# zws#Mm@Ln={G;m|*YEKNDW%$s>?Ei!0G>72L8GoVc)=Ce3ki73ob< zb&6B3Np5P?Cb@bwDGh_#H0z52T*yJT;;+E4;w{j)?CtwqU%!1}a>ZMRPi*-2#2K&8 zdrtYE^kKQ#JycZ)zn!;74PSUCpC%N2x6HB0!WX6dyT=H=YG5#2p5_^|&G!w=aY+^n!e zBh0Y*`4^=cenM*2}N$+ReM_A49Iz8e-> zau>P>aXT?1{boi^^0oZ@_$#Hb*vrV0=!=BX$P2Xc@bgs_VdsR1kh3!6-m@B1@EHp_ z=#2e^0Mom_zS8l>Urmg^_DavmKmOM7-M`<|KmP0k>64YqI8U~0qCEBXMuEVfVh|pY z`zSUx?Lksv(!I=-xI6jjF}I2{qrR=kj<|`<3A;hc3%OpIzxNuaAn2;FFz|{L7H~yV za{5?|=1`#v5<^P6yukTMhW)LpE5wj10DIK!H6wia?N04hRoQ z1+k$CPm>~JA7?~IJ<5xX_^v1}>|uFA$OB|z@O@lT&^>Z;z}?Ce|GVr|zdOP--`mo3 zpWDie7ctTPU$1ly{qB{q0)ab{LAZAu zi1m#IiT)8FJunpH1n&g}Awi%xGyuTE`~fQ57vLg%o{}T?Jf%nNeo__X^+XWu^;jJ9 zB09T&`-*+?x36eV{_fY+;BT+8z(;>0fo1C zcxcpd%FY0gvC9wSctQ0CXarO7Zm9OK#~UDhb^)xJ0Mw?<01Gt$k|3ziMZg~ilzs9$P`>6( z0N?d4!25j$D50wWHD)WIB>4bBRwzIh#y*B4Qtp?KvhEbJ3ck$~6yL~^mR-wKS6ofk zBd?@c(3evhFqe{D*o#T+xQmH>_zQ_+g!2h=gp)}}2?tY75Dug+{3yRTd>r4x2F7RmI`qt zLx;MYX2D!aZNObjap5l{cMvWl^%Ku0P7==~9wZ%0K1!NNJx-cR`*8pqa;ShD&^z7* z6razay4XsbS}Azd@gB-axQ6>ay;cQWj5^?Wjy^Tb>szrivM=NZhr^R_bdTbP%VZN zu^F)U?FP)0y?~k>^B7;0avz1tzFkg%-6&?4T`dqHF6YWI7qe^e7c$JmbLn>S*;F^> zY>J0=CV7mukTOS`OFKfFNIy&;%sgD#pLys<0f>)(2N0{@1o&<50LJbmfD6@Pp7lxb zV!Z(;DHt#^V;++WlJ8?HvTq@Xup6b!@+&X_>QcT8cOgehJeO%EpG~(@&!n}|Pp9-% zo=%x&97;RHn9MlD7|J}z^kmJmy0U+q=MG57fwc75Rt8Q)%tYlc__jW2pyNQyKHD zp{%(oPxb+JTh0M?OYV;YkWd^@kOO7Q+kgYrV#I#XY>=S!pgMdf5XA-nesbhvc6Q=D z8Z7G;0SUW?qQEbgv(e{^stITERn(I?rpn`)cGi)M_Nw{xA@=@^1Dv6(Sx$G(EVngx zhUd(i;W_eu9Dsrx(5wFf=$qdL{9T^_iO<(S8UWqR3Ecr|qWvCMCx+h>WW?XBD#*A( zgBPC16UtAan3!W_0@A@EIc=su$DGQwvB$Grypb#qe<*88(4D(q(2_STaO6)5>k6j@ z*24Wi3P3{+7|4OK>EA%O<6~%s64Z;~zXqC5vJEIAeICf-L%x-y?zmvmVbhZ zEjxs#q4y&>r1A3V%AsOaRezz8=gGGVy7JmZ?YYC^=KLwKy>L=&g-wYKMN=Yu@sIO^ z18d{ILG|{Jfc#kxg70eRUe4x6nsDzs>e!&Gisa~XHQC801SL6hEL7TJNn>HJqz*PAF%?fpbR`oKb?Ica>IDD{6bIa@zX0}ze}S53 z`Twpjpt~T@>y!Z-ALv7O-PA?X%O071 z*FZBtHeafb*mbHQ-ha-N7Bi;F&FrlyDQOiTF^(z%#YV4W8OU6o1}_mSFluQH+9DUD zniWD+zmkt0Rq!yQat>xp#=(qBe++g=R7&}Hqk@BTD68;2 zN)~=Z$;6K;82B;Si+JupS^j4rf^u&a^xa#(N|Ij`105 zNRI9?Wo5WEg~biBGPF^ICaZZQrnHL56EXy14oxOyQuGQs*{-6JyHphD0aFTjL_r~s z$|>YA*^dG6P#kFA{25e3xwm>F^xb>&M^EdveRkXFwe(V(|MFAap=)N_qW26r6Qeq8 z8R-svK2(h?L20B&vQ$i93i)&%o5K}XvTCGchE_pf)TwZcb`_Q}ti)B0DDd=AIi5Zy z`!N6ka;RMPXHc`|A3(eQ9bn%0!6W;YPj0sC{QP{k-%#=M(*xyPKb2d)6?qA zxiFos2q{-pkc2WUgI!JK(nV|$kuR>na@A1hl2uv3X;HzsBT58&RDooT$xtugxdRjG z4U(7RgN z_1}PDHT3O$%{zBm*1dbFZ|l1!C%oU^Kjy!(e;|BUOZUF8y4K`mZBtf$O+x{kYc0jo zjYt|nN2o$+EBR$=o*1T-)#NJ-vK)m|o~`VY=gP-q1(I=TVfA>;j{!(fuE&MGd8?t{ zDf7yIJaMjg>t@&Lx6X}i`p1z2+x{~)<-5FVBy^{vKPJT3os=kV%gE(7=ap4Dim`-- z3JTJOW0qQI+(HvakYlV7XBu>pG(%%esd#y0RZWqNjc0)`HlPuH1WYdoWsE|YT=YIeOXgwM~f8&;C z$sf;5fByRe3oBnAS=jpT&ZB#lHqHlc(e3|#m^;s?CbO_zzchRAy(?A(1O(~56G%u% zC51E~1VZS97JBa;r1v6<3Mz`dV8gMDZ3M-F6$QKEbN0+x>-_jW^!Hh_u5s4RXJ01y z_=ya+6Sp!bhi_(558llB6Oe>vC{vvR&8pLWcCVfKvTwP{?MG{rFFjMAePYOP<-x~R z+Z!J_?J2uYw8_3hBPQHrvt<1O&wy)UKcB0CL4wP&aL(npNcX;UIkm4a&aJN|f!Mb% z!S(Wq1j3cu39e`FB@s{EOa2p(zETCMH=_K%T4nU~0;PKoW+_~HzGm|A;hhT(yx6m@ z;hDKc>5!dK)?;V8gaJ2K*&}yGz&|{$=z++K{~*AZeP1S}--`>P+{*|h-YW_x+^>0oC&fU{wK)(>0scWfbvBOuz#My%`;Q63pb`=$42KW?;Be?yJk#n zW$~Ea){HSTowzYO)9^98t^b&tv*#F{zH;Y>WMAt{pb+U?drLu@sJz?AgC)IQlOR!R?ojvb zYB?Be2}Rl87wq%|fHP(S(VPl2Ya+1i@E~x&fyl`b{BiaW;$jPtcx#A52S}v4nnO0x z>{k)VbbPOy$#^~4c737#+&~W!4Rs;Sa5vGG8cS2{2bt2Fq0>uwl9ow#{XN=3+O{TkZnJs~o^;tqnM?w*>q~GjLNi0orCG zU~Vx0kF9$^uuTuVx9-xF6XZKJAW2;VQvL{dZBPbJ&1oPqS^z;- zt03HQ3#zs3f-r_51o5pvB6b9yP*?DZqyFNjqoYakIp5f2ysyk^;TQKtug~;0?@zQ& z(MReL@fhWlc#M3>ca(g~Z-hMP_mc9|Z;1Nb?;&IOkNp2J!+LZdG^T+V-G^YyRUmWR z43Vz8Kt?x!P_89NeVo8Igb3bp>bNkK`Gc3|@r_f;|H7*B{OsP~{fW^g`bh5-k5P~M zj#5tfjZ*p~AINtlZzzu?x(gY*}YyNqGUUH9Ju-e?9dG=s!o0fd>aglPNC5JS*} zXexSpaV#O&%Lya_L=Z>O#=VkR-}yP*uiRqcXLhCcCuW1sn0uS=D818fly+3|fqKUO zJ>{zO9pxYCF!f2mWBN1cJ@@C*e&&mSKLH{%gEyK%s=ojt%vORNd9gU;Vqz)!5Y4iL zaG@gvNQmGkqx}>mvcCzl_+NNMo}WA_L}ToF-%)0($%wSpdG?iLWmcZ3iz z5u~B?pW-;qH?MTTXF-AYNA6znD5p;Hfz>JpVE$vRoGx}i2L*`J( zUuZ+$W%kq1vmQfXe*(m41|Kv-i0*udHC_S9$i<{OsY5DJ50dES5bNOp5#Fv46iEN+ zAIOYXbO4GJ`nblbu9b|^8#AlxF2zg^Ejf9g&5yUkAquU-+kq zpZerW2ffOJ{}I%O-RHH-?s#-Z-sGH#zQMT})5jf%ImLSVGPtS-i{RIKIgABtA}-x<8Q1_%~(ozE^|O126gK zhn@2+k2)o)lb`Tvi$CVsop{9aY*Lr!-J}lhdr2*#dr1vG_mXOS?_HB~Yz>rItD=25JHPJ5>%K21o4hPx+CIq_;O}Sp(QhP%@cUw7e9y^}gH8r# z$&LjSMR!Rm;|}^ZCGPj>Ol}wTrnHK#r#6cJPObI5n^Ng_H>F&1FZoY^Kbj$A+cfl} zWe((_UQDU!DyXpBI9_G9<72h6)|+aQ!P82*<-<}Q?yp=QdS6-~|4c%J@9~)Upe|W@ zL}y4|OnYEiLW{I6xk1vNTIY8(y~giSdZpxcdYSZ2T1mj2)WU$fDSrZ_Xoj$@sDFTR zZvpD8m7~vRmHGPbwKiKn)H`VmH@NCPZlIgouHZObF7l?G$@b^>q=xw(j+X~_#3V#j{t;~$D+v#cHchdd@1gutuNYoX}P(!&_ zcL7uxEQJQ+)gN0dHoV$rx8+Hvi`t!bH>1l9Ovh7|0_u@sF>ilvptw0h7F3fG8?iSb zRbCvMo0u0}nwk|^mysUPk(Cm0JUcnEKRYS%W@b|4t&GIT+v$JezZs%Y#>ql6l%v0= zYW6Jo*<`rl!#=Y$FAmyl80d1^eq%q;@Ite@!|@s(GvbR=lhN0tCdk{eV&%uOaEO>UUUh&peQ#J;LTOBN zbWw7ActK8bP+n=ee{OxIZ*FInIQIn5W;5YwPeedf>h zowG)|HD*0MvwP;fKK(_P&snMV_B!i!A}7^!i0N92d`*Ox^Yc!;kiqe8;_iI(rND{S=Jn5;ENA?FtQGK3KIAE`9`+}1%)<6$fON% zG2*)Pc+c9xBwkH*ibqX*8oTC18msoNRFBHPQ+Z`~Q~m^mtyF@{H7ZcKWiqs?P9E*v zFzMNa4a)a!tEybSxqE)^HS_hIeGXa;=UmOoPSJ2V$2rvGqe5;>msk{fFu-4WAUwpU zBQ`>~FEz%aJwJ}wR++$PYfGfH^(0c;`xEKS_Y;|Qe+D8^?#@G>jk--LBvIG zM^|TH{R8u`bAy{yjt%I{>iEZGW$iuN9YwcY^wV#UZDOyxcY|$lu0smsC zhz1@n^Dc zhjQt+{O+O0n~;HeaXPJ${aN`h6X55BoV?dFlTrAZM-uG|a{B9+`?= zM&~e`zC8`=dbLQY^_A+3>X%weiiV9gq`$CMkA3d6C+wN4x#TI;&hshTnL8vTGKc&q z)S(bMX(*aW7)s_i59M+lpO*9NpEe2Xo*fq0K07b4c|IVp8+;?M8~8m?HWPcWe-hSr zd@|PCHyJy0e;U?2vQ(w={pQ&P@3ohwy*J(@e{Zc3`rb*;Z^YF^I6}2zkFe|+BLWl{c7Rk;1{h;~PLo)bv6>;siTh4U&O2_9YX2Y7PNw8yHG|JpTV7%T3EVuH&UfmsBw8`M6O8|yG4m^y| z9t;!Ie=xOzKy!1Dp|1sxvoeG1drb)| ze58V9!UDwvSU)8K)aFP*dx;kqtm1$fau7C~iQt4Bge!6oR1F(o?y>}~wi$To7=zz# z6w>wdLAFN^V)b<))j$Vw4Yi@fNDGxRcR{o9pV)s?0js%)VFhoZ7=KzchXP_1k zfV`IkZgpfJwot)!KMe?7bikir{BpVA{?p|K^M~^w^Q-eq=9tS{<~zcB=CJDr=2Oz> zZ~1>SaP($^$Yc>nY*&N7%NCGOHNnSY4+wosffr&8>{v%|Pj>-Yfh$nT-N3Du0;Fad z5cku;wTtnK(Ca>qzrg(Ia+CGl`3dW@%S+Y={5#fb*Adn;(g)UKx6$7MY;+&!=sxgt zXM)&xA=+NF8Umd+LjYL={MdWI+shOLK{ntK;|Q!&JTUTzKrJH!xrPdE&GcWS4)<}_ zF6KC)m-UlyiTxdahx66tDQ67-iu2a>9p^b|gfmEf&v`)p;PE?vgJxjtoCE@$nIJJ* z2*Jong*a`7V3Gy|F!z91XbN6Z8{kJe0VkON%p4NXOQ}GurvD;0xsSVbuznJ|*gsrP za()o{JiZa`b3fsqb4OfXbB9UqxR1#r+sD~k+_V%jfSmHRlQk@b_@!TCYz_V`Xb#r@`b zmG_14h(GH3g8z#2n*W6Ij(?x}PH=-ZBD_L>|69NV&A?Qf1U|cFAiem1T}-syCWykT zgN&vN!5*gIC$a%iFb)KASMW%ujI#>pKN%Iw@3aQaS4ung3;8hrliNwbN77~C2jV}% zx1^VzLzFkd`?R;7{q%QUml*H7&$<5|;35~q-Z2UMG-p6K$`>&vDdD?)V6!$|EMf@sErhew;xR0?**&moS-1m$Y{ySQy@C~)c>lNjK_b}zI_fyKS z_kG%H(RIdKpNsBq#HX2W#3xv9e18Y<&exB437=k!q$PJHhZPkrl|!F3`Vc_W&QwAlQQXNovzUu8lm1(K1N4UWd9l+aQg&>t_<( z;Bze3@`Fs|_$D~mb=W_K`c$04dhC_U{fA#Fyw9!izQbu1-((%~>u2^#t}(CrUuHg$ zo@Eb9k8_3ty0|X_4)9(C?Bo9)5Fj7rrK$p9|K@+x#Yi_?3fY!xAjfg@cs4=fa|U(K z`((D+t5{F_XORJf!H@{*eQ5&gmN=8&?_KD1MOY!e#BY#X;O>*2^*9oEnsYwrBoiD4y_jqRv=;+?HVW-GeJ#MNeaIv0 zyvlMnewre%`6o`|d^;kPdObwW?vthn&im$wPK!$XdcCTpJ;LUoBZ7k=hxsQ%5AyrN z_6vr>T7*Mk4PHZGHQrA{tNs88|MgKDR3I8<@3dXBAy0o1I+t_Bc&Y9BkEOV+Z;FY# zo)ysbA7%3_Z=ss#mDnKag@{P@sgMNW@qi4UZb^avA#r)&eo=i$yZ65ERfFg^TU^cX!ktg@r}WChI7cGn!h@kH;*OvkX{)p(xY4gVtj@P3qFQ`7veM^V z)L!v}s8Zj-$RfYTkp+^+5qXj)vfuIF3<2mp5x;o~WNXZXl0Ea#UXaC~sx4N&skK}G zwAOjcgDN-e>m^L{3%NpEZ<-&aJ29AjKprJ*i%bwVg=I)910F~G4)8+vAqcscMAgZVhd!U>dUMCC4Hu5qnJ#U5oT30R97B@Rp$a6ZH?L$708pv)>)vEpj9)Lbsh4Ji&SmE{N5MdbwT zi^&Q)F3$+MCQlE36q6b}5S_Ple}p%6d+Gov3vIS+CB3}nv54e zZ?jzXu-$IM^+v+3^Hp@yKa$6XKZ=PDABc_*AB_4P;EiSoTcr%CngdnVq8@8Ke16!k7A;t2BM=Q(HHRj1`wecWGj>)9j*12sG;8buIV3} zwPwEDuQz+3%Xr>j2d&m!Xm{2)-bgX-tY+D_lnY2TMPg=IUZ9{LOXic69xF{vNexLz z%9F(;lt)L#HOj-|4#kGXor?>J{|Ei~C?+g+AUaGw81*~AXSEVUE=Rc+eLl;#PySV} zKJ|UO#`I^0wWmMm(VKg%%W}<`132~WRyU)44NSZGDjsofxyZe+Sjx}J4-=*2#Q4W& zB?m{RXUoDf`~*2V(t`PsjSF+>ezeKZ*%R9Ec7~7>xQI;ES?FZgB>J;<`#x+RXx|WxY~=6y;s6ZDGl+C zD~ggt6(j_O=4OTkW*0?DvT9<)S^MOotln7f?Avmm%ttZ4=>ySzse@6!10?7<#4c5Y zeDwLK*`o5fO;u&MYm@S$Gh3DV&uGs&+iSY=$WezK?T1|T>pE!GrL7!%ZlfnHwa(Wg zzB_T%3Ify)#j zafu=nq4!1oMy1gMYm}azSf%*)rFDvZ7k14&amHjtXRqD1rlSPCio;aPf&*;l^nC(K ze5(&DvME3iQXl5yUn}?bsZI$JR^^3qD=TE|ik3)bIN2=o2-7j) zFpm_~>CFh)@6Yw$7wRc$ixvx7ll?i(If2Zk@(_Aca~QShNEoI0N*KB6X&9~cX&9sG zY3T2Oh=q!fh4O#Z5{1wE7hv~JO~?MaJ{`OG*9wK68){ScU(;V)f7xnd*+ty0?6V}} zq*Dyr=w1(eNRJmqa@3FMeI%I6?~3wdA5QdP9Ln~i94hlC9c&74J=h&UICL5DG{Cjv zMIfp5_dx7C1t^${LE~KPUN`a&XHf^?uW4BCy`>5V?{1sibVqMN#Z8NKdHs$%Q?9z| z$Mn%GLN0O~B^Nvi-sgNNyt6^>tTT}u`sqYI`Bb)$c&f}Bf2vXBe5%U_ce)SpRD?VJ zM(lj#jqmS(a$%);*Pn}S_EHU&G2ItV>?remE0%M_XiwoR^lq&KhNAM;gd_wBdJ z?-H~_Z&QsWH`!KRe+eCUH+=D|{vZ;qKa%QpJ&{4Up3QW=UdDF1-sItMz1zdS|FVZe z|1*x=wNak^#Zmt6fSj4wqk3iR+QCWK>E21$ktJPzY3eb^w{jm4+ffGsok#-_F8F~20&XCS8@v=^lI?Hq;Dw`){#-m1+?ezRvu z^c(ZFL2vA~ir+YE@L!X5vtH8;Xs@{@Zm+$~39tRFoL`68I=+duw|kT3X!EAP$?|QL zv-#V07qfRgE~X<_@TMcr@Fs6RxcrV=br^Q`fD(2Xbr4!EsbH0Nr(lI2=PP7>+Auls zlg8}G&-zOOKAWu(eYR2Mea7u@|3cKDe4%L*zi@P2z6kXlzxo>5eGM|U{u*g&@h#EZ z>|3^_$@fw#qwn?B20!-O=>IrjyXWV1TfLt{zvV(3hIMr*V$Ek1vAzAuSnkkNENy&= zV%#s)$>At-`-AQxPcT`*0jqU%aNI-!!d5&`b~pi3-41w~*5IvW0TOLf2;FTAF}enj zvS$zEA_q~997F?h5c`pXIDs5QA94^A(|rKLnvY{xc^`&l-&Mqte#}&ef~AT|HgXUK$U&GdCxGoLC%~<>1L6iNplvb-7V1Ipw-|x>!3kz-$G7d_WhAZrz z;{-902ATHMj$_hPTuG9hUDlPC_t%=;jP6%GR0~JHJK_YSw|9Xew zjhmoq6FQXnw^W=&um38#{sRmP`K*Zf!b}A&@*s3rs^ki5l$}6zk`3&fVh%dfjKN@r z0hrCw1?$<`;4o(wxXe`t(mXYw&fgBq1zUl)U^93x+ys(E>mhXUI*3`a29lSog6yR$ zq42i=NmUtKG*y74JsFsWvw&;42>4E`flF2eHfJZei?x9ost;~)#^9Q14lYGjfUC3t zrv^K4Y_|u8Lk?iy;|O+Voxt`Q4s0Lcz~-eh*o->=wEgV-#r~V~2Z!&t*G@m2U*RU^ z|II+wnhYHMSs<`j1fGtoK|oRk57tg#c_ZButPf^_$zh-vAUegPWQPuy#&H z^6~%L8L7=GWT`fRFI5e^Jam93HUM^*88G6lftqOtZbgnjtVHs%5&sLnk1+1iMf~Y} zlJp&Sne-L+(CriMrQ0ZO%KpuX>Px~X<+1B0+TWzl^y_Y47#AsD85e#7P&X<8W2*`XwoU?nWJW?! z`jc6%K#idd5Jub%f$m!1D=_%!$09C*~E(XV!V@XVyvDXZ8vD!~hM=z}l<=-kXt?__v+0 zXFkN3F9W&#I*1}{g>c%gZ$aEWpZvt8A4H)xZ-udruefP0FWC9SXUuZ)5TlOznAS#r zL_O^OkaCiFpK^_LoAQKpgEGSIqkiO^rhoM4VSMCvxsP!VGbaY<8}4|SA87ql9Od}fGYS6>Kiln|M=|v_tBUa# zvypY3v7d95e$3-C{Q~zA{Q>VB<2A3BG0N{|eh_rBJ_z=)KM2}669Wu110R_(f0Q^P zQ9C1X_Z&zyUWA1F%5SN-jiX7V9dBY8I?p2oMuQ;|s|V6>$J^pqLcdoU`HCQqafw&P zI`2{AafaQ>JHhjni=2wR`0P&EhQdHR1x`dIdd1UX&~h;lvemqyS8ydq7ko*ymN_)hcWiH3<%j8w6*4>jd|GtA($9_jNn0mFw&rvw+%x-QiRr@ErPj-aN*&kUFCgx?p6RZ4FslV+iLw;PwPzP-LJJ;ac!^5)^ml_-N&;z zW{1+e9QGypyEe%~X|++&tO{8YuQW8vt1!68CpWOlFAKS%bZK`$s`OG|O2CtV;i+?JE2 zWS#DOmRU!Z(7q|vmr#=!MBN)3$tsSH=jBDDdu4?eh|@wVB*`I7(uCkcfpNj-f?`7k z0%Jpl1JF58QhCTL$?pIGdJe%T1;?Y+-(2)LE#Ic{p;mp;^X6Ss9=7kEalP4m*||EW z%{>)v+MUHr)0RBGU2T>RVQ*>xwJ0f^l^Y++%aEsfr9|h76C%qb@`#3jC|PGjkrSbJjKPtBT zC^+V1P*BVr#EXF7m|~daI^}ZvP=Pr)+&Cj*`)NURaI%=;1;F7 z4rxxi&|$Kqr`3K_X9HnZb2ZJVy4=I2q}bCXFW--xkrV8mlo`p5O;7Md`(%8=l8Yok ziPchRLVKVj;dqd5;$K02iNgVs_+hDk+)ICH+$+gMfDd{Ok*EQmj#j}-S1EjKSf}{B zV~xW7qiYqec56&Meb8uecZcnU_7=QGT|L#XyqayDzgLLMC>6UU6$LWn`7)1)+&E!K zR+=avGvCiIz0%(&tu??a?O32^`ZdIGfOqOksZa7NiBHnRfFHUCF$)zS3(c{2nZo;) z59V{Up7dc6alX7Oq2VqZdI|C!qw@ zgfJylQ68d-M4@nRwl}xDOw1~4^m8veEMb&gLOk_zFL~|9DtPV7&VMr@5R7aiM|Ecp*~gRmWw*GtInA&FFb9(IlY&#EB-juAmS+7GN@Z% z@7Lwy;&mv1#5*XXu@1yB>H9M{~=tEO6QPK}cwRFLZ617?97x zAa4ftpl%X&Z9m!-acnX=83DBt`sZM+{p*!#uJ4*reAReKW}nT5go`d}5$DOeL1&r9 zzNh(Co~K0i+>=sgW^cGF?L-{e?RYxP^>`7(rKgsO>*-`U9zTZ|WIFV`XFGO%;y50j z7)YLuJuXwi`kPg-bB9#0W9Vdr1L%axmb){tntN*$OYZKRnsvuuLEj|%NjXkb-Tex45+EOovIgt8darnM;Jg%?E)v>RRWZ&26W_S6Vo9*R6lI^AU zX#3rFip{wn)QR|#t&H8OR>UssQ^t-SQNlXTs$dQMQ?ZK2bFiYvYn3tw)u$#5>d%W9 zuvi}W$Z>=CAL2H_L%JsC0e3g!fww;8zP~Z?ewaD_eypX_{d60L`$cxP_v`F!9&|cb zKRoMT_3)8{)%~{)7I(kl%@`vSk&{RL$QO>^>Ci4 z#c+k0*~?aQ)0amrOkQ0@JVnPLf3h%n@zs1HuGV1K@pc8Qqgw&1J*$Wn_oG(C<7rs( zhh+*eA2zFmjB3vC8`YohIcmO?GitY*KIXihH0Gv?A9LS^8{_S8_$X4h{V3J6`WUWd z{xMF+^i#%eqffaljn^Z(U)u-`(>dtW=H(5yjWxbT}%W)+RT-Tt}DNs9tz0nc`o6Nvx zvk3%lHH3(5=md%#x{$4=1Eo8)pk93!9MI5&6Pg;(kGL}-2lioD-BEP?^Qe`9tVGm+ zA{GjB6?~By5x_cS7Hmh&2rXnK3})lNe7+snF0=;RVsjuaMLR>58v%QTKJZuRAsvr) zgsefkLDp(O!up+%yu`ly+adJV%Ok(CJiHW~9q zW`u*x2n|*tE3rw%3DhRpg7y?kFqm!%<};1JW|lrU&CvzITx}rF+Xe3PHGsPS1;d5g z!GFAk2`M>&u8+)6w!Cc zEr@2UhJcwXA!62YNSw74GH0V2HKKIRM1aFqC9v700ywQn;JSMXP)%n6-EI*&pmrs= zu{MCK_f~KY*$IwuyTC3}2dsVIv-`_02^rID+jaW|%IBrn_JI#OX%p`ErnF4gSHF2pEKwKy}{$Zk}6#5V#YZ zW3<3AeK*(@?g5($1F&u|1gmyqusmb}7ROD&;=CD{-#|Pu2lF?GPl%u9KP}LIS%dkA z4OqNJifbbNo54X{8C;PEp=eF{&k(V#7Xb^u5*YLiKox8Ql2jcCQCfgY(FMmmeXuV# z1iM;euxT{`n@&@(K4u11XUxIsngv)6AYNIHTaH=&K>vKP0*m*y=>OP()iZmro(OP4 z_W`G-{GWqhAQ$6-3=z+25%8Q>0-Le{7~E|@^+PgDrVWHdJ#fx80H+dTaI7`~`zAB6 z>o5nqE(@?dX$dxcR^v7gtiId4u>NW@YW>OPyVVCw_#7f|t_@5V&ms4tpE8`)B|yLa#4z*9^V$BE?U?;D+xPbGZQnY4vw4YXR*#*){yq*IZaRbGM1V7zfw&d5 zWVWaP4|xy~YU}u#EdXEp6(Az62ci2`@bJ_CW`NE(Jxc!vCE55JDaY)KYl+1tLbcUL ze3Q+n%YNGr&PVJdgHd& z<`uEtZrHWW;RWH4<1<39(-7f`(__Mb(?5i_xV!i-E;k6{_&(QPgtJIH_o6L;69ITM z!@nMchw{G|xtJiW=@4c(7s9NTKnQNlj{x%K&%W%PAG}36Zv{aHFFm47p0iRcpE7c6 z9@9$f1}N2z|B#z;_uURS-zD|9+$LVc|3!R2xJG(SxJ>#?JWm=Y^^(U)M=9fOhp7_- z1mwh+>rnnjxl@XKOgP#}7p0F*PO(_@Bhq2j$8gt;?}8XRUP^>oPksFL2R&t`4|(xc zcR3k$x0nTvHyGv4*XVWlE7UgEOO(T;3zXAt=PCVerzy|Ly_7M^G3pP>A=(dW2jd5| zjq!sr5kNxOii0wz4NEeGMS^PyC{=ax9w zwBIY*`U*eU;UYKN`5dQ+aE4V$Jn7y@KEc>eImYOr9id;MchLvw2N@&u4)<@27Unlb zBkLQzjy*9zM)!b+vcCl7&TuqOoZ4ha)|vh_)oAWWs@3A*B&Su6mgi)3ru2=Ur; zSt>OrR+oD_>nyXCb(h)1e$8xPe_>X8 zd|_5_zc9*N|bew4@uglGM=tAbu3GN)~hV@1y3^VmfcTr-Pj+? zP`?x@*mEYt*X%?rW=nnS)8t$uD%{+6vVc_d$V`tt(gIsfEYFa9gT zWkX*QZRhD&u3k^1$h0doz~(@p%&FZ!j?nCz>Q?WQORMoNb+7cQWt9utJxYZ~(H_6c zyh7m+H{WxNo9p$_Bis8EC(HX2dm_++gd+H$%o~PsXFQrGLsjWhzM9JGV(lr9%k*d5 zDKcMlB^S5uY&u!(cp_W(u-wzMBT{115*F&z5FAaY2}mMWNU~_9zD3L;aTO=ur-hp% z>f&dK&hs-x1N;o154<$-7&le?(IZ9tkuwqKR}e+;U8D#ylzEd@DWG3H6i17G*C`k4@BTV#rAV`qB<0tr!^5Xr+xN-g;JthJ?&~uQWycvZuZ^{aVpLuH) z-<7E<4pnbgx?8I`GQGsJT1a~5UhjMoST78Z|tKjL& z6uuR%Qg~gtUSXhqlj2_u>XR?l7|rk9YrFbzF=1PK9!;kq)5Ewj)yt|hQR0{%7lO}< ziE>MeN~9-6WU=DHi#?*lYWR_%`-I`4$34SBZ+M1=y%L6njq<}nM|okPW88@V0m|J$ zXofhHyR#N6d@5b0@S=95!h@F83fG!xn`6$mX zW{f)#;EnDzjJg>C^0-Uni`y*?CzhI!xpEMalMlp1)j-=g@WXZh#`S6d6e&& zIL7lz7~@U^h|%>U=U|XN2m4Yo3wzKo4ZGPf9qT)|2s?Rji}K<9yJxkvn=h+vcGy^2 zPgKvXq3fkpdYC4Zd)h>o_&J3a1rve_BFU1x1iC0EizUo1@!)0E^E|Q+^4VGE5swk0 zJdcbqE;sF?$3%bxWq46@N`e8p7kX7g0+O6OGUZ1;TZX!j}C(OiN7fiu!*G$H)v`xXz9Y*=TXD)W|_djucjB7Iys45lSXA!7tpEI)l9dl4i>5E z6pL8>kVUK-VUa4nFx|=~2Et}wMGW8(QJ zbC+|;mQLsLZ0yff+S#6Kx3@XhYj1u2uD$iSxAsC!;&6sP>jB>IVI$t(HzNLnNar2Fd*}h*7R>H05v1>u1>;I?oGquhL$KqJl&)e_*8R>c*tP3V90VId&qG)eTcZm zZHTeKb%?9#{KR{!;}hu)yCIpn%}|1-C+}1lc(Lgjh|gcJl$*=JRER0{`nKCFa+ilc?Wx zr@4MJndSW5dalEFrv)}Yh>I+L(3Y6};4CxwDO_Rr({JUT@sQQJu7@Cka)K01BLf1zQA^|lcLhmC7FggVj!d#3E%M_@v9yy3@ z$~f3H$qw|Vp!hu99BgNr0B)8c5a;Xx+FV^=&({Xwf?eRdP#r=Rseyd)c1T~k6^fUk zuPa-&8TKt#g`+Dr!G#H_LeC%snLWrF*AJV7J zhk~i|VDE&0*$yQzL;k@A;h-}KoD8Obv-K=+#xDdX<}$GNUJW+E8^AJF70fcWf@$G) zFs@Vsi8-w|o$ zN??KfgB`*Nxfqu{Q_z?6%mTd2LU3U$11HZlU>~pnY@#=VW$HFC&))%NIo29~8rM^$TrdDAX1>(BzT zE^RRF)dAB>I$-kmZZLVad)(yx?(ZgFcYiSjozLjH==!?I&gi|e_}_r#HYIc@t`ayS z2SMD4TnutjbhBANb6f~yx8*?cSOa+9jerZ=3J&o*kdsmen<7oHuFwLjdTp?5(*eta zyTPJI_m{3uVQqW9V2o!*$m7rhVYnj;pl=d~s1KeYmbp$PyhG{e76%5{q} zP>=_4M~xx2$xL)e&;oFGT?SMpdaHSF0@t9e;1Z(-PN^Ed9P+e&+Lvknu&deq-L_fx ztIdABFE&T^e6~KV|H=BQ{;2hU{yXb8`mb$1>%X)H!xz?I^wB$4QB%1dOmPnmH~^l2IzuK;}rjG-$@ZWzY-F6eRj#x{^(q^d(^2y z?}KB#{)j`H!8?aThHvao7{0deGkR(N(CC@NE5j%DpNt3Wf0;hC1G8HWV1CsR%r86r zZ@>J8P{N(PlZIl+GK0=mjy&%b*(qMO=vg&3*TkYk3VgB4c~8d8UM`cB7W579DdyP zG-@pMpkt7_h+ubk0>F8_BGAw}GZ*25?uT@nGCIk3%C8WkS)YTg7rYN}UjE9Ly6&kr zZ_A*-cjp6-Q0+S``JTTRDMr_6Ii^=ACFXtPD$9#*P1fg02W-!hdhAXUFWL7J2kd)D z?;MVhzB_i2!0`YX^~@;X*g63~K-u3NWzK)|zhs>vgrH|5)0q4=Uz^9Tz*#Ww&{2TYiC!8r_O-@iDA1W#H?8yZCx)) zva9jRbgC2cRDvV^TQ+S%YMe%-~#-wXm#ztJegGK8VZWirS>B}>mbt=<#>5&w|h64$- z9j!53?fOV>gQ_rpv-03D>*Bx|`+R9KE?bg~&+siFriyFHNk03i2|mYZaX$UDSn*40 ztoSQM?)#H0_Z@ee2wuTC_mFeS+G@ZXrz5+Z~`thFaw_?EhNVISCQqCR%(>wC_Peg zg&yJmf)?TbnJV-DNkO>D{Kx+nz(KEHf@X+74fv#a*l5l?Y^Y=&cDrIJ*0*zXpi+p1HTyUG#-dkSO4COOf8mg$i)yJT6MQ+!w&ULKN9iVUtGhX*y& zLIb<$!GV4B;Gk#p;NVZx;GiFr;GmymgxmiFxac`ZQSOdLq|U)c@@HWKXzjbddNFps zYKzkGy}PF$EHPiyTHv^*HixveJi}eHFqNm5lO!@pkC$2|#fI6%MaMWrN2TCp5xK+= zSvff{ypbjiJ4}~^T|hjcOTx#flJFlC|FECri2wn*2Z1Pe$Iik&W}uz;#nZ4`RnxI6 zwF|M+wW>K*-qB8vP;_L%_iMA<(CW$*YI*pnQTy-TNJ z*J{w(f8#vtc;iOJgY{ZdTdGaw*HqZ8DlNsU<`q%ZGxFKHlX8TH@+@ET|HIZ<#>JIv zU%R@S#@*fBwXue#Y24l2-CcvbyM-Wu5FiO5LfkzQo6Jly@rk=DN$TCqz5n}W$b5Ky zr}HK2oLzN*wQ5&&S!0oZp;=zEG%HWsyiuQZYTA;2?WBWb@0h1j z+u8u_`k`>6%7Hj)X>TgMpgYGdyR+Ciy}imkxvkkNzO~mkre!=JvUzi0c=N%a@aC&< zeE}>7L^gi&k8JoEoX&}GIUBmwLPD4N;Y5US*pV>9jCOD4Mq8mTW@eKP^Vl4fw|~Y? zykpv3p<&WbvuZrlpma3GG=C(SmNk@VlQvlBkl0`065H445!uu29oDnXH@JJ=Kd5_O zKw$S}|G@5N{()Ve{enBb`v$lF49;dl@2i>6l@1a*J4^=e3H=AKGhuO&6U}ayBus46 zBoA#h}==ZNqtYx9P|3u2Ub~UDsoGx5=ORQjXA-R>&WQ2x$L$BHA_& z`r8p2gI?F!d|rb+#Xohg)%9XVzJ z+e<8cx7E-+x3$~2Ee_kcEY3JME$(t~+;+~vaq+Q(!@>tghb`FY-}tK*p>y2`9R~ls zV+Q>10_el(2>q}_r2P~xYCI)Ns5+%XE-ZhYGVnfBOmRP0ZR&Ecjp}r8$kP7c2AbW$B`e#5zW|SDHv2!&8T+s`V=rc`=Jyta zjt?QU1R2CUWDw&kYw!n%sO2Oxs=CO5$}fqd!b|F;tV_nMDHpAI;x0N1MPBe04>=z! z6L3CC!RK6}is!jZb=Px6T2AMxbREvM>f4?hG-RCHU}Sx6i9$dBixK_YBO|L{-W$`- zd^fc`gMZ?5FG73A5!wuW5EIY`(GUK!(|{ax(~>>( zrUOslO%Flen*k!8HzOq6ZpKSH-$<8rxLKfJce6r?akE*4ezRYVc5_PI^44~Bi`ysF zEpFXar`~w2VSasC%k26$?bRHF9B2VDh)KvG`k@b^ni3^X*6K{UUC&5B?PohL@o+gRWpJqwWo)$|{pVms7J?oG) zdA3&0`1zbX<@p{3qZj8D3|~A@FnszR`1BKtFa}eQK@30!(Q*h*rZ@vV5Wf*n;vHrb z^Og^Vy_F;czEdXpywhcJe{aI<{N9Sy{)0Wc%?CG5`bS@G+Q$$c>c?n4vrkC^#-FkU zjXsqM8+@)8(fiyjs`F(`O#91bajoV3;+o6nB{Y^F0#AQp1B}5SWDqToL9982P!41O z@i!p@fE*<7J0J3f9K;PPKn9^fvIXBy$7WVWHa#54u7eXf zpa+9f9hY*!i5T3F@4F*kC+!ia&T2{f!sG{ag%V{AY&z@{W!OoJT4266}|vKsavt6)E7SfGa-B9=uK zr?E)kLRJY}!wO$%z$ON{gDBp>CW04%oj=hIbD$D-=;T}g{p$z?fWGT1gzPa9Swjv& zg-pl{7y%gK%4?m9fzuzwi%BLcyx5`THI$bwD4mTghWgn6U$c6+5_dVf$cyY!fext+T~3ty~IQG|FIVmmD@9 zf)b1?V$&HVY`R4mo9qDgt6-B8z^|&< z&>?@Y1Dtdq4>Bghmld&M7Z)z<9KeqqVnncAh6HAmNMm{(l)ha7TlOnri*-uaVoDiP z=T$Iun<_TnqlV3o0_WAfo8MMnHh-%A$^5kb`&{lChU1EB12Y!XCc-*fmlFJEclshXNVMq~tN9MG;%~C}aAF3bvY1 z#a0{DzS9=eztNU7zS0h9e4(Au_(;31`JVPz^EK_A#!K2a&F3_%^~@6MJhjBS4{1Mx zt<;IwL79l%z;k=SefU8hM*OMQ6g^FO0L`m$LBa5BN6}~w%C@?OJac`?TILPHMkm{Gt7f@lgA*&0DPpjIX-)tg+r*Ypj3A z8XH_^V8hj5h6)iogZK6VzZ(EqNC=Eas3{8$V{qbNH$EH?AoATeM)HeSy6i`fBE@&E z)hcgXTGU=S^=Q0w9M*d7IHCQ_VWZ9y`vslH_Pcc-+8@(>V1G&XFNgcOx9s2OU$b8} zykduqezU`rOLo}!7l)t0c8Wyo4qn#})|prKVno7tL>n>V7%L7O<;43X%t!craJb~_ zfMnShzPU*eM!z}V zGrHjXit>xovdL*DY<3bj?u^Y3x%>=vg8ai9*1Utk`$j=6;$b`zVLXzkY@ZYCc;3W% z2tAJs7Jn2LCwnhAQ|V4XvD!_)YRzjt%{o`Sy7e!64jEqZm@vBFzR~!c+g6jaZhK8n zyPYyS>2|~HsQYvCLvEif_ParX30nYnyJO289zTO!!TbBcT6Z`Q5A{faxsk5T^f|+X z_t=3!p_A$2jo@LDY-L;wZduy}7|GUk!KemB$k8H;O1?&yELn!#Y z1n}J%P>VcS!p9k%3HynloAzTtFYQNzzuJ!kWBZ{HY&ZBX zU|*;~1o*v`_1+v2go`8zZ_4Ef4=dD&H!BU8el54+gqB^Qqj`SP`!geycBLg~ZcEP8 zUq~pV%*U-U+Za=CF&))rwLYScF&@6ob~J3pek5$0<51{fr-9Jlo%+I_IrWBraqJ1l zj$IMhp)&&8uLcKz?~Vq)mj-Li`9f&9OcXt@l0tvgDG+|I({!kD^i=(s)Li4Kq!RP-glfytxMuorY`4uo^ss$j)Rbd))E4K?$o($ukr!Or zq8_=lMt^c{iN;RNG1#%`Uw{pv1RMu`Hxqn!5kLA^DTp4`iJ%)zlITK{Ch0`IIs1WX zdx52LPsxSiAjP@-D2?fyB)y5uEXrtlq4`ki8d`sHy>(AwyKQH}fJ0l{xKnf7yh~&3 zZrA$Qvu<^958P_wKe*J!W9OO#>|C9IomPWGU>p*_^X9;Pl=7mtHN5Cv6Ce7$O$423 zRVN;9HeuUcZ^OS>?JhA_9-uH?5}`3xkf1k`n@$HvQHoJlezsX#Zn0%^cBOTFR+C*# zMweq{`iM(;+6K4MwC(Q2smDEv(r$YcroVA3O#kj$n2ucl=hff{s6i?h!iAjZMHL6S z2J6n3JJ`|L9szW?M~S$r%aCQEjn2EV*;#C&-bZevIz+9nB3h@jEXk;~B-6C9sKBDO zV2yQEUcGI3Ziiz@_K-_q)|6Xb)}lvl))9~FtQ#IV*{|GlvcI|JWMh|q14ls(!1sPF zW=A(`nbB{ptmu3jJrv>!65?Y;WU^IbHasdh)v(Pl5%{)QmcuG&cL)~W=qM>QDK{7UcrD%cK)PWX8wXldfp+AwEU~UOZT+=uWo7i*fl*LyQ~Js zKn=3k(W^3M^k+R8U1(=Pr~BYE#35d^YeEdeU6P2pM% z^>GH(wW%g+s&g!gD~ss`YpQK?%3B;VOZ%KtOUB)jOE$YF7Vq~+DESR|?w(k(?3P%9 zU6YEj%W7~OJHolF=uQO@U2Ys4BM`Z|eYqiOfL*|?#{kB5AJ#Nx% zU4BXp?V+00tugxLP07YZjak&Z`a-L$+6tTWnnwHNsvf6=%5|=>6?1OU6?@&IDlP&~ z;qzzL=nCu-vj#h_1}Czjqux}iVe+7i=pvp zHPYaE3R~v{oxf?!NxXX0ORj7rNVRY%LOW+5-XOg%%_O-umm1$)Y8Bm8%ZTV`w+rbQ zb_{BtaSmu-a`A6J3p{l8Z~N%v--?|ATCwA5a3%rWUW3s2W;hW6GKf8EiD>I2tiQv4 zjPW@kG&HA7?4C7bY2HZVsoCHlQa0rwT`(D-lsz7%kv0~qn>3nY7`ryxG;*Yv8a7mI z6*Sn&@E;ho^%++#S8y<<49!#4lM-BPGQ6XXxzzjuQFou2~# zz2ZM12Wj8Mjhc2#6RLM>kxF-&vgI!^cr$mnh$L_KmWtaJBpF)_^>K5_plLj`XMXM#Dk9fF$X+F!uJPA2Ja7-_1_n# z=(9IX#dB|-y6c{DEvG$=x(<7K^=P@<;XjnEK{^SS+Bx4*`rE7Ij&ASxu9Wr>L_qW-SWg64U6Mn zwW!Ci_G*rHK?Ve4Fau*S0y#`4WB|3`!HZ9jPzK~6@xODSm_Ni(#1(Zy$Q24H;0m4D z=ZX`%#}zLw*DFE1PJcuR*#D6zZ2L!+sP!Ku;#ODcBrUFVNmH+k$(UW;B5Qi}2yjc* z^pBUaCck}_H@=J&R3$;bPjqDU=GwlFGw-;Vr0N+p|NmcY3N;U6m(Yt`Q23^ zc-_+{y4|BPIo-2iw!iPnYJ1<8-THnAr`7!!Zp#NLyyg$`_)QK-lo% z1`+*7OQQOZ&Wh?ix-Y8t;GL-6{jWc<3EqP-$RN5Q2daltI#%@4&p{8w?*tS8CzkrW z;6E(joIvtFN^V;5LTnNF>D5JQ`z<2<#X!1 ztK`yp*T${!euPK;!z{1bhrPV2AI|Zqe0;#C^8WQtOu&2C3v;j@dQplY16a|I`U83( zAO~@K#e$r^@FKfqF=V|gPoRBOCzyZJCz^aSB^rIFk@UaYK@Q;pIfOSEHU>Zr5yh;6 zlOc!5V^P4Bta7-WRThu1$>3QwX}p_F3ZG(=#5aDTALd{qWDq4sLH`%fzk-l2=sVs+ z$Yz<0Xpn=LV^zsACEd%r4{*){sLuKn~#sIfO6d5TTGm#50ND zEXX0snFMh&SpW}`;p@7|e0VFc_a~a+9Vk5v`e*;6?{f?CkNXH&zDCFt6F`>(>0(}_ z33-ef+=nujNAg&OAcHjtl5j8Lm_iW6RDuwu69nL1_^>;X7yA=o(VobOQ;6)ikjRE> zNpOTZi3N|4nDP3bz$PY9=HuW1>ON)#lPxcv1J`B{zV&00FtZ0 z29Q6PY7(&pWB`_s$IvKDm_{dK3s)9Q4P?h=vE0}siw{#u1+Y=Q5H{=(!3G1O*kGL) z)}I3A#IfEYuv-G_9R|(Q)_@s{|KI&u14|-VYy&jfc4K@OOD)|4E z3}B@f9RN;AeKoow^~LC+)JLP&QtynuNWC$_($JYA^U4UzzBI>HCCqO#}bW0H0|G zS%@Qyha;7Y9qd`Koi_)z3FpDqN&MIqm| zi|IC*&!&52KA9eu`C$61%p22tGA~VE$viXrBJ;!)%RM&53Xe>&;=})-1lRw8sVn-B zKRAHrc7gkFhg{0Tl#JaNEZD`J13LxtV23yXY?~?kl~E%0#kyAF6TMaPgH^Bed)kQ1 zTiS%|8_SKduPqnkURmyvdtrG*?z!c8xhIx?$vvRGl)G#BS>cWaR=Q<@Rc=~f)$9KP z9Mnv}_Ob-*0zKxQkVW`HF6Czgy)iUq?Cr$<-NTRPi(8by2j^6gw~qPZuk0%%U)VKD zKeO$WeQGlx_n5Ix{t;tZ;Q?cl!hP!xzg{}pHzRf#_AWX zvBr5i);LGUnybMK(02mw?E!1u{&EEPawZ}Uf$<17XZ{*!$M(U`ll!$#sK9g21d+$? zS>g{|OQh~O*U0|m)GBw|u}9&i!?5CY`w8Vg?Ppc4*e$C5X17=MSG$vH7wxXA|6>14 z{gmBD%@cN5`=}k(IRYF84y^*)f!}un-|q*6KrJGmFCrqeu z|J{ISkz2lL64$))Wv+Ovk-zNTpm@=>UFEz>pXx6zYt_#^3yniIrB2JF*Jwc85E_FurR;Qf8UbB05od7LQ1$x?(*sfvW> zX`00QsT8Ig$qd%Z@$S68!~}_)jEIps8k#D9C^%1fUtpQq9{(E6CBGJ(9lqUq+kA!% zwt7z*Zt}j@Yz*i#n)V+xUhlubbi!}ZY|QVV`KaF|>WJTC>X82@>YzWS4g_HH{{LVG*Z+aN zpavn}_g4IWDj)iiEr_1xi=x|wGU#%l7V%6TmE~xb1NZ)PZ{eln5UIt4SozJdsVZ~P zxf(N(B|1~#)%p`*O-5s(UB+uehD?WpC(Q?fHe2)s?Xm0)I!o&gx=-s2es9?kj4j(k zumwPETLt!o+#wwNULxE_CO3MY&x;-u!wGn$qUc?hGWNMDZ73i#uSz|C1RY&QMY%}SN=r`{QAG7EPo29jdEm^gMouoH~-Jv&z zzqM)z$FznBY+3&wEa3V-us`_jC|K)F;Y6QuIMHM1`Mz1ki7r(Lp_3IVgoEW2=A{yA zuB`>GLUXx(64P1X^5f}oDr-~HG>4LMb^8)Z47%g1DIKxRrmZnO)aK~5mJLxGtm>k+ zTh~M#v#yT1$*78cZCx4tjb0gptpM6;a3DN?3j8N!j3vUrp?us92+Ve1;$Ig#D|N5Wc%_XmAi5iG}^M$b(%8s4eHa&C^c!d zW^e?iMS1c7tt5HEx-e-Aqaf*kO%3%4&r5;dJga~tn2Q}rz9NFxv0-6Tuc+Ni@cTTf-5tg+`Gsqhf%FAI?ADhXF=EsRrd%um&> z&CSuT%qgLiXH}b)WVTooX7pO+rH@(Xq;0avO510fk#^BGBmJpOM*0^Vn_{2N;XbinFIa105($OPXD{{Ku35glnJp*_%tun2k39P|gR?^Pv^bW>P* zJL%l*ZB9asEnbqK#3}3S0db8eIPePD1Er0Yblk_dN_5#4hlDTl&F! zju6qhQGPTqszB(1J!{P)RF0Ys*9$M!hA{M}lONh9i~Y1{2hx2hz2| z`}1{!`_>o+^fns%_Vk!~^^BW)bZ@b6?>++DqPlmzp}Kc|12EOS|mE*CKorxZG# zsunnwtLZmZrsKV?Uf+GR%gA+fow4)U%_dH351BZwy;Zu>n1Kvn?RxOvpkEIjv}70bAnfKtS$pJA+8%9U!X7i`nB5Ha z@ZB!l!MnWq{g;A-eU>7{Ja;Bay6w!Aao$lR@35m<$#zG(3S;|-8h!hmy48;T>a-nK z)M?vZs9P?6(X`l#wJa9?$qDGk+0}#4+z9w@$N+jFhiL@;@+DY$daF>w@q zOqCFR%!m|xj7Ii9=D_B2)PvLGXaJAv(QtmJBXL3wN76)Wj}(YoAE}hII?^g_d1P3I zdSq7C{K#H8vm?LBnIC>3XL|6nyvYHqxSExDxCMGqCSeZtLk7^i06hr1pa%kSkfh^q z4g;Lr8hD-``CpJjz8AC!o)=7sZWkC#&KF#m9WQvZ+Fc0dU|fjiqF+envAmGWN4>a4 z!0ckPpvlESVamlB5u=NHL<}!o5;3~)OxW=JM^S@wSbQ~$126|*4h}*N)C&3)EBbI! zW)k!wg#AK7K9^aM%MC8%bVC$5+*C$(H}wfNx2QzxTec+HEmtOs+rDJ;+o8;+x8qoi zZ>O^v-6>)>xKqoicc+_6_pb?V?Y|beweOzb*1CI_TkG~4Zp~ZEJes$@@&3q$l{q*K z-_QyfKo!(K?-1xiFGd)AV~IEPgE(GiMz)W6ko99RWc5T5Sv=83W=|;ulV_F$$}>Bn z!E;xV-g94)&WlhctrxLmjTaeYwU@=rsxKQ@lwb9+D7~6yReZg~s_^*@B?<#fG5r#fhl2>_t>q4kF5ajV4KdO(RKuD<(;NZ(tJp-p>U67m!EnWD>?F zf!n~nf6xUvSPkT01uON3=MTMvkjGWXKOl!NgB--@BMIq4FNQYeM;cfhsbV?EAXJb7 z)p}@aAJ*CF09eZjnzkZu=)fr!;957^J29fz&<{#b^`d7@4MPvzGd~7 ze4o@m@qW<2yzkU8KOpc{9Sgoy`zKfr^eM^&Yzmk`{$Q>TSdg%(0~s6pFk_<#7Hp8h zhV}C~v2G<7)@|a(I$bbk;M^9_=Yd2TcXD&e;kDOw8?mMLO{bgS$c+0j@_=ZiR$e)Z3u`AXC z;=fssO8iQnlDtUYBz2y?Q~DhJkn~yl1({RU_hpV*zm+>o|E_S5jurO1*>^D6lxUae;@n3ey5x(GDB6`lT zTH>rjv*c;}F6oo@gEGhM#^jFL&B!0NT~Ih=yI0|W?J325cDIyv*}YWWVYjTZ%?_(B z0$YKFRbV?Igk8b+`hxcl7DhNs0)389AiRvwBs>VCkZy(8kgo)KuwV2K<~i#VD|pf? zP4t*YzQhsta;bxEwKDr%Tjln;^eF6h9#&j(npEE5G^eu7X@}~f;}Nw5$KTa9IXzLI zb^4?+xIqkMzYs&4M z_JrF5?J@WF+N17Rdo3`sg2z9BgQ*er0q-9Q_Yuv5KF9N+r-?%7R+1$8HA$0jCc&KP zSgbwUfhaGY-4P)|J3?c{wg#t4Z4S(pn+qsW*yvZKJnh@0y56TteZqT4bIf}}d(>-Q zXT)ol?vU3hy#cSk^!mKt=)w1J>Gk+vy>1^!n^yr_K@koB-yOk$mg6|lt7I;8FO?hp zo+gaWrmGT;rW!NtOSWO#nc&W|H8wzKQ&gn*#)w4e>97pB$z>1zG zv7j4itmsN6ocEU{fR1M?5%y;pl6Gd$Sr<}WxaX351*hY~#3o{6rPoEL$`428C=Esw ztM-LeX>^A+X?2El>9z$A>$e0=88!uNHEIYtM5znxJ;$4m;%-I=yHvg$U5!Dh<4rj@BxFG@Cl=;u+5Z;u>B@$!Y-PWhd(hc3;#kX zi@-*J;cBoi`0fZM^e7RbKQrLGy<9RnT>##{hzIQ{mO+a}I>fmGD$7)^9oJa4hrn<~ zfM{P@gj82@yj*)yno>(bu4-d^iAG&qwRUw(i(W-^uVH!g7^Ng?-nb}gk7;4lIn#pZ zM|N!Kye*|(!VSfN64iwfGHdeV6-si`R0?x))$_7TwX?Ho z^)fQs4O26QD9P#5CW-0W%@Wd2n8m061-vs!NXNziWi>bqp?l!He+A!p61?vL__J$g z4FPSgV?i4lgwR-n5@D#`fT_FIlC8Dco~NP0L#VpkU%b35OuD!vR=%JpMLDN1TRpR& zSSu~RS~oeb)gU2vfD)Ip-Xtb_(KIUis999@ZQ!j*bT&2yD67Gd2;EMFama_>gK}8+ zu0d$A0laq;2~9K$py3t;LT|G!slAEH+Sp*rU0vrUP+sFJT3i((m0uYxm%S!QDZM;X zEv2+jGqI#nC$6|jKf0*TD57w}IIM8NB((6bX-MG>)6l}#CZPr2jl&8s1u*)N_b~`v z&w&05@V*BjgV+K3n_9qkwZYnR2QTXDltmpK+N8#IQIgC_pvf5P>ZaX{HONX^R+i&Dq_q&m2?F%EX znq@<;8oYwRkKBcK@*K>?Ln}3a9)LN}9|sTIHvryihyyi_h@$Ed6++ptAyeUyC2RJe zJy-gGJAYEYpGaI^s6=#6v~+lPl6**4mQrA6v8r!JjfPi8yS7LBh^|}vte#8zUVWGL zU-ezup6k1`e$jVn!Fn#u|KvKn4<}b@P!IV7=ubfoG7LFH`zYiOus^6`LJ*ZqDiHD~ zbxBzh=FF+%HXI3KE<7>od;}s!gG55tMoI*ZBuM*>WXO3B7bW?AEdyyr5;*|5VGa@3XdDFaC*(Fc%M1Lk%E<*a*+R4m@}d=r>Nn`tJ<*KiDIc zJu8jU=QIgPv&KxZvviiojgB0lGoCy_GXVnr8^VRXr{lytrqd){r}AW+)>p_mtZ!Dd zT|c1AnB1UZJ-MVxpFF2RpLn8THU3G}Y7DDct@|gZpa#2P3^v2~Pr&o{g9mPb9HbI* zfL!pwDX>2&ahoWL-KIi_+-5)w+h)NOw9SsiZ_$n2d(oH6V=;u+b!)VM)7E5R`-L1) z+l4Z5>n)8^R$Ka{Ew@a`Qn%~`&dO3ZKaw@y^ij@i9?P4}VTB(#SPSnWUG{siI_?i-x7#1V zX|q3po4zlTkG8KwfV!_<$ZTJau*tqj5#xQ^MJfAEiyH5JC}OndgP757EN-|9OZ>t!civVagr0co)keYr<9P>X+30r+MHl}+J?wD z?LwlT_F=L-9l}gK9m8UFCXLPHOaVLPObw^unNBYKGvnNPXSVX_o;|^%d*(j3&Z+l2 z+9$v9X`jISKeDM0GN83E2cZ59^N>MpgC3AQ2*p4S5O^GVAkL7G?FCk3`5QN~_)Q#9 ze^*B4f9N68E9S`Lsx5(X)sm$r+*XNm4 zZyW+{GOJvB$)bGqGpq8I?`%IZ2{}|h=r@6W8R%#3MJVh_X*Q zNHR~yNK#L?k|dv<0Pc_^p1dYWJpTL-24ViUK>f?17ba^T=pO_9GYGjr4nqG8GJxxl z0o)-Xt=C*gx z#pRGiv=iVf!y%8@1neb{@QHs=1^T(59}oILkU=@av(w<&4elVMb{`?RX9!7uLr5Hx zL6Z|Sc|lJQ^u$0<8uS!EPZhMZ5twvD!WIZ&JHQhN1(Jbc0Db^qc=<34Jch#m09Jwg zL0z4IH2`&O0#=6nL5W7h3eF@f7eKO1pCY0UCb3bTHY!fdO-YM`yDLcrR9*2-snxE~85 zR&yj_6<-ooie$nHsZ3bDfQ;oU$ylz58OwD6gDhBX9k3plWyNv}z!Go>IK%o??mFvd zxyP&@VfaqgU|Yq4e6N?v5p-HYk85d zMi>)TOC)2}TryTEXNEk81uM4$y{uSyg!Q}f1lu>|8Md#=o7t9?cd&g?-p}?)`6Sy1 z<*RIOlpnFZRC&wxT;&`4Q)SHYL>Y5E1|BJ6?jONApltv?*9h_lWB6MDzuhurC4>S*^*A^kn&#Cb&Ps}sf9+?%f-#4w|xNFkH`Ikv2 z*KOkgu3N^V+&7G;xUU({^IWCu;QfPgi1#JvJ+$#-zRQSWy+u!9ziySwd6ibi z^_yia OycaFH`OZ^^_%xbq&qelAKa1_5 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

    Fc2X%9r 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]P<^gdP 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≧XPX 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

    nJn7rIkLr*>m?` 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 rYPpB$aKOJWw>Fgc1} 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

    bFgN*S>Ay)9#%UZ=cYbb@8a_%HxOZRS&e1 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�A0}+r+behL}jtYH?{_qw0!x!p9`xrqRm_U!1Bzl}ilh}wxupM1uFOl^jV%MW+ zAE&tIevT;jKH})-h~fW=F7XYz!R*Qu;|i5m;6<2S5n|LJj4MOfC4(6%KN8=4$KCg@ zx%>VFvF;}-Mq{ZaQfx+x=p_Aq^oUXPfeAE;NhZlmqo-^n{p}RRK8oZDbcy3=5~qpZ z@5F=0&>Ofn!&&E zY6jh47USz*?SGFi|C9+OW=+{Sk{?g<5{#`_?4)C(fb=WSBI?j0T49^ z#9q3P!?cVObSbw|D#kf0uTV?>B8E3Ub7KglV@*^0-;ZpZ?Awx|~_q~ML65NyO^Bb5@)A?0Gyub}nS zVWS!4rvn>(C{ZKWm_YBCq9iu)Zx3q75%$?JℜY5_*bxR)5xNl&2}qxYgJ<@~$QN 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,t!W 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�wBZy7)8PQ|D7)5b-TJ%I>8{ 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 f~u|zwwG@Nd->dX&Lx`MfWc2tgg&{UUUEQ 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

    M5WUy=`BS3-zTTU@kg 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 !fE7+#HGC=v#SI$!p1$Q6%V3@Jc%0eTY~lp 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 z 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 literal 653540 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

    nCUa! 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�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

    68^E#k7)r|O^&_{KBP&Rx?Z33TFX}H3v!4 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

    }rsW~RL!ote&= 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

    $7-PRzl_AYt0kIJKct=!x9$*ui_T-)!~ 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 z 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 A5C8xG diff --git a/doc/doc2/Eqs/polymorphic5.jpg b/doc/doc2/Eqs/polymorphic5.jpg index 0f86a79e61d72fb4ff374dfeaa373c93d0b8cd14..500238b2a9b5b96c752cc3a8e3e260624d8111a1 100644 GIT binary patch literal 30052 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�?WdEc&2? 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

    !k!kmXZO486O;9~Z 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 X~Gauy-%)$5_ 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≻)$bdMsLraJ~ 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Ⓢ67%p?1_K>Y-A1$n>) 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

    w^oDIS1h9V|7nG2L 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 N&j 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�VQOGm%ayTxbqpbz1hZ4wv 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
    x8WufJi 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%0DIsG2K}G} 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
    (lP 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 W2wMx3`{|@osa99Ve&_!H3;)?5SqFvy diff --git a/doc/doc2/Eqs/polymorphic7.jpg b/doc/doc2/Eqs/polymorphic7.jpg index dfd5d3172fcec39e5cdd50eac7824494ed41bdae..0749d537dd2cec1c084e6e5ae9dd81a7c50b7d05 100644 GIT binary patch literal 58111 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

    HMs6c-FWfP( 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

    6xf8Ms5Khz>RoH#4 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%0A6m|-}VW?|$mmSovZf;}`(e*XzE3Xh8^&xrl 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 AEBbI8zZxI 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


    T|AQ4LVn_UOAVszc?3hzAy{W@#uNH=>ghiad1Pq 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%0DY#3L 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

    pdgIYR@FG z+%pU2i^U#4G2as@W_!}aWN)z;?^!HHd)A0<&t9zgyF}Ujg6MXCE4p2(80}QWc*iii zX=8s6$3--2!NB|E)r`S9;{T1rpMzv2>>w**H~RaD!4Kg993?B`xP>UkZ8@-v<`&2l zaE1lgjsd^{{v-#MlMM7p2Js}7KXD2k<@=w*Z=f;}htZytyppyqhSIgn!wrl9e-eQ1 zf<5RTK>r9a_z5xtPLr8%jyU+Da8NM;D^4_aFouf{>cP`&NeSkl7X%#WuW)eD9ua

    E&t_S^dEo+ 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%0DC|#U=PTJVqz{dqA(P1eEtBA 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ρ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 V@a6viuV0JSaogPI)BB$;|Jg(_tq=eJ diff --git a/doc/doc2/Eqs/polymorphic8.jpg b/doc/doc2/Eqs/polymorphic8.jpg index 94a304279376370c44fa47d4bf213e444d2930de..f88d486a53a70d6cdcdc4463be5762285049764a 100644 GIT binary patch literal 10249 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%0AB|#23mg`}P7JMPvdlh@tTGeG1(v{hDdm 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%0DFXd*u`(M0rg>O>Cw@CgkTe2s_Yv%+EBTtC>d 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 z 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

    XMrAh+IM%na7+Y@P;Coj_f5LZfR1)2F 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�r0&|;}p0Ux-o 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 diff --git a/doc/doc2/Eqs/polymorphic9.jpg b/doc/doc2/Eqs/polymorphic9.jpg index b1e0a9a9bc7c15e552cb26619b9f21fb361983b8..e538487c905f17c9d2b79efdcd1b0bb823206525 100644 GIT binary patch literal 13704 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%0A@CZDAPt_)Pp$Jp_9$W{Y?SlSJf$kXS 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�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

    @){;D2=QglN^bWuy`^} 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 a>%DAeF|_YJ?-9Xj{f>y~7Vp

    Related commands:

    -

    fix_atom_swap, -fix_nvt, neighbor, -fix_deposit, fix_evaporate, +

    fix atom/swap, +fix nvt, neighbor, +fix deposit, fix evaporate, delete_atoms

    Default: diff --git a/doc/doc2/pair_polymorphic.html b/doc/doc2/pair_polymorphic.html index 6cfd6bf3cf..44bee3163e 100644 --- a/doc/doc2/pair_polymorphic.html +++ b/doc/doc2/pair_polymorphic.html @@ -34,7 +34,7 @@ pair_coeff * * GaN_sw.polymorphic GaN

    -
    +

    where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N represents a list of i's neighbors, delta_ij is a Direc constant From 311649293d08e58834d047fd50beb7a1e15af764 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 30 Jul 2015 14:53:28 +0000 Subject: [PATCH 7/8] '' git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13800 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Manual.html | 887 +- doc/Manual.txt | 6 +- doc/Section_accelerate.html | 772 +- doc/Section_commands.html | 1962 ++- doc/Section_errors.html | 16896 +++++++++---------------- doc/Section_example.html | 473 +- doc/Section_history.html | 404 +- doc/Section_howto.html | 4052 +++--- doc/Section_intro.html | 1076 +- doc/Section_modify.html | 1643 ++- doc/Section_packages.html | 1751 ++- doc/Section_perf.html | 320 +- doc/Section_python.html | 1347 +- doc/Section_start.html | 2641 ++-- doc/Section_tools.html | 1119 +- doc/_images/polymorphic1.jpg | Bin 613610 -> 9186 bytes doc/_images/polymorphic2.jpg | Bin 624854 -> 7156 bytes doc/_images/polymorphic4.jpg | Bin 653540 -> 27028 bytes doc/_images/polymorphic5.jpg | Bin 691116 -> 30052 bytes doc/_images/polymorphic6.jpg | Bin 618387 -> 9063 bytes doc/_images/polymorphic7.jpg | Bin 666692 -> 58111 bytes doc/_images/polymorphic8.jpg | Bin 608435 -> 10249 bytes doc/_images/polymorphic9.jpg | Bin 677221 -> 13704 bytes doc/accelerate_cuda.html | 504 +- doc/accelerate_gpu.html | 550 +- doc/accelerate_intel.html | 594 +- doc/accelerate_kokkos.html | 833 +- doc/accelerate_omp.html | 443 +- doc/accelerate_opt.html | 317 +- doc/angle_charmm.html | 335 +- doc/angle_class2.html | 381 +- doc/angle_coeff.html | 341 +- doc/angle_cosine.html | 306 +- doc/angle_cosine_delta.html | 316 +- doc/angle_cosine_periodic.html | 332 +- doc/angle_cosine_shift.html | 313 +- doc/angle_cosine_shift_exp.html | 331 +- doc/angle_cosine_squared.html | 315 +- doc/angle_dipole.html | 392 +- doc/angle_fourier.html | 308 +- doc/angle_fourier_simple.html | 306 +- doc/angle_harmonic.html | 322 +- doc/angle_hybrid.html | 332 +- doc/angle_none.html | 242 +- doc/angle_quartic.html | 320 +- doc/angle_sdk.html | 292 +- doc/angle_style.html | 351 +- doc/angle_table.html | 398 +- doc/atom_modify.html | 408 +- doc/atom_style.html | 614 +- doc/balance.html | 599 +- doc/body.html | 394 +- doc/bond_class2.html | 320 +- doc/bond_coeff.html | 336 +- doc/bond_fene.html | 332 +- doc/bond_fene_expand.html | 336 +- doc/bond_harmonic.html | 315 +- doc/bond_harmonic_shift.html | 319 +- doc/bond_harmonic_shift_cut.html | 321 +- doc/bond_hybrid.html | 308 +- doc/bond_morse.html | 312 +- doc/bond_none.html | 242 +- doc/bond_nonlinear.html | 316 +- doc/bond_quartic.html | 361 +- doc/bond_style.html | 360 +- doc/bond_table.html | 398 +- doc/boundary.html | 334 +- doc/box.html | 299 +- doc/change_box.html | 656 +- doc/clear.html | 253 +- doc/comm_modify.html | 390 +- doc/comm_style.html | 289 +- doc/compute.html | 598 +- doc/compute_ackland_atom.html | 306 +- doc/compute_angle_local.html | 309 +- doc/compute_angmom_chunk.html | 330 +- doc/compute_basal_atom.html | 302 +- doc/compute_body_local.html | 333 +- doc/compute_bond_local.html | 324 +- doc/compute_centro_atom.html | 353 +- doc/compute_chunk_atom.html | 954 +- doc/compute_cluster_atom.html | 282 +- doc/compute_cna_atom.html | 334 +- doc/compute_com.html | 292 +- doc/compute_com_chunk.html | 330 +- doc/compute_contact_atom.html | 282 +- doc/compute_coord_atom.html | 323 +- doc/compute_damage_atom.html | 296 +- doc/compute_dihedral_local.html | 298 +- doc/compute_dilatation_atom.html | 295 +- doc/compute_displace_atom.html | 302 +- doc/compute_erotate_asphere.html | 301 +- doc/compute_erotate_rigid.html | 286 +- doc/compute_erotate_sphere.html | 290 +- doc/compute_erotate_sphere_atom.html | 285 +- doc/compute_event_displace.html | 293 +- doc/compute_fep.html | 622 +- doc/compute_group_group.html | 362 +- doc/compute_gyration.html | 309 +- doc/compute_gyration_chunk.html | 368 +- doc/compute_heat_flux.html | 445 +- doc/compute_improper_local.html | 298 +- doc/compute_inertia_chunk.html | 330 +- doc/compute_ke.html | 289 +- doc/compute_ke_atom.html | 277 +- doc/compute_ke_atom_eff.html | 315 +- doc/compute_ke_eff.html | 310 +- doc/compute_ke_rigid.html | 287 +- doc/compute_meso_e_atom.html | 286 +- doc/compute_meso_rho_atom.html | 288 +- doc/compute_meso_t_atom.html | 289 +- doc/compute_modify.html | 310 +- doc/compute_msd.html | 338 +- doc/compute_msd_chunk.html | 375 +- doc/compute_msd_nongauss.html | 322 +- doc/compute_omega_chunk.html | 330 +- doc/compute_pair.html | 326 +- doc/compute_pair_local.html | 357 +- doc/compute_pe.html | 356 +- doc/compute_pe_atom.html | 333 +- doc/compute_plasticity_atom.html | 299 +- doc/compute_pressure.html | 394 +- doc/compute_property_atom.html | 411 +- doc/compute_property_chunk.html | 376 +- doc/compute_property_local.html | 372 +- doc/compute_rdf.html | 403 +- doc/compute_reduce.html | 461 +- doc/compute_saed.html | 519 +- doc/compute_slice.html | 350 +- doc/compute_sna_atom.html | 544 +- doc/compute_stress_atom.html | 409 +- doc/compute_temp.html | 361 +- doc/compute_temp_asphere.html | 401 +- doc/compute_temp_chunk.html | 504 +- doc/compute_temp_com.html | 319 +- doc/compute_temp_cs.html | 328 +- doc/compute_temp_deform.html | 362 +- doc/compute_temp_deform_eff.html | 300 +- doc/compute_temp_drude.html | 316 +- doc/compute_temp_eff.html | 329 +- doc/compute_temp_partial.html | 358 +- doc/compute_temp_profile.html | 433 +- doc/compute_temp_ramp.html | 362 +- doc/compute_temp_region.html | 335 +- doc/compute_temp_region_eff.html | 293 +- doc/compute_temp_rotate.html | 321 +- doc/compute_temp_sphere.html | 393 +- doc/compute_ti.html | 387 +- doc/compute_torque_chunk.html | 329 +- doc/compute_vacf.html | 301 +- doc/compute_vcm_chunk.html | 308 +- doc/compute_voronoi_atom.html | 413 +- doc/compute_xrd.html | 550 +- doc/create_atoms.html | 642 +- doc/create_bonds.html | 349 +- doc/create_box.html | 393 +- doc/delete_atoms.html | 381 +- doc/delete_bonds.html | 405 +- doc/dielectric.html | 261 +- doc/dihedral_charmm.html | 357 +- doc/dihedral_class2.html | 488 +- doc/dihedral_coeff.html | 351 +- doc/dihedral_cosine_shift_exp.html | 327 +- doc/dihedral_fourier.html | 318 +- doc/dihedral_harmonic.html | 330 +- doc/dihedral_helix.html | 316 +- doc/dihedral_hybrid.html | 332 +- doc/dihedral_multi_harmonic.html | 311 +- doc/dihedral_nharmonic.html | 312 +- doc/dihedral_none.html | 242 +- doc/dihedral_opls.html | 326 +- doc/dihedral_quadratic.html | 311 +- doc/dihedral_style.html | 373 +- doc/dihedral_table.html | 467 +- doc/dimension.html | 277 +- doc/displace_atoms.html | 367 +- doc/dump.html | 923 +- doc/dump_image.html | 993 +- doc/dump_modify.html | 1430 ++- doc/dump_molfile.html | 359 +- doc/echo.html | 261 +- doc/fix.html | 644 +- doc/fix_adapt.html | 615 +- doc/fix_adapt_fep.html | 632 +- doc/fix_addforce.html | 456 +- doc/fix_addtorque.html | 343 +- doc/fix_append_atoms.html | 368 +- doc/fix_atc.html | 662 +- doc/fix_atom_swap.html | 468 +- doc/fix_ave_atom.html | 409 +- doc/fix_ave_chunk.html | 771 +- doc/fix_ave_correlate.html | 662 +- doc/fix_ave_histo.html | 655 +- doc/fix_ave_spatial.html | 746 +- doc/fix_ave_spatial_sphere.html | 635 +- doc/fix_ave_time.html | 623 +- doc/fix_aveforce.html | 380 +- doc/fix_balance.html | 602 +- doc/fix_bond_break.html | 408 +- doc/fix_bond_create.html | 549 +- doc/fix_bond_swap.html | 418 +- doc/fix_box_relax.html | 667 +- doc/fix_colvars.html | 395 +- doc/fix_deform.html | 877 +- doc/fix_deposit.html | 547 +- doc/fix_drag.html | 296 +- doc/fix_drude.html | 285 +- doc/fix_drude_transform.html | 426 +- doc/fix_dt_reset.html | 342 +- doc/fix_efield.html | 426 +- doc/fix_enforce2d.html | 305 +- doc/fix_evaporate.html | 348 +- doc/fix_external.html | 431 +- doc/fix_freeze.html | 328 +- doc/fix_gcmc.html | 670 +- doc/fix_gcmc.txt | 6 +- doc/fix_gld.html | 418 +- doc/fix_gle.html | 433 +- doc/fix_gravity.html | 401 +- doc/fix_heat.html | 387 +- doc/fix_imd.html | 401 +- doc/fix_indent.html | 484 +- doc/fix_ipi.html | 315 +- doc/fix_langevin.html | 614 +- doc/fix_langevin_drude.html | 580 +- doc/fix_langevin_eff.html | 382 +- doc/fix_lb_fluid.html | 670 +- doc/fix_lb_momentum.html | 325 +- doc/fix_lb_pc.html | 294 +- doc/fix_lb_rigid_pc_sphere.html | 405 +- doc/fix_lb_viscous.html | 333 +- doc/fix_lineforce.html | 280 +- doc/fix_meso.html | 279 +- doc/fix_meso_stationary.html | 279 +- doc/fix_modify.html | 305 +- doc/fix_momentum.html | 322 +- doc/fix_move.html | 510 +- doc/fix_msst.html | 434 +- doc/fix_neb.html | 345 +- doc/fix_nh.html | 975 +- doc/fix_nh_eff.html | 388 +- doc/fix_nph_asphere.html | 418 +- doc/fix_nph_sphere.html | 413 +- doc/fix_nphug.html | 542 +- doc/fix_npt_asphere.html | 443 +- doc/fix_npt_sphere.html | 438 +- doc/fix_nve.html | 317 +- doc/fix_nve_asphere.html | 291 +- doc/fix_nve_asphere_noforce.html | 293 +- doc/fix_nve_body.html | 295 +- doc/fix_nve_eff.html | 284 +- doc/fix_nve_limit.html | 314 +- doc/fix_nve_line.html | 286 +- doc/fix_nve_noforce.html | 284 +- doc/fix_nve_sphere.html | 349 +- doc/fix_nve_tri.html | 286 +- doc/fix_nvt_asphere.html | 416 +- doc/fix_nvt_sllod.html | 440 +- doc/fix_nvt_sllod_eff.html | 334 +- doc/fix_nvt_sphere.html | 411 +- doc/fix_oneway.html | 295 +- doc/fix_orient_fcc.html | 403 +- doc/fix_phonon.html | 504 +- doc/fix_pimd.html | 433 +- doc/fix_planeforce.html | 280 +- doc/fix_poems.html | 372 +- doc/fix_pour.html | 506 +- doc/fix_press_berendsen.html | 499 +- doc/fix_print.html | 343 +- doc/fix_property_atom.html | 517 +- doc/fix_qbmsst.html | 531 +- doc/fix_qeq.html | 481 +- doc/fix_qeq_comb.html | 389 +- doc/fix_qeq_reax.html | 337 +- doc/fix_qmmm.html | 286 +- doc/fix_qtb.html | 440 +- doc/fix_reax_bonds.html | 302 +- doc/fix_reaxc_species.html | 417 +- doc/fix_recenter.html | 376 +- doc/fix_restrain.html | 444 +- doc/fix_rigid.html | 1173 +- doc/fix_saed_vtk.html | 477 +- doc/fix_setforce.html | 380 +- doc/fix_shake.html | 497 +- doc/fix_smd.html | 416 +- doc/fix_spring.html | 377 +- doc/fix_spring_rg.html | 301 +- doc/fix_spring_self.html | 314 +- doc/fix_srd.html | 721 +- doc/fix_store_force.html | 299 +- doc/fix_store_state.html | 373 +- doc/fix_temp_berendsen.html | 453 +- doc/fix_temp_csvr.html | 444 +- doc/fix_temp_rescale.html | 461 +- doc/fix_temp_rescale_eff.html | 316 +- doc/fix_tfmc.html | 394 +- doc/fix_thermal_conductivity.html | 408 +- doc/fix_ti_rs.html | 410 +- doc/fix_ti_spring.html | 435 +- doc/fix_tmd.html | 364 +- doc/fix_ttm.html | 565 +- doc/fix_tune_kspace.html | 340 +- doc/fix_vector.html | 422 +- doc/fix_viscosity.html | 423 +- doc/fix_viscous.html | 374 +- doc/fix_wall.html | 626 +- doc/fix_wall_gran.html | 438 +- doc/fix_wall_piston.html | 376 +- doc/fix_wall_reflect.html | 437 +- doc/fix_wall_region.html | 479 +- doc/fix_wall_srd.html | 483 +- doc/group.html | 537 +- doc/group2ndx.html | 278 +- doc/if.html | 465 +- doc/improper_class2.html | 376 +- doc/improper_coeff.html | 334 +- doc/improper_cossq.html | 328 +- doc/improper_cvff.html | 322 +- doc/improper_fourier.html | 323 +- doc/improper_harmonic.html | 332 +- doc/improper_hybrid.html | 294 +- doc/improper_none.html | 242 +- doc/improper_ring.html | 338 +- doc/improper_style.html | 341 +- doc/improper_umbrella.html | 329 +- doc/include.html | 259 +- doc/info.html | 318 +- doc/jump.html | 382 +- doc/kspace_modify.html | 589 +- doc/kspace_style.html | 690 +- doc/label.html | 251 +- doc/lattice.html | 529 +- doc/log.html | 272 +- doc/mass.html | 313 +- doc/min_modify.html | 307 +- doc/min_style.html | 336 +- doc/minimize.html | 557 +- doc/molecule.html | 815 +- doc/neb.html | 688 +- doc/neigh_modify.html | 464 +- doc/neighbor.html | 317 +- doc/newton.html | 297 +- doc/next.html | 391 +- doc/package.html | 997 +- doc/pair_adp.html | 461 +- doc/pair_airebo.html | 456 +- doc/pair_awpmd.html | 387 +- doc/pair_beck.html | 369 +- doc/pair_body.html | 361 +- doc/pair_bop.html | 860 +- doc/pair_born.html | 511 +- doc/pair_brownian.html | 424 +- doc/pair_buck.html | 534 +- doc/pair_buck_long.html | 446 +- doc/pair_charmm.html | 512 +- doc/pair_class2.html | 489 +- doc/pair_coeff.html | 379 +- doc/pair_colloid.html | 483 +- doc/pair_comb.html | 474 +- doc/pair_coul.html | 758 +- doc/pair_coul_diel.html | 358 +- doc/pair_cs.html | 317 +- doc/pair_dipole.html | 581 +- doc/pair_dpd.html | 505 +- doc/pair_dsmc.html | 404 +- doc/pair_eam.html | 913 +- doc/pair_edip.html | 437 +- doc/pair_eff.html | 533 +- doc/pair_eim.html | 427 +- doc/pair_gauss.html | 452 +- doc/pair_gayberne.html | 505 +- doc/pair_gran.html | 550 +- doc/pair_gromacs.html | 445 +- doc/pair_hbond_dreiding.html | 568 +- doc/pair_hybrid.html | 642 +- doc/pair_kim.html | 366 +- doc/pair_lcbop.html | 340 +- doc/pair_line_lj.html | 370 +- doc/pair_list.html | 431 +- doc/pair_lj.html | 718 +- doc/pair_lj96.html | 371 +- doc/pair_lj_cubic.html | 393 +- doc/pair_lj_expand.html | 375 +- doc/pair_lj_long.html | 506 +- doc/pair_lj_sf.html | 364 +- doc/pair_lj_smooth.html | 384 +- doc/pair_lj_smooth_linear.html | 357 +- doc/pair_lj_soft.html | 580 +- doc/pair_lubricate.html | 538 +- doc/pair_lubricateU.html | 503 +- doc/pair_meam.html | 605 +- doc/pair_meam_spline.html | 410 +- doc/pair_meam_sw_spline.html | 403 +- doc/pair_mie.html | 346 +- doc/pair_modify.html | 529 +- doc/pair_morse.html | 372 +- doc/pair_nb3b_harmonic.html | 370 +- doc/pair_nm.html | 461 +- doc/pair_none.html | 254 +- doc/pair_peri.html | 539 +- doc/pair_polymorphic.html | 451 +- doc/pair_quip.html | 328 +- doc/pair_reax.html | 494 +- doc/pair_reax_c.html | 643 +- doc/pair_resquared.html | 514 +- doc/pair_sdk.html | 442 +- doc/pair_snap.html | 496 +- doc/pair_soft.html | 397 +- doc/pair_sph_heatconduction.html | 292 +- doc/pair_sph_idealgas.html | 314 +- doc/pair_sph_lj.html | 316 +- doc/pair_sph_rhosum.html | 295 +- doc/pair_sph_taitwater.html | 315 +- doc/pair_sph_taitwater_morris.html | 311 +- doc/pair_srp.html | 452 +- doc/pair_style.html | 578 +- doc/pair_sw.html | 474 +- doc/pair_table.html | 535 +- doc/pair_tersoff.html | 535 +- doc/pair_tersoff_mod.html | 472 +- doc/pair_tersoff_zbl.html | 532 +- doc/pair_thole.html | 376 +- doc/pair_tri_lj.html | 370 +- doc/pair_write.html | 314 +- doc/pair_yukawa.html | 362 +- doc/pair_yukawa_colloid.html | 437 +- doc/pair_zbl.html | 379 +- doc/partition.html | 305 +- doc/prd.html | 594 +- doc/print.html | 314 +- doc/processors.html | 625 +- doc/python.html | 790 +- doc/quit.html | 253 +- doc/read_data.html | 2043 +-- doc/read_dump.html | 647 +- doc/read_restart.html | 456 +- doc/region.html | 600 +- doc/replicate.html | 289 +- doc/rerun.html | 467 +- doc/reset_timestep.html | 285 +- doc/restart.html | 424 +- doc/run.html | 478 +- doc/run_style.html | 559 +- doc/searchindex.js | 2 +- doc/set.html | 620 +- doc/shell.html | 338 +- doc/special_bonds.html | 514 +- doc/suffix.html | 336 +- doc/tad.html | 558 +- doc/temper.html | 372 +- doc/thermo.html | 289 +- doc/thermo_modify.html | 430 +- doc/thermo_style.html | 629 +- doc/timestep.html | 275 +- doc/tutorial_drude.html | 760 +- doc/uncompute.html | 254 +- doc/undump.html | 248 +- doc/unfix.html | 254 +- doc/units.html | 580 +- doc/variable.html | 1605 +-- doc/velocity.html | 529 +- doc/write_data.html | 371 +- doc/write_dump.html | 336 +- doc/write_restart.html | 365 +- 464 files changed, 146378 insertions(+), 75614 deletions(-) diff --git a/doc/Manual.html b/doc/Manual.html index 828cd51e0a..e794abd61e 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -1,478 +1,441 @@ - - - -LAMMPS Users Manual - - - - - - - - - -

    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + LAMMPS Documentation — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    - -

    LAMMPS Documentation -

    -

    27 Jul 2015 version -

    -

    Version info: -

    -

    The LAMMPS "version" is the date when it was released, such as 1 May + +

    +
    +
    + +
    + + + +
    +
    +
    + +

    +

    LAMMPS Documentation¶

    +
    +

    27 Jul 2015 version¶

    +
    +
    +

    Version info:¶

    +

    The LAMMPS “version” is the date when it was released, such as 1 May 2010. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it immediately, and post a notice on this page of -the WWW site. Each dated copy of LAMMPS contains all the +feature, we release it immediately, and post a notice on this page of the WWW site. Each dated copy of LAMMPS contains all the features and bug-fixes up to and including that version date. The version date is printed to the screen and logfile every time you run LAMMPS. It is also in the file src/version.h and in the LAMMPS directory name created when you unpack a tarball, and at the top of -the first page of the manual (this page). -

    -
    • If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current version of LAMMPS. - -
    • If you browse the HTML doc pages included in your tarball, they -describe the version you have. - -
    • The PDF file on the WWW site or in the tarball is updated -about once per month. This is because it is large, and we don't want -it to be part of every patch. - -
    • There is also a Developer.pdf file in the doc +the first page of the manual (this page).

      +
        +
      • If you browse the HTML doc pages on the LAMMPS WWW site, they always +describe the most current version of LAMMPS.
      • +
      • If you browse the HTML doc pages included in your tarball, they +describe the version you have.
      • +
      • The PDF file on the WWW site or in the tarball is updated +about once per month. This is because it is large, and we don’t want +it to be part of every patch.
      • +
      • There is also a Developer.pdf file in the doc directory, which describes the internal structure and algorithms of -LAMMPS. -
      -

      LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel -Simulator. -

      -

      LAMMPS is a classical molecular dynamics simulation code designed to +LAMMPS.

    • +
    +

    LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel +Simulator.

    +

    LAMMPS is a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely -under the terms of the GNU Public License (GPL). -

    -

    The primary developers of LAMMPS are Steve Plimpton, Aidan +under the terms of the GNU Public License (GPL).

    +

    The primary developers of LAMMPS are Steve Plimpton, Aidan Thompson, and Paul Crozier who can be contacted at -sjplimp,athomps,pscrozi at sandia.gov. The LAMMPS WWW Site at -http://lammps.sandia.gov has more information about the code and its -uses. -

    - - - - -
    - -

    The LAMMPS documentation is organized into the following sections. If +sjplimp,athomps,pscrozi at sandia.gov. The LAMMPS WWW Site at +http://lammps.sandia.gov has more information about the code and its +uses.

    +
    +

    The LAMMPS documentation is organized into the following sections. If you find errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so -we can improve the LAMMPS documentation. -

    -

    Once you are familiar with LAMMPS, you may want to bookmark this -page at Section_commands.html#comm since -it gives quick access to documentation for all LAMMPS commands. -

    -

    PDF file of the entire manual, generated by -htmldoc -

    -

    -

    -
    1. -Introduction - - -
    2. Getting started - - -
    3. Commands - - -
    4. Packages - - -
    5. Accelerating LAMMPS performance - - -
    6. How-to discussions - - -
    7. Example problems - -
    8. Performance & scalability - -
    9. Additional tools - -
    10. Modifying & extending LAMMPS - - -
    11. Python interface - - -
    12. Errors - - -
    13. Future and history - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +we can improve the LAMMPS documentation.

    +

    Once you are familiar with LAMMPS, you may want to bookmark this page at Section_commands.html#comm since +it gives quick access to documentation for all LAMMPS commands.

    +

    PDF file of the entire manual, generated by +htmldoc

    +
    + +
    +
    +
    +
    +

    Indices and tables¶

    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Manual.txt b/doc/Manual.txt index b8fa72bd4f..2b2ebfae73 100644 --- a/doc/Manual.txt +++ b/doc/Manual.txt @@ -85,7 +85,7 @@ it gives quick access to documentation for all LAMMPS commands. .. toctree:: :maxdepth: 2 - :numbered: // comment + :numbered: Section_intro Section_start @@ -105,8 +105,8 @@ it gives quick access to documentation for all LAMMPS commands. Indices and tables ================== -* :ref:`genindex` // comment -* :ref:`search` // comment +* :ref:`genindex` +* :ref:`search` END_RST --> diff --git a/doc/Section_accelerate.html b/doc/Section_accelerate.html index 7a5b054aaa..0737f4bea1 100644 --- a/doc/Section_accelerate.html +++ b/doc/Section_accelerate.html @@ -1,84 +1,197 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 5. Accelerating LAMMPS performance — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    5. Accelerating LAMMPS performance -

    -

    This section describes various methods for improving LAMMPS + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    5. Accelerating LAMMPS performance¶

    +

    This section describes various methods for improving LAMMPS performance for different classes of problems running on different -kinds of machines. -

    -

    There are two thrusts to the discussion that follows. The +kinds of machines.

    +

    There are two thrusts to the discussion that follows. The first is using code options that implement alternate algorithms that can speed-up a simulation. The second is to use one of the several accelerator packages provided with LAMMPS that contain code optimized for certain kinds of hardware, including -multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors. -

    - -

    The Benchmark page of the LAMMPS +multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors.

    + +

    The Benchmark page of the LAMMPS web site gives performance results for the various accelerator packages discussed in Section 5.2, for several of the standard LAMMPS benchmark problems, as a function of problem size and number of -compute nodes, on different hardware platforms. -

    -
    - -
    - -

    5.1 Measuring performance -

    -

    Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are. -

    -

    The best way to do this is run the your system (actual number of +compute nodes, on different hardware platforms.

    +
    +

    5.1. Measuring performance¶

    +

    Before trying to make your simulation run faster, you should +understand how it currently performs and where the bottlenecks are.

    +

    The best way to do this is run the your system (actual number of atoms) for a modest number of timesteps (say 100 steps) on several different processor counts, including a single processor if possible. Do this for an equilibrium version of your system, so that the 100-step timings are representative of a much longer run. There is typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs. -

    -

    For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. This -section of the manual has an overview. -

    -

    Running on one (or a few processors) should give a good estimate of +timings; you can simply extrapolate from short runs.

    +

    For the set of runs, look at the timing data printed to the screen and +log file at the end of each LAMMPS run. This section of the manual has an overview.

    +

    Running on one (or a few processors) should give a good estimate of the serial performance and what portions of the timestep are taking the most time. Running the same problem on a few different processor counts should give an estimate of parallel scalability. I.e. if the simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it's 50% efficient. -

    -

    The most important data to look at in the timing info is the timing +efficient; if it runs 8x faster on 16 processors, it’s 50% efficient.

    +

    The most important data to look at in the timing info is the timing breakdown and relative percentages. For example, trying different options for speeding up the long-range solvers will have little impact if they only consume 10% of the run time. If the pairwise time is @@ -88,50 +201,49 @@ you increase the processor count gives you a sense of how different operations within the timestep are scaling. Note that if you are running with a Kspace solver, there is additional output on the breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive. -

    -

    Another important detail in the timing info are the histograms of +spent on FFTs, which can be communication intensive.

    +

    Another important detail in the timing info are the histograms of atoms counts and neighbor counts. If these vary widely across processors, you have a load-imbalance issue. This often results in inaccurate relative timing data, because processors have to wait when communication occurs for other processors to catch up. Thus the -reported times for "Communication" or "Other" may be higher than they +reported times for “Communication” or “Other” may be higher than they really are, due to load-imbalance. If this is an issue, you can uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile -LAMMPS, to obtain synchronized timings. -

    -
    - -

    5.2 General strategies -

    -

    NOTE: this section 5.2 is still a work in progress -

    -

    Here is a list of general ideas for improving simulation performance. +LAMMPS, to obtain synchronized timings.

    +
    +
    +
    +

    5.2. General strategies¶

    +
    +

    Note

    +

    this section 5.2 is still a work in progress

    +
    +

    Here is a list of general ideas for improving simulation performance. Most of them are only applicable to certain models and certain bottlenecks in the current performance, so let the timing data you generate be your guide. It is hard, if not impossible, to predict how much difference these options will make, since it is a function of problem size, number of processors used, and your machine. There is no substitute for identifying performance bottlenecks, and trying out -various options. -

    -
    • rRESPA -
    • 2-FFT PPPM -
    • Staggered PPPM -
    • single vs double PPPM -
    • partial charge PPPM -
    • verlet/split run style -
    • processor command for proc layout and numa layout -
    • load-balancing: balance and fix balance -
    -

    2-FFT PPPM, also called analytic differentiation or ad PPPM, uses -2 FFTs instead of the 4 FFTs used by the default ik differentiation +various options.

    +
      +
    • rRESPA
    • +
    • 2-FFT PPPM
    • +
    • Staggered PPPM
    • +
    • single vs double PPPM
    • +
    • partial charge PPPM
    • +
    • verlet/split run style
    • +
    • processor command for proc layout and numa layout
    • +
    • load-balancing: balance and fix balance
    • +
    +

    2-FFT PPPM, also called analytic differentiation or ad PPPM, uses +2 FFTs instead of the 4 FFTs used by the default ik differentiation PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to achieve the same accuracy as 4-FFT PPPM. For problems where the FFT cost is the performance bottleneck (typically large problems running -on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. -

    -

    Staggered PPPM performs calculations using two different meshes, one +on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.

    +

    Staggered PPPM performs calculations using two different meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase the accuracy of the method, but also doubles the amount of work required. For high relative accuracy, using @@ -143,194 +255,233 @@ time. For example, the rhodopsin benchmark was run on a single processor, and results for kspace time vs. relative accuracy for the different methods are shown in the figure below. For this system, staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above. -

    -
    -
    -

    IMPORTANT NOTE: Using staggered PPPM may not give the same increase in +relative accuracy of slightly greater than 1e-5 and above.

    +_images/rhodo_staggered.jpg +
    +

    Warning

    +

    Using staggered PPPM may not give the same increase in accuracy of energy and pressure as it does in forces, so some caution must be used if energy and/or pressure are quantities of interest, -such as when using a barostat. -

    -
    - -

    5.3 Packages with optimized styles -

    -

    Accelerated versions of various pair_style, -fixes, computes, and other commands have +such as when using a barostat.

    +
    +
    +
    +
    +

    5.3. Packages with optimized styles¶

    +

    Accelerated versions of various pair_style, +fixes, computes, and other commands have been added to LAMMPS, which will typically run faster than the standard non-accelerated versions. Some require appropriate hardware to be present on your system, e.g. GPUs or Intel Xeon Phi -coprocessors. -

    -

    All of these commands are in packages provided with LAMMPS. An -overview of packages is give in Section -packages. These are the accelerator packages -currently in LAMMPS, either as standard or user packages: -

    -
    - - - - - -
    USER-CUDA for NVIDIA GPUs
    GPU for NVIDIA GPUs as well as OpenCL support
    USER-INTEL for Intel CPUs and Intel Xeon Phi
    KOKKOS for GPUs, Intel Xeon Phi, and OpenMP threading
    USER-OMP for OpenMP threading
    OPT generic CPU optimizations -
    - -

    Any accelerated style has the same name as the corresponding standard +coprocessors.

    +

    All of these commands are in packages provided with LAMMPS. An +overview of packages is give in Section packages. These are the accelerator packages +currently in LAMMPS, either as standard or user packages:

    + ++++ + + + + + + + + + + + + + + + + + + + + +
    USER-CUDAfor NVIDIA GPUs
    GPUfor NVIDIA GPUs as well as OpenCL support
    USER-INTELfor Intel CPUs and Intel Xeon Phi
    KOKKOSfor GPUs, Intel Xeon Phi, and OpenMP threading
    USER-OMPfor OpenMP threading
    OPTgeneric CPU optimizations
    +

    Any accelerated style has the same name as the corresponding standard style, except that a suffix is appended. Otherwise, the syntax for the command that uses the style is identical, their functionality is the same, and the numerical results it produces should also be the -same, except for precision and round-off effects. -

    -

    For example, all of these styles are accelerated variants of the -Lennard-Jones pair_style lj/cut: -

    - -

    To see what accelerate styles are currently available, see -Section_commands 5 of the manual. The -doc pages for individual commands (e.g. pair lj/cut or -fix nve) also list any accelerated variants available -for that style. -

    -

    To use an accelerator package in LAMMPS, and one or more of the styles +same, except for precision and round-off effects.

    +

    For example, all of these styles are accelerated variants of the +Lennard-Jones pair_style lj/cut:

    + +

    To see what accelerate styles are currently available, see +Section_commands 5 of the manual. The +doc pages for individual commands (e.g. pair lj/cut or +fix nve) also list any accelerated variants available +for that style.

    +

    To use an accelerator package in LAMMPS, and one or more of the styles it provides, follow these general steps. Details vary from package to package and are explained in the individual accelerator doc pages, -listed above: -

    -
    - - - - - - - -
    build the accelerator library only for USER-CUDA and GPU packages
    install the accelerator package make yes-opt, make yes-user-intel, etc
    add compile/link flags to Makefile.machine in src/MAKE,
    only for USER-INTEL, KOKKOS, USER-OMP packages
    re-build LAMMPS make machine
    run a LAMMPS simulation lmp_machine < in.script
    enable the accelerator package via "-c on" and "-k on" command-line switches,
    only for USER-CUDA and KOKKOS packages
    set any needed options for the package via "-pk" command-line switch or package command,
    only if defaults need to be changed
    use accelerated styles in your input script via "-sf" command-line switch or suffix command -
    - -

    The first 4 steps can be done as a single command, using the -src/Make.py tool. The Make.py tool is discussed in Section -2.4 of the manual, and its use is +listed above:

    + ++++ + + + + + + + + +
    build the accelerator libraryonly for USER-CUDA and GPU packages
    install the accelerator packagemake yes-opt, make yes-user-intel, etc
    +
    +
    install the accelerator package | make yes-opt, make yes-user-intel, etc |
    +
    +
    +
    only for USER-INTEL, KOKKOS, USER-OMP packages |
    + ++++ + + + + + + + + +
    re-build LAMMPSmake machine
    run a LAMMPS simulationlmp_machine < in.script
    +
    +
    run a LAMMPS simulation | lmp_machine < in.script |
    +
    +
    +
    only for USER-CUDA and KOKKOS packages |
    +
    +
    package command, <br> +only if defaults need to be changed |
    +
    +
    suffix command |
    + ++ + + +
    +

    The first 4 steps can be done as a single command, using the +src/Make.py tool. The Make.py tool is discussed in Section 2.4 of the manual, and its use is illustrated in the individual accelerator sections. Typically these steps only need to be done once, to create an executable that uses one -or more accelerator packages. -

    -

    The last 4 steps can all be done from the command-line when LAMMPS is +or more accelerator packages.

    +

    The last 4 steps can all be done from the command-line when LAMMPS is launched, without changing your input script, as illustrated in the individual accelerator sections. Or you can add -package and suffix commands to your input -script. -

    -

    IMPORTANT NOTE: With a few exceptions, you can build a single LAMMPS +package and suffix commands to your input +script.

    +
    +

    Warning

    +

    With a few exceptions, you can build a single LAMMPS executable with all its accelerator packages installed. Note that the USER-INTEL and KOKKOS packages require you to choose one of their options when building. I.e. CPU or Phi for USER-INTEL. OpenMP, Cuda, or Phi for KOKKOS. Here are the exceptions; you cannot build a single -executable with: -

    -
    • both the USER-INTEL Phi and KOKKOS Phi options -
    • the USER-INTEL Phi or Kokkos Phi option, and either the USER-CUDA or GPU packages -
    -

    See the examples/accelerate/README and make.list files for sample +executable with:

    +
    +
      +
    • both the USER-INTEL Phi and KOKKOS Phi options
    • +
    • the USER-INTEL Phi or Kokkos Phi option, and either the USER-CUDA or GPU packages
    • +
    +

    See the examples/accelerate/README and make.list files for sample Make.py commands that build LAMMPS with any or all of the accelerator packages. As an example, here is a command that builds with all the GPU related packages installed (USER-CUDA, GPU, KOKKOS with Cuda), including settings to build the needed auxiliary USER-CUDA and GPU -libraries for Kepler GPUs: -

    -
    Make.py -j 16 -p omp gpu cuda kokkos -cc nvcc wrap=mpi   -cuda mode=double arch=35 -gpu mode=double arch=35 \  -kokkos cuda arch=35 lib-all file mpi 
    -
    -

    The examples/accelerate directory also has input scripts that can be +libraries for Kepler GPUs:

    +
    +Make.py -j 16 -p omp gpu cuda kokkos -cc nvcc wrap=mpi   -cuda mode=double arch=35 -gpu mode=double arch=35  -kokkos cuda arch=35 lib-all file mpi
    +
    +

    The examples/accelerate directory also has input scripts that can be used with all of the accelerator packages. See its README file for -details. -

    -

    Likewise, the bench directory has FERMI and KEPLER and PHI +details.

    +

    Likewise, the bench directory has FERMI and KEPLER and PHI sub-directories with Make.py commands and input scripts for using all the accelerator packages on various machines. See the README files in -those dirs. -

    -

    As mentioned above, the Benchmark -page of the LAMMPS web site gives +those dirs.

    +

    As mentioned above, the Benchmark page of the LAMMPS web site gives performance results for the various accelerator packages for several of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms. -

    -

    Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections. -

    -
    • Styles with a "cuda" or "gpu" suffix are part of the USER-CUDA or GPU +size and number of compute nodes, on different hardware platforms.

      +

      Here is a brief summary of what the various packages provide. Details +are in the individual accelerator sections.

      +
        +
      • Styles with a “cuda” or “gpu” suffix are part of the USER-CUDA or GPU packages, and can be run on NVIDIA GPUs. The speed-up on a GPU depends on a variety of factors, discussed in the accelerator -sections. - -
      • Styles with an "intel" suffix are part of the USER-INTEL +sections.
      • +
      • Styles with an “intel” suffix are part of the USER-INTEL package. These styles support vectorized single and mixed precision calculations, in addition to full double precision. In extreme cases, this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) +supports acceleration in “offload” mode to Intel(R) Xeon Phi(TM) coprocessors. This can result in additional speedup over 2x depending -on the hardware configuration. - -
      • Styles with a "kk" suffix are part of the KOKKOS package, and can be +on the hardware configuration.
      • +
      • Styles with a “kk” suffix are part of the KOKKOS package, and can be run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in "native" mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page. - -
      • Styles with an "omp" suffix are part of the USER-OMP package and allow +Xeon Phi in “native” mode. The speed-up depends on a variety of +factors, as discussed on the KOKKOS accelerator page.
      • +
      • Styles with an “omp” suffix are part of the USER-OMP package and allow a pair-style to be run in multi-threaded mode using OpenMP. This can be useful on nodes with high-core counts when using less MPI processes than cores is advantageous, e.g. when running with PPPM so that FFTs are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication. - -
      • Styles with an "opt" suffix are part of the OPT package and typically +overload the available bandwidth for communication.
      • +
      • Styles with an “opt” suffix are part of the OPT package and typically speed-up the pairwise calculations of your simulation by 5-25% on a -CPU. -
      -

      The individual accelerator package doc pages explain: -

      -
      • what hardware and software the accelerated package requires -
      • how to build LAMMPS with the accelerated package -
      • how to run with the accelerated package either via command-line switches or modifying the input script -
      • speed-ups to expect -
      • guidelines for best performance -
      • restrictions -
      -
      - -

      5.4 Comparison of various accelerator packages -

      -

      NOTE: this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information. -

      -

      The next section compares and contrasts the various accelerator +CPU.

    • +
    +

    The individual accelerator package doc pages explain:

    +
      +
    • what hardware and software the accelerated package requires
    • +
    • how to build LAMMPS with the accelerated package
    • +
    • how to run with the accelerated package either via command-line switches or modifying the input script
    • +
    • speed-ups to expect
    • +
    • guidelines for best performance
    • +
    • restrictions
    • +
    +
    +
    +
    +

    5.4. Comparison of various accelerator packages¶

    +
    +

    Note

    +

    this section still needs to be re-worked with additional KOKKOS +and USER-INTEL information.

    +
    +

    The next section compares and contrasts the various accelerator options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors. -

    -

    All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways. -

    -

    As a consequence, for a particular simulation on specific hardware, +run on GPUs, and run on Intel Xeon Phi coprocessors.

    +

    All 3 of these packages accelerate a LAMMPS calculation using NVIDIA +hardware, but they do it in different ways.

    +

    As a consequence, for a particular simulation on specific hardware, one package may be faster than the other. We give guidelines below, but the best way to determine which package is faster for your input script is to try both of them on your machine. See the benchmarking -section below for examples where this has been done. -

    -

    Guidelines for using each package optimally: -

    -
    • The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for "hybrid" nodes that contain multicore +section below for examples where this has been done.

      +

      Guidelines for using each package optimally:

      +
        +
      • The GPU package allows you to assign multiple CPUs (cores) to a single +GPU (a common configuration for “hybrid” nodes that contain multicore CPU(s) and GPU(s)) and works effectively in this mode. The USER-CUDA -package does not allow this; you can only use one CPU per GPU. - -
      • The GPU package moves per-atom data (coordinates, forces) +package does not allow this; you can only use one CPU per GPU.
      • +
      • The GPU package moves per-atom data (coordinates, forces) back-and-forth between the CPU and GPU every timestep. The USER-CUDA package only does this on timesteps when a CPU calculation is required (e.g. to invoke a fix or compute that is non-GPU-ized). Hence, if you @@ -338,64 +489,129 @@ can formulate your input script to only use GPU-ized fixes and computes, and avoid doing I/O too often (thermo output, dump file snapshots, restart files), then the data transfer cost of the USER-CUDA package can be very low, causing it to run faster than the -GPU package. - -
      • The GPU package is often faster than the USER-CUDA package, if the -number of atoms per GPU is "small". The crossover point, in terms of +GPU package.
      • +
      • The GPU package is often faster than the USER-CUDA package, if the +number of atoms per GPU is “small”. The crossover point, in terms of atoms/GPU at which the USER-CUDA package becomes faster depends strongly on the pair style. For example, for a simple Lennard Jones system the crossover (in single precision) is often about 50K-100K atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller. - -
      • Both packages compute bonded interactions (bonds, angles, etc) on the +crossover point can be significantly smaller.
      • +
      • Both packages compute bonded interactions (bonds, angles, etc) on the CPU. This means a model with bonds will force the USER-CUDA package to transfer per-atom data back-and-forth between the CPU and GPU every timestep. If the GPU package is running with several MPI processes assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster. - -
      • When using the GPU package with multiple CPUs assigned to one GPU, its +spread across more CPUs and hence the GPU package can run faster.
      • +
      • When using the GPU package with multiple CPUs assigned to one GPU, its performance depends to some extent on high bandwidth between the CPUs and the GPU. Hence its performance is affected if full 16 PCIe lanes are not available for each GPU. In HPC environments this can be the case if S2050/70 servers are used, where two devices generally share one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots. -
      -

      Differences between the two packages: -

      -
      • The GPU package accelerates only pair force, neighbor list, and PPPM +full 16 lanes to each of the PCIe 2.0 16x slots.
      • +
      +

      Differences between the two packages:

      +
        +
      • The GPU package accelerates only pair force, neighbor list, and PPPM calculations. The USER-CUDA package currently supports a wider range of pair styles and can also accelerate many fix styles and some -compute styles, as well as neighbor list and PPPM calculations. - -
      • The USER-CUDA package does not support acceleration for minimization. - -
      • The USER-CUDA package does not support hybrid pair styles. - -
      • The USER-CUDA package can order atoms in the neighbor list differently -from run to run resulting in a different order for force accumulation. - -
      • The USER-CUDA package has a limit on the number of atom types that can be -used in a simulation. - -
      • The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists or a triclinic simulation box. - -
      • The GPU package uses more GPU memory than the USER-CUDA package. This +compute styles, as well as neighbor list and PPPM calculations.
      • +
      • The USER-CUDA package does not support acceleration for minimization.
      • +
      • The USER-CUDA package does not support hybrid pair styles.
      • +
      • The USER-CUDA package can order atoms in the neighbor list differently +from run to run resulting in a different order for force accumulation.
      • +
      • The USER-CUDA package has a limit on the number of atom types that can be +used in a simulation.
      • +
      • The GPU package requires neighbor lists to be built on the CPU when using +exclusion lists or a triclinic simulation box.
      • +
      • The GPU package uses more GPU memory than the USER-CUDA package. This is generally not a problem since typical runs are computation-limited -rather than memory-limited. -
      -

      Examples: -

      -

      The LAMMPS distribution has two directories with sample input scripts -for the GPU and USER-CUDA packages. -

      -
      • lammps/examples/gpu = GPU package files -
      • lammps/examples/USER/cuda = USER-CUDA package files -
      -

      These contain input scripts for identical systems, so they can be used -to benchmark the performance of both packages on your system. -

      - +rather than memory-limited.
    • +
    +
    +

    5.4.1. Examples¶

    +

    The LAMMPS distribution has two directories with sample input scripts +for the GPU and USER-CUDA packages.

    +
      +
    • lammps/examples/gpu = GPU package files
    • +
    • lammps/examples/USER/cuda = USER-CUDA package files
    • +
    +

    These contain input scripts for identical systems, so they can be used +to benchmark the performance of both packages on your system.

    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_commands.html b/doc/Section_commands.html index ea033b22d8..8f01a56e5f 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -1,661 +1,1477 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 3. Commands — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    3. Commands -

    -

    This section describes how a LAMMPS input script is formatted and the -input script commands used to define a LAMMPS simulation. -

    -3.1 LAMMPS input script
    -3.2 Parsing rules
    -3.3 Input script structure
    -3.4 Commands listed by category
    -3.5 Commands listed alphabetically
    - -
    - -
    - -

    3.1 LAMMPS input script -

    -

    LAMMPS executes by reading commands from a input script (text file), + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    3. Commands¶

    +

    This section describes how a LAMMPS input script is formatted and the +input script commands used to define a LAMMPS simulation.

    + +
    +

    3.1. LAMMPS input script¶

    +

    LAMMPS executes by reading commands from a input script (text file), one line at a time. When the input script ends, LAMMPS exits. Each command causes LAMMPS to take some action. It may set an internal variable, read in a file, or run a simulation. Most commands have default settings, which means you only need to use the command if you -wish to change the default. -

    -

    In many cases, the ordering of commands in an input script is not -important. However the following rules apply: -

    -

    (1) LAMMPS does not read your entire input script and then perform a +wish to change the default.

    +

    In many cases, the ordering of commands in an input script is not +important. However the following rules apply:

    +

    (1) LAMMPS does not read your entire input script and then perform a simulation with all the settings. Rather, the input script is read one line at a time and each command takes effect when it is read. -Thus this sequence of commands: -

    -
    timestep 0.5 
    -run      100 
    -run      100 
    -
    -

    does something different than this sequence: -

    -
    run      100 
    -timestep 0.5 
    -run      100 
    -
    -

    In the first case, the specified timestep (0.5 fmsec) is used for two +Thus this sequence of commands:

    +
    timestep 0.5
    +run      100
    +run      100
    +
    +
    +

    does something different than this sequence:

    +
    run      100
    +timestep 0.5
    +run      100
    +
    +
    +

    In the first case, the specified timestep (0.5 fmsec) is used for two simulations of 100 timesteps each. In the 2nd case, the default timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 -fmsec timestep is used for the 2nd one. -

    -

    (2) Some commands are only valid when they follow other commands. For +fmsec timestep is used for the 2nd one.

    +

    (2) Some commands are only valid when they follow other commands. For example you cannot set the temperature of a group of atoms until atoms have been defined and a group command is used to define which atoms -belong to the group. -

    -

    (3) Sometimes command B will use values that can be set by command A. +belong to the group.

    +

    (3) Sometimes command B will use values that can be set by command A. This means command A must precede command B in the input script if it is to have the desired effect. For example, the -read_data command initializes the system by setting +read_data command initializes the system by setting up the simulation box and assigning atoms to processors. If default -values are not desired, the processors and -boundary commands need to be used before read_data to -tell LAMMPS how to map processors to the simulation box. -

    -

    Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. This section gives +values are not desired, the processors and +boundary commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box.

    +

    Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. This section gives more information on what errors mean. The documentation for each -command lists restrictions on how the command can be used. -

    -
    - -

    3.2 Parsing rules -

    -

    Each non-blank line in the input script is treated as a command. +command lists restrictions on how the command can be used.

    +
    +
    +
    +

    3.2. Parsing rules¶

    +

    Each non-blank line in the input script is treated as a command. LAMMPS commands are case sensitive. Command names are lower-case, as are specified command arguments. Upper case letters may be used in -file names or user-chosen ID strings. -

    -

    Here is how each line in the input script is parsed by LAMMPS: -

    -

    (1) If the last printable character on the line is a "&" character, +file names or user-chosen ID strings.

    +

    Here is how each line in the input script is parsed by LAMMPS:

    +

    (1) If the last printable character on the line is a “&” character, the command is assumed to continue on the next line. The next line is -concatenated to the previous line by removing the "&" character and +concatenated to the previous line by removing the “&” character and line break. This allows long commands to be continued across two or more lines. See the discussion of triple quotes in (6) for how to -continue a command across multiple line without using "&" characters. -

    -

    (2) All characters from the first "#" character onward are treated as +continue a command across multiple line without using “&” characters.

    +

    (2) All characters from the first “#” character onward are treated as comment and discarded. See an exception in (6). Note that a -comment after a trailing "&" character will prevent the command from +comment after a trailing “&” character will prevent the command from continuing on the next line. Also note that for multi-line commands a -single leading "#" will comment out the entire command. -

    -

    (3) The line is searched repeatedly for $ characters, which indicate +single leading “#” will comment out the entire command.

    +

    (3) The line is searched repeatedly for $ characters, which indicate variables that are replaced with a text string. See an exception in -(6). -

    -

    If the $ is followed by curly brackets, then the variable name is the +(6).

    +

    If the $ is followed by curly brackets, then the variable name is the text inside the curly brackets. If no curly brackets follow the $, then the variable name is the single character immediately following -the $. Thus ${myTemp} and $x refer to variable names "myTemp" and -"x". -

    -

    How the variable is converted to a text string depends on what style -of variable it is; see the variable doc page for details. +the $. Thus ${myTemp} and $x refer to variable names “myTemp” and +“x”.

    +

    How the variable is converted to a text string depends on what style +of variable it is; see the variable doc page for details. It can be a variable that stores multiple text strings, and return one -of them. The returned text string can be multiple "words" (space +of them. The returned text string can be multiple “words” (space separated) which will then be interpreted as multiple arguments in the input command. The variable can also store a numeric formula which -will be evaluated and its numeric result returned as a string. -

    -

    As a special case, if the $ is followed by parenthesis, then the text -inside the parenthesis is treated as an "immediate" variable and -evaluated as an equal-style variable. This is a way +will be evaluated and its numeric result returned as a string.

    +

    As a special case, if the $ is followed by parenthesis, then the text +inside the parenthesis is treated as an “immediate” variable and +evaluated as an equal-style variable. This is a way to use numeric formulas in an input script without having to assign -them to variable names. For example, these 3 input script lines: -

    -
    variable X equal (xlo+xhi)/2+sqrt(v_area)
    +them to variable names.  For example, these 3 input script lines:

    +
    variable X equal (xlo+xhi)/2+sqrt(v_area)
     region 1 block $X 2 INF INF EDGE EDGE
    -variable X delete 
    -
    -

    can be replaced by -

    -
    region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE 
    -
    -

    so that you do not have to define (or discard) a temporary variable X. -

    -

    Note that neither the curly-bracket or immediate form of variables can +variable X delete +

    +
    +

    can be replaced by

    +
    region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
    +
    +
    +

    so that you do not have to define (or discard) a temporary variable X.

    +

    Note that neither the curly-bracket or immediate form of variables can contain nested $ characters for other variables to substitute for. -Thus you cannot do this: -

    -
    variable        a equal 2
    +Thus you cannot do this:

    +
    variable        a equal 2
     variable        b2 equal 4
    -print           "B2 = ${b$a}" 
    -
    -

    Nor can you specify this $($x-1.0) for an immediate variable, but +print "B2 = ${b$a}" +

    +
    +

    Nor can you specify this $($x-1.0) for an immediate variable, but you could use $(v_x-1.0), since the latter is valid syntax for an -equal-style variable. -

    -

    See the variable command for more details of how +equal-style variable.

    +

    See the variable command for more details of how strings are assigned to variables and evaluated, and how they can be -used in input script commands. -

    -

    (4) The line is broken into "words" separated by whitespace (tabs, +used in input script commands.

    +

    (4) The line is broken into “words” separated by whitespace (tabs, spaces). Note that words can thus contain letters, digits, -underscores, or punctuation characters. -

    -

    (5) The first word is the command name. All successive words in the -line are arguments. -

    -

    (6) If you want text with spaces to be treated as a single argument, +underscores, or punctuation characters.

    +

    (5) The first word is the command name. All successive words in the +line are arguments.

    +

    (6) If you want text with spaces to be treated as a single argument, it can be enclosed in either single or double or triple quotes. A long single argument enclosed in single or double quotes can span -multiple lines if the "&" character is used, as described above. When -the lines are concatenated together (and the "&" characters and line +multiple lines if the “&” character is used, as described above. When +the lines are concatenated together (and the “&” characters and line breaks removed), the text will become a single line. If you want multiple lines of an argument to retain their line breaks, the text -can be enclosed in triple quotes, in which case "&" characters are not -needed. For example: -

    -
    print "Volume = $v"
    -print 'Volume = $v'
    -if "$steps > 1000" then quit
    -variable a string "red green blue &
    -                   purple orange cyan"
    -print """
    +can be enclosed in triple quotes, in which case “&” characters are not
    +needed.  For example:

    +
    print "Volume = $v"
    +print 'Volume = $v'
    +if "$*steps* > 1000" then quit
    +variable a string "red green blue &
    +                   purple orange cyan"
    +print """
     System volume = $v
     System temperature = $t
    -""" 
    -
    -

    In each case, the single, double, or triple quotes are removed when -the single argument they enclose is stored internally. -

    -

    See the dump modify format, print, -if, and python commands for examples. -

    -

    A "#" or "$" character that is between quotes will not be treated as a -comment indicator in (2) or substituted for as a variable in (3). -

    -

    IMPORTANT NOTE: If the argument is itself a command that requires a -quoted argument (e.g. using a print command as part of an -if or run every command), then single, double, or +""" +

    +
    +

    In each case, the single, double, or triple quotes are removed when +the single argument they enclose is stored internally.

    +

    See the dump modify format, print, +if, and python commands for examples.

    +

    A “#” or “$” character that is between quotes will not be treated as a +comment indicator in (2) or substituted for as a variable in (3).

    +
    +

    Warning

    +

    If the argument is itself a command that requires a +quoted argument (e.g. using a print command as part of an +if or run every command), then single, double, or triple quotes can be nested in the usual manner. See the doc pages for those commands for examples. Only one of level of nesting is -allowed, but that should be sufficient for most use cases. -

    -
    - -

    3.3 Input script structure -

    -

    This section describes the structure of a typical LAMMPS input script. -The "examples" directory in the LAMMPS distribution contains many +allowed, but that should be sufficient for most use cases.

    +
    +
    +
    +
    +

    3.3. Input script structure¶

    +

    This section describes the structure of a typical LAMMPS input script. +The “examples” directory in the LAMMPS distribution contains many sample input scripts; the corresponding problems are discussed in -Section_example, and animated on the LAMMPS -WWW Site. -

    -

    A LAMMPS input script typically has 4 parts: -

    -
    1. Initialization -
    2. Atom definition -
    3. Settings -
    4. Run a simulation -
    -

    The last 2 parts can be repeated as many times as desired. I.e. run a +Section_example, and animated on the LAMMPS WWW Site.

    +

    A LAMMPS input script typically has 4 parts:

    +
      +
    1. Initialization
    2. +
    3. Atom definition
    4. +
    5. Settings
    6. +
    7. Run a simulation
    8. +
    +

    The last 2 parts can be repeated as many times as desired. I.e. run a simulation, change some settings, run some more, etc. Each of the 4 parts is now described in more detail. Remember that almost all the -commands need only be used if a non-default value is desired. -

    -

    (1) Initialization -

    -

    Set parameters that need to be defined before atoms are created or -read-in from a file. -

    -

    The relevant commands are units, -dimension, newton, -processors, boundary, -atom_style, atom_modify. -

    -

    If force-field parameters appear in the files that will be read, these +commands need only be used if a non-default value is desired.

    +
      +
    1. Initialization
    2. +
    +

    Set parameters that need to be defined before atoms are created or +read-in from a file.

    +

    The relevant commands are units, +dimension, newton, +processors, boundary, +atom_style, atom_modify.

    +

    If force-field parameters appear in the files that will be read, these commands tell LAMMPS what kinds of force fields are being used: -pair_style, bond_style, -angle_style, dihedral_style, -improper_style. -

    -

    (2) Atom definition -

    -

    There are 3 ways to define atoms in LAMMPS. Read them in from a data -or restart file via the read_data or -read_restart commands. These files can contain +pair_style, bond_style, +angle_style, dihedral_style, +improper_style.

    +
      +
    1. Atom definition
    2. +
    +

    There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the read_data or +read_restart commands. These files can contain molecular topology information. Or create atoms on a lattice (with no -molecular topology), using these commands: lattice, -region, create_box, -create_atoms. The entire set of atoms can be +molecular topology), using these commands: lattice, +region, create_box, +create_atoms. The entire set of atoms can be duplicated to make a larger simulation using the -replicate command. -

    -

    (3) Settings -

    -

    Once atoms and molecular topology are defined, a variety of settings +replicate command.

    +
      +
    1. Settings
    2. +
    +

    Once atoms and molecular topology are defined, a variety of settings can be specified: force field coefficients, simulation parameters, -output options, etc. -

    -

    Force field coefficients are set by these commands (they can also be -set in the read-in files): pair_coeff, -bond_coeff, angle_coeff, -dihedral_coeff, -improper_coeff, -kspace_style, dielectric, -special_bonds. -

    -

    Various simulation parameters are set by these commands: -neighbor, neigh_modify, -group, timestep, -reset_timestep, run_style, -min_style, min_modify. -

    -

    Fixes impose a variety of boundary conditions, time integration, and -diagnostic options. The fix command comes in many flavors. -

    -

    Various computations can be specified for execution during a -simulation using the compute, -compute_modify, and variable -commands. -

    -

    Output options are set by the thermo, dump, -and restart commands. -

    -

    (4) Run a simulation -

    -

    A molecular dynamics simulation is run using the run +output options, etc.

    +

    Force field coefficients are set by these commands (they can also be +set in the read-in files): pair_coeff, +bond_coeff, angle_coeff, +dihedral_coeff, +improper_coeff, +kspace_style, dielectric, +special_bonds.

    +

    Various simulation parameters are set by these commands: +neighbor, neigh_modify, +group, timestep, +reset_timestep, run_style, +min_style, min_modify.

    +

    Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The fix command comes in many flavors.

    +

    Various computations can be specified for execution during a +simulation using the compute, +compute_modify, and variable +commands.

    +

    Output options are set by the thermo, dump, +and restart commands.

    +
      +
    1. Run a simulation
    2. +
    +

    A molecular dynamics simulation is run using the run command. Energy minimization (molecular statics) is performed using -the minimize command. A parallel tempering +the minimize command. A parallel tempering (replica-exchange) simulation can be run using the -temper command. -

    -
    - -

    3.4 Commands listed by category -

    -

    This section lists all LAMMPS commands, grouped by category. The -next section lists the same commands alphabetically. Note +temper command.

    +
    +
    +
    +

    3.4. Commands listed by category¶

    +

    This section lists all LAMMPS commands, grouped by category. The +next section lists the same commands alphabetically. Note that some style options for some commands are part of specific LAMMPS packages, which means they cannot be used unless the package was included when LAMMPS was built. Not all packages are included in a default LAMMPS build. These dependencies are listed as Restrictions -in the command's documentation. -

    -

    Initialization: -

    -

    atom_modify, atom_style, -boundary, dimension, -newton, processors, units -

    -

    Atom definition: -

    -

    create_atoms, create_box, -lattice, read_data, -read_dump, read_restart, -region, replicate -

    -

    Force fields: -

    -

    angle_coeff, angle_style, -bond_coeff, bond_style, -dielectric, dihedral_coeff, -dihedral_style, -improper_coeff, -improper_style, -kspace_modify, kspace_style, -pair_coeff, pair_modify, -pair_style, pair_write, -special_bonds -

    -

    Settings: -

    -

    comm_style, group, mass, -min_modify, min_style, -neigh_modify, neighbor, -reset_timestep, run_style, -set, timestep, velocity -

    -

    Fixes: -

    -

    fix, fix_modify, unfix -

    -

    Computes: -

    -

    compute, compute_modify, -uncompute -

    -

    Output: -

    -

    dump, dump image, -dump_modify, dump movie, -restart, thermo, -thermo_modify, thermo_style, -undump, write_data, -write_dump, write_restart -

    -

    Actions: -

    -

    delete_atoms, delete_bonds, -displace_atoms, change_box, -minimize, neb prd, -rerun, run, temper -

    -

    Miscellaneous: -

    -

    clear, echo, if, -include, jump, label, -log, next, print, -shell, variable -

    -
    - -

    3.5 Individual commands -

    -

    This section lists all LAMMPS commands alphabetically, with a separate -listing below of styles within certain commands. The previous -section lists the same commands, grouped by category. Note +in the command’s documentation.

    +

    Initialization:

    +

    atom_modify, atom_style, +boundary, dimension, +newton, processors, units

    +

    Atom definition:

    +

    create_atoms, create_box, +lattice, read_data, +read_dump, read_restart, +region, replicate

    +

    Force fields:

    +

    angle_coeff, angle_style, +bond_coeff, bond_style, +dielectric, dihedral_coeff, +dihedral_style, +improper_coeff, +improper_style, +kspace_modify, kspace_style, +pair_coeff, pair_modify, +pair_style, pair_write, +special_bonds

    +

    Settings:

    +

    comm_style, group, mass, +min_modify, min_style, +neigh_modify, neighbor, +reset_timestep, run_style, +set, timestep, velocity

    +

    Fixes:

    +

    fix, fix_modify, unfix

    +

    Computes:

    +

    compute, compute_modify, +uncompute

    +

    Output:

    +

    dump, dump image, +dump_modify, dump movie, +restart, thermo, +thermo_modify, thermo_style, +undump, write_data, +write_dump, write_restart

    +

    Actions:

    +

    delete_atoms, delete_bonds, +displace_atoms, change_box, +minimize, neb prd, +rerun, run, temper

    +

    Miscellaneous:

    +

    clear, echo, if, +include, jump, label, +log, next, print, +shell, variable

    +
    +
    +
    +

    3.5. Individual commands¶

    +

    This section lists all LAMMPS commands alphabetically, with a separate +listing below of styles within certain commands. The previous section lists the same commands, grouped by category. Note that some style options for some commands are part of specific LAMMPS packages, which means they cannot be used unless the package was included when LAMMPS was built. Not all packages are included in a default LAMMPS build. These dependencies are listed as Restrictions -in the command's documentation. -

    -
    - - - - - - - - - - - - - - - -
    angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
    bond_styleboundaryboxchange_boxclearcomm_modify
    comm_stylecomputecompute_modifycreate_atomscreate_bondscreate_box
    delete_atomsdelete_bondsdielectricdihedral_coeffdihedral_styledimension
    displace_atomsdumpdump imagedump_modifydump movieecho
    fixfix_modifygroupifinfoimproper_coeff
    improper_styleincludejumpkspace_modifykspace_stylelabel
    latticelogmassminimizemin_modifymin_style
    moleculenebneigh_modifyneighbornewtonnext
    packagepair_coeffpair_modifypair_stylepair_writepartition
    prdprintprocessorspythonquitread_data
    read_dumpread_restartregionreplicatererunreset_timestep
    restartrunrun_stylesetshellspecial_bonds
    suffixtadtemperthermothermo_modifythermo_style
    timestepuncomputeundumpunfixunitsvariable
    velocitywrite_datawrite_dumpwrite_restart -
    - -

    These are additional commands in USER packages, which can be used if -LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Fix styles -

    -

    See the fix command for one-line descriptions of each style +in the command’s documentation.

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
    bond_styleboundaryboxchange_boxclearcomm_modify
    comm_stylecomputecompute_modifycreate_atomscreate_bondscreate_box
    delete_atomsdelete_bondsdielectricdihedral_coeffdihedral_styledimension
    displace_atomsdumpdump imagedump_modifydump movieecho
    fixfix_modifygroupifinfoimproper_coeff
    improper_styleincludejumpkspace_modifykspace_stylelabel
    latticelogmassminimizemin_modifymin_style
    moleculenebneigh_modifyneighbornewtonnext
    packagepair_coeffpair_modifypair_stylepair_writepartition
    prdprintprocessorspythonquitread_data
    read_dumpread_restartregionreplicatererunreset_timestep
    restartrunrun_stylesetshellspecial_bonds
    suffixtadtemperthermothermo_modifythermo_style
    timestepuncomputeundumpunfixunitsvariable
    velocitywrite_datawrite_dumpwrite_restart  
    +

    These are additional commands in USER packages, which can be used if +LAMMPS is built with the appropriate package.

    + +++ + + + + +
    group2ndx
    +
    +
    +
    +

    3.6. Fix styles¶

    +

    See the fix command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built -with the appropriate accelerated package. +with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, -g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. -

    -
    - - - - - - - - - - - - - - -
    adaptaddforce (c)append/atomsatom/swapaveforce (c)ave/atomave/chunkave/correlate
    ave/histoave/histo/weightave/spatialave/timebalancebond/breakbond/createbond/swap
    box/relaxdeformdepositdragdt/resetefieldenforce2d (c)evaporate
    externalfreeze (c)gcmcgldgravity (co)heatindentlangevin (k)
    lineforcemomentummovemsstnebnph (o)nphug (o)nph/asphere (o)
    nph/sphere (o)npt (co)npt/asphere (o)npt/sphere (o)nve (cko)nve/aspherenve/asphere/noforcenve/body
    nve/limitnve/linenve/noforcenve/sphere (o)nve/trinvt (co)nvt/asphere (o)nvt/sllod (o)
    nvt/sphere (o)onewayorient/fccplaneforcepoemspourpress/berendsenprint
    property/atomqeq/comb (o)qeq/dynamicqeq/pointqeq/shieldedqeq/slaterreax/bondsrecenter
    restrainrigid (o)rigid/nph (o)rigid/npt (o)rigid/nve (o)rigid/nvt (o)rigid/small (o)rigid/small/nph
    rigid/small/nptrigid/small/nverigid/small/nvtsetforce (c)shake (c)springspring/rgspring/self
    srdstore/forcestore/statetemp/berendsen (c)temp/csldtemp/csvrtemp/rescale (c)tfmc
    thermal/conductivitytmdttmtune/kspacevectorviscosityviscous (c)wall/colloid
    wall/granwall/harmonicwall/lj1043wall/lj126wall/lj93wall/pistonwall/reflectwall/region
    wall/srd -
    - -

    These are additional fix styles in USER packages, which can be used if -LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Compute styles -

    -

    See the compute command for one-line descriptions of +g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.

    + ++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    adaptaddforce (c)append/atomsatom/swapaveforce (c)ave/atomave/chunkave/correlate
    ave/histoave/histo/weightave/spatialave/timebalancebond/breakbond/createbond/swap
    box/relaxdeformdepositdragdt/resetefieldenforce2d (c)evaporate
    externalfreeze (c)gcmcgldgravity (co)heatindentlangevin (k)
    lineforcemomentummovemsstnebnph (o)nphug (o)nph/asphere (o)
    nph/sphere (o)npt (co)npt/asphere (o)npt/sphere (o)nve (cko)nve/aspherenve/asphere/noforcenve/body
    nve/limitnve/linenve/noforcenve/sphere (o)nve/trinvt (co)nvt/asphere (o)nvt/sllod (o)
    nvt/sphere (o)onewayorient/fccplaneforcepoemspourpress/berendsenprint
    property/atomqeq/comb (o)qeq/dynamicqeq/pointqeq/shieldedqeq/slaterreax/bondsrecenter
    restrainrigid (o)rigid/nph (o)rigid/npt (o)rigid/nve (o)rigid/nvt (o)rigid/small (o)rigid/small/nph
    rigid/small/nptrigid/small/nverigid/small/nvtsetforce (c)shake (c)springspring/rgspring/self
    srdstore/forcestore/statetemp/berendsen (c)temp/csldtemp/csvrtemp/rescale (c)tfmc
    thermal/conductivitytmdttmtune/kspacevectorviscosityviscous (c)wall/colloid
    wall/granwall/harmonicwall/lj1043wall/lj126wall/lj93wall/pistonwall/reflectwall/region
    wall/srd       
    +

    These are additional fix styles in USER packages, which can be used if +LAMMPS is built with the appropriate package.

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    adapt/fepaddtorqueatcave/spatial/spheredrudedrude/transform/direct
    drude/transform/reversecolvarsgleimdipilangevin/drude
    langevin/efflb/fluidlb/momentumlb/pclb/rigid/pc/spherelb/viscous
    mesomeso/stationarynph/effnpt/effnve/effnvt/eff
    nvt/sllod/effphononpimdqbmsstqeq/reaxqmmm
    qtbreax/c/bondsreax/c/speciessaed/vtksmdtemp/rescale/eff
    ti/rsti/springttm/mod   
    +
    +
    +
    +

    3.7. Compute styles¶

    +

    See the compute command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated -package. This is indicated by additional +is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - - -

    These are additional compute styles in USER packages, which can be -used if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Pair_style potentials -

    -

    See the pair_style command for an overview of pair +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    angle/localangmom/chunkbody/localbond/localcentro/atomchunk/atom
    cluster/atomcna/atomcomcom/chunkcontact/atomcoord/atom
    damage/atomdihedral/localdilatation/atomdisplace/atomerotate/asphereerotate/rigid
    erotate/sphereerotate/sphere/atomevent/displacegroup/groupgyrationgyration/chunk
    heat/fluximproper/localinertia/chunkkeke/atomke/rigid
    msdmsd/chunkmsd/nongaussomega/chunkpairpair/local
    pe (c)pe/atomplasticity/atompressure (c)property/atomproperty/local
    property/chunkrdfreducereduce/regionslicesna/atom
    snad/atomsnav/atomstress/atomtemp (c)temp/aspheretemp/com
    temp/chunktemp/deformtemp/partial (c)temp/profiletemp/ramptemp/region
    temp/spheretitorque/chunkvacfvcm/chunkvoronoi/atom
    +

    These are additional compute styles in USER packages, which can be +used if LAMMPS is built with the appropriate package.

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + +
    ackland/atombasal/atomfepke/effke/atom/effmeso_e/atom
    meso_rho/atommeso_t/atomsaedtemp/drudetemp/efftemp/deform/eff
    temp/region/efftemp/rotatexrd   
    +
    +
    +
    +

    3.8. Pair_style potentials¶

    +

    See the pair_style command for an overview of pair potentials. Click on the style itself for a full description. Many of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated -package. This is indicated by additional +is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    nonehybridhybrid/overlayadp (o)
    airebo (o)beck (go)bodybop
    born (go)born/coul/long (cgo)born/coul/long/csborn/coul/msm (o)
    born/coul/wolf (go)brownian (o)brownian/poly (o)buck (cgko)
    buck/coul/cut (cgko)buck/coul/long (cgko)buck/coul/long/csbuck/coul/msm (o)
    buck/long/coul/long (o)colloid (go)comb (o)comb3
    coul/cut (gko)coul/debye (gko)coul/dsf (gko)coul/long (gko)
    coul/long/cscoul/msmcoul/streitzcoul/wolf (ko)
    dpd (o)dpd/tstat (o)dsmceam (cgkot)
    eam/alloy (cgkot)eam/fs (cgkot)eim (o)gauss (go)
    gayberne (gio)gran/hertz/history (o)gran/hooke (co)gran/hooke/history (o)
    hbond/dreiding/lj (o)hbond/dreiding/morse (o)kimlcbop
    line/lj (o)lj/charmm/coul/charmm (cko)lj/charmm/coul/charmm/implicit (cko)lj/charmm/coul/long (cgiko)
    lj/charmm/coul/msmlj/class2 (cgko)lj/class2/coul/cut (cko)lj/class2/coul/long (cgko)
    lj/cut (cgikot)lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgko)lj/cut/coul/dsf (gko)
    lj/cut/coul/long (cgikot)lj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/long
    lj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (cgko)lj/gromacs (cgko)
    lj/gromacs/coul/gromacs (cko)lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/long
    lj/smooth (co)lj/smooth/linear (o)lj96/cut (cgo)lubricate (o)
    lubricate/poly (o)lubricateUlubricateU/polymeam (o)
    mie/cut (o)morse (cgot)nb3b/harmonic (o)nm/cut (o)
    nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/epsperi/lps (o)
    peri/pmb (o)peri/vespolymorphicreax
    rebo (o)resquared (go)snapsoft (go)
    sw (cgkio)table (gko)tersoff (cko)tersoff/mod (ko)
    tersoff/zbl (ko)tip4p/cut (o)tip4p/long (o)tri/lj (o)
    yukawa (go)yukawa/colloid (go)zbl (o) -
    - -

    These are additional pair styles in USER packages, which can be used -if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Bond_style potentials -

    -

    See the bond_style command for an overview of bond +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    nonehybridhybrid/overlayadp (o)
    airebo (o)beck (go)bodybop
    born (go)born/coul/long (cgo)born/coul/long/csborn/coul/msm (o)
    born/coul/wolf (go)brownian (o)brownian/poly (o)buck (cgko)
    buck/coul/cut (cgko)buck/coul/long (cgko)buck/coul/long/csbuck/coul/msm (o)
    buck/long/coul/long (o)colloid (go)comb (o)comb3
    coul/cut (gko)coul/debye (gko)coul/dsf (gko)coul/long (gko)
    coul/long/cscoul/msmcoul/streitzcoul/wolf (ko)
    dpd (o)dpd/tstat (o)dsmceam (cgkot)
    eam/alloy (cgkot)eam/fs (cgkot)eim (o)gauss (go)
    gayberne (gio)gran/hertz/history (o)gran/hooke (co)gran/hooke/history (o)
    hbond/dreiding/lj (o)hbond/dreiding/morse (o)kimlcbop
    line/lj (o)lj/charmm/coul/charmm (cko)lj/charmm/coul/charmm/implicit (cko)lj/charmm/coul/long (cgiko)
    lj/charmm/coul/msmlj/class2 (cgko)lj/class2/coul/cut (cko)lj/class2/coul/long (cgko)
    lj/cut (cgikot)lj/cut/coul/cut (cgko)lj/cut/coul/debye (cgko)lj/cut/coul/dsf (gko)
    lj/cut/coul/long (cgikot)lj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/long
    lj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (cgko)lj/gromacs (cgko)
    lj/gromacs/coul/gromacs (cko)lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/long
    lj/smooth (co)lj/smooth/linear (o)lj96/cut (cgo)lubricate (o)
    lubricate/poly (o)lubricateUlubricateU/polymeam (o)
    mie/cut (o)morse (cgot)nb3b/harmonic (o)nm/cut (o)
    nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/epsperi/lps (o)
    peri/pmb (o)peri/vespolymorphicreax
    rebo (o)resquared (go)snapsoft (go)
    sw (cgkio)table (gko)tersoff (cko)tersoff/mod (ko)
    tersoff/zbl (ko)tip4p/cut (o)tip4p/long (o)tri/lj (o)
    yukawa (go)yukawa/colloid (go)zbl (o) 
    +

    These are additional pair styles in USER packages, which can be used +if LAMMPS is built with the appropriate package.

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    awpmd/cutcoul/cut/soft (o)coul/diel (o)coul/long/soft (o)
    eam/cd (o)edip (o)eff/cutgauss/cut
    listlj/charmm/coul/long/soft (o)lj/cut/coul/cut/soft (o)lj/cut/coul/long/soft (o)
    lj/cut/dipole/sf (go)lj/cut/soft (o)lj/cut/tip4p/long/soft (o)lj/sdk (gko)
    lj/sdk/coul/long (go)lj/sdk/coul/msm (o)lj/sf (o)meam/spline
    meam/sw/splinequipreax/csph/heatconduction
    sph/idealgassph/ljsph/rhosumsph/taitwater
    sph/taitwater/morrissrptersoff/table (o)thole
    tip4p/long/soft (o)   
    +
    +
    +
    +

    3.9. Bond_style potentials¶

    +

    See the bond_style command for an overview of bond potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated -package. This is indicated by additional +is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - - -

    These are additional bond styles in USER packages, which can be used -if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Angle_style potentials -

    -

    See the angle_style command for an overview of +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + + + + + + +
    nonehybridclass2 (o)fene (ko)
    fene/expand (o)harmonic (ko)morse (o)nonlinear (o)
    quartic (o)table (o)  
    +

    These are additional bond styles in USER packages, which can be used +if LAMMPS is built with the appropriate package.

    + ++++ + + + + + +
    harmonic/shift (o)harmonic/shift/cut (o)
    +
    +
    +
    +

    3.10. Angle_style potentials¶

    +

    See the angle_style command for an overview of angle potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated -package. This is indicated by additional +LAMMPS is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - - -

    These are additional angle styles in USER packages, which can be used -if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Dihedral_style potentials -

    -

    See the dihedral_style command for an overview +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + + + + + + +
    nonehybridcharmm (ko)class2 (o)
    cosine (o)cosine/delta (o)cosine/periodic (o)cosine/squared (o)
    harmonic (ko)table (o)  
    +

    These are additional angle styles in USER packages, which can be used +if LAMMPS is built with the appropriate package.

    + ++++++ + + + + + + + + + + + + +
    cosine/shift (o)cosine/shift/exp (o)dipole (o)fourier (o)
    fourier/simple (o)quartic (o)sdk 
    +
    +
    +
    +

    3.11. Dihedral_style potentials¶

    +

    See the dihedral_style command for an overview of dihedral potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated -package. This is indicated by additional +be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - - -

    These are additional dihedral styles in USER packages, which can be -used if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Improper_style potentials -

    -

    See the improper_style command for an overview +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + +
    nonehybridcharmm (ko)class2 (o)
    harmonic (o)helix (o)multi/harmonic (o)opls (ko)
    +

    These are additional dihedral styles in USER packages, which can be +used if LAMMPS is built with the appropriate package.

    + ++++++ + + + + + + + + + + + + +
    cosine/shift/exp (o)fourier (o)nharmonic (o)quadratic (o)
    table (o)   
    +
    +
    +
    +

    3.12. Improper_style potentials¶

    +

    See the improper_style command for an overview of improper potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated -package. This is indicated by additional +be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - - -

    These are additional improper styles in USER packages, which can be -used if LAMMPS is built with the appropriate -package. -

    - - -
    - -

    Kspace solvers -

    -

    See the kspace_style command for an overview of +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + +
    nonehybridclass2 (o)cvff (o)
    harmonic (ko)umbrella (o)  
    +

    These are additional improper styles in USER packages, which can be +used if LAMMPS is built with the appropriate package.

    + +++++ + + + + + + +
    cossq (o)fourier (o)ring (o)
    +
    +
    +
    +

    3.13. Kspace solvers¶

    +

    See the kspace_style command for an overview of Kspace solvers. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated -package. This is indicated by additional +LAMMPS is built with the appropriate accelerated package. This is indicated by additional letters in parenthesis: c = USER-CUDA, g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. -

    - +KOKKOS, o = USER-OMP, t = OPT.

    + ++++++ + + + + + + + + + + + + + + + + + +
    ewald (o)ewald/dispmsm (o)msm/cg (o)
    pppm (cgo)pppm/cg (o)pppm/disppppm/disp/tip4p
    pppm/tip4p (o)   
    +
    + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_errors.html b/doc/Section_errors.html index 0e72c3dd08..95c0fbd059 100644 --- a/doc/Section_errors.html +++ b/doc/Section_errors.html @@ -1,10632 +1,5982 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 12. Errors — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    12. Errors -

    -

    This section describes the errors you can encounter when using LAMMPS, -either conceptually, or as printed out by the program. -

    -12.1 Common problems
    -12.2 Reporting bugs
    -12.3 Error & warning messages
    - -
    - -
    - -

    12.1 Common problems -

    -

    If two LAMMPS runs do not produce the same answer on different + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    12. Errors¶

    +

    This section describes the errors you can encounter when using LAMMPS, +either conceptually, or as printed out by the program.

    + +
    +

    12.1. Common problems¶

    +

    If two LAMMPS runs do not produce the same answer on different machines or different numbers of processors, this is typically not a bug. In theory you should get identical answers on any number of processors and on any machine. In practice, numerical round-off can cause slight differences and eventual divergence of molecular dynamics phase space trajectories within a few 100s or few 1000s of timesteps. However, the statistical properties of the two runs (e.g. average -energy or temperature) should still be the same. -

    -

    If the velocity command is used to set initial atom +energy or temperature) should still be the same.

    +

    If the velocity command is used to set initial atom velocities, a particular atom can be assigned a different velocity when the problem is run on a different number of processors or on different machines. If this happens, the phase space trajectories of the two simulations will rapidly diverge. See the discussion of the -loop option in the velocity command for details and -options that avoid this issue. -

    -

    Similarly, the create_atoms command generates a +loop option in the velocity command for details and +options that avoid this issue.

    +

    Similarly, the create_atoms command generates a lattice of atoms. For the same physical system, the ordering and numbering of atoms by atom ID may be different depending on the number -of processors. -

    -

    Some commands use random number generators which may be setup to +of processors.

    +

    Some commands use random number generators which may be setup to produce different random number streams on each processor and hence will produce different effects when run on different numbers of -processors. A commonly-used example is the fix -langevin command for thermostatting. -

    -

    A LAMMPS simulation typically has two stages, setup and run. Most +processors. A commonly-used example is the fix langevin command for thermostatting.

    +

    A LAMMPS simulation typically has two stages, setup and run. Most LAMMPS errors are detected at setup time; others like a bond -stretching too far may not occur until the middle of a run. -

    -

    LAMMPS tries to flag errors and print informative error messages so +stretching too far may not occur until the middle of a run.

    +

    LAMMPS tries to flag errors and print informative error messages so you can fix the problem. Of course, LAMMPS cannot figure out your physics or numerical mistakes, like choosing too big a timestep, specifying erroneous force field coefficients, or putting 2 atoms on -top of each other! If you run into errors that LAMMPS doesn't catch +top of each other! If you run into errors that LAMMPS doesn’t catch that you think it should flag, please send an email to the -developers. -

    -

    If you get an error message about an invalid command in your input +developers.

    +

    If you get an error message about an invalid command in your input script, you can determine what command is causing the problem by -looking in the log.lammps file or using the echo command -to see it on the screen. If you get an error like "Invalid ... -style", with ... being fix, compute, pair, etc, it means that you +looking in the log.lammps file or using the echo command +to see it on the screen. If you get an error like “Invalid ... +style”, with ... being fix, compute, pair, etc, it means that you mistyped the style name or that the command is part of an optional package which was not compiled into your executable. The list of -available styles in your executable can be listed by using the -h -command-line argument. The installation -and compilation of optional packages is explained in the installation -instructions. -

    -

    For a given command, LAMMPS expects certain arguments in a specified +available styles in your executable can be listed by using the -h command-line argument. The installation +and compilation of optional packages is explained in the installation instructions.

    +

    For a given command, LAMMPS expects certain arguments in a specified order. If you mess this up, LAMMPS will often flag the error, but it may also simply read a bogus argument and assign a value that is -valid, but not what you wanted. E.g. trying to read the string "abc" +valid, but not what you wanted. E.g. trying to read the string “abc” as an integer value of 0. Careful reading of the associated doc page for the command should allow you to fix these problems. Note that some commands allow for variables to be specified in place of numeric constants so that the value can be evaluated and change over the -course of a run. This is typically done with the syntax v_name for +course of a run. This is typically done with the syntax v_name for a parameter, where name is the name of the variable. This is only -allowed if the command documentation says it is. -

    -

    Generally, LAMMPS will print a message to the screen and logfile and +allowed if the command documentation says it is.

    +

    Generally, LAMMPS will print a message to the screen and logfile and exit gracefully when it encounters a fatal error. Sometimes it will print a WARNING to the screen and logfile and continue on; you can decide if the WARNING is important or not. A WARNING message that is generated in the middle of a run is only printed to the screen, not to the logfile, to avoid cluttering up thermodynamic output. If LAMMPS crashes or hangs without spitting out an error message first then it -could be a bug (see this section) or one of the following -cases: -

    -

    LAMMPS runs in the available memory a processor allows to be +could be a bug (see this section) or one of the following +cases:

    +

    LAMMPS runs in the available memory a processor allows to be allocated. Most reasonable MD runs are compute limited, not memory -limited, so this shouldn't be a bottleneck on most platforms. Almost -all large memory allocations in the code are done via C-style malloc's +limited, so this shouldn’t be a bottleneck on most platforms. Almost +all large memory allocations in the code are done via C-style malloc’s which will generate an error message if you run out of memory. -Smaller chunks of memory are allocated via C++ "new" statements. If +Smaller chunks of memory are allocated via C++ “new” statements. If you are unlucky you could run out of memory just when one of these small requests is made, in which case the code will crash or hang (in -parallel), since LAMMPS doesn't trap on those errors. -

    -

    Illegal arithmetic can cause LAMMPS to run slow or crash. This is +parallel), since LAMMPS doesn’t trap on those errors.

    +

    Illegal arithmetic can cause LAMMPS to run slow or crash. This is typically due to invalid physics and numerics that your simulation is computing. If you see wild thermodynamic values or NaN values in your LAMMPS output, something is wrong with your simulation. If you suspect this is happening, it is a good idea to print out thermodynamic info frequently (e.g. every timestep) via the -thermo so you can monitor what is happening. +thermo so you can monitor what is happening. Visualizing the atom movement is also a good idea to insure your model -is behaving as you expect. -

    -

    In parallel, one way LAMMPS can hang is due to how different MPI +is behaving as you expect.

    +

    In parallel, one way LAMMPS can hang is due to how different MPI implementations handle buffering of messages. If the code hangs without an error message, it may be that you need to specify an MPI setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered. -

    -
    - -

    12.2 Reporting bugs -

    -

    If you are confident that you have found a bug in LAMMPS, follow these -steps. -

    -

    Check the New features and bug -fixes section of the LAMMPS WWW -site to see if the bug has already been reported or fixed or the -Unfixed bug to see if a fix is -pending. -

    -

    Check the mailing list -to see if it has been discussed before. -

    -

    If not, send an email to the mailing list describing the problem with +buffering or boost the sizes of messages that can be buffered.

    +
    +
    +
    +

    12.2. Reporting bugs¶

    +

    If you are confident that you have found a bug in LAMMPS, follow these +steps.

    +

    Check the New features and bug fixes section of the LAMMPS WWW site to see if the bug has already been reported or fixed or the +Unfixed bug to see if a fix is +pending.

    +

    Check the mailing list +to see if it has been discussed before.

    +

    If not, send an email to the mailing list describing the problem with any ideas you have as to what is causing it or where in the code the problem might be. The developers will ask for more info if needed, -such as an input script or data files. -

    -

    The most useful thing you can do to help us fix the bug is to isolate +such as an input script or data files.

    +

    The most useful thing you can do to help us fix the bug is to isolate the problem. Run it on the smallest number of atoms and fewest number of processors and with the simplest input script that reproduces the bug and try to identify what command or combination of commands is -causing the problem. -

    -

    As a last resort, you can send an email directly to the -developers. -

    -
    - -

    12.3 Error & warning messages -

    -

    These are two alphabetic lists of the ERROR and -WARNING messages LAMMPS prints out and the reason why. If the +causing the problem.

    +

    As a last resort, you can send an email directly to the +developers.

    +
    +
    +
    +

    12.3. Error & warning messages¶

    +

    These are two alphabetic lists of the ERROR and +WARNING messages LAMMPS prints out and the reason why. If the explanation here is not sufficient, the documentation for the -offending command may help. +offending command may help. Error and warning messages also list the source file and line number -where the error was generated. For example, this message -

    -

    ERROR: Illegal velocity command (velocity.cpp:78) -

    -

    means that line #78 in the file src/velocity.cpp generated the error. -Looking in the source code may help you figure out what went wrong. -

    -

    Note that error messages from user-contributed -packages are not listed here. If such an -error occurs and is not self-explanatory, you'll need to look in the -source code or contact the author of the package. -

    -

    Errors: -

    -
    - -
    1-3 bond count is inconsistent - -
    An inconsistency was detected when computing the number of 1-3 +where the error was generated. For example, this message

    +

    ERROR: Illegal velocity command (velocity.cpp:78)

    +

    means that line #78 in the file src/velocity.cpp generated the error. +Looking in the source code may help you figure out what went wrong.

    +

    Note that error messages from user-contributed packages are not listed here. If such an +error occurs and is not self-explanatory, you’ll need to look in the +source code or contact the author of the package.

    +
    +
    +

    12.4. Errors:¶

    +
    +
    1-3 bond count is inconsistent
    +
    An inconsistency was detected when computing the number of 1-3 neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined. - -
    1-4 bond count is inconsistent - -
    An inconsistency was detected when computing the number of 1-4 +the bond topologies you have defined.
    +
    1-4 bond count is inconsistent
    +
    An inconsistency was detected when computing the number of 1-4 neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined. - -
    Accelerator sharing is not currently supported on system - -
    Multiple MPI processes cannot share the accelerator on your +the bond topologies you have defined.
    +
    Accelerator sharing is not currently supported on system
    +
    Multiple MPI processes cannot share the accelerator on your system. For NVIDIA GPUs, see the nvidia-smi command to change this -setting. - -
    All angle coeffs are not set - -
    All angle coefficients must be set in the data file or by the -angle_coeff command before running a simulation. - -
    All atoms of a swapped type must have the same charge. - -
    Self-explanatory. - -
    All bond coeffs are not set - -
    All bond coefficients must be set in the data file or by the -bond_coeff command before running a simulation. - -
    All dihedral coeffs are not set - -
    All dihedral coefficients must be set in the data file or by the -dihedral_coeff command before running a simulation. - -
    All improper coeffs are not set - -
    All improper coefficients must be set in the data file or by the -improper_coeff command before running a simulation. - -
    All masses are not set - -
    For atom styles that define masses for each atom type, all masses must +setting.
    +
    All angle coeffs are not set
    +
    All angle coefficients must be set in the data file or by the +angle_coeff command before running a simulation.
    +
    All atoms of a swapped type must have the same charge.
    +
    Self-explanatory.
    +
    All bond coeffs are not set
    +
    All bond coefficients must be set in the data file or by the +bond_coeff command before running a simulation.
    +
    All dihedral coeffs are not set
    +
    All dihedral coefficients must be set in the data file or by the +dihedral_coeff command before running a simulation.
    +
    All improper coeffs are not set
    +
    All improper coefficients must be set in the data file or by the +improper_coeff command before running a simulation.
    +
    All masses are not set
    +
    For atom styles that define masses for each atom type, all masses must be set in the data file or by the mass command before running a simulation. They must also be set before using the velocity -command. - -
    All mol IDs should be set for fix gcmc group atoms - -
    The molecule flag is on, yet not all molecule ids in the fix group +command.
    +
    All mol IDs should be set for fix gcmc group atoms
    +
    The molecule flag is on, yet not all molecule ids in the fix group have been set to non-zero positive values by the user. This is an error since all atoms in the fix gcmc group are eligible for deletion, -rotation, and translation and therefore must have valid molecule ids. - -
    All pair coeffs are not set - -
    All pair coefficients must be set in the data file or by the -pair_coeff command before running a simulation. - -
    All read_dump x,y,z fields must be specified for scaled, triclinic coords - -
    For triclinic boxes and scaled coordinates you must specify all 3 of +rotation, and translation and therefore must have valid molecule ids.
    +
    All pair coeffs are not set
    +
    All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation.
    +
    All read_dump x,y,z fields must be specified for scaled, triclinic coords
    +
    For triclinic boxes and scaled coordinates you must specify all 3 of the x,y,z fields, else LAMMPS cannot reconstruct the unscaled -coordinates. - -
    All universe/uloop variables must have same # of values - -
    Self-explanatory. - -
    All variables in next command must be same style - -
    Self-explanatory. - -
    Angle atom missing in delete_bonds - -
    The delete_bonds command cannot find one or more atoms in a particular +coordinates.
    +
    All universe/uloop variables must have same # of values
    +
    Self-explanatory.
    +
    All variables in next command must be same style
    +
    Self-explanatory.
    +
    Angle atom missing in delete_bonds
    +
    The delete_bonds command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid angle. - -
    Angle atom missing in set command - -
    The set command cannot find one or more atoms in a particular angle on +the atoms are too far apart to make a valid angle.
    +
    Angle atom missing in set command
    +
    The set command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid angle. - -
    Angle atoms %d %d %d missing on proc %d at step %ld - -
    One or more of 3 atoms needed to compute a particular angle are +are too far apart to make a valid angle.
    +
    Angle atoms %d %d %d missing on proc %d at step %ld
    +
    One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away. - -
    Angle atoms missing on proc %d at step %ld - -
    One or more of 3 atoms needed to compute a particular angle are +too far away.
    +
    Angle atoms missing on proc %d at step %ld
    +
    One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away. - -
    Angle coeff for hybrid has invalid style - -
    Angle style hybrid uses another angle style as one of its +too far away.
    +
    Angle coeff for hybrid has invalid style
    +
    Angle style hybrid uses another angle style as one of its coefficients. The angle style used in the angle_coeff command or read -from a restart file is not recognized. - -
    Angle coeffs are not set - -
    No angle coefficients have been assigned in the data file or via the -angle_coeff command. - -
    Angle extent > half of periodic box length - -
    This error was detected by the neigh_modify check yes setting. It is +from a restart file is not recognized.
    +
    Angle coeffs are not set
    +
    No angle coefficients have been assigned in the data file or via the +angle_coeff command.
    +
    Angle extent > half of periodic box length
    +
    This error was detected by the neigh_modify check yes setting. It is an error because the angle atoms are so far apart it is ambiguous how -it should be defined. - -
    Angle potential must be defined for SHAKE - -
    When shaking angles, an angle_style potential must be used. - -
    Angle style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Angle style hybrid cannot have none as an argument - -
    Self-explanatory. - -
    Angle style hybrid cannot use same angle style twice - -
    Self-explanatory. - -
    Angle table must range from 0 to 180 degrees - -
    Self-explanatory. - -
    Angle table parameters did not set N - -
    List of angle table parameters must include N setting. - -
    Angle_coeff command before angle_style is defined - -
    Coefficients cannot be set in the data file or via the angle_coeff -command until an angle_style has been assigned. - -
    Angle_coeff command before simulation box is defined - -
    The angle_coeff command cannot be used before a read_data, -read_restart, or create_box command. - -
    Angle_coeff command when no angles allowed - -
    The chosen atom style does not allow for angles to be defined. - -
    Angle_style command when no angles allowed - -
    The chosen atom style does not allow for angles to be defined. - -
    Angles assigned incorrectly - -
    Angles read in from the data file were not assigned correctly to +it should be defined.
    +
    Angle potential must be defined for SHAKE
    +
    When shaking angles, an angle_style potential must be used.
    +
    Angle style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Angle style hybrid cannot have none as an argument
    +
    Self-explanatory.
    +
    Angle style hybrid cannot use same angle style twice
    +
    Self-explanatory.
    +
    Angle table must range from 0 to 180 degrees
    +
    Self-explanatory.
    +
    Angle table parameters did not set N
    +
    List of angle table parameters must include N setting.
    +
    Angle_coeff command before angle_style is defined
    +
    Coefficients cannot be set in the data file or via the angle_coeff +command until an angle_style has been assigned.
    +
    Angle_coeff command before simulation box is defined
    +
    The angle_coeff command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Angle_coeff command when no angles allowed
    +
    The chosen atom style does not allow for angles to be defined.
    +
    Angle_style command when no angles allowed
    +
    The chosen atom style does not allow for angles to be defined.
    +
    Angles assigned incorrectly
    +
    Angles read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions. - -
    Angles defined but no angle types - -
    The data file header lists angles but no angle types. - -
    Append boundary must be shrink/minimum - -
    The boundary style of the face where atoms are added -must be of type m (shrink/minimum). - -
    Arccos of invalid value in variable formula - -
    Argument of arccos() must be between -1 and 1. - -
    Arcsin of invalid value in variable formula - -
    Argument of arcsin() must be between -1 and 1. - -
    Assigning body parameters to non-body atom - -
    Self-explanatory. - -
    Assigning ellipsoid parameters to non-ellipsoid atom - -
    Self-explanatory. - -
    Assigning line parameters to non-line atom - -
    Self-explanatory. - -
    Assigning tri parameters to non-tri atom - -
    Self-explanatory. - -
    Atom ID is negative - -
    Self-explanatory. - -
    Atom ID is too big - -
    The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL +definitions.
    +
    Angles defined but no angle types
    +
    The data file header lists angles but no angle types.
    +
    Append boundary must be shrink/minimum
    +
    The boundary style of the face where atoms are added +must be of type m (shrink/minimum).
    +
    Arccos of invalid value in variable formula
    +
    Argument of arccos() must be between -1 and 1.
    +
    Arcsin of invalid value in variable formula
    +
    Argument of arcsin() must be between -1 and 1.
    +
    Assigning body parameters to non-body atom
    +
    Self-explanatory.
    +
    Assigning ellipsoid parameters to non-ellipsoid atom
    +
    Self-explanatory.
    +
    Assigning line parameters to non-line atom
    +
    Self-explanatory.
    +
    Assigning tri parameters to non-tri atom
    +
    Self-explanatory.
    +
    Atom ID is negative
    +
    Self-explanatory.
    +
    Atom ID is too big
    +
    The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL setting in your Makefile. See Section_start 2.2 of the manual for -more details. - -
    Atom ID is zero - -
    Either all atoms IDs must be zero or none of them. - -
    Atom IDs must be consecutive for velocity create loop all - -
    Self-explanatory. - -
    Atom IDs must be used for molecular systems - -
    Atom IDs are used to identify and find partner atoms in bonds. - -
    Atom count changed in fix neb - -
    This is not allowed in a NEB calculation. - -
    Atom count is inconsistent, cannot write data file - -
    The sum of atoms across processors does not equal the global number -of atoms. Probably some atoms have been lost. - -
    Atom count is inconsistent, cannot write restart file - -
    Sum of atoms across processors does not equal initial total count. -This is probably because you have lost some atoms. - -
    Atom in too many rigid bodies - boost MAXBODY - -
    Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines +more details.
    +
    Atom ID is zero
    +
    Either all atoms IDs must be zero or none of them.
    +
    Atom IDs must be consecutive for velocity create loop all
    +
    Self-explanatory.
    +
    Atom IDs must be used for molecular systems
    +
    Atom IDs are used to identify and find partner atoms in bonds.
    +
    Atom count changed in fix neb
    +
    This is not allowed in a NEB calculation.
    +
    Atom count is inconsistent, cannot write data file
    +
    The sum of atoms across processors does not equal the global number +of atoms. Probably some atoms have been lost.
    +
    Atom count is inconsistent, cannot write restart file
    +
    Sum of atoms across processors does not equal initial total count. +This is probably because you have lost some atoms.
    +
    Atom in too many rigid bodies - boost MAXBODY
    +
    Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines the maximum number of rigid bodies a single atom can belong to (i.e. a -multibody joint). The bodies you have defined exceed this limit. - -
    Atom sort did not operate correctly - -
    This is an internal LAMMPS error. Please report it to the -developers. - -
    Atom sorting has bin size = 0.0 - -
    The neighbor cutoff is being used as the bin size, but it is zero. +multibody joint). The bodies you have defined exceed this limit.
    +
    Atom sort did not operate correctly
    +
    This is an internal LAMMPS error. Please report it to the +developers.
    +
    Atom sorting has bin size = 0.0
    +
    The neighbor cutoff is being used as the bin size, but it is zero. Thus you must explicitly list a bin size in the atom_modify sort -command or turn off sorting. - -
    Atom style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Atom style hybrid cannot use same atom style twice - -
    Self-explanatory. - -
    Atom style template molecule must have atom types - -
    The defined molecule(s) does not specify atom types. - -
    Atom style was redefined after using fix property/atom - -
    This is not allowed. - -
    Atom vector in equal-style variable formula - -
    Atom vectors generate one value per atom which is not allowed -in an equal-style variable. - -
    Atom-style variable in equal-style variable formula - -
    Atom-style variables generate one value per atom which is not allowed -in an equal-style variable. - -
    Atom_modify id command after simulation box is defined - -
    The atom_modify id command cannot be used after a read_data, -read_restart, or create_box command. - -
    Atom_modify map command after simulation box is defined - -
    The atom_modify map command cannot be used after a read_data, -read_restart, or create_box command. - -
    Atom_modify sort and first options cannot be used together - -
    Self-explanatory. - -
    Atom_style command after simulation box is defined - -
    The atom_style command cannot be used after a read_data, -read_restart, or create_box command. - -
    Atom_style line can only be used in 2d simulations - -
    Self-explanatory. - -
    Atom_style tri can only be used in 3d simulations - -
    Self-explanatory. - -
    Atomfile variable could not read values - -
    Check the file assigned to the variable. - -
    Atomfile variable in equal-style variable formula - -
    Self-explanatory. - -
    Atomfile-style variable in equal-style variable formula - -
    Self-explanatory. - -
    Attempt to pop empty stack in fix box/relax - -
    Internal LAMMPS error. Please report it to the developers. - -
    Attempt to push beyond stack limit in fix box/relax - -
    Internal LAMMPS error. Please report it to the developers. - -
    Attempting to rescale a 0.0 temperature - -
    Cannot rescale a temperature that is already 0.0. - -
    Bad FENE bond - -
    Two atoms in a FENE bond have become so far apart that the bond cannot -be computed. - -
    Bad TIP4P angle type for PPPM/TIP4P - -
    Specified angle type is not valid. - -
    Bad TIP4P angle type for PPPMDisp/TIP4P - -
    Specified angle type is not valid. - -
    Bad TIP4P bond type for PPPM/TIP4P - -
    Specified bond type is not valid. - -
    Bad TIP4P bond type for PPPMDisp/TIP4P - -
    Specified bond type is not valid. - -
    Bad fix ID in fix append/atoms command - -
    The value of the fix_id for keyword spatial must start with the suffix -f_. - -
    Bad grid of processors - -
    The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on. - -
    Bad kspace_modify kmax/ewald parameter - -
    Kspace_modify values for the kmax/ewald keyword must be integers > 0 - -
    Bad kspace_modify slab parameter - -
    Kspace_modify value for the slab/volume keyword must be >= 2.0. - -
    Bad matrix inversion in mldivide3 - -
    This error should not occur unless the matrix is badly formed. - -
    Bad principal moments - -
    Fix rigid did not compute the principal moments of inertia of a rigid -group of atoms correctly. - -
    Bad quadratic solve for particle/line collision - -
    This is an internal error. It should nornally not occur. - -
    Bad quadratic solve for particle/tri collision - -
    This is an internal error. It should nornally not occur. - -
    Bad real space Coulomb cutoff in fix tune/kspace - -
    Fix tune/kspace tried to find the optimal real space Coulomb cutoff using -the Newton-Rhaphson method, but found a non-positive or NaN cutoff - -
    Balance command before simulation box is defined - -
    The balance command cannot be used before a read_data, read_restart, -or create_box command. - -
    Balance produced bad splits - -
    This should not occur. It means two or more cutting plane locations +command or turn off sorting.
    +
    Atom style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Atom style hybrid cannot use same atom style twice
    +
    Self-explanatory.
    +
    Atom style template molecule must have atom types
    +
    The defined molecule(s) does not specify atom types.
    +
    Atom style was redefined after using fix property/atom
    +
    This is not allowed.
    +
    Atom vector in equal-style variable formula
    +
    Atom vectors generate one value per atom which is not allowed +in an equal-style variable.
    +
    Atom-style variable in equal-style variable formula
    +
    Atom-style variables generate one value per atom which is not allowed +in an equal-style variable.
    +
    Atom_modify id command after simulation box is defined
    +
    The atom_modify id command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Atom_modify map command after simulation box is defined
    +
    The atom_modify map command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Atom_modify sort and first options cannot be used together
    +
    Self-explanatory.
    +
    Atom_style command after simulation box is defined
    +
    The atom_style command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Atom_style line can only be used in 2d simulations
    +
    Self-explanatory.
    +
    Atom_style tri can only be used in 3d simulations
    +
    Self-explanatory.
    +
    Atomfile variable could not read values
    +
    Check the file assigned to the variable.
    +
    Atomfile variable in equal-style variable formula
    +
    Self-explanatory.
    +
    Atomfile-style variable in equal-style variable formula
    +
    Self-explanatory.
    +
    Attempt to pop empty stack in fix box/relax
    +
    Internal LAMMPS error. Please report it to the developers.
    +
    Attempt to push beyond stack limit in fix box/relax
    +
    Internal LAMMPS error. Please report it to the developers.
    +
    Attempting to rescale a 0.0 temperature
    +
    Cannot rescale a temperature that is already 0.0.
    +
    Bad FENE bond
    +
    Two atoms in a FENE bond have become so far apart that the bond cannot +be computed.
    +
    Bad TIP4P angle type for PPPM/TIP4P
    +
    Specified angle type is not valid.
    +
    Bad TIP4P angle type for PPPMDisp/TIP4P
    +
    Specified angle type is not valid.
    +
    Bad TIP4P bond type for PPPM/TIP4P
    +
    Specified bond type is not valid.
    +
    Bad TIP4P bond type for PPPMDisp/TIP4P
    +
    Specified bond type is not valid.
    +
    Bad fix ID in fix append/atoms command
    +
    The value of the fix_id for keyword spatial must start with the suffix +f_.
    +
    Bad grid of processors
    +
    The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on.
    +
    Bad kspace_modify kmax/ewald parameter
    +
    Kspace_modify values for the kmax/ewald keyword must be integers > 0
    +
    Bad kspace_modify slab parameter
    +
    Kspace_modify value for the slab/volume keyword must be >= 2.0.
    +
    Bad matrix inversion in mldivide3
    +
    This error should not occur unless the matrix is badly formed.
    +
    Bad principal moments
    +
    Fix rigid did not compute the principal moments of inertia of a rigid +group of atoms correctly.
    +
    Bad quadratic solve for particle/line collision
    +
    This is an internal error. It should nornally not occur.
    +
    Bad quadratic solve for particle/tri collision
    +
    This is an internal error. It should nornally not occur.
    +
    Bad real space Coulomb cutoff in fix tune/kspace
    +
    Fix tune/kspace tried to find the optimal real space Coulomb cutoff using +the Newton-Rhaphson method, but found a non-positive or NaN cutoff
    +
    Balance command before simulation box is defined
    +
    The balance command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Balance produced bad splits
    +
    This should not occur. It means two or more cutting plane locations are on top of each other or out of order. Report the problem to the -developers. - -
    Balance rcb cannot be used with comm_style brick - -
    Comm_style tiled must be used instead. - -
    Balance shift string is invalid - -
    The string can only contain the characters "x", "y", or "z". - -
    Bias compute does not calculate a velocity bias - -
    The specified compute must compute a bias for temperature. - -
    Bias compute does not calculate temperature - -
    The specified compute must compute temperature. - -
    Bias compute group does not match compute group - -
    The specified compute must operate on the same group as the parent -compute. - -
    Big particle in fix srd cannot be point particle - -
    Big particles must be extended spheriods or ellipsoids. - -
    Bigint setting in lmptype.h is invalid - -
    Size of bigint is less than size of tagint. - -
    Bigint setting in lmptype.h is not compatible - -
    Format of bigint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h - -
    Bitmapped lookup tables require int/float be same size - -
    Cannot use pair tables on this machine, because of word sizes. Use -the pair_modify command with table 0 instead. - -
    Bitmapped table in file does not match requested table - -
    Setting for bitmapped table in pair_coeff command must match table -in file exactly. - -
    Bitmapped table is incorrect length in table file - -
    Number of table entries is not a correct power of 2. - -
    Bond and angle potentials must be defined for TIP4P - -
    Cannot use TIP4P pair potential unless bond and angle potentials -are defined. - -
    Bond atom missing in box size check - -
    The 2nd atoms needed to compute a particular bond is missing on this +developers.
    +
    Balance rcb cannot be used with comm_style brick
    +
    Comm_style tiled must be used instead.
    +
    Balance shift string is invalid
    +
    The string can only contain the characters “x”, “y”, or “z”.
    +
    Bias compute does not calculate a velocity bias
    +
    The specified compute must compute a bias for temperature.
    +
    Bias compute does not calculate temperature
    +
    The specified compute must compute temperature.
    +
    Bias compute group does not match compute group
    +
    The specified compute must operate on the same group as the parent +compute.
    +
    Big particle in fix srd cannot be point particle
    +
    Big particles must be extended spheriods or ellipsoids.
    +
    Bigint setting in lmptype.h is invalid
    +
    Size of bigint is less than size of tagint.
    +
    Bigint setting in lmptype.h is not compatible
    +
    Format of bigint stored in restart file is not consistent with LAMMPS +version you are running. See the settings in src/lmptype.h
    +
    Bitmapped lookup tables require int/float be same size
    +
    Cannot use pair tables on this machine, because of word sizes. Use +the pair_modify command with table 0 instead.
    +
    Bitmapped table in file does not match requested table
    +
    Setting for bitmapped table in pair_coeff command must match table +in file exactly.
    +
    Bitmapped table is incorrect length in table file
    +
    Number of table entries is not a correct power of 2.
    +
    Bond and angle potentials must be defined for TIP4P
    +
    Cannot use TIP4P pair potential unless bond and angle potentials +are defined.
    +
    Bond atom missing in box size check
    +
    The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. - -
    Bond atom missing in delete_bonds - -
    The delete_bonds command cannot find one or more atoms in a particular +short or the bond has blown apart and an atom is too far away.
    +
    Bond atom missing in delete_bonds
    +
    The delete_bonds command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid bond. - -
    Bond atom missing in image check - -
    The 2nd atom in a particular bond is missing on this processor. +the atoms are too far apart to make a valid bond.
    +
    Bond atom missing in image check
    +
    The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away. - -
    Bond atom missing in set command - -
    The set command cannot find one or more atoms in a particular bond on +bond has blown apart and an atom is too far away.
    +
    Bond atom missing in set command
    +
    The set command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid bond. - -
    Bond atoms %d %d missing on proc %d at step %ld - -
    The 2nd atom needed to compute a particular bond is missing on this +are too far apart to make a valid bond.
    +
    Bond atoms %d %d missing on proc %d at step %ld
    +
    The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. - -
    Bond atoms missing on proc %d at step %ld - -
    The 2nd atom needed to compute a particular bond is missing on this +short or the bond has blown apart and an atom is too far away.
    +
    Bond atoms missing on proc %d at step %ld
    +
    The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. - -
    Bond coeff for hybrid has invalid style - -
    Bond style hybrid uses another bond style as one of its coefficients. +short or the bond has blown apart and an atom is too far away.
    +
    Bond coeff for hybrid has invalid style
    +
    Bond style hybrid uses another bond style as one of its coefficients. The bond style used in the bond_coeff command or read from a restart -file is not recognized. - -
    Bond coeffs are not set - -
    No bond coefficients have been assigned in the data file or via the -bond_coeff command. - -
    Bond extent > half of periodic box length - -
    This error was detected by the neigh_modify check yes setting. It is +file is not recognized.
    +
    Bond coeffs are not set
    +
    No bond coefficients have been assigned in the data file or via the +bond_coeff command.
    +
    Bond extent > half of periodic box length
    +
    This error was detected by the neigh_modify check yes setting. It is an error because the bond atoms are so far apart it is ambiguous how -it should be defined. - -
    Bond potential must be defined for SHAKE - -
    Cannot use fix shake unless bond potential is defined. - -
    Bond style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Bond style hybrid cannot have none as an argument - -
    Self-explanatory. - -
    Bond style hybrid cannot use same bond style twice - -
    Self-explanatory. - -
    Bond style quartic cannot be used with 3,4-body interactions - -
    No angle, dihedral, or improper styles can be defined when using -bond style quartic. - -
    Bond style quartic cannot be used with atom style template - -
    This bond style can change the bond topology which is not -allowed with this atom style. - -
    Bond style quartic requires special_bonds = 1,1,1 - -
    This is a restriction of the current bond quartic implementation. - -
    Bond table parameters did not set N - -
    List of bond table parameters must include N setting. - -
    Bond table values are not increasing - -
    The values in the tabulated file must be monotonically increasing. - -
    BondAngle coeff for hybrid angle has invalid format - -
    No "ba" field should appear in data file entry. - -
    BondBond coeff for hybrid angle has invalid format - -
    No "bb" field should appear in data file entry. - -
    Bond_coeff command before bond_style is defined - -
    Coefficients cannot be set in the data file or via the bond_coeff -command until an bond_style has been assigned. - -
    Bond_coeff command before simulation box is defined - -
    The bond_coeff command cannot be used before a read_data, -read_restart, or create_box command. - -
    Bond_coeff command when no bonds allowed - -
    The chosen atom style does not allow for bonds to be defined. - -
    Bond_style command when no bonds allowed - -
    The chosen atom style does not allow for bonds to be defined. - -
    Bonds assigned incorrectly - -
    Bonds read in from the data file were not assigned correctly to atoms. -This means there is something invalid about the topology definitions. - -
    Bonds defined but no bond types - -
    The data file header lists bonds but no bond types. - -
    Both restart files must use % or neither - -
    Self-explanatory. - -
    Both restart files must use MPI-IO or neither - -
    Self-explanatory. - -
    Both sides of boundary must be periodic - -
    Cannot specify a boundary as periodic only on the lo or hi side. Must -be periodic on both sides. - -
    Boundary command after simulation box is defined - -
    The boundary command cannot be used after a read_data, read_restart, -or create_box command. - -
    Box bounds are invalid - -
    The box boundaries specified in the read_data file are invalid. The -lo value must be less than the hi value for all 3 dimensions. - -
    Box command after simulation box is defined - -
    The box command cannot be used after a read_data, read_restart, or -create_box command. - -
    CPU neighbor lists must be used for ellipsoid/sphere mix. - -
    When using Gay-Berne or RE-squared pair styles with both ellipsoidal and -spherical particles, the neighbor list must be built on the CPU - -
    Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box - -
    Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details. - -
    Can not specify Pxy/Pxz/Pyz in fix nvt/npt/nph with non-triclinic box - -
    Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details. - -
    Can only use -plog with multiple partitions - -
    Self-explanatory. See doc page discussion of command-line switches. - -
    Can only use -pscreen with multiple partitions - -
    Self-explanatory. See doc page discussion of command-line switches. - -
    Can only use NEB with 1-processor replicas - -
    This is current restriction for NEB as implemented in LAMMPS. - -
    Can only use TAD with 1-processor replicas for NEB - -
    This is current restriction for NEB as implemented in LAMMPS. - -
    Cannot (yet) do analytic differentiation with pppm/gpu - -
    This is a current restriction of this command. - -
    Cannot (yet) use 'electron' units with dipoles - -
    This feature is not yet supported. - -
    Cannot (yet) use Ewald with triclinic box and slab correction - -
    This feature is not yet supported. - -
    Cannot (yet) use K-space slab correction with compute group/group for triclinic systems - -
    This option is not yet supported. - -
    Cannot (yet) use MSM with 2d simulation - -
    This feature is not yet supported. - -
    Cannot (yet) use PPPM with triclinic box and TIP4P - -
    This feature is not yet supported. - -
    Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad - -
    This feature is not yet supported. - -
    Cannot (yet) use PPPM with triclinic box and slab correction - -
    This feature is not yet supported. - -
    Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy - -
    This feature is not yet supported. - -
    Cannot (yet) use kspace_modify diff ad with compute group/group - -
    This option is not yet supported. - -
    Cannot (yet) use kspace_style pppm/stagger with triclinic systems - -
    This feature is not yet supported. - -
    Cannot (yet) use molecular templates with Kokkos - -
    Self-explanatory. - -
    Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile) - -
    Single precision cannot be used with MSM. - -
    Cannot add atoms to fix move variable - -
    Atoms can not be added afterwards to this fix option. - -
    Cannot append atoms to a triclinic box - -
    The simulation box must be defined with edges alligned with the -Cartesian axes. - -
    Cannot balance in z dimension for 2d simulation - -
    Self-explanatory. - -
    Cannot change box ortho/triclinic with certain fixes defined - -
    This is because those fixes store the shape of the box. You need to +it should be defined.
    +
    Bond potential must be defined for SHAKE
    +
    Cannot use fix shake unless bond potential is defined.
    +
    Bond style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Bond style hybrid cannot have none as an argument
    +
    Self-explanatory.
    +
    Bond style hybrid cannot use same bond style twice
    +
    Self-explanatory.
    +
    Bond style quartic cannot be used with 3,4-body interactions
    +
    No angle, dihedral, or improper styles can be defined when using +bond style quartic.
    +
    Bond style quartic cannot be used with atom style template
    +
    This bond style can change the bond topology which is not +allowed with this atom style.
    +
    Bond style quartic requires special_bonds = 1,1,1
    +
    This is a restriction of the current bond quartic implementation.
    +
    Bond table parameters did not set N
    +
    List of bond table parameters must include N setting.
    +
    Bond table values are not increasing
    +
    The values in the tabulated file must be monotonically increasing.
    +
    BondAngle coeff for hybrid angle has invalid format
    +
    No “ba” field should appear in data file entry.
    +
    BondBond coeff for hybrid angle has invalid format
    +
    No “bb” field should appear in data file entry.
    +
    Bond_coeff command before bond_style is defined
    +
    Coefficients cannot be set in the data file or via the bond_coeff +command until an bond_style has been assigned.
    +
    Bond_coeff command before simulation box is defined
    +
    The bond_coeff command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Bond_coeff command when no bonds allowed
    +
    The chosen atom style does not allow for bonds to be defined.
    +
    Bond_style command when no bonds allowed
    +
    The chosen atom style does not allow for bonds to be defined.
    +
    Bonds assigned incorrectly
    +
    Bonds read in from the data file were not assigned correctly to atoms. +This means there is something invalid about the topology definitions.
    +
    Bonds defined but no bond types
    +
    The data file header lists bonds but no bond types.
    +
    Both restart files must use % or neither
    +
    Self-explanatory.
    +
    Both restart files must use MPI-IO or neither
    +
    Self-explanatory.
    +
    Both sides of boundary must be periodic
    +
    Cannot specify a boundary as periodic only on the lo or hi side. Must +be periodic on both sides.
    +
    Boundary command after simulation box is defined
    +
    The boundary command cannot be used after a read_data, read_restart, +or create_box command.
    +
    Box bounds are invalid
    +
    The box boundaries specified in the read_data file are invalid. The +lo value must be less than the hi value for all 3 dimensions.
    +
    Box command after simulation box is defined
    +
    The box command cannot be used after a read_data, read_restart, or +create_box command.
    +
    CPU neighbor lists must be used for ellipsoid/sphere mix.
    +
    When using Gay-Berne or RE-squared pair styles with both ellipsoidal and +spherical particles, the neighbor list must be built on the CPU
    +
    Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box
    +
    Only triclinic boxes can be used with off-diagonal pressure components. +See the region prism command for details.
    +
    Can not specify Pxy/Pxz/Pyz in fix nvt/npt/nph with non-triclinic box
    +
    Only triclinic boxes can be used with off-diagonal pressure components. +See the region prism command for details.
    +
    Can only use -plog with multiple partitions
    +
    Self-explanatory. See doc page discussion of command-line switches.
    +
    Can only use -pscreen with multiple partitions
    +
    Self-explanatory. See doc page discussion of command-line switches.
    +
    Can only use NEB with 1-processor replicas
    +
    This is current restriction for NEB as implemented in LAMMPS.
    +
    Can only use TAD with 1-processor replicas for NEB
    +
    This is current restriction for NEB as implemented in LAMMPS.
    +
    Cannot (yet) do analytic differentiation with pppm/gpu
    +
    This is a current restriction of this command.
    +
    Cannot (yet) use ‘electron’ units with dipoles
    +
    This feature is not yet supported.
    +
    Cannot (yet) use Ewald with triclinic box and slab correction
    +
    This feature is not yet supported.
    +
    Cannot (yet) use K-space slab correction with compute group/group for triclinic systems
    +
    This option is not yet supported.
    +
    Cannot (yet) use MSM with 2d simulation
    +
    This feature is not yet supported.
    +
    Cannot (yet) use PPPM with triclinic box and TIP4P
    +
    This feature is not yet supported.
    +
    Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
    +
    This feature is not yet supported.
    +
    Cannot (yet) use PPPM with triclinic box and slab correction
    +
    This feature is not yet supported.
    +
    Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy
    +
    This feature is not yet supported.
    +
    Cannot (yet) use kspace_modify diff ad with compute group/group
    +
    This option is not yet supported.
    +
    Cannot (yet) use kspace_style pppm/stagger with triclinic systems
    +
    This feature is not yet supported.
    +
    Cannot (yet) use molecular templates with Kokkos
    +
    Self-explanatory.
    +
    Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)
    +
    Single precision cannot be used with MSM.
    +
    Cannot add atoms to fix move variable
    +
    Atoms can not be added afterwards to this fix option.
    +
    Cannot append atoms to a triclinic box
    +
    The simulation box must be defined with edges alligned with the +Cartesian axes.
    +
    Cannot balance in z dimension for 2d simulation
    +
    Self-explanatory.
    +
    Cannot change box ortho/triclinic with certain fixes defined
    +
    This is because those fixes store the shape of the box. You need to use unfix to discard the fix, change the box, then redefine a new -fix. - -
    Cannot change box ortho/triclinic with dumps defined - -
    This is because some dumps store the shape of the box. You need to +fix.
    +
    Cannot change box ortho/triclinic with dumps defined
    +
    This is because some dumps store the shape of the box. You need to use undump to discard the dump, change the box, then redefine a new -dump. - -
    Cannot change box tilt factors for orthogonal box - -
    Cannot use tilt factors unless the simulation box is non-orthogonal. - -
    Cannot change box to orthogonal when tilt is non-zero - -
    Self-explanatory. - -
    Cannot change box z boundary to nonperiodic for a 2d simulation - -
    Self-explanatory. - -
    Cannot change dump_modify every for dump dcd - -
    The frequency of writing dump dcd snapshots cannot be changed. - -
    Cannot change dump_modify every for dump xtc - -
    The frequency of writing dump xtc snapshots cannot be changed. - -
    Cannot change timestep once fix srd is setup - -
    This is because various SRD properties depend on the timestep -size. - -
    Cannot change timestep with fix pour - -
    This is because fix pour pre-computes the time delay for particles to -fall out of the insertion volume due to gravity. - -
    Cannot change to comm_style brick from tiled layout - -
    Self-explanatory. - -
    Cannot change_box after reading restart file with per-atom info - -
    This is because the restart file info cannot be migrated with the +dump.
    +
    Cannot change box tilt factors for orthogonal box
    +
    Cannot use tilt factors unless the simulation box is non-orthogonal.
    +
    Cannot change box to orthogonal when tilt is non-zero
    +
    Self-explanatory.
    +
    Cannot change box z boundary to nonperiodic for a 2d simulation
    +
    Self-explanatory.
    +
    Cannot change dump_modify every for dump dcd
    +
    The frequency of writing dump dcd snapshots cannot be changed.
    +
    Cannot change dump_modify every for dump xtc
    +
    The frequency of writing dump xtc snapshots cannot be changed.
    +
    Cannot change timestep once fix srd is setup
    +
    This is because various SRD properties depend on the timestep +size.
    +
    Cannot change timestep with fix pour
    +
    This is because fix pour pre-computes the time delay for particles to +fall out of the insertion volume due to gravity.
    +
    Cannot change to comm_style brick from tiled layout
    +
    Self-explanatory.
    +
    Cannot change_box after reading restart file with per-atom info
    +
    This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms. - -
    Cannot change_box in xz or yz for 2d simulation - -
    Self-explanatory. - -
    Cannot change_box in z dimension for 2d simulation - -
    Self-explanatory. - -
    Cannot clear group all - -
    This operation is not allowed. - -
    Cannot close restart file - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot compute initial g_ewald_disp - -
    LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 +will assign the restart file info to actual atoms.
    +
    Cannot change_box in xz or yz for 2d simulation
    +
    Self-explanatory.
    +
    Cannot change_box in z dimension for 2d simulation
    +
    Self-explanatory.
    +
    Cannot clear group all
    +
    This operation is not allowed.
    +
    Cannot close restart file - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot compute initial g_ewald_disp
    +
    LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 factor that partitions the computation between real space and k-space -for Disptersion interactions. - -
    Cannot create an atom map unless atoms have IDs - -
    The simulation requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs. - -
    Cannot create atoms with undefined lattice - -
    Must use the lattice command before using the create_atoms -command. - -
    Cannot create/grow a vector/array of pointers for %s - -
    LAMMPS code is making an illegal call to the templated memory -allocaters, to create a vector or array of pointers. - -
    Cannot create_atoms after reading restart file with per-atom info - -
    The per-atom info was stored to be used when by a fix that you may +for Disptersion interactions.
    +
    Cannot create an atom map unless atoms have IDs
    +
    The simulation requires a mapping from global atom IDs to local atoms, +but the atoms that have been defined have no IDs.
    +
    Cannot create atoms with undefined lattice
    +
    Must use the lattice command before using the create_atoms +command.
    +
    Cannot create/grow a vector/array of pointers for %s
    +
    LAMMPS code is making an illegal call to the templated memory +allocaters, to create a vector or array of pointers.
    +
    Cannot create_atoms after reading restart file with per-atom info
    +
    The per-atom info was stored to be used when by a fix that you may re-define. If you add atoms before re-defining the fix, then there -will not be a correct amount of per-atom info. - -
    Cannot create_box after simulation box is defined - -
    A simulation box can only be defined once. - -
    Cannot currently use pair reax with pair hybrid - -
    This is not yet supported. - -
    Cannot currently use pppm/gpu with fix balance. - -
    Self-explanatory. - -
    Cannot delete group all - -
    Self-explanatory. - -
    Cannot delete group currently used by a compute - -
    Self-explanatory. - -
    Cannot delete group currently used by a dump - -
    Self-explanatory. - -
    Cannot delete group currently used by a fix - -
    Self-explanatory. - -
    Cannot delete group currently used by atom_modify first - -
    Self-explanatory. - -
    Cannot delete_atoms bond yes for non-molecular systems - -
    Self-explanatory. - -
    Cannot delete_atoms mol yes for non-molecular systems - -
    Self-explanatory. - -
    Cannot displace_atoms after reading restart file with per-atom info - -
    This is because the restart file info cannot be migrated with the +will not be a correct amount of per-atom info.
    +
    Cannot create_box after simulation box is defined
    +
    A simulation box can only be defined once.
    +
    Cannot currently use pair reax with pair hybrid
    +
    This is not yet supported.
    +
    Cannot currently use pppm/gpu with fix balance.
    +
    Self-explanatory.
    +
    Cannot delete group all
    +
    Self-explanatory.
    +
    Cannot delete group currently used by a compute
    +
    Self-explanatory.
    +
    Cannot delete group currently used by a dump
    +
    Self-explanatory.
    +
    Cannot delete group currently used by a fix
    +
    Self-explanatory.
    +
    Cannot delete group currently used by atom_modify first
    +
    Self-explanatory.
    +
    Cannot delete_atoms bond yes for non-molecular systems
    +
    Self-explanatory.
    +
    Cannot delete_atoms mol yes for non-molecular systems
    +
    Self-explanatory.
    +
    Cannot displace_atoms after reading restart file with per-atom info
    +
    This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms. - -
    Cannot do GCMC on atoms in atom_modify first group - -
    This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command. - -
    Cannot do atom/swap on atoms in atom_modify first group - -
    This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command. - -
    Cannot dump sort on atom IDs with no atom IDs defined - -
    Self-explanatory. - -
    Cannot dump sort when multiple dump files are written - -
    In this mode, each processor dumps its atoms to a file, so -no sorting is allowed. - -
    Cannot embed Python when also extending Python with LAMMPS - -
    When running LAMMPS via Python through the LAMMPS library interface -you cannot also user the input script python command. - -
    Cannot evaporate atoms in atom_modify first group - -
    This is a restriction due to the way atoms are organized in -a list to enable the atom_modify first command. - -
    Cannot find create_bonds group ID - -
    Self-explanatory. - -
    Cannot find delete_bonds group ID - -
    Group ID used in the delete_bonds command does not exist. - -
    Cannot find specified group ID for core particles - -
    Self-explanatory. - -
    Cannot find specified group ID for shell particles - -
    Self-explanatory. - -
    Cannot have both pair_modify shift and tail set to yes - -
    These 2 options are contradictory. - -
    Cannot intersect groups using a dynamic group - -
    This operation is not allowed. - -
    Cannot mix molecular and molecule template atom styles - -
    Self-explanatory. - -
    Cannot open -reorder file - -
    Self-explanatory. - -
    Cannot open ADP potential file %s - -
    The specified ADP potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open AIREBO potential file %s - -
    The specified AIREBO potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open BOP potential file %s - -
    The specified BOP potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open COMB potential file %s - -
    The specified COMB potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open COMB3 lib.comb3 file - -
    The COMB3 library file cannot be opened. Check that the path and name -are correct. - -
    Cannot open COMB3 potential file %s - -
    The specified COMB3 potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open EAM potential file %s - -
    The specified EAM potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open EIM potential file %s - -
    The specified EIM potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open LCBOP potential file %s - -
    The specified LCBOP potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open MEAM potential file %s - -
    The specified MEAM potential file cannot be opened. Check that the -path and name are correct. - -
    Cannot open SNAP coefficient file %s - -
    The specified SNAP coefficient file cannot be opened. Check that the -path and name are correct. - -
    Cannot open SNAP parameter file %s - -
    The specified SNAP parameter file cannot be opened. Check that the -path and name are correct. - -
    Cannot open Stillinger-Weber potential file %s - -
    The specified SW potential file cannot be opened. Check that the path -and name are correct. - -
    Cannot open Tersoff potential file %s - -
    The specified potential file cannot be opened. Check that the path -and name are correct. - -
    Cannot open balance output file - -
    Self-explanatory. - -
    Cannot open coul/streitz potential file %s - -
    The specified coul/streitz potential file cannot be opened. Check -that the path and name are correct. - -
    Cannot open custom file - -
    Self-explanatory. - -
    Cannot open data file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open dir to search for restart file - -
    Using a "*" in the name of the restart file will open the current -directory to search for matching file names. - -
    Cannot open dump file - -
    The output file for the dump command cannot be opened. Check that the -path and name are correct. - -
    Cannot open dump file %s - -
    The output file for the dump command cannot be opened. Check that the -path and name are correct. - -
    Cannot open file %s - -
    The specified file cannot be opened. Check that the path and name are +will assign the restart file info to actual atoms.
    +
    Cannot do GCMC on atoms in atom_modify first group
    +
    This is a restriction due to the way atoms are organized in a list to +enable the atom_modify first command.
    +
    Cannot do atom/swap on atoms in atom_modify first group
    +
    This is a restriction due to the way atoms are organized in a list to +enable the atom_modify first command.
    +
    Cannot dump sort on atom IDs with no atom IDs defined
    +
    Self-explanatory.
    +
    Cannot dump sort when multiple dump files are written
    +
    In this mode, each processor dumps its atoms to a file, so +no sorting is allowed.
    +
    Cannot embed Python when also extending Python with LAMMPS
    +
    When running LAMMPS via Python through the LAMMPS library interface +you cannot also user the input script python command.
    +
    Cannot evaporate atoms in atom_modify first group
    +
    This is a restriction due to the way atoms are organized in +a list to enable the atom_modify first command.
    +
    Cannot find create_bonds group ID
    +
    Self-explanatory.
    +
    Cannot find delete_bonds group ID
    +
    Group ID used in the delete_bonds command does not exist.
    +
    Cannot find specified group ID for core particles
    +
    Self-explanatory.
    +
    Cannot find specified group ID for shell particles
    +
    Self-explanatory.
    +
    Cannot have both pair_modify shift and tail set to yes
    +
    These 2 options are contradictory.
    +
    Cannot intersect groups using a dynamic group
    +
    This operation is not allowed.
    +
    Cannot mix molecular and molecule template atom styles
    +
    Self-explanatory.
    +
    Cannot open -reorder file
    +
    Self-explanatory.
    +
    Cannot open ADP potential file %s
    +
    The specified ADP potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open AIREBO potential file %s
    +
    The specified AIREBO potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open BOP potential file %s
    +
    The specified BOP potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open COMB potential file %s
    +
    The specified COMB potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open COMB3 lib.comb3 file
    +
    The COMB3 library file cannot be opened. Check that the path and name +are correct.
    +
    Cannot open COMB3 potential file %s
    +
    The specified COMB3 potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open EAM potential file %s
    +
    The specified EAM potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open EIM potential file %s
    +
    The specified EIM potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open LCBOP potential file %s
    +
    The specified LCBOP potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open MEAM potential file %s
    +
    The specified MEAM potential file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open SNAP coefficient file %s
    +
    The specified SNAP coefficient file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open SNAP parameter file %s
    +
    The specified SNAP parameter file cannot be opened. Check that the +path and name are correct.
    +
    Cannot open Stillinger-Weber potential file %s
    +
    The specified SW potential file cannot be opened. Check that the path +and name are correct.
    +
    Cannot open Tersoff potential file %s
    +
    The specified potential file cannot be opened. Check that the path +and name are correct.
    +
    Cannot open balance output file
    +
    Self-explanatory.
    +
    Cannot open coul/streitz potential file %s
    +
    The specified coul/streitz potential file cannot be opened. Check +that the path and name are correct.
    +
    Cannot open custom file
    +
    Self-explanatory.
    +
    Cannot open data file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open dir to search for restart file
    +
    Using a “*” in the name of the restart file will open the current +directory to search for matching file names.
    +
    Cannot open dump file
    +
    The output file for the dump command cannot be opened. Check that the +path and name are correct.
    +
    Cannot open dump file %s
    +
    The output file for the dump command cannot be opened. Check that the +path and name are correct.
    +
    Cannot open file %s
    +
    The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip -executable can be found and run. - -
    Cannot open file variable file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix ave/chunk file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix ave/correlate file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix ave/histo file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix ave/spatial file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix ave/time file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix balance output file - -
    Self-explanatory. - -
    Cannot open fix poems file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix print file %s - -
    The output file generated by the fix print command cannot be opened - -
    Cannot open fix qeq parameter file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix qeq/comb file %s - -
    The output file for the fix qeq/combs command cannot be opened. -Check that the path and name are correct. - -
    Cannot open fix reax/bonds file %s - -
    The output file for the fix reax/bonds command cannot be opened. -Check that the path and name are correct. - -
    Cannot open fix rigid infile %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix rigid restart file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix rigid/small infile %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open fix tmd file %s - -
    The output file for the fix tmd command cannot be opened. Check that -the path and name are correct. - -
    Cannot open fix ttm file %s - -
    The output file for the fix ttm command cannot be opened. Check that -the path and name are correct. - -
    Cannot open gzipped file - -
    LAMMPS was compiled without support for reading and writing gzipped -files through a pipeline to the gzip program with -DLAMMPS_GZIP. - -
    Cannot open input script %s - -
    Self-explanatory. - -
    Cannot open log.cite file - -
    This file is created when you use some LAMMPS features, to indicate +executable can be found and run.
    +
    Cannot open file variable file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix ave/chunk file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix ave/correlate file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix ave/histo file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix ave/spatial file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix ave/time file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix balance output file
    +
    Self-explanatory.
    +
    Cannot open fix poems file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix print file %s
    +
    The output file generated by the fix print command cannot be opened
    +
    Cannot open fix qeq parameter file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix qeq/comb file %s
    +
    The output file for the fix qeq/combs command cannot be opened. +Check that the path and name are correct.
    +
    Cannot open fix reax/bonds file %s
    +
    The output file for the fix reax/bonds command cannot be opened. +Check that the path and name are correct.
    +
    Cannot open fix rigid infile %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix rigid restart file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix rigid/small infile %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open fix tmd file %s
    +
    The output file for the fix tmd command cannot be opened. Check that +the path and name are correct.
    +
    Cannot open fix ttm file %s
    +
    The output file for the fix ttm command cannot be opened. Check that +the path and name are correct.
    +
    Cannot open gzipped file
    +
    LAMMPS was compiled without support for reading and writing gzipped +files through a pipeline to the gzip program with -DLAMMPS_GZIP.
    +
    Cannot open input script %s
    +
    Self-explanatory.
    +
    Cannot open log.cite file
    +
    This file is created when you use some LAMMPS features, to indicate what paper you should cite on behalf of those who implemented the feature. Check that you have write priveleges into the directory -you are running in. - -
    Cannot open log.lammps for writing - -
    The default LAMMPS log file cannot be opened. Check that the -directory you are running in allows for files to be created. - -
    Cannot open logfile - -
    The LAMMPS log file named in a command-line argument cannot be opened. -Check that the path and name are correct. - -
    Cannot open logfile %s - -
    The LAMMPS log file specified in the input script cannot be opened. -Check that the path and name are correct. - -
    Cannot open molecule file %s - -
    The specified file cannot be opened. Check that the path and name are -correct. - -
    Cannot open nb3b/harmonic potential file %s - -
    The specified potential file cannot be opened. Check that the path -and name are correct. - -
    Cannot open pair_write file - -
    The specified output file for pair energies and forces cannot be -opened. Check that the path and name are correct. - -
    Cannot open print file %s - -
    Self-explanatory. - -
    Cannot open processors output file - -
    Self-explanatory. - -
    Cannot open restart file %s - -
    Self-explanatory. - -
    Cannot open restart file for reading - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot open restart file for writing - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot open screen file - -
    The screen file specified as a command-line argument cannot be +you are running in.
    +
    Cannot open log.lammps for writing
    +
    The default LAMMPS log file cannot be opened. Check that the +directory you are running in allows for files to be created.
    +
    Cannot open logfile
    +
    The LAMMPS log file named in a command-line argument cannot be opened. +Check that the path and name are correct.
    +
    Cannot open logfile %s
    +
    The LAMMPS log file specified in the input script cannot be opened. +Check that the path and name are correct.
    +
    Cannot open molecule file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct.
    +
    Cannot open nb3b/harmonic potential file %s
    +
    The specified potential file cannot be opened. Check that the path +and name are correct.
    +
    Cannot open pair_write file
    +
    The specified output file for pair energies and forces cannot be +opened. Check that the path and name are correct.
    +
    Cannot open print file %s
    +
    Self-explanatory.
    +
    Cannot open processors output file
    +
    Self-explanatory.
    +
    Cannot open restart file %s
    +
    Self-explanatory.
    +
    Cannot open restart file for reading - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot open restart file for writing - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot open screen file
    +
    The screen file specified as a command-line argument cannot be opened. Check that the directory you are running in allows for files -to be created. - -
    Cannot open universe log file - -
    For a multi-partition run, the master log file cannot be opened. +to be created.
    +
    Cannot open universe log file
    +
    For a multi-partition run, the master log file cannot be opened. Check that the directory you are running in allows for files to be -created. - -
    Cannot open universe screen file - -
    For a multi-partition run, the master screen file cannot be opened. +created.
    +
    Cannot open universe screen file
    +
    For a multi-partition run, the master screen file cannot be opened. Check that the directory you are running in allows for files to be -created. - -
    Cannot read from restart file - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot read_data add and merge - -
    These options are not yet supported. - -
    Cannot read_data after simulation box is defined - -
    The read_data command cannot be used after a read_data, -read_restart, or create_box command. - -
    Cannot read_restart after simulation box is defined - -
    The read_restart command cannot be used after a read_data, -read_restart, or create_box command. - -
    Cannot redefine variable as a different style - -
    An equal-style variable can be re-defined but only if it was -originally an equal-style variable. - -
    Cannot replicate 2d simulation in z dimension - -
    The replicate command cannot replicate a 2d simulation in the z -dimension. - -
    Cannot replicate with fixes that store atom quantities - -
    Either fixes are defined that create and store atom-based vectors or a +created.
    +
    Cannot read from restart file - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot read_data add and merge
    +
    These options are not yet supported.
    +
    Cannot read_data after simulation box is defined
    +
    The read_data command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Cannot read_restart after simulation box is defined
    +
    The read_restart command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Cannot redefine variable as a different style
    +
    An equal-style variable can be re-defined but only if it was +originally an equal-style variable.
    +
    Cannot replicate 2d simulation in z dimension
    +
    The replicate command cannot replicate a 2d simulation in the z +dimension.
    +
    Cannot replicate with fixes that store atom quantities
    +
    Either fixes are defined that create and store atom-based vectors or a restart file was read which included atom-based vectors for fixes. The replicate command cannot duplicate that information for new atoms. You should use the replicate command before fixes are applied to the -system. - -
    Cannot reset timestep with a dynamic region defined - -
    Dynamic regions (see the region command) have a time dependence. +system.
    +
    Cannot reset timestep with a dynamic region defined
    +
    Dynamic regions (see the region command) have a time dependence. Thus you cannot change the timestep when one or more of these -are defined. - -
    Cannot reset timestep with a time-dependent fix defined - -
    You cannot reset the timestep when a fix that keeps track of elapsed -time is in place. - -
    Cannot run 2d simulation with nonperiodic Z dimension - -
    Use the boundary command to make the z dimension periodic in order to -run a 2d simulation. - -
    Cannot set bond topology types for atom style template - -
    The bond, angle, etc types cannot be changed for this atom style since -they are static settings in the molecule template files. - -
    Cannot set both respa pair and inner/middle/outer - -
    In the rRESPA integrator, you must compute pairwise potentials either -all together (pair), or in pieces (inner/middle/outer). You can't do -both. - -
    Cannot set dump_modify flush for dump xtc - -
    Self-explanatory. - -
    Cannot set mass for this atom style - -
    This atom style does not support mass settings for each atom type. -Instead they are defined on a per-atom basis in the data file. - -
    Cannot set meso_rho for this atom style - -
    Self-explanatory. - -
    Cannot set non-zero image flag for non-periodic dimension - -
    Self-explanatory. - -
    Cannot set non-zero z velocity for 2d simulation - -
    Self-explanatory. - -
    Cannot set quaternion for atom that has none - -
    Self-explanatory. - -
    Cannot set respa middle without inner/outer - -
    In the rRESPA integrator, you must define both a inner and outer -setting in order to use a middle setting. - -
    Cannot set restart file size - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot set temperature for fix rigid/nph - -
    The temp keyword cannot be specified. - -
    Cannot set theta for atom that is not a line - -
    Self-explanatory. - -
    Cannot set this attribute for this atom style - -
    The attribute being set does not exist for the defined atom style. - -
    Cannot set variable z velocity for 2d simulation - -
    Self-explanatory. - -
    Cannot skew triclinic box in z for 2d simulation - -
    Self-explanatory. - -
    Cannot subtract groups using a dynamic group - -
    This operation is not allowed. - -
    Cannot union groups using a dynamic group - -
    This operation is not allowed. - -
    Cannot use -cuda on and -kokkos on together - -
    This is not allowed since both packages can use GPUs. - -
    Cannot use -cuda on without USER-CUDA installed - -
    The USER-CUDA package must be installed via "make yes-user-cuda" -before LAMMPS is built. - -
    Cannot use -kokkos on without KOKKOS installed - -
    Self-explanatory. - -
    Cannot use -reorder after -partition - -
    Self-explanatory. See doc page discussion of command-line switches. - -
    Cannot use Ewald with 2d simulation - -
    The kspace style ewald cannot be used in 2d simulations. You can use -2d Ewald in a 3d simulation; see the kspace_modify command. - -
    Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles - -
    No atoms in system have a non-zero charge or dipole, or are LJ +are defined.
    +
    Cannot reset timestep with a time-dependent fix defined
    +
    You cannot reset the timestep when a fix that keeps track of elapsed +time is in place.
    +
    Cannot run 2d simulation with nonperiodic Z dimension
    +
    Use the boundary command to make the z dimension periodic in order to +run a 2d simulation.
    +
    Cannot set bond topology types for atom style template
    +
    The bond, angle, etc types cannot be changed for this atom style since +they are static settings in the molecule template files.
    +
    Cannot set both respa pair and inner/middle/outer
    +
    In the rRESPA integrator, you must compute pairwise potentials either +all together (pair), or in pieces (inner/middle/outer). You can’t do +both.
    +
    Cannot set dump_modify flush for dump xtc
    +
    Self-explanatory.
    +
    Cannot set mass for this atom style
    +
    This atom style does not support mass settings for each atom type. +Instead they are defined on a per-atom basis in the data file.
    +
    Cannot set meso_rho for this atom style
    +
    Self-explanatory.
    +
    Cannot set non-zero image flag for non-periodic dimension
    +
    Self-explanatory.
    +
    Cannot set non-zero z velocity for 2d simulation
    +
    Self-explanatory.
    +
    Cannot set quaternion for atom that has none
    +
    Self-explanatory.
    +
    Cannot set respa middle without inner/outer
    +
    In the rRESPA integrator, you must define both a inner and outer +setting in order to use a middle setting.
    +
    Cannot set restart file size - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot set temperature for fix rigid/nph
    +
    The temp keyword cannot be specified.
    +
    Cannot set theta for atom that is not a line
    +
    Self-explanatory.
    +
    Cannot set this attribute for this atom style
    +
    The attribute being set does not exist for the defined atom style.
    +
    Cannot set variable z velocity for 2d simulation
    +
    Self-explanatory.
    +
    Cannot skew triclinic box in z for 2d simulation
    +
    Self-explanatory.
    +
    Cannot subtract groups using a dynamic group
    +
    This operation is not allowed.
    +
    Cannot union groups using a dynamic group
    +
    This operation is not allowed.
    +
    Cannot use -cuda on and -kokkos on together
    +
    This is not allowed since both packages can use GPUs.
    +
    Cannot use -cuda on without USER-CUDA installed
    +
    The USER-CUDA package must be installed via “make yes-user-cuda” +before LAMMPS is built.
    +
    Cannot use -kokkos on without KOKKOS installed
    +
    Self-explanatory.
    +
    Cannot use -reorder after -partition
    +
    Self-explanatory. See doc page discussion of command-line switches.
    +
    Cannot use Ewald with 2d simulation
    +
    The kspace style ewald cannot be used in 2d simulations. You can use +2d Ewald in a 3d simulation; see the kspace_modify command.
    +
    Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles
    +
    No atoms in system have a non-zero charge or dipole, or are LJ particles. Change charges/dipoles or change options of the kspace -solver/pair style. - -
    Cannot use EwaldDisp with 2d simulation - -
    This is a current restriction of this command. - -
    Cannot use GPU package with USER-CUDA package enabled - -
    You cannot use both the GPU and USER-CUDA packages -together. Use one or the other. - -
    Cannot use Kokkos pair style with rRESPA inner/middle - -
    rRESPA inner/middle options are not yet supported by Kokkos. - -
    Cannot use NEB unless atom map exists - -
    Use the atom_modify command to create an atom map. - -
    Cannot use NEB with a single replica - -
    Self-explanatory. - -
    Cannot use NEB with atom_modify sort enabled - -
    This is current restriction for NEB implemented in LAMMPS. - -
    Cannot use PPPM with 2d simulation - -
    The kspace style pppm cannot be used in 2d simulations. You can use -2d PPPM in a 3d simulation; see the kspace_modify command. - -
    Cannot use PPPMDisp with 2d simulation - -
    The kspace style pppm/disp cannot be used in 2d simulations. You can -use 2d pppm/disp in a 3d simulation; see the kspace_modify command. - -
    Cannot use PRD with a changing box - -
    The current box dimensions are not copied between replicas - -
    Cannot use PRD with a time-dependent fix defined - -
    PRD alters the timestep in ways that will mess up these fixes. - -
    Cannot use PRD with a time-dependent region defined - -
    PRD alters the timestep in ways that will mess up these regions. - -
    Cannot use PRD with atom_modify sort enabled - -
    This is a current restriction of PRD. You must turn off sorting, -which is enabled by default, via the atom_modify command. - -
    Cannot use PRD with multi-processor replicas unless atom map exists - -
    Use the atom_modify command to create an atom map. - -
    Cannot use TAD unless atom map exists for NEB - -
    See atom_modify map command to set this. - -
    Cannot use TAD with a single replica for NEB - -
    NEB requires multiple replicas. - -
    Cannot use TAD with atom_modify sort enabled for NEB - -
    This is a current restriction of NEB. - -
    Cannot use a damped dynamics min style with fix box/relax - -
    This is a current restriction in LAMMPS. Use another minimizer -style. - -
    Cannot use a damped dynamics min style with per-atom DOF - -
    This is a current restriction in LAMMPS. Use another minimizer -style. - -
    Cannot use append/atoms in periodic dimension - -
    The boundary style of the face where atoms are added can not be of -type p (periodic). - -
    Cannot use atomfile-style variable unless atom map exists - -
    Self-explanatory. See the atom_modify command to create a map. - -
    Cannot use both com and bias with compute temp/chunk - -
    Self-explanatory. - -
    Cannot use chosen neighbor list style with buck/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with coul/cut/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with coul/dsf/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with coul/wolf/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with lj/cut/coul/cut/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with lj/cut/coul/long/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with lj/cut/kk - -
    That style is not supported by Kokkos. - -
    Cannot use chosen neighbor list style with pair eam/kk - -
    That style is not supported by Kokkos. - -
    Cannot use compute chunk/atom bin z for 2d model - -
    Self-explanatory. - -
    Cannot use compute cluster/atom unless atoms have IDs - -
    Atom IDs are used to identify clusters. - -
    Cannot use create_atoms rotate unless single style - -
    Self-explanatory. - -
    Cannot use create_bonds unless atoms have IDs - -
    This command requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs. - -
    Cannot use create_bonds with non-molecular system - -
    Self-explanatory. - -
    Cannot use cwiggle in variable formula between runs - -
    This is a function of elapsed time. - -
    Cannot use delete_atoms bond yes with atom_style template - -
    This is because the bonds for that atom style are hardwired in the -molecule template. - -
    Cannot use delete_atoms unless atoms have IDs - -
    Your atoms do not have IDs, so the delete_atoms command cannot be -used. - -
    Cannot use delete_bonds with non-molecular system - -
    Your choice of atom style does not have bonds. - -
    Cannot use dump_modify fileper without % in dump file name - -
    Self-explanatory. - -
    Cannot use dump_modify nfile without % in dump file name - -
    Self-explanatory. - -
    Cannot use dynamic group with fix adapt atom - -
    This is not yet supported. - -
    Cannot use fix TMD unless atom map exists - -
    Using this fix requires the ability to lookup an atom index, which is +solver/pair style.
    +
    Cannot use EwaldDisp with 2d simulation
    +
    This is a current restriction of this command.
    +
    Cannot use GPU package with USER-CUDA package enabled
    +
    You cannot use both the GPU and USER-CUDA packages +together. Use one or the other.
    +
    Cannot use Kokkos pair style with rRESPA inner/middle
    +
    rRESPA inner/middle options are not yet supported by Kokkos.
    +
    Cannot use NEB unless atom map exists
    +
    Use the atom_modify command to create an atom map.
    +
    Cannot use NEB with a single replica
    +
    Self-explanatory.
    +
    Cannot use NEB with atom_modify sort enabled
    +
    This is current restriction for NEB implemented in LAMMPS.
    +
    Cannot use PPPM with 2d simulation
    +
    The kspace style pppm cannot be used in 2d simulations. You can use +2d PPPM in a 3d simulation; see the kspace_modify command.
    +
    Cannot use PPPMDisp with 2d simulation
    +
    The kspace style pppm/disp cannot be used in 2d simulations. You can +use 2d pppm/disp in a 3d simulation; see the kspace_modify command.
    +
    Cannot use PRD with a changing box
    +
    The current box dimensions are not copied between replicas
    +
    Cannot use PRD with a time-dependent fix defined
    +
    PRD alters the timestep in ways that will mess up these fixes.
    +
    Cannot use PRD with a time-dependent region defined
    +
    PRD alters the timestep in ways that will mess up these regions.
    +
    Cannot use PRD with atom_modify sort enabled
    +
    This is a current restriction of PRD. You must turn off sorting, +which is enabled by default, via the atom_modify command.
    +
    Cannot use PRD with multi-processor replicas unless atom map exists
    +
    Use the atom_modify command to create an atom map.
    +
    Cannot use TAD unless atom map exists for NEB
    +
    See atom_modify map command to set this.
    +
    Cannot use TAD with a single replica for NEB
    +
    NEB requires multiple replicas.
    +
    Cannot use TAD with atom_modify sort enabled for NEB
    +
    This is a current restriction of NEB.
    +
    Cannot use a damped dynamics min style with fix box/relax
    +
    This is a current restriction in LAMMPS. Use another minimizer +style.
    +
    Cannot use a damped dynamics min style with per-atom DOF
    +
    This is a current restriction in LAMMPS. Use another minimizer +style.
    +
    Cannot use append/atoms in periodic dimension
    +
    The boundary style of the face where atoms are added can not be of +type p (periodic).
    +
    Cannot use atomfile-style variable unless atom map exists
    +
    Self-explanatory. See the atom_modify command to create a map.
    +
    Cannot use both com and bias with compute temp/chunk
    +
    Self-explanatory.
    +
    Cannot use chosen neighbor list style with buck/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with coul/cut/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with coul/dsf/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with coul/wolf/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with lj/cut/coul/cut/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with lj/cut/coul/long/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with lj/cut/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use chosen neighbor list style with pair eam/kk
    +
    That style is not supported by Kokkos.
    +
    Cannot use compute chunk/atom bin z for 2d model
    +
    Self-explanatory.
    +
    Cannot use compute cluster/atom unless atoms have IDs
    +
    Atom IDs are used to identify clusters.
    +
    Cannot use create_atoms rotate unless single style
    +
    Self-explanatory.
    +
    Cannot use create_bonds unless atoms have IDs
    +
    This command requires a mapping from global atom IDs to local atoms, +but the atoms that have been defined have no IDs.
    +
    Cannot use create_bonds with non-molecular system
    +
    Self-explanatory.
    +
    Cannot use cwiggle in variable formula between runs
    +
    This is a function of elapsed time.
    +
    Cannot use delete_atoms bond yes with atom_style template
    +
    This is because the bonds for that atom style are hardwired in the +molecule template.
    +
    Cannot use delete_atoms unless atoms have IDs
    +
    Your atoms do not have IDs, so the delete_atoms command cannot be +used.
    +
    Cannot use delete_bonds with non-molecular system
    +
    Your choice of atom style does not have bonds.
    +
    Cannot use dump_modify fileper without % in dump file name
    +
    Self-explanatory.
    +
    Cannot use dump_modify nfile without % in dump file name
    +
    Self-explanatory.
    +
    Cannot use dynamic group with fix adapt atom
    +
    This is not yet supported.
    +
    Cannot use fix TMD unless atom map exists
    +
    Using this fix requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for non-molecular problems. Using the atom_modify map command will force -an atom map to be created. - -
    Cannot use fix ave/spatial z for 2 dimensional model - -
    Self-explanatory. - -
    Cannot use fix bond/break with non-molecular systems - -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify. - -
    Cannot use fix bond/create with non-molecular systems - -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify. - -
    Cannot use fix bond/swap with non-molecular systems - -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify. - -
    Cannot use fix box/relax on a 2nd non-periodic dimension - -
    When specifying an off-diagonal pressure component, the 2nd of the two +an atom map to be created.
    +
    Cannot use fix ave/spatial z for 2 dimensional model
    +
    Self-explanatory.
    +
    Cannot use fix bond/break with non-molecular systems
    +
    Only systems with bonds that can be changed can be used. Atom_style +template does not qualify.
    +
    Cannot use fix bond/create with non-molecular systems
    +
    Only systems with bonds that can be changed can be used. Atom_style +template does not qualify.
    +
    Cannot use fix bond/swap with non-molecular systems
    +
    Only systems with bonds that can be changed can be used. Atom_style +template does not qualify.
    +
    Cannot use fix box/relax on a 2nd non-periodic dimension
    +
    When specifying an off-diagonal pressure component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic. - -
    Cannot use fix box/relax on a non-periodic dimension - -
    When specifying a diagonal pressure component, the dimension must be -periodic. - -
    Cannot use fix box/relax with both relaxation and scaling on a tilt factor - -
    When specifying scaling on a tilt factor component, that component can not +then the y dimension must be periodic.
    +
    Cannot use fix box/relax on a non-periodic dimension
    +
    When specifying a diagonal pressure component, the dimension must be +periodic.
    +
    Cannot use fix box/relax with both relaxation and scaling on a tilt factor
    +
    When specifying scaling on a tilt factor component, that component can not also be controlled by the barostat. E.g. if scalexy yes is specified and -also keyword tri or xy, this is wrong. - -
    Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension - -
    When specifying scaling on a tilt factor component, the 2nd of the two +also keyword tri or xy, this is wrong.
    +
    Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension
    +
    When specifying scaling on a tilt factor component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic. - -
    Cannot use fix deform on a shrink-wrapped boundary - -
    The x, y, z options cannot be applied to shrink-wrapped -dimensions. - -
    Cannot use fix deform tilt on a shrink-wrapped 2nd dim - -
    This is because the shrink-wrapping will change the value -of the strain implied by the tilt factor. - -
    Cannot use fix deform trate on a box with zero tilt - -
    The trate style alters the current strain. - -
    Cannot use fix deposit rigid and not molecule - -
    Self-explanatory. - -
    Cannot use fix deposit rigid and shake - -
    These two attributes are conflicting. - -
    Cannot use fix deposit shake and not molecule - -
    Self-explanatory. - -
    Cannot use fix enforce2d with 3d simulation - -
    Self-explanatory. - -
    Cannot use fix gcmc in a 2d simulation - -
    Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc -are allowed. - -
    Cannot use fix gcmc shake and not molecule - -
    Self-explanatory. - -
    Cannot use fix msst without per-type mass defined - -
    Self-explanatory. - -
    Cannot use fix npt and fix deform on same component of stress tensor - -
    This would be changing the same box dimension twice. - -
    Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension - -
    When specifying an off-diagonal pressure component, the 2nd of the two +then the y dimension must be periodic.
    +
    Cannot use fix deform on a shrink-wrapped boundary
    +
    The x, y, z options cannot be applied to shrink-wrapped +dimensions.
    +
    Cannot use fix deform tilt on a shrink-wrapped 2nd dim
    +
    This is because the shrink-wrapping will change the value +of the strain implied by the tilt factor.
    +
    Cannot use fix deform trate on a box with zero tilt
    +
    The trate style alters the current strain.
    +
    Cannot use fix deposit rigid and not molecule
    +
    Self-explanatory.
    +
    Cannot use fix deposit rigid and shake
    +
    These two attributes are conflicting.
    +
    Cannot use fix deposit shake and not molecule
    +
    Self-explanatory.
    +
    Cannot use fix enforce2d with 3d simulation
    +
    Self-explanatory.
    +
    Cannot use fix gcmc in a 2d simulation
    +
    Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc +are allowed.
    +
    Cannot use fix gcmc shake and not molecule
    +
    Self-explanatory.
    +
    Cannot use fix msst without per-type mass defined
    +
    Self-explanatory.
    +
    Cannot use fix npt and fix deform on same component of stress tensor
    +
    This would be changing the same box dimension twice.
    +
    Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension
    +
    When specifying an off-diagonal pressure component, the 2nd of the two dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic. - -
    Cannot use fix nvt/npt/nph on a non-periodic dimension - -
    When specifying a diagonal pressure component, the dimension must be -periodic. - -
    Cannot use fix nvt/npt/nph with both xy dynamics and xy scaling - -
    Self-explanatory. - -
    Cannot use fix nvt/npt/nph with both xz dynamics and xz scaling - -
    Self-explanatory. - -
    Cannot use fix nvt/npt/nph with both yz dynamics and yz scaling - -
    Self-explanatory. - -
    Cannot use fix nvt/npt/nph with xy scaling when y is non-periodic dimension - -
    The 2nd dimension in the barostatted tilt factor must be periodic. - -
    Cannot use fix nvt/npt/nph with xz scaling when z is non-periodic dimension - -
    The 2nd dimension in the barostatted tilt factor must be periodic. - -
    Cannot use fix nvt/npt/nph with yz scaling when z is non-periodic dimension - -
    The 2nd dimension in the barostatted tilt factor must be periodic. - -
    Cannot use fix pour rigid and not molecule - -
    Self-explanatory. - -
    Cannot use fix pour rigid and shake - -
    These two attributes are conflicting. - -
    Cannot use fix pour shake and not molecule - -
    Self-explanatory. - -
    Cannot use fix pour with triclinic box - -
    This option is not yet supported. - -
    Cannot use fix press/berendsen and fix deform on same component of stress tensor - -
    These commands both change the box size/shape, so you cannot use both -together. - -
    Cannot use fix press/berendsen on a non-periodic dimension - -
    Self-explanatory. - -
    Cannot use fix press/berendsen with triclinic box - -
    Self-explanatory. - -
    Cannot use fix reax/bonds without pair_style reax - -
    Self-explantory. - -
    Cannot use fix rigid npt/nph and fix deform on same component of stress tensor - -
    This would be changing the same box dimension twice. - -
    Cannot use fix rigid npt/nph on a non-periodic dimension - -
    When specifying a diagonal pressure component, the dimension must be -periodic. - -
    Cannot use fix rigid/small npt/nph on a non-periodic dimension - -
    When specifying a diagonal pressure component, the dimension must be -periodic. - -
    Cannot use fix shake with non-molecular system - -
    Your choice of atom style does not have bonds. - -
    Cannot use fix ttm with 2d simulation - -
    This is a current restriction of this fix due to the grid it creates. - -
    Cannot use fix ttm with triclinic box - -
    This is a current restriction of this fix due to the grid it creates. - -
    Cannot use fix tune/kspace without a kspace style - -
    Self-explanatory. - -
    Cannot use fix tune/kspace without a pair style - -
    This fix (tune/kspace) can only be used when a pair style has been specified. - -
    Cannot use fix wall in periodic dimension - -
    Self-explanatory. - -
    Cannot use fix wall zlo/zhi for a 2d simulation - -
    Self-explanatory. - -
    Cannot use fix wall/reflect in periodic dimension - -
    Self-explanatory. - -
    Cannot use fix wall/reflect zlo/zhi for a 2d simulation - -
    Self-explanatory. - -
    Cannot use fix wall/srd in periodic dimension - -
    Self-explanatory. - -
    Cannot use fix wall/srd more than once - -
    Nor is their a need to since multiple walls can be specified -in one command. - -
    Cannot use fix wall/srd without fix srd - -
    Self-explanatory. - -
    Cannot use fix wall/srd zlo/zhi for a 2d simulation - -
    Self-explanatory. - -
    Cannot use fix_deposit unless atoms have IDs - -
    Self-explanatory. - -
    Cannot use fix_pour unless atoms have IDs - -
    Self-explanatory. - -
    Cannot use include command within an if command - -
    Self-explanatory. - -
    Cannot use lines with fix srd unless overlap is set - -
    This is because line segements are connected to each other. - -
    Cannot use multiple fix wall commands with pair brownian - -
    Self-explanatory. - -
    Cannot use multiple fix wall commands with pair lubricate - -
    Self-explanatory. - -
    Cannot use multiple fix wall commands with pair lubricate/poly - -
    Self-explanatory. - -
    Cannot use multiple fix wall commands with pair lubricateU - -
    Self-explanatory. - -
    Cannot use neigh_modify exclude with GPU neighbor builds - -
    This is a current limitation of the GPU implementation -in LAMMPS. - -
    Cannot use neighbor bins - box size << cutoff - -
    Too many neighbor bins will be created. This typically happens when +then the y dimension must be periodic.
    +
    Cannot use fix nvt/npt/nph on a non-periodic dimension
    +
    When specifying a diagonal pressure component, the dimension must be +periodic.
    +
    Cannot use fix nvt/npt/nph with both xy dynamics and xy scaling
    +
    Self-explanatory.
    +
    Cannot use fix nvt/npt/nph with both xz dynamics and xz scaling
    +
    Self-explanatory.
    +
    Cannot use fix nvt/npt/nph with both yz dynamics and yz scaling
    +
    Self-explanatory.
    +
    Cannot use fix nvt/npt/nph with xy scaling when y is non-periodic dimension
    +
    The 2nd dimension in the barostatted tilt factor must be periodic.
    +
    Cannot use fix nvt/npt/nph with xz scaling when z is non-periodic dimension
    +
    The 2nd dimension in the barostatted tilt factor must be periodic.
    +
    Cannot use fix nvt/npt/nph with yz scaling when z is non-periodic dimension
    +
    The 2nd dimension in the barostatted tilt factor must be periodic.
    +
    Cannot use fix pour rigid and not molecule
    +
    Self-explanatory.
    +
    Cannot use fix pour rigid and shake
    +
    These two attributes are conflicting.
    +
    Cannot use fix pour shake and not molecule
    +
    Self-explanatory.
    +
    Cannot use fix pour with triclinic box
    +
    This option is not yet supported.
    +
    Cannot use fix press/berendsen and fix deform on same component of stress tensor
    +
    These commands both change the box size/shape, so you cannot use both +together.
    +
    Cannot use fix press/berendsen on a non-periodic dimension
    +
    Self-explanatory.
    +
    Cannot use fix press/berendsen with triclinic box
    +
    Self-explanatory.
    +
    Cannot use fix reax/bonds without pair_style reax
    +
    Self-explantory.
    +
    Cannot use fix rigid npt/nph and fix deform on same component of stress tensor
    +
    This would be changing the same box dimension twice.
    +
    Cannot use fix rigid npt/nph on a non-periodic dimension
    +
    When specifying a diagonal pressure component, the dimension must be +periodic.
    +
    Cannot use fix rigid/small npt/nph on a non-periodic dimension
    +
    When specifying a diagonal pressure component, the dimension must be +periodic.
    +
    Cannot use fix shake with non-molecular system
    +
    Your choice of atom style does not have bonds.
    +
    Cannot use fix ttm with 2d simulation
    +
    This is a current restriction of this fix due to the grid it creates.
    +
    Cannot use fix ttm with triclinic box
    +
    This is a current restriction of this fix due to the grid it creates.
    +
    Cannot use fix tune/kspace without a kspace style
    +
    Self-explanatory.
    +
    Cannot use fix tune/kspace without a pair style
    +
    This fix (tune/kspace) can only be used when a pair style has been specified.
    +
    Cannot use fix wall in periodic dimension
    +
    Self-explanatory.
    +
    Cannot use fix wall zlo/zhi for a 2d simulation
    +
    Self-explanatory.
    +
    Cannot use fix wall/reflect in periodic dimension
    +
    Self-explanatory.
    +
    Cannot use fix wall/reflect zlo/zhi for a 2d simulation
    +
    Self-explanatory.
    +
    Cannot use fix wall/srd in periodic dimension
    +
    Self-explanatory.
    +
    Cannot use fix wall/srd more than once
    +
    Nor is their a need to since multiple walls can be specified +in one command.
    +
    Cannot use fix wall/srd without fix srd
    +
    Self-explanatory.
    +
    Cannot use fix wall/srd zlo/zhi for a 2d simulation
    +
    Self-explanatory.
    +
    Cannot use fix_deposit unless atoms have IDs
    +
    Self-explanatory.
    +
    Cannot use fix_pour unless atoms have IDs
    +
    Self-explanatory.
    +
    Cannot use include command within an if command
    +
    Self-explanatory.
    +
    Cannot use lines with fix srd unless overlap is set
    +
    This is because line segements are connected to each other.
    +
    Cannot use multiple fix wall commands with pair brownian
    +
    Self-explanatory.
    +
    Cannot use multiple fix wall commands with pair lubricate
    +
    Self-explanatory.
    +
    Cannot use multiple fix wall commands with pair lubricate/poly
    +
    Self-explanatory.
    +
    Cannot use multiple fix wall commands with pair lubricateU
    +
    Self-explanatory.
    +
    Cannot use neigh_modify exclude with GPU neighbor builds
    +
    This is a current limitation of the GPU implementation +in LAMMPS.
    +
    Cannot use neighbor bins - box size << cutoff
    +
    Too many neighbor bins will be created. This typically happens when the simulation box is very small in some dimension, compared to the -neighbor cutoff. Use the "nsq" style instead of "bin" style. - -
    Cannot use newton pair with beck/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with born/coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with born/coul/wolf/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with born/gpu pair style - -
    Self-explantory. - -
    Cannot use newton pair with buck/coul/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with buck/coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with buck/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with colloid/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with coul/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with coul/debye/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with coul/dsf/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with dipole/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with dpd/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with dpd/tstat/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with eam/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with gauss/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with gayberne/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/charmm/coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/class2/coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/class2/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/coul/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/coul/debye/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/coul/dsf/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/coul/long/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/coul/msm/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/expand/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj/gromacs/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with lj96/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with mie/cut/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with morse/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with resquared/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with soft/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with table/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with yukawa/colloid/gpu pair style - -
    Self-explanatory. - -
    Cannot use newton pair with yukawa/gpu pair style - -
    Self-explanatory. - -
    Cannot use non-zero forces in an energy minimization - -
    Fix setforce cannot be used in this manner. Use fix addforce -instead. - -
    Cannot use non-zero z offset in read_data for 2d simulation - -
    The offset option is not yet supported. - -
    Cannot use nonperiodic boundares with fix ttm - -
    This fix requires a fully periodic simulation box. - -
    Cannot use nonperiodic boundaries with Ewald - -
    For kspace style ewald, all 3 dimensions must have periodic boundaries +neighbor cutoff. Use the “nsq” style instead of “bin” style.
    +
    Cannot use newton pair with beck/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with born/coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with born/coul/wolf/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with born/gpu pair style
    +
    Self-explantory.
    +
    Cannot use newton pair with buck/coul/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with buck/coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with buck/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with colloid/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with coul/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with coul/debye/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with coul/dsf/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with dipole/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with dpd/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with dpd/tstat/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with eam/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with gauss/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with gayberne/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/charmm/coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/class2/coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/class2/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/coul/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/coul/debye/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/coul/dsf/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/coul/long/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/coul/msm/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/expand/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj/gromacs/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with lj96/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with mie/cut/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with morse/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with resquared/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with soft/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with table/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with yukawa/colloid/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use newton pair with yukawa/gpu pair style
    +
    Self-explanatory.
    +
    Cannot use non-zero forces in an energy minimization
    +
    Fix setforce cannot be used in this manner. Use fix addforce +instead.
    +
    Cannot use non-zero z offset in read_data for 2d simulation
    +
    The offset option is not yet supported.
    +
    Cannot use nonperiodic boundares with fix ttm
    +
    This fix requires a fully periodic simulation box.
    +
    Cannot use nonperiodic boundaries with Ewald
    +
    For kspace style ewald, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension. - -
    Cannot use nonperiodic boundaries with EwaldDisp - -
    For kspace style ewald/disp, all 3 dimensions must have periodic +non-periodic z dimension.
    +
    Cannot use nonperiodic boundaries with EwaldDisp
    +
    For kspace style ewald/disp, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension. - -
    Cannot use nonperiodic boundaries with PPPM - -
    For kspace style pppm, all 3 dimensions must have periodic boundaries +slab with a non-periodic z dimension.
    +
    Cannot use nonperiodic boundaries with PPPM
    +
    For kspace style pppm, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension. - -
    Cannot use nonperiodic boundaries with PPPMDisp - -
    For kspace style pppm/disp, all 3 dimensions must have periodic +non-periodic z dimension.
    +
    Cannot use nonperiodic boundaries with PPPMDisp
    +
    For kspace style pppm/disp, all 3 dimensions must have periodic boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension. - -
    Cannot use order greater than 8 with pppm/gpu. - -
    Self-explanatory. - -
    Cannot use package gpu neigh yes with triclinic box - -
    This is a current restriction in LAMMPS. - -
    Cannot use pair hybrid with GPU neighbor list builds - -
    Neighbor list builds must be done on the CPU for this pair style. - -
    Cannot use pair tail corrections with 2d simulations - -
    The correction factors are only currently defined for 3d systems. - -
    Cannot use processors part command without using partitions - -
    See the command-line -partition switch. - -
    Cannot use ramp in variable formula between runs - -
    This is because the ramp() function is time dependent. - -
    Cannot use region INF or EDGE when box does not exist - -
    Regions that extend to the box boundaries can only be used after the -create_box command has been used. - -
    Cannot use set atom with no atom IDs defined - -
    Atom IDs are not defined, so they cannot be used to identify an atom. - -
    Cannot use set mol with no molecule IDs defined - -
    Self-explanatory. - -
    Cannot use swiggle in variable formula between runs - -
    This is a function of elapsed time. - -
    Cannot use tris with fix srd unless overlap is set - -
    This is because triangles are connected to each other. - -
    Cannot use variable energy with constant efield in fix efield - -
    LAMMPS computes the energy itself when the E-field is constant. - -
    Cannot use variable energy with constant force in fix addforce - -
    This is because for constant force, LAMMPS can compute the change -in energy directly. - -
    Cannot use variable every setting for dump dcd - -
    The format of DCD dump files requires snapshots be output -at a constant frequency. - -
    Cannot use variable every setting for dump xtc - -
    The format of this file requires snapshots at regular intervals. - -
    Cannot use vdisplace in variable formula between runs - -
    This is a function of elapsed time. - -
    Cannot use velocity bias command without temp keyword - -
    Self-explanatory. - -
    Cannot use velocity create loop all unless atoms have IDs - -
    Atoms in the simulation to do not have IDs, so this style -of velocity creation cannot be performed. - -
    Cannot use wall in periodic dimension - -
    Self-explanatory. - -
    Cannot use write_restart fileper without % in restart file name - -
    Self-explanatory. - -
    Cannot use write_restart nfile without % in restart file name - -
    Self-explanatory. - -
    Cannot wiggle and shear fix wall/gran - -
    Cannot specify both options at the same time. - -
    Cannot write to restart file - MPI error: %s - -
    This error was generated by MPI when reading/writing an MPI-IO restart -file. - -
    Cannot yet use KSpace solver with grid with comm style tiled - -
    This is current restriction in LAMMPS. - -
    Cannot yet use comm_style tiled with multi-mode comm - -
    Self-explanatory. - -
    Cannot yet use comm_style tiled with triclinic box - -
    Self-explanatory. - -
    Cannot yet use fix bond/break with this improper style - -
    This is a current restriction in LAMMPS. - -
    Cannot yet use fix bond/create with this improper style - -
    This is a current restriction in LAMMPS. - -
    Cannot zero Langevin force of 0 atoms - -
    The group has zero atoms, so you cannot request its force -be zeroed. - -
    Cannot zero gld force for zero atoms - -
    There are no atoms currently in the group. - -
    Cannot zero momentum of no atoms - -
    Self-explanatory. - -
    Change_box command before simulation box is defined - -
    Self-explanatory. - -
    Change_box volume used incorrectly - -
    The "dim volume" option must be used immediately following one or two -settings for "dim1 ..." (and optionally "dim2 ...") and must be for a -different dimension, i.e. dim != dim1 and dim != dim2. - -
    Chunk/atom compute does not exist for compute angmom/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute com/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute gyration/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute inertia/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute msd/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute omega/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute property/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute temp/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute torque/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for compute vcm/chunk - -
    Self-explanatory. - -
    Chunk/atom compute does not exist for fix ave/chunk - -
    Self-explanatory. - -
    Comm tiled invalid index in box drop brick - -
    Internal error check in comm_style tiled which should not occur. -Contact the developers. - -
    Comm tiled mis-match in box drop brick - -
    Internal error check in comm_style tiled which should not occur. -Contact the developers. - -
    Comm_modify group != atom_modify first group - -
    Self-explanatory. - -
    Communication cutoff for comm_style tiled cannot exceed periodic box length - -
    Self-explanatory. - -
    Communication cutoff too small for SNAP micro load balancing - -
    This can happen if you change the neighbor skin after your pair_style +slab with a non-periodic z dimension.
    +
    Cannot use order greater than 8 with pppm/gpu.
    +
    Self-explanatory.
    +
    Cannot use package gpu neigh yes with triclinic box
    +
    This is a current restriction in LAMMPS.
    +
    Cannot use pair hybrid with GPU neighbor list builds
    +
    Neighbor list builds must be done on the CPU for this pair style.
    +
    Cannot use pair tail corrections with 2d simulations
    +
    The correction factors are only currently defined for 3d systems.
    +
    Cannot use processors part command without using partitions
    +
    See the command-line -partition switch.
    +
    Cannot use ramp in variable formula between runs
    +
    This is because the ramp() function is time dependent.
    +
    Cannot use region INF or EDGE when box does not exist
    +
    Regions that extend to the box boundaries can only be used after the +create_box command has been used.
    +
    Cannot use set atom with no atom IDs defined
    +
    Atom IDs are not defined, so they cannot be used to identify an atom.
    +
    Cannot use set mol with no molecule IDs defined
    +
    Self-explanatory.
    +
    Cannot use swiggle in variable formula between runs
    +
    This is a function of elapsed time.
    +
    Cannot use tris with fix srd unless overlap is set
    +
    This is because triangles are connected to each other.
    +
    Cannot use variable energy with constant efield in fix efield
    +
    LAMMPS computes the energy itself when the E-field is constant.
    +
    Cannot use variable energy with constant force in fix addforce
    +
    This is because for constant force, LAMMPS can compute the change +in energy directly.
    +
    Cannot use variable every setting for dump dcd
    +
    The format of DCD dump files requires snapshots be output +at a constant frequency.
    +
    Cannot use variable every setting for dump xtc
    +
    The format of this file requires snapshots at regular intervals.
    +
    Cannot use vdisplace in variable formula between runs
    +
    This is a function of elapsed time.
    +
    Cannot use velocity bias command without temp keyword
    +
    Self-explanatory.
    +
    Cannot use velocity create loop all unless atoms have IDs
    +
    Atoms in the simulation to do not have IDs, so this style +of velocity creation cannot be performed.
    +
    Cannot use wall in periodic dimension
    +
    Self-explanatory.
    +
    Cannot use write_restart fileper without % in restart file name
    +
    Self-explanatory.
    +
    Cannot use write_restart nfile without % in restart file name
    +
    Self-explanatory.
    +
    Cannot wiggle and shear fix wall/gran
    +
    Cannot specify both options at the same time.
    +
    Cannot write to restart file - MPI error: %s
    +
    This error was generated by MPI when reading/writing an MPI-IO restart +file.
    +
    Cannot yet use KSpace solver with grid with comm style tiled
    +
    This is current restriction in LAMMPS.
    +
    Cannot yet use comm_style tiled with multi-mode comm
    +
    Self-explanatory.
    +
    Cannot yet use comm_style tiled with triclinic box
    +
    Self-explanatory.
    +
    Cannot yet use fix bond/break with this improper style
    +
    This is a current restriction in LAMMPS.
    +
    Cannot yet use fix bond/create with this improper style
    +
    This is a current restriction in LAMMPS.
    +
    Cannot zero Langevin force of 0 atoms
    +
    The group has zero atoms, so you cannot request its force +be zeroed.
    +
    Cannot zero gld force for zero atoms
    +
    There are no atoms currently in the group.
    +
    Cannot zero momentum of no atoms
    +
    Self-explanatory.
    +
    Change_box command before simulation box is defined
    +
    Self-explanatory.
    +
    Change_box volume used incorrectly
    +
    The “dim volume” option must be used immediately following one or two +settings for “dim1 ...” (and optionally “dim2 ...”) and must be for a +different dimension, i.e. dim != dim1 and dim != dim2.
    +
    Chunk/atom compute does not exist for compute angmom/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute com/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute gyration/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute inertia/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute msd/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute omega/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute property/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute temp/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute torque/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for compute vcm/chunk
    +
    Self-explanatory.
    +
    Chunk/atom compute does not exist for fix ave/chunk
    +
    Self-explanatory.
    +
    Comm tiled invalid index in box drop brick
    +
    Internal error check in comm_style tiled which should not occur. +Contact the developers.
    +
    Comm tiled mis-match in box drop brick
    +
    Internal error check in comm_style tiled which should not occur. +Contact the developers.
    +
    Comm_modify group != atom_modify first group
    +
    Self-explanatory.
    +
    Communication cutoff for comm_style tiled cannot exceed periodic box length
    +
    Self-explanatory.
    +
    Communication cutoff too small for SNAP micro load balancing
    +
    This can happen if you change the neighbor skin after your pair_style command or if your box dimensions grow during a run. You can set the -cutoff explicitly via the comm_modify cutoff command. - -
    Compute %s does not allow use of dynamic group - -
    Dynamic groups have not yet been enabled for this compute. - -
    Compute ID for compute chunk/atom does not exist - -
    Self-explanatory. - -
    Compute ID for compute reduce does not exist - -
    Self-explanatory. - -
    Compute ID for compute slice does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/atom does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/chunk does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/correlate does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/histo does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/spatial does not exist - -
    Self-explanatory. - -
    Compute ID for fix ave/time does not exist - -
    Self-explanatory. - -
    Compute ID for fix store/state does not exist - -
    Self-explanatory. - -
    Compute ID for fix vector does not exist - -
    Self-explanatory. - -
    Compute ID must be alphanumeric or underscore characters - -
    Self-explanatory. - -
    Compute angle/local used when angles are not allowed - -
    The atom style does not support angles. - -
    Compute angmom/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute body/local requires atom style body - -
    Self-explanatory. - -
    Compute bond/local used when bonds are not allowed - -
    The atom style does not support bonds. - -
    Compute centro/atom requires a pair style be defined - -
    This is because the computation of the centro-symmetry values -uses a pairwise neighbor list. - -
    Compute chunk/atom compute array is accessed out-of-range - -
    The index for the array is out of bounds. - -
    Compute chunk/atom compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Compute chunk/atom compute does not calculate a per-atom vector - -
    Self-explanatory. - -
    Compute chunk/atom compute does not calculate per-atom values - -
    Self-explanatory. - -
    Compute chunk/atom fix array is accessed out-of-range - -
    the index for the array is out of bounds. - -
    Compute chunk/atom fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Compute chunk/atom fix does not calculate a per-atom vector - -
    Self-explanatory. - -
    Compute chunk/atom fix does not calculate per-atom values - -
    Self-explanatory. - -
    Compute chunk/atom for triclinic boxes requires units reduced - -
    Self-explanatory. - -
    Compute chunk/atom ids once but nchunk is not once - -
    You cannot assign chunks IDs to atom permanently if the number of -chunks may change. - -
    Compute chunk/atom molecule for non-molecular system - -
    Self-explanatory. - -
    Compute chunk/atom stores no IDs for compute property/chunk - -
    It will only store IDs if its compress option is enabled. - -
    Compute chunk/atom stores no coord1 for compute property/chunk - -
    Only certain binning options for comptue chunk/atom store coordinates. - -
    Compute chunk/atom stores no coord2 for compute property/chunk - -
    Only certain binning options for comptue chunk/atom store coordinates. - -
    Compute chunk/atom stores no coord3 for compute property/chunk - -
    Only certain binning options for comptue chunk/atom store coordinates. - -
    Compute chunk/atom variable is not atom-style variable - -
    Self-explanatory. - -
    Compute chunk/atom without bins cannot use discard mixed - -
    That discard option only applies to the binning styles. - -
    Compute cluster/atom cutoff is longer than pairwise cutoff - -
    Cannot identify clusters beyond cutoff. - -
    Compute cluster/atom requires a pair style be defined - -
    This is so that the pair style defines a cutoff distance which -is used to find clusters. - -
    Compute cna/atom cutoff is longer than pairwise cutoff - -
    Self-explantory. - -
    Compute cna/atom requires a pair style be defined - -
    Self-explantory. - -
    Compute com/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute contact/atom requires a pair style be defined - -
    Self-explantory. - -
    Compute contact/atom requires atom style sphere - -
    Self-explanatory. - -
    Compute coord/atom cutoff is longer than pairwise cutoff - -
    Cannot compute coordination at distances longer than the pair cutoff, -since those atoms are not in the neighbor list. - -
    Compute coord/atom requires a pair style be defined - -
    Self-explantory. - -
    Compute damage/atom requires peridynamic potential - -
    Damage is a Peridynamic-specific metric. It requires you -to be running a Peridynamics simulation. - -
    Compute dihedral/local used when dihedrals are not allowed - -
    The atom style does not support dihedrals. - -
    Compute dilatation/atom cannot be used with this pair style - -
    Self-explanatory. - -
    Compute dilatation/atom requires Peridynamic pair style - -
    Self-explanatory. - -
    Compute does not allow an extra compute or fix to be reset - -
    This is an internal LAMMPS error. Please report it to the -developers. - -
    Compute erotate/asphere requires atom style ellipsoid or line or tri - -
    Self-explanatory. - -
    Compute erotate/asphere requires extended particles - -
    This compute cannot be used with point paritlces. - -
    Compute erotate/rigid with non-rigid fix-ID - -
    Self-explanatory. - -
    Compute erotate/sphere requires atom style sphere - -
    Self-explanatory. - -
    Compute erotate/sphere/atom requires atom style sphere - -
    Self-explanatory. - -
    Compute event/displace has invalid fix event assigned - -
    This is an internal LAMMPS error. Please report it to the -developers. - -
    Compute group/group group ID does not exist - -
    Self-explanatory. - -
    Compute gyration/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute heat/flux compute ID does not compute ke/atom - -
    Self-explanatory. - -
    Compute heat/flux compute ID does not compute pe/atom - -
    Self-explanatory. - -
    Compute heat/flux compute ID does not compute stress/atom - -
    Self-explanatory. - -
    Compute improper/local used when impropers are not allowed - -
    The atom style does not support impropers. - -
    Compute inertia/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute ke/rigid with non-rigid fix-ID - -
    Self-explanatory. - -
    Compute msd/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute msd/chunk nchunk is not static - -
    This is required because the MSD cannot be computed consistently if +cutoff explicitly via the comm_modify cutoff command.
    +
    Compute %s does not allow use of dynamic group
    +
    Dynamic groups have not yet been enabled for this compute.
    +
    Compute ID for compute chunk/atom does not exist
    +
    Self-explanatory.
    +
    Compute ID for compute reduce does not exist
    +
    Self-explanatory.
    +
    Compute ID for compute slice does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/atom does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/chunk does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/correlate does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/histo does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/spatial does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix ave/time does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix store/state does not exist
    +
    Self-explanatory.
    +
    Compute ID for fix vector does not exist
    +
    Self-explanatory.
    +
    Compute ID must be alphanumeric or underscore characters
    +
    Self-explanatory.
    +
    Compute angle/local used when angles are not allowed
    +
    The atom style does not support angles.
    +
    Compute angmom/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute body/local requires atom style body
    +
    Self-explanatory.
    +
    Compute bond/local used when bonds are not allowed
    +
    The atom style does not support bonds.
    +
    Compute centro/atom requires a pair style be defined
    +
    This is because the computation of the centro-symmetry values +uses a pairwise neighbor list.
    +
    Compute chunk/atom compute array is accessed out-of-range
    +
    The index for the array is out of bounds.
    +
    Compute chunk/atom compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Compute chunk/atom compute does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Compute chunk/atom compute does not calculate per-atom values
    +
    Self-explanatory.
    +
    Compute chunk/atom fix array is accessed out-of-range
    +
    the index for the array is out of bounds.
    +
    Compute chunk/atom fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Compute chunk/atom fix does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Compute chunk/atom fix does not calculate per-atom values
    +
    Self-explanatory.
    +
    Compute chunk/atom for triclinic boxes requires units reduced
    +
    Self-explanatory.
    +
    Compute chunk/atom ids once but nchunk is not once
    +
    You cannot assign chunks IDs to atom permanently if the number of +chunks may change.
    +
    Compute chunk/atom molecule for non-molecular system
    +
    Self-explanatory.
    +
    Compute chunk/atom stores no IDs for compute property/chunk
    +
    It will only store IDs if its compress option is enabled.
    +
    Compute chunk/atom stores no coord1 for compute property/chunk
    +
    Only certain binning options for comptue chunk/atom store coordinates.
    +
    Compute chunk/atom stores no coord2 for compute property/chunk
    +
    Only certain binning options for comptue chunk/atom store coordinates.
    +
    Compute chunk/atom stores no coord3 for compute property/chunk
    +
    Only certain binning options for comptue chunk/atom store coordinates.
    +
    Compute chunk/atom variable is not atom-style variable
    +
    Self-explanatory.
    +
    Compute chunk/atom without bins cannot use discard mixed
    +
    That discard option only applies to the binning styles.
    +
    Compute cluster/atom cutoff is longer than pairwise cutoff
    +
    Cannot identify clusters beyond cutoff.
    +
    Compute cluster/atom requires a pair style be defined
    +
    This is so that the pair style defines a cutoff distance which +is used to find clusters.
    +
    Compute cna/atom cutoff is longer than pairwise cutoff
    +
    Self-explantory.
    +
    Compute cna/atom requires a pair style be defined
    +
    Self-explantory.
    +
    Compute com/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute contact/atom requires a pair style be defined
    +
    Self-explantory.
    +
    Compute contact/atom requires atom style sphere
    +
    Self-explanatory.
    +
    Compute coord/atom cutoff is longer than pairwise cutoff
    +
    Cannot compute coordination at distances longer than the pair cutoff, +since those atoms are not in the neighbor list.
    +
    Compute coord/atom requires a pair style be defined
    +
    Self-explantory.
    +
    Compute damage/atom requires peridynamic potential
    +
    Damage is a Peridynamic-specific metric. It requires you +to be running a Peridynamics simulation.
    +
    Compute dihedral/local used when dihedrals are not allowed
    +
    The atom style does not support dihedrals.
    +
    Compute dilatation/atom cannot be used with this pair style
    +
    Self-explanatory.
    +
    Compute dilatation/atom requires Peridynamic pair style
    +
    Self-explanatory.
    +
    Compute does not allow an extra compute or fix to be reset
    +
    This is an internal LAMMPS error. Please report it to the +developers.
    +
    Compute erotate/asphere requires atom style ellipsoid or line or tri
    +
    Self-explanatory.
    +
    Compute erotate/asphere requires extended particles
    +
    This compute cannot be used with point paritlces.
    +
    Compute erotate/rigid with non-rigid fix-ID
    +
    Self-explanatory.
    +
    Compute erotate/sphere requires atom style sphere
    +
    Self-explanatory.
    +
    Compute erotate/sphere/atom requires atom style sphere
    +
    Self-explanatory.
    +
    Compute event/displace has invalid fix event assigned
    +
    This is an internal LAMMPS error. Please report it to the +developers.
    +
    Compute group/group group ID does not exist
    +
    Self-explanatory.
    +
    Compute gyration/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute heat/flux compute ID does not compute ke/atom
    +
    Self-explanatory.
    +
    Compute heat/flux compute ID does not compute pe/atom
    +
    Self-explanatory.
    +
    Compute heat/flux compute ID does not compute stress/atom
    +
    Self-explanatory.
    +
    Compute improper/local used when impropers are not allowed
    +
    The atom style does not support impropers.
    +
    Compute inertia/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute ke/rigid with non-rigid fix-ID
    +
    Self-explanatory.
    +
    Compute msd/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute msd/chunk nchunk is not static
    +
    This is required because the MSD cannot be computed consistently if the number of chunks is changing. Compute chunk/atom allows setting -nchunk to be static. - -
    Compute nve/asphere requires atom style ellipsoid - -
    Self-explanatory. - -
    Compute nvt/nph/npt asphere requires atom style ellipsoid - -
    Self-explanatory. - -
    Compute omega/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute pair must use group all - -
    Pair styles accumlate energy on all atoms. - -
    Compute pe must use group all - -
    Energies computed by potentials (pair, bond, etc) are computed on all -atoms. - -
    Compute plasticity/atom cannot be used with this pair style - -
    Self-explanatory. - -
    Compute plasticity/atom requires Peridynamic pair style - -
    Self-explanatory. - -
    Compute pressure must use group all - -
    Virial contributions computed by potentials (pair, bond, etc) are -computed on all atoms. - -
    Compute pressure requires temperature ID to include kinetic energy - -
    The keflag cannot be used unless a temperature compute is provided. - -
    Compute pressure temperature ID does not compute temperature - -
    The compute ID assigned to a pressure computation must compute -temperature. - -
    Compute property/atom floating point vector does not exist - -
    The command is accessing a vector added by the fix property/atom -command, that does not exist. - -
    Compute property/atom for atom property that isn't allocated - -
    Self-explanatory. - -
    Compute property/atom integer vector does not exist - -
    The command is accessing a vector added by the fix property/atom -command, that does not exist. - -
    Compute property/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute property/local cannot use these inputs together - -
    Only inputs that generate the same number of datums can be used -togther. E.g. bond and angle quantities cannot be mixed. - -
    Compute property/local does not (yet) work with atom_style template - -
    Self-explanatory. - -
    Compute property/local for property that isn't allocated - -
    Self-explanatory. - -
    Compute rdf requires a pair style be defined - -
    Self-explanatory. - -
    Compute reduce compute array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Compute reduce compute calculates global values - -
    A compute that calculates peratom or local values is required. - -
    Compute reduce compute does not calculate a local array - -
    Self-explanatory. - -
    Compute reduce compute does not calculate a local vector - -
    Self-explanatory. - -
    Compute reduce compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Compute reduce compute does not calculate a per-atom vector - -
    Self-explanatory. - -
    Compute reduce fix array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Compute reduce fix calculates global values - -
    A fix that calculates peratom or local values is required. - -
    Compute reduce fix does not calculate a local array - -
    Self-explanatory. - -
    Compute reduce fix does not calculate a local vector - -
    Self-explanatory. - -
    Compute reduce fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Compute reduce fix does not calculate a per-atom vector - -
    Self-explanatory. - -
    Compute reduce replace requires min or max mode - -
    Self-explanatory. - -
    Compute reduce variable is not atom-style variable - -
    Self-explanatory. - -
    Compute slice compute array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Compute slice compute does not calculate a global array - -
    Self-explanatory. - -
    Compute slice compute does not calculate a global vector - -
    Self-explanatory. - -
    Compute slice compute does not calculate global vector or array - -
    Self-explanatory. - -
    Compute slice compute vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Compute slice fix array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Compute slice fix does not calculate a global array - -
    Self-explanatory. - -
    Compute slice fix does not calculate a global vector - -
    Self-explanatory. - -
    Compute slice fix does not calculate global vector or array - -
    Self-explanatory. - -
    Compute slice fix vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Compute sna/atom cutoff is longer than pairwise cutoff - -
    Self-explanatory. - -
    Compute sna/atom requires a pair style be defined - -
    Self-explanatory. - -
    Compute snad/atom cutoff is longer than pairwise cutoff - -
    Self-explanatory. - -
    Compute snad/atom requires a pair style be defined - -
    Self-explanatory. - -
    Compute snav/atom cutoff is longer than pairwise cutoff - -
    Self-explanatory. - -
    Compute snav/atom requires a pair style be defined - -
    Self-explanatory. - -
    Compute stress/atom temperature ID does not compute temperature - -
    The specified compute must compute temperature. - -
    Compute temp/asphere requires atom style ellipsoid - -
    Self-explanatory. - -
    Compute temp/asphere requires extended particles - -
    This compute cannot be used with point paritlces. - -
    Compute temp/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute temp/cs requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Compute temp/cs used when bonds are not allowed - -
    This compute only works on pairs of bonded particles. - -
    Compute temp/partial cannot use vz for 2d systemx - -
    Self-explanatory. - -
    Compute temp/profile cannot bin z for 2d systems - -
    Self-explanatory. - -
    Compute temp/profile cannot use vz for 2d systemx - -
    Self-explanatory. - -
    Compute temp/sphere requires atom style sphere - -
    Self-explanatory. - -
    Compute ti kspace style does not exist - -
    Self-explanatory. - -
    Compute ti pair style does not exist - -
    Self-explanatory. - -
    Compute ti tail when pair style does not compute tail corrections - -
    Self-explanatory. - -
    Compute torque/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Compute used in dump between runs is not current - -
    The compute was not invoked on the current timestep, therefore it -cannot be used in a dump between runs. - -
    Compute used in variable between runs is not current - -
    Computes cannot be invoked by a variable in between runs. Thus they +nchunk to be static.
    +
    Compute nve/asphere requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Compute nvt/nph/npt asphere requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Compute omega/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute pair must use group all
    +
    Pair styles accumlate energy on all atoms.
    +
    Compute pe must use group all
    +
    Energies computed by potentials (pair, bond, etc) are computed on all +atoms.
    +
    Compute plasticity/atom cannot be used with this pair style
    +
    Self-explanatory.
    +
    Compute plasticity/atom requires Peridynamic pair style
    +
    Self-explanatory.
    +
    Compute pressure must use group all
    +
    Virial contributions computed by potentials (pair, bond, etc) are +computed on all atoms.
    +
    Compute pressure requires temperature ID to include kinetic energy
    +
    The keflag cannot be used unless a temperature compute is provided.
    +
    Compute pressure temperature ID does not compute temperature
    +
    The compute ID assigned to a pressure computation must compute +temperature.
    +
    Compute property/atom floating point vector does not exist
    +
    The command is accessing a vector added by the fix property/atom +command, that does not exist.
    +
    Compute property/atom for atom property that isn’t allocated
    +
    Self-explanatory.
    +
    Compute property/atom integer vector does not exist
    +
    The command is accessing a vector added by the fix property/atom +command, that does not exist.
    +
    Compute property/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute property/local cannot use these inputs together
    +
    Only inputs that generate the same number of datums can be used +togther. E.g. bond and angle quantities cannot be mixed.
    +
    Compute property/local does not (yet) work with atom_style template
    +
    Self-explanatory.
    +
    Compute property/local for property that isn’t allocated
    +
    Self-explanatory.
    +
    Compute rdf requires a pair style be defined
    +
    Self-explanatory.
    +
    Compute reduce compute array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Compute reduce compute calculates global values
    +
    A compute that calculates peratom or local values is required.
    +
    Compute reduce compute does not calculate a local array
    +
    Self-explanatory.
    +
    Compute reduce compute does not calculate a local vector
    +
    Self-explanatory.
    +
    Compute reduce compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Compute reduce compute does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Compute reduce fix array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Compute reduce fix calculates global values
    +
    A fix that calculates peratom or local values is required.
    +
    Compute reduce fix does not calculate a local array
    +
    Self-explanatory.
    +
    Compute reduce fix does not calculate a local vector
    +
    Self-explanatory.
    +
    Compute reduce fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Compute reduce fix does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Compute reduce replace requires min or max mode
    +
    Self-explanatory.
    +
    Compute reduce variable is not atom-style variable
    +
    Self-explanatory.
    +
    Compute slice compute array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Compute slice compute does not calculate a global array
    +
    Self-explanatory.
    +
    Compute slice compute does not calculate a global vector
    +
    Self-explanatory.
    +
    Compute slice compute does not calculate global vector or array
    +
    Self-explanatory.
    +
    Compute slice compute vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Compute slice fix array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Compute slice fix does not calculate a global array
    +
    Self-explanatory.
    +
    Compute slice fix does not calculate a global vector
    +
    Self-explanatory.
    +
    Compute slice fix does not calculate global vector or array
    +
    Self-explanatory.
    +
    Compute slice fix vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Compute sna/atom cutoff is longer than pairwise cutoff
    +
    Self-explanatory.
    +
    Compute sna/atom requires a pair style be defined
    +
    Self-explanatory.
    +
    Compute snad/atom cutoff is longer than pairwise cutoff
    +
    Self-explanatory.
    +
    Compute snad/atom requires a pair style be defined
    +
    Self-explanatory.
    +
    Compute snav/atom cutoff is longer than pairwise cutoff
    +
    Self-explanatory.
    +
    Compute snav/atom requires a pair style be defined
    +
    Self-explanatory.
    +
    Compute stress/atom temperature ID does not compute temperature
    +
    The specified compute must compute temperature.
    +
    Compute temp/asphere requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Compute temp/asphere requires extended particles
    +
    This compute cannot be used with point paritlces.
    +
    Compute temp/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute temp/cs requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Compute temp/cs used when bonds are not allowed
    +
    This compute only works on pairs of bonded particles.
    +
    Compute temp/partial cannot use vz for 2d systemx
    +
    Self-explanatory.
    +
    Compute temp/profile cannot bin z for 2d systems
    +
    Self-explanatory.
    +
    Compute temp/profile cannot use vz for 2d systemx
    +
    Self-explanatory.
    +
    Compute temp/sphere requires atom style sphere
    +
    Self-explanatory.
    +
    Compute ti kspace style does not exist
    +
    Self-explanatory.
    +
    Compute ti pair style does not exist
    +
    Self-explanatory.
    +
    Compute ti tail when pair style does not compute tail corrections
    +
    Self-explanatory.
    +
    Compute torque/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Compute used in dump between runs is not current
    +
    The compute was not invoked on the current timestep, therefore it +cannot be used in a dump between runs.
    +
    Compute used in variable between runs is not current
    +
    Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the -variable command for more info. - -
    Compute used in variable thermo keyword between runs is not current - -
    Some thermo keywords rely on a compute to calculate their value(s). +variable command for more info.
    +
    Compute used in variable thermo keyword between runs is not current
    +
    Some thermo keywords rely on a compute to calculate their value(s). Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the -variable command for more info. - -
    Compute vcm/chunk does not use chunk/atom compute - -
    The style of the specified compute is not chunk/atom. - -
    Computed temperature for fix temp/berendsen cannot be 0.0 - -
    Self-explanatory. - -
    Computed temperature for fix temp/rescale cannot be 0.0 - -
    Cannot rescale the temperature to a new value if the current -temperature is 0.0. - -
    Core/shell partner atom not found - -
    Could not find one of the atoms in the bond pair. - -
    Core/shell partners were not all found - -
    Could not find or more atoms in the bond pairs. - -
    Could not adjust g_ewald_6 - -
    The Newton-Raphson solver failed to converge to a good value for +variable command for more info.
    +
    Compute vcm/chunk does not use chunk/atom compute
    +
    The style of the specified compute is not chunk/atom.
    +
    Computed temperature for fix temp/berendsen cannot be 0.0
    +
    Self-explanatory.
    +
    Computed temperature for fix temp/rescale cannot be 0.0
    +
    Cannot rescale the temperature to a new value if the current +temperature is 0.0.
    +
    Core/shell partner atom not found
    +
    Could not find one of the atoms in the bond pair.
    +
    Core/shell partners were not all found
    +
    Could not find or more atoms in the bond pairs.
    +
    Could not adjust g_ewald_6
    +
    The Newton-Raphson solver failed to converge to a good value for g_ewald. This error should not occur for typical problems. Please -send an email to the developers. - -
    Could not compute g_ewald - -
    The Newton-Raphson solver failed to converge to a good value for +send an email to the developers.
    +
    Could not compute g_ewald
    +
    The Newton-Raphson solver failed to converge to a good value for g_ewald. This error should not occur for typical problems. Please -send an email to the developers. - -
    Could not compute grid size - -
    The code is unable to compute a grid size consistent with the desired +send an email to the developers.
    +
    Could not compute grid size
    +
    The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers. - -
    Could not compute grid size for Coulomb interaction - -
    The code is unable to compute a grid size consistent with the desired +send an email to the developers.
    +
    Could not compute grid size for Coulomb interaction
    +
    The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers. - -
    Could not compute grid size for Dispersion - -
    The code is unable to compute a grid size consistent with the desired +send an email to the developers.
    +
    Could not compute grid size for Dispersion
    +
    The code is unable to compute a grid size consistent with the desired accuracy. This error should not occur for typical problems. Please -send an email to the developers. - -
    Could not create 3d FFT plan - -
    The FFT setup for the PPPM solver failed, typically due +send an email to the developers.
    +
    Could not create 3d FFT plan
    +
    The FFT setup for the PPPM solver failed, typically due to lack of memory. This is an unusual error. Check the -size of the FFT grid you are requesting. - -
    Could not create 3d grid of processors - -
    The specified constraints did not allow a Px by Py by Pz grid to be -created where Px * Py * Pz = P = total number of processors. - -
    Could not create 3d remap plan - -
    The FFT setup in pppm failed. - -
    Could not create Python function arguments - -
    This is an internal Python error, possibly because the number -of inputs to the function is too large. - -
    Could not create numa grid of processors - -
    The specified constraints did not allow this style of grid to be +size of the FFT grid you are requesting.
    +
    Could not create 3d grid of processors
    +
    The specified constraints did not allow a Px by Py by Pz grid to be +created where Px * Py * Pz = P = total number of processors.
    +
    Could not create 3d remap plan
    +
    The FFT setup in pppm failed.
    +
    Could not create Python function arguments
    +
    This is an internal Python error, possibly because the number +of inputs to the function is too large.
    +
    Could not create numa grid of processors
    +
    The specified constraints did not allow this style of grid to be created. Usually this is because the total processor count is not a -multiple of the cores/node or the user specified processor count is > -1 in one of the dimensions. - -
    Could not create twolevel 3d grid of processors - -
    The specified constraints did not allow this style of grid to be -created. - -
    Could not evaluate Python function input variable - -
    Self-explanatory. - -
    Could not find Python function - -
    The provided Python code was run successfully, but it not -define a callable function with the required name. - -
    Could not find atom_modify first group ID - -
    Self-explanatory. - -
    Could not find change_box group ID - -
    Group ID used in the change_box command does not exist. - -
    Could not find compute ID for PRD - -
    Self-explanatory. - -
    Could not find compute ID for TAD - -
    Self-explanatory. - -
    Could not find compute ID for temperature bias - -
    Self-explanatory. - -
    Could not find compute ID to delete - -
    Self-explanatory. - -
    Could not find compute displace/atom fix ID - -
    Self-explanatory. - -
    Could not find compute event/displace fix ID - -
    Self-explanatory. - -
    Could not find compute group ID - -
    Self-explanatory. - -
    Could not find compute heat/flux compute ID - -
    Self-explanatory. - -
    Could not find compute msd fix ID - -
    Self-explanatory. - -
    Could not find compute pressure temperature ID - -
    The compute ID for calculating temperature does not exist. - -
    Could not find compute stress/atom temperature ID - -
    Self-explanatory. - -
    Could not find compute vacf fix ID - -
    Self-explanatory. - -
    Could not find compute/voronoi surface group ID - -
    Self-explanatory. - -
    Could not find compute_modify ID - -
    Self-explanatory. - -
    Could not find custom per-atom property ID - -
    Self-explanatory. - -
    Could not find delete_atoms group ID - -
    Group ID used in the delete_atoms command does not exist. - -
    Could not find delete_atoms region ID - -
    Region ID used in the delete_atoms command does not exist. - -
    Could not find displace_atoms group ID - -
    Group ID used in the displace_atoms command does not exist. - -
    Could not find dump custom compute ID - -
    Self-explanatory. - -
    Could not find dump custom fix ID - -
    Self-explanatory. - -
    Could not find dump custom variable name - -
    Self-explanatory. - -
    Could not find dump group ID - -
    A group ID used in the dump command does not exist. - -
    Could not find dump local compute ID - -
    Self-explanatory. - -
    Could not find dump local fix ID - -
    Self-explanatory. - -
    Could not find dump modify compute ID - -
    Self-explanatory. - -
    Could not find dump modify custom atom floating point property ID - -
    Self-explanatory. - -
    Could not find dump modify custom atom integer property ID - -
    Self-explanatory. - -
    Could not find dump modify fix ID - -
    Self-explanatory. - -
    Could not find dump modify variable name - -
    Self-explanatory. - -
    Could not find fix ID to delete - -
    Self-explanatory. - -
    Could not find fix adapt storage fix ID - -
    This should not happen unless you explicitly deleted -a secondary fix that fix adapt created internally. - -
    Could not find fix gcmc exclusion group ID - -
    Self-explanatory. - -
    Could not find fix gcmc rotation group ID - -
    Self-explanatory. - -
    Could not find fix group ID - -
    A group ID used in the fix command does not exist. - -
    Could not find fix msst compute ID - -
    Self-explanatory. - -
    Could not find fix poems group ID - -
    A group ID used in the fix poems command does not exist. - -
    Could not find fix recenter group ID - -
    A group ID used in the fix recenter command does not exist. - -
    Could not find fix rigid group ID - -
    A group ID used in the fix rigid command does not exist. - -
    Could not find fix srd group ID - -
    Self-explanatory. - -
    Could not find fix_modify ID - -
    A fix ID used in the fix_modify command does not exist. - -
    Could not find fix_modify pressure ID - -
    The compute ID for computing pressure does not exist. - -
    Could not find fix_modify temperature ID - -
    The compute ID for computing temperature does not exist. - -
    Could not find group clear group ID - -
    Self-explanatory. - -
    Could not find group delete group ID - -
    Self-explanatory. - -
    Could not find set group ID - -
    Group ID specified in set command does not exist. - -
    Could not find thermo compute ID - -
    Compute ID specified in thermo_style command does not exist. - -
    Could not find thermo custom compute ID - -
    The compute ID needed by thermo style custom to compute a requested -quantity does not exist. - -
    Could not find thermo custom fix ID - -
    The fix ID needed by thermo style custom to compute a requested -quantity does not exist. - -
    Could not find thermo custom variable name - -
    Self-explanatory. - -
    Could not find thermo fix ID - -
    Fix ID specified in thermo_style command does not exist. - -
    Could not find thermo variable name - -
    Self-explanatory. - -
    Could not find thermo_modify pressure ID - -
    The compute ID needed by thermo style custom to compute pressure does -not exist. - -
    Could not find thermo_modify temperature ID - -
    The compute ID needed by thermo style custom to compute temperature does -not exist. - -
    Could not find undump ID - -
    A dump ID used in the undump command does not exist. - -
    Could not find velocity group ID - -
    A group ID used in the velocity command does not exist. - -
    Could not find velocity temperature ID - -
    The compute ID needed by the velocity command to compute temperature -does not exist. - -
    Could not find/initialize a specified accelerator device - -
    Could not initialize at least one of the devices specified for the gpu -package - -
    Could not grab element entry from EIM potential file - -
    Self-explanatory - -
    Could not grab global entry from EIM potential file - -
    Self-explanatory. - -
    Could not grab pair entry from EIM potential file - -
    Self-explanatory. - -
    Could not initialize embedded Python - -
    The main module in Python was not accessible. - -
    Could not open Python file - -
    The specified file of Python code cannot be opened. Check that the -path and name are correct. - -
    Could not process Python file - -
    The Python code in the specified file was not run sucessfully by -Python, probably due to errors in the Python code. - -
    Could not process Python string - -
    The Python code in the here string was not run sucessfully by Python, -probably due to errors in the Python code. - -
    Coulomb PPPMDisp order has been reduced below minorder - -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command. - -
    Coulomb cut not supported in pair_style buck/long/coul/coul - -
    Must use long-range Coulombic interactions. - -
    Coulomb cut not supported in pair_style lj/long/coul/long - -
    Must use long-range Coulombic interactions. - -
    Coulomb cut not supported in pair_style lj/long/tip4p/long - -
    Must use long-range Coulombic interactions. - -
    Coulomb cutoffs of pair hybrid sub-styles do not match - -
    If using a Kspace solver, all Coulomb cutoffs of long pair styles must -be the same. - -
    Coulombic cut not supported in pair_style lj/long/dipole/long - -
    Must use long-range Coulombic interactions. - -
    Cound not find dump_modify ID - -
    Self-explanatory. - -
    Create_atoms command before simulation box is defined - -
    The create_atoms command cannot be used before a read_data, -read_restart, or create_box command. - -
    Create_atoms molecule has atom IDs, but system does not - -
    The atom_style id command can be used to force atom IDs to be stored. - -
    Create_atoms molecule must have atom types - -
    The defined molecule does not specify atom types. - -
    Create_atoms molecule must have coordinates - -
    The defined molecule does not specify coordinates. - -
    Create_atoms region ID does not exist - -
    A region ID used in the create_atoms command does not exist. - -
    Create_bonds command before simulation box is defined - -
    Self-explanatory. - -
    Create_bonds command requires no kspace_style be defined - -
    This is so that atom pairs that are already bonded to not appear -in the neighbor list. - -
    Create_bonds command requires special_bonds 1-2 weights be 0.0 - -
    This is so that atom pairs that are already bonded to not appear in -the neighbor list. - -
    Create_bonds max distance > neighbor cutoff - -
    Can only create bonds for atom pairs that will be in neighbor list. - -
    Create_bonds requires a pair style be defined - -
    Self-explanatory. - -
    Create_box region ID does not exist - -
    Self-explanatory. - -
    Create_box region does not support a bounding box - -
    Not all regions represent bounded volumes. You cannot use -such a region with the create_box command. - -
    Custom floating point vector for fix store/state does not exist - -
    The command is accessing a vector added by the fix property/atom -command, that does not exist. - -
    Custom integer vector for fix store/state does not exist - -
    The command is accessing a vector added by the fix property/atom -command, that does not exist. - -
    Custom per-atom property ID is not floating point - -
    Self-explanatory. - -
    Custom per-atom property ID is not integer - -
    Self-explanatory. - -
    Cut-offs missing in pair_style lj/long/dipole/long - -
    Self-explanatory. - -
    Cutoffs missing in pair_style buck/long/coul/long - -
    Self-exlanatory. - -
    Cutoffs missing in pair_style lj/long/coul/long - -
    Self-explanatory. - -
    Cyclic loop in joint connections - -
    Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a ring (or cycle). - -
    Degenerate lattice primitive vectors - -
    Invalid set of 3 lattice vectors for lattice command. - -
    Delete region ID does not exist - -
    Self-explanatory. - -
    Delete_atoms command before simulation box is defined - -
    The delete_atoms command cannot be used before a read_data, -read_restart, or create_box command. - -
    Delete_atoms cutoff > max neighbor cutoff - -
    Can only delete atoms in atom pairs that will be in neighbor list. - -
    Delete_atoms requires a pair style be defined - -
    This is because atom deletion within a cutoff uses a pairwise -neighbor list. - -
    Delete_bonds command before simulation box is defined - -
    The delete_bonds command cannot be used before a read_data, -read_restart, or create_box command. - -
    Delete_bonds command with no atoms existing - -
    No atoms are yet defined so the delete_bonds command cannot be used. - -
    Delta_mu not allowed when not using semi-grand in fix atom/swap command - -
    Self-explanatory. - -
    Deposition region extends outside simulation box - -
    Self-explanatory. - -
    Did not assign all atoms correctly - -
    Atoms read in from a data file were not assigned correctly to +multiple of the cores/node or the user specified processor count is > +1 in one of the dimensions.
    +
    Could not create twolevel 3d grid of processors
    +
    The specified constraints did not allow this style of grid to be +created.
    +
    Could not evaluate Python function input variable
    +
    Self-explanatory.
    +
    Could not find Python function
    +
    The provided Python code was run successfully, but it not +define a callable function with the required name.
    +
    Could not find atom_modify first group ID
    +
    Self-explanatory.
    +
    Could not find change_box group ID
    +
    Group ID used in the change_box command does not exist.
    +
    Could not find compute ID for PRD
    +
    Self-explanatory.
    +
    Could not find compute ID for TAD
    +
    Self-explanatory.
    +
    Could not find compute ID for temperature bias
    +
    Self-explanatory.
    +
    Could not find compute ID to delete
    +
    Self-explanatory.
    +
    Could not find compute displace/atom fix ID
    +
    Self-explanatory.
    +
    Could not find compute event/displace fix ID
    +
    Self-explanatory.
    +
    Could not find compute group ID
    +
    Self-explanatory.
    +
    Could not find compute heat/flux compute ID
    +
    Self-explanatory.
    +
    Could not find compute msd fix ID
    +
    Self-explanatory.
    +
    Could not find compute pressure temperature ID
    +
    The compute ID for calculating temperature does not exist.
    +
    Could not find compute stress/atom temperature ID
    +
    Self-explanatory.
    +
    Could not find compute vacf fix ID
    +
    Self-explanatory.
    +
    Could not find compute/voronoi surface group ID
    +
    Self-explanatory.
    +
    Could not find compute_modify ID
    +
    Self-explanatory.
    +
    Could not find custom per-atom property ID
    +
    Self-explanatory.
    +
    Could not find delete_atoms group ID
    +
    Group ID used in the delete_atoms command does not exist.
    +
    Could not find delete_atoms region ID
    +
    Region ID used in the delete_atoms command does not exist.
    +
    Could not find displace_atoms group ID
    +
    Group ID used in the displace_atoms command does not exist.
    +
    Could not find dump custom compute ID
    +
    Self-explanatory.
    +
    Could not find dump custom fix ID
    +
    Self-explanatory.
    +
    Could not find dump custom variable name
    +
    Self-explanatory.
    +
    Could not find dump group ID
    +
    A group ID used in the dump command does not exist.
    +
    Could not find dump local compute ID
    +
    Self-explanatory.
    +
    Could not find dump local fix ID
    +
    Self-explanatory.
    +
    Could not find dump modify compute ID
    +
    Self-explanatory.
    +
    Could not find dump modify custom atom floating point property ID
    +
    Self-explanatory.
    +
    Could not find dump modify custom atom integer property ID
    +
    Self-explanatory.
    +
    Could not find dump modify fix ID
    +
    Self-explanatory.
    +
    Could not find dump modify variable name
    +
    Self-explanatory.
    +
    Could not find fix ID to delete
    +
    Self-explanatory.
    +
    Could not find fix adapt storage fix ID
    +
    This should not happen unless you explicitly deleted +a secondary fix that fix adapt created internally.
    +
    Could not find fix gcmc exclusion group ID
    +
    Self-explanatory.
    +
    Could not find fix gcmc rotation group ID
    +
    Self-explanatory.
    +
    Could not find fix group ID
    +
    A group ID used in the fix command does not exist.
    +
    Could not find fix msst compute ID
    +
    Self-explanatory.
    +
    Could not find fix poems group ID
    +
    A group ID used in the fix poems command does not exist.
    +
    Could not find fix recenter group ID
    +
    A group ID used in the fix recenter command does not exist.
    +
    Could not find fix rigid group ID
    +
    A group ID used in the fix rigid command does not exist.
    +
    Could not find fix srd group ID
    +
    Self-explanatory.
    +
    Could not find fix_modify ID
    +
    A fix ID used in the fix_modify command does not exist.
    +
    Could not find fix_modify pressure ID
    +
    The compute ID for computing pressure does not exist.
    +
    Could not find fix_modify temperature ID
    +
    The compute ID for computing temperature does not exist.
    +
    Could not find group clear group ID
    +
    Self-explanatory.
    +
    Could not find group delete group ID
    +
    Self-explanatory.
    +
    Could not find set group ID
    +
    Group ID specified in set command does not exist.
    +
    Could not find thermo compute ID
    +
    Compute ID specified in thermo_style command does not exist.
    +
    Could not find thermo custom compute ID
    +
    The compute ID needed by thermo style custom to compute a requested +quantity does not exist.
    +
    Could not find thermo custom fix ID
    +
    The fix ID needed by thermo style custom to compute a requested +quantity does not exist.
    +
    Could not find thermo custom variable name
    +
    Self-explanatory.
    +
    Could not find thermo fix ID
    +
    Fix ID specified in thermo_style command does not exist.
    +
    Could not find thermo variable name
    +
    Self-explanatory.
    +
    Could not find thermo_modify pressure ID
    +
    The compute ID needed by thermo style custom to compute pressure does +not exist.
    +
    Could not find thermo_modify temperature ID
    +
    The compute ID needed by thermo style custom to compute temperature does +not exist.
    +
    Could not find undump ID
    +
    A dump ID used in the undump command does not exist.
    +
    Could not find velocity group ID
    +
    A group ID used in the velocity command does not exist.
    +
    Could not find velocity temperature ID
    +
    The compute ID needed by the velocity command to compute temperature +does not exist.
    +
    Could not find/initialize a specified accelerator device
    +
    Could not initialize at least one of the devices specified for the gpu +package
    +
    Could not grab element entry from EIM potential file
    +
    Self-explanatory
    +
    Could not grab global entry from EIM potential file
    +
    Self-explanatory.
    +
    Could not grab pair entry from EIM potential file
    +
    Self-explanatory.
    +
    Could not initialize embedded Python
    +
    The main module in Python was not accessible.
    +
    Could not open Python file
    +
    The specified file of Python code cannot be opened. Check that the +path and name are correct.
    +
    Could not process Python file
    +
    The Python code in the specified file was not run sucessfully by +Python, probably due to errors in the Python code.
    +
    Could not process Python string
    +
    The Python code in the here string was not run sucessfully by Python, +probably due to errors in the Python code.
    +
    Coulomb PPPMDisp order has been reduced below minorder
    +
    The default minimum order is 2. This can be reset by the +kspace_modify minorder command.
    +
    Coulomb cut not supported in pair_style buck/long/coul/coul
    +
    Must use long-range Coulombic interactions.
    +
    Coulomb cut not supported in pair_style lj/long/coul/long
    +
    Must use long-range Coulombic interactions.
    +
    Coulomb cut not supported in pair_style lj/long/tip4p/long
    +
    Must use long-range Coulombic interactions.
    +
    Coulomb cutoffs of pair hybrid sub-styles do not match
    +
    If using a Kspace solver, all Coulomb cutoffs of long pair styles must +be the same.
    +
    Coulombic cut not supported in pair_style lj/long/dipole/long
    +
    Must use long-range Coulombic interactions.
    +
    Cound not find dump_modify ID
    +
    Self-explanatory.
    +
    Create_atoms command before simulation box is defined
    +
    The create_atoms command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Create_atoms molecule has atom IDs, but system does not
    +
    The atom_style id command can be used to force atom IDs to be stored.
    +
    Create_atoms molecule must have atom types
    +
    The defined molecule does not specify atom types.
    +
    Create_atoms molecule must have coordinates
    +
    The defined molecule does not specify coordinates.
    +
    Create_atoms region ID does not exist
    +
    A region ID used in the create_atoms command does not exist.
    +
    Create_bonds command before simulation box is defined
    +
    Self-explanatory.
    +
    Create_bonds command requires no kspace_style be defined
    +
    This is so that atom pairs that are already bonded to not appear +in the neighbor list.
    +
    Create_bonds command requires special_bonds 1-2 weights be 0.0
    +
    This is so that atom pairs that are already bonded to not appear in +the neighbor list.
    +
    Create_bonds max distance > neighbor cutoff
    +
    Can only create bonds for atom pairs that will be in neighbor list.
    +
    Create_bonds requires a pair style be defined
    +
    Self-explanatory.
    +
    Create_box region ID does not exist
    +
    Self-explanatory.
    +
    Create_box region does not support a bounding box
    +
    Not all regions represent bounded volumes. You cannot use +such a region with the create_box command.
    +
    Custom floating point vector for fix store/state does not exist
    +
    The command is accessing a vector added by the fix property/atom +command, that does not exist.
    +
    Custom integer vector for fix store/state does not exist
    +
    The command is accessing a vector added by the fix property/atom +command, that does not exist.
    +
    Custom per-atom property ID is not floating point
    +
    Self-explanatory.
    +
    Custom per-atom property ID is not integer
    +
    Self-explanatory.
    +
    Cut-offs missing in pair_style lj/long/dipole/long
    +
    Self-explanatory.
    +
    Cutoffs missing in pair_style buck/long/coul/long
    +
    Self-exlanatory.
    +
    Cutoffs missing in pair_style lj/long/coul/long
    +
    Self-explanatory.
    +
    Cyclic loop in joint connections
    +
    Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a ring (or cycle).
    +
    Degenerate lattice primitive vectors
    +
    Invalid set of 3 lattice vectors for lattice command.
    +
    Delete region ID does not exist
    +
    Self-explanatory.
    +
    Delete_atoms command before simulation box is defined
    +
    The delete_atoms command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Delete_atoms cutoff > max neighbor cutoff
    +
    Can only delete atoms in atom pairs that will be in neighbor list.
    +
    Delete_atoms requires a pair style be defined
    +
    This is because atom deletion within a cutoff uses a pairwise +neighbor list.
    +
    Delete_bonds command before simulation box is defined
    +
    The delete_bonds command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Delete_bonds command with no atoms existing
    +
    No atoms are yet defined so the delete_bonds command cannot be used.
    +
    Delta_mu not allowed when not using semi-grand in fix atom/swap command
    +
    Self-explanatory.
    +
    Deposition region extends outside simulation box
    +
    Self-explanatory.
    +
    Did not assign all atoms correctly
    +
    Atoms read in from a data file were not assigned correctly to processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box. - -
    Did not assign all restart atoms correctly - -
    Atoms read in from the restart file were not assigned correctly to +outside a non-periodic simulation box.
    +
    Did not assign all restart atoms correctly
    +
    Atoms read in from the restart file were not assigned correctly to processors. This is likely due to some atom coordinates being outside a non-periodic simulation box. Normally this should not happen. You -may wish to use the "remap" option on the read_restart command to see -if this helps. - -
    Did not find all elements in MEAM library file - -
    The requested elements were not found in the MEAM file. - -
    Did not find fix shake partner info - -
    Could not find bond partners implied by fix shake command. This error +may wish to use the “remap” option on the read_restart command to see +if this helps.
    +
    Did not find all elements in MEAM library file
    +
    The requested elements were not found in the MEAM file.
    +
    Did not find fix shake partner info
    +
    Could not find bond partners implied by fix shake command. This error can be triggered if the delete_bonds command was used before fix shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 -weighting list via the special keyword. - -
    Did not find keyword in table file - -
    Keyword used in pair_coeff command was not found in table file. - -
    Did not set pressure for fix rigid/nph - -
    The press keyword must be specified. - -
    Did not set temp for fix rigid/nvt/small - -
    Self-explanatory. - -
    Did not set temp or press for fix rigid/npt/small - -
    Self-explanatory. - -
    Did not set temperature for fix rigid/nvt - -
    The temp keyword must be specified. - -
    Did not set temperature or pressure for fix rigid/npt - -
    The temp and press keywords must be specified. - -
    Dihedral atom missing in delete_bonds - -
    The delete_bonds command cannot find one or more atoms in a particular +weighting list via the special keyword.
    +
    Did not find keyword in table file
    +
    Keyword used in pair_coeff command was not found in table file.
    +
    Did not set pressure for fix rigid/nph
    +
    The press keyword must be specified.
    +
    Did not set temp for fix rigid/nvt/small
    +
    Self-explanatory.
    +
    Did not set temp or press for fix rigid/npt/small
    +
    Self-explanatory.
    +
    Did not set temperature for fix rigid/nvt
    +
    The temp keyword must be specified.
    +
    Did not set temperature or pressure for fix rigid/npt
    +
    The temp and press keywords must be specified.
    +
    Dihedral atom missing in delete_bonds
    +
    The delete_bonds command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid dihedral. - -
    Dihedral atom missing in set command - -
    The set command cannot find one or more atoms in a particular dihedral +or the atoms are too far apart to make a valid dihedral.
    +
    Dihedral atom missing in set command
    +
    The set command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid dihedral. - -
    Dihedral atoms %d %d %d %d missing on proc %d at step %ld - -
    One or more of 4 atoms needed to compute a particular dihedral are +atoms are too far apart to make a valid dihedral.
    +
    Dihedral atoms %d %d %d %d missing on proc %d at step %ld
    +
    One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away. - -
    Dihedral atoms missing on proc %d at step %ld - -
    One or more of 4 atoms needed to compute a particular dihedral are +too far away.
    +
    Dihedral atoms missing on proc %d at step %ld
    +
    One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away. - -
    Dihedral charmm is incompatible with Pair style - -
    Dihedral style charmm must be used with a pair style charmm -in order for the 1-4 epsilon/sigma parameters to be defined. - -
    Dihedral coeff for hybrid has invalid style - -
    Dihedral style hybrid uses another dihedral style as one of its +too far away.
    +
    Dihedral charmm is incompatible with Pair style
    +
    Dihedral style charmm must be used with a pair style charmm +in order for the 1-4 epsilon/sigma parameters to be defined.
    +
    Dihedral coeff for hybrid has invalid style
    +
    Dihedral style hybrid uses another dihedral style as one of its coefficients. The dihedral style used in the dihedral_coeff command -or read from a restart file is not recognized. - -
    Dihedral coeffs are not set - -
    No dihedral coefficients have been assigned in the data file or via -the dihedral_coeff command. - -
    Dihedral style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Dihedral style hybrid cannot have none as an argument - -
    Self-explanatory. - -
    Dihedral style hybrid cannot use same dihedral style twice - -
    Self-explanatory. - -
    Dihedral/improper extent > half of periodic box length - -
    This error was detected by the neigh_modify check yes setting. It is +or read from a restart file is not recognized.
    +
    Dihedral coeffs are not set
    +
    No dihedral coefficients have been assigned in the data file or via +the dihedral_coeff command.
    +
    Dihedral style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Dihedral style hybrid cannot have none as an argument
    +
    Self-explanatory.
    +
    Dihedral style hybrid cannot use same dihedral style twice
    +
    Self-explanatory.
    +
    Dihedral/improper extent > half of periodic box length
    +
    This error was detected by the neigh_modify check yes setting. It is an error because the dihedral atoms are so far apart it is ambiguous -how it should be defined. - -
    Dihedral_coeff command before dihedral_style is defined - -
    Coefficients cannot be set in the data file or via the dihedral_coeff -command until an dihedral_style has been assigned. - -
    Dihedral_coeff command before simulation box is defined - -
    The dihedral_coeff command cannot be used before a read_data, -read_restart, or create_box command. - -
    Dihedral_coeff command when no dihedrals allowed - -
    The chosen atom style does not allow for dihedrals to be defined. - -
    Dihedral_style command when no dihedrals allowed - -
    The chosen atom style does not allow for dihedrals to be defined. - -
    Dihedrals assigned incorrectly - -
    Dihedrals read in from the data file were not assigned correctly to +how it should be defined.
    +
    Dihedral_coeff command before dihedral_style is defined
    +
    Coefficients cannot be set in the data file or via the dihedral_coeff +command until an dihedral_style has been assigned.
    +
    Dihedral_coeff command before simulation box is defined
    +
    The dihedral_coeff command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Dihedral_coeff command when no dihedrals allowed
    +
    The chosen atom style does not allow for dihedrals to be defined.
    +
    Dihedral_style command when no dihedrals allowed
    +
    The chosen atom style does not allow for dihedrals to be defined.
    +
    Dihedrals assigned incorrectly
    +
    Dihedrals read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions. - -
    Dihedrals defined but no dihedral types - -
    The data file header lists dihedrals but no dihedral types. - -
    Dimension command after simulation box is defined - -
    The dimension command cannot be used after a read_data, -read_restart, or create_box command. - -
    Dispersion PPPMDisp order has been reduced below minorder - -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command. - -
    Displace_atoms command before simulation box is defined - -
    The displace_atoms command cannot be used before a read_data, -read_restart, or create_box command. - -
    Distance must be > 0 for compute event/displace - -
    Self-explanatory. - -
    Divide by 0 in influence function - -
    This should not normally occur. It is likely a problem with your -model. - -
    Divide by 0 in influence function of pair peri/lps - -
    This should not normally occur. It is likely a problem with your -model. - -
    Divide by 0 in variable formula - -
    Self-explanatory. - -
    Domain too large for neighbor bins - -
    The domain has become extremely large so that neighbor bins cannot be +definitions.
    +
    Dihedrals defined but no dihedral types
    +
    The data file header lists dihedrals but no dihedral types.
    +
    Dimension command after simulation box is defined
    +
    The dimension command cannot be used after a read_data, +read_restart, or create_box command.
    +
    Dispersion PPPMDisp order has been reduced below minorder
    +
    The default minimum order is 2. This can be reset by the +kspace_modify minorder command.
    +
    Displace_atoms command before simulation box is defined
    +
    The displace_atoms command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Distance must be > 0 for compute event/displace
    +
    Self-explanatory.
    +
    Divide by 0 in influence function
    +
    This should not normally occur. It is likely a problem with your +model.
    +
    Divide by 0 in influence function of pair peri/lps
    +
    This should not normally occur. It is likely a problem with your +model.
    +
    Divide by 0 in variable formula
    +
    Self-explanatory.
    +
    Domain too large for neighbor bins
    +
    The domain has become extremely large so that neighbor bins cannot be used. Most likely, one or more atoms have been blown out of the -simulation box to a great distance. - -
    Double precision is not supported on this accelerator - -
    Self-explanatory - -
    Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu - -
    Self-explanatory. - -
    Dump cfg arguments must start with 'mass type xs ys zs' or 'mass type xsu ysu zsu' - -
    This is a requirement of the CFG output format. See the dump cfg doc -page for more details. - -
    Dump cfg requires one snapshot per file - -
    Use the wildcard "*" character in the filename. - -
    Dump custom and fix not computed at compatible times - -
    The fix must produce per-atom quantities on timesteps that dump custom -needs them. - -
    Dump custom compute does not calculate per-atom array - -
    Self-explanatory. - -
    Dump custom compute does not calculate per-atom vector - -
    Self-explanatory. - -
    Dump custom compute does not compute per-atom info - -
    Self-explanatory. - -
    Dump custom compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Dump custom fix does not compute per-atom array - -
    Self-explanatory. - -
    Dump custom fix does not compute per-atom info - -
    Self-explanatory. - -
    Dump custom fix does not compute per-atom vector - -
    Self-explanatory. - -
    Dump custom fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Dump custom variable is not atom-style variable - -
    Only atom-style variables generate per-atom quantities, needed for -dump output. - -
    Dump dcd of non-matching # of atoms - -
    Every snapshot written by dump dcd must contain the same # of atoms. - -
    Dump dcd requires sorting by atom ID - -
    Use the dump_modify sort command to enable this. - -
    Dump every variable returned a bad timestep - -
    The variable must return a timestep greater than the current timestep. - -
    Dump file MPI-IO output not allowed with % in filename - -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors. - -
    Dump file does not contain requested snapshot - -
    Self-explanatory. - -
    Dump file is incorrectly formatted - -
    Self-explanatory. - -
    Dump image bond not allowed with no bond types - -
    Self-explanatory. - -
    Dump image cannot perform sorting - -
    Self-explanatory. - -
    Dump image persp option is not yet supported - -
    Self-explanatory. - -
    Dump image requires one snapshot per file - -
    Use a "*" in the filename. - -
    Dump local and fix not computed at compatible times - -
    The fix must produce per-atom quantities on timesteps that dump local -needs them. - -
    Dump local attributes contain no compute or fix - -
    Self-explanatory. - -
    Dump local cannot sort by atom ID - -
    This is because dump local does not really dump per-atom info. - -
    Dump local compute does not calculate local array - -
    Self-explanatory. - -
    Dump local compute does not calculate local vector - -
    Self-explanatory. - -
    Dump local compute does not compute local info - -
    Self-explanatory. - -
    Dump local compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Dump local count is not consistent across input fields - -
    Every column of output must be the same length. - -
    Dump local fix does not compute local array - -
    Self-explanatory. - -
    Dump local fix does not compute local info - -
    Self-explanatory. - -
    Dump local fix does not compute local vector - -
    Self-explanatory. - -
    Dump local fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Dump modify bcolor not allowed with no bond types - -
    Self-explanatory. - -
    Dump modify bdiam not allowed with no bond types - -
    Self-explanatory. - -
    Dump modify compute ID does not compute per-atom array - -
    Self-explanatory. - -
    Dump modify compute ID does not compute per-atom info - -
    Self-explanatory. - -
    Dump modify compute ID does not compute per-atom vector - -
    Self-explanatory. - -
    Dump modify compute ID vector is not large enough - -
    Self-explanatory. - -
    Dump modify element names do not match atom types - -
    Number of element names must equal number of atom types. - -
    Dump modify fix ID does not compute per-atom array - -
    Self-explanatory. - -
    Dump modify fix ID does not compute per-atom info - -
    Self-explanatory. - -
    Dump modify fix ID does not compute per-atom vector - -
    Self-explanatory. - -
    Dump modify fix ID vector is not large enough - -
    Self-explanatory. - -
    Dump modify variable is not atom-style variable - -
    Self-explanatory. - -
    Dump sort column is invalid - -
    Self-explanatory. - -
    Dump xtc requires sorting by atom ID - -
    Use the dump_modify sort command to enable this. - -
    Dump_modify buffer yes not allowed for this style - -
    Self-explanatory. - -
    Dump_modify format string is too short - -
    There are more fields to be dumped in a line of output than your -format string specifies. - -
    Dump_modify region ID does not exist - -
    Self-explanatory. - -
    Dumping an atom property that isn't allocated - -
    The chosen atom style does not define the per-atom quantity being -dumped. - -
    Duplicate fields in read_dump command - -
    Self-explanatory. - -
    Duplicate particle in PeriDynamic bond - simulation box is too small - -
    This is likely because your box length is shorter than 2 times -the bond length. - -
    Electronic temperature dropped below zero - -
    Something has gone wrong with the fix ttm electron temperature model. - -
    Empty brackets in variable - -
    There is no variable syntax that uses empty brackets. Check -the variable doc page. - -
    Energy was not tallied on needed timestep - -
    You are using a thermo keyword that requires potentials to -have tallied energy, but they didn't on this timestep. See the -variable doc page for ideas on how to make this work. - -
    Epsilon or sigma reference not set by pair style in PPPMDisp - -
    Self-explanatory. - -
    Epsilon or sigma reference not set by pair style in ewald/n - -
    The pair style is not providing the needed epsilon or sigma values. - -
    Error in vdw spline: inner radius > outer radius - -
    A pre-tabulated spline is invalid. Likely a problem with the -potential parameters. - -
    Failed to allocate %ld bytes for array %s - -
    Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors. - -
    Failed to open FFmpeg pipeline to file %s - -
    The specified file cannot be opened. Check that the path and name are -correct and writable and that the FFmpeg executable can be found and run. - -
    Failed to reallocate %ld bytes for array %s - -
    Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors. - -
    Fewer SRD bins than processors in some dimension - -
    This is not allowed. Make your SRD bin size smaller. - -
    File variable could not read value - -
    Check the file assigned to the variable. - -
    Final box dimension due to fix deform is < 0.0 - -
    Self-explanatory. - -
    Fix %s does not allow use of dynamic group - -
    Dynamic groups have not yet been enabled for this fix. - -
    Fix ID for compute chunk/atom does not exist - -
    Self-explanatory. - -
    Fix ID for compute erotate/rigid does not exist - -
    Self-explanatory. - -
    Fix ID for compute ke/rigid does not exist - -
    Self-explanatory. - -
    Fix ID for compute reduce does not exist - -
    Self-explanatory. - -
    Fix ID for compute slice does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/atom does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/chunk does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/correlate does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/histo does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/spatial does not exist - -
    Self-explanatory. - -
    Fix ID for fix ave/time does not exist - -
    Self-explanatory. - -
    Fix ID for fix store/state does not exist - -
    Self-explanatory - -
    Fix ID for fix vector does not exist - -
    Self-explanatory. - -
    Fix ID for read_data does not exist - -
    Self-explanatory. - -
    Fix ID for velocity does not exist - -
    Self-explanatory. - -
    Fix ID must be alphanumeric or underscore characters - -
    Self-explanatory. - -
    Fix SRD: bad bin assignment for SRD advection - -
    Something has gone wrong in your SRD model; try using more -conservative settings. - -
    Fix SRD: bad search bin assignment - -
    Something has gone wrong in your SRD model; try using more -conservative settings. - -
    Fix SRD: bad stencil bin for big particle - -
    Something has gone wrong in your SRD model; try using more -conservative settings. - -
    Fix SRD: too many big particles in bin - -
    Reset the ATOMPERBIN parameter at the top of fix_srd.cpp -to a larger value, and re-compile the code. - -
    Fix SRD: too many walls in bin - -
    This should not happen unless your system has been setup incorrectly. - -
    Fix adapt interface to this pair style not supported - -
    New coding for the pair style would need to be done. - -
    Fix adapt kspace style does not exist - -
    Self-explanatory. - -
    Fix adapt pair style does not exist - -
    Self-explanatory - -
    Fix adapt pair style param not supported - -
    The pair style does not know about the parameter you specified. - -
    Fix adapt requires atom attribute charge - -
    The atom style being used does not specify an atom charge. - -
    Fix adapt requires atom attribute diameter - -
    The atom style being used does not specify an atom diameter. - -
    Fix adapt type pair range is not valid for pair hybrid sub-style - -
    Self-explanatory. - -
    Fix append/atoms requires a lattice be defined - -
    Use the lattice command for this purpose. - -
    Fix ave/atom compute array is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/atom compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/atom compute does not calculate a per-atom vector - -
    A compute used by fix ave/atom must generate per-atom values. - -
    Fix ave/atom compute does not calculate per-atom values - -
    A compute used by fix ave/atom must generate per-atom values. - -
    Fix ave/atom fix array is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/atom fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/atom fix does not calculate a per-atom vector - -
    A fix used by fix ave/atom must generate per-atom values. - -
    Fix ave/atom fix does not calculate per-atom values - -
    A fix used by fix ave/atom must generate per-atom values. - -
    Fix ave/atom variable is not atom-style variable - -
    A variable used by fix ave/atom must generate per-atom values. - -
    Fix ave/chunk compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/chunk compute does not calculate a per-atom vector - -
    Self-explanatory. - -
    Fix ave/chunk compute does not calculate per-atom values - -
    Self-explanatory. - -
    Fix ave/chunk compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/chunk does not use chunk/atom compute - -
    The specified conpute is not for a compute chunk/atom command. - -
    Fix ave/chunk fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/chunk fix does not calculate a per-atom vector - -
    Self-explanatory. - -
    Fix ave/chunk fix does not calculate per-atom values - -
    Self-explanatory. - -
    Fix ave/chunk fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/chunk variable is not atom-style variable - -
    Self-explanatory. - -
    Fix ave/correlate compute does not calculate a scalar - -
    Self-explanatory. - -
    Fix ave/correlate compute does not calculate a vector - -
    Self-explanatory. - -
    Fix ave/correlate compute vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/correlate fix does not calculate a scalar - -
    Self-explanatory. - -
    Fix ave/correlate fix does not calculate a vector - -
    Self-explanatory. - -
    Fix ave/correlate fix vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/correlate variable is not equal-style variable - -
    Self-explanatory. - -
    Fix ave/histo cannot input local values in scalar mode - -
    Self-explanatory. - -
    Fix ave/histo cannot input per-atom values in scalar mode - -
    Self-explanatory. - -
    Fix ave/histo compute array is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a global array - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a global scalar - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a global vector - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a local array - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a local vector - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate a per-atom vector - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate local values - -
    Self-explanatory. - -
    Fix ave/histo compute does not calculate per-atom values - -
    Self-explanatory. - -
    Fix ave/histo compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/histo fix array is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a global array - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a global scalar - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a global vector - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a local array - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a local vector - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate a per-atom vector - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate local values - -
    Self-explanatory. - -
    Fix ave/histo fix does not calculate per-atom values - -
    Self-explanatory. - -
    Fix ave/histo fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix ave/histo input is invalid compute - -
    Self-explanatory. - -
    Fix ave/histo input is invalid fix - -
    Self-explanatory. - -
    Fix ave/histo input is invalid variable - -
    Self-explanatory. - -
    Fix ave/histo inputs are not all global, peratom, or local - -
    All inputs in a single fix ave/histo command must be of the -same style. - -
    Fix ave/spatial compute does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/spatial compute does not calculate a per-atom vector - -
    A compute used by fix ave/spatial must generate per-atom values. - -
    Fix ave/spatial compute does not calculate per-atom values - -
    A compute used by fix ave/spatial must generate per-atom values. - -
    Fix ave/spatial compute vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/spatial fix does not calculate a per-atom array - -
    Self-explanatory. - -
    Fix ave/spatial fix does not calculate a per-atom vector - -
    A fix used by fix ave/spatial must generate per-atom values. - -
    Fix ave/spatial fix does not calculate per-atom values - -
    A fix used by fix ave/spatial must generate per-atom values. - -
    Fix ave/spatial fix vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/spatial for triclinic boxes requires units reduced - -
    Self-explanatory. - -
    Fix ave/spatial settings invalid with changing box size - -
    If the box size changes, only the units reduced option can be -used. - -
    Fix ave/spatial variable is not atom-style variable - -
    A variable used by fix ave/spatial must generate per-atom values. - -
    Fix ave/time cannot set output array intensive/extensive from these inputs - -
    One of more of the vector inputs has individual elements which are +simulation box to a great distance.
    +
    Double precision is not supported on this accelerator
    +
    Self-explanatory
    +
    Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu
    +
    Self-explanatory.
    +
    Dump cfg arguments must start with ‘mass type xs ys zs’ or ‘mass type xsu ysu zsu’
    +
    This is a requirement of the CFG output format. See the dump cfg doc +page for more details.
    +
    Dump cfg requires one snapshot per file
    +
    Use the wildcard “*” character in the filename.
    +
    Dump custom and fix not computed at compatible times
    +
    The fix must produce per-atom quantities on timesteps that dump custom +needs them.
    +
    Dump custom compute does not calculate per-atom array
    +
    Self-explanatory.
    +
    Dump custom compute does not calculate per-atom vector
    +
    Self-explanatory.
    +
    Dump custom compute does not compute per-atom info
    +
    Self-explanatory.
    +
    Dump custom compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Dump custom fix does not compute per-atom array
    +
    Self-explanatory.
    +
    Dump custom fix does not compute per-atom info
    +
    Self-explanatory.
    +
    Dump custom fix does not compute per-atom vector
    +
    Self-explanatory.
    +
    Dump custom fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Dump custom variable is not atom-style variable
    +
    Only atom-style variables generate per-atom quantities, needed for +dump output.
    +
    Dump dcd of non-matching # of atoms
    +
    Every snapshot written by dump dcd must contain the same # of atoms.
    +
    Dump dcd requires sorting by atom ID
    +
    Use the dump_modify sort command to enable this.
    +
    Dump every variable returned a bad timestep
    +
    The variable must return a timestep greater than the current timestep.
    +
    Dump file MPI-IO output not allowed with % in filename
    +
    This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors.
    +
    Dump file does not contain requested snapshot
    +
    Self-explanatory.
    +
    Dump file is incorrectly formatted
    +
    Self-explanatory.
    +
    Dump image bond not allowed with no bond types
    +
    Self-explanatory.
    +
    Dump image cannot perform sorting
    +
    Self-explanatory.
    +
    Dump image persp option is not yet supported
    +
    Self-explanatory.
    +
    Dump image requires one snapshot per file
    +
    Use a “*” in the filename.
    +
    Dump local and fix not computed at compatible times
    +
    The fix must produce per-atom quantities on timesteps that dump local +needs them.
    +
    Dump local attributes contain no compute or fix
    +
    Self-explanatory.
    +
    Dump local cannot sort by atom ID
    +
    This is because dump local does not really dump per-atom info.
    +
    Dump local compute does not calculate local array
    +
    Self-explanatory.
    +
    Dump local compute does not calculate local vector
    +
    Self-explanatory.
    +
    Dump local compute does not compute local info
    +
    Self-explanatory.
    +
    Dump local compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Dump local count is not consistent across input fields
    +
    Every column of output must be the same length.
    +
    Dump local fix does not compute local array
    +
    Self-explanatory.
    +
    Dump local fix does not compute local info
    +
    Self-explanatory.
    +
    Dump local fix does not compute local vector
    +
    Self-explanatory.
    +
    Dump local fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Dump modify bcolor not allowed with no bond types
    +
    Self-explanatory.
    +
    Dump modify bdiam not allowed with no bond types
    +
    Self-explanatory.
    +
    Dump modify compute ID does not compute per-atom array
    +
    Self-explanatory.
    +
    Dump modify compute ID does not compute per-atom info
    +
    Self-explanatory.
    +
    Dump modify compute ID does not compute per-atom vector
    +
    Self-explanatory.
    +
    Dump modify compute ID vector is not large enough
    +
    Self-explanatory.
    +
    Dump modify element names do not match atom types
    +
    Number of element names must equal number of atom types.
    +
    Dump modify fix ID does not compute per-atom array
    +
    Self-explanatory.
    +
    Dump modify fix ID does not compute per-atom info
    +
    Self-explanatory.
    +
    Dump modify fix ID does not compute per-atom vector
    +
    Self-explanatory.
    +
    Dump modify fix ID vector is not large enough
    +
    Self-explanatory.
    +
    Dump modify variable is not atom-style variable
    +
    Self-explanatory.
    +
    Dump sort column is invalid
    +
    Self-explanatory.
    +
    Dump xtc requires sorting by atom ID
    +
    Use the dump_modify sort command to enable this.
    +
    Dump_modify buffer yes not allowed for this style
    +
    Self-explanatory.
    +
    Dump_modify format string is too short
    +
    There are more fields to be dumped in a line of output than your +format string specifies.
    +
    Dump_modify region ID does not exist
    +
    Self-explanatory.
    +
    Dumping an atom property that isn’t allocated
    +
    The chosen atom style does not define the per-atom quantity being +dumped.
    +
    Duplicate fields in read_dump command
    +
    Self-explanatory.
    +
    Duplicate particle in PeriDynamic bond - simulation box is too small
    +
    This is likely because your box length is shorter than 2 times +the bond length.
    +
    Electronic temperature dropped below zero
    +
    Something has gone wrong with the fix ttm electron temperature model.
    +
    Empty brackets in variable
    +
    There is no variable syntax that uses empty brackets. Check +the variable doc page.
    +
    Energy was not tallied on needed timestep
    +
    You are using a thermo keyword that requires potentials to +have tallied energy, but they didn’t on this timestep. See the +variable doc page for ideas on how to make this work.
    +
    Epsilon or sigma reference not set by pair style in PPPMDisp
    +
    Self-explanatory.
    +
    Epsilon or sigma reference not set by pair style in ewald/n
    +
    The pair style is not providing the needed epsilon or sigma values.
    +
    Error in vdw spline: inner radius > outer radius
    +
    A pre-tabulated spline is invalid. Likely a problem with the +potential parameters.
    +
    Failed to allocate %ld bytes for array %s
    +
    Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors.
    +
    Failed to open FFmpeg pipeline to file %s
    +
    The specified file cannot be opened. Check that the path and name are +correct and writable and that the FFmpeg executable can be found and run.
    +
    Failed to reallocate %ld bytes for array %s
    +
    Your LAMMPS simulation has run out of memory. You need to run a +smaller simulation or on more processors.
    +
    Fewer SRD bins than processors in some dimension
    +
    This is not allowed. Make your SRD bin size smaller.
    +
    File variable could not read value
    +
    Check the file assigned to the variable.
    +
    Final box dimension due to fix deform is < 0.0
    +
    Self-explanatory.
    +
    Fix %s does not allow use of dynamic group
    +
    Dynamic groups have not yet been enabled for this fix.
    +
    Fix ID for compute chunk/atom does not exist
    +
    Self-explanatory.
    +
    Fix ID for compute erotate/rigid does not exist
    +
    Self-explanatory.
    +
    Fix ID for compute ke/rigid does not exist
    +
    Self-explanatory.
    +
    Fix ID for compute reduce does not exist
    +
    Self-explanatory.
    +
    Fix ID for compute slice does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/atom does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/chunk does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/correlate does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/histo does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/spatial does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix ave/time does not exist
    +
    Self-explanatory.
    +
    Fix ID for fix store/state does not exist
    +
    Self-explanatory
    +
    Fix ID for fix vector does not exist
    +
    Self-explanatory.
    +
    Fix ID for read_data does not exist
    +
    Self-explanatory.
    +
    Fix ID for velocity does not exist
    +
    Self-explanatory.
    +
    Fix ID must be alphanumeric or underscore characters
    +
    Self-explanatory.
    +
    Fix SRD: bad bin assignment for SRD advection
    +
    Something has gone wrong in your SRD model; try using more +conservative settings.
    +
    Fix SRD: bad search bin assignment
    +
    Something has gone wrong in your SRD model; try using more +conservative settings.
    +
    Fix SRD: bad stencil bin for big particle
    +
    Something has gone wrong in your SRD model; try using more +conservative settings.
    +
    Fix SRD: too many big particles in bin
    +
    Reset the ATOMPERBIN parameter at the top of fix_srd.cpp +to a larger value, and re-compile the code.
    +
    Fix SRD: too many walls in bin
    +
    This should not happen unless your system has been setup incorrectly.
    +
    Fix adapt interface to this pair style not supported
    +
    New coding for the pair style would need to be done.
    +
    Fix adapt kspace style does not exist
    +
    Self-explanatory.
    +
    Fix adapt pair style does not exist
    +
    Self-explanatory
    +
    Fix adapt pair style param not supported
    +
    The pair style does not know about the parameter you specified.
    +
    Fix adapt requires atom attribute charge
    +
    The atom style being used does not specify an atom charge.
    +
    Fix adapt requires atom attribute diameter
    +
    The atom style being used does not specify an atom diameter.
    +
    Fix adapt type pair range is not valid for pair hybrid sub-style
    +
    Self-explanatory.
    +
    Fix append/atoms requires a lattice be defined
    +
    Use the lattice command for this purpose.
    +
    Fix ave/atom compute array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/atom compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/atom compute does not calculate a per-atom vector
    +
    A compute used by fix ave/atom must generate per-atom values.
    +
    Fix ave/atom compute does not calculate per-atom values
    +
    A compute used by fix ave/atom must generate per-atom values.
    +
    Fix ave/atom fix array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/atom fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/atom fix does not calculate a per-atom vector
    +
    A fix used by fix ave/atom must generate per-atom values.
    +
    Fix ave/atom fix does not calculate per-atom values
    +
    A fix used by fix ave/atom must generate per-atom values.
    +
    Fix ave/atom variable is not atom-style variable
    +
    A variable used by fix ave/atom must generate per-atom values.
    +
    Fix ave/chunk compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/chunk compute does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Fix ave/chunk compute does not calculate per-atom values
    +
    Self-explanatory.
    +
    Fix ave/chunk compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/chunk does not use chunk/atom compute
    +
    The specified conpute is not for a compute chunk/atom command.
    +
    Fix ave/chunk fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/chunk fix does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Fix ave/chunk fix does not calculate per-atom values
    +
    Self-explanatory.
    +
    Fix ave/chunk fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/chunk variable is not atom-style variable
    +
    Self-explanatory.
    +
    Fix ave/correlate compute does not calculate a scalar
    +
    Self-explanatory.
    +
    Fix ave/correlate compute does not calculate a vector
    +
    Self-explanatory.
    +
    Fix ave/correlate compute vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/correlate fix does not calculate a scalar
    +
    Self-explanatory.
    +
    Fix ave/correlate fix does not calculate a vector
    +
    Self-explanatory.
    +
    Fix ave/correlate fix vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/correlate variable is not equal-style variable
    +
    Self-explanatory.
    +
    Fix ave/histo cannot input local values in scalar mode
    +
    Self-explanatory.
    +
    Fix ave/histo cannot input per-atom values in scalar mode
    +
    Self-explanatory.
    +
    Fix ave/histo compute array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a global array
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a global scalar
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a global vector
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a local array
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a local vector
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate local values
    +
    Self-explanatory.
    +
    Fix ave/histo compute does not calculate per-atom values
    +
    Self-explanatory.
    +
    Fix ave/histo compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/histo fix array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a global array
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a global scalar
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a global vector
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a local array
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a local vector
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate a per-atom vector
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate local values
    +
    Self-explanatory.
    +
    Fix ave/histo fix does not calculate per-atom values
    +
    Self-explanatory.
    +
    Fix ave/histo fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix ave/histo input is invalid compute
    +
    Self-explanatory.
    +
    Fix ave/histo input is invalid fix
    +
    Self-explanatory.
    +
    Fix ave/histo input is invalid variable
    +
    Self-explanatory.
    +
    Fix ave/histo inputs are not all global, peratom, or local
    +
    All inputs in a single fix ave/histo command must be of the +same style.
    +
    Fix ave/spatial compute does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/spatial compute does not calculate a per-atom vector
    +
    A compute used by fix ave/spatial must generate per-atom values.
    +
    Fix ave/spatial compute does not calculate per-atom values
    +
    A compute used by fix ave/spatial must generate per-atom values.
    +
    Fix ave/spatial compute vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/spatial fix does not calculate a per-atom array
    +
    Self-explanatory.
    +
    Fix ave/spatial fix does not calculate a per-atom vector
    +
    A fix used by fix ave/spatial must generate per-atom values.
    +
    Fix ave/spatial fix does not calculate per-atom values
    +
    A fix used by fix ave/spatial must generate per-atom values.
    +
    Fix ave/spatial fix vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/spatial for triclinic boxes requires units reduced
    +
    Self-explanatory.
    +
    Fix ave/spatial settings invalid with changing box size
    +
    If the box size changes, only the units reduced option can be +used.
    +
    Fix ave/spatial variable is not atom-style variable
    +
    A variable used by fix ave/spatial must generate per-atom values.
    +
    Fix ave/time cannot set output array intensive/extensive from these inputs
    +
    One of more of the vector inputs has individual elements which are flagged as intensive or extensive. Such an input cannot be flagged as -all intensive/extensive when turned into an array by fix ave/time. - -
    Fix ave/time cannot use variable with vector mode - -
    Variables produce scalar values. - -
    Fix ave/time columns are inconsistent lengths - -
    Self-explanatory. - -
    Fix ave/time compute array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Fix ave/time compute does not calculate a scalar - -
    Self-explantory. - -
    Fix ave/time compute does not calculate a vector - -
    Self-explantory. - -
    Fix ave/time compute does not calculate an array - -
    Self-explanatory. - -
    Fix ave/time compute vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/time fix array cannot be variable length - -
    Self-explanatory. - -
    Fix ave/time fix array is accessed out-of-range - -
    An index for the array is out of bounds. - -
    Fix ave/time fix does not calculate a scalar - -
    Self-explanatory. - -
    Fix ave/time fix does not calculate a vector - -
    Self-explanatory. - -
    Fix ave/time fix does not calculate an array - -
    Self-explanatory. - -
    Fix ave/time fix vector cannot be variable length - -
    Self-explanatory. - -
    Fix ave/time fix vector is accessed out-of-range - -
    The index for the vector is out of bounds. - -
    Fix ave/time variable is not equal-style variable - -
    Self-explanatory. - -
    Fix balance rcb cannot be used with comm_style brick - -
    Comm_style tiled must be used instead. - -
    Fix balance shift string is invalid - -
    The string can only contain the characters "x", "y", or "z". - -
    Fix bond/break needs ghost atoms from further away - -
    This is because the fix needs to walk bonds to a certain distance to +all intensive/extensive when turned into an array by fix ave/time.
    +
    Fix ave/time cannot use variable with vector mode
    +
    Variables produce scalar values.
    +
    Fix ave/time columns are inconsistent lengths
    +
    Self-explanatory.
    +
    Fix ave/time compute array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Fix ave/time compute does not calculate a scalar
    +
    Self-explantory.
    +
    Fix ave/time compute does not calculate a vector
    +
    Self-explantory.
    +
    Fix ave/time compute does not calculate an array
    +
    Self-explanatory.
    +
    Fix ave/time compute vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/time fix array cannot be variable length
    +
    Self-explanatory.
    +
    Fix ave/time fix array is accessed out-of-range
    +
    An index for the array is out of bounds.
    +
    Fix ave/time fix does not calculate a scalar
    +
    Self-explanatory.
    +
    Fix ave/time fix does not calculate a vector
    +
    Self-explanatory.
    +
    Fix ave/time fix does not calculate an array
    +
    Self-explanatory.
    +
    Fix ave/time fix vector cannot be variable length
    +
    Self-explanatory.
    +
    Fix ave/time fix vector is accessed out-of-range
    +
    The index for the vector is out of bounds.
    +
    Fix ave/time variable is not equal-style variable
    +
    Self-explanatory.
    +
    Fix balance rcb cannot be used with comm_style brick
    +
    Comm_style tiled must be used instead.
    +
    Fix balance shift string is invalid
    +
    The string can only contain the characters “x”, “y”, or “z”.
    +
    Fix bond/break needs ghost atoms from further away
    +
    This is because the fix needs to walk bonds to a certain distance to acquire needed info, The comm_modify cutoff command can be used to -extend the communication range. - -
    Fix bond/create angle type is invalid - -
    Self-explanatory. - -
    Fix bond/create cutoff is longer than pairwise cutoff - -
    This is not allowed because bond creation is done using the -pairwise neighbor list. - -
    Fix bond/create dihedral type is invalid - -
    Self-explanatory. - -
    Fix bond/create improper type is invalid - -
    Self-explanatory. - -
    Fix bond/create induced too many angles/dihedrals/impropers per atom - -
    See the read_data command for info on setting the "extra angle per -atom", etc header values to allow for additional angles, etc to be -formed. - -
    Fix bond/create needs ghost atoms from further away - -
    This is because the fix needs to walk bonds to a certain distance to +extend the communication range.
    +
    Fix bond/create angle type is invalid
    +
    Self-explanatory.
    +
    Fix bond/create cutoff is longer than pairwise cutoff
    +
    This is not allowed because bond creation is done using the +pairwise neighbor list.
    +
    Fix bond/create dihedral type is invalid
    +
    Self-explanatory.
    +
    Fix bond/create improper type is invalid
    +
    Self-explanatory.
    +
    Fix bond/create induced too many angles/dihedrals/impropers per atom
    +
    See the read_data command for info on setting the “extra angle per +atom”, etc header values to allow for additional angles, etc to be +formed.
    +
    Fix bond/create needs ghost atoms from further away
    +
    This is because the fix needs to walk bonds to a certain distance to acquire needed info, The comm_modify cutoff command can be used to -extend the communication range. - -
    Fix bond/swap cannot use dihedral or improper styles - -
    These styles cannot be defined when using this fix. - -
    Fix bond/swap requires pair and bond styles - -
    Self-explanatory. - -
    Fix bond/swap requires special_bonds = 0,1,1 - -
    Self-explanatory. - -
    Fix box/relax generated negative box length - -
    The pressure being applied is likely too large. Try applying -it incrementally, to build to the high pressure. - -
    Fix command before simulation box is defined - -
    The fix command cannot be used before a read_data, read_restart, or -create_box command. - -
    Fix deform cannot use yz variable with xy - -
    The yz setting cannot be a variable if xy deformation is also +extend the communication range.
    +
    Fix bond/swap cannot use dihedral or improper styles
    +
    These styles cannot be defined when using this fix.
    +
    Fix bond/swap requires pair and bond styles
    +
    Self-explanatory.
    +
    Fix bond/swap requires special_bonds = 0,1,1
    +
    Self-explanatory.
    +
    Fix box/relax generated negative box length
    +
    The pressure being applied is likely too large. Try applying +it incrementally, to build to the high pressure.
    +
    Fix command before simulation box is defined
    +
    The fix command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Fix deform cannot use yz variable with xy
    +
    The yz setting cannot be a variable if xy deformation is also specified. This is because LAMMPS cannot determine if the yz setting -will induce a box flip which would be invalid if xy is also changing. - -
    Fix deform is changing yz too much with xy - -
    When both yz and xy are changing, it induces changes in xz if the +will induce a box flip which would be invalid if xy is also changing.
    +
    Fix deform is changing yz too much with xy
    +
    When both yz and xy are changing, it induces changes in xz if the box must flip from one tilt extreme to another. Thus it is not -allowed for yz to grow so much that a flip is induced. - -
    Fix deform tilt factors require triclinic box - -
    Cannot deform the tilt factors of a simulation box unless it -is a triclinic (non-orthogonal) box. - -
    Fix deform volume setting is invalid - -
    Cannot use volume style unless other dimensions are being controlled. - -
    Fix deposit and fix rigid/small not using same molecule template ID - -
    Self-explanatory. - -
    Fix deposit and fix shake not using same molecule template ID - -
    Self-explanatory. - -
    Fix deposit molecule must have atom types - -
    The defined molecule does not specify atom types. - -
    Fix deposit molecule must have coordinates - -
    The defined molecule does not specify coordinates. - -
    Fix deposit molecule template ID must be same as atom_style template ID - -
    When using atom_style template, you cannot deposit molecules that are -not in that template. - -
    Fix deposit region cannot be dynamic - -
    Only static regions can be used with fix deposit. - -
    Fix deposit region does not support a bounding box - -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix deposit command. - -
    Fix deposit shake fix does not exist - -
    Self-explanatory. - -
    Fix efield requires atom attribute q or mu - -
    The atom style defined does not have this attribute. - -
    Fix efield with dipoles cannot use atom-style variables - -
    This option is not supported. - -
    Fix evaporate molecule requires atom attribute molecule - -
    The atom style being used does not define a molecule ID. - -
    Fix external callback function not set - -
    This must be done by an external program in order to use this fix. - -
    Fix for fix ave/atom not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/atom is -requesting a value on a non-allowed timestep. - -
    Fix for fix ave/chunk not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/chunk is -requesting a value on a non-allowed timestep. - -
    Fix for fix ave/correlate not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/correlate -is requesting a value on a non-allowed timestep. - -
    Fix for fix ave/histo not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/histo is -requesting a value on a non-allowed timestep. - -
    Fix for fix ave/spatial not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/spatial is -requesting a value on a non-allowed timestep. - -
    Fix for fix ave/time not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix ave/time -is requesting a value on a non-allowed timestep. - -
    Fix for fix store/state not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix store/state -is requesting a value on a non-allowed timestep. - -
    Fix for fix vector not computed at compatible time - -
    Fixes generate their values on specific timesteps. Fix vector is -requesting a value on a non-allowed timestep. - -
    Fix freeze requires atom attribute torque - -
    The atom style defined does not have this attribute. - -
    Fix gcmc and fix shake not using same molecule template ID - -
    Self-explanatory. - -
    Fix gcmc cannot exchange individual atoms belonging to a molecule - -
    This is an error since you should not delete only one atom of a +allowed for yz to grow so much that a flip is induced.
    +
    Fix deform tilt factors require triclinic box
    +
    Cannot deform the tilt factors of a simulation box unless it +is a triclinic (non-orthogonal) box.
    +
    Fix deform volume setting is invalid
    +
    Cannot use volume style unless other dimensions are being controlled.
    +
    Fix deposit and fix rigid/small not using same molecule template ID
    +
    Self-explanatory.
    +
    Fix deposit and fix shake not using same molecule template ID
    +
    Self-explanatory.
    +
    Fix deposit molecule must have atom types
    +
    The defined molecule does not specify atom types.
    +
    Fix deposit molecule must have coordinates
    +
    The defined molecule does not specify coordinates.
    +
    Fix deposit molecule template ID must be same as atom_style template ID
    +
    When using atom_style template, you cannot deposit molecules that are +not in that template.
    +
    Fix deposit region cannot be dynamic
    +
    Only static regions can be used with fix deposit.
    +
    Fix deposit region does not support a bounding box
    +
    Not all regions represent bounded volumes. You cannot use +such a region with the fix deposit command.
    +
    Fix deposit shake fix does not exist
    +
    Self-explanatory.
    +
    Fix efield requires atom attribute q or mu
    +
    The atom style defined does not have this attribute.
    +
    Fix efield with dipoles cannot use atom-style variables
    +
    This option is not supported.
    +
    Fix evaporate molecule requires atom attribute molecule
    +
    The atom style being used does not define a molecule ID.
    +
    Fix external callback function not set
    +
    This must be done by an external program in order to use this fix.
    +
    Fix for fix ave/atom not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/atom is +requesting a value on a non-allowed timestep.
    +
    Fix for fix ave/chunk not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/chunk is +requesting a value on a non-allowed timestep.
    +
    Fix for fix ave/correlate not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/correlate +is requesting a value on a non-allowed timestep.
    +
    Fix for fix ave/histo not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/histo is +requesting a value on a non-allowed timestep.
    +
    Fix for fix ave/spatial not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/spatial is +requesting a value on a non-allowed timestep.
    +
    Fix for fix ave/time not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix ave/time +is requesting a value on a non-allowed timestep.
    +
    Fix for fix store/state not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix store/state +is requesting a value on a non-allowed timestep.
    +
    Fix for fix vector not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Fix vector is +requesting a value on a non-allowed timestep.
    +
    Fix freeze requires atom attribute torque
    +
    The atom style defined does not have this attribute.
    +
    Fix gcmc and fix shake not using same molecule template ID
    +
    Self-explanatory.
    +
    Fix gcmc cannot exchange individual atoms belonging to a molecule
    +
    This is an error since you should not delete only one atom of a molecule. The user has specified atomic (non-molecular) gas -exchanges, but an atom belonging to a molecule could be deleted. - -
    Fix gcmc does not (yet) work with atom_style template - -
    Self-explanatory. - -
    Fix gcmc molecule command requires that atoms have molecule attributes - -
    Should not choose the gcmc molecule feature if no molecules are being -simulated. The general molecule flag is off, but gcmc's molecule flag -is on. - -
    Fix gcmc molecule must have atom types - -
    The defined molecule does not specify atom types. - -
    Fix gcmc molecule must have coordinates - -
    The defined molecule does not specify coordinates. - -
    Fix gcmc molecule template ID must be same as atom_style template ID - -
    When using atom_style template, you cannot insert molecules that are -not in that template. - -
    Fix gcmc ran out of available atom IDs - -
    See the setting for tagint in the src/lmptype.h file. - -
    Fix gcmc ran out of available molecule IDs - -
    See the setting for tagint in the src/lmptype.h file. - -
    Fix gcmc region cannot be dynamic - -
    Only static regions can be used with fix gcmc. - -
    Fix gcmc region does not support a bounding box - -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix gcmc command. - -
    Fix gcmc region extends outside simulation box - -
    Self-explanatory. - -
    Fix gcmc shake fix does not exist - -
    Self-explanatory. - -
    Fix gld c coefficients must be >= 0 - -
    Self-explanatory. - -
    Fix gld needs more prony series coefficients - -
    Self-explanatory. - -
    Fix gld prony terms must be > 0 - -
    Self-explanatory. - -
    Fix gld series type must be pprony for now - -
    Self-explanatory. - -
    Fix gld start temperature must be >= 0 - -
    Self-explanatory. - -
    Fix gld stop temperature must be >= 0 - -
    Self-explanatory. - -
    Fix gld tau coefficients must be > 0 - -
    Self-explanatory. - -
    Fix heat group has no atoms - -
    Self-explanatory. - -
    Fix heat kinetic energy of an atom went negative - -
    This will cause the velocity rescaling about to be performed by fix -heat to be invalid. - -
    Fix heat kinetic energy went negative - -
    This will cause the velocity rescaling about to be performed by fix -heat to be invalid. - -
    Fix in variable not computed at compatible time - -
    Fixes generate their values on specific timesteps. The variable is -requesting the values on a non-allowed timestep. - -
    Fix langevin angmom is not yet implemented with kokkos - -
    This option is not yet available. - -
    Fix langevin angmom requires atom style ellipsoid - -
    Self-explanatory. - -
    Fix langevin angmom requires extended particles - -
    This fix option cannot be used with point paritlces. - -
    Fix langevin omega is not yet implemented with kokkos - -
    This option is not yet available. - -
    Fix langevin omega requires atom style sphere - -
    Self-explanatory. - -
    Fix langevin omega requires extended particles - -
    One of the particles has radius 0.0. - -
    Fix langevin period must be > 0.0 - -
    The time window for temperature relaxation must be > 0 - -
    Fix langevin variable returned negative temperature - -
    Self-explanatory. - -
    Fix momentum group has no atoms - -
    Self-explanatory. - -
    Fix move cannot define z or vz variable for 2d problem - -
    Self-explanatory. - -
    Fix move cannot rotate aroung non z-axis for 2d problem - -
    Self-explanatory. - -
    Fix move cannot set linear z motion for 2d problem - -
    Self-explanatory. - -
    Fix move cannot set wiggle z motion for 2d problem - -
    Self-explanatory. - -
    Fix msst compute ID does not compute potential energy - -
    Self-explanatory. - -
    Fix msst compute ID does not compute pressure - -
    Self-explanatory. - -
    Fix msst compute ID does not compute temperature - -
    Self-explanatory. - -
    Fix msst requires a periodic box - -
    Self-explanatory. - -
    Fix msst tscale must satisfy 0 <= tscale < 1 - -
    Self-explanatory. - -
    Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state - -
    Self-explanatory. The change in the box tilt is too extreme -on a short timescale. - -
    Fix nve/asphere requires extended particles - -
    This fix can only be used for particles with a shape setting. - -
    Fix nve/asphere/noforce requires atom style ellipsoid - -
    Self-explanatory. - -
    Fix nve/asphere/noforce requires extended particles - -
    One of the particles is not an ellipsoid. - -
    Fix nve/body requires atom style body - -
    Self-explanatory. - -
    Fix nve/body requires bodies - -
    This fix can only be used for particles that are bodies. - -
    Fix nve/line can only be used for 2d simulations - -
    Self-explanatory. - -
    Fix nve/line requires atom style line - -
    Self-explanatory. - -
    Fix nve/line requires line particles - -
    Self-explanatory. - -
    Fix nve/sphere requires atom attribute mu - -
    An atom style with this attribute is needed. - -
    Fix nve/sphere requires atom style sphere - -
    Self-explanatory. - -
    Fix nve/sphere requires extended particles - -
    This fix can only be used for particles of a finite size. - -
    Fix nve/tri can only be used for 3d simulations - -
    Self-explanatory. - -
    Fix nve/tri requires atom style tri - -
    Self-explanatory. - -
    Fix nve/tri requires tri particles - -
    Self-explanatory. - -
    Fix nvt/nph/npt asphere requires extended particles - -
    The shape setting for a particle in the fix group has shape = 0.0, -which means it is a point particle. - -
    Fix nvt/nph/npt sphere requires atom style sphere - -
    Self-explanatory. - -
    Fix nvt/npt/nph damping parameters must be > 0.0 - -
    Self-explanatory. - -
    Fix nvt/npt/nph dilate group ID does not exist - -
    Self-explanatory. - -
    Fix nvt/sphere requires extended particles - -
    This fix can only be used for particles of a finite size. - -
    Fix orient/fcc file open failed - -
    The fix orient/fcc command could not open a specified file. - -
    Fix orient/fcc file read failed - -
    The fix orient/fcc command could not read the needed parameters from a -specified file. - -
    Fix orient/fcc found self twice - -
    The neighbor lists used by fix orient/fcc are messed up. If this +exchanges, but an atom belonging to a molecule could be deleted.
    +
    Fix gcmc does not (yet) work with atom_style template
    +
    Self-explanatory.
    +
    Fix gcmc molecule command requires that atoms have molecule attributes
    +
    Should not choose the gcmc molecule feature if no molecules are being +simulated. The general molecule flag is off, but gcmc’s molecule flag +is on.
    +
    Fix gcmc molecule must have atom types
    +
    The defined molecule does not specify atom types.
    +
    Fix gcmc molecule must have coordinates
    +
    The defined molecule does not specify coordinates.
    +
    Fix gcmc molecule template ID must be same as atom_style template ID
    +
    When using atom_style template, you cannot insert molecules that are +not in that template.
    +
    Fix gcmc ran out of available atom IDs
    +
    See the setting for tagint in the src/lmptype.h file.
    +
    Fix gcmc ran out of available molecule IDs
    +
    See the setting for tagint in the src/lmptype.h file.
    +
    Fix gcmc region cannot be dynamic
    +
    Only static regions can be used with fix gcmc.
    +
    Fix gcmc region does not support a bounding box
    +
    Not all regions represent bounded volumes. You cannot use +such a region with the fix gcmc command.
    +
    Fix gcmc region extends outside simulation box
    +
    Self-explanatory.
    +
    Fix gcmc shake fix does not exist
    +
    Self-explanatory.
    +
    Fix gld c coefficients must be >= 0
    +
    Self-explanatory.
    +
    Fix gld needs more prony series coefficients
    +
    Self-explanatory.
    +
    Fix gld prony terms must be > 0
    +
    Self-explanatory.
    +
    Fix gld series type must be pprony for now
    +
    Self-explanatory.
    +
    Fix gld start temperature must be >= 0
    +
    Self-explanatory.
    +
    Fix gld stop temperature must be >= 0
    +
    Self-explanatory.
    +
    Fix gld tau coefficients must be > 0
    +
    Self-explanatory.
    +
    Fix heat group has no atoms
    +
    Self-explanatory.
    +
    Fix heat kinetic energy of an atom went negative
    +
    This will cause the velocity rescaling about to be performed by fix +heat to be invalid.
    +
    Fix heat kinetic energy went negative
    +
    This will cause the velocity rescaling about to be performed by fix +heat to be invalid.
    +
    Fix in variable not computed at compatible time
    +
    Fixes generate their values on specific timesteps. The variable is +requesting the values on a non-allowed timestep.
    +
    Fix langevin angmom is not yet implemented with kokkos
    +
    This option is not yet available.
    +
    Fix langevin angmom requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Fix langevin angmom requires extended particles
    +
    This fix option cannot be used with point paritlces.
    +
    Fix langevin omega is not yet implemented with kokkos
    +
    This option is not yet available.
    +
    Fix langevin omega requires atom style sphere
    +
    Self-explanatory.
    +
    Fix langevin omega requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Fix langevin period must be > 0.0
    +
    The time window for temperature relaxation must be > 0
    +
    Fix langevin variable returned negative temperature
    +
    Self-explanatory.
    +
    Fix momentum group has no atoms
    +
    Self-explanatory.
    +
    Fix move cannot define z or vz variable for 2d problem
    +
    Self-explanatory.
    +
    Fix move cannot rotate aroung non z-axis for 2d problem
    +
    Self-explanatory.
    +
    Fix move cannot set linear z motion for 2d problem
    +
    Self-explanatory.
    +
    Fix move cannot set wiggle z motion for 2d problem
    +
    Self-explanatory.
    +
    Fix msst compute ID does not compute potential energy
    +
    Self-explanatory.
    +
    Fix msst compute ID does not compute pressure
    +
    Self-explanatory.
    +
    Fix msst compute ID does not compute temperature
    +
    Self-explanatory.
    +
    Fix msst requires a periodic box
    +
    Self-explanatory.
    +
    Fix msst tscale must satisfy 0 <= tscale < 1
    +
    Self-explanatory.
    +
    Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state
    +
    Self-explanatory. The change in the box tilt is too extreme +on a short timescale.
    +
    Fix nve/asphere requires extended particles
    +
    This fix can only be used for particles with a shape setting.
    +
    Fix nve/asphere/noforce requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Fix nve/asphere/noforce requires extended particles
    +
    One of the particles is not an ellipsoid.
    +
    Fix nve/body requires atom style body
    +
    Self-explanatory.
    +
    Fix nve/body requires bodies
    +
    This fix can only be used for particles that are bodies.
    +
    Fix nve/line can only be used for 2d simulations
    +
    Self-explanatory.
    +
    Fix nve/line requires atom style line
    +
    Self-explanatory.
    +
    Fix nve/line requires line particles
    +
    Self-explanatory.
    +
    Fix nve/sphere requires atom attribute mu
    +
    An atom style with this attribute is needed.
    +
    Fix nve/sphere requires atom style sphere
    +
    Self-explanatory.
    +
    Fix nve/sphere requires extended particles
    +
    This fix can only be used for particles of a finite size.
    +
    Fix nve/tri can only be used for 3d simulations
    +
    Self-explanatory.
    +
    Fix nve/tri requires atom style tri
    +
    Self-explanatory.
    +
    Fix nve/tri requires tri particles
    +
    Self-explanatory.
    +
    Fix nvt/nph/npt asphere requires extended particles
    +
    The shape setting for a particle in the fix group has shape = 0.0, +which means it is a point particle.
    +
    Fix nvt/nph/npt sphere requires atom style sphere
    +
    Self-explanatory.
    +
    Fix nvt/npt/nph damping parameters must be > 0.0
    +
    Self-explanatory.
    +
    Fix nvt/npt/nph dilate group ID does not exist
    +
    Self-explanatory.
    +
    Fix nvt/sphere requires extended particles
    +
    This fix can only be used for particles of a finite size.
    +
    Fix orient/fcc file open failed
    +
    The fix orient/fcc command could not open a specified file.
    +
    Fix orient/fcc file read failed
    +
    The fix orient/fcc command could not read the needed parameters from a +specified file.
    +
    Fix orient/fcc found self twice
    +
    The neighbor lists used by fix orient/fcc are messed up. If this error occurs, it is likely a bug, so send an email to the -developers. - -
    Fix peri neigh does not exist - -
    Somehow a fix that the pair style defines has been deleted. - -
    Fix pour and fix rigid/small not using same molecule template ID - -
    Self-explanatory. - -
    Fix pour and fix shake not using same molecule template ID - -
    Self-explanatory. - -
    Fix pour insertion count per timestep is 0 - -
    Self-explanatory. - -
    Fix pour molecule must have atom types - -
    The defined molecule does not specify atom types. - -
    Fix pour molecule must have coordinates - -
    The defined molecule does not specify coordinates. - -
    Fix pour molecule template ID must be same as atom style template ID - -
    When using atom_style template, you cannot pour molecules that are -not in that template. - -
    Fix pour polydisperse fractions do not sum to 1.0 - -
    Self-explanatory. - -
    Fix pour region ID does not exist - -
    Self-explanatory. - -
    Fix pour region cannot be dynamic - -
    Only static regions can be used with fix pour. - -
    Fix pour region does not support a bounding box - -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix pour command. - -
    Fix pour requires atom attributes radius, rmass - -
    The atom style defined does not have these attributes. - -
    Fix pour rigid fix does not exist - -
    Self-explanatory. - -
    Fix pour shake fix does not exist - -
    Self-explanatory. - -
    Fix press/berendsen damping parameters must be > 0.0 - -
    Self-explanatory. - -
    Fix property/atom cannot specify mol twice - -
    Self-explanatory. - -
    Fix property/atom cannot specify q twice - -
    Self-explanatory. - -
    Fix property/atom mol when atom_style already has molecule attribute - -
    Self-explanatory. - -
    Fix property/atom q when atom_style already has charge attribute - -
    Self-explanatory. - -
    Fix property/atom vector name already exists - -
    The name for an integer or floating-point vector must be unique. - -
    Fix qeq has negative upper Taper radius cutoff - -
    Self-explanatory. - -
    Fix qeq/comb group has no atoms - -
    Self-explanatory. - -
    Fix qeq/comb requires atom attribute q - -
    An atom style with charge must be used to perform charge equilibration. - -
    Fix qeq/dynamic group has no atoms - -
    Self-explanatory. - -
    Fix qeq/dynamic requires atom attribute q - -
    Self-explanatory. - -
    Fix qeq/point group has no atoms - -
    Self-explanatory. - -
    Fix qeq/point has insufficient QEq matrix size - -
    Occurs when number of neighbor atoms for an atom increased too much +developers.
    +
    Fix peri neigh does not exist
    +
    Somehow a fix that the pair style defines has been deleted.
    +
    Fix pour and fix rigid/small not using same molecule template ID
    +
    Self-explanatory.
    +
    Fix pour and fix shake not using same molecule template ID
    +
    Self-explanatory.
    +
    Fix pour insertion count per timestep is 0
    +
    Self-explanatory.
    +
    Fix pour molecule must have atom types
    +
    The defined molecule does not specify atom types.
    +
    Fix pour molecule must have coordinates
    +
    The defined molecule does not specify coordinates.
    +
    Fix pour molecule template ID must be same as atom style template ID
    +
    When using atom_style template, you cannot pour molecules that are +not in that template.
    +
    Fix pour polydisperse fractions do not sum to 1.0
    +
    Self-explanatory.
    +
    Fix pour region ID does not exist
    +
    Self-explanatory.
    +
    Fix pour region cannot be dynamic
    +
    Only static regions can be used with fix pour.
    +
    Fix pour region does not support a bounding box
    +
    Not all regions represent bounded volumes. You cannot use +such a region with the fix pour command.
    +
    Fix pour requires atom attributes radius, rmass
    +
    The atom style defined does not have these attributes.
    +
    Fix pour rigid fix does not exist
    +
    Self-explanatory.
    +
    Fix pour shake fix does not exist
    +
    Self-explanatory.
    +
    Fix press/berendsen damping parameters must be > 0.0
    +
    Self-explanatory.
    +
    Fix property/atom cannot specify mol twice
    +
    Self-explanatory.
    +
    Fix property/atom cannot specify q twice
    +
    Self-explanatory.
    +
    Fix property/atom mol when atom_style already has molecule attribute
    +
    Self-explanatory.
    +
    Fix property/atom q when atom_style already has charge attribute
    +
    Self-explanatory.
    +
    Fix property/atom vector name already exists
    +
    The name for an integer or floating-point vector must be unique.
    +
    Fix qeq has negative upper Taper radius cutoff
    +
    Self-explanatory.
    +
    Fix qeq/comb group has no atoms
    +
    Self-explanatory.
    +
    Fix qeq/comb requires atom attribute q
    +
    An atom style with charge must be used to perform charge equilibration.
    +
    Fix qeq/dynamic group has no atoms
    +
    Self-explanatory.
    +
    Fix qeq/dynamic requires atom attribute q
    +
    Self-explanatory.
    +
    Fix qeq/point group has no atoms
    +
    Self-explanatory.
    +
    Fix qeq/point has insufficient QEq matrix size
    +
    Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. - -
    Fix qeq/point requires atom attribute q - -
    Self-explanatory. - -
    Fix qeq/shielded group has no atoms - -
    Self-explanatory. - -
    Fix qeq/shielded has insufficient QEq matrix size - -
    Occurs when number of neighbor atoms for an atom increased too much +recompile.
    +
    Fix qeq/point requires atom attribute q
    +
    Self-explanatory.
    +
    Fix qeq/shielded group has no atoms
    +
    Self-explanatory.
    +
    Fix qeq/shielded has insufficient QEq matrix size
    +
    Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. - -
    Fix qeq/shielded requires atom attribute q - -
    Self-explanatory. - -
    Fix qeq/slater could not extract params from pair coul/streitz - -
    This should not happen unless pair coul/streitz has been altered. - -
    Fix qeq/slater group has no atoms - -
    Self-explanatory. - -
    Fix qeq/slater has insufficient QEq matrix size - -
    Occurs when number of neighbor atoms for an atom increased too much +recompile.
    +
    Fix qeq/shielded requires atom attribute q
    +
    Self-explanatory.
    +
    Fix qeq/slater could not extract params from pair coul/streitz
    +
    This should not happen unless pair coul/streitz has been altered.
    +
    Fix qeq/slater group has no atoms
    +
    Self-explanatory.
    +
    Fix qeq/slater has insufficient QEq matrix size
    +
    Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. - -
    Fix qeq/slater requires atom attribute q - -
    Self-explanatory. - -
    Fix reax/bonds numbonds > nsbmax_most - -
    The limit of the number of bonds expected by the ReaxFF force field -was exceeded. - -
    Fix recenter group has no atoms - -
    Self-explanatory. - -
    Fix restrain requires an atom map, see atom_modify - -
    Self-explanatory. - -
    Fix rigid atom has non-zero image flag in a non-periodic dimension - -
    Image flags for non-periodic dimensions should not be set. - -
    Fix rigid file has no lines - -
    Self-explanatory. - -
    Fix rigid langevin period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid molecule requires atom attribute molecule - -
    Self-explanatory. - -
    Fix rigid npt/nph dilate group ID does not exist - -
    Self-explanatory. - -
    Fix rigid npt/nph does not yet allow triclinic box - -
    This is a current restriction in LAMMPS. - -
    Fix rigid npt/nph period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid npt/small t_chain should not be less than 1 - -
    Self-explanatory. - -
    Fix rigid npt/small t_order must be 3 or 5 - -
    Self-explanatory. - -
    Fix rigid nvt/npt/nph damping parameters must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid nvt/small t_chain should not be less than 1 - -
    Self-explanatory. - -
    Fix rigid nvt/small t_iter should not be less than 1 - -
    Self-explanatory. - -
    Fix rigid nvt/small t_order must be 3 or 5 - -
    Self-explanatory. - -
    Fix rigid xy torque cannot be on for 2d simulation - -
    Self-explanatory. - -
    Fix rigid z force cannot be on for 2d simulation - -
    Self-explanatory. - -
    Fix rigid/npt period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/npt temperature order must be 3 or 5 - -
    Self-explanatory. - -
    Fix rigid/npt/small period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/nvt period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/nvt temperature order must be 3 or 5 - -
    Self-explanatory. - -
    Fix rigid/nvt/small period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/small atom has non-zero image flag in a non-periodic dimension - -
    Image flags for non-periodic dimensions should not be set. - -
    Fix rigid/small langevin period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/small molecule must have atom types - -
    The defined molecule does not specify atom types. - -
    Fix rigid/small molecule must have coordinates - -
    The defined molecule does not specify coordinates. - -
    Fix rigid/small npt/nph period must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/small nvt/npt/nph damping parameters must be > 0.0 - -
    Self-explanatory. - -
    Fix rigid/small nvt/npt/nph dilate group ID does not exist - -
    Self-explanatory. - -
    Fix rigid/small requires an atom map, see atom_modify - -
    Self-explanatory. - -
    Fix rigid/small requires atom attribute molecule - -
    Self-explanatory. - -
    Fix rigid: Bad principal moments - -
    The principal moments of inertia computed for a rigid body -are not within the required tolerances. - -
    Fix shake cannot be used with minimization - -
    Cannot use fix shake while doing an energy minimization since -it turns off bonds that should contribute to the energy. - -
    Fix shake molecule template must have shake info - -
    The defined molecule does not specify SHAKE information. - -
    Fix spring couple group ID does not exist - -
    Self-explanatory. - -
    Fix srd can only currently be used with comm_style brick - -
    This is a current restriction in LAMMPS. - -
    Fix srd lamda must be >= 0.6 of SRD grid size - -
    This is a requirement for accuracy reasons. - -
    Fix srd no-slip requires atom attribute torque - -
    This is because the SRD collisions will impart torque to the solute -particles. - -
    Fix srd requires SRD particles all have same mass - -
    Self-explanatory. - -
    Fix srd requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Fix srd requires newton pair on - -
    Self-explanatory. - -
    Fix store/state compute array is accessed out-of-range - -
    Self-explanatory. - -
    Fix store/state compute does not calculate a per-atom array - -
    The compute calculates a per-atom vector. - -
    Fix store/state compute does not calculate a per-atom vector - -
    The compute calculates a per-atom vector. - -
    Fix store/state compute does not calculate per-atom values - -
    Computes that calculate global or local quantities cannot be used -with fix store/state. - -
    Fix store/state fix array is accessed out-of-range - -
    Self-explanatory. - -
    Fix store/state fix does not calculate a per-atom array - -
    The fix calculates a per-atom vector. - -
    Fix store/state fix does not calculate a per-atom vector - -
    The fix calculates a per-atom array. - -
    Fix store/state fix does not calculate per-atom values - -
    Fixes that calculate global or local quantities cannot be used with -fix store/state. - -
    Fix store/state for atom property that isn't allocated - -
    Self-explanatory. - -
    Fix store/state variable is not atom-style variable - -
    Only atom-style variables calculate per-atom quantities. - -
    Fix temp/berendsen period must be > 0.0 - -
    Self-explanatory. - -
    Fix temp/berendsen variable returned negative temperature - -
    Self-explanatory. - -
    Fix temp/csvr is not compatible with fix shake - -
    These two commands cannot currently be used toghether. - -
    Fix temp/csvr variable returned negative temperature - -
    Self-explanatory. - -
    Fix temp/rescale variable returned negative temperature - -
    Self-explanatory. - -
    Fix tfmc displacement length must be > 0 - -
    Self-explanatory. - -
    Fix tfmc is not compatible with fix shake - -
    These two commands cannot currently be used together. - -
    Fix tfmc temperature must be > 0 - -
    Self-explanatory. - -
    Fix thermal/conductivity swap value must be positive - -
    Self-explanatory. - -
    Fix tmd must come after integration fixes - -
    Any fix tmd command must appear in the input script after all time +recompile.
    +
    Fix qeq/slater requires atom attribute q
    +
    Self-explanatory.
    +
    Fix reax/bonds numbonds > nsbmax_most
    +
    The limit of the number of bonds expected by the ReaxFF force field +was exceeded.
    +
    Fix recenter group has no atoms
    +
    Self-explanatory.
    +
    Fix restrain requires an atom map, see atom_modify
    +
    Self-explanatory.
    +
    Fix rigid atom has non-zero image flag in a non-periodic dimension
    +
    Image flags for non-periodic dimensions should not be set.
    +
    Fix rigid file has no lines
    +
    Self-explanatory.
    +
    Fix rigid langevin period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid molecule requires atom attribute molecule
    +
    Self-explanatory.
    +
    Fix rigid npt/nph dilate group ID does not exist
    +
    Self-explanatory.
    +
    Fix rigid npt/nph does not yet allow triclinic box
    +
    This is a current restriction in LAMMPS.
    +
    Fix rigid npt/nph period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid npt/small t_chain should not be less than 1
    +
    Self-explanatory.
    +
    Fix rigid npt/small t_order must be 3 or 5
    +
    Self-explanatory.
    +
    Fix rigid nvt/npt/nph damping parameters must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid nvt/small t_chain should not be less than 1
    +
    Self-explanatory.
    +
    Fix rigid nvt/small t_iter should not be less than 1
    +
    Self-explanatory.
    +
    Fix rigid nvt/small t_order must be 3 or 5
    +
    Self-explanatory.
    +
    Fix rigid xy torque cannot be on for 2d simulation
    +
    Self-explanatory.
    +
    Fix rigid z force cannot be on for 2d simulation
    +
    Self-explanatory.
    +
    Fix rigid/npt period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/npt temperature order must be 3 or 5
    +
    Self-explanatory.
    +
    Fix rigid/npt/small period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/nvt period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/nvt temperature order must be 3 or 5
    +
    Self-explanatory.
    +
    Fix rigid/nvt/small period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/small atom has non-zero image flag in a non-periodic dimension
    +
    Image flags for non-periodic dimensions should not be set.
    +
    Fix rigid/small langevin period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/small molecule must have atom types
    +
    The defined molecule does not specify atom types.
    +
    Fix rigid/small molecule must have coordinates
    +
    The defined molecule does not specify coordinates.
    +
    Fix rigid/small npt/nph period must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/small nvt/npt/nph damping parameters must be > 0.0
    +
    Self-explanatory.
    +
    Fix rigid/small nvt/npt/nph dilate group ID does not exist
    +
    Self-explanatory.
    +
    Fix rigid/small requires an atom map, see atom_modify
    +
    Self-explanatory.
    +
    Fix rigid/small requires atom attribute molecule
    +
    Self-explanatory.
    +
    Fix rigid: Bad principal moments
    +
    The principal moments of inertia computed for a rigid body +are not within the required tolerances.
    +
    Fix shake cannot be used with minimization
    +
    Cannot use fix shake while doing an energy minimization since +it turns off bonds that should contribute to the energy.
    +
    Fix shake molecule template must have shake info
    +
    The defined molecule does not specify SHAKE information.
    +
    Fix spring couple group ID does not exist
    +
    Self-explanatory.
    +
    Fix srd can only currently be used with comm_style brick
    +
    This is a current restriction in LAMMPS.
    +
    Fix srd lamda must be >= 0.6 of SRD grid size
    +
    This is a requirement for accuracy reasons.
    +
    Fix srd no-slip requires atom attribute torque
    +
    This is because the SRD collisions will impart torque to the solute +particles.
    +
    Fix srd requires SRD particles all have same mass
    +
    Self-explanatory.
    +
    Fix srd requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Fix srd requires newton pair on
    +
    Self-explanatory.
    +
    Fix store/state compute array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix store/state compute does not calculate a per-atom array
    +
    The compute calculates a per-atom vector.
    +
    Fix store/state compute does not calculate a per-atom vector
    +
    The compute calculates a per-atom vector.
    +
    Fix store/state compute does not calculate per-atom values
    +
    Computes that calculate global or local quantities cannot be used +with fix store/state.
    +
    Fix store/state fix array is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix store/state fix does not calculate a per-atom array
    +
    The fix calculates a per-atom vector.
    +
    Fix store/state fix does not calculate a per-atom vector
    +
    The fix calculates a per-atom array.
    +
    Fix store/state fix does not calculate per-atom values
    +
    Fixes that calculate global or local quantities cannot be used with +fix store/state.
    +
    Fix store/state for atom property that isn’t allocated
    +
    Self-explanatory.
    +
    Fix store/state variable is not atom-style variable
    +
    Only atom-style variables calculate per-atom quantities.
    +
    Fix temp/berendsen period must be > 0.0
    +
    Self-explanatory.
    +
    Fix temp/berendsen variable returned negative temperature
    +
    Self-explanatory.
    +
    Fix temp/csvr is not compatible with fix shake
    +
    These two commands cannot currently be used toghether.
    +
    Fix temp/csvr variable returned negative temperature
    +
    Self-explanatory.
    +
    Fix temp/rescale variable returned negative temperature
    +
    Self-explanatory.
    +
    Fix tfmc displacement length must be > 0
    +
    Self-explanatory.
    +
    Fix tfmc is not compatible with fix shake
    +
    These two commands cannot currently be used together.
    +
    Fix tfmc temperature must be > 0
    +
    Self-explanatory.
    +
    Fix thermal/conductivity swap value must be positive
    +
    Self-explanatory.
    +
    Fix tmd must come after integration fixes
    +
    Any fix tmd command must appear in the input script after all time integration fixes (nve, nvt, npt). See the fix tmd documentation for -details. - -
    Fix ttm electron temperatures must be > 0.0 - -
    Self-explanatory. - -
    Fix ttm electronic_density must be > 0.0 - -
    Self-explanatory. - -
    Fix ttm electronic_specific_heat must be > 0.0 - -
    Self-explanatory. - -
    Fix ttm electronic_thermal_conductivity must be >= 0.0 - -
    Self-explanatory. - -
    Fix ttm gamma_p must be > 0.0 - -
    Self-explanatory. - -
    Fix ttm gamma_s must be >= 0.0 - -
    Self-explanatory. - -
    Fix ttm number of nodes must be > 0 - -
    Self-explanatory. - -
    Fix ttm v_0 must be >= 0.0 - -
    Self-explanatory. - -
    Fix used in compute chunk/atom not computed at compatible time - -
    The chunk/atom compute cannot query the output of the fix on a timestep -it is needed. - -
    Fix used in compute reduce not computed at compatible time - -
    Fixes generate their values on specific timesteps. Compute reduce is -requesting a value on a non-allowed timestep. - -
    Fix used in compute slice not computed at compatible time - -
    Fixes generate their values on specific timesteps. Compute slice is -requesting a value on a non-allowed timestep. - -
    Fix vector cannot set output array intensive/extensive from these inputs - -
    The inputs to the command have conflicting intensive/extensive attributes. -You need to use more than one fix vector command. - -
    Fix vector compute does not calculate a scalar - -
    Self-explanatory. - -
    Fix vector compute does not calculate a vector - -
    Self-explanatory. - -
    Fix vector compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix vector fix does not calculate a scalar - -
    Self-explanatory. - -
    Fix vector fix does not calculate a vector - -
    Self-explanatory. - -
    Fix vector fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Fix vector variable is not equal-style variable - -
    Self-explanatory. - -
    Fix viscosity swap value must be positive - -
    Self-explanatory. - -
    Fix viscosity vtarget value must be positive - -
    Self-explanatory. - -
    Fix wall cutoff <= 0.0 - -
    Self-explanatory. - -
    Fix wall/colloid requires atom style sphere - -
    Self-explanatory. - -
    Fix wall/colloid requires extended particles - -
    One of the particles has radius 0.0. - -
    Fix wall/gran is incompatible with Pair style - -
    Must use a granular pair style to define the parameters needed for -this fix. - -
    Fix wall/gran requires atom style sphere - -
    Self-explanatory. - -
    Fix wall/piston command only available at zlo - -
    The face keyword must be zlo. - -
    Fix wall/region colloid requires atom style sphere - -
    Self-explanatory. - -
    Fix wall/region colloid requires extended particles - -
    One of the particles has radius 0.0. - -
    Fix wall/region cutoff <= 0.0 - -
    Self-explanatory. - -
    Fix_modify pressure ID does not compute pressure - -
    The compute ID assigned to the fix must compute pressure. - -
    Fix_modify temperature ID does not compute temperature - -
    The compute ID assigned to the fix must compute temperature. - -
    For triclinic deformation, specified target stress must be hydrostatic - -
    Triclinic pressure control is allowed using the tri keyword, but -non-hydrostatic pressure control can not be used in this case. - -
    Found no restart file matching pattern - -
    When using a "*" in the restart file name, no matching file was found. - -
    GPU library not compiled for this accelerator - -
    Self-explanatory. - -
    GPU package does not (yet) work with atom_style template - -
    Self-explanatory. - -
    GPU particle split must be set to 1 for this pair style. - -
    For this pair style, you cannot run part of the force calculation on -the host. See the package command. - -
    GPU split param must be positive for hybrid pair styles - -
    See the package gpu command. - -
    Ghost velocity forward comm not yet implemented with Kokkos - -
    This is a current restriction. - -
    Gmask function in equal-style variable formula - -
    Gmask is per-atom operation. - -
    Gravity changed since fix pour was created - -
    The gravity vector defined by fix gravity must be static. - -
    Gravity must point in -y to use with fix pour in 2d - -
    Self-explanatory. - -
    Gravity must point in -z to use with fix pour in 3d - -
    Self-explanatory. - -
    Grmask function in equal-style variable formula - -
    Grmask is per-atom operation. - -
    Group ID does not exist - -
    A group ID used in the group command does not exist. - -
    Group ID in variable formula does not exist - -
    Self-explanatory. - -
    Group all cannot be made dynamic - -
    This operation is not allowed. - -
    Group command before simulation box is defined - -
    The group command cannot be used before a read_data, read_restart, or -create_box command. - -
    Group dynamic cannot reference itself - -
    Self-explanatory. - -
    Group dynamic parent group cannot be dynamic - -
    Self-explanatory. - -
    Group dynamic parent group does not exist - -
    Self-explanatory. - -
    Group region ID does not exist - -
    A region ID used in the group command does not exist. - -
    If read_dump purges it cannot replace or trim - -
    These operations are not compatible. See the read_dump doc -page for details. - -
    Illegal ... command - -
    Self-explanatory. Check the input script syntax and compare to the +details.
    +
    Fix ttm electron temperatures must be > 0.0
    +
    Self-explanatory.
    +
    Fix ttm electronic_density must be > 0.0
    +
    Self-explanatory.
    +
    Fix ttm electronic_specific_heat must be > 0.0
    +
    Self-explanatory.
    +
    Fix ttm electronic_thermal_conductivity must be >= 0.0
    +
    Self-explanatory.
    +
    Fix ttm gamma_p must be > 0.0
    +
    Self-explanatory.
    +
    Fix ttm gamma_s must be >= 0.0
    +
    Self-explanatory.
    +
    Fix ttm number of nodes must be > 0
    +
    Self-explanatory.
    +
    Fix ttm v_0 must be >= 0.0
    +
    Self-explanatory.
    +
    Fix used in compute chunk/atom not computed at compatible time
    +
    The chunk/atom compute cannot query the output of the fix on a timestep +it is needed.
    +
    Fix used in compute reduce not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Compute reduce is +requesting a value on a non-allowed timestep.
    +
    Fix used in compute slice not computed at compatible time
    +
    Fixes generate their values on specific timesteps. Compute slice is +requesting a value on a non-allowed timestep.
    +
    Fix vector cannot set output array intensive/extensive from these inputs
    +
    The inputs to the command have conflicting intensive/extensive attributes. +You need to use more than one fix vector command.
    +
    Fix vector compute does not calculate a scalar
    +
    Self-explanatory.
    +
    Fix vector compute does not calculate a vector
    +
    Self-explanatory.
    +
    Fix vector compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix vector fix does not calculate a scalar
    +
    Self-explanatory.
    +
    Fix vector fix does not calculate a vector
    +
    Self-explanatory.
    +
    Fix vector fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Fix vector variable is not equal-style variable
    +
    Self-explanatory.
    +
    Fix viscosity swap value must be positive
    +
    Self-explanatory.
    +
    Fix viscosity vtarget value must be positive
    +
    Self-explanatory.
    +
    Fix wall cutoff <= 0.0
    +
    Self-explanatory.
    +
    Fix wall/colloid requires atom style sphere
    +
    Self-explanatory.
    +
    Fix wall/colloid requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Fix wall/gran is incompatible with Pair style
    +
    Must use a granular pair style to define the parameters needed for +this fix.
    +
    Fix wall/gran requires atom style sphere
    +
    Self-explanatory.
    +
    Fix wall/piston command only available at zlo
    +
    The face keyword must be zlo.
    +
    Fix wall/region colloid requires atom style sphere
    +
    Self-explanatory.
    +
    Fix wall/region colloid requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Fix wall/region cutoff <= 0.0
    +
    Self-explanatory.
    +
    Fix_modify pressure ID does not compute pressure
    +
    The compute ID assigned to the fix must compute pressure.
    +
    Fix_modify temperature ID does not compute temperature
    +
    The compute ID assigned to the fix must compute temperature.
    +
    For triclinic deformation, specified target stress must be hydrostatic
    +
    Triclinic pressure control is allowed using the tri keyword, but +non-hydrostatic pressure control can not be used in this case.
    +
    Found no restart file matching pattern
    +
    When using a “*” in the restart file name, no matching file was found.
    +
    GPU library not compiled for this accelerator
    +
    Self-explanatory.
    +
    GPU package does not (yet) work with atom_style template
    +
    Self-explanatory.
    +
    GPU particle split must be set to 1 for this pair style.
    +
    For this pair style, you cannot run part of the force calculation on +the host. See the package command.
    +
    GPU split param must be positive for hybrid pair styles
    +
    See the package gpu command.
    +
    Ghost velocity forward comm not yet implemented with Kokkos
    +
    This is a current restriction.
    +
    Gmask function in equal-style variable formula
    +
    Gmask is per-atom operation.
    +
    Gravity changed since fix pour was created
    +
    The gravity vector defined by fix gravity must be static.
    +
    Gravity must point in -y to use with fix pour in 2d
    +
    Self-explanatory.
    +
    Gravity must point in -z to use with fix pour in 3d
    +
    Self-explanatory.
    +
    Grmask function in equal-style variable formula
    +
    Grmask is per-atom operation.
    +
    Group ID does not exist
    +
    A group ID used in the group command does not exist.
    +
    Group ID in variable formula does not exist
    +
    Self-explanatory.
    +
    Group all cannot be made dynamic
    +
    This operation is not allowed.
    +
    Group command before simulation box is defined
    +
    The group command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Group dynamic cannot reference itself
    +
    Self-explanatory.
    +
    Group dynamic parent group cannot be dynamic
    +
    Self-explanatory.
    +
    Group dynamic parent group does not exist
    +
    Self-explanatory.
    +
    Group region ID does not exist
    +
    A region ID used in the group command does not exist.
    +
    If read_dump purges it cannot replace or trim
    +
    These operations are not compatible. See the read_dump doc +page for details.
    +
    Illegal ... command
    +
    Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -
    Illegal COMB parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal COMB3 parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal Stillinger-Weber parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal Tersoff parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal compute voronoi/atom command (occupation and (surface or edges)) - -
    Self-explanatory. - -
    Illegal coul/streitz parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal dump_modify sfactor value (must be > 0.0) - -
    Self-explanatory. - -
    Illegal dump_modify tfactor value (must be > 0.0) - -
    Self-explanatory. - -
    Illegal fix gcmc gas mass <= 0 - -
    The computed mass of the designated gas molecule or atom type was less -than or equal to zero. - -
    Illegal fix tfmc random seed - -
    Seeds can only be nonzero positive integers. - -
    Illegal fix wall/piston velocity - -
    The piston velocity must be positive. - -
    Illegal integrate style - -
    Self-explanatory. - -
    Illegal nb3b/harmonic parameter - -
    One or more of the coefficients defined in the potential file is -invalid. - -
    Illegal number of angle table entries - -
    There must be at least 2 table entries. - -
    Illegal number of bond table entries - -
    There must be at least 2 table entries. - -
    Illegal number of pair table entries - -
    There must be at least 2 table entries. - -
    Illegal simulation box - -
    The lower bound of the simulation box is greater than the upper bound. - -
    Imageint setting in lmptype.h is invalid - -
    Imageint must be as large or larger than smallint. - -
    Imageint setting in lmptype.h is not compatible - -
    Format of imageint stored in restart file is not consistent with -LAMMPS version you are running. See the settings in src/lmptype.h - -
    Improper atom missing in delete_bonds - -
    The delete_bonds command cannot find one or more atoms in a particular +command-line option when running LAMMPS to see the offending line.
    +
    Illegal COMB parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal COMB3 parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal Stillinger-Weber parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal Tersoff parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal compute voronoi/atom command (occupation and (surface or edges))
    +
    Self-explanatory.
    +
    Illegal coul/streitz parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal dump_modify sfactor value (must be > 0.0)
    +
    Self-explanatory.
    +
    Illegal dump_modify tfactor value (must be > 0.0)
    +
    Self-explanatory.
    +
    Illegal fix gcmc gas mass <= 0
    +
    The computed mass of the designated gas molecule or atom type was less +than or equal to zero.
    +
    Illegal fix tfmc random seed
    +
    Seeds can only be nonzero positive integers.
    +
    Illegal fix wall/piston velocity
    +
    The piston velocity must be positive.
    +
    Illegal integrate style
    +
    Self-explanatory.
    +
    Illegal nb3b/harmonic parameter
    +
    One or more of the coefficients defined in the potential file is +invalid.
    +
    Illegal number of angle table entries
    +
    There must be at least 2 table entries.
    +
    Illegal number of bond table entries
    +
    There must be at least 2 table entries.
    +
    Illegal number of pair table entries
    +
    There must be at least 2 table entries.
    +
    Illegal simulation box
    +
    The lower bound of the simulation box is greater than the upper bound.
    +
    Imageint setting in lmptype.h is invalid
    +
    Imageint must be as large or larger than smallint.
    +
    Imageint setting in lmptype.h is not compatible
    +
    Format of imageint stored in restart file is not consistent with +LAMMPS version you are running. See the settings in src/lmptype.h
    +
    Improper atom missing in delete_bonds
    +
    The delete_bonds command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid improper. - -
    Improper atom missing in set command - -
    The set command cannot find one or more atoms in a particular improper +or the atoms are too far apart to make a valid improper.
    +
    Improper atom missing in set command
    +
    The set command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid improper. - -
    Improper atoms %d %d %d %d missing on proc %d at step %ld - -
    One or more of 4 atoms needed to compute a particular improper are +atoms are too far apart to make a valid improper.
    +
    Improper atoms %d %d %d %d missing on proc %d at step %ld
    +
    One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away. - -
    Improper atoms missing on proc %d at step %ld - -
    One or more of 4 atoms needed to compute a particular improper are +too far away.
    +
    Improper atoms missing on proc %d at step %ld
    +
    One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away. - -
    Improper coeff for hybrid has invalid style - -
    Improper style hybrid uses another improper style as one of its +too far away.
    +
    Improper coeff for hybrid has invalid style
    +
    Improper style hybrid uses another improper style as one of its coefficients. The improper style used in the improper_coeff command -or read from a restart file is not recognized. - -
    Improper coeffs are not set - -
    No improper coefficients have been assigned in the data file or via -the improper_coeff command. - -
    Improper style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Improper style hybrid cannot have none as an argument - -
    Self-explanatory. - -
    Improper style hybrid cannot use same improper style twice - -
    Self-explanatory. - -
    Improper_coeff command before improper_style is defined - -
    Coefficients cannot be set in the data file or via the improper_coeff -command until an improper_style has been assigned. - -
    Improper_coeff command before simulation box is defined - -
    The improper_coeff command cannot be used before a read_data, -read_restart, or create_box command. - -
    Improper_coeff command when no impropers allowed - -
    The chosen atom style does not allow for impropers to be defined. - -
    Improper_style command when no impropers allowed - -
    The chosen atom style does not allow for impropers to be defined. - -
    Impropers assigned incorrectly - -
    Impropers read in from the data file were not assigned correctly to +or read from a restart file is not recognized.
    +
    Improper coeffs are not set
    +
    No improper coefficients have been assigned in the data file or via +the improper_coeff command.
    +
    Improper style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Improper style hybrid cannot have none as an argument
    +
    Self-explanatory.
    +
    Improper style hybrid cannot use same improper style twice
    +
    Self-explanatory.
    +
    Improper_coeff command before improper_style is defined
    +
    Coefficients cannot be set in the data file or via the improper_coeff +command until an improper_style has been assigned.
    +
    Improper_coeff command before simulation box is defined
    +
    The improper_coeff command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Improper_coeff command when no impropers allowed
    +
    The chosen atom style does not allow for impropers to be defined.
    +
    Improper_style command when no impropers allowed
    +
    The chosen atom style does not allow for impropers to be defined.
    +
    Impropers assigned incorrectly
    +
    Impropers read in from the data file were not assigned correctly to atoms. This means there is something invalid about the topology -definitions. - -
    Impropers defined but no improper types - -
    The data file header lists improper but no improper types. - -
    Incomplete use of variables in create_atoms command - -
    The var and set options must be used together. - -
    Inconsistent iparam/jparam values in fix bond/create command - -
    If itype and jtype are the same, then their maxbond and newtype -settings must also be the same. - -
    Inconsistent line segment in data file - -
    The end points of the line segment are not equal distances from the -center point which is the atom coordinate. - -
    Inconsistent triangle in data file - -
    The centroid of the triangle as defined by the corner points is not -the atom coordinate. - -
    Inconsistent use of finite-size particles by molecule template molecules - -
    Not all of the molecules define a radius for their constituent -particles. - -
    Incorrect # of floating-point values in Bodies section of data file - -
    See doc page for body style. - -
    Incorrect # of integer values in Bodies section of data file - -
    See doc page for body style. - -
    Incorrect %s format in data file - -
    A section of the data file being read by fix property/atom does -not have the correct number of values per line. - -
    Incorrect SNAP parameter file - -
    The file cannot be parsed correctly, check its internal syntax. - -
    Incorrect args for angle coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect args for bond coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect args for dihedral coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect args for improper coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect args for pair coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect args in pair_style command - -
    Self-explanatory. - -
    Incorrect atom format in data file - -
    Number of values per atom line in the data file is not consistent with -the atom style. - -
    Incorrect atom format in neb file - -
    The number of fields per line is not what expected. - -
    Incorrect bonus data format in data file - -
    See the read_data doc page for a description of how various kinds of -bonus data must be formatted for certain atom styles. - -
    Incorrect boundaries with slab Ewald - -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald. - -
    Incorrect boundaries with slab EwaldDisp - -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald. - -
    Incorrect boundaries with slab PPPM - -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with PPPM. - -
    Incorrect boundaries with slab PPPMDisp - -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with pppm/disp. - -
    Incorrect element names in ADP potential file - -
    The element names in the ADP file do not match those requested. - -
    Incorrect element names in EAM potential file - -
    The element names in the EAM file do not match those requested. - -
    Incorrect format in COMB potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in COMB3 potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in MEAM potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in SNAP coefficient file - -
    Incorrect number of words per line in the coefficient file. - -
    Incorrect format in SNAP parameter file - -
    Incorrect number of words per line in the parameter file. - -
    Incorrect format in Stillinger-Weber potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in TMD target file - -
    Format of file read by fix tmd command is incorrect. - -
    Incorrect format in Tersoff potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in coul/streitz potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect format in nb3b/harmonic potential file - -
    Incorrect number of words per line in the potential file. - -
    Incorrect integer value in Bodies section of data file - -
    See doc page for body style. - -
    Incorrect multiplicity arg for dihedral coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect rigid body format in fix rigid file - -
    The number of fields per line is not what expected. - -
    Incorrect rigid body format in fix rigid/small file - -
    The number of fields per line is not what expected. - -
    Incorrect sign arg for dihedral coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Incorrect velocity format in data file - -
    Each atom style defines a format for the Velocity section -of the data file. The read-in lines do not match. - -
    Incorrect weight arg for dihedral coefficients - -
    Self-explanatory. Check the input script or data file. - -
    Index between variable brackets must be positive - -
    Self-explanatory. - -
    Indexed per-atom vector in variable formula without atom map - -
    Accessing a value from an atom vector requires the ability to lookup +definitions.
    +
    Impropers defined but no improper types
    +
    The data file header lists improper but no improper types.
    +
    Incomplete use of variables in create_atoms command
    +
    The var and set options must be used together.
    +
    Inconsistent iparam/jparam values in fix bond/create command
    +
    If itype and jtype are the same, then their maxbond and newtype +settings must also be the same.
    +
    Inconsistent line segment in data file
    +
    The end points of the line segment are not equal distances from the +center point which is the atom coordinate.
    +
    Inconsistent triangle in data file
    +
    The centroid of the triangle as defined by the corner points is not +the atom coordinate.
    +
    Inconsistent use of finite-size particles by molecule template molecules
    +
    Not all of the molecules define a radius for their constituent +particles.
    +
    Incorrect # of floating-point values in Bodies section of data file
    +
    See doc page for body style.
    +
    Incorrect # of integer values in Bodies section of data file
    +
    See doc page for body style.
    +
    Incorrect %s format in data file
    +
    A section of the data file being read by fix property/atom does +not have the correct number of values per line.
    +
    Incorrect SNAP parameter file
    +
    The file cannot be parsed correctly, check its internal syntax.
    +
    Incorrect args for angle coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect args for bond coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect args for dihedral coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect args for improper coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect args for pair coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect args in pair_style command
    +
    Self-explanatory.
    +
    Incorrect atom format in data file
    +
    Number of values per atom line in the data file is not consistent with +the atom style.
    +
    Incorrect atom format in neb file
    +
    The number of fields per line is not what expected.
    +
    Incorrect bonus data format in data file
    +
    See the read_data doc page for a description of how various kinds of +bonus data must be formatted for certain atom styles.
    +
    Incorrect boundaries with slab Ewald
    +
    Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald.
    +
    Incorrect boundaries with slab EwaldDisp
    +
    Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with Ewald.
    +
    Incorrect boundaries with slab PPPM
    +
    Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with PPPM.
    +
    Incorrect boundaries with slab PPPMDisp
    +
    Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with pppm/disp.
    +
    Incorrect element names in ADP potential file
    +
    The element names in the ADP file do not match those requested.
    +
    Incorrect element names in EAM potential file
    +
    The element names in the EAM file do not match those requested.
    +
    Incorrect format in COMB potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in COMB3 potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in MEAM potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in SNAP coefficient file
    +
    Incorrect number of words per line in the coefficient file.
    +
    Incorrect format in SNAP parameter file
    +
    Incorrect number of words per line in the parameter file.
    +
    Incorrect format in Stillinger-Weber potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in TMD target file
    +
    Format of file read by fix tmd command is incorrect.
    +
    Incorrect format in Tersoff potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in coul/streitz potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect format in nb3b/harmonic potential file
    +
    Incorrect number of words per line in the potential file.
    +
    Incorrect integer value in Bodies section of data file
    +
    See doc page for body style.
    +
    Incorrect multiplicity arg for dihedral coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect rigid body format in fix rigid file
    +
    The number of fields per line is not what expected.
    +
    Incorrect rigid body format in fix rigid/small file
    +
    The number of fields per line is not what expected.
    +
    Incorrect sign arg for dihedral coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Incorrect velocity format in data file
    +
    Each atom style defines a format for the Velocity section +of the data file. The read-in lines do not match.
    +
    Incorrect weight arg for dihedral coefficients
    +
    Self-explanatory. Check the input script or data file.
    +
    Index between variable brackets must be positive
    +
    Self-explanatory.
    +
    Indexed per-atom vector in variable formula without atom map
    +
    Accessing a value from an atom vector requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for non-molecular problems. Using the atom_modify -map command will force an atom map to be created. - -
    Initial temperatures not all set in fix ttm - -
    Self-explantory. - -
    Input line quote not followed by whitespace - -
    An end quote must be followed by whitespace. - -
    Insertion region extends outside simulation box - -
    Self-explanatory. - -
    Insufficient Jacobi rotations for POEMS body - -
    Eigensolve for rigid body was not sufficiently accurate. - -
    Insufficient Jacobi rotations for body nparticle - -
    Eigensolve for rigid body was not sufficiently accurate. - -
    Insufficient Jacobi rotations for rigid body - -
    Eigensolve for rigid body was not sufficiently accurate. - -
    Insufficient Jacobi rotations for rigid molecule - -
    Eigensolve for rigid body was not sufficiently accurate. - -
    Insufficient Jacobi rotations for triangle - -
    The calculation of the intertia tensor of the triangle failed. This -should not happen if it is a reasonably shaped triangle. - -
    Insufficient memory on accelerator - -
    There is insufficient memory on one of the devices specified for the gpu -package - -
    Internal error in atom_style body - -
    This error should not occur. Contact the developers. - -
    Invalid -reorder N value - -
    Self-explanatory. - -
    Invalid Boolean syntax in if command - -
    Self-explanatory. - -
    Invalid Kokkos command-line args - -
    Self-explanatory. See Section 2.7 of the manual for details. - -
    Invalid LAMMPS restart file - -
    The file does not appear to be a LAMMPS restart file since -it doesn't contain the correct magic string at the beginning. - -
    Invalid REAX atom type - -
    There is a mis-match between LAMMPS atom types and the elements -listed in the ReaxFF force field file. - -
    Invalid angle table length - -
    Length must be 2 or greater. - -
    Invalid angle type in Angles section of data file - -
    Angle type must be positive integer and within range of specified angle -types. - -
    Invalid angle type in Angles section of molecule file - -
    Self-explanatory. - -
    Invalid angle type index for fix shake - -
    Self-explanatory. - -
    Invalid args for non-hybrid pair coefficients - -
    "NULL" is only supported in pair_coeff calls when using pair hybrid - -
    Invalid argument to factorial %d - -
    N must be >= 0 and <= 167, otherwise the factorial result is too -large. - -
    Invalid atom ID in %s section of data file - -
    An atom in a section of the data file being read by fix property/atom -has an invalid atom ID that is <= 0 or > the maximum existing atom ID. - -
    Invalid atom ID in Angles section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Angles section of molecule file - -
    Self-explanatory. - -
    Invalid atom ID in Atoms section of data file - -
    Atom IDs must be positive integers. - -
    Invalid atom ID in Bodies section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Bonds section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Bonds section of molecule file - -
    Self-explanatory. - -
    Invalid atom ID in Bonus section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Dihedrals section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Impropers section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in Velocities section of data file - -
    Atom IDs must be positive integers and within range of defined -atoms. - -
    Invalid atom ID in dihedrals section of molecule file - -
    Self-explanatory. - -
    Invalid atom ID in impropers section of molecule file - -
    Self-explanatory. - -
    Invalid atom ID in variable file - -
    Self-explanatory. - -
    Invalid atom IDs in neb file - -
    An ID in the file was not found in the system. - -
    Invalid atom diameter in molecule file - -
    Diameters must be >= 0.0. - -
    Invalid atom mass for fix shake - -
    Mass specified in fix shake command must be > 0.0. - -
    Invalid atom mass in molecule file - -
    Masses must be > 0.0. - -
    Invalid atom type in Atoms section of data file - -
    Atom types must range from 1 to specified # of types. - -
    Invalid atom type in create_atoms command - -
    The create_box command specified the range of valid atom types. -An invalid type is being requested. - -
    Invalid atom type in create_atoms mol command - -
    The atom types in the defined molecule are added to the value +map command will force an atom map to be created.
    +
    Initial temperatures not all set in fix ttm
    +
    Self-explantory.
    +
    Input line quote not followed by whitespace
    +
    An end quote must be followed by whitespace.
    +
    Insertion region extends outside simulation box
    +
    Self-explanatory.
    +
    Insufficient Jacobi rotations for POEMS body
    +
    Eigensolve for rigid body was not sufficiently accurate.
    +
    Insufficient Jacobi rotations for body nparticle
    +
    Eigensolve for rigid body was not sufficiently accurate.
    +
    Insufficient Jacobi rotations for rigid body
    +
    Eigensolve for rigid body was not sufficiently accurate.
    +
    Insufficient Jacobi rotations for rigid molecule
    +
    Eigensolve for rigid body was not sufficiently accurate.
    +
    Insufficient Jacobi rotations for triangle
    +
    The calculation of the intertia tensor of the triangle failed. This +should not happen if it is a reasonably shaped triangle.
    +
    Insufficient memory on accelerator
    +
    There is insufficient memory on one of the devices specified for the gpu +package
    +
    Internal error in atom_style body
    +
    This error should not occur. Contact the developers.
    +
    Invalid -reorder N value
    +
    Self-explanatory.
    +
    Invalid Boolean syntax in if command
    +
    Self-explanatory.
    +
    Invalid Kokkos command-line args
    +
    Self-explanatory. See Section 2.7 of the manual for details.
    +
    Invalid LAMMPS restart file
    +
    The file does not appear to be a LAMMPS restart file since +it doesn’t contain the correct magic string at the beginning.
    +
    Invalid REAX atom type
    +
    There is a mis-match between LAMMPS atom types and the elements +listed in the ReaxFF force field file.
    +
    Invalid angle table length
    +
    Length must be 2 or greater.
    +
    Invalid angle type in Angles section of data file
    +
    Angle type must be positive integer and within range of specified angle +types.
    +
    Invalid angle type in Angles section of molecule file
    +
    Self-explanatory.
    +
    Invalid angle type index for fix shake
    +
    Self-explanatory.
    +
    Invalid args for non-hybrid pair coefficients
    +
    “NULL” is only supported in pair_coeff calls when using pair hybrid
    +
    Invalid argument to factorial %d
    +
    N must be >= 0 and <= 167, otherwise the factorial result is too +large.
    +
    Invalid atom ID in %s section of data file
    +
    An atom in a section of the data file being read by fix property/atom +has an invalid atom ID that is <= 0 or > the maximum existing atom ID.
    +
    Invalid atom ID in Angles section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Angles section of molecule file
    +
    Self-explanatory.
    +
    Invalid atom ID in Atoms section of data file
    +
    Atom IDs must be positive integers.
    +
    Invalid atom ID in Bodies section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Bonds section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Bonds section of molecule file
    +
    Self-explanatory.
    +
    Invalid atom ID in Bonus section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Dihedrals section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Impropers section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in Velocities section of data file
    +
    Atom IDs must be positive integers and within range of defined +atoms.
    +
    Invalid atom ID in dihedrals section of molecule file
    +
    Self-explanatory.
    +
    Invalid atom ID in impropers section of molecule file
    +
    Self-explanatory.
    +
    Invalid atom ID in variable file
    +
    Self-explanatory.
    +
    Invalid atom IDs in neb file
    +
    An ID in the file was not found in the system.
    +
    Invalid atom diameter in molecule file
    +
    Diameters must be >= 0.0.
    +
    Invalid atom mass for fix shake
    +
    Mass specified in fix shake command must be > 0.0.
    +
    Invalid atom mass in molecule file
    +
    Masses must be > 0.0.
    +
    Invalid atom type in Atoms section of data file
    +
    Atom types must range from 1 to specified # of types.
    +
    Invalid atom type in create_atoms command
    +
    The create_box command specified the range of valid atom types. +An invalid type is being requested.
    +
    Invalid atom type in create_atoms mol command
    +
    The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types. - -
    Invalid atom type in fix atom/swap command - -
    The atom type specified in the atom/swap command does not exist. - -
    Invalid atom type in fix bond/create command - -
    Self-explanatory. - -
    Invalid atom type in fix deposit command - -
    Self-explanatory. - -
    Invalid atom type in fix deposit mol command - -
    The atom types in the defined molecule are added to the value +types.
    +
    Invalid atom type in fix atom/swap command
    +
    The atom type specified in the atom/swap command does not exist.
    +
    Invalid atom type in fix bond/create command
    +
    Self-explanatory.
    +
    Invalid atom type in fix deposit command
    +
    Self-explanatory.
    +
    Invalid atom type in fix deposit mol command
    +
    The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types. - -
    Invalid atom type in fix gcmc command - -
    The atom type specified in the gcmc command does not exist. - -
    Invalid atom type in fix gcmc mol command - -
    Self-explanatory. - -
    Invalid atom type in fix pour command - -
    Self-explanatory. - -
    Invalid atom type in fix pour mol command - -
    The atom types in the defined molecule are added to the value +types.
    +
    Invalid atom type in fix gcmc command
    +
    The atom type specified in the gcmc command does not exist.
    +
    Invalid atom type in fix gcmc mol command
    +
    Self-explanatory.
    +
    Invalid atom type in fix pour command
    +
    Self-explanatory.
    +
    Invalid atom type in fix pour mol command
    +
    The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom -types. - -
    Invalid atom type in molecule file - -
    Atom types must range from 1 to specified # of types. - -
    Invalid atom type in neighbor exclusion list - -
    Atom types must range from 1 to Ntypes inclusive. - -
    Invalid atom type index for fix shake - -
    Atom types must range from 1 to Ntypes inclusive. - -
    Invalid atom types in pair_write command - -
    Atom types must range from 1 to Ntypes inclusive. - -
    Invalid atom vector in variable formula - -
    The atom vector is not recognized. - -
    Invalid atom_style body command - -
    No body style argument was provided. - -
    Invalid atom_style command - -
    Self-explanatory. - -
    Invalid attribute in dump custom command - -
    Self-explantory. - -
    Invalid attribute in dump local command - -
    Self-explantory. - -
    Invalid attribute in dump modify command - -
    Self-explantory. - -
    Invalid basis setting in create_atoms command - -
    The basis index must be between 1 to N where N is the number of basis +types.
    +
    Invalid atom type in molecule file
    +
    Atom types must range from 1 to specified # of types.
    +
    Invalid atom type in neighbor exclusion list
    +
    Atom types must range from 1 to Ntypes inclusive.
    +
    Invalid atom type index for fix shake
    +
    Atom types must range from 1 to Ntypes inclusive.
    +
    Invalid atom types in pair_write command
    +
    Atom types must range from 1 to Ntypes inclusive.
    +
    Invalid atom vector in variable formula
    +
    The atom vector is not recognized.
    +
    Invalid atom_style body command
    +
    No body style argument was provided.
    +
    Invalid atom_style command
    +
    Self-explanatory.
    +
    Invalid attribute in dump custom command
    +
    Self-explantory.
    +
    Invalid attribute in dump local command
    +
    Self-explantory.
    +
    Invalid attribute in dump modify command
    +
    Self-explantory.
    +
    Invalid basis setting in create_atoms command
    +
    The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types. - -
    Invalid basis setting in fix append/atoms command - -
    The basis index must be between 1 to N where N is the number of basis +is the number of atom types.
    +
    Invalid basis setting in fix append/atoms command
    +
    The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types. - -
    Invalid bin bounds in compute chunk/atom - -
    The lo/hi values are inconsistent. - -
    Invalid bin bounds in fix ave/spatial - -
    The lo/hi values are inconsistent. - -
    Invalid body nparticle command - -
    Arguments in atom-style command are not correct. - -
    Invalid bond table length - -
    Length must be 2 or greater. - -
    Invalid bond type in Bonds section of data file - -
    Bond type must be positive integer and within range of specified bond -types. - -
    Invalid bond type in Bonds section of molecule file - -
    Self-explanatory. - -
    Invalid bond type in create_bonds command - -
    Self-explanatory. - -
    Invalid bond type in fix bond/break command - -
    Self-explanatory. - -
    Invalid bond type in fix bond/create command - -
    Self-explanatory. - -
    Invalid bond type index for fix shake - -
    Self-explanatory. Check the fix shake command in the input script. - -
    Invalid coeffs for this dihedral style - -
    Cannot set class 2 coeffs in data file for this dihedral style. - -
    Invalid color in dump_modify command - -
    The specified color name was not in the list of recognized colors. -See the dump_modify doc page. - -
    Invalid color map min/max values - -
    The min/max values are not consistent with either each other or -with values in the color map. - -
    Invalid command-line argument - -
    One or more command-line arguments is invalid. Check the syntax of -the command you are using to launch LAMMPS. - -
    Invalid compute ID in variable formula - -
    The compute is not recognized. - -
    Invalid create_atoms rotation vector for 2d model - -
    The rotation vector can only have a z component. - -
    Invalid custom OpenCL parameter string. - -
    There are not enough or too many parameters in the custom string for package -GPU. - -
    Invalid cutoff in comm_modify command - -
    Specified cutoff must be >= 0.0. - -
    Invalid cutoffs in pair_write command - -
    Inner cutoff must be larger than 0.0 and less than outer cutoff. - -
    Invalid d1 or d2 value for pair colloid coeff - -
    Neither d1 or d2 can be < 0. - -
    Invalid data file section: Angle Coeffs - -
    Atom style does not allow angles. - -
    Invalid data file section: AngleAngle Coeffs - -
    Atom style does not allow impropers. - -
    Invalid data file section: AngleAngleTorsion Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: AngleTorsion Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Angles - -
    Atom style does not allow angles. - -
    Invalid data file section: Bodies - -
    Atom style does not allow bodies. - -
    Invalid data file section: Bond Coeffs - -
    Atom style does not allow bonds. - -
    Invalid data file section: BondAngle Coeffs - -
    Atom style does not allow angles. - -
    Invalid data file section: BondBond Coeffs - -
    Atom style does not allow angles. - -
    Invalid data file section: BondBond13 Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Bonds - -
    Atom style does not allow bonds. - -
    Invalid data file section: Dihedral Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Dihedrals - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Ellipsoids - -
    Atom style does not allow ellipsoids. - -
    Invalid data file section: EndBondTorsion Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Improper Coeffs - -
    Atom style does not allow impropers. - -
    Invalid data file section: Impropers - -
    Atom style does not allow impropers. - -
    Invalid data file section: Lines - -
    Atom style does not allow lines. - -
    Invalid data file section: MiddleBondTorsion Coeffs - -
    Atom style does not allow dihedrals. - -
    Invalid data file section: Triangles - -
    Atom style does not allow triangles. - -
    Invalid delta_conf in tad command - -
    The value must be between 0 and 1 inclusive. - -
    Invalid density in Atoms section of data file - -
    Density value cannot be <= 0.0. - -
    Invalid density in set command - -
    Density must be > 0.0. - -
    Invalid diameter in set command - -
    Self-explanatory. - -
    Invalid dihedral type in Dihedrals section of data file - -
    Dihedral type must be positive integer and within range of specified -dihedral types. - -
    Invalid dihedral type in dihedrals section of molecule file - -
    Self-explanatory. - -
    Invalid dipole length in set command - -
    Self-explanatory. - -
    Invalid displace_atoms rotate axis for 2d - -
    Axis must be in z direction. - -
    Invalid dump dcd filename - -
    Filenames used with the dump dcd style cannot be binary or compressed -or cause multiple files to be written. - -
    Invalid dump frequency - -
    Dump frequency must be 1 or greater. - -
    Invalid dump image element name - -
    The specified element name was not in the standard list of elements. -See the dump_modify doc page. - -
    Invalid dump image filename - -
    The file produced by dump image cannot be binary and must -be for a single processor. - -
    Invalid dump image persp value - -
    Persp value must be >= 0.0. - -
    Invalid dump image theta value - -
    Theta must be between 0.0 and 180.0 inclusive. - -
    Invalid dump image zoom value - -
    Zoom value must be > 0.0. - -
    Invalid dump movie filename - -
    The file produced by dump movie cannot be binary or compressed -and must be a single file for a single processor. - -
    Invalid dump xtc filename - -
    Filenames used with the dump xtc style cannot be binary or compressed -or cause multiple files to be written. - -
    Invalid dump xyz filename - -
    Filenames used with the dump xyz style cannot be binary or cause files -to be written by each processor. - -
    Invalid dump_modify threshhold operator - -
    Operator keyword used for threshold specification in not recognized. - -
    Invalid entry in -reorder file - -
    Self-explanatory. - -
    Invalid fix ID in variable formula - -
    The fix is not recognized. - -
    Invalid fix ave/time off column - -
    Self-explantory. - -
    Invalid fix box/relax command for a 2d simulation - -
    Fix box/relax styles involving the z dimension cannot be used in -a 2d simulation. - -
    Invalid fix box/relax command pressure settings - -
    If multiple dimensions are coupled, those dimensions must be specified. - -
    Invalid fix box/relax pressure settings - -
    Settings for coupled dimensions must be the same. - -
    Invalid fix nvt/npt/nph command for a 2d simulation - -
    Cannot control z dimension in a 2d model. - -
    Invalid fix nvt/npt/nph command pressure settings - -
    If multiple dimensions are coupled, those dimensions must be -specified. - -
    Invalid fix nvt/npt/nph pressure settings - -
    Settings for coupled dimensions must be the same. - -
    Invalid fix press/berendsen for a 2d simulation - -
    The z component of pressure cannot be controlled for a 2d model. - -
    Invalid fix press/berendsen pressure settings - -
    Settings for coupled dimensions must be the same. - -
    Invalid fix qeq parameter file - -
    Element index > number of atom types. - -
    Invalid fix rigid npt/nph command for a 2d simulation - -
    Cannot control z dimension in a 2d model. - -
    Invalid fix rigid npt/nph command pressure settings - -
    If multiple dimensions are coupled, those dimensions must be -specified. - -
    Invalid fix rigid/small npt/nph command for a 2d simulation - -
    Cannot control z dimension in a 2d model. - -
    Invalid fix rigid/small npt/nph command pressure settings - -
    If multiple dimensions are coupled, those dimensions must be -specified. - -
    Invalid flag in force field section of restart file - -
    Unrecognized entry in restart file. - -
    Invalid flag in header section of restart file - -
    Unrecognized entry in restart file. - -
    Invalid flag in peratom section of restart file - -
    The format of this section of the file is not correct. - -
    Invalid flag in type arrays section of restart file - -
    Unrecognized entry in restart file. - -
    Invalid format in Bodies section of data file - -
    The specified number of integer or floating point values does not -appear. - -
    Invalid frequency in temper command - -
    Nevery must be > 0. - -
    Invalid group ID in neigh_modify command - -
    A group ID used in the neigh_modify command does not exist. - -
    Invalid group function in variable formula - -
    Group function is not recognized. - -
    Invalid group in comm_modify command - -
    Self-explanatory. - -
    Invalid image up vector - -
    Up vector cannot be (0,0,0). - -
    Invalid immediate variable - -
    Syntax of immediate value is incorrect. - -
    Invalid improper type in Impropers section of data file - -
    Improper type must be positive integer and within range of specified -improper types. - -
    Invalid improper type in impropers section of molecule file - -
    Self-explanatory. - -
    Invalid index for non-body particles in compute body/local command - -
    Only indices 1,2,3 can be used for non-body particles. - -
    Invalid index in compute body/local command - -
    Self-explanatory. - -
    Invalid keyword in angle table parameters - -
    Self-explanatory. - -
    Invalid keyword in bond table parameters - -
    Self-explanatory. - -
    Invalid keyword in compute angle/local command - -
    Self-explanatory. - -
    Invalid keyword in compute bond/local command - -
    Self-explanatory. - -
    Invalid keyword in compute dihedral/local command - -
    Self-explanatory. - -
    Invalid keyword in compute improper/local command - -
    Self-explanatory. - -
    Invalid keyword in compute pair/local command - -
    Self-explanatory. - -
    Invalid keyword in compute property/atom command - -
    Self-explanatory. - -
    Invalid keyword in compute property/chunk command - -
    Self-explanatory. - -
    Invalid keyword in compute property/local command - -
    Self-explanatory. - -
    Invalid keyword in dump cfg command - -
    Self-explanatory. - -
    Invalid keyword in pair table parameters - -
    Keyword used in list of table parameters is not recognized. - -
    Invalid length in set command - -
    Self-explanatory. - -
    Invalid mass in set command - -
    Self-explanatory. - -
    Invalid mass line in data file - -
    Self-explanatory. - -
    Invalid mass value - -
    Self-explanatory. - -
    Invalid math function in variable formula - -
    Self-explanatory. - -
    Invalid math/group/special function in variable formula - -
    Self-explanatory. - -
    Invalid option in lattice command for non-custom style - -
    Certain lattice keywords are not supported unless the -lattice style is "custom". - -
    Invalid order of forces within respa levels - -
    For respa, ordering of force computations within respa levels must +is the number of atom types.
    +
    Invalid bin bounds in compute chunk/atom
    +
    The lo/hi values are inconsistent.
    +
    Invalid bin bounds in fix ave/spatial
    +
    The lo/hi values are inconsistent.
    +
    Invalid body nparticle command
    +
    Arguments in atom-style command are not correct.
    +
    Invalid bond table length
    +
    Length must be 2 or greater.
    +
    Invalid bond type in Bonds section of data file
    +
    Bond type must be positive integer and within range of specified bond +types.
    +
    Invalid bond type in Bonds section of molecule file
    +
    Self-explanatory.
    +
    Invalid bond type in create_bonds command
    +
    Self-explanatory.
    +
    Invalid bond type in fix bond/break command
    +
    Self-explanatory.
    +
    Invalid bond type in fix bond/create command
    +
    Self-explanatory.
    +
    Invalid bond type index for fix shake
    +
    Self-explanatory. Check the fix shake command in the input script.
    +
    Invalid coeffs for this dihedral style
    +
    Cannot set class 2 coeffs in data file for this dihedral style.
    +
    Invalid color in dump_modify command
    +
    The specified color name was not in the list of recognized colors. +See the dump_modify doc page.
    +
    Invalid color map min/max values
    +
    The min/max values are not consistent with either each other or +with values in the color map.
    +
    Invalid command-line argument
    +
    One or more command-line arguments is invalid. Check the syntax of +the command you are using to launch LAMMPS.
    +
    Invalid compute ID in variable formula
    +
    The compute is not recognized.
    +
    Invalid create_atoms rotation vector for 2d model
    +
    The rotation vector can only have a z component.
    +
    Invalid custom OpenCL parameter string.
    +
    There are not enough or too many parameters in the custom string for package +GPU.
    +
    Invalid cutoff in comm_modify command
    +
    Specified cutoff must be >= 0.0.
    +
    Invalid cutoffs in pair_write command
    +
    Inner cutoff must be larger than 0.0 and less than outer cutoff.
    +
    Invalid d1 or d2 value for pair colloid coeff
    +
    Neither d1 or d2 can be < 0.
    +
    Invalid data file section: Angle Coeffs
    +
    Atom style does not allow angles.
    +
    Invalid data file section: AngleAngle Coeffs
    +
    Atom style does not allow impropers.
    +
    Invalid data file section: AngleAngleTorsion Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: AngleTorsion Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Angles
    +
    Atom style does not allow angles.
    +
    Invalid data file section: Bodies
    +
    Atom style does not allow bodies.
    +
    Invalid data file section: Bond Coeffs
    +
    Atom style does not allow bonds.
    +
    Invalid data file section: BondAngle Coeffs
    +
    Atom style does not allow angles.
    +
    Invalid data file section: BondBond Coeffs
    +
    Atom style does not allow angles.
    +
    Invalid data file section: BondBond13 Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Bonds
    +
    Atom style does not allow bonds.
    +
    Invalid data file section: Dihedral Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Dihedrals
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Ellipsoids
    +
    Atom style does not allow ellipsoids.
    +
    Invalid data file section: EndBondTorsion Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Improper Coeffs
    +
    Atom style does not allow impropers.
    +
    Invalid data file section: Impropers
    +
    Atom style does not allow impropers.
    +
    Invalid data file section: Lines
    +
    Atom style does not allow lines.
    +
    Invalid data file section: MiddleBondTorsion Coeffs
    +
    Atom style does not allow dihedrals.
    +
    Invalid data file section: Triangles
    +
    Atom style does not allow triangles.
    +
    Invalid delta_conf in tad command
    +
    The value must be between 0 and 1 inclusive.
    +
    Invalid density in Atoms section of data file
    +
    Density value cannot be <= 0.0.
    +
    Invalid density in set command
    +
    Density must be > 0.0.
    +
    Invalid diameter in set command
    +
    Self-explanatory.
    +
    Invalid dihedral type in Dihedrals section of data file
    +
    Dihedral type must be positive integer and within range of specified +dihedral types.
    +
    Invalid dihedral type in dihedrals section of molecule file
    +
    Self-explanatory.
    +
    Invalid dipole length in set command
    +
    Self-explanatory.
    +
    Invalid displace_atoms rotate axis for 2d
    +
    Axis must be in z direction.
    +
    Invalid dump dcd filename
    +
    Filenames used with the dump dcd style cannot be binary or compressed +or cause multiple files to be written.
    +
    Invalid dump frequency
    +
    Dump frequency must be 1 or greater.
    +
    Invalid dump image element name
    +
    The specified element name was not in the standard list of elements. +See the dump_modify doc page.
    +
    Invalid dump image filename
    +
    The file produced by dump image cannot be binary and must +be for a single processor.
    +
    Invalid dump image persp value
    +
    Persp value must be >= 0.0.
    +
    Invalid dump image theta value
    +
    Theta must be between 0.0 and 180.0 inclusive.
    +
    Invalid dump image zoom value
    +
    Zoom value must be > 0.0.
    +
    Invalid dump movie filename
    +
    The file produced by dump movie cannot be binary or compressed +and must be a single file for a single processor.
    +
    Invalid dump xtc filename
    +
    Filenames used with the dump xtc style cannot be binary or compressed +or cause multiple files to be written.
    +
    Invalid dump xyz filename
    +
    Filenames used with the dump xyz style cannot be binary or cause files +to be written by each processor.
    +
    Invalid dump_modify threshhold operator
    +
    Operator keyword used for threshold specification in not recognized.
    +
    Invalid entry in -reorder file
    +
    Self-explanatory.
    +
    Invalid fix ID in variable formula
    +
    The fix is not recognized.
    +
    Invalid fix ave/time off column
    +
    Self-explantory.
    +
    Invalid fix box/relax command for a 2d simulation
    +
    Fix box/relax styles involving the z dimension cannot be used in +a 2d simulation.
    +
    Invalid fix box/relax command pressure settings
    +
    If multiple dimensions are coupled, those dimensions must be specified.
    +
    Invalid fix box/relax pressure settings
    +
    Settings for coupled dimensions must be the same.
    +
    Invalid fix nvt/npt/nph command for a 2d simulation
    +
    Cannot control z dimension in a 2d model.
    +
    Invalid fix nvt/npt/nph command pressure settings
    +
    If multiple dimensions are coupled, those dimensions must be +specified.
    +
    Invalid fix nvt/npt/nph pressure settings
    +
    Settings for coupled dimensions must be the same.
    +
    Invalid fix press/berendsen for a 2d simulation
    +
    The z component of pressure cannot be controlled for a 2d model.
    +
    Invalid fix press/berendsen pressure settings
    +
    Settings for coupled dimensions must be the same.
    +
    Invalid fix qeq parameter file
    +
    Element index > number of atom types.
    +
    Invalid fix rigid npt/nph command for a 2d simulation
    +
    Cannot control z dimension in a 2d model.
    +
    Invalid fix rigid npt/nph command pressure settings
    +
    If multiple dimensions are coupled, those dimensions must be +specified.
    +
    Invalid fix rigid/small npt/nph command for a 2d simulation
    +
    Cannot control z dimension in a 2d model.
    +
    Invalid fix rigid/small npt/nph command pressure settings
    +
    If multiple dimensions are coupled, those dimensions must be +specified.
    +
    Invalid flag in force field section of restart file
    +
    Unrecognized entry in restart file.
    +
    Invalid flag in header section of restart file
    +
    Unrecognized entry in restart file.
    +
    Invalid flag in peratom section of restart file
    +
    The format of this section of the file is not correct.
    +
    Invalid flag in type arrays section of restart file
    +
    Unrecognized entry in restart file.
    +
    Invalid format in Bodies section of data file
    +
    The specified number of integer or floating point values does not +appear.
    +
    Invalid frequency in temper command
    +
    Nevery must be > 0.
    +
    Invalid group ID in neigh_modify command
    +
    A group ID used in the neigh_modify command does not exist.
    +
    Invalid group function in variable formula
    +
    Group function is not recognized.
    +
    Invalid group in comm_modify command
    +
    Self-explanatory.
    +
    Invalid image up vector
    +
    Up vector cannot be (0,0,0).
    +
    Invalid immediate variable
    +
    Syntax of immediate value is incorrect.
    +
    Invalid improper type in Impropers section of data file
    +
    Improper type must be positive integer and within range of specified +improper types.
    +
    Invalid improper type in impropers section of molecule file
    +
    Self-explanatory.
    +
    Invalid index for non-body particles in compute body/local command
    +
    Only indices 1,2,3 can be used for non-body particles.
    +
    Invalid index in compute body/local command
    +
    Self-explanatory.
    +
    Invalid keyword in angle table parameters
    +
    Self-explanatory.
    +
    Invalid keyword in bond table parameters
    +
    Self-explanatory.
    +
    Invalid keyword in compute angle/local command
    +
    Self-explanatory.
    +
    Invalid keyword in compute bond/local command
    +
    Self-explanatory.
    +
    Invalid keyword in compute dihedral/local command
    +
    Self-explanatory.
    +
    Invalid keyword in compute improper/local command
    +
    Self-explanatory.
    +
    Invalid keyword in compute pair/local command
    +
    Self-explanatory.
    +
    Invalid keyword in compute property/atom command
    +
    Self-explanatory.
    +
    Invalid keyword in compute property/chunk command
    +
    Self-explanatory.
    +
    Invalid keyword in compute property/local command
    +
    Self-explanatory.
    +
    Invalid keyword in dump cfg command
    +
    Self-explanatory.
    +
    Invalid keyword in pair table parameters
    +
    Keyword used in list of table parameters is not recognized.
    +
    Invalid length in set command
    +
    Self-explanatory.
    +
    Invalid mass in set command
    +
    Self-explanatory.
    +
    Invalid mass line in data file
    +
    Self-explanatory.
    +
    Invalid mass value
    +
    Self-explanatory.
    +
    Invalid math function in variable formula
    +
    Self-explanatory.
    +
    Invalid math/group/special function in variable formula
    +
    Self-explanatory.
    +
    Invalid option in lattice command for non-custom style
    +
    Certain lattice keywords are not supported unless the +lattice style is “custom”.
    +
    Invalid order of forces within respa levels
    +
    For respa, ordering of force computations within respa levels must obey certain rules. E.g. bonds cannot be compute less frequently than angles, pairwise forces cannot be computed less frequently than -kspace, etc. - -
    Invalid pair table cutoff - -
    Cutoffs in pair_coeff command are not valid with read-in pair table. - -
    Invalid pair table length - -
    Length of read-in pair table is invalid - -
    Invalid param file for fix qeq/shielded - -
    Invalid value of gamma. - -
    Invalid param file for fix qeq/slater - -
    Zeta value is 0.0. - -
    Invalid partitions in processors part command - -
    Valid partitions are numbered 1 to N and the sender and receiver -cannot be the same partition. - -
    Invalid python command - -
    Self-explanatory. Check the input script syntax and compare to the +kspace, etc.
    +
    Invalid pair table cutoff
    +
    Cutoffs in pair_coeff command are not valid with read-in pair table.
    +
    Invalid pair table length
    +
    Length of read-in pair table is invalid
    +
    Invalid param file for fix qeq/shielded
    +
    Invalid value of gamma.
    +
    Invalid param file for fix qeq/slater
    +
    Zeta value is 0.0.
    +
    Invalid partitions in processors part command
    +
    Valid partitions are numbered 1 to N and the sender and receiver +cannot be the same partition.
    +
    Invalid python command
    +
    Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -
    Invalid radius in Atoms section of data file - -
    Radius must be >= 0.0. - -
    Invalid random number seed in fix ttm command - -
    Random number seed must be > 0. - -
    Invalid random number seed in set command - -
    Random number seed must be > 0. - -
    Invalid replace values in compute reduce - -
    Self-explanatory. - -
    Invalid rigid body ID in fix rigid file - -
    The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid command. - -
    Invalid rigid body ID in fix rigid/small file - -
    The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid/small command. - -
    Invalid run command N value - -
    The number of timesteps must fit in a 32-bit integer. If you want to -run for more steps than this, perform multiple shorter runs. - -
    Invalid run command start/stop value - -
    Self-explanatory. - -
    Invalid run command upto value - -
    Self-explanatory. - -
    Invalid seed for Marsaglia random # generator - -
    The initial seed for this random number generator must be a positive -integer less than or equal to 900 million. - -
    Invalid seed for Park random # generator - -
    The initial seed for this random number generator must be a positive -integer. - -
    Invalid shake angle type in molecule file - -
    Self-explanatory. - -
    Invalid shake atom in molecule file - -
    Self-explanatory. - -
    Invalid shake bond type in molecule file - -
    Self-explanatory. - -
    Invalid shake flag in molecule file - -
    Self-explanatory. - -
    Invalid shape in Ellipsoids section of data file - -
    Self-explanatory. - -
    Invalid shape in Triangles section of data file - -
    Two or more of the triangle corners are duplicate points. - -
    Invalid shape in set command - -
    Self-explanatory. - -
    Invalid shear direction for fix wall/gran - -
    Self-explanatory. - -
    Invalid special atom index in molecule file - -
    Self-explanatory. - -
    Invalid special function in variable formula - -
    Self-explanatory. - -
    Invalid style in pair_write command - -
    Self-explanatory. Check the input script. - -
    Invalid syntax in variable formula - -
    Self-explanatory. - -
    Invalid t_event in prd command - -
    Self-explanatory. - -
    Invalid t_event in tad command - -
    The value must be greater than 0. - -
    Invalid template atom in Atoms section of data file - -
    The atom indices must be between 1 to N, where N is the number of -atoms in the template molecule the atom belongs to. - -
    Invalid template index in Atoms section of data file - -
    The template indices must be between 1 to N, where N is the number of -molecules in the template. - -
    Invalid thermo keyword in variable formula - -
    The keyword is not recognized. - -
    Invalid threads_per_atom specified. - -
    For 3-body potentials on the GPU, the threads_per_atom setting cannot be -greater than 4 for NVIDIA GPUs. - -
    Invalid timestep reset for fix ave/atom - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid timestep reset for fix ave/chunk - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid timestep reset for fix ave/correlate - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid timestep reset for fix ave/histo - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid timestep reset for fix ave/spatial - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid timestep reset for fix ave/time - -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process. - -
    Invalid tmax in tad command - -
    The value must be greater than 0.0. - -
    Invalid type for mass set - -
    Mass command must set a type from 1-N where N is the number of atom -types. - -
    Invalid use of library file() function - -
    This function is called thru the library interface. This -error should not occur. Contact the developers if it does. - -
    Invalid value in set command - -
    The value specified for the setting is invalid, likely because it is -too small or too large. - -
    Invalid variable evaluation in variable formula - -
    A variable used in a formula could not be evaluated. - -
    Invalid variable in next command - -
    Self-explanatory. - -
    Invalid variable name - -
    Variable name used in an input script line is invalid. - -
    Invalid variable name in variable formula - -
    Variable name is not recognized. - -
    Invalid variable style in special function next - -
    Only file-style or atomfile-style variables can be used with next(). - -
    Invalid variable style with next command - -
    Variable styles equal and world cannot be used in a next -command. - -
    Invalid volume in set command - -
    Volume must be > 0.0. - -
    Invalid wiggle direction for fix wall/gran - -
    Self-explanatory. - -
    Invoked angle equil angle on angle style none - -
    Self-explanatory. - -
    Invoked angle single on angle style none - -
    Self-explanatory. - -
    Invoked bond equil distance on bond style none - -
    Self-explanatory. - -
    Invoked bond single on bond style none - -
    Self-explanatory. - -
    Invoked pair single on pair style none - -
    A command (e.g. a dump) attempted to invoke the single() function on a +command-line option when running LAMMPS to see the offending line.
    +
    Invalid radius in Atoms section of data file
    +
    Radius must be >= 0.0.
    +
    Invalid random number seed in fix ttm command
    +
    Random number seed must be > 0.
    +
    Invalid random number seed in set command
    +
    Random number seed must be > 0.
    +
    Invalid replace values in compute reduce
    +
    Self-explanatory.
    +
    Invalid rigid body ID in fix rigid file
    +
    The ID does not match the number of an existing ID of rigid bodies +that are defined by the fix rigid command.
    +
    Invalid rigid body ID in fix rigid/small file
    +
    The ID does not match the number of an existing ID of rigid bodies +that are defined by the fix rigid/small command.
    +
    Invalid run command N value
    +
    The number of timesteps must fit in a 32-bit integer. If you want to +run for more steps than this, perform multiple shorter runs.
    +
    Invalid run command start/stop value
    +
    Self-explanatory.
    +
    Invalid run command upto value
    +
    Self-explanatory.
    +
    Invalid seed for Marsaglia random # generator
    +
    The initial seed for this random number generator must be a positive +integer less than or equal to 900 million.
    +
    Invalid seed for Park random # generator
    +
    The initial seed for this random number generator must be a positive +integer.
    +
    Invalid shake angle type in molecule file
    +
    Self-explanatory.
    +
    Invalid shake atom in molecule file
    +
    Self-explanatory.
    +
    Invalid shake bond type in molecule file
    +
    Self-explanatory.
    +
    Invalid shake flag in molecule file
    +
    Self-explanatory.
    +
    Invalid shape in Ellipsoids section of data file
    +
    Self-explanatory.
    +
    Invalid shape in Triangles section of data file
    +
    Two or more of the triangle corners are duplicate points.
    +
    Invalid shape in set command
    +
    Self-explanatory.
    +
    Invalid shear direction for fix wall/gran
    +
    Self-explanatory.
    +
    Invalid special atom index in molecule file
    +
    Self-explanatory.
    +
    Invalid special function in variable formula
    +
    Self-explanatory.
    +
    Invalid style in pair_write command
    +
    Self-explanatory. Check the input script.
    +
    Invalid syntax in variable formula
    +
    Self-explanatory.
    +
    Invalid t_event in prd command
    +
    Self-explanatory.
    +
    Invalid t_event in tad command
    +
    The value must be greater than 0.
    +
    Invalid template atom in Atoms section of data file
    +
    The atom indices must be between 1 to N, where N is the number of +atoms in the template molecule the atom belongs to.
    +
    Invalid template index in Atoms section of data file
    +
    The template indices must be between 1 to N, where N is the number of +molecules in the template.
    +
    Invalid thermo keyword in variable formula
    +
    The keyword is not recognized.
    +
    Invalid threads_per_atom specified.
    +
    For 3-body potentials on the GPU, the threads_per_atom setting cannot be +greater than 4 for NVIDIA GPUs.
    +
    Invalid timestep reset for fix ave/atom
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid timestep reset for fix ave/chunk
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid timestep reset for fix ave/correlate
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid timestep reset for fix ave/histo
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid timestep reset for fix ave/spatial
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid timestep reset for fix ave/time
    +
    Resetting the timestep has invalidated the sequence of timesteps this +fix needs to process.
    +
    Invalid tmax in tad command
    +
    The value must be greater than 0.0.
    +
    Invalid type for mass set
    +
    Mass command must set a type from 1-N where N is the number of atom +types.
    +
    Invalid use of library file() function
    +
    This function is called thru the library interface. This +error should not occur. Contact the developers if it does.
    +
    Invalid value in set command
    +
    The value specified for the setting is invalid, likely because it is +too small or too large.
    +
    Invalid variable evaluation in variable formula
    +
    A variable used in a formula could not be evaluated.
    +
    Invalid variable in next command
    +
    Self-explanatory.
    +
    Invalid variable name
    +
    Variable name used in an input script line is invalid.
    +
    Invalid variable name in variable formula
    +
    Variable name is not recognized.
    +
    Invalid variable style in special function next
    +
    Only file-style or atomfile-style variables can be used with next().
    +
    Invalid variable style with next command
    +
    Variable styles equal and world cannot be used in a next +command.
    +
    Invalid volume in set command
    +
    Volume must be > 0.0.
    +
    Invalid wiggle direction for fix wall/gran
    +
    Self-explanatory.
    +
    Invoked angle equil angle on angle style none
    +
    Self-explanatory.
    +
    Invoked angle single on angle style none
    +
    Self-explanatory.
    +
    Invoked bond equil distance on bond style none
    +
    Self-explanatory.
    +
    Invoked bond single on bond style none
    +
    Self-explanatory.
    +
    Invoked pair single on pair style none
    +
    A command (e.g. a dump) attempted to invoke the single() function on a pair style none, which is illegal. You are probably attempting to -compute per-atom quantities with an undefined pair style. - -
    Invoking coulombic in pair style lj/coul requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Invoking coulombic in pair style lj/long/dipole/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    KIM neighbor iterator exceeded range - -
    This should not happen. It likely indicates a bug +compute per-atom quantities with an undefined pair style.
    +
    Invoking coulombic in pair style lj/coul requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Invoking coulombic in pair style lj/long/dipole/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    KIM neighbor iterator exceeded range
    +
    This should not happen. It likely indicates a bug in the KIM implementation of the interatomic potential -where it is requesting neighbors incorrectly. - -
    KOKKOS package does not yet support comm_style tiled - -
    Self-explanatory. - -
    KOKKOS package requires a kokkos enabled atom_style - -
    Self-explanatory. - -
    KSpace accuracy must be > 0 - -
    The kspace accuracy designated in the input must be greater than zero. - -
    KSpace accuracy too large to estimate G vector - -
    Reduce the accuracy request or specify gwald explicitly -via the kspace_modify command. - -
    KSpace accuracy too low - -
    Requested accuracy must be less than 1.0. - -
    KSpace solver requires a pair style - -
    No pair style is defined. - -
    KSpace style does not yet support triclinic geometries - -
    The specified kspace style does not allow for non-orthogonal -simulation boxes. - -
    KSpace style has not yet been set - -
    Cannot use kspace_modify command until a kspace style is set. - -
    KSpace style is incompatible with Pair style - -
    Setting a kspace style requires that a pair style with matching -long-range Coulombic or dispersion components be used. - -
    Keyword %s in MEAM parameter file not recognized - -
    Self-explanatory. - -
    Kspace style does not support compute group/group - -
    Self-explanatory. - -
    Kspace style pppm/disp/tip4p requires newton on - -
    Self-explanatory. - -
    Kspace style pppm/tip4p requires newton on - -
    Self-explanatory. - -
    Kspace style requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Kspace_modify eigtol must be smaller than one - -
    Self-explanatory. - -
    LAMMPS is not built with Python embedded - -
    This is done by including the PYTHON package before LAMMPS is built. -This is required to use python-style variables. - -
    LAMMPS unit_style lj not supported by KIM models - -
    Self-explanatory. Check the input script or data file. - -
    LJ6 off not supported in pair_style buck/long/coul/long - -
    Self-exlanatory. - -
    Label wasn't found in input script - -
    Self-explanatory. - -
    Lattice orient vectors are not orthogonal - -
    The three specified lattice orientation vectors must be mutually -orthogonal. - -
    Lattice orient vectors are not right-handed - -
    The three specified lattice orientation vectors must create a -right-handed coordinate system such that a1 cross a2 = a3. - -
    Lattice primitive vectors are collinear - -
    The specified lattice primitive vectors do not for a unit cell with -non-zero volume. - -
    Lattice settings are not compatible with 2d simulation - -
    One or more of the specified lattice vectors has a non-zero z -component. - -
    Lattice spacings are invalid - -
    Each x,y,z spacing must be > 0. - -
    Lattice style incompatible with simulation dimension - -
    2d simulation can use sq, sq2, or hex lattice. 3d simulation can use -sc, bcc, or fcc lattice. - -
    Log of zero/negative value in variable formula - -
    Self-explanatory. - -
    Lost atoms via balance: original %ld current %ld - -
    This should not occur. Report the problem to the developers. - -
    Lost atoms: original %ld current %ld - -
    Lost atoms are checked for each time thermo output is done. See the +where it is requesting neighbors incorrectly.
    +
    KOKKOS package does not yet support comm_style tiled
    +
    Self-explanatory.
    +
    KOKKOS package requires a kokkos enabled atom_style
    +
    Self-explanatory.
    +
    KSpace accuracy must be > 0
    +
    The kspace accuracy designated in the input must be greater than zero.
    +
    KSpace accuracy too large to estimate G vector
    +
    Reduce the accuracy request or specify gwald explicitly +via the kspace_modify command.
    +
    KSpace accuracy too low
    +
    Requested accuracy must be less than 1.0.
    +
    KSpace solver requires a pair style
    +
    No pair style is defined.
    +
    KSpace style does not yet support triclinic geometries
    +
    The specified kspace style does not allow for non-orthogonal +simulation boxes.
    +
    KSpace style has not yet been set
    +
    Cannot use kspace_modify command until a kspace style is set.
    +
    KSpace style is incompatible with Pair style
    +
    Setting a kspace style requires that a pair style with matching +long-range Coulombic or dispersion components be used.
    +
    Keyword %s in MEAM parameter file not recognized
    +
    Self-explanatory.
    +
    Kspace style does not support compute group/group
    +
    Self-explanatory.
    +
    Kspace style pppm/disp/tip4p requires newton on
    +
    Self-explanatory.
    +
    Kspace style pppm/tip4p requires newton on
    +
    Self-explanatory.
    +
    Kspace style requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Kspace_modify eigtol must be smaller than one
    +
    Self-explanatory.
    +
    LAMMPS is not built with Python embedded
    +
    This is done by including the PYTHON package before LAMMPS is built. +This is required to use python-style variables.
    +
    LAMMPS unit_style lj not supported by KIM models
    +
    Self-explanatory. Check the input script or data file.
    +
    LJ6 off not supported in pair_style buck/long/coul/long
    +
    Self-exlanatory.
    +
    Label wasn’t found in input script
    +
    Self-explanatory.
    +
    Lattice orient vectors are not orthogonal
    +
    The three specified lattice orientation vectors must be mutually +orthogonal.
    +
    Lattice orient vectors are not right-handed
    +
    The three specified lattice orientation vectors must create a +right-handed coordinate system such that a1 cross a2 = a3.
    +
    Lattice primitive vectors are collinear
    +
    The specified lattice primitive vectors do not for a unit cell with +non-zero volume.
    +
    Lattice settings are not compatible with 2d simulation
    +
    One or more of the specified lattice vectors has a non-zero z +component.
    +
    Lattice spacings are invalid
    +
    Each x,y,z spacing must be > 0.
    +
    Lattice style incompatible with simulation dimension
    +
    2d simulation can use sq, sq2, or hex lattice. 3d simulation can use +sc, bcc, or fcc lattice.
    +
    Log of zero/negative value in variable formula
    +
    Self-explanatory.
    +
    Lost atoms via balance: original %ld current %ld
    +
    This should not occur. Report the problem to the developers.
    +
    Lost atoms: original %ld current %ld
    +
    Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor's sub-domain away before -reneighboring. - -
    MEAM library error %d - -
    A call to the MEAM Fortran library returned an error. - -
    MPI_LMP_BIGINT and bigint in lmptype.h are not compatible - -
    The size of the MPI datatype does not match the size of a bigint. - -
    MPI_LMP_TAGINT and tagint in lmptype.h are not compatible - -
    The size of the MPI datatype does not match the size of a tagint. - -
    MSM can only currently be used with comm_style brick - -
    This is a current restriction in LAMMPS. - -
    MSM grid is too large - -
    The global MSM grid is larger than OFFSET in one or more dimensions. +box, or moved futher than one processor’s sub-domain away before +reneighboring.
    +
    MEAM library error %d
    +
    A call to the MEAM Fortran library returned an error.
    +
    MPI_LMP_BIGINT and bigint in lmptype.h are not compatible
    +
    The size of the MPI datatype does not match the size of a bigint.
    +
    MPI_LMP_TAGINT and tagint in lmptype.h are not compatible
    +
    The size of the MPI datatype does not match the size of a tagint.
    +
    MSM can only currently be used with comm_style brick
    +
    This is a current restriction in LAMMPS.
    +
    MSM grid is too large
    +
    The global MSM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 16384. You likely need to decrease the -requested accuracy. - -
    MSM order must be 4, 6, 8, or 10 - -
    This is a limitation of the MSM implementation in LAMMPS: -the MSM order can only be 4, 6, 8, or 10. - -
    Mass command before simulation box is defined - -
    The mass command cannot be used before a read_data, read_restart, or -create_box command. - -
    Matrix factorization to split dispersion coefficients failed - -
    This should not normally happen. Contact the developers. - -
    Min_style command before simulation box is defined - -
    The min_style command cannot be used before a read_data, read_restart, -or create_box command. - -
    Minimization could not find thermo_pe compute - -
    This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command. - -
    Minimize command before simulation box is defined - -
    The minimize command cannot be used before a read_data, read_restart, -or create_box command. - -
    Mismatched brackets in variable - -
    Self-explanatory. - -
    Mismatched compute in variable formula - -
    A compute is referenced incorrectly or a compute that produces per-atom -values is used in an equal-style variable formula. - -
    Mismatched fix in variable formula - -
    A fix is referenced incorrectly or a fix that produces per-atom -values is used in an equal-style variable formula. - -
    Mismatched variable in variable formula - -
    A variable is referenced incorrectly or an atom-style variable that +requested accuracy.
    +
    MSM order must be 4, 6, 8, or 10
    +
    This is a limitation of the MSM implementation in LAMMPS: +the MSM order can only be 4, 6, 8, or 10.
    +
    Mass command before simulation box is defined
    +
    The mass command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Matrix factorization to split dispersion coefficients failed
    +
    This should not normally happen. Contact the developers.
    +
    Min_style command before simulation box is defined
    +
    The min_style command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Minimization could not find thermo_pe compute
    +
    This compute is created by the thermo command. It must have been +explicitly deleted by a uncompute command.
    +
    Minimize command before simulation box is defined
    +
    The minimize command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Mismatched brackets in variable
    +
    Self-explanatory.
    +
    Mismatched compute in variable formula
    +
    A compute is referenced incorrectly or a compute that produces per-atom +values is used in an equal-style variable formula.
    +
    Mismatched fix in variable formula
    +
    A fix is referenced incorrectly or a fix that produces per-atom +values is used in an equal-style variable formula.
    +
    Mismatched variable in variable formula
    +
    A variable is referenced incorrectly or an atom-style variable that produces per-atom values is used in an equal-style variable -formula. - -
    Modulo 0 in variable formula - -
    Self-explanatory. - -
    Molecule IDs too large for compute chunk/atom - -
    The IDs must not be larger than can be stored in a 32-bit integer -since chunk IDs are 32-bit integers. - -
    Molecule file has angles but no nangles setting - -
    Self-explanatory. - -
    Molecule file has bonds but no nbonds setting - -
    Self-explanatory. - -
    Molecule file has bonds but no special flags - -
    Self-explanatory. - -
    Molecule file has dihedrals but no ndihedrals setting - -
    Self-explanatory. - -
    Molecule file has impropers but no nimpropers setting - -
    Self-explanatory. - -
    Molecule file has special flags but no bonds - -
    Self-explanatory. - -
    Molecule file needs both Special Bond sections - -
    Self-explanatory. - -
    Molecule file shake flags not before shake atoms - -
    The order of the two sections is important. - -
    Molecule file shake flags not before shake bonds - -
    The order of the two sections is important. - -
    Molecule file shake info is incomplete - -
    All 3 SHAKE sections are needed. - -
    Molecule file special list does not match special count - -
    The number of values in an atom's special list does not match count. - -
    Molecule file z center-of-mass must be 0.0 for 2d - -
    Self-explanatory. - -
    Molecule file z coord must be 0.0 for 2d - -
    Self-explanatory. - -
    Molecule template ID for atom_style template does not exist - -
    Self-explanatory. - -
    Molecule template ID for create_atoms does not exist - -
    Self-explantory. - -
    Molecule template ID for fix deposit does not exist - -
    Self-explanatory. - -
    Molecule template ID for fix gcmc does not exist - -
    Self-explanatory. - -
    Molecule template ID for fix pour does not exist - -
    Self-explanatory. - -
    Molecule template ID for fix rigid/small does not exist - -
    Self-explanatory. - -
    Molecule template ID for fix shake does not exist - -
    Self-explanatory. - -
    Molecule template ID must be alphanumeric or underscore characters - -
    Self-explanatory. - -
    Molecule toplogy/atom exceeds system topology/atom - -
    The number of bonds, angles, etc per-atom in the molecule exceeds the +formula.
    +
    Modulo 0 in variable formula
    +
    Self-explanatory.
    +
    Molecule IDs too large for compute chunk/atom
    +
    The IDs must not be larger than can be stored in a 32-bit integer +since chunk IDs are 32-bit integers.
    +
    Molecule file has angles but no nangles setting
    +
    Self-explanatory.
    +
    Molecule file has bonds but no nbonds setting
    +
    Self-explanatory.
    +
    Molecule file has bonds but no special flags
    +
    Self-explanatory.
    +
    Molecule file has dihedrals but no ndihedrals setting
    +
    Self-explanatory.
    +
    Molecule file has impropers but no nimpropers setting
    +
    Self-explanatory.
    +
    Molecule file has special flags but no bonds
    +
    Self-explanatory.
    +
    Molecule file needs both Special Bond sections
    +
    Self-explanatory.
    +
    Molecule file shake flags not before shake atoms
    +
    The order of the two sections is important.
    +
    Molecule file shake flags not before shake bonds
    +
    The order of the two sections is important.
    +
    Molecule file shake info is incomplete
    +
    All 3 SHAKE sections are needed.
    +
    Molecule file special list does not match special count
    +
    The number of values in an atom’s special list does not match count.
    +
    Molecule file z center-of-mass must be 0.0 for 2d
    +
    Self-explanatory.
    +
    Molecule file z coord must be 0.0 for 2d
    +
    Self-explanatory.
    +
    Molecule template ID for atom_style template does not exist
    +
    Self-explanatory.
    +
    Molecule template ID for create_atoms does not exist
    +
    Self-explantory.
    +
    Molecule template ID for fix deposit does not exist
    +
    Self-explanatory.
    +
    Molecule template ID for fix gcmc does not exist
    +
    Self-explanatory.
    +
    Molecule template ID for fix pour does not exist
    +
    Self-explanatory.
    +
    Molecule template ID for fix rigid/small does not exist
    +
    Self-explanatory.
    +
    Molecule template ID for fix shake does not exist
    +
    Self-explanatory.
    +
    Molecule template ID must be alphanumeric or underscore characters
    +
    Self-explanatory.
    +
    Molecule toplogy/atom exceeds system topology/atom
    +
    The number of bonds, angles, etc per-atom in the molecule exceeds the system setting. See the create_box command for how to specify these -values. - -
    Molecule topology type exceeds system topology type - -
    The number of bond, angle, etc types in the molecule exceeds the +values.
    +
    Molecule topology type exceeds system topology type
    +
    The number of bond, angle, etc types in the molecule exceeds the system setting. See the create_box command for how to specify these -values. - -
    More than one fix deform - -
    Only one fix deform can be defined at a time. - -
    More than one fix freeze - -
    Only one of these fixes can be defined, since the granular pair -potentials access it. - -
    More than one fix shake - -
    Only one fix shake can be defined. - -
    Must define angle_style before Angle Coeffs - -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs. - -
    Must define angle_style before BondAngle Coeffs - -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs. - -
    Must define angle_style before BondBond Coeffs - -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs. - -
    Must define bond_style before Bond Coeffs - -
    Must use a bond_style command before reading a data file that -defines Bond Coeffs. - -
    Must define dihedral_style before AngleAngleTorsion Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines AngleAngleTorsion Coeffs. - -
    Must define dihedral_style before AngleTorsion Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines AngleTorsion Coeffs. - -
    Must define dihedral_style before BondBond13 Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines BondBond13 Coeffs. - -
    Must define dihedral_style before Dihedral Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines Dihedral Coeffs. - -
    Must define dihedral_style before EndBondTorsion Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines EndBondTorsion Coeffs. - -
    Must define dihedral_style before MiddleBondTorsion Coeffs - -
    Must use a dihedral_style command before reading a data file that -defines MiddleBondTorsion Coeffs. - -
    Must define improper_style before AngleAngle Coeffs - -
    Must use an improper_style command before reading a data file that -defines AngleAngle Coeffs. - -
    Must define improper_style before Improper Coeffs - -
    Must use an improper_style command before reading a data file that -defines Improper Coeffs. - -
    Must define pair_style before Pair Coeffs - -
    Must use a pair_style command before reading a data file that defines -Pair Coeffs. - -
    Must define pair_style before PairIJ Coeffs - -
    Must use a pair_style command before reading a data file that defines -PairIJ Coeffs. - -
    Must have more than one processor partition to temper - -
    Cannot use the temper command with only one processor partition. Use -the -partition command-line option. - -
    Must read Atoms before Angles - -
    The Atoms section of a data file must come before an Angles section. - -
    Must read Atoms before Bodies - -
    The Atoms section of a data file must come before a Bodies section. - -
    Must read Atoms before Bonds - -
    The Atoms section of a data file must come before a Bonds section. - -
    Must read Atoms before Dihedrals - -
    The Atoms section of a data file must come before a Dihedrals section. - -
    Must read Atoms before Ellipsoids - -
    The Atoms section of a data file must come before a Ellipsoids -section. - -
    Must read Atoms before Impropers - -
    The Atoms section of a data file must come before an Impropers -section. - -
    Must read Atoms before Lines - -
    The Atoms section of a data file must come before a Lines section. - -
    Must read Atoms before Triangles - -
    The Atoms section of a data file must come before a Triangles section. - -
    Must read Atoms before Velocities - -
    The Atoms section of a data file must come before a Velocities -section. - -
    Must set both respa inner and outer - -
    Cannot use just the inner or outer option with respa without using the -other. - -
    Must set number of threads via package omp command - -
    Because you are using the USER-OMP package, set the number of threads -via its settings, not by the pair_style snap nthreads setting. - -
    Must shrink-wrap piston boundary - -
    The boundary style of the face where the piston is applied must be of -type s (shrink-wrapped). - -
    Must specify a region in fix deposit - -
    The region keyword must be specified with this fix. - -
    Must specify a region in fix pour - -
    Self-explanatory. - -
    Must specify at least 2 types in fix atom/swap command - -
    Self-explanatory. - -
    Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM - -
    The kspace scalar pressure option cannot (yet) be used with rRESPA. - -
    Must use 'kspace_modify pressure/scalar no' for tensor components with kspace_style msm - -
    Otherwise MSM will compute only a scalar pressure. See the kspace_modify -command for details on this setting. - -
    Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM - -
    The kspace scalar pressure option cannot be used to obtain per-atom virial. - -
    Must use 'kspace_modify pressure/scalar no' with GPU MSM Pair styles - -
    The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles. - -
    Must use 'kspace_modify pressure/scalar no' with kspace_style msm/cg - -
    The kspace scalar pressure option is not compatible with kspace_style msm/cg. - -
    Must use -in switch with multiple partitions - -
    A multi-partition simulation cannot read the input script from stdin. -The -in command-line option must be used to specify a file. - -
    Must use a block or cylinder region with fix pour - -
    Self-explanatory. - -
    Must use a block region with fix pour for 2d simulations - -
    Self-explanatory. - -
    Must use a bond style with TIP4P potential - -
    TIP4P potentials assume bond lengths in water are constrained -by a fix shake command. - -
    Must use a molecular atom style with fix poems molecule - -
    Self-explanatory. - -
    Must use a z-axis cylinder region with fix pour - -
    Self-explanatory. - -
    Must use an angle style with TIP4P potential - -
    TIP4P potentials assume angles in water are constrained by a fix shake -command. - -
    Must use atom map style array with Kokkos - -
    See the atom_modify map command. - -
    Must use atom style with molecule IDs with fix bond/swap - -
    Self-explanatory. - -
    Must use pair_style comb or comb3 with fix qeq/comb - -
    Self-explanatory. - -
    Must use variable energy with fix addforce - -
    Must define an energy vartiable when applyting a dynamic -force during minimization. - -
    Must use variable energy with fix efield - -
    You must define an energy when performing a minimization with a -variable E-field. - -
    NEB command before simulation box is defined - -
    Self-explanatory. - -
    NEB requires damped dynamics minimizer - -
    Use a different minimization style. - -
    NEB requires use of fix neb - -
    Self-explanatory. - -
    NL ramp in wall/piston only implemented in zlo for now - -
    The ramp keyword can only be used for piston applied to face zlo. - -
    Need ntypes-1 delta_mu values in fix atom/swap command - -
    Self-explanatory. - -
    Needed bonus data not in data file - -
    Some atom styles require bonus data. See the read_data doc page for -details. - -
    Needed molecular topology not in data file - -
    The header of the data file indicated bonds, angles, etc would be -included, but they are not present. - -
    Neigh_modify exclude molecule requires atom attribute molecule - -
    Self-explanatory. - -
    Neigh_modify include group != atom_modify first group - -
    Self-explanatory. - -
    Neighbor delay must be 0 or multiple of every setting - -
    The delay and every parameters set via the neigh_modify command are +values.
    +
    More than one fix deform
    +
    Only one fix deform can be defined at a time.
    +
    More than one fix freeze
    +
    Only one of these fixes can be defined, since the granular pair +potentials access it.
    +
    More than one fix shake
    +
    Only one fix shake can be defined.
    +
    Must define angle_style before Angle Coeffs
    +
    Must use an angle_style command before reading a data file that +defines Angle Coeffs.
    +
    Must define angle_style before BondAngle Coeffs
    +
    Must use an angle_style command before reading a data file that +defines Angle Coeffs.
    +
    Must define angle_style before BondBond Coeffs
    +
    Must use an angle_style command before reading a data file that +defines Angle Coeffs.
    +
    Must define bond_style before Bond Coeffs
    +
    Must use a bond_style command before reading a data file that +defines Bond Coeffs.
    +
    Must define dihedral_style before AngleAngleTorsion Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines AngleAngleTorsion Coeffs.
    +
    Must define dihedral_style before AngleTorsion Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines AngleTorsion Coeffs.
    +
    Must define dihedral_style before BondBond13 Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines BondBond13 Coeffs.
    +
    Must define dihedral_style before Dihedral Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines Dihedral Coeffs.
    +
    Must define dihedral_style before EndBondTorsion Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines EndBondTorsion Coeffs.
    +
    Must define dihedral_style before MiddleBondTorsion Coeffs
    +
    Must use a dihedral_style command before reading a data file that +defines MiddleBondTorsion Coeffs.
    +
    Must define improper_style before AngleAngle Coeffs
    +
    Must use an improper_style command before reading a data file that +defines AngleAngle Coeffs.
    +
    Must define improper_style before Improper Coeffs
    +
    Must use an improper_style command before reading a data file that +defines Improper Coeffs.
    +
    Must define pair_style before Pair Coeffs
    +
    Must use a pair_style command before reading a data file that defines +Pair Coeffs.
    +
    Must define pair_style before PairIJ Coeffs
    +
    Must use a pair_style command before reading a data file that defines +PairIJ Coeffs.
    +
    Must have more than one processor partition to temper
    +
    Cannot use the temper command with only one processor partition. Use +the -partition command-line option.
    +
    Must read Atoms before Angles
    +
    The Atoms section of a data file must come before an Angles section.
    +
    Must read Atoms before Bodies
    +
    The Atoms section of a data file must come before a Bodies section.
    +
    Must read Atoms before Bonds
    +
    The Atoms section of a data file must come before a Bonds section.
    +
    Must read Atoms before Dihedrals
    +
    The Atoms section of a data file must come before a Dihedrals section.
    +
    Must read Atoms before Ellipsoids
    +
    The Atoms section of a data file must come before a Ellipsoids +section.
    +
    Must read Atoms before Impropers
    +
    The Atoms section of a data file must come before an Impropers +section.
    +
    Must read Atoms before Lines
    +
    The Atoms section of a data file must come before a Lines section.
    +
    Must read Atoms before Triangles
    +
    The Atoms section of a data file must come before a Triangles section.
    +
    Must read Atoms before Velocities
    +
    The Atoms section of a data file must come before a Velocities +section.
    +
    Must set both respa inner and outer
    +
    Cannot use just the inner or outer option with respa without using the +other.
    +
    Must set number of threads via package omp command
    +
    Because you are using the USER-OMP package, set the number of threads +via its settings, not by the pair_style snap nthreads setting.
    +
    Must shrink-wrap piston boundary
    +
    The boundary style of the face where the piston is applied must be of +type s (shrink-wrapped).
    +
    Must specify a region in fix deposit
    +
    The region keyword must be specified with this fix.
    +
    Must specify a region in fix pour
    +
    Self-explanatory.
    +
    Must specify at least 2 types in fix atom/swap command
    +
    Self-explanatory.
    +
    Must use ‘kspace_modify pressure/scalar no’ for rRESPA with kspace_style MSM
    +
    The kspace scalar pressure option cannot (yet) be used with rRESPA.
    +
    Must use ‘kspace_modify pressure/scalar no’ for tensor components with kspace_style msm
    +
    Otherwise MSM will compute only a scalar pressure. See the kspace_modify +command for details on this setting.
    +
    Must use ‘kspace_modify pressure/scalar no’ to obtain per-atom virial with kspace_style MSM
    +
    The kspace scalar pressure option cannot be used to obtain per-atom virial.
    +
    Must use ‘kspace_modify pressure/scalar no’ with GPU MSM Pair styles
    +
    The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles.
    +
    Must use ‘kspace_modify pressure/scalar no’ with kspace_style msm/cg
    +
    The kspace scalar pressure option is not compatible with kspace_style msm/cg.
    +
    Must use -in switch with multiple partitions
    +
    A multi-partition simulation cannot read the input script from stdin. +The -in command-line option must be used to specify a file.
    +
    Must use a block or cylinder region with fix pour
    +
    Self-explanatory.
    +
    Must use a block region with fix pour for 2d simulations
    +
    Self-explanatory.
    +
    Must use a bond style with TIP4P potential
    +
    TIP4P potentials assume bond lengths in water are constrained +by a fix shake command.
    +
    Must use a molecular atom style with fix poems molecule
    +
    Self-explanatory.
    +
    Must use a z-axis cylinder region with fix pour
    +
    Self-explanatory.
    +
    Must use an angle style with TIP4P potential
    +
    TIP4P potentials assume angles in water are constrained by a fix shake +command.
    +
    Must use atom map style array with Kokkos
    +
    See the atom_modify map command.
    +
    Must use atom style with molecule IDs with fix bond/swap
    +
    Self-explanatory.
    +
    Must use pair_style comb or comb3 with fix qeq/comb
    +
    Self-explanatory.
    +
    Must use variable energy with fix addforce
    +
    Must define an energy vartiable when applyting a dynamic +force during minimization.
    +
    Must use variable energy with fix efield
    +
    You must define an energy when performing a minimization with a +variable E-field.
    +
    NEB command before simulation box is defined
    +
    Self-explanatory.
    +
    NEB requires damped dynamics minimizer
    +
    Use a different minimization style.
    +
    NEB requires use of fix neb
    +
    Self-explanatory.
    +
    NL ramp in wall/piston only implemented in zlo for now
    +
    The ramp keyword can only be used for piston applied to face zlo.
    +
    Need ntypes-1 delta_mu values in fix atom/swap command
    +
    Self-explanatory.
    +
    Needed bonus data not in data file
    +
    Some atom styles require bonus data. See the read_data doc page for +details.
    +
    Needed molecular topology not in data file
    +
    The header of the data file indicated bonds, angles, etc would be +included, but they are not present.
    +
    Neigh_modify exclude molecule requires atom attribute molecule
    +
    Self-explanatory.
    +
    Neigh_modify include group != atom_modify first group
    +
    Self-explanatory.
    +
    Neighbor delay must be 0 or multiple of every setting
    +
    The delay and every parameters set via the neigh_modify command are inconsistent. If the delay setting is non-zero, then it must be a -multiple of the every setting. - -
    Neighbor include group not allowed with ghost neighbors - -
    This is a current restriction within LAMMPS. - -
    Neighbor list overflow, boost neigh_modify one - -
    There are too many neighbors of a single atom. Use the neigh_modify +multiple of the every setting.
    +
    Neighbor include group not allowed with ghost neighbors
    +
    This is a current restriction within LAMMPS.
    +
    Neighbor list overflow, boost neigh_modify one
    +
    There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size. - -
    Neighbor multi not yet enabled for ghost neighbors - -
    This is a current restriction within LAMMPS. - -
    Neighbor multi not yet enabled for granular - -
    Self-explanatory. - -
    Neighbor multi not yet enabled for rRESPA - -
    Self-explanatory. - -
    Neighbor page size must be >= 10x the one atom setting - -
    This is required to prevent wasting too much memory. - -
    New atom IDs exceed maximum allowed ID - -
    See the setting for tagint in the src/lmptype.h file. - -
    New bond exceeded bonds per atom in create_bonds - -
    See the read_data command for info on setting the "extra bond per -atom" header value to allow for additional bonds to be formed. - -
    New bond exceeded bonds per atom in fix bond/create - -
    See the read_data command for info on setting the "extra bond per -atom" header value to allow for additional bonds to be formed. - -
    New bond exceeded special list size in fix bond/create - -
    See the special_bonds extra command for info on how to leave space in -the special bonds list to allow for additional bonds to be formed. - -
    Newton bond change after simulation box is defined - -
    The newton command cannot be used to change the newton bond value -after a read_data, read_restart, or create_box command. - -
    Next command must list all universe and uloop variables - -
    This is to insure they stay in sync. - -
    No Kspace style defined for compute group/group - -
    Self-explanatory. - -
    No OpenMP support compiled in - -
    An OpenMP flag is set, but LAMMPS was not built with -OpenMP support. - -
    No angle style is defined for compute angle/local - -
    Self-explanatory. - -
    No angles allowed with this atom style - -
    Self-explanatory. - -
    No atom count in molecule file - -
    Self-explanatory. - -
    No atoms in data file - -
    The header of the data file indicated that atoms would be included, -but they are not present. - -
    No basis atoms in lattice - -
    Basis atoms must be defined for lattice style user. - -
    No bodies allowed with this atom style - -
    Self-explanatory. Check data file. - -
    No bond style is defined for compute bond/local - -
    Self-explanatory. - -
    No bonds allowed with this atom style - -
    Self-explanatory. - -
    No box information in dump. You have to use 'box no' - -
    Self-explanatory. - -
    No dihedral style is defined for compute dihedral/local - -
    Self-explanatory. - -
    No dihedrals allowed with this atom style - -
    Self-explanatory. - -
    No dump custom arguments specified - -
    The dump custom command requires that atom quantities be specified to -output to dump file. - -
    No dump local arguments specified - -
    Self-explanatory. - -
    No ellipsoids allowed with this atom style - -
    Self-explanatory. Check data file. - -
    No fix gravity defined for fix pour - -
    Gravity is required to use fix pour. - -
    No improper style is defined for compute improper/local - -
    Self-explanatory. - -
    No impropers allowed with this atom style - -
    Self-explanatory. - -
    No input values for fix ave/spatial - -
    Self-explanatory. - -
    No lines allowed with this atom style - -
    Self-explanatory. Check data file. - -
    No matching element in ADP potential file - -
    The ADP potential file does not contain elements that match the -requested elements. - -
    No matching element in EAM potential file - -
    The EAM potential file does not contain elements that match the -requested elements. - -
    No molecule topology allowed with atom style template - -
    The data file cannot specify the number of bonds, angles, etc, -because this info if inferred from the molecule templates. - -
    No overlap of box and region for create_atoms - -
    Self-explanatory. - -
    No pair coul/streitz for fix qeq/slater - -
    These commands must be used together. - -
    No pair hbond/dreiding coefficients set - -
    Self-explanatory. - -
    No pair style defined for compute group/group - -
    Cannot calculate group interactions without a pair style defined. - -
    No pair style is defined for compute pair/local - -
    Self-explanatory. - -
    No pair style is defined for compute property/local - -
    Self-explanatory. - -
    No rigid bodies defined - -
    The fix specification did not end up defining any rigid bodies. - -
    No triangles allowed with this atom style - -
    Self-explanatory. Check data file. - -
    Non digit character between brackets in variable - -
    Self-explantory. - -
    Non integer # of swaps in temper command - -
    Swap frequency in temper command must evenly divide the total # of -timesteps. - -
    Non-numeric box dimensions - simulation unstable - -
    The box size has apparently blown up. - -
    Not all atom IDs are 0 - -
    Either all atoms IDs must be zero or none of them. - -
    Nprocs not a multiple of N for -reorder - -
    Self-explanatory. - -
    Number of core atoms != number of shell atoms - -
    There must be a one-to-one pairing of core and shell atoms. - -
    Numeric index is out of bounds - -
    A command with an argument that specifies an integer or range of +You may also want to boost the page size.
    +
    Neighbor multi not yet enabled for ghost neighbors
    +
    This is a current restriction within LAMMPS.
    +
    Neighbor multi not yet enabled for granular
    +
    Self-explanatory.
    +
    Neighbor multi not yet enabled for rRESPA
    +
    Self-explanatory.
    +
    Neighbor page size must be >= 10x the one atom setting
    +
    This is required to prevent wasting too much memory.
    +
    New atom IDs exceed maximum allowed ID
    +
    See the setting for tagint in the src/lmptype.h file.
    +
    New bond exceeded bonds per atom in create_bonds
    +
    See the read_data command for info on setting the “extra bond per +atom” header value to allow for additional bonds to be formed.
    +
    New bond exceeded bonds per atom in fix bond/create
    +
    See the read_data command for info on setting the “extra bond per +atom” header value to allow for additional bonds to be formed.
    +
    New bond exceeded special list size in fix bond/create
    +
    See the special_bonds extra command for info on how to leave space in +the special bonds list to allow for additional bonds to be formed.
    +
    Newton bond change after simulation box is defined
    +
    The newton command cannot be used to change the newton bond value +after a read_data, read_restart, or create_box command.
    +
    Next command must list all universe and uloop variables
    +
    This is to insure they stay in sync.
    +
    No Kspace style defined for compute group/group
    +
    Self-explanatory.
    +
    No OpenMP support compiled in
    +
    An OpenMP flag is set, but LAMMPS was not built with +OpenMP support.
    +
    No angle style is defined for compute angle/local
    +
    Self-explanatory.
    +
    No angles allowed with this atom style
    +
    Self-explanatory.
    +
    No atom count in molecule file
    +
    Self-explanatory.
    +
    No atoms in data file
    +
    The header of the data file indicated that atoms would be included, +but they are not present.
    +
    No basis atoms in lattice
    +
    Basis atoms must be defined for lattice style user.
    +
    No bodies allowed with this atom style
    +
    Self-explanatory. Check data file.
    +
    No bond style is defined for compute bond/local
    +
    Self-explanatory.
    +
    No bonds allowed with this atom style
    +
    Self-explanatory.
    +
    No box information in dump. You have to use ‘box no’
    +
    Self-explanatory.
    +
    No dihedral style is defined for compute dihedral/local
    +
    Self-explanatory.
    +
    No dihedrals allowed with this atom style
    +
    Self-explanatory.
    +
    No dump custom arguments specified
    +
    The dump custom command requires that atom quantities be specified to +output to dump file.
    +
    No dump local arguments specified
    +
    Self-explanatory.
    +
    No ellipsoids allowed with this atom style
    +
    Self-explanatory. Check data file.
    +
    No fix gravity defined for fix pour
    +
    Gravity is required to use fix pour.
    +
    No improper style is defined for compute improper/local
    +
    Self-explanatory.
    +
    No impropers allowed with this atom style
    +
    Self-explanatory.
    +
    No input values for fix ave/spatial
    +
    Self-explanatory.
    +
    No lines allowed with this atom style
    +
    Self-explanatory. Check data file.
    +
    No matching element in ADP potential file
    +
    The ADP potential file does not contain elements that match the +requested elements.
    +
    No matching element in EAM potential file
    +
    The EAM potential file does not contain elements that match the +requested elements.
    +
    No molecule topology allowed with atom style template
    +
    The data file cannot specify the number of bonds, angles, etc, +because this info if inferred from the molecule templates.
    +
    No overlap of box and region for create_atoms
    +
    Self-explanatory.
    +
    No pair coul/streitz for fix qeq/slater
    +
    These commands must be used together.
    +
    No pair hbond/dreiding coefficients set
    +
    Self-explanatory.
    +
    No pair style defined for compute group/group
    +
    Cannot calculate group interactions without a pair style defined.
    +
    No pair style is defined for compute pair/local
    +
    Self-explanatory.
    +
    No pair style is defined for compute property/local
    +
    Self-explanatory.
    +
    No rigid bodies defined
    +
    The fix specification did not end up defining any rigid bodies.
    +
    No triangles allowed with this atom style
    +
    Self-explanatory. Check data file.
    +
    Non digit character between brackets in variable
    +
    Self-explantory.
    +
    Non integer # of swaps in temper command
    +
    Swap frequency in temper command must evenly divide the total # of +timesteps.
    +
    Non-numeric box dimensions - simulation unstable
    +
    The box size has apparently blown up.
    +
    Not all atom IDs are 0
    +
    Either all atoms IDs must be zero or none of them.
    +
    Nprocs not a multiple of N for -reorder
    +
    Self-explanatory.
    +
    Number of core atoms != number of shell atoms
    +
    There must be a one-to-one pairing of core and shell atoms.
    +
    Numeric index is out of bounds
    +
    A command with an argument that specifies an integer or range of integers is using a value that is less than 1 or greater than the -maximum allowed limit. - -
    One or more atoms belong to multiple rigid bodies - -
    Two or more rigid bodies defined by the fix rigid command cannot -contain the same atom. - -
    One or zero atoms in rigid body - -
    Any rigid body defined by the fix rigid command must contain 2 or more -atoms. - -
    Only 2 types allowed when not using semi-grand in fix atom/swap command - -
    Self-explanatory. - -
    Only one cut-off allowed when requesting all long - -
    Self-explanatory. - -
    Only one cutoff allowed when requesting all long - -
    Self-explanatory. - -
    Only zhi currently implemented for fix append/atoms - -
    Self-explanatory. - -
    Out of range atoms - cannot compute MSM - -
    One or more atoms are attempting to map their charge to a MSM grid point +maximum allowed limit.
    +
    One or more atoms belong to multiple rigid bodies
    +
    Two or more rigid bodies defined by the fix rigid command cannot +contain the same atom.
    +
    One or zero atoms in rigid body
    +
    Any rigid body defined by the fix rigid command must contain 2 or more +atoms.
    +
    Only 2 types allowed when not using semi-grand in fix atom/swap command
    +
    Self-explanatory.
    +
    Only one cut-off allowed when requesting all long
    +
    Self-explanatory.
    +
    Only one cutoff allowed when requesting all long
    +
    Self-explanatory.
    +
    Only zhi currently implemented for fix append/atoms
    +
    Self-explanatory.
    +
    Out of range atoms - cannot compute MSM
    +
    One or more atoms are attempting to map their charge to a MSM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor's sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor’s sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are "delay 0 -every 1 check yes". Second, it may mean that an atom has moved far -outside a processor's sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are “delay 0 +every 1 check yes”. Second, it may mean that an atom has moved far +outside a processor’s sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc. - -
    Out of range atoms - cannot compute PPPM - -
    One or more atoms are attempting to map their charge to a PPPM grid +large a timestep, etc.
    +
    Out of range atoms - cannot compute PPPM
    +
    One or more atoms are attempting to map their charge to a PPPM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor's sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor’s sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are "delay 0 -every 1 check yes". Second, it may mean that an atom has moved far -outside a processor's sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are “delay 0 +every 1 check yes”. Second, it may mean that an atom has moved far +outside a processor’s sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc. - -
    Out of range atoms - cannot compute PPPMDisp - -
    One or more atoms are attempting to map their charge to a PPPM grid +large a timestep, etc.
    +
    Out of range atoms - cannot compute PPPMDisp
    +
    One or more atoms are attempting to map their charge to a PPPM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor's sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being +boundary of a processor’s sub-domain has moved more than 1/2 the +neighbor skin distance without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are "delay 0 -every 1 check yes". Second, it may mean that an atom has moved far -outside a processor's sub-domain or even the entire simulation box. +neigh_modify command. The safest settings are “delay 0 +every 1 check yes”. Second, it may mean that an atom has moved far +outside a processor’s sub-domain or even the entire simulation box. This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc. - -
    Overflow of allocated fix vector storage - -
    This should not normally happen if the fix correctly calculated -how long the vector will grow to. Contact the developers. - -
    Overlapping large/large in pair colloid - -
    This potential is infinite when there is an overlap. - -
    Overlapping small/large in pair colloid - -
    This potential is infinite when there is an overlap. - -
    POEMS fix must come before NPT/NPH fix - -
    NPT/NPH fix must be defined in input script after all poems fixes, -else the fix contribution to the pressure virial is incorrect. - -
    PPPM can only currently be used with comm_style brick - -
    This is a current restriction in LAMMPS. - -
    PPPM grid is too large - -
    The global PPPM grid is larger than OFFSET in one or more dimensions. +large a timestep, etc.
    +
    Overflow of allocated fix vector storage
    +
    This should not normally happen if the fix correctly calculated +how long the vector will grow to. Contact the developers.
    +
    Overlapping large/large in pair colloid
    +
    This potential is infinite when there is an overlap.
    +
    Overlapping small/large in pair colloid
    +
    This potential is infinite when there is an overlap.
    +
    POEMS fix must come before NPT/NPH fix
    +
    NPT/NPH fix must be defined in input script after all poems fixes, +else the fix contribution to the pressure virial is incorrect.
    +
    PPPM can only currently be used with comm_style brick
    +
    This is a current restriction in LAMMPS.
    +
    PPPM grid is too large
    +
    The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy. - -
    PPPM grid stencil extends beyond nearest neighbor processor - -
    This is not allowed if the kspace_modify overlap setting is no. - -
    PPPM order < minimum allowed order - -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command. - -
    PPPM order cannot be < 2 or > than %d - -
    This is a limitation of the PPPM implementation in LAMMPS. - -
    PPPMDisp Coulomb grid is too large - -
    The global PPPM grid is larger than OFFSET in one or more dimensions. +requested accuracy.
    +
    PPPM grid stencil extends beyond nearest neighbor processor
    +
    This is not allowed if the kspace_modify overlap setting is no.
    +
    PPPM order < minimum allowed order
    +
    The default minimum order is 2. This can be reset by the +kspace_modify minorder command.
    +
    PPPM order cannot be < 2 or > than %d
    +
    This is a limitation of the PPPM implementation in LAMMPS.
    +
    PPPMDisp Coulomb grid is too large
    +
    The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy. - -
    PPPMDisp Dispersion grid is too large - -
    The global PPPM grid is larger than OFFSET in one or more dimensions. +requested accuracy.
    +
    PPPMDisp Dispersion grid is too large
    +
    The global PPPM grid is larger than OFFSET in one or more dimensions. OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy. - -
    PPPMDisp can only currently be used with comm_style brick - -
    This is a current restriction in LAMMPS. - -
    PPPMDisp coulomb order cannot be greater than %d - -
    This is a limitation of the PPPM implementation in LAMMPS. - -
    PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation - -
    An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions. - -
    PRD command before simulation box is defined - -
    The prd command cannot be used before a read_data, -read_restart, or create_box command. - -
    PRD nsteps must be multiple of t_event - -
    Self-explanatory. - -
    PRD t_corr must be multiple of t_event - -
    Self-explanatory. - -
    Package command after simulation box is defined - -
    The package command cannot be used afer a read_data, read_restart, or -create_box command. - -
    Package cuda command without USER-CUDA package enabled - -
    The USER-CUDA package must be installed via "make yes-user-cuda" -before LAMMPS is built, and the "-c on" must be used to enable the -package. - -
    Package gpu command without GPU package installed - -
    The GPU package must be installed via "make yes-gpu" before LAMMPS is -built. - -
    Package intel command without USER-INTEL package installed - -
    The USER-INTEL package must be installed via "make yes-user-intel" -before LAMMPS is built. - -
    Package kokkos command without KOKKOS package enabled - -
    The KOKKOS package must be installed via "make yes-kokkos" before -LAMMPS is built, and the "-k on" must be used to enable the package. - -
    Package omp command without USER-OMP package installed - -
    The USER-OMP package must be installed via "make yes-user-omp" before -LAMMPS is built. - -
    Pair body requires atom style body - -
    Self-explanatory. - -
    Pair body requires body style nparticle - -
    This pair style is specific to the nparticle body style. - -
    Pair brownian requires atom style sphere - -
    Self-explanatory. - -
    Pair brownian requires extended particles - -
    One of the particles has radius 0.0. - -
    Pair brownian requires monodisperse particles - -
    All particles must be the same finite size. - -
    Pair brownian/poly requires atom style sphere - -
    Self-explanatory. - -
    Pair brownian/poly requires extended particles - -
    One of the particles has radius 0.0. - -
    Pair brownian/poly requires newton pair off - -
    Self-explanatory. - -
    Pair coeff for hybrid has invalid style - -
    Style in pair coeff must have been listed in pair_style command. - -
    Pair coul/wolf requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair cutoff < Respa interior cutoff - -
    One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs. - -
    Pair dipole/cut requires atom attributes q, mu, torque - -
    The atom style defined does not have these attributes. - -
    Pair dipole/cut/gpu requires atom attributes q, mu, torque - -
    The atom style defined does not have this attribute. - -
    Pair dipole/long requires atom attributes q, mu, torque - -
    The atom style defined does not have these attributes. - -
    Pair distance < table inner cutoff - -
    Two atoms are closer together than the pairwise table allows. - -
    Pair distance > table outer cutoff - -
    Two atoms are further apart than the pairwise table allows. - -
    Pair dpd requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair gayberne epsilon a,b,c coeffs are not all set - -
    Each atom type involved in pair_style gayberne must -have these 3 coefficients set at least once. - -
    Pair gayberne requires atom style ellipsoid - -
    Self-explanatory. - -
    Pair gayberne requires atoms with same type have same shape - -
    Self-explanatory. - -
    Pair gayberne/gpu requires atom style ellipsoid - -
    Self-explanatory. - -
    Pair gayberne/gpu requires atoms with same type have same shape - -
    Self-explanatory. - -
    Pair granular requires atom style sphere - -
    Self-explanatory. - -
    Pair granular requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair granular with shear history requires newton pair off - -
    This is a current restriction of the implementation of pair -granular styles with history. - -
    Pair hybrid sub-style does not support single call - -
    You are attempting to invoke a single() call on a pair style -that doesn't support it. - -
    Pair hybrid sub-style is not used - -
    No pair_coeff command used a sub-style specified in the pair_style -command. - -
    Pair inner cutoff < Respa interior cutoff - -
    One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs. - -
    Pair inner cutoff >= Pair outer cutoff - -
    The specified cutoffs for the pair style are inconsistent. - -
    Pair line/lj requires atom style line - -
    Self-explanatory. - -
    Pair lj/long/dipole/long requires atom attributes mu, torque - -
    The atom style defined does not have these attributes. - -
    Pair lubricate requires atom style sphere - -
    Self-explanatory. - -
    Pair lubricate requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair lubricate requires monodisperse particles - -
    All particles must be the same finite size. - -
    Pair lubricate/poly requires atom style sphere - -
    Self-explanatory. - -
    Pair lubricate/poly requires extended particles - -
    One of the particles has radius 0.0. - -
    Pair lubricate/poly requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair lubricate/poly requires newton pair off - -
    Self-explanatory. - -
    Pair lubricateU requires atom style sphere - -
    Self-explanatory. - -
    Pair lubricateU requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair lubricateU requires monodisperse particles - -
    All particles must be the same finite size. - -
    Pair lubricateU/poly requires ghost atoms store velocity - -
    Use the comm_modify vel yes command to enable this. - -
    Pair lubricateU/poly requires newton pair off - -
    Self-explanatory. - -
    Pair peri lattice is not identical in x, y, and z - -
    The lattice defined by the lattice command must be cubic. - -
    Pair peri requires a lattice be defined - -
    Use the lattice command for this purpose. - -
    Pair peri requires an atom map, see atom_modify - -
    Even for atomic systems, an atom map is required to find Peridynamic -bonds. Use the atom_modify command to define one. - -
    Pair resquared epsilon a,b,c coeffs are not all set - -
    Self-explanatory. - -
    Pair resquared epsilon and sigma coeffs are not all set - -
    Self-explanatory. - -
    Pair resquared requires atom style ellipsoid - -
    Self-explanatory. - -
    Pair resquared requires atoms with same type have same shape - -
    Self-explanatory. - -
    Pair resquared/gpu requires atom style ellipsoid - -
    Self-explanatory. - -
    Pair resquared/gpu requires atoms with same type have same shape - -
    Self-explanatory. - -
    Pair style AIREBO requires atom IDs - -
    This is a requirement to use the AIREBO potential. - -
    Pair style AIREBO requires newton pair on - -
    See the newton command. This is a restriction to use the AIREBO -potential. - -
    Pair style BOP requires atom IDs - -
    This is a requirement to use the BOP potential. - -
    Pair style BOP requires newton pair on - -
    See the newton command. This is a restriction to use the BOP -potential. - -
    Pair style COMB requires atom IDs - -
    This is a requirement to use the AIREBO potential. - -
    Pair style COMB requires atom attribute q - -
    Self-explanatory. - -
    Pair style COMB requires newton pair on - -
    See the newton command. This is a restriction to use the COMB -potential. - -
    Pair style COMB3 requires atom IDs - -
    This is a requirement to use the COMB3 potential. - -
    Pair style COMB3 requires atom attribute q - -
    Self-explanatory. - -
    Pair style COMB3 requires newton pair on - -
    See the newton command. This is a restriction to use the COMB3 -potential. - -
    Pair style LCBOP requires atom IDs - -
    This is a requirement to use the LCBOP potential. - -
    Pair style LCBOP requires newton pair on - -
    See the newton command. This is a restriction to use the Tersoff -potential. - -
    Pair style MEAM requires newton pair on - -
    See the newton command. This is a restriction to use the MEAM -potential. - -
    Pair style SNAP requires newton pair on - -
    See the newton command. This is a restriction to use the SNAP -potential. - -
    Pair style Stillinger-Weber requires atom IDs - -
    This is a requirement to use the SW potential. - -
    Pair style Stillinger-Weber requires newton pair on - -
    See the newton command. This is a restriction to use the SW -potential. - -
    Pair style Tersoff requires atom IDs - -
    This is a requirement to use the Tersoff potential. - -
    Pair style Tersoff requires newton pair on - -
    See the newton command. This is a restriction to use the Tersoff -potential. - -
    Pair style bop requires comm ghost cutoff at least 3x larger than %g - -
    Use the communicate ghost command to set this. See the pair bop -doc page for more details. - -
    Pair style born/coul/long requires atom attribute q - -
    An atom style that defines this attribute must be used. - -
    Pair style born/coul/long/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style born/coul/wolf requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style buck/coul/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style buck/coul/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style buck/coul/long/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style buck/long/coul/long requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style coul/cut requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style coul/cut/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style coul/debye/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style coul/dsf requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style coul/dsf/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style coul/long/gpu requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style coul/streitz requires atom attribute q - -
    Self-explanatory. - -
    Pair style does not have extra field requested by compute pair/local - -
    The pair style does not support the pN value requested by the compute -pair/local command. - -
    Pair style does not support bond_style quartic - -
    The pair style does not have a single() function, so it can -not be invoked by bond_style quartic. - -
    Pair style does not support compute group/group - -
    The pair_style does not have a single() function, so it cannot be -invokded by the compute group/group command. - -
    Pair style does not support compute pair/local - -
    The pair style does not have a single() function, so it can -not be invoked by compute pair/local. - -
    Pair style does not support compute property/local - -
    The pair style does not have a single() function, so it can -not be invoked by fix bond/swap. - -
    Pair style does not support fix bond/swap - -
    The pair style does not have a single() function, so it can -not be invoked by fix bond/swap. - -
    Pair style does not support pair_write - -
    The pair style does not have a single() function, so it can -not be invoked by pair write. - -
    Pair style does not support rRESPA inner/middle/outer - -
    You are attempting to use rRESPA options with a pair style that -does not support them. - -
    Pair style granular with history requires atoms have IDs - -
    Atoms in the simulation do not have IDs, so history effects -cannot be tracked by the granular pair potential. - -
    Pair style hbond/dreiding requires an atom map, see atom_modify - -
    Self-explanatory. - -
    Pair style hbond/dreiding requires atom IDs - -
    Self-explanatory. - -
    Pair style hbond/dreiding requires molecular system - -
    Self-explanatory. - -
    Pair style hbond/dreiding requires newton pair on - -
    See the newton command for details. - -
    Pair style hybrid cannot have hybrid as an argument - -
    Self-explanatory. - -
    Pair style hybrid cannot have none as an argument - -
    Self-explanatory. - -
    Pair style is incompatible with TIP4P KSpace style - -
    The pair style does not have the requires TIP4P settings. - -
    Pair style lj/charmm/coul/charmm requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style lj/charmm/coul/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style lj/charmm/coul/long/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/class2/coul/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/class2/coul/long requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/class2/coul/long/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/cut/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/debye/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/dsf requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style lj/cut/coul/dsf/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/long requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/coul/long/gpu requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/tip4p/cut requires atom IDs - -
    This is a requirement to use this potential. - -
    Pair style lj/cut/tip4p/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style lj/cut/tip4p/cut requires newton pair on - -
    See the newton command. This is a restriction to use this -potential. - -
    Pair style lj/cut/tip4p/long requires atom IDs - -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule. - -
    Pair style lj/cut/tip4p/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style lj/cut/tip4p/long requires newton pair on - -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors. - -
    Pair style lj/gromacs/coul/gromacs requires atom attribute q - -
    An atom_style with this attribute is needed. - -
    Pair style lj/long/dipole/long does not currently support respa - -
    This feature is not yet supported. - -
    Pair style lj/long/tip4p/long requires atom IDs - -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule. - -
    Pair style lj/long/tip4p/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style lj/long/tip4p/long requires newton pair on - -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors. - -
    Pair style nb3b/harmonic requires atom IDs - -
    This is a requirement to use this potential. - -
    Pair style nb3b/harmonic requires newton pair on - -
    See the newton command. This is a restriction to use this potential. - -
    Pair style nm/cut/coul/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style nm/cut/coul/long requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style peri requires atom style peri - -
    Self-explanatory. - -
    Pair style reax requires atom IDs - -
    This is a requirement to use the ReaxFF potential. - -
    Pair style reax requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style reax requires newton pair on - -
    This is a requirement to use the ReaxFF potential. - -
    Pair style requires a KSpace style - -
    No kspace style is defined. - -
    Pair style requires use of kspace_style ewald/disp - -
    Self-explanatory. - -
    Pair style sw/gpu requires atom IDs - -
    This is a requirement to use this potential. - -
    Pair style sw/gpu requires newton pair off - -
    See the newton command. This is a restriction to use this potential. - -
    Pair style tip4p/cut requires atom IDs - -
    This is a requirement to use this potential. - -
    Pair style tip4p/cut requires atom attribute q - -
    The atom style defined does not have this attribute. - -
    Pair style tip4p/cut requires newton pair on - -
    See the newton command. This is a restriction to use this potential. - -
    Pair style tip4p/long requires atom IDs - -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule. - -
    Pair style tip4p/long requires atom attribute q - -
    The atom style defined does not have these attributes. - -
    Pair style tip4p/long requires newton pair on - -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors. - -
    Pair table cutoffs must all be equal to use with KSpace - -
    When using pair style table with a long-range KSpace solver, the +requested accuracy.
    +
    PPPMDisp can only currently be used with comm_style brick
    +
    This is a current restriction in LAMMPS.
    +
    PPPMDisp coulomb order cannot be greater than %d
    +
    This is a limitation of the PPPM implementation in LAMMPS.
    +
    PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation
    +
    An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions.
    +
    PRD command before simulation box is defined
    +
    The prd command cannot be used before a read_data, +read_restart, or create_box command.
    +
    PRD nsteps must be multiple of t_event
    +
    Self-explanatory.
    +
    PRD t_corr must be multiple of t_event
    +
    Self-explanatory.
    +
    Package command after simulation box is defined
    +
    The package command cannot be used afer a read_data, read_restart, or +create_box command.
    +
    Package cuda command without USER-CUDA package enabled
    +
    The USER-CUDA package must be installed via “make yes-user-cuda” +before LAMMPS is built, and the “-c on” must be used to enable the +package.
    +
    Package gpu command without GPU package installed
    +
    The GPU package must be installed via “make yes-gpu” before LAMMPS is +built.
    +
    Package intel command without USER-INTEL package installed
    +
    The USER-INTEL package must be installed via “make yes-user-intel” +before LAMMPS is built.
    +
    Package kokkos command without KOKKOS package enabled
    +
    The KOKKOS package must be installed via “make yes-kokkos” before +LAMMPS is built, and the “-k on” must be used to enable the package.
    +
    Package omp command without USER-OMP package installed
    +
    The USER-OMP package must be installed via “make yes-user-omp” before +LAMMPS is built.
    +
    Pair body requires atom style body
    +
    Self-explanatory.
    +
    Pair body requires body style nparticle
    +
    This pair style is specific to the nparticle body style.
    +
    Pair brownian requires atom style sphere
    +
    Self-explanatory.
    +
    Pair brownian requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Pair brownian requires monodisperse particles
    +
    All particles must be the same finite size.
    +
    Pair brownian/poly requires atom style sphere
    +
    Self-explanatory.
    +
    Pair brownian/poly requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Pair brownian/poly requires newton pair off
    +
    Self-explanatory.
    +
    Pair coeff for hybrid has invalid style
    +
    Style in pair coeff must have been listed in pair_style command.
    +
    Pair coul/wolf requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair cutoff < Respa interior cutoff
    +
    One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs.
    +
    Pair dipole/cut requires atom attributes q, mu, torque
    +
    The atom style defined does not have these attributes.
    +
    Pair dipole/cut/gpu requires atom attributes q, mu, torque
    +
    The atom style defined does not have this attribute.
    +
    Pair dipole/long requires atom attributes q, mu, torque
    +
    The atom style defined does not have these attributes.
    +
    Pair distance < table inner cutoff
    +
    Two atoms are closer together than the pairwise table allows.
    +
    Pair distance > table outer cutoff
    +
    Two atoms are further apart than the pairwise table allows.
    +
    Pair dpd requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair gayberne epsilon a,b,c coeffs are not all set
    +
    Each atom type involved in pair_style gayberne must +have these 3 coefficients set at least once.
    +
    Pair gayberne requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Pair gayberne requires atoms with same type have same shape
    +
    Self-explanatory.
    +
    Pair gayberne/gpu requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Pair gayberne/gpu requires atoms with same type have same shape
    +
    Self-explanatory.
    +
    Pair granular requires atom style sphere
    +
    Self-explanatory.
    +
    Pair granular requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair granular with shear history requires newton pair off
    +
    This is a current restriction of the implementation of pair +granular styles with history.
    +
    Pair hybrid sub-style does not support single call
    +
    You are attempting to invoke a single() call on a pair style +that doesn’t support it.
    +
    Pair hybrid sub-style is not used
    +
    No pair_coeff command used a sub-style specified in the pair_style +command.
    +
    Pair inner cutoff < Respa interior cutoff
    +
    One or more pairwise cutoffs are too short to use with the specified +rRESPA cutoffs.
    +
    Pair inner cutoff >= Pair outer cutoff
    +
    The specified cutoffs for the pair style are inconsistent.
    +
    Pair line/lj requires atom style line
    +
    Self-explanatory.
    +
    Pair lj/long/dipole/long requires atom attributes mu, torque
    +
    The atom style defined does not have these attributes.
    +
    Pair lubricate requires atom style sphere
    +
    Self-explanatory.
    +
    Pair lubricate requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair lubricate requires monodisperse particles
    +
    All particles must be the same finite size.
    +
    Pair lubricate/poly requires atom style sphere
    +
    Self-explanatory.
    +
    Pair lubricate/poly requires extended particles
    +
    One of the particles has radius 0.0.
    +
    Pair lubricate/poly requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair lubricate/poly requires newton pair off
    +
    Self-explanatory.
    +
    Pair lubricateU requires atom style sphere
    +
    Self-explanatory.
    +
    Pair lubricateU requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair lubricateU requires monodisperse particles
    +
    All particles must be the same finite size.
    +
    Pair lubricateU/poly requires ghost atoms store velocity
    +
    Use the comm_modify vel yes command to enable this.
    +
    Pair lubricateU/poly requires newton pair off
    +
    Self-explanatory.
    +
    Pair peri lattice is not identical in x, y, and z
    +
    The lattice defined by the lattice command must be cubic.
    +
    Pair peri requires a lattice be defined
    +
    Use the lattice command for this purpose.
    +
    Pair peri requires an atom map, see atom_modify
    +
    Even for atomic systems, an atom map is required to find Peridynamic +bonds. Use the atom_modify command to define one.
    +
    Pair resquared epsilon a,b,c coeffs are not all set
    +
    Self-explanatory.
    +
    Pair resquared epsilon and sigma coeffs are not all set
    +
    Self-explanatory.
    +
    Pair resquared requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Pair resquared requires atoms with same type have same shape
    +
    Self-explanatory.
    +
    Pair resquared/gpu requires atom style ellipsoid
    +
    Self-explanatory.
    +
    Pair resquared/gpu requires atoms with same type have same shape
    +
    Self-explanatory.
    +
    Pair style AIREBO requires atom IDs
    +
    This is a requirement to use the AIREBO potential.
    +
    Pair style AIREBO requires newton pair on
    +
    See the newton command. This is a restriction to use the AIREBO +potential.
    +
    Pair style BOP requires atom IDs
    +
    This is a requirement to use the BOP potential.
    +
    Pair style BOP requires newton pair on
    +
    See the newton command. This is a restriction to use the BOP +potential.
    +
    Pair style COMB requires atom IDs
    +
    This is a requirement to use the AIREBO potential.
    +
    Pair style COMB requires atom attribute q
    +
    Self-explanatory.
    +
    Pair style COMB requires newton pair on
    +
    See the newton command. This is a restriction to use the COMB +potential.
    +
    Pair style COMB3 requires atom IDs
    +
    This is a requirement to use the COMB3 potential.
    +
    Pair style COMB3 requires atom attribute q
    +
    Self-explanatory.
    +
    Pair style COMB3 requires newton pair on
    +
    See the newton command. This is a restriction to use the COMB3 +potential.
    +
    Pair style LCBOP requires atom IDs
    +
    This is a requirement to use the LCBOP potential.
    +
    Pair style LCBOP requires newton pair on
    +
    See the newton command. This is a restriction to use the Tersoff +potential.
    +
    Pair style MEAM requires newton pair on
    +
    See the newton command. This is a restriction to use the MEAM +potential.
    +
    Pair style SNAP requires newton pair on
    +
    See the newton command. This is a restriction to use the SNAP +potential.
    +
    Pair style Stillinger-Weber requires atom IDs
    +
    This is a requirement to use the SW potential.
    +
    Pair style Stillinger-Weber requires newton pair on
    +
    See the newton command. This is a restriction to use the SW +potential.
    +
    Pair style Tersoff requires atom IDs
    +
    This is a requirement to use the Tersoff potential.
    +
    Pair style Tersoff requires newton pair on
    +
    See the newton command. This is a restriction to use the Tersoff +potential.
    +
    Pair style bop requires comm ghost cutoff at least 3x larger than %g
    +
    Use the communicate ghost command to set this. See the pair bop +doc page for more details.
    +
    Pair style born/coul/long requires atom attribute q
    +
    An atom style that defines this attribute must be used.
    +
    Pair style born/coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style born/coul/wolf requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style buck/coul/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style buck/coul/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style buck/coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style buck/long/coul/long requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style coul/cut requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style coul/cut/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style coul/debye/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style coul/dsf requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style coul/dsf/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style coul/streitz requires atom attribute q
    +
    Self-explanatory.
    +
    Pair style does not have extra field requested by compute pair/local
    +
    The pair style does not support the pN value requested by the compute +pair/local command.
    +
    Pair style does not support bond_style quartic
    +
    The pair style does not have a single() function, so it can +not be invoked by bond_style quartic.
    +
    Pair style does not support compute group/group
    +
    The pair_style does not have a single() function, so it cannot be +invokded by the compute group/group command.
    +
    Pair style does not support compute pair/local
    +
    The pair style does not have a single() function, so it can +not be invoked by compute pair/local.
    +
    Pair style does not support compute property/local
    +
    The pair style does not have a single() function, so it can +not be invoked by fix bond/swap.
    +
    Pair style does not support fix bond/swap
    +
    The pair style does not have a single() function, so it can +not be invoked by fix bond/swap.
    +
    Pair style does not support pair_write
    +
    The pair style does not have a single() function, so it can +not be invoked by pair write.
    +
    Pair style does not support rRESPA inner/middle/outer
    +
    You are attempting to use rRESPA options with a pair style that +does not support them.
    +
    Pair style granular with history requires atoms have IDs
    +
    Atoms in the simulation do not have IDs, so history effects +cannot be tracked by the granular pair potential.
    +
    Pair style hbond/dreiding requires an atom map, see atom_modify
    +
    Self-explanatory.
    +
    Pair style hbond/dreiding requires atom IDs
    +
    Self-explanatory.
    +
    Pair style hbond/dreiding requires molecular system
    +
    Self-explanatory.
    +
    Pair style hbond/dreiding requires newton pair on
    +
    See the newton command for details.
    +
    Pair style hybrid cannot have hybrid as an argument
    +
    Self-explanatory.
    +
    Pair style hybrid cannot have none as an argument
    +
    Self-explanatory.
    +
    Pair style is incompatible with TIP4P KSpace style
    +
    The pair style does not have the requires TIP4P settings.
    +
    Pair style lj/charmm/coul/charmm requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style lj/charmm/coul/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style lj/charmm/coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/class2/coul/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/class2/coul/long requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/class2/coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/cut/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/debye/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/dsf requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style lj/cut/coul/dsf/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/long requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/coul/long/gpu requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/tip4p/cut requires atom IDs
    +
    This is a requirement to use this potential.
    +
    Pair style lj/cut/tip4p/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style lj/cut/tip4p/cut requires newton pair on
    +
    See the newton command. This is a restriction to use this +potential.
    +
    Pair style lj/cut/tip4p/long requires atom IDs
    +
    There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule.
    +
    Pair style lj/cut/tip4p/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style lj/cut/tip4p/long requires newton pair on
    +
    This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors.
    +
    Pair style lj/gromacs/coul/gromacs requires atom attribute q
    +
    An atom_style with this attribute is needed.
    +
    Pair style lj/long/dipole/long does not currently support respa
    +
    This feature is not yet supported.
    +
    Pair style lj/long/tip4p/long requires atom IDs
    +
    There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule.
    +
    Pair style lj/long/tip4p/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style lj/long/tip4p/long requires newton pair on
    +
    This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors.
    +
    Pair style nb3b/harmonic requires atom IDs
    +
    This is a requirement to use this potential.
    +
    Pair style nb3b/harmonic requires newton pair on
    +
    See the newton command. This is a restriction to use this potential.
    +
    Pair style nm/cut/coul/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style nm/cut/coul/long requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style peri requires atom style peri
    +
    Self-explanatory.
    +
    Pair style reax requires atom IDs
    +
    This is a requirement to use the ReaxFF potential.
    +
    Pair style reax requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style reax requires newton pair on
    +
    This is a requirement to use the ReaxFF potential.
    +
    Pair style requires a KSpace style
    +
    No kspace style is defined.
    +
    Pair style requires use of kspace_style ewald/disp
    +
    Self-explanatory.
    +
    Pair style sw/gpu requires atom IDs
    +
    This is a requirement to use this potential.
    +
    Pair style sw/gpu requires newton pair off
    +
    See the newton command. This is a restriction to use this potential.
    +
    Pair style tip4p/cut requires atom IDs
    +
    This is a requirement to use this potential.
    +
    Pair style tip4p/cut requires atom attribute q
    +
    The atom style defined does not have this attribute.
    +
    Pair style tip4p/cut requires newton pair on
    +
    See the newton command. This is a restriction to use this potential.
    +
    Pair style tip4p/long requires atom IDs
    +
    There are no atom IDs defined in the system and the TIP4P potential +requires them to find O,H atoms with a water molecule.
    +
    Pair style tip4p/long requires atom attribute q
    +
    The atom style defined does not have these attributes.
    +
    Pair style tip4p/long requires newton pair on
    +
    This is because the computation of constraint forces within a water +molecule adds forces to atoms owned by other processors.
    +
    Pair table cutoffs must all be equal to use with KSpace
    +
    When using pair style table with a long-range KSpace solver, the cutoffs for all atom type pairs must all be the same, since the -long-range solver starts at that cutoff. - -
    Pair table parameters did not set N - -
    List of pair table parameters must include N setting. - -
    Pair tersoff/zbl requires metal or real units - -
    This is a current restriction of this pair potential. - -
    Pair tri/lj requires atom style tri - -
    Self-explanatory. - -
    Pair yukawa/colloid requires atom style sphere - -
    Self-explantory. - -
    Pair yukawa/colloid requires atoms with same type have same radius - -
    Self-explantory. - -
    Pair yukawa/colloid/gpu requires atom style sphere - -
    Self-explanatory. - -
    PairKIM only works with 3D problems - -
    This is a current limitation. - -
    Pair_coeff command before pair_style is defined - -
    Self-explanatory. - -
    Pair_coeff command before simulation box is defined - -
    The pair_coeff command cannot be used before a read_data, -read_restart, or create_box command. - -
    Pair_modify command before pair_style is defined - -
    Self-explanatory. - -
    Pair_write command before pair_style is defined - -
    Self-explanatory. - -
    Particle on or inside fix wall surface - -
    Particles must be "exterior" to the wall in order for energy/force to -be calculated. - -
    Particle on or inside surface of region used in fix wall/region - -
    Particles must be "exterior" to the region surface in order for -energy/force to be calculated. - -
    Per-atom compute in equal-style variable formula - -
    Equal-style variables cannot use per-atom quantities. - -
    Per-atom energy was not tallied on needed timestep - -
    You are using a thermo keyword that requires potentials to -have tallied energy, but they didn't on this timestep. See the -variable doc page for ideas on how to make this work. - -
    Per-atom fix in equal-style variable formula - -
    Equal-style variables cannot use per-atom quantities. - -
    Per-atom virial was not tallied on needed timestep - -
    You are using a thermo keyword that requires potentials to have -tallied the virial, but they didn't on this timestep. See the -variable doc page for ideas on how to make this work. - -
    Per-processor system is too big - -
    The number of owned atoms plus ghost atoms on a single -processor must fit in 32-bit integer. - -
    Potential energy ID for fix neb does not exist - -
    Self-explanatory. - -
    Potential energy ID for fix nvt/nph/npt does not exist - -
    A compute for potential energy must be defined. - -
    Potential file has duplicate entry - -
    The potential file has more than one entry for the same element. - -
    Potential file is missing an entry - -
    The potential file does not have a needed entry. - -
    Power by 0 in variable formula - -
    Self-explanatory. - -
    Pressure ID for fix box/relax does not exist - -
    The compute ID needed to compute pressure for the fix does not -exist. - -
    Pressure ID for fix modify does not exist - -
    Self-explanatory. - -
    Pressure ID for fix npt/nph does not exist - -
    Self-explanatory. - -
    Pressure ID for fix press/berendsen does not exist - -
    The compute ID needed to compute pressure for the fix does not -exist. - -
    Pressure ID for fix rigid npt/nph does not exist - -
    Self-explanatory. - -
    Pressure ID for thermo does not exist - -
    The compute ID needed to compute pressure for thermodynamics does not -exist. - -
    Pressure control can not be used with fix nvt - -
    Self-explanatory. - -
    Pressure control can not be used with fix nvt/asphere - -
    Self-explanatory. - -
    Pressure control can not be used with fix nvt/sllod - -
    Self-explanatory. - -
    Pressure control can not be used with fix nvt/sphere - -
    Self-explanatory. - -
    Pressure control must be used with fix nph - -
    Self-explanatory. - -
    Pressure control must be used with fix nph/asphere - -
    Self-explanatory. - -
    Pressure control must be used with fix nph/small - -
    Self-explanatory. - -
    Pressure control must be used with fix nph/sphere - -
    Self-explanatory. - -
    Pressure control must be used with fix nphug - -
    A pressure control keyword (iso, aniso, tri, x, y, or z) must be -provided. - -
    Pressure control must be used with fix npt - -
    Self-explanatory. - -
    Pressure control must be used with fix npt/asphere - -
    Self-explanatory. - -
    Pressure control must be used with fix npt/sphere - -
    Self-explanatory. - -
    Processor count in z must be 1 for 2d simulation - -
    Self-explanatory. - -
    Processor partitions do not match number of allocated processors - -
    The total number of processors in all partitions must match the number -of processors LAMMPS is running on. - -
    Processors command after simulation box is defined - -
    The processors command cannot be used after a read_data, read_restart, -or create_box command. - -
    Processors custom grid file is inconsistent - -
    The vales in the custom file are not consistent with the number of +long-range solver starts at that cutoff.
    +
    Pair table parameters did not set N
    +
    List of pair table parameters must include N setting.
    +
    Pair tersoff/zbl requires metal or real units
    +
    This is a current restriction of this pair potential.
    +
    Pair tri/lj requires atom style tri
    +
    Self-explanatory.
    +
    Pair yukawa/colloid requires atom style sphere
    +
    Self-explantory.
    +
    Pair yukawa/colloid requires atoms with same type have same radius
    +
    Self-explantory.
    +
    Pair yukawa/colloid/gpu requires atom style sphere
    +
    Self-explanatory.
    +
    PairKIM only works with 3D problems
    +
    This is a current limitation.
    +
    Pair_coeff command before pair_style is defined
    +
    Self-explanatory.
    +
    Pair_coeff command before simulation box is defined
    +
    The pair_coeff command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Pair_modify command before pair_style is defined
    +
    Self-explanatory.
    +
    Pair_write command before pair_style is defined
    +
    Self-explanatory.
    +
    Particle on or inside fix wall surface
    +
    Particles must be “exterior” to the wall in order for energy/force to +be calculated.
    +
    Particle on or inside surface of region used in fix wall/region
    +
    Particles must be “exterior” to the region surface in order for +energy/force to be calculated.
    +
    Per-atom compute in equal-style variable formula
    +
    Equal-style variables cannot use per-atom quantities.
    +
    Per-atom energy was not tallied on needed timestep
    +
    You are using a thermo keyword that requires potentials to +have tallied energy, but they didn’t on this timestep. See the +variable doc page for ideas on how to make this work.
    +
    Per-atom fix in equal-style variable formula
    +
    Equal-style variables cannot use per-atom quantities.
    +
    Per-atom virial was not tallied on needed timestep
    +
    You are using a thermo keyword that requires potentials to have +tallied the virial, but they didn’t on this timestep. See the +variable doc page for ideas on how to make this work.
    +
    Per-processor system is too big
    +
    The number of owned atoms plus ghost atoms on a single +processor must fit in 32-bit integer.
    +
    Potential energy ID for fix neb does not exist
    +
    Self-explanatory.
    +
    Potential energy ID for fix nvt/nph/npt does not exist
    +
    A compute for potential energy must be defined.
    +
    Potential file has duplicate entry
    +
    The potential file has more than one entry for the same element.
    +
    Potential file is missing an entry
    +
    The potential file does not have a needed entry.
    +
    Power by 0 in variable formula
    +
    Self-explanatory.
    +
    Pressure ID for fix box/relax does not exist
    +
    The compute ID needed to compute pressure for the fix does not +exist.
    +
    Pressure ID for fix modify does not exist
    +
    Self-explanatory.
    +
    Pressure ID for fix npt/nph does not exist
    +
    Self-explanatory.
    +
    Pressure ID for fix press/berendsen does not exist
    +
    The compute ID needed to compute pressure for the fix does not +exist.
    +
    Pressure ID for fix rigid npt/nph does not exist
    +
    Self-explanatory.
    +
    Pressure ID for thermo does not exist
    +
    The compute ID needed to compute pressure for thermodynamics does not +exist.
    +
    Pressure control can not be used with fix nvt
    +
    Self-explanatory.
    +
    Pressure control can not be used with fix nvt/asphere
    +
    Self-explanatory.
    +
    Pressure control can not be used with fix nvt/sllod
    +
    Self-explanatory.
    +
    Pressure control can not be used with fix nvt/sphere
    +
    Self-explanatory.
    +
    Pressure control must be used with fix nph
    +
    Self-explanatory.
    +
    Pressure control must be used with fix nph/asphere
    +
    Self-explanatory.
    +
    Pressure control must be used with fix nph/small
    +
    Self-explanatory.
    +
    Pressure control must be used with fix nph/sphere
    +
    Self-explanatory.
    +
    Pressure control must be used with fix nphug
    +
    A pressure control keyword (iso, aniso, tri, x, y, or z) must be +provided.
    +
    Pressure control must be used with fix npt
    +
    Self-explanatory.
    +
    Pressure control must be used with fix npt/asphere
    +
    Self-explanatory.
    +
    Pressure control must be used with fix npt/sphere
    +
    Self-explanatory.
    +
    Processor count in z must be 1 for 2d simulation
    +
    Self-explanatory.
    +
    Processor partitions do not match number of allocated processors
    +
    The total number of processors in all partitions must match the number +of processors LAMMPS is running on.
    +
    Processors command after simulation box is defined
    +
    The processors command cannot be used after a read_data, read_restart, +or create_box command.
    +
    Processors custom grid file is inconsistent
    +
    The vales in the custom file are not consistent with the number of processors you are running on or the Px,Py,Pz settings of the -processors command. Or there was not a setting for every processor. - -
    Processors grid numa and map style are incompatible - -
    Using numa for gstyle in the processors command requires using -cart for the map option. - -
    Processors part option and grid style are incompatible - -
    Cannot use gstyle numa or custom with the part option. - -
    Processors twogrid requires proc count be a multiple of core count - -
    Self-explanatory. - -
    Pstart and Pstop must have the same value - -
    Self-explanatory. - -
    Python function evaluation failed - -
    The Python function did not run succesfully and/or did not return a +processors command. Or there was not a setting for every processor.
    +
    Processors grid numa and map style are incompatible
    +
    Using numa for gstyle in the processors command requires using +cart for the map option.
    +
    Processors part option and grid style are incompatible
    +
    Cannot use gstyle numa or custom with the part option.
    +
    Processors twogrid requires proc count be a multiple of core count
    +
    Self-explanatory.
    +
    Pstart and Pstop must have the same value
    +
    Self-explanatory.
    +
    Python function evaluation failed
    +
    The Python function did not run succesfully and/or did not return a value (if it is supposed to return a value). This is probably due to -some error condition in the function. - -
    Python function is not callable - -
    The provided Python code was run successfully, but it not -define a callable function with the required name. - -
    Python invoke of undefined function - -
    Cannot invoke a function that has not been previously defined. - -
    Python variable does not match Python function - -
    This matching is defined by the python-style variable and the python -command. - -
    Python variable has no function - -
    No python command was used to define the function associated with the -python-style variable. - -
    QEQ with 'newton pair off' not supported - -
    See the newton command. This is a restriction to use the QEQ fixes. - -
    R0 < 0 for fix spring command - -
    Equilibrium spring length is invalid. - -
    RATTLE coordinate constraints are not satisfied up to desired tolerance - -
    Self-explanatory. - -
    RATTLE determinant = 0.0 - -
    The determinant of the matrix being solved for a single cluster -specified by the fix rattle command is numerically invalid. - -
    RATTLE failed - -
    Certain constraints were not satisfied. - -
    RATTLE velocity constraints are not satisfied up to desired tolerance - -
    Self-explanatory. - -
    Read dump of atom property that isn't allocated - -
    Self-explanatory. - -
    Read rerun dump file timestep > specified stop - -
    Self-explanatory. - -
    Read restart MPI-IO input not allowed with % in filename - -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors. - -
    Read_data shrink wrap did not assign all atoms correctly - -
    This is typically because the box-size specified in the data file is +some error condition in the function.
    +
    Python function is not callable
    +
    The provided Python code was run successfully, but it not +define a callable function with the required name.
    +
    Python invoke of undefined function
    +
    Cannot invoke a function that has not been previously defined.
    +
    Python variable does not match Python function
    +
    This matching is defined by the python-style variable and the python +command.
    +
    Python variable has no function
    +
    No python command was used to define the function associated with the +python-style variable.
    +
    QEQ with ‘newton pair off’ not supported
    +
    See the newton command. This is a restriction to use the QEQ fixes.
    +
    R0 < 0 for fix spring command
    +
    Equilibrium spring length is invalid.
    +
    RATTLE coordinate constraints are not satisfied up to desired tolerance
    +
    Self-explanatory.
    +
    RATTLE determinant = 0.0
    +
    The determinant of the matrix being solved for a single cluster +specified by the fix rattle command is numerically invalid.
    +
    RATTLE failed
    +
    Certain constraints were not satisfied.
    +
    RATTLE velocity constraints are not satisfied up to desired tolerance
    +
    Self-explanatory.
    +
    Read dump of atom property that isn’t allocated
    +
    Self-explanatory.
    +
    Read rerun dump file timestep > specified stop
    +
    Self-explanatory.
    +
    Read restart MPI-IO input not allowed with % in filename
    +
    This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors.
    +
    Read_data shrink wrap did not assign all atoms correctly
    +
    This is typically because the box-size specified in the data file is large compared to the actual extent of atoms in a shrink-wrapped dimension. When LAMMPS shrink-wraps the box atoms will be lost if the processor they are re-assigned to is too far away. Choose a box -size closer to the actual extent of the atoms. - -
    Read_dump command before simulation box is defined - -
    The read_dump command cannot be used before a read_data, read_restart, -or create_box command. - -
    Read_dump field not found in dump file - -
    Self-explanatory. - -
    Read_dump triclinic status does not match simulation - -
    Both the dump snapshot and the current LAMMPS simulation must -be using either an orthogonal or triclinic box. - -
    Read_dump xyz fields do not have consistent scaling/wrapping - -
    Self-explanatory. - -
    Reading from MPI-IO filename when MPIIO package is not installed - -
    Self-explanatory. - -
    Reax_defs.h setting for NATDEF is too small - -
    Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS. - -
    Reax_defs.h setting for NNEIGHMAXDEF is too small - -
    Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS. - -
    Receiving partition in processors part command is already a receiver - -
    Cannot specify a partition to be a receiver twice. - -
    Region ID for compute chunk/atom does not exist - -
    Self-explanatory. - -
    Region ID for compute reduce/region does not exist - -
    Self-explanatory. - -
    Region ID for compute temp/region does not exist - -
    Self-explanatory. - -
    Region ID for dump custom does not exist - -
    Self-explanatory. - -
    Region ID for fix addforce does not exist - -
    Self-explanatory. - -
    Region ID for fix atom/swap does not exist - -
    Self-explanatory. - -
    Region ID for fix ave/spatial does not exist - -
    Self-explanatory. - -
    Region ID for fix aveforce does not exist - -
    Self-explanatory. - -
    Region ID for fix deposit does not exist - -
    Self-explanatory. - -
    Region ID for fix efield does not exist - -
    Self-explanatory. - -
    Region ID for fix evaporate does not exist - -
    Self-explanatory. - -
    Region ID for fix gcmc does not exist - -
    Self-explanatory. - -
    Region ID for fix heat does not exist - -
    Self-explanatory. - -
    Region ID for fix setforce does not exist - -
    Self-explanatory. - -
    Region ID for fix wall/region does not exist - -
    Self-explanatory. - -
    Region ID for group dynamic does not exist - -
    Self-explanatory. - -
    Region ID in variable formula does not exist - -
    Self-explanatory. - -
    Region cannot have 0 length rotation vector - -
    Self-explanatory. - -
    Region for fix oneway does not exist - -
    Self-explanatory. - -
    Region intersect region ID does not exist - -
    Self-explanatory. - -
    Region union or intersect cannot be dynamic - -
    The sub-regions can be dynamic, but not the combined region. - -
    Region union region ID does not exist - -
    One or more of the region IDs specified by the region union command -does not exist. - -
    Replacing a fix, but new style != old style - -
    A fix ID can be used a 2nd time, but only if the style matches the -previous fix. In this case it is assumed you with to reset a fix's +size closer to the actual extent of the atoms.
    +
    Read_dump command before simulation box is defined
    +
    The read_dump command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Read_dump field not found in dump file
    +
    Self-explanatory.
    +
    Read_dump triclinic status does not match simulation
    +
    Both the dump snapshot and the current LAMMPS simulation must +be using either an orthogonal or triclinic box.
    +
    Read_dump xyz fields do not have consistent scaling/wrapping
    +
    Self-explanatory.
    +
    Reading from MPI-IO filename when MPIIO package is not installed
    +
    Self-explanatory.
    +
    Reax_defs.h setting for NATDEF is too small
    +
    Edit the setting in the ReaxFF library and re-compile the +library and re-build LAMMPS.
    +
    Reax_defs.h setting for NNEIGHMAXDEF is too small
    +
    Edit the setting in the ReaxFF library and re-compile the +library and re-build LAMMPS.
    +
    Receiving partition in processors part command is already a receiver
    +
    Cannot specify a partition to be a receiver twice.
    +
    Region ID for compute chunk/atom does not exist
    +
    Self-explanatory.
    +
    Region ID for compute reduce/region does not exist
    +
    Self-explanatory.
    +
    Region ID for compute temp/region does not exist
    +
    Self-explanatory.
    +
    Region ID for dump custom does not exist
    +
    Self-explanatory.
    +
    Region ID for fix addforce does not exist
    +
    Self-explanatory.
    +
    Region ID for fix atom/swap does not exist
    +
    Self-explanatory.
    +
    Region ID for fix ave/spatial does not exist
    +
    Self-explanatory.
    +
    Region ID for fix aveforce does not exist
    +
    Self-explanatory.
    +
    Region ID for fix deposit does not exist
    +
    Self-explanatory.
    +
    Region ID for fix efield does not exist
    +
    Self-explanatory.
    +
    Region ID for fix evaporate does not exist
    +
    Self-explanatory.
    +
    Region ID for fix gcmc does not exist
    +
    Self-explanatory.
    +
    Region ID for fix heat does not exist
    +
    Self-explanatory.
    +
    Region ID for fix setforce does not exist
    +
    Self-explanatory.
    +
    Region ID for fix wall/region does not exist
    +
    Self-explanatory.
    +
    Region ID for group dynamic does not exist
    +
    Self-explanatory.
    +
    Region ID in variable formula does not exist
    +
    Self-explanatory.
    +
    Region cannot have 0 length rotation vector
    +
    Self-explanatory.
    +
    Region for fix oneway does not exist
    +
    Self-explanatory.
    +
    Region intersect region ID does not exist
    +
    Self-explanatory.
    +
    Region union or intersect cannot be dynamic
    +
    The sub-regions can be dynamic, but not the combined region.
    +
    Region union region ID does not exist
    +
    One or more of the region IDs specified by the region union command +does not exist.
    +
    Replacing a fix, but new style != old style
    +
    A fix ID can be used a 2nd time, but only if the style matches the +previous fix. In this case it is assumed you with to reset a fix’s parameters. This error may mean you are mistakenly re-using a fix ID -when you do not intend to. - -
    Replicate command before simulation box is defined - -
    The replicate command cannot be used before a read_data, read_restart, -or create_box command. - -
    Replicate did not assign all atoms correctly - -
    Atoms replicated by the replicate command were not assigned correctly +when you do not intend to.
    +
    Replicate command before simulation box is defined
    +
    The replicate command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Replicate did not assign all atoms correctly
    +
    Atoms replicated by the replicate command were not assigned correctly to processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box. - -
    Replicated system atom IDs are too big - -
    See the setting for tagint in the src/lmptype.h file. - -
    Replicated system is too big - -
    See the setting for bigint in the src/lmptype.h file. - -
    Required border comm not yet implemented with Kokkos - -
    There are various limitations in the communication options supported -by Kokkos. - -
    Rerun command before simulation box is defined - -
    The rerun command cannot be used before a read_data, read_restart, or -create_box command. - -
    Rerun dump file does not contain requested snapshot - -
    Self-explanatory. - -
    Resetting timestep size is not allowed with fix move - -
    This is because fix move is moving atoms based on elapsed time. - -
    Respa inner cutoffs are invalid - -
    The first cutoff must be <= the second cutoff. - -
    Respa levels must be >= 1 - -
    Self-explanatory. - -
    Respa middle cutoffs are invalid - -
    The first cutoff must be <= the second cutoff. - -
    Restart file MPI-IO output not allowed with % in filename - -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors. - -
    Restart file byte ordering is not recognized - -
    The file does not appear to be a LAMMPS restart file since it doesn't -contain a recognized byte-orderomg flag at the beginning. - -
    Restart file byte ordering is swapped - -
    The file was written on a machine with different byte-ordering than +outside a non-periodic simulation box.
    +
    Replicated system atom IDs are too big
    +
    See the setting for tagint in the src/lmptype.h file.
    +
    Replicated system is too big
    +
    See the setting for bigint in the src/lmptype.h file.
    +
    Required border comm not yet implemented with Kokkos
    +
    There are various limitations in the communication options supported +by Kokkos.
    +
    Rerun command before simulation box is defined
    +
    The rerun command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Rerun dump file does not contain requested snapshot
    +
    Self-explanatory.
    +
    Resetting timestep size is not allowed with fix move
    +
    This is because fix move is moving atoms based on elapsed time.
    +
    Respa inner cutoffs are invalid
    +
    The first cutoff must be <= the second cutoff.
    +
    Respa levels must be >= 1
    +
    Self-explanatory.
    +
    Respa middle cutoffs are invalid
    +
    The first cutoff must be <= the second cutoff.
    +
    Restart file MPI-IO output not allowed with % in filename
    +
    This is because a % signifies one file per processor and MPI-IO +creates one large file for all processors.
    +
    Restart file byte ordering is not recognized
    +
    The file does not appear to be a LAMMPS restart file since it doesn’t +contain a recognized byte-orderomg flag at the beginning.
    +
    Restart file byte ordering is swapped
    +
    The file was written on a machine with different byte-ordering than the machine you are reading it on. Convert it to a text data file -instead, on the machine you wrote it on. - -
    Restart file incompatible with current version - -
    This is probably because you are trying to read a file created with a +instead, on the machine you wrote it on.
    +
    Restart file incompatible with current version
    +
    This is probably because you are trying to read a file created with a version of LAMMPS that is too old compared to the current version. Use your older version of LAMMPS and convert the restart file -to a data file. - -
    Restart file is a MPI-IO file - -
    The file is inconsistent with the filename you specified for it. - -
    Restart file is a multi-proc file - -
    The file is inconsistent with the filename you specified for it. - -
    Restart file is not a MPI-IO file - -
    The file is inconsistent with the filename you specified for it. - -
    Restart file is not a multi-proc file - -
    The file is inconsistent with the filename you specified for it. - -
    Restart variable returned a bad timestep - -
    The variable must return a timestep greater than the current timestep. - -
    Restrain atoms %d %d %d %d missing on proc %d at step %ld - -
    The 4 atoms in a restrain dihedral specified by the fix restrain +to a data file.
    +
    Restart file is a MPI-IO file
    +
    The file is inconsistent with the filename you specified for it.
    +
    Restart file is a multi-proc file
    +
    The file is inconsistent with the filename you specified for it.
    +
    Restart file is not a MPI-IO file
    +
    The file is inconsistent with the filename you specified for it.
    +
    Restart file is not a multi-proc file
    +
    The file is inconsistent with the filename you specified for it.
    +
    Restart variable returned a bad timestep
    +
    The variable must return a timestep greater than the current timestep.
    +
    Restrain atoms %d %d %d %d missing on proc %d at step %ld
    +
    The 4 atoms in a restrain dihedral specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far. - -
    Restrain atoms %d %d %d missing on proc %d at step %ld - -
    The 3 atoms in a restrain angle specified by the fix restrain +atom has moved too far.
    +
    Restrain atoms %d %d %d missing on proc %d at step %ld
    +
    The 3 atoms in a restrain angle specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far. - -
    Restrain atoms %d %d missing on proc %d at step %ld - -
    The 2 atoms in a restrain bond specified by the fix restrain +atom has moved too far.
    +
    Restrain atoms %d %d missing on proc %d at step %ld
    +
    The 2 atoms in a restrain bond specified by the fix restrain command are not all accessible to a processor. This probably means an -atom has moved too far. - -
    Reuse of compute ID - -
    A compute ID cannot be used twice. - -
    Reuse of dump ID - -
    A dump ID cannot be used twice. - -
    Reuse of molecule template ID - -
    The template IDs must be unique. - -
    Reuse of region ID - -
    A region ID cannot be used twice. - -
    Rigid body atoms %d %d missing on proc %d at step %ld - -
    This means that an atom cannot find the atom that owns the rigid body +atom has moved too far.
    +
    Reuse of compute ID
    +
    A compute ID cannot be used twice.
    +
    Reuse of dump ID
    +
    A dump ID cannot be used twice.
    +
    Reuse of molecule template ID
    +
    The template IDs must be unique.
    +
    Reuse of region ID
    +
    A region ID cannot be used twice.
    +
    Rigid body atoms %d %d missing on proc %d at step %ld
    +
    This means that an atom cannot find the atom that owns the rigid body it is part of, or vice versa. The solution is to use the communicate cutoff command to insure ghost atoms are acquired from far enough away to encompass the max distance printed when the fix rigid/small command -was invoked. - -
    Rigid body has degenerate moment of inertia - -
    Fix poems will only work with bodies (collections of atoms) that have +was invoked.
    +
    Rigid body has degenerate moment of inertia
    +
    Fix poems will only work with bodies (collections of atoms) that have non-zero principal moments of inertia. This means they must be 3 or -more non-collinear atoms, even with joint atoms removed. - -
    Rigid fix must come before NPT/NPH fix - -
    NPT/NPH fix must be defined in input script after all rigid fixes, +more non-collinear atoms, even with joint atoms removed.
    +
    Rigid fix must come before NPT/NPH fix
    +
    NPT/NPH fix must be defined in input script after all rigid fixes, else the rigid fix contribution to the pressure virial is -incorrect. - -
    Rmask function in equal-style variable formula - -
    Rmask is per-atom operation. - -
    Run command before simulation box is defined - -
    The run command cannot be used before a read_data, read_restart, or -create_box command. - -
    Run command start value is after start of run - -
    Self-explanatory. - -
    Run command stop value is before end of run - -
    Self-explanatory. - -
    Run_style command before simulation box is defined - -
    The run_style command cannot be used before a read_data, -read_restart, or create_box command. - -
    SRD bin size for fix srd differs from user request - -
    Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning. - -
    SRD bins for fix srd are not cubic enough - -
    The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning. - -
    SRD particle %d started inside big particle %d on step %ld bounce %d - -
    See the inside keyword if you want this message to be an error vs -warning. - -
    SRD particle %d started inside wall %d on step %ld bounce %d - -
    See the inside keyword if you want this message to be an error vs -warning. - -
    Same dimension twice in fix ave/spatial - -
    Self-explanatory. - -
    Sending partition in processors part command is already a sender - -
    Cannot specify a partition to be a sender twice. - -
    Set command before simulation box is defined - -
    The set command cannot be used before a read_data, read_restart, -or create_box command. - -
    Set command floating point vector does not exist - -
    Self-explanatory. - -
    Set command integer vector does not exist - -
    Self-explanatory. - -
    Set command with no atoms existing - -
    No atoms are yet defined so the set command cannot be used. - -
    Set region ID does not exist - -
    Region ID specified in set command does not exist. - -
    Shake angles have different bond types - -
    All 3-atom angle-constrained SHAKE clusters specified by the fix shake +incorrect.
    +
    Rmask function in equal-style variable formula
    +
    Rmask is per-atom operation.
    +
    Run command before simulation box is defined
    +
    The run command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Run command start value is after start of run
    +
    Self-explanatory.
    +
    Run command stop value is before end of run
    +
    Self-explanatory.
    +
    Run_style command before simulation box is defined
    +
    The run_style command cannot be used before a read_data, +read_restart, or create_box command.
    +
    SRD bin size for fix srd differs from user request
    +
    Fix SRD had to adjust the bin size to fit the simulation box. See the +cubic keyword if you want this message to be an error vs warning.
    +
    SRD bins for fix srd are not cubic enough
    +
    The bin shape is not within tolerance of cubic. See the cubic +keyword if you want this message to be an error vs warning.
    +
    SRD particle %d started inside big particle %d on step %ld bounce %d
    +
    See the inside keyword if you want this message to be an error vs +warning.
    +
    SRD particle %d started inside wall %d on step %ld bounce %d
    +
    See the inside keyword if you want this message to be an error vs +warning.
    +
    Same dimension twice in fix ave/spatial
    +
    Self-explanatory.
    +
    Sending partition in processors part command is already a sender
    +
    Cannot specify a partition to be a sender twice.
    +
    Set command before simulation box is defined
    +
    The set command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Set command floating point vector does not exist
    +
    Self-explanatory.
    +
    Set command integer vector does not exist
    +
    Self-explanatory.
    +
    Set command with no atoms existing
    +
    No atoms are yet defined so the set command cannot be used.
    +
    Set region ID does not exist
    +
    Region ID specified in set command does not exist.
    +
    Shake angles have different bond types
    +
    All 3-atom angle-constrained SHAKE clusters specified by the fix shake command that are the same angle type, must also have the same bond -types for the 2 bonds in the angle. - -
    Shake atoms %d %d %d %d missing on proc %d at step %ld - -
    The 4 atoms in a single shake cluster specified by the fix shake +types for the 2 bonds in the angle.
    +
    Shake atoms %d %d %d %d missing on proc %d at step %ld
    +
    The 4 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far. - -
    Shake atoms %d %d %d missing on proc %d at step %ld - -
    The 3 atoms in a single shake cluster specified by the fix shake +an atom has moved too far.
    +
    Shake atoms %d %d %d missing on proc %d at step %ld
    +
    The 3 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far. - -
    Shake atoms %d %d missing on proc %d at step %ld - -
    The 2 atoms in a single shake cluster specified by the fix shake +an atom has moved too far.
    +
    Shake atoms %d %d missing on proc %d at step %ld
    +
    The 2 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means -an atom has moved too far. - -
    Shake cluster of more than 4 atoms - -
    A single cluster specified by the fix shake command can have no more -than 4 atoms. - -
    Shake clusters are connected - -
    A single cluster specified by the fix shake command must have a single -central atom with up to 3 other atoms bonded to it. - -
    Shake determinant = 0.0 - -
    The determinant of the matrix being solved for a single cluster -specified by the fix shake command is numerically invalid. - -
    Shake fix must come before NPT/NPH fix - -
    NPT fix must be defined in input script after SHAKE fix, else the -SHAKE fix contribution to the pressure virial is incorrect. - -
    Shear history overflow, boost neigh_modify one - -
    There are too many neighbors of a single atom. Use the neigh_modify +an atom has moved too far.
    +
    Shake cluster of more than 4 atoms
    +
    A single cluster specified by the fix shake command can have no more +than 4 atoms.
    +
    Shake clusters are connected
    +
    A single cluster specified by the fix shake command must have a single +central atom with up to 3 other atoms bonded to it.
    +
    Shake determinant = 0.0
    +
    The determinant of the matrix being solved for a single cluster +specified by the fix shake command is numerically invalid.
    +
    Shake fix must come before NPT/NPH fix
    +
    NPT fix must be defined in input script after SHAKE fix, else the +SHAKE fix contribution to the pressure virial is incorrect.
    +
    Shear history overflow, boost neigh_modify one
    +
    There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size. - -
    Small to big integers are not sized correctly - -
    This error occurs whenthe sizes of smallint, imageint, tagint, bigint, +You may also want to boost the page size.
    +
    Small to big integers are not sized correctly
    +
    This error occurs whenthe sizes of smallint, imageint, tagint, bigint, as defined in src/lmptype.h are not what is expected. Contact -the developers if this occurs. - -
    Smallint setting in lmptype.h is invalid - -
    It has to be the size of an integer. - -
    Smallint setting in lmptype.h is not compatible - -
    Smallint stored in restart file is not consistent with LAMMPS version -you are running. - -
    Special list size exceeded in fix bond/create - -
    See the read_data command for info on setting the "extra special per -atom" header value to allow for additional special values to be -stored. - -
    Specified processors != physical processors - -
    The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on. - -
    Specified target stress must be uniaxial or hydrostatic - -
    Self-explanatory. - -
    Sqrt of negative value in variable formula - -
    Self-explanatory. - -
    Substitution for illegal variable - -
    Input script line contained a variable that could not be substituted -for. - -
    Support for writing images in JPEG format not included - -
    LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile. - -
    Support for writing images in PNG format not included - -
    LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile. - -
    Support for writing movies not included - -
    LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile - -
    System in data file is too big - -
    See the setting for bigint in the src/lmptype.h file. - -
    System is not charge neutral, net charge = %g - -
    The total charge on all atoms on the system is not 0.0, which -is not valid for the long-range Coulombic solvers. - -
    TAD nsteps must be multiple of t_event - -
    Self-explanatory. - -
    TIP4P hydrogen has incorrect atom type - -
    The TIP4P pairwise computation found an H atom whose type does not -agree with the specified H type. - -
    TIP4P hydrogen is missing - -
    The TIP4P pairwise computation failed to find the correct H atom -within a water molecule. - -
    TMD target file did not list all group atoms - -
    The target file for the fix tmd command did not list all atoms in the -fix group. - -
    Tad command before simulation box is defined - -
    Self-explanatory. - -
    Tagint setting in lmptype.h is invalid - -
    Tagint must be as large or larger than smallint. - -
    Tagint setting in lmptype.h is not compatible - -
    Format of tagint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h - -
    Target pressure for fix rigid/nph cannot be < 0.0 - -
    Self-explanatory. - -
    Target pressure for fix rigid/npt/small cannot be < 0.0 - -
    Self-explanatory. - -
    Target temperature for fix nvt/npt/nph cannot be 0.0 - -
    Self-explanatory. - -
    Target temperature for fix rigid/npt cannot be 0.0 - -
    Self-explanatory. - -
    Target temperature for fix rigid/npt/small cannot be 0.0 - -
    Self-explanatory. - -
    Target temperature for fix rigid/nvt cannot be 0.0 - -
    Self-explanatory. - -
    Target temperature for fix rigid/nvt/small cannot be 0.0 - -
    Self-explanatory. - -
    Temper command before simulation box is defined - -
    The temper command cannot be used before a read_data, read_restart, or -create_box command. - -
    Temperature ID for fix bond/swap does not exist - -
    Self-explanatory. - -
    Temperature ID for fix box/relax does not exist - -
    Self-explanatory. - -
    Temperature ID for fix nvt/npt does not exist - -
    Self-explanatory. - -
    Temperature ID for fix press/berendsen does not exist - -
    Self-explanatory. - -
    Temperature ID for fix rigid nvt/npt/nph does not exist - -
    Self-explanatory. - -
    Temperature ID for fix temp/berendsen does not exist - -
    Self-explanatory. - -
    Temperature ID for fix temp/csvr does not exist - -
    Self-explanatory. - -
    Temperature ID for fix temp/rescale does not exist - -
    Self-explanatory. - -
    Temperature control can not be used with fix nph - -
    Self-explanatory. - -
    Temperature control can not be used with fix nph/asphere - -
    Self-explanatory. - -
    Temperature control can not be used with fix nph/sphere - -
    Self-explanatory. - -
    Temperature control must be used with fix nphug - -
    The temp keyword must be provided. - -
    Temperature control must be used with fix npt - -
    Self-explanatory. - -
    Temperature control must be used with fix npt/asphere - -
    Self-explanatory. - -
    Temperature control must be used with fix npt/sphere - -
    Self-explanatory. - -
    Temperature control must be used with fix nvt - -
    Self-explanatory. - -
    Temperature control must be used with fix nvt/asphere - -
    Self-explanatory. - -
    Temperature control must be used with fix nvt/sllod - -
    Self-explanatory. - -
    Temperature control must be used with fix nvt/sphere - -
    Self-explanatory. - -
    Temperature control must not be used with fix nph/small - -
    Self-explanatory. - -
    Temperature for fix nvt/sllod does not have a bias - -
    The specified compute must compute temperature with a bias. - -
    Tempering could not find thermo_pe compute - -
    This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command. - -
    Tempering fix ID is not defined - -
    The fix ID specified by the temper command does not exist. - -
    Tempering temperature fix is not valid - -
    The fix specified by the temper command is not one that controls -temperature (nvt or langevin). - -
    Test_descriptor_string already allocated - -
    This is an internal error. Contact the developers. - -
    The package gpu command is required for gpu styles - -
    Self-explanatory. - -
    Thermo and fix not computed at compatible times - -
    Fixes generate values on specific timesteps. The thermo output -does not match these timesteps. - -
    Thermo compute array is accessed out-of-range - -
    Self-explanatory. - -
    Thermo compute does not compute array - -
    Self-explanatory. - -
    Thermo compute does not compute scalar - -
    Self-explanatory. - -
    Thermo compute does not compute vector - -
    Self-explanatory. - -
    Thermo compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Thermo custom variable cannot be indexed - -
    Self-explanatory. - -
    Thermo custom variable is not equal-style variable - -
    Only equal-style variables can be output with thermodynamics, not -atom-style variables. - -
    Thermo every variable returned a bad timestep - -
    The variable must return a timestep greater than the current timestep. - -
    Thermo fix array is accessed out-of-range - -
    Self-explanatory. - -
    Thermo fix does not compute array - -
    Self-explanatory. - -
    Thermo fix does not compute scalar - -
    Self-explanatory. - -
    Thermo fix does not compute vector - -
    Self-explanatory. - -
    Thermo fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Thermo keyword in variable requires thermo to use/init pe - -
    You are using a thermo keyword in a variable that requires +the developers if this occurs.
    +
    Smallint setting in lmptype.h is invalid
    +
    It has to be the size of an integer.
    +
    Smallint setting in lmptype.h is not compatible
    +
    Smallint stored in restart file is not consistent with LAMMPS version +you are running.
    +
    Special list size exceeded in fix bond/create
    +
    See the read_data command for info on setting the “extra special per +atom” header value to allow for additional special values to be +stored.
    +
    Specified processors != physical processors
    +
    The 3d grid of processors defined by the processors command does not +match the number of processors LAMMPS is being run on.
    +
    Specified target stress must be uniaxial or hydrostatic
    +
    Self-explanatory.
    +
    Sqrt of negative value in variable formula
    +
    Self-explanatory.
    +
    Substitution for illegal variable
    +
    Input script line contained a variable that could not be substituted +for.
    +
    Support for writing images in JPEG format not included
    +
    LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile.
    +
    Support for writing images in PNG format not included
    +
    LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile.
    +
    Support for writing movies not included
    +
    LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile
    +
    System in data file is too big
    +
    See the setting for bigint in the src/lmptype.h file.
    +
    System is not charge neutral, net charge = %g
    +
    The total charge on all atoms on the system is not 0.0, which +is not valid for the long-range Coulombic solvers.
    +
    TAD nsteps must be multiple of t_event
    +
    Self-explanatory.
    +
    TIP4P hydrogen has incorrect atom type
    +
    The TIP4P pairwise computation found an H atom whose type does not +agree with the specified H type.
    +
    TIP4P hydrogen is missing
    +
    The TIP4P pairwise computation failed to find the correct H atom +within a water molecule.
    +
    TMD target file did not list all group atoms
    +
    The target file for the fix tmd command did not list all atoms in the +fix group.
    +
    Tad command before simulation box is defined
    +
    Self-explanatory.
    +
    Tagint setting in lmptype.h is invalid
    +
    Tagint must be as large or larger than smallint.
    +
    Tagint setting in lmptype.h is not compatible
    +
    Format of tagint stored in restart file is not consistent with LAMMPS +version you are running. See the settings in src/lmptype.h
    +
    Target pressure for fix rigid/nph cannot be < 0.0
    +
    Self-explanatory.
    +
    Target pressure for fix rigid/npt/small cannot be < 0.0
    +
    Self-explanatory.
    +
    Target temperature for fix nvt/npt/nph cannot be 0.0
    +
    Self-explanatory.
    +
    Target temperature for fix rigid/npt cannot be 0.0
    +
    Self-explanatory.
    +
    Target temperature for fix rigid/npt/small cannot be 0.0
    +
    Self-explanatory.
    +
    Target temperature for fix rigid/nvt cannot be 0.0
    +
    Self-explanatory.
    +
    Target temperature for fix rigid/nvt/small cannot be 0.0
    +
    Self-explanatory.
    +
    Temper command before simulation box is defined
    +
    The temper command cannot be used before a read_data, read_restart, or +create_box command.
    +
    Temperature ID for fix bond/swap does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix box/relax does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix nvt/npt does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix press/berendsen does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix rigid nvt/npt/nph does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix temp/berendsen does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix temp/csvr does not exist
    +
    Self-explanatory.
    +
    Temperature ID for fix temp/rescale does not exist
    +
    Self-explanatory.
    +
    Temperature control can not be used with fix nph
    +
    Self-explanatory.
    +
    Temperature control can not be used with fix nph/asphere
    +
    Self-explanatory.
    +
    Temperature control can not be used with fix nph/sphere
    +
    Self-explanatory.
    +
    Temperature control must be used with fix nphug
    +
    The temp keyword must be provided.
    +
    Temperature control must be used with fix npt
    +
    Self-explanatory.
    +
    Temperature control must be used with fix npt/asphere
    +
    Self-explanatory.
    +
    Temperature control must be used with fix npt/sphere
    +
    Self-explanatory.
    +
    Temperature control must be used with fix nvt
    +
    Self-explanatory.
    +
    Temperature control must be used with fix nvt/asphere
    +
    Self-explanatory.
    +
    Temperature control must be used with fix nvt/sllod
    +
    Self-explanatory.
    +
    Temperature control must be used with fix nvt/sphere
    +
    Self-explanatory.
    +
    Temperature control must not be used with fix nph/small
    +
    Self-explanatory.
    +
    Temperature for fix nvt/sllod does not have a bias
    +
    The specified compute must compute temperature with a bias.
    +
    Tempering could not find thermo_pe compute
    +
    This compute is created by the thermo command. It must have been +explicitly deleted by a uncompute command.
    +
    Tempering fix ID is not defined
    +
    The fix ID specified by the temper command does not exist.
    +
    Tempering temperature fix is not valid
    +
    The fix specified by the temper command is not one that controls +temperature (nvt or langevin).
    +
    Test_descriptor_string already allocated
    +
    This is an internal error. Contact the developers.
    +
    The package gpu command is required for gpu styles
    +
    Self-explanatory.
    +
    Thermo and fix not computed at compatible times
    +
    Fixes generate values on specific timesteps. The thermo output +does not match these timesteps.
    +
    Thermo compute array is accessed out-of-range
    +
    Self-explanatory.
    +
    Thermo compute does not compute array
    +
    Self-explanatory.
    +
    Thermo compute does not compute scalar
    +
    Self-explanatory.
    +
    Thermo compute does not compute vector
    +
    Self-explanatory.
    +
    Thermo compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Thermo custom variable cannot be indexed
    +
    Self-explanatory.
    +
    Thermo custom variable is not equal-style variable
    +
    Only equal-style variables can be output with thermodynamics, not +atom-style variables.
    +
    Thermo every variable returned a bad timestep
    +
    The variable must return a timestep greater than the current timestep.
    +
    Thermo fix array is accessed out-of-range
    +
    Self-explanatory.
    +
    Thermo fix does not compute array
    +
    Self-explanatory.
    +
    Thermo fix does not compute scalar
    +
    Self-explanatory.
    +
    Thermo fix does not compute vector
    +
    Self-explanatory.
    +
    Thermo fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Thermo keyword in variable requires thermo to use/init pe
    +
    You are using a thermo keyword in a variable that requires potential energy to be calculated, but your thermo output -does not use it. Add it to your thermo output. - -
    Thermo keyword in variable requires thermo to use/init press - -
    You are using a thermo keyword in a variable that requires pressure to +does not use it. Add it to your thermo output.
    +
    Thermo keyword in variable requires thermo to use/init press
    +
    You are using a thermo keyword in a variable that requires pressure to be calculated, but your thermo output does not use it. Add it to your -thermo output. - -
    Thermo keyword in variable requires thermo to use/init temp - -
    You are using a thermo keyword in a variable that requires temperature +thermo output.
    +
    Thermo keyword in variable requires thermo to use/init temp
    +
    You are using a thermo keyword in a variable that requires temperature to be calculated, but your thermo output does not use it. Add it to -your thermo output. - -
    Thermo style does not use press - -
    Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity. - -
    Thermo style does not use temp - -
    Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity. - -
    Thermo_modify every variable returned a bad timestep - -
    The returned timestep is less than or equal to the current timestep. - -
    Thermo_modify int format does not contain d character - -
    Self-explanatory. - -
    Thermo_modify pressure ID does not compute pressure - -
    The specified compute ID does not compute pressure. - -
    Thermo_modify temperature ID does not compute temperature - -
    The specified compute ID does not compute temperature. - -
    Thermo_style command before simulation box is defined - -
    The thermo_style command cannot be used before a read_data, -read_restart, or create_box command. - -
    This variable thermo keyword cannot be used between runs - -
    Keywords that refer to time (such as cpu, elapsed) do not -make sense in between runs. - -
    Threshhold for an atom property that isn't allocated - -
    A dump threshhold has been requested on a quantity that is -not defined by the atom style used in this simulation. - -
    Timestep must be >= 0 - -
    Specified timestep is invalid. - -
    Too big a problem to use velocity create loop all - -
    The system size must fit in a 32-bit integer to use this option. - -
    Too big a timestep - -
    Specified timestep is too large. - -
    Too big a timestep for dump dcd - -
    The timestep must fit in a 32-bit integer to use this dump style. - -
    Too big a timestep for dump xtc - -
    The timestep must fit in a 32-bit integer to use this dump style. - -
    Too few bits for lookup table - -
    Table size specified via pair_modify command does not work with your -machine's floating point representation. - -
    Too many -pk arguments in command line - -
    The string formed by concatenating the arguments is too long. Use a -package command in the input script instead. - -
    Too many MSM grid levels - -
    The max number of MSM grid levels is hardwired to 10. - -
    Too many args in variable function - -
    More args are used than any variable function allows. - -
    Too many atom pairs for pair bop - -
    The number of atomic pairs exceeds the expected number. Check your -atomic structure to ensure that it is realistic. - -
    Too many atom sorting bins - -
    This is likely due to an immense simulation box that has blown up -to a large size. - -
    Too many atom triplets for pair bop - -
    The number of three atom groups for angle determinations exceeds the +your thermo output.
    +
    Thermo style does not use press
    +
    Cannot use thermo_modify to set this parameter since the thermo_style +is not computing this quantity.
    +
    Thermo style does not use temp
    +
    Cannot use thermo_modify to set this parameter since the thermo_style +is not computing this quantity.
    +
    Thermo_modify every variable returned a bad timestep
    +
    The returned timestep is less than or equal to the current timestep.
    +
    Thermo_modify int format does not contain d character
    +
    Self-explanatory.
    +
    Thermo_modify pressure ID does not compute pressure
    +
    The specified compute ID does not compute pressure.
    +
    Thermo_modify temperature ID does not compute temperature
    +
    The specified compute ID does not compute temperature.
    +
    Thermo_style command before simulation box is defined
    +
    The thermo_style command cannot be used before a read_data, +read_restart, or create_box command.
    +
    This variable thermo keyword cannot be used between runs
    +
    Keywords that refer to time (such as cpu, elapsed) do not +make sense in between runs.
    +
    Threshhold for an atom property that isn’t allocated
    +
    A dump threshhold has been requested on a quantity that is +not defined by the atom style used in this simulation.
    +
    Timestep must be >= 0
    +
    Specified timestep is invalid.
    +
    Too big a problem to use velocity create loop all
    +
    The system size must fit in a 32-bit integer to use this option.
    +
    Too big a timestep
    +
    Specified timestep is too large.
    +
    Too big a timestep for dump dcd
    +
    The timestep must fit in a 32-bit integer to use this dump style.
    +
    Too big a timestep for dump xtc
    +
    The timestep must fit in a 32-bit integer to use this dump style.
    +
    Too few bits for lookup table
    +
    Table size specified via pair_modify command does not work with your +machine’s floating point representation.
    +
    Too many -pk arguments in command line
    +
    The string formed by concatenating the arguments is too long. Use a +package command in the input script instead.
    +
    Too many MSM grid levels
    +
    The max number of MSM grid levels is hardwired to 10.
    +
    Too many args in variable function
    +
    More args are used than any variable function allows.
    +
    Too many atom pairs for pair bop
    +
    The number of atomic pairs exceeds the expected number. Check your +atomic structure to ensure that it is realistic.
    +
    Too many atom sorting bins
    +
    This is likely due to an immense simulation box that has blown up +to a large size.
    +
    Too many atom triplets for pair bop
    +
    The number of three atom groups for angle determinations exceeds the expected number. Check your atomic structrure to ensure that it is -realistic. - -
    Too many atoms for dump dcd - -
    The system size must fit in a 32-bit integer to use this dump -style. - -
    Too many atoms for dump xtc - -
    The system size must fit in a 32-bit integer to use this dump -style. - -
    Too many atoms to dump sort - -
    Cannot sort when running with more than 2^31 atoms. - -
    Too many exponent bits for lookup table - -
    Table size specified via pair_modify command does not work with your -machine's floating point representation. - -
    Too many groups - -
    The maximum number of atom groups (including the "all" group) is -given by MAX_GROUP in group.cpp and is 32. - -
    Too many iterations - -
    You must use a number of iterations that fit in a 32-bit integer -for minimization. - -
    Too many lines in one body in data file - boost MAXBODY - -
    MAXBODY is a setting at the top of the src/read_data.cpp file. -Set it larger and re-compile the code. - -
    Too many local+ghost atoms for neighbor list - -
    The number of nlocal + nghost atoms on a processor +realistic.
    +
    Too many atoms for dump dcd
    +
    The system size must fit in a 32-bit integer to use this dump +style.
    +
    Too many atoms for dump xtc
    +
    The system size must fit in a 32-bit integer to use this dump +style.
    +
    Too many atoms to dump sort
    +
    Cannot sort when running with more than 2^31 atoms.
    +
    Too many exponent bits for lookup table
    +
    Table size specified via pair_modify command does not work with your +machine’s floating point representation.
    +
    Too many groups
    +
    The maximum number of atom groups (including the “all” group) is +given by MAX_GROUP in group.cpp and is 32.
    +
    Too many iterations
    +
    You must use a number of iterations that fit in a 32-bit integer +for minimization.
    +
    Too many lines in one body in data file - boost MAXBODY
    +
    MAXBODY is a setting at the top of the src/read_data.cpp file. +Set it larger and re-compile the code.
    +
    Too many local+ghost atoms for neighbor list
    +
    The number of nlocal + nghost atoms on a processor is limited by the size of a 32-bit integer with 2 bits -removed for masking 1-2, 1-3, 1-4 neighbors. - -
    Too many mantissa bits for lookup table - -
    Table size specified via pair_modify command does not work with your -machine's floating point representation. - -
    Too many masses for fix shake - -
    The fix shake command cannot list more masses than there are atom -types. - -
    Too many molecules for fix poems - -
    The limit is 2^31 = ~2 billion molecules. - -
    Too many molecules for fix rigid - -
    The limit is 2^31 = ~2 billion molecules. - -
    Too many neighbor bins - -
    This is likely due to an immense simulation box that has blown up -to a large size. - -
    Too many timesteps - -
    The cummulative timesteps must fit in a 64-bit integer. - -
    Too many timesteps for NEB - -
    You must use a number of timesteps that fit in a 32-bit integer -for NEB. - -
    Too many total atoms - -
    See the setting for bigint in the src/lmptype.h file. - -
    Too many total bits for bitmapped lookup table - -
    Table size specified via pair_modify command is too large. Note that -a value of N generates a 2^N size table. - -
    Too much buffered per-proc info for dump - -
    The size of the buffered string must fit in a 32-bit integer for a -dump. - -
    Too much per-proc info for dump - -
    Number of local atoms times number of columns must fit in a 32-bit -integer for dump. - -
    Tree structure in joint connections - -
    Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a tree structure. - -
    Triclinic box skew is too large - -
    The displacement in a skewed direction must be less than half the box +removed for masking 1-2, 1-3, 1-4 neighbors.
    +
    Too many mantissa bits for lookup table
    +
    Table size specified via pair_modify command does not work with your +machine’s floating point representation.
    +
    Too many masses for fix shake
    +
    The fix shake command cannot list more masses than there are atom +types.
    +
    Too many molecules for fix poems
    +
    The limit is 2^31 = ~2 billion molecules.
    +
    Too many molecules for fix rigid
    +
    The limit is 2^31 = ~2 billion molecules.
    +
    Too many neighbor bins
    +
    This is likely due to an immense simulation box that has blown up +to a large size.
    +
    Too many timesteps
    +
    The cummulative timesteps must fit in a 64-bit integer.
    +
    Too many timesteps for NEB
    +
    You must use a number of timesteps that fit in a 32-bit integer +for NEB.
    +
    Too many total atoms
    +
    See the setting for bigint in the src/lmptype.h file.
    +
    Too many total bits for bitmapped lookup table
    +
    Table size specified via pair_modify command is too large. Note that +a value of N generates a 2^N size table.
    +
    Too much buffered per-proc info for dump
    +
    The size of the buffered string must fit in a 32-bit integer for a +dump.
    +
    Too much per-proc info for dump
    +
    Number of local atoms times number of columns must fit in a 32-bit +integer for dump.
    +
    Tree structure in joint connections
    +
    Fix poems cannot (yet) work with coupled bodies whose joints connect +the bodies in a tree structure.
    +
    Triclinic box skew is too large
    +
    The displacement in a skewed direction must be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. This constraint can be relaxed by using -the box tilt command. - -
    Tried to convert a double to int, but input_double > INT_MAX - -
    Self-explanatory. - -
    Trying to build an occasional neighbor list before initialization completed - -
    This is not allowed. Source code caller needs to be modified. - -
    Two fix ave commands using same compute chunk/atom command in incompatible ways - -
    They are both attempting to "lock" the chunk/atom command so that the +the box tilt command.
    +
    Tried to convert a double to int, but input_double > INT_MAX
    +
    Self-explanatory.
    +
    Trying to build an occasional neighbor list before initialization completed
    +
    This is not allowed. Source code caller needs to be modified.
    +
    Two fix ave commands using same compute chunk/atom command in incompatible ways
    +
    They are both attempting to “lock” the chunk/atom command so that the chunk assignments persist for some number of timesteps, but are doing -it in different ways. - -
    Two groups cannot be the same in fix spring couple - -
    Self-explanatory. - -
    USER-CUDA mode requires CUDA variant of min style - -
    CUDA mode is enabled, so the min style must include a cuda suffix. - -
    USER-CUDA mode requires CUDA variant of run style - -
    CUDA mode is enabled, so the run style must include a cuda suffix. - -
    USER-CUDA package does not yet support comm_style tiled - -
    Self-explanatory. - -
    USER-CUDA package requires a cuda enabled atom_style - -
    Self-explanatory. - -
    Unable to initialize accelerator for use - -
    There was a problem initializing an accelerator for the gpu package - -
    Unbalanced quotes in input line - -
    No matching end double quote was found following a leading double -quote. - -
    Unexpected end of -reorder file - -
    Self-explanatory. - -
    Unexpected end of AngleCoeffs section - -
    Read a blank line. - -
    Unexpected end of BondCoeffs section - -
    Read a blank line. - -
    Unexpected end of DihedralCoeffs section - -
    Read a blank line. - -
    Unexpected end of ImproperCoeffs section - -
    Read a blank line. - -
    Unexpected end of PairCoeffs section - -
    Read a blank line. - -
    Unexpected end of custom file - -
    Self-explanatory. - -
    Unexpected end of data file - -
    LAMMPS hit the end of the data file while attempting to read a -section. Something is wrong with the format of the data file. - -
    Unexpected end of dump file - -
    A read operation from the file failed. - -
    Unexpected end of fix rigid file - -
    A read operation from the file failed. - -
    Unexpected end of fix rigid/small file - -
    A read operation from the file failed. - -
    Unexpected end of molecule file - -
    Self-explanatory. - -
    Unexpected end of neb file - -
    A read operation from the file failed. - -
    Units command after simulation box is defined - -
    The units command cannot be used after a read_data, read_restart, or -create_box command. - -
    Universe/uloop variable count < # of partitions - -
    A universe or uloop style variable must specify a number of values >= to the -number of processor partitions. - -
    Unknown angle style - -
    The choice of angle style is unknown. - -
    Unknown atom style - -
    The choice of atom style is unknown. - -
    Unknown body style - -
    The choice of body style is unknown. - -
    Unknown bond style - -
    The choice of bond style is unknown. - -
    Unknown command: %s - -
    The command is not known to LAMMPS. Check the input script. - -
    Unknown compute style - -
    The choice of compute style is unknown. - -
    Unknown dihedral style - -
    The choice of dihedral style is unknown. - -
    Unknown dump reader style - -
    The choice of dump reader style via the format keyword is unknown. - -
    Unknown dump style - -
    The choice of dump style is unknown. - -
    Unknown error in GPU library - -
    Self-explanatory. - -
    Unknown fix style - -
    The choice of fix style is unknown. - -
    Unknown identifier in data file: %s - -
    A section of the data file cannot be read by LAMMPS. - -
    Unknown improper style - -
    The choice of improper style is unknown. - -
    Unknown keyword in thermo_style custom command - -
    One or more specified keywords are not recognized. - -
    Unknown kspace style - -
    The choice of kspace style is unknown. - -
    Unknown pair style - -
    The choice of pair style is unknown. - -
    Unknown pair_modify hybrid sub-style - -
    The choice of sub-style is unknown. - -
    Unknown region style - -
    The choice of region style is unknown. - -
    Unknown section in molecule file - -
    Self-explanatory. - -
    Unknown table style in angle style table - -
    Self-explanatory. - -
    Unknown table style in bond style table - -
    Self-explanatory. - -
    Unknown table style in pair_style command - -
    Style of table is invalid for use with pair_style table command. - -
    Unknown unit_style - -
    Self-explanatory. Check the input script or data file. - -
    Unrecognized lattice type in MEAM file 1 - -
    The lattice type in an entry of the MEAM library file is not -valid. - -
    Unrecognized lattice type in MEAM file 2 - -
    The lattice type in an entry of the MEAM parameter file is not -valid. - -
    Unrecognized pair style in compute pair command - -
    Self-explanatory. - -
    Unrecognized virial argument in pair_style command - -
    Only two options are supported: LAMMPSvirial and KIMvirial - -
    Unsupported mixing rule in kspace_style ewald/disp - -
    Only geometric mixing is supported. - -
    Unsupported order in kspace_style ewald/disp - -
    Only 1/r^6 dispersion or dipole terms are supported. - -
    Unsupported order in kspace_style pppm/disp, pair_style %s - -
    Only pair styles with 1/r and 1/r^6 dependence are currently supported. - -
    Using fix nvt/sllod with inconsistent fix deform remap option - -
    Fix nvt/sllod requires that deforming atoms have a velocity profile -provided by "remap v" as a fix deform option. - -
    Using fix nvt/sllod with no fix deform defined - -
    Self-explanatory. - -
    Using fix srd with inconsistent fix deform remap option - -
    When shearing the box in an SRD simulation, the remap v option for fix -deform needs to be used. - -
    Using pair lubricate with inconsistent fix deform remap option - -
    Must use remap v option with fix deform with this pair style. - -
    Using pair lubricate/poly with inconsistent fix deform remap option - -
    If fix deform is used, the remap v option is required. - -
    Using suffix cuda without USER-CUDA package enabled - -
    Self-explanatory. - -
    Using suffix gpu without GPU package installed - -
    Self-explanatory. - -
    Using suffix intel without USER-INTEL package installed - -
    Self-explanatory. - -
    Using suffix kk without KOKKOS package enabled - -
    Self-explanatory. - -
    Using suffix omp without USER-OMP package installed - -
    Self-explanatory. - -
    Variable ID in variable formula does not exist - -
    Self-explanatory. - -
    Variable atom ID is too large - -
    Specified ID is larger than the maximum allowed atom ID. - -
    Variable evaluation before simulation box is defined - -
    Cannot evaluate a compute or fix or atom-based value in a variable -before the simulation has been setup. - -
    Variable evaluation in fix wall gave bad value - -
    The returned value for epsilon or sigma < 0.0. - -
    Variable evaluation in region gave bad value - -
    Variable returned a radius < 0.0. - -
    Variable for compute ti is invalid style - -
    Self-explanatory. - -
    Variable for create_atoms is invalid style - -
    The variables must be equal-style variables. - -
    Variable for dump every is invalid style - -
    Only equal-style variables can be used. - -
    Variable for dump image center is invalid style - -
    Must be an equal-style variable. - -
    Variable for dump image persp is invalid style - -
    Must be an equal-style variable. - -
    Variable for dump image phi is invalid style - -
    Must be an equal-style variable. - -
    Variable for dump image theta is invalid style - -
    Must be an equal-style variable. - -
    Variable for dump image zoom is invalid style - -
    Must be an equal-style variable. - -
    Variable for fix adapt is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix addforce is invalid style - -
    Self-explanatory. - -
    Variable for fix aveforce is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix deform is invalid style - -
    The variable must be an equal-style variable. - -
    Variable for fix efield is invalid style - -
    The variable must be an equal- or atom-style variable. - -
    Variable for fix gravity is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix heat is invalid style - -
    Only equal-style or atom-style variables can be used. - -
    Variable for fix indent is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix indent is not equal style - -
    Only equal-style variables can be used. - -
    Variable for fix langevin is invalid style - -
    It must be an equal-style variable. - -
    Variable for fix move is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix setforce is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix temp/berendsen is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix temp/csvr is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix temp/rescale is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix wall is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix wall/reflect is invalid style - -
    Only equal-style variables can be used. - -
    Variable for fix wall/srd is invalid style - -
    Only equal-style variables can be used. - -
    Variable for group dynamic is invalid style - -
    The variable must be an atom-style variable. - -
    Variable for group is invalid style - -
    Only atom-style variables can be used. - -
    Variable for region cylinder is invalid style - -
    Only equal-style varaibles are allowed. - -
    Variable for region is invalid style - -
    Only equal-style variables can be used. - -
    Variable for region is not equal style - -
    Self-explanatory. - -
    Variable for region sphere is invalid style - -
    Only equal-style varaibles are allowed. - -
    Variable for restart is invalid style - -
    Only equal-style variables can be used. - -
    Variable for set command is invalid style - -
    Only atom-style variables can be used. - -
    Variable for thermo every is invalid style - -
    Only equal-style variables can be used. - -
    Variable for velocity set is invalid style - -
    Only atom-style variables can be used. - -
    Variable for voronoi radius is not atom style - -
    Self-explanatory. - -
    Variable formula compute array is accessed out-of-range - -
    Self-explanatory. - -
    Variable formula compute vector is accessed out-of-range - -
    Self-explanatory. - -
    Variable formula fix array is accessed out-of-range - -
    Self-explanatory. - -
    Variable formula fix vector is accessed out-of-range - -
    Self-explanatory. - -
    Variable has circular dependency - -
    A circular dependency is when variable "a" in used by variable "b" and -variable "b" is also used by varaible "a". Circular dependencies with -longer chains of dependence are also not allowed. - -
    Variable name between brackets must be alphanumeric or underscore characters - -
    Self-explanatory. - -
    Variable name for compute chunk/atom does not exist - -
    Self-explanatory. - -
    Variable name for compute reduce does not exist - -
    Self-explanatory. - -
    Variable name for compute ti does not exist - -
    Self-explanatory. - -
    Variable name for create_atoms does not exist - -
    Self-explanatory. - -
    Variable name for dump every does not exist - -
    Self-explanatory. - -
    Variable name for dump image center does not exist - -
    Self-explanatory. - -
    Variable name for dump image persp does not exist - -
    Self-explanatory. - -
    Variable name for dump image phi does not exist - -
    Self-explanatory. - -
    Variable name for dump image theta does not exist - -
    Self-explanatory. - -
    Variable name for dump image zoom does not exist - -
    Self-explanatory. - -
    Variable name for fix adapt does not exist - -
    Self-explanatory. - -
    Variable name for fix addforce does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/atom does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/chunk does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/correlate does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/histo does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/spatial does not exist - -
    Self-explanatory. - -
    Variable name for fix ave/time does not exist - -
    Self-explanatory. - -
    Variable name for fix aveforce does not exist - -
    Self-explanatory. - -
    Variable name for fix deform does not exist - -
    Self-explantory. - -
    Variable name for fix efield does not exist - -
    Self-explanatory. - -
    Variable name for fix gravity does not exist - -
    Self-explanatory. - -
    Variable name for fix heat does not exist - -
    Self-explanatory. - -
    Variable name for fix indent does not exist - -
    Self-explanatory. - -
    Variable name for fix langevin does not exist - -
    Self-explanatory. - -
    Variable name for fix move does not exist - -
    Self-explanatory. - -
    Variable name for fix setforce does not exist - -
    Self-explanatory. - -
    Variable name for fix store/state does not exist - -
    Self-explanatory. - -
    Variable name for fix temp/berendsen does not exist - -
    Self-explanatory. - -
    Variable name for fix temp/csvr does not exist - -
    Self-explanatory. - -
    Variable name for fix temp/rescale does not exist - -
    Self-explanatory. - -
    Variable name for fix vector does not exist - -
    Self-explanatory. - -
    Variable name for fix wall does not exist - -
    Self-explanatory. - -
    Variable name for fix wall/reflect does not exist - -
    Self-explanatory. - -
    Variable name for fix wall/srd does not exist - -
    Self-explanatory. - -
    Variable name for group does not exist - -
    Self-explanatory. - -
    Variable name for group dynamic does not exist - -
    Self-explanatory. - -
    Variable name for region cylinder does not exist - -
    Self-explanatory. - -
    Variable name for region does not exist - -
    Self-explanatory. - -
    Variable name for region sphere does not exist - -
    Self-explanatory. - -
    Variable name for restart does not exist - -
    Self-explanatory. - -
    Variable name for set command does not exist - -
    Self-explanatory. - -
    Variable name for thermo every does not exist - -
    Self-explanatory. - -
    Variable name for velocity set does not exist - -
    Self-explanatory. - -
    Variable name for voronoi radius does not exist - -
    Self-explanatory. - -
    Variable name must be alphanumeric or underscore characters - -
    Self-explanatory. - -
    Variable uses atom property that isn't allocated - -
    Self-explanatory. - -
    Velocity command before simulation box is defined - -
    The velocity command cannot be used before a read_data, read_restart, -or create_box command. - -
    Velocity command with no atoms existing - -
    A velocity command has been used, but no atoms yet exist. - -
    Velocity ramp in z for a 2d problem - -
    Self-explanatory. - -
    Velocity rigid used with non-rigid fix-ID - -
    Self-explanatory. - -
    Velocity temperature ID does calculate a velocity bias - -
    The specified compute must compute a bias for temperature. - -
    Velocity temperature ID does not compute temperature - -
    The compute ID given to the velocity command must compute -temperature. - -
    Verlet/split can only currently be used with comm_style brick - -
    This is a current restriction in LAMMPS. - -
    Verlet/split does not yet support TIP4P - -
    This is a current limitation. - -
    Verlet/split requires 2 partitions - -
    See the -partition command-line switch. - -
    Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim - -
    This is controlled by the processors command. - -
    Verlet/split requires Rspace partition size be multiple of Kspace partition size - -
    This is so there is an equal number of Rspace processors for every -Kspace processor. - -
    Virial was not tallied on needed timestep - -
    You are using a thermo keyword that requires potentials to -have tallied the virial, but they didn't on this timestep. See the -variable doc page for ideas on how to make this work. - -
    Voro++ error: narea and neigh have a different size - -
    This error is returned by the Voro++ library. - -
    Wall defined twice in fix wall command - -
    Self-explanatory. - -
    Wall defined twice in fix wall/reflect command - -
    Self-explanatory. - -
    Wall defined twice in fix wall/srd command - -
    Self-explanatory. - -
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut - -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons. - -
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/long - -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons. - -
    Water H epsilon must be 0.0 for pair style lj/long/tip4p/long - -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons. - -
    World variable count doesn't match # of partitions - -
    A world-style variable must specify a number of values equal to the -number of processor partitions. - -
    Write_data command before simulation box is defined - -
    Self-explanatory. - -
    Write_restart command before simulation box is defined - -
    The write_restart command cannot be used before a read_data, -read_restart, or create_box command. - -
    Writing to MPI-IO filename when MPIIO package is not installed - -
    Self-explanatory. - -
    Zero length rotation vector with displace_atoms - -
    Self-explanatory. - -
    Zero length rotation vector with fix move - -
    Self-explanatory. - -
    Zero-length lattice orient vector - -
    Self-explanatory. - - -
    -

    Warnings: -

    -
    - -
    Adjusting Coulombic cutoff for MSM, new cutoff = %g - -
    The adjust/cutoff command is turned on and the Coulombic cutoff has been -adjusted to match the user-specified accuracy. - -
    Angle atoms missing at step %ld - -
    One or more of 3 atoms needed to compute a particular angle are +it in different ways.
    +
    Two groups cannot be the same in fix spring couple
    +
    Self-explanatory.
    +
    USER-CUDA mode requires CUDA variant of min style
    +
    CUDA mode is enabled, so the min style must include a cuda suffix.
    +
    USER-CUDA mode requires CUDA variant of run style
    +
    CUDA mode is enabled, so the run style must include a cuda suffix.
    +
    USER-CUDA package does not yet support comm_style tiled
    +
    Self-explanatory.
    +
    USER-CUDA package requires a cuda enabled atom_style
    +
    Self-explanatory.
    +
    Unable to initialize accelerator for use
    +
    There was a problem initializing an accelerator for the gpu package
    +
    Unbalanced quotes in input line
    +
    No matching end double quote was found following a leading double +quote.
    +
    Unexpected end of -reorder file
    +
    Self-explanatory.
    +
    Unexpected end of AngleCoeffs section
    +
    Read a blank line.
    +
    Unexpected end of BondCoeffs section
    +
    Read a blank line.
    +
    Unexpected end of DihedralCoeffs section
    +
    Read a blank line.
    +
    Unexpected end of ImproperCoeffs section
    +
    Read a blank line.
    +
    Unexpected end of PairCoeffs section
    +
    Read a blank line.
    +
    Unexpected end of custom file
    +
    Self-explanatory.
    +
    Unexpected end of data file
    +
    LAMMPS hit the end of the data file while attempting to read a +section. Something is wrong with the format of the data file.
    +
    Unexpected end of dump file
    +
    A read operation from the file failed.
    +
    Unexpected end of fix rigid file
    +
    A read operation from the file failed.
    +
    Unexpected end of fix rigid/small file
    +
    A read operation from the file failed.
    +
    Unexpected end of molecule file
    +
    Self-explanatory.
    +
    Unexpected end of neb file
    +
    A read operation from the file failed.
    +
    Units command after simulation box is defined
    +
    The units command cannot be used after a read_data, read_restart, or +create_box command.
    +
    Universe/uloop variable count < # of partitions
    +
    A universe or uloop style variable must specify a number of values >= to the +number of processor partitions.
    +
    Unknown angle style
    +
    The choice of angle style is unknown.
    +
    Unknown atom style
    +
    The choice of atom style is unknown.
    +
    Unknown body style
    +
    The choice of body style is unknown.
    +
    Unknown bond style
    +
    The choice of bond style is unknown.
    +
    Unknown command: %s
    +
    The command is not known to LAMMPS. Check the input script.
    +
    Unknown compute style
    +
    The choice of compute style is unknown.
    +
    Unknown dihedral style
    +
    The choice of dihedral style is unknown.
    +
    Unknown dump reader style
    +
    The choice of dump reader style via the format keyword is unknown.
    +
    Unknown dump style
    +
    The choice of dump style is unknown.
    +
    Unknown error in GPU library
    +
    Self-explanatory.
    +
    Unknown fix style
    +
    The choice of fix style is unknown.
    +
    Unknown identifier in data file: %s
    +
    A section of the data file cannot be read by LAMMPS.
    +
    Unknown improper style
    +
    The choice of improper style is unknown.
    +
    Unknown keyword in thermo_style custom command
    +
    One or more specified keywords are not recognized.
    +
    Unknown kspace style
    +
    The choice of kspace style is unknown.
    +
    Unknown pair style
    +
    The choice of pair style is unknown.
    +
    Unknown pair_modify hybrid sub-style
    +
    The choice of sub-style is unknown.
    +
    Unknown region style
    +
    The choice of region style is unknown.
    +
    Unknown section in molecule file
    +
    Self-explanatory.
    +
    Unknown table style in angle style table
    +
    Self-explanatory.
    +
    Unknown table style in bond style table
    +
    Self-explanatory.
    +
    Unknown table style in pair_style command
    +
    Style of table is invalid for use with pair_style table command.
    +
    Unknown unit_style
    +
    Self-explanatory. Check the input script or data file.
    +
    Unrecognized lattice type in MEAM file 1
    +
    The lattice type in an entry of the MEAM library file is not +valid.
    +
    Unrecognized lattice type in MEAM file 2
    +
    The lattice type in an entry of the MEAM parameter file is not +valid.
    +
    Unrecognized pair style in compute pair command
    +
    Self-explanatory.
    +
    Unrecognized virial argument in pair_style command
    +
    Only two options are supported: LAMMPSvirial and KIMvirial
    +
    Unsupported mixing rule in kspace_style ewald/disp
    +
    Only geometric mixing is supported.
    +
    Unsupported order in kspace_style ewald/disp
    +
    Only 1/r^6 dispersion or dipole terms are supported.
    +
    Unsupported order in kspace_style pppm/disp, pair_style %s
    +
    Only pair styles with 1/r and 1/r^6 dependence are currently supported.
    +
    Using fix nvt/sllod with inconsistent fix deform remap option
    +
    Fix nvt/sllod requires that deforming atoms have a velocity profile +provided by “remap v” as a fix deform option.
    +
    Using fix nvt/sllod with no fix deform defined
    +
    Self-explanatory.
    +
    Using fix srd with inconsistent fix deform remap option
    +
    When shearing the box in an SRD simulation, the remap v option for fix +deform needs to be used.
    +
    Using pair lubricate with inconsistent fix deform remap option
    +
    Must use remap v option with fix deform with this pair style.
    +
    Using pair lubricate/poly with inconsistent fix deform remap option
    +
    If fix deform is used, the remap v option is required.
    +
    Using suffix cuda without USER-CUDA package enabled
    +
    Self-explanatory.
    +
    Using suffix gpu without GPU package installed
    +
    Self-explanatory.
    +
    Using suffix intel without USER-INTEL package installed
    +
    Self-explanatory.
    +
    Using suffix kk without KOKKOS package enabled
    +
    Self-explanatory.
    +
    Using suffix omp without USER-OMP package installed
    +
    Self-explanatory.
    +
    Variable ID in variable formula does not exist
    +
    Self-explanatory.
    +
    Variable atom ID is too large
    +
    Specified ID is larger than the maximum allowed atom ID.
    +
    Variable evaluation before simulation box is defined
    +
    Cannot evaluate a compute or fix or atom-based value in a variable +before the simulation has been setup.
    +
    Variable evaluation in fix wall gave bad value
    +
    The returned value for epsilon or sigma < 0.0.
    +
    Variable evaluation in region gave bad value
    +
    Variable returned a radius < 0.0.
    +
    Variable for compute ti is invalid style
    +
    Self-explanatory.
    +
    Variable for create_atoms is invalid style
    +
    The variables must be equal-style variables.
    +
    Variable for dump every is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for dump image center is invalid style
    +
    Must be an equal-style variable.
    +
    Variable for dump image persp is invalid style
    +
    Must be an equal-style variable.
    +
    Variable for dump image phi is invalid style
    +
    Must be an equal-style variable.
    +
    Variable for dump image theta is invalid style
    +
    Must be an equal-style variable.
    +
    Variable for dump image zoom is invalid style
    +
    Must be an equal-style variable.
    +
    Variable for fix adapt is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix addforce is invalid style
    +
    Self-explanatory.
    +
    Variable for fix aveforce is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix deform is invalid style
    +
    The variable must be an equal-style variable.
    +
    Variable for fix efield is invalid style
    +
    The variable must be an equal- or atom-style variable.
    +
    Variable for fix gravity is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix heat is invalid style
    +
    Only equal-style or atom-style variables can be used.
    +
    Variable for fix indent is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix indent is not equal style
    +
    Only equal-style variables can be used.
    +
    Variable for fix langevin is invalid style
    +
    It must be an equal-style variable.
    +
    Variable for fix move is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix setforce is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix temp/berendsen is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix temp/csvr is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix temp/rescale is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix wall is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix wall/reflect is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for fix wall/srd is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for group dynamic is invalid style
    +
    The variable must be an atom-style variable.
    +
    Variable for group is invalid style
    +
    Only atom-style variables can be used.
    +
    Variable for region cylinder is invalid style
    +
    Only equal-style varaibles are allowed.
    +
    Variable for region is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for region is not equal style
    +
    Self-explanatory.
    +
    Variable for region sphere is invalid style
    +
    Only equal-style varaibles are allowed.
    +
    Variable for restart is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for set command is invalid style
    +
    Only atom-style variables can be used.
    +
    Variable for thermo every is invalid style
    +
    Only equal-style variables can be used.
    +
    Variable for velocity set is invalid style
    +
    Only atom-style variables can be used.
    +
    Variable for voronoi radius is not atom style
    +
    Self-explanatory.
    +
    Variable formula compute array is accessed out-of-range
    +
    Self-explanatory.
    +
    Variable formula compute vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Variable formula fix array is accessed out-of-range
    +
    Self-explanatory.
    +
    Variable formula fix vector is accessed out-of-range
    +
    Self-explanatory.
    +
    Variable has circular dependency
    +
    A circular dependency is when variable “a” in used by variable “b” and +variable “b” is also used by varaible “a”. Circular dependencies with +longer chains of dependence are also not allowed.
    +
    Variable name between brackets must be alphanumeric or underscore characters
    +
    Self-explanatory.
    +
    Variable name for compute chunk/atom does not exist
    +
    Self-explanatory.
    +
    Variable name for compute reduce does not exist
    +
    Self-explanatory.
    +
    Variable name for compute ti does not exist
    +
    Self-explanatory.
    +
    Variable name for create_atoms does not exist
    +
    Self-explanatory.
    +
    Variable name for dump every does not exist
    +
    Self-explanatory.
    +
    Variable name for dump image center does not exist
    +
    Self-explanatory.
    +
    Variable name for dump image persp does not exist
    +
    Self-explanatory.
    +
    Variable name for dump image phi does not exist
    +
    Self-explanatory.
    +
    Variable name for dump image theta does not exist
    +
    Self-explanatory.
    +
    Variable name for dump image zoom does not exist
    +
    Self-explanatory.
    +
    Variable name for fix adapt does not exist
    +
    Self-explanatory.
    +
    Variable name for fix addforce does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/atom does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/chunk does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/correlate does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/histo does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/spatial does not exist
    +
    Self-explanatory.
    +
    Variable name for fix ave/time does not exist
    +
    Self-explanatory.
    +
    Variable name for fix aveforce does not exist
    +
    Self-explanatory.
    +
    Variable name for fix deform does not exist
    +
    Self-explantory.
    +
    Variable name for fix efield does not exist
    +
    Self-explanatory.
    +
    Variable name for fix gravity does not exist
    +
    Self-explanatory.
    +
    Variable name for fix heat does not exist
    +
    Self-explanatory.
    +
    Variable name for fix indent does not exist
    +
    Self-explanatory.
    +
    Variable name for fix langevin does not exist
    +
    Self-explanatory.
    +
    Variable name for fix move does not exist
    +
    Self-explanatory.
    +
    Variable name for fix setforce does not exist
    +
    Self-explanatory.
    +
    Variable name for fix store/state does not exist
    +
    Self-explanatory.
    +
    Variable name for fix temp/berendsen does not exist
    +
    Self-explanatory.
    +
    Variable name for fix temp/csvr does not exist
    +
    Self-explanatory.
    +
    Variable name for fix temp/rescale does not exist
    +
    Self-explanatory.
    +
    Variable name for fix vector does not exist
    +
    Self-explanatory.
    +
    Variable name for fix wall does not exist
    +
    Self-explanatory.
    +
    Variable name for fix wall/reflect does not exist
    +
    Self-explanatory.
    +
    Variable name for fix wall/srd does not exist
    +
    Self-explanatory.
    +
    Variable name for group does not exist
    +
    Self-explanatory.
    +
    Variable name for group dynamic does not exist
    +
    Self-explanatory.
    +
    Variable name for region cylinder does not exist
    +
    Self-explanatory.
    +
    Variable name for region does not exist
    +
    Self-explanatory.
    +
    Variable name for region sphere does not exist
    +
    Self-explanatory.
    +
    Variable name for restart does not exist
    +
    Self-explanatory.
    +
    Variable name for set command does not exist
    +
    Self-explanatory.
    +
    Variable name for thermo every does not exist
    +
    Self-explanatory.
    +
    Variable name for velocity set does not exist
    +
    Self-explanatory.
    +
    Variable name for voronoi radius does not exist
    +
    Self-explanatory.
    +
    Variable name must be alphanumeric or underscore characters
    +
    Self-explanatory.
    +
    Variable uses atom property that isn’t allocated
    +
    Self-explanatory.
    +
    Velocity command before simulation box is defined
    +
    The velocity command cannot be used before a read_data, read_restart, +or create_box command.
    +
    Velocity command with no atoms existing
    +
    A velocity command has been used, but no atoms yet exist.
    +
    Velocity ramp in z for a 2d problem
    +
    Self-explanatory.
    +
    Velocity rigid used with non-rigid fix-ID
    +
    Self-explanatory.
    +
    Velocity temperature ID does calculate a velocity bias
    +
    The specified compute must compute a bias for temperature.
    +
    Velocity temperature ID does not compute temperature
    +
    The compute ID given to the velocity command must compute +temperature.
    +
    Verlet/split can only currently be used with comm_style brick
    +
    This is a current restriction in LAMMPS.
    +
    Verlet/split does not yet support TIP4P
    +
    This is a current limitation.
    +
    Verlet/split requires 2 partitions
    +
    See the -partition command-line switch.
    +
    Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim
    +
    This is controlled by the processors command.
    +
    Verlet/split requires Rspace partition size be multiple of Kspace partition size
    +
    This is so there is an equal number of Rspace processors for every +Kspace processor.
    +
    Virial was not tallied on needed timestep
    +
    You are using a thermo keyword that requires potentials to +have tallied the virial, but they didn’t on this timestep. See the +variable doc page for ideas on how to make this work.
    +
    Voro++ error: narea and neigh have a different size
    +
    This error is returned by the Voro++ library.
    +
    Wall defined twice in fix wall command
    +
    Self-explanatory.
    +
    Wall defined twice in fix wall/reflect command
    +
    Self-explanatory.
    +
    Wall defined twice in fix wall/srd command
    +
    Self-explanatory.
    +
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut
    +
    This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons.
    +
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/long
    +
    This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons.
    +
    Water H epsilon must be 0.0 for pair style lj/long/tip4p/long
    +
    This is because LAMMPS does not compute the Lennard-Jones interactions +with these particles for efficiency reasons.
    +
    World variable count doesn’t match # of partitions
    +
    A world-style variable must specify a number of values equal to the +number of processor partitions.
    +
    Write_data command before simulation box is defined
    +
    Self-explanatory.
    +
    Write_restart command before simulation box is defined
    +
    The write_restart command cannot be used before a read_data, +read_restart, or create_box command.
    +
    Writing to MPI-IO filename when MPIIO package is not installed
    +
    Self-explanatory.
    +
    Zero length rotation vector with displace_atoms
    +
    Self-explanatory.
    +
    Zero length rotation vector with fix move
    +
    Self-explanatory.
    +
    Zero-length lattice orient vector
    +
    Self-explanatory.
    +
    +
    +
    +

    12.5. Warnings:¶

    +
    +
    Adjusting Coulombic cutoff for MSM, new cutoff = %g
    +
    The adjust/cutoff command is turned on and the Coulombic cutoff has been +adjusted to match the user-specified accuracy.
    +
    Angle atoms missing at step %ld
    +
    One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise cutoff is set too short or the angle has blown apart and an atom is -too far away. - -
    Angle style in data file differs from currently defined angle style - -
    Self-explanatory. - -
    Atom style in data file differs from currently defined atom style - -
    Self-explanatory. - -
    Bond atom missing in box size check - -
    The 2nd atoms needed to compute a particular bond is missing on this +too far away.
    +
    Angle style in data file differs from currently defined angle style
    +
    Self-explanatory.
    +
    Atom style in data file differs from currently defined atom style
    +
    Self-explanatory.
    +
    Bond atom missing in box size check
    +
    The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. - -
    Bond atom missing in image check - -
    The 2nd atom in a particular bond is missing on this processor. +short or the bond has blown apart and an atom is too far away.
    +
    Bond atom missing in image check
    +
    The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away. - -
    Bond atoms missing at step %ld - -
    The 2nd atom needed to compute a particular bond is missing on this +bond has blown apart and an atom is too far away.
    +
    Bond atoms missing at step %ld
    +
    The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. - -
    Bond style in data file differs from currently defined bond style - -
    Self-explanatory. - -
    Bond/angle/dihedral extent > half of periodic box length - -
    This is a restriction because LAMMPS can be confused about which image +short or the bond has blown apart and an atom is too far away.
    +
    Bond style in data file differs from currently defined bond style
    +
    Self-explanatory.
    +
    Bond/angle/dihedral extent > half of periodic box length
    +
    This is a restriction because LAMMPS can be confused about which image of an atom in the bonded interaction is the correct one to use. -"Extent" in this context means the maximum end-to-end length of the +“Extent” in this context means the maximum end-to-end length of the bond/angle/dihedral. LAMMPS computes this by taking the maximum bond length, multiplying by the number of bonds in the interaction (e.g. 3 -for a dihedral) and adding a small amount of stretch. - -
    Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero - -
    Self-explantory. - -
    Cannot count rigid body degrees-of-freedom before bodies are fully initialized - -
    This means the temperature associated with the rigid bodies may be -incorrect on this timestep. - -
    Cannot count rigid body degrees-of-freedom before bodies are initialized - -
    This means the temperature associated with the rigid bodies may be -incorrect on this timestep. - -
    Cannot include log terms without 1/r terms; setting flagHI to 1 - -
    Self-explanatory. - -
    Cannot include log terms without 1/r terms; setting flagHI to 1. - -
    Self-explanatory. - -
    Charges are set, but coulombic solver is not used - -
    Self-explanatory. - -
    Charges did not converge at step %ld: %lg - -
    Self-explanatory. - -
    Communication cutoff is too small for SNAP micro load balancing, increased to %lf - -
    Self-explanatory. - -
    Compute cna/atom cutoff may be too large to find ghost atom neighbors - -
    The neighbor cutoff used may not encompass enough ghost atoms -to perform this operation correctly. - -
    Computing temperature of portions of rigid bodies - -
    The group defined by the temperature compute does not encompass all +for a dihedral) and adding a small amount of stretch.
    +
    Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero
    +
    Self-explantory.
    +
    Cannot count rigid body degrees-of-freedom before bodies are fully initialized
    +
    This means the temperature associated with the rigid bodies may be +incorrect on this timestep.
    +
    Cannot count rigid body degrees-of-freedom before bodies are initialized
    +
    This means the temperature associated with the rigid bodies may be +incorrect on this timestep.
    +
    Cannot include log terms without 1/r terms; setting flagHI to 1
    +
    Self-explanatory.
    +
    Cannot include log terms without 1/r terms; setting flagHI to 1.
    +
    Self-explanatory.
    +
    Charges are set, but coulombic solver is not used
    +
    Self-explanatory.
    +
    Charges did not converge at step %ld: %lg
    +
    Self-explanatory.
    +
    Communication cutoff is too small for SNAP micro load balancing, increased to %lf
    +
    Self-explanatory.
    +
    Compute cna/atom cutoff may be too large to find ghost atom neighbors
    +
    The neighbor cutoff used may not encompass enough ghost atoms +to perform this operation correctly.
    +
    Computing temperature of portions of rigid bodies
    +
    The group defined by the temperature compute does not encompass all the atoms in one or more rigid bodies, so the change in degrees-of-freedom for the atoms in those partial rigid bodies will -not be accounted for. - -
    Create_bonds max distance > minimum neighbor cutoff - -
    This means atom pairs for some atom types may not be in the neighbor -list and thus no bond can be created between them. - -
    Delete_atoms cutoff > minimum neighbor cutoff - -
    This means atom pairs for some atom types may not be in the neighbor -list and thus an atom in that pair cannot be deleted. - -
    Dihedral atoms missing at step %ld - -
    One or more of 4 atoms needed to compute a particular dihedral are +not be accounted for.
    +
    Create_bonds max distance > minimum neighbor cutoff
    +
    This means atom pairs for some atom types may not be in the neighbor +list and thus no bond can be created between them.
    +
    Delete_atoms cutoff > minimum neighbor cutoff
    +
    This means atom pairs for some atom types may not be in the neighbor +list and thus an atom in that pair cannot be deleted.
    +
    Dihedral atoms missing at step %ld
    +
    One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise cutoff is set too short or the dihedral has blown apart and an atom is -too far away. - -
    Dihedral problem - -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. - -
    Dihedral problem: %d %ld %d %d %d %d - -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. - -
    Dihedral style in data file differs from currently defined dihedral style - -
    Self-explanatory. - -
    Dump dcd/xtc timestamp may be wrong with fix dt/reset - -
    If the fix changes the timestep, the dump dcd file will not -reflect the change. - -
    Estimated error in splitting of dispersion coeffs is %g - -
    Error is greater than 0.0001 percent. - -
    Ewald/disp Newton solver failed, using old method to estimate g_ewald - -
    Self-explanatory. Choosing a different cutoff value may help. - -
    FENE bond too long - -
    A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. - -
    FENE bond too long: %ld %d %d %g - -
    A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. - -
    FENE bond too long: %ld %g - -
    A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. - -
    Fix SRD walls overlap but fix srd overlap not set - -
    You likely want to set this in your input script. - -
    Fix bond/swap will ignore defined angles - -
    See the doc page for fix bond/swap for more info on this -restriction. - -
    Fix evaporate may delete atom with non-zero molecule ID - -
    This is probably an error, since you should not delete only one atom -of a molecule. - -
    Fix gcmc using full_energy option - -
    Fix gcmc has automatically turned on the full_energy option since it +too far away.
    +
    Dihedral problem
    +
    Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry.
    +
    Dihedral problem: %d %ld %d %d %d %d
    +
    Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry.
    +
    Dihedral style in data file differs from currently defined dihedral style
    +
    Self-explanatory.
    +
    Dump dcd/xtc timestamp may be wrong with fix dt/reset
    +
    If the fix changes the timestep, the dump dcd file will not +reflect the change.
    +
    Estimated error in splitting of dispersion coeffs is %g
    +
    Error is greater than 0.0001 percent.
    +
    Ewald/disp Newton solver failed, using old method to estimate g_ewald
    +
    Self-explanatory. Choosing a different cutoff value may help.
    +
    FENE bond too long
    +
    A FENE bond has stretched dangerously far. It’s interaction strength +will be truncated to attempt to prevent the bond from blowing up.
    +
    FENE bond too long: %ld %d %d %g
    +
    A FENE bond has stretched dangerously far. It’s interaction strength +will be truncated to attempt to prevent the bond from blowing up.
    +
    FENE bond too long: %ld %g
    +
    A FENE bond has stretched dangerously far. It’s interaction strength +will be truncated to attempt to prevent the bond from blowing up.
    +
    Fix SRD walls overlap but fix srd overlap not set
    +
    You likely want to set this in your input script.
    +
    Fix bond/swap will ignore defined angles
    +
    See the doc page for fix bond/swap for more info on this +restriction.
    +
    Fix evaporate may delete atom with non-zero molecule ID
    +
    This is probably an error, since you should not delete only one atom +of a molecule.
    +
    Fix gcmc using full_energy option
    +
    Fix gcmc has automatically turned on the full_energy option since it is required for systems like the one specified by the user. User input included one or more of the following: kspace, triclinic, a hybrid -pair style, an eam pair style, or no "single" function for the pair -style. - -
    Fix move does not update angular momentum - -
    Atoms store this quantity, but fix move does not (yet) update it. - -
    Fix move does not update quaternions - -
    Atoms store this quantity, but fix move does not (yet) update it. - -
    Fix qeq CG convergence failed (%g) after %d iterations at %ld step - -
    Self-explanatory. - -
    Fix qeq has non-zero lower Taper radius cutoff - -
    Absolute value must be <= 0.01. - -
    Fix qeq has very low Taper radius cutoff - -
    Value should typically be >= 5.0. - -
    Fix qeq/dynamic tolerance may be too small for damped dynamics - -
    Self-explanatory. - -
    Fix rattle should come after all other integration fixes - -
    This fix is designed to work after all other integration fixes change +pair style, an eam pair style, or no “single” function for the pair +style.
    +
    Fix move does not update angular momentum
    +
    Atoms store this quantity, but fix move does not (yet) update it.
    +
    Fix move does not update quaternions
    +
    Atoms store this quantity, but fix move does not (yet) update it.
    +
    Fix qeq CG convergence failed (%g) after %d iterations at %ld step
    +
    Self-explanatory.
    +
    Fix qeq has non-zero lower Taper radius cutoff
    +
    Absolute value must be <= 0.01.
    +
    Fix qeq has very low Taper radius cutoff
    +
    Value should typically be >= 5.0.
    +
    Fix qeq/dynamic tolerance may be too small for damped dynamics
    +
    Self-explanatory.
    +
    Fix rattle should come after all other integration fixes
    +
    This fix is designed to work after all other integration fixes change atom positions. Thus it should be the last integration fix specified. If not, it will not satisfy the desired constraints as well as it -otherwise would. - -
    Fix recenter should come after all other integration fixes - -
    Other fixes may change the position of the center-of-mass, so -fix recenter should come last. - -
    Fix srd SRD moves may trigger frequent reneighboring - -
    This is because the SRD particles may move long distances. - -
    Fix srd grid size > 1/4 of big particle diameter - -
    This may cause accuracy problems. - -
    Fix srd particle moved outside valid domain - -
    This may indicate a problem with your simulation parameters. - -
    Fix srd particles may move > big particle diameter - -
    This may cause accuracy problems. - -
    Fix srd viscosity < 0.0 due to low SRD density - -
    This may cause accuracy problems. - -
    Fix thermal/conductivity comes before fix ave/spatial - -
    The order of these 2 fixes in your input script is such that fix +otherwise would.
    +
    Fix recenter should come after all other integration fixes
    +
    Other fixes may change the position of the center-of-mass, so +fix recenter should come last.
    +
    Fix srd SRD moves may trigger frequent reneighboring
    +
    This is because the SRD particles may move long distances.
    +
    Fix srd grid size > 1/4 of big particle diameter
    +
    This may cause accuracy problems.
    +
    Fix srd particle moved outside valid domain
    +
    This may indicate a problem with your simulation parameters.
    +
    Fix srd particles may move > big particle diameter
    +
    This may cause accuracy problems.
    +
    Fix srd viscosity < 0.0 due to low SRD density
    +
    This may cause accuracy problems.
    +
    Fix thermal/conductivity comes before fix ave/spatial
    +
    The order of these 2 fixes in your input script is such that fix thermal/conductivity comes first. If you are using fix ave/spatial to measure the temperature profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order of the 2 fixes -typically helps. - -
    Fix viscosity comes before fix ave/spatial - -
    The order of these 2 fixes in your input script is such that +typically helps.
    +
    Fix viscosity comes before fix ave/spatial
    +
    The order of these 2 fixes in your input script is such that fix viscosity comes first. If you are using fix ave/spatial to measure the velocity profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order -of the 2 fixes typically helps. - -
    Fixes cannot send data in Kokkos communication, switching to classic communication - -
    This is current restriction with Kokkos. - -
    For better accuracy use 'pair_modify table 0' - -
    The user-specified force accuracy cannot be achieved unless the table -feature is disabled by using 'pair_modify table 0'. - -
    Geometric mixing assumed for 1/r^6 coefficients - -
    Self-explanatory. - -
    Group for fix_modify temp != fix group - -
    The fix_modify command is specifying a temperature computation that +of the 2 fixes typically helps.
    +
    Fixes cannot send data in Kokkos communication, switching to classic communication
    +
    This is current restriction with Kokkos.
    +
    For better accuracy use ‘pair_modify table 0’
    +
    The user-specified force accuracy cannot be achieved unless the table +feature is disabled by using ‘pair_modify table 0’.
    +
    Geometric mixing assumed for 1/r^6 coefficients
    +
    Self-explanatory.
    +
    Group for fix_modify temp != fix group
    +
    The fix_modify command is specifying a temperature computation that computes a temperature on a different group of atoms than the fix -itself operates on. This is probably not what you want to do. - -
    H matrix size has been exceeded: m_fill=%d H.m=%d\n - -
    This is the size of the matrix. - -
    Improper atoms missing at step %ld - -
    One or more of 4 atoms needed to compute a particular improper are +itself operates on. This is probably not what you want to do.
    +
    H matrix size has been exceeded: m_fill=%d H.m=%dn
    +
    This is the size of the matrix.
    +
    Improper atoms missing at step %ld
    +
    One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise cutoff is set too short or the improper has blown apart and an atom is -too far away. - -
    Improper problem: %d %ld %d %d %d %d - -
    Conformation of the 4 listed improper atoms is extreme; you may want -to check your simulation geometry. - -
    Improper style in data file differs from currently defined improper style - -
    Self-explanatory. - -
    Inconsistent image flags - -
    The image flags for a pair on bonded atoms appear to be inconsistent. +too far away.
    +
    Improper problem: %d %ld %d %d %d %d
    +
    Conformation of the 4 listed improper atoms is extreme; you may want +to check your simulation geometry.
    +
    Improper style in data file differs from currently defined improper style
    +
    Self-explanatory.
    +
    Inconsistent image flags
    +
    The image flags for a pair on bonded atoms appear to be inconsistent. Inconsistent means that when the coordinates of the two atoms are unwrapped using the image flags, the two atoms are far apart. Specifically they are further apart than half a periodic box length. @@ -10636,533 +5986,393 @@ flags for the 2 atoms in a bond that straddles a periodic boundary. They should be different by 1 in that case. This is a warning because inconsistent image flags will not cause problems for dynamics or most LAMMPS simulations. However they can cause problems when such atoms -are used with the fix rigid or replicate commands. - -
    KIM Model does not provide `energy'; Potential energy will be zero - -
    Self-explanatory. - -
    KIM Model does not provide `forces'; Forces will be zero - -
    Self-explanatory. - -
    KIM Model does not provide `particleEnergy'; energy per atom will be zero - -
    Self-explanatory. - -
    KIM Model does not provide `particleVirial'; virial per atom will be zero - -
    Self-explanatory. - -
    Kspace_modify slab param < 2.0 may cause unphysical behavior - -
    The kspace_modify slab parameter should be larger to insure periodic -grids padded with empty space do not overlap. - -
    Less insertions than requested - -
    The fix pour command was unsuccessful at finding open space -for as many particles as it tried to insert. - -
    Library error in lammps_gather_atoms - -
    This library function cannot be used if atom IDs are not defined -or are not consecutively numbered. - -
    Library error in lammps_scatter_atoms - -
    This library function cannot be used if atom IDs are not defined or +are used with the fix rigid or replicate commands.
    +
    KIM Model does not provide `energy’; Potential energy will be zero
    +
    Self-explanatory.
    +
    KIM Model does not provide `forces’; Forces will be zero
    +
    Self-explanatory.
    +
    KIM Model does not provide `particleEnergy’; energy per atom will be zero
    +
    Self-explanatory.
    +
    KIM Model does not provide `particleVirial’; virial per atom will be zero
    +
    Self-explanatory.
    +
    Kspace_modify slab param < 2.0 may cause unphysical behavior
    +
    The kspace_modify slab parameter should be larger to insure periodic +grids padded with empty space do not overlap.
    +
    Less insertions than requested
    +
    The fix pour command was unsuccessful at finding open space +for as many particles as it tried to insert.
    +
    Library error in lammps_gather_atoms
    +
    This library function cannot be used if atom IDs are not defined +or are not consecutively numbered.
    +
    Library error in lammps_scatter_atoms
    +
    This library function cannot be used if atom IDs are not defined or are not consecutively numbered, or if no atom map is defined. See the -atom_modify command for details about atom maps. - -
    Lost atoms via change_box: original %ld current %ld - -
    The command options you have used caused atoms to be lost. - -
    Lost atoms via displace_atoms: original %ld current %ld - -
    The command options you have used caused atoms to be lost. - -
    Lost atoms: original %ld current %ld - -
    Lost atoms are checked for each time thermo output is done. See the +atom_modify command for details about atom maps.
    +
    Lost atoms via change_box: original %ld current %ld
    +
    The command options you have used caused atoms to be lost.
    +
    Lost atoms via displace_atoms: original %ld current %ld
    +
    The command options you have used caused atoms to be lost.
    +
    Lost atoms: original %ld current %ld
    +
    Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor's sub-domain away before -reneighboring. - -
    MSM mesh too small, increasing to 2 points in each direction - -
    Self-explanatory. - -
    Mismatch between velocity and compute groups - -
    The temperature computation used by the velocity command will not be -on the same group of atoms that velocities are being set for. - -
    Mixing forced for lj coefficients - -
    Self-explanatory. - -
    Molecule attributes do not match system attributes - -
    An attribute is specified (e.g. diameter, charge) that is -not defined for the specified atom style. - -
    Molecule has bond topology but no special bond settings - -
    This means the bonded atoms will not be excluded in pair-wise -interactions. - -
    Molecule template for create_atoms has multiple molecules - -
    The create_atoms command will only create molecules of a single type, -i.e. the first molecule in the template. - -
    Molecule template for fix gcmc has multiple molecules - -
    The fix gcmc command will only create molecules of a single type, -i.e. the first molecule in the template. - -
    Molecule template for fix shake has multiple molecules - -
    The fix shake command will only recoginze molecules of a single -type, i.e. the first molecule in the template. - -
    More than one compute centro/atom - -
    It is not efficient to use compute centro/atom more than once. - -
    More than one compute cluster/atom - -
    It is not efficient to use compute cluster/atom more than once. - -
    More than one compute cna/atom defined - -
    It is not efficient to use compute cna/atom more than once. - -
    More than one compute contact/atom - -
    It is not efficient to use compute contact/atom more than once. - -
    More than one compute coord/atom - -
    It is not efficient to use compute coord/atom more than once. - -
    More than one compute damage/atom - -
    It is not efficient to use compute ke/atom more than once. - -
    More than one compute dilatation/atom - -
    Self-explanatory. - -
    More than one compute erotate/sphere/atom - -
    It is not efficient to use compute erorate/sphere/atom more than once. - -
    More than one compute ke/atom - -
    It is not efficient to use compute ke/atom more than once. - -
    More than one compute plasticity/atom - -
    Self-explanatory. - -
    More than one compute sna/atom - -
    Self-explanatory. - -
    More than one compute snad/atom - -
    Self-explanatory. - -
    More than one compute snav/atom - -
    Self-explanatory. - -
    More than one fix poems - -
    It is not efficient to use fix poems more than once. - -
    More than one fix rigid - -
    It is not efficient to use fix rigid more than once. - -
    Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies - -
    This is because excluding specific pair interactions also excludes +box, or moved futher than one processor’s sub-domain away before +reneighboring.
    +
    MSM mesh too small, increasing to 2 points in each direction
    +
    Self-explanatory.
    +
    Mismatch between velocity and compute groups
    +
    The temperature computation used by the velocity command will not be +on the same group of atoms that velocities are being set for.
    +
    Mixing forced for lj coefficients
    +
    Self-explanatory.
    +
    Molecule attributes do not match system attributes
    +
    An attribute is specified (e.g. diameter, charge) that is +not defined for the specified atom style.
    +
    Molecule has bond topology but no special bond settings
    +
    This means the bonded atoms will not be excluded in pair-wise +interactions.
    +
    Molecule template for create_atoms has multiple molecules
    +
    The create_atoms command will only create molecules of a single type, +i.e. the first molecule in the template.
    +
    Molecule template for fix gcmc has multiple molecules
    +
    The fix gcmc command will only create molecules of a single type, +i.e. the first molecule in the template.
    +
    Molecule template for fix shake has multiple molecules
    +
    The fix shake command will only recoginze molecules of a single +type, i.e. the first molecule in the template.
    +
    More than one compute centro/atom
    +
    It is not efficient to use compute centro/atom more than once.
    +
    More than one compute cluster/atom
    +
    It is not efficient to use compute cluster/atom more than once.
    +
    More than one compute cna/atom defined
    +
    It is not efficient to use compute cna/atom more than once.
    +
    More than one compute contact/atom
    +
    It is not efficient to use compute contact/atom more than once.
    +
    More than one compute coord/atom
    +
    It is not efficient to use compute coord/atom more than once.
    +
    More than one compute damage/atom
    +
    It is not efficient to use compute ke/atom more than once.
    +
    More than one compute dilatation/atom
    +
    Self-explanatory.
    +
    More than one compute erotate/sphere/atom
    +
    It is not efficient to use compute erorate/sphere/atom more than once.
    +
    More than one compute ke/atom
    +
    It is not efficient to use compute ke/atom more than once.
    +
    More than one compute plasticity/atom
    +
    Self-explanatory.
    +
    More than one compute sna/atom
    +
    Self-explanatory.
    +
    More than one compute snad/atom
    +
    Self-explanatory.
    +
    More than one compute snav/atom
    +
    Self-explanatory.
    +
    More than one fix poems
    +
    It is not efficient to use fix poems more than once.
    +
    More than one fix rigid
    +
    It is not efficient to use fix rigid more than once.
    +
    Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies
    +
    This is because excluding specific pair interactions also excludes them from long-range interactions which may not be the desired effect. The special_bonds command handles this consistently by insuring excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated consistently by both the short-range pair style and the long-range solver. This is not done for exclusions of charged atom pairs via the -neigh_modify exclude command. - -
    New thermo_style command, previous thermo_modify settings will be lost - -
    If a thermo_style command is used after a thermo_modify command, the +neigh_modify exclude command.
    +
    New thermo_style command, previous thermo_modify settings will be lost
    +
    If a thermo_style command is used after a thermo_modify command, the settings changed by the thermo_modify command will be reset to their default values. This is because the thermo_modify commmand acts on the currently defined thermo style, and a thermo_style command creates -a new style. - -
    No Kspace calculation with verlet/split - -
    The 2nd partition performs a kspace calculation so the kspace_style -command must be used. - -
    No automatic unit conversion to XTC file format conventions possible for units lj - -
    This means no scaling will be performed. - -
    No fixes defined, atoms won't move - -
    If you are not using a fix like nve, nvt, npt then atom velocities and -coordinates will not be updated during timestepping. - -
    No joints between rigid bodies, use fix rigid instead - -
    The bodies defined by fix poems are not connected by joints. POEMS +a new style.
    +
    No Kspace calculation with verlet/split
    +
    The 2nd partition performs a kspace calculation so the kspace_style +command must be used.
    +
    No automatic unit conversion to XTC file format conventions possible for units lj
    +
    This means no scaling will be performed.
    +
    No fixes defined, atoms won’t move
    +
    If you are not using a fix like nve, nvt, npt then atom velocities and +coordinates will not be updated during timestepping.
    +
    No joints between rigid bodies, use fix rigid instead
    +
    The bodies defined by fix poems are not connected by joints. POEMS will integrate the body motion, but it would be more efficient to use -fix rigid. - -
    Not using real units with pair reax - -
    This is most likely an error, unless you have created your own ReaxFF -parameter file in a different set of units. - -
    Number of MSM mesh points changed to be a multiple of 2 - -
    MSM requires that the number of grid points in each direction be a multiple +fix rigid.
    +
    Not using real units with pair reax
    +
    This is most likely an error, unless you have created your own ReaxFF +parameter file in a different set of units.
    +
    Number of MSM mesh points changed to be a multiple of 2
    +
    MSM requires that the number of grid points in each direction be a multiple of two and the number of grid points in one or more directions have been -adjusted to meet this requirement. - -
    OMP_NUM_THREADS environment is not set. - -
    This environment variable must be set appropriately to use the -USER-OMP pacakge. - -
    One or more atoms are time integrated more than once - -
    This is probably an error since you typically do not want to +adjusted to meet this requirement.
    +
    OMP_NUM_THREADS environment is not set.
    +
    This environment variable must be set appropriately to use the +USER-OMP pacakge.
    +
    One or more atoms are time integrated more than once
    +
    This is probably an error since you typically do not want to advance the positions or velocities of an atom more than once -per timestep. - -
    One or more chunks do not contain all atoms in molecule - -
    This may not be what you intended. - -
    One or more dynamic groups may not be updated at correct point in timestep - -
    If there are other fixes that act immediately after the intitial stage +per timestep.
    +
    One or more chunks do not contain all atoms in molecule
    +
    This may not be what you intended.
    +
    One or more dynamic groups may not be updated at correct point in timestep
    +
    If there are other fixes that act immediately after the intitial stage of time integration within a timestep (i.e. after atoms move), then the command that sets up the dynamic group should appear after those fixes. This will insure that dynamic group assignements are made -after all atoms have moved. - -
    One or more respa levels compute no forces - -
    This is computationally inefficient. - -
    Pair COMB charge %.10f with force %.10f hit max barrier - -
    Something is possibly wrong with your model. - -
    Pair COMB charge %.10f with force %.10f hit min barrier - -
    Something is possibly wrong with your model. - -
    Pair brownian needs newton pair on for momentum conservation - -
    Self-explanatory. - -
    Pair dpd needs newton pair on for momentum conservation - -
    Self-explanatory. - -
    Pair dsmc: num_of_collisions > number_of_A - -
    Collision model in DSMC is breaking down. - -
    Pair dsmc: num_of_collisions > number_of_B - -
    Collision model in DSMC is breaking down. - -
    Pair style in data file differs from currently defined pair style - -
    Self-explanatory. - -
    Particle deposition was unsuccessful - -
    The fix deposit command was not able to insert as many atoms as +after all atoms have moved.
    +
    One or more respa levels compute no forces
    +
    This is computationally inefficient.
    +
    Pair COMB charge %.10f with force %.10f hit max barrier
    +
    Something is possibly wrong with your model.
    +
    Pair COMB charge %.10f with force %.10f hit min barrier
    +
    Something is possibly wrong with your model.
    +
    Pair brownian needs newton pair on for momentum conservation
    +
    Self-explanatory.
    +
    Pair dpd needs newton pair on for momentum conservation
    +
    Self-explanatory.
    +
    Pair dsmc: num_of_collisions > number_of_A
    +
    Collision model in DSMC is breaking down.
    +
    Pair dsmc: num_of_collisions > number_of_B
    +
    Collision model in DSMC is breaking down.
    +
    Pair style in data file differs from currently defined pair style
    +
    Self-explanatory.
    +
    Particle deposition was unsuccessful
    +
    The fix deposit command was not able to insert as many atoms as needed. The requested volume fraction may be too high, or other atoms -may be in the insertion region. - -
    Proc sub-domain size < neighbor skin, could lead to lost atoms - -
    The decomposition of the physical domain (likely due to load -balancing) has led to a processor's sub-domain being smaller than the +may be in the insertion region.
    +
    Proc sub-domain size < neighbor skin, could lead to lost atoms
    +
    The decomposition of the physical domain (likely due to load +balancing) has led to a processor’s sub-domain being smaller than the neighbor skin in one or more dimensions. Since reneighboring is triggered by atoms moving the skin distance, this may lead to lost -atoms, if an atom moves all the way across a neighboring processor's -sub-domain before reneighboring is triggered. - -
    Reducing PPPM order b/c stencil extends beyond nearest neighbor processor - -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. - -
    Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor - -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. - -
    Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor - -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. - -
    Replacing a fix, but new group != old group - -
    The ID and style of a fix match for a fix you are changing with a fix +atoms, if an atom moves all the way across a neighboring processor’s +sub-domain before reneighboring is triggered.
    +
    Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
    +
    This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order.
    +
    Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor
    +
    This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order.
    +
    Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor
    +
    This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order.
    +
    Replacing a fix, but new group != old group
    +
    The ID and style of a fix match for a fix you are changing with a fix command, but the new group you are specifying does not match the old -group. - -
    Replicating in a non-periodic dimension - -
    The parameters for a replicate command will cause a non-periodic -dimension to be replicated; this may cause unwanted behavior. - -
    Resetting reneighboring criteria during PRD - -
    A PRD simulation requires that neigh_modify settings be delay = 0, +group.
    +
    Replicating in a non-periodic dimension
    +
    The parameters for a replicate command will cause a non-periodic +dimension to be replicated; this may cause unwanted behavior.
    +
    Resetting reneighboring criteria during PRD
    +
    A PRD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values -after the PRD simulation. - -
    Resetting reneighboring criteria during TAD - -
    A TAD simulation requires that neigh_modify settings be delay = 0, +after the PRD simulation.
    +
    Resetting reneighboring criteria during TAD
    +
    A TAD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values -after the PRD simulation. - -
    Resetting reneighboring criteria during minimization - -
    Minimization requires that neigh_modify settings be delay = 0, every = +after the PRD simulation.
    +
    Resetting reneighboring criteria during minimization
    +
    Minimization requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the -minimization. - -
    Restart file used different # of processors - -
    The restart file was written out by a LAMMPS simulation running on a +minimization.
    +
    Restart file used different # of processors
    +
    The restart file was written out by a LAMMPS simulation running on a different number of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors. - -
    Restart file used different 3d processor grid - -
    The restart file was written out by a LAMMPS simulation running on a +you ran on the same # of processors.
    +
    Restart file used different 3d processor grid
    +
    The restart file was written out by a LAMMPS simulation running on a different 3d grid of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors. - -
    Restart file used different boundary settings, using restart file values - -
    Your input script cannot change these restart file settings. - -
    Restart file used different newton bond setting, using restart file value - -
    The restart file value will override the setting in the input script. - -
    Restart file used different newton pair setting, using input script value - -
    The input script value will override the setting in the restart file. - -
    Restrain problem: %d %ld %d %d %d %d - -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. - -
    Running PRD with only one replica - -
    This is allowed, but you will get no parallel speed-up. - -
    SRD bin shifting turned on due to small lamda - -
    This is done to try to preserve accuracy. - -
    SRD bin size for fix srd differs from user request - -
    Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning. - -
    SRD bins for fix srd are not cubic enough - -
    The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning. - -
    SRD particle %d started inside big particle %d on step %ld bounce %d - -
    See the inside keyword if you want this message to be an error vs -warning. - -
    SRD particle %d started inside wall %d on step %ld bounce %d - -
    See the inside keyword if you want this message to be an error vs -warning. - -
    Shake determinant < 0.0 - -
    The determinant of the quadratic equation being solved for a single +you ran on the same # of processors.
    +
    Restart file used different boundary settings, using restart file values
    +
    Your input script cannot change these restart file settings.
    +
    Restart file used different newton bond setting, using restart file value
    +
    The restart file value will override the setting in the input script.
    +
    Restart file used different newton pair setting, using input script value
    +
    The input script value will override the setting in the restart file.
    +
    Restrain problem: %d %ld %d %d %d %d
    +
    Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry.
    +
    Running PRD with only one replica
    +
    This is allowed, but you will get no parallel speed-up.
    +
    SRD bin shifting turned on due to small lamda
    +
    This is done to try to preserve accuracy.
    +
    SRD bin size for fix srd differs from user request
    +
    Fix SRD had to adjust the bin size to fit the simulation box. See the +cubic keyword if you want this message to be an error vs warning.
    +
    SRD bins for fix srd are not cubic enough
    +
    The bin shape is not within tolerance of cubic. See the cubic +keyword if you want this message to be an error vs warning.
    +
    SRD particle %d started inside big particle %d on step %ld bounce %d
    +
    See the inside keyword if you want this message to be an error vs +warning.
    +
    SRD particle %d started inside wall %d on step %ld bounce %d
    +
    See the inside keyword if you want this message to be an error vs +warning.
    +
    Shake determinant < 0.0
    +
    The determinant of the quadratic equation being solved for a single cluster specified by the fix shake command is numerically suspect. LAMMPS -will set it to 0.0 and continue. - -
    Should not allow rigid bodies to bounce off relecting walls - -
    LAMMPS allows this, but their dynamics are not computed correctly. - -
    Should not use fix nve/limit with fix shake - -
    This will lead to invalid constraint forces in the SHAKE computation. - -
    Simulations might be very slow because of large number of structure factors - -
    Self-explanatory. - -
    Slab correction not needed for MSM - -
    Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM. - -
    System is not charge neutral, net charge = %g - -
    The total charge on all atoms on the system is not 0.0, which -is not valid for the long-range Coulombic solvers. - -
    Table inner cutoff >= outer cutoff - -
    You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted. - -
    Temperature for MSST is not for group all - -
    User-assigned temperature to MSST fix does not compute temperature for +will set it to 0.0 and continue.
    +
    Should not allow rigid bodies to bounce off relecting walls
    +
    LAMMPS allows this, but their dynamics are not computed correctly.
    +
    Should not use fix nve/limit with fix shake
    +
    This will lead to invalid constraint forces in the SHAKE computation.
    +
    Simulations might be very slow because of large number of structure factors
    +
    Self-explanatory.
    +
    Slab correction not needed for MSM
    +
    Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM.
    +
    System is not charge neutral, net charge = %g
    +
    The total charge on all atoms on the system is not 0.0, which +is not valid for the long-range Coulombic solvers.
    +
    Table inner cutoff >= outer cutoff
    +
    You specified an inner cutoff for a Coulombic table that is longer +than the global cutoff. Probably not what you wanted.
    +
    Temperature for MSST is not for group all
    +
    User-assigned temperature to MSST fix does not compute temperature for all atoms. Since MSST computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by MSST could be inaccurate. - -
    Temperature for NPT is not for group all - -
    User-assigned temperature to NPT fix does not compute temperature for +Thus the pressure used by MSST could be inaccurate.
    +
    Temperature for NPT is not for group all
    +
    User-assigned temperature to NPT fix does not compute temperature for all atoms. Since NPT computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by NPT could be inaccurate. - -
    Temperature for fix modify is not for group all - -
    The temperature compute is being used with a pressure calculation -which does operate on group all, so this may be inconsistent. - -
    Temperature for thermo pressure is not for group all - -
    User-assigned temperature to thermo via the thermo_modify command does +Thus the pressure used by NPT could be inaccurate.
    +
    Temperature for fix modify is not for group all
    +
    The temperature compute is being used with a pressure calculation +which does operate on group all, so this may be inconsistent.
    +
    Temperature for thermo pressure is not for group all
    +
    User-assigned temperature to thermo via the thermo_modify command does not compute temperature for all atoms. Since thermo computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure printed by thermo -could be inaccurate. - -
    The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands -- fix ave/spatial will be removed in the summer of 2015 - -
    Self-explanatory. - -
    The minimizer does not re-orient dipoles when using fix efield - -
    This means that only the atom coordinates will be minimized, -not the orientation of the dipoles. - -
    Too many common neighbors in CNA %d times - -
    More than the maximum # of neighbors was found multiple times. This -was unexpected. - -
    Too many inner timesteps in fix ttm - -
    Self-explanatory. - -
    Too many neighbors in CNA for %d atoms - -
    More than the maximum # of neighbors was found multiple times. This -was unexpected. - -
    Triclinic box skew is large - -
    The displacement in a skewed direction is normally required to be less +could be inaccurate.
    +
    The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands – fix ave/spatial will be removed in the summer of 2015
    +
    Self-explanatory.
    +
    The minimizer does not re-orient dipoles when using fix efield
    +
    This means that only the atom coordinates will be minimized, +not the orientation of the dipoles.
    +
    Too many common neighbors in CNA %d times
    +
    More than the maximum # of neighbors was found multiple times. This +was unexpected.
    +
    Too many inner timesteps in fix ttm
    +
    Self-explanatory.
    +
    Too many neighbors in CNA for %d atoms
    +
    More than the maximum # of neighbors was found multiple times. This +was unexpected.
    +
    Triclinic box skew is large
    +
    The displacement in a skewed direction is normally required to be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. You have relaxed the constraint using the box tilt command, but the warning means that a -LAMMPS simulation may be inefficient as a result. - -
    Use special bonds = 0,1,1 with bond style fene - -
    Most FENE models need this setting for the special_bonds command. - -
    Use special bonds = 0,1,1 with bond style fene/expand - -
    Most FENE models need this setting for the special_bonds command. - -
    Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions - -
    This is likely not what you want to do. The exclusion settings will +LAMMPS simulation may be inefficient as a result.
    +
    Use special bonds = 0,1,1 with bond style fene
    +
    Most FENE models need this setting for the special_bonds command.
    +
    Use special bonds = 0,1,1 with bond style fene/expand
    +
    Most FENE models need this setting for the special_bonds command.
    +
    Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions
    +
    This is likely not what you want to do. The exclusion settings will eliminate neighbors in the neighbor list, which the manybody potential -needs to calculated its terms correctly. - -
    Using compute temp/deform with inconsistent fix deform remap option - -
    Fix nvt/sllod assumes deforming atoms have a velocity profile provided -by "remap v" or "remap none" as a fix deform option. - -
    Using compute temp/deform with no fix deform defined - -
    This is probably an error, since it makes little sense to use -compute temp/deform in this case. - -
    Using fix srd with box deformation but no SRD thermostat - -
    The deformation will heat the SRD particles so this can -be dangerous. - -
    Using kspace solver on system with no charge - -
    Self-explanatory. - -
    Using largest cut-off for lj/long/dipole/long long long - -
    Self-explanatory. - -
    Using largest cutoff for buck/long/coul/long - -
    Self-exlanatory. - -
    Using largest cutoff for lj/long/coul/long - -
    Self-explanatory. - -
    Using largest cutoff for pair_style lj/long/tip4p/long - -
    Self-explanatory. - -
    Using package gpu without any pair style defined - -
    Self-explanatory. - -
    Using pair tail corrections with nonperiodic system - -
    This is probably a bogus thing to do, since tail corrections are +needs to calculated its terms correctly.
    +
    Using compute temp/deform with inconsistent fix deform remap option
    +
    Fix nvt/sllod assumes deforming atoms have a velocity profile provided +by “remap v” or “remap none” as a fix deform option.
    +
    Using compute temp/deform with no fix deform defined
    +
    This is probably an error, since it makes little sense to use +compute temp/deform in this case.
    +
    Using fix srd with box deformation but no SRD thermostat
    +
    The deformation will heat the SRD particles so this can +be dangerous.
    +
    Using kspace solver on system with no charge
    +
    Self-explanatory.
    +
    Using largest cut-off for lj/long/dipole/long long long
    +
    Self-explanatory.
    +
    Using largest cutoff for buck/long/coul/long
    +
    Self-exlanatory.
    +
    Using largest cutoff for lj/long/coul/long
    +
    Self-explanatory.
    +
    Using largest cutoff for pair_style lj/long/tip4p/long
    +
    Self-explanatory.
    +
    Using package gpu without any pair style defined
    +
    Self-explanatory.
    +
    Using pair tail corrections with nonperiodic system
    +
    This is probably a bogus thing to do, since tail corrections are computed by integrating the density of a periodic system out to -infinity. +infinity.
    +
    +
    +
    - - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_example.html b/doc/Section_example.html index bd55e602f8..ee24428325 100644 --- a/doc/Section_example.html +++ b/doc/Section_example.html @@ -1,17 +1,143 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 7. Example problems — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    7. Example problems -

    -

    The LAMMPS distribution includes an examples sub-directory with + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    7. Example problems¶

    +

    The LAMMPS distribution includes an examples sub-directory with several sample problems. Each problem is in a sub-directory of its own. Most are 2d models so that they run quickly, requiring at most a couple of minutes to run on a desktop machine. Each problem has an @@ -20,107 +146,252 @@ input script (in.*) and produces a log file (log.*) and dump file coordinates as additional input. A few sample log file outputs on different machines and different numbers of processors are included in the directories to compare your answers to. E.g. a log file like -log.crack.foo.P means it ran on P processors of machine "foo". -

    -

    For examples that use input data files, many of them were produced by -Pizza.py or setup tools described in the -Additional Tools section of the LAMMPS -documentation and provided with the LAMMPS distribution. -

    -

    If you uncomment the dump command in the input script, a +log.crack.foo.P means it ran on P processors of machine “foo”.

    +

    For examples that use input data files, many of them were produced by +Pizza.py or setup tools described in the +Additional Tools section of the LAMMPS +documentation and provided with the LAMMPS distribution.

    +

    If you uncomment the dump command in the input script, a text dump file will be produced, which can be animated by various -visualization programs. It can -also be animated using the xmovie tool described in the Additional -Tools section of the LAMMPS documentation. -

    -

    If you uncomment the dump image command in the input +visualization programs. It can +also be animated using the xmovie tool described in the Additional Tools section of the LAMMPS documentation.

    +

    If you uncomment the dump image command in the input script, and assuming you have built LAMMPS with a JPG library, JPG snapshot images will be produced when the simulation runs. They can be quickly post-processed into a movie using commands described on the -dump image doc page. -

    -

    Animations of many of these examples can be viewed on the Movies -section of the LAMMPS WWW Site. -

    -

    These are the sample problems in the examples sub-directories: -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    balance dynamic load balancing, 2d system
    body body particles, 2d system
    colloid big colloid particles in a small particle solvent, 2d system
    comb models using the COMB potential
    crack crack propagation in a 2d solid
    cuda use of the USER-CUDA package for GPU acceleration
    dipole point dipolar particles, 2d system
    dreiding methanol via Dreiding FF
    eim NaCl using the EIM potential
    ellipse ellipsoidal particles in spherical solvent, 2d system
    flow Couette and Poiseuille flow in a 2d channel
    friction frictional contact of spherical asperities between 2d surfaces
    gpu use of the GPU package for GPU acceleration
    hugoniostat Hugoniostat shock dynamics
    indent spherical indenter into a 2d solid
    intel use of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor
    kim use of potentials in Knowledge Base for Interatomic Models (KIM)
    line line segment particles in 2d rigid bodies
    meam MEAM test for SiC and shear (same as shear examples)
    melt rapid melt of 3d LJ system
    micelle self-assembly of small lipid-like molecules into 2d bilayers
    min energy minimization of 2d LJ melt
    msst MSST shock dynamics
    nb3b use of nonbonded 3-body harmonic pair style
    neb nudged elastic band (NEB) calculation for barrier finding
    nemd non-equilibrium MD of 2d sheared system
    obstacle flow around two voids in a 2d channel
    peptide dynamics of a small solvated peptide chain (5-mer)
    peri Peridynamic model of cylinder impacted by indenter
    pour pouring of granular particles into a 3d box, then chute flow
    prd parallel replica dynamics of vacancy diffusion in bulk Si
    qeq use of the QEQ pacakge for charge equilibration
    reax RDX and TATB models using the ReaxFF
    rigid rigid bodies modeled as independent or coupled
    shear sideways shear applied to 2d solid, with and without a void
    snap NVE dynamics for BCC tantalum crystal using SNAP potential
    srd stochastic rotation dynamics (SRD) particles as solvent
    tad temperature-accelerated dynamics of vacancy diffusion in bulk Si
    tri triangular particles in rigid bodies -
    - -

    Here is how you might run and visualize one of the sample problems: -

    -
    cd indent
    +dump image doc page.

    +

    Animations of many of these examples can be viewed on the Movies +section of the LAMMPS WWW Site.

    +

    These are the sample problems in the examples sub-directories:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    balancedynamic load balancing, 2d system
    bodybody particles, 2d system
    colloidbig colloid particles in a small particle solvent, 2d system
    combmodels using the COMB potential
    crackcrack propagation in a 2d solid
    cudause of the USER-CUDA package for GPU acceleration
    dipolepoint dipolar particles, 2d system
    dreidingmethanol via Dreiding FF
    eimNaCl using the EIM potential
    ellipseellipsoidal particles in spherical solvent, 2d system
    flowCouette and Poiseuille flow in a 2d channel
    frictionfrictional contact of spherical asperities between 2d surfaces
    gpuuse of the GPU package for GPU acceleration
    hugoniostatHugoniostat shock dynamics
    indentspherical indenter into a 2d solid
    inteluse of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor
    kimuse of potentials in Knowledge Base for Interatomic Models (KIM)
    lineline segment particles in 2d rigid bodies
    meamMEAM test for SiC and shear (same as shear examples)
    meltrapid melt of 3d LJ system
    micelleself-assembly of small lipid-like molecules into 2d bilayers
    minenergy minimization of 2d LJ melt
    msstMSST shock dynamics
    nb3buse of nonbonded 3-body harmonic pair style
    nebnudged elastic band (NEB) calculation for barrier finding
    nemdnon-equilibrium MD of 2d sheared system
    obstacleflow around two voids in a 2d channel
    peptidedynamics of a small solvated peptide chain (5-mer)
    periPeridynamic model of cylinder impacted by indenter
    pourpouring of granular particles into a 3d box, then chute flow
    prdparallel replica dynamics of vacancy diffusion in bulk Si
    qequse of the QEQ pacakge for charge equilibration
    reaxRDX and TATB models using the ReaxFF
    rigidrigid bodies modeled as independent or coupled
    shearsideways shear applied to 2d solid, with and without a void
    snapNVE dynamics for BCC tantalum crystal using SNAP potential
    srdstochastic rotation dynamics (SRD) particles as solvent
    tadtemperature-accelerated dynamics of vacancy diffusion in bulk Si
    tritriangular particles in rigid bodies
    +

    Here is how you might run and visualize one of the sample problems:

    +
    cd indent
     cp ../../src/lmp_linux .           # copy LAMMPS executable to this dir
    -lmp_linux < in.indent              # run the problem 
    -
    -

    Running the simulation produces the files dump.indent and -log.lammps. You can visualize the dump file as follows: -

    -
    ../../tools/xmovie/xmovie -scale dump.indent 
    -
    -

    If you uncomment the dump image line(s) in the input +lmp_linux < in.indent # run the problem +

    +
    +

    Running the simulation produces the files dump.indent and +log.lammps. You can visualize the dump file as follows:

    +
    ../../tools/xmovie/xmovie -scale dump.indent
    +
    +
    +

    If you uncomment the dump image line(s) in the input script a series of JPG images will be produced by the run. These can be viewed individually or turned into a movie or animated by tools like ImageMagick or QuickTime or various Windows-based tools. See the -dump image doc page for more details. E.g. this +dump image doc page for more details. E.g. this Imagemagick command would create a GIF file suitable for viewing in a -browser. -

    -
    % convert -loop 1 *.jpg foo.gif 
    -
    -
    - -

    There is also a COUPLE directory with examples of how to use LAMMPS as +browser.

    +
    % convert -loop 1 *.jpg foo.gif
    +
    +
    +
    +

    There is also a COUPLE directory with examples of how to use LAMMPS as a library, either by itself or in tandem with another code or library. -See the COUPLE/README file to get started. -

    -

    There is also an ELASTIC directory with an example script for +See the COUPLE/README file to get started.

    +

    There is also an ELASTIC directory with an example script for computing elastic constants, using a zero temperature Si example. See -the in.elastic file for more info. -

    -

    There is also a USER directory which contains subdirectories of +the in.elastic file for more info.

    +

    There is also a USER directory which contains subdirectories of user-provided examples for user packages. See the README files in those directories for more info. See the -Section_start.html file for more info about user -packages. -

    - +Section_start.html file for more info about user +packages.

    +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_history.html b/doc/Section_history.html index d827db95e7..20f0e4d47e 100644 --- a/doc/Section_history.html +++ b/doc/Section_history.html @@ -1,129 +1,313 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 13. Future and history — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    13. Future and history -

    -

    This section lists features we plan to add to LAMMPS, features of + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    13. Future and history¶

    +

    This section lists features we plan to add to LAMMPS, features of previous versions of LAMMPS, and features of other parallel molecular -dynamics codes our group has distributed. -

    -13.1 Coming attractions
    -13.2 Past versions
    - -
    - -
    - -

    13.1 Coming attractions -

    -

    The Wish list link on the +dynamics codes our group has distributed.

    + +
    +

    13.1. Coming attractions¶

    +

    The Wish list link on the LAMMPS WWW page gives a list of features we are hoping to add to LAMMPS in the future, including contact names of individuals you can email if you are interested in contributing to the developement or -would be a future user of that feature. -

    -

    You can also send email to the -developers if you want to add -your wish to the list. -

    -
    - -

    13.2 Past versions -

    -

    LAMMPS development began in the mid 1990s under a cooperative research -& development agreement (CRADA) between two DOE labs (Sandia and LLNL) +would be a future user of that feature.

    +

    You can also send email to the developers if you want to add +your wish to the list.

    +
    +
    +
    +

    13.2. Past versions¶

    +

    LAMMPS development began in the mid 1990s under a cooperative research +& development agreement (CRADA) between two DOE labs (Sandia and LLNL) and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was to develop a large-scale parallel classical MD code; the coding effort -was led by Steve Plimpton at Sandia. -

    -

    After the CRADA ended, a final F77 version, LAMMPS 99, was +was led by Steve Plimpton at Sandia.

    +

    After the CRADA ended, a final F77 version, LAMMPS 99, was released. As development of LAMMPS continued at Sandia, its memory management was converted to F90; a final F90 version was released as -LAMMPS 2001. -

    -

    The current LAMMPS is a rewrite in C++ and was first publicly released +LAMMPS 2001.

    +

    The current LAMMPS is a rewrite in C++ and was first publicly released as an open source code in 2004. It includes many new features beyond those in LAMMPS 99 or 2001. It also includes features from older parallel MD codes written at Sandia, namely ParaDyn, Warp, and -GranFlow (see below). -

    -

    In late 2006 we began merging new capabilities into LAMMPS that were +GranFlow (see below).

    +

    In late 2006 we began merging new capabilities into LAMMPS that were developed by Aidan Thompson at Sandia for his MD code GRASP, which has a parallel framework similar to LAMMPS. Most notably, these have included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - -and the associated charge-equilibration routines needed for ReaxFF. -

    -

    The History link on the +and the associated charge-equilibration routines needed for ReaxFF.

    +

    The History link on the LAMMPS WWW page gives a timeline of features added to the -C++ open-source version of LAMMPS over the last several years. -

    -

    These older codes are available for download from the LAMMPS WWW -site, except for Warp & GranFlow which were primarily used -internally. A brief listing of their features is given here. -

    -

    LAMMPS 2001 -

    -
    • F90 + MPI -
    • dynamic memory -
    • spatial-decomposition parallelism -
    • NVE, NVT, NPT, NPH, rRESPA integrators -
    • LJ and Coulombic pairwise force fields -
    • all-atom, united-atom, bead-spring polymer force fields -
    • CHARMM-compatible force fields -
    • class 2 force fields -
    • 3d/2d Ewald & PPPM -
    • various force and temperature constraints -
    • SHAKE -
    • Hessian-free truncated-Newton minimizer -
    • user-defined diagnostics -
    -

    LAMMPS 99 -

    -
    • F77 + MPI -
    • static memory allocation -
    • spatial-decomposition parallelism -
    • most of the LAMMPS 2001 features with a few exceptions -
    • no 2d Ewald & PPPM -
    • molecular force fields are missing a few CHARMM terms -
    • no SHAKE -
    -

    Warp -

    -
    • F90 + MPI -
    • spatial-decomposition parallelism -
    • embedded atom method (EAM) metal potentials + LJ -
    • lattice and grain-boundary atom creation -
    • NVE, NVT integrators -
    • boundary conditions for applying shear stresses -
    • temperature controls for actively sheared systems -
    • per-atom energy and centro-symmetry computation and output -
    -

    ParaDyn -

    -
    • F77 + MPI -
    • atom- and force-decomposition parallelism -
    • embedded atom method (EAM) metal potentials -
    • lattice atom creation -
    • NVE, NVT, NPT integrators -
    • all serial DYNAMO features for controls and constraints -
    -

    GranFlow -

    -
    • F90 + MPI -
    • spatial-decomposition parallelism -
    • frictional granular potentials -
    • NVE integrator -
    • boundary conditions for granular flow and packing and walls -
    • particle insertion -
    - +C++ open-source version of LAMMPS over the last several years.

    +

    These older codes are available for download from the LAMMPS WWW site, except for Warp & GranFlow which were primarily used +internally. A brief listing of their features is given here.

    +

    LAMMPS 2001

    +
      +
    • F90 + MPI
    • +
    • dynamic memory
    • +
    • spatial-decomposition parallelism
    • +
    • NVE, NVT, NPT, NPH, rRESPA integrators
    • +
    • LJ and Coulombic pairwise force fields
    • +
    • all-atom, united-atom, bead-spring polymer force fields
    • +
    • CHARMM-compatible force fields
    • +
    • class 2 force fields
    • +
    • 3d/2d Ewald & PPPM
    • +
    • various force and temperature constraints
    • +
    • SHAKE
    • +
    • Hessian-free truncated-Newton minimizer
    • +
    • user-defined diagnostics
    • +
    +

    LAMMPS 99

    +
      +
    • F77 + MPI
    • +
    • static memory allocation
    • +
    • spatial-decomposition parallelism
    • +
    • most of the LAMMPS 2001 features with a few exceptions
    • +
    • no 2d Ewald & PPPM
    • +
    • molecular force fields are missing a few CHARMM terms
    • +
    • no SHAKE
    • +
    +

    Warp

    +
      +
    • F90 + MPI
    • +
    • spatial-decomposition parallelism
    • +
    • embedded atom method (EAM) metal potentials + LJ
    • +
    • lattice and grain-boundary atom creation
    • +
    • NVE, NVT integrators
    • +
    • boundary conditions for applying shear stresses
    • +
    • temperature controls for actively sheared systems
    • +
    • per-atom energy and centro-symmetry computation and output
    • +
    +

    ParaDyn

    +
      +
    • F77 + MPI
    • +
    • atom- and force-decomposition parallelism
    • +
    • embedded atom method (EAM) metal potentials
    • +
    • lattice atom creation
    • +
    • NVE, NVT, NPT integrators
    • +
    • all serial DYNAMO features for controls and constraints
    • +
    +

    GranFlow

    +
      +
    • F90 + MPI
    • +
    • spatial-decomposition parallelism
    • +
    • frictional granular potentials
    • +
    • NVE integrator
    • +
    • boundary conditions for granular flow and packing and walls
    • +
    • particle insertion
    • +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 86ba137918..7db818b7c1 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -1,283 +1,441 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 6. How-to discussions — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    6. How-to discussions -

    -

    This section describes how to perform common tasks using LAMMPS. -

    -6.1 Restarting a simulation
    -6.2 2d simulations
    -6.3 CHARMM, AMBER, and DREIDING force fields
    -6.4 Running multiple simulations from one input script
    -6.5 Multi-replica simulations
    -6.6 Granular models
    -6.7 TIP3P water model
    -6.8 TIP4P water model
    -6.9 SPC water model
    -6.10 Coupling LAMMPS to other codes
    -6.11 Visualizing LAMMPS snapshots
    -6.12 Triclinic (non-orthogonal) simulation boxes
    -6.13 NEMD simulations
    -6.14 Finite-size spherical and aspherical particles
    -6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables)
    -6.16 Thermostatting, barostatting and computing temperature
    -6.17 Walls
    -6.18 Elastic constants
    -6.19 Library interface to LAMMPS
    -6.20 Calculating thermal conductivity
    -6.21 Calculating viscosity
    -6.22 Calculating a diffusion coefficient
    -6.23 Using chunks to calculate system properties
    -6.24 Setting parameters for the kspace_style pppm/disp command
    -6.25 Polarizable models
    -6.26 Adiabatic core/shell model
    -6.27 Drude induced dipoles
    - -

    The example input scripts included in the LAMMPS distribution and -highlighted in Section_example also show how to -setup and run various kinds of simulations. -

    -
    - -
    - -

    6.1 Restarting a simulation -

    -

    There are 3 ways to continue a long LAMMPS simulation. Multiple -run commands can be used in the same input script. Each + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    6. How-to discussions¶

    +

    This section describes how to perform common tasks using LAMMPS.

    + +

    The example input scripts included in the LAMMPS distribution and +highlighted in Section_example also show how to +setup and run various kinds of simulations.

    +
    +

    6.1. Restarting a simulation¶

    +

    There are 3 ways to continue a long LAMMPS simulation. Multiple +run commands can be used in the same input script. Each run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the restart +restart files can be saved to disk using the restart command. At a later time, these binary files can be read via a -read_restart command in a new script. Or they can -be converted to text data files using the -r command-line -switch and read by a -read_data command in a new script. -

    -

    Here we give examples of 2 scripts that read either a binary restart +read_restart command in a new script. Or they can +be converted to text data files using the -r command-line switch and read by a +read_data command in a new script.

    +

    Here we give examples of 2 scripts that read either a binary restart file or a converted data file and then issue a new run command to continue where the previous run left off. They illustrate what settings must be made in the new script. Details are discussed in the -documentation for the read_restart and -read_data commands. -

    -

    Look at the in.chain input script provided in the bench directory +documentation for the read_restart and +read_data commands.

    +

    Look at the in.chain input script provided in the bench directory of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line -

    -
    restart	        50 tmp.restart 
    -
    -

    added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran. -

    -

    This script could be used to read the 1st restart file and re-run the -last 50 timesteps: -

    -
    read_restart	tmp.restart.50 
    -
    -
    neighbor	0.4 bin
    -neigh_modify	every 1 delay 1 
    -
    -
    fix		1 all nve
    -fix		2 all langevin 1.0 1.0 10.0 904297 
    -
    -
    timestep	0.012 
    -
    -
    run		50 
    -
    -

    Note that the following commands do not need to be repeated because -their settings are included in the restart file: units, atom_style, -special_bonds, pair_style, bond_style. However these commands do +scripts are based on. If that script had the line

    +
    restart              50 tmp.restart
    +
    +
    +

    added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran.

    +

    This script could be used to read the 1st restart file and re-run the +last 50 timesteps:

    +
    read_restart tmp.restart.50
    +
    +
    +
    neighbor     0.4 bin
    +neigh_modify every 1 delay 1
    +
    +
    +
    fix          1 all nve
    +fix          2 all langevin 1.0 1.0 10.0 904297
    +
    +
    +
    timestep     0.012
    +
    +
    +
    run          50
    +
    +
    +

    Note that the following commands do not need to be repeated because +their settings are included in the restart file: units, atom_style, +special_bonds, pair_style, bond_style. However these commands do need to be used, since their settings are not in the restart file: -neighbor, fix, timestep. -

    -

    If you actually use this script to perform a restarted run, you will +neighbor, fix, timestep.

    +

    If you actually use this script to perform a restarted run, you will notice that the thermodynamic data match at step 50 (if you also put a -"thermo 50" command in the original script), but do not match at step -100. This is because the fix langevin command -uses random numbers in a way that does not allow for perfect restarts. -

    -

    As an alternate approach, the restart file could be converted to a data -file as follows: -

    -
    lmp_g++ -r tmp.restart.50 tmp.restart.data 
    -
    -

    Then, this script could be used to re-run the last 50 steps: -

    -
    units		lj
    -atom_style	bond
    -pair_style	lj/cut 1.12
    -pair_modify	shift yes
    -bond_style	fene
    -special_bonds   0.0 1.0 1.0 
    -
    -
    read_data	tmp.restart.data 
    -
    -
    neighbor	0.4 bin
    -neigh_modify	every 1 delay 1 
    -
    -
    fix		1 all nve
    -fix		2 all langevin 1.0 1.0 10.0 904297 
    -
    -
    timestep	0.012 
    -
    -
    reset_timestep	50
    -run		50 
    -
    -

    Note that nearly all the settings specified in the original in.chain -script must be repeated, except the pair_coeff and bond_coeff +“thermo 50” command in the original script), but do not match at step +100. This is because the fix langevin command +uses random numbers in a way that does not allow for perfect restarts.

    +

    As an alternate approach, the restart file could be converted to a data +file as follows:

    +
    lmp_g++ -r tmp.restart.50 tmp.restart.data
    +
    +
    +

    Then, this script could be used to re-run the last 50 steps:

    +
    units                lj
    +atom_style   bond
    +pair_style   lj/cut 1.12
    +pair_modify  shift yes
    +bond_style   fene
    +special_bonds   0.0 1.0 1.0
    +
    +
    +
    read_data    tmp.restart.data
    +
    +
    +
    neighbor     0.4 bin
    +neigh_modify every 1 delay 1
    +
    +
    +
    fix          1 all nve
    +fix          2 all langevin 1.0 1.0 10.0 904297
    +
    +
    +
    timestep     0.012
    +
    +
    +
    reset_timestep       50
    +run          50
    +
    +
    +

    Note that nearly all the settings specified in the original in.chain +script must be repeated, except the pair_coeff and bond_coeff commands since the new data file lists the force field coefficients. -Also, the reset_timestep command is used to tell +Also, the reset_timestep command is used to tell LAMMPS the current timestep. This value is stored in restart files, -but not in data files. -

    -
    - -

    6.2 2d simulations -

    -

    Use the dimension command to specify a 2d simulation. -

    -

    Make the simulation box periodic in z via the boundary -command. This is the default. -

    -

    If using the create box command to define a +but not in data files.

    +
    +
    +
    +

    6.2. 2d simulations¶

    +

    Use the dimension command to specify a 2d simulation.

    +

    Make the simulation box periodic in z via the boundary +command. This is the default.

    +

    If using the create box command to define a simulation box, set the z dimensions narrow, but finite, so that the create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g. -

    -
    create box 1 -10 10 -10 10 -0.25 0.25 
    -
    -

    If using the read data command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, +plane of atoms - e.g.

    +
    +create box 1 -10 10 -10 10 -0.25 0.25
    +
    +

    If using the read data command to read in a file of +atom coordinates, set the “zlo zhi” values to be finite but narrow, similar to the create_box command settings just described. For each atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. -

    -

    Use the fix enforce2d command as the last +z-boundaries of the box - e.g. 0.0.

    +

    Use the fix enforce2d command as the last defined fix to insure that the z-components of velocities and forces are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. -

    -

    Many of the example input scripts included in the LAMMPS distribution -are for 2d models. -

    -

    IMPORTANT NOTE: Some models in LAMMPS treat particles as finite-size +so that any forces induced by other fixes will be zeroed out.

    +

    Many of the example input scripts included in the LAMMPS distribution +are for 2d models.

    +
    +

    Warning

    +

    Some models in LAMMPS treat particles as finite-size spheres, as opposed to point particles. In 2d, the particles will still be spheres, not disks, meaning their moment of inertia will be -the same as in 3d. -

    -
    - -

    6.3 CHARMM, AMBER, and DREIDING force fields -

    -

    A force field has 2 parts: the formulas that define it and the +the same as in 3d.

    +
    +
    +
    +
    +

    6.3. CHARMM, AMBER, and DREIDING force fields¶

    +

    A force field has 2 parts: the formulas that define it and the coefficients used for a particular system. Here we only discuss formulas implemented in LAMMPS that correspond to formulas commonly used in the CHARMM, AMBER, and DREIDING force fields. Setting coefficients is done in the input data file via the -read_data command or in the input script with -commands like pair_coeff or -bond_coeff. See Section_tools +read_data command or in the input script with +commands like pair_coeff or +bond_coeff. See Section_tools for additional tools that can use CHARMM or AMBER to assign force -field coefficients and convert their output into LAMMPS input. -

    -

    See (MacKerell) for a description of the CHARMM force -field. See (Cornell) for a description of the AMBER force -field. -

    - - - - -

    These style choices compute force field formulas that are consistent -with common options in CHARMM or AMBER. See each command's -documentation for the formula it computes. -

    - - -

    DREIDING is a generic force field developed by the Goddard -group at Caltech and is useful for +field coefficients and convert their output into LAMMPS input.

    +

    See (MacKerell) for a description of the CHARMM force +field. See (Cornell) for a description of the AMBER force +field.

    +

    These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command’s +documentation for the formula it computes.

    + +

    DREIDING is a generic force field developed by the Goddard group at Caltech and is useful for predicting structures and dynamics of organic, biological and main-group inorganic molecules. The philosophy in DREIDING is to use general force constants and geometry parameters based on simple hybridization considerations, rather than individual force constants and geometric parameters that depend on the particular combinations of atoms involved in the bond, angle, or torsion terms. DREIDING has an -explicit hydrogen bond term to describe +explicit hydrogen bond term to describe interactions involving a hydrogen atom on very electronegative atoms -(N, O, F). -

    -

    See (Mayo) for a description of the DREIDING force field -

    -

    These style choices compute force field formulas that are consistent -with the DREIDING force field. See each command's -documentation for the formula it computes. -

    - - - - - - -
    - -

    6.4 Running multiple simulations from one input script -

    -

    This can be done in several ways. See the documentation for -individual commands for more details on how these examples work. -

    -

    If "multiple simulations" means continue a previous simulation for -more timesteps, then you simply use the run command -multiple times. For example, this script -

    -
    units lj
    +(N, O, F).

    +

    See (Mayo) for a description of the DREIDING force field

    +

    These style choices compute force field formulas that are consistent +with the DREIDING force field. See each command’s +documentation for the formula it computes.

    + +
    +
    +
    +

    6.4. Running multiple simulations from one input script¶

    +

    This can be done in several ways. See the documentation for +individual commands for more details on how these examples work.

    +

    If “multiple simulations” means continue a previous simulation for +more timesteps, then you simply use the run command +multiple times. For example, this script

    +
    units lj
     atom_style atomic
     read_data data.lj
     run 10000
     run 10000
     run 10000
     run 10000
    -run 10000 
    -
    -

    would run 5 successive simulations of the same system for a total of -50,000 timesteps. -

    -

    If you wish to run totally different simulations, one after the other, -the clear command can be used in between them to -re-initialize LAMMPS. For example, this script -

    -
    units lj
    +run 10000
    +
    +
    +

    would run 5 successive simulations of the same system for a total of +50,000 timesteps.

    +

    If you wish to run totally different simulations, one after the other, +the clear command can be used in between them to +re-initialize LAMMPS. For example, this script

    +
    units lj
     atom_style atomic
     read_data data.lj
     run 10000
    @@ -285,31 +443,30 @@ clear
     units lj
     atom_style atomic
     read_data data.lj.new
    -run 10000 
    -
    -

    would run 2 independent simulations, one after the other. -

    -

    For large numbers of independent simulations, you can use -variables and the next and -jump commands to loop over the same input script +run 10000 +

    +
    +

    would run 2 independent simulations, one after the other.

    +

    For large numbers of independent simulations, you can use +variables and the next and +jump commands to loop over the same input script multiple times with different settings. For example, this -script, named in.polymer -

    -
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
    +script, named in.polymer

    +
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
     shell cd $d
     read_data data.polymer
     run 10000
     shell cd ..
     clear
     next d
    -jump in.polymer 
    -
    -

    would run 8 simulations in different directories, using a data.polymer +jump in.polymer +

    +
    +

    would run 8 simulations in different directories, using a data.polymer file in each directory. The same concept could be used to run the same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example -

    -
    variable a loop 8
    +and storing the output in different log and dump files, for example

    +
    variable a loop 8
     variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
     log log.$a
     read data.polymer
    @@ -320,410 +477,370 @@ run 100000
     clear
     next t
     next a
    -jump in.polymer 
    -
    -

    All of the above examples work whether you are running on 1 or +jump in.polymer +

    +
    +

    All of the above examples work whether you are running on 1 or multiple processors, but assumed you are running LAMMPS on a single partition of processors. LAMMPS can be run on multiple partitions via -the "-partition" command-line switch as described in this -section of the manual. -

    -

    In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the "index" and "loop" variables were -replaced with universe-style variables, as described in the -variable command. Also, the "next t" and "next a" -commands would need to be replaced with a single "next a t" command. +the “-partition” command-line switch as described in this section of the manual.

    +

    In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the “index” and “loop” variables were +replaced with universe-style variables, as described in the +variable command. Also, the “next t” and “next a” +commands would need to be replaced with a single “next a t” command. With these modifications, the 8 simulations of each script would run on the 3 partitions one after the other until all were finished. Initially, 3 simulations would be started simultaneously, one on each partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed. -

    -
    - -

    6.5 Multi-replica simulations -

    -

    Several commands in LAMMPS run mutli-replica simulations, meaning +the 4th simulation, and so forth, until all 8 were completed.

    +
    +
    +
    +

    6.5. Multi-replica simulations¶

    +

    Several commands in LAMMPS run mutli-replica simulations, meaning that multiple instances (replicas) of your simulation are run simultaneously, with small amounts of data exchanged between replicas -periodically. -

    -

    These are the relevant commands: -

    -
    • neb for nudged elastic band calculations -
    • prd for parallel replica dynamics -
    • tad for temperature accelerated dynamics -
    • temper for parallel tempering -
    • fix pimd for path-integral molecular dynamics (PIMD) -
    -

    NEB is a method for finding transition states and barrier energies. +periodically.

    +

    These are the relevant commands:

    +
      +
    • neb for nudged elastic band calculations
    • +
    • prd for parallel replica dynamics
    • +
    • tad for temperature accelerated dynamics
    • +
    • temper for parallel tempering
    • +
    • fix pimd for path-integral molecular dynamics (PIMD)
    • +
    +

    NEB is a method for finding transition states and barrier energies. PRD and TAD are methods for performing accelerated dynamics to find and perform infrequent events. Parallel tempering or replica exchange runs different replicas at a series of temperature to facilitate -rare-event sampling. -

    -

    These commands can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers. -

    -

    This commands can only be used if LAMMPS was built with the USER-MISC -package. See the Making LAMMPS section -for more info on packages. -

    -

    In all these cases, you must run with one or more processors per +rare-event sampling.

    +

    These commands can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +

    PIMD runs different replicas whose individual particles are coupled +together by springs to model a system or ring-polymers.

    +

    This commands can only be used if LAMMPS was built with the USER-MISC +package. See the Making LAMMPS section +for more info on packages.

    +

    In all these cases, you must run with one or more processors per replica. The processors assigned to each replica are determined at -run-time by using the -partition command-line -switch to launch LAMMPS on multiple +run-time by using the -partition command-line switch to launch LAMMPS on multiple partitions, which in this context are the same as replicas. E.g. -these commands: -

    -
    mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
    -mpirun -np 8 lmp_linux -partition 8x1 -in in.neb 
    -
    -

    would each run 8 replicas, on either 16 or 8 processors. Note the use -of the -in command-line switch to specify -the input script which is required when running in multi-replica mode. -

    -

    Also note that with MPI installed on a machine (e.g. your desktop), +these commands:

    +
    mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
    +mpirun -np 8 lmp_linux -partition 8x1 -in in.neb
    +
    +
    +

    would each run 8 replicas, on either 16 or 8 processors. Note the use +of the -in command-line switch to specify +the input script which is required when running in multi-replica mode.

    +

    Also note that with MPI installed on a machine (e.g. your desktop), you can run on more (virtual) processors than you have physical processors. Thus the above commands could be run on a single-processor (or few-processor) desktop so that you can run a multi-replica simulation on more replicas than you have -physical processors. -

    -
    - -

    6.6 Granular models -

    -

    Granular system are composed of spherical particles with a diameter, +physical processors.

    +
    +
    +
    +

    6.6. Granular models¶

    +

    Granular system are composed of spherical particles with a diameter, as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate. -

    -

    To run a simulation of a granular model, you will want to use -the following commands: -

    - -

    This compute -

    - -

    calculates rotational kinetic energy which can be output with -thermodynamic info. -

    -

    Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles: -

    - -

    These commands implement fix options specific to granular systems: -

    - -

    The fix style freeze zeroes both the force and torque of frozen +velocity and torque can be imparted to them to cause them to rotate.

    +

    To run a simulation of a granular model, you will want to use +the following commands:

    + +

    This compute

    + +

    calculates rotational kinetic energy which can be output with thermodynamic info.

    +

    Use one of these 3 pair potentials, which compute forces and torques +between interacting pairs of particles:

    + +

    These commands implement fix options specific to granular systems:

    + +

    The fix style freeze zeroes both the force and torque of frozen atoms, and should be used for granular system instead of the fix style -setforce. -

    -

    For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command: -

    - -
    - -

    6.7 TIP3P water model -

    -

    The TIP3P water model as implemented in CHARMM -(MacKerell) specifies a 3-site rigid water molecule with +setforce.

    +

    For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command:

    + +
    +
    +
    +

    6.7. TIP3P water model¶

    +

    The TIP3P water model as implemented in CHARMM +(MacKerell) specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold +In LAMMPS the fix shake command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used. -

    -

    These are the additional parameters (in real units) to set for O and H +harmonic and an angle style of harmonic or charmm should also be +used.

    +

    These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP3P-CHARMM model with a cutoff. The K values can be used if a flexible TIP3P model (without fix shake) is desired. If the LJ epsilon and sigma for HH and OH are set to 0.0, it corresponds to the original 1983 TIP3P model -(Jorgensen). -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -0.834
    -H charge = 0.417
    -LJ epsilon of OO = 0.1521
    -LJ sigma of OO = 3.1507
    -LJ epsilon of HH = 0.0460
    -LJ sigma of HH = 0.4000
    -LJ epsilon of OH = 0.0836
    -LJ sigma of OH = 1.7753
    -K of OH bond = 450
    -r0 of OH bond = 0.9572
    -K of HOH angle = 55
    -theta of HOH angle = 104.52
    -

    -

    These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for -details: -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -0.830
    -H charge = 0.415
    -LJ epsilon of OO = 0.102
    -LJ sigma of OO = 3.188
    -LJ epsilon, sigma of OH, HH = 0.0
    -K of OH bond = 450
    -r0 of OH bond = 0.9572
    -K of HOH angle = 55
    -theta of HOH angle = 104.52
    -

    -

    Wikipedia also has a nice article on water -models. -

    -
    - -

    6.8 TIP4P water model -

    -

    The four-point TIP4P rigid water model extends the traditional +(Jorgensen).

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -0.834
    +
    H charge = 0.417
    +
    LJ epsilon of OO = 0.1521
    +
    LJ sigma of OO = 3.1507
    +
    LJ epsilon of HH = 0.0460
    +
    LJ sigma of HH = 0.4000
    +
    LJ epsilon of OH = 0.0836
    +
    LJ sigma of OH = 1.7753
    +
    K of OH bond = 450
    +
    r0 of OH bond = 0.9572
    +
    K of HOH angle = 55
    +
    theta of HOH angle = 104.52
    +

    +
    +

    These are the parameters to use for TIP3P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for +details:

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -0.830
    +
    H charge = 0.415
    +
    LJ epsilon of OO = 0.102
    +
    LJ sigma of OO = 3.188
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +
    K of OH bond = 450
    +
    r0 of OH bond = 0.9572
    +
    K of HOH angle = 55
    +
    theta of HOH angle = 104.52
    +

    +
    +

    Wikipedia also has a nice article on water models.

    +
    +
    +
    +

    6.8. TIP4P water model¶

    +

    The four-point TIP4P rigid water model extends the traditional three-point TIP3P model by adding an additional site, usually massless, where the charge associated with the oxygen atom is placed. This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of harmonic and an -angle style of harmonic or charmm should also be used. -

    -

    A TIP4P model is run with LAMMPS using either this command -for a cutoff model: -

    -

    pair_style lj/cut/tip4p/cut -

    -

    or these two commands for a long-range model: -

    - -

    For both models, the bond lengths and bond angles should be held fixed -using the fix shake command. -

    -

    These are the additional parameters (in real units) to set for O and H +the bisector of the HOH bond angle. A bond style of harmonic and an +angle style of harmonic or charmm should also be used.

    +

    A TIP4P model is run with LAMMPS using either this command +for a cutoff model:

    +

    pair_style lj/cut/tip4p/cut

    +

    or these two commands for a long-range model:

    + +

    For both models, the bond lengths and bond angles should be held fixed +using the fix shake command.

    +

    These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP4P model with a cutoff -(Jorgensen). Note that the OM distance is specified in -the pair_style command, not as part of the pair -coefficients. -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -1.040
    -H charge = 0.520
    -r0 of OH bond = 0.9572
    -theta of HOH angle = 104.52
    -OM distance = 0.15
    -LJ epsilon of O-O = 0.1550
    -LJ sigma of O-O = 3.1536
    -LJ epsilon, sigma of OH, HH = 0.0
    -Coulombic cutoff = 8.5
    -

    -

    For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used: -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -1.1794
    -H charge = 0.5897
    -r0 of OH bond = 0.9572
    -theta of HOH angle = 104.52
    -OM distance = 0.1577
    -LJ epsilon of O-O = 0.21084
    -LJ sigma of O-O = 3.1668
    -LJ epsilon, sigma of OH, HH = 0.0
    -Coulombic cutoff = 8.5
    -

    -

    For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used: -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -1.1128
    -H charge = 0.5564
    -r0 of OH bond = 0.9572
    -theta of HOH angle = 104.52
    -OM distance = 0.1546
    -LJ epsilon of O-O = 0.1852
    -LJ sigma of O-O = 3.1589
    -LJ epsilon, sigma of OH, HH = 0.0
    -Coulombic cutoff = 8.5
    -

    -

    These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS): -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -1.0484
    -H charge = 0.5242
    -r0 of OH bond = 0.9572
    -theta of HOH angle = 104.52
    -OM distance = 0.1250
    -LJ epsilon of O-O = 0.16275
    -LJ sigma of O-O = 3.16435
    -LJ epsilon, sigma of OH, HH = 0.0
    -

    -

    Note that the when using the TIP4P pair style, the neighobr list +(Jorgensen). Note that the OM distance is specified in +the pair_style command, not as part of the pair +coefficients.

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -1.040
    +
    H charge = 0.520
    +
    r0 of OH bond = 0.9572
    +
    theta of HOH angle = 104.52
    +
    OM distance = 0.15
    +
    LJ epsilon of O-O = 0.1550
    +
    LJ sigma of O-O = 3.1536
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +
    Coulombic cutoff = 8.5
    +

    +
    +

    For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); +http://dx.doi.org/10.1063/1.1931662) these values can be used:

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -1.1794
    +
    H charge = 0.5897
    +
    r0 of OH bond = 0.9572
    +
    theta of HOH angle = 104.52
    +
    OM distance = 0.1577
    +
    LJ epsilon of O-O = 0.21084
    +
    LJ sigma of O-O = 3.1668
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +
    Coulombic cutoff = 8.5
    +

    +
    +

    For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); +http://dx.doi.org/10.1063/1.2121687), these values can be used:

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -1.1128
    +
    H charge = 0.5564
    +
    r0 of OH bond = 0.9572
    +
    theta of HOH angle = 104.52
    +
    OM distance = 0.1546
    +
    LJ epsilon of O-O = 0.1852
    +
    LJ sigma of O-O = 3.1589
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +
    Coulombic cutoff = 8.5
    +

    +
    +

    These are the parameters to use for TIP4P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS):

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -1.0484
    +
    H charge = 0.5242
    +
    r0 of OH bond = 0.9572
    +
    theta of HOH angle = 104.52
    +
    OM distance = 0.1250
    +
    LJ epsilon of O-O = 0.16275
    +
    LJ sigma of O-O = 3.16435
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +

    +
    +

    Note that the when using the TIP4P pair style, the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2 * (OM distance), to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*(OM distance), to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the pair_style -lj/cut/tip4p/long command. -

    -

    Wikipedia also has a nice article on water -models. -

    -
    - -

    6.9 SPC water model -

    -

    The SPC water model specifies a 3-site rigid water molecule with +and Coulombic cutoffs are set in the pair_style lj/cut/tip4p/long command.

    +

    Wikipedia also has a nice article on water models.

    +
    +
    +
    +

    6.9. SPC water model¶

    +

    The SPC water model specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold +In LAMMPS the fix shake command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used. -

    -

    These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model. -

    -

    O mass = 15.9994
    -H mass = 1.008
    -O charge = -0.820
    -H charge = 0.410
    -LJ epsilon of OO = 0.1553
    -LJ sigma of OO = 3.166
    -LJ epsilon, sigma of OH, HH = 0.0
    -r0 of OH bond = 1.0
    -theta of HOH angle = 109.47
    -

    -

    Note that as originally proposed, the SPC model was run with a 9 +harmonic and an angle style of harmonic or charmm should also be +used.

    +

    These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model.

    +
    +
    O mass = 15.9994
    +
    H mass = 1.008
    +
    O charge = -0.820
    +
    H charge = 0.410
    +
    LJ epsilon of OO = 0.1553
    +
    LJ sigma of OO = 3.166
    +
    LJ epsilon, sigma of OH, HH = 0.0
    +
    r0 of OH bond = 1.0
    +
    theta of HOH angle = 109.47
    +

    +
    +

    Note that as originally proposed, the SPC model was run with a 9 Angstrom cutoff for both LJ and Coulommbic terms. It can also be used with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing any of the parameters above, though it becomes a different model in -that mode of usage. -

    -

    The SPC/E (extended) water model is the same, except -the partial charge assignemnts change: -

    -

    O charge = -0.8476
    -H charge = 0.4238
    -

    -

    See the (Berendsen) reference for more details on both -the SPC and SPC/E models. -

    -

    Wikipedia also has a nice article on water -models. -

    -
    - -

    6.10 Coupling LAMMPS to other codes -

    -

    LAMMPS is designed to allow it to be coupled to other codes. For +that mode of usage.

    +

    The SPC/E (extended) water model is the same, except +the partial charge assignemnts change:

    +
    +
    O charge = -0.8476
    +
    H charge = 0.4238
    +

    +
    +

    See the (Berendsen) reference for more details on both +the SPC and SPC/E models.

    +

    Wikipedia also has a nice article on water models.

    +
    +
    +
    +

    6.10. Coupling LAMMPS to other codes¶

    +

    LAMMPS is designed to allow it to be coupled to other codes. For example, a quantum mechanics code might compute forces on a subset of atoms and pass those forces to LAMMPS. Or a continuum finite element (FE) simulation might use atom positions as boundary conditions on FE nodal points, compute a FE solution, and return interpolated forces on -MD atoms. -

    -

    LAMMPS can be coupled to other codes in at least 3 ways. Each has -advantages and disadvantages, which you'll have to think about in the -context of your application. -

    -

    (1) Define a new fix command that calls the other code. In +MD atoms.

    +

    LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you’ll have to think about in the +context of your application.

    +

    (1) Define a new fix command that calls the other code. In this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, which has been linked to LAMMPS as a library. This is the way the -POEMS package that performs constrained rigid-body motion on +POEMS package that performs constrained rigid-body motion on groups of atoms is hooked to LAMMPS. See the -fix_poems command for more details. See this -section of the documentation for info on how to add -a new fix to LAMMPS. -

    - - -

    (2) Define a new LAMMPS command that calls the other code. This is +fix_poems command for more details. See this section of the documentation for info on how to add +a new fix to LAMMPS.

    +

    (2) Define a new LAMMPS command that calls the other code. This is conceptually similar to method (1), but in this case LAMMPS and the other code are on a more equal footing. Note that now the other code is not called during the timestepping of a LAMMPS run, but between runs. The LAMMPS input script can be used to alternate LAMMPS runs with calls to the other code, invoked via the new command. The -run command facilitates this with its every option, which +run command facilitates this with its every option, which makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc. -

    -

    In this scenario, the other code can be called as a library, as in +invoke the command, etc.

    +

    In this scenario, the other code can be called as a library, as in (1), or it could be a stand-alone code, invoked by a system() call made by the command (assuming your parallel machine allows one or more processors to start up another program). In the latter case the stand-alone code could communicate with LAMMPS thru files that the -command writes and reads. -

    -

    See Section_modify of the documentation for how -to add a new command to LAMMPS. -

    -

    (3) Use LAMMPS as a library called by another code. In this case the +command writes and reads.

    +

    See Section_modify of the documentation for how +to add a new command to LAMMPS.

    +

    (3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper code could link and call both LAMMPS and another code as libraries. -Again, the run command has options that allow it to be +Again, the run command has options that allow it to be invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program. -

    -

    Examples of driver codes that call LAMMPS as a library are included in +multiple short runs, driven by another program.

    +

    Examples of driver codes that call LAMMPS as a library are included in the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details: -

    -
    • simple: simple driver programs in C++ and C which invoke LAMMPS as a -library - -
    • lammps_quest: coupling of LAMMPS and Quest, to run classical -MD with quantum forces calculated by a density functional code - -
    • lammps_spparks: coupling of LAMMPS and SPPARKS, to couple +examples/COUPLE/README for more details:

      +
        +
      • simple: simple driver programs in C++ and C which invoke LAMMPS as a +library
      • +
      • lammps_quest: coupling of LAMMPS and Quest, to run classical +MD with quantum forces calculated by a density functional code
      • +
      • lammps_spparks: coupling of LAMMPS and SPPARKS, to couple a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries -
      - - - - -

      This section of the documentation +strain induced across grain boundaries

    • +
    +

    This section of the documentation describes how to build LAMMPS as a library. Once this is done, you can interface with LAMMPS either via C++, C, Fortran, or Python (or any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) "instances" of +example, from C++ you could create one (or more) “instances” of LAMMPS, pass it an input script to process, or execute individual commands, all by invoking the correct class methods in LAMMPS. From C or Fortran you can make function calls to do the same things. See -Section_python of the manual for a description +Section_python of the manual for a description of the Python wrapper provided with LAMMPS that operates through the -LAMMPS library interface. -

    -

    The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See Section_howto 19 of the +LAMMPS library interface.

    +

    The files src/library.cpp and library.h contain the C-style interface +to LAMMPS. See Section_howto 19 of the manual for a description of the interface and how to extend it for -your needs. -

    -

    Note that the lammps_open() function that creates an instance of +your needs.

    +

    Note that the lammps_open() function that creates an instance of LAMMPS takes an MPI communicator as an argument. This means that instance of LAMMPS will run on the set of processors in the communicator. Thus the calling code can run LAMMPS on all or a subset @@ -732,524 +849,450 @@ alternate between LAMMPS and another code, allowing them both to run on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. -

    -
    - -

    6.11 Visualizing LAMMPS snapshots -

    -

    LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways. -

    -

    LAMMPS snapshots are created by the dump command which can +instances of LAMMPS to perform different calculations.

    +
    +
    +
    +

    6.11. Visualizing LAMMPS snapshots¶

    +

    LAMMPS itself does not do visualization, but snapshots from LAMMPS +simulations can be visualized (and analyzed) in a variety of ways.

    +

    LAMMPS snapshots are created by the dump command which can create files in several formats. The native LAMMPS dump format is a -text file (see "dump atom" or "dump custom") which can be visualized -by the xmovie program, included with the +text file (see “dump atom” or “dump custom”) which can be visualized +by the xmovie program, included with the LAMMPS package. This produces simple, fast 2d projections of 3d systems, and can be useful for rapid debugging of simulation geometry -and atom trajectories. -

    -

    Several programs included with LAMMPS as auxiliary tools can convert +and atom trajectories.

    +

    Several programs included with LAMMPS as auxiliary tools can convert native LAMMPS dump files to other formats. See the -Section_tools doc page for details. The first is -the ch2lmp tool, which contains a +Section_tools doc page for details. The first is +the ch2lmp tool, which contains a lammps2pdb Perl script which converts LAMMPS dump files into PDB -files. The second is the lmp2arc tool which -converts LAMMPS dump files into Accelrys' Insight MD program files. -The third is the lmp2cfg tool which converts +files. The second is the lmp2arc tool which +converts LAMMPS dump files into Accelrys’ Insight MD program files. +The third is the lmp2cfg tool which converts LAMMPS dump files into CFG files which can be read into the -AtomEye visualizer. -

    -

    A Python-based toolkit distributed by our group can read native LAMMPS +AtomEye visualizer.

    +

    A Python-based toolkit distributed by our group can read native LAMMPS dump files, including custom dump files with additional columns of user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the Pizza.py -WWW site for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, Ensight, and VTK formats. +or pipe them into visualization software directly. See the Pizza.py WWW site for details. Specifically, Pizza.py can convert +LAMMPS dump files into PDB, XYZ, Ensight, and VTK formats. Pizza.py can pipe LAMMPS dump files directly into the Raster3d and RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file -snapshots. -

    -

    LAMMPS can create XYZ files directly (via "dump xyz") which is a +snapshots.

    +

    LAMMPS can create XYZ files directly (via “dump xyz”) which is a simple text-based file format used by many visualization programs -including VMD. -

    -

    LAMMPS can create DCD files directly (via "dump dcd") which can be -read by VMD in conjunction with a CHARMM PSF file. Using this +including VMD.

    +

    LAMMPS can create DCD files directly (via “dump dcd”) which can be +read by VMD in conjunction with a CHARMM PSF file. Using this form of output avoids the need to convert LAMMPS snapshots to PDB -files. See the dump command for more information on DCD -files. -

    -

    LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS -file format which can also be read by VMD for visualization. -See the dump command for more information on XTC files. -

    - - - - - - - - -
    - -

    6.12 Triclinic (non-orthogonal) simulation boxes -

    -

    By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The boundary command sets the boundary +files. See the dump command for more information on DCD +files.

    +

    LAMMPS can create XTC files directly (via “dump xtc”) which is GROMACS +file format which can also be read by VMD for visualization. +See the dump command for more information on XTC files.

    +
    +
    +
    +

    6.12. Triclinic (non-orthogonal) simulation boxes¶

    +

    By default, LAMMPS uses an orthogonal simulation box to encompass the +particles. The boundary command sets the boundary conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by a = (xhi-xlo,0,0); b = -(0,yhi-ylo,0); c = (0,0,zhi-zlo). The 6 parameters +box has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors +starting from the origin given by a = (xhi-xlo,0,0); b = +(0,yhi-ylo,0); c = (0,0,zhi-zlo). The 6 parameters (xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the create_box or -read_data or read_restart +is created, e.g. by the create_box or +read_data or read_restart commands. Additionally, LAMMPS defines box size parameters lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the thermo_style -custom command. -

    -

    LAMMPS also allows simulations to be performed in triclinic +parameters, as well as lx,ly,lz, can be output via the thermo_style custom command.

    +

    LAMMPS also allows simulations to be performed in triclinic (non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at +triclinic symmetry. The parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = -(xz,yz,zhi-zlo). xy,xz,yz can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of +origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = +(xz,yz,zhi-zlo). xy,xz,yz can be 0.0 or positive or negative values +and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors a, b, and c cannot be arbitrary -vectors. As indicated, a must lie on the positive x axis. b must -lie in the xy plane, with strictly positive y component. c may have +simulation box edge vectors a, b, and c cannot be arbitrary +vectors. As indicated, a must lie on the positive x axis. b must +lie in the xy plane, with strictly positive y component. c may have any orientation with strictly positive z component. The requirement -that a, b, and c have strictly positive x, y, and z components, -respectively, ensures that a, b, and c form a complete +that a, b, and c have strictly positive x, y, and z components, +respectively, ensures that a, b, and c form a complete right-handed basis. These restrictions impose no loss of generality, since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. -

    -

    For example, assume that the 3 vectors A,B,C are the edge +vectors so that they conform to the restrictions.

    +

    For example, assume that the 3 vectors A,**B**,**C** are the edge vectors of a general parallelepiped, where there is no restriction on -A,B,C other than they form a complete right-handed basis i.e. -A x B . C > 0. The equivalent LAMMPS a,b,c are a linear -rotation of A, B, and C and can be computed as follows: -

    -
    -
    -

    where A = |A| indicates the scalar length of A. The ^ hat symbol -indicates the corresponding unit vector. beta and gamma are angles -between the vectors described below. Note that by construction, -a, b, and c have strictly positive x, y, and z components, respectively. +A,**B**,**C** other than they form a complete right-handed basis i.e. +A x B . C > 0. The equivalent LAMMPS a,**b**,**c** are a linear +rotation of A, B, and C and can be computed as follows:

    +_images/transform.jpg +

    where A = |**A**| indicates the scalar length of A. The ^ hat symbol +indicates the corresponding unit vector. beta and gamma are angles +between the vectors described below. Note that by construction, +a, b, and c have strictly positive x, y, and z components, respectively. If it should happen that -A, B, and C form a left-handed basis, then the above equations -are not valid for c. In this case, it is necessary +A, B, and C form a left-handed basis, then the above equations +are not valid for c. In this case, it is necessary to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. -

    -

    For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, +by interchanging two basis vectors or by changing the sign of one of them.

    +

    For consistency, the same rotation/inversion applied to the basis vectors +must also be applied to atom positions, velocities, and any other vector quantities. -This can be conveniently achieved by first converting to +This can be conveniently achieved by first converting to fractional coordinates in the old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: -

    -
    -
    -

    where V is the volume of the box, X is the original vector quantity and -x is the vector in the LAMMPS basis. -

    -

    There is no requirement that a triclinic box be periodic in any +The transformation is given by the following equation:

    +_images/rotate.jpg +

    where V is the volume of the box, X is the original vector quantity and +x is the vector in the LAMMPS basis.

    +

    There is no requirement that a triclinic box be periodic in any dimension, though it typically should be in at least the 2nd dimension of the tilt (y in xy) if you want to enforce a shift in periodic boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the fix deform and fix -npt commands, require periodicity or non-shrink-wrap +with triclinic boxes, e.g. the fix deform and fix npt commands, require periodicity or non-shrink-wrap boundary conditions in specific dimensions. See the command doc pages -for details. -

    -

    The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the +for details.

    +

    The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the time the simluation box is created. This happens in one of 3 ways. -If the create_box command is used with a region of -style prism, then a triclinic box is setup. See the -region command for details. If the -read_data command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -read_data command for details. Finally, if the -read_restart command reads a restart file which +If the create_box command is used with a region of +style prism, then a triclinic box is setup. See the +region command for details. If the +read_data command is used to define the simulation +box, and the header of the data file contains a line with the “xy xz +yz” keyword, then a triclinic box is setup. See the +read_data command for details. Finally, if the +read_restart command reads a restart file which was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. -

    -

    Note that you can define a triclinic box with all 3 tilt factors = +box will be setup for the restarted simulation.

    +

    Note that you can define a triclinic box with all 3 tilt factors = 0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the fix npt or -fix deform commands. Alternatively, you can use the -change_box command to convert a simulation box from -orthogonal to triclinic and vice versa. -

    -

    As with orthogonal boxes, LAMMPS defines triclinic box size parameters +will become non-orthogonal, e.g. due to the fix npt or +fix deform commands. Alternatively, you can use the +change_box command to convert a simulation box from +orthogonal to triclinic and vice versa.

    +

    As with orthogonal boxes, LAMMPS defines triclinic box size parameters lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. The 9 parameters, as well as lx,ly,lz, can be output via the -thermo_style custom command. -

    -

    To avoid extremely tilted boxes (which would be computationally +thermo_style custom command.

    +

    To avoid extremely tilted boxes (which would be computationally inefficient), LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st dimension in the tilt factor (x for xz). This is required both when the simulation box is created, e.g. via the -create_box or read_data commands, +create_box or read_data commands, as well as when the box shape changes dynamically during a simulation, -e.g. via the fix deform or fix npt -commands. -

    -

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +e.g. via the fix deform or fix npt +commands.

    +

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the fix deform -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the fix -deform doc page for further details. -

    -

    One exception to this rule is if the 1st dimension in the tilt +limit during a dynamics run (e.g. via the fix deform +command), then the box is “flipped” to an equivalent shape with a tilt +factor within the bounds, so the run can continue. See the fix deform doc page for further details.

    +

    One exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. -

    -

    The limitation on not creating a simulation box with a tilt factor +simply become inefficient, due to the highly skewed simulation box.

    +

    The limitation on not creating a simulation box with a tilt factor skewing the box more than half the distance of the parallel box length -can be overridden via the box command. Setting the tilt -keyword to large allows any tilt factors to be specified. -

    -

    Box flips that may occur using the fix deform or -fix npt commands can be turned off using the flip no -option with either of the commands. -

    -

    Note that if a simulation box has a large tilt factor, LAMMPS will run +can be overridden via the box command. Setting the tilt +keyword to large allows any tilt factors to be specified.

    +

    Box flips that may occur using the fix deform or +fix npt commands can be turned off using the flip no +option with either of the commands.

    +

    Note that if a simulation box has a large tilt factor, LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. +acquire ghost atoms around a processor’s irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. -

    -

    Triclinic crystal structures are often defined using three lattice -constants a, b, and c, and three angles alpha, beta and -gamma. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors a, b, and c +error.

    +

    Triclinic crystal structures are often defined using three lattice +constants a, b, and c, and three angles alpha, beta and +gamma. Note that in this nomenclature, the a, b, and c lattice +constants are the scalar lengths of the edge vectors a, b, and c defined above. The relationship between these 6 quantities (a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: -

    -
    -
    -

    The inverse relationship can be written as follows: -

    -
    -
    -

    The values of a, b, c , alpha, beta , and gamma can be printed -out or accessed by computes using the -thermo_style custom keywords -cella, cellb, cellc, cellalpha, cellbeta, cellgamma, -respectively. -

    -

    As discussed on the dump command doc page, when the BOX +(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:

    +_images/box.jpg +

    The inverse relationship can be written as follows:

    +_images/box_inverse.jpg +

    The values of a, b, c , alpha, beta , and gamma can be printed +out or accessed by computes using the +thermo_style custom keywords +cella, cellb, cellc, cellalpha, cellbeta, cellgamma, +respectively.

    +

    As discussed on the dump command doc page, when the BOX BOUNDS for a snapshot is written to a dump file for a triclinic box, an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: -

    -
    ITEM: BOX BOUNDS xy xz yz
    +box, formatted as follows:

    +
    ITEM: BOX BOUNDS xy xz yz
     xlo_bound xhi_bound xy
     ylo_bound yhi_bound xz
    -zlo_bound zhi_bound yz 
    -
    -

    This bounding box is convenient for many visualization programs and is +zlo_bound zhi_bound yz +

    +
    +

    This bounding box is convenient for many visualization programs and is calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: -

    -
    xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
    -xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
    -ylo_bound = ylo + MIN(0.0,yz)
    -yhi_bound = yhi + MAX(0.0,yz)
    -zlo_bound = zlo
    -zhi_bound = zhi 
    -
    -

    These formulas can be inverted if you need to convert the bounding box +(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:

    +
    xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
    +xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
    +ylo_bound = ylo + MIN(0.0,yz)
    +yhi_bound = yhi + MAX(0.0,yz)
    +zlo_bound = zlo
    +zhi_bound = zhi
    +
    +
    +

    These formulas can be inverted if you need to convert the bounding box back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). -

    -

    One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The lattice command can be +MIN(0.0,xy,xz,xy+xz).

    +

    One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The lattice command can be used with non-orthogonal basis vectors to define a lattice that will tile a triclinic simulation box via the -create_atoms command. -

    -

    A second use is to run Parinello-Rahman dyanamics via the fix -npt command, which will adjust the xy, xz, yz tilt +create_atoms command.

    +

    A second use is to run Parinello-Rahman dyanamics via the fix npt command, which will adjust the xy, xz, yz tilt factors to compensate for off-diagonal components of the pressure -tensor. The analalog for an energy minimization is -the fix box/relax command. -

    -

    A third use is to shear a bulk solid to study the response of the -material. The fix deform command can be used for +tensor. The analalog for an energy minimization is +the fix box/relax command.

    +

    A third use is to shear a bulk solid to study the response of the +material. The fix deform command can be used for this purpose. It allows dynamic control of the xy, xz, yz tilt factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. -

    -
    - -

    6.13 NEMD simulations -

    -

    Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid's rheological properties such as viscosity. +on non-equilibrium MD (NEMD) simulations.

    +
    +
    +
    +

    6.13. NEMD simulations¶

    +

    Non-equilibrium molecular dynamics or NEMD simulations are typically +used to measure a fluid’s rheological properties such as viscosity. In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section). -

    -

    A shear strain can be applied to the simulation box at a desired -strain rate by using the fix deform command. The -fix nvt/sllod command can be used to thermostat +non-orthogonal simulation box (see the preceding Howto section).

    +

    A shear strain can be applied to the simulation box at a desired +strain rate by using the fix deform command. The +fix nvt/sllod command can be used to thermostat the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses compute -temp/deform to compute a thermal temperature +system. Fix nvt/sllod uses compute temp/deform to compute a thermal temperature by subtracting out the streaming velocity of the shearing atoms. The velocity profile or other properties of the fluid can be monitored via -the fix ave/spatial command. -

    -

    As discussed in the previous section on non-orthogonal simulation +the fix ave/spatial command.

    +

    As discussed in the previous section on non-orthogonal simulation boxes, the amount of tilt or skew that can be applied is limited by LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, fix deform can continuously strain -a box by an arbitrary amount. As discussed in the fix -deform command, when the tilt value reaches a limit, +length. However, fix deform can continuously strain +a box by an arbitrary amount. As discussed in the fix deform command, when the tilt value reaches a limit, the box is flipped to the opposite limit which is an equivalent tiling of periodic space. The strain rate can then continue to change as before. In a long NEMD simulation these box re-shaping events may -occur many times. -

    -

    In a NEMD simulation, the "remap" option of fix -deform should be set to "remap v", since that is what -fix nvt/sllod assumes to generate a velocity -profile consistent with the applied shear strain rate. -

    -

    An alternative method for calculating viscosities is provided via the -fix viscosity command. -

    -
    - -

    6.14 Finite-size spherical and aspherical particles -

    -

    Typical MD models treat atoms or particles as point masses. Sometimes +occur many times.

    +

    In a NEMD simulation, the “remap” option of fix deform should be set to “remap v”, since that is what +fix nvt/sllod assumes to generate a velocity +profile consistent with the applied shear strain rate.

    +

    An alternative method for calculating viscosities is provided via the +fix viscosity command.

    +
    +
    +
    +

    6.14. Finite-size spherical and aspherical particles¶

    +

    Typical MD models treat atoms or particles as point masses. Sometimes it is desirable to have a model with finite-size particles such as spheroids or ellipsoids or generalized aspherical bodies. The difference is that such particles have a moment of inertia, rotational energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles. -

    -

    LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn: -

    -
    • atom styles -
    • pair potentials -
    • time integration -
    • computes, thermodynamics, and dump output -
    • rigid bodies composed of finite-size particles -
    -

    Example input scripts for these kinds of models are in the body, +from interactions with other particles.

    +

    LAMMPS has several options for running simulations with these kinds of +particles. The following aspects are discussed in turn:

    +
      +
    • atom styles
    • +
    • pair potentials
    • +
    • time integration
    • +
    • computes, thermodynamics, and dump output
    • +
    • rigid bodies composed of finite-size particles
    • +
    +

    Example input scripts for these kinds of models are in the body, colloid, dipole, ellipse, line, peri, pour, and tri directories of the -examples directory in the LAMMPS distribution. -

    -
    Atom styles -
    -

    There are several atom styles that allow for +examples directory in the LAMMPS distribution.

    +
    +

    6.14.1. Atom styles¶

    +

    There are several atom styles that allow for definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body. -

    -

    The sphere style defines particles that are spheriods and each +tri, peri, and body.

    +

    The sphere style defines particles that are spheriods and each particle can have a unique diameter and mass (or density). These particles store an angular velocity (omega) and can be acted upon by -torque. The "set" command can be used to modify the diameter and mass -of individual particles, after then are created. -

    -

    The dipole style does not actually define finite-size particles, but +torque. The “set” command can be used to modify the diameter and mass +of individual particles, after then are created.

    +

    The dipole style does not actually define finite-size particles, but is often used in conjunction with spherical particles, via a command -like -

    -
    atom_style hybrid sphere dipole 
    -
    -

    This is because when dipoles interact with each other, they induce +like

    +
    atom_style hybrid sphere dipole
    +
    +
    +

    This is because when dipoles interact with each other, they induce torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the atom_style -dipole command for details. The "set" command can be +inertia) in order to respond and rotate. See the atom_style dipole command for details. The “set” command can be used to modify the orientation and length of the dipole moment of -individual particles, after then are created. -

    -

    The ellipsoid style defines particles that are ellipsoids and thus can +individual particles, after then are created.

    +

    The ellipsoid style defines particles that are ellipsoids and thus can be aspherical. Each particle has a shape, specified by 3 diameters, and mass (or density). These particles store an angular momentum and their orientation (quaternion), and can be acted upon by torque. They do not store an angular velocity (omega), which can be in a different direction than angular momentum, rather they compute it as needed. -The "set" command can be used to modify the diameter, orientation, and +The “set” command can be used to modify the diameter, orientation, and mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are. -

    -

    The line style defines line segment particles with two end points and +brief explanation of what quaternions are.

    +

    The line style defines line segment particles with two end points and a mass (or density). They can be used in 2d simulations, and they can be joined together to form rigid bodies which represent arbitrary -polygons. -

    -

    The tri style defines triangular particles with three corner points +polygons.

    +

    The tri style defines triangular particles with three corner points and a mass (or density). They can be used in 3d simulations, and they can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface. -

    -

    The peri style is used with Peridynamic models and +particles with a triangulated surface.

    +

    The peri style is used with Peridynamic models and defines particles as having a volume, that is used internally in the -pair_style peri potentials. -

    -

    The body style allows for definition of particles which can represent +pair_style peri potentials.

    +

    The body style allows for definition of particles which can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the body doc page. -

    -

    Note that if one of these atom styles is used (or multiple styles via -the atom_style hybrid command), not all particles in -the system are required to be finite-size or aspherical. -

    -

    For example, in the ellipsoid style, if the 3 shape parameters are set +is discussed in more detail on the body doc page.

    +

    Note that if one of these atom styles is used (or multiple styles via +the atom_style hybrid command), not all particles in +the system are required to be finite-size or aspherical.

    +

    For example, in the ellipsoid style, if the 3 shape parameters are set to the same value, the particle will be a sphere rather than an ellipsoid. If the 3 shape parameters are all set to 0.0 or if the diameter is set to 0.0, it will be a point particle. In the line or tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle. -

    -

    Some of the pair styles used to compute pairwise interactions between +will be a point particle.

    +

    Some of the pair styles used to compute pairwise interactions between finite-size particles also compute the correct interaction with point particles as well, e.g. the interaction between a point particle and a finite-size particle or between two point particles. If necessary, -pair_style hybrid can be used to insure the correct +pair_style hybrid can be used to insure the correct interactions are computed for the appropriate style of interactions. Likewise, using groups to partition particles (ellipsoids versus spheres versus point particles) will allow you to use the appropriate time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details. -

    -

    Also note that for 2d simulations, atom styles sphere +particles. See the doc pages for various commands for details.

    +

    Also note that for 2d simulations, atom styles sphere and ellipsoid still use 3d particles, rather than as circular disks or ellipses. This means they have the same moment of inertia as the 3d object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system. -

    -
    Pair potentials -
    -

    When a system with finite-size particles is defined, the particles +are used for rotation in a 2d versus 3d system.

    +
    +
    +

    6.14.2. Pair potentials¶

    +

    When a system with finite-size particles is defined, the particles will only rotate and experience torque if the force field computes -such interactions. These are the various pair -styles that generate torque: -

    - -

    The granular pair styles are used with spherical particles. The +such interactions. These are the various pair styles that generate torque:

    + +

    The granular pair styles are used with spherical particles. The dipole pair style is used with the dipole atom style, which could be applied to spherical or ellipsoidal particles. The GayBerne and REsquared potentials require ellipsoidal particles, though they will also work if the 3 shape parameters are the same (a sphere). The Brownian and lubrication potentials are used with spherical particles. The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively. -

    -
    Time integration -
    -

    There are several fixes that perform time integration on finite-size +triangular, and body particles respectively.

    +
    +
    +

    6.14.3. Time integration¶

    +

    There are several fixes that perform time integration on finite-size spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles: -

    - -

    Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles: -

    - -

    The advantage of these fixes is that those which thermostat the +orientation and angular velocity or angular momentum of the particles:

    + +

    Likewise, there are 3 fixes that perform time integration on +ellipsoidal particles:

    + +

    The advantage of these fixes is that those which thermostat the particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The fix langevin -command can also be used with its omgea or angmom options to +calculation and thermostatting. The fix langevin +command can also be used with its omgea or angmom options to thermostat the rotational degrees of freedom for spherical or ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles. -

    -

    These fixes perform constant NVE time integration on line segment, -triangular, and body particles: -

    - -

    Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with groups which -contain finite-size particles. -

    -
    Computes, thermodynamics, and dump output -
    -

    There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles: -

    - -

    These include rotational degrees of freedom in their computation. If +translational kinetic energy of finite-size particles.

    +

    These fixes perform constant NVE time integration on line segment, +triangular, and body particles:

    + +

    Note that for mixtures of point and finite-size particles, these +integration fixes can only be used with groups which +contain finite-size particles.

    +
    +
    +

    6.14.4. Computes, thermodynamics, and dump output¶

    +

    There are several computes that calculate the temperature or +rotational energy of spherical or ellipsoidal particles:

    + +

    These include rotational degrees of freedom in their computation. If you wish the thermodynamic output of temperature or pressure to use one of these computes (e.g. for a system entirely composed of finite-size particles), then the compute can be defined and the -thermo_modify command used. Note that by default +thermo_modify command used. Note that by default thermodynamic quantities will be calculated with a temperature that only includes translational degrees of freedom. See the -thermo_style command for details. -

    -

    These commands can be used to output various attributes of finite-size -particles: -

    - -

    Attributes include the dipole moment, the angular velocity, the +thermo_style command for details.

    +

    These commands can be used to output various attributes of finite-size +particles:

    + +

    Attributes include the dipole moment, the angular velocity, the angular momentum, the quaternion, the torque, the end-point and corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles. -

    -
    Rigid bodies composed of finite-size particles -
    -

    The fix rigid command treats a collection of +sub-particle attributes of body particles.

    +
    +
    +

    6.14.5. Rigid bodies composed of finite-size particles¶

    +

    The fix rigid command treats a collection of particles as a rigid body, computes its inertia tensor, sums the total force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body. -

    -

    If any of the constituent particles of a rigid body are finite-size +constituent particles, and integrates the motion of the rigid body.

    +

    If any of the constituent particles of a rigid body are finite-size particles (spheres or ellipsoids or line segments or triangles), then their contribution to the inertia tensor of the body is different than if they were point particles. This means the rotational dynamics of @@ -1258,290 +1301,265 @@ different if the dimer consists of two point masses versus two spheroids, even if the two particles have the same mass. Finite-size particles that experience torque due to their interaction with other particles will also impart that torque to a rigid body they are part -of. -

    -

    See the "fix rigid" command for example of complex rigid-body models -it is possible to define in LAMMPS. -

    -

    Note that the fix shake command can also be used to +of.

    +

    See the “fix rigid” command for example of complex rigid-body models +it is possible to define in LAMMPS.

    +

    Note that the fix shake command can also be used to treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses. -

    -

    Also note that body particles cannot be modeled with the fix -rigid command. Body particles are treated by LAMMPS +particles are point masses.

    +

    Also note that body particles cannot be modeled with the fix rigid command. Body particles are treated by LAMMPS as single particles, though they can store internal state, such as a list of sub-particles. Individual body partices are typically treated -as rigid bodies, and their motion integrated with a command like fix -nve/body. Interactions between pairs of body -particles are computed via a command like pair_style -body. -

    -
    - -

    6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) -

    -

    There are four basic kinds of LAMMPS output: -

    -
    • Thermodynamic output, which is a list -of quantities printed every few timesteps to the screen and logfile. - -
    • Dump files, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency. - -
    • Certain fixes can output user-specified quantities to files: fix -ave/time for time averaging, fix -ave/spatial for spatial averaging, and fix -print for single-line output of -variables. Fix print can also output to the -screen. - -
    • Restart files. -
    -

    A simulation prints one set of thermodynamic output and (optionally) +as rigid bodies, and their motion integrated with a command like fix nve/body. Interactions between pairs of body +particles are computed via a command like pair_style body.

    +
    +
    +
    +
    +

    6.15. Output from LAMMPS (thermo, dumps, computes, fixes, variables)¶

    +

    There are four basic kinds of LAMMPS output:

    +
      +
    • Thermodynamic output, which is a list +of quantities printed every few timesteps to the screen and logfile.
    • +
    • Dump files, which contain snapshots of atoms and various +per-atom values and are written at a specified frequency.
    • +
    • Certain fixes can output user-specified quantities to files: fix ave/time for time averaging, fix ave/spatial for spatial averaging, and fix print for single-line output of +variables. Fix print can also output to the +screen.
    • +
    • Restart files.
    • +
    +

    A simulation prints one set of thermodynamic output and (optionally) restart files. It can generate any number of dump files and fix -output files, depending on what dump and fix -commands you specify. -

    -

    As discussed below, LAMMPS gives you a variety of ways to determine +output files, depending on what dump and fix +commands you specify.

    +

    As discussed below, LAMMPS gives you a variety of ways to determine what quantities are computed and printed when the thermodynamics, dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also add their own computes and fixes -to LAMMPS which can then generate values that can -then be output with these commands. -

    -

    The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce: -

    - -
    Global/per-atom/local data -
    -

    Various output-related commands work with three different styles of +discussion, note that users can also add their own computes and fixes to LAMMPS which can then generate values that can +then be output with these commands.

    +

    The following sub-sections discuss different LAMMPS command related +to output and the kind of data they operate on and produce:

    + +
    +

    6.15.1. Global/per-atom/local data¶

    +

    Various output-related commands work with three different styles of data: global, per-atom, or local. A global datum is one or more system-wide values, e.g. the temperature of the system. A per-atom datum is one or more values per atom, e.g. the kinetic energy of each atom. Local datums are calculated by each processor based on the atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. -

    -
    Scalar/vector/array data -
    -

    Global, per-atom, and local datums can each come in three kinds: a +bond distances.

    +
    +
    +

    6.15.2. Scalar/vector/array data¶

    +

    Global, per-atom, and local datums can each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The -doc page for a "compute" or "fix" or "variable" that generates data +doc page for a “compute” or “fix” or “variable” that generates data will specify both the style and kind of data it produces, e.g. a -per-atom vector. -

    -

    When a quantity is accessed, as in many of the output commands +per-atom vector.

    +

    When a quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket notation, where ID in this case is the ID of a compute. The leading -"c_" would be replaced by "f_" for a fix, or "v_" for a variable: -

    -
    - - -
    c_ID entire scalar, vector, or array
    c_ID[I] one element of vector, one column of array
    c_ID[I][J] one element of array -
    - -

    In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses +“c_” would be replaced by “f_” for a fix, or “v_” for a variable:

    + ++++ + + + + + + + + + + + +
    c_IDentire scalar, vector, or array
    c_ID[I]one element of vector, one column of array
    c_ID[I][J]one element of array
    +

    In other words, using one bracket reduces the dimension of the data +once (vector -> scalar, array -> vector). Using two brackets reduces +the dimension twice (array -> scalar). Thus a command that uses scalar values as input can typically also process elements of a vector -or array. -

    -
    Thermodynamic output -
    -

    The frequency and format of thermodynamic output is set by the -thermo, thermo_style, and -thermo_modify commands. The -thermo_style command also specifies what values +or array.

    +
    +
    +

    6.15.3. Thermodynamic output¶

    +

    The frequency and format of thermodynamic output is set by the +thermo, thermo_style, and +thermo_modify commands. The +thermo_style command also specifies what values are calculated and written out. Pre-defined keywords can be specified (e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a compute -or fix or variable provides the value to be +also be specified (c_ID, f_ID, v_name), where a compute +or fix or variable provides the value to be output. In each case, the compute, fix, or variable must generate -global values for input to the thermo_style custom -command. -

    -

    Note that thermodynamic output values can be "extensive" or -"intensive". The former scale with the number of atoms in the system +global values for input to the thermo_style custom +command.

    +

    Note that thermodynamic output values can be “extensive” or +“intensive”. The former scale with the number of atoms in the system (e.g. total energy), the latter do not (e.g. temperature). The -setting for thermo_modify norm determines whether +setting for thermo_modify norm determines whether extensive quantities are normalized or not. Computes and fixes produce either extensive or intensive values; see their individual doc -pages for details. Equal-style variables produce only -intensive values; you can include a division by "natoms" in the +pages for details. Equal-style variables produce only +intensive values; you can include a division by “natoms” in the formula if desired, to make an extensive calculation produce an -intensive result. -

    -
    Dump file output -
    -

    Dump file output is specified by the dump and -dump_modify commands. There are several -pre-defined formats (dump atom, dump xtc, etc). -

    -

    There is also a dump custom format where the user +intensive result.

    +
    +
    +

    6.15.4. Dump file output¶

    +

    Dump file output is specified by the dump and +dump_modify commands. There are several +pre-defined formats (dump atom, dump xtc, etc).

    +

    There is also a dump custom format where the user specifies what values are output with each atom. Pre-defined atom attributes can be specified (id, x, fx, etc). Three additional kinds of keywords can also be specified (c_ID, f_ID, v_name), where a -compute or fix or variable +compute or fix or variable provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the dump -custom command. -

    -

    There is also a dump local format where the user specifies +variable must generate per-atom values for input to the dump custom command.

    +

    There is also a dump local format where the user specifies what local values to output. A pre-defined index keyword can be specified to enumuerate the local values. Two additional kinds of keywords can also be specified (c_ID, f_ID), where a -compute or fix or variable +compute or fix or variable provides the values to be output. In each case, the compute or fix -must generate local values for input to the dump local -command. -

    -
    Fixes that write output files -
    -

    Several fixes take various quantities as input and can write output -files: fix ave/time, fix -ave/spatial, fix ave/histo, -fix ave/correlate, and fix -print. -

    -

    The fix ave/time command enables direct output to +must generate local values for input to the dump local +command.

    +
    +
    +

    6.15.5. Fixes that write output files¶

    +

    Several fixes take various quantities as input and can write output +files: fix ave/time, fix ave/spatial, fix ave/histo, +fix ave/correlate, and fix print.

    +

    The fix ave/time command enables direct output to a file and/or time-averaging of global scalars or vectors. The user specifies one or more quantities as input. These can be global -compute values, global fix values, or -variables of any style except the atom style which +compute values, global fix values, or +variables of any style except the atom style which produces per-atom values. Since a variable can refer to keywords used -by the thermo_style custom command (like temp or +by the thermo_style custom command (like temp or press) and individual per-atom values, a wide variety of quantities can be time averaged and/or output in this way. If the inputs are one or more scalar values, then the fix generate a global scalar or vector of output. If the inputs are one or more vector values, then the fix generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands. -

    -

    The fix ave/spatial command enables direct +output of this fix can also be used as input to other output commands.

    +

    The fix ave/spatial command enables direct output to a file of spatial-averaged per-atom quantities like those output in dump files, within 1d layers of the simulation box. The per-atom quantities can be atom density (mass or number) or atom attributes such as position, velocity, force. They can also be -per-atom quantities calculated by a compute, by a -fix, or by an atom-style variable. The +per-atom quantities calculated by a compute, by a +fix, or by an atom-style variable. The spatial-averaged output of this fix can also be used as input to other -output commands. -

    -

    The fix ave/histo command enables direct output +output commands.

    +

    The fix ave/histo command enables direct output to a file of histogrammed quantities, which can be global or per-atom or local quantities. The histogram output of this fix can also be -used as input to other output commands. -

    -

    The fix ave/correlate command enables direct +used as input to other output commands.

    +

    The fix ave/correlate command enables direct output to a file of time-correlated quantities, which can be global scalars. The correlation matrix output of this fix can also be used -as input to other output commands. -

    -

    The fix print command can generate a line of output +as input to other output commands.

    +

    The fix print command can generate a line of output written to the screen and log file or to a separate file, periodically during a running simulation. The line can contain one or more -variable values for any style variable except the atom +variable values for any style variable except the atom style). As explained above, variables themselves can contain -references to global values generated by thermodynamic -keywords, computes, -fixes, or other variables, or to per-atom -values for a specific atom. Thus the fix print +references to global values generated by thermodynamic keywords, computes, +fixes, or other variables, or to per-atom +values for a specific atom. Thus the fix print command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output. -

    -
    Computes that process output quantities -
    -

    The compute reduce and compute -reduce/region commands take one or more per-atom -or local vector quantities as inputs and "reduce" them (sum, min, max, +from normal thermodynamic or dump file output.

    +
    +
    +

    6.15.6. Computes that process output quantities¶

    +

    The compute reduce and compute reduce/region commands take one or more per-atom +or local vector quantities as inputs and “reduce” them (sum, min, max, ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands. -

    -

    The compute slice command take one or more global +can be used as input to other output commands.

    +

    The compute slice command take one or more global vector or array quantities as inputs and extracts a subset of their values to create a new vector or array. These are produced as output -values which can be used as input to other output commands. -

    -

    The compute property/atom command takes a +values which can be used as input to other output commands.

    +

    The compute property/atom command takes a list of one or more pre-defined atom attributes (id, x, fx, etc) and stores the values in a per-atom vector or array. These are produced as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the dump -custom command. -

    -

    The compute property/local command takes +The list of atom attributes is the same as for the dump custom command.

    +

    The compute property/local command takes a list of one or more pre-defined local attributes (bond info, angle info, etc) and stores the values in a local vector or array. These are produced as output values which can be used as input to other -output commands. -

    -
    Fixes that process output quantities -
    -

    The fix vector command can create global vectors as +output commands.

    +
    +
    +

    6.15.7. Fixes that process output quantities¶

    +

    The fix vector command can create global vectors as output from global scalars as input, accumulating them one element at -a time. -

    -

    The fix ave/atom command performs time-averaging +a time.

    +

    The fix ave/atom command performs time-averaging of per-atom vectors. The per-atom quantities can be atom attributes such as position, velocity, force. They can also be per-atom -quantities calculated by a compute, by a -fix, or by an atom-style variable. The +quantities calculated by a compute, by a +fix, or by an atom-style variable. The time-averaged per-atom output of this fix can be used as input to -other output commands. -

    -

    The fix store/state command can archive one or +other output commands.

    +

    The fix store/state command can archive one or more per-atom attributes at a particular time, so that the old values can be used in a future calculation or output. The list of atom -attributes is the same as for the dump custom command, -including per-atom quantities calculated by a compute, -by a fix, or by an atom-style variable. -The output of this fix can be used as input to other output commands. -

    -
    Computes that generate values to output -
    -

    Every compute in LAMMPS produces either global or +attributes is the same as for the dump custom command, +including per-atom quantities calculated by a compute, +by a fix, or by an atom-style variable. +The output of this fix can be used as input to other output commands.

    +
    +
    +

    6.15.8. Computes that generate values to output¶

    +

    Every compute in LAMMPS produces either global or per-atom or local values. The values can be scalars or vectors or arrays of data. These values can be output using the other commands described in this section. The doc page for each compute command describes what it produces. Computes that produce per-atom or local -values have the word "atom" or "local" in their style name. Computes -without the word "atom" or "local" produce global values. -

    -
    Fixes that generate values to output -
    -

    Some fixes in LAMMPS produces either global or per-atom or +values have the word “atom” or “local” in their style name. Computes +without the word “atom” or “local” produce global values.

    +
    +
    +

    6.15.9. Fixes that generate values to output¶

    +

    Some fixes in LAMMPS produces either global or per-atom or local values which can be accessed by other commands. The values can be scalars or vectors or arrays of data. These values can be output using the other commands described in this section. The doc page for each fix command tells whether it produces any output quantities and -describes them. -

    -
    Variables that generate values to output -
    -

    Every variables defined in an input script generates +describes them.

    +
    +
    +

    6.15.10. Variables that generate values to output¶

    +

    Every variables defined in an input script generates either a global scalar value or a per-atom vector (only atom-style variables) when it is accessed. The formulas used to define equal- and atom-style variables can contain references to the thermodynamic keywords and to global and per-atom data generated by computes, fixes, and other variables. The values generated by variables can be output -using the other commands described in this section. -

    -
    Summary table of output options and data flow between commands -
    -

    This table summarizes the various commands that can be used for +using the other commands described in this section.

    +
    +
    +

    6.15.11. Summary table of output options and data flow between commands¶

    +

    This table summarizes the various commands that can be used for generating output from LAMMPS. Each command produces output data of some kind and/or writes data to a file. Most of the commands can take data from other commands as input. Thus you can link many of these @@ -1549,273 +1567,331 @@ commands together in pipeline form, where data produced by one command is used as input to another command and eventually written to the screen or to a file. Note that to hook two commands together the output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data. -

    -

    Also note that, as described above, when a command takes a scalar as +data and scalar/vector/array data.

    +

    Also note that, as described above, when a command takes a scalar as input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array. -

    -
    - - - - - - - - - - - - - - - - - - - - -
    Command Input Output
    thermo_style custom global scalars screen, log file
    dump custom per-atom vectors dump file
    dump local local vectors dump file
    fix print global scalar from variable screen, file
    print global scalar from variable screen
    computes N/A global/per-atom/local scalar/vector/array
    fixes N/A global/per-atom/local scalar/vector/array
    variables global scalars, per-atom vectors global scalar, per-atom vector
    compute reduce per-atom/local vectors global scalar/vector
    compute slice global vectors/arrays global vector/array
    compute property/atom per-atom vectors per-atom vector/array
    compute property/local local vectors local vector/array
    fix vector global scalars global vector
    fix ave/atom per-atom vectors per-atom vector/array
    fix ave/time global scalars/vectors global scalar/vector/array, file
    fix ave/spatial per-atom vectors global array, file
    fix ave/histo global/per-atom/local scalars and vectors global array, file
    fix ave/correlate global scalars global array, file
    fix store/state per-atom vectors per-atom vector/array
    -
    - -
    - -

    6.16 Thermostatting, barostatting, and computing temperature -

    -

    Thermostatting means controlling the temperature of particles in an MD +vector input could be a column of an array.

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CommandInputOutput 
    thermo_style customglobal scalarsscreen, log file 
    dump customper-atom vectorsdump file 
    dump locallocal vectorsdump file 
    fix printglobal scalar from variablescreen, file 
    printglobal scalar from variablescreen 
    computesN/Aglobal/per-atom/local scalar/vector/array 
    fixesN/Aglobal/per-atom/local scalar/vector/array 
    variablesglobal scalars, per-atom vectorsglobal scalar, per-atom vector 
    compute reduceper-atom/local vectorsglobal scalar/vector 
    compute sliceglobal vectors/arraysglobal vector/array 
    compute property/atomper-atom vectorsper-atom vector/array 
    compute property/locallocal vectorslocal vector/array 
    fix vectorglobal scalarsglobal vector 
    fix ave/atomper-atom vectorsper-atom vector/array 
    fix ave/timeglobal scalars/vectorsglobal scalar/vector/array, file 
    fix ave/spatialper-atom vectorsglobal array, file 
    fix ave/histoglobal/per-atom/local scalars and vectorsglobal array, file 
    fix ave/correlateglobal scalarsglobal array, file 
    fix store/stateper-atom vectorsper-atom vector/array 
        
    +
    +
    +
    +
    +

    6.16. Thermostatting, barostatting, and computing temperature¶

    +

    Thermostatting means controlling the temperature of particles in an MD simulation. Barostatting means controlling the pressure. Since the pressure includes a kinetic component due to particle velocities, both these operations require calculation of the temperature. Typically a target temperature (T) and/or pressure (P) is specified by the user, and the thermostat or barostat attempts to equilibrate the system to -the requested T and/or P. -

    -

    Temperature is computed as kinetic energy divided by some number of +the requested T and/or P.

    +

    Temperature is computed as kinetic energy divided by some number of degrees of freedom (and the Boltzmann constant). Since kinetic energy is a function of particle velocity, there is often a need to -distinguish between a particle's advection velocity (due to some +distinguish between a particle’s advection velocity (due to some aggregate motiion of particles) and its thermal velocity. The sum of -the two is the particle's total velocity, but the latter is often what -is wanted to compute a temperature. -

    -

    LAMMPS has several options for computing temperatures, any of which -can be used in thermostatting and barostatting. These compute -commands calculate temperature, and the compute -pressure command calculates pressure. -

    - -

    All but the first 3 calculate velocity biases directly (e.g. advection +the two is the particle’s total velocity, but the latter is often what +is wanted to compute a temperature.

    +

    LAMMPS has several options for computing temperatures, any of which +can be used in thermostatting and barostatting. These compute commands calculate temperature, and the compute pressure command calculates pressure.

    + +

    All but the first 3 calculate velocity biases directly (e.g. advection velocities) that are removed when computing the thermal temperature. -Compute temp/sphere and compute -temp/asphere compute kinetic energy for +Compute temp/sphere and compute temp/asphere compute kinetic energy for finite-size particles that includes rotational degrees of freedom. They both allow for velocity biases indirectly, via an optional extra argument, another temperature compute that subtracts a velocity bias. This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways. -

    -

    Thermostatting in LAMMPS is performed by fixes, or in one +particles to be adjusted in prescribed ways.

    +

    Thermostatting in LAMMPS is performed by fixes, or in one case by a pair style. Several thermostatting fixes are available: Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling (temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the dpd/tstat pair style: -

    - -

    Fix nvt only thermostats the translational velocity of -particles. Fix nvt/sllod also does this, except +can be invoked via the dpd/tstat pair style:

    + +

    Fix nvt only thermostats the translational velocity of +particles. Fix nvt/sllod also does this, except that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the NEMD -simulations section of this page for further details. Fix -nvt/sphere and fix -nvt/asphere thermostat not only translation +integrates the SLLOD equations of motion. See the NEMD simulations section of this page for further details. Fix nvt/sphere and fix nvt/asphere thermostat not only translation velocities but also rotational velocities for spherical and aspherical -particles. -

    -

    DPD thermostatting alters pairwise interactions in a manner analagous -to the per-particle thermostatting of fix -langevin. -

    -

    Any of the thermostatting fixes can use temperature computes that +particles.

    +

    DPD thermostatting alters pairwise interactions in a manner analagous +to the per-particle thermostatting of fix langevin.

    +

    Any of the thermostatting fixes can use temperature computes that remove bias which has two effects. First, the current calculated temperature, which is compared to the requested target temperature, is caluclated with the velocity bias removed. Second, the thermostat -adjusts only the thermal temperature component of the particle's +adjusts only the thermal temperature component of the particle’s velocities, which are the velocities with the bias removed. The removed bias is then added back to the adjusted velocities. See the doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign +fix_modify command for instructions on how to assign a temperature compute to a thermostatting fix. For example, you can apply a thermostat to only the x and z components of velocity by using -it in conjunction with compute -temp/partial. Of you could thermostat only +it in conjunction with compute temp/partial. Of you could thermostat only the thermal temperature of a streaming flow of particles without -affecting the streaming velocity, by using compute -temp/profile. -

    -

    IMPORTANT NOTE: Only the nvt fixes perform time integration, meaning +affecting the streaming velocity, by using compute temp/profile.

    +
    +

    Warning

    +

    Only the nvt fixes perform time integration, meaning they update the velocities and positions of particles due to forces and velocities respectively. The other thermostat fixes only adjust velocities; they do NOT perform time integration updates. Thus they should be used in conjunction with a constant NVE integration fix such -as these: -

    - -

    Barostatting in LAMMPS is also performed by fixes. Two +as these:

    +
    + +

    Barostatting in LAMMPS is also performed by fixes. Two barosttating methods are currently available: Nose-Hoover (npt and -nph) and Berendsen: -

    - -

    The fix npt commands include a Nose-Hoover thermostat -and barostat. Fix nph is just a Nose/Hoover barostat; -it does no thermostatting. Both fix nph and fix -press/bernendsen can be used in conjunction -with any of the thermostatting fixes. -

    -

    As with the thermostats, fix npt and fix -nph only use translational motion of the particles in -computing T and P and performing thermo/barostatting. Fix -npt/sphere and fix -npt/asphere thermo/barostat using not only +nph) and Berendsen:

    + +

    The fix npt commands include a Nose-Hoover thermostat +and barostat. Fix nph is just a Nose/Hoover barostat; +it does no thermostatting. Both fix nph and fix press/bernendsen can be used in conjunction +with any of the thermostatting fixes.

    +

    As with the thermostats, fix npt and fix nph only use translational motion of the particles in +computing T and P and performing thermo/barostatting. Fix npt/sphere and fix npt/asphere thermo/barostat using not only translation velocities but also rotational velocities for spherical -and aspherical particles. -

    -

    All of the barostatting fixes use the compute -pressure compute to calculate a current -pressure. By default, this compute is created with a simple compute -temp (see the last argument of the compute -pressure command), which is used to calculated +and aspherical particles.

    +

    All of the barostatting fixes use the compute pressure compute to calculate a current +pressure. By default, this compute is created with a simple compute temp (see the last argument of the compute pressure command), which is used to calculated the kinetic componenet of the pressure. The barostatting fixes can also use temperature computes that remove bias for the purpose of computing the kinetic componenet which contributes to the current pressure. See the doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign -a temperature or pressure compute to a barostatting fix. -

    -

    IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (fix -npt and fix nph) perform time -integration. Fix press/berendsen does NOT, +fix_modify command for instructions on how to assign +a temperature or pressure compute to a barostatting fix.

    +
    +

    Warning

    +

    As with the thermostats, the Nose/Hoover methods (fix npt and fix nph) perform time +integration. Fix press/berendsen does NOT, so it should be used with one of the constant NVE fixes or with one of -the NVT fixes. -

    -

    Finally, thermodynamic output, which can be setup via the -thermo_style command, often includes temperature +the NVT fixes.

    +
    +

    Finally, thermodynamic output, which can be setup via the +thermo_style command, often includes temperature and pressure values. As explained on the doc page for the -thermo_style command, the default T and P are +thermo_style command, the default T and P are setup by the thermo command itself. They are NOT the ones associated with any thermostatting or barostatting fix you have defined or with any compute that calculates a temperature or pressure. Thus if you want to view these values of T and P, you need to specify them -explicitly via a thermo_style custom command. Or -you can use the thermo_modify command to +explicitly via a thermo_style custom command. Or +you can use the thermo_modify command to re-define what temperature or pressure compute is used for default -thermodynamic output. -

    -
    - -

    6.17 Walls -

    -

    Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition. -

    -

    Walls in LAMMPS can be of rough (made of particles) or idealized +thermodynamic output.

    +
    +
    +
    +

    6.17. Walls¶

    +

    Walls in an MD simulation are typically used to bound particle motion, +i.e. to serve as a boundary condition.

    +

    Walls in LAMMPS can be of rough (made of particles) or idealized surfaces. Ideal walls can be smooth, generating forces only in the normal direction, or frictional, generating forces also in the -tangential direction. -

    -

    Rough walls, built of particles, can be created in various ways. The +tangential direction.

    +

    Rough walls, built of particles, can be created in various ways. The particles themselves can be generated like any other particle, via the -lattice and create_atoms commands, -or read in via the read_data command. -

    -

    Their motion can be constrained by many different commands, so that +lattice and create_atoms commands, +or read in via the read_data command.

    +

    Their motion can be constrained by many different commands, so that they do not move at all, move together as a group at constant velocity or in response to a net force acting on them, move in a prescribed fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like fix nve or fix nvt +integration fix like fix nve or fix nvt is not used with the group that contains wall particles, their -positions and velocities will not be updated. -

    -
    • fix aveforce - set force on particles to average value, so they move together -
    • fix setforce - set force on particles to a value, e.g. 0.0 -
    • fix freeze - freeze particles for use as granular walls -
    • fix nve/noforce - advect particles by their velocity, but without force -
    • fix move - prescribe motion of particles by a linear velocity, oscillation, rotation, variable -
    -

    The fix move command offers the most generality, since +positions and velocities will not be updated.

    +
      +
    • fix aveforce - set force on particles to average value, so they move together
    • +
    • fix setforce - set force on particles to a value, e.g. 0.0
    • +
    • fix freeze - freeze particles for use as granular walls
    • +
    • fix nve/noforce - advect particles by their velocity, but without force
    • +
    • fix move - prescribe motion of particles by a linear velocity, oscillation, rotation, variable
    • +
    +

    The fix move command offers the most generality, since the motion of individual particles can be specified with -variable formula which depends on time and/or the -particle position. -

    -

    For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the neigh_modify -exclude command. -

    -

    Rough walls can also be created by specifying frozen particles that do +variable formula which depends on time and/or the +particle position.

    +

    For rough walls, it may be useful to turn off pairwise interactions +between wall particles via the neigh_modify exclude command.

    +

    Rough walls can also be created by specifying frozen particles that do not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a bond. -The bonded particles do interact with other mobile particles. -

    -

    Idealized walls can be specified via several fix commands. Fix -wall/gran creates frictional walls for use with -granular particles; all the other commands create smooth walls. -

    - -

    The lj93, lj126, colloid, and harmonic styles all allow the +other particles to the fixed particles, via a bond. +The bonded particles do interact with other mobile particles.

    +

    Idealized walls can be specified via several fix commands. Fix wall/gran creates frictional walls for use with +granular particles; all the other commands create smooth walls.

    + +

    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 command offers the most +The fix wall/region 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 can also -specify a volume "interior" or "exterior" to the specified primitive -shape or union or intersection. Regions can also be -"dynamic" meaning they move with constant velocity, oscillate, or -rotate. -

    -

    The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the fix wall/gran +and intersection of primitive volumes. Regions can also +specify a volume “interior” or “exterior” to the specified primitive +shape or union or intersection. Regions can also be +“dynamic” meaning they move with constant velocity, oscillate, or +rotate.

    +

    The only frictional idealized walls currently in LAMMPS are flat or +curved surfaces specified by the fix wall/gran command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces. -

    -
    - -

    6.18 Elastic constants -

    -

    Elastic constants characterize the stiffness of a material. The formal +frictional walls, as well as triangulated surfaces.

    +
    +
    +
    +

    6.18. Elastic constants¶

    +

    Elastic constants characterize the stiffness of a material. The formal definition is provided by the linear relation that holds between the stress and strain tensors in the limit of infinitesimal deformation. In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where @@ -1826,16 +1902,13 @@ constants. In three dimensions, this tensor has 3^4=81 elements. Using Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij is now the derivative of s_i w.r.t. e_j. Because s_i is itself a derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements. -

    -

    At zero temperature, it is easy to estimate these derivatives by +most 7*6/2 = 21 distinct elements.

    +

    At zero temperature, it is easy to estimate these derivatives by deforming the simulation box in one of the six directions using the -change_box command and measuring the change in the +change_box command and measuring the change in the stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described in this -section. -

    -

    Calculating elastic constants at finite temperature is more +examples/elastic directory described in this section.

    +

    Calculating elastic constants at finite temperature is more challenging, because it is necessary to run a simulation that perfoms time averages of differential properties. One way to do this is to measure the change in average stress tensor in an NVT simulations when @@ -1845,66 +1918,57 @@ the deformation must be chosen judiciously, and care must be taken to fully equilibrate the deformed cell before sampling the stress tensor. Another approach is to sample the triclinic cell fluctuations that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing (Shinoda) -

    -
    - -

    6.19 Library interface to LAMMPS -

    -

    As described in Section_start 5, LAMMPS +converge and requires careful post-processing (Shinoda)

    +
    +
    +
    +

    6.19. Library interface to LAMMPS¶

    +

    As described in Section_start 5, LAMMPS can be built as a library, so that it can be called by another code, -used in a coupled manner with other -codes, or driven through a Python interface. -

    -

    All of these methodologies use a C-style interface to LAMMPS that is +used in a coupled manner with other +codes, or driven through a Python interface.

    +

    All of these methodologies use a C-style interface to LAMMPS that is provided in the files src/library.cpp and src/library.h. The functions therein have a C-style argument list, but contain C++ code you could write yourself in a C++ application that was invoking LAMMPS directly. The C++ code in the functions illustrates how to invoke internal LAMMPS operations. Note that LAMMPS classes are defined within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application. -

    -

    Library.cpp contains these 4 functions: -

    -
    void lammps_open(int, char **, MPI_Comm, void **)
    +application.

    +

    Library.cpp contains these 4 functions:

    +
    void lammps_open(int, char **, MPI_Comm, void **)
     void lammps_close(void *)
     void lammps_file(void *, char *)
    -char *lammps_command(void *, char *) 
    -
    -

    The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were command-line -arguments when LAMMPS is run in +char *lammps_command(void *, char *) +

    + +

    The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were command-line arguments when LAMMPS is run in stand-alone mode from the command line, and a MPI communicator for LAMMPS to run under. It returns a ptr to the LAMMPS object that is created, and which is used in subsequent library calls. The lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS. -

    -

    LAMMPS will run on the set of processors in the communicator. This +multiple instances of LAMMPS.

    +

    LAMMPS will run on the set of processors in the communicator. This means the calling code can run LAMMPS on all or a subset of processors. For example, a wrapper script might decide to alternate between LAMMPS and another code, allowing them both to run on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. -

    -

    The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory. -

    -

    The lammps_file() and lammps_command() functions are used to pass a +instances of LAMMPS to perform different calculations.

    +

    The lammps_close() function is used to shut down an instance of LAMMPS +and free all its memory.

    +

    The lammps_file() and lammps_command() functions are used to pass a file or string to LAMMPS as if it were an input script or single command in an input script. Thus the calling code can read or generate a series of LAMMPS commands one line at a time and pass it thru the library interface to setup a problem and then run it, interleaving the lammps_command() calls with other calls to extract information from LAMMPS, perform its own operations, or call another -code's library. -

    -

    Other useful functions are also included in library.cpp. For example: -

    -
    void *lammps_extract_global(void *, char *)
    +code’s library.

    +

    Other useful functions are also included in library.cpp. For example:

    +
    void *lammps_extract_global(void *, char *)
     void *lammps_extract_atom(void *, char *)
     void *lammps_extract_compute(void *, char *, int, int)
     void *lammps_extract_fix(void *, char *, int, int, int, int)
    @@ -1912,209 +1976,187 @@ void *lammps_extract_variable(void *, char *, char *)
     int lammps_set_variable(void *, char *, char *)
     int lammps_get_natoms(void *)
     void lammps_get_coords(void *, double *)
    -void lammps_put_coords(void *, double *) 
    -
    -

    These can extract various global or per-atom quantities from LAMMPS as +void lammps_put_coords(void *, double *) +

    + +

    These can extract various global or per-atom quantities from LAMMPS as well as values calculated by a compute, fix, or variable. The -"set_variable" function can set an existing string-style variable to a +“set_variable” function can set an existing string-style variable to a new value, so that subsequent LAMMPS commands can access the variable. -The "get" and "put" operations can retrieve and reset atom +The “get” and “put” operations can retrieve and reset atom coordinates. See the library.cpp file and its associated header file -library.h for details. -

    -

    The key idea of the library interface is that you can write any +library.h for details.

    +

    The key idea of the library interface is that you can write any functions you wish to define how your code talks to LAMMPS and add -them to src/library.cpp and src/library.h, as well as to the Python -interface. The routines you add can access or +them to src/library.cpp and src/library.h, as well as to the Python interface. The routines you add can access or change any LAMMPS data you wish. The examples/COUPLE and python directories have example C++ and C and Python codes which show how a driver code can link to LAMMPS as a library, run LAMMPS on a subset of processors, grab data from LAMMPS, change it, and put it back into -LAMMPS. -

    -
    - -

    6.20 Calculating thermal conductivity -

    -

    The thermal conductivity kappa of a material can be measured in at +LAMMPS.

    +
    + +
    +

    6.20. Calculating thermal conductivity¶

    +

    The thermal conductivity kappa of a material can be measured in at least 4 ways using various options in LAMMPS. See the examples/KAPPA directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see this -section of the manual for an analogous -discussion for viscosity. -

    -

    The thermal conducitivity tensor kappa is a measure of the propensity +a simple Lennard-Jones fluid model. Also, see this section of the manual for an analogous +discussion for viscosity.

    +

    The thermal conducitivity tensor kappa is a measure of the propensity of a material to transmit heat energy in a diffusive manner as given -by Fourier's law -

    -

    J = -kappa grad(T) -

    -

    where J is the heat flux in units of energy per area per time and +by Fourier’s law

    +

    J = -kappa grad(T)

    +

    where J is the heat flux in units of energy per area per time and grad(T) is the spatial gradient of temperature. The thermal conductivity thus has units of energy per distance per time per degree K and is often approximated as an isotropic quantity, i.e. as a -scalar. -

    -

    The first method is to setup two thermostatted regions at opposite +scalar.

    +

    The first method is to setup two thermostatted regions at opposite ends of a simulation box, or one in the middle and one at the end of a periodic box. By holding the two regions at different temperatures -with a thermostatting fix, the energy +with a thermostatting fix, the energy added to the hot region should equal the energy subtracted from the cold region and be proportional to the heat flux moving between the -regions. See the paper by Ikeshoji and Hafskjold for -details of this idea. Note that thermostatting fixes such as fix -nvt, fix langevin, and fix -temp/rescale store the cumulative energy they -add/subtract. -

    -

    Alternatively, as a second method, the fix heat +regions. See the paper by Ikeshoji and Hafskjold for +details of this idea. Note that thermostatting fixes such as fix nvt, fix langevin, and fix temp/rescale store the cumulative energy they +add/subtract.

    +

    Alternatively, as a second method, the fix heat command can used in place of thermostats on each of two regions to add/subtract specified amounts of energy to both regions. In both cases, the resulting temperatures of the two regions can be monitored -with the "compute temp/region" command and the temperature profile of -the intermediate region can be monitored with the fix -ave/spatial and compute -ke/atom commands. -

    -

    The third method is to perform a reverse non-equilibrium MD simulation -using the fix thermal/conductivity +with the “compute temp/region” command and the temperature profile of +the intermediate region can be monitored with the fix ave/spatial and compute ke/atom commands.

    +

    The third method is to perform a reverse non-equilibrium MD simulation +using the fix thermal/conductivity command which implements the rNEMD algorithm of Muller-Plathe. Kinetic energy is swapped between atoms in two different layers of the simulation box. This induces a temperature gradient between the two -layers which can be monitored with the fix -ave/spatial and compute -ke/atom commands. The fix tallies the -cumulative energy transfer that it performs. See the fix -thermal/conductivity command for -details. -

    -

    The fourth method is based on the Green-Kubo (GK) formula which +layers which can be monitored with the fix ave/spatial and compute ke/atom commands. The fix tallies the +cumulative energy transfer that it performs. See the fix thermal/conductivity command for +details.

    +

    The fourth method is based on the Green-Kubo (GK) formula which relates the ensemble average of the auto-correlation of the heat flux to kappa. The heat flux can be calculated from the fluctuations of per-atom potential and kinetic energies and per-atom stress tensor in a steady-state equilibrated simulation. This is in contrast to the two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box. -

    -

    The compute heat/flux command can calculate +between hot and cold regions of the simulation box.

    +

    The compute heat/flux command can calculate the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the fix -ave/correlate command to calculate the needed -auto-correlation. See the doc page for the compute -heat/flux command for an example input script +formalism using additional LAMMPS commands, such as the fix ave/correlate command to calculate the needed +auto-correlation. See the doc page for the compute heat/flux command for an example input script that calculates the thermal conductivity of solid Ar via the GK -formalism. -

    -
    - -

    6.21 Calculating viscosity -

    -

    The shear viscosity eta of a fluid can be measured in at least 4 ways +formalism.

    +
    +
    +
    +

    6.21. Calculating viscosity¶

    +

    The shear viscosity eta of a fluid can be measured in at least 4 ways using various options in LAMMPS. See the examples/VISCOSITY directory for scripts that implement the 4 methods discussed here for a simple -Lennard-Jones fluid model. Also, see this -section of the manual for an analogous -discussion for thermal conductivity. -

    -

    Eta is a measure of the propensity of a fluid to transmit momentum in +Lennard-Jones fluid model. Also, see this section of the manual for an analogous +discussion for thermal conductivity.

    +

    Eta is a measure of the propensity of a fluid to transmit momentum in a direction perpendicular to the direction of velocity or momentum flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by -

    -

    J = -eta grad(Vstream) -

    -

    where J is the momentum flux in units of momentum per area per time. +sheared. It is given by

    +

    J = -eta grad(Vstream)

    +

    where J is the momentum flux in units of momentum per area per time. and grad(Vstream) is the spatial gradient of the velocity of the fluid moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time. -

    -

    The first method is to perform a non-equlibrium MD (NEMD) simulation -by shearing the simulation box via the fix deform -command, and using the fix nvt/sllod command to +momentum flows. Viscosity thus has units of pressure-time.

    +

    The first method is to perform a non-equlibrium MD (NEMD) simulation +by shearing the simulation box via the fix deform +command, and using the fix nvt/sllod command to thermostat the fluid via the SLLOD equations of motion. Alternatively, as a second method, one or more moving walls can be used to shear the fluid in between them, again with some kind of thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up. -

    -

    In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the fix -ave/spatial command, which determines +velocity to prevent the fluid from heating up.

    +

    In both cases, the velocity profile setup in the fluid by this +procedure can be monitored by the fix ave/spatial command, which determines grad(Vstream) in the equation above. E.g. the derivative in the y-direction of the Vx component of fluid motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of the pressure or stress -tensor, as calculated by the compute pressure +tensor, as calculated by the compute pressure command, can also be monitored, which is the J term in the equation -above. See this section of the manual -for details on NEMD simulations. -

    -

    The third method is to perform a reverse non-equilibrium MD simulation -using the fix viscosity command which implements +above. See this section of the manual +for details on NEMD simulations.

    +

    The third method is to perform a reverse non-equilibrium MD simulation +using the fix viscosity command which implements the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is swapped between atoms in two different layers of the simulation box in a different dimension. This induces a velocity gradient which can be -monitored with the fix ave/spatial command. +monitored with the fix ave/spatial command. The fix tallies the cummulative momentum transfer that it performs. -See the fix viscosity command for details. -

    -

    The fourth method is based on the Green-Kubo (GK) formula which +See the fix viscosity command for details.

    +

    The fourth method is based on the Green-Kubo (GK) formula which relates the ensemble average of the auto-correlation of the stress/pressure tensor to eta. This can be done in a steady-state equilibrated simulation which is in contrast to the two preceding non-equilibrium methods, where momentum flows continuously through the -simulation box. -

    -

    Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism: -

    -
    # Sample LAMMPS input script for viscosity of liquid Ar 
    -
    -
    units       real
    +simulation box.

    +

    Here is an example input script that calculates the viscosity of +liquid Ar via the GK formalism:

    +
    # Sample LAMMPS input script for viscosity of liquid Ar
    +
    +
    +
    units       real
     variable    T equal 86.4956
     variable    V equal vol
     variable    dt equal 4.0
     variable    p equal 400     # correlation length
     variable    s equal 5       # sample interval
    -variable    d equal $p*$s   # dump interval 
    -
    -
    # convert from LAMMPS real units to SI 
    -
    -
    variable    kB equal 1.3806504e-23    # [J/K/ Boltzmann
    +variable    d equal $p*$s   # dump interval
    +
    +
    +
    # convert from LAMMPS real units to SI
    +
    +
    +
    variable    kB equal 1.3806504e-23    # [J/K/** Boltzmann
     variable    atm2Pa equal 101325.0
     variable    A2m equal 1.0e-10
     variable    fs2s equal 1.0e-15
    -variable    convert equal ${atm2Pa}*${atm2Pa}*${fs2s}*${A2m}*${A2m}*${A2m} 
    -
    -
    # setup problem 
    -
    -
    dimension    3
    +variable    convert equal ${atm2Pa}*${atm2Pa}*${fs2s}*${A2m}*${A2m}*${A2m}
    +
    +
    +
    # setup problem
    +
    +
    +
    dimension    3
     boundary     p p p
     lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
     region       box block 0 4 0 4 0 4
     create_box   1 box
     create_atoms 1 box
    -mass	     1 39.948
    +mass      1 39.948
     pair_style   lj/cut 13.0
     pair_coeff   * * 0.2381 3.405
     timestep     ${dt}
    -thermo	     $d 
    -
    -
    # equilibration and thermalization 
    -
    -
    velocity     all create $T 102486 mom yes rot yes dist gaussian
    +thermo            $d
    +
    +
    +
    # equilibration and thermalization
    +
    +
    +
    velocity     all create $T 102486 mom yes rot yes dist gaussian
     fix          NVT all nvt temp $T $T 10 drag 0.2
    -run          8000 
    -
    -
    # viscosity calculation, switch to NVE if desired 
    -
    -
    #unfix       NVT
    -#fix         NVE all nve 
    -
    -
    reset_timestep 0
    +run          8000
    +
    +
    +
    # viscosity calculation, switch to NVE if desired
    +
    +
    +
    #unfix       NVT
    +#fix         NVE all nve
    +
    +
    +
    reset_timestep 0
     variable     pxy equal pxy
     variable     pxz equal pxz
     variable     pyz equal pyz
    -fix          SS all ave/correlate $s $p $d &
    +fix          SS all ave/correlate $s $p $d &
                  v_pxy v_pxz v_pyz type auto file S0St.dat ave running
     variable     scale equal ${convert}/(${kB}*$T)*$V*$s*${dt}
     variable     v11 equal trap(f_SS[3])*${scale}
    @@ -2124,200 +2166,211 @@ thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33
     run          100000
     variable     v equal (v_v11+v_v22+v_v33)/3.0
     variable     ndens equal count(all)/vol
    -print        "average viscosity: $v [Pa.s/ @ $T K, ${ndens} /A^3" 
    -
    -
    - -

    6.22 Calculating a diffusion coefficient -

    -

    The diffusion coefficient D of a material can be measured in at least +print "average viscosity: $v [Pa.s/** @ $T K, ${ndens} /A^3" +

    + +
    + +
    +

    6.22. Calculating a diffusion coefficient¶

    +

    The diffusion coefficient D of a material can be measured in at least 2 ways using various options in LAMMPS. See the examples/DIFFUSE directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model. -

    -

    The first method is to measure the mean-squared displacement (MSD) of -the system, via the compute msd command. The slope +a simple Lennard-Jones fluid model.

    +

    The first method is to measure the mean-squared displacement (MSD) of +the system, via the compute msd command. The slope of the MSD versus time is proportional to the diffusion coefficient. The instantaneous MSD values can be accumulated in a vector via the -fix vector command, and a line fit to the vector to -compute its slope via the variable slope function, and -thus extract D. -

    -

    The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the compute vacf +fix vector command, and a line fit to the vector to +compute its slope via the variable slope function, and +thus extract D.

    +

    The second method is to measure the velocity auto-correlation function +(VACF) of the system, via the compute vacf command. The time-integral of the VACF is proportional to the diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the fix vector command, -and time integrated via the variable trap function, -and thus extract D. -

    -
    - -

    6.23 Using chunks to calculate system properties -

    -

    In LAMMS, "chunks" are collections of atoms, as defined by the -compute chunk/atom command, which assigns +accumulated in a vector via the fix vector command, +and time integrated via the variable trap function, +and thus extract D.

    +
    +
    +
    +

    6.23. Using chunks to calculate system properties¶

    +

    In LAMMS, “chunks” are collections of atoms, as defined by the +compute chunk/atom command, which assigns each atom to a chunk ID (or to no chunk at all). The number of chunks and the assignment of chunk IDs to atoms can be static or change over -time. Examples of "chunks" are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy). -

    -

    The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system: -

    - -

    Here, each of the 3 kinds of chunk-related commands is briefly +time. Examples of “chunks” are molecules or spatial bins or atoms +with similar values (e.g. coordination number or potential energy).

    +

    The per-atom chunk IDs can be used as input to two other kinds of +commands, to calculate various properties of a system:

    + +

    Here, each of the 3 kinds of chunk-related commands is briefly overviewed. Then some examples are given of how to compute different -properties with chunk commands. -

    -
    Compute chunk/atom command: -
    -

    This compute can assign atoms to chunks of various styles. Only atoms +properties with chunk commands.

    +
    +

    6.23.1. Compute chunk/atom command:¶

    +

    This compute can assign atoms to chunks of various styles. Only atoms in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions: -

    -
    - - - - - - - -
    atoms in same molecule chunk ID = molecule ID
    atoms of same atom type chunk ID = atom type
    all atoms with same atom property (charge, radius, etc) chunk ID = output of compute property/atom
    atoms in same cluster chunk ID = output of compute cluster/atom command
    atoms in same spatial bin chunk ID = bin ID
    atoms in same rigid body chunk ID = molecule ID used to define rigid bodies
    atoms with similar potential energy chunk ID = output of compute pe/atom
    atoms with same local defect structure chunk ID = output of compute centro/atom or compute coord/atom command -
    - -

    Note that chunk IDs are integer values, so for atom properties or +chunk. Here are some possible chunk definitions:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    atoms in same moleculechunk ID = molecule ID
    atoms of same atom typechunk ID = atom type
    all atoms with same atom property (charge, radius, etc)chunk ID = output of compute property/atom
    atoms in same clusterchunk ID = output of compute cluster/atom command
    atoms in same spatial binchunk ID = bin ID
    atoms in same rigid bodychunk ID = molecule ID used to define rigid bodies
    atoms with similar potential energychunk ID = output of compute pe/atom
    atoms with same local defect structurechunk ID = output of compute centro/atom or compute coord/atom command
    +

    Note that chunk IDs are integer values, so for atom properties or computes that produce a floating point value, they will be truncated to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple intergers. -

    -

    Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins. -

    -

    This compute also calculates the number of chunks Nchunk, which is -used by other commands to tally per-chunk data. Nchunk can be a +scales the floating point value to spread it across multiple intergers.

    +

    Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = +pencils, 3d bins = boxes, spherical bins, cylindrical bins.

    +

    This compute also calculates the number of chunks Nchunk, which is +used by other commands to tally per-chunk data. Nchunk can be a static value or change over time (e.g. the number of clusters). The chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves). -

    -

    Note that this compute allows the per-atom output of other -computes, fixes, and -variables to be used to define chunk IDs for each +ID), or dynamic (e.g. what spatial bin an atom is in as it moves).

    +

    Note that this compute allows the per-atom output of other +computes, fixes, and +variables to be used to define chunk IDs for each atom. This means you can write your own compute or fix to output a per-atom quantity to use as chunk ID. See -Section_modify of the documentation for how to -do this. You can also define a per-atom variable in +Section_modify of the documentation for how to +do this. You can also define a per-atom variable in the input script that uses a formula to generate a chunk ID for each -atom. -

    -
    Fix ave/chunk command: -
    -

    This fix takes the ID of a compute -chunk/atom command as input. For each chunk, +atom.

    +
    +
    +

    6.23.2. Fix ave/chunk command:¶

    +

    This fix takes the ID of a compute chunk/atom command as input. For each chunk, it then sums one or more specified per-atom values over the atoms in each chunk. The per-atom values can be any atom property, such as velocity, force, charge, potential energy, kinetic energy, stress, etc. Additional keywords are defined for per-chunk properties like density and temperature. More generally any per-atom value generated -by other computes, fixes, and per-atom -variables, can be summed over atoms in each chunk. -

    -

    Similar to other averaging fixes, this fix allows the summed per-chunk +by other computes, fixes, and per-atom variables, can be summed over atoms in each chunk.

    +

    Similar to other averaging fixes, this fix allows the summed per-chunk values to be time-averaged in various ways, and output to a file. The fix produces a global array as output with one row of values per -chunk. -

    -
    Compute */chunk commands: -
    -

    Currently the following computes operate on chunks of atoms to produce -per-chunk values. -

    - -

    They each take the ID of a compute -chunk/atom command as input. As their names +chunk.

    +
    +
    +

    6.23.3. Compute */chunk commands:¶

    +

    Currently the following computes operate on chunks of atoms to produce +per-chunk values.

    + +

    They each take the ID of a compute chunk/atom command as input. As their names indicate, they calculate the center-of-mass, radius of gyration, moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The compute -property/chunk command can tally the -count of atoms in each chunk and extract other per-chunk properties. -

    -

    The reason these various calculations are not part of the fix -ave/chunk command, is that each requires a more +and velocity of center-of-mass for each chunk of atoms. The compute property/chunk command can tally the +count of atoms in each chunk and extract other per-chunk properties.

    +

    The reason these various calculations are not part of the fix ave/chunk command, is that each requires a more complicated operation than simply summing and averaging over per-atom values in each chunk. For example, many of them require calculation of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass. -

    -

    All of these computes produce a global vector or global array as +atoms and then dividing by summed mass.

    +

    All of these computes produce a global vector or global array as output, wih one or more values per chunk. They can be used -in various ways: -

    -
    • As input to the fix ave/time command, which can -write the values to a file and optionally time average them. - -
    • As input to the fix ave/histo command to +in various ways:

      +
        +
      • As input to the fix ave/time command, which can +write the values to a file and optionally time average them.
      • +
      • As input to the fix ave/histo command to histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates. - -
      • As input to special functions of equal-style -variables, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule. -
      -
      Example calculations with chunks -
      -

      Here are eaxmples using chunk commands to calculate various -properties: -

      -

      (1) Average velocity in each of 1000 2d spatial bins: -

      -
      compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
      -fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out 
      -
      -

      (2) Temperature in each spatial bin, after subtracting a flow -velocity: -

      -
      compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
      +molecule diffusion rates.
    • +
    • As input to special functions of equal-style variables, like sum() and max(). E.g. to find the +largest cluster or fastest diffusing molecule.
    • +
    +
    +
    +

    6.23.4. Example calculations with chunks¶

    +

    Here are eaxmples using chunk commands to calculate various +properties:

    +
      +
    1. Average velocity in each of 1000 2d spatial bins:
    2. +
    +
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
    +fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out
    +
    +
    +

    (2) Temperature in each spatial bin, after subtracting a flow +velocity:

    +
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
     compute vbias all temp/profile 1 0 0 y 10
    -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out 
    -
    -

    (3) Center of mass of each molecule: -

    -
    compute cc1 all chunk/atom molecule
    +fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out
    +
    +
    +
      +
    1. Center of mass of each molecule:
    2. +
    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    (4) Total force on each molecule and ave/max across all molecules: -

    -
    compute cc1 all chunk/atom molecule
    +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
    +
    +
    +
      +
    1. Total force on each molecule and ave/max across all molecules:
    2. +
    +
    compute cc1 all chunk/atom molecule
     fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
    -variable xave equal ave(f_12)
    -variable xmax equal max(f_12)
    +variable xave equal ave(f_1**2**)
    +variable xmax equal max(f_1**2**)
     thermo 1000
    -thermo_style custom step temp v_xave v_xmax 
    -
    -

    (5) Histogram of cluster sizes: -

    -
    compute cluster all cluster/atom 1.0
    +thermo_style custom step temp v_xave v_xmax
    +
    +
    +
      +
    1. Histogram of cluster sizes:
    2. +
    +
    compute cluster all cluster/atom 1.0
     compute cc1 all chunk/atom c_cluster compress yes
     compute size all property/chunk cc1 count
    -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo 
    -
    -
    - -

    6.24 Setting parameters for the kspace_style pppm/disp command -

    -

    The PPPM method computes interactions by splitting the pair potential +fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo +

    +
    +
    +
    +
    +
    +

    6.24. Setting parameters for the kspace_style pppm/disp command¶

    +

    The PPPM method computes interactions by splitting the pair potential into two parts, one of which is computed in a normal pairwise fashion, the so-called real-space part, and one of which is computed using the Fourier transform, the so called reciprocal-space or kspace part. For @@ -2334,33 +2387,30 @@ real-space error of the PPPM for dispersion has a clear physical interpretation: the underprediction of cohesion. As a consequence, the real-space error has a much stronger effect than the kspace error on simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error. -

    -

    When using pppm/disp and not making any specifications on the PPPM +way that this error is much smaller than the kspace error.

    +

    When using pppm/disp and not making any specifications on the PPPM parameters via the kspace modify command, parameters will be tuned such that the real-space error and the kspace error are equal. This will result in simulations that are either inaccurate or slow, both of which is not desirable. For selecting parameters for the pppm/disp that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides. -

    -

    The first approach is to set desired real-space an kspace accuracies -via the kspace_modify force/disp/real and kspace_modify -force/disp/kspace commands. Note that the accuracies have to be +which both have their up- and downsides.

    +

    The first approach is to set desired real-space an kspace accuracies +via the kspace_modify force/disp/real and kspace_modify +force/disp/kspace commands. Note that the accuracies have to be specified in force units and are thus dependend on the chosen unit settings. For real units, 0.0001 and 0.002 seem to provide reasonable accurate and efficient computations for the real-space and kspace accuracies. 0.002 and 0.05 work well for most systems using lj units. PPPM parameters will be generated based on the desired accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the kspace_modify diff -ad and kspace_modify diff ik options. The downside of the method +good set of parameters and will work for both the kspace_modify diff +ad and kspace_modify diff ik options. The downside of the method is that setting the PPPM parameters will take some time during the -initialization of the simulation. -

    -

    The second approach is to set the parameters for the pppm/disp -explicitly using the kspace_modify mesh/disp, kspace_modify -order/disp, and kspace_modify gewald/disp commands. This approach +initialization of the simulation.

    +

    The second approach is to set the parameters for the pppm/disp +explicitly using the kspace_modify mesh/disp, kspace_modify +order/disp, and kspace_modify gewald/disp commands. This approach requires a more experienced user who understands well the impact of the choice of parameters on the simulation accuracy and performance. This approach provides a fast initialization of the @@ -2370,36 +2420,32 @@ far-from-optimal conditions for other simulations. For example, parametes that provide accurate and fast computations for all-atomistic force fields can provide insufficient accuracy or united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients). -

    -

    To avoid inaccurate or inefficient simulations, the pppm/disp stops +typically have larger dispersion coefficients).

    +

    To avoid inaccurate or inefficient simulations, the pppm/disp stops simulations with an error message if no action is taken to control the PPPM parameters. If the automatic parameter generation is desired and real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the kspace_modify disp/auto yes -command. -

    -

    A reasonable approach that combines the upsides of both methods is to -make the first run using the kspace_modify force/disp/real and -kspace_modify force/disp/kspace commands, write down the PPPM +message can be suppressed using the kspace_modify disp/auto yes +command.

    +

    A reasonable approach that combines the upsides of both methods is to +make the first run using the kspace_modify force/disp/real and +kspace_modify force/disp/kspace commands, write down the PPPM parameters from the outut, and specify these parameters using the second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume). -

    -

    Concerning the performance of the pppm/disp there are two more things +force field, and approximately the same volume).

    +

    Concerning the performance of the pppm/disp there are two more things to consider. The first is that when using the pppm/disp, the cutoff parameter does no longer affect the accuracy of the simulation (subject to that gewald/disp is adjusted when changing the cutoff). The performance can thus be increased by examining different values for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials. -

    -

    The second is that the mixing rule of the pair style has an impact on +the truncation error of the repulsive term of pair potentials.

    +

    The second is that the mixing rule of the pair style has an impact on the computation time when using the pppm/disp. Fastest computations are achieved when using the geometric mixing rule. Using the arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the kspace_modify -mix/disp geom and kspace_modify splittol commands. The first +The computational overhead can be reduced using the kspace_modify +mix/disp geom and kspace_modify splittol commands. The first command simply enforces geometric mixing of the dispersion coeffiecients in kspace computations. This introduces some error in the computations but will also significantly speed-up the @@ -2407,41 +2453,36 @@ simulations. The second keyword sets the accuracy with which the dispersion coefficients are approximated using a matrix factorization approach. This may result in better accuracy then using the first command, but will usually also not provide an equally good increase of -efficiency. -

    -

    Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the kspace_modify mix/disp none command. +efficiency.

    +

    Finally, pppm/disp can also be used when no mixing rules apply. +This can be achieved using the kspace_modify mix/disp none command. Note that the code does not check automatically whether any mixing rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly. -

    -
    - -

    6.25 Polarizable models -

    -

    In polarizable force fields the charge distributions in molecules and +to specify this command explicitly.

    +
    +
    +
    +

    6.25. Polarizable models¶

    +

    In polarizable force fields the charge distributions in molecules and materials respond to their electrostatic environements. Polarizable -systems can be simulated in LAMMPS using three methods: -

    -
    • the fluctuating charge method, implemented in the QEQ -package, - -
    • the adiabatic core-shell method, implemented in the -CORESHELL package, - -
    • the thermalized Drude dipole method, implemented in the -USER-DRUDE package. -
    -

    The fluctuating charge method calculates instantaneous charges on +systems can be simulated in LAMMPS using three methods:

    +
      +
    • the fluctuating charge method, implemented in the QEQ +package,
    • +
    • the adiabatic core-shell method, implemented in the +CORESHELL package,
    • +
    • the thermalized Drude dipole method, implemented in the +USER-DRUDE package.
    • +
    +

    The fluctuating charge method calculates instantaneous charges on interacting atoms based on the electronegativity equalization -principle. It is implemented in the fix qeq which is +principle. It is implemented in the fix qeq which is available in several variants. It is a relatively efficient technique since no additional particles are introduced. This method allows for charge transfer between molecules or atom groups. However, because the charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups. -

    -

    The two other methods share the same basic idea: polarizable atoms are +polarization cannot be represented in planar molecules or atom groups.

    +

    The two other methods share the same basic idea: polarizable atoms are split into one core atom and one satellite particle (called shell or Drude particle) attached to it by a harmonic spring. Both atoms bear a charge and they represent collectively an induced electric dipole. @@ -2450,255 +2491,242 @@ method because of additional particles and bonds. These two charge-on-spring methods differ in certain features, with the core-shell model being normally used for ionic/crystalline materials, whereas the so-called Drude model is normally used for molecular -systems and fluid states. -

    -

    The core-shell model is applicable to crystalline materials where the +systems and fluid states.

    +

    The core-shell model is applicable to crystalline materials where the high symmetry around each site leads to stable trajectories of the core-shell pairs. However, bonded atoms in molecules can be so close that a core would interact too strongly or even capture the Drude particle of a neighbor. The Drude dipole model is relatively more complex in order to remediate this and other issues. Specifically, the Drude model includes specific thermostating of the core-Drude pairs -and short-range damping of the induced dipoles. -

    -

    The three polarization methods can be implemented through a +and short-range damping of the induced dipoles.

    +

    The three polarization methods can be implemented through a self-consistent calculation of charges or induced dipoles at each timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in fix qeq/point, but for core-shell +inversion method in fix qeq/point, but for core-shell or Drude-dipoles the relaxed-dipoles technique would require an slow iterative procedure. These self-consistent solutions yield accurate trajectories since the additional degrees of freedom representing polarization are massless. An alternative is to attribute a mass to the additional degrees of freedom and perform time integration using an extended Lagrangian technique. For the fluctuating charge scheme -this is done by fix qeq/dynamic, and for the +this is done by fix qeq/dynamic, and for the charge-on-spring models by the methods outlined in the next two sections. The assignment of masses to the additional degrees of freedom can lead to unphysical trajectories if care is not exerted in choosing the parameters of the poarizable models and the simulation -conditions. -

    -

    In the core-shell model the vibration of the shells is kept faster +conditions.

    +

    In the core-shell model the vibration of the shells is kept faster than the ionic vibrations to mimic the fast response of the polarizable electrons. But in molecular systems thermalizing the core-Drude pairs at temperatures comparable to the rest of the simulation leads to several problems (kinetic energy transfer, too short a timestep, etc.) In order to avoid these problems the relative motion of the Drude particles with respect to their cores is kept -"cold" so the vibration of the core-Drude pairs is very slow, +“cold” so the vibration of the core-Drude pairs is very slow, approaching the self-consistent regime. In both models the temperature is regulated using the velocities of the center of mass of core+shell (or Drude) pairs, but in the Drude model the actual relative core-Drude particle motion is thermostated separately as -well. -

    -
    - -

    6.26 Adiabatic core/shell model -

    -

    The adiabatic core-shell model by Mitchell and -Finchham is a simple method for adding +well.

    +
    +
    +
    +

    6.26. Adiabatic core/shell model¶

    +

    The adiabatic core-shell model by Mitchell and Finchham is a simple method for adding polarizability to a system. In order to mimic the electron shell of an ion, a satellite particle is attached to it. This way the ions are split into a core and a shell where the latter is meant to react to -the electrostatic environment inducing polarizability. -

    -

    Technically, shells are attached to the cores by a spring force f = +the electrostatic environment inducing polarizability.

    +

    Technically, shells are attached to the cores by a spring force f = k*r where k is a parametrized spring constant and r is the distance between the core and the shell. The charges of the core and the shell add up to the ion charge, thus q(ion) = q(core) + q(shell). In a similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass. -

    -

    To run this model in LAMMPS, atom_style full can +shell with the core having the larger mass.

    +

    To run this model in LAMMPS, atom_style full can be used since atom charge and bonds are needed. Each kind of core/shell pair requires two atom types and a bond type. The core and shell of a core/shell pair should be bonded to each other with a harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format: -

    -
    432   atoms  # core and shell atoms
    -216   bonds  # number of core/shell springs 
    -
    -
    4     atom types  # 2 cores and 2 shells for Na and Cl 
    -2     bond types 
    -
    -
    0.0 24.09597 xlo xhi
    +for NaCl, as found in examples/coreshell, has this format:

    +
    432   atoms  # core and shell atoms
    +216   bonds  # number of core/shell springs
    +
    +
    +
    4     atom types  # 2 cores and 2 shells for Na and Cl
    +2     bond types
    +
    +
    +
    0.0 24.09597 xlo xhi
     0.0 24.09597 ylo yhi
    -0.0 24.09597 zlo zhi 
    -
    -
    Masses       # core/shell mass ratio = 0.1 
    -
    -
    1 20.690784  # Na core
    +0.0 24.09597 zlo zhi
    +
    +
    +
    Masses       # core/shell mass ratio = 0.1
    +
    +
    +
    1 20.690784  # Na core
     2 31.90500   # Cl core
     3 2.298976   # Na shell
    -4 3.54500    # Cl shell 
    -
    -
    Atoms 
    -
    -
    1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
    +4 3.54500    # Cl shell
    +
    +
    +
    Atoms
    +
    +
    +
    1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
     2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
     3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
    -4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2 
    -(...) 
    -
    -
    Bonds   # Bond topology for spring forces 
    -
    -
    1     2     1     2   # spring for core/shell pair 1
    -2     2     3     4   # spring for core/shell pair 2 
    -(...) 
    -
    -

    Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 +(...) +

    + +
    Bonds   # Bond topology for spring forces
    +
    +
    +
    1     2     1     2   # spring for core/shell pair 1
    +2     2     3     4   # spring for core/shell pair 2
    +(...)
    +
    +
    +

    Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only defined between the shells. Coulombic interactions are defined between all cores and shells. If desired, additional bonds can be -specified between cores. -

    -

    The special_bonds command should be used to +specified between cores.

    +

    The special_bonds command should be used to turn-off the Coulombic interaction within core/shell pairs, since that interaction is set by the bond spring. This is done using the -special_bonds command with a 1-2 weight = 0.0, -which is the default value. -

    -

    Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a "cs" suffix needs to be used to +special_bonds command with a 1-2 weight = 0.0, +which is the default value.

    +

    Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a “cs” suffix needs to be used to implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See this doc -page for details. All of the core/shell enabled pair +styles are provided in the CORESHELL package. See this doc page for details. All of the core/shell enabled pair styles require the use of a long-range Coulombic solver, as specified -by the kspace_style command. Either the PPPM or -Ewald solvers can be used. -

    -

    For the NaCL example problem, these pair style and bond style settings -are used: -

    -
    pair_style      born/coul/long/cs 20.0 20.0
    +by the kspace_style command.  Either the PPPM or
    +Ewald solvers can be used.

    +

    For the NaCL example problem, these pair style and bond style settings +are used:

    +
    pair_style      born/coul/long/cs 20.0 20.0
     pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
     pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
     pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
    -pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl 
    -
    -
    bond_style      harmonic
    +pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl
    +
    +
    +
    bond_style      harmonic
     bond_coeff      1 63.014 0.0
    -bond_coeff      2 25.724 0.0 
    -
    -

    When running dynamics with the adiabatic core/shell model, the +bond_coeff 2 25.724 0.0 +

    + +

    When running dynamics with the adiabatic core/shell model, the following issues should be considered. Since the relative motion of the core and shell particles corresponds to the polarization, typical thermostats can alter the polarization behaviour, meaining the shell will not react freely to its electrostatic environment. Therefore -it's typically desirable to decouple the relative motion of the +it’s typically desirable to decouple the relative motion of the core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the compute -temp/cs command can be used, in conjunction with -any of the thermostat fixes, such as fix nvt or fix -langevin. This compute uses the center-of-mass velocity +real physical system. To do that, the compute temp/cs command can be used, in conjunction with +any of the thermostat fixes, such as fix nvt or fix langevin. This compute uses the center-of-mass velocity of the core/shell pairs to calculate a temperature, and insures that velocity is what is rescaled for thermostatting purposes. The -compute temp/cs command requires input of two +compute temp/cs command requires input of two groups, one for the core atoms, another for the shell atoms. These -can be defined using the group type command. Note that +can be defined using the group *type* command. Note that to perform thermostatting using this definition of temperature, the -fix modify temp command should be used to assign the -comptue to the thermostat fix. Likewise the thermo_modify -temp command can be used to make this temperature -be output for the overall system. -

    -

    For the NaCl example, this can be done as follows: -

    -
    group cores type 1 2
    +fix modify temp command should be used to assign the
    +comptue to the thermostat fix.  Likewise the thermo_modify temp command can be used to make this temperature
    +be output for the overall system.

    +

    For the NaCl example, this can be done as follows:

    +
    group cores type 1 2
     group shells type 3 4
     compute CSequ all temp/cs cores shells
     fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
     fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
     fix_modify thermoberendsen temp CSequ
    -thermo_modify temp CSequ                                # output of center-of-mass derived temperature 
    -
    -

    When intializing the velocities of a system with core/shell pairs, it +thermo_modify temp CSequ # output of center-of-mass derived temperature +

    + +

    When intializing the velocities of a system with core/shell pairs, it is also desirable to not introduce energy into the relative motion of the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the bias keyword of the -velocity create command and assigning the compute -temp/cs command to the temp keyword of the -velocity commmand, e.g. -

    -
    velocity all create 1427 134 bias yes temp CSequ
    -velocity all scale 1427 temp CSequ 
    -
    -

    It is important to note that the polarizability of the core/shell +the pairs. This can be done by using the bias keyword of the +velocity create command and assigning the compute temp/cs command to the temp keyword of the +velocity commmand, e.g.

    +
    velocity all create 1427 134 bias yes temp CSequ
    +velocity all scale 1427 temp CSequ
    +
    +
    +

    It is important to note that the polarizability of the core/shell pairs is based on their relative motion. Therefore the choice of spring force and mass ratio need to ensure much faster relative motion of the 2 atoms within the core/shell pair than their center-of-mass velocity. This allow the shells to effectively react instantaneously to the electrostatic environment. This fast movement also limits the -timestep size that can be used. -

    -

    Additionally, the mass mismatch of the core and shell particles means +timestep size that can be used.

    +

    Additionally, the mass mismatch of the core and shell particles means that only a small amount of energy is transfered to the decoupled imaginary degrees of freedom. However, this transfer will typically lead to a a small drift in total energy over time. This internal -energy can be monitored using the compute -chunk/atom and compute -temp/chunk commands. The internal kinetic +energy can be monitored using the compute chunk/atom and compute temp/chunk commands. The internal kinetic energies of each core/shell pair can then be summed using the sum() -special functino of the variable command. Or they can -be time/averaged and output using the fix ave/time +special functino of the variable command. Or they can +be time/averaged and output using the fix ave/time command. To use these commands, each core/shell pair must be defined -as a "chunk". If each core/shell pair is defined as its own molecule, +as a “chunk”. If each core/shell pair is defined as its own molecule, the molecule ID can be used to define the chunks. If cores are bonded to each other to form larger molecules, then another way to define the -chunks is to use the fix property/atom to +chunks is to use the fix property/atom to assign a core/shell ID to each atom via a special field in the data -file read by the read_data command. This field can -then be accessed by the compute -property/atom command, to use as input to -the compute chunk/atom command to define the -core/shell pairs as chunks. -

    -

    For example, -

    -
    fix csinfo all property/atom i_CSID                       # property/atom command
    +file read by the read_data command.  This field can
    +then be accessed by the compute property/atom command, to use as input to
    +the compute chunk/atom command to define the
    +core/shell pairs as chunks.

    +

    For example,

    +
    fix csinfo all property/atom i_CSID                       # property/atom command
     read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
     compute prop all property/atom i_CSID
     compute cs_chunk all chunk/atom c_prop
     compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
    -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector 
    -
    -

    The additional section in the date file would be formatted like this: -

    -
    CS-Info         # header of additional section 
    -
    -
    1   1           # column 1 = atom ID, column 2 = core/shell ID 
    -2   1   
    -3   2   
    -4   2   
    -5   3   
    -6   3   
    -7   4   
    -8   4   
    -(...) 
    -
    -
    - -

    6.27 Drude induced dipoles -

    -

    The thermalized Drude model, similarly to the core-shell +fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector +

    + +

    The additional section in the date file would be formatted like this:

    +
    CS-Info         # header of additional section
    +
    +
    +
    1   1           # column 1 = atom ID, column 2 = core/shell ID
    +2   1
    +3   2
    +4   2
    +5   3
    +6   3
    +7   4
    +8   4
    +(...)
    +
    +
    +
    + +
    +

    6.27. Drude induced dipoles¶

    +

    The thermalized Drude model, similarly to the core-shell model, representes induced dipoles by a pair of charges (the core atom and the Drude particle) connected by a harmonic spring. The Drude model has a number of features aimed at its use in molecular systems -(Lamoureux and Roux): -

    -
    • Thermostating of the additional degrees of freedom associated with the +(Lamoureux and Roux):

      +
        +
      • Thermostating of the additional degrees of freedom associated with the induced dipoles at very low temperature, in terms of the reduced coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles. - -
      • Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle +makes the trajectory close to that of relaxed induced dipoles.
      • +
      • Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle pair represents a single (polarizable) atom, so the special screening factors in a covalent structure should be the same for the core and the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores. - -
      • Stabilization of the interactions between induced dipoles. Drude +special neighbor relations from their respective cores.
      • +
      • Stabilization of the interactions between induced dipoles. Drude dipoles on covalently bonded atoms interact too strongly due to the short distances, so an atom may capture the Drude particle of a neighbor, or the induced dipoles within the same molecule may align @@ -2706,95 +2734,123 @@ too much. To avoid this, damping at short range can be done by Thole functions (for which there are physical grounds). This Thole damping is applied to the point charges composing the induced dipole (the charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom). -
      -

      A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is available here. -

      -

      As with the core-shell model, the cores and Drude particles should +to the total charge of the core atom).

    • +
    +

    A detailed tutorial covering the usage of Drude induced dipoles in +LAMMPS is available here.

    +

    As with the core-shell model, the cores and Drude particles should appear in the data file as standard atoms. The same holds for the springs between them, which are described by standard harmonic bonds. The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the fix drude command. The special +specified via the fix drude command. The special list of neighbors is automatically refactored to account for the equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the extra keyword of the -special_bonds command. If using fix -shake, make sure no Drude particle is in this fix -group. -

    -

    There are two ways to thermostat the Drude particles at a low -temperature: use either fix langevin/drude -for a Langevin thermostat, or fix -drude/transform/* for a Nose-Hoover -thermostat. The former requires use of the command comm_modify vel -yes. The latter requires two separate integration -fixes like nvt or npt. The correct temperatures of the reduced -degrees of freedom can be calculated using the compute -temp/drude. This requires also to use the -command comm_modify vel yes. -

    -

    Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the the pair style -thole in pair_style hybrid/overlay -with a Coulomb pair style. It may be useful to use coul/long/cs or +screening. It may be necessary to use the extra keyword of the +special_bonds command. If using fix shake, make sure no Drude particle is in this fix +group.

    +

    There are two ways to thermostat the Drude particles at a low +temperature: use either fix langevin/drude +for a Langevin thermostat, or fix drude/transform/* for a Nose-Hoover +thermostat. The former requires use of the command comm_modify vel yes. The latter requires two separate integration +fixes like nvt or npt. The correct temperatures of the reduced +degrees of freedom can be calculated using the compute temp/drude. This requires also to use the +command comm_modify vel yes.

    +

    Short-range damping of the induced dipole interactions can be achieved +using Thole functions through the the pair style thole in pair_style hybrid/overlay +with a Coulomb pair style. It may be useful to use coul/long/cs or similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues. -

    -
    +too close, which can cause numerical issues.

    +

    (Berendsen) Berendsen, Grigera, Straatsma, J Phys Chem, 91, +6269-6271 (1987).

    +

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

    +

    (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, +J Chem Phys, 120, 9665 (2004).

    +

    (Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 +(1994).

    +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).

    +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990).

    +

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983).

    +

    (Price) Price and Brooks, J Chem Phys, 121, 10096 (2004).

    +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    +

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, +5, 1031-1038 (1993).

    +

    (Lamoureux and Roux) G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)

    +
    + -
    - + + +
    + + + -

    (Berendsen) Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987). -

    - +
    -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, -J Chem Phys, 120, 9665 (2004). -

    - +
    -

    (Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994). -

    - + + -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). -

    - + -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). -

    - + + -

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). -

    - -

    (Price) Price and Brooks, J Chem Phys, 121, 10096 (2004). -

    - + -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). -

    - + + + + + + + + -

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993). -

    - + -

    (Lamoureux and Roux) G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) -

    - + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_intro.html b/doc/Section_intro.html index 2f99ec66eb..a67f103874 100644 --- a/doc/Section_intro.html +++ b/doc/Section_intro.html @@ -1,81 +1,209 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 1. Introduction — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    1. Introduction -

    -

    This section provides an overview of what LAMMPS can and can't do, + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    1. Introduction¶

    +

    This section provides an overview of what LAMMPS can and can’t do, describes what it means for LAMMPS to be an open-source code, and acknowledges the funding and people who have contributed to LAMMPS -over the years. -

    -1.1 What is LAMMPS
    -1.2 LAMMPS features
    -1.3 LAMMPS non-features
    -1.4 Open source distribution
    -1.5 Acknowledgments and citations
    - -
    - -
    - -

    1.1 What is LAMMPS -

    -

    LAMMPS is a classical molecular dynamics code that models an ensemble +over the years.

    + +
    +

    1.1. What is LAMMPS¶

    +

    LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained -systems using a variety of force fields and boundary conditions. -

    -

    For examples of LAMMPS simulations, see the Publications page of the -LAMMPS WWW Site. -

    -

    LAMMPS runs efficiently on single-processor desktop or laptop +systems using a variety of force fields and boundary conditions.

    +

    For examples of LAMMPS simulations, see the Publications page of the +LAMMPS WWW Site.

    +

    LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any -parallel machine that compiles C++ and supports the MPI +parallel machine that compiles C++ and supports the MPI message-passing library. This includes distributed- or shared-memory -parallel machines and Beowulf-style clusters. -

    - - -

    LAMMPS can model systems with only a few particles up to millions or -billions. See Section_perf for information on +parallel machines and Beowulf-style clusters.

    +

    LAMMPS can model systems with only a few particles up to millions or +billions. See Section_perf for information on LAMMPS performance and scalability, or the Benchmarks section of the -LAMMPS WWW Site. -

    -

    LAMMPS is a freely-available open-source code, distributed under the -terms of the GNU Public License, which means you can use or -modify the code however you wish. See this section for a -brief discussion of the open-source philosophy. -

    - - -

    LAMMPS is designed to be easy to modify or extend with new +LAMMPS WWW Site.

    +

    LAMMPS is a freely-available open-source code, distributed under the +terms of the GNU Public License, which means you can use or +modify the code however you wish. See this section for a +brief discussion of the open-source philosophy.

    +

    LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See Section_modify -for more details. -

    -

    The current version of LAMMPS is written in C++. Earlier versions +conditions, or diagnostics. See Section_modify +for more details.

    +

    The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See -Section_history for more information on -different versions. All versions can be downloaded from the LAMMPS -WWW Site. -

    -

    LAMMPS was originally developed under a US Department of Energy CRADA +Section_history for more information on +different versions. All versions can be downloaded from the LAMMPS WWW Site.

    +

    LAMMPS was originally developed under a US Department of Energy CRADA (Cooperative Research and Development Agreement) between two DOE labs -and 3 companies. It is distributed by Sandia National Labs. -See this section for more information on LAMMPS funding and -individuals who have contributed to LAMMPS. -

    - - -

    In the most general sense, LAMMPS integrates Newton's equations of +and 3 companies. It is distributed by Sandia National Labs. +See this section for more information on LAMMPS funding and +individuals who have contributed to LAMMPS.

    +

    In the most general sense, LAMMPS integrates Newton’s equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency @@ -85,467 +213,483 @@ short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors -communicate and store "ghost" atom information for atoms that border +communicate and store “ghost” atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. Papers with technical details of the algorithms used in -LAMMPS are listed in this section. -

    -
    - -

    1.2 LAMMPS features -

    -

    This section highlights LAMMPS features, with pointers to specific -commands which give more details. If LAMMPS doesn't have your +LAMMPS are listed in this section.

    +
    +
    +
    +

    1.2. LAMMPS features¶

    +

    This section highlights LAMMPS features, with pointers to specific +commands which give more details. If LAMMPS doesn’t have your favorite interatomic potential, boundary condition, or atom type, see -Section_modify, which describes how you can add -it to LAMMPS. -

    -
    General features -
    -
    • runs on a single processor or in parallel -
    • distributed-memory message-passing parallelism (MPI) -
    • spatial-decomposition of simulation domain for parallelism -
    • open-source distribution -
    • highly portable C++ -
    • optional libraries used: MPI and single-processor FFT -
    • GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features -
    • easy to extend with new features and functionality -
    • runs from an input script -
    • syntax for defining and using variables and formulas -
    • syntax for looping over runs and breaking out of loops -
    • run one or multiple simulations simultaneously (in parallel) from one script -
    • build as library, invoke LAMMPS thru library interface or provided Python wrapper -
    • couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both -
    -
    Particle and model types -
    -

    (atom style command) -

    -
    • atoms -
    • coarse-grained particles (e.g. bead-spring polymers) -
    • united-atom polymers or organic molecules -
    • all-atom polymers, organic molecules, proteins, DNA -
    • metals -
    • granular materials -
    • coarse-grained mesoscale models -
    • finite-size spherical and ellipsoidal particles -
    • finite-size line segment (2d) and triangle (3d) particles -
    • point dipole particles -
    • rigid collections of particles -
    • hybrid combinations of these -
    -
    Force fields -
    -

    (pair style, bond style, -angle style, dihedral style, -improper style, kspace style -commands) -

    -
    • pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated -
    • charged pairwise potentials: Coulombic, point-dipole -
    • manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic -
    • long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald) -
    • polarization models: QEq, core/shell model, Drude dipole model -
    • charge equilibration (QEq via dynamic, point, shielded, Slater methods) -
    • coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO -
    • mesoscopic potentials: granular, Peridynamics, SPH -
    • electron force field (eFF, AWPMD) -
    • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable) -
    • angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS) -
    • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS -
    • improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) -
    • polymer potentials: all-atom, united-atom, bead-spring, breakable -
    • water potentials: TIP3P, TIP4P, SPC -
    • implicit solvent potentials: hydrodynamic lubrication, Debye -
    • force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options -
    • access to KIM archive of potentials via pair kim -
    • hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation -
    • overlaid potentials: superposition of multiple pair potentials -
    -
    Atom creation -
    -

    (read_data, lattice, -create_atoms, delete_atoms, -displace_atoms, replicate commands) -

    -
    • read in atom coords from files -
    • create atoms on one or more lattices (e.g. grain boundaries) -
    • delete geometric or logical groups of atoms (e.g. voids) -
    • replicate existing atoms multiple times -
    • displace atoms -
    -
    Ensembles, constraints, and boundary conditions -
    -

    (fix command) -

    -
    • 2d or 3d systems -
    • orthogonal or non-orthogonal (triclinic symmetry) simulation domains -
    • constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators -
    • thermostatting options for groups and geometric regions of atoms -
    • pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions -
    • simulation box deformation (tensile and shear) -
    • harmonic (umbrella) constraint forces -
    • rigid body constraints -
    • SHAKE bond and angle constraints -
    • Monte Carlo bond breaking, formation, swapping -
    • atom/molecule insertion and deletion -
    • walls of various kinds -
    • non-equilibrium molecular dynamics (NEMD) -
    • variety of additional boundary conditions and constraints -
    -
    Integrators -
    -

    (run, run_style, minimize commands) -

    -
    • velocity-Verlet integrator -
    • Brownian dynamics -
    • rigid body integration -
    • energy minimization via conjugate gradient or steepest descent relaxation -
    • rRESPA hierarchical timestepping -
    • rerun command for post-processing of dump files -
    -
    Diagnostics -
    -
    • see the various flavors of the fix and compute commands -
    -
    Output -
    -

    (dump, restart commands) -

    -
    • log file of thermodynamic info -
    • text dump files of atom coords, velocities, other per-atom quantities -
    • binary restart files -
    • parallel I/O of dump and restart files -
    • per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) -
    • user-defined system-wide (log file) or per-atom (dump file) calculations -
    • spatial and time averaging of per-atom quantities -
    • time averaging of system-wide quantities -
    • atom snapshots in native, XYZ, XTC, DCD, CFG formats -
    -
    Multi-replica models -
    -

    nudged elastic band -parallel replica dynamics -temperature accelerated dynamics -parallel tempering -

    -
    Pre- and post-processing -
    -
    • Various pre- and post-processing serial tools are packaged -with LAMMPS; see these doc pages. - -
    • Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, +Section_modify, which describes how you can add +it to LAMMPS.

      +
      +

      1.2.1. General features¶

      +
        +
      • runs on a single processor or in parallel
      • +
      • distributed-memory message-passing parallelism (MPI)
      • +
      • spatial-decomposition of simulation domain for parallelism
      • +
      • open-source distribution
      • +
      • highly portable C++
      • +
      • optional libraries used: MPI and single-processor FFT
      • +
      • GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features
      • +
      • easy to extend with new features and functionality
      • +
      • runs from an input script
      • +
      • syntax for defining and using variables and formulas
      • +
      • syntax for looping over runs and breaking out of loops
      • +
      • run one or multiple simulations simultaneously (in parallel) from one script
      • +
      • build as library, invoke LAMMPS thru library interface or provided Python wrapper
      • +
      • couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both
      • +
      +
      +
      +

      1.2.2. Particle and model types¶

      +

      (atom style command)

      +
        +
      • atoms
      • +
      • coarse-grained particles (e.g. bead-spring polymers)
      • +
      • united-atom polymers or organic molecules
      • +
      • all-atom polymers, organic molecules, proteins, DNA
      • +
      • metals
      • +
      • granular materials
      • +
      • coarse-grained mesoscale models
      • +
      • finite-size spherical and ellipsoidal particles
      • +
      • finite-size line segment (2d) and triangle (3d) particles
      • +
      • point dipole particles
      • +
      • rigid collections of particles
      • +
      • hybrid combinations of these
      • +
      +
      +
      +

      1.2.3. Force fields¶

      +

      (pair style, bond style, +angle style, dihedral style, +improper style, kspace style +commands)

      +
        +
      • pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
      • +
      • charged pairwise potentials: Coulombic, point-dipole
      • +
      • manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
      • +
      • long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
      • +
      • polarization models: QEq, core/shell model, Drude dipole model
      • +
      • charge equilibration (QEq via dynamic, point, shielded, Slater methods)
      • +
      • coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
      • +
      • mesoscopic potentials: granular, Peridynamics, SPH
      • +
      • electron force field (eFF, AWPMD)
      • +
      • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
      • +
      • angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)
      • +
      • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
      • +
      • improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
      • +
      • polymer potentials: all-atom, united-atom, bead-spring, breakable
      • +
      • water potentials: TIP3P, TIP4P, SPC
      • +
      • implicit solvent potentials: hydrodynamic lubrication, Debye
      • +
      • force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
      • +
      • access to KIM archive of potentials via pair kim
      • +
      • hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
      • +
      • overlaid potentials: superposition of multiple pair potentials
      • +
      +
      +
      +

      1.2.4. Atom creation¶

      +

      (read_data, lattice, +create_atoms, delete_atoms, +displace_atoms, replicate commands)

      +
        +
      • read in atom coords from files
      • +
      • create atoms on one or more lattices (e.g. grain boundaries)
      • +
      • delete geometric or logical groups of atoms (e.g. voids)
      • +
      • replicate existing atoms multiple times
      • +
      • displace atoms
      • +
      +
      +
      +

      1.2.5. Ensembles, constraints, and boundary conditions¶

      +

      (fix command)

      +
        +
      • 2d or 3d systems
      • +
      • orthogonal or non-orthogonal (triclinic symmetry) simulation domains
      • +
      • constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators
      • +
      • thermostatting options for groups and geometric regions of atoms
      • +
      • pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions
      • +
      • simulation box deformation (tensile and shear)
      • +
      • harmonic (umbrella) constraint forces
      • +
      • rigid body constraints
      • +
      • SHAKE bond and angle constraints
      • +
      • Monte Carlo bond breaking, formation, swapping
      • +
      • atom/molecule insertion and deletion
      • +
      • walls of various kinds
      • +
      • non-equilibrium molecular dynamics (NEMD)
      • +
      • variety of additional boundary conditions and constraints
      • +
      +
      +
      +

      1.2.6. Integrators¶

      +

      (run, run_style, minimize commands)

      +
        +
      • velocity-Verlet integrator
      • +
      • Brownian dynamics
      • +
      • rigid body integration
      • +
      • energy minimization via conjugate gradient or steepest descent relaxation
      • +
      • rRESPA hierarchical timestepping
      • +
      • rerun command for post-processing of dump files
      • +
      +
      +
      +

      1.2.7. Diagnostics¶

      +
        +
      • see the various flavors of the fix and compute commands
      • +
      +
      +
      +

      1.2.8. Output¶

      +

      (dump, restart commands)

      +
        +
      • log file of thermodynamic info
      • +
      • text dump files of atom coords, velocities, other per-atom quantities
      • +
      • binary restart files
      • +
      • parallel I/O of dump and restart files
      • +
      • per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
      • +
      • user-defined system-wide (log file) or per-atom (dump file) calculations
      • +
      • spatial and time averaging of per-atom quantities
      • +
      • time averaging of system-wide quantities
      • +
      • atom snapshots in native, XYZ, XTC, DCD, CFG formats
      • +
      +
      + +
      +

      1.2.10. Pre- and post-processing¶

      +
        +
      • Various pre- and post-processing serial tools are packaged +with LAMMPS; see these doc pages.
      • +
      • Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the -Pizza.py WWW site. -
      - - - - -
      Specialized features -
      -

      These are LAMMPS capabilities which you may not think of as typical -molecular dynamics options: -

      - -
      - -

      1.3 LAMMPS non-features -

      -

      LAMMPS is designed to efficiently compute Newton's equations of motion +written in Python and is available for download from the Pizza.py WWW site.

    • +
    +
    +
    +

    1.2.11. Specialized features¶

    +

    These are LAMMPS capabilities which you may not think of as typical +molecular dynamics options:

    + +
    +
    +
    +
    +

    1.3. LAMMPS non-features¶

    +

    LAMMPS is designed to efficiently compute Newton’s equations of motion for a system of interacting particles. Many of the tools needed to pre- and post-process the data for such simulations are not included -in the LAMMPS kernel for several reasons: -

    -
    • the desire to keep LAMMPS simple -
    • they are not parallel operations -
    • other codes already do them -
    • limited development resources -
    -

    Specifically, LAMMPS itself does not: -

    -
    • run thru a GUI -
    • build molecular systems -
    • assign force-field coefficients automagically -
    • perform sophisticated analyses of your MD simulation -
    • visualize your MD simulation -
    • plot your output data -
    -

    A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described in this -section. However, many people use other codes or -write their own tools for these tasks. -

    -

    As noted above, our group has also written and released a separate -toolkit called Pizza.py which addresses some of the listed +in the LAMMPS kernel for several reasons:

    +
      +
    • the desire to keep LAMMPS simple
    • +
    • they are not parallel operations
    • +
    • other codes already do them
    • +
    • limited development resources
    • +
    +

    Specifically, LAMMPS itself does not:

    +
      +
    • run thru a GUI
    • +
    • build molecular systems
    • +
    • assign force-field coefficients automagically
    • +
    • perform sophisticated analyses of your MD simulation
    • +
    • visualize your MD simulation
    • +
    • plot your output data
    • +
    +

    A few tools for pre- and post-processing tasks are provided as part of +the LAMMPS package; they are described in this section. However, many people use other codes or +write their own tools for these tasks.

    +

    As noted above, our group has also written and released a separate +toolkit called Pizza.py which addresses some of the listed bullets. It provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in -Python and is available for download from the Pizza.py WWW -site. -

    -

    LAMMPS requires as input a list of initial atom coordinates and types, +Python and is available for download from the Pizza.py WWW site.

    +

    LAMMPS requires as input a list of initial atom coordinates and types, molecular topology information, and force-field coefficients assigned to all atoms and bonds. LAMMPS will not build molecular systems and -assign force-field parameters for you. -

    -

    For atomic systems LAMMPS provides a create_atoms +assign force-field parameters for you.

    +

    For atomic systems LAMMPS provides a create_atoms command which places atoms on solid-state lattices (fcc, bcc, user-defined, etc). Assigning small numbers of force field -coefficients can be done via the pair coeff, bond -coeff, angle coeff, etc commands. +coefficients can be done via the pair coeff, bond coeff, angle coeff, etc commands. For molecular systems or more complicated simulation geometries, users typically use another code as a builder and convert its output to LAMMPS input format, or write their own code to generate atom -coordinate and molecular topology for LAMMPS to read in. -

    -

    For complicated molecular systems (e.g. a protein), a multitude of +coordinate and molecular topology for LAMMPS to read in.

    +

    For complicated molecular systems (e.g. a protein), a multitude of topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like -CHARMM or AMBER or other molecular builders to setup +CHARMM or AMBER or other molecular builders to setup such problems and dump its information to a file. You can then -reformat the file as LAMMPS input. Some of the tools in this -section can assist in this process. -

    -

    Similarly, LAMMPS creates output files in a simple format. Most users +reformat the file as LAMMPS input. Some of the tools in this section can assist in this process.

    +

    Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as -LAMMPS runs, see Section_modify for a discussion -of how you can use the dump and compute and -fix commands to print out data of your choosing. Keep in +LAMMPS runs, see Section_modify for a discussion +of how you can use the dump and compute and +fix commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not parallel, so it is often better to leave such analysis to -post-processing codes. -

    -

    A very simple (yet fast) visualizer is provided with the LAMMPS -package - see the xmovie tool in this -section. It creates xyz projection views of +post-processing codes.

    +

    A very simple (yet fast) visualizer is provided with the LAMMPS +package - see the xmovie tool in this section. It creates xyz projection views of atomic coordinates and animates them. We find it very useful for debugging purposes. For high-quality visualization we recommend the -following packages: -

    - -

    Other features that LAMMPS does not yet (and may never) support are -discussed in Section_history. -

    -

    Finally, these are freely-available molecular dynamics codes, most of +following packages:

    + +

    Other features that LAMMPS does not yet (and may never) support are +discussed in Section_history.

    +

    Finally, these are freely-available molecular dynamics codes, most of them parallel, which may be well-suited to the problems you want to model. They can also be used in conjunction with LAMMPS to perform -complementary modeling tasks. -

    - - - - - - - - - - - - - -

    CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for +complementary modeling tasks.

    + +

    CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for modeling biological molecules. CHARMM and AMBER use atom-decomposition (replicated-data) strategies for parallelism; NAMD and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. Tinker is a serial code. DL_POLY includes potentials for a variety of biological and non-biological materials; both a replicated-data and -spatial-decomposition version exist. -

    -
    - -

    1.4 Open source distribution -

    -

    LAMMPS comes with no warranty of any kind. As each source file states +spatial-decomposition version exist.

    +
    +
    +
    +

    1.4. Open source distribution¶

    +

    LAMMPS comes with no warranty of any kind. As each source file states in its header, it is a copyrighted code that is distributed free-of- -charge, under the terms of the GNU Public License (GPL). This +charge, under the terms of the GNU Public License (GPL). This is often referred to as open-source distribution - see -www.gnu.org or www.opensource.org for more +www.gnu.org or www.opensource.org for more details. The legal text of the GPL is in the LICENSE file that is -included in the LAMMPS distribution. -

    - - - - -

    Here is a summary of what the GPL means for LAMMPS users: -

    -

    (1) Anyone is free to use, modify, or extend LAMMPS in any way they -choose, including for commercial purposes. -

    -

    (2) If you distribute a modified version of LAMMPS, it must remain +included in the LAMMPS distribution.

    +

    Here is a summary of what the GPL means for LAMMPS users:

    +

    (1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes.

    +

    (2) If you distribute a modified version of LAMMPS, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of -LAMMPS. -

    -

    (3) If you release any code that includes LAMMPS source code, then it +LAMMPS.

    +

    (3) If you release any code that includes LAMMPS source code, then it must also be open-sourced, meaning you distribute it under the terms -of the GPL. -

    -

    (4) If you give LAMMPS files to someone else, the GPL LICENSE file and +of the GPL.

    +

    (4) If you give LAMMPS files to someone else, the GPL LICENSE file and source file headers (including the copyright and GPL notices) should -remain part of the code. -

    -

    In the spirit of an open-source code, these are various ways you can +remain part of the code.

    +

    In the spirit of an open-source code, these are various ways you can contribute to making LAMMPS better. You can send email to the -developers on any of these -items. -

    -
    • Point prospective users to the LAMMPS WWW Site. Mention it in -talks or link to it from your WWW site. - -
    • If you find an error or omission in this manual or on the LAMMPS WWW -Site, or have a suggestion for something to clarify or include, +developers on any of these +items.

      +
        +
      • Point prospective users to the LAMMPS WWW Site. Mention it in +talks or link to it from your WWW site.
      • +
      • If you find an error or omission in this manual or on the LAMMPS WWW Site, or have a suggestion for something to clarify or include, send an email to the -developers. - -
      • If you find a bug, Section_errors 2 -describes how to report it. - -
      • If you publish a paper using LAMMPS results, send the citation (and +developers.
      • +
      • If you find a bug, Section_errors 2 +describes how to report it.
      • +
      • If you publish a paper using LAMMPS results, send the citation (and any cool pictures or movies if you like) to add to the Publications, -Pictures, and Movies pages of the LAMMPS WWW Site, with links -and attributions back to you. - -
      • Create a new Makefile.machine that can be added to the src/MAKE -directory. - -
      • The tools sub-directory of the LAMMPS distribution has various +Pictures, and Movies pages of the LAMMPS WWW Site, with links +and attributions back to you.
      • +
      • Create a new Makefile.machine that can be added to the src/MAKE +directory.
      • +
      • The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More -details are given in Section_tools. If you write +details are given in Section_tools. If you write a new tool that users will find useful, it can be added to the LAMMPS -distribution. - -
      • LAMMPS is designed to be easy to extend with new code for features +distribution.
      • +
      • LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. -This section gives details. If you add a +This section gives details. If you add a feature of general interest, it can be added to the LAMMPS -distribution. - -
      • The Benchmark page of the LAMMPS WWW Site lists LAMMPS +distribution.
      • +
      • The Benchmark page of the LAMMPS WWW Site lists LAMMPS performance on various platforms. The files needed to run the benchmarks are part of the LAMMPS distribution. If your machine is sufficiently different from those listed, your timing data can be -added to the page. - -
      • You can send feedback for the User Comments page of the LAMMPS WWW -Site. It might be added to the page. No promises. - -
      • Cash. Small denominations, unmarked bills preferred. Paper sack OK. +added to the page.
      • +
      • You can send feedback for the User Comments page of the LAMMPS WWW Site. It might be added to the page. No promises.
      • +
      • Cash. Small denominations, unmarked bills preferred. Paper sack OK. Leave on desk. VISA also accepted. Chocolate chip cookies -encouraged. -
      -
      - -

      1.5 Acknowledgments and citations -

      -

      LAMMPS development has been funded by the US Department of -Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life -programs and its OASCR and OBER offices. -

      -

      Specifically, work on the latest version was funded in part by the US -Department of Energy's Genomics:GTL program -(www.doegenomestolife.org) under the project, "Carbon +encouraged.

    • +
    +
    +
    +
    +

    1.5. Acknowledgments and citations¶

    +

    LAMMPS development has been funded by the US Department of Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life +programs and its OASCR and OBER offices.

    +

    Specifically, work on the latest version was funded in part by the US +Department of Energy’s Genomics:GTL program +(www.doegenomestolife.org) under the project, “Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to -Hierarchical Modeling". -

    - - - - - - - - - - -

    The following paper describe the basic parallel algorithms used in +Hierarchical Modeling”.

    +

    The following paper describe the basic parallel algorithms used in LAMMPS. If you use LAMMPS results in your published work, please cite -this paper and include a pointer to the LAMMPS WWW Site -(http://lammps.sandia.gov): -

    -

    S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular -Dynamics, J Comp Phys, 117, 1-19 (1995). -

    -

    Other papers describing specific algorithms used in LAMMPS are listed -under the Citing LAMMPS link of -the LAMMPS WWW page. -

    -

    The Publications link on the +this paper and include a pointer to the LAMMPS WWW Site +(http://lammps.sandia.gov):

    +

    S. J. Plimpton, Fast Parallel Algorithms for Short-Range Molecular +Dynamics, J Comp Phys, 117, 1-19 (1995).

    +

    Other papers describing specific algorithms used in LAMMPS are listed +under the Citing LAMMPS link of +the LAMMPS WWW page.

    +

    The Publications link on the LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is not listed there for some reason, feel free to send us the info. If the simulations in your paper produced cool pictures or animations, -we'll be pleased to add them to the -Pictures or -Movies pages of the LAMMPS WWW -site. -

    -

    The core group of LAMMPS developers is at Sandia National Labs: -

    -
    • Steve Plimpton, sjplimp at sandia.gov -
    • Aidan Thompson, athomps at sandia.gov -
    • Paul Crozier, pscrozi at sandia.gov -
    -

    The following folks are responsible for significant contributions to +we’ll be pleased to add them to the +Pictures or +Movies pages of the LAMMPS WWW +site.

    +

    The core group of LAMMPS developers is at Sandia National Labs:

    +
      +
    • Steve Plimpton, sjplimp at sandia.gov
    • +
    • Aidan Thompson, athomps at sandia.gov
    • +
    • Paul Crozier, pscrozi at sandia.gov
    • +
    +

    The following folks are responsible for significant contributions to the code, or other aspects of the LAMMPS development effort. Many of the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise -and efforts. -

    -
    • Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages -
    • Roy Pollock (LLNL), Ewald and PPPM solvers -
    • Mike Brown (ORNL), brownw at ornl.gov, GPU package -
    • Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential -
    • Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics -
    • Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion -
    • Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling -
    • Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD -
    • Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package -
    • Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field -
    • Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling -
    • Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF -
    • Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package -
    -

    As discussed in Section_history, LAMMPS +and efforts.

    +
      +
    • Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
    • +
    • Roy Pollock (LLNL), Ewald and PPPM solvers
    • +
    • Mike Brown (ORNL), brownw at ornl.gov, GPU package
    • +
    • Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
    • +
    • Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
    • +
    • Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
    • +
    • Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
    • +
    • Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
    • +
    • Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
    • +
    • Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
    • +
    • Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
    • +
    • Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
    • +
    • Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package
    • +
    +

    As discussed in Section_history, LAMMPS originated as a cooperative project between DOE labs and industrial partners. Folks involved in the design and testing of the original -version of LAMMPS were the following: -

    -
    • John Carpenter (Mayo Clinic, formerly at Cray Research) -
    • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) -
    • Steve Lustig (Dupont) -
    • Jim Belak (LLNL) -
    - +version of LAMMPS were the following:

    +
      +
    • John Carpenter (Mayo Clinic, formerly at Cray Research)
    • +
    • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
    • +
    • Steve Lustig (Dupont)
    • +
    • Jim Belak (LLNL)
    • +
    +
    +
    + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_modify.html b/doc/Section_modify.html index 1f1a236886..ffa54a0417 100644 --- a/doc/Section_modify.html +++ b/doc/Section_modify.html @@ -1,715 +1,1109 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 10. Modifying & extending LAMMPS — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    10. Modifying & extending LAMMPS -

    -

    This section describes how to customize LAMMPS by modifying -and extending its source code. -

    -10.1 Atom styles
    -10.2 Bond, angle, dihedral, improper potentials
    -10.3 Compute styles
    -10.4 Dump styles
    -10.5 Dump custom output options
    -10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    -10.7 Input script commands
    -10.8 Kspace computations
    -10.9 Minimization styles
    -10.10 Pairwise potentials
    -10.11 Region styles
    -10.12 Body styles
    -10.13 Thermodynamic output options
    -10.14 Variable options
    -10.15 Submitting new features for inclusion in LAMMPS
    - -

    LAMMPS is designed in a modular fashion so as to be easy to modify and + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    10. Modifying & extending LAMMPS¶

    +

    This section describes how to customize LAMMPS by modifying +and extending its source code.

    +
    + + + + + +
    10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    + + + + + + + + + +

    +
    +

    LAMMPS is designed in a modular fashion so as to be easy to modify and extend with new functionality. In fact, about 75% of its source code -is files added in this fashion. -

    -

    In this section, changes and additions users can make are listed along +is files added in this fashion.

    +

    In this section, changes and additions users can make are listed along with minimal instructions. If you add a new feature to LAMMPS and think it will be of interest to general users, we encourage you to submit it to the developers for inclusion in the released version of LAMMPS. Information about how to do this is provided -below. -

    -

    The best way to add a new feature is to find a similar feature in +below.

    +

    The best way to add a new feature is to find a similar feature in LAMMPS and look at the corresponding source and header files to figure out what it does. You will need some knowledge of C++ to be able to understand the hi-level structure of LAMMPS and its class organization, but functions (class methods) that do actual computations are written in vanilla C-style code and operate on simple -C-style data structures (vectors and arrays). -

    -

    Most of the new features described in this section require you to +C-style data structures (vectors and arrays).

    +

    Most of the new features described in this section require you to write a new C++ derived class (except for exceptions described below, where you can make small edits to existing files). Creating a new -class requires 2 files, a source code file (*.cpp) and a header file -(*.h). The derived class must provide certain methods to work as a +class requires 2 files, a source code file (.cpp) and a header file +(.h). The derived class must provide certain methods to work as a new option. Depending on how different your new feature is compared to existing features, you can either derive from the base class itself, or from a derived class that already exists. Enabling LAMMPS to invoke the new class is as simple as putting the two source -files in the src dir and re-building LAMMPS. -

    -

    The advantage of C++ and its object-orientation is that all the code +files in the src dir and re-building LAMMPS.

    +

    The advantage of C++ and its object-orientation is that all the code and variables needed to define the new feature are in the 2 files you -write, and thus shouldn't make the rest of LAMMPS more complex or -cause side-effect bugs. -

    -

    Here is a concrete example. Suppose you write 2 files pair_foo.cpp +write, and thus shouldn’t make the rest of LAMMPS more complex or +cause side-effect bugs.

    +

    Here is a concrete example. Suppose you write 2 files pair_foo.cpp and pair_foo.h that define a new class PairFoo that computes pairwise -potentials described in the classic 1997 paper by Foo, et al. +potentials described in the classic 1997 paper by Foo, et al. If you wish to invoke those potentials in a LAMMPS input script with a -command like -

    -
    pair_style foo 0.1 3.5 
    -
    -

    then your pair_foo.h file should be structured as follows: -

    -
    #ifdef PAIR_CLASS
    +command like

    +
    pair_style foo 0.1 3.5
    +
    +
    +

    then your pair_foo.h file should be structured as follows:

    +
    #ifdef PAIR_CLASS
     PairStyle(foo,PairFoo)
     #else
     ...
     (class definition for PairFoo)
     ...
    -#endif 
    -
    -

    where "foo" is the style keyword in the pair_style command, and +#endif +

    +
    +

    where “foo” is the style keyword in the pair_style command, and PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h -files. -

    -

    When you re-build LAMMPS, your new pairwise potential becomes part of +files.

    +

    When you re-build LAMMPS, your new pairwise potential becomes part of the executable and can be invoked with a pair_style command like the example above. Arguments like 0.1 and 3.5 can be defined and -processed by your new class. -

    -

    As illustrated by this pairwise example, many kinds of options are -referred to in the LAMMPS documentation as the "style" of a particular -command. -

    -

    The instructions below give the header file for the base class that +processed by your new class.

    +

    As illustrated by this pairwise example, many kinds of options are +referred to in the LAMMPS documentation as the “style” of a particular +command.

    +

    The instructions below give the header file for the base class that these styles are derived from. Public variables in that file are ones used and set by the derived classes which are also used by the base class. Sometimes they are also used by the rest of LAMMPS. Virtual functions in the base class header file which are set = 0 are ones you must define in your new derived class to give it the functionality LAMMPS expects. Virtual functions that are not set to 0 are functions -you can optionally define. -

    -

    Additionally, new output options can be added directly to the +you can optionally define.

    +

    Additionally, new output options can be added directly to the thermo.cpp, dump_custom.cpp, and variable.cpp files as explained -below. -

    -

    Here are additional guidelines for modifying LAMMPS and adding new -functionality: -

    -
    • Think about whether what you want to do would be better as a pre- or +below.

      +

      Here are additional guidelines for modifying LAMMPS and adding new +functionality:

      +
        +
      • Think about whether what you want to do would be better as a pre- or post-processing step. Many computations are more easily and more -quickly done that way. - -
      • Don't do anything within the timestepping of a run that isn't -parallel. E.g. don't accumulate a bunch of data on a single processor +quickly done that way.
      • +
      • Don’t do anything within the timestepping of a run that isn’t +parallel. E.g. don’t accumulate a bunch of data on a single processor and analyze it. You run the risk of seriously degrading the parallel -efficiency. - -
      • If your new feature reads arguments or writes output, make sure you -follow the unit conventions discussed by the units -command. - -
      • If you add something you think is truly useful and doesn't impact -LAMMPS performance when it isn't used, send an email to the -developers. We might be +efficiency.
      • +
      • If your new feature reads arguments or writes output, make sure you +follow the unit conventions discussed by the units +command.
      • +
      • If you add something you think is truly useful and doesn’t impact +LAMMPS performance when it isn’t used, send an email to the +developers. We might be interested in adding it to the LAMMPS distribution. See further -details on this at the bottom of this page. -
      -
      - -
      - -

      10.1 Atom styles -

      -

      Classes that define an atom style are derived from +details on this at the bottom of this page.

    • +
    +
    +

    10.1. Atom styles¶

    +

    Classes that define an atom style are derived from the AtomVec class and managed by the Atom class. The atom style determines what attributes are associated with an atom. A new atom style can be created if one of the existing atom styles does not define all the attributes you need to store and communicate with -atoms. -

    -

    Atom_vec_atomic.cpp is a simple example of an atom style. -

    -

    Here is a brief description of methods you define in your new derived -class. See atom_vec.h for details. -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    init one time setup (optional)
    grow re-allocate atom arrays to longer lengths (required)
    grow_reset make array pointers in Atom and AtomVec classes consistent (required)
    copy copy info for one atom to another atom's array locations (required)
    pack_comm store an atom's info in a buffer communicated every timestep (required)
    pack_comm_vel add velocity info to communication buffer (required)
    pack_comm_hybrid store extra info unique to this atom style (optional)
    unpack_comm retrieve an atom's info from the buffer (required)
    unpack_comm_vel also retrieve velocity info (required)
    unpack_comm_hybrid retreive extra info unique to this atom style (optional)
    pack_reverse store an atom's info in a buffer communicating partial forces (required)
    pack_reverse_hybrid store extra info unique to this atom style (optional)
    unpack_reverse retrieve an atom's info from the buffer (required)
    unpack_reverse_hybrid retreive extra info unique to this atom style (optional)
    pack_border store an atom's info in a buffer communicated on neighbor re-builds (required)
    pack_border_vel add velocity info to buffer (required)
    pack_border_hybrid store extra info unique to this atom style (optional)
    unpack_border retrieve an atom's info from the buffer (required)
    unpack_border_vel also retrieve velocity info (required)
    unpack_border_hybrid retreive extra info unique to this atom style (optional)
    pack_exchange store all an atom's info to migrate to another processor (required)
    unpack_exchange retrieve an atom's info from the buffer (required)
    size_restart number of restart quantities associated with proc's atoms (required)
    pack_restart pack atom quantities into a buffer (required)
    unpack_restart unpack atom quantities from a buffer (required)
    create_atom create an individual atom of this style (required)
    data_atom parse an atom line from the data file (required)
    data_atom_hybrid parse additional atom info unique to this atom style (optional)
    data_vel parse one line of velocity information from data file (optional)
    data_vel_hybrid parse additional velocity data unique to this atom style (optional)
    memory_usage tally memory allocated by atom arrays (required) -
    - -

    The constructor of the derived class sets values for several variables +atoms.

    +

    Atom_vec_atomic.cpp is a simple example of an atom style.

    +

    Here is a brief description of methods you define in your new derived +class. See atom_vec.h for details.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    initone time setup (optional)
    growre-allocate atom arrays to longer lengths (required)
    grow_resetmake array pointers in Atom and AtomVec classes consistent (required)
    copycopy info for one atom to another atom’s array locations (required)
    pack_commstore an atom’s info in a buffer communicated every timestep (required)
    pack_comm_veladd velocity info to communication buffer (required)
    pack_comm_hybridstore extra info unique to this atom style (optional)
    unpack_commretrieve an atom’s info from the buffer (required)
    unpack_comm_velalso retrieve velocity info (required)
    unpack_comm_hybridretreive extra info unique to this atom style (optional)
    pack_reversestore an atom’s info in a buffer communicating partial forces (required)
    pack_reverse_hybridstore extra info unique to this atom style (optional)
    unpack_reverseretrieve an atom’s info from the buffer (required)
    unpack_reverse_hybridretreive extra info unique to this atom style (optional)
    pack_borderstore an atom’s info in a buffer communicated on neighbor re-builds (required)
    pack_border_veladd velocity info to buffer (required)
    pack_border_hybridstore extra info unique to this atom style (optional)
    unpack_borderretrieve an atom’s info from the buffer (required)
    unpack_border_velalso retrieve velocity info (required)
    unpack_border_hybridretreive extra info unique to this atom style (optional)
    pack_exchangestore all an atom’s info to migrate to another processor (required)
    unpack_exchangeretrieve an atom’s info from the buffer (required)
    size_restartnumber of restart quantities associated with proc’s atoms (required)
    pack_restartpack atom quantities into a buffer (required)
    unpack_restartunpack atom quantities from a buffer (required)
    create_atomcreate an individual atom of this style (required)
    data_atomparse an atom line from the data file (required)
    data_atom_hybridparse additional atom info unique to this atom style (optional)
    data_velparse one line of velocity information from data file (optional)
    data_vel_hybridparse additional velocity data unique to this atom style (optional)
    memory_usagetally memory allocated by atom arrays (required)
    +

    The constructor of the derived class sets values for several variables that you must set when defining a new atom style, which are documented in atom_vec.h. New atom arrays are defined in atom.cpp. Search for -the word "customize" and you will find locations you will need to -modify. -

    -

    IMPORTANT NOTE: It is possible to add some attributes, such as a -molecule ID, to atom styles that do not have them via the fix -property/atom command. This command also +the word “customize” and you will find locations you will need to +modify.

    +
    +

    Warning

    +

    It is possible to add some attributes, such as a +molecule ID, to atom styles that do not have them via the fix property/atom command. This command also allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the fix -property/atom doc page for examples of cases +floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases where this is useful and details on how to initialize, access, and -output the custom values. -

    -

    New pair styles, fixes, or -computes can be added to LAMMPS, as discussed below. +output the custom values.

    +
    +

    New pair styles, fixes, or +computes can be added to LAMMPS, as discussed below. The code for these classes can use the per-atom properties defined by fix property/atom. The Atom class has a find_custom() method that is -useful in this context: -

    -
    int index = atom->find_custom(char *name, int &flag); 
    -
    -

    The "name" of a custom attribute, as specified in the fix -property/atom command, is checked to verify +useful in this context:

    +
    int index = atom->find_custom(char *name, int &flag);
    +
    +
    +

    The “name” of a custom attribute, as specified in the fix property/atom command, is checked to verify that it exists and its index is returned. The method also sets flag = 0/1 depending on whether it is an integer or floating-point attribute. The vector of values associated with the attribute can then be -accessed using the returned index as -

    -
    int *ivector = atom->ivector[index];
    -double *dvector = atom->dvector[index]; 
    -
    -

    Ivector or dvector are vectors of length Nlocal = # of owned atoms, -which store the attributes of individual atoms. -

    -
    - -

    10.2 Bond, angle, dihedral, improper potentials -

    -

    Classes that compute molecular interactions are derived from the Bond, +accessed using the returned index as

    +
    int *ivector = atom->ivector[index];
    +double *dvector = atom->dvector[index];
    +
    +
    +

    Ivector or dvector are vectors of length Nlocal = # of owned atoms, +which store the attributes of individual atoms.

    +
    +
    +
    +

    10.2. Bond, angle, dihedral, improper potentials¶

    +

    Classes that compute molecular interactions are derived from the Bond, Angle, Dihedral, and Improper classes. New styles can be created to -add new potentials to LAMMPS. -

    -

    Bond_harmonic.cpp is the simplest example of a bond style. Ditto for +add new potentials to LAMMPS.

    +

    Bond_harmonic.cpp is the simplest example of a bond style. Ditto for the harmonic forms of the angle, dihedral, and improper style -commands. -

    -

    Here is a brief description of common methods you define in your +commands.

    +

    Here is a brief description of common methods you define in your new derived class. See bond.h, angle.h, dihedral.h, and improper.h -for details and specific additional methods. -

    -
    - - - - - - - - - -
    init check if all coefficients are set, calls init_style (optional)
    init_style check if style specific conditions are met (optional)
    compute compute the molecular interactions (required)
    settings apply global settings for all types (optional)
    coeff set coefficients for one type (required)
    equilibrium_distance length of bond, used by SHAKE (required, bond only)
    equilibrium_angle opening of angle, used by SHAKE (required, angle only)
    write & read_restart writes/reads coeffs to restart files (required)
    single force and energy of a single bond or angle (required, bond or angle only)
    memory_usage tally memory allocated by the style (optional) -
    - -
    - -

    10.3 Compute styles -

    -

    Classes that compute scalar and vector quantities like temperature +for details and specific additional methods.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    initcheck if all coefficients are set, calls init_style (optional)
    init_stylecheck if style specific conditions are met (optional)
    computecompute the molecular interactions (required)
    settingsapply global settings for all types (optional)
    coeffset coefficients for one type (required)
    equilibrium_distancelength of bond, used by SHAKE (required, bond only)
    equilibrium_angleopening of angle, used by SHAKE (required, angle only)
    write & read_restartwrites/reads coeffs to restart files (required)
    singleforce and energy of a single bond or angle (required, bond or angle only)
    memory_usagetally memory allocated by the style (optional)
    +
    +
    +
    +

    10.3. Compute styles¶

    +

    Classes that compute scalar and vector quantities like temperature and the pressure tensor, as well as classes that compute per-atom quantities like kinetic energy and the centro-symmetry parameter are derived from the Compute class. New styles can be created -to add new calculations to LAMMPS. -

    -

    Compute_temp.cpp is a simple example of computing a scalar +to add new calculations to LAMMPS.

    +

    Compute_temp.cpp is a simple example of computing a scalar temperature. Compute_ke_atom.cpp is a simple example of computing -per-atom kinetic energy. -

    -

    Here is a brief description of methods you define in your new derived -class. See compute.h for details. -

    -
    - - - - - - - - - - - - - - -
    init perform one time setup (required)
    init_list neighbor list setup, if needed (optional)
    compute_scalar compute a scalar quantity (optional)
    compute_vector compute a vector of quantities (optional)
    compute_peratom compute one or more quantities per atom (optional)
    compute_local compute one or more quantities per processor (optional)
    pack_comm pack a buffer with items to communicate (optional)
    unpack_comm unpack the buffer (optional)
    pack_reverse pack a buffer with items to reverse communicate (optional)
    unpack_reverse unpack the buffer (optional)
    remove_bias remove velocity bias from one atom (optional)
    remove_bias_all remove velocity bias from all atoms in group (optional)
    restore_bias restore velocity bias for one atom after remove_bias (optional)
    restore_bias_all same as before, but for all atoms in group (optional)
    memory_usage tally memory usage (optional) -
    - -
    - -

    10.4 Dump styles -

    -

    10.5 Dump custom output options -

    -

    Classes that dump per-atom info to files are derived from the Dump +per-atom kinetic energy.

    +

    Here is a brief description of methods you define in your new derived +class. See compute.h for details.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    initperform one time setup (required)
    init_listneighbor list setup, if needed (optional)
    compute_scalarcompute a scalar quantity (optional)
    compute_vectorcompute a vector of quantities (optional)
    compute_peratomcompute one or more quantities per atom (optional)
    compute_localcompute one or more quantities per processor (optional)
    pack_commpack a buffer with items to communicate (optional)
    unpack_communpack the buffer (optional)
    pack_reversepack a buffer with items to reverse communicate (optional)
    unpack_reverseunpack the buffer (optional)
    remove_biasremove velocity bias from one atom (optional)
    remove_bias_allremove velocity bias from all atoms in group (optional)
    restore_biasrestore velocity bias for one atom after remove_bias (optional)
    restore_bias_allsame as before, but for all atoms in group (optional)
    memory_usagetally memory usage (optional)
    +
    +
    +
    +

    10.4. Dump styles¶

    +
    +
    +

    10.5. Dump custom output options¶

    +

    Classes that dump per-atom info to files are derived from the Dump class. To dump new quantities or in a new format, a new derived dump class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump_custom.cpp file. -

    -

    Dump_atom.cpp is a simple example of a derived dump class. -

    -

    Here is a brief description of methods you define in your new derived -class. See dump.h for details. -

    -
    - - - -
    write_header write the header section of a snapshot of atoms
    count count the number of lines a processor will output
    pack pack a proc's output data into a buffer
    write_data write a proc's data to a file -
    - -

    See the dump command and its custom style for a list of +DumpCustom class contained in the dump_custom.cpp file.

    +

    Dump_atom.cpp is a simple example of a derived dump class.

    +

    Here is a brief description of methods you define in your new derived +class. See dump.h for details.

    + ++++ + + + + + + + + + + + + + + +
    write_headerwrite the header section of a snapshot of atoms
    countcount the number of lines a processor will output
    packpack a proc’s output data into a buffer
    write_datawrite a proc’s data to a file
    +

    See the dump command and its custom style for a list of keywords for atom information that can already be dumped by DumpCustom. It includes options to dump per-atom info from Compute classes, so adding a new derived Compute class is one way to calculate -new quantities to dump. -

    -

    Alternatively, you can add new keywords to the dump custom command. -Search for the word "customize" in dump_custom.cpp to see the -half-dozen or so locations where code will need to be added. -

    -
    - -

    10.6 Fix styles -

    -

    In LAMMPS, a "fix" is any operation that is computed during +new quantities to dump.

    +

    Alternatively, you can add new keywords to the dump custom command. +Search for the word “customize” in dump_custom.cpp to see the +half-dozen or so locations where code will need to be added.

    +
    +
    +
    +

    10.6. Fix styles¶

    +

    In LAMMPS, a “fix” is any operation that is computed during timestepping that alters some property of the system. Essentially everything that happens during a simulation besides force computation, -neighbor list construction, and output, is a "fix". This includes +neighbor list construction, and output, is a “fix”. This includes time integration (update of coordinates and velocities), force constraints or boundary conditions (SHAKE or walls), and diagnostics (compute a diffusion coefficient). New styles can be created to add -new options to LAMMPS. -

    -

    Fix_setforce.cpp is a simple example of setting forces on atoms to +new options to LAMMPS.

    +

    Fix_setforce.cpp is a simple example of setting forces on atoms to prescribed values. There are dozens of fix options already in LAMMPS; choose one as a template that is similar to what you want to -implement. -

    -

    Here is a brief description of methods you can define in your new -derived class. See fix.h for details. -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    setmask determines when the fix is called during the timestep (required)
    init initialization before a run (optional)
    setup_pre_exchange called before atom exchange in setup (optional)
    setup_pre_force called before force computation in setup (optional)
    setup called immediately before the 1st timestep and after forces are computed (optional)
    min_setup_pre_force like setup_pre_force, but for minimizations instead of MD runs (optional)
    min_setup like setup, but for minimizations instead of MD runs (optional)
    initial_integrate called at very beginning of each timestep (optional)
    pre_exchange called before atom exchange on re-neighboring steps (optional)
    pre_neighbor called before neighbor list build (optional)
    pre_force called before pair & molecular forces are computed (optional)
    post_force called after pair & molecular forces are computed and communicated (optional)
    final_integrate called at end of each timestep (optional)
    end_of_step called at very end of timestep (optional)
    write_restart dumps fix info to restart file (optional)
    restart uses info from restart file to re-initialize the fix (optional)
    grow_arrays allocate memory for atom-based arrays used by fix (optional)
    copy_arrays copy atom info when an atom migrates to a new processor (optional)
    pack_exchange store atom's data in a buffer (optional)
    unpack_exchange retrieve atom's data from a buffer (optional)
    pack_restart store atom's data for writing to restart file (optional)
    unpack_restart retrieve atom's data from a restart file buffer (optional)
    size_restart size of atom's data (optional)
    maxsize_restart max size of atom's data (optional)
    setup_pre_force_respa same as setup_pre_force, but for rRESPA (optional)
    initial_integrate_respa same as initial_integrate, but for rRESPA (optional)
    post_integrate_respa called after the first half integration step is done in rRESPA (optional)
    pre_force_respa same as pre_force, but for rRESPA (optional)
    post_force_respa same as post_force, but for rRESPA (optional)
    final_integrate_respa same as final_integrate, but for rRESPA (optional)
    min_pre_force called after pair & molecular forces are computed in minimizer (optional)
    min_post_force called after pair & molecular forces are computed and communicated in minmizer (optional)
    min_store store extra data for linesearch based minimization on a LIFO stack (optional)
    min_pushstore push the minimization LIFO stack one element down (optional)
    min_popstore pop the minimization LIFO stack one element up (optional)
    min_clearstore clear minimization LIFO stack (optional)
    min_step reset or move forward on line search minimization (optional)
    min_dof report number of degrees of freedom added by this fix in minimization (optional)
    max_alpha report maximum allowed step size during linesearch minimization (optional)
    pack_comm pack a buffer to communicate a per-atom quantity (optional)
    unpack_comm unpack a buffer to communicate a per-atom quantity (optional)
    pack_reverse_comm pack a buffer to reverse communicate a per-atom quantity (optional)
    unpack_reverse_comm unpack a buffer to reverse communicate a per-atom quantity (optional)
    dof report number of degrees of freedom removed by this fix during MD (optional)
    compute_scalar return a global scalar property that the fix computes (optional)
    compute_vector return a component of a vector property that the fix computes (optional)
    compute_array return a component of an array property that the fix computes (optional)
    deform called when the box size is changed (optional)
    reset_target called when a change of the target temperature is requested during a run (optional)
    reset_dt is called when a change of the time step is requested during a run (optional)
    modify_param called when a fix_modify request is executed (optional)
    memory_usage report memory used by fix (optional)
    thermo compute quantities for thermodynamic output (optional) -
    - -

    Typically, only a small fraction of these methods are defined for a +implement.

    +

    Here is a brief description of methods you can define in your new +derived class. See fix.h for details.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    setmaskdetermines when the fix is called during the timestep (required)
    initinitialization before a run (optional)
    setup_pre_exchangecalled before atom exchange in setup (optional)
    setup_pre_forcecalled before force computation in setup (optional)
    setupcalled immediately before the 1st timestep and after forces are computed (optional)
    min_setup_pre_forcelike setup_pre_force, but for minimizations instead of MD runs (optional)
    min_setuplike setup, but for minimizations instead of MD runs (optional)
    initial_integratecalled at very beginning of each timestep (optional)
    pre_exchangecalled before atom exchange on re-neighboring steps (optional)
    pre_neighborcalled before neighbor list build (optional)
    pre_forcecalled before pair & molecular forces are computed (optional)
    post_forcecalled after pair & molecular forces are computed and communicated (optional)
    final_integratecalled at end of each timestep (optional)
    end_of_stepcalled at very end of timestep (optional)
    write_restartdumps fix info to restart file (optional)
    restartuses info from restart file to re-initialize the fix (optional)
    grow_arraysallocate memory for atom-based arrays used by fix (optional)
    copy_arrayscopy atom info when an atom migrates to a new processor (optional)
    pack_exchangestore atom’s data in a buffer (optional)
    unpack_exchangeretrieve atom’s data from a buffer (optional)
    pack_restartstore atom’s data for writing to restart file (optional)
    unpack_restartretrieve atom’s data from a restart file buffer (optional)
    size_restartsize of atom’s data (optional)
    maxsize_restartmax size of atom’s data (optional)
    setup_pre_force_respasame as setup_pre_force, but for rRESPA (optional)
    initial_integrate_respasame as initial_integrate, but for rRESPA (optional)
    post_integrate_respacalled after the first half integration step is done in rRESPA (optional)
    pre_force_respasame as pre_force, but for rRESPA (optional)
    post_force_respasame as post_force, but for rRESPA (optional)
    final_integrate_respasame as final_integrate, but for rRESPA (optional)
    min_pre_forcecalled after pair & molecular forces are computed in minimizer (optional)
    min_post_forcecalled after pair & molecular forces are computed and communicated in minmizer (optional)
    min_storestore extra data for linesearch based minimization on a LIFO stack (optional)
    min_pushstorepush the minimization LIFO stack one element down (optional)
    min_popstorepop the minimization LIFO stack one element up (optional)
    min_clearstoreclear minimization LIFO stack (optional)
    min_stepreset or move forward on line search minimization (optional)
    min_dofreport number of degrees of freedom added by this fix in minimization (optional)
    max_alphareport maximum allowed step size during linesearch minimization (optional)
    pack_commpack a buffer to communicate a per-atom quantity (optional)
    unpack_communpack a buffer to communicate a per-atom quantity (optional)
    pack_reverse_commpack a buffer to reverse communicate a per-atom quantity (optional)
    unpack_reverse_communpack a buffer to reverse communicate a per-atom quantity (optional)
    dofreport number of degrees of freedom removed by this fix during MD (optional)
    compute_scalarreturn a global scalar property that the fix computes (optional)
    compute_vectorreturn a component of a vector property that the fix computes (optional)
    compute_arrayreturn a component of an array property that the fix computes (optional)
    deformcalled when the box size is changed (optional)
    reset_targetcalled when a change of the target temperature is requested during a run (optional)
    reset_dtis called when a change of the time step is requested during a run (optional)
    modify_paramcalled when a fix_modify request is executed (optional)
    memory_usagereport memory used by fix (optional)
    thermocompute quantities for thermodynamic output (optional)
    +

    Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration (nve, nvt, npt) implement initial_integrate() and +integration (nve, nvt, npt) implement initial_integrate() and final_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post_force(). -

    -

    Fixes that perform diagnostics typically implement end_of_step(). For +constrain forces implement post_force().

    +

    Fixes that perform diagnostics typically implement end_of_step(). For an end_of_step fix, one of your fix arguments must be the variable -"nevery" which is used to determine when to call the fix and you must +“nevery” which is used to determine when to call the fix and you must set this variable in the constructor of your fix. By convention, this -is the first argument the fix defines (after the ID, group-ID, style). -

    -

    If the fix needs to store information for each atom that persists from +is the first argument the fix defines (after the ID, group-ID, style).

    +

    If the fix needs to store information for each atom that persists from timestep to timestep, it can manage that memory and migrate the info with the atoms as they move from processors to processor by implementing the grow_arrays, copy_arrays, pack_exchange, and unpack_exchange methods. Similarly, the pack_restart and unpack_restart methods can be implemented to store information about the fix in restart files. If you wish an integrator or force -constraint fix to work with rRESPA (see the run_style +constraint fix to work with rRESPA (see the run_style command), the initial_integrate, post_force_integrate, and final_integrate_respa methods can be implemented. The thermo method enables a fix to contribute values to thermodynamic output, as printed -quantities and/or to be summed to the potential energy of the system. -

    -
    - -

    10.7 Input script commands -

    -

    New commands can be added to LAMMPS input scripts by adding new -classes that have a "command" method. For example, the create_atoms, +quantities and/or to be summed to the potential energy of the system.

    +
    +
    +
    +

    10.7. Input script commands¶

    +

    New commands can be added to LAMMPS input scripts by adding new +classes that have a “command” method. For example, the create_atoms, read_data, velocity, and run commands are all implemented in this fashion. When such a command is encountered in the LAMMPS input script, LAMMPS simply creates a class with the corresponding name, -invokes the "command" method of the class, and passes it the arguments +invokes the “command” method of the class, and passes it the arguments from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures. -

    -

    The single method your new class must define is as follows: -

    -
    -
    command operations performed by the new command -
    - -

    Of course, the new class can define other methods and variables as -needed. -

    -
    - -

    10.8 Kspace computations -

    -

    Classes that compute long-range Coulombic interactions via K-space +operations it wishes on LAMMPS data structures.

    +

    The single method your new class must define is as follows:

    + ++++ + + + + + +
    commandoperations performed by the new command
    +

    Of course, the new class can define other methods and variables as +needed.

    +
    +
    +
    +

    10.8. Kspace computations¶

    +

    Classes that compute long-range Coulombic interactions via K-space representations (Ewald, PPPM) are derived from the KSpace class. New -styles can be created to add new K-space options to LAMMPS. -

    -

    Ewald.cpp is an example of computing K-space interactions. -

    -

    Here is a brief description of methods you define in your new derived -class. See kspace.h for details. -

    -
    - - - -
    init initialize the calculation before a run
    setup computation before the 1st timestep of a run
    compute every-timestep computation
    memory_usage tally of memory usage -
    - -
    - -

    10.9 Minimization styles -

    -

    Classes that perform energy minimization derived from the Min class. +styles can be created to add new K-space options to LAMMPS.

    +

    Ewald.cpp is an example of computing K-space interactions.

    +

    Here is a brief description of methods you define in your new derived +class. See kspace.h for details.

    + ++++ + + + + + + + + + + + + + + +
    initinitialize the calculation before a run
    setupcomputation before the 1st timestep of a run
    computeevery-timestep computation
    memory_usagetally of memory usage
    +
    +
    +
    +

    10.9. Minimization styles¶

    +

    Classes that perform energy minimization derived from the Min class. New styles can be created to add new minimization algorithms to -LAMMPS. -

    -

    Min_cg.cpp is an example of conjugate gradient minimization. -

    -

    Here is a brief description of methods you define in your new derived -class. See min.h for details. -

    -
    - - -
    init initialize the minimization before a run
    run perform the minimization
    memory_usage tally of memory usage -
    - -
    - -

    10.10 Pairwise potentials -

    -

    Classes that compute pairwise interactions are derived from the Pair +LAMMPS.

    +

    Min_cg.cpp is an example of conjugate gradient minimization.

    +

    Here is a brief description of methods you define in your new derived +class. See min.h for details.

    + ++++ + + + + + + + + + + + +
    initinitialize the minimization before a run
    runperform the minimization
    memory_usagetally of memory usage
    +
    +
    +
    +

    10.10. Pairwise potentials¶

    +

    Classes that compute pairwise interactions are derived from the Pair class. In LAMMPS, pairwise calculation include manybody potentials such as EAM or Tersoff where particles interact without a static bond topology. New styles can be created to add new pair potentials to -LAMMPS. -

    -

    Pair_lj_cut.cpp is a simple example of a Pair class, though it -includes some optional methods to enable its use with rRESPA. -

    -

    Here is a brief description of the class methods in pair.h: -

    -
    - - - - - - - - -
    compute workhorse routine that computes pairwise interactions
    settings reads the input script line with arguments you define
    coeff set coefficients for one i,j type pair
    init_one perform initialization for one i,j type pair
    init_style initialization specific to this pair style
    write & read_restart write/read i,j pair coeffs to restart files
    write & read_restart_settings write/read global settings to restart files
    single force and energy of a single pairwise interaction between 2 atoms
    compute_inner/middle/outer versions of compute used by rRESPA -
    - -

    The inner/middle/outer routines are optional. -

    -
    - -

    10.11 Region styles -

    -

    Classes that define geometric regions are derived from the Region +LAMMPS.

    +

    Pair_lj_cut.cpp is a simple example of a Pair class, though it +includes some optional methods to enable its use with rRESPA.

    +

    Here is a brief description of the class methods in pair.h:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    computeworkhorse routine that computes pairwise interactions
    settingsreads the input script line with arguments you define
    coeffset coefficients for one i,j type pair
    init_oneperform initialization for one i,j type pair
    init_styleinitialization specific to this pair style
    write & read_restartwrite/read i,j pair coeffs to restart files
    write & read_restart_settingswrite/read global settings to restart files
    singleforce and energy of a single pairwise interaction between 2 atoms
    compute_inner/middle/outerversions of compute used by rRESPA
    +

    The inner/middle/outer routines are optional.

    +
    +
    +
    +

    10.11. Region styles¶

    +

    Classes that define geometric regions are derived from the Region class. Regions are used elsewhere in LAMMPS to group atoms, delete atoms to create a void, insert atoms in a specified region, etc. New -styles can be created to add new region shapes to LAMMPS. -

    -

    Region_sphere.cpp is an example of a spherical region. -

    -

    Here is a brief description of methods you define in your new derived -class. See region.h for details. -

    -
    -
    match determine whether a point is in the region -
    - -
    - -

    10.11 Body styles -

    -

    Classes that define body particles are derived from the Body class. +styles can be created to add new region shapes to LAMMPS.

    +

    Region_sphere.cpp is an example of a spherical region.

    +

    Here is a brief description of methods you define in your new derived +class. See region.h for details.

    + ++++ + + + + + +
    matchdetermine whether a point is in the region
    +
    +
    +
    +

    10.12. Body styles¶

    +

    Classes that define body particles are derived from the Body class. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, -etc. -

    -

    See Section_howto 14 of the manual for -an overview of using body particles and the body doc page +etc.

    +

    See Section_howto 14 of the manual for +an overview of using body particles and the body doc page for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS. -

    -

    Body_nparticle.cpp is an example of a body particle that is treated as -a rigid body containing N sub-particles. -

    -

    Here is a brief description of methods you define in your new derived -class. See body.h for details. -

    -
    - - - - - - - -
    data_body process a line from the Bodies section of a data file
    noutrow number of sub-particles output is generated for
    noutcol number of values per-sub-particle output is generated for
    output output values for the Mth sub-particle
    pack_comm_body body attributes to communicate every timestep
    unpack_comm_body unpacking of those attributes
    pack_border_body body attributes to communicate when reneighboring is done
    unpack_border_body unpacking of those attributes -
    - -
    - -

    10.13 Thermodynamic output options -

    -

    There is one class that computes and prints thermodynamic information -to the screen and log file; see the file thermo.cpp. -

    -

    There are two styles defined in thermo.cpp: "one" and "multi". There -is also a flexible "custom" style which allows the user to explicitly +can be created to add new kinds of body particles to LAMMPS.

    +

    Body_nparticle.cpp is an example of a body particle that is treated as +a rigid body containing N sub-particles.

    +

    Here is a brief description of methods you define in your new derived +class. See body.h for details.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    data_bodyprocess a line from the Bodies section of a data file
    noutrownumber of sub-particles output is generated for
    noutcolnumber of values per-sub-particle output is generated for
    outputoutput values for the Mth sub-particle
    pack_comm_bodybody attributes to communicate every timestep
    unpack_comm_bodyunpacking of those attributes
    pack_border_bodybody attributes to communicate when reneighboring is done
    unpack_border_bodyunpacking of those attributes
    +
    +
    +
    +

    10.13. Thermodynamic output options¶

    +

    There is one class that computes and prints thermodynamic information +to the screen and log file; see the file thermo.cpp.

    +

    There are two styles defined in thermo.cpp: “one” and “multi”. There +is also a flexible “custom” style which allows the user to explicitly list keywords for quantities to print when thermodynamic info is -output. See the thermo_style command for a list -of defined quantities. -

    -

    The thermo styles (one, multi, etc) are simply lists of keywords. +output. See the thermo_style command for a list +of defined quantities.

    +

    The thermo styles (one, multi, etc) are simply lists of keywords. Adding a new style thus only requires defining a new list of keywords. -Search for the word "customize" with references to "thermo style" in -thermo.cpp to see the two locations where code will need to be added. -

    -

    New keywords can also be added to thermo.cpp to compute new quantities -for output. Search for the word "customize" with references to -"keyword" in thermo.cpp to see the several locations where code will -need to be added. -

    -

    Note that the thermo_style custom command already allows -for thermo output of quantities calculated by fixes, -computes, and variables. Thus, it may +Search for the word “customize” with references to “thermo style” in +thermo.cpp to see the two locations where code will need to be added.

    +

    New keywords can also be added to thermo.cpp to compute new quantities +for output. Search for the word “customize” with references to +“keyword” in thermo.cpp to see the several locations where code will +need to be added.

    +

    Note that the thermo_style custom command already allows +for thermo output of quantities calculated by fixes, +computes, and variables. Thus, it may be simpler to compute what you wish via one of those constructs, than -by adding a new keyword to the thermo command. -

    -
    - -

    10.14 Variable options -

    -

    There is one class that computes and stores variable +by adding a new keyword to the thermo command.

    +
    +
    +
    +

    10.14. Variable options¶

    +

    There is one class that computes and stores variable information in LAMMPS; see the file variable.cpp. The value associated with a variable can be periodically printed to the screen -via the print, fix print, or -thermo_style custom commands. Variables of style -"equal" can compute complex equations that involve the following types -of arguments: -

    -
    thermo keywords = ke, vol, atoms, ...
    +via the print, fix print, or
    +thermo_style custom commands.  Variables of style
    +“equal” can compute complex equations that involve the following types
    +of arguments:

    +
    thermo keywords = ke, vol, atoms, ...
     other variables = v_a, v_myvar, ...
     math functions = div(x,y), mult(x,y), add(x,y), ...
     group functions = mass(group), xcm(group,x), ...
     atom values = x[123], y[3], vx[34], ...
    -compute values = c_mytemp[0], c_thermo_press[3], ... 
    -
    -

    Adding keywords for the thermo_style custom command +compute values = c_mytemp[0], c_thermo_press[3], ... +

    +
    +

    Adding keywords for the thermo_style custom command (which can then be accessed by variables) was discussed -here on this page. -

    -

    Adding a new math function of one or two arguments can be done by +here on this page.

    +

    Adding a new math function of one or two arguments can be done by editing one section of the Variable::evaulate() method. Search for -the word "customize" to find the appropriate location. -

    -

    Adding a new group function can be done by editing one section of the -Variable::evaulate() method. Search for the word "customize" to find +the word “customize” to find the appropriate location.

    +

    Adding a new group function can be done by editing one section of the +Variable::evaulate() method. Search for the word “customize” to find the appropriate location. You may need to add a new method to the -Group class as well (see the group.cpp file). -

    -

    Accessing a new atom-based vector can be done by editing one section -of the Variable::evaulate() method. Search for the word "customize" -to find the appropriate location. -

    -

    Adding new compute styles (whose calculated values can +Group class as well (see the group.cpp file).

    +

    Accessing a new atom-based vector can be done by editing one section +of the Variable::evaulate() method. Search for the word “customize” +to find the appropriate location.

    +

    Adding new compute styles (whose calculated values can then be accessed by variables) was discussed -here on this page. -

    -
    - -
    - -

    10.15 Submitting new features for inclusion in LAMMPS -

    -

    We encourage users to submit new features to the -developers that they add to +here on this page.

    +
    +
    +

    10.15. Submitting new features for inclusion in LAMMPS¶

    +

    We encourage users to submit new features to the developers that they add to LAMMPS, especially if you think they will be of interest to other users. If they are broadly useful we may add them as core files to -LAMMPS or as part of a standard package. +LAMMPS or as part of a standard package. Else we will add them as a user-contributed file or package. Examples of user packages are in src sub-directories that start with USER. The USER-MISC package is simply a collection of (mostly) unrelated single files, which is the simplest way to have your contribution quickly added to the LAMMPS distribution. You can see a list of the both -standard and user packages by typing "make package" in the LAMMPS src -directory. -

    -

    Note that by providing us the files to release, you are agreeing to +standard and user packages by typing “make package” in the LAMMPS src +directory.

    +

    Note that by providing us the files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the -GPL, used as a license for the rest of LAMMPS. See Section -1.4 for details. -

    -

    With user packages and files, all we are really providing (aside from +GPL, used as a license for the rest of LAMMPS. See Section 1.4 for details.

    +

    With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source -code and on the Authors page -of the LAMMPS WWW site), is a means for you to distribute your +code and on the Authors page +of the LAMMPS WWW site), is a means for you to distribute your work to the LAMMPS user community, and a mechanism for others to easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you're also implicitly +contact with new collaborators. Note that you’re also implicitly agreeing to support your code which means answer questions, fix bugs, and maintain it if LAMMPS changes in some way that breaks it (an -unusual event). -

    -

    NOTE: If you prefer to actively develop and support your add-on +unusual event).

    +
    +

    Note

    +

    If you prefer to actively develop and support your add-on feature yourself, then you may wish to make it available for download from your own website, as a user package that LAMMPS users can add to -their copy of LAMMPS. See the Offsite LAMMPS packages and -tools page of the LAMMPS web +their copy of LAMMPS. See the Offsite LAMMPS packages and tools page of the LAMMPS web site for examples of groups that do this. We are happy to advertise your package and web site from that page. Simply email the -developers with info about -your package and we will post it there. -

    -

    The previous sections of this doc page describe how to add new "style" +developers with info about +your package and we will post it there.

    +
    +

    The previous sections of this doc page describe how to add new “style” files of various kinds to LAMMPS. Packages are simply collections of one or more new class files which are invoked as a new style within a LAMMPS input script. If designed correctly, these additions typically do not require changes to the main core of LAMMPS; they are simply add-on files. If you think your new feature requires non-trivial -changes in core LAMMPS files, you'll need to communicate with the -developers, since we may or may +changes in core LAMMPS files, you’ll need to communicate with the developers, since we may or may not want to make those changes. An example of a trivial change is -making a parent-class method "virtual" when you derive a new child -class from it. -

    -

    Here are the steps you need to follow to submit a single file or user +making a parent-class method “virtual” when you derive a new child +class from it.

    +

    Here are the steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the src dir for -examples. -

    -
    • All source files you provide must compile with the most current -version of LAMMPS. - -
    • If you want your file(s) to be added to main LAMMPS or one of its +examples.

      +
        +
      • All source files you provide must compile with the most current +version of LAMMPS.
      • +
      • If you want your file(s) to be added to main LAMMPS or one of its standard packages, then it needs to be written in a style compatible with other LAMMPS source files. This is so the developers can understand it and hopefully maintain it. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of -the error class for error and warning messages. - -
      • If you want your contribution to be added as a user-contributed -feature, and it's a single file (actually a *.cpp and *.h file) it can +the error class for error and warning messages.
      • +
      • If you want your contribution to be added as a user-contributed +feature, and it’s a single file (actually a *.cpp and *.h file) it can rapidly be added to the USER-MISC directory. Send us the one-line entry to add to the USER-MISC/README file in that dir, along with the 2 source files. You can do this multiple times if you wish to -contribute several individual features. - -
      • If you want your contribution to be added as a user-contribution and +contribute several individual features.
      • +
      • If you want your contribution to be added as a user-contribution and it is several related featues, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README @@ -719,9 +1113,8 @@ other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a -tarball of this USER-FOO directory. - -
      • Your new source files need to have the LAMMPS copyright, GPL notice, +tarball of this USER-FOO directory.
      • +
      • Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the @@ -729,37 +1122,33 @@ USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your -code. - -
      • You must also create a documentation file for each new command or +code.
      • +
      • You must also create a documentation file for each new command or style you are adding to LAMMPS. This will be one file for a single-file feature. For a package, it might be several files. These are simple text files which we auto-convert to HTML. Thus they must -be in the same format as other *.txt files in the lammps/doc directory +be in the same format as other .txt files in the lammps/doc directory for similar commands and styles; use one or more of them as a starting point. As appropriate, the text files can include links to equations -(see doc/Eqs/*.tex for examples, we auto-create the associated JPG +(see doc/Eqs/.tex for examples, we auto-create the associated JPG files), or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.txt for examples and the earlier part of the same -file for how to format the cite itself. The "Restrictions" section of +file for how to format the cite itself. The “Restrictions” section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The -txt2html tool we use to convert to HTML can be downloaded from this -site, so you can perform -the HTML conversion yourself to proofread your doc page. - -
      • For a new package (or even a single command) you can include one or +txt2html tool we use to convert to HTML can be downloaded from this site, so you can perform +the HTML conversion yourself to proofread your doc page.
      • +
      • For a new package (or even a single command) you can include one or more example scripts. These should run in no more than 1 minute, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other -users provided for their packages. - -
      • If there is a paper of yours describing your feature (either the +users provided for their packages.
      • +
      • If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or -its implementation in LAMMPS), you can add the citation to the *.cpp +its implementation in LAMMPS), you can add the citation to the *.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the @@ -770,20 +1159,86 @@ should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you -provide. -
      -

      Finally, as a general rule-of-thumb, the more clear and +provide.

    • +
    +

    Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your doc and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new -feature. -

    -
    +feature.

    +

    (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997).

    +
    +
    -
    - +
    + +
    + + + -

    (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_packages.html b/doc/Section_packages.html index 4b9bd92756..98a805ea2e 100644 --- a/doc/Section_packages.html +++ b/doc/Section_packages.html @@ -1,269 +1,942 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 4. Packages — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    4. Packages -

    -

    This section gives a quick overview of the add-on packages that extend -LAMMPS functionality. -

    -4.1 Standard packages
    -4.2 User packages
    - -

    LAMMPS includes many optional packages, which are groups of files that + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    4. Packages¶

    +

    This section gives a quick overview of the add-on packages that extend +LAMMPS functionality.

    + +

    LAMMPS includes many optional packages, which are groups of files that enable a specific set of features. For example, force fields for molecular systems or granular systems are in packages. You can see -the list of all packages by typing "make package" from within the src -directory of the LAMMPS distribution. -

    -

    See Section_start 3 of the manual for +the list of all packages by typing “make package” from within the src +directory of the LAMMPS distribution.

    +

    See Section_start 3 of the manual for details on how to include/exclude specific packages as part of the LAMMPS build process, and for more details about the differences -between standard packages and user packages in LAMMPS. -

    -

    Below, the packages currently availabe in LAMMPS are listed. For +between standard packages and user packages in LAMMPS.

    +

    Below, the packages currently availabe in LAMMPS are listed. For standard packages, just a one-line description is given. For user -packages, more details are provided. -

    -
    - -
    - -

    4.1 Standard packages -

    -

    The current list of standard packages is as follows: -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Package Description Author(s) Doc page Example Library
    ASPHERE aspherical particles - Section_howto 6.14 ellipse -
    BODY body-style particles - body body -
    CLASS2 class 2 force fields - pair_style lj/class2 - -
    COLLOID colloidal particles - atom_style colloid colloid -
    CORESHELL adiabatic core/shell model Hendrik Heenen (Technical U of Munich) Section_howto 6.25 coreshell -
    DIPOLE point dipole particles - pair_style dipole/cut dipole -
    FLD Fast Lubrication Dynamics Kumar & Bybee & Higdon (1) pair_style lubricateU - -
    GPU GPU-enabled styles Mike Brown (ORNL) Section accelerate gpu lib/gpu
    GRANULAR granular systems - Section_howto 6.6 pour -
    KIM openKIM potentials Smirichinski & Elliot & Tadmor (3) pair_style kim kim KIM
    KOKKOS Kokkos-enabled styles Trott & Edwards (4) Section_accelerate kokkos lib/kokkos
    KSPACE long-range Coulombic solvers - kspace_style peptide -
    MANYBODY many-body potentials - pair_style tersoff shear -
    MEAM modified EAM potential Greg Wagner (Sandia) pair_style meam meam lib/meam
    MC Monte Carlo options - fix gcmc - -
    MOLECULE molecular system force fields - Section_howto 6.3 peptide -
    OPT optimized pair styles Fischer & Richie & Natoli (2) Section accelerate - -
    PERI Peridynamics models Mike Parks (Sandia) pair_style peri peri -
    POEMS coupled rigid body motion Rudra Mukherjee (JPL) fix poems rigid lib/poems
    PYTHON embed Python code in an input script - python python lib/python
    REAX ReaxFF potential Aidan Thompson (Sandia) pair_style reax reax lib/reax
    REPLICA multi-replica methods - Section_howto 6.5 tad -
    RIGID rigid bodies - fix rigid rigid -
    SHOCK shock loading methods - fix msst - -
    SNAP quantum-fit potential Aidan Thompson (Sandia) pair snap snap -
    SRD stochastic rotation dynamics - fix srd srd -
    VORONOI Voronoi tesselations Daniel Schwen (LANL) compute voronoi/atom - Voro++
    XTC dumps in XTC format - dump - -
    -
    - -

    The "Authors" column lists a name(s) if a specific person is -responible for creating and maintaining the package. -

    -

    (1) The FLD package was created by Amit Kumar and Michael Bybee from -Jonathan Higdon's group at UIUC. -

    -

    (2) The OPT package was created by James Fischer (High Performance +packages, more details are provided.

    +
    +

    4.1. Standard packages¶

    +

    The current list of standard packages is as follows:

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PackageDescriptionAuthor(s)Doc pageExampleLibrary
    ASPHEREaspherical particles
      +
    • +
    +
    Section_howto 6.14ellipse
      +
    • +
    +
    BODYbody-style particles
      +
    • +
    +
    bodybody
      +
    • +
    +
    CLASS2class 2 force fields
      +
    • +
    +
    pair_style lj/class2
      +
    • +
    +
      +
    • +
    +
    COLLOIDcolloidal particles
      +
    • +
    +
    atom_style colloidcolloid
      +
    • +
    +
    CORESHELLadiabatic core/shell modelHendrik Heenen (Technical U of Munich)Section_howto 6.25coreshell
      +
    • +
    +
    DIPOLEpoint dipole particles
      +
    • +
    +
    pair_style dipole/cutdipole
      +
    • +
    +
    FLDFast Lubrication DynamicsKumar & Bybee & Higdon (1)pair_style lubricateU
      +
    • +
    +
      +
    • +
    +
    GPUGPU-enabled stylesMike Brown (ORNL)Section accelerategpulib/gpu
    GRANULARgranular systems
      +
    • +
    +
    Section_howto 6.6pour
      +
    • +
    +
    KIMopenKIM potentialsSmirichinski & Elliot & Tadmor (3)pair_style kimkimKIM
    KOKKOSKokkos-enabled stylesTrott & Edwards (4)Section_acceleratekokkoslib/kokkos
    KSPACElong-range Coulombic solvers
      +
    • +
    +
    kspace_stylepeptide
      +
    • +
    +
    MANYBODYmany-body potentials
      +
    • +
    +
    pair_style tersoffshear
      +
    • +
    +
    MEAMmodified EAM potentialGreg Wagner (Sandia)pair_style meammeamlib/meam
    MCMonte Carlo options
      +
    • +
    +
    fix gcmc
      +
    • +
    +
      +
    • +
    +
    MOLECULEmolecular system force fields
      +
    • +
    +
    Section_howto 6.3peptide
      +
    • +
    +
    OPToptimized pair stylesFischer & Richie & Natoli (2)Section accelerate
      +
    • +
    +
      +
    • +
    +
    PERIPeridynamics modelsMike Parks (Sandia)pair_style periperi
      +
    • +
    +
    POEMScoupled rigid body motionRudra Mukherjee (JPL)fix poemsrigidlib/poems
    PYTHONembed Python code in an input script
      +
    • +
    +
    pythonpythonlib/python
    REAXReaxFF potentialAidan Thompson (Sandia)pair_style reaxreaxlib/reax
    REPLICAmulti-replica methods
      +
    • +
    +
    Section_howto 6.5tad
      +
    • +
    +
    RIGIDrigid bodies
      +
    • +
    +
    fix rigidrigid
      +
    • +
    +
    SHOCKshock loading methods
      +
    • +
    +
    fix msst
      +
    • +
    +
      +
    • +
    +
    SNAPquantum-fit potentialAidan Thompson (Sandia)pair snapsnap
      +
    • +
    +
    SRDstochastic rotation dynamics
      +
    • +
    +
    fix srdsrd
      +
    • +
    +
    VORONOIVoronoi tesselationsDaniel Schwen (LANL)compute voronoi/atom
      +
    • +
    +
    Voro++
    XTCdumps in XTC format
      +
    • +
    +
    dump
      +
    • +
    +
      +
    • +
    +
          
    +

    The “Authors” column lists a name(s) if a specific person is +responible for creating and maintaining the package.

    +

    (1) The FLD package was created by Amit Kumar and Michael Bybee from +Jonathan Higdon’s group at UIUC.

    +

    (2) The OPT package was created by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge -Technolgy). -

    -

    (3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott, -and Ellad Tadmor (U Minn). -

    -

    (4) The KOKKOS package was created primarily by Christian Trott +Technolgy).

    +

    (3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott, +and Ellad Tadmor (U Minn).

    +

    (4) The KOKKOS package was created primarily by Christian Trott (Sandia). It uses the Kokkos library which was developed by Carter -Edwards, Christian, and collaborators at Sandia. -

    -

    The "Doc page" column links to either a portion of the -Section_howto of the manual, or an input script -command implemented as part of the package. -

    -

    The "Example" column is a sub-directory in the examples directory of +Edwards, Christian, and collaborators at Sandia.

    +

    The “Doc page” column links to either a portion of the +Section_howto of the manual, or an input script +command implemented as part of the package.

    +

    The “Example” column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory. -

    -

    The "Library" column lists an external library which must be built +E.g. “peptide” refers to the examples/peptide directory.

    +

    The “Library” column lists an external library which must be built first and which LAMMPS links to when it is built. If it is listed as lib/package, then the code for the library is under the lib directory of the LAMMPS distribution. See the lib/package/README file for info on how to build the library. If it is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/README or src/package/Makefile.lammps file for -info on where to download the library. Section -start of the manual also gives details -on how to build LAMMPS with both kinds of auxiliary libraries. -

    -
    - -
    - -

    4.2 User packages -

    -

    The current list of user-contributed packages is as follows: -

    -
    - - - - - - - - - - - - - - - - - - - - - -
    Package Description Author(s) Doc page Example Pic/movie Library
    USER-ATC atom-to-continuum coupling Jones & Templeton & Zimmerman (1) fix atc USER/atc atc lib/atc
    USER-AWPMD wave-packet MD Ilya Valuev (JIHT) pair_style awpmd/cut USER/awpmd - lib/awpmd
    USER-CG-CMM coarse-graining model Axel Kohlmeyer (Temple U) pair_style lj/sdk USER/cg-cmm cg -
    USER-COLVARS collective variables Fiorin & Henin & Kohlmeyer (2) fix colvars USER/colvars colvars lib/colvars
    USER-CUDA NVIDIA GPU styles Christian Trott (U Tech Ilmenau) Section accelerate USER/cuda - lib/cuda
    USER-DIFFRACTION virutal x-ray and electron diffraction Shawn Coleman (ARL)compute xrd USER/diffraction - -
    USER-DRUDE Drude oscillators Dequidt & Devemy & Padua (3) tutorial USER/drude - -
    USER-EFF electron force field Andres Jaramillo-Botero (Caltech) pair_style eff/cut USER/eff eff -
    USER-FEP free energy perturbation Agilio Padua (U Blaise Pascal Clermont-Ferrand) compute fep USER/fep - -
    USER-INTEL Vectorized CPU and Intel(R) coprocessor styles W. Michael Brown (Intel) Section accelerate examples/intel - -
    USER-LB Lattice Boltzmann fluid Colin Denniston (U Western Ontario) fix lb/fluid USER/lb - -
    USER-MISC single-file contributions USER-MISC/README USER-MISC/README - - -
    USER-MOLFILE VMD molfile plug-ins Axel Kohlmeyer (Temple U) dump molfile - - VMD-MOLFILE
    USER-OMP OpenMP threaded styles Axel Kohlmeyer (Temple U) Section accelerate - - -
    USER-PHONON phonon dynamical matrix Ling-Ti Kong (Shanghai Jiao Tong U) fix phonon USER/phonon - -
    USER-QMMM QM/MM coupling Axel Kohlmeyer (Temple U) fix qmmm USER/qmmm - lib/qmmm
    USER-QTB quantum nuclear effects Yuan Shen (Stanford) fix qtb fix_qbmsst qtb - -
    USER-QUIP QUIP/libatoms interface Albert Bartok-Partay (U Cambridge) pair_style quip USER/quip - lib/quip
    USER-REAXC C version of ReaxFF Metin Aktulga (LBNL) pair_style reaxc reax - -
    USER-SPH smoothed particle hydrodynamics Georg Ganzenmuller (EMI) userguide.pdf USER/sph sph -
    -
    - - - - - - - - - - - -

    The "Authors" column lists a name(s) if a specific person is -responible for creating and maintaining the package. -

    -

    If the Library is not listed as lib/package, then it is a third-party +info on where to download the library. Section start of the manual also gives details +on how to build LAMMPS with both kinds of auxiliary libraries.

    +
    +
    +

    4.2. User packages¶

    +

    The current list of user-contributed packages is as follows:

    + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PackageDescriptionAuthor(s)Doc pageExamplePic/movieLibrary
    USER-ATCatom-to-continuum couplingJones & Templeton & Zimmerman (1)fix atcUSER/atcatclib/atc
    USER-AWPMDwave-packet MDIlya Valuev (JIHT)pair_style awpmd/cutUSER/awpmd
      +
    • +
    +
    lib/awpmd
    USER-CG-CMMcoarse-graining modelAxel Kohlmeyer (Temple U)pair_style lj/sdkUSER/cg-cmmcg
      +
    • +
    +
    USER-COLVARScollective variablesFiorin & Henin & Kohlmeyer (2)fix colvarsUSER/colvarscolvarslib/colvars
    USER-CUDANVIDIA GPU stylesChristian Trott (U Tech Ilmenau)Section accelerateUSER/cuda
      +
    • +
    +
    lib/cuda
    USER-DIFFRACTIONvirutal x-ray and electron diffractionShawn Coleman (ARL)compute xrdUSER/diffraction
      +
    • +
    +
      +
    • +
    +
    USER-DRUDEDrude oscillatorsDequidt & Devemy & Padua (3)tutorialUSER/drude
      +
    • +
    +
      +
    • +
    +
    USER-EFFelectron force fieldAndres Jaramillo-Botero (Caltech)pair_style eff/cutUSER/effeff
      +
    • +
    +
    USER-FEPfree energy perturbationAgilio Padua (U Blaise Pascal Clermont-Ferrand)compute fepUSER/fep
      +
    • +
    +
      +
    • +
    +
    USER-INTELVectorized CPU and Intel(R) coprocessor styles
      +
    1. Michael Brown (Intel)
    2. +
    +
    Section accelerateexamples/intel
      +
    • +
    +
      +
    • +
    +
    USER-LBLattice Boltzmann fluidColin Denniston (U Western Ontario)fix lb/fluidUSER/lb
      +
    • +
    +
      +
    • +
    +
    USER-MISCsingle-file contributionsUSER-MISC/READMEUSER-MISC/README
      +
    • +
    +
      +
    • +
    +
      +
    • +
    +
    USER-MOLFILEVMD molfile plug-insAxel Kohlmeyer (Temple U)dump molfile
      +
    • +
    +
      +
    • +
    +
    VMD-MOLFILE
    USER-OMPOpenMP threaded stylesAxel Kohlmeyer (Temple U)Section accelerate
      +
    • +
    +
      +
    • +
    +
      +
    • +
    +
    USER-PHONONphonon dynamical matrixLing-Ti Kong (Shanghai Jiao Tong U)fix phononUSER/phonon
      +
    • +
    +
      +
    • +
    +
    USER-QMMMQM/MM couplingAxel Kohlmeyer (Temple U)fix qmmmUSER/qmmm
      +
    • +
    +
    lib/qmmm
    USER-QTBquantum nuclear effectsYuan Shen (Stanford)fix qtb fix_qbmsstqtb
      +
    • +
    +
      +
    • +
    +
    USER-QUIPQUIP/libatoms interfaceAlbert Bartok-Partay (U Cambridge)pair_style quipUSER/quip
      +
    • +
    +
    lib/quip
    USER-REAXCC version of ReaxFFMetin Aktulga (LBNL)pair_style reaxcreax
      +
    • +
    +
      +
    • +
    +
    USER-SPHsmoothed particle hydrodynamicsGeorg Ganzenmuller (EMI)userguide.pdfUSER/sphsph
      +
    • +
    +
           
    +

    The “Authors” column lists a name(s) if a specific person is +responible for creating and maintaining the package.

    +

    If the Library is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/Makefile.lammps file for info on where to download the -library from. -

    -

    (2) The ATC package was created by Reese Jones, Jeremy Templeton, and -Jon Zimmerman (Sandia). -

    -

    (2) The COLVARS package was created by Axel Kohlmeyer (Temple U) using +library from.

    +

    (2) The ATC package was created by Reese Jones, Jeremy Templeton, and +Jon Zimmerman (Sandia).

    +

    (2) The COLVARS package was created by Axel Kohlmeyer (Temple U) using the colvars module library written by Giacomo Fiorin (Temple U) and -Jerome Henin (LISM, Marseille, France). -

    -

    (3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal +Jerome Henin (LISM, Marseille, France).

    +

    (3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal Clermont-Ferrand) and co-authors Julien Devemy (CNRS) and Agilio Padua -(U Blaise Pascal). -

    -

    The "Doc page" column links to either a portion of the -Section_howto of the manual, or an input script +(U Blaise Pascal).

    +

    The “Doc page” column links to either a portion of the +Section_howto of the manual, or an input script command implemented as part of the package, or to additional -documentation provided witht he package. -

    -

    The "Example" column is a sub-directory in the examples directory of +documentation provided witht he package.

    +

    The “Example” column is a sub-directory in the examples directory of the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory. USER/cuda -refers to the examples/USER/cuda directory. -

    -

    The "Library" column lists an external library which must be built +E.g. “peptide” refers to the examples/peptide directory. USER/cuda +refers to the examples/USER/cuda directory.

    +

    The “Library” column lists an external library which must be built first and which LAMMPS links to when it is built. If it is listed as lib/package, then the code for the library is under the lib directory of the LAMMPS distribution. See the lib/package/README file for info on how to build the library. If it is not listed as lib/package, then it is a third-party library not included in the LAMMPS distribution. See the src/package/Makefile.lammps file for info on where to download -the library. Section start of the +the library. Section start of the manual also gives details on how to build LAMMPS with both kinds of -auxiliary libraries. -

    -

    More details on each package, from the USER-*/README file is given -below. -

    -
    - -

    USER-ATC package -

    -

    This package implements a "fix atc" command which can be used in a +auxiliary libraries.

    +

    More details on each package, from the USER-*/README file is given +below.

    +
    +
    +
    +

    4.3. USER-ATC package¶

    +

    This package implements a “fix atc” command which can be used in a LAMMPS input script. This fix can be employed to either do concurrent coupling of MD with FE-based physics surrogates or on-the-fly -post-processing of atomic information to continuum fields. -

    -

    See the doc page for the fix atc command to get started. At the +post-processing of atomic information to continuum fields.

    +

    See the doc page for the fix atc command to get started. At the bottom of the doc page are many links to additional documentation -contained in the doc/USER/atc directory. -

    -

    There are example scripts for using this package in examples/USER/atc. -

    -

    This package uses an external library in lib/atc which must be +contained in the doc/USER/atc directory.

    +

    There are example scripts for using this package in examples/USER/atc.

    +

    This package uses an external library in lib/atc which must be compiled before making LAMMPS. See the lib/atc/README file and the LAMMPS manual for information on building LAMMPS with external -libraries. -

    -

    The primary people who created this package are Reese Jones (rjones at +libraries.

    +

    The primary people who created this package are Reese Jones (rjones at sandia.gov), Jeremy Templeton (jatempl at sandia.gov) and Jon Zimmerman (jzimmer at sandia.gov) at Sandia. Contact them directly if -you have questions. -

    -
    - -

    USER-AWPMD package -

    -

    This package contains a LAMMPS implementation of the Antisymmetrized -Wave Packet Molecular Dynamics (AWPMD) method. -

    -

    See the doc page for the pair_style awpmd/cut command to get started. -

    -

    There are example scripts for using this package in examples/USER/awpmd. -

    -

    This package uses an external library in lib/awpmd which must be +you have questions.

    +
    +
    +
    +

    4.4. USER-AWPMD package¶

    +

    This package contains a LAMMPS implementation of the Antisymmetrized +Wave Packet Molecular Dynamics (AWPMD) method.

    +

    See the doc page for the pair_style awpmd/cut command to get started.

    +

    There are example scripts for using this package in examples/USER/awpmd.

    +

    This package uses an external library in lib/awpmd which must be compiled before making LAMMPS. See the lib/awpmd/README file and the LAMMPS manual for information on building LAMMPS with external -libraries. -

    -

    The person who created this package is Ilya Valuev at the JIHT in +libraries.

    +

    The person who created this package is Ilya Valuev at the JIHT in Russia (valuev at physik.hu-berlin.de). Contact him directly if you -have questions. -

    -
    - -

    USER-CG-CMM package -

    -

    This package implements 3 commands which can be used in a LAMMPS input -script: -

    -
    • pair_style lj/sdk -
    • pair_style lj/sdk/coul/long -
    • angle_style sdk -
    -

    These styles allow coarse grained MD simulations with the +have questions.

    +
    +
    +
    +

    4.5. USER-CG-CMM package¶

    +

    This package implements 3 commands which can be used in a LAMMPS input +script:

    +
      +
    • pair_style lj/sdk
    • +
    • pair_style lj/sdk/coul/long
    • +
    • angle_style sdk
    • +
    +

    These styles allow coarse grained MD simulations with the parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007) (SDK), with extensions to simulate ionic liquids, electrolytes, lipids -and charged amino acids. -

    -

    See the doc pages for these commands for details. -

    -

    There are example scripts for using this package in -examples/USER/cg-cmm. -

    -

    This is the second generation implementation reducing the the clutter +and charged amino acids.

    +

    See the doc pages for these commands for details.

    +

    There are example scripts for using this package in +examples/USER/cg-cmm.

    +

    This is the second generation implementation reducing the the clutter of the previous version. For many systems with electrostatics, it will be faster to use pair_style hybrid/overlay with lj/sdk and coul/long instead of the combined lj/sdk/coul/long style. since the number of @@ -273,126 +946,106 @@ of the kspace_style pppm/cg is recommended over regular pppm. For all new styles, input file backward compatibility is provided. The old implementation is still available through appending the /old suffix. These will be discontinued and removed after the new -implementation has been fully validated. -

    -

    The current version of this package should be considered beta -quality. The CG potentials work correctly for "normal" situations, but +implementation has been fully validated.

    +

    The current version of this package should be considered beta +quality. The CG potentials work correctly for “normal” situations, but have not been testing with all kinds of potential parameters and -simulation systems. -

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions. -

    -
    - -

    USER-COLVARS package -

    -

    This package implements the "fix colvars" command which can be -used in a LAMMPS input script. -

    -

    This fix allows to use "collective variables" to implement +simulation systems.

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.6. USER-COLVARS package¶

    +

    This package implements the “fix colvars” command which can be +used in a LAMMPS input script.

    +

    This fix allows to use “collective variables” to implement Adaptive Biasing Force, Metadynamics, Steered MD, Umbrella -Sampling and Restraints. This code consists of two parts: -

    -
    • A portable collective variable module library written and maintained -
    • by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and -
    • Jerome Henin (LISM, CNRS, Marseille, France). This code is located in -
    • the directory lib/colvars and needs to be compiled first. The colvars -
    • fix and an interface layer, exchanges information between LAMMPS and -
    • the collective variable module. -
    -

    See the doc page of fix colvars for more details. -

    -

    There are example scripts for using this package in -examples/USER/colvars -

    -

    This is a very new interface that does not yet support all +Sampling and Restraints. This code consists of two parts:

    +
      +
    • A portable collective variable module library written and maintained
    • +
    • by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and
    • +
    • Jerome Henin (LISM, CNRS, Marseille, France). This code is located in
    • +
    • the directory lib/colvars and needs to be compiled first. The colvars
    • +
    • fix and an interface layer, exchanges information between LAMMPS and
    • +
    • the collective variable module.
    • +
    +

    See the doc page of fix colvars for more details.

    +

    There are example scripts for using this package in +examples/USER/colvars

    +

    This is a very new interface that does not yet support all features in the module and will see future optimizations and improvements. The colvars module library is also available in NAMD has been thoroughly used and tested there. Bugs and problems are likely due to the interface layers code. Thus the current version of this package should be considered -beta quality. -

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions. -

    -
    - -

    USER-CUDA package -

    -

    This package provides acceleration of various LAMMPS pair styles, fix +beta quality.

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.7. USER-CUDA package¶

    +

    This package provides acceleration of various LAMMPS pair styles, fix styles, compute styles, and long-range Coulombics via PPPM for NVIDIA -GPUs. -

    -

    See this section of the manual to get started: -

    -

    Section_accelerate -

    -

    There are example scripts for using this package in -examples/USER/cuda. -

    -

    This package uses an external library in lib/cuda which must be +GPUs.

    +

    See this section of the manual to get started:

    +

    Section_accelerate

    +

    There are example scripts for using this package in +examples/USER/cuda.

    +

    This package uses an external library in lib/cuda which must be compiled before making LAMMPS. See the lib/cuda/README file and the LAMMPS manual for information on building LAMMPS with external -libraries. -

    -

    The person who created this package is Christian Trott at the +libraries.

    +

    The person who created this package is Christian Trott at the University of Technology Ilmenau, Germany (christian.trott at -tu-ilmenau.de). Contact him directly if you have questions. -

    -
    - -

    USER-DIFFRACTION package -

    -

    This package contains the commands neeed to calculate x-ray and -electron diffraction intensities based on kinematic diffraction -theory. -

    -

    See these doc pages and their related commands to get started: -

    - -

    The person who created this package is Shawn P. Coleman -(shawn.p.coleman8.ctr at mail.mil) while at the University of -Arkansas. Contact him directly if you have questions. -

    -
    - -

    USER-DRUDE package -

    -

    This package implements methods for simulating polarizable systems -in LAMMPS using thermalized Drude oscillators. -

    -

    See these doc pages and their related commands to get started: -

    - -

    There are auxiliary tools for using this package in tools/drude. -

    -

    The person who created this package is Alain Dequidt at Universite +tu-ilmenau.de). Contact him directly if you have questions.

    +
    +
    +
    +

    4.8. USER-DIFFRACTION package¶

    +

    This package contains the commands neeed to calculate x-ray and +electron diffraction intensities based on kinematic diffraction +theory.

    +

    See these doc pages and their related commands to get started:

    + +

    The person who created this package is Shawn P. Coleman +(shawn.p.coleman8.ctr at mail.mil) while at the University of +Arkansas. Contact him directly if you have questions.

    +
    +
    +
    +

    4.9. USER-DRUDE package¶

    +

    This package implements methods for simulating polarizable systems +in LAMMPS using thermalized Drude oscillators.

    +

    See these doc pages and their related commands to get started:

    + +

    There are auxiliary tools for using this package in tools/drude.

    +

    The person who created this package is Alain Dequidt at Universite Blaise Pascal Clermont-Ferrand (alain.dequidt at univ-bpclermont.fr) Contact him directly if you have questions. Co-authors: Julien Devemy, -Agilio Padua. -

    -
    - -

    USER-EFF package -

    -

    This package contains a LAMMPS implementation of the electron Force +Agilio Padua.

    +
    +
    +
    +

    4.10. USER-EFF package¶

    +

    This package contains a LAMMPS implementation of the electron Force Field (eFF) currently under development at Caltech, as described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, JCC, 2010. The eFF potential was first introduced by Su and Goddard, in -2007. -

    -

    eFF can be viewed as an approximation to QM wave packet dynamics and +2007.

    +

    eFF can be viewed as an approximation to QM wave packet dynamics and Fermionic molecular dynamics, combining the ability of electronic structure methods to describe atomic structure, bonding, and chemistry in materials, and of plasma methods to describe nonequilibrium @@ -406,260 +1059,276 @@ electrostatic terms between nuclei and electrons, to the sum of a set of effective pairwise potentials. This makes eFF uniquely suited to simulate materials over a wide range of temperatures and pressures where electronically excited and ionized states of matter can occur -and coexist. -

    -

    The necessary customizations to the LAMMPS core are in place to +and coexist.

    +

    The necessary customizations to the LAMMPS core are in place to enable the correct handling of explicit electron properties during -minimization and dynamics. -

    -

    See the doc page for the pair_style eff/cut command to get started. -

    -

    There are example scripts for using this package in -examples/USER/eff. -

    -

    There are auxiliary tools for using this package in tools/eff. -

    -

    The person who created this package is Andres Jaramillo-Botero at +minimization and dynamics.

    +

    See the doc page for the pair_style eff/cut command to get started.

    +

    There are example scripts for using this package in +examples/USER/eff.

    +

    There are auxiliary tools for using this package in tools/eff.

    +

    The person who created this package is Andres Jaramillo-Botero at CalTech (ajaramil at wag.caltech.edu). Contact him directly if you -have questions. -

    -
    - -

    USER-FEP package -

    -

    This package provides methods for performing free energy perturbation -simulations with soft-core pair potentials in LAMMPS. -

    -

    See these doc pages and their related commands to get started: -

    - -

    The person who created this package is Agilio Padua at Universite +have questions.

    +
    +
    +
    +

    4.11. USER-FEP package¶

    +

    This package provides methods for performing free energy perturbation +simulations with soft-core pair potentials in LAMMPS.

    +

    See these doc pages and their related commands to get started:

    + +

    The person who created this package is Agilio Padua at Universite Blaise Pascal Clermont-Ferrand (agilio.padua at univ-bpclermont.fr) -Contact him directly if you have questions. -

    -
    - -

    USER-INTEL package -

    -

    This package provides options for performing neighbor list and +Contact him directly if you have questions.

    +
    +
    +
    +

    4.12. USER-INTEL package¶

    +

    This package provides options for performing neighbor list and non-bonded force calculations in single, mixed, or double precision and also a capability for accelerating calculations with an -Intel(R) Xeon Phi(TM) coprocessor. -

    -

    See this section of the manual to get started: -

    -

    Section_accelerate -

    -

    The person who created this package is W. Michael Brown at Intel -(michael.w.brown at intel.com). Contact him directly if you have questions. -

    -
    - -

    USER-LB package -

    -

    This package contains a LAMMPS implementation of a background +Intel(R) Xeon Phi(TM) coprocessor.

    +

    See this section of the manual to get started:

    +

    Section_accelerate

    +

    The person who created this package is W. Michael Brown at Intel +(michael.w.brown at intel.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.13. USER-LB package¶

    +

    This package contains a LAMMPS implementation of a background Lattice-Boltzmann fluid, which can be used to model MD particles -influenced by hydrodynamic forces. -

    -

    See this doc page and its related commands to get started: -

    -

    fix lb/fluid -

    -

    The people who created this package are Frances Mackay (fmackay at +influenced by hydrodynamic forces.

    +

    See this doc page and its related commands to get started:

    +

    fix lb/fluid

    +

    The people who created this package are Frances Mackay (fmackay at uwo.ca) and Colin (cdennist at uwo.ca) Denniston, University of -Western Ontario. Contact them directly if you have questions. -

    -
    - -

    USER-MISC package -

    -

    The files in this package are a potpourri of (mostly) unrelated +Western Ontario. Contact them directly if you have questions.

    +
    +
    +
    +

    4.14. USER-MISC package¶

    +

    The files in this package are a potpourri of (mostly) unrelated features contributed to LAMMPS by users. Each feature is a single -pair of files (*.cpp and *.h). -

    -

    More information about each feature can be found by reading its doc +pair of files (*.cpp and *.h).

    +

    More information about each feature can be found by reading its doc page in the LAMMPS doc directory. The doc page which lists all LAMMPS -input script commands is as follows: -

    -

    Section_commands -

    -

    User-contributed features are listed at the bottom of the fix, -compute, pair, etc sections. -

    -

    The list of features and author of each is given in the -src/USER-MISC/README file. -

    -

    You should contact the author directly if you have specific questions -about the feature or its coding. -

    -
    - -

    USER-MOLFILE package -

    -

    This package contains a dump molfile command which uses molfile +input script commands is as follows:

    +

    Section_commands

    +

    User-contributed features are listed at the bottom of the fix, +compute, pair, etc sections.

    +

    The list of features and author of each is given in the +src/USER-MISC/README file.

    +

    You should contact the author directly if you have specific questions +about the feature or its coding.

    +
    +
    +
    +

    4.15. USER-MOLFILE package¶

    +

    This package contains a dump molfile command which uses molfile plugins that are bundled with the -VMD molecular visualization and +VMD molecular visualization and analysis program, to enable LAMMPS to dump its information in formats -compatible with various molecular simulation tools. -

    -

    The package only provides the interface code, not the plugins. These +compatible with various molecular simulation tools.

    +

    The package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD or other programs that use them) without having to recompile the -application itself. -

    -

    See this doc page to get started: -

    -

    dump molfile -

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions. -

    -
    - -

    USER-OMP package -

    -

    This package provides OpenMP multi-threading support and +application itself.

    +

    See this doc page to get started:

    +

    dump molfile

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.16. USER-OMP package¶

    +

    This package provides OpenMP multi-threading support and other optimizations of various LAMMPS pair styles, dihedral -styles, and fix styles. -

    -

    See this section of the manual to get started: -

    -

    Section_accelerate -

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions. -

    -
    - -

    USER-PHONON package -

    -

    This package contains a fix phonon command that calculates dynamical +styles, and fix styles.

    +

    See this section of the manual to get started:

    +

    Section_accelerate

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.17. USER-PHONON package¶

    +

    This package contains a fix phonon command that calculates dynamical matrices, which can then be used to compute phonon dispersion -relations, directly from molecular dynamics simulations. -

    -

    See this doc page to get started: -

    -

    fix phonon -

    -

    The person who created this package is Ling-Ti Kong (konglt at +relations, directly from molecular dynamics simulations.

    +

    See this doc page to get started:

    +

    fix phonon

    +

    The person who created this package is Ling-Ti Kong (konglt at sjtu.edu.cn) at Shanghai Jiao Tong University. Contact him directly -if you have questions. -

    -
    - -

    USER-QMMM package -

    -

    This package provides a fix qmmm command which allows LAMMPS to be +if you have questions.

    +
    +
    +
    +

    4.18. USER-QMMM package¶

    +

    This package provides a fix qmmm command which allows LAMMPS to be used in a QM/MM simulation, currently only in combination with pw.x -code from the Quantum ESPRESSO package. -

    - - -

    The current implementation only supports an ONIOM style mechanical +code from the Quantum ESPRESSO package.

    +

    The current implementation only supports an ONIOM style mechanical coupling to the Quantum ESPRESSO plane wave DFT package. Electrostatic coupling is in preparation and the interface has been written in a manner that coupling to other QM codes should be possible -without changes to LAMMPS itself. -

    -

    See this doc page to get started: -

    -

    fix qmmm -

    -

    as well as the lib/qmmm/README file. -

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions. -

    -
    - -

    USER-QTB package -

    -

    This package provides a self-consistent quantum treatment of the +without changes to LAMMPS itself.

    +

    See this doc page to get started:

    +

    fix qmmm

    +

    as well as the lib/qmmm/README file.

    +

    The person who created this package is Axel Kohlmeyer at Temple U +(akohlmey at gmail.com). Contact him directly if you have questions.

    +
    +
    +
    +

    4.19. USER-QTB package¶

    +

    This package provides a self-consistent quantum treatment of the vibrational modes in a classical molecular dynamics simulation. By coupling the MD simulation to a colored thermostat, it introduces zero point energy into the system, alter the energy power spectrum and the heat capacity towards their quantum nature. This package could be of interest if one wants to model systems at temperatures lower than their classical limits or when temperatures ramp up across the -classical limits in the simulation. -

    -

    See these two doc pages to get started: -

    -

    fix qtb provides quantum nulcear correction through a +classical limits in the simulation.

    +

    See these two doc pages to get started:

    +

    fix qtb provides quantum nulcear correction through a colored thermostat and can be used with other time integration schemes -like fix nve or fix nph. -

    -

    fix qbmsst enables quantum nuclear correction of a +like fix nve or fix nph.

    +

    fix qbmsst enables quantum nuclear correction of a multi-scale shock technique simulation by coupling the quantum thermal -bath with the shocked system. -

    -

    The person who created this package is Yuan Shen (sy0302 at +bath with the shocked system.

    +

    The person who created this package is Yuan Shen (sy0302 at stanford.edu) at Stanford University. Contact him directly if you -have questions. -

    -
    - -

    USER-REAXC package -

    -

    This package contains a implementation for LAMMPS of the ReaxFF force +have questions.

    +
    +
    +
    +

    4.20. USER-REAXC package¶

    +

    This package contains a implementation for LAMMPS of the ReaxFF force field. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. It was originally developed by Adri van Duin and the Goddard -group at CalTech. -

    -

    The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in +group at CalTech.

    +

    The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in C, should give identical or very similar results to pair_style reax, which is a ReaxFF implementation on top of a Fortran library, a -version of which library was originally authored by Adri van Duin. -

    -

    The reax/c version should be somewhat faster and more scalable, +version of which library was originally authored by Adri van Duin.

    +

    The reax/c version should be somewhat faster and more scalable, particularly with respect to the charge equilibration calculation. It should also be easier to build and use since there are no complicating -issues with Fortran memory allocation or linking to a Fortran library. -

    -

    For technical details about this implemention of ReaxFF, see -this paper: -

    -

    Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods +issues with Fortran memory allocation or linking to a Fortran library.

    +

    For technical details about this implemention of ReaxFF, see +this paper:

    +

    Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty, -S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011). -

    -

    See the doc page for the pair_style reax/c command for details -of how to use it in LAMMPS. -

    -

    The person who created this package is Hasan Metin Aktulga (hmaktulga +S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).

    +

    See the doc page for the pair_style reax/c command for details +of how to use it in LAMMPS.

    +

    The person who created this package is Hasan Metin Aktulga (hmaktulga at lbl.gov), while at Purdue University. Contact him directly, or Aidan Thompson at Sandia (athomps at sandia.gov), if you have -questions. -

    -
    - -

    USER-SPH package -

    -

    This package implements smoothed particle hydrodynamics (SPH) in -LAMMPS. Currently, the package has the following features: -

    -

    * Tait, ideal gas, Lennard-Jones equation of states, full support for - complete (i.e. internal-energy dependent) equations of state -* plain or Monaghans XSPH integration of the equations of motion -* density continuity or density summation to propagate the density field -* commands to set internal energy and density of particles from the - input script -* output commands to access internal energy and density for dumping and - thermo output -

    -

    See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started. -

    -

    There are example scripts for using this package in examples/USER/sph. -

    -

    The person who created this package is Georg Ganzenmuller at the +questions.

    +
    +
    +
    +

    4.21. USER-SPH package¶

    +

    This package implements smoothed particle hydrodynamics (SPH) in +LAMMPS. Currently, the package has the following features:

    +
      +
    • Tait, ideal gas, Lennard-Jones equation of states, full support for +complete (i.e. internal-energy dependent) equations of state
    • +
    • plain or Monaghans XSPH integration of the equations of motion
    • +
    • density continuity or density summation to propagate the density field
    • +
    • commands to set internal energy and density of particles from the +input script
    • +
    • output commands to access internal energy and density for dumping and +thermo output
    • +
    +

    See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started.

    +

    There are example scripts for using this package in examples/USER/sph.

    +

    The person who created this package is Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if -you have questions. -

    - +you have questions.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_perf.html b/doc/Section_perf.html index 330d99407a..fafcf05ec4 100644 --- a/doc/Section_perf.html +++ b/doc/Section_perf.html @@ -1,43 +1,167 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 8. Performance & scalability — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    8. Performance & scalability -

    -

    LAMMPS performance on several prototypical benchmarks and machines is -discussed on the Benchmarks page of the LAMMPS WWW Site where + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    8. Performance & scalability¶

    +

    LAMMPS performance on several prototypical benchmarks and machines is +discussed on the Benchmarks page of the LAMMPS WWW Site where CPU timings and parallel efficiencies are listed. Here, the benchmarks are described briefly and some useful rules of thumb about -their performance are highlighted. -

    -

    These are the 5 benchmark problems: -

    -
    1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 -neighbors per atom), NVE integration - -
    2. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ +their performance are highlighted.

      +

      These are the 5 benchmark problems:

      +
        +
      1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55
      2. +
      +
      +
      neighbors per atom), NVE integration
      +
        +
      1. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per -atom), NVE integration - -
      2. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 -neighbors per atom), NVE integration - -
      3. Chute = granular chute flow, frictional history potential with 1.1 -sigma cutoff (7 neighbors per atom), NVE integration - -
      4. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force +atom), NVE integration
      5. +
      6. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 +neighbors per atom), NVE integration
      7. +
      8. Chute = granular chute flow, frictional history potential with 1.1 +sigma cutoff (7 neighbors per atom), NVE integration
      9. +
      10. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force field with a 10 Angstrom LJ cutoff (440 neighbors per atom), particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT -integration -
      -

      The input files for running the benchmarks are included in the LAMMPS +integration

    3. +
    +

    The input files for running the benchmarks are included in the LAMMPS distribution, as are sample output files. Each of the 5 problems has 32,000 atoms and runs for 100 timesteps. Each can be run as a serial benchmarks (on one processor) or in parallel. In parallel, each @@ -46,30 +170,54 @@ fixed-size benchmarking, the same 32K atom problem is run on various numbers of processors. For scaled-size benchmarking, the model size is increased with the number of processors. E.g. on 8 processors, a 256K-atom problem is run; on 1024 processors, a 32-million atom -problem is run, etc. -

    -

    A useful metric from the benchmarks is the CPU cost per atom per +problem is run, etc.

    +

    A useful metric from the benchmarks is the CPU cost per atom per timestep. Since LAMMPS performance scales roughly linearly with problem size and timesteps, the run time of any problem using the same model (atom style, force field, cutoff, etc) can then be estimated. For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler under Red Hat Linux), the CPU run-time in seconds/atom/timestep for -the 5 problems is -

    -
    - - -
    Problem: LJ Chain EAM Chute Rhodopsin
    CPU/atom/step: 4.55E-6 2.18E-6 9.38E-6 2.18E-6 1.11E-4
    Ratio to LJ: 1.0 0.48 2.06 0.48 24.5 -
    - -

    The ratios mean that if the atomic LJ system has a normalized cost of +the 5 problems is

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + +
    Problem:LJChainEAMChuteRhodopsin
    CPU/atom/step:4.55E-62.18E-69.38E-62.18E-61.11E-4
    Ratio to LJ:1.00.482.060.4824.5
    +

    The ratios mean that if the atomic LJ system has a normalized cost of 1.0, the bead-spring chains and granular systems run 2x faster, while the EAM metal and solvated protein models run 2x and 25x slower respectively. The bulk of these cost differences is due to the expense of computing a particular pairwise force field for a given -number of neighbors per atom. -

    -

    Performance on a parallel machine can also be predicted from the +number of neighbors per atom.

    +

    Performance on a parallel machine can also be predicted from the one-processor timings if the parallel efficiency can be estimated. The communication bandwidth and latency of a particular parallel machine affects the efficiency. On most machines LAMMPS will give @@ -77,8 +225,80 @@ fixed-size parallel efficiencies on these benchmarks above 50% so long as the atoms/processor count is a few 100 or greater - i.e. on 64 to 128 processors. Likewise, scaled-size parallel efficiencies will typically be 80% or greater up to very large processor counts. The -benchmark data on the LAMMPS WWW Site gives specific examples on +benchmark data on the LAMMPS WWW Site gives specific examples on some different machines, including a run of 3/4 of a billion LJ atoms -on 1500 processors that ran at 85% parallel efficiency. -

    - +on 1500 processors that ran at 85% parallel efficiency.

    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_python.html b/doc/Section_python.html index c895035102..0e7318a3dc 100644 --- a/doc/Section_python.html +++ b/doc/Section_python.html @@ -1,75 +1,204 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 11. Python interface to LAMMPS — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    11. Python interface to LAMMPS -

    -

    LAMMPS can work together with Python in two ways. First, Python can -wrap LAMMPS through the LAMMPS library -interface, so that a Python script can + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    11. Python interface to LAMMPS¶

    +

    LAMMPS can work together with Python in two ways. First, Python can +wrap LAMMPS through the LAMMPS library interface, so that a Python script can create one or more instances of LAMMPS and launch one or more -simulations. In Python lingo, this is "extending" Python with LAMMPS. -

    -

    Second, LAMMPS can use the Python interpreter, so that a LAMMPS input +simulations. In Python lingo, this is “extending” Python with LAMMPS.

    +

    Second, LAMMPS can use the Python interpreter, so that a LAMMPS input script can invoke Python code, and pass information back-and-forth between the input script and Python functions you write. The Python code can also callback to LAMMPS to query or change its attributes. -In Python lingo, this is "embedding" Python in LAMMPS. -

    -

    This section describes how to do both. -

    - -

    If you are not familiar with it, Python is a +In Python lingo, this is “embedding” Python in LAMMPS.

    +

    This section describes how to do both.

    + +

    If you are not familiar with it, Python is a powerful scripting and programming language which can essentially do anything that faster, lower-level languages like C or C++ can do, but typically with much fewer lines of code. When used in embedded mode, Python can perform operations that the simplistic LAMMPS input script -syntax cannot. Python can be also be used as a "glue" language to +syntax cannot. Python can be also be used as a “glue” language to drive a program through its library interface, or to hook multiple pieces of software together, such as a simulation package plus a visualization package, or to run a coupled multiscale or multiphysics -model. -

    -

    See Section_howto 10 of the manual and +model.

    +

    See Section_howto 10 of the manual and the couple directory of the distribution for more ideas about coupling -LAMMPS to other codes. See Section_howto -19 for a description of the LAMMPS +LAMMPS to other codes. See Section_howto 19 for a description of the LAMMPS library interface provided in src/library.cpp and src/library.h, and how to extend it for your needs. As described below, that interface is what is exposed to Python either when calling LAMMPS from Python or when calling Python from a LAMMPS input script and then calling back to LAMMPS from Python code. The library interface is designed to be easy to add functions to. Thus the Python interface to LAMMPS is also -easy to extend as well. -

    -

    If you create interesting Python scripts that run LAMMPS or +easy to extend as well.

    +

    If you create interesting Python scripts that run LAMMPS or interesting Python functions that can be called from a LAMMPS input -script, that you think would be useful to other users, please email -them to the developers. We can -include them in the LAMMPS distribution. -

    -
    - -
    - -

    11.1 Overview of running LAMMPS from Python -

    -

    The LAMMPS distribution includes a python directory with all you need +script, that you think would be useful to other users, please email them to the developers. We can +include them in the LAMMPS distribution.

    +
    +

    11.1. Overview of running LAMMPS from Python¶

    +

    The LAMMPS distribution includes a python directory with all you need to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS library interface, with one wrapper function per LAMMPS library function. This file makes it is possible to do the following either @@ -80,538 +209,506 @@ modify internal LAMMPS variables. From a Python script you can do this in serial or parallel. Running Python interactively in parallel does not generally work, unless you have a version of Python that extends standard Python to enable multiple instances of Python to read -what you type. -

    -

    To do all of this, you must first build LAMMPS as a shared library, +what you type.

    +

    To do all of this, you must first build LAMMPS as a shared library, then insure that your Python can find the python/lammps.py file and the shared library. These steps are explained in subsequent sections 11.3 and 11.4. Sections 11.5 and 11.6 discuss using MPI from a parallel Python program and how to test that you are ready to use LAMMPS from Python. Section 11.7 lists all the functions in the -current LAMMPS library interface and how to call them from Python. -

    -

    Section 11.8 gives some examples of coupling LAMMPS to other tools via +current LAMMPS library interface and how to call them from Python.

    +

    Section 11.8 gives some examples of coupling LAMMPS to other tools via Python. For example, LAMMPS can easily be coupled to a GUI or other visualization tools that display graphs or animations in real time as LAMMPS runs. Examples of such scripts are inlcluded in the python -directory. -

    -

    Two advantages of using Python to run LAMMPS are how concise the +directory.

    +

    Two advantages of using Python to run LAMMPS are how concise the language is, and that it can be run interactively, enabling rapid development and debugging of programs. If you use it to mostly invoke costly operations within LAMMPS, such as running a simulation for a reasonable number of timesteps, then the overhead cost of invoking -LAMMPS thru Python will be negligible. -

    -

    The Python wrapper for LAMMPS uses the amazing and magical (to me) -"ctypes" package in Python, which auto-generates the interface code +LAMMPS thru Python will be negligible.

    +

    The Python wrapper for LAMMPS uses the amazing and magical (to me) +“ctypes” package in Python, which auto-generates the interface code needed between Python and a set of C interface routines for a library. Ctypes is part of standard Python for versions 2.5 and later. You can check which version of Python you have installed, by simply typing -"python" at a shell prompt. -

    -
    - -

    11.2 Overview of using Python from a LAMMPS script -

    -

    IMPORTANT NOTE: It is not currently possible to use the -python command described in this section with Python 3, +“python” at a shell prompt.

    +
    +
    +
    +

    11.2. Overview of using Python from a LAMMPS script¶

    +
    +

    Warning

    +

    It is not currently possible to use the +python command described in this section with Python 3, only with Python 2. The C API changed from Python 2 to 3 and the -LAMMPS code is not compatible with both. -

    -

    LAMMPS has a python command which can be used in an +LAMMPS code is not compatible with both.

    +
    +

    LAMMPS has a python command which can be used in an input script to define and execute a Python function that you write the code for. The Python function can also be assigned to a LAMMPS -python-style variable via the variable command. Each +python-style variable via the variable command. Each time the variable is evaluated, either in the LAMMPS input script itself, or by another LAMMPS command that uses the variable, this will -trigger the Python function to be invoked. -

    -

    The Python code for the function can be included directly in the input +trigger the Python function to be invoked.

    +

    The Python code for the function can be included directly in the input script or in an auxiliary file. The function can have arguments which are mapped to LAMMPS variables (also defined in the input script) and it can return a value to a LAMMPS variable. This is thus a mechanism for your input script to pass information to a piece of Python code, ask Python to execute the code, and return information to your input -script. -

    -

    Note that a Python function can be arbitrarily complex. It can import +script.

    +

    Note that a Python function can be arbitrarily complex. It can import other Python modules, instantiate Python classes, call other Python functions, etc. The Python code that you provide can contain more code than the single function. It can contain other functions or Python classes, as well as global variables or other mechanisms for -storing state between calls from LAMMPS to the function. -

    -

    The Python function you provide can consist of "pure" Python code that +storing state between calls from LAMMPS to the function.

    +

    The Python function you provide can consist of “pure” Python code that only performs operations provided by standard Python. However, the -Python function can also "call back" to LAMMPS through its +Python function can also “call back” to LAMMPS through its Python-wrapped library interface, in the manner described in the previous section 11.1. This means it can issue LAMMPS input script commands or query and set internal LAMMPS state. As an example, this can be useful in an input script to create a more complex loop with branching logic, than can be created using the simple looping and -brancing logic enabled by the next and if -commands. -

    -

    See the python doc page and the variable +brancing logic enabled by the next and if +commands.

    +

    See the python doc page and the variable doc page for its python-style variables for more info, including examples of Python code you can write for both pure Python operations -and callbacks to LAMMPS. -

    -

    To run pure Python code from LAMMPS, you only need to build LAMMPS -with the PYTHON package installed: -

    -

    make yes-python -make machine -

    -

    Note that this will link LAMMPS with the Python library on your +and callbacks to LAMMPS.

    +

    To run pure Python code from LAMMPS, you only need to build LAMMPS +with the PYTHON package installed:

    +

    make yes-python +make machine

    +

    Note that this will link LAMMPS with the Python library on your system, which typically requires several auxiliary system libraries to also be linked. The list of these libraries and the paths to find them are specified in the lib/python/Makefile.lammps file. You need to insure that file contains the correct information for your version of Python and your machine to successfully build LAMMPS. See the -lib/python/README file for more info. -

    -

    If you want to write Python code with callbacks to LAMMPS, then you +lib/python/README file for more info.

    +

    If you want to write Python code with callbacks to LAMMPS, then you must also follow the steps overviewed in the preceeding section (11.1) for running LAMMPS from Python. I.e. you must build LAMMPS as a shared library and insure that Python can find the python/lammps.py -file and the shared library. -

    -
    - -

    11.3 Building LAMMPS as a shared library -

    -

    Instructions on how to build LAMMPS as a shared library are given in -Section_start 5. A shared library is one +file and the shared library.

    +
    +
    +
    +

    11.3. Building LAMMPS as a shared library¶

    +

    Instructions on how to build LAMMPS as a shared library are given in +Section_start 5. A shared library is one that is dynamically loadable, which is what Python requires to wrap -LAMMPS. On Linux this is a library file that ends in ".so", not ".a". -

    -

    >From the src directory, type -

    -
    make foo mode=shlib 
    -
    -

    where foo is the machine target name, such as linux or g++ or serial. +LAMMPS. On Linux this is a library file that ends in ”.so”, not ”.a”.

    +

    >From the src directory, type

    +
    make foo mode=shlib
    +
    +
    +

    where foo is the machine target name, such as linux or g++ or serial. This should create the file liblammps_foo.so in the src directory, as well as a soft link liblammps.so, which is what the Python wrapper will load by default. Note that if you are building multiple machine versions of the shared library, the soft link is always set to the -most recently built version. -

    -

    If this fails, see Section_start 5 for +most recently built version.

    +

    If this fails, see Section_start 5 for more details, especially if your LAMMPS build uses auxiliary libraries like MPI or FFTW which may not be built as shared libraries on your -system. -

    -
    - -

    11.4 Installing the Python wrapper into Python -

    -

    For Python to invoke LAMMPS, there are 2 files it needs to know about: -

    -
    • python/lammps.py -
    • src/liblammps.so -
    -

    Lammps.py is the Python wrapper on the LAMMPS library interface. +system.

    +
    +
    +
    +

    11.4. Installing the Python wrapper into Python¶

    +

    For Python to invoke LAMMPS, there are 2 files it needs to know about:

    +
      +
    • python/lammps.py
    • +
    • src/liblammps.so
    • +
    +

    Lammps.py is the Python wrapper on the LAMMPS library interface. Liblammps.so is the shared LAMMPS library that Python loads, as -described above. -

    -

    You can insure Python can find these files in one of two ways: -

    -
    • set two environment variables -
    • run the python/install.py script -
    -

    If you set the paths to these files as environment variables, you only +described above.

    +

    You can insure Python can find these files in one of two ways:

    +
      +
    • set two environment variables
    • +
    • run the python/install.py script
    • +
    +

    If you set the paths to these files as environment variables, you only have to do it once. For the csh or tcsh shells, add something like -this to your ~/.cshrc file, one line for each of the two files: -

    -
    setenv PYTHONPATH $PYTHONPATH:/home/sjplimp/lammps/python
    -setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/home/sjplimp/lammps/src 
    -
    -

    If you use the python/install.py script, you need to invoke it every +this to your ~/.cshrc file, one line for each of the two files:

    +
    setenv PYTHONPATH $*PYTHONPATH*:/home/sjplimp/lammps/python
    +setenv LD_LIBRARY_PATH $*LD_LIBRARY_PATH*:/home/sjplimp/lammps/src
    +
    +
    +

    If you use the python/install.py script, you need to invoke it every time you rebuild LAMMPS (as a shared library) or make changes to the -python/lammps.py file. -

    -

    You can invoke install.py from the python directory as -

    -
    % python install.py [libdir] [pydir] 
    -
    -

    The optional libdir is where to copy the LAMMPS shared library to; the +python/lammps.py file.

    +

    You can invoke install.py from the python directory as

    +
    % python install.py [libdir] [pydir]
    +
    +
    +

    The optional libdir is where to copy the LAMMPS shared library to; the default is /usr/local/lib. The optional pydir is where to copy the lammps.py file to; the default is the site-packages directory of the -version of Python that is running the install script. -

    -

    Note that libdir must be a location that is in your default +version of Python that is running the install script.

    +

    Note that libdir must be a location that is in your default LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a location that Python looks in by default for imported modules, like its site-packages dir. If you want to copy these files to non-standard locations, such as within your own user space, you will need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables -accordingly, as above. -

    -

    If the install.py script does not allow you to copy files into system -directories, prefix the python command with "sudo". If you do this, +accordingly, as above.

    +

    If the install.py script does not allow you to copy files into system +directories, prefix the python command with “sudo”. If you do this, make sure that the Python that root runs is the same as the Python you -run. E.g. you may need to do something like -

    -
    % sudo /usr/local/bin/python install.py [libdir] [pydir] 
    -
    -

    You can also invoke install.py from the make command in the src -directory as -

    -
    % make install-python 
    -
    -

    In this mode you cannot append optional arguments. Again, you may -need to prefix this with "sudo". In this mode you cannot control -which Python is invoked by root. -

    -

    Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see this section below), you will +run. E.g. you may need to do something like

    +
    % sudo /usr/local/bin/python install.py [libdir] [pydir]
    +
    +
    +

    You can also invoke install.py from the make command in the src +directory as

    +
    % make install-python
    +
    +
    +

    In this mode you cannot append optional arguments. Again, you may +need to prefix this with “sudo”. In this mode you cannot control +which Python is invoked by root.

    +

    Note that if you want Python to be able to load different versions of +the LAMMPS shared library (see this section below), you will need to manually copy files like liblammps_g++.so into the appropriate system directory. This is not needed if you set the LD_LIBRARY_PATH -environment variable as described above. -

    -
    - -

    11.5 Extending Python with MPI to run in parallel -

    -

    If you wish to run LAMMPS in parallel from Python, you need to extend +environment variable as described above.

    +
    +
    +
    +

    11.5. Extending Python with MPI to run in parallel¶

    +

    If you wish to run LAMMPS in parallel from Python, you need to extend your Python with an interface to MPI. This also allows you to -make MPI calls directly from Python in your script, if you desire. -

    -

    There are several Python packages available that purport to wrap MPI -as a library and allow MPI functions to be called from Python. -

    -

    These include -

    - -

    All of these except pyMPI work by wrapping the MPI library and +make MPI calls directly from Python in your script, if you desire.

    +

    There are several Python packages available that purport to wrap MPI +as a library and allow MPI functions to be called from Python.

    +

    These include

    + +

    All of these except pyMPI work by wrapping the MPI library and exposing (some portion of) its interface to your Python script. This means Python cannot be used interactively in parallel, since they do not address the issue of interactive input to multiple instances of Python running on different processors. The one exception is pyMPI, which alters the Python interpreter to address this issue, and (I -believe) creates a new alternate executable (in place of "python" -itself) as a result. -

    -

    In principle any of these Python/MPI packages should work to invoke +believe) creates a new alternate executable (in place of “python” +itself) as a result.

    +

    In principle any of these Python/MPI packages should work to invoke LAMMPS in parallel and to make MPI calls themselves from a Python script which is itself running in parallel. However, when I downloaded and looked at a few of them, their documentation was -incomplete and I had trouble with their installation. It's not clear +incomplete and I had trouble with their installation. It’s not clear if some of the packages are still being actively developed and -supported. -

    -

    The one I recommend, since I have successfully used it with LAMMPS, is -Pypar. Pypar requires the ubiquitous Numpy -package be installed in your Python. After -launching python, type -

    -
    import numpy 
    -
    -

    to see if it is installed. If not, here is how to install it (version +supported.

    +

    The one I recommend, since I have successfully used it with LAMMPS, is +Pypar. Pypar requires the ubiquitous Numpy package be installed in your Python. After +launching python, type

    +
    import numpy
    +
    +
    +

    to see if it is installed. If not, here is how to install it (version 1.3.0b1 as of April 2009). Unpack the numpy tarball and from its -top-level directory, type -

    -
    python setup.py build
    -sudo python setup.py install 
    -
    -

    The "sudo" is only needed if required to copy Numpy files into your -Python distribution's site-packages directory. -

    -

    To install Pypar (version pypar-2.1.4_94 as of Aug 2012), unpack it -and from its "source" directory, type -

    -
    python setup.py build
    -sudo python setup.py install 
    -
    -

    Again, the "sudo" is only needed if required to copy Pypar files into -your Python distribution's site-packages directory. -

    -

    If you have successully installed Pypar, you should be able to run -Python and type -

    -
    import pypar 
    -
    -

    without error. You should also be able to run python in parallel -on a simple test script -

    -
    % mpirun -np 4 python test.py 
    -
    -

    where test.py contains the lines -

    -
    import pypar
    -print "Proc %d out of %d procs" % (pypar.rank(),pypar.size()) 
    -
    -

    and see one line of output for each processor you run on. -

    -

    IMPORTANT NOTE: To use Pypar and LAMMPS in parallel from Python, you +top-level directory, type

    +
    python setup.py build
    +sudo python setup.py install
    +
    +
    +

    The “sudo” is only needed if required to copy Numpy files into your +Python distribution’s site-packages directory.

    +

    To install Pypar (version pypar-2.1.4_94 as of Aug 2012), unpack it +and from its “source” directory, type

    +
    python setup.py build
    +sudo python setup.py install
    +
    +
    +

    Again, the “sudo” is only needed if required to copy Pypar files into +your Python distribution’s site-packages directory.

    +

    If you have successully installed Pypar, you should be able to run +Python and type

    +
    import pypar
    +
    +
    +

    without error. You should also be able to run python in parallel +on a simple test script

    +
    % mpirun -np 4 python test.py
    +
    +
    +

    where test.py contains the lines

    +
    import pypar
    +print "Proc %d out of %d procs" % (pypar.rank(),pypar.size())
    +
    +
    +

    and see one line of output for each processor you run on.

    +
    +

    Warning

    +

    To use Pypar and LAMMPS in parallel from Python, you must insure both are using the same version of MPI. If you only have one MPI installed on your system, this is not an issue, but it can be if you have multiple MPIs. Your LAMMPS build is explicit about which MPI it is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. Pypar uses the "mpicc" command to find +src/MAKE/Makefile.foo file. Pypar uses the “mpicc” command to find information about the MPI it uses to build against. And it tries to -load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find +load “libmpi.so” from the LD_LIBRARY_PATH. This may or may not find the MPI library that LAMMPS is using. If you have problems running both Pypar and LAMMPS together, this is an issue you may need to address, e.g. by moving other MPI installations so that Pypar finds -the right one. -

    -
    - -

    11.6 Testing the Python-LAMMPS interface -

    -

    To test if LAMMPS is callable from Python, launch Python interactively -and type: -

    -
    >>> from lammps import lammps
    ->>> lmp = lammps() 
    -
    -

    If you get no errors, you're ready to use LAMMPS from Python. If the -2nd command fails, the most common error to see is -

    -
    OSError: Could not load LAMMPS dynamic library 
    -
    -

    which means Python was unable to load the LAMMPS shared library. This -typically occurs if the system can't find the LAMMPS shared library or +the right one.

    +
    +
    +
    +
    +

    11.6. Testing the Python-LAMMPS interface¶

    +

    To test if LAMMPS is callable from Python, launch Python interactively +and type:

    +
    >>> from lammps import lammps
    +>>> lmp = lammps()
    +
    +
    +

    If you get no errors, you’re ready to use LAMMPS from Python. If the +2nd command fails, the most common error to see is

    +
    OSError: Could not load LAMMPS dynamic library
    +
    +
    +

    which means Python was unable to load the LAMMPS shared library. This +typically occurs if the system can’t find the LAMMPS shared library or one of the auxiliary shared libraries it depends on, or if something about the library is incompatible with your Python. The error message -should give you an indication of what went wrong. -

    -

    You can also test the load directly in Python as follows, without -first importing from the lammps.py file: -

    -
    >>> from ctypes import CDLL
    ->>> CDLL("liblammps.so") 
    -
    -

    If an error occurs, carefully go thru the steps in Section_start -5 and above about building a shared +should give you an indication of what went wrong.

    +

    You can also test the load directly in Python as follows, without +first importing from the lammps.py file:

    +
    >>> from ctypes import CDLL
    +>>> CDLL("liblammps.so")
    +
    +
    +

    If an error occurs, carefully go thru the steps in Section_start 5 and above about building a shared library and about insuring Python can find the necessary two files -it needs. -

    -
    Test LAMMPS and Python in serial: -
    -

    To run a LAMMPS test in serial, type these lines into Python -interactively from the bench directory: -

    -
    >>> from lammps import lammps
    ->>> lmp = lammps()
    ->>> lmp.file("in.lj") 
    -
    -

    Or put the same lines in the file test.py and run it as -

    -
    % python test.py 
    -
    -

    Either way, you should see the results of running the in.lj benchmark +it needs.

    +
    +

    11.6.1. Test LAMMPS and Python in serial:¶

    +

    To run a LAMMPS test in serial, type these lines into Python +interactively from the bench directory:

    +
    >>> from lammps import lammps
    +>>> lmp = lammps()
    +>>> lmp.file("in.lj")
    +
    +
    +

    Or put the same lines in the file test.py and run it as

    +
    % python test.py
    +
    +
    +

    Either way, you should see the results of running the in.lj benchmark on a single processor appear on the screen, the same as if you had -typed something like: -

    -
    lmp_g++ < in.lj 
    -
    -
    Test LAMMPS and Python in parallel: -
    -

    To run LAMMPS in parallel, assuming you have installed the -Pypar package as discussed -above, create a test.py file containing these lines: -

    -
    import pypar
    +typed something like:

    +
    lmp_g++ < in.lj
    +
    +
    +
    +
    +

    11.6.2. Test LAMMPS and Python in parallel:¶

    +

    To run LAMMPS in parallel, assuming you have installed the +Pypar package as discussed +above, create a test.py file containing these lines:

    +
    import pypar
     from lammps import lammps
     lmp = lammps()
    -lmp.file("in.lj")
    -print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp
    -pypar.finalize() 
    -
    -

    You can then run it in parallel as: -

    -
    % mpirun -np 4 python test.py 
    -
    -

    and you should see the same output as if you had typed -

    -
    % mpirun -np 4 lmp_g++ < in.lj 
    -
    -

    Note that if you leave out the 3 lines from test.py that specify Pypar +lmp.file("in.lj") +print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp +pypar.finalize() +

    +
    +

    You can then run it in parallel as:

    +
    % mpirun -np 4 python test.py
    +
    +
    +

    and you should see the same output as if you had typed

    +
    % mpirun -np 4 lmp_g++ < in.lj
    +
    +
    +

    Note that if you leave out the 3 lines from test.py that specify Pypar commands you will instantiate and run LAMMPS independently on each of the P processors specified in the mpirun command. In this case you should get 4 sets of output, each showing that a LAMMPS run was made on a single processor, instead of one set of output showing that LAMMPS ran on 4 processors. If the 1-processor outputs occur, it -means that Pypar is not working correctly. -

    -

    Also note that once you import the PyPar module, Pypar initializes MPI +means that Pypar is not working correctly.

    +

    Also note that once you import the PyPar module, Pypar initializes MPI for you, and you can use MPI calls directly in your Python script, as described in the Pypar documentation. The last line of your Python script should be pypar.finalize(), to insure MPI is shut down -correctly. -

    -
    Running Python scripts: -
    -

    Note that any Python script (not just for LAMMPS) can be invoked in -one of several ways: -

    -
    % python foo.script
    +correctly.

    +
    +
    +

    11.6.3. Running Python scripts:¶

    +

    Note that any Python script (not just for LAMMPS) can be invoked in +one of several ways:

    +
    % python foo.script
     % python -i foo.script
    -% foo.script 
    -
    -

    The last command requires that the first line of the script be -something like this: -

    -
    #!/usr/local/bin/python 
    -#!/usr/local/bin/python -i 
    -
    -

    where the path points to where you have Python installed, and that you -have made the script file executable: -

    -
    % chmod +x foo.script 
    -
    -

    Without the "-i" flag, Python will exit when the script finishes. -With the "-i" flag, you will be left in the Python interpreter when +% foo.script +

    +
    +

    The last command requires that the first line of the script be +something like this:

    +
    #!/usr/local/bin/python
    +#!/usr/local/bin/python -i
    +
    +
    +

    where the path points to where you have Python installed, and that you +have made the script file executable:

    +
    % chmod +x foo.script
    +
    +
    +

    Without the “-i” flag, Python will exit when the script finishes. +With the “-i” flag, you will be left in the Python interpreter when the script finishes, so you can type subsequent commands. As mentioned above, you can only run Python interactively when running -Python on a single processor, not in parallel. -

    -
    - -
    - -

    11.7 Using LAMMPS from Python -

    -

    As described above, the Python interface to LAMMPS consists of a -Python "lammps" module, the source code for which is in -python/lammps.py, which creates a "lammps" object, with a set of +Python on a single processor, not in parallel.

    +
    +
    +
    +

    11.7. Using LAMMPS from Python¶

    +

    As described above, the Python interface to LAMMPS consists of a +Python “lammps” module, the source code for which is in +python/lammps.py, which creates a “lammps” object, with a set of methods that can be invoked on that object. The sample Python code -below assumes you have first imported the "lammps" module in your -Python script, as follows: -

    -
    from lammps import lammps 
    -
    -

    These are the methods defined by the lammps module. If you look at +below assumes you have first imported the “lammps” module in your +Python script, as follows:

    +
    from lammps import lammps
    +
    +
    +

    These are the methods defined by the lammps module. If you look at the files src/library.cpp and src/library.h you will see that they correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program. -

    -
    lmp = lammps()           # create a LAMMPS object using the default liblammps.so library
    -lmp = lammps(ptr=lmpptr) # ditto, but use lmpptr as previously created LAMMPS object
    -lmp = lammps("g++")      # create a LAMMPS object using the liblammps_g++.so library
    -lmp = lammps("",list)    # ditto, with command-line args, e.g. list = ["-echo","screen"]
    -lmp = lammps("g++",list) 
    -
    -
    lmp.close()              # destroy a LAMMPS object 
    -
    -
    lmp.file(file)           # run an entire input script, file = "in.lj"
    -lmp.command(cmd)         # invoke a single LAMMPS command, cmd = "run 100" 
    -
    -
    xlo = lmp.extract_global(name,type)  # extract a global quantity
    -                                     # name = "boxxlo", "nlocal", etc
    -				     # type = 0 = int
    -				     #        1 = double 
    -
    -
    coords = lmp.extract_atom(name,type)      # extract a per-atom quantity
    -                                          # name = "x", "type", etc
    -				          # type = 0 = vector of ints
    -				          #        1 = array of ints
    -				          #        2 = vector of doubles
    -				          #        3 = array of doubles 
    -
    -
    eng = lmp.extract_compute(id,style,type)  # extract value(s) from a compute
    -v3 = lmp.extract_fix(id,style,type,i,j)   # extract value(s) from a fix
    -                                          # id = ID of compute or fix
    -					  # style = 0 = global data
    -					  #	    1 = per-atom data
    -					  #         2 = local data
    -					  # type = 0 = scalar
    -					  #	   1 = vector
    -					  #        2 = array
    -					  # i,j = indices of value in global vector or array 
    -
    -
    var = lmp.extract_variable(name,group,flag)  # extract value(s) from a variable
    -	                                     # name = name of variable
    -					     # group = group ID (ignored for equal-style variables)
    -					     # flag = 0 = equal-style variable
    -					     #        1 = atom-style variable 
    -
    -
    flag = lmp.set_variable(name,value)       # set existing named string-style variable to value, flag = 0 if successful
    -natoms = lmp.get_natoms()                 # total # of atoms as int
    -data = lmp.gather_atoms(name,type,count)  # return atom attribute of all atoms gathered into data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc
    -lmp.scatter_atoms(name,type,count,data)   # scatter atom attribute of all atoms from data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc 
    -
    -
    - -

    IMPORTANT NOTE: Currently, the creation of a LAMMPS object from within +from a C++ or C or Fortran program.

    +
    lmp = lammps()           # create a LAMMPS object using the default liblammps.so library
    +lmp = lammps(ptr=lmpptr) # ditto, but use lmpptr as previously created LAMMPS object
    +lmp = lammps("g++")      # create a LAMMPS object using the liblammps_g++.so library
    +lmp = lammps("",list)    # ditto, with command-line args, e.g. list = ["-echo","screen"]
    +lmp = lammps("g++",list)
    +
    +
    +
    lmp.close()              # destroy a LAMMPS object
    +
    +
    +
    lmp.file(file)           # run an entire input script, file = "in.lj"
    +lmp.command(cmd)         # invoke a single LAMMPS command, cmd = "run 100"
    +
    +
    +
    xlo = lmp.extract_global(name,type)  # extract a global quantity
    +                                     # name = "boxxlo", "nlocal", etc
    +                                  # type = 0 = int
    +                                  #        1 = double
    +
    +
    +
    coords = lmp.extract_atom(name,type)      # extract a per-atom quantity
    +                                          # name = "x", "type", etc
    +                                       # type = 0 = vector of ints
    +                                       #        1 = array of ints
    +                                       #        2 = vector of doubles
    +                                       #        3 = array of doubles
    +
    +
    +
    eng = lmp.extract_compute(id,style,type)  # extract value(s) from a compute
    +v3 = lmp.extract_fix(id,style,type,i,j)   # extract value(s) from a fix
    +                                          # id = ID of compute or fix
    +                                       # style = 0 = global data
    +                                       #         1 = per-atom data
    +                                       #         2 = local data
    +                                       # type = 0 = scalar
    +                                       #        1 = vector
    +                                       #        2 = array
    +                                       # i,j = indices of value in global vector or array
    +
    +
    +
    var = lmp.extract_variable(name,group,flag)  # extract value(s) from a variable
    +                                          # name = name of variable
    +                                          # group = group ID (ignored for equal-style variables)
    +                                          # flag = 0 = equal-style variable
    +                                          #        1 = atom-style variable
    +
    +
    +
    flag = lmp.set_variable(name,value)       # set existing named string-style variable to value, flag = 0 if successful
    +natoms = lmp.get_natoms()                 # total # of atoms as int
    +data = lmp.gather_atoms(name,type,count)  # return atom attribute of all atoms gathered into data, ordered by atom ID
    +                                          # name = "x", "charge", "type", etc
    +                                          # count = # of per-atom values, 1 or 3, etc
    +lmp.scatter_atoms(name,type,count,data)   # scatter atom attribute of all atoms from data, ordered by atom ID
    +                                          # name = "x", "charge", "type", etc
    +                                          # count = # of per-atom values, 1 or 3, etc
    +
    +
    +
    +
    +

    Warning

    +

    Currently, the creation of a LAMMPS object from within lammps.py does not take an MPI communicator as an argument. There should be a way to do this, so that the LAMMPS instance runs on a -subset of processors if desired, but I don't know how to do it from +subset of processors if desired, but I don’t know how to do it from Pypar. So for now, it runs with MPI_COMM_WORLD, which is all the processors. If someone figures out how to do this with one or more of the Python wrappers for MPI, like Pypar, please let us know and we -will amend these doc pages. -

    -

    The lines -

    -
    from lammps import lammps
    -lmp = lammps() 
    -
    -

    create an instance of LAMMPS, wrapped in a Python class by the lammps +will amend these doc pages.

    +
    +

    The lines

    +
    from lammps import lammps
    +lmp = lammps()
    +
    +
    +

    create an instance of LAMMPS, wrapped in a Python class by the lammps Python module, and return an instance of the Python class as lmp. It -is used to make all subequent calls to the LAMMPS library. -

    -

    Additional arguments can be used to tell Python the name of the shared +is used to make all subequent calls to the LAMMPS library.

    +

    Additional arguments can be used to tell Python the name of the shared library to load or to pass arguments to the LAMMPS instance, the same -as if LAMMPS were launched from a command-line prompt. -

    -

    If the ptr argument is set like this: -

    -
    lmp = lammps(ptr=lmpptr) 
    -
    -

    then lmpptr must be an argument passed to Python via the LAMMPS -python command, when it is used to define a Python +as if LAMMPS were launched from a command-line prompt.

    +

    If the ptr argument is set like this:

    +
    lmp = lammps(ptr=lmpptr)
    +
    +
    +

    then lmpptr must be an argument passed to Python via the LAMMPS +python command, when it is used to define a Python function that is invoked by the LAMMPS input script. This mode of using Python with LAMMPS is described above in 11.2. The variable lmpptr refers to the instance of LAMMPS that called the embedded Python interpreter. Using it as an argument to lammps() allows the -returned Python class instance "lmp" to make calls to that instance of -LAMMPS. See the python command doc page for examples -using this syntax. -

    -

    Note that you can create multiple LAMMPS objects in your Python -script, and coordinate and run multiple simulations, e.g. -

    -
    from lammps import lammps
    -lmp1 = lammps()
    -lmp2 = lammps()
    -lmp1.file("in.file1")
    -lmp2.file("in.file2") 
    -
    -

    The file() and command() methods allow an input script or single -commands to be invoked. -

    -

    The extract_global(), extract_atom(), extract_compute(), +returned Python class instance “lmp” to make calls to that instance of +LAMMPS. See the python command doc page for examples +using this syntax.

    +

    Note that you can create multiple LAMMPS objects in your Python +script, and coordinate and run multiple simulations, e.g.

    +
    from lammps import lammps
    +lmp1 = lammps()
    +lmp2 = lammps()
    +lmp1.file("in.file1")
    +lmp2.file("in.file2")
    +
    +
    +

    The file() and command() methods allow an input script or single +commands to be invoked.

    +

    The extract_global(), extract_atom(), extract_compute(), extract_fix(), and extract_variable() methods return values or -pointers to data structures internal to LAMMPS. -

    -

    For extract_global() see the src/library.cpp file for the list of +pointers to data structures internal to LAMMPS.

    +

    For extract_global() see the src/library.cpp file for the list of valid names. New names could easily be added. A double or integer is returned. You need to specify the appropriate data type via the type -argument. -

    -

    For extract_atom(), a pointer to internal LAMMPS atom-based data is +argument.

    +

    For extract_atom(), a pointer to internal LAMMPS atom-based data is returned, which you can use via normal Python subscripting. See the extract() method in the src/atom.cpp file for a list of valid names. Again, new names could easily be added. A pointer to a vector of -doubles or integers, or a pointer to an array of doubles (double **) -or integers (int **) is returned. You need to specify the appropriate -data type via the type argument. -

    -

    For extract_compute() and extract_fix(), the global, per-atom, or +doubles or integers, or a pointer to an array of doubles (double **) +or integers (int **) is returned. You need to specify the appropriate +data type via the type argument.

    +

    For extract_compute() and extract_fix(), the global, per-atom, or local data calulated by the compute or fix can be accessed. What is returned depends on whether the compute or fix calculates a scalar or vector or array. For a scalar, a single double value is returned. If @@ -621,33 +718,27 @@ subscripting. The one exception is that for a fix that calculates a global vector or array, a single double value from the vector or array is returned, indexed by I (vector) or I and J (array). I,J are zero-based indices. The I,J arguments can be left out if not needed. -See Section_howto 15 of the manual for a +See Section_howto 15 of the manual for a discussion of global, per-atom, and local data, and of scalar, vector, and array data types. See the doc pages for individual -computes and fixes for a description of what -they calculate and store. -

    -

    For extract_variable(), an equal-style or atom-style -variable is evaluated and its result returned. -

    -

    For equal-style variables a single double value is returned and the +computes and fixes for a description of what +they calculate and store.

    +

    For extract_variable(), an equal-style or atom-style variable is evaluated and its result returned.

    +

    For equal-style variables a single double value is returned and the group argument is ignored. For atom-style variables, a vector of doubles is returned, one value per atom, which you can use via normal Python subscripting. The values will be zero for atoms not in the -specified group. -

    -

    The get_natoms() method returns the total number of atoms in the -simulation, as an int. -

    -

    The gather_atoms() method returns a ctypes vector of ints or doubles +specified group.

    +

    The get_natoms() method returns the total number of atoms in the +simulation, as an int.

    +

    The gather_atoms() method returns a ctypes vector of ints or doubles as specified by type, of length count*natoms, for the property of all the atoms in the simulation specified by name, ordered by count and then by atom ID. The vector can be used via normal Python subscripting. If atom IDs are not consecutively ordered within -LAMMPS, a None is returned as indication of an error. -

    -

    Note that the data structure gather_atoms("x") returns is different -from the data structure returned by extract_atom("x") in four ways. +LAMMPS, a None is returned as indication of an error.

    +

    Note that the data structure gather_atoms(“x”) returns is different +from the data structure returned by extract_atom(“x”) in four ways. (1) Gather_atoms() returns a vector which you index as x[i]; extract_atom() returns an array which you index as x[i][j]. (2) Gather_atoms() orders the atoms by atom ID while extract_atom() does @@ -659,22 +750,19 @@ returns an array that effectively points directly to the internal data. This means you can change values inside LAMMPS from Python by assigning a new values to the extract_atom() array. To do this with the gather_atoms() vector, you need to change values in the vector, -then invoke the scatter_atoms() method. -

    -

    The scatter_atoms() method takes a vector of ints or doubles as +then invoke the scatter_atoms() method.

    +

    The scatter_atoms() method takes a vector of ints or doubles as specified by type, of length count*natoms, for the property of all the atoms in the simulation specified by name, ordered by bount and then by atom ID. It uses the vector of data to overwrite the corresponding properties for each atom inside LAMMPS. This requires LAMMPS to have -its "map" option enabled; see the atom_modify +its “map” option enabled; see the atom_modify command for details. If it is not, or if atom IDs are not -consecutively ordered, no coordinates are reset. -

    -

    The array of coordinates passed to scatter_atoms() must be a ctypes +consecutively ordered, no coordinates are reset.

    +

    The array of coordinates passed to scatter_atoms() must be a ctypes vector of ints or doubles, allocated and initialized something like -this: -

    -
    from ctypes import *
    +this:

    +
    from ctypes import *
     natoms = lmp.get_natoms()
     n3 = 3*natoms
     x = (n3*c_double)()
    @@ -684,109 +772,206 @@ x[2] = z coord of atom with ID 1
     x[3] = x coord of atom with ID 2
     ...
     x[n3-1] = z coord of atom with ID natoms
    -lmp.scatter_coords("x",1,3,x) 
    -
    -

    Alternatively, you can just change values in the vector returned by -gather_atoms("x",1,3), since it is a ctypes vector of doubles. -

    -
    - -

    As noted above, these Python class methods correspond one-to-one with +lmp.scatter_coords("x",1,3,x) +

    +
    +

    Alternatively, you can just change values in the vector returned by +gather_atoms(“x”,1,3), since it is a ctypes vector of doubles.

    +
    +

    As noted above, these Python class methods correspond one-to-one with the functions in the LAMMPS library interface in src/library.cpp and library.h. This means you can extend the Python wrapper via the -following steps: -

    -
    • Add a new interface function to src/library.cpp and -src/library.h. - -
    • Rebuild LAMMPS as a shared library. - -
    • Add a wrapper method to python/lammps.py for this interface -function. - -
    • You should now be able to invoke the new interface function from a -Python script. Isn't ctypes amazing? -
    -
    - -
    - -

    11.8 Example Python scripts that use LAMMPS -

    -

    These are the Python scripts included as demos in the python/examples +following steps:

    +
      +
    • Add a new interface function to src/library.cpp and +src/library.h.
    • +
    • Rebuild LAMMPS as a shared library.
    • +
    • Add a wrapper method to python/lammps.py for this interface +function.
    • +
    • You should now be able to invoke the new interface function from a +Python script. Isn’t ctypes amazing?
    • +
    +
    +
    +

    11.8. Example Python scripts that use LAMMPS¶

    +

    These are the Python scripts included as demos in the python/examples directory of the LAMMPS distribution, to illustrate the kinds of things that are possible when Python wraps LAMMPS. If you create your own scripts, send them to us and we can include them in the LAMMPS -distribution. -

    -
    - - - - - - -
    trivial.py read/run a LAMMPS input script thru Python
    demo.py invoke various LAMMPS library interface routines
    simple.py mimic operation of couple/simple/simple.cpp in Python
    gui.py GUI go/stop/temperature-slider to control LAMMPS
    plot.py real-time temeperature plot with GnuPlot via Pizza.py
    viz_tool.py real-time viz via some viz package
    vizplotgui_tool.py combination of viz_tool.py and plot.py and gui.py -
    - -
    - -

    For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" -with "gl" or "atomeye" or "pymol" or "vmd", depending on what -visualization package you have installed. -

    -

    Note that for GL, you need to be able to run the Pizza.py GL tool, -which is included in the pizza sub-directory. See the Pizza.py doc -pages for more info: -

    - - -

    Note that for AtomEye, you need version 3, and there is a line in the +distribution.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + +
    trivial.pyread/run a LAMMPS input script thru Python
    demo.pyinvoke various LAMMPS library interface routines
    simple.pymimic operation of couple/simple/simple.cpp in Python
    gui.pyGUI go/stop/temperature-slider to control LAMMPS
    plot.pyreal-time temeperature plot with GnuPlot via Pizza.py
    viz_tool.pyreal-time viz via some viz package
    vizplotgui_tool.pycombination of viz_tool.py and plot.py and gui.py
    +
    +

    For the viz_tool.py and vizplotgui_tool.py commands, replace “tool” +with “gl” or “atomeye” or “pymol” or “vmd”, depending on what +visualization package you have installed.

    +

    Note that for GL, you need to be able to run the Pizza.py GL tool, +which is included in the pizza sub-directory. See the Pizza.py doc pages for more info:

    +

    Note that for AtomEye, you need version 3, and there is a line in the scripts that specifies the path and name of the executable. See the -AtomEye WWW pages here or here for more details: -

    -
    http://mt.seas.upenn.edu/Archive/Graphics/A
    -http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html 
    -
    - - - - -

    The latter link is to AtomEye 3 which has the scriping -capability needed by these Python scripts. -

    -

    Note that for PyMol, you need to have built and installed the +AtomEye WWW pages here or here for more details:

    +
    http://mt.seas.upenn.edu/Archive/Graphics/A
    +http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html
    +
    +
    +

    The latter link is to AtomEye 3 which has the scriping +capability needed by these Python scripts.

    +

    Note that for PyMol, you need to have built and installed the open-source version of PyMol in your Python, so that you can import it -from a Python script. See the PyMol WWW pages here or -here for more details: -

    -
    http://www.pymol.org
    -http://sourceforge.net/scm/?type=svn&group_id=4546 
    -
    - - - - -

    The latter link is to the open-source version. -

    -

    Note that for VMD, you need a fairly current version (1.8.7 works for +from a Python script. See the PyMol WWW pages here or +here for more details:

    +
    http://www.pymol.org
    +http://sourceforge.net/scm/?type=svn&group_id=4546
    +
    +
    +

    The latter link is to the open-source version.

    +

    Note that for VMD, you need a fairly current version (1.8.7 works for me) and there are some lines in the pizza/vmd.py script for 4 PIZZA -variables that have to match the VMD installation on your system. -

    -
    +variables that have to match the VMD installation on your system.

    +
    +

    See the python/README file for instructions on how to run them and the +source code for individual scripts for comments about what they do.

    +

    Here are screenshots of the vizplotgui_tool.py script in action for +different visualization package options. Click to see larger images:

    + + + + +
    +
    -

    See the python/README file for instructions on how to run them and the -source code for individual scripts for comments about what they do. -

    -

    Here are screenshots of the vizplotgui_tool.py script in action for -different visualization package options. Click to see larger images: -

    - - +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_start.html b/doc/Section_start.html index 20769a24bb..b0c8761e1f 100644 --- a/doc/Section_start.html +++ b/doc/Section_start.html @@ -1,309 +1,427 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section -
    + + + + + + + + + 2. Getting Started — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    2. Getting Started -

    -

    This section describes how to build and run LAMMPS, for both new and -experienced users. -

    -2.1 What's in the LAMMPS distribution
    -2.2 Making LAMMPS
    -2.3 Making LAMMPS with optional packages
    -2.4 Building LAMMPS via the Make.py script
    -2.5 Building LAMMPS as a library
    -2.6 Running LAMMPS
    -2.7 Command-line options
    -2.8 Screen output
    -2.9 Tips for users of previous versions
    - -
    - -
    - -

    2.1 What's in the LAMMPS distribution -

    -

    When you download a LAMMPS tarball you will need to unzip and untar + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    2. Getting Started¶

    +

    This section describes how to build and run LAMMPS, for both new and +experienced users.

    + +
    +

    2.1. What’s in the LAMMPS distribution¶

    +

    When you download a LAMMPS tarball you will need to unzip and untar the downloaded file with the following commands, after placing the -tarball in an appropriate directory. -

    -
    gunzip lammps*.tar.gz 
    -tar xvf lammps*.tar 
    -
    -

    This will create a LAMMPS directory containing two files and several -sub-directories: -

    -
    - - - - - - - -
    README text file
    LICENSE the GNU General Public License (GPL)
    bench benchmark problems
    doc documentation
    examples simple test problems
    potentials embedded atom method (EAM) potential files
    src source files
    tools pre- and post-processing tools -
    - -

    Note that the download page also has links to download +tarball in an appropriate directory.

    +
    gunzip lammps*.tar.gz
    +tar xvf lammps*.tar
    +
    +
    +

    This will create a LAMMPS directory containing two files and several +sub-directories:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    READMEtext file
    LICENSEthe GNU General Public License (GPL)
    benchbenchmark problems
    docdocumentation
    examplessimple test problems
    potentialsembedded atom method (EAM) potential files
    srcsource files
    toolspre- and post-processing tools
    +

    Note that the download page also has links to download Windows exectubles and installers, as well as pre-built executables for a few specific Linux distributions. It also has instructions for how to download/install LAMMPS for Macs (via Homebrew), and to download and update LAMMPS from SVN and Git repositories, which gives -you the same files that are in the download tarball. -

    -

    The Windows and Linux executables for serial or parallel only include -certain packages and bug-fixes/upgrades listed on this -page up to a certain date, as +you the same files that are in the download tarball.

    +

    The Windows and Linux executables for serial or parallel only include +certain packages and bug-fixes/upgrades listed on this page up to a certain date, as stated on the download page. If you want an executable with -non-included packages or that is more current, then you'll need to -build LAMMPS yourself, as discussed in the next section. -

    -

    Skip to the Running LAMMPS sections for info on how to -launch a LAMMPS Windows executable on a Windows box. -

    -
    - -

    2.2 Making LAMMPS -

    -

    This section has the following sub-sections: -

    - -
    - -Read this first: - -

    If you want to avoid building LAMMPS yourself, read the preceeding +non-included packages or that is more current, then you’ll need to +build LAMMPS yourself, as discussed in the next section.

    +

    Skip to the Running LAMMPS sections for info on how to +launch a LAMMPS Windows executable on a Windows box.

    +
    +
    +
    +

    2.2. Making LAMMPS¶

    +

    This section has the following sub-sections:

    + +
    +

    *Read this first:*

    +

    If you want to avoid building LAMMPS yourself, read the preceeding section about options available for downloading and installing -executables. Details are discussed on the download page. -

    -

    Building LAMMPS can be simple or not-so-simple. If all you need are +executables. Details are discussed on the download page.

    +

    Building LAMMPS can be simple or not-so-simple. If all you need are the default packages installed in LAMMPS, and MPI is already installed on your machine, or you just want to run LAMMPS in serial, then you can typically use the Makefile.mpi or Makefile.serial files in -src/MAKE by typing one of these lines (from the src dir): -

    -
    make mpi
    -make serial 
    -
    -

    Note that on a facility supercomputer, there are often "modules" +src/MAKE by typing one of these lines (from the src dir):

    +
    make mpi
    +make serial
    +
    +
    +

    Note that on a facility supercomputer, there are often “modules” loaded in your environment that provide the compilers and MPI you -should use. In this case, the "mpicxx" compile/link command in -Makefile.mpi should just work by accessing those modules. -

    -

    It may be the case that one of the other Makefile.machine files in the -src/MAKE sub-directories is a better match to your system (type "make" -to see a list), you can use it as-is by typing (for example): -

    -
    make stampede 
    -
    -

    If any of these builds (with an existing Makefile.machine) works on -your system, then you're done! -

    -

    If you want to do one of the following: -

    -
    • use optional LAMMPS features that require additional libraries -
    • use optional packages that require additional libraries -
    • use optional accelerator packages that require special compiler/linker settings -
    • run on a specialized platform that has its own compilers, settings, or other libs to use -
    -

    then building LAMMPS is more complicated. You may need to find where +should use. In this case, the “mpicxx” compile/link command in +Makefile.mpi should just work by accessing those modules.

    +

    It may be the case that one of the other Makefile.machine files in the +src/MAKE sub-directories is a better match to your system (type “make” +to see a list), you can use it as-is by typing (for example):

    +
    make stampede
    +
    +
    +

    If any of these builds (with an existing Makefile.machine) works on +your system, then you’re done!

    +

    If you want to do one of the following:

    +
      +
    • use optional LAMMPS features that require additional libraries
    • +
    • use optional packages that require additional libraries
    • +
    • use optional accelerator packages that require special compiler/linker settings
    • +
    • run on a specialized platform that has its own compilers, settings, or other libs to use
    • +
    +

    then building LAMMPS is more complicated. You may need to find where auxiliary libraries exist on your machine or install them if they -don't. You may need to build additional libraries that are part of +don’t. You may need to build additional libraries that are part of the LAMMPS package, before building LAMMPS. You may need to edit a -Makefile.machine file to make it compatible with your system. -

    -

    Note that there is a Make.py tool in the src directory that automates +Makefile.machine file to make it compatible with your system.

    +

    Note that there is a Make.py tool in the src directory that automates several of these steps, but you still have to know what you are doing. -Section 2.4 below describes the tool. It is a convenient +Section 2.4 below describes the tool. It is a convenient way to work with installing/un-installing various packages, the Makefile.machine changes required by some packages, and the auxiliary -libraries some of them use. -

    -

    Please read the following sections carefully. If you are not +libraries some of them use.

    +

    Please read the following sections carefully. If you are not comfortable with makefiles, or building codes on a Unix platform, or running an MPI job on your machine, please find a local expert to help you. Many compilation, linking, and run problems that users have are -often not really LAMMPS issues - they are peculiar to the user's +often not really LAMMPS issues - they are peculiar to the user’s system, compilers, libraries, etc. Such questions are better answered -by a local expert. -

    -

    If you have a build problem that you are convinced is a LAMMPS issue +by a local expert.

    +

    If you have a build problem that you are convinced is a LAMMPS issue (e.g. the compiler complains about a line of LAMMPS source code), then -please post the issue to the LAMMPS mail -list. -

    -

    If you succeed in building LAMMPS on a new kind of machine, for which -there isn't a similar machine Makefile included in the +please post the issue to the LAMMPS mail list.

    +

    If you succeed in building LAMMPS on a new kind of machine, for which +there isn’t a similar machine Makefile included in the src/MAKE/MACHINES directory, then send it to the developers and we can -include it in the LAMMPS distribution. -

    -
    - -Steps to build a LAMMPS executable: - -

    Step 0 -

    -

    The src directory contains the C++ source and header files for LAMMPS. +include it in the LAMMPS distribution.

    +
    +

    *Steps to build a LAMMPS executable:*

    +

    Step 0

    +

    The src directory contains the C++ source and header files for LAMMPS. It also contains a top-level Makefile and a MAKE sub-directory with low-level Makefile.* files for many systems and machines. See the src/MAKE/README file for a quick overview of what files are available -and what sub-directories they are in. -

    -

    The src/MAKE dir has a few files that should work as-is on many +and what sub-directories they are in.

    +

    The src/MAKE dir has a few files that should work as-is on many platforms. The src/MAKE/OPTIONS dir has more that invoke additional compiler, MPI, and other setting options commonly used by LAMMPS, to illustrate their syntax. The src/MAKE/MACHINES dir has many more that have been tweaked or optimized for specific machines. These files are all good starting points if you find you need to change them for your machine. Put any file you edit into the src/MAKE/MINE directory and -it will be never be touched by any LAMMPS updates. -

    -

    >From within the src directory, type "make" or "gmake". You should see +it will be never be touched by any LAMMPS updates.

    +

    >From within the src directory, type “make” or “gmake”. You should see a list of available choices from src/MAKE and all of its sub-directories. If one of those has the options you want or is the -machine you want, you can type a command like: -

    -
    make mpi
    +machine you want, you can type a command like:

    +
    make mpi
     or
     make serial_icc
     or
    -gmake mac 
    -
    -

    Note that the corresponding Makefile.machine can exist in src/MAKE or +gmake mac +

    +
    +

    Note that the corresponding Makefile.machine can exist in src/MAKE or any of its sub-directories. If a file with the same name appears in multiple places (not a good idea), the order they are used is as follows: src/MAKE/MINE, src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference to a file you have created/edited and put in -src/MAKE/MINE. -

    -

    Note that on a multi-processor or multi-core platform you can launch a -parallel make, by using the "-j" switch with the make command, which -will build LAMMPS more quickly. -

    -

    If you get no errors and an executable like lmp_mpi or lmp_g++_serial -or lmp_mac is produced, then you're done; it's your lucky day. -

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this -section below. -

    -

    Step 1 -

    -

    If Step 0 did not work, you will need to create a low-level Makefile +src/MAKE/MINE.

    +

    Note that on a multi-processor or multi-core platform you can launch a +parallel make, by using the “-j” switch with the make command, which +will build LAMMPS more quickly.

    +

    If you get no errors and an executable like lmp_mpi or lmp_g++_serial +or lmp_mac is produced, then you’re done; it’s your lucky day.

    +

    Note that by default only a few of LAMMPS optional packages are +installed. To build LAMMPS with optional packages, see this section below.

    +

    Step 1

    +

    If Step 0 did not work, you will need to create a low-level Makefile for your machine, like Makefile.foo. You should make a copy of an existing Makefile.* in src/MAKE or one of its sub-directories as a starting point. The only portions of the file you need to edit are -the first line, the "compiler/linker settings" section, and the -"LAMMPS-specific settings" section. When it works, put the edited +the first line, the “compiler/linker settings” section, and the +“LAMMPS-specific settings” section. When it works, put the edited file in src/MAKE/MINE and it will not be altered by any future LAMMPS -updates. -

    -

    Step 2 -

    -

    Change the first line of Makefile.foo to list the word "foo" after the -"#", and whatever other options it will set. This is the line you -will see if you just type "make". -

    -

    Step 3 -

    -

    The "compiler/linker settings" section lists compiler and linker +updates.

    +

    Step 2

    +

    Change the first line of Makefile.foo to list the word “foo” after the +“#”, and whatever other options it will set. This is the line you +will see if you just type “make”.

    +

    Step 3

    +

    The “compiler/linker settings” section lists compiler and linker settings for your C++ compiler, including optimization flags. You can use g++, the open-source GNU compiler, which is available on all Unix systems. You can also use mpicxx which will typically be available if MPI is installed on your system, though you should check which actual compiler it wraps. Vendor compilers often produce faster code. On boxes with Intel CPUs, we suggest using the Intel icc compiler, which -can be downloaded from Intel's compiler site. -

    - - -

    If building a C++ code on your machine requires additional libraries, +can be downloaded from Intel’s compiler site.

    +

    If building a C++ code on your machine requires additional libraries, then you should list them as part of the LIB variable. You should -not need to do this if you use mpicxx. -

    -

    The DEPFLAGS setting is what triggers the C++ compiler to create a +not need to do this if you use mpicxx.

    +

    The DEPFLAGS setting is what triggers the C++ compiler to create a dependency list for a source file. This speeds re-compilation when -source (*.cpp) or header (*.h) files are edited. Some compilers do +source (.cpp) or header (.h) files are edited. Some compilers do not support dependency file creation, or may use a different switch -than -D. GNU g++ and Intel icc works with -D. If your compiler can't -create dependency files, then you'll need to create a Makefile.foo +than -D. GNU g++ and Intel icc works with -D. If your compiler can’t +create dependency files, then you’ll need to create a Makefile.foo patterned after Makefile.storm, which uses different rules that do not involve dependency files. Note that when you build LAMMPS for the -first time on a new platform, a long list of *.d files will be printed +first time on a new platform, a long list of *.d files will be printed out rapidly. This is not an error; it is the Makefile doing its -normal creation of dependencies. -

    -

    Step 4 -

    -

    The "system-specific settings" section has several parts. Note that +normal creation of dependencies.

    +

    Step 4

    +

    The “system-specific settings” section has several parts. Note that if you change any -D setting in this section, you should do a full -re-compile, after typing "make clean" (which will describe different -clean options). -

    -

    The LMP_INC variable is used to include options that turn on ifdefs -within the LAMMPS code. The options that are currently recogized are: -

    -
    • -DLAMMPS_GZIP -
    • -DLAMMPS_JPEG -
    • -DLAMMPS_PNG -
    • -DLAMMPS_FFMPEG -
    • -DLAMMPS_MEMALIGN -
    • -DLAMMPS_XDR -
    • -DLAMMPS_SMALLBIG -
    • -DLAMMPS_BIGBIG -
    • -DLAMMPS_SMALLSMALL -
    • -DLAMMPS_LONGLONG_TO_LONG -
    • -DPACK_ARRAY -
    • -DPACK_POINTER -
    • -DPACK_MEMCPY -
    -

    The read_data and dump commands will read/write gzipped files if you +re-compile, after typing “make clean” (which will describe different +clean options).

    +

    The LMP_INC variable is used to include options that turn on ifdefs +within the LAMMPS code. The options that are currently recogized are:

    +
      +
    • -DLAMMPS_GZIP
    • +
    • -DLAMMPS_JPEG
    • +
    • -DLAMMPS_PNG
    • +
    • -DLAMMPS_FFMPEG
    • +
    • -DLAMMPS_MEMALIGN
    • +
    • -DLAMMPS_XDR
    • +
    • -DLAMMPS_SMALLBIG
    • +
    • -DLAMMPS_BIGBIG
    • +
    • -DLAMMPS_SMALLSMALL
    • +
    • -DLAMMPS_LONGLONG_TO_LONG
    • +
    • -DPACK_ARRAY
    • +
    • -DPACK_POINTER
    • +
    • -DPACK_MEMCPY
    • +
    +

    The read_data and dump commands will read/write gzipped files if you compile with -DLAMMPS_GZIP. It requires that your machine supports -the "popen" function in the standard runtime library and that a gzip -executable can be found by LAMMPS during a run. -

    -

    If you use -DLAMMPS_JPEG, the dump image command +the “popen” function in the standard runtime library and that a gzip +executable can be found by LAMMPS during a run.

    +

    If you use -DLAMMPS_JPEG, the dump image command will be able to write out JPEG image files. For JPEG files, you must also link LAMMPS with a JPEG library, as described below. If you use --DLAMMPS_PNG, the dump image command will be able to write +-DLAMMPS_PNG, the dump image command will be able to write out PNG image files. For PNG files, you must also link LAMMPS with a PNG library, as described below. If neither of those two defines are used, LAMMPS will only be able to write out uncompressed PPM image -files. -

    -

    If you use -DLAMMPS_FFMPEG, the dump movie command +files.

    +

    If you use -DLAMMPS_FFMPEG, the dump movie command will be available to support on-the-fly generation of rendered movies the need to store intermediate image files. It requires that your -machines supports the "popen" function in the standard runtime library -and that an FFmpeg executable can be found by LAMMPS during the run. -

    -

    Using -DLAMMPS_MEMALIGN= enables the use of the +machines supports the “popen” function in the standard runtime library +and that an FFmpeg executable can be found by LAMMPS during the run.

    +

    Using -DLAMMPS_MEMALIGN=<bytes> enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. This can help to make more efficient use of vector instructions of modern CPUS, since dynamically allocated memory has to be aligned on larger than default byte boundaries (e.g. 16 bytes instead of 8 bytes on x86 type platforms) for optimal -performance. -

    -

    If you use -DLAMMPS_XDR, the build will include XDR compatibility +performance.

    +

    If you use -DLAMMPS_XDR, the build will include XDR compatibility files for doing particle dumps in XTC format. This is only necessary if your platform does have its own XDR files available. See the -Restrictions section of the dump command for details. -

    -

    Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, -D- +Restrictions section of the dump command for details.

    +

    Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, -D- DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These settings refer to use of 4-byte (small) vs 8-byte (big) integers within LAMMPS, as specified in src/lmptype.h. The only reason to use @@ -315,50 +433,41 @@ if your machine does not support 64-bit integers, though you can use SMALLSMALL setting if you are running in serial or on a desktop machine or small cluster where you will never run large systems or for long time (more than 2 billion atoms, more than 2 billion timesteps). -See the Additional build tips section below for more -details on these settings. -

    -

    Note that two packages, USER-ATC and USER-CUDA are not currently +See the Additional build tips section below for more +details on these settings.

    +

    Note that two packages, USER-ATC and USER-CUDA are not currently compatible with -DLAMMPS_BIGBIG. Also the GPU package requires the lib/gpu library to be compiled with the same setting, or the link will -fail. -

    -

    The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or -MPI version does not recognize "long long" data types. In this case a -"long" data type is likely already 64-bits, in which case this setting -will convert to that data type. -

    -

    Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY +fail.

    +

    The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or +MPI version does not recognize “long long” data types. In this case a +“long” data type is likely already 64-bits, in which case this setting +will convert to that data type.

    +

    Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY options can make for faster parallel FFTs (in the PPPM solver) on some platforms. The -DPACK_ARRAY setting is the default. See the -kspace_style command for info about PPPM. See -Step 6 below for info about building LAMMPS with an FFT library. -

    -

    Step 5 -

    -

    The 3 MPI variables are used to specify an MPI library to build LAMMPS +kspace_style command for info about PPPM. See +Step 6 below for info about building LAMMPS with an FFT library.

    +

    Step 5

    +

    The 3 MPI variables are used to specify an MPI library to build LAMMPS with. Note that you do not need to set these if you use the MPI compiler mpicxx for your CC and LINK setting in the section above. -The MPI wrapper knows where to find the needed files. -

    -

    If you want LAMMPS to run in parallel, you must have an MPI library +The MPI wrapper knows where to find the needed files.

    +

    If you want LAMMPS to run in parallel, you must have an MPI library installed on your platform. If MPI is installed on your system in the usual place (under /usr/local), you also may not need to specify these 3 variables, assuming /usr/local is in your path. On some large -parallel machines which use "modules" for their compile/link +parallel machines which use “modules” for their compile/link environements, you may simply need to include the correct module in your build environment, before building LAMMPS. Or the parallel machine may have a vendor-provided MPI which the compiler has no -trouble finding. -

    -

    Failing this, these 3 variables can be used to specify where the mpi.h +trouble finding.

    +

    Failing this, these 3 variables can be used to specify where the mpi.h file (MPI_INC) and the MPI library file (MPI_PATH) are found and the -name of the library file (MPI_LIB). -

    -

    If you are installing MPI yourself, we recommend Argonne's MPICH2 -or OpenMPI. MPICH can be downloaded from the Argonne MPI -site. OpenMPI can -be downloaded from the OpenMPI site. +name of the library file (MPI_LIB).

    +

    If you are installing MPI yourself, we recommend Argonne’s MPICH2 +or OpenMPI. MPICH can be downloaded from the Argonne MPI site. OpenMPI can +be downloaded from the OpenMPI site. Other MPI packages should also work. If you are running on a big parallel platform, your system people or the vendor should have already installed a version of MPI, which is likely to be faster @@ -367,62 +476,53 @@ and link with it. If you use MPICH or OpenMPI, you will have to configure and build it for your platform. The MPI configure script should have compiler options to enable you to use the same compiler you are using for the LAMMPS build, which can avoid problems that can -arise when linking LAMMPS to the MPI library. -

    -

    If you just want to run LAMMPS on a single processor, you can use the -dummy MPI library provided in src/STUBS, since you don't need a true +arise when linking LAMMPS to the MPI library.

    +

    If you just want to run LAMMPS on a single processor, you can use the +dummy MPI library provided in src/STUBS, since you don’t need a true MPI library installed on your system. See src/MAKE/Makefile.serial for how to specify the 3 MPI variables in this case. You will also need to build the STUBS library for your platform before making LAMMPS itself. Note that if you are building with src/MAKE/Makefile.serial, -e.g. by typing "make serial", then the STUBS library is built for you. -

    -

    To build the STUBS library from the src directory, type "make -mpi-stubs", or from the src/STUBS dir, type "make". This should +e.g. by typing “make serial”, then the STUBS library is built for you.

    +

    To build the STUBS library from the src directory, type “make +mpi-stubs”, or from the src/STUBS dir, type “make”. This should create a libmpi_stubs.a file suitable for linking to LAMMPS. If the build fails, you will need to edit the STUBS/Makefile for your -platform. -

    -

    The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() -that calls gettimeofday() . If your system doesn't support -gettimeofday() , you'll need to insert code to call another timer. +platform.

    +

    The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() +that calls gettimeofday() . If your system doesn’t support +gettimeofday() , you’ll need to insert code to call another timer. Note that the ANSI-standard function clock() rolls over after an hour or so, and is therefore insufficient for timing long LAMMPS -simulations. -

    -

    Step 6 -

    -

    The 3 FFT variables allow you to specify an FFT library which LAMMPS +simulations.

    +

    Step 6

    +

    The 3 FFT variables allow you to specify an FFT library which LAMMPS uses (for performing 1d FFTs) when running the particle-particle particle-mesh (PPPM) option for long-range Coulombics via the -kspace_style command. -

    -

    LAMMPS supports various open-source or vendor-supplied FFT libraries +kspace_style command.

    +

    LAMMPS supports various open-source or vendor-supplied FFT libraries for this purpose. If you leave these 3 variables blank, LAMMPS will -use the open-source KISS FFT library, which is +use the open-source KISS FFT library, which is included in the LAMMPS distribution. This library is portable to all platforms and for typical LAMMPS simulations is almost as fast as FFTW or vendor optimized libraries. If you are not including the KSPACE -package in your build, you can also leave the 3 variables blank. -

    -

    Otherwise, select which kinds of FFTs to use as part of the FFT_INC +package in your build, you can also leave the 3 variables blank.

    +

    Otherwise, select which kinds of FFTs to use as part of the FFT_INC setting by a switch of the form -DFFT_XXX. Recommended values for XXX are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI, ACML, and T3E. For backward compatability, using -DFFT_FFTW will use the FFTW2 library. Using -DFFT_NONE will use the KISS library -described above. -

    -

    You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, +described above.

    +

    You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, so the compiler and linker can find the needed FFT header and library -files. Note that on some large parallel machines which use "modules" +files. Note that on some large parallel machines which use “modules” for their compile/link environements, you may simply need to include the correct module in your build environment. Or the parallel machine may have a vendor-provided FFT library which the compiler has no -trouble finding. -

    -

    FFTW is a fast, portable library that should also work on any +trouble finding.

    +

    FFTW is a fast, portable library that should also work on any platform. You can download it from -www.fftw.org. Both the legacy version 2.1.X and +www.fftw.org. Both the legacy version 2.1.X and the newer 3.X versions are supported as -DFFT_FFTW2 or -DFFT_FFTW3. Building FFTW for your box should be as simple as ./configure; make. Note that on some platforms FFTW2 has been pre-installed, and uses @@ -431,9 +531,8 @@ e.g. sfftw.h, or dfftw.h instead of fftw.h. In this case, you can specify an additional define variable for FFT_INC called -DFFTW_SIZE, which will select the correct include file. In this case, for FFT_LIB you must also manually specify the correct library, namely -lsfftw or --ldfftw. -

    -

    The FFT_INC variable also allows for a -DFFT_SINGLE setting that will +-ldfftw.

    +

    The FFT_INC variable also allows for a -DFFT_SINGLE setting that will use single-precision FFTs with PPPM, which can speed-up long-range calulations, particularly in parallel or on GPUs. Fourier transform and related PPPM operations are somewhat insensitive to floating point @@ -441,54 +540,42 @@ truncation errors and thus do not always need to be performed in double precision. Using the -DFFT_SINGLE setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. Note that single precision FFTs have only -been tested with the FFTW3, FFTW2, MKL, and KISS FFT options. -

    -

    Step 7 -

    -

    The 3 JPG variables allow you to specify a JPEG and/or PNG library -which LAMMPS uses when writing out JPEG or PNG files via the dump -image command. These can be left blank if you do not +been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.

    +

    Step 7

    +

    The 3 JPG variables allow you to specify a JPEG and/or PNG library +which LAMMPS uses when writing out JPEG or PNG files via the dump image command. These can be left blank if you do not use the -DLAMMPS_JPEG or -DLAMMPS_PNG switches discussed above in Step -4, since in that case JPEG/PNG output will be disabled. -

    -

    A standard JPEG library usually goes by the name libjpeg.a or +4, since in that case JPEG/PNG output will be disabled.

    +

    A standard JPEG library usually goes by the name libjpeg.a or libjpeg.so and has an associated header file jpeglib.h. Whichever -JPEG library you have on your platform, you'll need to set the +JPEG library you have on your platform, you’ll need to set the appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the -compiler and linker can find it. -

    -

    A standard PNG library usually goes by the name libpng.a or libpng.so +compiler and linker can find it.

    +

    A standard PNG library usually goes by the name libpng.a or libpng.so and has an associated header file png.h. Whichever PNG library you -have on your platform, you'll need to set the appropriate JPG_INC, +have on your platform, you’ll need to set the appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the compiler and linker can -find it. -

    -

    As before, if these header and library files are in the usual place on -your machine, you may not need to set these variables. -

    -

    Step 8 -

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this -section below, before proceeding to Step 9. -

    -

    Step 9 -

    -

    That's it. Once you have a correct Makefile.foo, and you have +find it.

    +

    As before, if these header and library files are in the usual place on +your machine, you may not need to set these variables.

    +

    Step 8

    +

    Note that by default only a few of LAMMPS optional packages are +installed. To build LAMMPS with optional packages, see this section below, before proceeding to Step 9.

    +

    Step 9

    +

    That’s it. Once you have a correct Makefile.foo, and you have pre-built any other needed libraries (e.g. MPI, FFT, etc) all you need -to do from the src directory is type something like this: -

    -
    make foo
    +to do from the src directory is type something like this:

    +
    make foo
     or
    -gmake foo 
    -
    -

    You should get the executable lmp_foo when the build is complete. -

    -
    - -Errors that can occur when making LAMMPS: - -

    IMPORTANT NOTE: If an error occurs when building LAMMPS, the compiler +gmake foo +

    +
    +

    You should get the executable lmp_foo when the build is complete.

    +
    +

    *Errors that can occur when making LAMMPS:*

    +
    +

    Warning

    +

    If an error occurs when building LAMMPS, the compiler or linker will state very explicitly what the problem is. The error message should give you a hint as to which of the steps above has failed, and what you need to do in order to fix it. Building a code @@ -496,332 +583,278 @@ with a Makefile is a very logical process. The compiler and linker need to find the appropriate files and those files need to be compatible with LAMMPS source files. When a make fails, there is usually a very simple reason, which you or a local expert will need to -fix. -

    -

    Here are two non-obvious errors that can occur: -

    -

    (1) If the make command breaks immediately with errors that indicate -it can't find files with a "*" in their names, this can be because -your machine's native make doesn't support wildcard expansion in a -makefile. Try gmake instead of make. If that doesn't work, try using +fix.

    +
    +

    Here are two non-obvious errors that can occur:

    +

    (1) If the make command breaks immediately with errors that indicate +it can’t find files with a “*” in their names, this can be because +your machine’s native make doesn’t support wildcard expansion in a +makefile. Try gmake instead of make. If that doesn’t work, try using a -f switch with your make command to use a pre-generated -Makefile.list which explicitly lists all the needed files, e.g. -

    -
    make makelist
    +Makefile.list which explicitly lists all the needed files, e.g.

    +
    make makelist
     make -f Makefile.list linux
    -gmake -f Makefile.list mac 
    -
    -

    The first "make" command will create a current Makefile.list with all -the file names in your src dir. The 2nd "make" command (make or +gmake -f Makefile.list mac +

    +
    +

    The first “make” command will create a current Makefile.list with all +the file names in your src dir. The 2nd “make” command (make or gmake) will use it to build LAMMPS. Note that you should -include/exclude any desired optional packages before using the "make -makelist" command. -

    -

    (2) If you get an error that says something like 'identifier "atoll" -is undefined', then your machine does not support "long long" +include/exclude any desired optional packages before using the “make +makelist” command.

    +

    (2) If you get an error that says something like ‘identifier “atoll” +is undefined’, then your machine does not support “long long” integers. Try using the -DLAMMPS_LONGLONG_TO_LONG setting described -above in Step 4. -

    -
    - -Additional build tips: - -

    (1) Building LAMMPS for multiple platforms. -

    -

    You can make LAMMPS for multiple platforms from the same src +above in Step 4.

    +
    +

    *Additional build tips:*

    +
      +
    1. Building LAMMPS for multiple platforms.
    2. +
    +

    You can make LAMMPS for multiple platforms from the same src directory. Each target creates its own object sub-directory called -Obj_target where it stores the system-specific *.o files. -

    -

    (2) Cleaning up. -

    -

    Typing "make clean-all" or "make clean-machine" will delete *.o object +Obj_target where it stores the system-specific *.o files.

    +
      +
    1. Cleaning up.
    2. +
    +

    Typing “make clean-all” or “make clean-machine” will delete *.o object files created when LAMMPS is built, for either all builds or for a -particular machine. -

    -

    (3) Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or --DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL -

    -

    As explained above, any of these 3 settings can be specified on the -LMP_INC line in your low-level src/MAKE/Makefile.foo. -

    -

    The default is -DLAMMPS_SMALLBIG which allows for systems with up to +particular machine.

    +

    (3) Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or +-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL

    +

    As explained above, any of these 3 settings can be specified on the +LMP_INC line in your low-level src/MAKE/Makefile.foo.

    +

    The default is -DLAMMPS_SMALLBIG which allows for systems with up to 2^63 atoms and 2^63 timesteps (about 9e18). The atom limit is for atomic systems which do not store bond topology info and thus do not require atom IDs. If you use atom IDs for atomic systems (which is the default) or if you use a molecular model, which stores bond topology info and thus requires atom IDs, the limit is 2^31 atoms (about 2 billion). This is because the IDs are stored in 32-bit -integers. -

    -

    Likewise, with this setting, the 3 image flags for each atom (see the -dump doc page for a discussion) are stored in a 32-bit +integers.

    +

    Likewise, with this setting, the 3 image flags for each atom (see the +dump doc page for a discussion) are stored in a 32-bit integer, which means the atoms can only wrap around a periodic box (in each dimension) at most 512 times. If atoms move through the periodic -box more than this many times, the image flags will "roll over", +box more than this many times, the image flags will “roll over”, e.g. from 511 to -512, which can cause diagnostics like the -mean-squared displacement, as calculated by the compute -msd command, to be faulty. -

    -

    To allow for larger atomic systems with atom IDs or larger molecular +mean-squared displacement, as calculated by the compute msd command, to be faulty.

    +

    To allow for larger atomic systems with atom IDs or larger molecular systems or larger image flags, compile with -DLAMMPS_BIGBIG. This stores atom IDs and image flags in 64-bit integers. This enables atomic or molecular systems with atom IDS of up to 2^63 atoms (about -9e18). And image flags will not "roll over" until they reach 2^20 = -1048576. -

    -

    If your system does not support 8-byte integers, you will need to +9e18). And image flags will not “roll over” until they reach 2^20 = +1048576.

    +

    If your system does not support 8-byte integers, you will need to compile with the -DLAMMPS_SMALLSMALL setting. This will restrict the total number of atoms (for atomic or molecular systems) and timesteps -to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512. -

    -

    Note that in src/lmptype.h there are definitions of all these data +to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512.

    +

    Note that in src/lmptype.h there are definitions of all these data types as well as the MPI data types associated with them. The MPI types need to be consistent with the associated C data types, or else LAMMPS will generate a run-time error. As far as we know, the settings defined in src/lmptype.h are portable and work on every -current system. -

    -

    In all cases, the size of problem that can be run on a per-processor -basis is limited by 4-byte integer storage to 2^31 atoms per processor -(about 2 billion). This should not normally be a limitation since such -a problem would have a huge per-processor memory footprint due to -neighbor lists and would run very slowly in terms of CPU secs/timestep. -

    -
    - -Building for a Mac: - -

    OS X is BSD Unix, so it should just work. See the -src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files. -

    -
    - -Building for Windows: - -

    The LAMMPS download page has an option to download both a serial and -parallel pre-built Windows executable. See the Running -LAMMPS section for instructions on running these executables -on a Windows box. -

    -

    The pre-built executables hosted on the LAMMPS download -page are built with a subset +current system.

    +

    In all cases, the size of problem that can be run on a per-processor +basis is limited by 4-byte integer storage to 2^31 atoms per processor +(about 2 billion). This should not normally be a limitation since such +a problem would have a huge per-processor memory footprint due to +neighbor lists and would run very slowly in terms of CPU secs/timestep.

    +
    +

    *Building for a Mac:*

    +

    OS X is BSD Unix, so it should just work. See the +src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files.

    +
    +

    *Building for Windows:*

    +

    The LAMMPS download page has an option to download both a serial and +parallel pre-built Windows executable. See the Running LAMMPS section for instructions on running these executables +on a Windows box.

    +

    The pre-built executables hosted on the LAMMPS download page are built with a subset of the available packages; see the download page for the list. These are single executable files. No examples or documentation in included. You will need to download the full source code package to -obtain those. -

    -

    As an alternative, you can download "daily builds" (and some older +obtain those.

    +

    As an alternative, you can download “daily builds” (and some older versions) of the installer packages from -rpm.lammps.org/windows.html. +rpm.lammps.org/windows.html. These executables are built with most optional packages and the -download includes documentation, some tools and most examples. -

    -

    If you want a Windows version with specific packages included and -excluded, you can build it yourself. -

    -

    One way to do this is install and use cygwin to build LAMMPS with a +download includes documentation, some tools and most examples.

    +

    If you want a Windows version with specific packages included and +excluded, you can build it yourself.

    +

    One way to do this is install and use cygwin to build LAMMPS with a standard unix style make program, just as you would on a Linux box; -see src/MAKE/MACHINES/Makefile.cygwin. -

    -

    The other way to do this is using Visual Studio and project files. +see src/MAKE/MACHINES/Makefile.cygwin.

    +

    The other way to do this is using Visual Studio and project files. See the src/WINDOWS directory and its README.txt file for instructions -on both a basic build and a customized build with pacakges you select. -

    -
    - -

    2.3 Making LAMMPS with optional packages -

    -

    This section has the following sub-sections: -

    - -

    Note that the following Section 2.4 describes the Make.py +on both a basic build and a customized build with pacakges you select.

    +
    +
    +
    +

    2.3. Making LAMMPS with optional packages¶

    +

    This section has the following sub-sections:

    + +

    Note that the following Section 2.4 describes the Make.py tool which can be used to install/un-install packages and build the auxiliary libraries which some of them use. It can also auto-edit a -Makefile.machine to add settings needed by some packages. -

    -
    - -Package basics: - -

    The source code for LAMMPS is structured as a set of core files which +Makefile.machine to add settings needed by some packages.

    +
    +

    *Package basics:*

    +

    The source code for LAMMPS is structured as a set of core files which are always included, plus optional packages. Packages are groups of files that enable a specific set of features. For example, force -fields for molecular systems or granular systems are in packages. -

    -

    You can see the list of all packages by typing "make package" from +fields for molecular systems or granular systems are in packages.

    +

    You can see the list of all packages by typing “make package” from within the src directory of the LAMMPS distribution. This also lists -various make commands that can be used to manipulate packages. -

    -

    If you use a command in a LAMMPS input script that is specific to a +various make commands that can be used to manipulate packages.

    +

    If you use a command in a LAMMPS input script that is specific to a particular package, you must have built LAMMPS with that package, else you will get an error that the style is invalid or the command is -unknown. Every command's doc page specfies if it is part of a -package. You can also type -

    -
    lmp_machine -h 
    -
    -

    to run your executable with the optional -h command-line -switch for "help", which will list the styles and commands -known to your executable. -

    -

    There are two kinds of packages in LAMMPS, standard and user packages. +unknown. Every command’s doc page specfies if it is part of a +package. You can also type

    +
    lmp_machine -h
    +
    +
    +

    to run your executable with the optional -h command-line switch for “help”, which will list the styles and commands +known to your executable.

    +

    There are two kinds of packages in LAMMPS, standard and user packages. More information about the contents of standard and user packages is -given in Section_packages of the manual. The -difference between standard and user packages is as follows: -

    -

    Standard packages are supported by the LAMMPS developers and are +given in Section_packages of the manual. The +difference between standard and user packages is as follows:

    +

    Standard packages are supported by the LAMMPS developers and are written in a syntax and style consistent with the rest of LAMMPS. This means we will answer questions about them, debug and fix them if -necessary, and keep them compatible with future changes to LAMMPS. -

    -

    User packages have been contributed by users, and always begin with +necessary, and keep them compatible with future changes to LAMMPS.

    +

    User packages have been contributed by users, and always begin with the user prefix. If they are a single command (single file), they are typically in the user-misc package. Otherwise, they are a a set of -files grouped together which add a specific functionality to the code. -

    -

    User packages don't necessarily meet the requirements of the standard +files grouped together which add a specific functionality to the code.

    +

    User packages don’t necessarily meet the requirements of the standard packages. If you have problems using a feature provided in a user package, you will likely need to contact the contributor directly to get help. Information on how to submit additions you make to LAMMPS -as a user-contributed package is given in this -section of the documentation. -

    -

    Some packages (both standard and user) require additional libraries. -See more details below. -

    -
    - -Including/excluding packages: - -

    To use or not use a package you must include or exclude it before +as a user-contributed package is given in this section of the documentation.

    +

    Some packages (both standard and user) require additional libraries. +See more details below.

    +
    +

    *Including/excluding packages:*

    +

    To use or not use a package you must include or exclude it before building LAMMPS. From the src directory, this is typically as simple -as: -

    -
    make yes-colloid
    -make g++ 
    -
    -

    or -

    -
    make no-manybody
    -make g++ 
    -
    -

    IMPORTANT NOTE: You should NOT include/exclude packages and build +as:

    +
    make yes-colloid
    +make g++
    +
    +
    +

    or

    +
    make no-manybody
    +make g++
    +
    +
    +
    +

    Warning

    +

    You should NOT include/exclude packages and build LAMMPS in a single make command by using multiple targets, e.g. make yes-colloid g++. This is because the make procedure creates a list of source files that will be out-of-date for the build if the package -configuration changes during the same command. -

    -

    Some packages have individual files that depend on other packages +configuration changes during the same command.

    +
    +

    Some packages have individual files that depend on other packages being included. LAMMPS checks for this and does the right thing. I.e. individual files are only included if their dependencies are already included. Likewise, if a package is excluded, other files -dependent on that package are also excluded. -

    -

    If you will never run simulations that use the features in a +dependent on that package are also excluded.

    +

    If you will never run simulations that use the features in a particular packages, there is no reason to include it in your build. For some packages, this will keep you from having to build auxiliary libraries (see below), and will also produce a smaller executable -which may run a bit faster. -

    -

    When you download a LAMMPS tarball, these packages are pre-installed +which may run a bit faster.

    +

    When you download a LAMMPS tarball, these packages are pre-installed in the src directory: KSPACE, MANYBODY,MOLECULE. When you download LAMMPS source files from the SVN or Git repositories, no packages are -pre-installed. -

    -

    Packages are included or excluded by typing "make yes-name" or "make -no-name", where "name" is the name of the package in lower-case, e.g. +pre-installed.

    +

    Packages are included or excluded by typing “make yes-name” or “make +no-name”, where “name” is the name of the package in lower-case, e.g. name = kspace for the KSPACE package or name = user-atc for the -USER-ATC package. You can also type "make yes-standard", "make -no-standard", "make yes-std", "make no-std", "make yes-user", "make -no-user", "make yes-all" or "make no-all" to include/exclude various -sets of packages. Type "make package" to see the all of the -package-related make options. -

    -

    IMPORTANT NOTE: Inclusion/exclusion of a package works by simply +USER-ATC package. You can also type “make yes-standard”, “make +no-standard”, “make yes-std”, “make no-std”, “make yes-user”, “make +no-user”, “make yes-all” or “make no-all” to include/exclude various +sets of packages. Type “make package” to see the all of the +package-related make options.

    +
    +

    Warning

    +

    Inclusion/exclusion of a package works by simply moving files back and forth between the main src directory and sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), so that the files are seen or not seen when LAMMPS is built. After -you have included or excluded a package, you must re-build LAMMPS. -

    -

    Additional package-related make options exist to help manage LAMMPS +you have included or excluded a package, you must re-build LAMMPS.

    +
    +

    Additional package-related make options exist to help manage LAMMPS files that exist in both the src directory and in package sub-directories. You do not normally need to use these commands unless you are editing LAMMPS files or have downloaded a patch from -the LAMMPS WWW site. -

    -

    Typing "make package-update" or "make pu" will overwrite src files +the LAMMPS WWW site.

    +

    Typing “make package-update” or “make pu” will overwrite src files with files from the package sub-directories if the package has been included. It should be used after a patch is installed, since patches only update the files in the package sub-directory, but not the src -files. Typing "make package-overwrite" will overwrite files in the -package sub-directories with src files. -

    -

    Typing "make package-status" or "make ps" will show which packages are +files. Typing “make package-overwrite” will overwrite files in the +package sub-directories with src files.

    +

    Typing “make package-status” or “make ps” will show which packages are currently included. Of those that are included, it will list files that are different in the src directory and package sub-directory. -Typing "make package-diff" lists all differences between these files. -Again, type "make package" to see all of the package-related make -options. -

    -
    - -Packages that require extra libraries: - -

    A few of the standard and user packages require additional auxiliary +Typing “make package-diff” lists all differences between these files. +Again, type “make package” to see all of the package-related make +options.

    +
    +

    *Packages that require extra libraries:*

    +

    A few of the standard and user packages require additional auxiliary libraries. Most of them are provided with LAMMPS, in which case they must be compiled first, before LAMMPS is built if you wish to include that package. If you get a LAMMPS build error about a missing library, this is likely the reason. See the -Section_packages doc page for a list of -packages that have these kinds of auxiliary libraries. -

    -

    The lib directory in the distribution has sub-directories with package +Section_packages doc page for a list of +packages that have these kinds of auxiliary libraries.

    +

    The lib directory in the distribution has sub-directories with package names that correspond to the needed auxiliary libs, e.g. lib/reax. Each sub-directory has a README file that gives more details. Code for most of the auxiliary libraries is included in that directory. -Examples are the USER-ATC and MEAM packages. -

    -

    A few of the lib sub-directories do not include code, but do include +Examples are the USER-ATC and MEAM packages.

    +

    A few of the lib sub-directories do not include code, but do include instructions and sometimes scripts that automate the process of downloading the auxiliary library and installing it so LAMMPS can link -to it. Examples are the KIM and VORONOI and USER-MOLFILE packages. -

    -

    The lib/python directory (for the PYTHON package) contains only a +to it. Examples are the KIM and VORONOI and USER-MOLFILE packages.

    +

    The lib/python directory (for the PYTHON package) contains only a choice of Makefile.lammps.* files. This is because no auxiliary code or libraries are needed, only the Python library and other system libs that already available on your system. However, the Makefile.lammps file is needed to tell the LAMMPS build which libs to use and where to -find them. -

    -

    For libraries with provided code, the sub-directory README file +find them.

    +

    For libraries with provided code, the sub-directory README file (e.g. lib/reax/README) has instructions on how to build that library. -Typically this is done by typing something like: -

    -
    make -f Makefile.g++ 
    -
    -

    If one of the provided Makefiles is not appropriate for your system +Typically this is done by typing something like:

    +
    make -f Makefile.g++
    +
    +
    +

    If one of the provided Makefiles is not appropriate for your system you will need to edit or add one. Note that all the Makefiles have a setting for EXTRAMAKE at the top that specifies a Makefile.lammps.* -file. -

    -

    If the library build is successful, it will produce 2 files in the lib -directory: -

    -
    libpackage.a
    -Makefile.lammps 
    -
    -

    The Makefile.lammps file will be a copy of the EXTRAMAKE file setting -specified in the library Makefile.* you used. -

    -

    Note that you must insure that the settings in Makefile.lammps are +file.

    +

    If the library build is successful, it will produce 2 files in the lib +directory:

    +
    libpackage.a
    +Makefile.lammps
    +
    +
    +

    The Makefile.lammps file will be a copy of the EXTRAMAKE file setting +specified in the library Makefile.* you used.

    +

    Note that you must insure that the settings in Makefile.lammps are appropriate for your system. If they are not, the LAMMPS build will -fail. -

    -

    As explained in the lib/package/README files, the settings in +fail.

    +

    As explained in the lib/package/README files, the settings in Makefile.lammps are used to specify additional system libraries and their locations so that LAMMPS can build with the auxiliary library. For example, if the MEAM or REAX packages are used, the auxiliary @@ -829,164 +862,170 @@ libraries consist of F90 code, built with a Fortran complier. To link that library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is built with, typically requires additional Fortran-to-C libraries be included in the link. Another example are the BLAS and LAPACK -libraries needed to use the USER-ATC or USER-AWPMD packages. -

    -

    For libraries without provided code, the sub-directory README file has +libraries needed to use the USER-ATC or USER-AWPMD packages.

    +

    For libraries without provided code, the sub-directory README file has information on where to download the library and how to build it, e.g. lib/voronoi/README. The README files also describe how you must -either (a) create soft links, via the "ln" command, in those +either (a) create soft links, via the “ln” command, in those directories to point to where you built or installed the packages, or (b) check or edit the Makefile.lammps file in the same directory -to provide that information. -

    -

    Some of the sub-directories, e.g. lib/voronoi, also have an install.py +to provide that information.

    +

    Some of the sub-directories, e.g. lib/voronoi, also have an install.py script which can be used to automate the process of downloading/building/installing the auxiliary library, and setting the -needed soft links. Type "python install.py" for further instructions. -

    -

    As with the sub-directories containing library code, if the soft links +needed soft links. Type “python install.py” for further instructions.

    +

    As with the sub-directories containing library code, if the soft links or settings in the lib/package/Makefile.lammps files are not correct, -the LAMMPS build will typically fail. -

    -
    - -Packages that require Makefile.machine settings - -

    A few packages require specific settings in Makefile.machine, to +the LAMMPS build will typically fail.

    +
    +

    *Packages that require Makefile.machine settings*

    +

    A few packages require specific settings in Makefile.machine, to either build or use the package effectively. These are the USER-INTEL, KOKKOS, USER-OMP, and OPT packages. The details of what flags to add or what variables to define are given on the doc pages -that describe each of these accelerator packages in detail: -

    - -

    Here is a brief summary of what Makefile.machine changes are needed. -Note that the Make.py tool, described in the next Section -2.4 can automatically add the needed info to an existing -machine Makefile, using simple command-line arguments. -

    -

    In src/MAKE/OPTIONS see the following Makefiles for examples of the -changes described below: -

    -
    • Makefile.intel_cpu -
    • Makefile.intel_phi -
    • Makefile.kokkos_omp -
    • Makefile.kokkos_cuda -
    • Makefile.kokkos_phi -
    • Makefile.omp -
    -

    For the USER-INTEL package, you have 2 choices when building. You can +that describe each of these accelerator packages in detail:

    + +

    Here is a brief summary of what Makefile.machine changes are needed. +Note that the Make.py tool, described in the next Section 2.4 can automatically add the needed info to an existing +machine Makefile, using simple command-line arguments.

    +

    In src/MAKE/OPTIONS see the following Makefiles for examples of the +changes described below:

    +
      +
    • Makefile.intel_cpu
    • +
    • Makefile.intel_phi
    • +
    • Makefile.kokkos_omp
    • +
    • Makefile.kokkos_cuda
    • +
    • Makefile.kokkos_phi
    • +
    • Makefile.omp
    • +
    +

    For the USER-INTEL package, you have 2 choices when building. You can build with CPU or Phi support. The latter uses Xeon Phi chips in -"offload" mode. Each of these modes requires additional settings in -your Makefile.machine for CCFLAGS and LINKFLAGS. -

    -

    For CPU mode (if using an Intel compiler): -

    -
    • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits -
    • LINKFLAGS: add -fopenmp -
    -

    For Phi mode add the following in addition to the CPU mode flags: -

    -
    • CCFLAGS: add -DLMP_INTEL_OFFLOAD and -
    • LINKFLAGS: add -offload -
    -

    And also add this to CCFLAGS: -

    -
    -offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs=\"gather_scatter_loop_unroll=4\"" 
    -
    -

    For the KOKKOS package, you have 3 choices when building. You can +“offload” mode. Each of these modes requires additional settings in +your Makefile.machine for CCFLAGS and LINKFLAGS.

    +

    For CPU mode (if using an Intel compiler):

    +
      +
    • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits
    • +
    • LINKFLAGS: add -fopenmp
    • +
    +

    For Phi mode add the following in addition to the CPU mode flags:

    +
      +
    • CCFLAGS: add -DLMP_INTEL_OFFLOAD and
    • +
    • LINKFLAGS: add -offload
    • +
    +

    And also add this to CCFLAGS:

    +
    +-offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs="gather_scatter_loop_unroll=4""
    +
    +

    For the KOKKOS package, you have 3 choices when building. You can build with OMP or Cuda or Phi support. Phi support uses Xeon Phi -chips in "native" mode. This can be done by setting the following -variables in your Makefile.machine: -

    -
    • for OMP support, set OMP = yes -
    • for Cuda support, set OMP = yes and CUDA = yes -
    • for Phi support, set OMP = yes and MIC = yes -
    -

    These can also be set as additional arguments to the make command, e.g. -

    -
    make g++ OMP=yes MIC=yes 
    -
    -

    Building the KOKKOS package with CUDA support requires a Makefile -machine that uses the NVIDIA "nvcc" compiler, as well as an -appropriate "arch" setting appropriate to the GPU hardware and NVIDIA +chips in “native” mode. This can be done by setting the following +variables in your Makefile.machine:

    +
      +
    • for OMP support, set OMP = yes
    • +
    • for Cuda support, set OMP = yes and CUDA = yes
    • +
    • for Phi support, set OMP = yes and MIC = yes
    • +
    +

    These can also be set as additional arguments to the make command, e.g.

    +
    make g++ OMP=yes MIC=yes
    +
    +
    +

    Building the KOKKOS package with CUDA support requires a Makefile +machine that uses the NVIDIA “nvcc” compiler, as well as an +appropriate “arch” setting appropriate to the GPU hardware and NVIDIA software you have on your machine. See src/MAKE/OPTIONS/Makefile.kokkos_cuda for an example of such a machine -Makefile. -

    -

    For the USER-OMP package, your Makefile.machine needs additional -settings for CCFLAGS and LINKFLAGS. -

    -
    • CCFLAGS: add -fopenmp and -restrict -
    • LINKFLAGS: add -fopenmp -
    -

    For the OPT package, your Makefile.machine needs an additional -settings for CCFLAGS. -

    -
    • CCFLAGS: add -restrict -
    -
    - -

    2.4 Building LAMMPS via the Make.py script -

    -

    The src directory includes a Make.py script, written in Python, which +Makefile.

    +

    For the USER-OMP package, your Makefile.machine needs additional +settings for CCFLAGS and LINKFLAGS.

    +
      +
    • CCFLAGS: add -fopenmp and -restrict
    • +
    • LINKFLAGS: add -fopenmp
    • +
    +

    For the OPT package, your Makefile.machine needs an additional +settings for CCFLAGS.

    +
      +
    • CCFLAGS: add -restrict
    • +
    +
    +
    +
    +

    2.4. Building LAMMPS via the Make.py script¶

    +

    The src directory includes a Make.py script, written in Python, which can be used to automate various steps of the build process. It is particularly useful for working with the accelerator packages, as well -as other packages which require auxiliary libraries to be built. -

    -

    The goal of the Make.py tool is to allow any complex multi-step LAMMPS +as other packages which require auxiliary libraries to be built.

    +

    The goal of the Make.py tool is to allow any complex multi-step LAMMPS build to be performed as a single Make.py command. And you can archive the commands, so they can be re-invoked later via the -r -(redo) switch. If you find some LAMMPS build procedure that can't be -done in a single Make.py command, let the developers know, and we'll -see if we can augment the tool. -

    -

    You can run Make.py from the src directory by typing either: -

    -
    Make.py -h
    -python Make.py -h 
    -
    -

    which will give you help info about the tool. For the former to work, +(redo) switch. If you find some LAMMPS build procedure that can’t be +done in a single Make.py command, let the developers know, and we’ll +see if we can augment the tool.

    +

    You can run Make.py from the src directory by typing either:

    +
    Make.py -h
    +python Make.py -h
    +
    +
    +

    which will give you help info about the tool. For the former to work, you may need to edit the first line of Make.py to point to your local -Python. And you may need to insure the script is executable: -

    -
    chmod +x Make.py 
    -
    -

    Here are examples of build tasks you can perform with Make.py: -

    -
    - - - - - - - -
    Install/uninstall packages Make.py -p no-lib kokkos omp intel
    Build specific auxiliary libs Make.py -a lib-atc lib-meam
    Build libs for all installed packages Make.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
    Create a Makefile from scratch with compiler and MPI settings Make.py -m none -cc g++ -mpi mpich -a file
    Augment Makefile.serial with settings for installed packages Make.py -p intel -intel cpu -m serial -a file
    Add JPG and FFTW support to Makefile.mpi Make.py -m mpi -jpg -fft fftw -a file
    Build LAMMPS with a parallel make using Makefile.mpi Make.py -j 16 -m mpi -a exe
    Build LAMMPS and libs it needs using Makefile.serial with accelerator settings Make.py -p gpu intel -intel cpu -a lib-all file serial -
    - -

    The bench and examples directories give Make.py commands that can be +Python. And you may need to insure the script is executable:

    +
    chmod +x Make.py
    +
    +
    +

    Here are examples of build tasks you can perform with Make.py:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Install/uninstall packagesMake.py -p no-lib kokkos omp intel
    Build specific auxiliary libsMake.py -a lib-atc lib-meam
    Build libs for all installed packagesMake.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
    Create a Makefile from scratch with compiler and MPI settingsMake.py -m none -cc g++ -mpi mpich -a file
    Augment Makefile.serial with settings for installed packagesMake.py -p intel -intel cpu -m serial -a file
    Add JPG and FFTW support to Makefile.mpiMake.py -m mpi -jpg -fft fftw -a file
    Build LAMMPS with a parallel make using Makefile.mpiMake.py -j 16 -m mpi -a exe
    Build LAMMPS and libs it needs using Makefile.serial with accelerator settingsMake.py -p gpu intel -intel cpu -a lib-all file serial
    +

    The bench and examples directories give Make.py commands that can be used to build LAMMPS with the various packages and options needed to run all the benchmark and example input scripts. See these files for -more details: -

    -
    • bench/README -
    • bench/FERMI/README -
    • bench/KEPLER/README -
    • bench/PHI/README -
    • examples/README -
    • examples/accelerate/README -
    • examples/accelerate/make.list -
    -

    All of the Make.py options and syntax help can be accessed by using -the "-h" switch. -

    -

    E.g. typing "Make.py -h" gives -

    -
    Syntax: Make.py switch args ...
    +more details:

    +
      +
    • bench/README
    • +
    • bench/FERMI/README
    • +
    • bench/KEPLER/README
    • +
    • bench/PHI/README
    • +
    • examples/README
    • +
    • examples/accelerate/README
    • +
    • examples/accelerate/make.list
    • +
    +

    All of the Make.py options and syntax help can be accessed by using +the “-h” switch.

    +

    E.g. typing “Make.py -h” gives

    +
    Syntax: Make.py switch args ...
       switches can be listed in any order
       help switch:
         -h prints help and syntax for all other specified switches
    @@ -1001,82 +1040,80 @@ the "-h" switch.
         -atc, -awpmd, -colvars, -cuda
         -gpu, -meam, -poems, -qmmm, -reax
       switches for build and makefile options:
    -    -intel, -kokkos, -cc, -mpi, -fft, -jpg, -png 
    -
    -

    Using the "-h" switch with other switches and actions gives additional -info on all the other specified switches or actions. The "-h" can be + -intel, -kokkos, -cc, -mpi, -fft, -jpg, -png +

    + +

    Using the “-h” switch with other switches and actions gives additional +info on all the other specified switches or actions. The “-h” can be anywhere in the command-line and the other switches do not need their -arguments. E.g. type "Make.py -h -d -atc -intel" will print: -

    -
    -d dir
    +arguments.  E.g. type “Make.py -h -d -atc -intel” will print:

    +
    -d dir
       dir = LAMMPS home dir
    -  if -d not specified, working dir must be lammps/src 
    -
    -
    -atc make=suffix lammps=suffix2
    +  if -d not specified, working dir must be lammps/src
    +
    +
    +
    -atc make=suffix lammps=suffix2
       all args are optional and can be in any order
       make = use Makefile.suffix (def = g++)
    -  lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile) 
    -
    -
    -intel mode
    +  lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile)
    +
    +
    +
    -intel mode
       mode = cpu or phi (def = cpu)
    -    build Intel package for CPU or Xeon Phi 
    -
    -

    Note that Make.py never overwrites an existing Makefile.machine. + build Intel package for CPU or Xeon Phi +

    + +

    Note that Make.py never overwrites an existing Makefile.machine. Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or rename if desired. Likewise it creates an executable named -src/lmp_auto, which you can rename using the -o switch if desired. -

    -

    The most recently executed Make.py commmand is saved in -src/Make.py.last. You can use the "-r" switch (for redo) to re-invoke +src/lmp_auto, which you can rename using the -o switch if desired.

    +

    The most recently executed Make.py commmand is saved in +src/Make.py.last. You can use the “-r” switch (for redo) to re-invoke the last command, or you can save a sequence of one or more Make.py -commands to a file and invoke the file of commands using "-r". You +commands to a file and invoke the file of commands using “-r”. You can also label the commands in the file and invoke one or more of them -by name. -

    -

    A typical use of Make.py is to start with a valid Makefile.machine for +by name.

    +

    A typical use of Make.py is to start with a valid Makefile.machine for your system, that works for a vanilla LAMMPS build, i.e. when optional packages are not installed. You can then use Make.py to add various settings (FFT, JPG, PNG) to the Makefile.machine as well as change its compiler and MPI options. You can also add additional packages to the -build, as well as build the needed supporting libraries. -

    -

    You can also use Make.py to create a new Makefile.machine from -scratch, using the "-m none" switch, if you also specify what compiler -and MPI options to use, via the "-cc" and "-mpi" switches. -

    -
    - -

    2.5 Building LAMMPS as a library -

    -

    LAMMPS can be built as either a static or shared library, which can +build, as well as build the needed supporting libraries.

    +

    You can also use Make.py to create a new Makefile.machine from +scratch, using the “-m none” switch, if you also specify what compiler +and MPI options to use, via the “-cc” and “-mpi” switches.

    +
    + +
    +

    2.5. Building LAMMPS as a library¶

    +

    LAMMPS can be built as either a static or shared library, which can then be called from another application or a scripting language. See -this section for more info on coupling -LAMMPS to other codes. See this section for -more info on wrapping and running LAMMPS from Python. -

    -
    Static library: -
    -

    To build LAMMPS as a static library (*.a file on Linux), type -

    -
    make foo mode=lib 
    -
    -

    where foo is the machine name. This kind of library is typically used +this section for more info on coupling +LAMMPS to other codes. See this section for +more info on wrapping and running LAMMPS from Python.

    +
    +

    2.5.1. Static library:¶

    +

    To build LAMMPS as a static library (*.a file on Linux), type

    +
    make foo mode=lib
    +
    +
    +

    where foo is the machine name. This kind of library is typically used to statically link a driver application to LAMMPS, so that you can insure all dependencies are satisfied at compile time. This will use the ARCHIVE and ARFLAGS settings in src/MAKE/Makefile.foo. The build will create the file liblammps_foo.a which another application can link to. It will also create a soft link liblammps.a, which will -point to the most recently built static library. -

    -
    Shared library: -
    -

    To build LAMMPS as a shared library (*.so file on Linux), which can be -dynamically loaded, e.g. from Python, type -

    -
    make foo mode=shlib 
    -
    -

    where foo is the machine name. This kind of library is required when -wrapping LAMMPS with Python; see Section_python +point to the most recently built static library.

    +
    +
    +

    2.5.2. Shared library:¶

    +

    To build LAMMPS as a shared library (*.so file on Linux), which can be +dynamically loaded, e.g. from Python, type

    +
    make foo mode=shlib
    +
    +
    +

    where foo is the machine name. This kind of library is required when +wrapping LAMMPS with Python; see Section_python for details. This will use the SHFLAGS and SHLIBFLAGS settings in src/MAKE/Makefile.foo and perform the build in the directory Obj_shared_foo. This is so that each file can be compiled with the @@ -1084,9 +1121,8 @@ Obj_shared_foo. This is so that each file can be compiled with the build will create the file liblammps_foo.so which another application can link to dyamically. It will also create a soft link liblammps.so, which will point to the most recently built shared library. This is -the file the Python wrapper loads by default. -

    -

    Note that for a shared library to be usable by a calling program, all +the file the Python wrapper loads by default.

    +

    Note that for a shared library to be usable by a calling program, all the auxiliary libraries it depends on must also exist as shared libraries. This will be the case for libraries included with LAMMPS, such as the dummy MPI library in src/STUBS or any package libraries in @@ -1095,349 +1131,316 @@ the -fPIC switch. However, if a library like MPI or FFTW does not exist as a shared library, the shared library build will generate an error. This means you will need to install a shared library version of the auxiliary library. The build instructions for the library -should tell you how to do this. -

    -

    Here is an example of such errors when the system FFTW or provided -lib/colvars library have not been built as shared libraries: -

    -
    /usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation
    -R_X86_64_32 against `.rodata' can not be used when making a shared
    +should tell you how to do this.

    +

    Here is an example of such errors when the system FFTW or provided +lib/colvars library have not been built as shared libraries:

    +
    /usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation
    +R_X86_64_32 against `.rodata' can not be used when making a shared
     object; recompile with -fPIC
    -/usr/local/lib/libfftw3.a: could not read symbols: Bad value 
    -
    -
    /usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o):
    -relocation R_X86_64_32 against `__pthread_key_create' can not be used
    +/usr/local/lib/libfftw3.a: could not read symbols: Bad value
    +
    +
    +
    /usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o):
    +relocation R_X86_64_32 against `__pthread_key_create' can not be used
     when making a shared object; recompile with -fPIC
    -../../lib/colvars/libcolvars.a: error adding symbols: Bad value 
    -
    -

    As an example, here is how to build and install the MPICH -library, a popular open-source version of MPI, distributed by +../../lib/colvars/libcolvars.a: error adding symbols: Bad value +

    +
    +

    As an example, here is how to build and install the MPICH library, a popular open-source version of MPI, distributed by Argonne National Labs, as a shared library in the default -/usr/local/lib location: -

    - - -
    ./configure --enable-shared
    +/usr/local/lib location:

    +
    ./configure --enable-shared
     make
    -make install 
    -
    -

    You may need to use "sudo make install" in place of the last line if +make install +

    + +

    You may need to use “sudo make install” in place of the last line if you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so. -

    -
    Additional requirement for using a shared library: -
    -

    The operating system finds shared libraries to load at run-time using +should be the file /usr/local/lib/libmpich.so.

    + +
    +

    2.5.3. Additional requirement for using a shared library:¶

    +

    The operating system finds shared libraries to load at run-time using the environment variable LD_LIBRARY_PATH. So you may wish to copy the file src/liblammps.so or src/liblammps_g++.so (for example) to a place the system can find it by default, such as /usr/local/lib, or you may wish to add the LAMMPS src directory to LD_LIBRARY_PATH, so that the current version of the shared library is always available to programs -that use it. -

    -

    For the csh or tcsh shells, you would add something like this to your -~/.cshrc file: -

    -
    setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/home/sjplimp/lammps/src 
    -
    -
    Calling the LAMMPS library: -
    -

    Either flavor of library (static or shared0 allows one or more LAMMPS -objects to be instantiated from the calling program. -

    -

    When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS +that use it.

    +

    For the csh or tcsh shells, you would add something like this to your +~/.cshrc file:

    +
    setenv LD_LIBRARY_PATH $*LD_LIBRARY_PATH*:/home/sjplimp/lammps/src
    +
    +
    +
    +
    +

    2.5.4. Calling the LAMMPS library:¶

    +

    Either flavor of library (static or shared0 allows one or more LAMMPS +objects to be instantiated from the calling program.

    +

    When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS namespace; you can safely use any of its classes and methods from -within the calling code, as needed. -

    -

    When used from a C or Fortran program or a scripting language like +within the calling code, as needed.

    +

    When used from a C or Fortran program or a scripting language like Python, the library has a simple function-style interface, provided in -src/library.cpp and src/library.h. -

    -

    See the sample codes in examples/COUPLE/simple for examples of C++ and +src/library.cpp and src/library.h.

    +

    See the sample codes in examples/COUPLE/simple for examples of C++ and C and Fortran codes that invoke LAMMPS thru its library interface. There are other examples as well in the COUPLE directory which are -discussed in Section_howto 10 of the -manual. See Section_python of the manual for a +discussed in Section_howto 10 of the +manual. See Section_python of the manual for a description of the Python wrapper provided with LAMMPS that operates -through the LAMMPS library interface. -

    -

    The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See Section_howto -19 of the manual for a description of the -interface and how to extend it for your needs. -

    -
    - -

    2.6 Running LAMMPS -

    -

    By default, LAMMPS runs by reading commands from standard input. Thus -if you run the LAMMPS executable by itself, e.g. -

    -
    lmp_linux 
    -
    -

    it will simply wait, expecting commands from the keyboard. Typically +through the LAMMPS library interface.

    +

    The files src/library.cpp and library.h define the C-style API for +using LAMMPS as a library. See Section_howto 19 of the manual for a description of the +interface and how to extend it for your needs.

    +
    +
    + +
    +

    2.6. Running LAMMPS¶

    +

    By default, LAMMPS runs by reading commands from standard input. Thus +if you run the LAMMPS executable by itself, e.g.

    +
    lmp_linux
    +
    +
    +

    it will simply wait, expecting commands from the keyboard. Typically you should put commands in an input script and use I/O redirection, -e.g. -

    -
    lmp_linux < in.file 
    -
    -

    For parallel environments this should also work. If it does not, use -the '-in' command-line switch, e.g. -

    -
    lmp_linux -in in.file 
    -
    -

    This section describes how input scripts are -structured and what commands they contain. -

    -

    You can test LAMMPS on any of the sample inputs provided in the +e.g.

    +
    lmp_linux < in.file
    +
    +
    +

    For parallel environments this should also work. If it does not, use +the ‘-in’ command-line switch, e.g.

    +
    lmp_linux -in in.file
    +
    +
    +

    This section describes how input scripts are +structured and what commands they contain.

    +

    You can test LAMMPS on any of the sample inputs provided in the examples or bench directory. Input scripts are named in.* and sample outputs are named log.*.name.P where name is a machine and P is the -number of processors it was run on. -

    -

    Here is how you might run a standard Lennard-Jones benchmark on a -Linux box, using mpirun to launch a parallel job: -

    -
    cd src
    +number of processors it was run on.

    +

    Here is how you might run a standard Lennard-Jones benchmark on a +Linux box, using mpirun to launch a parallel job:

    +
    cd src
     make linux
     cp lmp_linux ../bench
     cd ../bench
    -mpirun -np 4 lmp_linux < in.lj 
    -
    -

    See this page for timings for this and the other benchmarks on +mpirun -np 4 lmp_linux < in.lj +

    + +

    See this page for timings for this and the other benchmarks on various platforms. Note that some of the example scripts require -LAMMPS to be built with one or more of its optional packages. -

    - - -
    - -

    On a Windows box, you can skip making LAMMPS and simply download an +LAMMPS to be built with one or more of its optional packages.

    +
    +

    On a Windows box, you can skip making LAMMPS and simply download an executable, as described above, though the pre-packaged executables -include only certain packages. -

    -

    To run a LAMMPS executable on a Windows machine, first decide whether +include only certain packages.

    +

    To run a LAMMPS executable on a Windows machine, first decide whether you want to download the non-MPI (serial) or the MPI (parallel) version of the executable. Download and save the version you have -chosen. -

    -

    For the non-MPI version, follow these steps: -

    -
    • Get a command prompt by going to Start->Run... , -then typing "cmd". - -
    • Move to the directory where you have saved lmp_win_no-mpi.exe -(e.g. by typing: cd "Documents"). - -
    • At the command prompt, type "lmp_win_no-mpi -in in.lj", replacing in.lj -with the name of your LAMMPS input script. -
    -

    For the MPI version, which allows you to run LAMMPS under Windows on -multiple processors, follow these steps: -

    -
    • Download and install -MPICH2 -for Windows. - -
    • You'll need to use the mpiexec.exe and smpd.exe files from the MPICH2 +chosen.

      +

      For the non-MPI version, follow these steps:

      +
        +
      • Get a command prompt by going to Start->Run... , +then typing “cmd”.
      • +
      • Move to the directory where you have saved lmp_win_no-mpi.exe +(e.g. by typing: cd “Documents”).
      • +
      • At the command prompt, type “lmp_win_no-mpi -in in.lj”, replacing in.lj +with the name of your LAMMPS input script.
      • +
      +

      For the MPI version, which allows you to run LAMMPS under Windows on +multiple processors, follow these steps:

      +
        +
      • Download and install +MPICH2 +for Windows.
      • +
      • You’ll need to use the mpiexec.exe and smpd.exe files from the MPICH2 package. Put them in same directory (or path) as the LAMMPS Windows -executable. - -
      • Get a command prompt by going to Start->Run... , -then typing "cmd". - -
      • Move to the directory where you have saved lmp_win_mpi.exe -(e.g. by typing: cd "Documents"). - -
      • Then type something like this: "mpiexec -localonly 4 lmp_win_mpi -in -in.lj", replacing in.lj with the name of your LAMMPS input script. - -
      • Note that you may need to provide smpd with a passphrase (it doesn't -matter what you type). - -
      • In this mode, output may not immediately show up on the screen, so if +executable.
      • +
      • Get a command prompt by going to Start->Run... , +then typing “cmd”.
      • +
      • Move to the directory where you have saved lmp_win_mpi.exe +(e.g. by typing: cd “Documents”).
      • +
      • Then type something like this: “mpiexec -localonly 4 lmp_win_mpi -in +in.lj”, replacing in.lj with the name of your LAMMPS input script.
      • +
      • Note that you may need to provide smpd with a passphrase (it doesn’t +matter what you type).
      • +
      • In this mode, output may not immediately show up on the screen, so if your input script takes a long time to execute, you may need to be patient before the output shows up. :l Alternatively, you can still use this executable to run on a single processor by typing something -like: "lmp_win_mpi -in in.lj". -
      -
      - -

      The screen output from LAMMPS is described in the next section. As it -runs, LAMMPS also writes a log.lammps file with the same information. -

      -

      Note that this sequence of commands copies the LAMMPS executable +like: “lmp_win_mpi -in in.lj”.

    • +
    +
    +

    The screen output from LAMMPS is described in the next section. As it +runs, LAMMPS also writes a log.lammps file with the same information.

    +

    Note that this sequence of commands copies the LAMMPS executable (lmp_linux) to the directory with the input files. This may not be necessary, but some versions of MPI reset the working directory to where the executable is, rather than leave it as the directory where you launch mpirun from (if you launch lmp_linux on its own and not under mpirun). If that happens, LAMMPS will look for additional input files and write its output files to the executable directory, rather -than your working directory, which is probably not what you want. -

    -

    If LAMMPS encounters errors in the input script or while running a +than your working directory, which is probably not what you want.

    +

    If LAMMPS encounters errors in the input script or while running a simulation it will print an ERROR message and stop or a WARNING -message and continue. See Section_errors for a -discussion of the various kinds of errors LAMMPS can or can't detect, -a list of all ERROR and WARNING messages, and what to do about them. -

    -

    LAMMPS can run a problem on any number of processors, including a +message and continue. See Section_errors for a +discussion of the various kinds of errors LAMMPS can or can’t detect, +a list of all ERROR and WARNING messages, and what to do about them.

    +

    LAMMPS can run a problem on any number of processors, including a single processor. In theory you should get identical answers on any number of processors and on any machine. In practice, numerical round-off can cause slight differences and eventual divergence of -molecular dynamics phase space trajectories. -

    -

    LAMMPS can run as large a problem as will fit in the physical memory +molecular dynamics phase space trajectories.

    +

    LAMMPS can run as large a problem as will fit in the physical memory of one or more processors. If you run out of memory, you must run on -more processors or setup a smaller problem. -

    -
    - -

    2.7 Command-line options -

    -

    At run time, LAMMPS recognizes several optional command-line switches +more processors or setup a smaller problem.

    +
    + +
    +

    2.7. Command-line options¶

    +

    At run time, LAMMPS recognizes several optional command-line switches which may be used in any order. Either the full word or a one-or-two -letter abbreviation can be used: -

    -
    • -c or -cuda -
    • -e or -echo -
    • -h or -help -
    • -i or -in -
    • -k or -kokkos -
    • -l or -log -
    • -nc or -nocite -
    • -pk or -package -
    • -p or -partition -
    • -pl or -plog -
    • -ps or -pscreen -
    • -r or -restart -
    • -ro or -reorder -
    • -sc or -screen -
    • -sf or -suffix -
    • -v or -var -
    -

    For example, lmp_ibm might be launched as follows: -

    -
    mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none < in.alloy
    -mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy 
    -
    -

    Here are the details on the options: -

    -
    -cuda on/off 
    -
    -

    Explicitly enable or disable CUDA support, as provided by the +letter abbreviation can be used:

    +
      +
    • -c or -cuda
    • +
    • -e or -echo
    • +
    • -h or -help
    • +
    • -i or -in
    • +
    • -k or -kokkos
    • +
    • -l or -log
    • +
    • -nc or -nocite
    • +
    • -pk or -package
    • +
    • -p or -partition
    • +
    • -pl or -plog
    • +
    • -ps or -pscreen
    • +
    • -r or -restart
    • +
    • -ro or -reorder
    • +
    • -sc or -screen
    • +
    • -sf or -suffix
    • +
    • -v or -var
    • +
    +

    For example, lmp_ibm might be launched as follows:

    +
    mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none < in.alloy
    +mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none < in.alloy
    +
    +
    +

    Here are the details on the options:

    +
    -cuda on/off
    +
    +
    +

    Explicitly enable or disable CUDA support, as provided by the USER-CUDA package. Even if LAMMPS is built with this package, as -described above in Section 2.3, this switch must be set to +described above in Section 2.3, this switch must be set to enable running with the CUDA-enabled styles the package provides. If the switch is not set (the default), LAMMPS will operate as if the USER-CUDA package were not installed; i.e. you can run standard LAMMPS -or with the GPU package, for testing or benchmarking purposes. -

    -
    -echo style 
    -
    -

    Set the style of command echoing. The style can be none or screen -or log or both. Depending on the style, each command read from +or with the GPU package, for testing or benchmarking purposes.

    +
    -echo style
    +
    +
    +

    Set the style of command echoing. The style can be none or screen +or log or both. Depending on the style, each command read from the input script will be echoed to the screen and/or logfile. This can be useful to figure out which line of your script is causing an -input error. The default value is log. The echo style can also be -set by using the echo command in the input script itself. -

    -
    -help 
    -
    -

    Print a brief help summary and a list of options compiled into this +input error. The default value is log. The echo style can also be +set by using the echo command in the input script itself.

    +
    -help
    +
    +
    +

    Print a brief help summary and a list of options compiled into this executable for each LAMMPS style (atom_style, fix, compute, pair_style, bond_style, etc). This can tell you if the command you want to use was included via the appropriate package at compile time. LAMMPS will print the info and immediately exit if this switch is -used. -

    -
    -in file 
    -
    -

    Specify a file to use as an input script. This is an optional switch +used.

    +
    -in file
    +
    +
    +

    Specify a file to use as an input script. This is an optional switch when running LAMMPS in one-partition mode. If it is not specified, LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should +via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should also work in parallel, but if it does not (in the unlikely case that an MPI implementation does not support it), then use the -in flag. Note that this is a required switch when running LAMMPS in multi-partition mode, since multiple processors cannot all read from -stdin. -

    -
    -kokkos on/off keyword/value ... 
    -
    -

    Explicitly enable or disable KOKKOS support, as provided by the KOKKOS +stdin.

    +
    -kokkos on/off keyword/value ...
    +
    +
    +

    Explicitly enable or disable KOKKOS support, as provided by the KOKKOS package. Even if LAMMPS is built with this package, as described -above in Section 2.3, this switch must be set to enable +above in Section 2.3, this switch must be set to enable running with the KOKKOS-enabled styles the package provides. If the switch is not set (the default), LAMMPS will operate as if the KOKKOS package were not installed; i.e. you can run standard LAMMPS or with the GPU or USER-CUDA or USER-OMP packages, for testing or benchmarking -purposes. -

    -

    Additional optional keyword/value pairs can be specified which +purposes.

    +

    Additional optional keyword/value pairs can be specified which determine how Kokkos will use the underlying hardware on your platform. These settings apply to each MPI task you launch via the -"mpirun" or "mpiexec" command. You may choose to run one or more MPI +“mpirun” or “mpiexec” command. You may choose to run one or more MPI tasks per physical node. Note that if you are running on a desktop machine, you typically have one physical node. On a cluster or -supercomputer there may be dozens or 1000s of physical nodes. -

    -

    Either the full word or an abbreviation can be used for the keywords. +supercomputer there may be dozens or 1000s of physical nodes.

    +

    Either the full word or an abbreviation can be used for the keywords. Note that the keywords do not use a leading minus sign. I.e. the -keyword is "t", not "-t". Also note that each of the keywords has a +keyword is “t”, not “-t”. Also note that each of the keywords has a default setting. Example of when to use these options and what -settings to use on different platforms is given in Section -5.8. -

    -
    • d or device -
    • g or gpus -
    • t or threads -
    • n or numa -
    -
    device Nd 
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you +settings to use on different platforms is given in Section 5.8.

    +
      +
    • d or device
    • +
    • g or gpus
    • +
    • t or threads
    • +
    • n or numa
    • +
    +
    device Nd
    +
    +
    +

    This option is only relevant if you built LAMMPS with CUDA=yes, you have more than one GPU per node, and if you are running with only one MPI task per node. The Nd setting is the ID of the GPU on the node to run on. By default Nd = 0. If you have multiple GPUs per node, they have consecutive IDs numbered as 0,1,2,etc. This setting allows you to launch multiple independent jobs on the node, each with a single -MPI task per node, and assign each job to run on a different GPU. -

    -
    gpus Ng Ns 
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you +MPI task per node, and assign each job to run on a different GPU.

    +
    gpus Ng Ns
    +
    +
    +

    This option is only relevant if you built LAMMPS with CUDA=yes, you have more than one GPU per node, and you are running with multiple MPI tasks per node (up to one per GPU). The Ng setting is how many GPUs you will use. The Ns setting is optional. If set, it is the ID of a GPU to skip when assigning MPI tasks to GPUs. This may be useful if your desktop system reserves one GPU to drive the screen and the rest 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 -

    -
    SLURM_LOCALID (various MPI variants compiled with SLURM support)
    +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

    +
    SLURM_LOCALID (various MPI variants compiled with SLURM support)
     MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
    -OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) 
    -
    -

    which are initialized by the "srun", "mpirun" or "mpiexec" commands. +OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) +

    + +

    which are initialized by the “srun”, “mpirun” or “mpiexec” commands. The environment variable setting for each MPI rank is used to assign a -unique GPU ID to the MPI task. -

    -
    threads Nt 
    -
    -

    This option assigns Nt number of threads to each MPI task for +unique GPU ID to the MPI task.

    +
    threads Nt
    +
    +
    +

    This option assigns Nt number of threads to each MPI task for performing work when Kokkos is executing in OpenMP or pthreads mode. The default is Nt = 1, which essentially runs in MPI-only mode. If there are Np MPI tasks per physical node, you generally want Np*Nt = the number of physical cores per node, to use your available hardware optimally. This also sets the number of threads used by the host when -LAMMPS is compiled with CUDA=yes. -

    -
    numa Nm 
    -
    -

    This option is only relevant when using pthreads with hwloc support. +LAMMPS is compiled with CUDA=yes.

    +
    numa Nm
    +
    +
    +

    This option is only relevant when using pthreads with hwloc support. In this case Nm defines the number of NUMA regions (typicaly sockets) on a node which will be utilizied by a single MPI rank. By default Nm = 1. If this option is used the total number of worker-threads per @@ -1445,47 +1448,46 @@ MPI rank is threads*numa. Currently it is always almost better to assign at least one MPI rank per NUMA region, and leave numa set to its default value of 1. This is because letting a single process span multiple NUMA regions induces a significant amount of cross NUMA data -traffic which is slow. -

    -
    -log file 
    -
    -

    Specify a log file for LAMMPS to write status information to. In +traffic which is slow.

    +
    -log file
    +
    +
    +

    Specify a log file for LAMMPS to write status information to. In one-partition mode, if the switch is not used, LAMMPS writes to the file log.lammps. If this switch is used, LAMMPS writes to the specified file. In multi-partition mode, if the switch is not used, a log.lammps file is created with hi-level status information. Each partition also writes to a log.lammps.N file where N is the partition ID. If the switch is specified in multi-partition mode, the hi-level -logfile is named "file" and each partition also logs information to a +logfile is named “file” and each partition also logs information to a file.N. For both one-partition and multi-partition mode, if the -specified file is "none", then no log files are created. Using a -log command in the input script will override this setting. -Option -plog will override the name of the partition log files file.N. -

    -
    -nocite 
    -
    -

    Disable writing the log.cite file which is normally written to list +specified file is “none”, then no log files are created. Using a +log command in the input script will override this setting. +Option -plog will override the name of the partition log files file.N.

    +
    -nocite
    +
    +
    +

    Disable writing the log.cite file which is normally written to list references for specific cite-able features used during a LAMMPS run. -See the citation page for more -details. -

    -
    -package style args .... 
    -
    -

    Invoke the package command with style and args. The +See the citation page for more +details.

    +
    -package style args ....
    +
    +
    +

    Invoke the package command with style and args. The syntax is the same as if the command appeared at the top of the input -script. For example "-package gpu 2" or "-pk gpu 2" is the same as -package gpu 2 in the input script. The possible styles -and args are documented on the package doc page. This +script. For example “-package gpu 2” or “-pk gpu 2” is the same as +package gpu 2 in the input script. The possible styles +and args are documented on the package doc page. This switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together. -

    -

    Along with the "-suffix" command-line switch, this is a convenient +USER-INTEL and USER-OMP packages which can be used together.

    +

    Along with the “-suffix” command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without -having to edit an input script. -

    -
    -partition 8x2 4 5 ... 
    -
    -

    Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P +having to edit an input script.

    +
    -partition 8x2 4 5 ...
    +
    +
    +

    Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P processors and this switch is not used, LAMMPS runs in one partition, i.e. all P processors run a single simulation. If this switch is used, the P processors are split into separate partitions and each @@ -1494,23 +1496,21 @@ specify the number of processors in each partition. Arguments of the form MxN mean M partitions, each with N processors. Arguments of the form N mean a single partition with N processors. The sum of processors in all partitions must equal P. Thus the command -"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 -processors. -

    -

    Running with multiple partitions can e useful for running -multi-replica simulations, where each +“-partition 8x2 4 5” has 10 partitions and runs on a total of 25 +processors.

    +

    Running with multiple partitions can e useful for running +multi-replica simulations, where each replica runs on on one or a few processors. Note that with MPI installed on a machine (e.g. your desktop), you can run on more -(virtual) processors than you have physical processors. -

    -

    To run multiple independent simulatoins from one input script, using -multiple partitions, see Section_howto 4 -of the manual. World- and universe-style variables -are useful in this context. -

    -
    -plog file 
    -
    -

    Specify the base name for the partition log files, so partition N +(virtual) processors than you have physical processors.

    +

    To run multiple independent simulatoins from one input script, using +multiple partitions, see Section_howto 4 +of the manual. World- and universe-style variables +are useful in this context.

    +
    -plog file
    +
    +
    +

    Specify the base name for the partition log files, so partition N writes log information to file.N. If file is none, then no partition log files are created. This overrides the filename specified in the -log command-line option. This option is useful when working with @@ -1518,11 +1518,11 @@ large numbers of partitions, allowing the partition log files to be suppressed (-plog none) or placed in a sub-directory (-plog replica_files/log.lammps) If this option is not used the log file for partition N is log.lammps.N or whatever is specified by the -log -command-line option. -

    -
    -pscreen file 
    -
    -

    Specify the base name for the partition screen file, so partition N +command-line option.

    +
    -pscreen file
    +
    +
    +

    Specify the base name for the partition screen file, so partition N writes screen information to file.N. If file is none, then no partition screen files are created. This overrides the filename specified in the -screen command-line option. This option is useful @@ -1530,84 +1530,80 @@ when working with large numbers of partitions, allowing the partition screen files to be suppressed (-pscreen none) or placed in a sub-directory (-pscreen replica_files/screen). If this option is not used the screen file for partition N is screen.N or whatever is -specified by the -screen command-line option. -

    -
    -restart restartfile remap datafile keyword value ... 
    -
    -

    Convert the restart file into a data file and immediately exit. This +specified by the -screen command-line option.

    +
    +-restart restartfile remap datafile keyword value ...
    +
    +

    Convert the restart file into a data file and immediately exit. This is the same operation as if the following 2-line input script were -run: -

    -
    read_restart restartfile remap
    -write_data datafile keyword value ... 
    -
    -

    Note that the specified restartfile and datafile can have wild-card -characters ("*",%") as described by the -read_restart and write_data +run:

    +
    +read_restart restartfile remap
    +write_data datafile keyword value ...
    +
    +

    Note that the specified restartfile and datafile can have wild-card +characters (“*”,%”) as described by the +read_restart and write_data commands. But a filename such as file.* will need to be enclosed in -quotes to avoid shell expansion of the "*" character. -

    -

    Note that following restartfile, the optional flag remap can be +quotes to avoid shell expansion of the “*” character.

    +

    Note that following restartfile, the optional flag remap can be used. This has the same effect as adding it to the -read_restart command, as explained on its doc +read_restart command, as explained on its doc page. This is only useful if the reading of the restart file triggers an error that atoms have been lost. In that case, use of the remap -flag should allow the data file to still be produced. -

    -

    Also note that following datafile, the same optional keyword/value -pairs can be listed as used by the write_data -command. -

    -
    -reorder nth N
    --reorder custom filename 
    -
    -

    Reorder the processors in the MPI communicator used to instantiate +flag should allow the data file to still be produced.

    +

    Also note that following datafile, the same optional keyword/value +pairs can be listed as used by the write_data +command.

    +
    -reorder nth N
    +-reorder custom filename
    +
    +
    +

    Reorder the processors in the MPI communicator used to instantiate LAMMPS, in one of several ways. The original MPI communicator ranks all P processors from 0 to P-1. The mapping of these ranks to physical processors is done by MPI before LAMMPS begins. It may be useful in some cases to alter the rank order. E.g. to insure that cores within each node are ranked in a desired order. Or when using -the run_style verlet/split command with 2 partitions +the run_style verlet/split command with 2 partitions to insure that a specific Kspace processor (in the 2nd partition) is matched up with a specific set of processors in the 1st partition. -See the Section_accelerate doc pages for -more details. -

    -

    If the keyword nth is used with a setting N, then it means every +See the Section_accelerate doc pages for +more details.

    +

    If the keyword nth is used with a setting N, then it means every Nth processor will be moved to the end of the ranking. This is useful -when using the run_style verlet/split command with 2 +when using the run_style verlet/split command with 2 partitions via the -partition command-line switch. The first set of processors will be in the first partition, the 2nd set in the 2nd partition. The -reorder command-line switch can alter this so that the 1st N procs in the 1st partition and one proc in the 2nd partition will be ordered consecutively, e.g. as the cores on one physical node. -This can boost performance. For example, if you use "-reorder nth 4" -and "-partition 9 3" and you are running on 12 processors, the -processors will be reordered from -

    -
    0 1 2 3 4 5 6 7 8 9 10 11 
    -
    -

    to -

    -
    0 1 2 4 5 6 8 9 10 3 7 11 
    -
    -

    so that the processors in each partition will be -

    -
    0 1 2 4 5 6 8 9 10 
    -3 7 11 
    -
    -

    See the "processors" command for how to insure processors from each -partition could then be grouped optimally for quad-core nodes. -

    -

    If the keyword is custom, then a file that specifies a permutation +This can boost performance. For example, if you use “-reorder nth 4” +and “-partition 9 3” and you are running on 12 processors, the +processors will be reordered from

    +
    0 1 2 3 4 5 6 7 8 9 10 11
    +
    +
    +

    to

    +
    0 1 2 4 5 6 8 9 10 3 7 11
    +
    +
    +

    so that the processors in each partition will be

    +
    0 1 2 4 5 6 8 9 10
    +3 7 11
    +
    +
    +

    See the “processors” command for how to insure processors from each +partition could then be grouped optimally for quad-core nodes.

    +

    If the keyword is custom, then a file that specifies a permutation of the processor ranks is also specified. The format of the reorder file is as follows. Any number of initial blank or comment lines -(starting with a "#" character) can be present. These should be -followed by P lines of the form: -

    -
    I J 
    -
    -

    where P is the number of processors LAMMPS was launched with. Note +(starting with a “#” character) can be present. These should be +followed by P lines of the form:

    +
    I J
    +
    +
    +

    where P is the number of processors LAMMPS was launched with. Note that if running in multi-partition mode (see the -partition switch above) P is the total number of processors in all partitions. The I and J values describe a permutation of the P processors. Every I and @@ -1615,121 +1611,108 @@ J should be values from 0 to P-1 inclusive. In the set of P I values, every proc ID should appear exactly once. Ditto for the set of P J values. A single I,J pairing means that the physical processor with rank I in the original MPI communicator will have rank J in the -reordered communicator. -

    -

    Note that rank ordering can also be specified by many MPI +reordered communicator.

    +

    Note that rank ordering can also be specified by many MPI implementations, either by environment variables that specify how to order physical processors, or by config files that specify what physical processors to assign to each MPI rank. The -reorder switch simply gives you a portable way to do this without relying on MPI -itself. See the processors out command for how to output +itself. See the processors out command for how to output info on the final assignment of physical processors to the LAMMPS -simulation domain. -

    -
    -screen file 
    -
    -

    Specify a file for LAMMPS to write its screen information to. In +simulation domain.

    +
    -screen file
    +
    +
    +

    Specify a file for LAMMPS to write its screen information to. In one-partition mode, if the switch is not used, LAMMPS writes to the screen. If this switch is used, LAMMPS writes to the specified file instead and you will see no screen output. In multi-partition mode, if the switch is not used, hi-level status information is written to the screen. Each partition also writes to a screen.N file where N is the partition ID. If the switch is specified in multi-partition mode, -the hi-level screen dump is named "file" and each partition also +the hi-level screen dump is named “file” and each partition also writes screen information to a file.N. For both one-partition and -multi-partition mode, if the specified file is "none", then no screen +multi-partition mode, if the specified file is “none”, then no screen output is performed. Option -pscreen will override the name of the -partition screen files file.N. -

    -
    -suffix style 
    -
    -

    Use variants of various styles if they exist. The specified style can -be cuda, gpu, intel, kk, omp, or opt. These refer to +partition screen files file.N.

    +
    -suffix style
    +
    +
    +

    Use variants of various styles if they exist. The specified style can +be cuda, gpu, intel, kk, omp, or opt. These refer to optional packages that LAMMPS can be built with, as described above in -Section 2.3. The "cuda" style corresponds to the USER-CUDA -package, the "gpu" style to the GPU package, the "intel" style to the -USER-INTEL package, the "kk" style to the KOKKOS package, the "opt" -style to the OPT package, and the "omp" style to the USER-OMP package. -

    -

    Along with the "-package" command-line switch, this is a convenient +Section 2.3. The “cuda” style corresponds to the USER-CUDA +package, the “gpu” style to the GPU package, the “intel” style to the +USER-INTEL package, the “kk” style to the KOKKOS package, the “opt” +style to the OPT package, and the “omp” style to the USER-OMP package.

    +

    Along with the “-package” command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without -having to edit an input script. -

    -

    As an example, all of the packages provide a pair_style -lj/cut variant, with style names lj/cut/cuda, +having to edit an input script.

    +

    As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/cuda, lj/cut/gpu, lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the -suffix switch is used the specified suffix (cuda,gpu,intel,kk,omp,opt) is automatically appended whenever your input script command creates a new -atom, pair, fix, -compute, or run style. If the variant -version does not exist, the standard version is created. -

    -

    For the GPU package, using this command-line switch also invokes the -default GPU settings, as if the command "package gpu 1" were used at +atom, pair, fix, +compute, or run style. If the variant +version does not exist, the standard version is created.

    +

    For the GPU package, using this command-line switch also invokes the +default GPU settings, as if the command “package gpu 1” were used at the top of your input script. These settings can be changed by using -the "-package gpu" command-line switch or the package -gpu command in your script. -

    -

    For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command "package -intel 1" were used at the top of your input script. These settings -can be changed by using the "-package intel" command-line switch or -the package intel command in your script. If the +the “-package gpu” command-line switch or the package gpu command in your script.

    +

    For the USER-INTEL package, using this command-line switch also +invokes the default USER-INTEL settings, as if the command “package +intel 1” were used at the top of your input script. These settings +can be changed by using the “-package intel” command-line switch or +the package intel command in your script. If the USER-OMP package is also installed, the intel suffix will make the omp suffix a second choice, if a requested style is not available in the USER-INTEL package. It will also invoke the default USER-OMP -settings, as if the command "package omp 0" were used at the top of +settings, as if the command “package omp 0” were used at the top of your input script. These settings can be changed by using the -"-package omp" command-line switch or the package omp -command in your script. -

    -

    For the KOKKOS package, using this command-line switch also invokes -the default KOKKOS settings, as if the command "package kokkos" were +“-package omp” command-line switch or the package omp +command in your script.

    +

    For the KOKKOS package, using this command-line switch also invokes +the default KOKKOS settings, as if the command “package kokkos” were used at the top of your input script. These settings can be changed -by using the "-package kokkos" command-line switch or the package -kokkos command in your script. -

    -

    For the OMP package, using this command-line switch also invokes the -default OMP settings, as if the command "package omp 0" were used at +by using the “-package kokkos” command-line switch or the package kokkos command in your script.

    +

    For the OMP package, using this command-line switch also invokes the +default OMP settings, as if the command “package omp 0” were used at the top of your input script. These settings can be changed by using -the "-package omp" command-line switch or the package -omp command in your script. -

    -

    The suffix command can also be used within an input +the “-package omp” command-line switch or the package omp command in your script.

    +

    The suffix command can also be used within an input script to set a suffix, or to turn off or back on any suffix setting -made via the command line. -

    -
    -var name value1 value2 ... 
    -
    -

    Specify a variable that will be defined for substitution purposes when +made via the command line.

    +
    -var name value1 value2 ...
    +
    +
    +

    Specify a variable that will be defined for substitution purposes when the input script is read. This switch can be used multiple times to -define multiple variables. "Name" is the variable name which can be a +define multiple variables. “Name” is the variable name which can be a single character (referenced as $x in the input script) or a full -string (referenced as ${abc}). An index-style -variable will be created and populated with the +string (referenced as ${abc}). An index-style variable will be created and populated with the subsequent values, e.g. a set of filenames. Using this command-line -option is equivalent to putting the line "variable name index value1 -value2 ..." at the beginning of the input script. Defining an index +option is equivalent to putting the line “variable name index value1 +value2 ...” at the beginning of the input script. Defining an index variable as a command-line argument overrides any setting for the same index variable in the input script, since index variables cannot be -re-defined. See the variable command for more info on -defining index and other kinds of variables and this -section for more info on using variables -in input scripts. -

    -

    NOTE: Currently, the command-line parser looks for arguments that -start with "-" to indicate new switches. Thus you cannot specify -multiple variable values if any of they start with a "-", e.g. a +re-defined. See the variable command for more info on +defining index and other kinds of variables and this section for more info on using variables +in input scripts.

    +
    +

    Note

    +

    Currently, the command-line parser looks for arguments that +start with “-” to indicate new switches. Thus you cannot specify +multiple variable values if any of they start with a “-”, e.g. a negative numeric value. It is OK if the first value1 starts with a -"-", since it is automatically skipped. -

    -
    - -

    2.8 LAMMPS screen output -

    -

    As LAMMPS reads an input script, it prints information to both the +“-”, since it is automatically skipped.

    +
    +
    + +
    +

    2.8. LAMMPS screen output¶

    +

    As LAMMPS reads an input script, it prints information to both the screen and a log file about significant actions it takes to setup a simulation. When the simulation is ready to begin, LAMMPS performs various initializations and prints the amount of memory (in MBytes per @@ -1739,80 +1722,80 @@ thermodynamic information is printed periodically, every few timesteps. When the run concludes, LAMMPS prints the final thermodynamic state and a total run time for the simulation. It then appends statistics about the CPU time and storage requirements for the -simulation. An example set of statistics is shown here: -

    -
    Loop time of 49.002 on 2 procs for 2004 atoms 
    -
    -
    Pair   time (%) = 35.0495 (71.5267)
    +simulation.  An example set of statistics is shown here:

    +
    Loop time of 49.002 on 2 procs for 2004 atoms
    +
    +
    +
    Pair   time (%) = 35.0495 (71.5267)
     Bond   time (%) = 0.092046 (0.187841)
     Kspce  time (%) = 6.42073 (13.103)
     Neigh  time (%) = 2.73485 (5.5811)
     Comm   time (%) = 1.50291 (3.06703)
     Outpt  time (%) = 0.013799 (0.0281601)
    -Other  time (%) = 2.13669 (4.36041) 
    -
    -
    Nlocal:    1002 ave, 1015 max, 989 min
    -Histogram: 1 0 0 0 0 0 0 0 0 1 
    -Nghost:    8720 ave, 8724 max, 8716 min 
    +Other  time (%) = 2.13669 (4.36041)
    +
    +
    +
    Nlocal:    1002 ave, 1015 max, 989 min
     Histogram: 1 0 0 0 0 0 0 0 0 1
    -Neighs:    354141 ave, 361422 max, 346860 min 
    -Histogram: 1 0 0 0 0 0 0 0 0 1 
    -
    -
    Total # of neighbors = 708282
    +Nghost:    8720 ave, 8724 max, 8716 min
    +Histogram: 1 0 0 0 0 0 0 0 0 1
    +Neighs:    354141 ave, 361422 max, 346860 min
    +Histogram: 1 0 0 0 0 0 0 0 0 1
    +
    +
    +
    Total # of neighbors = 708282
     Ave neighs/atom = 353.434
     Ave special neighs/atom = 2.34032
     Number of reneighborings = 42
    -Dangerous reneighborings = 2 
    -
    -

    The first section gives the breakdown of the CPU run time (in seconds) +Dangerous reneighborings = 2 +

    + +

    The first section gives the breakdown of the CPU run time (in seconds) into major categories. The second section lists the number of owned atoms (Nlocal), ghost atoms (Nghost), and pair-wise neighbors stored per processor. The max and min values give the spread of these values across processors with a 10-bin histogram showing the distribution. The total number of histogram counts is equal to the number of -processors. -

    -

    The last section gives aggregate statistics for pair-wise neighbors +processors.

    +

    The last section gives aggregate statistics for pair-wise neighbors and special neighbors that LAMMPS keeps track of (see the -special_bonds command). The number of times +special_bonds command). The number of times neighbor lists were rebuilt during the run is given as well as the -number of potentially "dangerous" rebuilds. If atom movement +number of potentially “dangerous” rebuilds. If atom movement triggered neighbor list rebuilding (see the -neigh_modify command), then dangerous +neigh_modify command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild -takes place. -

    -

    If an energy minimization was performed via the -minimize command, additional information is printed, -e.g. -

    -
    Minimization stats:
    +takes place.

    +

    If an energy minimization was performed via the +minimize command, additional information is printed, +e.g.

    +
    Minimization stats:
       E initial, next-to-last, final = -0.895962 -2.94193 -2.94342
       Gradient 2-norm init/final= 1920.78 20.9992
       Gradient inf-norm init/final= 304.283 9.61216
       Iterations = 36
    -  Force evaluations = 177 
    -
    -

    The first line lists the initial and final energy, as well as the + Force evaluations = 177 +

    + +

    The first line lists the initial and final energy, as well as the energy on the next-to-last iteration. The next 2 lines give a measure of the gradient of the energy (force on all atoms). The 2-norm is the -"length" of this force vector; the inf-norm is the largest component. +“length” of this force vector; the inf-norm is the largest component. The last 2 lines are statistics on how many iterations and force-evaluations the minimizer required. Multiple force evaluations are typically done at each iteration to perform a 1d line minimization -in the search direction. -

    -

    If a kspace_style long-range Coulombics solve was +in the search direction.

    +

    If a kspace_style long-range Coulombics solve was performed during the run (PPPM, Ewald), then additional information is -printed, e.g. -

    -
    FFT time (% of Kspce) = 0.200313 (8.34477)
    -FFT Gflps 3d 1d-only = 2.31074 9.19989 
    -
    -

    The first line gives the time spent doing 3d FFTs (4 per timestep) and +printed, e.g.

    +
    FFT time (% of Kspce) = 0.200313 (8.34477)
    +FFT Gflps 3d 1d-only = 2.31074 9.19989
    +
    +
    +

    The first line gives the time spent doing 3d FFTs (4 per timestep) and the fraction it represents of the total KSpace time (listed above). Each 3d FFT requires computation (3 sets of 1d FFTs) and communication (transposes). The total flops performed is 5Nlog_2(N), where N is the @@ -1820,45 +1803,111 @@ number of points in the 3d grid. The FFTs are timed with and without the communication and a Gflop rate is computed. The 3d rate is with communication; the 1d rate is without (just the 1d FFTs). Thus you can estimate what fraction of your FFT time was spent in -communication, roughly 75% in the example above. -

    -
    - -

    2.9 Tips for users of previous LAMMPS versions -

    -

    The current C++ began with a complete rewrite of LAMMPS 2001, which +communication, roughly 75% in the example above.

    +
    + +
    +

    2.9. Tips for users of previous LAMMPS versions¶

    +

    The current C++ began with a complete rewrite of LAMMPS 2001, which was written in F90. Features of earlier versions of LAMMPS are listed -in Section_history. The F90 and F77 versions +in Section_history. The F90 and F77 versions (2001 and 99) are also freely distributed as open-source codes; check -the LAMMPS WWW Site for distribution information if you prefer +the LAMMPS WWW Site for distribution information if you prefer those versions. The 99 and 2001 versions are no longer under active -development; they do not have all the features of C++ LAMMPS. -

    -

    If you are a previous user of LAMMPS 2001, these are the most -significant changes you will notice in C++ LAMMPS: -

    -

    (1) The names and arguments of many input script commands have +development; they do not have all the features of C++ LAMMPS.

    +

    If you are a previous user of LAMMPS 2001, these are the most +significant changes you will notice in C++ LAMMPS:

    +

    (1) The names and arguments of many input script commands have changed. All commands are now a single word (e.g. read_data instead -of read data). -

    -

    (2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, -but you may need to specify the relevant commands in different ways. -

    -

    (3) The format of the data file can be streamlined for some problems. -See the read_data command for details. The data file -section "Nonbond Coeff" has been renamed to "Pair Coeff" in C++ LAMMPS. -

    -

    (4) Binary restart files written by LAMMPS 2001 cannot be read by C++ -LAMMPS with a read_restart command. This is +of read data).

    +

    (2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, +but you may need to specify the relevant commands in different ways.

    +

    (3) The format of the data file can be streamlined for some problems. +See the read_data command for details. The data file +section “Nonbond Coeff” has been renamed to “Pair Coeff” in C++ LAMMPS.

    +

    (4) Binary restart files written by LAMMPS 2001 cannot be read by C++ +LAMMPS with a read_restart command. This is because they were output by F90 which writes in a different binary -format than C or C++ writes or reads. Use the restart2data tool +format than C or C++ writes or reads. Use the restart2data tool provided with LAMMPS 2001 to convert the 2001 restart file to a text data file. Then edit the data file as necessary before using the C++ -LAMMPS read_data command to read it in. -

    -

    (5) There are numerous small numerical changes in C++ LAMMPS that mean +LAMMPS read_data command to read it in.

    +

    (5) There are numerous small numerical changes in C++ LAMMPS that mean you will not get identical answers when comparing to a 2001 run. However, your initial thermodynamic energy and MD trajectory should be -close if you have setup the problem for both codes the same. -

    - +close if you have setup the problem for both codes the same.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Section_tools.html b/doc/Section_tools.html index a68a6138c7..519baa9db4 100644 --- a/doc/Section_tools.html +++ b/doc/Section_tools.html @@ -1,572 +1,707 @@ - -
    Previous Section - LAMMPS WWW Site - LAMMPS -Documentation - LAMMPS Commands - Next -Section -
    + + + + + + + + + 9. Additional tools — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    9. Additional tools -

    -

    LAMMPS is designed to be a computational kernel for performing + +

    +
    +
    + +
    + + + +
    +
    +
    + +
    +

    9. Additional tools¶

    +

    LAMMPS is designed to be a computational kernel for performing molecular dynamics computations. Additional pre- and post-processing steps are often necessary to setup and analyze a simulation. A few additional tools are provided with the LAMMPS distribution and are -described in this section. -

    -

    Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, +described in this section.

    +

    Our group has also written and released a separate toolkit called +Pizza.py which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the -Pizza.py WWW site. -

    - - - - -

    Note that many users write their own setup or analysis tools or use +written in Python and is available for download from the Pizza.py WWW site.

    +

    Note that many users write their own setup or analysis tools or use other existing codes and convert their output to a LAMMPS input format or vice versa. The tools listed here are included in the LAMMPS distribution as examples of auxiliary tools. Some of them are not actively supported by Sandia, as they were contributed by LAMMPS users. If you have problems using them, we can direct you to the -authors. -

    -

    The source code for each of these codes is in the tools sub-directory +authors.

    +

    The source code for each of these codes is in the tools sub-directory of the LAMMPS distribution. There is a Makefile (which you may need to edit for your platform) which will build several of the tools which reside in that directory. Some of them are larger packages in their -own sub-directories with their own Makefiles. -

    - -
    - -

    amber2lmp tool -

    -

    The amber2lmp sub-directory contains two Python scripts for converting +own sub-directories with their own Makefiles.

    + +
    +
    +

    9.1. amber2lmp tool¶

    +

    The amber2lmp sub-directory contains two Python scripts for converting files back-and-forth between the AMBER MD code and LAMMPS. See the -README file in amber2lmp for more information. -

    -

    These tools were written by Keir Novik while he was at Queen Mary +README file in amber2lmp for more information.

    +

    These tools were written by Keir Novik while he was at Queen Mary University of London. Keir is no longer there and cannot support these tools which are out-of-date with respect to the current LAMMPS -version (and maybe with respect to AMBER as well). Since we don't use -these tools at Sandia, you'll need to experiment with them and make -necessary modifications yourself. -

    -
    - -

    binary2txt tool -

    -

    The file binary2txt.cpp converts one or more binary LAMMPS dump file -into ASCII text files. The syntax for running the tool is -

    -
    binary2txt file1 file2 ... 
    -
    -

    which creates file1.txt, file2.txt, etc. This tool must be compiled +version (and maybe with respect to AMBER as well). Since we don’t use +these tools at Sandia, you’ll need to experiment with them and make +necessary modifications yourself.

    +
    +
    +
    +

    9.2. binary2txt tool¶

    +

    The file binary2txt.cpp converts one or more binary LAMMPS dump file +into ASCII text files. The syntax for running the tool is

    +
    binary2txt file1 file2 ...
    +
    +
    +

    which creates file1.txt, file2.txt, etc. This tool must be compiled on a platform that can read the binary file created by a LAMMPS run, -since binary files are not compatible across all platforms. -

    -
    - -

    ch2lmp tool -

    -

    The ch2lmp sub-directory contains tools for converting files -back-and-forth between the CHARMM MD code and LAMMPS. -

    -

    They are intended to make it easy to use CHARMM as a builder and as a +since binary files are not compatible across all platforms.

    +
    +
    +
    +

    9.3. ch2lmp tool¶

    +

    The ch2lmp sub-directory contains tools for converting files +back-and-forth between the CHARMM MD code and LAMMPS.

    +

    They are intended to make it easy to use CHARMM as a builder and as a post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an ensemble built in CHARMM into its LAMMPS equivalent. Using -lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files. -

    -

    See the README file in the ch2lmp sub-directory for more information. -

    -

    These tools were created by Pieter in't Veld (pjintve at sandia.gov) -and Paul Crozier (pscrozi at sandia.gov) at Sandia. -

    -
    - -

    chain tool -

    -

    The file chain.f creates a LAMMPS data file containing bead-spring +lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files.

    +

    See the README file in the ch2lmp sub-directory for more information.

    +

    These tools were created by Pieter in’t Veld (pjintve at sandia.gov) +and Paul Crozier (pscrozi at sandia.gov) at Sandia.

    +
    +
    +
    +

    9.4. chain tool¶

    +

    The file chain.f creates a LAMMPS data file containing bead-spring polymer chains and/or monomer solvent atoms. It uses a text file containing chain definition parameters as an input. The created chains and solvent atoms can strongly overlap, so LAMMPS needs to run -the system initially with a "soft" pair potential to un-overlap it. -The syntax for running the tool is -

    -
    chain < def.chain > data.file 
    -
    -

    See the def.chain or def.chain.ab files in the tools directory for +the system initially with a “soft” pair potential to un-overlap it. +The syntax for running the tool is

    +
    chain < def.chain > data.file
    +
    +
    +

    See the def.chain or def.chain.ab files in the tools directory for examples of definition files. This tool was used to create the -system for the chain benchmark. -

    -
    - -

    colvars tools -

    -

    The colvars directory contains a collection of tools for postprocessing +system for the chain benchmark.

    +
    +
    +
    +

    9.5. colvars tools¶

    +

    The colvars directory contains a collection of tools for postprocessing data produced by the colvars collective variable library. -To compile the tools, edit the makefile for your system and run "make". -

    -

    Please report problems and issues the colvars library and its tools -at: https://github.com/colvars/colvars/issues -

    -

    abf_integrate: -

    -

    MC-based integration of multidimensional free energy gradient -Version 20110511 -

    -
    Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] 
    -
    -

    The LAMMPS interface to the colvars collective variable library, as +To compile the tools, edit the makefile for your system and run “make”.

    +

    Please report problems and issues the colvars library and its tools +at: https://github.com/colvars/colvars/issues

    +

    abf_integrate:

    +

    MC-based integration of multidimensional free energy gradient +Version 20110511

    +
    Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >]
    +
    +
    +

    The LAMMPS interface to the colvars collective variable library, as well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy. -

    -
    - -

    createatoms tool -

    -

    The tools/createatoms directory contains a Fortran program called +gmail.com) at ICTP, Italy.

    +
    +
    +
    +

    9.6. createatoms tool¶

    +

    The tools/createatoms directory contains a Fortran program called createAtoms.f which can generate a variety of interesting crystal structures and geometries and output the resulting list of atom -coordinates in LAMMPS or other formats. -

    -

    See the included Manual.pdf for details. -

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. -

    -
    - -

    data2xmovie tool -

    -

    The file data2xmovie.c converts a LAMMPS data file into a snapshot -suitable for visualizing with the xmovie tool, as if it had +coordinates in LAMMPS or other formats.

    +

    See the included Manual.pdf for details.

    +

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.

    +
    +
    +
    +

    9.7. data2xmovie tool¶

    +

    The file data2xmovie.c converts a LAMMPS data file into a snapshot +suitable for visualizing with the xmovie tool, as if it had been output with a dump command from LAMMPS itself. The syntax for -running the tool is -

    -
    data2xmovie [options] < infile > outfile 
    -
    -

    See the top of the data2xmovie.c file for a discussion of the options. -

    -
    - -

    eam database tool -

    -

    The tools/eam_database directory contains a Fortran program that will +running the tool is

    +
    data2xmovie [options] < infile > outfile
    +
    +
    +

    See the top of the data2xmovie.c file for a discussion of the options.

    +
    +
    +
    +

    9.8. eam database tool¶

    +

    The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the pair_style -eam/alloy command. -

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, -and is based on his paper: -

    -

    X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, -144113 (2004). -

    -
    - -

    eam generate tool -

    -

    The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated embedded atom -method (EAM) setfl potential file. The potentials they +Zr. The files can then be used with the pair_style eam/alloy command.

    +

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, +and is based on his paper:

    +

    X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, +144113 (2004).

    +
    +
    +
    +

    9.9. eam generate tool¶

    +

    The tools/eam_generate directory contains several one-file C programs +that convert an analytic formula into a tabulated embedded atom method (EAM) setfl potential file. The potentials they produce are in the potentials directory, and can be used with the -pair_style eam/alloy command. -

    -

    The source files and potentials were provided by Gerolf Ziegenhain -(gerolf at ziegenhain.com). -

    -
    - -

    eff tool -

    -

    The tools/eff directory contains various scripts for generating +pair_style eam/alloy command.

    +

    The source files and potentials were provided by Gerolf Ziegenhain +(gerolf at ziegenhain.com).

    +
    +
    +
    +

    9.10. eff tool¶

    +

    The tools/eff directory contains various scripts for generating structures and post-processing output for simulations using the -electron force field (eFF). -

    -

    These tools were provided by Andres Jaramillo-Botero at CalTech -(ajaramil at wag.caltech.edu). -

    -
    - -

    emacs tool -

    -

    The tools/emacs directory contains a Lips add-on file for Emacs that +electron force field (eFF).

    +

    These tools were provided by Andres Jaramillo-Botero at CalTech +(ajaramil at wag.caltech.edu).

    +
    +
    +
    +

    9.11. emacs tool¶

    +

    The tools/emacs directory contains a Lips add-on file for Emacs that enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup. -

    -

    These tools were provided by Aidan Thompson at Sandia -(athomps at sandia.gov). -

    -
    - -

    fep tool -

    -

    The tools/fep directory contains Python scripts useful for +with various highlighting options setup.

    +

    These tools were provided by Aidan Thompson at Sandia +(athomps at sandia.gov).

    +
    +
    +
    +

    9.12. fep tool¶

    +

    The tools/fep directory contains Python scripts useful for post-processing results from performing free-energy perturbation -simulations using the USER-FEP package. -

    -

    The scripts were contributed by Agilio Padua (Universite Blaise -Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. -

    -

    See README file in the tools/fep directory. -

    -
    - -

    i-pi tool -

    -

    The tools/i-pi directory contains a version of the i-PI package, with +simulations using the USER-FEP package.

    +

    The scripts were contributed by Agilio Padua (Universite Blaise +Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr.

    +

    See README file in the tools/fep directory.

    +
    +
    +
    +

    9.13. i-pi tool¶

    +

    The tools/i-pi directory contains a version of the i-PI package, with all the LAMMPS-unrelated files removed. It is provided so that it can -be used with the fix ipi command to perform -path-integral molecular dynamics (PIMD). -

    -

    The i-PI package was created and is maintained by Michele Ceriotti, +be used with the fix ipi command to perform +path-integral molecular dynamics (PIMD).

    +

    The i-PI package was created and is maintained by Michele Ceriotti, michele.ceriotti at gmail.com, to interface to a variety of molecular -dynamics codes. -

    -

    See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -fix ipi doc page for further details on running PIMD -calculations with LAMMPS. -

    -
    - -

    ipp tool -

    -

    The tools/ipp directory contains a Perl script ipp which can be used +dynamics codes.

    +

    See the tools/i-pi/manual.pdf file for an overview of i-PI, and the +fix ipi doc page for further details on running PIMD +calculations with LAMMPS.

    +
    +
    +
    +

    9.14. ipp tool¶

    +

    The tools/ipp directory contains a Perl script ipp which can be used to facilitate the creation of a complicated file (say, a lammps input -script or tools/createatoms input file) using a template file. -

    -

    ipp was created and is maintained by Reese Jones (Sandia), rjones at -sandia.gov. -

    -

    See two examples in the tools/ipp directory. One of them is for the -tools/createatoms tool's input file. -

    -
    - -

    kate tool -

    -

    The file in the tools/kate directory is an add-on to the Kate editor +script or tools/createatoms input file) using a template file.

    +

    ipp was created and is maintained by Reese Jones (Sandia), rjones at +sandia.gov.

    +

    See two examples in the tools/ipp directory. One of them is for the +tools/createatoms tool’s input file.

    +
    +
    +
    +

    9.15. kate tool¶

    +

    The file in the tools/kate directory is an add-on to the Kate editor in the KDE suite that allow syntax highlighting of LAMMPS input -scripts. See the README.txt file for details. -

    -

    The file was provided by Alessandro Luigi Sellerio -(alessandro.sellerio at ieni.cnr.it). -

    -
    - -

    lmp2arc tool -

    -

    The lmp2arc sub-directory contains a tool for converting LAMMPS output -files to the format for Accelrys' Insight MD code (formerly +scripts. See the README.txt file for details.

    +

    The file was provided by Alessandro Luigi Sellerio +(alessandro.sellerio at ieni.cnr.it).

    +
    +
    +
    +

    9.16. lmp2arc tool¶

    +

    The lmp2arc sub-directory contains a tool for converting LAMMPS output +files to the format for Accelrys’ Insight MD code (formerly MSI/Biosym and its Discover MD code). See the README file for more -information. -

    -

    This tool was written by John Carpenter (Cray), Michael Peachey +information.

    +

    This tool was written by John Carpenter (Cray), Michael Peachey (Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool. -

    -

    This tool was updated for the current LAMMPS C++ version by Jeff -Greathouse at Sandia (jagreat at sandia.gov). -

    -
    - -

    lmp2cfg tool -

    -

    The lmp2cfg sub-directory contains a tool for converting LAMMPS output -files into a series of *.cfg files which can be read into the -AtomEye visualizer. See -the README file for more information. -

    -

    This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). -

    -
    - -

    lmp2vmd tool -

    -

    The lmp2vmd sub-directory contains a README.txt file that describes -details of scripts and plugin support within the VMD -package for visualizing LAMMPS -dump files. -

    -

    The VMD plugins and other supporting scripts were written by Axel -Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn. -

    -
    - -

    matlab tool -

    -

    The matlab sub-directory contains several MATLAB scripts for +(jec at mayo.edu), but still fields questions about the tool.

    +

    This tool was updated for the current LAMMPS C++ version by Jeff +Greathouse at Sandia (jagreat at sandia.gov).

    +
    +
    +
    +

    9.17. lmp2cfg tool¶

    +

    The lmp2cfg sub-directory contains a tool for converting LAMMPS output +files into a series of *.cfg files which can be read into the +AtomEye visualizer. See +the README file for more information.

    +

    This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).

    +
    +
    +
    +

    9.18. lmp2vmd tool¶

    +

    The lmp2vmd sub-directory contains a README.txt file that describes +details of scripts and plugin support within the VMD package for visualizing LAMMPS +dump files.

    +

    The VMD plugins and other supporting scripts were written by Axel +Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.

    +
    +
    +
    +

    9.19. matlab tool¶

    +

    The matlab sub-directory contains several MATLAB scripts for post-processing LAMMPS output. The scripts include readers for log and dump files, a reader for EAM potential files, and a converter that reads LAMMPS dump files and produces CFG files that can be visualized -with the AtomEye -visualizer. -

    -

    See the README.pdf file for more information. -

    -

    These scripts were written by Arun Subramaniyan at Purdue Univ -(asubrama at purdue.edu). -

    - - -
    - -

    micelle2d tool -

    -

    The file micelle2d.f creates a LAMMPS data file containing short lipid +with the AtomEye +visualizer.

    +

    See the README.pdf file for more information.

    +

    These scripts were written by Arun Subramaniyan at Purdue Univ +(asubrama at purdue.edu).

    +
    +
    +
    +

    9.20. micelle2d tool¶

    +

    The file micelle2d.f creates a LAMMPS data file containing short lipid chains in a monomer solution. It uses a text file containing lipid definition parameters as an input. The created molecules and solvent atoms can strongly overlap, so LAMMPS needs to run the system -initially with a "soft" pair potential to un-overlap it. The syntax -for running the tool is -

    -
    micelle2d < def.micelle2d > data.file 
    -
    -

    See the def.micelle2d file in the tools directory for an example of a +initially with a “soft” pair potential to un-overlap it. The syntax +for running the tool is

    +
    micelle2d < def.micelle2d > data.file
    +
    +
    +

    See the def.micelle2d file in the tools directory for an example of a definition file. This tool was used to create the system for the -micelle example. -

    -
    - -

    moltemplate tool -

    -

    The moltemplate sub-directory contains a Python-based tool for +micelle example.

    +
    +
    +
    +

    9.21. moltemplate tool¶

    +

    The moltemplate sub-directory contains a Python-based tool for building molecular systems based on a text-file description, and creating LAMMPS data files that encode their molecular topology as lists of bonds, angles, dihedrals, etc. See the README.TXT file for -more information. -

    -

    This tool was written by Andrew Jewett (jewett.aij at gmail.com), who +more information.

    +

    This tool was written by Andrew Jewett (jewett.aij at gmail.com), who supports it. It has its own WWW page at -http://moltemplate.org. -

    -
    - -

    msi2lmp tool -

    -

    The msi2lmp sub-directory contains a tool for creating LAMMPS input -data files from Accelrys' Insight MD code (formerly MSI/Biosym and -its Discover MD code). See the README file for more information. -

    -

    This tool was written by John Carpenter (Cray), Michael Peachey +http://moltemplate.org.

    +
    +
    +
    +

    9.22. msi2lmp tool¶

    +

    The msi2lmp sub-directory contains a tool for creating LAMMPS input +data files from Accelrys’ Insight MD code (formerly MSI/Biosym and +its Discover MD code). See the README file for more information.

    +

    This tool was written by John Carpenter (Cray), Michael Peachey (Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool. -

    -

    This tool may be out-of-date with respect to the current LAMMPS and -Insight versions. Since we don't use it at Sandia, you'll need to -experiment with it yourself. -

    -
    - -

    phonon tool -

    -

    The phonon sub-directory contains a post-processing tool useful for -analyzing the output of the fix phonon command in -the USER-PHONON package. -

    -

    See the README file for instruction on building the tool and what +(jec at mayo.edu), but still fields questions about the tool.

    +

    This tool may be out-of-date with respect to the current LAMMPS and +Insight versions. Since we don’t use it at Sandia, you’ll need to +experiment with it yourself.

    +
    +
    +
    +

    9.23. phonon tool¶

    +

    The phonon sub-directory contains a post-processing tool useful for +analyzing the output of the fix phonon command in +the USER-PHONON package.

    +

    See the README file for instruction on building the tool and what library it needs. And see the examples/USER/phonon directory -for example problems that can be post-processed with this tool. -

    -

    This tool was written by Ling-Ti Kong at Shanghai Jiao Tong -University. -

    -
    - -

    polymer bonding tool -

    -

    The polybond sub-directory contains a Python-based tool useful for -performing "programmable polymer bonding". The Python file -lmpsdata.py provides a "Lmpsdata" class with various methods which can +for example problems that can be post-processed with this tool.

    +

    This tool was written by Ling-Ti Kong at Shanghai Jiao Tong +University.

    +
    +
    +
    +

    9.24. polymer bonding tool¶

    +

    The polybond sub-directory contains a Python-based tool useful for +performing “programmable polymer bonding”. The Python file +lmpsdata.py provides a “Lmpsdata” class with various methods which can be invoked by a user-written Python script to create data files with -complex bonding topologies. -

    -

    See the Manual.pdf for details and example scripts. -

    -

    This tool was written by Zachary Kraus at Georgia Tech. -

    -
    - -

    pymol_asphere tool -

    -

    The pymol_asphere sub-directory contains a tool for converting a +complex bonding topologies.

    +

    See the Manual.pdf for details and example scripts.

    +

    This tool was written by Zachary Kraus at Georgia Tech.

    +
    +
    +
    +

    9.25. pymol_asphere tool¶

    +

    The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal -particles into an input file for the PyMol visualization -package. -

    - - -

    Specifically, the tool triangulates the ellipsoids so they can be +particles into an input file for the PyMol visualization package.

    +

    Specifically, the tool triangulates the ellipsoids so they can be viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol_asphere for more information. -

    -

    This tool was written by Mike Brown at Sandia. -

    -
    - -

    python tool -

    -

    The python sub-directory contains several Python scripts -that perform common LAMMPS post-processing tasks, such as: -

    -
    • extract thermodynamic info from a log file as columns of numbers -
    • plot two columns of thermodynamic info from a log file using GnuPlot -
    • sort the snapshots in a dump file by atom ID -
    • convert multiple NEB dump files into one dump file for viz -
    • convert dump files into XYZ, CFG, or PDB format for viz by other packages -
    -

    These are simple scripts built on Pizza.py modules. See the -README for more info on Pizza.py and how to use these scripts. -

    -
    - -

    reax tool -

    -

    The reax sub-directory contains stand-alond codes that can -post-process the output of the fix reax/bonds -command from a LAMMPS simulation using ReaxFF. See -the README.txt file for more info. -

    -

    These tools were written by Aidan Thompson at Sandia. -

    -
    - -

    restart2data tool -

    -

    IMPORTANT NOTE: This tool is now obsolete and is not included in the +examples directory within pymol_asphere for more information.

    +

    This tool was written by Mike Brown at Sandia.

    +
    +
    +
    +

    9.26. python tool¶

    +

    The python sub-directory contains several Python scripts +that perform common LAMMPS post-processing tasks, such as:

    +
      +
    • extract thermodynamic info from a log file as columns of numbers
    • +
    • plot two columns of thermodynamic info from a log file using GnuPlot
    • +
    • sort the snapshots in a dump file by atom ID
    • +
    • convert multiple NEB dump files into one dump file for viz
    • +
    • convert dump files into XYZ, CFG, or PDB format for viz by other packages
    • +
    +

    These are simple scripts built on Pizza.py modules. See the +README for more info on Pizza.py and how to use these scripts.

    +
    +
    +
    +

    9.27. reax tool¶

    +

    The reax sub-directory contains stand-alond codes that can +post-process the output of the fix reax/bonds +command from a LAMMPS simulation using ReaxFF. See +the README.txt file for more info.

    +

    These tools were written by Aidan Thompson at Sandia.

    +
    +
    +
    +

    9.28. restart2data tool¶

    +
    +

    Warning

    +

    This tool is now obsolete and is not included in the current LAMMPS distribution. This is becaues there is now a -write_data command, which can create a data file -from within an input script. Running LAMMPS with the "-r" -command-line switch as follows: -

    -

    lmp_g++ -r restartfile datafile -

    -

    is the same as running a 2-line input script: -

    -

    read_restart restartfile -write_data datafile -

    -

    which will produce the same data file that the restart2data tool used +write_data command, which can create a data file +from within an input script. Running LAMMPS with the “-r” +command-line switch as follows:

    +
    +

    lmp_g++ -r restartfile datafile

    +

    is the same as running a 2-line input script:

    +

    read_restart restartfile +write_data datafile

    +

    which will produce the same data file that the restart2data tool used to create. The following information is included in case you have an -older version of LAMMPS which still includes the restart2data tool. -

    -

    The file restart2data.cpp converts a binary LAMMPS restart file into -an ASCII data file. The syntax for running the tool is -

    -
    restart2data restart-file data-file (input-file) 
    -
    -

    Input-file is optional and if specified will contain LAMMPS input +older version of LAMMPS which still includes the restart2data tool.

    +

    The file restart2data.cpp converts a binary LAMMPS restart file into +an ASCII data file. The syntax for running the tool is

    +
    restart2data restart-file data-file (input-file)
    +
    +
    +

    Input-file is optional and if specified will contain LAMMPS input commands for the masses and force field parameters, instead of putting those in the data-file. Only a few force field styles currently -support this option. -

    -

    This tool must be compiled on a platform that can read the binary file +support this option.

    +

    This tool must be compiled on a platform that can read the binary file created by a LAMMPS run, since binary files are not compatible across -all platforms. -

    -

    Note that a text data file has less precision than a binary restart +all platforms.

    +

    Note that a text data file has less precision than a binary restart file. Hence, continuing a run from a converted data file will typically not conform as closely to a previous run as will restarting -from a binary restart file. -

    -

    If a "%" appears in the specified restart-file, the tool expects a set -of multiple files to exist. See the restart and -write_restart commands for info on how such sets -of files are written by LAMMPS, and how the files are named. -

    -
    - -

    vim tool -

    -

    The files in the tools/vim directory are add-ons to the VIM editor +from a binary restart file.

    +

    If a “%” appears in the specified restart-file, the tool expects a set +of multiple files to exist. See the restart and +write_restart commands for info on how such sets +of files are written by LAMMPS, and how the files are named.

    +
    +
    +
    +

    9.29. vim tool¶

    +

    The files in the tools/vim directory are add-ons to the VIM editor that allow easier editing of LAMMPS input scripts. See the README.txt -file for details. -

    -

    These files were provided by Gerolf Ziegenhain (gerolf at -ziegenhain.com) -

    -
    - -

    xmgrace tool -

    -

    The files in the tools/xmgrace directory can be used to plot the +file for details.

    +

    These files were provided by Gerolf Ziegenhain (gerolf at +ziegenhain.com)

    +
    +
    +
    +

    9.30. xmgrace tool¶

    +

    The files in the tools/xmgrace directory can be used to plot the thermodynamic data in LAMMPS log files via the xmgrace plotting package. There are several tools in the directory that can be used in post-processing mode. The lammpsplot.cpp file can be compiled and used to create plots from the current state of a running LAMMPS -simulation. -

    -

    See the README file for details. -

    -

    These files were provided by Vikas Varshney (vv0210 at gmail.com) -

    -
    - -

    xmovie tool -

    -

    The xmovie tool is an X-based visualization package that can read +simulation.

    +

    See the README file for details.

    +

    These files were provided by Vikas Varshney (vv0210 at gmail.com)

    +
    +
    +
    +

    9.31. xmovie tool¶

    +

    The xmovie tool is an X-based visualization package that can read LAMMPS dump files and animate them. It is in its own sub-directory with the tools directory. You may need to modify its Makefile so that -it can find the appropriate X libraries to link against. -

    -

    The syntax for running xmovie is -

    -
    xmovie [options] dump.file1 dump.file2 ... 
    -
    -

    If you just type "xmovie" you will see a list of options. Note that +it can find the appropriate X libraries to link against.

    +

    The syntax for running xmovie is

    +
    xmovie [options] dump.file1 dump.file2 ...
    +
    +
    +

    If you just type “xmovie” you will see a list of options. Note that by default, LAMMPS dump files are in scaled coordinates, so you typically need to use the -scale option with xmovie. When xmovie runs it opens a visualization window and a control window. The control -options are straightforward to use. -

    -

    Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he +options are straightforward to use.

    +

    Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he spent a summer at Sandia. It displays 2d projections of a 3d domain. While simple in design, it is an amazingly fast program that can -render large numbers of atoms very quickly. It's a useful tool for +render large numbers of atoms very quickly. It’s a useful tool for debugging LAMMPS input and output and making sure your simulation is doing what you think it should. The animations on the Examples page -of the LAMMPS WWW site were created with xmovie. -

    -

    I've lost contact with Mike, so I hope he's comfortable with us -distributing his great tool! -

    - +of the LAMMPS WWW site were created with xmovie.

    +

    I’ve lost contact with Mike, so I hope he’s comfortable with us +distributing his great tool!

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_images/polymorphic1.jpg b/doc/_images/polymorphic1.jpg index dd609ea6b0b62ddf326a65d42282bb295c01a4c5..4757cb7ad8d14a06a5d3eba914fce459758a59e0 100644 GIT binary patch literal 9186 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�- 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 B!w>)f literal 613610 zcmcG#bzD?W`1pH}R73$qR1~nVP(UdYPy|6mLO?8}K{}T0?(TqHc7cTjmhO@c18gy{ zyIZm09{qg2bzk56`rSY7o#mV}%*^}D^UTbdc;=j`8&hwln+7JP=cH#Rrf1l0T<-|D z@9^8F`({RPTy}a2Bqu374FH{~&J6IZ1L*w6^-n52lleXeZGBVHqoY!6_a-GI<|L&h z*m|WUq{RJU^uWXVZ@LBM|CP=wB_}Bd68k?>=zcN|%t}hjvGqxbO2`Je>3?qU$Lai) zM{mZgo#`3ytUr1DP4iFG-?){gbN!<-qSE5B<81%uO@J97{*RmXSF10UJJVCrvut-q zrNrl?r^VTZ#O3^v`A?3!0f+c_FntPmHuwwa{2Nk~m;aw38^9PH;1GEJk2EfSL)QIQ z$lsj4{hQN)tf;i?__(b9o>K+@O#QD;_c?f%{~zN1)`5|MFC-~8?vJW~DR_V-GtKj# z1Nf(mtxZCM_u8iC#${#woA6H!{u8&*AS5Lz<{vr%4E#s?KhXei6aaLs!K*H?3&;eV zK;M6q`k&bUaQ`jrZ)%YGKe@kh&$Zke1qTbz&)e2FE-fxADhI5<9Z}hT8qgp4{?@GC zOpAaxsBL&sT5LKr+x9>rBsDrMDk%j3^o3xWKY4?t4w!)6KmafU_1A|2^8uZy8&mfI zQ-2>nA3$fC4%h~EgXRAgnB^6l9vuh7;y^}c>J~r(W*Qk8O*fi3efmr@;~Bi#B|my)48)|&6@k?G;8iZh}r*}8%*^A zW=5a_8M-=4foWzsx@J04cfbNLoEp^e0HxH|`RhP||2SPx9X)*mL!;?4jKPQYe@5y6 z({%qM(iG6q)6t!#H%;Hrz(`+r=0-5mOjmD-xs$$EP}H2InfMI`bNNN}JC-fC2=0sC z=$u8kw9{~fAmsgn4>8#;^NJgYcHY7RvAg=!Ij)wMLm$R{Y$Od_fjs);vr<$-ZW0e( zef+t!d1&m(m$3L;ibT^geC_Fkn{RjmlqxN2J$3!rS2JMRG*DW-zcLvb=)3$CVTqHu z9w&Gu8pRSfX+1$Ft`fQi7y64=_>z?h$ z%Fh!glodaBjH7)I(>s!}%@?PD`X4Dd3=;Vd(jUV;B0)B)`>maZ=f{ z2)pbdciBz}tygPrg;)N1!kvV~+_elCI?il2z z&CZLzr+`aejxL+gUWC3EzBgL7%@0T)f{tXSB${Efn3naml#} z#x4FtdgwI+Mr+K~cfWKJw@monytSQMH1k$#+PThKFMKYfU5K2_cmHW~v!M0LPiGI5 z&uJ;*R?o&4>0g3Fyub8C?v01EwWd2aJPRI{dcl*o*@X4&L*97y^Y{KeF&=*Dnxe>v z)OPpW>z%J}x?j7QodeapoIL;GB?39o(Q+>?_vf{0rAqTIY@7R*ujs|~Z|`(|3PpL` z9RJO|{Pe=pM+H+rRpu06^6R00R^;`XPEAm9Z-39~8y7yGk*__~{jvhm!dz%|STW){ z1uUC%`+Op@HEaFzn+xn}8@|lUIN~&YeWnW{VBPJfjaSQ7UQJNPY%j1J`*mjuD6S0# z>#elAR{b(Hy|y#$P2&%TF!U`b)~$V8&+(tTzjS#trCLFK-gMq-RQ;@fF$G)?4hii# zI>Eg#Hof0zaw76MPA>K@}m{a{*rvIa~?&M&C{W(;J}|L)ZN# zw!8~}{d1emmAAL7DX%c9UxpPE++SuZJf?2`Go~zA7#5e64Nfp@W71PIqH>a=lTwm$ z;I>I=@#%j$u~6{P`O|gJ2E2e+ARUMX;s9G95J&|5IpC4~*Y~GmpYwl6VGFnd>jB3< zH~c4WgPHz;yL@efAW?s^1j7MCzzEC?>;9Mc|CaQB_09lC?ieuU7kK2vfI@(p{84-@G$-SaUjh2(dTrPNs;E;30L2ENADpZF zrym@Z)op*mcWm%-1ax-wg5zcr=yw8iF**PGHvsyrtN!>CqEd4J!*{mutm1qHTAkN9DxD+O7%--ygWzHuuk@=>JQX69)rz0)YRT@@;T*bhQ0DDBFg> zvvcB7v+ZsD(qh&Fz`=+^w*Tba49?0J%|#l2x&NQCiGs|#6gpY zWrsE&4muKl6n2aeDL-Bv)g65y=6>vl_-P5|iOZ5Up4gEboN_ERAuTfw*s;P9x8u&ZEy^MzJHfGx$@4A!0wNhuleNr8d%P=oO3-rjjLN^EnhQ zl9$1c6&w`q6?uv`O6;TyWHV(`c^~s1%daU;7j!DCRjNWx5vurvI=p08=|+uh*{rf( zrP3Fx&^P86O*3)gx?dlF*C+1{wS46jOk4x{; zKGVL*{?`NJgQtd?ht;R}r!i+z&PI%QkFGyA|GdumR~N=Ec3&#H%)0`=8a3v3&FT95 z8^DdHH_weX+>+f!--*8Kd(Zy9>HW_SZanOKqdpOS@oC;u%Nz4Y7hGF- z*XqHd2aE4n-?F)8duhqY(!pij%iC5o+SRPouF|Y7UQ@VMX|Q-Sm^bzo8h+(-i^3_=+WV4M_wL%bL>Opm*d}}e#HQ>x^X&jQ}MqN zek6WN`f}n^^81vxsjt$Wr$5Pfka;(2Jo{SCImke6JG2&73YQ~zNHPk6PRGPz590RW zy$CME)ucsaQ}QI`4fPi7EWM4PVTxHqb|&XIH-NW|Z!fSC&Jg|(y%67&oRN0O%JPKy zIC-k#P{D4ct7=8z+#DLq>~(lXj} z?)3S~7j9pCdg;UEpH~gW%&%ErUvtClruTTztz);7@4)X;?uqUz9uz+;e^mXr;YrKW zj%QuZdtVH^y!z_N>o0Hh-kHC*{b2vm{nO6R0be2}V!odEmi9gUN6OFGUtzz!Cmp6N z|J469ecc=Si3Y<)2Gcjp2sVzJnPmc-g_w;nMVP_OA#*b3CR!Yu7i_s}zT1M;3!SaD zE%IFKVZGVL+17r^vZV`_&0emz{QHWxc8^xxST(x3Z%xbEN_*8h;d-hA$}z(!c0DkuC8m{mblN`WV{*JJhA1?)<@fJZNK6%;yLKmwWD=sgLl;~jZcxUVz<;!o~ z*~{F=2%zt$1=51(!L$(C0a_?6j2_N7$c$hg;vVK75gwHslY#w0L6j=GFs3M09aj>s zNhnJ!PpUYfP1dGVrdFm^rdMWEWR_=@W~*}wAqBa4P%(@TXCbIa0t$uB#iV1Ca8dX} zgdpN>(sr^7Wi53H&5}NoF^%z+`G)n7eS>q3JHTt_*9uC73Xwoem*Au@Sw`N8{22K$ zMMOcUGFTN@xW8zBaiBW5B(yX_6Im8to>l?V5-K@Wit5Um&f3wsd-b0hr#IO)ySD_j zrnFJpOFH^HA9U$-FX`FY8`nqe*AAQ?{4i{BYSZasX9#CCBWFk7oHxC&;o^ZyIhRFO z8m?X#dv)F5hV@O?@x8aAZs**g-j&@eyWjYr`{Aia=N?~ra{1}SXQR&tUv#{zdL@5N zeUtw7;JYL54}S>zxcAex&uhMzf0>xL_Ou^m>m8JiEGPJe zgpHxj-Yy$lm%5p`>$rc|^l^j)^w($Cm$ z%Ky`z=X-DOyBILEzdf)zs3=$rwgW_HYFK1=(7~M%E{E(6&p$H#$d9A1j@^zNJ>C^n z6)lgU$HL;`;}0b4NOVlHK4E;~Tk?~X%ct3p0x%i}$NNN*qg?lB?vLqSTX}u&jqIE9@xfc~?kv3Pb1(aT z(Sr+*raj*GB=707=dLd(FK@hF`v&*+`g^AjypQib@B5eej@oY>uz2WRF%zoP3`t6t_lqRVIhCr61gqUtp$MF}~*~HH~0jz`wTU?BLOuY9) zjb0%&dbk_CNaS?pAbJHKQF|V}hifgqhNiGhkOAoH%&n147&kiIYXs9vTenCLdx2*5 ztp{aUTz8*$VBPs%OhUG-732wss#Pw!xKm4{@d{GxsvmyUg@(4YIe`ar;cv7S(La zMJPjV;itv$OP5cNe}Ffgjq3Mmn(Zv?d!({7j@p%qEr-4YzJ0 zwh`{n`%Z?EbYJ|WWC*`q2_ZxIkdvk)1$RNoT;dn@944IzVTNUe5-sUt;ZuYgG}IP* z!YiuCf<{78%by36vz6a2HIRsMd$QG#E@n-N1wk&TwJHy+Dr)6zAV(ow`HRRl!`p+$f{--J+p#=F+sqddo5si;eH!U;>>95{lD zE4<-$2bZHfXm$Xv%WQqLnz(#aJX%X|9oo_?!^d^+RO;f+wvJGyLaE#xD=-E!vMm?8=WKL_@@^Gng;Q6PDd5E;Bxxrk^^w&9f*`M?7gOQ zAzQH>b-P_JVNaHtny$fqX1u+#RS<=eol52*P&@0xI1MP%{8Q|OC^Mpz*^2T@Rx${v z`d|p1hTh=Hp|8Z~m~CKQ!`{8+!(T@k8P@0SAd~9Wu!*GfyawhkB9B01R1-d)VA0tG zTF^0?n&9bzp!pGwo9Z!SM9R%Z9>8BdSio7zc~kS76~nqG!!bTE?eL-WMtVci37Uq6 z3iPLrP;;Ggsc@?PtRM6+O6LtLP!=EEvLJHgmq1{F2YuBpAy52+=pBk>0* zW%BWT&Ez|>?;GsN4C%+2<&-@%?o}RpV`piPfSJ&uU-6ONU#Agv(+*dbpl47W%Z%cb z6xZTs`(~0ORkcn9Wa9#lnbu?}&FPAoH8OmvyOF8e>sK+4eyn4z;2HIElOJjaWwcf= zc7l9c3*Ad4>zBnjEhiNhZ8okU>rtOxzR$|K9NzVlQFr!3`BA#bzypC3RoxYWETAA- zQL#y6X2YqyCZw*K1jkm=k;3=Jp(GBqV)Uo{Bl2*YFwYmcL_HyCLr&-16&**~!7T*4 zkg(_^UL5kfe->vPC3J}4xS%mJFgzP<@5tu-hos-F@v>#aXKEdB9^n`Jhj1TZ4{R-e zC;mnhiVMN#`(fB$@%Z&{b~ygg^a~t0(df*TynCGLmPOJPtp1`WA{pZw>w(}foeo{X zJ4QQjoXAm9kL{MR*H8-Am9bcqg6S@7U-I+Q<+5ioPSYdFHu3qwGGUj{nc2zD;=Re$ z*sinF&0+sSc9S`DLM@2(eg+mT^^+u5eV&~;zYzg$tBey#4h4o zg%Khvtsu`GaW%qT(twQJ5h5x^%~<(K_zCq}PbZtv_S9Rl&A3+wW5oTq^IinuN!+cK&O&26L@!aGOUUn_sb8`B%Pk8NnL6U-1s3!) zd~&`eZFR~A=~3#+aE9m|CEoL-;4S&N9Y^3!IjrZvYa(22N2#sEUo^i}Y9T^6rHJ5f z!bRoJ;ugwAb@}Xtgrt_)g_9>+)WZdY)+pZD z{A~?K(DqV~>d_<}5vSt*0ZYNUGLvoZc;+Po%j39?GPy3C#U?~FXBO6;vR7{{Sl4IC z^U8bK8Hp;Dyl?SHq=`Hm%tIRa_iKH@X~X4;^5r(1&$1NVIM!mq-Wu!LN%&*M>dL$D z7KUlrU3deOQDO;y8tYpqLj>;sUXYD=y4faw0?D>roi9UW0)Y4m_H5Pp+EoOiJW=}? zpGU`N#&P#^f2!x;Vq(fwa-7}%5Cs;uY*S9YK5nl~QJw^E2>>Dv4ye3WvyHhvpHVSM zXVbb$-_RE3Iu$!oenvl5o}}0YsN@2+o!XorH~0IgTmSw)j zcB1T7e^)-tK3nJ_e|KD~XvjOVw>FO}O?KNSogsN*y-E@(ItWezt<~ok#dXcgalWBUi?XXTI30=;w`{gmG7vGYRi!> zD6?url6R_2YMy1CR_)e4j_j0QE34S^KsHqR$hA(gtoYU9QSp9}9k7wh#Vsvsue9ht zCedgHPgaty6}PlzW<@I}8h%8^$SJiQdlWKAwT&xMe5d5v;xh4ckqNMsYl~Z@s_P)Z zb2wwomGI5zOLf2C8&YDcnDB%{?&Y!Yt3K~aY7i%!UKKq>8d|-6*DKNwU!lILlzML}G%E0O7*xDhthBUHlyl`EH3Ovlo3A&q zm`m%x-62GHm2PEa;)^nPxl`CZ^`6qYoxfD#5~YJeK`C?sDa$_;dk6>Q-)yFIy<&{i z<+KqIvnq=kTN10vtZE;HH59+AF5G!f<*qGr;42&oS6kZ1Te!s_1wLQ=PeU>A`2?Gu z%dnBGc^xQNdz8943HCBDv#tytvfa2U8~%8;rb2=^F+0980%;6VJ3-2AkcoSWZ|VMo z{g&C^&cpgg`8TCv9tN7!DlvoGsw*QgPgWl-kH>D9O|BTgc>@4z5(n_k4G3uEc;9X# z>dMSxZA$X(cYE-0%ZNb_@qy?*&mHCqbX4jVQC%px!K9IuqSMZW?&%2g! zA~RmJo@9xSCpS=-cKbJ1H!xOg11e6?g{vksyXlW+kC*AuLEA8k1yc5X&t>~@qLYWk z%^8B0_rjdx#`T?ialrGcYdpKH1LXp4(yHsFF+3|%z0wDas~`o|7xz?OU|}?FM`v?^ zTgJW?&;0Dj3-!}w_5n3jc9P7k; z8S|R8MbyaRx^(5e0D7gcz;G+NY_p zdHS0sdEL55YHd)}j{u}Lqw>gB9BAkLvg&s6X?dY(U2z)|+#zSa!U3eFiz?VB$n~=k zFk*boU^?t@xLNl#7}}??T?iX@F>E%1AGDolfWm7GUp3rBg8L!#?;sU@L4`|$$j@M~ z3Go>NEKGIS`L1giZ=cMz9L#Fxn~kHGK--DBNsP)Uq3$L282~Wmft3GwGIa=&ei}vb zir?8!CjAJ@JK05A;^Wb}hp2S!Zr~H~ON?v9#BWAVYgZ8`LCOK7e9ob`^B|F@QrHXP zZTqsA31PXNa>hcR}&k!kEb84mQ%ppCdMw1+B7PYkRb<$VIsr$ z#l0E)_hBbGq&z>LCCwJx<<5h3p`3e54prN7k<&-3c2EjI>L5rh9=WPq0tp-{kuQv2 z)x(kT!iep)k~|;xCI|5z=SQ_i#r{hKRr5ujGn^}}C{IBu5eE<_N9;>4K>P>a6>o}n z>mF5Y2`g%Qq4@1{q%lq2?lP+;UtYcBT;&GItr>i+4Rr-bK|t#E+5Bn^WY^$Q7fYK{-7p})AuWn1;P!WTKY*-psaZBoD>|0(({i7ER2YjR;ec+7ouSf;FwEs79 z0)9!0Mjb>f;%A@+5DaK1dJA&ikqPtwQtNRI14A9LnuooFp8fs^oJV?hb2Gw__`EL@ zfg|cwSRf_|0ldXXGX8Wf9A$}*J=}q6z|Yt&MJM2{E`VSnakt){fZ6eKt|!8(I6*zv z;cl#;G68&)q2ioGB+*wu+>mC}u|s@h2SvOs7nMw=TTY|gb<$hBbjH#ex*_Ccv z*h29ojSlRj(1aZfPv>c}zaUm}k|Q99TdaLsQ;=i^VO~CxM!Wa&eXf3)`YMnsRHvL| zK-a0#OUTgc@^a-)eS!+wm+DFuoP_C0ztHL$1GwI;jFnY2#`IE!I$$OV>L@V zSLdcwtWvu`7nEQaUC{BurI|8VnPN_O3OrdBzgdEqCa#$q22Wu3J`c=k?^%2)6|$}E zbNeLZe8W`noLoe8EWI7Nv)n$T5jIa95XOhyP`=u94IZypGbanCVcR_m&)GX-d=Z{= zcHm{Z0VKE!C|Usd-jYij%^j>uOn(klY9E9?gT-nVZQ2NXRCLL_9cIKTf6C9%y}tTF zTMqof%(l%r6Q`UCcR@rwr>Rr9N7}xoJ3!qVo`?FtfSPsg8W>cw&wK@x$?|^ih_oL1 zWOO4@4cpTEk+>cvQ%({t!Dmtr5t#6TwD*Lgh&`dl3Hy=LHrWyKkXPp1BNd=H_iYG; zgs!t+39Ip6o9^I;@cRnx;o-PZ$};>;Tuy2uel^bXfHmF`XYKYDPsG`q!-%#x&0P}S zpIvz-0QZ1-w=oDuWjH7ja6z;I(pB6BDl3J8TTj7<%*1(;Ij+xeY|=xst@s8~_U&i5 zH8Sa`66}z8tX_-F6>iRdiS^-KC8DrfIsM58vAbD!gN?AU%;hdWuvPR2rfYE!YTvEn z*llXT@N&!z)yujK7@i_I506R8TTXDmL`f`9Y{p=Oi9r?^HSd$l63j!c|7=fe93ybt z1VgT=9vsKmYM0l%L64Po$@ZY@i@10TbX`G3(gyTMzEz+*`n%NF`50z{IC2&egQK6l z@d^E@{pG-EG^Yt)J&xX9>m=QZp0BmVEkj$ErYA7Vn+; z992#0xYWlE$`y1qGhaasDs&kYP>c{m=fI|;ooG^6L%cq92#(mNq^?5vZE&ZqKswF5 zMqiGCU);+4fID>(#mK{LFB_-FV9yH@X`xsQ%7&VT4Uhdvslf*A6;Z6QN1R+J3$Zfe z*Hk9%(D{dq3Z_-(5_%+Ep{b&+rMdAPsE$+<#7D|O%AA;o7Uq@_``d=2@`X+EW9WLwiYa?aq5LI;vxH-hn!xTh@<;zHmw0>{P(1~tvT{&=DGn!OZ% zOlfE2k9Q%<`wb;s5K?V~h>>foFcA=QrPTMl8mMd5H?AS{(@_Jq2sW~-os|XGtkq=& zAXo+!tSOYD_oNt&wXX>g24Y6!bNL|{3{{6q!-Ql_XTQPhKeC8L!=!qjXQpHF)~sai z#QZR@XQtpRdpM$S+KuY@0%vML-cOz@1wwwzfsyGMQ>>Sy;lrz#0+Ped4-7o9V|5H; zAF*A(n=ylE*PSl(5|mXw=C9)A$=bPYoFdX`b_VNF`YYyVX8a*XMmb~A&INQO-E5VX z9!GnoA4$7TEb8(VBq+$*3%r2525BBAN~%i~v$P^|+D+yvfmehl{S_~GM+ogP=hP}A zS|R7Gz6tdr@x;lk{2mRZVu)K&{7u4RpHxu^QkJ2@KlMF>niq61mF_9&^eUrm72R8j zqP`bx(K}7~MBLhWn7^s6to#LcMOCD@iS1HukMCt-N}N;e8G41X@L^h40nuv#wL&gl zX-o~3b?b2{TZtAOCACbS&hdhC0g1IH|q5qQfj$M=$c`h7>ZP->M z*ae@tEJ5H0zpCTUi$HbM*Qt)9pBADO$!Hk|l~;w1L29MT(Lo8XMK{p#AN=G^)LAOH{0R9on=6x(z9U*Bwxo>-`ocRzMQ|Yh0nuse zVqOU0?NV!=3vr8%89N=G1%uVv}wee~zz){;r+3gPA=OiTxFN*TXDjXOjB zVN*Z*gnXK9D0`mxHgK9=gQHgQ@?W)_kO#_4>L1Z}i-W2mxn#llim(`4p0IQz;3=m} z?Y}944HO-=oyp>fD}gS$6%JQ5H($|Pkbgzm-I-4776UC|kgoz*eQ~skx2gJE0D`l( z@~HbSR*fdkrkk~0oC`G3N^yvi=~{lyCZS66I_D&zUX6n6&(sIU^IylZ3;c73{7>eW zLyKL)W!5lDr^V}7Z@{%fEl6$FELGj*zA2_FK4E^T=HEuhLdhoK zlMS7sEkgPNk|>P#5~K`qfU2OhsQe>0p;*5(0RvSsiVadu%YBre4yDNg6o-A+h#T^S z8={2;`KAj3g~j~E06;^5)V$K24bGgWMI|++=+DY!T8ot3`QsWy#24v(waBMiytjDP z1~cJ$Rn7uCp(!7Hfrw@dS}L?9-#hPe&_xGYm!L@n7aN$#*Yk-rhzOpPQc3hl5xuL} z;dEYbqo`{BS3xuH0RT|zaDezjvr+aS1zp#c-D$ePTdsjXLNjZ>Ex;EFztGL(* zs%!sV^$l8Oo>sgFS_SHb0jbcYr6?VWP3;h}Dc8ADiR8s`${LW8ke?-H$kSf#g)dMG z?YYV`s3h|Pg$1ZuP(sk=AR232K(Z&ZY6ghTkUFi95EuJPQ-Qw`lCCzyV?Dc6_wk4A z9SWN83FaOu4+8l56m1De1vJ>OLP)QxFEILZepZywkH0@tv@HFd3u@5GU+`20QDSIga{V=)dTUgGMY^MxYe6OZ_U2*JQw zPr0#hj=8D)Bg+*4D2+Hk&|SBpluSHcIaa(UJF%=(HN`!ZsKDE*=@r@AmGY~a zb8AlK#VVed8{|D@fp6rIAL0O7ZqJkKAozohFWJ>6Zno^qS$lY8{n?yRe@3+uLUk8v z=jQq>4=!Ju+dAW*)({HXDk(ET%DP7%xgOr$VT8DPqNaH(qUzA+x=KWg|Ng2p#9Q~s z@-gJj<<6Q@Nc;>{`Fd0|m{$u9px*8JNO%E{Zu^b@eBxM>9e({GNi7%G>^D)l7nkF{ zu&fG~vV2Y{9w(Y{Pea7pfmAX`Nl!jw$lyAyU+7jz&l;CfuO70m!BejLiL_pnb#50l z1>~`1A4?8X<{Mj<8j^!RYBfl0KRH8i99G&oj~AUpYVhJ{B6_Qp?2UdN6#=Y8Zrsu; zrexW5br@^AvA?>VS_}ZB4>*8wuQNJ71QytmAib94Qcn{rA|O@wgk8J8m$L++ZbwV5 z@Q0TT6esha8|M^@s68On4^q^QyTy^P>CNM+*u*b&?-Vr=o2s_wC-3erdo8==wyDHk zrd`%iB$KF(6-6TIO_0h5seK*MS}}C2`B0g4;&5HEdLm+WWn)p??)8WhFmowt9t8ob= z*21_r4gkdEAeDI56G2O@9PCG!MIP%(hTja#=JV7xi-lUD zYXsOzJ!zF64gyl(vy99*^_)I872TgrRYqENnNbn~SF~OwlRb|$>X4^7_}5M&-LtB$ zUQ8zGn``C7G?20Zsl&ssd2y+6eHk3wvB{HqtmlE#TKbu#p8M3C= z$aK`lS1c#CgOoK$Z5m!7eVlrrH($&<_O;VS$O+VK9^+4V?yq~xd+iWab(ycT$U>{( z8S6hTdqDgNQj0;#a)_jYr26)}R5Tv@+HpMJH*iMtOj*3=;kp&lqYm&YKnh>9r$Q}U zVz5PXp5*oqg_syJD058p=sB$Zee73zUy*&_yrwACT+f7Bh%&-~T^XjhvItgwU+8H- zEqz5g0aA-_0OIywLGAX`?cEP5g^|V zaJtloB>9JWYLlChJ^!K=bWiq&b{xzmXS8??>?Nd@u^irzTa+1tz(UpG6y$!GYKsHP z2`-sefL;QB{&;o{6_a>A8A8Wcwf@LOp`R3vK;zJ7X?I|I(C0GN!#AQIhaE;(pucZ6 zM7+b8Ti7BGp!*&=Wxc0g9?j30MvHBUgv_9tt9){2kbhG#P$RNg+9#L+X-DXG*aQ*o z{vAF@7@RW*A0rswPs$XE-OrxOsuA=wDYAQcDFyX8mpFSVW{{_>+|-8L2}b{cHPDar zC2o_j25PIh2*xD8zI!GEQdn?iL#Cj>p>bMPW!^Kz+Uz087^x=biSSzrD%X&o6tWCz z%=zJF0qtZ>nsK3-bdNhJ>9Q)5Q#Ui3$~x+`nImd!{;jO%Dg+UlGh5!2d=TOy+Zen) z*GoLxbw}<4!H{WFE{VD4c0k&zR@QJ|hF-(rI%cLtwNqYqmSg!=LRR)sb^eL09ENId z&>@IO4sqe;uE<+4dlJ&axOgi)Ep@*pMk^IN@Y*5@1*W6?DW?5xa|z9(4Itg}_0v5T`WNNun#IhSw{Y#8KD z;#({&cOuXUdjV$ToR5ou8_qt6{|MiDm4yyMVS5|U*(gNid9)OT5>KLgQCw^Y`V*=> z;R?nL^>x2BhK+XK$iteWvu1hWcB6?`0OVzAV2>ec8fAyp3$>B#EyANRN$KcGR41`3 zz8GymvB&vwM9@Tubxq=kTByc)@-GSAgOKQvrvuY;|r2`G69i>v72roh@u55Nz> z?TehF$?%$jOn(w$N&X%OBI1ZFYlapvLUkQ|49)KP(Dn$bZ7VD>h2Cy-;V@w-U~#WW;A zkl_$5@jJ3C@-R_>n(o^{OhhHw-yk-idW{@NS~O(PoIH#4y}q1ugyf`*BsLPW=r@V> zgv&WpLI>f%u^>V+{*%usf;V2Z_9uaiPcxJeH{p%@tBI$$YwDbc^Vn>~83Ky=m6k~W z7^v(W_;R}IQ5SqN&3xAw-k&;Wtvwz_!5GfPekRnFp>P0L+}Vu0d+NA zUl5dKg{$MOJK};PaSrSPaEYvwYhXAMYr26N_mqV0bp)*t-PLV)&q7IlIIglFmNFOT zp1&(|5%!t%(BU9#i>Tk*8(So3T74Z`Czxa4jh!TI>+#0>)worS;8faxyjYyRW)ImG z%PBsbu?_33Y&#^t&X*H*YA_RdOIHVBzDalJPhdSrM%_Hz`L^*YQ=DDX23a1KRC}Bh zfSsmQrDtPWH31PfFyi8hoij1e!i-h-FvsKs{T7Uxc)NQp4mQwNNx)v|j*-5`E^q52 z3NgY)m$YGwXN_OPF3@V1y+epGEOT51M?aMx(4YevdeG|+w^KTo?wBcYR;{Wwg*%aWPwX@sK!U8Vqk z1#_Jdf=@azN_WFA2<@c#;~sgqQkA%lj9*JL3KVwAX&Q;LU z1?x~u+Gd_xVjb0qlN@r762*G5t(4rwtX{4WSP)u>m=zbzh;>|={0|e&UfMyd|15;J>dxBVqT_ zW~)sQCn+~o1qu4(F$FUC1nGC))vXYczij)`UXr7@Kxd4&62GlZz{qM^sq&;v)=gti zr%Ecj5z{DPWzzT{a-jM_&@hQu_<75F;(1l%(kP-x>Y>v{VB=TU*)kS(GnFT4+V*}{ z8g)z4F#IU_UG3YrcGAPj-XL$%obsnzu*BF>rzKOwrIKGdg#>f_f^vEOi*zFyM+Sb1 zLoJnT%}j#SiMD33qMHSY*{uNr-dN5v_p97~$Y*OckCICQSEE_TU1ewU3ScXxm!;ca zILdYLEZCi#$3hdhZ`3RP7WmM2PG&du}moJoegRD0>q730&P|;egUFQdfqjxL@>= zZbKRtoT8azP4Lc9XCJrX&Y^hi-NcrV#jd?94B2YYFV-D$JOEI(fRwRhy)aXBUig}? zCXVngavx?+aBp)qM*48(u^RVaSfxy~>l!ADQL~84yvTS2&deQgK#8+BT`?>&5jx}t z5ohpcN$+MZ=PndejzQUngo*xVnfLfLE;7at@6@7YjE`JCID_4f1JroYxMsaDSfErd zAo%kTsvjAN9K7P!(KD=p{1AUvrjN|SWd&oNRAhCDVK2A<&WOaI_27djskT$lC2*=T z##izT%YD*Mar8>cj;>>Q7cu-aj0>t*=O((W;HDLmP8FyCfbbin7@~RY`GVd2`^|^( z%eXalpVHmgMO8gVw9Fe7!G3Ox<7K;@gXxaN*R9;>^9A6yJp>ZCD;->ND~-h5TGWwV zi;Pg-$+&z1sc_Hyd{CS>oNcu$O; zGGd^h5BehMvD^%HEc};D4twT(M?!!j9A1joz~5MCBv;|!w@+jM2jm$SQ?PyXmnt;& z7-EJ(f;CC9$$NvjAMPVXU@m%Z5yxY0Iz)>MG0!ayh+$YGunhHZfXu%rj^?WBMhLdEI9_;^fwu34G#8o&ziYY|#?$CA?ptw6= zzWGJ$u7n)vSJuJMOJY28;f`NIB*SHWieM)F(%iE`E4n9G8lc@qa$QxIS4ovB+NB7n zH1D1`JpPQ-K^PM1AZq2acOV6Fp6B|R{FS^}a|MFAY;f&>KMztqszt?I>U_m2)di?U zo_B#s{3Zz_Kj%P!$U^4jHO2oWIkT>bmntF8jpDnrPlMDR(B^PnSzjro6v(^E19Anj z%O&6AS|qcIt{<=#id8{gR6apzy6zzNh5Y{9O*|4Cv{c~kgA_y=-SnQaMV?&0I(MlI zR_zn#CDvBdgft1)l+E&T;G36jUN?)2R_4x~#+%8ef)o=6uoShH&prn#i zeDqb(KH~R%X3CvJ{1!moM0B;gpYK9kXW}7mCYphIfmRWQT>G6vL^+r3W1FN}tNWNu zN4*N88Th^Qg1vP5W_Erb?X{gK&xtl=;*o!Zx(%cjf|RM&OEQS8(MUw+Qevt}>78)PE$zZfv)K1ZJLUIs;+F@avS27Y7(s6}i#gxfRoM-*0%O zv4cXa2TL8H0t4I9B`~mU{3#90_tp=n$;|Xd6{;X+S8W37*ny3eiKqkKYs&gj$s1Zq z#!wRLc6BqV$RJDYidO$iXbD%$)W;wvo*eO8T-EB z5~Z4S`Cm%alq7$eVO(dP*Ag{cc}AKS++9{H9^COzJs~1ET`s&ULRe!|>jhLcEg|hCY=oY>X3Tp%yn}m^)E8o0HAVp4)R~Bco6)! zHEy7%K8Ja5bEjU;nBRvM3dD1>q#+m5vzlFt&0S()Q9B6f1ZG#ffPwFd{LM=}uo>AF zr|kwu_Jelq&4}NA*P53jzHX+~>mtopE2}>u-7V6p?;`a8b=ej4`hO{L-y6bs9Ind_ z|1JDk+X?&*zw*Y*xY5n=wbeMuYDER}5EGhkl8~m5b?Y+z}j*C2LNIM%MpxO(fTD7WwN9}BPm3qeIt6eLAKQbmyv6r{UhnC|ZGo?()q zyTw54ZtT9+wYyud`WxSH@A`gz>#Q|@J+HOTv(G%|oW0N9`v}r}>besIiL+jH^$S#E z)Gb+T$5AS6|2H)VkhI%fc{*pyV2UC$5jfBxUl_Tz7bYwA>F8P@<2!qI=1RF^-ZedE zr;buV`%{gV0MWb3^?&E|ZD;BxC01-cr9RbP(V-p&;u_dF_ zjD43HN&%~O4%f}e8Q6BE=5=D_W@mF`WMub6)1c3e4!V)-%x_OtMvj#?Y-R5nq0qnf z5jsKv>vpELHs$Qzwyt?eBD9~_2#t*E_Gw7-Ip2QD66f5}rc|bn-BtgAeSL(wu^r8Z zbscrUTtkHQ@5jwW?l9Hh6VU;j9s(5840%D6;O3@JAT{7Qp%iih;lT8<6f&Xr+74t6 z@y=ls>J}-XFA=krw8OXot0af8akz`*ecIx8P0d=+0S<)d&@0I&- z9@p()3vw<8*s~pFVjt2EV{F)ota;dC)^m^+w}oZdbOZm0l@tOa>|wrfJV0E_TzJ_P z`dpE;{|a0oQ+2&Yx=P;aB2fl0p0OF@AX)~@!4ibyQ-*Qd`1gZZcnt5R!&UqTZqP*v zq}qhs7X@3RAMVVAU#*VT_92VaSLo@e`^xI7#h7BbI{7TNMcT2v6_+4!ad5z07Ia+j z0!vzI_q>3HH+puAg`KPI(v%?z&1tlG$fpKhz$7%NI(p*+%%Hk$+27b`<=LqK>;tjG z`B|Wy{g-#&h5)-IZ7-nT+WpjtaDLMhsteMk?s26Ts=g+8qbvHU;mxv0Oul~RlpEN& zqRrL|?REm69vss)1)8z>u&Nk#wcAKpih#5otH?oqZGvw=q1V-&2`vgGW2L)T;Iaes)-uRnyDF3xSn{?~G93O_-?{R3B&hRE(pgkrTWZi8)QkGp zQ>LK5h!&s9CqINrchD)7@D0reDUT5^lw+wN6poxleU1KJzMV$HGLtUSXW?Eiy+=P! zm_Ip!SxE>x@r?MCuyQbmq$WIUY9R*@x$>9fBcz3-7)lZ8R9QdeH<^-ngW5!y6Znai zNKs9K(g!FV#{mRi*28UmgvTsl<2<5{KW#m^;%sHA>- ziBKiQej({LpLNI&t?Xv>S7FN9hilGYJ)6G?LD<&~!I&c4IZIC=9Y0_q#6bvP{RKaN zf>4)ZcZ4*XzvdtU^>r}0uLXU4;D-4-hTXeNpuom8CmcpHykLJr`0~i?3&{P*f7m&jn9~{lDnHA-?fpo7q_+3i6zI&^;=m0LN<33YXfmM;t?x`csmcpN+q?$Xjvq3 z{*pk}KjahRPjIGCF7BMibYPrmKg9UP*r78r?lLSKYs3yi06)jL#o*?W8DAOlwY!+! z42?H}sbJ8?m$TFi&5k|vYSERpLb^csy4rzG6Z~SGq_YLHU@Ce&e`8J=eVAulGfe-@ z{p{7jh~@IePh_rVUmk?h@-+8aC(}~Z;hO!lR3($iqZP?dK#4S#EFc?1+b205{fqWd ztXlk=?jp7ww~w)uBif!tEw7!@{DE3*ZdP|ti;eRccq&3y10hp&+Lc)n>N)lN=y=*h zC4Mo8=BTumRG_cr6mG*)>e>^nR&s5Nmue5i)Nq9^p|sbEzzvkkW_;#Z>U6{Y)jibJ zx?_u8QhlpE#wF6|oQSQ%l*t1PO}UgQy~mVa$-g`MX@@A|TTP%_lx2;#Gv`pqb-Px( zQkpFf7cnUiWBR!H)Z3hSTMNnUdpsI1lG}F}mDyzZmVLCDWNz;>Pz1T7(~uz}ziwN* z%0QXZOj|UWe8yNZ_8)37XME3f>0a<(mTwXkbhq@Um;pzT4~ROE_ElivJCrf)rLY{c zDC()u1Iu49ApC?&vD&a~;-c;klCfBT#ZL4UmnC^Enu1?W+9`}C*aOf4IpKbqoxqm3 zCu$o10Ey)BSpXp&w^~v<>a4D}A_(oK`HGNA`zF32Fw!RzYx#fC7gVD8A@ulEAKnlh zADPC(&`lm$ypMF1)h2q(kaS)Ud=})JS_F>#9U>KfHQ$CH^TrxK? zqKzBQdEkDGYvfq>4;&=RrlXaASb5WEJpHj^tdGRHi^VcyUtr zJANeYi+ z$0^e1Z)fMqZ(CPA50*{aecrt0<@yucxCRlwmqV!S!CF@%^QqD!>@cHOvJLBu?tR#C z7NL6A{4^F!lQXhbwk2_uz4m%f&c4oFyszvhZC;prY_BF+>2#K%K6_&ZE5dRkER1=# zX1m*0W_xw)2-W(48?a-Ju7y*&HJDe-ruDtRtYmd|HI&d;PHk^CTx0gPP(sfza~sKS zbn{GZhMR{541@&aUR+C|u5yPr+2uPt^u^IU}(NSKD#sy!MJ7KoC3KdP5 z&sNPlQ})!p)K+8imCouD*ktBRl{YRJ{$0_7pILB3o{RssK1&uyxDmWW+DnwU{FK`e zxmF!EGTdujG&86v3MW-LmCjh8I7V%U+sJdN*Yp3DO{KXcD5PU(CCeF-3Yyx5A*In^ z)*j|tBjH_DJ9vJwpUTPHt+dZ_26qK)qRfdil=oe7m6IEPR(y#waoHnr5c`bFG>P@h zYvjFZyp%k-zsyE{U*<&pDl3*egW5|zi}&XRh_{Qj#LpA$6W&^uCz>rxoxNFfOqe@D znbQ>w`ZQ^@+}7&x4wEu8M<6RCGgWVMi$zzI@o{kBW%;|H(?TD4^6W%mk8HvSWonVX zspm+9vi#a03R!Z-yd6vt7aLdQ^okbfC&gY7&Z{m6Di-8uKRW*wY*ETbsd;ix$FTU5 z^m^+v@-0bh(;3h$(aHK9In#xrTF2Nm0%=X+(#QP0W*_H${Cmo>5z4q%Zoeg4%#%|4 z-jTD#x4I)hDWddtRkm7a+fu#mieP-x=cNLEc)go5l)qj%y2n;sue%2t=3KLEgvhaX z&0}F96-Nwj;78Mi`pL+|=$F+3)PP@-_9=R+6HI>xz4VVP`gzrwS~h_SZ`wtfj-eai zl;rYKT?R#$wn_`3JX?KQeUG}vH%~o}igvQqE~PFWp%mxL!<yi5dhHAEM%*V6|hf%9%fEJIJ$)$FvE|*?N-tG-^!sO4XXuNg8*>u1&$J zV0r1P#fo|v#Al&=P*&t9RU8njM`X#48C`0=FwDAhrmskjR&2OjLQ$9McBa%R@!EGQ zTjlpPXO^6kUDq6S1j}nB&`~POU~1XVSg1>HT8FgJj;q%eTYY+#cPVa)Tjt9vz2uur zx0XO<;l??R8)Q9_(HTHC#;~gQ2>o#N$F5rlwZ`1uQOr?gx2Ti1DGHj>qRz>VHGEp) zF72;b;5bkEO%gUDi!1J&0SY6mZ2b)W8#JqVK9rPuzkvk%wO(51fWU-qv8+JuSXf;1 z0F`f_TicKF7^SASzefS_cUrEZ6M(&qPcZ(u?0Rpk^ZFo5H}+R3(0mwodZC{=0YBfK zRfEGX8=*M*Ha!W1k8T!`nt%%%w4_HlZ)z`+S0!w&$s{*~+L(akUkhFshbgn{YfV5( z`zU488pBG(shT2LHdQ6{Da^r~6pM_>NtkDLVS-mkjXunh1&szgGuOV)AZ2PtD0XGb zVo?J2ZQ~*#39!9xrJy&vzJ|@N&ZJGRZ_AIkeri`CqoGulGoY31z-YxLcEs~bo4_BA+tv*=Rp9XJI8HJcH z^(Ot<${|aKZfsVq=`U?^T$>?H{XT@KTd6KsFspjL>Z$#Gt%G3fC^fTbX2T`S;rh9C zJ1ZHM*%o+Kn#tcB9+#@u8QVf;S1XKV9>=su9n=1)#ztT}LNPBi?&&PV(Cc=zy{rtZ zX=_=Y`Q6yt*cvxhKeZts_=fhMI+}+`b6r2l{((B`Us;50TMq)6;7^;w!S;o$o<|T_ zic9An*x1#=w)^nHfK@Fo5Kxz$tp)^ajJT-_HQGZ${+9E|bnvPEB`CMTobEQ%x8!df zndsZAQLV+8Jpqx;iCBosgXVT@{Fq-2VffM6hA?G-MtBM??Y&N%TR65WfmoW{(Ds6O zc=eLzm!yCIr^e$Xp3CdTXQa%r#kJokqq8W!XR{ll2=uIn&TuXuc6^}UP7Z0UrXOB) zyvamA=6}8cLciehq#>WaXKYW+cSiq+Ht?~1ANlt{%S ze@UH-802!Xc2LY6=V=_|xQ|lRy#U=R;N#AN+Ee+6Hc!pEjV?{Ssyiz$*PE5E{exbX`s7C6uuP!pBEyj5Vz-f+Fi*3i7Ny6&ZZyWb0oR!?x* zU2{yebDUV8!Koaj0(%&(vw_<>_BFfa2e$mvaDKy3V^Q77mDD<)+7Es&YWCG=T`rj4 zt4@sT(aAWp5el+=|G27cMQ3-f0Xd{T*r5lb)_HE5067-oyZI^fqo;fSYFLxQf`Ro= zt3SVfJl2|P#t9`2w%ZtwKia=aX{WKVZw5*HULPQ}#3i<=l%RI5YNob41_P(d6 z$2K;#2S`4n)R{d`@RdciLx15}saLk0!w;?V+Wd;(8j{wlBG5e5-6BGtlkrwX?gQJ=-U?6bp&?Zr&>J#H6Ui= zC`H+|jLR%qG3d$pD>Zw|EY60QZGC?1YauhccCgK!)g63xonvQb5WCOD#%%Rqk5VZ+ zS4wsl&EGyxd@?n5z(#Z{rmlCY$SL@rPPI_uS=$~dJmC1ay<1@2j4`Fw3xA zde?d5uGbzoGED3Gs_y&&@ymH^FWg3n%uYW(s77Af>za{_5wKe;;~M zv!(LuR;_Sx)&0H{%xutKo!G)6$f4HNaZ*@V(`vtCFdIw9L^x`?pk!Y^P5~(G9gpV# z_nBb?H295RA2A>L6XQsVf&VD9Mmr#1$7N6)(YyV|QSM@0?O1eYEPZc0W)<>n_cLr2 zI?9xf!(&kVK|BF#L^}|$xV;4sA{u`;mOv^ZJoF7GPavvnKT!)vGj|_A1yZ10tI-(B zpy3k6O!>x(#tu?rkOy(+sJi@E{6p%?by&hx+H#* z;p+WJnk=LEu#H&Bh3z0g^(J%cN7!!z zT&qMR>pWTOkZR3euprb8Rez2T##ymr&3)_)`E>8qm>;t22|&UfZu=kyQqwZC@16nTRl(A43z6FAU$ZOVNS4>@}+~?%Hs#J?J|c&k5edBra|HY4F`XL(6LD z#;zyoqcC;bR|WxouGtnsL@ul^%W6g;EMd`Y=pxexuSC>y{r&MDiH+R6?b+b+or{`> zASbu&Pq~4L*mUw7t)AL>_GhM!TT;8mBHkj+$kXjz2|w!dmaS|s*CMh2}PKXX+$-Jjs*xsHC4P(Nmn*+)Y6xsk4r z)U|(;lgX~KedIy1nzDi7MX{-RNU=}|=~YyB%Bz(qYAto+LJMsyHFFG|;YZ8q86rAy zfEFy#$XP56BRR9rk-n4kYz&}}?9KK{%O~$)J&ICNB3aD~9#bk=*<&`)FEDp?SK$q^ zH8matU+Eh0Bf>VxV&VWXT5MBkAzl-{NUb8#1wSH>lfDc579^6M@`uNGFkD!NyEfs# z`sL<{_;J-F(FMF(qbIZwJXM_)jf8`WtD7{$3VB$hEAg)Mo5y~lQ95Yzlaa;h?nGfp z4NFanakFdp37_MdYn<^1tr22?@?rd6y89_N2`ueEgoN-yv&18ffK?6K++_$^hK^I1 zgIy6uEVjJeS?Gs-+T4Ttjl(oVlsn*EYG&6~C}?b2tsptrxfxaUHsNn{A8>EOHZ* zf3(t7+rW3O5_1ha3+NCgnwJ2%P%^}u3_G>q9rrz=CzQ?eK&_t#;FtYbXIUEw)~HkN z5S*)N=f)u?a#)H+T zge&SQwumTY7qO#AeyHi}aijx92UvH=SxMonYvhM3Ca^wGHq8xVn<@T(C`M#`70Z>i zSQX5?&05Hs&1`3lL(X85nRg0rGAo&f5?RbDW^V|I$zWE`ImNuk9JM&=q8OXSbmbxj zU389V$4C|ahCgKZ3Ec{=GUf}C)~gxI`KI74j2QmZIT4IJzI7F2SzB!^U8Q-gSVRY? zb&N^$NR=b(J>6A7%>P7pkbO`1ZFUO z6)ndY2=k(a=pN>W&;qq56GCX=nn}xBX?|)iS2Xpw;$MsY5%ovw2iYL?R&y3jL2Yk< zLWxvzEhbM)MVn8?E2&)L;pOgBxZ#_t2jz(B=SUB0=u~EZy)1%S-h-h2LtW5u19FG* zuytkbFUrLxw|G~|-wkt?^;3@3*1HUm->Y_vP}LWdQz|rq_wri6JK|dz8RP-1mx>|Y z*>fekVYAk)lK8^!1rj7a$b=auWHrc{e<;eDYA1OBj3V%peu4iYI!GQNK~<;4A5jOg z^2CcVlVj8(EjBvfu85ACKciei$M*c8=!4p2(h__Ef1V_n;6QK@uO}PhbunuHGH@9PrMsE_8N;d z_H2rO0ndZGe>#!(lq(paR5`*Z>05#>N`r#3zf&UvqvL}zgTsu({c`-jSH z+9S?O!!Qa!kk3Erhqh61G#=TcNw``d6(JW29!U;3xuinYtqW|domK~{&pSFcP zP5NboQtac$b$wwOcz})^bOpD(HLfh0Q{J>7HJ5FuH?GcRPpSj>*02;cE2g1YanjQx zl#phut(Zjt>y3asSZwtJAgS=4wi1lln5c1tCP#*}-%y7m#!OzR)mf|F{u!@$ z!4>^asDyk@=MEnWHEFFE1Qf=pZzA_^*rTGNZ6o$6*%hf zkG)BHtrg)~As5v*@YYaDRT^RbhAE0qgv$|u^6y04Vh8zU;_k`w6eo!E5sJTFyP4)p z{H6Yfwh=t6DxzWY+pIN<3`ra0GTMP~wXB-QO3RS=q+JJIl|u6jYs-&2BuNqm}^c zmnQH;Uux4sR|+3lPzzrRBMfzubb@%{sPBuSYHBSZLe zx8`owd}3W6uTcJE)s9d^LCr4lUC4J6RvccWH3W(9n<8}+g}u@DwF`xIOI_7F1p{-H z>RO@m_zneu>orPEGv8KUgRqQssv||S^tnnw%C2fZ#rkNtW{o^0@QCV^?BiU43LtA4 ze_ZavjT)f{Tg`E%7my7`TO+sdwysZqIt8mO(@lwm*yV$6$ zWfARKG&a-NvJDd!f2V02c1+l-`kmNa-gE0PxWMU}h8b9+jg78>WXla4{4x~-h_$kg2`*WZd-1VVbcwD%SoTCm57396{FOWb`=v=8s5^+ zOwC|7-eCI0J*f9$jt^UAInVg$Ra=8%yq~VI2pCpBfadAHb|rLgn^5q+dr#KtYEN|%*o{f7aE19tbyfQ#p8 zdSih@_Jw^dK&$svn~Sk}9{y;)ENF)scr)wxwoTx%iJE~~knokrzRA$4fJfc+u*!LF zyC=bR*}vx;~We?wyx)J-4?evaT+FhHxF|n ztht{L{-sKOZvIC)Gjn^dTtZ)O>~a_HiITS66Wa$AwJZ}2y7@KT5qnGmG$jc{Rx0>E z>c-|AO?>8-p3`c^dSmB$6(Ne>`b{Yg*wDOI32<|1e5u$oiPq>YoNdh*wfsjN?7wYl z$lTrIZ``}SxkGJWM+sX)^t^!dCb&MpEx2)vHf55gVWH4E&&aIW8_~wW8NgX3ulg>5 zBg(hcyn?Om!HBOAaM2FbPS}O`5pfiy;?! zH&jVre6s?yAK@=}3b}|pZ7l+I4qaNc%vk^B7|5jQB4?4Mz7Q37@oOE$2I zI)}Vt?PL1*#=ssjUfC1STN#3#!$n!r z@f{wev&FY`Tgux++c{vs6rll;4lEZa@>YOV{Pvh9&s=L(t(ZzkaHDoE#tD?0i_L$HOW

    )gE&fD@(?I~UwI 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

    0K(%)-P>03eS4U^xP{o&BRHWfgNeh@q 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 OycaFH`OZ^^_%xbq&qelAKa1_5 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

    Fc2X%9r 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]P<^gdP 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≧XPX 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

    nJn7rIkLr*>m?` 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 rYPpB$aKOJWw>Fgc1} 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

    bFgN*S>Ay)9#%UZ=cYbb@8a_%HxOZRS&e1 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�A0}+r+behL}jtYH?{_qw0!x!p9`xrqRm_U!1Bzl}ilh}wxupM1uFOl^jV%MW+ zAE&tIevT;jKH})-h~fW=F7XYz!R*Qu;|i5m;6<2S5n|LJj4MOfC4(6%KN8=4$KCg@ zx%>VFvF;}-Mq{ZaQfx+x=p_Aq^oUXPfeAE;NhZlmqo-^n{p}RRK8oZDbcy3=5~qpZ z@5F=0&>Ofn!&&E zY6jh47USz*?SGFi|C9+OW=+{Sk{?g<5{#`_?4)C(fb=WSBI?j0T49^ z#9q3P!?cVObSbw|D#kf0uTV?>B8E3Ub7KglV@*^0-;ZpZ?Awx|~_q~ML65NyO^Bb5@)A?0Gyub}nS zVWS!4rvn>(C{ZKWm_YBCq9iu)Zx3q75%$?JℜY5_*bxR)5xNl&2}qxYgJ<@~$QN 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,t!W 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�wBZy7)8PQ|D7)5b-TJ%I>8{ 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 f~u|zwwG@Nd->dX&Lx`MfWc2tgg&{UUUEQ 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%0AeDJ&r~abFSt5iYwf=L#)-FAUox}@ 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 literal 653540 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

    nCUa! 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�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

    }rsW~RL!ote&= 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

    $7-PRzl_AYt0kIJKct=!x9$*ui_T-)!~ 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 z zAE#71b8ITSV}H)IAMr=^Ge<`q8xTFJux@tY>>JNgV>&IHw6*d3hvr|n<#POJ*vK`j z@4C3eS^wGB6Gku^SioIkW4@sZs7%DS6L zD>9!haP3uevR~Tn{BA9`RDU!KH)!|D(CZ6N6pcUh-osBK&u;GDbZ=_ifibg0Uc2y` z`!7AlTX(Bj`W<=l=Y|wP9Ohi!Q+Je zvoGB2H*eHO4<4`I+U=9~+ppNR;%Iu<*TuAoJH~u+xayxDy+V{_d^M_V%fnw@dF#(n z$H#R~@O~8O_jQj96GEhh5+dh*I{MptKX*$#cYgS=DfMhKX` z+V{P%sNva7@09v)a?FVQcYj;;z3IKE)t86+tXQ_~>gECcZqG~mfB53c-_`qGhi5`3(T44WgWi7~6t75dKd6QyxV9aB5`-Q-$9E!HQ#}RKI{mKS5EB ziO1oBx~vmOlj{{5XneBIue&&>&N3PFRS27J*T5zvWKHBhr|(FNnPmnqn;a1H@?qdE z^~O4(+Z0NBHKnW;?tfVJN2dPp<(jmu^=mfJ>tu#UJ$4Obs|K+gq`$3X*)zu z((=Rvp!_<9?^_`wVWp1m_3eE11y_YJ)z!^=Sw@l!o6N<{J5jsigeB5O67T@z(246 z{@AWHK{uOODH!=MfD_&f>IFr1x(jdrqT>Jl`L`+kt8$@vRhgv%=1>vApy@x8{Gwb) zl2#Mc6ex2sD0F$X-8|1>xHlq}IkK|!1av*6J={A9?7Rlljb@40;R8qGi;xtrwvc}exPI>;$D%Z6bS0!z6C|v2C|wK#&{Jn&ro_QDi3d0yTZzr62!26r=m$wBBR# z(5xA)hgdNge7h%5nbQK;$jZ?y`4(v2S692;I@12xJ;-U=_4&i}_+sbV%#;)1=9|=o zJZnwdUpc^#!b{obLtfyjw_AI-UXo+&fdH?`v^$#}-lNO@YO@QGt@!!j?%j%s-BnTkYCp zTZv>)m}V~CKl}!a8<~9BR=SY4!kcQS5V+Z`VSA~UZ(fl-1k32$FJTU`y z%o95MMuAKBdZMf&Ysm|_FpJ8p;V`yfG}f&PGRdkb&TL@8s=#LV{>bqUum<^#c7K!` z?orfNhWY(05ZGTA6`;Dp_I=Ia?Y~;WwYV1h7+Zz`;AB8FZV_Wmu(tZpm44VX{1mQa zR)(H#{2e5mdvtTQi|)J-6aUVdLz~dew9w^ukvTH$dBKM!aX2q`GF$iHPImI_zUH*P z+w@Pz22aAwEEPXpmWH1H4(A{D1YXPO{9^{=IaTOIOM-fartYEA%xu9&3QwfEU9Dcf z0aI(=U}lT(l9{IhDoBlWE<(nilOKJzZOr}vS9as+{10e+wUGMNl8(_WTS!JU4*~x-QU~)_x%S%lf$#m-p+d+%2%m*`2h-l4811ER7l%2+yG=Eyc-bEaNWAuCcV-> z+~WNx`*#Tcy#Hf)VCtGKQBIz)kX$;kw@X}X<#m9(o?@CBD+T>k$z`zu%_N49Z8^FO zWZe7qZ~6Qaz~4*%He-r6jwZDi^-uEozVlg2F8+J=4C=1wKc)Whn)B}+|J?tvRNa5K z&@gkKbcmPZ!IXA#`Pa8Z;F>P#G4j8YG1vU_hc5mj;-dSh8$Rvyu_L|!F{@$U%nZNS zY5>5yb=)#%as3m3<-AHnnw>2eZO+lXpY70H0Gc?4?b_?7H20NHR8*~2NcF(H$A5+r7ggMsygz4o!r6Hg+PHlGhKCW$Y5{t*eo zy8jUm_wXr_hKqWmH}iwfaofNV*!tmcOUx4()$f_^KwTrd(5#muWSmn`LOP}YORP1J zSpue!^vC;tL{`qAcRBe{0++_@0RhT$i$jy8(*=$}{49Bway-+`3v_s(9PyIkp9Yom zFcX+Yz-Oz?CI-``Z!i&*9B^x@M9lk!v(~FtEF?vBn=0|?&w&1&{z%|N850G8=&axr zbJcC8()`dAC0?w;(!P=V{$qcsIINe@3;tcO)ps#dZF(J<`hM5B?0~tIX7!)3$)(y> zI$~l*WQwpQ2j1Y+AB|JbDGv9>QD*mou2c#!dw=|wxFY27?uWJSPHg-e@t-RJ!*a%- zupOx`DloAs5PJV>ylUpoFSZG>d+ey?)*IpGC%KV?Go{Jgi1};c^Q&a)#&znyWdnaCO|QCfoZ5 zp#QMs43`@zGzR@J1&%x` zgSug1=T@g zEN<7^Ggr-1Kp3%a|2GVOrXM<8B{B*GMZnetqA-$=L7>Jbg#OiM?R(((N41)RO4wps zm2MYHe>ivlDWceT|8OHJvI#Wi=#SgxL)Q;<`whUh`{RPy&cAbAj&9CoS}{w5=G-%0 z9x}tCVa)#x?;mY+T^gFr+O_k&Wizw_d0)m{UEJ=%Jksc~(8>02PX96UfrgcAMN1t7 zb^(iwfSKDy?^XsLL4CF&piAnpEn(1p%WnY5#lDCUnJz2B?$9qs-z(yX(5&lE|4(07MIdZ@0~xjh0*CM-I?)6fmqAc< znSrXJf!v{C!9iv*=-jN^map4IA#2x`lu`-#OIzAg4jfB@j?rwKW!j8pyu{*hE;?hp z1ohWJ!$tf?(YI&fr92iS(>d!aqC_C9n@dA7@fU~LS$?$+@29gOQ#=zf10Ng`2uP@F zc^M2Wre0Jk%zky11oPFrpW5dtuu-eW-nlm|$+9%4o(sEU*C_lA*y7{dP%Xl=`#QMU z6LVpDqlxL%$*WhFN>*JtaQ$`D;dWV^ih8-WKZ_!GGu(`9wb|oU2pPN|t>{57v~qN? zK+nEcq`=56U%uf>RWz=I6z`*(N#(bFd7jtsoRXuy8GHp)dwYJ~gi8uK$A_C}(T+_$ z0aX^^HLQcl40tj(4k(#}V$*a_PmzoINs^+klZVtr1WSF1r4NQ9RFQA{(j_BA`5O&4 zhhmX0Fyv$K@}>R;+@Cs(Mi>9|A6h?_X19>ZJ2tOh7_qCXO?bz7b&}LTIEuY|M5x5V z!j_=@ZUd-#I*ngS6s?w6bXr2gZo7?IvI9ZGdVOYhv#X1t#d3;z!h(*+0f3w;gW?*P zt#oE_EUc|4&49~7T17_zSWWGzgu~tM4J3|k%md|WirFhCODlBU%=x4z(o!4EGQ;S^ z>R{HO#+OOV8}-4E>l60f9S45JZ)p| zQk1lA?(ZtTW5L0r_psC5#grAK7Fd|9ZuhFhfB_3`8Tz5snSVd#U`@xHqczZjDMo`l>=)%=xX}>ElY<#qQz7muMAz)mi;H|B<#qG zUDB~zaLR`}S$lXXlmcms=_7_tn>mD8a#Qi2Gv^e1{g}Gy+=6RPW@7t_+~iDKHLJ`cxn5`OCo zCn_wmO8X6HU-W-wO_fvACd`sJI-=xL$Ad`r3ho`wd^Ul zOB&v;IqWhB#1*0>mA9JBVB{$=8ffPt*x^<2<%jCKDWR#RFmGU_))D?xWqzAP2$SiT zV<%z5!k0;zjCUcdMdqekKiM6>)G&AHWT`SP!K96k*hbTR-hk_MWjhWwMvKUM6>(iW z?p}i&93e?EqRIMdY*aUVj|TIZg*CVGFe%cL6fQm+iwh$06!^K#i@iXt8ee8tvyb>z zGJOg0#!6}usr{uwZnN1ZwjMs75*5<)Z(3NMZ9+&b@f9%FQQbVAM{};Jo6%$_aQkvF<J=87tuieQp5wdUPF}(lMeuY|9-2d!u;deB2 zKbw46&b+UsJyuaZ(l*>cO>ulqkQ>vxoL-?b^f08(D7%9mMoj2#m! zf=6+nOG|(hzhIu8ZNcOt+t)C#Jz}YLu??&C!Iv`%PEbV)jnkcI7XQ-znx>eryIbDc zxS79?-GXa)mP3Y!B-+y(XE9gh7u+h+BNF%%YLbF6ki?j4gkJ^ZcKJ~qy{_09bsawQ6 zwae~%(iH<+4$2Fj2&x&*SjbcF<-?qVB2+0RmN8FZD6CV%eHVw>TsNL2Kynzt&bkYi zXy6t$Ajflc?59mri3#Qexz61xWYTCFEvb){!8~kzz!BS&jD?R;3LN$Z4`Vlj%n6Hc zc(6I?lSr-l_;~%JS$($&YHJ!Mn~aE0EVbo+(p`c`lx_5z*u4lOm#J9;v0WNYGLz-W z=Tfx0;K_`X+}72X-FR4ou#4%NZE_f?y*1+98WMSM&xM4yakFbc%uqzhi|9#(wrX93 zn)HofjeMOb=a5F~c=6ShWp%#W;=UFM>?yiysqYMao`QtE>=3QEN`=J|mxKJaWCN!y zx!l`DZ|x!JofiA(8x}P=sy#?Qb&6gzV{v5~YY=97itWuT7p8oEEWLa8s%sKtYiBbxnMo zck&xIep!a$)nr-jTs$Fy^jri?bPL$7hNjj_AW~M9o|`xjosGF)yk{#xZGAY_?!cVb z07&}ab0it1r{4%AJbd(|1q-vekZ~!-Z-5x>v~Q&xMHG;yvDnAoRBJJh&wv}}bzAx4 zV&tMGfkANPliSvNk~H#}{*{!agkBx;BV885E11*YjHY^dpjjqpn>`8|sYjG0wzqU! zTWC+NF_9(;D#(ypSaz6S{b)1N+Ag$d1ahuYYSJz?V4eo!9nPZ&M!O)`4?t^35K)o! zQkxhfwmI-R}CN(Z3yRl?3_vd(64$IzV5yF1! zuw@Y!hfvKlS^gES0LYC(q&OtViLSRr$JNCvSJS!C?w-1#r5el#Cj-3On>>rfU@ncxQyisN) z%hAbM<_1v@R?GS(X-M-~6voUXiN^>_+EcqM{ro}0%CHf1;Y0!X`71=^PB8znhLh^MqQ&><=P-?XiOIz6JDb>iv1^AzS%lPkUYub0DkJI(rBPw$ zMESC5X(D-zWI>mln6K%L7Brcvu%A?Ja8$ljoEAkHkKUe6tCZ|$9&98~;O6?yHW;al z7bm0P*b`<=JYbvm?UYXDjnyhJpVJ&q;yb{})hygJg61kJwW?q=w8;7*A8R6CYu3LR4$>!Mf5!~}l4MBs(31gg=>*Mx-6 zGAgKS7f~hqQ}&Alj^-NAb1bo`1!`)xACu}?Kdaw9Jpbv>Ba24$iL)Mh?OdjXEAuObyQ6siRfCS5=IhCxjCQ?5b%GBW zCKD;sgf@>)f$lZP55U?l!4ZZp5htOPqFH`XpOB;0x+a@$4a|6>LkPUJZ)nrK=|oB# zJfPT2A}Gb-k;|)GqziNO#HL?-tNvQ!y!^AqNo8n%pQlkeNx$ftDXX9$b(^6mUqDUb z^ug2ULWya%_-%5Ps$Q1kDI@!L$lF~en)4ne`8mBz*(n(uz9XP~Bbj(gNoe)JGAQ3C z^GgDr8v*jASm9C!r!ltL(R=DQN0A(eV3ghrk#gNk#8XDr_1}PZTuf8uwN%lgc}RFd z*Rg5uO|5AUu=+D~W5Zc>9&+>eOc{In5I?0JDvpLt_VyH~(;+3uC+O8b1?4Jx%YCPs zN(lJy6&a_Ie&Ovza=SDEzTp)BKh%jTnOFLS7~MOXI@nuDnt}%qiAvSS!~m(4#r1b* zBbsXk_0Xykio{e7k@wdkzKte_*FaWGdIKdkF6_lD3eumJR*KBd4cmLA!$nBkM z{^%pgyAI`8v=D5^(R-Y-uWQxRQx{GHtp<;B8=phI4kqR)oR+>)@93sK<%V~5=g=uu ztZ^lw!M#3N4ck&TpqV0i&7+$2q~Tvbr&+$DZ!-(w?zY9h)$JjpqA5X1mz*BfQ^(ZP zSQr-#wfLHcJJf(KkknH#=a)$xGmd`P&@mo(i<)`C0=8boC{Bk%Rgj%Qsju&EUL4{Z$l#IDviUbL&7P`p)k0Wl)~V ztO^!Menwf}&PDK3`-vNsf1pOtv%oXtd@1iHxCmOWV0K!iKAyW6_7u=pDGk~qcIS2Q zo*|69=*8;eBAY2mg8l|T)tm-u%W(&Ii*yPU_|XuWwoM*vZ%foYSaqMcn%_U{1uJl+ z(i7-|8;0Hel`AGU-tYFy(P5N}$Pih(Su+)4%=cx`Y-g?NWvUikmkD_##_h~3Fix`D z22!r9zI`T6l4XzP7x8U~AEaZQY-hB!u$g|C{ta*tlvC$pf^{&efT&sW@9ptTDZocW z2Z}P&H&APJQX)N41!flKh#&n1`0BUy$v+sBuB@8AM{@-YX}o*o1(I>+qP{+?{IBO)Uq8i&FDPj)gii!gqQQM|`je5H2q&`+Tgt`T!}RCMMF)nSRIg9vkS z=f`q==gFa;xkW^zcf;!4RveLj7y<42Y*z7!BtqMzRf)EtQkl-aGBo!}&)3e0c{01~Mm>G}P4kPPL3uODFDSzB0 zUE8Tfu#uZBu`0|U-s&=2kvV?+i!uU)_@>A3LR?+itYo3cQYM-(hXv#cb6nHr!pgB7 z)&qUyQdi$f|IQOLT6PUHi-A{WrL$YP(@0ew8#Up{KXwKa^QrL8!ktRtKk?MOU3I6E z4@Ksxc9DSyKaeWENjzG1s9mT`#owiKL)3xdO{*4I=j@GQL89vBwD*w)#e))l&|tVC ze7rc2AW@w5aNW4z2iY+(qRKGJuZE7|Jk8Smifoo65*HsP_7~}Cu?mY@WG<9Xq*Uk< zFK%ojZ(pw7keXz~OI@%?T&SG(Dsz1$D06`E-hR~i1(|wF!d59uK0&2qtI>+?z*;4jsY|STL%NVb zE(IxV&jk(>dmj6+9>PGa&Xy|#u{hs`#zDuKw-ZJV_R`n=VD-?{@0<{#V}@X#Axfj# zFzt#wy#Ex`cn7j%7qaz0`W_4rCV^53?$kBnv!wTFCIhVVDZ_KRo|u@ywAjYbreKm%ENYZcvBN7m;SSkVzXmbRV40=B+AX}NRLm;ab4D+Pf|-ZV*YY`! zY?O*Pd`P`Mp+CtkU|J{jLW&_(jx5|H_OlH_2}J5eg0cj9bvm^9czUwQoRgX^`!_)U zt#wLII0=eQmEvwp{H@)V{MFUYtIlgG`UOUGnx2va76@*GQTkvWVaoK}_~Cv0%lHJ& z;)^2O6Fu99X1bg@Sz{Hk#zJdu$c&ivX@b*0{oY*ACW$Z3d);|`hnsw9P&?;=S{ab& zE25YHH->mmhZBJoerSt>jiWW}&=#hXrHxH#9L7p%pVu7@rw@ME`pt9JbU|`*ig2y_ z8_DvQY6Fi^!CMYg`b^=n5Z1#-G)YY4n0uIBw2ltxv7j9%v`~h1BMM)J6!mD2=6Q7P z4D(_RQd)>~%6e1LAmG_V#~0u2L||cZu}BRUlx>>hoxMs;G25Q|10s4}-=YFTOIAg# zd}T`={)`R0?#a$t7?%`980uql#*zBG7a)_oUKU$;)^QTji9a-UW7$IWt9cpY`oUn zZ^gBYLi3@LbbZ*;3$o4)j+zIM-Db1CB>8<*)tA`60m0}wxF%KvuNrz=IyQ+ivO3-@ zTrGgQ(0r~7=$t+^9{D7@vI1koz9rV)7Np5MqDPT*^|%oEr0g<=>141iG)IF|jVkKn z8?e)`JZE4+%FcE`sINj;z2imcdw2454IA|vH|e3i(k8)Sy{p>^%P}1H4&eTgu&I<-d2W3 zZRh@rS)KlnCz@iSK*e-vR+p7!H_;w__NlAWK%H)FNyM;KWJn-!f}mJ=Nm*;b)RCJ< z3w>$Y5mR@3*9?gnvx2DXHWhWi`A3+4pCneQXRcy07N&1-%G(v%Yu5-0hoyvD?crRYFBerlhOQCXG^ zRFGte$kYN}Fx0I?P&`(3(~J+UH(^9&NZ9Ir8pZ!GQfjaGw4VT7$Fk$t*M z*q8jr^XU+cDdcj+5to+C!{wJ}BpVLV1$KV#N+Z}-iR~Wi;g4E1#F9Om`F9N1Ws@d% zwRJ7-baX8c83-4bl2wCo-3t@s^zrlMES6Q2?+oc;8aX9D@QoV~uNY%EsjWTuTq{+L zMeY&XUOfM@5Ugl#Z+^Cp;YH5;4X~_#OUW8J!Lu|N<@`;9G zrCgy}d@A{^WGXw=;svc>oZv9MWqo+Okx_I{TG@0gbe03Ms&$(6cwc5%q-F+Iss%p2 ztfiwJo1#b3IU6ic#JWj)#ri7G|BoZDwacI~U?3>OyR+5oC-1aKNwqS;uN@Y9Ksk2k zSQV(BQD~osHDgWTlgK#bSL;|L(`z3MMWgZQ(2LfX-MoI8_x_fZg<)!(sc_x6)_ihF zI)?2ETVV42WL9lDrSj-frfTfXUm!~OO3A!u8L2N{4Xq?_@U3%3rMS}bu%&dF+ver` z8mEkEsyhrQhtS3z026&`H+LGD;S1M|+Gbx;hA#Cof9bb>&pRbO?;zo6s?RB(`L0l< zv8f>=f&eiDzx*0wE|Se3@i!o{L?dTU)QIzWz6HiE!$o4_M173dr!E=SW{FRYgKH{v z#7Q?rVO@0Yqb@0YW|j_R1^Xs!4-Zns9Mb#Cn^@eqEYX}*x;N5+bq#&#dK#*-SP9kB zfP};&=1wl3s6fa`GXv5Ml0_*2VRXuJWy@N(YP&v3TG%JVEJE8G@Ns%@h29) zlG^9|aB{*{gadWK+z+3mx4%#;U0l7ylve}(YkBtK&+=?}yk@-Zmvo!8oe=SPcXr=L z;m}lXulbPqu#h>!{q5D}lMa!|?17UGVB97Mupb+1mfg>hyGTAQ+TGtT+#qb%Uw01H zz{`fO%chhtc;tlk$DKpPJY!?{CMv#0J)^Tgw!q>oOk+bQIf zu`yJHh(szE=T&6!i^G^dxwZt5t#nmFHXqwOjY*NJQ6+>W?0o@abrol*Zkv5yC|0*u zB>L;fs<5_eQpw-NXz*@_#@-RYa?A;k2S2>v1MK?(hHLxsKK2eK*_Iw1u}F z2DR#rcB$wmJr>#^+}EA+veMlEp2p}zdrcsrenHo<_+%2dxgDaJjN}MBjWtX0+FjZY zF$wV{nkSX)4IoBk+cn}Ly+O+Hxmyi!_hh-KB1ZSJ zFevf%toj#8(E&^3A4%&_$h{2L$@xt{7-AHdxw%~@hNs&S&+yyN2-_W2H86hGZMWZr z&G~rxk=t7s4F2DsJl@wxWC%s^w?5is_ZYsCl29fNL< zGG!n{bGqxxa5Y@^nC^rNX?aoTr)|dxBwM`c9^uU7wgc8p_gqKepX0$usUN%n$gyu# zHiz08HS<$OTP23AHYYwIt_7Zl#<3oKL+yv#bg%$5eM0MQAlD-Wm-llXqL(#dUd$`Q z4xg7dF9@nwSOc6f2N*m;CIOAMKQmvlwyacQZV5Us{svSC2mPq-8Ry+}$hUffdLZ#y zOi9qWUf|ETOv&{QzoBvsRsMh%!eF&<^xU7-b{lH3`ynBWWLET*EB6^_4IliC2&wz% z5WS+3gsq|uoN@S9M#mMlD{6sd=f5y`!VzPz&QSl5;e;C+>0#z9mtksvmQxqgkKhOV(6_rF z{V;Fm5$9IG7C%Bz^s>iKG$gFn0tQyB+>saewYYUwfYh?bO9>I>iBmWLQR?6)O9l{RQzYiue?&7NFc1ugZ`dS{EYCYSXsHEf!mcEeOl!Uy-Y=k)fDtdvqelwBoBw0q210YYEEN0FFN`71!22@>>$>h)~av2|Bm39CKi{K#xN;^?&gH zxUfgI2n*4V@&4(KKCZGso&7j8vBmF3ZV}=+r@KH6GTa&PU`73jh1xm|D!d%AD~jCo z(&N|sUbfUa2!eQM&KlX)1$Pl)_#maCfBWIJMV;dxnuv*d!?n5oZU>z@?p3l=5ftcgDaEW6v*e4f5>#!gC*<;tpZ0$sQTB_H zU6Ctp09A-F2Ry4UJp8G3(ad?{=3o%ac~d4XesF=a2`!R8A{aU}Kx0#VF=!k14aEv1 zSdczx134Q7SyH1vGoJ@A0b>vG&jbW?P z*_z1~4^9A7@s*RtZ;q`Li|wI_Ui;SQ60zEcxWI8JfG00~$P}D75jwo{N0r+T z-mK3+0AlmJ?54A&GrH%3VEVS!riY31bLK@oQt|WKCYZ~on4a$Xt^~gtv;&6;&i%G& z@FL`^TSbrU8sT!N=At{AC2!h(T1>yJg~V#mF0^8QVL5JD+tZ@0m2I9Kt=6zF9>Q|M5@6LscCL26Jv2C}p^qSA7IFmWT{IExeJ_mEao~sQhic6?5sG>) zgK+gG*i7-z-XZv4<$$L~B}iGi^qaXCf#IaYd!nGQ4<_HDCVw2v98hoM`yqxR&n|_0 zo0z-u*ZBiNy&Vy*G777c%>GZwQW@SPY#)Jy%?s__Hw02uZS5_t79V2W|0I23jx48l zpSFcmMzUC<4S^eio!`)49sN)(l(INQ$n)_R$U_xS7))$0#lOIt3Vqm&!7KULnM~|_ zNAWLT^M@n!gl?bjlpU08&7{*d6REw>kHBXa|!h(*<`$gLuxK^ z96yREqca$hK5ap4)+)hmfViCoN?oQ5`Lzuq_C=i@q zSd@-x_pZ`%ZNP((dg0gr0aR651UF9}?G2vi5Vn536VXKwRKYzbDXxOO^Se9p?!vpE z_p7*M?R5d=pbz~kE#v@BzgXN5%8rfNM`OH`=9Byo5kS-SflQTw3hTx3dE7t*(xeYoqPs-+*LHV|UJ=X+ErmFT9kqfFf^3nKG=m)U-EB zdEPCqxa~wgMUtP#rlj< z&HUw3R@%`PRt}Z8W&wQhlJLP1+=b#h( zIpbU?SaYmS=tZPk*V4)*n^${X-AG?6D4yML{+dpE9aYKI`lKC%c8Dc0^8pvtEB-vV zRoxwWJQTnC$$LyOAnc=0?5oU#Ct>#Ts@#H93rJa~J-o(Adu#45XgjhRYm@33xMScq zzz*8c>7TmjpZJJy^BUSQL++NS@JY=aNeX9#UZ%9XvO>Fx=0*CR^(JPXAeFVMM6Cq{ zsmZ>e@QCmmEC6$Pm1+K5N3Ks;xt6F~;>ewHP`Xe&)zwSZkb_+5G35=nEq>A07mA}? z?1keYPXa2JGRH+qS(7EP7MPBz!4}(?*ez6fJh9PSc2`FQTb=fmZ?V!zUSfQ-uf$`= zjdO^5G4yWvV}BVpwM9$xyv11jd6A-hI(f+z1kS(rRYjX>j)jkyFip4~?16H~3Zqox zH)8WptUKkR-+;dq7Y+`lxI4mMAV%G1?$*7u`m(xUelE{c1^e384+-~WF`F+*Wp6!3 zdJc;fYD_}*n+leuL9#>s+}!6iJojwgckp9onn}e8w@z8z+EvzsnwHCbQ_xz}{7RV*1QjlTA5Y|wf!&eZ+{eq4xv zH2RDd!C{ftF426|8kroaj_+99{yd*tc2D&L#b>4Zo=J&Dr+{P?6VH8)rB*vQ$113K zToT}BupL}#_KcM->7I_TR2Xnd9G)#D9WNNw8>Ne4FM7^kw`yp|65OIDwaj=O3whWd z`%Vz;Z*S<9H77w7+Z@rmF;wF{RAOguQRko~h8uCSQpA_8HCr_cR91<$Qsn7w*dsua zzfn%my?tGCH#5^j$RZ+J<(FemJz_|(Q;F>8k}k(ktb4}_?m*o0QHe8Q%9aw?s(Lxv zKFv=%(aCr=-Cgd1@oA4Kf?1^3A}c0Sys6UM^-^Vu=tCK`E}5B8O#8A`Y>!#ZZJloG zu>mi{MQ7&L9$Q=J)q;y`sn4C0z;Vt*U1+88>wX4}f%D^0x`l!5OZ*FYaK@T9l%2H6 zF{M#RSszns+yC}(9w6gWcnxu(Mg|9~T1zE{7Z&ICdk5Bb!j(bsxwEo$39 zKoCYKJ|pl8Pn)hJ0`j1XC^Q`1-@3%bI1k?I{(0OOu(((?*s92T)K0T)oN8t=jmxZu zqU7m7HyB^tTMyp|-#WQntoj@9>zMzkxbT+*n2vw`m3*@ZZAK=?*mT~y1HhtaDtU2v zdwwa?wF57?r@65mxE9^(@{Vc%>0_*^M8jJEa^9Z$VS#Kj9R(2!_Tiuc}pjEH<{*6O9e&%@{0q;IFwk*Ci$h z4pn;=I_MFt+hmoFI~&`_wX{&dCuEEVHDXL=>P@Ju@~Y-6 z^0?gWV~y_n2aIgHHC0M-k#7cGk9tyXzxO?lUO>*)j7d(7l*%|$QN0{Z6BmS|eRUBu zm8+XyX7zu%yB>90vBF>K^!7Mg@PT-usl|iHMCZw?L$>!(|{=8Wkz2DRpXmEeJ?P6R3{q@?(!C^r~t@xdM zI(fDED>zwPA3rnj8Oto_QBm(v#c2k#uxNp%vSS|retwpI)a4$g{S>u4WgXk|GKuGpbAIg~QbZyv)v4wi z8=B@kqVD{M#{)?so~*1+B-vJjAA8Hy7h`ndxgrc;5O0(w6$gpJp?zD(IZigdVpt{? zy@s?xBteGv#-TwTjbJ4ze^H^ssaeaHpS$oJK?P$EjkZGkOru(dBy&dLSD3i6N$({4 zby8nOBGa|cphJjU(g z`|{gL($CE0A6XFjIyrCbIlgIp3+HBU$Ke=|BPv79wfqsB9?~&L+_MN!C$F3?9zJLJ zPQK|rgzV6owiRX=UQ`-=Q}SrBFZKE+3+u%PPTE{l++I}YLDaQoBk&p71?FDZd%nS! z%8vBL3O+)4L%Lzz!WF&^z>f~m?gBhO;AbdB4LG=LeCKG`Z&e?{geGgp0gZ$L zb&)`}JlHr3tB#!|k;-a)R{fKLsMb6=xU53CJgF!N7Ou&_1$;hg>8Sp(obdD~++7NF zy}Nn0dv_A&rdl<+met+mq#->dMN(V+g1D-K!UkmjZ*P^dCy}HN^>A7h@pP%aR!F~* zd}nfj>SLvrqcAcadjyJV*R6@F73Yg-0(0@oh!a9$T@LdTXw4P-8;E@8+$!&LyFz%PEHG!59b%IuKzvD{ChyAYGF?bJN{*_Q_01u<*MkD(A-ag z`m*UnXAIFo?wP3kI@NO`Cnj>7U>mub5cMr-OTCe6?KsPeg$~ZI9gapqYijl_eX`{_ z4wn)nF;%XYYKdobvMATrR};TZ`*v#I;I33S7+5+;SwbfCr)>yWCN*)un);}pLwr>a z?%Xs+qAJgesDUwLmZqHZ_S7VqvON#f9ZNCMA|y)wZnFv&u{`_p)hx^&te(<#+U0l* z(~1ETH`=PczdUhMU#OZGdxt73wMeNfD>t}Qw~J$yDkbQ$dNrXxcbMlPn(Qktq-yvzGO1rPF8@TeD;_*k zAJ9sR#H}crYLw2UOZ*b_;m%3dCRYY5EYz6PJ7Y528o~T40AZ`jLz$}Q$VG zXv%l@E6^+OSI#xYh~3Y}s_|!6kKcg3=TPIzfN_J{^QNjf51#>V5}g?(w&1A3h3~eu zH|N(L-jTk$lFbP3sd(o7M(!l9vPASXd~e7Wz_$X^iWT$kCVML1>K-Kq#ilA{g!!;^ z4Lb$YVCClcOMa-Oe5(2auZGviI9N93OS64$dv0XgYru-D5TJ-}+N^6;naDi9*WZ~i z)H!H=XA$L-Ln5P3>dDkcOJh}Z!%dVBMmQHp^HT&MhTTDdWn{ln*I~-L1fi8+@y|rf zLC^;0CUE6Q$_&r+7t3As=LLv~3fxaecQSicHH^u`P?H6S(_%d4AmPQ zA5oi59=URIH+p1)YwtpqT6wAo_4!<#@U>HYw~BaP%_JCR&s(jJ6327n2zmV?P4k!O z_D03^tLE*Df8PA6{L@dk__^mdz{sjoLdaWz%r8KG_;8k)Agu_mrTjhXn`GX`mw7CR zTRHhR9iGa)yXA`dkVn^EIe5f(LrAn`wqY|n%`Bg>iQ*}9zF7CX4WW(>>+zwYj@fG2 zk!_A6mD{^ZF?%J!@WY!4beyO&zn1Z%pH@rji$X1;hbQlG+(PE{g+Z)f6r|sJqOkeu z{O>qrW;&xqh)uUDbc6sBDQ*fe#9gtb)Y_(5P4nc3WH?}WDb4HKiAKy8iVLX23 zq#z+k`>ul{!R7IV6!tc-=df_;lDHDhguX#3Y~p6D16(JTmz95HXG{_v5LtEHw%@yb z-&QTReXvYbE#7gceKPM#;H*i`!lY==FMEC?EbQaS(Vmi<1_^hV-*mYmF&P~(hr%ao z&4vuUWK@xCZCl&vE_Pgam44O$&1!a+2J5r?Cw)T*!aLTf=V;+R zTzecdiQFbIuq#EstgsX_tC%xMcv~UOc$QCrw#ZWa$WI>6ei^@R_8WkQaJHF}7G41+ z=nj4%3eR}U>m5ec5tg2Q)JMaq&0_d#G4JKKAr9539sI+*VYU_pgGZIRk3HHCoI!;1 zy6hMb&77U$uTD9MEfsyDc27S&$CWLjoS56*JAcZd=m)PlhodbUS#m?xY5YKTW!}9(L~cLwTny0HwLgduu_fY9aq5d2uxr%%HYNz%sjh z^>LlP{B^4?4;fXTEv9qte5whqH3SyF&%?5 z8?r<0(egJhi@|{uv@A&ZlTW6_2Zypa@`J^2sMWjkZ|#olmZ=~w{py6=f0g$I)~5w- z8>+P|w^=S7=}9G2-cN^Vh*fu5S*Nd?hh?wQcTdi}gY9APl^aI3zymopnQoKOGM>h`kbv4=nRT zE%LTkA|{Yu{mz>X*=5R_)u^_u%*1dn=Z1cIc-R%Yp?|m(#i(8`1hH zr8|D1=%!TV)n-3`a+{F&;T>VfItF@OaGIiRBja+Gc4C3~(8u_Quw1=DY4VUBT86OC zAewgWGlD10ezDdjaNZB&u5adHK+igX2Q85tgS_Fn1)}+`kLSnt+EKp&HXOeJeJw1n zBO@0jT=BWsoc044X`F-ui*i@ zLOv~YgzAmc@~N*7vMtXtr>lQ4MD|yoLUc_t$njHvbnm>lD>jd^zK0{9BtOMSt*VQC zSkL$ks5EOCd5&<6Evn9TQ>x4hA^7pr6HEw;Z;p%TeIk4CB}W*8Z} zQXSepM+Wz-Ij~(X&9lBg^@Wr)*CK)^!c4bh+uqL#WXSa|w?^)~QhaUx8{qTCYtKD# zfkda-u%;%t_f`+lw&to@l;l}wBfWwrxk8CT(2hDIH?FC9$e=2$F|F9L#gNv>_+>t!ZVed01%!7K~;Cjgn*KBuWO=X39jdGR8w~R*!O_&%E;&RYcEICcgpE|0AY> zOy@a2=_u~z|I=ztfrUBTlA56`*?>>bL#RoL#z<;^?&;K$sIX59nelV@GO^Eog`w<# zi|vf_Ra-J~=U@#&vC9a=b~tua#&vdBiHd7Vn1|wR|9?RKe-X>*ENkwN1SEixR>1lp zuNP_zMrDdRgp|Kt{{{qnzeW0Y9MIm+Es(r-Mo?K!y}LE2@;!F2&_C#V^Z-hQxQ_dN z!w=qSRDYw6$0kDee?^4X%aaT8b14!CeZ)6D$zi-6bCqiv*%bpGu18fMMHe!aPXY7>OCLw)t9A3ca=ckb~QdAJ`3uH$)0gIY4RH zn#V_CBc-EeqvEJ1@mLX5Y+#hVoU9gT%SRr9YwAp*5%v$|5hQx=;XbCEoV=UB zL}CWN*ZPp$l*~*aCh`kG-TuU#2 z-HVfD^DNB)!a&<*WTH1mQ+&LzAYo8F9W!cwaedOf_+pnJet?k$@*z6#N823*&RS^_ zpT4AKctPkrmDJ-#$yp2aekkp;Hhk-^`55!mK3TcaCA*#mZXox<=!cu-FMX8BoiQK!or0^gTpyI6{%IZ!{pRuZi5sP6d`drnu@*9s!F#+e3>XzmF8y^xpDk{n^A*x?O zWa(Vl1{N~7##>t0+wzh}Y{ljFT4aghYi&ZqR@Wfj1E0VCz$B`x8nszkdEvh@Ze$xf z?BN=P1ji97eboH^x#9BC;>zIt)A44f5cNNla<2U~Jt#qvkU&|A z0Cc~F%E)O^u5hU|nLNNA^53(0Pg3!!o0LS@_%}t4Z=+#Esyc?n2niR{IA`PPFGtUr zz-z}e%dLBIm?|ZeuTw|l+~HBR}0w_)us>>P(M`H{IypP<}Jkg%PklTKhhxvsvy0i zO-s{6{D;}x+QxKfGl9Yx`>juHlOfN=O#i=~8bZWaszYPMlA)3s=Wd)K_{KJdD5hJk zolf>~P7$O4&*F)v733aO8=v&W%OWn8lb7U^5Z3K|QCrzSF1na|*h>81_+AjaE|zO6U@A|l1bjL`v-u!rqrtVR}*tS+;@_2|d)bFih3 zl*0R|f~*X;Mx`dopX)1B#MTvRlTSJL%&;l=W{*k2O(KtmE>B<2b51ct*p11v%BsZ2s@SYQJc9 z3vFsq8IOP}b`p7_?Lqz|&Q{95k1lPpo6L;`L6PZ9`@`E;1-J%1=HI5N&oAX4(vPMy!t2k8%(8WOZbW%et}%S%KkXenRFw zHeh`w#W~kzuy$`o!Jb!6XCAXu6#D@O9Z{eqA7mTkY$svS>yR6=&;uOm#ThYgGtM+H z348@Nawq{{Bc+;Ip=v7&eLsBBQ`9cJB*}`f`sYi z0oknwA#TsS@Ge0o-+_s{UOWWSDf6NWkLR!e^gm)m$})hYrpzkQxeS!B1PlsDW=Uqr zvx)W2DoD2rvJ2R>;e#krAg9&^_P%@r+?!d~C5G3FU_~0sL^eTP*fd_n%LZy9?-dVL zBs|;YKa5GSnXtDm>SI?ThqTJ{`oV>XZqwdlC+`*(Nzqb~SDK1WdGW02IH^k8Uv6DY znxbEf1A`)$j~VuduZsi`8;AQR#`WK6^_WBy(ja3vUwX#$#VKWlJCOcV4 zUK@xtEOpjlhoV6f?taSrZvLLUO5I-+N4&JE%XrlIbACf9HBPXj!FPOjgp0o3-Wf@O zZ>TlemEr`^oYvNcDhNd-)k83ZM|UH;XxuvZp|kQtVd=)KsDW`y+7WTf1-f41BDVU2 zpP(DxqjZCeiZz*JYp>oiGUM35gWVC1bcw`!OW$^ahU)Lv}C+*c1 z_^{wBt|n9BLXfi(Szd6JB$_^?RI+beKegOuagcDI7WG+tlwbquz;^Qu=;($`s~B^) z*}|Qt3$^MV7!2n++LkV`C-PdOV@P`byUvYs{lA+TxrnjnznHS2ch_lDv|h)`HD-75 zpDL;7w0@h}y`YT~jirReDEGBUE+We7`F=^7nP2XS%RsUce}Pl^&DVzZK;N^{kQXWB zrCZzMwkA>4>P#uvmteS8y9y_X;eoL5@fM`Udf!T1Wzgu8hs%{HqOFY^Tg<#>OjO)q zsK>*Vu>4fC#s~SDc2u<$-joPMxF-P%S3O3CAwfRO0>2bb75H!O3Z^x*t^{g;m2qli zq>a}dRBgiVvlhZ?3yg?`m>_%)m~@gAhf%@aMJs3ZR`a@QNGuakkh(#V&r&%&5G}{+ zy72%K5CF)w8EhDdx6&wf;eA$2uAa3P;U})pH+$?>o=s3gaA$A~_-Q8MuEfUSTa(GM z5-`WO3s>{^K%MU6B1ukM>9B1WY^UNEB+}45mM{_y)~?`vY5zT;UgFETI)7y)EXSeu zY`F|njwuT@P&tKmgiJ<@lCmmNd{>V7{LuB9PwW%%!j>yqn2tBH*(=dWQ_~4;l!X#7 zC~%OKz!KdKX+is1e6%xXp@7d(5#uoP?ekqf_JW4)`6JgtzAI&sX&}3is zNha0{{!_q~Q0nNA31#1@`eDCN+M)kiyK3*EWh|rUKuH z1z~_f4A7>UHKO9x!lNb=DsR=YdBYVfdOxn@? z{2(Q@(tZ!4Ey5miZ9gV!Mk18hW$Os~bBD8rLw7$o2a~=d;6So3Rh!{Femp?bAir^i zGAYcIDqGvYFm@z5Xc$0n zkkEDm;T^NI0x(HpnyQU+d?ZKBz}FE|pcTl^|LbhHE-(uIo%aNweuK~9%JKH2PbNVl z84o=kUz5!B&ya)P)yU;ZcF80R)n-)J4&m~ch4v;cV1_nD-o zc(0DU;*GWA4o^T`N>sBfI~dwW54?Sd{klVMzL-3YX;v$LWB(tOqhM~NfybX>40X|^ zOl2aGU~=Q2yss+z-Uxj@&25uIGH*!d0Ni!))kN zc+KJUm%C@r_VJCy{L$Wp`ahJvI9=eSsoiI8_>xjR5C+k$<-u2KNT=yTqlmI~#S{J( zb9&o?1@l}yVkBTmQk8J3b&U5`#CpQSbGs#-I*yWLqUOI72j+AFTU8J0|dRH<*z2<($Wds!vv;IqD&A1Xi7OVV^@N8h$mv1whmh z6`QO#B_G$DY)gsuw-9poKIbInAC2=YAE#4;k|4KUBt{dGli$Fk{lJ)=7mFF?ax12$ z0=9BHVg1AXh~i7xR!rs0RZ%1d)1E>dLGgnc9J_Nq==ddbRlzr*voxcuflj)IKPEq+ zOgHRY8OQ5^x2pySF$ptvC0+M6u;A5nh$^KVct#GZa|3%tVAq)`$c-6JXAXrk1LX;7Z6LMg3E(KgWEgvB;emo4?|zHO>Fj_aM^Ef(RyR`J0D z=hVY}=pf?Otl;kY`PRE|+9q{@d~VaJ+3*S7TX_<)=zR|7O*K8Zbwxh&kp=FzYwlJl zm^TXA@*6jMMz`$?mpcDYqMQGr^bhD(?6IC>ee;BCjDws z>abm}g5uLDJ2R_jbBeVwLyV6}ZtKcN+RpAwm3rL8btyb=j;e!1d!GIZ8INu_?XoY> zV-!WN3Et_te{VEZuS7-K$Szr4rT4&{zEkF~+9qk~L*RlA+&LzI#i9T~vXB=z9rnUc zjPoijZSTXW6NeY-eX1q0Ad~?>GpBhI*9tw5uZ>b}|8Y#-rdIWDj0ZW6GP+#Yuwvql zk#Za?VW5h1?-LlPH=o2fKl?qYIi&^gN37I3U|@I2vD2L^rAwt$k_{_neh6FR>V#)k zC{Ul{IzlXj9&Kx5{>V)Ad$8AgJ&oxf&hE7Z*8Qjh*L00da`74`&gvoLQs+iomB)`O z|MiJ#8k*o*t>b4Zi`fWMWuAobJ&$rCl%e9RrP-1{JbU!9<54>IE=Yd!bJG#vd!oa!q+!M(nYRLbAXC@Zp`z4w3z((Ag| zaeZPBHVt7=6CFvnK|dV_4#h*V%ySvvKnk|BMpPp##QYZO~$4;8> zXzKWH*(5Wdx-IT^kzv{vh&AM*Y~oc@3yHZvTL@C#k}*sU*NYy|UDg-3d7iM7^u7tS z!MV`TxMk@f_(gl#EGP7%qzlb5uFD52D~eJLd!>7oKBLSWQV7R*V04HhrG`%U$9Mlw zzL^Llq!@AYBCuaoV#g^d*ZxraVk%vdP=CM@ozO)CeEN0v`@sC`ZZ$_DBLf?!>`-Ga z7UF}kZIMrg0iQp{qHX7bgFMlfc5gkW1xOkktPg!eiV>K%MgRuw`-V!+5SiYY8Y*!8 z`Rs@Kc=jBJB;zV{w6ud6=7l%$Zpkq@^u~ca1b`3A%>y@qsw#k_vrY0Vr$TQ>IQ~ts zTkJgki<%m@ju2Uj$HJ|yng7QRt5Uy1$kJAihDY9${on&+QT3dpO1=`&Duyr_F@2*Z zce0$nj>I%{jRKRa2VzffO;U*=c_JBYAHWC}#5w72BrfGs8e(Eik6Yo)ynM`>lj>r@ z{nt!~)pDR@UaO*R=r+_sZ|%M*|4E4G@8pze${UdR(7ESO>CR(t!&doSI+4>Exsu?l z1qH|=i#*^8K@_Lf-9(dEp{CZb+^i_H2KbD0|wc-TLGXTc;{*<-j)${H&ZZblPwY`#y-9sFHq$5o+@VGur&n&x3Q~ zFSIrYUMN zw!)*hPrs(-Lp`V+z z-7(HZsLcTIs<(=y5k_^XUb(rMk07(0uTkU;W3Z>i8`9q0Ix>YP=O)@k zFtEeCR7%(va+iOsU}V;aXBkAOK(VVwjxz~uxo?JOdo(|USO~AuIt{gMhe^b{@d%i4 z=J$D~Cz3l?ryLx%^8(%d_V}7OfHRN+Zit--OU)8wA}2XcgrwdJryz0mI$&tm;XT@_ zZNE80L9DOCEV26-r>-3XFeu?MA9p1jPaP@}cs#1CFuJiPYC zxBXd;NX_E1!JvTJRH#02w*kNfXP4dH*SV$av%bzn6yt}6vxQANgBaFRk#WZ@PX9>X zM)oqTI&-0T&Q0(96>%T8JV~Ot8(3y_YT?@#$nREqGQ9}kmv`ZE<(z`FGS*&JA%`J! z5^FApsx1>i`o z(&$wk$*kM#p;A$Uf-cV!OB%-u9|{1p?hb6=71vmIh2^JcIv)D=wgL&tunT-OGkc~_ zAO$s>}ESY%Cts6z@eVnwmv5&ZW*EL&LFchFk{ZqFfz3y{)b$MdwTT~hw0wJFW zBB)KASuIa>tM|A$q@x zf>xiJ8^Jtemi{AZ%rP}GEHYeqV}<#F1{hE^au=eFWX)1ERKO(oUL7YA1ktf~+F24) z*E1IWd;C{or#b$~;nq8$OGYFPBoQaJXhOUaNp7~i?8@eSj0(O3&Q*PgXnZ(9kC_P} z5B*~>#@%_!h8rBuwfK&#pw0h38I_wYvzgUsNX-o|LlS|!%bo~&+h2c75TL9-6dcp z83^s_>FS)B@)*O?mB1fAVn|mub@=!eFb5fkBu+-5J}xX#Kvym*U*}DaqTYgkDC{fI z&=Amb2_2-X#kr`F#emHCs{xSM`*6yVeJK8R1$h&?amkhLyrVWS{Vusb9hp%79E+oqQcW5!bzXN`+W&`Q zzcB#~r4b2j{okS0A4Zx?n~8@9v?&durKKCRv#%JE=pGx!i#ybhX!VJO)S(|2`f8Jzs}6ERRJ*FY9~6;x|UYXoPSRCqwz1u zE0fQ^NXyXfh=twb5X$PS$T!NVX|$$yi4ARjbR=lB_M-Vljhm`!$b2~Z+r^F}e8Jj4 zzsRtExr2-iJ-r0e-nK~rN6}22Rsyd~H3L1_7v!aD-H3m6{R1oP8ye4k7TN6fApb&@kRs0GaA+Co(NZO$w6{%)2WsOR>$)UvAzBsXxdbh>F!#3(v}NR( zds#bus}ATgT9{v8u%n3G0H2Lh zDUL=g^}hPiLrek!m4(jmpNK0batAi59Tek6sq9K-0``~MtmgJB`7vO?NM`B5t%vMO zklIx=<_oN<1d5iX>fkq|0dAdz1*s~dvW8bf8nv4#UzUgX$7Wm{N3t}3)8;o%hLnhN zlCo}lF6J8~>j|63SG;YCZ~R0#=<6~U>O|Plu_x!}hj=G^q#;J4&^T{!p4!_1mZ^=r zYa4n!;bJ`Nk22+e;YB(lde1j8jGK8bax7t6N3L9hnfe<ouv_rcoN~NI3LQ3HGBAY7`B_~je^QTA;G+B9s5eW( zL^U3vH~y-9oTTXEpWwcS#3w>Uz0ahFq&Zxb*zXHyW8>I_AURSDAJ?M`KPfthxd_bi z>ij^GK6;I>jH)e-dW?~ND@(B%G4+w6UC;@UM2u-SR3eG8>0u0k0D?xZIPr3V4sipb z^pS-a2CTL5*Aioc07N*JO5fyI|8-P-LqJnplUtvbJ#8*9O#&!#0W)x=H6|O!>NmCP zq>_Ry5SNI&^3T^aF6qIU?OKAJ7+SMI4;+h+BUSC~kVM6QFAqyXxjAZ5sxo_6Cwo8D zWxWrMy?V~@{5V-&$7EW7h3@$99SB^MIcHOLVS2SlIN}>jS zh1)zlpJqL7C#53G-1TD@BEj10<`9s}(UPJoV8i zySRKJ(|9{YcFGs}b)AVlAAfhoTXr!uGVZdT_DlZE?C6#m5Pr2S(@TmkJtqwKoT`yR zUEO}#;UR7;<>U#<`iFA-@bb0x3kHf|MgO;mEpCc%ul@j7LSE(|7x%-rv&P!R(L0pN z)>Oo#fT4@`n)Ysehbm=zTL_P!PkJp64+}J$L9$K%vVlp)MEA2ZPl48pgbqG7Gdisn zd@+LqW;-_h_CdnM^AtX*4i}P{=X_1dTKym`V}R1C#{!s%^18xo_uC`GivCUyG#C%k z?|hJ-8mdINKUWn$0JpkfEEP=jL6mvDjp1%L9Ek=#CmbvgzyGU-#aK|wYp)1mSOVry zP}IL~iYt?rS0)7Q4NK4O@A+pmTwD;wJQnGX4fBA_vs z=1j1XC`!hVaIIZOp7_YxnZ!hJ8CFvyS0rWL@}H4;1st4xYYV=qoUMMg3XwoFesaw+6t<0HgGS#c)saE7@$T0OMNlQl|w1?$DZ}~Tu zy5&k1MWC<0nzz8%v6QA!Z@4sdpH1{%`yzAdp*LAS6(z#YQdU5tY^`sPoj#3JFMe1s zy7XooXIOmEcmDu#z#qbHnB>Ze8OBf}))u`@RgCby&WnbMZM^qsVkq06Cpk6XkNRFM zG~YUqG0HHVhvj?F9B&b;orFj)N<@pgnsNUEho?d2IfG)4tuSfr%^mHJskQ|Akv^5IM;=Z*M-- z{?P98=!f||qAI*rjuV*V&OPH^Bv|DPRBFL;qMaQ!q;E6;>_q39rhUbKPHCyx@_v#fc+K$ z55sz3Px=`3tSbzUNAjr9G!S$aBl5vwW4y0wk(o(+ds6PjN5~V#Tp=0@fC`oF9UT?k z-=9Qo(Bm!6?lKzPZieIbZT+oOxj73c4| z{+vO&$4d^~53fJsf{!QvBmPPe?l|*BzJfttGOU;?#n)cm6~59UpQ;Xd`-UZ!1;qvv zQ1wM&)+;z^DgfU@zpTAiGMBkB4 z%4*RRsCnP1X2vt|u(Y0IUUuDn{010h=|99-i& zMx#hr5J8kPnodnl*Ks|o1|_y%e)np=lwH$*&>ry&C}v$bio{oq7tINr1N;B5_QL85 zTupe}7Er{J1U%+a@LE#Z^m94IeH~A+gVNY^sT|ak)Eju)R65f7KJCAbPOTc_PzWZV z)N&WtL2UV+%Vg;Hzy}P+Y}w}PQ1z;IzM2^scGp6~U$CU4jcX*$I%sW^Io~ZeS;JP% zWfSsg*~%L1xh~KGhMRorps)FPB$f}({PN`h2YU92mh0xwSogBjs+uDlho9GU|MQPX z*dI0Vw(EL4nD7x>H5AxUDyyqtyi*o_yx{VC8|Fw*Q}%P0>TgobiE^Jo(W>6pI=6o) z8Dd&XzJ6eJt51RUZJ!FTCCE3iMH+0}w#(^goW41=sP#vt^%0pP47FPtWJQlCz0hOw z1ZMwi2`7H4JpMv`HQ4`?q@}D;x5$o@E35{&bj8~PjT%ptE4k51^)?+W+dg|aV z`Tevw%GH6Y${cZ&_Pz9F(|CLva6ylju!&!zfR_x$+uCm8TQ_T?T(V9gKudhcv=n7< z;Y_IRMrfho3FLwrb^gEx#+r1lii3eCP?U>CiA&LMwBqrs-FaEz0!TDKB_ zFj(YSy?qB~h1EafC7)(JgYPYkT7+e5!q)QaN|X!A>SHZjTx!7Srt$IV>YI1BK~pK4 zmZ7TtQuE>_|GO}PD;9;Si+;X|Dnca0q`_E z*t(X|X;oJXnaHE#wKxur?xhcJmwE8G&4MdW9x`^NVE<6qPU3x^Yv&*GjD=3uKaMD| zzs1g#G#F-VP)vNfMXZ)$)OB(@H zGSQ26VQ6|9+v&Jg`qeBU^Rjg9nIIv%iri}nzWsz2foV$nRgR$-ju*Hbo_UOZe~T*! zTKS*{5~WUf6@$HVfF0)9UeOBUfs$$YIA+=E2DN!Db%${FS`uXD z2PUt6zi~y){!N#_o13$lLc3V%Qq6-vWn1GTs(&aapq`j#5{A(FEC|4o0G8=s&!8S- z^b`RFv_{m>0cg^yQ;f|NS*pXekJu%WX8T)@ea7sNZ9i1)PF9aEo#C_isCRE|>>o!E zd_I$QFigXpIac8X#y;vSHrzB3Z^Od0Ql~eKCJ&6F9b=p^?McHG8!tRmcrl*COx6dI z1D+l70Y*IU&{;Bp_2kYxr5u31)gw-Oa(+*Y0Q(jT9@=H(l$BJ7c!oT7wBwIuOEC?B zQy|-E(E96=*35An?VfEwbNcRbuKa2?pI(99X`^;X_}iFuvDZR_k87T$^Fa)zIPTxq z`efGRZ-8XtZstAn5vvr9RlZymKN(gjv-<=15s^=kfX@1HuM?r%!tcnVB@(Sv-%uaq zT9+^2xcmC@Y^`Z_W8rG$QmN51Pgr-(wH}hIB+NXhrQhh>kw%Z+1Qsk&-UP7CO2oxi+$}ctCQ};$hu7*I;y(_W|wN>-DKA@0zb$C=v+va ztM<$o&H87s168B($XK}W&k(>r?(+lF#UNiC>ubrvq9;|7A;%CMIza2v7spMf)Yro= zlFu@;W;FtHhxNVLGdNn?^(;kZn>3J#liP5fR&T;NJ^6r3630`(#o~yr#h_G|MQ7)s zO(XuWVTa;p@=5C;>ktiSri$=`8*jeTCZ{b9^hj{0i*>}?sorfThr^7p)wg#@U3Jhd zV1sl})_K#@*C>0;gpX+c=ZWMt$5e9W%Hq}{-*aEi+k&#?SxB`UdPI%^gwpM}ZLq*o zA$!j#D`DON?|wOm?A=h56*y&J=O96r!oxCffwR(vXH^%`0D}wULqVc`qeIC* z+6@yV8@8r_LodQHN_k-lRd01hLRFhJj9wW(Y%YMbU^-Mzn~PNP`srG=02?iLvc&Ag zd$^17`Bb?9MI9Rru&ojFU45(1jI@>NJm;o-o&;-gxE!N(blULC8l9R=p)(vsNHeNa z;&az8h%ek9G+!%K(q3?w&+)&6Mua8RpRaHkv{G(f3sFVo(}h1A#j?#l=_x$T-Z9I@ z0g8sV0(^9tc%;cJEMcU}bX&KyJjFq3!6plk<(k+U0iKFLr3IBbUSs8IzCW-rCNoLw zF+L+lo^rzY1IbJ{|7rgB=01s}A1AaNb>}$sqKf@VY&bNTVM*z^@zD>{nOQT|l2UJ= zRIK)R>V90ehenY3z!&!)Jf60P4B3qgE1;2e|H^}D?4YR+X=9T{ z9DTA>U`$e?#2nLMp!KWP%_|3OR)1B~fKvO!SFl~omdvas{cPQ9Zg4dW-L&5?V?9K{%>k1nrM7WDPR zqxW33}{riy)Q+ZP=Ied`C|j(f1$K1uhO-OLySusXT?epM5O0<8kPH1aOCiKvHB}pp zsxBWYBn-#rZZZA3sI)ysdp|V*Z^0Lwj>1>>DAzDjxi4G$%xU+k$le?(f+2u&ab_4- zt!>?vePS^zXLVK?=_jS0Ix#Y+)Mj zOgW9cvo3o=&cU%fMhyrtdZ(sV75+zSKl9*Azz#S$5n1WdQIi(oNb#~+z9C4GCh~pc zvUQ&cser3!JNJyqj6DYTs*3QO_g($|{%_lf+O63@Q=38Jq+%y|KFOEliX)VgETo0$ zsJhP$_7fOtq>UxSj0|Z#e@4QW8dbyvX8ZmJR+6gdj#tK0la5!Y=aa<4!`tHHo7YP> zj-Hi9KGd~`c2<8^IUeiPxKn`QcOxd-Ip)qjH5m6?r|wI$kA~!PJYb;#E$pYc$rH_l zuBxE_%<>SvbJU7+@66)H9;L6oYmh3;HJ&xE=n+>+yVn8*xL@6m;1%LvUj@q_R5VzT zjdTNY1Cxa{Q_*>nE(fQEV~r?V3D&&+myj(jvCE_;B8X;0x2<_{=2iEl!WVi4Z8@DS zdU?_D@rQb;@>A>qhBAg70QvZ2_&wYU_$(@3z2c*l<)P!*;NjUKcm^h~ba>x!o5tZL zOqjf*{7J?H0oz6^h|^N0l*5CcDX6OdIe@V0mM|N$Nj}Lu)~9I=0xEIt4UQXM72_w} z(JIASDlpoK>Ps>u8A4n!j;1gj7S3oRC;BZDeyV|;kusBuwcp`+0VmKc49k1aBNs^G zy5rBXd8Gb6cn+ScPscuAo$_ACc)^#$)qai04`ZRp2O5AAdUR+(?6{MYv$-~i<=_Lp zi?TeY?8?z*fQpUntEv(U6k7%)C7twSdy-Rki8C@F*VSQtqc0}iTkb{u3zkiS+x zDZZ6fCVbju3^>6Nf!6rs+lO2pke0NK<;#Sm^pGdgV zX~!vG3f41-t!+KMZqQmA#wT_fF=dzgmwaqRPwZI(H(H@R5O}SH7VnLOgW#bulfFrW?DWb4^7t(_;TIQEfzedA{)yN z=uV&cFVm(=vjVd}e=EV*M+UADRVSC%+Aes`Ue8^m=nK^bgO3BsizcLq#RoGJ!a?Tw zo^O$v>*~rqD9Rh$ z>pnAP)qJr^eDu2Q^HJp=PzjoxV!fhcGGU>@zJ&%5lO~&e3^V60n~8Ni$5vLgkOJ>FJ&^5dAJMw?FS zZkZ(FnUN)VzGLN_S{lD?@SvWChx*;ULHrlE z&5xZFT&ZZDSw^OjKo5_B)iqYOl@J4$pg+P%1u5Xn9b*hHPwv9u=V)35NbmOJ4FL&l zGTttly=Xsi9Rb|@f^+N02AYWm;Et_wbfp(doC46UC?4GjZk@^O)cZ~dfj~x;$Tn5F zxcXxaOuh2va3^M+65P7sUsc;p)8;;v77besYtQ&>EX>x|oR}1=F^A4W&_)H&3H~6* zX+kSNb|<>k9!VxrGwe6-F;;oix_a8YX-v7fa)7V&d#p6bnM?b1GJfF0Wy>n?(%yd| zkYwC?OZ`#l;r)MB-qVX7lWh@I(y!VGAn`JDQM?fhRKz)@yewlv>BBX5ngln1LnB;YBZHb5k9{Mn2ji>O>dlanm-Y(RQ z7ZUv}X@r#d;+R<8;SfAS5eg8Q&c{=ieqr;Kv{|@wnECfXqwpcS3 z4i|~9OAnUKHI*!VdFB_Kkw$zw?jTIK7So&5~Ip$G`{3ioUf!zevCy`X`9qG7V54xiHE%=4Z zeGwBEFz>PSH(&nMgOO_zIUKg`$P%MG-hD{!dV5tp&y2~xo+B{%(ezi@{|d!k z{og{d&0Lc%w<Dp1B(I^Vil|6O+Y1+TjK2r{cs!1XmXE8wUh`I8_8slb} znKXr8hKfHFBn3VHp}gA?@aJt_x4JcrV)VQKO)bOJV=(Jf>a>G(uX}zC$Sx9CnXfv& z!dC|1doK>KPhcg|eN61ZS4&lZ3XC6!*#Wk1+16q;I(B)zc-rte9KlmUO~23Q_3V%x zDI1tF6OnvWUsnNk6O$6jTcZ@bt*m3b8F_8SDE5<-#`>=Qc#LY@Rgr5m0-2x~yQ{%i zR-I~uPktzm00NS`o1Z;74`H;g7KhIaTc54=TKc7{(lTq;E9fo-tDbLOG=W@OofsD= zQ1E|&v>c?WL+uJca0yBDUZ9H7KDTW0XLt#Tg&A*VI+V->E*i3)HD za08aoD6nAq*W)2B`MI{=jZX6-zf*_H`th}=>Ej(N9%IhXT<5*F2Vwm60?G>#EIGx5 zj!)j5TC(xjIar@0pBV0}V6;`|Y2VllQWF(n5JZhG>zm~$)Pv;~<7OQL{LUy7CShWM z^z-4w;x&dw3~Nj81D~@wgVf0#X!E+*5D(C$Q0R-l?=>qhDqb1Qc;of%xZm}HL~w@9 z!5(sD+q8)(lwkC%;?;cr4mY6(ZsUDE67u8vGy5WQ;0T;)@d+d7yWa#>yV8u~`;hpdV4~X}2 zLTXcOysul}mqstQJkKKI$|$-w0LlUG!PfJpaR4*pq%OnE$nm`VeMcgY&awExexpKr zC$51Vz?=FdGrp96rtP-9Q8*fGS|vze*P;P`N18p1ZU1~6o==cZZg{A+(lsvg#A?vX z@%AW0y_qW|V$%bIes-Aky@L2=#2jZPG<&BT6cXhOxqnfM0IFA+>m(XQTBEK=WzOYzmxUalxS5wxX~~;U1ht?>TBCM z(_eiAL8mw%&g4NHHCEEwhC29{4VLh^1{>1S7fy^==rh*AJaC?o3%Ii-+Rwqd45WX% zFU5EE)g;j+4bL)+pm>{INi0%u-(2-1YOp17?mZ^2^c-XMsHg8acb!@lf zQ`kFguIwK=}C4bz*2K)QYbq7y2FNq>XFoDiL*0h9;teg};%F#M+WTfO@cKK!Ec>QXH$1 z_xnh;m&n40PTtzQZh>$0 z>#h*AycM;WIy(SP<19`?Ucd@kLwd3$dH|CH;yg&j8=5xSDaB;V?_k?q0#p2On`y>g zFb!&podsCq*rd*8V)uH|8mZNF69OEJ+iEBE*|QG>W1G663dXXH;!K0Vls0KeTTQl$ zcl|H8-s)s>UaQ2cc>6e21{#6VhCBhEkxsizLzU6zBpwSjX?HST4s(q&REdmy&iz%f zL3~i4eDfPKiPB8a_ZS5(&VFpiks0|7X~F+P*;_@m8Fk&i(9)IyMT)z-HMr9j_u{U> zgA|Huf#L*rEyW=?!QFxcE5)r4+})uk-x%-vmzy)rxywaH@+5h(_u6x<`I{y*S)Z`w ze!q{GX?e|i0aVC~g#ANN6*9dEiyMTw_+h5zN@c#$k9Mryo(}DuvUtOoRs%MB+oj4{ z`sR>lc(C<5wNe#VJB4~`XT)9ZwK=UysKfHyC)7HZvmcVYVEF4qmc$Oj;$mtXY zAmZTef6wHYezsI1FZ5SGMwT|FGkoiKTL=-H)BcUpV1Qld-kW)I&VlQf)+aV_D3t^? z4pnE3p87UM{a_vJC9X^=OuIe};elQ-Eul@Ez$=k+5U1rH$g4X%SLu{r$}&?lFVy68 zW;(pdVQ`X`?znyZloN!y^l)+dwfX^eW#7rox`u@Q zm3z&^(AvhWhw)b(_aXI}w#;z#Z{WIyyfALc#)%LV~;qGCXD;F}F+2T4D z6(Z@>kkMN?N#F2ZNhPFg@|X>2w~lr4Q)^|pC5cEGRK!A9<9u3Pt|@PtHTg2;dmY7A%*bO*>$81M#rw%= zhpLAn4Tqyg>`~*#J!gOII(fwn9&d^VHY>xpvcR%xjT0MLc0pSVUVe;QuORziW z*-!r9Sia%Qw^!8SaR6a8;2QMuXXK&BhR3hp3NnwJ=}15=T@AT<&mP?qTkPES7pmH~ z6?66mJNv%N4wu>GEFLt$O4@h_PF!p_pNh1);`=Sh&5dihc{uu(Tfe^>X!^{;37jf{ z-5~Sc`vUhplc#r|u8t?huumROPQa2Az5%)ay>%hF?Pb;+gCJ(zcX8Rqv~8;+E63i7 z;KGwcHu+Ms+79(0||TxiezhnWMy1o%C4Prw?Q>H2qV zs|tndxBDaUi}}fy4@)I~H*X@BPTNIx&thcU58gUC4{Nmzx$0O1vfF1EVAx%;y;}6j zekAdusCxPCI$W3KexUh!W~*6-ZQ%Q>gC)g!q2MG=I(~ouHQ~_eK4;0?CPKiKfOKls z;!X3qcG--wuUeDc017HqMxGW(TzU@xkw$h2=4K=V5l?Ao@WU7wW58O^aYe+|CmX=| z_vVJDypSyQK$6jIo;mM8+6lzTpYv~qN$h<8PO?0ze}(&@YI4HXGnpGFe< z9kr2Yvdl48$eCu+jlV;z>w=NLqVzmITZ1n2t0rETLs~Ti+ncX;Dq)KvDo0ElsNGzB zjJe?P&JXzA zg{U^img;e?w&)1OB_Zi~E1Puc%$g`*)8dk$7L%aHId;H1_r5-EAlJq3TaKA9l^R9? z1ZN0nD>KkE3T|X-TT^NL++7+ano}t*?xI*54UO0^0`aP)TGn~L#h5#9aWLZfdh6hb z&ZLJ?UN?SJB0&7=B}#`o>p_H>Ehl#Ekke+=iI<+H?%T-0#<8W*cr)9c_K{NX;$Wl1 zjZue2IU=HaJ1t~z0o8WC#lBObD5k&7d&r^0XU@#hfWGQ;K+GAvV++y~n&eJ?aY4*9geR{kNV$@;V!71DIM2g7_m)wo?gxg6_S z85cbBR-@?oAjO{e6IDy4<~wvAYBFt0Ub67TQX^P8`2nzecDmn%I%rmx9gylSbl)D% zo}^;1hq$$msd`A>XX41>5mur%tx1$QO?q3`_1D9 z`7@pQM>IBv8P+s&NEekqJz!pY!}A7ZLO>X+C^|?TPkeQe_nwS>Q?&U&9JUd+39c?J9W_B-&RrSqk-ZxxBZsFqslGc(a(m>z@EJ} z)481pp11iEjZA{r#QByFGa?|gB(tz_rcmX_kE z%FC;OAqW}h@Q+T-WOqzu7VDL(PnI9tH^i6%-DeCukcR>58?Dvr{dtP%qb>bfEK6^L zZCB=oaLv0HOg{8HL8y^*bm_r+H3zJlPuIzm%U; zsuCSIThLLLNwIYGOG&r%9gUyKS67U2bSW-03gAgK8LqKD0qG@Q_nIxdB1P#Ks-p<5 zteAGjCsiEPK2&*KWO@i&1Xp)0`Qb@X&-NsTu42F3^4>m|TZ#kDFArqfun9Oa*vgC>A=x;8i|f#qx7A8z znQW>zRe?|O6aP@&AJE6jil$FF-s{+bC*Y8a?WPQcl6H*qkr4i#11b^FEZ11|MB8Nz zM?0K|O-R6`$jHyI5Mt%7T%0|Yym2-;pgZ?D_HKB1Jd6N=#$UQ2uAL z#zBtXK(l2Wj6*GjxfEH)#_x=%xcl7@Ge-!yg)&g>e9cwa4@?24S^ui$c{2{fmbf8x zinVqg6t*EthwY)d)DshpZJi1M4ucF@(gYl7<$ga@Bv|cy?Zn!-tQ2lT*YE|!f7zLO zWYZo_)rzHGreBssDF!qK{_pQ)SD63nw%cI|p)Q`WWV&}#@WE@%Rd19;KIx-T#Xn7s z^M>z5h?RZ`<=R-~Ea@B@Nswk4I$LrtI4<3gU=}ne4wNL=Q41iaU|AN<`&7d!$$OXHe<g?1vzYlZORujhuH-*OC08McC;{T&eL)rko;)xN@Ysv z6v|QwzUg&9JS2KH)kLZ$;GI${4}PNuvP)5BZp>0A7ZMg=THe`^DSL+$Wrj_OG#kyC zGeJA6BI(bL9z(CwVBY9pu^k#ja;=dkb2Loo>mN=V+rK;nNBR(2dmea$gMboat%*eJ zOE;&3H?X_cKnJ&>0b;L0*c$>mxh0xGOTYeAKU-4NdErR z!0XA_EAuL(T)t*@n4*Sl8yZ-#SA3R@`%yFjJB3b0>A1f;+RW{MY zx{*m5v<6t;Cz&fjDQC!*Qz1{^@Jm!jZFrua$66$`IAsVBcEH`?XniF@X;Sl)Y4cHh zJHR+l{*A`uYx=P1+9YGP<|4~_qJx|+Ho>EnLvx`kA~|;#Al$Ilyh7`Eb#bat8D^A} z2o7oJlp3ne71|oJAdVdP{58cQ9#1hCI*8D>XLP|Ge?Fn={N1dW{V3#`wz8ECVuOC_ zR-^mb>V3k950&}$E?ap%1>S$ufWLb{82l5rRWHV0+1~~4`@KjRTF+2i*tO%bDaV8n zUx=F9Q{L>zPTjlUkT9EiZSk3~!9D6EcYB5hxr6VF&&MK$uFXcOD&=ntGU8#Htpimy zZo%UtdLQ4Lh{!3m#37p51ZLWx_PI=WUwFmsQAy5)vJEfBz>P-ia5X! zkU{v25p43jw9WK*asAP6E1AcbXXw1rtyDI^_J>@>-|g(UIM=mrd1BQu)v3(pA+*VZ zzIFK;hF;fdtArK_?^Uf|4cA~=hvKc5=sD5G4sD7qIHc0Y%#2!|t3eZ0TwN@A^|M-- zY8=Sz%vlz_dDWNbZviuH3Oq4_#2c3`?z6@9BlB?ULzNp+^fW8*paq-m_c;x`Hc9TD zYtw%y`mTA$#Zm|t>gi|Z=PpSc4CI0ls8dnVfJ`pvU2X`Y^#+s+lB>1yplvcN$6ui0 zmntZCr^P1CvIkqXSQVcxyNg^pZUDT>o1;lbpxZdLDI=c8i$_ZiPPOxg_{BE*X9tIf zaKwWbL?qee6Toou0|ymO;yMYcPy8~v z@kphnS%PcIPm}-?CC7gx`f@b%;5SYE|k|rc%iTUwCIrEnXya_I%QVir2kXcA`Cvc)g}zRvx=tfa&~Y-K~J2^dCq8hXhBw7Nc89b zRdfYnLQH!tjwSkai95&0j=#y~-`Mvw%yF(l zYDj`mP{By0iN1XM3KP5Fam*qwJMDVDYGYf>!b*iUFBJp$*H*KteB%MT@p-a)v{H}r zq-No=7Q(Hd7B>)`06U#>;^aBWxN%f{Tz0lLw9HyuRWsK$8di&~czYSKclz^OXkRx9 zQU@YzEvx0<8f9qJ_7lm-!I|eaf9l_y|m)x9GR$}7o@H3uo zruI;Bz;-w#Y?J4PQj(@mE9IFNxc(oRiP_?so!Y7ACx|e7Mv0og=hvy4SFrxl8;B~s z>C1>bWw&xDZYDGyw_&cTMo|lI_f^?fnwQiJ?ny8XD2FNY=1dkAwKx8-^HEm-nGk`xBo?c60`!aQr-L!bppTnra3dnuF#!p?ze>nRFkZ4A- z#Q%Fg%ZD?nEM53k5ZOWOM4Te0_4ZNFKECF|`yZY0N?PuRoY5{eU&hwc?!$p68N#ye zsk7cYvaS^vHLyCAlUjo0Cn>hf3nzP4c>1U8;kCQxHp_a_!3iB0;pA1WjD+m+qnp($ zA4RF)24>?OSXMymgk>J!ch3Lju#G9B^eev1Dfrc)N#XWtWAa-C2USG-5e1gC}M6q*#-=rQkR{W>eSc+ z{zN9W#Wa1Zhx(wTxK2+Ox+lRGjni}n)S>Y{Wi*wB7WNFQ-IYe-C1O9s6RswdcaAWj zUn_ceB^25W>^5aOiiP(<)sZM(LVz$J7<+1uVa*bhX)hKnB5vX9s8_i(~L_&BnIHv*Y zB6g>D{%ZHS{O|W@=3xIrdy!aznYSmg)XlkD#vd{@!zUt;Af{ zfFL|2$@6CDWPhP%$GQvzt5m_}{r?@pQ-(p@ip^W&)EIu>1 zA4OAY?HP!6_-R5fAei|0(1a{TR|dt#<;Ut#JqV7(;%)FdS~-qP0-vC}tJk8r-FyeEyv>FMo4 z2Go_`HnnJ^+1-lWmvbl6)fM+3TnSL!SzJGUwBIN@Mg|Elpnb;B&)4BDq3G*`t25eT=5E9L^Gq=elW*G&=-@X27GFP2e<&)^(Rjb?b|O zMywF>AA>)tV%aiTX5Qz(k93W=-jx)3Qj7_b`p6gCAkL5lRV?w--=ebyFZjB53fWMl zwK&0@1gTC$d8Z%ROYX2G*1U@p^gwi<5f_i;O#bsTbz&;k6N)M0{aLPA)Z-F6qw++Z zBY*HiLk{1b_GGQbm;YH58itdGXYv z>GyBV>_n8|ZhKDjoRLSk(%9N=vuZ2&qDfm^E0MUoAg3F?QZ;TWW6&$G?8xNx48X=KAPS_iO16DuF|Wry^mY!I522#EI#U)TV>Yin?b z!9hA5Ww~l3wV`xbmEkdmZP%^J3>pA8o%@_YBZZEjA`kttsM0#FY1qD#NppvW5 zw9oodLoOcJ9jYsuqD9lXV5F2@TSH4(|GF}y$?d!U!haiCWx=i)*{b|-?2VZ~dey9V zK0`Ms9Kx2LTKVRts!eA*1t0HXkbv;3YVbc437{m{{RxB!oJgNQ7zY~Mu3c>NA_3w5 zZ_j!M@gHg0&rW`o=|O1sidIzh)ex`IP_iA8*?8unC;Dl*dgzXd9N*mFR^+E%Hgtbm zGOU8n#X%o-j1j=hW{9ATEa@+w9WsPlvyNfuNRit+aq#H*VsXyd-bKALqM8rGeWKb$ zvOu@Qz>l_TRYadt)oD#>LYo$~467Pjaetd6(YAd($hQ-L^$K1z`89Xsnt-LtQqT33 zlE^|SbVO?ERzD-eKi1}m^A>tt!hJd?BxViW6}3Z3#W)iz?c0a#8nj1to7wq#EwC-# z=;i(>lxGOT_}H*aHrS@*0C%E}gn846NBe=2&5f7iUT~OL?|VJlL(=Y2)rUu!#K{wR z_aB=6dnAQnyEILmfFcGFQH}JRiJ1E28ZL%ZZ(>XA>9%5*4`2LNQmt|4v5GhDl>IGB zRrlczR8?-#b#D(qvF^IS&y|17Mb3T*;I*V^DoWH#j|!&;-&(^QKAf7>)Py!`Yc| zm`Y@|RkQ~=YD>AHm3a)zcU+4{T|`<^!sj1K=&WeOI8$HsX3)J!^^fCq)_E0O6N&&S zcGRr{ONT#I4hDXzpZRm>ie`YrAX8niqtKd$~PZ6dAeOoIsS4=cu?d zk!Mu3Cqn8C_s17`_iU2=2NtOq=$9}0KLSljuVv}P0=O5}_K=9jx98Q7Ssj5x#vAi( zBqH`@Z`LmEssyk*^mTNor3g;FDcaN;4VxB&X6d1bL7^v~^19Ve!q&~>eFR!87VNCE zTpqpk`IBljh5ZU#f&yYbn|bXiCaL)GD~QXZS4l3GaTEU=x_>w~4m$6${Wu;WFedTk`atvUZpnXHb@QLM_Y(G_~0R*wx6 zdNIK9RYlzx+3t*96c2etw%xp6RxtFpW*#2;SY{|h)0QfVOg`HZtD3MVqB^T@`^$l2 z1A{nOU%f(*Csh&aDtM@_IaNF-7S_TH3U3S|gJ~BI4~pwgk$$JGT54lp=h4H5M^)!5 zeu++4g`w+|s_+1OtFiefL7~ere_EZh`NU660XiRNmJ!J3u>r-e?r(h!!@C=`CN(`{ zczA@R^hEvypmno9rfwV@DwYjG+hG!Ih}{dQ*CbcdVSM>ClgRqAAwJ(xtW%gLqc1t% z!j4!c07F|dCM`2r6Y?0Ee@sf#SSHh?kwA*KJrF9kKHs$#gT4@BJI$_o&WwG^Axr z4lyE(iiGZ@80SJmI|rN|<&GP146aUofk{Vr?mAT@pVv5(YT!0U*c2cnI5NEZ>`L2) ztaq!P@Q%rZ@9An}DyYfaE5>8(jc={WntP`RUr#`~WH@VY3US9p_`vk&Qc~e${uVb? zzXw;^lyK|4g~UIUAp@6~kCyv?0WE-$l@S}N6hp5HBEllQY=2-_aHSV{p7W zSxvZd$qu$bs=4Fnd?0nb0Ytk-%)hKkDh#aNICmRItX%@NfvPQ8IQ)Ybu&HdS_pK5abxv_HpI^)h{=Ct_FJ z&kpccen#uX)MY~YUKcY{ij919=t6eVUh&PqQ3R3}> zTuuorpJ~x8&@V25r@Hx}gh|ERF~~@^==#%;UC%qCH9FYV7siVq-CJG8I;6oJjaOlR zVD$ahs50ORyQaz4BCL!dx@P`k&f32;JevElU7=S0Q0lVl@9~Q{oUOHF>rri8RJA)? zr2ts(=7lMHBmmV~LfdRRG>!(w7wm#wa~%FljmLV9qfL%&%Tk>KZO*)$bo4O!)4kO9v4k|;ezt)o*X>nRmlsMGNmy~#n@`oxBj0iG9(c*=5~P+me8g|>80VCURC7vo5G zihtr}`$3oIngDF3L*S=91a8x9%Uxf~x-0+qqLn*R^J9;Ai)t z*TSHE%`N32Y@3m%-18GLeg~Zapq&c46O7tvg+k^v9TTvr!*LQ8vB zF)AL)KntR#VCo#g`9EGY0VZ*`a75lX-(ypIFyGPEJ54?Md#GswDedQ}7+Nzoyu4m3LYF&}*HF78ZYwx25_N!_`$zg0sCD82!h>rRR7A z1aSvpOQ7P*qsyC>`!ZngE7(im;~{a_%=XWp9(^VI4lk(af!s+g$!)@!{JP*xH)0Qj z!3OXUAmEFP1y^JO4UVz2YG1)h(UaMJ&|!CilfNKcv&_avFYJdNWLa`q^1O=pE9Mj` zYP>X-ywFK6=rSsV`9%B0ebn*uDhT%^5|&Fu`VYd(nn664!nU}kh)F>(ff`Q`Pu z`L6tM++-ly#A4AmQGjE*e^#eg+(t>{-fbFEO+CVq5exrP4{pZfS`zChdau^tqdJI1 zRDfihS8?5l2L!$iLVa8)0O7VauBYe#V`7n3E6=X1ir5S=(Mv-=h-FEiYV)dsSZt_? zfAEAP&$A&(TKp!S6Gg>55av6?;6ltgk~E)&3wbZwcqEL7&(OBr~55DLOVOSP!mu?RPcEOaE*(%oCHC=vsq8_xa z2pdZdLvy}fwK(b5bY?(0Gj%iuMkH@!;ztZju|(a!d?=Ej!aJLVp|H)IgPv9o z^fT_KTrXcl#D2jc8`%g4)6A+IO$qMNiAR%1WVa+=F++&{QgQv6(8ISNdnNGJTzdYN zDd9sb>Y}^jgv0Rs0~wCHK@8RW+`8jlk0!eghd$IQe8ncyeY$i>#?HD|yVTc~rcf2# zU0yX8?kD5B7Ug%gi|dqAO_qlQFl zTS&9|sI4l0Eb4<2~@6x^hv%PA|Wuol#iC8lwuVNI9u7TTITBBsG{V zUfI7=>{t-`Gj8zm+Bq;@Z0 zH=fCfGSx=sn>^#A@#Rtn)Ru$UWZ6cnbR;W9+yH8 zZ|f`kLsDg*`<6Z-Dq_lnuFz^77}NO9(Lza3PwFS*#{eN+1+I>yk;UrEwwGp{K2F?J zb@T1{UoqAPdD#cg*%~y5lo+=THC1K75MN4rd&i;Qb+5^vZJ@8n;`-tvFLT<-q#l_> zC1W&#CGKiAB>r1YNw!k@k}A3ib1;^Z?rTY%&tc*_>KtlT{zKV!ntWXpxXxSdO{N^K z)uAtNAixja^BIWdWbU`I^Xk9tzZ$!HwZztux=j%>F&6(axFWPfo3ExBtk26!kXWBF z{VCD%k-G=MrB&p)DrA(2NmJZLbT?CrCPwxc}B&1A?}~Q&0)|%LWLJrqP=Gv8KpA9O$icB zW5kj>?MEC=o0cpHUxLKV0)-s)Te1Vh1$i8xA}t=ruuPGpzknjD6Pqcr!@23HW*sCC zh8Fyt1W4<17$SspBDcEDP0ay@H|TNVVdsx2%J8bE3O6T&E8D=#p#BSc+cnHfLxS&f z)Y6I>EN8Lx0jhh`4g+nxj>2pYw!}{?q;xq2klP8P3PxRk zN2gNC`2$HViS&A6A7Uw6jtbUVh-<4(YrH@jyiz`)mMP9EKG@b!W9q)M{7qmmYjODQ zkQ?bAcTwduvCty5&#spI0K6p06}R97YHWepo+^fjB5<_89`_y-D_#E)9na9=KT+u9 zBZ|?aW%(0X^Uxz=3pn+$bOffdHsY9w}MxjFf1!yCE*UJ-GFd!6@IwOb(+-b!6Cq(&jUD z(lI%HOpQXnktmUIm=M#i#?O7@eU(5`j@iUY{z4VmA7#SJxcF_J15Gw7(;S@-9?qYZ z+wGc{X3LG6wm~@=QbDsU<(8HnySS2qeH*yS$h6$SpVF_$o;L^0!U7)M)uFc8g!twA z!AnhttlULl4jIE2Swsd^_W&4M$h0YGUXIA+e3cUB`?|xd@0mZHa(e(~1LQ9-r*Wlt z&tW=8_^Qt~EDF{@UbBymmL%WftH_CQ%m0)?3crN*zkr!4;3fDk3{pnVj&U)@PAraW z>K=WG7GAt!L7YL4u*>UxK5>5gXzk06w^DpIC!9LeaF?-t7iVJkTvOHI z8%8(%+&jo^_G!Tp+$6elW*qRICi9CK99gg~a7}txY?`9g8!2X^XFOWN!!IL_r3=%f zS*}tomMG^TWmerbX>N$ouhT^7@U5H;a0r0u&uUqgZ|j{cyVlF8=n6lE`T@t80_@%i z*2((IlxXkkq8qT~Bh|^f3dN5)HPr1iBJOZ6=)q%nJkK`$tL(qGo~BI4DjQHafIMRk z^t0Vs3F`Xxj+j}4ChReN_{O(CpI3r^3Tsv<8L$yRk4BPrEnYVQV^9zGWfq_e9&t9BLEc}6q=$cqR!(C8R` zMg!@swM-T{>ABtqtJrpLVw_0v;b!=9~3t z|G?`{6*u(rqc=^fvP+;au4e6XGJ$1@UR}Wr2WPY^6k)MPKsyn9%CWY*(tGIsQx}^8 zG`!{e=0ph=@q6va5v?Y_x6#+6TV5mhbb==wdtJEzg0BJG?|o$%w~97PjdM_3mw#W05zqQLp<5LwmP0$yW`s80)Mg zf(Tn=IW#}&6{GFHt|y@Zq@O0x=624Xk6x#!`%%aCz~EVYr`OyoIGy%c2a$Iot^1FG zhyKtdr#{@}Fm?{l`6Rpd<9opj*b8X;!*Or9s=`3jeP@TD?n$xFm95bEW|QCS1r8|S zQ&T~;cO3?8cYEWzcWL;3xspOZG%DL3Q?ycr6B}UVf@=C=RlwwPicrcjrndN%o5I;6 zPr4Vu_UeXPjaIodbe7-n3f-NLupG!nF@5oe0>*0zvEhPah`Qv}3UB+Ke1i$o&)Kz= zO*e_-a_4O$fV+0P1f4Ep)%k9Ii8d@WB;CeWBFLT7gM+bW)q%%goDwUgV zgS6=zNfDZM^eF&u$3A?D6xr-qz&cG#kIi*sFQ1t=y0a8sHRf=*#qmCUmr~B;&Kkrz zJ%ukW94I|{$9}^rToGkz&uw+ialBNE%3#fgW2Hb!7yr52{q)KAKPrY~B#1rHjjreu zDbFJlAdI!znEqK~tOAP=Lf=2Hj<>hp<~(aG8e>Gh&-!f1j_1|u2Xp*_(7Pq*?moWs z@)PEuY+Y4+q9u0+wsM%L;cm=BLiHzcc8xD}UI2G9N@5~^OdR}Ib4MOwHc1qVq6e3U z49o<+e2uadtOr_HeB6|he|WOE6OYwRm2BWB7AQ7-qjwYvv#M(`q;)2R5&mFItoz8% z$<-!ff9&|)8fl%-aNisNRhH?e9$+1lU4v5QJItJ?VEu013@iX=+3QRNVN4Ynt23c%RfX(@VEp_ALC z3PmFQY!c5NbCqIT)vSq`Q~E^fmc-L>Q)C*3coibn9`)7vWVYEt@xZR{x^kn_=ON!q<78`9xY5Q~Ek2C*kuaomvk@44jBjWdYt za4Gj%nezNgQTbT`vKBz(6-=o@Dc+pRz^S8r#pQRc33=?3uKTn9&QCIjc|LgD4FcbO=fSg+!IH@? z`Zl`7nfd(@$~W~18KVc@q2zkzef6Vo1WKdn&u3S50BP7;_k=FL8Yx)JS(WH)4zuza z9iW(_jVp*KX>H0{O00S)Z@xXg9;_?X5v+GejzUcFuFuUEe|>yU`m6@iGYxsSY2^5< z%6}=H6XTRHsXnr4hbTSER0lb(6<95A8}qcnD;TI|{H$rR(9|V3n(%J%XI*D$`{Fmm zE@C8wlf}&HCe^q63<}b(>rj|*m#b(+q(PTQ5mzv+I&VwPjByp~39cbeP4d0@3F81e z{x{9IJyv*axSA4ko~9khD_@%LJXx67~JkpBn+ z_L}_)G=Bb%+VFR5y_V;DODb%BP|88i>Wd;b+HAwTYsDhKR>$1ont5p&Lb(ie@K1n0;X`^s z(!;$g_&YH&&d>6Q*dDU?q4~9dg|7>~3HTFjwf@(lp4vFe{s4TF4Ir{V^PZQLj&;_? zbcWzwkTMpI7|M%kZR8=u{>@(z|8ab@xy_fxOR#zAY(k zbka_@OV5xBM_NdbG2u=+KCSwA;(z(6%EO?bG=cZ&<`JVtpXD%&ln1Zn(Z&-Hg=#$< zRa;`TV699&4ibAkMc2Y$YuZR#`D7pI0)^WjeJm)bNj$8R$ikE^13A9%aR%G2+$^#( z8etSO+s(54`n6D5@JrHJ<~hm$Ink%I&8{i&|6dQ-T4&P3g#NxThSguCAgQt0{xSCP z`45}w)Z|CxEY{KuJ1*JwKZ*0*PrXERmg+adEbBd(*MYak$jm%fA!B>)PLfuaLvm7! zsVgc zc{$Gg74?b%bL3df*D4==sjE;R*Ctbd8l@)!!f6ZWr1l~Y81m|?(2h-G`f`34ZF=&$ zf7LVev{!i5s>ej>8wane2-fLCC6tntW%7~LWE`mR8t3(;&^cSk*5xqqaqMb`4w$l# zEdI!;T|QP&{RvtER2OV~gD4PBcIFXnri7@WvR_prkLCNL)hYa2 zTDJ6yT<$Gn!1muv={7ruRN`w|@>mJWGw|QI#ja)T?)kkI+RdqUh0#J2RhlkXvMNqN3GosN&=uuU5mMd5N2GpTHsAivH_J=nxo^<6=0MXe+ zysY-Ohd%10N-M#NGB#U@Tm_%O++h%PxqtpYlnZ>$D~Xrubz{>f6!nC#Q~qu%a7!-y zK#e5yJDi}q`5`8+TM^!2%ua>vI4T3Z6HAGl9ap1e)i88i&5vC~1)*PS#iLN8#?}d2 zt`@f!gVLy&!*5EfbPWlPm4yu6HRK?6Vs=^6Ff8PD8}9gb(Z&rd=+TCQNX@0avLmF? z6x4>-XW-UkMMi9#W7}{bJJZilc=*>t(%3v-vo|c*41y)h}|)_D~mbn{Fh;L4uj- z32nX0IuG(i;o90cN)7?Bp3@6;?p9FYZT0##YG|@A2T>Tn? zYK(1tw;jrj28~5qn2gS>DHGcd<1a#AY2EoW5Yw-VCq&G@0Vt6hHW^fEl^5}oBl8Q* zP&^xoVlD5tt>ynG>Vh#EB}T&Q6IMKEcNriOXB0A~3{H5E+Ie<}?hakc7TDZu@?lmj za|JyXA7Op-M$*9*tJ_?*AG;`36?<7N4#f`G>tiz`-a+J}Ni?h&0rYe8u@gvXd|TS_ z&X?-%sCV_^k-LI+z@$($4$&W8Ht$E~4r+(|CBG5!lS4H-dMbGA@3X5b#fs-Yw`%m7 zeuIYs%&{sIp&cpNF7wd4iTEQA2H((2nbH_oc*#%E)QUf^KfJH6yZWgD&msEB6yNh< zXHp{LARIV!88_~>l}`4o?#1E%7~C#yA&grs&edBc3dkHbROOB{V@rPrA2)#S7NTYE zmP27W3vLfAAMw=m4JqPivhE<^9GkPQx`dSFCDxUQK{C4_uK_aJn8T8}1uf;vS8J-X zsxxU{`FNg&R9gwI0=5iPh7BrI$1-m>NjT?Lld}j_IGmziF95!ia-(PLcY2EIc+ECX z4sGsjLS{4i{BeAGoeb3P9PJ0&qL|gNqsBq}@Y5Dhi;_NtBwNosh3d=Yh~YjLZ2(ey zBw8Xo*E1F*JamI*CcyVl=j;tAhbWgAU@eW3*mBb)hN)&fmrgH2D1p;tv9;@S)G#f? z4Ub#hSSKk*FNe0alLR3sI({k21rzdaTg`#i2d?Z6{yUE_{!-t6P64jWj@ejqj~dZ} zy|PaYAy0H_=pK&2#baINZIe&Wo{r9)Ln1Vujn0LdW@{-cywLd!PocVz>DoVB`t`;UHP_8Yt#cqH?S#s*u|%o`Pi*sV zOAF#(pG83lE1Qp=dB7G_04ZDZz(SwZskW{g1UNydm61K@)Ke~& zI_yi*Z-F^1v_#O4o>8qBdX(od=^x6m{eU9$3u)x=*;ho}ax)YDiq$nhE%D4rCGb{N zcc*>Y+QAiJI2G!-wFajX4IH6H`1bStUxs#WMeWt=HQycci<@PiW0edK6ZK{oiHD5| zj@SM}DKW~sn+OZs2* z6xTjvn@HvHr1A6iO#DSk=KHDip1InWH{=4+`Nfu(ASTRIxEG>V4R%Bf)n&FBg<>vx zSb9>#)PyRL=DhenKdI@xI}+cLeQWc~yeHrYgly!FE$tdv3Czn*)5anI*G^iT2=W3T zW^aH=i{LKvyZejGr~giQ_ydKlQpoG(9UKp>d6a*tt9T1A9M5Z99}umg6Q0cV_`s@s zHuXn(7lvJZ`8ceordJ?9!2aM=RZtL#wk55mh}ZZv#Q|dOosPwo&px6L$c7n^$egwL zhQb*fKE_%6*>lL+Ehs+t3Pcf-QYc;p%!4Kwj%hTC5`VJmSyx(&;OeWr?eTfm^XTks z*?C`2WVhaOz;({S^*O&geR&uNLbPb(dZWHFiaM;~qGPb}Y98S~%1wV%!9Dsts8JDD z+O@1x{JkpZ6p6+$KvW6Ghn3c>*=W}_8ZL1vELRI_yB$n(ziV?zw-Dro>4{=K-1~@J z%IR~cs{S&xx?O?-<|5vV0Xe!FW(*29-e(>gx0ZAEAr9?!=O9w&qYT?Z+$6*1!Ws-7 z9(Pvo-r7oWCYy7p&=NT{b71v^D3!&kl~A=SqP-8Te8aZ3?jhi~ik)gECWP;VuQ29^ zw1t_U$kt;Xu_u4x&|*yOUqFUo4~R5k>>M7q>B8^J`h)4&;}l;o3FD<6X+%ck!v};{ zMasEQ?AtgGCj>FsjVsB%1476;!!a_r*83)Je_8wLmZu%ai^E}U(Ubz+%9^iz*-rL4 zb=Q!ju?mAfG7g6%{oviuxxUdLkQP>|pC4*G_(ugp!bRO=WvU>qOoek;uadIG?s!t{ zHGOr1-$)TreY%5d^EF1)tV&x_wph7A)FhthuQ~S3d^Hsd`MKRmq%||jjDg3@UlwL1~q$ry~`&0c;@Zro8GyUPfW!8p#)2IJv}{x zl;aFOY-1!h0@q;I|1Hu&0pcQCYJ*MC4EXxn=quL^$jt2*jQwT(1qJ< z(e^h+$^nhyT?D>iquy8u*%4UeK?=F?Fd6Rqz1d&Ry2KBA@*WE~{I3@9V=JYiP9N_L zQ%Z6+PDIZz)^SjtoB?vq_m>FeU&flIu=U7!7kqMu>F>m^@l3779tpU6@MFt!+W6kzTb|7~L}tHA0rQV&GUQFG_ak2x z-Qk6NmcM8uq8B0}Z@JgB*}a)GO00jMU7}$hAwEYIX#D&z`^LIIb}}+Ol68Mg5U$># z*uf!E7dIe=;%e{zUDt+S@`Xk3o`F}fpQZH9bcsGrgYw+st8B&*g1s$=GZWs}K4yH? ztV$hXi|K@s-$SNtNn{fV#2KGQ1`|+GCp&Lg$6c#^Wc1Y{It}>$P%!`Zx$L3H)6l4oe2h(FP=6>! z`Bw?u03f=bZRf5!K(k%Jkh!l-A9PvcBSsh1d ztIZLKC1Z_?jNjt-rZS||6$TF??yxaRb)xR<`tG_sMJI4o_C<-EJ_QG3?|LcUPUv$W z(`rBfk6hNtoP@hb}0kNNenb|!1iq;-b1DAi%!;mF`iLJ|-=;1kIK^Uw)!0o*piW0QF9 zA!RjkJF=_Fi(U~V@f$+L6E7T$X%+ILRR!RcP)WF zsgIT?#wXJg;~g%rGQ&Yyz#XR@m+aj#B5!PyTic1!B&JJ9@tL2BD!o#*#VxCNF49); z2Pn6x!YmSqYK}D$^o;n&O^j|nl?Zz!uZne(S{&J#nKpJnHQ(I$mtZA!7P)%QU_EoR;y!eEPeEFpbk(k{duT$%N)2X6v;c@5NT*r(XR5Q1Sz1j- z3)fAIKO}Y*#W@eNRwfl`m6)iN_csU^j7GXo-M?lZiOv3|r}~*0ln9JT5fsD-j7G9W zGvN^t)Mus}jN|QD#v2;dE6(K;CQuo?fe;faBGU9KwZdS#bG@^vcGvoa>=i7n8+nXk z6K5ljuV5Wwifj=A3eYY~u`Q6D1hg-`(P!7)$>6K1J@biD6jy225{~9)7})Kb;+pk4 z70+~<;z?5mI~W<9jDu_U>jg3pH-Xu=s_U`|D|~`sXCzFBovYSkUq@Jq_!k|VT9)`l zfH639VfdWi>S}))t|*@#@VJ*)O;Cbke6@Wc zwwnPH2&^Vh8_z+LC>Zhh4;kFsbSnkU$wZ8@sWMY8OwWUbO^vMEuWm?pX}ERxD&SB? z6U%ehelKCGnG;?!BWHeYM5Dw=@Rh6tPpV6yTE+kXL;yxK5fP09Vm(n2AE^DQY!MyY zKZB8Nh>gXi*xfpMOGxN|;s{D4NJ=$=5{)J%J#jJB{yfPt4kySm+;)kuq|R{_nilY2 zMLs1p@Yj&7XVcr)^|S25@j1WL)cPEbKx|oUtCg{stX&nuvRRzHNMlrN=Wa%0$*u8E{i(FQ&}VX`?&fkPvZ z#!|a-ipY#9KGkr0Dnkp}XO@%MGvTbq!^(M+)dG2bU75$@%ShZDe~!Q17@GR{&fUm! zi~cp|KEAn*V~Enb9w9%THK1OfZV0o!O?2_2Kd}=ZvC1H^*$~3 zv^D0P{2DmtHSDD4a8kA9Rmm}3-vez+IE#-Bv*1J^UXhNJ^%NSMuxidd1hxzq6n)|u z_&6u&qJO)bljCyCzYe>JtAOIl%T-=p{YT%7)_V-5GWt@XvrH3$qG1Xr#F@RDwrvp9 z`2PSP6?S7eg~jFJKjyvTNjCdlKe+Dc)w&9>v$;enw%vH2q^`TY>8ebRR6om}pNsHv zj&)}CC6qZPD;J6PauaZE(^eb1S}#`ih2Iv@%Tq7@^W9n3zGY?$7Cn)V%*n(?fU&XdivoMINn;V45uvRxc)d5?c*1b zSyOy5`7DeKy1N9iwH3M}cG8)Mo|kJkkr7hLtyf=iyJFimniY|%>x7ER&6WrZL}|F9 zJu}yrJhBD;_+KCG%It2O+pGDt;^XLjtEE@zHhOk=`Z~4bEDe~cYQ+l%0(%#7smiP) zc?gM`8xkeAT?#bolI8LG`_ltF=CDk78getpG6)CGo-kF8(6jyzTu@;m`=b~wxwO=`HPKKAaYYejaNO6WZ2$pV2qIw`0~6JIQ{90;Xdc76A`$^y<}3Y ztbd$j#D3iM#i+9(%<;Bq(Z!;}IBF}uAZ?$5sk23>LP8=UC$2%sGPmu~ z<&2J9Yb})=g~VUtIs8?t^14+S-xJ1Gz^w`qNbLep>QOu9XNK~-ScP+Uv(a5+z zyr%`7rZ2mCW0>Iqn`+s+m#PpXA4I_*4%tS!b!(P!XJ5XWyd|NDv6B`rCRQugoKoA7 z-6Vc;wXoIGtice>#LRg0#{SFrry(N-^?sQ|)ioBh{x#oO-b=%V>`J?pU~-d`{orJ(nh{?94&@%|bPgPMv=N z;lIwgzvyn0=HVl2w7)Vn$j-RGYP-dboF)4{{Tx>{nFy!t)FHeiOv3| zr_j^PP_KOpu$yTYkGEdka^8z|Trw`JX(jVmvJ)SdtbSSak0Fx8lgkx%D|Yr(_`LWOdxS z#X5RA&K?u=UB3uAX-c)N&{Gr4-T;W zVMzY~WR_1IndH`-6Xi=8hq{aP@WUP*`#Foq2$+umuC_^fLJQ#FpQdX5?s89n`86IX zg{z)p+i0>$q_BUQu?G&cI(-;fY%sNCL=^6yA0D!Hiv>m*n`ApQASSBWhQw*y%F|hm zOo5bq>2MsBdU_0noOzU^p+P(y%j~1>x6lO)A71viVTH7Y>`sUtSAAJm|B+vY&p}yA~l)o z1A^py8zskSa<*Ns$MVd|WAakVl`69QQOnSy1bCY-q=Pv6M+`{qlJx1}cwRwxRy)pdHSA41$&5z7!SOeo+55}t2xbUM zAcTf>5*hJ{iH`}1kJNZKFR7WYmcu`kW4NjDD|o7q%8TT)6rYpB8Z2fVZqnSg3o4pRmRZBdIBV?Kfd z8Id8M)S8E^T9+);)f_U%xA!a#&nqL+!tk;JY9K_z~&>j-cB)Vj>a!EJH*cA zD303f0La)}44&3*-SO^Yu7tLo`md*HV#cJIUdo9s2yzW>RFckpp(rTzPgG`#@>YG; z3|=NP8N9x1F+$NGXS-LGxo9dd)KVM5A)UFA*KEvn?i_b>8%E54=JRC2weq5k(q6g5PMZ&1uR zj>#OvBuPpraVTK{P0S^#@HSG@R(x{VU0rN1HL5toK}wkeqw>V+_esVplutKzwA3lW zOc2ImTp_(ECX^yMmlK51iiX~(E)il1O{*4eZn4cd0N-u=O<80HH;`Vyt7(69m6jWk zHqjqaz`IEv79NT&Rc)5}c7>J~&~&NW98ClZHllfmIeul+hzlViej1)^ym$CgY%^aU zJRxrh(3}(ICJADOMg6K0G@b~-3nKSuC;h?*QcGiWA`Mb}NO=4!1;nCFST+JE4lqRV zR{I*v2XcJiGH*{t0IKk64W)7`F94$@lHz1(pwuE2pB9FM)@77GU^^+uaAdb2F0n?--J`O0lOaA6zTFn81~1rR z2sjqlRjperurd%^Eq>(N_N0(OP50;+lSwYPPB|&!8K+?aKFjHTuvNpG4eBosX%%T_ zf&3tGhQO3T%~OwP0(8VHa#3<-g9(?P>ROQq>0-e<#bP_lNWH;S;L^3wPI>_e-|0iy zH#K8K8@9rwoaO~LfCZFI(66R*(lwG{3*02H%3JaMe{pw$;8-P%j(xO5vLn{nx$b>O zY~7qhru7*WnwUC*SNRbaR-_#a5$53XtvEQ_5wz30GX4IZ+!lz$c;DK{DRMY{Kg0y-X0f0O5m?oL^$^|%^tq}2stSq5jxn;rxphdutT(HEF3_Ny_Emfgi ziXL#$yY|<))mfHKsD+QS+o;X}6KRR|IQ?GiShB@oMcu;(bh=5HZL@5(PomXAY&OZsU>m7*dcrR)C3 zb2&&}DL#bXGs>(A8&~3+@TEV(TbY1}K)mg>w81P(a@mdAoV*U(TsAGTl!rKeeb+G^ z=tqf7iPf8jU32bS-v_gfHP2>Rpy40dxuLk$f*>9a66 zs+NojHc%v&a^k@WwRyiTmSjI+0T*h-z zh-}cT)Y`+B!YefNiji|y7|vC2lCHGnH?si(MB1go`wsgkw2=^bg0w>f3n1YIN|h>HMX~GTAdH9+xv1V!bRnwlBoD+T z2Lu2^QO+N1fb9_N;nw3{Ai1fV6_E!-c4&%`ggr(S z!=oHHNUXXjKrqrI7Elvczf29^B>zJ7Hx9rkOu--(};&Ra@ivmzn(E3+YlZq8tX+9kr*)T>A zBTJe%SGFT`$Iwc-SA}&mQW3P;zziU|pZrRO05^pYTpCizbP3G?g|KMF#r+PY10DG4 zicq;CsUXdo5~abAC?KZ9K`c&&YEO8KouM~5w-L}aZVd`2FqONKy-xZE2RN%;h%OK; z3pN;L+CWY0C#p(Sk+mdWo>dqz3tkAIqQlw-it2?C2&umz8* z4nCA9g`k-Iv|?Py@KS)&b`E@kvL8=L-6FfLvF!ndkR{VxqCpgsVzv(SHB3%+%8UO1 z(jjkZjH(?hmoU{{Dt6*7Q0oqS6k$Uoqg4eMKal|mi8x*;r-L3UI#yQ|i4ap05g&?x z6$+%}42T$spXJZ9h%jAW3xWr1UA7yu28;k;c!@jqdWfk$pOoRXLAXbpuF1z-4L?>vAsR#)2a2^!iaj7V}_%B$QF58E}(DGwJw4@7ZKp zz6|C}!}I`w0t5&UA+=QF7gADOcw-@8KEzKoyx?;SeEV^1s@njZ6~Fp49FlJo6+@kk z`{Jdb@gCcm0v8}AaM$a}Y)KJ_Xuuivf(9GpkYj)iXJzbbZKSv?A^Y9?(tfhRWH|#s znba$nPbo+S6H-*eGhB%_5ta&m7Dm#+b>IO_Fj^NVwn-$dB~Re}M7c8;DByf)h`S*S z;_}5G$D|Gw-iSa~8vFO}-@jWbz`Ftgbc2WT+zu#0&eOqMS<-C=LoFQ_2gT4DzD^-~ zi!FfAvrN6ogcH@TSgG)V7cN%On3<` z_)J8!MhoaCX{b49^A_$wnMR#Ci4?#Z*do0vX|;2#r^;C+X#=fx$Pkklq7elWxw3cP zbd3i5upuUj^xWtb0_wnXT4Z)15fXPd*=nAy@F$VTG%;B%U|cYOD^vZuWJ3xQk{s7d z(Jc?K5Ape$mBi9^Py;JLT{OCCBfV4BfYBt(8U{BdZK8S=O|=u7?&b)DN+QOf;c8q9 zIqBUJ`=v97$?Y0H*oGr_ic7AcrAP(4wrmoR!Z6auxzQ`Q_MnngYAf8n3792PR4&A-rXea+sQ@w{dAp zMvU0NSTr{WW)9+^v(Y+`w^kWYRsacshYZpNYS2ag!H}YUi-Kt(G9+Y!S=zt~Rv}vn z6Z>M7*G;*1&&3lG3u(sm$e1rqNedj_NSV%Vy+Ak(Sm9YhNwAYeuv9pk2$_izYRgHy zv1QqC1rA1jjNDd=^qQ-SutGB|u86Jj!g8|`9vVw|-$8$wA(8~cR?Q|z>1@B@izx^E z1|sk}M7Y)Tl*cIEaZA)vunS^Wsf?@xMg(dcL=1Bp`{AE+=NWaz@G(9XLBhTvMrj`j63Q_aYvHGwFuiVBU3p z7+CFdnuI`|wJ9vYPW8dAdf=KOZJ^7W;z2dAgXzFi!s1U0O?67J)7}|8AtmdALPml$ zaCYZJSXoxi2T?nCuJZo?k!8^D2-0Us5)tf)U`SlG3PnhI5C&2qEUvKg7LDRU#|%W2 zFU^0H+sUzzXas){5@q?aUKF*sZ5)MErDDRtQm;WU6O@?&W$2PjwPG^IRnSJ^xOs~r zqOSx7i8xIgh9oQ_->rh6=CF!Pfw4(=CU&BnT(}HFz;~zmfb1SpKo?ru^?D%GBnEBu z4eH_+goa!V$i1pV@}LKf5{bw%eT#XU7qTHIMsdViUXhrk;#sY*YQ?A(WlRxG#72lU zz0oub!dR6MOCW?7`cMkIu|>&8Y=?wa96t1u9BuXni98vgg7W6vv#PN`Cu*BDO_81N z&lx6l+dx5*Vq=H`#)Mz%C`If>NF9p{!k5@uq2av)@Y7A1& zL*HBgc1mIH@*-(Aedm^iTWJDJqmmHI2nlIx33f?VQ@0u{@%`ZuQ#P^a$*zTpd>W3( zRz<5zHw|nMA&($5AUNJQ_VE|wujGqCA{A}+vDFp%M;tsipo;O%6J@BM_XB!fvjEFW zT6%|M+owb}%`+C%OXI~Rv}W|;PFp8>(u)NE(5d!yX3TENr}s)F@5y19PSlGG!hV!t2K&+Xxne$& zpUkBw<85N>Oo=tAIi{w@HyRVhcip|UPK2yZS!p=OorcU=rT{13F79q1PGD?R{{U9^ zcza-iT#aApfSr=L#Qy-wNL$lC3Kz3jAS9GwiY?p$0s@EtN7NVj7zhDw6c+RX3y^~K z;T!LMUEn**DIm{;rJ@7|Q%n$FEkL!qFhclPMtb*>DxuX z%v`%9<;5ALl(RnoOMAxJrCdrXJ?boq))Y$}K5B{#FquNuaS3z_$x&ollOD)?mF;}8 zMP&GB>|7TJLd5V4+p(T?NIS?6z1~#D{)S`-FL^l&`7ezheUD# zLUs^)i+GmMfCNjI>y&vK$r{2%xfT@7HL*iVcgCgNe2U6NYWL)h5x}5;6ZO)b!O8CV6BDKa9&+ETP|umi!w6Qw0j-U^D~6YGMK9}3e={yN6t#rOQ!)VRQk(HIjY0CmptiQFu@@m_%g`B zm#J6aqmcwQE_9lJP2h!OzzSxfm+KrRE7-ovU@OubyPU*Zv;y0D&C6~y3(yNd4p|Ih z;iRF=^YkAo$OAZRiEv(w2tA3Kwp<%x;e=tLq3=pUXe3i=b}jCo)Qb95RKl?mlS?Vx zf`c&VGWw7inGgmDbC~?bGzi(ESB9ByH;AM=sNHy}_7eegzK?SPVHDoUSh51J*reW) z63Rdg#L5S49cRy;N3ppZw`(9_kx@r&e&WTwBPQuSd+^aG(3$<^kuYDq(Z8sAao=n= zOmQucdm){nYycTBPG63@5k7&U!5y##Z3mo^ph;rT%(5$e9I2H|pclfRb1fZcn~L0H zdP~$J3U+Etr`4hWr}#I>26_3Ag7qEoE%M%(s3e2_9?Ic z7WIaKgZC-$0@{}QookVTk%>uGzie@bllERu!-;fnbU;NU0LF6}rBbS^D&1Eq?zDIz zjMqehVPUkI8Z;6PC8!`^2;feSkwn!757DPXuxBJx87d4MANai^gFH*!AiEiZjx(sz zgVE@{#`V?gLGcfwBchIBjfE14Y9fU~mK^k0UDOLQ6fS*-q;BPrV*^4I)h+|i%s@Ew zdfdWc%IuQWC+dvU@d5){k{3O!u;0b;EKy0y4GurKO0{G$)WHO9UCD`c$2fJF&7Fnc z;=9!eMiYBqyTFj1u49GZ=H3BYQq9|~)!$bZCSpEdac~hwDXYa`g;YR^QhWon?4AWFM zClr;*g)#ah5E?Zj3}K~WX4T0{%t!g>1}Z(HwbLOCq{N7nl7SC9p%jxh8^m{q)#_(6 z9|r7!I$SpN4A7ujLvO+D^=ME%qqcYX?}rf@Fl=nf%9;T zBty|_8+dN}HD_Sh)({p1t2fmEr7W<`Y{z>RsBDD;HV~IO&0U{t^8tTyY}I~UoHb4l zp06*};k_n{#lW{rw=rO!S06*7q3Ob281hFwayJ-3w|;{ zFM&QDfxOJ)kqwP#Kv>W*N{7b>R+IbA3DEE!ko%(=PH7G{bnR$7)>bPr zy)_pR3RCrwy0sL!x>zV5m33HDXQsw3cUgF{of?9AwV1L~FeuV*PWIL}Spa+^HsLq4 z2#!MaY&+sCE{@=Gi&XN&%?!IYZ!x4&K)_+P4h&g>o*kon4aBrOt3wOPu%)^keP*K0 z-2$Z}VI%_2I00@;98QzP>aMelByeqf)t3U@n8i!Yf6~pPmYo@CCU)TKj7Y&yK}sdS z2`Q0gfruO_+U?oNhSH6I+ObVs)JtI82`sM)ejt+UaLRKe-mk-24XYX{8Je2qGn+Dj zln4kZqlje12LU4bJs9o?Y@oAr1=?&*5+oK@gfU+ZG+axJ>cr;4_xf=60+1R{Y6^M^ zJzWSwg6Gk&CL@A)Oam(OfB`@Pp@0JFwZ8!L8V!Os4dIS`aSGQ4k%ygR+ME(c56LI# zJiv1grW8cDl^&vbz$~^th1Gc8rEkOQ3$dHh}a$=lcv0><(X@V#$)c? zH(w0@+5iXv1Oov-Avs>!>~8DI9vsW(uqNl6y*LndG=|O=nRbm;`bb3g;rUx)oo7y7-y0H>UdV4x<J~bG<3FWnUxlZ=IH_g z0W_hU%TmIMJIBa5h^3rK?QEHt5pIa9P)U+R6ET!l3vFRzZW0WNxBCSHz!OR!GPjA5 z0hAq}bG)ebt<}ik#`UQJ7nwzHt*Fu}OiZ&!JY{DX-nz_|&{~8LB;lKAU{O5PXfoL+ zkpX!5aaM<_kqS*Zf1wi+n*gVqKn0i-=vePnHv*=)^$92UDv8ycqEYFd#KS5d=s^;yDv>pbYthSIA(z zv#9b=1B)l5f~<`nkR&?B0Dv*}3in%v(I<}*6DdQUmC3|t{Mt;d6N6>FuvaADoT!LMBVEGjQhXVy$cFx`Gap|N>L_u;92>uJS%=yBg7zi@%v&7FHwrKf1+Ea4tPxUc&9w1aG1&<;wGp{@AlMMZ zOQ3IoC{l~bjNQ5(G0)5i0Rp5;#|5^$5kU%r``(-cHV}{tlt3_AnkzSX$s;snylgH?hbvd20AS_`VJt`~@Mj@X3Balc z(x$!c$}pgpje*MC4lw({Zh=??wP;Yy>9BFZTYvM|rzki~R|4^Fr}TY^>~tC*o^KV} z0b7@~GEFFO?sh>~x;;=+pu~O&gcEpV(q8iDB%HIHcKfQ!iR0vFFazt(yr z1C`_}39zI%#O%DcVrZ9JPeSuRoJe3Fc)+LF`;& zb8nA9xd;(Tc#k}hNek3rYjzFiCNvMbC^#MY)#894p|C(CCF>*VQ&`~iF~WUFAYHzI zXlr6ZlY4i7Sv3vP7!dT@8+2Oq`HlLcdysBfT&gCzs9Q17RDd>OB_MRGV5$0HIxGsY z2%B2EGf8a=q?BfuV%IW3%_KEwV@N*BL1{R2*R^!QHc0a!;Vr9CVVEVOU~fPsj43as z2msNDDvd8eu^6TTWVI-vq0+IIkj-6fRx&&6x%Gr_HoV^wYV z*6pd8Tw)0l2p3IAsQF=7Jgbj%(i5W<| zhJ?iu$qhoR3`S?hG%ODRo+K!HqgF=EAw7k&vfZGme7g^Am|+DOt(d((%pV#SMf zF(%}LoS4oFI*kDT08=VfUoIqKiK>obB)t}mc7zYtgW17QNseJ!An_0QjSWcyzEmd9 zJuYe*s53nIK`yCfXn>z`(pqH;WrMkcd2u8lAT8^mKx6!5(I{-vGF5Jn??sF%04VHN zW5MuAfC#0DCr3k7x#0o{RIM`TAdGaXv)FjD7F$@hzhJ#l>W48TFY4+KBlS|jX*C)1}98_ z4Jn1YK4YG6WTF6yDJRE`{rGwV!$|=-fHeo;m|`UIOUt1IkFy*VgF{%j7Dv*{c0p1d zx9Rp}KmdY`%mZObqh?}>9S@3fi|aoY0AK@x9xz7D)bpjzO5iMxWZf#-##<>UVZ$OQ z$OspaUC=n261`+g%d`u+gHT?R@&Y@pNJh?~^Z5_cK}(@mp!tK7kQoc%(Md18?eBN$=XmK7l~Qb9eE z7VI~`jbOCf0_Yv>f&opUh=ug_eTfMm8c1o>+hd)BiNZ=U(Mni4qLeuVXoxS4Ju)H2 z0*obd@)>Nr1Q5=fTVZ38%<>t}A8DfOv}=+(4vTiA0fwE}iu^q2PbNz>K8=F|2h~11 z!pZDQEk*Wv9~m67Px=y#EcfjKSy5-;YoT%`^$`UUqiwBRpm$`!+sl$j9sv-8k)}t+ zbPD1bJJd9hdmSRN?If{x>eIVR$hxWqxGs1c9X!>9jOXi+6m~l{0N5A}UwX#!QQHl& z*iow}jM#XO-VtiO#0t=SgO*eSG;%!LfEa6g>N3nzj)R!$K zYFKIKd}Tx)3t*-t5CBVFcz(V;j3(b}qIM)fOsv4BdBMSPdZJ8E0!WjRa1nOMm6sSt z32414)R=~b*fXgRJRm=W3qW8D2L!x;OB{yGP7XE!<{L)@q){N2=}NICeZS>lSPmo| zdkYqW4wMZO z{cbj6b8?|yl3!va~I)pqp?K175xfJ$9|a`b$Qw z=TgS?qQIKoLIP)P(g^e6B?BX~UqeDOCZe!lZm*Rn6o3k@0Lt_!rt@)Gf%Yu5oA;<@ z{Wb$aJ~&O{Ybmw+LxgsJWT{X(Erw{%Mpaw8AaKN>#ZjJBB0NvBP$Fi$*hOS5k+zU?3eevn zrGiOvhy2H&P8=XufC^5Jsnj5Q8^K>@+;)LXsshP_fB*mn>1{U&#qQlRsL|mZ0#rZ? z=m0ygr5rfujCA7<-|EoN?XsJF8Zj{i1;p3NJ@C!yr01&;~@O0F6T^Rl%Erl{W?Tp#Yzj(5;~Tk$Pfrx zj-SQEhe=?f6u4y2aAtKn8&N$=5hfTsKmo0BYblHMhC0*}F?$od69=T!ikCYIMoO?f zoOv)o*GU*9SyyOpwN;ZS6*6d+CFdST2a6cPQhOejJX~ETMu!cr{{U^NRZLE#W%Edn zaOWh~9T%v!!9LLN-C7Z>sO|eW0Lcj|;<_!~@nnD&`hLL7;R@~%vQ@ZIDjJbRF@q6~ zt1wE?2S}0*okx zdL<<7uJ!^=dmrAT@z(j)>T13XsYon<)~4hOZm@3L_@k^?OKAQ6XPCXwr3H`zsa}La^{^ZMqsQZe24W>s zVi(H?jElQWF96W!Blv|NbgN*k`DL7iJuq==SuW6o$|TT?LSUAWk&N_#*aV1JFW3U) zCuykOfE96bW%hN1BjpSUy+y%jNJ4~rAe5t43rBUTaho$Jc(+DHlOl^5DP(Q?*sdrt z``nemH_rwU1Qw2lZ1<4{X6Y##)L<4B36#MpijsnvdWvpgmdl1Km+MGcqvGI>bYOY7 z2JMX<3bC%qfO}(3>WwxW%lkV91+Hipl)<+Mhe>0(T2?qTbPO`snVHWf!#u?K=jx)#_*$gOB4lYrWHoTEI@Bm(;FT6> z5mKe7p%!&^BPy7vFoeM2f_CbYnwr07hN7Yua~HjcLhwfXmT zInBMsiPfVBloh?RUK~-3A$#}M~XcW4H_|Vu|1-1f) z^T7A^9fBgi$Mh*`giZZNdvb88Lun|tq(VS9!F0V)b*?Q_X1+Pm=(tssncuY;krjAW z7z2@|2pKY|+j%IcuW?7-!!7j`^CB#wa{!&paL|m3F#yn` ztR!MwX3KCU^hrnfgeu^I4L@NiSVY2!ATB8J!T@D`^#jC7@tqGueT6y?dn=s5-?&*! zBWX~)s6g|~AhMigWdzTxyOOIJysR0i?7NoPA_`VvRlJVI#NN8FP2`y*?%uZX1F-;9 zes)s0y)7i(jr*Fr5L7FHXEe;kKKhU?8Lf~MHh;jqk_COJD)^AucxfJ9Goj^}mM6Zk z+#tOGo|NwKX2^7P5l$c?>5&!{<+k)`%_;cWF?A}DG9t`N2XRmQo`fAkQNNu0UWFb` zJFd2Ft~i9hQ5CCatljGcq`Zj&`+%~G6il@64Gt%+6kQDSNnmtveq+;254Zq{z!I$^ zb1M%ku|`C0#tbk5i6N~wK? z$Lt`o+IsO!FA30JS)=$b!4#f4{V z5}90B^(NRwoLN9r+Gg^Asc}_w2^!>)1t>aZ6b^!_CR0clhXy5->n=hr4B!TW?GFev z+OL*E2Mf>>c!u->X6qC6=FN>I#~#KqY#O?~m8I84A5l;lXAMcO`a*zB2T;C1AfiwM zYD})E6zC(jOHqg;Iqz5^DMYI|z7hKC; zwFtCsXJT4tYp0uqu%cGfu}Ibtc3PR5r#$%Isfy-_Te*z`x{`HRioQ8^I7vveNe|7l ze*g`{T%+Jw`MN>i5Gy4tymCVXqmxI2K7v}9i<|-?BHUfcnLp$jniK{X$DCg%cat&Ci<3CLlvK^RC-Eg9-glFZeOrO*+s zT)!j|#IRD&C)6&Uml65ySJrS1s$xIi%S&nR1a!Q>=g3~b24)Jr_KT}?b&CVx#%(PP z9G@#F07zyU00000fC~T?0Hqpc>4B(WBrgl0hd%h21+0XZfP`#zwF1Mby3KA6OkCfA zhiX;5KDYEj%fW*80RI4;;9cVgqWPr(_2ahMx)X>_qePKoF-`V_EnKM6W)l~e6XkY2 z=>ZE*1S94FHylwpO&y64Ws$n`8f*6<7t$gueAFBWt2n@M0W=>w+7w&s-v}m{3W$dY zR1qRnOn|v>Fu(*X4P&^^me6q#d*5e@=yW7NT!I8NUy)d-upuXmdrIz9002N(3kxhY%DHcX&h9tymb2lr?SbhUP^V?dZFDNsJUkwOH)_m$ycPWuP~nfd2rj zL!=hqlv-gE_zCJdrY-UM#vGY42e4{)H|LQgP6 znna?vY7lW}(K>A6Bs?EN0QrcNfzqvlfd2p!7OIvJ_?OWLEOzG*l_CV$4Rel#W@4$T zVK8!Suz}#1!YEc~3tideL;^uRA)#SyHJwd48wJLe)fDQYg)$bVOItk|{7I_gNQt1) zaRZ51a2&pl@u`(eB4Z`I1sET&pt?n&H>ueY7unmpml^Qg7so@cF!ogI&L zS3s7->7a=$lB^RN!Rq-$B!U9MMW`+>0Gbt!17=oR17y~lq^FBr_F!TKco#x46LS2> z9_JP|Hgqo$1H(0@$HramlJB>QM2|TF41skr(gAw$HwMDRiKXG_8XHqR{Kj3i!#(cB(oJ)7t|n5e`+dUu>K zzCr9bDj61K@tTDP7-_v|sT0st#6SQML59pru4uCAj^%($-O5hwR?SNDg!8tYMNlgeDKm0D1cn#92d@op#EnCC{Zq3ta|szurO4iTk@~i`C>0i2-Hg@ zKQgO>Ma?U=PZydNON55r9aBQMaV}hlX~4jijzUb}cnv7%R-o~$d64IkHpJh*yh#gB z9C(r{w2c4~a&>{uY8uW`ou~>2`5hw=09pQyM^cc|RaCjUSN{Ob@bKEp0=0JxLSok8 zM`YuKM8AtEOs&F>VHralz%gR28Eibj6h;VW%yxBvUXZnf9T6kW0FxkH45;+PhJr4F z)(J2M(E$vNR+KemO_Y` z%K#+{0I2@}mqvQx`^zWci7Y+CT(J*2l%>G*Kwv6i6#7O}&AI@kqR7<9(-S=UoAfCn zpcY<+=-3rm1{%JCgdE3OqqZf^`l~@3L&iqHqgsKXV zvYQsEym5Y%(%iXIv91qxkWBAc_fp2?4^vEC^_#>}+$MrI(O|_oGts5*UiCGzzKa`E zof8A10yM&=r=wfV=wqIS{rEc?8QPDAws)zxMJ7Q_t?yE@)qqH)z;el3Q!LzaGx~MH>rJOKL$tX>SbDT@8t-bSYzW6)oL=N`B2r zB8O)>1=mvS>gR=qcF;mKc^ROBIQDnq$3sF9!ID%H*CvS~RGTYS5nqO$eX0A!$k(UX zw~KLSi!~9!1DeGo=>5t|f2w95y?&b~I+LAA&ZOs3bE!Ghoa#<|T$~WUN-wIJR5`eI zKYG%GG@%+Oh|8uDW`;rFGf5^sqn_>vmE}`#p_!;8cc&G^Q7@kxP9wRee`p6 zO28B5``1M$H3u3YI>VO)4McFjQ}WVMfl~yv)~Nz^scg=&N^eS-C{p8GKK1*D4G1fq zq7hPpsk+#yK{?P7hV&wN)#ZKkZin8yD9!a5`xuVgP~nDw9sc(tr8X9@mDFIGP_&pT z2+LS?Cq4xUHlSu-6~K%&hgCtE{1tUkM#|GJq2y6J#dj;2YX1PiLnQdCs}3CtTTqW1 zcomKbym;G7VQNxSqX(@l6z1&LQmtOKA(o`)NeezO(}Z)V4XXpKWK_~&#u_%hYcbY? zuuwCCzHbf8OB2^f*r8yc^r~Ao;NRQt8eIlv z@mSL*cA`x0S@%-xp}smhQiH8d8O-Z8mWdZx)^1vr^eH6WO0@4*5^UGWOVXw0u2Ls;-p5OK!L2#U^%8$U2Hz50{2C`U+`db*yHj=c0zv zK@Hk4j+Eh=^`r98g(mb}cd0t2lymxeT;=AljFm0gZ`qJkug zH33&awy(=elNYFRs457JstyTAIcR*mG5T&3^rS0oH$EAX`h=GHASssK8~@q>2mu2F z0Y4$M-zjGA5oH{nn$3yYg9&g1pk|h3E?y_`s|rB;wDK8j>}ait(n8DLt&0Gbn2#af z{nSBnR;I{K+C&#uQ}0nE#XCjM6ZqBZNu~pf{c7H7`npqcm0*raBpb|oRJL+b!d^M% zrgN4(f6C4J>x3(C>3o*%!$+E;y@N_F6YM<9&Efg&M7U0G1i3JF4QBrc)Y%q@hUr# zhwhK0Yw02JNiuw^&-J1V`V=8P?w7Ec&+}X`XB*H@J946gLDJO&y?jraFKU~p$G}V<$y|Z$U!K-o z&x(;DYU-jYK*{)jWgD;!{U)pd2dvf}Y_xLieTA%wu<9F+8Mj8OL%o89y?`$#gSX-VOFEjiiAiEOpuZ=#o|+Put_<>1_!HG5N_7CVm+ zUVReOZ@e^oep%vd%PBnFq48c>*2wn^)htZL_3xE;x5tB(uapzX z1qE}7RJdAU*4p$bL7H9u*LpXH+UJ$e=R5aNTbx8Q@=+};msI8fszKVP*65#mWy3@q ze>DGM$Mt;Rr+?{PBst-fFtz&Plx<`3)geNt?YK<;=ViHzmg#v%lzVG8XVuT&fJ0QX z%flp+iKwS@RT%Dt!Kq7)i>=qYgh4VrS<#ASb~~qz|sb>8;nM%lwtz2SbU9qX(4 zE{yFQ`p#Vj*s++xl7=-@W?s@19M2h=?=<04 zmYL7dQy4RE^G)dTx_@ohbEF8C^TY@{YWs?=Iob05(X<9uBC1tqlO}R|@`OgF;&0to zVxA|mUK3D9muswh^dzC{BHta0bh45_;XXboWo*#`7FKKY=$$^ike!_*7=f=#phEUS z*^aP;`Lqr;G9Gi)m$+Z~eQ4^sS_;qKVWYG*JTKA=SOFfkZ+06lE-n3k`f<0||rC zjY$&T3vR{gy=_nMYjKg9daC<4>w6*n!lAT<_A^}_2Yr954Xs0X*(W`*=qIyy%`)vg zH`=3V7mi-$ZLKCPx4Y;vt=tflW3vEps}1`wUTt%O@%Mhuqb*(Hd;+?KPbD^ym)S-( zSBci81unnxi4rK*4_>4#{o-srGH_b1`}oGJ-sA1#E!C|fcjK3=EA!=0az-y2Z@pkj z$i2MgWBs5j-$1tKzpmd$Ntz|9DWqo>QxN~0J|E0L8MH&0hv~ITx+%_*NhI30+F5?O1|!IkW6H zfOpn7enOg+)T|E+cF>G8xGvt5lUH?`tl$VXN1f0bcpEL|>L_NyGK4-ETqe)DD z+jL(!-r2gx0PpOSz4o6zp-FvQBuOAMqRl($T^@F$&SvQ|OP<#{I+9;{S<6Emb@Dz+ zy`ZKTH*gCd)bdR@?NX5OLh5$@g^-mJQmtQTg zwK9VX4A#{cWK(f05~A^Q^T*_xrj@=f=xn3BIpPT^^Q&_v34hHquI(^rS%MLY>RZ0xlzx&A*=cJ#e8Xcs>jFEa=y|J zhjpkv&&^pzWCM|1YQq$YabZS&R?#+X86M3TkPx1G<4N$nJW|^3b$VyW0MBwyeZ>LS z@pmYJfcANpEzbwn^?cOW2NwcD0~4STKv45m_~ihASuhJ=^rABV70}ti;6(KCRE+=1 z{X@LT0e(gvO=A}Pza(IIy+Ay`_YXD{{~rj;|CLAn6NMuH3j_e5lA=Z=kO%-Ie{s-8 z{wV+m`2tfg03aBEt@b z0Kh{Yf_eYGd?Wxf*95=-u4WGz{^7ZMff`k_$xs}-TlA7-@mYr zjEw9BFcY)ZV%h&u$p6ShTtfQ+@WYjr&j64JO7$@L3N-u=^A7@hg~3(Z8wdDHD&8dR zt@IKQSiJZ*0U$J;2*d-ay1c@N>1h7V`i~-@zzXWRZa@S8x`rVNQOdyl_ac!0lHEeW zkXPfP=Kn(aqX7`_-!(*$c>$mo$f*7|0bqcaMdQ;n7XH6e|0Rcm*$AnZ6)^l4(tn`6 zSk~AD|3Uk=EDXSq{Es{TH$DJFdi4hdWB&*7U$Zb`IyH7D$$usN2aYu5Mycxm1Ajl% ze+WSTO8+$Ge*q+bi3Y&^Cng2}00I~ScE~@i=3fA|+$)&~U?Kk^nFGV{@Lpi;ugpKA zgzptbvOkcu=!_j6J`4|=7+4q{|C9Gu3d2G$SB6lJW41Ripqu~ATKhZsM~uV;&;T$R zFK~kDX~z6A*rWiexBLtITSXv=xG&Kr-u-7q{zn{IZVo^-fq;hpq5MJqE+X*{N<8={ z{$GFufa%`9-bh%P|BLyD08_w+h&2=d0K+sw^S??&*{>{C$jA#lV9FBzuL3adGyeww zZ+=t5XJqexm2mq*h5U&yqW{GI3n09INL{D^!7ccM{xA6Jujn5u5%`(v?8Q#{wNC_J zUA)SPG6WC+fEKBSW?zDd1lI{Zan-bKT4x2<&RRD+Fr@K>Lca?}nj4jT2?Y2O?eBk1 zF%Q-bdQO8Oz^C+ah_vo3Lmq3mIB7V-$P2Ibp9@dU%qRQ0m-3nq2dT}T8%!XW94_<5S@ZBTG6FfJ z!5b>rvJnmt5*PUtO9Nk|j0fv@qsYAr^l6w0#?Ut8RkN7CrD#hR8dGc>)mo;L`pkXK>cP@zID8)v@Hu=nz4)U=i@TmTex;ZhmHLlRh%(h

    oaX0F%SjCpK>uSD4X>QaC?yeEMA4VwXcS^7d7;p&3(`aKR3jhEfHN~Z zvI8T0_X}zXKcn~QGiYfx2Y=fo$`c;|_3X^1NA8tJec$$Kc2x*V__5U?b)cPsSs!i7 zeo{w|-RjAcnlf?-8dRlylS5m-yc{jtS%;HHFU+)MAAejkKiIo)&Kx57IrMq|dhdK* zgedRlnGGC5`YwB>4WZeji-+^F(k6EWXRNZU?*^}eDCN&$PM^JxdBns6frfDK3VX?q zU_&Jd$t@t;FBL@;AH02F2bnJYxJude#NF)a!YzH^oP0*W2JO@AT;WO%z57gBuX-XI zBMEVw9mzm#^hBB|8?zp(OQL=}xYjOOh8j+%CofXaM#t?k zk*O!Nl4S&GP<3#r;KEmPBa^R+DMIVn{i$KEauYZ91WwD_-hRLG7q7;+fn%O}FyD7} z$)L&-GA4}Bm%a>+?M=;+(mZ~6uK(a^xfD5DIl5(OE5{Dl;@JRJ;%5go624b%2k7Jj z$x?Cc(``Db21%@#&h{aoWbf2i3C9sTb^FevPdc5Y2iXVH2Ig>8L?8LD3 zlTAIft!PTBL8`aWEs8RsW;umWIcB(@3m+D2;9T-uhihCoPn<0ND^Ehj|wP zI>Fx8+UWo~&9+1q-D6r0LWkAf1y6SJ0c2{Ce#pDB69 z;rb1yG0C*rTM!+zEAKy3X>8a}0`^wB!7&Ty@K~%jqT;0&aFHX>bJYUSF!Jm$)Nn`w zopr#F`OOlHzK8+=4Ufn6l29($9a4&Lev4@;c5pPfi1dpugipUdKwFiSnCI`gzOXFpmtqz#$#$m(h0QZrJ7;z*^CYs%iLy9uG_=piZo1KFzN6J^)_3#h*$O&jy|hQg`C{Ig|u`x zn;p@_0^Dy$kYvMB5b?JZ?3NBUOR9YZv_c7uX04Ep`(jX2nx`H z5+7Tq^j^uVhv@?I1pl-5d5r|j-d`jkRifXm=qde)*tSL&7&Yv zI)+}a^Ki=LLd?(QXFgiR=S2MiMnxv&lq%2RP%Jw7R>rjGlL;g_WS2GJAX;=85I>co z$11919A;UaMpIIJh$*Jkbez?Zo=Q->*h_%^Dh7}4Ggk1Np*2Ra^wsgv?(UCTp6?lE zJi+=+s*B%{yi4>y})frgoD^ChNlH)hReM@f16KI7v!iBBr3SI5y^0I!k^F)I9)iDd`fg;*Pv&%onZJoY@g>4-V)~%@XB-rMrH;WP!&xWFrOZR z%c1pNmArOrO0B9oA)14JcS8RFsauU3PO=7Nj*9T+Xjz&sl=L>s!Xm;%M)w_(KC5cp zt!4BFCEH`q^{S7MFlvhRvDeT6SHDuQy1*8YnkQ(cHf~5+YWFzO3YtI`?LZc}Ox}v6 zS7s)UkB(Gt-}j&P(}HN9%Tkn?p0S8L(U-bav1T|`(Ow@eDu~+)?UtMC$9uRgb+dWr z&n4hj%m=&0`eTnF;9~b37ON)%1(RJ^K!v?hNc&?jBDx9%P1R}7%s`q@U4YpDc-r#F z-?_-sk6yW`*;+CEmQxL!3?l)Bpt12l!^L#^m~%tX#`I(q@rYTk5nsI;$ShMvJS0b? z5TB8Q_&zS_O1<3q-K-lJN zrkyPCS|S`ID^Iv#MC4Igv!IfAPa3U-pofMz5>Y50;P7q7{|y-Od|zE`D8mo>oTLO)PZemc;1ry zi~gpU*&FhjA-&5`p%v}*Omq_DftH!FW~`q`8e-TNiG68auCpQ726KE7Q&IIlZPra(t;jEMJ~^$a zWj*He!$x;fT+AqnMborEQ@0sRth9wsef9M}s%O}BYNBkuMNs7CJBQZc6zPN|lu5Qwl(gR`iQ$Kot!QVG+33Kibq%;-{s+Rr)itXE` z03tAY0uJb7w(A3tYSNw#!OsW{0V0=&gHs}FO!R1Bz8b4W7r$n69jjD>yP}wll(rj_ zSwJi$cY7MT6YdT=I~c8pAlkzF2to8WY=UTd;FR}I+E3xoY$#eT(>sX_B!r2aO)Q>q z+my^&SgMd`m^8G`JH1kn4eRG{D1|*?CC=RHn3{)}ZS}V}0}tt33L~WxnwZB@SLTf% zE<*E476=#{6MiV?@kWSdl=~3BtKX}lNzAApfwTVe%SPJ1I^0QF%m=1OP{b2gDHi?TVfNOr{3a0FW?7- z3%TUWvlhfEDkL`iBCtDhFCO|PLQU(eZ|zx~406H7@7j(neD3M8EJ;|n({~IwO5?qG z0*2V4ixPtq?a}xf$l{i|T98#@FA5S<)qOXMu?Crmog_*L9Hwz&)9K~5wv>%8F*$j1 zRKF|Hvp--X(>-k~;U2)keavymfn!T!!9&&_{k-*Qp0q~;TcHB^M#$oMwc&m8L#8)4 zjc>kHVvD7UQMq%mZ-~EONTTe=s_|%!dg-sXs4^BQ+~MsfxMv?Xtz#Y3v}?t5Si`in z9nD*BY3t$f8)*3c<`p?QN7dnN%}Lz>J&(PW+`1PgT-7b|eLI|yB(1W)^f|CabgI!q6Au^4ob@^M2R|?*Ykm~PqSVlv7R8vPk7$wo z3PC4!YY_AvA&^g%V3*Xzm5w3x9)TqD-ZSwVs$A0Lq+Bfg!YP^U=jxuF^NdN{csW(8^<;TYg#gf^%Kb zYK{;#lf;@#Kaqs;VN?`vET-79QiPDt18CI&$)!0B*~_Ju-MQq`pO^M+{|5x5}MCp0xHiE{Do%PnZ&_)xSX;VS<&J`6|eCH zqYxJh40j@`8gxGz5q|y zy_&DpG`E#!U9OrcEN1u>rqnb-hHmX7Qck&WONM8aO;y+h58W*-yp)DXgnLO8Pz^ zozC-A<@f+)w?TeoZ=I16PV_DSjnChDkkWP$A>27eF((`PGcmJ6m)(=#tNe5GUW0GX z?f12_BeB+{eB?DVP+Jo=?+on|ciH4$v{mTQ9&4frrpn=!IU8#%5$zMF&w3LI_GKks zRd%9nTz;XUbD7|uro^N>4j61CCMVN$I$eCA(#z4H^*DGlilf9(O5_v2^=Jx{o+>sZ za=9C~+KN38&QjXM)Dxxg#a`gG;W3OC|fAk%HQX{6Vti z73jvALmk7GhCikD$iO0zcqR7QQg%3{+a$-!`Fi~3o2ThzH>t7`J+P-~dS{=d=$IC= zh2Cz*jA0FZ=e<+k95T6xvxjH|v8;ia^}}85IRbus(vl4DGl=e2c1<1nlp$c#8ZEC` zn6dANrGSijqY+w`lG-cjsYRAf=_=P%8U!~mqnDL>{EEB5L3T|11?JT z+D+JdO4xCHnA-D&V4h^l1$nj*#GJh51sHEjZHYOqabtTw$65f0xm?7-gwDv0lob|o z;~VIYmL11TRMnQ|R8UUV-Z#&BP@D~Gw|oC0W;#?W_rbkb!BN}YA}cELDV=WQq`8SKjh{8#Yph7#tetDk3|zo0 zlLXC*N+bxG7 zwGvSu%b@M%5|QZ#$+_W}A2sog^`Dl!{O~Lly|7AAL47(8(TlremOd ziN#p1F`ZNab(@W`lFywNznzllGl`QluTR0cC01h#bNo@8(C5NE_vNH?`RnX^D+|=Y z9M)Wl_QvF|ITyjGnb0*S!Cy^pbfwIDi9ZG5DR3W#CT10dC^c9D5$ND$n#l|Weuem6 z_wtsC(ZQ;R&apwJ^_uqaP1c)h<1&!X(^U;1* z4k~dVIF%clA^jTwGI^Zn&6S8tLO-E>#DRl#ai}aq+Et!!)e437$|BkZ6^!bT z8zjB664HLOoF}jMCDbh8QA`Dfx|C11&)JNbOO)9(^|-3q^yZ)Q6q4>bIU;1T%aGSZ zIy(A3Xgdx<(qvG~QVh4)LdKe@0$j#&&e>Vxk07O9SDPZzXv|9bzWVc6ub_grdA8jR zaAwFDvL!EU&T>xLREqkla4PjW$iH-*dAQSUU*lf z%^=n=Gw&%nNinwV>OT1HRl;z~ygl}TAFZUNsc?EOW`Vt!;r85JJqrg*`B~4JXEp;K z{zZ0NVe+#N=#wS6g@m+%#L7;_RtgDxo(~raE9$}e3@jeoR%nn#ketEvt36mSL6@kI#OHPCs(GUh!l~MrW=rrjM)(bzTP%GXfEO;gAqg=V)}*JW?=*DHqBR&On&R$?^+&&jI~|lDj5< z+~*)^1RgF@YkDF#UAlpjHLAo4N_ zR~O`HizuL{5fXu~4}j6hVm>G1pYm=6OC;BM*80s%sE$~&L#pN#_US={bVWYZDbn7L z3gz&hoDkq~BEkBll(S`V(oFbCp!JYa#h~B?FNX^4pi+Kf6KfgIJ=Vh@T|$)A43DP5 z*7&4umnsS5)eqEC;A`t7t>;k(6k<-g`=o2U6E-KUxTq28Z=kljO>MrL;;-p;$e-!< z7{R&46u)Ar0hNBU7=T1Cm96TO7E0H+^`1dl3XScHc~pX5dqozhTVZR-CyvT!imZ}r zrrx!V3|d=e7#mve>+-qzYg4=Z$W!@^u|(@+_OH*5l{@4}UUWXo`%dtV)}Z_WsU_9S zzD!H77)6q%oFZmDpEk4c$dm0h-80ECoSC$RdC^AV^Jh;)S$)D_ubwdjl9j%U1mZGN zw&hW{)+x5iFs5_?^D!1MJzp2UoKLsUk3#ThsI8vlEOqj_;3;c7I$zhqqEOguP72>h zHeV!1xqioqfrVZolawSvfG3z!E_YyoydU|YJoICq)We5t_}WAIHMM*@u+v?RWjL6t zS4^1Zm9rcR`8_NoEIemP2(D$$^*o%HG340lH(+9PDtoHn&iHcUyCOqs6Fnl5(M{&( zMX^CEnUmE0Ah&8_D%YP`9~!>nttn>p0`zd8|3P6W3H^%#0km{`do=1+bWaE*thiRU zCknMvBlQzYhiQr8F{c(j@}X1es*#LleqFvZ@ysw|zX-IDsJ$<0s+1WI=2*ai#HMs^CG7Us>}4Y+sOqRHi@EpFIrS>GZeb|bCU_CF-l8{?U@{SZ-|dA++P zK0aTii$P{DN>(U_qoyf*t%gH~D?LO?;Q$x^o*3DMg~jk{UOL`m9Mdn6Vdj;kLMNM< z$YVUlYDN9EA50N>Q>^E_?_a)-;?Pch2NrLp59%%u7MDVBH!##|X5=^IG>e-!MMx1$ z1grODsGQPc%EE~g6_Q^nNjhUFWIo+7#rHoIpmOV#f=XxJmu)A~4JQ`mARU2CkY}gp zsZ+Gzdlg}ZPwktIJSoB)au=qJZ+|>`G<~WSrP1*WQ|6T%5w4QEG48Q=?Omb>ll?wC z@l|?N$-3CrugYz&K$4{4qU}vBb7kLyqsxB2v8Ks_nR?bv{08_G636AM!_#lmS^8Xy zrF|e10-ONq;PaOO;8CYt~03K}EgV$XS|L$#5L0Sy`_ELIabqCQU4ax{_8R(VuP-}OFSz5KdI zyaj{p0!^Kc@((g9yh1WeL&<4uYbd!8+vm(Crr3Udw*sYeGh|LCENtiz&h}-FaW9Ew zVI{9maHy7g$3XtQh~5oSCN|r*`3vCn)KW>tv&%twY0?(2gb*1l+Lzvqk+CW0$F19v zZc9Z?&0V8e@M^~51;_U>)o%H->+HqT8W6gT@CKYX{DHpa&dmk1En^FD)!h@E0r_LV zZ+;^=HA?^Wg8$1U@0U1kGSinx_soPjNK$ zw>dJKl%o^*T>?jN4b4UqLZHJ4^cqu7n;YHHo>Nxf(ADee;7OQlx}&}4Z92bEk9HKA z%jPCo%pCkJ=`f#HB&`@r%WkKxDafy$io__L^Tn9sm*c)4GB1INPmCby!ntqA!K3AI z(!3^0&r_X`ef3V6j(R%m(fvmEpEJ_z_Olf$qaQcpaa$mM1E-_C3{Ke?X_n5Sl?4E} z(fZ?Y$@ff#pdt!{R4{i~;)!JEA71oEmf#8CZ(0XHGAbxm#~PbSRf}X9^as+#{|_#w={5 znqHO_zXE`=UK>pfM!s2ToL1`BvH4p}sfgDqXr$U%$&exvMz&{fohZ#ygMG5XI6307 z7o=WOI~ef6tF#<8uPp3@AJ&TLCO|-C+68EgI<)KRJ`9M<$yZC7A5s?g(Y^c{Zm1eNPyNdCTl`aL^ulo+Ohu0#VH%ooGRwMqX}EIJB`0T1 z%jFAr-C=WXcp;H)_-G%|HK6C?pHnmCC@Et|cOgM<+i@@+eBqTw=y0WJSw__yy_w2& zZ^?bn6=_DDPR%S*+v37N5?6x3YQ#e^)Zjg+3qxy9*6d1IbQ|-heo7SM(r@58 zvjpTcGFR^-d6th_(DAdt# zAABc{1puoc^=28O%wn%K?sqlI1GS3ptP7Oy+32;-j$>!mZohgMffJ9Kl`=T zNbrkW%h`P**9}}9&G>>MbxK!uwF29!Nedlu8NyIB!nf)X7>e+ui*RCorWdYcbi@?( zUBGrSN62~d=G$t8pLQgHh(gnvC_A-Fy~AHyEfC;dC{j?94dAE&%=8+dtlNF$#QB6e z+CE?K00toirEEB$h?JILhn!{mvdb9v@^TUBj^A~S-)gW;GqzTElGf2>%8J81NjW8x z!l~(A`ZNI|`Xr}-k!(zveNQ9>Z!QOR$cq#Ys&lG11v$kKHetc>RM{&$Y*%h1mdZy7 zVh-mlu%qX)-9ac8!qm@!q;`}C2ge|SLo2j{4zpLl<-oy_LCw)KT=(0 z+D0x%HFla}wta_{JY6@HD6c}OQSSD{KEPhNfp3GD(165E*z!9eBZMr8{B5!)5-MX3 zH}2D*-N+8gPh?YbKCCgMz%3HRFC8{1DCuAzb|wP8cVnma=YiiIWlHM=7PN#u_*h#% z8X zzU1uq?Gw`AC*6+*IG#vA?#D&re-BNC>QZXZ4`z$$Z>p1429LHEJ!6GP|Jv8?Kl#*b zUHSk$U0_kY^z~D_O~y*Yx1vVLZ6TTqQJ!L# zVg^vVFSR_18!&aPY{f$mVs;S!iy`)|L#swtD*VS>iC|#<2e;g35~}FkizT+F#`63y zJ>2(+QC`2~p?xXh3lXd}d-)Z~t*#$SH1+3{zl&gFz||i4y?;BTgWRx@EJ#dbilQ!Z zbKw>w=*6A5CnZx6LpY+6tBp^f!Q;q+O9;`xQfQMbk+R4>up}rSkXOOqY49?B%CcFy zh$Bk1D=Iu2@4LK+Lp+Bc49k)d_O<^|7$(QHtpiV1zoE&>*F3I$`PymM}$)=m`bN2?7ICtwxM6x{v3Rhi_xs=~7Z zz)=n&e3c7x3n^W&pN+T?N6|a$yTY)rA4`v0xE971eT?{k{aH^l+v=BcnFAX$lpY?+ z?7|5({=|flw{p2d8S+HxHKmgO*KaXD42Lrt9A!sXEKan905hShNr1K-wARiSwIqC3B)@yYkWzm)My5k5 z@PtT3-&CHWQUvSHs^N_kbNK=H4YwxX!kj~UT^=Qu93B%A(m<)S)mfCuzE32hI~{r` z31yyt)^O(*39a01&E3&17-S0RRnxvvWxKsK$1Kq5o@44WawTDzu{lsXb@A_M*M5Ff z`F3Aj@VHTG-U0DeZG%vxG$d=5*|9-SgwZfzVw}P|`d%}5K_h)AQz`Ks@E9YRaqPgK8uPZEV$2NTOX*%Z!2I${Q2USjiWrm2O)zxX9hMY?CJ?yIs%B3vpOhwvI(Em>1#lBL)R zCx9usic++#s|I^d6FgaQ@3}Ir=Mu{7dhTQy4?$j$INSU|33@r3^;KvLfyd$(YhJ~$ zQ>h%>?RRXlvIFU`V*ZBn+!~xDf)U+d)#1SbHFk{;DUZ#ZO}HHLs-(FK%EII5Mox8< zsr_FNMXxdn`Ho2!sFWw%mn$4kn)qQ}$$Xy|JStFpv7(w{)Ak$qnkJKv*UFGTsqRrB z4b~JakdExH z-vEnbR3{sK>33fL1`RfM?bWaVl9ezhDf0D$JL}QH5-1JKPRr6KCsEViqRK$D)#R3X zR97aSx=ipA^zg_L`ijE!If;)Pxz?Z!ee%2xr*w^gPiU`AVUAy4*^l4A0%C!Kovm@0 zA$&a2nE2y^%j93lKu;1lFWrXCi0w7hT6AzQ0GUum%<%-{lh&=0ZEB&9(iNmYimmcA zy13(7FxSjp_9c9FkT-{oZ$WWy z_XW;{Kw`;LF!cnJEXgy-s$ok4)#rlzZCM7rFc2*#*G`3DFiwsgAlj%A#IH~CPR4(efa))EM+6n_coRk%7MQ)Ae ziU1mv##C1)EQM)RzHH{VZ1`AyBJP1N%3I=@mbuzSv|>C`HCVB3Ay+w6O?H97f+JEs zfo_)JeAK?M^=*$+o76dawq#QJrxkJi7K8yT`;pirnj(T*^#owL4$Vj-3=k-i>_cQx z&zi4!j(_a^fpnt>8PZkAGXUiXcaGJGPEZ20=CApEJd zzJH5-f?>9DoJ?l2qtDF;hIgdQdP8_OQx0~`z1C}}vBY(3Bn9U4CYEtr$l*Z!M=?gN zqHHS93}s&q)?Z7_`YWy;!h&*x-WK-=O;Q#lp6c0ZI0!3RMm@PA9PPcYW>=cmQCJYm zd-ADGa&nlK1+Di)vO!hXVbE4FgarIXGuDKQFR#Qh37t1FhZngKE1o_CR!)LDsgp;Y zfD$WTdlca$#jj5iE*F+M8EdfC2;mO2URS(=Hzwg-_O=;8Kc95gg)@qs6H>jp&>rvVH^mn zz7L)#uaql7l!PaY5K5o}2rQ`3uxwf#L1?svZDJ4GP4G}ysGctkvxiD!7AE2NwE6r7 z0Z_fmY*}W+S10%Q?0n+nnal`IKZmeEEVHW=8dB{?)N`*om2xTBSd%eAf`@9GYaQFW zNut*t&P7!RHw_X?Q*!YAZcM$N!I7btG7usBKVrY@gd-gURz`;OPhQp zN2)RH+a;Jg+fxeOQ;JVBL1Be^HTCy5*`DiE6j!?vJMN6RtFe$)wZu)!zR{K8rG}0D z*=CCm0zg(;ZdP2QEu!?FqXy%is)&RQ6bD>rw#}Gb?ec|PAAlPo^=hq}+!->o|t=W6*YEE4S z)(|qsGY0cO9qF({HM7QFgEqjV@~l{_dtXPKSE=-^NoN;KiqVLF$bKfJntBAS!;bJb z00)qu?{dRDFQ;xgM|41-!81XhX2~G=^!;YGQ)B2R#}jNPtd1Mb=Cn?aNZ+UQIg=Q( zily6AEIo>)9+w2Bj!-mE$~Kw5(HE{n(kjk<_|n3I%f@Nrlm&YB5Bq3W(8KF|SRR(uO~%8< zuu`?Up8S%~`#V2n1!nR6DoS4C@P@}mwBg;ugOg!3x{-D9!=4GmF}j%_yV1gH?HNpq z7*7uo6ceCLQ5~ZGMd~aIS*J$z!D}_L&-AmO&lrszXeozkkA0?9;tLJ=SmT3C7LZNh zFyB650dTt9*i6!IAi;U7?I5Sl-fuHDjKg@w%l-IcpJwhbO^)iu9l9Bq1b=HR^T5Kp z`6Sb?>-}aY@0S@Zwu+EK66Ys?aphMR#%Ox`V#1)VvcjvjSvOZd>h`u|A$u=u_CFfs zWd{>Yd^&UqR#M6^-y{)T2gys#C#tP~sFpWdnbOY8Ou=sco?FONsI0^b<4*!9*9P-y zLBV|A&8pmZSDP9R*=~cf-r+A*AqnU0QnBzE5s0v~lOdPXWY>HtvjMmg;;9Lu!Qx6D z{4yzC4{AYQ$Yp$b1dUj&-o-NKmE>1*rh;pwDlg-S%H6*K?k0O7HLr+xwtILBh^F0! z!vp`CHveO^0^gHo;*Jdnp;pE8wPg8jrC3blr^F$4!iKpKyi6bQgb3BvN!+LN`<`9O zMJk%{96h3hGrdaXCwR%e4OgXE!Xi{TOE}ln%fxv2tXlh3T?!WF?!&65XLuey!HP2k&X%;;?)M2C)%-DEExEpYgO(_bh%2&lq3nEMqnQQOl%h36XXy2L9}z=8Y;Z|8<6<8C8aPUi6>b4u=BGUQ|pa&81?9Nylp~L)_kO$WW{j+SN-3w&>qs znb(iQLKYk^Ni!clTDqjm*tcF@d7w{|kcX~>0hi%#>pa%fD_XHeS>l|3$BokaOV@j~ z{>O3pX+$O1_MnjPn|@#7D0CzY%l-xHrgwOVx3TJshtb>5PtvNgFoDMCUXLePGp4-S zf-3j!97{|%FNaahGDhNfMtwavsl+J2E0*z~B^2#pwxKg?;|_6X4mNEzJt?>gdY_e4 zF{&-V3!XoF|1V8kKZw#@jt`v5hWA)4&Pb-UDp5Go^sEFJV5)n(|8-qbvu2M#qZF>V z@h$*`B;XFeC%MAdL>;Nrce@`$ImIL!aZ{6Q>3IHd!{qF)gR0$u8h2bx9n=w#ugp`3 z(#>|_^&P<-O5@j~{lqNc&*&^OF;X%lZWJLZno>ml$k0|aw4fk(0T(6=R}j^M+zL3O zpOFeZ>d|AEY<_?D@_6dv%HEn}?)sy~vDu?8ue%@rL}AJNZp+joZrD>Yo>!%y(BsPF zo_fbFvTL_b=(0DTu2=I;wS>*Kl+kU5THN>%1z^n7hI@B@)1c5b@Jhn)wG#Qto~vI- zn$%dqmZnF=16}I&&W{Sg2mMydcN$&1VOcl2B}*)`5F(v45C`?z ze0zsFbbH)+bEnOH5Zj6JK10s@GcaxS|Ay3Yt_N?+m9c|g=5IZ_&EH~&yti$> z^1nrCt|*WY)f7R7%2Q8N?_8u1D*=o4oezLL)6LsM$--8zRzP}4d4Ejy?eT4?{CzHP z!n5=OhK9iU{g5g7Nb-RPVp?+AgAn-hNKoX3tjm@)6gRnDc&Oiez1ITq=pyp=L>!}v}M>UrCw<$`)r^F$a z$5x`Tq!Y8`#A9nk5$Km6ACx^7%|{M`V(Rw78o ze6rkc;IS~O6~WBe3Em`on-xV#dm0>kdO_m5`t_dOj9u5`+b|`TPMcJ#+4xgBEPh; z13cf~fESV;3J6mjuI51mER0wVPUynUZg-|GDuP*#hhRchw}A?!0Prqn;%-dRnditL zbx)BA_v>wm6sscYG`b8og@)13>K5g`$pQjpJyua&V&q%w20!g){8k)(ZwYp=3#z84~(01OC)`XiZac{Hokzc--ojq+k6z zOeXPxU$+GSIeYqVp!m))h%DNG3;$RCS+faaE8y4`A2a>|Sumopd%NqKBAJ-Vt%(K3 z)A$j+!{m?(>9<9KO$1(kY2hT@SnYtUas~XK0K^kJ>?+2td^8M$|_|^_zKm|hX zc;My7k@B%l?SiD)7quv2O$lN}Dd{D7a`mZ#>>i))ivq;ZFfkaZ2#jEg2_>`7QvHMX z_n$lC?p%>?k^QXl)4<7=33HrPxXTux7GM+l{^)6msX&-*&%H1Lz`yJ9N>0EZ-_e0@anHh+GIhzL^V zHy^TqmMQ}9v*&zqNhGhNlN;-cm>=KA()?zYu3~y^`0&r2@kb;709wV#%l-cVDJmt? zSUlzISfvJ+GrE4Ncvm6*m7O#4Vd8?(3BNS`S6d0GB{$FxNJ#e6KPC?h`QH^goZj(J z2%ut=5~}=VG3&~NW*SqnPt7W95f=4vKsE?aVUXJt445q1xlqKG-UeyR7f`vZo-z67;dJV2p`faX$OgaS#rPbY@w6iIC*ba&TkiL*g z@1ZmU2m8xR{Fpp5=X`xTMjM zn_^Xp78W;um5Uhg&;Qy02mu2F0Y4BVIEfNTD-#_F^`uHl@lJWnF(7d)&v-1`oggSO zX*&T4_U~i5(?BjS69-9ReJ#L%B`{Qc7(;8vW*ae&6Y@Q1g9ICyumiMRwF0GOgfK&V zvb(!zK#?|LDa=4Og}UN}Wg>D6`s{URMuaOUn2G#?4w~XAxXeV!gk_1$M>^O+fp6VI z6Bed5Ct;7xf6D&=D$&FrHvHCK`%mwQi{5vjn2AZvVm+y?)$8{khk zyQh-t!m>ydtGD%bH>M?q+zzKDDZFzz#`~SCsz_Db;hftHbi~6rD8gnK z_TckgZYT>jqY}73ZzIyAEC+9>Rwh}DoloW(mKN?yC-DAPlj{AQkVH$dI6o;!l$6U# z#X)9REo`D=Wd~yxdJT(EFJ993ZF! zt!(XgA}-)b=`%n8F_2G?-zDp_i3ye3xAb zaIzBaWX99lqX2yVbh6JlspX7$EOO_G>rv{E3xMTbdjZ|2If6%3Y zica6l#RO^M=Gm_`=K5$6H@&SB>6)C9Ae)>oAj>!DM5K^N=r7C^gC;<7f+zCvk0;fx zSLe20s!Joj$)rvkTRek(6J+6t>xl?Ar$*OKd?C?S}}!Q9wf(xC#x7y`g_ww`OEnj!ZC z?AMS#bdnS@$CMt|j`X$xU?X6#W|9=FJ3lW1Kr&&w)~)inro7LYUTe)l*+8=0o?POS zi2yGb7FfRA$^g^c(e~1NTM%L<^F_F=u!vXd{627dcw;2kyLq`>!B=>&PFvW=QsA_cR_)t3yBO ziG+EL_Ol{Tj+mKOn*3Ob2$O&a zJvKR1b6K2~Oc&VY@Ae1}C)Lz2AaZ%;l~r5Ni3cW-5||^?hStd$alt1!JepQnbbaA{ zhvIca*uW!_C4w`Eyk?VjCt=U7h8=+(s1M%0ORl2Ag!83RlB#R>{6Kt;mey1r{`3Pg z3y1?V&3ahYYsn|6KfXUT=HL{=OE+^&Vxg4~5#Ek;VQ~OvdB1|30!&;!Qjx^;N7z=P z8x{eWCOaGZRH+kFwBS7n_0duSqV_M&h9Mn;B+ounndrs=dH~vY&h!LAWO92N!+ctg zC)N8rkPMv0$?8zKrvtxdl5g%?MLdapRnN2Z~0ZXmF3W15eLJ?cA@k=`xr-j!8b zx{Eqerq|4y`;{UhL79LF=>SeEZixa5D>&#sCWHj4Y0JyvQcIKsyqDU9B&mkt#0RP= z5)AfWm@RILKGX_;UZECV-*p~OtM`&9rXpu&pwY%V3H^uI8L4sYT5^bO#9`o45g>Bm zw-h7aH5D@)6O)trWc<_DO)O7Kx!bQ@wyEEG@_k>p01}ueZeuTAM?;?d52!GVO)OcI zCpOpIcHYU=`_CuU`eMrtg4g_a`Cswh<$uS2mHz-8{#X2W`Cswh<$uS2l#HX1w+x1E z>E8#k@Bqj{0Lmm;-WA-t5!T= zETI9G>1qxx>meTP{WQp&U1JBTg(GC9^E5pt3E96~R%C?s;2@}9+{FZsj?;GWA0zRta<@BLB0*+IIJg@6c;cjeg zi{$jB8wjYO0brcNbn8SwmX{zvPVVemX`~HO0F8*e&o(hpI4GQ7etP~p^84Q>)uvEP zBhaD^W?cUOg9od=mWyHZX*xuJ&99q9*e!geKAbwHFOIaE0uyP83u|dn2%DNC@ui%C z_80ukLE8cxpu68=yQ&@}1@9+Hm>5BZcX}L+-c*x0U|H&pnl^Ny?@25d&Pub8mb&!~ zlInKrPGu`5=Ha#?{d>^di>B9ZZGYEV$T2;tKp9%{2kwDJfh#MN09X!!iY?@+o&eus zed)9C06=GAyn*|#Ab#t}AG$!|!xJ3JvQ8DBNTrIBe3`Exe(DUKqv31u-e=5IpNao!;tbGJ`wh*@qhOa$_o_NL373v?msg)juqW;QKu?E7fb-jmXk6DTrYFiS5x(?u|D#9^4o%Q1PR z>sc>t;z;;Oqa7))ck3UH{J!_e^>i@sDDaR!=f$fRGf33CKmgg#0cDt(`8x7-wvqsL ziHPNw-Qb+HG5BQs-kO=77>U^C&0%OJiBYuJi9>c@!&ef8V`V?(c?tcZGn*0CmIRYd z%OD3LciiQyJy{0VjP<1;BLGxoy@34D7TJ?#VVg~pU&i@9_sR8s;ll`&@{%XfhKVQ) zHEPJc)s^+sTbL!YaU|<{i9#%~a5we5erQO9&ha4hk*1@7!5oWEu4-5bwM9{dff7{Q zhW%)mw#IGE>bGhqS>0{P{C85yu}IA&+_CnTx%a+LtHGMR8*|a++~2N{P*74oy|Qeb zAF+&#jrp9OakHNMR)!!2i$I6rcne;E88c&cU(M)=ClvM(fY|=7@7~DPqz&Rq$1Ddw zN-#tLzG=!k#rYWgwKH{K6Bl~tYG9tU+&bFvFDcE-O#W~79=%N*XdMo&) z3amN{Kp}MvKmjp!$S&S76cqHk?{{FLSBOOBBqy~Hrn_f4qzb~%Q?c0muWuXjeP6k`a4;PDx&_{LH>7Nj z)FzTFpUz3M?`k%X?mWj2_pjc0KCcKY!Hp46A>avM%_5_BlX~+%rFoyyywB-gXY{W# z`d69#DH67MH{u~>$PK&21Bc@aUZ#F^c51K3yY1(;x!SOWiFcO#p z_pol$4FM6nB;Ttt^=ckeNI@m}b@Z#9v?l$G-hcoB36xzyv(Wt1Ig3&ylJs+6L42LN zX7n-T1``%rl4lgqlNsrTM#f=dG-MXD+(3>wbj|278-l_pysi4z;J#@u>H_=?f5WJa z;tj6`Vu2$srC9pplA`>dfGhqTU-0Vx0EbWlgA!Ds=4K4B6XnmHf5WT(9YjD!GJjzG z=$|Lmp^XeLSjVL{ak1*lQ)F9c0AFPFZv3(7R#L6wt7CS$-kwq*hHOGfYK^mM}`T zo5c*$B%2e@w4SvTVNu&}#*xB`5J>t{X$A`s2Oum?{O``7{1ER5z^e&3J*sLeq&edA zEw(H0Up^EQ(<8!2*I5$uTy=jqynv zK(Q^1=b`CQSU@5pbao)@>6(gYMeAN=2RISRZpIpxu{N8weqY4}M(foWJ?_vTl-iLb zj84;*Jy`60=acIFx+0#6MIeHKBnptIPfKv4C^Zi|9QXl84vbPIQqfYv@4vp@pL^u` zzf<3cR{&*bA-yQT^|Ku&dsK~z2b^!H6yRTR z{T+gZm4ShchRxZHjON!eQ`IJ2~EHp-QA9d@`NN&_%S`Eu&PP)Yxt{S^HW$%ueFJI zm58-(JYRWfhCyDO?Q)S1%IH7{C{5b4<)9MA!_*0$b2O8d&_N6rdADDmYKoxj$z!Ys zw>m*Uw?;EI=@_fo%&#-IF)gCoRJvhRjNiQ*%ZOW}tzFNt6VrN+@*mn_Ukw=YeOi$L zi1g(1D$a&r0(-%Fk=hI#V9zL!_o>c2o`fQJ!XJ#BdQD^4=C$IMX8v< zJmBB02uBnf%0l`dl;J>XQHY(ncA&|zhcmO2(x9Bv8NWO4TaM|S=bX_SjKKjs;NL|M z*)i*y2||{Jq#-P^BIKUl9L5Ko{+JWXj`=?zeJRKX3g0M9NAE%llOFkfmOL`a#3xxy zcZrW`L{TC7LWqsZ+-DBF&W>Ye7WxR4jFor;bOAl!CYHuv>$3DS8}_AAnO_Y5*-Bo5 A5C8xG diff --git a/doc/_images/polymorphic5.jpg b/doc/_images/polymorphic5.jpg index 0f86a79e61d72fb4ff374dfeaa373c93d0b8cd14..500238b2a9b5b96c752cc3a8e3e260624d8111a1 100644 GIT binary patch literal 30052 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�?WdEc&2? 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

    !k!kmXZO486O;9~Z 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 X~Gauy-%)$5_ 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≻)$bdMsLraJ~ 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Ⓢ67%p?1_K>Y-A1$n>) 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

    w^oDIS1h9V|7nG2L zP)80zZ!G~#Hdq2~vndd_83J{O9xzc4g1cK2T=uAe2kJoh?N^2{)P0CY{vlIN4hrRE zp$fT&mV^7C^N%!iVOa4+3`<2ljEEr&3xb6b9>|06VS_XacFv-}fq6D?XptpoE;RxD z6$W6sN(XSOHG#NR4an`uv*FnHc4B;&KbsVV3r;z&(Q+)dFr6MKn08z zDuMZ;gJ8W_4oFL6fwFWTFqZ8B&az$LvU~@KR%`{om0KWe)h38rwE@yruZNsJ0;HYN zV67knB&C_a&{zO$gB8HF+z4#DoxpN90QLeUp!lhQZKM|1r09Wlt|8z`jlr_U6fBy} z!2GB=m~~r#=>G^*%*eT8g z2ek#j(_aBj78`*_+6j)#1Hg1ay2nQi?83Eyn4}McY$LELF#%k)8CW)1fW;9@Fz?2J z*+nZby=e_5Lx{K5zfC6a-_5?_CoR5P|Ias~%Pbkg{jh#%^#lLn51_)06yW7$fTA!H z*oPN@v+fFTHQNZzHamf5e*hf#%3v>62TG_8*d`c&O_nj>i%h|)${cV_mSA}V2NvDd zV1CgW%x>Yq^f~%s9wYoTnO5p6Q4qR_ta0oN{ZJ%KFlbVV9PAP|*y`T{7UZ3t5SO+Zl(KLYUqf z2shgTA%r~;Kt1@~n|=7RyFllotDo^0Kf>Y-JJI?TD~tGoQDiqvucADoHqo9^j@dsZ zpJ5D;Z!qtXpEGZf$639UPY&m3pB%gCpV*!Dlk8)R=>gg{DRA6@(l{~#0jQl3uDTea zbyh))$tH-h-t{euK*TVY9Yj&6(praYM$dq}Y#1V|z88L?z zL4wu_B;?nBPrz-Th$ZcR7eQBk8O+lh@)a3A@(i%JCx{^QJ15#*<7LvXatfK394j2p zvl=;PnMZj&jI;bxjDDvR%$H6_S>w(v4&%-Zj^oZX>~W`R&WC9M`>j&ogp#;7N*v+) zP%A-s0iO(v{wZ6xF~^n zRFKYYcg^RuI9E6~@*7?2c*g`aybHoA-hi;2|5jM+^iEjd{7#VPGUk^12mYHufYMh0 zGBmM!WYlaIfHVIxLF(t7u&Q1 z2U6?(BU#lx37m3qhEuUefm^EI&gLyK z9yWF1e$>j4P-aPBET_OP)j7u}*Db@V%smykq9o5Qaf0VnuXyouah!P6GuG?1M~v4S z5yE{s(8CZZ5TgVbu>qwYbdTompYf?oarW!#Lvx4fH5S~h(O-MD47dACft_+!7E`x1 zm2Xy;AS6`8cvFfaf|+@tQJl=6B@U=%!;2Y6&fD<~lA4;JyYf&2CD)qB;xAgnkebU1%2W0+fSDf3|q_g^Lt@+N* z3Zi055na0`k8M(t>4MKo^&n>?`7x5?L)mdLu}+auX>Oqr`J%w^O0i#9o3~Hc8E@~f z`-oR!pRiF+-_X|{z9DZ!(*Z8%*a7G%c>Ed($lWaYtzw7No5r0|gGY8t-9D-?=W?s| zs_sU!9UV1&z^7yX15q``DCVc0^LN6Iv(Z<{y_U@{TF@^o(xy z5=Ec#7RKE6c8?hqi=sw7JtALwct*YvO$WH4>ky0@@JZ+?c)U4U$$~lvnS9Z0UY-?`7%U4xXG>XbuMp?ytTylZHHa6Fb9-bBG7?cso_f1W76{lpm zyC;=;xFt4A^{VBjTmJapxsZ4|pOQ5VceSGM8b$Dwbn!T9;rC zPtU`ypIs|)?#%v~U8fE&Z9ZT~sJw7S_7k7akMQ3$G$Z-0kzmoBctx-aaJX+Nj3xTZ&cL-9$Ay_sD^<%FX&?Z|cqlfV`yEAJ*D$-Tjw z>QW!X-9P z6_Yqe0;$aQNCvGf*}<+Yk3(#&;u2arc=)zUh-WWZ=3xm=>olB8C{|-5*#Mou3^nj!h55&BdM- zN@4x=GT6nVGT2G9GeSGsp|at@e5~T(CdvE<2WF?!$*KlL-ZQO3}ev*RlroAfv zI$O)}nv1^uHBS>tpT9Y&Hv)(6O~T`Pb8Reot4L#4;y z!4u+M-ea1A!z1<~`Xd)L@_>gHall^>KM-MHIgn&*K9Fl_GEik^{HVj+=Ydbv`E_ z()^sKs_~`ru-cbawZmU~)K$OTR9E>rig-6IJ@pvY)`4M_Js6hTD}g0Gkj5f^EWiSP zu9X!3+#%!oOKuM5m&zjhDedKUzl~NCep{@^fz2kgI|XV-u(lfjZ-*|p?a~IXJsJ?S z7wtf?Uj@=+m7(B(B2>#Agm!raIISQL{fPV1(%yn$RVUE#FQHZjvJxSKl9(SXmJlK{ z!h2-$>IgKUFisC>So^2OcZ-fd9&! z5V2}IB(Fxx*w<`@(luM4e(h#xnwI?2==jJC1^A_BEEs&Kt42m-j!Qq()L2ITQ=+BY`liB;ga`tW@%-IQcbGC#1+^xW#yBS>PZ3OZB z^$@gREyOHX4JivzjT%v~Xga`rj}#amlmVRL46r#g3n)4ZfM&V^ZBV-&Y?<4@#$^v! z`5pj^$b(>-q6|iPs$f{A1_pKNpx>$qdYxLJdj@e;8+7jJfX)cwy)Ni{K}_ia`u}%* z(D`Hty5mOE0~Wibz*OO1J2L}pm1hA>YXR7stN=P;Jy7hofvwXXAb1@Bt1v~dNIC?j zIfucxL>-K3G{CS~3k;5GgZ?QU(7&V$dbbeI^+4|(;xpox-Y0fNNrMgYAY{c^{~02d(F$PV*8`ol4Jf?5K=PCWLWm;Z;#I&RQw_|DG{Ce{3yd4J z!MH;Qj85u;;dwnUyrB;UgNQca0iC@UDDFsx1u6j{Mis2m)WI@e3oOdD!K_XfOk4H9v{N5U z&KQ7kui=#OBf}rYuZ+GKPZ)hR{$cph1dQI8f$^|8a#zS>O$Xq1As4hy8vb<P<=||&4tTcPz=5?F?A_#n>Z=U45r@GhNdxfN+F(_z`x{rK|I4z;;HSkAqaWto z#^22^8-FpoYcgr}!sLV52a_@L@5ZlD&FYyYm<`~-{Eih^Ob1w@8HjsOOJ=tWaF7Ra zMQt6S?lKUXtpiu$R^Z$30Y@i!V2G8cXd!Ap$#GiWN$I*@ZSwU$6Uq%g;p>bitlLaJ zS{*kX$DKEOkGpC17Wdrj74E&+2=1H3Anv#2J+$r44Ln#~B}@-kBPV8uj3Eo*yl)1G zl;?q1dnt%b)}RfFwt#@Tdy3DN`_6G!{=y1So3xM8{y!@(E!K_W=LZ`W9gd-)r-mZ~N4$c+O?*VSL3&H*BYh!WB2AHc?50R3$Wyk*DANN330q_y2gz& zzrs$ly6BKgIL|C4p0TgBJ56sRpQLwFkJGNwI%z|+BlK}vtNnL+1LHfrmie7l#hM1Sj!F1B5ij(3}(sS@^wDk=jo|?Nf>B+ z&Nb5Fv{Rz>Np1$Qi(O!M)Ukrn!D^(nGCS>?nHLz1%m<7*)>}pm>no$&@hhW*{gqL~ z{$@WNK;0w>e3bXZ>rvK0J|uRp%v6%%?8#KM1#eRImOW1~T{94Gv%NopE_XGUclf-o zQ1`Uh*Z8<7)bgkx7T@lYLTYi!p)~SJXmy-gMm4*gRmtvgC};OOl(Jtr6mvd1 za?$qa+5G7N`bJ4`M!DMu%@MvCJ^kD*{XI>7=6IIM+?Ux}i=Jc}t-PIVy{$Kvdf;3H zTeUmbRj1QWY~1b@XxZ!$NvIbl*jBq`P%B&t>`R?1nMM3&#{&Kdw8pQGlfxfoXE{x> zGn_v;rn!7}NOk$lnhx|pLK56i=JiLpGYZX^f-;9Jw+42)YbQ6=^%6J5 zb v_K}k)m}DmiJ~_qPW`V~YHgexQ=5M|!j4HD>A56OwVz0$9WYDlG}8XgM8=`E7@l@RxWKq7*xRx+Ac#=t8)cX4okYtNXED+|iXD$>H*S zQV%K>W?d`MUUoj;Y}1J>;=Ybl`k}@Ij#gESt5Io$r$s?%03kal+&0}mo|f#J&W!gi zaE$S);zo+wc;VtR{7~^deyGbd=qY&88j0^Y8zkPA zZj~6U-XVFrMsDVn3eBZG#U>k%zk(a=*TN6*JLTl>cgxAo{|(>Ye}e1pH^K4un`BQ1@KEmdMl(dB+?~2o z;&Z_oiC2~DB_1_wl(@ zkZp8i6g50Ni4h!{|F2x?$V0>c-*ltLU?!VyK(^MnyyPHqu>h?jgp!~|CuKEZJhn`BQ1xS(?o zfUQ8y*u~bpGAEl<7q-{wudS=H+*w*iQphW^S4+=l>m}s4 zm_}!MScRth5d%^}DLzSY_8y7pEJ1uB+a<1+=M;C0&x^Z)80PWgCb&*9lN{&hN%nMr z03APg5e7+%u&?usf}DvECyquro(?OCM`Hw4kY3Z%t*r`SyZpqFhD=O*OI9 zQ75{{$v8CM-7+B8hv1zZY$wW$rn#o4GWluwj-1qLj$`T(E-UpC;u&Is>s`mgEaIszGOCbr+zketz$NJp=&92qHBj#+cBkiH61#uid#&#W;YUKlj|sl zVyanMp_M#C|1yEOSBaOkdr=_Kr7)7h%}=H~=H)UOxs?v|+;%oK_dMdMBQ^JfBQ5K* zgMG&IfEUXC(etsl*|V^F6*IAGO|!6z$58(7UW^?%wNs*b6wVsyF)&6)+RXB-Nkw~GJXVWO<sF{IXXq|y|AD70Co?U=7p4%i*c~)*#evkUnv{Q!b z<4)jqhINtT{EyL9Jdd!o1ntiH{5FvZyVcKv(Hv$?ZHl+CYs#{_uH z^R6Bnv*QnJ%sR(xOpkphns)pqO~;QIN$h?uhFz_a!cMhFVI3%c*PWBb%C67C^7~g{ z>HWK;<8La@3%jAS-0zy{29G}c4%c4Fe(qJ40_zI@5bd&1-R_dN7V%Pup7q5z1Ivq< z#%32wO-(K~n;Bp1F*CaKz|834n3>`E?-mBY zLR8J~#HyLz$<#EuQ>tZfw^>{NZjX-My$9O*ciw61-u|MibL+SMblgJc;5=$(9Bsz1 zx_?^%s2P!YeFhf)a1ItZyh4hPB^4@WB)45upU4HqiujMOP>k8~Z{~jQd!WdIRKi? za-eZk9yGcYK>Z@(#z9aUM7&W1wMoQJMNo%>zY)JQK=F$fD1Dv=(Ay^k`p7?+A}o=M zu|7Nty`*OW;H{T~HGK_OI&A_o@is6H-30~-dqFR2Kj;=60G%p1&~B6mtqujyI&ly* z&nbfDHN;~j&=^I0R07Q(N>iGk^ivBIziEN;gbp0~Fb$xOW-yYK0t@6I{%y+GsLldg z{RKe6Ee9LQTCnDB0!xqWU>39+jAQqKVY)0B6d)Z{t^j&<2SK-05p+A1K&M9;bgn9c z_CJR}`^BLt?GJ~3Xn#BORR@&6pyQ(Bs~|h0`bPhM0|tAg(5ARjV1*n6@c?o$$Vt(3 z7XZ~_IoR2*1(M??zzeqn&VLV>N9{*WN)C*36~L%O5e%!9z@SMP42~QE{ce@t`j=FG z>EBlUuJ>H^i~f7nN&T;?AJH+#_2KYa15g_=1oh!*07EpxzfQ_#w=|HE2eC(uA(r-h zv`Nr1u(w$Q6bAZIbJ+nl-h040OcpE?V9-D&hU31X8ZUK6Imj4?tMIOcmWnCJ| znvT1qfsa;BxvI?tSN$c(2d)0iwcGfe<*@y;z1!Xis;}I*UAW>qQo^A(HkqoUgaWmf z))g8rtm`$0t=hGo;ZAA~;Vx@G#XZn@h#S?pi~FS4Z~5Ech9wwYu>!+$)?jpI8o*+^ zB-o;y$wb+okIsbv^>aK_=75LJqA7Q?m0#U#)=%*5w~eu#_Pl0^js0@)) z)SlSpXg(sAXg{#2*1bn)*1L`G)bGciGq{28H|)c|Fua1FFusVNGC7ADOWkN2q)sB3 z9-9WR+A0ZD^qiTEa6{+AbFVbo$#>RoU(E$ye2kWT5L>N%BcyB@apCM9;t3Bta`aQW z&kR3&n;x%ulbWt`jhwI7YgcA)#kS7q5~J;k00fl%?NR3ZH~)*aNP;iAHi7apzXczj`yohg@oRtcRnNU`H$L`Y?Yisc za^R+uShpGV;*uH<4Nko`)GPe-uPm zf6Iryv(JMkcS+!W=$x~!`e|OM&IwMeL8oJ?@ex+8Sv#Y|qQ$-z*Fs#*_H;dTTqxE!>Kdrq?i^{@%u6(F;AB|TvI}rk4wd){Ro~E5b%j*KdPXX6_(;rim?GvlqLv#QY%ZjzXc-yu1g zEGs>jsyy>l(R!fkh)3Su7U^mS5h7mGBSMZUWAf>5Js*I3gE=M>9Qey(*9 zuauC_ttaMkj@o8%F4$#q9@(XH$8FQNzid-@ze&lw-^3*T{|0C%^E;uu>5Xz{=xT|n z*!2?Q$y+2wGImQ2WXjLDk*c-uQi9o<)6vB3oniK}Z9!b+Mn8dijklL>g=dgaiF>43 zp&-#R*EJKLeNn7aymmvbh<~0cYa5Xcm81)=Q3p*<1$5xarynf0DJWL zT~XfiMY%I#CH6gG4fZyDy~I%NR*5^g2V{CPH5QyrF`NRZ4rCqFB3nkj^6gASVpBf=}O^FbEBZmur*@X+I zZ2u2iXBi$asN;DrS&!G30tj$!*0(^wza;DXFW@M6{!F-sQs{th;74z}_|d%~e)Pwf z7&^U1gXz$)Dd$qZt;m)xclix%0U8rc;RYjh@n-$iX;xhoxwfrkB~FbcHEy*&)nqF24# z=oYMfUziX<$H&!3`_>q9Y#U+-&-J;=PIdXIkG6&B_czCyb~U6}wbo|aHdGfm)l^iv zRg^b*m6Ue-7L<$zDxEqpL{4OZ7csVeu=v%K&O?5+o zV_99fYf(*uXI@pOZ+7KyKzhY=P-^+MkmT}XA;}fDfVV-(70ZDsW#0l){{@@~-oF66 zcP%Hn+Xdcxm<^qqgthhr&9Zx0PTk1aHFch zIBIEMD!rg5$1c08*g3tU+C90w#Vfw8&o`!ZA|SG5b6|MO!JzP#t8je@EC)n3efN)S z{1u$eiEud^y46ZTmj>WOgbCP@uz?xv-pq}*LSM{=O*+iub5!1e4R+$4GwuqFQ+}G& z6QKsBV=<=rqsg?a;Y^#fp+bkmfl8Oy{w9ye-X8C;-nG8LJ@fuSJ^KOzdoKG2_B{6w z?Ec~x-1);dxZ_uFHXHg-!-TGMlF-=^GI&quKY*PHi;J9ScDp2Da+@Z3c&jOQ*A^R* zrg>M{>RBJP(hVWH`7=?J%yo&>l&N%j!bHAp%y_wD_*jEW$eJ$qfHiBp{6=TJeMa~C zc#mELo_TwZeD?Mk!rnfEzk&;x(Va$wF7y%MJs_dI8^Hf>A)whM*cGu`6pidwBlYZ} zaJ1~C3)XCRk}6sBQp#Hh(#+T#p`W}d-Xv~5jT$wZYZbP!)Fx;{orB-{PABj6qpqGa z8{OR3?{;@vf8O0~=83!O^e1=Mb=ci)>Q}y&BXp$=@`qsp+P{v7w#|e7c7(>E7i0L4 zAnG}!L~J=|z*=*_lCNZ+gIMlf54rT+0V+wm!nL4jQa@s63MFJmj#0pET#nIbkc9cHB)O;h3LX^wCh2up==VL5Gud{0?OqcpoaJ zxF4)Bbvf8hbvig~X@77%&FabfX6hO{U7O!eb}0@7c*A#XDdR-hY?zW3}PNK zh>4Xo_ya`LdXgDcU*tgLm&8%wC3RBPC1ciI3K0pb1qTE z^IWF7>$xH=r*qZ14(HnRZO;uEGS00xvOc#&p`ZWFh<@&|k=1V>jA>_nm|C8}zi_$_ zp}i9bZH7LGN$7(Z0RP!~oP?_2q>h5C94PyyC`!AjOiZ|GK#sa;$sT&sfhX{$hoJAx z01?ld5fW}UZHw{cgmVPUn6JyVosj& zVvmB+%kv6`FCQuxKKlTC{)I&tgK5Yh1|frJJp?CHoPi#QKL{xC4l{~*$A`k+NfH9z zD-(U*>oU22FkyE7V8v?x(VpGrqZ=pvlP@>zQwR_BQ#7C1=Oh8+&)I@TpG$=ezBGvF zed!U^`8qD9{dKdr*7AOF&E@kF8q1G>XTPu>#$X6Ch*roTDo!Dk0~tX4O~?Qs2MPSa zhrA&Nal;CbL1>U{!S~a#8QBukna#01iwSmPHNrk@1~`aK4@a`=;6x7S!QfQKrCe|# z2DdWq^FON?H7k*&`cIdRh9H@j0BKsof-#{o3dNI7eGb2~bjU2Er zVqj?k4J#APuolr68;}gJDM=U8AcwGl9KwmLhCRqC*pC?&=pl!QWs${cEK<0TRRY(t z!dDuwi9zllir2G=;6-5PFLb~hsDd3jITt|xIzj=U@A?`cdrU;ukb_Vm6EeY~1Vb!C z(8WpwO{_sw!@5KzY(!MRW<*&`BS~W$k|cH{iD7q=2=-$V!eLDOIDv@|XOVeu8JQb5 z0X<|cyat%~1#GHA#8h1prt3itVaSAS%$Tu_Ei1P5l;p`~&#*UsS$Qu{ci zx;U$wV3QNT@2c439`Hi-hsh_^Ws@H&Um!^OY=YGQ^^gAoHiJ6QA%Cy~oOB=$ zGA6^96|rI$7cT4^z>ghbM6g|k1ZI>-V|qQ5zC!_94k%)awMy7xS{YO4RWNm%DmLGv zhRu%x=hc3g-&S8Xf2RJ~{Day@>JPQ|RIL8a9BaHa$C|IqvDRuZRf`A*^AfQWWDstU zgLoQ}v6m$)_HyFF9=`n8HBtmSrAlCj0vX7pRrJd3EM7yr}f%Zi64eh7c{K(+!E_Nv&6cOXupE3)QQ+ZnTXxM zb9=#k_(2}zPi4XW_MF()lOKD9ieQgKN$i>b{gcg% z#s`~u&G(G$TJIS9wB9mKYQJXurTv`oNc)M+JFSO|Z@TxbvEDsvtbfNE8(e2#!_{Dh z3K2Vl_x1w68vt2I2#iOlDGLr`aN=M$J{%Ar^20Yq@~c<6>?e;R#rLi?DsNp{)m}UG zYP@nB(R$%Hsr}qxqs~+N1)V4MyLBJgAJctke@XYQ!vo!0_HXsC*)JPjvBO4x*kQ^g zJ8b-$!>?dFMIv?wuj>cv%qx2_B4IqDjhJza6$g%T;{6)tBm5yaT=Gpovg}LWT%~8; z<*JW88#ErecWT{t8_>Dyx>om&%Z%PFmreRNoOc>rb3SZ%)#<#^AI|rUE;zrY{N}W5 za@q--odk|MWAj5Uzk;10|L}%2?_lu0QBaF`7>`64k0dJFmjpYWx3L~VFCv4*ABV-s z-Ve@Hx)V^WcGIs$^O{eK&K0j7{mY)ihL=1hjV`!vG(P9H)#R+(UenWVr_4^e-7q`q z{=)o_+ZT)dZjfNY7Qo%^*m8%*uV7d3{(i959S+1pJyKw9q-!&M$uMDgn{LhdEXA4s zL88Cdt=K4;zavwWE{Eo+UkEPK`7N+s|FnO*(Mi8PDWiKEHxJBndbOJZB7e-xTovnF_@3x$2~Mc?RTX zc^2&Vvh8`Ur+bTBP7aef7Z10jvZ`+_>nb_Whnmjc#W?(ko4 zwass<^;W-qj4i%r8S{SkY-au5*{t{fVKd{8ZQ$G^n~8q`dqeIJ3VtsEe0K)aB2Sj^ zsYsdlqC}f?zr=*)dXWv+rCfL6GZ{hB$5Wz}4<)2%?u*OS+ZA1Ev?H>{bTPbzx+S!S zwkc$oJ{vs6*bp>tI}@~Iw=VF6{bbNh`|+Sx_G7`{>_>yK{cs4j8~PWpFVr9c{NBoX zZ;lAUMUsTKg{BotES<0{NH z#xz*WM73M3i|A)egs-(73)^5n8n(@GIP|d7VCbJt{bA3Y`oh0D_J(7}?g;GA6@l$n zg9E^KM}yx>gSF;-A+%g3ie6Mpp}X}8gg@)GNoT7qIF6M&3hpcRmfD#YslD8)Dk!E(iFSfwITMbTYcO^ zx4QU`E_LzPxi$ei*Cb%4)!+~qhXnAvIdC7Pyy#smFS_5%hyH9AL1)_3iHBQE*mgJA z@GsW5OU#uAD9n^ZXp9#m=#A#4QwFp1%zHCSXhId zbgN7}>0Xg^&%Gk~y<2%Qb^)CK4IBoZHyJ!<9yeO9;6hIuzLaDGy8T5dM&0?@X6?DfmMz&;)(u(BcC{JZj#cTSF6C+K z-AdE8yBDV(_b5uc?NONi)~zu8hihRvb^)AMgCn2@sayyba-x^j9OxRXJ74Z(M`wEl z(BWPs;;wE(mW6gY@5UBqvB?G>xzU;swf@RzovyMZqqdSv)25;Vi@Jge>*~A)+w$B_ z$CB(}m%^-Rx4f)HkKC*y9@$wpJaV#MyXRzocg@MhF8>COf*OGD{Z`D5Zq_lQKiXK) z`5y581AJ&dWK!Gv^qJ?oX*|;%j-q2NUa|v?L8{$#k=kw535Jc8>87>ic@~wWW%SbG zI@_YccE`MeL6_|ODYwl01&{Q+Lmp}QSAkdVY5CvW((-ZsI)bQYc)2+8PwFJnpD)} zSQJ+k(+etUY;($69WqP%ol{FD+>%Q+yC)X!_ed!D19;({ShDPvSb|-Xim}UTa2z|r zxvc0;B@tb2CZjXmu=YR1jP|YJM%%|^2y<(+$y3AToTCG_LVdk%((T=TN{t<%nl)`P z`sK~Z#zjq8)Vzj5tE{?8oAlZy`{e3gr-Z7tuCbMKZqb!{-J>cm0?**{7uV=Y>=ILf zomYbsS!;)RkzI+mT_G*_Lma+FEX%*xXe%2M(6Qv= z-*FarlCcN!+wm3IUzJWr%ddb zHDqboNaLwp?;uh(?IB$-6`+(o5vGwg9;=%)mSPyYCfhV}w3r$;Tw@h9)W+~19J2Kp zoUw;vT^&3JPdj)HJaq8v{{Ucn&%R&zm=F0wE#wcK2pxb7VjKA1+4bQ6!G8{I&_cSl->^FHX^CZ<>nd-aK{J zJ>^s{}R=u6*?t#;yHI0rR20DTx+A%~fP z9A*T@pc8sA>fofz;*%^W=L|o}I4e&`KBG&DJ40oOJY&lla@vhA;IyBR&*@Mx&r>my zZl_XYoKNM*JDe<2v_09N!Z_KhNcE2+pCF+O$U)-&V%Lh6jHzyIcduGC9fTk^{l`n9`j5|w z>OFoSs`v1{sNREbzpx43gK@|pdLRdCfKxhF^wZBl55%7Y6aXid`n=>tp06a3>nmk~ z<7*wF?Q0Vf{SA%D@{K*2`qquv?5!`0@!JqqqjxcE2JceY_1@=m>b$Sw(t6*{t?^-$ zNB!e0uiD4Gys971@u_@z$fxq*%`Z&Cd)NnaumO5eiXj77(U1BIdLSSNaeK{zoWAlR zyJazCy(~|leN!ixf7d6Pd^aT;{h*Qbf7n3|;Q~2?HyJhtKn@Ybtb&svhsa}5z*Ver zxPw&|kFv?&SvG0Bn@tLzVw1!-eqjLSU=w5zB}YO3H_*R=kT2*v-bcu0nT%+VgP3C> z$RH$lVGV*7)+4B63K7gMC$P^PmmjmfyUZe?mj2hgBGL}d3 zScM>iH3^b%FXEU&5XDr25T+9Z;9mH!JCPUr6JgPw$ca;k?6{D~hU-XhggS`@kCK@2 zx?jM0dPGdoCjKV_FxMwxb5ka4&LCq`cNT0C!j35kT-Y#&7wcE>W4&fUtlJ}ub%#Z; z&IGVt6l-r5!`j<{y}&VXtbHE14Lk$h1K-5I>0q&C9W4G;8%qF^tHB14KbUF~u?1uR zmXOELC`_0}Cu0j&7EBFf$7ZqI*d&V&Q%VJ}QG*aR>=eNUgQD1Atr*sy2Ij=E-XgGD z0_z9TjlN2~HNw)+nIiMr2+O`Q#B!^_CZJ6N|IYxQX$M(|BaDY5m5d$i zS+Jcq2et|4!PZIq*eXv5TUNl(H$gVlC4tR{B)^-jmHK8jBeiTgFa6bYo6Hx}y)vIo zkIQ^C{axm*>3x}3rmtn5n|+meYKrBam|}&;rdaXOe^G+#|G?B0eaIgiz;nC6eYis| zw}7S8D|x5F>WhfW4uuM)B3aO@77rTqBYhyPsbYP=vZ?# zm;w4u;JrOyt=nIY0AJ2T#33*q!RE~00`1s7`gwA{@d*`p;h7-v#63&=p=*iMedk)) zyH0I#w;g*GZaR!8UbmlA{@Z?5<%->+>K}G{Re!fTsdmxsy83VS&(%-aebPK(hqaH| zVVxtuVc^gzupRh)H}L&_KnT<#0{TLtv`F8gjLGjK=&Ub8UAP_x1@PYsh!(l!nh{KHv-@|-ygR1M0ki)Cb_MV63!XC^`pn}*5l)sOd`?v)yhzg|K1ii7-AHDz zUXFL?{VgU)g@3C(c9)TVzAYF%5aOL_5k%Ms&QhTBk<#$G8s%#4@)L00q(B2f>pf?xTZm=<+-)P2v z%y^yudece2MYD0ggXUv?m#CwDPpHHGpQ%Ism^v7M%?JLA8C?Gd_JSIOfZtp3|EYZF zYqlVImM@BK7s{Z^g<8Zjc~q98Sq|L$)4he4l0&2x6Jq5z$EK>xMdxa4h%C{W4zJOl z3~M$T5A8Ny6EbW%5YJ~Fw{hkRc2uozCjD-}iOO4W(SicOjK=i74c%<&Lf$Ox32PmPjapOmPwE+JEM zJgz`zO-zNsa8x~IAhO-0FJi#FJAB-tGi;XD9=2rF8g`Q29CnA^6#mYtF&xtxBd}$| zf3bk;|G@s>yQ5&OH-!^@&f!E)py&H$87I0_DTGc|st^vAQ<#@Zthu%pxC+hX`bo@W zh09N*$EmDINz)uo%GK>pC^6`Xuc36twwSiX^io@**H|`2t+%R=+HPGNbL#N) z`i*r}^mlqy47LJjtHFWr{4pE|r?I1_`K;(#DJ!~M1>V1gA04SxB2#(R8nh)>Qks(*O&b!rsI~FKw5qsidPUq;Mp@h; zo6@+eHYM?|7$x!F=p_l*>i?j@^?%@Cs6jj%`jp9nZWfWzz6Exbh({-9N^9>r(%P6&Jb!Kn`rbT)3Agv^M z(z-Bd3!@u7mU2*W$V0TOwUV!-#n{;HdvSoEa-U-3H@Edgf3Jwqf-qm z=tvU}+TAQm*xIDSG}}OBpQ^RzAFcEd8z>8q=`IOZYAcLWZ^}>AuFK8QugWQ*lxNkL zmSnbC6lU~U<)x2X=cH}2$x7R2n~`?WHY5F+O-A}xMrJyu16G+C{{)A#!p{UIbSDp? z%jG0=rVjS~H#4LCtz2k(yENL=rbU`=F=HERwB;MDa}({Z_LFX_2vuw>i&3jBN!F?? z%F-__C^Ra{uQJWgYo=!B_R=zQ#;nt_=WJ54_t++9p97xQBxiqSBxhsmlx$1~tbPVZ zlF`>R0=iKM>+V&s@4t}=9c*JlyE-}1LYD;E(4|3|=rCa&Ze{TFG`WbhHTXz1)&?uo zR7a^+R3>V{m!0bsl;s=cmXw=h7B^7Sin?gYg`@O@f{l#0f+d^Sg0r@<1&`qR3I2_( z0XksyGdPBXUS@*t1^<7hmWYnDkkB6JLs*17Xb$>=*7d0pM|&tNeO+|!j&>)ZrdBV> zn&u$+^2P|2;`(^a{Mt0#?CM;@^r}+hl*&5u#PSZyxUyk-blG}FWa$o@h|*Iw;iV54 z5v3okBT6wnvJ_jb2FD|GF9)GZ<={ITVC}!1h<5Z6&?e}|m>v>BV?)Zsfk6Z2&VCwa zbFYJ7ZMTPbd1ruZQG2*jUTds+R&$DWT2r=uQbRE%uD-@Jx~`2HQ9DQrt(m3=*KD&6 zsyV?3s<~$!RQ;YFT#c>%4;ozm2TnrhW&uLKf%iQO8N@E|ep?2>dyW#(+A)4KIHo}8 zhCOR7qg0OCVLSfvK{wH&en08lzEFjXo@mvSt|ZNb&P?6djzYu8wkqSW))up%mVS$X zmMNNF^HwXL=3~GeE1#x!G~cElG~Y&Sxtdq$2>l7;aIzlGKLG!|4fHpH|62?GYjBDe zb+3~pv`lG}Y9~$E$|o2+g=<}ebH=uDN02IQrVeapaqc<1jW|&9$Qc)?jZJtp5+e`uke& z|KPzp!2{PXu%gPX!l-0XnUJ^DfGKmU1zYlhJ$Kv|cY&zQexhNULM4OdV`Tm3k`;XB zvXwn%OVnI9)@eFz?9y@AFs5s_VP4;M!vTGpjeqOgtbe7?m{~SpOk)GaI&Ane7oY}* z+F%a|jKK!T0M@Jn{|)*L;6Y1vK@Y-iK9sdb4yEnUCMN7LV~*L)U=QEz!X3QJo8Nya zNZ4m7Qp|H_qNLl-Od01LMe+_iYLskubf_@4kE+qPDO*so68aYdcB?WMZq;#WkpK1V$`J&p$OxE>AXcRCU$$z>2F`nTK1T7i9|O-~eO*Eep_tunT%1AO}f04(Bky$*qCs`H}wx zIpljmo8WoDl<0PW!Q_0wh1v0fH>=%+U=GHGXfFDNWFE^4xqQ@%6#`}#TLeum4hd5( zZV)lLxJShB(j^h23(tiO&wmm%IETeovp5KI0OsHj0 zoO*Y9xODGMa%sRLB417Z?WB}Dr|GYz> z54{*+@Qo$j&=2Bxof+9a;X&3<#E{ifMP%_*8<{<$5KNw15-88@hz2iQNqR4QNjfh> znY3QUk~LmtkkwulGpoL8WKn+I&!Y5thE?&+605?Sv#j!OAF#^5e#a{R>cc-+v+@qW znIJWwpZ|aQp%)PHgdD`~212x_WJLYQjZ8m^Aj&6MWbjE9>3!Bk+FvLHjV~4iwXZe= zm9I`jrDZRo!g3H%_FFVb`db=F@_R8!;zuKs*pC4w=)ZtGVkeU@J_+0g?*D^s$iZqM z2P;^qKRkcvC4@Y#LjD0cgc;-@MxRJXA9^vgF+bA4;z$+CK?b3M6tEVO#Rdo(A|QvL z5yY@9K?J)(4&e(qL^y#DCqWKTK;*{tKp*50Q;JVV%0KstkS@NRXRDb${-h39s|~KW93<3fd?xu0SAFoz+b>a;5E+=w!K+nSf0JGsqvz^#KbKHgzClV;^R06v2WGQrNJ5J}1_#;=;Pk z+*qfZ2kQ*+V(qnjSbG|nI{6DmJ^MBVq%D=3AUf{F#9sUp6FZkc+eBytlg9Tn{ zW1$z?Sopa%7Fi88T+s*rZvj|B{y<;pO)-T`$d(CPcrau05LRrOz>bZxxiF=S8ynU0 zem89A`)1h3|J7hr;ETbez-NOEf}aew2!1r!Dfr&tpx`@$vx2V;ZVJ9IcqaJ7@T1Tp z11$2;0E^z&$71&lu=qXwe}YX`^uhnrWeC`IC5wQ0VGnb{&I&Ri7iLTkV8yf;j%CYq z?l06r-jC+heDBSg1>Tu<3%)TO6nt&6R_LY4wD1d)dEw_K+k~H*>=S-sa!UA-$u;47 zrcZ@$n|u(xVS>f48Dq(-##jn=3`zZIjHQ1Do3H3Y{$LCK+ZjH)szMe3@kIQR#RsW#7C&UpQnBnADwaF-FJRh=K6r0uzyq=fZ$$$3fw}2z zO#0+$O@8C%%KF?Th~u$SEYAanbiTXxg@U(itAuaZG>QDp=oGtRJt+Q%^_ax(^l8b9 z^i5Ld={u#*(GN+VrC*RaW&J?rnDslk!}K2t2kBUGKLDrMD6IxtL-yeaeeNFMx&6ct z4uo0+sS-W~=@VZCSTH^Ib!55c?aO}CGlKi7TN3|emmJ{>&LyJf9BU-bI5ekG?5t@XDVHDD>5F7H9Ko9nd{=qzFePRVqdZmdT^T?Mt;$ALw z(5+5pziXS^UYA~l-OeM5OHNbDJDlcJwmI!kU35I6w&3`u+9s!`>a$LtH8wb5jrGo0 zW9DDLj-c%Uo^vIG2#3$n!suoqpGZPlD{+pjh4c20ZJ?VhY zcdWez7+t~RpTNP?2>XEd4~6@P=0RWL`OvdOA#^KA68)Z}NjQ^W&U7r+p6x)C7tij9 z5TPBRv0__;Q>8Ws=E}_llqhWUt5%-zZB||9)2%+~J*+wIJ*hqBHLo-3wM%!{>y+N0 z*Im7S@3(sJJzRRdK3K2E2h!$Mz*bO%1HgAjaG>QlPV_pN3*ArUMt`OWqqFI%grlj( zO#6~;*mfqk^K6X`5ZV+KDZVixQF-!qUwgoRt!}U1 zM*VKT?FOBG#|%6CZWy-tzcy_3|8CF{fLG85^nM0=g6|GygBq}+XGtvRMj9)+k_qSi zWeK3;*-C`{S%##Y8Fbc#R2S~KBwxXq_%N}_*jVYc(W&wykvU335yh(gVbvNvq0L%d zA>F#|!6W*uLDPoKL0gR)gAP&ZgZ`w{1;3!w1}_`chG4^*5Nxm-I06gCff;>>V?wu5 zN$8I(W^^H!4V}v4LkIKa(NdlsX(7jwWj521dpgZaa6BbgY&0=SYA`-YzAr9QsXL}X zwIjM*qcyT#yD6eWw;_Dcpf-Hcs5)#jr7~>4Nk!O2lk)JV#%1AODP*`O~_SkiZ9WqkE_wHiD}iVjP5fmj~=I#M9mu)MeQ*yj5=pp5dGMsAo{a$K@6q< zMytX8WXOUD=uQfF|7`dcLRf!4R!m0wOS#aFGAXpVOq002#FTlw(1vp)-;KXN$4|5? zD^#*ABSy9sPZkAO}TlhDC(@ctFx{j0>$#wvB@ZBt7^Wnr z&zK~pZ#PRwKVcT1eiwLel8}y#0m^D{7((~Kd;bo;^CWoR1Mp|p&RPQ6T+f2mHwvNg zMkT^WxxaXMS(tQjNvwQ9QHpX-VYYf^L9td^evNK&UYkKe z?jR*DXPrq*_M&N2_EEE_?AyRQljv-03{X~sBN4it3geIuy$9v6?p=$}Vk3C(W)hlg z5kMoY3WUBET~bFgm9?qSmb<3jO`yEiSG2e~L@K{3S}waHNh!TNQ!S;mP&2WlN++(k zSwFg{-zcJR(m1Se!6dZsuxUu)4b#xVHzuJ4Ka9f)FaLWsgB{#W*Ffe6z8C`9Tx^^1tEw+Bl%>J0+kD8?EL^0=y3}4#&%& z29QB)1^xBl|JL+?_w3_Fo&A!ixnF}=+h<$ zv|>G%mVa^`-iMPbHE4kR0raOK2N{7JqGJs52iPA}IVp%rrW6SIQ@W(ANpt4Z2^)@t zaTlJLwLSt7V?iRJYa%5AM-!y|Ml^&1F<}s5d={lV!*3EcF3nS8W; zB?8oa4MJx7dWB8)O^F!q+b&AkcUshV?;{bTJs-u4c4KkFU0C90mf#)S2szLg=y!vD zJ?IxN!W#T8=z-V|`w)&YA&--s$n~TMayg}hoKEW@`_twG+tW5g#%UK4{j?90<>?S+ z>ggC3vomRICT9xRDQ9Xq4bOCO>7SY4);qJ6NB8Ur9^Eq!xOGl_;L$$$olpA&=Kq;Z z{g45zfjI#6Z=8n=Y8&)`>_I37a)7|&&;xOXglsRcBFjIxk;Nb4i2A28GXF~tnO-qR zCRc3FOKQusE52;AwkquIR_bp_97<4n5>Hfkl1-Fps|JoyLhvyef-^Jjy89MnD#p4}O82&=1*f80b!^BzLVZxB-a!4CNY zFOq>?3`yw45QAO}5y&5eur_26Mu;C%A%kE*2H}FZupfd(dBld(5i2f-ETV$|Ul|U0 z#3o=bfrL-|gKE&v1^sx?4}uKJ8J?X6&u(xBA+-kx$vsC%`a446m<*bnpven*f}ke` zdeWe$0D7vRrH#O(BNDbi2-^XkKq!z56a(-B0K?0NVc;%;w65V4vg39I;$uu>!w zR!C*S@&#lpUq!}p&CFP?8yI52a%+Kgz$`14TL6}TL%45lqcD~D{o-?ro5SLS$PNBSLOX|pOsIteN?{6_Ez~Z+bflK zY%f&4vp-YD98Z-o*Aw8eGUomntOMEx;B$>2e=vs6CNMT8#*hhF6S1Ki3F`+jVcl3V zNpq0>qsChH_Zrje?=`|Cfj4PBK8NS)g1RsnmO;9baCA_9^|@ZJjQ*) zc$)i~@jTB}$`0PYD2I6epq%5qXnc?FH{&+~r;V3|P8wt3V&{q>IT8n<_m%+&G!hMFh41LjCx)85cP$~e(D#oJya~dn~EiN0ZXgE zmXLkefcJKS48k2gdrF{XF9r0*Q;YD#-Gp%0)s}SK*^~UIV+iX-`#6qsb{X7fYzuf# z+Enl#XVeQGwQdtSV%;lzh(026fIcO<&uUI=uhkCm-ByRim#i*HY^Oh#*h>E>wS|tQ zHv#j&+$yj&XxoGLU-94G@YzoYz4MnukNuR;ZC^dYU*0t0c`q08X%Bz4<8F~$M_iJ4 z4?1P>?{h2?+T&0qyvx2(bfqiAB3H$pzaPsV%k((wl7e%FNlGmDy-}Pj<%c zo!mM*EH`O~;{gujLw??D zdwoKlE@ ziepYU6-S+3D-Jt-R~mH2iYpAP0y}`VJNRBdR`dZffG1(>=zbU%`XgKjorzFEN5d(^ z{b3C9Qm`A_w!i@HE&h@GbH0f}8+|fFXS@r<*LjsoPI%Tyuk~n?UE|&-KjJo~Fyyvg zX~1n!x!>)uO0V0WD&20+RXW|5RXW_UN{0tlZeIm;L{}E z>(iy!?LDmA>9tO!-D`_ltJi+@7OxBHP2Nw`8@<1%HTYn)dLOL18tekT+mC>rz^|9< z(L{7Ho{Y{Wu%P1!yl7vNEZUK%L)el)W!eaN(7I?(uJOnq{?YJA;i0fZvHp+@$==|6 z>8_wMxsJd(h1P&JrDp$rl}7(@wK~6fjat9mn$>=1HLLs|YF7Gx(x?c)>i>rtT>l5O zJEHG_2;Gf zM8%4AMx;o#g=b4QhZV~;hE^%og)}SI1ox;`2Cq>s589|%8njcZBE{Z>0I`iE9pG}Z((eg^v@^Z>@;_eAhp;C&C|K+k(Voco^- z-oHQyO%y7kkpg{UU!DbXXO2BbOO`uNLx#UVO?sF}MQV(AX-cwGQF69yeo~P_PGYrk zRzj;ja@>MWV%#C!#JFp^iSe&>663#XCB|dTqq!Z{^9HBzXpMuX5$O<}68vSKZ(aO5m3_vFnj z4G_#K2^UQ(j+IC*N|8<|%#n{RC{>EeuUCo4>rxNRU85PCJF6X(vqvW|_o7Z<&U5X+ zoUd9zIam|W_?d^0!(3dMi%^4IrBDON0H*7}_W?Z(oT#l)3^g{Y5~>>wNoDnxEQNLU z967b_JQ+290;yG@B8ipJ;&By8QqkpEvJquP3ZbPn%0VUVY5~O~8h*taG<}M9X?Yi) z)AA{L3VhM@Da0DSg;@P(?!>~+giM%=FbB55v(G{fGTsEf3;qmlZDm9CZNjLkU6D}Q zu173rGbd-a+OVa!xNs#m`S8Uz1_{M9M2be%CrE_VWk?6t7RUwER4Mw_v?_a552<-n z&8WLq?bL9qItx73aI5^R?p}dcQ2Uu{D?bx*!F$6PYyti07N`Mu(DqK)f6z@v6+Qf@ zxK|G4_i7QcdQF&8d#qU!yPY^Lp5+v7w7+EOKa+w!EnS}Ww-TbdPI zn+KGfo7bs0Hg8vTXg;m#(DX>fvGJ3tV*^%ktp6t$VJ;qmdAJ=ih*{8I+W|G`0q+Su zv<$L<{9$gC4QB_XkE#)pM~sMZBQ$c?&*c*=$xFy+kZJL%2gH5tU^J`u_5I*}mY zG@dDBzqVM^W^J9g^;oy0)!2lT<=9qfi?QRtJt>RP_tF+4ScW?MA7tVB9}Yt%xgBz# z4eC_l9GA^p8V`N0fR8p?BS4+)6f&D#D{MNuMZ{$Gh=|F?J0iv#-iaE|{1Br| zWAUHa4P&qg#(x6z`$4~X9Q^Mz_|IAJf1APoffw}N!HGO~iXiu$ipX_I7db7N5ge8n zM7t$tlFgDA6MZR&nYI+gVzHFWX10{eVY0K5ld`jo+i>S7kHOA)9{rt%c=UGO_a$6MvTL}$ojAZ zvO1!IXh-ysa(=9Lr$RJ66K1bF7J3>(~&B#<7j8 z>c{p2f3vC|ea)(Nc$rQ05M~EB{y*zMe-!jPLB9qvumX7Y}qU@!QB$1W13zX$Z|LH|D)6!c<5><4|&c02+5FwQ^* z0OzD?{lScsu5lp6oBT-OrX-TTrG(^eYa`j)#z^Ll6_UQ=grx3zBguPVNa9`+62D)7 zMDI5cL>>$ggdffkgdQFw2tK+&5P0y4AaL*NKj;JfM$j)_fOlXQWMBtD|2RSprxCI^ z4;cVt5$abFlD|nr($CnD@h;ZpP7;1S1!cA%#V1#i6HK8Qi$uj0^|S-xJ>-c|A6?F{|)gI|5xG%0Ze=^fJy%bRs?-z@VP6je3pm&LDr0brS0H; zyop#moQOq}h*%^SC;Z`{Seth`Yv*e^i|{{>66HP;(L)-#5bZ} ziLXR4>7^)UTH%E#CjSgpfy_Zo7X1fR1-NPvu!=DOD>0xp?nEpXOvEyAL@bpF6qB%2 z4bVdRA=OR#COJr2mK-B}m7F4dk=#i7B)LHPD7lODLFzE+ozywfYpFY==Ta|8Po%#v zJ(kAghtin&!GB?a>;J$SG6-vd=hu=zSR3v|M-4E9Oo#^glrs^l`V+Bo6!E)KD(S0Y zKIyYU1?i(g1L=c8JL#Q5FVkCvVWu|<<4ms<)-%0S*u?ZgVF%MQg#%1a70xm}Qn<}@ zPw@rQZN)FlHx)6Es;wP<8 z;ycX*(rb+@(o6MXrswK4Oi$IDnI5ZmksqlIkRPh8A>UV9N4}>vN4}%BjeJ{uANi*G zY4SDoo8&*$U$9(K|IBt?1GE38jycY%W6m?H!1|zX1nd1KfH~w37ElYSI{IO5MEGP% zC%mD!5}z9e5FZ;vlOE`>qb9W4f(ZPQIyEPrk0(#{9Q#FY^`MVU|C2CRi@(Y+${l zv%q>mXE)n<-Q#S(>0V(wrT3KmxZWquBYK$okRIka2psq?ym0*wm;%{{DfHZ1LIy#H z{DC2ku(bmEK-WeuEX@dyEbIt(sNTdIW?`hOrU^`!O){A;niR2|H?Cy;&A5T>45gj@ zG^LOIBxRK2xX~2nF{3%oBSzb~4jCQfI!HOsy^r#cdl%(B?@kKl+fKp!+bCFIaTVAU zv@KxWp8*+!J$!Z$L?7%W(K9<`bk9Z~UALhVE;C$-=jj1VXRM-_PtuZEk6Grh9kD3p zIAl@Hd4Sr)wU64ty@%S*v)g=(cgcK)cZc~FzU}6F_!rGj@h_O)7T836BREU_E(G85 zB)tCrn1Sp62U~!)HF$pq$RM0K(N`B9^xQ=d-Eopae>!QRbI#_3Q%(-VqyLYr^MI=2 z>fZjIxed77ORpkT1yKPDpcLu7_uhMN(xo>6DbhqltcZw;z1P@VjA?I*=`k@eiD||p zCYkTSXyQNL%KEJt4BY3GIWuQJv(LGnA^h_maiY`i>9QwX^To$p$|OfzYNUspn-vc@ zbt>(5>Qmn5IHI!0ahvLH$0@Z*$D`^Kj+ZocI=-v1-RWD+Ely80H#>1!V_?$^&Yb28 zI7h_(?ufk+fBz65qAvnv>9YX%4*_a)E6A8G2U#)a0$o__(k3|S7b$bdH%V^4ca~(Y zSE0g`XNA(FN1gJ7N2}_%dzadF_d)foZeyC8-6pig+zx7wx}DP=al1Qf*zK!XL+-!o z47zi(20;G|9{++ZsNqF1^kX36tx$&E4HwWGVfelQA@MOPFKf4(!2DZ^7P> zP?_C9apH-vc=F+xxz5m-jEaoj%+QvpfC+=Z0IiA7W12+TV>r%ooF>8!=e(AC26D7+pFNYsO5+ z*s{B$-32=%17)^_M~OFwB}zv_GL<$27pSZcDpMN_tkLKXY}V=x=+f@?AJSRtzgf4# zf4ANm|6}@X{?`mz{695l4){sGDS(?nuQBi$x;Q>#=F##~5Yb0?%-xN{TJuEY+#?_2 z4E&%YiQ2R;$&@A&t=S#%F8s}Leli1 zr9HYpy)~*#vpKRxyCJewr!JyLwWh>5%|-nG?Fs} z1~2ohXCmMRB)|2FR^Vj*zTL zidSq&NK8XxH6LA20;H*4kBSV1ADUJ2IRmE$Tgr1x#rA3jt#FT%T?Hs z=_lKo9wuo@i&d;oO;)K%&QhyNF4U|@s?aV?te;(y(4kkDFkp}$zr`pwe(&6z_|x;U z&SB!w&wcCHf9IQ*Jed2RA(kCm#3$zmZs-x6sMJH7pB(E&P!RNmy^ zCnI@kZd&rmd8x^Fz}NHAl7F9*mckhU!LaMP+XZ8AuY>|S1QR#RV~cU)yT^#(ay z;TVoXWfJNw*P_k}V`?p5$~KhQ^H-O;iz-U|#ihkz(xReRrToGa)trKC^{o6Nt@QjV zos_&L-K5-ZgM^$Bqqv-jxiLA%=0)e+0AJ$#$()#M&L}pUGklrPVvvo1$>@2s!O>N? z4l3~`yc%yoaqO)^HbS*JwXB{)4XYP3tE+AK!io?{Zh5p~R#}otMro#c z>Z$_Gq>_qR@x=|ZV~f`6M;8qnMi%az6JB^^Zdl`Z0BdA3-K%I!1>s6?}!GNk8%$V}}6};klXF-0Qw@glLkT|m@QkuFt zK`FU9T{WR9Pb0RnR4b~YPA8(GLpQX1$RN0Ehhb3JA)~;uD{}(NJ~Ij|eQXp|${7Z& z;tXEq9rVLxI5WrL%HfPr_-B}4C;PYirk z|7_q>&FTM_*DxN>qYVzD{dYruODi0SHHgH(>JDV&ua#19mp0{h8&h`o5+=RNj+fHq zDo9-GD-+upA{X5mEs5wzQVea+R1R8Gq!zHIO2fCUMccczPsg)$%WU`7X(~RjrB?^N4iw( zMmDP2j7+Jm7&!ypRa-IqNPWfnKh&2GaT?19|K(H_+5kb(4(Jb~-d)gc7=a_Oi70am zQ49j5@Nszx*{MN66Gjv;VNSji%Ng$pC&qKai*=s}-sjzhX6nIl%>5lIdmTY^fxMVA*^fEK<+%D*E>cdz-aMn7Ch~pf?938cdd8NPoN=Ya zXMM^1Y#3v9HlA5{Hj^4maT-xE90ChushHy1giNlfkn#1|H1E1G&Ao0x zb8f64qZ`g-c+-arZibQmtpw7$l}od4SCP)`4w`j)l(b&m$7sHKnKW;IPMWuVW;Ad7 z0XX&r8*$zBY=$ee^KVxu^AJ%iv;)sT{{nWVxCH%cL?*Ww(tk}zT5pL-{eOz2_Kp^* zy=zFS?=B#f_m%;BQhwi)lKzDe*UQKXxlUwu8?L}zWJSCMN8&w(ls*)a;+GPV zeyL272U;Zmz<|VG!IAiSG0A>yOQMHvBzPD^d|2bWhxx=jtS9<<06^p+KK$Y90QSN+ zkN%+z|EqEuuGBHOVrQ{32ih*swubg1XdA(unDsu9%11=f&xqu|V@d88ITHOMCBZMs z#QQ~)=&>%C3(SBu(J#)xAH;!tfSb=R7;sM@_5?z|UInlHLpAjCaLpy6&x6tCuF$rI z_JaQ*E94%L=ErbEK8N;~L?RTO|2q-G@h~-(0TQCW6oD$vwSfVc50-+Jzz5)=$mIgG z2ZxJ~+Y0sqboz5Roq5FR%)v(>`c*R~PRWcoMH}Lz9tc%l<+?$#V3g97jLMam)|m{|l!F7edbf z1`p6eSu_@+EY`%SxS~9P45t{&aMBD=45~ph=mdRW7;FODnZKmFm_MZZn5WVs^t<#d z{VKgqkEQR^kJ7K{JLzNkM#?b{VK03>gCfU#^%9&R90^0X00ux$AHb2&S%!9TM0tD} zPA!t*R8tr@M4+7cOQoLqLuC!~yK*=4oAMy@tMUl*i}DucvGPvlXXQQ2Ps)dwACyls z-z#5bzEysQ`AX#h^M%S|=5tk!`Bar-KT-Rek8ykfHy4h?JU9Y#;7H6xIp(2H=2)Oi zwkVG$akE32KW8N{ziDSNPqa&zpS4yqKWa5IKWKF_kF?e?-)XI9zR}vmJk;9Ge5JLU zd7yQG`BLj7b6@K+^O@FL%tzV}n0vDxv+vB}*tc{z-kabJ9ghF{OK|g{Zwg0XJ{*aK za3mI@PZln~&(`#(u?sz!8^HWz6wN#`Ol7_?$Y;JXC}+MjsAKLMv@)L?bTOam4=|tT zk1!wUZ(%;vpJ478Of&Bp9B1D#xX8X`@CJL=@Jsf#;m^DqMjZc|5hu86#0jtb2W}y> z&EQB_zzJ9iM`9`3WyxIn-NJ%?G_#{`7JAW_reVxyrU}f)^Rt)_<`*;XnN%_VGihYs zGHGYuFzIFQnhf#on2hpXHQCO)WirLPVRDFf-Q+C)s>v<><@ulTFPQ!yJZt)w=(H&( zbMiSSOgY&Xa2C*C0!P9MuE27XV}%<1X01z)EKTUkrIz&Z5@&jUNdUdIIGTBFaVmS; zB9FakQOdh+v6^?)yorC=yn}zqe4XGG^YwxY=3~Nh<~xOF%%_E?%}IgBDNa_FHgbeCN_L_Tu;gZYi=6tb}lc;0mn7H{aRgTM+Ej=<^kN^!|!P^tz25 z-L~;!uB`}VF0F`XFD%dCowF|BpRq0zoU*DBp0H{b9kc2b9kuL}Iczy1d&qLD>;cQ& za?_TF#rrHTi1%2&DW0_YT7IY1uaa>qj38@Hy6r!3)*?7lh&Ua2^dp>subgG+zJrwB zS*cF1IvUeeCo6iz$(1?d6u_QvjN%=2Na7z}nI$}6UnH8guaMbiS0}s2u2pWgZI^h` zc2Iu8c9Ue>cBf>!&3@@N+tUhLY;P-!*?yt8(eAO*2)2dZ0EYhqXM+WOjzo{#5c7G$ z5%7c~;SNW_4H*$0hIGbrF&+1GU=DeBv-{mc`Fq^r1iM{RMH4Q$GULuAa@(D N&j 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�VQOGm%ayTxbqpbz1hZ4wv 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
    x8WufJi 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%0DIsG2K}G} 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
    (lP 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 W2wMx3`{|@osa99Ve&_!H3;)?5SqFvy diff --git a/doc/_images/polymorphic7.jpg b/doc/_images/polymorphic7.jpg index dfd5d3172fcec39e5cdd50eac7824494ed41bdae..0749d537dd2cec1c084e6e5ae9dd81a7c50b7d05 100644 GIT binary patch literal 58111 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

    HMs6c-FWfP( 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

    6xf8Ms5Khz>RoH#4 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%0A6m|-}VW?|$mmSovZf;}`(e*XzE3Xh8^&xrl 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 AEBbI8zZxI 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


    T|AQ4LVn_UOAVszc?3hzAy{W@#uNH=>ghiad1Pq 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%0DY#3L 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

    pdgIYR@FG z+%pU2i^U#4G2as@W_!}aWN)z;?^!HHd)A0<&t9zgyF}Ujg6MXCE4p2(80}QWc*iii zX=8s6$3--2!NB|E)r`S9;{T1rpMzv2>>w**H~RaD!4Kg993?B`xP>UkZ8@-v<`&2l zaE1lgjsd^{{v-#MlMM7p2Js}7KXD2k<@=w*Z=f;}htZytyppyqhSIgn!wrl9e-eQ1 zf<5RTK>r9a_z5xtPLr8%jyU+Da8NM;D^4_aFouf{>cP`&NeSkl7X%#WuW)eD9ua

    E&t_S^dEo+ zHK@l!)Z+&I@i6_NT?{|!gfBupo(P5%F3{M~Z!*9)5x7YsZr+5i;18f4uxcmAWps;a zZ|YITfUkL9z=OMl{ypg5hyR17$qgCyUnqhghYMhM7M|1NtC-`9*bo#raJzB>t951) zBv6lkgaRj@cdCIwerF%v#T9r1z6a_6OK5Wy{hV_icNAT}Yj|+i>HmlDpB`cCpCBVf z)711{gjazgxa~dchrGk~J@~+w0L7AQ5&A@XYRNxmu!@Cxd>2me#N7D4ksyM}{R18R z1BL(aE>MpjevlgaJCE^=r_BMhcizM3qpPh-vV5MhUxL2_!#Je%G22h!bNCYe3E#kX zK#}s3Dc%Zw@*86_bW7KRZ4?-w9T*e!G%%Rz>+lv4DE`Axysvo>+G{OK#0k7WTNRQ7 z|Ns8OUo$hbCu9t-lDSNz{}A593-|?}5^?{F_+9-EKk{1hAU=mrVc7f7{09v!?&k>^ zLn~z5*#<%^WI_>W*&$8PLHWz^23Ax40A+7QWf#800itW3kb(d3fA|mI5$}FO=Y7q) zulTFme97yN;XQZRX`2Jt5JTG$Y{&8! zGtpdtW)Q82W!TfvF`!XS`E~dnEtG#dGh+>9Z)DosLAiS=_ZXva9>3#Wyn?6r?;|{k zpYRKYT`FyR^Dn3tXe&$&rV~d{u%s{TX(PW(N`}hEcw-+hFaCiS^9Cz*UcrC(8(AvP z<4rw_|L`>Rcv5;PzaJND6ZYv2{D=e0hEp6yF5yKyLQUSniTHLXhv+H_SN?~g2i_PB z*MXx3wbkSESkuNaXwE>-o%Z;n6@^X;8aecE5r?Qs{Eh}RTG8l2V=Iqw+0rh!POzBHI+BcC_xS;2W zs}qb)EWSz_8hL1xpizZJBaTZOGoTxtJ~TF>zJopF5N^y_IjGz#`}NPtKBLcMkI65x z+fGE0yX zW*KtKJYSAjl*%EC8aZg$Ec-1xWS?cP?6F!WyREj#POAg5-TI8&VSP;ot)G=GHebjl z+uvk^tttb5VLh*Zb>J{FoT_G9(`4t^ zd2$C&6y7>MR5nkDlZ_KoWnf~CteaFMYbRC8n#ql_dh!xkHKkWpP8pEiDLZBP)T7cp z^=|2!`nW8e_K_@c{6*Rwaao~t+Mj$w+uxeQ>C2sr5IF5h%tu}JQkPxR$cUJX|1foe zY@FsS>!y21|BL`xJtI<9%}kUPvofS-R=zBsRVvGzYNgAmMV2}(lMd&8X?NZxt(bUaWMurpOZ4Y-w{Xk`}j0S?ty*O>Rq-Mz>W;z1tS0 z)@{F1?RHM7n*X3uIsYxCeEyG0*?d(g)o}Zh4`}z(=-(H>U3h;kxqP|vNnO@+s#!Ci z*wd9KA-Fk6*Ze8cv0#q0O9M&#ev6eN zziy?#Z@n(xZ>KKL@1!or@0vc_?u9e3v17RV7oyho>9S<{Ri=4Cfj@j5veK zj@8sH}&@d^1s-p1%IuAs!FGO*V zF_J#u^$O~GGvsL^8}mHusKr9%BjNeKq&~15JN?HD<)PlV^SqO zCPzt&DOOTqYL%pzc3ncuN?lycR()*DVSRMWC4E%P)B4Dmuk?}8s!k&+3L=Mj0*$Nj z%mvsAeR1>w^=YC$)$~gl^(l-ok^ER&$&H&J+3_?kQIb0sOoQxa1HBq23I;!_hOHZ@&h zQVmK}YK0P!+N^}7F4u*mZqx;(?$-yVUepJqKB4zd{aojt@`uhpS=9w3-6B!dJxIGR zq_Iz?;svI#0v?)^HU9^F>XXg;bp9c|B1Ep8MCMMA@VuE4mgg#=`8*XOKTv}5BPGy~ zBmssj@iP>Quc1!yHY`=V3~QBzhTS?3!&#lX;SrsC{>M7^yx(;0xvI`RN7XIJQI!SR zs&W;bV>#@TTz>aL3wqU1#OriEPt0RA0GGsJh4>Fe_z!q70mW0ruf#=sOBRSviLZE< zhRUMSIPoe?mxZMU@hGhl_tJL7t#q~GTDn7-TY6fVQ~HoHyYxe4cFC{G>>^c}Q+SI4 zRk;hD1NrQe(1l(jltVu6QwoUtiqJ2?e<&yRsk9K!DtlR2H9m+VO=d0T z$rOu&Wd>%Z0%>Tk2(UOSepF*&-8Kj>`C!du3e9+cLiSXBpqb9n3~(P?ZVw zWVxcTl{WU2F&Ci%43Ns_(bf15b@&gB=(n&cfe^)UshLdavX#kQV`O626q(TFEaSW8 z%eZAeGIm**j9Hc_qnG8%sAZKhvb#gT>?H?dzZoYv8*pG!b1`|xh&|&lY5EJYWjXc!P z=lkIb-+Pn4`3b1QzG2qT&JHxIA+LvhaTPfzYng+zSIfbfz61R|_&*2812~Kaa7^%3 z;ItkrIN4E;v()3#&sFH=P|Y~n8^G7xj}Pa-jK7HgbO{gO8aW`> z(R>gdhR5J>cmi(1lg3<(S#n`Mg5Y2j7l%{0K}9`Y^@VuSXN&Mf81&Z%fyTT+U%c@Z z{K|Wx=-nI>>E{&M8+HZ{=uSK++BuQx+M#K#X=-{;!ZYv!yaX@9Yw$X}1^<9|O$n0d zlaCpj&nA%*GMm7`A5zE-sl=yP0sHVq=)`X+;9KhPE$bUja9%jiJiN^6G<0X9JMj_x zFWPAOH03@Inx>}rHoOOPC1ET%DDWA43I7C!nMXE|f5JTZmmNOHM1sh<5Cj>(n5gT4 z2CIk-Jt0KPLLmQP$am1Z2ko_%4>A)LKoG>i|J#2UeoE+S{%ruZ!Y(*~PjCWn;sV~p zy?7H(;!S8z==cF|LM4_RM$5y{ypIoH$bT5}J~aP9LyP;hdQ63R;0uwE0(qdVPN}8* z7Rp~r`Ms3AhO#%{5e(u>?8YZJM1*}BU*Zy7^DtfX8u9zrcoTmN>1x^^!$06v_!|uS z9u{o1+y~8v&~ia0fHQbPFnV$5WS~)i_rcRKi2J`H-u{xf|8wf`DfRe-Sob6HFh0P4 zc#nwp9sGy4>5Dgs*#FMIzCv$ke#dQ|=k-(Y1Pp8I*)lxD{aT%V!=L(@9E|VDNBM@n z_=?p+pW#b=B-wZ?MU-F3G_1!PXr(QkOwV50)6aC>gio-Yse6F(PqNEgVmd#9U+^|P z@*SRpI>du)HME?J>oBaX=@0W0{qZ&9^C^AtKHk_rSRwNUzSPU)#k?S?l%K;W7gPUA zcF}qiTI2@xc!+vDz*A(elZSCHbK@E-m#)wkm-yr^Cib0-$VFOr9wm(ne?es$Yx=)y zQyR2s{tkIDFSA8C8()xhCJ#!#+3T{#{9Ebc zsV%E4|C^uC{bUS>Ar2=u#&exNn$wRx@h^2bVQMW$j7Q6UQ%Bit?kYPhyyXtd5E-(rNdD zblBrh{}11w|JF1P{WFMrr=vZUQ!Vw`%jdi8jAWOMt!%TMAe-%+WP|+zS?Ay{{SM)> zdStw;8kr_5M&(NHs3KWDx=Ol7H%iy&4p};8m2`~REbU|WN$c1%(lYM4EFSlYG>-pH z8YYl!rZN6cK1K6I7w$K6ia9%*)4MbG_^8hoKHo@PHjJ^7wPQz1-*`t^!IN8-Ph2F+ zCIw69q-a?>IZ2jG&XD#g`O-S2R9dFgO7qlKX`0$24bujsZrU!Xopw^H9j{51;|o&Z z__dTzC+kha@fP?o@6F_cxjqFQ|j?z zYUg@O&D>zAninON^Ae@pHABi=4N~e_F2!yQQs~wp1>A(ocN>&kx5G+~+ucg`{3n&n z`JXEp^Z!sX+;~QmhU+jdqW6F=^T3A{&s=t_UxdCF*SHIaJL#9j^h<*)xd(2erJAS5 zRJhNPvIPsJbU}a=dxT4oN1PNcOclezT*+TpBDo7|CC9T(vOHHxhUXR~-SeQ5>UpP< z;`xMHqw-OsPphO4lRic8< zDG@;rE8#&OD&c{@f~tfE3=`q6DvzRhF^sr7lyQLW5Moa1R7-uz>6aqN4>aD-$9 zjg^dGM@b8rBdH+^B{|ezl0w5IF*HsR!crwJELUQ~$|O3hL88LCl!&l(N?6!#B{b}; z5*&6z2?~23eo=x#RV64yRf08wRplWx&qT04z#3Q@&KN)?^(mqrdHg%!y`+a(OG@}C zNs5>vi4o2cAL%Y}kvc3{6C@-)Q-b3QB{055{NvljFMhS+6Te+q6n|3j zioaj+jQ@w?8TT`&if62b)-;{juPN|edDJ|levQj)!wkZozjw|z1 z?o-@S-c;O@e^T6%RAqkREfQ4aastN%SPz}h0A-K|DG--L%#qB!?^IS~q*+Sszamjj3 zTrz(YmkicYr>n~BG)PsIiz&qZuo~LYs(~WVJfOr>^4`;kyE3@%nT`LDga3dRvoLqO zc<@x?1$lGCJ5|4(Du(G_A?Ow7a7aEVjG!LJW6Jl zOcIxpnc`gHDo&+dGOILDW|l_D^wJb@EX$W^Wz{mJY^h8xTQ3vK4#W(`U^IS5OM0hbwxb&r);_SlO>&p0vf zaTK$j*<#YOP>g$m#Hc4ubUoRk^icU8{-9?Q9A(G5&Oz`!_?Z);O6L!=j<0nAa4q#($vAp3TJnZRk_Xq-Ep)^b!NEA_iYW4#qliFxHL0)Evo9H36n$tZ@<^;6yVJ z225-%*=c}62G+nnzH^E1zf4l%_ke!?Fe}k&p{-Sr%j-ni9NNM@u!Q)(i})MeNqww= zS&RM#V(`s)0E0qOnF*$*71(l+9mPp^B0Ja&;6%II2cm#Uy_?S5-3@o}Z)f@5lYIYc zK!5u%U9B9O(JY2E`Z}_c{ji690Nq*WPTGk7gQm?6V({JgFEmFE!C^Q;J&sV1W7Oj~ z{h{3iJ4roGxj_IPNjxyIPBW0F*1-|DpYMFk!TDF94&5;($Lgfr|m^ai2Q`Ln;^QOs?zn z#eEcb-(Bz$e2;fR9iWl%Eo8V-1~?XM;W)t8X748lf+~+XiT`tsH8`5qWw-~f!-Mb; z+<=GSQ3YSb6raKxPs9#CWE}Y+)Z=*%{EBccSlQWMY+(Hi9sA-j;E(?H3H%Fq)+OVc z#ZblUVGQVBS9GVHXZ~HH{nzlH=(-`TN7+6B&%kr=JiG{hgIC}+cvFW*VU8Cv0*_)0 zK?C*p)QjMalh5ac+(_=gt3d2aI`PYA@kl;{pQP{r$0Mp1N*^!0n>lbV>wsvd%_Gdc z$0_$|&@?rz*WoRA7v6&p;3J?(1mMG7$k%MYGsXv@PktGV4>FTLk~#WE5JNP z;Yk?wJ+!Fk||kF*)5da$+YREP5n&U&3Fa77=^=3<@4-9*U@>A9{DG} z#2>`*>Jay^y##l{ZEbD)3w$lc^qmcD8q0W1N6VFV_)zySe3f|0PiJ?`qYcHBU5P?H zWw)@~cH%UwU>2;ylNhAzy&OVL61QLGkn#jGT!yCoTMJdsmC#VkR!~|LpToy z>5Ki$i@lVxn-=Y)cXyzvvGXrz?bq}_uWaZ5q!En~BzZbbM$-2pTbHB%_hZEX-$* zC_$qd7pRHyJD3$KaAP)*nX-#sInGSEOg7b%(ye?d%XGg;mtK`Fqd)l$?RPlsJr0*g za(dxVdzjA-a0=L~x1wzh?D>;ri{c_1bsn-_?=NeO!eotcoUArUkyR#HveL9bdQHou z$E;4e&01xd*>dSLUnd>rJ7kH)QE9WdBrTRVWwF&K(q#QBaE|y3pK&OAaWbclN$7Lh z+drODDxYoP^t0JUFPkiEWS!+0Sz|R_R$0%JUTZH|ZWAcWY$B!0CP9{tNRtlRTxqv0 zmNwfeX|ZjVX1gwFvg?-yyE~-L?ugXd-!0YlH>JwqQ>k$HUCKxDY-kOKVctdmi5c`i z9GcE$!89&6rVw*+`dh^zf2F;d^w`G&||j(_sp z98USJT#CRTte!XQeY8`T#k07+p>OJ^SxJrKD5;!2MapNmNa+lBDVgabMYBSra8|S! zW+h3!Q>NrO86?N4Lb9EkB-44Bq&u&dG?(3y;&MikT^^JqmvbwbZYQzNv6Fmr`dtJe`U7IWr}Hj;rL&@sgam0g}x+r7YGd zWz0*H^m%!bHm_7tTpJ|WwNnyZ*GjzGPKk3nB{6Q-CED#R_(`JhV50C~qUQ13Zg^}V z`=KY7dC(7Cu$a$ksZWI)@dkZU$ge!*vpy-;ZLDO^ca+Teb0ovvL(<%RC3Qilq%4S$ zo&pQ7f??OC);XYKdC7T_P5qkg$dKO6bDZ;0Iu3s0S<Pj3G-ehAwJtA*yor8`dpI$pO?ko=X>$@=J(qc-NFms+>f~co1q6< zpvG78UeKp5+0-SSZHl+0B>6ZP2Y0WA_3utNL;wu*1SQSk}5D&7HqlSKjlCyV@9sq1$OUsbLKa6AfRe}rYw2o-!* z0NKn0G+V-g7D#BYuY?4LNN{kB1cszYKuE6mhm?tL zNRxPn^vI%+&Egq)SQds}mIa~D%Yu+^WkIki9vVTc*bP+Wu3&s1=!cFFJTNHXbsnS# z5pO^&uOmZ@B|OwdLc>N&aM% z;velGzR?rKCuW9t$IKP4n1$jQ>n96i!^9&tUKYe=$o#lMaf_>!d2yXGH*P>?$L$yA zxVywD?rHd^IK^_8Cd-2NY|uQQ7<7Z<(N84yOeX&42{!ZaV&;+;Gdq1E ze##7S&X_As86Gk#!(V1%Ud_l%6i2+6X_@6RC9_o~XRelsnY&~{<~bRc`8cpj7awLq zI;7!0q_R3ZfpY_Bxj=>35Hl1Z^)3b-RtB332by~B^u*hu?2p%w}u z6A~dji#|YmVLtJHA?+_gznu7|iX4PmW3jEb7Mlipv2GYIRt=6YM=To_ibX@9m^H+T zX+xHnG?a@`L%Zl2)^p%H2v-^K*Wi0mYPp)O;Z7o~&Sigq3dlz@4WfA+WMB-6i2X{@ zCp?-`gMK~w&BS1>_<^cz^4tAyvCQt_**U<=lu$%AP z$;s$B2L4-65gukaZES!NzMcaKybh(!KD2p0ZFZ_dzlk*{t>hpqAqMW^36aam1L!rw z+_nZgE;7cjb5Dj@-1L|a9Mt;Qq59~|J__ku2HW`eGko`P{^m>ggGoRgUt@&r@#h1m~+F$27{G)Y^EMtsK-_(E&@2o z3Hy8?RnX7bY~$$bAo_Y?JMlm5o!X24v>N|q z9sbKkV&JW4Z--q#*UBF1v6ueXM}Hik9tTHrF-AR(ID;oQB*GyBs(IfFd$?G=#CKkY zpZGp?fCe-R7qc(4F%Oq=99qsC>?8iCt=tw9+dFs;2YSkWG!MZsI0>iVG|;_r&V(C5 zmiQvJT#Sq&DVlm*b^#xV#T#LAU7;_oYy$r9@)P(b|Kxkr0V+Bj z1ABo#e)=EqBk;`4HJle2su23wgFbdbcfxVT|1A2N<`vMi9)O2|CJ-tN2Sd-WeHNaF z7vUv%#h4ruEAm3@xp7N9K5)ek3B{*ietyg(`(y*q7au-iXAyh&Gw1Vb?tRQ;p=Z^kH zypKDGoA(j7A18jiNVI=Hp1})5nP1^g{DF5c{45U5hxj{aIS^07u=ioY)(Ff%%fYyv zkK)ej0EnW56ugKWG>Y+7swlsK@>?mtld@M3ulJ+0iMV+OxdR9BCQjpdT%n7epsPN_ zf%w-@?uVBD@d{}97mt9J2Qi#?aoc~;d=RZqM$)#av}+D+@@;Bn`=c>)Z;0}5J!N3ga~! zorTmtP;M|L_e&z4N(N=;QFbw9-_FBmq1Byu5-TZtfWyaj%0I-+IFDcOAb!DHy!(Ms z8qUAaw)|#D zlmtSOpBpZLBqSt|gcKkI2>kDs@J;T0{JcJ+GiUZ%yPmzi*=Nrp(q2KD>q&DvdW4Dk z57RQPoAl&LJidZXd^xpw1dE6N1M|1B|0$TR_Cqkkz(bV9Ir_;R#QnFT#oWZYnA0l2 zMkT2>l72hs_s|Ol(FJCa{y6C`Che8*8-ARYA9)JKUL+|w(L6HALlHKrvC)Kuc6vfDHU`P{ zENslf#uCzAg9lq#m9n1_xtv!gQAO@z@8hTO?mbHCGni61&maF_MN+mi6v7>F14Hd` zhW;ykxxJy$U5Z|L3GMSDw89IhlfCql-L#FJYQ|0{EuarO!`jTVTbs~OH&7?*JvM5s z#~!WryiBV+uhR;zvs&);gqC{$TuXfaswIAmGXKH*4DBy)+dT(2aNE0*Th1Yd*^BUJ zzr_=s#i~7C4(;$s&{n^6ZT8RCM*niH52)9=0G`1J?9%GMeyt3esTD!JVc!q9#!p08Q>dv6S}FFtJv z19tP>Yz@|WTa?!D%Ui30`85c8k(Sx3wA9|H#Ubrl6w;#wAw!x7ouhf7i!>g(T606U zYj)VhniY0jGsDhk*zvfA96!@w_}?`Uj`naK2VsjqenF}dcKBZR%j?@vj$== z)Qs4x)E9e;de{)GJN8XYkNc~-&|wVI4d^j1q%j3>6KlbNbn?&9Xdf$5nCs)qB79j8 z>#zB-AsXYCw&%nrYgR&*MibckAhA-zi47V`YSTbckNT5_)#n^juXCxoof|aWxlf(0 zE7b0~No}qN)#`df(~>_`OEP<9qr*%yIMItUnU-WR#e#j@?l*B<$+<-t%rWt03}5EB zyfw>d(}*hqJtt8EDe3A@Vef;~GWDj`swb^Q-DzFwN*hq8d$!uqV%pqmHO;+SE$K(p zlzv(b>G!KX{WaC4{|Q(X3H9zN9?4-k#V!8QJTxd+3rqNW9_Q!a&nRUxOxX;$Et-)Y zhNcsTo|CHSnc3>hELKNWmD;l!)t23^Y1w^h$sSd6_5wBLtX6%_PSxdHrkb1^RGo9L zDsx_ePk>dChU_Ws&u2)PpBR3jd$AzAg zscHEIYRNBGQ+}Nq3tH7s(4+c-VbvDQQ%&JYRTXYmMd2Zp7hbQ@!h2Lw$f#fV2VhlX z!T02|hOdaWP)t88Vag9I;nz6u!!#P;yO9xd^I;Juf=$DpmQE}NNDlEHB1!Z?Duk1zmz4A)GRes5LQxt!v zJ4%^$!=5tQVma*qjQ%nNy`1mFmsWggF7;AFnN@Y=4%L>&q3NWksv=vJ6-BD3~5S>|u^BbPG1w zE4z`@qhR!x=`fA=8#&fhG3TugQe|}rnocyDj#H(z8R#haDyl70VO^aH>ROdw z*Q?yRQRUPxQda#2Wz_Fidi`;w)t^;r{c}pG|E*H$zELXrOIpnor%3x?HDgf?Iuwk- z5cEJhG(vSPaaSF&UxUAj8-mevB2>_rpuDD3w3Hm>G!-kmxmsDx&B|<^uJq;+xmzZb z+Ok&3E&JqZIi{qR+m+bzj1roEqr~Q~mDt3p-Nx_aY+%oP(!Y@OH`KEZ2WCS*bip*J zZ6Nk;BJOD+_M7IVoK~x{+Cr7t7Nd+d7kWyD-0cNQZLd&DdxMfYcm@M4CaGhd5<6Ba zzGJsyJB})*<2FTgJf+Bv4;0n@m7>vLVp^v-)<|1`HQ1Se5ilAMk6x*<8T|v>C9T+R zC;smw{+%A6ly3Bg?g;dhcqR3uDzPV92|Xo>r|{x>TNTsWr|8}}itJskh~6D?^d3d|5@CV!i-vlwOp%X>s|stKyFU4(6h9x()>?-2jYnk;SuNCG4ToAA`FP-Cl-I7zn=sW|9*`DKqE~{fr45&9h*g(8%8vgS3GW z;{RFLALAK_`K$q0i2WsK0LwklSeSgRwm~RFkjGuShzt);WAZ37B!?IPF;M|l4X z*FFayF%aOxN_>Fz*jY$EN1>08OygKho(suy<~*K3S%7`)I#!^+tR@CuhX$}obY>q2 zVt~hwZDBO3Xa<=iZaUoTb~3>3tOv?s=Um`JJ1^$_8{u)T{WYKYiqGQ17S^<4Yn&n* zhE87BkI@e%XoHK1zn5blyF9Wi+h+8a?dUJNu)hy3@L+)VrDNmAMZw%~@Z%EvIOt>| zmIYp>%S&y;=do&&OK{I8I3`@iWP@q)looO$$D805xYYw)#E(g_ zg$YpzS_OXG;{w{oJqb z$fxBR_Tex#jjh|@ES!UT;XZf(9)ySCQFz=NJ%loO+Kz4z$z(YNxZ(Yv9cULXQlT$i z3HQKTy!SU?MFDwk-G}}_lgU297<4u554+Zzv402Y8k_gSBk%+~1J8fYiyU8qSKw86 z1AYuY@n_LIb@MLe@tzx`cQ(H|Yc9 zCrEh-Ycf`m_6Bs1?Z{&LXc7m}Ca$FFPLj{tiF6;q-s^bs2@&VivnNk+d=QKVaVPwz z4~$&o&xbtO^jp>)d_Y;ehZgfLG3MK>JNOZG@+$H6%lPpF{CJ)?_gUiYr-`?pB$9oc z=<`whc$ld8K_c_}Q626@mpX?RcaxggHP+}Jcff6MBbeF;9%dcJc65pTq<@(7ucI{15Whdlt2dE$ z%?`3t>o3eYjH}=%7$3fX58)?Zy4w?!#Y2?Ey|jzFl!)&c*eE3ZN`{I?T3kD8B6?7J z21$FAbjQi{A~b>()WQbR-N{gT057g2ZoiRIxtAJxkyiUV&VEe{{~gCE%kaYV?XWV z0+fKg{M*gIzKaxgkc;h<)Qm-~BJ%4`SG3m_G+Mz?J-csUNpAe7cY^V=ubYZnT&kO2SS${^z50lw+fo z+Hb~22g*w?Hiob<2OI1I!K)>Bvlx#TQgREZj|p1QJjRM~gxqmPlyUqx&zlVG4~LNd zQ0&9SyxtScZQjc5J-|a-yn@JA2=;jXf;w5{f&Sou{@_`mrC#+~>@`h`yt}l}n>7$V ztby>Er*WTU8uQ(tIlg-}+wX`*{Z477-@O|4dr3n9A89D?YYhhS>;(+LOX1wYxV>D< z(0&kh^LkSR(;lV+tMG57)kiDY&v;n?`a@v676ztiA}Ck$EhQSaRBO!AsJYfQ&9?Sv zmUT!ot#dVETcRP`dJWq4sNZ%(eYR8TwcV#~+bf!G{}}!SXb<1>WbD-P&!h2EUk7dG zxH^uwGluCO{w#2S9sMELt}%O*=GdK@6_TORkOGZ_mTNe)RzsmJ8VK!De^|fz!e*&A zY@xaxJpbU>sZPhGYG)y6Yxp@$3x829;lEc)#J7M3ffi$UD3NyHWQyaW{9!FD;qUpJ zAH$#7_%bWfQ={Ql4M#XM7!j|5$W+aU%28ibv3jDa)E(WZ>CtWKjOkTJ%!t~Ue744{ zR7>nOHSsWXW9)URkG)HEvCpeE?zgIm`-UTTA~YDoJ;_XEQkagV^0iwU`U_0(dJgAi z;?EGi4B$(DT#)+WLe(7~qv`Q3btYt}BcVX;iDha{tktxn7PTZzS5wlU8k5FU?_8!j z=VsM752(t?$|~nsmAjr*nd>+3HE<_FgE5@N=2dQVs0=hHSPWw@l8$ZO>%&JLGfQkFkm)fD4w0>2m%~oaFVpXJVRGE9fO59hg z*v%;Cep&_YU%@|Bn8sZhic;CT2zy5|nf7MW4q!nJWzTVtTYfL+yYQt0Us~PXYIa-I znC?K=iBnxhvT8H3RFhGt>dXpNW!9@AvrXk$y(-NbRY}%D6=khcLDoLyXJ4h<>@&*F zeo|T4zvTF(va@(fHFJs^v3Cf&Y@x`rN6fLo=r4Wz-34vD--164P?sH~n(Po&qMaIB&et;RfR>_ zDkv&aesPuZih2H_nCBmghm=_|PZ=ev#M}ILSur}vP z(l-0ytSUo`gJI}~HfV%uC@E*YS;6;?m7ZuiLCQpn$zac#^qNGplr*K*M0ImV;eS>VPkIP zlm^tvu?6a&0t%~%durK#p`Q2~EheSWCRd|F&c;|JH6^2|WGbPlP;pI_ifwLEO!IU_ zHP2LJ^J0ZJZ&q0IL4`KoppfPVWN&^`_NKonq>-5`grUP+Qbk+9#-bYP0eYbgCN&_A zrP$8Hc4i~kIp#|!oqJc8Nc2*1dZ^eE) z&%k%G2EE%4UB#x*-Y|5PXxaINr{LZU*?J3P?PVW|zG(_#AxB`}m;(A%%ddB@e0r~z zSMQzj?0r#QJ->&q<%1UEiw?6B8_S#M59DzMbU+h-v+PPG*v`eay94`O*ze&x@IGR| z0WY+bKn0E16*v+u|B*QPjiktTBwIc#>hc7j1RyBY=T2vcN07Tzozlw!yJ5o)s*c#Tpk4TELbxb4XCi2Iv~%< zBojA`{aM&2WVDW>0g$ZcB0mOp3j{N;aHC%uO~dA9w~T>z8J%qzmAQ-zESm$X;X*jc zbq{m>d+-lFiw}#4n6NXOe9nLl%DRptKP0D|A>#j;#J?mFfnECoV&KJS0Lw&2hSgr^ zD*iMkD}#$2anXU;97_XF=H{0Tbhb^?fP^+Jfn9K%YwqLPx4Aie4*0N+T?Dvfgfi|W zzs(#gDC<1(oHmAi@*9p_`wH}zHE00qvAqel0adIW_^}H=cs@vb@nau;?8lD_Q@9c5 zK@CtA7n0b88{r7=-@%~xL$3WRpTUPce2b2~A(~D*#~RAIa2{=N5zjy^$3Av#d^BJy zYcR+LlS|Tpi{T&~g3CM*n|;wmg7^|7mf;6IVUQ zbswXn-~+IfNS(nm;Gb!i94cN!7Z8y)r?8nX}a2Srl)o=}52Pc3kCJ11S31xCK zWpXQZbB6YDM;v-ZI#d9S>?}s^pa5^b79Qdn+QgYJC!fg~TEduwip zMn3&6Cv9WX*fVx+hBI&$?u5JH9-xXR0~3JoPD>$+zkz&-LWFkUXazU=0-cwI9R&^`u9!P1?MRta<@n zf>+>Gc*B!*A=J&!@Z;xB_A{kU-f3rj$T)h%4j@zSlGwZd1%K1DeT)T^bryM!r;I~S z)Ba3e&%uLWY(5RogR$`%{0M#wKY^dZ&*2w9@#=l}HT(`f4nzl`UjC9wFkQ)>sdU26 zmIDSqzZJ;D=SGe21+({r(H?@ptigx`7vw+%G=o_SG6-{E0W5b9M_lncK4JFZcpF}ZXTWF>-{J1R@#MAf!)P(_kPbyq zOJvkaY}$h!G0Yl;Iix>40l@;Dd`;{QGaGUbae9tV@3Nb=*tUJhDL8Tv{+>9>=9FOlmo>sjWI@&xkK z64GCV%CV8Au!HK_PlSCLRdcg81D%h%VT)@D5Yj}7qkB3ZZPXFZiauC0aZhp zd?F9>V?k#LBOh^;TN-xqu~A9-jg)K$Y4e*T#FtN?gFHqQ`3RBaL&TU55QW}{ANMeb z+)Z?T7IlDMB%xNGAnN@E_CBAqc@tL6UKrQGaWFo73-pr7=JY1Vmsxl49A)t&W$~Dj zu#t(4BFe3bw3{g5cGB)4ZT90N?!Q^%M73re#!7~Z4Oreu`WI6YSJAa^;(zmW%nym< zKY@SmgK;UZ55hOt{3FmyustOQ@+|{)ER`LTN6WHdBODtE43lZt$i?qc^bYpH#E<>>u@9YWFMjN1-O?_~V+ZxJjdr?~|2N~s zMm*g>Nv)$K*U@s;VsQ<2&$E`-zrx-Rzzjh*0e3da%iIb)Nr7MEB<|nKGfKPB$9AF# z?VxRJrHyXEk4^Zo0YBE`$2$C2LwT%5zg$VbUCukp$n_GuUrY@xq?IhBZ7!f~E}(5r zVB27N`Hy|jAN;0<`m6l8HSl_$7q>(F*v{ConX=eO`&>tz@J%5$vanHz*1;YS^jTKc zV}msi)XPHJ=>+{{KCi~Pa*Pz_P&2bB)mhZXOh$y6BJ6eAV_rtFNX1Q zkkaa>G-uFy`enVtl)3Hs?tLInF#XI zgs(;OyhAkCD_XO?(I0%$HPbgwBfcdX@~hIIU!w;6+SKpgqdxy3^#+WoJ7B4%2W(Pj zAgw0wDzydPrq;m6H7)QRwFLcLEf%zg@444O`->pni{fjYX!6Z*VI)&N&dtUj9&6XA z%~zuq^al(2gC$P=))dXKW~tX&pdMQ}`bw>)+gjAgGeRA>g#xu{VxsRXq8JF<#H)+#v7uH(Dn*S^nQDkCP(6F+)Zr` zR&Bgf)d_A@CFH6yu|yS#)hbJDR%v3Fij#&^lr*k_q?O7`+MyihVP!i{E7SRqGMsP1 z-+(7XlURQM*J5XXDpTAv+JPJW1Nxzhzgs!qj6aQ(OC8iW1JHHss&GZ1>m;Z&IaMXe zSt?E`R8dNW3R4=CpVFbc)PCip&Q(_Ga%HBXYNlSQwA52dNqs=csXv0h@R}XNQl_{H zJA1IXI)i%1Bn*Nc;Ol%fr!&XmJwj{o_>0QYd{vTWL)USj>%^)c-KG5W4CSTgD<`8& z*%@`p%4k(aMxW9%XDcmpsZuhxC^_?>oS7$;n0dbvGG7OF=;ryTByh4e=W^`qz~+i9 z+F~~C0J>lr811DR%6Y#83bVYFpJhSU2~kdV6q-(=GIP?Dk&~nJoMO3itCg0^^AEW_ zO3odXll_Ae^EN3y?_$N}ols2Py^6|vRZ+QrQZ)KYY|a#yV#6$xH*0}r<)ME-J2XKp z=PH0@FUp4;&Sm8XDg!OXT@bFcf;goXCM%^d6FsFs&Y}t>6*Vfch~MEX8dhu(zr$I) zK~cpQDWdo~If~9HtmqZ^Bd__k2n{BJwK)e!djn}NEFji_?n24{>UmuSrBDD_MSSnb z)HD?>Cb`rqXKARC%A%E6#vTx5ZZwr##g>;Uro2wkH+isY!RRw!CbNbL;SYsVB^yIQu|y|UCEQ&8<43aoujfi)j0 zsOD=~&|$1q#QxY=UP}0jjXp3MPy#^U6{bs%cMvDn<4@6rDMq6AM8$4);`ee5+v8F0+QeRmJ>_YCY0VjsKKIp{Cr=r0r4CrK^w;0EJ^ zwh~CA#*dXDXd@AHvUnyy)XCZcUQ?N7vCWz>SkGX58Jyv|m$?2@21a~fMM4+HR? z5}+)0Q-Hhq@b3Lg5>Io@(_H%pZr1p)jqj7N*G)M$axCLgmOsjc+fn2<1iL{iS%Y9~ zZh~#F6ZXIbK$1+=m;iZBO+*h_m%#Zo`z&7%!c&e1EdkKI7Jl&7(|?|WN^I39*8fU0HkKQ$4jsZHr2l*uXT=B8lQ zhv3I;PM}V1YeE|t=G+=4&m?g3olGF#B#8K&>zPwxw|)V2u#`5iiZv*dZ^#bvZ}NEw z7@Nl4HE*k0Ci+yu|U z$MB7&QB4)NmqnfvchmnV+aTT7wDLo2xpLk&qFN>9gnAvvqUVlxqQCn`lB>l;Q; zTIOJJf;fK(mA0A&vWW`ZMT0p&!#Rrja*D=uH}UUtG~N$UEB-}Uea8xisb3~J&GC9T z?*o0898ax`_-|J2yiMu+nCSO4)R`X=b-qL`JxApG6n;F8ACKV2LqweS6ZhRqEO?IC z@GcaZv-oj4G4pN2>^Bqj-AI=@Md_TRoUW(tPJD0Itjf3&E(hbo7w{3#ZYLWd_k0?r zl?EDy?{WB^ij7>#&Fqd*L)y)x-9g$tq&-NwqtwMX9eNQ~R}uejrWE#){$c)Ik1laH z9=$;4|2;|t-{gQeNuM1tQD+X&VlPCI*iX;lJ5)-#jP_VV`c0(I?wBZvn~AwM;l~E* zWgT(*T6BulTxp({G0*NSqcoSIaV?>hEyeDCVmiAS5X?Y$94>>4fbk6*{-kdseFy2s zk$y5MXOVsZ>6cOJHKgA}pKZfNH|Y;h3bW|P6Z~6=Ca{H)Ie=ntHLdq{c$(JpA+R$A zew@b)L}xu1oV^&Vy}8+Wa%1Ei;~Ra@o0Kfr2*K}2Y$QNZ2z$w4$4#l{V5bO+71*hx1X`$#PST#i*fxqc3#g&htT)?9 z>%9yQPf=R;qrJWkpRxvQYJa3wj(1`A7z6zUb|wh093~iW=W=cq?~Mj{YNmG}c?!l> zICkQ&l8mhk?Br1cC7SM0r7n*Kb$GU^-Lpq+p2M2vHBT*GE7jz+O^sfMRPS}Y>b&kz zt=B86@%~sfKHsRu7exYY!RFym>OPDKkAq1V7&T;wbNwOAJn^O1;)B{^QIB7Uru#*z z(?3z|{;6sU$Wm)Sfu;qNt2vMz83S9?7&u+^L6l6;m}-KSt2$__DlG?9Zn<7%7M_T( zybOO(iS=KADuFt45_<>2nY2VQS&Jh7z+!Io^7nMkckn)6u&UkWr#7oi)2v}?w#KN* z=2W9CUG+Aeh_IEYHn>_f!A+{NcdF7ppmO_MmD-o9*uGVT_Jb<0U#~p-y~?rwP&pxg z1nvuvhca`VoBqCNCWNt+K^zld=z}i)ZjB)d!=EO6X$4yQ9`PdnDyXKIptCk=dI#6s|rzP^5dhF7oVuy_*CU2WGjm&mogKo zl#$pZcj9!VB@Qbkae-Wk>y(tZUx|sw6`y#gViR8g_RCKE7k@KnNMP*7#zt%|Or{=E z2!xo78AYan*VUXWhZ5c|;=24K59K-oQF`pkaO=VYb8^@QDic62Dp&)*J5ve8uj3&9Y8bG zLIvkapa7q8xh9KaMyj9OX*Q*%g(<}ytz>tSTy8fCORkdAOO=pbtN8Rb#b)#?I%7;x z8LJeLu}6-Ks}!1XyFxOaRY>}W@U_BFWgKpvY9!rN*c(fyFJ{pGGiiSutDqDLInP2E zWkMQ%r(}A|g*uaz6{5uK2*qc|D=s?)l_g6tIYo-fsa9l8iz0G+qYooXdkONaJr;E;HdgBJ%tI z#T3{ST@a?of*3^#I}}tttbp=`@+;pYpYnt9DnBKUvWMVpd6xZEUZ^rYu%7hilm0*f z^#Bb}0mYEV`7B7qb`rK@OR-;0M1VSDuMUv4#wJTm7%EFNYKv0=H5u}+DUfe%m3&ZV zyijL6YUk0o*1<(|@ay4zc$19&1-_faJgGK^^m~h`2dD+JDyWciRIl8;c40dn+fkLQ zO0VHt**Z^I8~hc3I^)|MBCqBMc{bC@jl9`Rp*Hh@<_747*{~A!!Zj51J@5vN4j)iv z3`@9tq>TQ6jV72>g*cZFh>)x}LJ_FKKDNW^vEN8k(&8ciRzG>QTPVEXsR6x{!M2kQ z+(`rLBx9X?psO8*dA$U7!c|;*7re^nJ_US$`Q&W?8|_dJW@QkfpRzfoR?`ORh)Bs& zSTpupiONaVzl+GU$A`iT1S^BPoxzO(eIOPXP>k$pwjCPaLjyBl0ye`DI^XSF`x5+# z&*1~i#zqgcKy5Acfcr)ja+BwzChSkcK6Zn#8`Og;K$1)rP*glAKtBeyAa3wBI#vjk z8o^C3o{pXdG$@`Jn*154xpO$K<^4tDV?tqKvD_uUQ$C(Sj=0 z##14k*r!Tu*bN*cDx8V!SuhvIVLpCL_%g^+9*gi}34XAXt(GT322i2PNo@HL=a<1g zZVD&4?g^y1k0w{9Xd&|{Y_&lH`7NWYvpZ-5)9C|!*vGC7yZ&UuV;(jaz+xadCXx(p zum;vqFY5ys^r@H4_^~Yt#ls1?yrwL+k&&(QVJj2GtGVU@uKj=s<2RElRJyU(N;y|? z%%`l=`Wb^puupTgV%K*OHjK^H#ujV>l48O;rI76AxEC&KUitP_xt3x0lUTIIb)PQFh>7dh<)t(m^>Pr+rikn z01m)GxC{=%6>udSgKOYA%H$+|oW_rvV;~)sga&>iWpSE>Pvh_nr@7`i)P_HEJx}>k z))nMAhdete=ZIC5|3>T^yC#3erm=SvC`JORDRtx&#~a}mxD9THJK-GM=f!FY+UleD z@fbJ$$MSehqkDu*K18M-JPr?W-LDC%zEK@@T(FdWNHImxeS*oaud#a==+2WiPjkE# zD8eZl9PbB`nGB8|=lCQ%124c!@I&}fAZkSzB%_d&v09{ua}@9!6y&Qo{Mu{qDZd6z z9c*D7+=D7~3GL66t;ws&;~BUc9)QQ-X?Px9g!6V@=k<@^C-5`)1^g0z1;2%lDUVMg zIc5Q6@iCq1<87R~7RbaW=2?;RN`wcm{lE%lRYokNLLO8?6Ldm9j1t9<6D=)b_l)J} z9qWjjx3FSk51PRxL=Q*N3{IjMoF$fgl6dyNQ7is|b}+Rn<7ti$!M$KKh=2QV-WRi4 z#rWZXM99Ea5h>IVAGeVHbkgr9f}Tk>$4GynKA_{gM+Eo_{P;P3{DemPV;bq}s57rn zX)jVS&l6`pOKL{{Ft%@pTfjUSa^8o3Q668xm+%)x$>xc}#T z_&fZ1koMr8U zv2C=EYvKHpA;yP)!r$N{co*Ix&U}@!c$u>J0V`#m=UZ>{bjlONxsMRnJxF=nN4=aQ z+PaHq?<^7E?L>sP5o6wrA2%|9oFYm;Nyohoi`Q`V)s)IHYU(O%o0S=dz-SQ{!9TG1 zM=;IEG-cDgAB21O_We$@m^+AdZ&wn{Go6ynC+%`njat%fChZQ=KEFf8C~40_Ggv|i zti{H5TE@k6?c?YMw==XnP3e3{O-=2Jv4i7w*b0BZ-v5K=;6Atw7}5Ep4?bIIU7_eH zF{JIHyJnJh0cn?$b}eZ)k#-wtcQb?ypm~fke9l9YSW1noXL#F<#&MWer|{|lO6X07 z+b>}1d9RfmSAgkC&%j-91DGN2Qn(QI(Jpoq>+T}f-ASywgHuGA2kY9=2WsdM zjik@+n6%YZwAB^(u^d%kDX$je$s$U70Xdpajm@K0$I^SL{)N&M}8xyo8p^st9Vfffig(E3c>I>sW7Ahwb|BIgQPO45wSIObK8fjKU!2 zW&|)*!=D~ce{5MvJrp~U*hwG{$=J!jP9Bzvu~kWpH1MyDw0rSrl+szi+NO29vk$fA zDm*Ygd#LT+TPt6!j6ylras z3{#_Lj2b+X&{k5>Rd^!8yFk_6?8xZNj*LDns_^Mnna{9Fedep!cZ~{t_o%@4sPcVp zRi4ii%Jq3qxxSw(#}5qxuE5q#?5^PUHs&Dz&<$<;-5ko?g7@q3rQYhR`ap|n1MI2} zh)`7^yDpLYgQz{Mc7!6y@_b1$}v-`QCc|GLlx)B@u>v=in*>R)LVsUF$JM^<%NbTCp1pk zVJ>BbWhgT&U+H0Gay#mjh8B~;FB`cWV@e8Nsl@PIiVwd+vEjEWI{XPmg|k<6_?L=y z@cb(5!~SaQnUy*H@w5SGglZ_`TyZRO9Ny2vpIm&&j`UX+T1-Y{n9?Jo<&H{HYE+t1 zqH>hXlS?kNm?Q#%gy=rSN6%4g%yLD?>`-LP5rxOxEJyU?3XOhOVbNdkn(t1c_!ge@ zmt${sB7Go<_6K!P!QaJDkia~T_p|UP1ApAHK1z+XC?zgLt~hpNh+{_vc9BVp=ZT1T zo`^``iHL+|MJIGCGGUe?5|+x5xJ{u6mnkISCfO6%r#j&s1t)widpxTVU>oT##@0+H z_28l%LN$~EAw9Ya+55u|R5YPG8R6j+hSrwTUqKLFeg}W2bQ&JV?&Q_?q1dXLm_Vf8hovWb6k(I4{t zWh=1CS`aErK_q%g0=h~X`bw_+3d`g}(CEeE3?7BEsniv)8;+4V?$8A<6Ht8&-vF^c z_C`p%i)n8I=^G8Gkk`md%HVt|B=I_q^O3pO&nNya^pvgGPl06?`IXt_Q|6EtPcC`# zEyL^qFO4@BxIJCpv9zkUzm_K)IaDAej`737m^A#(pXGD~JKBh{0=!!|Ht~xIhLIZYWK5 z5?~NBgWEL9Vj2ZE4QHn{Ko5+;dfq<>w{Y#VeCGG??W7JfLi(Lt-T)O)$lpc-O5>Qs z-!bLbCrfthTI+c-qLEb@En*YY&;|sRrt!XO#C= z!i5X~r@8h?KJyXaLkAHHd25AQD8pVs8D#)Y{*EPy@H*^c*MeQYHuM*gWWqqY(C5t! z9zO=~V-P=v@na@+GD?S^Nkf}S;mvG@0UF(6pj{4M$3XB1*Z+pkQ5OTO1R#G+P>sD3 z$~l{33e72wVhrcwcI*aqQuf`(CXgJH8q$SXFvpV#k1rh@Kj!1d0@}vnC~z?m%LNi# zgwqShVKeVv$<66LCMxgonQypBFrOli4cMzBzxnmlK@)9&rW8(o?br>Rf&MatEsB$= z(Ukr&!EqswwaG~zJEv%+4>z7bCL;K;5kEFFuy0BODwJRH(FUB}u$mj>A+Dista*d$ z|G~tO*q^uSDd!T7JdmlRF8Uz(wPQB`yB=fMF*cXLav&L|MpF|{vNfrPZ0EQW_INQN z@<-dSqH}~XL5qhhUQ-qqQ+XFHV#2*b14{`8(<6U0Foetn$jgM=18_Cb%M(|Qp}SY#kI7NllXC?Lptq*0s;pr_9T^O zb}PB|YIulie~WhVt?DT2!a?eQJjad`|5LsJD@n`PHTg3(F9KuB*trUh!?kcdoPrzS z7B~ZE;cmFk7kvUh9*sbwNMl(yjr^frg1BX97nh)YaN)ThbM5CUo6UGMk2XMAhpnOg znf&g718^9Q0Zn<*ma%g?+y%zYz3>2#rO7X9pWyfmyZ|r5YqXKKXdiFIqJQMFf`dwb zgUWqv7lGvsJn8Z@TE-ugM|me>J7O#SpFDe*{F*X70XKoMc@7?gN8u@W7O2k20O=Ku zufdPtE%-US3-7~+@O#SRlMr-|WT<2p)d7NQ8q{ww@*6Vno1ZeX)_-7DhnOc*%&Lq? za6%T8KrNVWM7v>-D1H`N!928rMMRJ*(LdG`yKhII*pJd+b}GFV{o@R?_{VVPXSnqb z-1`pqzeACj+LiNGj^^o%^FDlwFW*e!#S9euy7}h^>!-pHaxwVIP=u^c8_p08pI{=Pi%e)AAzYtS}Hb-77$4K zA?OiNr0*pCOwukS?Ml)%QQI`q?jr3z(jKB~%qIN_bc1CyrS;UrF1qQZbfXjK2j*Fs zm#HE1yE;?4#~zM5!RQcw!rlj9n$t62nz`v-w^0^15#QZNtb3Xm^Axe&3EIXr_;HN# zxRQwR3L?BCM1F_4d0a{xIY=A17(XteJockL?Bm}aJlKVoJ6OT8jS@AQhgo~E4%UFt zBHqKEY1R+J88``M2skVc$|{huvXgE&T{Rw3NjsaA3yIOo$wv*f-$c4?3}M|^9U#J; zMJY_6NvtCMZM4=)h`z6*bj~s4z0Pp^1w*`9>ooO5$OOk%v1huS8D>nEWc0ws)bO;0 zve-n-ZFZ$#%`#~x;(sdsXJf%U8B#{t)ui1>+HLd@ej$|dn0hi~k;b`tE+sLCvM|4` zJ4(DelNLP_y9TrN%J3NWZi36<0$`XR58Q%aDP^$;{b3>Pa{+ZSf&MU|Bzj~T>1UIE z0j;2n^s7m~k@VWQrS{M|hAEM8TI>p1%T}WBgPgqq4e!=H~K@! z_xeK|HeA?n(@S%(QHTw8g=8FSE*Qia+J?zJ8o6YTI z2AJt#3x79oz7BtC{XNk+{8jB?#g-jQ;n<47RuXo2B7#0!Oln0~F2pNVhLAoxGE$Q{ z^a7*gWm4K1^tyC@Eq@%0kD#y22S-#cE^les#U$@+TGnMAIP$_;JmF#yw zF255>^1T;cQ=-qGl<51d647DyV8bjDo*POTgiYx$4IHbWjB~}jSBO9P!5+#-i^&fP zQeL24Ie`vk2SqD0C{Y=#GSOl(&|=bU zAxg7FC^a}>Oir+$XC8Mc(m=Y+>I5-?@|a zJnZ$yP!CLZ>VVKuh5VfZ8TgaN`zheUpQH#6B}DiuKEkTl$WX;ZMk+coUQs-`6cNP} z5oj?EzL*YW2bqxQ0okMH%ND&(*697RL|>!8=(`mV^%8spUnww>dj@IG#a3?|^$<@x zgc8VuOwOg@Pck^UCIQ&IS21WYQD`v{adw5rh075atFSniLgV>m&iDfKl`7eIY`~h( zCriRy1tzRiK*ApRC0r$+__Okge;$4(@3=4J6UVMfq&W+F(-WwNMCt(wAqUbqmjX`S zPXJ^eMe%odqNl==0u<`B$?gn=DA}BevboY^b>*V3lqt~Fpa9o&`MDTrT}$QV+940u z6%;0uL+7)=oI2@CU}tI49mZaVll}-Me9z~Y328}u1QK~a4x)J-!THc+^oJBb+0rbs zq}dge7OudwI0dA+&{g<#POY)!LIQSUI7V_ljBD&^=nv_B3d&?>%q*LHv%=(^6@{jfD35G6 z4LKhwfq8UxKTNikdCux?)DJb6qy~jsh#Q`*62HH{vR5PF% zLA9KME$0K}g$%Ma&-vG08(l$Hv)Ic#94Je&+Dfp7WF`B;} zIoQu5{wN>@E=B_&i=O4)6r3LeY9JqGFt24Wt!F^1rxVpvaP>G_UjeN^o2Xw3d+7Wp zxb_h~^BX!LKCmXHm$aLp0tz7;dq{jr;uyo<;n)o+!ajCcq9~s#@p-8C;HHKjP59Bm z&2}1f(ng(hL;#(qgR&`Gyc%7TnmuM;c-X?BVlFwqQE)%;> z{*J20KKZq@vIc-GFjw`j#~S=FH-U9YK&7rF zGiyj>H5abh!!@+a<*Zd&brh zSPrXTEv$!)um!fmE-&-~{J1cf*gX>6AcfbI#eNdrM?!lyp?h4-bq}Lwe8f5xe4w0* zTIdVZZ+sVH&0#f;h_JzH#0o6L+2FI_l$&KTrNj zRmv>d0A+1kO5Zc(yA@16FNPy<6&PDo^I*fX{s1Y_q( zcp9FE7vUA4nG=}vBo6!n-iHt2WB9X$r(x z-^c?E!XN#?JRxJ&V3-{`(!k8X%~}u>nY8nMFOkv^v-8L()gzR}gVf1`)X4+HGUtd`?!=EX_;CyI)Qt? zl*P5^4?G(T5u}|!_edjWIdqj`(ygQ%>qxf+U7~}ud&&6_-N{7zi^$(vbdQ~Qav7y^ znqkbSMDI`9T!mfp49IyM!Zc^o#7&nr-QY?v!@z~GkC=N8vF>i_WH&M99@@rE{Md#c zn`s{#iT2D6o$F{LYiJ{@X(KD~V+DRJqn$3{imBZ>uO^nilh*q~hTAV_JyXwr%;Go- zraPOiXNH?gfYD=e*j>+YHD$q!m^5t+&tVWv+DW9HMozOS^+JZyGSaRl-9}mjzYvNa zv#FO+tj*-p!wlf&_iP7IIr?dxGiaMLu-gkg-*Y#%t^s=Mq-`@iE`|vhhdGqRY})56 z>SPwN?kw~No@wVcl1AFuXdMNlT}ryuw2DU3ZAUBUBl@3(POyktGJA+zhq7rJZm>d?-iVLZa0(x`- zBR~PR3&HG9WXfQZ7hkpbFg5UFdICoKXyWgB&ewV{$B`H5`;)#E*o}eyT0z?=qpy@Q zc9fth6r(m2@xSpTA20LBMJ}x&ht`-)kI16;WTMVyFji!smzouD8Q9N+z2208KT{HJ zE&V}E&!7=%_`4#2IUet^tX##OzSs!FhK)RgKsdHyu*LHaO2JMhcJleZjI`_Us+|%V zpti<&cQu~!ix9MYC!>s$(bP$O7&Y7l+p)8RTZ&l&(`}>Nf#u^W=Wl+LmGvCVZ}2H6 zfM0>|^;fpHMOmJ~%Jc|ThDW5*J>szC#Fm>;EC+kVO7>t!MvrN7dh{vLV~!F$Rw&Mc zUxZ+UiDB%H;YJsOejSbd7}$u71=t)6rVO~%8~vpMiXe}3*}RtlZmS0xhmYKWflBkY zD%H=f6kms2zR_~}CMwA<1x+PO34Vo&_p4N#f3srPy(QXzwj%xcMF{_$3irE04!<)B z^L<94J|DtYz<2JXKZd=&5T?talmW2Og7SgK8X5upPZH;B?Z}(7!;~_ ze%(2a9b959F2z_f6m2O$Td7clwMpUZq#I_Ptxzlb-dJ}j*vj({R-S*bJPjYf=fHRF zq&*uu-C?vtrW%z{2sx0>xm0lBPZHN8gz!rgb|1x|#l!~lixf6?WC(UBGMMKdf_eVI z&hroUe6*Dcbe3k>?Y*+u=g7+QNf!GK1=%lGfc;ka+n2 z5rkoo51BwXEf*y6emuU!@N7~vI!t7!uOdPN6&`AnBQ#W@q3p;ImH?@;qs7=*7h`qQ z%i`!%kYhvvj>YnGY>}_yGI=|0mRHyl@(g=V9-*JfGZgKbv zH6U*uVfT#MD37Q^1THrMld;J62%Kv|Fq&S=V?_hKOmUn1B= z*b(Wa&?tTtG#dROHb|D(U+wV92~t2J z`U8!{Cn-W+NpbRUCgXe-lt4Xn!yH%*+?A4UfJaFj9}>O4 z0VQ)T5nFNCjD#>=+c|IJ{h%~raI)#0=}ns4TypWl45kGPXhoDo5oJ-t2Z}O*`Y39G z8L*H{ZinMs`v9N$B?j>!mtXk8+CdhTVUt2YfLaP%OuA?1pgOhTTBy`jVtaG4@NL9I8C%(D+e@9}W1?M4cGHy(J1L zixxiETmfw`i}%;k_%GwyI~k0A!sou?#!S?bLvmDI9>)xta|$+Db~d>NDTMPz{|Ue@ z%OlALR6`v!Kr>8(HZN{A_|Zk%FgHGSvYixNd&x)-AMT+(dIouK8A9kqTz3oCzse+m ze$mD^$TZ&)?64{Hmj zgCAqm$=oEMEau?&>~1D#6TH8R>rSGbJj-YPhDJjKN4ZY!(1R~2*fr0A@i?e#*!4Gg zZGrPPdwFf_4Z%#Hcqg@qagOtWW~U`S=o9#{nzmtt=v6eZm6XLw3T!zaShkUCu42;k zFgNT!@HuuE#~#bN*aez)SVbG4oNeUS&)A&~Gr-s!g}LxQws^f9R>B%s51U{s?DQsX z$Bzp`h@okp`zVV&w9Q=uz=yUUL{m7+dX=A}pZtqo=%S19wu?MR;%aaw_D%T?!)!1% z7lE<28aBWd*bWq{_P_;j5s>s`%zg#Ot7#)AECelK9Gz$f6!LL0b`=R;xf|`{G+M@s zEGYlG3dnOR%{GQS+bL&%lizu;1Xh8uY4XO$CUt>JI9>+E&XsUATnkjOPQxv5JKP2L z&-x2Tt&(MI2IRz>`8{oylWi7);?dv6`p*4FL)r|#}Kp?mUNbo=m5+IP^?oLZf4|Sm}b)#HCXFfXA-c#n=cfb;h^ zXuy}a@_de~(I>dBdWfBM4?E`;R(_cpn~gmO|1RU$NYpjn#3Nv z!2@#?LAaKVLz8i^i>fex@EB+HKYx`~+_w1s4?jelgLsW?K16OKViVp#ZX&&eahUg* zip;@tSc;}zi^txI=HG+sb*O!W+9V409AI z`2T#&PxPScej7Y*61MA(h;tA`KC8u5&TF*L&)kO< zKAIz@h}ey4kP<}f;%P_%A`XKn%*90F`YsatBm#XS9M>`-s3QnvA#r$$hbHkbVT|B! z)#LFdA=8mL$Ra%U3Ox2&Jnkku?hb5m51#!&JoYj4P+9bjbNGKvY{L}2))_s9f;od! z?6Fdes3-W2pZ9;9z(+9*Y)9O__`Jn!8zI`r1w=etpGR9Lqko>mJ~@ZJp^W(lCDfsa zIuvk~DUT~%Ia~qDq7M8m3iQ(Bcw9NWq^saFJyd0jUgL|G`grWMT)gc6iTtei5=XkY z@=M(B;`0|@3h>H0*tQ}*o_hZO2K zggOr5e-Ge0_M-*%q2>2tFYUoz-Hjf#3w?7JX5V&VwC}{W#fV3pAZ$ZyfARUNAvkmo zwtEa84{B@*X8B=Pwke0?V(f$YF>3s+Cb z6l`NUG7H}u@gKhV=xVI+%x4|*kz zM&i+T74iq-jK?<`jZ*|1(q+ftbZu|Jle$1TSAScD_aA{HJ z+h2^>VjDWxrnm-1W)j*S*@bLFHsWjRCg8Ol|Nh6gk%U#FaTmss6EMFq8Qa0y1MHLK z=o`!MXiM?g5>&GoZLtV@XCe0F0`#c)=-Kly!scRh&q1G{ZOyV*9Gt)+xNiADV_XK(-+3kU#LX<;W6b5$0hQOc{;&jd6telO_=6;a)BCCQK#F zoiLLy2k#M@JptW0vlg6hKCXOp2 zOdNZIFmcQW!o<<|ojbOF4%?8Kj(#`;eGd^Y+g9VhS0GD}g{Wsf*2B!jJj@*2qhZCnlNdKB4NT5UBdV& zc7(B0$b>Odk_n?H3kjnpcN0cVenS{J3BPm4_RnHF$FSYKGjW}PtV32IOYyZu$b4kZ zbX@mi4rbQutiX)_5^rp?1#%M#=d!o=yDFyFEp^DRdR zW2eg##$YaH6yBdS0(bEx;65>gX+oShUqJ>Cyk=ngXRtjfoaXGFjd6giK~~_u7b6Ss zZ*!5^mx19~cn)fqa}5vt5q06(AKQ?@cK6T2c$|;@fULyl;{4A7WG-r% zH5+X(Yb@rP#u26=Q)XlR#T?v&V(tXO*!hzQqZUpjj97>rwh%ucPFRQwCKhc*_98N9 z(DV3cg5YFzQ9Qn{01u9{rTL#x8(ur{W5=-FJqs`%7Gggj%klaD&Hv27I-psYf0}`L zsAxJx zrXm9T3~E^N1@&PKBYs3&kF*ozi|@hu16hjyUWi)ep|;tWgPMst|)upjVoC9(u{EI=J|Q3tvi=AUr=jjv6@_u{rqgwc4KBUa%B zWi<}+Yf;B~985RiKqekowxBJ<1{D|8Y}tZHBB#;WH4%G!UpSsD4|6eB{?5Z3Uyd<} z#}wZSwgy>_|6Ytb=3{%ak?HsxZw(|&!oQ8f!;V@_z;==K$fgnaLA;oVFDw$+C%dpu zcB3tJqeJb+4~aLq*}WT)#=of|R%mbv4niC}=`Q@-7aR=mJ9l)SoybPy4{Sr616qVS z<{~rj`BZ#uBDOnr9p(VAi}50fpF_~hgBR63__z;sNTQBIs6z_--_b7*VtgK8U=TFn=RTnUaP5!B-iEBlb6bTUS%z(5*%@IbJ{RYICSto|#O-3J z4PM0Yw0`Db@bM5Lg&aksN8)4$b(}^WXHbWD11veTh1^EGAn(W5z_=7ascWT!;ZaH$fd1 zlW}r{ePV$QWq}7bJBY92hm6fJ_klj4myMH#oA^1vU*tj!*kvoR-37bQ2liq6`1X_Qm#9L{t!Qo4Sa&Ju^hymObKxh}**M9n6K0 z@G$_vQyk0{pt%VNs3Qq|BXJ=<--x*iDO|){z{QgTPUfjtJ0ijwi^qhG=vT{+;P8#- zJmn0wFFs#!yC`??9K~(oM+V#T!bd+O2nj_ZkZ1%C_jev79iKCiEF=#p8i%zYGcX6T z0&^f}i(G6Z3r~iF2Vrrr!2A+n)k%y4dGtYSdo&IsxIFrqV{*ht@i~gy6rY>8J#kx! zNE(uXun;c7M+ArnDM2ccdZZQUMy^l9`%|z_y4U0VDtN-J*iZu=yfzsZniYeWlNtEZ zII*q8=j@DNcMYCvBt9k}*mZ;FCT^<$DMm^Waa*+rcI#k!o%nbexsKdL`jHpN0P=1s zCK;CEjTYGX&#|K)V`C4nfjeUH|NVa>MvWdbcKn2ilcr3aHe=?j*>mU3U$|)Tl4Z+R zto&p3nsw_pY}~wM>$V*dJ9qEdyHE1K!9!9=}85vr6Zb&#S6k(9qP< z*45KDFfukVGq9FJ8WW^Y-2Q4k>Va7CwBSC==0OX zPCo~|eu3ESmx}#<6*~S}vFC3RyZ(0c{as?`-!Jz5!|49U#QuL013*q30gB=fP{9~b z7YBikI0_6g3{1swU?mO&dyE7paVWTBEO?89!CxE=6by$jaXdte10o(HB2gR?Y2uh* zVo-3!QIUgTkuQ#mB5`1pV`Nl|L!&_)8?6`|o#N=YEDn!ejE|e*0J(<|@=zQiPsK6v z3WH=o93`K`VeR4?SqXLi8bYBJ?73BlIJ5B(WzAy3$Wy`VVIs^d)p9 zxijLS6h~5ZO>JF$Lt|5OD;qnaldFf9uOFEb5*`^%ji)6hr>18xakvzZmiYzf6oWqT zA1?9JCkCBD>=o!1=ojc1=o#o5=o=3op?5rfg8uRBIeN&;SFc{9le`@mc!z%S;p4|o zpFX3neEs(A`}ZF|;D7u119SCQ$lNv+So`OL;MgiClidL|=cRwtX{*1jH?nZ59;@p_J`m8 z@c&+4e#gb{xcF~z!TM_s!^SyG{;`!%j&qngW$AB?TIz3_4ek0G%>%Di+a$IX+w*D# z#L_apbG?x3-jSW*eT9({aDzq=#0l-&*u%F>@(G&Npz7})i- zn+5eWS|znq+2&Lf+LsFR9P6^PTv{1Sk4v<4-`>b%%B_FP-x{(|g9tTL%WnVPd`|j9 zhla+BOM3SAE}Bp-wOJ(BR$KE6i|mSd0*9Imo>McO2-yY7SQ`|0rp>Z$VLr? z$5ud%?Dj8hO2-E-sjEM|rfYxusu88F-8`wR#wt6v#I}$rw69FcCDzAgJGX|g-MjoV zeXsmm1~ss-FZlcCLh;cRKk83!``D>;{Pk5e_5Qos_E)bP2Gw_%(S>!E98Q@{eoCQj zX1)x ztmraJ$Z4=(GAgZe6H06fBSm)QK>}ipZ;nfYJI}M_-vXRJ#2ThR-o80dadg?omeX5b z^`1TYsPFuRn~ybY8*do|6kal=vYRc^lWMH8V#;jvR2)B`>;9ZM@%iM(V~ZCAHQU>Q+Vf^u0M( zO~Mkp%;Te4tWtv-Y?!24JFa^bk?&ODoM%_&Uhr>$Y}AmA8cO%h9B4VR=)v_<>v|u{ zNp%h=s#d?cV3G4c&n@ky2|4zPMPx{qb-aJOZIWk;Lz+vYV}?V$3(LCJgZpm*K5EF@ zI_Ycm-f2%S9+`LjzRbGzmvTqyKA$}=8c;K4KG7q_-!t(FyJ0~N_|qoT`-**(+azXftvjfTR_6W%oMo_y=(!C4(oWj54&kd-O~1;wn7YPyN9^eiGC zn-T*aSh;)OwexYkP4siT=|Z-@?oP4p^$M}LN(%e8fMC_=FIAhy_FdUJuJe)P+?oOD zjY2qekOT5^Dc@DqqCV*9k>8k^dB3o+c6~~;cYN&ZXxH!NZ2i#F)#8DVyIG&V$G-(c zD@Q$RTRHM#-`a7tZ}u+`{y4gU1v2{*;f!=Ns3?$s=&N{rG1qkdXshe+-qFBjz{SYw zt%r&E8*fw7*Ccb}R{<9PmJhXyMqIfwV?^z%HIqc&_Ag|^p|vzPE)fQ@2Ls@|vIVA{kK5s$}y0< zc`~HzodcXBOF?jIBNU!H0L5AgUki;5UJ7lT@ADify_xQ`&O~okbBw>BHY}*5GAOjF z)Gw-`$UDAG=$Y1)QJCE0=qD4k0}p*QEAT&#Z=cUr|+5KxJttrJ*n|qCMX)t~=K^ z?JC=garvJzs38Tfn`wJyLpEv zc^s*(C^E1$KP0p}Cy?69@=Ly+PD=0jr$8EByTuyPQ3FqE2^5~(2o;J4pj!Rxml^}3 z=QZYTw@Yjzx&@Bu%^a7!>U8(=l0@$&VVr+gUTj!Tc2xZJG)mGEte6Qdmz$TkItXFoRU8b50_@wioI71dR4$7~Q1MHP9j z)rCCo<{WlF7c)J$Cn+iFI+d1mGa@#%_n!jk*cW0AnW!P}@M0)M4RvQFzc#C#ecz^I z{G`j+<7SIRbZ4CntESXmRG9Bn&EvT@XL7tdlQILY#HNMyhNaSO1Sh5T{!<1uq@f1Z z?pYu}4P__S|7cW@{M4p;_U%P&%TS2OTO<^QFz&-W&Gf}zUSp`)99K;%gh2? zbF)PD<>DMj%wIVWKg@x6GD5DpXHa|oDZp4U2E=yY?4Ak2!;7Hm#JbOI^84RjKCkff zriSs|yLz7Oxb7}%wqWou|BzN>TTIP&s1D0V;muDHBV(?K8RLoBa9T;mjwwNtHn7G zH_U+$v;5oaxFPNT6v#k3Fi-<;*9<5*wD5DoiM6jUo!R^3u9DpSC#r^>4|Lor{xlBd zx0@%X)?2b;Ds6Hx2O{z-B$j#ZiSDcHi$;kh}Tnyg}n59T(wsBMS4PSzJQ1WqMeh4JV+=F2}2knD0{JT7`d6 zo!Zs*MqaM|<2fC{b1mES`-Yy>8)kvQJ=PJVi*{7^4kF#D%{kew#Wl^U$&+E$;L9|w z4`BUMfU|rwxu@SP z8-I`M4ix7*np_uHTZF-1hY7 zipmcscjbee3>Os7Cw|n@4S#K99`MZ4&a>an$@zhko5OuqPn&xl-j;WKe9dnA`I+1b z3^2M$A^%f=ziia!s@0?JTwOV`?eUIjmG6$M%mZnOOgMcc2^7yn{LoSf_-w50`OezV z>8*pQ{VNv>>z5u@mM^?*%%78NO`ZnW8$G2s7(59j{!^fE@yN#=vq!W)S~9wFVEaq~ z99o$HN4Lho$^Bt)_P9T2%DRJzBJqc{ip@8N3zlD9G|WDGXqkNS);9j+r(^h$tgHWl zqNn#ERR5ncP(O{(d3_S0VqnQQ0qmHa0sEIx;qV3u$Vm8r!hRRfkg@|~X-lv=X$lUf zjlo&Y5Zuq`gSWgMkQ8(w;H)-K6tyAbAJg78fl&Eq@`zkmIw2Fb&7#7t#es0(4-YuL z(E-kEw*<9a|M`pPQ)Zfg!9D}9kkkXagF4`NNDEvKYl4TA26!J)2hx!XKt8GlLH`(_ zEgJ)I8z%u3NAI*l3xRWD4df{9gj@}2;2Wua;@X(L$Z&D(OY{!B5gibFB_uSZDZHSA0>8 zTT)r2Goz~9F{@T&ms3|@pIb9r2K^y^!$e5fH4`!pE(9KGC{Wl5!V5AWG*J5>u(Wu} zcl5lI;U3nL=$q6LP3AO(1Pf{dB1)=!Vk^r$=yfHo=}jUhZY$rB*O=|ZuOBWzUp5*N zPy>DEOkf^d06C~ZB)=1i)MTJY@4|bLx#g352k%=Pm&nVhUTLjyBwl@ZVA21VMNeoG zdZc${yD+<$u362QuDr(K^0$V>oil)i8givqLlJ5yRh5A<-3#wZ%&htg?R;`V{^ezu6)6geY!i}co%!U=N4Z9kc8B9)%@L->SS6awCTp+Llg@zL*%DcsVwlaU~*{ z)fo}YX&Wws8tB*;sS?v68#RcIuYyWBi63?6r9U@ms=sM5w0YQU9&okBhTd92%&N?D zD=gr8S7kB$8yU&LZHe^AF04%Mj)-Mk365lS21jt(hYKX3KZrG?p#~mmC`1iaayz~? zDocN8)l`4gp>O-3!<2lv!HV8c?vPa?bP?t7Ju8`PQbRH$sEwK$-W8D)*Bz3?xJ;(9 zI?1u@_TlnV!}^K9Kn;A!c~FEJYUFl&ZaF7C(4nsWyj$1y?nPsAXR{@}y2_3#EOr)g z1s;{DJl}?R4!JclGqf|9LA?~fNbmMdVs-k`+3mvxl9rB!MAVRh8gfxX$?=un>twfo zXvfNo?h6+lU)Qm{(PKz%X*Z{p;tH5wMierHt`!Nno^_Etzh(-T((cEO>hfYGUG&Uk zb$Bp1ZNmkU|I)zRF%1NgbD{kBiZ6|_+XpUTWyW>Y3w?LAY%bq02&nBcix<>eu`|nU z^AoTdB3$57OXhnv`ec(@-MGOWPMp|ICvHZ&b2g`SxD0AYLOZZgLjh{2JhuFOtL)a7 zSFtkVo{H+t2O8FGw+;MCFPX-2n=CUDE3I=Pi|vZYLSltio=dHBjz^QDWybv{N~+zD)vapo>iY<;U}Z+D zMM`X)HHUYpV%Lf1m)Qlikk!aCo#+B`3))+8^w&Nwe_*gz_3NI?z!?N}ADf7ZLE zqe~w5oZfinf!yIgpDU`gyu4sh)Tigc=`{(VcUi=TwOFV5)!VV%tBE|v3YR=vtje$~ z@hLPdCKnqPMU)s6MwJd1NJ9&Am%8&*Z^oAJE!=z=?UPOQ89L{6&pjpF&rw`!*R zM|#dFw@mz_dn_XYyKLgT+8mNxnw`?^8(lN4>pj?JwZ2^AYBEp1DvYmJ6_GPsfU#s0 zu-1-)qOB9&Htn5qulLC8?ng2knqJFERem~qF8{r%0pppTEw#_YJ@}TDzi+Qyh}#v% zNMg5ZjO|5_ILl6NnrXXVqG4N5vR-Rgs%}ffuz^g}z+W@wYvty#k1p;UfBF7_xlJ!+ zHkN%peJJmTf&%M{s%F9)J=4%;&w5(^ z@63%nUfY^Gy>PO&d*)_m^~8&4@tEXf`Y6EJ_+gN%!GlmYy}l?9-M;8y1KEp4eymb#CN(|H|ZK3t$^&WNjBlL$>uXN@fRxPA%`_AN|-Lu;bp z__jch-RA?!QZAq;V-M!1Ey4DT891Fa26sh6@IGe%e#&}4KCkMje7rs6hl0d2+baH;p3{-55853v|X4Q zSt4sVvCbIIZqftwty*BXT>~s7E`Z%GHE`Um0X|!v><4 zjD|=YqrxzAn}FA>wBsv)CBGTi7Y+c^P!7_qH9jV~n7^d@I`@ZDNcYGQAvb-fF})s% zv@0%YDVH2G8C?!sW`|u4r`<-B)oNAAuQRL284kZS{Iu6^JN&l8e~p{}5&jVK*Z2^z zb2`v*d|(`34%{=FAxrH5aP;LM(^B(&s*~k&nz!47s6g^av2cFz!;Hw-2zV4YH zTyyPrOrrJER8P-)aeg7!!h_>32S%oK`cm1g9&~<_OKN_-BeSs9KD(saR#;YKEh;In zDHaWfK@HKUAqMBPDX4*s8ggVegW&u@$kUPko@1)>Hp||&Khw?kHr*$pCps{xGbEJN z;vbcZIS^5eE9O9)GOEgn*|kEOoVpzQg7R#K!s6io)WxGgtbvLe(oh5U=rYJVy%~hc z2SKPU|GmIO_f4*?{Uff6-;GqSnC^JL^tNycubvz(s`iPkD0ipVmAYj#6uD+M@f>)K zY)3&A(^*tH90oPSpoX~Z(;ywIuCq`>{^?DF)r3V_@?Q&$^j-_Ci4XXWobH-elj>GbJ{~)PGfM>DZU=5Y)?crFEowaT^l+g;g=3<;7t!H3bw}Lk>B;Im@5hlIp>2 zP4vvErFrF73d6DN^)~XAgh(;!)c52&8esQ3Mz-gpoZAB6M%*qnES9Q z0yPw2g$h=Oe5+EIe^;Zg|GdV``CgfANVkBP+{AIuDo^tj3h9C6yx6c>R%C2rT3BLB zQb=YS74sia0sMx@072Do_)EihprZ!XUaX2Zf|VJl0jop4)LxK(Td!yEq`}nrR;5*F zhtMIpHrq9;DAP-rlk8v4N(in=i;ZfeMe}&; zh#J_aL4X=cQA6!n$xn@H@~@k93?4NbyY$vrgtZjeC0FD+bMx6A1>AH}S$a}X4Lu>E zF*Yu)B{DX(EhLK59vIGR3=GSw84eJ?Xw;yFWUPSa?!~GItWYUGx#3%bg5-x5Rrwbk z+6MRA3|+eG%|q+UY?6xe9l88$_ks+TPg!C*xh6I_tRXxxwmF!V+)Ac#+DI|HMpATc z&2aczLkeohLJcCR#ZY;2{pV)+{R15;XP#cx)W6-O@6yp^8d6nhotR(bz+vaP=BH$P zl~URM)!`W-^+D;;O@68L7N0bBt0$e;=$VjPGaMiR?GT53k%k(0duBqB)S~Y-C)a&w zli&C1va;NxYwG&FSM;2l+Dw8=>MZH}a(i}qp|c=C;8`5OCshVzQR+yX$VN{#t=Wyu zY;k7r8eCHIYKFt0hWIt(fw6TmmhL;&mOTnu|u1 zf))!JtJap8SmBr(RqS3EgjEQ>`Q&Q%ys$c_oVW&uob*O}KEK|cn^!#?fQEKRKnY*H9lY9NX% z(-S3@8x*lhh65y`hQ!t5Abax!DA_gTZPTGS4|`;mUGF<3(e+IJRO1U}t)i!z)|~qW zp7d*G!QtIjvHtCLiSEsg>Hqhx5VLAuo>66Bj($aWo=!!)K)XC;SU}RkQILjr3gvAY z|G9c6Rz)0~e*MnTC7n-BNz}iQKUwxxNuB>%!z`uWz$yB!nQ!2A8;aKzhe+p3&Q!Zj zcba9pcamwVUy5N%P?}y-I77RUnyJ~CI4mFqH859=fuap#UN`R;ck{-s$({X2m({*G zxwH7QoJ{UV#q*5!8v4{1hE~D-7EV6*Z9QFYJCYo3xCL5Y^9r{3lN4&wLk>5*5)!F* zIWk)NQe3R&r9|p*fb<0;fxlwZr>Zrh?q69ws`H`5wA$B4R}_9ZA(8z<_9)}WS%vto z8tNhMjSNVyEzRAY+uIVKxDajnJ)A8c`ns9oT_MKzgFFrHg?j7Wjq=sL6Gzg#P4^oP zkbxQsmyCGQK5s-<-_lXFuO()RzDTX);@UqM?@*z_*^?olahCMmNY(ALl@{@XgPzSh zS3`@pUM8k*NM^>b$>xTyf-Uu5hFj^rh_=>x9&fApEYWT_0B_ESfx790OIQ_A^J>{x z;a7=S95}E%5sq$(gp<1iLE*4BsLQy3k*pn9DOiGok{P(3H~!(JYWSU`rvHt6LGNp@ zy3Uty4ec+{nwp>EwKP5@Y7d7mB~u9(J+RP_vaWw223ACgOw9PVEr^N%!4?< z-i2l$wM-vQtl<-mWNECeAT z!vaEZ{t$#YQvaP(A!7e*h(Ed*Qe@Xcit0{C);|g~D+P#g(fkxfGI<*mV)vXBLGwe%s-Hm>nn> z7XcDeArjXY34g^!s>)7C(K`xstFu6L*7_LXYx;%~V*ku9+P&X1fz;=c9CVkM5qis> z6M4giA9LNhAg=f)}&VBp#!0qGpFEuG6=uNiNU#j;*rI`IK37!m3IO| z=NP1#D}JXFb>7E%S-uDla_J9@@V)Ot4Zh`0kG$@j7I&4%qF=G&rF7fmr(d)x$>_4I zV>Ou6v8v6Q(uWF!p@v}85RBjB#O;{{DN>7od1@`N&+P=Z)-lL5J@+lmUjHrK!}e)x zfM;JwNYE|+=%`+=goMj(DXAA7Gc!Bvvp8)wdD$&i#W}TR<$2{6)mcSW^~|9HVK|Qp zK@FjJr*Q&mNJ9f{&SYK(JQ92)5B!%fSa)a(N{u4lRN#R*)6z;sCU77IY)L$4N*{5Y+Fz!uqiC& z*_8>n4prGhWl%#XYKX-3MIvg*L=D+kw%jed!)S*Ao2V zE=5u@S_32a4WxKst#?{+r3a_1%q_1%K+Lb;+6&8A#FByxr%L`%fe5ri=$dg5wPi9S zqXrh%#PCo2Rga=}{EJXeWgy?&^m(p>+dYbANK|1yIiZyAmsY{`D8aKV zZ>T^d&S}LOVzCN84K;94gFxmFC_W?ctxVp{c~&Lyz**dy$g$De9H2N%AkgD)IdcI>8K(5Al6}^ zhSD<te25L<7qusVvotou3epn;jEU$PAAuOAVn{CQ=wR z2|>KtNK$TXgrBG+!oRd&sQlD`Yn(W&K4;+fC_L04l3sW9kXJCH4 z%*?Aj-!`H;%PFal;lbu7k#d>wl){vl$TC_)LS<}NT1`|aw>Bgwr#3i9SQ;EuA{;6Z zg?$l$8WK=LCgy5$P(u-Fz&eZ%4d;%%Y}QceYt%EpQf2DZRA?Pu#wR8TSZ*wKnon+O zB3YCWA6^zirB;SVC)Wf=vunxWIko;_!m@zS65&w!TLTR>uy#&^yaR(Z5Z`czjCURs;8GMj|dLShD0;KmE% z`{V~?1r~X;!^_-Q@s-Z3v??NtU*(W4EF-2Ai-rospoXYF#zE@F3BZ$>0>zTEKh+&u z`l{pfrvB>+2XEazuh`M6VN%(p@0QnWLdmSPil>#^r$-dKaLFRCJn#Gfk!xOPF)^1~ zW}BN@Zk@|3x5^fkShGunLj__{Lo{k&Y#0xDJ0|}q-#_zh)6vC`FP~a}@1C6GmA-R| zjknZ|ih6WixLwA9$t@PKQ4O{!fi+Gn?@AAzOS!+mzBEK=RT5KZUYt~HQp84z3QhCN z1VaU=^D!^C3U{tqKMsW3Cw{8gKmA$f(fN08omk!TP*$?7U-4{3-vxu*+d4!>uaRHe zW%G#OP8*tcvqQRLy$jpA#xvWj(m%(jB1E899+R(Ao{aDW`c;+up#pKJfrfX;WUU(u zCELcoZWh--NX@#^C%vZinXF{Za|MNh$Ev!lhdMU&`^FyOH!aEjJ$4ap7age%9d3!1 zt=_37P5umn#^6ky`Y4uWJ&mnim&sPI&l@t3FmEKJ;GH44YsP%4-hwp{661UB9hlwn zRC-<2+tZRFyhDZiN<}02g^p?TQxk{4J}VEe+x8@<>n=gIe|m;mTp>jocLzorTneS? zbVbK$cG40qbTVja9oh7u0(8{CTsjJhR*iarH4s;CuOHj;L~>r`!1473pHA)Pd^~e9 z^~3q|vF~+sDQ`?oeV*Icx;%Dtw14R4YIWb+)9kLlkI@|pN&i;3zs}7Vvepe+p!)T6 zirO{Kkb$JRm;+ff@S8qxB2{e+4E$p!h}kF8_CeO(>hR;Im^qxl8>pY1iYCWbos`sZkt36`53>9F^ z8G$trgkG$HXziahvV36uB*Ayd1(_hVh6d6*B0%;)ASfUA1|3-!Fgt4pw#t^@oz%>} zdZ-(J@zpf=MAp{(7^0)|AyQBK165!1J>5Y4U7DfV0Mlrw0Dn5+YTbB3^W}+zvUhVv z1IH4r7&#uIojZwv!APN9OtTng-4>IG7(9pU6g zD>%E&1k`sLfYBaZu-c~$4w9PSa!?&S52*p^uqu$HR3Jp^JVYE(hS;O$fPPF7Qin`q zmJqJq5&%%Y3XFzwAEExZB8Z1_y0-Mz*!C}n_a9$$= z?rWvN3n8sL4uR{ALCE@{0)Dv0@xdA`cf3}R_s)QDsRa;oY9&z5Z-yAXeGq9S4IwTH zK=!}zjTEl;(KF8UolCOy8)AmTOFORfbL$+prq+%o7T zU)H@II23+s_-Uu#cK8oFcW zy?3m|8@ELJmre}lXZCFOCpLWVe#?B)L-S()2WC})_f4B9ca6J(uNqtp?b7cJ9tz-( zYdv3#3!m+iA!PRqOmEHy+KH8rq_i36TKgfv>;%LR&;1DZ()k!fF?&ObvVY;3;QGWR z)%zha)4$I)E9kCOUg&L$qKI4ORZ%z0nqzv5yQpo3mtq=?u7nQ-2tW-aT;q_oO@?q> zU&P_uK1pT;q@CRisTz`yWPB15>{PzSc<8?iBU`-;40nF)L-l#!mK1o`ks;2*L|wPZ zrS@7C(RwVZle*1XQd*2!Qff^)5-QCu#S8@?qXs|J5U_O;MB@5_c5oh~qJ|8G&5)rk z32BC>AlXLkOMn`l3~ry-#p5B#FZcRXp~*Im-6SBY%;W!s$8OIC#$T^7~MCgWOm zwP_=x%)BkJ$g(qTDEzG<5WiE4K@EwxzDSo|4s5JPVW~+%rvB+~>6RBhCOMhDit};o zkD&P84U7!E?h{AtaZ5?YTfH+nYTE#22sACmaHK*p;w9|$H1mgO_ zAJ-R@&3NCS#5738^+hJu#AIPTN|vhR500+vC#JdjKswR5_ARdu$oxq6UGo5X5DmG%#msLMVr*4Mr#Ft@$Twe@XIbB?H@dC`iZ0~mRsq1>#X*c_&R zQhpjKQOb+yFU zwk6NXr;_6kE=+TyWz&5anbbgTa#VOue0W@bbV#ZwBA8ng8Z0ahA{UE-0xNkzfpx5* z0KsSnv4&XGkd9+z_CDMh;>hA}Whd9YtCQdRtV!kc-8yZpOXWs3^#v9_CE0dixtY!h ztQ4>G6uLhrJ}xu|f7~QLG%86H6u~MAh!7N$LW>GXp_P2U&^p#o7}OAi8sac-o`D+p zdvRw7sYPEZPp*B_B)_M>{rt(BO`4kRRR%UyMP}Z@Jljw%*D*dV!#yn_mBfikr0|1j z(fI*!bdfJLv&f5@TjU;HROlI1k>eRz%N`04f_9*wh6L2W#PK>0=W``e3qIAJSo5;& z%&rF)m1TO`G&Gv(^sP(FOucf1)*%@=4smp@TWU1ZhZUS2$n#H)5O^gg2;Gv>3tbX< zg^u*1Lg$2v9GAFS_E3OOT=NFwx|@#IPWIM`P_Sp(w~E8_2O4EoJ-sNm<8F_VbXV5} z^_pf~OJTLK2dC6BI9X^jO3E_D${Wt+xo~+PZmrQCtF(XxImysp1$t)4trd9Io zlWW;SVNgTp%CV4)8nU)bfWqBVKh_+Y`=VWD`Ga2BE!S?IJ>GIfO|7g$+ajmY$c<5L z9u!|@8y!~UnCM^N!SEFLah!64d3OAmTq}OEz?{#`H{%xx%(+!O3sxO#C_vc!kr1&Q zcPd#k7IHR^|6aCh@|&iEvmRbPzWCPNlbbKzQ#e|CLq$b+S<95&VcJexqDujcSFM{wMUN_ebLxAu){LMtJOZnso9lg z)99OG-aug(HAH9X*C(@d>e+0qdLdi8u0B(zqB(6SKqP8Nz&cJY?v7cqe)P-c?PG6U z-#PK(gCmO?pPkrJ{#5Qr-lKC$8GY({@ptvCLvNY7l5SX&+^#uN?0Y;SEV@ZCMqNSi zx*ZX8&Gz^t^|rKRwYKbJ)wa^)3+?T+p#agi_D{xjPVVxNAF5Z6ynp$RQ5XAmOm28C zwWRdTiLH6BWDhf6D9Y2HsjEjk)i(-wY;Nt@Z|~^X=i+X2*UQK3mcPH@jo?7tYf%)f z-h>eKt7&0sS2^J-J;HG1o|+*6v2#X3Ce}a{EgtctZSIIm_m+%oc)opV>3gZAIUl9B zWV}Cpfd206$;biqbL0U74X?MB`p$10OzmE}Sy?{wu{C)@b};A8Wx**Gu_c@sNOoStEcy8*3n@5xRRP5$c~W9bNok`waf~LrWRok8O{tS z>7$Zh)%Zx*Jk1~TAg&;}*cOhhG=tM?^+9Qa7HDo(2cvCjV6|NZ93+&%b>}(o+NA{k zyUzk;j{=16mB%kh&j4+o92N-6;!mCog{tyVguK>Kgp8Y`M$lm9s0dg&o&@WrIKkGL zRrR8y`cvS(;UxHMH~|40Wq`5~ z7iOD|L+qwwK;JwR1hpdw8Tboq)Mukcgu<**KCpN!5%VBsuwkk$`o#s%}UMQo7Pwi7&lwJGU%{*u6NnCU+0$HeXWNMw=^F8lHVGB+US3V9q?M= zyml-QcT58B-P3@4a1Ml=SOVdSYavv7J5VeRK!CFh`1)Z9QUus@i`)4A<@L#xlVN9&=}uK@SIG&paY2&7$8 zA^5-?h>%$V(F$uJN^=KaoQ@ms<-oH3^6_ zI1JI&auDvO`i&Bx|K2~s;CkgOsBiF#5HZ+Yfxw3GVB zFkj=hL7}$KNwKc|?uovAj*Or?cHHorR)Xkj7G-gNnl;nf4cihMj5_11O}e8>O?!h2 z&2Er?1$dzy+);xsey>awPZoaKyq>#G6;Ft>ED0-16Ew#WkJtNmSi^X#i zva_6OI2jIg%rwlwq&RoQB{_FT{fa>io@fVgeNr6e#Zq@q2R7zO`6pI=&6nRkkgs~= znLtRfa9Go#yOY7wsKV9zu>4k;Cb^SRa(-m7K|PXR$Nf^0?`)<=jN)8V(I} zFbQrQ3GwciVtxhqq8+?&y(zAVNx=AIpaw4HNpodZeG;A7_PR(#s$Zn7bSuZ$@FLUN zp)uLfry|ZHL=@>4n-d(8$RS6kWsvC1RPPKvQlG+kONnO-m0VLGmjT*#t z7)e;~&cg9J=iuCLBIy+a<+59z)+immTdtvaNn~Kq$TznyW7>J=r#J_56TD&=F#+_% zh_JM{P%1NulFSJUWM>Bl=JNsrt9WE`Ju{HpniNRxjQ z`qLX9v?xmU)T=2pm+R`43r%bVd@D~j+kuk8aE*>j_Mt`4gHkE+k(qw62^{YjMwUl3 zKie(3jOP|r$8wKsN%4s2Nca`thwE;C{LY<<8W<{LKaUj?+@oU-s>2Dg2Ea>k#x%x);nZ0do=jAHu zwX_A52G-1CbN9r28*+4xQv@Z;BaX!OOLET)Nq1tzGVRin+16=Xu4Q^5*DAe^Ws}^J zVw=>F@GBqyH3Z`x5cHL}Gv)fRAlf$mL-pRN&)THs-0PKDez{k6cf&q_C-h1cRvbNi&cUE3iI+=G-T|Ki^*DRsY z*eR^W(#OBjp5k8S5=kuardk&T(#;AZlZ`})Y5GD|x~`}oU8k@iO;6BH*U#yq{t5_0 z4dNOp2JTFmzk1aB>W!lxb!{KpdwcJ+_J_xo*WEuQQFvQXhTE&An$)dr6xnHLPi`~! z@MyO6CpJ0(nIDG;3INjoN}l^|}VSMr9XOv$Q+vR{#a`4{^Bm z=PVidqj<&0=PfHoUc0q=bo;|SGisk6TUpe9QiAtD;dt6zm2U}hHmGR{ilMT(8uGp4P|vm86+r^WV4Pn#SRpY;3^NSHnXa;6fl z)J!0>bm8uluV;=d_`G%^_v_v{DPIq*i1~Va6Xnb4UA|w=9diAmC2jx3__Wm*8+p?& zPD+Mfyw2-=A**WXy9u|0f{jQB20;pU`Bup3r8rh#6!821JqgD z!66%4IA&`DXYKwM4_joh3&-WKu1j)Q)1zsq4`a#Hd{CO147=w?pdO3>&|T{VCYw26 zqeKUS3I%9;NWk4k1Rpg5h&3ERs)>VWEqh2hUoKkq_dF=7I;>%Nby}nhcif34qiGn3z}RLB zyzSN?RI-AA9hM;7X%11!W{{|23hBE{P*bcClW~C)Ktuh1G)h0k+YXqFNhTyqQA4Kc* zAaK1dgl;&9He_@laicb*Z#n>Zo3x;K^Z%mZG#dW~y1@Q9hDC#-Y#=O}B0xTfJ8YOv z0;O4a*gMAtwC0(C{sLn#Tc{5H0m+u&muC+?Wscxk zNBqNYCI9j`>h_a;l0L?~!1zY*V-308=Depo;l6h5=RI>7;6EUJWZxrwVoe74pc(|I z25+>76NIuL5&P#sjKNZfw_FGD&Pou&P=yGegCGqt1xbP}1Y|pcZwcwQPc`+2pvird z*TEj)9Or&xo#zj^_j$c{yY16Yc`AHD>KEN3z4g9M9^_pmf8}N)gh5*05SenKO-WXMy1Krk-!|*SHDuhkWZ~}P|zZN&+U}FWuKA0 zW?l_{O1mFa+pTn(!K0IB?eL6MMZh^ha`!fiL-(q`4mOn;a4Wy@MucD%08NUg?%>dBI{;) z593Zs7wbV>2m5h&E9Zrz+2d8fWPl&4!Dq7^NYUP6Jo1Awkk-r7UJS*?YoN?p>1V04 z#&99s_){()_cqm^_99m5`7ksl=vH7##8uy%xJ%w8N#_N%X=iwcGJ3ejvrcfYWF6t$ z$UMZoo7BjA6kW@ICavMWkW9wEH3-q3UKrB6Nl5EuqyEJrUlg3cF zo5?_-hvV~1AIAN}AmR0>2+1XBLgd-NjQAeEf|PDyMaEID#_SHyqdA8>&*e5E52nuZ zc50Q^{kSskC*h^u&!m$9{%9UVsD=onH&c-(m4~!mDe?!a3|9TDv)J~v9;fl4mTdB} zjOFw&&y#gMO)Tt<4-GyY85?y>nv#G*^{I#aOEQ~8wK?^|w!9jjp8QImEBR%}gDDo> zODypHCoG6ejVMZuZ+t) zlkelxoe?N$PYR1_jEzgIj!aD}3(d_g3NFjf3#u>74mwhl8FZmIJ?Ls~n&ftBiUf6Y zN&bnN3iDECG zjvRkUQ(8z=bz*d4X>3wjepFU=c6f1qdT32iinP5rDfCQnLTF!pLfEbJ_|W@taiNc* zCj-?W3qeTdC7>E|(dV-Q`PK~@bI00rmwxIr+4%Z|_1;IFPKH-osg7srSni$W0`Har z-=Lao3A&UdA|XF1AuTgLBReIgAU`3hswg(HwInLCrz9%sNeMMOFkSoUjOp6^{%_e9StsakntxPne_H*o>zT| zFsLj)Ffu@$b*DAgdw5n>dIuJk z_(xe_Kko@&w z(C=2(nki7R3H2YK{6Y8L=^xH%&3S?PFm7Kn-EpDUUbpKM(XOf6jZ)FU;^npS{Zku6 zp|Q1rF=16At1u*}!KUUE#kKGl!z2ADR}|Oo z9URsojtp#)#*6A>QUrA=8JwE@Y-UYWF1@BLk5+p&mr-*wgIRGefmQY(ZZaSQ`40)G zj>46)(6CPSXV>N_gS|VZKE1nJ{`M2ig%|D{Ztc2ht<~7)Xj$6pO3XS#XC?G-yu*)q z1_XBcg$j=ZNAo+P64>p@DfG77bn2nX4079{Oj6sKOmf@pR7&H6IBNaF=*a*nsv#A5 z5M|3{;Ls|WZ>QGEyu7(q=JwMa@|Rv{Ej;6i;+~|=P*}S0h z0$<@--yq&;Nf_%?WE8C@IgWf1;zWsZN?F{ADMfhD!?3^od&S>k@Cn-V!en@(u7V=3Vd--YW(e=c8G1Co)ghkPU$_z$|7dku1I zJwABj86N_i-9ChoTtCE9h#xZCoCb^N_`w>6{a`!O?&B$z&8ItT>-VqOR&U=<3gpei z9yd?L`i{$Er!OgBosVWaO6a zNd&(G1PIY_gy@3~kgR8i4sNi8QUhzKGqOU5aa+JiV{^D+Vg~*<<;wVj`W z)!dcC3V+X$&4l&xaY%EApzMJ!>|e?Q{Z$MwTTcPIO+<7S1roSQNM!9qVn+oDj$Jk= zAZ~>=CM{4n+8iBHZ;F~xP0+Pa#whq^2t68xaDGxww_{k_Nm;C_PX^0-JOxXI`LfZl zMlJ}p%i}!{0pPFDLSji10#<53=qfdcU8M>s ztM@_9>OD}pW)D>P9Tv-nCK`5|N&IvY7vxOZq%wg{=BhXUR z1HC!gU@~_QM{PPQhn%Cv!5uM6&N z`ath81h+HBK)q-JJ5Pb_{qzq0&JcxU;|>66uv<5#N>_|ZxEKc)s6ng{ys zX~0#T30?>0fY4|W_}Z)lKi3T)))Q3GzK7H~=q0=rfpn5{#fXUtF(eLts`Ghz` zzwh#mdee2(WitM)fw5H%1WF1ZM*F-{HARRxxDcXDS3-=#CWxe}KqyZGBmsILjxzfr zO11szo#!|vC?}3`>nS7bHrhAlF~(Q-^Xwto4emS2WByCmH-bkl@A$V#pV(K)U)?WK zzEdUxJkUHaQ4QWm-vlAe8=*QIVssXwW0+S!qU|P#b5(&T&i>zFzJ@;}p;q6;3HWcq zEYfGsBHAZj6>E^w#C^{^;`x?-%ICFPpYKcRQ~!IUSK@2r0iR2hLH;@F5W9!=jXoK` zMSc_uz0-@37b8VpObpVzi3b*-7~l#>v)%+L#9hAIMt?v`}*1$)!?vVR#z0x~w52aTq&qL0+_51hG27Hdu2l+?bKeHwSc&G*s z^iJ=Oe2{RYH{+4!O-0^ZhQV^kw%qtT%W2p5G}?hLiF~sU(PG>iX&B{&IG*#5PrA=N ze!lpYN4ex0t3i5&*%5Y$(G$_@el7Ae{c%LM`wPim@1>3P&byiY$zw8rkKXHfNOuP! zqR{h5MtU<7`C_^H%b>t~<7feH*OwfM_WN`Xi~e{a;Yql}{jMZRaNRG-_p(n`-~~ZZ z$XQ-hc#lU*y#u(+QnI6Extuj z4L((IwcafWRbIyuE4;2Gm3lvjE%JUER^an0Fi$w(Ga2BCd>A3pdEtm;v?g+tr=cu} z;_phGMc-F1R5$ExaZmFS^3N zJif%YA*oPwG&x^%Atl%MUP87X@;>}tNHYB1h|>MuP6(<&7JO08JQ9(LJfVE#m6of{ z`cbRB@N=Wl>bI?yN>3Y{v~E>WEG`zZoqMu8(X|Htg4TGcUwu?`aAjC>cu7chOhHg_ zLQX(!a;CUFC0%?bH7)RNQcB>XsN}%sAxVL+{U!svPz`?QJ0cos?+jE!(GCTu+Bfri z!-4r94;ifN@37eRum!*WYAxCPOevGlmCtuSl;JC=PnP&q#76`dM<;~mg=fTMh885G zhEydd1-GWg2cJxfm)=f^3wan58}d{d6VmTL8UNNGMxW1ER7ciEq`j5op?1%VZ!P=h zy+5qK{CTJOmOJeZnim^LW+yA%ojQuS^u}Bteq~00Z*g*%BsU>8JUu2gCMhZ}Auggk zIXb*KEh7AQT6n~@w1|iYvEkuQ!@|Q~1t7!|0p7@m2}J8M9@UY9J|E@V&U1>ovSJEW0_v3>dUXEb)~RDHDheMv z)n~oxIk@otDdUZoyKU8b+MP{08r|^q)oi!2G66TQ&{ve6D+x->iU^BNPlygn%}kIa z7blC8>Qem@kEDr`E~fb<-;eiCd>rl{|1xkg&^DMXNRbbcg4RV5datY7JY}SPr`)>} zs?(ocI579tIl~R-PuQq-qdS~h4pDGb4NPibHQyt%TqsN|4h)Pg2n!9(jf)D*PLK1= zEJ*Uns7~?B=t$*fo=^44x*zYA{y4%r^<~gxfDnxzjZ%ucvyy;yo^XS1! znXC79%{+DM;Hr+R<|?%p?GF~6C0eETxDn!xv1p;4d~U!Ik+)BKkU#HGgoM?a7)oo& zjvzOeMU$FaVuRv#l8$8s zJ9n2!ow{2>@yB{X@y8!X9XnqJ658JQB197bp=kWfxfoQ>!CrRG#BN=ff%W}oCU*Aa zYT2$AyJxgK(_UKn*mz6c18eo9JC24CH&F)Sx;w$=st1L8#fQPT9NCNuhm9Mpz<-Ic8oczLaZ{#zaPS6vQiSRMqhWn3)BjceDiTW^*>hd7M z-RVIh%i%$ehwXz3p7n!6e5;3N_?D0U;aT1P;9-4zh&36IG7}r9oQmD-kjKvV$YaO< z_F)Vt%G7^cFIWC?uVT)i*0Q7z`WqwOn<)pqb5IiwkaTzh?uM)Zo*C_}$cp?{Vn=)% zg>!tH?C3C%>ufhrL9`xdC0V^YNwR!@%hlrDfUEh-ucXNs%bSATX_UpzADxPIp+1b( zThp+bk$E!3!yDzZhW9AO5AR_}dvf;oYH!xi00v4+r!C|cfxU9DY`bI0@Zngm77BdLkW{O@$ zjUis?Z|{dby0%^qYLs>1kn%w|uA&21cTL8zLm1Y09K%X3VOR#rVZ{BKDH94yWc^^R z91pfmcZXfGT|r~66X-6m1Czy8V7=5F9G95@X*ucxS*Z`4Rj3DK^+6D?)`rkES`fQ- zKcubGfP(evP`O?Wnl`9HC!%XYnvS6H&!G$m>P3k}IgDVKE#rfH5H_rsN`VdX1W=l8 z2YY8)!v5JN$bT>Z(|NjJJzpDe3$%c^P!lK%)q$}{6}XG{g3sdJ5V%AIefcXR^LGbi zELDQSW!s@|xbZ3-nBkVaGH**gO3I?4O|t zx-(V5Xx1JupS=rgXDb6vaR)dnZU^$5t>8XqGkDC|1m1HufOzhD2%WbUV&|=av`GOH z`n`7ADF=kT3P4et4s`9=z%ZTEAg=^>!Fq6$YynEV5|Fc%fmF5|TK$g;P_ex@b7hgQLp<^#`q3Gj%kz{6uBu*BQIJxUp9X~=piR0B%229TTggX@t4Ksu=dE*B31@s=Jq zKh_7QeuLkR?+nNALx#h+VWZEuA4VT>e+)n1Kz|~DjB0R3HBgl0fw^Zo@HA$Dr`|m9 zv|Iw-POCw{+5}u*C18i|0!FebxaVmCt>OSs8+3rut_S2}`rvxb5J=aIf%uQfALm!5 zKb+o~4Lc5*58+452k}452OR&Hym17hiTG~~N^(HkDGwgVi}6&O1wOj-KxDoYeDSNn z$9*$+`s@UrbT4ocG=Q0X02rmZK(93bw^rnbb(#YCv^lt5u>jITs~^Od*2o948FKn; z``&TH?v2w=>sJJ@cMZcrnFnIiB@kf02K=d8KqOEG zuOLH{?fAw@gJ}yK>-*bhl*p3<%pl7v*x6K%~_gh;ZHtQs$mtfj(NJ zz99y~-mw;6_~~|^IQfo)%yO4^^m@u$Y8(AE`8e|x=_2R3%R}yC;ydnb(h&11dD!hD zWsG!=`ipSd?GJt;fcDoDL;HE2Nc#t%J=QR!yQ4JcpzF97L!8BGh;!WfBZ{_nI8>lL z6c}Lg!8gKoz$=l^&&?t~XBN3Xp;vMqQJeVxp&a$RLq6+ulYGnjs_Pr?Udl)A8MiOY zle7`HZu%JMDE${#S0KAEVam68(_y0`0iyoZBVe({9iFj?>?HA9era z(ZTr2Xl0I2n^|L|i2yp%cx<%C>x*=E7}A?@Nb{zkb(yZS@K>hEs^M&#tsm1|_Pt49 z>OG6}w0;mAK)C52PVE!MvwA%{@_{98RFD(zR{~azEdUw+)-6rv{J=L1xKPMl!R1p#y)g|?}7QFc}6RS3aqxg z&2irMJe8*ZpE#cNwFqCr#o!RPv*Kv>Nl`Mt%PZUGh@jZFjaMUX@i-LJ#5p0U=Uff0 z^>`Ur#T)P`=MC~o`CpjDf??W30ArOb@KGH>NP)(nrn)a*@rTV zO)m=__dd*~>RnIfSog;I5Ke^$x^)MKvkwQv3l90F3mbj%{p-9c0;>g$!4>?@kTQO+ zv_$YMq|ob)Z@$-i&phuTc8>Q~_lfwo22V78$X_LlR!Ii>6>b^ z4NuB&yKm)_buVVHtWG6*61rmi-P*&Y?B?JYL0w?7u+l$UTq-IFDiYR)97=6atA z%l5e+mL=*JXNcZ;r~7{5rulwhP6RN~Ja{8_CKQo~zR9zZds(b9ZKP6t_J`Voi(WRE zuDxGvzpJm9q{NQoi3d*>&@B&Vc{nwv_)u#S0@!6SVS>VlSW!-BsyID3Pm(Mt4^0Sc3Xcsu z77-J8H6ljxLJ}i+;~OpcAc&R>aVFy58hrn%P((UX!G)Wq{H)p`H`KUq`s+5WxsTcn zS6ywgQ9fJktkYHEX3?6*cC5|xqLiihvkDSI1lh6C!qli_abkG3BsR1(G*a3S9wzOK zkV-E{hJ`&34hwtj7Z&>7Gc@#*$3y@d&4U;z@ff5;GtqM?*)V0aZu`^^hjuHxII21O z?os`fms+iNo~(D$?x>)cHx#q*6}bXRVWuxLJ5|C@O^OgE#3zWOV>2aT(Z!*`k+tDL zk%uD#B6}kPqn}BGqF(z4MZNb5iu}l(2;d+mA`tC@$D=xOP(2mvWWP0Snez6qvfPss zsxxkM>#jK0VY#Eb*-@*dmTXpC&cGEH@mzEAgv`{e0A750m`_w{oWC?FT@sW~AoY*0 z4o6Xi2%q?K5u(IrQc*&`*f;K-w_ofaZz6z;))Rlphcs@!4RIip9IBXgzRA=%M>0U0SlqV&8F zuhhyge(IrcZtCf9e)?mnAgy2QnexutD|wJN5g^82bbTcG=3aUqAfB>y&Vx_7IX!)*@b zGn?Xk+!```T~ScTrM@x1x#4&Kq48D#vEi+dRP#aLTKUOiA|L?GL82lC#j~-0nx|p6 zj!nn6dK?@IY zj4mmg+8N6u9ZmNn94Yq3A88Oe96ctqKYB}uJNn+!vF($GQ_E-8M1T}I5*ahG=T&mp zt#$?M(n$sE%#~@_@yCi-$KwrC>L2c%U2;!%W#(=3?eRD4)kCim^~6_DD&i8`&f}t| zlluif66L&Feu=xAvy5M(s?W z|FW5g=Xn@*wGP8hw##DeC#PVwSLCpghtsj#FH2=pzid~C{<2q5@>y%K=(E8p-e-#q z%+I)OZl7Iux_)NvcK$3-b^Pq7?(kW<-}X!F0jn?RIu>7wbj`lj>6v^zqHp}I*TCr8 zQv<_qLk5Ole&|ocO*99mP%@(pr4nk+q0=#MO~uj&XJLsyS5684xm6+H=k8fvzclA_ ze(5ct{W4og`enP;>6h~c+;7@uyWbvLZGH>4TmA{!Vg4sV+4N76iZSG(Zjkc7ogjPl z;MhK0xU%mcyhMCborrVw7}k!G88t|e=U+jc84qPqXT}_v5Lh|I7dFZBVCM{XP*ZdT zo%sYXT4WDaOKkwZ+!9DD&CpAj32@gKqHP&{kf6?xDAW~_f;vL-Q8!5C=Kbg>UQOuU zq5+o?|7@Lz!!2n1ZZtkhW+dIgu&~!MSRl-m@q(qYELbN;fo%!|*geA@G-q2ON5Tv_ z5=LONKp*f6b%C@<8)%Es*8CDp@LH-40n1cTi|AfRT)qcg7q$z^R;WPzN)AQQ%+dg> z*{a~6xEBa>b|W`J1>EQE1nxW~5Y9ubB=fgG^!!bbx?m&ZE!Y4R3)e%#gcP1c|9|uh zLLOq6*J})80fxCEX9S1l!U`72n!u_lda!Zo0Z@`thduK9Kto{{XiwV-2Gh2K>GZ8& zHGMPK&)5h~GuDIa%(XzDxf-}LQKVzma*)hg3X!vxK=SNGkToG-ziA3ssZ0gCJ@VkB zssO|TGr+}25r{Smz}a;P5cn&=F=!3o1NE zy#QQ^OToosB@hGF0U>%LIHqp_e9<<*RV#r*^G>ioq73#YRlu%y7uem}4YtqsfbIJ| zVDn`!*nHm$*1z`sw1$17R_OxG1OOh@V6QY4NXV6-qjU&s-wg23Q3S5(0`PEH25h%A!1US#^x*A4 zjYSSs#$F&5sewxsa;KX11K}`orcUU9Q}01=ysh^O|4M%h|IuI=H)1&C@awNDq&I+v zgRk*$pdSxf;{lGysl#uZ3KXO(SjZXSA&1BlIb~kP3&6{E83!R)BEXi$l!-_m(dvEjLCPWYo^1F&&)qNez5q6AF&*8{AJ$n1ja82 zVDQ8lbRRpz!SMhmRD&~eB%g0}4fvv6zdb_L zelX(?jM6i8N8AbxzmY3VzmOU&KD%^SeR4iwJ4m=>|K91L!yCr|{41wn+;ivOHjjv4 zan}V*Z;-(7`UC(0)j&d@jlYh7CvryokV6!xJ_~~M=A%Qamq8GI-5-DY_A#O7o)JON z{x2R;dY_mnCLicImhY$~wr^c)aQ!YVC=Jv}eC~AC^{LY>@ISQDL2RN^j1q!Oe133aBq`QNV?v|qDR2Xup!cCX`4!2+TJ%pn4C4j3s zDD>4C5QG}{bKE`9VX#2567q|ej~lpn;? z)IazWZeZ7qj->9QfyH?ITLTSgJOOe?#Aq(0XiY@!oq;atn)@f#Xvz0j>vcnsE=uo0 zm};-YUV2Y`0xcf!BkXT;5((FtS)@MqBFZIN73~7G+5Ie~lX;qaj@3iH&pu9h&+Mju zryOzr>Dn!I02frlU)?K0T1SfJBNnaCWEF+q>FTq-W$G^ckY%>| zRVse_qj-w?%}9>H1<>}0S zQ((OENw)pATd5@V%W+Kovk{(_$3y&aM+2lTZN4$oW}g&By;lyqnqR`J;MECAxgB1` z9%sA@J^tfeDEP?D_x$Rf=Q&Ew@%lx`@%rsF9zb3#3p_M_AktgWNb{zk@2qSkx#5Dn z)8Ch9&3#d7wCq0xwp;r$iE8JP==#TFd6tL6MYz@wiAzIZB(>T-CDZHuFoc*NAV9CuA>n**x1l5!2ZhA)&ITkH3-nhE(0GCQ>D78cq%P0s)^~mwd z<7fDmd#4H;g-OD0QG)P_Z=&BDuSEYLc7p#fE#7~O6z~6oI3D1JboXDqCq zwX$QyD1~3CEcdcbZN~jN-Nk(smYdHMI_~Srrsy6@WtrC}csf+Z_z{aELa2G6QH;#s zB#+dfY(Zi`iFcg1UKH(r#5dBv*DosYl}~igCy%J0Z|+e+qpndwW2Er_I$8@tlztCG znm2iw4CJkr87bQ!`wn>!&sz2<+-lTW)LU(_@kA+pZ%01)U}F};yegG%Uz{j%&W#PC zW<*6WlEV``;zKh8(IG|N;lVW`siea%SaRMkIOLg7D*ecnO20CsA>YZ;kWtt100vqI zzDRRMqB_#hNdSc_WWH3bm3iH~S@uzfvi!9c?S*IS%{FvZI_z#KCh64Vxto<{a_#a` zeVj9r0w~Gxq3&@pv7E@LG(l)YzPBX2N)!;*=I0-F#?LSOu_z#NkQWf~g&7$Boe~&6 zN*)hjp>^PoH0R$We&!i#?VeA*C zC}xBziuq0%58$9@5Qubl{5%YD=3`?O3$b_2i?GLCOR($RTc@5osyVN#&3J7~qpeDH z4MD4@f@+*q!m>#&5IDx>`nrZ^N$9~Dk!*2VB2So-?d6$V>cdNF5_u$@@Z}`k^5vxt z^7+Z1S%Sn7svz+@Wjug~{{O+K6Ceqt0Se|~-)iSz{fB2`cYEeymrrh<(sN9GZpRVB z)%Az0ca}9dY3A0E4O6QaR&nJ#e0Yh_MN$~(=AR$N^vR9);AdwFI9bKs%*+NMJ+oU# z%epRP=6v9>vOY7}86#A7`ge4-$NwMjM9(1%Y5z1u>`Un^>|xV%>~`l2?AlpH?A)0R zQ@VOo6QDcYf+aMspzT~rQ|)=t>_DbmOnzJ<$WiQ2MEz~h?<4{$ew{cs*=ZU9-4+-IW`Tu z&^r@5(Ysc*?fjmZwWoEL6`wTUlG*LBFX0GLC!)j6L~@92Dn<38VBS8c(0h9UbL z&y0RXXiYvHuS~0Nwz$774eQ_-81HFbNmn9wtIXaN)~&Z zi}ZiBEOz?P6zpjC6s-AzJXV8l3MqZO2z4iHotpYcT`~HB{<7eE78`x<;CAwFkyKeX z=?C0yaP>&neT)g$gUoQ(BCTw%rPx|sE3mh?R_9=LtqW&*{W{L{+I#f(sIB=Gur|L8 zR^#y|1;cKZVA$CP8SH3>EY{S6PN%#gj}<(afo1kDmr3eZl8=0)Iy>m)!NtNCrmK0+ z?Kd-@6L(Ob(e}7J^H6ho=Cj}7X^^(<(!8yH=RxWg{2+U~{h;?wo527T%fW~}<{y*xnS9JuHTqbkZt$sHLx1R; zhThOqO}$T_G;{}lYv_J}ak)~8VciWF*3^MvWvDYE8+C^yJdnd8N9V~%M%T!SMz_iH zM)%BcAJv*e9y3@#7_(U7Fy^q_cFbj!)erYI=0AArOn-_WcV|7v)<2)t-3#p zx9R+9*slGnOG)eZ6~qgr{lC5;zK_d^S`2GOb5Mqo8CmFrj5y>$guIo*{9(R~C#*ys z#AZ1vs7!MP^_e(0sAvNw^DMx6feAP+G6dJf`sh>&UGxH?4Zh2@(D8Me=mkI>neS>) zx>^+)*X)HZ#6{E<@?z~Ccrz}oO&C^w6pfFP88PUDjG)ID=JR_x<^l6$++Z2*06?ZXM1}p=Mm=$1_u?kF! z)_`gCS}qr3t^&)nHDFP&4$LdpgL&fyFl*lkX2&)m1-BVY zuOc3A0n@jL&s)KC3<3Z02mSlg6t;|+!shWnhw{pT>CXRp5cpm4Kv0_o&bl*!U@-^q zjtc;$V`Ww5%f0+uh42Q`R1sFB@2EdT8O zZV9`Gtw80A73>^B2H$x6TZ8qsDd>Wv|N0=*-3ma{nh7-HIY6~r2xJOcX8hGa4BUV` zsmJ%*^H7A$OmDlC;(e?2D-Rv4zR2j0fV?4XzaB>@!JHh zVcUV2sQibJz5AC_@xGt@QepoZIlHZ@*iB0zG5Jq=Yf(keB?<9kSE2rSO{Fl6~K01_lM!V z^(QTO=O`s+&j=|^?JF^F{})1;_K;JZ?nnF~lmhB9eD841c)nfwaFD@}-3Prh^E1QXcMCUU zeZ%Re`86UKT_u73B@*bIC&7X70Gkc6;DU7T-~E39s>K&+{{YlM7N|7~0u2}Z2(Vu9 z&Cg}SM{m}S0iKU)KU;F(IX%kYF*VurfoqQCT~dk7En~)xtAuXc6~YDlC8vju z=bb*_&$^7+oFRkxDGK@)p@M!l6?De~?2!*cM&on->Mf+Z1CcKkqJmN?8Z&=}>COKd zYO(x-#A(B8fBMd6-h7RRe1F~BoKWNIj5v!c^fa4`)I9t1lrsDo*LtT@q;}_%q#ojN zmuoJaF8wY?$;0@gG_W~L2lF;}Fm81RgYiHOnzE=V5@jHe-ttGagrKz%xkK(xjOz5^ zSe?0pF{VrVBXH}Vgiw_4h&dY9ghJg*0*T2vZlvWYcB0)0MkcPCUg&g`Rz>WfHj~<@ zUF23uFS&{Gl+sB1?A*xs<5156>sl6=SF^x)JkTLkvgqem7QB$|4MMs*Vm;E|+oz5t z?os%ZtTp>hvf<(<@pkL(M3Q#)g)lYFi#_#DiTq8Ed4*aX<;U8$d!#zHvU8mqnWdz9 zMjfTby@OgsKjT(Gze_7;47!$cema$TfL#d}EQ`5dHXh)N#$_SREkt@N1nKS=z} z$n{GiWs0&WX+FjDWbZmgg4bbIoY#3)tk*MUyyzP_!S5F#-Vf~K{J?rVfP(bC0O`FT zwC^6X5NW=pGT-u6$-F7uAp5vVY3lVdtvTllO;;VycG%vLN>Xi1a6ecb!!s$35Ly+4 z20CO1hdZSQ#*>o8>C||?LVApEH8WDw#ts*qVTXzyu_MG^sF8s`og)JPhp-tBa6{|B z3+cTOq`TwiV}JGkP|-5%Wz}k#|I}`sa-~XB@pOstilg~<+gh@S`)X2YI%NqS#sx9n zmRXTv`_wS0Q=&A66dRmMjSR}8hXz(Kg9BRGK>a&km7%p!ww%JmTPM5C8q-qzY zvW>D6JuOq?{Ol8=gPo!yqg=wnlPMvgIrKnj8Ph+ciR~M5f+GyM#qkUKNE3(ua1n?9 zaSR9pyYT=9S_i&JcSj&n6|vz0MeJ?0BKDwV4%XMQQT9xO>a5NhgJsR-)|;z~9CsJz zk+pKNn1-ooe2au+kzI6RkYiX}go`95fg+C1qKP6)7~T;LY(YdfhaYi`;~D*)?h`Xc z5=Q@a6h?vlcmNx%g}=HtdNwwaF$;TAIvu-LHv_xXHXG}0TQ7T}W$%pk2E8TqHI^I8 z%JIAMie2}o=ez4Cb|JMrVeemsDS)Fn4&y}9+^ z;>t$z^@X(#%9)ie8i}Pe-RNSDX=s6$bzq*qgKu^S!7DR{#LGxUK1TuFJ*|d8OFhD* zrd?vv(%;Y+nWH3D`fn#z8rY8q2+%W-PRBkc%V7@+nc1p?h&Z^NhRGrW&mQi52z(Q2&Yv)-k!Fv=&IWr5AU1|AwRB~Q5 zjg;3xC+79iUGn>>l!EUr)cik=ZnVZEkb6X}*AXMX+lg!8tU8Ev^x)#sh*e>?zX!*NTw-ua(8RT4k|T zbUI`0IXSGXZw^+_w?Q`j^4=M77Y{B9yI{5^;GF$dpEJZ=+|zFA%pUdux07Caq!VHz z!tpRO-0=iUyJOil*2gOBERVI@n;*M?c!mBRv9{_43+pa08;?&>73`Ij(cLJ6 zwIc0TgFJ}hOY&IOotaqb-BmJica-HrZylH`zG1w~`?}3Kk86Z&?pG-)ls?uz;uV3W z<7Izs`^%xaHkT3%EHC94nO&+hF}c)kYJB-3;x+pFyOGI7Ffi=}{qcB`gq}emhMlOv zutP|HSECF-A-X9vmd?$kQEieoxeAdOk5&zb(+y~9^ zxRH%vr_mg=q3)0xlmRG2`Zo>T6cTe!0Sg_NhXo9*mGv3eA;%q1o8dlia1MFEbfNQr z-7@@J;!3*#+FI)Y?goni(I(S@;4Q`jvD*y>GL-b*mG0Di*P^WR{*;GO zzx}1G{RVc9$9d!f9Y$G{TGSm1sMO^T3P0|?Nce=_Dv%W zYtKZX`Z+ekmh&x#@e9pHT$dP+FqRsQ2$t)O_^&+pJ#3Zs_oOvi-}BaLj#jVJ7(KjR zeeB|TwXv7$)keRrSNr~JT#h0is19XO3cJww$b*PLISBtp80I-L1LY7F$WW2yCc+lv zLF|%4Ti4UfL3f5R@*fPqMo||W(J2+=xmv)OuK|Ju=v2;y`yhPL9!Ocd3kpzoNFC}9 zIl6QwTtpor&k>)-r2+Xs#poHNqEkY{kq6<6I%GJnFw706V=gcc!@)8cYgjL921-*6 zVUL_H?3X_PdJ39gGEEJvr|$*a4Ai1A6SXPK+5y~I+rW4B76?_`1WAe;A%D&Ws7Bo( z?Q_?`X~d0jDQQE`ALTG2E~D|02f=!QVJ@FBG`2kQAQUlE(&;|u z{J5{RchmHktEwj9xogatG(FI!Yk?tM9n2Y2z=lB)oEYW6gHZ*~S z{NPX_2=*;PVAm%Cwxgn8J1GV>v*KX0Qv$3PkQ0(%eHpng1=cT-kH}A{pVlDt-3BDT z*?`1X8xa3Dz)Fb<_R2JHMF-)fN(UeGLB6KU;OoE+Uf$@WBGE}@2!Ly;5I8rAf>W0` zIIflehY9pio6twip^Ms!9F@g%D+hMBk!SKh>^{hUwfiCe$qwW{+Jo!|bW!geK6g<1<)2QcmA^UORQc@qSoMSBJJq+2-&J2bf$~dqKrfs@;kgUQJ$L;l zV1w82KMn%@LooI!g{v|^q(1iMSg}F4D>sA$@Iz3%5Cmk4qYsk)<e2Io9Alf zuO1VspWUa`Ke^3md~n^X`QG)I_B)r$Ix>1cOYiG2+aPm%5;dwC&=Q>*dWf48=`&qAu>wjM_8KVm*66~kAbyH@BQ1< z-uU)uzVcq9^U`a*-gD0xgQxC0jUKxnG&RTi z=V9gQPl6kD9tLz8{N*=jeAj2p{I>U$<)2>LtZsVlv%cYZ%I2!)pSBl0U)Y@U{$g3hiOxbG#W zBR-Fu4*7qyJAl173n5^-KNO7ig@NAQe*rvk3_@^^ITo{K8eU5-X8%H*k76CBPsL{J zuL~V`ALsds+{=uR`#mLD?P@}NTSp+D{BBEWJk5=^&7fe~W39Pk#QKseSQ4k_~F*{!UbXtbqvE)LNLkU%u`(vAI_e6I(&PNV9Z;x2( zwk>ShV>Wb$*XGc}-qWGiyr;sRdrn1ubDD|)+o@Qv+zx@{Z!1n`Ivvp zL@7`sL;X;%N`Ka<$8@j3lJiEjtI+wfK-m)o(Q1csQuOv^3%(d)g|MQ!mJkKFG!7J1%pP2?lrHL;)FMiancGzo0hB!R_95|}Lq0kfgkBRiHj-*JSv;&5ZqGgR|htYCoBSWf5w73KR9V=VqF2$ttwo zggru&sg2I-l2*BoB@TFv#IN;P9k^$ zaybx$xjP=SRyJndGR)m|E6Jx;5z4bpY08}*724HKW46<+4g!Z7e5ChOhpNt%#p%ry zrI}9U=Pw72j!{fdktBSt+HFWufa!f|vEiTZ z@Q|Fv9;M0pD4n&{i6+ApnO6O!1@_%Vfd~@Ay64M?2$`j2I+Qaqn#{D&EmR*&3c5UUQ&P}DY?sdhj-qnS@{^bQ@K_&T{ zLW=VCh8E-H-w z9SO`U*%*>tygM|j_)KVa>65^`@~>V6mEejvAok0_hm#3pvtagSCJ$Q~$Zvg2&F)pvhHY(0=8esnwl$4~PUZC#ZpF2Y zUisCXe%V#412ZZogHtPZhNe`W3Qehc7?fV~**mKi+_G!&Zz8qeupEfTImlxopD=s> ziM{t%&_SGA%S291F_VKEg~`q-HHOXWOu5&MIfx98c**q)25GeSMd~+pCzw^QO1CL% z&vz_pEpyFnuJg=n?C?!(7z{|NUmp}-zdaThD5C9XaCqC@!03*T-m$B|Eq)a^ z#&>|jav+tN{3<2nb~7QD`l#d-I*3D)nEz)n|IhJ}>1~R%wOb6>2RGXYbWXWRHLdqk zuAT_hE**<8Dp-?jo;{ppn>JMBm^fJF8r$FE8QItC6V^BG7u>rwAgK3nKw$4}|B$}- zo?-pq8qp69k$qsl9LS`R=T$fcnE%fVQ80Vb$ew8`*)~TZ)4O=c#4cIt>Yci*-E)?F z&0CzsYi4{DN;d_o=TAlHWlkoVq^!@dOqeLJjUKOX3}4&i8a&qH5imOD25 z$9wdax8LY{_kb~Q4jKddpi!_}4&)JXx1NxT-Gm$)rI5Xo6tWGo-^O{|17F}Es~03G zJ^QtoTK1Z8*X(i>F5T%Vowq$uIb$wDGkI&ge%zKclgODoi_p#GHi4TO9Q>xcoxP?< zT|K5}-Q1=RA%D8LPrq~Woc?9+y%B5>>*c(|dH7E&A*b*;jD^MgjoEJ_X0Ne*RMLNp zg>)SkAuY#L=`}};*-H-F^5-6O7fWC8mrdLsrW~^`Rx@I6s&4R}TqFP8rKUc+8Z10^ zby>U4kJ>uV&)7T8AF_Acb<56a{+*5UPOx&>3Fa<4z-&49Yp@5T3-dqb?;YqMrng}I z-HUtRG}3y8iPWFxBUR_+sm15?m~+lraiyMd7KlIXBNlZkL?-lPv|`|iWL4i2*_xim zOLg3i*XuhU>oRgUHfmybY}VBF_+e9<<9AGLkG(gsJqkv4N5H`D@ISfULdfwULUyeq zWD`1wvBf=j%%3eM>7?osGby~ui8)x3lJT1cJ?S@7mY5s%+~GGo`Gc+p3j1A)l<>Ni zDD8eNOWx&biIU^hIu*OCUFz1?Mm4OiZPB#2eniXS`aMmHtM4=|uKd)nxD4tRm;T9_ z9zyo5#U2cF5aZ||`Y?aCpaZBpPa}E1F_Vl3JS6#nBqjEN8ZG>RAyd!;D>lCeE?iy@ zd{?+V2wUm=AWqQXLAr?Dg90(@2h|dm589>7AFh@$eK;*^@@T)T@uRD9^5V8dw#00Lxew>45d={e|9YD?vDoJ|CLSkR@k%%{vl%O{%G~YLR3?6UH znOxr5vpT$WXSaPDz-j$9g4^O}iu-y^8^VO&V(!!{x9kH>|z zKHeAB`tVjr>+LTD{=pp1!FpVW19%^_pa&{P2at80kht4~gnwiuK|gqj&ku2m`ws=G z^G{8h-A^M1tDlyP=D!@7On!N=7-H{(K7_OBKmxlKWa23mrFcq36PF6~aVx<(ZbjI^ zgS{8XJsx>@hkW`6lQ;*1_&iPvu7UE?_#6m2fLN>__?QrH^dN5NK^)M7*nl*}9F(cX znE4IBh^7M;bWN~lz>RM75Wb9x5W*x6F-$Vp_aFsDEE4D*#G#i}3?^7bVH>Lm9AXoO z8_1o1uo~Au8+xd6bP$<%N=OXW_d^fk@{tgG><6(#4`Kp*!~jGnIv_*Q041slXi^nH z4?TnlO&YAwLpadHz#Tn=A6*c_(L*FM@Io#FHiI?G1Fu5`uR{TZDKa2MkpMZ0C@52eK!dUpbg6t` zOyvPfDmU0uIl-OE4*paYh@>$=Dvb_>G(19$hOf+`QD6jF`wu{0jS5EUR4_;XV5yB5 z(!tz{5lmf~!8n)|3=`QwKc5ryYPdkRgBx@Pc|d0^vT+4yZ$)+?2a!{}pnVnj3weor zS^+x05cps4_rN0f-&n@tHJGSU!4mz04fccB=+VL2oDnRYnZZ1O4NT)Wz&M8s3@f?8 zpp^#<`c{DcC@<(wBC~v;zZ2Qd2YSc(LGKcBmml<>BOj2T_-pV#{4xOEU;4oNQy*3= z2Mn;j`Jx9w?6DujL7NWtri@_c$P6}qY+x150T!9uU{=NhrcJzH(#;1Z!~9^pZY3CR zLgoa(c#i-W9YM|^w*>BKZXA3 zhUhP|N21@&-->=Q|0ep;97NxngYY{G5PJJx1o884fEoG+JM2GL%-`;qcNblZw>~3y zSuul$8~UJN^g#*egL2UaRSNvq2lb#28Wshcbz;A4Hi`eVo|E`ty;t&^^)bn>)|aF{ zS>2a&z_AF@!BcF| zN%^Cb^7i8fuNXe?$PoDDRwDe}rC#i-bBDxdrva%?j-%2a95%?lcbJuXYdJT-S+I& z{L^DZ`=0fp|VsO#*vf(+`M~0`}KIonF0IlO*pnl97RF3+9(h(m} zSPnR2U0=+-p_n^kFoP%IoTTD>q-isJO*LbAm*l|tJl>c8VN9gx-G~(FKSJ{qZv<7S zT?uH^yy&+|=bZ0={u!S!!;{{V#>c(3njH1qXL{K4wAn$=J7)X6-k9w5`C+gJdvSIL zfX1#sP(xIf18$3BfSEHAGhgE3-nSU$Upeac9Cg~e97Cq3SvDN^(>?kAND39b8W%5n zAv#m}bVRYniO_1Dqan@uhl09{76OM%_W6&S@AlhdG4Hq2YKQL;>p9ij=6&igg(77h161%ys3x zm>DQ~Iwe~6SYoQm!MHrlebHrlyCdricZRo_&V}}xZwVQ(nhD-uvngnc?Z%+}c9VhU z?AHZ8v|ktU$#NnbOeP}0U?LK9CZa%VIpBkH5Qg;^vv($D|ALj|d#NbpRfR0&L8Th) z_X-o{i^WbWPNEMwoE0IvFD+4JJ~>lsE}=+&OI)S#rkF;vsi;+!8zKj6Cc@X+jfHP= zSQEC(aX9RR(@^Lgr=f^=Wx z;?N&G>C_uF=h7W@*tIk2H`mUX*A88AKdrhFz_dFF47-y-Z#fWvxjP2)UOHy)0=$k2 zF7l?1hy2yFlH6#Kp`2~hV?0u8!@alCLwI{hkjzX$wDMGLveraami}mZk;!msmBm1E zqjhgmr(IXVkYh*ugmYWm7T4yu1-GWS%kE7HFPxi`zT32oaADMB;`b#HseB*71z#MH=)@|f9c862<7p@1kI7W4E@2J zeB<7%GK;Q^I_vhdcKeppKBvayF_*gJ&2BYGdp)X>&UsWNKXI)|`)XI40Ty+cU{aq2 zhRcBvTn7ovxE7ho`!Z&7yPk>MY-J(WJK4yYE^%^rl_taPHVe+Jjn0A_Ykj50E5npV z%HlK!ic|Hv3v!G*@=DBGbE>Tyvs>)zGJBk=GuF6Pq;GUDP21&Bl6Km&IQ@}ZY1S9} z@*J?L$OW@XJVJjt5QgKQ%t#=gkvyoRk(*77j`xX>{XOdR?VV;Eo7x-& z)-`%duBi)A9H@%X=q^vzYcI_*YA!A`t1qmyuE}q-tH|qgD$QB#T9iHMo}azbGdKGL z@|Q<`-Y18`0=E1%Her9rLP>AdrP^E3@ zHDRCZbXYms<|#4Q6r|8yAEn-oZ#`?O$}p;{$TzDhE4L~uskbXC?r_R49CXboSnr-$ zFz1nu@cCjk|&t?Zq`%C#dbVjqy6Q^=XEcwYg>`)g@L1m9=)c6>W~0 zW&JK`r4#PSrCU7`OAmV{l-}}8E`RToRtYxgRbY`(1*Xfv7GU%+gxsqjY+RRlVAPVQbJ$t9dC*6?wm(Fvyf<32s4Gb? zZ&jvoW=DZ}YFmYMVr!FqTywWmRMV(Sc++OLu%-p~(54%1;mvOxBU^siM7MxNOe>f! z2a*YSR7}Wq%>So5@%({73fYYgU@N|*VrnBN8Q&;H8Jf~!>|Srq)iU8ISUct=S-vJn zp>Q}-EoUe}J7XZ-Ah|EkG`_dYBD$x+CZem;KBQ~JDX4Rkb3o@l7yr(yE&*My9fG@l zT8DOnd001?EC%Mi~R@K2eAzuz(&kIYiHTW>MdfFo>_Hz>t+-7x@mj< z@+o)G!VUg1+3UiT)5c>plGdi^#*XF~My@F_4IQbo2paCN_FFw{=d*g+!E5zi2hY`) z@$;3f&*~qReyhRMe>E5{=WQ;oMa=)FR^b^Cn7_AU{+&h#uy!$j?qnog^Ma&xr!uW> zhXG6ZoHb9uR#(BSSzn3NnGm^zP0`BH(@7fP8?$tRr-}{yCu@v-Hnf|0Zdh&Uwtl0P z%lf_6E*maeyR3g{;kN#Vsrx!G@>mB3%XxtFaIuMyBRB^0=pZ)Z9E_s_7{L73jvl0O zVFjsKkfW6D*I~@xXTg!N*NHEAx0i6-t{{oX`AFH&oe4^TJ2F&#w-;)9ZLijGn`_f| zo*OcB+%{!wKexx&Ztk+N{kE4z4qJcdJ8T7A$1R|wp+VaAntoem0dD9DfDh_0Pj|GZy^YsX~`s*1UwKs>5+dQhT-twrv z_{F389JrS=GmZ`l@563fgY^qo{{$haSU>VNbO5)p58*v4asJFp?7xT+n=c9!i!Yi~ zldpzU!>^V!y>AY5oo^ltn%@H$)W1hCs{BY|Qu>k0tnj0nMegS+7TKR;tTMm0vP%Ct z#wG=K*`$8HW0m~z;~$LUeb|d@umL^P|JIMdUJ&m)*aLyR5H`R}EPxvwgb+FiDRco! z6iv{?UI+uKGMG~pz!p7(3wj72nk0mxhlr<(KsFs;@yZ|o9SkdBl#w5{F!I46N|ygd2JYfAkQM=pjfKnAJD7LYIVm~s9Y+wh48Ds~t4>^WhUW_D2RL54X%bse$^*@o=l z0F}e|c^3H{d5pY8z9GQ=OAXk6{x7P)_H!AatwI4K%>RoHV6ivG9Q$I-jOk!%&j?07 z%wQ170(xm|pi|5a+VvcuwF-xR5LwFwT2ox0Ig9K>7Pvw4BytUTzztfjxqoSW<@&A# zTwjqdTEO}F|MCexmjZf<6fl*efF(Kz8}uNHeJQpE=!0y~2YE1qStu)*B(Z~0J_i_9 zbK&32(FyhPfc^-w4!zJOWR4ei(~+adMcyBJ_jteRzvTU-|C#qa`k%Mxf8H!&06ee% z3palLKY-CX3cfLUCiv3ili)KG5O`t=0*_5$ zBpAquH`S3Jh0C#(4aPh(Zph!-zPv!Y;SIGOt zwwnKwO{>5M>mI@PR>MMXttLcXTTY9-vYZorX|Yf2xy1?brxw@6A6h(-xNrGE{Ep=> zv0GLk@`p7D-?Rq7->gAkIbezY!4Y$=JNk#k9sqyz4}mxz0XQFi)=c2-#`e`SnDe7s z!iu-9*(+Z;mkB<1tQUFe&>{BNzF*>@-5SZiY&S^Xvz?W>YqLxCw#^Z_KW#3_|HtN` z{8iicvX|_BNuRd|$#V`Me#QYrPdkFha=;erx?=BvH|GC9ypAxurU+c0;o7vHVP=e< zf}L331o&}1^NZ$vkj895RG#Z zCrkMir$+q{Ysm02%7*1pgcs-C&@jH=0~3X>`Dcq?@-2}*=Upp*#N1{ytcL zG4n-Z_D>YR+$BNzl%hy^k)lm|kYvvEXS^%N)#yOJ^ARy3r$W;tj|Jz;9u6#5Jm6oi zvd^zweUDF{=DhbB?H%45bmqLa>TUJfuRrT~)?l;eUk20OA9ObQg8Gy{s7wWbA|kgO zaN{N5k9jWwvv&gK-&9`mJyVFh&XT4)$Wo>Lk!j3uIn|ND6Tn>2R7zAP7i$PNGIx@M*$6Q|WBwv`^Dv+aG&ex}(%C==cj6P^zN{GmO zLafxbxHN^C=scC_$Wo2Th+6G+VXeC3p*;qpAtOd3!5d75g0`6r1RXT*54vjJ8~nng zH|)D!UpQ#>MSxmgBq%Qjym1afG4I9Wo_9Jc`IO5}USl7^J#-=0N+rpe5*_;C0xPz? zxo*5WG6O|sQ=_CdCMPLuNXSwdk1Ny|jjhxfj&9T+j9O*b7cpqk6FzR%89rmt5w_2= zE$qBiYxon3wy3X$ZPB39j>n}Vs_k)q2mBW20dsc}Bl(ccNbVOhl0QmW$ju6Na=uE8 z9IMcz?JKol-BIYWVkXZ|cq%JgY9c*eel#^*Wp#3%#z113PH#f3epg(pQAcdAX=}`= zc~kVXWkb|1>$<4Z*0s?Otm$wzw7uxsRFeS{e47LR$12s8rl?gFXKR-g7U>liR2${zx0vSS^;%};j#;PW%-E*nEZ8OI zT(?WjeQlYZ|I0X|0Q9p8K^xIp3Pe!J=Tz)HD8SwW-2Xq>NFj&XaPPkpdk?yK$fj-? z%0#CQ<8ZqrM{kQWe@CN_Xj6TNbZt$vVr5m5T4_b5R$+O8UT$fnVOB|#X?k(DMM}{c z>%_uMw(*7g>|zTq+r<~XvP>-bX`EaF`YENLy&Q-l8 zd@DjfCt2SwMOo9Q#n9hv&c14uBVTj7mq=|(kW@ueq(VtUf=WSMx@Jyoo^D2UnL$cb zgGpj#r+Hk(uvK*VMw`g;J+=|$7i}XeURXv~{xFWM1pT-w(21`C?WI60ArEmaT*dr< zvH`Pq2WDT)zq8l}uwgYj85UuncDmnusiaWyP^4jB+vszQt z)0%U%lbTBO;~Q&@qU$@%BI<@LLhGiig6no!2i2Xk4z7D<5nBJkJL#_fv1HNLp{h`vC zy)gI~KJp#sg|fl3|!{uX_o{(d8`zV#*^eLGCu`%WWIj6M3k z>U;Hpj&~nuF6R->!==jqj=}Ce-2cb?If3;DF$1^HVE)0k$JWeBQ_5zv=mne2ShJ@c zxKlTJtW1~+5Q&)#mx$O9CmXUZO(Aeyo{H~8g}T>xla~A1K3$i!>-3%0?$CE!d&5U3lR?78YAwvB}K|>OOBlTY?-3VOrx^nOs|^V%!In_ z%ytc%nNu3pn;&b~Z2GEZy9rcmr$K2smvIaZqmSE(bFgs~^EY~!Zmi$9SbsP60N@!Z z=?D2q@QX|iBlJGNPB;<@LCE$!9&G(EAgXbAnX1CLRY|f{{I2}&M^Vpuw;Ileiw9?{K zouKKdZein7<03|WQeq$*-aY$3ay8*grXdK5*-5bU^5V2G9ewV*N_2 zpL>Xq#FKay<#`6;gJ-08{AUGm`%Rj-{H95qelw-o|7K6Kz3D->x*5o5aWjh9^kxdH z@y&d8gPYZydcUvY(*1pmTl@EIJX(L8Cm{p$ju_!&8WL12&msR2U4OWGxZ&(!`|74MW1gy)MT3myZ z=)llJRWE-3BUt|oJ_m9cGx&c9vAacx`70J;`i_Sfy%!<+@8yW@2X&(L!GNOv(SoA- z(Sf4$$%Cr!DS#^XIf^FpIh7{$rI;@9rHL;7b%;Uq>m~+~Z-*F!zujgK{`!tV`14N& zp-=EP)-2uwTkts)te=PV6V4J6e3cNl-_Ze}2Qhp|h~9T5^Z;B$9af@)kRVE!`SCdr z^Z~l)15D6E*r11SK@Z`B9wH1qL^5>+6rzi0L>DoHY@%_(0pvRJ5_$7Cy3vEx;`+~D ztbY#cUnj)%Pwc_ChqWIOqV|ChWuOvyV8fa`SW|$Ap??qp8L|?T2p?#mhtNY0VMaK? zj=~P^6jlhNFhLx8h+GN{>L~cSF7y!_&_nD*P9SIgMm?U1Qm{Dxi}i8rUC=?9KOjW= zDY}oB1nUwafrwyViU6=V-2Jt17^LOAeR*g%>vgCb!7bwb5!A$TnW91w3L97#jU zv1U868rg{8p*%|fWi<+@WB%7%1pR}$9u<_#XdvfA2blmmNX0UML^dOcRUpks4>HUI zq7%q8vJKhI2%-m()5s0{^@qr7SAro|2m6cFNBsB71WGrpyEIWMPCMx zk75AX3`USHWdi92q>~Ax29dSQAT^21B0G`&$O-)Cmy!GU@4ZAmBf$6*`LTrW_`jC| z>Wj58|LY?L3KY;oFQaQn18rM6Xm~MzYB(b(r!aw10TU?JFoQxH(#HY{Bgi^r6EcVF zL5?8jk=w{~mLCeAn7=CiV*acM%%6~t|1W^{Vr|U-#^@kSWDxWZCc5Z`EYSzKF@SC` zBWT4lfo2Xfs8_IndJ`+CccB{^L^re+nM7uho$R1?0KLy?_U~#p*}tegVf&!|f$gpO zFSgg}!1fAxiM&t;*5!a6);B@#V1aw>iypvQ9>MvrG^K&LBLkTDp%aQmCzQ?#`bBJ@ zSIhoWw~gb6ZZF3--C@qJIuo3qb*8yK>CAC`)Y;4RUgtR1JDn?BuXG-AJ=1;1^;q{O z*F#<4dY}uO_x1h4an9g!AEu^I>Pp05+aXU>U~p-8_ly zi&-uQCI!y-CXHNgO;&NgHXh)4X*{~(h0zAyXGXKUPmSjJ9vdCzdt`Kh|Gv>*{I`wX z^8aD{gYP$E;Jt1FE3P6}On?XBUJ96@f3R6ez!CTSU9kti1INM>*NBG>KBr?r|L*L} z_|YMN<*j`z`%Bvl&Zjm-Jddqwcpq4`@ZGoUUU}DIwZI*Valu>W(?WlkZx{Z}d_nkz z`5BQb=66Icn7_77VElTeJ{+N z0gE02$0SUgd<|2iybjT!J`S>=-wkkM{@pi-I~AeE+8@M3Su*^ATr|y z!b`y;sR(#r=J&_k8H(2txq|$R79?+Cq{yRaRm$y1W7@TFN2c>3z8oh5BY2PcCkY(% z%@*13T`a!Gt6FN_vsq?`N2lDJ`=G*Bw{gW;w@u2MUFTJ%U5}|wx&EQL!R@v3I**_7 z>pVeb!V4rPyg_^%U)8k~aK`NKjoCjKvwtLJ&p3SMKY@olNfacv5@gAhcs=TwSX-u} zQJx$N;UT{lzd(YIA`(x*pxz4wUfg!cxuwO-paM!gPb zj(Am(NPG=-hqOXVh4 z)5OW?R4wX}WJ{)f39cMFV*_}%Mnwv3jz|)l3d@pOA6h6o9$cv~7Sy0T61Ylrb-;l7 zp#QjLpWkNf9=|<0-F|0uI{hB%bOwA@>kI;=&R~%13;`KLYAN7>-#q|TdK8sBOQew7 zX>{^iCNsI7$wtm*i;yE(>eRg%W{f*hoj7Kbe0et}gbA&SjT2iNohCIBl`A(CQK~o) zUZc_*)}q!G(xbU5WQ}%P@RV*#&`!PPpcDFyLHG0M_*lV3dBbRa+$@x4Max7nf?9W%G?8r4{n9Z_hpG@~!F`g1ExF#uDY$zc~ zsxK}}t~<6+aaDAsN?TN;dP`)dR%67FPJQ@#y_)bjgX-`j29@D|8dgTU)2WIAwd!b4 zs*VBq>R6Cl3ivF}17`mOLjJ(qc_|mq{42!1{~{)GpqQV`7b{Y>6dEv0<=e82=eVyJ z&I}M7NQ)5bNlB1em7FfumYAp5oKU9H5Lc&O8{4i`71OU<5k0P78okA^IQoE5QS^1A zqL|mZ#c{thO5#DKGyxP5`K5p#4c8(ee!criBkWVq_VDPURm-8_5VeUIzK_&aJ zCu9en&#}2$hO)j&o4%&pf@Pq@nY*jVXJuP{h)7dzv}9d&l5AC0rb2l}fl5hwg?eFH zqgGyOmu^nV8iUN_X`}SyJ;rIt7mU+Vo*QJO{m{xx2eqtpP|nH##ic+HA1O7qec zigNRm^K;77@gP#I%&b+qX_>zMg}b569pT=I`B@{kCED*@*o?V%RPJfxsNBbfG5KG$Z(>l#^z=l_Sy#5 z6%}=Ug2lC=V)@lEQaP2$av2p_N~z^Vs)=RQ8gZqq+R-HgdJ)Cz48n@H8-^C2Gzu+# zXb@iVMLVJd)FVqlC8`vZmhv$gJrLdx=ZbL*YOwde347n$G528p8tGyr{oMkjvs;nU z(xuN(x5|pGqTQJXAA?$%*BmU8)fgp_){rQZT%Vy3Ut6FOQ&XuPS>3D^R@J8)Ts5H| zSUG3lUwIt)OFyvcvsO?QsD)I6GNQDU7x9GrhVyW8aUC>Z{{zrPK{*(<}PSS&DibIdi)``7$~Kgz)%kvBdT`so1tOxyaT$#juugmEh(^^?;@x zE#IcKI^K<2b-fyo>UlQa*Y$4vr0LTLs=ke&%n^MGsd$l@5__|IVd3G@&{ zL+BsY;QsF@H>nwwB;}(T)WQ)Hrkr6r_Vm?mJV}FoE8_-2g`@go#KZfNr9yhMA|k((+ju{mF2gavIhe!x zll?dcn1Q=T(LZ1gFW9wX<#(kt#-esgy$#Hm%viJLixL!jU=1agS%Qmz%?7}TN% z>%eC~@cXYt57UPkv;{px1?KSFSq74^g^#3ektK;+w5hSPW(*NC_ADWrJvah4`}6p2 z3g`2hju&vBP8W9BSSaSWu}0EvszcglYDCs*YDUg->X4kp)EzmC4IgAI*Ml@7Ww{O{ zmvRQz!M+w;hdBT1@cR#925-jW|K8D+2K84qIXWmNdomGMsJKKfLb`Fc0?A$DByz`Kl(at-fM%zD# z8qI;I(KZk<+WL16TTY{#=GF^5JkP>BB#CgO9Hk9Z%I zA)d!HDQ?G1sLsdiXb#8R8SIV)Fj*gsV6i-!$Yyplo5SR2IhWzlRv!JMt5@h9-NdVN z^bm5FSLg6YUhPA`r+pCkv=028-K%g81{Xabt^usyfEl=C2fm?nAAbKs_#DP@3UNEb zKx{9v6Prr{#QKsPvAm>BEH0Z-%q}}nOfGv;jjjaI^smIwb+4o|XkRI2(!A2htbS#H zMeXWF7S*clqcFE*tMz^-&2IF>RyfPFx?{`zqIo3MTdsOD*ly4 zm48q{lY7uXlX%E0It6ltY3!pGY??> z6L=OUdI*O1UaJtf*SbXJjVY0OV@D+3x)ZT? zffSK#2Mn_fmO3-k|b+cuigL?gw?n8~7VTc>lHG{8wQ8 ztbq6=KYOu0Iw*g1 zK#so=VseWR&HGsU5&DNW1bZ(CdJh)#9-QbPc(I-kItX!e5VGhXR0s=b6Gkv0xM7dJ z!2`h`hJb$nE*=I1xaeR4!G#7m$Z+FtRPS7LfcPBHVtxGX4u240e3uaQhv+|^5+eMP z5dNP8T?@hQNX75Sf;BnNdvFsvUJC_X2*GP1cr664g@6uXhBzVqNIX)A;15E;n;)hS zyy=$!a_Aovl_;QuD5_FGMw{=ZqQuYy@y6;WBd4h;%O8&W~imI`9tG!TiPfnX{P1d8Y& zP>Zx9eRNnkf~-TPk!{Fsx+S-`4b}AyUXwP?hlV*7RGn#{96$qw zSUSjOGJsqOdZ9X`oe^aFkP&18nP&VcyN&UO>>kGNvPT)e%3fsrB>NZRJJ~l3ujIZl zyp#jR=Lnu$%lPzP0Bx+Tk6GJL2tf~EjALSip3Kk~HJd#;A#XZpM$kb$g#py^8Gou) zGJR8RV*0Am$@E!ekolv^DDwxE4b1OVW|-fq>|}nUa*+9z%30>;DtDM4tG;4>p!$vZ zzACWXMQ*DC^CGvF0eZp&j4^AQVg9y24`3yM;JUEXrGOdEhp`*&hhZ?o7yUTK4|-Wl zZ*@zUU+dJeywqu9d9K~V`c!*0>l5v9wny62Y!9^O*#FYr$9_-y6#E_RKiPlRe!+2F z=L^RbZ1TFK1MC-&^SZ!xZW&;N_07>gSYiIR!yW)f91}-bbP^hrU$!RH&(;pKw-&w( zFU%tupO~gFKQzf_xo=XzcGtL({g%-xjz5h0Id2-S;kseCf%}@_EYB6gT|AczkFL02 zcy+}Y!zU|F8hu`I%m{dn7z6iVW8gYu44em-0cKd&8nd@OX5U2*;f~kjAwhn+D^WhU z>QY`fT2UW4xYO_2g)shM8_#mXI+Oj1RT1Y!%WCfPmd!k8EIN5lTMY7@G#}$XZa%g0 zsQEU5!{+-14w;`7Trj^cxYzuhz%C0|xziH(c31-Mb}QgPxR(N!Sl1rigA3+=FT9S$ zehgnh^4?dPJoQ$i-19V{{O;jIyW-}@bj~G`?UYk8=W)jzo+Az=ya(-T_!sP21oqi= z3+}NU653@mF1*ublgJL6dC@tWV`5uvZi>&?ycFAH_d|H29SBa@!%BpI(gApv0=DQq zoN>R|6LY5@UPmAY`5eSUo&^e$I{~ufT7VwqoS!ZIgs&&_Veb(31KT(-y2LP&%>C=<1l>ZUnu$qbV6ssG$}_zE$9ouuFSgv1K79w zNAhg(P2$_^lO?dxt5A5-vr=@OM}zpdM~CE?`+(FMx3x0EZkuF>+;+;6%?#{(pKJVCU_3xpBDrGV4o7!dM35cgWc3Aq(bBR680$TjT4KNBrPj>M=^_C=e} zc0@WdZwd2ZpAHG-*$^DdKM|NJI2MpAGU8Vvw%WHwa?rO$y3eOuw#R!!uFGpuVU^c* z#dfcwN^M@Zlv};u$+!4|bc-K|xA=o7BD@rErQ;eP8nzo=NMs;q@tKSx z2`kCoL`BN>1Vh?PoE_6tj3@gJgFze-T?%eDpohURh`_9aKjJQ+ z12~EO7)MhW$o|w7WJj7DnMu{7O(t72txa%aACB|q8Hfqz?}?5R?2JqmX^+SiZw)Vz zY6`27tq*OLuMO!{tO_1et_a?&S{A%dtu*+edP&F&mD123@}*%QT^0@!h}cpV=iwt} z?|U(XT*3OM)A8^6nG~{s=K#!Of6i={G?~iOrmju5U>r_$X6sM(;qFQd;cJhN7Ho-2 z5^0Rd6t9ael&X%Zl&y?xk}r$sQYr}_Q7H`HsFokTTRkuQoJMZ=Q?o7texpzTy3dA zd`-!b0(D6VBGrlM;uZ0EQe|;vvc<9W3I#E%l=5O$t7b<}s%J*eYh*;9)<}Mm{^SO(`Q`P&GAvy?S!|c8#R? z6Pk(f4>Xb!KP#mqfm~`5NT()) zELEm-ml)F9ifmXK3tTyC@_biRPA`I$1PVHAs zNSRQNOPSM%O*y6+opMhjHuaNod>Y6jG70G*xs*@17VgI3JYfDml8%Z+={uT)S08a*qf)gFo-|DAW|qNKS4AzH(eqvCtoHxyFxx8 zt4S#~t5+pDbFErr=2ngH%p)3MnRhfIvOX$DX5p?-HpoP0gXB_PFRq2fdBAmWpcuyh zYtLZ*TvvzLyN*VB>i9@|y&R>fR)9>AAX7A}}x5+{;UoGPAJ zlq(%qSSA-;(4ZKR->n>)KdKs>H>)0$cSt=j@0NN{{(I$+e2@<<02xGbDbFI&1K~Uz z$1&Jjj$?rJr_ck9HWAW;e+_NJch)qvNRgUmO=@|Q2}4nX9cymAJ7;FC--^_l(3MHm zF~adx$zsu!*^&_zB{HGqb@D-Fok{_vYgGJ7H>>)T9#Hcx{awwc^qrDlDaiSkf^{jzu!J`Ib zJ!?Q3kyy%YoQKnRFYL!Tn8WYC{Eg^bE2i4eNOWQv?Z!0Rheo2GjTH3@k-UCIN>;xf zEw#^rF|pT?HMYl-BdR-qC#)-+Ke#hqFkn@>h;K)MxL13XqTQM0|4C9XU8U~U% ziYHT!%8;Z{O-kGv6MEDdJEpJ^H`d@`Uygv)p*+4rF??P_DFW_;xk4@j6{3yy_U4@{UvVQ3t~1sAi9)ui=$G7D+6a_1J+-SW~LLvN!=(K z0SrsYn9k!SIZ4cvD2bd>p@dE8Q-dZg>Hd>Wj6NH@SUfibvAeC05M0VJygTP{RZL_3QLNvK z-@OUVNZAHVq|=zlW^q><-{cdpjgR=v$q=78O^WB73Ds@Rmgcg}jlpr7ACuj-FczC_ zacq`bGdRq*7IT?wZQwE5(#LDCWdoo7mfd`MTQBqJ&A#T-o%zM5yBYX&H~pP`I0su+ z;mXAN10y&G_}wcppykfsuJ{~wMa<)q341BTX+H;X+%H7z7Zixyf)24+Fr!#4I8ZDW zJgH_2fi&ZVCSbsIv@4)&s_}%lj;v8Ty4d07h8E6L_j!=l%Nk(FLnwuD$#;%An3PkUW z4$(bpMs&_P5UsOb6wR|C6!mj)RMm4?RONFOG^KN^=nCi7(&f+Zpv#@VK$koFiY|Nl z2cyg>V3IlccQ)esTZ8qxuzuYpLJIM_r|iZzgkWv&BUt|gT7ffoGQ>qXQNgzf%irW8 zayNyD-0yNk_IFJp^M?syN2LGsBvQ9Rh~%wAB7Qrch}~|Wh~62b2;bRE5xR4XB6#~T zMexrr6v01$D)9T?8N>PS!TJqYf6+>%;&+cYjP?HyW9I=C)z!WIeed*v8HQdhfEBQT zg`$Acd+)vX4$_pWAR>xjK@=24RIp+1y+@5PG5=IGvBqeOF^MIb`#q5G#y8)8ed}9U zzuXaJo^$p&_s-eR-RBOpouO@W9Xm5VB^v)Fk>PCt4Sy`BVUIOQ|A*nE`@>k$c`})_ zo>-CQj}D~q)SJ|vhLh^E6jJK68c_+z#-b=EduaWZer==)H0(Pfou@2my;35LSE{7?TALKFhm-uxXp+5|KuT|? zk>n3M68+&${C6S5d!J0~pT$J)8v#zTcNpAvushy81Mk55|Ii5i`Owckj-5g1yZ<%p zjJb(jG0--Hwh^>-9}uZOfg|yj;7ADJgea2~j)Vx+8GP)RVYrdF+>Hg3fi-Xf0RSJ- z1CJ;gbR*CX4uR%i{cw2052%EGF7)H@R{=M$E9i4LQqVT}9*)dILY$$ErYl2V!V%mT zLInsP?;!y)pa2>`4;X^+U@EW&-XI#}gL=>odcooUf*Xl!(+HIi1B@_XINiw%r)I@) z3MYn>1u&d)EW=5&SWZ$37J#J;Cs_qLz$UN_>}ELeL2v?G0-uA2;05@DI5GDZ5)S|N zf58~p|7c{K0~n(n!{E;7Ok+6BIcSS7+7iWb@^mm4RDs2y1+;?=pa*T;0rrBU;5_&Q z+yl>^1Xd8@=E5;`fE>RrI>0>D0+-bx6jT&t_S?XQsuxC#F^W$0m#T4^5i+ z4@_3`@0oN8zBAb@xNEXQaNFd7;2V=Og0D<&3U8S{65cTVO?1tS6MY0OgG=C|87KS@ zZW{Ehkd0fz39yATV2?K0Ar`Yt=#9+`<`+vx=IL}l_R+LR-o2?Qyt@|p{BJGF1z(xh z3O_e*6nduY4NAhaSKk0 z?^%`}vEU^ChO>h1EM(*MxD)P(b~qy*PP+8U(U^XkJ&7LL&1CM{x-(zR3SmE;8PEUN zCR2FTx=3`{dcNeM)k5ict0hWjEmtU?wp=SaWw}Xq!g9O(nB@VLBbH}X4qN_@V!!26 z#U86aRCdFS*=5bic3N}F_`YMM58-A)*B)+!6S849w8KM2Z`@VsnVTNna~?xqIZvlg zoSm4Docwqf93us1<|KWcyKQ^aciHaN z*kOBIqtEu5<~G}hnmu-})Vu9*2HA6pjrN=hkZ+v*51idV{|U|r(JOD3p28h@f(nIu zsF?ZOb2we|noJkG?3h!Yp8TU8A;N=hagu$mY0CXBdGejkrHbv&RjR#Ci`2I|Hf!`a zwrO=cbZKvN=+oKYa8P%>!$sW=hr4=f9bam%apE-FoH=!%3KXk9fSV&2EV_FI~;??hRTSEfq0XQ67BN4ffX z_ZrO(_r=<4-CA|lxUJJ$?b@Ti(shr)3fI%aT3o*v*6j9Nf0_HAI?Fsbt)(8E#!^pC z?L!7XUOb3?fd1`JRG>%TPIv^Lu7u)S5JNTTNcdRV8$N^C8S2R27UCo74hofa1;)xc z15y=h{c_aXeCKMe@~zNb;ZvvE;=NRFnRlB(lh?*!jb1xPEcQA!a*@}Kk@a3bj;Ql_ zr(fsG=>RRDQRnv$1BHjL5rg|7$bO=52N+q<`B;1lVYGmbM5)r=7-QNVW5M)9+w;02 zJwzShfzmZ$k@8iciK?x^8S2eJ`C3Z@%XAt8YxEid78}(2uNc12zjH*bU$0@c-yx$) zzmJS6{2v)s1iTqm5yRDBMUm2ge)w9rM>Ygv^`-Y z^(0JYHpI{3t&MXPu8Q%KwnT@?mPN*?E{RB0ZwSxPstcQ|vmmrWuO_74pfaR+#Qfm3 zhULLqj7o#|8y5#(95pxi{;0VjuSOJya{9$#oG#D?T0?N27>8g~z{g-W2DDG7LO%_6 z|8U%qBBP#E1KN-}foV^%=B-R}5;iAzOP9ol$Qt6J6?HL5>b23CT2)a6Iu()SdgYO| z!%8EXM$8RwGb{}6HqH;rIbz+6N&{wbCl z7omF`+30~RthI66lA%N!GIeQfrU|n$V+Pxt<{)TH^_0{n2P)SlMJTEg;??KJr)ieO z$N zogsen!>*J_j00kDHUn-z4)UEmg6U@49iMbG$JFR)hI1~!>Hu=ouiZDPmW29|7uKP!Y@Wi ziQMqyL{2{?k<(2{;&g`idEk5;7zf1QB=ipyU^fPqUp=6sKtQVsG-!F@C~7P)XY2B9 z`PI2D;`uo~N~KvL^0}GOss$N|8oBA2+F9uZdKqc+3{q3;MkJ>!H%dt992J+meROQ{ z@i8$epMw`hv8mkfxKz#{K9$o0xy1-Q?^tgM_RF!(%g-8AfNW zGmgyY9UY!=bWB+0r(?o1pBqPHaw8(MID@DxP7mk~@i-jLP%_2=F*r0A^8op8PX%HC zmd`^q{yY_0IDa@*&!51|n`gxVO9GTLi^COZbK}&Li&C``3UhSg3QF{& z^J|7j_9A;vSZq*Ki)3#2D-= zgELl%c~FDAuNHS=t5JV}n883dO!jtD4eGxRI&G4d@wXzWvb9XvJkEq*`Tub9*KFXnVVX#78NcUL%EC0+06P`{M0&UVbVfxN!-F9<>&>G zDiO5_YGE}Qn!(kD+5uG+dcIW+2HuschI>|S9_e0rz|gJos-auOk0abG-WhmQaC$)3 zvx3tZ;#LaA0Wmm$xNnF4#sHL?&sO6&t^F4nKOS zhbW@SUmCh3OgXqQP9>l*Rn2#Co`zRLxwd;ly{_w`mHN($HVt!Jv~QThqASB3>Yo@m z*8QR9SjXu&)p6QR3;*F7t_1@QVL#%(WicuemLdktaD`ft`>jOox0)y!yQUJ_^eL`w zJVm!nW5QS4@5*;ZbTkjxdwNH*TH{SkNh7y zmclk@P)L^%1$9j#|1K-Wx66U`+Tg)=-w+^h-4HHvTAv_sSf8n6-#J%q+gYoy>0GXA z)v-a%vSW|>jLu8yGddotO<(&~ZF)PWHhm4JI^zRQ;5_KZxNnC3+7);*M;qn=w2L<& z|L#Wqxdr)OFLoyM$;qQnkKFsll53v@Irq(C9Q&M^Iep%&eP1xowl79t)0Zl=>Man@ z=&h1W?Omp1-n(9TO7Cvv$-NhqCvSVCJZZ~Y*`yv$Hfi&Ja{zOo7xC|e{tEQHz7zQ` z^5C4UxGTRMRS~;Tm9Pijj)5n)*d9=&SqFxb&4KY`eQ+vS9kitx2VH3TL0@L-!Ena> zU?MyDU=DBM!FhbMgN*`{gX;w25AGC>J9J(!?%+eg*!^!rWA<{QF?%@ihwQ?<+X(&D zNCg|w_lh2PKz;C_b`yo|L;nw=D&r`2W}IMX(isU&IIBixXNQyN+3{p@&Vt6Dn?>W! zyU^J4el+HMB#pk1O2!xFGDa8bn2{ISm=PEHnBf;sGs7?3XNH}7%^IBHcm}5j;o~^S zX6O%AM|BZZBklz|u`>hO;fL{L4&=gfPC@@HJb;U+O!$aT!*57Q{}WZxyQxRIH%F7s zr;~s+X@BNOTA%rnCKe$Yw=zim^LeE9Kg&q?2XO^#7~@(=6K z|K-rHMeK{v_f+&d0@~iEp?@A8z$NSqxk@zZ2C5=%p)%ns0V%#$BE>yblHb<@#w2?% zfs`N2Af<vZ~W^6@H_b9Kh#6N6mu^92+qMX(7%kT7-(C3N;K{Z zqT%17@81!r+$WMgCK9|Pcq|M&6fthi$$%=*!k>qOF<>%$mzhL=x`A+jc5rA1hjwt7 zKt|^U4uUQZT=<3{x){Re2=~(e9BLt{fy9VfDrxzAFm}q z4%C1SFa)Mx25<(U03XU+6~IN0>j8TKME{1sm59+}(;@DMS9oPuAf?a6y0dN9b246$<3B9A=2V3!q<>(cU zqu=>|Bf#-*I3xHEM(`gD!En6R8HmRugmxxk;)eDF!w-sQIHhb*3Ti+jXn{wx2CPTi zHiJHZSV)i3d+7!GL;4xLl0KrB(qHLkDM!zhIQmJMqi4z-^KZD($o0qQzzc#0VTj|% zftZ+LY-SKX*gM%sa(O=B;8a^G4Cdyi#msepl>bepMW# zmx?p=LUDthDIU;c)nDkL>YvPgHIBIlzWw0<7G?e+)G=cfjB#XIaGMBw+Qpw&hsbjC3EahD_S;@O% zvW|DzWE20Q$#(vElLP#-CT9g_Ol}EInEog@V){mS2;R#9Gfsf-ITq~u7u-}-WK2iy zZN(#QCfWf%;=PSJy|5fckEe~NyHjV-mln?S$y9&lnne_I*&>C#V3Er^XI{cTZC=Gc zXb82QNd(0+|ci1Lf zaKJiWxX-#ww8yGiyxVG#WS3R5bcbb|w9m3jX`5xQ@>a_OvL4IxvTn=U@-C|vvi0y^ zI^n-`SaZ^K)|})+I2%-CK>w8^K1N(nk>JX}dlAx?_DXbZjxL>dG^G=cHgwq0mD%qQ z!0VqA$=^9AN!T|#Q?$*#P|{;xF739fRoY~?Sk`6RDqnBAPNlX`F&UvnKyVHDmo6|y-RgOy)D;!s=wK#OC zH#=EC4xQ5UK$JaW~!< z--6(yN_%{bXuF>|ZSk{XH~PBsI(-5JYrP}IZC(k|m7eL!tsZ%@r}hH(yVgl)T%r<1yBLQMo z?Ga+|c?fbHeB_^u!8#lC<8?2dpwb<#N1YKSv?jumSrP8QYYy`iEC~$~H-tn=>w*)M zYlG6|)q#16%79X}`2p1$W&Vv?CH^aQ=K6K%7W(bdFYr61pXc|rL7x9Fx_JSdW?mqt zo*&4m0>uz7T`>-b!Ho#SAa=liLEa0t$Kg(Vw1hfhw5cs-EVaf=W0t}XS{&srsEhO$ z)kcI#tHNWI=ZB@p%R{pjC80%Xb3-aL3WFDE=Lfgy_dmc&uilwi&@ z#Lr?E#JTXRV|_&PV}d1R(NRjpQHipm$P7h6WPw_4M7c(G#6s=N@Mhig@OApBVZ8>) z;YWrgg?|Em(oc%`Q#(0=(@c)!)KelkwIQD2T=*&sNEo%vMcKEY?U& zsMd;0SfUdX-=-H8-(wIFe_&X6{8jM8AR^(NPGkb71vH`(IQ1bO;#~X~b8x^5I{@A7 z`IrZVSnn605IeZzuMu7Jn-!6|>}grsm24rs1_siUC;G22Lz$fz&Ucc4x%j7iu zGdT^QKEyW|hl`j8176rJ=x;7Z?mh1>52glfDZ}ouqEZdYFEgg>vPn!vsWqEg>cC4Z z@esrn`-@|W!=#aOW0k{-QdL3a=_cT6MhgyL3JC`}N%OFMtPn9{F#y zJ@YwDpzf8=sSWWN&c`!|!G6TQ5BeJ`k@r>O-a9C(K;DJjTiKPWluR`?3TDni5|^P`ml=OxSh=4Gq+l$WS_me*>ymo3+FEnBbcT((QcsqCDN zW7&Njr_$G2&ZV4&a|x&BQo^YYaSfi}am>N~Qp`mxzt=5*|4;}20ThD_kX$dLgnC_y zT{M=W7g;b7i)ON+^-jFtdM|!JU7*mnE<)_RFhT0EAXC|G!CV#R+GU&W~c#Sj+|gM%1@?dbo;g@{1|V$g_r(1aK)Mee%{ zxyLdIg*R(ZD7={9Vp3QnUyYW1mefjRoLIp0%Vnt3%(sty5SxZCABwI<0Ei^qs=8@ppygVot@XVGucvgPg=X+%q3BK!4XQ#yo&--ExdW zEAD?IC5c&$Z->BBY<vV9?VjwM_CTKfnn=Fwnq+~^ znp}}p+dT1%w#CwEZS6`HZGB4SZ6}q@+wLe$S@oOJl$D&)log=$9}blv2Izkm`o5|e z`Tq)dFwo6ki!tax{=EVD-$vYn@0QS91u*^{-%!`+HcUJx5u?JzukiyI%4}?&NqQcX0d> z+y9{#`h&Gd=zIM-i~+Q>wx9+8x~niQksnq+u;lOXwo~GNxCQJkeJ=7|@id5mK;k8+I0 z5sn?As|91w20ykFUSu~spkC|@f_5-;-JxrH1p3FJe+nMJId}jU1*HCw5~*HQ1Nx-6 zI+|3jO(OXYyKp=9!tvCb4lrXElIDhCdu{fB))zDJSOqAKS=Ts_g}O@zX|%4 zo8bW=HBa0N59%=Vp=%3W^Rw^(E}#zK3X%3TBGpfjhkq_0@t4XZ{8EhsU+EM7t5L-J zdLl7jTcI4!2@4{BEDYlTF0{87;e#0y>ki)d&UKUw{)FRO!2O4182f6B`+x_Ov>!W@ zpzVGJH8AH zyu(la_+Q}kMxyD%iPHiKyq1n8jz1ayau)Cap&$|Df-+DG8bJ$a1D&87^n!k99frj;ULa)eU?XvZyu|U}aKn)68(>F>F3^A%AxAuv&EUaU!4GnVzY>7oiUAp* z2n@uc4lD&L(8IM*=z``JXzrxn5Q~>|63QQ8*zV9z`0pvb!Soq$WdIzdAN~b561n~e z>d`jPo-_l)pF?g0OeLDdBm~TFSGe)j&4Bx>} z4*vzm;qYP%Fh_LY2Wi+~p19FFMG(DKiKSmv(&>dtAw8GRqi6C3^rO6yevr4&Bl#M7 zDBnQ$55@BbIEWKbHQ*KbIx!TbJnnvIc?O#oHW|S95*`39y7ke9yY$m?jQ9lyBEGoKiKs* zJ8>L>nAI|vlcdV+`^R(PYqxW zSVS^=Et1&X7Fq00i$dOZ^KxFFc`bjN`C|SS^H#xT^R>cm^UcDI=DS53%uk5cn|~r& zXYoYTZt;hxZ7L^PJ(Ux#`U?S$gA6|W2>MTONxL%#^#|Z%JA4zPrI^lJYSMA*F?7&o zI_;V1Ks#r8Grcw;>=v6?-e&6*-X`lDewX!J!FsFt!Vas2qP12{qBWMQ#BG)vB&#g@ zq$?~BNn5S1C@r^optQ{Tm9z=|%Mu$-3`8HoLH`Bx@8RR_GdJWK?x=roLC!OqPe<%f z|1jH-cFdVVTODkv+rf?5FeiZRm>t1eJ3F4=W}hxtWuGTpVOJt*v8xm}+bxnVvt6## zWV=?m(Y8m{V7phg$o8DP&hD;!f!(jNT6<0jNNemlNzH6dJOnrMuaCKJpnVmW_Orgo zJH4^ab%X!l4FAE^fV$nxXoH(It#xx^+FZTa6)qvX7MEzjGUp^=lXIr1(WyYv;8ZTH zcdS)f=-8xO>$qB8?XXd$(qWgP!r_!+p5s@l<&G~@%A7b^nKP#Zq(CynZ-~J|t5lxn)*vr)ZB;38U9Tv1-L6*TdQ7d*?WTHx+fS%) zC<}}b76- z=M{(f@e4ykg?XVdqMVRqNmfXfQbzDxSz2(VN=ndT)uf=+>Ip&J8gW7UG-HDu~sl2M&A!$$+IIFF#v1fM>OMS4bgI15Tj33G2>|- z{GgH;JGL;|g_jrQ!_SEf7Gy?7iqazzB&iV@O3C2`vc&NDD)HfqRAa(cs7Hrw)QAk* zqZtu)K`T7$fo4Sb8?}gVP7xW-$$@N$0Z;H6#{WbdJQ!$iOGECTj+_sEL?hx+8?Q_i z2|84kFoxzPm{UQ*OeQDZiOr1jCNipK+#1v^{VvcfnLa977 zVSyqjez{se{Cai&_??=5@ntSXz=KBrQuR zD6Lo)kXobSo4QQZJEcS2D`mTeN9rkXTf-yeH#N@`P6f!lQaITVH!<%9{J6cD7>9g} z!`#0-n8i4jq8)i4BTt1=^9(3Ce;g&`Po>!WSxj`k6C07|#S6;|6olkP2m^By#Qr%M zQs10HWv}cixkq-B!YzBPs!LX%nsfFEb*Joa)SR<^RdvqdR9vz+xl1M|8{#VF|1r#g z-O$>MrSH1(zdV>a9E(bzkDnzKD^pyFHpP^TqNviz6kcl0gqF@>gG=1mfD%8xUva3w zr#M#RIX6}8J~vp=gcDoT6rolRbE}LJI9DbM9V>Fhb1KRub`^`1X3bx%JahgQnf3f5a_frEW!Cdv$gImbWuRnT z_7A5JgFS`tAE4g>-IfK&ed|zvP>=d|5DS9p8S-5uC+|giVB43EaW5> z3qb8Z9L~ixp$svoK@6bRv>3VHl7TuH9j-c7CCS>0_ zmF!w)(X3V{vT5~VtXqQ_%hnindTSbQYHJbCyrq^uxusPwv87u$q2-{^tmPA-+4AQ? z(`B5{bSY@!L__Swm~VmpxI^;B?Lz|{|8qw5F zGqUKMM&_NiG^NvpCa?FUiR;5@!umwUbbTH(zO#}Y+u6*H>Fi=hb?#@4JFm0G9Y67m z*Z#>fYUlVyYyM$7;=cj50EN{ZGZ=Z6md>BY7lym18x=2_-!gQ zZkrB`?KPq?y=FAJcN&fAwIkzRS2F4gAj7_B8rhdl!~05USYIRQ_jQn7Uq9*gT_N4x zr;P5__l(XKj@9Y;hs_P}r4jRGD{xIjpNl#%1{+ZW08QU**axv4`!IGQ2i}bwd@t$% zP?Ms2P=$03YLoUsL()2ELYk;c(KuvF>WAD&?NA`89gZi}!+E4QTuUm4SCjnkc9I=F zN3uhYNPgfClJDn8zV9E_A@(iszUmO~QuI3m+R=URfOf$H+JmP*o5c@!mzyp9U zpm_>;@L3@#U67OXye3J`4=3^YaU?pAr&3&)MS=@%0DC|#U=PTJVqz{dqA(P1eEtBA zH*tIp-U04EtVHY^*8Nq7lZAfALOWm|^bbM*DB^zt9>8hTA)LcLkc;pjt`Phbh8WbO z&JMb{{(O)a*PJpfvbag+1|8gB31iB%(MR)`j_=X3+1?{-4g2k`~w&xmPQ9cTu z$V4p6tl?9j9gp#0_&5U#c1*e-+Q1F~bLEHc!7t#qL8><6dW^qHK+J=V4eW!0{sruV zL4QX=R|~o-pQG;sx_7`m@Blmlj~Oh;MOcu^;J2v4U(vw=*$`fcDf|gbcp~-VhXGz9nI(f)R69Xj`GrrZ?a}eFpyr|4fE|Ht4@Rgys+6 z8NiStv4$2vSLk;ZS`xgU96pFTk|o3hPfo=RWZ(kOj)AZ4;ueB-&<7B34xI*^>PY0+ z@E()_A9+9Fo<9xv54OM)gn=aR|KmUG#=koR25LdBgYV%D{0vXxkN@&M-r{dQgwsHN ztELCv0f_OM2HJsp{$veYK@f-onP4uc1Or~oQm_KFLuUhYdf-EBht@v04aea{T!#Pg z4Z`#k;d(vjd;Efb{Q~^_FF0-F`kJVLP=)uP3@<_e|AF8?&~)Gcd_g2g0ePSdS~chg z{0C}=&MN4vgU7NFI$NQ!8ybh;e4K^)r|>-z&sA(A(j{!d@1bvN%ZYJKXh<>5@&{+VTM(8Yu$FdqaozUrq&UU(wSbPsJ z<}PY;ZetREgWvcHk@^DfG~iO*f)6tYYGiJKLEpmwzJs$e>wjzI79dkBa#0bz<(GfMcoPFp@Z?!Fs9#CC&P2G zr6+QCdLRp??_{y`tt^ecl;zPaSt)%gtENw6i|Aw7GP)*TMIXsK=!$$ZU6Svl3o3`{ zoZ=FlQQV;usEIiWALg(+M+f1*9QYU9Xy_Z`6d7O?+F>ZA_rp}_g`Pe=)*4ISX-uQ9 z)E($k4IjF$8AcyzCeS6V3_7n>Kxehf>9lqYoziKb6FSXwOs9>G>TaOJy4&cW?mpVD zcZT-qeNMaepD{ZO-Z6c{IA+`5Y{hYi!P9swtWy)5_TbT2h8`J7=>9MTeW^c;J{~rK zE)Snc=SI5G$&mqc%rJ@$8z#{~qb%BQR7iV`=25>*}VHl5FGGF`xSnKrTOO;@s= zrt8^troFs&(*wLUW*2#@&A#WYnD86FWdg@r4w@%|f#ctBlTrTw-TT(~_?U(Kea-Y;mfI3sMd_(s?;^%r41e3!bv;4hrY{fBqZ{}KA%%tpTD z2yJj2uMgQUv}cB#`Ya7-vy~}zSzA(vjU%<&crmN3gP9f9QEZEKBHL`8!CPvT&s$<#iwi~l_wja}IAI3J=$MWj! zQ+NyQviP-jMS^O(`NB%udeMB_<>GSNb&@jMZITk(L(*cqYtkaSC(=Uucj7{OP6UJn zAMnBkABRpD15ean_#p4~MePBOThN{jjv{Jz(x8>jM%3&)nU=WBqz3Ghs&n>cYMq1F zYNtqEg;N55o?|+{%rQ?;>R2i)cB~N>IW$QM9M(wl9D0;;9ri0{J6=}Ka(twm<@8pX z>BNbF=tG{`;mIKA_eE$Q4aB|HAoL%{F8q0oJ8BQyPjxK@g@To+3+T~{fkyKYiWb=@ONaXl|fcDoN= zDZ9#CKUuYGPwbsY?gljo8ceEOY@KAr}(7`ll*c;34W#GIKKtbSl{K!(Y~FsNZ%du z2)|SEaKGCs;eNjEV2!Boz;m3)GxPx)O46UQk+#Q45KMwg8SP_ld1GK9uSW0Cf znlv}Whzdd{Qf`P9WrfUU(nH+X)L>sWIXHxu7#z)y4@wfm24#t&gNntGK{e9wpry)T zLF;58L4ESzpc5)VL0^NHvY;SNDL9Ce{EZk#@z)rK^Uyj3%^mT`{gaUUgXRRR^&_#? zjSx~%gc{{VjG*jDQ_6^(PN@-gOj3jklMvy}#)Sv*V!|W&QQ--Ki0}+ySXhxbB&ROEbVmj!(!qDA<=2Vpy&c| zKy-z~FKV%pPt+P^uc)mu&*&p^kLb_93uVt}PRTQhlL8445AZS0ffI;9Kl;8U9pjLN zaR3dO@IUagoJ69uL^&lT>Qa2-Xo^jmOwmc!6qz)K2~TooLlgbj;KWc~U}6m4KQTq% zn~*2+PAHdnCM=S=C#+U-P3Tc}NjM~PPWS{oS9Xr)q%QHCx8MiG);<3H>B|N2^5+!oq{v$n4k<7CLrCL^-B-p`J_kj zz0#8e?rGUV*R)cRb6TCmF>R&PA$7CT?6iZ*_Guq0+o%4dG&_}(&Q9SZKs@Jf&f^?7 zfHCMr-!~M%gPDuGvlw#`$6T}}32lkY6;WueDh1~bqrkjzqohkTtz@rgYRN~Usl`8vrp|pY znp(t(rWJ9*X@!4r7;|t3`nnPNZ56mCRN={>)u=zH!8qU;0sMe#m6V*S;XhOlr#Us_ zX?Be{+1J>RZH)uXs_`J3ngGVCCX$&^lgv)5$>UknRPv@&FXd0JUeBLc-7lC>eF^-) zpHTTuFrk7IOql-O z%OyrMV~H6}UowrRF2QpsmN=7nlMhX43Z+R+@yvuJ*^KFua>isyBRg)%I(E#GUF_&3 z7ueB_kJ-_S|KN>Y#QjA*j$jAIeG~e=dLd!}&6*{M!BWJa8S|h8`F|_&{}sr8SK=Q0 zDltu1tx9IA^~iMfC^A_+fyS?%PUG6_Xl$D+jcN0z(QT1r+?Gm4ZN)UQt)51-tzm|> zZD$PH&N2q8A20?h-!l3uI7YvfV~5y+{;xydmp5V_EQ1FF-GMroxHiOKEj*YG)Btp% z24X#GAi7Wku}MlJHmTC^O?ot}dlVUTPays7>7>_fN4nkaq|+TlTASlYb8{|fY_2AC zY%)>Xyp>cppCm>1_oTYU2xx{v&$Ao*5PDF9 zvIY9vkb`eW4!#q00J|lm=vM$8lJ^?{Q&mu6X@KDUT_ABwEN(9!2O37 zjP*kFy<`LGaM0&SX#4Dj2elXa&@?#&58x>35Kh29*(EJMA2H%120m4cTct}bl@FwI~93v*r^pL2G!eV_2YC_PCUjyJ#Bm-RZ zes2YsSg+8*SBS@}JA>q6p2cCT0}yYgvv?K=;yf1p)kl9-p)36wI{2r9nh$XN0XzlI zz|Y_XKzHajKHg6XA4GxL6U2lw1QUThKsz{G47n<>3Lxkl2AV^l0Vjj!AVu8+3kW_4 zA?K!vU?y+}!5{%-fnxA~`w#!UCuSf1%|I>4W#sDLBHMljui)*V2QuJ$ya5Bp58)KZ z^=0rKgj)C;(LE@E_jLF8C6MQ2TKf zp2SUr=n*pi-w`tGMFB&{f!9C%4X367-vKocN`MB?1EYZjum@gXzz<4Tk>A?GM!u$4OsP@A9I8KjI3-Sn)=K=oq9)9~C-sOAn-QV2BaezVZ zLlwS*3?76CwGb@)2O0?`0Bhg^%>d{{qd%$8$whQa;CobJYAl4#68Ii1&}oCldc1!R zrq53J9)~c6&%^Whl0HMLZsJ`&!MlA7uKx>88~%fa7_kt*_ka(g3@=86STJJ{->K;5 zY-oBxFBDqw&`C$z^Kp8V!ltZ(LLGFPaJsfaqa7Mua9?^6fxVa!C+PxC=JROjS&YYN zXrF@ba+3GoaQg5cvS%{5;vv_dH_{RGv(OBlixu7FIl~h5qtE#fbd#S*9}6<+ zs-S?b2+HV^pqefS>gl|2DV;@a%xTodoD}xZap7({Dmq4o#ns2l>j z2at2L>u&}hKCBOY@D```Z(0KQFEZ4+XwvsesKHR0LN}Cc=_8ptU6cjUIe9dlmM7Cm zc@`a)7t&FcayqP1LkAU$>40K6?NhYV9>pfwt-6DDsUD#ns#mC2?E!7kctx8vIobp^ z{tJ8&6ucmu>c+5macQ}W)A}1-0e!7drW>ldbP0RL&S=h{<64e%SlgTSYlqNYomkqf zlR`UnvT3_+5%uZLqiwniXsg~5>d{+4-Flt0Nq;MK>F=ZU2Ir~M;10D9d&#s7=a|)C z)d-GR`2qNXuE7$whZAraoPLs!~rC|KT4ioaEvSoWw(zAUi%@E`h-Mlrl9+mnOs3AFfLUNMkFBv-$W~b_<5gO;^X6M@ z;mxzy&o8sM%rBk#kY7CQ4S()5j#uS0s&2)8I zVQEOsRugH7l@&EuIZ(ZoCoQlFU}~(wnJTL|rot+fooAK9mRS|ErB+qEVyi}ek<}`G zq17fqzE!^<&+42o$NGC=w)HDPwhhP6`U_r`H8%(z1vXfRbIuj@?jGnr*y4uT14pd0 zZ5diVQ$b5+4WmW2CbYnA8dclbQH7l=&9n1i%It!f61ym7u5BV)Xq&<2+ZOP0ZRhcF zZ0q@1wylB;+YQ2W+nvHRyHlbRyW8M5VX{3Z0Q^Dha0Cy~-;dGvlb#p@ALKf|Sm)!o z#vN-+v}5sX87-KjOH~eIXuhL4l{wC&Vn;_Ra`a^K9RrwLhcG6`A(qW@NMSP^a(HPD zrTkQfT0yeIGGU@ahbY0JPZZ~HTpa88C3q={b>xIGj+_AS@p_QE_=vv(y`#|HjgQzZ zLD+kN<4Uxn5%H*XQKI=SnpEmyL~~syQh}=_<+;wLY*#lX)76(rcMWDzU8C4!mqa$n zC6kxnGM69cQYDCWX%a@ew2LBLwuvKLkBY-xKLamB;clD|2*Oc@Nl0ChcM9%;w-ZPwy z^NeR>Jkxp6o(23!j|xG!$6{fqN1G_bbBj3G^ROhy^Aky+=W}tO7bgtz97KTQAh$3N z&S1&4ANsu!n1_+bH9!;EQjK;M`|v5xM?u-X29)kQj#7QiDaqG{5_}yf&exrZ@%3Y( zd_&nt-xxOBH-#7Ko5v6FEf)m&E)oX#t`hnCZWjCc9+dd{UYGdzKErEH1cX2^#0|{B zlj!rFaEwDV@~v3p{-7ZW&t5>g^6__>0dh(W)TN}rQ4}9IiDCmSDLT-eA_HBS@IW6X zEHIb}35;Tc0+V=wf!Tcjz*2#4V4cuAaD~V#uv_dAxF1}VxCj1-0vWh)Wj6B{@`?;zPA4Ce(lc>5^9jr3d4(18Jwg`<+(KJKuAv)6E@6Ac&S6)?PGL`Qd@pnkgMi=p&qiY0?QO!b!=nbOT(fuO(=u6aAv}8p-tii@K9)z@K#_G&kZs& zj^ht-0x{T~fEp0!ug$?Y8g+7g?Ayc2QpNtKaTnl^c)8IoJNDY>RkC71MB zFfB@({~D{rJn;21k=*q@TaA5 z{AsEGa2WC44vnr{j6)I5hhpS?pcteTBJV0d-huYG=E8r-#W#cI4Wl`EW63^$GTG%@ zl5M^{&B}Krn|xog&JSZO^Aniq`C07L{4&-ezkxR;znwQJe>-nt{%LTJH!<%uZ(=UT zo0#(t12s`w(EpCP@MX*3Kg`3u=lPfmAQ7)a%8~ox=W|MVG_zDr)@9mcRc1(*WhOME z+=8Z;+tAcb;rPM8ouB+W_S(v z7u7g|t%!Fg`rHcb2KXQqi;({>h8Na|{C^2z(1iSdDe^C1whT20&B|oltWHMF24vVg znno_4NF$a{r{T-(Y1nc%GQb5^Z+R@~F3%>NA$c(kh$_&ccm4^s1AnSD%Evqe##@k@&rq#P&K8Gw|WtiwjF{HmC;Z%(h-|8W(~4;CDWG0qlkcum^h~_A|sDkiyth0h+k!Fbs?a zlW@Va0?q&z`9p~SlkE^h4x%#$4}eecJI}#8fOddo=z9&~UD$zZGPFa{Pmk@`2eS+M z{eRWK7~ogc55a#qisx{iAQU=+Gkl%p=inZ)n@2uT#+1ff^Xy^BDU}i2c<8J%BJGxkCa1z6E!{ci?*g7RHFl zL&W5<7HUIA!k;ij(t>ylY}S2&x$#Q@e2PYZV829QUtR|IWsrsNM5FJ%hv9*p#6F~R z(1)%zbmcb?`&-cX3fvyh0%-oA5Ap=Zr{E{>Gx!DkDumCXjM@{#Ll@cF1{2j>Oi zK?!IEnBd%AfQ|xA1pk47|3Cu_P7SOR~g1sZL5|MhtP9t_n^ zcpr!0Nt}mQ@D--aGfbU7Fr3(f^1r~TAlFxh@4&;}3xXFh=*0}wqm0LI&48vO{10CY zcQ|wsppyZO0%(*$qY4^z&{zTu)M3yXcoJQhw%afYd*FMVfctPA|2;%Re#a@r4RRUB zOCP|g!vB!5m=~BH0=y=8GKj@1#Ns*XgMLIT9+Mm0$Go^pQP4?(Miw**piu^mDrnS0 zqY3Z70`I*RzDGA^!wysj9imfo5w6f3I);cH#poTzyARBk4;l16RG=>dn9`g`La!MG zbnzTc)aHDP+MF*iFK)t%xsJM+E0~`bDH&1Dg11tL%T*cNmTKrMg2pmvtfqq)ll_>V zd+}dCTCxl8u#Xodet$1ck zk90R}Rys+Wls}^`*)v)%|C2i4y{uEgne+hzk2-#Z%iELTxa5Fa`11{Qmab!tTvXDc zQ?k)?L~c$86l&& z#@NOfgRuek-jmq=Q|!bgafzL{#Bon_-!0*5|MxyTFZ<|}S!>qJo;~Y3Gy9yGm?d^> z>-eN<9hp2;cTAq9Lz8=Tz zZFK)Z>)i)U>u#}@qrtzuiG47`a0Hi|DAqr4yvlHYzYp_FS1X-mzt%~2Umfv?)FICl z?eomj9-KlNfecIwZSDU?;YNPi$t@qikbv_48Ykba_R{K6+TIu_Y zX@%eWre%KLnwIzvnil^*e9o}`4z^$967y&h^L&QZdt=cb!kFj!v;V@+Ui^04goMW0Bxx_RlYQ1T8)Go7` zQAf@Cqb``uh`wRg8~vvF^q4QrdSV8L=;k;?^q|@M)cIxX-^?cG%wviJCwR=)WN0tU zucEEBF2+f#V!gFIE=)_}60|5jQ}g2sG&jCn1Mzj59p9pv@m;3=_?e~|@e54T<5!#Y z#NTGt6@SRQGvO}tX$cRTw$1a@ChoqTZA$O;2f5cS^gdGo{zmkuulR zp0dKMEoF;YOUi!p=F~gQn^Lb@G^W06(U|s`MMK(u%^T7N4a|l}9W;9jJ5N#fE7&%s zfhXWV8FO6xS&tt}(^-4K9;tzJ7tKufS6@b?dNY#LlaZ;ei~@CJl&d|XPHh=2rk0Fu zQ*-8Qv!=|YW{sH}&FeGwn%8BXwy4RvY*C%{0(@domGvLS4?{n!TP$?oYiR z!1lQ+avi3DdpU09?^Qg%Acy-NWZ9@Mdy;x`yw#Nxs%bfKYR^eiYfi43b4t{dQ?16_ zCR0Ohhp8^N->f!wky&-_I`gXB+s!L-Pg<1cU9u?4d(NUX?<4pT2F(r1Zt-$1xqm5I z7`D$a{TtF?IBw+cWjsFzKYH`6)s^q4X$2l?EeKL`LA06*lGRXSI#XF` ztEr@Px~aHyo>^hpDzk#J?dEx9M=f&8?z6}#d&(la{I3?-W#997(0qtej_@@7;7Scs zf9xM`A@^@X3xm}>o{L{S_|Z}^N(~ius;h8Tb%l>AE5lS#8K<(!G?iB7s-&t!#Z@&b ztZFtDRCSy3s^*yGRIM<}uG(gvS#{Vvqxv3;^y()p(yHHw@66My27jS)(EM@Q{egPM z1Z*B*%D20V^AT3?coy;KARZ01=Blo>QAO=UmDPHxq%K&+bqm?n}c3}rUwE2E`c z=`Hn2ZD}_pxAdEmS{9onv}`hqYdK&R+j8DKrsbx2bn83j(JlWrk7*t>8)7O)xJEti zZs(lD=Kg+iu33x;u#m?+_%gMd+`E&!Z`v4TPqR}dT1-ZVx6(R7l-d!al+F|-cd`eg zvqTA_itfu$ zRDXdY`zsaEKUHD<-3slWr{MmzrojF^rhxuCP5%84oBU?JW%BF$%H%g=a0vh2K{JE< zsN-pD9K!C7g^Ww2085sT`*Lhs#CNYem%o7AkJqE;S}J0moxlxFOmO(I{7W=kk5kI@?Nk?o(p!#W5Fr8FL+393w|rN`CrOy-k`~C?x4wi zV3_lLT%Ra^FLt*s=X_X6?zxI~fJP|c?<|O4!5)YeX7XQQE#DOm@?PO0ua!RXTp1#d zm9dZ}w^jL?vZ_+9t6Jp3=B~-BmTJ#|{-IG!Qq zcPwT70robmWn5ZM3^o#jP2~TOznT0WBEcWrH;>TdEjF68Wr8Mdah20nUpa0K)r75a za@d+7`>n+qzpY+&+qz`CZGpyZ+a#NqO7()FRLwom-VKfWV4Cc^TuJ0FCzwP zh`|P8fQ@K(z@Yq8Rx|cN=`$x*=fQ_sVOpw(9SMb%?17Wf} zkf1RKvNifZxkesn(TD@HWWIm3O#AuJzPsR2jJ*qA)ATYN-8*UrcU}j*e zc^~=bLDs?CK^q)K13JPQkfYc?hW!(00H@3}>hxHdPTSI%oWKqIfXT?2WXOkFV4yio zr#el=PV>Q2R~d|d3tw;|{s@CZ7#hr$9k(=?1GE7)tFV=O5)J4y`#{d{E2(F(Pc`iB zW*x#k?1i{bTwq243Bg4>CVmsaorPBZ5XqpI3dPU_bod7d^d$4-vU0s zZN&TMbub;r8IQ1;hrLAXh42wi>`lBM4d62C5U%h$B-gNi{T4Uy;|6}*#E(ZExd2a* z9w#18;K!5cObVC;JkRgBIf_wQrnoHQn zrU#*Od>9P?o1-4pu>SH4$LHXAcmeoTV{xApy)q76#DU4V3zI`%)`;N8?=zqZ&7vDP z>Ha{!_`?Nw3f=?Sl z7W@JJ1nN9XURT|wFZXnU|{GVM$YXI#u|)lr~qRRNH@%eMKG*C z4BwOEcK$v9N8t=yfCtHLA44yAmE8S9Rvp~BCn>LddkbSNhM_-v0)yn0!@7f^J)lJl z`Qgnm64Ia;>YyDAEoLq(q5RcoEE~}zZo|fIG=hUzI*v|o7H#4_eMR>B1sV813En?= z^eJBbolhDz4UBy$#+r!U#k4Pr=tF!UHV2nJ&fMlPSOq&`!z(}j(Gw2%2@ z@=MVM)?i~3_1RAOdno%3%05ZW&r|+obcx5v`d_EJe1a14J-E;a1OSl&Gzn{L<)p-zd|%fVI| z^{B^28#cHX27bJZA1~s^^Z4;Bemt!ms15t|ID2y*RxS_!d9DCLSNrHt(`V=#Q+;`5pb@RrYGVh!*oKZSoYF(Bt%tNAcqZ zemsI7*YM*iemsZ{@&H=h{b)k>u}|q9VsSU`xQmr3XQ|DdSTK6+X*l&OjGtWkk<tHx2MOzKmFooehfp{-2A!gS7pS+xEF>@361I&5sC z{JlCsERLD((h;*OI&A)|4vlzU2SY_E=tovp)T7wVAJN*%D; zsQp&EwAbnm?Y2Iv+pRBar}Z=1Zu7pj*?yxfwu9Pi$1by9@eOuAa>qWy+VegP`JUvS z47U$Da1RP=?m=NQNq3I((@EPX9kol<9d>y-IKE8##@A}k_^G;me1~?~_iBgz9NlKW zSljH^Xp6%(ZF1PJjT263{e=6q&hZJYae7CqCVs6IlLoc?7RxvqeD1+e8^BN;!eu9n zTqBrywjcR7ew}t2tz(Y%I^^V`y^}(8`{a1-n4F<)&IQ`yT&_*db=u(4qV+DFTIIi+&)E@SUsV(e3F!&3hgQh=5^VLW4 zum*Ea7E>KKluoXbXy_lz??OjwDfcv96goxo!U8l99;MmgNtzj+rM`$l^+r^vC!$W> z5iRPB=vGJMY_&%&QCs8&Q)}dIQ*+cw)6}R-rl#m;O^wkXni^t$gh5k7^e_B2o@oa* zFXzw)@@WIumrKscb8Cssk{Aoki?Y@1=*jAj_EB$4n0jL3)D@eij@VpHi!D)GY_(cr zo75cFp{a3wYKmKEYKU8Fs*m4ks*OKps)@g7R-N#aSyjSc&8iZ=H&rDJnkvCK8oWXb zZe%m1Dq#9o%p4nTFJhfDeyqTcdHB&EZ>{MGPU=eVR7YZv+7hGHl9;UK#4I%>7OF9+ zT=hxys!M89ZPIkrB+oNdC9g77CT};DryMbrrQBmyn)-xUN$Pv>9SoX=NZ|-CVCNcj zzo&$$W;y+!f;ny(xek6TAvUvky_?^anwH|A)|4rln(D8{)Ckq5#;YzhT{UUBs!l6W zRa%WI)0DOxhUQozdW8%@CIa*UQ?9`Cyth!7e)ntaMDlvT}xbB9Cb=^*)R3 zBX#8d_4GwpS;P0eJl~BUQ*%eCE_a-&b0?}I*HdM=K`PCSQgL3Qit;j4m{*{J{Bq^z z*DEi-T{#8)$}U)J$}HGu$|%@xN-sQTmR5M(EVbzOW~qh$f3UOg>0VP(>7Ay8vWLwQ%HDvlObMlf!;}n~65)|j`T|qV zlh{Ad%G!f=bRbyVf)0gWt-Mx^kH!3^RzcZ#<(0cAr`$(bRknFL^v@imv>HtCWA9>E^LE zQm{_?LN|S(i@djkcEFFR#H0dW@@hsYv&L5GH4~Lq>!Fm|Kqc2kDycR>iFFxDs4Gx> zU4`Q68x>RErRe$rMb@u2Mbz&yg*BWqg*IF}&%@xpZEx&#T`S!cWXQsEjX9mk_X0$wKrpRMf zuH0vpYs#!9xz6g5%dCZ(JZqCC&AvkuXWu8s+0V*x)+chB`I9F0vzoham^0LKXg}0K z&W9zm!!p_dI-zbU-~aPm+G1h=L5s*g7mkwa!f|q0h0gYRHK{kt@lFgzIWwY=Hja$I%*a+jSfc21P}PIsAh25_;Dq%bc2y9#*BNxhR! zw37huq_7>w;XzLR*AV~y2|rTt!6Ejp=78VGY1OG?@KpKrrP1 z_77tJ4m5zn; z$KCkBy;5`mKkkWzY^VYTntSL-7j^&zT)4se{>*2-hW`M&2Y6{2b)Jds)+3BZC+Gvb zH5OZe*qU;l_P>Dsb06yv?#K26aOG#r`2vo3JcJ+D#=|5QBzvHd;Kz-4v=J^wH|wDf zh{erAKp{6@=JmhBx4ieiT1mX;5Zh_kuDTNq=x+Mpz1Y8q{Y$Jtp$V-XVhzZ{*rf_2 z8%#cL@f63W;n|TS1XfJUZJ8W9k|4OVW&=N7Ph^cq5isEXb{=d4D)_tW@O$_Nd^4oM zbe?7%4)x8$Zo*~kU#0(Hb38UJ4V#87nsG>Xd4(h0iX@2g;0<^S{$Pe4G8&D7n7n7t zx)4|Ni9kq3qbP$;zQ|q9eig+sh@0?wfx zTtuyS1hwJ?G=TR|5&ku#h8U|s{taJ(p-TJ}-h<)Q7=|KYV5k#@LgN9UVC>S#hbm}> zZpxoY`3uOYmr?#&%HK@+J5WUSl0hHF+9_<@jau;_YRD6)A#W12&k&M+B7nnp=lGE0 zyI?33LyE+Z8e*)37zsZs66_peRmSjLLNc*eik&)aw4qK+r~KKJzmSrbQ~p}Y-%R;C zXsCTO*b(Y>M#k=xchCaDhby!aMYw56?DW5xJph&z#7XAXm%5&%s&k&0z zdDr83{uohw6bm=u#;+KpgAdyuK7OrH*tDZ=F4QRidoc)t8JrA7)T0_3Q>htu$H0$g z@#87lHmUK^%e@=YphUtk$&+U>daH9c8}9zZ?IzLVf=UqKd#`%W&F5=9~bfCUi`Sg zDyH+OX6I-V)@7i8Tt>5c3jOTQMCYp^J?{t>4U9ET27{xp&*1k7C)i&s5k&FnRgIvI zw%DAE8sdk&NJ>gUammF_89lC+NKeH=2Q5FH8qdbg0_-fu#(K)#&RKGRf2Zgn_i-NG zWKGlWh|oW1t)J*QoL{D2_?|)L@0{FkPe1^Mr|nP$tQdsNEa}M}sw>FM?L>orG zruCMeYVFvcw1&I2to{{-D)TOb+$-+GD?+aE_>vPB9tPsO##rmrC`TO~ke(Qo}mpk16pUZRBO4T?rNKzS~>2pmXAX>vc0CI zwy$cj-Dg_JNU{LtbLW&ZFYXz zGCoop?US^gySJ=$DAH<&3axag({hIvEt}A#B@_C!Xu^CgbX=+Vj$1X?X}<=X&S>_; z2Q_Qr3z|9UWA#n`Ni&?$Uw_5B*f&%eV^zxiQP}5rJecf*=Xbd=>tt8ihKY_^Gs#mc zCkJbpbF7v)r)rT)juyBSYo1G$23#97$F)tfTzfQg${h7gS*jURHfXxrZuPjGP?!7t z>hyR<9UgzxG|wN@jxzIW{s((cMRQT+;(K=j*$>BqG1w0y3nV71Jw|JpJBoydtLA(9 zq3lFxwikC~@XAo1SH60^N;TcPM%~^`>hkVThfklT`7BU7>P)Ne4z>6mRkPo{YVv;q z-c@73w`vGrPvFn^v!gDOK8S5Yl{uTn za#E_5ojO%nsXfX}o2T@&HA+jnU8(7(l#+hMl$`M@{1XOE$?3zSq@e~7gL|-d659u= zNeF7lLOCwx?|$OZPCRPyqb%J@#cB2`NOw_Qy0>!EgO!~grL6QsWoBe5Bcnj+nH5UQ zY*cDimr}9@l$5nfiP<}qkbOe&IhRdwIWNIyFldU)9yG-pWO0`%Vlbo(VS6u=;%yC_ zj~o})vI3fTG~-`YK3QPS80BW$DVxP#B~5q7=myWh=I*MA5~yiYjhX zWO2VDN|q|TWSc@ujwqz`qJm4GgHIG(@*jniuz$CB7~^iqXQ=lf?CxwQ1DZx(;5et1 z44{b_Ft3&3OIC$RNo7`wFSA!HchZR|^HOwqkfPW<6KXV5ev)4$_qMAT<{rvFLH+k*dwVy1p@+V}ab_2a1isX? z&<^;LhA%O-qZNTV6JG12&{{Wz)cPs7HcUZvu?nnXS4JJXGV03Zi#p>|-y`q(1@dax zD36ANa&NdGw}vO-Z*r^uLGJY^5_Qa6;Vxo+6#ILyy|r(6chG`|UPbU+@m)s6A zfi|+?7IOtQTg#taOTNv{@@esscT1qWS|a7yk|>XsEV;K9%dNFeQ(8OZ(l#LHwzZnn zwoen=&daIoaXGfVFQ?Y;HL-;`y+JeIQBw9HZ0(vwJIq0mm^-{OrF&p_WeUxz4E%}h z*-U>|wmsj}5Ag_7AM6g?KA*UALO2)(!6tYS}2dyJ!P!6d&MRJjBYJJ5Ys4Se*&u_@k%-$GJPj3GAPO(3`M|+eU=V?=X#*9GnaY)>+m_{`~>{A1-2Jc&l&qrWw2X{ ztqkl$VaNA0_V1+q&!GyOmrR6`$vqc2xc_HHFaa9N#djQE&Co6n(k@qs$3x+e2IauX z{}8cwXcrR&3cC6v{1u4BmH!T_G6%UnW4j!?nP*X@c$+WwCS%VQdt)BJ-h=QEJOVf1 zCOmqJ$IY0Ok47!ACOH_7dNB$00zY1iX2Dr>`qw@YherQgneYyhgq$08m-_0x%(CL ziKoyE{zNYO1-ilTZkVq)eg^Nu+wc|)uf#BP2SbBkb;OWTGlgRi#6vceK?640$rgJl ze-0V+BFbMu`Rgcu3)$>Ww2%E{_(#bq@5IhULUM!r{T0>#e2fC|19|+g?RPmED>GgN zBMQUXhl!(+e;fLP5f4Kl@}W+V)F~BP1!xgf)P_5RlIMQLDwV%$fRYzc{tC)pN4>V_ zU9#Fglj*)q_G|1;d5ezxJ37(pJo_poyiBQvO+%A<9-ah4j~KQ+oc|k-e?*u02Bqpt zxl^BDY{jDoWKo9_Y}8VIGv#+uk3Mvd0m@%U`O7JP9c6E!?AyuN4`KN}s=Z_n5<{Bc@e9nJ8|d2#_=>a3ix=ZlULft^I`WKoAg zqFq7D*Ksy9W2XZ@1@E)kI?(XYPI;oo0>KB|Ljt%go->QuBXnDLaLhz~Yg^ z{M{b$cQV7PE5oo0wi#yGEUGgMyT?aZ(Yv@SCT()NS%9{iM`@cyvNn&%*2a-VT0gQv zYe&^-&8TLr8r7i{qi1N@=($=tdbt*l*{Fr=7@BW+Lh~#yYGCXWnq&1B&9?qVv)Cy# z^H;ow-Iu($1o&bf?($}iJB9fjL+u`0Gwm2_qs?QTwBE{7YpnT2OzRjew@J}bn;b2+ zDbgaF3N08{uX*EIG+^7MIkvMj%XX3aZP%*LcBgvnj%qr0Zs{KXxVpywMVU5f`X-+HEK5?5`CmvGEr1P3O>4v6G{=FKV|D{G3 zM!a9~3ifYCa5?7Ea)v3;;b^86{JkZJ+?%0(iL1HhO|;SMNfXsS*;BpFLF#diQkP4T zI$bg}%{5qtx>b%Lz#?q^l)aZObozg4B@m#Xwa zdoVzcF?gQ3U&Ho=L}HN4lqZQigG!(<=76qGJD7RpkFq6`{ct zp}+i$p#xpU?zuGby$oWIP7G4XGZL6vMKQm`j}E`lXgYS9>N`mdex9oH3sQ}Lq^kWB zROz3t3jbV{2b8EZphhJD%_i7P6aRa$ zc`}c7C}55a>++f3Ws_&%M+bg1;zwn;mCC~HRUGc3!fB2u{#3CfO0S5{=6 zG9$~B!QE`qqoye>dZtpNmnkJ?o04OXC@J=$662m#Lfpsj6OUOd89U5F#QyGFbf6-p zyd~s&rR4s_v;%(3z_&L1;LCpWoiQqiwo_irB;~|-C@aQa8LZezkBL=UY>HB2bCeQS zqU5+5CB?TXF}_a;2}=~8utjl+hZU1}uVRv(R&>&b@FR~0d2W~ov2(7FzJTrB6{G@{ z%=631{qcviO;d?SC2f_TI8xaOa2uRFU6$>DmINB5oz&?PD@u*dcGplD-@B@r0|R$ zg=Q{LNah9wXB|*b7OHpF;|j=rpX2wyEGcuC`-s7i4uoyv4lU~%853Yu9Xb$x)DfQ& z+9?ZP6SFK8n`Niytci-sa#v)wpCYou6rLTcu$&ZyZ zZ{9xnBo63B@p7}1X712iN z#44t6l)}+sLJKA+q`+0d1>OoO3{qfWl>7^m-=bpq6xGVRc$&P5=g6aYwcJbg z$gSk8rj%TlYw0^2ztI#l7&mY);#;^X`U3WMV|#N4eW7!BWlC>5eF0x8oA@RaUy|`9 zveHa}9xP%bPpdc$J6Avm#C&73p%XDA1J3D!Ep+%B6CqCReS{q^ez- zSan8@RS#=I)gL&1EvHIWL!iSkj*i*aE(<3cZe0lItW3;0ulFPZokPh2?l z(N{*JpV(+hor7HKT;x*kCFlAeO|Fm9r21q{tk02SL%Ak2G|8c%SN4rdHNJ7X>>5wX zw(%j^G`=a@hJOLt16quM@rzOWx)~SxxIWEfT$n{)n2i?2rwa^K%Cs$ zO=v1(HKEN`4sA}dZ=0g=ZN3mHyY@KQwx?@cdy#C~>t)^EEvsn@HFnw-S+*b5nDz%W zy8R{iRAbuyBg}(}=z*S@gBbtdD|ctcQbeFT(G$@DY56 z_&7Mk0qk$b-g^11^T&0zM4zo0bc>Mq$g?9kg&Y?yW(S zTuc5984$CMHsI*S^NzsOM3!K-ZWN7Y4R+uJQ@|I(APG2`*V2*K(1>fO#G36GImN~B z5g<`q`87*X@By|jCkB*l><*f>k+FF*=fYOTq-|(0x3Mz@JirNTDQ3(L?C%tl9CJGI z7_foy{5=uez#k$Z4N9Py*J;q58(5uk1TGW!*Xe*?Fc|z7Sb2=?)!3bj%}#98?xG(O zwxoTW2m4tW1WpHt|3OxT9K!ZtIQldAaTGs}T64i69><8sar`(Qz+@x_vY;C1bjEh1 zV-$Ss0`I3!9Q}kr;d|iT4%l8m-FkL&E@H0;J1MvuehdxjIQCDlDuob^I)mM_K$G%i z<1bt=F#)1o?y=$mY|EE&j!epEmrM9@DIW5n5$M>LsO+T^OcrR5i?qkZui!t!8Vt6l z-oaRa&9u|>L2P-Q!~S{fR;V z!^?M{EoI_94VJ=QxEG%1wZFl?)K9%zsB;>_V9?$U9LZ0;O-!6owdN6B)HyOe%LK5P7D%hTRBp6zZGx$Liq(LDiRHF+tQ+_Aq_fhs-%3h52v68aaqkU{eE4UqN zhtLa7l0RP{Bv;WUoV66Wzw1{Wm2^b`FzhGz~MqC`JlPC5G^xs<(#rdUbY>(L6fAy@52FE~sc&(L%ispq5U9&gfZKF6D3 zyH9g8v=8I%7+2sI`z++apKn=@@+Gw#FNdDN0qN!7{kx%&*bccF$k5;;07j@~Q zn+%|PETW4VS?zkXg4^^snfIf#$#qWThl#~QyyFUUSg?#%mdB2feU*s+>_p<)s z0)68=ZE_Bk;!Zp|MTsY9x#L(o_A89F7={nu!lz(#ZKKP-L@b^m7LU;{u9NpaMBe`( zdH*Hy{`*u!`IVGkPx&njTb)F`7aMc1v5@jtqQGoKC)kBfaG31>98tMS3%$rQpP&`o zT7!Y*+h993k#n%Ih;mocGq$2m?L+T4Nn|df60tLc2(P9$ufp!H`KKkPI78cu470`% zcZJjXBL1A`d^ycIa*W+VhtOj7bFS`TEyynV#t!=EZTPX3{;`>Ux)DD%;Kw@Jg}oS* zzm!&4&kC8H>@PclS9hZnU1vYh8}wp!hTwyNafTawz@_FDCl=>TBJYH|Ck)H*NAc}| z$&$K_r(Wy|K_A^;NZ4zpAM=|IpNN+>?miLO=702bUXv;vYn=19xz_+wIM~#*Hb+MCKKC zBecMJoCdht^DG+=_1OffcU+`;Y!lRFo32jVTy@x%sNJ?ot#*xSv74r;cI?XF4lWJj z*QtK|Zq?eKQVq)@tLmBVMMa!oK9(#Lr^6Oje4nAs~5TfP@(V99TNllKKYH-X~ywZKz9``BR<7s7ieh5DSzt?q(8`S+?Y@bY~52iBBN+AY`dT=)ck0=#+CaS<6u&3n1Eu)?0DLRpH;kbJ-HqL2>EwHvWajrlFp(tci>h93?1QQA?SeOgU%~1 zn01l22_a325A9ZL=sd-Qty6T^K1GF}Q)Ku}MMV4= zzExxdYY)P?GQ%a}e+HX}@|pS;lJCK?0`iO;)*j$T6Mj_UM}CBbGDEGE7HY4QP-i8D zdMY6-K=EN=iVKTXYkgt>DGK*x@bw<{4;0fEO6d!*q=b1szD&c9di*G*ujJ5IQ=-NyA<9m1Q4c!3pe$NX$?myQcz@s^y>5D!=5J@=0DH@06YLN;xIZl!xSz`Ud=q$9!XD zkj&Zx>>S13ZftLe>d}d74az~PU*B)Z2Aa=rC2K@#a=-vlNFfip#XMI z`KN}-FEviSX=(CK%a>Prr99J{<&iN%?ioupC1bl>Gf&7R^NO4^e*<6gm_5}Q+}j@R zB<^=$Z&y7!P!s);Y3E#yJ^bBN&G|q~@@bzG+9oQG@7}Y<$~VhaK3R_P&YB{xZ0-t? z9W0ORXu0PkYf4UzTyx6glG`Zf-07N>yI2$Rw#q5*m>lyi%ORh;LgaB*2=o`H++j{( z;{f)yH@Xv7LAm9A^Jn1y<7_?%camm&g@*8 z%+94r>|Amx%9LYqu_hGP$)UJQ_9Y86zGSoPSQBH*?G0^8U)H#ifASdZ0UgHR7_r}r zedE`f*L2Yry3r+}qm#aXKZW>`MqFa>C5SfitTt(KrKKDzZ8f3NQ4W=^vajUMn3ch@ ztBi(J*|LymTvfGfs;0@hdakUh*K2I`L5-=tSEH++;rNj(tN7*&Eymz5_KiFBZk|pm z+{gIb&-DRXXK+sTa6a%_BL0OF8(;i!<^28QQ z?ZD$=o=eA{7+w$TCI7~!iNwgR+a#+lOO5IpCyOoznRhzNtkbx#1OtP7XF3!EjoHZu zJD0&uf_nz8bJD*9UjsAAcGj(9V+%G{FF*%c^vgPw%7uLY%yS9z$-lu1-zM|E@n8)j z2S(FztYJJjadF{dKihZsA~QRQBOQ2lHBiaf6f|oqg`a?{ocM1M?5_YHV8=Yh#>Jcu zxH@kIeQ_n@5)?ryM1n8RyDUco0&5t_-&!#OF?B4A1AAZ+#+nqizd|%YB^Ji5n3lD` zY&!dTxPt-k5|w?Gj`ukirT+roRxhP5uHxynxU`NjVFTyFM#iK~w83UH7>=&s0M`6H zatrpU(hyrl5=1M&k1hDIWirou0&TK29&&k(j=W_$;QZ#jx7MRPOU3^VKhg=frz5sk zU~@L*w{K%i+D<>*$(VRM=K-)JRt{jjhczG+!Q_^c84lh$9v~hEh{r)2z>h=taR@)| z2!#|LGXNbT7Ki5XItC7&=KVJ)=Y9B=NfYawsn^`whPzBHcJi^2cnA%Mu(=(^{t?!o z976**j?I%m5hN}Do3mzId`AQQ<1RZUWweViIlT}88R#Qb(8J@^OcW^i?#u8x@1s4= z|ELAjxrh3(oJ@t-OU72nDRf9|*<)+$IW&Ot*t`Ju!6kU$78FJDGpvhT<#^2kO@x?S zw{@1p0}y9G~E|4@fBfr5VJv3EL&qF%_F(*z>?1HxJa<`zhD3 zbHykh2%#PWK0d@#9G?c7cSxgnf#XZ?Dlz%ZIKDW>kKg;Tb0z_;f;Rb6C#)o)A<%DA z_}hHo?GMyUz00tjemCd9MaDtu=zvX2!{&7`Y#O!-4H-}j zHDK&T>4JWkOP;=%>~ST!#CkI7ZD<9%$z2bj7o1{U#yw~T50gi~L}v9d-?smVJ~6xo zFXiw!&rOr8W^^Xy&w<6FZO@-V=Q&E z$KDh^6^OkU>X1(Pg(wJ>l-)qM+X#C%dQLx*)Lf*g#blBzsoMs$iS1|;`_LwiQ_s8U zCfCT}U!gfa)#F6&F)SMThp`63&>`-HU;FSq@%V~%`II#nAF>AHJ$Yj*3_A&EA6fWc zOxabG-ALJOl-*6)ebjV-vKLXWm2{zv)NKcP!9lvRu><6OqVXiB)Vs8faW7fEw}HFh zG@O8+efT%_KZW<;E&9c4#NtI_@htmco!tJvN%L(Sg+&*ciaZ63&!$tijkxR1VWZ=UJt49aZ8@dd^oc ztSlPpqQOU_u+L@ZDQkuyj`uOV+=UOPG=fjtP^SslbEAd*u@ixf1Z<>ZBNrRR)VLBm zb!ZXIXb~OQ>BGi6w1^dG9)?Hzh|U>Sc0EWBevw!Ij;HJc!S>Jmkzw^&2kbkNcTOPR z8Bfl|(6S%jb}@ErMT^-$o2-!s^$EmIB(>zunE0^(Kjz`bTy&5*_%VxinMwcX<54f~ z=phzeM5}`qn}#0LMk}{6fVG;wQ;QiZ&u;N5!|6>|Byo2xLvDOE;KKS3rX<_!xU3SF zl@?>MIUak?*z#iK4Zn(Eic+5`QN3pA>M`e+G0cnAX;G;Tiw3n@w5fGOuUbaT)6|ix z)Hrgx8b%#a-ROH&JNgOLjCoJhW4{4bz}@0m>|XWZ^5sw73wwFI&4YZ)nW+cynQvpR zS?mq!9qoXA$o$bB~J0J*i^b4^(9PJ+S`44mdvMOALZ&gD@`fVB8gCV*qmsZ|qND+C@yd z>_(~8#ug37NsYE{s<-u1t!=2PZDUkr%P&IMWvbjRUuAaXDz&Rq@%T0sjqg*z_{GY% z-=tjo1IlqYuWW}$l{Min%5wY;&>wE`2=RW`v(r4s^GJRw3wj&Uk*OjW*Pw(^{cmE*+z2d8Fb@#{tz6Xz>^(mJJ0 z-m8?!XO--HT}jS=Qj*IzN=AeEnJeL(2eI_S1m^fjOtli}198kPBgyxONxL6&3)-f_ zd5ntDVhSfaDSxt?awq#L$2mkOrFlH6mJ=#ioXj~vB&mMG4%PO)Co6zw%jQQj*R>Ah1C zKBpAsb5&u!zlE=WbqBY&h^*>rWeN`1uAsmZ3JiQu z0fDb6Am|GP1`YBzYY*Ta>Uc*W2aHjizpY~Y zCn(C_MUnnq3il6CSU|YKxSLIAV46aL@)gXTg@b~d6&O52{vk``7qU&hp~vJCdRg9K zufRX$6UN#D@C`+~C-z6Nxx0X=cM*M|nDe2KzJM<+_)(1?Mf8;n+AKb7q#{GC6&_-* z(2z+A32|3Yh@S#OLlqDjqkym!`G@7oFT6}X;Z5?6m@cn~Me>Z?B9F+Ua*Mj8DN!%M zKX}Z#1Mr9()LCMG2lkDxLpPR@o|MxcIZnrysl=v|*9-77js6-NYo^dhD+NW`DIn5G z{*hDU8|f{ds33VqManBWQJ(CT@`x#sJ4v!zY?r3QE|5#yCOO9)*5tU0niT&$e5%Rl zFV1npoTk19vA?5&aj}a2Sj|_^9J}$Q5kJcDFON8-&_|+(NnpYl`NY}CE6zcl@y_yy z_mq3Qzue-(H6C>d?fbxpGX}pb5#W{!6}B_9@T8Cp`WS&+&~B zYjaKz|9#ls#&mOSJ*ij&{gGp5Ejb_0b2D1y@Sa3`<)%UMLyK`|U5sn0om^6#4KS%UCPh4DJe%agS^=p9WT{X8go+e0!G8 zz3Qm%9_(#tq(3&(A6w{;9H%v*Kh$wf;#&s3#Fmox;EPv2>ko3q$SHfACS*IvA%|b) z$nn(poB-M7L_m^kb8|Erkfm(jR-sJ37gI@g=U6+-oW^z@N#q)A%}*tZT<;OpT33)!1uf&16~Bc*?vcP-Zop zKs5|FHJn^VAZxpLya=|z3AoD1_6B@OCI17==diyO+pGIY$7gYkn9bP4v6jCJX3!UT zEfW9yD9V)>P2l}D_%)_&w9MPA5p3+h38sKAgh3+Ekz489t-QHqE^K1ZJpvCr5j7eK* z1G-PlcKQG~gWV471Jh(K@IZBb!NlWHUasl#(SfF3*se?YCa=VXE2K{o^ z?=El(UEPU>_RLel(~9*ry4{9Kz;d;Nv7LOnCkuPV)Cj3ogK8 z&`4~U4A4LB#E-LqK%1N`=I=J3LGPpjXYPR)c<-lt<_FEAex1~<7Q1=aO2AGac3iPz zN7_9u8#RxDVj(Rn#fup z;9opIqG_yxFb6|}Fti6l4;cp&!5hLM8SqHJR?N)u(bQ+5yK&O~7`el2AQy2mQ=R^!)Fb`XaBs2(Q>$vuSTI@-i< z&PTBdCT}s*2l-@}Bt+ad>_35Mh0rK_5w89#!Z(}&wkLGb2z2E^J zJ%`@$F`oUGVQ%<0hm7?X+knw>NPl^U<7;4?S~uvQSBQnN2IC&In7hdP@1#vmk#8SI zr#p%thw)!1Ei ziQETXQXA~V8g3b{OR-aPBMB?R%iV%p6NNgmcd2n}5+GPv>xe(Jgs(vcf1W> z!|;8P>o`8^i2g7c8J$baaTn}QVs6JJXTvxytHfoI$&$M9i=61DGth*lvwp0LKH7;N z(>Q0_@S_z!*ztg^Dtc)nPEzhFPlXQo}mq?KQ}ZWwE=8cTasjdfN9zwBIQ6`&HUFcn+H zs>qsOgs{$3zIB0ett*sc)2M8lPG#E6QM%14rHx}Xk?koZ+g??Y?QfK1_a&f0Loz&w z{j*`@dyz~lU}FUNUI^1IrXamu%qxgV1MO8|HySMm{lV5z`L?dgwe?nx?f+r#Ex@a~ zn!fLedvfANT!|+{NeBtSHMl#3;O_438iG@bLvd}PMOwTCiWDeNinNqcr3FgQ_uC19 zoP9#?=XtN|`|kUD?}Y2mwmCDiX3biA&Fr<;4wo$ZSgB;6B$=$Jn_*u?(jDqZ1&1b* z=FncsJNA?m9)cw~&6Gr^m6G7ROX8i+NjaAvC7v8i5w>%CUlY&cog`v^Zf)ZdiTye5 z#re+Iq!o5*c(~AQ?{XQqjp*DmaHonltY|FgGT}rMx7&RFWi@nv&?+ zP!gCIQ_iiM#JLZZ824!s?Xg^Ferr~ zGkSEuKFS;r7NBHa3(q(_EG3OxOnG+~Np|;=M2`ST@F*+s9x+nRBT3>|HzwAznnaU} ziSlYGk*pUJ;XO#gyr)Q69!!P$Y?Bb*PbJv*d$xZ|s4q__z(&fw9J%u<5^H7Rix~`m z)2RoBU~Ll^U&Rm>g_D0kk5peXN%Xdra^8*-=j|>r-o6s;9V}5kkrL^{7a@F8CET~N zg!$E#vVP4Z#J{ry`wx(yfQb?ikSG3uTg5N%g!lzL691rA9P@+%D8s#_$e*1>d#FO( zT^V0szYFJDbFCpd*2G6L@z>;FBZ&>LmMDLFiST!kFn=#8>mMMY0bvpn5G%ofDH0Tv zDS<(?Bp|qn_y>0szmR_76Ea@BLl=uz=w|UOdkj2~GG$+i7w<@UGdE`~WnO~JnbjDA z*I2?z}l|IjG$E1M|3 zWh;tL81FxXH4?AzcH&8ZYve|8iToIR%l->-i{#x0up0X>MCSBb_+uUX z5%j9fI2T>`0E^V4ZmL#btcTB(!$-o%#RNv!h+l+*_(r&iPo%eaM+S*kWQ3H7iWkqQ zH1Qx8;}%_CTw~gZOH5C3jvXzIvGc_tc7xc*9Rc5nL)>%DF?$!R!2a`*KeZnISRa3E zz$58w{E?ww6ZEK46<@$ksn{fzx(P`%5}!CLDHEp=&p2mskMk6_IDc_1S5{og#fmez z7^nEk;uv2~91>cIJrC?Pi6g}>ajw|1q@YdGVQ@=q5}$F*$PwftXD;$5H>7WFQW%lZ>uW*enp6lqqj6F3Gmyoa`V@$!_A9;v){cr(~ZJC7P5Zv14A0 zZTZ?_liD2QiWNblW$H|^NLwRjY5T#KVxIPsSdfFU1WPFItVZ}_Gy0~M_#?<|LCnQ* zLv-Q8M3N3oJhlp>&itq!w@OChkYOd7iW;%4=nTq;O-6uNXM~GYM!Z;Nq>DvnO)<-C zBBq(0#W-`27-dcqgUppU_ipex`#*xe#4v;RYLP#qIsVv&JWxCQ5#)f@9M?ymDuij} zp`m&u2)nRklsMHS{;zIMZpD_Iii4O{a~IQUzG6~6RE(;}ieYsexjG70$C%YSfc{_- z$Ok)c^0VLxcnNs_f-+A<=9rG$BRb=cIrNV}c^9WP=QCQ<9?&HWJ$=!~727aPkvSx0 zVp88m46^O%#9RQKy3(0t)4^urz|z3X|O%jK{&3fNdnXPJzcb8#>hCE&2A` zBak_=D}7TBa#20GM|7tiIIh|S8=y-x`UOJg(Uu$xEUjBH2ceZI`3ox=upMv&-1L>i zcJs2J9Kea2V>D%APjeV5lPa1mAnCdpoWS9~!{N}OF>`x!X_Lqu)(2ncN8bcm^u-1o zSL{W5n>EOEigkz1~rA~YeFu= z64>HM=%LI>>EjJT0Ji9z0jQ7O?O+a*Uejs#YcTd%MD4=Ew*>5n+NFe(3=+;;+WW9o%KT65nK)j6#NGS{h(waisv7c`5-pH z8Tf$+kPNawZK74>U6htYNgc>&V0eXCk9{14WE|KJIqP|<`@f9)VH6m-}ODPwL_Ag+}vqZC}&`8OBD6?Na21*WM zJ5c6BsCD>LOem8rxfWOQEdI!fKt>Y$GvHl=yhk?qh$iF*TEV*m>8UR8?nxE(r))#X z7mSsoM5rGTTOB4!KY+9Do2fX_c*$zYMIGW82@)ApEO6zD+ zyJZ!Qvyzf6N22oXi82>MSr0?WMJPHv1K$J1jTG1VlsOnj$&DSt7W>2(8Da1*NA0GP zNyvhC4LH|>H(x0szFbAbxq>KkIdOkJdgKw2FDA}hK&D_GXXl{RERu*b@QCSn(^RA? zQ08BZ2frcnTW}dD?tTR9Ay22w!Ptl`))Duw=6U}L>Li~ycL{mAMd+~rJ?4=InL|`N zi->wA5%zQ<;i>2`nR=N>c3?cdF_!$pXfiY-;X0fW4#l&EAXk}tpqAeVpv6nY;f{_sk*97!WBNtH#i&w)7>mZ{6GMXWy4Kg|-qbGTSL1?19 zl`@Mw!E(-QqqdF{yFVmP@Ct9%7N9FzWtpL4bSKIhAe&8z`;bqUK{@H-SvO}2asPO7 zF{7!I5ww$G#QlTOV<7c1fILV)^yovoWu^ggnqh^u$jHG{c@G4wI>Mm?HPen7Y(wp~ zCjZci+HZyImalQjhVG8;eG9jm)od4YJR5zcpu;%Y$Z-0L!PH5A@?*W}GkTDl>c-rd zT=eLI9-YynBki^WdbC52w$w{&{In%h&C#?eTpDA^MwG50^--Vt$j1A#kza%(PISX` z>+jK}=D8!^g)uhzj7FEi*rhM|%I?%j7xJc^@QwDg*EUiXInl^TKu#*9&!m-9MHXMi zKw1MznT>XJ3oN9(wKEg%SwSZ41FZHbl;44upzv+L{hs6>e7TMJ6K4SB9hfobGuWA- z2X@J|;+|$~iA)XhT#)63lmO(g1|@B_9(vS8kJ{)_3n?`?Q_Y~MR5fTXl?{7HmLcz8 z7)_N7qotB=yj3a~AD1+f`;un%Cm{a-b|QBjx3;{p-0Hyu_J;>he!BRs*r&Y%V>=ro zX=u*+4<`0f+r(9BntDrh(?F?a8YWfDVx+Pe?_ii$kWBL|$uO@a=@t#8f(2iMu*{Y6 zmV+eOYO*9*6iqQ_eO= zV(kV!F>?B3wBuN@iN!0jBJac2p+4KH`J?}r*r%H@{mP9$!kw}N865-HM z!W{cbS;uh_;n#CpW5ka^nXmhL@p1o1yglxSkH??l>%r3ju$FQ!L3Y8rK0LLkqa$;E_t*+`I=g9LcFil3Jk2ozuMaPjeu6K|hX@$#u6Wqj+2 zhhHmk_vz^f3`ULuN9|&gW?$Q72Ds%Ie@tbU)-Jl2i9XQ8F zU|IW>aVEA(iy_{@N5X=QB*5QFeEl@y?Z^6${+{CL?y^+mh5CxdCPCQ5E5?L;jucr0cye~Ebvb2=&i%sRyW^$C9((k2?wCK}Ktvhhds;^WAY zflU(dlW=U}k4-$148$ScLhQ=fifuVZu_@;ccn2dsRIK7-#WEpP%oD1LSwaIbNo*&^ ziG9T|aYA9>z*;qu_!)Qvo{K>OV;SU6L+02fgkH^P6U}K8Y+E)a|G@cb_3#CBiAC2C zY~oG*xKt$mPcsv%@-|{o-d@a8UBxujTTD`e#W*!e3{#WEAT5g@DnD)mdV#Tkv2@xN z8u|#^dRLruh z#VCuLN)|VlEIP6*8gLeln?+}rMFnP2z^s;_I~WBPz;F{dMlR+7cn)~~0y&eAJFLN6E*03;ry~!%T0BFCcdqWXgIdUAy6rY_oGvoAXKN5&?}L z`nXXf4RysUt76pD2t_T(W!TVwutj5R(Fj{K!WNApK?ahj|vPWa8f_W%?@CDG6>Z{oU8*n}beS&hS19Y;7l@&HJ?jRV;fSal*jTl?B z!xn8FfGhB(5ZIzkIY521!DwwLMC*QF3OB)3INJd#`!=26AKZ{wF#vfZxU77sr~4qt z*w!0BmG!4BfKaY^p_gNCazM};1Hzg@^f07DGb@~v(%qIVdazE4bn^$;q8p87P7lL@3+V{A<9z4I<@}5TFb88Kr^le)Sj;kxIzZL5 z3FJd3;sd}L*Z?EIfSL{!VA298`)^>(KK?NoJ*J??lro?!Nah@!%w!yD5{8|GPfT3T zVCe*o_ydDh-d;dnH+Z*#Z=Gr6U}n%4%%UC6rXK({bC?4&7g_Vbd_XY@@*#^<+r=Cg zz>FKQ4FfauSn30)6Xn6cQf#p_m-7@dZzVJbq5lS6e@ai}wnepUWMv|w9J~YJ<+23% zdAtWh^${MBKLM-3dthC$t+M|USxX(+yHm5$6Yrj^@kHwX7XUa1%WjU?*WCsPr>dh znTX;!5M@4yC2#;Y(VO-7b z$VrBOC3x2)KCKVmW^xBTzDAFmL|oVDFs`7-W%T%hxatCt={cPDG!FC`5p3Z%QSQl6 z;+msyKLm<$5XyXr;yS#m9AEL)0^f*97ypLFSH(7w4IMjBIwvx@*jO8{VaU&?2gR!`n4!9FbE78A0%m zqM0O;_eh6#Wq8-5$?{DSqRc$V!(MFjWG8T`S!`an%@oqfm zb87DwP`C=Rvi+DYWGAR58(WS2uLjwAX&iH40@}{k6CoO2N&6pe01U;D9kHkdeq~e{Kct$m3 z)kO~9!N3aDutimBsWRS}MSW!A*%^3zMS7Tu^gik6P!a5O=QhO9XNeE_2QZ-w!vnh3 ze(2T>yL2$;o@!u@9c_{4h%9%c_)w-G$`g(^@KsFos7k$5#y?mM6IpzN0&UaLK8@Nd zPkp4|UC9M4>mbxOXz9FzfqVs9e7PkCVuN7n0E}jTAm@5`GQ{C_(+Zn3vNn*qrj}CE z&<=S{$nrp%FJ)p42=qudh?O*hBuO<)mlQ+Z!7!>LiAGH%!MMGYW8f8QGD>1h=18>3 zT8T8>FA=7fCBp0{i7+Q44mJeg2Vu+siNFUV@d0iv{X!Ua`EyVAVr)qrvAm#Ew>6eb zODjn?(@3hRv!s}LO0t=sB%1R@O7jRQXU_K@EK(%aB2%I*YDko2Ly53#BjHv(q^#8l z3ALUr!PaXeh)>1^T3?a?o1Y|*983^+5BW=?X$Nr(YrxQ0;+!akdu6c!Hfc!x)S|w! z@RKx+sU+A~lglChVC^E&)@3Bh#$O_BLM7ZLO2Sw_x2#PC39+pz!Q^5BZCgozT{rQ! z8!o<@S>nT-7%$B}DWkb8UiQBL<{p66$X{3vUrZzql*EvaZBLFna=vH|NOkI_B11%$ zeIUrhv`9a@N&W3G5Q4iOK> z>EhOz~;^O?XxRQf$b0YRf-h5QXmV@RJID zJm!Eyquz?jB}EBI%kT9OD%DCX)3O+oyEm< zkT~&h&e3g!IJoT+d-wC;sW`YZ_W&%T+;fpTDV;HXMTWbe;CnO-dm1MYLd8%I_)2+v zgeeBhZ7~pkcMI`$wUsii4&veJD(-IHAW+=gBgEA`UR=n~)dNvjZ&yHeWW`JnQ zOcpz@Wn$~KLu|axfFIarlmPN5|7_$=sDwXOrccPiAK7n%P7S$M6CE@0lN9_l79Sza zAiln);^Ad2u4Pz%p^URQd3geVar7!H4&-9&ebPkZQ&lv+4aL^Cz1aBm6>GnVV&$JF zmj2ts!v9mi`V0Q7zu-sgk1XYVr14ep$Lc(u1zp&0g+2|?tp+yApl*_>n`mqjf=#?b zjL6|wii4l6*!ww(#@`+Iik&}S<_w4yo4^#Y4y-IzLD^y%)J80Vdy84{I57=gB*wv8 z#3=YU+xy@T&T%iN%*y*nV`~zU)TT{<&b0`~&?Or^s%7Gj=$V8rEX&J#KFmGGCXQid zVi#&7HX-(66Y3(?pu!$=+v5z$o>u77S zh|-8zl(U#ddx}YPfEY!Gi(w3o6oV0CC=hGKNNiUy0?Y;LIe!G)1;1ll=9D6T5;8|N zqJL~cn*bde6LU4BO>n*nx|FX0X%%8$Y*q%FIAIgp6ce#XvLeS~CkBa*H4NJaz5 z>S8i<^`(AXv6}|}vC1?S;|xnGikk}W2T8gMpkqxB1~lq)96BB1bPAW=2@Ilv&j4%b z><)pi$-$rld6;RaIj$A{*cN|mPn!VBt0RrtP!H%*p6jHxBnVwR(U&x^Sfh_=O(PuE zf==89LJe>tSoQ$^AOa)-l&xAHw8NnN!Bm2&RbW32{wBdaI#eS6&>COpP#6~X!em`? z@y8tMp(AY)UEVuS7!i*x1CDU$2{n9>bB zH5A7Jdoge+L~Cr(${eMwabi1wUo^)rnq!ORk%0PWP6ak=24LEBEXX5wvy%?+B7%OS zER1iFJ+u$~Bc{p)E&8EmU#gjNai|`IULMfc!@{B)vK63T0k9b_^pev+j~w*KL66SV zN#`;ETXc#C)JLa=fWmYfP9Ya?BiM@5oukr!rYu?+Ie>Z?Oj-rEZ42syERZ;aIsj$3 z#`0uhIS_e8;J9F)-!f#R0EWN}phrJ^qn|VI1rZ>X&bKzefPEqEGmB1W0|HMnNO?j- zWDW+Z^&5qnpz&zxU<~~-CJP@&f5_GWSOSJZg@erTY>NO*!NBv))`Vl)$~f#X&J_dz z{9;^IVFFY!`j|;L;A(D=AJQQ_z!CnELHu4x6E&ZRn@pz3;JQ)MXou733xOplm~S$Z z?QAd?%zM36_KQO~KhKaGu>}J&^jP2ysFMZB09z<8gUufSmO!_Q-(F+z^h~-p8J_{N4v z=8a^4CZIQm59^`AobgS4e=*~raAUO8k1EJHrBELXxu;k{Pj2lz=r9%LKa?XU3x zTLn7-#gg4%FW3hTf)CN-2zngx5jk28)BxDxC>4K{LLG(h$Tew5IV*FRfXrazxljhH z_56Ml*a{RG3V((7AwV_CQE&u&3_bzJ!AbBLI1SE%3*Zv?3O#N(5>N)QUPvmF3K|kv z)7Wm$;M_)_o(H1jACz@LG{7AMf@tF6^327^BKJ{?+&}}Knl~r!(S}&H6M2cQ#Ou9@ zs0T7{VFY=P2}BPwpb{>cWsrg$?-@ zXXN=Ht1MAbJp3!by9#-a+C&EpnUB$oIK2(LJHopwxq@C4e;{TUi8&@>mN}RxACqk) z=W-AeUMH6SgP6MTJ1B~5We$ciAELPYXXx`IV1z?tYEO>EgS9>akP*cUiX@`uikQ7B zRZxejP}T%(2JhDJ?f~yxs!Lg6VIUE=`DzcS#P!@us zIT(MvmVJ*ct%W>}@;z2tWH}?p8yO+wj$&}VWO!%bnpNRl8{YNF5j3G0w8VAWBdrU~ zrWcX^AY_c8InAI(^2ix%pgAjFti4Sf{}L3we^N9D<4yc0rC|0Roq%}`yD`O7OSyEK7O&77;`>x{~YRM265dq^q7J@ zCJ{|eAnF@Od^wf~bTmFP5?>vT9z&^@!DJx@BC$W(D651hUykWX4R*(~x}ihY*XY7l zk$(*A0h_^EKvON~3TI%8$+VI2#Qmd*`&q4yyh=DFjKkW=+$t&%(N;oQb!5~*MniH0 z&5_X_ExM5>7(mMz%h6n-@HKewUS=hHNzMHMv{*#$bzK zY8r zkN0e&=01~pcz#{vE2skwS-M_)r$s!9e zI7m4ISBW(!BQXa45^WeFk%o~HVH7W6MyXQPI7>o}>qxLkGYK;3ECHqi#NTw1_?nXY zG}|WLW+%nV?4fv>|0!M;d;tNO^COAAq8aRf0Z|Mh!x;nyGcd(U^{BCG)L=yiqENCk zu~wE6Wo|3sW)4!;j1?Koy(GjuK!VK6N}xrI1X%Dz2+IudwX7*VR*l8Ws)Kl1_Y)6m z*1oaM6Ibi4;$nSLoNXR}=i)+UW*PG5#1ehQ(>g%Ea*VV%ZX3a9FN6^H-DGWl{c1grL;~0peUrp>(3D4nW1BoT5 z33E0e17k*($3{HuG~#aOEN;w}ab>oQi>9nNYhuNT?2IFCEjc*U7kh`cqH*Xgw#<^T zbzCGij+@2G@e{Ffx+m67FE}O}fczQA9+yTWUV%X{=uDu{G6`Qmj~diX27Z#npd^~Q z38ij)-HgQD$x@shY{kjJK^z_3#KF-=?45Wc!ihH`oRY=PnXh89ny-yZE3tO%Ay%%V z#lmgAn7eHdQ@0~x=5`1C&N=R=lzSR-$7JA-nfN2rdNp$0iP;#$;eD z#Uj8~OamOmB*0ya1AWCXFjNeJaIzqN6a>@Y#-KA83}%2e-~hPJb#w^&TV^4D0y2l! zp~tRAy9Dj((p%Lc0)RzjuBV|(EH(*24{!X(8JpNe8Hr_trI>`fz3 z;V2reD9w)}8iEdBAehFvRbU^u0xdd_nNhx&G!B`=8qi}lqFsWv{H#fR+9l_+&?TuF zZ8D2U0GoJFJO}*5nzw~a%UKYn+5kGSSSLWI7K_8g(y-%j>NtKBmkrv1eqb`!R)9T( zHkSc9keMlXLkYP7Qd)!FbaE5HG77Z|T*T4Qfy~Tgs%vzM*E3Vv(k?-3(4ZCd z(2SpOJ+c9QfG%$6qQPG*(Z{H&0nWlLuCgV@!WNaVMW!?G0@Oz)K9NZUX7Ynf1Z4K0 zk&mUr%>z3q+~+tNI;1fp0$C$4RsW8(iO#gk9NI)D?h)-FYl971;y&1=OcUw=ds(B8 zG4;gl9H%wHX|P3YY*EV=IMAuN1AhW?G0fBjx-xJooT<{wkS%)j#2!8E zfd{}ZdL)3V2*7CFd(!wPk=0pE1N?{^(<2K0w+tPI4MtD|&~PMm01~OTP~geF2ABbc z*@fUd!)|W$#m@2Df+1fGyVMat@(u)_|kX@ooij>maitvSJo-8$pi4QsgWA6~3zg zA>+NiJfSq7B*k{0O5gUMS9E=2609zcy`3@}r5FfZG z*_1JJ3H<?01fRbwz#^M86?UY8S0FL5$B5Dkntrp3FrB!@_e!)GX|;^#7vJF z$$v*D@sQE{eIl%TM0$6LGjB7ZzJ;^iAZ}CMPPv33FJQEDD0)Wjpw>$=3WY0kC~t=- zS&6kkt;1jF^o%G+`AW(YM)cn?F8`LX`)$VcUoqDIlBnhj;++fVagL7a3=!5TqMJ{N z&rZ-#j}iYKrQv*p10TYX_9JC46|)=aojmzgW`t~cEn9gzr1-3i7s&n@JOX!!a;_8c zT_mzNPn7i;nSkR&6i10MK17d$=ux;zXhV26gLi9qcfcjO!oN3FID|NF9GQ?=xKTb) z{br)uqgdquN35g;l($lp%!D#4L$SlN*RpT2rL|C<22`;Xvg|2?2QvKO9}e$$c&Cz~ z$fR`D;9VQu^=S@GXezDX-GQc~%suFX1%?sLPa@`Z_ zq0Gwo1)2B2ML_Ra;A)C%Zzfx|4qL1y>RiF>kfqegV&bR;=rIp_%#jSrQ3d`r;hzov z#&jbs;olzqU9mzxYD8HdV>+?;QY^C>Z#hnW;4xVWZ2^>-8NI-5nl=V3W5=krH zO__&v){;Hgj|VIBi(W!exH3jNwu*eEi7Cx*9Z-x}ZmA^yr8^+9RzkS}5z5wxrgZ;|WcX(gZJ7W@R)& zb`d^8-UmSG5|nO`?y8_`9?Nzpw&+iGrZ<^@?$k*ae514YA|n_X5y*(6RV3jFX~^LV zA^1pB^x*p-@NYvVB$rwmz?t!Qj*`#XfW?lY?IS1)*920wyDdl#ThRquBj1uSwn^db zXb?K|2DxNsI+6(>T0)L9t-u2re#i(W3lf1x#v&&XIca1IDv<|J-VDj+|7K(-I#5%+ zI6Jbydn)3a6{wF2^df2WI%&vPuth^g!U6k(srK9w>Cy(FPcL-IL5Fs+G)8dE1k zZpd;$jwf>bkQ0oYa6B`XEJz}<(vX!!wxAYr8q$JV<27Be)DW&t#haJmNjtFKdGIs8 z(iY%-ZYfLMxuwyiPXNO>?t?zLwhTS6OEV*eJz|V4Es<$Uxp*rCJu0F{1@uTmkMh`q zxe&-oLRLDmsv@f%XPT4!P}Vf*55+{ZT|#DJE4|H0vJ>9}R)s*1)n&LX`f>~P!v4+{Y?9Xbe+*8dMSI}=|&`#3ujb!vlq^-o$X3L>REV+&tq(pHPiALdABn(@G zVm-xkf@mdyc(=0ljUPR6o8<(5bb z3n^=2Bf&-*2{dpNe?xciGxQc;!$9#iLL;L%@iZNZSdqcpL)^@L#nmE2Tr8r**)mBSEi=Wzs*c!OwGfRJ`9|yE zV2;>WuM=yVLtF}Ai9#m2U#SlcxdE4waYsTnHfnwet8 zEE!YHelcN|jEUwc`^*GD-jpQzg!07QsSJJDwoj%#piA8t!jK5UA?hn3fN>sm6HMKB zyBLV8qbYeDD`fFTgdJ~0Xm}$+<15x0-iTnPjHP{=m^)M#Gl#}v>d1-=j;zSQV><(< zRScB&f-k_2;HAu={F9J9BAr;PB13P`t^%P;3S&I3Ri3C3jFC%KF<|u=aqU2$H~>rqE5RPleGZ-g zo-R=C3CJB@i8hf%zW~~@--L6u(Jc!brN$F)V3P=J5?GcoKmO|IV<2v?^_) zIy!(h>^J7;wKC8Fo1~&=IdlobXMJJsiXNIELuR~Kh>0(&Lio^Vd}usAIIk~;^2L$- zFrr^3s0Z2*u=N2G+0O?%!8z#A!RIfThWs(e9a4+?Lv7k+9oi-PjcO3{p-UyMmq(Xq zY!ZYXW$+(I{M9DHP|V7ji$Mq-d$27RX*9ufxWPDZFiHkP7=kfFU>MR0^aSGocgElk zpg#-nhrm}d1^J_qJt&)YiP<_gARJ`d5cO+vJ`-IMut_+2_@!Y3{6s?$E#nNtD25I+ z+KL8)4w3f21>h`^IB{ewz=(X|S|Xc+?qCcRx)^MS;Ta5z4q<=GMARIK+<}ehqnpw$ zLCYrSz;QKnN#%MBdIVvUGT6kCqA@{DOsO9_PJ(j_8mhj%F>X7&8Ev8^ZK5?HG-wIxwV)o*B@z9?u!%1=aX}Z- zuVRi}xFujDBRX+xk&Z1YV2cXaLP_YRQ6FjHAPGR6hLE(*6lfR~I}dCosQipFJfRHa zACNT^m+9M{`$R`{=tR5hK>x_OH1vu_zd&r_4jT=2u|yvOY{QL|$^tcv2~^E7nl(2T zY*7_kRN+Qgh5D$1PgKbORCHwoR33zr&qn_Z=zo$9_y@{B{((z_P_Z|r%I$_fcEtuc zkfBRF*FxLUq_B$v`dCq|hUml~rVx$TqMI~8kNVU}Hg%G%fdRItNBgKpebmE=>eZsd zgGt?fbUM?~e;tkP6ZHQc{mDNdQ<<64t2g%v(6}c>;y49;BDm(;g?uPF+MtsW_F-s5 zM+({j^y9XO;-D3Jv_g-T=+V*vV2c)^AQ9k9%~8HN%$rTb(5ooJhX{K_8OT5M!50Ql z4+Hrb+uHr9UJ!%I0e$fS^s?zi4vL?13w{gqWRQsy0dy?{{*j9w$^a~ zl^pmtg?Dv+moklZID;;HCb?i>JPUqvz+8ap48;m_AxqdUdcD86*g55V9#{(U!E*Fi zPJ3NWoh&a0u*EVQY8i!IwhSDA?i*==o7O^B8ge3$yAYIxDMUi_gaZ1b(hC(ET$oGBzTK@m8`Zq9CYTQh5 zd24)Lqd2`YUhl5By|?1`0XTk$;`tGZ>&N2z35xTVSG>O>?w_Uje{~u_ZKVa&SDHW* z+CU4X5wulWK_{9)uF?*ADh;6@En$$-6o%6lMk|eBg3=nM(i~-pn3i!=X&NV#wsD%qab9U1mz3sljrMU`ZWdGV?|7b9k zy~M!4(9p=p7@sjUGcz~0z;CRqt!;1}JB`L3?{Rd(e_UMgAa@Tef)n9IxDkGYBPpI# z;7WzQq;jSLU&57Y*HOAsdeRoH+O+G?DJQpE&)$6p3>rFO)Y$QprcR$VXWqiadHKs% zu3o#2?o#P3ckaR|3VcH45`{id;1r5i;1>7=j)7<38u-Tj2YAP$@9>YuKj0xhK7INV zPV&pIzy5}wJp1F1KmUA=ue|*0uUD`B{+k80|GUfoKfSM%(v@1E)B>dzD78ST1xhVY zYJpM@n{9Oc` z|Lw%K?Wg|Xdg-N73zS;m|HuMAT{-#ArU}Cbhvp9GxcQHFv3_=ZY5yw0@gvW^i(t=~ z#xa)S-frhR2rdjru;MAUWrOwaAXpS%_>jBaI|!b2^Xh%_MR9yYdN7j=8-4H&f;;2W3YvG+LlY-z~P`E%`gr9^_4V+y9j z&;_(FxevP7!mxk=Gg3i3B%$GncmDPcyQ_ zoAh?(*uMVj{bNZiCO8&dmrf5#Ao!vFo9oi_>kdo{TEPDuy#AYRYVbi&A}3M&_3NUvT=&Py_tcbz5lz$Vz-a1%UiN^)s_$6)d!Wt zxb$491^&qb_dZ%aX2i>PQT(!RLem&q@!IkZf{W8?7q*^$zm`aGMR}jF;ICGR`GFU6 z(~H_g^yZQ{9Bol_T|5?+L@+b(4T1TD5(pkDFS``|4K9ITcTmw)w%tk~7+LJPwA9bl zz6vi+P+LFKvaa}bNxQ2jBZhYh-u^}Eg*kcC+Vj@Ko4*kKjPjF@rYfstz5WZjsV73K z{rmLtL9J`1#YINMq*N=ZA5?zx>cOom7eBvr{o4{4l%D$Uw7}ELhf2CD78>K>{@LAX zMLYL?hiSfD-6h^k@yfIko4@wTxYXA^>#(>a7EdO=4j-T@QO5g~UjLp=wtmaf{?PU9 zbxA5giCw(M^XAWguf7t>%VTf;H2PVNUtT9bUeo01aZuhmD)y&8)~Z_UD!ZfA9B%7g zmjP-5<^8SVe|o*x`QlgE@2KXWE$grIazcAOf&**EG);1S!zWjdfD$ttinlH)bhc)GPSwRT9AsWtpni ze^vBvi(0L+zGl&%|89L2pHwco%GRiaK4_#)yBMv<;bGALr;v|c)6?=^VDZ0ZdK^^E zzuKQFitmd5oc)CFR0O>8sPh+eLq%{{=Q1zHsB;}! zS>W-d!}s2$^u>)6J6DfzFql{(!Oxrfrr8y`RlPeUP<%Q1P4-ZHN{FlP4dm&>o4=|0 z9OeYPxynu#J%TT@ieH!N&(svWk6rvP>Xw=yx%g!gsp@3SN4nR=SUpBj-mKR7Tc;AC zywa@mH(y0?Q|BrN<5UFd=C3~lDe9$*IO&ZKijC6>Xxgbo3@iHS>uqZ_!51n5{V~eh zP_TeBN6kTdYD?bKk%Rj7=-MTxOZPs*^oL@4zbHNNA8&zgPHdVxwEf_c^}O}|;OvNk z@H+N*2^4qcDT_?K{+q2&aIsJE{z1=YwLkWL-TM@>Ncu+2Vo{kQ?gd+?qiTW-o$IVs zpd#3&x-RNYYK5AhpNfO}?k{as1YfB+)KL+M@igGFfPxTEHg0+Z+P@y( zy>>xaR^j61t2e*-Ud^EN_}^lIpT9c!4!J*{TstARPMn)KmzaM%FrunkkyG^5XK{5z z@$^Be-YDjFCySzAD_d*5QSkty;@4T;Rwd&^v4;}{lRjeQtg5uC>;l;Vl@hB}48;DrE{oG@0y(5h@S`5VYFz@Y&f^P(dYXzL zQq5wJilB~~pp%NAx0;}VieQ17AVWopd!$!$3gei1gCUIl%oGIczLmum6@&U2{i{Ms~kA|@u%m%ym9xzliyzI zUoJiKzqi1jw=b0ZqaRMLo6@sUs-Ky}mGIQ<>b&M<-}=KUJr+}S?@4+Ih@7`SF4&7x zB_I~6u8Was(7RquASxyFh6gf2rKKJRbthH)32OmymWspMIUcWhMW_h6sb#pS2&StE zOjHk~x2p-{t}cr&^$64zs!A`2e5A`k+epn~n~FeB%atmEGwMEQo{B)*R3&4QnqZTq zF2ztafwreEfqt6gkH$I_RrEM$wcP^36Drnh+^*ZeQIqE`D}kW&)c?W)k1p(8KE7*R zy_7gCe%Lv_Re7)1b0mlB@jTJ9SogsyrD}rlo;p=2W~zvlB@#DgxUhXeR)cKs^Iv=#Si8UZe1yqQFu*# zf)gXFynSjf_SaMt$Fp@STUP24tkE0Wt3q16aknJua?r~zikWKAt4?vS;HoYQz2SkZ z(IptDDgDuK52lwyG=_e!$E#kIqll`k7m#>Li@Z=&nR2BRHx{aJ*oyU2&?d zx&%Mzby7=p3A9~`|618s2N-MB1pQPT?y1uxtyBcsxj0(!KlOl7`?ziK%ghc^bI_iy zrAwhlpglvRWbGChTd{7t0n^uis!yQRUVW(U9ZRArJ@+px@c8n%Pe1wS;J#fSY~8qF zor?I@sD>3|0^IE_-t_o4bSMVt)}wN?UWeeIKEXg80uqJD_eAEQ7BjLfc)BgDM+5SC2py+wapOP{sCN`>81!>gu3X-`l04 zieRvsgL;&+MU{UL7ZrzxRn#n01lno;ir|VmU#weO@LM0H%i~M64DFIP9k!`kWR-Sz z^a!*YIt~~+d)ekg=e~KNf3ft;|G5ReDL1A@R#w~W2KB1esI7b>`+v#m;hB9KmoJ<( zb;6htLk9Hek=t1}R6pFUdZfFq7sl#J(De=F$ViuAhmU;xL4D&cW0#&|XqbeHEn*(=Am2T9ZC8K_5D(Zy7eDxTyjczHl z=hXc}hKfKtS)*GJRe-3~UQ=tK=Ab=N*pJzkiAZnIZPGf`lQ@O^lMyqPuHSp&$|Jo2 zjUKbo6aU#3`0?)53#X2Kba3yEtsB?B|NeU2XMrD0>e;e(MpAUBe;F5zm9gSlPCDhe zYNG3I%8?F%HeR1VxAB$`T3ys(@qs=E-9gOVKs|~@IvljcUao&lIzpE~KmViK4{BHG ziKws3;nM&$MVc&1Xs4(X#A<>w4OJ}E z1lo1UMHCiZ@pZe;&?C_1rDWA_+iT>kReR3d*T1TqdHlTO^QCA1FSEeovj?`U&YL@Z z(pV)3>YkgEldC(5X$_BoqoG*pu^#1(%UPq_u_O2 zwB7UwROx_4dIYL&?uhCMHuSn89_R;ax&&Ii=dLOa+Bt8MQ$^aSI2?#5x=^%L4dWl_ zJy*G|VllVaM8EK{jYS$l*gRc+dJ)WYp& ze^mdT|sr1x;p9Nn1{?p?J-`u`&?efJhKEHVNj*bP+ub4KXZ`bxM zo7AseJuAI@VqA2TZXV@gkiF4ck1X8N;h@!TnyRKZQvG{%>;6D5&{Bmcw^H<2+|*T~ zgC4;NU4p541lx59w)?9o@^lHV=sltyr%Ryir{{# zJnOA$HX_q?IJ|72N6=G;Ks!c{Kox;()Ek17*X8iJUOyM0OYnQHT86bQfp)f&nnFde zKmA`2-0!LGj8z=8D~k`;G||}u)C9Ns6=-4V8kX5&;DWthsjq9bhnrPy)M?y5rEdmrD0aE%1MAfxlk9c&VQi`|-er<%?!dn>23p@F9Z+^y@!x$Y|Y% zL67T|j|uhjbkg9jL}A`8s+30w%hp_)LEYqD$~oM|Im(iO^27Ra5A4 z(0-to?oknZsh5dW5ojlR=*los-~V^iC`RCx(t50#!~Nlfy{)xha)aKpcd0`h$PYCu zn^L1ik1>lsIQK;T>%!w*D|Vl_`ncq4rDsbm@c+35UOatx_vZC0moI+)`R89;x_;;J zAG#{+pEhc6-yXT0+P7)hyjjzx&D(VDt4nYs*2hI-sgtkOC3w=LSi36RRZVaoSC9cN zPIXq7#b&){AiH!4E;cRxYh^!Qm*9^Pss|XNnnkBwQ+#+JViLYUmxK09`=TzCsZ|l# zgI0W@BKUn~Oo0|Q0jW&~<(0H3`>~F0VX3v-4w$+A&vE_~~-cu8e#8IF%M!AXmj-$VC)aEo;-9 zmQQZzKI+nubNd~?)FCQ8D7C=dbO%o zt(;XUvr<;Iy3M&r#*c6Q!(-5k z*HrHYzk^fh=~4^)7g^xhFF!qf`t;{t|15cY{pSZOmo8qkXwj1VmG5oY`^gt~)sGkd zo|Rp*T9wL`D_5yntycXOx#KsgjrV@$o0Tcd5RtYk!pB%uc;Kbe2vT92y#lv$3(cjlJ3=+8Z)K4F2bThHw9j z-uxB&xuKzfq2Zeg|I;1qC*ovo;9yw8*uY*4?G23V4UFwYd)%Om7@)ht|Bd3NX2vGw zMur9!g;L*~S4wGMWULVbV^lCVMH3U{XC|C9H57Y|Z?<1-rh`+WS&V;NB}eBBmv#wR zeagiLyCzjbD0&+k85>!eS(}=gS|QWe#NI*t98F{Woiv$o&h;w=_-40nP%dzH!a%c_ zzGFM|i+9PGyCbV%$4)^Dzg%=>^|(fR68HY}MgPtxPJVoM{;^AyKN&Egad6I{NnHk; zJ1D9d8JQr4no#}>>@~55zA=8;ne8*$)$cpDkAuI_n7B$E#yO%h#D*ru6uXd8{9-kk z_1pLL%^o{9#lWa^v66e>XSh`0qV# ze%=4Z(&sP!{5|biukFWgUYPX5wYVQPIL!_VY1%aPJ%#tX|AKc7yjtbcQMDi5xO@4< zhv&Y2oS53-Va-K$J35`+`S{WIofqEfzc(qb{sF5F3#;@$oNlL=oYG-!arRbss|_Fg zk+S27?YFDS#cn^Ewny_nB7T4P_2`c()O0Mf>F>;iE=xOK9Ts?M)3k>}y6;PTW#o0BP57?lIi0KI zPQQ0416x+i-`sa#{=RcxbY9|2@i?XP7gBEE7LPTjS;BVL=?g0soKKB=kTUR<#fV{} zzMXZLN_bea(zIo7m~uvftMw+{hpDNluFo&s}N1{b*vpzczU9$e-?5zR}Mg z=8cH%aBOFnby-zzdn@xKE!s5lsd>tJSD3BCvJKgPO={FE`&_>26%Ivu+ng?U&MsSY z_mxj-lkfZwl^dOPvg2Zz+@s!K7uw0$lLxam^oY(mcJ0CU2`}^89(xq@JUjGdP;!3W zbGPHiu6$Bwq0Qx8!{@dCZeL)^^Mi+N&aJAsbG65_o_(&b9KUsmn0@zW#fo;Tbc!q% zH*a#kdJzL^2DCo@Kknf2E$ zpX&=w{j&Ot)_HrHxBBtJK@V=+aC>Fq^}J2lhRI()ICJ1TzuV~w4$(!KG|Y4+u4F2xf(1W9o{n6=G<+Wk1Zr7JqN{ncJ zzID$gO;dOE&R@O!{*``d8)mq6I5X~Y^Wi^SJGs99(E0gO7qvSbw|dmpUlw$(wBg3R zi(`rz*)i|n6`T6JY-hIm9`;-6zN3A&!AUyRU@)gc$GmpMep9gf_J`N+Uq1XQt?|~n z_m&Rp^Mh}3LaR09e?8tir)}Js?XS+(>~>&4$QM6981}tNfEc9YZ*BLb3(a}d%5ozP z-pk0Vn%}RI_;gwM@gouM$+Po*DCBDJXvhoi=6UFDMkjY`eaJjoZcJFoVy-)d0zYPeRq=C6B^o{*aVxz)JxpEr8-%aP7`+0FR+ z!|~5{g{(`NbZ$a;hZD!I^wD9v{a|82|69Z~rYAKe=^>%iAv)yea!)9Pu4BB0nGEj9C-3&Sf7yJSCe>hjU`yZ)Ky zY1G)_`i?Pg%KECJ*~7cPIUYE8+M<5WX`0o^UIRVz?=0=ybjX8N^>X@D?ChR>ph+YD z54H_X`uK75>9M))pU18V=TGi3YZ)WfXS?qhxcrxq zW9%+m`t_$*OY1b9b1+{cQnB90&&w^{zItGyn;3uHYu~wq7m=qTI_BhH2|VeOGn+Q# z-@D{;`S&&7Y{-AQ&~;1qb^P(q4h3va`KEh$qaC@`5<6dM^xOK!EgtqU zeVG`0&q>D9cpiwI5VliCxaq-<~;bO!h!I854Tzv zU)vQjbl|eJVeXBahVS&;)xKH7fsGpG^xSas_QVTbLm%4pZ(ni6!ohLB{rarpftfqc zU7~;T^*np+>WaM=u-?~5W{H}Ff($8%Eq3gj#3qNY@*t~b@w8|USZ@lYK`&i=xhgO`slA7~qQ_cIs zTQt0~a8vlgy9sBu{kY-r`OB|<`RLj6gJF9Q+-hy+^}NO54SP1veAsJ1{NVekMp2tL zZC-x+@odXB&j%#j^&0xoo(=nc?{TZ^v%$YEJ9wpilED`}PIWu|a8R?9flVHUXKuXt zb12_L4y1g;wm0|W@3+uu2JXWeyYPW^ec_AYt0R@Fnz60ouA)ZXhSH->X>CywBC z84mc`Uz!=Ev+2imobAM6$6P(kUO~^6heDL~;X&9h;|e9h3_7bF(Cf2yGIdVdK|~m? z1KEMS=0Sua3t>)CBjQqHU-8l*U=r1kPi-4`;~vz|(EQmYJy?2D#FGV$yzUi%npR z<@)#B1R?X}o;#_%`q+1#v*xELjD^@klXRZob3z|4o#otQyMM&^MyRX_?6b?-9&)Co z?3CiXvkD43AIm^Jr@V~Vy!V+U= z+H`+0VbhXEw| zrle&GD(Pkp^AP<00vOr&CTr@o8-o|LAY3;U+*8nzR?r>nr-!C8%-(5b2uw{g4{Acg+0q1j*Jl2o46v{@k&51LJ2$ znzo*XA(noWePKWTttS!vxN~E!2G^E7h~NJ=XOJlpp>~JIz!1bk?`kR6Dr*17Kw31q zg2gvPgHP<-x#V!<59TSg!nkx3VdAay_n9#0{D+b~4QU;^DJq9~YCOd^#l2a-QI;EQ zvpYi@m)jp%1+OjWZ+^Q|tap+sda2BjmFKa;w28)-D0gXlCm5uvAC7@4nxjP)^K*4S z&&Hjm$_a*ZV4(gF%m9EK1&FuX5$NHo0x6BR#xdhR5{?T7!Bqc^nfqR@M=!ZyMpoUi z<*(5euuG?jH)lG}a0+KTu z-To8VexTxz#7S3~Ch#}5~4cJjP^7OA%l zRUBTbc^1RcdcQpV)Q~^w?#@HF)@Ap+`>k2f?gX9xh;CAp{72G&e*%ZPwbc{tZrFf; zw7OUJWk^9Vl-})p9n! zN|!~O9A^xiFsJ(sJx=5%zu@|KnZgFX%c73oYUMqYS912xXvKf-HH^$=A&F|hSTYUTfsr}dUKd$q!%&*aBsE@$Y z%|qV);yU~6&rzSH`PrqvfUsZNPX=c?8y2-+!v2X1Vta*YQ?epz*H$lFOt;`pJYe$! zED!tnn|LMt8_c84T=zBByKoqUd6ECKz&r8kO7WPhGFLvTrl8eXv%pNB;G&et6DP3R z*z}a?^09Zfjcv%yA|=M9LwtF(t*i#E1Q^;<-VQS`B8jojVV^fCiXzXZTRl4+5Y48X zPoM3krfW44S8|g<-pV$rFg5!>xx(I{R4;;2D;hq-Zr_x2Jo5dS&RrnCI(|_+xcix# zTph&7b~!88+p+c=*m-dl+kK2!(O5uAAo3;R$Wy`mwCAz#hi?>ak5VS03yDKNl;ChOW;$IOlG*|?tL)fpx5|@+`bHk6gMi36_5d? zfmWcfxApstp!r5$zKnwip{PBMt-%W^FSF4y(WqGC3jZdwFjl_(T&edaj1C_?i16}q ziFxygF7pzn%sG;uYWN0wNa^RZm+zMSH~n?{6$lk#GtZE$6^1~Y_E)y?a)VfQje+C> ziXO*>n~g)s0u6%zm*H0%FW^n+ z@a&l0Wh-scC**^bpNGpcpPl1E=+F?!S&fnoiYl``1pS(Dhp{ zfk>R{z70gM2TOXE|C;2BiyMkel40MH`uNcg+enKt{K4>0_GY(!zdr8Mv+cHcqLdya zJ&xfjV~b78S3~J*DZg2E!fqFIBiOeJxVs1&cQ&Fl``G@5~TcG}Zjge*x)wh?)V@UEfW#Q|ws9_r);0U9TArd@15xG=ZK@T5RL>Zli0S9@W1&xPs(FFq zv#E^p=+$`)ru-xZ0V=h`=?!PY5a#o+utQQd>Z^3Nazl?iW2W{;F-zzcDFMa6mCzDLn zddb6=u?&P?H2#t(Ch_4qoVi_T;2*dg@}H$U7UAyIcc<^B%1>`i4qiQb-jjeKoL;Ug zL@`;xvOmzjM=)Z4zBEbBEk67U5Kt=P4>p;>K*79f`GljT*THnfZi`tUZLgMbrGdV| zHI~=4Ew#LrB!d^c4?ZDAc` z%}d)~v%?tD%7R_}h(+H*`3lXLTPKTs`h0)jJyRW8)Gr$fQz^b92~tWU(tW$1K>uM| zg@i$f^ar&Itk)D9RDS`BN1l@3h92fn6t*75Ip9M5bXD%9XrrCZbT~sZK&hVAq`#?R zqCS|&iZ%9`V)bHE(irb3R6h{Mg>WAc3;eG0LEjY)B5T;~Vz`wY_AJsIpTwSREe6mM zi86)y4DxAles{u&#Zt7Q$j;Lw5V7}rM}c)21iYpj=yJm9&qCeK6(ERutUS`%*KP{1 zMUUZ{uj|OMeX?w^VKm3&v|HffZ?BzZ!ES%cCmF`-(wyMD(O~K8%^cWq{}(_PgYJw@ zvizrLnSzj|FtZM_NA3{pWL7ddQDZhR9w>(?|Lh~Z!Zr5u0&?F?)6MfM!Jjzt9*01z z*pUL-Svxq~AX>>5MG($sibKsOb9X(&geBdgQ>)m7m9Zz}gBs)LVf1M)PC(Digh9Zr zjKcZr4wh=HsRcJGUtkl7gkGxSagm+}zva|b((z`3;M;=Rdbm`ARsCc$d28AT zOM6MgcV+6a5p~B8GSpQX#9z)+sRz?>MS6_MLt=$1-&BV7 z38wyN7cIeuifn2-l-a;e;=u{9K@5&h010fK)Rr{L10(txy|i`qwng(tnVgV6nPU9* z7&BQn9$WFwuuacW^TxX3_;!aa6%fLZkAwYK693!z@{=ZZ;5I0fVpBU>GQlZTe>^(G zOy{&}7CvZhPG!FL@H8lETWMnoh z^z}+HzFy3i?gJ)4$r7uJIqOrb->@R!z%!5V!c}PP$GA%<5wJvYP#9B>c`>bbzx@lS zUZ9#EoOuSF=mQDTor}j+_`;|Z$M1&q?|P|w^{&abhsn80%o-L6 z(M{|Q(eowYE#J8^ur|R95m8;ZTwsB4dZMj&VXk{|W6gtIv0eM1gA%*BM{P&v7W<5dZV_pIxKFQzKi0Row zuZ5(A#>km9DKzNiq9@3yBSA*24X)-YNt9D;FZu#~0jaF;qsV#XK?e#+FE~Rr4WAn( z#w7e%q*q)CcwA63jmt;)(B26Rt;%RFce3)E#7js;=}bFK3TsJkFfiK)NWy`CCe;u*+zA|uE zKiUkeOK~iHQ^TG$#Wom4ypkvnM}w_X*Q{M&VxI03{y??wgCdfBK>FGV7jLIYucTWb zh-c|2htw(;?i3}njc|wy+eaT*i-nugIiE}QjtkEx8xhAAWc5IO*hAhpXd5@^mB4f> zsi7=(q_D}4kzXg5?cw?ndv0XPoiQ&;keMkXU5b+WefC(Il&NGg0Uq*Ci|LRk9w&ay zN`enA$SXjjd5tVMA)qWfU)8l8{KTlvsrEYBU>qvp8I92Nx2jgvyTR-Da9K1%{6}}6 zX4EGJ#4a|%K`n)fwip@Imd!BTkNup9G{USBgP+YM&>gTY&4c}Lgx;DhWA>Ay(sRL# z!I#`;Bz$*`P0w0Avgzu3Qz|J83m)C5?-HI)M01Qg6&xB2S+N4W%n7_|imW0}72^+N z8n-KT{7i$no*k)KP9rW`YZd5wjWnP@#=?uP%3sguAem8F9s|CE-Pk%92S-qvnP4fA zmwYxlH$1s!sI3r$EV}+CWJ}A2^JIA-BT;e0Y=qqSKtM&Q3~9+}BKOOEB27SK^g>18 z2Z|B1BlgV>O=sN-)MF=GbV9(Slc^xf^IMs*mc%z9Jp(*^=w7dVxaI45pMHOXG7GSu za`dCiWSQ!UZ3G3f5q|+{tP?$_&klMQ?|Hd>cm6KULxu$Yx zoJp_IbJCijeDS_;N)dw<99(_PCre2(j;M;rWshKd*?rT!gWQ6Q!N;XFH@zHLF~7=k zB+5-o5+{6rKNf$}K~7IUpLqpp{unnC-_x0Za({Npc|eXm5N?`Ta8XgBKAAEwrxkVq z$4_H&)10UHZdsjY_M^lphJLqhwF-O`L-=DCTX^IQj&O_R8%3V?xWkQcQV~3#9}&cC z{{o(8Muv{?b1`C5&rrXz7q3!kntyg5Z;03Rf4oRdIG#t`Baxh9r8+HfjEiz3Bue)C zAvT;<+z_K~KWkVN0I7R6ygdsGM+`Ux6p)e$3PRv_5`X|m4@S0BYnq|9d z?R0>A!k-a4b(G4mh)Xn$fyO!bgz4EkF%!0!=+X%cQ3kp^bU;}cn%9HdL2kiksxFYcw21Z_BJsb47aZ;!;NDxCX(Es|$C?8<< z6xKNPPgTd{Kh9MI6tv8o>C{5|v0uPMN^tRD%E?zxNz+-ds4|^Z7Y)abG?B*JR|jFC zt1!jne`?+9G9CpBt8)nPUb^YcT#d z_C`o65Is@ z8O@BDYb~{(4kt9yrR_uR`@$)DPY%2KyxE=mzJm_pXjoQ3(e@9{im6V7$pIah909HVJo%SB$4^ngw z2ra*!B`IOTtEKkU&tNIRl+=3z_p^x`qhE5*qHSzdAvP}$Y_~$3u-uK}UqFZPUx4c5 zyT1U!qJM{T2>*n08l)LEE^CZY@)Z^Vab7gbE-Si1JA}e|=mW1>-%`PVAyC#O%n23`N+uqEwQqeX(_q84YEf<899zhXtiZk=0DDnwe0cJsR z>t-@-etAy5{_AP%|yM@_rp~R$!c_&d597@?JLEz-w5!= z_KYoZF^nmI+BMczW=7ddG)-8_GEyTaLPsuy!9grrw$*K0pTju#k$s?4t_UEYohzZg z;rYD>*6B{qRzgtkdKRyx+lDtkx_7?V>l#C;!X6iLs1D8>992y3y5RO$tCb5bpk3~Y zi5pvc8#kWEVy-&lhgnEOurA7*<6u&HV<$+)C{m`A-11t8KKyO25u3%~xE%iJ9gVF5 z$0X51dw9J8*!Lhmqh$rj+fhmltM_Pvar&#{QIV<9siMvF@S0F@+yx6lO8-%uIhl*7 zeT%KoS1YH!1~Z2Pi_7f~VVq6c8%XcnaEkixZq`d@sMMpQcX^v6PPws(vVfnQ+PI_J zJJ_yGyjt;rfIrn=r)9XB$KK7oiG4=xcPDSMnog-7d{0_}h4OAztxEO%Vcn7I4U_xb z34TB}9I8FO3VOr)@#t^n__ZYnMFd>+I5V9r1M%bN-%Rimg&qp>#iDtTx11OD-U<=| zz5zR!Tij8kAOf+3Itas-WcAMS#NL1G6!8YWs8p#J-j6Y;#&E5WnePbHNxoA}svi05 zn1rE48hYQfGWYpi`c#O-I1w@<^T(@|2nxr0nw?%Uv(m=b{-JUiH3N0)D<6ti;JEwTz!4QUyt=}Ou<2-gN`ytgJ948*%ngGS4&z~QyRSk*4xffnmq`RzL8Bdf#sXKw zKgL2uKB_%-AtL{h*(m9U_jY>RoT_Leou{87|EajJOw+0|SJIYeqxPn~Cb zC=R(raIZ$RRv2=zBiMmFMCu}O=X=$n)i-ZnR%+%MQ)F7gLS5I5 zHsow*UiKS@nQ0>Ja-c#ALQm|O-`6$VX}VM!?I+on95R{DAV@*k$Dg|C;se>^oD{y8 zlohsif2wbJ@F%DmA*PXA(-7)xcKJ$)R;Av{Vzq%2gA~MuR`X>fEE`pq%?7lmQB;A5 z+TgHDc0~2g8^rq?u6box4Iag@YRY<9oLBMnjKJB-Y;D5la4qVh1-PN1Gg3?Nvw2(m zFTmpd9)b0zE=G1RM@zh9mhc5nu4nrB7iQ+nE6e_+u}LA!H!Gl6q8LWLLH6084C-hl zjVEvA487pR{Gz!W6URJf26Zj2iA6jD7fWMnJER;&R>vC1r{YOH#`tPH>k^~pq#zb` zl^L}X6?!cMBj)M!hA(VrZMzy4=rsfKtCZNR^Em9LCqnIM$hdVYm2(r(f0!jSkCl;{ zc|McjPnzIbjJ**s3vT_E>PX%y^cl}e&7B}~NF5iUN9GFNV+Gj#ynR1A)nhV1H|t!R zO^B1H~{W&&Alt($lAaDzik_lyRs@qwv5l0*J@X0p-GgAKdQyNK?rqd?Mj{6(ep;8h0Aa;qigW65m9LhJbAR zOF!)Uf$w;o?HOV1QX!ZW*)_=1X{T_-tsjZ<(=BjBoQoym7);fJCF>pI$$Zl4t0NrX z)Z>jg_mg?>Mz3p7#+@nyM(nG8G@xsyFFoZsvhXkMe^nq5VpENbBZc`NrD{J{M2^++ zx4cwesV~nkyRl~|+rA0=ku|4Xx7qCsY{+T~DVDvraPMYU8y-B(gTUYFHQYjjvo=+w_Wj)3={^IINtLu;_L8) z7d@?CivbNvRX-~)ow3a#Vv0BK5QVk{fzc7r_aKr%wOU$dVK>?^Qj5X1kQB2Ti6{zm zEqtgD${p%~^muH;2z3&Ht%f^n$HcC9pmxS(I#zf0!l*RS zP7#Di__#DHJQ5O0amgPuO2xM=>2@mW$ zWdL&;w9Y-CA2G(14+^tf9Ib#NeU%)P^ZPR^*HHrVyoThjHR>T7;y4mTH3x_D^s+Xw z^KS~W9F`@X$MeJi#DfWrNXj37uvwpmR9~M9NUvztroyLmG4)RZt5q8qjIoG!ewm^D z1Xc@{^9&%^sSypZiZgNKE8=CoRs|p6Q$H^ADGJL98j%`jvA%UKeMhor`nm6g z-&kC8A1#K7FF`Aauoz|y4bXY1MLsP@tTeI~Cd9BxWmajf2!EG_pMAHFFHq)BK6ca<=_zzD zP39jZ^iK}xC^0U;!?eEu%OWyZe&^|H$NSgph!aRKx+z*YM;S+DbTW;;eGwK85$1NH zPRc=dGnVrRM_+HKNQd%!M604>&fxX3XBSjElY%7_Bh%LK=JUaP5LI6~&8 zs5xa}otJOAxS@%m26Pcw8j83rL712GnC320nBjG!+gLXHv$Eadkya%xbPvCdv z%;5-EO9&5>xw$o6$;&v*8DsG;EfnbwcdNhMSv~k*g?10|fP!F?G&07e4|R55NXe{u z$`oUTD^!Za;zDL>&uq_Arrzt;03o}x4T`Mrt$Q5p}2)r(`5bxN)SgY-hRLxtQxjeKxX+q{=LIBWjB()iT(;QZ7wJZoTD+ zCeJSNfm+?U=^e0oSLtpDYjgh1(f5tEdw(}dX|%AC!M}j+t<7?_zks{SykGnle*p(K z4*yzgg#RZxg*@jxSG}TlNBspzblp4D-1cc=zDk@K2tO)C^hvrqLFMwuai8}Exq32x zZN~YN->whvt2TK2DNT|e-^f&)aoy^HYty86CvUEJw(Ah=Wa@e@;NJWT_)M7LrSGlU zq`xM3(;ZcEw&ag_v3G=jw$-=Ob@^+~2jg~gs*lhQWhQ&P_Aek{^J+fK3v4CGcjpA% zsgtof5`ZmFx81`Z^ZlxU)rK`_cYQ!J_Hk49Sde>j z)R!(T&Mzsyi_fm6{d}r>vZmc`)Q$~dcYRoN%KMejU;fW&j|aU4y*vI^w&0_UJ<7@@ z&)%=U0JvX=is`=;V5-g6{c=3f~-{@0x^bz8rI+3xyypQ7DZcf??m z?06gIMa-{Ps++oh4gZ^ehX3NS4kImeleIx%(JM_Cc3CRxYMU!v-IVF$c{(-QBv0X) zyZcqG2|E7Oru%Cel6{ipLT@Pd(tQeTUAD3F0B@ZF{p?aS?OM|22kjVbJIbcxDDRiZ zTk;(GB{p@zbsF8m`fu)j-+}rx^n`Rz$y$0F&lPLvbR_1E2|sL9VU}w16>Kj zNZ{Tcb(OfXTdMBjqXO4L4{uFZ2495|aJAjGTc0(LC%;D?E*2}+e$2WY$0oF|Rt4+# zW!znKDzsktOx8TMvuWraYlcO!G)&q#l$@WwbS(WZ6_yll~#mRa$U7A`a0)x zl{S7gta9C6EsHw_q;=%Ci?ub3W!JqM;K#mxzYW*Nw5A7-JGWY$6QH*j()ppm=3!|Y zaLBkaSoQ_*M&=|O56eDX|cqNsL09apt8ZHw~jo%ZcxZGg(< zc-u5MsYwp|`Lg}2Y57BS-#FQp&;FR=zGUBUGIx7w-_!BBVRi<2Jm2k8aoRLs6<*z} z^JV;1`)l{C%LgOPUjMc?#q)I&)$z$|UYl;R_)KC`n{LgAsSXpCPn0b=-;D$x<5mTh zCbil3&*ZJigw7*PV1$&p`;swO;`yR%Z} z?zGSG^ysytDs5Fnu4rY<9QSH6%xcpuh5D?oj=SrnY27+X%=z-Orno6J(LS`zflUWs zm8=A=4YSBiTTeSLp)y@oUbnCfp{<=Qi5ER%nI}tbDe9i8O}gh3+3xxtX>sltOE7SD z*0I5EBAqsM>*!9~$d`0$Q`~nu&j)?&JJr<>*TJ2a2EDFl!@LmLHjI`neGfv}8!JK0 zwm`baVG%pK>r1scx)m6XoHip(s_Nj6ozx)y8oe7#k)=%#hR#c+G7yw?HoUx|rfrVy zQ4PBF(mlS?X?M$bSE}#FlIFTX=z0Yz)^AzplvwftRePn?xOPJ2GB>qe3}`ofZ+9ST zLb9!lS$m!1n!bOQA_#STCI>W!I@ol;bgNL=<*ME^yIu;W##7fh)>Wu3xOVL?z~NpA zI@720T@AL0|4CUypME~lVUXsb71q#ao>PPFMO=HL(&J8tG?m&_!y@~VQTvo9b$7_B z;?Ov*{sZfSL(LtG*t+|#^SMi40#{CDS8dwSu|r!P7#gM-lx1h$!*+LPnhM>$*$VHx zy!Fkp!u9pw-r6+0s+%9hlUxd`@~iGNJXhb;*QGl3Wz{|PPaEo#gc{J!?Jwj>J)T^F z24Tn>6iIt>GhocJvA1hyw43j9@OOBt@O#h!hwjm!#?AQO!g%uw+S{Pt+~cLbDbwY& zsjs8gCSg#+c+tau2TNpb?Lz1L?N`sX+cYLRp;a=G-QKu^im? zzFqwU|J?_0*g}?lm(4!p@nmVTw#KLP0epSBzogNt52ou(Gi2@6|L4_WO;VBHI@Ni} zr0Ztrb9IBtuR>CwG!GH5v(dh`=;tFyp7bM48Y|F`{uM-+v>(|P>>_R`eP+kV@4 zht-+~jN48Y)#`cdNf;)WtfG`O*wKw!>QifGx9w~xu=K8s6Z>)0Gt+8P^QbQUBQ=yI z^#l@fq}gQvJ(ZV-RB-uPS%GD899EQS*gn4m-oZAOoohbR`mN`LE#-#Ki#+{XbN|D* zrh>h62z&!d+h?XH!(iP>V)HOcm zWidxE18->SXHNv2V=R#sGq>P_ z!=M+tcbT*s6=cM||4MF#x;z)k3Dx_vEcRHOS}Xq3WJIw}!e{B%5L4 z9hd3IyOwDhLmX;=pui!$PbidLaUj*5By%R|gS|EWllTLz>6;rnRmP?lyYTUc!bAx_ z74HbftG@shNl8W5{T336$JH2YsJWm+SsgWt_TrIT-fFvvDUEWEf{Ll!BUJ|n(BKz6 zsg3UY@nPD;XdV5jSNUA2xt(l`KQuC zX2H_n_8fz`JC)_pm~I_4eRW*2c{(mfzEZT|_W?_631SpnLv0#j0X)$S*!}CD{4g0( zO@_6urA-I6?9*?-4dhkAhkEHRVAl`B(PJ0mw*H_I(Q86pQAzGZ@)eeNr3&aeyHd}^3P^Kawdh59$l-c}9P z#(NRRRd$yyMR*Zallv4@jiV7;mP+-T3Vs2Yj~Zq3eg8r<92^YMK+T^P3F8Lpt-%uf zEhicUKdTn+cY2?~Xt2i)6~IsuR&mNYT|!fi@LN}jytoPiy7~CG<`|TErx)%-_8adC7>kKHkJKWhc4ptkKObS14;x-}`VDtZ5uhUvB-z zn1gzfj1`yuyQ*1co9ST*?A4Z?QNKMqG2~_?2*tq3*VF5}(~zWUJ%r^qGh*-_nY) z|Jt9;dkZkf8d!FurS2BRYrYQ)ADvN%;s|8&IBCsmY;MN!Wew5 zK+9?78@bqVf$}cRVN-mxAMw43Ili8(kv*Rlu6$|F{@D9iPXugdh^KU48oKzmV)EfiOx-XjoQQNU~9VP zjc&`jPA);9Bo;l;4=DF$L}|r>t{Gdo^zpWOd4Z?mZo5R^1xNQl7nu$DkK^^&ft5;& zMybG41*M$ckQri=7hcig8|FP5&1Pn!z10BRJxos3}!1c z^+a4{?#SEv(r>lm9usA5*@gb@N(NHBn%HZ^(YjTu2(8@%kSWHRRe~zPsj`y6vginu z=%@RsjfyXj{Kf~&j?ftm%z>65!6^&F=H0o?T5z>3f$OaOdDvxIsvQ6EsGa)wTf7as zsJo>v$SN16?88cg$AeTRqt(1^J0So>?w-|0Z=$3SSAwh79J=X0vno*rfX$|vSe4y`U4 zMy3j_zqYM%YW%a8BFJEQqkFQ!7nylQQu5zO9hJtVCU%`vOBsZ(}s< zqg77o2{RfAD(5YkX|^8C3%xq$NyUB8?bFw($?hYWhBpzL3a=*iCIDw;WwSptN+Dk( zW2lzgHKt|~3ZzAtENb^pcNw+E4Mz|}dQvlZV(_4eYMP<)l3`|q+oa~;Ttkol66n`6 z|5(w%5sky*8ZVoDXO8BzQ#pYgx5(A6VeiKh4U7*MR+*A%Aa-lM)i+Dsy2=6XvK{+rsHRUWFdEC*h*)krwPYY;9FsE%tgK*GONG!S zE?r(p^*k$Lu1Ct00UM)Be@?8ADhKF$5i(bfp;Tfu=+%FwWQyrg;PVyQ+o5XlarY1i z=?+*$WO!KPJdVYuBY5wpZT=H!<@||%AwMjSh!j9LE29lNodO)i*CF~)1atfHidF^vYNbalY6W; zc#AFI_@q(2tD)h@OB_i`aAGT%YM@n57-iPUQb(>Sbrca3Byzt~BG;Rq6g{e1#9B=a zXFbMNMvSGn!l1x0gGDC?(`ixZpmH6(JGGjEDM@_Vo<Z0991ce;hqjGq+W1C`XWzGTzIAE}vM|4F&Nu3(EhcyR zo@6l-b4Ru6<%?XqjPJCqc`PU6j2}#8p%mOFE)_z~+O$#cBmSU}8vP+%FM8Hoqg2$fw$i{BJ|BNV&n(%dLLZ`rd z*H!eZQ%sadZtwXEU)@3ropPHtJB3d>L1&=@E3b{gz{*>S26kLp<=f5uT%SljW{?lq z$JeyJiw6IEe-&qVU`R>qLTb^8h4||8fFH#tqON+B5fiUUs8$Gz$+;c~dPj5CsLH#B zTW{_b8>RKs-e;^(!B<$dc7GCPd}PIbJfIbM{>?I=Zc)oaj^1HZ(8S!-fRpBlD80*@ zFiwhF!*(HuFi}+B%jSRCgYOZGwse#vg*u_EhO-3fO_ zcEVrzpOV!--%^4mYUAT@ZDI);;*N=(90(1lfvQSmhXdGNUFzs5_On_2#76RFQkksO zo7GR)RxP%SEwyDO^+Wa87A5Q$M_i!<7umB}wljH7Dlx|^hVOqC@%YTCt(X;9b->dI z?sS>cgn}2ijOrW8E%K6(k(^=~i%=<#^%tej1`nN{=`GjZ zh=o_w6tR)QaQd-87k|UB(w#*DB*mgaa1D?tIW|L7!B%nR6J1mGD{P+?-Nj zk@@16WM?d`v0(3R>PV`^#Eoh{-y_860I!t04dt6dD=UFpBQuYOS5Hs=zzfFv)rkV@ zPQ`PHg)Hr_GQCZ1+~j7ywZ-fU^Y)!io5C{tx-6?~MTk0MTBe-pvkt+sDV!{xF7uJC z!tb02%f)m%@Y#b4PY?(y>C7O`9ZRVVxMkRJ^j?;P@s`UG%^O+y!rW#9uImX7flJ*I zaj6$;m0O%JbY~2VQ^!Q&v0`sE ztB&F6xYKQ<RYj#5gqBV# zw>FF@7^`S}HG$Wiv5>OC#S$TNFS*q(=IA|X(cFh-ovyH)azh|kwb2mOG%6SRx7|f) z^)2a2Zmns`zEmzjGOZb+Uc;#zAwPHAjkq| zhO3RFgnyDa;r?(-Ec8*5xk-LU1RE8-7YIe@qV4bX6CY{*fbLNsC zt#+a7V+6Pasp>Uosz$XfG%P>vq!Kvm;4D})7k96?I6S-1PF=oKT5Xjv-fad-P(Xk&rp7!{BtIWM&RLVmPFMwO(NPy%sHeU&yS1 zPkT%Yj6PgB?{sG)P%tkBDOV|w(QepvB<9!y8;+qRoWUHOWIB?l$*thS5&vN+OdAYemo?X#G$~_>iT!-za^x;v@6RX15OG=gn|^G;Xi%x>-eg3iD`sS&WE`DZg=tK&{Hx9BlgEjw{G>agrK@8z8?Dr4R`T5l`@s#rFy-~ zmS&u0U%S;8fh!&MFRq^%!=ZxJ%JLV3x;={npM_C}Dlqa@K)ARETkZjf+d<@m)a_{7 z>`O!P$6KXej{>x~O4XcNfb*r__s4CQlJAxNXwcuay4=`O;#BbpbXC!1ku%g0tSe)| zXWp@)O6>=Kt2Pzq-($aVN~m)CZ9^cn2v=XCZVFmnrPEjqaGVlbv7S|O=tNPjV_1qi zS8)1PPt4F6%wY!M-fCqHP>RmCdWpN?QzwDsu1QL*`0+G_B2;?4CNVP?^5eFAjUZ@x z+obi#r-;+W2fm*)Go+>h)_3k}q$nRwb1gt-dVjk<73IBQpK!-ax>4)~ozFRl&0Tx4 z6WlC}Q&i=)$_#!RK@Kj<&HTOPsMIMlpgjiZ0#k)#gVj3>>Jm$aZkCMue_!SZKbwW7 zv}!XSDDw+89nVz$h_tkBxc`aENr$1N;`2&gNb#yX%q(lp%1IgvJ8YH}u9xiP2L9Sk z5OE=74gT(&ixz;LV{c%GN9C{UlV6<(B97)-p%!7f=#rGAA()yBQ;USaT|J& z3j~ngeyv{d`huc|n%LkvZpn__Y3^eYrL8lMO{~#Gb#jFu61(0?YPa~?M_xaIHG62L zD&fy58S6Pxj;___&-xyL$Rv2Z%t#Y2+W>|iMN^zJ{8w@**+EGm22##EIBk6#iuIw3+lr>-uu2GglB_R;RGNs9cf-j+l4OV1Mpb@A95D z2$DM1j4`SuHwk4-pF**_#Rw0~xEI&nnTFCYG&v8}Xqnw-Re#Eyhn-&m2_d2pu|-mH z2vx1y;}cYC-CSvulhK*IRr^U_#=nrMde3*X;B2F*!1lEbU)n2Fo1_Agl63Mg-3sX5 z#bKwNoSa~e75reos~b9U_ac)y3bguJX$^i59@1AbxH-k9+}G|}ue$m_OnqfgT*0<3 z1P>BCIKkcB6WpD_Z3cIDNeBdY_uw|TyU*Yx46eZ$EP>#b$E|zLt@n3V?W(=ItGd_v zY&kg+y&cn^*~!C0A>zG$&ze8jQm*e#hV_ivP>AivCL)GisAHMIW$@)#A{@rpvm^3J zWR!1r((rI}s^qgSK-Gs{5?Nn5tk-D!Y4tjd<|)sLRWmXmZ-MoyiPJCKOS7iY8(zUC zl8vbfj<+gi`ow&D5nr>QOm3aep8sv$(_GtTv(Z`gTi7^~Hmab4gzw3`vfF#_FH9m-A4AhNVI8vEAk zNXyrggf|K!Q+IeAj`UTwHhKCpQw9wqw8o94a*tnr*|;ZzP*EOq=Y|U zanKW{`(|ow2bLcn|KZRx8fjuuW3tKXn5ZDKUxaemQj+HzoTRg>lRC>$gl0`vG2y0U zQ**5-L`MGKF}aa=Rq`Zm!>avhxnaFc!(m9|%y<(*s(SRHm7PAW;uBtU_WlUtYL|_Q zaVGc2(N-MFV-JdA{$6(KH>6pG=Nr*FWPyq|l^78XsEU)HqVvD=fM>fTFM*+swo>wg z&&&T1C_*C>H;J637D>gKykH~#Ewo)e>6VrHyP}%{?=<5)MI;(`p?12p>Z7sGy{k*V zeUUk2ZDWf(JL;Eq!n2}C(GOXcZSI#pA(E+MYe(KjMC1mBbZ_Z2Mk#n z2KY?(omvK76jmWF-O5fB3KGJDM(vSRNmJJKHk|bfYTrqQIb>ohosW8rUoY!V7MXaZ zF8a9!`_Qs#T$iJjkU4Ji6&QHUHQzvnECyevBJNIs7_~AwKsmAJUa(f0s797R!&8yg zMqrQUfMuWJgOl_x@O-_u8;*``k-gizil}@roxqg((2ruKyinhr|6Q?v2nbIRY#*=8 z-OY3peg%WPh7-CMjmS1kBijuwGjigl-0cPqjGeK;OQfWHE$=N9tx zQLpGWrfqGG;y<+AxkMGvL_6Y- zEy**F+mc=8quVeFB#64U+i%yMB{VGJG`_0r$^~}Ha@p9Fz~;$Yr33e`-tp1T^yS1C z^H#nJ!n+3?rjPodCEbLww9~xcJb^fet_XO$T501CqdO8vUPa;i8f?|*3>|Xi{ECQq z@WO|G2zq`x1j;}i%Om+@aR@@ByUSASduz6O>?9(6K(FYL@)x2cvcFl%gmm@&8s|?M zXHJJl%TnEwra&T#qutT;FT1^TmbY-&d$Q~0&Cdq3UpS;y)PSH&QhDs01sT%B5VKt{ zW|3xufHDnw^|zx%(SazOudiD}82pK0Yyy;=4mGN0Vrf-6SinRjYZbA2_vs4;mMX4B zx6)(5={fcs7le*9zJzDe8hn<)P)mBTNwS(jD;X^jyg6F7n5x7e<>&y_21LX;D11l) zRe&pK$rA^)f2T$OK^w@X{G9(uVA8xs1iq@x_f{`|)NG?p<7g zt=t#UH0l>?=l&tAbd+qJHoCVFs8DOQ;sJMW$71W6KD{+sq+j9#PDdb-4Q1$D$!1~1 z%Bp@NA#dZQ_4-P=gVxdmGKjvhke0`!%Pte?X6GWi%C#9a@z#4RHtL%DTS)p1Ik5BR z@Y?d*DG|Sc1}(9wl@7ORpRdx?<3==F1QYsTx8oVggt|qBk~^^07|A~bns=K*YNAta z07KEq&Npn8AVZ;Lt1umEd3e0-@SXU7_u!msWkKpU*p?J^ft~zP0-6N{P866y#JpKyR%B{VP#IE#xKK50Mpi@wE@9pqa3l_JlV^o@aGh_bkf*Hv+Vu4=`QcTTP(op zjdsTpGcChT4RQ6t+;Q0xG4Jh|a~lixoe&Lkv~`)Vw!HMIm^Bw$N~e14MUH&81wwJvz8=@(o88h+Hmhy3mTsd*;X7TU6oa z?WJ-CBE8(Ro>AGUqpgg(8y)JFa$i-iUB;{@0&zk#mp$21WrT{3@b4-bEQ(KQz8`11 z4PMJd9Ft>%tBmsc3_XT!uIEa1HU z+lt!b>;c&`)l5zvLvZFtqDY9TqfM*sqOzT3!+R91pWxPS-Gp>?ImsH5o)B?XEoWmE z86-N(Oo@-?ja-(saD`81QJ?T>n%z%$>UwBKH%i zTV!|FK)<)=b^9W@J{++hcsGsF?4}$=^Iib~E37kJyB`xlCAumx90myX9mmP^ACeL> zb8MaNp^Eu_&l`sv65g)}zYv}?I7JmB(?Pdedjs+KIlJ#{O0^m(FRe?&bGNl7k46)` zuT_a&Z%UQ#({$l~uvn%nG)9hII%_y5nZUVk0q3o7H|ozX;&*2JfnwZA?tvaE8w*=g zP54&)`G%XQ}qstiN{tII#OA_J(M2qU>t&+eA%=ENuLJww$ zAt0~4ROKZyfo>hPfp?*L_J@)#ljvuf;;sZ46O4+9E=Jt!r>^2PH#N6r*%|Xfg3>ul zzO}WuuOwhtrf2q!Ty&A7L7n}oM6znJkX{}LFiQ{O{79lm|92-^_SAAGe zZ*pKO%{kEq$yR#LiOfpU;o=Ljr-uW~RYDe3r5-nGcu-wX0{yRK-7pke%L4wg=_5^ZuoqPqdnU^H&3e)0 zgA1D#gOIThaLxiWff>H02Snr&j5ECNd@PaC6Sv`KgQ$8eqzyD3)w+L7s*BdYA>U`(*LOs1u!B z5G!wqKfc6(F58~Wweer@Qs7kM6k;5Va zJ7W;DOrfiTBc{O2vHb%p&eIK%dS`@HXJkqnfySu@ zmP;OLgf?w@TN=2h6~c`kN#7Ewo?ZnjRMZ$vryF*hC+0eQKGgUn6$_2&JU{_Lj2q#^ z5BG10vxvK7@9G_D136mN=8`sAzY|n!F!tu?8Rew0!%C%G2@Jrhe05kS*NnQ)sVNl511P z84lT~x61X23o=8(yY(wvU77va5Cr_R_!}be+#Yw%-dm6#Qp-G{ca2`AD?rq{Pme%e z8W0`|ptb!9cY&Yh=N{1CIPP!J;gPrO9&Fn6=FNx^7_{8EcXZh`Cc$SD+G?$EQJxmY z9uGhFJz1}Yq+gH3oH5l>sxarW)Bq_O-^8X}b7qHV=}4Y)0KTIgaWE$6Q;1Ih6U^d+ z^1Vmy(mt@CF5UMyeAJ>=je}B78L4k&YGJQ>tQ+>&qn~V7y*+$fx2@d}Q?B|toT0b^ zAeMDy^R}C>;-1ku1{+6hTmu=s3U~&(QGbjBS**8--(&Pkb9xKTkI^fRx~}$p|NEDI zpe5cb0g=V970gUj3u3g<`9(_yp1N>L#7;qkR%!Gys9g}@K8wC4vaJ6Y?AtuROs*TVSe$@US{~ z)qd5UsZmwRS5coDgf%vJb^%*iT^7~LS-TIi4m$fG9i8F4GAZ&8fenm+t7bt*(u#{5 z>`U=@H~eE7)~-)p&`y#oS%jr3*nRfYd9K<*i;;Cw;0*fZaMv6O|J@DPsJ7|&5wcj+ zKz=bLYd=?L1Dxk}gbnTRlB&EDeyY-`Q_~Z@xZd1_Ji`>Kc^}icsU8z` z)zt}pvYq3VZ9ygbFr!lu{%4&VnZu7vxJMivQs}HhZN9`Cnh&Cd@`hpra#`K(Nm{C( zF=#AT^Ju@9ki|A@>$UG~>S+^4vzW4&j%tKLn$kVxkZ|d3%q(q~IT*fgL3!XAaH=6*cgk?{Gc!(-1vSb+`mL;?}DQqW0HBp053jRY2@F6`Cm!_nGlF z>2ERcY;>SSRygoGjp#Am`GSr|tp)!Cdpgh{N`feV+3I0nUZq(`kL7m5ck4abYB$Gz z<gST|ie6f4TkBpZU;X{!#R&X9*K=(1xNRlOjF5JZD6sy|r=Sq@{^+So3dNkrumi*-9@k zf$TeiY_{}*VlL8erWf?x_r^SlO?e?kw-cPzt7Kn-JzMy>u5P17mZ2T(vj1K^ND6(z zQ$Rzp?6~IxF)Hirj;b9_eOlO`iRaI0;MGOKH}j3DAgqc{2#C?Nw1vJ%LiWa0sB6p^ z&8C%Ky#=LfE3L!Cvh|u|fLdVe|@H;z-B4 zt}80oC&pS@XT~_yZ>N)x5Rz%@4XkG9wsAZsqwu0%#VxdShS`PaQHi7lh(ae#HSr(s zR9@v-D|O=zt;h5+bfy)!MxM79f=(c=;*JOa!G_j}X5IOHxz#W_3AtM_e0FI~G#K)q za)3xL-jIn}g*2k1<6iLO!Y^m}x90Lg4NkK3*W+l_yR-}ExwXRMmvyL>ONgw`0dHMB z;ZYquqY_oYkL=)3mS74?Hlt8QZiy{B&Qnss3ZiuZJL(#ELaAFj(3qkG0(?ayovKZV zIIV;J0`&J;FQvzFrBeeNsseNzm=k=xI2H@Rx~V$ zS3_(!o`_iPO-jt%)m>Ae95-%in*s~VY|pp+`DMpkpr$6u7ed{vyO*!0(Pu}c)%N~%N`M2xb&JuyYdG}81;3dRK z1PJns#ug<(Hrv!Y6UiD%(s!%FC+UKs1G4c+eu&)o=uoZ;QAa{v{&Xj@7+%KK^oA7c zuVq-PY9Z7wjUAV4aW`eCo|N~5{7J?{5gdJD@>r-MQ;a#bItR2gP}ec5TY0}&Og(nc z+}ofEVI`D&t3V-x_K~#*Np! z)6O?bXV{u*u<{c)#!^Rf*vxnr~)(4s@mTA56CJ|7OoK?c`vH1pUcVAUH0dC z)PV4fW^xi}Q`Dtyo@ldjoCJr7%N}fzzNy6@4Y*tmp^-+L~h>sm_Hh&bsG{rSTGtL2CDaV@!K`MpL(^k3lctNZ1@cX zLAEEpasY;NZf2G9=~u6pvT$`8F|#td(%19bJe4|74!hNppaq~{tCx^nD^I& zA@9-;f$<*2P;Gi2ELF!pvv$97lb!a&d^@`h{`fxlM0pBqC25(DN=gXxV2pH*@>}N> zV<-O#YNG5to}~i@uF>U1rb$^dyvI;g2U`bqg}R9F>ceM$juvdy zc+805#rA(%E)C!n%f69zEul+ov%J9=TlLgyui<8{!9@Zm=I6JSbI*}3?TYR82zaQ(&92lNgt@H)I=WJvh#s(vXut7H*YmZ{Pk&sr z0U4xbC75)?ag}}Ff!Y9a{HZ z8)a8_D_$J!^{@N$X5uN^OWU;gJ5>$aj_)>URhKn&5Rk(0X|vF2^Jyi1LP7-+u9o0i zlY4aw*WN%sAk~eC zzDI0_kds|Jww$Y$rzQ^VyrXo+40CU0SiR+1uTc9eg=~eopzc}vF>kgzj^CsK;_WH0 z9+(h7gsYFbaPWERwBD2z-x6Lbi_;7ZI(Yj8`}(|N<(Y=+z_aaRD!nFML&3-+uf}ni z?T8$Jnlsys7s|taAB_1W_*YS?kQ#?GZCf${4>6copYPhDb>}=_xAX+(Q&+Tbmtt!Y zmliWP-iBZyD&^KSVm4uAm&gKZtbRUloeAkXk0GYFV7SqQmy*fFof{$_vX5dBN0qvAXY z+)2lJA~hrUK8vM7cdT+w@#w~9)HU#|LN>T^166oE4KtX_Kt(1Ri6GGz@$#{a9pHtD zey)GC0=BV6tr%MVV>N`T#{3eSzAUy^;osW z^Z}*H0MM&9C4-k;Z+zGO?G;rt>zPw-+(C%scS;i2M(IU_GsIA1+LO2@nXQbwN0PVK zckeek?s*0yrI>eqb3`{YGCjT>10&gwZwzauha`m!uMkE_}k=#K-3K_jKJKL`>kx;+Cb%b6_WP6%Fm zieMBns3hW%h;b&kHo1I1Bb9u}_LXE#yNmmq5acL+5S%~x$Xob)A9Ew3yY<#I+ECn@ z*-5CB17Tyq@Ltx;q(|frRCv73K9y{kg${({OPa00OUrV2riavSakOOFN;nP`NLhr> z15^26sC*jyBaWi(OiE$dYK|OD2ar9^OxdudN(_Q;EU^-~Uip`rJTss*Tarxlxwc@H zw^!E*sy73UIQ*$gd-39B)K|0b;3h|yr<6^Ej9oV?7NyoFG=OU%g+9=t7q%_s&eHCdQ=G1Z{6-J$2Pq-O6`=Q5RQ598nD_pfUUj0g zBeO8ji6*>);p?BAWdc-GNq9mK&#YzZv2~|mddA`ir8)aDcf_pk1z0> zBCY1hV|REs?_#lI$MZt~2#g+ux+4*5@UhmiXRL)JYF$T?@3e+?{=>r{%=`PXzK*~n zpWCUG(^nXTk#1`=ZId`+w71C4v>w3zY1X)k4?O<+Vq4j9ec`(ggOg(rTud;88rc9DnsNsk`ghJoR#B4B>g_J_FA*vvWM5eFtlY=VTo~Tq%e~XfO+?^ptVmNR}Q!>;SAFxhFvSJ5J& z7HI%Ss0y~p^3l&>bar^QSrnEErC_FEO%Wb_2{csm`S3ZL_L>2i`^&>a+&7D4ACm1qPJBdSVv+~ zDhI*ZBooL1q>}lNHXf5w>zIwkWUx9cN+cenH0QP5keYryuV|H!Tc%L{Ck*B`%>SbW zrnSER_pt&$kg=XHF*OSdo4+3K>#Y0N{DtRAIVAt1MaRHwF;s2FqRB zy4*w+h7(RHVA1hsYP~;kx>|T}R98A}wgceSqUrNTh2q<0@b6^Mnmz{>(Aer*SK zv6&s|a<`3KQoSXK$e`vmnqyjWJZur&bZ^P>Gc1cJC8BDozA@Bdm;K!CUam8 zhv?3rh=&&U$!Hy&KFObP$xG9iJNcr4>2B_Nm=ZFT8fIJ~yvv=5InjRaT7C{p}>UB#%mW-n)I^oINL^ zm*t`R5=Ua})}*mjL)rUCz>Xd`1V^0dab3GQ&uhQX`d7~Kks!PCvelV#juJx~L0{0L zB9rSPHPvefPouKq9w&nXs>&DX8Z2}J{;25hz5HR>*;zMFU163P4}knR5OFjdCd0mR zu!Fu{N?+kRD(bOI9X59Qc^X*1*wl5Ca+lNTggva;aKiJM!z76!{QfgEPZo;A%ZKY; zIW;muC_8q{_d6c+?N)7nsf#I7o{l<^&7=3=du%q7A##$G1t1-4q0FT3`p{UF6wa;~ zBj--9iNptfmAR!2Kw+~h%g>E+pr!UN5Gx-Q;>y&c>52$&$5A2r+wXPV>_GBux_+? z6bDl#iBp^_h>x;pO(d|Qyg#peZ{X9=3oqfl1d^`Wow%y5RWtm-n21SP+%aYYpV~ z);OVWZZiX{_mA=x#RI*c^feIEKY;mjl|3+dd(}z2i*F};qB3RT`|1tgBT7fSM$U&& zs{;tXk3NP&?c8nG;yX513Qmy=Mj}L6)qe;=ce1*5Vq4ae($b1Dfkv8`l%w1{9f#^c z$X0-K0&1TY1S9Z`49^+i@-YXtWudk6h4eO%=*uknxJsyZTDPB?dNBDoC_E6t-^Ja(8ErUKZG?z9F{loVe6J6PhhNkt} zC5~E9_O<@+EMgoId+Z0Zk(rbW>+L)d^unvv(4S?3tPpdIHT-!g1N!H*s(^Fs$5D%2N} z1Ch;chi#XF=Cz6t4^%FV#w41-S3zIPca}Ol3|?Ic`&}wT$xV~Q91DGm!w*&y7I_v- z_8E8Fg-ua^KWT{3uc}{zr+3|s2++Wlzc;5MazE`y)N+p?UyCT{Z;V##AXn?@9Z-om zs>La%ojDX59QyNq0D3?8om0f_-~2TM2T#O~kq5y;v?nT<+?%u*p$27(ChCo)?Plz@ zd!H51V#im_bqt6%o0aZPz1<%Sd^s`fcN^XYuY=qxEN@X$CJH#4$twXmCO#NMzh0Rg z7pu&RS<1py!cuy8tfABQVt{|&uMTz_IJPg5G8;JMB8wr-UAv6A*@}IwLf%AoJ=wJ8 zn_F7J84x4JB;orX3gcc zd|%lh2S$2ZjZ(j&gxvhpX$KEkE_3xY$oZgIkZSJRtk(R z)_U7?Ir5DtXFvC^33_W(Ltf#SSW(}}ZEyBM4gWa%xA16%@R5BnmmDV!lnwo6z|3Bv z@dC1BzHasVH?(CmP+pzs6s>JM=*`!6slBRVnWQn@_Gzc0eUI00)^as$hA~%utF#r^ z1{%Tdozg>I5%w6|v85Wjg6r>760(3?dYXJuzjoywZG8sIv#|mE$`L?bL^_-FTXoCI(5T~ zy@~P@@*Jg9-F-h`e7IgL@?v>c;HXR4dU2&+G5VwK1NAphtZ~?Uqe{9bjg1pC<_;`%pG)tYejz^jb=c3e#=6c7sBV0Ll z!n^sAc!K|@UVZMHNkO)cvG2j&d(~;DFvG-Q2=Uo5*41=v?zDNwa6_qJ#0Q3--`Vkr z>PB<*l+iRqyuWThy?yr5ka(|;tlS6BT~sjaa)=bn>p|2GBWOL@ZzTC3{JJG_;s9#$ z$P$AX99jD%yaxE%8{WxGrT7AKa}8gTC(1${QpxqfVm7kP?}`T=D>a7fWny~RvM2am z#Kh#Ehww*LiF-=!R9%3h=0?Ix52K44Er!kr3i5{aG3h=C36c#X(08pC`}IwW5>s5! z@%Bm$hkueas1id$TDAUulT2yUbAKtZlI4jpFBo)?BDY$p=uh~iouU)SlVHZ#+enkB zpqGgUqL~1y1efYZIFi}Xo4lQ@UhB&jGB(u9v8Z+_21iz2({)<0$Uv*kDTDmf-g-|H zZaHFW=13ptS5L+3iU!QE>`zt(C^@#+9_!&BQnlK1(l|wMg(GPZ= z62i4!m|Gru{;T`3FDC|G@z#cS0_Xd>ea5T4iobjai;fP%kIKr*+Obunw6S$^EDb?l zwDC&d*U721VGMBku=pxcx}5TiD(oa?AGaZ>%p#1&dgj)eVOq6A>(HKYQfwGi*uJP^ zviEZv7vn0Z>(ywLc<1$T=4eT2UY_o*WDP(rrWH&VjKJ{~6#m)X95Ts0tUkt4;=PrSLQ9nnjXW^{qtgyQhGo1?ICHP#(u6!pr-q#L73i*v41QWk{OxDd- z4v!iQtgy%)7)(kG$NMPXKYF?-qUxtX9xT&x%(Imy>FgFIkScmYZ^1)wC!A`ToOhR; zmaNg8H`6RR2#m`ZIABDf1xYEU+4D%wr>y_TfzH<#%`P{at}Rg^7?+rtctxKxTt14} zkNJmCv(Idr{Qv(IQXu3gdQ#W-9FiYWAW+~beqg)xJP4NP8dC4^pPcxH^`+AP{^RFz z{wHyg_{{@@F@65$DWA|e9s%5g-6#3?I^B$Y+vOCn-4OM%vZx%ZHt%EW5+ zCoQM~*>m(Up~&cvW=TA%vDb%AgNk4}9geSz#tI|l$U$_4?JW-^6YicIIy629>Ne{e zbhWu-b4FkP*2|+`9g$?gUG{g+R7jc-8tCn4<3+zSv8BEX`gW1EG;B~y>zy#hrYwZ(W>_q-Xe3n zg%La&i#!OvixJ@&*6U9h+i%)xi3@5OBd!rs#f@ zPAkDJaE@qK1hN=8<(XMs8YGlWJBx-TT+YaEHod5PuID35f${-IbK~EQ($>VJJKiNQ z?{-|&R;P~DBYLt#cN`jOA9s@|H@Z-;+A+^h`2v9IO!iTCcWUoa773~Nigi-A986O> zzHXgZzq4npZkKg3h*M9l^311WkipQU@qwubnAIDi8xdtdbSB9F8vI~=lk>4S$3IZ2 z@@ori-X}9MZdxW00!daOK*VGMb0n`Sw9gbP1@qNnc0}W7c-PWY0FlP0k)@-l7~p z+ju5PvW?h4o5DGN+mFNF1Vr9hRm4qKr`6qIaKhb|d1#@XR6 z#IY%?>7=^PvZeeHg^9IZ1Y&%AZ51$p`JD(N@(c(OBAd&~_MVJ47=9Qvr@S$X;LN&I zi;m`ac`-W|(DGWli*0Zkf|V$NE8 z2KZdX^jU<}m>>#rj*8Ba!Lbw_&o2^-H>)mI(ze&u%nJ5Vp&)Zy9Jh4hF0Oq1bqYE+ zSi6JJz4AHrMcP*|@JydKy93RA=jsBbl3l_)D5g0|G~oRxgII;jmRdY`dBU6{;4D~VsBPQ>IR7&8o~yzj-Vf{R@6879I?4$ikG0wd>CE8~y+zv3b0587 zYF@itfiIM`XxfcQBT)h}_MHi5#5&Gi7>@TdxM#+evQRE{$sN*Nj1|9D5reNYK`) z!xFRi&NuM5qTT}s8&wLQa}Mb4CGxW$&Ab00+@aw{HQdRnA8F|2Gc$Ai(Cl5Kwdj03 z)UdG;2Yx9pb46PzCym*$?Zm%-rD~;+-A({F29MZ6BB?u0mP*;7EE-#?|GA27HeeN; zMl*RmA|W_$dV__g$mz$59FX7#Vgc*}3c;HsbKfE$C!l&i@Q`+atv;-mGIZ;WyJLKKB$ z)#uW;N$_RrC7NG-W+_P?nfiE|bsJ5x4J7*2a`Z#bIu74%SDN04jfwkTq*Tdtz&Asr zs8#sNtcE`=r=n1q=F6?{V0}Ztv0f+%YC;XLGO=WAcdvB5W#xs2m4Qet7^lIenSdC8 z84l2a5~d!@#eJU7q(LS1^7s$o7lqG0MY0Y#@`(>DQ5m23LN^=mh2FK%@#{6IWW5={ zN}i`QV`DYYX>U-Azgn`_82h-Kp4!Po5ht#RB5)LCN*>66c)l}3^&suBu@v7|w`@-Z zt4V^4t(J)fiQ1emvV!=o-ov0Xm;M&RI&o{<6-#Bn!Qpgi7w$p3Y){3vfKJLj(}yWI zh5m4HryVi$!_x9muD*@qv~OKeEt|!B<324x$^p`y_o>uBgc7~iv1ox`fA`V-uW65D z&^w@Ym>^D`_PZ|e=K$q{#YkD8RX@A!zwVb?9VWZ(@Z#xcrDgf~Qj*`A~zI;*|pQ zZiN0M&x$JL2ebc1uDqC||2D$-r`m9la-WCFGrKU9Y|T`8GVhxPn?NOf&EoaFPi?!C zmvvkeqq02R5gsi3m#(Ab)}*{A4Gs7zSOB06S)jeM&UF%rpgP;75*>N7uuj@q3;fVv z2Ke)4fX)s9z3+o8P(;?x?J>Q$wcpruftT=7F}B4+&j~k|z^9w(tfcylyXYWB9HFYJ zn+O?EPeTvQ42)VcNxUbyO2G;nhV|yirQeRUk)>%4jFL0O2x^ z^=K*NoECabfmecI zW}F8UI9*4E0$q+UJnB)zs2ybgaaAk@7~h2O=>+i*kxPXg13+uu7z2y_z`LQ%D{e%i zd@x@!`tkRFvK9v7EH6{!`x>x7XUEF>HzkxD)`N?9GB;0tDJny0 zG!|6&#(b>hL66x>kKuaDXG?!hPgR43Hat7;SugzYDq7Rfo(9>C!wpS0jc>9Fwl4Nd z+(zKf&Z6KSuhV&_+OGs1wrRLL*1sG)4$v`QU1ZPCBQJ|HA@N^#R+WEXuWofZEIgcg zdW~q=x`O6zDMsK6O;6G4Gqwm6B>)A?T196e@>t#Ch~Uzhcz>S?%g-IFINjFWD^dx8 zLA1i`P=wqdp4Lc++MmR~pnk(EY53E4R_y?suOM&fHA(DAa;Ukl7SSxn}{M=}k!A~HIIfWm(10N(!%g!6eBOJ%WQ*V;vo3XKt-ctVopI`F!f#l;7 ziOM>YXh1X-VhMrzTrcua$nZ8ZzN3cXYERNrTNlh5(hR3NDh~KWMz8&rHYC=SwWA!^I&@bsi2huJA%06)&eA4&{ z1y?UApE9#k+Wel2fIinAkI`ix>t9>RqFkuH&(&VEUbH+@X?|PsTm%+R_PJrFvFqpi zWma+7B&FA6b|yUO)vhkXq}eEKGUD*lpZT|tdEJ_dxr~Mz-pe~+uWlEcH(I^GFNQz0 zLC?%q11kJ~mNH3LT?}imzbRJ@EmfFCTSH97jX9WHt6P@x?(XH0U!x-jx)#C#HD>!n z_;AoNkHeQ`cVjoKws*CLV)8<=Ds&L*dA2ga{cB_Z5)X$x^JpNM?Km1)63CxO=)^~i_kd$A2b|aahmRC0$%s_ z+GY#yw~@CS9E(Ko?N*5FK;*u&5D?PVT0G?|^Z)2dbKtsvl{=#Sf!A-X|EC7}b*PvP zgZ>GnCTTYqBx3A>JalU6l|`(wE6rr6f%zrQ-F};mQPz;&;{HQGF1i<*(QU}sC{=2L z$7p^cCTU#&<}WQ9>(A~oZ||@Ppm&C`TAc%TaDc>~lRD`8QbGT%N3bFl@#Jdx88_O? zi>dZMPU@SSl0AQ7#SuDPvT3Z#xe#y;=h(q;`RR}+A%=m8!2?u#ovmoVK&BD?$lKX1 zwZL;)CHD!X$;qmT$D*d*wE4!qUaM9rG=uKMaX_%vkF&u z(`c^MvpT_HVIldf{mmx0x8r!l_Tu=C?)j7$hbQ% zO03TQAtl}jHo7GWALD!DTPj~T%Wp7$LLgfc{YELgu72hEyTC4NWrCq3e8|*m4e=|U zoViwjqxTT;tAe{tRC*|7eumDpkwP#cRzju9;!`>9=$T=W^S5M*%T0y-gn-1{jK@Eg_CXi$nu_ zTtO2b3#IV$qso`}Jpl#V?N%BKe zzeFHXKjd~@eGZc}Ux^!0=r$F(Q1#&IsGqGIl5Sc*IQJzmlKRyXUjJmeA}O!rlEWU=fH*OIPCPT`uvgCiTIVrMFn}LyfvZ(8VZN%u6#@Dj%2&(eGxTI}q{4 z*hTK_<;PSP;ZhoEKZ5`3RrT!pDvP&xHR*?5JZuTP3|746MebhrIX-{Yc>ad~JqcQR zL@j)+hQpXA4(Vmo_9^=T7DDRDT_K_0PsAD5IB#)v8{~=3sGYw%_AHEtWvcs@51HJ- z`6?)SBsPCPhX(TSTv<1VUM&v(Lpa{i>;@pBbbEZ7A|n1Bt2g*j{dXuzUo5-eIE_$L zo){)o&2?R;KxD;@dMij7=uFotP2ir;5MMFtz}3omecaF{b|Kw)sfi7K zvX}Nn_DR!_!jslefwAR!fdGllAus!98v(7ky-AjgR9qWj;PvMdky$r5U2=XvIobPZl<^;MgIJFreG#R7#I5CxXuJd|M`PxG? zL0l}Ify(=lF>Pv0n$CdsJ>P5VhSLu!=6FQ#>&`$#Wh4-ZCZ-WYb!x&37m-pis$xjE zK6#88mfoL#Ww5d6NXb&B+|W$F1eR;0uK^_W*?zzORbsI7n)kt0Tc4TfY);Ps>SxY`yibVxo z>9P`VF^X1WxUWIV+7SKH;)#);C; zVV+U!H6kKOb*)=1#RK*^^ZphR_<;dRd%;3n4_ zYH5;&n<^Q~hR9!*MG{21HgD=}-{tY;#fl#;uoo(l!RT}ia|3@m>yEiD4VGh?gmsoj zG1fT98TEr7g`nJ~RfrCyk50BN3$0W%kt>&NxD>s4M3(8~Gsj`W6JoV)@~$=V*xM|I zu~hEoE#YLwNh+A?p(5q(9YLeIJ=!x0IdiviwqfhPKs>F)dp(Fcc-$otA1Z4kYg>`>H`_oJ4|Rq&nOWAi16WAB^`?iwPzxl!xj=oDhq9` zi?wPYB1%=|(|ZG#+U?Rb(r1EoVW>u7)1O&Fjzl)@67s7dUdn*=ABrP)7pw?Y3T(e- z&0UzhZ5v%SmzUJKm36u0xADyR@t*FaLyFgOcC|Rbv{w?OT)$F=GdRYSlx<}gMa2%9 z{idGoB5D<>$6z~3g+z-W5ZQG^R-s)Bjci1f{Poz9@ZHrZjW}%@hhoTX>ejksxvyrF zj=*X*tR>s510qYywnt`~#Lo;@PKhFD<&+Z4E*|BNQFeudBYm4x*<_K|G2Ak8J9UjT z<-)R=y3p!wt9u=Nc)GN)?h2V4Wt>}IMKzULm|H^Z?;cUOqnz{CjL&MO=5Ez1bB(o+ z%-pKAnk?gAah`|eA%4Ku#=I|_$peVG-ffz4;c;k6-Z2=y+QQkRkjA3aX6WG*@NJej zECsAyRRrxRwJhAV`AEK=;>4-faPgMSVsEO-H(0Y6ynN*MV@aTBGJdyKV>6%`FU_Ye zFj*(T*2Us1V!BE;6@te0?{7$0KC8>l<_%;U7<2Ko=jr1olGAU@G8b=cpAq$TSp6sX zxBczSfBO9|>%Y{0tJ?iv{{X)K0Q-&K!bj!4uk?I<-~Aj<#pCt9FXj9`+*j)_>x=zQ z`q$t3zx^xmKMxr%{9XEkwtuaDtp2v|>p%Oe{=xkHeW?Dq`ohP@{X_B<{{XB10Hpr_ zmHuwdEq=fLvxWUd@&2?=<$urr0NH=icJbTauY5Bzlm4^) zSznO&KdmSF*ZM#I0H?R_cmLV|2mu5E20sF@R<&yJ7<^->pvq>tEnm5m^%r_G_H%9m zg2WjyxnsL-n~PS#<#hD`9+?u(2(;nXlGGvdVwGgR+#J7Qbrb^A)H_GQx!DAgl_BN+Ws6Y!+GEHs6h3(U*TRNW<2*mpc z54i9mKvEIQ2m zO<^P>GP-^o38icb#fzzviEUv?Y|2@?^6=dktZ3MyQ+bZwaKJ5NU6C$cV(l@J5$GbW z6|0T9`M2K1Td}EsPfjz~EM8rT%j7W`I&?DDK?o}Lu2*W%!uf4#pr}zF#sR#1dCwRw zPX?cA7WAhm5{h@NTjCaebRqkHlZU)_4u{E|V z4l-Ab$;M6DDzE|5Tnl5N%XAd+L3TYpJUxp0uaacp z9udYgvppZ19U8}yitFhhZyH3btt*x`MN4$Z$C`OZ1Yg=5knSQau|u}z2U*u_NnpsP z2k^|#55nQXqi#O#5!>(DDrgmA^As|Tk~CDcGHn`LA|N!>zK#Y=b{vdJ1QzHL)0n|& z8?>K)-|X+~F5CSxxp?0o5?dvEq+&~_GpvTXYqDlMIC$5V8CYnstZz?tib|_jNCH-r zroC#(5C8#)h>xabXV}`$05!C9m^G=f6CPkbn}LcVS;Q1>8I5Czt6zT3t%sSgq}uBi z>@wA>4LSIj`z|7%cRpH20W4S?sJe@j0V!GdZw+F0mXqTgPF667Jt<*w4J)VL^R zh4m@*Ag%>v9_@s15O8~gQJrV*NrplI114ru0wNbD{Oc7FyQs`t z1}2@S?$RNbSN5*d}#^EuTbIsG%z<&{WPo$hJkzHrndQQ4*I+umg)QiE$_Z^tMh$ENjzk6%tWVzT z@9Zwy{WH0K?7xbC!N+g@#>ak$t~+BDiODFimFV|%%V@07GreONINWOOTG(5cNmg=f z6b$ldfiuDvKFWAz*$~O(D_glvq>DGcwGu$vXp{`DAthur)?$3zxT-jw-pJ%>UcZ*c zSIDodHPdGlcGK!|B^21Ic#D>(nt|eNI5`c=9o)WeJ*klaMsE|^**ZSDq+~JO(UHs! zA^3t@g$Z}drRib14i;kJ*{o|Z``N7AMXV-!wQw1#_USUhZ49pGZ@TU~Cragg0o9*e z=6nQz)_WMg*C-rV+5t$?JyzpgjUC$xn|vywAi?vOLXqzv%6y(KtkMUhWVTb#`0EM0gsZj zCTCDCQ^n5M$KY+|FH^)~^9(As>Lp-|o=U|C2hE~Tq|&-=cZ|u1=rOGF`@^06h1-9o zcQ4(S^h^94VJLe0nAo+0#KUY*^zmn<=}=BU&7@gag@E!Gmv-5mCMTZ>?;vgRwT11> zjvA&SqU%j2Qn1RmTBTPSg=%dv_~k%sIMO3-ocO@{-<<&9FqeZM%#2&D87|?=+*H|T zPQmWCUV`c~qcf<-@zBaEHAUU#`@Rmj=MWCIASf)5Ff%VfygYblSW>TED{*=afy zX3C=C-O|^J*ZXcWrEcC^uu+twid{A(^}A=dD&H>Qu(nl_`NcY5&$Zw7(V$2lE<2j5 zn`YCyy%rOgyKAQ}V&9JWT9OM|(4^O?PmnGKIqNg#DV{M{+rmSU!qcsV$Zi7;rL1BX zRIMv~dFx&U!UXtVkIn)TdR+hKvy@kdZA4 zF5ALb%vK863Rs#wyNNhfJ6wBN=qxE!Q5g=p6=Z{KJEJ4af@U@1wJKEd?i!uVk5+7| z(7(NODb)O)FRn*Q8F_zJwqRK@p|>&RyH#kYxyXzaLQRun;X%`RTYsGRuQ0u znJzTi!!3F1#r!44*-bo>qP@AOVy7KxU=!=_FktkpEM;uv&1Et8c)pBcI=Kr~8IHwQ z42 z(mCY%s7`OT-P!qe(~*l5MlCkxA11h!vS*^}b{0jXz)Jw8HohA!0C3cF5GUh}LzTBZW5BUfb1U6=9ide7Q%AZ*pZbHnUf(br|LCD4Br^)veZ@@yc}x;4>ET*7BDZRkZ<@=-^PuONnGd>T%eLHq3QYc}V0x z2OZIy$4eiX&h#C+*qwx_)bZ-aV(JR%rYsIFy9QWs8_p%IEqU>bs^s2`*xl^RwdK^S zWg@E9JC>x|M4AnYZ=$PNkz{vi(~Z(FC8r&{HL7PP9gWRpY~|ffo#EBEaQSUYOcexr zik9x=#>9AmuB^|86=y0kyq&YNk-na>zAISBS#7^YCS-m}AlOVqd13>X_kMTw7j6ET z+`K$%-Kg@bGZsZQQrWLDuCVw6nN-G~TTUU>Y$D2LW+AoO4qV9cD1%uL%*63?Cy;Q~ zr9!i<+IjpcLIPOB{5lBuc+Uv4a<`*u(p^$xf*%%wQAftv!kj;5YiJz^$fpBL~p z1XF&kbmXgml$2b=*kPb8gvgH8Cfbc{4tr;8_#Ar=`X&AjJ8$+DEA%Ar0!AY&EsKIE ziDB&{+7UkyYzdxT==+;DZ5%4KI_|Y$li;*hSv99WfEF`6QOw&S-J3$P$gLs+=xJV9 zK8-&w#KhGh>P*bcwoBclM;56f?MGar()G0!VJx##uM$Z0CR`x}c)>)+vl)l3 zxP9z|KGBZofv1e6DjRoQ_4Jn5T2~PsW;5|brXJdL#?_TBSgOR%kEoFIN=2JW0gM>X zb>+KFd2vfEj&EL;Lb~kNW}9X~k*H?*lIqKf%VrN1TO`0D*!y?Aa|$O&BqYQ+5i?c7?N?;F zTM5|ZmsU~9@VyFm%4g!!;rH=R9T@C`S8lb-2b54EakPr5SAnfS_V=c&Jy>&6`QZynuO!A+XQghti-TB5V zxqDNzvUvXhOJwU@W_P$3L;FvUa;+_k!ew#x0I2>`n%TN$V@^MPI1Jy*>}30I1C$z> zOigFftC7cLyJ6W1`>8(N_Eo=7NY=sY98ZwGw-^-D?fmvuvEcEIOYt@6wy-X0fUPAq zay1Sa05Lxd#*-ZQZbs!hm_(zlPYl#ms>GtW?`4*fZCOI=z(mgJK2aR>Y#sV(a`5fX4u~5EkUS`_85TfGJyfyQxT~Y z=^sq+!CO|sN%Y(xVp67Q1+kDbG6%MG(s=Hy$vxWK;sNmc4}MGDIRGSmzv(Pl*)kJWNfh z`isW2$60#ClZcS7K5kDao#rp!3%K`=&Ua8WQmUM$j#UHg>h_m|&zTze=j z1dMhlJBu{+UAZlKWO2!O5_Je+Zjp_;cru<2@1e@)a+rSHs_#$g8K!q2jCG<<+NYx0 z^q$9cIqZeZ{uoLtBC>jQs#Y?sTr0x{op7v(+A>A4N(c~%BG^2*WG#TnQOcVDVqG>w z2};?d&clHyohP3@20cxENyS)Wti4LWM3JClcQ*)(>OL{Y?{ej)iboxT?0%b@8-WxR zi_cspZQMGjZ5yUzSl3Q58P4JyO%V2Ke7Vy5PFiZ615^rhBNB<3 zK6*wL7*bsueZ^TC&a>#M_cms=7?0*fMFbD?W7*l*d@rRtoxzv3s|dAKu8)-C@y@q; z*tu2{6=J)(BPB4+db&hwrxm_;VvDj%M!5?#QrdJ0v88;8$>4UZd0FR>GdTrYiGt*|-(tIaQDpd+XrCS|Y+!;eU z{ke^qXG9fp$^p&wjWUgkC`!&eTs%Q!GJ%qO!M&G;vT9Y@QNALw6m03#So}NK)6>M~ zj8|~wepZZLN`=>^x+&U4=aVu;IGfQdxb-5NF!36$V2qhN_dw3rvD>vyziYHig1!9O zy0>!TvL3U$dmp)UZ6j%NalFV&;;*L{au}IitjgybM;I3?`k!Bt$X}_BtfQ}4w70Uu zto=zCj~z7P+~(PiGiB2{3&$zp6|vHkbgSEA*nXzqJ{cszg@nY$gB%x4fX#+WJ%t6a zf$=P~nc8FTj~)gF&2p1#5D+e0$+yTW8$J9U`Sf3a4|POC8yj?E0%9aOlM}4-;>U5^oeI7(aCn-~aAK;Bv=?$WPnVVX2cZL` zd@HUx^C^hn;$v8lEo148ImZ|p86?e`PQzi0(baNb`Zeo0Fmi@0q(s6eZn{pKA9B^l zjh^PIiMNi%*efku^j#wV07E;S6~eRaC1iS!h{X8BafdvO6;mGD!q~&(ht;m@ty#!f zL-M(EH7#JGz3A6Ed{9Qn@X||+j&M7Ef^zv~Jy{Hb1nbzd>Xp#4*(4hFT6%n@;nAc# zw{bzZx-?akt#h@M>sBpYtqkq{-Og6b{I6Q@?xfE|p;ANSGu^s4$j}O4HS+$Za&frW z+sAPcTEi_^X&bCG>x>5CnVq8%;St3wC9x@-8dZp|YDi1h(W0PD8@^wKt*Rr{8Hmxa zT6uJtb~hMFN)MdG#tMQ#z8>Z(j5a89C8%3@=Tjz*>`wT|L$BylxtF`Ydt zMTuxHMi-?CS5)*py-10XiPCi9swrW5wXuE2O7)05g=7w1l?pMCtSOd+^o!?2u_&0+ z^Lg`mxmhb9pud#K-^^rsB`gn9dGjk@P=sZkl8`AIw2fh0Hyx9#yOf_QmsW1QHgp`j z3f&PgtP7Mg{G49LV|CKSxCEEqF(U~-N`fL0jbxd&JT;yvyz~BZKZ-!PcCg$<>6dUWquVRIBQy?bd|81%&*Cm|pHtpd=%oIpS>(ZQ#-HIBTaCfL20VMj+qo02zk8R%Aw`4RB`D~aOL}^@kOw{ck*{u z`uMS4zz&bgE7;mZU*r`d@7q^4q$Tp~U9Q^BS7eY)><#9Nhhred1-ScLia!}`Y)6}K z15*uE1L*21rZ%LPMzVn`6jof9nnt<;BV9F}vCE$r{4I7HhMLc-VV{(>Zp)c&^|pNn zYU9n5^lsx7dni@npKoMsi6avFyz=*YHY}o| zVc2@9yo6T214BZh^-5UavUjBCs9so(o}XGc&pvT-(av{Qtx&4XaWv6B-p1COPS$pB zi@4bd9d*#)wfAv@c51S##u1s^vHo1Pv)6^r5m|9?K z62(;4e@uCv-MqEehgrrfRBpuLF%6Z$u5K$3q7_@dJwj8j5w!f`A)uGPS)XNmxz<_a zs#LW`t+L(JMN6!#>q%cdgBBT0Qd6e0vN*h}wb^{~*$k3YEVzwv*w@pv`rTm>^v4Rd z`M;BHsp*+{_s0nB1>?55J7c%;Hmxf90e)~A8QQBNA1NY=3t`6X{aEE1ahA&DYoevB zqbV&E(qieMjK@<1)uzXX*|g%*EH}yJh;E-x5+xBaF{H%viHY%vk97$U6dc`&i&`yvVO?!!UAl9fctu*v6xXbk*RGI_0ZB+g)Uc0mfDA-%+F2Tv?^JYc zZF@=wDC6*f#Ky7ipBUpBn>7~oVl7p>juuIurME?7x{n!>)R=%d(o0{b$BgCoA-2Mt zwU{~-?xi*IRc4ibokyvvBVG8oE&D>44>0rF;gH#fm;BSXayCK&-C*d}W;d#fPVpTb za;zkyUBfJb=Nw?{X6d4d;A&-yWqWJ18659$wKj5jUn0U(E17r<7n|+NocPc8PIvYf zZT^|uzjlAoFYs}Iy^*rIl@o)*!MU@`b8A*gRuLML9QPQ20K}1*K*UVX6Jm?H%Lg{Q zVnK;=ETHy2y_)U?zO{uH#0DZ!{oB;A^agS-#>XXzp%S+ z^v>n`vi^+!0E3U+P0642UK_akD#c6LW@VXnTFjD^geV=B~2 zBtrv*rLoarZA(bT##19y1|w`t>l4df2EKib?n>%XDcg2hF>1Rb0=OXO8BjLqB^JfWhN% z80O75q{5!ybBi^3XqVP>E`CtTpxK?%0__KE^N(9~lDht)on7FzJMFLAMH;cSB4q-0 zYz%JrM_p%^6$2DsU-ltD=Z`l(AC$r+)1v+c}!PVFuSQ!Xr*xvy&1tGuU+a(?x zN^B)o6k2XmmJM9#I>w-JBRWqVTC^!vW|BQbRYFf}_>Sd(mXoI!>CuZ9W&6NwofVJ#WC@ zjAgRDiCE!s`5c8R%*R-2+$^o=ai?NqArlsAR^BnTYjBu zR;)Ret=VSYP*yEC&rf#0-TB|xUAOvYa{b;99IGyoXZz*eVFBb;;9d$a{p@H*F$iDz8+{hp7;V%;`L2{U}(k zXA73Igv(O2D~lAeH9;;V6s51O&}C~YXc!p@0mr{skGSl9)!PMEGix!I$&ALmN?o%} zFG31DI&92dszvm|^zff!tXHLDBVc1hQL8E!S!qttTruobbd1dTjL1Y|obg8?31xp< zQoXNE?VVJ0)GU;?Rz|sEq_my0F|2a?iapl`N}k@#Vv5|XM2YxprbezKFHpC5u4~+f z$NAI*`@NMYCasK)Qu;4hsgJAE6Ds)S3oN;=aRO_rsMVxM<{+HlAAHO#$!3x;10=I# zu|z`?D>+#jbp~T@LY)PZ@6k9QK5wKa)0omlursfWO?!3AsEbHdgdBJpUIN9J{a`P= zb;kY0A(q?~>Lbj{R-ALRS6Zq?mL6YD(VZil^8ODy`wO=J08H**yX`;2mc9P~mvcN~ zlXN?hwkNc^e=nLGh6=7*)Y#6HP@8l>f-3y4b^4pH0+g18( zWEEDu1=A_gNO|eSkGHYhca@r{YaqN9JZNMs_Q%f@>zLXU{Y9v=aTsaoly2742}Y48 zrwM;&E4nG?et&DZJ5c+Ujf_1EOHo8eEktprj#Dw6y_6Z1g;xYYT4z~9v^C?qs^f8e z+lsQk-M?sC?OYsxXeeI7cThLFRZz_^N=hqYsv1eCwK6iv_W4?ku@PsXJzUAZp_03xe%h$in8;MYZT*hRy1SL6z(x zh=9Xrs+e~Y3WUuG&5tq)=q}ph#oG!VX zu1-{@xN+fo<W*0WBdi1zEW z1bJx@##NW{NV`tOr85&%R3f7>l}56b+RwA|bnxiRPYktQ)pyrU{-cu6V#B5o!rWsrBckRf_@|6o z*GBRWDTR#e4Uw(|N}~+{U3Ww*FoMmVwxT1tJcX>roPPE@Zk1-<&D;IpXJ{c%50Y4S zz5I3R88hg8s_SF1`N(v$Sb>W3&NSn_tuAc1o!fU#^DNr6XVo^A2645PgxGVJSXi`( z3fG{_&%Sua;K^A8-t9VA&f3Y2N|lOCW!!cqgdLjRphwkFu?MQ0I)gpa_lLOS8%5bH zm5gKPE$pMXYB#Pu$GTD63*d6~#rA6UHZBRIU);(WpMyP`2~D-}>BqN~_kfWX8)5pC*qJL2Eg*}_9KGC5b&z#wgS$jm2GsM-M3jNWbKVdK%Y0==YL^#-|3yp_Z;U>2zZD1XojvqE`{CL9!9?duU|-Ymlxq0ERKi9DLHTCo?9;O^Oe= z3^CAkQ&;5W?=3;s^Eq}}oH5|7xhG8%a~}3RmX^s~D3u+asP83o=TwBons6Wk0st@o zBN_;Z#)2^(=!o`Vg6nliV!?8skY!d0*%ZTmp)JVP>ipU>kh9S@6unOg_X~xq8)#^yw9w#-d=-$IX(b zQDa>-(h5mjWbz$KOP;z%49hE2+qG0GTY#Mxcq@?|Q+och>Gci(@Ihlq`Qd_NEIad);<%Ym7pQ`b7RtX@)@nMxiNrqwH!>86%K zyjVC5$YUdS-B`6xBXu?}Wa;EG2l=#(z^eqQtZDS!As1HKvM_*bio;UYIhGc3SH4i( zWvq3I+EkK%tF|@`#Lr8}x;xV`@XFcYuRbid)my)6-=_!My(pKGX|7jQADbewVM&82 z_e}dJOAB|>S;$;H3AJkggAJQR`a&OG zW+Q;>Y?kaEtf~qZ)YHwf3P_+e@Yj!#`DYv3UAJF5Y<1*WjLrKsFV#lNkJF z!FY^l%w=rGI{yHzt7ybA*&5BW(y3-CzU@-3(qNW9A)xg~@=u881;s0wGhfW<*vVls z=Nb$aO9PU%hqTg<04pq~)zjU-jRk;H^g%?={S(J$2C=?!*)xIGH%JF=W(3Y7#zaY@ z6a6UTwkYG5N%#AcJ{X0n={Ny(f`#0b`_U=qK8mdwowKI-n2lqMvmH@rW*W$&9Am+K!G~dG zT>9A23-yX`S*x$9tyUqQZDza-?_7DuPI1Cp9n;(WJ113WDa+9qao%GUNLRV>x^1x~ z3jBSurysk#2$$x}{?qpr)oaP0CCAmHLKz=eS93WGkLRu@#yyssj`Uuz6jGDPFx8Jt z$1<^S)%L!f1E~}alR9avc*Z9p_(VGPI+eD?QX{R@v0ZH`tY_vbBz(WQ`EXH(G^mZlTLTTCwnVxon)UN(#lXd7vAHA1m@e?qyI$E-V^`KtS`;wl1jSD1g40;x9m2*F zTip3P*KkRc%;<~ROHqwXYxOGPRD}=V4`wqB(#3qMA&j_*TkSBzvb z(58G#s6#sQ)9wbHOujDb-Rqz$BK2DhY-5_b*(enQ2#zT|!Vcy3WLg(KFXE({bK0HH z+?}W_aqly$hsro{zHcA1#kC>-09T8d%)7xgs)maKF$P?=dc|5b_4usYZh}9@tn%Vp zlZBZ}ot@fBY^-~N=1Trj24)SoKHjGm zY}JV$GzHw1s)}dhB#eFh7Bl9!qPG@f8dN=HS%0i5r*F_rZl?bLQ8boJ>1n&C8tJDU zQX6_BKbC37e_UX0wW?K^q#eq$N7mKE!k3q?XUZ(d)AU?L|SU@LO5Kz zrrw+!j+*VAIPL!7I`K^Ncx-l5s*5_qT5nZdnM5{0eOOmhP1|E%quKKd>|a{Vn%LY` zIbbcB9Hr+4dX-ltJcp>w%rEh3f-iRt`LCds`j&cf$NGp_RM2`d;jyU&jdk4-GCmyr zz3Y~@X(5X3OY7~bMEQiKo2p}KWV?d%7|Df9%pSUZ28P_#)xAL^?WiWW(pJSg! z$}F90You9BWVfbABUdY2Hk3}CYRxS z34Wa`0uwrJ2_e^5*I1qgolM3q&9i01g=Al<*PC(DsK_i74U;3IE)J|jeV*vur`%_M zVRql?oy*17W*iU7?$nB^$1p*8NSrJln+7GJpp9e z`P7#=@PeOo@rtPEuQ&1ds0^lEqLFi2&(CsZc65mfg>!N3*JNq0;o$vJE1|v5oX_`D zE9EiE$ezTYCZV4 zUEbl%y-U1S7jDPc)m|!~su)01_UzDS-`IVtVU;pjdl@sKbI)b9G1#g3rd{Zy)7bXc z!ckaMu1xr}4SaOqvTq8)ix~`*V#>EuOBjmxU0WYMRz1vJ) zmkSBMEQ8U@>A^H1P&;=-PanFgB-XtZaec?x_ixUyMBCVU7b!WX&!%=?+vO2I})blu0IzQR;DgQ#c)ouYwLK37M>hYZdd}2Moc{oSSn-MD5l;1davXiIjOKMnn*?-i@iD;ElPOBV5{88uFfX`hQlp2GOwjozby)@CNvg8 zqh{4lntulm8s(D881-JY+r2ieHJf8?b=kVn6@Zv#J z-iH@jhASwFw5kT6R=!(q=s;{K-}a23F>wk-On%#4>fYbSOG*2khQ?N7b6FyRK6Vi5 zb^&o7N!U94Tw~5{N+5|Q|$zWbRNgvKwsJ3GBs+?cs# zAwJ)?Ulj4iXDZBFVr@S;Ubsd`Rm`PoE^@iuitfKctW{Y3-C}!es|41TWL{53L)0_U z8Ly#_Saj1R=bo|h7>;<}-*v352X>Z6J=?4denQ0pD92^3DxtfeL)8c4x-AWUt2K`v zE*)oOvaKb{7he8Nmdx0YIRsZ_)^zL3%5>Id2VFJdpLE@!Q!Sm%V=|TVc79+A$M(9V z_{%t)Jr$m|Ux}q%4}+A%otuR%EuwL;J>2xEZ*Of@%=%I4F;jBY1=vkB^M;tR(_v%p zop{L5vbr#gUOx~vn_sQe`R&y<)!M_nh$5wWl7kDTV^`N(kyye zK`s>y3g`AzO5ro@iat4rnegKq^BVO_xfrWgb64SMHvH2yW^$Q?BGeB507ngZc?~qd*i#i!mWC?TTZ>&d25#`V}mDLd0wc@Xez)7a)XgCcO9MEb)OUQZ3X0CsVMiD$s^1~c zQz4m{jz4+%2EQYYtC{XxH40Yowp)+5#CE1D6EN<1gbdSd4Ypp?{|3*~isNThY5sles2p@rm;f zj}c^YdD}ArL(;#OxpKVk_sSe{5<~8vcO8+8R<5OmwUX}qlNX^NTaK*!E+VrT8jLxa zESnf3gQ!dyT_ z&;;W0H)?gHnWV<3t+>94*NhEoH7KlZ_S3tEDrk#S6+Ky=PI>p5XN4uSp*VNO;ho7FG)9dC}cL# zM=o1pIHy!=(2tq-epeBX{JF{CaCK~!OC;T_hzk*RnW#Rem_Hkf7}C9w$3ymOYZqtI z+YN>%vKh3-RNXePW+n_KV~>-%h9Bi9Q577H9dV8xL<1GB;ftvXu^~G3l+y-GPN2S8 z_cwB9sMUBicw9ekq40}~9A+hRk(=_e5`^1dikB9(gst_7s;tVw>E+X8YPpYy zqs=&}&sG~f-;*r1QzUh3h3m0v&`W#D6E!V)A7(@6=z?3xlria4cG_M>THL#uoCWwZQp!Xw$){{Xf!ANgxH?5^we zrOl`<8pjqarc(|yn1R4@xtmM{xiz;uBC7}6u!{GzDT zUP{uIi#Ndw8h zQ-0{_h)GWv&afoVD|TbJOUKD|P64qODPMKLm@FqdP{8h!;X}gph^5;BI^}Q|eZ*>82XeD%1&7Cos z*mebbq&#LkW1M}&SfM}?;fFvln)j0ZNkQ2q`i8fr%Oo+>DDxhi{jQ~YvMy7yxmAj` zR1U877sR(EkV|69JYr)>;Z>_CXs&=2B`O#NDPbA{)&rn`40uF%ahf_SKByf^**ikd z&0BdW))N7~Vr|u^#lubpIY>>;?54))BSL=`2T5nVq8%;Sub; z28&jgHQCj#Nu4WhPM>PDA5l{bCF`bz6F%;IQ?ZRSvmWZGWh1YoB5IPxQPGIfA$>hG zk9Q7oD_2XbpHjnAkXs&nwKkB9OA2)Ho-(3IF!|EuSqW8(3+nDl>yrWnuod1)P{grt zCp%+ViNr|Ed7!k@pA)Q>&YbHyp8cD7&aw8JwEkWz4mY9bIz#DwG>IZrJm8i?tP~cy z>+hZ^cQYdD^Asw21wN)vBTY@E>OEhiyHd54RlQ%-dA76;HTJX8Rj*g9({sH#R-UVx zX4W+NVmp||u!?8KNTz-KU9Jdab>uIrCu`H%w4K*ibTSgF}$!jw_ zbQ@WdSeKboYelElYotW~ z0Lnypwd1LapcPMHhP_)3+AWpKwsqRwg!xEsnC5$9U3B}ZcC06R=o1R7A+B79S^^pc z(qKc9&Y124+!G@crm-AYVI_p?3e2KkHY{&ibL~^IYERnjP(78xc}JE%0?&WS=SCm;h_%%;Bi>HxjeIG9*4rp zdMZ$!o?`){ zt#w7Juhbn|zQgPVMAulaaWU<*$XpC_-8>~FX41^_liPNBv}`Ofna@k>SC7h>j0F?3 zSI(0^vTRIjDVgHIUT#{P(xF2wkz24ij;1dYk~;xcCz0t>VAP}evB{ZEiiq=R$L`Xa z+XqlFedpX!ws$GaO)OR>n?_?%EvU{rN%{+qia);`WN$w#I4ZR(GR3^KtxYO56&vh1 zAniGF-#}fTfMysSFH2%;}_iHJ=VX zZIgVehhCL_x|G{7)yP>@I((~xCu6L<2Y168xz3zrdzTZ`BkkPYF6BnrrDCx~+#hq$ zTg@xBq_EJ@1}+#ewW~SOWM_hbF)0bq;wC0SW+0*tJVs<^UJ=>&^HNlyW2Jt*R_w@(Yb4p_$9K*V*A;UYiEY|;*-GsnPnEBZ z9OfzYU1cd3&36ip-^AY8nKF-?2;*<}! znC_n6#N=Ll)r_H%vchEPriXgnYK?`5)d(g}fWdG(h(~d49n%rGr&)m=d`n2+)snbK z6j`NG?Vf{R5TZU$ONvpswb`@XOQn1EwM2?WQ@xwuadVitk51N^t%xlD)p^j zenBf!8k*f3Yn3xe7w+d(hayiBan{%p)6Ef;JnLVTp_+*{RzZKE!J|9-qFiYx}@! z2Iw5Rz>3a8xO-hia4y+GxU+a{wTMSiWXZ=B&&TbL%*)6Oc;0&Lf9FVSy=Af1^=p%$ z@qh6$UPZ(M5E)NItLrvUYvqWvX(^vvyy<8QW1)oQrPt`%KoR}i?oLab1-r?wlJTGg zW@`;<$a`4>he|1oOxk*6vbD)Yx*fWtnqPdkASljjy9Kt}HHjbsue02Pq6mnzO;e_; z#`5F!ye!~xoSJAR#%QYX?H^Qc6uC||Str)AE~N?=x=NHglL8}mrsH?H98l!fhCB)A zI)1;9#=96(AIEi#51`|SHmML^e`f*d^jekBsnu-(5y9g`pkYjvj6`tkKr)YU?}kQN zZy_|sbtzd>r>4k{k%6>s+2*ji^JPRYo%y)E8!RE5SZ$E=5Sns4}m0s+A*5*LXY!g#6gjW zEi0J1x4>^yewY4p9e1uDj?UB#B&#C!nb<*u&QqqZ`2TI_6})Zv2e94!rj_O@MNqW0c({2tfo_2zu=wxkgdQUzkEz@5WXPu0iIj+=S-!%qn3nOr_((g&6n3yf5!HI0NiAfsTWZd4l0Q+`wU?!uLLj>PMYe}h0 zip6v0?G>8BR+<2bXy83nUTVV2+E|QZIj1QCkoiQR<@)$E*)oSVCysDaWZBh^iF@r>S zU5A5ag11d4#f47mrP#+pV+C3N&Bnyg)1n23D0DVzq=OD4_9 zPtBv&y#me6Boi+L7fw9DrEE-Cdw)f~^-NU0X4zD$#%`M+YjhRW1lw8QnEDKt(;1C) zL~$la(VE1>{!IUty?hOttxnCtr_E(KtDiT|DY!>!q`}i=x(R%$Rp$}+y1%Z_F_DK> z0tp|*^$p9RL!-=M!W|FpH#4#tf$@$WH^9&rleEmx_1dtC`(e{xV9YIR)rn`ECMG5l zc>bRn*It-7o|KLVGQAAs$+6{$wQ18j0zWXAh=hj?5sN_uJ}ubbs)2z=I#_=+(Q|Q} zC+fNiEtYG{Hf`$)34UU7-`;#qM3Z=fiCP7Mh>5lP>I7EuL1cTxUL`wdAwd&crDN5b z$(Bm07bZ+fI8A6aIF!cg96w{V+f7u?hGH?%%=}Kw`_n0z zwo*BX3V4Jq*-?j>!o};|_Ixo(E+$gy;42jPWiYn-!*^>VTWdOZRtCI@fIju&dBN}R z41G-*JM|h%>?p%emMK#^Bd64Gn*&F)>Rj9guqhG^iCnc8*fh1@_$tHQSkXm+ZZ3wovh@T@150hW7`EID<=k-c-J?;uPBq}0e)EM%)5*(VTF=#T5|7K7zX}J{ki6p^ zI2j{hXdMKSs|I0mFjx<6b*iO?gdWT|Nb1n_msM)&$m?>07JOqo=i?qPUdPmo zH)_p%$Z@E&*HAI; z{+Ze>QkXEWGk9}NwZ&^4)X7lBx6`OggTu_ql46Zas?VaMZrp~yrWceeLJc%FbJb9f zLgHCejrf#h7-h2(XEv2Ie0uX2Bm8}t0hk~5F}0E#>mW8tEMg_tz88#HSg8s zChioWjvCb-vuIoRn;Cz^B@o}_?dtP(>S(|umjzUk9;5J^&(7=Dgt-c3%pcW8NWo8BV}- zJBLjmi2Pnx6{gKWD>XH?J|1W3JGx>S*rSs@VUY9Rx-kJPB4;|&CX5HAQ6EETUmYlu z71MLq<;S~Kw}UY?5_=EF)#7ceP*9B(n~O#+yR~>FJ+j&Pl3pVVu8hk$uc~k}w1n#T z>ljzowW?T|de2T)L`Mx7-b2!kf-G}#5TV0i!|wkPxh{62?$fSnc$7xXlCRg=Gb^`K zkEag|p`r$XfhJOCWX6$_mz0r`xt&*9Kb6}-UkU|rNBX;UnUI_46j%hap^@Poc+1E9 z^u6Kdrrfe- zvDAEXI3pv!H7G+zRhoHG+S)3#2-RZd;v)gpEkKvVRiW&WDD_tOl$@vlO;qy(H82!Z zwSkm~NyKhh6E4KtXuH?3E+;lJG_tylj94kHMUVMzt&dn0eV9ywW?E%NGZXi~Wl8=< zwiogqrFYz z>QLK++YYbIz!tBy;0^DfPDl6bb5ZIr{~lHzlxOzdNTfJ&ioCqMEgIUCiHV+r+fOHX46_-9&`s*|7>A}}Oor1E?<{!ejLg#-r)FCB zh$KYSb_&-e{bXHwXvrN&d}|!0GSf)(N*f#+9*lqxne>tGPgSY3^y2;BTHX)E(X=4d zUap2yk=RiH%d7NE5h=fgrS!AhH9K-*0;(;Q&5)K!!>;QDseBPfp26HO=%)eaAq6w!k<$ij?0gkuL%@mIIYLGS*aURbab3W+iB9#c}o_F)=U}>->PF zP9`70?c@AETm~F^mKTU^3nH}OL5UFcLd9wN z7b54Qyc~P8-j2%{gH88Cr}-!dGa_K1CRfRBI~~(PWN3<`c6#_Ij?y*4a8u8`o)p4T3CBJ52i>_}AN{H@@8vW4 z6RxC6mm8r<&F_cYQRk3NPF8_ln_JP@w2dEdY(K%f5n!u*W!i#?AkE9Nqr4uywqpF_ z68VgkCsyM!qz9E$SH!DRQe4&ygnYH_#1gVoKc*YdYNP&^!1jq@ZM<%YfKVdSr|2@2 z&f9%-_@^U}P#}72u)tVKm<=KCvEZKLYt2c9WxXa(vk)8EVL-5UE`7_V`;E>=5zi-c zI<~gLceO22MmSeyYE9-g3H|}JCewK3?vFwFJ)Y>^@N6g8+UqQRr;*&@s^e=hi>g>! zd|f(MHLAhlCYb}%LN@V4jYBC1wgxrBY3)Eq%OZ@PLZ!%whYY$$Eksz*ezW0wh^1Q$ zH*{{Tef(I(ZK6i2wa|@k{0Tm))qwoO5K}hNehuN=18ZhNrMJt+l4gGSrlSq59aL4w zUB=^(C0pQr3ACQ$pWy7wYKY-_^CN5T_p0f*bZp%^n;2t|GB&w%-m)(KbvF3!f#+h^ z<~ps!+VaZ1M23c9NF;*DQ;RXQYj|BwWzsRfDIuK!ZMc%_XBoeXbwxPzO>l|>G0iUJ zuraOIpE1@x_ZOw5OeO-3S`*Dj9pWct#@Rj|7-;3fiab~HAv;WHjFL95W8!=6Mb@X; ztKlx_LoH!`_ae#`Rh+ur@eu2FzBps#VXj!UrEelK2?lwULcSj7tq&gg_-5&3X?D?C`ZktFiKsV+0#Bo|ZQSEoBeT(3!DWCY zgK%}qKD1(0T#;9qkiVey6JNoujStT|FLytvTLvqv_=>8`zWzd!760qL%~BC3sy2FT zMSsTU%q%Jt_tD=g)}-dU*`^4PVx?!`vSsOxoBUc+@Mm>@;9${SGQoFC4!BYSif~?K z*yqb^+m=d*u&{KmVCD>j@kPHxX8C)brf>bE7+oo#KyPgQ67OZdY?=#qnNwn3k;5H8 z3W0+44nLkOwszKHsx%aGAhwmqRIhu-*5Rk`*Ma}{a!u*%(-ra>E=)~LX) zn{XDQ<1RbnTCMRt1gQM(>f#8$il^M2Y)zU#b!lde9W`WXm0O(~*&eWJG-;qHW_DL8 zSZi*Wy^L4v@t!dQxV9U$kLQBvOcye9+gyQaG{xF@j|_NDxU8ktx_O4$OnUam~ z*AJOrwKiLU<(&LNw7--78d~1MJtGfTu&jAnrNKFf&X_7rb#mrwlGI6c=` z|9^mKLbTBfV{*>MS%^(BDC>w0-qbunX7`$~ZbTj%av|gtDNMdXt**=YE$N~;d7p%r z3iT4`Hm=8c8)Y)Ic73QVHSnC`N)x(gKg&JEUOR7}kHnlT0zROw+YtU|>YV=_}dRrvXv$&Q)iGE@AhIG7>j$8!CBPA|sK?tvs-U&gz;mCkMoZ zQOGMwcGUxA*F4TbQbnK35vYiTmMm49RV9jR-JJ1bBY;rqW$!<>3j@9?D6EWW;PsD{ zu>&+QoCFU6P2X@HPS$cpKf_Xk-YTt?Rg9j_5{6poB8nlUUZ_rl5RI}0j_EudgVhV>|0*Zi*ye=k9ro&W)*q`^NT}8@*MDOf zufV<}gO+YIS&f{0>+&_>$m8>;BR#j^gX_?=c4li*LdqKIOOEj4qC0WK&i|7&biLb9dOdJb*i#{!Yh(HSLe;&|D78 zHc>r%9FqH8rBA$01^M2*uXf$ZFoa*8TzR)Bge3?{_xn zxsMPF)(R!ZfTQV6VXnm4ox%-XqZ}pua$#rhS~dfiu3b=Wh`09gYy@P9{lJ~6inE@= z)QVK67MFYVHN9`KL`oEN>oHo%y^>J0FBHTEj-TnrENJg#ck~R*;>6h5pPTC$_klhY zB59@W$mMDPZ9VoZ)Dd0KXZpJUXRdOxK-F3Y^W zty;55zy)gGFf4X|oihrNxP1-3Zmy=yg1V*kqTCrir7C#{ot7u~hAlpy8TBngNGtNz z%T%7n6o0_b>9HjlOhbdCCT)zR8Y=3146yKv#wPMaX2<)nWr`6#B+*kE(C&Jif!>OJ z(d#7}C8GR?=F@~GkKU7Sb%hBlm~nG-n3QZ;VY+JKgfZaLsrHGEoYHNFj_1|PLhIC{ z-GQf$%~WTbk|V|zhgIGbzFGz+Q?Z$C&Z|1Uor`)-aL4zx`qh^rZqkHt1y#q+w3e2t zKsgNc$Sr{bKW1d)&MT*Mrp+ST*&E(AoXOfV1i}Mt-8X%-_XgkcfKyCGW{PM$gmK0-`q}RYJZn%Yad{dV?{lj(-5ppA@w= zF`Y>M!8ZoY*1#TUE1+-H$jDrg6B_HcX>h1UlkUm+v5~_WX5jF5a>SW>dR=51Z&cW2 zFR>oWI(_JbE6K7^p+MV_**LFPjREKI<@;$8N@~xH9INdFd+h!c`zkOK)ok;=J!c*V zbyj(@ctyKAduX~>siaVLHtd^p*SyRc_>GDaQCQkv|B@tbpSe#PZKwL-ywRUICRs0q zDrUsGqtXFBJccGqp|H+7Gw}^z>`1EEYP(XTgA2{hq+%TH95x)Jiy=A~jR{Mk>>o12%Mf~hLdz9pSjT?0pIs4dQWURM17 z6fyWyq0j(bA4s*7Vo;>hXDR`Ih(7Iy*Sm|e&DvTn6l?7kY%He_OIwl76s1o#c@O&8kA zN2v+twP967a4P1FMJEAA;@UcpQARKkum7B#qnKdr z`2D{TsAth_CsnrP9=_ytms9Jt`c7iq#j0)OWIrjUappWKI^1U>7ZnZJUz<}}J1{UA zV*RmH=&c>i{oL8zR)~()D9W1j%#etTIq7MG2`j{a8knew%VA4?=$0k6gjP(@?i3-5*FxfMk5y9F|W>{9wN(`x%GSgDYgzYK)RJ= zOCQt40MQ!W;R8$j>zL(ox0@Hm90;BH>(W3Vly!P@hC=R$9f7!&NnLqqfy*C|Xa+K|USRfne(cfG*?|p9!4;E@M^SAmYdvd!?u$h9V?ow#-D;~> zj4dgtq>-jkr+4cJ?r4X5EycC2cJEgl^=X}7E;rtArn!oOZuP`={U3qc zUT=Rnc~LqcR8+gjAWED;#D(K=Z>sN&!RptE=YjQjKok|{8g?B&G2~X}%gg_)x6};m zwzXbujjwme3pPAcK03!zoi!R|;_2}@eR;G9=(WMBaXRP@~hkxsI(Wd;@PMd=*k(5DVsr}3i9D2>(jc@=}Q z$s{We%4+qvq_5~RMf1S$^tI$mjW!CkTJ2wa2J3!biilr!dkArdQpDn7G2@uAa?Xi? zC7I~hhF#)mi*6bhz7EL~s_NXK-z_h&NM>CeTHQQ80Wp?os$zdZEY=lZ$EmQj@i=Ru zreOqYYqxqFl1c7;bNRdeD*pMI@9-2X!1JBhxAVWh#c=;nJ7O)xR*>ygFpo{+;)VH0 zIVzX0L(H8rPl&u4E_Qh}lyTN(qRy9KIXT!`N?^!vkozB?g=pinH6h1Cm|m@pEiu7Z zT~6O!u^z*xu=5wotT8{3&5A!3hSa6lCP%z6(`H!d_%-DtA%G` zY)<1)m*5Xp1&q6Z?u?PAVi!94nV=mc@6^&xb_`s$oZ7ckX zVt`-!IX>m8#XHMcqf0F~%YzQ*@fw0p>kznfWSsNB`2B}(Tfh5n7mvt|3%G%GY?sD} z>nP~)y`oKTbRJ{nC;4%ygfjv*H;+x@ky7L0(F9cnr_ z@k^HHQ2x*60W?wc4UjZ?r7B`qLgO%dggds|MWKL^aw47UDx@2F)$VVJCfmeMi&kfY zsQn~3NqDak0+hTt2)!*R_hdQxqS?7nmyEYfC}>hZPO_{voZKv=Z4 zeB4_eN=mh&T3kah#dTYm=<}r-UqcS1IEnSIW+0DYr^O)YEbAi6_UFLfOx0E3mw6Z z9P3{j4bH=lZRxI&$KpacA}(e9qxc@Hd?(ROx4T5n)%|?GVGH`o$S~9>aRg(l?`^a) z$woECfa-NTARj4uK$E9)sux2i`?=(H_qdBvcH;73?Z;Kle*pBm*|v{pOXcVDE&p<| zX20u&Xdwu)_C1z*NJXRie}DtR@#RcXLdWYgK>1#~KB;B&ab&H?rm2gBaXKq!3JguTr2m^gz;D z{nFkiHjldXpoj-?O$*qdDd--{N?fP!u&C>kwJ>y&_<1wsLtvk%jpkMxh8&--zAflFYjQ-&cawn4u(>U~vIkeEA{TGqO9r zImVM++zQ=QsCr1^N(6%0$FKYL0}8%Xk9LN4d}jkvLyb;N0-Lw;@6?E9I%UJO+mYQL zubKbni9{8?zJICuzkx^p--~wuEyXP~i(clu^KS6j#*Q|rXH(Tp{?qUUAYaRtPeskO znxW?gpL^Pk4IjpMTWKZc_%H=Z_jhGGpCik${q&LS_hn1I$suyE{!HgfHoUvz)Rir^ z3)^YK(WkuMnBi;*Qsh($7t}*iqRfgYQry9@0(g( zGxb`jPAFo-;n^C_DWI+!+x02uFi)jK3K>&58w9Nj;sP>8X$jd$r5=xSY=`rDk@Nby zBkg5fjw=<8!%NU?vp0{EKH@QI`}$N_HGayvW|UL- zzYf5uPI;!ar4G9)sj3uR9S1z}*wYbZX6+O8WQoUThJ|qQh|XNxn(D^1>46$8mRG51 zH6^JnS4lL6$Kqog`6QCbf`X%6GYP@=i$!>nivE(Ko7TWsvH{uQaqSl=gm&kPYHg6- zd0z-wEvZ#DocMHNro`MxuDDP^o;GJ0Kvs;V|KZ%XF3x-cJcxPx}3Q8tfqw28J2#Nzpv zM9&H>1*f#Zr)?8P%AE7UUZq1)L_ob$J%AxsB@0JBkD~iI!8<>?U11CtYnXzpzB|TV z%zU`7#+=vFr?aL{HeCbc^wIqRbIYK?@gIP)_2ID1mvW}S+9TZO2(EKcf!aUk2kT!Y zwk;cB;kn17sTHWSCLwb)LVk2ZSe3M!xc4c81{+Fk;kAB?UB#8Ov{Y#+oGtDRI}{C6e^d5SfoL`P1ABbUVPWbpO5Kdp{Ez8p8pD7W_7DSJT+eAq|f6;R{;NDWXI?U zX8{BR3zye&+N?8_XEtVD!kyJ851O8>u^i00BcHUQWJH$D@mEnNiakUy(Hd+2Kzmtl zW{wvVY=xl2rSL(ztL#V*C;QVKajIbozN5B~=k$bT*G>973J@weFUJ^#P5JYVwPdi%Bvze6%K)Iaktg)V{pwf_Kx z{{V@9J=LNNU%zj2{(0ay`M0$34e8PG!||Q+FW>jtkKpzE9b2TdYFKgk_j>{2`v>^8 z3X5;NXgOZwukL->KIAXg{8atsjQ#`MynNmK-{cGsFc2XUZZjT*K^vz&rwDuDId)BO zMBWZs$^&q$E%P#THV>B2Se#}EFFE8i6lAiW!US}dgdpXKn0$hCe7^widg+DQ(CYa# z6Q+p6A08;Dz{J2-C(nGmuMo(q_w3q=+PKWc;8%O25H%?^bS0{PN;u5;9<96s& zN8;UofF(?kFdgbv9w@8;?hTVPs1YJc6djpw5^5rMQDFNjejR>D;{K4KE1*+ZI~^n< zy-hZWIHdv!z-E@Xvir_`X7AK6TN;YgxIriQ!+~5hkPc*1EHP#M#GRl8KPuzB(>DBQ{5Vag-V#}x*3nur%hHD)Dn&M|2IHDT{>{)>b~tY7U@= zm6^M9E)y*FJFp6|5f?j#&Jd6iCu-q%${<4QiNAusl>`fVhDLlNm)id;?WtW+#C#LG zfbtz~LPwp78{k<6R=^!`=ENqF*25V!hotOy4EYb>dpABZvM}2=I%bFAO~Y(dXw`CN ztQcb@>@rVXu^U8G?>@ILb7^iGihjWzpgZu)*OmY0@-c~+g>fzkK6U}VS_SKu;^vfj z5s$tXw>qT-MJY@Mvky!3f*dr|WcCs18P;y@8nd}3U?8PsHG-XNV3{ZCT76ydwchGO zrUVM7SQ6OAp4g@p*iH$V#A?Kgx+`Is4S~j%N9y$&hNJVh(h#ue)QR^Sc}!zrA}I!4 zB1?O>S87w~tlgKEi)xPxY|ow27Zb#%mB_A zd5S$mQqZd5P%Ad$7&w`e|LwhXD>Z&Pzh@ z-F8&)N{NCL+{O_fJ-iyLvwr)#bLx}cb;yEf=l?Q;!71HHGPDZ&J8N$QYO1Fg!C6h> zHoeLkoeZU8m;;e(!-JPPjupXR<+p5RyI8TUc}a)n z0=(!uH;>l;q%GWg6EiT*ut?0a2RC7N8J8E&n_|l{^PovpBGOMJD)3`2CM)s;9EwtC z$~4NKdgmw6vzPVJPHJg+FbR1_^;8#ZxgiS#yg@#MS12Pia2^Vq5A`pZyg(lO36_MY z8Z-*rBCZo$3AW5X150uaAJc`?2aPiZE1mcM%yDIAEm zu(f~@BvVd$s<;_CuvswVgcPji2qNLdU`pXMv}9 z$gLxDf1FB}?OuG)Yg_WGMsj=cxTdCBn9(uUM>kmbjy6XB_q6Y@GR8Wi^Lz7|n+_-X zKy|Uny^>3ZaA)6Bv#${C@=uB*P};oGvmhK*0hqS_a#wL0^cg;7RGV-_NL*%R?hO^- zipZd%6QnnNuM}p$xGh;`{a>bZg#G92j2HPp3Y+}`h&6LZ|1;2NPG~vVxY70AD7w%v zSo9MZ7YXXuN$NHd7k5a?%Q=9p@oB@3)IlNv-N1_n2RfjJavBdEhHcp;CwpjHcd~MO6KJ3~MOc!g81e+#Q-^xQ?ja zEEdrfKU5Jh0}I0aQ`(W`Itz@dhcGN+agQv}IK@lS&?5v1Ap`U7QhrstId>U^L zVIG{{iEIEWI=LM=e`Zj>Jo%t5L#!!>+GyCU{{R)NDI~k14hW?{X4Hoj3|*x|C&l{w zB1*#5*6v_~ux0f8#X}Na@tVz&Vn68Wc>ee8x^&*XNZ z0pj{~V7_jGyVu}xiI>b+~GI1E{3_D-hZTXOOoU?bSX zC*Xax593imvFlT{sOOT96&Jsj#w`l+CJ2) z(L1E_m7lMVa!V~1US`_xCqit6?ign+v3Z;%a|Cjzos=(|h~iOKAaofeU_5M!LjpY6h8Kcy7xIhVPbkH!|zdV&?Bd01eDazp7I3}<0-UxXQr zW%A#o27z%lf}*%4tRB3?F_bzu0OurxgT@o1DHbqPKB#@g^{5!cR3%ZgP=ofdYK6KC z(1{qeFyS2RD*`t{ThPd^OaIM)dr8Sci`Hk7#YQ4krs>>^!y}_xS;Deb0oYQcyVz8j zqQ6-$PqVOUg?ou8tJTczG!A1zvMza-aSvILO2O>UWNF?Ad+?;}715NwQ`8N=NL(VT zfAGhgRyAcnbk)f6(}LkMnikpTAkY<1@QhDB+Yj@pQpB1qdJ_nWRLm@6r`S&Kd-$}` z=o^jd+_t*c-ms(uP(TMP`l(~5xKMjds2*Am8tR1+gLu)ITR@Y+62hKA8R6lJAoa@* z;<8^U$_sy}J~lh)Fr%ZfuyVGA5JR}IU|7qaO^+uaH{4+9K_?X@7$$TVUM`lz&q?@Z zMrpuB3cfQNx5d+dD~NG(v|C>P9W%2@3nB+WFzs4+p{0!v#efBX zSC$#==>YF_uazGq*YN{rPh(j}x%3eGpur&H4C`pOVw@eUc}|I06X3y^d?*Ndzyg!+ zj;*L7WtH>5@PD^+Qcb95v?!PCVNx!0H-c5PTEJkDT$OWr)90tJnS$&~Xp%yv+$y({ zs4H)3Fr85WTehl_&$|)8e$&fAAvjS-Hz0I8qWg4_pyLSw)IsY4j{R`(id&LBBl#bf zBWk-7n$rJb1I4=Et?0PCA4>a2hcasxmR z{Q6?smuB7#!MauTO<>Ls4H-XY7DScT!K^9!js2vqKxVwU%SS`$YmM`kq=QFD!vPcB z)Tt0akaVQN=vYudgbmohxl^ikaC+|~nSZBV9h;^cPc(*Viz;Ns^)q0&fUW-Li}3)- zo2jNYa+7B0#A*?(0H(c2fB4!rpDk&fdEV&*BMv1Ecsp(mO-(?B5!gFMuv)o4)r`aID&GlW6Xk?HIardJGX6lfN}&K zRrh25i!E(s`y{Lo=xtCHG>3q!4HlSc1>xYrISvAv;r2t45;!e9=8TtE3Ixt+_E8I z+3E+><5af!HYW-|*+4t~EZ;mzzHPXOYPu9O4j!={i=q@=MLJM=ZR4r&&VnHGE<2KU zXx?TeD%k3}jIRQamT$mtcA>vpt;9|%+&SMO{PjR>tIbH4M%qFhLO4ztPH>WaY~OFd zg`kJ1HrSt+t)Pjratuf1nLFE&czk^{^Ps?l@4AaNio0O}uqGC{ua#t_^i2F?P?^*+ zDRL&2g#a+_mqm(43n& z`2ucc{dspF4N3WyuYshX&Oo?(0C|@>@>JJTFx?A*^t(?{CF>4I;YQM#KpR0@xuxr=IJRHFkr z%R?9uB0^Gd4j~m0Vxx)FfiOKM5uIo;rE_t{%Dj}$ zRB>reW_B7ca3p!~Yl4z%mr1`(*@-r|4_8g!kieM7KK9Sq%0g>1DV`F2VWfsqhpZ>+ zVIPh{ZOv$sXeKoR{PC#J^9OT!N26@T3`MLnj55H+z-Y@Wna{$y5Ujr4=kw`N;rqxL z0DXv96vz=b31DBn@zt`DQz6M}$r^AUpfeIvR`C7-s4%T5j7}mY$^eh4 zghEmnx%bs9guGg-Pw1KX zf;;+1)Vk5^N^x1t*WGaN%g1SHcgK~z`EM3~Imqf##DH5c5xS+Q@swZ7HQ>UKBs_Xr z`{5IZ98@__>ZnUmpWx2gXV941JGQdk#Mlb|04Na!Zi#we4N_>59F?LYkz!(m z%?M!YQY^+U5I*$|7!rDA3s5m`QGv}_t7U5(44Le|#D|p;6N{pmgUPX}5SxLVu3OLtVMqq_y`(|wgsKUqGrBv{vhlyiEpht)@lX3mVvChOHHG1g6b5*^7 ziRwcA(=se{(*NOzwbB_4njk}G0p113t10&vIPsGwNT#?k&iE+ znF1MCc^G_t<14i>;7Gts;n8WAT-ywLjOb8VPHhFP_Z}@#U@}BRAv;Qh*OvHF8wP+9 zdNR=*9dUd?>lUHQD;IlKPm@z@?_$W)KFYl?1BFWuuFc!2Z`1)7l)7Z1685mGVnEbK zv|mtEn8jcOkE#N_A+WwPxBa(38ZTI>dsC!mp{4!W=$Yd+iu5?V2hy<~ifjNgkD?(9 zBZDSr0tK(dxF+alfZ~%kk%Q%8M|HY)Oe>`(W-Aekc&A*n!yR)BdvV&~t!o-yOSWC1 zqLf9T30zBHQko3yWQ!nr{~$6VD1Mb}$vh?ZxZjE9Lm^UCs3?D&7kie>Xeu!ZTnHD~ zaod>S!C-@YQ@KKSL7<#^agu^5NWM-_22-YdVGGJ2j6I z->GPRW(%84ZV?66rZNV*M=#CP4|+WI$3`5-fX0r6zmph2&bX4y%j@2_Ag%BARMOx;hMPeCwzcrmGPRJQ*x77R!%eo zMG8fPJHBwYFW08x!UiM$i;*yPhzI_ho&!meDt~nrb%)3G1SlE_H^Y?q<wN4Lr49 zu%$8uVh{+?n891ic+09`BP?m5M&Ra*XD#PI)#yJ!6~_=F*Av3yKR_4*_@iRe_BLTz zpgc_nN4}yUK6leOeqRab!l-82ywM~>pPX=S&@t1Muu8Hh`5#$AH-S8ZZ*%BezxpO| zrl~b{>YmweXkqr$@~ENez#bb)Z6nTL9uz{tjVw2rJS%Ohg~TwWqN$jt zE6!jL z@LQQ{?f8!J4L-_x!`*uDRprE@UeoJDe0#-r@eib49Cy3{RDa8}6x`7f%Q2`XhM^xr0UHqI0ZN6LwoW9wK! zYy3L#6NfZRbMWB1Wps^lqs zY z&L1V530;rAzZ1l^IFV2iV#QL)UZd$sQPj|wG;AA*RYRl$z{s1`?y)lnN^L2VSbVo))NQQt&C7zYH5`SE6C)h zeVQTg- zv9lJ$0*g`AE+exmHwM5P)6^X*b0`oj ztJyi1II*?lZ4Q#E*1oqlH@$01OmFRN{{%~^WB?dVl__fxZBfNAZk~g7R z=R^67Q`g;iX>!S^EKep}9GD>>H}@$gmNUV9JdS|g8c7=hu9!8x&jc-o%jbWfu~I02 zus(p!<~@gzVC+wng;Rbyw!i3`xs(`&-KvW!r`9?-fX;oZl4!{PhUm^R68PEu+ef>W zf_mSb`9p-bTNB~$r2cczz8aYwftjZZwN&0=!cbYodDB_gI*!zDtT-CFs%|}HrjmYW znDcfmN{G`>%@YhI_cQ@qBS%X?AV&>D+qjJmU%n^Rd~CIo&!4~!@O(IST=d~Holc$r zK0k~yO~Aow4f1ridfOmo!SZWbH@b1Y6eyb@2HKJ%F*JEEAKY_Wed zEH`#U8Hn>@2V5~RJA<+IY+7`yHcuU)sQkSbx};#j2HX7NHmuQ9|ptu=&yG@8FB-OQZQ|CZX02S6o28 zSMlvR?^40af=iK!oIf3Iri)a=HG-vaeYSTCi9Zzn6~`S(FD`wt zg$uz8@|XO5v+w-{0zy}*GK36yX7V&83ckdOlg%7=fsb}8YQh>I#Ku)|I%C%rsZ3_a z_(fx3${=gg>E4=&Tg9D?oRrOS{VqJ44c0a1#T#slAq{MsFXhGBNeF!N$7v;a(2p9P zLFZ>9`rR8HN+*oIGXgHq6~H>a#-08`G5F&3#d4nr(bxM#ogWA-F0yf z?hxDw4#9%EySuw4K!Q62mq3sNm*4~^K)!vRd(Zja``-V3`|O$Nss7Du&vaM!OjUJN z!x1y7bun%@K7%WP0GD2w!%D;!(+p)MR`P`fGFi4%w#rg|@s75u1Y!&}ZNQAJC;0SE z#9%JL8u?3Vmk#!8=8zG=8)qpbU_1a;A%z;FAVhlxA!2{Tq1q?mQ|QcdY(-^iT5Bfm zZJ_>Gr}D3g`!Sd)bZH}SO1Gex<#!wbv#C$)p3hx%Qw3#$WV2xf&!Ab^G7!=hWbx(+ z!egKA8DE9^Q$-lAJ(T}UxGet9&6}XF1b8|+x^YR7(6bBG>kCjF1=Laouw}kuW z93$Xw+r{t$b-eS;mxhO$4_>1e`4|gY#r1H&s7|Gqv@? zpz`uaTZf6j*9h4OtK@QqO8sIXpu#Q?w?q7yDc7%2!>Z3apiCfQQhXFVz(mJ?LEpb& zf-Z(OA!Plj|GGc>OBUd+LHjuBGe*Obqqh)`OxU$W$D}NL1Y{J5-z{~3qr_-8q8{#PU>^DAG{5Vq~dhg;?YlR1ZhlO z5{vGbe~8GVV$$X*Q<5mFw}7bkn|chc_;^~LCVMKd-kW17$Xi$#s_3Qb;Ww{INEn)F z#TA^J6RqO))vb5{E5_rRoV^Ja+Qu!pG^%NH{Z#2r=rW~|=odq%&%U$7^L+c{Uqp4ikP;t?9erjiY14%0M zJA{E`kr{ZBeXpRJYcov?p~zeTocMj?w`3v?s@SPuW8nCpU8#WhIUcF{Bbk{bYw z=8-V#d3m|UCMBOGm2~IC8R$CX+{&?QkGNgFG%Wdm(V~lR{wUdiexayxx{{!Ao#{*B zq&x_r3UQ*XRwDc4UXNa}_ag*YNSWCo8QtI#%OAA#x&NMaQzU9xwgwS>MYIG51Nt21 zGYGD+Twh}LL7%Ml{D*zy#nr7FgpE;Tv`W`Xm#^|t#w5*qSBG+$&JyE)*fxIfFxX;A zB2Xw`P7e=F@38lfzLiR1k+O%+FOo^q&NRYgrgJ6w!Lu_FPdqV^E|awT!!n!>6%xh8 z#z8dL>OGEFdua+zT|rjy7gTKuNuGm-)SCS|eJlz8C=;=_;*JsZ)%e+1AN*^6SzLTu zscmk6v0oAEcM6g0dX5zcv?iLK?xGY^oeQE;oKO0P~S&6lwc#lfnin zU}WY+xcl*-l2aNa?=O!vXulVN&8P+l*1u0bMRg!1h|_W?#oEuD8-oDqFE3tcV|!Si zC%0+hwBC%eSoQkAQ)-~GY4_pIi(TaTh_2*KWRHHM%p?JpR)hQ=KQ`CT8W`uZ>s z_ooZnT}q&#r#?+~$lMJ*fSug6Ca1 zXU(>AqKimor78^!9ZxG1fw+e_U-jq$tYV*!+1<#~qd4&vbj-MLB-NUj!im3``*6$< zO4QX}BlVD(RJ}ZkZBlJ43Qdt5UbKbZsks2TF!P-tOIkpZ{gqKC!mQ2Cz*IRh7)~F@ zq2ayW9{Q6e+!}U6U9?q`^SR zTIiJ*E{oKeHp@G>{^Vjb85aqvm-*1z`fRcx<~&X=%j4l3e&faDU(uY%8MIv`&C!l? zL&BGmV*2nOH49q)Y?jzS7OS{MeWitKrQX&VCcnO5qXrK|@;(V2XrZI;Fv5&1z@Rd# zqQ}qg>&11)q6iNC`ci6+wf$9E#I#ua4Nmc}t5xO*v)APdK^9|kuj@P#s@}qYu;=kN z{9?8X9{k?A<7%p*g7~5`bA-{@&Xi2IXcS4jxucQNN-f*|jP!4UU*FLMPcM6(HY+(R z{OEd2$q*EWc+xmmNJ^q`%CrGSh{}W!k=*%%s$kqysL{97n7CB551CY@P%_z%X}M2v zwnADnI~)sQEG=mRWf`=3W6`Rf9|W)S+`oO->y%wUeVsjM&T#J+0XuC85O{2~;UIL^ z5;T1D*I1TwePL5w@OB!Y5%GQ68lvBLUd*5HZoVv_wc0zFZ|MxSZjWvD?=m~%ELEc7 z#7IFG#30DS`GAk(>O6S5*lYLG&V9)foFNsIMO=il3LC^3C6}nqTys%NO%ks3p}#)i z3yX5Y1TW2TidO0rwPAR>0xc;?DGW$Xzmy9>A-fbJSI=?BZkA*3MR2HxSQd=H z-sPtQI%PhVRxIxlJ=@F7P?~ZfNyUH4%AKU`87X|#aZ;@^jh&k%n2!2qH%d48V zm{m}8abc{Q^=VBU;?4=qQKyxd)dokyV;0Hw=$IRk5o;0kazr6;$c;t3m9Sm8v@NuvY15&FLGQNKMvT2MCu;D4V6D>|)yhL@K%~fSwT1MHx-tBZ3V{H08etM@_cl*f zN$$tJ?|9dzZP+Stfj#jTCH&>!JzAHa-B`!PsI-)~sC2k#xs>B^ujV1wuI$|+ zb)deCQQUx}{Y1@8_9Jk8liU>t~Hg>mO0~_7S~feHOv``4CFNDs#D+9^V^qnb;a9ECP~ z1^+B{JD?nNkcWPq7sY6W#&Nk;DV*`E)|k$VempwSUzh+b7){HNY-yR~yuUCN;Im7W z00>qHG`2$4RaWGk$6cLeg=Gls#I|I_MwAXxdSl4>;3N4%9d3BIp+?uAVrdkL`^|k+ z;a*@~0_6&0MtkFJelNlN1tN%`=7>-iO*75j+xya0P5}4LWYDq)=2k&2iiw*P*yKA5 zjFk?(;X3OYoICAiuOe&@s-^LjE}~kBG$;LgzM!7IGUF&>6)WxPGMQEZv?M~*yGWQC zEj?88d)(6Alcs`qP9yz7(x#Xp>u7uaKEW9M0^cy;yi^TjmSqYXaliene;NaldE+S) zh_M@^@c4P!zB|?MN%t+O;8mB8uaeX{_^5Q8mcT7tA$CU$WJ)ZA;;9UbvfRy09I3_7 zS&e)i9V^UiU>KJ)ezGIH^7s@xOyC%T<-Vw{%mXQf9cs6bj9)Z_QO<2F^CTY$1*6hp zFPNb^wjps*ku1G=h&G(sVh&KtqUxk#kzccf%OU6XT#iQ(5pg{k_*^nKiSibcr zj|TD9a4<~hXX}A5Qu<4EZ1YMEQ5$_=2}~4l^^*9;eE_LlVlXiF7qh1-I4-G$#@I7w z!vK#-zg}J5oJ!xVhaq4m&gqa3^-()A(9Wr&;btaUe8a6UAC4GMj;QS_eNnYW-z^dD zIpNCXr49$v@h*QghOvbGseAiT8%dO{2@VKwFLj~BP%2OYVGPEF6`x(oX%l}GL^%dw z`6|jR1R%pygLLK)nD0=};q#;5I%0(1<$Pu+BU^iO7vO-%C=9m-7gazQ8tj1EtSd4^ z#6Vb$yMtBws|e|bx4#^=GAuir%gIvsTAOmFjm<@B&zzE(&dByvDE#szM4}a?VQlne zj?^WvAWmqy>MQMYLivV=Ek;|Q`yY9V!Im5*P1_M@k6>yYt?Iky5L zS?4*aS8P38&bc8}a0v0luF@r4-E$0I7mPV=t@p}{HJOmYxg1w%8QzO!@3^J>oB_R? zA8UhO(78FK9u}A9Fcg_%i?Z|T?Ow=Hc=w?-9C^E>wj5=@S+V*ES7=|)MCzSBk((Hx z43W_Zk>yZMi~XqY+&>?G7d$Kx(E~#nJ7&fU+lwPmHY<5z2ldNhf}1Mle5E=jI1ez! zs#Jq11q~`gM6>N=Z*!zI*(w>zwDn@7--8N>QJT`UVBhAXZM}gT2@hLRz)c@s|6Z5h z&d)JK7zhtww3~v9an%>CDW0WT+Ysm~y!!Ur?U>7WTFo+;t1_7{+<2HfFghrEfA2!$ z&%5}g>m*97BF_@aho8F5IgXKmzo9rO(F*So#^RX}MMbZoCkk|~>-J6T5|vyfcA!~O zTAPYBk?i=(zAeDpBZ9cj6oc`__?Rdh0Ee?nDUhaLrd)jnB@U)@rmr7}r4oRO|KH@p z)*g+ZUR_aq`gj3>ljY&ZzcaUPez4RiVLA+z6UU^5VzHHrARE>s(7(q* z;X~rg)fSxa;QKMe`Kvgj$;m{X!Y1Ur0!nwzFZeQob}P)yINzy%fEpH?3C#^kyN(a# zRM9McSsupf!fcF5o{{M7l8g5mAY6;zW7jD+p(9~3sV$C3A%)42h&*EATW^f=aKvX+ zO$2Ti!Fb^a4BIwrOReGvkBs->#F zU)WG)-Fub%S?Y9pnX=?BW`wYL$bTl&HEm3=ZbuC$j-Q58UueouiE-UyW`$)q#d=bBE<6Im(G!ct!1C{7!rXRy#R^yC=Z>g6P+vCYtz}ZAxoU=~8p)-j?Gm{RA7j3LDvcyBAb8;KL3Hwi~E`eL&s`KBp{8)1(9dSomNx zz*9kLcyU7YadpA5yNX?&e1aO8`ub)W-~j>9_!g&(Lh1Inc%x?*p$3m$)d!X<_s^bN zZzJPHolh}jiR;`Qbfy~-L5u0^1YD}tCOV?MsW&Z_#z?_BPxme1Ykb{1+Q=1V&IW?# zVZlpGZ2b?@MsRkV10wBr97IZlhXx>N)jjp=D7`Kps{J9!U}6Lf&!mjp;fgTDC>eoM zYA^s$Me}KzkOeLg%E-sWKt^iZsco)VRP$G{q@ra;$5QO1tw^s<<*;3A;Xe^a!Ao&| z!mL>!AAxls9GeTJjAGI-$RxhE7#Vu_!hMN`ZhuRp7+jiRk`&+0i92YCtU0e%inF#uc}E8ZnIr?gAa+Q|5?U2(ypgJDtEf82SDiXH&Izj#@qW-) zY^|6FKCU!^!2!)B3}Dw%v_@jJ$3T_gCiX5%mV$rzSyzMNUY$BXsFM?vhIHMvzKHrl z$)Jxpm3DDigxng}7TzvdQG+}_(pes1CUtG87^(WBOUB9s-F1nXurQhV1;zz!1M;LH zJ8t)GPOiU)YGo;RXAqI)+Iod4H>(n}*ugNGkPYYWh*!Q0v3ρ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 V@a6viuV0JSaogPI)BB$;|Jg(_tq=eJ diff --git a/doc/_images/polymorphic8.jpg b/doc/_images/polymorphic8.jpg index 94a304279376370c44fa47d4bf213e444d2930de..f88d486a53a70d6cdcdc4463be5762285049764a 100644 GIT binary patch literal 10249 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%0AB|#23mg`}P7JMPvdlh@tTGeG1(v{hDdm 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%0DFXd*u`(M0rg>O>Cw@CgkTe2s_Yv%+EBTtC>d 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 z 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

    XMrAh+IM%na7+Y@P;Coj_f5LZfR1)2F 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�r0&|;}p0Ux-o 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 diff --git a/doc/_images/polymorphic9.jpg b/doc/_images/polymorphic9.jpg index b1e0a9a9bc7c15e552cb26619b9f21fb361983b8..e538487c905f17c9d2b79efdcd1b0bb823206525 100644 GIT binary patch literal 13704 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%0A@CZDAPt_)Pp$Jp_9$W{Y?SlSJf$kXS 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�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

    @){;D2=QglN^bWuy`^} zP)1tNe21rx+h$X)^jNxD&>-o%11f6BmT%N9^Gj2nTOdc$ah3Z+YlK+>L}WJy1(A;2 zYn{uQNZ-w;(@KRXSP)3Y3-=X5@A3Gs8f37_Qcj3|>r2-BKS*b|-5hIw$4?L|j_5xt zX&uYn=2&w}kU76l&#QrKmAwosyEx`t8a8~@2niU8&doAEA0g18YeoO}MfP(uWIM=? zMSd^QiYNJzv#ziCimC0o_&^g0ziI%e-)MPBKc9m8L4UmO_eRrit;xR3MsY($n^_vi zB^^f95LfQMjYFe9eXtWSAH(9rTkJwT62!y)TrJ`K*zqQdDeF*5uv^hl6tL~@Xyw3U z9VLWZ&HqTsaxuWWE_}|x>3#3$e6d`SQWUH2`CVVuze=vZw7e#c_xNU9hDss50-VoY z4ow(kF+HJ^lFxE!Hm34u{)ufN0!`jRj%EYb%$j-9P--!X_%Yj#;$)FvagzL7v2ubXKx4NzJHTNb&7KriHb>Ji+`&2%H-KVG=q zoG`bmBTD(0*Lue+2P28&esT3e0EwH7T#_Z1B$}%>R|0y=)!8>McpsipKkNQi3&my$ zaZxyMF}>DMXz}b~u%xxlJz&e`1epm7XPvbtb*|ess=iy|8{-OBg)My-T2%vM2qEW0 zAnBm0$Lo9CWFd6gLY2#6>7ZRDM~^6U%;sIkuhFAkzCNWZ0cJ%_&G0$BCXh3ijj^hS z672bhl0*@$0ScEqDZViCGw;eIgywsfwW>or58mJ%6tN=pBQ4nK`YVkn5;s?&OyVq< ztdM|tm~DdnBkAd{A)Bifcgk4QJdEkeNhch!Z*o-u0jr*4;W zepf29-^i0bNUewyu8kMocTy1CVg~-*mn77RwBl^ay9M7RUC5OkZJ+s&Q)X;bVau9r zx3#>PA&?w#3d)f?V__r%2R^-by|!6hNuOU<+nw9PKuRnWiCOII@%>b!=uBfJqt5rl zjYa6%a8xd`48EX!$4M-)8X|XG+k^jizGcrW`x)@&+?bzTC~RR=a>^s1 z=pwdUZReI($zpkUD(cXGE{U*{Z=3)7pJF?I); z3Z=P@d^Ave9JI0qN3{BWhnBKMjxXtVC0h;?Gn)Z;Wn`I%FW|He8|rh9MgN`f6kjkZ zzvc}9WOXFUMdNiAI16Kbv1mkXP`+!;UC8bN7$9^1gJh)>yl&Yq`!cdc)%EDS9eajj zfJ@eKNF)LZV+|@4^V@d|L)jRrbg|wMs1x|y&t+_Fjcan-`PF2*r-J%rZyQYMn13)^ zxT$U=+#e1?d(bEwB=UOq+86;Ws}cHHHAq8 zPRV(zrcnPOZC}W-4zoV&E7S0klQ&p(GA6q^9}n!)DPb!X=Ch4!l9RKi&YZPc;ihtq z!~|a$ttc-%XtEc`hY|_fZ4KHRp$QTZv1o8Jnvib32elxZeq@ef|e-EJl0&;4s2ra{N4Sw zo`A!wN8Fx_+f3mdDOciWq_5PWQ|;-32d&}ItgPG>B%spML0^LWKw!FdpekR=jCP>y zi=Wk8i%N6OxGWVTh+AkEi7Vc%F|rXY0xoHMO3f%|sm@7*NU2AuR6A6Q@|i{Xw>QQh z&+uEX52L?ZYp`=$-U_26B>71==lvxm#94CdbE2$di}kH^12(jE`4>AVm3GGh^%Ue7 zYf8fMg+|#cc!K6)KL3#XxA1*_yX$t$uCR0WeiTiY)pf%$r^KE0=0*l7L<3h+&v|ib z@3dljH}>j{d+DAuCz`RotknD~eI#s=*i2>+p)N6<^mz~Om4%_9zT`zFzmRLqE)U_+ zF#+Q6S(1_3NmD5<=I$c9I!#mJV^3^;;zk+oKsr@#R&;@{hDG2BSx0A*)v#79-ZG9E z8#;fi`O-6z#itTI3s`dDWpE$!V0o^rH*Qs9&u-Jnst6nK^U-m-+94tMzCU5Y*S6xk z7@OixyBn3lb#hc77O1r*lDHmBA5qp1G`1)%&uknpT~2$amLEdajTP*bT-#Cn4P&B& zDMt}}Mt(-0j+(iH&R*R{y$w{)|5uHlQMyTv0x%J1IP32)a)e?APs6|ZJePcb<~M!b zbq-0^wEPRN{R^stFJs4N7Q70jdlkb>FRcW|hk7k<7`Daf&-J8O^3Fdb?Z7ld%JWK6 zeOVmO19#4!oX&$Cc$aR@-}Z6^_L%pfc z3e7yy`+ z9gu4Z{vpGNxY3+5Ct!D4$^~08{>T98H9@6B{mh%iqs=_kpE~A2KWe*lMdqcs;vW@i z>|OTC7lCP42Io~YSN>L>krJgznsPc4-V@DR6j+-kkI{xu?EGrzc}AH?n!A+^9)Dk8 ziT;Mz-7Po0--#$89e4Z6wD(NVzV5RHPoP+W!pp&j(jK-+%N>(L9t(-HH_XL~A?CNTpv} zTG=PG7*paUZe1xD>(H4Ks8~Yo$o}^9HG^yhQ=!lzs3yqwORY?D=|}<|hXKfD)E|B( zoSFDK`ns4a(wb3rAYjp1Ut5#je_^NlO_z|;gfe80$-!L7rDJ(OPmWk=FG$H~o1Uc_ zLTQzq9;)SASTf*4=6`u0gsEw(kVQVeCJLZ&mBF)NLK(hhbV=7Cmh16lcPW)HtW~E5 zrj|eI^kek2wl+;2h@I-#hj@6K>1c6xgr~H)eugZvj9r^dg0`-nC3z@gAnI@5guFNK z^7~gt$a`JnU^y5gG+z#=-l(-F_eUNazixXJ2+!Qn$LvfnGfk3=aBvxpc~LN5{s+mj ziL%X8t-qorsp6PpuT_PbPLRITB)7Ta6d-Hp8HIr<*Q+Y0Q)_1}kYxm!b#9ilTR}zA z_@YzFgless1ic`SzQWpPs;+r!uiT>(P?Rh!Zj+~s$J5a!*;FS#Ba{c7#E8z6xRKve zJQR1Gp#fgWfEc@T4s}g~JBmqfX%uTtw*d4{%4QA5r z$x*WB^ovr}-;zz6xR9my6@)oUlIiHlbS#J!QWnlALwNdTbZaws_<<{8)vY5DHgbx? z`K&h)vP7Kk40f?vb5y=du^E9UA~zdCqyq-1)o?j>3j*Q=TM4Tb>zP)2JH6lHvlOMW z`4j0Rkkm{hB~RZcxqEOuf_I~QE#EQH@=6mB_bV##N+U?C8lWt(Zv=*Bl6%T+WT>su zzDYydQpeEYrx}$nHZ4f!m9V0w4(`KtGj#3|oQ~E=z{N19+vI?osja0q>Vo)+urNO}}M*@xXttwSvzng8;%c(uQ>5R-AY zgMD~9*=d)05#*k!)Tq>fpqf&s>if#&H6F(jdtYWaDOAf3`Le>+i#eb572@HgZ~sA>K`7n{vrxg8VZ)Ki5)L7D<*rii#_w13+6zV1 zJ&w{aOf$Z~vB>9lD?(W_ygYde6iIjN6|IlrSmo2yxxeKPW5!6xl(0!-vnbv8Dl8$G zFoV(S20aNM1H(7zpEmV!Nahb?cf~GDl!8w8{Cv$?;m$J6Da(-#jVDVy>NaE_URurp zi9-xp*3F_B1f#eZr5x?VJ!0NK^z<0aSD3yZj@LD!t)~7Q}-b>1Fgkx*@~SG8DW^exL16Vy-d~D;O=g7oAzK#O9C{rZdd-`ctT6b#PZ5O=S#HwvQh5tTpH4)2Waf>%10hzgC{PF~@&F zUvVY|0q6&K&GNk2Iy`YHtMA>1Fu5Da+Wro#*QkO9UaTdih}SdOE38XRS5qQKgWikr z8_CO&9-n_JPdsv!B>JuNJ1$0eKY<+<5zKQgw`10{Kgj^fOeyk$`D&}VSa%4xyhvHV z89cc+gEYRjbIRYdd?r3#IIq<{e*dx4;4w`*UYMuY=ML|as9R~*@)+11jxdYDY_d)^zO-nb{2St1ycm7W4jYgiZb^>Bq zK(*k9TIe+bZ*Vm4o0Vu5ufye+c0YU{!b>amNYY3vUTg_P~}^jnvs z41i?6I?hQ28TF2kK^s0n2_wl4}} znE=xFY7Je7r_5fDH=Zg%jM3j&Bu{=W^6SFL`%CV;*JN72#ZT*G{uzu0@wP9?DaVm3 zMr?&KL$k1|%#5nYbuW;BS@n?;Ok|~9bEqVwr|fOy>g8caEo{2Tm4Z{T0gW&FZo6fF z@68^m`PoD_5AA2#wttZ9T)6F$+U!mQNCyR44DF0r#}25pT(nL6_MipbK5Wx`gBb%( z@xsOo;bXG{RpE5exk8jK0J@_z`yNozeW)NFu_kRl%GTN|3M0^{BX2_<}xt* z2p)YW##dtlTYWRZka+rCe%73sN+=%1*W#R1^;oe0RNI6>rlW6tMO^=)(1g3pEYYNj zwh4Z|ynjvoB#Lh?&e3kj;!sgr?3U#XV(55|QmH0$QIbnML3#*~`0#r>ZKp5d46W|d zf*bkN^#XgRJ!9(cIsLbiy_j?KVc)KpF`J6@{6x>2nEn=|jJ5QBigB|zJx6*yu+=9Y z8puz--CkxY>xM|%3EsH4?d6D9=I&ij%d0h7i={M}ApT`l44Iu7mKj@MyMl)-7TWIb z)qOR^;1}6;6UJ$;R)Ea-?kOh*FRW52#`w%V=Iipa*DoBiDE)qt`$T7y;!qMCt8$4Z zmGs$)Yk&I}S^PJ1b1JHGhRM6^rU2G5i=J<}Hv$?FYsU)*@U3hWE#_Yh<>_pXr!6g4 zqCXx%XJ*WA83rH4r}l>4 zd1l}3LFb{la`3&*1Jj(FKCu9q_I9^9Z+0ALt}|L#5>62$-o_!;=&Fo~vZRzjT%Mvf z6cI}jcPTei+MM*&zpa|9c;Q}mAf8#)K0V!|7=M1S!7_@{PW!v6?Zp*)8`5`!FiTi~ zV!5-H11{~vw}RT}r%R_Q=TeDkJ^4J`6jx3N5JJwHSmQGS@WtyzqDMmhg2Wm|PoIfM z;oKuq%j}3F&!0&jpYqnh88H>m>$0P6HTGUG<$2d!*&NsC+*tJJQ-{&NEeM>HdNNSPZ zD11*te5A)uQBQR^zP%4jAQ&A?b)}|G1@=t>V2k-y{qnqa(qaXd(!LYr5^$_w?=c69*5iKe1MD3 z&uhf~e(@-p)8&GRIX?^`o9^#lvZ0l~OIFyL`N$&XVQqoSI6n;4V=-B0RMh004Rpp! zFMI|F35eAyGxKgDk9K~za=6M?w#*4NbAJRcam2jM97??ZyxB)i>&m z;dtY&>V(~L7j|DgXVS$rweE^!f-gs2rQt{s$;JcLeA_+kcb6KY0>6zl48g= zqkf0{RAwuY_%^!Cx?3%u1Tm3e62@joGvAJKC=*%$yq+1>U;5@u6)iw8cGL<_Ic(h% z!@zefk1ZX8kVtpvOKCUyvcL7+5b0k=_qtz}2(S_VrDRNyS;tc|f?zzbbY%pJS`p}{ za`>s~j!9ajh>hFS70V=OEqhuC&b|aGrh%75S^DBcQ|l1HqdgL7i0EV40iZ8Ey*IQr zOXyO(zvc2Dr1k7JS@t2SQ)OJi{wQ4h3?HQHn&z$$0+$_@7!51A>ZZ8<8u!_NpEF=7 zD6M%l>jTzHiYeg`~IdyuHa*n&(Ts1(+keA)WumGn?Sgnw|} z_H;`;l0}e4Ov2As#A)TC*FsTRF@ljD%*dWufK|FLr@^7>r-7+^!cojy>HVDkqUb$t z=h{$V`Zg!ezS!@zIj-lO%cy(KK3t+3h4wdGR3u1}hMdo4JxX5zVqX09Sp$0{Lzg54 zitO}8E=0{k_5e;m$()BiY2rXX!b-A3B&|NMy#5*p^~Q1ZbaeLFkS#Z6y*x8XK08>> zI_vn8?_pRA0J%%Dmri>Pc*p&jcNgjSvcxDUU=e&@BDP7wXwZK}`73$nz*fC@eHKeu zF`!IyrcE1mR}>aLH8;xmBc*dK4O!dQM&6TT19xnxe5uWTw;Tx~5}rf_LgUXy=Sae6 z*L`0^FFfWrQv6<1dry2{y%Fuh^B2>g%2 zZNW;rgtSGAgjiViW|R!y_ zZ02R)vAJ5u#D3ZIPM9NdE%jVlki*1kna-of{xG8G?z%n{qV_fZ`JMzgz zrhVrLoPHI9T%MSix`&9R>+!*N>wk}L;~0iaQ4<|K;!6u=JOcuKTvbJJlp#k44i6XM z<8Y44(1p1#vl~}lzam!xq=x3q7?xTzwaGXeXf<=f=8K!#wfgMm(1Kr}M~=%R94D3v zp@0Had?Uz;(1&JDUULmuMYj>#3Z41Ah`z|My%Gq;6VLb4>l|(VdO8ocoK?D2QQTIo%OR^rJchZaDG8?+8}8e%mQijY&cx+jZko(8L34S}tK=3RBEF4uJbFm6>gnrPwbe&OTBAPsvOQ7n4h$J8Q$L|7NHz-Wd-4ngYz?KtTC5}6O8J$$ znca#>|JdrDJP3t5yqZqJ8f5gJev8&moxoP$pMe(C|9bC~S~4n`q*fdiR12(ed9a4k zwx@}=uJ$a1KX|Keau;cKLj`f6!%ZO!O+EyfcM@JA2REKI)lnoII3j~UVquY*#McN@=Bd~GngQ1^*F<&R*Hkj+K1iNp`{l{{ zVpBrQUk3QHd%x_O@(8NoNoQt z;G8<1dBf-mJxk}bgA=XnMFZixVKK3R-%TP^H zPk@yRiEe6t8>{p=4t5DQ5MopsJ89O#OR}m)Xbbv6uE&wPDv_1Q5>CQJe0rpSLnsQI z+iO%M>J47}2c|U6t6wnwPu)1^HbyIDfOikj-e1=@s^w07F2Q~PA^_*{@u-?t?pD;j z_~u(?5uP%)i|~QBKVG-oOYJ0Vp{$_wrRnKL36{7+&zJVAtSoHEnfNc?v?p|Q5}D_I zcp#^ANVr8)*uV)^`gigmCTQA5fsisx%7P-?m$}GT*0Bc(#fjS zZ*pq>N|Y>calvKAdHw(EdG}=RQ*ax}F|dNHbctSo>kUvvOHCaDT`%#9c`zbKO59>~ zf}+d_B}_TLyxr#YGXLf}DN?Mj*`A57ms495UqRBzHY&Zzv(Uw#=7z%W6}7LnClDfYggdg+)~Y-8$>`ZWYbazibfnNBT3h%$QJcXed2?VzPy_bbG3jP)Oc@ z5bV68scL-N0$Z*ex8jPHnrW?5}PAs-CG;^fi#rT2{`4e>_*B7(}d*kawoD zv4U6LY^xK?Jt~L7?NimOc-@2&Rv0^}Zuuo{+6pe`z_&dh5x`o|j8%fQsW{9@TFv2T zX_|E*XF};x{r6sW6g%o-a1gmU8J+uEOLi~l6%|#owVaU2MTXV+^Czu;kZgInvt0h~ zFBDB(!hKVlnNG6e!2rq=44chSg+$tGr%Z93!r1Gme~?fZTzLO}FMsMusQA~TF*w?N z<^4uWk>8HFTw zQJ$~%Tf%F^mMYa5*|he$2m*Vue3>y!DVi51(i!ExD!iX0N)J5%OEswWkE4V02Tk89 zJNq`@YBCzoq~?^L|9PlZ^syP4;EE6%8vU3>sn${TZZ!nTTITvv&ITK>QQ@+6Kyu;v zwf}~sEs?7(1%vaj^wXXSRtvdSt#hL_I3Jgk81(RNCC!`bu*6_v)G{rfSvQ#>S=E+? z+Dn`MqHa)As)v;C*HKZE?)Kv80`+!Bd-j2?)SjK-5<~d!EOX`7rql=bw@n#%I2F83 z^!o>#jC>-xcl-?9Caluu6L*yjp1!_)4iYetGJX3T!+N7fYL zh7`_$NJ4-2pXL8SBGvex;PCH_CBJiw^-OdlqP5Mw5#@>kCkYfGnaB;4c}-{K$WxuVLy;gtc*mNvj5m2iU;JK>8)c(Tp1lRW8>a4S;PkZBa zA&esRKnk1Prjg4}pOW9OK@WO_U9=26OT5vu8Y@a`Vg=jn$8m%i6)YG;hgA}oE)yBm z4%CLrIl52&v#snMCEyj+@SJv9nvxh>7!b@Xl8S%I4S28{4uQH91qs#)I=lozj~zS` z473+M(C8jhw(LdTbIP^qFpHx(S`9^-F{{wX5SSUOo^q3gD(HB6YMy610XExl#1O*^ z&J(Ke%A2@5Z<1_~&S8l(o&V?#<7TpbbIcQ?T4k+O0pDr$Z_cfbET;KY`9G8t%W=1j z^qfh$y639I!tDN@Rpi7e-aJ^H!bUTn(ms9uu*Xq2l6Ks z5`dTyLRUHq6Zr{^UG{VR%1_IV$Q?yGcLI@B6t>`g&ky(vy%;e#Nz;OaJFim0;qzLA z_TDR5t4jE^9el>IBv#VS`(MgY%fRCFr;snnTUibCHLN0M^PZk(W%X2Y@Ixm?J0*ui zA|$8mZK00rPKy%`cju*u{RGn4BS??(Qj@Tu9=9GSNQcZo? zzv@a`5@(*76qlpPYK_2ttuf@TY4gNRizKwxni*6TK6#bkjUm&1>-O&x{y+7e*CU_^ znKQ>vhQ_R-H52c>P6@}Ru8^UBb9_nuXS)T74qbP?*Q4-O0Dc=|1dDOPyG(ETu50Bd zE=5f<>;%5ZWwD>Fk(ScLy60+Du)*)q>q1SlN1IJfuf{J~27C{A>`erBl}fYj6d`=U zeP{Idjz_#!#FJ&+iFL4pe9L}^xUuoKjhPAcXt(k)S z#SgSX4s-`vC(3*|!est;-Lqh2Y+Vbl#);X&S6h`v6K1K4tH*)G9fSts9Uie zSBl(sel@`?C6m3NHPYX2a%R7X%rVpK_CY;?NIl3P*H&nugx1)|Eudl;?d$GQ^ z;TZnWLsjHx!sZjHSEXS@(w0C47$Cs&7O>Vnoyc^yQZx8tQtfZ8&ivxt8@D7rm&0{u zj>$-ic9>bK>5BVXrRk5T4y>T8$&j>BP+#34bX9ESt zvC$!s`Mcj%OMRXdz!>M)i31JrR)K}mQhVp1Yu@Z_V-s-Q+F~E(*bqG~_KmgzHjoCp z-_@7PK4P}C)QHUpp;T!sJfJi>J~Xz*GeCY%qWPswgi?N&fXur{?lmP7@#evCfXYF9 zBXt>#fA0x;HZecb4Myq8>OjSj0yPs!(sX?G&KdEwdiW zTef&@j{~6rww>C-Lh1-Tj8xtG06_JUm9C(jzu%zd)|<`7xraMQg^IkVa_N((-Jf#S zp8xd`%11(0SVZhZHpl6rvV>HM zX~8eBmpG$-$KtA!QHr)6`gOe-*zUQhQXp)PQMP>@P=e?l{Z>8v>q+j7_#w) zu%xYgj{PAtET!R4iPxoG7O2ft<``S<%-p)bXV%v3jYPWq_5C8_S4Mi-Kg@L4OQIPF zlyI#cnLh=oOuuiZr13%n`C99`_YY`=AobW93u9Rsbx}Wr6-Umpd_2q>MOBEane7Pw zErV$v?^I+~Q|7A-v6T5F@JIw;18U+I9#v*t;Xgik++Ik_|NdTtw!eC*qZh80{XJ-ul=Leh~yyWgOIrN@ARxgiUei`A&SRd zwk_`fHDY7OTxtS2yCI#nO-$hfvhwY%il*g0hjdF#L2eG-Wpt_N%M-8S_hNlqLRepx z6f}usiPj@G=1r)7cF`<#Q&fSZt+kx=c1hgKHR&!bvv@-|csW5cmC%0$Y?Ixd1&SSr+H zl(oEaraYn$3XYb^c(;3*!iT@}Eme0_%3es2rlvE*SaTDW^Vy?$#;Hg-({Ynlg}k)D zed)_?WHbjjG5JxMz+}_(z~A(s2{#I68^(@NgxeNZNBe{Jg6J)SdV^$DwK;W**kg7n zJo!DGXOu55(Eg*drkucy1VD0(m*)g}?q-vneX7c@0d%mY2MRY_C(1`_9Qsu`v9zX( z@j;`f1tGRW)Jv+(`3~05CP)KJY@H4HqSy1cljU3;rmZgnb@*RXB9Ic_<1=^c1iPL-HB_Bc&wYL(HHb!5iW=?0+39i%bRa;?g9B={ z$2it?#B1NDCJ~YGF7EuOfP_C2BtW7@JRNPHQU zzjY`_;$|LoKg-0Q8%wDVaTx=N;YmhAyf!YvIZ+F4Vtz>(gG|7qeS*g<+k@?^3I|M^ zPkmImG#?0su;(M!GB;+4#-F)?oZFn==w0<5Fc3wi7>^ymCoZeM!qyIA%?Du3+$ zKON-WTOhx@oR%AV>?*$IU5XH8xIsCn(i^*VT4x+5n!V8fQ9}6lLCKdqKHaSb4*<0C zO*^{^$iU9ywVzdlj|phtRKAgW`qapMuQO((?%N&JL`iP)&SZURQL9<W2S+-0_z=VU5 z%v5C`UpZ6E=o2%KKuB~B<&J$Rb3A|9@XL6~NNKtE-!Z>4Q=gxgDF~8^)Z@4ACHM5& zi=-Pg#AC3(Da-Iw6^1aH#_aihtz0CfbLh`Ae>G*8Ywhl}OC|WYxC*}B>9$Syh-g^a zx?`?`ZkDF`Zy$4gDJSMzV0sHp9G6mu3tl!~GwVik7fC~7tlL9IUu+)qIAh#Lj`%Xu ze`dRB>XQkhVFCi0YjYymfKaDmf?pTK@M|YP(CVlwrM++l&PK0o!&obRmiIxLBus3(R*2MI$+YFC*g-8pNCkJmCLdnF(xBsw zV}w?}=Bm!lhp3Bzi~yusjaW0YMHtVo;FA~g~asCSIyk{-WvKR=@w?EuXj-e zvbA0(mwj2LjGvz#3E-V)1ut5Y@ebZ5N%~IBR@+oqXhXpT#p^L?W7P{}h|~pM#+Z-+Qpb16)BIvLn{z3Y zT>X->@-tZM+^A@0<(Jo3zX*oL=Gx-s372k~3A3e7Jan`YQa){l=zY{sa^cWYBUEbZ z`YgnLSmQnaY%pyq5%?!R(Jg-&3w(EjU|qUUhm*&i8?48}jva>?sYO375=_kakBiWE z{D%6bNXp3$*_|HfF};mK`yu2Y>J?>OvE(2%JR};5&u%0=%*cDM?B~AoJB6g#mDq$V z?UEdTzAFuxv-|i_6AjQDq2Laobj*`jp&v~%xUS+1TJVfOyVnB8%0rZF-7i_L0(0^tTR>%yYWX~hQPMcY{O8};CY*z$%t)#k4I|159` z96F9NWASnV%g&gV;f;Va3{JQ8xR^+!Z^^5xp4b;VvnjU%WuTrB68-PmbnH9uYbxO- z;&W|k7)y*8sH5$dqD-KUxnK_a3AYBygWkl8*d%%M;w`^!YylEtwqpiN((XL1}nbajQ7V@vVA8< zB6?8V@KlAy!jzA2Pz~NO@ZwR~rJ(N)#QkjOqs>`la6zW`avJ0&!+i9VJzDT`k90jT zcBBhlP9`@2VQS@ws#Y+gqW@&~W?rPhJvo;BTR2_FBJ=)ytXv=lLHHeYqiHE1!`|G<^o-u^#KKjIimDzNmyUtTstzR1zuPCP}qW_aUdTw$GHbu9QBFR(4YnqMrS4 zF}Kg;Qyl37T>dhOshrxcuU51p1P(kl(WNDNLE2FkdmCNB$vMhIBVBsG)fKy3ckUuuN3v@c@)?E@p z2JD;<=?ROY*?)1-%T!}SV>-0}`lWARM(#}WG- zcVPk^)#$ZPyPi1kDPFP%55pa-FnAyMYo8zQMGbb?*}NL3ZY-byH2aINfl1llb2vvx z1+1Zx!+4()366fT3EjdK z3PZ}Qweq55l&9a?*LI$7lzk#Z#HFe=%-&9Z%(C0*v^&v21Z%)(%-AmvaI$!?r|g0< z#O~`&yVAxgKi z-ad7^OZw_IyJJyoFz<|I&^tO_^93`Q=`oBwdTKn028E4AJY|onH3$i~)qIvAsda(v zhXt@QV7>(&w{+T5CwclDuBYpm8WKb@*pyJzu%#cRfp{$CTkw$@zPP%Onv&lX?4r+V5!xit*A&LPsapH?ajqEOr3BsaF*)NA7L-`|1ZVJpJ= z#J#`(3)!*G>mPZ7z#j^))H5ITjVQSnP8>8|aOQCZk}`edB{T}}&UgFl=D(Y_uF>oz zs`m{@R{u8=lAN9=b$2MNk>E@JHQH5_!6zTLLY2iRnnFWHLUul`eZ&K({(c*Gck_f# z7TmdP1}3=^yebyh`b8{%Upl)A54Z|j=`3-Fo$nJJ2`2+V^2T2&Ig<9MQZ8DqT9x!` zai949YUA;%wI}|bq>_>z^|Q)~qW)`EGKW|DR{g=6=vZJZ1m@kEy_4&@wVdb#S*P`#TZ_!kLhlv%L}8v>-5ESt#7VX?fiCL`qIC ztt?xQl43Kn-$SkGP{OoU32RNe+}B&0M=)uQS@sVd4}9xh^F5wZG~2U$+4-mxdESKU z=J!c1(wFFpVkk4#MVmv2us(*E=&gb-S^%QaX>`n$WIWo<@uASTMR^gfnzxEyfyuX$0V`7o-qjxF5@Os3`BFaNM0S&=G z{b&qz2fh|IU(E_&uj=3v@H9YSEqj$+fh4cc#}=&oPSu}N}lY$B=jqUYh`&}AML?6AjK); zr~X=TQ7g7)iXK}W;qbyCiK_jfuB(g%7aAO9%2+%GuAzA9q>m2i6h!E&uha_wY8_Sq zbO4~C@?5$!+!rHOze0*h3y8A@YkBwJqpLeWjEG<^kvo-J?VrG~DIck-s1iE#<;z3@J|bI1~#GraLv=X2Z&|E`wYa6O$TCD4OlP*0RCf8c#Z$6|H9U38<_%G6w6 z?lZK%H^SzTHRnFSEP2zi=|95#%EG2H=C+2T+vdKj_`mm$@YQ21* zv);cxh59G*was$*S(wlmZa5dx-`l=!)*eg1MS- zH(~Ie7jKVFeNZ(p2!M=Qz5kXZeF4 zcQBC6Dpu6pY4u*Q7=>yiZ@ASDIaTYMZ@;A1eAXJ??>%zmu;4-Gh}iooKu_sENI5h<()4aGm!U`LYj3e({h4YbLG((V zM!$2D$V?b5cbyW=0Bs9cMN93Uy&me_3~TD< zyo8-44fgiSKDrh!id~pd-6g!OMg%<>203Q_D9%;I+P+H8v&oE}v2N#YpaN)oc5+eP zbr|0;M96nCS25<=ORzAes0ne#;m*I2*5)Tz&`*1oV=cB^i7?;*dA~n-_ zt#jT$E;V8ih~X#(9V6mX7N!kXJisV#Zzr{{F?LkW9z4WK<*!d)qf3p3^SrY8{QwUT zN1%&z>}p(UEcAeqR;zl1n`B8CQ&i!DNqwj~qj2lRMjv7wvV6=lKfYa3K$Moak+*ow zn-XD{>g-pOAgFRb8X4t5_Gdt;sZXyBX)f zYL@|i_nn<-M&eAFYpp_AVVlmywUMYm)RhdC1(vnc-#Kv*%hclT&Jj;4wIj$xy4`Vb z(v8#D$B)dF8w=?YswEj0Id)Dt+t6Qx0=eByaz`1&`Dos`3)V{hk){0HSp00wxtf@` zbi!bvD`qwXmpOLfAEYskzl#mE&sdAtVeH$J`oC_1HeIKS#d-!ncNE^klUp?k!mlv0 zKsp{d%5WZq2=n9H&0mbvDI1R|{{n%3jyt`^Yujm$_PPgsQG2jCppvI?(G|_)VJ%GY z|LRGP4`p{AASsxs6MQznjqnSAME>n+8#tPP$V>Nj9a}P7p=$AZVSuiAj9v)Ucufmf z&9g{MPAT(bNG84NB2EFt`N;RKl(&BN1n5c9wfQs2J+1BgI(zo!Q=_>Q{Uo4ojK;ZBCj#fMIF z_2tlRG2vF=)nGac-Q8jh_54%Y!wOsJK*cVY=QYj35OMhO1i3vs2qU5@y8Ow}jg$|K z$4#SI>xit37?K;CPoq)5l?o&6E@<{TfzZZ1y{k*Twv#kS#k_cjgNd~I$s&aw!W@`y zAtDlR@gYCH*Cyo9Ncb2AXp&q{ct=Hfz97vwCy*{1S!b#7Bv%H z5+Z$so1GGZiRz@^yM=Rna zt4S{KK?s@@-hFDA^IX(=-u+eGL8>MK3(uQ|j=2&8J>-L4jv{wcdF4#qLW8x9 zte@ibkY(6E+43;hazmf>8{1Xu>7$Ffw%DUrxMGM$0c}A^= z5yS#e1uU7(6S^6<<;=aiY285*r%uuanHCNU5-&OD9+b@But%iu;V=LQ<6=1lOB7DM z`)1Tt5oxE12rCfm($+hP!v!Zn{#qd*@fA}A1YO@!c)g{jDl+Z-y3K1)CRlTD--s}! zs|de1vEFSn;p*a^R;1D~ot5n^Ck`yzxemrAs^YaQIE{+f8t}NH7^vKuVi2-J+Q?1_+%;u^|o9JYx*I_+`cW~`JhYcCI; zO71ZidhUn;wXC#h7kL*b<7nb8SCdhAYz9i5Y2pK&^-h7hgNhK4uaO_ZeJ=0x-l^dhp_tcr zbk30%QD<1oBwQMiJ0}J+YrWM~-G(c*Wd%zK9=fI*5Mnf)jW7rZq`w)%UF5xLOOMr> zMl7vGVWvDvS6?j?Ye53S&f&CA<3TbM2$I=)h`)A8TsCs%?~i+9hpY!p%@&&bp7M$L z@tvAtKq!-FWyCh1xL~SEO-ytYw`3H<$+G%Tx_{eTt$)%Ke~FP{@Ag;HZVGaI3^Cwy zo3i7VcFWIuFX-4-7s-ftRbZYmcJ8@cWVAm$yBO?4DnP-OcR|Q@Mv$ zIrf|X01du{=fnC#=&!SVAI5nN*x`p>{fmYF01ZBs^JSlh>~C%JxcBqr`>&0UUOOgV zR|LZjtUEC1T-as7b7u8&_T!H1Fxr36qK>r-b6~FWJbz{lo-L(Dgmc@=X ze~q8W)E`C(f}ib)A4ycXpKE(pGUM$&eFlCAA2XZe_*iiJxP4jw+5iXv0RsU)A*LpP zjMLjIGSwnHy!Gu132#LsX47c#Ay$&?30}Zmsq!ne4_YB!zHWVZ z_u+VuU@VXm$T@h;dtqyj7J3eK5$e@w%t{w^Rlgb~TWw)fwBj@`gDA&s4hL9~Lu@k& zngiH$lpZC8!)@4~PSp@p1`iw91f-!$0@MW@T5RiSNM1qU+pb1qdXAZ~Rfex$Y-Rf@ zO6l&c-U!u=ml(lZYxKGnj1huVU&QY}N?XD4nN8BfA)yzG<7|kncR&bm5^|^-QdGGB z)@O;>k+L=C{a=SY^i(g>ICe67lC*2x3xj z_t|&37}h6m^%-fnRwss3{War}Ho8W$W}m4xtm*j{14#9ilK_MxI0FgPt6S`%*u@WJ zd!U%Bfgp0!5>nK*R`%|0&%C<(ntd*W(44@`7uT5ig>q{=UwN~u^8n6 z9=?tkLSdn72wDy8^cHS~1W5Z(MDc+F;VhWG1~^!GjAM9^A|awGUz(+oVYbhbsRM}+ zuGG$j5@8IrfdQ0RY(^tud| ziee2|A#x4sKi&75diAYESz3(c0fTo`(p-ov5KQR@VzV$R&T)>s)L!JRxSA|X@&GW+ zv~qU`I0nKS?AA=3?cn^FJn&n68A#?tYa7yeNxBPmD}7E-joHIo9Ug$X3!~zIldx-8HAvj7G#ohVn{0R2}^^JmP%pH zuo>WK2w<{;4pqi*&sSE<(`e2MX0SfXe@DZ zJUUr7nyH!0vMdAnq}MzZwHG05Q@N?H*}#s1)`HN?2Y{YjUnNz=CGSj=5W|q<(}~`W zfB=zFA|(rm(>OsJ6o`vy8jbU1FW`{I5eB*P{$ln=2Hq0J~!&0DV#-fXHA(RvI5i3(}qlp;Ij^ z`OOPGw?!j-9*}Mh{EnRhr8zsq2q9$Q6ebTMc73|58M-Sere+4QmufzbBt)KB?w^2` z4M&#-c1+)$Ly!0;Sm_;Zt~)yb3W8C88lm(t%>kjq913EBDZ`TZ;8X!sfG(?mH(HI9 z!0tWC&u$3mJN$GM1WPhy421sxP#vSdNJiu3&hLkxhO*1}ig26;`E4@j66XORXihi& z)OYON@N6(38zCTq0-P(?kq#(8J7tSHT2m4I)TFy10>-Qy1Dk_~r9Uv1HDs)#2It03 z#g3zr!fX}+D4@FOu~X6kY>HoqR4yP~LY^7Qqg;F~%gOG&*31ARTL%H6o&gQ0uf++F z`3lEUjfUJX06JG@L>qA&$AJx0VkvhdK(cOGu3x?LFdhlQ=0VBiTFEYU2K+Xp{czwe z2gI7)NSSB|gaNpZigrx>Ta~*Z1uoAiF$bL!l*!2@2v| ztw(5BQ*_36Z&kXrX-kW3$&m_>;~^ItlmgVyk62re+@0YvX+Wzl18E@@@)!*fV8mmJ zwBi8USFc*aIHgFM+oaO?TQM&|h(H%XP$rK-=8XZ$iJgf9c!X1exRP)fY!HM9O9qgL z1|*XRT!R*%$>BA7n;N26rfSGX4}(A-oCKPabn(C%7$FrXn3_bOhr4kbRAXi{mA@g0 zu%2`(un-5VU>+gd(*z!f6g(zg&`y_KbwH~nC$RIWqvp>D@2 z`gsBz;dG@pCe^V1!ZWo{KnEe9c>q5~LO?PEcc@lpj=WM6`y@8Pfk}tM)V)d?c-1J| zU_3bsy-T>fCJd1FvbI9t6p*F37>gskudF0M7{*0)w1grJ+nlKB8nDKFpoxkElG$@5 ztCI^=#y8yMt>o$)BG(vAlD zo)m?yjuEV!JiQZ;+|Rgu8$(w+Af&SveGV!zb7;#~9xS@yf+MD3WTdUFGDxoq@13x+gWxhm!E!u@b~>4hDIMxq0$Y*iw+FvJ6D2a}A-!hln>A z%Fuu!QBbH0h`{pDV9~h8r197UKov><0APEHBCXd~PEaqGD(~Ko?p!P&AfkgWE}z9z^U;ZZiTkIXoaYs~3sH1viAKglNFQBa-e> zL!DhE)!OWiq1&JaupODi{{TM&Bs{^ao{N4}&f~yTgsX@&eiKJ*K~r084=9bmO@own z4U88j9C9Lj4L8DZShOsAO(M_9m2VS+V%Snt1)O_^GY!~^O*Y-sS`;X!0BGPoVG^)9 zM7YqoB(^R5u)qjw0NSx&&r(fBl_yu74s!@uqU!j^MFGTUfhe^G%~+!^Jt+YoHlo!; z1P)AEe5;VrAiA7lNEQ|a zxJ!_L_w#2#&cLR0rh7#esSgJ@-)uyjM5!kCy4v4+4tkjvo0XjGUtqZ*t94b^V zudhT%w2>DE(&!6sJpAlHnl!`}04tm1AT;uj5=T2P4&jLPbvmX<$;;StgK>OM;6*4+a}c31*Lvzbjlj+09#<{{WjwJQr5D z<8k(?)qb+r9(noF#3>?aPaFS0V-Gv1hj-54hxu`v4-@HH$eCyead=6papV7QDJ>eneP&K%l`mM848<~ z)QUefG}B-_2;hASiKwAZjtXioO9sg3{N(}20VJ-NtS=f^bR_BkAVvY0!N~@GCd!WufG8t1_&+*M2_o+6ff5PWZ$fWfeXN%o125!N#hRr-?4Y7^X z>>!ItP!a|OQ0#542?UmU%21plLK-gcYJ#Tnh6@}*sYvq}eoFM$?v+xN=Cb_0bm^ZM zwwfZk+Y-F5LS`D;C`m;OS|waeLk(dd0>A*)Y>YGxPb>|p!Kd%Cm)KEh(|Ik|KPpa< zHmt7l2;9}i9NWV<%Nqsi`@?2KY~90iO-mJh7ExYg%urIQ!UesVC?%@Md4B%xkhoXXFfQD4Kfq=9)Nmv9|piY&O z2y%FU0`X};v4sG6BQdU5i}yprkh&aIt&lL*c^#T7eLVs_h?(I#f_V@rYUvcBWkq7^ zI3QNzWw3^`g3EDA$%~a?7WaKufZ0lOV9BzD?kUwQD{z2dFHIAH=JTSIsR)RbGJ(~* zNDKwB$gBI~6kiO9x&s6Kahg%iB`TH?nzhNy>}7-rMd^El^MzilxCne3PLo6>puiwO zn5EWWwoFp9zGX8)>G*HTONLXWK)ltQ^ck8E4I!84YOdtucN85iz{$4YAVkd`2nfzK z29Tf<=)DWkAgq$cv`;PuC-N*aW%n;oZZ6SlQXGvO0BA3)y-cri5W5b+gC}kGkW)6@ zP8)fOG8-#1O0||!0e2O=_KhH?AxGN2OD9cs=g84?xh<_+$&E8&>w=b@BpBe0(KbIxPEL72?YvR9Pp}~2yzLijB+Ypkt!X5PKDD~e{rdfI@T4=k#-4t z3el+_6PelNKFg0P5bvrJ0cZ5PD%GUKNp7rm|v_`MQ55}cRngt>jeWXp1xb!0}PF79#L zO^!jJV-?+6feJi1XSo-4`@!rPb)1e|T?V&yjcmd3e0x_jbD!Qal8f*8gBoT&x&hD6|@ zG)_&d{up$vAmvRW#{mHVg$F%Tr(b+*CRH?faENljj9Q?fmn;>>j89vHMVDqQ5mS$^ z5~Gbsfa}%&0F`6&IaP)jl==G0#1DepRm7&45=t_>mN2-+kD1gL2Via>LNQ55${qwj zNLay9Qi`Ngnp`5QP^6F^mCIvm(Y?7231AYqF4nnLTRangHP}-$M0SE7YdF^^z|?Us zeryZirb$~NF*$?EVb?tkkG!jhr!i)q0GInV?>f_FPe;UDN<8S2y1+9Kty4TGnE(og z04}RggBkq@ExJHrQI@d1o+aMWiW1f#@35MN%sU&UA@(UjSvZZumV^*y0aFzSG%6E7 z!8vOuk+Y7JTKs9Fk zitc32pG(3)DEmQ<^(qS@P?s1RnSF5}x0GO+5PVUvQkN2)T2=z2VsbkKL`g{XqZn00 zp)4nbFQZ8wh(#6(f~Tc)mZ_^0RbL`Opr0r}iK*^ao2n2_FK(BX+B$L#@JJYq5nzB) zV~H%Az)UzCfJ}jfq*AsvhLzANWbUevNntvg-GGa8yFd0$qGbRmAOh;NoiLbj%r|K( z2zalR+BC2Xfi=?S&yIqi61D>?$e`&ucoNSdSsFg7XQ>$pm8Anv0?9q(hYj`dtKC?W zy4+Mc@4@DKV_;}Fy286e(Hk!ft+9p4Jl=UDwE^_xtYZnflsdBGuygA!+3X={D{EJ2 zV1NoC^5<7ILRe6?%3w_5hZXP$1iNTuWVR`>p$}OG&a7}lgpMJ0>NEsyxN61+!OO|8 z(J-}|sUQhZ*r-76rV^iqJ7TR& zQKO>en~NbVl{+E-0KHyw5q&~X=7-H$8DNr+bE%E=OuYP&uO$;wDR!5XrT}*!R%{}! zXX5PTMcHnK>c>>bk<$VJTh__N(xCd}H&jGK2Kne5+ZLf$g|@JiSjo15(LdP_5+%^? z8vE%hGoyr79NfpunsDkc7y@TOLN@5xo6)o;5WF`R8&mCoznTR5hBshVmH;jk7?uNi z3N%V!5WIv1s9%vik0sPFk0xps=n5hX09@9L>1bC`SoPCXig5sZ!X;pIiE*OW*K)bF zlCJV#sfGpvI6;@&D0C(6A<=^%nKhKkN^&cZLWIOJ=;vf9GiV$^Cb{#RGCs;!g1a7I z(}zM(kd!5`PV300$G5z2z;jn6!9g0Dqz15D3gX&H5?Ik(8*Dq&Y$Ul2e=vYeg-sCV zp%J%%0w4@(V$OF6FHuOap#1l?aV*E_6;Bz`A5*3P*c7KK_12Z6?x|fa?;;HIIZPY2 zCYS)K0=5$BJnS^zT5Q$%P{UZjv2t-`Hk^=SjzXuiKP0tGlgh7xOAho$BEt_dc7JdE z!a$I=%>bls;$jk(MPqbtcT|v7FyAwis|u46T=y4PdH|^%ABMJwAjF_R;(mI*1u-fp zfkaxOleZKtmCfyJKk!c7JLf5f&}A8nnj3aXq;4TO*czA;Oxl%}zxG9JjHV-y?$b$M?vv4dM86Abr?b|U0f2Ic+)6)@$R7F5iMbGcA# z*0VB)ic$nMl!jZm973?cvzRKBM8ly?t@z-Q8c2{RN|&6?6V}?vr+9Xa+z8=3yBtm; z5W9BiKZ&xyaw1VI_%^a*55~b{TPAAj8;NOK_61@SQD%b4#%>`(@Z-&ZQO&fJZ@^X{ zyc^uEC@=-Z6rOn%gayEu&b}$#`c({`q(GJiF-AjOo*jZ3b_!7}aw76CS4bR!X@&@g zRT>QSD{!JQX@S@h@^~es8qy~tBUqEVo5l7?yQ`iFsa8RyGBQ=SR7MFwaY1R9WoN*6 zHACbA6)R(KOB4n48S5Alo@mOUw^62Bsi z!gVOrmqi9fQcKyU{wdr9^tq8T8>oi#0zRt9oF9BZQROjy6ryVw7SaH=603su9 zIE{pn0?qMfh&5*F5-wJ32`F@ z1b|?{DoQ5iMfT%cGdQdo#XA(xgz2=ZuggEM%xA3(O$Wm>*PJAqta z1Axrg6}d?A1bk9O1m;hw0;S?Cubi$xp@CA+%)CuFDU2mTu%ylbr$c_A8Y4-Fa#IM) zIzv7w)M%$~vsG+Z7or<-5^6@^g1(3*vv!h#GuV*khLgM$ZN{+S*oN9!YN2x|n)pQ7 zHDP_cNeOQ5!CjtBR?YrGkr-^2MX=B zENP-B+X;AU9EQ5pr&v^FIC7ijjF$@%4E#?%ppHtva2tReCjkVrQ(+#r6uKS9F1Em& ztBYjh)O5X}Kuv_k2O%Sj?FsV-&Vd^7RBH!z)e!laVhVJ^VX%%hso9E9%Ej()ww zH{D5rNJ)FOY%r*i5`tGdRBjb9FT4y8WNG!@*{*CN%1x+{lU`vy^j*#&>qoNZ$&G!nSH_4TUb*0+@sx)ZnGg8VcY5RV|lDEk$cv z2p^Dezy#m2QL{@cxfcenHF7G#3g)6jVBm^{-Hr&VMG(NzMlV1egaW`4LjFYSoB8>2 zTPjRKVM<%xL$(kREbnRpIag{CZ^?3sRotnR^T`-W(X3~7G{KSNI6S23yy+VVD=HDL z6G1?X#v&?A`l|63%;D$?9%3~dc3waNz$IH6PgJ)FjCZ3@e`z?G$p~#NQ&Stu1FX|= z2oO<{1_;$HmBtMKSUOqN65}CcMk}rrue^;06o6Y)sL90ympRA(01)xhu_M<-&t18L zGgGj%q~Za^(vAY7J|O%i#!T`OqIvVYvM|Ya5x_9DV7FZIGA^uBIH4uu_CjM3B`8V> zpGy<0f&^I-7UP60*GfrNkb>)>vWagV8o&zE%mMcIzfnfvf{8xzt2^g3B>+^_d(tlQ zO#&=Z7?xyB&Xq{po;U#XiHjmT?WJPgSm|`h1}R7k;ssU8D4K0rIn5}>MFmz{t<}ob zC8hWT=N+ENvZ|{p%DGo7#75T0$WA#&XrKUXSY4t8hQPE&hoHCY%7@zX5mS4{_ld%V zqzJ}r2t=@j!f!y4K!gF265=#xgO@ZK1F$~)P&JV{GIcB}$dw*yG0dh2&I@7%eTVbq zj>1-QV|?Bzb$A^z`J1S;Vfif7yl0>^oO|uMPe}#Z>OnI-q>}+B5fE8KLKztw6)}kr zt%A^OEca>AwJG-7FU^>n)0)`@aF%1psI=rsr7AH36*6XC%vQhl8cL0>*zvK)i@E`L zxp%02f9z#M=K1rsGfS7wla<=$2WRBn{tNwXl+#=_b1Ejp1;mG8V(@J1hwML} zDfGG$rv2@P2o#bg6*a!h9+edca0Y?7vS_Lc1Xk){^tTw;Q-T7^8be(#nFSGun?j|I z=CTm#4dw&v@#4XGI462_SS_QH$Xo$It}}Nuo<=xDSEWX3=9R;Av^njl`L1w70!F|j zA##DTzHG`#1QSz`og5a`gd}G}6{gpLgFx>4MO9V%4m+3FPl^80o6l6JRGvtnmNh3u8=AL{K{Ta8UiY1m%;^RokD>w@*EGRqA$K^aX!El72|!nXlE* zPj1Xbvs=dX*}E>Yr_Te=v3s#eLz41$C_uFo&H;ls;sRUzOWs~{|Jncu0R#g9KOv!U z6JMhD`_w^BQ4jwB3D)k$MtM;Jhik>-k`x{zMADKF<~E)n`sOQ_gr!shp$!ppP+E&E zOyc=IEc`w>Sm`-yjpiMMo&0CAuC|jrSyRbMujDBgVnbj80OKt~DO1Qdke=zS^?r)k z@m_L9)qX1x|l{&BXlJT8K<&D zjna$+lqGv6DlL8`y9L#=Y~Gg^_Gf~^AOfg@?nMk`VuaSI3Y;&$m`h3)ICIM-%RKD! z;0(ABCrED-1q;rig;|7{6TsUlCj{-oR`Ez+-Zy*0fG$O}T;7Lz*wo%M$2%i&G||g#~LX@I--NBbJ>mAg5Z^M#S}1h+L5#qDZGq2RDO4Ivm?q z%&pY#;ZFsEsQVDj5|;Rs*C(NoIv^btQ%IK^FpLUdHD$((RGo}~BK7MYy|fGwDkcq= zC0Y8o6=Qn?VpmC*#HxEHLer^Ao>AoBlJ^_vAx}PQ6j;D=)oyTz) zb171U{JxxA6-$YkX&b(M_$@JrCMxYUP}s+t2pVV_P0}M4Rus5gLO!|Tw*wcV!RGWR z88R1Fp^=MrpD+Th%@)vXg@cj=VK@{boEy%l1sI%wZKoljY8&OEF{w(MbrmaT$#gd~ zjeflQANy_u+MT?nf8=Ixp=JlV5%Afv781gn3CJyEL~@M?<0+KJUZ~M-)z<``vN>Ld z3&j9@7ECSVL$#1d+(x!lZ_5*Ej>YXzg!2o0oDP!Lq@)C8i;KWPA8q7Xm_^(a2#_bZ z?t2Np5{Mzxo>D>xm3p}k*^Oi->0Knu06d`#zF>q!DDEJyL53xHvL;Puu>{~Eozh&; zMrUmZD3oWLKOJ+i8Ftjjid2thT73#otTMsCqh~O^=%w?E@_FQvX;pYSXd}>#;Ti9M zs_();mL9C1Dw(p_IefJ3xBMOk!X&e;p2T)&_?!%51OPa`+w}4REJC-Hv|8M#JCfwv z7RONICGXP76%NT~;T}jXUFVyr#^_H)H5ZY_XIZ~ zOUEb_04l5iT~)9JOMfcBCOR`9bE+H~9N%C74hSgFNAU_u=@QB1{@#J^GppUTHk~d8 zCisMluNRsGp(08rv!e&W7bd0i;CWyWVc{Gc1fAg_uVRX@LUxD*Lf$!D)Rd!@i!y=U zjp>#_h(O`U-Zl1kW7m}Her3Z*3+)>yYXOVtqe5Pa3#^1R0B5REelW8X53%&j*I@1Ox3Xu%!^4-kWCpIDrW#?@#!s@tt z^s`Wy-b--rotOo?H+G<*=qcdo0zfu=U$8k#jCI1H+pSo!vM$0**E1*=Y{()>3 z3Z)lwJTKS93~oX>leHoWPr!q;ZZW-GW@X(70dnM~E(G35O5zO=#j=fxgd@o;s*#UC* zE&wDvgqz;5O3h7Xi*aZ%OLfiZg0qUoi3TPi6Kc3SoW`Y3w?+z6pAIlee#c0vh1d~< z)C>mH?^5|D2b88l8>K?b^+KAyOMesYFUo}$K*T3#M#9%ay=Le3T!A51mS9?J`*WYZ z3-dfUizb9zmf{wlRnQO>j1z+;M={7v5MfcfJ2fgc;@;cx+-e%QFd!bTi8dXM3!`8{d^~ zPVd4F;9HlA^~K5PWg?lhVwH`*t+ZEJ100H8xBNuB07O|Vh*N@IfS^;j!UJZPjo1K( zaR$3FQuG0BX1OhPc?Cy`0$s^nd7-ovPRP@T11fi3x3EQE9)!d)WK0kxa8#TnO^!aJ z3{R~D?eQZ~HRFopge&L2} zppgWK%u}*Jhanplql{H36Ng|06gl&jHaoDuf>y>)QxM53#t42J5g$GsC$WD~NE4xTU2OauWz2sT8f zs>(V{rOtD9rk2r|=Kinrv^YnCxarO|)@WfC>7X4M&wZh!0w+9MI9^O()G-D;6l5%d zsmhD#VgtarT&NtbI8u}h`7%o;NKNWiQ9Ki246!bNLgTc{gvvxQ*2jPik|-Q|rYKqO z+=5Vm=xHN4-HbU9_un8>z<8yGCA67VZ>lMYh@aI;AO#HzZnz;N%wKbMnd-RLqYDbaaRfzs}Qbh_E>1cMBi zDfUSd^4z~SE72^v5{0XnM#(@XoPb8>39-FR29O4@0f7-klnJ}s>d+7n2aWYLniv*C zxdbI$2d%1uKLRh-g&v?dVFMCs0u+GwT<&mu`zC}w3A;-^9!0R_OVT9~tZ2+a!bo}U zT`|ifSv*0fM~#3&B|_rkaC;ta>yOtg4=mamCknkD;&()H_$0T=_5FyZ}7W0xS$NERiMXV4TXqrXv*q7~+**nOGNe ziw5Nk4v=!nO|{5`Jm1%{2*$k7NRS~1a<+TQ1O}ayCTcPsO=oc#b5di%wqUT#rJLL= zTaE{7sA1)AI3=zl&fxsHK?#5`cw`$|KKv`s@yGG=B+%xj-OX%Lr~6fPge>w!Tz~ zO56iBt5M?PaTg`z%&ivnn@T|2*ithp*C|vWl`4ZZAV(=FU|4y6dr(_3JLS`Er5I$r zg`B2wys_4J1R|5>-AE|sg)BgT4$%P=ELf7C>mn?zNfHCeO+H!RE)5PK0gF|gNSC3o!(eG{ z-V2?m3EO;Bogo6kE>UX-VzgpIxEde^pq4-vyO&rI(YhDL!veKUM$TZ%q_YZ(yg)z) zAd&WK*1xI(01N^H*z>&OBa$X26au=2Js0ANilZS)sQXrx1Mi- zK~MYQp|({vI;x-XfC&T)o>FqB$`=4I89*gU2+*7`hmvNtUmQ3E<5o&_iV>F7TWJx3 zQG*B;PZ!>?S0pO(VH=K$ZS@JW9Ol{;GSMO`l!(G>bBTqy(J}?#3bGY{F)pjJOLHVt zYR#x67|cMrnA?k;gP~Yv1+1Skg|FALAySdjo|&M4D$srl>%OjyWQuqEVjiI408wZ! z54c3l4c{fDKy{eBRb5DoCYi3CH(L*6LYyVsYBhy<6>X=k#LN?d^yuAxsaI8H=?xmRb~*2xyjGRm*0 ztIxT6oIh=o=c#9|v7ql6GPV$1Yl^;4l;JZ*=8GB!VDJGN5CBbC*pXx&NVQ99A-D(@ z_@rFk?t!541eR?CEF%>RDc?i{454?MTj{KlDvkgxNWOP02OuP93n>V;sm(Ty$6Ir{zTr0Xtj{kFLXgrvwC2I?7{`Yj03+GrH$kzMU&ZtX{bV` zkT!eJmTaiO-P#d5j5`vCGQ}4kM3I>VS7&-;UHTXT?QO|3IojW|7S1c+km#Zu6x`M` zS;L(a1y~EKfacPWYeJZ8NDo;S;;+lELI~-RHO~)!s~vMj;6)*FLtG-^Gh%I;N~KIJ zKLaSieN+Z0lZ4d3aHDD#q;2{eu^2gP@ENjV-=87TDcGci*NXj;Dq53HktZZB8*@`; z5ZBStWnvC>Kxo|S`)Vqu&c##bk%t)0chZx|Tax!HA)Or&T$SpaP`i_+&NcJV(2 zdSL9{Q)N#>^R!21!>x!Eien(3nPYuPyy*=1vg+f!UaB`ylu4uvp{7kEZ9&`bpx>?YXD|h(|FxM#Lr^Tz*?n=lTePwLFHFm*G6fy*zUHK*E!0~ zo{UXQ)D#?6KQ%>@MpNfPhqK#eA-Z=9K|eD?Nh~ApRz!ih~Je#FE*1SEpzXWqUi+ zH0=?TIy@)J7Ln+Z%&qP=Z%YMW6@goHF46Ct&)NY|)t4sUy)7i*3er65nc5NT5^sp|CQumQp(cvMP%(fRduRYT8a@w^1W23K5~TnS zn2AYUB3U?q7ChYi$xB z15n)FG2H}h;m{faDQ%bl0Ffr>;X8~D8oSTUVEAVfB=KYto*Eop|(L}FoFQG z08~ozv=`7O!8wE%R5ZZE5&WYLlG0o+F8m%UZnX=MVp@m4gfwmQhgdu{77SdXd)XiM zez<2o1e72Fc9mwqim7Y7q8H+}zf+Y}Ldo0b!Sz5@03}-hWnF@n@Pr!b&=N$7O&?Gh zUuOYzpkVA@aOC&;;X4l64WjwDP`A)0uh zD4Io4Zt0*P;{vzMDFZG<6kzyIVM^;Llgs@z+=5{Xq+E;!YT<$fN|@dR1h~Bn7zw5}0(iphQ!U5_WI?yf zkNSQ$EF<{UT zil#86Lhw&4G-c7e@`e;FGA0TMp-s6#Hr#+*D={X(t9Y^~7L3%^@QB;=otb*Q+g=zS zsM7)|wPJ1i<8d?acP1Stxyu8Quw5{(T7K)+pSpNXNpe=~Smb$_$NfUiX=c2FcuSa4 zLeP|k!E*G<{I@^MAAwKuKxeuFgqQ$gAW{+n^q2`CXEbywYz2=UOVp&193*_ycC90t zr!P=1C8JBM8zs{zBrYy3sV%xQg({Rr$wxiKp|3~@HZdtv?^D_=f)3?K_=IMAO@2k~ zS1TOm+;I&-%;pQ|kC2dK;VGIMYLO!%#Zcx}ixU^~5s&(;3j)BE1i;;Da1g}nackhC zEhqdP{u!@*4BgT*GC>r#C6kz5r^-}3`iczPFHuv&*dblBJf}of+@*qOnqG-ryaeEFWy1qvqOn`` z8A*EvxM3>@ZGZxW#FiDLS!t}~P~E2DW5f;gdPwU9npXwtRp}m~EuVrv;IFm<*ybgO z;k;Uqyb*~U-2BI6g3X{Zwqim?2qVA#7Uvort!xH_u6gB9QoAR7@s&%HY{!RZ>B9d2 z%l-P`XO9K8P=tomXU+{A%-19g660BBHPOqwn3!?KpfMznYpUxgFas- zbZImy;UaeR^bF!PxH@KRS||?5EwWNZx7_e`Wayg! zTgCfhoW`;7nI1M$auiygvY4Y2h1G9E$Z|^nm$GvL!#2oh;u1i#O<6BLVMvrwOX1-~ zqCnhTAiI$4)r+pMM{*N_(VC2dkvl0iMe0^ui2|a;2LlfP=Lo-5yB}jYAU6^0f&T!2 zh2#{r<8J`++0Y0e)d$T$nmNTc2T&n$B1M^(*tie~2qHHTvL@nCWRU^Xk;K;|w~O~F z#Ds{Pj=U(?$!8bc97rDT^u;pQV&Q^I400DlQW=5~GSX+Kuf$P=lf6kskdCk;+&$&doG#gt`@4Bsfr1uI07Q4wO; z!=*Y*>Af=J00a)HHf%)*3$JqFk*qgVNP!0iV)P-HVdu$L$W>Q?H;eKn+ky--Zk6^0V$B4HQbA!8{SxmYr-)?%vPh2JFVVT9o$U-o z=xb^eTEi8<+ah8zlO7s^9x^Nol?aTg8`)~~0AsPZ+B(e!7i=B!bgkIY`L!#W8Delj?C%4yPhvlNq z{{V6%+ULDlgP+Mqc>AbOz~?8{*QtMW;_MJfbJG?H;Jo7FZ&!|FiW$-r??5+f+2V0Q zp3I44tQHruPb8qy0csU94F;IikfdM>w|T`f*JPLh9rAUnKWFbO7W@wKS2*D3x0s2j zazk9r5YY*53nfjwU#Br)CL%Got%4015;7H70)reKXmh&llvRYdZZ+~ZD2^0)?impk zHdnULBv)J`UQj!Il3|g6)WwSi3PbAPlmuZY!75G27&Vr^b$uAFRDuec66IFc*wP&S zs5>?s#!8{=;;9YtFak&}^`lKTEda+~Fi8FHC z`4`rzN&-!L-K_;If|t+D#7bl_MP6!#G`H~$q@xUq1;N!*_0y%j?&Jf3aBu~{r_Gv= zhKeBJH-jbCCV9MbxwukjBlv+JbOB)Ek2}s+oP}@<5+w>!KxFlUr1uVXcqx2@qE-zg z3XTIVyJ6@PEQB9Th3+ULKwMogv3M>TSDphO5QK({!ZgjumSre!)>;GC;*jKxNKA}cf8h6KzS%~Y;GP)>q+3L{Lj1Vk~| zCxqCwI2fn8S|I-b5CO!hY27h3z$GjEH2PhmFc)-RSXE5g^@ZwPjY#cfAD3*^yP`*d zZee6)OH4avQXsX2U2f?0!vzw)OoT>32BTo-R$SbPL%1%5Rf&yGm^EzA{{RvD_G}Ab zhouA?VqK9radD|TQ|{pNd51Qb+Jxc?1w8)%-L(1)3v1ef77D&gZoV4iLJ=g1Q`uqy z2uBbEF_mwll0QNu>w6_%vai*h*jGSGHhPIZThAg z4T3nI*fL>c!4M}II#Jvp04+n@6R}gMxTuSg#Fr-8hWy#vY%vyA^E8%@vu`W0S2(Cs zTJJE)3w55_1~&?`O9XZ1$G(L(EKKjfN;5>UI%xo-u)&eoxqX$GpnSH2U`P`hoBEH( zltl`RMA&5x4DF^-8Vff10yzjGvvT8xho_cH1VfH=!st;5;JM9_pl}&UKwMx@B$DMY z>;s9iM+qP}N_MzlJGiBIo45y}W&!WRlv`=5CI~Mf%zf9Yoa=^$p%semqs)tl!F}$V z;$otp&BzY0GkJ2Wf>wZ1nKZp93N(2I3S{aExgz8PrAU1Qk%0oyrHvYpB!eNzyP;2E zqeOujx0Z?t$pFm4LCr?v-CU25qO_Wu`j5w!u){DkxzLW*lyyQ;;tCHkL`<<-{7h$c zpMBDe(tPWYHeqZiAe(6FpGY{_kR=&D@TdYQ2~BuLPi|xbE~^u4uV${%v2qeR zpad2R0f46^hg{!)pS@wXaZ`2>P7hf_cTO6N&dISVR+do_6T%|`@G`Rj5V47xS5h^i*Flh&up_=hj0VUk%(wD^?&F0- zMkr0hPY|DAM1~)j1)_NA9@VV$oETL~@?agAkA)&fV&+>|VuW|6Oz}9e!Z~1VC0fQt zF5(0ghp3bgY!D_{S-`yF_LK@*R>Ae$%QPRB%=swV`z3?aCjXnp)2k$AgQb9Bv z#_I~?acvrh&C`hx>_HctoB!GX2mt~E0Y4$7T0lIshF>xFJY-2R;3pK6#i^S1;=+@l zR0!~v32IVS)hU>D`c`@eJEJtw<&zM0*AyXZCTzfh~SJJ6FZ*)D1M`P>1WCw;* zAiX|Xw3K2+wIkr1+I*^n5k*6G7@Lu!l*4lJMHHn{-Omhd35yl6pQ9H+9<*i>T+xI-Z^d^Ag%EH!tsFq6%W~UUV$Sr;<`+*3$ zI)m++^^30$5Ha)%c-?%$3M=C=rX6}QmL&B7e)oC8bAuy;@d3RKUoJ1Tn8x0aJ@@Z- z4hpp8M8h_wHS4{gF&)jy%02B}X8~PARc@mz0R;+0cKgN74-0GGi9gPrNJ<@v)G#CAv_v<%WVVUo3bA^6PUb<^=C?3 z)-vETSNAU2=&z%~+aoMNat;zFTea#rq~N7QTp59->5m&;hr(si7-fBVIelgHt$>B9d%f_9Ks`2?4gk^HW;ob z6`g}4kyJ+IhSF?kW*F9SwssYR+5Xz{_S44?CwZZp)<-*mw`2Xe)vxTV))yWagS#153^2UW?5X58ew zLD4G=c*GNfYLo&+taGB?&rXV&YIONk1VfzYpaUm+w5r|)iKv{ zeeS4RIP1kr4XLZ=$DF_4Q5iCHc}H=!9uF5!3r^}|`QHRWZ{~*n{MqwV*05!CAdWXw z>L@~QU$L2{9j-Qt$OeB?-gQ_3;>0YiH@?eTS5r;XMolMMyC?ISNgbJ&r?=SJtZgOI zb;R`Q(wTpKX#Tk37AIyViLvo0)YCO@5gBgK(;iU3AaxaDj3*9tC>qjqJn@XC4SnCI zE?6*1FPeKh4_A+pLl;03I;;icc$O8e%q8l0$g4!qI8AAlpIN8)Z)L*8EW37OKWy~X zERxILO~Kevp^N3|I@bQ0CStQjXzL|2XQ+1!+x+w{=))hNBsVm^b7ehaIyJhN=~+li z-0+JYjaFh_u&Kt9RjeB6CWR4#(Bmp}Xou1v+&i!v%gW#Ta5M(jJUbxIvhu`=GE&cJ zJ(LQmL?olNzw&&@BUbjq99g5wv6e+|TR)SKI>>0l=mOa*_Y|oAK+>}$va_-WHEWV( zC2_g86DQy|jQhTda+P~=)!OTz*r`xy_D&92^H0x~yQmls*S1plJ$Lv&! z-fH+vc=kD~i)iiX%E_GWYi^D?tzpIM7pHfbXo-xO)>#M8Jmbg>WyH@ESF%xY2+jyE z^scwQ@<6W@ma9Cd~e+zNZ7-y`t3#ngIh?k%daW=XYn?|QNwB|P}P8yrK_Kq@b^oW zGoIyR6RqveF~xogu`(JT!u9DB84DkMdGH=OmuM5_jZpbqOno#3g@=>YHoFzj*;ddV zTv6u0;?{nm-iA$jUii<;4D$D7RuitAIJxzLeIi{pu-s$J<$NHhPY>{F5^YjvfFuu zc)UcXLbg+#?)k?D|CxZR@LOImx<;y*^5hdx>;p2n&YM~ zqKn-wY#6a+zc788y&A#c>418E{JuYH$h0erh{}8xeHm<( zXc)|Jzr1rkTJS*6N^Z@rq1Hm|C(mNlH3e&QVEv3*ofn_}X4dz20 z(jOCnmzNw2!_4ml7k#N4$osz2kk)yu28wD5;?MW;*qI7>P_TUKM*!>1tBpBRe}E9l z*Dv!;^gf>&_-I;f*2=QpSo%~iFeg+2A^fO%uq0iL*U#5r>92H=YAU`$rbZs|2k>h8 zQedICmLy=8bx%YH+4H4dC{;{=32BR0@s)#;YZC8Id+*cMpcA#vN zR3~r|7nbX3xodV)237G-ez10-TDKWiWRGVN_4_SQNiT7O!xL% z#nlDO&gN6{&XQ~x;7Hg@9RgLl(^0+W@=pb!N}yi=CeEJ zm?!eE0f)$tvsgo8ObW=yz59C{L&STMlTn0hn0<}=*FN`;E;uY<`P>1#xw zfz+m`f*lL-#Y&sH`NYrsxfJb+;3ahjS{ZgKQ9G6LVjmjr_JboKdW1Zhw2XjS#IAAZ z>1$P4~NCk@S{p@hOvp7H9K|1{N zLIl0dtQlj^3y*WS6ebIclVZaQs>*Tgisnkz1jhh51QI% zW|lE)5JVnGtG$mHndsW2wohwwjDLnJb*)Jzzjof{9shXxKEI2*_!Uumzx&*N#-+7y zBd=X>f{QW%&0#hubVyPe4t(>?dt@aZtqbT)74-;aet(aa5u5zQ{j-D06C{{<8zOnOenB99$#ybJfDzao*VX@`{>orKfo?c|CiLh#Y$bp z8i?L!`m~^W?vB9u*blD1zWfXu<({y>?dC%@5BTlE5{l^5js|F-{HWB-9N^|;L2`9W zu{$2$qth`zcS~dbxSih%0K(MNe}2Q zUwP)odVODAqD$k_RT?^Q!y~~-JW6KOE*hYW3L3u%W%~A#7pbP;g_8Cv3;TVk5ET*C z@FE^}$d8xcGo!3W-$F%H11=?##D1-ztHu_^UqPsCjiac^25HU0hJ%DZJH?Cgnxn9p`#$ z$?(fGSHsj*`xM$sGJ5r0WlTZ$X=kpS+i`oX zM1vTgd#&!L_aA_>@C|1~lG21bnWcE zVqL+_Ux=6xio*Tegu}b7b3{hGs~ZF4;*wD z;>9KK4sO?JT)%kM`v)lI(*Jh-kwSIn$HxWFzgRVO!iLfZmYvuBINNZWr)6#!6t`?ntOuYD$ICqeoJ5dMZSBnNd7(jG+C4*<|%0HCJ<05m;J501zz z1%P<058cY(y%T^E0|2o2ew#iph3Gc?59#SaLqgn!Zj5|v-3gdJp=}|o+sYCF0GJ|q zVV$&!tE8F*;*dPr ze$v2&05ygCtKS&lGYI|oU&$2-Tt2_U0R)TvP>KWs1ke!vNe*hJ*Z@v|4pJbSyoL%* zLHt*80I2T&j8i8C=qMip>A>@UUWt;*ImHma0Rh*#Uks zsgPS#_Nx)Vs>MW_Q(_BHlA^dspfBP-0q7KGny24}(f6A*0YFsqYf>rv$5^UnQX7IH z5CA0tAT{8LzZd;02pUxYdO~Us|6lp%Xgn!u{r`!EP>7QnbTbj4C&9GM|BXYEjROFI zj`&X-T>UQ$0qFt&7pSHK3;3S{#Q);RA>dOfpd^d|L06k;{|iGdAeCdtj@&Q*y(%5) z_isT0l=Q$?Qh@V6$Ul2hxqsmJoAj?S|0Dm&`TszF)qko9fC8ug#ybJbKN?b9J|7_I z)qg|TB+msv^{)n@du zk6;TMA=Q0A=-dp3>Msl+1N!MYOWJ|Ity&Y>aN0tR`3sYbA*(740Vv_5B38XYI{W>< zFhH_>g9xb7lg>#U(1wAX{Oc^FwP5(Cz3CSkG zY=8@nbo%)J9smLN$&zmQ!UQ<3B=Fl81Uco=%gbqgxC3n}L4`nBwKScv^Pw z0WFb~5yXFB01g1fPto+M!2jM$06^IfkSo{1Qvk~Uru?hW|MNfkFFho@l!{Jl+oC#I zS1TqPJQDW`|5j2F@66_7Zy~1tjD^ZnEtF!Dy!m$YK{GfRM&&sc5u&QfUa8NIM5bee zzL*y&hlPNUHwzo4E+)tP9={7oVW4D3RxsY(za)gq-ZamMXCe4WGsgR(Rx4B-(kbDM z%pPjHeVGFSgVTrP977mm**3oI^;4ElIYz4IC4T^B;_R>WyNCv*c@ZSL?cD&~wRwtt zUEi)3u>)zULeU(8C)PpGw0Su*L0k^c7!`W2Bk>mOrmy2YT|z3aDpSLC&+T_Qg$2!+ zGa-J7F+KtO7B5rNCpNkA6BZe)YWH}s*&krGs&61}36V{P6zpT_zC?>O)ZoC>%+(Zc znvFcTA&ctT9Lg==R~u&8OZ; z=S+rZ>X&pHYD?7=O}1OtkEx{xFnIlvOixEQYEL~%yP#^wj0S}!rGInTVw6bgyIe@i z%^gosH$oz5b0lxNes`!(W?%%}O8_}Cx{uHfypCC-?Og=}-nHub-9qL_D@KLCF z=k)QVj~?-ziL2VYOknUrGE$R0|4T1EtHt{>XZuZ2vKDh{MFGdF$aEdpK04*h(egGD zEE*WU6ndFkcU>5FvjX)cHD!3%VE(e_B;$#Jksv3m2je|&QCTfRw6oDji*WKE09Qrn zgB-h^$qN$l)|(YN4Blnk#Z058ocm(|aTl5^><#a0->O~uuq*bSpE`nEOegX?jqoLi z*aI2R;6r}=DjsoLOO*{&*_m{I)_)=WCVC)SvPE~}>XYtYpi+ILzgFH;IqzRDf6rZ_ zk-nCc zU!|4_PUumZwlfmM(dd9(CcxKREAn$?s)1ZM+)9^_B}mslqQK8Ad_gd!le2l@PI=)->?2qc1dNcJOW8diS z#!vNr;b;}Luo7#!ede?DAR|bk!p*!*)^*(`2W8S6E-YGb8lu4?&{qUjNZ&%M_yUQ=DSZU!+U6Zh`x6Uu%9km};0fE2dleFh98dJ7& z<=d{j6w+^c9y_AuPW2!)HvH9NY0@()To5Zsth!^bCVKrfQ$l8ifh6hsEsC~@oE0&mA zIi?g~xcFj7Nk9;mzP76V8?2F=?*Gzi^1MqoG(DDCa#1@PtttpojYVZqpJbXo+TU$8 zaj0}Ls+|-|$T27Dyc>tU(2AF#NHj-0vA(lD_(q(bmBXZYLG(4H5KwwPJvSqx+z-+- zys20KO_vhl&?(q#HV??lY2(aU;TITWw_Z;>7Z{P8U>%knKm&FcDqE2nlK~?&l(GgU zemISq6GYek$Cbi@bcx#IIOYfsZ&`gHfLdVTqXG4n!JvLWw0>NSk*|yqmi@|O1gg5N zk*;j*x=U?l{sWTy^i?&FnjUW1#=#Z_ewr`5MQ)jt@2n(3I8U}Fr!leg`RI?VOh7p~ z+f*mevdhC_I%*it6%#TtSrVvZFj6fw53+^@L)yoLl&=do7{Yx3$E->$Z9vtP>z%R} zrzYd^i>~AT%}7j9m+;H9#H5F&{&Baz=PK2Dm=;d2m^#MjB2OzFDGwj(X5A|V)l;+3 zIOoAUtk}VDYV_SOGny`DG$T%<_0vu3sOo_Xk5q4pA0L9W90%f2wSuN-P|<>(5-?U3dssC&`MW)Ys|q1)A2g?VYH?#74sX3@(mqfBZ36Gg49F; zv+O4GqL0&yCof|K1Zv=lj8P1mX#n@)tIscDhp;BAe!??EPO+GBh9qdKz&a5@PU*=C zZsS!5yy2`&rsStZV}nY}E9ij@?Bb1F^^}VQoGRoIhOzCcMVVzYNXifaN?I0+s{$YO z8V8}5j4o7p+EStk{?Q|`67>dIs$#CRp4q7q9PoRCg4SS$SBD2 z#U3nYukeS^t+)%<2rxutSgGycS%FTU!O-+Qkq0J{DNd6?hI-69ra?Z!Ha?J0%audi zAY+`4UeU0{7vVug{_5CQ;$$>@aA_p= zw`%4o62xzRlT)-88G_J=Hno3(xMly0og-$%e2MMlgW3Q%Uh~mVH5N&UCzpuX$S>#L7~1L9;JboA19sf$IvMQ;CIk4>$xOP8t5tqoK> ziY_4xPE5*XsCA~~SkKtxY7sGEW5YGg^IX*I8-QL?p}&`lTj*)i1fspxuo5 zMZ1igMCd0oiAt}B7~=2!BGTforRzVx%7ayb>uG!>MlPlDl0gpEmGm3cnFJoN$e|-uV{We=6^zn0Gqn3(q;(fy>ldoKf zkCcjyJsI&$bV?u^2JxX54kRs~%hep=$NJgf4P3W%0)2<;iZdRDMA)7Aaz9WaJ?<6j zjnp($r_RNe&{e~35jctO{j_=q5~XmNB(R)IegI&v+!;w&ZrWt8`FQRgX zZ2q!b5CgzUg|Wku$!v)Y+^$x3Gf|?J2!CorV!DRO0jzkSH-gmt*YnGS?Cnw34i@)j z+9}qVsz05?p{2{>`LVe6!&EBTGI+!(a*JuzQZzApSA5AOyA&WRH*znH&>>P}I_xFu z4NoEfs+7977V-=kDpgx6~ieaqxIma13WTi4S5n_bJ^5S=BV2g1Nb4AaHnqxJPQJXT@R0 zAmt9_?j{;%UX`Q9VAQ>T^i$Ga=>}L^XeOjC6VL;X=z04G*7%fe#vPjPd@;~RXvrSr6$jwF;w#R`<5Pe| zkZgAJ1s>*s41F>$v?r{_6PGT=jH?~o6ILeE&&ph7(Wy?BN_;A)cd~CQdECZK-Jz07 zR(0*~1!g{%UyQrlDfYn>7B3GotFRYQt|<~%XYI#m zPrhRWX_pnzXqXw?S(-2Qg9AdMguLIc^rBu1$HmBmi(FCJ%!rLX{5Cwy?wE`;|NaM< zyiWb3n8GAC$;1@oxRrSz7E&x-xXNXicwFqP~bo-!sZaT8?tc>Fz zhBe905HHSZzZD$tln+pt^~s+qvE<-5iH+SLFhQ$)fbLva@|+XzIMm@R6N& zx?J4XLCe%_2OKL-K;Ba(A3lW86lpv$$mKa$rJ56fTf9qo#mbdmd5dw~ct$xYxkt6f zdW@h(#1CdUcp-PcR6XD@cN5dm!2l-Xmtg16_TJ{PTApYssdXrW1_)Q|oae`+6uWK? zjS$WMadmpD6rSJ~*`L6|$kfpe14;o4OMv>(yuK1@hnA16ISp1@Tvmw8fJw#Y5&}jQ zjyfUz7lj-Nj_NEE2|x7Vl#vks@QFv0u!37Z!W6 zXYgfH0zSWT+oi!2L#};WBdb_Wtn4NfsneC3NAucs8K=9vFN}v1q3H5%`Ux5FLoo^m zYIaGrwp4jR9rt!hEvQ4u@JEbIn`6qYPko^>IvMS6Bq+BUS=HoTo2oUQ_~|bk^@`r4C-kiDTbn14r>x zo>ViaU^A&lsN!?2U=QY67tZqU+jJPU$OF`&x&Bqp%2y&o63J6s1rjG&rde!S%iqu5 zU+b<=|75hn_+7TE(^&gsS5^0cPDVzlwM=8gP7+LEzJvU}@RfA2EVJN-QCP)h+pJSvE@8OYPq8a#xZ(FWV|LTRkuQ%COA-(VXy`s^*JbyCerO z)5|2u>IuSxh2Io~*2AGGgI?7=)T3Akq}b;lJq|T$3!@m{nUi2A9()u=wUaV&J z#T-soUQB?pu=J9v4X~;4qaO`Y!JGtm*LL=ecb^JBzAi8~~RWUkmZj1lj5BTbS zI0WhIUGCK_2)td8s4^pqKah{qNYEC~$=j(iZCI#EFTq^>5JklqO`c(g?J~|%?c9(j zr@r!A2*+PXs~wLrT_J`fW-w=M;M+iYS!7W{STAMTbODp6QI?{iA^Aq*x7i;&=7Yzn z(W#YRA{dKpYUi}YtGT~EpFb3cRlDz2HN?W^mt#iuVX_9CXz0ZQ_DyN|Xd}?c6brXc zaV=dH4SD!dHQ72vV|V|Jd04riVWsh#>PyViYWn(=1KZ!OejF3jy|B*3eRuQNGjj~f z?i9oiu8=za^&|_1wN_LmpVSa+1SoBDS<_I5xaOw^X4G&7wWwx~?w=L95}O~T+bjixNW=A?xGXHbt0H({DRIn&INzzR`~A``IKLW>*1~jm=kZab~PH|}Vd?U8- z=s$o|XVxd&SP`X2N?u8V(bdrm`cp-k41Jg+OGf9AS0ae%#Zcl1f-%yD7T0Xeer?>s zGo4J`jqkSqA}e444am6?BxdlK8^5~Xe46NpA~P?WO_ivy$qnRw$#5}q?)%Kqgpi}c zR3)-$#uHJ>YiEvpwx`D$k7cnI1-~>7g7eBY7LON&Qu4{pgL7}6;`Cq65?83-vLz4W zTq=o!pDW06wOE2@B4q`22L09m=%;Z`X`J(oexa&RPJJywi>HdR7N1Bfm@3XC@WtyF zRvKx=4?nCtYSBE<3ISL0Fj>|=E+l%olyGW_O#M=L`5@Y{`R+GIsY84VSOV zrx(j*&3}N0iVyb?BBkz?h-FH$Q+g=E4da{F`X!U4bz!#+<3Q!q#|zEVoEM6^UC+Gm z;Dg9OgjOmdXB}@O9f6VshbNb~**0iGCK^TUTc~KFs+<%dFu0cI`Soj4q)u)DxtArJ z-@cHmN9qUsFa?*}>1zd*_;}i&*1sy&|AREcNG2`CT94g#j7a4>RNU^ zUo&zf@PQhiShn!kZ?;#m)*NdY?nQYC2qH#!3@~;QWZRWG$JQGA3vpZu*3_dUrVNqT z%quRDMo-Z>_c2VX$@XPJ7hWLdE$)-SpqA4e1y z6Fin248Z|dnF|awv+MQx2-0|D+zi*Y5EqVPpo%4G^SyuR2b;4!oz|n!C#8X{g1=iD z;u#HV3XNx4&7!5Xlb=`h3)?NedHXGyB49!-^Md3)Gs!m!msdn3|E!;twWS~`%Fbyh zY`qZ0waR#McbSZpAWuJ~m%l4t9-QRX@-`}TlvVvjt8zn0z|Hb0?q|VEJKN=yV|V=A zXL#35NMH4}I=1WS&UPThUM=2hBO&IKBnEO>c2o0Y8GajHvi^1EIm-U)Vtn5CISyI- zVdVhmO%?n{>cpoV6c-k%8P}8D8F*)Qc!Td{pJy*lyh!ciw~ZOy;Mq@qegX37+$}rScZ~w(!kGFlr((P?>YbtGk^V& z?&9LYR*FXl=*u_Od zD$Puj1=QR$e0t2mDwU63?3RP>7HLi_xlG__=iTz4Y}Yf7cN*@v_4w|Gqo+_q5nO+& zci=m7zIz*0AKi+<20P4P+$N)3(X43N!2m|6|I{gCE`H;39)@9qLdw(cs-gL%TxO<<(hPu~|K3zL~Xd%KGcJF1_qqWaS z)=cm@VwcD<-em%&!^NyN`Z8q*gG=Q| zG*w@QXayPB-*Z3SyI8X}NUe_0?E)y)^M|fg2VgShVoZ@~Ws*Et$<&yu;hNX01m|jJ zY}Rh8>opx-(G>E0>#)wv!!)OMrGh4vj>4@*&6t%FlXTJVz*D!APhI=O*F*o?1ZVOo z$F!-!g+LuR^)=JrNAnbSJhvg0BZ8%l(ERG>^oq8l21$hchx9vp$t-Qs<1q*r1qB&t zai#52PeLRA^GkHP?H7nYA4c=VUaJ1^@E znOaRcVf^LsQ{aMmTGifzi`EWNrWRt4NVJBX7JhZ;tA#)hc$MCH=9NFrhG+VVkd4kS&VMh9ayY8B@2Pb1d+Yv8UN|A|zbh zxiH7#DP9@akr+cu(K67&q31D9yoQ34V#@CxVkryxQmfHbF#hnsY%MB8nPpfaAID8W zW`wS-ws@R>jS%>bl)`$Jr@|;Dg4$CoEeHG~`l}GgT>p@|T0~5ZtJ=WO%Xp3xlU=FB zC6qpPzzI^$-kvuP(lws?{sxbqSkCJcpmohfpY*y{@66JfhyHNR#buy;W z{9ab^XF#=rv~})Qzt=SBX7NB5CX52Z0kbE<-Xq}uBejANDEoX)*+EvS4KMxBSd$-OI-}E)MHT`W9-|-N`g@@#_1S$)fSAsGmm!`9; z&nuzLL_yopN|ST4S!4P#8fI2A#phN_(^>%ffLSRk1B6PT2`nV*rR&j$u#*|m?5vNT z$g5&RPhuzyu;BNjy+OBdVi4^^idhU?f zl*K6NS5F?uX!@*)SygD(UP0Pj1V#KddU${LG?{4_aCid~j=+oJr>=_bJ>#FEn7BH_ zYKyt~vHDn%CU3&Z_?C(#R*$!}{vAjlkvlqN;uq&lX|R_Q^D-};8$x}!`4Xdir>uRa zjq69s6pB);NvT#9KiATw=^U&o8>P&Z#?LDLBK|Wh##uBEDEPv12tvhy`ciA-+js_@ z_(Xn`P&!xqjBbi;4S3u@l5eNu#vY@BjiUq4mf_E67IOwcYmDWMOFkOsWU@ei{B{N`isfxL% zzMZzuMNKDD5O7Tm@j(*o3lf=CQP_sA`A1QW;xBT(Gd#!@;Vr1u)O$41uweIy$XN;( z!kg%}&S=vpmdt(<0+Fy>!9q!a&JS@?qI0 zK7$`&)jfD`Rxjx=nXa-zHYgZ zvM4O>S0ICQhDI2j0ii1Ev6Gcj(>3L%$+E+DM-k+OeWAyVLnBMfR5UL0Q&B1&5rON< zO|p76$UWLf(ayf7;l1|?ZymCAX@)F+9u}CBmfuU5y1U!@>4wyWtCAm$9j>DuMfSCR zN>nkBv120Gysdr@HIX%tvk4l8di-mO)n7hNc$HnwPe}*3g*Wcz2sU~&`|S=^w>;0` zjJHFrCRJ3E=?QP4u9AJ4RWmnZi%yWhom@V_40o&$*p)$u&v$@VcWd&S(U#_@3B~vp z5Hg`vd2E*DPW^7M(J>j#3>qFN446`AapQwLU&=9xSyREQO;=dZ3+o86!8z#$!Q}V0 z%5-|0mG!(P+}hDW_xn@CB|N05t7%=?FUW8LjC8YY*yn~Rxgsjp6mFT*ySF?M*X?`( z>OA%Ac>M>UZ(q9e45@{Buk_l-m+(aMEI=JOVIog0y9fp1fq+x7dV+2VMHQp@RHWN! zB6SMod=BgAu$h%48!T>Ev)kJGO~M`K0_*)sjf?u|30)(`4B;9B`EmRBlvDqg-xVEy zFVLwb2t<=LBe=b=1)$U!+=pD1GxQ6|5d$5*8cXMo!h8gc<@(IBy`I4*J`a}G-}MRH zwtTf--#3QmGNPEsw-iGY>sC(z{~`hU_*zh- zCm_*8S138$jo_1|+Vo{V!;P9lV@+u@^JdZ~d-H|?R@)RV`VYG6ET)x{uM*~De(SLo z2H(8`$>Zzfqqg2|jX;dMKbqo5ziqZBJ9}GNqwQOIT$Az*BmShgj&Pi2BWl)|uFlgB~6>(v^nAdPs8BNj*wk z;Vmdun>D4RP)B{S%YYO&&NT>a<8r-CsrV9Exdgnl^-YGO8vNIr=ls+(@@g)=n(oqn zy$F)i2ypzUdauY_r()Y&UTovu;VXqmqZmyZLR)T1O)nMxvUarp6f=pso_?z832sL_ z=tNqavY%Y%2Z^xB@24t(JJ7Z~%0>|iaDwznYcW}wF$+X$Qo-)I*LW3T6?m9(HeezK zbXP1>fC7IyqUF~GSq^p;lIn~4ph-_3nbs~1R1g+TZ1zkuIHD~lBvW6g&hqFY_}5&B{TRw#}1=TqA!N>o>9 z-Nvhi}v7iRrvj=@@a4y`A0oHHDd#s z=`nYd8K)ncA&=C6NO|^0Ay6p}m^Ry23-%NL;(AS&)Gq< z{?ukwknBu^_Qh!`u9&-&#QXwNKQ^S$idfi#sSSO665@!D>6acJOnbYC=1mlcZKPk*Urckl1MipqnzqBSP-HPd-ODWyqs%41+?Z?Y zS(=_BPX%$sMf2RG6k3YDd1J34>f_;wo`EDnIxqdI29@+WBRve*Pt#Bta8!I|;jVTy z(tl8mj4r5blZ+su8^%Rj>>XCT0PiOUynUne7)lK?PzcjD6P0*^35T+cbk|1Dr~*bk ziFh;W#7eIp*fymfC_)|q-1+rVK>paqe&oa#EH*rdz%+@{Ibt_U*Y zT9Fg)8HX1LoWKht6;)*}?TXja2aA;1RMRHfQ{LSpq6Gson5+(+xB+y6!F*>K;^|!r z#??}ko#x=Q^GO#A`~X_{bLH1Kdz9=pCxNI6o&S)40|NTsa!<6VRvDq5Gt8-) zS;9e5SI`gL4O=I(82b#md4j~6%qU{S_}D%>PrhPk#g!NG-{Vk4!o zC(&FMQ5bEIw`b|M7o<$J7Wtv8O`RQVgF-O6gA=iw##dq#Rz*H*s+pGRSVjljV`u!v zxlorknlk!6PGZEVi1!@>^^&mY8U)(%$}uV|zE0v`siXR!pbJw!q4PBor6T+TIbTqD zTe8%eY{GnT1S7hwnz6n@1P51=&2}X(>5GD{!F6BF-}9})hvTUHOIF3(EwRqrAUHk z2aeKQ?ifzLNZ zbEnPs@*hg+`bXM#rm|}hk^~ErBz}CO3eecbT@=+RJtD}ynF%#@%T$Q3MnhUA;`zQ;EssMIu82bo0Kk3Icp zoXI1Of3x>iL6vIOTvlzrRt$nB>(4u3BBM5`jIs(v_2BBA*&+-}`b^7BhI8Fv&OW@x zEY2L`SE`-B#O>IrE?w_&IYC1ChX6Hx@n~ zM3{K1%V>ad-VN!nQd@n5RtBvcv|uMbT^A19GW`SK2zPa!C+dbOLsWx2HbGdaep-bp zf)gqk^qE`hB7RdphjMB|Z@|Y)WAvFun!M2WmfrKE*G?9d*|o0lU=>%^F{3yjHQ6ujR^s2bHV!wt)|?J$H>AFL*^wQR)pP@w1mwg{L)|7?K^x4Hgj?VpSxS>c})!y(Kd)2viU1Qk_#2) zbyC8r#478DEeNnw6w{_!;p0$QskZ~`zqqU(^@SWXt@2HAqm5WUOBpK<>PK5^Fi6;W zl-9@TL%d1=b$~3%^UC5~vU7xN9U{ROOKsgTQC`B;6+~kO$5|Ci-_3N=)oWOemMG+4 zA6Wz&QMYowD|)!{NlksF*&(;y8cRg?f!Qp0)%{+I;Ia>7XyvmF&=ZKg=*!Wo7K}Xi zeuaj`+FtgNam#CqsKxwm=r$U6{iy2AZ0dA)Tb2j0=dkA;E(PYao=G6I_Z?4&sX|R5iweYcip4anVTFNzRQl@tUCId6zlO^T%Rhpg(#G%vE1sU+Od&&`ppRv^6UJIY$%G9OovkaMZ_j!{i zD!J!jF{3w7^|6oL97WnlV%Ea zzUz|J(dgf;1AHUJIizd9@JDz;leuXvZ`CTw#d4ZpWjbU^bQ3kSClHY~8vbKX_~PHO z>m8^1e-h;;=jDA15ukg8!WVBwQo15;oeKVlT2>?ofHj!ZZ)w6Uo*EoN9m-#lm5NuB z*fr;=1#+C&%+j&uA~DPs4-me&04E2t8jQipKSo%mYWkgw?ZUX0YDY$TSrdxmStVMI zQaJHeh8%cCZ)WlMNs1<%h+(tDTrQWnu)&Q_7yjJP5GdlWIy>>|c6}FEv@Bfn^J_tx zE>RXZuK7mc0KcuO>Y)BB;rUSYa>Y;m@%R^wA-m>`aDNgOa0$ zhl0n?GIj-R#&=!i!O)Qumi#$CdWQNvb1@r{leH-u@=xa?juk4@Ng^bmYEUCe9Zby$ z+%}D;3W6YmQiTSU58#@*3hzgSv@JC!Tzn}5cR{x0HEB%bh?zhZX~gbvBw@M?fC}%) z5!es3R4}1Y-ve*(daFQ|a4sBk-p(%+(=&Jwg-jw_fI*{Q3PyAbh%K?3NgWzUQNkA> z4SIruOEJtSaOGUMSEp6Cu-g+gf183!RP_rIgrCb4IHq_L0a+RZNsNh82_Je1&k|^z zDu&2GDF;g(<}`OH2zXxHNdh^Ph-qSxw$bm}1Q=RwS$?RO?<2GZ~ga`MY;!k*M$m01DU--x9K&tgn$q^W)cuq z0Z1?k)xNlhOt&%;ETh|K+zX0-p_<}@?>ia3YM zM5&mW1L8q8~yf*g?Px zRxZT6+Sc+H@*o}+>9b@3AecBI?91(=!e7kzGl|4ff(XzDKQiL zRA&YTeMk%6#PqivW!`$@dx6$4fPsL=-^9noap27UzrJJO;1Nf)07pB;4 z3^jalm{Ugqo(OnROg&RAhjBQOL;LGi+2BiG+oQew0H}Z{z)`jOFYN$09;%sE`}smuLP#e$~gVz zTQ*aWNsZY`35ThGoowickC&2J#I$AiBqHFH&1zB`gbWm>E}#uv zBAu5kRPiS^ie-f|jkS32C(1~q+39&k`h91YzsV_{!m@OJRiqROBSPX>to2fysR~W^ zLZcHD#X~qR17iI;v<{TxsA7a*N*mUB+_ZM|Wg>={5VdO`i;~;XW=TgNkJCX|Ih8?) zC^8aiHE!7UqbU!-pmHt4+BmsFA~aOc>?OdmfZeG=eGPfT>?s1J zucRX80n)~4q4p?^v>;JjY>JFq*bPt;W-6@V)$$m~d)-*8;|xGV!EvNIC-x!8Hc{{; zgegVcv!z0NVdnv(Zp&6T&tPyVr!vQB*7+HjB$xy}v9st>{6HWAGFqHLX#N0~RHH#8 z1%NPFMlTsTPP#zLxl6*t3G|5a0^`}3zGh3C>L7$L07!{}NHiXhKPlyt?Ll;Ual90$ z$hevzHxPbE!qT`10B$r=u;(IC##N;CqH))-k8+d!U~8MUT_joG@FewVQsYda2?x-Z z3z4*d5&|2KLAK%i6~Hx;b}Ggs;7RP6)I~LTJX4*GMaSlwCh3v_kqD3eV9Ao!dEk#y zU3vz$qhiv8f;;QQP;I;c%W;c$KOI$}YeTnXG0JoW;w00gw1r(zfiuTi+ER9S#Q8Xw za939x+h#s20;&BuouGg>O4&A{6HQ{FcSJI&SP}yQ1d{={ zo16j%l&-G7f>pYfA-N|OC*Yh?bx06MvVu4uG^x!dL=LUNy>EzkIh9Vaf)fQoRCBGT zn{v1%5O#)C=sDX0mB^>xIv?(DFknobSuux47ny)mbZMbP#Nsy9j6ws%lCQ*xAjvu8 zg9Hf$AdiN?W7#OGl?7W5*d5x^DHcO9D(O6v0f9b zgac8=)Ff!*KU_l;;31ATMQvu*gb^GEVGjeSBtjE%kKuEPJ~52sz`iV(mNAar4MHs3 z8Vu?UC&YnF9itvR0R__APNXoIV(`QTj33OU8!miiN4rs zPAe1$y(m$Sy}+@`hcqoY9q@o$Z&KrxHhkEC2sJ>0p>g;E_L}Gfq$1=ji6o@w4x3!f zk>85oGJ$7N(2XHdV1WQYkuB6ZXJOuHYdV5mUfqZE3Lp!?9fvs1T-1P~01+>yF8PTm zQGB%!spSGdC43U1_wZTjTTU5Xm({VQ+Jpy62$r30}5=y`o$G*@467?~a zkD2z{8Ipladob|ZNgXWBDn2!UhGgB}$XYNkV56>a4VoB+jXVj+rCy8%_H#EZ3tMBT*pAclJ>qt>>@C!o$cI>r3iGc_;^C{1<^`NEyrrH z2tmKh9SJ5c0GK5Oq^lk*N@k%01Q1Ck6M3Os#>j)7*s9AM3;-JdMo37dwULTsHBkAu z4i`A5$*0Xp;08%XCpikKM zLM96(5i})fGHGwCh*#>9nkI8CA@O9+rRoF7RH|On1zr(9rMM~zB`Rd1YHh=9PH2&c zXB*BVd80kT0@mOa;|bnX8Zu~wFQ~-GUtGr&zF7tU000000sspDS0{cZl)w}%B&(mD zRZNKa;GiG`(qs^-qE57ojYkSRTTv2Gfs%nlu1oyw10YBqFagpCZ7Cl@@Fa++b8>M6 zmf!p5u=xTJyfG=hTkGaLY4xS#;LW`k}tssOg9H*!bBmIP8TBXR9!-Itiuk&t4U zJ(h{1#b{|E000080>BspVABOLE!W_@R5Jx>n_yWGSp`?fNj~FU<8WJC6I0g2U(6Bz z0J0+lcYh!{5it>I0t=Hj1GISSkhIgQG0x;=4DK8}BwREQsoBBHPZ#0?bdA!y@Gr!| zkKe`s00$FP=WM&nl2^48jKs<&G1^%i5!rDOSXlwex6ub5Wf6ISuvIy?ZLGlz52^Zy zJ0*GbT#75Z2@wQjZY9KUjG%85)B1!Uu>H=c1Y^fl>e)ujx z_Sgjw{{S+rf8!6al^XL3W#Xx9l!k)Ix&*L64SDT%E_WRGmrsC|WlFbifiueC0UUNO z+^qNs;dM7D=RF|pGEfw9x-Q8iNTs9^AO(trE~N7l!jnbQU}a2z3Ia2Yy#2F-!$fG> zrSv<<%dhwvWQK_(5Rs9Bt6BUNSFIXaTfL(v+y7a3SW*w1$Du} zsDhv(hIq9oAOHXWfCvB!6q>ANp)yCWVklvp zZ~y>+0t1RvdWq2v1k%7oWJ9~nq*NhSodDDJEyTD?nNBBCN!-w}W(%t=OUn;CcwGtE zg0K1;tRh#UBqL1b3vQ;DtVTti6nQlWbuVIkh!u$LRfN!lxBP`ibRF+5un@v4IWOb$_M0xm@S zgn-uoV5hLT(M|+Q;=+1r_EUOxG#%nwR-&_$D=p>Aap%>m+m=4I@3$%F_h`@eqey zztN_Ykbpn}2#As*SrVJwYXJt*5ZtI^lr?lZP z$!=tfxwAcN1V|F?8CS~AFzSJbjX4}GH=O%CL{bV^*eE)MX6!s>DYo))lZ=vq8|ZY4 z{G&9Oh(Xn%*FjI{8rT!XwTbDxo?5b&w}OK?j5b=0OX>sK10gNe!u)s?|8 zKc)Ww@LC?^Ym=bqoGK9%a-MNi+A1elkp*RpHzMg{f~6CrL%E7XzM_I^i~s-t01yCJ z0+HdB7w%Sp*kY6igjwYdz+y`P8B>yjS3|E(SknRt3l$AS1yn0_U$LWSr}R_OBnU%E z6k`qcs}3u&3$)HiNyK5&G>&@Z0gz%UIGi@@DzuQ)cB~LkPkA&;1Iid8MJ}2!Vqv2k zQNb({>Us@GDI=4{0+o6KPRb9(_BrQrmL*kSn=Pd>67(?rnOEGAmo8V4rA~oFQp`6J z?t~(Mj|`IZun5}>A{weh_l(vrAtxnZh-RT0K$BLiQS+1fLUODRNx*FmeK5C+_r}KQ za6vmpm2^I(3-xEbK7(+tM4;d9!)p5ZEI)L*)v5Y8S?srCJ6FXk!NqKG8)@icN$xs? z+KPqbP8v*m;2jc#kO93vj59Mc=Klcy+5iXv0s{d*5UKGNmHsOeo^9VO;{^!ZWa7mL z+->AC_x>I;v=6lon8E;dT<-`cwc%-#{{72oWq*;}fu2pk8r1 z>*)Gu7@&N;s_s8SzwttVk1iEp#=qLH_NW;I)A9cRC4Fz-8E+)mzpr|Uk)GVYx)1{o z6oMuu#(T#~OCIyr?umj+@Tdy5EB&hf0BVH*7ru}~oBh#(=~zAHy}jRBdOn(1Jgpf8 zim*Kg_ihl|W!5XwmFY?Vw2qp7Kjg2i`_Z|JYu9@9-id;9SnRR<)Eeh@q12jTIgS+p zl?U_fMtQ8eylg`_uS!>?D3FOgv@%{zDeP7wy?!g}Pe;>BpFsZVY}l!X%GWK;=aq6! z?OKMl(^pMKSsGgf#l7i95Zj5d+g4D;NT3W3{dBgowz*~7Qvj6np%l$Vi4$F2D1=eP zOzDyo2y(utwul85Yo@N6gaApQtA?X52-(>wMi1oet^S@gfWc9m&*Hh}6p#iad$ynr zwcpp@fd?vp!Nh}Pp%Nq8M|fm`??ipk2Ygpa3L7F;3Y;@YBqgYsiB8nv!Z3B_)&9JF zwaw_RoDtyXJaU?yv}9~lByg~HJd-E@rh~E|?j}<4I6Mb4JAHq<|1EI1x!Ldu-HKsc zlJKrXKdu$%J!i(AjWshS=fPuzLhfnoSWjAmA^E9Vj6L*Fcl??rxHTjI8#)0kF9mLi z;J|mIk1G!YVQS>wDVVlt7z_R==2XP}cdU*0}y3tJjuZ+f$` zc(Rv6>Z>#R(1r&CmFN6xIkI40l$sN>w)7B1b9yPvIV~jyR)B^LPa-s2sy(axBEP~Y z004rLM54iL>rDwaJ5M?*jJ&lp$cbU6E^tv16mIA`tp5Nt*s6_E>;C{6h!0+)$B-EW z>(jEiofGp#=lf2l**^TZIqA20NSvdN!b;zX)-d(zC@lRi0>VN<-<4m0Dc!3hdNTtZ=a8I10sQ#!#6Cd!TgoM&CVNx?2 z@+fE*;D`;>VDva59V#$#TZx$Fqzu3F&CUL%)N;S;ODv5403D7OJs0mrq(RQ4$t(w~ zQ}HuGM5l*pP!+*mnEwD3>5uV40KMq{02;rC>&?rPTMjm5JUqyzlZD1$|1y0@mRK(8wC*=WnDsvd+zATc7HUb^eGXN$FH|n zE2CFdR+4Pux?1UI3x;%1CB-|JTs)$L5;pU*iT;A5jM%A%&(LE+V+l=6x7N=D_oDrZ z02n{w%8j_%D1hSGdG?wB09e*wkazt$vlh)vQ!g*;xBhBo&a-13SA zASsRmZWcj;S~A8=o19bA{MS$OT|dtN1z@1|qoJZ11rK0PdO?&cr}?B298{Fpx!ae9 zp_DaH$`#Z6*H808U^=+^=f1{@1g)#5`Kb~{)zkdYi6d&Tu-U01X52CYuGjgL!WknJ z5C*ZMbr?M~0!ziJ5K`8dAeHoUXp#x$(ZYI<_rgU);CE{xtw1!l^S+lMAW(=&f@xbr z;)!8tgGD0PtBIBM`OyS~wF*V==li4$f{(P;-&@v06JNBT2hR~ z?9zjUkLOhh(!D1`TS2oF9jjya-|?;e#Y?Am)i_H~7(y@3ot~(g%F!{pez-;5ulk{o zbU_YR*H)&?vb)xVK``ry)u9K_sKP0(hPoOlW(^b~4pr5BS5@&v0!N)R4pu*xr4$)i zdAdGF>-C_7H&^FTA=14kLqtgdKs;K|ZMvd&# zE`l4Hi1rfxsRlWXEv?lu=|mzs7@}N^vnA%RDVD=VA{N7`g!Sq)LCIYObQA%Dh2&Z$ z*{?0>dk|gkNCB4JT8;>3ZBQ-&Ql~4@K^@AHOpO`I>`h3_7$J`DS^+G_%{MPPKGZS^ zjU5?!9<50vIHIAraa`uD*soSt&;eL#Pbj(6;>Fxlm4?S|en#QvP()>K<;G*MGXDS` z^&4%cqv^u|B`QEahw(r~P}HK#3_MoC^&I?^faJzMjZj2OR9HP7I&iX#FwvMY<>&tZ zb!KW7@6GAQ1~*~r$^QU>KkF6#u|hW+aIh}?dr%Nq(Ln{f!YXe_rzG*H61J?|$Cr`; znv{sgYMN`@dvK3uP%;PmLIE)Fu2KHD+)Hom@n2l>@^Xm2%hPIs@CJtR_-uBH8T5g|PE!`{BR<)@#~Q>%Ab zIq+Vce>ye~^>Oj1c>Wsa^i`Ag{&lf+KNF)VBS9BB?ymC9O`y=sNu@*fA}&btT94b!xSh^Dg+A}gl5a0 zPxr?g_jc*q{{S&EuF;oc`_-6ZH6bV&{!X4aL~`Sh$L^z-3qCC1Z!Hj81t{RO z{KoWbuvA31ALE8-H@yS^V}QWvU4-}&$(AZS<#*nNNDXouwxJz+@UB$Pi#K{1r4xSx z`Dlz-KSWX77V7^1TvwNG&WS|~`r4dtgsZge-|MwUIlbf_pxT~Ez*KQuZD z3FpBi%eyreB=_J}eJt10tm%+Aij`EQr}Ns1jQu^dv$^{5W+#b&r)MiKu9SnwPQ=~# z`=B9am!cC_q7z726Q{vHIyWww0UBEU8WvrtK)k9y*HQku0)|JI2T7mih%$v(nIeR4 zGe%3vtNV2@Zn08C!&}!S{CKk<)-n9)XfMz4s3I`I?LZP`0o!^FnEpMqoV!1o>H$l& zg|(1$kD9wO-;bfiDy*#}w1vN7tb#``Kj5GQ1QpF_sR6jrZVc;-*D2QCMtT%exXe$@ z7@$kkZqb$}KnlZCmUA6W0|URzq_!@kXdZWaUx);(jU# zaI?mkTztHjG{rn_Jao`-Tpt{LA}IF`j!kZ800R`}95eaR@=xL7Z)$}ZPtTW^%LG4~ z#f(wrlc7k#Pi{ZQtUcQ1oPE?HrM#4kMY)v<_hU=TBF; zf0^vtal@%WGbi;)>LEe~BNu-bp2qa{qJ*s$hX|Z$uRRifsleeK428LHD{OE#) zq(I0qr>orZzK^DW17U`kkX*<4t4ou2_^4IEr$v|kE2j&!Ff6bN|`^2mu2F0Y4C|qnN}gmFRNbpvDIP0DB+rmNHy)8b%m;@dB_Hq#z^Y zEgmNOtK${P6gmlxZKjDZ5(5}G#DK_ygccfDgmEw)*!rw}^77^#_?ckIhc-TkI%@1? zBiT9b(lBMPKnH{y%RyM+WE1QdKRBUphhaH}-1YTcT1cqo3j!pa zExWW?vR&pAa}f05zd4Bt{{RNR!Kvqm4xd_=-9HByf(p%odTzajm5`1QK)pur^V{l- zm@GV2brsuK%AKa)74_Ud7nkCQ2Q#zNgcDT2b6WoZ2EW0ePXw%B&?gxme16(TyD{(u zDM=_lWqKz#)75ooXQNX6Qzoj__vu0OPrnRsQ{2bZf1ywGDKtyHKYD#?Uv&H$8_kkp zGrdPQ(xaQ{UBkC+s9-yfUPrwm7_v6Cr{D2L$E)*d%&Go(QFtl*0P3uK?M0-61_w{u zmwq%6x7ss1M_T^?LZ9eS0dKspj=CBfzmfiEB(yIr2j-*hKbD@Wt3$Co`#1arE<^<$ zq17>eX{H)VAc^kuq$*XObbz%!#x1!y??vCl(%_>K zS{~F{DiR3Q)i83T7XmiA$9=u2Nnkr@#-Iv18~d8s-DBckU@1+;^M!0BBI}Nug7}5TYXu zbmEGCdQ5UIz<)7M2rJknX_MS(JVVewmywo)krpQ~SeisYHz|f&MeglM|OdRkm`=bit0@J7Cm(EMN*;Q^qpN|$}^KiGAu0GR%Gi;HxF@eJ&(_lPml;> zd!F=5f%ey9v8PS7To3^g5YnovD@n5?ZE4)=R;4o}Ou4&MG5|mr0|$%gI=n5pFrp32 zH>6CgzDc5nw)F;9UT=&|#hmz_ldIwU>F9R%-`wD{lVI5&Q&D?4E@O`cFo7pihWG~|&tdJK zicMvu)ewNmQJyU(!+&`7J}0E=={%eVYuY(`Q_%|$SYw=KXkzAQ24cj-fuFoI@rvEx zkjpoA-lH}d^MBt6?a)1w^q+nM=74{G)HqlVZ2jBYhni?#fAD*7j^1SMmizG@ldGlb zUQz91?fTWsFcaOo`Qd9vdlb9Uu8Q7y?jq~EUqN*wCb#J@!mB;t{e zNDLRj&eKpHkqnKW;Z9h^JB&x|{MR6d`SATGS58#|em`eI!7RHMXe_tQUUKQ$3yf1eN1b#!eEDc%VCJ{!_9 zd*qLqiUmc2z;Zjz?`>ft3IR99*6S5CfFba`LxYT>+#wiwtvSdsT*rCosq|%QxjnaM?e8 zu|<=KQ1^QK(#DJvArZZ)&JZ9BTRC)(vVrb;KJ__a6WF^^>uwLr_xRKi#K*z?DQ50` zKS|ZqLP^OkvoTkkf_Ij2dZT9w#L8)xVf5`*xBT5 zCqBFHswkf0gRE}y*rW+5zlrHOx^x;u$w0U%6DI&KEC;0WY50z z2tZ-~0D;6;c1%QAo&NxeOy7d9cVnBhbX-!*a%X0jLP`#-r6DVrJ@tYJvVvZRzQ1?O{U=vI z1gSzh2kx0SyuTjZ`MtP z-_dE&+5Tu+4!ZFF07&=OuBY>Qhz+9mZvLoI5rnVzYyH|0O?A-G%Bl5|@h4PgF;0#L znDm`pC1PDfQwbf`DgZ+-xuz0 z4%($Xdhk%m6vVy6t*U3v5auQAy^_ogL`XhfSSj?}*;=DWWi@O>v&{(q$E z_)IrMZP4bs6vVNP8&Bk4AbIjP??{Rz&nWSh*eWmsn85NK<9)bF2&H#1MF=dBFr3d; z*V1)${{SJc^IHD^A*4nU`hv31Q`zPEtgq{)fXk;rX%R#^H7`5Znm|@A%?gBo&=0+x zt53i2;mgkUCXpCR=`K6in*RVHuk#uPTsn!Y${(Zkq5>eHQ;8JI7yC2L zhNVxXdUK`}f*tF4?7>lHDCWq_<+EzXpPiFgQZ zr1~G`l%vm3j@*pwL%pxHBuFR>2km!qy1s!A-}7A}f0{TLJA?CHuKm}mzjVL~Y>(rH zQx1!eV0Qt1iTcth;LpAak_5rXEN@2}ZWChx`<-AkavX={bv>$2i$71*U8T{y^l~}# z?W>PTa-ol7@~PV|QuL?pKpt_I=T1i=dl#rL`Az=-5PMRSGZ)zY1oz=%zmx2LiZHn@ zgsh9Zuh_pu+ENPuY$SWTuR3Q-jBA~=AC|g={{S=+V9n3lU0=`guCM3$QbI{4KUx4+ zy0@?QTK@obp@{f7RH59w`Z~W^q6mQjfy?>O2xT$tW9_Wdr7?8qe>(c9%8WNL`AsJP z{d`lXBs#r1A8kZzo7}Uns>iFMr`oW+vF|jn|_SPFO9?BibN2nR9MbhM*!NZ)QzZ z(R4RLE}XEPGn!L!B1u5XJ#SgNnk9IH+`0RvS7-LkcCoa*rr!Sm6xUb<2psIUa?R$X zQR*@W*qQgmBK0H$j`o|&%KFXwuy+f6=rRJo&};n$oPps8CzV6ko&Nw8AAqpH>zl6a z69h!S-5Xl}02GS}X6Om!F^-fPWD{XAo%zy2j*0!i{(h*TazW%-(M@`vJ~f1vy) z<)>gbFh4hat8ILRn*lQ%;_mcKLF$3>!9gS$vg}-*_@-ziF{EEeImK2`Z4&#v22s;hq@mZR>LF?rP!0g<94NM1L2#>>2Lu#-yWCXX-y0AM)> zsnmcTlK%kD^qpT1VIk;0XJhA#=Ruvw=5smn^S+a-sKk+Xe-xCj%>F49fgTYCWOvw8 z4=pZ&09l@#J8VBD=ea;m*YY0UgyRIIY+jK_ke*Z0b#-7ZDti(3+JJ|zmS_i%8RvNW z;f;$RzVGmAq>Ja6e{0c|0f&al;P{z;KHO#qQjov8uj;fOU^MJH+j4wKN}zgBBG82DPCfotr~>G`PyPEwzWCE<}~0_yU= zya9Tixo{Vey|yDC&VoC)(=LpOTP^kXfPx#B9@=^ywe~-sDd{@8SS+RNUZO*2z1zRW zkvOP%H3^cTGHGCXS)`kH2X1~_duU?WPvrSOC33mDv3i+3kA^!8yZd@6Lx8gWTAGwV zWs5L!nf_G(KrC#79p0{-(0>e{mVl)aS8lZtasu`bZ0}yB{wS9h2%A3}pNbenUGsRx z*rmx5{Oi;0PKDpJ<7NcFC0~15k}nc7?nS((r0VdQJTiA|RjISS?mll)Ov3)0p0ln5 zPhsEMv5B*?I8NsqD`9o8GSrqS9f$LuIq5pQJA!qy?=$gRi*>W_Ge?kCxi;leEDOrV z$MLKfjE+N)@_B8y9B{?VXSw8TV|@AFN!9-VpXoZjB!Wd?WqyY5v3+1cGQVmaif-fd zC*DsTEP*_a<#s73sj_bS>n5r_W22uo{hlYJ>gW;4$|({8V<+=N5+wGkoH)5mp*gJ_ zE3+-$L7(fb0C=@>Ed1~^i0C>wX_6bw2Dk|)eH#G$SU7*V2zOnJZ z{QVD6v-MqjU61kM`cAHvyRrGCa;bi3&h0%HZ*R=jYuDi2dIjn21szel-)=_;17MHa z`lO|0csqGMSpCq&EKj*_z<3a<+xBwzsU?XAAhAsfK^Nty0Dl7YpW+XLhRs+HWd2VN z(sgu;zM)YKSiyJZ?U#6_5?CLVLDTo=vUkbp#9*@NLW(N0KbZQWM{R^iS@=7xxz(2d zEI_`urwC>rnmy0yM1&J}msb)h1WmW+lD@DIa1l+<*eS}q z^oB_S8RyYH=7xlV0#(3sZNGXUMo%#0w`W5s*nVCgr0VGdU{`V=zvhfY932h&xoZ{z zj$*^zyV7aqmYps8q&08dA)%x>fzk8H`)EX<5k0SNxc8+-L4eo{2W_>-|D+59gP0zWL)kGBiHVV%if=T5m;$GsDZEtkZ;j2@Jg5<>AzvOTFuZeJ+S=L6tO---_~_^seAN#oVjp!xq7<}tMxSe-F^*^ z57Kpbtx3-W{n3LSSSRsZs_B?B&M{GJu5eDOOJWhibw3=nP(WjyJCXPtgJY){q9Y9| zl`EjaH7;?B7VTcwh$Hb!D(LY8gr!ggb|CoGy2b#+?!4EZiRn7O^Zh4R#bg*HrvPR3 znocMJFPE#zd2PWCt@~V^Ih%I#zLTr0lk`8FQrvO{-+?G|3D^_gw)UijIQAtcu)*6z zKuW1+L<&2_kGeucq)a6~=3(kKX16TAWBf9Eae|r!U9H#3`cAHb&4t%b<*D7Z4c+;E zT^I{fZf*$cem+@+N<4mD0J{)*P9FRA??{qUdN5!I?f5k3PCgU*`{Ecx%?Hf}FhMI@ zYI6BcN!8GiH=hNMid9w1Ou%Iju{GXM3P@6Ch|jzDYcHzR%Z0yU@6k+b4k2@lblQN5 zTuR}0>WMDNeev{t>2f}p(a2a_=lQQi{%g^HngE3|wx3!2smtXQuch45W!l#q4j z9oP!XneoW>EuxXjAA)~cAPG!EYX1Ngukl&{fsk{j)_*E;`A=2VqSVUC&-iI0+bBus zlULOm0Dzt4kHs6%trpUO{It4gee?BGbi#isdJOwg71ANadU73d^ev;Ck(yfuJ@fme zxG+wSsrIQtCSbafSPt}V&5z5?(emUUG&?2E?0&yIL`f~F2HDyz5o^`ybqM{wQ075j zMr8ToEQylqvC@z;XY?Jy)rUfh?&7Tk37z(Rq-(5a@*gbWkAKY~U@)8$0n2;= z+b=44rKR(Ru2J- a>%DAeF|_YJ?-9Xj{f>y~7Vp -

    + + + + + + + + + 5.USER-CUDA package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.1 USER-CUDA package -

    -

    The USER-CUDA package was developed by Christian Trott (Sandia) while + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.USER-CUDA package¶

    +

    The USER-CUDA package was developed by Christian Trott (Sandia) while at U Technology Ilmenau in Germany. It provides NVIDIA GPU versions of many pair styles, many fixes, a few computes, and for long-range Coulombics via the PPPM command. It has the following general -features: -

    -
    • The package is designed to allow an entire LAMMPS calculation, for +features:

      +
        +
      • The package is designed to allow an entire LAMMPS calculation, for many timesteps, to run entirely on the GPU (except for inter-processor MPI communication), so that atom-based data (e.g. coordinates, forces) -do not have to move back-and-forth between the CPU and GPU. - -
      • The speed-up advantage of this approach is typically better when the -number of atoms per GPU is large - -
      • Data will stay on the GPU until a timestep where a non-USER-CUDA fix +do not have to move back-and-forth between the CPU and GPU.
      • +
      • The speed-up advantage of this approach is typically better when the +number of atoms per GPU is large
      • +
      • Data will stay on the GPU until a timestep where a non-USER-CUDA fix or compute is invoked. Whenever a non-GPU operation occurs (fix, compute, output), data automatically moves back to the CPU as needed. This may incur a performance penalty, but should otherwise work -transparently. - -
      • Neighbor lists are constructed on the GPU. - -
      • The package only supports use of a single MPI task, running on a -single CPU (core), assigned to each GPU. -
      -

      Here is a quick overview of how to use the USER-CUDA package: -

      -
      • build the library in lib/cuda for your GPU hardware with desired precision -
      • include the USER-CUDA package and build LAMMPS -
      • use the mpirun command to specify 1 MPI task per GPU (on each node) -
      • enable the USER-CUDA package via the "-c on" command-line switch -
      • specify the # of GPUs per node -
      • use USER-CUDA styles in your input script -
      -

      The latter two steps can be done using the "-pk cuda" and "-sf cuda" -command-line switches respectively. Or -the effect of the "-pk" or "-sf" switches can be duplicated by adding -the package cuda or suffix cuda commands -respectively to your input script. -

      -

      Required hardware/software: -

      -

      To use this package, you need to have one or more NVIDIA GPUs and -install the NVIDIA Cuda software on your system: -

      -

      Your NVIDIA GPU needs to support Compute Capability 1.3. This list may -help you to find out the Compute Capability of your card: -

      -

      http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units -

      -

      Install the Nvidia Cuda Toolkit (version 3.2 or higher) and the +transparently.

    • +
    • Neighbor lists are constructed on the GPU.
    • +
    • The package only supports use of a single MPI task, running on a +single CPU (core), assigned to each GPU.
    • +
    +

    Here is a quick overview of how to use the USER-CUDA package:

    +
      +
    • build the library in lib/cuda for your GPU hardware with desired precision
    • +
    • include the USER-CUDA package and build LAMMPS
    • +
    • use the mpirun command to specify 1 MPI task per GPU (on each node)
    • +
    • enable the USER-CUDA package via the “-c on” command-line switch
    • +
    • specify the # of GPUs per node
    • +
    • use USER-CUDA styles in your input script
    • +
    +

    The latter two steps can be done using the “-pk cuda” and “-sf cuda” +command-line switches respectively. Or +the effect of the “-pk” or “-sf” switches can be duplicated by adding +the package cuda or suffix cuda commands +respectively to your input script.

    +

    Required hardware/software:

    +

    To use this package, you need to have one or more NVIDIA GPUs and +install the NVIDIA Cuda software on your system:

    +

    Your NVIDIA GPU needs to support Compute Capability 1.3. This list may +help you to find out the Compute Capability of your card:

    +

    http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units

    +

    Install the Nvidia Cuda Toolkit (version 3.2 or higher) and the corresponding GPU drivers. The Nvidia Cuda SDK is not required, but we recommend it also be installed. You can then make sure its sample -projects can be compiled without problems. -

    -

    Building LAMMPS with the USER-CUDA package: -

    -

    This requires two steps (a,b): build the USER-CUDA library, then build -LAMMPS with the USER-CUDA package. -

    -

    You can do both these steps in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type "Make.py -h" for help. If run from the src directory, this +projects can be compiled without problems.

    +

    Building LAMMPS with the USER-CUDA package:

    +

    This requires two steps (a,b): build the USER-CUDA library, then build +LAMMPS with the USER-CUDA package.

    +

    You can do both these steps in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type “Make.py -h” for help. If run from the src directory, this command will create src/lmp_cuda using src/MAKE/Makefile.mpi as the -starting Makefile.machine: -

    -
    Make.py -p cuda -cuda mode=single arch=20 -o cuda lib-cuda file mpi 
    -
    -

    Or you can follow these two (a,b) steps: -

    -

    (a) Build the USER-CUDA library -

    -

    The USER-CUDA library is in lammps/lib/cuda. If your CUDA toolkit -is not installed in the default system directoy /usr/local/cuda edit -the file lib/cuda/Makefile.common accordingly. -

    -

    To build the library with the settings in lib/cuda/Makefile.default, -simply type: -

    -
    make 
    -
    -

    To set options when the library is built, type "make OPTIONS", where -OPTIONS are one or more of the following. The settings will be -written to the lib/cuda/Makefile.defaults before the build. -

    -
    precision=N to set the precision level
    +starting Makefile.machine:

    +
    Make.py -p cuda -cuda mode=single arch=20 -o cuda lib-cuda file mpi
    +
    +
    +

    Or you can follow these two (a,b) steps:

    +
      +
    1. Build the USER-CUDA library
    2. +
    +

    The USER-CUDA library is in lammps/lib/cuda. If your CUDA toolkit +is not installed in the default system directoy /usr/local/cuda edit +the file lib/cuda/Makefile.common accordingly.

    +

    To build the library with the settings in lib/cuda/Makefile.default, +simply type:

    +
    make
    +
    +
    +

    To set options when the library is built, type “make OPTIONS”, where +OPTIONS are one or more of the following. The settings will be +written to the lib/cuda/Makefile.defaults before the build.

    +
    +precision=N to set the precision level
       N = 1 for single precision (default)
       N = 2 for double precision
       N = 3 for positions in double precision
       N = 4 for positions and velocities in double precision
    -arch=M to set GPU compute capability
    +arch=M to set GPU compute capability
       M = 35 for Kepler GPUs
       M = 20 for CC2.0 (GF100/110, e.g. C2050,GTX580,GTX470) (default)
       M = 21 for CC2.1 (GF104/114,  e.g. GTX560, GTX460, GTX450)
       M = 13 for CC1.3 (GF200, e.g. C1060, GTX285)
    -prec_timer=0/1 to use hi-precision timers
    +prec_timer=0/1 to use hi-precision timers
       0 = do not use them (default)
       1 = use them
    -  this is usually only useful for Mac machines 
    -dbg=0/1 to activate debug mode
    +  this is usually only useful for Mac machines
    +dbg=0/1 to activate debug mode
       0 = no debug mode (default)
       1 = yes debug mode
       this is only useful for developers
    -cufft=1 for use of the CUDA FFT library
    +cufft=1 for use of the CUDA FFT library
       0 = no CUFFT support (default)
    -  in the future other CUDA-enabled FFT libraries might be supported 
    -
    -

    If the build is successful, it will produce the files liblammpscuda.a and -Makefile.lammps. -

    -

    Note that if you change any of the options (like precision), you need -to re-build the entire library. Do a "make clean" first, followed by -"make". -

    -

    (b) Build LAMMPS with the USER-CUDA package -

    -
    cd lammps/src
    +  in the future other CUDA-enabled FFT libraries might be supported
    +
    +

    If the build is successful, it will produce the files liblammpscuda.a and +Makefile.lammps.

    +

    Note that if you change any of the options (like precision), you need +to re-build the entire library. Do a “make clean” first, followed by +“make”.

    +
      +
    1. Build LAMMPS with the USER-CUDA package
    2. +
    +
    cd lammps/src
     make yes-user-cuda
    -make machine 
    -
    -

    No additional compile/link flags are needed in Makefile.machine. -

    -

    Note that if you change the USER-CUDA library precision (discussed +make machine +

    +
    +

    No additional compile/link flags are needed in Makefile.machine.

    +

    Note that if you change the USER-CUDA library precision (discussed above) and rebuild the USER-CUDA library, then you also need to re-install the USER-CUDA package and re-build LAMMPS, so that all affected files are re-compiled and linked to the new USER-CUDA -library. -

    -

    Run with the USER-CUDA package from the command line: -

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +library.

    +

    Run with the USER-CUDA package from the command line:

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. -

    -

    When using the USER-CUDA package, you must use exactly one MPI task -per physical GPU. -

    -

    You must use the "-c on" command-line -switch to enable the USER-CUDA package. -The "-c on" switch also issues a default package cuda 1 +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    +

    When using the USER-CUDA package, you must use exactly one MPI task +per physical GPU.

    +

    You must use the “-c on” command-line switch to enable the USER-CUDA package. +The “-c on” switch also issues a default package cuda 1 command which sets various USER-CUDA options to default values, as -discussed on the package command doc page. -

    -

    Use the "-sf cuda" command-line switch, -which will automatically append "cuda" to styles that support it. Use -the "-pk cuda Ng" command-line switch to +discussed on the package command doc page.

    +

    Use the “-sf cuda” command-line switch, +which will automatically append “cuda” to styles that support it. Use +the “-pk cuda Ng” command-line switch to set Ng = # of GPUs per node to a different value than the default set -by the "-c on" switch (1 GPU) or change other package -cuda options. -

    -
    lmp_machine -c on -sf cuda -pk cuda 1 -in in.script                       # 1 MPI task uses 1 GPU
    +by the “-c on” switch (1 GPU) or change other package cuda options.

    +
    lmp_machine -c on -sf cuda -pk cuda 1 -in in.script                       # 1 MPI task uses 1 GPU
     mpirun -np 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script          # 2 MPI tasks use 2 GPUs on a single 16-core (or whatever) node
    -mpirun -np 24 -ppn 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script  # ditto on 12 16-core nodes 
    -
    -

    The syntax for the "-pk" switch is the same as same as the "package -cuda" command. See the package command doc page for +mpirun -np 24 -ppn 2 lmp_machine -c on -sf cuda -pk cuda 2 -in in.script # ditto on 12 16-core nodes +

    +
    +

    The syntax for the “-pk” switch is the same as same as the “package +cuda” command. See the package command doc page for details, including the default values used for all its options if it -is not specified. -

    -

    Note that the default for the package cuda command is -to set the Newton flag to "off" for both pairwise and bonded +is not specified.

    +

    Note that the default for the package cuda command is +to set the Newton flag to “off” for both pairwise and bonded interactions. This typically gives fastest performance. If the -newton command is used in the input script, it can -override these defaults. -

    -

    Or run with the USER-CUDA package by editing an input script: -

    -

    The discussion above for the mpirun/mpiexec command and the requirement -of one MPI task per GPU is the same. -

    -

    You must still use the "-c on" command-line -switch to enable the USER-CUDA package. -

    -

    Use the suffix cuda command, or you can explicitly add a -"cuda" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/cuda 2.5 
    -
    -

    You only need to use the package cuda command if you +newton command is used in the input script, it can +override these defaults.

    +

    Or run with the USER-CUDA package by editing an input script:

    +

    The discussion above for the mpirun/mpiexec command and the requirement +of one MPI task per GPU is the same.

    +

    You must still use the “-c on” command-line switch to enable the USER-CUDA package.

    +

    Use the suffix cuda command, or you can explicitly add a +“cuda” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/cuda 2.5
    +
    +
    +

    You only need to use the package cuda command if you wish to change any of its option defaults, including the number of -GPUs/node (default = 1), as set by the "-c on" command-line -switch. -

    -

    Speed-ups to expect: -

    -

    The performance of a GPU versus a multi-core CPU is a function of your +GPUs/node (default = 1), as set by the “-c on” command-line switch.

    +

    Speed-ups to expect:

    +

    The performance of a GPU versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed). -

    -

    See the Benchmark page of the +precision used on the GPU (double, single, mixed).

    +

    See the Benchmark page of the LAMMPS web site for performance of the USER-CUDA package on different -hardware. -

    -

    Guidelines for best performance: -

    -
    • The USER-CUDA package offers more speed-up relative to CPU performance +hardware.

      +

      Guidelines for best performance:

      +
        +
      • The USER-CUDA package offers more speed-up relative to CPU performance when the number of atoms per GPU is large, e.g. on the order of tens -or hundreds of 1000s. - -
      • As noted above, this package will continue to run a simulation +or hundreds of 1000s.
      • +
      • As noted above, this package will continue to run a simulation entirely on the GPU(s) (except for inter-processor MPI communication), for multiple timesteps, until a CPU calculation is required, either by a fix or compute that is non-GPU-ized, or until output is performed (thermo or dump snapshot or restart file). The less often this -occurs, the faster your simulation will run. -
      -

      Restrictions: -

      -

      None. -

      - +occurs, the faster your simulation will run.
    • +
    +
    +

    Restrictions¶

    +

    None.

    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/accelerate_gpu.html b/doc/accelerate_gpu.html index fcf563e175..95edb9fd70 100644 --- a/doc/accelerate_gpu.html +++ b/doc/accelerate_gpu.html @@ -1,257 +1,401 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + 5.GPU package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.2 GPU package -

    -

    The GPU package was developed by Mike Brown at ORNL and his + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.GPU package¶

    +

    The GPU package was developed by Mike Brown at ORNL and his collaborators, particularly Trung Nguyen (ORNL). It provides GPU versions of many pair styles, including the 3-body Stillinger-Weber -pair style, and for kspace_style pppm for -long-range Coulombics. It has the following general features: -

    -
    • It is designed to exploit common GPU hardware configurations where one +pair style, and for kspace_style pppm for +long-range Coulombics. It has the following general features:

      +
        +
      • It is designed to exploit common GPU hardware configurations where one or more GPUs are coupled to many cores of one or more multi-core CPUs, -e.g. within a node of a parallel machine. - -
      • Atom-based data (e.g. coordinates, forces) moves back-and-forth -between the CPU(s) and GPU every timestep. - -
      • Neighbor lists can be built on the CPU or on the GPU - -
      • The charge assignement and force interpolation portions of PPPM can be +e.g. within a node of a parallel machine.
      • +
      • Atom-based data (e.g. coordinates, forces) moves back-and-forth +between the CPU(s) and GPU every timestep.
      • +
      • Neighbor lists can be built on the CPU or on the GPU
      • +
      • The charge assignement and force interpolation portions of PPPM can be run on the GPU. The FFT portion, which requires MPI communication -between processors, runs on the CPU. - -
      • Asynchronous force computations can be performed simultaneously on the -CPU(s) and GPU. - -
      • It allows for GPU computations to be performed in single or double +between processors, runs on the CPU.
      • +
      • Asynchronous force computations can be performed simultaneously on the +CPU(s) and GPU.
      • +
      • It allows for GPU computations to be performed in single or double precision, or in mixed-mode precision, where pairwise forces are computed in single precision, but accumulated into double-precision -force vectors. - -
      • LAMMPS-specific code is in the GPU package. It makes calls to a +force vectors.
      • +
      • LAMMPS-specific code is in the GPU package. It makes calls to a generic GPU library in the lib/gpu directory. This library provides NVIDIA support as well as more general OpenCL support, so that the same functionality can eventually be supported on a variety of GPU -hardware. -
      -

      Here is a quick overview of how to use the GPU package: -

      -
      • build the library in lib/gpu for your GPU hardware wity desired precision -
      • include the GPU package and build LAMMPS -
      • use the mpirun command to set the number of MPI tasks/node which determines the number of MPI tasks/GPU -
      • specify the # of GPUs per node -
      • use GPU styles in your input script -
      -

      The latter two steps can be done using the "-pk gpu" and "-sf gpu" -command-line switches respectively. Or -the effect of the "-pk" or "-sf" switches can be duplicated by adding -the package gpu or suffix gpu commands -respectively to your input script. -

      -

      Required hardware/software: -

      -

      To use this package, you currently need to have an NVIDIA GPU and -install the NVIDIA Cuda software on your system: -

      -
      • Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/0/information -
      • Go to http://www.nvidia.com/object/cuda_get.html -
      • Install a driver and toolkit appropriate for your system (SDK is not necessary) -
      • Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties -
      -

      Building LAMMPS with the GPU package: -

      -

      This requires two steps (a,b): build the GPU library, then build -LAMMPS with the GPU package. -

      -

      You can do both these steps in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type "Make.py -h" for help. If run from the src directory, this +hardware.

    • +
    +

    Here is a quick overview of how to use the GPU package:

    +
      +
    • build the library in lib/gpu for your GPU hardware wity desired precision
    • +
    • include the GPU package and build LAMMPS
    • +
    • use the mpirun command to set the number of MPI tasks/node which determines the number of MPI tasks/GPU
    • +
    • specify the # of GPUs per node
    • +
    • use GPU styles in your input script
    • +
    +

    The latter two steps can be done using the “-pk gpu” and “-sf gpu” +command-line switches respectively. Or +the effect of the “-pk” or “-sf” switches can be duplicated by adding +the package gpu or suffix gpu commands +respectively to your input script.

    +

    Required hardware/software:

    +

    To use this package, you currently need to have an NVIDIA GPU and +install the NVIDIA Cuda software on your system:

    +
      +
    • Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/0/information
    • +
    • Go to http://www.nvidia.com/object/cuda_get.html
    • +
    • Install a driver and toolkit appropriate for your system (SDK is not necessary)
    • +
    • Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties
    • +
    +

    Building LAMMPS with the GPU package:

    +

    This requires two steps (a,b): build the GPU library, then build +LAMMPS with the GPU package.

    +

    You can do both these steps in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type “Make.py -h” for help. If run from the src directory, this command will create src/lmp_gpu using src/MAKE/Makefile.mpi as the -starting Makefile.machine: -

    -
    Make.py -p gpu -gpu mode=single arch=31 -o gpu lib-gpu file mpi 
    -
    -

    Or you can follow these two (a,b) steps: -

    -

    (a) Build the GPU library -

    -

    The GPU library is in lammps/lib/gpu. Select a Makefile.machine (in +starting Makefile.machine:

    +
    Make.py -p gpu -gpu mode=single arch=31 -o gpu lib-gpu file mpi
    +
    +
    +

    Or you can follow these two (a,b) steps:

    +
      +
    1. Build the GPU library
    2. +
    +

    The GPU library is in lammps/lib/gpu. Select a Makefile.machine (in lib/gpu) appropriate for your system. You should pay special -attention to 3 settings in this makefile. -

    -
    • CUDA_HOME = needs to be where NVIDIA Cuda software is installed on your system -
    • CUDA_ARCH = needs to be appropriate to your GPUs -
    • CUDA_PREC = precision (double, mixed, single) you desire -
    -

    See lib/gpu/Makefile.linux.double for examples of the ARCH settings +attention to 3 settings in this makefile.

    +
      +
    • CUDA_HOME = needs to be where NVIDIA Cuda software is installed on your system
    • +
    • CUDA_ARCH = needs to be appropriate to your GPUs
    • +
    • CUDA_PREC = precision (double, mixed, single) you desire
    • +
    +

    See lib/gpu/Makefile.linux.double for examples of the ARCH settings for different GPU choices, e.g. Fermi vs Kepler. It also lists the -possible precision settings: -

    -
    CUDA_PREC = -D_SINGLE_SINGLE  # single precision for all calculations
    -CUDA_PREC = -D_DOUBLE_DOUBLE  # double precision for all calculations
    -CUDA_PREC = -D_SINGLE_DOUBLE  # accumulation of forces, etc, in double 
    -
    -

    The last setting is the mixed mode referred to above. Note that your +possible precision settings:

    +
    CUDA_PREC = -D_SINGLE_SINGLE  # single precision for all calculations
    +CUDA_PREC = -D_DOUBLE_DOUBLE  # double precision for all calculations
    +CUDA_PREC = -D_SINGLE_DOUBLE  # accumulation of forces, etc, in double
    +
    +
    +

    The last setting is the mixed mode referred to above. Note that your GPU must support double precision to use either the 2nd or 3rd of -these settings. -

    -

    To build the library, type: -

    -
    make -f Makefile.machine 
    -
    -

    If successful, it will produce the files libgpu.a and Makefile.lammps. -

    -

    The latter file has 3 settings that need to be appropriate for the +these settings.

    +

    To build the library, type:

    +
    make -f Makefile.machine
    +
    +
    +

    If successful, it will produce the files libgpu.a and Makefile.lammps.

    +

    The latter file has 3 settings that need to be appropriate for the paths and settings for the CUDA system software on your machine. Makefile.lammps is a copy of the file specified by the EXTRAMAKE setting in Makefile.machine. You can change EXTRAMAKE or create your -own Makefile.lammps.machine if needed. -

    -

    Note that to change the precision of the GPU library, you need to -re-build the entire library. Do a "clean" first, e.g. "make -f -Makefile.linux clean", followed by the make command above. -

    -

    (b) Build LAMMPS with the GPU package -

    -
    cd lammps/src
    +own Makefile.lammps.machine if needed.

    +

    Note that to change the precision of the GPU library, you need to +re-build the entire library. Do a “clean” first, e.g. “make -f +Makefile.linux clean”, followed by the make command above.

    +
      +
    1. Build LAMMPS with the GPU package
    2. +
    +
    cd lammps/src
     make yes-gpu
    -make machine 
    -
    -

    No additional compile/link flags are needed in Makefile.machine. -

    -

    Note that if you change the GPU library precision (discussed above) +make machine +

    +
    +

    No additional compile/link flags are needed in Makefile.machine.

    +

    Note that if you change the GPU library precision (discussed above) and rebuild the GPU library, then you also need to re-install the GPU package and re-build LAMMPS, so that all affected files are -re-compiled and linked to the new GPU library. -

    -

    Run with the GPU package from the command line: -

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +re-compiled and linked to the new GPU library.

    +

    Run with the GPU package from the command line:

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. -

    -

    When using the GPU package, you cannot assign more than one GPU to a +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    +

    When using the GPU package, you cannot assign more than one GPU to a single MPI task. However multiple MPI tasks can share the same GPU, and in many cases it will be more efficient to run this way. Likewise it may be more efficient to use less MPI tasks/node than the available # of CPU cores. Assignment of multiple MPI tasks to a GPU will happen automatically if you create more MPI tasks/node than there are GPUs/mode. E.g. with 8 MPI tasks/node and 2 GPUs, each GPU will be -shared by 4 MPI tasks. -

    -

    Use the "-sf gpu" command-line switch, -which will automatically append "gpu" to styles that support it. Use -the "-pk gpu Ng" command-line switch to -set Ng = # of GPUs/node to use. -

    -
    lmp_machine -sf gpu -pk gpu 1 -in in.script                         # 1 MPI task uses 1 GPU
    +shared by 4 MPI tasks.

    +

    Use the “-sf gpu” command-line switch, +which will automatically append “gpu” to styles that support it. Use +the “-pk gpu Ng” command-line switch to +set Ng = # of GPUs/node to use.

    +
    lmp_machine -sf gpu -pk gpu 1 -in in.script                         # 1 MPI task uses 1 GPU
     mpirun -np 12 lmp_machine -sf gpu -pk gpu 2 -in in.script           # 12 MPI tasks share 2 GPUs on a single 16-core (or whatever) node
    -mpirun -np 48 -ppn 12 lmp_machine -sf gpu -pk gpu 2 -in in.script   # ditto on 4 16-core nodes 
    -
    -

    Note that if the "-sf gpu" switch is used, it also issues a default -package gpu 1 command, which sets the number of -GPUs/node to 1. -

    -

    Using the "-pk" switch explicitly allows for setting of the number of +mpirun -np 48 -ppn 12 lmp_machine -sf gpu -pk gpu 2 -in in.script # ditto on 4 16-core nodes +

    +
    +

    Note that if the “-sf gpu” switch is used, it also issues a default +package gpu 1 command, which sets the number of +GPUs/node to 1.

    +

    Using the “-pk” switch explicitly allows for setting of the number of GPUs/node to use and additional options. Its syntax is the same as -same as the "package gpu" command. See the package +same as the “package gpu” command. See the package command doc page for details, including the default values used for -all its options if it is not specified. -

    -

    Note that the default for the package gpu command is to -set the Newton flag to "off" pairwise interactions. It does not -affect the setting for bonded interactions (LAMMPS default is "on"). -The "off" setting for pairwise interaction is currently required for -GPU package pair styles. -

    -

    Or run with the GPU package by editing an input script: -

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and use of multiple MPI tasks/GPU is the same. -

    -

    Use the suffix gpu command, or you can explicitly add an -"gpu" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/gpu 2.5 
    -
    -

    You must also use the package gpu command to enable the -GPU package, unless the "-sf gpu" or "-pk gpu" command-line -switches were used. It specifies the -number of GPUs/node to use, as well as other options. -

    -

    Speed-ups to expect: -

    -

    The performance of a GPU versus a multi-core CPU is a function of your +all its options if it is not specified.

    +

    Note that the default for the package gpu command is to +set the Newton flag to “off” pairwise interactions. It does not +affect the setting for bonded interactions (LAMMPS default is “on”). +The “off” setting for pairwise interaction is currently required for +GPU package pair styles.

    +

    Or run with the GPU package by editing an input script:

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +and use of multiple MPI tasks/GPU is the same.

    +

    Use the suffix gpu command, or you can explicitly add an +“gpu” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/gpu 2.5
    +
    +
    +

    You must also use the package gpu command to enable the +GPU package, unless the “-sf gpu” or “-pk gpu” command-line switches were used. It specifies the +number of GPUs/node to use, as well as other options.

    +

    Speed-ups to expect:

    +

    The performance of a GPU versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed). -

    -

    See the Benchmark page of the +precision used on the GPU (double, single, mixed).

    +

    See the Benchmark page of the LAMMPS web site for performance of the GPU package on various -hardware, including the Titan HPC platform at ORNL. -

    -

    You should also experiment with how many MPI tasks per GPU to use to +hardware, including the Titan HPC platform at ORNL.

    +

    You should also experiment with how many MPI tasks per GPU to use to give the best performance for your problem and machine. This is also a function of the problem size and the pair style being using. Likewise, you should experiment with the precision setting for the GPU library to see if single or mixed precision will give accurate -results, since they will typically be faster. -

    -

    Guidelines for best performance: -

    -
    • Using multiple MPI tasks per GPU will often give the best performance, -as allowed my most multi-core CPU/GPU configurations. - -
    • If the number of particles per MPI task is small (e.g. 100s of +results, since they will typically be faster.

      +

      Guidelines for best performance:

      +
        +
      • Using multiple MPI tasks per GPU will often give the best performance, +as allowed my most multi-core CPU/GPU configurations.
      • +
      • If the number of particles per MPI task is small (e.g. 100s of particles), it can be more efficient to run with fewer MPI tasks per -GPU, even if you do not use all the cores on the compute node. - -
      • The package gpu command has several options for tuning +GPU, even if you do not use all the cores on the compute node.
      • +
      • The package gpu command has several options for tuning performance. Neighbor lists can be built on the GPU or CPU. Force calculations can be dynamically balanced across the CPU cores and GPUs. GPU-specific settings can be made which can be optimized -for different hardware. See the packakge command -doc page for details. - -
      • As described by the package gpu command, GPU +for different hardware. See the packakge command +doc page for details.
      • +
      • As described by the package gpu command, GPU accelerated pair styles can perform computations asynchronously with -CPU computations. The "Pair" time reported by LAMMPS will be the +CPU computations. The “Pair” time reported by LAMMPS will be the maximum of the time required to complete the CPU pair style computations and the time required to complete the GPU pair style computations. Any time spent for GPU-enabled pair styles for -computations that run simultaneously with bond, -angle, dihedral, -improper, and long-range -calculations will not be included in the "Pair" time. - -
      • When the mode setting for the package gpu command is force/neigh, +computations that run simultaneously with bond, +angle, dihedral, +improper, and long-range +calculations will not be included in the “Pair” time.
      • +
      • When the mode setting for the package gpu command is force/neigh, the time for neighbor list calculations on the GPU will be added into -the "Pair" time, not the "Neigh" time. An additional breakdown of the +the “Pair” time, not the “Neigh” time. An additional breakdown of the times required for various tasks on the GPU (data copy, neighbor calculations, force computations, etc) are output only with the LAMMPS screen output (not in the log file) at the end of each run. These timings represent total time spent on the GPU for each routine, -regardless of asynchronous CPU calculations. - -
      • The output section "GPU Time Info (average)" reports "Max Mem / Proc". +regardless of asynchronous CPU calculations.
      • +
      • The output section “GPU Time Info (average)” reports “Max Mem / Proc”. This is the maximum memory used at one time on the GPU for data -storage by a single MPI process. -
      -

      Restrictions: -

      -

      None. -

      - +storage by a single MPI process.
    • +
    +
    +

    Restrictions¶

    +

    None.

    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/accelerate_intel.html b/doc/accelerate_intel.html index 2972e989c3..984302118b 100644 --- a/doc/accelerate_intel.html +++ b/doc/accelerate_intel.html @@ -1,20 +1,133 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + 5.USER-INTEL package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.3 USER-INTEL package -

    -

    The USER-INTEL package was developed by Mike Brown at Intel + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.USER-INTEL package¶

    +

    The USER-INTEL package was developed by Mike Brown at Intel Corporation. It provides a capability to accelerate simulations by offloading neighbor list and non-bonded force calculations to Intel(R) Xeon Phi(TM) coprocessors (not native mode like the KOKKOS package). @@ -22,264 +135,225 @@ Additionally, it supports running simulations in single, mixed, or double precision with vectorization, even if a coprocessor is not present, i.e. on an Intel(R) CPU. The same C++ code is used for both cases. When offloading to a coprocessor, the routine is run twice, -once with an offload flag. -

    -

    The USER-INTEL package can be used in tandem with the USER-OMP +once with an offload flag.

    +

    The USER-INTEL package can be used in tandem with the USER-OMP package. This is useful when offloading pair style computations to coprocessors, so that other styles not supported by the USER-INTEL package, e.g. bond, angle, dihedral, improper, and long-range electrostatics, can run simultaneously in threaded mode on the CPU cores. Since less MPI tasks than CPU cores will typically be invoked when running with coprocessors, this enables the extra CPU cores to be -used for useful computation. -

    -

    If LAMMPS is built with both the USER-INTEL and USER-OMP packages +used for useful computation.

    +

    If LAMMPS is built with both the USER-INTEL and USER-OMP packages intsalled, this mode of operation is made easier to use, because the -"-suffix intel" command-line switch or -the suffix intel command will both set a second-choice -suffix to "omp" so that styles from the USER-OMP package will be used +“-suffix intel” command-line switch or +the suffix intel command will both set a second-choice +suffix to “omp” so that styles from the USER-OMP package will be used if available, after first testing if a style from the USER-INTEL -package is available. -

    -

    When using the USER-INTEL package, you must choose at build time +package is available.

    +

    When using the USER-INTEL package, you must choose at build time whether you are building for CPU-only acceleration or for using the -Xeon Phi in offload mode. -

    -

    Here is a quick overview of how to use the USER-INTEL package -for CPU-only acceleration: -

    -
    • specify these CCFLAGS in your src/MAKE/Makefile.machine: -openmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost -
    • specify -openmp with LINKFLAGS in your Makefile.machine -
    • include the USER-INTEL package and (optionally) USER-OMP package and build LAMMPS -
    • specify how many OpenMP threads per MPI task to use -
    • use USER-INTEL and (optionally) USER-OMP styles in your input script -
    -

    Note that many of these settings can only be used with the Intel -compiler, as discussed below. -

    -

    Using the USER-INTEL package to offload work to the Intel(R) +Xeon Phi in offload mode.

    +

    Here is a quick overview of how to use the USER-INTEL package +for CPU-only acceleration:

    +
      +
    • specify these CCFLAGS in your src/MAKE/Makefile.machine: -openmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost
    • +
    • specify -openmp with LINKFLAGS in your Makefile.machine
    • +
    • include the USER-INTEL package and (optionally) USER-OMP package and build LAMMPS
    • +
    • specify how many OpenMP threads per MPI task to use
    • +
    • use USER-INTEL and (optionally) USER-OMP styles in your input script
    • +
    +

    Note that many of these settings can only be used with the Intel +compiler, as discussed below.

    +

    Using the USER-INTEL package to offload work to the Intel(R) Xeon Phi(TM) coprocessor is the same except for these additional -steps: -

    -
    • add the flag -DLMP_INTEL_OFFLOAD to CCFLAGS in your Makefile.machine -
    • add the flag -offload to LINKFLAGS in your Makefile.machine -
    -

    The latter two steps in the first case and the last step in the -coprocessor case can be done using the "-pk intel" and "-sf intel" -command-line switches respectively. Or -the effect of the "-pk" or "-sf" switches can be duplicated by adding -the package intel or suffix intel -commands respectively to your input script. -

    -

    Required hardware/software: -

    -

    To use the offload option, you must have one or more Intel(R) Xeon -Phi(TM) coprocessors and use an Intel(R) C++ compiler. -

    -

    Optimizations for vectorization have only been tested with the +steps:

    +
      +
    • add the flag -DLMP_INTEL_OFFLOAD to CCFLAGS in your Makefile.machine
    • +
    • add the flag -offload to LINKFLAGS in your Makefile.machine
    • +
    +

    The latter two steps in the first case and the last step in the +coprocessor case can be done using the “-pk intel” and “-sf intel” +command-line switches respectively. Or +the effect of the “-pk” or “-sf” switches can be duplicated by adding +the package intel or suffix intel +commands respectively to your input script.

    +

    Required hardware/software:

    +

    To use the offload option, you must have one or more Intel(R) Xeon +Phi(TM) coprocessors and use an Intel(R) C++ compiler.

    +

    Optimizations for vectorization have only been tested with the Intel(R) compiler. Use of other compilers may not result in -vectorization or give poor performance. -

    -

    Use of an Intel C++ compiler is recommended, but not required (though +vectorization or give poor performance.

    +

    Use of an Intel C++ compiler is recommended, but not required (though g++ will not recognize some of the settings, so they cannot be used). -The compiler must support the OpenMP interface. -

    -

    The recommended version of the Intel(R) compiler is 14.0.1.106. -Versions 15.0.1.133 and later are also supported. If using Intel(R) -MPI, versions 15.0.2.044 and later are recommended. -

    -

    Building LAMMPS with the USER-INTEL package: -

    -

    You can choose to build with or without support for offload to a +The compiler must support the OpenMP interface.

    +

    The recommended version of the Intel(R) compiler is 14.0.1.106. +Versions 15.0.1.133 and later are also supported. If using Intel(R) +MPI, versions 15.0.2.044 and later are recommended.

    +

    Building LAMMPS with the USER-INTEL package:

    +

    You can choose to build with or without support for offload to a Intel(R) Xeon Phi(TM) coprocessor. If you build with support for a coprocessor, the same binary can be used on nodes with and without coprocessors installed. However, if you do not have coprocessors on your system, building without offload support will produce a -smaller binary. -

    -

    You can do either in one line, using the src/Make.py script, described -in Section 2.4 of the manual. Type -"Make.py -h" for help. If run from the src directory, these commands +smaller binary.

    +

    You can do either in one line, using the src/Make.py script, described +in Section 2.4 of the manual. Type +“Make.py -h” for help. If run from the src directory, these commands will create src/lmp_intel_cpu and lmp_intel_phi using -src/MAKE/Makefile.mpi as the starting Makefile.machine: -

    -
    Make.py -p intel omp -intel cpu -o intel_cpu -cc icc file mpi 
    -Make.py -p intel omp -intel phi -o intel_phi -cc icc file mpi 
    -
    -

    Note that this assumes that your MPI and its mpicxx wrapper +src/MAKE/Makefile.mpi as the starting Makefile.machine:

    +
    Make.py -p intel omp -intel cpu -o intel_cpu -cc icc file mpi
    +Make.py -p intel omp -intel phi -o intel_phi -cc icc file mpi
    +
    +
    +

    Note that this assumes that your MPI and its mpicxx wrapper is using the Intel compiler. If it is not, you should -leave off the "-cc icc" switch. -

    -

    Or you can follow these steps: -

    -
    cd lammps/src
    +leave off the “-cc icc” switch.

    +

    Or you can follow these steps:

    +
    cd lammps/src
     make yes-user-intel
     make yes-user-omp (if desired)
    -make machine 
    -
    -

    Note that if the USER-OMP package is also installed, you can use -styles from both packages, as described below. -

    -

    The Makefile.machine needs a "-fopenmp" flag for OpenMP support in +make machine +

    +
    +

    Note that if the USER-OMP package is also installed, you can use +styles from both packages, as described below.

    +

    The Makefile.machine needs a “-fopenmp” flag for OpenMP support in both the CCFLAGS and LINKFLAGS variables. You also need to add --DLAMMPS_MEMALIGN=64 and -restrict to CCFLAGS. -

    -

    If you are compiling on the same architecture that will be used for -the runs, adding the flag -xHost to CCFLAGS will enable +-DLAMMPS_MEMALIGN=64 and -restrict to CCFLAGS.

    +

    If you are compiling on the same architecture that will be used for +the runs, adding the flag -xHost to CCFLAGS will enable vectorization with the Intel(R) compiler. Otherwise, you must provide the correct compute node architecture to the -x option -(e.g. -xAVX). -

    -

    In order to build with support for an Intel(R) Xeon Phi(TM) -coprocessor, the flag -offload should be added to the LINKFLAGS line -and the flag -DLMP_INTEL_OFFLOAD should be added to the CCFLAGS line. -

    -

    Example makefiles Makefile.intel_cpu and Makefile.intel_phi are +(e.g. -xAVX).

    +

    In order to build with support for an Intel(R) Xeon Phi(TM) +coprocessor, the flag -offload should be added to the LINKFLAGS line +and the flag -DLMP_INTEL_OFFLOAD should be added to the CCFLAGS line.

    +

    Example makefiles Makefile.intel_cpu and Makefile.intel_phi are included in the src/MAKE/OPTIONS directory with settings that perform well with the Intel(R) compiler. The latter file has support for -offload to coprocessors; the former does not. -

    -

    Notes on CPU and core affinity: -

    -

    Setting core affinity is often used to pin MPI tasks and OpenMP +offload to coprocessors; the former does not.

    +

    Notes on CPU and core affinity:

    +

    Setting core affinity is often used to pin MPI tasks and OpenMP threads to a core or group of cores so that memory access can be -uniform. Unless disabled at build time, affinity for MPI tasks and -OpenMP threads on the host will be set by default on the host -when using offload to a coprocessor. In this case, it is unnecessary +uniform. Unless disabled at build time, affinity for MPI tasks and +OpenMP threads on the host will be set by default on the host +when using offload to a coprocessor. In this case, it is unnecessary to use other methods to control affinity (e.g. taskset, numactl, I_MPI_PIN_DOMAIN, etc.). This can be disabled in an input script -with the no_affinity option to the package intel +with the no_affinity option to the package intel command or by disabling the option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the CCFLAGS line of your Makefile). Disabling this option is not recommended, especially when running -on a machine with hyperthreading disabled. -

    -

    Running with the USER-INTEL package from the command line: -

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +on a machine with hyperthreading disabled.

    +

    Running with the USER-INTEL package from the command line:

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. -

    -

    If you plan to compute (any portion of) pairwise interactions using +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    +

    If you plan to compute (any portion of) pairwise interactions using USER-INTEL pair styles on the CPU, or use USER-OMP styles on the CPU, you need to choose how many OpenMP threads per MPI task to use. Note that the product of MPI tasks * OpenMP threads/task should not exceed the physical number of cores (on a node), otherwise performance will -suffer. -

    -

    If LAMMPS was built with coprocessor support for the USER-INTEL +suffer.

    +

    If LAMMPS was built with coprocessor support for the USER-INTEL package, you also need to specify the number of coprocessor/node and the number of coprocessor threads per MPI task to use. Note that coprocessor threads (which run on the coprocessor) are totally independent from OpenMP threads (which run on the CPU). The default values for the settings that affect coprocessor threads are typically -fine, as discussed below. -

    -

    Use the "-sf intel" command-line switch, -which will automatically append "intel" to styles that support it. If -a style does not support it, an "omp" suffix is tried next. OpenMP -threads per MPI task can be set via the "-pk intel Nphi omp Nt" or -"-pk omp Nt" command-line switches, which -set Nt = # of OpenMP threads per MPI task to use. The "-pk omp" form -is only allowed if LAMMPS was also built with the USER-OMP package. -

    -

    Use the "-pk intel Nphi" command-line -switch to set Nphi = # of Xeon Phi(TM) +fine, as discussed below.

    +

    Use the “-sf intel” command-line switch, +which will automatically append “intel” to styles that support it. If +a style does not support it, an “omp” suffix is tried next. OpenMP +threads per MPI task can be set via the “-pk intel Nphi omp Nt” or +“-pk omp Nt” command-line switches, which +set Nt = # of OpenMP threads per MPI task to use. The “-pk omp” form +is only allowed if LAMMPS was also built with the USER-OMP package.

    +

    Use the “-pk intel Nphi” command-line switch to set Nphi = # of Xeon Phi(TM) coprocessors/node, if LAMMPS was built with coprocessor support. All the available coprocessor threads on each Phi will be divided among -MPI tasks, unless the tptask option of the "-pk intel" command-line -switch is used to limit the coprocessor -threads per MPI task. See the package intel command -for details. -

    -
    CPU-only without USER-OMP (but using Intel vectorization on CPU):
    +MPI tasks, unless the tptask option of the “-pk intel” command-line switch is used to limit the coprocessor
    +threads per MPI task.  See the package intel command
    +for details.

    +
    CPU-only without USER-OMP (but using Intel vectorization on CPU):
     lmp_machine -sf intel -in in.script                 # 1 MPI task
    -mpirun -np 32 lmp_machine -sf intel -in in.script   # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes) 
    -
    -
    CPU-only with USER-OMP (and Intel vectorization on CPU):
    +mpirun -np 32 lmp_machine -sf intel -in in.script   # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes)
    +
    +
    +
    CPU-only with USER-OMP (and Intel vectorization on CPU):
     lmp_machine -sf intel -pk intel 16 0 -in in.script             # 1 MPI task on a 16-core node
     mpirun -np 4 lmp_machine -sf intel -pk omp 4 -in in.script     # 4 MPI tasks each with 4 threads on a single 16-core node
    -mpirun -np 32 lmp_machine -sf intel -pk omp 4 -in in.script    # ditto on 8 16-core nodes 
    -
    -
    CPUs + Xeon Phi(TM) coprocessors with or without USER-OMP:
    +mpirun -np 32 lmp_machine -sf intel -pk omp 4 -in in.script    # ditto on 8 16-core nodes
    +
    +
    +
    CPUs + Xeon Phi(TM) coprocessors with or without USER-OMP:
     lmp_machine -sf intel -pk intel 1 omp 16 -in in.script                       # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, all 240 coprocessor threads
     lmp_machine -sf intel -pk intel 1 omp 16 tptask 32 -in in.script             # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, only 32 coprocessor threads
     mpirun -np 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script           # 4 MPI tasks, 4 OpenMP threads/task, 1 coprocessor, 60 coprocessor threads/task
     mpirun -np 32 -ppn 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script   # ditto on 8 16-core nodes
    -mpirun -np 8 lmp_machine -sf intel -pk intel 4 omp 2 -in in.script           # 8 MPI tasks, 2 OpenMP threads/task, 4 coprocessors, 120 coprocessor threads/task 
    -
    -

    Note that if the "-sf intel" switch is used, it also invokes two -default commands: package intel 1, followed by package -omp 0. These both set the number of OpenMP threads per +mpirun -np 8 lmp_machine -sf intel -pk intel 4 omp 2 -in in.script # 8 MPI tasks, 2 OpenMP threads/task, 4 coprocessors, 120 coprocessor threads/task +

    +
    +

    Note that if the “-sf intel” switch is used, it also invokes two +default commands: package intel 1, followed by package omp 0. These both set the number of OpenMP threads per MPI task via the OMP_NUM_THREADS environment variable. The first command sets the number of Xeon Phi(TM) coprocessors/node to 1 (and -the precision mode to "mixed", as one of its option defaults). The +the precision mode to “mixed”, as one of its option defaults). The latter command is not invoked if LAMMPS was not built with the USER-OMP package. The Nphi = 1 value for the first command is ignored -if LAMMPS was not built with coprocessor support. -

    -

    Using the "-pk intel" or "-pk omp" switches explicitly allows for +if LAMMPS was not built with coprocessor support.

    +

    Using the “-pk intel” or “-pk omp” switches explicitly allows for direct setting of the number of OpenMP threads per MPI task, and additional options for either of the USER-INTEL or USER-OMP packages. -In particular, the "-pk intel" switch sets the number of +In particular, the “-pk intel” switch sets the number of coprocessors/node and can limit the number of coprocessor threads per MPI task. The syntax for these two switches is the same as the -package omp and package intel commands. -See the package command doc page for details, including +package omp and package intel commands. +See the package command doc page for details, including the default values used for all its options if these switches are not specified, and how to set the number of OpenMP threads via the -OMP_NUM_THREADS environment variable if desired. -

    -

    Or run with the USER-INTEL package by editing an input script: -

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +OMP_NUM_THREADS environment variable if desired.

    +

    Or run with the USER-INTEL package by editing an input script:

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, OpenMP threads per MPI task, and coprocessor threads per MPI task is -the same. -

    -

    Use the suffix intel command, or you can explicitly add an -"intel" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/intel 2.5 
    -
    -

    You must also use the package intel command, unless the -"-sf intel" or "-pk intel" command-line -switches were used. It specifies how many +the same.

    +

    Use the suffix intel command, or you can explicitly add an +“intel” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/intel 2.5
    +
    +
    +

    You must also use the package intel command, unless the +“-sf intel” or “-pk intel” command-line switches were used. It specifies how many coprocessors/node to use, as well as other OpenMP threading and coprocessor options. Its doc page explains how to set the number of -OpenMP threads via an environment variable if desired. -

    -

    If LAMMPS was also built with the USER-OMP package, you must also use -the package omp command to enable that package, unless -the "-sf intel" or "-pk omp" command-line -switches were used. It specifies how many +OpenMP threads via an environment variable if desired.

    +

    If LAMMPS was also built with the USER-OMP package, you must also use +the package omp command to enable that package, unless +the “-sf intel” or “-pk omp” command-line switches were used. It specifies how many OpenMP threads per MPI task to use, as well as other options. Its doc page explains how to set the number of OpenMP threads via an -environment variable if desired. -

    -

    Speed-ups to expect: -

    -

    If LAMMPS was not built with coprocessor support when including the +environment variable if desired.

    +

    Speed-ups to expect:

    +

    If LAMMPS was not built with coprocessor support when including the USER-INTEL package, then acclerated styles will run on the CPU using vectorization optimizations and the specified precision. This may give a substantial speed-up for a pair style, particularly if mixed or -single precision is used. -

    -

    If LAMMPS was built with coproccesor support, the pair styles will run +single precision is used.

    +

    If LAMMPS was built with coproccesor support, the pair styles will run on one or more Intel(R) Xeon Phi(TM) coprocessors (per node). The performance of a Xeon Phi versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/coprocessor, and the precision used on the coprocessor (double, -single, mixed). -

    -

    See the Benchmark page of the +single, mixed).

    +

    See the Benchmark page of the LAMMPS web site for performance of the USER-INTEL package on different -hardware. -

    -

    Guidelines for best performance on an Intel(R) Xeon Phi(TM) -coprocessor: -

    -
    • The default for the package intel command is to have +hardware.

      +

      Guidelines for best performance on an Intel(R) Xeon Phi(TM) +coprocessor:

      +
        +
      • The default for the package intel command is to have all the MPI tasks on a given compute node use a single Xeon Phi(TM) coprocessor. In general, running with a large number of MPI tasks on each node will perform best with offload. Each MPI task will @@ -290,63 +364,121 @@ with 60 cores available for offload and 4 hardware threads per core each MPI task to use a subset of 10 threads on the coprocessor. Fine tuning of the number of threads to use per MPI task or the number of threads to use per core can be accomplished with keyword settings of -the package intel command. - -
      • If desired, only a fraction of the pair style computation can be +the package intel command.
      • +
      • If desired, only a fraction of the pair style computation can be offloaded to the coprocessors. This is accomplished by using the -balance keyword in the package intel command. A +balance keyword in the package intel command. A balance of 0 runs all calculations on the CPU. A balance of 1 runs all calculations on the coprocessor. A balance of 0.5 runs half of the calculations on the coprocessor. Setting the balance to -1 (the default) will enable dynamic load balancing that continously adjusts the fraction of offloaded work throughout the simulation. This option typically produces results within 5 to 10 percent of the optimal fixed -balance. - -
      • When using offload with CPU hyperthreading disabled, it may help +balance.
      • +
      • When using offload with CPU hyperthreading disabled, it may help performance to use fewer MPI tasks and OpenMP threads than available cores. This is due to the fact that additional threads are generated -internally to handle the asynchronous offload tasks. - -
      • If running short benchmark runs with dynamic load balancing, adding a +internally to handle the asynchronous offload tasks.
      • +
      • If running short benchmark runs with dynamic load balancing, adding a short warm-up run (10-20 steps) will allow the load-balancer to find a -near-optimal setting that will carry over to additional runs. - -
      • If pair computations are being offloaded to an Intel(R) Xeon Phi(TM) +near-optimal setting that will carry over to additional runs.
      • +
      • If pair computations are being offloaded to an Intel(R) Xeon Phi(TM) coprocessor, a diagnostic line is printed to the screen (not to the log file), during the setup phase of a run, indicating that offload mode is being used and indicating the number of coprocessor threads per MPI task. Additionally, an offload timing summary is printed at -the end of each run. When offloading, the frequency for atom -sorting is changed to 1 so that the per-atom data is -effectively sorted at every rebuild of the neighbor lists. - -
      • For simulations with long-range electrostatics or bond, angle, +the end of each run. When offloading, the frequency for atom sorting is changed to 1 so that the per-atom data is +effectively sorted at every rebuild of the neighbor lists.
      • +
      • For simulations with long-range electrostatics or bond, angle, dihedral, improper calculations, computation and data transfer to the coprocessor will run concurrently with computations and MPI communications for these calculations on the host CPU. The USER-INTEL package has two modes for deciding which atoms will be handled by the -coprocessor. This choice is controlled with the ghost keyword of -the package intel command. When set to 0, ghost atoms +coprocessor. This choice is controlled with the ghost keyword of +the package intel command. When set to 0, ghost atoms (atoms at the borders between MPI tasks) are not offloaded to the card. This allows for overlap of MPI communication of forces with -computation on the coprocessor when the newton setting -is "on". The default is dependent on the style being used, however, +computation on the coprocessor when the newton setting +is “on”. The default is dependent on the style being used, however, better performance may be achieved by setting this option -explictly. -
      -

      Restrictions: -

      -

      When offloading to a coprocessor, hybrid styles +explictly.

    • +
    +
    +

    Restrictions¶

    +

    When offloading to a coprocessor, hybrid styles that require skip lists for neighbor builds cannot be offloaded. -Using hybrid/overlay is allowed. Only one intel +Using hybrid/overlay is allowed. Only one intel accelerated style may be used with hybrid styles. -Special_bonds exclusion lists are not currently +Special_bonds exclusion lists are not currently supported with offload, however, the same effect can often be accomplished by setting cutoffs for excluded atom types to 0. None of the pair styles in the USER-INTEL package currently support the -"inner", "middle", "outer" options for rRESPA integration via the -run_style respa command; only the "pair" option is -supported. -

    - +“inner”, “middle”, “outer” options for rRESPA integration via the +run_style respa command; only the “pair” option is +supported.

    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/accelerate_kokkos.html b/doc/accelerate_kokkos.html index 885a84b27b..274fa79d74 100644 --- a/doc/accelerate_kokkos.html +++ b/doc/accelerate_kokkos.html @@ -1,446 +1,502 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + 5.KOKKOS package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.4 KOKKOS package -

    -

    The KOKKOS package was developed primaritly by Christian Trott + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.KOKKOS package¶

    +

    The KOKKOS package was developed primaritly by Christian Trott (Sandia) with contributions of various styles by others, including Sikandar Mashayak (UIUC), Stan Moore (Sandia), and Ray Shan (Sandia). The underlying Kokkos library was written primarily by Carter Edwards, Christian Trott, and Dan Sunderland (all -Sandia). -

    -

    The KOKKOS package contains versions of pair, fix, and atom styles +Sandia).

    +

    The KOKKOS package contains versions of pair, fix, and atom styles that use data structures and macros provided by the Kokkos library, -which is included with LAMMPS in lib/kokkos. -

    -

    The Kokkos library is part of -Trilinos and can also -be downloaded from Github. Kokkos is a +which is included with LAMMPS in lib/kokkos.

    +

    The Kokkos library is part of +Trilinos and can also +be downloaded from Github. Kokkos is a templated C++ library that provides two key abstractions for an application like LAMMPS. First, it allows a single implementation of an application kernel (e.g. a pair style) to run efficiently on different kinds of hardware, such as a GPU, Intel Phi, or many-core -chip. -

    -

    The Kokkos library also provides data abstractions to adjust (at +chip.

    +

    The Kokkos library also provides data abstractions to adjust (at compile time) the memory layout of basic data structures like 2d and 3d arrays and allow the transparent utilization of special hardware load and store operations. Such data structures are used in LAMMPS to store atom coordinates or forces or neighbor lists. The layout is chosen to optimize performance on different platforms. Again this functionality is hidden from the developer, and does not affect how -the kernel is coded. -

    -

    These abstractions are set at build time, when LAMMPS is compiled with -the KOKKOS package installed. This is done by selecting a "host" and -"device" to build for, compatible with the compute nodes in your -machine (one on a desktop machine or 1000s on a supercomputer). -

    -

    All Kokkos operations occur within the context of an individual MPI +the kernel is coded.

    +

    These abstractions are set at build time, when LAMMPS is compiled with +the KOKKOS package installed. This is done by selecting a “host” and +“device” to build for, compatible with the compute nodes in your +machine (one on a desktop machine or 1000s on a supercomputer).

    +

    All Kokkos operations occur within the context of an individual MPI task running on a single node of the machine. The total number of MPI tasks used by LAMMPS (one or multiple per compute node) is set in the usual manner via the mpirun or mpiexec commands, and is independent of -Kokkos. -

    -

    Kokkos provides support for two different modes of execution per MPI +Kokkos.

    +

    Kokkos provides support for two different modes of execution per MPI task. This means that computational tasks (pairwise interactions, neighbor list builds, time integration, etc) can be parallelized for one or the other of the two modes. The first mode is called the -"host" and is one or more threads running on one or more physical CPUs +“host” and is one or more threads running on one or more physical CPUs (within the node). Currently, both multi-core CPUs and an Intel Phi processor (running in native mode, not offload mode like the USER-INTEL package) are supported. The second mode is called the -"device" and is an accelerator chip of some kind. Currently only an +“device” and is an accelerator chip of some kind. Currently only an NVIDIA GPU is supported via Cuda. If your compute node does not have a GPU, then there is only one mode of execution, i.e. the host and -device are the same. -

    -

    When using the KOKKOS package, you must choose at build time whether +device are the same.

    +

    When using the KOKKOS package, you must choose at build time whether you are building for OpenMP, GPU, or for using the Xeon Phi in native -mode. -

    -

    Here is a quick overview of how to use the KOKKOS package: -

    -
    • specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support -
    • include the KOKKOS package and build LAMMPS -
    • enable the KOKKOS package and its hardware options via the "-k on" command-line switch use KOKKOS styles in your input script -
    -

    The latter two steps can be done using the "-k on", "-pk kokkos" and -"-sf kk" command-line switches -respectively. Or the effect of the "-pk" or "-sf" switches can be -duplicated by adding the package kokkos or suffix -kk commands respectively to your input script. -

    -

    Required hardware/software: -

    -

    The KOKKOS package can be used to build and run LAMMPS on the -following kinds of hardware: -

    -
    • CPU-only: one MPI task per CPU core (MPI-only, but using KOKKOS styles) -
    • CPU-only: one or a few MPI tasks per node with additional threading via OpenMP -
    • Phi: on one or more Intel Phi coprocessors (per node) -
    • GPU: on the GPUs of a node with additional OpenMP threading on the CPUs -
    -

    Kokkos support within LAMMPS must be built with a C++11 compatible -compiler. For example, gcc 4.7.2 or later. -

    -

    Note that Intel Xeon Phi coprocessors are supported in "native" mode, -not "offload" mode like the USER-INTEL package supports. -

    -

    Only NVIDIA GPUs are currently supported. -

    -

    IMPORTANT NOTE: For good performance of the KOKKOS package on GPUs, +mode.

    +

    Here is a quick overview of how to use the KOKKOS package:

    +
      +
    • specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
    • +
    • include the KOKKOS package and build LAMMPS
    • +
    • enable the KOKKOS package and its hardware options via the “-k on” command-line switch use KOKKOS styles in your input script
    • +
    +

    The latter two steps can be done using the “-k on”, “-pk kokkos” and +“-sf kk” command-line switches +respectively. Or the effect of the “-pk” or “-sf” switches can be +duplicated by adding the package kokkos or suffix kk commands respectively to your input script.

    +

    Required hardware/software:

    +

    The KOKKOS package can be used to build and run LAMMPS on the +following kinds of hardware:

    +
      +
    • CPU-only: one MPI task per CPU core (MPI-only, but using KOKKOS styles)
    • +
    • CPU-only: one or a few MPI tasks per node with additional threading via OpenMP
    • +
    • Phi: on one or more Intel Phi coprocessors (per node)
    • +
    • GPU: on the GPUs of a node with additional OpenMP threading on the CPUs
    • +
    +

    Kokkos support within LAMMPS must be built with a C++11 compatible +compiler. For example, gcc 4.7.2 or later.

    +

    Note that Intel Xeon Phi coprocessors are supported in “native” mode, +not “offload” mode like the USER-INTEL package supports.

    +

    Only NVIDIA GPUs are currently supported.

    +
    +

    Warning

    +

    For good performance of the KOKKOS package on GPUs, you must have Kepler generation GPUs (or later). The Kokkos library exploits texture cache options not supported by Telsa generation GPUs -(or older). -

    -

    To build the KOKKOS package for GPUs, NVIDIA Cuda software must be +(or older).

    +
    +

    To build the KOKKOS package for GPUs, NVIDIA Cuda software must be installed on your system. See the discussion above for the USER-CUDA -and GPU packages for details of how to check and do this. -

    -

    Building LAMMPS with the KOKKOS package: -

    -

    You must choose at build time whether to build for OpenMP, Cuda, or -Phi. -

    -

    You can do any of these in one line, using the src/Make.py script, -described in Section 2.4 of the manual. -Type "Make.py -h" for help. If run from the src directory, these +and GPU packages for details of how to check and do this.

    +

    Building LAMMPS with the KOKKOS package:

    +

    You must choose at build time whether to build for OpenMP, Cuda, or +Phi.

    +

    You can do any of these in one line, using the src/Make.py script, +described in Section 2.4 of the manual. +Type “Make.py -h” for help. If run from the src directory, these commands will create src/lmp_kokkos_omp, lmp_kokkos_cuda, and lmp_kokkos_phi. Note that the OMP and PHI options use src/MAKE/Makefile.mpi as the starting Makefile.machine. The CUDA -option uses src/MAKE/OPTIONS/Makefile.kokkos_cuda. -

    -
    Make.py -p kokkos -kokkos omp -o kokkos_omp -a file mpi 
    +option uses src/MAKE/OPTIONS/Makefile.kokkos_cuda.

    +
    Make.py -p kokkos -kokkos omp -o kokkos_omp -a file mpi
     Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda
    -Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi 
    -
    -

    Or you can follow these steps: -

    -

    CPU-only (run all-MPI or with OpenMP threading): -

    -
    cd lammps/src
    +Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi
    +
    +
    +

    Or you can follow these steps:

    +

    CPU-only (run all-MPI or with OpenMP threading):

    +
    cd lammps/src
     make yes-kokkos
    -make g++ KOKKOS_DEVICES=OpenMP 
    -
    -

    Intel Xeon Phi: -

    -
    cd lammps/src
    +make g++ KOKKOS_DEVICES=OpenMP
    +
    +
    +

    Intel Xeon Phi:

    +
    cd lammps/src
     make yes-kokkos
    -make g++ KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=KNC 
    -
    -

    CPUs and GPUs: -

    -
    cd lammps/src
    +make g++ KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=KNC
    +
    +
    +

    CPUs and GPUs:

    +
    cd lammps/src
     make yes-kokkos
    -make cuda KOKKOS_DEVICES=Cuda 
    -
    -

    These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the +make cuda KOKKOS_DEVICES=Cuda +

    +
    +

    These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the make command line which requires a GNU-compatible make command. Try -"gmake" if your system's standard make complains. -

    -

    IMPORTANT NOTE: If you build using make line variables and re-build -LAMMPS twice with different KOKKOS options and the *same* target, -e.g. g++ in the first two examples above, then you *must* perform a -"make clean-all" or "make clean-machine" before each build. This is +“gmake” if your system’s standard make complains.

    +
    +

    Warning

    +

    If you build using make line variables and re-build +LAMMPS twice with different KOKKOS options and the same target, +e.g. g++ in the first two examples above, then you must perform a +“make clean-all” or “make clean-machine” before each build. This is to force all the KOKKOS-dependent files to be re-compiled with the new -options. -

    -

    You can also hardwire these make variables in the specified machine +options.

    +
    +

    You can also hardwire these make variables in the specified machine makefile, e.g. src/MAKE/Makefile.g++ in the first two examples above, -with a line like: -

    -
    KOKKOS_ARCH = KNC 
    -
    -

    Note that if you build LAMMPS multiple times in this manner, using +with a line like:

    +
    KOKKOS_ARCH = KNC
    +
    +
    +

    Note that if you build LAMMPS multiple times in this manner, using different KOKKOS options (defined in different machine makefiles), you -do not have to worry about doing a "clean" in between. This is -because the targets will be different. -

    -

    IMPORTANT NOTE: The 3rd example above for a GPU, uses a different +do not have to worry about doing a “clean” in between. This is +because the targets will be different.

    +
    +

    Warning

    +

    The 3rd example above for a GPU, uses a different machine makefile, in this case src/MAKE/Makefile.cuda, which is included in the LAMMPS distribution. To build the KOKKOS package for -a GPU, this makefile must use the NVIDA "nvcc" compiler. And it must +a GPU, this makefile must use the NVIDA “nvcc” compiler. And it must have a KOKKOS_ARCH setting that is appropriate for your NVIDIA hardware and installed software. Typical values for KOKKOS_ARCH are given below, as well as other settings that must be included in the machine makefile, if -you create your own. -

    -

    IMPORTANT NOTE: Currently, there are no precision options with the +you create your own.

    +
    +
    +

    Warning

    +

    Currently, there are no precision options with the KOKKOS package. All compilation and computation is performed in -double precision. -

    -

    There are other allowed options when building with the KOKKOS package. +double precision.

    +
    +

    There are other allowed options when building with the KOKKOS package. As above, they can be set either as variables on the make command line or in Makefile.machine. This is the full list of options, including those discussed above, Each takes a value shown below. The default value is listed, which is set in the -lib/kokkos/Makefile.kokkos file. -

    -

    #Default settings specific options -#Options: force_uvm,use_ldg,rdc -

    -
    • KOKKOS_DEVICES, values = OpenMP, Serial, Pthreads, Cuda, default = OpenMP -
    • KOKKOS_ARCH, values = KNC, SNB, HSW, Kepler, Kepler30, Kepler32, Kepler35, Kepler37, Maxwell, Maxwell50, Maxwell52, Maxwell53, ARMv8, BGQ, Power7, Power8, default = none -
    • KOKKOS_DEBUG, values = yes, no, default = no -
    • KOKKOS_USE_TPLS, values = hwloc, librt, default = none -
    • KOKKOS_CUDA_OPTIONS, values = force_uvm, use_ldg, rdc -
    -

    KOKKOS_DEVICE sets the parallelization method used for Kokkos code +lib/kokkos/Makefile.kokkos file.

    +

    #Default settings specific options +#Options: force_uvm,use_ldg,rdc

    +
      +
    • KOKKOS_DEVICES, values = OpenMP, Serial, Pthreads, Cuda, default = OpenMP
    • +
    • KOKKOS_ARCH, values = KNC, SNB, HSW, Kepler, Kepler30, Kepler32, Kepler35, Kepler37, Maxwell, Maxwell50, Maxwell52, Maxwell53, ARMv8, BGQ, Power7, Power8, default = none
    • +
    • KOKKOS_DEBUG, values = yes, no, default = no
    • +
    • KOKKOS_USE_TPLS, values = hwloc, librt, default = none
    • +
    • KOKKOS_CUDA_OPTIONS, values = force_uvm, use_ldg, rdc
    • +
    +

    KOKKOS_DEVICE sets the parallelization method used for Kokkos code (within LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be used. KOKKOS_DEVICES=Pthreads means that pthreads will be used. -KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used. -

    -

    If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE -directory must use "nvcc" as its compiler, via its CC setting. For +KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.

    +

    If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE +directory must use “nvcc” as its compiler, via its CC setting. For best performance its CCFLAGS setting should use -O3 and have a KOKKOS_ARCH setting that matches the compute capability of your NVIDIA hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note the minimal required compute capability is 2.0, but this will give signicantly reduced performance compared to Kepler generation GPUs -with compute capability 3.x. For the LINK setting, "nvcc" should not +with compute capability 3.x. For the LINK setting, “nvcc” should not be used; instead use g++ or another compiler suitable for linking C++ applications. Often you will want to use your MPI compiler wrapper for this setting (i.e. mpicxx). Finally, the lo-level Makefile must -also have a "Compilation rule" for creating *.o files from *.cu files. +also have a “Compilation rule” for creating *.o files from *.cu files. See src/Makefile.cuda for an example of a lo-level Makefile with all -of these settings. -

    -

    KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not +of these settings.

    +

    KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP provides alternative methods via environment variables for binding threads to hardware cores. More info on binding threads to cores is -given in this section. -

    -

    KOKKOS_ARCH=KNC enables compiler switches needed when compling for an -Intel Phi processor. -

    -

    KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism +given in this section.

    +

    KOKKOS_ARCH=KNC enables compiler switches needed when compling for an +Intel Phi processor.

    +

    KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism on most Unix platforms. This library is not available on all -platforms. -

    -

    KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style +platforms.

    +

    KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time debugging information that can be useful. It also enables runtime -bounds checking on Kokkos data structures. -

    -

    KOKKOS_CUDA_OPTIONS are additional options for CUDA. -

    -

    For more information on Kokkos see the Kokkos programmers' guide here: -/lib/kokkos/doc/Kokkos_PG.pdf. -

    -

    Run with the KOKKOS package from the command line: -

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +bounds checking on Kokkos data structures.

    +

    KOKKOS_CUDA_OPTIONS are additional options for CUDA.

    +

    For more information on Kokkos see the Kokkos programmers’ guide here: +/lib/kokkos/doc/Kokkos_PG.pdf.

    +

    Run with the KOKKOS package from the command line:

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. -

    -

    When using KOKKOS built with host=OMP, you need to choose how many -OpenMP threads per MPI task will be used (via the "-k" command-line +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    +

    When using KOKKOS built with host=OMP, you need to choose how many +OpenMP threads per MPI task will be used (via the “-k” command-line switch discussed below). Note that the product of MPI tasks * OpenMP threads/task should not exceed the physical number of cores (on a -node), otherwise performance will suffer. -

    -

    When using the KOKKOS package built with device=CUDA, you must use -exactly one MPI task per physical GPU. -

    -

    When using the KOKKOS package built with host=MIC for Intel Xeon Phi +node), otherwise performance will suffer.

    +

    When using the KOKKOS package built with device=CUDA, you must use +exactly one MPI task per physical GPU.

    +

    When using the KOKKOS package built with host=MIC for Intel Xeon Phi coprocessor support you need to insure there are one or more MPI tasks per coprocessor, and choose the number of coprocessor threads to use -per MPI task (via the "-k" command-line switch discussed below). The +per MPI task (via the “-k” command-line switch discussed below). The product of MPI tasks * coprocessor threads/task should not exceed the maximum number of threads the coproprocessor is designed to run, otherwise performance will suffer. This value is 240 for current generation Xeon Phi(TM) chips, which is 60 physical cores * 4 threads/core. Note that with the KOKKOS package you do not need to specify how many Phi coprocessors there are per node; each -coprocessors is simply treated as running some number of MPI tasks. -

    -

    You must use the "-k on" command-line -switch to enable the KOKKOS package. It +coprocessors is simply treated as running some number of MPI tasks.

    +

    You must use the “-k on” command-line switch to enable the KOKKOS package. It takes additional arguments for hardware settings appropriate to your -system. Those arguments are documented -here. The two most commonly used -options are: -

    -
    -k on t Nt g Ng 
    -
    -

    The "t Nt" option applies to host=OMP (even if device=CUDA) and +system. Those arguments are documented here. The two most commonly used +options are:

    +
    -k on t Nt g Ng
    +
    +
    +

    The “t Nt” option applies to host=OMP (even if device=CUDA) and host=MIC. For host=OMP, it specifies how many OpenMP threads per MPI task to use with a node. For host=MIC, it specifies how many Xeon Phi threads per MPI task to use within a node. The default is Nt = 1. Note that for host=OMP this is effectively MPI-only mode which may be fine. But for host=MIC you will typically end up using far less than -all the 240 available threads, which could give very poor performance. -

    -

    The "g Ng" option applies to device=CUDA. It specifies how many GPUs +all the 240 available threads, which could give very poor performance.

    +

    The “g Ng” option applies to device=CUDA. It specifies how many GPUs per compute node to use. The default is 1, so this only needs to be -specified is you have 2 or more GPUs per compute node. -

    -

    The "-k on" switch also issues a "package kokkos" command (with no +specified is you have 2 or more GPUs per compute node.

    +

    The “-k on” switch also issues a “package kokkos” command (with no additional arguments) which sets various KOKKOS options to default -values, as discussed on the package command doc page. -

    -

    Use the "-sf kk" command-line switch, -which will automatically append "kk" to styles that support it. Use -the "-pk kokkos" command-line switch if -you wish to change any of the default package kokkos -optionns set by the "-k on" command-line -switch. -

    -
    host=OMP, dual hex-core nodes (12 threads/node):
    +values, as discussed on the package command doc page.

    +

    Use the “-sf kk” command-line switch, +which will automatically append “kk” to styles that support it. Use +the “-pk kokkos” command-line switch if +you wish to change any of the default package kokkos +optionns set by the “-k on” command-line switch.

    +
    host=OMP, dual hex-core nodes (12 threads/node):
     mpirun -np 12 lmp_g++ -in in.lj                           # MPI-only mode with no Kokkos
     mpirun -np 12 lmp_g++ -k on -sf kk -in in.lj              # MPI-only mode with Kokkos
     mpirun -np 1 lmp_g++ -k on t 12 -sf kk -in in.lj          # one MPI task, 12 threads
    -mpirun -np 2 lmp_g++ -k on t 6 -sf kk -in in.lj           # two MPI tasks, 6 threads/task 
    -mpirun -np 32 -ppn 2 lmp_g++ -k on t 6 -sf kk -in in.lj   # ditto on 16 nodes 
    -
    -

    host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): +mpirun -np 2 lmp_g++ -k on t 6 -sf kk -in in.lj # two MPI tasks, 6 threads/task +mpirun -np 32 -ppn 2 lmp_g++ -k on t 6 -sf kk -in in.lj # ditto on 16 nodes +

    +
    +

    host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240 mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240 mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240 -mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis -

    -
    host=OMP, device=CUDA, node = dual hex-core CPUs and a single GPU:
    +mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj   # ditto on 8 Phis

    +
    host=OMP, device=CUDA, node = dual hex-core CPUs and a single GPU:
     mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj          # one MPI task, 6 threads on CPU
    -mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj   # ditto on 4 nodes 
    -
    -
    host=OMP, device=CUDA, node = dual 8-core CPUs and 2 GPUs:
    +mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj   # ditto on 4 nodes
    +
    +
    +
    host=OMP, device=CUDA, node = dual 8-core CPUs and 2 GPUs:
     mpirun -np 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj           # two MPI tasks, 8 threads per CPU
    -mpirun -np 32 -ppn 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj   # ditto on 16 nodes 
    -
    -

    Note that the default for the package kokkos command is -to use "full" neighbor lists and set the Newton flag to "off" for both +mpirun -np 32 -ppn 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj # ditto on 16 nodes +

    +
    +

    Note that the default for the package kokkos command is +to use “full” neighbor lists and set the Newton flag to “off” for both pairwise and bonded interactions. This typically gives fastest -performance. If the newton command is used in the input -script, it can override the Newton flag defaults. -

    -

    However, when running in MPI-only mode with 1 thread per MPI task, it -will typically be faster to use "half" neighbor lists and set the -Newton flag to "on", just as is the case for non-accelerated pair -styles. You can do this with the "-pk" command-line -switch. -

    -

    Or run with the KOKKOS package by editing an input script: -

    -

    The discussion above for the mpirun/mpiexec command and setting +performance. If the newton command is used in the input +script, it can override the Newton flag defaults.

    +

    However, when running in MPI-only mode with 1 thread per MPI task, it +will typically be faster to use “half” neighbor lists and set the +Newton flag to “on”, just as is the case for non-accelerated pair +styles. You can do this with the “-pk” command-line switch.

    +

    Or run with the KOKKOS package by editing an input script:

    +

    The discussion above for the mpirun/mpiexec command and setting appropriate thread and GPU values for host=OMP or host=MIC or -device=CUDA are the same. -

    -

    You must still use the "-k on" command-line -switch to enable the KOKKOS package, and +device=CUDA are the same.

    +

    You must still use the “-k on” command-line switch to enable the KOKKOS package, and specify its additional arguments for hardware options appopriate to -your system, as documented above. -

    -

    Use the suffix kk command, or you can explicitly add a -"kk" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/kk 2.5 
    -
    -

    You only need to use the package kokkos command if you -wish to change any of its option defaults, as set by the "-k on" -command-line switch. -

    -

    Speed-ups to expect: -

    -

    The performance of KOKKOS running in different modes is a function of +your system, as documented above.

    +

    Use the suffix kk command, or you can explicitly add a +“kk” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/kk 2.5
    +
    +
    +

    You only need to use the package kokkos command if you +wish to change any of its option defaults, as set by the “-k on” +command-line switch.

    +

    Speed-ups to expect:

    +

    The performance of KOKKOS running in different modes is a function of your hardware, which KOKKOS-enable styles are used, and the problem -size. -

    -

    Generally speaking, the following rules of thumb apply: -

    -
    • When running on CPUs only, with a single thread per MPI task, +size.

      +

      Generally speaking, the following rules of thumb apply:

      +
        +
      • When running on CPUs only, with a single thread per MPI task, performance of a KOKKOS style is somewhere between the standard (un-accelerated) styles (MPI-only mode), and those provided by the USER-OMP package. However the difference between all 3 is small (less -than 20%). - -
      • When running on CPUs only, with multiple threads per MPI task, +than 20%).
      • +
      • When running on CPUs only, with multiple threads per MPI task, performance of a KOKKOS style is a bit slower than the USER-OMP -package. - -
      • When running on GPUs, KOKKOS is typically faster than the USER-CUDA -and GPU packages. - -
      • When running on Intel Xeon Phi, KOKKOS is not as fast as -the USER-INTEL package, which is optimized for that hardware. -
      -

      See the Benchmark page of the +package.

    • +
    • When running on GPUs, KOKKOS is typically faster than the USER-CUDA +and GPU packages.
    • +
    • When running on Intel Xeon Phi, KOKKOS is not as fast as +the USER-INTEL package, which is optimized for that hardware.
    • +
    +

    See the Benchmark page of the LAMMPS web site for performance of the KOKKOS package on different -hardware. -

    -

    Guidelines for best performance: -

    -

    Here are guidline for using the KOKKOS package on the different -hardware configurations listed above. -

    -

    Many of the guidelines use the package kokkos command +hardware.

    +

    Guidelines for best performance:

    +

    Here are guidline for using the KOKKOS package on the different +hardware configurations listed above.

    +

    Many of the guidelines use the package kokkos command See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. -

    -

    Running on a multi-core CPU: -

    -

    If N is the number of physical cores/node, then the number of MPI +its options can provide a speed-up for specific calculations.

    +

    Running on a multi-core CPU:

    +

    If N is the number of physical cores/node, then the number of MPI tasks/node * number of threads/task should not exceed N, and should typically equal N. Note that the default threads/task is 1, as set by -the "t" keyword of the "-k" command-line -switch. If you do not change this, no +the “t” keyword of the “-k” command-line switch. If you do not change this, no additional parallelism (beyond MPI) will be invoked on the host -CPU(s). -

    -

    You can compare the performance running in different modes: -

    -
    • run with 1 MPI task/node and N threads/task -
    • run with N MPI tasks/node and 1 thread/task -
    • run with settings in between these extremes -
    -

    Examples of mpirun commands in these modes are shown above. -

    -

    When using KOKKOS to perform multi-threading, it is important for +CPU(s).

    +

    You can compare the performance running in different modes:

    +
      +
    • run with 1 MPI task/node and N threads/task
    • +
    • run with N MPI tasks/node and 1 thread/task
    • +
    • run with settings in between these extremes
    • +
    +

    Examples of mpirun commands in these modes are shown above.

    +

    When using KOKKOS to perform multi-threading, it is important for performance to bind both MPI tasks to physical cores, and threads to -physical cores, so they do not migrate during a simulation. -

    -

    If you are not certain MPI tasks are being bound (check the defaults -for your MPI installation), binding can be forced with these flags: -

    -
    OpenMPI 1.8: mpirun -np 2 -bind-to socket -map-by socket ./lmp_openmpi ...
    -Mvapich2 2.0: mpiexec -np 2 -bind-to socket -map-by socket ./lmp_mvapich ... 
    -
    -

    For binding threads with the KOKKOS OMP option, use thread affinity +physical cores, so they do not migrate during a simulation.

    +

    If you are not certain MPI tasks are being bound (check the defaults +for your MPI installation), binding can be forced with these flags:

    +
    OpenMPI 1.8: mpirun -np 2 -bind-to socket -map-by socket ./lmp_openmpi ...
    +Mvapich2 2.0: mpiexec -np 2 -bind-to socket -map-by socket ./lmp_mvapich ...
    +
    +
    +

    For binding threads with the KOKKOS OMP option, use thread affinity environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or later, intel 12 or later) setting the environment variable OMP_PROC_BIND=true should be sufficient. For binding threads with the KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option, as -discussed in Section 2.3.4 of the -manual. -

    -

    Running on GPUs: -

    -

    Insure the -arch setting in the machine makefile you are using, +discussed in Section 2.3.4 of the +manual.

    +

    Running on GPUs:

    +

    Insure the -arch setting in the machine makefile you are using, e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software -(see this section of the manual for -details). -

    -

    The -np setting of the mpirun command should set the number of MPI -tasks/node to be equal to the # of physical GPUs on the node. -

    -

    Use the "-k" command-line switch to +(see this section of the manual for +details).

    +

    The -np setting of the mpirun command should set the number of MPI +tasks/node to be equal to the # of physical GPUs on the node.

    +

    Use the “-k” command-line switch to specify the number of GPUs per node, and the number of threads per MPI task. 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 * number of @@ -448,62 +504,117 @@ threads/task should not exceed N. With one GPU (and one MPI task) it may be faster to use less than all the available cores, by setting threads/task to a smaller value. This is because using all the cores on a dual-socket node will incur extra cost to copy memory from the -2nd socket to the GPU. -

    -

    Examples of mpirun commands that follow these rules are shown above. -

    -

    IMPORTANT NOTE: When using a GPU, you will achieve the best +2nd socket to the GPU.

    +

    Examples of mpirun commands that follow these rules are shown above.

    +
    +

    Warning

    +

    When using a GPU, you will achieve the best performance if your input script does not use any fix or compute styles which are not yet Kokkos-enabled. This allows data to stay on the GPU for multiple timesteps, without being copied back to the host CPU. Invoking a non-Kokkos fix or compute, or performing I/O for -thermo or dump output will cause data -to be copied back to the CPU. -

    -

    You cannot yet assign multiple MPI tasks to the same GPU with the +thermo or dump output will cause data +to be copied back to the CPU.

    +
    +

    You cannot yet assign multiple MPI tasks to the same GPU with the KOKKOS package. We plan to support this in the future, similar to the -GPU package in LAMMPS. -

    -

    You cannot yet use both the host (multi-threaded) and device (GPU) +GPU package in LAMMPS.

    +

    You cannot yet use both the host (multi-threaded) and device (GPU) together to compute pairwise interactions with the KOKKOS package. We hope to support this in the future, similar to the GPU package in -LAMMPS. -

    -

    Running on an Intel Phi: -

    -

    Kokkos only uses Intel Phi processors in their "native" mode, i.e. -not hosted by a CPU. -

    -

    As illustrated above, build LAMMPS with OMP=yes (the default) and +LAMMPS.

    +

    Running on an Intel Phi:

    +

    Kokkos only uses Intel Phi processors in their “native” mode, i.e. +not hosted by a CPU.

    +

    As illustrated above, build LAMMPS with OMP=yes (the default) and MIC=yes. The latter insures code is correctly compiled for the Intel Phi. The OMP setting means OpenMP will be used for parallelization on the Phi, which is currently the best option within Kokkos. In the -future, other options may be added. -

    -

    Current-generation Intel Phi chips have either 61 or 57 cores. One +future, other options may be added.

    +

    Current-generation Intel Phi chips have either 61 or 57 cores. One core should be excluded for running the OS, leaving 60 or 56 cores. Each core is hyperthreaded, so there are effectively N = 240 (4*60) or -N = 224 (4*56) cores to run on. -

    -

    The -np setting of the mpirun command sets the number of MPI -tasks/node. The "-k on t Nt" command-line switch sets the number of +N = 224 (4*56) cores to run on.

    +

    The -np setting of the mpirun command sets the number of MPI +tasks/node. The “-k on t Nt” command-line switch sets the number of threads/task as Nt. The product of these 2 values should be N, i.e. 240 or 224. Also, the number of threads/task should be a multiple of 4 so that logical threads from more than one MPI task do not run on -the same physical core. -

    -

    Examples of mpirun commands that follow these rules are shown above. -

    -

    Restrictions: -

    -

    As noted above, if using GPUs, the number of MPI tasks per compute +the same physical core.

    +

    Examples of mpirun commands that follow these rules are shown above.

    +
    +

    Restrictions¶

    +

    As noted above, if using GPUs, the number of MPI tasks per compute node should equal to the number of GPUs per compute node. In the future Kokkos will support assigning multiple MPI tasks to a single -GPU. -

    -

    Currently Kokkos does not support AMD GPUs due to limits in the +GPU.

    +

    Currently Kokkos does not support AMD GPUs due to limits in the available backend programming models. Specifically, Kokkos requires extensive C++ support from the Kernel language. This is expected to -change in the future. -

    - +change in the future.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/accelerate_omp.html b/doc/accelerate_omp.html index d30135f1d1..0663e12685 100644 --- a/doc/accelerate_omp.html +++ b/doc/accelerate_omp.html @@ -1,153 +1,243 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + 5.USER-OMP package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.5 USER-OMP package -

    -

    The USER-OMP package was developed by Axel Kohlmeyer at Temple + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.USER-OMP package¶

    +

    The USER-OMP package was developed by Axel Kohlmeyer at Temple University. It provides multi-threaded versions of most pair styles, nearly all bonded styles (bond, angle, dihedral, improper), several Kspace styles, and a few fix styles. The package currently -uses the OpenMP interface for multi-threading. -

    -

    Here is a quick overview of how to use the USER-OMP package: -

    -
    • use the -fopenmp flag for compiling and linking in your Makefile.machine -
    • include the USER-OMP package and build LAMMPS -
    • use the mpirun command to set the number of MPI tasks/node -
    • specify how many threads per MPI task to use -
    • use USER-OMP styles in your input script -
    -

    The latter two steps can be done using the "-pk omp" and "-sf omp" -command-line switches respectively. Or -the effect of the "-pk" or "-sf" switches can be duplicated by adding -the package omp or suffix omp commands -respectively to your input script. -

    -

    Required hardware/software: -

    -

    Your compiler must support the OpenMP interface. You should have one +uses the OpenMP interface for multi-threading.

    +

    Here is a quick overview of how to use the USER-OMP package:

    +
      +
    • use the -fopenmp flag for compiling and linking in your Makefile.machine
    • +
    • include the USER-OMP package and build LAMMPS
    • +
    • use the mpirun command to set the number of MPI tasks/node
    • +
    • specify how many threads per MPI task to use
    • +
    • use USER-OMP styles in your input script
    • +
    +

    The latter two steps can be done using the “-pk omp” and “-sf omp” +command-line switches respectively. Or +the effect of the “-pk” or “-sf” switches can be duplicated by adding +the package omp or suffix omp commands +respectively to your input script.

    +

    Required hardware/software:

    +

    Your compiler must support the OpenMP interface. You should have one or more multi-core CPUs so that multiple threads can be launched by an -MPI task running on a CPU. -

    -

    Building LAMMPS with the USER-OMP package: -

    -

    To do this in one line, use the src/Make.py script, described in -Section 2.4 of the manual. Type "Make.py --h" for help. If run from the src directory, this command will create +MPI task running on a CPU.

    +

    Building LAMMPS with the USER-OMP package:

    +

    To do this in one line, use the src/Make.py script, described in +Section 2.4 of the manual. Type “Make.py +-h” for help. If run from the src directory, this command will create src/lmp_omp using src/MAKE/Makefile.mpi as the starting -Makefile.machine: -

    -
    Make.py -p omp -o omp file mpi 
    -
    -

    Or you can follow these steps: -

    -
    cd lammps/src
    +Makefile.machine:

    +
    Make.py -p omp -o omp file mpi
    +
    +
    +

    Or you can follow these steps:

    +
    cd lammps/src
     make yes-user-omp
    -make machine 
    -
    -

    The CCFLAGS setting in Makefile.machine needs "-fopenmp" to add OpenMP +make machine +

    +
    +

    The CCFLAGS setting in Makefile.machine needs “-fopenmp” to add OpenMP support. This works for both the GNU and Intel compilers. Without this flag the USER-OMP styles will still be compiled and work, but will not support multi-threading. For the Intel compilers the CCFLAGS -setting also needs to include "-restrict". -

    -

    Run with the USER-OMP package from the command line: -

    -

    The mpirun or mpiexec command sets the total number of MPI tasks used +setting also needs to include “-restrict”.

    +

    Run with the USER-OMP package from the command line:

    +

    The mpirun or mpiexec command sets the total number of MPI tasks used by LAMMPS (one or multiple per compute node) and the number of MPI tasks used per node. E.g. the mpirun command in MPICH does this via -its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode. -

    -

    You need to choose how many threads per MPI task will be used by the +its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.

    +

    You need to choose how many threads per MPI task will be used by the USER-OMP package. Note that the product of MPI tasks * threads/task should not exceed the physical number of cores (on a node), otherwise -performance will suffer. -

    -

    Use the "-sf omp" command-line switch, -which will automatically append "omp" to styles that support it. Use -the "-pk omp Nt" command-line switch, to -set Nt = # of OpenMP threads per MPI task to use. -

    -
    lmp_machine -sf omp -pk omp 16 -in in.script                       # 1 MPI task on a 16-core node
    +performance will suffer.

    +

    Use the “-sf omp” command-line switch, +which will automatically append “omp” to styles that support it. Use +the “-pk omp Nt” command-line switch, to +set Nt = # of OpenMP threads per MPI task to use.

    +
    lmp_machine -sf omp -pk omp 16 -in in.script                       # 1 MPI task on a 16-core node
     mpirun -np 4 lmp_machine -sf omp -pk omp 4 -in in.script           # 4 MPI tasks each with 4 threads on a single 16-core node
    -mpirun -np 32 -ppn 4 lmp_machine -sf omp -pk omp 4 -in in.script   # ditto on 8 16-core nodes 
    -
    -

    Note that if the "-sf omp" switch is used, it also issues a default -package omp 0 command, which sets the number of threads -per MPI task via the OMP_NUM_THREADS environment variable. -

    -

    Using the "-pk" switch explicitly allows for direct setting of the +mpirun -np 32 -ppn 4 lmp_machine -sf omp -pk omp 4 -in in.script # ditto on 8 16-core nodes +

    +
    +

    Note that if the “-sf omp” switch is used, it also issues a default +package omp 0 command, which sets the number of threads +per MPI task via the OMP_NUM_THREADS environment variable.

    +

    Using the “-pk” switch explicitly allows for direct setting of the number of threads and additional options. Its syntax is the same as -the "package omp" command. See the package command doc +the “package omp” command. See the package command doc page for details, including the default values used for all its options if it is not specified, and how to set the number of threads -via the OMP_NUM_THREADS environment variable if desired. -

    -

    Or run with the USER-OMP package by editing an input script: -

    -

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and threads/MPI task is the same. -

    -

    Use the suffix omp command, or you can explicitly add an -"omp" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/omp 2.5 
    -
    -

    You must also use the package omp command to enable the -USER-OMP package, unless the "-sf omp" or "-pk omp" command-line -switches were used. It specifies how many +via the OMP_NUM_THREADS environment variable if desired.

    +

    Or run with the USER-OMP package by editing an input script:

    +

    The discussion above for the mpirun/mpiexec command, MPI tasks/node, +and threads/MPI task is the same.

    +

    Use the suffix omp command, or you can explicitly add an +“omp” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/omp 2.5
    +
    +
    +

    You must also use the package omp command to enable the +USER-OMP package, unless the “-sf omp” or “-pk omp” command-line switches were used. It specifies how many threads per MPI task to use, as well as other options. Its doc page explains how to set the number of threads via an environment variable -if desired. -

    -

    Speed-ups to expect: -

    -

    Depending on which styles are accelerated, you should look for a -reduction in the "Pair time", "Bond time", "KSpace time", and "Loop -time" values printed at the end of a run. -

    -

    You may see a small performance advantage (5 to 20%) when running a +if desired.

    +

    Speed-ups to expect:

    +

    Depending on which styles are accelerated, you should look for a +reduction in the “Pair time”, “Bond time”, “KSpace time”, and “Loop +time” values printed at the end of a run.

    +

    You may see a small performance advantage (5 to 20%) when running a USER-OMP style (in serial or parallel) with a single thread per MPI task, versus running standard LAMMPS with its standard (un-accelerated) styles (in serial or all-MPI parallelization with 1 task/core). This is because many of the USER-OMP styles contain similar optimizations to those used in the OPT package, as described -above. -

    -

    With multiple threads/task, the optimal choice of MPI tasks/node and +above.

    +

    With multiple threads/task, the optimal choice of MPI tasks/node and OpenMP threads/task can vary a lot and should always be tested via benchmark runs for a specific simulation running on a specific machine, paying attention to guidelines discussed in the next -sub-section. -

    -

    A description of the multi-threading strategy used in the USER-OMP -package and some performance examples are presented -here -

    -

    Guidelines for best performance: -

    -

    For many problems on current generation CPUs, running the USER-OMP +sub-section.

    +

    A description of the multi-threading strategy used in the USER-OMP +package and some performance examples are presented here

    +

    Guidelines for best performance:

    +

    For many problems on current generation CPUs, running the USER-OMP package with a single thread/task is faster than running with multiple threads/task. This is because the MPI parallelization in LAMMPS is often more efficient than multi-threading as implemented in the USER-OMP package. The parallel efficiency (in a threaded sense) also -varies for different USER-OMP styles. -

    -

    Using multiple threads/task can be more effective under the following -circumstances: -

    -
    • Individual compute nodes have a significant number of CPU cores but +varies for different USER-OMP styles.

      +

      Using multiple threads/task can be more effective under the following +circumstances:

      +
        +
      • Individual compute nodes have a significant number of CPU cores but the CPU itself has limited memory bandwidth, e.g. for Intel Xeon 53xx (Clovertown) and 54xx (Harpertown) quad core processors. Running one MPI task per CPU core will result in significant performance @@ -155,52 +245,111 @@ degradation, so that running with 4 or even only 2 MPI tasks per node is faster. Running in hybrid MPI+OpenMP mode will reduce the inter-node communication bandwidth contention in the same way, but offers an additional speedup by utilizing the otherwise idle CPU -cores. - -
      • The interconnect used for MPI communication does not provide +cores.
      • +
      • The interconnect used for MPI communication does not provide sufficient bandwidth for a large number of MPI tasks per node. For example, this applies to running over gigabit ethernet or on Cray XT4 or XT5 series supercomputers. As in the aforementioned case, this -effect worsens when using an increasing number of nodes. - -
      • The system has a spatially inhomogeneous particle density which does -not map well to the domain decomposition scheme or -load-balancing options that LAMMPS provides. This is +effect worsens when using an increasing number of nodes.
      • +
      • The system has a spatially inhomogeneous particle density which does +not map well to the domain decomposition scheme or +load-balancing options that LAMMPS provides. This is because multi-threading achives parallelism over the number of -particles, not via their distribution in space. - -
      • A machine is being used in "capability mode", i.e. near the point +particles, not via their distribution in space.
      • +
      • A machine is being used in “capability mode”, i.e. near the point where MPI parallelism is maxed out. For example, this can happen when -using the PPPM solver for long-range +using the PPPM solver for long-range electrostatics on large numbers of nodes. The scaling of the KSpace -calculation (see the kspace_style command) becomes +calculation (see the kspace_style command) becomes the performance-limiting factor. Using multi-threading allows less MPI tasks to be invoked and can speed-up the long-range solver, while increasing overall performance by parallelizing the pairwise and bonded calculations via OpenMP. Likewise additional speedup can be sometimes be achived by increasing the length of the Coulombic cutoff and thus reducing the work done by the long-range solver. Using the -run_style verlet/split command, which is compatible +run_style verlet/split command, which is compatible with the USER-OMP package, is an alternative way to reduce the number -of MPI tasks assigned to the KSpace calculation. -
      -

      Additional performance tips are as follows: -

      -
      • The best parallel efficiency from omp styles is typically achieved +of MPI tasks assigned to the KSpace calculation.
      • +
      +

      Additional performance tips are as follows:

      +
        +
      • The best parallel efficiency from omp styles is typically achieved when there is at least one MPI task per physical processor, -i.e. socket or die. - -
      • It is usually most efficient to restrict threading to a single -socket, i.e. use one or more MPI task per socket. - -
      • Several current MPI implementation by default use a processor affinity +i.e. socket or die.
      • +
      • It is usually most efficient to restrict threading to a single +socket, i.e. use one or more MPI task per socket.
      • +
      • Several current MPI implementation by default use a processor affinity setting that restricts each MPI task to a single CPU core. Using multi-threading in this mode will force the threads to share that core and thus is likely to be counterproductive. Instead, binding MPI -tasks to a (multi-core) socket, should solve this issue. -
      -

      Restrictions: -

      -

      None. -

      - +tasks to a (multi-core) socket, should solve this issue.
    • +
    +
    +

    Restrictions¶

    +

    None.

    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/accelerate_opt.html b/doc/accelerate_opt.html index a539df5914..60f1afb2a6 100644 --- a/doc/accelerate_opt.html +++ b/doc/accelerate_opt.html @@ -1,87 +1,250 @@ - -
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + 5.OPT package — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Return to Section accelerate overview -

    -

    5.3.6 OPT package -

    -

    The OPT package was developed by James Fischer (High Performance + +

    +
    +
    + +
    + +
    +
    +
    + +

    Return to Section accelerate overview

    +
    +

    5.OPT package¶

    +

    The OPT package was developed by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge Technologies). It contains a handful of pair styles whose compute() methods were rewritten in C++ templated form to reduce the overhead -due to if tests and other conditional code. -

    -

    Here is a quick overview of how to use the OPT package: -

    -
    • include the OPT package and build LAMMPS -
    • use OPT pair styles in your input script -
    -

    The last step can be done using the "-sf opt" command-line -switch. Or the effect of the "-sf" switch -can be duplicated by adding a suffix opt command to your -input script. -

    -

    Required hardware/software: -

    -

    None. -

    -

    Building LAMMPS with the OPT package: -

    -

    Include the package and build LAMMPS: -

    -

    To do this in one line, use the src/Make.py script, described in -Section 2.4 of the manual. Type "Make.py --h" for help. If run from the src directory, this command will create +due to if tests and other conditional code.

    +

    Here is a quick overview of how to use the OPT package:

    +
      +
    • include the OPT package and build LAMMPS
    • +
    • use OPT pair styles in your input script
    • +
    +

    The last step can be done using the “-sf opt” command-line switch. Or the effect of the “-sf” switch +can be duplicated by adding a suffix opt command to your +input script.

    +

    Required hardware/software:

    +

    None.

    +

    Building LAMMPS with the OPT package:

    +

    Include the package and build LAMMPS:

    +

    To do this in one line, use the src/Make.py script, described in +Section 2.4 of the manual. Type “Make.py +-h” for help. If run from the src directory, this command will create src/lmp_opt using src/MAKE/Makefile.mpi as the starting -Makefile.machine: -

    -
    Make.py -p opt -o opt file mpi 
    -
    -

    Or you can follow these steps: -

    -
    cd lammps/src
    +Makefile.machine:

    +
    Make.py -p opt -o opt file mpi
    +
    +
    +

    Or you can follow these steps:

    +
    cd lammps/src
     make yes-opt
    -make machine 
    -
    -

    If you are using Intel compilers, then the CCFLAGS setting in -Makefile.machine needs to include "-restrict". -

    -

    Run with the OPT package from the command line: -

    -

    Use the "-sf opt" command-line switch, -which will automatically append "opt" to styles that support it. -

    -
    lmp_machine -sf opt -in in.script
    -mpirun -np 4 lmp_machine -sf opt -in in.script 
    -
    -

    Or run with the OPT package by editing an input script: -

    -

    Use the suffix opt command, or you can explicitly add an -"opt" suffix to individual styles in your input script, e.g. -

    -
    pair_style lj/cut/opt 2.5 
    -
    -

    Speed-ups to expect: -

    -

    You should see a reduction in the "Pair time" value printed at the end +make machine +

    +
    +

    If you are using Intel compilers, then the CCFLAGS setting in +Makefile.machine needs to include “-restrict”.

    +

    Run with the OPT package from the command line:

    +

    Use the “-sf opt” command-line switch, +which will automatically append “opt” to styles that support it.

    +
    lmp_machine -sf opt -in in.script
    +mpirun -np 4 lmp_machine -sf opt -in in.script
    +
    +
    +

    Or run with the OPT package by editing an input script:

    +

    Use the suffix opt command, or you can explicitly add an +“opt” suffix to individual styles in your input script, e.g.

    +
    pair_style lj/cut/opt 2.5
    +
    +
    +

    Speed-ups to expect:

    +

    You should see a reduction in the “Pair time” value printed at the end of a run. On most machines for reasonable problem sizes, it will be a -5 to 20% savings. -

    -

    Guidelines for best performance: -

    -

    None. Just try out an OPT pair style to see how it performs. -

    -

    Restrictions: -

    -

    None. -

    - +5 to 20% savings.

    +

    Guidelines for best performance:

    +

    None. Just try out an OPT pair style to see how it performs.

    +
    +

    Restrictions¶

    +

    None.

    +
    +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_charmm.html b/doc/angle_charmm.html index bfac8e0760..d29673a918 100644 --- a/doc/angle_charmm.html +++ b/doc/angle_charmm.html @@ -1,97 +1,264 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style charmm command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style charmm command -

    -

    angle_style charmm/kk command -

    -

    angle_style charmm/omp command -

    -

    Syntax: -

    -
    angle_style charmm 
    -
    -

    Examples: -

    -
    angle_style charmm
    -angle_coeff 1 300.0 107.0 50.0 3.0 
    -
    -

    Description: -

    -

    The charmm angle style uses the potential -

    -
    -
    -

    with an additional Urey_Bradley term based on the distance r between + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style charmm command¶

    +
    +
    +

    angle_style charmm/kk command¶

    +
    +
    +

    angle_style charmm/omp command¶

    +
    +

    Syntax¶

    +
    angle_style charmm
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style charmm
    +angle_coeff 1 300.0 107.0 50.0 3.0
    +
    +
    +
    +
    +

    Description¶

    +

    The charmm angle style uses the potential

    +_images/angle_charmm.jpg +

    with an additional Urey_Bradley term based on the distance r between the 1st and 3rd atoms in the angle. K, theta0, Kub, and Rub are -coefficients defined for each angle type. -

    -

    See (MacKerell) for a description of the CHARMM force -field. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/radian^2) -
    • theta0 (degrees) -
    • K_ub (energy/distance^2) -
    • r_ub (distance) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +coefficients defined for each angle type.

    +

    See (MacKerell) for a description of the CHARMM force +field.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/radian^2)
    • +
    • theta0 (degrees)
    • +
    • K_ub (energy/distance^2)
    • +
    • r_ub (distance)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_class2.html b/doc/angle_class2.html index df2f305a9b..87b3c9ac2a 100644 --- a/doc/angle_class2.html +++ b/doc/angle_class2.html @@ -1,126 +1,291 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style class2 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style class2 command -

    -

    angle_style class2/omp command -

    -

    Syntax: -

    -
    angle_style class2 
    -
    -

    Examples: -

    -
    angle_style class2
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style class2 command¶

    +
    +
    +

    angle_style class2/omp command¶

    +
    +

    Syntax¶

    +
    angle_style class2
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style class2
     angle_coeff * 75.0
     angle_coeff 1 bb 10.5872 1.0119 1.5228
    -angle_coeff * ba 3.6551 24.895 1.0119 1.5228 
    -
    -

    Description: -

    -

    The class2 angle style uses the potential -

    -
    -
    -

    where Ea is the angle term, Ebb is a bond-bond term, and Eba is a +angle_coeff * ba 3.6551 24.895 1.0119 1.5228 +

    + + +
    +

    Description¶

    +

    The class2 angle style uses the potential

    +_images/angle_class2.jpg +

    where Ea is the angle term, Ebb is a bond-bond term, and Eba is a bond-angle term. Theta0 is the equilibrium angle and r1 and r2 are -the equilibrium bond lengths. -

    -

    See (Sun) for a description of the COMPASS class2 force field. -

    -

    Coefficients for the Ea, Ebb, and Eba formulas must be defined for -each angle type via the angle_coeff command as in +the equilibrium bond lengths.

    +

    See (Sun) for a description of the COMPASS class2 force field.

    +

    Coefficients for the Ea, Ebb, and Eba formulas must be defined for +each angle type via the angle_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands. -

    -

    These are the 4 coefficients for the Ea formula: -

    -
    • theta0 (degrees) -
    • K2 (energy/radian^2) -
    • K3 (energy/radian^3) -
    • K4 (energy/radian^4) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of the various K are in per-radian. -

    -

    For the Ebb formula, each line in a angle_coeff +read_data or read_restart +commands.

    +

    These are the 4 coefficients for the Ea formula:

    +
      +
    • theta0 (degrees)
    • +
    • K2 (energy/radian^2)
    • +
    • K3 (energy/radian^3)
    • +
    • K4 (energy/radian^4)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of the various K are in per-radian.

    +

    For the Ebb formula, each line in a angle_coeff command in the input script lists 4 coefficients, the first of which -is "bb" to indicate they are BondBond coefficients. In a data file, -these coefficients should be listed under a "BondBond Coeffs" heading -and you must leave out the "bb", i.e. only list 3 coefficients after -the angle type. -

    -
    • bb -
    • M (energy/distance^2) -
    • r1 (distance) -
    • r2 (distance) -
    -

    For the Eba formula, each line in a angle_coeff +is “bb” to indicate they are BondBond coefficients. In a data file, +these coefficients should be listed under a “BondBond Coeffs” heading +and you must leave out the “bb”, i.e. only list 3 coefficients after +the angle type.

    +
      +
    • bb
    • +
    • M (energy/distance^2)
    • +
    • r1 (distance)
    • +
    • r2 (distance)
    • +
    +

    For the Eba formula, each line in a angle_coeff command in the input script lists 5 coefficients, the first of which -is "ba" to indicate they are BondAngle coefficients. In a data file, -these coefficients should be listed under a "BondAngle Coeffs" heading -and you must leave out the "ba", i.e. only list 4 coefficients after -the angle type. -

    -
    • ba -
    • N1 (energy/distance^2) -
    • N2 (energy/distance^2) -
    • r1 (distance) -
    • r2 (distance) -
    -

    The theta0 value in the Eba formula is not specified, since it is the -same value from the Ea formula. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +is “ba” to indicate they are BondAngle coefficients. In a data file, +these coefficients should be listed under a “BondAngle Coeffs” heading +and you must leave out the “ba”, i.e. only list 4 coefficients after +the angle type.

    +
      +
    • ba
    • +
    • N1 (energy/distance^2)
    • +
    • N2 (energy/distance^2)
    • +
    • r1 (distance)
    • +
    • r2 (distance)
    • +
    +

    The theta0 value in the Eba formula is not specified, since it is the +same value from the Ea formula.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the CLASS2 +package. See the Making LAMMPS section +for more info on packages.

    +
    + + -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the CLASS2 -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_coeff.html b/doc/angle_coeff.html index 1ae29b5f2c..db99de280a 100644 --- a/doc/angle_coeff.html +++ b/doc/angle_coeff.html @@ -1,104 +1,279 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_coeff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_coeff command -

    -

    Syntax: -

    -
    angle_coeff N args 
    -
    -
    • N = angle type (see asterisk form below) -
    • args = coefficients for one or more angle types -
    -

    Examples: -

    -
    angle_coeff 1 300.0 107.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_coeff command¶

    +
    +

    Syntax¶

    +
    angle_coeff N args
    +
    +
    +
      +
    • N = angle type (see asterisk form below)
    • +
    • args = coefficients for one or more angle types
    • +
    +
    +
    +

    Examples¶

    +
    angle_coeff 1 300.0 107.0
     angle_coeff * 5.0
    -angle_coeff 2*10 5.0 
    -
    -

    Description: -

    -

    Specify the angle force field coefficients for one or more angle types. +angle_coeff 2*10 5.0 +

    + + +
    +

    Description¶

    +

    Specify the angle force field coefficients for one or more angle types. The number and meaning of the coefficients depends on the angle style. Angle coefficients can also be set in the data file read by the -read_data command or in a restart file. -

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file.

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple angle types. This takes the -form "*" or "*n" or "n*" or "m*n". If N = the number of angle types, +form “*” or “n” or “n” or “m*n”. If N = the number of angle types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). -

    -

    Note that using an angle_coeff command can override a previous setting +means all types from m to n (inclusive).

    +

    Note that using an angle_coeff command can override a previous setting for the same angle type. For example, these commands set the coeffs -for all angle types, then overwrite the coeffs for just angle type 2: -

    -
    angle_coeff * 200.0 107.0 1.2
    -angle_coeff 2 50.0 107.0 
    -
    -

    A line in a data file that specifies angle coefficients uses the exact +for all angle types, then overwrite the coeffs for just angle type 2:

    +
    angle_coeff * 200.0 107.0 1.2
    +angle_coeff 2 50.0 107.0
    +
    +
    +

    A line in a data file that specifies angle coefficients uses the exact same format as the arguments of the angle_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the "Angle Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as -

    -
    1 300.0 107.0 
    -
    -

    The angle_style class2 is an exception to this +under the “Angle Coeffs” section of a data file, the line that +corresponds to the 1st example above would be listed as

    +
    1 300.0 107.0
    +
    +
    +

    The angle_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its -doc page for details. -

    -
    - -

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on +doc page for details.

    +
    +

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated angle_coeff command. -

    -

    Note that there are also additional angle styles submitted by users +specified by the associated angle_coeff command.

    +

    Note that there are also additional angle styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of this -page. -

    - - -
    +links to the individual styles are given in the angle section of this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +

    An angle style must be defined before any angle coefficients are +set, either in the input script or in a data file.

    +
    + + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    An angle style must be defined before any angle coefficients are -set, either in the input script or in a data file. -

    -

    Related commands: -

    -

    angle_style -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine.html b/doc/angle_cosine.html index 709444b5ad..a9772a1b78 100644 --- a/doc/angle_cosine.html +++ b/doc/angle_cosine.html @@ -1,77 +1,249 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine command -

    -

    angle_style cosine/omp command -

    -

    Syntax: -

    -
    angle_style cosine 
    -
    -

    Examples: -

    -
    angle_style cosine
    -angle_coeff * 75.0 
    -
    -

    Description: -

    -

    The cosine angle style uses the potential -

    -
    -
    -

    where K is defined for each angle type. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine command¶

    +
    +
    +

    angle_style cosine/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine
    +angle_coeff * 75.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine angle style uses the potential

    +_images/angle_cosine.jpg +

    where K is defined for each angle type.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine_delta.html b/doc/angle_cosine_delta.html index e7ce77ead4..d0fb41f861 100644 --- a/doc/angle_cosine_delta.html +++ b/doc/angle_cosine_delta.html @@ -1,83 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine/delta command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine/delta command -

    -

    angle_style cosine/delta/omp command -

    -

    Syntax: -

    -
    angle_style cosine/delta 
    -
    -

    Examples: -

    -
    angle_style cosine/delta
    -angle_coeff 2*4 75.0 100.0 
    -
    -

    Description: -

    -

    The cosine/delta angle style uses the potential -

    -
    -
    -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • theta0 (degrees) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine/delta command¶

    +
    +
    +

    angle_style cosine/delta/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine/delta
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine/delta
    +angle_coeff 2*4 75.0 100.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/delta angle style uses the potential

    +_images/angle_cosine_delta.jpg +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • theta0 (degrees)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff, angle_style -cosine/squared -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine_periodic.html b/doc/angle_cosine_periodic.html index 58878bb6aa..68e9112795 100644 --- a/doc/angle_cosine_periodic.html +++ b/doc/angle_cosine_periodic.html @@ -1,97 +1,263 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine/periodic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine/periodic command -

    -

    angle_style cosine/periodic/omp command -

    -

    Syntax: -

    -
    angle_style cosine/periodic 
    -
    -

    Examples: -

    -
    angle_style cosine/periodic
    -angle_coeff * 75.0 1 6 
    -
    -

    Description: -

    -

    The cosine/periodic angle style uses the following potential, which -is commonly used in the DREIDING force -field, particularly for organometallic systems where n = 4 might be -used for an octahedral complex and n = 3 might be used for a -trigonal center: -

    -
    -
    -

    where C, B and n are coefficients defined for each angle type. -

    -

    See (Mayo) for a description of the DREIDING force field -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • C (energy) -
    • B = 1 or -1 -
    • n = 1, 2, 3, 4, 5 or 6 for periodicity -
    -

    Note that the prefactor C is specified and not the overall force + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine/periodic command¶

    +
    +
    +

    angle_style cosine/periodic/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine/periodic
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine/periodic
    +angle_coeff * 75.0 1 6
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/periodic angle style uses the following potential, which +is commonly used in the DREIDING force +field, particularly for organometallic systems where n = 4 might be +used for an octahedral complex and n = 3 might be used for a +trigonal center:

    +_images/angle_cosine_periodic.jpg +

    where C, B and n are coefficients defined for each angle type.

    +

    See (Mayo) for a description of the DREIDING force field

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • C (energy)
    • +
    • B = 1 or -1
    • +
    • n = 1, 2, 3, 4, 5 or 6 for periodicity
    • +
    +

    Note that the prefactor C is specified and not the overall force constant K = C / n^2. When B = 1, it leads to a minimum for the linear geometry. When B = -1, it leads to a maximum for the linear -geometry. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +geometry.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine_shift.html b/doc/angle_cosine_shift.html index a7ecc30ae3..0f7a9ae047 100644 --- a/doc/angle_cosine_shift.html +++ b/doc/angle_cosine_shift.html @@ -1,81 +1,254 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine/shift command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine/shift command -

    -

    angle_style cosine/shift/omp command -

    -

    Syntax: -

    -
    angle_style cosine/shift 
    -
    -

    Examples: -

    -
    angle_style cosine/shift
    -angle_coeff * 10.0 45.0 
    -
    -

    Description: -

    -

    The cosine/shift angle style uses the potential -

    -
    -
    -

    where theta0 is the equilibrium angle. The potential is bounded + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine/shift command¶

    +
    +
    +

    angle_style cosine/shift/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine/shift
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine/shift
    +angle_coeff * 10.0 45.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/shift angle style uses the potential

    +_images/angle_cosine_shift.jpg +

    where theta0 is the equilibrium angle. The potential is bounded between -Umin and zero. In the neighborhood of the minimum E=- Umin + -Umin/4(theta-theta0)^2 hence the spring constant is umin/2. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • umin (energy) -
    • theta (angle) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +Umin/4(theta-theta0)^2 hence the spring constant is umin/2.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • umin (energy)
    • +
    • theta (angle)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff, -angle_cosineshiftexp -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine_shift_exp.html b/doc/angle_cosine_shift_exp.html index 14b9e71ede..fd3caf1f3b 100644 --- a/doc/angle_cosine_shift_exp.html +++ b/doc/angle_cosine_shift_exp.html @@ -1,94 +1,265 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine/shift/exp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine/shift/exp command -

    -

    angle_style cosine/shift/exp/omp command -

    -

    Syntax: -

    -
    angle_style cosine/shift/exp 
    -
    -

    Examples: -

    -
    angle_style cosine/shift/exp
    -angle_coeff * 10.0 45.0 2.0 
    -
    -

    Description: -

    -

    The cosine/shift/exp angle style uses the potential -

    -
    -
    -

    where Umin, theta, and a are defined for each angle type. -

    -

    The potential is bounded between [-Umin:0] and the minimum is + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine/shift/exp command¶

    +
    +
    +

    angle_style cosine/shift/exp/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine/shift/exp
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine/shift/exp
    +angle_coeff * 10.0 45.0 2.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/shift/exp angle style uses the potential

    +_images/angle_cosine_shift_exp.jpg +

    where Umin, theta, and a are defined for each angle type.

    +

    The potential is bounded between [-Umin:0] and the minimum is located at the angle theta0. The a parameter can be both positive or negative and is used to control the spring constant at the -equilibrium. -

    -

    The spring constant is given by k = A exp(A) Umin / [2 (Exp(a)-1)]. -For a > 3, k/Umin = a/2 to better than 5% relative error. For negative +equilibrium.

    +

    The spring constant is given by k = A exp(A) Umin / [2 (Exp(a)-1)]. +For a > 3, k/Umin = a/2 to better than 5% relative error. For negative values of the a parameter, the spring constant is essentially zero, and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a -> 0, where it has been implemented to linear -order in a for a < 0.001. In this limit the potential reduces to the -cosineshifted potential. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • umin (energy) -
    • theta (angle) -
    • A (real number) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +behaved in the limit a -> 0, where it has been implemented to linear +order in a for a < 0.001. In this limit the potential reduces to the +cosineshifted potential.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • umin (energy)
    • +
    • theta (angle)
    • +
    • A (real number)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff, -angle_cosineshift, -dihedral_cosineshift -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_cosine_squared.html b/doc/angle_cosine_squared.html index 7f85d3552b..7a8d6b3f6e 100644 --- a/doc/angle_cosine_squared.html +++ b/doc/angle_cosine_squared.html @@ -1,82 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style cosine/squared command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style cosine/squared command -

    -

    angle_style cosine/squared/omp command -

    -

    Syntax: -

    -
    angle_style cosine/squared 
    -
    -

    Examples: -

    -
    angle_style cosine/squared
    -angle_coeff 2*4 75.0 100.0 
    -
    -

    Description: -

    -

    The cosine/squared angle style uses the potential -

    -
    -
    -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • theta0 (degrees) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style cosine/squared command¶

    +
    +
    +

    angle_style cosine/squared/omp command¶

    +
    +

    Syntax¶

    +
    angle_style cosine/squared
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style cosine/squared
    +angle_coeff 2*4 75.0 100.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/squared angle style uses the potential

    +_images/angle_cosine_squared.jpg +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • theta0 (degrees)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_dipole.html b/doc/angle_dipole.html index b9117b3da9..5367f273fc 100644 --- a/doc/angle_dipole.html +++ b/doc/angle_dipole.html @@ -1,130 +1,290 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style dipole command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style dipole command -

    -

    angle_style dipole/omp command -

    -

    Syntax: -

    -
    angle_style dipole 
    -
    -

    Examples: -

    -
    angle_style dipole
    -angle_coeff 6 2.1 180.0 
    -
    -

    Description: -

    -

    The dipole angle style is used to control the orientation of a dipolar -atom within a molecule (Orsi). Specifically, the dipole angle -style restrains the orientation of a point dipole mu_j (embedded in atom -'j') with respect to a reference (bond) vector r_ij = r_i - r_j, where 'i' -is another atom of the same molecule (typically, 'i' and 'j' are also -covalently bonded). -

    -

    It is convenient to define an angle gamma between the 'free' vector mu_j -and the reference (bond) vector r_ij: -

    -
    -
    -

    The dipole angle style uses the potential: -

    -
    -
    -

    where K is a rigidity constant and gamma0 is an equilibrium (reference) -angle. -

    -

    The torque on the dipole can be obtained by differentiating the -potential using the 'chain rule' as in appendix C.3 of -(Allen): -

    -
    -
    -

    Example: if gamma0 is set to 0 degrees, the torque generated by -the potential will tend to align the dipole along the reference + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style dipole command¶

    +
    +
    +

    angle_style dipole/omp command¶

    +
    +

    Syntax¶

    +
    angle_style dipole
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style dipole
    +angle_coeff 6 2.1 180.0
    +
    +
    +
    +
    +

    Description¶

    +

    The dipole angle style is used to control the orientation of a dipolar +atom within a molecule (Orsi). Specifically, the dipole angle +style restrains the orientation of a point dipole mu_j (embedded in atom +‘j’) with respect to a reference (bond) vector r_ij = r_i - r_j, where ‘i’ +is another atom of the same molecule (typically, ‘i’ and ‘j’ are also +covalently bonded).

    +

    It is convenient to define an angle gamma between the ‘free’ vector mu_j +and the reference (bond) vector r_ij:

    +_images/angle_dipole_gamma.jpg +

    The dipole angle style uses the potential:

    +_images/angle_dipole_potential.jpg +

    where K is a rigidity constant and gamma0 is an equilibrium (reference) +angle.

    +

    The torque on the dipole can be obtained by differentiating the +potential using the ‘chain rule’ as in appendix C.3 of +(Allen):

    +_images/angle_dipole_torque.jpg +

    Example: if gamma0 is set to 0 degrees, the torque generated by +the potential will tend to align the dipole along the reference direction defined by the (bond) vector r_ij (in other words, mu_j is -restrained to point towards atom 'i'). -

    -

    Note that the angle dipole potential does not give rise to any force, -because it does not depend on the distance between i and j (it only -depends on the angle between mu_j and r_ij). -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • gamma0 (degrees) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +restrained to point towards atom ‘i’).

    +

    Note that the angle dipole potential does not give rise to any force, +because it does not depend on the distance between i and j (it only +depends on the angle between mu_j and r_ij).

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • gamma0 (degrees)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    IMPORTANT NOTE: In the "Angles" section of the data file, the atom ID -'j' corresponding to the dipole to restrain must come before the atom -ID of the reference atom 'i'. A third atom ID 'k' must also be -provided, although 'k' is just a 'dummy' atom which can be any atom; -it may be useful to choose a convention (e.g., 'k'='i') and adhere to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    +

    Warning

    +

    In the “Angles” section of the data file, the atom ID +‘j’ corresponding to the dipole to restrain must come before the atom +ID of the reference atom ‘i’. A third atom ID ‘k’ must also be +provided, although ‘k’ is just a ‘dummy’ atom which can be any atom; +it may be useful to choose a convention (e.g., ‘k’=’i’) and adhere to it. For example, if ID=1 for the dipolar atom to restrain, and ID=2 -for the reference atom, the corresponding line in the "Angles" section -of the data file would read: X X 1 2 2 -

    -

    The "newton" command for intramolecular interactions must be "on" -(which is the default). -

    -

    This angle style should not be used with SHAKE. -

    -

    Related commands: -

    -

    angle_coeff, angle_hybrid -

    -

    Default: none -

    -
    +for the reference atom, the corresponding line in the “Angles” section +of the data file would read: X X 1 2 2

    +
    +

    The “newton” command for intramolecular interactions must be “on” +(which is the default).

    +

    This angle style should not be used with SHAKE.

    +
    + +
    - -

    (Orsi) Orsi & Essex, The ELBA force field for coarse-grain modeling of -lipid membranes, PloS ONE 6(12): e28637, 2011. -

    - +
    +
    +
    + -

    (Allen) Allen & Tildesley, Computer Simulation of Liquids, -Clarendon Press, Oxford, 1987. -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_fourier.html b/doc/angle_fourier.html index 93d1b083de..cf373ae963 100644 --- a/doc/angle_fourier.html +++ b/doc/angle_fourier.html @@ -1,78 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style fourier command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style fourier command -

    -

    angle_style fourier/omp command -

    -

    Syntax: -

    -
    angle_style fourier 
    -
    -

    Examples: -

    -

    angle_style fourier -angle_coeff 75.0 1.0 1.0 1.0 -

    -

    Description: -

    -

    The fourier angle style uses the potential -

    -
    -
    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • C0 (real) -
    • C1 (real) -
    • C2 (real) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style fourier command¶

    +
    +
    +

    angle_style fourier/omp command¶

    +
    +

    Syntax¶

    +
    angle_style fourier
    +
    +
    +
    +
    +

    Examples¶

    +

    angle_style fourier +angle_coeff 75.0 1.0 1.0 1.0

    +
    +
    +

    Description¶

    +

    The fourier angle style uses the potential

    +_images/angle_fourier.jpg +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • C0 (real)
    • +
    • C1 (real)
    • +
    • C2 (real)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_fourier_simple.html b/doc/angle_fourier_simple.html index 732ee095cc..0960846c83 100644 --- a/doc/angle_fourier_simple.html +++ b/doc/angle_fourier_simple.html @@ -1,77 +1,249 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style fourier/simple command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style fourier/simple command -

    -

    angle_style fourier/simple/omp command -

    -

    Syntax: -

    -
    angle_style fourier/simple 
    -
    -

    Examples: -

    -

    angle_style fourier/simple -angle_coeff 100.0 -1.0 1.0 -

    -

    Description: -

    -

    The fourier/simple angle style uses the potential -

    -
    -
    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • c (real) -
    • n (real) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style fourier/simple command¶

    +
    +
    +

    angle_style fourier/simple/omp command¶

    +
    +

    Syntax¶

    +
    angle_style fourier/simple
    +
    +
    +
    +
    +

    Examples¶

    +

    angle_style fourier/simple +angle_coeff 100.0 -1.0 1.0

    +
    +
    +

    Description¶

    +

    The fourier/simple angle style uses the potential

    +_images/angle_fourier_simple.jpg +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • c (real)
    • +
    • n (real)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_harmonic.html b/doc/angle_harmonic.html index f5b02202ef..0a9c1d507a 100644 --- a/doc/angle_harmonic.html +++ b/doc/angle_harmonic.html @@ -1,84 +1,258 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style harmonic command -

    -

    angle_style harmonic/kk command -

    -

    angle_style harmonic/omp command -

    -

    Syntax: -

    -
    angle_style harmonic 
    -
    -

    Examples: -

    -
    angle_style harmonic
    -angle_coeff 1 300.0 107.0 
    -
    -

    Description: -

    -

    The harmonic angle style uses the potential -

    -
    -
    -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/radian^2) -
    • theta0 (degrees) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style harmonic command¶

    +
    +
    +

    angle_style harmonic/kk command¶

    +
    +
    +

    angle_style harmonic/omp command¶

    +
    +

    Syntax¶

    +
    angle_style harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style harmonic
    +angle_coeff 1 300.0 107.0
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic angle style uses the potential

    +_images/angle_harmonic.jpg +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/radian^2)
    • +
    • theta0 (degrees)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: none -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_hybrid.html b/doc/angle_hybrid.html index d5e3412fbb..9be62c9f1a 100644 --- a/doc/angle_hybrid.html +++ b/doc/angle_hybrid.html @@ -1,96 +1,274 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style hybrid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style hybrid command -

    -

    Syntax: -

    -
    angle_style hybrid style1 style2 ... 
    -
    -
    • style1,style2 = list of one or more angle styles -
    -

    Examples: -

    -
    angle_style hybrid harmonic cosine
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style hybrid command¶

    +
    +

    Syntax¶

    +
    angle_style hybrid style1 style2 ...
    +
    +
    +
      +
    • style1,style2 = list of one or more angle styles
    • +
    +
    +
    +

    Examples¶

    +
    angle_style hybrid harmonic cosine
     angle_coeff 1 harmonic 80.0 30.0
    -angle_coeff 2* cosine 50.0  
    -
    -

    Description: -

    -

    The hybrid style enables the use of multiple angle styles in one +angle_coeff 2* cosine 50.0 +

    + + +
    +

    Description¶

    +

    The hybrid style enables the use of multiple angle styles in one simulation. An angle style is assigned to each angle type. For example, angles in a polymer flow (of angle type 1) could be computed -with a harmonic potential and angles in the wall boundary (of angle -type 2) could be computed with a cosine potential. The assignment -of angle type to style is made via the angle_coeff -command or in the data file. -

    -

    In the angle_coeff commands, the name of an angle style must be added +with a harmonic potential and angles in the wall boundary (of angle +type 2) could be computed with a cosine potential. The assignment +of angle type to style is made via the angle_coeff +command or in the data file.

    +

    In the angle_coeff commands, the name of an angle style must be added after the angle type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 angle_coeff -commands set angles of angle type 1 to be computed with a harmonic +commands set angles of angle type 1 to be computed with a harmonic potential with coefficients 80.0, 30.0 for K, theta0. All other angle -types (2-N) are computed with a cosine potential with coefficient -50.0 for K. -

    -

    If angle coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. "harmonic" or "cosine", must be added after the angle type, for each -line in the "Angle Coeffs" section, e.g. -

    -
    Angle Coeffs 
    -
    -
    1 harmonic 80.0 30.0
    +types (2-N) are computed with a cosine potential with coefficient
    +50.0 for K.

    +

    If angle coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. “harmonic” or “cosine”, must be added after the angle type, for each +line in the “Angle Coeffs” section, e.g.

    +
    Angle Coeffs
    +
    +
    +
    1 harmonic 80.0 30.0
     2 cosine 50.0
    -... 
    -
    -

    If class2 is one of the angle hybrid styles, the same rule holds for +... +

    + +

    If class2 is one of the angle hybrid styles, the same rule holds for specifying additional BondBond (and BondAngle) coefficients either via -the input script or in the data file. I.e. class2 must be added to +the input script or in the data file. I.e. class2 must be added to each line after the angle type. For lines in the BondBond (or BondAngle) section of the data file for angle types that are not -class2, you must use an angle style of skip as a placeholder, e.g. -

    -
    BondBond Coeffs 
    -
    -
    1 skip
    +class2, you must use an angle style of skip as a placeholder, e.g.

    +
    BondBond Coeffs
    +
    +
    +
    1 skip
     2 class2 3.6512 1.0119 1.0119
    -... 
    -
    -

    Note that it is not necessary to use the angle style skip in the +... +

    + +

    Note that it is not necessary to use the angle style skip in the input script, since BondBond (or BondAngle) coefficients need not be -specified at all for angle types that are not class2. -

    -

    An angle style of none with no additional coefficients can be used +specified at all for angle types that are not class2.

    +

    An angle style of none with no additional coefficients can be used in place of an angle style, either in a input script angle_coeff command or in the data file, if you desire to turn off interactions -for specific angle types. -

    -
    +for specific angle types.

    + +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    Unlike other angle styles, the hybrid angle style does not store angle +coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a restart +file, you need to re-specify angle_coeff commands.

    +
    + + -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Unlike other angle styles, the hybrid angle style does not store angle -coefficient info for individual sub-styles in a binary restart -files. Thus when retarting a simulation from a restart -file, you need to re-specify angle_coeff commands. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_none.html b/doc/angle_none.html index a589bcc7c2..80bb96e150 100644 --- a/doc/angle_none.html +++ b/doc/angle_none.html @@ -1,34 +1,218 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style none command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style none command -

    -

    Syntax: -

    -
    angle_style none 
    -
    -

    Examples: -

    -
    angle_style none 
    -
    -

    Description: -

    -

    Using an angle style of none means angle forces are not computed, even + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style none command¶

    +
    +

    Syntax¶

    +
    angle_style none
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style none
    +
    +
    +
    +
    +

    Description¶

    +

    Using an angle style of none means angle forces are not computed, even if triplets of angle atoms were listed in the data file read by the -read_data command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +read_data command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_quartic.html b/doc/angle_quartic.html index 9618b3d7f8..c2b09b06bc 100644 --- a/doc/angle_quartic.html +++ b/doc/angle_quartic.html @@ -1,84 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style quartic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style quartic command -

    -

    angle_style quartic/omp command -

    -

    Syntax: -

    -
    angle_style quartic 
    -
    -

    Examples: -

    -
    angle_style quartic
    -angle_coeff 1 129.1948 56.8726 -25.9442 -14.2221 
    -
    -

    Description: -

    -

    The quartic angle style uses the potential -

    -
    -
    -

    where theta0 is the equilibrium value of the angle, and K is a -prefactor. Note that the usual 1/2 factor is included in K. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • theta0 (degrees) -
    • K2 (energy/radian^2) -
    • K3 (energy/radian^3) -
    • K4 (energy/radian^4) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style quartic command¶

    +
    +
    +

    angle_style quartic/omp command¶

    +
    +

    Syntax¶

    +
    angle_style quartic
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style quartic
    +angle_coeff 1 129.1948 56.8726 -25.9442 -14.2221
    +
    +
    +
    +
    +

    Description¶

    +

    The quartic angle style uses the potential

    +_images/angle_quartic.jpg +

    where theta0 is the equilibrium value of the angle, and K is a +prefactor. Note that the usual 1/2 factor is included in K.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • theta0 (degrees)
    • +
    • K2 (energy/radian^2)
    • +
    • K3 (energy/radian^3)
    • +
    • K4 (energy/radian^4)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_sdk.html b/doc/angle_sdk.html index fa1b5f37dc..a6df98ce5e 100644 --- a/doc/angle_sdk.html +++ b/doc/angle_sdk.html @@ -1,64 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style sdk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style sdk command -

    -

    Syntax: -

    -
    angle_style sdk 
    -
    -
    angle_style sdk/omp 
    -
    -

    Examples: -

    -
    angle_style sdk
    -angle_coeff 1 300.0 107.0 
    -
    -

    Description: -

    -

    The sdk angle style is a combination of the harmonic angle potential, -

    -
    -
    -

    where theta0 is the equilibrium value of the angle and K a prefactor, -with the repulsive part of the non-bonded lj/sdk pair style + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style sdk command¶

    +
    +

    Syntax¶

    +
    angle_style sdk
    +
    +
    +
    angle_style sdk/omp
    +
    +
    +
    +
    +

    Examples¶

    +
    angle_style sdk
    +angle_coeff 1 300.0 107.0
    +
    +
    +
    +
    +

    Description¶

    +

    The sdk angle style is a combination of the harmonic angle potential,

    +_images/angle_harmonic.jpg +

    where theta0 is the equilibrium value of the angle and K a prefactor, +with the repulsive part of the non-bonded lj/sdk pair style between the atoms 1 and 3. This angle potential is intended for coarse grained MD simulations with the CMM parametrization using the -pair_style lj/sdk. Relative to the pair_style -lj/sdk, however, the energy is shifted by epsilon, to avoid sudden -jumps. Note that the usual 1/2 factor is included in K. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above: -

    -
    • K (energy/radian^2) -
    • theta0 (degrees) -
    -

    Theta0 is specified in degrees, but LAMMPS converts it to radians +pair_style lj/sdk. Relative to the pair_style +lj/sdk, however, the energy is shifted by epsilon, to avoid sudden +jumps. Note that the usual 1/2 factor is included in K.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above:

    +
      +
    • K (energy/radian^2)
    • +
    • theta0 (degrees)
    • +
    +

    Theta0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -The also required lj/sdk parameters will be extracted automatically -from the pair_style. -

    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER-CG-CMM package. See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff, angle_style -harmonic, pair_style lj/sdk, -pair_style lj/sdk/coul/long -

    -

    Default: none -

    - +The also required lj/sdk parameters will be extracted automatically +from the pair_style.

    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER-CG-CMM package. See the Making LAMMPS section for more info on packages.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_style.html b/doc/angle_style.html index 97ea5e7d87..9f3c84bce2 100644 --- a/doc/angle_style.html +++ b/doc/angle_style.html @@ -1,100 +1,277 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style command -

    -

    Syntax: -

    -
    angle_style style 
    -
    -
    • style = none or hybrid or charmm or class2 or cosine or cosine/squared or harmonic -
    -

    Examples: -

    -
    angle_style harmonic
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style command¶

    +
    +

    Syntax¶

    +
    angle_style style
    +
    +
    +
      +
    • style = none or hybrid or charmm or class2 or cosine or cosine/squared or harmonic
    • +
    +
    +
    +

    Examples¶

    +
    angle_style harmonic
     angle_style charmm
    -angle_style hybrid harmonic cosine 
    -
    -

    Description: -

    -

    Set the formula(s) LAMMPS uses to compute angle interactions between +angle_style hybrid harmonic cosine +

    + + +
    +

    Description¶

    +

    Set the formula(s) LAMMPS uses to compute angle interactions between triplets of atoms, which remain in force for the duration of the simulation. The list of angle triplets is read in by a -read_data or read_restart command -from a data or restart file. -

    -

    Hybrid models where angles are computed using different angle -potentials can be setup using the hybrid angle style. -

    -

    The coefficients associated with a angle style can be specified in a -data or restart file or via the angle_coeff command. -

    -

    All angle potentials store their coefficient data in binary restart -files which means angle_style and angle_coeff +read_data or read_restart command +from a data or restart file.

    +

    Hybrid models where angles are computed using different angle +potentials can be setup using the hybrid angle style.

    +

    The coefficients associated with a angle style can be specified in a +data or restart file or via the angle_coeff command.

    +

    All angle potentials store their coefficient data in binary restart +files which means angle_style and angle_coeff commands do not need to be re-specified in an input script that -restarts a simulation. See the read_restart +restarts a simulation. See the read_restart command for details on how to do this. The one exception is that -angle_style hybrid only stores the list of sub-styles in the restart -file; angle coefficients need to be re-specified. -

    -

    IMPORTANT NOTE: When both an angle and pair style is defined, the -special_bonds command often needs to be used to +angle_style hybrid only stores the list of sub-styles in the restart +file; angle coefficients need to be re-specified.

    +
    +

    Warning

    +

    When both an angle and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 3 bonded atoms. -

    -

    In the formulas listed for each angle style, theta is the angle -between the 3 atoms in the angle. -

    -
    - -

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on +exist between 3 bonded atoms.

    +
    +

    In the formulas listed for each angle style, theta is the angle +between the 3 atoms in the angle.

    +
    +

    Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated angle_coeff command. -

    -

    Note that there are also additional angle styles submitted by users +specified by the associated angle_coeff command.

    +

    Note that there are also additional angle styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of this -page. -

    - - -
    - -

    Restrictions: -

    -

    Angle styles can only be set for atom_styles that allow angles to be -defined. -

    -

    Most angle styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. +links to the individual styles are given in the angle section of this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    Angle styles can only be set for atom_styles that allow angles to be +defined.

    +

    Most angle styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. The doc pages for individual bond potentials tell if it is part of a -package. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: -

    -
    angle_style none 
    -
    - +package.

    +
    + +
    +

    Default¶

    +
    angle_style none
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/angle_table.html b/doc/angle_table.html index 9f136cd2df..2b98e033e2 100644 --- a/doc/angle_table.html +++ b/doc/angle_table.html @@ -1,91 +1,206 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + angle_style table command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    angle_style table command -

    -

    angle_style table/omp command -

    -

    Syntax: -

    -
    angle_style table style N 
    -
    -
    • style = linear or spline = method of interpolation -
    • N = use N values in table -
    -

    Examples: -

    -
    angle_style table linear 1000
    -angle_coeff 3 file.table ENTRY1 
    -
    -

    Description: -

    -

    Style table creates interpolation tables of length N from angle + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    angle_style table command¶

    +
    +
    +

    angle_style table/omp command¶

    +
    +

    Syntax¶

    +
    angle_style table style N
    +
    +
    +
      +
    • style = linear or spline = method of interpolation
    • +
    • N = use N values in table
    • +
    +
    +
    +

    Examples¶

    +
    angle_style table linear 1000
    +angle_coeff 3 file.table ENTRY1
    +
    +
    +
    +
    +

    Description¶

    +

    Style table creates interpolation tables of length N from angle potential and derivative values listed in a file(s) as a function of -angle The files are read by the angle_coeff -command. -

    -

    The interpolation tables are created by fitting cubic splines to the +angle The files are read by the angle_coeff +command.

    +

    The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of -N angles. During a simulation, these tables are used to interpolate +N angles. During a simulation, these tables are used to interpolate energy and force values on individual atoms as needed. The -interpolation is done in one of 2 styles: linear or spline. -

    -

    For the linear style, the angle is used to find 2 surrounding table +interpolation is done in one of 2 styles: linear or spline.

    +

    For the linear style, the angle is used to find 2 surrounding table values from which an energy or its derivative is computed by linear -interpolation. -

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The angle is used to +interpolation.

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The angle is used to find the appropriate set of coefficients which are used to evaluate a -cubic polynomial which computes the energy or derivative. -

    -

    The following coefficients must be defined for each angle type via the -angle_coeff command as in the example above. -

    -
    • filename -
    • keyword -
    -

    The filename specifies a file containing tabulated energy and +cubic polynomial which computes the energy or derivative.

    +

    The following coefficients must be defined for each angle type via the +angle_coeff command as in the example above.

    +
      +
    • filename
    • +
    • keyword
    • +
    +

    The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The -format of this file is described below. -

    -
    - -

    The format of a tabulated file is as follows (without the -parenthesized comments): -

    -
    # Angle potential for harmonic (one or more comment or blank lines) 
    -
    -
    HAM                           (keyword is the first text on line)
    +format of this file is described below.

    +
    +

    The format of a tabulated file is as follows (without the +parenthesized comments):

    +
    # Angle potential for harmonic (one or more comment or blank lines)
    +
    +
    +
    HAM                           (keyword is the first text on line)
     N 181 FP 0 0 EQ 90.0          (N, FP, EQ parameters)
                                   (blank line)
     N 181 FP 0 0                  (N, FP parameters)
     1 0.0 200.5 2.5               (index, angle, energy, derivative)
     2 1.0 198.0 2.5
     ...
    -181 180.0 0.0 0.0 
    -
    -

    A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments +181 180.0 0.0 0.0 +

    +
    +

    A section begins with a non-blank line whose 1st character is not a +“#”; blank lines or lines starting with “#” can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -angle_coeff command. The next line lists (in any +angle_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values. -

    -

    The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the angle_style table command. Let -Ntable = N in the angle_style command, and Nfile = "N" in the +keyword followed by one or more numeric values.

    +

    The parameter “N” is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the angle_style table command. Let +Ntable = N in the angle_style command, and Nfile = “N” in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and derivative @@ -94,21 +209,17 @@ Ntable are then used as described above, when computing energy and force for individual angles and their atoms. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary -interpolation), you should set Ntable = Nfile. -

    -

    The "FP" parameter is optional. If used, it is followed by two values +interpolation), you should set Ntable = Nfile.

    +

    The “FP” parameter is optional. If used, it is followed by two values fplo and fphi, which are the 2nd derivatives at the innermost and outermost angle settings. These values are needed by the spline -construction routines. If not specified by the "FP" parameter, they +construction routines. If not specified by the “FP” parameter, they are estimated (less accurately) by the first two and last two -derivative values in the table. -

    -

    The "EQ" parameter is also optional. If used, it is followed by a the -equilibrium angle value, which is used, for example, by the fix -shake command. If not used, the equilibrium angle is -set to 180.0. -

    -

    Following a blank line, the next N lines list the tabulated values. +derivative values in the table.

    +

    The “EQ” parameter is also optional. If used, it is followed by a the +equilibrium angle value, which is used, for example, by the fix shake command. If not used, the equilibrium angle is +set to 180.0.

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the angle value (in degrees), the 3rd value is the energy (in energy units), and the 4th is -dE/d(theta) (also in energy units). The 3rd @@ -117,47 +228,100 @@ angle. The last term is the derivative of the energy with respect to the angle (in degrees, not radians). Thus the units of the last term are still energy, not force. The angle values must increase from one line to the next. The angle values must also begin with 0.0 and end -with 180.0, i.e. span the full range of possible angles. -

    -

    Note that one file can contain many sections, each with a tabulated +with 180.0, i.e. span the full range of possible angles.

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    angle_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/atom_modify.html b/doc/atom_modify.html index 7dc0ab5a74..3feff05e51 100644 --- a/doc/atom_modify.html +++ b/doc/atom_modify.html @@ -1,179 +1,343 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS -Commands -
    + + + + + + + + + atom_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    atom_modify command -

    -

    Syntax: -

    -
    atom_modify keyword values ... 
    -
    -
    • one or more keyword/value pairs may be appended - -
    • keyword = id or map or first or sort - -
         id value = yes or no
      -   map value = array or hash
      -   first value = group-ID = group whose atoms will appear first in internal atom lists
      -   sort values = Nfreq binsize
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      atom_modify command¶

      +
      +

      Syntax¶

      +
      atom_modify keyword values ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be appended
      • +
      • keyword = id or map or first or sort
      • +
      +
      +id value = yes or no
      +   map value = array or hash
      +   first value = group-ID = group whose atoms will appear first in internal atom lists
      +   sort values = Nfreq binsize
            Nfreq = sort atoms spatially every this many time steps
      -     binsize = bin size for spatial sorting (distance units) 
      -
      - -
    -

    Examples: -

    -
    atom_modify map hash
    +     binsize = bin size for spatial sorting (distance units)
    +
    +
    +
    +

    Examples¶

    +
    atom_modify map hash
     atom_modify map array sort 10000 2.0
    -atom_modify first colloid 
    -
    -

    Description: -

    -

    Modify certain attributes of atoms defined and stored within LAMMPS, -in addition to what is specified by the atom_style -command. The id and map keywords must be specified before a -simulation box is defined; other keywords can be specified any time. -

    -

    The id keyword determines whether non-zero atom IDs can be assigned -to each atom. If the value is yes, which is the default, IDs are -assigned, whether you use the create atoms or -read_data or read_restart -commands to initialize atoms. If the value is no the IDs for all -atoms are assumed to be 0. -

    -

    If atom IDs are used, they must all be positive integers. They should +atom_modify first colloid +

    +
    +
    +
    +

    Description¶

    +

    Modify certain attributes of atoms defined and stored within LAMMPS, +in addition to what is specified by the atom_style +command. The id and map keywords must be specified before a +simulation box is defined; other keywords can be specified any time.

    +

    The id keyword determines whether non-zero atom IDs can be assigned +to each atom. If the value is yes, which is the default, IDs are +assigned, whether you use the create atoms or +read_data or read_restart +commands to initialize atoms. If the value is no the IDs for all +atoms are assumed to be 0.

    +

    If atom IDs are used, they must all be positive integers. They should also be unique, though LAMMPS does not check for this. Typically they should also be consecutively numbered (from 1 to Natoms), though this -is not required. Molecular atom styles are those +is not required. Molecular atom styles are those that store bond topology information (styles bond, angle, molecular, full). These styles require atom IDs since the IDs are used to encode the topology. Some other LAMMPS commands also require the use of atom IDs. E.g. some many-body pair styles use them to avoid double -computation of the I-J interaction between two atoms. -

    -

    The only reason not to use atom IDs is if you are running an atomic +computation of the I-J interaction between two atoms.

    +

    The only reason not to use atom IDs is if you are running an atomic simulation so large that IDs cannot be uniquely assigned. For a default LAMMPS build this limit is 2^31 or about 2 billion atoms. However, even in this case, you can use 64-bit atom IDs, allowing 2^63 or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG -switch. This is described in Section 2.2 +switch. This is described in Section 2.2 of the manual. If atom IDs are not used, they must be specified as 0 -for all atoms, e.g. in a data or restart file. -

    -

    The map keyword determines how atom ID lookup is done for molecular +for all atoms, e.g. in a data or restart file.

    +

    The map keyword determines how atom ID lookup is done for molecular atom styles. Lookups are performed by bond (angle, etc) routines in -LAMMPS to find the local atom index associated with a global atom ID. -

    -

    When the array value is used, each processor stores a lookup table +LAMMPS to find the local atom index associated with a global atom ID.

    +

    When the array value is used, each processor stores a lookup table of length N, where N is the largest atom ID in the system. This is a fast, simple method for many simulations, but requires too much memory -for large simulations. The hash value uses a hash table to perform -the lookups. This can be slightly slower than the array method, but +for large simulations. The hash value uses a hash table to perform +the lookups. This can be slightly slower than the array method, but its memory cost is proportional to the number of atoms owned by a processor, i.e. N/P when N is the total number of atoms in the system -and P is the number of processors. -

    -

    When this setting is not specified in your input script, LAMMPS +and P is the number of processors.

    +

    When this setting is not specified in your input script, LAMMPS creates a map, if one is needed, as an array or hash. See the discussion of default values below for how LAMMPS chooses which kind of map to build. Note that atomic systems do not normally need to create a map. However, even in this case some LAMMPS commands will create a map to find atoms (and then destroy it), or require a -permanent map. An example of the former is the velocity loop -all command, which uses a map when looping over all +permanent map. An example of the former is the velocity loop all command, which uses a map when looping over all atoms and insuring the same velocity values are assigned to an atom -ID, no matter which processor owns it. -

    -

    The first keyword allows a group to be specified whose -atoms will be maintained as the first atoms in each processor's list +ID, no matter which processor owns it.

    +

    The first keyword allows a group to be specified whose +atoms will be maintained as the first atoms in each processor’s list of owned atoms. This in only useful when the specified group is a small fraction of all the atoms, and there are other operations LAMMPS is performing that will be sped-up significantly by being able to loop over the smaller set of atoms. Otherwise the reordering required by -this option will be a net slow-down. The neigh_modify -include and comm_modify group +this option will be a net slow-down. The neigh_modify include and comm_modify group commands are two examples of commands that require this setting to -work efficiently. Several fixes, most notably time -integration fixes like fix nve, also take advantage of +work efficiently. Several fixes, most notably time +integration fixes like fix nve, also take advantage of this setting if the group they operate on is the group specified by -this command. Note that specifying "all" as the group-ID effectively -turns off the first option. -

    -

    It is OK to use the first keyword with a group that has not yet been +this command. Note that specifying “all” as the group-ID effectively +turns off the first option.

    +

    It is OK to use the first keyword with a group that has not yet been defined, e.g. to use the atom_modify first command at the beginning of your input script. LAMMPS does not use the group until a simullation -is run. -

    -

    The sort keyword turns on a spatial sorting or reordering of atoms -within each processor's sub-domain every Nfreq timesteps. If -Nfreq is set to 0, then sorting is turned off. Sorting can improve +is run.

    +

    The sort keyword turns on a spatial sorting or reordering of atoms +within each processor’s sub-domain every Nfreq timesteps. If +Nfreq is set to 0, then sorting is turned off. Sorting can improve cache performance and thus speed-up a LAMMPS simulation, as discussed -in a paper by (Meloni). Its efficacy depends on the problem +in a paper by (Meloni). Its efficacy depends on the problem size (atoms/processor), how quickly the system becomes disordered, and various other factors. As a general rule, sorting is typically more effective at speeding up simulations of liquids as opposed to solids. -In tests we have done, the speed-up can range from zero to 3-4x. -

    -

    Reordering is peformed every Nfreq timesteps during a dynamics run +In tests we have done, the speed-up can range from zero to 3-4x.

    +

    Reordering is peformed every Nfreq timesteps during a dynamics run or iterations during a minimization. More precisely, reordering occurs at the first reneighboring that occurs after the target timestep. The reordering is performed locally by each processor, -using bins of the specified binsize. If binsize is set to 0.0, -then a binsize equal to half the neighbor cutoff +using bins of the specified binsize. If binsize is set to 0.0, +then a binsize equal to half the neighbor cutoff distance (force cutoff plus skin distance) is used, which is a reasonable value. After the atoms have been binned, they are reordered so that atoms in the same bin are adjacent to each other in -the processor's 1d list of atoms. -

    -

    The goal of this procedure is for atoms to put atoms close to each -other in the processor's one-dimensional list of atoms that are also +the processor’s 1d list of atoms.

    +

    The goal of this procedure is for atoms to put atoms close to each +other in the processor’s one-dimensional list of atoms that are also near to each other spatially. This can improve cache performance when pairwise intereractions and neighbor lists are computed. Note that if bins are too small, there will be few atoms/bin. Likewise if bins are too large, there will be many atoms/bin. In both cases, the goal of -cache locality will be undermined. -

    -

    IMPORTANT NOTE: Running a simulation with sorting on versus off should +cache locality will be undermined.

    +
    +

    Warning

    +

    Running a simulation with sorting on versus off should not change the simulation results in a statistical sense. However, a different ordering will induce round-off differences, which will lead to diverging trajectories over time when comparing two simluations. Various commands, particularly those which use random numbers -(e.g. velocity create, and fix -langevin), may generate (statistically identical) +(e.g. velocity create, and fix langevin), may generate (statistically identical) results which depend on the order in which atoms are processed. The -order of atoms in a dump file will also typically change -if sorting is enabled. -

    -

    Restrictions: -

    -

    The first and sort options cannot be used together. Since sorting -is on by default, it will be turned off if the first keyword is -used with a group-ID that is not "all". -

    -

    Related commands: none -

    -

    Default: -

    -

    By default, id is yes. By default, atomic systems (no bond topology -info) do not use a map. For molecular systems (with bond topology -info), a map is used. The default map style is array if no atom ID is -larger than 1 million, otherwise the default is hash. By default, a -"first" group is not defined. By default, sorting is enabled with a -frequency of 1000 and a binsize of 0.0, which means the neighbor -cutoff will be used to set the bin size. -

    -
    +order of atoms in a dump file will also typically change +if sorting is enabled.

    +
    +
    +
    +

    Restrictions¶

    +

    The first and sort options cannot be used together. Since sorting +is on by default, it will be turned off if the first keyword is +used with a group-ID that is not “all”.

    +

    Related commands: none

    +
    +
    +

    Default¶

    +

    By default, id is yes. By default, atomic systems (no bond topology +info) do not use a map. For molecular systems (with bond topology +info), a map is used. The default map style is array if no atom ID is +larger than 1 million, otherwise the default is hash. By default, a +“first” group is not defined. By default, sorting is enabled with a +frequency of 1000 and a binsize of 0.0, which means the neighbor +cutoff will be used to set the bin size.

    +
    +

    (Meloni) Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007).

    +
    + - -

    (Meloni) Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/atom_style.html b/doc/atom_style.html index 6c690b135f..a335d9a186 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -1,268 +1,472 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + atom_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    atom_style command -

    -

    Syntax: -

    -
    atom_style style args 
    -
    -
    • style = angle or atomic or body or bond or charge or dipole or electron or ellipsoid or full or line or meso or molecular or peri or sphere or tri or template or hybrid - -
        args = none for any style except body and hybrid
      -  body args = bstyle bstyle-args
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      atom_style command¶

      +
      +

      Syntax¶

      +
      atom_style style args
      +
      +
      +
        +
      • style = angle or atomic or body or bond or charge or dipole or electron or ellipsoid or full or line or meso or molecular or peri or sphere or tri or template or hybrid
      • +
      +
      +args = none for any style except body and hybrid
      +  body args = bstyle bstyle-args
           bstyle = style of body particles
           bstyle-args = additional arguments specific to the bstyle
      -                  see the body doc page for details
      -  template args = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  hybrid args = list of one or more sub-styles, each with their args 
      -
      -
    • accelerated styles (with same args) = angle/cuda or angle/kk or atomic/cuda or atomic/kk or bond/kk or charge/cuda or charge/kk or full/cuda or full/kk or molecular/kk - - -
    -

    Examples: -

    -
    atom_style atomic
    +                  see the body doc page for details
    +  template args = template-ID
    +    template-ID = ID of molecule template specified in a separate molecule command
    +  hybrid args = list of one or more sub-styles, each with their args
    +
    +
      +
    • accelerated styles (with same args) = angle/cuda or angle/kk or atomic/cuda or atomic/kk or bond/kk or charge/cuda or charge/kk or full/cuda or full/kk or molecular/kk
    • +
    +
    +
    +

    Examples¶

    +
    atom_style atomic
     atom_style bond
     atom_style full
     atom_style full/cuda
     atom_style body nparticle 2 10
     atom_style hybrid charge bond
     atom_style hybrid charge body nparticle 2 5
    -atom_style template myMols 
    -
    -

    Description: -

    -

    Define what style of atoms to use in a simulation. This determines +atom_style template myMols +

    +
    +
    +
    +

    Description¶

    +

    Define what style of atoms to use in a simulation. This determines what attributes are associated with the atoms. This command must be -used before a simulation is setup via a read_data, -read_restart, or create_box -command. -

    -

    Once a style is assigned, it cannot be changed, so use a style general -enough to encompass all attributes. E.g. with style bond, angular +used before a simulation is setup via a read_data, +read_restart, or create_box +command.

    +

    Once a style is assigned, it cannot be changed, so use a style general +enough to encompass all attributes. E.g. with style bond, angular terms cannot be used or added later to the model. It is OK to use a -style more general than needed, though it may be slightly inefficient. -

    -

    The choice of style affects what quantities are stored by each atom, +style more general than needed, though it may be slightly inefficient.

    +

    The choice of style affects what quantities are stored by each atom, what quantities are communicated between processors to enable forces to be computed, and what quantities are listed in the data file read -by the read_data command. -

    -

    These are the additional attributes of each style and the typical +by the read_data command.

    +

    These are the additional attributes of each style and the typical kinds of physical systems they are used to model. All styles store coordinates, velocities, atom IDs and types. See the -read_data, create_atoms, and -set commands for info on how to set these various -quantities. -

    -
    - - - - - - - - - - - - - - - - -
    angle bonds and angles bead-spring polymers with stiffness
    atomic only the default values coarse-grain liquids, solids, metals
    body mass, inertia moments, quaternion, angular momentum arbitrary bodies
    bond bonds bead-spring polymers
    charge charge atomic system with charges
    dipole charge and dipole moment system with dipolar particles
    electron charge and spin and eradius electronic force field
    ellipsoid shape, quaternion, angular momentum aspherical particles
    full molecular + charge bio-molecules
    line end points, angular velocity rigid bodies
    meso rho, e, cv SPH particles
    molecular bonds, angles, dihedrals, impropers uncharged molecules
    peri mass, volume mesocopic Peridynamic models
    sphere diameter, mass, angular velocity granular models
    template template index, template atom small molecules with fixed topology
    tri corner points, angular momentum rigid bodies
    wavepacket charge, spin, eradius, etag, cs_re, cs_im AWPMD -
    - -

    IMPORTANT NOTE: It is possible to add some attributes, such as a -molecule ID, to atom styles that do not have them via the fix -property/atom command. This command also +read_data, create_atoms, and +set commands for info on how to set these various +quantities.

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    anglebonds and anglesbead-spring polymers with stiffness
    atomiconly the default valuescoarse-grain liquids, solids, metals
    bodymass, inertia moments, quaternion, angular momentumarbitrary bodies
    bondbondsbead-spring polymers
    chargechargeatomic system with charges
    dipolecharge and dipole momentsystem with dipolar particles
    electroncharge and spin and eradiuselectronic force field
    ellipsoidshape, quaternion, angular momentumaspherical particles
    fullmolecular + chargebio-molecules
    lineend points, angular velocityrigid bodies
    mesorho, e, cvSPH particles
    molecularbonds, angles, dihedrals, impropersuncharged molecules
    perimass, volumemesocopic Peridynamic models
    spherediameter, mass, angular velocitygranular models
    templatetemplate index, template atomsmall molecules with fixed topology
    tricorner points, angular momentumrigid bodies
    wavepacketcharge, spin, eradius, etag, cs_re, cs_imAWPMD
    +
    +

    Warning

    +

    It is possible to add some attributes, such as a +molecule ID, to atom styles that do not have them via the fix property/atom command. This command also allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the fix -property/atom doc page for examples of cases +floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases where this is useful and details on how to initialize, access, and -output the custom values. -

    -

    All of the above styles define point particles, except the sphere, -ellipsoid, electron, peri, wavepacket, line, tri, and -body styles, which define finite-size particles. See Section_howto -14 for an overview of using finite-size -particle models with LAMMPS. -

    -

    All of the point-particle styles assign mass to particles on a -per-type basis, using the mass command, The finite-size +output the custom values.

    +
    +

    All of the above styles define point particles, except the sphere, +ellipsoid, electron, peri, wavepacket, line, tri, and +body styles, which define finite-size particles. See Section_howto 14 for an overview of using finite-size +particle models with LAMMPS.

    +

    All of the point-particle styles assign mass to particles on a +per-type basis, using the mass command, The finite-size particle styles assign mass to individual particles on a per-particle -basis. -

    -

    For the sphere style, the particles are spheres and each stores a -per-particle diameter and mass. If the diameter > 0.0, the particle +basis.

    +

    For the sphere style, the particles are spheres and each stores a +per-particle diameter and mass. If the diameter > 0.0, the particle is a finite-size sphere. If the diameter = 0.0, it is a point -particle. -

    -

    For the ellipsoid style, the particles are ellipsoids and each +particle.

    +

    For the ellipsoid style, the particles are ellipsoids and each stores a flag which indicates whether it is a finite-size ellipsoid or a point particle. If it is an ellipsoid, it also stores a shape vector with the 3 diamters of the ellipsoid and a quaternion 4-vector -with its orientation. -

    -

    For the electron style, the particles representing electrons are 3d +with its orientation.

    +

    For the electron style, the particles representing electrons are 3d Gaussians with a specified position and bandwidth or uncertainty in -position, which is represented by the eradius = electron size. -

    -

    For the peri style, the particles are spherical and each stores a -per-particle mass and volume. -

    -

    The meso style is for smoothed particle hydrodynamics (SPH) +position, which is represented by the eradius = electron size.

    +

    For the peri style, the particles are spherical and each stores a +per-particle mass and volume.

    +

    The meso style is for smoothed particle hydrodynamics (SPH) particles which store a density (rho), energy (e), and heat capacity -(cv). -

    -

    The wavepacket style is similar to electron, but the electrons may +(cv).

    +

    The wavepacket style is similar to electron, but the electrons may consist of several Gaussian wave packets, summed up with coefficients cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must -have identical etag values. -

    -

    For the line style, the particles are idealized line segments and +have identical etag values.

    +

    For the line style, the particles are idealized line segments and each stores a per-particle mass and length and orientation (i.e. the -end points of the line segment). -

    -

    For the tri style, the particles are planar triangles and each +end points of the line segment).

    +

    For the tri style, the particles are planar triangles and each stores a per-particle mass and size and orientation (i.e. the corner -points of the triangle). -

    -

    The template style allows molecular topolgy (bonds,angles,etc) to be -defined via a molecule template using the molecule +points of the triangle).

    +

    The template style allows molecular topolgy (bonds,angles,etc) to be +defined via a molecule template using the molecule command. The template stores one or more molecules with a single copy of the topology info (bonds,angles,etc) of each. Individual atoms only store a template index and template atom to identify which molecule and which atom-within-the-molecule they represent. Using the -template style instead of the bond, angle, molecular styles +template style instead of the bond, angle, molecular styles can save memory for systems comprised of a large number of small molecules, all of a single type (or small number of types). See the -paper by Grime and Voth, in (Grime), for examples of how this -can be advantageous for large-scale coarse-grained systems. -

    -

    IMPORTANT NOTE: When using the template style with a molecule -template that contains multiple molecules, you should +paper by Grime and Voth, in (Grime), for examples of how this +can be advantageous for large-scale coarse-grained systems.

    +
    +

    Warning

    +

    When using the template style with a molecule template that contains multiple molecules, you should insure the atom types, bond types, angle_types, etc in all the molecules are consistent. E.g. if one molecule represents H2O and another CO2, then you probably do not want each molecule file to define 2 atom types and a single bond type, because they will conflict with each other when a mixture system of H2O and CO2 molecules is -defined, e.g. by the read_data command. Rather the +defined, e.g. by the read_data command. Rather the H2O molecule should define atom types 1 and 2, and bond type 1. And the CO2 molecule should define atom types 3 and 4 (or atom types 3 and -2 if a single oxygen type is desired), and bond type 2. -

    -

    For the body style, the particles are arbitrary bodies with internal -attributes defined by the "style" of the bodies, which is specified by -the bstyle argument. Body particles can represent complex entities, +2 if a single oxygen type is desired), and bond type 2.

    +
    +

    For the body style, the particles are arbitrary bodies with internal +attributes defined by the “style” of the bodies, which is specified by +the bstyle argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of -sub-particles, deformable objects, etc. -

    -

    The body doc page descibes the body styles LAMMPS +sub-particles, deformable objects, etc.

    +

    The body doc page descibes the body styles LAMMPS currently supports, and provides more details as to the kind of body particles they represent. For all styles, each body particle stores moments of inertia and a quaternion 4-vector, so that its orientation -and position can be time integrated due to forces and torques. -

    -

    Note that there may be additional arguments required along with the -bstyle specification, in the atom_style body command. These -arguments are described in the body doc page. -

    -
    - -

    Typically, simulations require only a single (non-hybrid) atom style. +and position can be time integrated due to forces and torques.

    +

    Note that there may be additional arguments required along with the +bstyle specification, in the atom_style body command. These +arguments are described in the body doc page.

    +
    +

    Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the needed properties by any atom. For example, if some atoms in a -simulation are charged, but others are not, use the charge style. -If some atoms have bonds, but others do not, use the bond style. -

    -

    The only scenario where the hybrid style is needed is if there is no +simulation are charged, but others are not, use the charge style. +If some atoms have bonds, but others do not, use the bond style.

    +

    The only scenario where the hybrid style is needed is if there is no single style which defines all needed properties of all atoms. For example, if you want dipolar particles which will rotate due to -torque, you would need to use "atom_style hybrid sphere dipole". When +torque, you would need to use “atom_style hybrid sphere dipole”. When a hybrid style is used, atoms store and communicate the union of all -quantities implied by the individual styles. -

    -

    When using the hybrid style, you cannot combine the template style +quantities implied by the individual styles.

    +

    When using the hybrid style, you cannot combine the template style with another molecular style that stores bond,angle,etc info on a -per-atom basis. -

    -

    LAMMPS can be extended with new atom styles as well as new body -styles; see this section. -

    -
    - -

    Styles with a cuda or kk suffix are functionally the same as the +per-atom basis.

    +

    LAMMPS can be extended with new atom styles as well as new body +styles; see this section.

    +
    +

    Styles with a cuda or kk 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. The accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. -

    -

    Note that other acceleration packages in LAMMPS, specifically the GPU, +results, except for round-off and precision issues.

    +

    Note that other acceleration packages in LAMMPS, specifically the GPU, USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom -styles. -

    -

    The accelerated styles are part of the USER-CUDA and KOKKOS packages +styles.

    +

    The accelerated styles are part of the USER-CUDA and KOKKOS packages respectively. They are only enabled if LAMMPS was built with those -packages. See the Making LAMMPS section -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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command. -

    -

    The angle, bond, full, molecular, and template styles are -part of the MOLECULE package. The line and tri styles are part -of the ASPHERE pacakge. The body style is part of the BODY package. -The dipole style is part of the DIPOLE package. The peri style is -part of the PERI package for Peridynamics. The electron style is -part of the USER-EFF package for electronic force -fields. The meso style is part of the USER-SPH -package for smoothed particle hydrodyanmics (SPH). See this PDF -guide to using SPH in LAMMPS. The -wavepacket style is part of the USER-AWPMD package for the -antisymmetrized wave packet MD method. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    read_data, pair_style -

    -

    Default: -

    -

    atom_style atomic -

    -
    +packages. See the Making LAMMPS section +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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command.

    +

    The angle, bond, full, molecular, and template styles are +part of the MOLECULE package. The line and tri styles are part +of the ASPHERE pacakge. The body style is part of the BODY package. +The dipole style is part of the DIPOLE package. The peri style is +part of the PERI package for Peridynamics. The electron style is +part of the USER-EFF package for electronic force fields. The meso style is part of the USER-SPH +package for smoothed particle hydrodyanmics (SPH). See this PDF guide to using SPH in LAMMPS. The +wavepacket style is part of the USER-AWPMD package for the +antisymmetrized wave packet MD method. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    atom_style atomic

    +
    +

    (Grime) Grime and Voth, to appear in J Chem Theory & Computation +(2014).

    +
    + - -

    (Grime) Grime and Voth, to appear in J Chem Theory & Computation -(2014). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/balance.html b/doc/balance.html index 39acba35ea..7899e7a6ab 100644 --- a/doc/balance.html +++ b/doc/balance.html @@ -1,130 +1,246 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + balance command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    balance command -

    -

    Syntax: -

    -
    balance thresh style args ... keyword value ... 
    -
    -
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance - -
    • one style/arg pair can be used (or multiple for x,y,z) - -
    • style = x or y or z or shift or rcb - -
        x args = uniform or Px-1 numbers between 0 and 1
      -    uniform = evenly spaced cuts between processors in x dimension
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      balance command¶

      +
      +

      Syntax¶

      +
      balance thresh style args ... keyword value ...
      +
      +
      +
        +
      • thresh = imbalance threshhold that must be exceeded to perform a re-balance
      • +
      • one style/arg pair can be used (or multiple for x,*y*,*z*)
      • +
      • style = x or y or z or shift or rcb
      • +
      +
      +x args = uniform or Px-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in x dimension
           numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension
      -    x can be specified together with y or z
      -  y args = uniform or Py-1 numbers between 0 and 1
      -    uniform = evenly spaced cuts between processors in y dimension
      +    x can be specified together with y or z
      +  y args = uniform or Py-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in y dimension
           numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension
      -    y can be specified together with x or z
      -  z args = uniform or Pz-1 numbers between 0 and 1
      -    uniform = evenly spaced cuts between processors in z dimension
      +    y can be specified together with x or z
      +  z args = uniform or Pz-1 numbers between 0 and 1
      +    uniform = evenly spaced cuts between processors in z dimension
           numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension
      -    z can be specified together with x or y
      -  shift args = dimstr Niter stopthresh
      -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
      +    z can be specified together with x or y
      +  shift args = dimstr Niter stopthresh
      +    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
           Niter = # of times to iterate within each dimension of dimstr sequence
           stopthresh = stop balancing when this imbalance threshhold is reached
      -  rcb args = none 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = out - -
        out value = filename
      -    filename = write each processor's sub-domain to a file 
      -
      - -
    -

    Examples: -

    -
    balance 0.9 x uniform y 0.4 0.5 0.6
    +  rcb args = none
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = out
    • +
    +
    +out value = filename
    +    filename = write each processor's sub-domain to a file
    +
    +
    +
    +

    Examples¶

    +
    balance 0.9 x uniform y 0.4 0.5 0.6
     balance 1.2 shift xz 5 1.1
     balance 1.0 shift xz 5 1.1
     balance 1.1 rcb
    -balance 1.0 shift x 20 1.0 out tmp.balance 
    -
    -

    Description: -

    -

    This command adjusts the size and shape of processor sub-domains +balance 1.0 shift x 20 1.0 out tmp.balance +

    +
    +
    +
    +

    Description¶

    +

    This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across -processors. The load balancing is "static" in the sense that this +processors. The load balancing is “static” in the sense that this command performs the balancing once, before or between simulations. The processor sub-domains will then remain static during the -subsequent run. To perform "dynamic" balancing, see the fix -balance command, which can adjust processor -sub-domain sizes and shapes on-the-fly during a run. -

    -

    Load-balancing is typically only useful if the particles in the +subsequent run. To perform “dynamic” balancing, see the fix balance command, which can adjust processor +sub-domain sizes and shapes on-the-fly during a run.

    +

    Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per procesor, may assign very different numbers of particles per processor. This can lead to poor -performance when the simulation is run in parallel. -

    -

    Note that the processors command allows some control +performance when the simulation is run in parallel.

    +

    Note that the processors command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume. -

    -

    The requested load-balancing operation is only performed if the -current "imbalance factor" in particles owned by each processor -exceeds the specified thresh parameter. The imbalance factor is +sub-domains will still have the same shape and same volume.

    +

    The requested load-balancing operation is only performed if the +current “imbalance factor” in particles owned by each processor +exceeds the specified thresh parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an -imbalance factor of 1.0 is perfect balance. -

    -

    As an example, for 10000 particles running on 10 processors, if the +imbalance factor of 1.0 is perfect balance.

    +

    As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that a re-balance can be forced even if the current balance is perfect (1.0) be specifying a -thresh < 1.0. -

    -

    IMPORTANT NOTE: Balancing is performed even if the imbalance factor -does not exceed the thresh parameter if a "grid" style is specified -when the current partitioning is "tiled". The meaning of "grid" vs -"tiled" is explained below. This is to allow forcing of the -partitioning to "grid" so that the comm_style brick -command can then be used to replace a current comm_style -tiled setting. -

    -

    When the balance command completes, it prints statistics about the +thresh < 1.0.

    +
    +

    Warning

    +

    Balancing is performed even if the imbalance factor +does not exceed the thresh parameter if a “grid” style is specified +when the current partitioning is “tiled”. The meaning of “grid” vs +“tiled” is explained below. This is to allow forcing of the +partitioning to “grid” so that the comm_style brick +command can then be used to replace a current comm_style tiled setting.

    +
    +

    When the balance command completes, it prints statistics about the result, including the change in the imbalance factor and the change in -the maximum number of particles on any processor. For "grid" methods +the maximum number of particles on any processor. For “grid” methods (defined below) that create a logical 3d grid of processors, the positions of all cutting planes in each of the 3 dimensions (as -fractions of the box length) are also printed. -

    -

    IMPORTANT NOTE: This command attempts to minimize the imbalance +fractions of the box length) are also printed.

    +
    +

    Warning

    +

    This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect -balance (1.0) may not be achieved. For example, "grid" methods +balance (1.0) may not be achieved. For example, “grid” methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the intiial system is -generated by the create_atoms command, then "grid" +generated by the create_atoms command, then “grid” methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single -processor. -

    -

    IMPORTANT NOTE: The imbalance factor is also an estimate of the +processor.

    +
    +
    +

    Warning

    +

    The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were @@ -132,105 +248,117 @@ perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM -solver used via the kspace_style command. Thus +solver used via the kspace_style command. Thus you should benchmark the run times of a simulation before and after -balancing. -

    -
    - -

    The method used to perform a load balance is specified by one of the -listed styles (or more in the case of x,y,z), which are -described in detail below. There are 2 kinds of styles. -

    -

    The x, y, z, and shift styles are "grid" methods which produce +balancing.

    +
    +
    +

    The method used to perform a load balance is specified by one of the +listed styles (or more in the case of x,*y*,*z*), which are +described in detail below. There are 2 kinds of styles.

    +

    The x, y, z, and shift styles are “grid” methods which produce a logical 3d grid of processors. They operate by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for -each of 16 processors); the middle diagram is after a "grid" method -has been applied. -

    -
    -
    -

    The rcb style is a "tiling" method which does not produce a logical +each of 16 processors); the middle diagram is after a “grid” method +has been applied.

    + + + +

    The rcb style is a “tiling” method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as -in the rightmost diagram above. -

    -

    The "grid" methods can be used with either of the -comm_style command options, brick or tiled. The -"tiling" methods can only be used with comm_style -tiled. Note that it can be useful to use a "grid" -method with comm_style tiled to return the domain -partitioning to a logical 3d grid of processors so that "comm_style -brick" can afterwords be specified for subsequent run -commands. -

    -

    When a "grid" method is specified, the current domain partitioning can +in the rightmost diagram above.

    +

    The “grid” methods can be used with either of the +comm_style command options, brick or tiled. The +“tiling” methods can only be used with comm_style tiled. Note that it can be useful to use a “grid” +method with comm_style tiled to return the domain +partitioning to a logical 3d grid of processors so that “comm_style +brick” can afterwords be specified for subsequent run +commands.

    +

    When a “grid” method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This becomes the starting -point for the balancing operation. -

    -

    When a "tiling" method is specified, the current domain partitioning -("grid" or "tiled") is ignored, and a new partitioning is computed -from scratch. -

    -
    - -

    The x, y, and z styles invoke a "grid" method for balancing, as +point for the balancing operation.

    +

    When a “tiling” method is specified, the current domain partitioning +(“grid” or “tiled”) is ignored, and a new partitioning is computed +from scratch.

    +
    +

    The x, y, and z styles invoke a “grid” method for balancing, as described above. Note that any or all of these 3 styles can be specified together, one after the other, but they cannot be used with any other style. This style adjusts the position of cutting planes between processor sub-domains in specific dimensions. Only the -specified dimensions are altered. -

    -

    The uniform argument spaces the planes evenly, as in the left -diagrams above. The numeric argument requires listing Ps-1 numbers +specified dimensions are altered.

    +

    The uniform argument spaces the planes evenly, as in the left +diagrams above. The numeric argument requires listing Ps-1 numbers that specify the position of the cutting planes. This requires knowing Ps = Px or Py or Pz = the number of processors assigned by LAMMPS to the relevant dimension. This assignment is made (and the Px, Py, Pz values printed out) when the simulation box is created by -the "create_box" or "read_data" or "read_restart" command and is -influenced by the settings of the processors -command. -

    -

    Each of the numeric values must be between 0 and 1, and they must be +the “create_box” or “read_data” or “read_restart” command and is +influenced by the settings of the processors +command.

    +

    Each of the numeric values must be between 0 and 1, and they must be listed in ascending order. They represent the fractional position of the cutting place. The left (or lower) edge of the box is 0.0, and the right (or upper) edge is 1.0. Neither of these values is specified. Only the interior Ps-1 positions are specified. Thus is there are 2 procesors in the x dimension, you specify a single value -such as 0.75, which would make the left processor's sub-domain 3x -larger than the right processor's sub-domain. -

    -
    - -

    The shift style invokes a "grid" method for balancing, as +such as 0.75, which would make the left processor’s sub-domain 3x +larger than the right processor’s sub-domain.

    +
    +

    The shift style invokes a “grid” method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance -factor, similar to how the fix balance shift -command operates. -

    -

    The dimstr argument is a string of characters, each of which must be -an "x" or "y" or "z". Eacn character can appear zero or one time, +factor, similar to how the fix balance shift +command operates.

    +

    The dimstr argument is a string of characters, each of which must be +an “x” or “y” or “z”. Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there -to be a density variation in the particles. -

    -

    Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in dimstr, one dimension at a time. For a single +to be a density variation in the particles.

    +

    Balancing proceeds by adjusting the cutting planes in each of the +dimensions listed in dimstr, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up -to Niter times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the stopthresh -criterion is met. -

    -

    A rebalance operation in a single dimension is performed using a +to Niter times. After each dimension finishes, the imbalance factor +is re-computed, and the balancing operation halts if the stopthresh +criterion is met.

    +

    A rebalance operation in a single dimension is performed using a recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning for a single value, except @@ -242,33 +370,31 @@ the cut is adjusted to be halfway between a low and high bound. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recustion progresses, the count of particles on either side of the -plane gets closer to the target value. -

    -

    Once the rebalancing is complete and final processor sub-domains +plane gets closer to the target value.

    +

    Once the rebalancing is complete and final processor sub-domains assigned, particles are migrated to their new owning processor, and -the balance procedure ends. -

    -

    IMPORTANT NOTE: At each rebalance operation, the bisectioning for each +the balance procedure ends.

    +
    +

    Warning

    +

    At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds -separated by the extent of a processor's sub-domain in one dimension. +separated by the extent of a processor’s sub-domain in one dimension. The size of this bracketing region shrinks by 1/2 every iteration. -Thus if Niter is specified as 10, the cutting plane will typically +Thus if Niter is specified as 10, the cutting plane will typically be positioned to 1 part in 1000 accuracy (relative to the perfect -target position). For Niter = 20, it will be accurate to 1 part in -a million. Thus there is no need ot set Niter to a large value. +target position). For Niter = 20, it will be accurate to 1 part in +a million. Thus there is no need ot set Niter to a large value. LAMMPS will check if the threshold accuracy is reached (in a -dimension) is less iterations than Niter and exit early. However, -Niter should also not be set too small, since it will take roughly +dimension) is less iterations than Niter and exit early. However, +Niter should also not be set too small, since it will take roughly the same number of iterations to converge even if the cutting plane is -initially close to the target value. -

    -
    - -

    The rcb style invokes a "tiled" method for balancing, as described +initially close to the target value.

    +
    +
    +

    The rcb style invokes a “tiled” method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows. -

    -

    The simulation domain is cut into 2 boxes by an axis-aligned cut in +simulation domain. The basic idea is as follows.

    +

    The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the @@ -279,27 +405,23 @@ box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors -at each iteration. -

    -

    That is the procedure for the first cut. Subsequent cuts are made +at each iteration.

    +

    That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms -in that sub-box. -

    -
    - -

    The out keyword writes a text file to the specified filename with +in that sub-box.

    +
    +

    The out keyword writes a text file to the specified filename with the results of the balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the -Pizza.py mdump tool which has support for manipulating and +Pizza.py mdump tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem: -

    -
    ITEM: TIMESTEP
    +processors for a 2d problem:

    +
    ITEM: TIMESTEP
     0
     ITEM: NUMBER OF NODES
     16
    @@ -332,29 +454,90 @@ ITEM: SQUARES
     1 1 1 2 3 4
     2 1 5 6 7 8
     3 1 9 10 11 12
    -4 1 13 14 15 16 
    -
    -

    The coordinates of all the vertices are listed in the NODES section, 5 +4 1 13 14 15 16 +

    + +

    The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list. -

    -

    The "SQUARES" section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4). -

    -

    For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and "SQUARES" replaced by "CUBES". -

    -
    +will be duplicate nodes in the list.

    +

    The “SQUARES” section lists the node IDs of the 4 vertices in a +rectangle for each processor (1 to 4).

    +

    For a 3d problem, the syntax is similar with 8 vertices listed for +each processor, instead of 4, and “SQUARES” replaced by “CUBES”.

    + +
    +
    +

    Restrictions¶

    +

    For 2d simulations, the z style cannot be used. Nor can a “z” +appear in dimstr for the shift style.

    +
    + + -

    Restrictions: -

    -

    For 2d simulations, the z style cannot be used. Nor can a "z" -appear in dimstr for the shift style. -

    -

    Related commands: -

    -

    processors, fix balance -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/body.html b/doc/body.html index 3d610764d2..231e8ed7f4 100644 --- a/doc/body.html +++ b/doc/body.html @@ -1,138 +1,252 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + Body particles — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    Body particles -

    -

    Overview: -

    -

    This doc page is not about a LAMMPS input script command, but about + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    Body particles¶

    +

    Overview:

    +

    This doc page is not about a LAMMPS input script command, but about body particles, which are generalized finite-size particles. Individual body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See Section_howto -14 for a general overview of all these -particle types. -

    -

    Body particles are used via the atom_style body +simpler entities that body particles. See Section_howto 14 for a general overview of all these +particle types.

    +

    Body particles are used via the atom_style body command. It takes a body style as an argument. The current body styles supported by LAMMPS are as follows. The name in the first -column is used as the bstyle argument for the atom_style -body command. -

    -
    -
    nparticle rigid body with N sub-particles -
    - -

    The body style determines what attributes are stored for each body and +column is used as the bstyle argument for the atom_style body command.

    + ++++ + + + + + +
    nparticlerigid body with N sub-particles
    +

    The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each -style are described below. -

    -

    We hope to add more styles in the future. See Section_modify -12 for details on how to add a new body -style to the code. -

    -
    - -

    When to use body particles: -

    -

    You should not use body particles to model a rigid body made of +style are described below.

    +

    We hope to add more styles in the future. See Section_modify 12 for details on how to add a new body +style to the code.

    +
    +

    When to use body particles:

    +

    You should not use body particles to model a rigid body made of simpler particles (e.g. point, sphere, ellipsoid, line segment, triangular particles), if the interaction between pairs of rigid bodies is just the summation of pairwise interactions between the simpler particles. LAMMPS already supports this kind of model via the -fix rigid command. Any of the numerous pair styles +fix rigid command. Any of the numerous pair styles that compute interactions between simpler particles can be used. The -fix rigid command time integrates the motion of the +fix rigid command time integrates the motion of the rigid bodies. All of the standard LAMMPS commands for thermostatting, adding constraints, performing output, etc will operate as expected on -the simple particles. -

    -

    By contrast, when body particles are used, LAMMPS treats an entire +the simple particles.

    +

    By contrast, when body particles are used, LAMMPS treats an entire body as a single particle for purposes of computing pairwise interactions, building neighbor lists, migrating particles between processors, outputting particles to a dump file, etc. This means that interactions between pairs of bodies or between a body and non-body (point) particle need to be encoded in an appropriate pair style. If -such a pair style were to mimic the fix rigid model, +such a pair style were to mimic the fix rigid model, it would need to loop over the entire collection of interactions between pairs of simple particles within the two bodies, each time a -single body/body interaction was computed. -

    -

    Thus it only makes sense to use body particles and develop such a pair +single body/body interaction was computed.

    +

    Thus it only makes sense to use body particles and develop such a pair style, when particle/particle interactions are more complex than what -the fix rigid command can already calculate. For -example, if particles have one or more of the following attributes: -

    -
    • represented by a surface mesh -
    • represented by a collection of geometric entities (e.g. planes + spheres) -
    • deformable -
    • internal stress that induces fragmentation -
    -

    then the interaction between pairs of particles is likely to be more +the fix rigid command can already calculate. For +example, if particles have one or more of the following attributes:

    +
      +
    • represented by a surface mesh
    • +
    • represented by a collection of geometric entities (e.g. planes + spheres)
    • +
    • deformable
    • +
    • internal stress that induces fragmentation
    • +
    +

    then the interaction between pairs of particles is likely to be more complex than the summation of simple sub-particle interactions. An example is contact or frictional forces between particles with planar -sufaces that inter-penetrate. -

    -

    These are additional LAMMPS commands that can be used with body -particles of different styles -

    -
    - - -
    fix nve/body integrate motion of a body particle
    compute body/local store sub-particle attributes of a body particle
    dump local output sub-particle attributes of a body particle -
    - -

    The pair styles defined for use with specific body styles are listed -in the sections below. -

    -
    - -

    Specifics of body style nparticle: -

    -

    The nparticle body style represents body particles as a rigid body +sufaces that inter-penetrate.

    +

    These are additional LAMMPS commands that can be used with body +particles of different styles

    + ++++ + + + + + + + + + + + +
    fix nve/bodyintegrate motion of a body particle
    compute body/localstore sub-particle attributes of a body particle
    dump localoutput sub-particle attributes of a body particle
    +

    The pair styles defined for use with specific body styles are listed +in the sections below.

    +
    +

    Specifics of body style nparticle:

    +

    The nparticle body style represents body particles as a rigid body with a variable number N of sub-particles. It is provided as a vanillia, prototypical example of a body particle, although as -mentioned above, the fix rigid command already -duplicates its functionality. -

    -

    The atom_style body command for this body style takes two additional -arguments: -

    -
    atom_style body nparticle Nmin Nmax
    +mentioned above, the fix rigid command already
    +duplicates its functionality.

    +

    The atom_style body command for this body style takes two additional +arguments:

    +
    atom_style body nparticle Nmin Nmax
     Nmin = minimum # of sub-particles in any body in the system
    -Nmax = maximum # of sub-particles in any body in the system 
    -
    -

    The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. -

    -

    When the read_data command reads a data file for this +Nmax = maximum # of sub-particles in any body in the system +

    +
    +

    The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle.

    +

    When the read_data command reads a data file for this body style, the following information must be provided for each entry -in the Bodies section of the data file: -

    -
    atom-ID 1 M
    +in the Bodies section of the data file:

    +
    atom-ID 1 M
     N
     ixx iyy izz ixy ixz iyz x1 y1 z1 ...
     ...
    -... xN yN zN 
    -
    -

    N is the number of sub-particles in the body particle. M = 6 + 3*N. +... xN yN zN +

    +
    +

    N is the number of sub-particles in the body particle. M = 6 + 3*N. The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N sub-particles (x1 to zN) as 3N values on as many lines as required. Note that this in not N lines, but 10 values per line; see the -read_data command for details. The 6 moments of +read_data command for details. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with @@ -140,24 +254,84 @@ respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation internally. The coordinates of each sub-particle are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of -the particle is specified by the x,y,z values in the Atoms section -of the data file. -

    -

    The pair_style body command can be used with this -body style to compute body/body and body/non-body interactions. -

    -

    For output purposes via the compute -body/local and dump local +the particle is specified by the x,y,z values in the Atoms section +of the data file.

    +

    The pair_style body command can be used with this +body style to compute body/body and body/non-body interactions.

    +

    For output purposes via the compute body/local and dump local commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: -

    -
    1 = x position of sub-particle
    +sub-particles in a body particle.  The datum has 3 values:

    +
    1 = x position of sub-particle
     2 = y position of sub-particle
    -3 = z position of sub-particle 
    -
    -

    These values are the current position of the sub-particle within the +3 = z position of sub-particle +

    +
    +

    These values are the current position of the sub-particle within the simulation domain, not a displacement from the center-of-mass (COM) of the body particle itself. These values are calculated using the -current COM and orientiation of the body particle. -

    - +current COM and orientiation of the body particle.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_class2.html b/doc/bond_class2.html index 2c1611d443..b6b65e08db 100644 --- a/doc/bond_class2.html +++ b/doc/bond_class2.html @@ -1,88 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style class2 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style class2 command -

    -

    bond_style class2/omp command -

    -

    Syntax: -

    -
    bond_style class2 
    -
    -

    Examples: -

    -
    bond_style class2
    -bond_coeff 1 1.0 100.0 80.0 80.0 
    -
    -

    Description: -

    -

    The class2 bond style uses the potential -

    -
    -
    -

    where r0 is the equilibrium bond distance. -

    -

    See (Sun) for a description of the COMPASS class2 force field. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • R0 (distance) -
    • K2 (energy/distance^2) -
    • K3 (energy/distance^3) -
    • K4 (energy/distance^4) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style class2 command¶

    +
    +
    +

    bond_style class2/omp command¶

    +
    +

    Syntax¶

    +
    bond_style class2
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style class2
    +bond_coeff 1 1.0 100.0 80.0 80.0
    +
    +
    +
    +
    +

    Description¶

    +

    The class2 bond style uses the potential

    +_images/bond_class2.jpg +

    where r0 is the equilibrium bond distance.

    +

    See (Sun) for a description of the COMPASS class2 force field.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • R0 (distance)
    • +
    • K2 (energy/distance^2)
    • +
    • K3 (energy/distance^3)
    • +
    • K4 (energy/distance^4)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the CLASS2 +package. See the Making LAMMPS section +for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the CLASS2 -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_coeff.html b/doc/bond_coeff.html index 4d6fb4d94d..b6debc47c3 100644 --- a/doc/bond_coeff.html +++ b/doc/bond_coeff.html @@ -1,100 +1,276 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_coeff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_coeff command -

    -

    Syntax: -

    -
    bond_coeff N args 
    -
    -
    • N = bond type (see asterisk form below) -
    • args = coefficients for one or more bond types -
    -

    Examples: -

    -
    bond_coeff 5 80.0 1.2
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_coeff command¶

    +
    +

    Syntax¶

    +
    bond_coeff N args
    +
    +
    +
      +
    • N = bond type (see asterisk form below)
    • +
    • args = coefficients for one or more bond types
    • +
    +
    +
    +

    Examples¶

    +
    bond_coeff 5 80.0 1.2
     bond_coeff * 30.0 1.5 1.0 1.0
     bond_coeff 1*4 30.0 1.5 1.0 1.0
    -bond_coeff 1 harmonic 200.0 1.0 
    -
    -

    Description: -

    -

    Specify the bond force field coefficients for one or more bond types. +bond_coeff 1 harmonic 200.0 1.0 +

    + + +
    +

    Description¶

    +

    Specify the bond force field coefficients for one or more bond types. The number and meaning of the coefficients depends on the bond style. Bond coefficients can also be set in the data file read by the -read_data command or in a restart file. -

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file.

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple bond types. This takes the -form "*" or "*n" or "n*" or "m*n". If N = the number of bond types, +form “*” or “n” or “n” or “m*n”. If N = the number of bond types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). -

    -

    Note that using a bond_coeff command can override a previous setting +means all types from m to n (inclusive).

    +

    Note that using a bond_coeff command can override a previous setting for the same bond type. For example, these commands set the coeffs -for all bond types, then overwrite the coeffs for just bond type 2: -

    -
    bond_coeff * 100.0 1.2
    -bond_coeff 2 200.0 1.2 
    -
    -

    A line in a data file that specifies bond coefficients uses the exact +for all bond types, then overwrite the coeffs for just bond type 2:

    +
    bond_coeff * 100.0 1.2
    +bond_coeff 2 200.0 1.2
    +
    +
    +

    A line in a data file that specifies bond coefficients uses the exact same format as the arguments of the bond_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the "Bond Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as -

    -
    5 80.0 1.2 
    -
    -
    - -

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on +under the “Bond Coeffs” section of a data file, the line that +corresponds to the 1st example above would be listed as

    +
    5 80.0 1.2
    +
    +
    +
    +

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated bond_coeff command. -

    -

    Note that here are also additional bond styles submitted by users +specified by the associated bond_coeff command.

    +

    Note that here are also additional bond styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of this -page. -

    - - -
    +links to the individual styles are given in the bond section of this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +

    A bond style must be defined before any bond coefficients are set, +either in the input script or in a data file.

    +
    + + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    A bond style must be defined before any bond coefficients are set, -either in the input script or in a data file. -

    -

    Related commands: -

    -

    bond_style -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_fene.html b/doc/bond_fene.html index e75edad892..90efb06834 100644 --- a/doc/bond_fene.html +++ b/doc/bond_fene.html @@ -1,96 +1,264 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style fene command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style fene command -

    -

    bond_style fene/kk command -

    -

    bond_style fene/omp command -

    -

    Syntax: -

    -
    bond_style fene 
    -
    -

    Examples: -

    -
    bond_style fene
    -bond_coeff 1 30.0 1.5 1.0 1.0 
    -
    -

    Description: -

    -

    The fene bond style uses the potential -

    -
    -
    -

    to define a finite extensible nonlinear elastic (FENE) potential -(Kremer), used for bead-spring polymer models. The first + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style fene command¶

    +
    +
    +

    bond_style fene/kk command¶

    +
    +
    +

    bond_style fene/omp command¶

    +
    +

    Syntax¶

    +
    bond_style fene
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style fene
    +bond_coeff 1 30.0 1.5 1.0 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    The fene bond style uses the potential

    +_images/bond_fene.jpg +

    to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd -term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/distance^2) -
    • R0 (distance) -
    • epsilon (energy) -
    • sigma (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/distance^2)
    • +
    • R0 (distance)
    • +
    • epsilon (energy)
    • +
    • sigma (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    You typically should specify special_bonds fene +or special_bonds lj/coul 0 1 1 to use this bond +style. LAMMPS will issue a warning it that’s not the case.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    You typically should specify special_bonds fene -or special_bonds lj/coul 0 1 1 to use this bond -style. LAMMPS will issue a warning it that's not the case. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_fene_expand.html b/doc/bond_fene_expand.html index db6cc88ae2..a469c1bb63 100644 --- a/doc/bond_fene_expand.html +++ b/doc/bond_fene_expand.html @@ -1,99 +1,265 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style fene/expand command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style fene/expand command -

    -

    bond_style fene/expand/omp command -

    -

    Syntax: -

    -
    bond_style fene/expand 
    -
    -

    Examples: -

    -
    bond_style fene/expand
    -bond_coeff 1 30.0 1.5 1.0 1.0 0.5 
    -
    -

    Description: -

    -

    The fene/expand bond style uses the potential -

    -
    -
    -

    to define a finite extensible nonlinear elastic (FENE) potential -(Kremer), used for bead-spring polymer models. The first -term is attractive, the 2nd Lennard-Jones term is repulsive. -

    -

    The fene/expand bond style is similar to fene except that an extra -shift factor of delta (positive or negative) is added to r to + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style fene/expand command¶

    +
    +
    +

    bond_style fene/expand/omp command¶

    +
    +

    Syntax¶

    +
    bond_style fene/expand
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style fene/expand
    +bond_coeff 1 30.0 1.5 1.0 1.0 0.5
    +
    +
    +
    +
    +

    Description¶

    +

    The fene/expand bond style uses the potential

    +_images/bond_fene_expand.jpg +

    to define a finite extensible nonlinear elastic (FENE) potential +(Kremer), used for bead-spring polymer models. The first +term is attractive, the 2nd Lennard-Jones term is repulsive.

    +

    The fene/expand bond style is similar to fene except that an extra +shift factor of delta (positive or negative) is added to r to effectively change the bead size of the bonded atoms. The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma -+ delta. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/distance^2) -
    • R0 (distance) -
    • epsilon (energy) -
    • sigma (distance) -
    • delta (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are ++ delta.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/distance^2)
    • +
    • R0 (distance)
    • +
    • epsilon (energy)
    • +
    • sigma (distance)
    • +
    • delta (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    You typically should specify special_bonds fene +or special_bonds lj/coul 0 1 1 to use this bond +style. LAMMPS will issue a warning it that’s not the case.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    You typically should specify special_bonds fene -or special_bonds lj/coul 0 1 1 to use this bond -style. LAMMPS will issue a warning it that's not the case. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_harmonic.html b/doc/bond_harmonic.html index f3738011b7..fc25b01261 100644 --- a/doc/bond_harmonic.html +++ b/doc/bond_harmonic.html @@ -1,81 +1,254 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style harmonic command -

    -

    bond_style harmonic/kk command -

    -

    bond_style harmonic/omp command -

    -

    Syntax: -

    -
    bond_style harmonic 
    -
    -

    Examples: -

    -
    bond_style harmonic
    -bond_coeff 5 80.0 1.2 
    -
    -

    Description: -

    -

    The harmonic bond style uses the potential -

    -
    -
    -

    where r0 is the equilibrium bond distance. Note that the usual 1/2 -factor is included in K. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/distance^2) -
    • r0 (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style harmonic command¶

    +
    +
    +

    bond_style harmonic/kk command¶

    +
    +
    +

    bond_style harmonic/omp command¶

    +
    +

    Syntax¶

    +
    bond_style harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style harmonic
    +bond_coeff 5 80.0 1.2
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic bond style uses the potential

    +_images/bond_harmonic.jpg +

    where r0 is the equilibrium bond distance. Note that the usual 1/2 +factor is included in K.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/distance^2)
    • +
    • r0 (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_harmonic_shift.html b/doc/bond_harmonic_shift.html index 04b686a1ab..5630efe1fa 100644 --- a/doc/bond_harmonic_shift.html +++ b/doc/bond_harmonic_shift.html @@ -1,85 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style harmonic/shift command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style harmonic/shift command -

    -

    bond_style harmonic/shift/omp command -

    -

    Syntax: -

    -
    bond_style harmonic/shift 
    -
    -

    Examples: -

    -
    bond_style harmonic/shift
    -bond_coeff 5 10.0 0.5 1.0 
    -
    -

    Description: -

    -

    The harmonic/shift bond style is a shifted harmonic bond that uses -the potential -

    -
    -
    -

    where r0 is the equilibrium bond distance, and rc the critical distance. + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style harmonic/shift command¶

    +
    +
    +

    bond_style harmonic/shift/omp command¶

    +
    +

    Syntax¶

    +
    bond_style harmonic/shift
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style harmonic/shift
    +bond_coeff 5 10.0 0.5 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic/shift bond style is a shifted harmonic bond that uses +the potential

    +_images/bond_harmonic_shift.jpg +

    where r0 is the equilibrium bond distance, and rc the critical distance. The potential is -Umin at r0 and zero at rc. The spring constant is -k = Umin / [ 2 (r0-rc)^2]. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • Umin (energy) -
    -
    • r0 (distance) -
    -
    • rc (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +k = Umin / [ 2 (r0-rc)^2].

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • Umin (energy)
    • +
    • r0 (distance)
    • +
    • rc (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds, -bond_harmonic -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_harmonic_shift_cut.html b/doc/bond_harmonic_shift_cut.html index 9240cd1320..2452682832 100644 --- a/doc/bond_harmonic_shift_cut.html +++ b/doc/bond_harmonic_shift_cut.html @@ -1,84 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style harmonic/shift/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style harmonic/shift/cut command -

    -

    bond_style harmonic/shift/cut/omp command -

    -

    Syntax: -

    -
    bond_style harmonic/shift/cut 
    -
    -

    Examples: -

    -
    bond_style harmonic/shift/cut
    -bond_coeff 5 10.0 0.5 1.0 
    -
    -

    Description: -

    -

    The harmonic/shift/cut bond style is a shifted harmonic bond that -uses the potential -

    -
    -
    -

    where r0 is the equilibrium bond distance, and rc the critical distance. -The bond potential is zero for distances r > rc. The potential is -Umin -at r0 and zero at rc. The spring constant is k = Umin / [ 2 (r0-rc)^2]. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • Umin (energy) -
    • r0 (distance) -
    • rc (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style harmonic/shift/cut command¶

    +
    +
    +

    bond_style harmonic/shift/cut/omp command¶

    +
    +

    Syntax¶

    +
    bond_style harmonic/shift/cut
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style harmonic/shift/cut
    +bond_coeff 5 10.0 0.5 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic/shift/cut bond style is a shifted harmonic bond that +uses the potential

    +_images/bond_harmonic_shift_cut.jpg +

    where r0 is the equilibrium bond distance, and rc the critical distance. +The bond potential is zero for distances r > rc. The potential is -Umin +at r0 and zero at rc. The spring constant is k = Umin / [ 2 (r0-rc)^2].

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • Umin (energy)
    • +
    • r0 (distance)
    • +
    • rc (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds, -bond_harmonic, -bond_harmonicshift -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_hybrid.html b/doc/bond_hybrid.html index 1477766841..db5d941601 100644 --- a/doc/bond_hybrid.html +++ b/doc/bond_hybrid.html @@ -1,79 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style hybrid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style hybrid command -

    -

    Syntax: -

    -
    bond_style hybrid style1 style2 ... 
    -
    -
    • style1,style2 = list of one or more bond styles -
    -

    Examples: -

    -
    bond_style hybrid harmonic fene
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style hybrid command¶

    +
    +

    Syntax¶

    +
    bond_style hybrid style1 style2 ...
    +
    +
    +
      +
    • style1,style2 = list of one or more bond styles
    • +
    +
    +
    +

    Examples¶

    +
    bond_style hybrid harmonic fene
     bond_coeff 1 harmonic 80.0 1.2
    -bond_coeff 2* fene 30.0 1.5 1.0 1.0 
    -
    -

    Description: -

    -

    The hybrid style enables the use of multiple bond styles in one +bond_coeff 2* fene 30.0 1.5 1.0 1.0 +

    + + +
    +

    Description¶

    +

    The hybrid style enables the use of multiple bond styles in one simulation. A bond style is assigned to each bond type. For example, bonds in a polymer flow (of bond type 1) could be computed with a -fene potential and bonds in the wall boundary (of bond type 2) could -be computed with a harmonic potential. The assignment of bond type -to style is made via the bond_coeff command or in -the data file. -

    -

    In the bond_coeff commands, the name of a bond style must be added +fene potential and bonds in the wall boundary (of bond type 2) could +be computed with a harmonic potential. The assignment of bond type +to style is made via the bond_coeff command or in +the data file.

    +

    In the bond_coeff commands, the name of a bond style must be added after the bond type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 bond_coeff -commands set bonds of bond type 1 to be computed with a harmonic +commands set bonds of bond type 1 to be computed with a harmonic potential with coefficients 80.0, 1.2 for K, r0. All other bond types -(2-N) are computed with a fene potential with coefficients 30.0, -1.5, 1.0, 1.0 for K, R0, epsilon, sigma. -

    -

    If bond coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. "harmonic" or "fene" must be added after the bond type, for each -line in the "Bond Coeffs" section, e.g. -

    -
    Bond Coeffs 
    -
    -
    1 harmonic 80.0 1.2
    +(2-N) are computed with a fene potential with coefficients 30.0,
    +1.5, 1.0, 1.0 for K, R0, epsilon, sigma.

    +

    If bond coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. “harmonic” or “fene” must be added after the bond type, for each +line in the “Bond Coeffs” section, e.g.

    +
    Bond Coeffs
    +
    +
    +
    1 harmonic 80.0 1.2
     2 fene 30.0 1.5 1.0 1.0
    -... 
    -
    -

    A bond style of none with no additional coefficients can be used in +... +

    + +

    A bond style of none with no additional coefficients can be used in place of a bond style, either in a input script bond_coeff command or in the data file, if you desire to turn off interactions for specific -bond types. -

    -
    +bond types.

    + +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    Unlike other bond styles, the hybrid bond style does not store bond +coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a restart +file, you need to re-specify bond_coeff commands.

    +
    + + -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Unlike other bond styles, the hybrid bond style does not store bond -coefficient info for individual sub-styles in a binary restart -files. Thus when retarting a simulation from a restart -file, you need to re-specify bond_coeff commands. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_morse.html b/doc/bond_morse.html index 38fd439571..dc5d320f23 100644 --- a/doc/bond_morse.html +++ b/doc/bond_morse.html @@ -1,80 +1,252 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style morse command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style morse command -

    -

    bond_style morse/omp command -

    -

    Syntax: -

    -
    bond_style morse 
    -
    -

    Examples: -

    -
    bond_style morse
    -bond_coeff 5 1.0 2.0 1.2 
    -
    -

    Description: -

    -

    The morse bond style uses the potential -

    -
    -
    -

    where r0 is the equilibrium bond distance, alpha is a stiffness -parameter, and D determines the depth of the potential well. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • D (energy) -
    • alpha (inverse distance) -
    • r0 (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style morse command¶

    +
    +
    +

    bond_style morse/omp command¶

    +
    +

    Syntax¶

    +
    bond_style morse
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style morse
    +bond_coeff 5 1.0 2.0 1.2
    +
    +
    +
    +
    +

    Description¶

    +

    The morse bond style uses the potential

    +_images/bond_morse.jpg +

    where r0 is the equilibrium bond distance, alpha is a stiffness +parameter, and D determines the depth of the potential well.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • D (energy)
    • +
    • alpha (inverse distance)
    • +
    • r0 (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_none.html b/doc/bond_none.html index ed59eca4c2..dcfad5e8bd 100644 --- a/doc/bond_none.html +++ b/doc/bond_none.html @@ -1,34 +1,218 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style none command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style none command -

    -

    Syntax: -

    -
    bond_style none 
    -
    -

    Examples: -

    -
    bond_style none 
    -
    -

    Description: -

    -

    Using a bond style of none means bond forces are not computed, even if + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style none command¶

    +
    +

    Syntax¶

    +
    bond_style none
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style none
    +
    +
    +
    +
    +

    Description¶

    +

    Using a bond style of none means bond forces are not computed, even if pairs of bonded atoms were listed in the data file read by the -read_data command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +read_data command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_nonlinear.html b/doc/bond_nonlinear.html index f920a20e0e..ee59d97828 100644 --- a/doc/bond_nonlinear.html +++ b/doc/bond_nonlinear.html @@ -1,86 +1,254 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style nonlinear command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style nonlinear command -

    -

    bond_style nonlinear/omp command -

    -

    Syntax: -

    -
    bond_style nonlinear 
    -
    -

    Examples: -

    -
    bond_style nonlinear
    -bond_coeff 2 100.0 1.1 1.4 
    -
    -

    Description: -

    -

    The nonlinear bond style uses the potential -

    -
    -
    -

    to define an anharmonic spring (Rector) of equilibrium -length r0 and maximum extension lamda. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • epsilon (energy) -
    • r0 (distance) -
    • lamda (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style nonlinear command¶

    +
    +
    +

    bond_style nonlinear/omp command¶

    +
    +

    Syntax¶

    +
    bond_style nonlinear
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style nonlinear
    +bond_coeff 2 100.0 1.1 1.4
    +
    +
    +
    +
    +

    Description¶

    +

    The nonlinear bond style uses the potential

    +_images/bond_nonlinear.jpg +

    to define an anharmonic spring (Rector) of equilibrium +length r0 and maximum extension lamda.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • epsilon (energy)
    • +
    • r0 (distance)
    • +
    • lamda (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Rector) Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_quartic.html b/doc/bond_quartic.html index 403af0aa18..e744669cb6 100644 --- a/doc/bond_quartic.html +++ b/doc/bond_quartic.html @@ -1,119 +1,286 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style quartic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style quartic command -

    -

    bond_style quartic/omp command -

    -

    Syntax: -

    -
    bond_style quartic 
    -
    -

    Examples: -

    -
    bond_style quartic
    -bond_coeff 2 1200 -0.55 0.25 1.3 34.6878 
    -
    -

    Description: -

    -

    The quartic bond style uses the potential -

    -
    -
    -

    to define a bond that can be broken as the simulation proceeds (e.g. + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style quartic command¶

    +
    +
    +

    bond_style quartic/omp command¶

    +
    +

    Syntax¶

    +
    bond_style quartic
    +
    +
    +
    +
    +

    Examples¶

    +
    bond_style quartic
    +bond_coeff 2 1200 -0.55 0.25 1.3 34.6878
    +
    +
    +
    +
    +

    Description¶

    +

    The quartic bond style uses the potential

    +_images/bond_quartic.jpg +

    to define a bond that can be broken as the simulation proceeds (e.g. due to a polymer being stretched). The sigma and epsilon used in the -LJ portion of the formula are both set equal to 1.0 by LAMMPS. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy/distance^4) -
    • B1 (distance) -
    • B2 (distance) -
    • Rc (distance) -
    • U0 (energy) -
    -

    This potential was constructed to mimic the FENE bond potential for +LJ portion of the formula are both set equal to 1.0 by LAMMPS.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy/distance^4)
    • +
    • B1 (distance)
    • +
    • B2 (distance)
    • +
    • Rc (distance)
    • +
    • U0 (energy)
    • +
    +

    This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with sigma = epsilon = 1.0 are used, the following choice of parameters gives a quartic potential that looks nearly like the FENE potential: K = 1200, B1 = -0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters -can be specified using the bond_coeff command, but +can be specified using the bond_coeff command, but you will need to choose them carefully so they form a suitable bond -potential. -

    -

    Rc is the cutoff length at which the bond potential goes smoothly to a -local maximum. If a bond length ever becomes > Rc, LAMMPS "breaks" +potential.

    +

    Rc is the cutoff length at which the bond potential goes smoothly to a +local maximum. If a bond length ever becomes > Rc, LAMMPS “breaks” the bond, which means two things. First, the bond potential is turned off by setting its type to 0, and is no longer computed. Second, a pairwise interaction between the two atoms is turned on, since they -are no longer bonded. -

    -

    LAMMPS does the second task via a computational sleight-of-hand. It +are no longer bonded.

    +

    LAMMPS does the second task via a computational sleight-of-hand. It subtracts the pairwise interaction as part of the bond computation. When the bond breaks, the subtraction stops. For this to work, the pairwise interaction must always be computed by the -pair_style command, whether the bond is broken or -not. This means that special_bonds must be set -to 1,1,1, as indicated as a restriction below. -

    -

    Note that when bonds are dumped to a file via the dump -local command, bonds with type 0 are not included. The -delete_bonds command can also be used to query the -status of broken bonds or permanently delete them, e.g.: -

    -
    delete_bonds all stats
    -delete_bonds all bond 0 remove 
    -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command, whether the bond is broken or +not. This means that special_bonds must be set +to 1,1,1, as indicated as a restriction below.

    +

    Note that when bonds are dumped to a file via the dump local command, bonds with type 0 are not included. The +delete_bonds command can also be used to query the +status of broken bonds or permanently delete them, e.g.:

    +
    delete_bonds all stats
    +delete_bonds all bond 0 remove
    +
    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    The quartic style requires that special_bonds +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    The quartic style requires that special_bonds parameters be set to 1,1,1. Three- and four-body interactions (angle, -dihedral, etc) cannot be used with quartic bonds. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    - +dihedral, etc) cannot be used with quartic bonds.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_style.html b/doc/bond_style.html index 135676886d..7848972ea5 100644 --- a/doc/bond_style.html +++ b/doc/bond_style.html @@ -1,109 +1,285 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style command -

    -

    Syntax: -

    -
    bond_style style args 
    -
    -
    • style = none or hybrid or class2 or fene or fene/expand or harmonic or morse or nonlinear or quartic -
    -
      args = none for any style except hybrid
    -  hybrid args = list of one or more styles 
    -
    -

    Examples: -

    -
    bond_style harmonic
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style command¶

    +
    +

    Syntax¶

    +
    bond_style style args
    +
    +
    +
      +
    • style = none or hybrid or class2 or fene or fene/expand or harmonic or morse or nonlinear or quartic
    • +
    +
    +args = none for any style except hybrid
    +  hybrid args = list of one or more styles
    +
    +
    +
    +

    Examples¶

    +
    bond_style harmonic
     bond_style fene
    -bond_style hybrid harmonic fene 
    -
    -

    Description: -

    -

    Set the formula(s) LAMMPS uses to compute bond interactions between +bond_style hybrid harmonic fene +

    + + +
    +

    Description¶

    +

    Set the formula(s) LAMMPS uses to compute bond interactions between pairs of atoms. In LAMMPS, a bond differs from a pairwise -interaction, which are set via the pair_style +interaction, which are set via the pair_style command. Bonds are defined between specified pairs of atoms and remain in force for the duration of the simulation (unless the bond breaks which is possible in some bond potentials). The list of bonded -atoms is read in by a read_data or -read_restart command from a data or restart file. +atoms is read in by a read_data or +read_restart command from a data or restart file. By contrast, pair potentials are typically defined between all pairs of atoms within a cutoff distance and the set of active interactions -changes over time. -

    -

    Hybrid models where bonds are computed using different bond potentials -can be setup using the hybrid bond style. -

    -

    The coefficients associated with a bond style can be specified in a -data or restart file or via the bond_coeff command. -

    -

    All bond potentials store their coefficient data in binary restart -files which means bond_style and bond_coeff commands +changes over time.

    +

    Hybrid models where bonds are computed using different bond potentials +can be setup using the hybrid bond style.

    +

    The coefficients associated with a bond style can be specified in a +data or restart file or via the bond_coeff command.

    +

    All bond potentials store their coefficient data in binary restart +files which means bond_style and bond_coeff commands do not need to be re-specified in an input script that restarts a -simulation. See the read_restart command for +simulation. See the read_restart command for details on how to do this. The one exception is that bond_style -hybrid only stores the list of sub-styles in the restart file; bond -coefficients need to be re-specified. -

    -

    IMPORTANT NOTE: When both a bond and pair style is defined, the -special_bonds command often needs to be used to +hybrid only stores the list of sub-styles in the restart file; bond +coefficients need to be re-specified.

    +
    +

    Warning

    +

    When both a bond and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 2 bonded atoms. -

    -

    In the formulas listed for each bond style, r is the distance -between the 2 atoms in the bond. -

    -
    - -

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on +exist between 2 bonded atoms.

    +
    +

    In the formulas listed for each bond style, r is the distance +between the 2 atoms in the bond.

    +
    +

    Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated bond_coeff command. -

    -

    Note that there are also additional bond styles submitted by users +specified by the associated bond_coeff command.

    +

    Note that there are also additional bond styles submitted by users which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of this -page. -

    - - -
    - -

    Restrictions: -

    -

    Bond styles can only be set for atom styles that allow bonds to be -defined. -

    -

    Most bond styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. +links to the individual styles are given in the bond section of this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    Bond styles can only be set for atom styles that allow bonds to be +defined.

    +

    Most bond styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. The doc pages for individual bond potentials tell if it is part of a -package. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: -

    -

    bond_style none -

    - +package.

    +
    + +
    +

    Default¶

    +

    bond_style none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/bond_table.html b/doc/bond_table.html index fb92e239fe..2579b044ec 100644 --- a/doc/bond_table.html +++ b/doc/bond_table.html @@ -1,90 +1,205 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + bond_style table command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    bond_style table command -

    -

    bond_style table/omp command -

    -

    Syntax: -

    -
    bond_style table style N 
    -
    -
    • style = linear or spline = method of interpolation -
    • N = use N values in table -
    -

    Examples: -

    -
    bond_style table linear 1000
    -bond_coeff 1 file.table ENTRY1 
    -
    -

    Description: -

    -

    Style table creates interpolation tables of length N from bond + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    bond_style table command¶

    +
    +
    +

    bond_style table/omp command¶

    +
    +

    Syntax¶

    +
    bond_style table style N
    +
    +
    +
      +
    • style = linear or spline = method of interpolation
    • +
    • N = use N values in table
    • +
    +
    +
    +

    Examples¶

    +
    bond_style table linear 1000
    +bond_coeff 1 file.table ENTRY1
    +
    +
    +
    +
    +

    Description¶

    +

    Style table creates interpolation tables of length N from bond potential and force values listed in a file(s) as a function of bond -length. The files are read by the bond_coeff -command. -

    -

    The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and force values at each of N +length. The files are read by the bond_coeff +command.

    +

    The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of N distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one -of 2 styles: linear or spline. -

    -

    For the linear style, the bond length is used to find 2 surrounding +of 2 styles: linear or spline.

    +

    For the linear style, the bond length is used to find 2 surrounding table values from which an energy or force is computed by linear -interpolation. -

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The bond length is +interpolation.

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The bond length is used to find the appropriate set of coefficients which are used to -evaluate a cubic polynomial which computes the energy or force. -

    -

    The following coefficients must be defined for each bond type via the -bond_coeff command as in the example above. -

    -
    • filename -
    • keyword -
    -

    The filename specifies a file containing tabulated energy and force +evaluate a cubic polynomial which computes the energy or force.

    +

    The following coefficients must be defined for each bond type via the +bond_coeff command as in the example above.

    +
      +
    • filename
    • +
    • keyword
    • +
    +

    The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The format of -this file is described below. -

    -
    - -

    The format of a tabulated file is as follows (without the -parenthesized comments): -

    -
    # Bond potential for harmonic (one or more comment or blank lines) 
    -
    -
    HAM                           (keyword is the first text on line)
    +this file is described below.

    +
    +

    The format of a tabulated file is as follows (without the +parenthesized comments):

    +
    # Bond potential for harmonic (one or more comment or blank lines)
    +
    +
    +
    HAM                           (keyword is the first text on line)
     N 101 FP 0 0 EQ 0.5           (N, FP, EQ  parameters)
                                   (blank line)
     1 0.00 338.0000 1352.0000     (index, bond-length, energy, force)
     2 0.01 324.6152 1324.9600
     ...
    -101 1.00 338.0000 -1352.0000 
    -
    -

    A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments +101 1.00 338.0000 -1352.0000 +

    +
    +

    A section begins with a non-blank line whose 1st character is not a +“#”; blank lines or lines starting with “#” can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -bond_coeff command. The next line lists (in any +bond_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values. -

    -

    The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the bond_style table command. Let -Ntable = N in the bond_style command, and Nfile = "N" in the +keyword followed by one or more numeric values.

    +

    The parameter “N” is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the bond_style table command. Let +Ntable = N in the bond_style command, and Nfile = “N” in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -93,68 +208,117 @@ Ntable are then used as described above, when computing energy and force for individual bond lengths. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile. -

    -

    The "FP" parameter is optional. If used, it is followed by two values +should set Ntable = Nfile.

    +

    The “FP” parameter is optional. If used, it is followed by two values fplo and fphi, which are the derivatives of the force at the innermost and outermost bond lengths. These values are needed by the spline -construction routines. If not specified by the "FP" parameter, they +construction routines. If not specified by the “FP” parameter, they are estimated (less accurately) by the first two and last two force -values in the table. -

    -

    The "EQ" parameter is also optional. If used, it is followed by a the -equilibrium bond length, which is used, for example, by the fix -shake command. If not used, the equilibrium bond -length is set to 0.0. -

    -

    Following a blank line, the next N lines list the tabulated values. +values in the table.

    +

    The “EQ” parameter is also optional. If used, it is followed by a the +equilibrium bond length, which is used, for example, by the fix shake command. If not used, the equilibrium bond +length is set to 0.0.

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the bond length r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The bond lengths must range from a LO value to a HI value, and increase from one line to the next. If the actual bond length is ever smaller than the LO value or larger than the HI value, then the bond energy and -force is evaluated as if the bond were the LO or HI length. -

    -

    Note that one file can contain many sections, each with a tabulated +force is evaluated as if the bond were the LO or HI length.

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This bond style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This bond style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    bond_coeff, delete_bonds -

    -

    Default: none -

    - + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/boundary.html b/doc/boundary.html index a427194ee1..ddb828d6d1 100644 --- a/doc/boundary.html +++ b/doc/boundary.html @@ -1,106 +1,282 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + boundary command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    boundary command -

    -

    Syntax: -

    -
    boundary x y z 
    -
    -
    • x,y,z = p or s or f or m, one or two letters - -
        p is periodic
      -  f is non-periodic and fixed
      -  s is non-periodic and shrink-wrapped
      -  m is non-periodic and shrink-wrapped with a minimum value 
      -
      - -
    -

    Examples: -

    -
    boundary p p f
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    boundary command¶

    +
    +

    Syntax¶

    +
    boundary x y z
    +
    +
    +
      +
    • x,y,z = p or s or f or m, one or two letters
    • +
    +
    +p is periodic
    +  f is non-periodic and fixed
    +  s is non-periodic and shrink-wrapped
    +  m is non-periodic and shrink-wrapped with a minimum value
    +
    +
    +
    +

    Examples¶

    +
    boundary p p f
     boundary p fs p
    -boundary s f fm 
    -
    -

    Description: -

    -

    Set the style of boundaries for the global simulation box in each +boundary s f fm +

    + + +
    +

    Description¶

    +

    Set the style of boundaries for the global simulation box in each dimension. A single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face. The initial size -of the simulation box is set by the read_data, -read_restart, or create_box -commands. -

    -

    The style p means the box is periodic, so that particles interact +of the simulation box is set by the read_data, +read_restart, or create_box +commands.

    +

    The style p means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or box deformation (see the fix -npt and fix deform commands). The p -style must be applied to both faces of a dimension. -

    -

    The styles f, s, and m mean the box is non-periodic, so that +constant pressure boundary conditions or box deformation (see the fix npt and fix deform commands). The p +style must be applied to both faces of a dimension.

    +

    The styles f, s, and m mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one -side of the box to the other. -

    -

    For style f, the position of the face is fixed. If an atom moves +side of the box to the other.

    +

    For style f, the position of the face is fixed. If an atom moves outside the face it will be deleted on the next timestep that reneighboring occurs. This will typically generate an error unless -you have set the thermo_modify lost option to -allow for lost atoms. -

    -

    For style s, the position of the face is set so as to encompass the +you have set the thermo_modify lost option to +allow for lost atoms.

    +

    For style s, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they -move. -

    -

    For style m, shrink-wrapping occurs, but is bounded by the value +move.

    +

    For style m, shrink-wrapping occurs, but is bounded by the value specified in the data or restart file or set by the -create_box command. For example, if the upper z +create_box command. For example, if the upper z face has a value of 50.0 in the data file, the face will always be positioned at 50.0 or above, even if the maximum z-extent of all the atoms becomes less than 50.0. This can be useful if you start a simulation with an empty box or if you wish to leave room on one side -of the box, e.g. for atoms to evaporate from a surface. -

    -

    For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension +of the box, e.g. for atoms to evaporate from a surface.

    +

    For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension of a tilt factor (e.g. y for xy) is periodic, then the periodicity is enforced with the tilt factor offset. If the 1st dimension is shrink-wrapped, then the shrink wrapping is applied to the tilted box face, to encompass the atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to -determine the x extent of the box. -

    -

    See Section_howto 12 of the doc pages +determine the x extent of the box.

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations. -

    -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command or -read_restart command. See the -change_box command for how to change the simulation -box boundaries after it has been defined. -

    -

    For 2d simulations, the z dimension must be periodic. -

    -

    Related commands: -

    -

    See the thermo_modify command for a discussion -of lost atoms. -

    -

    Default: -

    -
    boundary p p p 
    -
    - +triclinic representations.

    +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command or +read_restart command. See the +change_box command for how to change the simulation +box boundaries after it has been defined.

    +

    For 2d simulations, the z dimension must be periodic.

    +
    + +
    +

    Default¶

    +
    boundary p p p
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/box.html b/doc/box.html index 162087c7ff..927b77c223 100644 --- a/doc/box.html +++ b/doc/box.html @@ -1,69 +1,246 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + box command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    box command -

    -

    Syntax: -

    -
    box keyword value ... 
    -
    -
    • one or more keyword/value pairs may be appended - -
    • keyword = tilt - -
        tilt value = small or large 
      -
      - -
    -

    Examples: -

    -
    box tilt large
    -box tilt small 
    -
    -

    Description: -

    -

    Set attributes of the simulation box. -

    -

    For triclinic (non-orthogonal) simulation boxes, the tilt keyword + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    box command¶

    +
    +

    Syntax¶

    +
    box keyword value ...
    +
    +
    +
      +
    • one or more keyword/value pairs may be appended
    • +
    • keyword = tilt
    • +
    +
    +tilt value = small or large
    +
    +
    +
    +

    Examples¶

    +
    box tilt large
    +box tilt small
    +
    +
    +
    +
    +

    Description¶

    +

    Set attributes of the simulation box.

    +

    For triclinic (non-orthogonal) simulation boxes, the tilt keyword allows simulation domains to be created with arbitrary tilt factors, -e.g. via the create_box or -read_data commands. Tilt factors determine how -skewed the triclinic box is; see this -section of the manual for a discussion of -triclinic boxes in LAMMPS. -

    -

    LAMMPS normally requires that no tilt factor can skew the box more +e.g. via the create_box or +read_data commands. Tilt factors determine how +skewed the triclinic box is; see this section of the manual for a discussion of +triclinic boxes in LAMMPS.

    +

    LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st -dimension in the tilt factor (x for xz). If tilt is set to -small, which is the default, then an error will be -generated if a box is created which exceeds this limit. If tilt -is set to large, then no limit is enforced. You can create -a box with any tilt factors you wish. -

    -

    Note that if a simulation box has a large tilt factor, LAMMPS will run +dimension in the tilt factor (x for xz). If tilt is set to +small, which is the default, then an error will be +generated if a box is created which exceeds this limit. If tilt +is set to large, then no limit is enforced. You can create +a box with any tilt factors you wish.

    +

    Note that if a simulation box has a large tilt factor, LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. +acquire ghost atoms around a processor’s irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. -

    -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command or -read_restart command. -

    -

    Related commands: none -

    -

    Default: -

    -

    The default value is tilt = small. -

    - +error.

    +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command or +read_restart command.

    +

    Related commands: none

    +
    +
    +

    Default¶

    +

    The default value is tilt = small.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/change_box.html b/doc/change_box.html index c40a3f588b..965a0e2b13 100644 --- a/doc/change_box.html +++ b/doc/change_box.html @@ -1,69 +1,188 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + change_box command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    change_box command -

    -

    Syntax: -

    -
    change_box group-ID parameter args ... keyword args ... 
    -
    -
    • group-ID = ID of group of atoms to (optionally) displace - -
    • one or more parameter/arg pairs may be appended - -
      parameter = x or y or z or xy or xz or yz or boundary or ortho or triclinic or set or remap
      -  x, y, z args = style value(s)
      -    style = final or delta or scale or volume
      -      final values = lo hi
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      change_box command¶

      +
      +

      Syntax¶

      +
      change_box group-ID parameter args ... keyword args ...
      +
      +
      +
        +
      • group-ID = ID of group of atoms to (optionally) displace
      • +
      • one or more parameter/arg pairs may be appended
      • +
      +
      +parameter = x or y or z or xy or xz or yz or boundary or ortho or triclinic or set or remap
      +  x, y, z args = style value(s)
      +    style = final or delta or scale or volume
      +      final values = lo hi
               lo hi = box boundaries after displacement (distance units)
      -      delta values = dlo dhi
      +      delta values = dlo dhi
               dlo dhi = change in box boundaries after displacement (distance units)
      -      scale values = factor
      +      scale values = factor
               factor = multiplicative factor for change in box length after displacement
      -      volume value = none = adjust this dim to preserve volume of system
      -  xy, xz, yz args = style value
      -    style = final or delta
      -      final value = tilt
      +      volume value = none = adjust this dim to preserve volume of system
      +  xy, xz, yz args = style value
      +    style = final or delta
      +      final value = tilt
               tilt = tilt factor after displacement (distance units)
      -      delta value = dtilt
      +      delta value = dtilt
               dtilt = change in tilt factor after displacement (distance units)
      -  boundary args = x y z
      -    x,y,z = p or s or f or m, one or two letters
      -    p is periodic
      -    f is non-periodic and fixed
      -    s is non-periodic and shrink-wrapped
      -    m is non-periodic and shrink-wrapped with a minimum value
      -  ortho args = none = change box to orthogonal
      -  triclinic args = none = change box to triclinic
      -  set args = none = store state of current box
      -  remap args = none = remap atom coords from last saved state to current box 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = units - -
        units value = lattice or box
      +  boundary args = x y z
      +    x,y,z = p or s or f or m, one or two letters
      +    p is periodic
      +    f is non-periodic and fixed
      +    s is non-periodic and shrink-wrapped
      +    m is non-periodic and shrink-wrapped with a minimum value
      +  ortho args = none = change box to orthogonal
      +  triclinic args = none = change box to triclinic
      +  set args = none = store state of current box
      +  remap args = none = remap atom coords from last saved state to current box
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = units
      • +
      +
      +units value = lattice or box
           lattice = distances are defined in lattice units
      -    box = distances are defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box
    -change_box all x scale 1.1 y volume z volume remap 
    -
    -

    Description: -

    -

    Change the volume and/or shape and/or boundary conditions for the + box = distances are defined in simulation box units + +

    +
    +

    Examples¶

    +
    change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box
    +change_box all x scale 1.1 y volume z volume remap
    +
    +
    +
    +
    +

    Description¶

    +

    Change the volume and/or shape and/or boundary conditions for the simulation box. Orthogonal simulation boxes have 3 adjustable size parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable size/shape parameters (x,y,z,xy,xz,yz). Any or all of @@ -71,60 +190,59 @@ them can be adjusted independently by this command. Thus it can be used to expand or contract a box, or to apply a shear strain to a non-orthogonal box. It can also be used to change the boundary conditions for the simulation box, similar to the -boundary command. -

    -

    The size and shape of the initial simulation box are specified by the -create_box or read_data or -read_restart command used to setup the simulation. +boundary command.

    +

    The size and shape of the initial simulation box are specified by the +create_box or read_data or +read_restart command used to setup the simulation. The size and shape may be altered by subsequent runs, e.g. by use of -the fix npt or fix deform commands. -The create_box, read data, and -read_restart commands also determine whether the +the fix npt or fix deform commands. +The create_box, read data, and +read_restart commands also determine whether the simulation box is orthogonal or triclinic and their doc pages explain -the meaning of the xy,xz,yz tilt factors. -

    -

    See Section_howto 12 of the doc pages +the meaning of the xy,xz,yz tilt factors.

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations. -

    -

    The keywords used in this command are applied sequentially to the -simulation box and the atoms in it, in the order specified. -

    -

    Before the sequence of keywords are invoked, the current box -size/shape is stored, in case a remap keyword is used to map the +triclinic representations.

    +

    The keywords used in this command are applied sequentially to the +simulation box and the atoms in it, in the order specified.

    +

    Before the sequence of keywords are invoked, the current box +size/shape is stored, in case a remap keyword is used to map the atom coordinates from a previously stored box size/shape to the -current one. -

    -

    After all the keywords have been processed, any shrink-wrap boundary -conditions are invoked (see the boundary command) +current one.

    +

    After all the keywords have been processed, any shrink-wrap boundary +conditions are invoked (see the boundary command) which may change simulation box boundaries, and atoms are migrated to -new owning processors. -

    -

    IMPORTANT_NOTE: This means that you cannot use the change_box command +new owning processors.

    +

    IMPORTANT_NOTE: This means that you cannot use the change_box command to enlarge a shrink-wrapped box, e.g. to make room to insert more -atoms via the create_atoms command, because the +atoms via the create_atoms command, because the simulation box will be re-shrink-wrapped before the change_box command completes. Instead you could do something like this, assuming the simulation box is non-periodic and atoms extend from 0 to 20 in all -dimensions: -

    -
    change_box all x final -10 20
    -create_atoms 1 single -5 5 5   # this will fail to insert an atom 
    -
    -
    change_box all x final -10 20 boundary f s s
    +dimensions:

    +
    change_box all x final -10 20
    +create_atoms 1 single -5 5 5   # this will fail to insert an atom
    +
    +
    +
    change_box all x final -10 20 boundary f s s
     create_atoms 1 single -5 5 5
    -change_box boundary s s s      # this will work 
    -
    -

    IMPORTANT NOTE: Unlike the earlier "displace_box" version of this +change_box boundary s s s # this will work +

    + +
    +

    Warning

    +

    Unlike the earlier “displace_box” version of this command, atom remapping is NOT performed by default. This command allows remapping to be done in a more general way, exactly when you specify it (zero or more times) in the sequence of transformations. -Thus if you do not use the remap keyword, atom coordinates will not +Thus if you do not use the remap keyword, atom coordinates will not be changed even if the box size/shape changes. If a uniformly -strained state is desired, the remap keyword should be specified. -

    -

    IMPORTANT NOTE: It is possible to lose atoms with this command. +strained state is desired, the remap keyword should be specified.

    +
    +
    +

    Warning

    +

    It is possible to lose atoms with this command. E.g. by changing the box without remapping the atoms, and having atoms end up outside of non-periodic boundaries. It is also possible to alter bonds between atoms straddling a boundary in bad ways. E.g. by @@ -132,101 +250,95 @@ converting a boundary from periodic to non-periodic. It is also possible when remapping atoms to put them (nearly) on top of each other. E.g. by converting a boundary from non-periodic to periodic. All of these will typically lead to bad dynamics and/or generate error -messages. -

    -

    IMPORTANT NOTE: The simulation box size/shape can be changed by +messages.

    +
    +
    +

    Warning

    +

    The simulation box size/shape can be changed by arbitrarily large amounts by this command. This is not a problem, except that the mapping of processors to the simulation box is not changed from its initial 3d configuration; see the -processors command. Thus, if the box size/shape +processors command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box -may not end up as optimal as the initial mapping attempted to be. -

    -

    IMPORTANT NOTE: Because the keywords used in this command are applied +may not end up as optimal as the initial mapping attempted to be.

    +
    +
    +

    Warning

    +

    Because the keywords used in this command are applied one at a time to the simulation box and the atoms in it, care must be taken with triclinic cells to avoid exceeding the limits on skew after each transformation in the sequence. If skew is exceeded before the final transformation this can be avoided by changing the order of the sequence, or breaking the transformation into two or more smaller transformations. For more information on the allowed limits for box -skew see the discussion on triclinic boxes on this -page. -

    -
    - -

    For the x, y, and z parameters, this is the meaning of their -styles and values. -

    -

    For style final, the final lo and hi box boundaries of a dimension +skew see the discussion on triclinic boxes on this page.

    +
    +
    +

    For the x, y, and z parameters, this is the meaning of their +styles and values.

    +

    For style final, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below. -

    -

    For style delta, plus or minus changes in the lo/hi box boundaries +See the discussion of the units keyword below.

    +

    For style delta, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below. -

    -

    For style scale, a multiplicative factor to apply to the box length +distance units. See the discussion of the units keyword below.

    +

    For style scale, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression. -

    -

    The volume style changes the specified dimension in such a way that +factor less than 1.0 means compression.

    +

    The volume style changes the specified dimension in such a way that the overall box volume remains constant with respect to the operation -performed by the preceding keyword. The volume style can only be +performed by the preceding keyword. The volume style can only be used following a keyword that changed the volume, which is any of the -x, y, z keywords. If the preceding keyword "key" had a volume +x, y, z keywords. If the preceding keyword “key” had a volume style, then both it and the current keyword apply to the keyword -preceding "key". I.e. this sequence of keywords is allowed: -

    -
    change_box all x scale 1.1 y volume z volume 
    -
    -

    The volume style changes the associated dimension so that the +preceding “key”. I.e. this sequence of keywords is allowed:

    +
    change_box all x scale 1.1 y volume z volume
    +
    +
    +

    The volume style changes the associated dimension so that the overall box volume is unchanged relative to its value before the -preceding keyword was invoked. -

    -

    If the following command is used, then the z box length will shrink by -the same 1.1 factor the x box length was increased by: -

    -
    change_box all x scale 1.1 z volume 
    -
    -

    If the following command is used, then the y,z box lengths will each +preceding keyword was invoked.

    +

    If the following command is used, then the z box length will shrink by +the same 1.1 factor the x box length was increased by:

    +
    change_box all x scale 1.1 z volume
    +
    +
    +

    If the following command is used, then the y,z box lengths will each shrink by sqrt(1.1) to keep the volume constant. In this case, the y,z box lengths shrink so as to keep their relative aspect ratio -constant: -

    -
    change_box all"x scale 1.1 y volume z volume 
    -
    -

    If the following command is used, then the final box will be a factor +constant:

    +
    change_box all"x scale 1.1 y volume z volume
    +
    +
    +

    If the following command is used, then the final box will be a factor of 10% larger in x and y, and a factor of 21% smaller in z, so as to -keep the volume constant: -

    -
    change_box all x scale 1.1 z volume y scale 1.1 z volume 
    -
    -

    IMPORTANT NOTE: For solids or liquids, when one dimension of the box +keep the volume constant:

    +
    change_box all x scale 1.1 z volume y scale 1.1 z volume
    +
    +
    +
    +

    Warning

    +

    For solids or liquids, when one dimension of the box is expanded, it may be physically undesirable to hold the other 2 box lengths constant since that implies a density change. For solids, -adjusting the other dimensions via the volume style may make +adjusting the other dimensions via the volume style may make physical sense (just as for a liquid), but may not be correct for -materials and potentials whose Poisson ratio is not 0.5. -

    -

    For the scale and volume styles, the box length is expanded or -compressed around its mid point. -

    -
    - -

    For the xy, xz, and yz parameters, this is the meaning of their +materials and potentials whose Poisson ratio is not 0.5.

    +
    +

    For the scale and volume styles, the box length is expanded or +compressed around its mid point.

    +
    +

    For the xy, xz, and yz parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume. -

    -

    For style final, the final tilt factor is specified. The value +box does not change its volume.

    +

    For style final, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the -units keyword below. -

    -

    For style delta, a plus or minus change in the tilt factor is +units keyword below.

    +

    For style delta, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below. -

    -

    All of these styles change the xy, xz, yz tilt factors. In LAMMPS, +the discussion of the units keyword below.

    +

    All of these styles change the xy, xz, yz tilt factors. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are required to be no more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt @@ -235,108 +347,152 @@ between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. Any tilt factor specified by this command -must be within these limits. -

    -
    - -

    The boundary keyword takes arguments that have exactly the same -meaning as they do for the boundary command. In each +must be within these limits.

    +
    +

    The boundary keyword takes arguments that have exactly the same +meaning as they do for the boundary command. In each dimension, a single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the -lower face and the second style to the upper face. -

    -

    The style p means the box is periodic; the other styles mean -non-periodic. For style f, the position of the face is fixed. For -style s, the position of the face is set so as to encompass the +lower face and the second style to the upper face.

    +

    The style p means the box is periodic; the other styles mean +non-periodic. For style f, the position of the face is fixed. For +style s, the position of the face is set so as to encompass the atoms in that dimension (shrink-wrapping), no matter how far they -move. For style m, shrink-wrapping occurs, but is bounded by the +move. For style m, shrink-wrapping occurs, but is bounded by the current box edge in that dimension, so that the box will become no -smaller. See the boundary command for more -explanation of these style options. -

    -

    Note that the "boundary" command itself can only be used before the -simulation box is defined via a read_data or -create_box or read_restart +smaller. See the boundary command for more +explanation of these style options.

    +

    Note that the “boundary” command itself can only be used before the +simulation box is defined via a read_data or +create_box or read_restart command. This command allows the boundary conditions to be changed later in your input script. Also note that the -read_restart will change boundary conditions to +read_restart will change boundary conditions to match what is stored in the restart file. So if you wish to change them, you should use the change_box command after the read_restart -command. -

    -
    - -

    The ortho and triclinic keywords convert the simulation box to be -orthogonal or triclinic (non-orthongonal). See this -section for a discussion of how non-orthongal -boxes are represented in LAMMPS. -

    -

    The simulation box is defined as either orthogonal or triclinic when -it is created via the create_box, -read_data, or read_restart -commands. -

    -

    These keywords allow you to toggle the existing simulation box from +command.

    +
    +

    The ortho and triclinic keywords convert the simulation box to be +orthogonal or triclinic (non-orthongonal). See this section for a discussion of how non-orthongal +boxes are represented in LAMMPS.

    +

    The simulation box is defined as either orthogonal or triclinic when +it is created via the create_box, +read_data, or read_restart +commands.

    +

    These keywords allow you to toggle the existing simulation box from orthogonal to triclinic and vice versa. For example, an initial equilibration simulation can be run in an orthogonal box, the box can -be toggled to triclinic, and then a non-equilibrium MD (NEMD) -simulation can be run with deformation -via the fix deform command. -

    -

    If the simulation box is currently triclinic and has non-zero tilt in -xy, yz, or xz, then it cannot be converted to an orthogonal box. -

    -
    - -

    The set keyword saves the current box size/shape. This can be -useful if you wish to use the remap keyword more than once or if you +be toggled to triclinic, and then a non-equilibrium MD (NEMD) simulation can be run with deformation +via the fix deform command.

    +

    If the simulation box is currently triclinic and has non-zero tilt in +xy, yz, or xz, then it cannot be converted to an orthogonal box.

    +
    +

    The set keyword saves the current box size/shape. This can be +useful if you wish to use the remap keyword more than once or if you wish it to be applied to an intermediate box size/shape in a sequence of keyword operations. Note that the box size/shape is saved before any of the keywords are processed, i.e. the box size/shape at the time -the create_box command is encountered in the input script. -

    -

    The remap keyword remaps atom coordinates from the last saved box +the create_box command is encountered in the input script.

    +

    The remap keyword remaps atom coordinates from the last saved box size/shape to the current box state. For example, if you stretch the -box in the x dimension or tilt it in the xy plane via the x and xy -keywords, then the remap commmand will dilate or tilt the atoms to +box in the x dimension or tilt it in the xy plane via the x and xy +keywords, then the remap commmand will dilate or tilt the atoms to conform to the new box size/shape, as if the atoms moved with the box -as it deformed. -

    -

    Note that this operation is performed without regard to periodic +as it deformed.

    +

    Note that this operation is performed without regard to periodic boundaries. Also, any shrink-wrapping of non-periodic boundaries (see -the boundary command) occurs after all keywords, -including this one, have been processed. -

    -

    Only atoms in the specified group are remapped. -

    -
    - -

    The units keyword determines the meaning of the distance units used -to define various arguments. A box value selects standard distance -units as defined by the units command, e.g. Angstroms for -units = real or metal. A lattice value means the distance units are -in lattice spacings. The lattice command must have -been previously used to define the lattice spacing. -

    -
    - -

    Restrictions: -

    -

    If you use the ortho or triclinic keywords, then at the point in -the input script when this command is issued, no dumps can -be active, nor can a fix ave/spatial or fix -deform be active. This is because these commands +the boundary command) occurs after all keywords, +including this one, have been processed.

    +

    Only atoms in the specified group are remapped.

    +
    +

    The units keyword determines the meaning of the distance units used +to define various arguments. A box value selects standard distance +units as defined by the units command, e.g. Angstroms for +units = real or metal. A lattice value means the distance units are +in lattice spacings. The lattice command must have +been previously used to define the lattice spacing.

    + +
    +
    +

    Restrictions¶

    +

    If you use the ortho or triclinic keywords, then at the point in +the input script when this command is issued, no dumps can +be active, nor can a fix ave/spatial or fix deform be active. This is because these commands test whether the simulation box is orthogonal when they are first issued. Note that these commands can be used in your script before a -change_box command is issued, so long as an undump or -unfix command is also used to turn them off. -

    -

    Related commands: -

    -

    fix deform, boundary -

    -

    Default: -

    -

    The option default is units = lattice. -

    - +change_box command is issued, so long as an undump or +unfix command is also used to turn them off.

    +
    + +
    +

    Default¶

    +

    The option default is units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/clear.html b/doc/clear.html index ddb7f19a13..dfe9413515 100644 --- a/doc/clear.html +++ b/doc/clear.html @@ -1,43 +1,226 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + clear command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    clear command -

    -

    Syntax: -

    -
    clear 
    -
    -

    Examples: -

    -
    (commands for 1st simulation)
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    clear command¶

    +
    +

    Syntax¶

    +
    clear
    +
    +
    +
    +
    +

    Examples¶

    +
    (commands for 1st simulation)
     clear
    -(commands for 2nd simulation) 
    -
    -

    Description: -

    -

    This command deletes all atoms, restores all settings to their default +(commands for 2nd simulation) +

    + + +
    +

    Description¶

    +

    This command deletes all atoms, restores all settings to their default values, and frees all memory allocated by LAMMPS. Once a clear command has been executed, it is almost as if LAMMPS were starting over, with only the exceptions noted below. This command enables -multiple jobs to be run sequentially from one input script. -

    -

    These settings are not affected by a clear command: the working -directory (shell command), log file status -(log command), echo status (echo command), and -input script variables (variable command). -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +multiple jobs to be run sequentially from one input script.

    +

    These settings are not affected by a clear command: the working +directory (shell command), log file status +(log command), echo status (echo command), and +input script variables (variable command).

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/comm_modify.html b/doc/comm_modify.html index db169c35f1..afece0170d 100644 --- a/doc/comm_modify.html +++ b/doc/comm_modify.html @@ -1,151 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + comm_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    comm_modify command -

    -

    Syntax: -

    -
    comm_modify keyword value ... 
    -
    -
    • zero or more keyword/value pairs may be appended - -
    • keyword = mode or cutoff or group or vel - -
        mode value = single or multi = communicate atoms within a single or multiple distances
      -  cutoff value = Rcut (distance units) = communicate atoms from this far away
      -  group value = group-ID = only communicate atoms in the group
      -  vel value = yes or no = do or do not communicate velocity info with ghost atoms 
      -
      - -
    -

    Examples: -

    -
    comm_modify mode multi
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    comm_modify command¶

    +
    +

    Syntax¶

    +
    comm_modify keyword value ...
    +
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = mode or cutoff or group or vel
    • +
    +
    +mode value = single or multi = communicate atoms within a single or multiple distances
    +  cutoff value = Rcut (distance units) = communicate atoms from this far away
    +  group value = group-ID = only communicate atoms in the group
    +  vel value = yes or no = do or do not communicate velocity info with ghost atoms
    +
    +
    +
    +

    Examples¶

    +
    comm_modify mode multi
     comm_modify mode multi group solvent
     comm_modify vel yes
    -comm_modify cutoff 5.0 vel yes 
    -
    -

    Description: -

    -

    This command sets parameters that affect the inter-processor +comm_modify cutoff 5.0 vel yes +

    + + +
    +

    Description¶

    +

    This command sets parameters that affect the inter-processor communication of atom information that occurs each timestep as coordinates and other properties are exchanged between neighboring -processors and stored as properties of ghost atoms. -

    -

    IMPORTANT NOTE: These options apply to the currently defined comm -style. When you specify a comm_style command, all +processors and stored as properties of ghost atoms.

    +
    +

    Warning

    +

    These options apply to the currently defined comm +style. When you specify a comm_style command, all communication settings are restored to their default 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. -

    -

    The mode keyword determines whether a single or multiple cutoff -distances are used to determine which atoms to communicate. -

    -

    The default mode is single which means each processor acquires +command after it.

    +
    +

    The mode keyword determines whether a single or multiple cutoff +distances are used to determine which atoms to communicate.

    +

    The default mode is single which means each processor acquires information for ghost atoms that are within a single distance from its sub-domain. The distance is the maximum of the neighbor cutoff for -all atom type pairs. -

    -

    For many systems this is an efficient algorithm, but for systems with -widely varying cutoffs for different type pairs, the multi mode can +all atom type pairs.

    +

    For many systems this is an efficient algorithm, but for systems with +widely varying cutoffs for different type pairs, the multi mode can be faster. In this case, each atom type is assigned its own distance cutoff for communication purposes, and fewer atoms will be -communicated. See the neighbor multi command for a +communicated. See the neighbor multi command for a neighbor list construction option that may also be beneficial for -simulations of this kind. -

    -

    The cutoff keyword allows you to set a ghost cutoff distance, which -is the distance from the borders of a processor's sub-domain at which +simulations of this kind.

    +

    The cutoff keyword allows you to set a ghost cutoff distance, which +is the distance from the borders of a processor’s sub-domain at which ghost atoms are acquired from other processors. By default the ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. See -the neighbor command for more information about the +the neighbor command for more information about the skin distance. If the specified Rcut is greater than the neighbor cutoff, then extra ghost atoms will be acquired. If it is smaller, -the ghost cutoff is set to the neighbor cutoff. -

    -

    These are simulation scenarios in which it may be useful or even -necessary to set a ghost cutoff > neighbor cutoff: -

    -
    • a single polymer chain with bond interactions, but no pairwise interactions -
    • bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff -
    • ghost atoms beyond the pairwise cutoff are needed for some computation -
    -

    In the first scenario, a pairwise potential is not defined. Thus the +the ghost cutoff is set to the neighbor cutoff.

    +

    These are simulation scenarios in which it may be useful or even +necessary to set a ghost cutoff > neighbor cutoff:

    +
      +
    • a single polymer chain with bond interactions, but no pairwise interactions
    • +
    • bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff
    • +
    • ghost atoms beyond the pairwise cutoff are needed for some computation
    • +
    +

    In the first scenario, a pairwise potential is not defined. Thus the pairwise neighbor cutoff will be 0.0. But ghost atoms are still needed for computing bond, angle, etc interactions between atoms on different processors, or when the interaction straddles a periodic -boundary. -

    -

    The appropriate ghost cutoff depends on the newton bond -setting. For newton bond off, the distance needs to be the furthest +boundary.

    +

    The appropriate ghost cutoff depends on the newton bond +setting. For newton bond off, the distance needs to be the furthest distance between any two atoms in the bond, angle, etc. E.g. the -distance between 1-4 atoms in a dihedral. For newton bond on, the +distance between 1-4 atoms in a dihedral. For newton bond on, the distance between the central atom in the bond, angle, etc and any other atom is sufficient. E.g. the distance between 2-4 atoms in a -dihedral. -

    -

    In the second scenario, a pairwise potential is defined, but its +dihedral.

    +

    In the second scenario, a pairwise potential is defined, but its neighbor cutoff is not sufficiently long enough to enable bond, angle, etc terms to be computed. As in the previous scenario, an appropriate -ghost cutoff should be set. -

    -

    In the last scenario, a fix or compute or -pairwise potential needs to calculate with ghost +ghost cutoff should be set.

    +

    In the last scenario, a fix or compute or +pairwise potential needs to calculate with ghost atoms beyond the normal pairwise cutoff for some computation it performs (e.g. locate neighbors of ghost atoms in a multibody pair potential). Setting the ghost cutoff appropriately can insure it will -find the needed atoms. -

    -

    IMPORTANT NOTE: In these scenarios, if you do not set the ghost cutoff +find the needed atoms.

    +
    +

    Warning

    +

    In these scenarios, if you do not set the ghost cutoff long enough, and if there is only one processor in a periodic -dimension (e.g. you are running in serial), then LAMMPS may "find" the +dimension (e.g. you are running in serial), then LAMMPS may “find” the atom it is looking for (e.g. the partner atom in a bond), that is on the far side of the simulation box, across a periodic boundary. This will typically lead to bad dynamics (i.e. the bond length is now the simulation box length). To detect if this is happening, see the -neigh_modify cluster command. -

    -

    The group keyword will limit communication to atoms in the specified +neigh_modify cluster command.

    +
    +

    The group keyword will limit communication to atoms in the specified group. This can be useful for models where no ghost atoms are needed for some kinds of particles. All atoms (not just those in the specified group) will still migrate to new processors as they move. The group specified with this option must also be specified via the -atom_modify first command. -

    -

    The vel keyword enables velocity information to be communicated with -ghost particles. Depending on the atom_style, +atom_modify first command.

    +

    The vel keyword enables velocity information to be communicated with +ghost particles. Depending on the atom_style, velocity info includes the translational velocity, angular velocity, -and angular momentum of a particle. If the vel option is set to -yes, then ghost atoms store these quantities; if no then they do -not. The yes setting is needed by some pair styles which require +and angular momentum of a particle. If the vel option is set to +yes, then ghost atoms store these quantities; if no then they do +not. The yes setting is needed by some pair styles which require the velocity state of both the I and J particles to compute a pairwise -I,J interaction. -

    -

    Note that if the fix deform command is being used -with its "remap v" option enabled, then the velocities for ghost atoms +I,J interaction.

    +

    Note that if the fix deform command is being used +with its “remap v” option enabled, then the velocities for ghost atoms (in the fix deform group) mirrored across a periodic boundary will also include components due to any velocity shift that occurs across -that boundary (e.g. due to dilation or shear). -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    comm_style, neighbor -

    -

    Default: -

    -

    The option defauls are mode = single, group = all, cutoff = 0.0, vel = +that boundary (e.g. due to dilation or shear).

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defauls are mode = single, group = all, cutoff = 0.0, vel = no. The cutoff default of 0.0 means that ghost cutoff = neighbor -cutoff = pairwise force cutoff + neighbor skin. -

    - +cutoff = pairwise force cutoff + neighbor skin.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/comm_style.html b/doc/comm_style.html index 9e4c23a7fb..ec53119cec 100644 --- a/doc/comm_style.html +++ b/doc/comm_style.html @@ -1,68 +1,251 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + comm_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    comm_style command -

    -

    Syntax: -

    -
    comm_style style 
    -
    -
    • style = brick or tiled -
    -

    Examples: -

    -
    comm_style brick
    -comm_style tiled 
    -
    -

    Description: -

    -

    This command sets the style of inter-processor communication of atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    comm_style command¶

    +
    +

    Syntax¶

    +
    comm_style style
    +
    +
    +
      +
    • style = brick or tiled
    • +
    +
    +
    +

    Examples¶

    +
    comm_style brick
    +comm_style tiled
    +
    +
    +
    +
    +

    Description¶

    +

    This command sets the style of inter-processor communication of atom information that occurs each timestep as coordinates and other properties are exchanged between neighboring processors and stored as -properties of ghost atoms. -

    -

    For the default brick style, the domain decomposition used by LAMMPS +properties of ghost atoms.

    +

    For the default brick style, the domain decomposition used by LAMMPS to partition the simulation box must be a regular 3d grid of bricks, one per processor. Each processor communicates with its 6 Cartesian -neighbors in the grid to acquire information for nearby atoms. -

    -

    For the tiled style, a more general domain decomposition can be -used, as triggered by the balance or fix -balance commands. The simulation box can be -partitioned into non-overlapping rectangular-shaped "tiles" or varying +neighbors in the grid to acquire information for nearby atoms.

    +

    For the tiled style, a more general domain decomposition can be +used, as triggered by the balance or fix balance commands. The simulation box can be +partitioned into non-overlapping rectangular-shaped “tiles” or varying sizes and shapes. Again there is one tile per processor. To acquire information for nearby atoms, communication must now be done with a -more complex pattern of neighboring processors. -

    -

    Note that this command does not actually define a partitoining of the +more complex pattern of neighboring processors.

    +

    Note that this command does not actually define a partitoining of the simulation box (a domain decomposition), rather it determines what kinds of decompositions are allowed and the pattern of communication used to enable the decomposition. A decomposition is created when the -simulation box is first created, via the create_box -or read_data or read_restart -commands. For both the brick and tiled styles, the initial +simulation box is first created, via the create_box +or read_data or read_restart +commands. For both the brick and tiled styles, the initial decomposition will be the same, as described by -create_box and processors +create_box and processors commands. The decomposition can be changed via the -balance or fix_balance commands. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    comm_modify, processors, -balance, fix balance -

    -

    Default: -

    -

    The default style is brick. -

    - +balance or fix_balance commands.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The default style is brick.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute.html b/doc/compute.html index c6a3030e53..2c19fd036d 100644 --- a/doc/compute.html +++ b/doc/compute.html @@ -1,34 +1,154 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute command -

    -

    Syntax: -

    -
    compute ID group-ID style args 
    -
    -
    • ID = user-assigned name for the computation -
    • group-ID = ID of the group of atoms to perform the computation on -
    • style = one of a list of possible style names (see below) -
    • args = arguments used by a particular style -
    -

    Examples: -

    -
    compute 1 all temp
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID style args
    +
    +
    +
      +
    • ID = user-assigned name for the computation
    • +
    • group-ID = ID of the group of atoms to perform the computation on
    • +
    • style = one of a list of possible style names (see below)
    • +
    • args = arguments used by a particular style
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp
     compute newtemp flow temp/partial 1 1 0
    -compute 3 all ke/atom 
    -
    -

    Description: -

    -

    Define a computation that will be performed on a group of atoms. +compute 3 all ke/atom +

    + + +
    +

    Description¶

    +

    Define a computation that will be performed on a group of atoms. Quantities calculated by a compute are instantaneous values, meaning they are calculated from information about atoms on the current timestep or iteration, though a compute may internally store some @@ -36,15 +156,12 @@ information about a previous state of the system. Defining a compute does not perform a computation. Instead computes are invoked by other LAMMPS commands as needed, e.g. to calculate a temperature needed for a thermostat fix or to generate thermodynamic or dump file output. -See this howto section for a summary of -various LAMMPS output options, many of which involve computes. -

    -

    The ID of a compute can only contain alphanumeric characters and -underscores. -

    -
    - -

    Computes calculate one of three styles of quantities: global, +See this howto section for a summary of +various LAMMPS output options, many of which involve computes.

    +

    The ID of a compute can only contain alphanumeric characters and +underscores.

    +
    +

    Computes calculate one of three styles of quantities: global, per-atom, or local. A global quantity is one or more system-wide values, e.g. the temperature of the system. A per-atom quantity is one or more values per atom, e.g. the kinetic energy of each atom. @@ -52,215 +169,260 @@ Per-atom values are set to 0.0 for atoms not in the specified compute group. Local quantities are calculated by each processor based on the atoms it owns, but there may be zero or more per atom, e.g. a list of bond distances. Computes that produce per-atom quantities have the -word "atom" in their style, e.g. ke/atom. Computes that produce -local quantities have the word "local" in their style, -e.g. bond/local. Styles with neither "atom" or "local" in their -style produce global quantities. -

    -

    Note that a single compute produces either global or per-atom or local -quantities, but never more than one of these. -

    -

    Global, per-atom, and local quantities each come in three kinds: a +word “atom” in their style, e.g. ke/atom. Computes that produce +local quantities have the word “local” in their style, +e.g. bond/local. Styles with neither “atom” or “local” in their +style produce global quantities.

    +

    Note that a single compute produces either global or per-atom or local +quantities, but never more than one of these.

    +

    Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The doc page for each compute describes the style and kind of values it produces, e.g. a per-atom vector. Some computes produce more than one -kind of a single style, e.g. a global scalar and a global vector. -

    -

    When a compute quantity is accessed, as in many of the output commands +kind of a single style, e.g. a global scalar and a global vector.

    +

    When a compute quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket -notation, where ID is the ID of the compute: -

    -
    - - -
    c_ID entire scalar, vector, or array
    c_ID[I] one element of vector, one column of array
    c_ID[I][J] one element of array -
    - -

    In other words, using one bracket reduces the dimension of the -quantity once (vector -> scalar, array -> vector). Using two brackets -reduces the dimension twice (array -> scalar). Thus a command that +notation, where ID is the ID of the compute:

    + ++++ + + + + + + + + + + + +
    c_IDentire scalar, vector, or array
    c_ID[I]one element of vector, one column of array
    c_ID[I][J]one element of array
    +

    In other words, using one bracket reduces the dimension of the +quantity once (vector -> scalar, array -> vector). Using two brackets +reduces the dimension twice (array -> scalar). Thus a command that uses scalar compute values as input can also process elements of a -vector or array. -

    -

    Note that commands and variables which use compute +vector or array.

    +

    Note that commands and variables which use compute quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no ambiguity about referring to a compute quantity as c_ID even if it produces, for example, both a scalar and vector. The doc pages for -various commands explain the details. -

    -
    - -

    In LAMMPS, the values generated by a compute can be used in several -ways: -

    - +

    The results of computes that calculate global quantities can be either +“intensive” or “extensive” values. Intensive means the value is independent of the number of atoms in the simulation, e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. -Thermodynamic output will normalize extensive +Thermodynamic output will normalize extensive values by the number of atoms in the system, depending on the -"thermo_modify norm" setting. It will not normalize intensive values. +“thermo_modify norm” setting. It will not normalize intensive values. If a compute value is accessed in another way, e.g. by a -variable, you may want to know whether it is an +variable, you may want to know whether it is an intensive or extensive value. See the doc page for individual -computes for further info. -

    -
    - -

    LAMMPS creates its own computes internally for thermodynamic output. -Three computes are always created, named "thermo_temp", -"thermo_press", and "thermo_pe", as if these commands had been invoked -in the input script: -

    -
    compute thermo_temp all temp
    +computes for further info.

    +
    +

    LAMMPS creates its own computes internally for thermodynamic output. +Three computes are always created, named “thermo_temp”, +“thermo_press”, and “thermo_pe”, as if these commands had been invoked +in the input script:

    +
    compute thermo_temp all temp
     compute thermo_press all pressure thermo_temp
    -compute thermo_pe all pe 
    -
    -

    Additional computes for other quantities are created if the thermo +compute thermo_pe all pe +

    + +

    Additional computes for other quantities are created if the thermo style requires it. See the documentation for the -thermo_style command. -

    -

    Fixes that calculate temperature or pressure, i.e. for thermostatting +thermo_style command.

    +

    Fixes that calculate temperature or pressure, i.e. for thermostatting or barostatting, may also create computes. These are discussed in the -documentation for specific fix commands. -

    -

    In all these cases, the default computes LAMMPS creates can be +documentation for specific fix commands.

    +

    In all these cases, the default computes LAMMPS creates can be replaced by computes defined by the user in the input script, as -described by the thermo_modify and fix -modify commands. -

    -

    Properties of either a default or user-defined compute can be modified -via the compute_modify command. -

    -

    Computes can be deleted with the uncompute command. -

    -

    Code for new computes can be added to LAMMPS (see this -section of the manual) and the results of their -calculations accessed in the various ways described above. -

    -
    - -

    Each compute style has its own doc page which describes its arguments +described by the thermo_modify and fix modify commands.

    +

    Properties of either a default or user-defined compute can be modified +via the compute_modify command.

    +

    Computes can be deleted with the uncompute command.

    +

    Code for new computes can be added to LAMMPS (see this section of the manual) and the results of their +calculations accessed in the various ways described above.

    +
    +

    Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles available in LAMMPS. They are also given in more compact form in the -compute section of this page. -

    -

    There are also additional compute styles (not listed here) submitted +compute section of this page.

    +

    There are also additional compute styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the compute -section of this page. -

    -

    There are also additional accelerated compute styles (note listed +section of this page.

    +

    There are also additional accelerated compute styles (note listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles -are given in the compute section of this -page. -

    -
    • angle/local - theta and energy of each angle -
    • body/local - attributes of body sub-particles -
    • bond/local - distance and energy of each bond -
    • centro/atom - centro-symmetry parameter for each atom -
    • cluster/atom - cluster ID for each atom -
    • cna/atom - common neighbor analysis (CNA) for each atom -
    • com - center-of-mass of group of atoms -
    • com/chunk - center-of-mass for each chunk -
    • contact/atom - contact count for each spherical particle -
    • coord/atom - coordination number for each atom -
    • damage/atom - Peridynamic damage for each atom -
    • dihedral/local - angle of each dihedral -
    • dilatation/atom - Peridynamic dilatation for each atom -
    • displace/atom - displacement of each atom -
    • erotate/asphere - rotational energy of aspherical particles -
    • erotate/rigid - rotational energy of rigid bodies -
    • erotate/sphere - rotational energy of spherical particles -
    • erotate/sphere/atom - rotational energy for each spherical particle -
    • event/displace - detect event on atom displacement -
    • group/group - energy/force between two groups of atoms -
    • gyration - radius of gyration of group of atoms -
    • gyration/chunk - radius of gyration for each chunk -
    • heat/flux - heat flux through a group of atoms -
    • improper/local - angle of each improper -
    • inertia/chunk - inertia tensor for each chunk -
    • ke - translational kinetic energy -
    • ke/atom - kinetic energy for each atom -
    • ke/rigid - translational kinetic energy of rigid bodies -
    • msd - mean-squared displacement of group of atoms -
    • msd/chunk - mean-squared displacement for each chunk -
    • msd/nongauss - MSD and non-Gaussian parameter of group of atoms -
    • pair - values computed by a pair style -
    • pair/local - distance/energy/force of each pairwise interaction -
    • pe - potential energy -
    • pe/atom - potential energy for each atom -
    • plasticity/atom - Peridynamic plasticity for each atom -
    • pressure - total pressure and pressure tensor -
    • property/atom - convert atom attributes to per-atom vectors/arrays -
    • property/local - convert local attributes to localvectors/arrays -
    • property/chunk - extract various per-chunk attributes -
    • rdf - radial distribution function g(r) histogram of group of atoms -
    • reduce - combine per-atom quantities into a single global value -
    • reduce/region - same as compute reduce, within a region -
    • slice - extract values from global vector or array -
    • sna/atom - calculate bispectrum coefficients for each atom -
    • snad/atom - derivative of bispectrum coefficients for each atom -
    • snav/atom - virial contribution from bispectrum coefficients for each atom -
    • stress/atom - stress tensor for each atom -
    • temp - temperature of group of atoms -
    • temp/asphere - temperature of aspherical particles -
    • temp/chunk - temperature of each chunk -
    • temp/com - temperature after subtracting center-of-mass velocity -
    • temp/deform - temperature excluding box deformation velocity -
    • temp/partial - temperature excluding one or more dimensions of velocity -
    • temp/profile - temperature excluding a binned velocity profile -
    • temp/ramp - temperature excluding ramped velocity component -
    • temp/region - temperature of a region of atoms -
    • temp/sphere - temperature of spherical particles -
    • ti - thermodyanmic integration free energy values -
    • torque/chunk - torque applied on each chunk -
    • vacf - velocity-autocorrelation function of group of atoms -
    • vcm/chunk - velocity of center-of-mass for each chunk -
    • voronoi/atom - Voronoi volume and neighbors for each atom -
    -

    There are also additional compute styles submitted by users which are +are given in the compute section of this page.

    +
      +
    • angle/local - theta and energy of each angle
    • +
    • body/local - attributes of body sub-particles
    • +
    • bond/local - distance and energy of each bond
    • +
    • centro/atom - centro-symmetry parameter for each atom
    • +
    • cluster/atom - cluster ID for each atom
    • +
    • cna/atom - common neighbor analysis (CNA) for each atom
    • +
    • com - center-of-mass of group of atoms
    • +
    • com/chunk - center-of-mass for each chunk
    • +
    • contact/atom - contact count for each spherical particle
    • +
    • coord/atom - coordination number for each atom
    • +
    • damage/atom - Peridynamic damage for each atom
    • +
    • dihedral/local - angle of each dihedral
    • +
    • dilatation/atom - Peridynamic dilatation for each atom
    • +
    • displace/atom - displacement of each atom
    • +
    • erotate/asphere - rotational energy of aspherical particles
    • +
    • erotate/rigid - rotational energy of rigid bodies
    • +
    • erotate/sphere - rotational energy of spherical particles
    • +
    • erotate/sphere/atom - rotational energy for each spherical particle
    • +
    • event/displace - detect event on atom displacement
    • +
    • group/group - energy/force between two groups of atoms
    • +
    • gyration - radius of gyration of group of atoms
    • +
    • gyration/chunk - radius of gyration for each chunk
    • +
    • heat/flux - heat flux through a group of atoms
    • +
    • improper/local - angle of each improper
    • +
    • inertia/chunk - inertia tensor for each chunk
    • +
    • ke - translational kinetic energy
    • +
    • ke/atom - kinetic energy for each atom
    • +
    • ke/rigid - translational kinetic energy of rigid bodies
    • +
    • msd - mean-squared displacement of group of atoms
    • +
    • msd/chunk - mean-squared displacement for each chunk
    • +
    • msd/nongauss - MSD and non-Gaussian parameter of group of atoms
    • +
    • pair - values computed by a pair style
    • +
    • pair/local - distance/energy/force of each pairwise interaction
    • +
    • pe - potential energy
    • +
    • pe/atom - potential energy for each atom
    • +
    • plasticity/atom - Peridynamic plasticity for each atom
    • +
    • pressure - total pressure and pressure tensor
    • +
    • property/atom - convert atom attributes to per-atom vectors/arrays
    • +
    • property/local - convert local attributes to localvectors/arrays
    • +
    • property/chunk - extract various per-chunk attributes
    • +
    • rdf - radial distribution function g(r) histogram of group of atoms
    • +
    • reduce - combine per-atom quantities into a single global value
    • +
    • reduce/region - same as compute reduce, within a region
    • +
    • slice - extract values from global vector or array
    • +
    • sna/atom - calculate bispectrum coefficients for each atom
    • +
    • snad/atom - derivative of bispectrum coefficients for each atom
    • +
    • snav/atom - virial contribution from bispectrum coefficients for each atom
    • +
    • stress/atom - stress tensor for each atom
    • +
    • temp - temperature of group of atoms
    • +
    • temp/asphere - temperature of aspherical particles
    • +
    • temp/chunk - temperature of each chunk
    • +
    • temp/com - temperature after subtracting center-of-mass velocity
    • +
    • temp/deform - temperature excluding box deformation velocity
    • +
    • temp/partial - temperature excluding one or more dimensions of velocity
    • +
    • temp/profile - temperature excluding a binned velocity profile
    • +
    • temp/ramp - temperature excluding ramped velocity component
    • +
    • temp/region - temperature of a region of atoms
    • +
    • temp/sphere - temperature of spherical particles
    • +
    • ti - thermodyanmic integration free energy values
    • +
    • torque/chunk - torque applied on each chunk
    • +
    • vacf - velocity-autocorrelation function of group of atoms
    • +
    • vcm/chunk - velocity of center-of-mass for each chunk
    • +
    • voronoi/atom - Voronoi volume and neighbors for each atom
    • +
    +

    There are also additional compute styles submitted by users which are included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the compute section of this -page. -

    -

    There are also additional accelerated compute styles included in the +the individual styles are given in the compute section of this page.

    +

    There are also additional accelerated compute styles included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given in the pair -section of this page. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    uncompute, compute_modify, fix -ave/atom, fix ave/spatial, -fix ave/time, fix ave/histo -

    -

    Default: none -

    - +section of this page.

    + +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ackland_atom.html b/doc/compute_ackland_atom.html index d3445f2f52..d128227c11 100644 --- a/doc/compute_ackland_atom.html +++ b/doc/compute_ackland_atom.html @@ -1,80 +1,252 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ackland/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ackland/atom command -

    -

    Syntax: -

    -
    compute ID group-ID ackland/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • ackland/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all ackland/atom 
    -
    -

    Description: -

    -

    Defines a computation that calculates the local lattice structure -according to the formulation given in (Ackland). -

    -

    In contrast to the centro-symmetry -parameter this method is stable against + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ackland/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ackland/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ackland/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ackland/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Defines a computation that calculates the local lattice structure +according to the formulation given in (Ackland).

    +

    In contrast to the centro-symmetry parameter this method is stable against temperature boost, because it is based not on the distance between particles but the angles. Therefore statistical fluctuations are averaged out a little more. A comparison with the Common Neighbor -Analysis metric is made in the paper. -

    -

    The result is a number which is mapped to the following different -lattice structures: -

    -
    • 0 = UNKNOWN -
    • 1 = BCC -
    • 2 = FCC -
    • 3 = HCP -
    • 4 = ICO -
    -

    The neighbor list needed to compute this quantity is constructed each +Analysis metric is made in the paper.

    +

    The result is a number which is mapped to the following different +lattice structures:

    +
      +
    • 0 = UNKNOWN
    • +
    • 1 = BCC
    • +
    • 2 = FCC
    • +
    • 3 = HCP
    • +
    • 4 = ICO
    • +
    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of -which computes this quantity.- -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +which computes this quantity.-

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    Restrictions: -

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The per-atom vector values will be unitless since they are the -integers defined above. -

    -

    Related commands: -

    -

    compute centro/atom -

    -

    Default: none -

    -
    +Section_howto 15 for an overview of +LAMMPS output options.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The per-atom vector values will be unitless since they are the +integers defined above.

    +
    + +
    - -

    (Ackland) Ackland, Jones, Phys Rev B, 73, 054104 (2006). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_angle_local.html b/doc/compute_angle_local.html index 60ba03541f..528a8cc3a4 100644 --- a/doc/compute_angle_local.html +++ b/doc/compute_angle_local.html @@ -1,87 +1,260 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute angle/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute angle/local command -

    -

    Syntax: -

    -
    compute ID group-ID angle/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • angle/local = style name of this compute command - -
    • one or more keywords may be appended - -
    • keyword = theta or eng - -
        theta = tabulate angles
      -  eng = tabulate angle energies 
      -
      - -
    -

    Examples: -

    -
    compute 1 all angle/local theta
    -compute 1 all angle/local eng theta 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual angle + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute angle/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID angle/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • angle/local = style name of this compute command
    • +
    • one or more keywords may be appended
    • +
    • keyword = theta or eng
    • +
    +
    +theta = tabulate angles
    +  eng = tabulate angle energies
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all angle/local theta
    +compute 1 all angle/local eng theta
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates properties of individual angle interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the -group parameter as explained below. -

    -

    The local data stored by this command is generated by looping over all +group parameter as explained below.

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute group. Any angles that have been broken (see the -angle_style command) by setting their angle type to -0 are not included. Angles that have been turned off (see the fix -shake or delete_bonds commands) by +angle_style command) by setting their angle type to +0 are not included. Angles that have been turned off (see the fix shake or delete_bonds commands) by setting their angle type negative are written into the file, but their -energy will be 0.0. -

    -

    Note that as atoms migrate from processor to processor, there will be +energy will be 0.0.

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, angle output from the compute -property/local command can be combined -with data from this command and output by the dump local -command in a consistent way. -

    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +For example, angle output from the compute property/local command can be combined +with data from this command and output by the dump local +command in a consistent way.

    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of angles. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The output for theta will be in degrees. The output for eng will -be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute -property/local -

    -

    Default: none -

    - +uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The output for theta will be in degrees. The output for eng will +be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_angmom_chunk.html b/doc/compute_angmom_chunk.html index 2017422f12..4005222522 100644 --- a/doc/compute_angmom_chunk.html +++ b/doc/compute_angmom_chunk.html @@ -1,94 +1,270 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute angmom/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute angmom/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID angmom/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • angmom/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid angmom/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the angular momemtum of multiple -chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute angmom/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID angmom/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • angmom/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid angmom/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the angular momemtum of multiple +chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the 3 components of the angular momentum +a system.

    +

    This compute calculates the 3 components of the angular momentum vector for each chunk, due to the velocity/momentum of the individual atoms in the chunk around the center-of-mass of the chunk. The calculation includes all effects due to atoms passing thru periodic -boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's -angular momentum in "unwrapped" form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the read_data command for a discussion of image flags +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the chunk’s +angular momentum in “unwrapped” form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of “unwrapped” coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute angmom/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute angmom/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all angmom/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 3 for the 3 xyz components of the angular momentum for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The array values are "intensive". The array values will be in -mass-velocity-distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable angmom() function -

    -

    Default: none -

    - +values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The array values are “intensive”. The array values will be in +mass-velocity-distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_basal_atom.html b/doc/compute_basal_atom.html index 8427c4e4fa..b758c427c6 100644 --- a/doc/compute_basal_atom.html +++ b/doc/compute_basal_atom.html @@ -1,82 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute basal/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute basal/atom command -

    -

    Syntax: -

    -
    compute ID group-ID basal/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • basal/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all basal/atom 
    -
    -

    Description: -

    -

    Defines a computation that calculates the hexagonal close-packed "c" + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute basal/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID basal/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • basal/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all basal/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Defines a computation that calculates the hexagonal close-packed “c” lattice vector for each atom in the group. It does this by calculating the normal unit vector to the basal plane for each atom. The results enable efficient identification and characterization of -twins and grains in hexagonal close-packed structures. -

    -

    The output of the compute is thus the 3 components of a unit vector +twins and grains in hexagonal close-packed structures.

    +

    The output of the compute is thus the 3 components of a unit vector associdate with each atom. The components are set to 0.0 for -atoms not in the group. -

    -

    Details of the calculation are given in (Barrett). -

    -

    The neighbor list needed to compute this quantity is constructed each +atoms not in the group.

    +

    Details of the calculation are given in (Barrett).

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of -which computes this quantity. -

    -

    An example input script that uses this compute is provided -in examples/USER/misc/basal. -

    -

    Output info: -

    -

    This compute calculates a per-atom array with 3 columns, which can be +which computes this quantity.

    +

    An example input script that uses this compute is provided +in examples/USER/misc/basal.

    +

    Output info:

    +

    This compute calculates a per-atom array with 3 columns, which can be accessed by indices 1-3 by any command that uses per-atom values from -a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The per-atom vector values are unitless since the 3 columns represent -components of a unit vector. -

    -

    Restrictions: -

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The output of this compute will be meaningless unless the atoms are on +a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The per-atom vector values are unitless since the 3 columns represent +components of a unit vector.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The output of this compute will be meaningless unless the atoms are on (or near) hcp lattice sites, since the calculation assumes a -well-defined basal plane. -

    -

    Related commands: -

    -

    compute centro/atom, compute -ackland/atom -

    -

    Default: none -

    -
    +well-defined basal plane.

    +
    + +
    - -

    (Barrett) Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_body_local.html b/doc/compute_body_local.html index 7b8b74dfea..7d49a8ae38 100644 --- a/doc/compute_body_local.html +++ b/doc/compute_body_local.html @@ -1,99 +1,272 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute body/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute body/local command -

    -

    Syntax: -

    -
    compute ID group-ID body/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • body/local = style name of this compute command - -
    • one or more keywords may be appended - -
    • keyword = type or integer - -
        type = atom type of the body particle
      -  integer = 1,2,3,etc = index of fields defined by body style 
      -
      - -
    -

    Examples: -

    -
    compute 1 all body/local type 1 2 3
    -compute 1 all body/local 3 6 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual body + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute body/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID body/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • body/local = style name of this compute command
    • +
    • one or more keywords may be appended
    • +
    • keyword = type or integer
    • +
    +
    +type = atom type of the body particle
    +  integer = 1,2,3,etc = index of fields defined by body style
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all body/local type 1 2 3
    +compute 1 all body/local 3 6
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as -explained below. See Section_howto 14 -of the manual and the body doc page for more details on -using body particles. -

    -

    The local data stored by this command is generated by looping over all +explained below. See Section_howto 14 +of the manual and the body doc page for more details on +using body particles.

    +

    The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If the atom is a body particle, then its N sub-particles will be looped over, and it will contribute N datums to the count of datums. If it -is not a body particle, it will contribute 1 datum. -

    -

    For both body particles and non-body particles, the type keyword -will store the type of the atom. -

    -

    The integer keywords mean different things for body and non-body -particles. If the atom is not a body particle, only its x, y, z -coordinates can be referenced, using the integer keywords 1,2,3. +is not a body particle, it will contribute 1 datum.

    +

    For both body particles and non-body particles, the type keyword +will store the type of the atom.

    +

    The integer keywords mean different things for body and non-body +particles. If the atom is not a body particle, only its x, y, z +coordinates can be referenced, using the integer keywords 1,2,3. Note that this means that if you want to access more fields than this for body particles, then you cannot include non-body particles in the -group. -

    -

    For a body particle, the integer keywords refer to fields calculated +group.

    +

    For a body particle, the integer keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified -by the atom_style body, determines how many fields -exist and what they are. See the body doc page for -details of the different styles. -

    -

    Here is an example of how to output body information using the dump -local command with this compute. If fields 1,2,3 for the +by the atom_style body, determines how many fields +exist and what they are. See the body doc page for +details of the different styles.

    +

    Here is an example of how to output body information using the dump local command with this compute. If fields 1,2,3 for the body sub-particles are x,y,z coordinates, then the dump file will be -formatted similar to the output of a dump atom or custom -command. -

    -
    compute 1 all body/local type 1 2 3
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] 
    -
    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +formatted similar to the output of a dump atom or custom +command.

    +
    compute 1 all body/local type 1 2 3
    +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4]
    +
    +
    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of datums as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The units for output values depend on the body style. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local -

    -

    Default: none -

    - +command that uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The units for output values depend on the body style.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_bond_local.html b/doc/compute_bond_local.html index db281b4fa7..16fc047c5f 100644 --- a/doc/compute_bond_local.html +++ b/doc/compute_bond_local.html @@ -1,94 +1,268 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute bond/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute bond/local command -

    -

    Syntax: -

    -
    compute ID group-ID bond/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • bond/local = style name of this compute command - -
    • one or more keywords may be appended - -
    • keyword = dist or eng - -
        dist = bond distance
      -  eng = bond energy
      -  force = bond force 
      -
      - -
    -

    Examples: -

    -
    compute 1 all bond/local eng
    -compute 1 all bond/local dist eng force 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual bond + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute bond/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID bond/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • bond/local = style name of this compute command
    • +
    • one or more keywords may be appended
    • +
    • keyword = dist or eng
    • +
    +
    +dist = bond distance
    +  eng = bond energy
    +  force = bond force
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all bond/local eng
    +compute 1 all bond/local dist eng force
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates properties of individual bond interactions. The number of datums generated, aggregated across all processors, equals the number of bonds in the system, modified -by the group parameter as explained below. -

    -

    The local data stored by this command is generated by looping over all +by the group parameter as explained below.

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. -Any bonds that have been broken (see the bond_style +Any bonds that have been broken (see the bond_style command) by setting their bond type to 0 are not included. Bonds that -have been turned off (see the fix shake or -delete_bonds commands) by setting their bond type -negative are written into the file, but their energy will be 0.0. -

    -

    Note that as atoms migrate from processor to processor, there will be +have been turned off (see the fix shake or +delete_bonds commands) by setting their bond type +negative are written into the file, but their energy will be 0.0.

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, bond output from the compute -property/local command can be combined -with data from this command and output by the dump local -command in a consistent way. -

    -

    Here is an example of how to do this: -

    -
    compute 1 all property/local batom1 batom2 btype 
    +For example, bond output from the compute property/local command can be combined
    +with data from this command and output by the dump local
    +command in a consistent way.

    +

    Here is an example of how to do this:

    +
    compute 1 all property/local batom1 batom2 btype
     compute 2 all bond/local dist eng
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] 
    -
    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] +

    +
    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The output for dist will be in distance units. The -output for eng will be in energy units. The output for -force will be in force units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute -property/local -

    -

    Default: none -

    - +uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The output for dist will be in distance units. The +output for eng will be in energy units. The output for +force will be in force units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_centro_atom.html b/doc/compute_centro_atom.html index 6b3c037103..e43de7e11d 100644 --- a/doc/compute_centro_atom.html +++ b/doc/compute_centro_atom.html @@ -1,126 +1,297 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute centro/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute centro/atom command -

    -

    Syntax: -

    -
    compute ID group-ID centro/atom lattice 
    -
    -
    • ID, group-ID are documented in compute command -
    • centro/atom = style name of this compute command -
    • lattice = fcc or bcc or N = # of neighbors per atom to include -
    -

    Examples: -

    -
    compute 1 all centro/atom fcc 
    -
    -
    compute 1 all centro/atom 8 
    -
    -

    Description: -

    -

    Define a computation that calculates the centro-symmetry parameter for + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute centro/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID centro/atom lattice
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • centro/atom = style name of this compute command
    • +
    • lattice = fcc or bcc or N = # of neighbors per atom to include
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all centro/atom fcc
    +
    +
    +
    compute 1 all centro/atom 8
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the centro-symmetry parameter for each atom in the group. In solid-state systems the centro-symmetry parameter is a useful measure of the local lattice disorder around an atom and can be used to characterize whether the atom is part of a perfect lattice, a local defect (e.g. a dislocation or stacking -fault), or at a surface. -

    -

    The value of the centro-symmetry parameter will be 0.0 for atoms not -in the specified compute group. -

    -

    This parameter is computed using the following formula from -(Kelchner) -

    -
    -
    -

    where the N nearest neighbors or each atom are identified and Ri and +fault), or at a surface.

    +

    The value of the centro-symmetry parameter will be 0.0 for atoms not +in the specified compute group.

    +

    This parameter is computed using the following formula from +(Kelchner)

    +_images/centro_symmetry.jpg +

    where the N nearest neighbors or each atom are identified and Ri and Ri+N/2 are vectors from the central atom to a particular pair of nearest neighbors. There are N*(N-1)/2 possible neighbor pairs that can contribute to this formula. The quantity in the sum is computed for each, and the N/2 smallest are used. This will typically be for pairs of atoms in symmetrically opposite positions with respect to the -central atom; hence the i+N/2 notation. -

    -

    N is an input parameter, which should be set to correspond to the +central atom; hence the i+N/2 notation.

    +

    N is an input parameter, which should be set to correspond to the number of nearest neighbors in the underlying lattice of atoms. If -the keyword fcc or bcc is used, N is set to 12 and 8 -respectively. More generally, N can be set to a positive, even -integer. -

    -

    For an atom on a lattice site, surrounded by atoms on a perfect +the keyword fcc or bcc is used, N is set to 12 and 8 +respectively. More generally, N can be set to a positive, even +integer.

    +

    For an atom on a lattice site, surrounded by atoms on a perfect lattice, the centro-symmetry parameter will be 0. It will be near 0 for small thermal perturbations of a perfect lattice. If a point defect exists, the symmetry is broken, and the parameter will be a larger positive value. An atom at a surface will have a large -positive parameter. If the atom does not have N neighbors (within +positive parameter. If the atom does not have N neighbors (within the potential cutoff), then its centro-symmetry parameter is set to -0.0. -

    -

    Only atoms within the cutoff of the pairwise neighbor list are +0.0.

    +

    Only atoms within the cutoff of the pairwise neighbor list are considered as possible neighbors. Atoms not in the compute group are -included in the N neighbors used in this calculation. -

    -

    The neighbor list needed to compute this quantity is constructed each +included in the N neighbors used in this calculation.

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a -centro/atom style. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +centro/atom style.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values are unitless values >= 0.0. Their +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values are unitless values >= 0.0. Their magnitude depends on the lattice style due to the number of contibuting neighbor pairs in the summation in the formula above. And it depends on the local defects surrounding the central atom, as -described above. -

    -

    Here are typical centro-symmetry values, from a a nanoindentation +described above.

    +

    Here are typical centro-symmetry values, from a a nanoindentation simulation into gold (FCC). These were provided by Jon Zimmerman -(Sandia): -

    -
    Bulk lattice = 0
    +(Sandia):

    +
    Bulk lattice = 0
     Dislocation core ~ 1.0 (0.5 to 1.25)
     Stacking faults ~ 5.0 (4.0 to 6.0)
    -Free surface ~ 23.0 
    -
    -

    These values are *not* normalized by the square of the lattice -parameter. If they were, normalized values would be: -

    -
    Bulk lattice = 0
    +Free surface ~ 23.0
    +
    +
    +

    These values are not normalized by the square of the lattice +parameter. If they were, normalized values would be:

    +
    Bulk lattice = 0
     Dislocation core ~ 0.06 (0.03 to 0.075)
     Stacking faults ~ 0.3 (0.24 to 0.36)
    -Free surface ~ 1.38 
    -
    -

    For BCC materials, the values for dislocation cores and free surfaces +Free surface ~ 1.38 +

    +
    +

    For BCC materials, the values for dislocation cores and free surfaces would be somewhat different, due to their being only 8 neighbors instead -of 12. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute cna/atom -

    -

    Default: none -

    -
    +of 12.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    - -

    (Kelchner) Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). -

    - +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_chunk_atom.html b/doc/compute_chunk_atom.html index 24d4598c62..70a6675a0d 100644 --- a/doc/compute_chunk_atom.html +++ b/doc/compute_chunk_atom.html @@ -1,437 +1,484 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute chunk/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute chunk/atom command -

    -

    Syntax: -

    -
    compute ID group-ID chunk/atom style args keyword values ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • chunk/atom = style name of this compute command - -
      style = bin/1d or bin/2d or bin/3d or type or molecule or compute/fix/variable
      -  bin/1d args = dim origin delta
      -    dim = x or y or z
      -    origin = lower or center or upper or coordinate value (distance units)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute chunk/atom command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID chunk/atom style args keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • chunk/atom = style name of this compute command
      • +
      +
      +style = bin/1d or bin/2d or bin/3d or type or molecule or compute/fix/variable
      +  bin/1d args = dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  bin/2d args = dim origin delta dim origin delta
      -    dim = x or y or z
      -    origin = lower or center or upper or coordinate value (distance units)
      +  bin/2d args = dim origin delta dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  bin/3d args = dim origin delta dim origin delta dim origin delta
      -    dim = x or y or z
      -    origin = lower or center or upper or coordinate value (distance units)
      +  bin/3d args = dim origin delta dim origin delta dim origin delta
      +    dim = x or y or z
      +    origin = lower or center or upper or coordinate value (distance units)
           delta = thickness of spatial bins in dim (distance units)
      -  type args = none
      -  molecule args = none
      -  compute/fix/variable = c_ID, c_ID[I], f_ID, f_ID[I], v_name with no args
      +  type args = none
      +  molecule args = none
      +  compute/fix/variable = c_ID, c_ID[I], f_ID, f_ID[I], v_name with no args
           c_ID = per-atom vector calculated by a compute with ID
           c_ID[I] = Ith column of per-atom array calculated by a compute with ID
           f_ID = per-atom vector calculated by a fix with ID
           f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -    v_name = per-atom vector calculated by an atom-style variable with name 
      -
      -
    • zero or more keyword/values pairs may be appended - -
    • keyword = region or nchunk or static or compress or bound or discard or units - -
        region value = region-ID
      +    v_name = per-atom vector calculated by an atom-style variable with name
      +
      +
        +
      • zero or more keyword/values pairs may be appended
      • +
      • keyword = region or nchunk or static or compress or bound or discard or units
      • +
      +
      +region value = region-ID
           region-ID = ID of region atoms must be in to be part of a chunk
      -  nchunk value = once or every
      +  nchunk value = once or every
           once = only compute the number of chunks once
           every = re-compute the number of chunks whenever invoked
      -  limit values = 0 or Nc max or Nc exact
      +  limit values = 0 or Nc max or Nc exact
           0 = no limit on the number of chunks
      -    Nc max = limit number of chunks to be <= Nc
      +    Nc max = limit number of chunks to be <= Nc
           Nc exact = set number of chunks to exactly Nc
      -  ids value = once or nfreq or every
      +  ids value = once or nfreq or every
           once = assign chunk IDs to atoms only once, they persist thereafter
      -    nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
      +    nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
           every = assign chunk IDs to atoms whenever invoked
      -  compress value = yes or no
      +  compress value = yes or no
           yes = compress chunk IDs to eliminate IDs with no atoms
           no = do not compress chunk IDs even if some IDs have no atoms
      -  discard value = yes or no or mixed
      +  discard value = yes or no or mixed
           yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0
           no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID
           mixed = keep or discard such atoms according to spatial binning rule
      -  bound values = x/y/z lo hi
      -    x/y/z = x or y or z to bound sptial bins in this dimension
      -    lo = lower or coordinate value (distance units)
      -    hi = upper or coordinate value (distance units)
      -  units value = box or lattice or reduced 
      -
      - -
    -

    Examples: -

    -
    compute 1 all chunk/atom type
    +  bound values = x/y/z lo hi
    +    x/y/z = x or y or z to bound sptial bins in this dimension
    +    lo = lower or coordinate value (distance units)
    +    hi = upper or coordinate value (distance units)
    +  units value = box or lattice or reduced
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all chunk/atom type
     compute 1 all chunk/atom bin/1d z lower 0.02 units reduced
     compute 1 all chunk/atom bin/2d z lower 1.0 y 0.0 2.5
    -compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes 
    -
    -

    Description: -

    -

    Define a computation that calculates an integer chunk ID from 1 to +compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes +

    +
    +
    +
    Previous Section - LAMMPS WWW Site - -LAMMPS Documentation - LAMMPS Commands -
    +

    Description¶

    +

    Define a computation that calculates an integer chunk ID from 1 to Nchunk for each atom in the group. Values of chunk IDs are determined -by the style of chunk, which can be based on atom type or molecule +by the style of chunk, which can be based on atom type or molecule ID or spatial binning or a per-atom property or value calculated by -another compute, fix, or atom-style -variable. Per-atom chunk IDs can be used by other -computes with "chunk" in their style name, such as compute -com/chunk or compute -msd/chunk. Or they can be used by the fix -ave/chunk command to sum and time average a +another compute, fix, or atom-style variable. Per-atom chunk IDs can be used by other +computes with “chunk” in their style name, such as compute com/chunk or compute msd/chunk. Or they can be used by the fix ave/chunk command to sum and time average a variety of per-atom properties over the atoms in each chunk. Or they can simply be accessed by any command that uses per-atom values from a -compute as input, as discussed in Section_howto -15. -

    -

    See Section_howto 23 for an overview of +compute as input, as discussed in Section_howto 15.

    +

    See Section_howto 23 for an overview of how this compute can be used with a variety of other commands to tabulate properties of a simulation. The howto section gives several examples of input script commands that can be used to calculate -interesting properties. -

    -

    Conceptually it is important to realize that this compute does two -simple things. First, it sets the value of Nchunk = the number of +interesting properties.

    +

    Conceptually it is important to realize that this compute does two +simple things. First, it sets the value of Nchunk = the number of chunks, which can be a constant value or change over time. Second, it assigns each atom to a chunk via a chunk ID. Chunk IDs range from 1 -to Nchunk inclusive; some chunks may have no atoms assigned to them. +to Nchunk inclusive; some chunks may have no atoms assigned to them. Atoms that do not belong to any chunk are assigned a value of 0. Note that the two operations are not always performed together. For -example, spatial bins can be setup once (which sets Nchunk), and +example, spatial bins can be setup once (which sets Nchunk), and atoms assigned to those bins many times thereafter (setting their -chunk IDs). -

    -

    All other commands in LAMMPS that use chunk IDs assume there are -Nchunk number of chunks, and that every atom is assigned to one of -those chunks, or not assigned to any chunk. -

    -

    There are many options for specifying for how and when Nchunk is +chunk IDs).

    +

    All other commands in LAMMPS that use chunk IDs assume there are +Nchunk number of chunks, and that every atom is assigned to one of +those chunks, or not assigned to any chunk.

    +

    There are many options for specifying for how and when Nchunk is calculated, and how and when chunk IDs are assigned to atoms. The -details depend on the chunk style and its args, as well as -optional keyword settings. They can also depend on whether a fix -ave/chunk command is using this compute, since -that command requires Nchunk to remain static across windows of -timesteps it specifies, while it accumulates per-chunk averages. -

    -

    The details are described below. -

    -
    - -
    - -

    The different chunk styles operate as follows. For each style, how it -calculates Nchunk and assigns chunk IDs to atoms is explained. Note +details depend on the chunk style and its args, as well as +optional keyword settings. They can also depend on whether a fix ave/chunk command is using this compute, since +that command requires Nchunk to remain static across windows of +timesteps it specifies, while it accumulates per-chunk averages.

    +

    The details are described below.

    +

    The different chunk styles operate as follows. For each style, how it +calculates Nchunk and assigns chunk IDs to atoms is explained. Note that using the optional keywords can change both of those actions, as -described further below where the keywords are discussed. -

    -
    - -

    The binning styles perform a spatial binning of atoms, and assign an -atom the chunk ID corresponding to the bin number it is in. Nchunk +described further below where the keywords are discussed.

    +
    +

    The binning styles perform a spatial binning of atoms, and assign an +atom the chunk ID corresponding to the bin number it is in. Nchunk is set to the number of bins, which can change if the simulation box -size changes. -

    -

    The bin/1d, bin/2d, and bin/3d styles define bins as 1d layers -(slabs), 2d pencils, or 3d boxes. The dim, origin, and delta +size changes.

    +

    The bin/1d, bin/2d, and bin/3d styles define bins as 1d layers +(slabs), 2d pencils, or 3d boxes. The dim, origin, and delta settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y or z, or dim = y -before dim = z. Bins in a particular dim have a bin size in that -dimension given by delta. In each dimension, bins are defined -relative to a specified origin, which may be the lower/upper edge of +before dim = z. Bins in a particular dim have a bin size in that +dimension given by delta. In each dimension, bins are defined +relative to a specified origin, which may be the lower/upper edge of the simulation box (in that dimension), or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the simulation box -or the bounds specified by the optional bounds keyword. -

    -

    For orthogonal simulation boxes, the bins are layers, pencils, or +or the bounds specified by the optional bounds keyword.

    +

    For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See this -section of the manual for a discussion of +tilted faces of the simulation box. See this section of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the "b" cross "c" -direction. Bins in y have faces normal to the "a" cross "c" -direction. And bins in z have faces normal to the "a" cross "b" +bins in the x dimension have faces with normals in the “b” cross “c” +direction. Bins in y have faces normal to the “a” cross “c” +direction. And bins in z have faces normal to the “a” cross “b” direction. Note that in order to define the size and position of -these bins in an unambiguous fashion, the units option must be set -to reduced when using a triclinic simulation box, as noted below. -

    -

    The meaning of origin and delta for triclinic boxes is as follows. +these bins in an unambiguous fashion, the units option must be set +to reduced when using a triclinic simulation box, as noted below.

    +

    The meaning of origin and delta for triclinic boxes is as follows. Consider a triclinic box with bins that are 1d layers or slabs in the -x dimension. No matter how the box is tilted, an origin of 0.0 -means start layers at the lower "b" cross "c" plane of the simulation -box and an origin of 1.0 means to start layers at the upper "b" -cross "c" face of the box. A delta value of 0.1 in reduced units +x dimension. No matter how the box is tilted, an origin of 0.0 +means start layers at the lower “b” cross “c” plane of the simulation +box and an origin of 1.0 means to start layers at the upper “b” +cross “c” face of the box. A delta value of 0.1 in reduced units means there will be 10 layers from 0.0 to 1.0, regardless of the -current size or shape of the simulation box. -

    -

    The created bins (and hence the chunk IDs) are numbered consecutively -from 1 to the number of bins = Nchunk. For 2d and 3d bins, the +current size or shape of the simulation box.

    +

    The created bins (and hence the chunk IDs) are numbered consecutively +from 1 to the number of bins = Nchunk. For 2d and 3d bins, the numbering varies most rapidly in the first dimension (which could be x, y, or z), next rapidly in the 2nd dimension, and most slowly in the -3rd dimension. -

    -

    Each time this compute is invoked, each atom is mapped to a bin based +3rd dimension.

    +

    Each time this compute is invoked, each atom is mapped to a bin based on its current position. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have moved outside the bounds of all bins. If an atom is not inside -any bin, the discard keyword is used to determine how a chunk ID is -assigned to the atom. -

    -
    - -

    The type style uses the atom type as the chunk ID. Nchunk is set +any bin, the discard keyword is used to determine how a chunk ID is +assigned to the atom.

    +
    +

    The type style uses the atom type as the chunk ID. Nchunk is set to the number of atom types defined for the simulation, e.g. via the -create_box or read_data commands. -

    -
    - -

    The molecule style uses the molecule ID of each atom as its chunk -ID. Nchunk is set to the largest chunk ID. Note that this excludes +create_box or read_data commands.

    +
    +

    The molecule style uses the molecule ID of each atom as its chunk +ID. Nchunk is set to the largest chunk ID. Note that this excludes molecule IDs for atoms which are not in the specified group or -optional region. -

    -

    There is no requirement that all atoms in a particular molecule are +optional region.

    +

    There is no requirement that all atoms in a particular molecule are assigned the same chunk ID (zero or non-zero), though you probably want that to be the case, if you wish to compute a per-molecule property. LAMMPS will issue a warning if that is not the case, but -only the first time that Nchunk is calculated. -

    -

    Note that atoms with a molecule ID = 0, which may be non-molecular +only the first time that Nchunk is calculated.

    +

    Note that atoms with a molecule ID = 0, which may be non-molecular solvent atoms, have an out-of-range chunk ID. These atoms are -discarded (not assigned to any chunk) or assigned to Nchunk, -depending on the value of the discard keyword. -

    -
    - -

    The compute/fix/variable styles set the chunk ID of each atom based +discarded (not assigned to any chunk) or assigned to Nchunk, +depending on the value of the discard keyword.

    +
    +

    The compute/fix/variable styles set the chunk ID of each atom based on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the referenced floating point values are converted to an integer chunk ID as follows. The floating point value is truncated (rounded down) to -an integer value. If the integer value is <= 0, then a chunk ID of 0 -is assigned to the atom. If the integer value is > 0, it becomes the -chunk ID to the atom. Nchunk is set to the largest chunk ID. Note +an integer value. If the integer value is <= 0, then a chunk ID of 0 +is assigned to the atom. If the integer value is > 0, it becomes the +chunk ID to the atom. Nchunk is set to the largest chunk ID. Note that this excludes atoms which are not in the specified group or -optional region. -

    -

    If the style begins with "c_", a compute ID must follow which has been +optional region.

    +

    If the style begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS. -

    -

    If the style begins with "f_", a fix ID must follow which has been +their own compute styles and add them to LAMMPS.

    +

    If the style begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with the timestep on which this compute accesses the fix, else an error -results. Users can also write code for their own fix styles and add -them to LAMMPS. -

    -

    If a value begins with "v_", a variable name for an atom or -atomfile style variable must follow which has been -previously defined in the input script. Variables of style atom can +results. Users can also write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name for an atom or +atomfile style variable must follow which has been +previously defined in the input script. Variables of style atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to -treat as a chunk ID. -

    -
    - -
    - -

    Normally, Nchunk = the number of chunks, is re-calculated every time +treat as a chunk ID.

    +

    Normally, Nchunk = the number of chunks, is re-calculated every time this fix is invoked, though the value may or may not change. As -explained below, the nchunk keyword can be set to once which means -Nchunk will never change. -

    -

    If a fix ave/chunk command uses this compute, it -can also turn off the re-calculation of Nchunk for one or more +explained below, the nchunk keyword can be set to once which means +Nchunk will never change.

    +

    If a fix ave/chunk command uses this compute, it +can also turn off the re-calculation of Nchunk for one or more windows of timesteps. The extent of the windows, during which Nchunk -is held constant, are determined by the Nevery, Nrepeat, Nfreq -values and the ave keyword setting that are used by the fix -ave/chunk command. -

    -

    Specifically, if ave = one, then for each span of Nfreq -timesteps, Nchunk is held constant between the first timestep when +is held constant, are determined by the Nevery, Nrepeat, Nfreq +values and the ave keyword setting that are used by the fix ave/chunk command.

    +

    Specifically, if ave = one, then for each span of Nfreq +timesteps, Nchunk is held constant between the first timestep when averaging is done (within the Nfreq-length window), and the last -timestep when averaging is done (multiple of Nfreq). If ave = -running or window, then Nchunk is held constant forever, -starting on the first timestep when the fix -ave/chunk command invokes this compute. -

    -

    Note that multiple fix ave/chunk commands can use +timestep when averaging is done (multiple of Nfreq). If ave = +running or window, then Nchunk is held constant forever, +starting on the first timestep when the fix ave/chunk command invokes this compute.

    +

    Note that multiple fix ave/chunk commands can use the same compute chunk/atom compute. However, the time windows they -induce for holding Nchunk constant must be identical, else an error -will be generated. -

    -
    - -
    - -

    The various optional keywords operate as follows. Note that some of +induce for holding Nchunk constant must be identical, else an error +will be generated.

    +

    The various optional keywords operate as follows. Note that some of them function differently or are ignored by different chunk styles. Some of them also have different default values, depending on -the chunk style, as listed below. -

    -

    The region keyword applies to all chunk styles. If used, an atom +the chunk style, as listed below.

    +

    The region keyword applies to all chunk styles. If used, an atom must be in both the specified group and the specified geometric -region to be assigned to a chunk. -

    -
    - -

    The nchunk keyword applies to all chunk styles. It specifies how -often Nchunk is recalculated, which in turn can affect the chunk IDs -assigned to individual atoms. -

    -

    If nchunk is set to once, then Nchunk is only calculated once, -the first time this compute is invoked. If nchunk is set to -every, then Nchunk is re-calculated every time the compute is +region to be assigned to a chunk.

    +
    +

    The nchunk keyword applies to all chunk styles. It specifies how +often Nchunk is recalculated, which in turn can affect the chunk IDs +assigned to individual atoms.

    +

    If nchunk is set to once, then Nchunk is only calculated once, +the first time this compute is invoked. If nchunk is set to +every, then Nchunk is re-calculated every time the compute is invoked. Note that, as described above, the use of this compute -by the fix ave/chunk command can override -the every setting. -

    -

    The default values for nchunk are listed below and depend on the +by the fix ave/chunk command can override +the every setting.

    +

    The default values for nchunk are listed below and depend on the chunk style and other system and keyword settings. They attempt to represent typical use cases for the various chunk styles. The -nchunk value can always be set explicitly if desired. -

    -
    - -

    The limit keyword can be used to limit the calculated value of -Nchunk = the number of chunks. The limit is applied each time -Nchunk is calculated, which also limits the chunk IDs assigned to -any atom. The limit keyword is used by all chunk styles except the -binning styles, which ignore it. This is because the number of bins -can be tailored using the bound keyword (described below) which -effectively limits the size of Nchunk. -

    -

    If limit is set to Nc = 0, then no limit is imposed on Nchunk, -though the compress keyword can still be used to reduce Nchunk, as -described below. -

    -

    If Nc > 0, then the effect of the limit keyword depends on whether -the compress keyword is also used with a setting of yes, and -whether the compress keyword is specified before the limit keyword -or after. -

    -

    In all cases, Nchunk is first calculated in the usual way for each -chunk style, as described above. -

    -

    First, here is what occurs if compress yes is not set. If limit -is set to Nc max, then Nchunk is reset to the smaller of Nchunk -and Nc. If limit is set to Nc exact, then Nchunk is reset to -Nc, whether the original Nchunk was larger or smaller than Nc. -If Nchunk shrank due to the limit setting, then atom chunk IDs > -Nchunk will be reset to 0 or Nchunk, depending on the setting of -the discard keyword. If Nchunk grew, there will simply be some -chunks with no atoms assigned to them. -

    -

    If compress yes is set, and the compress keyword comes before the -limit keyword, the compression operation is performed first, as -described below, which resets Nchunk. The limit keyword is then -applied to the new Nchunk value, exactly as described in the +nchunk value can always be set explicitly if desired.

    +
    +

    The limit keyword can be used to limit the calculated value of +Nchunk = the number of chunks. The limit is applied each time +Nchunk is calculated, which also limits the chunk IDs assigned to +any atom. The limit keyword is used by all chunk styles except the +binning styles, which ignore it. This is because the number of bins +can be tailored using the bound keyword (described below) which +effectively limits the size of Nchunk.

    +

    If limit is set to Nc = 0, then no limit is imposed on Nchunk, +though the compress keyword can still be used to reduce Nchunk, as +described below.

    +

    If Nc > 0, then the effect of the limit keyword depends on whether +the compress keyword is also used with a setting of yes, and +whether the compress keyword is specified before the limit keyword +or after.

    +

    In all cases, Nchunk is first calculated in the usual way for each +chunk style, as described above.

    +

    First, here is what occurs if compress yes is not set. If limit +is set to Nc max, then Nchunk is reset to the smaller of Nchunk +and Nc. If limit is set to Nc exact, then Nchunk is reset to +Nc, whether the original Nchunk was larger or smaller than Nc. +If Nchunk shrank due to the limit setting, then atom chunk IDs > +Nchunk will be reset to 0 or Nchunk, depending on the setting of +the discard keyword. If Nchunk grew, there will simply be some +chunks with no atoms assigned to them.

    +

    If compress yes is set, and the compress keyword comes before the +limit keyword, the compression operation is performed first, as +described below, which resets Nchunk. The limit keyword is then +applied to the new Nchunk value, exactly as described in the preceeding paragraph. Note that in this case, all atoms will end up -with chunk IDs <= Nc, but their original values (e.g. molecule ID or -compute/fix/variable value) may have been > Nc, because of the -compression operation. -

    -

    If compress yes is set, and the compress keyword comes after the -limit keyword, then the limit value of Nc is applied first to -the uncompressed value of Nchunk, but only if Nc < Nchunk -(whether Nc max or Nc exact is used). This effectively means all -atoms with chunk IDs > Nc have their chunk IDs reset to 0 or Nc, -depending on the setting of the discard keyword. The compression -operation is then performed, which may shrink Nchunk further. If -the new Nchunk < Nc and limit = Nc exact is specified, then -Nchunk is reset to Nc, which results in extra chunks with no atoms +with chunk IDs <= Nc, but their original values (e.g. molecule ID or +compute/fix/variable value) may have been > Nc, because of the +compression operation.

    +

    If compress yes is set, and the compress keyword comes after the +limit keyword, then the limit value of Nc is applied first to +the uncompressed value of Nchunk, but only if Nc < Nchunk +(whether Nc max or Nc exact is used). This effectively means all +atoms with chunk IDs > Nc have their chunk IDs reset to 0 or Nc, +depending on the setting of the discard keyword. The compression +operation is then performed, which may shrink Nchunk further. If +the new Nchunk < Nc and limit = Nc exact is specified, then +Nchunk is reset to Nc, which results in extra chunks with no atoms assigned to them. Note that in this case, all atoms will end up with -chunk IDs <= Nc, and their original values (e.g. molecule ID or -compute/fix/variable value) will also have been <= Nc. -

    -
    - -

    The ids keyword applies to all chunk styles. If the setting is -once then the chunk IDs assigned to atoms the first time this -compute is invoked will be permanent, and never be re-computed. -

    -

    If the setting is nfreq and if a fix ave/chunk -command is using this compute, then in each of the Nchunk = constant -time windows (discussed above), the chunk ID's assigned to atoms on +chunk IDs <= Nc, and their original values (e.g. molecule ID or +compute/fix/variable value) will also have been <= Nc.

    +
    +

    The ids keyword applies to all chunk styles. If the setting is +once then the chunk IDs assigned to atoms the first time this +compute is invoked will be permanent, and never be re-computed.

    +

    If the setting is nfreq and if a fix ave/chunk +command is using this compute, then in each of the Nchunk = constant +time windows (discussed above), the chunk ID’s assigned to atoms on the first step of the time window will persist until the end of the -time window. -

    -

    If the setting is every, which is the default, then chunk IDs are -re-calculated on any timestep this compute is invoked. -

    -

    IMPORTANT NOTE: If you want the persistent chunk-IDs calculated by -this compute to be continuous when running from a restart -file, then you should use the same ID for this +time window.

    +

    If the setting is every, which is the default, then chunk IDs are +re-calculated on any timestep this compute is invoked.

    +
    +

    Warning

    +

    If you want the persistent chunk-IDs calculated by +this compute to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and -thus be initialized correctly with chunk IDs from the restart file. -

    -
    - -

    The compress keyword applies to all chunk styles and affects how -Nchunk is calculated, which in turn affects the chunk IDs assigned -to each atom. It is useful for converting a "sparse" set of chunk IDs -(with many IDs that have no atoms assigned to them), into a "dense" -set of IDs, where every chunk has one or more atoms assigned to it. -

    -

    Two possible use cases are as follows. If a large simulation box is -mostly empty space, then the binning style may produce many bins -with no atoms. If compress is set to yes, only bins with atoms -will be contribute to Nchunk. Likewise, the molecule or -compute/fix/variable styles may produce large Nchunk values. For -example, the compute cluster/atom command +thus be initialized correctly with chunk IDs from the restart file.

    +
    +
    +

    The compress keyword applies to all chunk styles and affects how +Nchunk is calculated, which in turn affects the chunk IDs assigned +to each atom. It is useful for converting a “sparse” set of chunk IDs +(with many IDs that have no atoms assigned to them), into a “dense” +set of IDs, where every chunk has one or more atoms assigned to it.

    +

    Two possible use cases are as follows. If a large simulation box is +mostly empty space, then the binning style may produce many bins +with no atoms. If compress is set to yes, only bins with atoms +will be contribute to Nchunk. Likewise, the molecule or +compute/fix/variable styles may produce large Nchunk values. For +example, the compute cluster/atom command assigns every atom an atom ID for one of the atoms it is clustered with. For a million-atom system with 5 clusters, there would only be 5 unique chunk IDs, but the largest chunk ID might be 1 million, -resulting in Nchunk = 1 million. If compress is set to yes, -Nchunk will be reset to 5. -

    -

    If compress is set to no, which is the default, no compression is -done. If it is set to yes, all chunk IDs with no atoms are removed +resulting in Nchunk = 1 million. If compress is set to yes, +Nchunk will be reset to 5.

    +

    If compress is set to no, which is the default, no compression is +done. If it is set to yes, all chunk IDs with no atoms are removed from the list of chunk IDs, and the list is sorted. The remaining -chunk IDs are renumbered from 1 to Nchunk where Nchunk is the new +chunk IDs are renumbered from 1 to Nchunk where Nchunk is the new length of the list. The chunk IDs assigned to each atom reflect -the new renumbering from 1 to Nchunk. -

    -

    The original chunk IDs (before renumbering) can be accessed by the -compute property/chunk command and its -id keyword, or by the fix ave/chunk command +the new renumbering from 1 to Nchunk.

    +

    The original chunk IDs (before renumbering) can be accessed by the +compute property/chunk command and its +id keyword, or by the fix ave/chunk command which outputs the original IDs as one of the columns in its global -output array. For example, using the "compute cluster/atom" command +output array. For example, using the “compute cluster/atom” command discussed above, the original 5 unique chunk IDs might be atom IDs (27,4982,58374,857838,1000000). After compresion, these will be renumbered to (1,2,3,4,5). The original values (27,...,1000000) can -be output to a file by the fix ave/chunk command, -or by using the fix ave/time command in -conjunction with the compute -property/chunk command. -

    -

    IMPORTANT NOTE: The compression operation requires global +be output to a file by the fix ave/chunk command, +or by using the fix ave/time command in +conjunction with the compute property/chunk command.

    +
    +

    Warning

    +

    The compression operation requires global communication across all processors to share their chunk ID values. It can require large memory on every processor to store them, even after they are compressed, if there are are a large number of unique @@ -439,130 +486,179 @@ chunk IDs with atoms assigned to them. It uses a STL map to find unique chunk IDs and store them in sorted order. Each time an atom is assigned a compressed chunk ID, it must access the STL map. All of this means that compression can be expensive, both in memory and CPU -time. The use of the limit keyword in conjunction with the -compress keyword can affect these costs, depending on which keyword -is used first. So use this option with care. -

    -
    - -

    The discard keyword applies to all chunk styles. It affects what +time. The use of the limit keyword in conjunction with the +compress keyword can affect these costs, depending on which keyword +is used first. So use this option with care.

    +
    +
    +

    The discard keyword applies to all chunk styles. It affects what chunk IDs are assigned to atoms that do not match one of the valid -chunk IDs from 1 to Nchunk. Note that it does not apply to atoms +chunk IDs from 1 to Nchunk. Note that it does not apply to atoms that are not in the specified group or optionally specified region. -Those atoms are always assigned a chunk ID = 0. -

    -

    If the calculated chunk ID for an atom is not within the range 1 to -Nchunk then it is a "discard" atom. Note that Nchunk may have -been shrunk by the limit keyword. Or the compress keyword may +Those atoms are always assigned a chunk ID = 0.

    +

    If the calculated chunk ID for an atom is not within the range 1 to +Nchunk then it is a “discard” atom. Note that Nchunk may have +been shrunk by the limit keyword. Or the compress keyword may have eliminated chunk IDs that were valid before the compression took place, and are now not in the compressed list. Also note that for the -molecule chunk style, if new molecules are added to the system, -their chunk IDs may exceed a previously calculated Nchunk. +molecule chunk style, if new molecules are added to the system, +their chunk IDs may exceed a previously calculated Nchunk. Likewise, evaluation of a compute/fix/variable on a later timestep may return chunk IDs that are invalid for the previously calculated -Nchunk. -

    -

    All the chunk styles except the binning styles, must use discard -set to either yes or no. If discard is set to yes, which is -the default, then every "discard" atom has its chunk ID set to 0. If -discard is set to no, every "discard" atom has its chunk ID set to -Nchunk. I.e. it becomes part of the last chunk. -

    -

    The binning styles use the discard keyword to decide whether to +Nchunk.

    +

    All the chunk styles except the binning styles, must use discard +set to either yes or no. If discard is set to yes, which is +the default, then every “discard” atom has its chunk ID set to 0. If +discard is set to no, every “discard” atom has its chunk ID set to +Nchunk. I.e. it becomes part of the last chunk.

    +

    The binning styles use the discard keyword to decide whether to discard atoms outside the spatial domain covered by bins, or to assign -them to the bin they are nearest to. Details are as follows. -

    -

    If discard is set to yes, an out-of-domain atom will have its -chunk ID set to 0. If discard is set to no, the atom will have +them to the bin they are nearest to. Details are as follows.

    +

    If discard is set to yes, an out-of-domain atom will have its +chunk ID set to 0. If discard is set to no, the atom will have its chunk ID set to the first or last bin in that dimension. If -(discard is set to mixed, which is the default, it will only have +(discard* is set to mixed, which is the default, it will only have its chunk ID set to the first or last bin if bins extend to the simulation box boundary in that dimension. This is the case if the -bound keyword settings are lower and upper, which is the -default. If the bound keyword settings are numeric values, then the +bound keyword settings are lower and upper, which is the +default. If the bound keyword settings are numeric values, then the atom will have its chunk ID set to 0 if it is outside the bounds of any bin. Note that in this case, it is possible that the first or -last bin extends beyond the numeric bounds settings, depending on -the specified origin. If this is the case, the chunk ID of the atom +last bin extends beyond the numeric bounds settings, depending on +the specified origin. If this is the case, the chunk ID of the atom is only set to 0 if it is outside the first or last bin, not if it is -simply outside the numeric bounds setting. -

    -
    - -

    The bound keyword only applies to the binning styles; otherwise it +simply outside the numeric bounds setting.

    +
    +

    The bound keyword only applies to the binning styles; otherwise it is ignored. It can be used one or more times to limit the extent of bin coverage in a specified dimension, i.e. to only bin a portion of -the box. If the lo setting is lower or the hi setting is -upper, the bin extent in that direction extends to the box boundary. -If a numeric value is used for lo and/or hi, then the bin extent -in the lo or hi direction extends only to that value, which is +the box. If the lo setting is lower or the hi setting is +upper, the bin extent in that direction extends to the box boundary. +If a numeric value is used for lo and/or hi, then the bin extent +in the lo or hi direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, -though LAMMPS does not check for this. Note that using the bound +though LAMMPS does not check for this. Note that using the bound keyword typically reduces the total number of bins and thus the number -of chunks Nchunk. -

    -

    The units keyword only applies to the binning styles; otherwise it +of chunks Nchunk.

    +

    The units keyword only applies to the binning styles; otherwise it is ignored. It determines the meaning of the distance units used for -the bin sizes delta and for origin and bounds values if they are +the bin sizes delta and for origin and bounds values if they are coordinate values. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, -only the reduced option may be used. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing. A reduced value means normalized +only the reduced option may be used.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing. A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper -faces of the simulation box respectively. Thus an origin value of -0.5 means the center of the box in any dimension. A delta value of -0.1 means 10 bins span the box in that dimension. -

    -
    - -
    - -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +faces of the simulation box respectively. Thus an origin value of +0.5 means the center of the box in any dimension. A delta value of +0.1 means 10 bins span the box in that dimension.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values are unitless chunk IDs, ranging from 1 to -Nchunk (inclusive) for atoms assigned to chunks, and 0 for atoms not -belonging to a chunk. -

    -

    Restrictions: -

    -

    Even if the nchunk keyword is set to once, the chunk IDs assigned +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values are unitless chunk IDs, ranging from 1 to +Nchunk (inclusive) for atoms assigned to chunks, and 0 for atoms not +belonging to a chunk.

    +
    +
    +

    Restrictions¶

    +

    Even if the nchunk keyword is set to once, the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. Instead you must re-specify this command and assign atoms to chunks when -the restarted simulation begins. -

    -

    Related commands: -

    -

    fix ave/chunk -

    -

    Default: -

    -

    The option defaults are as follows: -

    -
    • region = none -
    • nchunk = every if compress is yes, overriding other defaults listed here -
    • nchunk = once for type style -
    • nchunk = once for mol style if region is none -
    • nchunk = every for mol style if region is set -
    • nchunk = once for binning style if the simulation box size is static or units = reduced -
    • nchunk = every for binning style if the simulation box size is dynamic and units is lattice or box -
    • nchunk = every for compute/fix/variable style -
    • limit = 0 -
    • ids = every -
    • compress = no -
    • discard = yes for all styles except binning -
    • discard = mixed for binning styles -
    • bound = lower and upper in all dimensions -
    • units = lattice -
    - +the restarted simulation begins.

    +
    + +
    +

    Default¶

    +

    The option defaults are as follows:

    +
      +
    • region = none
    • +
    • nchunk = every if compress is yes, overriding other defaults listed here
    • +
    • nchunk = once for type style
    • +
    • nchunk = once for mol style if region is none
    • +
    • nchunk = every for mol style if region is set
    • +
    • nchunk = once for binning style if the simulation box size is static or units = reduced
    • +
    • nchunk = every for binning style if the simulation box size is dynamic and units is lattice or box
    • +
    • nchunk = every for compute/fix/variable style
    • +
    • limit = 0
    • +
    • ids = every
    • +
    • compress = no
    • +
    • discard = yes for all styles except binning
    • +
    • discard = mixed for binning styles
    • +
    • bound = lower and upper in all dimensions
    • +
    • units = lattice
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_cluster_atom.html b/doc/compute_cluster_atom.html index f972d2fae0..7293746023 100644 --- a/doc/compute_cluster_atom.html +++ b/doc/compute_cluster_atom.html @@ -1,62 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute cluster/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute cluster/atom command -

    -

    Syntax: -

    -
    compute ID group-ID cluster/atom cutoff 
    -
    -
    • ID, group-ID are documented in compute command -
    • cluster/atom = style name of this compute command -
    • cutoff = distance within which to label atoms as part of same cluster (distance units) -
    -

    Examples: -

    -
    compute 1 all cluster/atom 1.0 
    -
    -

    Description: -

    -

    Define a computation that assigns each atom a cluster ID. -

    -

    A cluster is defined as a set of atoms, each of which is within the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute cluster/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID cluster/atom cutoff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • cluster/atom = style name of this compute command
    • +
    • cutoff = distance within which to label atoms as part of same cluster (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all cluster/atom 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that assigns each atom a cluster ID.

    +

    A cluster is defined as a set of atoms, each of which is within the cutoff distance from one or more other atoms in the cluster. If an atom has no neighbors within the cutoff distance, then it is a 1-atom cluster. The ID of every atom in the cluster will be the smallest -atom ID of any atom in the cluster. -

    -

    Only atoms in the compute group are clustered and assigned cluster -IDs. Atoms not in the compute group are assigned a cluster ID = 0. -

    -

    The neighbor list needed to compute this quantity is constructed each +atom ID of any atom in the cluster.

    +

    Only atoms in the compute group are clustered and assigned cluster +IDs. Atoms not in the compute group are assigned a cluster ID = 0.

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of a -clsuter/atom style. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +clsuter/atom style.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be an ID > 0, as explained above. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute coord/atom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be an ID > 0, as explained above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_cna_atom.html b/doc/compute_cna_atom.html index 191b8911c8..08ffbd1a71 100644 --- a/doc/compute_cna_atom.html +++ b/doc/compute_cna_atom.html @@ -1,104 +1,272 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute cna/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute cna/atom command -

    -

    Syntax: -

    -
    compute ID group-ID cna/atom cutoff 
    -
    -
    • ID, group-ID are documented in compute command -
    • cna/atom = style name of this compute command -
    • cutoff = cutoff distance for nearest neighbors (distance units) -
    -

    Examples: -

    -
    compute 1 all cna/atom 3.08 
    -
    -

    Description: -

    -

    Define a computation that calculates the CNA (Common Neighbor + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute cna/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID cna/atom cutoff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • cna/atom = style name of this compute command
    • +
    • cutoff = cutoff distance for nearest neighbors (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all cna/atom 3.08
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the CNA (Common Neighbor Analysis) pattern for each atom in the group. In solid-state systems the CNA pattern is a useful measure of the local crystal structure -around an atom. The CNA methodology is described in (Faken) -and (Tsuzuki). -

    -

    Currently, there are five kinds of CNA patterns LAMMPS recognizes: -

    -
    • fcc = 1 -
    • hcp = 2 -
    • bcc = 3 -
    • icosohedral = 4 -
    • unknown = 5 -
    -

    The value of the CNA pattern will be 0 for atoms not in the specified +around an atom. The CNA methodology is described in (Faken) +and (Tsuzuki).

    +

    Currently, there are five kinds of CNA patterns LAMMPS recognizes:

    +
      +
    • fcc = 1
    • +
    • hcp = 2
    • +
    • bcc = 3
    • +
    • icosohedral = 4
    • +
    • unknown = 5
    • +
    +

    The value of the CNA pattern will be 0 for atoms not in the specified compute group. Note that normally a CNA calculation should only be -performed on mono-component systems. -

    -

    The CNA calculation can be sensitive to the specified cutoff value. +performed on mono-component systems.

    +

    The CNA calculation can be sensitive to the specified cutoff value. You should insure the appropriate nearest neighbors of an atom are found within the cutoff distance for the presumed crystal strucure. E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to -obtain a good cutoff distance: -

    -
    -
    -

    where a is the lattice constant for the crystal structure concerned +obtain a good cutoff distance:

    +_images/cna_cutoff1.jpg +

    where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals. -

    -

    Also note that since the CNA calculation in LAMMPS uses the neighbors +for HCP crystals.

    +

    Also note that since the CNA calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the -following relation should also be satisfied: -

    -
    -
    -

    where Rc is the cutoff distance of the potential, Rs is the skin -distance as specified by the neighbor command, and +following relation should also be satisfied:

    +_images/cna_cutoff2.jpg +

    where Rc is the cutoff distance of the potential, Rs is the skin +distance as specified by the neighbor command, and cutoff is the argument used with the compute cna/atom command. LAMMPS -will issue a warning if this is not the case. -

    -

    The neighbor list needed to compute this quantity is constructed each +will issue a warning if this is not the case.

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a -cna/atom style. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +cna/atom style.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be a number from 0 to 5, as explained -above. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute centro/atom -

    -

    Default: none -

    -
    +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be a number from 0 to 5, as explained +above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    - -

    (Faken) Faken, Jonsson, Comput Mater Sci, 2, 279 (1994). -

    - +
    +
    +
    + -

    (Tsuzuki) Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_com.html b/doc/compute_com.html index 64735c5cf5..73f287f1be 100644 --- a/doc/compute_com.html +++ b/doc/compute_com.html @@ -1,62 +1,244 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute com command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute com command -

    -

    Syntax: -

    -
    compute ID group-ID com 
    -
    -
    • ID, group-ID are documented in compute command -
    • com = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all com 
    -
    -

    Description: -

    -

    Define a computation that calculates the center-of-mass of the group + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute com command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID com
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • com = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all com
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the center-of-mass of the group of atoms, including all effects due to atoms passing thru periodic -boundaries. -

    -

    A vector of three quantites is calculated by this compute, which -are the x,y,z coordinates of the center of mass. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the -center-of-mass in "unwrapped" form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the read_data command for a discussion of image flags +boundaries.

    +

    A vector of three quantites is calculated by this compute, which +are the x,y,z coordinates of the center of mass.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the +center-of-mass in “unwrapped” form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of “unwrapped” coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    Output info: -

    -

    This compute calculates a global vector of length 3, which can be +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    Output info:

    +

    This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector values are "intensive". The vector values will be in -distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute com/chunk -

    -

    Default: none -

    - +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector values are “intensive”. The vector values will be in +distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_com_chunk.html b/doc/compute_com_chunk.html index a2ad970b71..31ad55ecc7 100644 --- a/doc/compute_com_chunk.html +++ b/doc/compute_com_chunk.html @@ -1,92 +1,268 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute com/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute com/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID com/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • com/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid com/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the center-of-mass for multiple -chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute com/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID com/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • com/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid com/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the center-of-mass for multiple +chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the x,y,z coordinates of the center-of-mass +a system.

    +

    This compute calculates the x,y,z coordinates of the center-of-mass for each chunk, which includes all effects due to atoms passing thru -periodic boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +periodic boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's -center-of-mass in "unwrapped" form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the read_data command for a discussion of image flags +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the chunk’s +center-of-mass in “unwrapped” form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of “unwrapped” coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute com/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute com/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 3 for the x,y,z center-of-mass coordinates of each chunk. These values can be accessed by any command that uses global array values -from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The array values are "intensive". The array values will be in -distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute com -

    -

    Default: none -

    - +from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The array values are “intensive”. The array values will be in +distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_contact_atom.html b/doc/compute_contact_atom.html index 6c35adf5b0..e31ad688d8 100644 --- a/doc/compute_contact_atom.html +++ b/doc/compute_contact_atom.html @@ -1,59 +1,237 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute contact/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute contact/atom command -

    -

    Syntax: -

    -
    compute ID group-ID contact/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • contact/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all contact/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the number of contacts -for each atom in a group. -

    -

    The contact number is defined for finite-size spherical particles as + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute contact/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID contact/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • contact/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all contact/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the number of contacts +for each atom in a group.

    +

    The contact number is defined for finite-size spherical particles as the number of neighbor atoms which overlap the central particle, meaning that their distance of separation is less than or equal to the -sum of the radii of the two particles. -

    -

    The value of the contact number will be 0.0 for atoms not in the -specified compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, whose values can be +sum of the radii of the two particles.

    +

    The value of the contact number will be 0.0 for atoms not in the +specified compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, whose values can be accessed by any command that uses per-atom values from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options. -

    -

    The per-atom vector values will be a number >= 0.0, as explained -above. -

    -

    Restrictions: -

    -

    This compute requires that atoms store a radius as defined by the -atom_style sphere command. -

    -

    Related commands: -

    -

    compute coord/atom -

    -

    Default: none -

    - +input. See Section_howto 15 for an +overview of LAMMPS output options.

    +

    The per-atom vector values will be a number >= 0.0, as explained +above.

    +
    +
    +

    Restrictions¶

    +

    This compute requires that atoms store a radius as defined by the +atom_style sphere command.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_coord_atom.html b/doc/compute_coord_atom.html index 98dbe794f9..ebca8848d7 100644 --- a/doc/compute_coord_atom.html +++ b/doc/compute_coord_atom.html @@ -1,97 +1,276 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute coord/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute coord/atom command -

    -

    Syntax: -

    -
    compute ID group-ID coord/atom cutoff type1 type2 ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • coord/atom = style name of this compute command -
    • cutoff = distance within which to count coordination neighbors (distance units) -
    • typeN = atom type for Nth coordination count (see asterisk form below) -
    -

    Examples: -

    -
    compute 1 all coord/atom 2.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute coord/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID coord/atom cutoff type1 type2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • coord/atom = style name of this compute command
    • +
    • cutoff = distance within which to count coordination neighbors (distance units)
    • +
    • typeN = atom type for Nth coordination count (see asterisk form below)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all coord/atom 2.0
     compute 1 all coord/atom 6.0 1 2
    -compute 1 all coord/atom 6.0 2*4 5*8 * 
    -
    -

    Description: -

    -

    Define a computation that calculates one or more coordination numbers -for each atom in a group. -

    -

    A coordination number is defined as the number of neighbor atoms with +compute 1 all coord/atom 6.0 2*4 5*8 * +

    + + +
    +

    Description¶

    +

    Define a computation that calculates one or more coordination numbers +for each atom in a group.

    +

    A coordination number is defined as the number of neighbor atoms with specified atom type(s) that are within the specified cutoff distance from the central atom. Atoms not in the group are included in a -coordination number of atoms in the group. -

    -

    The typeN keywords allow you to specify which atom types contribute +coordination number of atoms in the group.

    +

    The typeN keywords allow you to specify which atom types contribute to each coordination number. One coordination number is computed for -each of the typeN keywords listed. If no typeN keywords are +each of the typeN keywords listed. If no typeN keywords are listed, a single coordination number is calculated, which includes -atoms of all types (same as the "*" format, see below). -

    -

    The typeN keywords can be specified in one of two ways. An explicit +atoms of all types (same as the “*” format, see below).

    +

    The typeN keywords can be specified in one of two ways. An explicit numeric value can be used, as in the 2nd example above. Or a wild-card asterisk can be used to specify a range of atom types. This -takes the form "*" or "*n" or "n*" or "m*n". If N = the number of +takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). -

    -

    The value of all coordination numbers will be 0.0 for atoms not in the -specified compute group. -

    -

    The neighbor list needed to compute this quantity is constructed each +(inclusive).

    +

    The value of all coordination numbers will be 0.0 for atoms not in the +specified compute group.

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. -

    -

    IMPORTANT NOTE: If you have a bonded system, then the settings of -special_bonds command can remove pairwise +too frequently.

    +
    +

    Warning

    +

    If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the coordination count. One way to get around this, is to write a dump file, and use the -rerun command to compute the coordination for snapshots +rerun command to compute the coordination for snapshots in the dump file. The rerun script can use a -special_bonds command that includes all pairs in -the neighbor list. -

    -

    Output info: -

    -

    If single type1 keyword is specified (or if none are specified), -this compute calculates a per-atom vector. If multiple typeN +special_bonds command that includes all pairs in +the neighbor list.

    +
    +

    Output info:

    +

    If single type1 keyword is specified (or if none are specified), +this compute calculates a per-atom vector. If multiple typeN keywords are specified, this compute calculates a per-atom array, with N columns. These values can be accessed by any command that uses -per-atom values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The per-atom vector or array values will be a number >= 0.0, as -explained above. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute cluster/atom -

    -

    Default: none -

    - +per-atom values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The per-atom vector or array values will be a number >= 0.0, as +explained above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_damage_atom.html b/doc/compute_damage_atom.html index d475631308..9bdf883aa4 100644 --- a/doc/compute_damage_atom.html +++ b/doc/compute_damage_atom.html @@ -1,68 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute damage/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute damage/atom command -

    -

    Syntax: -

    -
    compute ID group-ID damage/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • damage/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all damage/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom damage for each atom -in a group. This is a quantity relevant for Peridynamics -models. See this document -for an overview of LAMMPS commands for Peridynamics modeling. -

    -

    The "damage" of a Peridymaics particles is based on the bond breakage + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute damage/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID damage/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • damage/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all damage/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom damage for each atom +in a group. This is a quantity relevant for Peridynamics models. See this document +for an overview of LAMMPS commands for Peridynamics modeling.

    +

    The “damage” of a Peridymaics particles is based on the bond breakage between the particle and its neighbors. If all the bonds are broken -the particle is considered to be fully damaged. -

    -

    See the PDLAMMPS user -guide for a formal -definition of "damage" and more details about Peridynamics as it is -implemented in LAMMPS. -

    -

    This command can be used with all the Peridynamic pair styles. -

    -

    The damage value will be 0.0 for atoms not in the specified compute -group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +the particle is considered to be fully damaged.

    +

    See the PDLAMMPS user guide for a formal +definition of “damage” and more details about Peridynamics as it is +implemented in LAMMPS.

    +

    This command can be used with all the Peridynamic pair styles.

    +

    The damage value will be 0.0 for atoms not in the specified compute +group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values are unitlesss numbers (damage) >= 0.0. -

    -

    Restrictions: -

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute dilatation, compute -plasticity -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values are unitlesss numbers (damage) >= 0.0.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_dihedral_local.html b/doc/compute_dihedral_local.html index b8d4bb5674..28d559e7a2 100644 --- a/doc/compute_dihedral_local.html +++ b/doc/compute_dihedral_local.html @@ -1,79 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute dihedral/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute dihedral/local command -

    -

    Syntax: -

    -
    compute ID group-ID dihedral/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • dihedral/local = style name of this compute command - -
    • one or more keywords may be appended - -
    • keyword = phi - -
        phi = tabulate dihedral angles 
      -
      - -
    -

    Examples: -

    -
    compute 1 all dihedral/local phi 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual dihedral + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute dihedral/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID dihedral/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • dihedral/local = style name of this compute command
    • +
    • one or more keywords may be appended
    • +
    • keyword = phi
    • +
    +
    +phi = tabulate dihedral angles
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all dihedral/local phi
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates properties of individual dihedral interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the -group parameter as explained below. -

    -

    The local data stored by this command is generated by looping over all +group parameter as explained below.

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their dihedrals. A dihedral will only be included if all 4 atoms in the dihedral are in the specified -compute group. -

    -

    Note that as atoms migrate from processor to processor, there will be +compute group.

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, dihedral output from the compute -property/local command can be combined -with data from this command and output by the dump local -command in a consistent way. -

    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +For example, dihedral output from the compute property/local command can be combined +with data from this command and output by the dump local +command in a consistent way.

    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of dihedrals. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The output for phi will be in degrees. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute -property/local -

    -

    Default: none -

    - +uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The output for phi will be in degrees.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_dilatation_atom.html b/doc/compute_dilatation_atom.html index 2f76dee3ba..73a26f59b7 100644 --- a/doc/compute_dilatation_atom.html +++ b/doc/compute_dilatation_atom.html @@ -1,71 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute dilatation/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute dilatation/atom command -

    -

    Syntax: -

    -
    compute ID group-ID dilatation/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • dilation/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all dilatation/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom dilatation for each -atom in a group. This is a quantity relevant for Peridynamics -models. See this document -for an overview of LAMMPS commands for Peridynamics modeling. -

    -

    For small deformation, dilatation of is the measure of the volumetric -strain. -

    -

    The dilatation "theta" for each peridynamic particle I is calculated + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute dilatation/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID dilatation/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • dilation/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all dilatation/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom dilatation for each +atom in a group. This is a quantity relevant for Peridynamics models. See this document +for an overview of LAMMPS commands for Peridynamics modeling.

    +

    For small deformation, dilatation of is the measure of the volumetric +strain.

    +

    The dilatation “theta” for each peridynamic particle I is calculated as a sum over its neighbors with unbroken bonds, where the contribution of the IJ pair is a function of the change in bond length (versus the initial length in the reference state), the volume fraction of the particles and an influence function. See the -PDLAMMPS user -guide for a formal -definition of dilatation. -

    -

    This command can only be used with a subset of the Peridynamic pair -styles: peri/lps, peri/ves and peri/eps. -

    -

    The dilatation value will be 0.0 for atoms not in the specified -compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +PDLAMMPS user guide for a formal +definition of dilatation.

    +

    This command can only be used with a subset of the Peridynamic pair styles: peri/lps, peri/ves and peri/eps.

    +

    The dilatation value will be 0.0 for atoms not in the specified +compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. -

    -

    The per-atom vector values are unitlesss numbers (theta) >= 0.0. -

    -

    Restrictions: -

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute damage, compute -plasticity -

    -

    Default: none -

    - +Section_howto 15 for an overview of LAMMPS output options.

    +

    The per-atom vector values are unitlesss numbers (theta) >= 0.0.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_displace_atom.html b/doc/compute_displace_atom.html index 87370be662..b300e5656b 100644 --- a/doc/compute_displace_atom.html +++ b/doc/compute_displace_atom.html @@ -1,74 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute displace/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute displace/atom command -

    -

    Syntax: -

    -
    compute ID group-ID displace/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • displace/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all displace/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the current displacement of each + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute displace/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID displace/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • displace/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all displace/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the current displacement of each atom in the group from its original coordinates, including all effects -due to atoms passing thru periodic boundaries. -

    -

    A vector of four quantites per atom is calculated by this compute. +due to atoms passing thru periodic boundaries.

    +

    A vector of four quantites per atom is calculated by this compute. The first 3 elements of the vector are the dx,dy,dz displacements. The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy + -dz*dz). -

    -

    The displacement of an atom is from its original position at the time +dz*dz).

    +

    The displacement of an atom is from its original position at the time the compute command was issued. The value of the displacement will be -0.0 for atoms not in the specified compute group. -

    -

    IMPORTANT NOTE: Initial coordinates are stored in "unwrapped" form, by -using the image flags associated with each atom. See the dump -custom command for a discussion of "unwrapped" coordinates. -See the Atoms section of the read_data command for a +0.0 for atoms not in the specified compute group.

    +
    +

    Warning

    +

    Initial coordinates are stored in “unwrapped” form, by +using the image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by -using the set image command. -

    -

    IMPORTANT NOTE: If you want the quantities calculated by this compute -to be continuous when running from a restart file, +using the set image command.

    +
    +
    +

    Warning

    +

    If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom coordinates from the restart file. -

    -

    Output info: -

    -

    This compute calculates a per-atom array with 4 columns, which can be +correctly with time=0 atom coordinates from the restart file.

    +
    +

    Output info:

    +

    This compute calculates a per-atom array with 4 columns, which can be accessed by indices 1-4 by any command that uses per-atom values from -a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The per-atom array values will be in distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute msd, dump custom, fix -store/state -

    -

    Default: none -

    - +a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The per-atom array values will be in distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_erotate_asphere.html b/doc/compute_erotate_asphere.html index 8ea9a4e1dc..feaffc5777 100644 --- a/doc/compute_erotate_asphere.html +++ b/doc/compute_erotate_asphere.html @@ -1,75 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute erotate/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute erotate/asphere command -

    -

    Syntax: -

    -
    compute ID group-ID erotate/asphere 
    -
    -
    • ID, group-ID are documented in compute command -
    • erotate/asphere = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all erotate/asphere 
    -
    -

    Description: -

    -

    Define a computation that calculates the rotational kinetic energy of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute erotate/asphere command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID erotate/asphere
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • erotate/asphere = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all erotate/asphere
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the rotational kinetic energy of a group of aspherical particles. The aspherical particles can be ellipsoids, or line segments, or triangles. See the -atom_style and read_data commands -for descriptions of these options. -

    -

    For all 3 types of particles, the rotational kinetic energy is +atom_style and read_data commands +for descriptions of these options.

    +

    For all 3 types of particles, the rotational kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor for the aspherical particle and w is its angular velocity, which is computed -from its angular momentum if needed. -

    -

    IMPORTANT NOTE: For 2d models, ellipsoidal particles +from its angular momentum if needed.

    +
    +

    Warning

    +

    For 2d models, ellipsoidal particles are treated as ellipsoids, not ellipses, meaning their moments of -inertia will be the same as in 3d. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the KE). This value can be +inertia will be the same as in 3d.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute requires that ellipsoidal particles atoms store a shape +input. See Section_howto 15 for an +overview of LAMMPS output options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute requires that ellipsoidal particles atoms store a shape and quaternion orientation and angular momentum as defined by the -atom_style ellipsoid command. -

    -

    This compute requires that line segment particles atoms store a length -and orientation and angular velocity as defined by the atom_style -line command. -

    -

    This compute requires that triangular particles atoms store a size and +atom_style ellipsoid command.

    +

    This compute requires that line segment particles atoms store a length +and orientation and angular velocity as defined by the atom_style line command.

    +

    This compute requires that triangular particles atoms store a size and shape and quaternion orientation and angular momentum as defined by -the atom_style tri command. -

    -

    All particles in the group must be finite-size. They cannot be point -particles. -

    -

    Related commands: none -

    -

    compute erotate/sphere -

    -

    Default: none -

    - +the atom_style tri command.

    +

    All particles in the group must be finite-size. They cannot be point +particles.

    +

    Related commands: none

    +

    compute erotate/sphere

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_erotate_rigid.html b/doc/compute_erotate_rigid.html index 2e4358e30a..790c0624b1 100644 --- a/doc/compute_erotate_rigid.html +++ b/doc/compute_erotate_rigid.html @@ -1,66 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute erotate/rigid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute erotate/rigid command -

    -

    Syntax: -

    -
    compute ID group-ID erotate/rigid fix-ID 
    -
    -
    • ID, group-ID are documented in compute command -
    • erotate/rigid = style name of this compute command -
    • fix-ID = ID of rigid body fix -
    -

    Examples: -

    -
    compute 1 all erotate/rigid myRigid 
    -
    -

    Description: -

    -

    Define a computation that calculates the rotational kinetic energy of -a collection of rigid bodies, as defined by one of the fix -rigid command variants. -

    -

    The rotational energy of each rigid body is computed as 1/2 I Wbody^2, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute erotate/rigid command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID erotate/rigid fix-ID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • erotate/rigid = style name of this compute command
    • +
    • fix-ID = ID of rigid body fix
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all erotate/rigid myRigid
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the rotational kinetic energy of +a collection of rigid bodies, as defined by one of the fix rigid command variants.

    +

    The rotational energy of each rigid body is computed as 1/2 I Wbody^2, where I is the inertia tensor for the rigid body, and Wbody is its angular velocity vector. Both I and Wbody are in the frame of -reference of the rigid body, i.e. I is diagonalized. -

    -

    The fix-ID should be the ID of one of the fix rigid +reference of the rigid body, i.e. I is diagonalized.

    +

    The fix-ID should be the ID of one of the fix rigid commands which defines the rigid bodies. The group specified in the compute command is ignored. The rotational energy of all the rigid bodies defined by the fix rigid command in included in the -calculation. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the summed rotational energy +calculation.

    +

    Output info:

    +

    This compute calculates a global scalar (the summed rotational energy of all the rigid bodies). This value can be used by any command that uses a global scalar value from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute ke/rigid -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_erotate_sphere.html b/doc/compute_erotate_sphere.html index eb6662b13b..2d41764bca 100644 --- a/doc/compute_erotate_sphere.html +++ b/doc/compute_erotate_sphere.html @@ -1,62 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute erotate/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute erotate/sphere command -

    -

    Syntax: -

    -
    compute ID group-ID erotate/sphere 
    -
    -
    • ID, group-ID are documented in compute command -
    • erotate/sphere = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all erotate/sphere 
    -
    -

    Description: -

    -

    Define a computation that calculates the rotational kinetic energy of -a group of spherical particles. -

    -

    The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle's angular velocity. -

    -

    IMPORTANT NOTE: For 2d models, particles are treated + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute erotate/sphere command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID erotate/sphere
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • erotate/sphere = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all erotate/sphere
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the rotational kinetic energy of +a group of spherical particles.

    +

    The rotational energy is computed as 1/2 I w^2, where I is the moment +of inertia for a sphere and w is the particle’s angular velocity.

    +
    +

    Warning

    +

    For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the KE). This value can be +same as in 3d.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute requires that atoms store a radius and angular velocity -(omega) as defined by the atom_style sphere command. -

    -

    All particles in the group must be finite-size spheres or point +input. See Section_howto 15 for an +overview of LAMMPS output options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute requires that atoms store a radius and angular velocity +(omega) as defined by the atom_style sphere command.

    +

    All particles in the group must be finite-size spheres or point particles. They cannot be aspherical. Point particles will not -contribute to the rotational energy. -

    -

    Related commands: -

    -

    compute erotate/asphere -

    -

    Default: none -

    - +contribute to the rotational energy.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_erotate_sphere_atom.html b/doc/compute_erotate_sphere_atom.html index e758b7be4f..a98a2c3a6c 100644 --- a/doc/compute_erotate_sphere_atom.html +++ b/doc/compute_erotate_sphere_atom.html @@ -1,58 +1,241 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute erotate/sphere/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute erotate/sphere/atom command -

    -

    Syntax: -

    -
    compute ID group-ID erotate/sphere/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • erotate/sphere/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all erotate/sphere/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the rotational kinetic energy for -each particle in a group. -

    -

    The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle's angular velocity. -

    -

    IMPORTANT NOTE: For 2d models, particles are treated + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute erotate/sphere/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID erotate/sphere/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • erotate/sphere/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all erotate/sphere/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the rotational kinetic energy for +each particle in a group.

    +

    The rotational energy is computed as 1/2 I w^2, where I is the moment +of inertia for a sphere and w is the particle’s angular velocity.

    +
    +

    Warning

    +

    For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d. -

    -

    The value of the rotational kinetic energy will be 0.0 for atoms not +same as in 3d.

    +
    +

    The value of the rotational kinetic energy will be 0.0 for atoms not in the specified compute group or for point particles with a radius = -0.0. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +0.0.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_event_displace.html b/doc/compute_event_displace.html index 8efff145ad..8b1e1bf206 100644 --- a/doc/compute_event_displace.html +++ b/doc/compute_event_displace.html @@ -1,67 +1,248 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute event/displace command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute event/displace command -

    -

    Syntax: -

    -
    compute ID group-ID event/displace threshold 
    -
    -
    • ID, group-ID are documented in compute command -
    • event/displace = style name of this compute command -
    • threshold = minimum distance anyparticle must move to trigger an event (distance units) -
    -

    Examples: -

    -
    compute 1 all event/displace 0.5 
    -
    -

    Description: -

    -

    Define a computation that flags an "event" if any particle in the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute event/displace command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID event/displace threshold
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • event/displace = style name of this compute command
    • +
    • threshold = minimum distance anyparticle must move to trigger an event (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all event/displace 0.5
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that flags an “event” if any particle in the group has moved a distance greater than the specified threshold distance when compared to a previously stored reference state (i.e. the previous event). This compute is typically used in -conjunction with the prd and tad commands, +conjunction with the prd and tad commands, to detect if a transition -to a new minimum energy basin has occurred. -

    -

    This value calculated by the compute is equal to 0 if no particle has +to a new minimum energy basin has occurred.

    +

    This value calculated by the compute is equal to 0 if no particle has moved far enough, and equal to 1 if one or more particles have moved -further than the threshold distance. -

    -

    NOTE: If the system is undergoing significant center-of-mass motion, -due to thermal motion, an external force, or an initial net momentum, +further than the threshold distance.

    +
    +

    Note

    +

    If the system is undergoing significant center-of-mass motion, +due to thermal motion, an external force, or an initial net momentum, then this compute will not be able to distinguish that motion from -local atom displacements and may generate "false postives." -

    -

    Output info: -

    -

    This compute calculates a global scalar (the flag). This value can be +local atom displacements and may generate “false postives.”

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the flag). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options. -

    -

    The scalar value calculated by this compute is "intensive". The -scalar value will be a 0 or 1 as explained above. -

    -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    prd, tad -

    -

    Default: none -

    - +input. See Section_howto 15 for an +overview of LAMMPS output options.

    +

    The scalar value calculated by this compute is “intensive”. The +scalar value will be a 0 or 1 as explained above.

    +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_fep.html b/doc/compute_fep.html index 6eecc4b023..baa065c878 100644 --- a/doc/compute_fep.html +++ b/doc/compute_fep.html @@ -1,279 +1,447 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute fep command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute fep command -

    -

    Syntax: -

    -
    compute ID group-ID fep temp attribute args ... keyword value ... 
    -
    -
    • ID, group-ID are documented in the compute command - -
    • fep = name of this compute command - -
    • temp = external temperature (as specified for constant-temperature run) - -
    • one or more attributes with args may be appended - -
    • attribute = pair or atom - -
        pair args = pstyle pparam I J v_delta
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute fep command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID fep temp attribute args ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in the compute command
      • +
      • fep = name of this compute command
      • +
      • temp = external temperature (as specified for constant-temperature run)
      • +
      • one or more attributes with args may be appended
      • +
      • attribute = pair or atom
      • +
      +
      +pair args = pstyle pparam I J v_delta
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to perturb
           I,J = type pair(s) to set parameter for
           v_delta = variable with perturbation to apply (in the units of the parameter)
      -  atom args = aparam I v_delta
      +  atom args = aparam I v_delta
           aparam = parameter to perturb
           I = type to set parameter for
      -    v_delta = variable with perturbation to apply (in the units of the parameter) 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = tail or volume - -
        tail value = no or yes
      -    no = ignore tail correction to pair energies (usually small in fep)
      -    yes = include tail correction to pair energies
      -  volume value = no or yes
      -    no = ignore volume changes (e.g. in NVE or NVT trajectories)
      -    yes = include volume changes (e.g. in NpT trajectories) 
      -
      - -
    -

    Examples: -

    -
    compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes
    -compute 1 all fep 300 atom charge 2 v_delta 
    -
    -

    Description: -

    -

    Apply a perturbation to parameters of the interaction potential and + v_delta = variable with perturbation to apply (in the units of the parameter) + +

      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = tail or volume
    • +
    +
    +tail value = no or yes
    +    no = ignore tail correction to pair energies (usually small in fep)
    +    yes = include tail correction to pair energies
    +  volume value = no or yes
    +    no = ignore volume changes (e.g. in NVE or NVT trajectories)
    +    yes = include volume changes (e.g. in NpT trajectories)
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes
    +compute 1 all fep 300 atom charge 2 v_delta
    +
    +
    +
    +
    +

    Description¶

    +

    Apply a perturbation to parameters of the interaction potential and recalculate the pair potential energy without changing the atomic coordinates from those of the reference, unperturbed system. This compute can be used to calculate free energy differences using several methods, such as free-energy perturbation (FEP), finite-difference -thermodynamic integration (FDTI) or Bennet's acceptance ratio method -(BAR). -

    -

    The potential energy of the system is decomposed in three terms: a +thermodynamic integration (FDTI) or Bennet’s acceptance ratio method +(BAR).

    +

    The potential energy of the system is decomposed in three terms: a background term corresponding to interaction sites whose parameters -remain constant, a reference term U0 corresponding to the +remain constant, a reference term *U*<sub>0</sub> corresponding to the initial interactions of the atoms that will undergo perturbation, and -a term U1 corresponding to the final interactions of -these atoms: -

    -
    -
    -

    A coupling parameter λ varying from 0 to 1 connects the -reference and perturbed systems: -

    -
    -
    -

    It is possible but not necessary that the coupling parameter (or a +a term *U*<sub>1</sub> corresponding to the final interactions of +these atoms:

    +_images/compute_fep_u.jpg +

    A coupling parameter &lambda; varying from 0 to 1 connects the +reference and perturbed systems:

    +_images/compute_fep_lambda.jpg +

    It is possible but not necessary that the coupling parameter (or a function thereof) appears as a multiplication factor of the potential energy. Therefore, this compute can apply perturbations to interaction parameters that are not directly proportional to the potential energy -(e.g. σ in Lennard-Jones potentials). -

    -

    This command can be combined with fix adapt to +(e.g. &sigma; in Lennard-Jones potentials).

    +

    This command can be combined with fix adapt to perform multistage free-energy perturbation calculations along -stepwise alchemical transformations during a simulation run: -

    -
    -
    -

    This compute is suitable for the finite-difference thermodynamic -integration (FDTI) method (Mezei), which is based on an +stepwise alchemical transformations during a simulation run:

    +_images/compute_fep_fep.jpg +

    This compute is suitable for the finite-difference thermodynamic +integration (FDTI) method (Mezei), which is based on an evaluation of the numerical derivative of the free energy by a -perturbation method using a very small δ: -

    -
    -
    -

    where wi are weights of a numerical quadrature. The fix -adapt command can be used to define the stages of -λ at which the derivative is calculated and averaged. -

    -

    The compute fep calculates the exponential Boltzmann term and also the -potential energy difference U1-U0. By -choosing a very small perturbation δ the thermodynamic +perturbation method using a very small &delta;:

    +_images/compute_fep_fdti.jpg +

    where *w*<sub>i</sub> are weights of a numerical quadrature. The fix adapt command can be used to define the stages of +&lambda; at which the derivative is calculated and averaged.

    +

    The compute fep calculates the exponential Boltzmann term and also the +potential energy difference *U*<sub>1</sub>-*U*<sub>0</sub>. By +choosing a very small perturbation &delta; the thermodynamic integration method can be implemented using a numerical evaluation of -the derivative of the potential energy with respect to λ: -

    -
    -
    -

    Another technique to calculate free energy differences is the -acceptance ratio method (Bennet), which can be implemented -by calculating the potential energy differences with δ = 1.0 on -both the forward and reverse routes: -

    -
    -
    -

    The value of the free energy difference is determined by numerical -root finding to establish the equality. -

    -

    Concerning the choice of how the atomic parameters are perturbed in +the derivative of the potential energy with respect to &lambda;:

    +_images/compute_fep_ti.jpg +

    Another technique to calculate free energy differences is the +acceptance ratio method (Bennet), which can be implemented +by calculating the potential energy differences with &delta; = 1.0 on +both the forward and reverse routes:

    +_images/compute_fep_bar.jpg +

    The value of the free energy difference is determined by numerical +root finding to establish the equality.

    +

    Concerning the choice of how the atomic parameters are perturbed in order to setup an alchemical transformation route, several strategies are available, such as single-topology or double-topology strategies -(Pearlman). The latter does not require modification of -bond lengths, angles or other internal coordinates. -

    -

    IMPORTANT NOTES: This compute command does not take kinetic energy +(Pearlman). The latter does not require modification of +bond lengths, angles or other internal coordinates.

    +

    IMPORTANT NOTES: This compute command does not take kinetic energy into account, therefore the masses of the particles should not be modified between the reference and perturbed states, or along the alchemical transformation route. This compute command does not change -bond lengths or other internal coordinates (Boresch, -Karplus). -

    -
    - -

    The pair attribute enables various parameters of potentials defined -by the pair_style and pair_coeff -commands to be changed, if the pair style supports it. -

    -

    The pstyle argument is the name of the pair style. For example, -pstyle could be specified as "lj/cut". The pparam argument is the +bond lengths or other internal coordinates (Boresch, Karplus).

    +
    +

    The pair attribute enables various parameters of potentials defined +by the pair_style and pair_coeff +commands to be changed, if the pair style supports it.

    +

    The pstyle argument is the name of the pair style. For example, +pstyle could be specified as “lj/cut”. The pparam argument is the name of the parameter to change. This is a (non-exclusive) list of pair styles and parameters that can be used with this compute. See the doc pages for individual pair styles and their energy formulas for -the meaning of these parameters: -

    -
    - - - - - - - - - - - - -
    lj/cut epsilon,sigma type pairs
    lj/cut/coul/cut epsilon,sigma type pairs
    lj/cut/coul/long epsilon,sigma type pairs
    lj/cut/soft epsilon,sigma,lambda type pairs
    coul/cut/soft lambda type pairs
    coul/long/soft lambda type pairs
    lj/cut/coul/cut/soft epsilon,sigma,lambda type pairs
    lj/cut/coul/long/soft epsilon,sigma,lambda type pairs
    lj/cut/tip4p/long/soft epsilon,sigma,lambda type pairs
    tip4p/long/soft lambda type pairs
    lj/charmm/coul/long/soft epsilon,sigma,lambda type pairs
    born a,b,c type pairs
    buck a,c type pairs -
    - -

    Note that it is easy to add new potentials and their parameters to +the meaning of these parameters:

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    lj/cutepsilon,sigmatype pairs
    lj/cut/coul/cutepsilon,sigmatype pairs
    lj/cut/coul/longepsilon,sigmatype pairs
    lj/cut/softepsilon,sigma,lambdatype pairs
    coul/cut/softlambdatype pairs
    coul/long/softlambdatype pairs
    lj/cut/coul/cut/softepsilon,sigma,lambdatype pairs
    lj/cut/coul/long/softepsilon,sigma,lambdatype pairs
    lj/cut/tip4p/long/softepsilon,sigma,lambdatype pairs
    tip4p/long/softlambdatype pairs
    lj/charmm/coul/long/softepsilon,sigma,lambdatype pairs
    borna,b,ctype pairs
    bucka,ctype pairs
    +

    Note that it is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential. -

    -

    Similar to the pair_coeff command, I and J can be +the pair_*.cpp file associated with the potential.

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets +each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of -atom types. This takes the form "*" or "*n" or "n*" or "m*n". If N = +atom types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. -

    -

    If pair_style hybrid or hybrid/overlay is being -used, then the pstyle will be a sub-style name. You must specify +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored.

    +

    If pair_style hybrid or hybrid/overlay is being +used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the -pair_coeff command) for that sub-style. -

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +pair_coeff command) for that sub-style.

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this compute is invoked. It should be specified as v_name, where name -is the variable name. -

    -
    - -

    The atom attribute enables atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be used with this compute: -

    -
    • charge = charge on particle -
    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +is the variable name.

    +
    +

    The atom attribute enables atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be used with this compute:

    +
      +
    • charge = charge on particle
    • +
    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this compute is invoked. It should be specified as v_name, where name -is the variable name. -

    -
    - -

    The tail keyword controls the calculation of the tail correction to -"van der Waals" pair energies beyond the cutoff, if this has been -activated via the pair_modify command. If the +is the variable name.

    +
    +

    The tail keyword controls the calculation of the tail correction to +“van der Waals” pair energies beyond the cutoff, if this has been +activated via the pair_modify command. If the perturbation is small, the tail contribution to the energy difference -between the reference and perturbed systems should be negligible. -

    -

    If the keyword volume = yes, then the Boltzmann term is multiplied +between the reference and perturbed systems should be negligible.

    +

    If the keyword volume = yes, then the Boltzmann term is multiplied by the volume so that correct ensemble averaging can be performed over -trajectories during which the volume fluctuates or changes (Allen and -Tildesley): -

    -
    -
    -
    - -

    Output info: -

    -

    This compute calculates a global vector of length 3 which contains the -energy difference (U1-U0) as c_ID[1], the -Boltzmann factor exp(-(U1-U0)/kT), or -Vexp(-(U1-U0)/kT), as c_ID[2] and the -volume of the simulation box V as c_ID[3]. U1 is the +trajectories during which the volume fluctuates or changes (Allen and Tildesley):

    +_images/compute_fep_vol.jpg +
    +

    Output info:

    +

    This compute calculates a global vector of length 3 which contains the +energy difference (U*<sub>1</sub>-*U*<sub>0</sub>) as c_ID[1], the +Boltzmann factor exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT), or +V*exp(-(*U*<sub>1</sub>-*U*<sub>0</sub>)/*kT), as c_ID[2] and the +volume of the simulation box V as c_ID[3]. *U*<sub>1</sub> is the pair potential energy obtained with the perturbed parameters and -U0 is the pair potential energy obtained with the +*U*<sub>0</sub> is the pair potential energy obtained with the unperturbed parameters. The energies include kspace terms if these -are used in the simulation. -

    -

    These output results can be used by any command that uses a global -scalar or vector from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. For example, the computed values can be averaged using fix -ave/time. -

    -

    The values calculated by this compute are "extensive". -

    -

    Restrictions: -

    -

    This compute is distributed as the USER-FEP package. It is only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix adapt/fep, fix ave/time, -pair_lj_soft_coul_soft -

    -

    Default: -

    -

    The option defaults are tail = no, volume = no. -

    -
    +are used in the simulation.

    +

    These output results can be used by any command that uses a global +scalar or vector from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options. For example, the computed values can be averaged using fix ave/time.

    +

    The values calculated by this compute are “extensive”.

    +
    +
    +

    Restrictions¶

    +

    This compute is distributed as the USER-FEP package. It is only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are tail = no, volume = no.

    +
    +

    (Pearlman) Pearlman, J Chem Phys, 98, 1487 (1994)

    +

    (Mezei) Mezei, J Chem Phys, 86, 7084 (1987)

    +

    (Bennet) Bennet, J Comput Phys, 22, 245 (1976)

    +

    (BoreschKarplus) Boresch and Karplus, J Phys Chem A, 103, 103 (1999)

    +

    (AllenTildesley) Allen and Tildesley, Computer Simulation of +Liquids, Oxford University Press (1987)

    +
    + - -

    (Pearlman) Pearlman, J Chem Phys, 98, 1487 (1994) -

    - + + +
    + -

    (Mezei) Mezei, J Chem Phys, 86, 7084 (1987) -

    - +
    -

    (Bennet) Bennet, J Comput Phys, 22, 245 (1976) -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (BoreschKarplus) Boresch and Karplus, J Phys Chem A, 103, 103 (1999) -

    - +
    -

    (AllenTildesley) Allen and Tildesley, Computer Simulation of -Liquids, Oxford University Press (1987) -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_group_group.html b/doc/compute_group_group.html index 268b1f68ca..8fb773e85d 100644 --- a/doc/compute_group_group.html +++ b/doc/compute_group_group.html @@ -1,135 +1,295 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute group/group command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute group/group command -

    -

    Syntax: -

    -
    compute ID group-ID group/group group2-ID keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • group/group = style name of this compute command - -
    • group2-ID = group ID of second (or same) group - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = pair or kspace or boundary - -
        pair value = yes or no
      -  kspace value = yes or no
      -  boundary value = yes or no 
      -
      - -
    -

    Examples: -

    -
    compute 1 lower group/group upper
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute group/group command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID group/group group2-ID keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • group/group = style name of this compute command
    • +
    • group2-ID = group ID of second (or same) group
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = pair or kspace or boundary
    • +
    +
    +pair value = yes or no
    +  kspace value = yes or no
    +  boundary value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    compute 1 lower group/group upper
     compute 1 lower group/group upper kspace yes
    -compute mine fluid group/group wall 
    -
    -

    Description: -

    -

    Define a computation that calculates the total energy and force +compute mine fluid group/group wall +

    + + +
    +

    Description¶

    +

    Define a computation that calculates the total energy and force interaction between two groups of atoms: the compute group and the -specified group2. The two groups can be the same. -

    -

    If the pair keyword is set to yes, which is the default, then the +specified group2. The two groups can be the same.

    +

    If the pair keyword is set to yes, which is the default, then the the interaction energy will include a pair component which is defined as the pairwise energy between all pairs of atoms where one atom in the pair is in the first group and the other is in the second group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to pairwise -interactions with atoms in the specified group2. -

    -

    If the kspace keyword is set to yes, which is not the default, and -if a kspace_style is defined, then the interaction +interactions with atoms in the specified group2.

    +

    If the kspace keyword is set to yes, which is not the default, and +if a kspace_style is defined, then the interaction energy will include a Kspace component which is the long-range Coulombic energy between all the atoms in the first group and all the atoms in the 2nd group. Likewise, the interaction force calculated by this compute will include the force on the compute group atoms due to -long-range Coulombic interactions with atoms in the specified group2. -

    -

    Normally the long-range Coulombic energy converges only when the net +long-range Coulombic interactions with atoms in the specified group2.

    +

    Normally the long-range Coulombic energy converges only when the net charge of the unit cell is zero. However, one can assume the net charge of the system is neutralized by a uniform background plasma, and a correction to the system energy can be applied to reduce -artifacts. For more information see (Bogusz). If the -boundary keyword is set to yes, which is the default, and kspace +artifacts. For more information see (Bogusz). If the +boundary keyword is set to yes, which is the default, and kspace contributions are included, then this energy correction term will be added to the total group-group energy. This correction term does not affect the force calculation and will be zero if one or both of the groups are charge neutral. This energy correction term is the same as -that included in the regular Ewald and PPPM routines. -

    -

    This compute does not calculate any bond or angle or dihedral or -improper interactions between atoms in the two groups. -

    -
    - -

    The pairwise contributions to the group-group interactions are +that included in the regular Ewald and PPPM routines.

    +

    This compute does not calculate any bond or angle or dihedral or +improper interactions between atoms in the two groups.

    +
    +

    The pairwise contributions to the group-group interactions are calculated by looping over a neighbor list. The Kspace contribution to the group-group interactions require essentially the same amount of work (FFTs, Ewald summation) as computing long-range forces for the entire system. Thus it can be costly to invoke this compute too -frequently. -

    -

    If you desire a breakdown of the interactions into a pairwise and +frequently.

    +

    If you desire a breakdown of the interactions into a pairwise and Kspace component, simply invoke the compute twice with the appropriate -yes/no settings for the pair and kspace keywords. This is no more -costly than using a single compute with both keywords set to yes. +yes/no settings for the pair and kspace keywords. This is no more +costly than using a single compute with both keywords set to yes. The individual contributions can be summed in a -variable if desired. -

    -

    This document describes how the long-range -group-group calculations are performed. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the energy) and a global +variable if desired.

    +

    This document describes how the long-range +group-group calculations are performed.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    Both the scalar and vector values calculated by this compute are -"extensive". The scalar value will be in energy units. -The vector values will be in force units. -

    -

    Restrictions: -

    -

    Not all pair styles can be evaluated in a pairwise mode as required by +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    Both the scalar and vector values calculated by this compute are +“extensive”. The scalar value will be in energy units. +The vector values will be in force units.

    +
    +
    +

    Restrictions¶

    +

    Not all pair styles can be evaluated in a pairwise mode as required by this compute. For example, 3-body and other many-body potentials, -such as Tersoff and -Stillinger-Weber cannot be used. EAM +such as Tersoff and +Stillinger-Weber cannot be used. EAM potentials only include the pair potential portion of the EAM -interaction when used by this compute, not the embedding term. -

    -

    Not all Kspace styles support calculation of group/group interactions. -The ewald and pppm styles do. -

    -

    Related commands: none -

    -

    Default: -

    -

    The option defaults are pair = yes, kspace = no, and boundary = yes. -

    -
    +interaction when used by this compute, not the embedding term.

    +

    Not all Kspace styles support calculation of group/group interactions. +The ewald and pppm styles do.

    +

    Related commands: none

    +
    +
    +

    Default¶

    +

    The option defaults are pair = yes, kspace = no, and boundary = yes.

    +
    +

    Bogusz et al, J Chem Phys, 108, 7070 (1998)

    +
    + - -

    Bogusz et al, J Chem Phys, 108, 7070 (1998) -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_gyration.html b/doc/compute_gyration.html index 8d0eed96f2..6f48993acb 100644 --- a/doc/compute_gyration.html +++ b/doc/compute_gyration.html @@ -1,78 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute gyration command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute gyration command -

    -

    Syntax: -

    -
    compute ID group-ID gyration 
    -
    -
    • ID, group-ID are documented in compute command -
    • gyration = style name of this compute command -
    -

    Examples: -

    -
    compute 1 molecule gyration 
    -
    -

    Description: -

    -

    Define a computation that calculates the radius of gyration Rg of the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute gyration command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID gyration
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • gyration = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 molecule gyration
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the radius of gyration Rg of the group of atoms, including all effects due to atoms passing thru -periodic boundaries. -

    -

    Rg is a measure of the size of the group of atoms, and is computed as -the square root of the Rg^2 value in this formula -

    -
    -
    -

    where M is the total mass of the group, Rcm is the center-of-mass -position of the group, and the sum is over all atoms in the group. -

    -

    A Rg^2 tensor, stored as a 6-element vector, is also calculated by +periodic boundaries.

    +

    Rg is a measure of the size of the group of atoms, and is computed as +the square root of the Rg^2 value in this formula

    +_images/compute_gyration.jpg +

    where M is the total mass of the group, Rcm is the center-of-mass +position of the group, and the sum is over all atoms in the group.

    +

    A Rg^2 tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy - Rcmy) for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. Note that unlike the scalar Rg, each of the 6 values of the tensor is -effectively a "squared" value, since the cross-terms may be negative -and taking a sqrt() would be invalid. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to Rg in -"unwrapped" form, by using the image flags associated with each atom. -See the dump custom command for a discussion of -"unwrapped" coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +effectively a “squared” value, since the cross-terms may be negative +and taking a sqrt() would be invalid.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to Rg in +“unwrapped” form, by using the image flags associated with each atom. +See the dump custom command for a discussion of +“unwrapped” coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    Output info: -

    -

    This compute calculates a global scalar (Rg) and a global vector of +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (Rg) and a global vector of length 6 (Rg^2 tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or -vector values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The scalar and vector values calculated by this compute are -"intensive". The scalar and vector values will be in distance and -distance^2 units respectively. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute gyration/chunk -

    -

    Default: none -

    - +vector values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The scalar and vector values calculated by this compute are +“intensive”. The scalar and vector values will be in distance and +distance^2 units respectively.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_gyration_chunk.html b/doc/compute_gyration_chunk.html index 61f391f8ff..8caa7251a0 100644 --- a/doc/compute_gyration_chunk.html +++ b/doc/compute_gyration_chunk.html @@ -1,122 +1,288 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute gyration/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute gyration/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID gyration/chunk chunkID keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • gyration/chunk = style name of this compute command - -
    • chunkID = ID of compute chunk/atom command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = tensor - -
        tensor value = none 
      -
      - -
    -

    Examples: -

    -
    compute 1 molecule gyration/chunk molchunk
    -compute 2 molecule gyration/chunk molchunk tensor 
    -
    -

    Description: -

    -

    Define a computation that calculates the radius of gyration Rg for -multiple chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute gyration/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID gyration/chunk chunkID keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • gyration/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = tensor
    • +
    +
    +tensor value = none
    +
    +
    +
    +

    Examples¶

    +
    compute 1 molecule gyration/chunk molchunk
    +compute 2 molecule gyration/chunk molchunk tensor
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the radius of gyration Rg for +multiple chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the radius of gyration Rg for each chunk, +a system.

    +

    This compute calculates the radius of gyration Rg for each chunk, which includes all effects due to atoms passing thru periodic -boundaries. -

    -

    Rg is a measure of the size of a chunk, and is computed by this -formula -

    -
    -
    -

    where M is the total mass of the chunk, Rcm is the center-of-mass +boundaries.

    +

    Rg is a measure of the size of a chunk, and is computed by this +formula

    +_images/compute_gyration.jpg +

    where M is the total mass of the chunk, Rcm is the center-of-mass position of the chunk, and the sum is over all atoms in the -chunk. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +chunk.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    If the tensor keyword is specified, then the scalar Rg value is not +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +

    If the tensor keyword is specified, then the scalar Rg value is not calculated, but an Rg tensor is instead calculated for each chunk. The formula for the components of the tensor is the same as the above formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy - Rcmy) for the xy component, etc. The 6 components of the tensor are -ordered xx, yy, zz, xy, xz, yz. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to Rg in -"unwrapped" form, by using the image flags associated with each atom. -See the dump custom command for a discussion of -"unwrapped" coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +ordered xx, yy, zz, xy, xz, yz.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to Rg in +“unwrapped” form, by using the image flags associated with each atom. +See the dump custom command for a discussion of +“unwrapped” coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute gyration/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute gyration/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all gyration/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global vector if the tensor keyword is not +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global vector if the tensor keyword is not specified and a global array if it is. The length of the vector or -number of rows in the array = the number of chunks Nchunk as -calculated by the specified compute -chunk/atom command. If the tensor keyword +number of rows in the array = the number of chunks Nchunk as +calculated by the specified compute chunk/atom command. If the tensor keyword is specified, the global array has 6 columns. The vector or array can be accessed by any command that uses global values from a compute as -input. See this section for an overview -of LAMMPS output options. -

    -

    All the vector or array values calculated by this compute are -"intensive". The vector or array values will be in distance -units, since they are the square root of values -represented by the formula above. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    compute gyration -

    -

    Default: none -

    - +input. See this section for an overview +of LAMMPS output options.

    +

    All the vector or array values calculated by this compute are +“intensive”. The vector or array values will be in distance +units, since they are the square root of values +represented by the formula above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    compute gyration

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_heat_flux.html b/doc/compute_heat_flux.html index 8ea72a590e..d2a3e760d3 100644 --- a/doc/compute_heat_flux.html +++ b/doc/compute_heat_flux.html @@ -1,175 +1,288 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute heat/flux command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute heat/flux command -

    -

    Syntax: -

    -
    compute ID group-ID heat/flux ke-ID pe-ID stress-ID 
    -
    -
    • ID, group-ID are documented in compute command -
    • heat/flux = style name of this compute command -
    • ke-ID = ID of a compute that calculates per-atom kinetic energy -
    • pe-ID = ID of a compute that calculates per-atom potential energy -
    • stress-ID = ID of a compute that calculates per-atom stress -
    -

    Examples: -

    -
    compute myFlux all heat/flux myKE myPE myStress 
    -
    -

    Description: -

    -

    Define a computation that calculates the heat flux vector based on + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute heat/flux command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID heat/flux ke-ID pe-ID stress-ID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • heat/flux = style name of this compute command
    • +
    • ke-ID = ID of a compute that calculates per-atom kinetic energy
    • +
    • pe-ID = ID of a compute that calculates per-atom potential energy
    • +
    • stress-ID = ID of a compute that calculates per-atom stress
    • +
    +
    +
    +

    Examples¶

    +
    compute myFlux all heat/flux myKE myPE myStress
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the heat flux vector based on contributions from atoms in the specified group. This can be used by itself to measure the heat flux into or out of a reservoir of atoms, -or to calculate a thermal conductivity using the Green-Kubo formalism. -

    -

    See the fix thermal/conductivity +or to calculate a thermal conductivity using the Green-Kubo formalism.

    +

    See the fix thermal/conductivity command for details on how to compute thermal conductivity in an -alternate way, via the Muller-Plathe method. See the fix -heat command for a way to control the heat added or -subtracted to a group of atoms. -

    -

    The compute takes three arguments which are IDs of other -computes. One calculates per-atom kinetic energy -(ke-ID), one calculates per-atom potential energy (pe-ID), and the -third calcualtes per-atom stress (stress-ID). These should be +alternate way, via the Muller-Plathe method. See the fix heat command for a way to control the heat added or +subtracted to a group of atoms.

    +

    The compute takes three arguments which are IDs of other +computes. One calculates per-atom kinetic energy +(ke-ID), one calculates per-atom potential energy (pe-ID), and the +third calcualtes per-atom stress (stress-ID). These should be defined for the same group used by compute heat/flux, though LAMMPS -does not check for this. -

    -

    The Green-Kubo formulas relate the ensemble average of the -auto-correlation of the heat flux J to the thermal conductivity kappa: -

    -
    -
    -
    -
    -

    Ei in the first term of the equation for J is the per-atom energy -(potential and kinetic). This is calculated by the computes ke-ID -and pe-ID. Si in the second term of the equation for J is the -per-atom stress tensor calculated by the compute stress-ID. The +does not check for this.

    +

    The Green-Kubo formulas relate the ensemble average of the +auto-correlation of the heat flux J to the thermal conductivity kappa:

    +_images/heat_flux_J.jpg +_images/heat_flux_k.jpg +

    Ei in the first term of the equation for J is the per-atom energy +(potential and kinetic). This is calculated by the computes ke-ID +and pe-ID. Si in the second term of the equation for J is the +per-atom stress tensor calculated by the compute stress-ID. The tensor multiplies Vi as a 3x3 matrix-vector multiply to yield a vector. Note that as discussed below, the 1/V scaling factor in the equation for J is NOT included in the calculation performed by this compute; you need to add it for a volume appropriate to the atoms -included in the calculation. -

    -

    IMPORTANT NOTE: The compute pe/atom and -compute stress/atom commands have options +included in the calculation.

    +
    +

    Warning

    +

    The compute pe/atom and +compute stress/atom commands have options for which terms to include in their calculation (pair, bond, etc). The heat flux calculation will thus include exactly the same terms. -Normally you should use compute stress/atom -virial so as not to include a kinetic energy -term in the heat flux. -

    -

    This compute calculates 6 quantities and stores them in a 6-component +Normally you should use compute stress/atom virial so as not to include a kinetic energy +term in the heat flux.

    +
    +

    This compute calculates 6 quantities and stores them in a 6-component vector. The first 3 components are the x, y, z components of the full heat flux vector, i.e. (Jx, Jy, Jz). The next 3 components are the x, y, z components of just the convective portion of the flux, i.e. the -first term in the equation for J above. -

    -
    - -

    The heat flux can be output every so many timesteps (e.g. via the -thermo_style custom command). Then as a +first term in the equation for J above.

    +
    +

    The heat flux can be output every so many timesteps (e.g. via the +thermo_style custom command). Then as a post-processing operation, an autocorrelation can be performed, its -integral estimated, and the Green-Kubo formula above evaluated. -

    -

    The fix ave/correlate command can calclate +integral estimated, and the Green-Kubo formula above evaluated.

    +

    The fix ave/correlate command can calclate the autocorrelation. The trap() function in the -variable command can calculate the integral. -

    -

    An example LAMMPS input script for solid Ar is appended below. The -result should be: average conductivity ~0.29 in W/mK. -

    -
    - -

    Output info: -

    -

    This compute calculates a global vector of length 6 (total heat flux +variable command can calculate the integral.

    +

    An example LAMMPS input script for solid Ar is appended below. The +result should be: average conductivity ~0.29 in W/mK.

    +
    +

    Output info:

    +

    This compute calculates a global vector of length 6 (total heat flux vector, followed by convective heat flux vector), which can be accessed by indices 1-6. These values can be used by any command that -uses global vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector values calculated by this compute are "extensive", meaning +uses global vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector values calculated by this compute are “extensive”, meaning they scale with the number of atoms in the simulation. They can be divided by the appropriate volume to get a flux, which would then be -an "intensive" value, meaning independent of the number of atoms in -the simulation. Note that if the compute is "all", then the +an “intensive” value, meaning independent of the number of atoms in +the simulation. Note that if the compute is “all”, then the appropriate volume to divide by is the simulation box volume. However, if a sub-group is used, it should be the volume containing -those atoms. -

    -

    The vector values will be in energy*velocity units. Once +those atoms.

    +

    The vector values will be in energy*velocity units. Once divided by a volume the units will be that of flux, namely -energy/area/time units -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix thermal/conductivity, -fix ave/correlate, -variable -

    -

    Default: none -

    -
    - -
    # Sample LAMMPS input script for thermal conductivity of solid Ar 
    -
    -
    units       real
    +energy/area/time units

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_improper_local.html b/doc/compute_improper_local.html index cdf58f1b6e..d331fd9c3e 100644 --- a/doc/compute_improper_local.html +++ b/doc/compute_improper_local.html @@ -1,79 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute improper/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute improper/local command -

    -

    Syntax: -

    -
    compute ID group-ID improper/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • improper/local = style name of this compute command - -
    • one or more keywords may be appended - -
    • keyword = chi - -
        chi = tabulate improper angles 
      -
      - -
    -

    Examples: -

    -
    compute 1 all improper/local chi 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual improper + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute improper/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID improper/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • improper/local = style name of this compute command
    • +
    • one or more keywords may be appended
    • +
    • keyword = chi
    • +
    +
    +chi = tabulate improper angles
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all improper/local chi
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates properties of individual improper interactions. The number of datums generated, aggregated across all processors, equals the number of impropers in the system, modified by -the group parameter as explained below. -

    -

    The local data stored by this command is generated by looping over all +the group parameter as explained below.

    +

    The local data stored by this command is generated by looping over all the atoms owned on a processor and their impropers. An improper will only be included if all 4 atoms in the improper are in the specified -compute group. -

    -

    Note that as atoms migrate from processor to processor, there will be +compute group.

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, improper output from the compute -property/local command can be combined -with data from this command and output by the dump local -command in a consistent way. -

    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +For example, improper output from the compute property/local command can be combined +with data from this command and output by the dump local +command in a consistent way.

    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of impropers. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The output for chi will be in degrees. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute -property/local -

    -

    Default: none -

    - +uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The output for chi will be in degrees.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_inertia_chunk.html b/doc/compute_inertia_chunk.html index 9b131c32a0..1eb41c32f1 100644 --- a/doc/compute_inertia_chunk.html +++ b/doc/compute_inertia_chunk.html @@ -1,93 +1,269 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute inertia/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute inertia/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID inertia/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • inertia/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid inertia/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the inertia tensor for multiple -chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute inertia/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID inertia/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • inertia/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid inertia/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the inertia tensor for multiple +chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the 6 components of the symmetric intertia +a system.

    +

    This compute calculates the 6 components of the symmetric intertia tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The calculation includes all effects due to atoms passing thru periodic -boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's -inertia tensor in "unwrapped" form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the read_data command for a discussion of image flags +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the chunk’s +inertia tensor in “unwrapped” form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of “unwrapped” coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute inertia/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute inertia/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all inertia/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 6 for the 6 components of the inertia tensor for each chunk, ordered as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The array values are "intensive". The array values will be in -mass*distance^2 units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable inertia() function -

    -

    Default: none -

    - +uses global array values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The array values are “intensive”. The array values will be in +mass*distance^2 units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ke.html b/doc/compute_ke.html index 90497bec8d..2791c98109 100644 --- a/doc/compute_ke.html +++ b/doc/compute_ke.html @@ -1,64 +1,245 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ke command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ke command -

    -

    Syntax: -

    -
    compute ID group-ID ke 
    -
    -
    • ID, group-ID are documented in compute command -
    • ke = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all ke 
    -
    -

    Description: -

    -

    Define a computation that calculates the translational kinetic energy -of a group of particles. -

    -

    The kinetic energy of each particle is computed as 1/2 m v^2, where m -and v are the mass and velocity of the particle. -

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ke command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ke
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ke = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ke
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the translational kinetic energy +of a group of particles.

    +

    The kinetic energy of each particle is computed as 1/2 m v^2, where m +and v are the mass and velocity of the particle.

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is "translational" kinetic energy, calculated by the simple -formula above. For thermodynamic output, the ke keyword infers +thermo_style command. For this compute, kinetic +energy is “translational” kinetic energy, calculated by the simple +formula above. For thermodynamic output, the ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. For the default temperature -computation via the compute temp command, these +computation via the compute temp command, these are the same. But different computes that calculate temperature can subtract out different non-thermal components of velocity and/or -include different degrees of freedom (translational, rotational, etc). -

    -

    Output info: -

    -

    This compute calculates a global scalar (the summed KE). This value +include different degrees of freedom (translational, rotational, etc).

    +

    Output info:

    +

    This compute calculates a global scalar (the summed KE). This value can be used by any command that uses a global scalar value from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute erotate/sphere -

    -

    Default: none -

    - +compute as input. See Section_howto 15 +for an overview of LAMMPS output options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ke_atom.html b/doc/compute_ke_atom.html index fdf97f197a..b5bfb3bfb7 100644 --- a/doc/compute_ke_atom.html +++ b/doc/compute_ke_atom.html @@ -1,53 +1,234 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ke/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ke/atom command -

    -

    Syntax: -

    -
    compute ID group-ID ke/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • ke/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all ke/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom translational -kinetic energy for each atom in a group. -

    -

    The kinetic energy is simply 1/2 m v^2, where m is the mass and v is -the velocity of each atom. -

    -

    The value of the kinetic energy will be 0.0 for atoms not in the -specified compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ke/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ke/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ke/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ke/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom translational +kinetic energy for each atom in a group.

    +

    The kinetic energy is simply 1/2 m v^2, where m is the mass and v is +the velocity of each atom.

    +

    The value of the kinetic energy will be 0.0 for atoms not in the +specified compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ke_atom_eff.html b/doc/compute_ke_atom_eff.html index d305890bba..971e55c519 100644 --- a/doc/compute_ke_atom_eff.html +++ b/doc/compute_ke_atom_eff.html @@ -1,82 +1,261 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ke/atom/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ke/atom/eff command -

    -

    Syntax: -

    -
    compute ID group-ID ke/atom/eff 
    -
    -
    • ID, group-ID are documented in compute command -
    • ke/atom/eff = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all ke/atom/eff 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom translational + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ke/atom/eff command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ke/atom/eff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ke/atom/eff = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ke/atom/eff
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom translational (nuclei and electrons) and radial kinetic energy (electron only) in a group. The particles are assumed to be nuclei and electrons modeled -with the electronic force field. -

    -

    The kinetic energy for each nucleus is computed as 1/2 m v^2, where m +with the electronic force field.

    +

    The kinetic energy for each nucleus is computed as 1/2 m v^2, where m corresponds to the corresponding nuclear mass, and the kinetic energy for each electron is computed as 1/2 (me v^2 + 3/4 me s^2), where me and v correspond to the mass and translational velocity of each -electron, and s to its radial velocity, respectively. -

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal +electron, and s to its radial velocity, respectively.

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is "translational" plus electronic "radial" kinetic energy, +thermo_style command. For this compute, kinetic +energy is “translational” plus electronic “radial” kinetic energy, calculated by the simple formula above. For thermodynamic output, the -ke keyword infers kinetic energy from the temperature of the system +ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each (nuclear-only) degree of freedom in -eFF. -

    -

    IMPORTANT NOTE: The temperature in eFF should be monitored via the -compute temp/eff command, which can be printed +eFF.

    +
    +

    Warning

    +

    The temperature in eFF should be monitored via the +compute temp/eff command, which can be printed with thermodynamic output by using the -thermo_modify command, as shown in the following -example: -

    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press 
    -thermo_modify   temp effTemp 
    -
    -

    The value of the kinetic energy will be 0.0 for atoms (nuclei or -electrons) not in the specified compute group. -

    -

    Output info: -

    -

    This compute calculates a scalar quantity for each atom, which can be +thermo_modify command, as shown in the following +example:

    +
    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press
    +thermo_modify   temp effTemp
    +
    +
    +

    The value of the kinetic energy will be 0.0 for atoms (nuclei or +electrons) not in the specified compute group.

    +

    Output info:

    +

    This compute calculates a scalar quantity for each atom, which can be accessed by any command that uses per-atom computes as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ke_eff.html b/doc/compute_ke_eff.html index 7c476b9aa6..a8f05d59ba 100644 --- a/doc/compute_ke_eff.html +++ b/doc/compute_ke_eff.html @@ -1,83 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ke/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ke/eff command -

    -

    Syntax: -

    -
    compute ID group-ID ke/eff 
    -
    -
    • ID, group-ID are documented in compute command -
    • ke/eff = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all ke/eff 
    -
    -

    Description: -

    -

    Define a computation that calculates the kinetic energy of motion of a + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ke/eff command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ke/eff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ke/eff = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ke/eff
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the kinetic energy of motion of a group of eFF particles (nuclei and electrons), as modeled with the -electronic force field. -

    -

    The kinetic energy for each nucleus is computed as 1/2 m v^2 and the +electronic force field.

    +

    The kinetic energy for each nucleus is computed as 1/2 m v^2 and the kinetic energy for each electron is computed as 1/2(me v^2 + 3/4 me s^2), where m corresponds to the nuclear mass, me to the electron mass, v to the translational velocity of each particle, and s to the -radial velocity of the electron, respectively. -

    -

    There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the ke or etotal +radial velocity of the electron, respectively.

    +

    There is a subtle difference between the quantity calculated by this +compute and the kinetic energy calculated by the ke or etotal keyword used in thermodynamic output, as specified by the -thermo_style command. For this compute, kinetic -energy is "translational" and "radial" (only for electrons) kinetic +thermo_style command. For this compute, kinetic +energy is “translational” and “radial” (only for electrons) kinetic energy, calculated by the simple formula above. For thermodynamic -output, the ke keyword infers kinetic energy from the temperature of +output, the ke keyword infers kinetic energy from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. For -the eFF temperature computation via the compute -temp_eff command, these are the same. But +the eFF temperature computation via the compute temp_eff command, these are the same. But different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include other -degrees of freedom. -

    -

    IMPRORTANT NOTE: The temperature in eFF models should be monitored via -the compute temp/eff command, which can be +degrees of freedom.

    +

    IMPRORTANT NOTE: The temperature in eFF models should be monitored via +the compute temp/eff command, which can be printed with thermodynamic output by using the -thermo_modify command, as shown in the following -example: -

    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press 
    -thermo_modify   temp effTemp 
    -
    -

    See compute temp/eff. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the KE). This value can be +thermo_modify command, as shown in the following +example:

    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press
    +thermo_modify   temp effTemp
    +
    +
    +

    See compute temp/eff.

    +

    Output info:

    +

    This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See Section_howto 15 for an -overview of LAMMPS output options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: none -

    -

    Default: none -

    - +input. See Section_howto 15 for an +overview of LAMMPS output options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ke_rigid.html b/doc/compute_ke_rigid.html index 485cf37fa3..cb45568548 100644 --- a/doc/compute_ke_rigid.html +++ b/doc/compute_ke_rigid.html @@ -1,65 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ke/rigid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ke/rigid command -

    -

    Syntax: -

    -
    compute ID group-ID ke/rigid fix-ID 
    -
    -
    • ID, group-ID are documented in compute command -
    • ke = style name of this compute command -
    • fix-ID = ID of rigid body fix -
    -

    Examples: -

    -
    compute 1 all ke/rigid myRigid 
    -
    -

    Description: -

    -

    Define a computation that calculates the translational kinetic energy -of a collection of rigid bodies, as defined by one of the fix -rigid command variants. -

    -

    The kinetic energy of each rigid body is computed as 1/2 M Vcm^2, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute ke/rigid command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID ke/rigid fix-ID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • ke = style name of this compute command
    • +
    • fix-ID = ID of rigid body fix
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all ke/rigid myRigid
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the translational kinetic energy +of a collection of rigid bodies, as defined by one of the fix rigid command variants.

    +

    The kinetic energy of each rigid body is computed as 1/2 M Vcm^2, where M is the total mass of the rigid body, and Vcm is its -center-of-mass velocity. -

    -

    The fix-ID should be the ID of one of the fix rigid +center-of-mass velocity.

    +

    The fix-ID should be the ID of one of the fix rigid commands which defines the rigid bodies. The group specified in the compute command is ignored. The kinetic energy of all the rigid bodies defined by the fix rigid command in included in the -calculation. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the summed KE of all the +calculation.

    +

    Output info:

    +

    This compute calculates a global scalar (the summed KE of all the rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute erotate/rigid -

    -

    Default: none -

    - +global scalar value from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_meso_e_atom.html b/doc/compute_meso_e_atom.html index 3350eb3000..405fc6b65f 100644 --- a/doc/compute_meso_e_atom.html +++ b/doc/compute_meso_e_atom.html @@ -1,61 +1,237 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute meso_e/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute meso_e/atom command -

    -

    Syntax: -

    -
    compute ID group-ID meso_e/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • meso_e/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all meso_e/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom internal energy -for each atom in a group. -

    -

    The internal energy is the energy associated with the internal degrees + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute meso_e/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID meso_e/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • meso_e/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all meso_e/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom internal energy +for each atom in a group.

    +

    The internal energy is the energy associated with the internal degrees of freedom of a mesoscopic particles, e.g. a Smooth-Particle -Hydrodynamics particle. -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The value of the internal energy will be 0.0 for atoms not in the -specified compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +Hydrodynamics particle.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The value of the internal energy will be 0.0 for atoms not in the +specified compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_meso_rho_atom.html b/doc/compute_meso_rho_atom.html index 790e2f9005..7afe72af79 100644 --- a/doc/compute_meso_rho_atom.html +++ b/doc/compute_meso_rho_atom.html @@ -1,61 +1,237 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute meso_rho/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute meso_rho/atom command -

    -

    Syntax: -

    -
    compute ID group-ID meso_rho/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • meso_rho/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all meso_rho/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom mesoscopic density -for each atom in a group. -

    -

    The mesoscopic density is the mass density of a mesoscopic particle, -calculated by kernel function interpolation using "pair style -sph/rhosum". -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The value of the mesoscopic density will be 0.0 for atoms not in the -specified compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute meso_rho/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID meso_rho/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • meso_rho/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all meso_rho/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom mesoscopic density +for each atom in a group.

    +

    The mesoscopic density is the mass density of a mesoscopic particle, +calculated by kernel function interpolation using “pair style +sph/rhosum”.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The value of the mesoscopic density will be 0.0 for atoms not in the +specified compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in mass/volume units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in mass/volume units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_meso_t_atom.html b/doc/compute_meso_t_atom.html index 39b21ccff9..eb4209d5e7 100644 --- a/doc/compute_meso_t_atom.html +++ b/doc/compute_meso_t_atom.html @@ -1,63 +1,238 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute meso_t/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute meso_t/atom command -

    -

    Syntax: -

    -
    compute ID group-ID meso_t/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • meso_t/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all meso_t/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom internal temperature -for each atom in a group. -

    -

    The internal temperature is the ratio of internal energy over the heat + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute meso_t/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID meso_t/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • meso_t/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all meso_t/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom internal temperature +for each atom in a group.

    +

    The internal temperature is the ratio of internal energy over the heat capacity associated with the internal degrees of freedom of a mesoscopic -particles, e.g. a Smooth-Particle Hydrodynamics particle. -

    -

    T_int = E_int / C_V, int -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The value of the internal energy will be 0.0 for atoms not in the -specified compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +particles, e.g. a Smooth-Particle Hydrodynamics particle.

    +

    T_*int* = E_*int* / C_*V, int*

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The value of the internal energy will be 0.0 for atoms not in the +specified compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in temperature units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in temperature units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_modify.html b/doc/compute_modify.html index 4536ee76bc..bae366645a 100644 --- a/doc/compute_modify.html +++ b/doc/compute_modify.html @@ -1,80 +1,258 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute_modify command -

    -

    Syntax: -

    -
    compute_modify compute-ID keyword value ... 
    -
    -
    • compute-ID = ID of the compute to modify - -
    • one or more keyword/value pairs may be listed - -
    • keyword = extra or dynamic - -
        extra value = N
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute_modify command¶

      +
      +

      Syntax¶

      +
      compute_modify compute-ID keyword value ...
      +
      +
      +
        +
      • compute-ID = ID of the compute to modify
      • +
      • one or more keyword/value pairs may be listed
      • +
      • keyword = extra or dynamic
      • +
      +
      +extra value = N
           N = # of extra degrees of freedom to subtract
      -  dynamic value = yes or no
      +  dynamic value = yes or no
           yes/no = do or do not recompute the number of atoms contributing to the temperature
      -  thermo value = yes or no
      -    yes/no = do or do not add contributions from fixes to the potential energy 
      -
      - -
    -

    Examples: -

    -
    compute_modify myTemp extra 0
    -compute_modify newtemp dynamic yes extra 600 
    -
    -

    Description: -

    -

    Modify one or more parameters of a previously defined compute. Not -all compute styles support all parameters. -

    -

    The extra keyword refers to how many degrees-of-freedom are + thermo value = yes or no + yes/no = do or do not add contributions from fixes to the potential energy + +

    +
    +

    Examples¶

    +
    compute_modify myTemp extra 0
    +compute_modify newtemp dynamic yes extra 600
    +
    +
    +
    +
    +

    Description¶

    +

    Modify one or more parameters of a previously defined compute. Not +all compute styles support all parameters.

    +

    The extra keyword refers to how many degrees-of-freedom are subtracted (typically from 3N) as a normalizing factor in a temperature computation. Only computes that compute a temperature use -this option. The default is 2 or 3 for 2d or 3d -systems which is a correction factor for an ensemble +this option. The default is 2 or 3 for 2d or 3d systems which is a correction factor for an ensemble of velocities with zero total linear momentum. You can use a negative -number for the extra parameter if you need to add -degrees-of-freedom. See the compute -temp/asphere command for an example. -

    -

    The dynamic keyword determines whether the number of atoms N in the +number for the extra parameter if you need to add +degrees-of-freedom. See the compute temp/asphere command for an example.

    +

    The dynamic keyword determines whether the number of atoms N in the compute group is re-computed each time a temperature is computed. Only compute styles that compute a temperature use this option. By default, N is assumed to be constant. If you are adding atoms to the -system (see the fix pour or fix -deposit commands) or expect atoms to be lost +system (see the fix pour or fix deposit commands) or expect atoms to be lost (e.g. due to evaporation), then this option should be used to insure -the temperature is correctly normalized. -

    -

    The thermo keyword determines whether the potential energy -contribution calculated by some fixes is added to the +the temperature is correctly normalized.

    +

    The thermo keyword determines whether the potential energy +contribution calculated by some fixes is added to the potential energy calculated by the compute. Currently, only the -compute of style pe uses this option. See the doc pages for -individual fixes for details. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute -

    -

    Default: -

    -

    The option defaults are extra = 2 or 3 for 2d or 3d systems and -dynamic = no. Thermo is yes if the compute of style pe was -defined with no extra keywords; otherwise it is no. -

    - +compute of style pe uses this option. See the doc pages for +individual fixes for details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are extra = 2 or 3 for 2d or 3d systems and +dynamic = no. Thermo is yes if the compute of style pe was +defined with no extra keywords; otherwise it is no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_msd.html b/doc/compute_msd.html index 137e89cb60..bf54bf25a5 100644 --- a/doc/compute_msd.html +++ b/doc/compute_msd.html @@ -1,99 +1,273 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute msd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute msd command -

    -

    Syntax: -

    -
    compute ID group-ID msd keyword values ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • msd = style name of this compute command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = com - -
        com value = yes or no 
      -
      - -
    -

    Examples: -

    -
    compute 1 all msd
    -compute 1 upper msd com yes 
    -
    -

    Description: -

    -

    Define a computation that calculates the mean-squared displacement + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute msd command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID msd keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • msd = style name of this compute command
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = com
    • +
    +
    +com value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all msd
    +compute 1 upper msd com yes
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the mean-squared displacement (MSD) of the group of atoms, including all effects due to atoms passing thru periodic boundaries. For computation of the non-Gaussian -parameter of mean-squared displacement, see the compute -msd/nongauss command. -

    -

    A vector of four quantites is calculated by this compute. The first 3 +parameter of mean-squared displacement, see the compute msd/nongauss command.

    +

    A vector of four quantites is calculated by this compute. The first 3 elements of the vector are the squared dx,dy,dz displacements, summed and averaged over atoms in the group. The 4th element is the total squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and -averaged over atoms in the group. -

    -

    The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing atoms. -

    -

    The displacement of an atom is from its original position at the time +averaged over atoms in the group.

    +

    The slope of the mean-squared displacement (MSD) versus time is +proportional to the diffusion coefficient of the diffusing atoms.

    +

    The displacement of an atom is from its original position at the time the compute command was issued. The value of the displacement will be -0.0 for atoms not in the specified compute group. -

    -

    If the com option is set to yes then the effect of any drift in +0.0 for atoms not in the specified compute group.

    +

    If the com option is set to yes then the effect of any drift in the center-of-mass of the group of atoms is subtracted out before xhe -displacment of each atom is calcluated. -

    -

    IMPORTANT NOTE: Initial coordinates are stored in "unwrapped" form, by -using the image flags associated with each atom. See the dump -custom command for a discussion of "unwrapped" coordinates. -See the Atoms section of the read_data command for a +displacment of each atom is calcluated.

    +
    +

    Warning

    +

    Initial coordinates are stored in “unwrapped” form, by +using the image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by -using the set image command. -

    -

    IMPORTANT NOTE: If you want the quantities calculated by this compute -to be continuous when running from a restart file, +using the set image command.

    +
    +
    +

    Warning

    +

    If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom coordinates from the restart file. -

    -

    Output info: -

    -

    This compute calculates a global vector of length 4, which can be +correctly with time=0 atom coordinates from the restart file.

    +
    +

    Output info:

    +

    This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector values are "intensive". The vector values will be in -distance^2 units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute msd/nongauss, compute -displace_atom, fix -store/state, compute -msd/chunk -

    -

    Default: -

    -

    The option default is com = no. -

    - +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector values are “intensive”. The vector values will be in +distance^2 units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option default is com = no.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_msd_chunk.html b/doc/compute_msd_chunk.html index e6ef5bc252..ef8252b80f 100644 --- a/doc/compute_msd_chunk.html +++ b/doc/compute_msd_chunk.html @@ -1,125 +1,304 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute msd/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute msd/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID msd/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • msd/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 all msd/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the mean-squared displacement -(MSD) for multiple chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute msd/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID msd/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • msd/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all msd/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the mean-squared displacement +(MSD) for multiple chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    Four quantites are calculated by this compute for each chunk. The +a system.

    +

    Four quantites are calculated by this compute for each chunk. The first 3 quantities are the squared dx,dy,dz displacements of the center-of-mass. The 4th component is the total squared displacement, i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These calculations include all effects due to atoms passing thru periodic -boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing chunks. -

    -

    The displacement of the center-of-mass of the chunk is from its +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +

    The slope of the mean-squared displacement (MSD) versus time is +proportional to the diffusion coefficient of the diffusing chunks.

    +

    The displacement of the center-of-mass of the chunk is from its original center-of-mass position, calculated on the timestep this -compute command was first invoked. -

    -

    IMPORTANT NOTE: The number of chunks Nchunk calculated by the -compute chunk/atom command must remain +compute command was first invoked.

    +
    +

    Warning

    +

    The number of chunks Nchunk calculated by the +compute chunk/atom command must remain constant each time this compute is invoked, so that the displacement for each chunk from its original position can be computed -consistently. If Nchunk does not remain constant, an error will be -generated. If needed, you can enforce a constant Nchunk by using -the nchunk once or ids once options when specifying the compute -chunk/atom command. -

    -

    IMPORTANT NOTE: This compute stores the original position (of the +consistently. If Nchunk does not remain constant, an error will be +generated. If needed, you can enforce a constant Nchunk by using +the nchunk once or ids once options when specifying the compute chunk/atom command.

    +
    +
    +

    Warning

    +

    This compute stores the original position (of the center-of-mass) of each chunk. When a displacement is calculated on a later timestep, it is assumed that the same atoms are assigned to the same chunk ID. However LAMMPS has no simple way to insure this is the -case, though you can use the ids once option when specifying the -compute chunk/atom command. Note that if +case, though you can use the ids once option when specifying the +compute chunk/atom command. Note that if this is not the case, the MSD calculation does not have a sensible -meaning. -

    -

    IMPORTANT NOTE: The initial coordinates of the atoms in each chunk are -stored in "unwrapped" form, by using the image flags associated with -each atom. See the dump custom command for a discussion -of "unwrapped" coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +meaning.

    +
    +
    +

    Warning

    +

    The initial coordinates of the atoms in each chunk are +stored in “unwrapped” form, by using the image flags associated with +each atom. See the dump custom command for a discussion +of “unwrapped” coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    IMPORTANT NOTE: Unlike the compute msd command, +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +
    +

    Warning

    +

    Unlike the compute msd command, this compute does not store the initial center-of-mass coorindates of its molecules in a restart file. Thus you cannot continue the MSD per -chunk calculation of this compute when running from a restart -file. -

    -

    The simplest way to output the results of the compute com/msd -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +chunk calculation of this compute when running from a restart file.

    +
    +

    The simplest way to output the results of the compute com/msd +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all com/msd cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 4 for dx,dy,dz and the total displacement. These values can be accessed by any command that uses global array values from a compute -as input. See this section for an -overview of LAMMPS output options. -

    -

    The array values are "intensive". The array values will be in -distance^2 units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute msd -

    -

    Default: none -

    - +as input. See this section for an +overview of LAMMPS output options.

    +

    The array values are “intensive”. The array values will be in +distance^2 units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_msd_nongauss.html b/doc/compute_msd_nongauss.html index e041a30796..db923d6ddc 100644 --- a/doc/compute_msd_nongauss.html +++ b/doc/compute_msd_nongauss.html @@ -1,90 +1,260 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute msd/nongauss command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute msd/nongauss command -

    -

    Syntax: -

    -
    compute ID group-ID msd/nongauss keyword values ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • msd/nongauss = style name of this compute command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = com - -
        com value = yes or no 
      -
      - -
    -

    Examples: -

    -
    compute 1 all msd/nongauss
    -compute 1 upper msd/nongauss com yes 
    -
    -

    Description: -

    -

    Define a computation that calculates the mean-squared displacement + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute msd/nongauss command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID msd/nongauss keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • msd/nongauss = style name of this compute command
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = com
    • +
    +
    +com value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all msd/nongauss
    +compute 1 upper msd/nongauss com yes
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the mean-squared displacement (MSD) and non-Gaussian parameter (NGP) of the group of atoms, -including all effects due to atoms passing thru periodic boundaries. -

    -

    A vector of three quantites is calculated by this compute. The first +including all effects due to atoms passing thru periodic boundaries.

    +

    A vector of three quantites is calculated by this compute. The first element of the vector is the total squared dx,dy,dz displacements drsquared = (dx*dx + dy*dy + dz*dz) of atoms, and the second is the fourth power of these displacements drfourth = (dx*dx + dy*dy + dz*dz)*(dx*dx + dy*dy + dz*dz), summed and averaged over atoms in the group. The 3rd component is the nonGaussian diffusion paramter NGP = -3*drfourth/(5*drsquared*drsquared), i.e. -

    -
    -
    -

    The NGP is a commonly used quantity in studies of dynamical +3*drfourth/(5*drsquared*drsquared), i.e.

    +_images/compute_msd_nongauss.jpg +

    The NGP is a commonly used quantity in studies of dynamical heterogeneity. Its minimum theoretical value (-0.4) occurs when all atoms have the same displacement magnitude. NGP=0 for Brownian -diffusion, while NGP > 0 when some mobile atoms move faster than -others. -

    -

    If the com option is set to yes then the effect of any drift in +diffusion, while NGP > 0 when some mobile atoms move faster than +others.

    +

    If the com option is set to yes then the effect of any drift in the center-of-mass of the group of atoms is subtracted out before the -displacment of each atom is calcluated. -

    -

    See the compute msd doc page for further IMPORTANT -NOTES, which also apply to this compute. -

    -

    Output info: -

    -

    This compute calculates a global vector of length 3, which can be +displacment of each atom is calcluated.

    +

    See the compute msd doc page for further IMPORTANT +NOTES, which also apply to this compute.

    +

    Output info:

    +

    This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector values are "intensive". The first vector value will be in -distance^2 units, the second is in distance^4 units, and -the 3rd is dimensionless. -

    -

    Restrictions: -

    -

    This compute is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute msd -

    -

    Default: -

    -

    The option default is com = no. -

    - +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector values are “intensive”. The first vector value will be in +distance^2 units, the second is in distance^4 units, and +the 3rd is dimensionless.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option default is com = no.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_omega_chunk.html b/doc/compute_omega_chunk.html index 3c553afbc8..b8ceef4788 100644 --- a/doc/compute_omega_chunk.html +++ b/doc/compute_omega_chunk.html @@ -1,94 +1,270 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute omega/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute omega/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID omega/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • omega/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid omega/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the angular velocity (omega) of -multiple chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute omega/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID omega/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • omega/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid omega/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the angular velocity (omega) of +multiple chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the 3 components of the angular velocity +a system.

    +

    This compute calculates the 3 components of the angular velocity vector for each chunk, via the formula L = Iw where L is the angular momentum vector of the chunk, I is its moment of inertia tensor, and w is omega = angular velocity of the chunk. The calculation includes -all effects due to atoms passing thru periodic boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +all effects due to atoms passing thru periodic boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's -angular velocity in "unwrapped" form, by using the image flags -associated with each atom. See the dump custom command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the read_data command for a discussion of image flags +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the chunk’s +angular velocity in “unwrapped” form, by using the image flags +associated with each atom. See the dump custom command +for a discussion of “unwrapped” coordinates. See the Atoms section of +the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute omega/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute omega/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all omega/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 3 for the 3 xyz components of the angular velocity for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The array values are "intensive". The array values will be in -velocity/distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable omega() function -

    -

    Default: none -

    - +values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The array values are “intensive”. The array values will be in +velocity/distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_pair.html b/doc/compute_pair.html index b456d96ba6..6ac98f1ec8 100644 --- a/doc/compute_pair.html +++ b/doc/compute_pair.html @@ -1,86 +1,264 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute pair command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute pair command -

    -

    Syntax: -

    -
    compute ID group-ID pair pstyle evalue 
    -
    -
    • ID, group-ID are documented in compute command -
    • pair = style name of this compute command -
    • pstyle = style name of a pair style that calculates additional values -
    • evalue = epair or evdwl or ecoul or blank (optional setting) -
    -

    Examples: -

    -
    compute 1 all pair gauss
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute pair command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID pair pstyle evalue
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • pair = style name of this compute command
    • +
    • pstyle = style name of a pair style that calculates additional values
    • +
    • evalue = epair or evdwl or ecoul or blank (optional setting)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all pair gauss
     compute 1 all pair lj/cut/coul/cut ecoul
    -compute 1 all pair reax 
    -
    -

    Description: -

    -

    Define a computation that extracts additional values calculated by a +compute 1 all pair reax +

    + + +
    +

    Description¶

    +

    Define a computation that extracts additional values calculated by a pair style, sums them across processors, and makes them accessible for output or further processing by other commands. The group specified -for this command is ignored. -

    -

    The specified pstyle must be a pair style used in your simulation -either by itself or as a sub-style in a pair_style hybrid or -hybrid/overlay command. -

    -

    The evalue setting is optional; it may be left off the command. All -pair styles tally a potential energy epair which may be broken into -two parts: evdwl and ecoul such that epair = evdwl + ecoul. +for this command is ignored.

    +

    The specified pstyle must be a pair style used in your simulation +either by itself or as a sub-style in a pair_style hybrid or hybrid/overlay command.

    +

    The evalue setting is optional; it may be left off the command. All +pair styles tally a potential energy epair which may be broken into +two parts: evdwl and ecoul such that epair = evdwl + ecoul. If the pair style calculates Coulombic interactions, their energy will -be tallied in ecoul. Everything else (whether it is a Lennard-Jones -style van der Waals interaction or not) is tallied in evdwl. If -evalue is specified as epair or left out, then epair is stored +be tallied in ecoul. Everything else (whether it is a Lennard-Jones +style van der Waals interaction or not) is tallied in evdwl. If +evalue is specified as epair or left out, then epair is stored as a global scalar by this compute. This is useful when using -pair_style hybrid if you want to know the portion -of the total energy contributed by one sub-style. If evalue is -specfied as evdwl or ecoul, then just that portion of the energy -is stored as a global scalar. -

    -

    Some pair styles tally additional quantities, e.g. a breakdown of +pair_style hybrid if you want to know the portion +of the total energy contributed by one sub-style. If evalue is +specfied as evdwl or ecoul, then just that portion of the energy +is stored as a global scalar.

    +

    Some pair styles tally additional quantities, e.g. a breakdown of potential energy into a dozen or so components is tallied by the -pair_style reax commmand. These values (1 or more) +pair_style reax commmand. These values (1 or more) are stored as a global vector by this compute. See the doc page for -individual pair styles for info on these values. -

    -

    Output info: -

    -

    This compute calculates a global scalar which is epair or evdwl or -ecoul. If the pair style supports it, it also calculates a global -vector of length >= 1, as determined by the pair style. These values +individual pair styles for info on these values.

    +

    Output info:

    +

    This compute calculates a global scalar which is epair or evdwl or +ecoul. If the pair style supports it, it also calculates a global +vector of length >= 1, as determined by the pair style. These values can be used by any command that uses global scalar or vector values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar and vector values calculated by this compute are -"extensive". -

    -

    The scalar value will be in energy units. The vector -values will typically also be in energy units, but -see the doc page for the pair style for details. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute pe -

    -

    Default: -

    -

    The default for evalue is epair. -

    - +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar and vector values calculated by this compute are +“extensive”.

    +

    The scalar value will be in energy units. The vector +values will typically also be in energy units, but +see the doc page for the pair style for details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The default for evalue is epair.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_pair_local.html b/doc/compute_pair_local.html index d7a17323bd..5dfc14d934 100644 --- a/doc/compute_pair_local.html +++ b/doc/compute_pair_local.html @@ -1,127 +1,298 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute pair/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute pair/local command -

    -

    Syntax: -

    -
    compute ID group-ID pair/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • pair/local = style name of this compute command - -
    • zero or more keywords may be appended - -
    • keyword = dist or eng or force or fx or fy or fz or pN - -
        dist = pairwise distance
      -  eng = pairwise energy
      -  force = pairwise force
      -  fx,fy,fz = components of pairwise force
      -  pN = pair style specific quantities for allowed N values 
      -
      - -
    -

    Examples: -

    -
    compute 1 all pair/local eng
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute pair/local command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID pair/local input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • pair/local = style name of this compute command
    • +
    • zero or more keywords may be appended
    • +
    • keyword = dist or eng or force or fx or fy or fz or pN
    • +
    +
    +dist = pairwise distance
    +  eng = pairwise energy
    +  force = pairwise force
    +  fx,*fy*,*fz* = components of pairwise force
    +  pN = pair style specific quantities for allowed N values
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all pair/local eng
     compute 1 all pair/local dist eng force
     compute 1 all pair/local dist eng fx fy fz
    -compute 1 all pair/local dist fx fy fz p1 p2 p3 
    -
    -

    Description: -

    -

    Define a computation that calculates properties of individual pairwise +compute 1 all pair/local dist fx fy fz p1 p2 p3 +

    + + +
    +

    Description¶

    +

    Define a computation that calculates properties of individual pairwise interactions. The number of datums generated, aggregated across all -processors, equals the number of pairwise interactions in the system. -

    -

    The local data stored by this command is generated by looping over the +processors, equals the number of pairwise interactions in the system.

    +

    The local data stored by this command is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group, and if the current pairwise distance is less than the force cutoff distance for that interaction, as defined by the -pair_style and pair_coeff -commands. -

    -

    The output dist is the distance bewteen the pair of atoms. -

    -

    The output eng is the interaction energy for the pair of atoms. -

    -

    The output force is the force acting between the pair of atoms, +pair_style and pair_coeff +commands.

    +

    The output dist is the distance bewteen the pair of atoms.

    +

    The output eng is the interaction energy for the pair of atoms.

    +

    The output force is the force acting between the pair of atoms, which is positive for a repulsive force and negative for an attractive -force. The outputs fx, fy, and fz are the xyz components of -force on atom I. -

    -

    A pair style may define additional pairwise quantities which can be -accessed as p1 to pN, where N is defined by the pair style. Most +force. The outputs fx, fy, and fz are the xyz components of +force on atom I.

    +

    A pair style may define additional pairwise quantities which can be +accessed as p1 to pN, where N is defined by the pair style. Most pair styles do not define any additional quantities, so N = 0. An -example of ones that do are the granular pair styles +example of ones that do are the granular pair styles 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 detils. -

    -

    The output dist will be in distance units. The output -eng will be in energy units. The outputs force, -fx, fy, and fz will be in force units. The output -pN will be in whatever units the pair style defines. -

    -

    Note that as atoms migrate from processor to processor, there will be +individual pair styles for detils.

    +

    The output dist will be in distance units. The output +eng will be in energy units. The outputs force, +fx, fy, and fz will be in force units. The output +pN will be in whatever units the pair style defines.

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, pair output from the compute -property/local command can be combined -with data from this command and output by the dump local -command in a consistent way. -

    -

    IMPORTANT NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, +For example, pair output from the compute property/local command can be combined +with data from this command and output by the dump local +command in a consistent way.

    +
    +

    Warning

    +

    For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this will be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise -interactions are set by the special_bonds +interactions are set by the special_bonds command. An exception is if long-range Coulombics are being computed -via the kspace_style command, then atom pairs with +via the kspace_style command, then atom pairs with weighting factors of zero are still included in the neighbor list, so that a portion of the long-range interaction contribution can be computed in the pair style. Hence in that case, those atom pairs will -be part of the local data created by this command. -

    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +be part of the local data created by this command.

    +
    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The output for dist will be in distance units. The -output for eng will be in energy units. The output for -force will be in force units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute -property/local -

    -

    Default: none -

    - +uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The output for dist will be in distance units. The +output for eng will be in energy units. The output for +force will be in force units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_pe.html b/doc/compute_pe.html index 2543ed1da6..a21bb9c058 100644 --- a/doc/compute_pe.html +++ b/doc/compute_pe.html @@ -1,107 +1,277 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute pe command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute pe command -

    -

    compute pe/cuda command -

    -

    Syntax: -

    -
    compute ID group-ID pe keyword ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • pe = style name of this compute command -
    • zero or more keywords may be appended -
    • keyword = pair or bond or angle or dihedral or improper or kspace -
    -

    Examples: -

    -
    compute 1 all pe
    -compute molPE all pe bond angle dihedral improper 
    -
    -

    Description: -

    -

    Define a computation that calculates the potential energy of the -entire system of atoms. The specified group must be "all". See the -compute pe/atom command if you want per-atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute pe command¶

    +
    +
    +

    compute pe/cuda command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID pe keyword ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • pe = style name of this compute command
    • +
    • zero or more keywords may be appended
    • +
    • keyword = pair or bond or angle or dihedral or improper or kspace
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all pe
    +compute molPE all pe bond angle dihedral improper
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the potential energy of the +entire system of atoms. The specified group must be “all”. See the +compute pe/atom command if you want per-atom energies. These per-atom values could be summed for a group of atoms -via the compute reduce command. -

    -

    The energy is calculated by the various pair, bond, etc potentials +via the compute reduce command.

    +

    The energy is calculated by the various pair, bond, etc potentials defined for the simulation. If no extra keywords are listed, then the potential energy is the sum of pair, bond, angle, dihedral, improper, and kspace (long-range) energy. If any extra keywords are listed, -then only those components are summed to compute the potential energy. -

    -

    The Kspace contribution requires 1 extra FFT each timestep the energy -is calculated, if using the PPPM solver via the kspace_style -pppm command. Thus it can increase the cost of the +then only those components are summed to compute the potential energy.

    +

    The Kspace contribution requires 1 extra FFT each timestep the energy +is calculated, if using the PPPM solver via the kspace_style pppm command. Thus it can increase the cost of the PPPM calculation if it is needed on a large fraction of the simulation -timesteps. -

    -

    Various fixes can contribute to the total potential energy of the -system. See the doc pages for individual fixes for -details. The thermo option of the -compute_modify command determines whether these +timesteps.

    +

    Various fixes can contribute to the total potential energy of the +system. See the doc pages for individual fixes for +details. The thermo option of the +compute_modify command determines whether these contributions are added into the computed potential energy. If no -keywords are specified the default is yes. If any keywords are -specified, the default is no. -

    -

    A compute of this style with the ID of "thermo_pe" is created when -LAMMPS starts up, as if this command were in the input script: -

    -
    compute thermo_pe all pe 
    -
    -

    See the "thermo_style" command for more details. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +keywords are specified the default is yes. If any keywords are +specified, the default is no.

    +

    A compute of this style with the ID of “thermo_pe” is created when +LAMMPS starts up, as if this command were in the input script:

    +
    compute thermo_pe all pe
    +
    +
    +

    See the “thermo_style” command for more details.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the potential energy). This +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the potential energy). This value can be used by any command that uses a global scalar value from -a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "extensive". The -scalar value will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute pe/atom -

    -

    Default: none -

    - +a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “extensive”. The +scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_pe_atom.html b/doc/compute_pe_atom.html index 7138369832..8e572cf8d4 100644 --- a/doc/compute_pe_atom.html +++ b/doc/compute_pe_atom.html @@ -1,97 +1,270 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute pe/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute pe/atom command -

    -

    Syntax: -

    -
    compute ID group-ID pe/atom keyword ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • pe/atom = style name of this compute command -
    • zero or more keywords may be appended -
    • keyword = pair or bond or angle or dihedral or improper or kspace -
    -

    Examples: -

    -
    compute 1 all pe/atom
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute pe/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID pe/atom keyword ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • pe/atom = style name of this compute command
    • +
    • zero or more keywords may be appended
    • +
    • keyword = pair or bond or angle or dihedral or improper or kspace
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all pe/atom
     compute 1 all pe/atom pair
    -compute 1 all pe/atom pair bond 
    -
    -

    Description: -

    -

    Define a computation that computes the per-atom potential energy for -each atom in a group. See the compute pe command if -you want the potential energy of the entire system. -

    -

    The per-atom energy is calculated by the various pair, bond, etc +compute 1 all pe/atom pair bond +

    + + +
    +

    Description¶

    +

    Define a computation that computes the per-atom potential energy for +each atom in a group. See the compute pe command if +you want the potential energy of the entire system.

    +

    The per-atom energy is calculated by the various pair, bond, etc potentials defined for the simulation. If no extra keywords are listed, then the potential energy is the sum of pair, bond, angle, dihedral,improper, and kspace energy. If any extra keywords are listed, then only those components are summed to compute the potential -energy. -

    -

    Note that the energy of each atom is due to its interaction with all -other atoms in the simulation, not just with other atoms in the group. -

    -

    For an energy contribution produced by a small set of atoms (e.g. 4 +energy.

    +

    Note that the energy of each atom is due to its interaction with all +other atoms in the simulation, not just with other atoms in the group.

    +

    For an energy contribution produced by a small set of atoms (e.g. 4 atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction), that energy is assigned in equal portions to each atom in the set. -E.g. 1/4 of the dihedral energy to each of the 4 atoms. -

    -

    The dihedral_style charmm style calculates +E.g. 1/4 of the dihedral energy to each of the 4 atoms.

    +

    The dihedral_style charmm style calculates pairwise interactions between 1-4 atoms. The energy contribution of -these terms is included in the pair energy, not the dihedral energy. -

    -

    The KSpace contribution is calculated using the method in -(Heyes) for the Ewald method and a related method for PPPM, -as specified by the kspace_style pppm command. +these terms is included in the pair energy, not the dihedral energy.

    +

    The KSpace contribution is calculated using the method in +(Heyes) for the Ewald method and a related method for PPPM, +as specified by the kspace_style pppm command. For PPPM, the calcluation requires 1 extra FFT each timestep that -per-atom energy is calculated. Thie document -describes how the long-range per-atom energy calculation is performed. -

    -

    As an example of per-atom potential energy compared to total potential +per-atom energy is calculated. Thie document +describes how the long-range per-atom energy calculation is performed.

    +

    As an example of per-atom potential energy compared to total potential energy, these lines in an input script should yield the same result -in the last 2 columns of thermo output: -

    -
    compute		peratom all pe/atom
    -compute		pe all reduce sum c_peratom
    -thermo_style	custom step temp etotal press pe c_pe 
    -
    -

    IMPORTANT NOTE: The per-atom energy does not any Lennard-Jones tail -corrections invoked by the pair_modify tail yes -command, since those are global contributions to the system energy. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +in the last 2 columns of thermo output:

    +
    compute              peratom all pe/atom
    +compute              pe all reduce sum c_peratom
    +thermo_style custom step temp etotal press pe c_pe
    +
    +
    +
    +

    Warning

    +

    The per-atom energy does not any Lennard-Jones tail +corrections invoked by the pair_modify tail yes +command, since those are global contributions to the system energy.

    +
    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The per-atom vector values will be in energy units. -

    -

    Restrictions: -

    -

    Related commands: -

    -

    compute pe, compute -stress/atom -

    -

    Default: none -

    -
    +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The per-atom vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    + + - -

    (Heyes) Heyes, Phys Rev B 49, 755 (1994), -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_plasticity_atom.html b/doc/compute_plasticity_atom.html index ea39315d00..0754ce4f22 100644 --- a/doc/compute_plasticity_atom.html +++ b/doc/compute_plasticity_atom.html @@ -1,73 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute plasticity/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute plasticity/atom command -

    -

    Syntax: -

    -
    compute ID group-ID plasticity/atom 
    -
    -
    • ID, group-ID are documented in compute command -
    • plasticity/atom = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all plasticity/atom 
    -
    -

    Description: -

    -

    Define a computation that calculates the per-atom plasticity for each -atom in a group. This is a quantity relevant for Peridynamics -models. See this document -for an overview of LAMMPS commands for Peridynamics modeling. -

    -

    The plasticity for a Peridynamic particle is the so-called consistency + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute plasticity/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID plasticity/atom
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • plasticity/atom = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all plasticity/atom
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the per-atom plasticity for each +atom in a group. This is a quantity relevant for Peridynamics models. See this document +for an overview of LAMMPS commands for Peridynamics modeling.

    +

    The plasticity for a Peridynamic particle is the so-called consistency parameter (lambda). For elastic deformation lambda = 0, otherwise -lambda > 0 for plastic deformation. For details, see -(Mitchell) and the PDF doc included in the LAMMPS -distro in doc/PDF/PDLammps_EPS.pdf. -

    -

    This command can be invoked for one of the Peridynamic pair -styles: peri/eps. -

    -

    The plasticity value will be 0.0 for atoms not in the specified -compute group. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector, which can be accessed by +lambda > 0 for plastic deformation. For details, see +(Mitchell) and the PDF doc included in the LAMMPS +distro in doc/PDF/PDLammps_EPS.pdf.

    +

    This command can be invoked for one of the Peridynamic pair styles: peri/eps.

    +

    The plasticity value will be 0.0 for atoms not in the specified +compute group.

    +

    Output info:

    +

    This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. -

    -

    The per-atom vector values are unitlesss numbers (lambda) >= 0.0. -

    -

    Restrictions: -

    -

    This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute damage, compute -dilatation -

    -

    Default: none -

    -
    +Section_howto 15 for an overview of LAMMPS output options.

    +

    The per-atom vector values are unitlesss numbers (lambda) >= 0.0.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the PERI package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    - -

    (Mitchell) Mitchell, "A non-local, ordinary-state-based -viscoelasticity model for peridynamics", Sandia National Lab Report, -8064:1-28 (2011). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_pressure.html b/doc/compute_pressure.html index 40eb3c0c07..4f0c30bab1 100644 --- a/doc/compute_pressure.html +++ b/doc/compute_pressure.html @@ -1,153 +1,309 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute pressure command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute pressure command -

    -

    compute pressure/cuda command -

    -

    Syntax: -

    -
    compute ID group-ID pressure temp-ID keyword ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • pressure = style name of this compute command -
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed -
    • zero or more keywords may be appended -
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial -
    -

    Examples: -

    -
    compute 1 all pressure thermo_temp
    -compute 1 all pressure NULL pair bond 
    -
    -

    Description: -

    -

    Define a computation that calculates the pressure of the entire system -of atoms. The specified group must be "all". See the compute -stress/atom command if you want per-atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute pressure command¶

    +
    +
    +

    compute pressure/cuda command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID pressure temp-ID keyword ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • pressure = style name of this compute command
    • +
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed
    • +
    • zero or more keywords may be appended
    • +
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all pressure thermo_temp
    +compute 1 all pressure NULL pair bond
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the pressure of the entire system +of atoms. The specified group must be “all”. See the compute stress/atom command if you want per-atom pressure (stress). These per-atom values could be summed for a group -of atoms via the compute reduce command. -

    -

    The pressure is computed by the formula -

    -
    -
    -

    where N is the number of atoms in the system (see discussion of DOF +of atoms via the compute reduce command.

    +

    The pressure is computed by the formula

    +_images/pressure.jpg +

    where N is the number of atoms in the system (see discussion of DOF below), Kb is the Boltzmann constant, T is the temperature, d is the dimensionality of the system (2 or 3 for 2d/3d), V is the system volume (or area in 2d), and the second term is the virial, computed within LAMMPS for all pairwise as well as 2-body, 3-body, and 4-body, -and long-range interactions. Fixes that impose constraints -(e.g. the fix shake command) also contribute to the -virial term. -

    -

    A symmetric pressure tensor, stored as a 6-element vector, is also +and long-range interactions. Fixes that impose constraints +(e.g. the fix shake command) also contribute to the +virial term.

    +

    A symmetric pressure tensor, stored as a 6-element vector, is also calculated by this compute. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components (where I and J = x,y,z) is similar to the above formula, except that the first term uses components of the kinetic energy tensor and the -second term uses components of the virial tensor: -

    -
    -
    -

    If no extra keywords are listed, the entire equations above are +second term uses components of the virial tensor:

    +_images/pressure_tensor.jpg +

    If no extra keywords are listed, the entire equations above are calculated. This includes a kinetic energy (temperature) term and the virial as the sum of pair, bond, angle, dihedral, improper, kspace (long-range), and fix contributions to the force on each atom. If any extra keywords are listed, then only those components are summed to -compute temperature or ke and/or the virial. The virial keyword -means include all terms except the kinetic energy ke. -

    -

    Details of how LAMMPS computes the virial efficiently for the entire +compute temperature or ke and/or the virial. The virial keyword +means include all terms except the kinetic energy ke.

    +

    Details of how LAMMPS computes the virial efficiently for the entire system, including the effects of periodic boundary conditions is -discussed in (Thompson). -

    -

    The temperature and kinetic energy tensor is not calculated by this +discussed in (Thompson).

    +

    The temperature and kinetic energy tensor is not calculated by this compute, but rather by the temperature compute specified with the command. If the kinetic energy is not included in the pressure, than the temperature compute is not used and can be specified as NULL. Normally the temperature compute used by compute pressure should calculate the temperature of all atoms for consistency with the virial term, but any compute style that calculates temperature can be used, -e.g. one that excludes frozen atoms or other degrees of freedom. -

    -

    Note that if desired the specified temperature compute can be one that +e.g. one that excludes frozen atoms or other degrees of freedom.

    +

    Note that if desired the specified temperature compute can be one that subtracts off a bias to calculate a temperature using only the thermal velocity of the atoms, e.g. by subtracting a background streaming -velocity. See the doc pages for individual compute -commands to determine which ones include a bias. -

    -

    Also note that the N in the first formula above is really +velocity. See the doc pages for individual compute commands to determine which ones include a bias.

    +

    Also note that the N in the first formula above is really degrees-of-freedom divided by d = dimensionality, where the DOF value -is calcluated by the temperature compute. See the various compute -temperature styles for details. -

    -

    A compute of this style with the ID of "thermo_press" is created when -LAMMPS starts up, as if this command were in the input script: -

    -
    compute thermo_press all pressure thermo_temp 
    -
    -

    where "thermo_temp" is the ID of a similarly defined compute of style -"temp". See the "thermo_style" command for more details. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +is calcluated by the temperature compute. See the various compute temperature styles for details.

    +

    A compute of this style with the ID of “thermo_press” is created when +LAMMPS starts up, as if this command were in the input script:

    +
    compute thermo_press all pressure thermo_temp
    +
    +
    +

    where “thermo_temp” is the ID of a similarly defined compute of style +“temp”. See the “thermo_style” command for more details.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the pressure) and a global +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the pressure) and a global vector of length 6 (pressure tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar -or vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar and vector values calculated by this compute are -"intensive". The scalar and vector values will be in pressure -units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp, compute -stress/atom, -thermo_style, -

    -

    Default: none -

    -
    +or vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar and vector values calculated by this compute are +“intensive”. The scalar and vector values will be in pressure +units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    - -

    (Thompson) Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_property_atom.html b/doc/compute_property_atom.html index ca449ada49..d89557b127 100644 --- a/doc/compute_property_atom.html +++ b/doc/compute_property_atom.html @@ -1,45 +1,161 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute property/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute property/atom command -

    -

    Syntax: -

    -
    compute ID group-ID property/atom input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • property/atom = style name of this compute command - -
    • input = one or more atom attributes - -
        possible attributes = id, mol, proc, type, mass,
      - 	                x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      -		        vx, vy, vz, fx, fy, fz,
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute property/atom command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID property/atom input1 input2 ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • property/atom = style name of this compute command
      • +
      • input = one or more atom attributes
      • +
      +
      possible attributes = id, mol, proc, type, mass,
      +                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      +                     vx, vy, vz, fx, fy, fz,
                               q, mux, muy, muz, mu,
                               radius, diameter, omegax, omegay, omegaz,
      -			angmomx, angmomy, angmomz,
      -			shapex,shapey, shapez,
      -		        quatw, quati, quatj, quatk, tqx, tqy, tqz,
      -			end1x, end1y, end1z, end2x, end2y, end2z,
      -			corner1x, corner1y, corner1z,
      -			corner2x, corner2y, corner2z,
      -			corner3x, corner3y, corner3z,
      -			nbonds,
      +                     angmomx, angmomy, angmomz,
      +                     shapex,shapey, shapez,
      +                     quatw, quati, quatj, quatk, tqx, tqy, tqz,
      +                     end1x, end1y, end1z, end2x, end2y, end2z,
      +                     corner1x, corner1y, corner1z,
      +                     corner2x, corner2y, corner2z,
      +                     corner3x, corner3y, corner3z,
      +                     nbonds,
                               vfrac, s0,
      -			spin, eradius, ervel, erforce,
      +                     spin, eradius, ervel, erforce,
                               rho, drho, e, de, cv,
      -                        i_name, d_name 
      -
      -
            id = atom ID
      +                        i_name, d_name
      +
      +
      +
      id = atom ID
             mol = molecule ID
             proc = ID of processor that owns atom
             type = atom type
      @@ -61,113 +177,168 @@
             tqx,tqy,tqz = torque on finite-size particles
             end12x, end12y, end12z = end points of line segment
             corner123x, corner123y, corner123z = corner points of triangle
      -      nbonds = number of bonds assigned to an atom 
      -
      -
            PERI package per-atom properties:
      +      nbonds = number of bonds assigned to an atom
      +
      +
      +
      PERI package per-atom properties:
             vfrac = ???
      -      s0 = ??? 
      -
      -
            USER-EFF and USER-AWPMD package per-atom properties:
      +      s0 = ???
      +
      +
      +
      USER-EFF and USER-AWPMD package per-atom properties:
             spin = electron spin
             eradius = electron radius
             ervel = electron radial velocity
      -      erforce = electron radial force 
      -
      -
            USER-SPH package per-atom properties:
      +      erforce = electron radial force
      +
      +
      +
      USER-SPH package per-atom properties:
             rho = ???
             drho = ???
             e = ???
             de = ???
      -      cv = ??? 
      -
      -
            fix property/atom per-atom properties:
      +      cv = ???
      +
      +
      +
      +fix property/atom per-atom properties:
             i_name = custom integer vector with name
      -      d_name = custom integer vector with name 
      -
      - -
    -

    Examples: -

    -
    compute 1 all property/atom xs vx fx mux 
    +      d_name = custom integer vector with name
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all property/atom xs vx fx mux
     compute 2 all property/atom type
    -compute 1 all property/atom ix iy iz 
    -
    -

    Description: -

    -

    Define a computation that simply stores atom attributes for each atom +compute 1 all property/atom ix iy iz +

    +
    +
    +
    +

    Description¶

    +

    Define a computation that simply stores atom attributes for each atom in the group. This is useful so that the values can be used by other -output commands that take computes as -inputs. See for example, the compute reduce, -fix ave/atom, fix ave/histo, -fix ave/spatial, and atom-style -variable commands. -

    -

    The list of possible attributes is the same as that used by the dump -custom command, which describes their meaning, with some -additional quantities that are only defined for certain atom -styles. Basically, this augmented list gives an -input script access to any per-atom quantity stored by LAMMPS. -

    -

    The values are stored in a per-atom vector or array as discussed +output commands that take computes as +inputs. See for example, the compute reduce, +fix ave/atom, fix ave/histo, +fix ave/spatial, and atom-style variable commands.

    +

    The list of possible attributes is the same as that used by the dump custom command, which describes their meaning, with some +additional quantities that are only defined for certain atom styles. Basically, this augmented list gives an +input script access to any per-atom quantity stored by LAMMPS.

    +

    The values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group or for quantities that are not defined for a particular particle in the group -(e.g. shapex if the particle is not an ellipsoid). -

    -

    The additional quantities only accessible via this command, and not -directly via the dump custom command, are as follows. -

    -

    Shapex, shapey, and shapez are defined for ellipsoidal particles -and define the 3d shape of each particle. -

    -

    Quatw, quati, quatj, and quatk are defined for ellipsoidal +(e.g. shapex if the particle is not an ellipsoid).

    +

    The additional quantities only accessible via this command, and not +directly via the dump custom command, are as follows.

    +

    Shapex, shapey, and shapez are defined for ellipsoidal particles +and define the 3d shape of each particle.

    +

    Quatw, quati, quatj, and quatk are defined for ellipsoidal particles and body particles and store the 4-vector quaternion -representing the orientation of each particle. See the set -command for an explanation of the quaternion vector. -

    -

    End1x, end1y, end1z, end2x, end2y, end2z, are defined for -line segment particles and define the end points of each line segment. -

    -

    Corner1x, corner1y, corner1z, corner2x, corner2y, -corner2z, corner3x, corner3y, corner3z, are defined for -triangular particles and define the corner points of each triangle. -

    -

    Nbonds is available for all molecular atom styles and refers to the +representing the orientation of each particle. See the set +command for an explanation of the quaternion vector.

    +

    End1x, end1y, end1z, end2x, end2y, end2z, are defined for +line segment particles and define the end points of each line segment.

    +

    Corner1x, corner1y, corner1z, corner2x, corner2y, +corner2z, corner3x, corner3y, corner3z, are defined for +triangular particles and define the corner points of each triangle.

    +

    Nbonds is available for all molecular atom styles and refers to the number of explicit bonds assigned to an atom. Note that if the -newton bond command is set to on, which is the +newton bond command is set to on, which is the default, then every bond in the system is assigned to only one of the two atoms in the bond. Thus a bond between atoms I,J may be tallied -for either atom I or atom J. If newton bond off is set, -it will be tallied with both atom I and atom J. -

    -

    The i_name and d_name attributes refer to custom integer and +for either atom I or atom J. If newton bond off is set, +it will be tallied with both atom I and atom J.

    +

    The i_name and d_name attributes refer to custom integer and floating-point properties that have been added to each atom via the -fix property/atom command. When that command +fix property/atom command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of i_name or d_name. -

    -

    Output info: -

    -

    This compute calculates a per-atom vector or per-atom array depending +specified as the “name” portion of i_name or d_name.

    +

    Output info:

    +

    This compute calculates a per-atom vector or per-atom array depending on the number of input values. If a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses -per-atom values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector or array values will be in whatever units the +per-atom values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector or array values will be in whatever units the corresponding attribute is in, e.g. velocity units for vx, charge -units for q, etc. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump custom, compute reduce, fix -ave/atom, fix ave/spatial, -fix property/atom -

    -

    Default: none -

    - +units for q, etc.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_property_chunk.html b/doc/compute_property_chunk.html index cf4cc03019..b1ed2e54f8 100644 --- a/doc/compute_property_chunk.html +++ b/doc/compute_property_chunk.html @@ -1,127 +1,291 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute property/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute property/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID property/chunk chunkID input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • property/chunk = style name of this compute command - -
    • input = one or more attributes - -
        attributes = count, id, coord1, coord2, coord3
      -    count = # of atoms in chunk 
      -    id = original chunk IDs before compression by compute chunk/atom
      -    coord123 = coordinates for spatial bins calculated by compute chunk/atom 
      -
      - -
    -

    Examples: -

    -
    compute 1 all property/chunk count
    -compute 1 all property/chunk ID coord1 
    -
    -

    Description: -

    -

    Define a computation that stores the specified attributes of chunks of -atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute property/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID property/chunk chunkID input1 input2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • property/chunk = style name of this compute command
    • +
    • input = one or more attributes
    • +
    +
    +attributes = count, id, coord1, coord2, coord3
    +    count = # of atoms in chunk
    +    id = original chunk IDs before compression by compute chunk/atom
    +    coord123 = coordinates for spatial bins calculated by compute chunk/atom
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all property/chunk count
    +compute 1 all property/chunk ID coord1
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that stores the specified attributes of chunks of +atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates and stores the specified attributes of chunks -as global data so they can be accessed by other output -commands and used in conjunction with -other commands that generate per-chunk data, such as compute -com/chunk or compute -msd/chunk. -

    -

    Note that only atoms in the specified group contribute to the -calculation of the count attribute. The compute -chunk/atom command defines its own group; +a system.

    +

    This compute calculates and stores the specified attributes of chunks +as global data so they can be accessed by other output commands and used in conjunction with +other commands that generate per-chunk data, such as compute com/chunk or compute msd/chunk.

    +

    Note that only atoms in the specified group contribute to the +calculation of the count attribute. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the "all" group for +contribute to this calculation. You can specify the “all” group for this command if you simply want to include atoms with non-zero chunk -IDs. -

    -

    The count attribute is the number of atoms in the chunk. -

    -

    The id attribute stores the original chunk ID for each chunk. It -can only be used if the compress keyword was set to yes for the -compute chunk/atom command referenced by +IDs.

    +

    The count attribute is the number of atoms in the chunk.

    +

    The id attribute stores the original chunk ID for each chunk. It +can only be used if the compress keyword was set to yes for the +compute chunk/atom command referenced by chunkID. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original -chunk ID (molecule ID in this case) of 415. The id attribute will -then be 415 for the 3rd chunk. -

    -

    The coordN attributes can only be used if a binning style was used -in the compute chunk/atom command referenced -by chunkID. For bin/1d, bin/2d, and bin/3d styles the attribute +chunk ID (molecule ID in this case) of 415. The id attribute will +then be 415 for the 3rd chunk.

    +

    The coordN attributes can only be used if a binning style was used +in the compute chunk/atom command referenced +by chunkID. For bin/1d, bin/2d, and bin/3d styles the attribute is the center point of the bin in the corresponding dimension. Style -bin/1d only defines a coord1 attribute. Style bin/2d adds a -coord2 attribute. Style bin/3d adds a coord3 attribute. -

    -

    Note that if the value of the units keyword used in the compute -chunk/atom command is box or lattice, the -coordN attributes will be in distance units. If the -value of the units keyword is reduced, the coordN attributes -will be in unitless reduced units (0-1). -

    -

    The simplest way to output the results of the compute property/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +bin/1d only defines a coord1 attribute.  Style bin/2d adds a
    +coord2 attribute.  Style bin/3d adds a coord3 attribute.

    +

    Note that if the value of the units keyword used in the compute chunk/atom command is box or lattice, the +coordN attributes will be in distance units. If the +value of the units keyword is reduced, the coordN attributes +will be in unitless reduced units (0-1).

    +

    The simplest way to output the results of the compute property/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk1 all property/chunk cc1
     compute myChunk2 all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2 file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global vector or global array depending on +fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2 file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global vector or global array depending on the number of input values. The length of the vector or number of -rows in the array is the number of chunks. -

    -

    This compute calculates a global vector or global array where the -number of rows = the number of chunks Nchunk as calculated by the -specified compute chunk/atom command. If a +rows in the array is the number of chunks.

    +

    This compute calculates a global vector or global array where the +number of rows = the number of chunks Nchunk as calculated by the +specified compute chunk/atom command. If a single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as -input. See this section for an overview -of LAMMPS output options. -

    -

    The vector or array values are "intensive". The values will be -unitless or in the units discussed above. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix ave/chunk -

    -

    Default: none -

    - +input. See this section for an overview +of LAMMPS output options.

    +

    The vector or array values are “intensive”. The values will be +unitless or in the units discussed above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_property_local.html b/doc/compute_property_local.html index 440fa21fe2..6880ac42ce 100644 --- a/doc/compute_property_local.html +++ b/doc/compute_property_local.html @@ -1,34 +1,150 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute property/local command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute property/local command -

    -

    Syntax: -

    -
    compute ID group-ID property/local input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • property/local = style name of this compute command - -
    • input = one or more attributes - -
        possible attributes = natom1 natom2 ntype1 ntype2
      -		        patom1 patom2 ptype1 ptype2
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute property/local command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID property/local input1 input2 ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • property/local = style name of this compute command
      • +
      • input = one or more attributes
      • +
      +
      possible attributes = natom1 natom2 ntype1 ntype2
      +                     patom1 patom2 ptype1 ptype2
                               batom1 batom2 btype
                               aatom1 aatom2 aatom3 atype
                               datom1 datom2 datom3 dtype
      -                        iatom1 iatom2 iatom3 itype 
      -
      -
           natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
      +                        iatom1 iatom2 iatom3 itype
      +
      +
      +
      natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
            ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
            patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff)
            ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff)
      @@ -39,113 +155,167 @@
            datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral
            dtype = dihedral type of each dihedral
            iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper
      -     itype = improper type of each improper 
      -
      - -
    -

    Examples: -

    -
    compute 1 all property/local btype batom1 batom2
    -compute 1 all property/local atype aatom2 
    -
    -

    Description: -

    -

    Define a computation that stores the specified attributes as local -data so it can be accessed by other output -commands. If the input attributes refer + itype = improper type of each improper +

    + + +
    +

    Examples¶

    +
    compute 1 all property/local btype batom1 batom2
    +compute 1 all property/local atype aatom2
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that stores the specified attributes as local +data so it can be accessed by other output commands. If the input attributes refer to bond information, then the number of datums generated, aggregated across all processors, equals the number of bonds in the system. -Ditto for pairs, angles, etc. -

    -

    If multiple input attributes are specified then they must all generate +Ditto for pairs, angles, etc.

    +

    If multiple input attributes are specified then they must all generate the same amount of information, so that the resulting local array has the same number of rows for each column. This means that only bond attributes can be specified together, or angle attributes, etc. Bond and angle attributes can not be mixed in the same compute -property/local command. -

    -

    If the inputs are pair attributes, the local data is generated by +property/local command.

    +

    If the inputs are pair attributes, the local data is generated by looping over the pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair -are in the specified compute group. For natom1 and natom2, all +are in the specified compute group. For natom1 and natom2, all atom pairs in the neighbor list are considered (out to the neighbor -cutoff = force cutoff + neighbor skin). For patom1 -and patom2, the distance between the atoms must be less than the +cutoff = force cutoff + neighbor skin). For patom1 +and patom2, the distance between the atoms must be less than the force cutoff distance for that pair to be included, as defined by the -pair_style and pair_coeff -commands. -

    -

    If the inputs are bond, angle, etc attributes, the local data is +pair_style and pair_coeff +commands.

    +

    If the inputs are bond, angle, etc attributes, the local data is generated by looping over all the atoms owned on a processor and extracting bond, angle, etc info. For bonds, info about an individual bond will only be included if both atoms in the bond are in the -specified compute group. Likewise for angles, dihedrals, etc. -

    -

    For bonds and angles, a bonds/angles that have been broken by setting +specified compute group. Likewise for angles, dihedrals, etc.

    +

    For bonds and angles, a bonds/angles that have been broken by setting their bond/angle type to 0 will not be included. Bonds/angles that -have been turned off (see the fix shake or -delete_bonds commands) by setting their bond/angle +have been turned off (see the fix shake or +delete_bonds commands) by setting their bond/angle type negative are written into the file. This is consistent with the -compute bond/local and compute -angle/local commands -

    -

    Note that as atoms migrate from processor to processor, there will be +compute bond/local and compute angle/local commands

    +

    Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, output from the compute -bond/local command can be combined with bond -atom indices from this command and output by the dump -local command in a consistent way. -

    -

    The natom1 and natom2, or patom1 and patom2 attributes refer +For example, output from the compute bond/local command can be combined with bond +atom indices from this command and output by the dump local command in a consistent way.

    +

    The natom1 and natom2, or patom1 and patom2 attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed -by the pair_style command. The ntype1 and -ntype2, or ptype1 and ptype2 attributes refer to the atom types -of the 2 atoms in each pairwise interaction. -

    -

    IMPORTANT NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, +by the pair_style command. The ntype1 and +ntype2, or ptype1 and ptype2 attributes refer to the atom types +of the 2 atoms in each pairwise interaction.

    +
    +

    Warning

    +

    For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 interactions within the molecular topology, their pairwise interaction may be turned off, and thus they may not appear in the neighbor list, and will not be part of the local data created by this command. More specifically, this may be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise -interactions are set by the special_bonds -command. -

    -

    The batom1 and batom2 attributes refer to the atom IDs of the 2 -atoms in each bond. The btype attribute refers to +interactions are set by the special_bonds +command.

    +
    +

    The batom1 and batom2 attributes refer to the atom IDs of the 2 +atoms in each bond. The btype attribute refers to the type of the bond, from 1 to Nbtypes = # of bond types. The number of bond types is defined in the data file read by the -read_data command. -

    -

    The attributes that start with "a", "d", "i", refer to similar values -for angles, dihedrals, and -impropers. -

    -

    Output info: -

    -

    This compute calculates a local vector or local array depending on the +read_data command.

    +

    The attributes that start with “a”, “d”, “i”, refer to similar values +for angles, dihedrals, and +impropers.

    +

    Output info:

    +

    This compute calculates a local vector or local array depending on the number of input values. The length of the vector or number of rows in the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector or array values will be integers that correspond to the -specified attribute. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump local, compute reduce -

    -

    Default: none -

    - +that uses local values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector or array values will be integers that correspond to the +specified attribute.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_rdf.html b/doc/compute_rdf.html index c2af825cc2..2852014ef7 100644 --- a/doc/compute_rdf.html +++ b/doc/compute_rdf.html @@ -1,154 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute rdf command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute rdf command -

    -

    Syntax: -

    -
    compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • rdf = style name of this compute command -
    • Nbin = number of RDF bins -
    • itypeN = central atom type for Nth RDF histogram (see asterisk form below) -
    • jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) -
    -

    Examples: -

    -
    compute 1 all rdf 100
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute rdf command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • rdf = style name of this compute command
    • +
    • Nbin = number of RDF bins
    • +
    • itypeN = central atom type for Nth RDF histogram (see asterisk form below)
    • +
    • jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below)
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all rdf 100
     compute 1 all rdf 100 1 1
     compute 1 all rdf 100 * 3
     compute 1 fluid rdf 500 1 1 1 2 2 1 2 2
    -compute 1 fluid rdf 500 1*3 2 5 *10 
    -
    -

    Description: -

    -

    Define a computation that calculates the radial distribution function +compute 1 fluid rdf 500 1*3 2 5 *10 +

    + + +
    +

    Description¶

    +

    Define a computation that calculates the radial distribution function (RDF), also called g(r), and the coordination number for a group of particles. Both are calculated in histogram form by binning pairwise -distances into Nbin bins from 0.0 to the maximum force cutoff -defined by the pair_style command. The bins are of +distances into Nbin bins from 0.0 to the maximum force cutoff +defined by the pair_style command. The bins are of uniform size in radial distance. Thus a single bin encompasses a thin -shell of distances in 3d and a thin ring of distances in 2d. -

    -

    IMPORTANT NOTE: If you have a bonded system, then the settings of -special_bonds command can remove pairwise +shell of distances in 3d and a thin ring of distances in 2d.

    +
    +

    Warning

    +

    If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the RDF. One way to get around -this, is to write a dump file, and use the rerun command +this, is to write a dump file, and use the rerun command to compute the RDF for snapshots in the dump file. The rerun script -can use a special_bonds command that includes all -pairs in the neighbor list. -

    -

    The itypeN and jtypeN arguments are optional. These arguments +can use a special_bonds command that includes all +pairs in the neighbor list.

    +
    +

    The itypeN and jtypeN arguments are optional. These arguments must come in pairs. If no pairs are listed, then a single histogram is computed for g(r) between all atom types. If one or more pairs are listed, then a separate histogram is generated for each -itype,jtype pair. -

    -

    The itypeN and jtypeN settings can be specified in one of two +itype,*jtype* pair.

    +

    The itypeN and jtypeN settings can be specified in one of two ways. An explicit numeric value can be used, as in the 4th example above. Or a wild-card asterisk can be used to specify a range of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). -

    -

    If both itypeN and jtypeN are single values, as in the 4th example -above, this means that a g(r) is computed where atoms of type itypeN -are the central atom, and atoms of type jtypeN are the distribution -atom. If either itypeN and jtypeN represent a range of values via +(inclusive).

    +

    If both itypeN and jtypeN are single values, as in the 4th example +above, this means that a g(r) is computed where atoms of type itypeN +are the central atom, and atoms of type jtypeN are the distribution +atom. If either itypeN and jtypeN represent a range of values via the wild-card asterisk, as in the 5th example above, this means that a g(r) is computed where atoms of any of the range of types represented -by itypeN are the central atom, and atoms of any of the range of -types represented by jtypeN are the distribution atom. -

    -

    Pairwise distances are generated by looping over a pairwise neighbor -list, just as they would be in a pair_style +by itypeN are the central atom, and atoms of any of the range of +types represented by jtypeN are the distribution atom.

    +

    Pairwise distances are generated by looping over a pairwise neighbor +list, just as they would be in a pair_style computation. The distance between two atoms I and J is included in a -specific histogram if the following criteria are met: -

    -
    • atoms I,J are both in the specified compute group -
    • the distance between atoms I,J is less than the maximum force cutoff -
    • the type of the I atom matches itypeN (one or a range of types) -
    • the type of the J atom matches jtypeN (one or a range of types) -
    -

    It is OK if a particular pairwise distance is included in more than -one individual histogram, due to the way the itypeN and jtypeN -arguments are specified. -

    -

    The g(r) value for a bin is calculated from the histogram count by +specific histogram if the following criteria are met:

    +
      +
    • atoms I,J are both in the specified compute group
    • +
    • the distance between atoms I,J is less than the maximum force cutoff
    • +
    • the type of the I atom matches itypeN (one or a range of types)
    • +
    • the type of the J atom matches jtypeN (one or a range of types)
    • +
    +

    It is OK if a particular pairwise distance is included in more than +one individual histogram, due to the way the itypeN and jtypeN +arguments are specified.

    +

    The g(r) value for a bin is calculated from the histogram count by scaling it by the idealized number of how many counts there would be -if atoms of type jtypeN were uniformly distributed. Thus it -involves the count of itypeN atoms, the count of jtypeN atoms, the -volume of the entire simulation box, and the volume of the bin's thin -shell in 3d (or the area of the bin's thin ring in 2d). -

    -

    A coordination number coord(r) is also calculated, which is the number -of atoms of type jtypeN within the current bin or closer, averaged -over atoms of type itypeN. This is calculated as the area- or +if atoms of type jtypeN were uniformly distributed. Thus it +involves the count of itypeN atoms, the count of jtypeN atoms, the +volume of the entire simulation box, and the volume of the bin’s thin +shell in 3d (or the area of the bin’s thin ring in 2d).

    +

    A coordination number coord(r) is also calculated, which is the number +of atoms of type jtypeN within the current bin or closer, averaged +over atoms of type itypeN. This is calculated as the area- or volume-weighted sum of g(r) values over all bins up to and including the current bin, multiplied by the global average volume density of -atoms of type jtypeN. -

    -

    The simplest way to output the results of the compute rdf calculation -to a file is to use the fix ave/time command, for -example: -

    -
    compute myRDF all rdf 50
    -fix 1 all ave/time 100 1 100 c_myRDF file tmp.rdf mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array with the number of rows = -Nbins, and the number of columns = 1 + 2*Npairs, where Npairs is the +atoms of type jtypeN.

    +

    The simplest way to output the results of the compute rdf calculation +to a file is to use the fix ave/time command, for +example:

    +
    compute myRDF all rdf 50
    +fix 1 all ave/time 100 1 100 c_myRDF file tmp.rdf mode vector
    +
    +
    +

    Output info:

    +

    This compute calculates a global array with the number of rows = +Nbins, and the number of columns = 1 + 2*Npairs, where Npairs is the number of I,J pairings specified. The first column has the bin coordinate (center of the bin), Each successive set of 2 columns has -the g(r) and coord(r) values for a specific set of itypeN versus -jtypeN interactions, as described above. These values can be used +the g(r) and coord(r) values for a specific set of itypeN versus +jtypeN interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -Section_howto 15 for an overview of -LAMMPS output options. -

    -

    The array values calculated by this compute are all "intensive". -

    -

    The first column of array values will be in distance -units. The g(r) columns of array values are normalized -numbers >= 0.0. The coordination number columns of array values are -also numbers >= 0.0. -

    -

    Restrictions: -

    -

    The RDF is not computed for distances longer than the force cutoff, -since processors (in parallel) don't know about atom coordinates for +Section_howto 15 for an overview of +LAMMPS output options.

    +

    The array values calculated by this compute are all “intensive”.

    +

    The first column of array values will be in distance +units. The g(r) columns of array values are normalized +numbers >= 0.0. The coordination number columns of array values are +also numbers >= 0.0.

    +
    +
    +

    Restrictions¶

    +

    The RDF is not computed for distances longer than the force cutoff, +since processors (in parallel) don’t know about atom coordinates for atoms further away than that distance. If you want an RDF for larger -distances, you can use the rerun command to post-process +distances, you can use the rerun command to post-process a dump file. The definition of g(r) used by LAMMPS is only appropriate for characterizing atoms that are uniformly distributed throughout the simulation cell. In such cases, the coordination number is still correct and meaningful. As an example, if a large simulation cell -contains only one atom of type itypeN and one of jtypeN, then g(r) +contains only one atom of type itypeN and one of jtypeN, then g(r) will register an arbitrarily large spike at whatever distance they happen to be at, and zero everywhere else. coord(r) will show a step -change from zero to one at the location of the spike in g(r). -

    -

    Related commands: -

    -

    fix ave/time -

    -

    Default: none -

    - +change from zero to one at the location of the spike in g(r).

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_reduce.html b/doc/compute_reduce.html index ce267fe4e5..abe0a590e3 100644 --- a/doc/compute_reduce.html +++ b/doc/compute_reduce.html @@ -1,84 +1,201 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute reduce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute reduce command -

    -

    compute reduce/region command -

    -

    Syntax: -

    -
    compute ID group-ID style arg mode input1 input2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • style = reduce or reduce/region - -
        reduce arg = none
      -  reduce/region arg = region-ID
      -    region-ID = ID of region to use for choosing atoms 
      -
      -
    • mode = sum or min or max or ave or sumsq or avesq - -
    • one or more inputs can be listed - -
    • input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name - -
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute reduce command¶

      +
      +
      +

      compute reduce/region command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID style arg mode input1 input2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • style = reduce or reduce/region
      • +
      +
      +reduce arg = none
      +  reduce/region arg = region-ID
      +    region-ID = ID of region to use for choosing atoms
      +
      +
        +
      • mode = sum or min or max or ave or sumsq or avesq
      • +
      • one or more inputs can be listed
      • +
      • input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
      • +
      +
      x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = per-atom or local vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID
         f_ID = per-atom or local vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name 
      -
      -
    • zero or more keyword/args pairs may be appended - -
    • keyword = replace - -
        replace args = vec1 vec2
      +  v_name = per-atom vector calculated by an atom-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/args pairs may be appended
      • +
      • keyword = replace
      • +
      +
      +replace args = vec1 vec2
           vec1 = reduced value from this input vector will be replaced
      -    vec2 = replace it with vec1[N] where N is index of max/min value from vec2 
      -
      - -
    -

    Examples: -

    -
    compute 1 all reduce sum c_force
    +    vec2 = replace it with vec1[N] where N is index of max/min value from vec2
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all reduce sum c_force
     compute 1 all reduce/region subbox sum c_force
     compute 2 all reduce min c_press[2] f_ave v_myKE
    -compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 
    -
    -

    Description: -

    -

    Define a calculation that "reduces" one or more vector inputs into +compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 +

    +
    +
    +
    +

    Description¶

    +

    Define a calculation that “reduces” one or more vector inputs into scalar values, one per listed input. The inputs can be per-atom or local quantities; they cannot be global quantities. Atom attributes -are per-atom quantities, computes and fixes -may generate any of the three kinds of quantities, and atom-style -variables generate per-atom quantities. See the -variable command and its special functions which can +are per-atom quantities, computes and fixes +may generate any of the three kinds of quantities, and atom-style variables generate per-atom quantities. See the +variable command and its special functions which can perform the same operations as the compute reduce command on global -vectors. -

    -

    The reduction operation is specified by the mode setting. The sum -option adds the values in the vector into a global total. The min -or max options find the minimum or maximum value across all vector -values. The ave setting adds the vector values into a global total, -then divides by the number of values in the vector. The sumsq +vectors.

    +

    The reduction operation is specified by the mode setting. The sum +option adds the values in the vector into a global total. The min +or max options find the minimum or maximum value across all vector +values. The ave setting adds the vector values into a global total, +then divides by the number of values in the vector. The sumsq option sums the square of the values in the vector into a global -total. The avesq setting does the same as sumsq, then divdes the +total. The avesq setting does the same as sumsq, then divdes the sum of squares by the number of values. The last two options can be useful for calculating the variance of some quantity, e.g. variance = -sumsq - ave^2. -

    -

    Each listed input is operated on independently. For per-atom inputs, +sumsq - ave^2.

    +

    Each listed input is operated on independently. For per-atom inputs, the group specified with this command means only atoms within the group contribute to the result. For per-atom inputs, if the compute reduce/region command is used, the atoms must also currently be within @@ -86,115 +203,159 @@ the region. Note that an input that produces per-atom quantities may define its own group which affects the quantities it returns. For example, if a compute is used as an input which generates a per-atom vector, it will generate values of 0.0 for atoms that are not in the -group specified for that compute. -

    -

    Each listed input can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an atom-style -variable. -

    -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +group specified for that compute.

    +

    Each listed input can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an atom-style +variable.

    +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    If a value begins with "c_", a compute ID must follow which has been +inputs to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. Computes can generate per-atom or local quantities. See the individual -compute doc page for details. If no bracketed integer +compute doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is used. Users can also write code for their own -compute styles and add them to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. Fixes can generate per-atom -or local quantities. See the individual fix doc page for +or local quantities. See the individual fix doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute reduce references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and add -them to LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +is used. Users can also write code for their own fix style and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. It must be an -atom-style variable. Atom-style variables can +atom-style variable. Atom-style variables can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to -reduce. -

    -
    - -

    If the replace keyword is used, two indices vec1 and vec2 are +reduce.

    +
    +

    If the replace keyword is used, two indices vec1 and vec2 are specified, where each index ranges from 1 to the # of input values. -The replace keyword can only be used if the mode is min or max. -It works as follows. A min/max is computed as usual on the vec2 -input vector. The index N of that value within vec2 is also stored. -Then, instead of performing a min/max on the vec1 input vector, the -stored index is used to select the Nth element of the vec1 vector. -

    -

    Thus, for example, if you wish to use this compute to find the bond -with maximum stretch, you can do it as follows: -

    -
    compute 1 all property/local batom1 batom2
    -compute	2 all bond/local dist
    -compute	3 all reduce max c_1[1] c_1[2] c_2 replace 1 3 replace 2 3
    -thermo_style custom step temp c_3[1] c_3[2] c_3[3] 
    -
    -

    The first two input values in the compute reduce command are vectors -with the IDs of the 2 atoms in each bond, using the compute -property/local command. The last input -value is bond distance, using the compute -bond/local command. Instead of taking the +The replace keyword can only be used if the mode is min or max. +It works as follows. A min/max is computed as usual on the vec2 +input vector. The index N of that value within vec2 is also stored. +Then, instead of performing a min/max on the vec1 input vector, the +stored index is used to select the Nth element of the vec1 vector.

    +

    Thus, for example, if you wish to use this compute to find the bond +with maximum stretch, you can do it as follows:

    +
    compute 1 all property/local batom1 batom2
    +compute      2 all bond/local dist
    +compute      3 all reduce max c_1[1] c_1[2] c_2 replace 1 3 replace 2 3
    +thermo_style custom step temp c_3[1] c_3[2] c_3[3]
    +
    +
    +

    The first two input values in the compute reduce command are vectors +with the IDs of the 2 atoms in each bond, using the compute property/local command. The last input +value is bond distance, using the compute bond/local command. Instead of taking the max of the two atom ID vectors, which does not yield useful -information in this context, the replace keywords will extract the +information in this context, the replace keywords will extract the atom IDs for the two atoms in the bond of maximum stretch. These atom -IDs and the bond stretch will be printed with thermodynamic output. -

    -
    - -

    If a single input is specified this compute produces a global scalar +IDs and the bond stretch will be printed with thermodynamic output.

    +
    +

    If a single input is specified this compute produces a global scalar value. If multiple inputs are specified, this compute produces a global vector of values, the length of which is equal to the number of -inputs specified. -

    -

    As discussed below, for the sum and sumsq modes, the value(s) -produced by this compute are all "extensive", meaning their value +inputs specified.

    +

    As discussed below, for the sum and sumsq modes, the value(s) +produced by this compute are all “extensive”, meaning their value scales linearly with the number of atoms involved. If normalized -values are desired, this compute can be accessed by the thermo_style -custom command with thermo_modify norm -yes set as an option. Or it can be accessed by a -variable that divides by the appropriate atom count. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar if a single input value is +values are desired, this compute can be accessed by the thermo_style custom command with thermo_modify norm yes set as an option. Or it can be accessed by a +variable that divides by the appropriate atom count.

    +
    +

    Output info:

    +

    This compute calculates a global scalar if a single input value is specified or a global vector of length N where N is the number of inputs, and which can be accessed by indices 1 to N. These values can be used by any command that uses global scalar or vector values from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options. -

    -

    All the scalar or vector values calculated by this compute are -"intensive", except when the sum or sumsq modes are used on +compute as input. See Section_howto 15 +for an overview of LAMMPS output options.

    +

    All the scalar or vector values calculated by this compute are +“intensive”, except when the sum or sumsq modes are used on per-atom or local vectors, in which case the calculated values are -"extensive". -

    -

    The scalar or vector values will be in whatever units the -quantities being reduced are in. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix, variable -

    -

    Default: none -

    - +“extensive”.

    +

    The scalar or vector values will be in whatever units the +quantities being reduced are in.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_saed.html b/doc/compute_saed.html index c99d3ae823..537047bd2a 100644 --- a/doc/compute_saed.html +++ b/doc/compute_saed.html @@ -1,191 +1,364 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute saed command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute saed command -

    -

    Syntax: -

    -
    compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • saed = style name of this compute command - -
    • lambda = wavelength of incident radiation (length units) - -
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = Kmax or Zone or dR_Ewald or c or manual or echo - -
        Kmax value = Maximum distance explored from reciprocal space origin 
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute saed command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID saed lambda type1 type2 ... typeN keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • saed = style name of this compute command
      • +
      • lambda = wavelength of incident radiation (length units)
      • +
      • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = Kmax or Zone or dR_Ewald or c or manual or echo
      • +
      +
      +Kmax value = Maximum distance explored from reciprocal space origin
                        (inverse length units)
      -  Zone values = z1 z2 z3
      -    z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all 
      -               reciprocal space will be meshed up to Kmax
      -  dR_Ewald value = Thickness of Ewald sphere slice intercepting 
      +  Zone values = z1 z2 z3
      +    z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
      +               reciprocal space will be meshed up to Kmax
      +  dR_Ewald value = Thickness of Ewald sphere slice intercepting
                            reciprocal space (inverse length units)
      -  c values = c1 c2 c3
      -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal 
      +  c values = c1 c2 c3
      +    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
                      lattice nodes in the h, k, and l directions respectively
      -  manual = flag to use manual spacing of reciprocal lattice points   
      -             based on the values of the c parameters 
      -  echo = flag to provide extra output for debugging purposes 
      -
      - -
    -

    Examples: -

    -
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo 
    -
    -
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    -fix saed/vtk 1 1 1 c_2 file Ni_000.saed 
    -
    -

    Description: -

    -

    Define a computation that calculates electron diffraction intensity as -described in (Coleman) on a mesh of reciprocal lattice nodes -defined by the entire simulation domain (or manually) using simulated -radiation of wavelength lambda. -

    -

    The electron diffraction intensity I at each reciprocal lattice point -is computed from the structure factor F using the equations: -

    -
    -
    -
    -
    -

    Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors. -

    -

    Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) by + manual = flag to use manual spacing of reciprocal lattice points + based on the values of the c parameters + echo = flag to provide extra output for debugging purposes + +

    +
    +

    Examples¶

    +
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    +compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
    +
    +
    +
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    +fix saed/vtk 1 1 1 c_2 file Ni_000.saed
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates electron diffraction intensity as +described in (Coleman) on a mesh of reciprocal lattice nodes +defined by the entire simulation domain (or manually) using simulated +radiation of wavelength lambda.

    +

    The electron diffraction intensity I at each reciprocal lattice point +is computed from the structure factor F using the equations:

    +_images/compute_saed1.jpg +_images/compute_saed2.jpg +

    Here, K is the location of the reciprocal lattice node, rj is the +position of each atom, fj are atomic scattering factors.

    +

    Diffraction intensities are calculated on a three-dimensional mesh of +reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below. -

    -
    -
    -

    For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing c*inv(A) along each reciprocal lattice +shown in the 2D diagram below.

    + +

    For a mesh defined by the simulation domain, a rectilinear grid is +constructed with spacing *c**inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic -boundary. -

    -

    If the manual flag is included, the mesh of reciprocal lattice nodes -will defined using the c values for the spacing along each reciprocal -lattice axis. Note that manual mapping of the reciprocal space mesh is -good for comparing diffraction results from multiple simulations; however -it can reduce the likelihood that Bragg reflections will be satisfied -unless small spacing parameters <0.05 Angstrom^(-1) are implemented. -Meshes with manual spacing do not require a periodic boundary. -

    -

    The limits of the reciprocal lattice mesh are determined by the use of -the Kmax, Zone, and dR_Ewald parameters. The rectilinear mesh -created about the origin of reciprocal space is terminated at the -boundary of a sphere of radius Kmax centered at the origin. If -Zone parameters z1=z2=z3=0 are used, diffraction intensities are -computed throughout the entire spherical volume - note this can greatly -increase the cost of computation. Otherwise, Zone parameters will -denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an -intersecting Ewald sphere. Diffraction intensities will only be -computed at the intersection of the reciprocal lattice mesh and a -dR_Ewald thick surface of the Ewald sphere. See the example 3D -intestiety data and the intersection of a [010] zone axis in the below image. -

    -
    -
    -

    The atomic scattering factors, fj, accounts for the reduction in -diffraction intensity due to Compton scattering. Compute saed uses -analytical approximations of the atomic scattering factors that vary -for each atom type (type1 type2 ... typeN) and angle of diffraction. +boundary.

    +

    If the manual flag is included, the mesh of reciprocal lattice nodes +will defined using the c values for the spacing along each reciprocal +lattice axis. Note that manual mapping of the reciprocal space mesh is +good for comparing diffraction results from multiple simulations; however +it can reduce the likelihood that Bragg reflections will be satisfied +unless small spacing parameters <0.05 Angstrom^(-1) are implemented. +Meshes with manual spacing do not require a periodic boundary.

    +

    The limits of the reciprocal lattice mesh are determined by the use of +the Kmax, Zone, and dR_Ewald parameters. The rectilinear mesh +created about the origin of reciprocal space is terminated at the +boundary of a sphere of radius Kmax centered at the origin. If +Zone parameters z1=z2=z3=0 are used, diffraction intensities are +computed throughout the entire spherical volume - note this can greatly +increase the cost of computation. Otherwise, Zone parameters will +denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an +intersecting Ewald sphere. Diffraction intensities will only be +computed at the intersection of the reciprocal lattice mesh and a +dR_Ewald thick surface of the Ewald sphere. See the example 3D +intestiety data and the intersection of a [010] zone axis in the below image.

    + +

    The atomic scattering factors, fj, accounts for the reduction in +diffraction intensity due to Compton scattering. Compute saed uses +analytical approximations of the atomic scattering factors that vary +for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula -(Brown): -

    -
    -
    -

    Coefficients parameterized by (Fox) are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute saed are: -

    -

    H: He: Li: Be: B: - C: N: O: F: Ne: - Na: Mg: Al: Si: P: - S: Cl: Ar: K: Ca: - Sc: Ti: V: Cr: Mn: - Fe: Co: Ni: Cu: Zn: - Ga: Ge: As: Se: Br: - Kr: Rb: Sr: Y: Zr: - Nb: Mo: Tc: Ru: Rh: - Pd: Ag: Cd: In: Sn: - Sb: Te: I: Xe: Cs: - Ba: La: Ce: Pr: Nd: - Pm: Sm: Eu: Gd: Tb: - Dy: Ho: Er: Tm: Yb: - Lu: Hf: Ta: W: Re: - Os: Ir: Pt: Au: Hg: - Tl: Pb: Bi: Po: At: - Rn: Fr: Ra: Ac: Th: - Pa: U: Np: Pu: Am: - Cm: Bk: Cf:tb(c=5,s=:) -

    -

    If the echo keyword is specified, compute saed will provide extra -reporting information to the screen. -

    -

    Output info: -

    -

    This compute calculates a global vector. The length of the vector is -the number of reciprocal lattice nodes that are explored by the mesh. -The entries of the global vector are the computed diffraction -intensities as described above. -

    -

    The vector can be accessed by any command that uses global values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    All array values calculated by this compute are "intensive". -

    -

    Restrictions: -

    -

    The compute_saed command does not work for triclinic cells. -

    -

    Related commands: -

    -

    fix saed_vtk, compute xrd -

    -

    Default: -

    -

    The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = -0.01. -

    -
    +(Brown):

    +_images/compute_saed3.jpg +

    Coefficients parameterized by (Fox) are assigned for each +atom type designating the chemical symbol and charge of each atom +type. Valid chemical symbols for compute saed are:

    +
    +
    H: He: Li: Be: B:
    +
    +
    C: N: O: F: Ne:
    +
    +
    Na: Mg: Al: Si: P:
    +
    S: Cl: Ar: K: Ca:
    +
    +

    Sc: Ti: V: Cr: Mn: +Fe: Co: Ni: Cu: Zn: +Ga: Ge: As: Se: Br: +Kr: Rb: Sr: Y: Zr: +Nb: Mo: Tc: Ru: Rh: +Pd: Ag: Cd: In: Sn: +Sb: Te: I: Xe: Cs: +Ba: La: Ce: Pr: Nd: +Pm: Sm: Eu: Gd: Tb: +Dy: Ho: Er: Tm: Yb: +Lu: Hf: Ta: W: Re: +Os: Ir: Pt: Au: Hg: +Tl: Pb: Bi: Po: At: +Rn: Fr: Ra: Ac: Th: +Pa: U: Np: Pu: Am: +Cm: Bk: Cf:tb(c=5,s=:)

    +
    +
    +

    If the echo keyword is specified, compute saed will provide extra +reporting information to the screen.

    +

    Output info:

    +

    This compute calculates a global vector. The length of the vector is +the number of reciprocal lattice nodes that are explored by the mesh. +The entries of the global vector are the computed diffraction +intensities as described above.

    +

    The vector can be accessed by any command that uses global values +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    All array values calculated by this compute are “intensive”.

    +
    +
    +

    Restrictions¶

    +

    The compute_saed command does not work for triclinic cells.

    +
    + +
    +

    Default¶

    +

    The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = +0.01.

    +
    +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013).

    +

    (Brown) Brown et al. International Tables for Crystallography +Volume C: Mathematical and Chemical Tables, 554-95 (2004).

    +

    (Fox) Fox, O’Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 +(1989).

    +
    + - -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). -

    - + + +
    + -

    (Brown) Brown et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 554-95 (2004). -

    - +
    -

    (Fox) Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 -(1989). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_slice.html b/doc/compute_slice.html index e4f82a1652..47f8fe5717 100644 --- a/doc/compute_slice.html +++ b/doc/compute_slice.html @@ -1,124 +1,290 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute slice command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute slice command -

    -

    Syntax: -

    -
    compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • slice = style name of this compute command - -
    • Nstart = starting index within input vector(s) - -
    • Nstop = stopping index within input vector(s) - -
    • Nskip = extract every Nskip elements from input vector(s) - -
    • input = c_ID, c_ID[N], f_ID, f_ID[N] - -
        c_ID = global vector calculated by a compute with ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute slice command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID slice Nstart Nstop Nskip input1 input2 ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • slice = style name of this compute command
      • +
      • Nstart = starting index within input vector(s)
      • +
      • Nstop = stopping index within input vector(s)
      • +
      • Nskip = extract every Nskip elements from input vector(s)
      • +
      • input = c_ID, c_ID[N], f_ID, f_ID[N]
      • +
      +
      c_ID = global vector calculated by a compute with ID
         c_ID[I] = Ith column of global array calculated by a compute with ID
         f_ID = global vector calculated by a fix with ID
      -  f_ID[I] = Ith column of global array calculated by a fix with ID 
      -
      - -
    -

    Examples: -

    -
    compute 1 all slice 1 100 10 c_msdmol[4]
    -compute 1 all slice 301 400 1 c_msdmol[4] 
    -
    -

    Description: -

    -

    Define a calculation that "slices" one or more vector inputs into + f_ID[I] = Ith column of global array calculated by a fix with ID +

    + + +
    +

    Examples¶

    +
    compute 1 all slice 1 100 10 c_msdmol[4]
    +compute 1 all slice 301 400 1 c_msdmol[4]
    +
    +
    +
    +
    +

    Description¶

    +

    Define a calculation that “slices” one or more vector inputs into smaller vectors, one per listed input. The inputs can be global quantities; they cannot be per-atom or local quantities. -Computes and fixes may generate any of the -three kinds of quantities. Variables do not generate -global vectors. The group specified with this command is ignored. -

    -

    The values extracted from the input vector(s) are determined by the -Nstart, Nstop, and Nskip parameters. The elements of an input +Computes and fixes may generate any of the +three kinds of quantities. Variables do not generate +global vectors. The group specified with this command is ignored.

    +

    The values extracted from the input vector(s) are determined by the +Nstart, Nstop, and Nskip parameters. The elements of an input vector of length N are indexed from 1 to N. Starting at element -Nstart, every Mth element is extracted, where M = Nskip, until -element Nstop is reached. The extracted quantities are stored as a -vector, which is typically shorter than the input vector. -

    -

    Each listed input is operated on independently to produce one output +Nstart, every Mth element is extracted, where M = Nskip, until +element Nstop is reached. The extracted quantities are stored as a +vector, which is typically shorter than the input vector.

    +

    Each listed input is operated on independently to produce one output vector. Each listed input must be a global vector or column of a -global array calculated by another compute or -fix. -

    -

    If an input value begins with "c_", a compute ID must follow which has +global array calculated by another compute or +fix.

    +

    If an input value begins with “c_”, a compute ID must follow which has been previously defined in the input script and which generates a -global vector or array. See the individual compute doc +global vector or array. See the individual compute doc page for details. If no bracketed integer is appended, the vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the array calculated by the compute is -used. Users can also write code for their own compute styles and add -them to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +used. Users can also write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script and which generates a global -vector or array. See the individual fix doc page for +vector or array. See the individual fix doc page for details. Note that some fixes only produce their values on certain timesteps, which must be compatible with when compute slice references the values, else an error results. If no bracketed integer is appended, the vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and add -them to LAMMPS. -

    -

    If a single input is specified this compute produces a global vector, +is used. Users can also write code for their own fix style and add them to LAMMPS.

    +

    If a single input is specified this compute produces a global vector, even if the length of the vector is 1. If multiple inputs are specified, then a global array of values is produced, with the number -of columns equal to the number of inputs specified. -

    -
    - -

    Output info: -

    -

    This compute calculates a global vector if a single input value is +of columns equal to the number of inputs specified.

    +
    +

    Output info:

    +

    This compute calculates a global vector if a single input value is specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or -array values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector or array values calculated by this compute are simply +array values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector or array values calculated by this compute are simply copies of values generated by computes or fixes that are input vectors to this compute. If there is a single input vector of intensive and/or extensive values, then each value in the vector of values -calculated by this compute will be "intensive" or "extensive", +calculated by this compute will be “intensive” or “extensive”, depending on the corresponding input value. If there are multiple input vectors, and all the values in them are intensive, then the -array values calculated by this compute are "intensive". If there are +array values calculated by this compute are “intensive”. If there are multiple input vectors, and any value in them is extensive, then the -array values calculated by this compute are "extensive". -

    -

    The vector or array values will be in whatever units the -input quantities are in. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix, compute -reduce -

    -

    Default: none -

    - +array values calculated by this compute are “extensive”.

    +

    The vector or array values will be in whatever units the +input quantities are in.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_sna_atom.html b/doc/compute_sna_atom.html index 9e9b25d1d0..ca1f38bb45 100644 --- a/doc/compute_sna_atom.html +++ b/doc/compute_sna_atom.html @@ -1,120 +1,220 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute sna/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute sna/atom command -

    -

    compute snad/atom command -

    -

    compute snav/atom command -

    -

    Syntax: -

    -
    compute ID group-ID sna/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute sna/atom command¶

    +
    +
    +

    compute snad/atom command¶

    +
    +
    +

    compute snav/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID sna/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
     compute ID group-ID snad/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    -compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • sna/atom = style name of this compute command - -
    • rcutfac = scale factor applied to all cutoff radii (positive real) - -
    • rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1) - -
    • twojmax = band limit for bispectrum components (non-negative integer) - -
    • R_1, R_2,... = list of cutoff radii, one for each type (distance units) - -
    • w_1, w_2,... = list of neighbor weights, one for each type - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = diagonal or rmin0 or switchflag - -
        diagonal value = 0 or 1 or 2 or 3
      -     0 = all j1, j2, j <= twojmax, j2 <= j1
      -     1 = subset satisfying j1 == j2
      -     2 = subset satisfying j1 == j2 == j3
      -     3 = subset satisfying j2 <= j1 <= j
      -  rmin0 value = parameter in distance to angle conversion (distance units)
      -  switchflag value = 0 or 1 
      -     0 = do not use switching function
      -     1 = use switching function 
      -
      - -
    -

    Examples: -

    -
    compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 diagonal 3 rmin0 0.0
    +compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • sna/atom = style name of this compute command
    • +
    • rcutfac = scale factor applied to all cutoff radii (positive real)
    • +
    • rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1)
    • +
    • twojmax = band limit for bispectrum components (non-negative integer)
    • +
    • R_1, R_2,... = list of cutoff radii, one for each type (distance units)
    • +
    • w_1, w_2,... = list of neighbor weights, one for each type
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = diagonal or rmin0 or switchflag
    • +
    +
    +diagonal value = 0 or 1 or 2 or 3
    +     0 = all j1, j2, j <= twojmax, j2 <= j1
    +     1 = subset satisfying j1 == j2
    +     2 = subset satisfying j1 == j2 == j3
    +     3 = subset satisfying j2 <= j1 <= j
    +  rmin0 value = parameter in distance to angle conversion (distance units)
    +  switchflag value = 0 or 1
    +     0 = do not use switching function
    +     1 = use switching function
    +
    +
    +
    +

    Examples¶

    +
    compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 diagonal 3 rmin0 0.0
     compute db all sna/atom 1.4 0.95 6 2.0 1.0
    -compute vb all sna/atom 1.4 0.95 6 2.0 1.0 
    -
    -

    Description: -

    -

    Define a computation that calculates a set of bispectrum components -for each atom in a group. -

    -

    Bispectrum components of an atom are order parameters characterizing +compute vb all sna/atom 1.4 0.95 6 2.0 1.0 +

    + + +
    +

    Description¶

    +

    Define a computation that calculates a set of bispectrum components +for each atom in a group.

    +

    Bispectrum components of an atom are order parameters characterizing the radial and angular distribution of neighbor atoms. The detailed mathematical definition is given in the paper by Thompson et -al. (Thompson) -

    -

    The position of a neighbor atom i' relative to a central atom i is -a point within the 3D ball of radius R_ii' = rcutfac*(R_i + R_i') -

    -

    Bartok et al. (Bartok), proposed mapping this 3D ball +al. (Thompson)

    +

    The position of a neighbor atom i’ relative to a central atom i is +a point within the 3D ball of radius R_ii’ = rcutfac*(R_i + R_i’)

    +

    Bartok et al. (Bartok), proposed mapping this 3D ball onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance r within R_ii' is mapped on to a third -polar angle theta0 defined by, -

    -
    -
    -

    In this way, all possible neighbor positions are mapped on to a subset -of the 3-sphere. Points south of the latitude theta0max=rfac0*Pi -are excluded. -

    -

    The natural basis for functions on the 3-sphere is formed by the 4D -hyperspherical harmonics U^j_m,m'(theta, phi, theta0). These -functions are better known as D^j_m,m', the elements of the Wigner -D-matrices (Meremianin, -Varshalovich). -

    -

    The density of neighbors on the 3-sphere can be written as a sum of +space. The radial distance r within R_ii’ is mapped on to a third +polar angle theta0 defined by,

    +_images/compute_sna_atom1.jpg +

    In this way, all possible neighbor positions are mapped on to a subset +of the 3-sphere. Points south of the latitude theta0max=rfac0*Pi +are excluded.

    +

    The natural basis for functions on the 3-sphere is formed by the 4D +hyperspherical harmonics U^j_m,m’(theta, phi, theta0). These +functions are better known as D^j_m,m’, the elements of the Wigner +D-matrices (Meremianin, +Varshalovich).

    +

    The density of neighbors on the 3-sphere can be written as a sum of Dirac-delta functions, one for each neighbor, weighted by species and radial distance. Expanding this density function as a generalized Fourier series in the basis functions, we can write each Fourier -coefficient as -

    -
    -
    -

    The w_i' neighbor weights are dimensionless numbers that are chosen +coefficient as

    +_images/compute_sna_atom2.jpg +

    The w_i’ neighbor weights are dimensionless numbers that are chosen to distinguish atoms of different types, while the central atom is -arbitrarily assigned a unit weight. The function fc(r) ensures that +arbitrarily assigned a unit weight. The function fc(r) ensures that the contribution of each neighbor atom goes smoothly to zero at -R_ii': -

    -
    -
    -

    The expansion coefficients u^j_m,m' are complex-valued and they are +R_ii’:

    +_images/compute_sna_atom4.jpg +

    The expansion coefficients u^j_m,m’ are complex-valued and they are not directly useful as descriptors, because they are not invariant under rotation of the polar coordinate frame. However, the following scalar triple products of expansion coefficients can be shown to be -real-valued and invariant under rotation (Bartok). -

    -
    -
    -

    The constants H^jmm'_j1m1m1'_j2m2m2' are coupling coefficients, +real-valued and invariant under rotation (Bartok).

    +_images/compute_sna_atom3.jpg +

    The constants H^jmm’_j1m1m1’_j2m2m2’ are coupling coefficients, analogous to Clebsch-Gordan coefficients for rotations on the 2-sphere. These invariants are the components of the bispectrum and -these are the quantities calculated by the compute sna/atom. They +these are the quantities calculated by the compute sna/atom. They characterize the strength of density correlations at three points on the 3-sphere. The j2=0 subset form the power spectrum, which characterizes the correlations of two points. The lowest-order @@ -122,141 +222,175 @@ components describe the coarsest features of the density function, while higher-order components reflect finer detail. Note that the central atom is included in the expansion, so three point-correlations can be either due to three neighbors, or two neighbors and the central -atom. -

    -

    Compute snad/atom calculates the derivative of the bispectrum components -summed separately for each atom type: -

    -
    -
    -

    The sum is over all atoms i' of atom type I. For each atom i, +atom.

    +

    Compute snad/atom calculates the derivative of the bispectrum components +summed separately for each atom type:

    +_images/compute_sna_atom5.jpg +

    The sum is over all atoms i’ of atom type I. For each atom i, this compute evaluates the above expression for each direction, each atom type, and each bispectrum component. See section below on output -for a detailed explanation. -

    -

    Compute snav/atom calculates the virial contribution due to the -derivatives: -

    -
    -
    -

    Again, the sum is over all atoms i' of atom type I. For each atom -i, this compute evaluates the above expression for each of the six +for a detailed explanation.

    +

    Compute snav/atom calculates the virial contribution due to the +derivatives:

    +_images/compute_sna_atom6.jpg +

    Again, the sum is over all atoms i’ of atom type I. For each atom +i, this compute evaluates the above expression for each of the six virial components, each atom type, and each bispectrum component. See -section below on output for a detailed explanation. -

    -

    The value of all bispectrum components will be zero for atoms not in +section below on output for a detailed explanation.

    +

    The value of all bispectrum components will be zero for atoms not in the group. Neighbor atoms not in the group do not contribute to the -bispectrum of atoms in the group. -

    -

    The neighbor list needed to compute this quantity is constructed each +bispectrum of atoms in the group.

    +

    The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. -

    -

    The argument rcutfac is a scale factor that controls the ratio of -atomic radius to radial cutoff distance. -

    -

    The argument rfac0 and the optional keyword rmin0 define the -linear mapping from radial distance to polar angle theta0 on the -3-sphere. -

    -

    The argument twojmax and the keyword diagonal define which +too frequently.

    +

    The argument rcutfac is a scale factor that controls the ratio of +atomic radius to radial cutoff distance.

    +

    The argument rfac0 and the optional keyword rmin0 define the +linear mapping from radial distance to polar angle theta0 on the +3-sphere.

    +

    The argument twojmax and the keyword diagonal define which bispectrum components are generated. See section below on output for a detailed explanation of the number of bispectrum components and the -ordered in which they are listed -

    -

    The keyword switchflag can be used to turn off the switching -function. -

    -

    IMPORTANT NOTE: If you have a bonded system, then the settings of -special_bonds command can remove pairwise +ordered in which they are listed

    +

    The keyword switchflag can be used to turn off the switching +function.

    +
    +

    Warning

    +

    If you have a bonded system, then the settings of +special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the special_bonds +is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the calculation. One way to get -around this, is to write a dump file, and use the rerun +around this, is to write a dump file, and use the rerun command to compute the bispectrum components for snapshots in the dump -file. The rerun script can use a special_bonds -command that includes all pairs in the neighbor list. -

    -

    ;line -

    -

    Output info: -

    -

    Compute sna/atom calculates a per-atom array, each column +file. The rerun script can use a special_bonds +command that includes all pairs in the neighbor list.

    +
    +

    ;line

    +

    Output info:

    +

    Compute sna/atom calculates a per-atom array, each column corresponding to a particular bispectrum component. The total number of columns and the identities of the bispectrum component contained in -each column depend on the values of twojmax and diagonal, as -described by the following piece of python code: -

    -
    for j1 in range(0,twojmax+1):
    -    if(diagonal==2): 
    +each column depend on the values of twojmax and diagonal, as
    +described by the following piece of python code:

    +
    for j1 in range(0,twojmax+1):
    +    if(diagonal==2):
             print j1/2,j1/2,j1/2
         elif(diagonal==1):
    -        for j in range(0,min(twojmax,2*j1)+1,2): 
    +        for j in range(0,min(twojmax,2*j1)+1,2):
                 print j1/2,j1/2,j/2
         elif(diagonal==0):
             for j2 in range(0,j1+1):
    -            for j in range(j1-j2,min(twojmax,j1+j2)+1,2): 
    +            for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
                     print j1/2,j2/2,j/2
         elif(diagonal==3):
             for j2 in range(0,j1+1):
    -            for j in range(j1-j2,min(twojmax,j1+j2)+1,2): 
    -                if (j>=j1): print j1/2,j2/2,j/2 
    -
    -

    Compute snad/atom evaluates a per-atom array. The columns are -arranged into ntypes blocks, listed in order of atom type I. Each -block contains three sub-blocks corresponding to the x, y, and z + for j in range(j1-j2,min(twojmax,j1+j2)+1,2): + if (j>=j1): print j1/2,j2/2,j/2 +

    + +

    Compute snad/atom evaluates a per-atom array. The columns are +arranged into ntypes blocks, listed in order of atom type I. Each +block contains three sub-blocks corresponding to the x, y, and z components of the atom position. Each of these sub-blocks contains one column for each bispectrum component, the same as for compute -sna/atom -

    -

    Compute snav/atom evaluates a per-atom array. The columns are -arranged into ntypes blocks, listed in order of atom type I. Each -block contains six sub-blocks corresponding to the xx, yy, zz, -yz, xz, and xy components of the virial tensor in Voigt +sna/atom

    +

    Compute snav/atom evaluates a per-atom array. The columns are +arranged into ntypes blocks, listed in order of atom type I. Each +block contains six sub-blocks corresponding to the xx, yy, zz, +yz, xz, and xy components of the virial tensor in Voigt notation. Each of these sub-blocks contains one column for each -bispectrum component, the same as for compute sna/atom -

    -

    These values can be accessed by any command that uses per-atom values -from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    Restrictions: -

    -

    These computes are part of the SNAP package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_style snap -

    -

    Default: -

    -

    The optional keyword defaults are diagonal = 0, rmin0 = 0, -switchflag = 1. -

    -
    +bispectrum component, the same as for compute sna/atom

    +

    These values can be accessed by any command that uses per-atom values +from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    + +
    +

    Restrictions¶

    +

    These computes are part of the SNAP package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The optional keyword defaults are diagonal = 0, rmin0 = 0, +switchflag = 1.

    +
    +

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint +available at arXiv:1409.3880

    +

    (Bartok) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).

    +

    (Meremianin) Meremianin, J. Phys. A, 39, 3099 (2006).

    +

    (Varshalovich) Varshalovich, Moskalev, Khersonskii, Quantum Theory +of Angular Momentum, World Scientific, Singapore (1987).

    +
    + - -

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint -available at arXiv:1409.3880 -

    - + + +
    + -

    (Bartok) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). -

    - +
    -

    (Meremianin) Meremianin, J. Phys. A, 39, 3099 (2006). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Varshalovich) Varshalovich, Moskalev, Khersonskii, Quantum Theory -of Angular Momentum, World Scientific, Singapore (1987). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_stress_atom.html b/doc/compute_stress_atom.html index 52089c9aef..ad41febc8b 100644 --- a/doc/compute_stress_atom.html +++ b/doc/compute_stress_atom.html @@ -1,83 +1,194 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute stress/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute stress/atom command -

    -

    Syntax: -

    -
    compute ID group-ID stress/atom temp-ID keyword ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • stress/atom = style name of this compute command -
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed -
    • zero or more keywords may be appended -
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial -
    -

    Examples: -

    -
    compute 1 mobile stress/atom NULL
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute stress/atom command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID stress/atom temp-ID keyword ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • stress/atom = style name of this compute command
    • +
    • temp-ID = ID of compute that calculates temperature, can be NULL if not needed
    • +
    • zero or more keywords may be appended
    • +
    • keyword = ke or pair or bond or angle or dihedral or improper or kspace or fix or virial
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 mobile stress/atom NULL
     compute 1 mobile stress/atom myRamp
    -compute 1 all stress/atom NULL pair bond 
    -
    -

    Description: -

    -

    Define a computation that computes the symmetric per-atom stress +compute 1 all stress/atom NULL pair bond +

    + + +
    +

    Description¶

    +

    Define a computation that computes the symmetric per-atom stress tensor for each atom in a group. The tensor for each atom has 6 components and is stored as a 6-element vector in the following order: -xx, yy, zz, xy, xz, yz. See the compute -pressure command if you want the stress tensor -(pressure) of the entire system. -

    -

    The stress tensor for atom I is given by the following formula, -where a and b take on values x,y,z to generate the 6 components of -the symmetric tensor: -

    -
    -
    -

    The first term is a kinetic energy contribution for atom I. See -details below on how the specified temp-ID can affect the velocities +xx, yy, zz, xy, xz, yz. See the compute pressure command if you want the stress tensor +(pressure) of the entire system.

    +

    The stress tensor for atom I is given by the following formula, +where a and b take on values x,y,z to generate the 6 components of +the symmetric tensor:

    +_images/stress_tensor.jpg +

    The first term is a kinetic energy contribution for atom I. See +details below on how the specified temp-ID can affect the velocities used in this calculation. The second term is a pairwise energy -contribution where n loops over the Np neighbors of atom I, r1 -and r2 are the positions of the 2 atoms in the pairwise interaction, -and F1 and F2 are the forces on the 2 atoms resulting from the +contribution where n loops over the Np neighbors of atom I, r1 +and r2 are the positions of the 2 atoms in the pairwise interaction, +and F1 and F2 are the forces on the 2 atoms resulting from the pairwise interaction. The third term is a bond contribution of -similar form for the Nb bonds which atom I is part of. There are -similar terms for the Na angle, Nd dihedral, and Ni improper -interactions atom I is part of. There is also a term for the KSpace +similar form for the Nb bonds which atom I is part of. There are +similar terms for the Na angle, Nd dihedral, and Ni improper +interactions atom I is part of. There is also a term for the KSpace contribution from long-range Coulombic interactions, if defined. -Finally, there is a term for the Nf fixes that apply -internal constraint forces to atom I. Currently, only the fix -shake and fix rigid commands -contribute to this term. -

    -

    As the coefficients in the formula imply, a virial contribution +Finally, there is a term for the Nf fixes that apply +internal constraint forces to atom I. Currently, only the fix shake and fix rigid commands +contribute to this term.

    +

    As the coefficients in the formula imply, a virial contribution produced by a small set of atoms (e.g. 4 atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction) is assigned in equal portions to each atom in the set. E.g. 1/4 of the dihedral virial to each of the 4 atoms, or 1/3 of the fix virial due to SHAKE constraints applied -to atoms in a a water molecule via the fix shake -command. -

    -

    If no extra keywords are listed, all of the terms in this formula are +to atoms in a a water molecule via the fix shake +command.

    +

    If no extra keywords are listed, all of the terms in this formula are included in the per-atom stress tensor. If any extra keywords are listed, only those terms are summed to compute the tensor. The -virial keyword means include all terms except the kinetic energy -ke. -

    -

    Note that the stress for each atom is due to its interaction with all -other atoms in the simulation, not just with other atoms in the group. -

    -

    Details of how LAMMPS computes the virial for individual atoms for +virial keyword means include all terms except the kinetic energy +ke.

    +

    Note that the stress for each atom is due to its interaction with all +other atoms in the simulation, not just with other atoms in the group.

    +

    Details of how LAMMPS computes the virial for individual atoms for either pairwise or manybody potentials, and including the effects of -periodic boundary conditions is discussed in (Thompson). +periodic boundary conditions is discussed in (Thompson). The basic idea for manybody potentials is to treat each component of the force computation between a small cluster of atoms in the same manner as in the formula above for bond, angle, dihedral, etc @@ -85,88 +196,134 @@ interactions. Namely the quantity R dot F is summed over the atoms in the interaction, with the R vectors unwrapped by periodic boundaries so that the cluster of atoms is close together. The total contribution for the cluster interaction is divided evenly among those -atoms. -

    -

    The dihedral_style charmm style calculates +atoms.

    +

    The dihedral_style charmm style calculates pairwise interactions between 1-4 atoms. The virial contribution of -these terms is included in the pair virial, not the dihedral virial. -

    -

    The KSpace contribution is calculated using the method in -(Heyes) for the Ewald method and by the methodology described -in (Sirk) for PPPM. The choice of KSpace solver is specified -by the kspace_style pppm command. Note that for +these terms is included in the pair virial, not the dihedral virial.

    +

    The KSpace contribution is calculated using the method in +(Heyes) for the Ewald method and by the methodology described +in (Sirk) for PPPM. The choice of KSpace solver is specified +by the kspace_style pppm command. Note that for PPPM, the calcluation requires 6 extra FFTs each timestep that per-atom stress is calculated. Thus it can significantly increase the cost of the PPPM calculation if it is needed on a large fraction of -the simulation timesteps. -

    -

    The temp-ID argument can be used to affect the per-atom velocities +the simulation timesteps.

    +

    The temp-ID argument can be used to affect the per-atom velocities used in the kinetic energy contribution to the total stress. If the kinetic energy is not included in the stress, than the temperature compute is not used and can be specified as NULL. If the kinetic energy is included and you wish to use atom velocities as-is, then -temp-ID can also be specified as NULL. If desired, the specified +temp-ID can also be specified as NULL. If desired, the specified temperature compute can be one that subtracts off a bias to leave each atom with only a thermal velocity to use in the formula above, e.g. by subtracting a background streaming velocity. See the doc pages for -individual compute commands to determine which ones -include a bias. -

    -
    - -

    Note that as defined in the formula, per-atom stress is the negative +individual compute commands to determine which ones +include a bias.

    +
    +

    Note that as defined in the formula, per-atom stress is the negative of the per-atom pressure tensor. It is also really a stress*volume formulation, meaning the computed quantity is in units of pressure*volume. It would need to be divided by a per-atom volume to -have units of stress (pressure), but an individual atom's volume is +have units of stress (pressure), but an individual atom’s volume is not well defined or easy to compute in a deformed solid or a liquid. -See the compute voronoi/atom command for -one possible way to estimate a per-atom volume. -

    -

    Thus, if the diagonal components of the per-atom stress tensor are +See the compute voronoi/atom command for +one possible way to estimate a per-atom volume.

    +

    Thus, if the diagonal components of the per-atom stress tensor are summed for all atoms in the system and the sum is divided by dV, where d = dimension and V is the volume of the system, the result should be --P, where P is the total pressure of the system. -

    -

    These lines in an input script for a 3d system should yield that -result. I.e. the last 2 columns of thermo output will be the same: -

    -
    compute		peratom all stress/atom NULL
    -compute		p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
    -variable	press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
    -thermo_style	custom step temp etotal press v_press 
    -
    -

    Output info: -

    -

    This compute calculates a per-atom array with 6 columns, which can be +-P, where P is the total pressure of the system.

    +

    These lines in an input script for a 3d system should yield that +result. I.e. the last 2 columns of thermo output will be the same:

    +
    compute              peratom all stress/atom NULL
    +compute              p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
    +variable     press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
    +thermo_style custom step temp etotal press v_press
    +
    +
    +

    Output info:

    +

    This compute calculates a per-atom array with 6 columns, which can be accessed by indices 1-6 by any command that uses per-atom values from -a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The per-atom array values will be in pressure*volume -units as discussed above. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute pe, compute pressure -

    -

    Default: none -

    -
    +a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The per-atom array values will be in pressure*volume +units as discussed above.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + - -

    (Heyes) Heyes, Phys Rev B 49, 755 (1994), -

    - + + +
    + -

    (Sirk) Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013). -

    - +
    -

    (Thompson) Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp.html b/doc/compute_temp.html index d669eee5e2..fe956a4324 100644 --- a/doc/compute_temp.html +++ b/doc/compute_temp.html @@ -1,117 +1,282 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp command -

    -

    compute temp/cuda command -

    -

    Syntax: -

    -
    compute ID group-ID temp 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all temp
    -compute myTemp mobile temp 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp command¶

    +
    +
    +

    compute temp/cuda command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp
    +compute myTemp mobile temp
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms. A compute of this style can be used by any command that -computes a temperature, e.g. thermo_modify, fix -temp/rescale, fix npt, etc. -

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +computes a temperature, e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    A compute of this style with the ID of "thermo_temp" is created when -LAMMPS starts up, as if this command were in the input script: -

    -
    compute thermo_temp all temp 
    -
    -

    See the "thermo_style" command for more details. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    A compute of this style with the ID of “thermo_temp” is created when +LAMMPS starts up, as if this command were in the input script:

    +
    compute thermo_temp all temp
    +
    +
    +

    See the “thermo_style” command for more details.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +thermostatting.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp/partial, compute -temp/region, compute -pressure -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html index 2c6241da99..46080aa81b 100644 --- a/doc/compute_temp_asphere.html +++ b/doc/compute_temp_asphere.html @@ -1,163 +1,324 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/asphere command -

    -

    Syntax: -

    -
    compute ID group-ID temp/asphere keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • temp/asphere = style name of this compute command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = bias or dof - -
        bias value = bias-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute temp/asphere command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID temp/asphere keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • temp/asphere = style name of this compute command
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = bias or dof
      • +
      +
      +bias value = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias
      -  dof value = all or rotate
      +  dof value = all or rotate
           all = compute temperature of translational and rotational degrees of freedom
      -    rotate = compute temperature of just rotational degrees of freedom 
      -
      - -
    -

    Examples: -

    -
    compute 1 all temp/asphere
    +    rotate = compute temperature of just rotational degrees of freedom
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp/asphere
     compute myTemp mobile temp/asphere bias tempCOM
    -compute myTemp mobile temp/asphere dof rotate 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of +compute myTemp mobile temp/asphere dof rotate +

    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of aspherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the -usual compute temp command, which assumes point -particles with only translational kinetic energy. -

    -

    Only finite-size particles (aspherical or spherical) can be included +usual compute temp command, which assumes point +particles with only translational kinetic energy.

    +

    Only finite-size particles (aspherical or spherical) can be included in the group. For 3d finite-size particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d finite-size particles, each has 3 degrees of freedom (2 translational, 1 -rotational). -

    -

    IMPORTANT NOTE: This choice for degrees of freedom (dof) assumes that +rotational).

    +
    +

    Warning

    +

    This choice for degrees of freedom (dof) assumes that all finite-size aspherical or spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the -compute_modify extra command to adjust the dof -accordingly. -

    -

    For example, an aspherical particle with all three of its shape +compute_modify extra command to adjust the dof +accordingly.

    +
    +

    For example, an aspherical particle with all three of its shape parameters the same is a sphere. If it does not rotate, then it should have 3 dof instead of 6 in 3d (or 2 instead of 3 in 2d). A uniaxial aspherical particle has two of its three shape parameters the same. If it does not rotate around the axis perpendicular to its circular cross section, then it should have 5 dof instead of 6 in 3d. -The latter is the case for uniaxial ellipsoids in a GayBerne -model since there is no induced torque around the +The latter is the case for uniaxial ellipsoids in a GayBerne model since there is no induced torque around the optical axis. It will also be the case for biaxial ellipsoids when exactly two of the semiaxes have the same length and the corresponding -relative well depths are equal. -

    -

    The translational kinetic energy is computed the same as is described -by the compute temp command. The rotational +relative well depths are equal.

    +

    The translational kinetic energy is computed the same as is described +by the compute temp command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor for the aspherical particle and w is its angular velocity, which is -computed from its angular momentum. -

    -

    IMPORTANT NOTE: For 2d models, particles are treated +computed from its angular momentum.

    +
    +

    Warning

    +

    For 2d models, particles are treated as ellipsoids, not ellipses, meaning their moments of inertia will be -the same as in 3d. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the same as in 3d.

    +
    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formula, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component, and the appropriate elements of the inertia tensor are used. The 6 components of the -vector are ordered xx, yy, zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as fix -shake and fix rigid. This means the +vector are ordered xx, yy, zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    This compute subtracts out translational degrees-of-freedom due to +fixes that constrain molecular motion, such as fix shake and fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the extra option of the -compute_modify command. -

    -

    See this howto section of the manual for +be altered using the extra option of the +compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This allows +thermostatting.

    +
    +

    The keyword/value option pairs are used in the following ways.

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a “bias” velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details. -

    -

    For the dof keyword, a setting of all calculates a temperature +pages for fixes that perform thermostatting for more details.

    +

    For the dof keyword, a setting of all calculates a temperature that includes both translational and rotational degrees of freedom. A -setting of rotate calculates a temperature that includes only -rotational degrees of freedom. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +setting of rotate calculates a temperature that includes only +rotational degrees of freedom.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This compute requires that atoms store angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This compute requires that atoms store angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    compute temp -

    -

    Default: none -

    - +shape attribute.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_chunk.html b/doc/compute_temp_chunk.html index 05947ba736..69baa0f1c7 100644 --- a/doc/compute_temp_chunk.html +++ b/doc/compute_temp_chunk.html @@ -1,251 +1,397 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • temp/chunk = style name of this compute command - -
    • chunkID = ID of compute chunk/atom command - -
    • zero or more values can be listed as value1,value2,etc - -
    • value = temp or kecom or internal - -
        temp = temperature of each chunk
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute temp/chunk command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • temp/chunk = style name of this compute command
      • +
      • chunkID = ID of compute chunk/atom command
      • +
      • zero or more values can be listed as value1,value2,etc
      • +
      • value = temp or kecom or internal
      • +
      +
      temp = temperature of each chunk
         kecom = kinetic energy of each chunk based on velocity of center of mass
      -  internal = internal kinetic energy of each chunk 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = com or bias or adof or cdof - -
        com value = yes or no
      +  internal = internal kinetic energy of each chunk
      +
    • +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = com or bias or adof or cdof
      • +
      +
      +com value = yes or no
           yes = subtract center-of-mass velocity from each chunk before calculating temperature
           no = do not subtract center-of-mass velocity
      -  bias value = bias-ID
      +  bias value = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias
      -  adof value = dof_per_atom
      +  adof value = dof_per_atom
           dof_per_atom = define this many degrees-of-freedom per atom
      -  cdof value = dof_per_chunk
      -    dof_per_chunk = define this many degrees-of-freedom per chunk 
      -
      - -
    -

    Examples: -

    -
    compute 1 fluid temp/chunk molchunk
    +  cdof value = dof_per_chunk
    +    dof_per_chunk = define this many degrees-of-freedom per chunk
    +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid temp/chunk molchunk
     compute 1 fluid temp/chunk molchunk temp internal
    -compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of +compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 +

    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms that are also in chunks, after optionally subtracting out the center-of-mass velocity of each chunk. By specifying optional values, it can also calulate the per-chunk temperature or energies of the -multiple chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom +multiple chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    The temperature is calculated by the formula KE = DOF/2 k T, where KE = +a system.

    +

    The temperature is calculated by the formula KE = DOF/2 k T, where KE = total kinetic energy of all atoms assigned to chunks (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for those atoms, k -= Boltzmann constant, and T = temperature. -

    -

    The DOF is calculated as N*adof + Nchunk*cdof, where N = number of += Boltzmann constant, and T = temperature.

    +

    The DOF is calculated as N*adof + Nchunk*cdof, where N = number of atoms contributing to the KE, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the dimension +dimensionality of system, as set via the dimension command, and cdof = 0.0. This gives the usual formula for -temperature. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +temperature.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    Note that the number of atoms contributing to the temperature is +zz, xy, xz, yz.

    +

    Note that the number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed the atoms may be dynamically assigned to chunks. Thus there is no -need to use the dynamic option of the -compute_modify command for this compute style. -

    -

    If any optional values are specified, then per-chunk quantities are -also calculated and stored in a global array, as described below. -

    -

    The temp value calculates the temperature for each chunk by the +need to use the dynamic option of the +compute_modify command for this compute style.

    +

    If any optional values are specified, then per-chunk quantities are +also calculated and stored in a global array, as described below.

    +

    The temp value calculates the temperature for each chunk by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = -temperature. -

    -

    The DOF in this case is calculated as N*adof + cdof, where N = number +temperature.

    +

    The DOF in this case is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the dimension +dimensionality of system, as set via the dimension command, and cdof = 0.0. This gives the usual formula for -temperature. -

    -

    The kecom value calculates the kinetic energy of each chunk as if +temperature.

    +

    The kecom value calculates the kinetic energy of each chunk as if all its atoms were moving with the velocity of the center-of-mass of -the chunk. -

    -

    The internal value calculates the internal kinetic energy of each +the chunk.

    +

    The internal value calculates the internal kinetic energy of each chunk. The interal KE is summed over the atoms in the chunk using an -internal "thermal" velocity for each atom, which is its velocity minus -the center-of-mass velocity of the chunk. -

    -
    - -

    Note that currently the global and per-chunk temperatures calculated +internal “thermal” velocity for each atom, which is its velocity minus +the center-of-mass velocity of the chunk.

    +
    +

    Note that currently the global and per-chunk temperatures calculated by this compute only include translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity -bias or constraints that are applied, such as compute -temp/partial, or fix shake -or fix rigid. This is because those degrees of +bias or constraints that are applied, such as compute temp/partial, or fix shake +or fix rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can use the -adof and cdof keywords to adjust the calculated degress of freedom -appropriately, as explained below. -

    -

    Note that the per-chunk temperature calulated by this compute and the -fix ave/chunk temp command can be different. +adof and cdof keywords to adjust the calculated degress of freedom +appropriately, as explained below.

    +

    Note that the per-chunk temperature calulated by this compute and the +fix ave/chunk temp command can be different. This compute calculates the temperature for each chunk for a single snapshot. Fix ave/chunk can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. This compute allows the center-of-mass velocity of each chunk to be subtracted before -calculating the temperature; fix ave/chunk does not. -

    -

    IMPORTANT NOTE: Only atoms in the specified group contribute to the -calculations performed by this compute. The compute -chunk/atom command defines its own group; +calculating the temperature; fix ave/chunk does not.

    +
    +

    Warning

    +

    Only atoms in the specified group contribute to the +calculations performed by this compute. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the "all" group for +contribute to this calculation. You can specify the “all” group for this command if you simply want to include atoms with non-zero chunk -IDs. -

    -

    The simplest way to output the per-chunk results of the compute -temp/chunk calculation to a file is to use the fix -ave/time command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +IDs.

    +
    +

    The simplest way to output the per-chunk results of the compute +temp/chunk calculation to a file is to use the fix ave/time command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all temp/chunk cc1 temp
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    The com keyword can be used with a value of yes to subtract the +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +
    +

    The keyword/value option pairs are used in the following ways.

    +

    The com keyword can be used with a value of yes to subtract the velocity of the center-of-mass for each chunk from the velocity of the atoms in that chunk, before calculating either the global or per-chunk temperature. This can be useful if the atoms are streaming or otherwise moving collectively, and you wish to calculate only the -thermal temperature. -

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This also +thermal temperature.

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a “bias” velocity from each atom. This also allows calculation of the global or per-chunk temperature using only the thermal temperature of atoms in each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a velocity profile. It also applies to the calculation -of the other per-chunk values, such as kecom or internal, which +of the other per-chunk values, such as kecom or internal, which involve the center-of-mass velocity of each chunk, which is calculated after the velocity bias is removed from each atom. Note that the temperature compute will apply its bias globally to the entire system, -not on a per-chunk basis. -

    -

    The adof and cdof keywords define the values used in the degree of +not on a per-chunk basis.

    +

    The adof and cdof keywords define the values used in the degree of freedom (DOF) formulas used for the global or per-chunk temperature, as described above. They can be used to calculate a more appropriate -temperature for some kinds of chunks. Here are 3 examples: -

    -

    If spatially binned chunks contain some number of water molecules and -fix shake is used to make each molecule rigid, then +temperature for some kinds of chunks. Here are 3 examples:

    +

    If spatially binned chunks contain some number of water molecules and +fix shake is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 -translational, 3 rotational) per molecule by setting adof to 2.0. -

    -

    If compute temp/partial is used with the -bias keyword to only allow the x component of velocity to contribute -to the temperature, then adof = 1.0 would be appropriate. -

    -

    If each chunk consists of a large molecule, with some number of its -bonds constrained by fix shake or the entire molecule -by fix rigid/small, adof = 0.0 and cdof could be +translational, 3 rotational) per molecule by setting adof to 2.0.

    +

    If compute temp/partial is used with the +bias keyword to only allow the x component of velocity to contribute +to the temperature, then adof = 1.0 would be appropriate.

    +

    If each chunk consists of a large molecule, with some number of its +bonds constrained by fix shake or the entire molecule +by fix rigid/small, adof = 0.0 and cdof could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid -molecule. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +molecule.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    This compute also optionally calculates a global array, if one or more +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    This compute also optionally calculates a global array, if one or more of the optional values are specified. The number of rows in the array -= the number of chunks Nchunk as calculated by the specified -compute chunk/atom command. The number of += the number of chunks Nchunk as calculated by the specified +compute chunk/atom command. The number of columns is the number of specifed values (1 or more). These values can be accessed by any command that uses global array values from a -compute as input. Again, see Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". The array values are "intensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. The array values -will be in temperature units for the temp value, and in -energy units for the kecom and internal values. -

    -

    Restrictions: -

    -

    The com and bias keywords cannot be used together. -

    -

    Related commands: -

    -

    compute temp, fix ave/chunk -temp -

    -

    Default: -

    -

    The option defaults are com no, no bias, adof = dimensionality of the -system (2 or 3), and cdof = 0.0. -

    - +compute as input. Again, see Section_howto 15 for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”. The array values are “intensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. The array values +will be in temperature units for the temp value, and in +energy units for the kecom and internal values.

    +
    +
    +

    Restrictions¶

    +

    The com and bias keywords cannot be used together.

    +
    + +
    +

    Default¶

    +

    The option defaults are com no, no bias, adof = dimensionality of the +system (2 or 3), and cdof = 0.0.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_com.html b/doc/compute_temp_com.html index 5635c606d3..fcc1637c0b 100644 --- a/doc/compute_temp_com.html +++ b/doc/compute_temp_com.html @@ -1,98 +1,269 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/com command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/com command -

    -

    Syntax: -

    -
    compute ID group-ID temp/com 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/com = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all temp/com
    -compute myTemp mobile temp/com 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/com command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/com
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/com = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp/com
    +compute myTemp mobile temp/com
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out the center-of-mass velocity of the group. This is useful if the group is expected to have a non-zero net velocity for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix -temp/rescale, fix npt, etc. -

    -

    After the center-of-mass velocity has been subtracted from each atom, +e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    +

    After the center-of-mass velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of the center-of-mass velocity by this fix is essentially -computing the temperature after a "bias" has been removed from the +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of the center-of-mass velocity by this fix is essentially +computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_cs.html b/doc/compute_temp_cs.html index f548d3c652..fa304fa97e 100644 --- a/doc/compute_temp_cs.html +++ b/doc/compute_temp_cs.html @@ -1,52 +1,167 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/cs command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/cs command -

    -

    Syntax: -

    -

    compute ID group-ID temp/cs group1 group2 pre -

    -
    • ID, group-ID are documented in compute command -
    • temp/cs = style name of this compute command -
    • group1 = group-ID of either cores or shells -
    • group2 = group-ID of either shells or cores -
    -

    Examples: -

    -
    compute oxygen_c-s all temp/cs O_core O_shell
    -compute core_shells all temp/cs cores shells 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a system based + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/cs command¶

    +
    +

    Syntax¶

    +

    compute ID group-ID temp/cs group1 group2 pre

    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/cs = style name of this compute command
    • +
    • group1 = group-ID of either cores or shells
    • +
    • group2 = group-ID of either shells or cores
    • +
    +
    +
    +

    Examples¶

    +
    compute oxygen_c-s all temp/cs O_core O_shell
    +compute core_shells all temp/cs cores shells
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a system based on the center-of-mass velocity of atom pairs that are bonded to each other. This compute is designed to be used with the adiabatic -core/shell model of (Mitchell and Finchham). See -Section_howto 25 of the manual for an +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an overview of the model as implemented in LAMMPS. Specifically, this compute enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of freedom of the core/shell pairs to not be influenced by a thermostat. A compute of this style can be used by any command that computes a -temperature via fix_modify e.g. fix -temp/rescale, fix npt, etc. -

    -

    For this compute, core and shell particles are specified by two +temperature via fix_modify e.g. fix temp/rescale, fix npt, etc.

    +

    For this compute, core and shell particles are specified by two respective group IDs, which can be defined using the -group command. The number of atoms in the two groups +group command. The number of atoms in the two groups must be the same and there should be one bond defined between a pair -of atoms in the two groups. -

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +of atoms in the two groups.

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that @@ -55,66 +170,113 @@ the velocity of the center-of-mass (COM) of the core/shell pair the atom is part of. Note that atoms that are not core or shell particles are also included in the temperature calculation (if they are in the specified group-ID); they contribute to the total kinetic energy in -the usual way. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the usual way.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. Again, the velocity of each core or shell atom is its -COM velocity. -

    -

    The change this fix makes to core/shell atom velocities is essentially -computing the temperature after a "bias" has been removed from the -velocity of the atoms. This "bias" is the velocity of the atom +COM velocity.

    +

    The change this fix makes to core/shell atom velocities is essentially +computing the temperature after a “bias” has been removed from the +velocity of the atoms. This “bias” is the velocity of the atom relative to the COM velocity of the core/shell pair. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining COM velocity will be performed, and the bias will be added back in. This means the thermostating will effectively be performed on the core/shell pairs, instead of on the individual core and shell atoms. -Thermostatting fixes that work in this way include fix -nvt, fix temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    The internal energy of core/shell pairs can be calculated by the -compute temp/chunk command, if chunks are -defined as core/shell pairs. See Section_howto -25 for more discussion on how to do this. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +Thermostatting fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    The internal energy of core/shell pairs can be calculated by the +compute temp/chunk command, if chunks are +defined as core/shell pairs. See Section_howto 25 for more discussion on how to do this.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    The number of core/shell pairs contributing to the temperature is +vector values from a compute as input.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    The number of core/shell pairs contributing to the temperature is assumed to be constant for the duration of the run. No fixes should -be used which generate new molecules or atoms during a simulation. -

    -

    Related commands: -

    -

    compute temp, compute -temp/chunk -

    -

    Default: none -

    -
    +be used which generate new molecules or atoms during a simulation.

    +
    + +
    - -

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_deform.html b/doc/compute_temp_deform.html index 1a2af61281..fce44f069a 100644 --- a/doc/compute_temp_deform.html +++ b/doc/compute_temp_deform.html @@ -1,139 +1,311 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/deform command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/deform command -

    -

    Syntax: -

    -
    compute ID group-ID temp/deform 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/deform = style name of this compute command -
    -

    Examples: -

    -
    compute myTemp all temp/deform 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/deform command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/deform
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/deform = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute myTemp all temp/deform
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out a streaming velocity induced by the simulation box changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the fix deform command. A compute -of this style is created by the fix nvt/sllod +induced by use of the fix deform command. A compute +of this style is created by the fix nvt/sllod command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command -that computes a temperature, e.g. thermo_modify, -fix temp/rescale, fix npt, etc. -

    -

    The deformation fix changes the box size and/or shape over time, so +that computes a temperature, e.g. thermo_modify, +fix temp/rescale, fix npt, etc.

    +

    The deformation fix changes the box size and/or shape over time, so each atom in the simulation box can be thought of as having a -"streaming" velocity. For example, if the box is being sheared in x, +“streaming” velocity. For example, if the box is being sheared in x, relative to y, then atoms at the bottom of the box (low y) have a small x velocity, while atoms at the top of the box (hi y) have a large x velocity. This position-dependent streaming velocity is -subtracted from each atom's actual velocity to yield a thermal -velocity which is used to compute the temperature. -

    -

    IMPORTANT NOTE: Fix deform has an option for +subtracted from each atom’s actual velocity to yield a thermal +velocity which is used to compute the temperature.

    +
    +

    Warning

    +

    Fix deform has an option for remapping either atom coordinates or velocities to the changing simulation box. When using this compute in conjunction with a deforming box, fix deform should NOT remap atom positions, but rather should let atoms respond to the changing box by adjusting their own -velocities (or let fix deform remap the atom -velocities, see it's remap option). If fix deform does remap atom +velocities (or let fix deform remap the atom +velocities, see it’s remap option). If fix deform does remap atom positions, then they appear to move with the box but their velocity is not changed, and thus they do NOT have the streaming velocity assumed by this compute. LAMMPS will warn you if fix deform is defined and -its remap setting is not consistent with this compute. -

    -

    After the streaming velocity has been subtracted from each atom, the +its remap setting is not consistent with this compute.

    +
    +

    After the streaming velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. Note that v in -the kinetic energy formula is the atom's thermal velocity. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +the kinetic energy formula is the atom’s thermal velocity.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of the box deformation velocity component by this fix is -essentially computing the temperature after a "bias" has been removed +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of the box deformation velocity component by this fix is +essentially computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    IMPORTANT NOTE: The temperature calculated by this compute is only +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +
    +

    Warning

    +

    The temperature calculated by this compute is only accurate if the atoms are indeed moving with a stream velocity profile that matches the box deformation. If not, then the compute will subtract off an incorrect stream velocity, yielding a bogus thermal temperature. You should NOT assume that your atoms are streaming at the same rate the box is deforming. Rather, you should monitor their -velocity profile, e.g. via the fix ave/spatial -command. And you can compare the results of this compute to compute -temp/profile, which actually calculates the +velocity profile, e.g. via the fix ave/spatial +command. And you can compare the results of this compute to compute temp/profile, which actually calculates the stream profile before subtracting it. If the two computes do not give roughly the same temperature, then your atoms are not streaming -consistent with the box deformation. See the fix -deform command for more details on ways to get atoms -to stream consistently with the box deformation. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +consistent with the box deformation. See the fix deform command for more details on ways to get atoms +to stream consistently with the box deformation.

    +
    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp/ramp, compute -temp/profile, fix deform, -fix nvt/sllod -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_deform_eff.html b/doc/compute_temp_deform_eff.html index 6331c8e915..91745062d6 100644 --- a/doc/compute_temp_deform_eff.html +++ b/doc/compute_temp_deform_eff.html @@ -1,78 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/deform/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/deform/eff command -

    -

    Syntax: -

    -
    compute ID group-ID temp/deform/eff 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/deform/eff = style name of this compute command -
    -

    Examples: -

    -
    compute myTemp all temp/deform/eff 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/deform/eff command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/deform/eff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/deform/eff = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute myTemp all temp/deform/eff
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model, after subtracting out a streaming velocity induced by the simulation box changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the fix deform/eff command. A -compute of this style is created by the fix -nvt/sllod/eff command to compute the thermal +induced by use of the fix deform/eff command. A +compute of this style is created by the fix nvt/sllod/eff command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command that computes a temperature, -e.g. thermo_modify, fix npt/eff, -etc. -

    -

    The calculation performed by this compute is exactly like that -described by the compute temp/deform +e.g. thermo_modify, fix npt/eff, +etc.

    +

    The calculation performed by this compute is exactly like that +described by the compute temp/deform command, except that the formula for the temperature includes the -radial electron velocity contributions, as discussed by the compute -temp/eff command. Note that only the +radial electron velocity contributions, as discussed by the compute temp/eff command. Note that only the translational degrees of freedom for each nuclei or electron are affected by the streaming velocity adjustment. The radial velocity -component of the electrons is not affected. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +component of the electrons is not affected.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute temp/ramp, fix -deform/eff, fix -nvt/sllod/eff -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_drude.html b/doc/compute_temp_drude.html index 96d3aac384..ddc47ddcd6 100644 --- a/doc/compute_temp_drude.html +++ b/doc/compute_temp_drude.html @@ -1,87 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/drude command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/drude command -

    -

    Syntax: -

    -
    compute ID group-ID temp/drude 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/drude = style name of this compute command -
    -

    Examples: -

    -
    compute TDRUDE all temp/drude 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperatures of core-Drude + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/drude command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/drude
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/drude = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute TDRUDE all temp/drude
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperatures of core-Drude pairs. This compute is designed to be used with the thermalized Drude oscillator model. This compute is designed to be used with the -thermalized Drude oscillator model. Polarizable -models in LAMMPS are described in this -Section. -

    -

    Drude oscillators consist of a core particle and a Drude particle +thermalized Drude oscillator model. Polarizable +models in LAMMPS are described in this Section.

    +

    Drude oscillators consist of a core particle and a Drude particle connected by a harmonic bond, and the relative motion of these Drude oscillators is usually maintained cold by a specific thermostat that acts on the relative motion of the core-Drude particle pairs. Therefore, because LAMMPS considers Drude particles as normal -atoms in its default temperature compute (compute -temp command), the reduced temperature of the -core-Drude particle pairs is not calculated correctly. -

    -

    By contrast, this compute calculates the temperature of the cores +atoms in its default temperature compute (compute temp command), the reduced temperature of the +core-Drude particle pairs is not calculated correctly.

    +

    By contrast, this compute calculates the temperature of the cores using center-of-mass velocities of the core-Drude pairs, and the reduced temperature of the Drude particles using the relative velocities of the Drude particles with respect to their cores. Non-polarizable atoms are considered as cores. Their velocities -contribute to the temperature of the cores. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +contribute to the temperature of the cores.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6, which can be accessed by indices 1-6, whose components -are -

    -
    1. temperature of the centers of mass (temperature units) -
    2. temperature of the dipoles (temperature units) -
    3. number of degrees of freedom of the centers of mass -
    4. number of degrees of freedom of the dipoles -
    5. kinetic energy of the centers of mass (energy units) -
    6. kinetic energy of the dipoles (energy units) -
    -

    These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    Both the scalar value and the first two values of the vector -calculated by this compute are "intensive". The other 4 vector values -are "extensive". -

    -

    Restrictions: -

    -

    The number of degrees of freedom contributing to the temperature is -assumed to be constant for the duration of the run unless the -fix_modify command sets the option dynamic yes. -

    -

    Related commands: -

    -

    fix drude, fix -langevin_drude, fix -drude/transform, pair_style -thole, compute temp -

    -

    Default: none -

    - +are

    +
      +
    1. temperature of the centers of mass (temperature units)
    2. +
    3. temperature of the dipoles (temperature units)
    4. +
    5. number of degrees of freedom of the centers of mass
    6. +
    7. number of degrees of freedom of the dipoles
    8. +
    9. kinetic energy of the centers of mass (energy units)
    10. +
    11. kinetic energy of the dipoles (energy units)
    12. +
    +

    These values can be used by any command that uses global scalar or +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    Both the scalar value and the first two values of the vector +calculated by this compute are “intensive”. The other 4 vector values +are “extensive”.

    +
    +
    +

    Restrictions¶

    +

    The number of degrees of freedom contributing to the temperature is +assumed to be constant for the duration of the run unless the +fix_modify command sets the option dynamic yes.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_eff.html b/doc/compute_temp_eff.html index 3cc20e9db7..35fac9f0bb 100644 --- a/doc/compute_temp_eff.html +++ b/doc/compute_temp_eff.html @@ -1,100 +1,275 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/eff command -

    -

    Syntax: -

    -
    compute ID group-ID temp/eff 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/eff = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all temp/eff
    -compute myTemp mobile temp/eff 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/eff command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/eff
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/eff = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp/eff
    +compute myTemp mobile temp/eff
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model. A compute of this style can be used by commands that compute a -temperature, e.g. thermo_modify, fix -npt/eff, etc. -

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +temperature, e.g. thermo_modify, fix npt/eff, etc.

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2 for nuclei and sum of 1/2 (m v^2 + 3/4 m s^2) for electrons, where s includes the radial electron velocity contributions), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms (only total -number of nuclei in the eFF (see the pair_eff +number of nuclei in the eFF (see the pair_eff command) in the group, k = Boltzmann constant, and T = temperature. This expression is summed over all nuclear and electronic degrees of freedom, essentially by setting the kinetic contribution to the heat capacity to 3/2k (where only nuclei contribute). This subtlety is valid for temperatures well below the Fermi temperature, which for densities two to five times the density of liquid H2 ranges from -86,000 to 170,000 K. -

    -

    IMPORTANT NOTE: For eFF models, in order to override the default +86,000 to 170,000 K.

    +
    +

    Warning

    +

    For eFF models, in order to override the default temperature reported by LAMMPS in the thermodynamic quantities -reported via the thermo command, the user should apply a -thermo_modify command, as shown in the following -example: -

    -
    compute         effTemp all temp/eff
    -thermo_style    custom step etotal pe ke temp press 
    -thermo_modify   temp effTemp 
    -
    -

    A 6-component kinetic energy tensor is also calculated by this compute +reported via the thermo command, the user should apply a +thermo_modify command, as shown in the following +example:

    +
    +
    compute         effTemp all temp/eff
    +thermo_style    custom step etotal pe ke temp press
    +thermo_modify   temp effTemp
    +
    +
    +

    A 6-component kinetic energy tensor is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx * vy for the xy component, etc. For the eFF, -again, the radial electronic velocities are also considered. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +again, the radial electronic velocities are also considered.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    The scalar value calculated by this compute is "intensive", meaning it +thermostatting.

    +

    Output info:

    +

    The scalar value calculated by this compute is “intensive”, meaning it is independent of the number of atoms in the simulation. The vector -values are "extensive", meaning they scale with the number of atoms in -the simulation. -

    -

    Restrictions: -

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute temp/partial, compute -temp/region, compute -pressure -

    -

    Default: none -

    - +values are “extensive”, meaning they scale with the number of atoms in +the simulation.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_partial.html b/doc/compute_temp_partial.html index 5385c5bfae..937bf8f469 100644 --- a/doc/compute_temp_partial.html +++ b/doc/compute_temp_partial.html @@ -1,125 +1,287 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/partial command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/partial command -

    -

    compute temp/partial/cuda command -

    -

    Syntax: -

    -
    compute ID group-ID temp/partial xflag yflag zflag 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/partial = style name of this compute command -
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension -
    -

    Examples: -

    -
    compute newT flow temp/partial 1 1 0 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/partial command¶

    +
    +
    +

    compute temp/partial/cuda command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/partial xflag yflag zflag
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/partial = style name of this compute command
    • +
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension
    • +
    +
    +
    +

    Examples¶

    +
    compute newT flow temp/partial 1 1 0
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after excluding one or more velocity components. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix -temp/rescale, fix npt, etc. -

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. The calculation of KE excludes the x, y, or z dimensions if xflag, yflag, or zflag = 0. The dim parameter is adjusted to give the correct number of -degrees of freedom. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +degrees of freedom.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the calculation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of velocity components by this fix is essentially -computing the temperature after a "bias" has been removed from the +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of velocity components by this fix is essentially +computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +thermostatting.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp, compute -temp/region, compute -pressure -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_profile.html b/doc/compute_temp_profile.html index 1312ae63e6..e8ad060ae4 100644 --- a/doc/compute_temp_profile.html +++ b/doc/compute_temp_profile.html @@ -1,150 +1,254 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/profile command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/profile command -

    -

    Syntax: -

    -
    compute ID group-ID temp/profile xflag yflag zflag binstyle args 
    -
    -
    • ID, group-ID are documented in compute command - -
    • temp/profile = style name of this compute command - -
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension - -
    • binstyle = x or y or z or xy or yz or xz or xyz - -
        x arg = Nx
      -  y arg = Ny
      -  z arg = Nz
      -  xy args = Nx Ny
      -  yz args = Ny Nz
      -  xz args = Nx Nz
      -  xyz args = Nx Ny Nz
      -    Nx,Ny,Nz = number of velocity bins in x,y,z dimensions 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = out - -
        out value = tensor or bin 
      -
      - -
    -

    Examples: -

    -
    compute myTemp flow temp/profile 1 1 1 x 10
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/profile command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/profile xflag yflag zflag binstyle args
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/profile = style name of this compute command
    • +
    • xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension
    • +
    • binstyle = x or y or z or xy or yz or xz or xyz
    • +
    +
    +x arg = Nx
    +  y arg = Ny
    +  z arg = Nz
    +  xy args = Nx Ny
    +  yz args = Ny Nz
    +  xz args = Nx Nz
    +  xyz args = Nx Ny Nz
    +    Nx,Ny,Nz = number of velocity bins in x,y,z dimensions
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = out
    • +
    +
    +out value = tensor or bin
    +
    +
    +
    +

    Examples¶

    +
    compute myTemp flow temp/profile 1 1 1 x 10
     compute myTemp flow temp/profile 1 1 1 x 10 out bin
    -compute myTemp flow temp/profile 0 1 1 xyz 20 20 20 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of +compute myTemp flow temp/profile 0 1 1 xyz 20 20 20 +

    + + +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out a spatially-averaged center-of-mass velocity field, before computing the kinetic energy. This can be useful for thermostatting a collection of atoms undergoing a complex flow, e.g. via a profile-unbiased thermostat (PUT) as described in -(Evans). A compute of this style can be used by any command -that computes a temperature, e.g. thermo_modify, -fix temp/rescale, fix npt, etc. -

    -

    The xflag, yflag, zflag settings determine which components of -average velocity are subtracted out. -

    -

    The binstyle setting and its Nx, Ny, Nz arguments determine -how bins are setup to perform spatial averaging. "Bins" can be 1d -slabs, 2d pencils, or 3d bricks depending on which binstyle is used. -The simulation box is partitioned conceptually into Nx by Ny by -Nz bins. Depending on the binstyle, you may only specify one or +(Evans). A compute of this style can be used by any command +that computes a temperature, e.g. thermo_modify, +fix temp/rescale, fix npt, etc.

    +

    The xflag, yflag, zflag settings determine which components of +average velocity are subtracted out.

    +

    The binstyle setting and its Nx, Ny, Nz arguments determine +how bins are setup to perform spatial averaging. “Bins” can be 1d +slabs, 2d pencils, or 3d bricks depending on which binstyle is used. +The simulation box is partitioned conceptually into Nx by Ny by +Nz bins. Depending on the binstyle, you may only specify one or two of these values; the others are effectively set to 1 (no binning in that dimension). For non-orthogonal (triclinic) simulation boxes, -the bins are "tilted" slabs or pencils or bricks that are parallel to -the tilted faces of the box. See the region prism -command for a discussion of the geometry of tilted boxes in LAMMPS. -

    -

    When a temperature is computed, the center-of-mass velocity for the +the bins are “tilted” slabs or pencils or bricks that are parallel to +the tilted faces of the box. See the region prism +command for a discussion of the geometry of tilted boxes in LAMMPS.

    +

    When a temperature is computed, the center-of-mass velocity for the set of atoms that are both in the compute group and in the same spatial bin is calculated. This bias velocity is then subtracted from the velocities of individual atoms in the bin to yield a thermal velocity for each atom. Note that if there is only one atom in the -bin, its thermal velocity will thus be 0.0. -

    -

    After the spatially-averaged velocity field has been subtracted from +bin, its thermal velocity will thus be 0.0.

    +

    After the spatially-averaged velocity field has been subtracted from each atom, the temperature is calculated by the formula KE = (dim/2 N - dim*Nx*Ny*Nz) k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom subtracted to adjust for the removal of the center-of-mass velocity in -each of Nx*Ny*Nz bins, as discussed in the (Evans) paper. -

    -

    If the out keyword is used with a tensor value, which is the +each of Nx*Ny*Nz bins, as discussed in the (Evans) paper.

    +

    If the out keyword is used with a tensor value, which is the default, a kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, -yy, zz, xy, xz, yz. -

    -

    If the out keyword is used with a bin value, the count of atoms +yy, zz, xy, xz, yz.

    +

    If the out keyword is used with a bin value, the count of atoms and computed temperature for each bin are stored for output, as an array of values, as described below. The temperature of each bin is calculated as described above, where the bias velocity is subtracted and only the remaining thermal velocity of atoms in the bin contributes to the temperature. See the note below for how the temperature is normalized by the degrees-of-freedom of atoms in the -bin. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of the spatially-averaged velocity field by this fix is -essentially computing the temperature after a "bias" has been removed +bin.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of the spatially-averaged velocity field by this fix is +essentially computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    IMPORTANT NOTE: When using the out keyword with a value of bin, +extra option of the compute_modify command.

    +
    +

    Warning

    +

    When using the out keyword with a value of bin, the calculated temperature for each bin does not include the degrees-of-freedom adjustment described in the preceeding paragraph, for fixes that constrain molecular motion. It does include the -adjustment due to the extra option, which is applied to each bin. -

    -

    See this howto section of the manual for +adjustment due to the extra option, which is applied to each bin.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a -profile-unbiased thermostat (PUT), as described in (Evans). -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature). Depending -on the setting of the out keyword, it also calculates a global -vector or array. For out = tensor, it calculates a vector of -length 6 (KE tensor), which can be accessed by indices 1-6. For out -= bin it calculates a global array which has 2 columns and N rows, +profile-unbiased thermostat (PUT), as described in (Evans).

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature). Depending +on the setting of the out keyword, it also calculates a global +vector or array. For out = tensor, it calculates a vector of +length 6 (KE tensor), which can be accessed by indices 1-6. For out += bin it calculates a global array which has 2 columns and N rows, where N is the number of bins. The first column contains the number of atoms in that bin. The second contains the temperature of that bin, calculated as described above. The ordering of rows in the array @@ -152,44 +256,97 @@ is as follows. Bins in x vary fastest, then y, then z. Thus for a 10x10x10 3d array of bins, there will be 1000 rows. The bin with indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 + ix = 322, where the rows are numbered from 1 to 1000 and the bin -indices are numbered from 1 to 10 in each dimension. -

    -

    These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". The array values are "intensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. The first column +indices are numbered from 1 to 10 in each dimension.

    +

    These values can be used by any command that uses global scalar or +vector or array values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”. The array values are “intensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units. The first column of array values are counts; the values in the second column will be in -temperature units. -

    -

    Restrictions: -

    -

    You should not use too large a velocity-binning grid, especially in +temperature units.

    +
    +
    +

    Restrictions¶

    +

    You should not use too large a velocity-binning grid, especially in 3d. In the current implementation, the binned velocity averages are summed across all processors, so this will be inefficient if the grid is too large, and the operation is performed every timestep, as it -will be for most thermostats. -

    -

    Related commands: -

    -

    compute temp, compute -temp/ramp, compute -temp/deform, compute -pressure -

    -

    Default: -

    -

    The option default is out = tensor. -

    -
    +will be for most thermostats.

    +
    + +
    +

    Default¶

    +

    The option default is out = tensor.

    +
    +

    (Evans) Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986).

    +
    + - -

    (Evans) Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_ramp.html b/doc/compute_temp_ramp.html index 686ad9cd61..fbca8be99a 100644 --- a/doc/compute_temp_ramp.html +++ b/doc/compute_temp_ramp.html @@ -1,122 +1,290 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/ramp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/ramp command -

    -

    Syntax: -

    -
    compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/ramp = style name of this compute command -
    • vdim = vx or vy or vz -
    • vlo,vhi = subtract velocities between vlo and vhi (velocity units) -
    • dim = x or y or z -
    • clo,chi = lower and upper bound of domain to subtract from (distance units) -
    • zero or more keyword/value pairs may be appended -
    • keyword = units -
    -
      units value = lattice or box 
    -
    -

    Examples: -

    -
    compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/ramp command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/ramp = style name of this compute command
    • +
    • vdim = vx or vy or vz
    • +
    • vlo,vhi = subtract velocities between vlo and vhi (velocity units)
    • +
    • dim = x or y or z
    • +
    • clo,chi = lower and upper bound of domain to subtract from (distance units)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units
    • +
    +
    +units value = lattice or box
    +
    +
    +
    +

    Examples¶

    +
    compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out an ramped velocity profile before computing the kinetic energy. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix -temp/rescale, fix npt, etc. -

    -

    The meaning of the arguments for this command which define the -velocity ramp are the same as for the velocity ramp -command which was presumably used to impose the velocity. -

    -

    After the ramp velocity has been subtracted from the specified +e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    +

    The meaning of the arguments for this command which define the +velocity ramp are the same as for the velocity ramp +command which was presumably used to impose the velocity.

    +

    After the ramp velocity has been subtracted from the specified dimension for each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in the group, k = Boltzmann constant, -and T = temperature. -

    -

    The units keyword determines the meaning of the distance units used -for coordinates (c1,c2) and velocities (vlo,vhi). A box value -selects standard distance units as defined by the units -command, e.g. Angstroms for units = real or metal. A lattice value +and T = temperature.

    +

    The units keyword determines the meaning of the distance units used +for coordinates (c1,c2) and velocities (vlo,vhi). A box value +selects standard distance units as defined by the units +command, e.g. Angstroms for units = real or metal. A lattice value means the distance units are in lattice spacings; e.g. velocity = -lattice spacings / tau. The lattice command must have -been previously used to define the lattice spacing. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +lattice spacings / tau. The lattice command must have +been previously used to define the lattice spacing.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of the ramped velocity component by this fix is -essentially computing the temperature after a "bias" has been removed +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of the ramped velocity component by this fix is +essentially computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp, compute -temp/profie, compute -temp/deform, compute -pressure -

    -

    Default: -

    -

    The option default is units = lattice. -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option default is units = lattice.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_region.html b/doc/compute_temp_region.html index 06a5250926..7662655e9f 100644 --- a/doc/compute_temp_region.html +++ b/doc/compute_temp_region.html @@ -1,113 +1,280 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/region command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/region command -

    -

    Syntax: -

    -
    compute ID group-ID temp/region region-ID 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/region = style name of this compute command -
    • region-ID = ID of region to use for choosing atoms -
    -

    Examples: -

    -
    compute mine flow temp/region boundary 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/region command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/region region-ID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/region = style name of this compute command
    • +
    • region-ID = ID of region to use for choosing atoms
    • +
    +
    +
    +

    Examples¶

    +
    compute mine flow temp/region boundary
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms in a geometric region. This can be useful for thermostatting one portion of the simulation box. E.g. a McDLT simulation where one side is cooled, and the other side is heated. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix -temp/rescale, etc. -

    -

    Note that a region-style temperature can be used to thermostat with -fix temp/rescale or fix -langevin, but should probably not be used with -Nose/Hoover style fixes (fix nvt, fix -npt, or fix nph), if the -degrees-of-freedom included in the computed T varies with time. -

    -

    The temperature is calculated by the formula KE = dim/2 N k T, where +e.g. thermo_modify, fix temp/rescale, etc.

    +

    Note that a region-style temperature can be used to thermostat with +fix temp/rescale or fix langevin, but should probably not be used with +Nose/Hoover style fixes (fix nvt, fix npt, or fix nph), if the +degrees-of-freedom included in the computed T varies with time.

    +

    The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms in both the group and region, k = Boltzmann constant, and T = -temperature. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +temperature.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is calculated each +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed atoms can -enter/leave the region. Thus there is no need to use the dynamic -option of the compute_modify command for this -compute style. -

    -

    The removal of atoms outside the region by this fix is essentially -computing the temperature after a "bias" has been removed, which in +enter/leave the region. Thus there is no need to use the dynamic +option of the compute_modify command for this +compute style.

    +

    The removal of atoms outside the region by this fix is essentially +computing the temperature after a “bias” has been removed, which in this case is the velocity of any atoms outside the region. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes that work in this way include -fix nvt, fix temp/rescale, fix -temp/berendsen, and fix -langevin. This means any of the thermostatting +fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. This means any of the thermostatting fixes can operate on a geometric region of atoms, as defined by this -compute. -

    -

    Unlike other compute styles that calculate temperature, this compute +compute.

    +

    Unlike other compute styles that calculate temperature, this compute does not subtract out degrees-of-freedom due to fixes that constrain -motion, such as fix shake and fix -rigid. This is because those degrees of freedom +motion, such as fix shake and fix rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that straddle the region boundary, and hence the concept is somewhat ill-defined. If needed the number of subtracted degrees-of-freedom can be set -explicitly using the extra option of the -compute_modify command. -

    -

    See this howto section of the manual for +explicitly using the extra option of the +compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp, compute -pressure -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_region_eff.html b/doc/compute_temp_region_eff.html index e4e84b9e8c..c038d9d7be 100644 --- a/doc/compute_temp_region_eff.html +++ b/doc/compute_temp_region_eff.html @@ -1,69 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/region/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/region/eff command -

    -

    Syntax: -

    -
    compute ID group-ID temp/region/eff region-ID 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/region/eff = style name of this compute command -
    • region-ID = ID of region to use for choosing atoms -
    -

    Examples: -

    -
    compute mine flow temp/region/eff boundary 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of -nuclei and electrons in the electron force field + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/region/eff command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/region/eff region-ID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/region/eff = style name of this compute command
    • +
    • region-ID = ID of region to use for choosing atoms
    • +
    +
    +
    +

    Examples¶

    +
    compute mine flow temp/region/eff boundary
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of +nuclei and electrons in the electron force field model, within a geometric region using the electron force field. A compute of this style can be used by commands that compute a -temperature, e.g. thermo_modify. -

    -

    The operation of this compute is exactly like that described by the -compute temp/region command, except that +temperature, e.g. thermo_modify.

    +

    The operation of this compute is exactly like that described by the +compute temp/region command, except that the formula for the temperature itself includes the radial electron -velocity contributions, as discussed by the compute -temp/eff command. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +velocity contributions, as discussed by the compute temp/eff command.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute temp/region, compute -temp/eff, compute -pressure -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_rotate.html b/doc/compute_temp_rotate.html index cbd3a31042..12a91c06bd 100644 --- a/doc/compute_temp_rotate.html +++ b/doc/compute_temp_rotate.html @@ -1,101 +1,268 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/rotate command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/rotate command -

    -

    Syntax: -

    -
    compute ID group-ID temp/rotate 
    -
    -
    • ID, group-ID are documented in compute command -
    • temp/rotate = style name of this compute command -
    -

    Examples: -

    -
    compute Tbead bead temp/rotate 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute temp/rotate command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID temp/rotate
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • temp/rotate = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute Tbead bead temp/rotate
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of atoms, after subtracting out the center-of-mass velocity and angular velocity of the group. This is useful if the group is expected to have a non-zero net velocity and/or global rotation motion for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. thermo_modify, fix -temp/rescale, fix npt, etc. -

    -

    After the center-of-mass velocity and angular velocity has been subtracted from each atom, +e.g. thermo_modify, fix temp/rescale, fix npt, etc.

    +

    After the center-of-mass velocity and angular velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +in the group, k = Boltzmann constant, and T = temperature.

    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute for use in the computation of a pressure tensor. The formula for the components of the tensor is the same as the above formula, except that v^2 is replaced by vx*vy for the xy component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    The removal of the center-of-mass velocity and angular velocity by this fix is essentially -computing the temperature after a "bias" has been removed from the +zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    The removal of the center-of-mass velocity and angular velocity by this fix is essentially +computing the temperature after a “bias” has been removed from the velocity of the atoms. If this compute is used with a fix command that performs thermostatting then this bias will be subtracted from each atom, thermostatting of the remaining thermal velocity will be performed, and the bias will be added back in. Thermostatting fixes -that work in this way include fix nvt, fix -temp/rescale, fix -temp/berendsen, and fix -langevin. -

    -

    This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as fix shake and -fix rigid. This means the temperature of groups of +that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin.

    +

    This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -extra option of the compute_modify command. -

    -

    See this howto section of the manual for +extra option of the compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +thermostatting.

    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute temp -

    -

    Default: none -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_temp_sphere.html b/doc/compute_temp_sphere.html index dcbfd9a28a..c08fa3f9a8 100644 --- a/doc/compute_temp_sphere.html +++ b/doc/compute_temp_sphere.html @@ -1,147 +1,312 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute temp/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute temp/sphere command -

    -

    Syntax: -

    -
    compute ID group-ID temp/sphere keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • temp/sphere = style name of this compute command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = bias or dof - -
        bias value = bias-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute temp/sphere command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID temp/sphere keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • temp/sphere = style name of this compute command
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = bias or dof
      • +
      +
      +bias value = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias
      -  dof value = all or rotate
      +  dof value = all or rotate
           all = compute temperature of translational and rotational degrees of freedom
      -    rotate = compute temperature of just rotational degrees of freedom 
      -
      - -
    -

    Examples: -

    -
    compute 1 all temp/sphere
    +    rotate = compute temperature of just rotational degrees of freedom
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all temp/sphere
     compute myTemp mobile temp/sphere bias tempCOM
    -compute myTemp mobile temp/sphere dof rotate 
    -
    -

    Description: -

    -

    Define a computation that calculates the temperature of a group of +compute myTemp mobile temp/sphere dof rotate +

    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the temperature of a group of spherical particles, including a contribution from both their translational and rotational kinetic energy. This differs from the -usual compute temp command, which assumes point -particles with only translational kinetic energy. -

    -

    Both point and finite-size particles can be included in the group. +usual compute temp command, which assumes point +particles with only translational kinetic energy.

    +

    Both point and finite-size particles can be included in the group. Point particles do not rotate, so they have only 3 translational degrees of freedom. For 3d spherical particles, each has 6 degrees of freedom (3 translational, 3 rotational). For 2d spherical particles, -each has 3 degrees of freedom (2 translational, 1 rotational). -

    -

    IMPORTANT NOTE: This choice for degrees of freedom (dof) assumes that +each has 3 degrees of freedom (2 translational, 1 rotational).

    +
    +

    Warning

    +

    This choice for degrees of freedom (dof) assumes that all finite-size spherical particles in your model will freely rotate, sampling all their rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the -compute_modify extra command to adjust the dof -accordingly. -

    -

    The translational kinetic energy is computed the same as is described -by the compute temp command. The rotational +compute_modify extra command to adjust the dof +accordingly.

    +
    +

    The translational kinetic energy is computed the same as is described +by the compute temp command. The rotational kinetic energy is computed as 1/2 I w^2, where I is the moment of -inertia for a sphere and w is the particle's angular velocity. -

    -

    IMPORTANT NOTE: For 2d models, particles are treated +inertia for a sphere and w is the particle’s angular velocity.

    +
    +

    Warning

    +

    For 2d models, particles are treated as spheres, not disks, meaning their moment of inertia will be the -same as in 3d. -

    -

    A kinetic energy tensor, stored as a 6-element vector, is also +same as in 3d.

    +
    +

    A kinetic energy tensor, stored as a 6-element vector, is also calculated by this compute. The formula for the components of the tensor is the same as the above formulas, except that v^2 and w^2 are replaced by vx*vy and wx*wy for the xy component. The 6 components of -the vector are ordered xx, yy, zz, xy, xz, yz. -

    -

    The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the dynamic option of the -compute_modify command if this is not the case. -

    -

    This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as fix -shake and fix rigid. This means the +the vector are ordered xx, yy, zz, xy, xz, yz.

    +

    The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case.

    +

    This compute subtracts out translational degrees-of-freedom due to +fixes that constrain molecular motion, such as fix shake and fix rigid. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the extra option of the -compute_modify command. -

    -

    See this howto section of the manual for +be altered using the extra option of the +compute_modify command.

    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    For the bias keyword, bias-ID refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This allows +thermostatting.

    +
    +

    The keyword/value option pairs are used in the following ways.

    +

    For the bias keyword, bias-ID refers to the ID of a temperature +compute that removes a “bias” velocity from each atom. This allows compute temp/sphere to compute its thermal temperature after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. Thermostats that use this compute will work with this bias term. See the doc pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details. -

    -

    For the dof keyword, a setting of all calculates a temperature +pages for fixes that perform thermostatting for more details.

    +

    For the dof keyword, a setting of all calculates a temperature that includes both translational and rotational degrees of freedom. A -setting of rotate calculates a temperature that includes only -rotational degrees of freedom. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar (the temperature) and a global +setting of rotate calculates a temperature that includes only +rotational degrees of freedom.

    +
    +

    Output info:

    +

    This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "intensive". The -vector values are "extensive". -

    -

    The scalar value will be in temperature units. The -vector values will be in energy units. -

    -

    Restrictions: -

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. -

    -

    All particles in the group must be finite-size spheres, or point -particles with radius = 0.0. -

    -

    Related commands: -

    -

    compute temp, compute -temp/asphere -

    -

    Default: -

    -

    The option defaults are no bias and dof = all. -

    - +vector values from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “intensive”. The +vector values are “extensive”.

    +

    The scalar value will be in temperature units. The +vector values will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command.

    +

    All particles in the group must be finite-size spheres, or point +particles with radius = 0.0.

    +
    + +
    +

    Default¶

    +

    The option defaults are no bias and dof = all.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_ti.html b/doc/compute_ti.html index 5a7ef6e1ed..7cf0799669 100644 --- a/doc/compute_ti.html +++ b/doc/compute_ti.html @@ -1,148 +1,307 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute ti command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute ti command -

    -

    Syntax: -

    -
    compute ID group ti keyword args ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • ti = style name of this compute command - -
    • one or more attribute/arg pairs may be appended - -
    • keyword = pair style (lj/cut, gauss, born, etc) or tail or kspace - -
        pair style args = atype v_name1 v_name2
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute ti command¶

      +
      +

      Syntax¶

      +
      compute ID group ti keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • ti = style name of this compute command
      • +
      • one or more attribute/arg pairs may be appended
      • +
      • keyword = pair style (lj/cut, gauss, born, etc) or tail or kspace
      • +
      +
      +pair style args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is energy scale factor and function of lambda
           v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
      -  tail args = atype v_name1 v_name2
      +  tail args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda
           v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
      -  kspace args = atype v_name1 v_name2
      +  kspace args = atype v_name1 v_name2
           atype = atom type (see asterisk form below)
           v_name1 = variable with name1 that is K-Space scale factor and function of lambda
      -    v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda 
      -
      - -
    -

    Examples: -

    -
    compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
    -compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks 
    -
    -

    Description: -

    -

    Define a computation that calculates the derivative of the interaction -potential with respect to lambda, the coupling parameter used in a + v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda + +

    +
    +

    Examples¶

    +
    compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
    +compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the derivative of the interaction +potential with respect to lambda, the coupling parameter used in a thermodynamic integration. This derivative can be used to infer a free energy difference resulting from an alchemical simulation, as -described in Eike. -

    -

    Typically this compute will be used in conjunction with the fix -adapt command which can perform alchemical +described in Eike.

    +

    Typically this compute will be used in conjunction with the fix adapt command which can perform alchemical transformations by adusting the strength of an interaction potential as a simulation runs, as defined by one or more -pair_style or kspace_style +pair_style or kspace_style commands. This scaling is done via a prefactor on the energy, forces, virial calculated by the pair or K-Space style. The prefactor is -often a function of a lambda parameter which may be adjusted from 0 -to 1 (or vice versa) over the course of a run. The -time-dependent adjustment is what the fix adapt -command does. -

    -

    Assume that the unscaled energy of a pair_style or kspace_style is -given by U. Then the scaled energy is -

    -
    Us = f(lambda) U 
    -
    -

    where f() is some function of lambda. What this compute calculates is -

    -
    dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda 
    -
    -

    which is the derivative of the system's scaled potential energy Us -with respect to lambda. -

    -

    To perform this calculation, you provide one or more atom types as -atype. Atype can be specified in one of two ways. An explicit +often a function of a lambda parameter which may be adjusted from 0 +to 1 (or vice versa) over the course of a run. The +time-dependent adjustment is what the fix adapt +command does.

    +

    Assume that the unscaled energy of a pair_style or kspace_style is +given by U. Then the scaled energy is

    +
    Us = f(lambda) U
    +
    +
    +

    where f() is some function of lambda. What this compute calculates is

    +
    dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda
    +
    +
    +

    which is the derivative of the system’s scaled potential energy Us +with respect to lambda.

    +

    To perform this calculation, you provide one or more atom types as +atype. Atype can be specified in one of two ways. An explicit numeric values can be used, as in the 1st example above. Or a wildcard asterisk can be used in place of or in conjunction with the -atype argument to select multiple atom types. This takes the form -"*" or "*n" or "n*" or "m*n". If N = the number of atom types, then +atype argument to select multiple atom types. This takes the form +“*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). -

    -

    You also specify two functions, as equal-style -variables. The first is specified as v_name1, where -name1 is the name of the variable, and is f(lambda) in the notation -above. The second is specified as v_name2, where name2 is the +means all types from m to n (inclusive).

    +

    You also specify two functions, as equal-style variables. The first is specified as v_name1, where +name1 is the name of the variable, and is f(lambda) in the notation +above. The second is specified as v_name2, where name2 is the name of the variable, and is df(lambda) / dlambda in the notation above. I.e. it is the analytic derivative of f() with respect to -lambda. Note that the name1 variable is also typically given as an -argument to the fix adapt command. -

    -

    An alchemical simulation may use several pair potentials together, -invoked via the pair_style hybrid or hybrid/overlay +lambda. Note that the name1 variable is also typically given as an +argument to the fix adapt command.

    +

    An alchemical simulation may use several pair potentials together, +invoked via the pair_style hybrid or hybrid/overlay command. The total dUs/dlambda for the overall system is calculated as the sum of each contributing term as listed by the keywords in the compute ti command. Individual pair potentials can be listed, which will be sub-styles in the hybrid case. You can also include a K-space -term via the kspace keyword. You can also include a pairwise -long-range tail correction to the energy via the tail keyword. -

    -

    For each term you can specify a different (or the same) scale factor +term via the kspace keyword. You can also include a pairwise +long-range tail correction to the energy via the tail keyword.

    +

    For each term you can specify a different (or the same) scale factor by the two variables that you list. Again, these will typically correspond toe the scale factors applied to these various potentials -and the K-Space contribution via the fix_adapt -command. -

    -

    More details about the exact functional forms for the computation of -du/dl can be found in the paper by Eike. -

    -
    - -

    Output info: -

    -

    This compute calculates a global scalar, namely dUs/dlambda. This +and the K-Space contribution via the fix_adapt +command.

    +

    More details about the exact functional forms for the computation of +du/dl can be found in the paper by Eike.

    +
    +

    Output info:

    +

    This compute calculates a global scalar, namely dUs/dlambda. This value can be used by any command that uses a global scalar value from -a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The scalar value calculated by this compute is "extensive". -

    -

    The scalar value will be in energy units. -

    -

    Restrictions: -

    -

    This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix adapt -

    -

    Default: none -

    -
    +a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The scalar value calculated by this compute is “extensive”.

    +

    The scalar value will be in energy units.

    +
    +
    +

    Restrictions¶

    +

    This compute is part of the MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Eike) Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_torque_chunk.html b/doc/compute_torque_chunk.html index 593397646d..918f60d3ca 100644 --- a/doc/compute_torque_chunk.html +++ b/doc/compute_torque_chunk.html @@ -1,92 +1,269 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute torque/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute torque/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID torque/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • torque/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid torque/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the torque on multiple chunks of -atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute torque/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID torque/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • torque/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid torque/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the torque on multiple chunks of +atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the 3 components of the torque vector for eqch +a system.

    +

    This compute calculates the 3 components of the torque vector for eqch chunk, due to the forces on the individual atoms in the chunk around the center-of-mass of the chunk. The calculation includes all effects -due to atoms passing thru periodic boundaries. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +due to atoms passing thru periodic boundaries.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    IMPORTANT NOTE: The coordinates of an atom contribute to the chunk's -torque in "unwrapped" form, by using the image flags associated with -each atom. See the dump custom command for a discussion -of "unwrapped" coordinates. See the Atoms section of the -read_data command for a discussion of image flags and +“all” group for this command if you simply want to include atoms with +non-zero chunk IDs.

    +
    +

    Warning

    +

    The coordinates of an atom contribute to the chunk’s +torque in “unwrapped” form, by using the image flags associated with +each atom. See the dump custom command for a discussion +of “unwrapped” coordinates. See the Atoms section of the +read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the set -image command. -

    -

    The simplest way to output the results of the compute torque/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +(e.g. to 0) before invoking this compute by using the set image command.

    +
    +

    The simplest way to output the results of the compute torque/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all torque/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 3 for the 3 xyz components of the torque for each chunk. These values can be accessed by any command that uses global array values from a -compute as input. See Section_howto 15 -for an overview of LAMMPS output options. -

    -

    The array values are "intensive". The array values will be in -force-distance units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable torque() function -

    -

    Default: none -

    - +compute as input. See Section_howto 15 +for an overview of LAMMPS output options.

    +

    The array values are “intensive”. The array values will be in +force-distance units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_vacf.html b/doc/compute_vacf.html index 12a3411eec..07f63e0870 100644 --- a/doc/compute_vacf.html +++ b/doc/compute_vacf.html @@ -1,76 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute vacf command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute vacf command -

    -

    Syntax: -

    -
    compute ID group-ID vacf 
    -
    -
    • ID, group-ID are documented in compute command -
    • vacf = style name of this compute command -
    -

    Examples: -

    -
    compute 1 all vacf
    -compute 1 upper vacf 
    -
    -

    Description: -

    -

    Define a computation that calculates the velocity auto-correlation -function (VACF), averaged over a group of atoms. Each atom's + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute vacf command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID vacf
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • vacf = style name of this compute command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 all vacf
    +compute 1 upper vacf
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the velocity auto-correlation +function (VACF), averaged over a group of atoms. Each atom’s contribution to the VACF is its current velocity vector dotted into -its initial velocity vector at the time the compute was specified. -

    -

    A vector of four quantites is calculated by this compute. The first 3 +its initial velocity vector at the time the compute was specified.

    +

    A vector of four quantites is calculated by this compute. The first 3 elements of the vector are vx * vx0 (and similarly for the y and z components), summed and averaged over atoms in the group. Vx is the current x-component of velocity for the atom, vx0 is the initial x-component of velocity for the atom. The 4th element of the vector is the total VACF, i.e. (vx*vx0 + vy*vy0 + vz*vz0), summed and -averaged over atoms in the group. -

    -

    The integral of the VACF versus time is proportional to the diffusion +averaged over atoms in the group.

    +

    The integral of the VACF versus time is proportional to the diffusion coefficient of the diffusing atoms. This can be computed in the -following manner, using the variable trap() function: -

    -
    compute         2 all vacf
    +following manner, using the variable trap() function:

    +
    compute         2 all vacf
     fix             5 all vector 1 c_2[4]
     variable        diff equal dt*trap(f_5)
    -thermo_style    custom step v_diff 
    -
    -

    IMPORTANT NOTE: If you want the quantities calculated by this compute -to be continuous when running from a restart file, +thermo_style custom step v_diff +

    +
    +
    +

    Warning

    +

    If you want the quantities calculated by this compute +to be continuous when running from a restart file, then you should use the same ID for this compute, as in the original run. This is so that the fix this compute creates to store per-atom quantities will also have the same ID, and thus be initialized -correctly with time=0 atom velocities from the restart file. -

    -

    Output info: -

    -

    This compute calculates a global vector of length 4, which can be +correctly with time=0 atom velocities from the restart file.

    +
    +

    Output info:

    +

    This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See this -section for an overview of LAMMPS output -options. -

    -

    The vector values are "intensive". The vector values will be in -velocity^2 units. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute msd -

    -

    Default: none -

    - +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    The vector values are “intensive”. The vector values will be in +velocity^2 units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_vcm_chunk.html b/doc/compute_vcm_chunk.html index 8c23af9a58..346f67ce6a 100644 --- a/doc/compute_vcm_chunk.html +++ b/doc/compute_vcm_chunk.html @@ -1,82 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute vcm/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute vcm/chunk command -

    -

    Syntax: -

    -
    compute ID group-ID vcm/chunk chunkID 
    -
    -
    • ID, group-ID are documented in compute command -
    • vcm/chunk = style name of this compute command -
    • chunkID = ID of compute chunk/atom command -
    -

    Examples: -

    -
    compute 1 fluid vcm/chunk molchunk 
    -
    -

    Description: -

    -

    Define a computation that calculates the center-of-mass velocity for -multiple chunks of atoms. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    compute vcm/chunk command¶

    +
    +

    Syntax¶

    +
    compute ID group-ID vcm/chunk chunkID
    +
    +
    +
      +
    • ID, group-ID are documented in compute command
    • +
    • vcm/chunk = style name of this compute command
    • +
    • chunkID = ID of compute chunk/atom command
    • +
    +
    +
    +

    Examples¶

    +
    compute 1 fluid vcm/chunk molchunk
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the center-of-mass velocity for +multiple chunks of atoms.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    This compute calculates the x,y,z components of the center-of-mass +a system.

    +

    This compute calculates the x,y,z components of the center-of-mass velocity for each chunk. This is done by summing mass*velocity for each atom in the chunk and dividing the sum by the total mass of the -chunk. -

    -

    Note that only atoms in the specified group contribute to the -calculation. The compute chunk/atom command +chunk.

    +

    Note that only atoms in the specified group contribute to the +calculation. The compute chunk/atom command defines its own group; atoms will have a chunk ID = 0 if they are not in that group, signifying they are not assigned to a chunk, and will thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. -

    -

    The simplest way to output the results of the compute vcm/chunk -calculation to a file is to use the fix ave/time -command, for example: -

    -
    compute cc1 all chunk/atom molecule
    +“all” group for this command if you simply want to include atoms with
    +non-zero chunk IDs.

    +

    The simplest way to output the results of the compute vcm/chunk +calculation to a file is to use the fix ave/time +command, for example:

    +
    compute cc1 all chunk/atom molecule
     compute myChunk all vcm/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector 
    -
    -

    Output info: -

    -

    This compute calculates a global array where the number of rows = the -number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The number of columns = +fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector +

    +
    +

    Output info:

    +

    This compute calculates a global array where the number of rows = the +number of chunks Nchunk as calculated by the specified compute chunk/atom command. The number of columns = 3 for the x,y,z center-of-mass velocity coordinates of each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The array values are "intensive". The array values will be in -velocity units. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The array values are “intensive”. The array values will be in +velocity units.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_voronoi_atom.html b/doc/compute_voronoi_atom.html index ea7f0fb50c..5e8d8e2b5a 100644 --- a/doc/compute_voronoi_atom.html +++ b/doc/compute_voronoi_atom.html @@ -1,98 +1,208 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute voronoi/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute voronoi/atom command -

    -

    Syntax: -

    -
    compute ID group-ID voronoi/atom keyword arg ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • voronoi/atom = style name of this compute command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = only_group or surface or radius or edge_histo or edge_threshold or face_threshold - -
        only_group = no arg
      -  occupation = no arg
      -  surface arg = sgroup-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute voronoi/atom command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID voronoi/atom keyword arg ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • voronoi/atom = style name of this compute command
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = only_group or surface or radius or edge_histo or edge_threshold or face_threshold
      • +
      +
      +only_group = no arg
      +  occupation = no arg
      +  surface arg = sgroup-ID
           sgroup-ID = compute the dividing surface between group-ID and sgroup-ID
             this keyword adds a third column to the compute output
      -  radius arg = v_r
      +  radius arg = v_r
           v_r = radius atom style variable for a poly-disperse Voronoi tessellation
      -  edge_histo arg = maxedge
      -    maxedge = maximum number of Voronoi cell edges to be accounted in the histogram 
      -  edge_threshold arg = minlength
      +  edge_histo arg = maxedge
      +    maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
      +  edge_threshold arg = minlength
           minlength = minimum length for an edge to be counted
      -  face_threshold arg = minarea
      -    minarea = minimum area for a face to be counted 
      -
      - -
    -

    Examples: -

    -
    compute 1 all voronoi/atom
    +  face_threshold arg = minarea
    +    minarea = minimum area for a face to be counted
    +
    +
    +
    +

    Examples¶

    +
    compute 1 all voronoi/atom
     compute 2 precipitate voronoi/atom surface matrix
    -compute 3b precipitate voronoi/atom radius v_r 
    -compute 4 solute voronoi/atom only_group 
    -
    -
    compute 5 defects voronoi/atom occupation 
    -
    -

    Description: -

    -

    Define a computation that calculates the Voronoi tessellation of the +compute 3b precipitate voronoi/atom radius v_r +compute 4 solute voronoi/atom only_group +

    +
    +
    compute 5 defects voronoi/atom occupation
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates the Voronoi tessellation of the atoms in the simulation box. The tessellation is calculated using all atoms in the simulation, but non-zero values are only stored for atoms -in the group. -

    -

    By default two quantities per atom are calculated by this compute. +in the group.

    +

    By default two quantities per atom are calculated by this compute. The first is the volume of the Voronoi cell around each atom. Any -point in an atom's Voronoi cell is closer to that atom than any other. +point in an atom’s Voronoi cell is closer to that atom than any other. The second is the number of faces of the Voronoi cell, which is also -the number of nearest neighbors of the atom in the middle of the cell. -

    -
    - -

    If the only_group keyword is specified the tessellation is performed +the number of nearest neighbors of the atom in the middle of the cell.

    +
    +

    If the only_group keyword is specified the tessellation is performed only with respect to the atoms contained in the compute group. This is equivalent to deleting all atoms not contained in the group prior to -evaluating the tessellation. -

    -

    If the surface keyword is specified a third quantity per atom is -computed: the Voronoi cell surface of the given atom. surface takes -a group ID as an argument. If a group other than all is specified, +evaluating the tessellation.

    +

    If the surface keyword is specified a third quantity per atom is +computed: the Voronoi cell surface of the given atom. surface takes +a group ID as an argument. If a group other than all is specified, only the Voronoi cell facets facing a neighbor atom from the specified -group are counted towards the surface area. -

    -

    In the example above, a precipitate embedded in a matrix, only atoms +group are counted towards the surface area.

    +

    In the example above, a precipitate embedded in a matrix, only atoms at the surface of the precipitate will have non-zero surface area, and only the outward facing facets of the Voronoi cells are counted (the hull of the precipitate). The total surface area of the precipitate -can be obtained by running a "reduce sum" compute on c_2[3] -

    -

    If the radius keyword is specified with an atom style variable as +can be obtained by running a “reduce sum” compute on c_2[3]

    +

    If the radius keyword is specified with an atom style variable as the argument, a poly-disperse Voronoi tessellation is -performed. Examples for radius variables are -

    -
    variable r1 atom (type==1)*0.1+(type==2)*0.4
    +performed. Examples for radius variables are

    +
    variable r1 atom (type==1)*0.1+(type==2)*0.4
     compute radius all property/atom radius
    -variable r2 atom c_radius 
    -
    -

    Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms +variable r2 atom c_radius +

    + +

    Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms and 0.4 units for type 2 atoms, and v_r2 accesses the radius property -present in atom_style sphere for granular models. -

    -

    The edge_histo keyword activates the compilation of a histogram of +present in atom_style sphere for granular models.

    +

    The edge_histo keyword activates the compilation of a histogram of number of edges on the faces of the Voronoi cells in the compute group. The argument maxedge of the this keyword is the largest number of edges on a single Voronoi cell face expected to occur in the @@ -100,15 +210,13 @@ sample. This keyword adds the generation of a global vector with maxedge+1 entries. The last entry in the vector contains the number of faces with with more than maxedge edges. Since the polygon with the smallest amount of edges is a triangle, entries 1 and 2 of the vector -will always be zero. -

    -

    The edge_threshold and face_threshold keywords allow the +will always be zero.

    +

    The edge_threshold and face_threshold keywords allow the suppression of edges below a given minimum length and faces below a given minimum area. Ultra short edges and ultra small faces can occur as artifacts of the Voronoi tessellation. These keywords will affect -the neighbor count and edge histogram outputs. -

    -

    If the occupation keyword is specified the tessellation is only +the neighbor count and edge histogram outputs.

    +

    If the occupation keyword is specified the tessellation is only performed for the first invocation of the compute and then stored. For all following invocations of the compute the number of atoms in each Voronoi cell in the stored tessellation is counted. In this mode @@ -122,19 +230,15 @@ one can be any positive integer including zero, while column two values will always be greater than zero. Column one data can be used to locate vacancies (the coordinates are given by the atom coordinates at the time step when the compute was first invoked), while column two -data can be used to identify interstitial atoms. -

    -
    - -

    The Voronoi calculation is performed by the freely available Voro++ -package, written by Chris Rycroft at UC Berkeley and LBL, +data can be used to identify interstitial atoms.

    +
    +

    The Voronoi calculation is performed by the freely available Voro++ package, written by Chris Rycroft at UC Berkeley and LBL, which must be installed on your system when building LAMMPS for use with this compute. See instructions on obtaining and installing the -Voro++ software in the src/VORONOI/README file. -

    - - -

    IMPORTANT NOTE: The calculation of Voronoi volumes is performed by +Voro++ software in the src/VORONOI/README file.

    +
    +

    Warning

    +

    The calculation of Voronoi volumes is performed by each processor for the atoms it owns, and includes the effect of ghost atoms stored by the processor. This assumes that the Voronoi cells of owned atoms are not affected by atoms beyond the ghost atom cut-off @@ -142,42 +246,103 @@ distance. This is usually a good assumption for liquid and solid systems, but may lead to underestimation of Voronoi volumes in low density systems. By default, the set of ghost atoms stored by each processor is determined by the cutoff used for -pair_style interactions. The cutoff can be set -explicitly via the comm_modify cutoff command. -

    -

    IMPORTANT NOTE: The Voro++ package performs its calculation in 3d. +pair_style interactions. The cutoff can be set +explicitly via the comm_modify cutoff command.

    +
    +
    +

    Warning

    +

    The Voro++ package performs its calculation in 3d. This should still work for a 2d LAMMPS simulation, to effectively -compute Voronoi "areas", so long as the z-dimension of the box is +compute Voronoi “areas”, so long as the z-dimension of the box is roughly the same (or smaller) compared to the separation of the atoms. Typical values for the z box dimensions in a 2d LAMMPS model are -0.5 -to 0.5, which satisfies the criterion for most units +to 0.5, which satisfies the criterion for most units systems. Note that you define the z extent of the simulation box for -2d simulations when using the create_box or -read_data commands. -

    -

    Output info: -

    -

    This compute calculates a per-atom array with 2 columns. In regular -dynamic tessellation mode the first column is the Voronoi volume, the -second is the neighbor count, as described above (read above for the -output data in case the occupation keyword is specified). +2d simulations when using the create_box or +read_data commands.

    +
    +

    Output info:

    +

    This compute calculates a per-atom array with 2 columns. In regular +dynamic tessellation mode the first column is the Voronoi volume, the +second is the neighbor count, as described above (read above for the +output data in case the occupation keyword is specified). These values can be accessed by any command that -uses per-atom values from a compute as input. See Section_howto -15 for an overview of LAMMPS output -options. -

    -

    The Voronoi cell volume will be in distance units cubed. -

    -

    Restrictions: -

    -

    This compute is part of the VORONOI package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump custom -

    -

    Default: none -

    - +uses per-atom values from a compute as input. See Section_howto 15 for an overview of LAMMPS output +options.

    +

    The Voronoi cell volume will be in distance units cubed.

    + +
    +

    Restrictions¶

    +

    This compute is part of the VORONOI package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/compute_xrd.html b/doc/compute_xrd.html index e69612ac17..52179cf86d 100644 --- a/doc/compute_xrd.html +++ b/doc/compute_xrd.html @@ -1,214 +1,390 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + compute xrd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    compute xrd command -

    -

    Syntax: -

    -
    compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... 
    -
    -
    • ID, group-ID are documented in compute command - -
    • xrd = style name of this compute command - -
    • lambda = wavelength of incident radiation (length units) - -
    • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = 2Theta or c or LP or manual or echo - -
        2Theta values = Min2Theta Max2Theta
      -    Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore 
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      compute xrd command¶

      +
      +

      Syntax¶

      +
      compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in compute command
      • +
      • xrd = style name of this compute command
      • +
      • lambda = wavelength of incident radiation (length units)
      • +
      • type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = 2Theta or c or LP or manual or echo
      • +
      +
      +2Theta values = Min2Theta Max2Theta
      +    Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
           (radians or degrees)
      -  c values = c1 c2 c3
      -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal 
      +  c values = c1 c2 c3
      +    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
                      lattice nodes in the h, k, and l directions respectively
      -  LP value = switch to apply Lorentz-polarization factor
      +  LP value = switch to apply Lorentz-polarization factor
           0/1 = off/on
      -  manual = flag to use manual spacing of reciprocal lattice points 
      -             based on the values of the c parameters 
      -  echo = flag to provide extra output for debugging purposes 
      -
      - -
    -

    Examples: -

    -
    compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo 
    -compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual 
    -
    -
    fix 1 all ave/histo/weights 1 1 1 0.087 0.87 250 c_1[1] c_1[2] mode vector file Rad2Theta.xrd
    -fix 2 all ave/histo/weights 1 1 1 10 100 250 c_2[1] c_2[2] mode vector file Deg2Theta.xrd 
    -
    -
    -
    -

    Description: -

    -

    Define a computation that calculates x-ray diffraction intensity as described -in (Coleman) on a mesh of reciprocal lattice nodes defined + manual = flag to use manual spacing of reciprocal lattice points + based on the values of the c parameters + echo = flag to provide extra output for debugging purposes + +

    +
    +

    Examples¶

    +
    compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
    +compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual
    +
    +
    +
    fix 1 all ave/histo/weights 1 1 1 0.087 0.87 250 c_1[1] c_1[2] mode vector file Rad2Theta.xrd
    +fix 2 all ave/histo/weights 1 1 1 10 100 250 c_2[1] c_2[2] mode vector file Deg2Theta.xrd
    +
    +
    +
    +
    +

    Description¶

    +

    Define a computation that calculates x-ray diffraction intensity as described +in (Coleman) on a mesh of reciprocal lattice nodes defined by the entire simulation domain (or manually) using a simulated radiation -of wavelength lambda. -

    -

    The x-ray diffraction intensity, I, at each reciprocal lattice point, k, -is computed from the structure factor, F, using the equations: -

    -
    -
    -
    -
    -
    -
    -
    -
    -

    Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors, LP is the -Lorentz-polarization factor, and theta is the scattering angle of -diffraction. The Lorentz-polarization factor can be turned off using -the optional LP keyword. -

    -

    Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) +of wavelength lambda.

    +

    The x-ray diffraction intensity, I, at each reciprocal lattice point, k, +is computed from the structure factor, F, using the equations:

    +_images/compute_xrd1.jpg +_images/compute_xrd2.jpg +_images/compute_xrd3.jpg +_images/compute_xrd4.jpg +

    Here, K is the location of the reciprocal lattice node, rj is the +position of each atom, fj are atomic scattering factors, LP is the +Lorentz-polarization factor, and theta is the scattering angle of +diffraction. The Lorentz-polarization factor can be turned off using +the optional LP keyword.

    +

    Diffraction intensities are calculated on a three-dimensional mesh of +reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below. -

    -
    -
    -

    For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing c*inv(A) along each reciprocal lattice +shown in the 2D diagram below.

    + +

    For a mesh defined by the simulation domain, a rectilinear grid is +constructed with spacing *c**inv(A) along each reciprocal lattice axis. Where A are the vectors corresponding to the edges of the simulation cell. If one or two directions has non-periodic boundary conditions, then the spacing in these directions is defined from the average of the (inversed) box lengths with periodic boundary conditions. Meshes defined by the simulation domain must contain at least one periodic -boundary. -

    -

    If the manual flag is included, the mesh of reciprocal lattice nodes -will defined using the c values for the spacing along each +boundary.

    +

    If the manual flag is included, the mesh of reciprocal lattice nodes +will defined using the c values for the spacing along each reciprocal lattice axis. Note that manual mapping of the reciprocal space mesh is good for comparing diffraction results from multiple simulations; however it can reduce the likelihood that Bragg -reflections will be satisfied unless small spacing parameters (< 0.05 +reflections will be satisfied unless small spacing parameters (< 0.05 Angstrom^(-1)) are implemented. Meshes with manual spacing do not -require a periodic boundary. -

    -

    The limits of the reciprocal lattice mesh are determined by range of -scattering angles explored. The 2Theta parameters allows the user +require a periodic boundary.

    +

    The limits of the reciprocal lattice mesh are determined by range of +scattering angles explored. The 2Theta parameters allows the user to reduce the scattering angle range to only the region of interest -which reduces the cost of the computation. -

    -

    The atomic scattering factors, fj, accounts for the reduction in +which reduces the cost of the computation.

    +

    The atomic scattering factors, fj, accounts for the reduction in diffraction intensity due to Compton scattering. Compute xrd uses analytical approximations of the atomic scattering factors that vary for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula -(Colliex): -

    -
    -
    -

    Coefficients parameterized by (Peng) are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute xrd are: -

    -

    H: He1-: He: Li: Li1+: - Be: Be2+: B: C: Cval: - N: O: O1-: F: F1-: - Ne: Na: Na1+: Mg: Mg2+: - Al: Al3+: Si: Sival: Si4+: - P: S: Cl: Cl1-: Ar: - K: Ca: Ca2+: Sc: Sc3+: - Ti: Ti2+: Ti3+: Ti4+: V: - V2+: V3+: V5+: Cr: Cr2+: - Cr3+: Mn: Mn2+: Mn3+: Mn4+: - Fe: Fe2+: Fe3+: Co: Co2+: - Co: Ni: Ni2+: Ni3+: Cu: - Cu1+: Cu2+: Zn: Zn2+: Ga: - Ga3+: Ge: Ge4+: As: Se: - Br: Br1-: Kr: Rb: Rb1+: - Sr: Sr2+: Y: Y3+: Zr: - Zr4+: Nb: Nb3+: Nb5+: Mo: - Mo3+: Mo5+: Mo6+: Tc: Ru: - Ru3+: Ru4+: Rh: Rh3+: Rh4+: - Pd: Pd2+: Pd4+: Ag: Ag1+: - Ag2+: Cd: Cd2+: In: In3+: - Sn: Sn2+: Sn4+: Sb: Sb3+: - Sb5+: Te: I: I1-: Xe: - Cs: Cs1+: Ba: Ba2+: La: - La3+: Ce: Ce3+: Ce4+: Pr: - Pr3+: Pr4+: Nd: Nd3+: Pm: - Pm3+: Sm: Sm3+: Eu: Eu2+: - Eu3+: Gd: Gd3+: Tb: Tb3+: - Dy: Dy3+: Ho: Ho3+: Er: - Er3+: Tm: Tm3+: Yb: Yb2+: - Yb3+: Lu: Lu3+: Hf: Hf4+: - Ta: Ta5+: W: W6+: Re: - Os: Os4+: Ir: Ir3+: Ir4+: - Pt: Pt2+: Pt4+: Au: Au1+: - Au3+: Hg: Hg1+: Hg2+: Tl: - Tl1+: Tl3+: Pb: Pb2+: Pb4+: - Bi: Bi3+: Bi5+: Po: At: - Rn: Fr: Ra: Ra2+: Ac: - Ac3+: Th: Th4+: Pa: U: - U3+: U4+: U6+: Np: Np3+: - Np4+: Np6+: Pu: Pu3+: Pu4+: - Pu6+: Am: Cm: Bk: Cf:tb(c=5,s=:) -

    -

    If the echo keyword is specified, compute xrd will provide extra -reporting information to the screen. -

    -

    Output info: -

    -

    This compute calculates a global array. The number of rows in the -array is the number of reciprocal lattice nodes that are explored -which by the mesh. The global array has 2 columns. -

    -

    The first column contains the diffraction angle in the units (radians -or degrees) provided with the 2Theta values. The second column contains -the computed diffraction intensities as described above. -

    -

    The array can be accessed by any command that uses global values -from a compute as input. See this section for an overview of LAMMPS output -options. -

    -

    All array values calculated by this compute are "intensive". -

    -

    Restrictions: -

    -

    The compute_xrd command does not work for triclinic cells. -

    -

    Related commands: -

    -

    fix ave/histo, -compute saed -

    -

    Default: -

    -

    The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, -no manual flag, no echo flag. -

    -
    +(Colliex):

    +_images/compute_xrd5.jpg +

    Coefficients parameterized by (Peng) are assigned for each +atom type designating the chemical symbol and charge of each atom +type. Valid chemical symbols for compute xrd are:

    +
    +
    H: He1-: He: Li: Li1+:
    +
    +
    +
    +
    Be: Be2+: B: C: Cval:
    +
    N: O: O1-: F: F1-:
    +
    +

    Ne: Na: Na1+: Mg: Mg2+: +Al: Al3+: Si: Sival: Si4+:

    +
    +
    P: S: Cl: Cl1-: Ar: +K: Ca: Ca2+: Sc: Sc3+:
    +

    Ti: Ti2+: Ti3+: Ti4+: V:

    +
    +

    V2+: V3+: V5+: Cr: Cr2+:

    +
    +
    +
    Cr3+: Mn: Mn2+: Mn3+: Mn4+:
    +
    Fe: Fe2+: Fe3+: Co: Co2+: +Co: Ni: Ni2+: Ni3+: Cu:
    +
    +

    Cu1+: Cu2+: Zn: Zn2+: Ga: +Ga3+: Ge: Ge4+: As: Se:

    +
    +
    Br: Br1-: Kr: Rb: Rb1+: +Sr: Sr2+: Y: Y3+: Zr:
    +

    Zr4+: Nb: Nb3+: Nb5+: Mo: +Mo3+: Mo5+: Mo6+: Tc: Ru: +Ru3+: Ru4+: Rh: Rh3+: Rh4+:

    +
    +
    Pd: Pd2+: Pd4+: Ag: Ag1+:
    +
    +
    Ag2+: Cd: Cd2+: In: In3+:
    +
    Sn: Sn2+: Sn4+: Sb: Sb3+:
    +
    Sb5+: Te: I: I1-: Xe:
    +
    Cs: Cs1+: Ba: Ba2+: La:
    +
    +

    La3+: Ce: Ce3+: Ce4+: Pr: +Pr3+: Pr4+: Nd: Nd3+: Pm: +Pm3+: Sm: Sm3+: Eu: Eu2+: +Eu3+: Gd: Gd3+: Tb: Tb3+:

    +
    +
    Dy: Dy3+: Ho: Ho3+: Er:
    +

    Er3+: Tm: Tm3+: Yb: Yb2+: +Yb3+: Lu: Lu3+: Hf: Hf4+:

    +
    +
    Ta: Ta5+: W: W6+: Re: +Os: Os4+: Ir: Ir3+: Ir4+: +Pt: Pt2+: Pt4+: Au: Au1+:
    +

    Au3+: Hg: Hg1+: Hg2+: Tl: +Tl1+: Tl3+: Pb: Pb2+: Pb4+:

    +
    +
    Bi: Bi3+: Bi5+: Po: At: +Rn: Fr: Ra: Ra2+: Ac:
    +
    +
    Ac3+: Th: Th4+: Pa: U:
    +
    U3+: U4+: U6+: Np: Np3+:
    +
    +

    Np4+: Np6+: Pu: Pu3+: Pu4+: +Pu6+: Am: Cm: Bk: Cf:tb(c=5,s=:)

    +
    +
    +

    If the echo keyword is specified, compute xrd will provide extra +reporting information to the screen.

    +

    Output info:

    +

    This compute calculates a global array. The number of rows in the +array is the number of reciprocal lattice nodes that are explored +which by the mesh. The global array has 2 columns.

    +

    The first column contains the diffraction angle in the units (radians +or degrees) provided with the 2Theta values. The second column contains +the computed diffraction intensities as described above.

    +

    The array can be accessed by any command that uses global values +from a compute as input. See this section for an overview of LAMMPS output +options.

    +

    All array values calculated by this compute are “intensive”.

    +
    +
    +

    Restrictions¶

    +

    The compute_xrd command does not work for triclinic cells.

    +
    + +
    +

    Default¶

    +

    The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, +no manual flag, no echo flag.

    +
    +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013).

    +

    (Colliex) Colliex et al. International Tables for Crystallography +Volume C: Mathematical and Chemical Tables, 249-429 (2004).

    +

    (Peng) Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 +(1996).

    +
    + - -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). -

    - + + +
    + -

    (Colliex) Colliex et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 249-429 (2004). -

    - +
    -

    (Peng) Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 -(1996). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/create_atoms.html b/doc/create_atoms.html index dff7b6c971..caa4249ce3 100644 --- a/doc/create_atoms.html +++ b/doc/create_atoms.html @@ -1,329 +1,495 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + create_atoms command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    create_atoms command -

    -

    Syntax: -

    -
    create_atoms type style args keyword values ... 
    -
    -
    • type = atom type (1-Ntypes) of atoms to create (offset for molecule creation) - -
    • style = box or region or single or random - -
        box args = none
      -  region args = region-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      create_atoms command¶

      +
      +

      Syntax¶

      +
      create_atoms type style args keyword values ...
      +
      +
      +
        +
      • type = atom type (1-Ntypes) of atoms to create (offset for molecule creation)
      • +
      • style = box or region or single or random
      • +
      +
      +box args = none
      +  region args = region-ID
           region-ID = particles will only be created if contained in the region
      -  single args = x y z
      +  single args = x y z
           x,y,z = coordinates of a single particle (distance units)
      -  random args = N seed region-ID
      +  random args = N seed region-ID
           N = number of particles to create
           seed = random # seed (positive integer)
      -    region-ID = create atoms within this region, use NULL for entire simulation box 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = mol or basis or remap or var or set or units - -
        mol value = template-ID seed
      -    template-ID = ID of molecule template specified in a separate molecule command
      +    region-ID = create atoms within this region, use NULL for entire simulation box
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = mol or basis or remap or var or set or units
      • +
      +
      +mol value = template-ID seed
      +    template-ID = ID of molecule template specified in a separate molecule command
           seed = random # seed (positive integer)
      -  basis values = M itype
      +  basis values = M itype
           M = which basis atom
           itype = atom type (1-N) to assign to this basis atom
      -  remap value = yes or no
      -  var value = name = variable name to evaluate for test of atom creation
      -  set values = dim vname
      -    dim = x or y or z
      +  remap value = yes or no
      +  var value = name = variable name to evaluate for test of atom creation
      +  set values = dim vname
      +    dim = x or y or z
           name = name of variable to set with x,y,z atom position
      -  rotate values = Rx Ry Rz theta
      +  rotate values = Rx Ry Rz theta
           Rx,Ry,Rz = rotation vector for single molecule
           theta = rotation angle for single molecule (degrees)
      -  units value = lattice or box
      -    lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    create_atoms 1 box
    +  units value = lattice or box
    +    lattice = the geometry is defined in lattice units
    +    box = the geometry is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    create_atoms 1 box
     create_atoms 3 region regsphere basis 2 3
    -create_atoms 3 single 0 0 5 
    -create_atoms 1 box var v set x xpos set y ypos 
    -
    -

    Description: -

    -

    This command creates atoms (or molecules) on a lattice, or a single +create_atoms 3 single 0 0 5 +create_atoms 1 box var v set x xpos set y ypos +

    +
    +
    +
    +

    Description¶

    +

    This command creates atoms (or molecules) on a lattice, or a single atom (or molecule), or a random collection of atoms (or molecules), as an alternative to reading in their coordinates explicitly via a -read_data or read_restart +read_data or read_restart command. A simulation box must already exist, which is typically -created via the create_box command. Before using +created via the create_box command. Before using this command, a lattice must also be defined using the -lattice command, unless you specify the single style -with units = box or the random style. For the remainder of this doc -page, a created atom or molecule is referred to as a "particle". -

    -

    If created particles are individual atoms, they are assigned the -specified atom type, though this can be altered via the basis +lattice command, unless you specify the single style +with units = box or the random style. For the remainder of this doc +page, a created atom or molecule is referred to as a “particle”.

    +

    If created particles are individual atoms, they are assigned the +specified atom type, though this can be altered via the basis keyword as discussed below. If molecules are being created, the type of each atom in the created molecule is specified in the file read by -the molecule command, and those values are added to -the specified atom type. E.g. if type = 2, and the file specifies +the molecule command, and those values are added to +the specified atom type. E.g. if type = 2, and the file specifies atom types 1,2,3, then each created molecule will have atom types -3,4,5. -

    -

    For the box style, the create_atoms command fills the entire +3,4,5.

    +

    For the box style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should insure its size is a multiple of the lattice spacings, to avoid unwanted atom overlaps at the box boundaries. If your box is periodic and a multiple of the lattice spacing in a particular dimension, LAMMPS is careful to put exactly one particle at -the boundary (on either side of the box), not zero or two. -

    -

    For the region style, a geometric volume is filled with particles on +the boundary (on either side of the box), not zero or two.

    +

    For the region style, a geometric volume is filled with particles on the lattice. This volume what is inside the simulation box and is -also consistent with the region volume. See the region +also consistent with the region volume. See the region command for details. Note that a region can be specified so that its -"volume" is either inside or outside a geometric boundary. Also note +“volume” is either inside or outside a geometric boundary. Also note that if your region is the same size as a periodic simulation box (in some dimension), LAMMPS does not implement the same logic described -above as for the box style, to insure exactly one particle at +above as for the box style, to insure exactly one particle at periodic boundaries. if this is what you desire, you should either -use the box style, or tweak the region size to get precisely the -particles you want. -

    -

    For the single style, a single particle is added to the system at +use the box style, or tweak the region size to get precisely the +particles you want.

    +

    For the single style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified -positions. -

    -

    For the random style, N particles are added to the system at +positions.

    +

    For the random style, N particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the -speficied random number seed, resulting in the same set of particles +speficied random number seed, resulting in the same set of particles coordinates, independent of how many processors are being used in the -simulation. If the region-ID argument is specified as NULL, then +simulation. If the region-ID argument is specified as NULL, then the created particles will be anywhere in the simulation box. If a -region-ID is specified, a geometric volume is filled which is both +region-ID is specified, a geometric volume is filled which is both inside the simulation box and is also consistent with the region -volume. See the region command for details. Note that -a region can be specified so that its "volume" is either inside or -outside a geometric boundary. -

    -

    IMPORTANT NOTE: Particles generated by the random style will +volume. See the region command for details. Note that +a region can be specified so that its “volume” is either inside or +outside a geometric boundary.

    +
    +

    Warning

    +

    Particles generated by the random style will typically be highly overlapped which will cause many interatomic potentials to compute large energies and forces. Thus you should -either perform an energy minimization or run dynamics -with fix nve/limit to equilibrate such a system, -before running normal dynamics. -

    -

    Note that this command adds particles to those that already exist. +either perform an energy minimization or run dynamics +with fix nve/limit to equilibrate such a system, +before running normal dynamics.

    +
    +

    Note that this command adds particles to those that already exist. This means it can be used to add particles to a system previously read in from a data or restart file. Or the create_atoms command can be used multiple times, to add multiple sets of particles to the simulation. For example, grain boundaries can be created, by -interleaving create_atoms with lattice commands +interleaving create_atoms with lattice commands specifying different orientations. By using the create_atoms command -in conjunction with the delete_atoms command, +in conjunction with the delete_atoms command, reasonably complex geometries can be created, or a protein can be -solvated with a surrounding box of water molecules. -

    -

    In all these cases, care should be taken to insure that new atoms do +solvated with a surrounding box of water molecules.

    +

    In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules -are being added. The delete_atoms command can be -used to remove overlapping atoms or molecules. -

    -
    - -

    Individual atoms are inserted by this command, unless the mol -keyword is used. It specifies a template-ID previously defined -using the molecule command, which reads a file that +are being added. The delete_atoms command can be +used to remove overlapping atoms or molecules.

    +
    +

    Individual atoms are inserted by this command, unless the mol +keyword is used. It specifies a template-ID previously defined +using the molecule command, which reads a file that defines the molecule. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the -molecule command for details. The only settings +molecule command for details. The only settings required to be in this file are the coordinates and types of atoms in -the molecule. -

    -

    Using a lattice to add molecules, e.g. via the box or region or -single styles, is exactly the same as adding atoms on lattice +the molecule.

    +

    Using a lattice to add molecules, e.g. via the box or region or +single styles, is exactly the same as adding atoms on lattice points, except that entire molecules are added at each point, i.e. on the point defined by each basis atom in the unit cell as it tiles the simulation box or region. This is done by placing the geometric center of the molecule at the lattice point, and giving the molecule a -random orientation about the point. The random seed specified with -the mol keyword is used for this operation, and the random numbers +random orientation about the point. The random seed specified with +the mol keyword is used for this operation, and the random numbers generated by each processor are different. This means the coordinates of individual atoms (in the molecules) will be different when running on different numbers of processors, unlike when atoms are being -created in parallel. -

    -

    Also note that because of the random rotations, it may be important to +created in parallel.

    +

    Also note that because of the random rotations, it may be important to use a lattice with a large enough spacing that adjacent molecules will -not overlap, regardless of their relative orientations. -

    -

    IMPORTANT NOTE: If the create_box command is used to +not overlap, regardless of their relative orientations.

    +
    +

    Warning

    +

    If the create_box command is used to create the simulation box, followed by the create_atoms command with -its mol option for adding molecules, then you typically need to use -the optional keywords allowed by the create_box +its mol option for adding molecules, then you typically need to use +the optional keywords allowed by the create_box command for extra bonds (angles,etc) or extra special neighbors. This -is because by default, the create_box command sets -up a non-molecular system which doesn't allow molecules to be added. -

    -
    - -

    This is the meaning of the other allowed keywords. -

    -

    The basis keyword is only used when atoms (not molecules) are being +is because by default, the create_box command sets +up a non-molecular system which doesn’t allow molecules to be added.

    +
    +
    +

    This is the meaning of the other allowed keywords.

    +

    The basis keyword is only used when atoms (not molecules) are being created. It specifies an atom type that will be assigned to specific -basis atoms as they are created. See the lattice +basis atoms as they are created. See the lattice command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created atoms are assigned the -argument type as their atom type. -

    -

    The remap keyword only applies to the single style. If it is set -to yes, then if the specified position is outside the simulation +argument type as their atom type.

    +

    The remap keyword only applies to the single style. If it is set +to yes, then if the specified position is outside the simulation box, it will mapped back into the box, assuming the relevant -dimensions are periodic. If it is set to no, no remapping is done -and no particle is created if its position is outside the box. -

    -

    The var and set keywords can be used to provide a criterion for +dimensions are periodic. If it is set to no, no remapping is done +and no particle is created if its position is outside the box.

    +

    The var and set keywords can be used to provide a criterion for accepting or rejecting the addition of an individual atom, based on -its coordinates. The vname specified for the var keyword is the -name of an equal-style variable which should evaluate +its coordinates. The vname specified for the var keyword is the +name of an equal-style variable which should evaluate to a zero or non-zero value based on one or two or three variables which will store the x, y, or z coordinates of an atom (one variable -per coordinate). These other variables must be equal-style -variables defined in the input script, but their -formula can by anything. The set keyword is used to identify the +per coordinate). These other variables must be equal-style variables defined in the input script, but their +formula can by anything. The set keyword is used to identify the names of these other variables, one variable for the x-coordinate of a -created atom, one for y, and one for z. -

    -

    When an atom is created, its x, y, or z coordinates override the -formula for any set variable that is defined. The var variable is +created atom, one for y, and one for z.

    +

    When an atom is created, its x, y, or z coordinates override the +formula for any set variable that is defined. The var variable is then evaluated. If the returned value is 0.0, the atom is not created. If it is non-zero, the atom is created. After all atoms are -created, the formulas defined for all of the set variables are -restored to their original strings. -

    -

    As an example, these commands can be used in a 2d simulation, to -create a sinusoidal surface. Note that the surface is "rough" due to -individual lattice points being "above" or "below" the mathematical +created, the formulas defined for all of the set variables are +restored to their original strings.

    +

    As an example, these commands can be used in a 2d simulation, to +create a sinusoidal surface. Note that the surface is “rough” due to +individual lattice points being “above” or “below” the mathematical expression for the sinusoidal curve. If a finer lattice were used, -the sinusoid would appear to be "smoother". Also note the use of the -"xlat" and "ylat" thermo_style keywords which +the sinusoid would appear to be “smoother”. Also note the use of the +“xlat” and “ylat” thermo_style keywords which converts lattice spacings to distance. Click on the image for a -larger version. -

    -
    variable        x equal 100
    +larger version.

    +
    variable        x equal 100
     variable        y equal 25
    -lattice		hex 0.8442
    -region		box block 0 $x 0 $y -0.5 0.5
    -create_box	1 box 
    -
    -
    variable        xx equal 0.0
    +lattice              hex 0.8442
    +region               box block 0 $x 0 $y -0.5 0.5
    +create_box   1 box
    +
    +
    +
    variable        xx equal 0.0
     variable        yy equal 0.0
    -variable        v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0"
    -create_atoms	1 box var v set x xx set y yy 
    -
    -
    -
    -

    The rotate keyword can be used with the single style, when adding +variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0" +create_atoms 1 box var v set x xx set y yy +

    + + +

    The rotate keyword can be used with the single style, when adding a single molecule to specify the orientation at which the molecule is inserted. The axis of rotation is determined by the rotation vector (Rx,Ry,Rz) that goes through the insertion point. The specified -theta determines the angle of rotation around that axis. Note that +theta determines the angle of rotation around that axis. Note that the direction of rotation for the atoms around the rotation axis is -consistent with the right-hand rule: if your right-hand's thumb points -along R, then your fingers wrap around the axis in the direction of -rotation. -

    -

    The units keyword determines the meaning of the distance units used -to specify the coordinates of the one particle created by the single -style. A box value selects standard distance units as defined by -the units command, e.g. Angstroms for units = real or -metal. A lattice value means the distance units are in lattice -spacings. -

    -
    - -

    Atom IDs are assigned to created atoms in the following way. The +consistent with the right-hand rule: if your right-hand’s thumb points +along R, then your fingers wrap around the axis in the direction of +rotation.

    +

    The units keyword determines the meaning of the distance units used +to specify the coordinates of the one particle created by the single +style. A box value selects standard distance units as defined by +the units command, e.g. Angstroms for units = real or +metal. A lattice value means the distance units are in lattice +spacings.

    +
    +

    Atom IDs are assigned to created atoms in the following way. The collection of created atoms are assigned consecutive IDs that start immediately following the largest atom ID existing before the create_atoms command was invoked. When a simulation is performed on different numbers of processors, there is no guarantee a particular created atom will be assigned the same ID. If molecules are being created, molecule IDs are assigned to created molecules in a similar -fashion. -

    -

    Aside from their ID, atom type, and xyz position, other properties of +fashion.

    +

    Aside from their ID, atom type, and xyz position, other properties of created atoms are set to default values, depending on which quantities -are defined by the chosen atom style. See the atom -style command for more details. See the -set and velocity commands for info on how -to change these values. -

    -
    • charge = 0.0 -
    • dipole moment magnitude = 0.0 -
    • diameter = 1.0 -
    • shape = 0.0 0.0 0.0 -
    • density = 1.0 -
    • volume = 1.0 -
    • velocity = 0.0 0.0 0.0 -
    • angular velocity = 0.0 0.0 0.0 -
    • angular momentum = 0.0 0.0 0.0 -
    • quaternion = (1,0,0,0) -
    • bonds, angles, dihedrals, impropers = none -
    -

    If molecules are being created, these defaults can be overridden by -values specified in the file read by the molecule +are defined by the chosen atom style. See the atom style command for more details. See the +set and velocity commands for info on how +to change these values.

    +
      +
    • charge = 0.0
    • +
    • dipole moment magnitude = 0.0
    • +
    • diameter = 1.0
    • +
    • shape = 0.0 0.0 0.0
    • +
    • density = 1.0
    • +
    • volume = 1.0
    • +
    • velocity = 0.0 0.0 0.0
    • +
    • angular velocity = 0.0 0.0 0.0
    • +
    • angular momentum = 0.0 0.0 0.0
    • +
    • quaternion = (1,0,0,0)
    • +
    • bonds, angles, dihedrals, impropers = none
    • +
    +

    If molecules are being created, these defaults can be overridden by +values specified in the file read by the molecule command. E.g. the file typically defines bonds (angles,etc) between -atoms in the molecule, and can optionally define charges on each atom. -

    -

    Note that the sphere atom style sets the default particle diameter +atoms in the molecule, and can optionally define charges on each atom.

    +

    Note that the sphere atom style sets the default particle diameter to 1.0 as well as the density. This means the mass for the particle -is not 1.0, but is PI/6 * diameter^3 = 0.5236. -

    -

    Note that the ellipsoid atom style sets the default particle shape +is not 1.0, but is PI/6 * diameter^3 = 0.5236.

    +

    Note that the ellipsoid atom style sets the default particle shape to (0.0 0.0 0.0) and the density to 1.0 which means it is a point -particle, not an ellipsoid, and has a mass of 1.0. -

    -

    Note that the peri style sets the default volume and density to 1.0 -and thus also set the mass for the particle to 1.0. -

    -

    The set command can be used to override many of these -default settings. -

    -
    +particle, not an ellipsoid, and has a mass of 1.0.

    +

    Note that the peri style sets the default volume and density to 1.0 +and thus also set the mass for the particle to 1.0.

    +

    The set command can be used to override many of these +default settings.

    + +
    +
    +

    Restrictions¶

    +

    An atom_style must be previously defined to use this +command.

    +

    A rotation vector specified for a single molecule must be in +the z-direction for a 2d model.

    +
    + +
    +

    Default¶

    +

    The default for the basis keyword is that all created atoms are +assigned the argument type as their atom type (when single atoms are +being created). The other defaults are remap = no, rotate = +random, and units = lattice.

    +
    + -

    Restrictions: -

    -

    An atom_style must be previously defined to use this -command. -

    -

    A rotation vector specified for a single molecule must be in -the z-direction for a 2d model. -

    -

    Related commands: -

    -

    lattice, region, create_box, -read_data, read_restart -

    -

    Default: -

    -

    The default for the basis keyword is that all created atoms are -assigned the argument type as their atom type (when single atoms are -being created). The other defaults are remap = no, rotate = -random, and units = lattice. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/create_bonds.html b/doc/create_bonds.html index 13267df97f..3a5ce672b6 100644 --- a/doc/create_bonds.html +++ b/doc/create_bonds.html @@ -1,114 +1,293 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + create_bonds command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    create_bonds command -

    -

    Syntax: -

    -
    create_bonds group-ID group2-ID btype rmin rmax 
    -
    -
    • group-ID = ID of first group -
    • group2-ID = ID of second group, bonds will be between atoms in the 2 groups -
    • btype = bond type of created bonds -
    • rmin = minimum distance between pair of atoms to bond together -
    • rmax = minimum distance between pair of atoms to bond together -
    -

    Examples: -

    -
    create_bonds all all 1 1.0 1.2
    -create_bonds surf solvent 3 2.0 2.4 
    -
    -

    Description: -

    -

    Create bonds between pairs of atoms that meet specified distance + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    create_bonds command¶

    +
    +

    Syntax¶

    +
    create_bonds group-ID group2-ID btype rmin rmax
    +
    +
    +
      +
    • group-ID = ID of first group
    • +
    • group2-ID = ID of second group, bonds will be between atoms in the 2 groups
    • +
    • btype = bond type of created bonds
    • +
    • rmin = minimum distance between pair of atoms to bond together
    • +
    • rmax = minimum distance between pair of atoms to bond together
    • +
    +
    +
    +

    Examples¶

    +
    create_bonds all all 1 1.0 1.2
    +create_bonds surf solvent 3 2.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    Create bonds between pairs of atoms that meet specified distance criteria. The bond interactions can then be computed during a simulation by the bond potential defined by the -bond_style and bond_coeff +bond_style and bond_coeff commands. This command is useful for adding bonds to a system, e.g. between nearest neighbors in a lattice of atoms, without having to enumerate all the bonds in the data file read by the -read_data command. -

    -

    Note that the flexibility of this command is limited. It can be used +read_data command.

    +

    Note that the flexibility of this command is limited. It can be used several times to create different types of bond at different distances. But it cannot typically create all the bonds that would normally be defined in a complex system of molecules. Also note that this command does not add any 3-body or 4-body interactions which, depending on your model, may be induced by added bonds, -e.g. angle, dihedral, or -improper interactions. -

    -

    All created bonds will be between pairs of atoms I,J where I is in one +e.g. angle, dihedral, or +improper interactions.

    +

    All created bonds will be between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups -can be the same, e.g. group "all". The created bonds will be of bond -type btype, where btype must be a value between 1 and the number -of bond types defined. This maximum value is set by the "bond types" +can be the same, e.g. group “all”. The created bonds will be of bond +type btype, where btype must be a value between 1 and the number +of bond types defined. This maximum value is set by the “bond types” field in the header of the data file read by the -read_data command, or via the optional "bond/types" -argument of the create_box command. -

    -

    For a bond to be created, an I,J pair of atoms must be a distance D -apart such that rmin <= D <= rmax. -

    -

    The following settings must have been made in an input -script before this command is used: -

    - -

    These settings are required so that a neighbor list can be created to +read_data command, or via the optional “bond/types” +argument of the create_box command.

    +

    For a bond to be created, an I,J pair of atoms must be a distance D +apart such that rmin <= D <= rmax.

    +

    The following settings must have been made in an input +script before this command is used:

    + +

    These settings are required so that a neighbor list can be created to search for nearby atoms. Pairs of atoms that are already bonded cannot appear in the neighbor list, to avoid creation of duplicate bonds. The neighbor list for all atom type pairs must also extend to -a distance that encompasses the rmax for new bonds to create. -

    -

    An additional requirement is that your system must be ready to perform +a distance that encompasses the rmax for new bonds to create.

    +

    An additional requirement is that your system must be ready to perform a simulation. This means, for example, that all -pair_style coefficients be set via the -pair_coeff command. A bond_style +pair_style coefficients be set via the +pair_coeff command. A bond_style command and all bond coefficients must also be set, even if no bonds exist before this command is invoked. This is because the building of neighbor list requires initialization and setup of a simulation, -similar to what a run command would require. -

    -

    Note that you can change any of these settings after this command +similar to what a run command would require.

    +

    Note that you can change any of these settings after this command executes, e.g. if you wish to use long-range Coulombic interactions -via the kspace_style command for your subsequent -simulation. -

    -

    IMPORTANT NOTE: If the system has no bonds to begin with, or if more +via the kspace_style command for your subsequent +simulation.

    +
    +

    Warning

    +

    If the system has no bonds to begin with, or if more bonds per atom are being added than currently exist, then you must insure that the number of bond types and the maximum number of bonds per atom are set to large enough values. Otherwise an error may occur when too many bonds are added to an atom. If the -read_data command is used to define the system, these -2 parameters can be set via the "bond types" and "extra bond per atom" +read_data command is used to define the system, these +2 parameters can be set via the “bond types” and “extra bond per atom” fields in the header section of the data file. If the -create_box command is used to define the system, -these 2 parameters can be set via its optional "bond/types" and -"extra/bond/per/atom" arguments. See the doc pages for the 2 commands -for details. -

    -

    Restrictions: -

    -

    This command cannot be used with molecular systems defined using -molecule template files via the molecule and -atom_style template commands. -

    -

    Related commands: -

    -

    create_atoms, delete_bonds -

    -

    Default: none -

    - +create_box command is used to define the system, +these 2 parameters can be set via its optional “bond/types” and +“extra/bond/per/atom” arguments. See the doc pages for the 2 commands +for details.

    +
    +
    +
    +

    Restrictions¶

    +

    This command cannot be used with molecular systems defined using +molecule template files via the molecule and +atom_style template commands.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/create_box.html b/doc/create_box.html index 85be5f5f61..21958fb993 100644 --- a/doc/create_box.html +++ b/doc/create_box.html @@ -1,74 +1,185 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + create_box command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    create_box command -

    -

    Syntax: -

    -
    create_box N region-ID keyword value ... 
    -
    -
    • N = # of atom types to use in this simulation - -
    • region-ID = ID of region to use as simulation domain - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = bond/types or angle/types or dihedral/types or improper/types or extra/bond/per/atom or extra/angle/per/atom or extra/dihedral/per/atom or extra/improper/per/atom - -
        bond/types value = # of bond types
      -  angle/types value = # of angle types
      -  dihedral/types value = # of dihedral types
      -  improper/types value = # of improper types
      -  extra/bond/per/atom value = # of bonds per atom
      -  extra/angle/per/atom value = # of angles per atom
      -  extra/dihedral/per/atom value = # of dihedrals per atom
      -  extra/improper/per/atom value = # of impropers per atom
      -  extra/special/per/atom value = # of special neighbors per atom 
      -
      - -
    -

    Examples: -

    -
    create_box 2 mybox
    -create_box 2 mybox bond/types 2 extra/bond/per/atom 1 
    -
    -

    Description: -

    -

    This command creates a simulation box based on the specified region. -Thus a region command must first be used to define a + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    create_box command¶

    +
    +

    Syntax¶

    +
    create_box N region-ID keyword value ...
    +
    +
    +
      +
    • N = # of atom types to use in this simulation
    • +
    • region-ID = ID of region to use as simulation domain
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = bond/types or angle/types or dihedral/types or improper/types or extra/bond/per/atom or extra/angle/per/atom or extra/dihedral/per/atom or extra/improper/per/atom
    • +
    +
    +bond/types value = # of bond types
    +  angle/types value = # of angle types
    +  dihedral/types value = # of dihedral types
    +  improper/types value = # of improper types
    +  extra/bond/per/atom value = # of bonds per atom
    +  extra/angle/per/atom value = # of angles per atom
    +  extra/dihedral/per/atom value = # of dihedrals per atom
    +  extra/improper/per/atom value = # of impropers per atom
    +  extra/special/per/atom value = # of special neighbors per atom
    +
    +
    +
    +

    Examples¶

    +
    create_box 2 mybox
    +create_box 2 mybox bond/types 2 extra/bond/per/atom 1
    +
    +
    +
    +
    +

    Description¶

    +

    This command creates a simulation box based on the specified region. +Thus a region command must first be used to define a geometric domain. It also partitions the simulation box into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and the settings of the -processors command. The partitioning can later be -changed by the balance or fix -balance commands. -

    -

    The argument N is the number of atom types that will be used in the -simulation. -

    -

    If the region is not of style prism, then LAMMPS encloses the region +processors command. The partitioning can later be +changed by the balance or fix balance commands.

    +

    The argument N is the number of atom types that will be used in the +simulation.

    +

    If the region is not of style prism, then LAMMPS encloses the region (block, sphere, etc) with an axis-aligned orthogonal bounding box -which becomes the simulation domain. -

    -

    If the region is of style prism, LAMMPS creates a non-orthogonal +which becomes the simulation domain.

    +

    If the region is of style prism, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. -As defined by the region prism command, the -parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 +As defined by the region prism command, the +parallelepiped has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = -(xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or -positive or negative values and are called "tilt factors" because they +(xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or +positive or negative values and are called “tilt factors” because they are the amount of displacement applied to faces of an originally -orthogonal box to transform it into the parallelipiped. -

    -

    By default, a prism region used with the create_box command must +orthogonal box to transform it into the parallelipiped.

    +

    By default, a prism region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be @@ -77,86 +188,140 @@ between -5 and 5. Similarly, both xz and yz must be between since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box with tilt -factors that exceed these limits, you can use the box tilt -command, with a setting of large; a setting of small is the -default. -

    -

    See Section_howto 12 of the doc pages +factors that exceed these limits, you can use the box tilt +command, with a setting of large; a setting of small is the +default.

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations. -

    -

    When a prism region is used, the simulation domain should normally be +triclinic representations.

    +

    When a prism region is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by the -boundary command. For example, if the xy tilt factor +boundary command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if this is not -the case. -

    -

    Also note that if your simulation will tilt the box, e.g. via the fix -deform command, the simulation box must be setup to +the case.

    +

    Also note that if your simulation will tilt the box, e.g. via the fix deform command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by -using the change box command with its ortho and -triclinic options. -

    -

    IMPORTANT NOTE: If the system is non-periodic (in a dimension), then +using the change box command with its ortho and +triclinic options.

    +
    +

    Warning

    +

    If the system is non-periodic (in a dimension), then you should not make the lo/hi box dimensions (as defined in your -region command) radically smaller/larger than the extent +region command) radically smaller/larger than the extent of the atoms you eventually plan to create, e.g. via the -create_atoms command. For example, if your atoms +create_atoms command. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because as described above, LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using -"fixed" boundary conditions (see the boundary -command). When using "shrink-wrap" boundary conditions (see the -boundary command), a huge (mostly empty) box may cause +“fixed” boundary conditions (see the boundary +command). When using “shrink-wrap” boundary conditions (see the +boundary command), a huge (mostly empty) box may cause a parallel simulation to lose atoms the first time that LAMMPS -shrink-wraps the box around the atoms. -

    -
    - -

    The optional keywords can be used to create a system that allows for +shrink-wraps the box around the atoms.

    +
    +
    +

    The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with special 1-2,1-3,1-4 neighbors to be added later. These optional keywords serve the same purpose as the analogous keywords that can be used in a data file which are recognized by the -read_data command when it sets up a system. -

    -

    Note that if these keywords are not used, then the create_box command +read_data command when it sets up a system.

    +

    Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds -between pairs of atoms to be defined, or a bond -potential to be specified, or for molecules with +between pairs of atoms to be defined, or a bond potential to be specified, or for molecules with special neighbors to be added to the system by commands such as -create_atoms mol, fix deposit -or fix pour. -

    -

    As an example, see the examples/deposit/in.deposit.molecule script, +create_atoms mol, fix deposit +or fix pour.

    +

    As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the fix -deposit command. The create_box command in the +molecules in the system, but they are added later by the fix deposit command. The create_box command in the script uses the bond/types and extra/bond/per/atom keywords to allow this. If the added molecule contained more than 1 special bond (allowed by default), an extra/special/per/atom keyword would also -need to be specified. -

    -
    +need to be specified.

    +
    +
    +
    +

    Restrictions¶

    +

    An atom_style and region must have +been previously defined to use this command.

    +
    + +
    -

    Restrictions: -

    -

    An atom_style and region must have -been previously defined to use this command. -

    -

    Related commands: -

    -

    read_data, create_atoms, -region -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/delete_atoms.html b/doc/delete_atoms.html index c0dc0590d8..193b87af16 100644 --- a/doc/delete_atoms.html +++ b/doc/delete_atoms.html @@ -1,154 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + delete_atoms command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    delete_atoms command -

    -

    Syntax: -

    -
    delete_atoms style args keyword value ... 
    -
    -
    • style = group or region or overlap or porosity - -
        group args = group-ID
      -  region args = region-ID
      -  overlap args = cutoff group1-ID group2-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      delete_atoms command¶

      +
      +

      Syntax¶

      +
      delete_atoms style args keyword value ...
      +
      +
      +
        +
      • style = group or region or overlap or porosity
      • +
      +
      +group args = group-ID
      +  region args = region-ID
      +  overlap args = cutoff group1-ID group2-ID
           cutoff = delete one atom from pairs of atoms within the cutoff (distance units)
           group1-ID = one atom in pair must be in this group
           group2-ID = other atom in pair must be in this group
      -  porosity args = region-ID fraction seed
      +  porosity args = region-ID fraction seed
           region-ID = region within which to perform deletions
           fraction = delete this fraction of atoms
      -    seed = random number seed (positive integer) 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = compress or bond or mol - -
        compress value = no or yes
      -  bond value = no or yes
      -  mol value = no or yes 
      -
      - -
    -

    Examples: -

    -
    delete_atoms group edge
    +    seed = random number seed (positive integer)
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = compress or bond or mol
    • +
    +
    +compress value = no or yes
    +  bond value = no or yes
    +  mol value = no or yes
    +
    +
    +
    +

    Examples¶

    +
    delete_atoms group edge
     delete_atoms region sphere compress no
     delete_atoms overlap 0.3 all all
     delete_atoms overlap 0.5 solvent colloid
    -delete_atoms porosity cube 0.1 482793 bond yes 
    -
    -

    Description: -

    -

    Delete the specified atoms. This command can be used to carve out +delete_atoms porosity cube 0.1 482793 bond yes +

    +
    +
    +
    +

    Description¶

    +

    Delete the specified atoms. This command can be used to carve out voids from a block of material or to delete created atoms that are too -close to each other (e.g. at a grain boundary). -

    -

    For style group, all atoms belonging to the group are deleted. -

    -

    For style region, all atoms in the region volume are deleted. +close to each other (e.g. at a grain boundary).

    +

    For style group, all atoms belonging to the group are deleted.

    +

    For style region, all atoms in the region volume are deleted. Additional atoms can be deleted if they are in a molecule for which -one or more atoms were deleted within the region; see the mol -keyword discussion below. -

    -

    For style overlap pairs of atoms whose distance of separation is +one or more atoms were deleted within the region; see the mol +keyword discussion below.

    +

    For style overlap pairs of atoms whose distance of separation is within the specified cutoff distance are searched for, and one of the 2 atoms is deleted. Only pairs where one of the two atoms is in the first group specified and the other atom is in the second group are considered. The atom that is in the first group is the one that is -deleted. -

    -

    Note that it is OK for the two group IDs to be the same (e.g. group -all), or for some atoms to be members of both groups. In these +deleted.

    +

    Note that it is OK for the two group IDs to be the same (e.g. group +all), or for some atoms to be members of both groups. In these cases, either atom in the pair may be deleted. Also note that if there are atoms which are members of both groups, the only guarantee is that at the end of the deletion operation, enough deletions will have occurred that no atom pairs within the cutoff will remain (subject to the group restriction). There is no guarantee that the minimum number of atoms will be deleted, or that the same atoms will -be deleted when running on different numbers of processors. -

    -

    For style porosity a specified fraction of atoms are deleted +be deleted when running on different numbers of processors.

    +

    For style porosity a specified fraction of atoms are deleted within the specified region. For example, if fraction is 0.1, then 10% of the atoms will be deleted. The atoms to delete are chosen randomly. There is no guarantee that the exact fraction of atoms will be deleted, or that the same atoms will be deleted when running on -different numbers of processors. -

    -

    If the compress keyword is set to yes, then after atoms are +different numbers of processors.

    +

    If the compress keyword is set to yes, then after atoms are deleted, then atom IDs are re-assigned so that they run from 1 to the number of atoms in the system. Note that this is not done for -molecular systems (see the atom_style command), -regardless of the compress setting, since it would foul up the bond -connectivity that has already been assigned. -

    -

    A molecular system with fixed bonds, angles, dihedrals, or improper +molecular systems (see the atom_style command), +regardless of the compress setting, since it would foul up the bond +connectivity that has already been assigned.

    +

    A molecular system with fixed bonds, angles, dihedrals, or improper interactions, is one where the topology of the interactions is typically defined in the data file read by the -read_data command, and where the interactions -themselves are defined with the bond_style, -angle_style, etc commands. If you delete atoms +read_data command, and where the interactions +themselves are defined with the bond_style, +angle_style, etc commands. If you delete atoms from such a system, you must be careful not to end up with bonded interactions that are stored by remaining atoms but which include -deleted atoms. This will cause LAMMPS to generate a "missing atoms" -error when the bonded interaction is computed. The bond and mol -keywords offer two ways to do that. -

    -

    It the bond keyword is set to yes then any bond or angle or +deleted atoms. This will cause LAMMPS to generate a “missing atoms” +error when the bonded interaction is computed. The bond and mol +keywords offer two ways to do that.

    +

    It the bond keyword is set to yes then any bond or angle or dihedral or improper interaction that includes a deleted atom is also removed from the lists of such interactions stored by non-deleted atoms. Note that simply deleting interactions due to dangling bonds (e.g. at a surface) may result in a inaccurate or invalid model for -the remaining atoms. -

    -

    It the mol keyword is set to yes, then for every atom that is +the remaining atoms.

    +

    It the mol keyword is set to yes, then for every atom that is deleted, all other atoms in the same molecule (with the same molecule ID) will also be deleted. This is not done for atoms with molecule ID = 0, since such an ID is assumed to flag isolated atoms that are not -part of molecules. -

    -

    IMPORTANT NOTE: The molecule deletion operation in invoked after all +part of molecules.

    +
    +

    Warning

    +

    The molecule deletion operation in invoked after all individual atoms have been deleted using the rules described above for each style. This means additional atoms may be deleted that are not in the group or region, that are not required by the overlap cutoff criterion, or that will create a higher fraction of porosity than was -requested. -

    -

    Restrictions: -

    -

    The overlap styles requires inter-processor communication to acquire +requested.

    +
    +
    +
    +

    Restrictions¶

    +

    The overlap styles requires inter-processor communication to acquire ghost atoms and build a neighbor list. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses set, etc). Since a neighbor list is used to find overlapping atom pairs, it also means that you must define a -pair style with the minimum force cutoff distance -between any pair of atoms types (plus the neighbor -skin) >= the specified overlap cutoff. -

    -

    If the special_bonds command is used with a +pair style with the minimum force cutoff distance +between any pair of atoms types (plus the neighbor +skin) >= the specified overlap cutoff.

    +

    If the special_bonds command is used with a setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not appear in the neighbor list, and thus will not be considered for -deletion by the overlap styles. You probably don't want to be -deleting one atom in a bonded pair anyway. -

    -

    The bond yes option cannot be used with molecular systems defined -using molecule template files via the molecule and -atom_style template commands. -

    -

    Related commands: -

    -

    create_atoms -

    -

    Default: -

    -

    The option defaults are compress = yes, bond = no, mol = no. -

    - +deletion by the overlap styles. You probably don’t want to be +deleting one atom in a bonded pair anyway.

    +

    The bond yes option cannot be used with molecular systems defined +using molecule template files via the molecule and +atom_style template commands.

    +
    + +
    +

    Default¶

    +

    The option defaults are compress = yes, bond = no, mol = no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/delete_bonds.html b/doc/delete_bonds.html index ccd35f4526..d302ba39d7 100644 --- a/doc/delete_bonds.html +++ b/doc/delete_bonds.html @@ -1,159 +1,328 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + delete_bonds command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    delete_bonds command -

    -

    Syntax: -

    -
    delete_bonds group-ID style arg keyword ... 
    -
    -
    • group-ID = group ID - -
    • style = multi or atom or bond or angle or dihedral or - improper or stats - -
        multi arg = none
      -  atom arg = an atom type or range of types (see below)
      -  bond arg = a bond type or range of types (see below)
      -  angle arg = an angle type or range of types (see below)
      -  dihedral arg = a dihedral type or range of types (see below)
      -  improper arg = an improper type or range of types (see below)
      -  stats arg = none 
      -
      -
    • zero or more keywords may be appended - -
    • keyword = any or undo or remove or special - - -
    -

    Examples: -

    -
    delete_bonds frozen multi remove
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    delete_bonds command¶

    +
    +

    Syntax¶

    +
    delete_bonds group-ID style arg keyword ...
    +
    +
    +
      +
    • group-ID = group ID

      +
    • +
    • +
      style = multi or atom or bond or angle or dihedral or
      +

      improper or stats

      +
      +
      +
    • +
    +
    +multi arg = none
    +  atom arg = an atom type or range of types (see below)
    +  bond arg = a bond type or range of types (see below)
    +  angle arg = an angle type or range of types (see below)
    +  dihedral arg = a dihedral type or range of types (see below)
    +  improper arg = an improper type or range of types (see below)
    +  stats arg = none
    +
    +
      +
    • zero or more keywords may be appended
    • +
    • keyword = any or undo or remove or special
    • +
    +
    +
    +

    Examples¶

    +
    delete_bonds frozen multi remove
     delete_bonds all atom 4 special
     delete_bonds all bond 0*3 special
    -delete_bonds all stats 
    -
    -

    Description: -

    -

    Turn off (or on) molecular topology interactions, i.e. bonds, angles, +delete_bonds all stats +

    + + +
    +

    Description¶

    +

    Turn off (or on) molecular topology interactions, i.e. bonds, angles, dihedrals, impropers. This command is useful for deleting interactions that have been previously turned off by bond-breaking potentials. It is also useful for turning off topology interactions between frozen or rigid atoms. Pairwise interactions can be turned -off via the neigh_modify exclude command. The -fix shake command also effectively turns off certain -bond and angle interactions. -

    -

    For all styles, by default, an interaction is only turned off (or on) -if all the atoms involved are in the specified group. See the any -keyword to change the behavior. -

    -

    Several of the styles (atom, bond, angle, dihedral, -improper) take a type as an argument. The specified type should +off via the neigh_modify exclude command. The +fix shake command also effectively turns off certain +bond and angle interactions.

    +

    For all styles, by default, an interaction is only turned off (or on) +if all the atoms involved are in the specified group. See the any +keyword to change the behavior.

    +

    Several of the styles (atom, bond, angle, dihedral, +improper) take a type as an argument. The specified type should be an integer from 0 to N, where N is the number of relevant types (atom types, bond types, etc). A value of 0 is only relevant for -style bond; see details below. In all cases, a wildcard asterisk -can be used in place of or in conjunction with the type argument to -specify a range of types. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the number of types, then an asterisk with no numeric +style bond; see details below. In all cases, a wildcard asterisk +can be used in place of or in conjunction with the type argument to +specify a range of types. This takes the form “*” or “n” or “n” or +“m*n”. If N = the number of types, then an asterisk with no numeric values means all types from 0 to N. A leading asterisk means all types from 0 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that it is fine to include a type of 0 for -non-bond styles; it will simply be ignored. -

    -

    For style multi all bond, angle, dihedral, and improper interactions -of any type, involving atoms in the group, are turned off. -

    -

    Style atom is the same as style multi except that in addition, one +non-bond styles; it will simply be ignored.

    +

    For style multi all bond, angle, dihedral, and improper interactions +of any type, involving atoms in the group, are turned off.

    +

    Style atom is the same as style multi except that in addition, one or more of the atoms involved in the bond, angle, dihedral, or -improper interaction must also be of the specified atom type. -

    -

    For style bond, only bonds are candidates for turn-off, and the bond -must also be of the specified type. Styles angle, dihedral, and -improper are treated similarly. -

    -

    For style bond, you can set the type to 0 to delete bonds that have +improper interaction must also be of the specified atom type.

    +

    For style bond, only bonds are candidates for turn-off, and the bond +must also be of the specified type. Styles angle, dihedral, and +improper are treated similarly.

    +

    For style bond, you can set the type to 0 to delete bonds that have been previously broken by a bond-breaking potential (which sets the -bond type to 0 when a bond is broken); e.g. see the bond_style -quartic command. -

    -

    For style stats no interactions are turned off (or on); the status +bond type to 0 when a bond is broken); e.g. see the bond_style quartic command.

    +

    For style stats no interactions are turned off (or on); the status of all interactions in the specified group is simply reported. This is useful for diagnostic purposes if bonds have been turned off by a -bond-breaking potential during a previous run. -

    -

    The default behavior of the delete_bonds command is to turn off +bond-breaking potential during a previous run.

    +

    The default behavior of the delete_bonds command is to turn off interactions by toggling their type to a negative value, but not to permanently remove the interaction. E.g. a bond_type of 2 is set to -2. The neighbor list creation routines will not include such an interaction in their interaction lists. The default is also to not alter the list of 1-2, 1-3, 1-4 neighbors computed by the -special_bonds command and used to weight pairwise +special_bonds command and used to weight pairwise force and energy calculations. This means that pairwise computations -will proceed as if the bond (or angle, etc) were still turned on. -

    -

    Several keywords can be appended to the argument list to alter the -default behaviors. -

    -

    The any keyword changes the requirement that all atoms in the bond +will proceed as if the bond (or angle, etc) were still turned on.

    +

    Several keywords can be appended to the argument list to alter the +default behaviors.

    +

    The any keyword changes the requirement that all atoms in the bond (angle, etc) must be in the specified group in order to turn-off the interaction. Instead, if any of the atoms in the interaction are in -the specified group, it will be turned off (or on if the undo -keyword is used). -

    -

    The undo keyword inverts the delete_bonds command so that the +the specified group, it will be turned off (or on if the undo +keyword is used).

    +

    The undo keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For -example, for style angle, if type is specified as 2, then all +example, for style angle, if type is specified as 2, then all angles with current type = -2, are reset to type = 2. Note that the -fix shake command also sets bond and angle types -negative, so this option should not be used on those interactions. -

    -

    The remove keyword is invoked at the end of the delete_bonds +fix shake command also sets bond and angle types +negative, so this option should not be used on those interactions.

    +

    The remove keyword is invoked at the end of the delete_bonds operation. It causes turned-off bonds (angles, etc) to be removed -from each atom's data structure and then adjusts the global bond +from each atom’s data structure and then adjusts the global bond (angle, etc) counts accordingly. Removal is a permanent change; -removed bonds cannot be turned back on via the undo keyword. -Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. -

    -

    The special keyword is invoked at the end of the delete_bonds +removed bonds cannot be turned back on via the undo keyword. +Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list.

    +

    The special keyword is invoked at the end of the delete_bonds operation, after (optional) removal. It re-computes the pairwise 1-2, 1-3, 1-4 weighting list. The weighting list computation treats turned-off bonds the same as turned-on. Thus, turned-off bonds must -be removed if you wish to change the weighting list. -

    -

    Note that the choice of remove and special options affects how +be removed if you wish to change the weighting list.

    +

    Note that the choice of remove and special options affects how 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that -have been modified by the delete_bonds command. -

    -

    Restrictions: -

    -

    This command requires inter-processor communication to coordinate the +have been modified by the delete_bonds command.

    +
    +
    +

    Restrictions¶

    +

    This command requires inter-processor communication to coordinate the deleting of bonds. This means that your system must be ready to perform a simulation before using this command (force fields setup, -atom masses set, etc). -

    -

    If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 -weighting list is not recomputed, this can cause a later fix -shake command to fail due to an atom's bonds being +atom masses set, etc).

    +

    If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 +weighting list is not recomputed, this can cause a later fix shake command to fail due to an atom’s bonds being inconsistent with the weighting list. This should only happen if the group used in the fix command includes both atoms in the bond, in -which case you probably should be recomputing the weighting list. -

    -

    Related commands: -

    -

    neigh_modify exclude, -special_bonds, fix shake -

    -

    Default: none -

    - +which case you probably should be recomputing the weighting list.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dielectric.html b/doc/dielectric.html index 9ba1459bcd..e10cd1ca4d 100644 --- a/doc/dielectric.html +++ b/doc/dielectric.html @@ -1,44 +1,233 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dielectric command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dielectric command -

    -

    Syntax: -

    -
    dielectric value 
    -
    -
    • value = dielectric constant -
    -

    Examples: -

    -
    dielectric 2.0 
    -
    -

    Description: -

    -

    Set the dielectric constant for Coulombic interactions (pairwise and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dielectric command¶

    +
    +

    Syntax¶

    +
    dielectric value
    +
    +
    +
      +
    • value = dielectric constant
    • +
    +
    +
    +

    Examples¶

    +
    dielectric 2.0
    +
    +
    +
    +
    +

    Description¶

    +

    Set the dielectric constant for Coulombic interactions (pairwise and long-range) to this value. The constant is unitless, since it is used to reduce the strength of the interactions. The value is used in the denominator of the formulas for Coulombic interactions - e.g. a value of 4.0 reduces the Coulombic interactions to 25% of their default -strength. See the pair_style command for more -details. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_style -

    -

    Default: -

    -
    dielectric 1.0 
    -
    - +strength. See the pair_style command for more +details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +
    dielectric 1.0
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_charmm.html b/doc/dihedral_charmm.html index 10a1588f63..b51e9b9160 100644 --- a/doc/dihedral_charmm.html +++ b/doc/dihedral_charmm.html @@ -1,61 +1,178 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style charmm command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style charmm command -

    -

    dihedral_style charmm/kk command -

    -

    dihedral_style charmm/omp command -

    -

    Syntax: -

    -
    dihedral_style charmm 
    -
    -

    Examples: -

    -
    dihedral_style charmm
    -dihedral_coeff 1 120.0 1 60 0.5 
    -
    -

    Description: -

    -

    The charmm dihedral style uses the potential -

    -
    -
    -

    See (MacKerell) for a description of the CHARMM force + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style charmm command¶

    +
    +
    +

    dihedral_style charmm/kk command¶

    +
    +
    +

    dihedral_style charmm/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style charmm
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style charmm
    +dihedral_coeff 1 120.0 1 60 0.5
    +
    +
    +
    +
    +

    Description¶

    +

    The charmm dihedral style uses the potential

    +_images/dihedral_charmm.jpg +

    See (MacKerell) for a description of the CHARMM force field. This dihedral style can also be used for the AMBER force field -(see comment on weighting factors below). See (Cornell) -for a description of the AMBER force field. -

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • n (integer >= 0) -
    • d (integer value of degrees) -
    • weighting factor (0.0 to 1.0) -
    -

    The weighting factor is applied to pairwise interaction between the +(see comment on weighting factors below). See (Cornell) +for a description of the AMBER force field.

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • n (integer >= 0)
    • +
    • d (integer value of degrees)
    • +
    • weighting factor (0.0 to 1.0)
    • +
    +

    The weighting factor is applied to pairwise interaction between the 1st and 4th atoms in the dihedral, which are computed by a CHARMM -pair_style with epsilon and sigma values specified -with a pair_coeff command. Note that this +pair_style with epsilon and sigma values specified +with a pair_coeff command. Note that this weighting factor is unrelated to the weighting factor specified by the -special bonds command which applies to all 1-4 -interactions in the system. -

    -

    For CHARMM force fields, the special_bonds 1-4 weighting factor should -be set to 0.0. This is because the pair styles that contain "charmm" -(e.g. pair_style lj/charmm/coul/long) define extra +special bonds command which applies to all 1-4 +interactions in the system.

    +

    For CHARMM force fields, the special_bonds 1-4 weighting factor should +be set to 0.0. This is because the pair styles that contain “charmm” +(e.g. pair_style lj/charmm/coul/long) define extra 1-4 interaction coefficients that are used by this dihedral style to compute those interactions explicitly. This means that if any of the weighting factors defined as dihedral coefficients (4th coeff above) @@ -63,61 +180,107 @@ are non-zero, then you must use a charmm pair style. Note that if you do not set the special_bonds 1-4 weighting factor to 0.0 (which is the default) then 1-4 interactions in dihedrals will be computed twice, once by the pair routine and once by the dihedral routine, which is -probably not what you want. -

    -

    For AMBER force fields, the special_bonds 1-4 weighting factor should +probably not what you want.

    +

    For AMBER force fields, the special_bonds 1-4 weighting factor should be set to the AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors (4th coeff above) should be set to 0.0. In this case, you can use any pair style you wish, since the dihedral does not -need any 1-4 information. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +need any 1-4 information.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). -

    - +
    -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem B, 102, 3586 (1998). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_class2.html b/doc/dihedral_class2.html index 1dc4af3f4e..6376f1e223 100644 --- a/doc/dihedral_class2.html +++ b/doc/dihedral_class2.html @@ -1,185 +1,349 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style class2 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style class2 command -

    -

    dihedral_style class2/omp command -

    -

    Syntax: -

    -
    dihedral_style class2 
    -
    -

    Examples: -

    -
    dihedral_style class2
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style class2 command¶

    +
    +
    +

    dihedral_style class2/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style class2
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style class2
     dihedral_coeff 1 100 75 100 70 80 60
    -dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228 
    +dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228
     dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010
    -dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270 
    -dihedral_coeff * aat -13.5271 110.2453 105.1270 
    -dihedral_coeff * bb13 0.0 1.0119 1.1010 
    -
    -

    Description: -

    -

    The class2 dihedral style uses the potential -

    -
    -
    -

    where Ed is the dihedral term, Embt is a middle-bond-torsion term, +dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270 +dihedral_coeff * aat -13.5271 110.2453 105.1270 +dihedral_coeff * bb13 0.0 1.0119 1.1010 +

    + + +
    +

    Description¶

    +

    The class2 dihedral style uses the potential

    +_images/dihedral_class2.jpg +

    where Ed is the dihedral term, Embt is a middle-bond-torsion term, Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat -is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. -

    -

    Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium -bond lengths. -

    -

    See (Sun) for a description of the COMPASS class2 force field. -

    -

    Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas +is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term.

    +

    Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium +bond lengths.

    +

    See (Sun) for a description of the COMPASS class2 force field.

    +

    Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas must be defined for each dihedral type via the -dihedral_coeff command as in the example above, +dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands. -

    -

    These are the 6 coefficients for the Ed formula: -

    -
    • K1 (energy) -
    • phi1 (degrees) -
    • K2 (energy) -
    • phi2 (degrees) -
    • K3 (energy) -
    • phi3 (degrees) -
    -

    For the Embt formula, each line in a -dihedral_coeff command in the input script lists -5 coefficients, the first of which is "mbt" to indicate they are +read_data or read_restart +commands.

    +

    These are the 6 coefficients for the Ed formula:

    +
      +
    • K1 (energy)
    • +
    • phi1 (degrees)
    • +
    • K2 (energy)
    • +
    • phi2 (degrees)
    • +
    • K3 (energy)
    • +
    • phi3 (degrees)
    • +
    +

    For the Embt formula, each line in a +dihedral_coeff command in the input script lists +5 coefficients, the first of which is “mbt” to indicate they are MiddleBondTorsion coefficients. In a data file, these coefficients -should be listed under a "MiddleBondTorsion Coeffs" heading and you -must leave out the "mbt", i.e. only list 4 coefficients after the -dihedral type. -

    -
    • mbt -
    • A1 (energy/distance) -
    • A2 (energy/distance) -
    • A3 (energy/distance) -
    • r2 (distance) -
    -

    For the Eebt formula, each line in a -dihedral_coeff command in the input script lists -9 coefficients, the first of which is "ebt" to indicate they are +should be listed under a “MiddleBondTorsion Coeffs” heading and you +must leave out the “mbt”, i.e. only list 4 coefficients after the +dihedral type.

    +
      +
    • mbt
    • +
    • A1 (energy/distance)
    • +
    • A2 (energy/distance)
    • +
    • A3 (energy/distance)
    • +
    • r2 (distance)
    • +
    +

    For the Eebt formula, each line in a +dihedral_coeff command in the input script lists +9 coefficients, the first of which is “ebt” to indicate they are EndBondTorsion coefficients. In a data file, these coefficients -should be listed under a "EndBondTorsion Coeffs" heading and you must -leave out the "ebt", i.e. only list 8 coefficients after the dihedral -type. -

    -
    • ebt -
    • B1 (energy/distance) -
    • B2 (energy/distance) -
    • B3 (energy/distance) -
    • C1 (energy/distance) -
    • C2 (energy/distance) -
    • C3 (energy/distance) -
    • r1 (distance) -
    • r3 (distance) -
    -

    For the Eat formula, each line in a -dihedral_coeff command in the input script lists -9 coefficients, the first of which is "at" to indicate they are +should be listed under a “EndBondTorsion Coeffs” heading and you must +leave out the “ebt”, i.e. only list 8 coefficients after the dihedral +type.

    +
      +
    • ebt
    • +
    • B1 (energy/distance)
    • +
    • B2 (energy/distance)
    • +
    • B3 (energy/distance)
    • +
    • C1 (energy/distance)
    • +
    • C2 (energy/distance)
    • +
    • C3 (energy/distance)
    • +
    • r1 (distance)
    • +
    • r3 (distance)
    • +
    +

    For the Eat formula, each line in a +dihedral_coeff command in the input script lists +9 coefficients, the first of which is “at” to indicate they are AngleTorsion coefficients. In a data file, these coefficients should -be listed under a "AngleTorsion Coeffs" heading and you must leave out -the "at", i.e. only list 8 coefficients after the dihedral type. -

    -
    • at -
    • D1 (energy/radian) -
    • D2 (energy/radian) -
    • D3 (energy/radian) -
    • E1 (energy/radian) -
    • E2 (energy/radian) -
    • E3 (energy/radian) -
    • theta1 (degrees) -
    • theta2 (degrees) -
    -

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them +be listed under a “AngleTorsion Coeffs” heading and you must leave out +the “at”, i.e. only list 8 coefficients after the dihedral type.

    +
      +
    • at
    • +
    • D1 (energy/radian)
    • +
    • D2 (energy/radian)
    • +
    • D3 (energy/radian)
    • +
    • E1 (energy/radian)
    • +
    • E2 (energy/radian)
    • +
    • E3 (energy/radian)
    • +
    • theta1 (degrees)
    • +
    • theta2 (degrees)
    • +
    +

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them to radians internally; hence the units of D and E are in -energy/radian. -

    -

    For the Eaat formula, each line in a -dihedral_coeff command in the input script lists -4 coefficients, the first of which is "aat" to indicate they are +energy/radian.

    +

    For the Eaat formula, each line in a +dihedral_coeff command in the input script lists +4 coefficients, the first of which is “aat” to indicate they are AngleAngleTorsion coefficients. In a data file, these coefficients -should be listed under a "AngleAngleTorsion Coeffs" heading and you -must leave out the "aat", i.e. only list 3 coefficients after the -dihedral type. -

    -
    • aat -
    • M (energy/radian^2) -
    • theta1 (degrees) -
    • theta2 (degrees) -
    -

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of M are in energy/radian^2. -

    -

    For the Ebb13 formula, each line in a -dihedral_coeff command in the input script lists -4 coefficients, the first of which is "bb13" to indicate they are +should be listed under a “AngleAngleTorsion Coeffs” heading and you +must leave out the “aat”, i.e. only list 3 coefficients after the +dihedral type.

    +
      +
    • aat
    • +
    • M (energy/radian^2)
    • +
    • theta1 (degrees)
    • +
    • theta2 (degrees)
    • +
    +

    Theta1 and theta2 are specified in degrees, but LAMMPS converts them +to radians internally; hence the units of M are in energy/radian^2.

    +

    For the Ebb13 formula, each line in a +dihedral_coeff command in the input script lists +4 coefficients, the first of which is “bb13” to indicate they are BondBond13 coefficients. In a data file, these coefficients should be -listed under a "BondBond13 Coeffs" heading and you must leave out the -"bb13", i.e. only list 3 coefficients after the dihedral type. -

    -
    • bb13 -
    • N (energy/distance^2) -
    • r1 (distance) -
    • r3 (distance) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +listed under a “BondBond13 Coeffs” heading and you must leave out the +“bb13”, i.e. only list 3 coefficients after the dihedral type.

    +
      +
    • bb13
    • +
    • N (energy/distance^2)
    • +
    • r1 (distance)
    • +
    • r3 (distance)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +CLASS2 package. See the Making LAMMPS +section for more info on packages.

    +
    + + -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -CLASS2 package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_coeff.html b/doc/dihedral_coeff.html index 5461b7e706..45adc65ee9 100644 --- a/doc/dihedral_coeff.html +++ b/doc/dihedral_coeff.html @@ -1,113 +1,290 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_coeff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_coeff command -

    -

    Syntax: -

    -
    dihedral_coeff N args 
    -
    -
    • N = dihedral type (see asterisk form below) -
    • args = coefficients for one or more dihedral types -
    -

    Examples: -

    -
    dihedral_coeff 1 80.0 1 3
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_coeff command¶

    +
    +

    Syntax¶

    +
    dihedral_coeff N args
    +
    +
    +
      +
    • N = dihedral type (see asterisk form below)
    • +
    • args = coefficients for one or more dihedral types
    • +
    +
    +
    +

    Examples¶

    +
    dihedral_coeff 1 80.0 1 3
     dihedral_coeff * 80.0 1 3 0.5
    -dihedral_coeff 2* 80.0 1 3 0.5 
    -
    -

    Description: -

    -
    - -

    Specify the dihedral force field coefficients for one or more dihedral types. +dihedral_coeff 2* 80.0 1 3 0.5 +

    + + +
    +

    Description¶

    +
    +

    Specify the dihedral force field coefficients for one or more dihedral types. The number and meaning of the coefficients depends on the dihedral style. Dihedral coefficients can also be set in the data file read by the -read_data command or in a restart file. -

    -

    N can be specified in one of two ways. An explicit numeric value can +read_data command or in a restart file.

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple dihedral types. This takes the -form "*" or "*n" or "n*" or "m*n". If N = the number of dihedral types, +form “*” or “n” or “n” or “m*n”. If N = the number of dihedral types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). -

    -

    Note that using a dihedral_coeff command can override a previous setting +means all types from m to n (inclusive).

    +

    Note that using a dihedral_coeff command can override a previous setting for the same dihedral type. For example, these commands set the coeffs -for all dihedral types, then overwrite the coeffs for just dihedral type 2: -

    -
    dihedral_coeff * 80.0 1 3
    -dihedral_coeff 2 200.0 1 3 
    -
    -

    A line in a data file that specifies dihedral coefficients uses the exact +for all dihedral types, then overwrite the coeffs for just dihedral type 2:

    +
    dihedral_coeff * 80.0 1 3
    +dihedral_coeff 2 200.0 1 3
    +
    +
    +

    A line in a data file that specifies dihedral coefficients uses the exact same format as the arguments of the dihedral_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the "Dihedral Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as -

    -
    1 80.0 1 3 
    -
    -

    The dihedral_style class2 is an exception to +under the “Dihedral Coeffs” section of a data file, the line that +corresponds to the 1st example above would be listed as

    +
    1 80.0 1 3
    +
    +
    +

    The dihedral_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc -page for details. -

    -

    IMPORTANT NOTE: When comparing the formulas and coefficients for +page for details.

    +
    +

    Warning

    +

    When comparing the formulas and coefficients for various LAMMPS dihedral styles with dihedral equations defined by other force fields, note that some force field implementations -divide/multiply the energy prefactor K by the multiple number of +divide/multiply the energy prefactor K by the multiple number of torsions that contain the J-K bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed dihedral equation applies to each -individual dihedral. Thus you need to define K appropriately to -account for this difference if necessary. -

    -
    - -

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +individual dihedral. Thus you need to define K appropriately to +account for this difference if necessary.

    +
    +
    +

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated dihedral_coeff command. -

    -

    Note that there are also additional dihedral styles submitted by users +specified by the associated dihedral_coeff command.

    +

    Note that there are also additional dihedral styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the dihedral section of -this page. -

    - - -
    +this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +

    A dihedral style must be defined before any dihedral coefficients are +set, either in the input script or in a data file.

    +
    + + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    A dihedral style must be defined before any dihedral coefficients are -set, either in the input script or in a data file. -

    -

    Related commands: -

    -

    dihedral_style -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_cosine_shift_exp.html b/doc/dihedral_cosine_shift_exp.html index b6712072e9..97ad1a1f3c 100644 --- a/doc/dihedral_cosine_shift_exp.html +++ b/doc/dihedral_cosine_shift_exp.html @@ -1,92 +1,263 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style cosine/shift/exp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style cosine/shift/exp command -

    -

    dihedral_style cosine/shift/exp/omp command -

    -

    Syntax: -

    -
    dihedral_style cosine/shift/exp 
    -
    -

    Examples: -

    -
    dihedral_style cosine/shift/exp
    -dihedral_coeff 1 10.0 45.0 2.0 
    -
    -

    Description: -

    -

    The cosine/shift/exp dihedral style uses the potential -

    -
    -
    -

    where Umin, theta, and a are defined for each dihedral type. -

    -

    The potential is bounded between [-Umin:0] and the minimum is located + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style cosine/shift/exp command¶

    +
    +
    +

    dihedral_style cosine/shift/exp/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style cosine/shift/exp
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style cosine/shift/exp
    +dihedral_coeff 1 10.0 45.0 2.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cosine/shift/exp dihedral style uses the potential

    +_images/dihedral_cosine_shift_exp.jpg +

    where Umin, theta, and a are defined for each dihedral type.

    +

    The potential is bounded between [-Umin:0] and the minimum is located at the angle theta0. The a parameter can be both positive or negative -and is used to control the spring constant at the equilibrium. -

    -

    The spring constant is given by k=a exp(a) Umin/ [2 (Exp(a)-1)]. -For a>3 k/Umin = a/2 to better than 5% relative error. For negative +and is used to control the spring constant at the equilibrium.

    +

    The spring constant is given by k=a exp(a) Umin/ [2 (Exp(a)-1)]. +For a>3 k/Umin = a/2 to better than 5% relative error. For negative values of the a parameter, the spring constant is essentially zero, and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a->0, where it has been implemented to linear -order in a for a < 0.001. -

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example +behaved in the limit a->0, where it has been implemented to linear +order in a for a < 0.001.

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • umin (energy) -
    • theta (angle) -
    • A (real number) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • umin (energy)
    • +
    • theta (angle)
    • +
    • A (real number)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff, -angle_cosineshiftexp -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_fourier.html b/doc/dihedral_fourier.html index f1b85a1692..98f2bfae85 100644 --- a/doc/dihedral_fourier.html +++ b/doc/dihedral_fourier.html @@ -1,82 +1,256 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style fourier command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style fourier command -

    -

    dihedral_style fourier/omp command -

    -

    Syntax: -

    -
    dihedral_style fourier 
    -
    -

    Examples: -

    -
    dihedral_style fourier
    -dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0 
    -
    -

    Description: -

    -

    The fourier dihedral style uses the potential: -

    -
    -
    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • m (integer >=1) -
    • K1 (energy) -
    • n1 (integer >= 0) -
    • d1 (degrees) -
    • .... -
    • Km (energy) -
    • nm (integer >= 0) -
    • dm (degrees) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style fourier command¶

    +
    +
    +

    dihedral_style fourier/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style fourier
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style fourier
    +dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0
    +
    +
    +
    +
    +

    Description¶

    +

    The fourier dihedral style uses the potential:

    +_images/dihedral_fourier.jpg +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • m (integer >=1)
    • +
    • K1 (energy)
    • +
    • n1 (integer >= 0)
    • +
    • d1 (degrees)
    • +
    • +
    • Km (energy)
    • +
    • nm (integer >= 0)
    • +
    • dm (degrees)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_harmonic.html b/doc/dihedral_harmonic.html index b4bc70655d..d8d838420f 100644 --- a/doc/dihedral_harmonic.html +++ b/doc/dihedral_harmonic.html @@ -1,90 +1,264 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style harmonic command -

    -

    dihedral_style harmonic/omp command -

    -

    Syntax: -

    -
    dihedral_style harmonic 
    -
    -

    Examples: -

    -
    dihedral_style harmonic
    -dihedral_coeff 1 80.0 1 2 
    -
    -

    Description: -

    -

    The harmonic dihedral style uses the potential -

    -
    -
    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K (energy) -
    • d (+1 or -1) -
    • n (integer >= 0) -
    -

    IMPORTANT NOTE: Here are important points to take note of when + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style harmonic command¶

    +
    +
    +

    dihedral_style harmonic/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style harmonic
    +dihedral_coeff 1 80.0 1 2
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic dihedral style uses the potential

    +_images/dihedral_harmonic.jpg +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K (energy)
    • +
    • d (+1 or -1)
    • +
    • n (integer >= 0)
    • +
    +
    +

    Warning

    +

    Here are important points to take note of when defining LAMMPS dihedral coefficients for the harmonic style, so that they are compatible with how harmonic dihedrals are defined by other -force fields: -

    -
    • The LAMMPS convention is that the trans position = 180 degrees, while -in some force fields trans = 0 degrees. - -
    • Some force fields reverse the sign convention on d. - -
    • Some force fields let n be positive or negative which corresponds to -d = 1 or -1 for the harmonic style. -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +force fields:

    +
    +
      +
    • The LAMMPS convention is that the trans position = 180 degrees, while +in some force fields trans = 0 degrees.
    • +
    • Some force fields reverse the sign convention on d.
    • +
    • Some force fields let n be positive or negative which corresponds to +d = 1 or -1 for the harmonic style.
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_helix.html b/doc/dihedral_helix.html index 461cbb399f..1969d84e5a 100644 --- a/doc/dihedral_helix.html +++ b/doc/dihedral_helix.html @@ -1,91 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style helix command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style helix command -

    -

    dihedral_style helix/omp command -

    -

    Syntax: -

    -
    dihedral_style helix 
    -
    -

    Examples: -

    -
    dihedral_style helix
    -dihedral_coeff 1 80.0 100.0 40.0 
    -
    -

    Description: -

    -

    The helix dihedral style uses the potential -

    -
    -
    -

    This coarse-grain dihedral potential is described in (Guo). + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style helix command¶

    +
    +
    +

    dihedral_style helix/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style helix
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style helix
    +dihedral_coeff 1 80.0 100.0 40.0
    +
    +
    +
    +
    +

    Description¶

    +

    The helix dihedral style uses the potential

    +_images/dihedral_helix.jpg +

    This coarse-grain dihedral potential is described in (Guo). For dihedral angles in the helical region, the energy function is represented by a standard potential consisting of three minima, one corresponding to the trans (t) state and the other to gauche states (g+ and g-). The paper describes how the A,B,C parameters are chosen so as to balance secondary (largely driven by local interactions) and -tertiary structure (driven by long-range interactions). -

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • A (energy) -
    • B (energy) -
    • C (energy) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +tertiary structure (driven by long-range interactions).

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • A (energy)
    • +
    • B (energy)
    • +
    • C (energy)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Guo) Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_hybrid.html b/doc/dihedral_hybrid.html index 23960e40c8..c1910ad46b 100644 --- a/doc/dihedral_hybrid.html +++ b/doc/dihedral_hybrid.html @@ -1,97 +1,275 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style hybrid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style hybrid command -

    -

    Syntax: -

    -
    dihedral_style hybrid style1 style2 ... 
    -
    -
    • style1,style2 = list of one or more dihedral styles -
    -

    Examples: -

    -
    dihedral_style hybrid harmonic helix
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style hybrid command¶

    +
    +

    Syntax¶

    +
    dihedral_style hybrid style1 style2 ...
    +
    +
    +
      +
    • style1,style2 = list of one or more dihedral styles
    • +
    +
    +
    +

    Examples¶

    +
    dihedral_style hybrid harmonic helix
     dihedral_coeff 1 harmonic 6.0 1 3
    -dihedral_coeff 2* helix 10 10 10 
    -
    -

    Description: -

    -

    The hybrid style enables the use of multiple dihedral styles in one +dihedral_coeff 2* helix 10 10 10 +

    + + +
    +

    Description¶

    +

    The hybrid style enables the use of multiple dihedral styles in one simulation. An dihedral style is assigned to each dihedral type. For example, dihedrals in a polymer flow (of dihedral type 1) could be -computed with a harmonic potential and dihedrals in the wall -boundary (of dihedral type 2) could be computed with a helix +computed with a harmonic potential and dihedrals in the wall +boundary (of dihedral type 2) could be computed with a helix potential. The assignment of dihedral type to style is made via the -dihedral_coeff command or in the data file. -

    -

    In the dihedral_coeff commands, the name of a dihedral style must be +dihedral_coeff command or in the data file.

    +

    In the dihedral_coeff commands, the name of a dihedral style must be added after the dihedral type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 dihedral_coeff commands set dihedrals of dihedral type 1 to be -computed with a harmonic potential with coefficients 6.0, 1, 3 for -K, d, n. All other dihedral types (2-N) are computed with a helix -potential with coefficients 10, 10, 10 for A, B, C. -

    -

    If dihedral coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. "harmonic" or "helix", must be added after the dihedral type, for -each line in the "Dihedral Coeffs" section, e.g. -

    -
    Dihedral Coeffs 
    -
    -
    1 harmonic 6.0 1 3
    +computed with a harmonic potential with coefficients 6.0, 1, 3 for
    +K, d, n.  All other dihedral types (2-N) are computed with a helix
    +potential with coefficients 10, 10, 10 for A, B, C.

    +

    If dihedral coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. “harmonic” or “helix”, must be added after the dihedral type, for +each line in the “Dihedral Coeffs” section, e.g.

    +
    Dihedral Coeffs
    +
    +
    +
    1 harmonic 6.0 1 3
     2 helix 10 10 10
    -... 
    -
    -

    If class2 is one of the dihedral hybrid styles, the same rule holds +... +

    + +

    If class2 is one of the dihedral hybrid styles, the same rule holds for specifying additional AngleTorsion (and EndBondTorsion, etc) coefficients either via the input script or in the data file. -I.e. class2 must be added to each line after the dihedral type. For +I.e. class2 must be added to each line after the dihedral type. For lines in the AngleTorsion (or EndBondTorsion, etc) section of the data -file for dihedral types that are not class2, you must use an -dihedral style of skip as a placeholder, e.g. -

    -
    AngleTorsion Coeffs 
    -
    -
    1 skip
    +file for dihedral types that are not class2, you must use an
    +dihedral style of skip as a placeholder, e.g.

    +
    AngleTorsion Coeffs
    +
    +
    +
    1 skip
     2 class2 1.0 1.0 1.0 3.0 3.0 3.0 30.0 50.0
    -... 
    -
    -

    Note that it is not necessary to use the dihedral style skip in the +... +

    + +

    Note that it is not necessary to use the dihedral style skip in the input script, since AngleTorsion (or EndBondTorsion, etc) coefficients -need not be specified at all for dihedral types that are not class2. -

    -

    A dihedral style of none with no additional coefficients can be used +need not be specified at all for dihedral types that are not class2.

    +

    A dihedral style of none with no additional coefficients can be used in place of a dihedral style, either in a input script dihedral_coeff command or in the data file, if you desire to turn off interactions -for specific dihedral types. -

    -
    +for specific dihedral types.

    + +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    Unlike other dihedral styles, the hybrid dihedral style does not store +dihedral coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a +restart file, you need to re-specify dihedral_coeff commands.

    +
    + + -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Unlike other dihedral styles, the hybrid dihedral style does not store -dihedral coefficient info for individual sub-styles in a binary -restart files. Thus when retarting a simulation from a -restart file, you need to re-specify dihedral_coeff commands. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_multi_harmonic.html b/doc/dihedral_multi_harmonic.html index 5557b772b4..9fc9d7ac88 100644 --- a/doc/dihedral_multi_harmonic.html +++ b/doc/dihedral_multi_harmonic.html @@ -1,79 +1,252 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style multi/harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style multi/harmonic command -

    -

    dihedral_style multi/harmonic/omp command -

    -

    Syntax: -

    -
    dihedral_style multi/harmonic 
    -
    -

    Examples: -

    -
    dihedral_style multi/harmonic
    -dihedral_coeff 1 20 20 20 20 20 
    -
    -

    Description: -

    -

    The multi/harmonic dihedral style uses the potential -

    -
    -
    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • A1 (energy) -
    • A2 (energy) -
    • A3 (energy) -
    • A4 (energy) -
    • A5 (energy) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style multi/harmonic command¶

    +
    +
    +

    dihedral_style multi/harmonic/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style multi/harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style multi/harmonic
    +dihedral_coeff 1 20 20 20 20 20
    +
    +
    +
    +
    +

    Description¶

    +

    The multi/harmonic dihedral style uses the potential

    +_images/dihedral_multi_harmonic.jpg +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • A1 (energy)
    • +
    • A2 (energy)
    • +
    • A3 (energy)
    • +
    • A4 (energy)
    • +
    • A5 (energy)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_nharmonic.html b/doc/dihedral_nharmonic.html index 256ea0651a..6450ec8f03 100644 --- a/doc/dihedral_nharmonic.html +++ b/doc/dihedral_nharmonic.html @@ -1,79 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style nharmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style nharmonic command -

    -

    dihedral_style nharmonic/omp command -

    -

    Syntax: -

    -
    dihedral_style nharmonic 
    -
    -

    Examples: -

    -
    dihedral_style nharmonic
    -dihedral_coeff 3 10.0 20.0 30.0 
    -
    -

    Description: -

    -

    The nharmonic dihedral style uses the potential: -

    -
    -
    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • n (integer >=1) -
    • A1 (energy) -
    • A2 (energy) -
    • ... -
    • An (energy) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style nharmonic command¶

    +
    +
    +

    dihedral_style nharmonic/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style nharmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style nharmonic
    +dihedral_coeff 3 10.0 20.0 30.0
    +
    +
    +
    +
    +

    Description¶

    +

    The nharmonic dihedral style uses the potential:

    +_images/dihedral_nharmonic.jpg +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • n (integer >=1)
    • +
    • A1 (energy)
    • +
    • A2 (energy)
    • +
    • ...
    • +
    • An (energy)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_none.html b/doc/dihedral_none.html index 439ab77036..83dbd7d8a4 100644 --- a/doc/dihedral_none.html +++ b/doc/dihedral_none.html @@ -1,34 +1,218 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style none command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style none command -

    -

    Syntax: -

    -
    dihedral_style none 
    -
    -

    Examples: -

    -
    dihedral_style none 
    -
    -

    Description: -

    -

    Using an dihedral style of none means dihedral forces are not + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style none command¶

    +
    +

    Syntax¶

    +
    dihedral_style none
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style none
    +
    +
    +
    +
    +

    Description¶

    +

    Using an dihedral style of none means dihedral forces are not computed, even if quadruplets of dihedral atoms were listed in the -data file read by the read_data command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +data file read by the read_data command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_opls.html b/doc/dihedral_opls.html index 133841c79c..c509b8111a 100644 --- a/doc/dihedral_opls.html +++ b/doc/dihedral_opls.html @@ -1,93 +1,261 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style opls command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style opls command -

    -

    dihedral_style opls/kk command -

    -

    dihedral_style opls/omp command -

    -

    Syntax: -

    -
    dihedral_style opls 
    -
    -

    Examples: -

    -
    dihedral_style opls
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style opls command¶

    +
    +
    +

    dihedral_style opls/kk command¶

    +
    +
    +

    dihedral_style opls/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style opls
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style opls
     dihedral_coeff 1 1.740 -0.157 0.279 0.00   # CT-CT-CT-CT
     dihedral_coeff 2 0.000 0.000 0.366 0.000   # CT-CT-CT-HC
    -dihedral_coeff 3 0.000 0.000 0.318 0.000   # HC-CT-CT-HC 
    -
    -

    Description: -

    -

    The opls dihedral style uses the potential -

    -
    -
    -

    Note that the usual 1/2 factor is not included in the K values. -

    -

    This dihedral potential is used in the OPLS force field and is -described in (Watkins). -

    -

    The following coefficients must be defined for each dihedral type via the -dihedral_coeff command as in the example above, or in -the data file or restart files read by the read_data -or read_restart commands: -

    -
    • K1 (energy) -
    • K2 (energy) -
    • K3 (energy) -
    • K4 (energy) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +dihedral_coeff 3 0.000 0.000 0.318 0.000 # HC-CT-CT-HC +

    + + +
    +

    Description¶

    +

    The opls dihedral style uses the potential

    +_images/dihedral_opls.jpg +

    Note that the usual 1/2 factor is not included in the K values.

    +

    This dihedral potential is used in the OPLS force field and is +described in (Watkins).

    +

    The following coefficients must be defined for each dihedral type via the +dihedral_coeff command as in the example above, or in +the data file or restart files read by the read_data +or read_restart commands:

    +
      +
    • K1 (energy)
    • +
    • K2 (energy)
    • +
    • K3 (energy)
    • +
    • K4 (energy)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + + -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Watkins) Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_quadratic.html b/doc/dihedral_quadratic.html index 2d6ffa43f1..6faaab69f4 100644 --- a/doc/dihedral_quadratic.html +++ b/doc/dihedral_quadratic.html @@ -1,80 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style quadratic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style quadratic command -

    -

    dihedral_style quadratic/omp command -

    -

    Syntax: -

    -
    dihedral_style quadratic 
    -
    -

    Examples: -

    -
    dihedral_style quadratic
    -dihedral_coeff 100.0 80.0 
    -
    -

    Description: -

    -

    The quadratic dihedral style uses the potential: -

    -
    -
    -

    This dihedral potential can be used to keep a dihedral in a predefined -value (cis=zero, right-hand convention is used). -

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style quadratic command¶

    +
    +
    +

    dihedral_style quadratic/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style quadratic
    +
    +
    +
    +
    +

    Examples¶

    +
    dihedral_style quadratic
    +dihedral_coeff 100.0 80.0
    +
    +
    +
    +
    +

    Description¶

    +

    The quadratic dihedral style uses the potential:

    +_images/dihedral_quadratic.jpg +

    This dihedral potential can be used to keep a dihedral in a predefined +value (cis=zero, right-hand convention is used).

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy/radian^2) -
    • phi0 (degrees) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy/radian^2)
    • +
    • phi0 (degrees)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_style.html b/doc/dihedral_style.html index 0eb962eadc..f186ee018b 100644 --- a/doc/dihedral_style.html +++ b/doc/dihedral_style.html @@ -1,121 +1,296 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style command -

    -

    Syntax: -

    -
    dihedral_style style 
    -
    -
    • style = none or hybrid or charmm or class2 or harmonic or helix or multi/harmonic or opls -
    -

    Examples: -

    -
    dihedral_style harmonic
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style command¶

    +
    +

    Syntax¶

    +
    dihedral_style style
    +
    +
    +
      +
    • style = none or hybrid or charmm or class2 or harmonic or helix or multi/harmonic or opls
    • +
    +
    +
    +

    Examples¶

    +
    dihedral_style harmonic
     dihedral_style multi/harmonic
    -dihedral_style hybrid harmonic charmm 
    -
    -

    Description: -

    -

    Set the formula(s) LAMMPS uses to compute dihedral interactions +dihedral_style hybrid harmonic charmm +

    + + +
    +

    Description¶

    +

    Set the formula(s) LAMMPS uses to compute dihedral interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of dihedral quadruplets is read in by a -read_data or read_restart command -from a data or restart file. -

    -

    Hybrid models where dihedrals are computed using different dihedral -potentials can be setup using the hybrid dihedral style. -

    -

    The coefficients associated with a dihedral style can be specified in -a data or restart file or via the dihedral_coeff -command. -

    -

    All dihedral potentials store their coefficient data in binary restart +read_data or read_restart command +from a data or restart file.

    +

    Hybrid models where dihedrals are computed using different dihedral +potentials can be setup using the hybrid dihedral style.

    +

    The coefficients associated with a dihedral style can be specified in +a data or restart file or via the dihedral_coeff +command.

    +

    All dihedral potentials store their coefficient data in binary restart files which means dihedral_style and -dihedral_coeff commands do not need to be +dihedral_coeff commands do not need to be re-specified in an input script that restarts a simulation. See the -read_restart command for details on how to do -this. The one exception is that dihedral_style hybrid only stores +read_restart command for details on how to do +this. The one exception is that dihedral_style hybrid only stores the list of sub-styles in the restart file; dihedral coefficients need -to be re-specified. -

    -

    IMPORTANT NOTE: When both a dihedral and pair style is defined, the -special_bonds command often needs to be used to +to be re-specified.

    +
    +

    Warning

    +

    When both a dihedral and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between 4 bonded atoms. -

    -

    In the formulas listed for each dihedral style, phi is the torsional +exist between 4 bonded atoms.

    +
    +

    In the formulas listed for each dihedral style, phi is the torsional angle defined by the quadruplet of atoms. This angle has a sign -convention as shown in this diagram: -

    -
    -
    -

    where the I,J,K,L ordering of the 4 atoms that define the dihedral -is from left to right. -

    -

    This sign convention effects several of the dihedral styles listed +convention as shown in this diagram:

    +_images/dihedral_sign.jpg +

    where the I,J,K,L ordering of the 4 atoms that define the dihedral +is from left to right.

    +

    This sign convention effects several of the dihedral styles listed below (e.g. charmm, helix) in the sense that the energy formula depends on the sign of phi, which may be reflected in the value of the -coefficients you specify. -

    -

    IMPORTANT NOTE: When comparing the formulas and coefficients for +coefficients you specify.

    +
    +

    Warning

    +

    When comparing the formulas and coefficients for various LAMMPS dihedral styles with dihedral equations defined by other force fields, note that some force field implementations -divide/multiply the energy prefactor K by the multiple number of +divide/multiply the energy prefactor K by the multiple number of torsions that contain the J-K bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed dihedral equation applies to each -individual dihedral. Thus you need to define K appropriately via -the dihedral_coeff command to account for this -difference if necessary. -

    -
    - -

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on +individual dihedral. Thus you need to define K appropriately via +the dihedral_coeff command to account for this +difference if necessary.

    +
    +
    +

    Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated dihedral_coeff command. -

    -

    Note that there are also additional dihedral styles submitted by users +specified by the associated dihedral_coeff command.

    +

    Note that there are also additional dihedral styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the dihedral section of -this page. -

    - - -
    - -

    Restrictions: -

    -

    Dihedral styles can only be set for atom styles that allow dihedrals -to be defined. -

    -

    Most dihedral styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. +this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    Dihedral styles can only be set for atom styles that allow dihedrals +to be defined.

    +

    Most dihedral styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. The doc pages for individual dihedral potentials tell if it is part of -a package. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: -

    -

    dihedral_style none -

    - +a package.

    +
    + +
    +

    Default¶

    +

    dihedral_style none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dihedral_table.html b/doc/dihedral_table.html index 754bac683e..edd61be1d3 100644 --- a/doc/dihedral_table.html +++ b/doc/dihedral_table.html @@ -1,105 +1,223 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dihedral_style table command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dihedral_style table command -

    -

    dihedral_style table/omp command -

    -

    Syntax: -

    -
    dihedral_style table style Ntable 
    -
    -
    • style = linear or spline = method of interpolation -
    • Ntable = size of the internal lookup table -
    -

    Examples: -

    -
    dihedral_style table spline 400
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dihedral_style table command¶

    +
    +
    +

    dihedral_style table/omp command¶

    +
    +

    Syntax¶

    +
    dihedral_style table style Ntable
    +
    +
    +
      +
    • style = linear or spline = method of interpolation
    • +
    • Ntable = size of the internal lookup table
    • +
    +
    +
    +

    Examples¶

    +
    dihedral_style table spline 400
     dihedral_style table linear 1000
     dihedral_coeff 1 file.table DIH_TABLE1
    -dihedral_coeff 2 file.table DIH_TABLE2 
    -
    -

    Description: -

    -

    The table dihedral style creates interpolation tables of length -Ntable from dihedral potential and derivative values listed in a -file(s) as a function of the dihedral angle "phi". The files are read -by the dihedral_coeff command. -

    -

    The interpolation tables are created by fitting cubic splines to the +dihedral_coeff 2 file.table DIH_TABLE2 +

    + + +
    +

    Description¶

    +

    The table dihedral style creates interpolation tables of length +Ntable from dihedral potential and derivative values listed in a +file(s) as a function of the dihedral angle “phi”. The files are read +by the dihedral_coeff command.

    +

    The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of -Ntable dihedral angles. During a simulation, these tables are used +Ntable dihedral angles. During a simulation, these tables are used to interpolate energy and force values on individual atoms as -needed. The interpolation is done in one of 2 styles: linear or -spline. -

    -

    For the linear style, the dihedral angle (phi) is used to find 2 +needed. The interpolation is done in one of 2 styles: linear or +spline.

    +

    For the linear style, the dihedral angle (phi) is used to find 2 surrounding table values from which an energy or its derivative is -computed by linear interpolation. -

    -

    For the spline style, cubic spline coefficients are computed and -stored at each of the Ntable evenly-spaced values in the +computed by linear interpolation.

    +

    For the spline style, cubic spline coefficients are computed and +stored at each of the Ntable evenly-spaced values in the interpolated table. For a given dihedral angle (phi), the appropriate coefficients are chosen from this list, and a cubic polynomial is used -to compute the energy and the derivative at this angle. -

    -

    The following coefficients must be defined for each dihedral type via -the dihedral_coeff command as in the example -above. -

    -
    • filename -
    • keyword -
    -

    The filename specifies a file containing tabulated energy and +to compute the energy and the derivative at this angle.

    +

    The following coefficients must be defined for each dihedral type via +the dihedral_coeff command as in the example +above.

    +
      +
    • filename
    • +
    • keyword
    • +
    +

    The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The -format of this file is described below. -

    -
    - -

    The format of a tabulated file is as follows (without the +format of this file is described below.

    +
    +

    The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment -or blank lines. -

    -
    # Table of the potential and its negative derivative  
    -
    -
    DIH_TABLE1                   (keyword is the first text on line)
    +or blank lines.

    +
    # Table of the potential and its negative derivative
    +
    +
    +
    DIH_TABLE1                   (keyword is the first text on line)
     N 30 DEGREES                 (N, NOF, DEGREES, RADIANS, CHECKU/F)
                                  (blank line)
     1 -168.0 -1.40351172223 -0.0423346818422
     2 -156.0 -1.70447981034 -0.00811786522531
     3 -144.0 -1.62956100432 0.0184129719987
     ...
    -30 180.0 -0.707106781187 -0.0719306095245 
    -
    -
    # Example 2: table of the potential. Forces omitted 
    -
    -
    DIH_TABLE2
    -N 30 NOF CHECKU testU.dat CHECKF testF.dat 
    -
    -
    1 -168.0 -1.40351172223
    +30 180.0 -0.707106781187 -0.0719306095245
    +
    +
    +
    # Example 2: table of the potential. Forces omitted
    +
    +
    +
    DIH_TABLE2
    +N 30 NOF CHECKU testU.dat CHECKF testF.dat
    +
    +
    +
    1 -168.0 -1.40351172223
     2 -156.0 -1.70447981034
     3 -144.0 -1.62956100432
     ...
    -30 180.0 -0.707106781187 
    -
    -

    A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments +30 180.0 -0.707106781187 +

    + +

    A section begins with a non-blank line whose 1st character is not a +“#”; blank lines or lines starting with “#” can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -dihedral_coeff command. The next line lists (in +dihedral_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values. -

    -

    Following a blank line, the next N lines list the tabulated values. On +keyword followed by one or more numeric values.

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the angle value, the 3rd value is the energy (in energy units), and the 4th is -dE/d(phi) also in energy units). The 3rd term is the @@ -108,104 +226,151 @@ term (when present) is the negative derivative of the energy with respect to the angle (in degrees, or radians depending on whether the user selected DEGREES or RADIANS). Thus the units of the last term are still energy, not force. The dihedral angle values must increase -from one line to the next. -

    -

    Dihedral table splines are cyclic. There is no discontinuity at 180 +from one line to the next.

    +

    Dihedral table splines are cyclic. There is no discontinuity at 180 degrees (or at any other angle). Although in the examples above, the angles range from -180 to 180 degrees, in general, the first angle in the list can have any value (positive, zero, or negative). However -the range of angles represented in the table must be strictly less +the range of angles represented in the table must be strictly less than 360 degrees (2pi radians) to avoid angle overlap. (You may not supply entries in the table for both 180 and -180, for example.) If -the user's table covers only a narrow range of dihedral angles, -strange numerical behavior can occur in the large remaining gap. -

    -

    Parameters: -

    -

    The parameter "N" is required and its value is the number of table +the user’s table covers only a narrow range of dihedral angles, +strange numerical behavior can occur in the large remaining gap.

    +

    Parameters:

    +

    The parameter “N” is required and its value is the number of table entries that follow. Note that this may be different than the N -specified in the dihedral_style table command. -Let Ntable is the number of table entries requested dihedral_style -command, and let Nfile be the parameter following "N" in the -tabulated file ("30" in the sparse example above). What LAMMPS does -is a preliminary interpolation by creating splines using the Nfile +specified in the dihedral_style table command. +Let Ntable is the number of table entries requested dihedral_style +command, and let Nfile be the parameter following “N” in the +tabulated file (“30” in the sparse example above). What LAMMPS does +is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as -needed to generate energy and derivative values at Ntable different +needed to generate energy and derivative values at Ntable different points (which are evenly spaced over a 360 degree range, even if the -angles in the file are not). The resulting tables of length Ntable +angles in the file are not). The resulting tables of length Ntable are then used as described above, when computing energy and force for individual dihedral angles and their atoms. This means that if you -want the interpolation tables of length Ntable to match exactly what +want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively nopreliminary -interpolation), you should set Ntable = Nfile. To insure the -nodal points in the user's file are aligned with the interpolated +interpolation), you should set Ntable = Nfile. To insure the +nodal points in the user’s file are aligned with the interpolated table entries, the angles in the table should be integer multiples of -360/Ntable degrees, or 2*PI/Ntable radians (depending on your -choice of angle units). -

    -

    The optional "NOF" keyword allows the user to omit the forces +360/Ntable degrees, or 2*PI/Ntable radians (depending on your +choice of angle units).

    +

    The optional “NOF” keyword allows the user to omit the forces (negative energy derivatives) from the table file (normally located in the 4th column). In their place, forces will be calculated automatically by differentiating the potential energy function indicated by the 3rd column of the table (using either linear or -spline interpolation). -

    -

    The optional "DEGREES" keyword allows the user to specify angles in -degrees instead of radians (default). -

    -

    The optional "RADIANS" keyword allows the user to specify angles in +spline interpolation).

    +

    The optional “DEGREES” keyword allows the user to specify angles in +degrees instead of radians (default).

    +

    The optional “RADIANS” keyword allows the user to specify angles in radians instead of degrees. (Note: This changes the way the forces -are scaled in the 4th column of the data file.) -

    -

    The optional "CHECKU" keyword is followed by a filename. This allows -the user to save all of the the Ntable different entries in the +are scaled in the 4th column of the data file.)

    +

    The optional “CHECKU” keyword is followed by a filename. This allows +the user to save all of the the Ntable different entries in the interpolated energy table to a file to make sure that the interpolated -function agrees with the user's expectations. (Note: You can -temporarily increase the Ntable parameter to a high value for this -purpose. "Ntable" is explained above.) -

    -

    The optional "CHECKF" keyword is analogous to the "CHECKU" keyword. +function agrees with the user’s expectations. (Note: You can +temporarily increase the Ntable parameter to a high value for this +purpose. “Ntable” is explained above.)

    +

    The optional “CHECKF” keyword is analogous to the “CHECKU” keyword. It is followed by a filename, and it allows the user to check the interpolated force table. This option is available even if the user -selected the "NOF" option. -

    -

    Note that one file can contain many sections, each with a tabulated +selected the “NOF” option.

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one -that matches the specified keyword. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +that matches the specified keyword.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restrictions: -

    -

    This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    dihedral_coeff -

    -

    Default: none -

    - +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    + +
    +

    Restrictions¶

    +

    This dihedral style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dimension.html b/doc/dimension.html index 65099ab255..17dee72b0a 100644 --- a/doc/dimension.html +++ b/doc/dimension.html @@ -1,53 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dimension command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dimension command -

    -

    Syntax: -

    -
    dimension N 
    -
    -
    • N = 2 or 3 -
    -

    Examples: -

    -
    dimension 2 
    -
    -

    Description: -

    -

    Set the dimensionality of the simulation. By default LAMMPS runs 3d + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    dimension command¶

    +
    +

    Syntax¶

    +
    dimension N
    +
    +
    +
      +
    • N = 2 or 3
    • +
    +
    +
    +

    Examples¶

    +
    dimension 2
    +
    +
    +
    +
    +

    Description¶

    +

    Set the dimensionality of the simulation. By default LAMMPS runs 3d simulations. To run a 2d simulation, this command should be used prior to setting up a simulation box via the -create_box or read_data commands. -Restart files also store this setting. -

    -

    See the discussion in Section_howto for -additional instructions on how to run 2d simulations. -

    -

    IMPORTANT NOTE: Some models in LAMMPS treat particles as finite-size +create_box or read_data commands. +Restart files also store this setting.

    +

    See the discussion in Section_howto for +additional instructions on how to run 2d simulations.

    +
    +

    Warning

    +

    Some models in LAMMPS treat particles as finite-size spheres or ellipsoids, as opposed to point particles. In 2d, the particles will still be spheres or ellipsoids, not circular disks or -ellipses, meaning their moment of inertia will be the same as in 3d. -

    -

    Restrictions: -

    -

    This command must be used before the simulation box is defined by a -read_data or create_box command. -

    -

    Related commands: -

    -

    fix enforce2d -

    -

    Default: -

    -
    dimension 3 
    -
    - +ellipses, meaning their moment of inertia will be the same as in 3d.

    +
    +
    +
    +

    Restrictions¶

    +

    This command must be used before the simulation box is defined by a +read_data or create_box command.

    +
    + +
    +

    Default¶

    +
    dimension 3
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html index 4906a78c5e..d769595eda 100644 --- a/doc/displace_atoms.html +++ b/doc/displace_atoms.html @@ -1,125 +1,306 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + displace_atoms command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    displace_atoms command -

    -

    Syntax: -

    -
    displace_atoms group-ID style args keyword value ... 
    -
    -
    • group-ID = ID of group of atoms to displace - -
    • style = move or ramp or random or rotate - -
        move args = delx dely delz
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      displace_atoms command¶

      +
      +

      Syntax¶

      +
      displace_atoms group-ID style args keyword value ...
      +
      +
      +
        +
      • group-ID = ID of group of atoms to displace
      • +
      • style = move or ramp or random or rotate
      • +
      +
      +move args = delx dely delz
           delx,dely,delz = distance to displace in each dimension (distance units)
      -  ramp args = ddim dlo dhi dim clo chi
      -    ddim = x or y or z
      +  ramp args = ddim dlo dhi dim clo chi
      +    ddim = x or y or z
           dlo,dhi = displacement distance between dlo and dhi (distance units)
      -    dim = x or y or z
      +    dim = x or y or z
           clo,chi = lower and upper bound of domain to displace (distance units)
      -  random args = dx dy dz seed
      +  random args = dx dy dz seed
           dx,dy,dz = random displacement magnitude in each dimension (distance units)
           seed = random # seed (positive integer)
      -  rotate args = Px Py Pz Rx Ry Rz theta
      +  rotate args = Px Py Pz Rx Ry Rz theta
           Px,Py,Pz = origin point of axis of rotation (distance units)
           Rx,Ry,Rz = axis of rotation vector
      -    theta = angle of rotation (degrees) 
      -
      -
    • zero or more keyword/value pairs may be appended - -
        keyword = units
      -    value = box or lattice 
      -
      - -
    -

    Examples: -

    -
    displace_atoms top move 0 -5 0 units box
    -displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 
    -
    -

    Description: -

    -

    Displace a group of atoms. This can be used to move atoms a large + theta = angle of rotation (degrees) + +

      +
    • zero or more keyword/value pairs may be appended
    • +
    +
    +keyword = units
    +    value = box or lattice
    +
    +
    +
    +

    Examples¶

    +
    displace_atoms top move 0 -5 0 units box
    +displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5
    +
    +
    +
    +
    +

    Description¶

    +

    Displace a group of atoms. This can be used to move atoms a large distance before beginning a simulation or to randomize atoms initially on a lattice. For example, in a shear simulation, an initial strain can be imposed on the system. Or two groups of atoms can be brought -into closer proximity. -

    -

    The move style displaces the group of atoms by the specified 3d -distance. -

    -

    The ramp style displaces atoms a variable amount in one dimension -depending on the atom's coordinate in a (possibly) different +into closer proximity.

    +

    The move style displaces the group of atoms by the specified 3d +distance.

    +

    The ramp style displaces atoms a variable amount in one dimension +depending on the atom’s coordinate in a (possibly) different dimension. For example, the second example command displaces atoms in the x-direction an amount between 0.0 and 5.0 distance units. Each -atom's displacement depends on the fractional distance its y +atom’s displacement depends on the fractional distance its y coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside -those bounds will be moved the minimum (0.0) or maximum (5.0) amount. -

    -

    The random style independently moves each atom in the group by a +those bounds will be moved the minimum (0.0) or maximum (5.0) amount.

    +

    The random style independently moves each atom in the group by a random displacement, uniformly sampled from a value between -dx and +dx in the x dimension, and similarly for y and z. Random numbers are used in such a way that the displacement of a particular atom is the -same, regardless of how many processors are being used. -

    -

    The rotate style rotates each atom in the group by the angle theta -around a rotation axis R = (Rx,Ry,Rz) that goes thru a point P = +same, regardless of how many processors are being used.

    +

    The rotate style rotates each atom in the group by the angle theta +around a rotation axis R = (Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your -right-hand's thumb points along R, then your fingers wrap around the -axis in the direction of positive theta. -

    -

    Distance units for displacements and the origin point of the rotate -style are determined by the setting of box or lattice for the -units keyword. Box means distance units as defined by the -units command - e.g. Angstroms for real units. -Lattice means distance units are in lattice spacings. The -lattice command must have been previously used to -define the lattice spacing. -

    -
    - -

    IMPORTANT NOTE: Care should be taken not to move atoms on top of other +right-hand’s thumb points along R, then your fingers wrap around the +axis in the direction of positive theta.

    +

    Distance units for displacements and the origin point of the rotate +style are determined by the setting of box or lattice for the +units keyword. Box means distance units as defined by the +units command - e.g. Angstroms for real units. +Lattice means distance units are in lattice spacings. The +lattice command must have been previously used to +define the lattice spacing.

    +
    +
    +

    Warning

    +

    Care should be taken not to move atoms on top of other atoms. After the move, atoms are remapped into the periodic simulation box if needed, and any shrink-wrap boundary conditions (see -the boundary command) are enforced which may change +the boundary command) are enforced which may change the box size. Other than this effect, this command does not change the size or shape of the simulation box. See the -change_box command if that effect is desired. -

    -

    IMPORTANT NOTE: Atoms can be moved arbitrarily long distances by this +change_box command if that effect is desired.

    +
    +
    +

    Warning

    +

    Atoms can be moved arbitrarily long distances by this command. If the simulation box is non-periodic and shrink-wrapped -(see the boundary command), this can change its size +(see the boundary command), this can change its size or shape. This is not a problem, except that the mapping of processors to the simulation box is not changed by this command from -its initial 3d configuration; see the processors +its initial 3d configuration; see the processors command. Thus, if the box size/shape changes dramatically, the mapping of processors to the simulation box may not end up as optimal -as the initial mapping attempted to be. -

    -
    +as the initial mapping attempted to be.

    +
    +
    +
    +
    +

    Restrictions¶

    +

    You cannot rotate around any rotation vector except the z-axis for a +2d simulation.

    +
    + +
    +

    Default¶

    +

    The option defaults are units = lattice.

    +
    + -

    Restrictions: -

    -

    You cannot rotate around any rotation vector except the z-axis for a -2d simulation. -

    -

    Related commands: -

    -

    lattice, change_box, -fix_move -

    -

    Default: -

    -

    The option defaults are units = lattice. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dump.html b/doc/dump.html index 05256568a7..2b8d87e770 100644 --- a/doc/dump.html +++ b/doc/dump.html @@ -1,78 +1,201 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dump command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dump command -

    -

    dump image command -

    -

    dump movie command -

    -

    dump molfile command -

    -

    Syntax: -

    -
    dump ID group-ID style N file args 
    -
    -
    • ID = user-assigned name for the dump - -
    • group-ID = ID of the group of atoms to be dumped - -
    • style = atom or atom/mpiio or cfg or cfg/mpiio or dcd or xtc or xyz or xyz/mpiio or image or movie or molfile or local or custom or custom/mpiio - -
    • N = dump every this many timesteps - -
    • file = name of file to write dump info to - -
    • args = list of arguments for a particular style - -
        atom args = none
      -  atom/mpiio args = none
      -  cfg args = same as custom args, see below
      -  cfg/mpiio args = same as custom args, see below
      -  dcd args = none
      -  xtc args = none
      -  xyz args = none 
      -
      -
        xyz/mpiio args = none 
      -
      -
        image args = discussed on dump image doc page 
      -
      -
        movie args = discussed on dump image doc page 
      -
      -
        molfile args = discussed on dump molfile doc page 
      -
      -
        local args = list of local attributes
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      dump command¶

      +
      +
      +

      dump image command¶

      +
      +
      +

      dump movie command¶

      +
      +
      +

      dump molfile command¶

      +
      +

      Syntax¶

      +
      dump ID group-ID style N file args
      +
      +
      +
        +
      • ID = user-assigned name for the dump
      • +
      • group-ID = ID of the group of atoms to be dumped
      • +
      • style = atom or atom/mpiio or cfg or cfg/mpiio or dcd or xtc or xyz or xyz/mpiio or image or movie or molfile or local or custom or custom/mpiio
      • +
      • N = dump every this many timesteps
      • +
      • file = name of file to write dump info to
      • +
      • args = list of arguments for a particular style
      • +
      +
      +atom args = none
      +  atom/mpiio args = none
      +  cfg args = same as custom args, see below
      +  cfg/mpiio args = same as custom args, see below
      +  dcd args = none
      +  xtc args = none
      +  xyz args = none
      +
      +
      +xyz/mpiio args = none
      +
      +
      +image args = discussed on dump image doc page
      +
      +
      +movie args = discussed on dump image doc page
      +
      +
      +molfile args = discussed on dump molfile doc page
      +
      +
      +local args = list of local attributes
           possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N]
             index = enumeration of local values
             c_ID = local vector calculated by a compute with ID
             c_ID[N] = Nth column of local array calculated by a compute with ID
             f_ID = local vector calculated by a fix with ID
      -      f_ID[N] = Nth column of local array calculated by a fix with ID 
      -
      -
        custom or custom/mpiio args = list of atom attributes
      +      f_ID[N] = Nth column of local array calculated by a fix with ID
      +
      +
      +custom or custom/mpiio args = list of atom attributes
           possible attributes = id, mol, proc, procp1, type, element, mass,
      -			  x, y, z, xs, ys, zs, xu, yu, zu, 
      -			  xsu, ysu, zsu, ix, iy, iz,
      -			  vx, vy, vz, fx, fy, fz,
      +                       x, y, z, xs, ys, zs, xu, yu, zu,
      +                       xsu, ysu, zsu, ix, iy, iz,
      +                       vx, vy, vz, fx, fy, fz,
                                 q, mux, muy, muz, mu,
                                 radius, diameter, omegax, omegay, omegaz,
      -			  angmomx, angmomy, angmomz, tqx, tqy, tqz,
      -			  c_ID, c_ID[N], f_ID, f_ID[N], v_name 
      -
      -
            id = atom ID
      +                       angmomx, angmomy, angmomz, tqx, tqy, tqz,
      +                       c_ID, c_ID[N], f_ID, f_ID[N], v_name
      +
      +
      +id = atom ID
             mol = molecule ID
             proc = ID of processor that owns atom
             procp1 = ID+1 of processor that owns atom
             type = atom type
      -      element = name of atom element, as defined by dump_modify command
      +      element = name of atom element, as defined by dump_modify command
             mass = atom mass
             x,y,z = unscaled atom coordinates
             xs,ys,zs = scaled atom coordinates
      @@ -94,13 +217,12 @@
             f_ID[N] = Nth column of per-atom array calculated by a fix with ID
             v_name = per-atom vector calculated by an atom-style variable with name
             d_name = per-atom floating point vector with name, managed by fix property/atom
      -      i_name = per-atom integer vector with name, managed by fix property/atom 
      -
      - -
    -

    Examples: -

    -
    dump myDump all atom 100 dump.atom
    +      i_name = per-atom integer vector with name, managed by fix property/atom
    +
    +
    +
    +

    Examples¶

    +
    dump myDump all atom 100 dump.atom
     dump myDump all atom/mpiio 100 dump.atom.mpiio
     dump 2 subgroup atom 50 dump.run.bin
     dump 2 subgroup atom 50 dump.run.mpiio.bin
    @@ -108,493 +230,428 @@ dump 4a all custom 100 dump.myforce.* id type x y vx fx
     dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke
     dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz
     dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2]
    -dump 1 all xtc 1000 file.xtc 
    -
    -

    Description: -

    -

    Dump a snapshot of atom quantities to one or more files every N -timesteps in one of several styles. The image and movie styles are -the exception: the image style renders a JPG, PNG, or PPM image file -of the atom configuration every N timesteps while the movie style +dump 1 all xtc 1000 file.xtc +

    +
    +
    +
    +

    Description¶

    +

    Dump a snapshot of atom quantities to one or more files every N +timesteps in one of several styles. The image and movie styles are +the exception: the image style renders a JPG, PNG, or PPM image file +of the atom configuration every N timesteps while the movie style combines and compresses them into a movie file; both are discussed in -detail on the dump image doc page. The timesteps on +detail on the dump image doc page. The timesteps on which dump output is written can also be controlled by a variable. -See the dump_modify every command. -

    -

    Only information for atoms in the specified group is dumped. The -dump_modify thresh and region commands can also +See the dump_modify every command.

    +

    Only information for atoms in the specified group is dumped. The +dump_modify thresh and region commands can also alter what atoms are included. Not all styles support all these -options; see details below. -

    -

    As described below, the filename determines the kind of output (text +options; see details below.

    +

    As described below, the filename determines the kind of output (text or binary or gzipped, one big file or one per timestep, one big file -or multiple smaller files). -

    -

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only +or multiple smaller files).

    +
    +

    Warning

    +

    Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation -box. -

    -

    IMPORTANT NOTE: Unless the dump_modify sort option +box.

    +
    +
    +

    Warning

    +

    Unless the dump_modify sort option is invoked, the lines of atom information written to dump files (typically one line per atom) will be in an indeterminate order for each snapshot. This is even true when running on a single processor, -if the atom_modify sort option is on, which it is +if the atom_modify sort option is on, which it is by default. In this case atoms are re-ordered periodically during a simulation, due to spatial sorting. It is also true when running in parallel, because data for a single snapshot is collected from -multiple processors, each of which owns a subset of the atoms. -

    -

    For the atom, custom, cfg, and local styles, sorting is off by -default. For the dcd, xtc, xyz, and molfile styles, sorting by -atom ID is on by default. See the dump_modify doc -page for details. -

    -

    As explained below, the atom/mpiio, cfg/mpiio, custom/mpiio, and -xyz/mpiio styles are identical in command syntax and in the format +multiple processors, each of which owns a subset of the atoms.

    +
    +

    For the atom, custom, cfg, and local styles, sorting is off by +default. For the dcd, xtc, xyz, and molfile styles, sorting by +atom ID is on by default. See the dump_modify doc +page for details.

    +

    As explained below, the atom/mpiio, cfg/mpiio, custom/mpiio, and +xyz/mpiio styles are identical in command syntax and in the format of the dump files they create, to the corresponding styles without -"mpiio", except the single dump file they produce is written in +“mpiio”, except the single dump file they produce is written in parallel via the MPI-IO library. For the remainder of this doc page, -you should thus consider the atom and atom/mpiio styles (etc) to +you should thus consider the atom and atom/mpiio styles (etc) to be inter-changeable. The one exception is how the filename is -specified for the MPI-IO styles, as explained below. -

    -
    - -

    The style keyword determines what atom quantities are written to the +specified for the MPI-IO styles, as explained below.

    +
    +

    The style keyword determines what atom quantities are written to the file and in what format. Settings made via the -dump_modify command can also alter the format of -individual values and the file itself. -

    -

    The atom, local, and custom styles create files in a simple text +dump_modify command can also alter the format of +individual values and the file itself.

    +

    The atom, local, and custom styles create files in a simple text format that is self-explanatory when viewing a dump file. Many of the -LAMMPS post-processing tools, including -Pizza.py, work with this -format, as does the rerun command. -

    -

    For post-processing purposes the atom, local, and custom text -files are self-describing in the following sense. -

    -

    The dimensions of the simulation box are included in each snapshot. -For an orthogonal simulation box this information is is formatted as: -

    -
    ITEM: BOX BOUNDS xx yy zz
    +LAMMPS post-processing tools, including
    +Pizza.py, work with this
    +format, as does the rerun command.

    +

    For post-processing purposes the atom, local, and custom text +files are self-describing in the following sense.

    +

    The dimensions of the simulation box are included in each snapshot. +For an orthogonal simulation box this information is is formatted as:

    +
    ITEM: BOX BOUNDS xx yy zz
     xlo xhi
     ylo yhi
    -zlo zhi 
    -
    -

    where xlo,xhi are the maximum extents of the simulation box in the -x-dimension, and similarly for y and z. The "xx yy zz" represent 6 +zlo zhi +

    + +

    where xlo,xhi are the maximum extents of the simulation box in the +x-dimension, and similarly for y and z. The “xx yy zz” represent 6 characters that encode the style of boundary for each of the 6 simulation box boundaries (xlo,xhi and ylo,yhi and zlo,zhi). Each of the 6 characters is either p = periodic, f = fixed, s = shrink wrap, or m = shrink wrapped with a minimum value. See the -boundary command for details. -

    -

    For triclinic simulation boxes (non-orthogonal), an orthogonal +boundary command for details.

    +

    For triclinic simulation boxes (non-orthogonal), an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, -formatted as follows: -

    -
    ITEM: BOX BOUNDS xy xz yz xx yy zz 
    +formatted as follows:

    +
    ITEM: BOX BOUNDS xy xz yz xx yy zz
     xlo_bound xhi_bound xy
     ylo_bound yhi_bound xz
    -zlo_bound zhi_bound yz 
    -
    -

    The presence of the text "xy xz yz" in the ITEM line indicates that +zlo_bound zhi_bound yz +

    + +

    The presence of the text “xy xz yz” in the ITEM line indicates that the 3 tilt factors will be included on each of the 3 following lines. This bounding box is convenient for many visualization programs. The -meaning of the 6 character flags for "xx yy zz" is the same as above. -

    -

    Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they repesent a bounding box. See this -section of the doc pages for a geometric +meaning of the 6 character flags for “xx yy zz” is the same as above.

    +

    Note that the first two numbers on each line are now xlo_bound instead +of xlo, etc, since they repesent a bounding box. See this section of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those -parameters to and from other commonly used triclinic representations. -

    -

    The "ITEM: ATOMS" line in each snapshot lists column descriptors for +parameters to and from other commonly used triclinic representations.

    +

    The “ITEM: ATOMS” line in each snapshot lists column descriptors for the per-atom lines that follow. For example, the descriptors would be -"id type xs ys zs" for the default atom style, and would be the atom -attributes you specify in the dump command for the custom style. -

    -

    For style atom, atom coordinates are written to the file, along with +“id type xs ys zs” for the default atom style, and would be the atom +attributes you specify in the dump command for the custom style.

    +

    For style atom, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the -dump_modify settings. Image flags can also be -added for each atom via dump_modify. -

    -

    Style custom allows you to specify a list of atom attributes to be +dump_modify settings. Image flags can also be +added for each atom via dump_modify.

    +

    Style custom allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot specify a quantity that is not defined for a particular simulation - -such as q for atom style bond, since that atom style doesn't +such as q for atom style bond, since that atom style doesn’t assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes -is given below. -

    -

    For style local, local output generated by computes -and fixes is used to generate lines of output that is +is given below.

    +

    For style local, local output generated by computes +and fixes is used to generate lines of output that is written to the dump file. This local data is typically calculated by each processor based on the atoms it owns, but there may be zero or more entities per atom, e.g. a list of bond distances. An explanation of the possible dump local attributes is given below. Note that by -using input from the compute -property/local command with dump local, +using input from the compute property/local command with dump local, it is possible to generate information on bonds, angles, etc that can be cut and pasted directly into a data file read by the -read_data command. -

    -

    Style cfg has the same command syntax as style custom and writes +read_data command.

    +

    Style cfg has the same command syntax as style custom and writes extended CFG format files, as used by the -AtomEye visualization +AtomEye visualization package. Since the extended CFG format uses a single snapshot of the -system per file, a wildcard "*" must be included in the filename, as -discussed below. The list of atom attributes for style cfg must -begin with either "mass type xs ys zs" or "mass type xsu ysu zsu" +system per file, a wildcard “*” must be included in the filename, as +discussed below. The list of atom attributes for style cfg must +begin with either “mass type xs ys zs” or “mass type xsu ysu zsu” since these quantities are needed to write the CFG files in the -appropriate format (though the "mass" and "type" fields do not appear +appropriate format (though the “mass” and “type” fields do not appear explicitly in the file). Any remaining attributes will be stored as -"auxiliary properties" in the CFG files. Note that you will typically -want to use the dump_modify element command with +“auxiliary properties” in the CFG files. Note that you will typically +want to use the dump_modify element command with CFG-formatted files, to associate element names with atom types, so that AtomEye can render atoms appropriately. When unwrapped -coordinates xsu, ysu, and zsu are requested, the nominal AtomEye +coordinates xsu, ysu, and zsu are requested, the nominal AtomEye periodic cell dimensions are expanded by a large factor UNWRAPEXPAND = 10.0, which ensures atoms that are displayed correctly for up to UNWRAPEXPAND/2 periodic boundary crossings in any direction. Beyond this, AtomEye will rewrap the unwrapped coordinates. The expansion causes the atoms to be drawn farther away from the viewer, but it is easy to zoom the atoms closer, and the interatomic distances are -unaffected. -

    -

    The dcd style writes DCD files, a standard atomic trajectory format +unaffected.

    +

    The dcd style writes DCD files, a standard atomic trajectory format used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD files are binary and thus may not be portable to different machines. -The number of atoms per snapshot cannot change with the dcd style. -The unwrap option of the dump_modify command -allows DCD coordinates to be written "unwrapped" by the image flags +The number of atoms per snapshot cannot change with the dcd style. +The unwrap option of the dump_modify command +allows DCD coordinates to be written “unwrapped” by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside -the box size stored with the snapshot. -

    -

    The xtc style writes XTC files, a compressed trajectory format used +the box size stored with the snapshot.

    +

    The xtc style writes XTC files, a compressed trajectory format used by the GROMACS molecular dynamics package, and described -here. +here. The precision used in XTC files can be adjusted via the -dump_modify command. The default value of 1000 +dump_modify command. The default value of 1000 means that coordinates are stored to 1/1000 nanometer accuracy. XTC -files are portable binary files written in the NFS XDR data format, -so that any machine which supports XDR should be able to read them. -The number of atoms per snapshot cannot change with the xtc style. -The unwrap option of the dump_modify command allows -XTC coordinates to be written "unwrapped" by the image flags for each +files are portable binary files written in the NFS XDR data format, +so that any machine which supports XDR should be able to read them. +The number of atoms per snapshot cannot change with the xtc style. +The unwrap option of the dump_modify command allows +XTC coordinates to be written “unwrapped” by the image flags for each atom. Unwrapped means that if the atom has passed thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size -stored with the snapshot. -

    -

    The xyz style writes XYZ files, which is a simple text-based +stored with the snapshot.

    +

    The xyz style writes XYZ files, which is a simple text-based coordinate format that many codes can read. Specifically it has a line with the number of atoms, then a comment line that is usually ignored followed by one line per atom with the atom type and the x-, y-, and z-coordinate of that atom. You can use the -dump_modify element option to change the output +dump_modify element option to change the output from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess -bonds and colors. -

    -

    Note that atom, custom, dcd, xtc, and xyz style dump files -can be read directly by VMD, a -popular molecular viewing program. See Section -tools of the manual and the +bonds and colors.

    +

    Note that atom, custom, dcd, xtc, and xyz style dump files +can be read directly by VMD, a +popular molecular viewing program. See Section tools of the manual and the tools/lmp2vmd/README.txt file for more information about support in -VMD for reading and visualizing LAMMPS dump files. -

    -
    - -

    Dumps are performed on timesteps that are a multiple of N (including +VMD for reading and visualizing LAMMPS dump files.

    +
    +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which +changed via the dump_modify first command, which can also be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the dump_modify every command (not allowed -for dcd style). The dump_modify every command +using the dump_modify every command (not allowed +for dcd style). The dump_modify every command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. In this mode a dump on the first timestep of a run will also not be written unless the -dump_modify first command is used. -

    -

    The specified filename determines how the dump file(s) is written. +dump_modify first command is used.

    +

    The specified filename determines how the dump file(s) is written. The default is to write one large text file, which is opened when the -dump command is invoked and closed when an undump -command is used or when LAMMPS exits. For the dcd and xtc styles, -this is a single large binary file. -

    -

    Dump filenames can contain two wildcard characters. If a "*" +dump command is invoked and closed when an undump +command is used or when LAMMPS exits. For the dcd and xtc styles, +this is a single large binary file.

    +

    Dump filenames can contain two wildcard characters. If a “*” character appears in the filename, then one file per snapshot is -written and the "*" character is replaced with the timestep value. +written and the “*” character is replaced with the timestep value. For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, -tmp.dump.20000, etc. This option is not available for the dcd and -xtc styles. Note that the dump_modify pad +tmp.dump.20000, etc. This option is not available for the dcd and +xtc styles. Note that the dump_modify pad command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to read a series of dump files -in order with some post-processing tools. -

    -

    If a "%" character appears in the filename, then each of P processors -writes a portion of the dump file, and the "%" character is replaced +in order with some post-processing tools.

    +

    If a “%” character appears in the filename, then each of P processors +writes a portion of the dump file, and the “%” character is replaced with the processor ID from 0 to P-1. For example, tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. This option is not available for the -dcd, xtc, and xyz styles. -

    -

    By default, P = the number of processors meaning one file per -processor, but P can be set to a smaller value via the nfile or -fileper keywords of the dump_modify command. +dcd, xtc, and xyz styles.

    +

    By default, P = the number of processors meaning one file per +processor, but P can be set to a smaller value via the nfile or +fileper keywords of the dump_modify command. These options can be the most efficient way of writing out dump files -when running on large numbers of processors. -

    -

    Note that using the "*" and "%" characters together can produce a -large number of small dump files! -

    -

    For the atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio +when running on large numbers of processors.

    +

    Note that using the “*” and “%” characters together can produce a +large number of small dump files!

    +

    For the atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles, a single dump file is written in parallel via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO -package installed, e.g. -

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform 
    -
    -

    Second, use a dump filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. +package installed, e.g.

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform
    +
    +
    +

    Second, use a dump filename which contains ”.mpiio”. Note that it +does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO restart files, which must be both written and read using MPI-IO, the dump files produced by these MPI-IO styles are identical in format to the files produced by their non-MPI-IO style counterparts. This means you can write a dump file using MPI-IO and -use the read_dump command or perform other +use the read_dump command or perform other post-processing, just as if the dump file was not written using -MPI-IO. -

    -

    Note that MPI-IO dump files are one large file which all processors -write to. You thus cannot use the "%" wildcard character described +MPI-IO.

    +

    Note that MPI-IO dump files are one large file which all processors +write to. You thus cannot use the “%” wildcard character described above in the filename since that specifies generation of multiple -files. You can use the ".bin" suffix described below in an MPI-IO +files. You can use the ”.bin” suffix described below in an MPI-IO dump file; again this file will be written in parallel and have the -same binary format as if it were written without MPI-IO. -

    -

    If the filename ends with ".bin", the dump file (or files, if "*" or -"%" is also used) is written in binary format. A binary dump file +same binary format as if it were written without MPI-IO.

    +

    If the filename ends with ”.bin”, the dump file (or files, if “*” or +“%” is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. Of course, when post-processing, you will need -to convert it back to text format (see the binary2txt -tool) or write your own code to read the +to convert it back to text format (see the binary2txt tool) or write your own code to read the binary file. The format of the binary file can be understood by looking at the tools/binary2txt.cpp file. This option is only -available for the atom and custom styles. -

    -

    If the filename ends with ".gz", the dump file (or files, if "*" or "%" +available for the atom and custom styles.

    +

    If the filename ends with ”.gz”, the dump file (or files, if “*” or “%” is also used) is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer -to write. This option is not available for the dcd and xtc -styles. -

    -
    - -

    This section explains the local attributes that can be specified as -part of the local style. -

    -

    The index attribute can be used to generate an index number from 1 +to write. This option is not available for the dcd and xtc +styles.

    +
    +

    This section explains the local attributes that can be specified as +part of the local style.

    +

    The index attribute can be used to generate an index number from 1 to N for each line written into the dump file, where N is the total number of local datums from all processors, or lines of output that will appear in the snapshot. Note that because data from different processors depend on what atoms they currently own, and atoms migrate between processor, there is no guarantee that the same index will be used for the same info (e.g. a particular bond) in successive -snapshots. -

    -

    The c_ID and c_ID[N] attributes allow local vectors or arrays -calculated by a compute to be output. The ID in the +snapshots.

    +

    The c_ID and c_ID[N] attributes allow local vectors or arrays +calculated by a compute to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the -compute command for details. There are computes for +compute command for details. There are computes for calculating local information such as indices, types, and energies for -bonds and angles. -

    -

    Note that computes which calculate global or per-atom quantities, as +bonds and angles.

    +

    Note that computes which calculate global or per-atom quantities, as opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the thermo_style -custom command, and per-atom quantities can be -output by the dump custom command. -

    -

    If c_ID is used as a attribute, then the local vector calculated by -the compute is printed. If c_ID[N] is used, then N must be in the +Instead, global quantities can be output by the thermo_style custom command, and per-atom quantities can be +output by the dump custom command.

    +

    If c_ID is used as a attribute, then the local vector calculated by +the compute is printed. If c_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local -array calculated by the compute. -

    -

    The f_ID and f_ID[N] attributes allow local vectors or arrays -calculated by a fix to be output. The ID in the attribute +array calculated by the compute.

    +

    The f_ID and f_ID[N] attributes allow local vectors or arrays +calculated by a fix to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined -previously in the input script. -

    -

    If f_ID is used as a attribute, then the local vector calculated by -the fix is printed. If f_ID[N] is used, then N must be in the +previously in the input script.

    +

    If f_ID is used as a attribute, then the local vector calculated by +the fix is printed. If f_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length local -array calculated by the fix. -

    -

    Here is an example of how to dump bond info for a system, -including the distance and energy of each bond: -

    -
    compute 1 all property/local batom1 batom2 btype 
    +array calculated by the fix.

    +

    Here is an example of how to dump bond info for a system, +including the distance and energy of each bond:

    +
    compute 1 all property/local batom1 batom2 btype
     compute 2 all bond/local dist eng
    -dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] 
    -
    -
    - -

    This section explains the atom attributes that can be specified as -part of the custom and cfg styles. -

    -

    The id, mol, proc, procp1, type, element, mass, vx, -vy, vz, fx, fy, fz, q attributes are self-explanatory. -

    -

    Id is the atom ID. Mol is the molecule ID, included in the data -file for molecular systems. Proc is the ID of the processor (0 to -Nprocs-1) that currently owns the atom. Procp1 is the proc ID+1, -which can be convenient in place of a type attribute (1 to Ntypes) -for coloring atoms in a visualization program. Type is the atom -type (1 to Ntypes). Element is typically the chemical name of an -element, which you must assign to each type via the dump_modify -element command. More generally, it can be any -string you wish to associated with an atom type. Mass is the atom -mass. Vx, vy, vz, fx, fy, fz, and q are components of -atom velocity and force and atomic charge. -

    -

    There are several options for outputting atom coordinates. The x, -y, z attributes write atom coordinates "unscaled", in the -appropriate distance units (Angstroms, sigma, etc). Use -xs, ys, zs if you want the coordinates "scaled" to the box size, +dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] +

    + +
    +

    This section explains the atom attributes that can be specified as +part of the custom and cfg styles.

    +

    The id, mol, proc, procp1, type, element, mass, vx, +vy, vz, fx, fy, fz, q attributes are self-explanatory.

    +

    Id is the atom ID. Mol is the molecule ID, included in the data +file for molecular systems. Proc is the ID of the processor (0 to +Nprocs-1) that currently owns the atom. Procp1 is the proc ID+1, +which can be convenient in place of a type attribute (1 to Ntypes) +for coloring atoms in a visualization program. Type is the atom +type (1 to Ntypes). Element is typically the chemical name of an +element, which you must assign to each type via the dump_modify element command. More generally, it can be any +string you wish to associated with an atom type. Mass is the atom +mass. Vx, vy, vz, fx, fy, fz, and q are components of +atom velocity and force and atomic charge.

    +

    There are several options for outputting atom coordinates. The x, +y, z attributes write atom coordinates “unscaled”, in the +appropriate distance units (Angstroms, sigma, etc). Use +xs, ys, zs if you want the coordinates “scaled” to the box size, so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. Use -xu, yu, zu if you want the coordinates "unwrapped" by the image +xu, yu, zu if you want the coordinates “unwrapped” by the image flags for each atom. Unwrapped means that if the atom has passed thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the -periodic box. Note that using xu, yu, zu means that the +periodic box. Note that using xu, yu, zu means that the coordinate values may be far outside the box bounds printed with the -snapshot. Using xsu, ysu, zsu is similar to using xu, yu, zu, +snapshot. Using xsu, ysu, zsu is similar to using xu, yu, zu, except that the unwrapped coordinates are scaled by the box size. Atoms that have passed through a periodic boundary will have the corresponding -cooordinate increased or decreased by 1.0. -

    -

    The image flags can be printed directly using the ix, iy, iz +cooordinate increased or decreased by 1.0.

    +

    The image flags can be printed directly using the ix, iy, iz attributes. For periodic dimensions, they specify which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross -periodic boundaries during the simulation. -

    -

    The mux, muy, muz attributes are specific to dipolar systems -defined with an atom style of dipole. They give the orientation of -the atom's point dipole moment. The mu attribute gives the -magnitude of the atom's dipole moment. -

    -

    The radius and diameter attributes are specific to spherical +periodic boundaries during the simulation.

    +

    The mux, muy, muz attributes are specific to dipolar systems +defined with an atom style of dipole. They give the orientation of +the atom’s point dipole moment. The mu attribute gives the +magnitude of the atom’s dipole moment.

    +

    The radius and diameter attributes are specific to spherical particles that have a finite size, such as those defined with an atom -style of sphere. -

    -

    The omegax, omegay, and omegaz attributes are specific to +style of sphere.

    +

    The omegax, omegay, and omegaz attributes are specific to finite-size spherical particles that have an angular velocity. Only -certain atom styles, such as sphere define this quantity. -

    -

    The angmomx, angmomy, and angmomz attributes are specific to +certain atom styles, such as sphere define this quantity.

    +

    The angmomx, angmomy, and angmomz attributes are specific to finite-size aspherical particles that have an angular momentum. Only -the ellipsoid atom style defines this quantity. -

    -

    The tqx, tqy, tqz attributes are for finite-size particles that +the ellipsoid atom style defines this quantity.

    +

    The tqx, tqy, tqz attributes are for finite-size particles that can sustain a rotational torque due to interactions with other -particles. -

    -

    The c_ID and c_ID[N] attributes allow per-atom vectors or arrays -calculated by a compute to be output. The ID in the +particles.

    +

    The c_ID and c_ID[N] attributes allow per-atom vectors or arrays +calculated by a compute to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the -compute command for details. There are computes for +compute command for details. There are computes for calculating the per-atom energy, stress, centro-symmetry parameter, -and coordination number of individual atoms. -

    -

    Note that computes which calculate global or local quantities, as +and coordination number of individual atoms.

    +

    Note that computes which calculate global or local quantities, as opposed to per-atom quantities, cannot be output in a dump custom command. Instead, global quantities can be output by the -thermo_style custom command, and local quantities -can be output by the dump local command. -

    -

    If c_ID is used as a attribute, then the per-atom vector calculated -by the compute is printed. If c_ID[N] is used, then N must be in +thermo_style custom command, and local quantities +can be output by the dump local command.

    +

    If c_ID is used as a attribute, then the per-atom vector calculated +by the compute is printed. If c_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length -per-atom array calculated by the compute. -

    -

    The f_ID and f_ID[N] attributes allow vector or array per-atom -quantities calculated by a fix to be output. The ID in the +per-atom array calculated by the compute.

    +

    The f_ID and f_ID[N] attributes allow vector or array per-atom +quantities calculated by a fix to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been -defined previously in the input script. The fix -ave/atom command is one that calculates per-atom +defined previously in the input script. The fix ave/atom command is one that calculates per-atom quantities. Since it can time-average per-atom quantities produced by -any compute, fix, or atom-style -variable, this allows those time-averaged results to -be written to a dump file. -

    -

    If f_ID is used as a attribute, then the per-atom vector calculated -by the fix is printed. If f_ID[N] is used, then N must be in the +any compute, fix, or atom-style +variable, this allows those time-averaged results to +be written to a dump file.

    +

    If f_ID is used as a attribute, then the per-atom vector calculated +by the fix is printed. If f_ID[N] is used, then N must be in the range from 1-M, which will print the Nth column of the M-length -per-atom array calculated by the fix. -

    -

    The v_name attribute allows per-atom vectors calculated by a -variable to be output. The name in the attribute +per-atom array calculated by the fix.

    +

    The v_name attribute allows per-atom vectors calculated by a +variable to be output. The name in the attribute should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable can be referenced, since it is the only style that generates per-atom -values. Variables of style atom can reference individual atom +values. Variables of style atom can reference individual atom attributes, per-atom atom attributes, thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a -dump file. -

    -

    The d_name and i_name attributes allow to output custom per atom +dump file.

    +

    The d_name and i_name attributes allow to output custom per atom floating point or integer properties that are managed by -fix property/atom. -

    -

    See Section_modify of the manual for information +fix property/atom.

    +

    See Section_modify of the manual for information on how to add new compute and fix styles to LAMMPS to calculate -per-atom quantities which could then be output into dump files. -

    -
    - -

    Restrictions: -

    -

    To write gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making -LAMMPS section of the documentation. -

    -

    The atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles +per-atom quantities which could then be output into dump files.

    + +
    +
    +

    Restrictions¶

    +

    To write gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    +

    The atom/mpiio, cfg/mpiio, custom/mpiio, and xyz/mpiio styles are part of the MPIIO package. They are only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    The xtc style is part of the XTC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. This is +built with that package. See the Making LAMMPS section for more info.

    +

    The xtc style is part of the XTC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info. This is because some machines may not support the low-level XDR data format that XTC files are written with, which will result in a compile-time error when a low-level include file is not found. Putting this style @@ -607,16 +664,80 @@ files. This option can be invoked at build time by adding Makefile, e.g. src/MAKE/Makefile.foo. This compatibility mode has been tested successfully on Cray XT3/XT4/XT5 and IBM BlueGene/L machines and should also work on IBM BG/P, and Windows XP/Vista/7 -machines. -

    -

    Related commands: -

    -

    dump image, dump_modify, -undump -

    -

    Default: -

    -

    The defaults for the image and movie styles are listed on the -dump image doc page. -

    - +machines.

    +
    + +
    +

    Default¶

    +

    The defaults for the image and movie styles are listed on the +dump image doc page.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dump_image.html b/doc/dump_image.html index c2babe4f63..a8d23f6d19 100644 --- a/doc/dump_image.html +++ b/doc/dump_image.html @@ -1,566 +1,711 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dump image command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dump image command -

    -

    dump movie command -

    -

    Syntax: -

    -
    dump ID group-ID style N file color diameter keyword value ... 
    -
    -
    • ID = user-assigned name for the dump - -
    • group-ID = ID of the group of atoms to be imaged - -
    • style = image or movie = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page) - -
    • N = dump every this many timesteps - -
    • file = name of file to write image to - -
    • color = atom attribute that determines color of each atom - -
    • diameter = atom attribute that determines size of each atom - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = adiam or atom or bond or size or view or center or up or zoom or persp or box or axes or subbox or shiny or ssao - -
        adiam value = number = numeric value for atom diameter (distance units)
      -  atom = yes/no = do or do not draw atoms
      -  bond values = color width = color and width of bonds
      -    color = atom or type or none
      -    width = number or atom or type or none
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      dump image command¶

      +
      +
      +

      dump movie command¶

      +
      +

      Syntax¶

      +
      dump ID group-ID style N file color diameter keyword value ...
      +
      +
      +
        +
      • ID = user-assigned name for the dump
      • +
      • group-ID = ID of the group of atoms to be imaged
      • +
      • style = image or movie = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page)
      • +
      • N = dump every this many timesteps
      • +
      • file = name of file to write image to
      • +
      • color = atom attribute that determines color of each atom
      • +
      • diameter = atom attribute that determines size of each atom
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = adiam or atom or bond or size or view or center or up or zoom or persp or box or axes or subbox or shiny or ssao
      • +
      +
      +adiam value = number = numeric value for atom diameter (distance units)
      +  atom = yes/no = do or do not draw atoms
      +  bond values = color width = color and width of bonds
      +    color = atom or type or none
      +    width = number or atom or type or none
             number = numeric value for bond width (distance units)
      -  size values = width height = size of images
      +  size values = width height = size of images
           width = width of image in # of pixels
           height = height of image in # of pixels
      -  view values = theta phi = view of simulation box
      +  view values = theta phi = view of simulation box
           theta = view angle from +z axis (degrees)
           phi = azimuthal view angle (degrees)
           theta or phi can be a variable (see below)
      -  center values = flag Cx Cy Cz = center point of image
      -    flag = "s" for static, "d" for dynamic
      +  center values = flag Cx Cy Cz = center point of image
      +    flag = "s" for static, "d" for dynamic
           Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box)
           Cx,Cy,Cz can be variables (see below)
      -  up values = Ux Uy Uz = direction that is "up" in image
      +  up values = Ux Uy Uz = direction that is "up" in image
           Ux,Uy,Uz = components of up vector
           Ux,Uy,Uz can be variables (see below)
      -  zoom value = zfactor = size that simulation box appears in image
      -    zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
      +  zoom value = zfactor = size that simulation box appears in image
      +    zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
           zfactor can be a variable (see below)
      -  persp value = pfactor = amount of "perspective" in image
      -    pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
      +  persp value = pfactor = amount of "perspective" in image
      +    pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
           pfactor can be a variable (see below)
      -  box values = yes/no diam = draw outline of simulation box
      +  box values = yes/no diam = draw outline of simulation box
           yes/no = do or do not draw simulation box lines
           diam = diameter of box lines as fraction of shortest box length
      -  axes values = yes/no length diam = draw xyz axes
      +  axes values = yes/no length diam = draw xyz axes
           yes/no = do or do not draw xyz axes lines next to simulation box
           length = length of axes lines as fraction of respective box lengths
           diam = diameter of axes lines as fraction of shortest box length
      -  subbox values = yes/no diam = draw outline of processor sub-domains
      +  subbox values = yes/no diam = draw outline of processor sub-domains
           yes/no = do or do not draw sub-domain lines
           diam = diameter of sub-domain lines as fraction of shortest box length
      -  shiny value = sfactor = shinyness of spheres and cylinders
      +  shiny value = sfactor = shinyness of spheres and cylinders
           sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
      -  ssao value = yes/no seed dfactor = SSAO depth shading
      +  ssao value = yes/no seed dfactor = SSAO depth shading
           yes/no = turn depth shading on/off
           seed = random # seed (positive integer)
      -    dfactor = strength of shading from 0.0 to 1.0 
      -
      - -
    -

    Examples: -

    -
    dump d0 all image 100 dump.*.jpg type type
    +    dfactor = strength of shading from 0.0 to 1.0
    +
    +
    +
    +

    Examples¶

    +
    dump d0 all image 100 dump.*.jpg type type
     dump d1 mobile image 500 snap.*.png element element ssao yes 4539 0.6
     dump d2 all image 200 img-*.ppm type type zoom 2.5 adiam 1.5 size 1280 720
     dump m0 all movie 1000 movie.mpg type type size 640 480
     dump m1 all movie 1000 movie.avi type type size 640 480
    -dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720 
    -
    -

    Description: -

    -

    Dump a high-quality rendered image of the atom configuration every N +dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720 +

    +
    +
    +
    +

    Description¶

    +

    Dump a high-quality rendered image of the atom configuration every N timesteps and save the images either as a sequence of JPEG or PNG or PPM files, or as a single movie file. The options for this command as -well as the dump_modify command control what is +well as the dump_modify command control what is included in the image or movie and how it appears. A series of such images can easily be manually converted into an animated movie of your simulation or the process can be automated without writing the intermediate files using the dump movie style; see further details below. Other dump styles store snapshots of numerical data asociated -with atoms in various formats, as discussed on the dump -doc page. -

    -

    Note that a set of images or a movie can be made after a simulation -has been run, using the rerun command to read snapshots +with atoms in various formats, as discussed on the dump +doc page.

    +

    Note that a set of images or a movie can be made after a simulation +has been run, using the rerun command to read snapshots from an existing dump file, and using these dump commands in the rerun -script to generate the images/movie. -

    -

    Here are two sample images, rendered as 1024x1024 JPEG files. Click -to see the full-size images: -

    -
    - - - - - -
    - -

    Only atoms in the specified group are rendered in the image. The -dump_modify region and thresh commands can also -alter what atoms are included in the image.

    -

    The filename suffix determines whether a JPEG, PNG, or PPM file is -created with the image dump style. If the suffix is ".jpg" or -".jpeg", then a JPEG format file is created, if the suffix is ".png", +script to generate the images/movie.

    +

    Here are two sample images, rendered as 1024x1024 JPEG files. Click +to see the full-size images:

    +

    Only atoms in the specified group are rendered in the image. The +dump_modify region and thresh commands can also +alter what atoms are included in the image. +The filename suffix determines whether a JPEG, PNG, or PPM file is +created with the image dump style. If the suffix is ”.jpg” or +”.jpeg”, then a JPEG format file is created, if the suffix is ”.png”, then a PNG format is created, else a PPM (aka NETPBM) format file is created. The JPEG and PNG files are binary; PPM has a text mode header followed by binary data. JPEG images have lossy compression; PNG has lossless compression; and PPM files are uncompressed but can be compressed with gzip, if LAMMPS has been compiled with --DLAMMPS_GZIP and a ".gz" suffix is used. -

    -

    Similarly, the format of the resulting movie is chosen with the -movie dump style. This is handled by the underlying FFmpeg converter +-DLAMMPS_GZIP and a ”.gz” suffix is used.

    +

    Similarly, the format of the resulting movie is chosen with the +movie dump style. This is handled by the underlying FFmpeg converter and thus details have to be looked up in the FFmpeg documentation. Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie compression like bitrate and -framerate can be set using the dump_modify command. -

    -

    To write out JPEG and PNG format files, you must build LAMMPS with +framerate can be set using the dump_modify command.

    +

    To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG -flag. See this section of the manual -for instructions on how to do this. -

    -

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only +flag. See this section of the manual +for instructions on how to do this.

    +
    +

    Warning

    +

    Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an -atom in the image may be slightly outside the simulation box. -

    -
    - -

    Dumps are performed on timesteps that are a multiple of N (including +atom in the image may be slightly outside the simulation box.

    +
    +
    +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which +changed via the dump_modify first command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the dump_modify every command. -

    -

    Dump image filenames must contain a wildcard character "*", so that -one image file per snapshot is written. The "*" character is replaced +using the dump_modify every command.

    +

    Dump image filenames must contain a wildcard character “*”, so that +one image file per snapshot is written. The “*” character is replaced with the timestep value. For example, tmp.dump.*.jpg becomes tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note -that the dump_modify pad command can be used to +that the dump_modify pad command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to convert a series of images into a movie in the -correct ordering. -

    -

    Dump movie filenames on the other hand, must not have any wildcard +correct ordering.

    +

    Dump movie filenames on the other hand, must not have any wildcard character since only one file combining all images into a single -movie will be written by the movie encoder. -

    -
    - -

    The color and diameter settings determine the color and size of +movie will be written by the movie encoder.

    +
    +

    The color and diameter settings determine the color and size of atoms rendered in the image. They can be any atom attribute defined -for the dump custom command, including type and -element. This includes per-atom quantities calculated by a -compute, fix, or variable, -which are prefixed by "c_", "f_", or "v_" respectively. Note that the -diameter setting can be overridden with a numeric value by the -optional adiam keyword, in which case you can specify the diameter -setting with any valid atom attribute. -

    -

    If type is specified for the color setting, then the color of each +for the dump custom command, including type and +element. This includes per-atom quantities calculated by a +compute, fix, or variable, +which are prefixed by “c_”, “f_”, or “v_” respectively. Note that the +diameter setting can be overridden with a numeric value by the +optional adiam keyword, in which case you can specify the diameter +setting with any valid atom attribute.

    +

    If type is specified for the color setting, then the color of each atom is determined by its atom type. By default the mapping of types -to colors is as follows: -

    -
    • type 1 = red -
    • type 2 = green -
    • type 3 = blue -
    • type 4 = yellow -
    • type 5 = aqua -
    • type 6 = cyan -
    -

    and repeats itself for types > 6. This mapping can be changed by the -dump_modify acolor command. -

    -

    If type is specified for the diameter setting then the diameter of +to colors is as follows:

    +
      +
    • type 1 = red
    • +
    • type 2 = green
    • +
    • type 3 = blue
    • +
    • type 4 = yellow
    • +
    • type 5 = aqua
    • +
    • type 6 = cyan
    • +
    +

    and repeats itself for types > 6. This mapping can be changed by the +dump_modify acolor command.

    +

    If type is specified for the diameter setting then the diameter of each atom is determined by its atom type. By default all types have -diameter 1.0. This mapping can be changed by the dump_modify -adiam command. -

    -

    If element is specified for the color and/or diameter setting, +diameter 1.0. This mapping can be changed by the dump_modify adiam command.

    +

    If element is specified for the color and/or diameter setting, then the color and/or diameter of each atom is determined by which element it is, which in turn is specified by the element-to-type -mapping specified by the "dump_modify element" command. By default +mapping specified by the “dump_modify element” command. By default every atom type is C (carbon). Every element has a color and diameter associated with it, which is the same as the colors and sizes used by -the AtomEye visualization package. -

    - - -

    If other atom attributes are used for the color or diameter -settings, they are interpreted in the following way. -

    -

    If "vx", for example, is used as the color setting, then the color +the AtomEye visualization package.

    +

    If other atom attributes are used for the color or diameter +settings, they are interpreted in the following way.

    +

    If “vx”, for example, is used as the color setting, then the color of the atom will depend on the x-component of its velocity. The association of a per-atom value with a specific color is determined by -a "color map", which can be specified via the -dump_modify command. The basic idea is that the +a “color map”, which can be specified via the +dump_modify command. The basic idea is that the atom-attribute will be within a range of values, and every value within the range is mapped to a specific color. Depending on how the color map is defined, that mapping can take place via interpolation so -that a value of -3.2 is halfway between "red" and "blue", or -discretely so that the value of -3.2 is "orange". -

    -

    If "vx", for example, is used as the diameter setting, then the atom +that a value of -3.2 is halfway between “red” and “blue”, or +discretely so that the value of -3.2 is “orange”.

    +

    If “vx”, for example, is used as the diameter setting, then the atom will be rendered using the x-component of its velocity as the -diameter. If the per-atom value <= 0.0, them the atom will not be +diameter. If the per-atom value <= 0.0, them the atom will not be drawn. Note that finite-size spherical particles, as defined by -atom_style sphere define a per-particle radius or -diameter, which can be used as the diameter setting. -

    -
    - -

    The various kewords listed above control how the image is rendered. +atom_style sphere define a per-particle radius or +diameter, which can be used as the diameter setting.

    +
    +

    The various kewords listed above control how the image is rendered. As listed below, all of the keywords have defaults, most of which you -will likely not need to change. The dump modify +will likely not need to change. The dump modify also has options specific to the dump image style, particularly for -assigning colors to atoms, bonds, and other image features. -

    -
    - -

    The adiam keyword allows you to override the diameter setting to a +assigning colors to atoms, bonds, and other image features.

    +
    +

    The adiam keyword allows you to override the diameter setting to a per-atom attribute with a specified numeric value. All atoms will be drawn with that diameter, e.g. 1.5, which is in whatever distance -units the input script defines, e.g. Angstroms. -

    -

    The atom keyword allow you to turn off the drawing of all atoms, -if the specified value is no. -

    -

    The bond keyword allows to you to alter how bonds are drawn. A bond +units the input script defines, e.g. Angstroms.

    +

    The atom keyword allow you to turn off the drawing of all atoms, +if the specified value is no.

    +

    The bond keyword allows to you to alter how bonds are drawn. A bond is only drawn if both atoms in the bond are being drawn due to being in the specified group and due to other selection criteria (e.g. region, threshhold settings of the -dump_modify command). By default, bonds are drawn +dump_modify command). By default, bonds are drawn if they are defined in the input data file as read by the -read_data command. Using none for both the bond -color and width value will turn off the drawing of all bonds. -

    -

    If atom is specified for the bond color value, then each bond is +read_data command. Using none for both the bond +color and width value will turn off the drawing of all bonds.

    +

    If atom is specified for the bond color value, then each bond is drawn in 2 halves, with the color of each half being the color of the -atom at that end of the bond. -

    -

    If type is specified for the color value, then the color of each +atom at that end of the bond.

    +

    If type is specified for the color value, then the color of each bond is determined by its bond type. By default the mapping of bond -types to colors is as follows: -

    -
    • type 1 = red -
    • type 2 = green -
    • type 3 = blue -
    • type 4 = yellow -
    • type 5 = aqua -
    • type 6 = cyan -
    -

    and repeats itself for bond types > 6. This mapping can be changed by -the dump_modify bcolor command. -

    -

    The bond width value can be a numeric value or atom or type (or -none as indicated above). -

    -

    If a numeric value is specified, then all bonds will be drawn as +types to colors is as follows:

    +
      +
    • type 1 = red
    • +
    • type 2 = green
    • +
    • type 3 = blue
    • +
    • type 4 = yellow
    • +
    • type 5 = aqua
    • +
    • type 6 = cyan
    • +
    +

    and repeats itself for bond types > 6. This mapping can be changed by +the dump_modify bcolor command.

    +

    The bond width value can be a numeric value or atom or type (or +none as indicated above).

    +

    If a numeric value is specified, then all bonds will be drawn as cylinders with that diameter, e.g. 1.0, which is in whatever distance -units the input script defines, e.g. Angstroms. -

    -

    If atom is specified for the width value, then each bond +units the input script defines, e.g. Angstroms.

    +

    If atom is specified for the width value, then each bond will be drawn with a width corresponding to the minimum diameter -of the 2 atoms in the bond. -

    -

    If type is specified for the width value then the diameter of each +of the 2 atoms in the bond.

    +

    If type is specified for the width value then the diameter of each bond is determined by its bond type. By default all types have -diameter 0.5. This mapping can be changed by the dump_modify -bdiam command. -

    -
    - -

    The size keyword sets the width and height of the created images, -i.e. the number of pixels in each direction. -

    -
    - -

    The view, center, up, zoom, and persp values determine how +diameter 0.5. This mapping can be changed by the dump_modify bdiam command.

    +
    +

    The size keyword sets the width and height of the created images, +i.e. the number of pixels in each direction.

    +
    +

    The view, center, up, zoom, and persp values determine how 3d simulation space is mapped to the 2d plane of the image. Basically -they control how the simulation box appears in the image. -

    -

    All of the view, center, up, zoom, and persp values can be +they control how the simulation box appears in the image.

    +

    All of the view, center, up, zoom, and persp values can be specified as numeric quantities, whose meaning is explained below. -Any of them can also be specified as an equal-style -variable, by using v_name as the value, where "name" is +Any of them can also be specified as an equal-style variable, by using v_name as the value, where “name” is the variable name. In this case the variable will be evaluated on the timestep each image is created to create a new value. If the equal-style variable is time-dependent, this is a means of changing the way the simulation box appears from image to image, effectively -doing a pan or fly-by view of your simulation. -

    -

    The view keyword determines the viewpoint from which the simulation -box is viewed, looking towards the center point. The theta value +doing a pan or fly-by view of your simulation.

    +

    The view keyword determines the viewpoint from which the simulation +box is viewed, looking towards the center point. The theta value is the vertical angle from the +z axis, and must be an angle from 0 to -180 degrees. The phi value is an azimuthal angle around the z axis +180 degrees. The phi value is an azimuthal angle around the z axis and can be positive or negative. A value of 0.0 is a view along the -+x axis, towards the center point. If theta or phi are ++x axis, towards the center point. If theta or phi are specified via variables, then the variable values should be in -degrees. -

    -

    The center keyword determines the point in simulation space that -will be at the center of the image. Cx, Cy, and Cz are +degrees.

    +

    The center keyword determines the point in simulation space that +will be at the center of the image. Cx, Cy, and Cz are speficied as fractions of the box dimensions, so that (0.5,0.5,0.5) is the center of the simulation box. These values do not have to be between 0.0 and 1.0, if you want the simulation box to be offset from the center of the image. Note, however, that if you choose strange -values for Cx, Cy, or Cz you may get a blank image. Internally, -Cx, Cy, and Cz are converted into a point in simulation space. -If flag is set to "s" for static, then this conversion is done once, -at the time the dump command is issued. If flag is set to "d" for +values for Cx, Cy, or Cz you may get a blank image. Internally, +Cx, Cy, and Cz are converted into a point in simulation space. +If flag is set to “s” for static, then this conversion is done once, +at the time the dump command is issued. If flag is set to “d” for dynamic then the conversion is performed every time a new image is created. If the box size or shape is changing, this will adjust the -center point in simulation space. -

    -

    The up keyword determines what direction in simulation space will be -"up" in the image. Internally it is stored as a vector that is in the -plane perpendicular to the view vector implied by the theta and -pni values, and which is also in the plane defined by the view +center point in simulation space.

    +

    The up keyword determines what direction in simulation space will be +“up” in the image. Internally it is stored as a vector that is in the +plane perpendicular to the view vector implied by the theta and +pni values, and which is also in the plane defined by the view vector and user-specified up vector. Thus this internal vector is -computed from the user-specified up vector as -

    -
    up_internal = view cross (up cross view) 
    -
    -

    This means the only restriction on the specified up vector is that -it cannot be parallel to the view vector, implied by the theta and -phi values. -

    -

    The zoom keyword scales the size of the simulation box as it appears -in the image. The default zfactor value of 1 should display an -image mostly filled by the atoms in the simulation box. A zfactor > -1 will make the simulation box larger; a zfactor < 1 will make it -smaller. Zfactor must be a value > 0.0. -

    -

    The persp keyword determines how much depth perspective is present +computed from the user-specified up vector as

    +
    up_internal = view cross (up cross view)
    +
    +
    +

    This means the only restriction on the specified up vector is that +it cannot be parallel to the view vector, implied by the theta and +phi values.

    +

    The zoom keyword scales the size of the simulation box as it appears +in the image. The default zfactor value of 1 should display an +image mostly filled by the atoms in the simulation box. A zfactor > +1 will make the simulation box larger; a zfactor < 1 will make it +smaller. Zfactor must be a value > 0.0.

    +

    The persp keyword determines how much depth perspective is present in the image. Depth perspective makes lines that are parallel in -simulation space appear non-parallel in the image. A pfactor value +simulation space appear non-parallel in the image. A pfactor value of 0.0 means that parallel lines will meet at infininty (1.0/pfactor), -which is an orthographic rendering with no persepctive. A pfactor -value between 0.0 and 1.0 will introduce more perspective. A pfactor -value > 1 will create a highly skewed image with a large amount of -perspective. -

    -

    IMPORTANT NOTE: The persp keyword is not yet supported as an option. -

    -
    - -

    The box keyword determines if and how the simulation box boundaries -are rendered as thin cylinders in the image. If no is set, then the -box boundaries are not drawn and the diam setting is ignored. If -yes is set, the 12 edges of the box are drawn, with a diameter that +which is an orthographic rendering with no persepctive. A pfactor +value between 0.0 and 1.0 will introduce more perspective. A pfactor +value > 1 will create a highly skewed image with a large amount of +perspective.

    +
    +

    Warning

    +

    The persp keyword is not yet supported as an option.

    +
    +
    +

    The box keyword determines if and how the simulation box boundaries +are rendered as thin cylinders in the image. If no is set, then the +box boundaries are not drawn and the diam setting is ignored. If +yes is set, the 12 edges of the box are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). The color of the box boundaries can be set with the dump_modify -boxcolor command. -

    -

    The axes keyword determines if and how the coordinate axes are -rendered as thin cylinders in the image. If no is set, then the -axes are not drawn and the length and diam settings are ignored. -If yes is set, 3 thin cylinders are drawn to represent the x,y,z +2d). The color of the box boundaries can be set with the dump_modify boxcolor command.

    +

    The axes keyword determines if and how the coordinate axes are +rendered as thin cylinders in the image. If no is set, then the +axes are not drawn and the length and diam settings are ignored. +If yes is set, 3 thin cylinders are drawn to represent the x,y,z axes in colors red,green,blue. The origin of these cylinders will be -offset from the lower left corner of the box by 10%. The length +offset from the lower left corner of the box by 10%. The length setting determines how long the cylinders will be as a fraction of the -respective box lengths. The diam setting determines their thickness +respective box lengths. The diam setting determines their thickness as a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). -

    -

    The subbox keyword determines if and how processor sub-domain -boundaries are rendered as thin cylinders in the image. If no is +2d).

    +

    The subbox keyword determines if and how processor sub-domain +boundaries are rendered as thin cylinders in the image. If no is set (default), then the sub-domain boundaries are not drawn and the -diam setting is ignored. If yes is set, the 12 edges of each +diam setting is ignored. If yes is set, the 12 edges of each processor sub-domain are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color -of the sub-domain boundaries can be set with the dump_modify -boxcolor command. -

    -
    - -

    The shiny keyword determines how shiny the objects rendered in the -image will appear. The sfactor value must be a value 0.0 <= -sfactor <= 1.0, where sfactor = 1 is a highly reflective surface -and sfactor = 0 is a rough non-shiny surface. -

    -

    The ssao keyword turns on/off a screen space ambient occlusion -(SSAO) model for depth shading. If yes is set, then atoms further +of the sub-domain boundaries can be set with the dump_modify boxcolor command.

    +
    +

    The shiny keyword determines how shiny the objects rendered in the +image will appear. The sfactor value must be a value 0.0 <= +sfactor <= 1.0, where sfactor = 1 is a highly reflective surface +and sfactor = 0 is a rough non-shiny surface.

    +

    The ssao keyword turns on/off a screen space ambient occlusion +(SSAO) model for depth shading. If yes is set, then atoms further away from the viewer are darkened via a randomized process, which is perceived as depth. The calculation of this effect can increase the cost of computing the image by roughly 2x. The strength of the effect -can be scaled by the dfactor parameter. If no is set, no depth -shading is performed. -

    -
    - -

    A series of JPEG, PNG, or PPM images can be converted into a movie +can be scaled by the dfactor parameter. If no is set, no depth +shading is performed.

    +
    +

    A series of JPEG, PNG, or PPM images can be converted into a movie file and then played as a movie using commonly available tools. Using -dump style movie automates this step and avoids the intermediate +dump style movie automates this step and avoids the intermediate step of writing (many) image snapshot file. But LAMMPS has to be compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be -installed. -

    -

    To manually convert JPEG, PNG or PPM files into an animated GIF or -MPEG or other movie file you can use: -

    -
    • a) Use the ImageMagick convert program. - -
      % convert *.jpg foo.gif
      -% convert -loop 1 *.ppm foo.mpg 
      -
      -

      Animated GIF files from ImageMagick are unoptimized. You can use a +installed.

      +

      To manually convert JPEG, PNG or PPM files into an animated GIF or +MPEG or other movie file you can use:

      +
        +
        1. +
        2. Use the ImageMagick convert program.
        3. +
        +
      • +
      +
      % convert *.jpg foo.gif
      +% convert -loop 1 *.ppm foo.mpg
      +
      +
      +

      Animated GIF files from ImageMagick are unoptimized. You can use a program like gifsicle to optimize and massively shrink them. MPEG files created by ImageMagick are in MPEG-1 format with rather -inefficient compression and low quality. -

      -
    • b) Use QuickTime. - -

      Select "Open Image Sequence" under the File menu Load the images into -QuickTime to animate them Select "Export" under the File menu Save the -movie as a QuickTime movie (*.mov) or in another format. QuickTime +inefficient compression and low quality.

      +
        +
        1. +
        2. Use QuickTime.
        3. +
        +
      • +
      +

      Select “Open Image Sequence” under the File menu Load the images into +QuickTime to animate them Select “Export” under the File menu Save the +movie as a QuickTime movie (*.mov) or in another format. QuickTime can generate very high quality and efficiently compressed movie files. Some of the supported formats require to buy a license and some are not readable on all platforms until specific runtime libraries are -installed. -

      -
    • c) Use FFmpeg - -

      FFmpeg is a command line tool that is available on many platforms and -allows extremely flexible encoding and decoding of movies. -

      -
      cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v
      -cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi 
      -
      -

      Frontends for FFmpeg exist for multiple platforms. For more -information see the FFmpeg homepage -

      - -
    -
    - -

    Play the movie: -

    -
    • a) Use your browser to view an animated GIF movie. - -

      Select "Open File" under the File menu -Load the animated GIF file -

      -
    • b) Use the freely available mplayer or ffplay tool to view a +installed.

      +
        +
        1. +
        2. Use FFmpeg
        3. +
        +
      • +
      +

      FFmpeg is a command line tool that is available on many platforms and +allows extremely flexible encoding and decoding of movies.

      +
      cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v
      +cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi
      +
      +
      +

      Frontends for FFmpeg exist for multiple platforms. For more +information see the FFmpeg homepage

      +
      +

      Play the movie:

      +
        +
        1. +
        2. Use your browser to view an animated GIF movie.
        3. +
        +
      • +
      +

      Select “Open File” under the File menu +Load the animated GIF file

      +
        +
      • b) Use the freely available mplayer or ffplay tool to view a movie. Both are available for multiple OSes and support a large -variety of file formats and decoders. - -
        % mplayer foo.mpg 
        -% ffplay bar.avi 
        -
        -
      • c) Use the Pizza.py -animate tool, -which works directly on a series of image files. - -
        a = animate("foo*.jpg") 
        -
        -
      • d) QuickTime and other Windows- or MacOS-based media players can +variety of file formats and decoders.
      • +
      +
      % mplayer foo.mpg
      +% ffplay bar.avi
      +
      +
      + +
      a = animate("foo*.jpg")
      +
      +
      +
        +
      • d) QuickTime and other Windows- or MacOS-based media players can obviously play movie files directly. Similarly for corresponding tools bundled with Linux desktop environments. However, due to licensing issues with some file formats, the formats may require installing additional libraries, purchasing a license, or may not be -supported. -
      -
      - -

      See Section_modify of the manual for information +supported.

    • +
    +
    +

    See Section_modify of the manual for information on how to add new compute and fix styles to LAMMPS to calculate -per-atom quantities which could then be output into dump files. -

    -
    - -

    Restrictions: -

    -

    To write JPEG images, you must use the -DLAMMPS_JPEG switch when +per-atom quantities which could then be output into dump files.

    +
    +
    +
    +

    Restrictions¶

    +

    To write JPEG images, you must use the -DLAMMPS_JPEG switch when building LAMMPS and link with a JPEG library. To write PNG images, you must use the -DLAMMPS_PNG switch when building LAMMPS and link with a -PNG library. -

    -

    To write movie dumps, you must use the -DLAMMPS_FFMPEG switch when +PNG library.

    +

    To write movie dumps, you must use the -DLAMMPS_FFMPEG switch when building LAMMPS and have the FFmpeg executable available on the -machine where LAMMPS is being run. Typically it's name is lowercase, -i.e. ffmpeg. -

    -

    See the Making LAMMPS section of the -documentation for details on how to compile with optional switches. -

    -

    Note that since FFmpeg is run as an external program via a pipe, +machine where LAMMPS is being run. Typically it’s name is lowercase, +i.e. ffmpeg.

    +

    See the Making LAMMPS section of the +documentation for details on how to compile with optional switches.

    +

    Note that since FFmpeg is run as an external program via a pipe, LAMMPS has limited control over its execution and no knowledge about errors and warnings printed by it. Those warnings and error messages will be printed to the screen only. Due to the way image data is -communicated to FFmpeg, it will often print the message -

    -
    pipe:: Input/output error 
    -
    -

    which can be safely ignored. Other warnings +communicated to FFmpeg, it will often print the message

    +
    pipe:: Input/output error
    +
    +
    +

    which can be safely ignored. Other warnings and errors have to be addressed according to the FFmpeg documentation. One known issue is that certain movie file formats (e.g. MPEG level 1 and 2 format streams) have video bandwith limits that can be crossed when rendering too large of image sizes. Typical warnings look like -this: -

    -
    [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it
    +this:

    +
    [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it
     [mpeg @ 0x98b5e0] buffer underflow st=0 bufi=281407 size=285018
    -[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018 
    -
    -

    In this case it is recommended to either reduce the size of the image +[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018 +

    + +

    In this case it is recommended to either reduce the size of the image or encode in a different format that is also supported by your copy of FFmpeg, and which does not have this limitation (e.g. .avi, .mkv, -mp4). -

    -

    Related commands: -

    -

    dump, dump_modify, undump -

    -

    Default: -

    -

    The defaults for the keywords are as follows: -

    -
    • adiam = not specified (use diameter setting) -
    • atom = yes -
    • bond = none none (if no bonds in system) -
    • bond = atom 0.5 (if bonds in system) -
    • size = 512 512 -
    • view = 60 30 (for 3d) -
    • view = 0 0 (for 2d) -
    • center = s 0.5 0.5 0.5 -
    • up = 0 0 1 (for 3d) -
    • up = 0 1 0 (for 2d) -
    • zoom = 1.0 -
    • persp = 0.0 -
    • box = yes 0.02 -
    • axes = no 0.0 0.0 -
    • subbox no 0.0 -
    • shiny = 1.0 -
    • ssao = no -
    - +mp4).

    + + +
    +

    Default¶

    +

    The defaults for the keywords are as follows:

    +
      +
    • adiam = not specified (use diameter setting)
    • +
    • atom = yes
    • +
    • bond = none none (if no bonds in system)
    • +
    • bond = atom 0.5 (if bonds in system)
    • +
    • size = 512 512
    • +
    • view = 60 30 (for 3d)
    • +
    • view = 0 0 (for 2d)
    • +
    • center = s 0.5 0.5 0.5
    • +
    • up = 0 0 1 (for 3d)
    • +
    • up = 0 1 0 (for 2d)
    • +
    • zoom = 1.0
    • +
    • persp = 0.0
    • +
    • box = yes 0.02
    • +
    • axes = no 0.0 0.0
    • +
    • subbox no 0.0
    • +
    • shiny = 1.0
    • +
    • ssao = no
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dump_modify.html b/doc/dump_modify.html index 90cec61922..16e0c34870 100644 --- a/doc/dump_modify.html +++ b/doc/dump_modify.html @@ -1,241 +1,335 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dump_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dump_modify command -

    -

    Syntax: -

    -
    dump_modify dump-ID keyword values ... 
    -
    -
    • dump-ID = ID of dump to modify - -
    • one or more keyword/value pairs may be appended - -
    • these keywords apply to various dump styles - -
    • keyword = append or buffer or element or every or fileper or first or flush or format or image or label or nfile or pad or precision or region or scale or sort or thresh or unwrap - -
        append arg = yes or no
      -  buffer arg = yes or no
      -  element args = E1 E2 ... EN, where N = # of atom types
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      dump_modify command¶

      +
      +

      Syntax¶

      +
      dump_modify dump-ID keyword values ...
      +
      +
      +
        +
      • dump-ID = ID of dump to modify
      • +
      • one or more keyword/value pairs may be appended
      • +
      • these keywords apply to various dump styles
      • +
      • keyword = append or buffer or element or every or fileper or first or flush or format or image or label or nfile or pad or precision or region or scale or sort or thresh or unwrap
      • +
      +
      +append arg = yes or no
      +  buffer arg = yes or no
      +  element args = E1 E2 ... EN, where N = # of atom types
           E1,...,EN = element name, e.g. C or Fe or Ga
      -  every arg = N
      +  every arg = N
           N = dump every this many timesteps
           N can be a variable (see below)
      -  fileper arg = Np
      +  fileper arg = Np
           Np = write one file for every this many processors
      -  first arg = yes or no
      -  format arg = C-style format string for one line of output
      -  flush arg = yes or no
      -  image arg = yes or no
      -  label arg = string
      +  first arg = yes or no
      +  format arg = C-style format string for one line of output
      +  flush arg = yes or no
      +  image arg = yes or no
      +  label arg = string
           string = character string (e.g. BONDS) to use in header of dump local file
      -  nfile arg = Nf
      +  nfile arg = Nf
           Nf = write this many files, one from each of Nf processors
      -  pad arg = Nchar = # of characters to convert timestep to
      -  precision arg = power-of-10 value from 10 to 1000000
      -  region arg = region-ID or "none"
      -  scale arg = yes or no
      -  sfactor arg = coordinate scaling factor (> 0.0)
      -  tfactor arg = time scaling factor (> 0.0)
      -  sort arg = off or id or N or -N
      +  pad arg = Nchar = # of characters to convert timestep to
      +  precision arg = power-of-10 value from 10 to 1000000
      +  region arg = region-ID or "none"
      +  scale arg = yes or no
      +  sfactor arg = coordinate scaling factor (> 0.0)
      +  tfactor arg = time scaling factor (> 0.0)
      +  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
            N = sort per-atom lines in ascending order by the Nth column
            -N = sort per-atom lines in descending order by the Nth column
      -  thresh args = attribute operation value
      +  thresh args = attribute operation value
           attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
      -    operation = "<" or "<=" or ">" or ">=" or "==" or "!="
      +    operation = "<" or "<=" or ">" or ">=" or "==" or "!="
           value = numeric value to compare to
      -    these 3 args can be replaced by the word "none" to turn off thresholding
      -  unwrap arg = yes or no 
      -
      -
    • these keywords apply only to the image and movie styles - -
    • keyword = acolor or adiam or amap or backcolor or bcolor or bdiam or boxcolor or color or bitrate or framerate - -
        acolor args = type color
      +    these 3 args can be replaced by the word "none" to turn off thresholding
      +  unwrap arg = yes or no
      +
      +
        +
      • these keywords apply only to the image and movie styles
      • +
      • keyword = acolor or adiam or amap or backcolor or bcolor or bdiam or boxcolor or color or bitrate or framerate
      • +
      +
      +acolor args = type color
           type = atom type or range of types (see below)
           color = name of color or color1/color2/...
      -  adiam args = type diam
      +  adiam args = type diam
           type = atom type or range of types (see below)
           diam = diameter of atoms of that type (distance units)
      -  amap args = lo hi style delta N entry1 entry2 ... entryN
      -    lo = number or min = lower bound of range of color map
      -    hi = number or max = upper bound of range of color map
      -    style = 2 letters = "c" or "d" or "s" plus "a" or "f"
      -      "c" for continuous
      -      "d" for discrete
      -      "s" for sequential
      -      "a" for absolute
      -      "f" for fractional
      -    delta = binsize (only used for style "s", otherwise ignored)
      +  amap args = lo hi style delta N entry1 entry2 ... entryN
      +    lo = number or min = lower bound of range of color map
      +    hi = number or max = upper bound of range of color map
      +    style = 2 letters = "c" or "d" or "s" plus "a" or "f"
      +      "c" for continuous
      +      "d" for discrete
      +      "s" for sequential
      +      "a" for absolute
      +      "f" for fractional
      +    delta = binsize (only used for style "s", otherwise ignored)
             binsize = range is divided into bins of this width
           N = # of subsequent entries
           entry = value color (for continuous style)
      -      value = number or min or max = single value within range
      +      value = number or min or max = single value within range
             color = name of color used for that value
           entry = lo hi color (for discrete style)
      -      lo/hi = number or min or max = lower/upper bound of subset of range
      +      lo/hi = number or min or max = lower/upper bound of subset of range
             color = name of color used for that subset of values
           entry = color (for sequential style)
             color = name of color used for a bin of values
      -  backcolor arg = color
      +  backcolor arg = color
           color = name of color for background
      -  bcolor args = type color
      +  bcolor args = type color
           type = bond type or range of types (see below)
           color = name of color or color1/color2/...
      -  bdiam args = type diam
      +  bdiam args = type diam
           type = bond type or range of types (see below)
           diam = diameter of bonds of that type (distance units)
      -  boxcolor arg = color
      +  boxcolor arg = color
           color = name of color for simulation box lines and processor sub-domain lines
      -  color args = name R G B
      +  color args = name R G B
           name = name of color
           R,G,B = red/green/blue numeric values from 0.0 to 1.0
      -  bitrate arg = rate
      +  bitrate arg = rate
           rate = target bitrate for movie in kbps
      -  framerate arg = fps
      -    fps = frames per second for movie 
      -
      - -
    -

    Examples: -

    -
    dump_modify 1 format "%d %d %20.15g %g %g" scale yes
    +  framerate arg = fps
    +    fps = frames per second for movie
    +
    +
    +
    +

    Examples¶

    +
    dump_modify 1 format "%d %d %20.15g %g %g" scale yes
     dump_modify myDump image yes scale no flush yes
    -dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2
    +dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2
     dump_modify xtcdump precision 10000 sfactor 0.1
     dump_modify 1 every 1000 nfile 20
     dump_modify 1 every v_myVar
    -dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red 
    -
    -

    Description: -

    -

    Modify the parameters of a previously defined dump command. Not all -parameters are relevant to all dump styles. -

    -

    As explained on the dump doc page, the atom/mpiio, -custom/mpiio, and xyz/mpiio dump styles are identical in command +dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red +

    +
    +
    +
    +

    Description¶

    +

    Modify the parameters of a previously defined dump command. Not all +parameters are relevant to all dump styles.

    +

    As explained on the dump doc page, the atom/mpiio, +custom/mpiio, and xyz/mpiio dump styles are identical in command syntax and in the format of the dump files they create, to the -corresponding styles without "mpiio", except the single dump file they +corresponding styles without “mpiio”, except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a -dump_modify option below is valid for the atom style, it is also -valid for the atom/mpiio style, and similarly for the other styles -which allow for use of MPI-IO. -

    -
    - -
    - -

    These keywords apply to various dump styles, including the dump -image and dump movie styles. The -description gives details. -

    -
    - -

    The append keyword applies to all dump styles except cfg and xtc -and dcd. It also applies only to text output files, not to binary -or gzipped or image/movie files. If specified as yes, then dump +dump_modify option below is valid for the atom style, it is also +valid for the atom/mpiio style, and similarly for the other styles +which allow for use of MPI-IO.

    +

    These keywords apply to various dump styles, including the dump image and dump movie styles. The +description gives details.

    +
    +

    The append keyword applies to all dump styles except cfg and xtc +and dcd. It also applies only to text output files, not to binary +or gzipped or image/movie files. If specified as yes, then dump snapshots are appended to the end of an existing dump file. If -specified as no, then a new dump file will be created which will +specified as no, then a new dump file will be created which will overwrite an existing file with the same name. This keyword can only take effect if the dump_modify command is used after the -dump command, but before the first command that causes -dump snapshots to be output, e.g. a run or -minimize command. Once the dump file has been opened, -this keyword has no further effect. -

    -
    - -

    The buffer keyword applies only to dump styles atom, cfg, -custom, local, and xyz. It also applies only to text output -files, not to binary or gzipped files. If specified as yes, which +dump command, but before the first command that causes +dump snapshots to be output, e.g. a run or +minimize command. Once the dump file has been opened, +this keyword has no further effect.

    +
    +

    The buffer keyword applies only to dump styles atom, cfg, +custom, local, and xyz. It also applies only to text output +files, not to binary or gzipped files. If specified as yes, which is the default, then each processor writes its output into an internal text buffer, which is then sent to the processor(s) which perform file writes, and written by those processors(s) as one large chunk of text. -If specified as no, each processor sends its per-atom data in binary +If specified as no, each processor sends its per-atom data in binary format to the processor(s) which perform file wirtes, and those -processor(s) format and write it line by line into the output file. -

    -

    The buffering mode is typically faster since each processor does the +processor(s) format and write it line by line into the output file.

    +

    The buffering mode is typically faster since each processor does the relatively expensive task of formatting the output for its own atoms. However it requires about twice the memory (per processor) for the -extra buffering. -

    -
    - -

    The element keyword applies only to the the dump cfg, xyz, and -image styles. It associates element names (e.g. H, C, Fe) with +extra buffering.

    +
    +

    The element keyword applies only to the the dump cfg, xyz, and +image styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of -this page. -

    -

    In the case of dump cfg, this allows the AtomEye +this page.

    +

    In the case of dump cfg, this allows the AtomEye visualization package to read the dump file and render atoms with the -appropriate size and color. -

    -

    In the case of dump image, the output images will follow the same -AtomEye convention. An element name is specified for each +appropriate size and color.

    +

    In the case of dump image, the output images will follow the same +AtomEye convention. An element name is specified for each atom type (1 to Ntype) in the simulation. The same element name can -be given to multiple atom types. -

    -

    In the case of xyz format dumps, there are no restrictions to what +be given to multiple atom types.

    +

    In the case of xyz format dumps, there are no restrictions to what label can be used as an element name. Any whitespace separated text -will be accepted. -

    - - -
    - -

    The every keyword changes the dump frequency originally specified by -the dump command to a new value. The every keyword can be +will be accepted.

    +
    +

    The every keyword changes the dump frequency originally specified by +the dump command to a new value. The every keyword can be specified in one of two ways. It can be a numeric value in which case -it must be > 0. Or it can be an equal-style variable, -which should be specified as v_name, where name is the variable name. -

    -

    In this case, the variable is evaluated at the beginning of a run to +it must be > 0. Or it can be an equal-style variable, +which should be specified as v_name, where name is the variable name.

    +

    In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a dump snapshot will be written out. On that timestep the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and logfreq() and stride() math -functions for equal-style variables, as examples of +functions for equal-style variables, as examples of useful functions to use in this context. Other similar math functions -could easily be added as options for equal-style -variables. Also see the next() function, which allows +could easily be added as options for equal-style variables. Also see the next() function, which allows use of a file-style variable which reads successive values from a -file, each time the variable is evaluated. Used with the every +file, each time the variable is evaluated. Used with the every keyword, if the file contains a list of ascending timesteps, you can -output snapshots whenever you wish. -

    -

    Note that when using the variable option with the every keyword, you -need to use the first option if you want an initial snapshot written -to the dump file. The every keyword cannot be used with the dump -dcd style. -

    -

    For example, the following commands will -write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: -

    -
    variable	s equal logfreq(10,3,10)
    -dump		1 all atom 100 tmp.dump
    -dump_modify	1 every v_s first yes 
    -
    -

    The following commands would write snapshots at the timesteps listed -in file tmp.times: -

    -
    variable        f file tmp.times
    -variable	s equal next(f)
    -dump		1 all atom 100 tmp.dump
    -dump_modify	1 every v_s 
    -
    -

    IMPORTANT NOTE: When using a file-style variable with the every +output snapshots whenever you wish.

    +

    Note that when using the variable option with the every keyword, you +need to use the first option if you want an initial snapshot written +to the dump file. The every keyword cannot be used with the dump +dcd style.

    +

    For example, the following commands will +write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:

    +
    variable     s equal logfreq(10,3,10)
    +dump         1 all atom 100 tmp.dump
    +dump_modify  1 every v_s first yes
    +
    +
    +

    The following commands would write snapshots at the timesteps listed +in file tmp.times:

    +
    variable        f file tmp.times
    +variable     s equal next(f)
    +dump         1 all atom 100 tmp.dump
    +dump_modify  1 every v_s
    +
    +
    +
    +

    Warning

    +

    When using a file-style variable with the every keyword, the file of timesteps must list a first timestep that is beyond the current timestep (e.g. it cannot be 0). And it must list one or more timesteps beyond the length of the run you perform. This @@ -243,467 +337,393 @@ is because the dump command will generate an error if the next timestep it reads from the file is not a value greater than the current timestep. Thus if you wanted output on steps 0,15,100 of a 100-timestep run, the file should contain the values 15,100,101 and -you should also use the dump_modify first command. Any final value > -100 could be used in place of 101. -

    -
    - -

    The first keyword determines whether a dump snapshot is written on +you should also use the dump_modify first command. Any final value > +100 could be used in place of 101.

    +
    +
    +

    The first keyword determines whether a dump snapshot is written on the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency -specified in the dump command, including timestep 0. But +specified in the dump command, including timestep 0. But if this is not the case, a dump snapshot will only be written if the -setting of this keyword is yes. If it is no, which is the -default, then it will not be written. -

    -
    - -

    The flush keyword determines whether a flush operation is invoked +setting of this keyword is yes. If it is no, which is the +default, then it will not be written.

    +
    +

    The flush keyword determines whether a flush operation is invoked after a dump snapshot is written to the dump file. A flush insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. Flushes cannot be -performed with dump style xtc. -

    -
    - -

    The text-based dump styles have a default C-style format string which +performed with dump style xtc.

    +
    +

    The text-based dump styles have a default C-style format string which simply specifies %d for integers and %g for floating-point values. -The format keyword can be used to override the default with a new -C-style format string. Do not include a trailing "\n" newline +The format keyword can be used to override the default with a new +C-style format string. Do not include a trailing “n” newline character in the format string. This option has no effect on the -dcd and xtc dump styles since they write binary files. Note that -for the cfg style, the first two fields (atom id and type) are not +dcd and xtc dump styles since they write binary files. Note that +for the cfg style, the first two fields (atom id and type) are not actually written into the CFG file, though you must include formats -for them in the format string. -

    -

    IMPORTANT NOTE: Any value written to a text-based dump file that is a -per-atom quantity calculated by a compute or -fix is stored internally as a floating-point value. If the +for them in the format string.

    +
    +

    Warning

    +

    Any value written to a text-based dump file that is a +per-atom quantity calculated by a compute or +fix is stored internally as a floating-point value. If the value is actually an integer and you wish it to appear in the text dump file as a (large) integer, then you need to use an appropriate -format. For example, these commands: -

    -
    compute     1 all property/local batom1 batom2
    +format.  For example, these commands:

    +
    +
    compute     1 all property/local batom1 batom2
     dump        1 all local 100 tmp.bonds index c_1[1] c_1[2]
    -dump_modify 1 format "%d %0.0f %0.0f" 
    -
    -

    will output the two atom IDs for atoms in each bond as integers. If +dump_modify 1 format "%d %0.0f %0.0f" +

    +
    +

    will output the two atom IDs for atoms in each bond as integers. If the dump_modify command were omitted, they would appear as floating-point values, assuming they were large integers (more than 6 -digits). The "index" keyword should use the "%d" format since it is +digits). The “index” keyword should use the “%d” format since it is not generated by a compute or fix, and is stored internally as an -integer. -

    -
    - -

    The fileper keyword is documented below with the nfile keyword. -

    -
    - -

    The image keyword applies only to the dump atom style. If the -image value is yes, 3 flags are appended to each atom's coords which +integer.

    +
    +

    The fileper keyword is documented below with the nfile keyword.

    +
    +

    The image keyword applies only to the dump atom style. If the +image value is yes, 3 flags are appended to each atom’s coords which are the absolute box image of the atom in each dimension. For example, an x image flag of -2 with a normalized coord of 0.5 means the atom is in the center of the box, but has passed thru the box boundary 2 times and is really 2 box lengths to the left of its -current coordinate. Note that for dump style custom these various +current coordinate. Note that for dump style custom these various values can be printed in the dump file by using the appropriate atom -attributes in the dump command itself. -

    -
    - -

    The label keyword applies only to the dump local style. When +attributes in the dump command itself.

    +
    +

    The label keyword applies only to the dump local style. When it writes local information, such as bond or angle topology -to a dump file, it will use the specified label to format -the header. By default this includes 2 lines: -

    -
    ITEM: NUMBER OF ENTRIES
    -ITEM: ENTRIES ... 
    -
    -

    The word "ENTRIES" will be replaced with the string specified, -e.g. BONDS or ANGLES. -

    -
    - -

    The nfile or fileper keywords can be used in conjunction with the -"%" wildcard character in the specified dump file name, for all dump -styles except the dcd, image, movie, xtc, and xyz styles -(for which "%" is not allowed). As explained on the dump -command doc page, the "%" character causes the dump file to be written +to a dump file, it will use the specified label to format +the header. By default this includes 2 lines:

    +
    ITEM: NUMBER OF ENTRIES
    +ITEM: ENTRIES ...
    +
    +
    +

    The word “ENTRIES” will be replaced with the string specified, +e.g. BONDS or ANGLES.

    +
    +

    The nfile or fileper keywords can be used in conjunction with the +“%” wildcard character in the specified dump file name, for all dump +styles except the dcd, image, movie, xtc, and xyz styles +(for which “%” is not allowed). As explained on the dump +command doc page, the “%” character causes the dump file to be written in pieces, one piece for each of P processors. By default P = the -number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. -

    -

    The nfile keyword sets P to the specified Nf value. For example, if +number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors.

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a dump file. -

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a dump file.

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a dump file. -

    -
    - -

    The pad keyword only applies when the dump filename is specified -with a wildcard "*" character which becomes the timestep. If pad is +next 3 processors and write it to a dump file.

    +
    +

    The pad keyword only applies when the dump filename is specified +with a wildcard “*” character which becomes the timestep. If pad is 0, which is the default, the timestep is converted into a string of -unpadded length, e.g. 100 or 12000 or 2000000. When pad is -specified with Nchar > 0, the string is padded with leading zeroes -so they are all the same length = Nchar. For example, pad 7 would +unpadded length, e.g. 100 or 12000 or 2000000. When pad is +specified with Nchar > 0, the string is padded with leading zeroes +so they are all the same length = Nchar. For example, pad 7 would yield 0000100, 0012000, 2000000. This can be useful so that post-processing programs can easily read the files in ascending -timestep order. -

    -
    - -

    The precision keyword only applies to the dump xtc style. A +timestep order.

    +
    +

    The precision keyword only applies to the dump xtc style. A specified value of N means that coordinates are stored to 1/N nanometer accuracy, e.g. for N = 1000, the coordinates are written to -1/1000 nanometer accuracy. -

    -
    - -

    The sfactor and tfactor keywords only apply to the dump xtc +1/1000 nanometer accuracy.

    +
    +

    The sfactor and tfactor keywords only apply to the dump xtc style. They allow customization of the unit conversion factors used when writing to XTC files. By default they are initialized for -whatever units style is being used, to write out -coordinates in nanometers and time in picoseconds. I.e. for real -units, LAMMPS defines sfactor = 0.1 and tfactor = 0.001, since the -Angstroms and fmsec used by real units are 0.1 nm and 0.001 psec +whatever units style is being used, to write out +coordinates in nanometers and time in picoseconds. I.e. for real +units, LAMMPS defines sfactor = 0.1 and tfactor = 0.001, since the +Angstroms and fmsec used by real units are 0.1 nm and 0.001 psec respectively. If you are using a units system with distance and time units far from nm and psec, you may wish to write XTC files with different units, since the compression algorithm used in XTC files is most effective when the typical magnitude of position data is between -10.0 and 0.1. -

    -
    - -

    The region keyword only applies to the dump custom, cfg, -image, and movie styles. If specified, only atoms in the region +10.0 and 0.1.

    +
    +

    The region keyword only applies to the dump custom, cfg, +image, and movie styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only one region can be applied as a filter (the last one specified). See -the region command for more details. Note that a region -can be defined as the "inside" or "outside" of a geometric shape, and -it can be the "union" or "intersection" of a series of simpler -regions. -

    -
    - -

    The scale keyword applies only to the dump atom style. A scale -value of yes means atom coords are written in normalized units from +the region command for more details. Note that a region +can be defined as the “inside” or “outside” of a geometric shape, and +it can be the “union” or “intersection” of a series of simpler +regions.

    +
    +

    The scale keyword applies only to the dump atom style. A scale +value of yes means atom coords are written in normalized units from 0.0 to 1.0 in each box dimension. If the simluation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. A -value of no means they are written in absolute distance units -(e.g. Angstroms or sigma). -

    -
    - -

    The sort keyword determines whether lines of per-atom output in a -snapshot are sorted or not. A sort value of off means they will +value of no means they are written in absolute distance units +(e.g. Angstroms or sigma).

    +
    +

    The sort keyword determines whether lines of per-atom output in a +snapshot are sorted or not. A sort value of off means they will typically be written in indeterminate order, either in serial or -parallel. This is the case even in serial if the atom_modify -sort option is turned on, which it is by default, to -improve performance. A sort value of id means sort the output by +parallel. This is the case even in serial if the atom_modify sort option is turned on, which it is by default, to +improve performance. A sort value of id means sort the output by atom ID. A sort value of N or -N means sort the output by the value in the Nth column of per-atom info in either ascending or descending -order. -

    -

    The dump local style cannot be sorted by atom ID, since there are +order.

    +

    The dump local style cannot be sorted by atom ID, since there are typically multiple lines of output per atom. Some dump styles, such -as dcd and xtc, require sorting by atom ID to format the output +as dcd and xtc, require sorting by atom ID to format the output file correctly. If multiple processors are writing the dump file, via -the "%" wildcard in the dump filename, then sorting cannot be -performed. -

    -

    IMPORTANT NOTE: Unless it is required by the dump style, sorting dump +the “%” wildcard in the dump filename, then sorting cannot be +performed.

    +
    +

    Warning

    +

    Unless it is required by the dump style, sorting dump file output requires extra overhead in terms of CPU and communication -cost, as well as memory, versus unsorted output. -

    -
    - -

    The thresh keyword only applies to the dump custom, cfg, -image, and movie styles. Multiple thresholds can be specified. -Specifying "none" turns off all threshold criteria. If thresholds are +cost, as well as memory, versus unsorted output.

    +
    +
    +

    The thresh keyword only applies to the dump custom, cfg, +image, and movie styles. Multiple thresholds can be specified. +Specifying “none” turns off all threshold criteria. If thresholds are specified, only atoms whose attributes meet all the threshold criteria are written to the dump file or included in the image. The possible attributes that can be tested for are the same as those that can be -specified in the dump custom command, with the exception -of the element attribute, since it is not a numeric value. Note +specified in the dump custom command, with the exception +of the element attribute, since it is not a numeric value. Note that different attributes can be output by the dump custom command than are used as threshold criteria by the dump_modify command. E.g. you can output the coordinates and stress of atoms whose energy -is above some threshold. -

    -
    - -

    The unwrap keyword only applies to the dump dcd and xtc styles. -If set to yes, coordinates will be written "unwrapped" by the image +is above some threshold.

    +
    +

    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 thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the -box size stored with the snapshot. -

    -
    - -
    - -

    These keywords apply only to the dump image and -dump movie styles. Any keyword that affects an +box size stored with the snapshot.

    +

    These keywords apply only to the dump image and +dump movie styles. Any keyword that affects an image, also affects a movie, since the movie is simply a collection of -images. Some of the keywords only affect the dump -movie style. The descriptions give details. -

    -
    - -

    The acolor keyword can be used with the dump image -command, when its atom color setting is type, to set the color that -atoms of each type will be drawn in the image. -

    -

    The specified type should be an integer from 1 to Ntypes = the +images. Some of the keywords only affect the dump movie style. The descriptions give details.

    +
    +

    The acolor keyword can be used with the dump image +command, when its atom color setting is type, to set the color that +atoms of each type will be drawn in the image.

    +

    The specified type should be an integer from 1 to Ntypes = the number of atom types. A wildcard asterisk can be used in place of or -in conjunction with the type argument to specify a range of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +in conjunction with the type argument to specify a range of atom +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). -

    -

    The specified color can be a single color which is any of the 140 +(inclusive).

    +

    The specified color can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated -by a "/" character, e.g. red/green/blue. In the former case, that +by a “/” character, e.g. red/green/blue. In the former case, that color is assigned to all the specified atom types. In the latter case, the list of colors are assigned in a round-robin fashion to each -of the specified atom types. -

    -
    - -

    The adiam keyword can be used with the dump image -command, when its atom diameter setting is type, to set the size +of the specified atom types.

    +
    +

    The adiam keyword can be used with the dump image +command, when its atom diameter setting is type, to set the size that atoms of each type will be drawn in the image. The specified -type should be an integer from 1 to Ntypes. As with the acolor -keyword, a wildcard asterisk can be used as part of the type -argument to specify a range of atomt types. The specified diam is -the size in whatever distance units the input script is -using, e.g. Angstroms. -

    -
    - -

    The amap keyword can be used with the dump image -command, with its atom keyword, when its atom setting is an +type should be an integer from 1 to Ntypes. As with the acolor +keyword, a wildcard asterisk can be used as part of the type +argument to specify a range of atomt types. The specified diam is +the size in whatever distance units the input script is +using, e.g. Angstroms.

    +
    +

    The amap keyword can be used with the dump image +command, with its atom keyword, when its atom setting is an atom-attribute, to setup a color map. The color map is used to assign a specific RGB (red/green/blue) color value to an individual atom when -it is drawn, based on the atom's attribute, which is a numeric value, -e.g. its x-component of velocity if the atom-attribute "vx" was -specified. -

    -

    The basic idea of a color map is that the atom-attribute will be +it is drawn, based on the atom’s attribute, which is a numeric value, +e.g. its x-component of velocity if the atom-attribute “vx” was +specified.

    +

    The basic idea of a color map is that the atom-attribute will be within a range of values, and that range is associated with a a series -of colors (e.g. red, blue, green). An atom's specific value (vx = +of colors (e.g. red, blue, green). An atom’s specific value (vx = -3.2) can then mapped to the series of colors (e.g. halfway between red and blue), and a specific color is determined via an interpolation -procedure. -

    -

    There are many possible options for the color map, enabled by the -amap keyword. Here are the details. -

    -

    The lo and hi settings determine the range of values allowed for -the atom attribute. If numeric values are used for lo and/or hi, +procedure.

    +

    There are many possible options for the color map, enabled by the +amap keyword. Here are the details.

    +

    The lo and hi settings determine the range of values allowed for +the atom attribute. If numeric values are used for lo and/or hi, then values that are lower/higher than that value are set to the -value. I.e. the range is static. If lo is specified as min or -hi as max then the range is dynamic, and the lower and/or +value. I.e. the range is static. If lo is specified as min or +hi as max then the range is dynamic, and the lower and/or upper bound will be calculated each time an image is drawn, based -on the set of atoms being visualized. -

    -

    The style setting is two letters, such as "ca". The first letter is -either "c" for continuous, "d" for discrete, or "s" for sequential. -The second letter is either "a" for absolute, or "f" for fractional. -

    -

    A continuous color map is one in which the color changes continuously +on the set of atoms being visualized.

    +

    The style setting is two letters, such as “ca”. The first letter is +either “c” for continuous, “d” for discrete, or “s” for sequential. +The second letter is either “a” for absolute, or “f” for fractional.

    +

    A continuous color map is one in which the color changes continuously from value to value within the range. A discrete color map is one in which discrete colors are assigned to sub-ranges of values within the range. A sequential color map is one in which discrete colors are assigned to a sequence of sub-ranges of values covering the entire -range. -

    -

    An absolute color map is one in which the values to which colors are +range.

    +

    An absolute color map is one in which the values to which colors are assigned are specified explicitly as values within the range. A fractional color map is one in which the values to which colors are assigned are specified as a fractional portion of the range. For example if the range is from -10.0 to 10.0, and the color red is to be assigned to atoms with a value of 5.0, then for an absolute color map the number 5.0 would be used. But for a fractional map, the number -0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0. -

    -

    The delta setting must be specified for all styles, but is only used +0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0.

    +

    The delta setting must be specified for all styles, but is only used for the sequential style; otherwise the value is ignored. It specifies the bin size to use within the range for assigning consecutive colors to. For example, if the range is from -10.0 to -10.0 and a delta of 1.0 is used, then 20 colors will be assigned to -the range. The first will be from -10.0 <= color1 < -9.0, then 2nd -from -9.0 <= color2 < -8.0, etc. -

    -

    The N setting is how many entries follow. The format of the entries +10.0 and a delta of 1.0 is used, then 20 colors will be assigned to +the range. The first will be from -10.0 <= color1 < -9.0, then 2nd +from -9.0 <= color2 < -8.0, etc.

    +

    The N setting is how many entries follow. The format of the entries depends on whether the color map style is continuous, discrete or -sequential. In all cases the color setting can be any of the 140 +sequential. In all cases the color setting can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump_modify color option. -

    -

    For continuous color maps, each entry has a value and a color. -The value is either a number within the range of values or min or -max. The value of the first entry must be min and the value -of the last entry must be max. Any entries in between must have +dump_modify color option.

    +

    For continuous color maps, each entry has a value and a color. +The value is either a number within the range of values or min or +max. The value of the first entry must be min and the value +of the last entry must be max. Any entries in between must have increasing values. Note that numeric values can be specified either as absolute numbers or as fractions (0.0 to 1.0) of the range, -depending on the "a" or "f" in the style setting for the color map. -

    -

    Here is how the entries are used to determine the color of an +depending on the “a” or “f” in the style setting for the color map.

    +

    Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. X will fall between 2 of the entry values. The color of the atom is linearly interpolated (in each of the RGB values) between the 2 colors associated with those entries. For example, if X = -5.0 and the 2 -surrounding entries are "red" at -10.0 and "blue" at 0.0, then the -atom's color will be halfway between "red" and "blue", which happens -to be "purple". -

    -

    For discrete color maps, each entry has a lo and hi value and a -color. The lo and hi settings are either numbers within the -range of values or lo can be min or hi can be max. The lo -and hi settings of the last entry must be min and max. Other -entries can have any lo and hi values and the sub-ranges of -different values can overlap. Note that numeric lo and hi values +surrounding entries are “red” at -10.0 and “blue” at 0.0, then the +atom’s color will be halfway between “red” and “blue”, which happens +to be “purple”.

    +

    For discrete color maps, each entry has a lo and hi value and a +color. The lo and hi settings are either numbers within the +range of values or lo can be min or hi can be max. The lo +and hi settings of the last entry must be min and max. Other +entries can have any lo and hi values and the sub-ranges of +different values can overlap. Note that numeric lo and hi values can be specified either as absolute numbers or as fractions (0.0 to -1.0) of the range, depending on the "a" or "f" in the style setting -for the color map. -

    -

    Here is how the entries are used to determine the color of an +1.0) of the range, depending on the “a” or “f” in the style setting +for the color map.

    +

    Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The entries -are scanned from first to last. The first time that lo <= X <= -hi, X is assigned the color associated with that entry. You can +are scanned from first to last. The first time that lo <= X <= +hi, X is assigned the color associated with that entry. You can think of the last entry as assigning a default color (since it will always be matched by X), and the earlier entries as colors that override the default. Also note that no interpolation of a color RGB is done. All atoms will be drawn with one of the colors in the list -of entries. -

    -

    For sequential color maps, each entry has only a color. Here is how +of entries.

    +

    For sequential color maps, each entry has only a color. Here is how the entries are used to determine the color of an individual atom, given the value X of its atom attribute. The range is partitioned -into N bins of width binsize. Thus X will fall in a specific bin +into N bins of width binsize. Thus X will fall in a specific bin from 1 to N, say the Mth bin. If it falls on a boundary between 2 bins, it is considered to be in the higher of the 2 bins. Each bin is -assigned a color from the E entries. If E < N, then the colors are +assigned a color from the E entries. If E < N, then the colors are repeated. For example if 2 entries with colors red and green are specified, then the odd numbered bins will be red and the even bins green. The color of the atom is the color of its bin. Note that the sequential color map is really a shorthand way of defining a discrete -color map without having to specify where all the bin boundaries are. -

    -

    Here is an example of using a sequential color map to color all the +color map without having to specify where all the bin boundaries are.

    +

    Here is an example of using a sequential color map to color all the atoms in individual molecules with a different color. See the examples/pour/in.pour.2d.molecule input script for an example of how -this is used. -

    -
    variable        colors string &
    -                "red green blue yellow white &
    -                purple pink orange lime gray"
    -variable	mol atom mol%10
    -dump		1 all image 250 image.*.jpg v_mol type &
    -		zoom 1.6 adiam 1.5
    -dump_modify	1 pad 5 amap 0 10 sa 1 10 ${colors} 
    -
    -

    In this case, 10 colors are defined, and molecule IDs are -mapped to one of the colors, even if there are 1000s of molecules. -

    -
    - -

    The backcolor sets the background color of the images. The color +this is used.

    +
    variable        colors string &
    +                "red green blue yellow white &
    +                purple pink orange lime gray"
    +variable     mol atom mol%10
    +dump         1 all image 250 image.*.jpg v_mol type &
    +             zoom 1.6 adiam 1.5
    +dump_modify  1 pad 5 amap 0 10 sa 1 10 ${colors}
    +
    +
    +

    In this case, 10 colors are defined, and molecule IDs are +mapped to one of the colors, even if there are 1000s of molecules.

    +
    +

    The backcolor sets the background color of the images. The color name can be any of the 140 pre-defined colors (see below) or a color -name defined by the dump_modify color option. -

    -
    - -

    The bcolor keyword can be used with the dump image -command, with its bond keyword, when its color setting is type, to -set the color that bonds of each type will be drawn in the image. -

    -

    The specified type should be an integer from 1 to Nbondtypes = the +name defined by the dump_modify color option.

    +
    +

    The bcolor keyword can be used with the dump image +command, with its bond keyword, when its color setting is type, to +set the color that bonds of each type will be drawn in the image.

    +

    The specified type should be an integer from 1 to Nbondtypes = the number of bond types. A wildcard asterisk can be used in place of or -in conjunction with the type argument to specify a range of bond -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +in conjunction with the type argument to specify a range of bond +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of bond types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). -

    -

    The specified color can be a single color which is any of the 140 +(inclusive).

    +

    The specified color can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the dump_modify color option. Or it can be two or more colors separated -by a "/" character, e.g. red/green/blue. In the former case, that +by a “/” character, e.g. red/green/blue. In the former case, that color is assigned to all the specified bond types. In the latter case, the list of colors are assigned in a round-robin fashion to each -of the specified bond types. -

    -
    - -

    The bdiam keyword can be used with the dump image -command, with its bond keyword, when its diam setting is type, to +of the specified bond types.

    +
    +

    The bdiam keyword can be used with the dump image +command, with its bond keyword, when its diam setting is type, to set the diameter that bonds of each type will be drawn in the image. -The specified type should be an integer from 1 to Nbondtypes. As -with the bcolor keyword, a wildcard asterisk can be used as part of -the type argument to specify a range of bond types. The specified -diam is the size in whatever distance units you are -using, e.g. Angstroms. -

    -
    - -

    The bitrate keyword can be used with the dump -movie command to define the size of the resulting +The specified type should be an integer from 1 to Nbondtypes. As +with the bcolor keyword, a wildcard asterisk can be used as part of +the type argument to specify a range of bond types. The specified +diam is the size in whatever distance units you are +using, e.g. Angstroms.

    +
    +

    The bitrate keyword can be used with the dump movie command to define the size of the resulting movie file and its quality via setting how many kbits per second are to be used for the movie file. Higher bitrates require less compression and will result in higher quality movies. The quality is also determined by the compression format and encoder. The default setting is 2000 kbit/s, which will result in average quality with -older compression formats. -

    -

    IMPORTANT NOTE: Not all movie file formats supported by dump movie -allow the bitrate to be set. If not, the setting is silently ignored. -

    -
    - -

    The boxcolor keyword sets the color of the simulation box drawn +older compression formats.

    +
    +

    Warning

    +

    Not all movie file formats supported by dump movie +allow the bitrate to be set. If not, the setting is silently ignored.

    +
    +
    +

    The boxcolor keyword sets the color of the simulation box drawn around the atoms in each image as well as the color of processor -sub-domain boundaries. See the "dump image box" command for how to -specify that a box be drawn via the box keyword, and the sub-domain -boundaries via the subbox keyword. The color name can be any of the +sub-domain boundaries. See the “dump image box” command for how to +specify that a box be drawn via the box keyword, and the sub-domain +boundaries via the subbox keyword. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump_modify color option. -

    -
    - -

    The color keyword allows definition of a new color name, in addition +dump_modify color option.

    +
    +

    The color keyword allows definition of a new color name, in addition to the 140-predefined colors (see below), and associates 3 red/green/blue RGB values with that color name. The color name can then be used with any other dump_modify keyword that takes a color name as a value. The RGB values should each be floating point values -between 0.0 and 1.0 inclusive. -

    -

    When a color name is converted to RGB values, the user-defined color +between 0.0 and 1.0 inclusive.

    +

    When a color name is converted to RGB values, the user-defined color names are searched first, then the 140 pre-defined color names. This -means you can also use the color keyword to overwrite one of the -pre-defined color names with new RBG values. -

    -
    - -

    The framerate keyword can be used with the dump -movie command to define the duration of the resulting -movie file. Movie files written by the dump movie command have a +means you can also use the color keyword to overwrite one of the +pre-defined color names with new RBG values.

    +
    +

    The framerate keyword can be used with the dump movie command to define the duration of the resulting +movie file. Movie files written by the dump movie command have a default frame rate of 24 frames per second and the images generated will be converted at that rate. Thus a sequence of 1000 dump images will result in a movie of about 42 seconds. To make a movie run @@ -711,107 +731,315 @@ longer you can either generate images more frequently or lower the frame rate. To speed a movie up, you can do the inverse. Using a frame rate higher than 24 is not recommended, as it will result in simply dropping the rendered images. It is more efficient to dump -images less frequently. -

    -
    - -
    - -

    Restrictions: none -

    -

    Related commands: -

    -

    dump, dump image, undump -

    -

    Default: -

    -

    The option defaults are -

    -
    • append = no -
    • buffer = yes for dump styles atom, custom, loca, and xyz -
    • element = "C" for every atom type -
    • every = whatever it was set to via the dump command -
    • fileper = # of processors -
    • first = no -
    • flush = yes -
    • format = %d and %g for each integer or floating point value -
    • image = no -
    • label = ENTRIES -
    • nfile = 1 -
    • pad = 0 -
    • precision = 1000 -
    • region = none -
    • scale = yes -
    • sort = off for dump styles atom, custom, cfg, and local -
    • sort = id for dump styles dcd, xtc, and xyz -
    • thresh = none -
    • unwrap = no -
    -
    • acolor = * red/green/blue/yellow/aqua/cyan -
    • adiam = * 1.0 -
    • amap = min max cf 0.0 2 min blue max red -
    • backcolor = black -
    • bcolor = * red/green/blue/yellow/aqua/cyan -
    • bdiam = * 0.5 -
    • bitrate = 2000 -
    • boxcolor = yellow -
    • color = 140 color names are pre-defined as listed below -
    • framerate = 24 -
    -
    - -

    These are the standard 109 element names that LAMMPS pre-defines for -use with the dump image and dump_modify commands. -

    -
    • 1-10 = "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne" -
    • 11-20 = "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca" -
    • 21-30 = "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn" -
    • 31-40 = "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr" -
    • 41-50 = "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn" -
    • 51-60 = "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd" -
    • 61-70 = "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb" -
    • 71-80 = "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg" -
    • 81-90 = "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th" -
    • 91-100 = "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm" -
    • 101-109 = "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt" -
    -
    - -

    These are the 140 colors that LAMMPS pre-defines for use with the -dump image and dump_modify commands. Additional +images less frequently.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are

    +
      +
    • append = no
    • +
    • buffer = yes for dump styles atom, custom, loca, and xyz
    • +
    • element = “C” for every atom type
    • +
    • every = whatever it was set to via the dump command
    • +
    • fileper = # of processors
    • +
    • first = no
    • +
    • flush = yes
    • +
    • format = %d and %g for each integer or floating point value
    • +
    • image = no
    • +
    • label = ENTRIES
    • +
    • nfile = 1
    • +
    • pad = 0
    • +
    • precision = 1000
    • +
    • region = none
    • +
    • scale = yes
    • +
    • sort = off for dump styles atom, custom, cfg, and local
    • +
    • sort = id for dump styles dcd, xtc, and xyz
    • +
    • thresh = none
    • +
    • unwrap = no
    • +
    • acolor = * red/green/blue/yellow/aqua/cyan
    • +
    • adiam = * 1.0
    • +
    • amap = min max cf 0.0 2 min blue max red
    • +
    • backcolor = black
    • +
    • bcolor = * red/green/blue/yellow/aqua/cyan
    • +
    • bdiam = * 0.5
    • +
    • bitrate = 2000
    • +
    • boxcolor = yellow
    • +
    • color = 140 color names are pre-defined as listed below
    • +
    • framerate = 24
    • +
    +
    +

    These are the standard 109 element names that LAMMPS pre-defines for +use with the dump image and dump_modify commands.

    +
      +
    • 1-10 = “H”, “He”, “Li”, “Be”, “B”, “C”, “N”, “O”, “F”, “Ne”
    • +
    • 11-20 = “Na”, “Mg”, “Al”, “Si”, “P”, “S”, “Cl”, “Ar”, “K”, “Ca”
    • +
    • 21-30 = “Sc”, “Ti”, “V”, “Cr”, “Mn”, “Fe”, “Co”, “Ni”, “Cu”, “Zn”
    • +
    • 31-40 = “Ga”, “Ge”, “As”, “Se”, “Br”, “Kr”, “Rb”, “Sr”, “Y”, “Zr”
    • +
    • 41-50 = “Nb”, “Mo”, “Tc”, “Ru”, “Rh”, “Pd”, “Ag”, “Cd”, “In”, “Sn”
    • +
    • 51-60 = “Sb”, “Te”, “I”, “Xe”, “Cs”, “Ba”, “La”, “Ce”, “Pr”, “Nd”
    • +
    • 61-70 = “Pm”, “Sm”, “Eu”, “Gd”, “Tb”, “Dy”, “Ho”, “Er”, “Tm”, “Yb”
    • +
    • 71-80 = “Lu”, “Hf”, “Ta”, “W”, “Re”, “Os”, “Ir”, “Pt”, “Au”, “Hg”
    • +
    • 81-90 = “Tl”, “Pb”, “Bi”, “Po”, “At”, “Rn”, “Fr”, “Ra”, “Ac”, “Th”
    • +
    • 91-100 = “Pa”, “U”, “Np”, “Pu”, “Am”, “Cm”, “Bk”, “Cf”, “Es”, “Fm”
    • +
    • 101-109 = “Md”, “No”, “Lr”, “Rf”, “Db”, “Sg”, “Bh”, “Hs”, “Mt”
    • +
    +
    +

    These are the 140 colors that LAMMPS pre-defines for use with the +dump image and dump_modify commands. Additional colors can be defined with the dump_modify color command. The 3 numbers listed for each name are the RGB (red/green/blue) values. -Divide each value by 255 to get the equivalent 0.0 to 1.0 value. -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    aliceblue = 240, 248, 255 antiquewhite = 250, 235, 215 aqua = 0, 255, 255 aquamarine = 127, 255, 212 azure = 240, 255, 255
    beige = 245, 245, 220 bisque = 255, 228, 196 black = 0, 0, 0 blanchedalmond = 255, 255, 205 blue = 0, 0, 255
    blueviolet = 138, 43, 226 brown = 165, 42, 42 burlywood = 222, 184, 135 cadetblue = 95, 158, 160 chartreuse = 127, 255, 0
    chocolate = 210, 105, 30 coral = 255, 127, 80 cornflowerblue = 100, 149, 237 cornsilk = 255, 248, 220 crimson = 220, 20, 60
    cyan = 0, 255, 255 darkblue = 0, 0, 139 darkcyan = 0, 139, 139 darkgoldenrod = 184, 134, 11 darkgray = 169, 169, 169
    darkgreen = 0, 100, 0 darkkhaki = 189, 183, 107 darkmagenta = 139, 0, 139 darkolivegreen = 85, 107, 47 darkorange = 255, 140, 0
    darkorchid = 153, 50, 204 darkred = 139, 0, 0 darksalmon = 233, 150, 122 darkseagreen = 143, 188, 143 darkslateblue = 72, 61, 139
    darkslategray = 47, 79, 79 darkturquoise = 0, 206, 209 darkviolet = 148, 0, 211 deeppink = 255, 20, 147 deepskyblue = 0, 191, 255
    dimgray = 105, 105, 105 dodgerblue = 30, 144, 255 firebrick = 178, 34, 34 floralwhite = 255, 250, 240 forestgreen = 34, 139, 34
    fuchsia = 255, 0, 255 gainsboro = 220, 220, 220 ghostwhite = 248, 248, 255 gold = 255, 215, 0 goldenrod = 218, 165, 32
    gray = 128, 128, 128 green = 0, 128, 0 greenyellow = 173, 255, 47 honeydew = 240, 255, 240 hotpink = 255, 105, 180
    indianred = 205, 92, 92 indigo = 75, 0, 130 ivory = 255, 240, 240 khaki = 240, 230, 140 lavender = 230, 230, 250
    lavenderblush = 255, 240, 245 lawngreen = 124, 252, 0 lemonchiffon = 255, 250, 205 lightblue = 173, 216, 230 lightcoral = 240, 128, 128
    lightcyan = 224, 255, 255 lightgoldenrodyellow = 250, 250, 210 lightgreen = 144, 238, 144 lightgrey = 211, 211, 211 lightpink = 255, 182, 193
    lightsalmon = 255, 160, 122 lightseagreen = 32, 178, 170 lightskyblue = 135, 206, 250 lightslategray = 119, 136, 153 lightsteelblue = 176, 196, 222
    lightyellow = 255, 255, 224 lime = 0, 255, 0 limegreen = 50, 205, 50 linen = 250, 240, 230 magenta = 255, 0, 255
    maroon = 128, 0, 0 mediumaquamarine = 102, 205, 170 mediumblue = 0, 0, 205 mediumorchid = 186, 85, 211 mediumpurple = 147, 112, 219
    mediumseagreen = 60, 179, 113 mediumslateblue = 123, 104, 238 mediumspringgreen = 0, 250, 154 mediumturquoise = 72, 209, 204 mediumvioletred = 199, 21, 133
    midnightblue = 25, 25, 112 mintcream = 245, 255, 250 mistyrose = 255, 228, 225 moccasin = 255, 228, 181 navajowhite = 255, 222, 173
    navy = 0, 0, 128 oldlace = 253, 245, 230 olive = 128, 128, 0 olivedrab = 107, 142, 35 orange = 255, 165, 0
    orangered = 255, 69, 0 orchid = 218, 112, 214 palegoldenrod = 238, 232, 170 palegreen = 152, 251, 152 paleturquoise = 175, 238, 238
    palevioletred = 219, 112, 147 papayawhip = 255, 239, 213 peachpuff = 255, 239, 213 peru = 205, 133, 63 pink = 255, 192, 203
    plum = 221, 160, 221 powderblue = 176, 224, 230 purple = 128, 0, 128 red = 255, 0, 0 rosybrown = 188, 143, 143
    royalblue = 65, 105, 225 saddlebrown = 139, 69, 19 salmon = 250, 128, 114 sandybrown = 244, 164, 96 seagreen = 46, 139, 87
    seashell = 255, 245, 238 sienna = 160, 82, 45 silver = 192, 192, 192 skyblue = 135, 206, 235 slateblue = 106, 90, 205
    slategray = 112, 128, 144 snow = 255, 250, 250 springgreen = 0, 255, 127 steelblue = 70, 130, 180 tan = 210, 180, 140
    teal = 0, 128, 128 thistle = 216, 191, 216 tomato = 253, 99, 71 turquoise = 64, 224, 208 violet = 238, 130, 238
    wheat = 245, 222, 179 white = 255, 255, 255 whitesmoke = 245, 245, 245 yellow = 255, 255, 0 yellowgreen = 154, 205, 50 -
    +Divide each value by 255 to get the equivalent 0.0 to 1.0 value.

    + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    aliceblue = 240, 248, 255antiquewhite = 250, 235, 215aqua = 0, 255, 255aquamarine = 127, 255, 212azure = 240, 255, 255
    beige = 245, 245, 220bisque = 255, 228, 196black = 0, 0, 0blanchedalmond = 255, 255, 205blue = 0, 0, 255
    blueviolet = 138, 43, 226brown = 165, 42, 42burlywood = 222, 184, 135cadetblue = 95, 158, 160chartreuse = 127, 255, 0
    chocolate = 210, 105, 30coral = 255, 127, 80cornflowerblue = 100, 149, 237cornsilk = 255, 248, 220crimson = 220, 20, 60
    cyan = 0, 255, 255darkblue = 0, 0, 139darkcyan = 0, 139, 139darkgoldenrod = 184, 134, 11darkgray = 169, 169, 169
    darkgreen = 0, 100, 0darkkhaki = 189, 183, 107darkmagenta = 139, 0, 139darkolivegreen = 85, 107, 47darkorange = 255, 140, 0
    darkorchid = 153, 50, 204darkred = 139, 0, 0darksalmon = 233, 150, 122darkseagreen = 143, 188, 143darkslateblue = 72, 61, 139
    darkslategray = 47, 79, 79darkturquoise = 0, 206, 209darkviolet = 148, 0, 211deeppink = 255, 20, 147deepskyblue = 0, 191, 255
    dimgray = 105, 105, 105dodgerblue = 30, 144, 255firebrick = 178, 34, 34floralwhite = 255, 250, 240forestgreen = 34, 139, 34
    fuchsia = 255, 0, 255gainsboro = 220, 220, 220ghostwhite = 248, 248, 255gold = 255, 215, 0goldenrod = 218, 165, 32
    gray = 128, 128, 128green = 0, 128, 0greenyellow = 173, 255, 47honeydew = 240, 255, 240hotpink = 255, 105, 180
    indianred = 205, 92, 92indigo = 75, 0, 130ivory = 255, 240, 240khaki = 240, 230, 140lavender = 230, 230, 250
    lavenderblush = 255, 240, 245lawngreen = 124, 252, 0lemonchiffon = 255, 250, 205lightblue = 173, 216, 230lightcoral = 240, 128, 128
    lightcyan = 224, 255, 255lightgoldenrodyellow = 250, 250, 210lightgreen = 144, 238, 144lightgrey = 211, 211, 211lightpink = 255, 182, 193
    lightsalmon = 255, 160, 122lightseagreen = 32, 178, 170lightskyblue = 135, 206, 250lightslategray = 119, 136, 153lightsteelblue = 176, 196, 222
    lightyellow = 255, 255, 224lime = 0, 255, 0limegreen = 50, 205, 50linen = 250, 240, 230magenta = 255, 0, 255
    maroon = 128, 0, 0mediumaquamarine = 102, 205, 170mediumblue = 0, 0, 205mediumorchid = 186, 85, 211mediumpurple = 147, 112, 219
    mediumseagreen = 60, 179, 113mediumslateblue = 123, 104, 238mediumspringgreen = 0, 250, 154mediumturquoise = 72, 209, 204mediumvioletred = 199, 21, 133
    midnightblue = 25, 25, 112mintcream = 245, 255, 250mistyrose = 255, 228, 225moccasin = 255, 228, 181navajowhite = 255, 222, 173
    navy = 0, 0, 128oldlace = 253, 245, 230olive = 128, 128, 0olivedrab = 107, 142, 35orange = 255, 165, 0
    orangered = 255, 69, 0orchid = 218, 112, 214palegoldenrod = 238, 232, 170palegreen = 152, 251, 152paleturquoise = 175, 238, 238
    palevioletred = 219, 112, 147papayawhip = 255, 239, 213peachpuff = 255, 239, 213peru = 205, 133, 63pink = 255, 192, 203
    plum = 221, 160, 221powderblue = 176, 224, 230purple = 128, 0, 128red = 255, 0, 0rosybrown = 188, 143, 143
    royalblue = 65, 105, 225saddlebrown = 139, 69, 19salmon = 250, 128, 114sandybrown = 244, 164, 96seagreen = 46, 139, 87
    seashell = 255, 245, 238sienna = 160, 82, 45silver = 192, 192, 192skyblue = 135, 206, 235slateblue = 106, 90, 205
    slategray = 112, 128, 144snow = 255, 250, 250springgreen = 0, 255, 127steelblue = 70, 130, 180tan = 210, 180, 140
    teal = 0, 128, 128thistle = 216, 191, 216tomato = 253, 99, 71turquoise = 64, 224, 208violet = 238, 130, 238
    wheat = 245, 222, 179white = 255, 255, 255whitesmoke = 245, 245, 245yellow = 255, 255, 0yellowgreen = 154, 205, 50
    +
    + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/dump_molfile.html b/doc/dump_molfile.html index 07c3b9f881..7bafe817d0 100644 --- a/doc/dump_molfile.html +++ b/doc/dump_molfile.html @@ -1,113 +1,215 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + dump molfile command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    dump molfile command -

    -

    Syntax: -

    -
    dump ID group-ID molfile N file format path 
    -
    -
    • ID = user-assigned name for the dump - -
    • group-ID = ID of the group of atoms to be imaged - -
    • molfile = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page) - -
    • N = dump every this many timesteps - -
    • file = name of file to write to - -
    • format = file format to be used - -
    • path = file path with plugins (optional) - - -
    -

    Examples: -

    -
    dump mf1 all molfile 10 melt1.xml hoomd
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    dump molfile command¶

    +
    +

    Syntax¶

    +
    dump ID group-ID molfile N file format path
    +
    +
    +
      +
    • ID = user-assigned name for the dump
    • +
    • group-ID = ID of the group of atoms to be imaged
    • +
    • molfile = style of dump command (other styles atom or cfg or dcd or xtc or xyz or local or custom are discussed on the dump doc page)
    • +
    • N = dump every this many timesteps
    • +
    • file = name of file to write to
    • +
    • format = file format to be used
    • +
    • path = file path with plugins (optional)
    • +
    +
    +
    +

    Examples¶

    +
    dump mf1 all molfile 10 melt1.xml hoomd
     dump mf2 all molfile 10 melt2-*.pdb pdb .
    -dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile 
    -
    -

    Description: -

    -

    Dump a snapshot of atom coordinates and selected additional quantities +dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile +

    + + +
    +

    Description¶

    +

    Dump a snapshot of atom coordinates and selected additional quantities to one or more files every N timesteps in one of several formats. Only information for atoms in the specified group is dumped. This specific dump style uses molfile plugins that are bundled with the -VMD molecular visualization and -analysis program. See Section tools of the +VMD molecular visualization and +analysis program. See Section tools of the manual and the tools/lmp2vmd/README.txt file for more information about support in VMD for reading and visualizing native LAMMPS dump -files. -

    -

    Unless the filename contains a * character, the output will be written +files.

    +

    Unless the filename contains a * character, the output will be written to one single file with the specified format. Otherwise there will be one file per snapshot and the * will be replaced by the time step number -when the snapshot is written. -

    -

    IMPORTANT NOTE: Because periodic boundary conditions are enforced only +when the snapshot is written.

    +
    +

    Warning

    +

    Because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation -box. -

    -

    The molfile plugin API has a few restrictions that have to be honored +box.

    +
    +

    The molfile plugin API has a few restrictions that have to be honored by this dump style: the number of atoms must not change, the atoms must be sorted, outside of the coordinates no change in atom properties -(like type, mass, charge) will be recorded. -

    -
    - -

    The format keyword determines what format is used to write out the +(like type, mass, charge) will be recorded.

    +
    +

    The format keyword determines what format is used to write out the dump. For this to work, LAMMPS must be able to find and load a compatible molfile plugin that supports this format. Settings made via -the dump_modify command can alter per atom properties -like element names. -

    -

    The path keyword determines which in directories. This is a "path" +the dump_modify command can alter per atom properties +like element names.

    +

    The path keyword determines which in directories. This is a “path” like other search paths, i.e. it can contain multiple directories separated by a colon (or semi-colon on windows). This keyword is -optional and default to ".", the current directory. -

    -

    The unwrap option of the dump_modify command allows -coordinates to be written "unwrapped" by the image flags for each atom. +optional and default to ”.”, the current directory.

    +

    The unwrap option of the dump_modify command allows +coordinates to be written “unwrapped” by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the -snapshot. -

    -
    - -

    Dumps are performed on timesteps that are a multiple of N (including +snapshot.

    +
    +

    Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the dump_modify first command, which can +changed via the dump_modify first command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by using the -dump_modify every command. The dump_modify -every command also allows a variable to be used to -determine the sequence of timesteps on which dump files are written. -

    -
    - -

    Restrictions: -

    -

    The molfile dump style is part of the USER-MOLFILE package. It is -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Molfile plugins provide a consistent programming interface to read and +dump_modify every command. The dump_modify every command also allows a variable to be used to +determine the sequence of timesteps on which dump files are written.

    +
    +
    +
    +

    Restrictions¶

    +

    The molfile dump style is part of the USER-MOLFILE package. It is +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Molfile plugins provide a consistent programming interface to read and write file formats commonly used in molecular simulations. The USER-MOLFILE package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the @@ -115,24 +217,89 @@ platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD or other programs that use them) without having to recompile the application itself. The plugins are installed in the directory: -/plugins//molfile -

    -

    NOTE: while the programming interface (API) to the plugins is backward +<VMDHOME>/plugins/<VMDARCH>/molfile

    +
    +

    Note

    +

    while the programming interface (API) to the plugins is backward compatible, the binary interface (ABI) has been changing over time, so it is necessary to compile this package with the plugin header files from VMD that match the binary plugins. These header files in the -directory: /plugins/include For convenience, the package ships +directory: <VMDHOME>/plugins/include For convenience, the package ships with a set of header files that are compatible with VMD 1.9 and 1.9.1 -(June 2012) -

    -
    +(June 2012)

    +
    +
    +
    + +
    +

    Default¶

    +

    The default path is ”.”. All other properties have to be specified.

    +
    + -

    Related commands: -

    -

    dump, dump_modify, undump -

    -

    Default: -

    -

    The default path is ".". All other properties have to be specified. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/echo.html b/doc/echo.html index 15ca28365e..5f67ae4392 100644 --- a/doc/echo.html +++ b/doc/echo.html @@ -1,43 +1,230 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + echo command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    echo command -

    -

    Syntax: -

    -
    echo style 
    -
    -
    • style = none or screen or log or both -
    -

    Examples: -

    -
    echo both
    -echo log 
    -
    -

    Description: -

    -

    This command determines whether LAMMPS echoes each input script + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    echo command¶

    +
    +

    Syntax¶

    +
    echo style
    +
    +
    +
      +
    • style = none or screen or log or both
    • +
    +
    +
    +

    Examples¶

    +
    echo both
    +echo log
    +
    +
    +
    +
    +

    Description¶

    +

    This command determines whether LAMMPS echoes each input script command to the screen and/or log file as it is read and processed. If an input script has errors, it can be useful to look at echoed output -to see the last command processed. -

    -

    The command-line switch -echo can be used -in place of this command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: -

    -
    echo log 
    -
    - +to see the last command processed.

    +

    The command-line switch -echo can be used +in place of this command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +
    +
    +

    Default¶

    +
    echo log
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix.html b/doc/fix.html index ad6b904b3b..afa0521562 100644 --- a/doc/fix.html +++ b/doc/fix.html @@ -1,82 +1,195 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix command -

    -

    Syntax: -

    -
    fix ID group-ID style args 
    -
    -
    • ID = user-assigned name for the fix -
    • group-ID = ID of the group of atoms to apply the fix to -
    • style = one of a long list of possible style names (see below) -
    • args = arguments used by a particular style -
    -

    Examples: -

    -
    fix 1 all nve
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID style args
    +
    +
    +
      +
    • ID = user-assigned name for the fix
    • +
    • group-ID = ID of the group of atoms to apply the fix to
    • +
    • style = one of a long list of possible style names (see below)
    • +
    • args = arguments used by a particular style
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve
     fix 3 all nvt temp 300.0 300.0 0.01
    -fix mine top setforce 0.0 NULL 0.0 
    -
    -

    Description: -

    -

    Set a fix that will be applied to a group of atoms. In LAMMPS, a -"fix" is any operation that is applied to the system during +fix mine top setforce 0.0 NULL 0.0 +

    + + +
    +

    Description¶

    +

    Set a fix that will be applied to a group of atoms. In LAMMPS, a +“fix” is any operation that is applied to the system during timestepping or minimization. Examples include updating of atom positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary conditions, computing diagnostics, etc. There are dozens of fixes -defined in LAMMPS and new ones can be added; see this -section for a discussion. -

    -

    Fixes perform their operations at different stages of the timestep. +defined in LAMMPS and new ones can be added; see this section for a discussion.

    +

    Fixes perform their operations at different stages of the timestep. If 2 or more fixes operate at the same stage of the timestep, they are -invoked in the order they were specified in the input script. -

    -

    The ID of a fix can only contain alphanumeric characters and -underscores. -

    -

    Fixes can be deleted with the unfix command. -

    -

    IMPORTANT NOTE: The unfix command is the only way to turn +invoked in the order they were specified in the input script.

    +

    The ID of a fix can only contain alphanumeric characters and +underscores.

    +

    Fixes can be deleted with the unfix command.

    +
    +

    Warning

    +

    The unfix command is the only way to turn off a fix; simply specifying a new fix with a similar style will not turn off the first one. This is especially important to realize for -integration fixes. For example, using a fix nve -command for a second run after using a fix nvt command +integration fixes. For example, using a fix nve +command for a second run after using a fix nvt command for the first run, will not cancel out the NVT time integration -invoked by the "fix nvt" command. Thus two time integrators would be -in place! -

    -

    If you specify a new fix with the same ID and style as an existing +invoked by the “fix nvt” command. Thus two time integrators would be +in place!

    +
    +

    If you specify a new fix with the same ID and style as an existing fix, the old fix is deleted and the new one is created (presumably -with new settings). This is the same as if an "unfix" command were +with new settings). This is the same as if an “unfix” command were first performed on the old fix, except that the new fix is kept in the same order relative to the existing fixes as the old one originally was. Note that this operation also wipes out any additional changes -made to the old fix via the fix_modify command. -

    -

    The fix modify command allows settings for some -fixes to be reset. See the doc page for individual fixes for details. -

    -

    Some fixes store an internal "state" which is written to binary -restart files via the restart or -write_restart commands. This allows the fix to +made to the old fix via the fix_modify command.

    +

    The fix modify command allows settings for some +fixes to be reset. See the doc page for individual fixes for details.

    +

    Some fixes store an internal “state” which is written to binary +restart files via the restart or +write_restart commands. This allows the fix to continue on with its calculations in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file. See the doc pages -for individual fixes for info on which ones can be restarted. -

    -
    - -

    Some fixes calculate one of three styles of quantities: global, +for individual fixes for info on which ones can be restarted.

    +
    +

    Some fixes calculate one of three styles of quantities: global, per-atom, or local, which can be used by other commands or output as described below. A global quantity is one or more system-wide values, e.g. the energy of a wall interacting with particles. A per-atom @@ -84,202 +197,257 @@ quantity is one or more values per atom, e.g. the displacement vector for each atom since time 0. Per-atom values are set to 0.0 for atoms not in the specified fix group. Local quantities are calculated by each processor based on the atoms it owns, but there may be zero or -more per atoms. -

    -

    Note that a single fix may produces either global or per-atom or local -quantities (or none at all), but never more than one of these. -

    -

    Global, per-atom, and local quantities each come in three kinds: a +more per atoms.

    +

    Note that a single fix may produces either global or per-atom or local +quantities (or none at all), but never more than one of these.

    +

    Global, per-atom, and local quantities each come in three kinds: a single scalar value, a vector of values, or a 2d array of values. The doc page for each fix describes the style and kind of values it produces, e.g. a per-atom vector. Some fixes produce more than one -kind of a single style, e.g. a global scalar and a global vector. -

    -

    When a fix quantity is accessed, as in many of the output commands +kind of a single style, e.g. a global scalar and a global vector.

    +

    When a fix quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket -notation, where ID is the ID of the fix: -

    -
    - - -
    f_ID entire scalar, vector, or array
    f_ID[I] one element of vector, one column of array
    f_ID[I][J] one element of array -
    - -

    In other words, using one bracket reduces the dimension of the -quantity once (vector -> scalar, array -> vector). Using two brackets -reduces the dimension twice (array -> scalar). Thus a command that +notation, where ID is the ID of the fix:

    + ++++ + + + + + + + + + + + +
    f_IDentire scalar, vector, or array
    f_ID[I]one element of vector, one column of array
    f_ID[I][J]one element of array
    +

    In other words, using one bracket reduces the dimension of the +quantity once (vector -> scalar, array -> vector). Using two brackets +reduces the dimension twice (array -> scalar). Thus a command that uses scalar fix values as input can also process elements of a vector -or array. -

    -

    Note that commands and variables which use fix +or array.

    +

    Note that commands and variables which use fix quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no ambiguity about referring to a fix quantity as f_ID even if it produces, for example, both a scalar and vector. The doc pages for -various commands explain the details. -

    -
    - -

    In LAMMPS, the values generated by a fix can be used in several ways: -

    - -

    See this howto section for a summary of -various LAMMPS output options, many of which involve fixes. -

    -

    The results of fixes that calculate global quantities can be either -"intensive" or "extensive" values. Intensive means the value is +various commands explain the details.

    +
    +

    In LAMMPS, the values generated by a fix can be used in several ways:

    + +

    See this howto section for a summary of +various LAMMPS output options, many of which involve fixes.

    +

    The results of fixes that calculate global quantities can be either +“intensive” or “extensive” values. Intensive means the value is independent of the number of atoms in the simulation, e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. -Thermodynamic output will normalize extensive +Thermodynamic output will normalize extensive values by the number of atoms in the system, depending on the -"thermo_modify norm" setting. It will not normalize intensive values. +“thermo_modify norm” setting. It will not normalize intensive values. If a fix value is accessed in another way, e.g. by a -variable, you may want to know whether it is an +variable, you may want to know whether it is an intensive or extensive value. See the doc page for individual fixes -for further info. -

    -
    - -

    Each fix style has its own documentation page which describes its +for further info.

    +
    +

    Each fix style has its own documentation page which describes its arguments and what it does, as listed below. Here is an alphabetic list of fix styles available in LAMMPS. They are also given in more -compact form in the fix section of this -page. -

    -

    There are also additional fix styles (not listed here) submitted by +compact form in the fix section of this page.

    +

    There are also additional fix styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the fix section -of this page. -

    -

    There are also additional accelerated fix styles (not listed here) +of this page.

    +

    There are also additional accelerated fix styles (not listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given -in the fix section of this page. -

    -
    • adapt - change a simulation parameter over time -
    • addforce - add a force to each atom -
    • append/atoms - append atoms to a running simulation -
    • aveforce - add an averaged force to each atom -
    • ave/atom - compute per-atom time-averaged quantities -
    • ave/correlate - compute/output time correlations -
    • ave/histo - compute/output time-averaged histograms -
    • ave/spatial - compute/output time-averaged per-atom quantities by layer -
    • ave/time - compute/output global time-averaged quantities -
    • balance - perform dynamic load-balancing -
    • bond/break - break bonds on the fly -
    • bond/create - create bonds on the fly -
    • bond/swap - Monte Carlo bond swapping -
    • box/relax - relax box size during energy minimization -
    • deform - change the simulation box size/shape -
    • deposit - add new atoms above a surface -
    • drag - drag atoms towards a defined coordinate -
    • dt/reset - reset the timestep based on velocity, forces -
    • efield - impose electric field on system -
    • enforce2d - zero out z-dimension velocity and force -
    • evaporate - remove atoms from simulation periodically -
    • external - callback to an external driver program -
    • freeze - freeze atoms in a granular simulation -
    • gcmc - grand canonical insertions/deletions -
    • gld - generalized Langevin dynamics integrator -
    • gravity - add gravity to atoms in a granular simulation -
    • heat - add/subtract momentum-conserving heat -
    • indent - impose force due to an indenter -
    • langevin - Langevin temperature control -
    • lineforce - constrain atoms to move in a line -
    • momentum - zero the linear and/or angular momentum of a group of atoms -
    • move - move atoms in a prescribed fashion -
    • msst - multi-scale shock technique (MSST) integration -
    • neb - nudged elastic band (NEB) spring forces -
    • nph - constant NPH time integration via Nose/Hoover -
    • nphug - constant-stress Hugoniostat integration -
    • nph/asphere - NPH for aspherical particles -
    • nph/sphere - NPH for spherical particles -
    • npt - constant NPT time integration via Nose/Hoover -
    • npt/asphere - NPT for aspherical particles -
    • npt/sphere - NPT for spherical particles -
    • nve - constant NVE time integration -
    • nve/asphere - NVE for aspherical particles -
    • nve/asphere/noforce - NVE for aspherical particles without forces" -
    • nve/body - NVE for body particles -
    • nve/limit - NVE with limited step length -
    • nve/line - NVE for line segments -
    • nve/noforce - NVE without forces (v only) -
    • nve/sphere - NVE for spherical particles -
    • nve/tri - NVE for triangles -
    • nvt - constant NVT time integration via Nose/Hoover -
    • nvt/asphere - NVT for aspherical particles -
    • nvt/sllod - NVT for NEMD with SLLOD equations -
    • nvt/sphere - NVT for spherical particles -
    • orient/fcc - add grain boundary migration force -
    • planeforce - constrain atoms to move in a plane -
    • poems - constrain clusters of atoms to move as coupled rigid bodies -
    • pour - pour new atoms/molecules into a granular simulation domain -
    • press/berendsen - pressure control by Berendsen barostat -
    • print - print text and variables during a simulation -
    • property/atom - add customized per-atom values -
    • qeq/comb - charge equilibration for COMB potential qeq/dynamic - charge equilibration via dynamic method qeq/point - charge equilibration via point method qeq/shielded - charge equilibration via shielded method qeq/slater - charge equilibration via Slater method reax/bonds - write out ReaxFF bond information recenter - constrain the center-of-mass position of a group of atoms -
    • restrain - constrain a bond, angle, dihedral -
    • rigid - constrain one or more clusters of atoms to move as a rigid body with NVE integration -
    • rigid/nph - constrain one or more clusters of atoms to move as a rigid body with NPH integration -
    • rigid/npt - constrain one or more clusters of atoms to move as a rigid body with NPT integration -
    • rigid/nve - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration -
    • rigid/nvt - constrain one or more clusters of atoms to move as a rigid body with NVT integration -
    • rigid/small - constrain many small clusters of atoms to move as a rigid body with NVE integration -
    • setforce - set the force on each atom -
    • shake - SHAKE constraints on bonds and/or angles -
    • spring - apply harmonic spring force to group of atoms -
    • spring/rg - spring on radius of gyration of group of atoms -
    • spring/self - spring from each atom to its origin -
    • srd - stochastic rotation dynamics (SRD) -
    • store/force - store force on each atom -
    • store/state - store attributes for each atom -
    • temp/berendsen - temperature control by Berendsen thermostat -
    • temp/rescale - temperature control by velocity rescaling -
    • thermal/conductivity - Muller-Plathe kinetic energy exchange for thermal conductivity calculation -
    • tmd - guide a group of atoms to a new configuration -
    • ttm - two-temperature model for electronic/atomic coupling -
    • tune/kspace - auto-tune KSpace parameters -
    • vector - accumulate a global vector every N timesteps -
    • viscosity - Muller-Plathe momentum exchange for viscosity calculation -
    • viscous - viscous damping for granular simulations -
    • wall/colloid - Lennard-Jones wall interacting with finite-size particles -
    • wall/gran - frictional wall(s) for granular simulations -
    • wall/harmonic - harmonic spring wall -
    • wall/lj1043 - Lennard-Jones 10-4-3 wall -
    • wall/lj126 - Lennard-Jones 12-6 wall -
    • wall/lj93 - Lennard-Jones 9-3 wall -
    • wall/piston - moving reflective piston wall -
    • wall/reflect - reflecting wall(s) -
    • wall/region - use region surface as wall -
    • wall/srd - slip/no-slip wall for SRD particles -
    -

    Restrictions: -

    -

    Some fix styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. -The doc pages for individual fixes tell if it is part of a package. -

    -

    Related commands: -

    -

    unfix, fix_modify -

    -

    Default: none -

    - +in the fix section of this page.

    +
      +
    • adapt - change a simulation parameter over time
    • +
    • addforce - add a force to each atom
    • +
    • append/atoms - append atoms to a running simulation
    • +
    • aveforce - add an averaged force to each atom
    • +
    • ave/atom - compute per-atom time-averaged quantities
    • +
    • ave/correlate - compute/output time correlations
    • +
    • ave/histo - compute/output time-averaged histograms
    • +
    • ave/spatial - compute/output time-averaged per-atom quantities by layer
    • +
    • ave/time - compute/output global time-averaged quantities
    • +
    • balance - perform dynamic load-balancing
    • +
    • bond/break - break bonds on the fly
    • +
    • bond/create - create bonds on the fly
    • +
    • bond/swap - Monte Carlo bond swapping
    • +
    • box/relax - relax box size during energy minimization
    • +
    • deform - change the simulation box size/shape
    • +
    • deposit - add new atoms above a surface
    • +
    • drag - drag atoms towards a defined coordinate
    • +
    • dt/reset - reset the timestep based on velocity, forces
    • +
    • efield - impose electric field on system
    • +
    • enforce2d - zero out z-dimension velocity and force
    • +
    • evaporate - remove atoms from simulation periodically
    • +
    • external - callback to an external driver program
    • +
    • freeze - freeze atoms in a granular simulation
    • +
    • gcmc - grand canonical insertions/deletions
    • +
    • gld - generalized Langevin dynamics integrator
    • +
    • gravity - add gravity to atoms in a granular simulation
    • +
    • heat - add/subtract momentum-conserving heat
    • +
    • indent - impose force due to an indenter
    • +
    • langevin - Langevin temperature control
    • +
    • lineforce - constrain atoms to move in a line
    • +
    • momentum - zero the linear and/or angular momentum of a group of atoms
    • +
    • move - move atoms in a prescribed fashion
    • +
    • msst - multi-scale shock technique (MSST) integration
    • +
    • neb - nudged elastic band (NEB) spring forces
    • +
    • nph - constant NPH time integration via Nose/Hoover
    • +
    • nphug - constant-stress Hugoniostat integration
    • +
    • nph/asphere - NPH for aspherical particles
    • +
    • nph/sphere - NPH for spherical particles
    • +
    • npt - constant NPT time integration via Nose/Hoover
    • +
    • npt/asphere - NPT for aspherical particles
    • +
    • npt/sphere - NPT for spherical particles
    • +
    • nve - constant NVE time integration
    • +
    • nve/asphere - NVE for aspherical particles
    • +
    • nve/asphere/noforce - NVE for aspherical particles without forces”
    • +
    • nve/body - NVE for body particles
    • +
    • nve/limit - NVE with limited step length
    • +
    • nve/line - NVE for line segments
    • +
    • nve/noforce - NVE without forces (v only)
    • +
    • nve/sphere - NVE for spherical particles
    • +
    • nve/tri - NVE for triangles
    • +
    • nvt - constant NVT time integration via Nose/Hoover
    • +
    • nvt/asphere - NVT for aspherical particles
    • +
    • nvt/sllod - NVT for NEMD with SLLOD equations
    • +
    • nvt/sphere - NVT for spherical particles
    • +
    • orient/fcc - add grain boundary migration force
    • +
    • planeforce - constrain atoms to move in a plane
    • +
    • poems - constrain clusters of atoms to move as coupled rigid bodies
    • +
    • pour - pour new atoms/molecules into a granular simulation domain
    • +
    • press/berendsen - pressure control by Berendsen barostat
    • +
    • print - print text and variables during a simulation
    • +
    • property/atom - add customized per-atom values
    • +
    • qeq/comb - charge equilibration for COMB potential qeq/dynamic - charge equilibration via dynamic method qeq/point - charge equilibration via point method qeq/shielded - charge equilibration via shielded method qeq/slater - charge equilibration via Slater method reax/bonds - write out ReaxFF bond information recenter - constrain the center-of-mass position of a group of atoms
    • +
    • restrain - constrain a bond, angle, dihedral
    • +
    • rigid - constrain one or more clusters of atoms to move as a rigid body with NVE integration
    • +
    • rigid/nph - constrain one or more clusters of atoms to move as a rigid body with NPH integration
    • +
    • rigid/npt - constrain one or more clusters of atoms to move as a rigid body with NPT integration
    • +
    • rigid/nve - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration
    • +
    • rigid/nvt - constrain one or more clusters of atoms to move as a rigid body with NVT integration
    • +
    • rigid/small - constrain many small clusters of atoms to move as a rigid body with NVE integration
    • +
    • setforce - set the force on each atom
    • +
    • shake - SHAKE constraints on bonds and/or angles
    • +
    • spring - apply harmonic spring force to group of atoms
    • +
    • spring/rg - spring on radius of gyration of group of atoms
    • +
    • spring/self - spring from each atom to its origin
    • +
    • srd - stochastic rotation dynamics (SRD)
    • +
    • store/force - store force on each atom
    • +
    • store/state - store attributes for each atom
    • +
    • temp/berendsen - temperature control by Berendsen thermostat
    • +
    • temp/rescale - temperature control by velocity rescaling
    • +
    • thermal/conductivity - Muller-Plathe kinetic energy exchange for thermal conductivity calculation
    • +
    • tmd - guide a group of atoms to a new configuration
    • +
    • ttm - two-temperature model for electronic/atomic coupling
    • +
    • tune/kspace - auto-tune KSpace parameters
    • +
    • vector - accumulate a global vector every N timesteps
    • +
    • viscosity - Muller-Plathe momentum exchange for viscosity calculation
    • +
    • viscous - viscous damping for granular simulations
    • +
    • wall/colloid - Lennard-Jones wall interacting with finite-size particles
    • +
    • wall/gran - frictional wall(s) for granular simulations
    • +
    • wall/harmonic - harmonic spring wall
    • +
    • wall/lj1043 - Lennard-Jones 10-4-3 wall
    • +
    • wall/lj126 - Lennard-Jones 12-6 wall
    • +
    • wall/lj93 - Lennard-Jones 9-3 wall
    • +
    • wall/piston - moving reflective piston wall
    • +
    • wall/reflect - reflecting wall(s)
    • +
    • wall/region - use region surface as wall
    • +
    • wall/srd - slip/no-slip wall for SRD particles
    • +
    +
    +
    +

    Restrictions¶

    +

    Some fix styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. +The doc pages for individual fixes tell if it is part of a package.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_adapt.html b/doc/fix_adapt.html index 51ad3ce48f..b0556743b0 100644 --- a/doc/fix_adapt.html +++ b/doc/fix_adapt.html @@ -1,263 +1,462 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix adapt command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix adapt command -

    -

    Syntax: -

    -
    fix ID group-ID adapt N attribute args ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • adapt = style name of this fix command - -
    • N = adapt simulation settings every this many timesteps - -
    • one or more attribute/arg pairs may be appended - -
    • attribute = pair or kspace or atom - -
        pair args = pstyle pparam I J v_name
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix adapt command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID adapt N attribute args ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • adapt = style name of this fix command
      • +
      • N = adapt simulation settings every this many timesteps
      • +
      • one or more attribute/arg pairs may be appended
      • +
      • attribute = pair or kspace or atom
      • +
      +
      +pair args = pstyle pparam I J v_name
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to adapt over time
           I,J = type pair(s) to set parameter for
           v_name = variable with name that calculates value of pparam
      -  kspace arg = v_name
      +  kspace arg = v_name
           v_name = variable with name that calculates scale factor on K-space terms
      -  atom args = aparam v_name
      +  atom args = aparam v_name
           aparam = parameter to adapt over time
      -    v_name = variable with name that calculates value of aparam 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = scale or reset - -
        scale value = no or yes
      -    no = the variable value is the new setting
      -    yes = the variable value multiplies the original setting
      -  reset value = no or yes
      -    no = values will remain altered at the end of a run
      -    yes = reset altered values to their original values at the end of a run 
      -
      - -
    -

    Examples: -

    -
    fix 1 all adapt 1 pair soft a 1 1 v_prefactor
    +    v_name = variable with name that calculates value of aparam
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = scale or reset
    • +
    +
    +scale value = no or yes
    +    no = the variable value is the new setting
    +    yes = the variable value multiplies the original setting
    +  reset value = no or yes
    +    no = values will remain altered at the end of a run
    +    yes = reset altered values to their original values at the end of a run
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all adapt 1 pair soft a 1 1 v_prefactor
     fix 1 all adapt 1 pair soft a 2* 3 v_prefactor
     fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
    -fix 1 all adapt 10 atom diameter v_size 
    -
    -

    Description: -

    -

    Change or adapt one or more specific simulation attributes or settings +fix 1 all adapt 10 atom diameter v_size +

    +
    +
    +
    +

    Description¶

    +

    Change or adapt one or more specific simulation attributes or settings over time as a simulation runs. Pair potential and K-space and atom attributes which can be varied by this fix are discussed below. Many other fixes can also be used to time-vary simulation parameters, -e.g. the "fix deform" command will change the simulation box -size/shape and the "fix move" command will change atom positions and +e.g. the “fix deform” command will change the simulation box +size/shape and the “fix move” command will change atom positions and velocities in a prescribed manner. Also note that many commands allow variables as arguments for specific parameters, if described in that manner on their doc pages. An equal-style variable can calculate a time-dependent quantity, so this is another way to vary a simulation -parameter over time. -

    -

    If N is specified as 0, the specified attributes are only changed +parameter over time.

    +

    If N is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If N > 0, then changes -are made every N steps during the simulation, presumably with a -variable that is time-dependent. -

    -

    Depending on the value of the reset keyword, attributes changed by +associated variables are not time-dependent. If N > 0, then changes +are made every N steps during the simulation, presumably with a +variable that is time-dependent.

    +

    Depending on the value of the reset keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if reset is specified as yes, a +the end of a simulation. Even if reset is specified as yes, a restart file written during a simulation will contain the modified -settings. -

    -

    If the scale keyword is set to no, then the value the parameter is -set to will be whatever the variable generates. If the scale -keyword is set to yes, then the value of the altered parameter will +settings.

    +

    If the scale keyword is set to no, then the value the parameter is +set to will be whatever the variable generates. If the scale +keyword is set to yes, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a "scale factor" applied -in (presumably) a time-varying fashion to the parameter. -

    -

    Note that whether scale is no or yes, internally, the parameters +variable generates. I.e. the variable is now a “scale factor” applied +in (presumably) a time-varying fashion to the parameter.

    +

    Note that whether scale is no or yes, internally, the parameters themselves are actually altered by this fix. Make sure you use the -reset yes option if you want the parameters to be restored to their -initial values after the run. -

    -
    - -

    The pair keyword enables various parameters of potentials defined by -the pair_style command to be changed, if the pair -style supports it. Note that the pair_style and -pair_coeff commands must be used in the usual manner +reset yes option if you want the parameters to be restored to their +initial values after the run.

    +
    +

    The pair keyword enables various parameters of potentials defined by +the pair_style command to be changed, if the pair +style supports it. Note that the pair_style and +pair_coeff commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply -overrides the parameters. -

    -

    The pstyle argument is the name of the pair style. If pair_style -hybrid or hybrid/overlay is used, pstyle should be -a sub-style name. For example, pstyle could be specified as "soft" -or "lubricate". The pparam argument is the name of the parameter to +overrides the parameters.

    +

    The pstyle argument is the name of the pair style. If pair_style hybrid or hybrid/overlay is used, pstyle should be +a sub-style name. For example, pstyle could be specified as “soft” +or “lubricate”. The pparam argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair -styles and their energy formulas for the meaning of these parameters: -

    -
    - - - - - - - - - - -
    born a,b,c type pairs
    buck a,c type pairs
    coul/cut scale type pairs
    coul/debye scale type pairs
    coul/long scale type pairs
    lj/cut epsilon,sigma type pairs
    lj/expand epsilon,sigma,delta type pairs
    lubricate mu global
    gauss a type pairs
    morse d0,r0,alpha type pairs
    soft a type pairs -
    - -

    IMPORTANT NOTE: It is easy to add new potentials and their parameters +styles and their energy formulas for the meaning of these parameters:

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    borna,b,ctype pairs
    bucka,ctype pairs
    coul/cutscaletype pairs
    coul/debyescaletype pairs
    coul/longscaletype pairs
    lj/cutepsilon,sigmatype pairs
    lj/expandepsilon,sigma,deltatype pairs
    lubricatemuglobal
    gaussatype pairs
    morsed0,r0,alphatype pairs
    softatype pairs
    +
    +

    Warning

    +

    It is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential. -

    -

    Some parameters are global settings for the pair style, e.g. the -viscosity setting "mu" for pair_style lubricate. +the pair_*.cpp file associated with the potential.

    +
    +

    Some parameters are global settings for the pair style, e.g. the +viscosity setting “mu” for pair_style lubricate. Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor "a" for pair_style soft. -

    -

    Note that for many of the potentials, the parameter that can be varied +e.g. the prefactor “a” for pair_style soft.

    +

    Note that for many of the potentials, the parameter that can be varied is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as "scale" +potential, e.g. the lj/cut epsilon. The parameters listed as “scale” are exactly that, since the energy expression for the -coul/cut potential (for example) has no labeled +coul/cut potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the -Buckingham potential needs both the A and C terms +Buckingham potential needs both the A and C terms altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C. -

    -

    If a type pair parameter is specified, the I and J settings should +list the pair style twice, once for A and once for C.

    +

    If a type pair parameter is specified, the I and J settings should be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the I and J settings still need to be -specified, but are ignored. -

    -

    Similar to the pair_coeff command, I and J can be +parameter is specified, the I and J settings still need to be +specified, but are ignored.

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values. -

    -

    A wild-card asterisk can be used in place of or in conjunction with +each, as in the 1st example above. I <= J is required. LAMMPS sets +the coefficients for the symmetric J,I interaction to the same values.

    +

    A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. -

    -

    IMPROTANT NOTE: If pair_style hybrid or -hybrid/overlay is being used, then the pstyle will +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored.

    +

    IMPROTANT NOTE: If pair_style hybrid or hybrid/overlay is being used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the pair_coeff -command) for that sub-style. -

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +to type pair values defined (via the pair_coeff +command) for that sub-style.

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include thermo_style command keywords for the +and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the -start and stop keywords of the run command and the -elaplong keyword of thermo_style custom for -details. -

    -

    For example, these commands would change the prefactor coefficient of -the pair_style soft potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation: -

    -
    variable prefactor equal ramp(10,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor 
    -
    -
    - -

    The kspace keyword used the specified variable as a scale factor on +start and stop keywords of the run command and the +elaplong keyword of thermo_style custom for +details.

    +

    For example, these commands would change the prefactor coefficient of +the pair_style soft potential from 10.0 to 30.0 in a +linear fashion over the course of a simulation:

    +
    variable prefactor equal ramp(10,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor
    +
    +
    +
    +

    The kspace keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the kspace_style command. If the -variable has a value of 1.0, then the solver is unaltered. -

    -

    The kspace keyword works this way whether the scale keyword -is set to no or yes. -

    -
    - -

    The atom keyword enables various atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix: -

    -
    • charge = charge on particle -
    • diameter = diameter of particle -
    -

    The v_name argument of the atom keyword is the name of an -equal-style variable which will be evaluated each time +defined by the kspace_style command. If the +variable has a value of 1.0, then the solver is unaltered.

    +

    The kspace keyword works this way whether the scale keyword +is set to no or yes.

    +
    +

    The atom keyword enables various atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be varied by this fix:

    +
      +
    • charge = charge on particle
    • +
    • diameter = diameter of particle
    • +
    +

    The v_name argument of the atom keyword is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group. -

    -

    IMPORTANT NOTE: The atom keyword works this way whether the scale -keyword is set to no or yes. I.e. the use of scale yes is not yet -supported by the atom keyword. -

    -

    If the atom parameter is diameter and per-atom density and per-atom -mass are defined for particles (e.g. atom_style -granular), then the mass of each particle is also +for all atoms in the fix group.

    +
    +

    Warning

    +

    The atom keyword works this way whether the scale +keyword is set to no or yes. I.e. the use of scale yes is not yet +supported by the atom keyword.

    +
    +

    If the atom parameter is diameter and per-atom density and per-atom +mass are defined for particles (e.g. atom_style granular), then the mass of each particle is also changed when the diameter changes (density is assumed to stay -constant). -

    -

    For example, these commands would shrink the diameter of all granular -particles in the "center" group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation: -

    -
    variable size equal ramp(1.0,0.1)
    -fix 1 center adapt 10 atom diameter v_size 
    -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +constant).

    +

    For example, these commands would shrink the diameter of all granular +particles in the “center” group from 1.0 to 0.1 in a linear fashion +over the course of a 1000-step simulation:

    +
    variable size equal ramp(1.0,0.1)
    +fix 1 center adapt 10 atom diameter v_size
    +
    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    For rRESPA time integration, this fix changes -parameters on the outermost rRESPA level. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute ti -

    -

    Default: -

    -

    The option defaults are scale = no, reset = no. -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +

    For rRESPA time integration, this fix changes +parameters on the outermost rRESPA level.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are scale = no, reset = no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_adapt_fep.html b/doc/fix_adapt_fep.html index a1e3009c1d..4e340b37f3 100644 --- a/doc/fix_adapt_fep.html +++ b/doc/fix_adapt_fep.html @@ -1,275 +1,465 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix adapt/fep command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix adapt/fep command -

    -

    Syntax: -

    -
    fix ID group-ID adapt/fep N attribute args ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • adapt/fep = style name of this fix command - -
    • N = adapt simulation settings every this many timesteps - -
    • one or more attribute/arg pairs may be appended - -
    • attribute = pair or kspace or atom - -
        pair args = pstyle pparam I J v_name
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix adapt/fep command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID adapt/fep N attribute args ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • adapt/fep = style name of this fix command
      • +
      • N = adapt simulation settings every this many timesteps
      • +
      • one or more attribute/arg pairs may be appended
      • +
      • attribute = pair or kspace or atom
      • +
      +
      +pair args = pstyle pparam I J v_name
           pstyle = pair style name, e.g. lj/cut
           pparam = parameter to adapt over time
           I,J = type pair(s) to set parameter for
           v_name = variable with name that calculates value of pparam
      -  kspace arg = v_name
      +  kspace arg = v_name
           v_name = variable with name that calculates scale factor on K-space terms
      -  atom args = aparam v_name
      +  atom args = aparam v_name
           aparam = parameter to adapt over time
           I = type(s) to set parameter for
      -    v_name = variable with name that calculates value of aparam 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = scale or reset or after - -
        scale value = no or yes
      -    no = the variable value is the new setting
      -    yes = the variable value multiplies the original setting
      -  reset value = no or yes
      -    no = values will remain altered at the end of a run
      -    yes = reset altered values to their original values at the end
      +    v_name = variable with name that calculates value of aparam
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = scale or reset or after
      • +
      +
      +scale value = no or yes
      +    no = the variable value is the new setting
      +    yes = the variable value multiplies the original setting
      +  reset value = no or yes
      +    no = values will remain altered at the end of a run
      +    yes = reset altered values to their original values at the end
           of a run
      -  after value = no or yes
      -    no = parameters are adapted at timestep N
      -    yes = parameters are adapted one timestep after N 
      -
      - -
    -

    Examples: -

    -
    fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor
    +  after value = no or yes
    +    no = parameters are adapted at timestep N
    +    yes = parameters are adapted one timestep after N
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor
     fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor
     fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
    -fix 1 all adapt/fep 10 atom diameter 1 v_size 
    -
    -

    Description: -

    -

    Change or adapt one or more specific simulation attributes or settings -over time as a simulation runs. -

    -

    This is an enhanced version of the fix_adapt command -with two differences, -

    -
    • It is possible to modify the charges of chosen atom types only, -instead of scaling all the charges in the system. - -
    • There is a new option after for better compatibility with "fix -ave/time". -
    -

    This version is suited for free energy calculations using -compute_ti or compute_fep. -

    -

    If N is specified as 0, the specified attributes are only changed +fix 1 all adapt/fep 10 atom diameter 1 v_size +

    +
    +
    +
    +

    Description¶

    +

    Change or adapt one or more specific simulation attributes or settings +over time as a simulation runs.

    +

    This is an enhanced version of the fix_adapt command +with two differences,

    +
      +
    • It is possible to modify the charges of chosen atom types only, +instead of scaling all the charges in the system.
    • +
    • There is a new option after for better compatibility with “fix +ave/time”.
    • +
    +

    This version is suited for free energy calculations using +compute_ti or compute_fep.

    +

    If N is specified as 0, the specified attributes are only changed once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If N > 0, then changes -are made every N steps during the simulation, presumably with a -variable that is time-dependent. -

    -

    Depending on the value of the reset keyword, attributes changed by +associated variables are not time-dependent. If N > 0, then changes +are made every N steps during the simulation, presumably with a +variable that is time-dependent.

    +

    Depending on the value of the reset keyword, attributes changed by this fix will or will not be reset back to their original values at -the end of a simulation. Even if reset is specified as yes, a +the end of a simulation. Even if reset is specified as yes, a restart file written during a simulation will contain the modified -settings. -

    -

    If the scale keyword is set to no, then the value the parameter is -set to will be whatever the variable generates. If the scale -keyword is set to yes, then the value of the altered parameter will +settings.

    +

    If the scale keyword is set to no, then the value the parameter is +set to will be whatever the variable generates. If the scale +keyword is set to yes, then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a "scale factor" applied +variable generates. I.e. the variable is now a “scale factor” applied in (presumably) a time-varying fashion to the parameter. Internally, the parameters themselves are actually altered; make sure you use the -reset yes option if you want the parameters to be restored to their -initial values after the run. -

    -

    If the after keyword is set to yes, then the parameters are +reset yes option if you want the parameters to be restored to their +initial values after the run.

    +

    If the after keyword is set to yes, then the parameters are changed one timestep after the multiple of N. In this manner, if a fix -such as "fix ave/time" is used to calculate averages at every N +such as “fix ave/time” is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with -the same values of the parameters. -

    -
    - -

    The pair keyword enables various parameters of potentials defined by -the pair_style command to be changed, if the pair -style supports it. Note that the pair_style and -pair_coeff commands must be used in the usual manner +the same values of the parameters.

    +
    +

    The pair keyword enables various parameters of potentials defined by +the pair_style command to be changed, if the pair +style supports it. Note that the pair_style and +pair_coeff commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply -overrides the parameters. -

    -

    The pstyle argument is the name of the pair style. If pair_style -hybrid or hybrid/overlay is used, pstyle should be -a sub-style name. For example, pstyle could be specified as "soft" -or "lubricate". The pparam argument is the name of the parameter to +overrides the parameters.

    +

    The pstyle argument is the name of the pair style. If pair_style hybrid or hybrid/overlay is used, pstyle should be +a sub-style name. For example, pstyle could be specified as “soft” +or “lubricate”. The pparam argument is the name of the parameter to change. This is the current list of pair styles and parameters that can be varied by this fix. See the doc pages for individual pair -styles and their energy formulas for the meaning of these parameters: -

    -
    - - - - - - - - - -
    born a,b,c type pairs
    buck a,c type pairs
    coul/cut scale type pairs
    coul/debye scale type pairs
    coul/long scale type pairs
    lj/cut epsilon,sigma type pairs
    lj/expand epsilon,sigma,delta type pairs
    lubricate mu global
    gauss a type pairs
    soft a type pairs -
    - -

    IMPORTANT NOTE: It is easy to add new potentials and their parameters +styles and their energy formulas for the meaning of these parameters:

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    borna,b,ctype pairs
    bucka,ctype pairs
    coul/cutscaletype pairs
    coul/debyescaletype pairs
    coul/longscaletype pairs
    lj/cutepsilon,sigmatype pairs
    lj/expandepsilon,sigma,deltatype pairs
    lubricatemuglobal
    gaussatype pairs
    softatype pairs
    +
    +

    Warning

    +

    It is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential. -

    -

    Some parameters are global settings for the pair style, e.g. the -viscosity setting "mu" for pair_style lubricate. +the pair_*.cpp file associated with the potential.

    +
    +

    Some parameters are global settings for the pair style, e.g. the +viscosity setting “mu” for pair_style lubricate. Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor "a" for pair_style soft. -

    -

    Note that for many of the potentials, the parameter that can be varied +e.g. the prefactor “a” for pair_style soft.

    +

    Note that for many of the potentials, the parameter that can be varied is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as "scale" +potential, e.g. the lj/cut epsilon. The parameters listed as “scale” are exactly that, since the energy expression for the -coul/cut potential (for example) has no labeled +coul/cut potential (for example) has no labeled prefactor in its formula. To apply an effective prefactor to some potentials, multiple parameters need to be altered. For example, the -Buckingham potential needs both the A and C terms +Buckingham potential needs both the A and C terms altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C. -

    -

    If a type pair parameter is specified, the I and J settings should +list the pair style twice, once for A and once for C.

    +

    If a type pair parameter is specified, the I and J settings should be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the I and J settings still need to be -specified, but are ignored. -

    -

    Similar to the pair_coeff command, I and J can be +parameter is specified, the I and J settings still need to be +specified, but are ignored.

    +

    Similar to the pair_coeff command, I and J can be specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values. -

    -

    A wild-card asterisk can be used in place of or in conjunction with +each, as in the 1st example above. I <= J is required. LAMMPS sets +the coefficients for the symmetric J,I interaction to the same values.

    +

    A wild-card asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. -

    -

    IMPROTANT NOTE: If pair_style hybrid or -hybrid/overlay is being used, then the pstyle will +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored.

    +

    IMPROTANT NOTE: If pair_style hybrid or hybrid/overlay is being used, then the pstyle will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the pair_coeff -command) for that sub-style. -

    -

    The v_name argument for keyword pair is the name of an -equal-style variable which will be evaluated each time +to type pair values defined (via the pair_coeff +command) for that sub-style.

    +

    The v_name argument for keyword pair is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include thermo_style command keywords for the +and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the -start and stop keywords of the run command and the -elaplong keyword of thermo_style custom for -details. -

    -

    For example, these commands would change the prefactor coefficient of -the pair_style soft potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation: -

    -
    variable prefactor equal ramp(10,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor 
    -
    -
    - -

    The kspace keyword used the specified variable as a scale factor on +start and stop keywords of the run command and the +elaplong keyword of thermo_style custom for +details.

    +

    For example, these commands would change the prefactor coefficient of +the pair_style soft potential from 10.0 to 30.0 in a +linear fashion over the course of a simulation:

    +
    variable prefactor equal ramp(10,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor
    +
    +
    +
    +

    The kspace keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the kspace_style command. If the -variable has a value of 1.0, then the solver is unaltered. -

    -

    The kspace keyword works this way whether the scale keyword -is set to no or yes. -

    -
    - -

    The atom keyword enables various atom properties to be changed. The -aparam argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix: -

    -
    • charge = charge on particle -
    • diameter = diameter of particle -
    -

    The I argument indicates which atom types are affected. A wild-card +defined by the kspace_style command. If the +variable has a value of 1.0, then the solver is unaltered.

    +

    The kspace keyword works this way whether the scale keyword +is set to no or yes.

    +
    +

    The atom keyword enables various atom properties to be changed. The +aparam argument is the name of the parameter to change. This is the +current list of atom parameters that can be varied by this fix:

    +
      +
    • charge = charge on particle
    • +
    • diameter = diameter of particle
    • +
    +

    The I argument indicates which atom types are affected. A wild-card asterisk can be used in place of or in conjunction with the I argument -to set the coefficients for multiple atom types. -

    -

    The v_name argument of the atom keyword is the name of an -equal-style variable which will be evaluated each time +to set the coefficients for multiple atom types.

    +

    The v_name argument of the atom keyword is the name of an +equal-style variable which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group. -

    -

    If the atom parameter is diameter and per-atom density and per-atom -mass are defined for particles (e.g. atom_style -granular), then the mass of each particle is also +for all atoms in the fix group.

    +

    If the atom parameter is diameter and per-atom density and per-atom +mass are defined for particles (e.g. atom_style granular), then the mass of each particle is also changed when the diameter changes (density is assumed to stay -constant). -

    -

    For example, these commands would shrink the diameter of all granular -particles in the "center" group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation: -

    -
    variable size equal ramp(1.0,0.1)
    -fix 1 center adapt 10 atom diameter * v_size 
    -
    -

    For rRESPA time integration, this fix changes -parameters on the outermost rRESPA level. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +constant).

    +

    For example, these commands would shrink the diameter of all granular +particles in the “center” group from 1.0 to 0.1 in a linear fashion +over the course of a 1000-step simulation:

    +
    variable size equal ramp(1.0,0.1)
    +fix 1 center adapt 10 atom diameter * v_size
    +
    +
    +

    For rRESPA time integration, this fix changes +parameters on the outermost rRESPA level.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute fep, fix_adapt, compute -ti -

    -

    Default: -

    -

    The option defaults are scale = no, reset = no, after = no. -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are scale = no, reset = no, after = no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html index e6ba94273f..752e019665 100644 --- a/doc/fix_addforce.html +++ b/doc/fix_addforce.html @@ -1,184 +1,346 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix addforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix addforce command -

    -

    fix addforce/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID addforce fx fy fz keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • addforce = style name of this fix command - -
    • fx,fy,fz = force component values (force units) - -
        any of fx,fy,fz can be a variable (see below) 
      -
      -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = every or region or energy - -
        every value = Nevery
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix addforce command¶

      +
      +
      +

      fix addforce/cuda command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID addforce fx fy fz keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • addforce = style name of this fix command
      • +
      • fx,fy,fz = force component values (force units)
      • +
      +
      any of fx,fy,fz can be a variable (see below)
      +
      +
      +
        +
      • zero or more keyword/value pairs may be appended to args
      • +
      • keyword = every or region or energy
      • +
      +
      +every value = Nevery
           Nevery = add force every this many timesteps
      -  region value = region-ID
      +  region value = region-ID
           region-ID = ID of region atoms must be in to have added force
      -  energy value = v_name
      -    v_name = variable with name that calculates the potential energy of each atom in the added force field 
      -
      - -
    -

    Examples: -

    -
    fix kick flow addforce 1.0 0.0 0.0
    +  energy value = v_name
    +    v_name = variable with name that calculates the potential energy of each atom in the added force field
    +
    +
    +
    +

    Examples¶

    +
    fix kick flow addforce 1.0 0.0 0.0
     fix kick flow addforce 1.0 0.0 v_oscillate
    -fix ff boundary addforce 0.0 0.0 v_push energy v_espace 
    -
    -

    Description: -

    -

    Add fx,fy,fz to the corresponding component of force for each atom in +fix ff boundary addforce 0.0 0.0 v_push energy v_espace +

    +
    +
    +
    +

    Description¶

    +

    Add fx,fy,fz to the corresponding component of force for each atom in the group. This command can be used to give an additional push to atoms in a simulation, such as for a simulation of Poiseuille flow in -a channel. -

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style variable, namely fx, -fy, fz. If the value is a variable, it should be specified as +a channel.

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style or atom-style variable, namely fx, +fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine -the force component. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +the force component.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field. -

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent force field.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well. -

    -

    If the every keyword is used, the Nevery setting determines how +field with optional time-dependence as well.

    +

    If the every keyword is used, the Nevery setting determines how often the forces are applied. The default value is 1, for every -timestep. -

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it. -

    -
    - -

    Adding a force to atoms implies a change in their potential energy as -they move due to the applied force field. For dynamics via the "run" -command, this energy can be optionally added to the system's potential +timestep.

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it.

    +
    +

    Adding a force to atoms implies a change in their potential energy as +they move due to the applied force field. For dynamics via the “run” +command, this energy can be optionally added to the system’s potential energy for thermodynamic output (see below). For energy minimization -via the "minimize" command, this energy must be added to the system's +via the “minimize” command, this energy must be added to the system’s potential energy to formulate a self-consistent minimization problem -(see below). -

    -

    The energy keyword is not allowed if the added force is a constant +(see below).

    +

    The energy keyword is not allowed if the added force is a constant vector F = (fx,fy,fz), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each atom directly as E = -x dot F = -(x*fx + y*fy + -z*fz), so that -Grad(E) = F. -

    -

    The energy keyword is optional if the added force is defined with +z*fz), so that -Grad(E) = F.

    +

    The energy keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the -run command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics. -

    -

    The energy keyword is required if the added force is defined with +run command. If the keyword is not used, LAMMPS will set +the energy to 0.0, which is typically fine for dynamics.

    +

    The energy keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via -the "minimize" command. The keyword specifies the name of an -atom-style variable which is used to compute the +the “minimize” command. The keyword specifies the name of an +atom-style variable which is used to compute the energy of each atom as function of its position. Like variables used -for fx, fy, fz, the energy variable is specified as v_name, -where name is the variable name. -

    -

    Note that when the energy keyword is used during an energy +for fx, fy, fz, the energy variable is specified as v_name, +where name is the variable name.

    +

    Note that when the energy keyword is used during an energy minimization, you must insure that the formula defined for the -atom-style variable is consistent with the force +atom-style variable is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force were a spring-like F = kx, then the energy formula should be E = --0.5kx^2. If you don't do this correctly, the minimization will not -converge properly. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +-0.5kx^2. If you don’t do this correctly, the minimization will not +converge properly.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this -fix to add the potential "energy" inferred by the added force to the -system's potential energy as part of thermodynamic -output. This is a fictitious quantity but is -needed so that the minimize command can include the +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this +fix to add the potential “energy” inferred by the added force to the +system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added force. -

    -

    This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various output -commands. The scalar is the potential +added force.

    +

    This fix computes a global scalar and a global 3-vector of forces, +which can be accessed by various output commands. The scalar is the potential energy discussed above. The vector is the total force on the group of atoms before the forces on individual atoms are changed by the fix. -The scalar and vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +The scalar and vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. -

    -

    IMPORTANT NOTE: If you want the fictitious potential energy associated +the iteration count during the minimization.

    +
    +

    Warning

    +

    If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix setforce, fix aveforce -

    -

    Default: -

    -

    The option default for the every keyword is every = 1. -

    - +fix_modify energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option default for the every keyword is every = 1.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_addtorque.html b/doc/fix_addtorque.html index a9a521e3b7..8a344d28b6 100644 --- a/doc/fix_addtorque.html +++ b/doc/fix_addtorque.html @@ -1,102 +1,269 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix addtorque command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix addtorque command -

    -

    Syntax: -

    -
    fix ID group-ID addtorque Tx Ty Tz 
    -
    -
    • ID, group-ID are documented in fix command - -
    • addtorque = style name of this fix command - -
    • Tx,Ty,Tz = torque component values (torque units) - -
    • any of Tx,Ty,Tz can be a variable (see below) - - -
    -

    Examples: -

    -
    fix kick bead addtorque 2.0 3.0 5.0
    -fix kick bead addtorque 0.0 0.0 v_oscillate 
    -
    -

    Description: -

    -

    Add a set of forces to each atom in -the group such that: -

    -
    • the components of the total torque applied on the group (around its -center of mass) are Tx,Ty,Tz - -
    • the group would move as a rigid body in the absence of other -forces. -
    -

    This command can be used to drive a group of atoms into rotation. -

    -

    Any of the 3 quantities defining the torque components can be specified -as an equal-style variable, namely Tx, -Ty, Tz. If the value is a variable, it should be specified as + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix addtorque command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID addtorque Tx Ty Tz
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • addtorque = style name of this fix command
    • +
    • Tx,Ty,Tz = torque component values (torque units)
    • +
    • any of Tx,Ty,Tz can be a variable (see below)
    • +
    +
    +
    +

    Examples¶

    +
    fix kick bead addtorque 2.0 3.0 5.0
    +fix kick bead addtorque 0.0 0.0 v_oscillate
    +
    +
    +
    +
    +

    Description¶

    +

    Add a set of forces to each atom in +the group such that:

    +
      +
    • the components of the total torque applied on the group (around its +center of mass) are Tx,Ty,Tz
    • +
    • the group would move as a rigid body in the absence of other +forces.
    • +
    +

    This command can be used to drive a group of atoms into rotation.

    +

    Any of the 3 quantities defining the torque components can be specified +as an equal-style variable, namely Tx, +Ty, Tz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -torque component. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +torque component.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent torque. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this -fix to add the potential "energy" inferred by the added forces to the -system's potential energy as part of thermodynamic -output. This is a fictitious quantity but is -needed so that the minimize command can include the +time. Thus it is easy to specify a time-dependent torque.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this +fix to add the potential “energy” inferred by the added forces to the +system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added forces. -

    -

    This fix computes a global scalar and a global 3-vector, which can be -accessed by various output commands. +added forces.

    +

    This fix computes a global scalar and a global 3-vector, which can be +accessed by various output commands. The scalar is the potential energy discussed above. The vector is the total torque on the group of atoms before the forces on individual atoms are changed by the fix. The scalar and vector values calculated -by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix addforce -

    -

    Default: none -

    - +the iteration count during the minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_append_atoms.html b/doc/fix_append_atoms.html index f2df056748..009f8b510d 100644 --- a/doc/fix_append_atoms.html +++ b/doc/fix_append_atoms.html @@ -1,123 +1,291 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix append/atoms command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix append/atoms command -

    -

    Syntax: -

    -
    fix ID group-ID append/atoms face ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • append/atoms = style name of this fix command - -
    • face = zhi - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = basis or size or freq or temp or random or units - -
        basis values = M itype
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix append/atoms command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID append/atoms face ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • append/atoms = style name of this fix command
      • +
      • face = zhi
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = basis or size or freq or temp or random or units
      • +
      +
      +basis values = M itype
           M = which basis atom
           itype = atom type (1-N) to assign to this basis atom
      -  size args = Lz
      +  size args = Lz
           Lz = z size of lattice region appended in a single event(distance units)
      -  freq args = freq
      +  freq args = freq
           freq = the number of timesteps between append events
      -  temp args = target damp seed extent
      +  temp args = target damp seed extent
           target = target temperature for the region between zhi-extent and zhi (temperature units)
           damp = damping parameter (time units)
           seed = random number seed for langevin kicks
           extent = extent of thermostated region (distance units)
      -  random args = xmax ymax zmax seed
      -    xmax, ymax, zmax = maximum displacement in particular direction (distance units)
      -    seed = random number seed for random displacement
      -  units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix 1 all append/atoms zhi size 5.0 freq 295 units lattice
    +  random args = xmax ymax zmax seed
    +    xmax, ymax, zmax = maximum displacement in particular direction (distance units)
    +    seed = random number seed for random displacement
    +  units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all append/atoms zhi size 5.0 freq 295 units lattice
     fix 4 all append/atoms zhi size 15.0 freq 5 units box
    -fix A all append/atoms zhi size 1.0 freq 1000 units lattice 
    -
    -

    Description: -

    -

    This fix creates atoms on a lattice, appended on the zhi edge of the +fix A all append/atoms zhi size 1.0 freq 1000 units lattice +

    +
    +
    +
    +

    Description¶

    +

    This fix creates atoms on a lattice, appended on the zhi edge of the system box. This can be useful when a shock or wave is propagating from zlo. This allows the system to grow with time to accommodate an expanding wave. A simulation box must already exist, which is -typically created via the create_box command. +typically created via the create_box command. Before using this command, a lattice must also be defined using the -lattice command. -

    -

    This fix will automatically freeze atoms on the zhi edge of the -system, so that overlaps are avoided when new atoms are appended. -

    -

    The basis keyword specifies an atom type that will be assigned to +lattice command.

    +

    This fix will automatically freeze atoms on the zhi edge of the +system, so that overlaps are avoided when new atoms are appended.

    +

    The basis keyword specifies an atom type that will be assigned to specific basis atoms as they are created. See the -lattice command for specifics on how basis atoms are +lattice command for specifics on how basis atoms are defined for the unit cell of the lattice. By default, all created -atoms are assigned type = 1 unless this keyword specifies differently. -

    -

    The size keyword defines the size in z of the chunk of material to -be added. -

    -

    The random keyword will give the atoms random displacements around -their lattice points to simulate some initial temperature. -

    -

    The temp keyword will cause a region to be thermostated with a +atoms are assigned type = 1 unless this keyword specifies differently.

    +

    The size keyword defines the size in z of the chunk of material to +be added.

    +

    The random keyword will give the atoms random displacements around +their lattice points to simulate some initial temperature.

    +

    The temp keyword will cause a region to be thermostated with a Langevin thermostat on the zhi boundary. The size of the region is -measured from zhi and is set with the extent argument. -

    -

    The units keyword determines the meaning of the distance units used +measured from zhi and is set with the extent argument.

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. -A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The boundary on which atoms are added with append/atoms must be +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The boundary on which atoms are added with append/atoms must be shrink/minimum. The opposite boundary may be any boundary type other -than periodic. -

    -

    Related commands: -

    -

    fix wall/piston command -

    -

    Default: -

    -

    The keyword defaults are size = 0.0, freq = 0, units = lattice. All -added atoms are of type 1 unless the basis keyword is used. -

    - +than periodic.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are size = 0.0, freq = 0, units = lattice. All +added atoms are of type 1 unless the basis keyword is used.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_atc.html b/doc/fix_atc.html index 86db400873..fc3a49435f 100644 --- a/doc/fix_atc.html +++ b/doc/fix_atc.html @@ -1,258 +1,434 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix atc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix atc command -

    -

    Syntax: -

    -
    fix   atc   
    -
    -
  • fixID = name of fix - -
  • group = name of group fix is to be applied - -
  • type = thermal or two_temperature or hardy or field - -
     thermal = thermal coupling with fields: temperature
    - two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    - hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) 
    - field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) 
    -
    -
  • parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file - -

    Examples: -

    -
    fix AtC internal atc thermal Ar_thermal.dat 
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix atc command¶

    +
    +

    Syntax¶

    +
    fix <fixID> <group> atc <type> <parameter_file>
    +
    +
    +
      +
    • fixID = name of fix
    • +
    • group = name of group fix is to be applied
    • +
    • type = thermal or two_temperature or hardy or field
    • +
    +
    +thermal = thermal coupling with fields: temperature
    + two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    + hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
    + field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
    +
    +
      +
    • parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file
    • +
    +
    +
    +

    Examples¶

    +
    fix AtC internal atc thermal Ar_thermal.dat
     fix AtC internal atc two_temperature Ar_ttm.mat
     fix AtC internal atc hardy
    -fix AtC internal atc field 
    -
    -

    Description: -

    -

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. -

    -
    -
    -
    The following coupling example is typical, but non-exhaustive:
    - # ... commands to create and initialize the MD system 
    -
    -
     # initial fix to designate coupling type and group to apply it to 
    - # tag group physics material_file 
    - fix AtC internal atc thermal Ar_thermal.mat 
    -
    -
     # create a uniform 12 x 2 x 2 mesh that covers region contain the group 
    - # nx ny nz region periodicity 
    - fix_modify AtC mesh create 12 2 2 mdRegion f p p 
    -
    -
     # specify the control method for the type of coupling 
    - # physics control_type 
    - fix_modify AtC thermal control flux 
    -
    -
     # specify the initial values for the empirical field "temperature" 
    - # field node_group value 
    - fix_modify AtC initial temperature all 30 
    -
    -
     # create an output stream for nodal fields 
    - # filename output_frequency 
    - fix_modify AtC output atc_fe_output 100 
    -
    -
     run 1000 
    -
    -

    likewise for this post-processing example: -

    -
     # ... commands to create and initialize the MD system 
    -
    -
     # initial fix to designate post-processing and the group to apply it to 
    - # no material file is allowed nor required 
    - fix AtC internal atc hardy 
    -
    -
     # for hardy fix, specific kernel function (function type and range) to # be used as a localization function 
    - fix AtC kernel quartic_sphere 10.0 
    -
    -
     # create a uniform 1 x 1 x 1 mesh that covers region contain the group 
    - # with periodicity this effectively creats a system average 
    - fix_modify AtC mesh create 1 1 1 box p p p 
    -
    -
     # change from default lagrangian map to eulerian 
    - # refreshed every 100 steps 
    - fix_modify AtC atom_element_map eulerian 100 
    -
    -
     # start with no field defined 
    - # add mass density, potential energy density, stress and temperature 
    - fix_modify AtC fields add density energy stress temperature 
    -
    -
     # create an output stream for nodal fields 
    - # filename output_frequency 
    - fix_modify AtC output nvtFE 100 text 
    -
    -
     run 1000 
    -
    -

    the mesh's linear interpolation functions can be used as the localization function - by using the field option: -

    -

    fix AtC internal atc field -

    -

    fix_modify AtC mesh create 1 1 1 box p p p -

    -

    ... -

    -

    Note coupling and post-processing can be combined in the same simulations using separate fixes. -

    -
    +fix AtC internal atc field +
  • + + +
    +

    Description¶

    +

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.

    +_images/atc_nanotube.jpg +
    The following coupling example is typical, but non-exhaustive:
    + # ... commands to create and initialize the MD system
    +
    +
    +
    # initial fix to designate coupling type and group to apply it to
    + # tag group physics material_file
    + fix AtC internal atc thermal Ar_thermal.mat
    +
    +
    +
    # create a uniform 12 x 2 x 2 mesh that covers region contain the group
    + # nx ny nz region periodicity
    + fix_modify AtC mesh create 12 2 2 mdRegion f p p
    +
    +
    +
    # specify the control method for the type of coupling
    + # physics control_type
    + fix_modify AtC thermal control flux
    +
    +
    +
    # specify the initial values for the empirical field "temperature"
    + # field node_group value
    + fix_modify AtC initial temperature all 30
    +
    +
    +
    # create an output stream for nodal fields
    + # filename output_frequency
    + fix_modify AtC output atc_fe_output 100
    +
    +
    +
    run 1000
    +
    +
    +

    likewise for this post-processing example:

    +
    # ... commands to create and initialize the MD system
    +
    +
    +
    # initial fix to designate post-processing and the group to apply it to
    + # no material file is allowed nor required
    + fix AtC internal atc hardy
    +
    +
    +
    # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
    + fix AtC kernel quartic_sphere 10.0
    +
    +
    +
    # create a uniform 1 x 1 x 1 mesh that covers region contain the group
    + # with periodicity this effectively creats a system average
    + fix_modify AtC mesh create 1 1 1 box p p p
    +
    +
    +
    # change from default lagrangian map to eulerian
    + # refreshed every 100 steps
    + fix_modify AtC atom_element_map eulerian 100
    +
    +
    +
    # start with no field defined
    + # add mass density, potential energy density, stress and temperature
    + fix_modify AtC fields add density energy stress temperature
    +
    +
    +
    # create an output stream for nodal fields
    + # filename output_frequency
    + fix_modify AtC output nvtFE 100 text
    +
    +
    +
    run 1000
    +
    +
    +
    +
    the mesh’s linear interpolation functions can be used as the localization function
    +
    by using the field option:
    +
    +

    fix AtC internal atc field

    +

    fix_modify AtC mesh create 1 1 1 box p p p

    +

    ...

    +

    Note coupling and post-processing can be combined in the same simulations using separate fixes.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. The fix_modify options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.

    +
      +
    • Currently,
    • +
      • +
      • the coupling is restricted to thermal physics
      • +
      +
    • +
      • +
      • the FE computations are done in serial on each processor.
      • +
      +
    • +
    +
    + +
    +

    Default¶

    +

    None

    +
    +

    For detailed exposition of the theory and algorithms please see:

    +

    (Wagner) Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, “An atomistic-to-continuum coupling method for heat transfer in solids.” Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.

    +

    (Zimmerman2004) Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, “Calculation of stress in atomistic simulation.” Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.

    +

    (Zimmerman2010) Zimmerman, JA; Jones, RE; Templeton, JA, “A material frame approach for evaluating continuum variables in atomistic simulations.” Journal of Computational Physics (2010), 229:2364.

    +

    (Templeton2010) Templeton, JA; Jones, RE; Wagner, GJ, “Application of a field-based method to spatially varying thermal transport problems in molecular dynamics.” Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.

    +

    (Jones) Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, “Electron transport enhanced molecular dynamics for metals and semi-metals.” International Journal for Numerical Methods in Engineering (2010), 83:940.

    +

    (Templeton2011) Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, “A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling.” Journal of Chemical Theory and Computation (2011), 7:1736.

    +

    (Mandadapu) Mandadapu, KK; Templeton, JA; Lee, JW, “Polarization as a field variable from molecular dynamics simulations.” Journal of Chemical Physics (2013), 139:054115.

    +

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes ” The finite element method ”, Dover 2003, for the basics of FE simulation.

    +
    + -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart files. The fix_modify options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. -

    -
    • Currently, -
    • - the coupling is restricted to thermal physics -
    • - the FE computations are done in serial on each processor. -
    -

    Related commands: -

    -

    After specifying this fix in your input script, several other fix_modify commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. -

    -

    fix_modify commands for setup: -

    - -

    fix_modify commands for boundary and initial conditions: -

    - -

    fix_modify commands for control and filtering: -

    - -

    fix_modify commands for output: -

    - -

    fix_modify commands for post-processing: -

    - -

    miscellaneous fix_modify commands: -

    - -

    Note: a set of example input files with the attendant material files are included with this package -

    -

    Default: -None -

    -
    -

    For detailed exposition of the theory and algorithms please see: -

    - + + +
    + -

    (Wagner) Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. -

    - +
    -

    (Zimmerman2004) Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Zimmerman2010) Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. -

    - +
    -

    (Templeton2010) Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. -

    - + + -

    (Jones) Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. -

    - + -

    (Templeton2011) Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. -

    - + + -

    (Mandadapu) Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. -

    -

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_atom_swap.html b/doc/fix_atom_swap.html index 739845a391..db6450a67d 100644 --- a/doc/fix_atom_swap.html +++ b/doc/fix_atom_swap.html @@ -1,100 +1,206 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix atom/swap command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix atom/swap command -

    -

    Syntax: -

    -
    fix ID group-ID atom/swap N X seed T keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • atom/swap = style name of this fix command - -
    • N = invoke this fix every N steps - -
    • X = number of swaps to attempt every N steps - -
    • seed = random # seed (positive integer) - -
    • T = scaling temperature of the MC swaps (temperature units) - -
    • one or more keyword/value pairs may be appended to args - -
    • keyword = types or delta_mu or ke or semi-grand or region - -
        types values = two or more atom types
      -  delta_mu values = number_of_types-1 relative chemical potentials (energy units)
      -  ke value = no or yes
      -    no = no conservation of kinetic energy after atom swaps
      -    yes = kinetic energy is conserved after atom swaps
      -  semi-grand value = no or yes
      -    no = particle type counts and fractions conserved
      -    yes = semi-grand canonical ensemble, particle fractions not conserved
      -  region value = region-ID
      -    region-ID = ID of region to use as an exchange/move volume 
      -
      - -
    -

    Examples: -

    -
    fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
    -fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 
    -fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 delta_mu 4.3 -5.0 
    -
    -

    Description: -

    -

    This fix performs Monte Carlo swaps of atoms of one given atom type + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix atom/swap command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID atom/swap N X seed T keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • atom/swap = style name of this fix command
    • +
    • N = invoke this fix every N steps
    • +
    • X = number of swaps to attempt every N steps
    • +
    • seed = random # seed (positive integer)
    • +
    • T = scaling temperature of the MC swaps (temperature units)
    • +
    • one or more keyword/value pairs may be appended to args
    • +
    • keyword = types or delta_mu or ke or semi-grand or region
    • +
    +
    +types values = two or more atom types
    +  delta_mu values = number_of_types-1 relative chemical potentials (energy units)
    +  ke value = no or yes
    +    no = no conservation of kinetic energy after atom swaps
    +    yes = kinetic energy is conserved after atom swaps
    +  semi-grand value = no or yes
    +    no = particle type counts and fractions conserved
    +    yes = semi-grand canonical ensemble, particle fractions not conserved
    +  region value = region-ID
    +    region-ID = ID of region to use as an exchange/move volume
    +
    +
    +
    +

    Examples¶

    +
    fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
    +fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6
    +fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 delta_mu 4.3 -5.0
    +
    +
    +
    +
    +

    Description¶

    +

    This fix performs Monte Carlo swaps of atoms of one given atom type with atoms of the other given atom types. The specified T is used in -the Metropolis criterion dictating swap probabilities. -

    -

    Perform X swaps of atoms of one type with atoms of another type +the Metropolis criterion dictating swap probabilities.

    +

    Perform X swaps of atoms of one type with atoms of another type according to a Monte Carlo probability. Swap candidates must be in the fix group, must be in the region (if specified), and must be of one of the listed types. Swaps are attempted between candidates that are chosen randomly with equal probability among the candidate atoms. Swaps are not attempted between atoms of the same type since -nothing would happen. -

    -

    All atoms in the simulation domain can be moved using regular time -integration displacements, e.g. via fix_nvt, resulting +nothing would happen.

    +

    All atoms in the simulation domain can be moved using regular time +integration displacements, e.g. via fix_nvt, resulting in a hybrid MC+MD simulation. A smaller-than-usual timestep size may be needed when running such a hybrid simulation, especially if the -swapped atoms are not well equilibrated. -

    -

    The types keyword is required. At least two atom types must be -specified. -

    -

    The ke keyword can be set to no to turn off kinetic energy -conservation for swaps. The default is yes, which means that swapped +swapped atoms are not well equilibrated.

    +

    The types keyword is required. At least two atom types must be +specified.

    +

    The ke keyword can be set to no to turn off kinetic energy +conservation for swaps. The default is yes, which means that swapped atoms have their velocities scaled by the ratio of the masses of the swapped atom types. This ensures that the kinetic energy of each atom is the same after the swap as it was before the swap, even though the -atom masses have changed. -

    -

    The semi-grand keyword can be set to yes to switch to the -semi-grand canonical ensemble as discussed in (Sadigh). This +atom masses have changed.

    +

    The semi-grand keyword can be set to yes to switch to the +semi-grand canonical ensemble as discussed in (Sadigh). This means that the total number of each particle type does not need to be -conserved. The default is no, which means that the only kind of swap +conserved. The default is no, which means that the only kind of swap allowed exchanges an atom of one type with an atom of a different given type. In other words, the relative mole fractions of the swapped atoms remains constant. Whereas in the semi-grand canonical ensemble, the composition of the system can change. Note that when using -semi-grand, all atoms in the fix group are eligible for attempted +semi-grand, all atoms in the fix group are eligible for attempted conversion to one of the given types, even if its current type is not one of the given types. An attempt is made to switch the selected atom -to one of the listed types with equal probability. Acceptance of -each attempt depends upon the Metropolis criterion. -

    -

    The delta_mu keyword allows users to specify non-zero chemical +to one of the listed types with equal probability. Acceptance of +each attempt depends upon the Metropolis criterion.

    +

    The delta_mu keyword allows users to specify non-zero chemical potentials for each of the atom types. All chemical potentials are relative to the first atom type, so no value is given for the first atom type. These parameters are useful for semi-grand canonical @@ -102,98 +208,148 @@ ensemble simulations where it may be desirable to actively control the composition of the system. When given, there must be ntypes-1 values given, where ntypes is the number of atom types in the simulated system. Note that a value for delta_mu is required for all atom types -when using semi-grand, even for atom types not listed following the -types keyword. This is because when using semi-grand, it is +when using semi-grand, even for atom types not listed following the +types keyword. This is because when using semi-grand, it is possible that any of the atom types in the system could be part of the fix group and therefore are eligible for swapping to one of the listed -atom types. -

    -

    This command may optionally use the region keyword to define swap +atom types.

    +

    This command may optionally use the region keyword to define swap volume. The specified region must have been previously defined with a -region command. It must be defined with side = in. +region command. It must be defined with side = in. Swap attempts occur only between atoms that are both within the -specified region. Swaps are not otherwise attempted. -

    -

    You should ensure you do not swap atoms belonging to a molecule, or +specified region. Swaps are not otherwise attempted.

    +

    You should ensure you do not swap atoms belonging to a molecule, or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for swapping have a non-zero molecule ID, but does not check for this at the time of -swapping. -

    -

    This fix checks to ensure all atoms of the given types have the same -atomic charge. LAMMPS doesn't enforce this in general, but it is +swapping.

    +

    This fix checks to ensure all atoms of the given types have the same +atomic charge. LAMMPS doesn’t enforce this in general, but it is needed for this fix to simplify the swapping procedure. Successful -swaps will swap the atom type and charge of the swapped atoms. -

    -

    Since this fix computes total potential energies before and after +swaps will swap the atom type and charge of the swapped atoms.

    +

    Since this fix computes total potential energies before and after proposed swaps, so even complicated potential energy calculations are -OK, including the following: -

    -
    • long-range electrostatics (kspace) -
    • many body pair styles -
    • hybrid pair styles -
    • eam pair styles -
    • triclinic systems -
    • need to include potential energy contributions from other fixes -
    -

    Some fixes have an associated potential energy. Examples of such fixes -include: efield, gravity, -addforce, langevin, -restrain, temp/berendsen, -temp/rescale, and wall fixes. -For that energy to be included in the total potential energy of the +OK, including the following:

    +
      +
    • long-range electrostatics (kspace)
    • +
    • many body pair styles
    • +
    • hybrid pair styles
    • +
    • eam pair styles
    • +
    • triclinic systems
    • +
    • need to include potential energy contributions from other fixes
    • +
    +

    Some fixes have an associated potential energy. Examples of such fixes +include: efield, gravity, +addforce, langevin, +restrain, temp/berendsen, +temp/rescale, and wall fixes. +For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the fix to binary restart -files. This includes information about the random +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the fix to binary restart files. This includes information about the random number generator seed, the next timestep for MC exchanges, etc. See -the read_restart command for info on how to +the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    This fix computes a global vector of length 2, which can be accessed -by various output commands. The vector -values are the following global cumulative quantities: -

    -
    • 1 = swap attempts -
    • 2 = swap successes -
    -

    The vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix_nvt, neighbor, -fix_deposit, fix_evaporate, -delete_atoms, fix_gcmc -

    -

    Default: -

    -

    The option defaults are ke = yes, semi-grand = no, delta_mu = 0.0 for -all atom types. -

    -
    +the operation of the fix continues in an uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    This fix computes a global vector of length 2, which can be accessed +by various output commands. The vector +values are the following global cumulative quantities:

    +
      +
    • 1 = swap attempts
    • +
    • 2 = swap successes
    • +
    +

    The vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are ke = yes, semi-grand = no, delta_mu = 0.0 for +all atom types.

    +
    +

    (Sadigh) B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and +L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).

    +
    +
    - -

    (Sadigh) B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and -L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_atom.html b/doc/fix_ave_atom.html index f80025c8f9..5efc53bd23 100644 --- a/doc/fix_ave_atom.html +++ b/doc/fix_ave_atom.html @@ -1,165 +1,320 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/atom command -

    -

    Syntax: -

    -
    fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/atom = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps -one or more input values can be listed - -
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name - -
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/atom command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/atom = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps +one or more input values can be listed
      • +
      • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name
      • +
      +
      x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/atom 1 100 100 vx vy vz
    -fix 1 all ave/atom 10 20 1000 c_my_stress[1] 
    -
    -

    Description: -

    -

    Use one or more per-atom vectors as inputs every few timesteps, and + v_name = per-atom vector calculated by an atom-style variable with name +

    + + +
    +

    Examples¶

    +
    fix 1 all ave/atom 1 100 100 vx vy vz
    +fix 1 all ave/atom 10 20 1000 c_my_stress[1]
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more per-atom vectors as inputs every few timesteps, and average them atom by atom over longer timescales. The resulting -per-atom averages can be used by other output -commands such as the fix -ave/spatial or dump custom commands. -

    -

    The group specified with the command means only atoms within the group +per-atom averages can be used by other output commands such as the fix ave/spatial or dump custom commands.

    +

    The group specified with the command means only atoms within the group have their averages computed. Results are set to 0.0 for atoms not in -the group. -

    -

    Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an atom-style -variable. In the latter cases, the compute, fix, or +the group.

    +

    Each input value can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an atom-style +variable. In the latter cases, the compute, fix, or variable must produce a per-atom vector, not a global quantity or local quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix -ave/time command. -

    -

    Computes that produce per-atom vectors or arrays are -those which have the word atom in their style name. See the doc -pages for individual fixes to determine which ones produce -per-atom vectors or arrays. Variables of style atom +compute, fix, or variable, then see the fix ave/time command.

    +

    Computes that produce per-atom vectors or arrays are +those which have the word atom in their style name. See the doc +pages for individual fixes to determine which ones produce +per-atom vectors or arrays. Variables of style atom are the only ones that can be used with this fix since they produce -per-atom vectors. -

    -

    Each per-atom value of each input vector is averaged independently. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +per-atom vectors.

    +

    Each per-atom value of each input vector is averaged independently.

    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a multiple of Nfreq. The average is over Nrepeat +that are a multiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on -timestep 200, etc. -

    -
    - -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +timestep 200, etc.

    +
    +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    IMPORTANT NOTE: The x,y,z attributes are values that are re-wrapped +inputs to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +
    +

    Warning

    +

    The x,y,z attributes are values that are re-wrapped inside the periodic box whenever an atom crosses a periodic boundary. Thus if you time average an atom that spends half its time on either side of the periodic box, you will get a value in the middle of the box. If this is not what you want, consider averaging unwrapped -coordinates, which can be provided by the compute -property/atom command via its xu,yu,zu -attributes. -

    -

    If a value begins with "c_", a compute ID must follow which has been +coordinates, which can be provided by the compute property/atom command via its xu,yu,zu +attributes.

    +
    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the compute is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also -write code for their own compute styles and add them to -LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom vector calculated by the fix is used. If a bracketed term containing an index I is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be -compatible with Nevery, else an error will result. Users can also -write code for their own fix styles and add them to -LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has -been previously defined in the input script as an atom-style -variable Variables of style atom can reference +compatible with Nevery, else an error will result. Users can also +write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has +been previously defined in the input script as an atom-style variable Variables of style atom can reference thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating -per-atom quantities to time average. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +per-atom quantities to time average.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global scalar or vector quantities are -stored by this fix for access by various output -commands. -

    -

    This fix produces a per-atom vector or array which can be accessed by -various output commands. A vector is +stored by this fix for access by various output commands.

    +

    This fix produces a per-atom vector or array which can be accessed by +various output commands. A vector is produced if only a single quantity is averaged by this fix. If two or more quantities are averaged, then an array of values is produced. The per-atom values can only be accessed on timesteps that are -multiples of Nfreq since that is when averaging is performed. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix ave/histo, fix -ave/spatial, fix ave/time, -variable, -

    -

    Default: none -

    - +multiples of Nfreq since that is when averaging is performed.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_chunk.html b/doc/fix_ave_chunk.html index a1c1a9dc2f..8cce0fdba3 100644 --- a/doc/fix_ave_chunk.html +++ b/doc/fix_ave_chunk.html @@ -1,361 +1,429 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/chunk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/chunk command -

    -

    Syntax: -

    -
    fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/chunk = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps - -
    • chunkID = ID of compute chunk/atom command - -
    • one or more input values can be listed - -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name - -
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/chunk command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/chunk = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps
      • +
      • chunkID = ID of compute chunk/atom command
      • +
      • one or more input values can be listed
      • +
      • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name
      • +
      +
      vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         temp = temperature
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = norm or ave or bias or adof or cdof or file or overwrite or title1 or title2 or title3 - -
        norm arg = all or sample or none = how output on Nfreq steps is normalized
      -    all = output is sum of atoms across all Nrepeat samples, divided by atom count
      -    sample = output is sum of Nrepeat sample averages, divided by Nrepeat
      -    none = output is sum of Nrepeat sums, divided by Nrepeat
      -  ave args = one or running or window M
      +  v_name = per-atom vector calculated by an atom-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = norm or ave or bias or adof or cdof or file or overwrite or title1 or title2 or title3
      • +
      +
      +norm arg = all or sample or none = how output on Nfreq steps is normalized
      +    all = output is sum of atoms across all Nrepeat samples, divided by atom count
      +    sample = output is sum of Nrepeat sample averages, divided by Nrepeat
      +    none = output is sum of Nrepeat sums, divided by Nrepeat
      +  ave args = one or running or window M
           one = output new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  bias arg = bias-ID
      +  bias arg = bias-ID
           bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation
      -  adof value = dof_per_atom
      +  adof value = dof_per_atom
           dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation
      -  cdof value = dof_per_chunk
      +  cdof value = dof_per_chunk
           dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation
      -  file arg = filename
      +  file arg = filename
           filename = file to write results to
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values"
    +  title3 arg = string
    +    string = text to print as 3rd line of output file
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values"
     fix 1 flow ave/chunk 100 10 1000 molchunk vx vz norm sample file vel.profile
     fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running
    -fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running 
    -
    -

    IMPORTANT NOTE: -

    -

    If you are trying to replace an older fix ave/spatial command with the -newer, more flexible fix ave/chunk and compute -chunk/atom commands, you simply need to split +fix 1 flow ave/chunk 100 5 1000 binchunk density/mass ave running +

    +
    +

    IMPORTANT NOTE:

    +

    If you are trying to replace an older fix ave/spatial command with the +newer, more flexible fix ave/chunk and compute chunk/atom commands, you simply need to split the fix ave/spatial arguments across the two new commands. For -example, this command: -

    -
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile 
    -
    -

    could be replaced by: -

    -
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0 
    -fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile 
    -
    -

    Description: -

    -

    Use one or more per-atom vectors as inputs every few timesteps, sum +example, this command:

    +
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
    +
    +
    +

    could be replaced by:

    +
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0
    +fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more per-atom vectors as inputs every few timesteps, sum the values over the atoms in each chunk at each timestep, then average the per-chunk values over longer timescales. The resulting chunk -averages can be used by other output -commands such as thermo_style -custom, and can also be written to a file. -

    -

    In LAMMPS, chunks are collections of atoms defined by a compute -chunk/atom command, which assigns each atom +averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    +

    In LAMMPS, chunks are collections of atoms defined by a compute chunk/atom command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the compute -chunk/atom doc page and "Section_howto -23 for details of how chunks can be +molecule or atoms in a spatial bin. See the compute chunk/atom doc page and “Section_howto 23 for details of how chunks can be defined and examples of how they can be used to measure properties of -a system. -

    -

    Note that only atoms in the specified group contribute to the summing -and averaging calculations. The compute -chunk/atom command defines its own group as +a system.

    +

    Note that only atoms in the specified group contribute to the summing +and averaging calculations. The compute chunk/atom command defines its own group as well as an optional region. Atoms will have a chunk ID = 0, meaning they belong to no chunk, if they are not in that group or region. -Thus you can specify the "all" group for this command if you simply -want to use the chunk definitions provided by chunkID. -

    -

    Each specified per-atom value can be an atom attribute (position, +Thus you can specify the “all” group for this command if you simply +want to use the chunk definitions provided by chunkID.

    +

    Each specified per-atom value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of -a compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +a compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a -global quantity. Note that the compute -property/atom command provides access to +global quantity. Note that the compute property/atom command provides access to any attribute defined and stored by atoms. If you wish to time-average global quantities from a compute, fix, or variable, then -see the fix ave/time command. -

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +see the fix ave/time command.

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities. -

    -

    The per-atom values of each input vector are summed and averaged -independently of the per-atom values in other input vectors. -

    -

    IMPORTANT NOTE: This fix works by creating an array of size Nchunk -by Nvalues on each processor. Nchunk is the number of chunks which -is defined by the compute chunk/atom +produce global quantities.

    +

    The per-atom values of each input vector are summed and averaged +independently of the per-atom values in other input vectors.

    +
    +

    Warning

    +

    This fix works by creating an array of size Nchunk +by Nvalues on each processor. Nchunk is the number of chunks which +is defined by the compute chunk/atom command. Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate chunk. Then the entire array is summed across all processors. This means that using a large number of chunks will incur an overhead in memory and computational cost (summing across processors), so be -careful to define a reasonable number of chunks. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +careful to define a reasonable number of chunks.

    +
    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc. -

    -

    Each input value can also be averaged over the atoms in each chunk. -The way the averaging is done across the Nrepeat timesteps to -produce output on the Nfreq timesteps, and across multiple Nfreq -outputs, is determined by the norm and ave keyword settings, as -discussed below. -

    -

    IMPORTANT NOTE: To perform per-chunk averaging within a Nfreq time -window, the number of chunks Nchunk defined by the compute -chunk/atom command must remain constant. If -the ave keyword is set to running or window then Nchunk must +100,200,etc.

    +

    Each input value can also be averaged over the atoms in each chunk. +The way the averaging is done across the Nrepeat timesteps to +produce output on the Nfreq timesteps, and across multiple Nfreq +outputs, is determined by the norm and ave keyword settings, as +discussed below.

    +
    +

    Warning

    +

    To perform per-chunk averaging within a Nfreq time +window, the number of chunks Nchunk defined by the compute chunk/atom command must remain constant. If +the ave keyword is set to running or window then Nchunk must remain constant for the duration of the simulation. This fix forces -the chunk/atom compute specified by chunkID to hold Nchunk constant +the chunk/atom compute specified by chunkID to hold Nchunk constant for the appropriate time windows, by not allowing it to re-calcualte -Nchunk, which can also affect how it assigns chunk IDs to atoms. -More details are given on the compute -chunk/atom doc page. -

    -
    - -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +Nchunk, which can also affect how it assigns chunk IDs to atoms. +More details are given on the compute chunk/atom doc page.

    +
    +
    +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. As noted above, any other atom attributes can be used as input values -to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    The density/number value means the number density is computed for -each chunk, i.e. number/volume. The density/mass value means the +to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +

    The density/number value means the number density is computed for +each chunk, i.e. number/volume. The density/mass value means the mass density is computed for each chunk, i.e. total-mass/volume. The output values are in units of 1/volume or density (mass/volume). See -the units command doc page for the definition of density +the units command doc page for the definition of density for each choice of units, e.g. gram/cm^3. If the chunks defined by -the compute chunk/atom command are spatial +the compute chunk/atom command are spatial bins, the volume is the bin volume. Otherwise it is the volume of the -entire simulation box. -

    -

    The temp value means the temperature is computed for each chunk, by +entire simulation box.

    +

    The temp value means the temperature is computed for each chunk, by the formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of freedom for all atoms in the chunk, k = Boltzmann constant, and T = -temperature. -

    -

    The DOF is calculated as N*adof + cdof, where N = number of atoms in +temperature.

    +

    The DOF is calculated as N*adof + cdof, where N = number of atoms in the chunk, adof = degrees of freedom per atom, and cdof = degrees of freedom per chunk. By default adof = 2 or 3 = dimensionality of -system, as set via the dimension command, and cdof = -0.0. This gives the usual formula for temperature. -

    -

    Note that currently this temperature only includes translational +system, as set via the dimension command, and cdof = +0.0. This gives the usual formula for temperature.

    +

    Note that currently this temperature only includes translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size particles. Also no degrees of freedom are subtracted for any velocity bias or constraints that are applied, -such as compute temp/partial, or fix -shake or fix rigid. This is because +such as compute temp/partial, or fix shake or fix rigid. This is because those degrees of freedom (e.g. a constrained bond) could apply to sets of atoms that are both included and excluded from a specific chunk, and hence the concept is somewhat ill-defined. In some cases, you can -use the adof and cdof keywords to adjust the calculated degress of -freedom appropriately, as explained below. -

    -

    Also note that a bias can be subtracted from atom velocities before -they are used in the above formula for KE, by using the bias +use the adof and cdof keywords to adjust the calculated degress of +freedom appropriately, as explained below.

    +

    Also note that a bias can be subtracted from atom velocities before +they are used in the above formula for KE, by using the bias keyword. This allows, for example, a thermal temperature to be -computed after removal of a flow velocity profile. -

    -

    Note that the per-chunk temperature calculated by this fix and the -compute temp/chunk command can be different. +computed after removal of a flow velocity profile.

    +

    Note that the per-chunk temperature calculated by this fix and the +compute temp/chunk command can be different. The compute calculates the temperature for each chunk for a single snapshot. This fix can do that but can also time average those values over many snapshots, or it can compute a temperature as if the atoms in the chunk on different timesteps were collected together as one set of atoms to calculate their temperature. The compute allows the center-of-mass velocity of each chunk to be subtracted before -calculating the temperature; this fix does not. -

    -

    If a value begins with "c_", a compute ID must follow which has been +calculating the temperature; this fix does not.

    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to average within chunks. -

    -
    - -

    Additional optional keywords also affect the operation of this fix -and its outputs. -

    -

    The norm keyword affects how averaging is done for the per-chunk -values that are output every Nfreq timesteps. -

    -

    It the norm setting is all, which is the default, a chunk value is -summed over all atoms in all Nrepeat samples, as is the count of +quantities to average within chunks.

    +
    +

    Additional optional keywords also affect the operation of this fix +and its outputs.

    +

    The norm keyword affects how averaging is done for the per-chunk +values that are output every Nfreq timesteps.

    +

    It the norm setting is all, which is the default, a chunk value is +summed over all atoms in all Nrepeat samples, as is the count of atoms in the chunk. The averaged output value for the chunk on the -Nfreq timesteps is Total-sum / Total-count. In other words it is an -average over atoms across the entire Nfreq timescale. -

    -

    If the norm setting is sample, the chunk value is summed over atoms -for each sample, as is the count, and an "average sample value" is +Nfreq timesteps is Total-sum / Total-count. In other words it is an +average over atoms across the entire Nfreq timescale.

    +

    If the norm setting is sample, the chunk value is summed over atoms +for each sample, as is the count, and an “average sample value” is computed for each sample, i.e. Sample-sum / Sample-count. The outuput -value for the chunk on the Nfreq timesteps is the average of the -Nrepeat "average sample values", i.e. the sum of Nrepeat "average -sample values" divided by Nrepeat. In other words it is an average -of an average. -

    -

    If the norm setting is none, a similar computation as for the -sample seting is done, except the individual "average sample values" -are "summed sample values". A summed sample value is simply the chunk +value for the chunk on the Nfreq timesteps is the average of the +Nrepeat “average sample values”, i.e. the sum of Nrepeat “average +sample values” divided by Nrepeat. In other words it is an average +of an average.

    +

    If the norm setting is none, a similar computation as for the +sample seting is done, except the individual “average sample values” +are “summed sample values”. A summed sample value is simply the chunk value summed over atoms in the sample, without dividing by the number of atoms in the sample. The outuput value for the chunk on the -Nfreq timesteps is the average of the Nrepeat "summed sample -values", i.e. the sum of Nrepeat "summed sample values" divided by -Nrepeat. -

    -

    The ave keyword determines how the per-chunk values produced every -Nfreq steps are averaged with values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, which is the default, then the chunk -values produced on timesteps that are multiples of Nfreq are +Nfreq timesteps is the average of the Nrepeat “summed sample +values”, i.e. the sum of Nrepeat “summed sample values” divided by +Nrepeat.

    +

    The ave keyword determines how the per-chunk values produced every +Nfreq steps are averaged with values produced on previous steps that +were multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, which is the default, then the chunk +values produced on timesteps that are multiples of Nfreq are independent of each other; they are output as-is without further -averaging. -

    -

    If the ave setting is running, then the chunk values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +averaging.

    +

    If the ave setting is running, then the chunk values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output chunk value is thus the average of the chunk value produced on that timestep with all preceding values for the same chunk. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it. -

    -

    If the ave setting is window, then the chunk values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving "window" of time, so that the last M values for the same +the unfix command, or re-defining the fix by +re-specifying it.

    +

    If the ave setting is window, then the chunk values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving “window” of time, so that the last M values for the same chunk are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual chunk values on steps 8000,9000,10000. Outputs on early steps will -average over less than M values if they are not available. -

    -

    The bias keyword specifies the ID of a temperature compute that -removes a "bias" velocity from each atom, specified as bias-ID. It -is only used when the temp value is calculated, to compute the +average over less than M values if they are not available.

    +

    The bias keyword specifies the ID of a temperature compute that +removes a “bias” velocity from each atom, specified as bias-ID. It +is only used when the temp value is calculated, to compute the thermal temperature of each chunk after the translational kinetic energy components have been altered in a prescribed way, e.g. to remove a flow velocity profile. See the doc pages for individual computes that calculate a temperature to see which ones implement a -bias. -

    -

    The adof and cdof keywords define the values used in the degree of +bias.

    +

    The adof and cdof keywords define the values used in the degree of freedom (DOF) formula described above for for temperature calculation -for each chunk. They are only used when the temp value is +for each chunk. They are only used when the temp value is calculated. They can be used to calculate a more appropriate -temperature for some kinds of chunks. Here are 3 examples: -

    -

    If spatially binned chunks contain some number of water molecules and -fix shake is used to make each molecule rigid, then +temperature for some kinds of chunks. Here are 3 examples:

    +

    If spatially binned chunks contain some number of water molecules and +fix shake is used to make each molecule rigid, then you could calculate a temperature with 6 degrees of freedom (DOF) (3 -translational, 3 rotational) per molecule by setting adof to 2.0. -

    -

    If compute temp/partial is used with the -bias keyword to only allow the x component of velocity to contribute -to the temperature, then adof = 1.0 would be appropriate. -

    -

    If each chunk consists of a large molecule, with some number of its -bonds constrained by fix shake or the entire molecule -by fix rigid/small, adof = 0.0 and cdof could be +translational, 3 rotational) per molecule by setting adof to 2.0.

    +

    If compute temp/partial is used with the +bias keyword to only allow the x component of velocity to contribute +to the temperature, then adof = 1.0 would be appropriate.

    +

    If each chunk consists of a large molecule, with some number of its +bonds constrained by fix shake or the entire molecule +by fix rigid/small, adof = 0.0 and cdof could be set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid -molecule. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +molecule.

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of chunk info will be written to a text file in the following format. A line with the timestep and number of chunks is written. Then one line per chunk is written, containing the chunk @@ -365,64 +433,52 @@ the chunk, and one or more calculated values. More explanation of the optional values is given below. The number of values in each line corresponds to the number of values specified in the fix ave/chunk command. The number of atoms and the value(s) are summed or average -quantities, as explained above. -

    -

    The overwrite keyword will continuously overwrite the output file +quantities, as explained above.

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows: -

    -
    # Chunk-averaged data for fix ID and group name
    -# Timestep Number-of-chunks
    -# Chunk (OrigID) (Coord1) (Coord2) (Coord3) Ncount value1 value2 ... 
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows:

    +
    # Chunk-averaged data for fix ID and group name
    +# Timestep Number-of-chunks
    +# Chunk (OrigID) (Coord1) (Coord2) (Coord3) Ncount value1 value2 ...
    +
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are -replaced with the appropriate value names, e.g. fx or c_myCompute2. -

    -

    The words in parenthesis only appear with corresponding columns if the -chunk style specified for the compute -chunk/atom command supports them. The OrigID -column is only used if the compress keyword was set to yes for the -compute chunk/atom command. This means that +replaced with the appropriate value names, e.g. fx or c_myCompute**2**.

    +

    The words in parenthesis only appear with corresponding columns if the +chunk style specified for the compute chunk/atom command supports them. The OrigID +column is only used if the compress keyword was set to yes for the +compute chunk/atom command. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned to them. Thus a compresed chunk ID of 3 may correspond to an original chunk ID or molecule ID of -415. The OrigID column will list 415 for the 3rd chunk. -

    -

    The CoordN columns only appear if a binning style was used in the -compute chunk/atom command. For bin/1d, -bin/2d, and bin/3d styles the column values are the center point +415. The OrigID column will list 415 for the 3rd chunk.

    +

    The CoordN columns only appear if a binning style was used in the +compute chunk/atom command. For bin/1d, +bin/2d, and bin/3d styles the column values are the center point of the bin in the corresponding dimension. Just Coord1 is used for -bin/1d, Coord2 is added for bin/2d, Coord3 is added for bin/3d. -

    -

    Note that if the value of the units keyword used in the compute -chunk/atom command is box or lattice, the -coordinate values will be in distance units. If the -value of the units keyword is reduced, the coordinate values will -be in unitless reduced units (0-1). -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +bin/1d, Coord2 is added for bin/2d, Coord3 is added for bin/3d.

    +

    Note that if the value of the units keyword used in the compute chunk/atom command is box or lattice, the +coordinate values will be in distance units. If the +value of the units keyword is reduced, the coordinate values will +be in unitless reduced units (0-1).

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = -the number of chunks Nchunk as calculated by the specified compute -chunk/atom command. The # of columns = +the number of chunks Nchunk as calculated by the specified compute chunk/atom command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional columns for OrigID and CoordN are used, as explained above. Following the optional columns, the next column contains the count of @@ -431,27 +487,90 @@ quantities. When the array is accessed with a row I that exceeds the current number of chunks, than a 0.0 is returned by the fix instead of an error, since the number of chunks can vary as a simulation runs depending on how that value is computed by the compute chunk/atom -command. -

    -

    The array values calculated by this fix are treated as "intensive", +command.

    +

    The array values calculated by this fix are treated as “intensive”, since they are typically already normalized by the count of atoms in -each chunk. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix ave/atom, fix -ave/histo, fix ave/time, -variable, fix ave/correlate -

    -

    Default: -

    -

    The option defaults are norm = all, ave = one, bias = none, no file output, and -title 1,2,3 = strings as described above. -

    - +each chunk.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are norm = all, ave = one, bias = none, no file output, and +title 1,2,3 = strings as described above.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_correlate.html b/doc/fix_ave_correlate.html index eda6a0785b..f5bd22a971 100644 --- a/doc/fix_ave_correlate.html +++ b/doc/fix_ave_correlate.html @@ -1,349 +1,479 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/correlate command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/correlate command -

    -

    Syntax: -

    -
    fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/correlate = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of correlation time windows to accumulate - -
    • Nfreq = calculate tine window averages every this many timesteps - -
    • one or more input values can be listed - -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name - -
        c_ID = global scalar calculated by a compute with ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/correlate command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/correlate = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of correlation time windows to accumulate
      • +
      • Nfreq = calculate tine window averages every this many timesteps
      • +
      • one or more input values can be listed
      • +
      • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
      • +
      +
      c_ID = global scalar calculated by a compute with ID
         c_ID[I] = Ith component of global vector calculated by a compute with ID
         f_ID = global scalar calculated by a fix with ID
         f_ID[I] = Ith component of global vector calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = type or ave or start or prefactor or file or overwrite or title1 or title2 or title3 - -
        type arg = auto or upper or lower or auto/upper or auto/lower or full
      +  v_name = global value calculated by an equal-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = type or ave or start or prefactor or file or overwrite or title1 or title2 or title3
      • +
      +
      +type arg = auto or upper or lower or auto/upper or auto/lower or full
           auto = correlate each value with itself
           upper = correlate each value with each succeeding value
           lower = correlate each value with each preceding value
           auto/upper = auto + upper
           auto/lower = auto + lower
           full = correlate each value with every other value, including itself = auto + upper + lower
      -  ave args = one or running
      +  ave args = one or running
           one = zero the correlation accumulation every Nfreq steps
           running = accumulate correlations continuously
      -  start args = Nstart
      +  start args = Nstart
           Nstart = start accumulating correlations on this timestep
      -  prefactor args = value
      +  prefactor args = value
           value = prefactor to scale all the correlation data by
      -  file arg = filename
      +  file arg = filename
           filename = name of file to output correlation data to
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
    -fix 1 all ave/correlate 1 50 10000 &
    -          c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
    -	  type upper ave running title1 "My correlation data" 
    -
    -

    Description: -

    -

    Use one or more global scalar values as inputs every few timesteps, + title3 arg = string + string = text to print as 3rd line of output file + +

    +
    +

    Examples¶

    +
    fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
    +fix 1 all ave/correlate 1 50 10000 &
    +          c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
    +       type upper ave running title1 "My correlation data"
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more global scalar values as inputs every few timesteps, calculate time correlations bewteen them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by -variables or used by other output -commands such as thermo_style -custom, and can also be written to a file. -

    -

    The group specified with this command is ignored. However, note that +variables or used by other output commands such as thermo_style custom, and can also be written to a file.

    +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. -

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own “group” definitions.

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the fix -ave/spatial, fix ave/atom, -or fix ave/histo commands. If you wish to sum a -per-atom quantity into a single global quantity, see the compute -reduce command. -

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +from a compute, fix, or variable, then see the fix ave/spatial, fix ave/atom, +or fix ave/histo commands. If you wish to sum a +per-atom quantity into a single global quantity, see the compute reduce command.

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values. -

    -

    The input values must either be all scalars. What kinds of +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values.

    +

    The input values must either be all scalars. What kinds of correlations between input values are calculated is determined by the -type keyword as discussed below. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +type keyword as discussed below.

    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to calculate correlation data. -The input values are sampled every Nevery timesteps. The +The input values are sampled every Nevery timesteps. The correlation data for the preceding samples is computed on timesteps -that are a multiple of Nfreq. Consider a set of samples from some +that are a multiple of Nfreq. Consider a set of samples from some initial time up to an output timestep. The initial time could be the -beginning of the simulation or the last output time; see the ave +beginning of the simulation or the last output time; see the ave keyword for options. For the set of samples, the correlation value -Cij is calculated as: -

    -
    Cij(delta) = ave(Vi(t)*Vj(t+delta)) 
    -
    -

    which is the correlation value between input values Vi and Vj, +Cij is calculated as:

    +
    Cij(delta) = ave(Vi(t)*Vj(t+delta))
    +
    +
    +

    which is the correlation value between input values Vi and Vj, separated by time delta. Note that the second value Vj in the pair is always the one sampled at the later time. The ave() represents an average over every pair of samples in the set that are separated by -time delta. The maximum delta used is of size (Nrepeat-1)*Nevery. -Thus the correlation between a pair of input values yields Nrepeat -correlation datums: -

    -
    Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij((Nrepeat-1)*Nevery) 
    -
    -

    For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on +time delta. The maximum delta used is of size (Nrepeat-1)**Nevery*. +Thus the correlation between a pair of input values yields Nrepeat +correlation datums:

    +
    Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij((Nrepeat-1)*Nevery)
    +
    +
    +

    For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on timesteps 0,5,10,15,...,100 will be used to compute the final averages on timestep 100. Six averages will be computed: Cij(0), Cij(5), Cij(10), Cij(15), Cij(20), and Cij(25). Cij(10) on timestep 100 will be the average of 19 samples, namely Vi(0)*Vj(10), Vi(5)*Vj(15), -Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100). -

    -

    Nfreq must be a multiple of Nevery; Nevery and Nrepeat must be -non-zero. Also, if the ave keyword is set to one which is the -default, then Nfreq >= (Nrepeat-1)*Nevery is required. -

    -
    - -

    If a value begins with "c_", a compute ID must follow which has been +Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100).

    +

    Nfreq must be a multiple of Nevery; Nevery and Nrepeat must be +non-zero. Also, if the ave keyword is set to one which is the +default, then Nfreq >= (Nrepeat-1)**Nevery* is required.

    +
    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the compute is used. -

    -

    Note that there is a compute reduce command +calculated by the compute is used.

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/correlate. Or it can be a compute -defined not in your input script, but by thermodynamic -output or other fixes such as fix nvt -or fix temp/rescale. See the doc pages for +defined not in your input script, but by thermodynamic output or other fixes such as fix nvt +or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. Users can also -write code for their own compute styles and add them to -LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the fix is used. -

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to -LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +calculated by the fix is used.

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Only equal-style -variables can be referenced. See the variable command -for details. Note that variables of style equal define a formula +variables can be referenced. See the variable command +for details. Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying -quantities to time correlate. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -

    -

    The type keyword determines which pairs of input values are +quantities to time correlate.

    +
    +

    Additional optional keywords also affect the operation of this fix.

    +

    The type keyword determines which pairs of input values are correlated with each other. For N input values Vi, for i = 1 to N, let the number of pairs = Npair. Note that the second value in the -pair Vi(t)*Vj(t+delta) is always the one sampled at the later time. -

    -
    • If type is set to auto then each input value is correlated with -itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N. - -
    • If type is set -to upper then each input value is correlated with every succeeding -value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2. - -
    • If type is set -to lower then each input value is correlated with every preceeding -value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2. - -
    • If type is set to auto/upper then each input value is correlated -with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, -so Npair = N*(N+1)/2. - -
    • If type is set to auto/lower then each input value is correlated -with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, -so Npair = N*(N+1)/2. - -
    • If type is set to full then each input value is correlated with +pair Vi(t)*Vj(t+delta) is always the one sampled at the later time.

      +
        +
      • If type is set to auto then each input value is correlated with +itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N.
      • +
      • If type is set +to upper then each input value is correlated with every succeeding +value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2.
      • +
      • If type is set +to lower then each input value is correlated with every preceeding +value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2.
      • +
      • If type is set to auto/upper then each input value is correlated +with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, +so Npair = N*(N+1)/2.
      • +
      • If type is set to auto/lower then each input value is correlated +with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, +so Npair = N*(N+1)/2.
      • +
      • If type is set to full then each input value is correlated with itself and every other value. I.e. Cij = Vi*Vj, for i,j = 1,N so -Npair = N^2. -
      -

      The ave keyword determines what happens to the accumulation of -correlation samples every Nfreq timesteps. If the ave setting is -one, then the accumulation is restarted or zeroed every Nfreq -timesteps. Thus the outputs on successive Nfreq timesteps are +Npair = N^2.

    • +
    +

    The ave keyword determines what happens to the accumulation of +correlation samples every Nfreq timesteps. If the ave setting is +one, then the accumulation is restarted or zeroed every Nfreq +timesteps. Thus the outputs on successive Nfreq timesteps are essentially independent of each other. The exception is that the Cij(0) = Vi(T)*Vj(T) value at a timestep T, where T is a multiple of -Nfreq, contributes to the correlation output both at time T and at -time T+Nfreq. -

    -

    If the ave setting is running, then the accumulation is never +Nfreq, contributes to the correlation output both at time T and at +time T+Nfreq.

    +

    If the ave setting is running, then the accumulation is never zeroed. Thus the output of correlation data at any timestep is the -average over samples accumulated every Nevery steps since the fix +average over samples accumulated every Nevery steps since the fix was defined. it can only be restarted by deleting the fix via the -unfix command, or by re-defining the fix by re-specifying -it. -

    -

    The start keyword specifies what timestep the accumulation of +unfix command, or by re-defining the fix by re-specifying +it.

    +

    The start keyword specifies what timestep the accumulation of correlation samples will begin on. The default is step 0. Setting it to a larger value can avoid adding non-equilibrated data to the -correlation averages. -

    -

    The prefactor keyword specifies a constant which will be used as a +correlation averages.

    +

    The prefactor keyword specifies a constant which will be used as a multiplier on the correlation data after it is averaged. It is effectively a scale factor on Vi*Vj, which can be used to account for -the size of the time window or other unit conversions. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +the size of the time window or other unit conversions.

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, an array of correlation data is written to the file. The -number of rows is Nrepeat, as described above. The number of +number of rows is Nrepeat, as described above. The number of columns is the Npair+2, also as described above. Thus the file ends -up to be a series of these array sections. -

    -

    The overwrite keyword will continuously overwrite the output file +up to be a series of these array sections.

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows: -

    -
    # Time-correlated data for fix ID
    -# TimeStep Number-of-time-windows
    -# Index TimeDelta Ncount valueI*valueJ valueI*valueJ ... 
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows:

    +
    # Time-correlated data for fix ID
    +# TimeStep Number-of-time-windows
    +# Index TimeDelta Ncount valueI*valueJ valueI*valueJ ...
    +
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the value pairs are replaced with the -appropriate fields from the fix ave/correlate command. -

    -
    - -

    Let Sij = a set of time correlation data for input values I and J, -namely the Nrepeat values: -

    -
    Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery) 
    -
    -

    As explained below, these datums are output as one column of a global -array, which is effectively the correlation matrix. -

    -

    The trap function defined for equal-style variables +appropriate fields from the fix ave/correlate command.

    +
    +

    Let Sij = a set of time correlation data for input values I and J, +namely the Nrepeat values:

    +
    Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery)
    +
    +
    +

    As explained below, these datums are output as one column of a global +array, which is effectively the correlation matrix.

    +

    The trap function defined for equal-style variables can be used to perform a time integration of this vector of datums, using a trapezoidal rule. This is useful for calculating various quantities which can be derived from time correlation data. If a normalization factor is needed for the time integration, it can be -included in the variable formula or via the prefactor keyword. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +included in the variable formula or via the prefactor keyword.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = -Nrepeat and # of columns = Npair+2. The first column has the time +Nrepeat and # of columns = Npair+2. The first column has the time delta (in timesteps) between the pairs of input values used to calculate the correlation, as described above. The 2nd column has the number of samples contributing to the correlation average, as described above. The remaining Npair columns are for I,J pairs of the -N input values, as determined by the type keyword, as described -above. -

    -
    • For type = auto, the Npair = N columns are ordered: C11, C22, ..., -CNN. - -
    • For type = upper, the Npair = N*(N-1)/2 columns are ordered: C12, -C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N. - -
    • For type = lower, the Npair = N*(N-1)/2 columns are ordered: C21, -C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1. - -
    • For type = auto/upper, the Npair = N*(N+1)/2 columns are ordered: +N input values, as determined by the type keyword, as described +above.

      +
        +
      • For type = auto, the Npair = N columns are ordered: C11, C22, ..., +CNN.
      • +
      • For type = upper, the Npair = N*(N-1)/2 columns are ordered: C12, +C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N.
      • +
      • For type = lower, the Npair = N*(N-1)/2 columns are ordered: C21, +C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1.
      • +
      • For type = auto/upper, the Npair = N*(N+1)/2 columns are ordered: C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N, -CNN. - -
      • For type = auto/lower, the Npair = N*(N+1)/2 columns are ordered: +CNN.
      • +
      • For type = auto/lower, the Npair = N*(N+1)/2 columns are ordered: C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1, -CNN. - -
      • For type = full, the Npair = N^2 columns are ordered: C11, C12, +CNN.
      • +
      • For type = full, the Npair = N^2 columns are ordered: C11, C12, ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, -CNN. -
      -

      The array values calculated by this fix are treated as "intensive". +CNN.

    • +
    +

    The array values calculated by this fix are treated as “intensive”. If you need to divide them by the number of atoms, you must do this in a later processing step, e.g. when using them in a -variable. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix ave/time, fix -ave/atom, fix ave/spatial, -fix ave/histo, variable -

    -

    Default: none -

    -

    The option defaults are ave = one, type = auto, start = 0, no file -output, title 1,2,3 = strings as described above, and prefactor = 1.0. -

    - +variable.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_histo.html b/doc/fix_ave_histo.html index 96e16bd57b..2d627f86fa 100644 --- a/doc/fix_ave_histo.html +++ b/doc/fix_ave_histo.html @@ -1,351 +1,486 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/histo command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/histo command -

    -

    fix ave/histo/weight command -

    -

    Syntax: -

    -
    fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style = ave/histo or ave/histo/weight = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating histogram - -
    • Nfreq = calculate histogram every this many timesteps - -
    • lo,hi = lo/hi bounds within which to histogram - -
    • Nbin = # of histogram bins - -
    • one or more input values can be listed - -
    • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name - -
        x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/histo command¶

      +
      +
      +

      fix ave/histo/weight command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style = ave/histo or ave/histo/weight = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating histogram
      • +
      • Nfreq = calculate histogram every this many timesteps
      • +
      • lo,hi = lo/hi bounds within which to histogram
      • +
      • Nbin = # of histogram bins
      • +
      • one or more input values can be listed
      • +
      • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
      • +
      +
      x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
         c_ID = scalar or vector calculated by a compute with ID
         c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
         f_ID = scalar or vector calculated by a fix with ID
         f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
      -  v_name = value(s) calculated by an equal-style or atom-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = mode or file or ave or start or beyond or overwrite or title1 or title2 or title3 - -
        mode arg = scalar or vector
      +  v_name = value(s) calculated by an equal-style or atom-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = mode or file or ave or start or beyond or overwrite or title1 or title2 or title3
      • +
      +
      +mode arg = scalar or vector
           scalar = all input values are scalars
           vector = all input values are vectors
      -  file arg = filename
      +  file arg = filename
           filename = name of file to output histogram(s) to
      -  ave args = one or running or window
      +  ave args = one or running or window
           one = output a new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  start args = Nstart
      +  start args = Nstart
           Nstart = start averaging on this timestep
      -  beyond arg = ignore or end or extra
      +  beyond arg = ignore or end or extra
           ignore = ignore values outside histogram lo/hi bounds
           end = count values outside histogram lo/hi bounds in end bins
           extra = create 2 extra bins for value outside histogram lo/hi bounds
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file, only for vector mode 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
    -fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values"
    -fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra 
    -fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2] 
    -
    -

    Description: -

    -

    Use one or more values as inputs every few timesteps, histogram them, + title3 arg = string + string = text to print as 3rd line of output file, only for vector mode + +

    +
    +

    Examples¶

    +
    fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
    +fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values"
    +fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
    +fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2]
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more values as inputs every few timesteps, histogram them, and average the histogram over longer timescales. The resulting -histogram can be used by other output -commands, and can also be written to a +histogram can be used by other output commands, and can also be written to a file. The fix ave/histo/weight command has identical syntax to fix ave/histo, except that exactly two values must be specified. See -details below. -

    -

    The group specified with this command is ignored for global and local +details below.

    +

    The group specified with this command is ignored for global and local input values. For per-atom input values, only atoms in the group contribute to the histogram. Note that regardless of the specified group, specified values may represent calculations performed by -computes and fixes which store their own "group" definition. -

    -

    A histogram is simply a count of the number of values that fall within -a histogram bin. Nbins are defined, with even spacing between lo -and hi. Values that fall outside the lo/hi bounds can be treated in -different ways; see the discussion of the beyond keyword below. -

    -

    Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a compute or -fix or the evaluation of an equal-style or atom-style -variable. The set of input values can be either all +computes and fixes which store their own “group” definition.

    +

    A histogram is simply a count of the number of values that fall within +a histogram bin. Nbins are defined, with even spacing between lo +and hi. Values that fall outside the lo/hi bounds can be treated in +different ways; see the discussion of the beyond keyword below.

    +

    Each input value can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an equal-style or atom-style +variable. The set of input values can be either all global, all per-atom, or all local quantities. Inputs of different kinds (e.g. global and per-atom) cannot be mixed. Atom attributes are -per-atom vector values. See the doc page for individual "compute" and -"fix" commands to see what kinds of quantities they generate. -

    -

    The input values must either be all scalars or all vectors (or -arrays), depending on the setting of the mode keyword. -

    -

    Note that the output of this command is a single histogram for all +per-atom vector values. See the doc page for individual “compute” and +“fix” commands to see what kinds of quantities they generate.

    +

    The input values must either be all scalars or all vectors (or +arrays), depending on the setting of the mode keyword.

    +

    Note that the output of this command is a single histogram for all input values combined together, not one histogram per input value. -See below for details on the format of the output of this fix. -

    -

    If mode = vector, then the input values may either be vectors or +See below for details on the format of the output of this fix.

    +

    If mode = vector, then the input values may either be vectors or arrays. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. -E.g. these 2 fix ave/histo commands are equivalent, since the compute -com/chunk command creates a global array -with 3 columns: -

    -
    compute myCOM all com/chunk
    +E.g. these 2 fix ave/histo commands are equivalent, since the compute com/chunk command creates a global array
    +with 3 columns:

    +
    compute myCOM all com/chunk
     fix 1 all ave/histo 100 1 100 c_myCOM file tmp1.com mode vector
    -fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector 
    -
    -

    If the fix ave/histo/weight command is used, exactly two values must +fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector +

    + +

    If the fix ave/histo/weight command is used, exactly two values must be specified. If the values are vectors, they must be the same length. The first value (a scalar or vector) is what is histogrammed into bins, in the same manner the fix ave/histo command operates. The -second value (a scalar or vector) is used as a "weight". This means -that instead of each value tallying a "1" to its bin, the +second value (a scalar or vector) is used as a “weight”. This means +that instead of each value tallying a “1” to its bin, the corresponding weight is tallied. E.g. the Nth entry in the first -vector tallies the Nth entry (weight) in the second vector. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +vector tallies the Nth entry (weight) in the second vector.

    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are -multiple of Nfreq. It is averaged over Nrepeat histograms, -computed in the preceding portion of the simulation every Nevery -timesteps. Nfreq must be a multiple of Nevery and Nevery must -be non-zero even if Nrepeat is 1. Also, the timesteps contributing -to the histogram cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is -required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values +multiple of Nfreq. It is averaged over Nrepeat histograms, +computed in the preceding portion of the simulation every Nevery +timesteps. Nfreq must be a multiple of Nevery and Nevery must +be non-zero even if Nrepeat is 1. Also, the timesteps contributing +to the histogram cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is +required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values on timesteps 90,92,94,96,98,100 will be used to compute the final histogram on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging of the histogram is done; a histogram is -simply generated on timesteps 100,200,etc. -

    -
    - -

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are +simply generated on timesteps 100,200,etc.

    +
    +

    The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If mode = scalar, then if +inputs to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +

    If a value begins with “c_”, a compute ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If mode = +the global vector calculated by the compute is used. If mode = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or -per-atom or local array calculated by the compute is used. -

    -

    Note that there is a compute reduce command +per-atom or local array calculated by the compute is used.

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/histo. Or it can be a compute defined -not in your input script, but by thermodynamic -output or other fixes such as fix -nvt or fix temp/rescale. See +not in your input script, but by thermodynamic output or other fixes such as fix nvt or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. -Users can also write code for their own compute styles and add them -to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If mode = scalar, then if +Users can also write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If mode = vector, then +global vector calculated by the fix is used. If mode = vector, then if no bracketed term is appended, the global or per-atom or local vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global or per-atom -or local array calculated by the fix is used. -

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to -LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. If mode = scalar, then +or local array calculated by the fix is used.

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has +been previously defined in the input script. If mode = scalar, then only equal-style variables can be used, which produce a global value. -If mode = vector, then only atom-style variables can be used, which -produce a per-atom vector. See the variable command -for details. Note that variables of style equal and atom define a +If mode = vector, then only atom-style variables can be used, which +produce a per-atom vector. See the variable command +for details. Note that variables of style equal and atom define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of -specifying quantities to histogram. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -

    -

    If the mode keyword is set to scalar, then all input values must -be global scalars, or elements of global vectors. If the mode -keyword is set to vector, then all input values must be global or +specifying quantities to histogram.

    +
    +

    Additional optional keywords also affect the operation of this fix.

    +

    If the mode keyword is set to scalar, then all input values must +be global scalars, or elements of global vectors. If the mode +keyword is set to vector, then all input values must be global or per-atom or local vectors, or columns of global or per-atom or local -arrays. -

    -

    The beyond keyword determines how input values that fall outside the -lo to hi bounds are treated. Values such that lo <= value <= -hi are assigned to one bin. Values on a bin boundary are assigned -to the lower of the 2 bins. If beyond is set to ignore then -values < lo and values > hi are ignored, i.e. they are not binned. -If beyond is set to end then values < lo are counted in the -first bin and values > hi are counted in the last bin. If beyond -is set to extend then two extra bins are created, so that there are -Nbins+2 total bins. Values < lo are counted in the first bin and -values > hi are counted in the last bin (Nbins+1). Values between -lo and hi (inclusive) are counted in bins 2 thru Nbins+1. The -"coordinate" stored and printed for these two extra bins is lo and -hi. -

    -

    The ave keyword determines how the histogram produced every Nfreq +arrays.

    +

    The beyond keyword determines how input values that fall outside the +lo to hi bounds are treated. Values such that lo <= value <= +hi are assigned to one bin. Values on a bin boundary are assigned +to the lower of the 2 bins. If beyond is set to ignore then +values < lo and values > hi are ignored, i.e. they are not binned. +If beyond is set to end then values < lo are counted in the +first bin and values > hi are counted in the last bin. If beyond +is set to extend then two extra bins are created, so that there are +Nbins+2 total bins. Values < lo are counted in the first bin and +values > hi are counted in the last bin (Nbins+1). Values between +lo and hi (inclusive) are counted in bins 2 thru Nbins+1. The +“coordinate” stored and printed for these two extra bins is lo and +hi.

    +

    The ave keyword determines how the histogram produced every Nfreq steps are averaged with histograms produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, then the histograms produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging. -

    -

    If the ave setting is running, then the histograms produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, then the histograms produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging.

    +

    If the ave setting is running, then the histograms produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each bin value in the histogram is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix -via the unfix command, or by re-defining the fix by -re-specifying it. -

    -

    If the ave setting is window, then the histograms produced on -timesteps that are multiples of Nfreq are summed within a moving -"window" of time, so that the last M histograms are used to produce +via the unfix command, or by re-defining the fix by +re-specifying it.

    +

    If the ave setting is window, then the histograms produced on +timesteps that are multiples of Nfreq are summed within a moving +“window” of time, so that the last M histograms are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the combined histogram of the individual histograms on steps 8000,9000,10000. Outputs on early steps will be sums over less -than M histograms if they are not available. -

    -

    The start keyword specifies what timestep histogramming will begin +than M histograms if they are not available.

    +

    The start keyword specifies what timestep histogramming will begin on. The default is step 0. Often input values can be 0.0 at time 0, -so setting start to a larger value can avoid including a 0.0 in -a running or windowed histogram. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +so setting start to a larger value can avoid including a 0.0 in +a running or windowed histogram.

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, one histogram is written to the file. This includes a leading line that contains the timestep, number of bins, the total count of values contributing to the histogram, the count of values that were -not histogrammed (see the beyond keyword), the minimum value +not histogrammed (see the beyond keyword), the minimum value encountered, and the maximum value encountered. The min/max values include values that were not histogrammed. Following the leading line, one line per bin is written into the file. Each line contains -the bin #, the coordinate for the center of the bin (between lo and -hi), the count of values in the bin, and the normalized count. The +the bin #, the coordinate for the center of the bin (between lo and +hi), the count of values in the bin, and the normalized count. The normalized count is the bin count divided by the total count (not including values not histogrammed), so that the normalized values sum -to 1.0 across all bins. -

    -

    The overwrite keyword will continuously overwrite the output file +to 1.0 across all bins.

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows: -

    -
    # Histogram for fix ID
    -# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value
    -# Bin Coord Count Count/Total 
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows:

    +
    # Histogram for fix ID
    +# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value
    +# Bin Coord Count Count/Total
    +
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the six values that are printed at the first of each section of output. The third describes the 4 values printed for each bin in -the histogram. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix produces a global vector and global array which can be -accessed by various output commands. +the histogram.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix produces a global vector and global array which can be +accessed by various output commands. The values can only be accessed on timesteps that are multiples of -Nfreq since that is when a histogram is generated. The global -vector has 4 values: -

    -
    • 1 = total counts in the histogram -
    • 2 = values that were not histogrammed (see beyond keyword) -
    • 3 = min value of all input values, including ones not histogrammed -
    • 4 = max value of all input values, including ones not histogrammed -
    -

    The global array has # of rows = Nbins and # of columns = 3. The +Nfreq since that is when a histogram is generated. The global +vector has 4 values:

    +
      +
    • 1 = total counts in the histogram
    • +
    • 2 = values that were not histogrammed (see beyond keyword)
    • +
    • 3 = min value of all input values, including ones not histogrammed
    • +
    • 4 = max value of all input values, including ones not histogrammed
    • +
    +

    The global array has # of rows = Nbins and # of columns = 3. The first column has the bin coordinate, the 2nd column has the count of values in that histogram bin, and the 3rd column has the bin count divided by the total count (not including missing counts), so that the -values in the 3rd column sum to 1.0. -

    -

    The vector and array values calculated by this fix are all treated as -"intensive". If this is not the case, e.g. due to histogramming +values in the 3rd column sum to 1.0.

    +

    The vector and array values calculated by this fix are all treated as +“intensive”. If this is not the case, e.g. due to histogramming per-atom input values, then you will need to account for that when -interpreting the values produced by this fix. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix ave/atom, fix -ave/spatial, fix ave/time, -variable, fix ave/correlate, -

    -

    Default: none -

    -

    The option defaults are mode = scalar, ave = one, start = 0, no file -output, beyond = ignore, and title 1,2,3 = strings as described above. -

    - +interpreting the values produced by this fix.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_spatial.html b/doc/fix_ave_spatial.html index 9d41f243ac..4070005cfd 100644 --- a/doc/fix_ave_spatial.html +++ b/doc/fix_ave_spatial.html @@ -1,353 +1,430 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/spatial command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/spatial command -

    -

    Syntax: -

    -
    fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta ... value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/spatial = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps - -
    • dim, origin, delta can be repeated 1, 2, or 3 times for 1d, 2d, or 3d bins - -
        dim = x or y or z
      -  origin = lower or center or upper or coordinate value (distance units)
      -  delta = thickness of spatial bins in dim (distance units) 
      -
      -
    • one or more input values can be listed - -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name - -
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/spatial command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta ... value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/spatial = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps
      • +
      • dim, origin, delta can be repeated 1, 2, or 3 times for 1d, 2d, or 3d bins
      • +
      +
      +dim = x or y or z
      +  origin = lower or center or upper or coordinate value (distance units)
      +  delta = thickness of spatial bins in dim (distance units)
      +
      +
        +
      • one or more input values can be listed
      • +
      • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
      • +
      +
      vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = region or bound or discard or norm or ave or units or file or overwrite or title1 or title2 or title3 - -
        region arg = region-ID
      -  bound args = x/y/z lo hi
      -    x/y/z = x or y or z to bound bins in this dimension
      -    lo = lower or coordinate value (distance units)
      -    hi = upper or coordinate value (distance units)
      -  discard arg = mixed or no or yes
      +  v_name = per-atom vector calculated by an atom-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = region or bound or discard or norm or ave or units or file or overwrite or title1 or title2 or title3
      • +
      +
      +region arg = region-ID
      +  bound args = x/y/z lo hi
      +    x/y/z = x or y or z to bound bins in this dimension
      +    lo = lower or coordinate value (distance units)
      +    hi = upper or coordinate value (distance units)
      +  discard arg = mixed or no or yes
           mixed = discard atoms outside bins only if bin bounds are explicitly set
           no = always keep out-of-bounds atoms
           yes = always discard out-of-bounds atoms
      -  norm arg = all or sample
      +  norm arg = all or sample
           region-ID = ID of region atoms must be in to contribute to spatial averaging
      -  ave args = one or running or window M
      +  ave args = one or running or window M
           one = output new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  units arg = box or lattice or reduced
      -  file arg = filename
      +  units arg = box or lattice or reduced
      +  file arg = filename
           filename = file to write results to
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/spatial 10000 1 10000 z lower 0.02 c_myCentro units reduced &
    -                      title1 "My output values"
    +  title3 arg = string
    +    string = text to print as 3rd line of output file
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all ave/spatial 10000 1 10000 z lower 0.02 c_myCentro units reduced &
    +                      title1 "My output values"
     fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
     fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass ave running
    -fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass bound y 5.0 20.0 discard yes ave running 
    -
    -

    IMPORTANT NOTE: -

    -

    The fix ave/spatial command has been replaced by the more flexible -fix ave/chunk and compute -chunk/atom commands. The fix ave/spatial -command will be removed from LAMMPS sometime in the summer of 2015. -

    -

    Any fix ave/spatial command can be replaced by the two new commands. +fix 1 flow ave/spatial 100 5 1000 z lower 1.0 y 0.0 2.5 density/mass bound y 5.0 20.0 discard yes ave running +

    +
    +

    IMPORTANT NOTE:

    +

    The fix ave/spatial command has been replaced by the more flexible +fix ave/chunk and compute chunk/atom commands. The fix ave/spatial +command will be removed from LAMMPS sometime in the summer of 2015.

    +

    Any fix ave/spatial command can be replaced by the two new commands. You simply need to split the fix ave/spatial arguments across the two -new commands. For example, this command: -

    -
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile 
    -
    -

    could be replaced by: -

    -
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0 
    -fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile 
    -
    -

    Description: -

    -

    Use one or more per-atom vectors as inputs every few timesteps, bin +new commands. For example, this command:

    +
    fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
    +
    +
    +

    could be replaced by:

    +
    compute cc1 flow chunk/atom bin/1d y 0.0 1.0
    +fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into 1d, 2d, or 3d bins based on current atom coordinates, and average the bin values over longer timescales. The -resulting bin averages can be used by other output -commands such as thermo_style -custom, and can also be written to a file. -

    -

    The group specified with the command means only atoms within the group -contribute to bin averages. If the region keyword is used, the atom +resulting bin averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    +

    The group specified with the command means only atoms within the group +contribute to bin averages. If the region keyword is used, the atom must be in both the specified group and the specified geometric -region in order to contribute to bin averages. -

    -

    Each listed value can be an atom attribute (position, velocity, force +region in order to contribute to bin averages.

    +

    Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a -compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix -ave/time command. -

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +compute, fix, or variable, then see the fix ave/time command.

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities. -

    -

    The per-atom values of each input vector are binned and averaged -independently of the per-atom values in other input vectors. -

    -

    The size and dimensionality of the bins (1d = layers or slabs, 2d = -pencils, 3d = boxes) are determined by the dim, origin, and -delta settings and how many times they are specified (1, 2, or 3). -See details below. -

    -

    IMPORTANT NOTE: This fix works by creating an array of size Nbins by +produce global quantities.

    +

    The per-atom values of each input vector are binned and averaged +independently of the per-atom values in other input vectors.

    +

    The size and dimensionality of the bins (1d = layers or slabs, 2d = +pencils, 3d = boxes) are determined by the dim, origin, and +delta settings and how many times they are specified (1, 2, or 3). +See details below.

    +
    +

    Warning

    +

    This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a large number of bins (easy to do for 2d or 3d bins) will incur an overhead in memory and computational cost (summing across processors), -so be careful to use reasonable numbers of bins. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +so be careful to use reasonable numbers of bins.

    +
    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc. -

    -
    - -

    Each per-atom property is also averaged over atoms in each bin. The -way the averaging is one across the Nrepeat timesteps to produce -output on the Nfreq timesteps, and across multiple Nfreq outputs, -is determined by the norm and av keyword settings, as discussed -below. -

    -

    Bins can be 1d layers or slabs, 2d pencils, or 3d boxes. This depends -on how many times (1, 2, or 3) the dim, origin, and delta +100,200,etc.

    +
    +

    Each per-atom property is also averaged over atoms in each bin. The +way the averaging is one across the Nrepeat timesteps to produce +output on the Nfreq timesteps, and across multiple Nfreq outputs, +is determined by the norm and av keyword settings, as discussed +below.

    +

    Bins can be 1d layers or slabs, 2d pencils, or 3d boxes. This depends +on how many times (1, 2, or 3) the dim, origin, and delta settings are specified in the fix ave/spatial command. For 2d or 3d bins, there is no restriction on specifying dim = x before dim = y, or -dim = y before dim = z. Bins in a particular dim have a bin size in -that dimension given by delta. Every Nfreq steps, when averaging is +dim = y before dim = z. Bins in a particular dim have a bin size in +that dimension given by delta. Every Nfreq steps, when averaging is being performed and the per-atom property is calculated for the first time, the number of bins and the bin sizes and boundaries are computed. Thus if the simulation box changes size during a simulation, the number of bins and their boundaries may also change. -In each dimension, bins are defined relative to a specified origin, +In each dimension, bins are defined relative to a specified origin, which may be the lower/upper edge of the simulation box in that dimension, or its center point, or a specified coordinate value. Starting at the origin, sufficient bins are created in both directions to completely span the bin extent in that dimension. By default the -bin extent is the entire simulation box. -

    -

    The bound keyword can be used one or more times to limit the extent +bin extent is the entire simulation box.

    +

    The bound keyword can be used one or more times to limit the extent of bin coverage in specified dimensions, i.e. to only bin a portion of -the box. If the lo setting is lower or the hi setting is -upper, the bin extent in that direction extends to the box boundary. -If a numeric value is used for lo and/or hi, then the bin extent -in the lo or hi direction extends only to that value, which is +the box. If the lo setting is lower or the hi setting is +upper, the bin extent in that direction extends to the box boundary. +If a numeric value is used for lo and/or hi, then the bin extent +in the lo or hi direction extends only to that value, which is assumed to be inside (or at least near) the simulation box boundaries, -though LAMMPS does not check for this. -

    -

    On each sampling timestep, each atom is mapped to the bin it currently +though LAMMPS does not check for this.

    +

    On each sampling timestep, each atom is mapped to the bin it currently belongs to, based on its current position. Note that the group-ID and region keyword can exclude specific atoms from this operation, as discussed above. Note that between reneighboring timesteps, atoms can move outside the current simulation box. If the box is periodic (in that dimension) the atom is remapping into the periodic box for purposes of binning. If the box in not periodic, the atom may have -moved outside the bounds of any bin. -

    -

    The discard keyword determines what is done with any atom which is -outside the bounds of any bin. If discard is set to yes, the atom -will be ignored and not contribute to any bin averages. If discard -is set to no, the atom will be counted as if it were in the first or -last bin in that dimension. If (discard is set to mixed, which is +moved outside the bounds of any bin.

    +

    The discard keyword determines what is done with any atom which is +outside the bounds of any bin. If discard is set to yes, the atom +will be ignored and not contribute to any bin averages. If discard +is set to no, the atom will be counted as if it were in the first or +last bin in that dimension. If (discard* is set to mixed, which is the default, it will only be counted in the first or last bin if bins extend to the box boundary in that dimension. This is the case if the -bound keyword settings are lower and upper, which is the -default. If the bound keyword settings are numeric values, then the +bound keyword settings are lower and upper, which is the +default. If the bound keyword settings are numeric values, then the atom will be ignored if it is outside the bounds of any bin. Note that in this case, it is possible that the first or last bin extends -beyond the numeric bounds settings, depending on the specified -origin. If this is the case, the atom is only ignored if it is +beyond the numeric bounds settings, depending on the specified +origin. If this is the case, the atom is only ignored if it is outside the first or last bin, not if it is simply outside the numeric -bounds setting. -

    -

    For orthogonal simulation boxes, the bins are also layers, pencils, or +bounds setting.

    +

    For orthogonal simulation boxes, the bins are also layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bins are so that they are -parallel to the tilted faces of the simulation box. See this -section of the manual for a discussion of +parallel to the tilted faces of the simulation box. See this section of the manual for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the "b" cross "c" -direction. Bins in y have faces normal to the "a" cross "c" -direction. And bins in z have faces normal to the "a" cross "b" +bins in the x dimension have faces with normals in the “b” cross “c” +direction. Bins in y have faces normal to the “a” cross “c” +direction. And bins in z have faces normal to the “a” cross “b” direction. Note that in order to define the size and position of -these bins in an unambiguous fashion, the units option must be set -to reduced when using a triclinic simulation box, as noted below. -

    -
    - -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +these bins in an unambiguous fashion, the units option must be set +to reduced when using a triclinic simulation box, as noted below.

    +
    +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can -be used as inputs to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    The density/number value means the number density is computed in -each bin, i.e. a weighting of 1 for each atom. The density/mass +be used as inputs to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +

    The density/number value means the number density is computed in +each bin, i.e. a weighting of 1 for each atom. The density/mass value means the mass density is computed in each bind, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are -output. See the units command doc page for the -definition of density for each choice of units, e.g. gram/cm^3. -

    -

    If a value begins with "c_", a compute ID must follow which has been +output. See the units command doc page for the +definition of density for each choice of units, e.g. gram/cm^3.

    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to spatially average. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -The region, bound, and discard keywords were discussed above. -

    -

    The norm keyword affects how averaging is done for the output -produced every Nfreq timesteps. For an all setting, a bin -quantity is summed over all atoms in all Nrepeat samples, as is the +quantities to spatially average.

    +
    +

    Additional optional keywords also affect the operation of this fix. +The region, bound, and discard keywords were discussed above.

    +

    The norm keyword affects how averaging is done for the output +produced every Nfreq timesteps. For an all setting, a bin +quantity is summed over all atoms in all Nrepeat samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over -the entire Nfreq timescale. -

    -

    For a sample setting, the bin quantity is summed over atoms for only -a single sample, as is the count, and a "average sample value" is +the entire Nfreq timescale.

    +

    For a sample setting, the bin quantity is summed over atoms for only +a single sample, as is the count, and a “average sample value” is computed, i.e. Sample-quantity / Sample-count. The printed value for -the bin is the average of the Nrepeat "average sample values", In -other words it is an average of an average. -

    -

    The ave keyword determines how the bin values produced every Nfreq +the bin is the average of the Nrepeat “average sample values”, In +other words it is an average of an average.

    +

    The ave keyword determines how the bin values produced every Nfreq steps are averaged with bin values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, then the bin values produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging. -

    -

    If the ave setting is running, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, then the bin values produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging.

    +

    If the ave setting is running, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it. -

    -

    If the ave setting is window, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving "window" of time, so that the last M values for the same bin +the unfix command, or re-defining the fix by +re-specifying it.

    +

    If the ave setting is window, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving “window” of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average -over less than M values if they are not available. -

    -

    The units keyword determines the meaning of the distance units used -for the bin size delta and for origin and bounds values if they +over less than M values if they are not available.

    +

    The units keyword determines the meaning of the distance units used +for the bin size delta and for origin and bounds values if they are coordinate value. For orthogonal simulation boxes, any of the 3 options may be used. For non-orthogonal (triclinic) simulation boxes, -only the reduced option may be used. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing. A reduced value means normalized +only the reduced option may be used.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing. A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper -faces of the simulation box respectively. Thus an origin value of -0.5 means the center of the box in any dimension. A delta value of -0.1 means 10 bins span the box in that dimension. -

    -

    Consider a non-orthogonal box, with bins that are 1d layers or slabs -in the x dimension. No matter how the box is tilted, an origin of -0.0 means start layers at the lower "b" cross "c" plane of the -simulation box and an origin of 1.0 means to start layers at the -upper "b" cross "c" face of the box. A delta value of 0.1 means +faces of the simulation box respectively. Thus an origin value of +0.5 means the center of the box in any dimension. A delta value of +0.1 means 10 bins span the box in that dimension.

    +

    Consider a non-orthogonal box, with bins that are 1d layers or slabs +in the x dimension. No matter how the box is tilted, an origin of +0.0 means start layers at the lower “b” cross “c” plane of the +simulation box and an origin of 1.0 means to start layers at the +upper “b” cross “c” face of the box. A delta value of 0.1 means there will be 10 layers from 0.0 to 1.0, regardless of the current -size or shape of the simulation box. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +size or shape of the simulation box.

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID @@ -355,45 +432,39 @@ written. Then one line per bin is written, containing the bin ID in the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average -quantities. If the value of the units keyword is box or -lattice, the "coord" is printed in box units. If the value of the -units keyword is reduced, the "coord" is printed in reduced units -(0-1). -

    -

    The overwrite keyword will continuously overwrite the output file +quantities. If the value of the units keyword is box or +lattice, the “coord” is printed in box units. If the value of the +units keyword is reduced, the “coord” is printed in reduced units +(0-1).

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows: -

    -
    # Spatial-averaged data for fix ID and group name
    -# Timestep Number-of-bins
    -# Bin Coord1 Coord2 Coord3 Count value1 value2 ... 
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows:

    +
    # Spatial-averaged data for fix ID and group name
    +# Timestep Number-of-bins
    +# Bin Coord1 Coord2 Coord3 Count value1 value2 ...
    +
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by -just Coord. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +just Coord.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = Ndim+1+Nvalues, where Ndim = 1,2,3 for 1d,2d,3d bins. The first 1 or 2 or 3 columns have the bin coordinates @@ -404,32 +475,93 @@ the current number of bins, than a 0.0 is returned by the fix instead of an error, since the number of bins can vary as a simulation runs, depending on the simulation box size. 2d or 3d bins are ordered so that the last dimension(s) vary fastest. The array values calculated -by this fix are "intensive", since they are already normalized by the -count of atoms in each bin. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    When the ave keyword is set to running or window then the number +by this fix are “intensive”, since they are already normalized by the +count of atoms in each bin.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    When the ave keyword is set to running or window then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the -simulation box size doesn't change or if the units keyword is set to -reduced. -

    -

    Related commands: -

    -

    compute, fix ave/atom, fix -ave/histo, fix ave/time, -variable, fix ave/correlate, -fix ave/spatial/sphere -

    -

    Default: -

    -

    The option defaults are bound = lower and upper in all dimensions, +simulation box size doesn’t change or if the units keyword is set to +reduced.

    +
    + +
    +

    Default¶

    +

    The option defaults are bound = lower and upper in all dimensions, discard = mixed, norm = all, ave = one, units = lattice, no file -output, and title 1,2,3 = strings as described above. -

    - +output, and title 1,2,3 = strings as described above.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_spatial_sphere.html b/doc/fix_ave_spatial_sphere.html index d7d55d7257..bd31e9769f 100644 --- a/doc/fix_ave_spatial_sphere.html +++ b/doc/fix_ave_spatial_sphere.html @@ -1,259 +1,341 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/spatial/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/spatial/sphere command -

    -

    Syntax: -

    -
    fix ID group-ID ave/spatial/sphere Nevery Nrepeat Nfreq origin_x origin_y origin_z r_min r_max nbins value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/spatial = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps - -
    • origin_x, origin_y, origin_z = center of the sphere. can be the result of variables or computes (see below) - -
    • r_min = radial distance at which binning begins - -
    • r_max = radial distance at which binning ends - -
    • nbins = number of spherical shells to create between r_min and r_max - -
    • one or more input values can be listed - -
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name - -
        vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/spatial/sphere command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/spatial/sphere Nevery Nrepeat Nfreq origin_x origin_y origin_z r_min r_max nbins value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/spatial = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps
      • +
      • origin_x, origin_y, origin_z = center of the sphere. can be the result of variables or computes (see below)
      • +
      • r_min = radial distance at which binning begins
      • +
      • r_max = radial distance at which binning ends
      • +
      • nbins = number of spherical shells to create between r_min and r_max
      • +
      • one or more input values can be listed
      • +
      • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
      • +
      +
      vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
         density/number, density/mass = number or mass density
         c_ID = per-atom vector calculated by a compute with ID
         c_ID[I] = Ith column of per-atom array calculated by a compute with ID
         f_ID = per-atom vector calculated by a fix with ID
         f_ID[I] = Ith column of per-atom array calculated by a fix with ID
      -  v_name = per-atom vector calculated by an atom-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = region or norm or units or ave or file or overwrite or title1 or title2 or title3 - -
        region arg = region-ID
      +  v_name = per-atom vector calculated by an atom-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = region or norm or units or ave or file or overwrite or title1 or title2 or title3
      • +
      +
      +region arg = region-ID
           region-ID = ID of region atoms must be in to contribute to spatial averaging
      -  norm arg = all or sample
      -  units arg = box or lattice or reduced
      -  ave args = one or running or window M
      +  norm arg = all or sample
      +  units arg = box or lattice or reduced
      +  ave args = one or running or window M
           one = output new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  file arg = filename
      +  file arg = filename
           filename = file to write results to
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/spatial/sphere 10000 1 10000 0.5 0.5 0.5 0.1 0.5 5 density/number vx vy vz units reduced title1 "My output values"
    -fix 1 flow ave/spatial/sphere 100 10 1000 20.0 20.0 20.0 0.0 20.0 20 vx vz norm sample file vel.profile 
    -
    -

    Description: -

    -

    Use one or more per-atom vectors as inputs every few timesteps, bin + title3 arg = string + string = text to print as 3rd line of output file + +

    +
    +

    Examples¶

    +
    fix 1 all ave/spatial/sphere 10000 1 10000 0.5 0.5 0.5 0.1 0.5 5 density/number vx vy vz units reduced title1 "My output values"
    +fix 1 flow ave/spatial/sphere 100 10 1000 20.0 20.0 20.0 0.0 20.0 20 vx vz norm sample file vel.profile
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more per-atom vectors as inputs every few timesteps, bin their values spatially into spherical shells based on current atom coordinates, and average the bin values over longer timescales. The -resulting bin averages can be used by other output -commands such as thermo_style -custom, and can also be written to a file. -

    -

    The group specified with the command means only atoms within the group -contribute to bin averages. If the region keyword is used, the atom +resulting bin averages can be used by other output commands such as thermo_style custom, and can also be written to a file.

    +

    The group specified with the command means only atoms within the group +contribute to bin averages. If the region keyword is used, the atom must be in both the group and the specified geometric -region in order to contribute to bin averages. -

    -

    Each listed value can be an atom attribute (position, velocity, force +region in order to contribute to bin averages.

    +

    Each listed value can be an atom attribute (position, velocity, force component), a mass or number density, or the result of a -compute or fix or the evaluation of an -atom-style variable. In the latter cases, the +compute or fix or the evaluation of an +atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the fix -ave/time command. -

    -

    Computes that produce per-atom quantities are those -which have the word atom in their style name. See the doc pages for -individual fixes to determine which ones produce per-atom -quantities. Variables of style atom are the only +compute, fix, or variable, then see the fix ave/time command.

    +

    Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable -produce global quantities. -

    -

    The per-atom values of each input vector are binned and averaged -independently of the per-atom values in other input vectors. -

    -

    Nbins specifies the number of spherical shells which will be created -between r_min and r_max centered at (origin_x, origin_y, origin_z). -

    -

    IMPORTANT NOTE: This fix works by creating an array of size Nbins by +produce global quantities.

    +

    The per-atom values of each input vector are binned and averaged +independently of the per-atom values in other input vectors.

    +

    Nbins specifies the number of spherical shells which will be created +between r_min and r_max centered at (origin_x, origin_y, origin_z).

    +
    +

    Warning

    +

    This fix works by creating an array of size Nbins by Nvalues on each processor. Nbins is the total number of bins; Nvalues is the number of input values specified. Each processor loops over its atoms, tallying its values to the appropriate bin. Then the entire array is summed across all processors. This means that using a -large number of bins will incur an overhead in memory and computational -cost (summing across processors), so be careful to use reasonable numbers -of bins. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +large number of bins will incur an overhead in memory and computational +cost (summing across processors), so be careful to use reasonable numbers +of bins.

    +
    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used to bin them and contribute to the average. The final averaged quantities are generated on timesteps -that are a multiples of Nfreq. The average is over Nrepeat +that are a multiples of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc. -

    -
    - -

    The origin_x, origin_y, and origin_z parameters may be specified +100,200,etc.

    +
    +

    The origin_x, origin_y, and origin_z parameters may be specified by either a compute or a variable. This allows, for example, the center of the spherical bins to be attached to the center of mass of a group of atoms. If a variable origin is used and periodic boundary conditions are in effect, then the origin will be wrapped across periodic boundaries whenever it changes so that it is always inside -the simulation box. -

    -
    - -

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. +the simulation box.

    +
    +

    The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes (including atom postitions x,y,z) can -be used as inputs to this fix by using the compute -property/atom command and then specifying -an input value from that compute. -

    -

    The density/number value means the number density is computed in -each bin, i.e. a weighting of 1 for each atom. The density/mass +be used as inputs to this fix by using the compute property/atom command and then specifying +an input value from that compute.

    +

    The density/number value means the number density is computed in +each bin, i.e. a weighting of 1 for each atom. The density/mass value means the mass density is computed in each bin, i.e. each atom is weighted by its mass. The resulting density is normalized by the volume of the bin so that units of number/volume or density are -output. See the units command doc page for the +output. See the units command doc page for the definition of density for each choice of units, e.g. gram/cm^3. -The bin volume will always be calculated in box units, independent -of the use of the units keyword in this command. -

    -

    If a value begins with "c_", a compute ID must follow which has been +The bin volume will always be calculated in box units, independent +of the use of the units keyword in this command.

    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the compute is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the compute is used. Users can also write code for -their own compute styles and add them to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed integer is appended, the per-atom vector calculated by the fix is used. If a bracketed integer is appended, the Ith column of the per-atom array calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with -Nevery, else an error results. Users can also write code for their -own fix styles and add them to LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +Nevery, else an error results. Users can also write code for their +own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Variables of style -atom can reference thermodynamic keywords and various per-atom +atom can reference thermodynamic keywords and various per-atom attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom -quantities to spatially average. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -The region keyword was discussed above. -

    -

    The norm keyword affects how averaging is done for the output -produced every Nfreq timesteps. For an all setting, a bin -quantity is summed over all atoms in all Nrepeat samples, as is the +quantities to spatially average.

    +
    +

    Additional optional keywords also affect the operation of this fix. +The region keyword was discussed above.

    +

    The norm keyword affects how averaging is done for the output +produced every Nfreq timesteps. For an all setting, a bin +quantity is summed over all atoms in all Nrepeat samples, as is the count of atoms in the bin. The printed value for the bin is Total-quantity / Total-count. In other words it is an average over -the entire Nfreq timescale. -

    -

    For a sample setting, the bin quantity is summed over atoms for only -a single sample, as is the count, and a "average sample value" is +the entire Nfreq timescale.

    +

    For a sample setting, the bin quantity is summed over atoms for only +a single sample, as is the count, and a “average sample value” is computed, i.e. Sample-quantity / Sample-count. The printed value for -the bin is the average of the Nrepeat "average sample values", In -other words it is an average of an average. -

    -

    The ave keyword determines how the bin values produced every Nfreq +the bin is the average of the Nrepeat “average sample values”, In +other words it is an average of an average.

    +

    The ave keyword determines how the bin values produced every Nfreq steps are averaged with bin values produced on previous steps that -were multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, then the bin values produced on -timesteps that are multiples of Nfreq are independent of each other; -they are output as-is without further averaging. -

    -

    If the ave setting is running, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +were multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, then the bin values produced on +timesteps that are multiples of Nfreq are independent of each other; +they are output as-is without further averaging.

    +

    If the ave setting is running, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output bin value is thus the average of the bin value produced on that timestep with all preceding values for the same bin. This running average begins when the fix is defined; it can only be restarted by deleting the fix via -the unfix command, or re-defining the fix by -re-specifying it. -

    -

    If the ave setting is window, then the bin values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving "window" of time, so that the last M values for the same bin +the unfix command, or re-defining the fix by +re-specifying it.

    +

    If the ave setting is window, then the bin values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving “window” of time, so that the last M values for the same bin are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual bin values on steps 8000,9000,10000. Outputs on early steps will average -over less than M values if they are not available. -

    -

    The units keyword determines the meaning of the distance units used +over less than M values if they are not available.

    +

    The units keyword determines the meaning of the distance units used for the sphere origin and the two radial lengths. For orthogonal simulation boxes, any of the 3 options may be used. For -non-orthogonal (triclinic) simulation boxes, only the reduced option -may be used. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacing. -

    -

    IMPORTANT NOTE: The lattice style may only be used if the lattice -spacing is the same in each direction. -

    -

    A reduced value means normalized unitless values between 0 and 1, +non-orthogonal (triclinic) simulation boxes, only the reduced option +may be used.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacing.

    +
    +

    Warning

    +

    The lattice style may only be used if the lattice +spacing is the same in each direction.

    +
    +

    A reduced value means normalized unitless values between 0 and 1, which represent the lower and upper faces of the simulation box -respectively. Thus an origin value of 0.5 means the center of the -box in any dimension. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +respectively. Thus an origin value of 0.5 means the center of the +box in any dimension.

    +

    The file keyword allows a filename to be specified. Every Nfreq timesteps, a section of bin info will be written to a text file in the following format. A line with the timestep and number of bin is written. Then one line per bin is written, containing the bin ID @@ -261,82 +343,135 @@ written. Then one line per bin is written, containing the bin ID the bin, and one or more calculated values. The number of values in each line corresponds to the number of values specified in the fix ave/spatial command. The number of atoms and the value(s) are average -quantities. If the value of the units keyword is box or -lattice, the "coord" is printed in box units. If the value of the -units keyword is reduced, the "coord" is printed in reduced units -(0-1). -

    -

    The overwrite keyword will continuously overwrite the output file +quantities. If the value of the units keyword is box or +lattice, the “coord” is printed in box units. If the value of the +units keyword is reduced, the “coord” is printed in reduced units +(0-1).

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 3 lines of the output -file, assuming the file keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows: -

    -
    # Spatial-averaged data for fix ID and group name
    -# Timestep Number-of-bins
    -# Bin r Count value1 value2 ... 
    -
    -

    In the first line, ID and name are replaced with the fix-ID and group +file, assuming the file keyword was used. LAMMPS uses default +values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows:

    +
    # Spatial-averaged data for fix ID and group name
    +# Timestep Number-of-bins
    +# Bin r Count value1 value2 ...
    +
    +
    +

    In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/spatial command. The Coord2 and Coord3 entries in the third line only appear for 2d and 3d bins respectively. For 1d bins, the word Coord1 is replaced by -just Coord. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global array of values which can be accessed by -various output commands. The values can -only be accessed on timesteps that are multiples of Nfreq since that +just Coord.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global array of values which can be accessed by +various output commands. The values can +only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed. The global array has # of rows = Nbins and # of columns = 2+Nvalues. The first column contains the -radius at the center of the shell. For units reduced, this is in -reduced units, while for units box and lattice this is in box +radius at the center of the shell. For units reduced, this is in +reduced units, while for units box and lattice this is in box units. The next column has the count of atoms in that bin, and the remaining columns are the Nvalue quantities. When the array is accessed with an I that exceeds the current number of bins, than a 0.0 is returned by the fix instead of an error. The array values -calculated by this fix are "intensive", since they are already -normalized by the count of atoms in each bin. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    When the ave keyword is set to running or window then the number +calculated by this fix are “intensive”, since they are already +normalized by the count of atoms in each bin.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    When the ave keyword is set to running or window then the number of bins must remain the same during the simulation, so that the appropriate averaging can be done. This will be the case if the -simulation box size doesn't change or if the units keyword is set to -reduced. -

    -

    This style is part of the USER-MISC package. It is only enabled if -LAMMPS is build with that package. See the Making of -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute, fix ave/atom, fix -ave/histo, fix ave/time, -variable, fix ave/correlate, -fix ave/spatial, -

    -

    Default: -

    -

    The option defaults are norm = all, ave = one, units = lattice, no -file output, and title 1,2,3 = strings as described above. -

    - +simulation box size doesn’t change or if the units keyword is set to +reduced.

    +

    This style is part of the USER-MISC package. It is only enabled if +LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are norm = all, ave = one, units = lattice, no +file output, and title 1,2,3 = strings as described above.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index 77c0fd34d8..55cb2b333b 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -1,334 +1,473 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ave/time command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ave/time command -

    -

    Syntax: -

    -
    fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/time = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps - -
    • one or more input values can be listed - -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name - -
        c_ID = global scalar, vector, or array calculated by a compute with ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ave/time command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/time = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps
      • +
      • one or more input values can be listed
      • +
      • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
      • +
      +
      c_ID = global scalar, vector, or array calculated by a compute with ID
         c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID
         f_ID = global scalar, vector, or array calculated by a fix with ID
         f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = mode or file or ave or start or off or overwrite or title1 or title2 or title3 - -
        mode arg = scalar or vector
      +  v_name = global value calculated by an equal-style variable with name
      +
    • +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = mode or file or ave or start or off or overwrite or title1 or title2 or title3
      • +
      +
      +mode arg = scalar or vector
           scalar = all input values are global scalars
           vector = all input values are global vectors or global arrays
      -  ave args = one or running or window M
      +  ave args = one or running or window M
           one = output a new average value every Nfreq steps
           running = output cummulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  start args = Nstart
      +  start args = Nstart
           Nstart = start averaging on this timestep
      -  off arg = M = do not average this value
      +  off arg = M = do not average this value
           M = value # from 1 to Nvalues
      -  file arg = filename
      +  file arg = filename
           filename = name of file to output time averages to
      -  overwrite arg = none = overwrite output file with only latest output
      -  title1 arg = string
      +  overwrite arg = none = overwrite output file with only latest output
      +  title1 arg = string
           string = text to print as 1st line of output file
      -  title2 arg = string
      +  title2 arg = string
           string = text to print as 2nd line of output file
      -  title3 arg = string
      -    string = text to print as 3rd line of output file, only for vector mode 
      -
      - -
    -

    Examples: -

    -
    fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile
    -fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 &
    -                              title1 "My output values"
    -fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1 
    -
    -

    Description: -

    -

    Use one or more global values as inputs every few timesteps, and + title3 arg = string + string = text to print as 3rd line of output file, only for vector mode + +

    +
    +

    Examples¶

    +
    fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile
    +fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 &
    +                              title1 "My output values"
    +fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be -used by other output commands such as -thermo_style custom, and can also be written to a +used by other output commands such as +thermo_style custom, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to -a file. -

    -

    The group specified with this command is ignored. However, note that +a file.

    +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. -

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own “group” definitions.

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. If you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the fix -ave/spatial, fix ave/atom, -or fix ave/histo commands. If you wish to sum a -per-atom quantity into a single global quantity, see the compute -reduce command. -

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +from a compute, fix, or variable, then see the fix ave/spatial, fix ave/atom, +or fix ave/histo commands. If you wish to sum a +per-atom quantity into a single global quantity, see the compute reduce command.

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values. -

    -

    The input values must either be all scalars or all vectors (or -arrays), depending on the setting of the mode keyword. In both +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values.

    +

    The input values must either be all scalars or all vectors (or +arrays), depending on the setting of the mode keyword. In both cases, the averaging is performed independently on each input value. I.e. each input scalar is averaged independently and each element of -each input vector (or array) is averaged independently. -

    -

    If mode = vector, then the input values may either be vectors or -arrays and all must be the same "length", which is the length of the +each input vector (or array) is averaged independently.

    +

    If mode = vector, then the input values may either be vectors or +arrays and all must be the same “length”, which is the length of the vector or number of rows in the array. If a global array is listed, then it is the same as if the individual columns of the array had been listed one by one. E.g. these 2 fix ave/time commands are equivalent, -since the compute rdf command creates, in this -case, a global array with 3 columns, each of length 50: -

    -
    compute myRDF all rdf 50 1 2
    +since the compute rdf command creates, in this
    +case, a global array with 3 columns, each of length 50:

    +
    compute myRDF all rdf 50 1 2
     fix 1 all ave/time 100 1 100 c_myRDF file tmp1.rdf mode vector
    -fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector 
    -
    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector +

    + +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a mlutiple of Nfreq. The average is over Nrepeat +that are a mlutiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc. -

    -
    - -

    If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If mode = scalar, then if +100,200,etc.

    +
    +

    If a value begins with “c_”, a compute ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If mode = +the global vector calculated by the compute is used. If mode = vector, then if no bracketed term is appended, the global vector calculated by the compute is used. Or if the compute calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the Ith column of the global array -calculated by the compute is used. -

    -

    Note that there is a compute reduce command +calculated by the compute is used.

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix ave/time. Or it can be a compute defined -not in your input script, but by thermodynamic -output or other fixes such as fix -nvt or fix temp/rescale. See +not in your input script, but by thermodynamic output or other fixes such as fix nvt or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. -Users can also write code for their own compute styles and add them -to LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If mode = scalar, then if +Users can also write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been +previously defined in the input script. If mode = scalar, then if no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If mode = vector, then +global vector calculated by the fix is used. If mode = vector, then if no bracketed term is appended, the global vector calculated by the fix is used. Or if the fix calculates an array, all of the columns of the global array are used as if they had been specified as individual vectors (see description above). If a bracketed term is appended, the -Ith column of the global array calculated by the fix is used. -

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to -LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +Ith column of the global array calculated by the fix is used.

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Variables can only be -used as input for mode = scalar. Only equal-style variables can be -referenced. See the variable command for details. -Note that variables of style equal define a formula which can +used as input for mode = scalar. Only equal-style variables can be +referenced. See the variable command for details. +Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to -time average. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -

    -

    If the mode keyword is set to scalar, then all input values must -be global scalars, or elements of global vectors. If the mode -keyword is set to vector, then all input values must be global +time average.

    +
    +

    Additional optional keywords also affect the operation of this fix.

    +

    If the mode keyword is set to scalar, then all input values must +be global scalars, or elements of global vectors. If the mode +keyword is set to vector, then all input values must be global vectors, or columns of global arrays. They can also be global arrays, which are converted into a series of global vectors (one per column), -as explained above. -

    -

    The ave keyword determines how the values produced every Nfreq +as explained above.

    +

    The ave keyword determines how the values produced every Nfreq steps are averaged with values produced on previous steps that were -multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, then the values produced on timesteps -that are multiples of Nfreq are independent of each other; they are -output as-is without further averaging. -

    -

    If the ave setting is running, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, then the values produced on timesteps +that are multiples of Nfreq are independent of each other; they are +output as-is without further averaging.

    +

    If the ave setting is running, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cummulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the unfix -command, or by re-defining the fix by re-specifying it. -

    -

    If the ave setting is window, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving "window" of time, so that the last M values are used to +only be restarted by deleting the fix via the unfix +command, or by re-defining the fix by re-specifying it.

    +

    If the ave setting is window, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving “window” of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available. -

    -

    The start keyword specifies what timestep averaging will begin on. +values if they are not available.

    +

    The start keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so -setting start to a larger value can avoid including a 0.0 in a -running or windowed average. -

    -

    The off keyword can be used to flag any of the input values. If a +setting start to a larger value can avoid including a 0.0 in a +running or windowed average.

    +

    The off keyword can be used to flag any of the input values. If a value is flagged, it will not be time averaged. Instead the most recent input value will always be stored and output. This is useful if one of more of the inputs produced by a compute or fix or variable are effectively constant or are simply current values. E.g. they are being written to a file with other time-averaged values for purposes -of creating well-formatted output. -

    -

    The file keyword allows a filename to be specified. Every Nfreq +of creating well-formatted output.

    +

    The file keyword allows a filename to be specified. Every Nfreq steps, one quantity or vector of quantities is written to the file for -each input value specified in the fix ave/time command. For mode = +each input value specified in the fix ave/time command. For mode = scalar, this means a single line is written each time output is performed. Thus the file ends up to be a series of lines, i.e. one -column of numbers for each input value. For mode = vector, an array +column of numbers for each input value. For mode = vector, an array of numbers is written each time output is performed. The number of rows is the length of the input vectors, and the number of columns is the number of values. Thus the file ends up to be a series of these -array sections. -

    -

    The overwrite keyword will continuously overwrite the output file +array sections.

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    The title1 and title2 and title3 keywords allow specification of +output. This option can only be used with the ave running setting.

    +

    The title1 and title2 and title3 keywords allow specification of the strings that will be printed as the first 2 or 3 lines of the -output file, assuming the file keyword was used. LAMMPS uses -default values for each of these, so they do not need to be specified. -

    -

    By default, these header lines are as follows for mode = scalar: -

    -
    # Time-averaged data for fix ID
    -# TimeStep value1 value2 ... 
    -
    -

    In the first line, ID is replaced with the fix-ID. In the second line +output file, assuming the file keyword was used. LAMMPS uses +default values for each of these, so they do not need to be specified.

    +

    By default, these header lines are as follows for mode = scalar:

    +
    # Time-averaged data for fix ID
    +# TimeStep value1 value2 ...
    +
    +
    +

    In the first line, ID is replaced with the fix-ID. In the second line the values are replaced with the appropriate fields from the fix ave/time command. There is no third line in the header of the file, -so the title3 setting is ignored when mode = scalar. -

    -

    By default, these header lines are as follows for mode = vector: -

    -
    # Time-averaged data for fix ID
    -# TimeStep Number-of-rows
    -# Row value1 value2 ... 
    -
    -

    In the first line, ID is replaced with the fix-ID. The second line +so the title3 setting is ignored when mode = scalar.

    +

    By default, these header lines are as follows for mode = vector:

    +
    # Time-averaged data for fix ID
    +# TimeStep Number-of-rows
    +# Row value1 value2 ...
    +
    +
    +

    In the first line, ID is replaced with the fix-ID. The second line describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the -appropriate fields from the fix ave/time command. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix produces a global scalar or global vector or global array -which can be accessed by various output -commands. The values can only be -accessed on timesteps that are multiples of Nfreq since that is when -averaging is performed. -

    -

    A scalar is produced if only a single input value is averaged and -mode = scalar. A vector is produced if multiple input values are -averaged for mode = scalar, or a single input value for mode = +appropriate fields from the fix ave/time command.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix produces a global scalar or global vector or global array +which can be accessed by various output commands. The values can only be +accessed on timesteps that are multiples of Nfreq since that is when +averaging is performed.

    +

    A scalar is produced if only a single input value is averaged and +mode = scalar. A vector is produced if multiple input values are +averaged for mode = scalar, or a single input value for mode = vector. In the first case, the length of the vector is the number of inputs. In the second case, the length of the vector is the same as the length of the input vector. An array is produced if multiple -input values are averaged and mode = vector. The global array has # +input values are averaged and mode = vector. The global array has # of rows = length of the input vectors and # of columns = number of -inputs. -

    -

    If the fix prouduces a scalar or vector, then the scalar and each -element of the vector can be either "intensive" or "extensive", +inputs.

    +

    If the fix prouduces a scalar or vector, then the scalar and each +element of the vector can be either “intensive” or “extensive”, depending on whether the values contributing to the scalar or vector -element are "intensive" or "extensive". If the fix produces an array, -then all elements in the array must be the same, either "intensive" or -"extensive". If a compute or fix provides the value being time +element are “intensive” or “extensive”. If the fix produces an array, +then all elements in the array must be the same, either “intensive” or +“extensive”. If a compute or fix provides the value being time averaged, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, fix ave/atom, fix -ave/spatial, fix ave/histo, -variable, fix ave/correlate, -

    -

    Default: -

    -

    The option defaults are mode = scalar, ave = one, start = 0, no file +further info. Values produced by a variable are treated as intensive.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are mode = scalar, ave = one, start = 0, no file output, title 1,2,3 = strings as described above, and no off settings -for any input values. -

    - +for any input values.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index d7c1011cec..e053caefd0 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -1,128 +1,296 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix aveforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix aveforce command -

    -

    fix aveforce/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID aveforce fx fy fz keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • aveforce = style name of this fix command - -
    • fx,fy,fz = force component values (force units) - -
        any of fx,fy,fz can be a variable (see below) 
      -
      -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = region - -
        region value = region-ID
      -    region-ID = ID of region atoms must be in to have added force 
      -
      - -
    -

    Examples: -

    -
    fix pressdown topwall aveforce 0.0 -1.0 0.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix aveforce command¶

    +
    +
    +

    fix aveforce/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID aveforce fx fy fz keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • aveforce = style name of this fix command
    • +
    • fx,fy,fz = force component values (force units)
    • +
    +
    any of fx,fy,fz can be a variable (see below)
    +
    +
    +
      +
    • zero or more keyword/value pairs may be appended to args
    • +
    • keyword = region
    • +
    +
    +region value = region-ID
    +    region-ID = ID of region atoms must be in to have added force
    +
    +
    +
    +

    Examples¶

    +
    fix pressdown topwall aveforce 0.0 -1.0 0.0
     fix 2 bottomwall aveforce NULL -1.0 0.0 region top
    -fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top 
    -
    -

    Description: -

    -

    Apply an additional external force to a group of atoms in such a way +fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top +

    + + +
    +

    Description¶

    +

    Apply an additional external force to a group of atoms in such a way that every atom experiences the same force. This is useful for pushing on wall or boundary atoms so that the structure of the wall -does not change over time. -

    -

    The existing force is averaged for the group of atoms, component by +does not change over time.

    +

    The existing force is averaged for the group of atoms, component by component. The actual force on each atom is then set to the average value plus the component specified in this command. This means each -atom in the group receives the same force. -

    -

    Any of the fx,fy,fz values can be specified as NULL which means the +atom in the group receives the same force.

    +

    Any of the fx,fy,fz values can be specified as NULL which means the force in that dimension is not changed. Note that this is not the same as specifying a 0.0 value, since that sets all forces to the same -average value without adding in any additional force. -

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style variable, namely fx, fy, fz. +average value without adding in any additional force.

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style variable, namely fx, fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average -force. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +force.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent average force. -

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +time. Thus it is easy to specify a time-dependent average force.

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix setforce, fix addforce -

    -

    Default: none -

    - +the iteration count during the minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_balance.html b/doc/fix_balance.html index 5634916d21..92b84a5720 100644 --- a/doc/fix_balance.html +++ b/doc/fix_balance.html @@ -1,103 +1,218 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix balance command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix balance command -

    -

    Syntax: -

    -
    fix ID group-ID balance Nfreq thresh style args keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • balance = style name of this fix command - -
    • Nfreq = perform dynamic load balancing every this many steps - -
    • thresh = imbalance threshhold that must be exceeded to perform a re-balance - -
    • style = shift or rcb - -
        shift args = dimstr Niter stopthresh
      -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix balance command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID balance Nfreq thresh style args keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • balance = style name of this fix command
      • +
      • Nfreq = perform dynamic load balancing every this many steps
      • +
      • thresh = imbalance threshhold that must be exceeded to perform a re-balance
      • +
      • style = shift or rcb
      • +
      +
      shift args = dimstr Niter stopthresh
      +    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
           Niter = # of times to iterate within each dimension of dimstr sequence
           stopthresh = stop balancing when this imbalance threshhold is reached
      -  rcb args = none 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = out - -
        out value = filename
      -    filename = write each processor's sub-domain to a file, at each re-balancing 
      -
      - -
    -

    Examples: -

    -
    fix 2 all balance 1000 1.05 shift x 10 1.05
    +  rcb args = none
    +
    + +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = out
    • +
    +
    +out value = filename
    +    filename = write each processor's sub-domain to a file, at each re-balancing
    +
    + +
    +

    Examples¶

    +
    fix 2 all balance 1000 1.05 shift x 10 1.05
     fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance
    -fix 2 all balance 1000 1.1 rcb 
    -
    -

    Description: -

    -

    This command adjusts the size and shape of processor sub-domains +fix 2 all balance 1000 1.1 rcb +

    +
    +
    +
    +

    Description¶

    +

    This command adjusts the size and shape of processor sub-domains within the simulation box, to attempt to balance the number of particles and thus the computational cost (load) evenly across -processors. The load balancing is "dynamic" in the sense that +processors. The load balancing is “dynamic” in the sense that rebalancing is performed periodically during the simulation. To -perform "static" balancing, before or between runs, see the -balance command. -

    -

    Load-balancing is typically only useful if the particles in the +perform “static” balancing, before or between runs, see the +balance command.

    +

    Load-balancing is typically only useful if the particles in the simulation box have a spatially-varying density distribution. E.g. a model of a vapor/liquid interface, or a solid with an irregular-shaped geometry containing void regions. In this case, the LAMMPS default of dividing the simulation box volume into a regular-spaced grid of 3d bricks, with one equal-volume sub-domain per processor, may assign very different numbers of particles per processor. This can lead to -poor performance when the simulation is run in parallel. -

    -

    Note that the processors command allows some control +poor performance when the simulation is run in parallel.

    +

    Note that the processors command allows some control over how the box volume is split across processors. Specifically, for a Px by Py by Pz grid of processors, it allows choice of Px, Py, and Pz, subject to the constraint that Px * Py * Pz = P, the total number of processors. This is sufficient to achieve good load-balance for some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume. -

    -

    On a particular timestep, a load-balancing operation is only performed -if the current "imbalance factor" in particles owned by each processor -exceeds the specified thresh parameter. The imbalance factor is +sub-domains will still have the same shape and same volume.

    +

    On a particular timestep, a load-balancing operation is only performed +if the current “imbalance factor” in particles owned by each processor +exceeds the specified thresh parameter. The imbalance factor is defined as the maximum number of particles owned by any processor, divided by the average number of particles per processor. Thus an -imbalance factor of 1.0 is perfect balance. -

    -

    As an example, for 10000 particles running on 10 processors, if the +imbalance factor of 1.0 is perfect balance.

    +

    As an example, for 10000 particles running on 10 processors, if the most heavily loaded processor has 1200 particles, then the factor is 1.2, meaning there is a 20% imbalance. Note that re-balances can be forced even if the current balance is perfect (1.0) be specifying a -thresh < 1.0. -

    -

    IMPORTANT NOTE: This command attempts to minimize the imbalance +thresh < 1.0.

    +
    +

    Warning

    +

    This command attempts to minimize the imbalance factor, as defined above. But depending on the method a perfect -balance (1.0) may not be achieved. For example, "grid" methods +balance (1.0) may not be achieved. For example, “grid” methods (defined below) that create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the initial system is -generated by the create_atoms command, then "grid" +generated by the create_atoms command, then “grid” methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single -processor. -

    -

    IMPORTANT NOTE: The imbalance factor is also an estimate of the +processor.

    +
    +
    +

    Warning

    +

    The imbalance factor is also an estimate of the maximum speed-up you can hope to achieve by running a perfectly balanced simulation versus an imbalanced one. In the example above, the 10000 particle simulation could run up to 20% faster if it were @@ -105,91 +220,103 @@ perfectly balanced, versus when imbalanced. However, computational cost is not strictly proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM -solver used via the kspace_style command. Thus +solver used via the kspace_style command. Thus you should benchmark the run times of a simulation before and after -balancing. -

    -
    - -

    The method used to perform a load balance is specified by one of the +balancing.

    +
    +
    +

    The method used to perform a load balance is specified by one of the listed styles, which are described in detail below. There are 2 kinds -of styles. -

    -

    The shift style is a "grid" method which produces a logical 3d grid +of styles.

    +

    The shift style is a “grid” method which produces a logical 3d grid of processors. It operates by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor that owns them. The leftmost diagram is the default partitioning of the simulation box across processors (one sub-box for each of 16 -processors); the middle diagram is after a "grid" method has been -applied. -

    -
    -
    -

    The rcb style is a "tiling" method which does not produce a logical +processors); the middle diagram is after a “grid” method has been +applied.

    + + + +

    The rcb style is a “tiling” method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular fashion so as to have equal numbers of particles in each sub-box, as -in the rightmost diagram above. -

    -

    The "grid" methods can be used with either of the -comm_style command options, brick or tiled. The -"tiling" methods can only be used with comm_style -tiled. -

    -

    When a "grid" method is specified, the current domain partitioning can +in the rightmost diagram above.

    +

    The “grid” methods can be used with either of the +comm_style command options, brick or tiled. The +“tiling” methods can only be used with comm_style tiled.

    +

    When a “grid” method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former case, the current logical 3d grid is used as a starting point and changes are made to improve the imbalance factor. In the latter case, the tiled partitioning is discarded and a logical 3d grid is created with uniform spacing in all dimensions. This is the starting point -for the balancing operation. -

    -

    When a "tiling" method is specified, the current domain partitioning -("grid" or "tiled") is ignored, and a new partitioning is computed -from scratch. -

    -
    - -

    The group-ID is currently ignored. In the future it may be used to +for the balancing operation.

    +

    When a “tiling” method is specified, the current domain partitioning +(“grid” or “tiled”) is ignored, and a new partitioning is computed +from scratch.

    +
    +

    The group-ID is currently ignored. In the future it may be used to determine what particles are considered for balancing. Normally it -would only makes sense to use the all group. But in some cases it +would only makes sense to use the all group. But in some cases it may be useful to balance on a subset of the particles, e.g. when modeling large nanoparticles in a background of small solvent -particles. -

    -

    The Nfreq setting determines how often a rebalance is performed. If -Nfreq > 0, then rebalancing will occur every Nfreq steps. Each -time a rebalance occurs, a reneighboring is triggered, so Nfreq -should not be too small. If Nfreq = 0, then rebalancing will be +particles.

    +

    The Nfreq setting determines how often a rebalance is performed. If +Nfreq > 0, then rebalancing will occur every Nfreq steps. Each +time a rebalance occurs, a reneighboring is triggered, so Nfreq +should not be too small. If Nfreq = 0, then rebalancing will be done every time reneighboring normally occurs, as determined by the -the neighbor and neigh_modify -command settings. -

    -

    On rebalance steps, rebalancing will only be attempted if the current -imbalance factor, as defined above, exceeds the thresh setting. -

    -
    - -

    The shift style invokes a "grid" method for balancing, as described +the neighbor and neigh_modify +command settings.

    +

    On rebalance steps, rebalancing will only be attempted if the current +imbalance factor, as defined above, exceeds the thresh setting.

    +
    +

    The shift style invokes a “grid” method for balancing, as described above. It changes the positions of cutting planes between processors -in an iterative fashion, seeking to reduce the imbalance factor. -

    -

    The dimstr argument is a string of characters, each of which must be -an "x" or "y" or "z". Eacn character can appear zero or one time, +in an iterative fashion, seeking to reduce the imbalance factor.

    +

    The dimstr argument is a string of characters, each of which must be +an “x” or “y” or “z”. Eacn character can appear zero or one time, since there is no advantage to balancing on a dimension more than once. You should normally only list dimensions where you expect there -to be a density variation in the particles. -

    -

    Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in dimstr, one dimension at a time. For a single +to be a density variation in the particles.

    +

    Balancing proceeds by adjusting the cutting planes in each of the +dimensions listed in dimstr, one dimension at a time. For a single dimension, the balancing operation (described below) is iterated on up -to Niter times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the stopthresh -criterion is met. -

    -

    A rebalance operation in a single dimension is performed using a +to Niter times. After each dimension finishes, the imbalance factor +is re-computed, and the balancing operation halts if the stopthresh +criterion is met.

    +

    A rebalance operation in a single dimension is performed using a density-dependent recursive multisectioning algorithm, where the position of each cutting plane (line in 2d) in the dimension is adjusted independently. This is similar to a recursive bisectioning @@ -204,43 +331,40 @@ the position of the cut is adjusted based on the local density. The low and high bounds are adjusted on each iteration, using new count information, so that they become closer together over time. Thus as the recursion progresses, the count of particles on either side of the -plane gets closer to the target value. -

    -

    The density-dependent part of this algorithm is often an advantage +plane gets closer to the target value.

    +

    The density-dependent part of this algorithm is often an advantage when you rebalance a system that is already nearly balanced. It typically converges more quickly than the geometric bisectioning -algorithm used by the balance command. However, if can +algorithm used by the balance command. However, if can be a disadvantage if you attempt to rebalance a system that is far from balanced, and converge more slowly. In this case you probably -want to use the balance command before starting a run, -so that you begin the run with a balanced system. -

    -

    Once the rebalancing is complete and final processor sub-domains +want to use the balance command before starting a run, +so that you begin the run with a balanced system.

    +

    Once the rebalancing is complete and final processor sub-domains assigned, particles migrate to their new owning processor as part of -the normal reneighboring procedure. -

    -

    IMPORTANT NOTE: At each rebalance operation, the bisectioning for each +the normal reneighboring procedure.

    +
    +

    Warning

    +

    At each rebalance operation, the bisectioning for each cutting plane (line in 2d) typcially starts with low and high bounds -separated by the extent of a processor's sub-domain in one dimension. +separated by the extent of a processor’s sub-domain in one dimension. The size of this bracketing region shrinks based on the local density, as described above, which should typically be 1/2 or more every -iteration. Thus if Niter is specified as 10, the cutting plane will +iteration. Thus if Niter is specified as 10, the cutting plane will typically be positioned to better than 1 part in 1000 accuracy -(relative to the perfect target position). For Niter = 20, it will +(relative to the perfect target position). For Niter = 20, it will be accurate to better than 1 part in a million. Thus there is no need -to set Niter to a large value. This is especially true if you are +to set Niter to a large value. This is especially true if you are rebalancing often enough that each time you expect only an incremental adjustement in the cutting planes is necessary. LAMMPS will check if the threshold accuracy is reached (in a dimension) is less iterations -than Niter and exit early. -

    -
    - -

    The rcb style invokes a "tiled" method for balancing, as described +than Niter and exit early.

    +
    +
    +

    The rcb style invokes a “tiled” method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows. -

    -

    The simulation domain is cut into 2 boxes by an axis-aligned cut in +simulation domain. The basic idea is as follows.

    +

    The simulation domain is cut into 2 boxes by an axis-aligned cut in the longest dimension, leaving one new box on either side of the cut. All the processors are also partitioned into 2 groups, half assigned to the box on the lower side of the cut, and half to the box on the @@ -251,27 +375,23 @@ box should own for load balance to be perfect. This also makes load balance for the upper box perfect. The positioning is done iteratively, by a bisectioning method. Note that counting atoms on either side of the cut requires communication between all processors -at each iteration. -

    -

    That is the procedure for the first cut. Subsequent cuts are made +at each iteration.

    +

    That is the procedure for the first cut. Subsequent cuts are made recursively, in exactly the same manner. The subset of processors assigned to each box make a new cut in the longest dimension of that box, splitting the box, the subset of processsors, and the atoms in the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms -in that sub-box. -

    -
    - -

    The out keyword writes a text file to the specified filename with +in that sub-box.

    +
    +

    The out keyword writes a text file to the specified filename with the results of each rebalancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation completes. The format of the file is compatible with the -Pizza.py mdump tool which has support for manipulating and +Pizza.py mdump tool which has support for manipulating and visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem: -

    -
    ITEM: TIMESTEP
    +processors for a 2d problem:

    +
    ITEM: TIMESTEP
     0
     ITEM: NUMBER OF NODES
     16
    @@ -304,58 +424,112 @@ ITEM: SQUARES
     1 1 1 2 3 4
     2 1 5 6 7 8
     3 1 9 10 11 12
    -4 1 13 14 15 16 
    -
    -

    The coordinates of all the vertices are listed in the NODES section, 5 +4 1 13 14 15 16 +

    + +

    The coordinates of all the vertices are listed in the NODES section, 5 per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list. -

    -

    The "SQUARES" section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4). -

    -

    For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and "SQUARES" replaced by "CUBES". -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which is the imbalance factor +will be duplicate nodes in the list.

    +

    The “SQUARES” section lists the node IDs of the 4 vertices in a +rectangle for each processor (1 to 4).

    +

    For a 3d problem, the syntax is similar with 8 vertices listed for +each processor, instead of 4, and “SQUARES” replaced by “CUBES”.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which is the imbalance factor after the most recent rebalance and a global vector of length 3 with additional information about the most recent rebalancing. The 3 -values in the vector are as follows: -

    -
    • 1 = max # of particles per processor -
    • 2 = total # iterations performed in last rebalance -
    • 3 = imbalance factor right before the last rebalance was performed -
    -

    As explained above, the imbalance factor is the ratio of the maximum +values in the vector are as follows:

    +
      +
    • 1 = max # of particles per processor
    • +
    • 2 = total # iterations performed in last rebalance
    • +
    • 3 = imbalance factor right before the last rebalance was performed
    • +
    +

    As explained above, the imbalance factor is the ratio of the maximum number of particles on any processor to the average number of -particles per processor. -

    -

    These quantities can be accessed by various output -commands. The scalar and vector values -calculated by this fix are "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -
    +particles per processor.

    +

    These quantities can be accessed by various output commands. The scalar and vector values +calculated by this fix are “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +
    +

    Restrictions¶

    +

    For 2d simulations, a “z” cannot appear in dimstr for the shift +style.

    +
    + + -

    Restrictions: -

    -

    For 2d simulations, a "z" cannot appear in dimstr for the shift -style. -

    -

    Related commands: -

    -

    processors, balance -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_bond_break.html b/doc/fix_bond_break.html index 2bb8d5e667..fab486b284 100644 --- a/doc/fix_bond_break.html +++ b/doc/fix_bond_break.html @@ -1,158 +1,328 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix bond/break command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix bond/break command -

    -

    Syntax: -

    -
    fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • bond/break = style name of this fix command - -
    • Nevery = attempt bond breaking every this many steps - -
    • bondtype = type of bonds to break - -
    • Rmax = bond longer than Rmax can break (distance units) - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = prob - -
        prob values = fraction seed
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix bond/break command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID bond/break Nevery bondtype Rmax keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • bond/break = style name of this fix command
      • +
      • Nevery = attempt bond breaking every this many steps
      • +
      • bondtype = type of bonds to break
      • +
      • Rmax = bond longer than Rmax can break (distance units)
      • +
      • zero or more keyword/value pairs may be appended to args
      • +
      • keyword = prob
      • +
      +
      +prob values = fraction seed
           fraction = break a bond with this probability if otherwise eligible
      -    seed = random number seed (positive integer) 
      -
      - -
    -

    Examples: -

    -
    fix 5 all bond/break 10 2 1.2
    -fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 
    -
    -

    Description: -

    -

    Break bonds between pairs of atoms as a simulation runs according to + seed = random number seed (positive integer) + +

    +
    +

    Examples¶

    +
    fix 5 all bond/break 10 2 1.2
    +fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829
    +
    +
    +
    +
    +

    Description¶

    +

    Break bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model the dissolution of a polymer network due to stretching of the simulation box or other deformations. In this context, a bond means an interaction between a -pair of atoms computed by the bond_style command. +pair of atoms computed by the bond_style command. Once the bond is broken it will be permanently deleted, as will all -angle, dihedral, and improper interactions that bond is part of. -

    -

    This is different than a pairwise bond-order +angle, dihedral, and improper interactions that bond is part of.

    +

    This is different than a pairwise bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move. -

    -

    A check for possible bond breakage is performed every Nevery -timesteps. If two bonded atoms I,J are further than a distance Rmax -of each other, if the bond is of type bondtype, and if both I and J -are in the specified fix group, then I,J is labeled as a "possible" -bond to break. -

    -

    If several bonds involving an atom are stretched, it may have multiple +interactions from timestep to timestep as atoms move.

    +

    A check for possible bond breakage is performed every Nevery +timesteps. If two bonded atoms I,J are further than a distance Rmax +of each other, if the bond is of type bondtype, and if both I and J +are in the specified fix group, then I,J is labeled as a “possible” +bond to break.

    +

    If several bonds involving an atom are stretched, it may have multiple possible bonds to break. Every atom checks its list of possible bonds -to break and labels the longest such bond as its "sole" bond to break. +to break and labels the longest such bond as its “sole” bond to break. After this is done, if atom I is bonded to atom J in its sole bond, and atom J is bonded to atom I in its sole bond, then the I,J bond is -"eligible" to be broken. -

    -

    Note that these rules mean an atom will only be part of at most one +“eligible” to be broken.

    +

    Note that these rules mean an atom will only be part of at most one broken bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its sole -partner (due to Rjk > Rij), then this means atom I will not be part of +partner (due to Rjk > Rij), then this means atom I will not be part of a broken bond on this timestep, even if it has other possible bond -partners. -

    -

    The prob keyword can effect whether an eligible bond is actually -broken. The fraction setting must be a value between 0.0 and 1.0. +partners.

    +

    The prob keyword can effect whether an eligible bond is actually +broken. The fraction setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and the -eligible bond is only broken if the random number < fraction. -

    -

    When a bond is broken, data structures within LAMMPS that store bond +eligible bond is only broken if the random number < fraction.

    +

    When a bond is broken, data structures within LAMMPS that store bond topology are updated to reflect the breakage. Likewise, if the bond is part of a 3-body (angle) or 4-body (dihedral, improper) interaction, that interaction is removed as well. These changes typically affect pairwise interactions between atoms that used to be -part of bonds, angles, etc. -

    -

    IMPORTANT NOTE: One data structure that is not updated when a bond +part of bonds, angles, etc.

    +
    +

    Warning

    +

    One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though one molecule becomes two moleclues due to the broken bond, all atoms -in both new moleclues retain their original molecule IDs. -

    -

    Computationally, each timestep this fix operates, it loops over all +in both new moleclues retain their original molecule IDs.

    +
    +

    Computationally, each timestep this fix operates, it loops over all the bonds in the system and computes distances between pairs of bonded atoms. It also communicates between neighboring processors to coordinate which bonds are broken. Moreover, if any bonds are broken, neighbor lists must be immediately updated on the same timestep. This -is to insure that any pairwise interactions that should be turned "on" +is to insure that any pairwise interactions that should be turned “on” due to a bond breaking, because they are no longer excluded by the presence of the bond and the settings of the -special_bonds command, will be immediately +special_bonds command, will be immediately recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently. -

    -

    You can dump out snapshots of the current bond topology via the dump -local command. -

    -

    IMPORTANT NOTE: Breaking a bond typically alters the energy of a +Thus you should be cautious about invoking this fix too frequently.

    +

    You can dump out snapshots of the current bond topology via the dump local command.

    +
    +

    Warning

    +

    Breaking a bond typically alters the energy of a system. You should be careful not to choose bond breaking criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and break it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will be dramatically released when the bond is broken. More generally, you may need to thermostat your system to compensate for energy changes -resulting from broken bonds (and angles, dihedrals, impropers). -

    -
    +resulting from broken bonds (and angles, dihedrals, impropers).

    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes two statistics which it stores in a global vector of +length 2, which can be accessed by various output commands. The vector values calculated +by this fix are “intensive”.

    +

    These are the 2 quantities:

    +
      +
      1. +
      2. # of bonds broken on the most recent breakage timestep
      3. +
      +
    • +
      1. +
      2. cummulative # of bonds broken
      3. +
      +
    • +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are prob = 1.0.

    +
    + -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various output -commands. The vector values calculated -by this fix are "intensive". -

    -

    These are the 2 quantities: -

    -
    • (1) # of bonds broken on the most recent breakage timestep -
    • (2) cummulative # of bonds broken -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix bond/create, fix -bond/swap, dump local, -special_bonds -

    -

    Default: -

    -

    The option defaults are prob = 1.0. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_bond_create.html b/doc/fix_bond_create.html index f0cd61dbad..07ff6811ee 100644 --- a/doc/fix_bond_create.html +++ b/doc/fix_bond_create.html @@ -1,256 +1,425 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix bond/create command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix bond/create command -

    -

    Syntax: -

    -
    fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • bond/create = style name of this fix command - -
    • Nevery = attempt bond creation every this many steps - -
    • itype,jtype = atoms of itype can bond to atoms of jtype - -
    • Rmin = 2 atoms separated by less than Rmin can bond (distance units) - -
    • bondtype = type of created bonds - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = iparam or jparam or prob or atype or dtype or itype - -
        iparam values = maxbond, newtype
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix bond/create command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • bond/create = style name of this fix command
      • +
      • Nevery = attempt bond creation every this many steps
      • +
      • itype,jtype = atoms of itype can bond to atoms of jtype
      • +
      • Rmin = 2 atoms separated by less than Rmin can bond (distance units)
      • +
      • bondtype = type of created bonds
      • +
      • zero or more keyword/value pairs may be appended to args
      • +
      • keyword = iparam or jparam or prob or atype or dtype or itype
      • +
      +
      +iparam values = maxbond, newtype
           maxbond = max # of bonds of bondtype the itype atom can have
           newtype = change the itype atom to this type when maxbonds exist
      -  jparam values = maxbond, newtype
      +  jparam values = maxbond, newtype
           maxbond = max # of bonds of bondtype the jtype atom can have
           newtype = change the jtype atom to this type when maxbonds exist
      -  prob values = fraction seed
      +  prob values = fraction seed
           fraction = create a bond with this probability if otherwise eligible
           seed = random number seed (positive integer)
      -  atype value = angletype
      +  atype value = angletype
           angletype = type of created angles
      -  dtype value = dihedraltype
      +  dtype value = dihedraltype
           dihedraltype = type of created dihedrals
      -  itype value = impropertype
      -    impropertype = type of created impropers 
      -
      - -
    -

    Examples: -

    -
    fix 5 all bond/create 10 1 2 0.8 1
    +  itype value = impropertype
    +    impropertype = type of created impropers
    +
    +
    +
    +

    Examples¶

    +
    fix 5 all bond/create 10 1 2 0.8 1
     fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3
    -fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2 
    -
    -

    Description: -

    -

    Create bonds between pairs of atoms as a simulation runs according to +fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2 +

    +
    +
    +
    +

    Description¶

    +

    Create bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model cross-linking of polymers, the formation of a percolation network, etc. In this context, a bond means an interaction between a pair of atoms computed -by the bond_style command. Once the bond is created +by the bond_style command. Once the bond is created it will be permanently in place. Optionally, the creation of a bond can also create angle, dihedral, and improper interactions that bond -is part of. See the discussion of the atype, dtype, and itype -keywords below. -

    -

    This is different than a pairwise bond-order +is part of. See the discussion of the atype, dtype, and itype +keywords below.

    +

    This is different than a pairwise bond-order potential such as Tersoff or AIREBO which infers bonds and many-body interactions based on the current geometry of a small cluster of atoms and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move. -

    -

    A check for possible new bonds is performed every Nevery timesteps. -If two atoms I,J are within a distance Rmin of each other, if I is -of atom type itype, if J is of atom type jtype, if both I and J +interactions from timestep to timestep as atoms move.

    +

    A check for possible new bonds is performed every Nevery timesteps. +If two atoms I,J are within a distance Rmin of each other, if I is +of atom type itype, if J is of atom type jtype, if both I and J are in the specified fix group, if a bond does not already exist -between I and J, and if both I and J meet their respective maxbond -requirement (explained below), then I,J is labeled as a "possible" -bond pair. -

    -

    If several atoms are close to an atom, it may have multiple possible +between I and J, and if both I and J meet their respective maxbond +requirement (explained below), then I,J is labeled as a “possible” +bond pair.

    +

    If several atoms are close to an atom, it may have multiple possible bond partners. Every atom checks its list of possible bond partners -and labels the closest such partner as its "sole" bond partner. After +and labels the closest such partner as its “sole” bond partner. After this is done, if atom I has atom J as its sole partner, and atom J has -atom I as its sole partner, then the I,J bond is "eligible" to be -formed. -

    -

    Note that these rules mean an atom will only be part of at most one +atom I as its sole partner, then the I,J bond is “eligible” to be +formed.

    +

    Note that these rules mean an atom will only be part of at most one created bond on a given timestep. It also means that if atom I chooses atom J as its sole partner, but atom J chooses atom K is its -sole partner (due to Rjk < Rij), then this means atom I will not form -a bond on this timestep, even if it has other possible bond partners. -

    -

    It is permissible to have itype = jtype. Rmin must be <= the -pairwise cutoff distance between itype and jtype atoms, as defined -by the pair_style command. -

    -

    The iparam and jparam keywords can be used to limit the bonding +sole partner (due to Rjk < Rij), then this means atom I will not form +a bond on this timestep, even if it has other possible bond partners.

    +

    It is permissible to have itype = jtype. Rmin must be <= the +pairwise cutoff distance between itype and jtype atoms, as defined +by the pair_style command.

    +

    The iparam and jparam keywords can be used to limit the bonding functionality of the participating atoms. Each atom keeps track of -how many bonds of bondtype it already has. If atom I of -itype already has maxbond bonds (as set by the iparam +how many bonds of bondtype it already has. If atom I of +itype already has maxbond bonds (as set by the iparam keyword), then it will not form any more. Likewise for atom J. If -maxbond is set to 0, then there is no limit on the number of bonds -that can be formed with that atom. -

    -

    The newtype value for iparam and jparam can be used to change -the atom type of atom I or J when it reaches maxbond number of bonds -of type bondtype. This means it can now interact in a pairwise +maxbond is set to 0, then there is no limit on the number of bonds +that can be formed with that atom.

    +

    The newtype value for iparam and jparam can be used to change +the atom type of atom I or J when it reaches maxbond number of bonds +of type bondtype. This means it can now interact in a pairwise fashion with other atoms in a different way by specifying different -pair_coeff coefficients. If you do not wish the -atom type to change, simply specify newtype as itype or jtype. -

    -

    The prob keyword can also effect whether an eligible bond is -actually created. The fraction setting must be a value between 0.0 +pair_coeff coefficients. If you do not wish the +atom type to change, simply specify newtype as itype or jtype.

    +

    The prob keyword can also effect whether an eligible bond is +actually created. The fraction setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and -the eligible bond is only created if the random number < fraction. -

    -

    Any bond that is created is assigned a bond type of bondtype -

    -

    When a bond is created, data structures within LAMMPS that store bond +the eligible bond is only created if the random number < fraction.

    +

    Any bond that is created is assigned a bond type of bondtype

    +

    When a bond is created, data structures within LAMMPS that store bond topology are updated to reflect the creation. If the bond is part of new 3-body (angle) or 4-body (dihedral, improper) interactions, you can choose to create new angles, dihedrals, impropers as well, using -the atype, dtype, and itype keywords. All of these changes +the atype, dtype, and itype keywords. All of these changes typically affect pairwise interactions between atoms that are now part -of new bonds, angles, etc. -

    -

    IMPORTANT NOTE: One data structure that is not updated when a bond +of new bonds, angles, etc.

    +
    +

    Warning

    +

    One data structure that is not updated when a bond breaks are the molecule IDs stored by each atom. Even though two molecules become one moleclue due to the created bond, all atoms in -the new moleclue retain their original molecule IDs. -

    -

    If the atype keyword is used and if an angle potential is defined -via the angle_style command, then any new 3-body +the new moleclue retain their original molecule IDs.

    +
    +

    If the atype keyword is used and if an angle potential is defined +via the angle_style command, then any new 3-body interactions inferred by the creation of a bond will create new angles -of type angletype, with parameters assigned by the corresponding -angle_coeff command. Likewise, the dtype and -itype keywords will create new dihedrals and impropers of type -dihedraltype and impropertype. -

    -

    IMPORTANT NOTE: To create a new bond, the internal LAMMPS data +of type angletype, with parameters assigned by the corresponding +angle_coeff command. Likewise, the dtype and +itype keywords will create new dihedrals and impropers of type +dihedraltype and impropertype.

    +
    +

    Warning

    +

    To create a new bond, the internal LAMMPS data structures that store this information must have space for it. When LAMMPS is initialized from a data file, the list of bonds is scanned and the maximum number of bonds per atom is tallied. If some atom will acquire more bonds than this limit as this fix operates, then the -"extra bond per atom" parameter must be set to allow for it. Ditto -for "extra angle per atom", "extra dihedral per atom", and "extra -improper per atom" if angles, dihedrals, or impropers are being added -when bonds are created. See the read_data or -create_box command for more details. Note that a +“extra bond per atom” parameter must be set to allow for it. Ditto +for “extra angle per atom”, “extra dihedral per atom”, and “extra +improper per atom” if angles, dihedrals, or impropers are being added +when bonds are created. See the read_data or +create_box command for more details. Note that a data file with no atoms can be used if you wish to add unbonded atoms -via the create atoms command, e.g. for a -percolation simulation. -

    -

    IMPORTANT NOTE: LAMMPS stores and maintains a data structure with a +via the create atoms command, e.g. for a +percolation simulation.

    +
    +
    +

    Warning

    +

    LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system) for use in weighting pairwise interactions for bonded atoms. Note that adding a single bond always adds a new 1st -neighbor but may also induce *many* new 2nd and 3rd neighbors, -depending on the molecular topology of your system. The "extra -special per atom" parameter must typically be set to allow for the new +neighbor but may also induce many new 2nd and 3rd neighbors, +depending on the molecular topology of your system. The “extra +special per atom” parameter must typically be set to allow for the new maximum total size (1st + 2nd + 3rd neighbors) of this per-atom list. -There are 3 ways to do this. See the read_data or -create_box or "special_bonds extra" commands for -details. -

    -

    IMPORTANT NOTE: Even if you do not use the atype, dtype, or -itype keywords, the list of topological neighbors is updated for +There are 3 ways to do this. See the read_data or +create_box or “special_bonds extra” commands for +details.

    +
    +
    +

    Warning

    +

    Even if you do not use the atype, dtype, or +itype keywords, the list of topological neighbors is updated for atoms affected by the new bond. This in turn affects which neighbors are considered for pairwise interactions, using the weighting rules -set by the special_bonds command. Consider a new +set by the special_bonds command. Consider a new bond created between atoms I,J. If J has a bonded neighbor K, then K -becomes a 2nd neighbor of I. Even if the atype keyword is not used +becomes a 2nd neighbor of I. Even if the atype keyword is not used to create angle I-J-K, the pairwise interaction between I and K will be potentially turned off or weighted by the 1-3 weighting specified -by the special_bonds command. This is the case -even if the "angle yes" option was used with that command. The same -is true for 3rd neighbors (1-4 interactions), the dtype keyword, and -the "dihedral yes" option used with the -special_bonds command. -

    -

    Note that even if your simulation starts with no bonds, you must -define a bond_style and use the -bond_coeff command to specify coefficients for the -bondtype. Similarly, if new atom types are specified by the -iparam or jparam keywords, they must be within the range of atom +by the special_bonds command. This is the case +even if the “angle yes” option was used with that command. The same +is true for 3rd neighbors (1-4 interactions), the dtype keyword, and +the “dihedral yes” option used with the +special_bonds command.

    +
    +

    Note that even if your simulation starts with no bonds, you must +define a bond_style and use the +bond_coeff command to specify coefficients for the +bondtype. Similarly, if new atom types are specified by the +iparam or jparam keywords, they must be within the range of atom types allowed by the simulation and pairwise coefficients must be -specified for the new types. -

    -

    Computationally, each timestep this fix operates, it loops over +specified for the new types.

    +

    Computationally, each timestep this fix operates, it loops over neighbor lists and computes distances between pairs of atoms in the list. It also communicates between neighboring processors to coordinate which bonds are created. Moreover, if any bonds are created, neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that -should be turned "off" due to a bond creation, because they are now +should be turned “off” due to a bond creation, because they are now excluded by the presence of the bond and the settings of the -special_bonds command, will be immediately +special_bonds command, will be immediately recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently. -

    -

    You can dump out snapshots of the current bond topology via the dump -local command. -

    -

    IMPORTANT NOTE: Creating a bond typically alters the energy of a +Thus you should be cautious about invoking this fix too frequently.

    +

    You can dump out snapshots of the current bond topology via the dump local command.

    +
    +

    Warning

    +

    Creating a bond typically alters the energy of a system. You should be careful not to choose bond creation criteria that induce a dramatic change in energy. For example, if you define a very stiff harmonic bond and create it when 2 atoms are separated by a distance far from the equilibribum bond length, then the 2 atoms will oscillate dramatically when the bond is formed. More generally, you may need to thermostat your system to compensate for energy changes -resulting from created bonds (and angles, dihedrals, impropers). -

    -
    +resulting from created bonds (and angles, dihedrals, impropers).

    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes two statistics which it stores in a global vector of +length 2, which can be accessed by various output commands. The vector values calculated +by this fix are “intensive”.

    +

    These are the 2 quantities:

    +
      +
      1. +
      2. # of bonds created on the most recent creation timestep
      3. +
      +
    • +
      1. +
      2. cummulative # of bonds created
      3. +
      +
    • +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are iparam = (0,itype), jparam = (0,jtype), and +prob = 1.0.

    +
    + -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various output -commands. The vector values calculated -by this fix are "intensive". -

    -

    These are the 2 quantities: -

    -
    • (1) # of bonds created on the most recent creation timestep -
    • (2) cummulative # of bonds created -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix bond/break, fix -bond/swap, dump local, -special_bonds -

    -

    Default: -

    -

    The option defaults are iparam = (0,itype), jparam = (0,jtype), and -prob = 1.0. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_bond_swap.html b/doc/fix_bond_swap.html index fbf2288613..d97fca06aa 100644 --- a/doc/fix_bond_swap.html +++ b/doc/fix_bond_swap.html @@ -1,34 +1,154 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix bond/swap command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix bond/swap command -

    -

    Syntax: -

    -
    fix ID group-ID bond/swap Nevery fraction cutoff seed 
    -
    -
    • ID, group-ID are documented in fix command -
    • bond/swap = style name of this fix command -
    • Nevery = attempt bond swapping every this many steps -
    • fraction = fraction of group atoms to consider for swapping -
    • cutoff = distance at which swapping will be considered (distance units) -
    • seed = random # seed (positive integer) -
    -

    Examples: -

    -
    fix 1 all bond/swap 50 0.5 1.3 598934 
    -
    -

    Description: -

    -

    In a simulation of polymer chains, this command attempts to swap bonds + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix bond/swap command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID bond/swap Nevery fraction cutoff seed
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • bond/swap = style name of this fix command
    • +
    • Nevery = attempt bond swapping every this many steps
    • +
    • fraction = fraction of group atoms to consider for swapping
    • +
    • cutoff = distance at which swapping will be considered (distance units)
    • +
    • seed = random # seed (positive integer)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all bond/swap 50 0.5 1.3 598934
    +
    +
    +
    +
    +

    Description¶

    +

    In a simulation of polymer chains, this command attempts to swap bonds between two different chains, effectively grafting the end of one chain onto another chain and vice versa. This is done via Monte Carlo rules using the Boltzmann acceptance criterion. The purpose is to @@ -37,54 +157,47 @@ alone would do it, by enabling instantaneous large conformational changes in a dense polymer melt. The polymer chains should thus more rapidly converge to the proper end-to-end distances and radii of gyration. It is designed for use with systems of -FENE or harmonic bead-spring +FENE or harmonic bead-spring polymer chains where each polymer is a linear chain of monomers, but LAMMPS does not enforce this requirement, i.e. any -bond_style can be used. -

    -

    A schematic of the kinds of bond swaps that can occur is shown here: -

    -
    -
    -

    On the left, the red and blue chains have two monomers A1 and B1 close +bond_style can be used.

    +

    A schematic of the kinds of bond swaps that can occur is shown here:

    +_images/bondswap.jpg +

    On the left, the red and blue chains have two monomers A1 and B1 close to each other, which are currently bonded to monomers A2 and B2 respectively within their own chains. The bond swap operation will attempt to delete the A1-A2 and B1-B2 bonds and replace them with A1-B2 and B1-A2 bonds. If the swap is energetically favorable, the two chains on the right are the result and each polymer chain has undergone a dramatic conformational change. This reference, -(Sides) provides more details on how the algorithm works and -its application: -

    -

    The bond swapping operation is invoked every Nevery timesteps. If +(Sides) provides more details on how the algorithm works and +its application:

    +

    The bond swapping operation is invoked every Nevery timesteps. If any bond is swapped, a re-build of the neighbor lists is triggered, since a swap alters the list of which neighbors are considered for pairwise interaction. At each invocation, each processor considers a -random specified fraction of its atoms as potential swapping -monomers for this timestep. Choosing a small fraction value can +random specified fraction of its atoms as potential swapping +monomers for this timestep. Choosing a small fraction value can reduce the likelihood of a reverse swap occurring soon after an -initial swap. -

    -

    For each monomer A1, its neighbors are examined to find a possible B1 +initial swap.

    +

    For each monomer A1, its neighbors are examined to find a possible B1 monomer. Both A1 and B1 must be in the fix group, their separation -must be less than the specified cutoff, and the molecule IDs of A1 +must be less than the specified cutoff, and the molecule IDs of A1 and B1 must be the same (see below). If a suitable partner is found, the energy change due to swapping the 2 bonds is computed. This includes changes in pairwise, bond, and angle energies due to the altered connectivity of the 2 chains. Dihedral and improper -interactions are not allowed to be defined when this fix is used. -

    -

    If the energy decreases due to the swap operation, the bond swap is +interactions are not allowed to be defined when this fix is used.

    +

    If the energy decreases due to the swap operation, the bond swap is accepted. If the energy increases it is accepted with probability exp(-delta/kT) where delta is the increase in energy, k is the Boltzmann constant, and T is the current temperature of the system. Whether the swap is accepted or rejected, no other swaps are attempted -by this processor on this timestep. -

    -

    The criterion for matching molecule IDs is how bond swaps performed by +by this processor on this timestep.

    +

    The criterion for matching molecule IDs is how bond swaps performed by this fix conserve chain length. To use this features you must setup the molecule IDs for your polymer chains in a certain way, typically -in the data file, read by the read_data comand. +in the data file, read by the read_data comand. Consider a system of 6-mer chains. You have 2 choices. If the molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then swaps will conserve chain length. For a particular momoner there will @@ -94,106 +207,153 @@ partner. If the molecule IDs for monomers on each chain are set to able to occur at either end of a chain. Thus for a particular monomer there will be 2 possible swap partners on another chain. In this scenario, swaps can also occur within a single chain, i.e. the two -ends of a chain swap with each other. -

    -

    IMPORTANT NOTE: If your simulation uses molecule IDs in the usual way, +ends of a chain swap with each other.

    +
    +

    Warning

    +

    If your simulation uses molecule IDs in the usual way, where all monomers on a single chain are assigned the same ID (different for each chain), then swaps will only occur within the same chain. If you assign the same molecule ID to all monomers in all chains then inter-chain swaps will occur, but they will not conserve chain length. Neither of these scenarios is probably what you want -for this fix. -

    -

    IMPORTANT NOTE: When a bond swap occurs the image flags of monomers in +for this fix.

    +
    +
    +

    Warning

    +

    When a bond swap occurs the image flags of monomers in the new polymer chains can become inconsistent. See the -dump command for a discussion of image flags. This is not +dump command for a discussion of image flags. This is not an issue for running dynamics, but can affect calculation of some diagnostic quantities or the printing of unwrapped coordinates to a -dump file. -

    -
    - -

    This fix computes a temperature each time it is invoked for use by the +dump file.

    +
    +
    +

    This fix computes a temperature each time it is invoked for use by the Boltzmann criterion. To do this, the fix creates its own compute of -style temp, as if this command had been issued: -

    -
    compute fix-ID_temp all temp 
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID with underscore + "temp" -appended and the group for the new compute is "all", so that the -temperature of the entire system is used. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +style temp, as if this command had been issued:

    +
    compute fix-ID_temp all temp
    +
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID with underscore + “temp” +appended and the group for the new compute is “all”, so that the +temperature of the entire system is used.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodyanmic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -
    - -

    Restart, fix_modify, thermo output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" +compute_modify command or print this temperature +during thermodyanmic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +
    +

    Restart, fix_modify, thermo output, run start/stop, minimize info:

    +

    No information about this fix is written to binary restart files. Because the state of the random number generator +is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. Also note that each processor generates possible swaps independently of other processors. Thus if you repeat the same simulation on a different number -of processors, the specific swaps performed will be different. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +of processors, the specific swaps performed will be different.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used to compute the temperature for -the Boltzmann criterion. -

    -

    This fix computes two statistical quantities as a global 2-vector of -output, which can be accessed by various output -commands. The first component of the +the Boltzmann criterion.

    +

    This fix computes two statistical quantities as a global 2-vector of +output, which can be accessed by various output commands. The first component of the vector is the cummulative number of swaps performed by all processors. The second component of the vector is the cummulative number of swaps -attempted (whether accepted or rejected). Note that a swap "attempt" +attempted (whether accepted or rejected). Note that a swap “attempt” only occurs when swap partners meeting the criteria described above are found on a particular timestep. The vector values calculated by -this fix are "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    The setings of the "special_bond" command must be 0,1,1 in order to +this fix are “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +

    The setings of the “special_bond” command must be 0,1,1 in order to use this fix, which is typical of bead-spring chains with FENE or harmonic bonds. This means that pairwise interactions between bonded atoms are turned off, but are turned on between atoms two or three -hops away along the chain backbone. -

    -

    Currently, energy changes in dihedral and improper interactions due to +hops away along the chain backbone.

    +

    Currently, energy changes in dihedral and improper interactions due to a bond swap are not considered. Thus a simulation that uses this fix -cannot use a dihedral or improper potential. -

    -

    Related commands: -

    -

    fix atom/swap -

    -

    Default: none -

    -
    +cannot use a dihedral or improper potential.

    +
    + +
    - -

    (Sides) Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, -199-208 (2004). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_box_relax.html b/doc/fix_box_relax.html index 13af69fe32..8c7626726d 100644 --- a/doc/fix_box_relax.html +++ b/doc/fix_box_relax.html @@ -1,115 +1,225 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix box/relax command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix box/relax command -

    -

    Syntax: -

    -
    fix ID group-ID box/relax keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • box/relax = style name of this fix command - -
      one or more keyword value pairs may be appended
      -keyword = iso or aniso or tri or x or y or z or xy or yz or xz or couple or nreset or vmax or dilate or scaleyz or scalexz or scalexy or fixedpoint 
      -  iso or aniso or tri value = Ptarget = desired pressure (pressure units)
      -  x or y or z or xy or yz or xz value = Ptarget = desired pressure (pressure units)
      -  couple = none or xyz or xy or yz or xz
      -  nreset value = reset reference cell every this many minimizer iterations
      -  vmax value = fraction = max allowed volume change in one iteration
      -  dilate value = all or partial 
      -  scaleyz value = yes or no = scale yz with lz
      -  scalexz value = yes or no = scale xz with lz
      -  scalexy value = yes or no = scale xy with ly
      -  fixedpoint values = x y z
      -    x,y,z = perform relaxation dilation/contraction around this point (distance units) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all box/relax iso 0.0 vmax 0.001
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix box/relax command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID box/relax keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • box/relax = style name of this fix command
    • +
    +
    +one or more keyword value pairs may be appended
    +keyword = iso or aniso or tri or x or y or z or xy or yz or xz or couple or nreset or vmax or dilate or scaleyz or scalexz or scalexy or fixedpoint
    +  iso or aniso or tri value = Ptarget = desired pressure (pressure units)
    +  x or y or z or xy or yz or xz value = Ptarget = desired pressure (pressure units)
    +  couple = none or xyz or xy or yz or xz
    +  nreset value = reset reference cell every this many minimizer iterations
    +  vmax value = fraction = max allowed volume change in one iteration
    +  dilate value = all or partial
    +  scaleyz value = yes or no = scale yz with lz
    +  scalexz value = yes or no = scale xz with lz
    +  scalexy value = yes or no = scale xy with ly
    +  fixedpoint values = x y z
    +    x,y,z = perform relaxation dilation/contraction around this point (distance units)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all box/relax iso 0.0 vmax 0.001
     fix 2 water box/relax aniso 0.0 dilate partial
    -fix 2 ice box/relax tri 0.0 couple xy nreset 100 
    -
    -

    Description: -

    -

    Apply an external pressure or stress tensor to the simulation box -during an energy minimization. This allows the box +fix 2 ice box/relax tri 0.0 couple xy nreset 100 +

    + + +
    +

    Description¶

    +

    Apply an external pressure or stress tensor to the simulation box +during an energy minimization. This allows the box size and shape to vary during the iterations of the minimizer so that the final configuration will be both an energy minimum for the potential energy of the atoms, and the system pressure tensor will be close to the specified external tensor. Conceptually, specifying a positive pressure is like squeezing on the simulation box; a negative -pressure typically allows the box to expand. -

    -
    - -

    The external pressure tensor is specified using one or more of the -iso, aniso, tri, x, y, z, xy, xz, yz, and couple +pressure typically allows the box to expand.

    +
    +

    The external pressure tensor is specified using one or more of the +iso, aniso, tri, x, y, z, xy, xz, yz, and couple keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are -varied together during the mimimization. -

    -

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). +varied together during the mimimization.

    +

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The create_box, read -data, and read_restart commands +dimensions (x,y,z,xy,xz,yz). The create_box, read data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. -

    -

    The target pressures Ptarget for each of the 6 components of the -stress tensor can be specified independently via the x, y, z, -xy, xz, yz keywords, which correspond to the 6 simulation box -dimensions. For example, if the y keyword is used, the y-box length -will change during the minimization. If the xy keyword is used, the +(triclinic) and explain the meaning of the xy,xz,yz tilt factors.

    +

    The target pressures Ptarget for each of the 6 components of the +stress tensor can be specified independently via the x, y, z, +xy, xz, yz keywords, which correspond to the 6 simulation box +dimensions. For example, if the y keyword is used, the y-box length +will change during the minimization. If the xy keyword is used, the xy tilt factor will change. A box dimension will not change if that -component is not specified. -

    -

    Note that in order to use the xy, xz, or yz keywords, the +component is not specified.

    +

    Note that in order to use the xy, xz, or yz keywords, the simulation box must be triclinic, even if its initial tilt factors are -0.0. -

    -

    When the size of the simulation box changes, all atoms are re-scaled -to new positions, unless the keyword dilate is specified with a -value of partial, in which case only the atoms in the fix group are +0.0.

    +

    When the size of the simulation box changes, all atoms are re-scaled +to new positions, unless the keyword dilate is specified with a +value of partial, in which case only the atoms in the fix group are re-scaled. This can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a -surrounding fluid. -

    -

    The scaleyz, scalexz, and scalexy keywords control whether or +surrounding fluid.

    +

    The scaleyz, scalexz, and scalexy keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when relaxing triclinic periodic cells. The default -values yes will turn on scaling, which corresponds to adjusting the +values yes will turn on scaling, which corresponds to adjusting the linear dimensions of the cell while preserving its shape. Choosing -no ensures that the tilt factors are not scaled with the box +no ensures that the tilt factors are not scaled with the box dimensions. See below for restrictions and default values in different situations. In older versions of LAMMPS, scaling of tilt factors was not performed. The old behavior can be recovered by setting all three -scale keywords to no. -

    -

    The fixedpoint keyword specifies the fixed point for cell relaxation. +scale keywords to no.

    +

    The fixedpoint keyword specifies the fixed point for cell relaxation. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to fixedpoint, then the lower periodic boundaries will remain at +to fixedpoint, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as -far. In all cases, the particle positions at each iteration are -unaffected by the chosen value, except that all particles are -displaced by the same amount, different on each iteration. -

    -

    IMPORTANT NOTE: Appling an external pressure to tilt dimensions xy, -xz, yz can sometimes result in arbitrarily large values of the +far. In all cases, the particle positions at each iteration are +unaffected by the chosen value, except that all particles are +displaced by the same amount, different on each iteration.

    +
    +

    Warning

    +

    Appling an external pressure to tilt dimensions xy, +xz, yz can sometimes result in arbitrarily large values of the tilt factors, i.e. a dramatically deformed simulation box. This typically indicates that there is something badly wrong with how the simulation was constructed. The two most common sources of this error @@ -119,132 +229,118 @@ solid. In either case the minimization may converge to a bogus conformation or not converge at all. Also note that if the box shape tilts to an extreme shape, LAMMPS will run less efficiently, due to the large volume of communication needed to acquire ghost atoms around -a processor's irregular-shaped sub-domain. For extreme values of -tilt, LAMMPS may also lose atoms and generate an error. -

    -

    IMPORTANT NOTE: Performing a minimization with this fix is not a +a processor’s irregular-shaped sub-domain. For extreme values of +tilt, LAMMPS may also lose atoms and generate an error.

    +
    +
    +

    Warning

    +

    Performing a minimization with this fix is not a mathematically well-defined minimization problem. This is because the objective function being minimized changes if the box size/shape -changes. In practice this means the minimizer can get "stuck" before +changes. In practice this means the minimizer can get “stuck” before you have reached the desired tolerance. The solution to this is to restart the minmizer from the new adjusted box size/shape, since that creates a new objective function valid for the new box size/shape. Repeat as necessary until the box size/shape has reached its new -equilibrium. -

    -
    - -
    - -
    - -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +equilibrium.

    +
    +
    +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be “coupled” together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Ptarget values for any coupled dimensions must be identical. -Couple xyz can be used for a 2d simulation; the z dimension is -simply ignored. -

    -
    - -

    The iso, aniso, and tri keywords are simply shortcuts that are -equivalent to specifying several other keywords together. -

    -

    The keyword iso means couple all 3 diagonal components together when +Ptarget values for any coupled dimensions must be identical. +Couple xyz can be used for a 2d simulation; the z dimension is +simply ignored.

    +
    +

    The iso, aniso, and tri keywords are simply shortcuts that are +equivalent to specifying several other keywords together.

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Ptarget" is the same as specifying -these 4 keywords: -

    -
    x Ptarget
    +dimensions together.  Using “iso Ptarget” is the same as specifying
    +these 4 keywords:

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -couple xyz 
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz +

    + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Ptarget" is the same as specifying these 4 -keywords: -

    -
    x Ptarget
    +pressure.  Using “aniso Ptarget” is the same as specifying these 4
    +keywords:

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -couple none 
    -
    -

    The keyword tri means x, y, z, xy, xz, and yz dimensions +couple none +

    + +

    The keyword tri means x, y, z, xy, xz, and yz dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the -external normal stress. Using "tri Ptarget" is the same as specifying -these 7 keywords: -

    -
    x Ptarget
    +external normal stress.  Using “tri Ptarget” is the same as specifying
    +these 7 keywords:

    +
    x Ptarget
     y Ptarget
     z Ptarget
    -xy 0.0 
    -yz 0.0 
    -xz 0.0 
    -couple none 
    -
    -
    - -

    The vmax keyword can be used to limit the fractional change in the +xy 0.0 +yz 0.0 +xz 0.0 +couple none +

    + +
    +

    The vmax keyword can be used to limit the fractional change in the volume of the simulation box that can occur in one iteration of the minimizer. If the pressure is not settling down during the minimization this can be because the volume is fluctuating too much. -The specified fraction must be greater than 0.0 and should be << 1.0. +The specified fraction must be greater than 0.0 and should be << 1.0. A value of 0.001 means the volume cannot change by more than 1/10 of a -percent in one iteration when couple xyz has been specified. For +percent in one iteration when couple xyz has been specified. For any other case it means no linear dimension of the simulation box can -change by more than 1/10 of a percent. -

    -
    - -

    With this fix, the potential energy used by the minimizer is augmented +change by more than 1/10 of a percent.

    +
    +

    With this fix, the potential energy used by the minimizer is augmented by an additional energy provided by the fix. The overall objective -function then is: -

    -
    -
    -

    where U is the system potential energy, P_t is the desired -hydrostatic pressure, V and V_0 are the system and reference -volumes, respectively. E_strain is the strain energy expression -proposed by Parrinello and Rahman (Parrinello1981). -Taking derivatives of E w.r.t. the box dimensions, and setting these +function then is:

    +_images/fix_box_relax1.jpg +

    where U is the system potential energy, P*_t is the desired +hydrostatic pressure, *V and V*_0 are the system and reference +volumes, respectively. *E*_*strain is the strain energy expression +proposed by Parrinello and Rahman (Parrinello1981). +Taking derivatives of E w.r.t. the box dimensions, and setting these to zero, we find that at the minimum of the objective function, the -global system stress tensor P will satisfy the relation: -

    -
    -
    -

    where I is the identity matrix, h_0 is the box dimension tensor of -the reference cell, and h_0d is the diagonal part of -h_0. S_t is a symmetric stress tensor that is chosen by LAMMPS -so that the upper-triangular components of P equal the stress tensor -specified by the user. -

    -

    This equation only applies when the box dimensions are equal to those +global system stress tensor P will satisfy the relation:

    +_images/fix_box_relax2.jpg +

    where I is the identity matrix, h**_0 is the box dimension tensor of +the reference cell, and **h**_0*d* is the diagonal part of +**h**_0. **S**_*t* is a symmetric stress tensor that is chosen by LAMMPS +so that the upper-triangular components of **P equal the stress tensor +specified by the user.

    +

    This equation only applies when the box dimensions are equal to those of the reference dimensions. If this is not the case, then the converged stress tensor will not equal that specified by the user. We can resolve this problem by periodically resetting the reference -dimensions. The keyword nreset_ref controls how often this is done. +dimensions. The keyword nreset_ref controls how often this is done. If this keyword is not used, or is given a value of zero, then the reference dimensions are set to those of the initial simulation domain -and are never changed. A value of nstep means that every nstep +and are never changed. A value of nstep means that every nstep minimization steps, the reference dimensions are set to those of the current simulation domain. Note that resetting the reference dimensions changes the objective function and gradients, which sometimes causes the minimization to fail. This can be resolved by -changing the value of nreset, or simply continuing the minimization -from a restart file. -

    -

    IMPORTANT NOTE: As normally computed, pressure includes a kinetic- -energy or temperature-dependent component; see the compute -pressure command. However, atom velocities are +changing the value of nreset, or simply continuing the minimization +from a restart file.

    +
    +

    Warning

    +

    As normally computed, pressure includes a kinetic- +energy or temperature-dependent component; see the compute pressure command. However, atom velocities are ignored during a minimization, and the applied pressure(s) specified with this command are assumed to only be the virial component of the pressure (the non-kinetic portion). Thus if atoms have a non-zero @@ -254,116 +350,169 @@ solution for this is to either (a) zero the velocities of all atoms before performing the minimization, or (b) make sure you are monitoring the pressure without its kinetic component. The latter can be done by outputting the pressure from the fix this command creates -(see below) or a pressure fix you define yourself. -

    -

    IMPORTANT NOTE: Because pressure is often a very sensitive function of +(see below) or a pressure fix you define yourself.

    +
    +
    +

    Warning

    +

    Because pressure is often a very sensitive function of volume, it can be difficult for the minimizer to equilibrate the system the desired pressure with high precision, particularly for solids. Some techniques that seem to help are (a) use the -"min_modify line quadratic" option when minimizing with box +“min_modify line quadratic” option when minimizing with box relaxations, (b) minimize several times in succession if need be, to drive the pressure closer to the target pressure, (c) relax the atom positions before relaxing the box, and (d) relax the box to the target hydrostatic pressure before relaxing to a target shear stress state. Also note that some systems (e.g. liquids) will not sustain a non-hydrostatic applied -pressure, which means the minimizer will not converge. -

    -
    - -

    This fix computes a temperature and pressure each timestep. The +pressure, which means the minimizer will not converge.

    +
    +
    +

    This fix computes a temperature and pressure each timestep. The temperature is used to compute the kinetic contribution to the pressure, even though this is subsequently ignored by default. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if these commands had been issued: -

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp virial 
    -
    -

    See the compute temp and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is the same +this, the fix creates its own computes of style “temp” and “pressure”, +as if these commands had been issued:

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp virial
    +
    +
    +

    See the compute temp and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is the same as the fix group. Also note that the pressure compute does not -include a kinetic component. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp and press options are +include a kinetic component.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its temperature and pressure calculation, as described above. Note that as described above, if you assign a pressure compute to this fix that includes a kinetic energy component it will affect the -minimization, most likely in an undesirable way. -

    -

    IMPORTANT NOTE: If both the temp and press keywords are used in a +minimization, most likely in an undesirable way.

    +
    +

    Warning

    +

    If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by fix npt), but -only if the temp keyword comes after the press keyword. If the -temp keyword comes before the press keyword, then the new pressure -compute specified by the press keyword will be unaffected by the -temp setting. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -pressure-volume energy, plus the strain energy, if it exists. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    This fix is invoked during energy minimization, but +only if the temp keyword comes after the press keyword. If the +temp keyword comes before the press keyword, then the new pressure +compute specified by the press keyword will be unaffected by the +temp setting.

    +
    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +pressure-volume energy, plus the strain energy, if it exists.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    This fix is invoked during energy minimization, but not for the purpose of adding a contribution to the energy or forces being minimized. Instead it alters the simulation box geometry as -described above. -

    -

    Restrictions: -

    -

    Only dimensions that are available can be adjusted by this fix. -Non-periodic dimensions are not available. z, xz, and yz, are -not available for 2D simulations. xy, xz, and yz are only +described above.

    +
    +
    +

    Restrictions¶

    +

    Only dimensions that are available can be adjusted by this fix. +Non-periodic dimensions are not available. z, xz, and yz, are +not available for 2D simulations. xy, xz, and yz are only available if the simulation domain is non-orthogonal. The -create_box, read data, and -read_restart commands specify whether the +create_box, read data, and +read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain -the meaning of the xy,xz,yz tilt factors. -

    -

    The scaleyz yes and scalexz yes keyword/value pairs can not be used -for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options +the meaning of the xy,xz,yz tilt factors.

    +

    The scaleyz yes and scalexz yes keyword/value pairs can not be used +for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options can only be used if the 2nd dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -tri, yz, xz, and xy. -

    -

    Related commands: -

    -

    fix npt, minimize -

    -

    Default: -

    -

    The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. -

    -
    +tri, yz, xz, and xy.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0.

    +
    +

    (Parrinello1981) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    +
    + - -

    (Parrinello1981) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_colvars.html b/doc/fix_colvars.html index 5aa30bb707..b69823d441 100644 --- a/doc/fix_colvars.html +++ b/doc/fix_colvars.html @@ -1,147 +1,304 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix colvars command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix colvars command -

    -

    Syntax: -

    -
    fix ID group-ID colvars configfile keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • colvars = style name of this fix command - -
    • configfile = the configuration file for the colvars module - -
    • keyword = input or output or seed or tstat - -
        input arg = colvars.state file name or prefix or NULL (default: NULL)
      -  output arg = output filename prefix (default: out)
      -  seed arg = seed for random number generator (default: 1966)
      -  unwrap arg = yes or no
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix colvars command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID colvars configfile keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • colvars = style name of this fix command
      • +
      • configfile = the configuration file for the colvars module
      • +
      • keyword = input or output or seed or tstat
      • +
      +
      +input arg = colvars.state file name or prefix or NULL (default: NULL)
      +  output arg = output filename prefix (default: out)
      +  seed arg = seed for random number generator (default: 1966)
      +  unwrap arg = yes or no
           use unwrapped coordinates in collective variables (default: yes)
      -  tstat arg = fix id of a thermostat or NULL (default: NULL) 
      -
      - -
    -

    Examples: -

    -
    fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide
    -fix abf all colvars colvars.inp tstat 1 
    -
    -

    Description: -

    -

    This fix interfaces LAMMPS to a "collective variables" or "colvars" + tstat arg = fix id of a thermostat or NULL (default: NULL) + +

    +
    +

    Examples¶

    +
    fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide
    +fix abf all colvars colvars.inp tstat 1
    +
    +
    +
    +
    +

    Description¶

    +

    This fix interfaces LAMMPS to a “collective variables” or “colvars” module library which allows to calculate potentials of mean force (PMFs) for any set of colvars, using different sampling methods: currently implemented are the Adaptive Biasing Force (ABF) method, metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a flexible harmonic restraint bias. The colvars library is -hosted at http://colvars.github.io/ -

    -

    This documentation describes only the fix colvars command itself and -LAMMPS specific parts of the code. The full documentation of the -colvars library is available as this supplementary PDF document -

    -

    A detailed discussion of the implementation of the portable collective -variable library is in (Fiorin). Additional information can -be found in (Henin). -

    -

    There are some example scripts for using this package with LAMMPS in the -examples/USER/colvars directory. -

    -
    - -

    The only mandatory argument to the fix is the filename to the colvars +hosted at http://colvars.github.io/

    +

    This documentation describes only the fix colvars command itself and +LAMMPS specific parts of the code. The full documentation of the +colvars library is available as this supplementary PDF document

    +

    A detailed discussion of the implementation of the portable collective +variable library is in (Fiorin). Additional information can +be found in (Henin).

    +

    There are some example scripts for using this package with LAMMPS in the +examples/USER/colvars directory.

    +
    +

    The only mandatory argument to the fix is the filename to the colvars input file that contains the input that is independent from the MD -program in which the colvars library has been integrated. -

    -

    The group-ID entry is ignored. The collective variable module will +program in which the colvars library has been integrated.

    +

    The group-ID entry is ignored. The collective variable module will always apply to the entire system and there can only be one instance of the colvars fix at a time. The colvars fix will only communicate the minimum information necessary and the colvars library supports multiple, completely independent collective variables, so there is -no restriction to functionaliry by limiting the number of colvars fixes. -

    -

    The input keyword allows to specify a state file that would contain +no restriction to functionaliry by limiting the number of colvars fixes.

    +

    The input keyword allows to specify a state file that would contain the restart information required in order to continue a calculation from -a prerecorded state. Fix colvars records it state in binary restart -files, so when using the read_restart command, -this is usually not needed. -

    -

    The output keyword allows to specify the output prefix. All output -files generated will use this prefix followed by the ".colvars." and -a word like "state" or "traj". -

    -

    The seed keyword contains the seed for the random number generator -that will be used in the colvars module. -

    -

    The unwrap keyword controls whether wrapped or unwrapped coordinates +a prerecorded state. Fix colvars records it state in binary restart +files, so when using the read_restart command, +this is usually not needed.

    +

    The output keyword allows to specify the output prefix. All output +files generated will use this prefix followed by the ”.colvars.” and +a word like “state” or “traj”.

    +

    The seed keyword contains the seed for the random number generator +that will be used in the colvars module.

    +

    The unwrap keyword controls whether wrapped or unwrapped coordinates are passed to the colvars library for calculation of the collective -variables and the resulting forces. The default is yes, i.e. to use +variables and the resulting forces. The default is yes, i.e. to use the image flags to reconstruct the absolute atom positions. -Setting this to no will use the current local coordinates that are -wrapped back into the simulation cell at each re-neighboring instead. -

    -

    The tstat keyword can be either NULL or the label of a thermostating +Setting this to no will use the current local coordinates that are +wrapped back into the simulation cell at each re-neighboring instead.

    +

    The tstat keyword can be either NULL or the label of a thermostating fix that thermostats all atoms in the fix colvars group. This will be used to provide the colvars module with the current thermostat target -temperature. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the current status of the colvars module into -binary restart files. This is in addition to the text +temperature.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the current status of the colvars module into +binary restart files. This is in addition to the text mode status file that is written by the colvars module itself and the -kind of information in both files is identical. -

    -

    The fix_modify energy option is supported by this +kind of information in both files is identical.

    +

    The fix_modify energy option is supported by this fix to add the energy change from the biasing force added by the fix -to the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +to the system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". -

    -

    Restrictions: -

    -

    This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    There can only be one colvars fix active at a time. Since the interface +calculated by this fix is “extensive”.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-COLVARS package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    There can only be one colvars fix active at a time. Since the interface communicates only the minimum amount of information and colvars module itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality. -

    -

    Related commands: -

    -

    fix smd -

    -

    Default: -

    -

    The default options are input = NULL, output = out, seed = 1966, unwrap yes, -and tstat = NULL. -

    -
    +not a limitation of functionality.

    +
    + +
    +

    Default¶

    +

    The default options are input = NULL, output = out, seed = 1966, unwrap yes, +and tstat = NULL.

    +
    +

    (Fiorin) Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594

    +

    (Henin) Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6, +35-47 (2010)

    +
    + - -

    (Fiorin) Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594 -

    - + + +
    + -

    (Henin) Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6, -35-47 (2010) -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_deform.html b/doc/fix_deform.html index f9a7526b51..b49b4b7aa4 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -1,366 +1,448 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix deform command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix deform command -

    -

    Syntax: -

    -
    fix ID group-ID deform N parameter args ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • deform = style name of this fix command - -
    • N = perform box deformation every this many timesteps - -
    • one or more parameter/arg pairs may be appended - -
      parameter = x or y or z or xy or xz or yz
      -  x, y, z args = style value(s)
      -    style = final or delta or scale or vel or erate or trate or volume or wiggle or variable
      -      final values = lo hi
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix deform command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID deform N parameter args ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • deform = style name of this fix command
      • +
      • N = perform box deformation every this many timesteps
      • +
      • one or more parameter/arg pairs may be appended
      • +
      +
      +parameter = x or y or z or xy or xz or yz
      +  x, y, z args = style value(s)
      +    style = final or delta or scale or vel or erate or trate or volume or wiggle or variable
      +      final values = lo hi
               lo hi = box boundaries at end of run (distance units)
      -      delta values = dlo dhi
      +      delta values = dlo dhi
               dlo dhi = change in box boundaries at end of run (distance units)
      -      scale values = factor
      +      scale values = factor
               factor = multiplicative factor for change in box length at end of run
      -      vel value = V
      +      vel value = V
               V = change box length at this velocity (distance/time units),
      -	    effectively an engineering strain rate
      -      erate value = R
      +         effectively an engineering strain rate
      +      erate value = R
               R = engineering strain rate (1/time units)
      -      trate value = R
      +      trate value = R
               R = true strain rate (1/time units)
      -      volume value = none = adjust this dim to preserve volume of system
      -      wiggle values = A Tp
      +      volume value = none = adjust this dim to preserve volume of system
      +      wiggle values = A Tp
               A = amplitude of oscillation (distance units)
      -	Tp = period of oscillation (time units)
      -      variable values = v_name1 v_name2
      +     Tp = period of oscillation (time units)
      +      variable values = v_name1 v_name2
               v_name1 = variable with name1 for box length change as function of time
      -	v_name2 = variable with name2 for change rate as function of time
      -  xy, xz, yz args = style value
      -    style = final or delta or vel or erate or trate or wiggle
      -      final value = tilt
      +     v_name2 = variable with name2 for change rate as function of time
      +  xy, xz, yz args = style value
      +    style = final or delta or vel or erate or trate or wiggle
      +      final value = tilt
               tilt = tilt factor at end of run (distance units)
      -      delta value = dtilt
      +      delta value = dtilt
               dtilt = change in tilt factor at end of run (distance units)
      -      vel value = V
      +      vel value = V
               V = change tilt factor at this velocity (distance/time units),
      -	    effectively an engineering shear strain rate
      -      erate value = R
      +         effectively an engineering shear strain rate
      +      erate value = R
               R = engineering shear strain rate (1/time units)
      -      trate value = R
      +      trate value = R
               R = true shear strain rate (1/time units)
      -      wiggle values = A Tp
      +      wiggle values = A Tp
               A = amplitude of oscillation (distance units)
      -	Tp = period of oscillation (time units)
      -      variable values = v_name1 v_name2
      +     Tp = period of oscillation (time units)
      +      variable values = v_name1 v_name2
               v_name1 = variable with name1 for tilt change as function of time
      -	v_name2 = variable with name2 for change rate as function of time 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = remap or flip or units - -
        remap value = x or v or none
      +     v_name2 = variable with name2 for change rate as function of time
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = remap or flip or units
      • +
      +
      +remap value = x or v or none
           x = remap coords of atoms in group into deforming box
           v = remap velocities of all atoms when they cross periodic boundaries
           none = no remapping of x or v
      -  flip value = yes or no
      +  flip value = yes or no
           allow or disallow box flips when it becomes highly skewed
      -  units value = lattice or box
      +  units value = lattice or box
           lattice = distances are defined in lattice units
      -    box = distances are defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box
    +    box = distances are defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box
     fix 1 all deform 1 x trate 0.1 y volume z volume
     fix 1 all deform 1 xy erate 0.001 remap v
    -fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 
    -
    -

    Description: -

    -

    Change the volume and/or shape of the simulation box during a dynamics +fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 +

    +
    +
    +
    +

    Description¶

    +

    Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a -continuously strained system. See the fix -nvt/sllod and compute -temp/deform commands for more details. -

    -

    For the x, y, z parameters, the associated dimension cannot be -shrink-wrapped. For the xy, yz, xz parameters, the associated +continuously strained system. See the fix nvt/sllod and compute temp/deform commands for more details.

    +

    For the x, y, z parameters, the associated dimension cannot be +shrink-wrapped. For the xy, yz, xz parameters, the associated 2nd dimension cannot be shrink-wrapped. Dimensions not varied by this command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a fix -npt or fix nph command. -

    -

    The size and shape of the simulation box at the beginning of the +unspecified parameters can also be controlled by a fix npt or fix nph command.

    +

    The size and shape of the simulation box at the beginning of the simulation run were either specified by the -create_box or read_data or -read_restart command used to setup the simulation +create_box or read_data or +read_restart command used to setup the simulation initially if it is the first run, or they are the values from the end -of the previous run. The create_box, read -data, and read_restart commands +of the previous run. The create_box, read data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0. -

    -

    As described below, the desired simulation box size and shape at the +must be triclinic, even if its initial tilt factors are 0.0.

    +

    As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial -and final values. -

    -
    - -

    For the x, y, and z parameters, this is the meaning of their -styles and values. -

    -

    The final, delta, scale, vel, and erate styles all change -the specified dimension of the box via "constant displacement" which -is effectively a "constant engineering strain rate". This means the +and final values.

    +
    +

    For the x, y, and z parameters, this is the meaning of their +styles and values.

    +

    The final, delta, scale, vel, and erate styles all change +the specified dimension of the box via “constant displacement” which +is effectively a “constant engineering strain rate”. This means the box dimension changes linearly with time from its initial to final -value. -

    -

    For style final, the final lo and hi box boundaries of a dimension +value.

    +

    For style final, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below. -

    -

    For style delta, plus or minus changes in the lo/hi box boundaries +See the discussion of the units keyword below.

    +

    For style delta, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below. -

    -

    For style scale, a multiplicative factor to apply to the box length +distance units. See the discussion of the units keyword below.

    +

    For style scale, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression. -

    -

    For style vel, a velocity at which the box length changes is -specified in units of distance/time. This is effectively a "constant -engineering strain rate", where rate = V/L0 and L0 is the initial box +factor less than 1.0 means compression.

    +

    For style vel, a velocity at which the box length changes is +specified in units of distance/time. This is effectively a “constant +engineering strain rate”, where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then after 10 psec, the box length will have doubled. After 20 psec, it -will have tripled. -

    -

    The erate style changes a dimension of the the box at a "constant -engineering strain rate". The units of the specified strain rate are -1/time. See the units command for the time units +will have tripled.

    +

    The erate style changes a dimension of the the box at a “constant +engineering strain rate”. The units of the specified strain rate are +1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and +e.g. picoseconds for “metal” units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length. The box length L as a -function of time will change as -

    -
    L(t) = L0 (1 + erate*dt) 
    -
    -

    where dt is the elapsed time (in time units). Thus if erate R is +function of time will change as

    +
    L(t) = L0 (1 + erate*dt)
    +
    +
    +

    where dt is the elapsed time (in time units). Thus if erate R is specified as 0.1 and time units are picoseconds, this means the box length will increase by 10% of its original length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = -0.01 means the box length will shrink by 1% of its original length -every picosecond. Note that for an "engineering" rate the change is +every picosecond. Note that for an “engineering” rate the change is based on the original box length, so running with R = 1 for 10 picoseconds expands the box length by a factor of 11 (strain of 10), -which is different that what the trate style would induce. -

    -

    The trate style changes a dimension of the box at a "constant true -strain rate". Note that this is not an "engineering strain rate", as -the other styles are. Rather, for a "true" rate, the rate of change +which is different that what the trate style would induce.

    +

    The trate style changes a dimension of the box at a “constant true +strain rate”. Note that this is not an “engineering strain rate”, as +the other styles are. Rather, for a “true” rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified -strain rate are 1/time. See the units command for the +strain rate are 1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and +e.g. picoseconds for “metal” units). Tensile strain is unitless and is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length. -

    -

    The box length L as a function of time will change as -

    -
    L(t) = L0 exp(trate*dt) 
    -
    -

    where dt is the elapsed time (in time units). Thus if trate R is +is the change relative to the original length.

    +

    The box length L as a function of time will change as

    +
    L(t) = L0 exp(trate*dt)
    +
    +
    +

    where dt is the elapsed time (in time units). Thus if trate R is specified as ln(1.1) and time units are picoseconds, this means the box length will increase by 10% of its current (not original) length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. R = ln(2) or ln(3) means the box length will double or triple every picosecond. R = ln(0.99) means the box length will shrink by 1% of its current length every picosecond. Note that for a -"true" rate the change is continuous and based on the current length, +“true” rate the change is continuous and based on the current length, so running with R = ln(2) for 10 picoseconds does not expand the box -length by a factor of 11 as it would with erate, but by a factor of -1024 since the box length will double every picosecond. -

    -

    Note that to change the volume (or cross-sectional area) of the +length by a factor of 11 as it would with erate, but by a factor of +1024 since the box length will double every picosecond.

    +

    Note that to change the volume (or cross-sectional area) of the simulation box at a constant rate, you can change multiple dimensions -via erate or trate. E.g. to double the box volume in a picosecond -picosecond, you could set "x erate M", "y erate M", "z erate M", with +via erate or trate. E.g. to double the box volume in a picosecond +picosecond, you could set “x erate M”, “y erate M”, “z erate M”, with M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, -the box volume doubles. Or you could set "x trate M", "y trate M", "z -trate M", with M = ln(1.26) = 0.231, and the box volume would double -every picosecond. -

    -

    The volume style changes the specified dimension in such a way that +the box volume doubles. Or you could set “x trate M”, “y trate M”, “z +trate M”, with M = ln(1.26) = 0.231, and the box volume would double +every picosecond.

    +

    The volume style changes the specified dimension in such a way that the box volume remains constant while other box dimensions are changed -explicitly via the styles discussed above. For example, "x scale 1.1 -y scale 1.1 z volume" will shrink the z box length as the x,y box +explicitly via the styles discussed above. For example, “x scale 1.1 +y scale 1.1 z volume” will shrink the z box length as the x,y box lengths increase, to keep the volume constant (product of x,y,z -lengths). If "x scale 1.1 z volume" is specified and parameter y is +lengths). If “x scale 1.1 z volume” is specified and parameter y is unspecified, then the z box length will shrink as x increases to keep -the product of x,z lengths constant. If "x scale 1.1 y volume z -volume" is specified, then both the y,z box lengths will shrink as x +the product of x,z lengths constant. If “x scale 1.1 y volume z +volume” is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant. -

    -

    For solids or liquids, note that when one dimension of the box is +aspect ratio constant.

    +

    For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically undesirable to hold the other 2 box lengths constant (unspecified by -fix deform) since that implies a density change. Using the volume +fix deform) since that implies a density change. Using the volume style for those 2 dimensions to keep the box volume constant may make more physical sense, but may also not be correct for materials and potentials whose Poisson ratio is not 0.5. An alternative is to use -fix npt aniso with zero applied pressure on those 2 -dimensions, so that they respond to the tensile strain dynamically. -

    -

    The wiggle style oscillates the specified box length dimension +fix npt aniso with zero applied pressure on those 2 +dimensions, so that they respond to the tensile strain dynamically.

    +

    The wiggle style oscillates the specified box length dimension sinusoidally with the specified amplitude and period. I.e. the box -length L as a function of time is given by -

    -
    L(t) = L0 + A sin(2*pi t/Tp) 
    -
    -

    where L0 is its initial length. If the amplitude A is a positive +length L as a function of time is given by

    +
    L(t) = L0 + A sin(2*pi t/Tp)
    +
    +
    +

    where L0 is its initial length. If the amplitude A is a positive number the box initially expands, then contracts, etc. If A is negative then the box initially contracts, then expands, etc. The amplitude can be in lattice or box distance units. See the discussion -of the units keyword below. -

    -

    The variable style changes the specified box length dimension by +of the units keyword below.

    +

    The variable style changes the specified box length dimension by evaluating a variable, which presumably is a function of time. The -variable with name1 must be an equal-style variable +variable with name1 must be an equal-style variable and should calculate a change in box length in units of distance. Note that this distance is in box units, not lattice units; see the -discussion of the units keyword below. The formula associated with -variable name1 can reference the current timestep. Note that it -should return the "change" in box length, not the absolute box length. +discussion of the units keyword below. The formula associated with +variable name1 can reference the current timestep. Note that it +should return the “change” in box length, not the absolute box length. This means it should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box. -

    -

    The variable name2 must also be an equal-style -variable and should calculate the rate of box length +evaluate to a value > 0.0 to dilate the box at future times, or a +value < 0.0 to compress the box.

    +

    The variable name2 must also be an equal-style variable and should calculate the rate of box length change, in units of distance/time, i.e. the time-derivative of the -name1 variable. This quantity is used internally by LAMMPS to reset +name1 variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an -arbitrary variable. -

    -

    Here is an example of using the variable style to perform the same -box deformation as the wiggle style formula listed above, where we -assume that the current timestep = 0. -

    -
    variable A equal 5.0
    +arbitrary variable.

    +

    Here is an example of using the variable style to perform the same +box deformation as the wiggle style formula listed above, where we +assume that the current timestep = 0.

    +
    variable A equal 5.0
     variable Tp equal 10.0
    -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)"
    -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)"
    -fix 2 all deform 1 x variable v_displace v_rate remap v 
    -
    -

    For the scale, vel, erate, trate, volume, wiggle, and -variable styles, the box length is expanded or compressed around its -mid point. -

    -
    - -

    For the xy, xz, and yz parameters, this is the meaning of their +variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" +variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" +fix 2 all deform 1 x variable v_displace v_rate remap v +

    + +

    For the scale, vel, erate, trate, volume, wiggle, and +variable styles, the box length is expanded or compressed around its +mid point.

    +
    +

    For the xy, xz, and yz parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume. -

    -

    The final, delta, vel, and erate styles all change the shear -strain at a "constant engineering shear strain rate". This means the +box does not change its volume.

    +

    The final, delta, vel, and erate styles all change the shear +strain at a “constant engineering shear strain rate”. This means the tilt factor changes linearly with time from its initial to final -value. -

    -

    For style final, the final tilt factor is specified. The value +value.

    +

    For style final, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the -units keyword below. -

    -

    For style delta, a plus or minus change in the tilt factor is +units keyword below.

    +

    For style delta, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below. -

    -

    For style vel, a velocity at which the tilt factor changes is +the discussion of the units keyword below.

    +

    For style vel, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an -"engineering shear strain rate", where rate = V/L0 and L0 is the +“engineering shear strain rate”, where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial tilt factor is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the tilt factor will be 15 Angstroms. After 2 psec, it will be 25 -Angstroms. -

    -

    The erate style changes a tilt factor at a "constant engineering -shear strain rate". The units of the specified shear strain rate are -1/time. See the units command for the time units +Angstroms.

    +

    The erate style changes a tilt factor at a “constant engineering +shear strain rate”. The units of the specified shear strain rate are +1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Shear strain is unitless and is +e.g. picoseconds for “metal” units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x -direction for xy deformation) from the unstrained orientation. -

    -

    The tilt factor T as a function of time will change as -

    -
    T(t) = T0 + L0*erate*dt 
    -
    -

    where T0 is the initial tilt factor, L0 is the original length of the +direction for xy deformation) from the unstrained orientation.

    +

    The tilt factor T as a function of time will change as

    +
    T(t) = T0 + L0*erate*dt
    +
    +
    +

    where T0 is the initial tilt factor, L0 is the original length of the box perpendicular to the shear direction (e.g. y box length for xy deformation), and dt is the elapsed time (in time units). Thus if -erate R is specified as 0.1 and time units are picoseconds, this +erate R is specified as 0.1 and time units are picoseconds, this means the shear strain will increase by 0.1 every picosecond. I.e. if the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the original y box length. R = 1 or 2 means the tilt factor will increase by 1 or 2 every picosecond. R = -0.01 means a decrease in shear -strain by 0.01 every picosecond. -

    -

    The trate style changes a tilt factor at a "constant true shear -strain rate". Note that this is not an "engineering shear strain -rate", as the other styles are. Rather, for a "true" rate, the rate +strain by 0.01 every picosecond.

    +

    The trate style changes a tilt factor at a “constant true shear +strain rate”. Note that this is not an “engineering shear strain +rate”, as the other styles are. Rather, for a “true” rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of the specified shear strain rate are 1/time. See the -units command for the time units associated with -different choices of simulation units, e.g. picoseconds for "metal" +units command for the time units associated with +different choices of simulation units, e.g. picoseconds for “metal” units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) -from the unstrained orientation. -

    -

    The tilt factor T as a function of time will change as -

    -
    T(t) = T0 exp(trate*dt) 
    -
    -

    where T0 is the initial tilt factor and dt is the elapsed time (in -time units). Thus if trate R is specified as ln(1.1) and time units +from the unstrained orientation.

    +

    The tilt factor T as a function of time will change as

    +
    T(t) = T0 exp(trate*dt)
    +
    +
    +

    where T0 is the initial tilt factor and dt is the elapsed time (in +time units). Thus if trate R is specified as ln(1.1) and time units are picoseconds, this means the shear strain or tilt factor will increase by 10% every picosecond. I.e. if the xy shear strain was initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = @@ -370,213 +452,256 @@ shrink by 1% every picosecond. Note that the change is continuous, so running with R = ln(2) for 10 picoseconds does not change the tilt factor by a factor of 10, but by a factor of 1024 since it doubles every picosecond. Note that the initial tilt factor must be non-zero -to use the trate option. -

    -

    Note that shear strain is defined as the tilt factor divided by the -perpendicular box length. The erate and trate styles control the +to use the trate option.

    +

    Note that shear strain is defined as the tilt factor divided by the +perpendicular box length. The erate and trate styles control the tilt factor, but assume the perpendicular box length remains constant. If this is not the case (e.g. it changes due to another fix deform -parameter), then this effect on the shear strain is ignored. -

    -

    The wiggle style oscillates the specified tilt factor sinusoidally +parameter), then this effect on the shear strain is ignored.

    +

    The wiggle style oscillates the specified tilt factor sinusoidally with the specified amplitude and period. I.e. the tilt factor T as a -function of time is given by -

    -
    T(t) = T0 + A sin(2*pi t/Tp) 
    -
    -

    where T0 is its initial value. If the amplitude A is a positive +function of time is given by

    +
    T(t) = T0 + A sin(2*pi t/Tp)
    +
    +
    +

    where T0 is its initial value. If the amplitude A is a positive number the tilt factor initially becomes more positive, then more negative, etc. If A is negative then the tilt factor initially becomes more negative, then more positive, etc. The amplitude can be in lattice or box distance units. See the discussion of the units -keyword below. -

    -

    The variable style changes the specified tilt factor by evaluating a +keyword below.

    +

    The variable style changes the specified tilt factor by evaluating a variable, which presumably is a function of time. The variable with -name1 must be an equal-style variable and should +name1 must be an equal-style variable and should calculate a change in tilt in units of distance. Note that this distance is in box units, not lattice units; see the discussion of the -units keyword below. The formula associated with variable name1 +units keyword below. The formula associated with variable name1 can reference the current timestep. Note that it should return the -"change" in tilt factor, not the absolute tilt factor. This means it +“change” in tilt factor, not the absolute tilt factor. This means it should evaluate to 0.0 when invoked on the initial timestep of the run -following the definition of fix deform. -

    -

    The variable name2 must also be an equal-style -variable and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the name1 +following the definition of fix deform.

    +

    The variable name2 must also be an equal-style variable and should calculate the rate of tilt change, +in units of distance/time, i.e. the time-derivative of the name1 variable. This quantity is used internally by LAMMPS to reset atom velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an -arbitrary variable. -

    -

    Here is an example of using the variable style to perform the same -box deformation as the wiggle style formula listed above, where we -assume that the current timestep = 0. -

    -
    variable A equal 5.0
    +arbitrary variable.

    +

    Here is an example of using the variable style to perform the same +box deformation as the wiggle style formula listed above, where we +assume that the current timestep = 0.

    +
    variable A equal 5.0
     variable Tp equal 10.0
    -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)"
    -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)"
    -fix 2 all deform 1 xy variable v_displace v_rate remap v 
    -
    -
    - -

    All of the tilt styles change the xy, xz, yz tilt factors during a +variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" +variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" +fix 2 all deform 1 xy variable v_displace v_rate remap v +

    + +
    +

    All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. -See the discussion of the flip keyword below, to allow this bound to -be exceeded, if desired. -

    -

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +See the discussion of the flip keyword below, to allow this bound to +be exceeded, if desired.

    +

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all equivalent. -

    -

    To obey this constraint and allow for large shear deformations to be -applied via the xy, xz, or yz parameters, the following -algorithm is used. If prd is the associated parallel box length (10 +... are all equivalent.

    +

    To obey this constraint and allow for large shear deformations to be +applied via the xy, xz, or yz parameters, the following +algorithm is used. If prd is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is flipped to the other limit (an equivalent box) and the simulation continues. Thus -for this example, if the initial xy tilt factor was 0.0 and "xy final -100.0" was specified, then during the simulation the xy tilt factor +for this example, if the initial xy tilt factor was 0.0 and “xy final +100.0” was specified, then during the simulation the xy tilt factor would increase from 0.0 to 5.0, the box would be flipped so that the tilt factor becomes -5.0, the tilt factor would increase from -5.0 to 5.0, the box would be flipped again, etc. The flip occurs 10 times and the final tilt factor at the end of the simulation would be 0.0. During each flip event, atoms are remapped into the new box in the -appropriate manner. -

    -

    The one exception to this rule is if the 1st dimension in the tilt +appropriate manner.

    +

    The one exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient due to the highly skewed simulation box. -

    -
    - -

    Each time the box size or shape is changed, the remap keyword +simply become inefficient due to the highly skewed simulation box.

    +
    +

    Each time the box size or shape is changed, the remap keyword determines whether atom positions are remapped to the new box. If -remap is set to x (the default), atoms in the fix group are +remap is set to x (the default), atoms in the fix group are remapped; otherwise they are not. Note that their velocities are not -changed, just their positions are altered. If remap is set to v, +changed, just their positions are altered. If remap is set to v, then any atom in the fix group that crosses a periodic boundary will have a delta added to its velocity equal to the difference in velocities between the lo and hi boundaries. Note that this velocity difference can include tilt components, e.g. a delta in the x velocity -when an atom crosses the y periodic boundary. If remap is set to -none, then neither of these remappings take place. -

    -

    Conceptually, setting remap to x forces the atoms to deform via an +when an atom crosses the y periodic boundary. If remap is set to +none, then neither of these remappings take place.

    +

    Conceptually, setting remap to x forces the atoms to deform via an affine transformation that exactly matches the box deformation. This setting is typically appropriate for solids. Note that though the -atoms are effectively "moving" with the box over time, it is not due +atoms are effectively “moving” with the box over time, it is not due to their having a velocity that tracks the box change, but only due to -the remapping. By contrast, setting remap to v is typically +the remapping. By contrast, setting remap to v is typically appropriate for fluids, where you want the atoms to respond to the change in box size/shape on their own and acquire a velocity that matches the box change, so that their motion will naturally track the -box without explicit remapping of their coordinates. -

    -

    IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are -performed using this fix, the option "remap v" should normally be -used. This is because fix nvt/sllod adjusts the +box without explicit remapping of their coordinates.

    +
    +

    Warning

    +

    When non-equilibrium MD (NEMD) simulations are +performed using this fix, the option “remap v” should normally be +used. This is because fix nvt/sllod adjusts the atom positions and velocities to induce a velocity profile that matches the changing box size/shape. Thus atom coordinates should NOT be remapped by fix deform, but velocities SHOULD be when atoms cross periodic boundaries, since that is consistent with maintaining the velocity profile already created by fix nvt/sllod. LAMMPS will warn -you if the remap setting is not consistent with fix nvt/sllod. -

    -

    IMPORTANT NOTE: For non-equilibrium MD (NEMD) simulations using "remap -v" it is usually desirable that the fluid (or flowing material, +you if the remap setting is not consistent with fix nvt/sllod.

    +
    +
    +

    Warning

    +

    For non-equilibrium MD (NEMD) simulations using “remap +v” it is usually desirable that the fluid (or flowing material, e.g. granular particles) stream with a velocity profile consistent with the deforming box. As mentioned above, using a thermostat such -as fix nvt/sllod or fix -lavgevin (with a bias provided by compute -temp/deform), will typically accomplish +as fix nvt/sllod or fix lavgevin (with a bias provided by compute temp/deform), will typically accomplish that. If you do not use a thermostat, then there is no driving force pushing the atoms to flow in a manner consistent with the deforming box. E.g. for a shearing system the box deformation velocity may vary from 0 at the bottom to 10 at the top of the box. But the stream velocity profile of the atoms may vary from -5 at the bottom to +5 at -the top. You can monitor these effects using the fix -ave/spatial, compute -temp/deform, and compute -temp/profile commands. One way to induce +the top. You can monitor these effects using the fix ave/spatial, compute temp/deform, and compute temp/profile commands. One way to induce atoms to stream consistent with the box deformation is to give them an -initial velocity profile, via the velocity ramp +initial velocity profile, via the velocity ramp command, that matches the box deformation rate. This also typically helps the system come to equilibrium more quickly, even if a -thermostat is used. -

    -

    IMPORTANT NOTE: If a fix rigid is defined for rigid -bodies, and remap is set to x, then the center-of-mass coordinates +thermostat is used.

    +
    +
    +

    Warning

    +

    If a fix rigid is defined for rigid +bodies, and remap is set to x, then the center-of-mass coordinates of rigid bodies will be remapped to the changing simulation box. This will be done regardless of whether atoms in the rigid bodies are in the fix deform group or not. The velocity of the centers of mass are -not remapped even if remap is set to v, since fix -nvt/sllod does not currently do anything special +not remapped even if remap is set to v, since fix nvt/sllod does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or -include a background fluid and thermostat the fluid via fix -nvt/sllod. -

    -

    The flip keyword allows the tilt factors for a triclinic box to +include a background fluid and thermostat the fluid via fix nvt/sllod.

    +
    +

    The flip keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -above. If the flip value is set to yes, the bound is enforced by -flipping the box when it is exceeded. If the flip value is set to -no, the tilt will continue to change without flipping. Note that if +above. If the flip value is set to yes, the bound is enforced by +flipping the box when it is exceeded. If the flip value is set to +no, the tilt will continue to change without flipping. Note that if you apply large deformations, this means the box shape can tilt dramatically LAMMPS will run less efficiently, due to the large volume -of communication needed to acquire ghost atoms around a processor's +of communication needed to acquire ghost atoms around a processor’s irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error. -

    -

    The units keyword determines the meaning of the distance units used -to define various arguments. A box value selects standard distance -units as defined by the units command, e.g. Angstroms for -units = real or metal. A lattice value means the distance units are -in lattice spacings. The lattice command must have +also lose atoms and generate an error.

    +

    The units keyword determines the meaning of the distance units used +to define various arguments. A box value selects standard distance +units as defined by the units command, e.g. Angstroms for +units = real or metal. A lattice value means the distance units are +in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that the -units choice also affects the vel style parameters since it is +units choice also affects the vel style parameters since it is defined in terms of distance/time. Also note that the units keyword -does not affect the variable style. You should use the xlat, -ylat, zlat keywords of the thermo_style -command if you want to include lattice spacings in a variable formula. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +does not affect the variable style. You should use the xlat, +ylat, zlat keywords of the thermo_style +command if you want to include lattice spacings in a variable formula.

    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. -

    -

    This fix can perform deformation over multiple runs, using the start -and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    You cannot apply x, y, or z deformations to a dimension that is -shrink-wrapped via the boundary comamnd. -

    -

    You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in -xy) that is shrink-wrapped via the boundary comamnd. -

    -

    Related commands: -

    -

    change_box -

    -

    Default: -

    -

    The option defaults are remap = x, flip = yes, and units = lattice. -

    - +by this fix for access by various output commands.

    +

    This fix can perform deformation over multiple runs, using the start +and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    You cannot apply x, y, or z deformations to a dimension that is +shrink-wrapped via the boundary comamnd.

    +

    You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in +xy) that is shrink-wrapped via the boundary comamnd.

    +
    + +
    +

    Default¶

    +

    The option defaults are remap = x, flip = yes, and units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index 93a498194a..e586ff546d 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -1,189 +1,289 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix deposit command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix deposit command -

    -

    Syntax: -

    -
    fix ID group-ID deposit N type M seed keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • deposit = style name of this fix command - -
    • N = # of atoms or molecules to insert - -
    • type = atom type to assign to inserted atoms (offset for moleclue insertion) - -
    • M = insert a single atom or molecule every M steps - -
    • seed = random # seed (positive integer) - -
    • one or more keyword/value pairs may be appended to args - -
    • keyword = region or id or global or local or near or attempt or rate or vx or vy or vz or mol or rigid or shake or units - -
        region value = region-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix deposit command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID deposit N type M seed keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • deposit = style name of this fix command
      • +
      • N = # of atoms or molecules to insert
      • +
      • type = atom type to assign to inserted atoms (offset for moleclue insertion)
      • +
      • M = insert a single atom or molecule every M steps
      • +
      • seed = random # seed (positive integer)
      • +
      • one or more keyword/value pairs may be appended to args
      • +
      • keyword = region or id or global or local or near or attempt or rate or vx or vy or vz or mol or rigid or shake or units
      • +
      +
      +region value = region-ID
           region-ID = ID of region to use as insertion volume
      -  id value = max or next
      +  id value = max or next
           max = atom ID for new atom(s) is max ID of all current atoms plus one
           next = atom ID for new atom(s) increments by one for every deposition
      -  global values = lo hi
      +  global values = lo hi
           lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units)
      -  local values = lo hi delta
      +  local values = lo hi delta
           lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units)
      -    delta = lateral distance within which a neighbor is considered "nearby" (distance units)
      -  near value = R
      +    delta = lateral distance within which a neighbor is considered "nearby" (distance units)
      +  near value = R
           R = only insert atom/molecule if further than R from existing particles (distance units)
      -  attempt value = Q
      +  attempt value = Q
           Q = attempt a single insertion up to Q times
      -  rate value = V
      +  rate value = V
           V = z velocity (y in 2d) at which insertion volume moves (velocity units)
      -  vx values = vxlo vxhi
      +  vx values = vxlo vxhi
           vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units)
      -  vy values = vylo vyhi
      +  vy values = vylo vyhi
           vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units)
      -  vz values = vzlo vzhi
      +  vz values = vzlo vzhi
           vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units)
      -  target values = tx ty tz
      +  target values = tx ty tz
           tx,ty,tz = location of target point (distance units)
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  molfrac values = f1 f2 ... fN
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  molfrac values = f1 f2 ... fN
           f1 to fN = relative probability of creating each of N molecules in template-ID
      -  rigid value = fix-ID
      -    fix-ID = ID of fix rigid/small command
      -  shake value = fix-ID
      -    fix-ID = ID of fix shake command
      -  units value = lattice or box
      +  rigid value = fix-ID
      +    fix-ID = ID of fix rigid/small command
      +  shake value = fix-ID
      +    fix-ID = ID of fix shake command
      +  units value = lattice or box
           lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box
    +    box = the geometry is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box
     fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8
    -fix 4 sputter deposit 1000 2 500 12235 region sphere vz -1.0 -1.0 target 5.0 5.0 0.0 units lattice 
    -
    -

    Description: -

    -

    Insert a single atom or molecule into the simulation domain every M +fix 4 sputter deposit 1000 2 500 12235 region sphere vz -1.0 -1.0 target 5.0 5.0 0.0 units lattice +

    +
    +
    +
    +

    Description¶

    +

    Insert a single atom or molecule into the simulation domain every M timesteps until N atoms or molecules have been inserted. This is useful for simulating deposition onto a surface. For the remainder of this doc page, a single inserted atom or molecule is referred to as a -"particle". -

    -

    If inserted particles are individual atoms, they are assigned the +“particle”.

    +

    If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the -molecule command, and those values are added to the +molecule command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify -type = 0. If you specify type = 2, the in the inserted molecule -will have atom types 3,4,5. -

    -

    All atoms in the inserted particle are assigned to two groups: the -default group "all" and the group specified in the fix deposit command -(which can also be "all"). -

    -

    If you are computing temperature values which include inserted +type = 0. If you specify type = 2, the in the inserted molecule +will have atom types 3,4,5.

    +

    All atoms in the inserted particle are assigned to two groups: the +default group “all” and the group specified in the fix deposit command +(which can also be “all”).

    +

    If you are computing temperature values which include inserted particles, you will want to use the -compute_modify dynamic option, which insures the +compute_modify dynamic option, which insures the current number of atoms is used as a normalizing factor each time the -temperature is computed. -

    -

    Care must be taken that inserted particles are not too near existing +temperature is computed.

    +

    Care must be taken that inserted particles are not too near existing atoms, using the options described below. When inserting particles above a surface in a non-periodic box (see the -boundary command), the possibility of a particle +boundary command), the possibility of a particle escaping the surface and flying upward should be considered, since the particle may be lost or the box size may grow infinitely large. A -fix wall/reflect command can be used to +fix wall/reflect command can be used to prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. When simulating a sputtering experiment it is probably more realistic to -ignore those atoms using the thermo_modify -command with the lost ignore option and a fixed -boundary. -

    -

    The fix deposit command must use the region keyword to define an +ignore those atoms using the thermo_modify +command with the lost ignore option and a fixed +boundary.

    +

    The fix deposit command must use the region keyword to define an insertion volume. The specified region must have been previously -defined with a region command. It must be defined with -side = in. -

    -

    IMPORTANT NOTE: LAMMPS checks that the specified region is wholly +defined with a region command. It must be defined with +side = in.

    +
    +

    Warning

    +

    LAMMPS checks that the specified region is wholly inside the simulation box. It can do this correctly for orthonormal -simulation boxes. However for triclinic -boxes, it only tests against the larger +simulation boxes. However for triclinic boxes, it only tests against the larger orthonormal box that bounds the tilted simulation box. If the specified region includes volume outside the tilted box, then an -insertion will likely fail, leading to a "lost atoms" error. Thus for +insertion will likely fail, leading to a “lost atoms” error. Thus for triclinic boxes you should insure the specified region is wholly -inside the simulation box. -

    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads files that define one or +inside the simulation box.

    +
    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads files that define one or more molecules. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. See the -molecule command for details. The only settings +molecule command for details. The only settings required to be in each file are the coordinates and types of atoms in -the molecule. -

    -

    If the molecule template contains more than one molecule, the relative +the molecule.

    +

    If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the -molfrac keyword. N relative probablities, each from 0.0 to 1.0, are +molfrac keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is deposited, a random number is used to sample from -the list of relative probabilities. The N values must sum to 1.0. -

    -

    If you wish to insert molecules via the mol keyword, that will be -treated as rigid bodies, use the rigid keyword, specifying as its -value the ID of a separate fix rigid/small -command which also appears in your input script. -

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix -shake command which also appears in your input script. -

    -

    Each timestep a particle is inserted, the coordinates for its atoms +the list of relative probabilities. The N values must sum to 1.0.

    +

    If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script.

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix shake command which also appears in your input script.

    +

    Each timestep a particle is inserted, the coordinates for its atoms are chosen as follows. For insertion of individual atoms, the -"position" referred to in the following description is the coordinate -of the atom. For insertion of molecule, the "position" is the -geometric center of the molecule; see the molecule doc +“position” referred to in the following description is the coordinate +of the atom. For insertion of molecule, the “position” is the +geometric center of the molecule; see the molecule doc page for details. A random rotation of the molecule around its center point is performed, which determines the coordinates all the -individual atoms. -

    -

    A random position within the region insertion volume is generated. If -neither the global or local keyword is used, the random position -is the trial position. If the global keyword is used, the random +individual atoms.

    +

    A random position within the region insertion volume is generated. If +neither the global or local keyword is used, the random position +is the trial position. If the global keyword is used, the random x,y values are used, but the z position of the new particle is set above the highest current atom in the simulation by a distance randomly chosen between lo/hi. (For a 2d simulation, this is done for -the y position.) If the local keyword is used, the z position is +the y position.) If the local keyword is used, the z position is set a distance between lo/hi above the highest current atom in the -simulation that is "nearby" the chosen x,y position. In this context, -"nearby" means the lateral distance (in x,y) between the new and old -particles is less than the delta setting. -

    -

    Once a trial x,y,z position has been selected, the insertion is only +simulation that is “nearby” the chosen x,y position. In this context, +“nearby” means the lateral distance (in x,y) between the new and old +particles is less than the delta setting.

    +

    Once a trial x,y,z position has been selected, the insertion is only performed if no current atom in the simulation is within a distance R of any atom in the new particle, including the effect of periodic -boundary conditions if applicable. R is defined by the near +boundary conditions if applicable. R is defined by the near keyword. Note that the default value for R is 0.0, which will allow atoms to strongly overlap if you are inserting where other atoms are present. This distance test is performed independently for each atom @@ -191,102 +291,159 @@ in an inserted molecule, based on the randomly rotated configuration of the molecule. If this test fails, a new random position within the insertion volume is chosen and another trial is made. Up to Q attempts are made. If the particle is not successfully inserted, -LAMMPS prints a warning message. -

    -

    IMPORTANT NOTE: If you are inserting finite size particles or a +LAMMPS prints a warning message.

    +
    +

    Warning

    +

    If you are inserting finite size particles or a molecule or rigid body consisting of finite-size particles, then you should typically set R larger than the distance at which any inserted particle may overlap with either a previouly inserted particle or an existing particle. LAMMPS will issue a warning if R is smaller than -this value, based on the radii of existing and inserted particles. -

    -

    The rate option moves the insertion volume in the z direction (3d) +this value, based on the radii of existing and inserted particles.

    +
    +

    The rate option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is -ignored if the global or local keywords are used, since those -options choose a z-coordinate for insertion independently. -

    -

    The vx, vy, and vz components of velocity for the inserted particle -are set using the values specified for the vx, vy, and vz +ignored if the global or local keywords are used, since those +options choose a z-coordinate for insertion independently.

    +

    The vx, vy, and vz components of velocity for the inserted particle +are set using the values specified for the vx, vy, and vz keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. For molecules, the same velocity is given to every particle (no rotation -or bond vibration). -

    -

    If the target option is used, the velocity vector of the inserted +or bond vibration).

    +

    If the target option is used, the velocity vector of the inserted particle is changed so that it points from the insertion position towards the specified target point. The magnitude of the velocity is unchanged. This can be useful, for example, for simulating a sputtering process. E.g. the target point can be far away, so that all incident particles strike the surface as if they are in an -incident beam of particles at a prescribed angle. -

    -

    The id keyword determines how atom IDs and molecule IDs are assigned +incident beam of particles at a prescribed angle.

    +

    The id keyword determines how atom IDs and molecule IDs are assigned to newly deposited particles. Molecule IDs are only assigned if -molecules are being inserted. For the max setting, the atom and +molecules are being inserted. For the max setting, the atom and molecule IDs of all current atoms are checked. Atoms in the new particle are assigned IDs starting with the current maximum plus one. If a molecule is inserted it is assigned an ID = current maximum plus one. This means that if particles leave the system, the new IDs may -replace the lost ones. For the next setting, the maximum ID of any +replace the lost ones. For the next setting, the maximum ID of any atom and molecule is stored at the time the fix is defined. Each time a new particle is added, this value is incremented to assign IDs to the new atom(s) or molecule. Thus atom and molecule IDs for deposited particles will be consecutive even if particles leave the system over -time. -

    -

    The units keyword determines the meaning of the distance units used -for the other deposition parameters. A box value selects standard -distance units as defined by the units command, -e.g. Angstroms for units = real or metal. A lattice value means the -distance units are in lattice spacings. The lattice +time.

    +

    The units keyword determines the meaning of the distance units used +for the other deposition parameters. A box value selects standard +distance units as defined by the units command, +e.g. Angstroms for units = real or metal. A lattice value means the +distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that the units choice affects all the keyword values that have -units of distance or velocity. -

    -

    IMPORTANT NOTE: If you are monitoring the temperature of a system +units of distance or velocity.

    +
    +

    Warning

    +

    If you are monitoring the temperature of a system where the atom count is changing due to adding particles, you -typically should use the compute_modify dynamic -yes command for the temperature compute you are -using. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the deposition to binary restart -files. This includes information about how many +typically should use the compute_modify dynamic yes command for the temperature compute you are +using.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the deposition to binary restart files. This includes information about how many particles have been depositied, the random number generator seed, the next timestep for deposition, etc. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this +operation of the fix continues in an uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    The specified insertion region cannot be a "dynamic" region, as -defined by the region command. -

    -

    Related commands: -

    -

    fix_pour, region -

    -

    Default: -

    -

    Insertions are performed for individual atoms, i.e. no mol setting -is defined. If the mol keyword is used, the default for molfrac +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    The specified insertion region cannot be a “dynamic” region, as +defined by the region command.

    +
    + +
    +

    Default¶

    +

    Insertions are performed for individual atoms, i.e. no mol setting +is defined. If the mol keyword is used, the default for molfrac is an equal probabilities for all molecules in the template. Additional option defaults are id = max, delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, -and units = lattice. -

    - +and units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_drag.html b/doc/fix_drag.html index adef7e6576..0aea7127ac 100644 --- a/doc/fix_drag.html +++ b/doc/fix_drag.html @@ -1,66 +1,246 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix drag command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix drag command -

    -

    Syntax: -

    -
    fix ID group-ID drag x y z fmag delta 
    -
    -
    • ID, group-ID are documented in fix command -
    • drag = style name of this fix command -
    • x,y,z = coord to drag atoms towards -
    • fmag = magnitude of force to apply to each atom (force units) -
    • delta = cutoff distance inside of which force is not applied (distance units) -
    -

    Examples: -

    -
    fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 
    -
    -

    Description: -

    -

    Apply a force to each atom in a group to drag it towards the point + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix drag command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID drag x y z fmag delta
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • drag = style name of this fix command
    • +
    • x,y,z = coord to drag atoms towards
    • +
    • fmag = magnitude of force to apply to each atom (force units)
    • +
    • delta = cutoff distance inside of which force is not applied (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0
    +
    +
    +
    +
    +

    Description¶

    +

    Apply a force to each atom in a group to drag it towards the point (x,y,z). The magnitude of the force is specified by fmag. If an atom is closer than a distance delta to the point, then the force is not -applied. -

    -

    Any of the x,y,z values can be specified as NULL which means do not +applied.

    +

    Any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force -application. -

    -

    This command can be used to steer one or more atoms to a new location -in the simulation. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +application.

    +

    This command can be used to steer one or more atoms to a new location +in the simulation.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms by the drag force. The vector -values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix spring, fix spring/self, -fix spring/rg, fix smd -

    -

    Default: none -

    - +values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_drude.html b/doc/fix_drude.html index 398abd701e..352319bd16 100644 --- a/doc/fix_drude.html +++ b/doc/fix_drude.html @@ -1,60 +1,235 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix drude command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix drude command -

    -

    Syntax: -

    -
    fix ID group-ID drude flag1 flag2 ... flagN 
    -
    -
    • ID, group-ID are documented in fix command -
    • drude = style name of this fix command -
    • tag = Drude flag for each atom type (1 to N) in the system -
    -

    Examples: -

    -
    fix 1 all drude 1 1 0 1 0 2 2 2
    -fix 1 all drude C C N C N D D D 
    -
    -

    Description: -

    -

    Assign each atom type in the system to be one of 3 kinds of atoms + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix drude command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID drude flag1 flag2 ... flagN
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • drude = style name of this fix command
    • +
    • tag = Drude flag for each atom type (1 to N) in the system
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all drude 1 1 0 1 0 2 2 2
    +fix 1 all drude C C N C N D D D
    +
    +
    +
    +
    +

    Description¶

    +

    Assign each atom type in the system to be one of 3 kinds of atoms within the Drude polarization model. This compute is designed to be -used with the thermalized Drude oscillator -model. Polarizable models in LAMMPS -are described in this Section. -

    -

    The three possible types can be designated with an integer (0,1,2) -or capital letter (N,C,D): -

    -
    • 0 or N = non-polarizable atom (not part of Drude model) -
    • 1 or C = Drude core -
    • 2 or D = Drude electron -
    -

    Restrictions: -

    -

    This fix should be invoked before any other commands that implement -the Drude oscillator model, such as fix -langevin_drude, fix -drude/transform, compute -temp/drude, pair_style -thole. -

    -

    Related commands: -

    -

    fix langevin_drude, fix -drude/transform, compute -temp/drude, pair_style -thole -

    -

    Default: None -

    - +used with the thermalized Drude oscillator model. Polarizable models in LAMMPS +are described in this Section.

    +

    The three possible types can be designated with an integer (0,1,2) +or capital letter (N,C,D):

    +
      +
    • 0 or N = non-polarizable atom (not part of Drude model)
    • +
    • 1 or C = Drude core
    • +
    • 2 or D = Drude electron
    • +
    +
    +
    +

    Restrictions¶

    +

    This fix should be invoked before any other commands that implement +the Drude oscillator model, such as fix langevin_drude, fix drude/transform, compute temp/drude, pair_style thole.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_drude_transform.html b/doc/fix_drude_transform.html index f19e5df09c..c5cac524d1 100644 --- a/doc/fix_drude_transform.html +++ b/doc/fix_drude_transform.html @@ -1,171 +1,335 @@ - - - - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix drude/transform/direct command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix drude/transform/direct command -

    -

    fix drude/transform/inverse command -

    -

    Syntax: -

    -
    fix ID group-ID style keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • style = drude/transform/direct or drude/transform/inverse -
    -

    Examples: -

    -
    fix 3 all drude/transform/direct
    -fix 1 all drude/transform/inverse 
    -
    -

    Description: -

    -

    Transform the coordinates of Drude oscillators from real to reduced + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix drude/transform/direct command¶

    +
    +
    +

    fix drude/transform/inverse command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID style keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • style = drude/transform/direct or drude/transform/inverse
    • +
    +
    +
    +

    Examples¶

    +
    fix 3 all drude/transform/direct
    +fix 1 all drude/transform/inverse
    +
    +
    +
    +
    +

    Description¶

    +

    Transform the coordinates of Drude oscillators from real to reduced and back for thermalizing the Drude oscillators as described in -(Lamoureux) using a Nose-Hoover thermostat. This fix is -designed to be used with the thermalized Drude oscillator -model. Polarizable models in LAMMPS are -described in this Section. -

    -

    Drude oscillators are a pair of atoms representing a single +(Lamoureux) using a Nose-Hoover thermostat. This fix is +designed to be used with the thermalized Drude oscillator model. Polarizable models in LAMMPS are +described in this Section.

    +

    Drude oscillators are a pair of atoms representing a single polarizable atom. Ideally, the mass of Drude particles would vanish and their positions would be determined self-consistently by iterative -minimization of the energy, the cores' positions being fixed. It is +minimization of the energy, the cores’ positions being fixed. It is however more efficient and it yields comparable results, if the Drude oscillators (the motion of the Drude particle relative to the core) are thermalized at a low temperature. In that case, the Drude -particles need a small mass. -

    -

    The thermostats act on the reduced degrees of freedom, which are +particles need a small mass.

    +

    The thermostats act on the reduced degrees of freedom, which are defined by the following equations. Note that in these equations upper case denotes atomic or center of mass values and lower case denotes Drude particle or dipole values. Primes denote the transformed -(reduced) values, while bare letters denote the original values. -

    -

    Masses: \begin{equation} M' = M + m \end{equation} -\begin{equation} m' = \frac {M\, m } {M'} \end{equation} -Positions: \begin{equation} X' = \frac {M\, X + m\, x} {M'} -\end{equation} \begin{equation} x' = x - X \end{equation} -Velocities: \begin{equation} V' = \frac {M\, V + m\, v} {M'} -\end{equation} \begin{equation} v' = v - V \end{equation} -Forces: \begin{equation} F' = F + f \end{equation} -\begin{equation} f' = \frac { M\, f - m\, F} {M'} -\end{equation} -

    -

    This transform conserves the total kinetic energy -\begin{equation} \frac 1 2 \, (M\, V^2\ + m\, v^2) -= \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end{equation} +(reduced) values, while bare letters denote the original values.

    +

    Masses: begin{equation} M’ = M + m end{equation} +begin{equation} m’ = frac {M, m } {M’} end{equation} +Positions: begin{equation} X’ = frac {M, X + m, x} {M’} +end{equation} begin{equation} x’ = x - X end{equation} +Velocities: begin{equation} V’ = frac {M, V + m, v} {M’} +end{equation} begin{equation} v’ = v - V end{equation} +Forces: begin{equation} F’ = F + f end{equation} +begin{equation} f’ = frac { M, f - m, F} {M’} +end{equation}

    +

    This transform conserves the total kinetic energy +begin{equation} frac 1 2 , (M, V^2+ m, v^2) += frac 1 2 , (M’, V’^2+ m’, v’^2) end{equation} and the virial defined with absolute positions -\begin{equation} X\, F + x\, f = X'\, F' + x'\, f' \end{equation} -

    -
    - -

    This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the fix drude command to -specify the Drude status of each atom type. -

    -

    IMPORTANT NOTE: only the Drude core atoms need to be in the group +begin{equation} X, F + x, f = X’, F’ + x’, f’ end{equation}

    +
    +

    This fix requires each atom know whether it is a Drude particle or +not. You must therefore use the fix drude command to +specify the Drude status of each atom type.

    +
    +

    Warning

    +

    only the Drude core atoms need to be in the group specified for this fix. A Drude electron will be transformed together with its cores even if it is not itself in the group. It is safe to include Drude electrons or non-polarizable atoms in the group. The -non-polarizable atoms will simply not be transformed. -

    -
    - -

    This fix does NOT perform time integration. It only transform masses, +non-polarizable atoms will simply not be transformed.

    +
    +
    +

    This fix does NOT perform time integration. It only transform masses, coordinates, velocities and forces. Thus you must use separate time -integration fixes, like fix nve or fix -npt to actually update the velocities and positions of +integration fixes, like fix nve or fix npt to actually update the velocities and positions of atoms. In order to thermalize the reduced degrees of freedom at different temperatures, two Nose-Hoover thermostats must be defined, -acting on two distinct groups. -

    -

    IMPORTANT NOTE: The fix drude/transform/direct command must appear -before any Nose-Hoover thermostating fixes. The fix -drude/transform/inverse command must appear after any Nose-Hoover -thermostating fixes. -

    -

    Example: -

    -
    fix fDIRECT all drude/transform/direct
    +acting on two distinct groups.

    +
    +

    Warning

    +

    The fix drude/transform/direct command must appear +before any Nose-Hoover thermostating fixes. The fix +drude/transform/inverse command must appear after any Nose-Hoover +thermostating fixes.

    +
    +

    Example:

    +
    fix fDIRECT all drude/transform/direct
     fix fNVT gCORES nvt temp 300.0 300.0 100.0
     fix fNVT gDRUDES nvt temp 1.0 1.0 100.0
     fix fINVERSE all drude/transform/inverse
     compute TDRUDE all temp/drude
    -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE[1] c_TDRUDE[2] 
    -
    -

    In this example, gCORES is the group of the atom cores and gDRUDES +thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE[1] c_TDRUDE[2] +

    +
    +

    In this example, gCORES is the group of the atom cores and gDRUDES is the group of the Drude particles (electrons). The centers of mass of the Drude oscillators will be thermostated at 300.0 and the internal degrees of freedom will be thermostated at 1.0. The temperatures of cores and Drude particles, in center-of-mass and -relatice coordinates, are calculated using compute -temp/drude -

    -

    In addition, if you want to use a barostat to simulate a system at -constant pressure, only one of the Nose-Hoover fixes must be npt, -the other one should be nvt. You must add a compute temp/com and a -fix_modify command so that the temperature of the npt fix be just +relatice coordinates, are calculated using compute temp/drude

    +

    In addition, if you want to use a barostat to simulate a system at +constant pressure, only one of the Nose-Hoover fixes must be npt, +the other one should be nvt. You must add a compute temp/com and a +fix_modify command so that the temperature of the npt fix be just that of its group but the pressure be the overall pressure -thermo_press. -

    -

    Example: -

    -
    compute cTEMP_CORE gCORES temp/com
    +thermo_press.

    +

    Example:

    +
    compute cTEMP_CORE gCORES temp/com
     fix fDIRECT all drude/transform/direct
     fix fNPT gCORES npt temp 298.0 298.0 100.0 iso 1.0 1.0 500.0
     fix_modify fNPT temp cTEMP_CORE press thermo_press
     fix fNVT gDRUDES nvt temp 5.0 5.0 100.0
    -fix fINVERSE all drude/transform/inverse 
    -
    -

    In this example, gCORES is the group of the atom cores and gDRUDES +fix fINVERSE all drude/transform/inverse +

    +
    +

    In this example, gCORES is the group of the atom cores and gDRUDES is the group of the Drude particles. The centers of mass of the Drude oscillators will be thermostated at 298.0 and the internal degrees of freedom will be thermostated at 5.0. The whole system will be -barostated at 1.0. -

    -

    In order to avoid the flying ice cube problem (irreversible transfer +barostated at 1.0.

    +

    In order to avoid the flying ice cube problem (irreversible transfer of linear momentum to the center of mass of the system), you may need -to add a fix momentum command like such as -

    -
    fix fMOMENTUM all momentum 100 linear 1 1 1 
    -
    -
    +to add a fix momentum command like such as

    +
    fix fMOMENTUM all momentum 100 linear 1 1 1
    +
    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix drude, -fix langevin/drude, -compute temp/drude, -pair_style thole -

    -

    Default: none -

    -
    - +
    + +
    + -

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_dt_reset.html b/doc/fix_dt_reset.html index 039327b172..c9b8194dfa 100644 --- a/doc/fix_dt_reset.html +++ b/doc/fix_dt_reset.html @@ -1,96 +1,274 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix dt/reset command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix dt/reset command -

    -

    Syntax: -

    -
    fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • dt/reset = style name of this fix command -
    • N = recompute dt every N timesteps -
    • Tmin = minimum dt allowed which can be NULL (time units) -
    • Tmax = maximum dt allowed which can be NULL (time units) -
    • Xmax = maximum distance for an atom to move in one timestep (distance units) -
    • zero or more keyword/value pairs may be appended -
    • keyword = units -
    -
      units value = lattice or box
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix dt/reset command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • dt/reset = style name of this fix command
    • +
    • N = recompute dt every N timesteps
    • +
    • Tmin = minimum dt allowed which can be NULL (time units)
    • +
    • Tmax = maximum dt allowed which can be NULL (time units)
    • +
    • Xmax = maximum distance for an atom to move in one timestep (distance units)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units
    • +
    +
    +units value = lattice or box
         lattice = Xmax is defined in lattice units
    -    box = Xmax is defined in simulation box units 
    -
    -

    Examples: -

    -
    fix 5 all dt/reset 10 1.0e-5 0.01 0.1
    -fix 5 all dt/reset 10 0.01 2.0 0.2 units box 
    -
    -

    Description: -

    -

    Reset the timestep size every N steps during a run, so that no atom + box = Xmax is defined in simulation box units +

    +
    +
    +

    Examples¶

    +
    fix 5 all dt/reset 10 1.0e-5 0.01 0.1
    +fix 5 all dt/reset 10 0.01 2.0 0.2 units box
    +
    +
    +
    +
    +

    Description¶

    +

    Reset the timestep size every N steps during a run, so that no atom moves further than Xmax, based on current atom velocities and forces. This can be useful when starting from a configuration with overlapping atoms, where forces will be large. Or it can be useful when running an impact simulation where one or more high-energy atoms collide with -a solid, causing a damage cascade. -

    -

    This fix overrides the timestep size setting made by the -timestep command. The new timestep size dt is -computed in the following manner. -

    -

    For each atom, the timestep is computed that would cause it to -displace Xmax on the next integration step, as a function of its +a solid, causing a damage cascade.

    +

    This fix overrides the timestep size setting made by the +timestep command. The new timestep size dt is +computed in the following manner.

    +

    For each atom, the timestep is computed that would cause it to +displace Xmax on the next integration step, as a function of its current velocity and force. Since performing this calculation exactly would require the solution to a quartic equation, a cheaper estimate -is generated. The estimate is conservative in that the atom's -displacement is guaranteed not to exceed Xmax, though it may be -smaller. -

    -

    Given this putative timestep for each atom, the minimum timestep value -across all atoms is computed. Then the Tmin and Tmax bounds are +is generated. The estimate is conservative in that the atom’s +displacement is guaranteed not to exceed Xmax, though it may be +smaller.

    +

    Given this putative timestep for each atom, the minimum timestep value +across all atoms is computed. Then the Tmin and Tmax bounds are applied, if specified. If one (or both) is specified as NULL, it is -not applied. -

    -

    When the run style is respa, this fix resets the +not applied.

    +

    When the run style is respa, this fix resets the outer loop (largest) timestep, which is the same timestep that the -timestep command sets. -

    -

    Note that the cumulative simulation time (in time units), which +timestep command sets.

    +

    Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, -can be accessed by the thermo_style time keyword. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar stores -the last timestep on which the timestep was reset to a new value. -

    -

    The scalar value calculated by this fix is "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    timestep -

    -

    Default: -

    -

    The option defaults is units = lattice. -

    - +can be accessed by the thermo_style time keyword.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar stores +the last timestep on which the timestep was reset to a new value.

    +

    The scalar value calculated by this fix is “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults is units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_efield.html b/doc/fix_efield.html index 339e4db521..c89f9c011c 100644 --- a/doc/fix_efield.html +++ b/doc/fix_efield.html @@ -1,170 +1,328 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix efield command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix efield command -

    -

    Syntax: -

    -
    fix ID group-ID efield ex ey ez keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • efield = style name of this fix command - -
    • ex,ey,ez = E-field component values (electric field units) - -
    • any of ex,ey,ez can be a variable (see below) - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = region or energy - -
        region value = region-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix efield command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID efield ex ey ez keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • efield = style name of this fix command
      • +
      • ex,ey,ez = E-field component values (electric field units)
      • +
      • any of ex,ey,ez can be a variable (see below)
      • +
      • zero or more keyword/value pairs may be appended to args
      • +
      • keyword = region or energy
      • +
      +
      +region value = region-ID
           region-ID = ID of region atoms must be in to have added force
      -  energy value = v_name
      -    v_name = variable with name that calculates the potential energy of each atom in the added E-field 
      -
      - -
    -

    Examples: -

    -
    fix kick external-field efield 1.0 0.0 0.0
    -fix kick external-field efield 0.0 0.0 v_oscillate 
    -
    -

    Description: -

    -

    Add a force F = qE to each charged atom in the group due to an + energy value = v_name + v_name = variable with name that calculates the potential energy of each atom in the added E-field + +

    +
    +

    Examples¶

    +
    fix kick external-field efield 1.0 0.0 0.0
    +fix kick external-field efield 0.0 0.0 v_oscillate
    +
    +
    +
    +
    +

    Description¶

    +

    Add a force F = qE to each charged atom in the group due to an external electric field being applied to the system. If the system contains point-dipoles, also add a torque on the dipoles due to the -external electric field. -

    -

    For charges, any of the 3 quantities defining the E-field components +external electric field.

    +

    For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style -variable, namely ex, ey, ez. If the value is a +variable, namely ex, ey, ez. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the E-field component. -

    -

    For point-dipoles, equal-style variables can be used, but atom-style +its value used to determine the E-field component.

    +

    For point-dipoles, equal-style variables can be used, but atom-style variables are not currently supported, since they imply a spatial gradient in the electric field which means additional terms with gradients of the field are required for the force and torque on -dipoles. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +dipoles.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent E-field. -

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent E-field.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent E-field -with optional time-dependence as well. -

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it. -

    -
    - -

    Adding a force or torque to atoms implies a change in their potential -energy as they move or rotate due to the applied E-field. -

    -

    For dynamics via the "run" command, this energy can be optionally -added to the system's potential energy for thermodynamic output (see -below). For energy minimization via the "minimize" command, this -energy must be added to the system's potential energy to formulate a -self-consistent minimization problem (see below). -

    -

    The energy keyword is not allowed if the added field is a constant +with optional time-dependence as well.

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it.

    +
    +

    Adding a force or torque to atoms implies a change in their potential +energy as they move or rotate due to the applied E-field.

    +

    For dynamics via the “run” command, this energy can be optionally +added to the system’s potential energy for thermodynamic output (see +below). For energy minimization via the “minimize” command, this +energy must be added to the system’s potential energy to formulate a +self-consistent minimization problem (see below).

    +

    The energy keyword is not allowed if the added field is a constant vector (ex,ey,ez), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy for each charged particle directly as E = -x dot qE = -q (x*ex + y*ey + z*ez), so that -Grad(E) = F. Similarly for point-dipole particles the energy can be computed as E = -mu dot E = -(mux*ex + muy*ey + -muz*ez). -

    -

    The energy keyword is optional if the added force is defined with +muz*ez).

    +

    The energy keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the -run command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics. -

    -

    The energy keyword is required if the added force is defined with +run command. If the keyword is not used, LAMMPS will set +the energy to 0.0, which is typically fine for dynamics.

    +

    The energy keyword is required if the added force is defined with one or more variables, and you are performing energy minimization via -the "minimize" command for charged particles. It is not required for +the “minimize” command for charged particles. It is not required for point-dipoles, but a warning is issued since the minimizer in LAMMPS does not rotate dipoles, so you should not expect to be able to -minimize the orientation of dipoles in an applied electric field. -

    -

    The energy keyword specifies the name of an atom-style -variable which is used to compute the energy of each -atom as function of its position. Like variables used for ex, ey, -ez, the energy variable is specified as v_name, where name is the -variable name. -

    -

    Note that when the energy keyword is used during an energy +minimize the orientation of dipoles in an applied electric field.

    +

    The energy keyword specifies the name of an atom-style +variable which is used to compute the energy of each +atom as function of its position. Like variables used for ex, ey, +ez, the energy variable is specified as v_name, where name is the +variable name.

    +

    Note that when the energy keyword is used during an energy minimization, you must insure that the formula defined for the -atom-style variable is consistent with the force +atom-style variable is consistent with the force variable formulas, i.e. that -Grad(E) = F. For example, if the force due to the electric field were a spring-like F = kx, then the energy -formula should be E = -0.5kx^2. If you don't do this correctly, the -minimization will not converge properly. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this -fix to add the potential "energy" inferred by the added force due to -the electric field to the system's potential energy as part of -thermodynamic output. This is a fictitious -quantity but is needed so that the minimize command +formula should be E = -0.5kx^2. If you don’t do this correctly, the +minimization will not converge properly.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this +fix to add the potential “energy” inferred by the added force due to +the electric field to the system’s potential energy as part of +thermodynamic output. This is a fictitious +quantity but is needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the -direction of the added force due to the electric field. -

    -

    This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various output -commands. The scalar is the potential +direction of the added force due to the electric field.

    +

    This fix computes a global scalar and a global 3-vector of forces, +which can be accessed by various output commands. The scalar is the potential energy discussed above. The vector is the total force added to the group of atoms. The scalar and vector values calculated by this fix -are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. You should not +are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. You should not specify force components with a variable that has time-dependence for use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. -

    -

    IMPORTANT NOTE: If you want the fictitious potential energy associated +the iteration count during the minimization.

    +
    +

    Warning

    +

    If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix addforce -

    -

    Default: none -

    - +fix_modify energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_enforce2d.html b/doc/fix_enforce2d.html index 87b0546b43..bbbd2809ba 100644 --- a/doc/fix_enforce2d.html +++ b/doc/fix_enforce2d.html @@ -1,74 +1,249 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix enforce2d command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix enforce2d command -

    -

    fix enforce2d/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID enforce2d 
    -
    -
    • ID, group-ID are documented in fix command -
    • enforce2d = style name of this fix command -
    -

    Examples: -

    -
    fix 5 all enforce2d 
    -
    -

    Description: -

    -

    Zero out the z-dimension velocity and force on each atom in the group. + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix enforce2d command¶

    +
    +
    +

    fix enforce2d/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID enforce2d
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • enforce2d = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 5 all enforce2d
    +
    +
    +
    +
    +

    Description¶

    +

    Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do -not move from their initial z coordinate. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +not move from their initial z coordinate.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_evaporate.html b/doc/fix_evaporate.html index 5918faffc4..027b461c8e 100644 --- a/doc/fix_evaporate.html +++ b/doc/fix_evaporate.html @@ -1,109 +1,279 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix evaporate command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix evaporate command -

    -

    Syntax: -

    -
    fix ID group-ID evaporate N M region-ID seed 
    -
    -
    • ID, group-ID are documented in fix command - -
    • evaporate = style name of this fix command - -
    • N = delete atoms every this many timesteps - -
    • M = number of atoms to delete each time - -
    • region-ID = ID of region within which to perform deletions - -
    • seed = random number seed to use for choosing atoms to delete - -
    • zero or more keyword/value pairs may be appended - -
      keyword = molecule
      -  molecule value = no or yes 
      -
      - -
    -

    Examples: -

    -
    fix 1 solvent evaporate 1000 10 surface 49892
    -fix 1 solvent evaporate 1000 10 surface 38277 molecule yes 
    -
    -

    Description: -

    -

    Remove M atoms from the simulation every N steps. This can be used, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix evaporate command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID evaporate N M region-ID seed
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • evaporate = style name of this fix command
    • +
    • N = delete atoms every this many timesteps
    • +
    • M = number of atoms to delete each time
    • +
    • region-ID = ID of region within which to perform deletions
    • +
    • seed = random number seed to use for choosing atoms to delete
    • +
    • zero or more keyword/value pairs may be appended
    • +
    +
    +keyword = molecule
    +  molecule value = no or yes
    +
    +
    +
    +

    Examples¶

    +
    fix 1 solvent evaporate 1000 10 surface 49892
    +fix 1 solvent evaporate 1000 10 surface 38277 molecule yes
    +
    +
    +
    +
    +

    Description¶

    +

    Remove M atoms from the simulation every N steps. This can be used, for example, to model evaporation of solvent particles or moleclues (i.e. drying) of a system. Every N steps, the number of atoms in the fix group and within the specifed region are counted. M of these are chosen at random and deleted. If there are less than M eligible -particles, then all of them are deleted. -

    -

    If the setting for the molecule keyword is no, then only single +particles, then all of them are deleted.

    +

    If the setting for the molecule keyword is no, then only single atoms are deleted. In this case, you should insure you do not delete only a portion of a molecule (only some of its atoms), or LAMMPS will soon generate an error when it tries to find those atoms. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero -molecule ID, but does not check for this at the time of deletion. -

    -

    If the setting for the molecule keyword is yes, then when an atom +molecule ID, but does not check for this at the time of deletion.

    +

    If the setting for the molecule keyword is yes, then when an atom is chosen for deletion, the entire molecule it is part of is deleted. The count of deleted atoms is incremented by the number of atoms in -the molecule, which may make it exceed M. If the molecule ID of the +the molecule, which may make it exceed M. If the molecule ID of the chosen atom is 0, then it is assumed to not be part of a molecule, and -just the single atom is deleted. -

    -

    As an example, if you wish to delete 10 water molecules every N -steps, you should set M to 30. If only the water's oxygen atoms +just the single atom is deleted.

    +

    As an example, if you wish to delete 10 water molecules every N +steps, you should set M to 30. If only the water’s oxygen atoms were in the fix group, then two hydrogen atoms would be deleted when an oxygen atom is selected for deletion, whether the hydrogens are -inside the evaporation region or not. -

    -

    Note that neighbor lists are re-built on timesteps that atoms are +inside the evaporation region or not.

    +

    Note that neighbor lists are re-built on timesteps that atoms are removed. Thus you should not remove atoms too frequently or you will -incur overhead due to the cost of building neighbor lists. -

    -

    IMPORTANT NOTE: If you are monitoring the temperature of a system +incur overhead due to the cost of building neighbor lists.

    +
    +

    Warning

    +

    If you are monitoring the temperature of a system where the atom count is changing due to evaporation, you typically -should use the compute_modify dynamic yes -command for the temperature compute you are using. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar, which can be accessed by various -output commands. The scalar is the +should use the compute_modify dynamic yes +command for the temperature compute you are using.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the cummulative number of deleted atoms. The scalar value calculated by -this fix is "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix deposit -

    -

    Default: -

    -

    The option defaults are molecule = no. -

    - +this fix is “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are molecule = no.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_external.html b/doc/fix_external.html index 717bc456e4..afdcf9d3ea 100644 --- a/doc/fix_external.html +++ b/doc/fix_external.html @@ -1,163 +1,322 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix external command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix external command -

    -

    Syntax: -

    -
    fix ID group-ID external mode args 
    -
    -
    • ID, group-ID are documented in fix command - -
    • external = style name of this fix command - -
    • mode = pf/callback or pf/array - -
        pf/callback args = Ncall Napply
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix external command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID external mode args
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • external = style name of this fix command
      • +
      • mode = pf/callback or pf/array
      • +
      +
      +pf/callback args = Ncall Napply
           Ncall = make callback every Ncall steps
           Napply = apply callback forces every Napply steps
      -  pf/array args = Napply
      -    Napply = apply array forces every Napply steps 
      -
      - -
    -

    Examples: -

    -
    fix 1 all external pf/callback 1 1
    +  pf/array args = Napply
    +    Napply = apply array forces every Napply steps
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all external pf/callback 1 1
     fix 1 all external pf/callback 100 1
    -fix 1 all external pf/array 10 
    -
    -

    Description: -

    -

    This fix allows external programs that are running LAMMPS through its -library interface to modify certain +fix 1 all external pf/array 10 +

    +
    +
    +
    +

    Description¶

    +

    This fix allows external programs that are running LAMMPS through its +library interface to modify certain LAMMPS properties on specific timesteps, similar to the way other -fixes do. The external driver can be a C/C++ or Fortran -program or a Python -script. -

    -
    - -

    If mode is pf/callback then the fix will make a callback every -Ncall timesteps or minimization iterations to the external program. +fixes do. The external driver can be a C/C++ or Fortran program or a Python script.

    +
    +

    If mode is pf/callback then the fix will make a callback every +Ncall timesteps or minimization iterations to the external program. The external program computes forces on atoms by setting values in an array owned by the fix. The fix then adds these forces to each atom -in the group, once every Napply steps, similar to the way the fix -addforce command works. Note that if Ncall > -Napply, the force values produced by one callback will persist, and -be used multiple times to update atom forces. -

    -

    The callback function "foo" is invoked by the fix as: -

    -
    foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal); 
    -
    -

    The arguments are as follows: -

    -
    • ptr = pointer provided by and simply passed back to external driver -
    • timestep = current LAMMPS timestep -
    • nlocal = # of atoms on this processor -
    • ids = list of atom IDs on this processor -
    • x = coordinates of atoms on this processor -
    • fexternal = forces to add to atoms on this processor -
    -

    Note that timestep is a "bigint" which is defined in src/lmptype.h, -typically as a 64-bit integer. -

    -

    Fexternal are the forces returned by the driver program. -

    -

    The fix has a set_callback() method which the external driver can call +in the group, once every Napply steps, similar to the way the fix addforce command works. Note that if Ncall > +Napply, the force values produced by one callback will persist, and +be used multiple times to update atom forces.

    +

    The callback function “foo” is invoked by the fix as:

    +
    foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal);
    +
    +
    +

    The arguments are as follows:

    +
      +
    • ptr = pointer provided by and simply passed back to external driver
    • +
    • timestep = current LAMMPS timestep
    • +
    • nlocal = # of atoms on this processor
    • +
    • ids = list of atom IDs on this processor
    • +
    • x = coordinates of atoms on this processor
    • +
    • fexternal = forces to add to atoms on this processor
    • +
    +

    Note that timestep is a “bigint” which is defined in src/lmptype.h, +typically as a 64-bit integer.

    +

    Fexternal are the forces returned by the driver program.

    +

    The fix has a set_callback() method which the external driver can call to pass a pointer to its foo() function. See the couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an example of how this is done. This sample application performs classical MD using quantum forces computed by a density functional -code Quest. -

    - - -
    - -

    If mode is pf/array then the fix simply stores force values in an +code Quest.

    +
    +

    If mode is pf/array then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once -every Napply steps, similar to the way the fix -addforce command works. -

    -

    The name of the public force array provided by the FixExternal -class is -

    -
    double **fexternal; 
    -
    -

    It is allocated by the FixExternal class as an (N,3) array where N is +every Napply steps, similar to the way the fix addforce command works.

    +

    The name of the public force array provided by the FixExternal +class is

    +
    double **fexternal;
    +
    +
    +

    It is allocated by the FixExternal class as an (N,3) array where N is the number of atoms owned by a processor. The 3 corresponds to the -fx, fy, fz components of force. -

    -

    It is up to the external program to set the values in this array to +fx, fy, fz components of force.

    +

    It is up to the external program to set the values in this array to the desired quantities, as often as desired. For example, the driver program might perform an MD run in stages of 1000 timesteps each. In -between calls to the LAMMPS run command, it could retrieve +between calls to the LAMMPS run command, it could retrieve atom coordinates from LAMMPS, compute forces, set values in fexternal, -etc. -

    -
    - -

    To use this fix during energy minimization, the energy corresponding +etc.

    +
    +

    To use this fix during energy minimization, the energy corresponding to the added forces must also be set so as to be consistent with the -added forces. Otherwise the minimization will not converge correctly. -

    -

    This can be done from the external driver by calling this public -method of the FixExternal class: -

    -
    void set_energy(double eng); 
    -
    -

    where eng is the potential energy. Eng is an extensive quantity, +added forces. Otherwise the minimization will not converge correctly.

    +

    This can be done from the external driver by calling this public +method of the FixExternal class:

    +
    void set_energy(double eng);
    +
    +
    +

    where eng is the potential energy. Eng is an extensive quantity, meaning it should be the sum over per-atom energies of all affected -atoms. It should also be provided in energy units +atoms. It should also be provided in energy units consistent with the simulation. See the details below for how to -insure this energy setting is used appropriately in a minimization. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this -fix to add the potential "energy" set by the external driver to the -system's potential energy as part of thermodynamic -output. This is a fictitious quantity but is -needed so that the minimize command can include the +insure this energy setting is used appropriately in a minimization.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this +fix to add the potential “energy” set by the external driver to the +system’s potential energy as part of thermodynamic output. This is a fictitious quantity but is +needed so that the minimize command can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the -added force. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +added force.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the potential energy discussed above. The scalar stored by this fix -is "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the fictitious potential energy associated +is “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +fix_modify energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_freeze.html b/doc/fix_freeze.html index ec829e4102..19100caf1b 100644 --- a/doc/fix_freeze.html +++ b/doc/fix_freeze.html @@ -1,93 +1,263 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix freeze command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix freeze command -

    -

    fix freeze/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID freeze 
    -
    -
    • ID, group-ID are documented in fix command -
    • freeze = style name of this fix command -
    -

    Examples: -

    -
    fix 2 bottom freeze 
    -
    -

    Description: -

    -

    Zero out the force and torque on a granular particle. This is useful + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix freeze command¶

    +
    +
    +

    fix freeze/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID freeze
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • freeze = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 2 bottom freeze
    +
    +
    +
    +
    +

    Description¶

    +

    Zero out the force and torque on a granular particle. This is useful for preventing certain particles from moving in a simulation. The -granular pair styles also detect if this fix has been +granular pair styles also detect if this fix has been defined and compute interactions between frozen and non-frozen particles appropriately, as if the frozen particle has infinite mass. A similar functionality for normal (point) particles can be obtained -using fix setforce. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +using fix setforce.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    There can only be a single freeze fix defined. This is because other -the granular pair styles treat frozen particles +fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    There can only be a single freeze fix defined. This is because other +the granular pair styles treat frozen particles differently and need to be able to reference a single group to which -this fix is applied. -

    -

    Related commands: -

    -

    atom_style sphere, fix setforce -

    -

    Default: none -

    - +this fix is applied.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_gcmc.html b/doc/fix_gcmc.html index 576e6d6b43..cf26a12cc8 100644 --- a/doc/fix_gcmc.html +++ b/doc/fix_gcmc.html @@ -1,354 +1,490 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix gcmc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix gcmc command -

    -

    Syntax: -

    -
    fix ID group-ID gcmc N X M type seed T mu displace keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • gcmc = style name of this fix command - -
    • N = invoke this fix every N steps - -
    • X = average number of GCMC exchanges to attempt every N steps - -
    • M = average number of MC moves to attempt every N steps - -
    • type = atom type to assign to inserted atoms (offset for molecule insertion) - -
    • seed = random # seed (positive integer) - -
    • T = temperature of the ideal gas reservoir (temperature units) - -
    • mu = chemical potential of the ideal gas reservoir (energy units) - -
    • translate = maximum Monte Carlo translation distance (length units) - -
    • zero or more keyword/value pairs may be appended to args - -
      keyword = mol, region, maxangle, pressure, fugacity_coeff, full_energy, charge, group, grouptype, or intra_energy
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  shake value = fix-ID
      -    fix-ID = ID of fix shake command
      -  region value = region-ID
      -    region-ID = ID of region where MC moves are allowed 
      -  maxangle value = maximum molecular rotation angle (degrees) 
      -  pressure value = pressure of the gas reservoir (pressure units)
      -  fugacity_coeff value = fugacity coefficient of the gas reservoir (unitless) 
      -  full_energy = compute the entire system energy when performing MC moves
      -  charge value = charge of inserted atoms (charge units)
      -  group value = group-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix gcmc command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID gcmc N X M type seed T mu displace keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • gcmc = style name of this fix command
      • +
      • N = invoke this fix every N steps
      • +
      • X = average number of GCMC exchanges to attempt every N steps
      • +
      • M = average number of MC moves to attempt every N steps
      • +
      • type = atom type to assign to inserted atoms (offset for molecule insertion)
      • +
      • seed = random # seed (positive integer)
      • +
      • T = temperature of the ideal gas reservoir (temperature units)
      • +
      • mu = chemical potential of the ideal gas reservoir (energy units)
      • +
      • translate = maximum Monte Carlo translation distance (length units)
      • +
      • zero or more keyword/value pairs may be appended to args
      • +
      +
      +keyword = mol, region, maxangle, pressure, fugacity_coeff, full_energy, charge, group, grouptype, or intra_energy
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  shake value = fix-ID
      +    fix-ID = ID of fix shake command
      +  region value = region-ID
      +    region-ID = ID of region where MC moves are allowed
      +  maxangle value = maximum molecular rotation angle (degrees)
      +  pressure value = pressure of the gas reservoir (pressure units)
      +  fugacity_coeff value = fugacity coefficient of the gas reservoir (unitless)
      +  full_energy = compute the entire system energy when performing MC moves
      +  charge value = charge of inserted atoms (charge units)
      +  group value = group-ID
           group-ID = group-ID for inserted atoms (string)
      -  grouptype values = type group-ID 
      +  grouptype values = type group-ID
           type = atom type (int)
           group-ID = group-ID for inserted atoms (string)
      -  intra_energy value = intramolecular energy (energy units)  
      -
      - -
    -

    Examples: -

    -
    fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
    +  intra_energy value = intramolecular energy (energy units)
    +
    +
    +
    +

    Examples¶

    +
    fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01
     fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy
    -fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk 
    -
    -

    Description: -

    -

    This fix performs grand canonical Monte Carlo (GCMC) exchanges of +fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk +

    +
    +
    +
    +

    Description¶

    +

    This fix performs grand canonical Monte Carlo (GCMC) exchanges of atoms or molecules of the given type with an imaginary ideal gas reservoir at the specified T and chemical potential (mu) as discussed in -(Frenkel). If used with the fix nvt command, +(Frenkel). If used with the fix nvt command, simulations in the grand canonical ensemble (muVT, constant chemical potential, constant volume, and constant temperature) can be performed. Specific uses include computing isotherms in microporous -materials, or computing vapor-liquid coexistence curves. -

    -

    Every N timesteps the fix attempts a number of GCMC exchanges (insertions +materials, or computing vapor-liquid coexistence curves.

    +

    Every N timesteps the fix attempts a number of GCMC exchanges (insertions or deletions) of gas atoms or molecules of the given type between the simulation cell and the imaginary reservoir. It also attempts a number of Monte Carlo moves (translations and molecule rotations) of gas of the given type -within the simulation cell or region. The average number of +within the simulation cell or region. The average number of attempted GCMC exchanges is X. The average number of attempted MC moves is M. M should typically be chosen to be approximately equal to the expected number of gas atoms or molecules -of the given type within the simulation cell or region, +of the given type within the simulation cell or region, which will result in roughly one -MC translation per atom or molecule per MC cycle. -

    -

    For MC moves of molecular gasses, rotations and translations are each +MC translation per atom or molecule per MC cycle.

    +

    For MC moves of molecular gasses, rotations and translations are each attempted with 50% probability. For MC moves of atomic gasses, translations are attempted 100% of the time. For MC exchanges of either molecular or atomic gasses, deletions and insertions are each -attempted with 50% probability. -

    -

    All inserted particles are always assigned to two groups: the default group -"all" and the group specified in the fix gcmc command (which can also -be "all"). In addition, particles are also added to any groups specified -by the group and grouptype keywords. +attempted with 50% probability.

    +

    All inserted particles are always assigned to two groups: the default group +“all” and the group specified in the fix gcmc command (which can also +be “all”). In addition, particles are also added to any groups specified +by the group and grouptype keywords. If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by -the molecule command, and those values are added to -the specified atom type. E.g. if type = 2, and the file specifies +the molecule command, and those values are added to +the specified atom type. E.g. if type = 2, and the file specifies atom types 1,2,3, then the inserted molecule will have atom types -3,4,5. -

    -

    This fix cannot be used to perform MC insertions of gas atoms or +3,4,5.

    +

    This fix cannot be used to perform MC insertions of gas atoms or molecules other than the exchanged type, but MC deletions, translations, and rotations can be performed on any atom/molecule in the fix group. All atoms in the simulation cell can be moved using regular time integration translations, e.g. via -fix_nvt, resulting in a hybrid GCMC+MD simulation. A +fix_nvt, resulting in a hybrid GCMC+MD simulation. A smaller-than-usual timestep size may be needed when running such a hybrid simulation, especially if the inserted molecules are not well -equilibrated. -

    -

    This command may optionally use the region keyword to define an -exchange and move volume. The specified region must have been -previously defined with a region command. It must be -defined with side = in. Insertion attempts occur only within the -specified region. For non-rectangular regions, random trial +equilibrated.

    +

    This command may optionally use the region keyword to define an +exchange and move volume. The specified region must have been +previously defined with a region command. It must be +defined with side = in. Insertion attempts occur only within the +specified region. For non-rectangular regions, random trial points are generated within the rectangular bounding box until a point is found that lies inside the region. If no valid point is generated after 1000 trials, no insertion is performed, but it is counted as an attempted insertion. -Move and deletion attempt candidates are selected +Move and deletion attempt candidates are selected from gas atoms or molecules within the region. If there are no candidates, no move or deletion is performed, but it is counted as an attempt move -or deletion. If an attempted move places the atom or molecule center-of-mass outside -the specified region, a new attempted move is generated. This process is repeated -until the atom or molecule center-of-mass is inside the specified region. -

    -

    If used with fix_nvt, the temperature of the imaginary +or deletion. If an attempted move places the atom or molecule center-of-mass outside +the specified region, a new attempted move is generated. This process is repeated +until the atom or molecule center-of-mass is inside the specified region.

    +

    If used with fix_nvt, the temperature of the imaginary reservoir, T, should be set to be equivalent to the target temperature -used in fix_nvt. Otherwise, the imaginary reservoir -will not be in thermal equilibrium with the simulation cell. -

    -

    Note that neighbor lists are re-built every timestep that this fix is +used in fix_nvt. Otherwise, the imaginary reservoir +will not be in thermal equilibrium with the simulation cell.

    +

    Note that neighbor lists are re-built every timestep that this fix is invoked, so you should not set N to be too small. However, periodic rebuilds are necessary in order to avoid dangerous rebuilds and missed interactions. Specifically, avoid performing so many MC translations per timestep that atoms can move beyond the neighbor list skin -distance. See the neighbor command for details. -

    -

    When an atom or molecule is to be inserted, its +distance. See the neighbor command for details.

    +

    When an atom or molecule is to be inserted, its coordinates are chosen at a random position within the current simulation cell or region, and new atom velocities are randomly chosen from the specified temperature distribution given by T. Relative coordinates for atoms in a molecule are taken from the template -molecule provided by the user, with the origin of the relative +molecule provided by the user, with the origin of the relative coordinates coinciding with the chosen insertion point. This means that if the origin of the template molecule coordinate system lies far from the center of the template molecule, -the inserted molecule will lie far from the insertion point. +the inserted molecule will lie far from the insertion point. A random initial rotation is used in -the case of molecule insertions. -

    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads a file that defines the +the case of molecule insertions.

    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads a file that defines the molecule. The coordinates, atom types, charges, etc, as well as any bond/angle/etc and special neighbor information for the molecule can -be specified in the molecule file. See the molecule +be specified in the molecule file. See the molecule command for details. The only settings required to be in this file -are the coordinates and types of atoms in the molecule. -

    -

    When not using the mol keyword, you should ensure you do not delete +are the coordinates and types of atoms in the molecule.

    +

    When not using the mol keyword, you should ensure you do not delete atoms that are bonded to other atoms, or LAMMPS will soon generate an error when it tries to find bonded neighbors. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero -molecule ID, but does not check for this at the time of deletion. -

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix -shake command which also appears in your input script. -

    -

    Optionally, users may specify the maximum rotation angle for -molecular rotations using the maxangle keyword and specifying +molecule ID, but does not check for this at the time of deletion.

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix shake command which also appears in your input script.

    +

    Optionally, users may specify the maximum rotation angle for +molecular rotations using the maxangle keyword and specifying the angle in degrees. Rotations are performed by generating a random point on the unit sphere and a random rotation angle on the range [0,maxangle). The molecule is then rotated by that angle about an -axis passing through the molecule center of mass. The axis is parallel +axis passing through the molecule center of mass. The axis is parallel to the unit vector defined by the point on the unit sphere. The same procedure is used for randomly rotating molecules when they are inserted, except that the rotation axis passes through whatever -origin is used for the molecule template, and the maximum angle is -360 degrees. -

    -

    Note that fix GCMC does not use configurational bias -MC or any other kind of sampling of intramolecular degrees of freedom. -Inserted molecules can have different orientations, but they will all -have the same intramolecular configuration, -which was specified in the molecule command input. -

    -

    For atomic gasses, inserted atoms have the specified atom type, but -deleted atoms are any atoms that have been inserted or that belong -to the user-specified fix group. For molecular gasses, exchanged -molecules use the same atom types as in the template molecule +origin is used for the molecule template, and the maximum angle is +360 degrees.

    +

    Note that fix GCMC does not use configurational bias +MC or any other kind of sampling of intramolecular degrees of freedom. +Inserted molecules can have different orientations, but they will all +have the same intramolecular configuration, +which was specified in the molecule command input.

    +

    For atomic gasses, inserted atoms have the specified atom type, but +deleted atoms are any atoms that have been inserted or that belong +to the user-specified fix group. For molecular gasses, exchanged +molecules use the same atom types as in the template molecule supplied by the user. In both cases, exchanged -atoms/molecules are assigned to two groups: the default group "all" -and the group specified in the fix gcmc command (which can also be -"all"). -

    -

    The gas reservoir pressure can be specified using the pressure -keyword, in which case the user-specified chemical potential is -ignored. For non-ideal gas reservoirs, the user may also specify the -fugacity coefficient using the fugacity_coeff keyword. -

    -

    The full_energy option means that fix GCMC will compute the total +atoms/molecules are assigned to two groups: the default group “all” +and the group specified in the fix gcmc command (which can also be +“all”).

    +

    The gas reservoir pressure can be specified using the pressure +keyword, in which case the user-specified chemical potential is +ignored. For non-ideal gas reservoirs, the user may also specify the +fugacity coefficient using the fugacity_coeff keyword.

    +

    The full_energy option means that fix GCMC will compute the total potential energy of the entire simulated system. The total system energy before and after the proposed GCMC move is then used in the -Metropolis criterion to determine whether or not to accept the +Metropolis criterion to determine whether or not to accept the proposed GCMC move. By default, this option is off, in which case only partial energies are computed to determine the difference in -energy that would be caused by the proposed GCMC move. -

    -

    The full_energy option is needed for systems with complicated -potential energy calculations, including the following: -

    -
    • long-range electrostatics (kspace) -
    • many-body pair styles -
    • hybrid pair styles -
    • eam pair styles -
    • triclinic systems -
    • need to include potential energy contributions from other fixes -
    -

    In these cases, LAMMPS will automatically apply the full_energy -keyword and issue a warning message. -

    -

    When the mol keyword is used, the full_energy option also includes -the intramolecular energy of inserted and deleted molecules. If this -is not desired, the intra_energy keyword can be used to define an +energy that would be caused by the proposed GCMC move.

    +

    The full_energy option is needed for systems with complicated +potential energy calculations, including the following:

    +
      +
    • long-range electrostatics (kspace)
    • +
    • many-body pair styles
    • +
    • hybrid pair styles
    • +
    • eam pair styles
    • +
    • triclinic systems
    • +
    • need to include potential energy contributions from other fixes
    • +
    +

    In these cases, LAMMPS will automatically apply the full_energy +keyword and issue a warning message.

    +

    When the mol keyword is used, the full_energy option also includes +the intramolecular energy of inserted and deleted molecules. If this +is not desired, the intra_energy keyword can be used to define an amount of energy that is subtracted from the final energy when a molecule is inserted, and added to the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this -will ensure roughly the same behavior whether or not the full_energy -option is used. -

    -

    Some fixes have an associated potential energy. Examples of such fixes -include: efield, gravity, -addforce, langevin, -restrain, temp/berendsen, -temp/rescale, and wall fixes. -For that energy to be included in the total potential energy of the +will ensure roughly the same behavior whether or not the full_energy +option is used.

    +

    Some fixes have an associated potential energy. Examples of such fixes +include: efield, gravity, +addforce, langevin, +restrain, temp/berendsen, +temp/rescale, and wall fixes. +For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done. -

    -

    Use the charge option to insert atoms with a user-specified point -charge. Note that doing so will cause the system to become non-neutral. -LAMMPS issues a warning when using long-range electrostatics (kspace) -with non-neutral systems. See the -compute_group_group documentation for more -details about simulating non-neutral systems with kspace on. -

    -

    Use of this fix typically will cause the number of atoms to fluctuate, +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done.

    +

    Use the charge option to insert atoms with a user-specified point +charge. Note that doing so will cause the system to become non-neutral. +LAMMPS issues a warning when using long-range electrostatics (kspace) +with non-neutral systems. See the +compute_group_group documentation for more +details about simulating non-neutral systems with kspace on.

    +

    Use of this fix typically will cause the number of atoms to fluctuate, therefore, you will want to use the -compute_modify command to insure that the +compute_modify command to insure that the current number of atoms is used as a normalizing factor each time -temperature is computed. Here is the necessary command: -

    -
    compute_modify thermo_temp dynamic yes 
    -
    -

    If LJ units are used, note that a value of 0.18292026 is used by this -fix as the reduced value for Planck's constant. This value was +temperature is computed. Here is the necessary command:

    +
    compute_modify thermo_temp dynamic yes
    +
    +
    +

    If LJ units are used, note that a value of 0.18292026 is used by this +fix as the reduced value for Planck’s constant. This value was derived from LJ parameters for argon, where h* = h/sqrt(sigma^2 * epsilon * mass), sigma = 3.429 angstroms, epsilon/k = 121.85 K, and -mass = 39.948 amu. -

    -

    The group keyword assigns all inserted atoms to the group -of the group-ID value. The grouptype keyword assigns all -inserted atoms of the specified type to the group -of the group-ID value. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the fix to binary restart -files. This includes information about the random +mass = 39.948 amu.

    +

    The group keyword assigns all inserted atoms to the group +of the group-ID value. The grouptype keyword assigns all +inserted atoms of the specified type to the group +of the group-ID value.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the fix to binary restart files. This includes information about the random number generator seed, the next timestep for MC exchanges, etc. See -the read_restart command for info on how to +the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    This fix computes a global vector of length 8, which can be accessed -by various output commands. The vector -values are the following global cumulative quantities: -

    -
    • 1 = translation attempts -
    • 2 = translation successes -
    • 3 = insertion attempts -
    • 4 = insertion successes -
    • 5 = deletion attempts -
    • 6 = deletion successes -
    • 7 = rotation attempts -
    • 8 = rotation successes -
    -

    The vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. -

    -

    Can be run in parallel, but aspects of the GCMC part will not scale -well in parallel. Only usable for 3D simulations. -

    -

    Note that very lengthy simulations involving insertions/deletions of +the operation of the fix continues in an uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    This fix computes a global vector of length 8, which can be accessed +by various output commands. The vector +values are the following global cumulative quantities:

    +
      +
    • 1 = translation attempts
    • +
    • 2 = translation successes
    • +
    • 3 = insertion attempts
    • +
    • 4 = insertion successes
    • +
    • 5 = deletion attempts
    • +
    • 6 = deletion successes
    • +
    • 7 = rotation attempts
    • +
    • 8 = rotation successes
    • +
    +

    The vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +

    Do not set “neigh_modify once yes” or else this fix will never be +called. Reneighboring is required.

    +

    Can be run in parallel, but aspects of the GCMC part will not scale +well in parallel. Only usable for 3D simulations.

    +

    Note that very lengthy simulations involving insertions/deletions of billions of gas molecules may run out of atom or molecule IDs and -trigger an error, so it is better to run multiple shorter-duration +trigger an error, so it is better to run multiple shorter-duration simulations. Likewise, very large molecules have not been tested -and may turn out to be problematic. -

    -

    Use of multiple fix gcmc commands in the same input script can be -problematic if using a template molecule. The issue is that the +and may turn out to be problematic.

    +

    Use of multiple fix gcmc commands in the same input script can be +problematic if using a template molecule. The issue is that the user-referenced template molecule in the second fix gcmc command may no longer exist since it might have been deleted by the first fix gcmc command. An existing template molecule will need to be -referenced by the user for each subsequent fix gcmc command. -

    -

    Related commands: -

    -

    fix_atom_swap, -fix_nvt, neighbor, -fix_deposit, fix_evaporate, -delete_atoms -

    -

    Default: -

    -

    The option defaults are mol = no, maxangle = 10, full_energy = no, +referenced by the user for each subsequent fix gcmc command.

    +
    + +
    +

    Default¶

    +

    The option defaults are mol = no, maxangle = 10, full_energy = no, except for the situations where full_energy is required, as -listed above. -

    -
    +listed above.

    +
    +

    (Frenkel) Frenkel and Smit, Understanding Molecular Simulation, +Academic Press, London, 2002.

    +
    + - -

    (Frenkel) Frenkel and Smit, Understanding Molecular Simulation, -Academic Press, London, 2002. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_gcmc.txt b/doc/fix_gcmc.txt index 33e3691cee..ca3f424596 100644 --- a/doc/fix_gcmc.txt +++ b/doc/fix_gcmc.txt @@ -318,9 +318,9 @@ referenced by the user for each subsequent fix gcmc command. [Related commands:] -"fix_atom_swap"_fix_atom_swap.html, -"fix_nvt"_fix_nvt.html, "neighbor"_neighbor.html, -"fix_deposit"_fix_deposit.html, "fix_evaporate"_fix_evaporate.html, +"fix atom/swap"_fix_atom_swap.html, +"fix nvt"_fix_nvt.html, "neighbor"_neighbor.html, +"fix deposit"_fix_deposit.html, "fix evaporate"_fix_evaporate.html, "delete_atoms"_delete_atoms.html [Default:] diff --git a/doc/fix_gld.html b/doc/fix_gld.html index 840a47265b..e3ad451b58 100644 --- a/doc/fix_gld.html +++ b/doc/fix_gld.html @@ -1,171 +1,323 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix gld command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix gld command -

    -

    Syntax: -

    -
    fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • gld = style name of this fix command - -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) - -
    • N_k = number of terms in the Prony series representation of the memory kernel - -
    • seed = random number seed to use for white noise (positive integer) - -
    • series = pprony is presently the only available option - -
    • c_k = the weight of the kth term in the Prony series (mass per time units) - -
    • tau_k = the time constant of the kth term in the Prony series (time units) - -
    • zero or more keyword/value pairs may be appended - -
      keyword = frozen or zero
      -  frozen value = no or yes
      -    no = initialize extended variables using values drawn from equilibrium distribution at Tstart
      -    yes = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature)
      -  zero value = no or yes
      -    no = do not set total random force to zero
      -    yes = set total random force to zero 
      -
      - -
    -

    Examples: -

    -
    fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes
    -fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643 
    -
    -

    Description: -

    -

    Applies Generalized Langevin Dynamics to a group of atoms, as -described in (Baczewski). This is intended to model the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix gld command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • gld = style name of this fix command
    • +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • +
    • N_k = number of terms in the Prony series representation of the memory kernel
    • +
    • seed = random number seed to use for white noise (positive integer)
    • +
    • series = pprony is presently the only available option
    • +
    • c_k = the weight of the kth term in the Prony series (mass per time units)
    • +
    • tau_k = the time constant of the kth term in the Prony series (time units)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    +
    +keyword = frozen or zero
    +  frozen value = no or yes
    +    no = initialize extended variables using values drawn from equilibrium distribution at Tstart
    +    yes = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature)
    +  zero value = no or yes
    +    no = do not set total random force to zero
    +    yes = set total random force to zero
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes
    +fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643
    +
    +
    +
    +
    +

    Description¶

    +

    Applies Generalized Langevin Dynamics to a group of atoms, as +described in (Baczewski). This is intended to model the effect of an implicit solvent with a temporally non-local dissipative force and a colored Gaussian random force, consistent with the Fluctuation-Dissipation Theorem. The functional form of the memory kernel associated with the temporally non-local force is constrained -to be a Prony series. -

    -

    IMPORTANT NOTE: While this fix bears many similarities to fix -langevin, it has one significant -difference. Namely, fix gld performs time integration, -whereas fix langevin does NOT. To this end, the -specification of another fix to perform time integration, such as fix -nve, is NOT necessary. -

    -

    With this fix active, the force on the jth atom is given as -

    -
    -
    -

    Here, the first term is representative of all conservative (pairwise, +to be a Prony series.

    +
    +

    Warning

    +

    While this fix bears many similarities to fix langevin, it has one significant +difference. Namely, fix gld performs time integration, +whereas fix langevin does NOT. To this end, the +specification of another fix to perform time integration, such as fix nve, is NOT necessary.

    +
    +

    With this fix active, the force on the *j*th atom is given as

    +_images/fix_gld1.jpg +

    Here, the first term is representative of all conservative (pairwise, bonded, etc) forces external to this fix, the second is the temporally non-local dissipative force given as a Prony series, and the third is -the colored Gaussian random force. -

    -

    The Prony series form of the memory kernel is chosen to enable an +the colored Gaussian random force.

    +

    The Prony series form of the memory kernel is chosen to enable an extended variable formalism, with a number of exemplary mathematical -features discussed in (Baczewski). In particular, 3N_k +features discussed in (Baczewski). In particular, 3N_k extended variables are added to each atom, which effect the action of the memory kernel without having to explicitly evaluate the integral over time in the second term of the force. This also has the benefit of requiring the generation of uncorrelated random forces, rather than -correlated random forces as specified in the third term of the force. -

    -

    Presently, the Prony series coefficients are limited to being greater +correlated random forces as specified in the third term of the force.

    +

    Presently, the Prony series coefficients are limited to being greater than or equal to zero, and the time constants are limited to being greater than zero. To this end, the value of series MUST be set to -pprony, for now. Future updates will allow for negative coefficients +pprony, for now. Future updates will allow for negative coefficients and other representations of the memory kernel. It is with these -updates in mind that the series option was included. -

    -

    The units of the Prony series coefficients are chosen to be mass per +updates in mind that the series option was included.

    +

    The units of the Prony series coefficients are chosen to be mass per time to ensure that the numerical integration scheme stably approaches the Newtonian and Langevin limits. Details of these limits, and the associated numerical concerns are discussed in -(Baczewski). -

    -

    The desired temperature at each timestep is ramped from Tstart to -Tstop over the course of the next run. -

    -

    The random # seed must be a positive integer. A Marsaglia random +(Baczewski).

    +

    The desired temperature at each timestep is ramped from Tstart to +Tstop over the course of the next run.

    +

    The random # seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors. -

    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    The keyword frozen can be used to specify how the extended variables +runs on different numbers of processors.

    +
    +

    The keyword/value option pairs are used in the following ways.

    +

    The keyword frozen can be used to specify how the extended variables associated with the GLD memory kernel are initialized. Specifying no (the default), the initial values are drawn at random from an -equilibrium distribution at Tstart, consistent with the +equilibrium distribution at Tstart, consistent with the Fluctuation-Dissipation Theorem. Specifying yes, initializes the -extended variables to zero. -

    -

    The keyword zero can be used to eliminate drift due to the +extended variables to zero.

    +

    The keyword zero can be used to eliminate drift due to the thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword zero is set to yes, the total random force is set exactly +keyword zero is set to yes, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time. -

    -
    - -

    Restart, run start/stop, minimize info: -

    -

    The instantaneous values of the extended variables are written to -binary restart files. Because the state of the random +momentum will not drift over time.

    +
    +

    Restart, run start/stop, minimize info:

    +

    The instantaneous values of the extended variables are written to +binary restart files. Because the state of the random number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on +do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. -

    -

    None of the fix_modify options are relevant to this +sense, a restarted simulation should produce the same behavior.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix langevin, fix viscous, -pair_style dpd/tstat -

    -

    Default: -

    -

    The option defaults are frozen = no, zero = no. -

    -
    +access by various output commands.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are frozen = no, zero = no.

    +
    +

    (Baczewski) A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013).

    +
    +
    - -

    (Baczewski) A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_gle.html b/doc/fix_gle.html index ec749d513b..3f678ca764 100644 --- a/doc/fix_gle.html +++ b/doc/fix_gle.html @@ -1,170 +1,321 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix gle command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix gle command -

    -

    Syntax: -

    -
    fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride] 
    -
    -
    • ID, group-ID are documented in fix command - -
    • gle = style name of this fix command - -
    • Ns = number of additional fictitious momenta - -
    • Tstart, Tstop = temperature ramp during the run - -
    • Amatrix = file to read the drift matrix A from - -
    • seed = random number seed to use for generating noise (positive integer) - -
    • zero or more keyword/value pairs may be appended - -keyword = noneq and/or every - noneq Cmatrix = file to read the non-equilibrium covariance matrix from - every stride = apply the GLE once every time steps. Reduces the accuracy - of the integration of the GLE, but has *no effect* on the accuracy of equilibrium - sampling. It might change sampling properties when used together with noneq. - -
    -

    Examples: -

    -

    fix 3 boundary gle 6 300 300 31415 smart.A -fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C -

    -

    Description: -

    -

    Apply a Generalized Langevin Equation (GLE) thermostat as described -in (Ceriotti). The formalism allows one to obtain a number -of different effects ranging from efficient sampling of all -vibrational modes in the system to inexpensive (approximate) -modelling of nuclear quantum effects. Contrary to -fix langevin, this fix performs both -thermostatting and evolution of the Hamiltonian equations of motion, so it -should not be used together with fix nve -- at least not -on the same atom groups. -

    -

    Each degree of freedom in the thermostatted group is supplemented + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix gle command¶

    +
    +

    Syntax¶

    +
    fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride]
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • gle = style name of this fix command
    • +
    • Ns = number of additional fictitious momenta
    • +
    • Tstart, Tstop = temperature ramp during the run
    • +
    • Amatrix = file to read the drift matrix A from
    • +
    • seed = random number seed to use for generating noise (positive integer)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    +
    +
    keyword = noneq and/or every
    +

    noneq Cmatrix = file to read the non-equilibrium covariance matrix from +every stride = apply the GLE once every time steps. Reduces the accuracy

    +
    +
    of the integration of the GLE, but has no effect on the accuracy of equilibrium +sampling. It might change sampling properties when used together with noneq.
    +
    +
    +
    +
    +

    Examples¶

    +

    fix 3 boundary gle 6 300 300 31415 smart.A +fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C

    +
    +
    +

    Description¶

    +

    Apply a Generalized Langevin Equation (GLE) thermostat as described +in (Ceriotti). The formalism allows one to obtain a number +of different effects ranging from efficient sampling of all +vibrational modes in the system to inexpensive (approximate) +modelling of nuclear quantum effects. Contrary to +fix langevin, this fix performs both +thermostatting and evolution of the Hamiltonian equations of motion, so it +should not be used together with fix nve – at least not +on the same atom groups.

    +

    Each degree of freedom in the thermostatted group is supplemented with Ns additional degrees of freedom s, and the equations of motion -become -

    -

    dq/dt=p/m -d(p,s)/dt=(F,0) - A(p,s) + B dW/dt -

    -

    where F is the physical force, A is the drift matrix (that generalizes -the friction in Langevin dynamics), B is the diffusion term and dW/dt +become

    +

    dq/dt=p/m +d(p,s)/dt=(F,0) - A(p,s) + B dW/dt

    +

    where F is the physical force, A is the drift matrix (that generalizes +the friction in Langevin dynamics), B is the diffusion term and dW/dt un-correlated Gaussian random forces. The A matrix couples the physical -(q,p) dynamics with that of the additional degrees of freedom, -and makes it possible to obtain effectively a history-dependent -noise and friction kernel. -

    -

    The drift matrix should be given as an external file Afile, +(q,p) dynamics with that of the additional degrees of freedom, +and makes it possible to obtain effectively a history-dependent +noise and friction kernel.

    +

    The drift matrix should be given as an external file Afile, as a (Ns+1 x Ns+1) matrix in inverse time units. Matrices that are -optimal for a given application and the system of choice can be -obtained from (GLE4MD). -

    -

    Equilibrium sampling a temperature T is obtained by specifiying the -target value as the Tstart and Tstop arguments, so that the diffusion +optimal for a given application and the system of choice can be +obtained from (GLE4MD).

    +

    Equilibrium sampling a temperature T is obtained by specifiying the +target value as the Tstart and Tstop arguments, so that the diffusion matrix that gives canonical sampling for a given A is computed automatically. However, the GLE framework also allow for non-equilibrium sampling, that can be used for instance to model inexpensively zero-point energy -effects (Ceriotti2). This is achieved specifying the -noneq keyword followed by the name of the file that contains the -static covariance matrix for the non-equilibrium dynamics. -

    -

    Since integrating GLE dynamics can be costly when used together with -simple potentials, one can use the every optional keyword to -apply the Langevin terms only once every several MD steps, in a +effects (Ceriotti2). This is achieved specifying the +noneq keyword followed by the name of the file that contains the +static covariance matrix for the non-equilibrium dynamics.

    +

    Since integrating GLE dynamics can be costly when used together with +simple potentials, one can use the every optional keyword to +apply the Langevin terms only once every several MD steps, in a multiple time-step fashion. This should be used with care when doing non-equilibrium sampling, but should have no effect on equilibrium -averages when using canonical sampling. -

    -

    The random number seed must be a positive integer. A Marsaglia random +averages when using canonical sampling.

    +

    The random number seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. -

    -

    Note also that the Generalized Langevin Dynamics scheme that is -implemented by the fix gld scheme is closely related +different numbers of processors.

    +

    Note also that the Generalized Langevin Dynamics scheme that is +implemented by the fix gld scheme is closely related to the present one. In fact, it should be always possible to cast the Prony series form of the memory kernel used by GLD into an appropriate -input matrix for fix_gle. While the GLE scheme is more -general, the form used by fix gld can be more directly -related to the representation of an implicit solvent environment. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    The instantaneous values of the extended variables are written to -binary restart files. Because the state of the random +input matrix for fix_gle. While the GLE scheme is more +general, the form used by fix gld can be more directly +related to the representation of an implicit solvent environment.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    The instantaneous values of the extended variables are written to +binary restart files. Because the state of the random number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on +do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and -subtle artefacts in the sampling. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    The fix_modify energy option is supported by this +restart, otherwise the same sequence of random numbers will be used +each time, which might lead to stochastic synchronization and +subtle artefacts in the sampling.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". -

    -

    Restrictions: -

    -

    The GLE thermostat in its current implementation should not be used +calculated by this fix is “extensive”.

    +
    +
    +

    Restrictions¶

    +

    The GLE thermostat in its current implementation should not be used with rigid bodies, SHAKE or RATTLE. It is expected that all the thermostatted degrees of freedom are fully flexible, and the sampled -ensemble will not be correct otherwise. -

    -

    In order to perform constant-pressure simulations please use -fix press/berendsen, rather than -fix_npt, to avoid duplicate integration of the -equations of motion. -

    -

    This fix is part of the USER-MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix nvt, fix temp/rescale, fix -viscous, fix nvt, pair_style -dpd/tstat, fix_gld -

    -
    +ensemble will not be correct otherwise.

    +

    In order to perform constant-pressure simulations please use +fix press/berendsen, rather than +fix_npt, to avoid duplicate integration of the +equations of motion.

    +

    This fix is part of the USER-MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    - -

    (Ceriotti) Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, -1170-80 (2010) -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html index cde892dc2a..d9182988ae 100644 --- a/doc/fix_gravity.html +++ b/doc/fix_gravity.html @@ -1,154 +1,317 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix gravity command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix gravity command -

    -

    fix gravity/cuda command -

    -

    fix gravity/omp command -

    -

    Syntax: -

    -
    fix ID group gravity magnitude style args 
    -
    -
    • ID, group are documented in fix command - -
    • gravity = style name of this fix command - -
    • magnitude = size of acceleration (force/mass units) - -
    • magnitude can be a variable (see below) - -
    • style = chute or spherical or gradient or vector - -
        chute args = angle
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix gravity command¶

      +
      +
      +

      fix gravity/cuda command¶

      +
      +
      +

      fix gravity/omp command¶

      +
      +

      Syntax¶

      +
      fix ID group gravity magnitude style args
      +
      +
      +
        +
      • ID, group are documented in fix command
      • +
      • gravity = style name of this fix command
      • +
      • magnitude = size of acceleration (force/mass units)
      • +
      • magnitude can be a variable (see below)
      • +
      • style = chute or spherical or gradient or vector
      • +
      +
      +chute args = angle
           angle = angle in +x away from -z or -y axis in 3d/2d (in degrees)
           angle can be a variable (see below)
      -  spherical args = phi theta
      +  spherical args = phi theta
           phi = azimuthal angle from +x axis (in degrees)
           theta = angle from +z or +y axis in 3d/2d (in degrees)
           phi or theta can be a variable (see below)
      -  vector args = x y z
      +  vector args = x y z
           x y z = vector direction to apply the acceleration
      -    x or y or z can be a variable (see below) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all gravity 1.0 chute 24.0
    +    x or y or z can be a variable (see below)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all gravity 1.0 chute 24.0
     fix 1 all gravity v_increase chute 24.0
     fix 1 all gravity 1.0 spherical 0.0 -180.0
     fix 1 all gravity 10.0 spherical v_phi v_theta
    -fix 1 all gravity 100.0 vector 1 1 0 
    -
    -

    Description: -

    -

    Impose an additional acceleration on each particle in the group. This -fix is typically used with granular systems to include a "gravity" +fix 1 all gravity 100.0 vector 1 1 0 +

    +
    +
    +
    +

    Description¶

    +

    Impose an additional acceleration on each particle in the group. This +fix is typically used with granular systems to include a “gravity” term acting on the macroscopic particles. More generally, it can represent any kind of driving field, e.g. a pressure gradient inducing a Poiseuille flow in a fluid. Note that this fix operates differently -than the fix addforce command. The addforce fix +than the fix addforce command. The addforce fix adds the same force to each atom, independent of its mass. This -command imparts the same acceleration to each atom (force/mass). -

    -

    The magnitude of the acceleration is specified in force/mass units. +command imparts the same acceleration to each atom (force/mass).

    +

    The magnitude of the acceleration is specified in force/mass units. For granular systems (LJ units) this is typically 1.0. See the -units command for details. -

    -

    Style chute is typically used for simulations of chute flow where -the specified angle is the chute angle, with flow occurring in the +x +units command for details.

    +

    Style chute is typically used for simulations of chute flow where +the specified angle is the chute angle, with flow occurring in the +x direction. For 3d systems, the tilt is away from the z axis; for 2d -systems, the tilt is away from the y axis. -

    -

    Style spherical allows an arbitrary 3d direction to be specified for -the acceleration vector. Phi and theta are defined in the usual +systems, the tilt is away from the y axis.

    +

    Style spherical allows an arbitrary 3d direction to be specified for +the acceleration vector. Phi and theta are defined in the usual spherical coordinates. Thus for acceleration acting in the -z -direction, theta would be 180.0 (or -180.0). Theta = 90.0 and -phi = -90.0 would mean acceleration acts in the -y direction. For -2d systems, phi is ignored and theta is an angle in the xy plane -where theta = 0.0 is the y-axis. -

    -

    Style vector imposes an acceleration in the vector direction given -by (x,y,z). Only the direction of the vector is important; it's -length is ignored. For 2d systems, the z component is ignored. -

    -

    Any of the quantities magnitude, angle, phi, theta, x, y, -z which define the gravitational magnitude and direction, can be -specified as an equal-style variable. If the value is +direction, theta would be 180.0 (or -180.0). Theta = 90.0 and +phi = -90.0 would mean acceleration acts in the -y direction. For +2d systems, phi is ignored and theta is an angle in the xy plane +where theta = 0.0 is the y-axis.

    +

    Style vector imposes an acceleration in the vector direction given +by (x,y,z). Only the direction of the vector is important; it’s +length is ignored. For 2d systems, the z component is ignored.

    +

    Any of the quantities magnitude, angle, phi, theta, x, y, +z which define the gravitational magnitude and direction, can be +specified as an equal-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the quantity. You should insure that the variable calculates a result in the approriate units, -e.g. force/mass or degrees. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +e.g. force/mass or degrees.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent gravitational -field. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +field.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the gravitational potential energy of the system to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. This scalar is the +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. This scalar is the gravitational potential energy of the particles in the defined field, namely mass * (g dot x) for each particles, where x and mass are the particles position and mass, and g is the gravitational field. The -scalar value calculated by this fix is "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    atom_style sphere, fix addforce -

    -

    Default: none -

    - +scalar value calculated by this fix is “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_heat.html b/doc/fix_heat.html index b519acab60..80536bf501 100644 --- a/doc/fix_heat.html +++ b/doc/fix_heat.html @@ -1,137 +1,304 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix heat command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix heat command -

    -

    Syntax: -

    -
    fix ID group-ID heat N eflux 
    -
    -
    • ID, group-ID are documented in fix command - -
    • heat = style name of this fix command - -
    • N = add/subtract heat every this many timesteps - -
    • eflux = rate of heat addition or subtraction (energy/time units) - -
    • eflux can be a variable (see below) - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = region - -
        region value = region-ID
      -    region-ID = ID of region atoms must be in to have added force 
      -
      - -
    -

    Examples: -

    -
    fix 3 qin heat 1 1.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix heat command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID heat N eflux
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • heat = style name of this fix command
    • +
    • N = add/subtract heat every this many timesteps
    • +
    • eflux = rate of heat addition or subtraction (energy/time units)
    • +
    • eflux can be a variable (see below)
    • +
    • zero or more keyword/value pairs may be appended to args
    • +
    • keyword = region
    • +
    +
    +region value = region-ID
    +    region-ID = ID of region atoms must be in to have added force
    +
    +
    +
    +

    Examples¶

    +
    fix 3 qin heat 1 1.0
     fix 3 qin heat 10 v_flux
    -fix 4 qout heat 1 -1.0 region top 
    -
    -

    Description: -

    -

    Add non-translational kinetic energy (heat) to a group of atoms in a +fix 4 qout heat 1 -1.0 region top +

    + + +
    +

    Description¶

    +

    Add non-translational kinetic energy (heat) to a group of atoms in a manner that conserves their aggregate momentum. Two of these fixes can be used to establish a temperature gradient across a simulation domain by adding heat (energy) to one group of atoms (hot reservoir) and subtracting heat from another (cold reservoir). E.g. a simulation -sampling from the McDLT ensemble. -

    -

    If the region keyword is used, the atom must be in both the group -and the specified geometric region in order to have +sampling from the McDLT ensemble.

    +

    If the region keyword is used, the atom must be in both the group +and the specified geometric region in order to have energy added or subtracted to it. If not specified, then the atoms in -the group are affected wherever they may move to. -

    -

    Heat addition/subtraction is performed every N timesteps. The eflux +the group are affected wherever they may move to.

    +

    Heat addition/subtraction is performed every N timesteps. The eflux parameter can be specified as a numeric constant or as a variable (see below). If it is a numeric constant or equal-style variable which -evaluates to a scalar value, then the eflux determines the change in +evaluates to a scalar value, then the eflux determines the change in aggregate energy of the entire group of atoms per unit time, e.g. in -eV/psec for metal units. In this case it is an -"extensive" quantity, meaning its magnitude should be scaled with the -number of atoms in the group. Note that since eflux has per-time +eV/psec for metal units. In this case it is an +“extensive” quantity, meaning its magnitude should be scaled with the +number of atoms in the group. Note that since eflux has per-time units (i.e. it is a flux), this means that a larger value of N will -add/subtract a larger amount of energy each time the fix is invoked. -

    -

    If eflux is specified as an atom-style variable (see below), then +add/subtract a larger amount of energy each time the fix is invoked.

    +

    If eflux is specified as an atom-style variable (see below), then the variable computes one value per atom. In this case, each value is the energy flux for a single atom, again in units of energy per unit -time. In this case, each value is an "intensive" quantity, which need -not be scaled with the number of atoms in the group. -

    -

    As mentioned above, the eflux parameter can be specified as an -equal-style or atom_style variable. If the value is a +time. In this case, each value is an “intensive” quantity, which need +not be scaled with the number of atoms in the group.

    +

    As mentioned above, the eflux parameter can be specified as an +equal-style or atom_style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value(s) used to determine the flux. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value(s) used to determine the flux.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent flux. -

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent flux.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent flux -with optional time-dependence as well. -

    -

    IMPORTANT NOTE: If heat is subtracted from the system too aggressively -so that the group's kinetic energy would go to zero, or any individual -atom's kinetic energy would go to zero for the case where eflux is -an atom-style variable, then LAMMPS will halt with an error message. -

    -

    Fix heat is different from a thermostat such as fix nvt -or fix temp/rescale in that energy is -added/subtracted continually. Thus if there isn't another mechanism +with optional time-dependence as well.

    +
    +

    Warning

    +

    If heat is subtracted from the system too aggressively +so that the group’s kinetic energy would go to zero, or any individual +atom’s kinetic energy would go to zero for the case where eflux is +an atom-style variable, then LAMMPS will halt with an error message.

    +
    +

    Fix heat is different from a thermostat such as fix nvt +or fix temp/rescale in that energy is +added/subtracted continually. Thus if there isn’t another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net -energy change is 0.0 or use fix viscous to drain -energy from the system. -

    -

    This fix does not change the coordinates of its atoms; it only scales +energy change is 0.0 or use fix viscous to drain +energy from the system.

    +

    This fix does not change the coordinates of its atoms; it only scales their velocities. Thus you must still use an integration fix -(e.g. fix nve) on the affected atoms. This fix should +(e.g. fix nve) on the affected atoms. This fix should not normally be used on atoms that have their temperature controlled -by another fix - e.g. fix nvt or fix -langevin fix. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. This scalar is the +by another fix - e.g. fix nvt or fix langevin fix.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. This scalar is the most recent value by which velocites were scaled. The scalar value -calculated by this fix is "intensive". If eflux is specified as +calculated by this fix is “intensive”. If eflux is specified as an atom-style variable, this fix computes the average value by which -the velocities were scaled for all of the atoms that had their -velocities scaled. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute temp, compute -temp/region -

    -

    Default: none -

    - +the velocities were scaled for all of the atoms that had their +velocities scaled.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_imd.html b/doc/fix_imd.html index 1d89148879..ae1654cdc4 100644 --- a/doc/fix_imd.html +++ b/doc/fix_imd.html @@ -1,172 +1,327 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix imd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix imd command -

    -

    Syntax: -

    -
    fix ID group-ID imd trate port keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • imd = style name of this fix command - -
    • port = port number on which the fix listens for an IMD client - -
    • keyword = unwrap or fscale or trate - -
        unwrap arg = on or off
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix imd command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID imd trate port keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • imd = style name of this fix command
      • +
      • port = port number on which the fix listens for an IMD client
      • +
      • keyword = unwrap or fscale or trate
      • +
      +
      +unwrap arg = on or off
           off = coordinates are wrapped back into the principal unit cell (default)
      -    on = "unwrapped" coordinates using the image flags used
      -  fscale arg = factor
      +    on = "unwrapped" coordinates using the image flags used
      +  fscale arg = factor
           factor = floating point number to scale IMD forces (default: 1.0)
      -  trate arg = transmission rate of coordinate data sets (default: 1)
      -  nowait arg = on or off
      +  trate arg = transmission rate of coordinate data sets (default: 1)
      +  nowait arg = on or off
           off = LAMMPS waits to be connected to an IMD client before continuing (default)
      -    on = LAMMPS listens for an IMD client, but continues with the run 
      -
      - -
    -

    Examples: -

    -
    fix vmd all imd 5678 
    -fix comm all imd 8888 trate 5 unwrap on fscale 10.0 
    -
    -

    Description: -

    -

    This fix implements the "Interactive MD" (IMD) protocol which allows + on = LAMMPS listens for an IMD client, but continues with the run + +

    +
    +

    Examples¶

    +
    fix vmd all imd 5678
    +fix comm all imd 8888 trate 5 unwrap on fscale 10.0
    +
    +
    +
    +
    +

    Description¶

    +

    This fix implements the “Interactive MD” (IMD) protocol which allows realtime visualization and manipulation of MD simulations through the IMD protocol, as initially implemented in VMD and NAMD. Specifically -it allows LAMMPS to connect an IMD client, for example the VMD -visualization program, so that it can monitor the progress of the -simulation and interactively apply forces to selected atoms. -

    -

    If LAMMPS is compiled with the preprocessor flag -DLAMMPS_ASYNC_IMD +it allows LAMMPS to connect an IMD client, for example the VMD visualization program, so that it can monitor the progress of the +simulation and interactively apply forces to selected atoms.

    +

    If LAMMPS is compiled with the preprocessor flag -DLAMMPS_ASYNC_IMD then fix imd will use POSIX threads to spawn a IMD communication thread on MPI rank 0 in order to offload data reading and writing from the main execution thread and potentially lower the inferred latencies for slow communication links. This feature has only been -tested under linux. -

    -

    There are example scripts for using this package with LAMMPS in +tested under linux.

    +

    There are example scripts for using this package with LAMMPS in examples/USER/imd. Additional examples and a driver for use with the Novint Falcon game controller as haptic device can be found at: -http://sites.google.com/site/akohlmey/software/vrpn-icms. -

    -

    The source code for this fix includes code developed by the +http://sites.google.com/site/akohlmey/software/vrpn-icms.

    +

    The source code for this fix includes code developed by the Theoretical and Computational Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign. We thank them for providing a software -interface that allows codes like LAMMPS to hook to VMD. -

    -

    Upon initialization of the fix, it will open a communication port on +interface that allows codes like LAMMPS to hook to VMD.

    +

    Upon initialization of the fix, it will open a communication port on the node with MPI task 0 and wait for an incoming connection. As soon as an IMD client is connected, the simulation will continue and the -fix will send the current coordinates of the fix's group to the IMD +fix will send the current coordinates of the fix’s group to the IMD client at every trate MD step. When using r-RESPA, trate applies to the steps of the outmost RESPA level. During a run with an active IMD connection also the IMD client can request to apply forces to selected -atoms of the fix group. -

    -

    The port number selected must be an available network port number. On -many machines, port numbers < 1024 are reserved for accounts with +atoms of the fix group.

    +

    The port number selected must be an available network port number. On +many machines, port numbers < 1024 are reserved for accounts with system manager privilege and specific applications. If multiple imd fixes would be active at the same time, each needs to use a different -port number. -

    -

    The nowait keyword controls the behavior of the fix when no IMD -client is connected. With the default setting of off, LAMMPS will +port number.

    +

    The nowait keyword controls the behavior of the fix when no IMD +client is connected. With the default setting of off, LAMMPS will wait until a connection is made before continuing with the -execution. Setting nowait to on will have the LAMMPS code be ready +execution. Setting nowait to on will have the LAMMPS code be ready to connect to a client, but continue with the simulation. This can for example be used to monitor the progress of an ongoing calculation without the need to be permanently connected or having to download a -trajectory file. -

    -

    The trate keyword allows to select how often the coordinate data is +trajectory file.

    +

    The trate keyword allows to select how often the coordinate data is sent to the IMD client. It can also be changed on request of the IMD -client through an IMD protocol message. The unwrap keyword allows -to send "unwrapped" coordinates to the IMD client that undo the +client through an IMD protocol message. The unwrap keyword allows +to send “unwrapped” coordinates to the IMD client that undo the wrapping back of coordinates into the principle unit cell, as done by -default in LAMMPS. The fscale keyword allows to apply a scaling +default in LAMMPS. The fscale keyword allows to apply a scaling factor to forces transmitted by the IMD client. The IMD protocols stipulates that forces are transferred in kcal/mol/angstrom under the assumption that coordinates are given in angstrom. For LAMMPS runs with different units or as a measure to tweak the forces generated by the manipulation of the IMD client, this option allows to make -adjustments. -

    -

    To connect VMD to a listening LAMMPS simulation on the same machine +adjustments.

    +

    To connect VMD to a listening LAMMPS simulation on the same machine with fix imd enabled, one needs to start VMD and load a coordinate or topology file that matches the fix group. When the VMD command -prompts appears, one types the command line: -

    -
    imd connect localhost 5678 
    -
    -

    This assumes that fix imd was started with 5678 as a port -number for the IMD protocol. -

    -

    The steps to do interactive manipulation of a running simulation in -VMD are the following: -

    -

    In the Mouse menu of the VMD Main window, select "Mouse -> Force -> -Atom". You may alternately select "Residue", or "Fragment" to apply +prompts appears, one types the command line:

    +
    imd connect localhost 5678
    +
    +
    +

    This assumes that fix imd was started with 5678 as a port +number for the IMD protocol.

    +

    The steps to do interactive manipulation of a running simulation in +VMD are the following:

    +

    In the Mouse menu of the VMD Main window, select “Mouse -> Force -> +Atom”. You may alternately select “Residue”, or “Fragment” to apply forces to whole residues or fragments. Your mouse can now be used to apply forces to your simulation. Click on an atom, residue, or fragment and drag to apply a force. Click quickly without moving the mouse to turn the force off. You can also use a variety of 3D position trackers to apply forces to your simulation. Game controllers or haptic -devices with force-feedback such as the Novint Falcon or Sensable +devices with force-feedback such as the Novint Falcon or Sensable PHANTOM allow you to feel the resistance due to inertia or interactions -with neighbors that the atoms experience you are trying to move, as if -they were real objects. See the VMD IMD Homepage and the -VRPN-ICMS Homepage for more details. -

    -

    If IMD control messages are received, a line of text describing the +with neighbors that the atoms experience you are trying to move, as if +they were real objects. See the VMD IMD Homepage and the +VRPN-ICMS Homepage for more details.

    +

    If IMD control messages are received, a line of text describing the message and its effect will be printed to the LAMMPS output screen, if -screen output is active. -

    - - - - - - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +screen output is active.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    When used in combination with VMD, a topology or coordinate file has +quantities are stored by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    When used in combination with VMD, a topology or coordinate file has to be loaded, which matches (in number and ordering of atoms) the group the fix is applied to. The fix internally sorts atom IDs by ascending integer value; in VMD (and thus the IMD protocol) those will -be assigned 0-based consecutive index numbers. -

    -

    When using multiple active IMD connections at the same time, each -needs to use a different port number. -

    -

    Related commands: none -

    -

    Default: none -

    - +be assigned 0-based consecutive index numbers.

    +

    When using multiple active IMD connections at the same time, each +needs to use a different port number.

    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 4e77d2e948..625ea18f16 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -1,83 +1,194 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix indent command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix indent command -

    -

    Syntax: -

    -
    fix ID group-ID indent K keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • indent = style name of this fix command - -
    • K = force constant for indenter surface (force/distance^2 units) - -
    • one or more keyword/value pairs may be appended - -
    • keyword = sphere or cylinder or plane or side or units - -
        sphere args = x y z R
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix indent command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID indent K keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • indent = style name of this fix command
      • +
      • K = force constant for indenter surface (force/distance^2 units)
      • +
      • one or more keyword/value pairs may be appended
      • +
      • keyword = sphere or cylinder or plane or side or units
      • +
      +
      +sphere args = x y z R
           x,y,z = initial position of center of indenter (distance units)
           R = sphere radius of indenter (distance units)
           any of x,y,z,R can be a variable (see below)
      -  cylinder args = dim c1 c2 R
      -    dim = x or y or z = axis of cylinder
      +  cylinder args = dim c1 c2 R
      +    dim = x or y or z = axis of cylinder
           c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
           R = cylinder radius of indenter (distance units)
           any of c1,c2,R can be a variable (see below)
      -  plane args = dim pos side
      -    dim = x or y or z = plane perpendicular to this dimension
      +  plane args = dim pos side
      +    dim = x or y or z = plane perpendicular to this dimension
           pos = position of plane in dimension x, y, or z (distance units)
           pos can be a variable (see below)
      -    side = lo or hi
      -  side value = in or out
      -    in = the indenter acts on particles inside the sphere or cylinder
      -    out = the indenter acts on particles outside the sphere or cylinder
      -  units value = lattice or box
      +    side = lo or hi
      +  side value = in or out
      +    in = the indenter acts on particles inside the sphere or cylinder
      +    out = the indenter acts on particles outside the sphere or cylinder
      +  units value = lattice or box
           lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0
    +    box = the geometry is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0
     fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in
    -fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box 
    -
    -

    Description: -

    -

    Insert an indenter within a simulation box. The indenter repels all +fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box +

    +
    +
    +
    +

    Description¶

    +

    Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow. Or it can be used as a constraining wall -around a simulation; see the discussion of the side keyword below. -

    -

    The indenter can either be spherical or cylindrical or planar. You -must set one of those 3 keywords. -

    -

    A spherical indenter exerts a force of magnitude -

    -
    F(r) = - K (r - R)^2 
    -
    -

    on each atom where K is the specified force constant, r is the -distance from the atom to the center of the indenter, and R is the -radius of the indenter. The force is repulsive and F(r) = 0 for r > -R. -

    -

    A cylindrical indenter exerts the same force, except that r is the +around a simulation; see the discussion of the side keyword below.

    +

    The indenter can either be spherical or cylindrical or planar. You +must set one of those 3 keywords.

    +

    A spherical indenter exerts a force of magnitude

    +
    F(r) = - K (r - R)^2
    +
    +
    +

    on each atom where K is the specified force constant, r is the +distance from the atom to the center of the indenter, and R is the +radius of the indenter. The force is repulsive and F(r) = 0 for r > +R.

    +

    A cylindrical indenter exerts the same force, except that r is the distance from the atom to the center axis of the cylinder. The -cylinder extends infinitely along its axis. -

    -

    Spherical and cylindrical indenters account for periodic boundaries in +cylinder extends infinitely along its axis.

    +

    Spherical and cylindrical indenters account for periodic boundaries in two ways. First, the center point of a spherical indenter (x,y,z) or axis of a cylindrical indenter (c1,c2) is remapped back into the simulation box, if the box is periodic in a particular dimension. @@ -85,127 +196,182 @@ This occurs every timestep if the indenter geometry is specified with a variable (see below), e.g. it is moving over time. Second, the calculation of distance to the indenter center or axis accounts for periodic boundaries. Both of these mean that an indenter can -effectively move through and straddle one or more periodic boundaries. -

    -

    A planar indenter is really an axis-aligned infinite-extent wall -exerting the same force on atoms in the system, where R is the -position of the plane and r-R is the distance from the plane. If -the side parameter of the plane is specified as lo then it will +effectively move through and straddle one or more periodic boundaries.

    +

    A planar indenter is really an axis-aligned infinite-extent wall +exerting the same force on atoms in the system, where R is the +position of the plane and r-R is the distance from the plane. If +the side parameter of the plane is specified as lo then it will indent from the lo end of the simulation box, meaning that atoms with -a coordinate less than the plane's current position will be pushed +a coordinate less than the plane’s current position will be pushed towards the hi end of the box and atoms with a coordinate higher than -the plane's current position will feel no force. Vice versa if side -is specified as hi. -

    -

    Any of the 4 quantities defining a spherical indenter's geometry can -be specified as an equal-style variable, namely x, -y, z, or R. Similarly, for a cylindrical indenter, any of c1, -c2, or R, can be a variable. For a planar indenter, pos can be +the plane’s current position will feel no force. Vice versa if side +is specified as hi.

    +

    Any of the 4 quantities defining a spherical indenter’s geometry can +be specified as an equal-style variable, namely x, +y, z, or R. Similarly, for a cylindrical indenter, any of c1, +c2, or R, can be a variable. For a planar indenter, pos can be a variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the -indenter geometry. -

    -

    Note that equal-style variables can specify formulas with various -mathematical functions, and include thermo_style +indenter geometry.

    +

    Note that equal-style variables can specify formulas with various +mathematical functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous -fashion. For the latter, see the start and stop keywords of the -run command and the elaplong keyword of thermo_style -custom for details. -

    -

    For example, if a spherical indenter's x-position is specfied as v_x, -then this variable definition will keep it's center at a relative +fashion. For the latter, see the start and stop keywords of the +run command and the elaplong keyword of thermo_style custom for details.

    +

    For example, if a spherical indenter’s x-position is specfied as v_x, +then this variable definition will keep it’s center at a relative position in the simulation box, 1/4 of the way from the left edge to -the right edge, even if the box size changes: -

    -
    variable x equal "xlo + 0.25*lx" 
    -
    -

    Similarly, either of these variable definitions will move the indenter -from an initial position at 2.5 at a constant velocity of 5: -

    -
    variable x equal "2.5 + 5*elaplong*dt"
    -variable x equal vdisplace(2.5,5) 
    -
    -

    If a spherical indenter's radius is specified as v_r, then these +the right edge, even if the box size changes:

    +
    variable x equal "xlo + 0.25*lx"
    +
    +
    +

    Similarly, either of these variable definitions will move the indenter +from an initial position at 2.5 at a constant velocity of 5:

    +
    variable x equal "2.5 + 5*elaplong*dt"
    +variable x equal vdisplace(2.5,5)
    +
    +
    +

    If a spherical indenter’s radius is specified as v_r, then these variable definitions will grow the size of the indenter at a specfied -rate. -

    -
    variable r0 equal 0.0
    +rate.

    +
    variable r0 equal 0.0
     variable rate equal 1.0
    -variable r equal "v_r0 + step*dt*v_rate" 
    -
    -

    If the side keyword is specified as out, which is the default, +variable r equal "v_r0 + step*dt*v_rate" +

    + +

    If the side keyword is specified as out, which is the default, then particles outside the indenter are pushded away from its outer surface, as described above. This only applies to spherical or -cylindrical indenters. If the side keyword is specified as in, +cylindrical indenters. If the side keyword is specified as in, the action of the indenter is reversed. Particles inside the indenter are pushed away from its inner surface. In other words, the indenter is now a containing wall that traps the particles inside it. If the -radius shrinks over time, it will squeeze the particles. -

    -

    The units keyword determines the meaning of the distance units used -to define the indenter geometry. A box value selects standard -distance units as defined by the units command, -e.g. Angstroms for units = real or metal. A lattice value means the -distance units are in lattice spacings. The lattice +radius shrinks over time, it will squeeze the particles.

    +

    The units keyword determines the meaning of the distance units used +to define the indenter geometry. A box value selects standard +distance units as defined by the units command, +e.g. Angstroms for units = real or metal. A lattice value means the +distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. The (x,y,z) coords of the indenter position are scaled by the x,y,z lattice spacings respectively. The radius of a spherical or -cylindrical indenter is scaled by the x lattice spacing. -

    -

    Note that the units keyword only affects indenter geometry parameters +cylindrical indenter is scaled by the x lattice spacing.

    +

    Note that the units keyword only affects indenter geometry parameters specified directly with numbers, not those specified as variables. In -the latter case, you should use the xlat, ylat, zlat keywords of -the thermo_style command if you want to include -lattice spacings in a variable formula. -

    -

    The force constant K is not affected by the units keyword. It is +the latter case, you should use the xlat, ylat, zlat keywords of +the thermo_style command if you want to include +lattice spacings in a variable formula.

    +

    The force constant K is not affected by the units keyword. It is always in force/distance^2 units where force and distance are defined -by the units command. If you wish K to be scaled by the +by the units command. If you wish K to be scaled by the lattice spacing, you can define K with a variable whose formula -contains xlat, ylat, zlat keywords of the -thermo_style command, e.g. -

    -
    variable k equal 100.0/xlat/xlat
    -fix 1 all indent $k sphere ... 
    -
    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +contains xlat, ylat, zlat keywords of the +thermo_style command, e.g.

    +
    variable k equal 100.0/xlat/xlat
    +fix 1 all indent $k sphere ...
    +
    +
    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and the indenter to -the system's potential energy as part of thermodynamic -output. The energy of each particle interacting -with the indenter is K/3 (r - R)^3. -

    -

    This fix computes a global scalar energy and a global 3-vector of -forces (on the indenter), which can be accessed by various output -commands. The scalar and vector values -calculated by this fix are "extensive". -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. Note that if you +the system’s potential energy as part of thermodynamic output. The energy of each particle interacting +with the indenter is K/3 (r - R)^3.

    +

    This fix computes a global scalar energy and a global 3-vector of +forces (on the indenter), which can be accessed by various output commands. The scalar and vector values +calculated by this fix are “extensive”.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. Note that if you define the indenter geometry with a variable using a time-dependent formula, LAMMPS uses the iteration count in the minimizer as the timestep. But it is almost certainly a bad idea to have the indenter change its position or size during a minimization. LAMMPS does not -check if you have done this. -

    -

    IMPORTANT NOTE: If you want the atom/indenter interaction energy to be +check if you have done this.

    +
    +

    Warning

    +

    If you want the atom/indenter interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you must enable the fix_modify -energy option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: -

    -

    The option defaults are side = out and units = lattice. -

    - +being minimized), you must enable the fix_modify +energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +
    +
    +

    Default¶

    +

    The option defaults are side = out and units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ipi.html b/doc/fix_ipi.html index 1c76f7af28..91c57815cc 100644 --- a/doc/fix_ipi.html +++ b/doc/fix_ipi.html @@ -1,98 +1,267 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ipi command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ipi command -

    -

    Syntax: -

    -
    fix ID group-ID ipi address port [unix] 
    -
    -
    • ID, group-ID are documented in fix command -
    • ipi = style name of this fix command -
    • address = internet address (FQDN or IP), or UNIX socket name -
    • port = port number (ignored for UNIX sockets) -
    • optional keyword = unix, if present uses a unix socket -
    -

    Examples: -

    -

    fix 1 all ipi my.server.com 12345 -fix 1 all ipi mysocket 666 unix -

    -

    Description: -

    -

    This fix enables LAMMPS to be run as a client for the i-PI Python -wrapper (IPI) for performing a path integral molecular dynamics + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix ipi command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID ipi address port [unix]
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • ipi = style name of this fix command
    • +
    • address = internet address (FQDN or IP), or UNIX socket name
    • +
    • port = port number (ignored for UNIX sockets)
    • +
    • optional keyword = unix, if present uses a unix socket
    • +
    +
    +
    +

    Examples¶

    +

    fix 1 all ipi my.server.com 12345 +fix 1 all ipi mysocket 666 unix

    +
    +
    +

    Description¶

    +

    This fix enables LAMMPS to be run as a client for the i-PI Python +wrapper (IPI) for performing a path integral molecular dynamics (PIMD) simulation. The philosophy behind i-PI is described in the -following publication (IPI-CPC). -

    -

    A version of the i-PI package, containing only files needed for use +following publication (IPI-CPC).

    +

    A version of the i-PI package, containing only files needed for use with LAMMPS, is provided in the tools/i-pi directory. See the tools/i-pi/manual.pdf for an introduction to i-PI. The examples/USER/i-pi directory contains example scripts for using i-PI -with LAMMPS. -

    -

    In brief, the path integral molecular dynamics is performed by the +with LAMMPS.

    +

    In brief, the path integral molecular dynamics is performed by the Python wrapper, while the client (LAMMPS in this case) simply computes forces and energy for each configuration. The communication between the two components takes place using sockets, and is reduced to the bare minimum. All the parameters of the dynamics are specified in the input of i-PI, and all the parameters of the force field must be -specified as LAMMPS inputs, preceding the fix ipi command. -

    -

    The server address must be specified by the address argument, and +specified as LAMMPS inputs, preceding the fix ipi command.

    +

    The server address must be specified by the address argument, and can be either the IP address, the fully-qualified name of the server, or the name of a UNIX socket for local, faster communication. In the -case of internet sockets, the port argument specifies the port -number on which i-PI is listening, while the unix optional switch -specifies that the socket is a UNIX socket. -

    -

    Note that there is no check of data integrity, or that the atomic +case of internet sockets, the port argument specifies the port +number on which i-PI is listening, while the unix optional switch +specifies that the socket is a UNIX socket.

    +

    Note that there is no check of data integrity, or that the atomic configurations make sense. It is assumed that the species in the i-PI input are listed in the same order as in the data file of LAMMPS. The initial configuration is ignored, as it will be substituted with the -coordinates received from i-PI before forces are ever evaluated. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    There is no restart information associated with this fix, since all -the dynamical parameters are dealt with by i-PI. -

    -

    Restrictions: -

    -

    Using this fix on anything other than all atoms requires particular +coordinates received from i-PI before forces are ever evaluated.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    There is no restart information associated with this fix, since all +the dynamical parameters are dealt with by i-PI.

    +
    +
    +

    Restrictions¶

    +

    Using this fix on anything other than all atoms requires particular care, since i-PI will know nothing on atoms that are not those whose coordinates are transferred. However, one could use this strategy to define an external potential acting on the atoms that are moved by -i-PI. -

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. Because of +i-PI.

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info. Because of the use of UNIX domain sockets, this fix will only work in a UNIX -environment. -

    -

    Related commands: -

    -

    fix nve -

    -
    +environment.

    +
    + +
    - -

    (IPI-CPC) Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, -1019-1026 (2014). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 78687927d9..82b6ef3a03 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -1,362 +1,490 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix langevin command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix langevin command -

    -

    fix langevin/kk command -

    -

    Syntax: -

    -
    fix ID group-ID langevin Tstart Tstop damp seed keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • langevin = style name of this fix command - -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) - -
    • Tstart can be a variable (see below) - -
    • damp = damping parameter (time units) - -
    • seed = random number seed to use for white noise (positive integer) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = angmom or omega or scale or tally or zero - -
        angmom value = no or scale
      -    no = do not thermostat rotational degrees of freedom via the angular momentum
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix langevin command¶

      +
      +
      +

      fix langevin/kk command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID langevin Tstart Tstop damp seed keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • langevin = style name of this fix command
      • +
      • Tstart,Tstop = desired temperature at start/end of run (temperature units)
      • +
      • Tstart can be a variable (see below)
      • +
      • damp = damping parameter (time units)
      • +
      • seed = random number seed to use for white noise (positive integer)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = angmom or omega or scale or tally or zero
      • +
      +
      +angmom value = no or scale
      +    no = do not thermostat rotational degrees of freedom via the angular momentum
           factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below
      -  gjf value = no or yes
      -    no = use standard formulation
      -    yes = use Gronbech-Jensen/Farago formulation
      -  omega value = no or yes
      -    no = do not thermostat rotational degrees of freedom via the angular velocity
      -    yes = do thermostat rotational degrees of freedom via the angular velocity
      -  scale values = type ratio
      +  gjf value = no or yes
      +    no = use standard formulation
      +    yes = use Gronbech-Jensen/Farago formulation
      +  omega value = no or yes
      +    no = do not thermostat rotational degrees of freedom via the angular velocity
      +    yes = do thermostat rotational degrees of freedom via the angular velocity
      +  scale values = type ratio
           type = atom type (1-N)
           ratio = factor by which to scale the damping coefficient
      -  tally value = no or yes
      -    no = do not tally the energy added/subtracted to atoms
      -    yes = do tally the energy added/subtracted to atoms
      -  zero value = no or yes
      -    no = do not set total random force to zero
      -    yes = set total random force to zero 
      -
      - -
    -

    Examples: -

    -
    fix 3 boundary langevin 1.0 1.0 1000.0 699483
    +  tally value = no or yes
    +    no = do not tally the energy added/subtracted to atoms
    +    yes = do tally the energy added/subtracted to atoms
    +  zero value = no or yes
    +    no = do not set total random force to zero
    +    yes = set total random force to zero
    +
    +
    +
    +

    Examples¶

    +
    fix 3 boundary langevin 1.0 1.0 1000.0 699483
     fix 1 all langevin 1.0 1.1 100.0 48279 scale 3 1.5
    -fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 
    -
    -

    Description: -

    -

    Apply a Langevin thermostat as described in (Schneider) +fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 +

    +
    +
    +
    +

    Description¶

    +

    Apply a Langevin thermostat as described in (Schneider) to a group of atoms which models an interaction with a background -implicit solvent. Used with fix nve, this command +implicit solvent. Used with fix nve, this command performs Brownian dynamics (BD), since the total force on each atom -will have the form: -

    -
    F = Fc + Ff + Fr
    +will have the form:

    +
    F = Fc + Ff + Fr
     Ff = - (m / damp) v
    -Fr is proportional to sqrt(Kb T m / (dt damp)) 
    -
    -

    Fc is the conservative force computed via the usual inter-particle -interactions (pair_style, -bond_style, etc). -

    -

    The Ff and Fr terms are added by this fix on a per-particle basis. -See the pair_style dpd/tstat command for a +Fr is proportional to sqrt(Kb T m / (dt damp)) +

    + +

    Fc is the conservative force computed via the usual inter-particle +interactions (pair_style, +bond_style, etc).

    +

    The Ff and Fr terms are added by this fix on a per-particle basis. +See the pair_style dpd/tstat command for a thermostatting option that adds similar terms on a pairwise basis to -pairs of interacting particles. -

    -

    Ff is a frictional drag or viscous damping term proportional to the -particle's velocity. The proportionality constant for each atom is +pairs of interacting particles.

    +

    Ff is a frictional drag or viscous damping term proportional to the +particle’s velocity. The proportionality constant for each atom is computed as m/damp, where m is the mass of the particle and damp is -the damping factor specified by the user. -

    -

    Fr is a force due to solvent atoms at a temperature T randomly bumping +the damping factor specified by the user.

    +

    Fr is a force due to solvent atoms at a temperature T randomly bumping into the particle. As derived from the fluctuation/dissipation theorem, its magnitude as shown above is proportional to sqrt(Kb T m / dt damp), where Kb is the Boltzmann constant, T is the desired temperature, m is the mass of the particle, dt is the timestep size, and damp is the damping factor. Random numbers are used to randomize the direction and magnitude of this force as described in -(Dunweg), where a uniform random number is used (instead of -a Gaussian random number) for speed. -

    -

    Note that unless you use the omega or angmom keywords, the +(Dunweg), where a uniform random number is used (instead of +a Gaussian random number) for speed.

    +

    Note that unless you use the omega or angmom keywords, the thermostat effect of this fix is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles, which have rotational degrees of freedom, are being thermostatted. The translational degrees of freedom can also have a bias velocity removed from them before -thermostatting takes place; see the description below. -

    -

    IMPORTANT NOTE: Unlike the fix nvt command which +thermostatting takes place; see the description below.

    +
    +

    Warning

    +

    Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to effect thermostatting. Thus you must use a separate time integration fix, -like fix nve to actually update the velocities and +like fix nve to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that also have their temperature -controlled by another fix - e.g. by fix nvt or fix -temp/rescale commands. -

    -

    See this howto section of the manual for +controlled by another fix - e.g. by fix nvt or fix temp/rescale commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. -

    -

    Tstart can be specified as an equal-style or atom-style -variable. In this case, the Tstop setting is +thermostatting.

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop.

    +

    Tstart can be specified as an equal-style or atom-style +variable. In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -target temperature. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +target temperature.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. -

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent temperature.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent -temperature with optional time-dependence as well. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that remove a "bias" from the +temperature with optional time-dependence as well.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that remove a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or removing the x-component of velocity from the calculation. This is not done by default, but only if the -fix_modify command is used to assign a temperature +fix_modify command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages -for individual compute commands to determine which ones +for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back -in. -

    -

    The damp parameter is specified in time units and determines how +in.

    +

    The damp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time -units (tau or fmsec or psec - see the units command). +units (tau or fmsec or psec - see the units command). The damp factor can be thought of as inversely related to the viscosity of the solvent. I.e. a small relaxation time implies a hi-viscosity solvent and vice versa. See the discussion about gamma -and viscosity in the documentation for the fix -viscous command for more details. -

    -

    The random # seed must be a positive integer. A Marsaglia random +and viscosity in the documentation for the fix viscous command for more details.

    +

    The random # seed must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. -

    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    The keyword angmom and omega keywords enable thermostatting of +different numbers of processors.

    +
    +

    The keyword/value option pairs are used in the following ways.

    +

    The keyword angmom and omega keywords enable thermostatting of rotational degrees of freedom in addition to the usual translational -degrees of freedom. This can only be done for finite-size particles. -

    -

    A simulation using atom_style sphere defines an omega for finite-size +degrees of freedom. This can only be done for finite-size particles.

    +

    A simulation using atom_style sphere defines an omega for finite-size spheres. A simulation using atom_style ellipsoid defines a finite size and shape for aspherical particles and an angular momentum. The Langevin formulas for thermostatting the rotational degrees of freedom are the same as those above, where force is replaced by torque, m is replaced by the moment of inertia I, and v is replaced by omega (which is derived from the angular momentum in the case of -aspherical particles). -

    -

    The rotational temperature of the particles can be monitored by the -compute temp/sphere and compute -temp/asphere commands with their rotate -options. -

    -

    For the omega keyword there is also a scale factor of 10.0/3.0 that +aspherical particles).

    +

    The rotational temperature of the particles can be monitored by the +compute temp/sphere and compute temp/asphere commands with their rotate +options.

    +

    For the omega keyword there is also a scale factor of 10.0/3.0 that is applied as a multiplier on the Ff (damping) term in the equation above and of sqrt(10.0/3.0) as a multiplier on the Fr term. This does not affect the thermostatting behaviour of the Langevin formalism but insures that the randomized rotational diffusivity of spherical -particles is correct. -

    -

    For the angmom keyword a similar scale factor is needed which is +particles is correct.

    +

    For the angmom keyword a similar scale factor is needed which is 10.0/3.0 for spherical particles, but is anisotropic for aspherical particles (e.g. ellipsoids). Currently LAMMPS only applies an isotropic scale factor, and you can choose its magnitude as the -specified value of the angmom keyword. If your aspherical particles +specified value of the angmom keyword. If your aspherical particles are (nearly) spherical than a value of 10.0/3.0 = 3.333 is a good choice. If they are highly aspherical, a value of 1.0 is as good a choice as any, since the effects on rotational diffusivity of the particles will be incorrect regardless. Note that for any reasonable -scale factor, the thermostatting effect of the angmom keyword on the +scale factor, the thermostatting effect of the angmom keyword on the rotational temperature of the aspherical particles should still be -valid. -

    -

    The keyword scale allows the damp factor to be scaled up or down by +valid.

    +

    The keyword scale allows the damp factor to be scaled up or down by the specified factor for atoms of that type. This can be useful when different atom types have different sizes or masses. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increases the relaxation time which is -equivalent to the solvent's viscosity acting on particles with 1/2 the +equivalent to the solvent’s viscosity acting on particles with 1/2 the diameter. This is the opposite effect of scale factors used by the -fix viscous command, since the damp factor in fix -langevin is inversely related to the gamma factor in fix viscous. -Also note that the damping factor in fix langevin includes the -particle mass in Ff, unlike fix viscous. Thus the mass and size of +fix viscous command, since the damp factor in fix +langevin is inversely related to the gamma factor in fix viscous. +Also note that the damping factor in fix langevin includes the +particle mass in Ff, unlike fix viscous. Thus the mass and size of different atom types should be accounted for in the choice of ratio -values. -

    -

    The keyword tally enables the calculation of the cumulative energy +values.

    +

    The keyword tally enables the calculation of the cumulative energy added/subtracted to the atoms as they are thermostatted. Effectively it is the energy exchanged between the infinite thermal reservoir and the particles. As described below, this energy can then be printed out or added to the potential energy of the system to monitor energy -conservation. -

    -

    IMPORTANT NOTE: this accumulated energy does NOT include kinetic -energy removed by the zero flag. LAMMPS will print a warning when -both options are active. -

    -

    The keyword zero can be used to eliminate drift due to the +conservation.

    +
    +

    Warning

    +

    this accumulated energy does NOT include kinetic +energy removed by the zero flag. LAMMPS will print a warning when +both options are active.

    +
    +

    The keyword zero can be used to eliminate drift due to the thermostat. Because the random forces on different atoms are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the center-of-mass of the system undergoes a slow random walk. If the -keyword zero is set to yes, the total random force is set exactly +keyword zero is set to yes, the total random force is set exactly to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time. -

    -

    The keyword gjf can be used to run the Gronbech-Jensen/Farago - time-discretization of the Langevin model. As +momentum will not drift over time.

    +

    The keyword gjf can be used to run the Gronbech-Jensen/Farago time-discretization of the Langevin model. As described in the papers cited below, the purpose of this method is to enable longer timesteps to be used (up to the numerical stability limit of the integrator), while still producing the correct Boltzmann distribution of atom positions. It is implemented within LAMMPS, by changing how the the random force is applied so that it is composed of the average of two random forces representing half-contributions from -the previous and current time intervals. -

    -

    In common with all methods based on Verlet integration, the +the previous and current time intervals.

    +

    In common with all methods based on Verlet integration, the discretized velocities generated by this method in conjunction with velocity-Verlet time integration are not exactly conjugate to the positions. As a result the temperature (computed from the discretized velocities) will be systematically lower than the target temperature, by a small amount which grows with the timestep. Nonetheless, the distribution of atom positions will still be consistent with the -target temperature. -

    -

    As an example of using the gjf keyword, for molecules containing C-H +target temperature.

    +

    As an example of using the gjf keyword, for molecules containing C-H bonds, configurational properties generated with dt = 2.5 fs and tdamp = 100 fs are indistinguishable from dt = 0.5 fs. Because the velocity distribution systematically decreases with increasing timestep, the method should not be used to generate properties that depend on the velocity distribution, such as the velocity autocorrelation function (VACF). In this example, the velocity distribution at dt = 2.5fs -generates an average temperature of 220 K, instead of 300 K. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +generates an average temperature of 220 K, instead of 300 K.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. Because the state of the random number generator +is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. -

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of thermodynamic -output. Note that use of this option requires -setting the tally keyword to yes. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output. Note that use of this option requires +setting the tally keyword to yes.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the tally keyword to yes. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix nvt, fix temp/rescale, fix -viscous, fix nvt, pair_style -dpd/tstat -

    -

    Default: -

    -

    The option defaults are angmom = no, omega = no, scale = 1.0 for all -types, tally = no, zero = no, gjf = no. -

    -
    +calculated by this fix is “extensive”. Note that calculation of this +quantity requires setting the tally keyword to yes.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are angmom = no, omega = no, scale = 1.0 for all +types, tally = no, zero = no, gjf = no.

    +
    +

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).

    +

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978).

    +

    (Gronbech-Jensen) Gronbech-Jensen and Farago, Mol Phys, 111, 983 +(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, +185, 524 (2014)

    +
    + - -

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). -

    - + + +
    + -

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978). -

    - +
    -

    (Gronbech-Jensen) Gronbech-Jensen and Farago, Mol Phys, 111, 983 -(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, -185, 524 (2014) -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_langevin_drude.html b/doc/fix_langevin_drude.html index a118f323c6..b181e27176 100644 --- a/doc/fix_langevin_drude.html +++ b/doc/fix_langevin_drude.html @@ -1,280 +1,434 @@ - - - - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix langevin/drude command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix langevin/drude command -

    -

    Syntax: -

    -
    fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • langevin/drude = style name of this fix command - -
    • Tcom = desired temperature of the centers of mass (temperature units) - -
    • damp_com = damping parameter for the thermostat on centers of mass (time units) - -
    • seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) - -
    • Tdrude = desired temperature of the Drude oscillators (temperature units) - -
    • damp_drude = damping parameter for the thermostat on Drude oscillators (time units) - -
    • seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = zero - -
        zero value = no or yes
      -    no = do not set total random force on centers of mass to zero
      -    yes = set total random force on centers of mass to zero 
      -
      - -
    -

    Examples: -

    -
    fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451
    -fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes 
    -
    -

    Description: -

    -

    Apply two Langevin thermostats as described in (Jiang) for + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix langevin/drude command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • langevin/drude = style name of this fix command
    • +
    • Tcom = desired temperature of the centers of mass (temperature units)
    • +
    • damp_com = damping parameter for the thermostat on centers of mass (time units)
    • +
    • seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer)
    • +
    • Tdrude = desired temperature of the Drude oscillators (temperature units)
    • +
    • damp_drude = damping parameter for the thermostat on Drude oscillators (time units)
    • +
    • seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = zero
    • +
    +
    +zero value = no or yes
    +    no = do not set total random force on centers of mass to zero
    +    yes = set total random force on centers of mass to zero
    +
    +
    +
    +

    Examples¶

    +
    fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451
    +fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes
    +
    +
    +
    +
    +

    Description¶

    +

    Apply two Langevin thermostats as described in (Jiang) for thermalizing the reduced degrees of freedom of Drude oscillators. -This link describes how to use the thermalized Drude oscillator -model in LAMMPS and polarizable models in LAMMPS -are discussed in this Section. -

    -

    Drude oscillators are a way to simulate polarizables atoms, by +This link describes how to use the thermalized Drude oscillator model in LAMMPS and polarizable models in LAMMPS +are discussed in this Section.

    +

    Drude oscillators are a way to simulate polarizables atoms, by splitting them into a core and a Drude particle bound by a harmonic bond. The thermalization works by transforming the particles degrees of freedom by these equations. In these equations upper case denotes atomic or center of mass values and lower case denotes Drude particle or dipole values. Primes denote the transformed (reduced) values, -while bare letters denote the original values. -

    -Velocities: -\begin{equation} V' = \frac {M\, V + m\, v} {M'} \end{equation} -\begin{equation} v' = v - V \end{equation} +while bare letters denote the original values.

    +

    Velocities: +begin{equation} V’ = frac {M, V + m, v} {M’} end{equation} +begin{equation} v’ = v - V end{equation} Masses: -\begin{equation} M' = M + m \end{equation} -\begin{equation} m' = \frac {M\, m } {M'} \end{equation} +begin{equation} M’ = M + m end{equation} +begin{equation} m’ = frac {M, m } {M’} end{equation} The Langevin forces are computed as -\begin{equation} F' = - \frac {M'} {\mathtt{damp\_com}}\, V' + F_r' \end{equation} -\begin{equation} f' = - \frac {m'} {\mathtt{damp\_drude}}\, v' + f_r' \end{equation} -\(F_r'\) is a random force proportional to -\(\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} - {\mathrm dt\, \mathtt{damp\_com} } - } \). -
    -\(f_r'\) is a random force proportional to -\(\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} - {\mathrm dt\, \mathtt{damp\_drude} } - } \). -
    -

    Then the real forces acting on the particles are computed from the inverse +begin{equation} F’ = - frac {M’} {mathtt{damp_com}}, V’ + F_r’ end{equation} +begin{equation} f’ = - frac {m’} {mathtt{damp_drude}}, v’ + f_r’ end{equation} +(F_r’) is a random force proportional to +(sqrt { frac {2, k_B mathtt{Tcom}, m’}

    +
    +
    +
    {mathrm dt, mathtt{damp_com} }
    +

    } ).

    +
    +

    (f_r’) is a random force proportional to +(sqrt { frac {2, k_B mathtt{Tdrude}, m’}

    +
    +
    +
    {mathrm dt, mathtt{damp_drude} }
    +

    } ).

    +
    +

    Then the real forces acting on the particles are computed from the inverse transform: -\begin{equation} F = \frac M {M'}\, F' - f' \end{equation} -\begin{equation} f = \frac m {M'}\, F' + f' \end{equation} -

    -

    This fix also thermostates non-polarizable atoms in the group at -temperature Tcom, as if they had a massless Drude partner. The +begin{equation} F = frac M {M’}, F’ - f’ end{equation} +begin{equation} f = frac m {M’}, F’ + f’ end{equation}

    +

    This fix also thermostates non-polarizable atoms in the group at +temperature Tcom, as if they had a massless Drude partner. The Drude particles themselves need not be in the group. The center of mass and the dipole are thermostated iff the core atom is in the -group. -

    -

    Note that the thermostat effect of this fix is applied to only the +group.

    +

    Note that the thermostat effect of this fix is applied to only the translational degrees of freedom of the particles, which is an important consideration if finite-size particles, which have rotational degrees of freedom, are being thermostated. The translational degrees of freedom can also have a bias velocity removed -from them before thermostating takes place; see the description below. -

    -

    IMPORTANT NOTE: Like the fix langevin command, +from them before thermostating takes place; see the description below.

    +
    +

    Warning

    +

    Like the fix langevin command, this fix does NOT perform time integration. It only modifies forces to effect thermostating. Thus you must use a separate time integration -fix, like fix nve or fix nph to actually +fix, like fix nve or fix nph to actually update the velocities and positions of atoms using the modified forces. Likewise, this fix should not normally be used on atoms that -also have their temperature controlled by another fix - e.g. by fix -nvt or fix temp/rescale commands. -

    -

    See this howto section of the manual for +also have their temperature controlled by another fix - e.g. by fix nvt or fix temp/rescale commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostating. -

    -
    - -

    This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the fix drude command to -specify the Drude status of each atom type. -

    -

    IMPORTANT NOTE: only the Drude core atoms need to be in the group +thermostating.

    +
    +

    This fix requires each atom know whether it is a Drude particle or +not. You must therefore use the fix drude command to +specify the Drude status of each atom type.

    +
    +

    Warning

    +

    only the Drude core atoms need to be in the group specified for this fix. A Drude electron will be transformed together with its cores even if it is not itself in the group. It is safe to include Drude electrons or non-polarizable atoms in the group. The non-polarizable atoms will simply not be thermostatted as if they had -a massless Drude partner (electron). -

    -

    IMPORTANT NOTE: Ghost atoms need to know their velocity for this fix -to act correctly. You must use the comm_modify -command to enable this, e.g. -

    -
    comm_modify vel yes 
    -
    -
    - -

    Tcom is the target temperature of the centers of mass, which would -be used to thermostate the non-polarizable atoms. Tdrude is the +a massless Drude partner (electron).

    +
    +
    +

    Warning

    +

    Ghost atoms need to know their velocity for this fix +to act correctly. You must use the comm_modify +command to enable this, e.g.

    +
    +
    comm_modify vel yes
    +
    +
    +
    +

    Tcom is the target temperature of the centers of mass, which would +be used to thermostate the non-polarizable atoms. Tdrude is the (normally low) target temperature of the core-Drude particle pairs -(dipoles). Tcom and Tdrude can be specified as an equal-style -variable. If the value is a variable, it should be +(dipoles). Tcom and Tdrude can be specified as an equal-style +variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to -determine the target temperature. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +determine the target temperature.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. -

    -

    Like other fixes that perform thermostating, this fix can be used with -compute commands that remove a "bias" from the atom +time. Thus it is easy to specify a time-dependent temperature.

    +

    Like other fixes that perform thermostating, this fix can be used with +compute commands that remove a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms. This is not done by default, but only if the -fix_modify command is used to assign a temperature +fix_modify command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages -for individual compute commands to determine which ones +for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: bias is removed from each atom, thermostating is performed on the remaining thermal degrees of freedom, and the bias is added back -in. NOTE: this feature has not been tested. -

    -

    Note: The temperature thermostating the core-Drude particle pairs +in. NOTE: this feature has not been tested.

    +

    Note: The temperature thermostating the core-Drude particle pairs should be chosen low enough, so as to mimic as closely as possible the self-consistent minimization. It must however be high enough, so that the dipoles can follow the local electric field exerted by the neighbouring atoms. The optimal value probably depends on the temperature of the centers of mass and on the mass of the Drude -particles. -

    -

    damp_com is the characteristic time for reaching thermal equilibrium +particles.

    +

    damp_com is the characteristic time for reaching thermal equilibrium of the centers of mass. For example, a value of 100.0 means to relax the temperature of the centers of mass in a timespan of (roughly) 100 -time units (tau or fmsec or psec - see the units -command). damp_drude is the characteristic time for reaching -thermal equilibrium of the dipoles. It is typically a few timesteps. -

    -

    The number seed_com and seed_drude are positive integers. They set +time units (tau or fmsec or psec - see the units +command). damp_drude is the characteristic time for reaching +thermal equilibrium of the dipoles. It is typically a few timesteps.

    +

    The number seed_com and seed_drude are positive integers. They set the seeds of the Marsaglia random number generators used for generating the random forces on centers of mass and on the dipoles. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of -processors. -

    -

    The keyword zero can be used to eliminate drift due to the +processors.

    +

    The keyword zero can be used to eliminate drift due to the thermostat on centers of mass. Because the random forces on different centers of mass are independent, they do not sum exactly to zero. As a result, this fix applies a small random force to the entire system, and the momentum of the total center of mass of the system undergoes a -slow random walk. If the keyword zero is set to yes, the total +slow random walk. If the keyword zero is set to yes, the total random force on the centers of mass is set exactly to zero by subtracting off an equal part of it from each center of mass in the group. As a result, the total center of mass of a system with zero -initial momentum will not drift over time. -

    -

    The actual temperatures of cores and Drude particles, in +initial momentum will not drift over time.

    +

    The actual temperatures of cores and Drude particles, in center-of-mass and relatice coordinates, respectively, can be -calculated using the compute temp/drude -command. -

    -
    - -

    Usage example for rigid bodies in the NPT ensemble: -

    -
    comm_modify vel yes
    +calculated using the compute temp/drude
    +command.

    +
    +

    Usage example for rigid bodies in the NPT ensemble:

    +
    comm_modify vel yes
     fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes
     fix NPH ATOMS rigid/nph/small molecule iso 1. 1. 500.
     fix NVE DRUDES nve
    -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TATOM c_TDRUDE f_TEMP[1] f_TEMP[2] 
    -
    -

    Comments: -

    -
    • Drude particles should not be in the rigid group, otherwise the Drude -
    • oscillators will be frozen and the system will lose its -
    • polarizability. zero yes avoids a drift of the center of mass of -
    • the system, but is a bit slower. use two different random seeds to -
    • avoid unphysical correlations. temperature is controlled by the fix -
    • langevin/drude, so the time-integration fixes do not thermostate. -
    • don't forget to time-integrate both cores and Drude particles. -
    • pressure is time-integrated only once by using nve for Drude -
    • particles and nph for atoms/cores (or vice versa). Do not use nph -
    • for both. contrary to the alternative thermostating using Nose-Hoover -
    • thermostat fix npt and fix drude/transform, the fix_modify -
    • command is not required here, because the fix nph computes the -
    • global pressure even if its group is ATOMS. This is what we want. If -
    • we thermostated ATOMS using npt, the pressure should be the global -
    • one, but the temperature should be only that of the cores. That's why -
    • the command fix_modify should be called in that case. f_TEMP[1] -
    • and f_TEMP[2] contain the reduced temperatures of the cores/atoms -
    • and of the Drude particles (see below). They should be 300. and 1. on -
    • average here. -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" +thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TATOM c_TDRUDE f_TEMP[1] f_TEMP[2] +

    +
    +

    Comments:

    +
      +
    • Drude particles should not be in the rigid group, otherwise the Drude
    • +
    • oscillators will be frozen and the system will lose its
    • +
    • polarizability. zero yes avoids a drift of the center of mass of
    • +
    • the system, but is a bit slower. use two different random seeds to
    • +
    • avoid unphysical correlations. temperature is controlled by the fix
    • +
    • langevin/drude, so the time-integration fixes do not thermostate.
    • +
    • don’t forget to time-integrate both cores and Drude particles.
    • +
    • pressure is time-integrated only once by using nve for Drude
    • +
    • particles and nph for atoms/cores (or vice versa). Do not use nph
    • +
    • for both. contrary to the alternative thermostating using Nose-Hoover
    • +
    • thermostat fix npt and fix drude/transform, the fix_modify
    • +
    • command is not required here, because the fix nph computes the
    • +
    • global pressure even if its group is ATOMS. This is what we want. If
    • +
    • we thermostated ATOMS using npt, the pressure should be the global
    • +
    • one, but the temperature should be only that of the cores. That’s why
    • +
    • the command fix_modify should be called in that case. f_TEMP[1]
    • +
    • and f_TEMP[2] contain the reduced temperatures of the cores/atoms
    • +
    • and of the Drude particles (see below). They should be 300. and 1. on
    • +
    • average here.
    • +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. Because the state of the random number generator +is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostating procedure, as described above. For consistency, the group used by the -compute should include the group of this fix and the Drude particles. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix langevin, -fix drude, -fix drude/transform, -compute temp/drude, -pair_style thole -

    -

    Default: -

    -

    The option defaults are zero = no. -

    -
    +compute should include the group of this fix and the Drude particles.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are zero = no.

    +
    +

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J +Phys Chem Lett, 2, 87-92 (2011).

    +
    +
    - -

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J -Phys Chem Lett, 2, 87-92 (2011). -

    - +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_langevin_eff.html b/doc/fix_langevin_eff.html index c2b8617da9..8b06af1be4 100644 --- a/doc/fix_langevin_eff.html +++ b/doc/fix_langevin_eff.html @@ -1,128 +1,290 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix langevin/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix langevin/eff command -

    -

    Syntax: -

    -
    fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • langevin/eff = style name of this fix command - -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) - -
    • damp = damping parameter (time units) - -
    • seed = random number seed to use for white noise (positive integer) - -
    • zero or more keyword/value pairs may be appended - -
      keyword = scale or tally or zero
      -  scale values = type ratio
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix langevin/eff command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • langevin/eff = style name of this fix command
      • +
      • Tstart,Tstop = desired temperature at start/end of run (temperature units)
      • +
      • damp = damping parameter (time units)
      • +
      • seed = random number seed to use for white noise (positive integer)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      +
      +keyword = scale or tally or zero
      +  scale values = type ratio
           type = atom type (1-N)
           ratio = factor by which to scale the damping coefficient
      -  tally values = no or yes
      -    no = do not tally the energy added/subtracted to atoms
      -    yes = do tally the energy added/subtracted to atoms 
      -
      -
        zero value = no or yes
      -    no = do not set total random force to zero
      -    yes = set total random force to zero 
      -
      - -
    -

    Examples: -

    -
    fix 3 boundary langevin/eff 1.0 1.0 10.0 699483
    -fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 
    -
    -

    Description: -

    -

    Apply a Langevin thermostat as described in (Schneider) -to a group of nuclei and electrons in the electron force -field model. Used with fix nve/eff, + tally values = no or yes + no = do not tally the energy added/subtracted to atoms + yes = do tally the energy added/subtracted to atoms + +

    +zero value = no or yes
    +    no = do not set total random force to zero
    +    yes = set total random force to zero
    +
    +
    +
    +

    Examples¶

    +
    fix 3 boundary langevin/eff 1.0 1.0 10.0 699483
    +fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5
    +
    +
    +
    +
    +

    Description¶

    +

    Apply a Langevin thermostat as described in (Schneider) +to a group of nuclei and electrons in the electron force field model. Used with fix nve/eff, this command performs Brownian dynamics (BD), since the total force on -each atom will have the form: -

    -
    F = Fc + Ff + Fr
    +each atom will have the form:

    +
    F = Fc + Ff + Fr
     Ff = - (m / damp) v
    -Fr is proportional to sqrt(Kb T m / (dt damp)) 
    -
    -

    Fc is the conservative force computed via the usual inter-particle -interactions (pair_style). -

    -

    The Ff and Fr terms are added by this fix on a per-particle basis. -

    -

    The operation of this fix is exactly like that described by the fix -langevin command, except that the thermostatting +Fr is proportional to sqrt(Kb T m / (dt damp)) +

    + +

    Fc is the conservative force computed via the usual inter-particle +interactions (pair_style).

    +

    The Ff and Fr terms are added by this fix on a per-particle basis.

    +

    The operation of this fix is exactly like that described by the fix langevin command, except that the thermostatting is also applied to the radial electron velocity for electron -particles. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" +particles.

    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. Because the state of the random number generator +is not saved in restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +restarted simulation should produce the same behavior.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. -

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of thermodynamic -output. Note that use of this option requires -setting the tally keyword to yes. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output. Note that use of this option requires +setting the tally keyword to yes.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the tally keyword to yes. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix langevin -

    -

    Default: -

    -

    The option defaults are scale = 1.0 for all types and tally = no. -

    -
    +calculated by this fix is “extensive”. Note that calculation of this +quantity requires setting the tally keyword to yes.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are scale = 1.0 for all types and tally = no.

    +
    +

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).

    +

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978).

    +
    + - -

    (Dunweg) Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). -

    - + + +
    + -

    (Schneider) Schneider and Stoll, Phys Rev B, 17, 1302 (1978). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lb_fluid.html b/doc/fix_lb_fluid.html index 090c688753..563c6d687f 100644 --- a/doc/fix_lb_fluid.html +++ b/doc/fix_lb_fluid.html @@ -1,126 +1,222 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lb/fluid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lb/fluid command -

    -

    Syntax: -

    -
    fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • lb/fluid = style name of this fix command - -
    • nevery = update the lattice-Boltzmann fluid every this many timesteps - -
    • LBtype = 1 to use the standard finite difference LB integrator, -2 to use the LB integrator of Ollila et al. - -
    • viscosity = the fluid viscosity (units of mass/(time*length)). - -
    • density = the fluid density. - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = setArea or setGamma or scaleGamma or dx or dm or a0 or noise or calcforce or trilinear or D3Q19 or read_restart or write_restart or zwall_velocity or bodyforce or printfluid - -
        setArea values = type node_area
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix lb/fluid command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • lb/fluid = style name of this fix command
      • +
      • nevery = update the lattice-Boltzmann fluid every this many timesteps
      • +
      • LBtype = 1 to use the standard finite difference LB integrator, +2 to use the LB integrator of Ollila et al.
      • +
      • viscosity = the fluid viscosity (units of mass/(time*length)).
      • +
      • density = the fluid density.
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = setArea or setGamma or scaleGamma or dx or dm or a0 or noise or calcforce or trilinear or D3Q19 or read_restart or write_restart or zwall_velocity or bodyforce or printfluid
      • +
      +
      +setArea values = type node_area
             type = atom type (1-N)
             node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default).
      -  setGamma values = gamma
      +  setGamma values = gamma
             gamma = user set value for the force coupling constant.
      -  scaleGamma values = type gammaFactor
      +  scaleGamma values = type gammaFactor
             type = atom type (1-N)
      -      gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.    
      -  dx values = dx_LB = the lattice spacing.
      -  dm values = dm_LB = the lattice-Boltzmann mass unit.
      -  a0 values = a_0_real = the square of the speed of sound in the fluid.
      -  noise values = Temperature seed 
      -      Temperature = fluid temperature. 
      -      seed = random number generator seed (positive integer) 
      -  calcforce values = N forcegroup-ID 
      +      gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.
      +  dx values = dx_LB = the lattice spacing.
      +  dm values = dm_LB = the lattice-Boltzmann mass unit.
      +  a0 values = a_0_real = the square of the speed of sound in the fluid.
      +  noise values = Temperature seed
      +      Temperature = fluid temperature.
      +      seed = random number generator seed (positive integer)
      +  calcforce values = N forcegroup-ID
             N = output the force and torque every N timesteps
             forcegroup-ID = ID of the particle group to calculate the force and torque of
      -  trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil).
      -  D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice).
      -  read_restart values = restart file = name of the restart file to use to restart a fluid run.
      -  write_restart values = N = write a restart file every N MD timesteps.
      -  zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax).
      -  bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid.
      -  printfluid values = N = print the fluid density and velocity at each grid point every N timesteps. 
      -
      - -
    -

    Examples: -

    -
    fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1
    -fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 
    -
    -

    Description: -

    -

    Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS -simulation domain. The MD particles described by group-ID apply a velocity -dependent force to the fluid. -

    -

    The lattice-Boltzmann algorithm solves for the fluid motion governed by -the Navier Stokes equations, -

    -
    -
    -

    with, -

    -
    -
    -

    where rho is the fluid density, u is the local fluid velocity, sigma + trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil). + D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice). + read_restart values = restart file = name of the restart file to use to restart a fluid run. + write_restart values = N = write a restart file every N MD timesteps. + zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax). + bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. + printfluid values = N = print the fluid density and velocity at each grid point every N timesteps. + +

    +
    +

    Examples¶

    +
    fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1
    +fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873
    +
    +
    +
    +
    +

    Description¶

    +

    Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS +simulation domain. The MD particles described by group-ID apply a velocity +dependent force to the fluid.

    +

    The lattice-Boltzmann algorithm solves for the fluid motion governed by +the Navier Stokes equations,

    +_images/fix_lb_fluid_navierstokes.jpg +

    with,

    +_images/fix_lb_fluid_viscosity.jpg +

    where rho is the fluid density, u is the local fluid velocity, sigma is the stress tensor, F is a local external force, and eta and Lambda are the shear and bulk viscosities respectively. Here, we have -implemented -

    -
    -
    -

    with a_0 set to 1/3 (dx/dt)^2 by default. -

    -

    The algorithm involves tracking the time evolution of a set of partial +implemented

    +_images/fix_lb_fluid_stress.jpg +

    with a_0 set to 1/3 (dx/dt)^2 by default.

    +

    The algorithm involves tracking the time evolution of a set of partial distribution functions which evolve according to a velocity -discretized version of the Boltzmann equation, -

    -
    -
    -

    where the first term on the right hand side represents a single time +discretized version of the Boltzmann equation,

    +_images/fix_lb_fluid_boltzmann.jpg +

    where the first term on the right hand side represents a single time relaxation towards the equilibrium distribution function, and tau is a parameter physically related to the viscosity. On a technical note, we have implemented a 15 velocity model (D3Q15) as default; however, the user can switch to a 19 velocity model (D3Q19) through the use of -the D3Q19 keyword. This fix provides the user with the choice of +the D3Q19 keyword. This fix provides the user with the choice of two algorithms to solve this equation, through the specification of -the keyword LBtype. If LBtype is set equal to 1, the standard -finite difference LB integrator is used. If LBtype is set equal to -2, the algorithm of Ollila et al. is used. -

    -

    Physical variables are then defined in terms of moments of the distribution -functions, -

    -
    -
    -

    Full details of the lattice-Boltzmann algorithm used can be found in -Mackay et al.. -

    -

    The fluid is coupled to the MD particles described by group-ID +the keyword LBtype. If LBtype is set equal to 1, the standard +finite difference LB integrator is used. If LBtype is set equal to +2, the algorithm of Ollila et al. is used.

    +

    Physical variables are then defined in terms of moments of the distribution +functions,

    +_images/fix_lb_fluid_properties.jpg +

    Full details of the lattice-Boltzmann algorithm used can be found in +Mackay et al..

    +

    The fluid is coupled to the MD particles described by group-ID through a velocity dependent force. The contribution to the fluid force on a given lattice mesh site j due to MD particle alpha is -calculated as: -

    -
    -
    -

    where v_n is the velocity of the MD particle, u_f is the fluid +calculated as:

    +_images/fix_lb_fluid_fluidforce.jpg +

    where v_n is the velocity of the MD particle, u_f is the fluid velocity interpolated to the particle location, and gamma is the force coupling constant. Zeta is a weight assigned to the grid point, obtained by distributing the particle to the nearest lattice sites. @@ -131,258 +227,272 @@ the Peskin stencil is seen to provide more stable results, the trilinear stencil may be better suited for simulation of objects close to walls, due to its smaller support. Therefore, by default, the Peskin stencil is used; however the user may switch to the trilinear -stencil by specifying the keyword, trilinear. -

    -

    By default, the force coupling constant, gamma, is calculated according to -

    -
    -
    -

    Here, m_v is the mass of the MD particle, m_u is a representative +stencil by specifying the keyword, trilinear.

    +

    By default, the force coupling constant, gamma, is calculated according to

    +_images/fix_lb_fluid_gammadefault.jpg +

    Here, m_v is the mass of the MD particle, m_u is a representative fluid mass at the particle location, and dt_collision is a collision -time, chosen such that tau/dt_collision = 1 (see Mackay and -Denniston for full details). In order to calculate m_u, the +time, chosen such that tau/dt_collision = 1 (see Mackay and Denniston for full details). In order to calculate m_u, the fluid density is interpolated to the MD particle location, and multiplied by a volume, node_area*dx_lb, where node_area represents the portion of the surface area of the composite object associated with a given MD particle. By default, node_area is set equal to dx_lb*dx_lb; however specific values for given atom types can be set -using the setArea keyword. -

    -

    The user also has the option of specifying their own value for the +using the setArea keyword.

    +

    The user also has the option of specifying their own value for the force coupling constant, for all the MD particles associated with the -fix, through the use of the setGamma keyword. This may be useful -when modelling porous particles. See Mackay et al. for a +fix, through the use of the setGamma keyword. This may be useful +when modelling porous particles. See Mackay et al. for a detailed description of the method by which the user can choose an -appropriate gamma value. -

    -

    IMPORTANT NOTE: while this fix applies the force of the particles on +appropriate gamma value.

    +
    +

    Warning

    +

    while this fix applies the force of the particles on the fluid, it does not apply the force of the fluid to the particles. When the force coupling constant is set using the default method, there is only one option to include this hydrodynamic force on the particles, and that is through the use of the -lb/viscous fix. This fix adds the hydrodynamic +lb/viscous fix. This fix adds the hydrodynamic force to the total force acting on the particles, after which any of the built-in LAMMPS integrators can be used to integrate the particle motion. However, if the user specifies their own value for the force -coupling constant, as mentioned in Mackay et al., the +coupling constant, as mentioned in Mackay et al., the built-in LAMMPS integrators may prove to be unstable. Therefore, we -have included our own integrators fix -lb/rigid/pc/sphere, and fix -lb/pc, to solve for the particle motion in these +have included our own integrators fix lb/rigid/pc/sphere, and fix lb/pc, to solve for the particle motion in these cases. These integrators should not be used with the -lb/viscous fix, as they add hydrodynamic forces +lb/viscous fix, as they add hydrodynamic forces to the particles directly. In addition, they can not be used if the -force coupling constant has been set the default way. -

    -

    IMPORTANT NOTE: if the force coupling constant is set using the -default method, and the lb/viscous fix is NOT +force coupling constant has been set the default way.

    +
    +
    +

    Warning

    +

    if the force coupling constant is set using the +default method, and the lb/viscous fix is NOT used to add the hydrodynamic force to the total force acting on the particles, this physically corresponds to a situation in which an infinitely massive particle is moving through the fluid (since collisions between the particle and the fluid do not act to change the -particle's velocity). Therefore, the user should set the mass of the +particle’s velocity). Therefore, the user should set the mass of the particle to be significantly larger than the mass of the fluid at the particle location, in order to approximate an infinitely massive -particle (see the dragforce test run for an example). -

    -
    - -

    Inside the fix, parameters are scaled by the lattice-Boltzmann +particle (see the dragforce test run for an example).

    +
    +
    +

    Inside the fix, parameters are scaled by the lattice-Boltzmann timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to (nevery*dt_MD), where dt_MD is the MD timestep. By default, dm is set equal to 1.0, and dx is chosen so that tau/(dt) = (3*eta*dt)/(rho*dx^2) is approximately equal to 1. However, the user has the option of specifying their own values for dm, and dx, by using -the optional keywords dm, and dx respectively. -

    -

    IMPORTANT NOTE: Care must be taken when choosing both a value for dx, +the optional keywords dm, and dx respectively.

    +
    +

    Warning

    +

    Care must be taken when choosing both a value for dx, and a simulation domain size. This fix uses the same subdivision of the simulation domain among processors as the main LAMMPS program. In order to uniformly cover the simulation domain with lattice sites, the lengths of the individual LAMMPS subdomains must all be evenly divisible by dx. If the simulation domain size is cubic, with equal lengths in all dimensions, and the default value for dx is used, this -will automatically be satisfied. -

    -

    Physical parameters describing the fluid are specified through -viscosity, density, and a0. If the force coupling constant is +will automatically be satisfied.

    +
    +

    Physical parameters describing the fluid are specified through +viscosity, density, and a0. If the force coupling constant is set the default way, the surface area associated with the MD particles -is specified using the setArea keyword. If the user chooses to +is specified using the setArea keyword. If the user chooses to specify a value for the force coupling constant, this is set using the -setGamma keyword. These parameters should all be given in terms of +setGamma keyword. These parameters should all be given in terms of the mass, distance, and time units chosen for the main LAMMPS run, as they are scaled by the LB timestep, lattice spacing, and mass unit, -inside the fix. -

    -
    - -

    The setArea keyword allows the user to associate a surface area with +inside the fix.

    +
    +

    The setArea keyword allows the user to associate a surface area with a given atom type. For example if a spherical composite object of radius R is represented as a spherical shell of N evenly distributed MD particles, all of the same type, the surface area per particle associated with that atom type should be set equal to 4*pi*R^2/N. This keyword should only be used if the force coupling constant, -gamma, is set the default way. -

    -

    The setGamma keyword allows the user to specify their own value for +gamma, is set the default way.

    +

    The setGamma keyword allows the user to specify their own value for the force coupling constant, gamma, instead of using the default -value. -

    -

    The scaleGamma keyword should be used in conjunction with the -setGamma keyword, when the user wishes to specify different gamma +value.

    +

    The scaleGamma keyword should be used in conjunction with the +setGamma keyword, when the user wishes to specify different gamma values for different atom types. This keyword allows the user to -scale the setGamma gamma value by a factor, gammaFactor, for a given -atom type. -

    -

    The dx keyword allows the user to specify a value for the LB grid -spacing. -

    -

    The dm keyword allows the user to specify the LB mass unit. -

    -

    If the a0 keyword is used, the value specified is used for the +scale the setGamma gamma value by a factor, gammaFactor, for a given +atom type.

    +

    The dx keyword allows the user to specify a value for the LB grid +spacing.

    +

    The dm keyword allows the user to specify the LB mass unit.

    +

    If the a0 keyword is used, the value specified is used for the square of the speed of sound in the fluid. If this keyword is not present, the speed of sound squared is set equal to (1/3)*(dx/dt)^2. -Setting a0 > (dx/dt)^2 is not allowed, as this may lead to -instabilities. -

    -

    If the noise keyword is used, followed by a a positive temperature +Setting a0 > (dx/dt)^2 is not allowed, as this may lead to +instabilities.

    +

    If the noise keyword is used, followed by a a positive temperature value, and a positive integer random number seed, a thermal -lattice-Boltzmann algorithm is used. If LBtype is set equal to 1 +lattice-Boltzmann algorithm is used. If LBtype is set equal to 1 (i.e. the standard LB integrator is chosen), the thermal LB algorithm -of Adhikari et al. is used; however if LBtype is set +of Adhikari et al. is used; however if LBtype is set equal to 2 both the LB integrator, and thermal LB algorithm described -in Ollila et al. are used. -

    -

    If the calcforce keyword is used, both the fluid force and torque +in Ollila et al. are used.

    +

    If the calcforce keyword is used, both the fluid force and torque acting on the specified particle group are printed to the screen every -N timesteps. -

    -

    If the keyword trilinear is used, the trilinear stencil is used to +N timesteps.

    +

    If the keyword trilinear is used, the trilinear stencil is used to interpolate the particle nodes onto the fluid mesh. By default, the immersed boundary method, Peskin stencil is used. Both of these -interpolation methods are described in Mackay et al.. -

    -

    If the keyword D3Q19 is used, the 19 velocity (D3Q19) lattice is +interpolation methods are described in Mackay et al..

    +

    If the keyword D3Q19 is used, the 19 velocity (D3Q19) lattice is used by the lattice-Boltzmann algorithm. By default, the 15 velocity -(D3Q15) lattice is used. -

    -

    If the keyword write_restart is used, followed by a positive +(D3Q15) lattice is used.

    +

    If the keyword write_restart is used, followed by a positive integer, N, a binary restart file is printed every N LB timesteps. This restart file only contains information about the fluid. Therefore, a LAMMPS restart file should also be written in order to -print out full details of the simulation. -

    -

    IMPORTANT NOTE: When a large number of lattice grid points are used, -the restart files may become quite large. -

    -

    In order to restart the fluid portion of the simulation, the keyword -read_restart is specified, followed by the name of the binary -lb_fluid restart file to be used. -

    -

    If the zwall_velocity keyword is used y-velocities are assigned to +print out full details of the simulation.

    +
    +

    Warning

    +

    When a large number of lattice grid points are used, +the restart files may become quite large.

    +
    +

    In order to restart the fluid portion of the simulation, the keyword +read_restart is specified, followed by the name of the binary +lb_fluid restart file to be used.

    +

    If the zwall_velocity keyword is used y-velocities are assigned to the lower and upper walls. This keyword requires the presence of walls in the z-direction. This is set by assigning fixed boundary conditions in the z-direction. If fixed boundary conditions are present in the z-direction, and this keyword is not used, the walls -are assumed to be stationary. -

    -

    If the bodyforce keyword is used, a constant body force is added to -the fluid, defined by it's x, y and z components. -

    -

    If the printfluid keyword is used, followed by a positive integer, N, +are assumed to be stationary.

    +

    If the bodyforce keyword is used, a constant body force is added to +the fluid, defined by it’s x, y and z components.

    +

    If the printfluid keyword is used, followed by a positive integer, N, the fluid densities and velocities at each lattice site are printed to the -screen every N timesteps. -

    -
    - -

    For further details, as well as descriptions and results of several -test runs, see Mackay et al.. Please include a citation to +screen every N timesteps.

    +
    +

    For further details, as well as descriptions and results of several +test runs, see Mackay et al.. Please include a citation to this paper if the lb_fluid fix is used in work contributing to -published research. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    Due to the large size of the fluid data, this fix writes it's own +published research.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    Due to the large size of the fluid data, this fix writes it’s own binary restart files, if requested, independent of the main LAMMPS -binary restart files; no information about lb_fluid -is written to the main LAMMPS binary restart files. -

    -

    None of the fix_modify options are relevant to this +binary restart files; no information about lb_fluid +is written to the main LAMMPS binary restart files.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix can only be used with an orthogonal simulation domain. -

    -

    Walls have only been implemented in the z-direction. Therefore, the +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix can only be used with an orthogonal simulation domain.

    +

    Walls have only been implemented in the z-direction. Therefore, the boundary conditions, as specified via the main LAMMPS boundary command must be periodic for x and y, and either fixed or periodic for z. -Shrink-wrapped boundary conditions are not permitted with this fix. -

    -

    This fix must be used before any of fix -lb/viscous, fix -lb/momentum, fix -lb/rigid/pc/sphere, and/ or fix -lb/pc , as the fluid needs to be initialized before +Shrink-wrapped boundary conditions are not permitted with this fix.

    +

    This fix must be used before any of fix lb/viscous, fix lb/momentum, fix lb/rigid/pc/sphere, and/ or fix lb/pc , as the fluid needs to be initialized before any of these routines try to access its properties. In addition, in order for the hydrodynamic forces to be added to the particles, this fix must be used in conjunction with the -lb/viscous fix if the force coupling constant is -set by default, or either the lb/viscous fix or -one of the lb/rigid/pc/sphere or -lb/pc integrators, if the user chooses to specifiy -their own value for the force coupling constant. -

    -

    Related commands: -

    -

    fix lb/viscous, fix -lb/momentum, fix -lb/rigid/pc/sphere, fix -lb/pc -

    -

    Default: -

    -

    By default, the force coupling constant is set according to -

    -
    -
    -

    and an area of dx_lb^2 per node, used to calculate the fluid mass at -the particle node location, is assumed. -

    -

    dx is chosen such that tau/(delta t_LB) = -(3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. -dm is set equal to 1.0. -a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. +lb/viscous fix if the force coupling constant is +set by default, or either the lb/viscous fix or +one of the lb/rigid/pc/sphere or +lb/pc integrators, if the user chooses to specifiy +their own value for the force coupling constant.

    +
    + +
    +

    Default¶

    +

    By default, the force coupling constant is set according to

    +_images/fix_lb_fluid_gammadefault.jpg +

    and an area of dx_lb^2 per node, used to calculate the fluid mass at +the particle node location, is assumed.

    +

    dx is chosen such that tau/(delta t_LB) = +(3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. +dm is set equal to 1.0. +a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. The Peskin stencil is used as the default interpolation method. The D3Q15 lattice is used for the lattice-Boltzmann algorithm. -If walls are present, they are assumed to be stationary. -

    -
    +If walls are present, they are assumed to be stationary.

    +
    +

    (Ollila et al.) Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902.

    +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

    +

    (Mackay and Denniston) Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298.

    +

    (Adhikari et al.) Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479.

    +
    + - -

    (Ollila et al.) Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902. -

    - + + +
    + -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. -

    - +
    -

    (Mackay and Denniston) Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298. -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Adhikari et al.) Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479. -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lb_momentum.html b/doc/fix_lb_momentum.html index 7092c4e010..59b26145f9 100644 --- a/doc/fix_lb_momentum.html +++ b/doc/fix_lb_momentum.html @@ -1,84 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lb/momentum command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lb/momentum command -

    -

    Syntax: -

    -
    fix ID group-ID lb/momentum nevery keyword values ... 
    -
    -
    • ID, group-ID are documented in the fix command - -
    • lb/momentum = style name of this fix command - -
    • nevery = adjust the momentum every this many timesteps - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = linear - -
        linear values = xflag yflag zflag
      -    xflag,yflag,zflag = 0/1 to exclude/include each dimension. 
      -
      - -
    -

    Examples: -

    -
    fix 1 sphere lb/momentum 
    -fix 1 all lb/momentum linear 1 1 0 
    -
    -

    Description: -

    -

    This fix is based on the fix momentum command, and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix lb/momentum command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID lb/momentum nevery keyword values ...
    +
    +
    +
      +
    • ID, group-ID are documented in the fix command
    • +
    • lb/momentum = style name of this fix command
    • +
    • nevery = adjust the momentum every this many timesteps
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = linear
    • +
    +
    +linear values = xflag yflag zflag
    +    xflag,yflag,zflag = 0/1 to exclude/include each dimension.
    +
    +
    +
    +

    Examples¶

    +
    fix 1 sphere lb/momentum
    +fix 1 all lb/momentum linear 1 1 0
    +
    +
    +
    +
    +

    Description¶

    +

    This fix is based on the fix momentum command, and was created to be used in place of that command, when a -lattice-Boltzmann fluid is present. -

    -

    Zero the total linear momentum of the system, including both the atoms +lattice-Boltzmann fluid is present.

    +

    Zero the total linear momentum of the system, including both the atoms specified by group-ID and the lattice-Boltzmann fluid every nevery timesteps. This is accomplished by adjusting the particle velocities -and the fluid velocities at each lattice site. -

    -

    NOTE: This fix only considers the linear momentum of the system. -

    -

    By default, the subtraction is performed for each dimension. This can -be changed by specifying the keyword linear, along with a set of +and the fluid velocities at each lattice site.

    +
    +

    Note

    +

    This fix only considers the linear momentum of the system.

    +
    +

    By default, the subtraction is performed for each dimension. This can +be changed by specifying the keyword linear, along with a set of three flags set to 0/1 in order to exclude/ include the corresponding -dimension. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +dimension.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command. -

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix momentum, fix lb/fluid -

    -

    Default: -

    -

    Zeros the total system linear momentum in each dimension. -

    - +by this fix for access by various output commands. No parameter of this fix can be +used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command.

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    Zeros the total system linear momentum in each dimension.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lb_pc.html b/doc/fix_lb_pc.html index 8fc22cf84c..b2e5a6e72b 100644 --- a/doc/fix_lb_pc.html +++ b/doc/fix_lb_pc.html @@ -1,68 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lb/pc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lb/pc command -

    -

    Syntax: -

    -
    fix ID group-ID lb/pc 
    -
    -
    • ID, group-ID are documented in the fix command -
    • lb/pc = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all lb/pc 
    -
    -

    Description: -

    -

    Update the positions and velocities of the individual particles -described by group-ID, experiencing velocity-dependent hydrodynamic -forces, using the integration algorithm described in Mackay et -al.. This integration algorithm should only be used if a -user-specified value for the force-coupling constant used in fix -lb/fluid has been set; do not use this integration -algorithm if the force coupling constant has been set by default. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix lb/pc command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID lb/pc
    +
    +
    +
      +
    • ID, group-ID are documented in the fix command
    • +
    • lb/pc = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all lb/pc
    +
    +
    +
    +
    +

    Description¶

    +

    Update the positions and velocities of the individual particles +described by group-ID, experiencing velocity-dependent hydrodynamic +forces, using the integration algorithm described in Mackay et al.. This integration algorithm should only be used if a +user-specified value for the force-coupling constant used in fix lb/fluid has been set; do not use this integration +algorithm if the force coupling constant has been set by default.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command. -

    -

    Related commands: -

    -

    fix lb/fluid fix -lb/rigid/pc/sphere -

    -

    Default: None. -

    -
    +by this fix for access by various output commands. No parameter of this fix can be +used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command.

    +
    + +
    - -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lb_rigid_pc_sphere.html b/doc/fix_lb_rigid_pc_sphere.html index 0debaa69d6..711ec2554f 100644 --- a/doc/fix_lb_rigid_pc_sphere.html +++ b/doc/fix_lb_rigid_pc_sphere.html @@ -1,158 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lb/rigid/pc/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lb/rigid/pc/sphere command -

    -

    Syntax: -

    -
    fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • lb/rigid/pc/sphere = style name of this fix command - -
    • bodystyle = single or molecule or group - -
    • single args = none - molecule args = none - group args = N groupID1 groupID2 ... - N = # of groups -zero or more keyword/value pairs may be appended - -
    • keyword = force or torque or innerNodes - -
        force values = M xflag yflag zflag
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix lb/rigid/pc/sphere command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command

        +
      • +
      • lb/rigid/pc/sphere = style name of this fix command

        +
      • +
      • bodystyle = single or molecule or group

        +
      • +
      • +
        single args = none
        +

        molecule args = none +group args = N groupID1 groupID2 ...

        +
        +

        N = # of groups

        +
        +
        +
        +

        zero or more keyword/value pairs may be appended

        +
      • +
      • keyword = force or torque or innerNodes

        +
      • +
      +
      +force values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass force is active
      -  torque values = M xflag yflag zflag
      +  torque values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
      -    xflag,yflag,zflag = off/on if component of center-of-mass torque is active 
      -  innerNodes values = innergroup-ID 
      -    innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid 
      -
      - -
    -

    Examples: -

    -
    fix 1 spheres lb/rigid/pc/sphere 
    -fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms 
    -
    -

    Description: -

    -

    This fix is based on the fix rigid command, and was + xflag,yflag,zflag = off/on if component of center-of-mass torque is active + innerNodes values = innergroup-ID + innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid + +

    +
    +

    Examples¶

    +
    fix 1 spheres lb/rigid/pc/sphere
    +fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms
    +
    +
    +
    +
    +

    Description¶

    +

    This fix is based on the fix rigid command, and was created to be used in place of that fix, to integrate the equations of motion of spherical rigid bodies when a lattice-Boltzmann fluid is present with a user-specified value of the force-coupling constant. -The fix uses the integration algorithm described in Mackay et -al. to update the positions, velocities, and orientations of +The fix uses the integration algorithm described in Mackay et al. to update the positions, velocities, and orientations of a set of spherical rigid bodies experiencing velocity dependent hydrodynamic forces. The spherical bodies are assumed to rotate as solid, uniform density spheres, with moments of inertia calculated using the combined sum of the masses of all the constituent particles -(which are assumed to be point particles). -

    -
    - -

    By default, all of the atoms that this fix acts on experience a +(which are assumed to be point particles).

    +
    +

    By default, all of the atoms that this fix acts on experience a hydrodynamic force due to the presence of the lattice-Boltzmann fluid. -However, the innerNodes keyword allows the user to specify atoms +However, the innerNodes keyword allows the user to specify atoms belonging to a rigid object which do not interact with the lattice-Boltzmann fluid (i.e. these atoms do not feel a hydrodynamic force from the lattice-Boltzmann fluid). This can be used to distinguish between atoms on the surface of a non-porous object, and -those on the inside. -

    -

    This feature can be used, for example, when implementing a hard sphere +those on the inside.

    +

    This feature can be used, for example, when implementing a hard sphere interaction between two spherical objects. Instead of interactions occurring between the particles on the surfaces of the two spheres, it is desirable simply to place an atom at the center of each sphere, which does not contribute to the hydrodynamic force, and have these -central atoms interact with one another. -

    -
    - -

    Apart from the features described above, this fix is very similar to +central atoms interact with one another.

    +
    +

    Apart from the features described above, this fix is very similar to the rigid fix (although it includes fewer optional arguments, and assumes the constituent atoms are point particles); see -fix_rigid for a complete documentation. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about the rigid and rigid/nve fixes are written to -binary restart files. -

    -

    Similar to the fix_rigid command: " The rigid -fix computes a global scalar which can be accessed by various output -commands. The scalar value calculated by -these fixes is "intensive". The scalar is the current temperature of +fix_rigid for a complete documentation.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about the rigid and rigid/nve fixes are written to +binary restart files.

    +

    Similar to the fix_rigid command: &quot; The rigid +fix computes a global scalar which can be accessed by various output commands. The scalar value calculated by +these fixes is “intensive”. The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees -of freedom constrained by the force and torque keywords are -removed from this calculation." -

    -

    "All of these fixes compute a global array of values which can be -accessed by various output commands. +of freedom constrained by the force and torque keywords are +removed from this calculation.&quot;

    +

    &quot;All of these fixes compute a global array of values which can be +accessed by various output commands. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components of the torque acting on the COM, and the xyz image flags of the COM, which have the same meaning as image -flags for atom positions (see the "dump" command). The force and -torque values in the array are not affected by the force and -torque keywords in the fix rigid command; they reflect values before -any changes are made by those keywords. -

    -

    The ordering of the rigid bodies (by row in the array) is as follows. -For the single keyword there is just one rigid body. For the -molecule keyword, the bodies are ordered by ascending molecule ID. -For the group keyword, the list of group IDs determines the ordering -of bodies. -

    -

    The array values calculated by these fixes are "intensive", meaning -they are independent of the number of atoms in the simulation. -

    -

    No parameter of these fixes can be used with the start/stop keywords -of the run command. These fixes are not invoked during -energy minimization. " -

    -

    Restrictions: -

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this +flags for atom positions (see the “dump” command). The force and +torque values in the array are not affected by the force and +torque keywords in the fix rigid command; they reflect values before +any changes are made by those keywords.

    +

    The ordering of the rigid bodies (by row in the array) is as follows. +For the single keyword there is just one rigid body. For the +molecule keyword, the bodies are ordered by ascending molecule ID. +For the group keyword, the list of group IDs determines the ordering +of bodies.

    +

    The array values calculated by these fixes are “intensive”, meaning +they are independent of the number of atoms in the simulation.

    +

    No parameter of these fixes can be used with the start/stop keywords +of the run command. These fixes are not invoked during +energy minimization. &quot;

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this command. Should only be used if the force coupling constant used in -fix lb/fluid has been set by the user; this +fix lb/fluid has been set by the user; this integration fix cannot be used if the force coupling constant is set -by default. -

    -

    Related commands: -

    -

    fix lb/fluid, fix lb/pc -

    -

    Default: -

    -

    The defaults are force * on on on, and torque * on on on. -

    -
    +by default.

    +
    + +
    +

    Default¶

    +

    The defaults are force * on on on, and torque * on on on.

    +
    +

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

    +
    + - -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lb_viscous.html b/doc/fix_lb_viscous.html index d9c87884b9..1ce5feab37 100644 --- a/doc/fix_lb_viscous.html +++ b/doc/fix_lb_viscous.html @@ -1,100 +1,265 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lb/viscous command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lb/viscous command -

    -

    Syntax: -

    -
    fix ID group-ID lb/viscous 
    -
    -
    • ID, group-ID are documented in fix command -
    • lb/viscous = style name of this fix command -
    -

    Examples: -

    -

    fix 1 flow lb/viscous -

    -

    Description: -

    -

    This fix is similar to the fix viscous command, and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix lb/viscous command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID lb/viscous
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • lb/viscous = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +

    fix 1 flow lb/viscous

    +
    +
    +

    Description¶

    +

    This fix is similar to the fix viscous command, and is to be used in place of that command when a lattice-Boltzmann fluid is present, and the user wishes to integrate the particle motion using -one of the built in LAMMPS integrators. -

    -

    This fix adds a force, F = - Gamma*(velocity-fluid_velocity), to each -atom, where Gamma is the force coupling constant described in the fix -lb/fluid command (which applies an equal and -opposite force to the fluid). -

    -

    IMPORTANT NOTE: This fix should only be used in conjunction with one +one of the built in LAMMPS integrators.

    +

    This fix adds a force, F = - Gamma*(velocity-fluid_velocity), to each +atom, where Gamma is the force coupling constant described in the fix lb/fluid command (which applies an equal and +opposite force to the fluid).

    +
    +

    Warning

    +

    This fix should only be used in conjunction with one of the built in LAMMPS integrators; it should not be used with the -fix lb/pc or fix -lb/rigid/pc/sphere integrators, which +fix lb/pc or fix lb/rigid/pc/sphere integrators, which already include the hydrodynamic forces. These latter fixes should only be used if the force coupling constant has been set by the user (instead of using the default value); if the default force coupling value is used, then this fix provides the only method for adding the -hydrodynamic forces to the particles. -

    -
    - -

    For further details, as well as descriptions and results of several -test runs, see Mackay et al.. Please include a citation to +hydrodynamic forces to the particles.

    +
    +
    +

    For further details, as well as descriptions and results of several +test runs, see Mackay et al.. Please include a citation to this paper if this fix is used in work contributing to published -research. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    As described in the fix viscous documentation: -

    -

    "No information about this fix is written to binary restart -files. None of the fix_modify options +research.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    As described in the fix viscous documentation:

    +

    “No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. This fix should only +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the min_style command -for details." -

    -

    Restrictions: -

    -

    This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Can only be used if a lattice-Boltzmann fluid has been created via the -fix lb/fluid command, and must come after this -command. -

    -

    This fix should not be used if either the fix lb/pc -or fix lb/rigid/pc/sphere integrator is -used. -

    -

    Related commands: -

    -

    fix lb/fluid, fix lb/pc, fix -lb/rigid/pc/sphere -

    -

    Default: none -

    -
    +non-conservative forces. See the min_style command +for details.”

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-LB package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Can only be used if a lattice-Boltzmann fluid has been created via the +fix lb/fluid command, and must come after this +command.

    +

    This fix should not be used if either the fix lb/pc +or fix lb/rigid/pc/sphere integrator is +used.

    +
    + +
    - -

    (Mackay et al.) Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_lineforce.html b/doc/fix_lineforce.html index 9c87f094e2..51422a930a 100644 --- a/doc/fix_lineforce.html +++ b/doc/fix_lineforce.html @@ -1,56 +1,238 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix lineforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix lineforce command -

    -

    Syntax: -

    -
    fix ID group-ID lineforce x y z 
    -
    -
    • ID, group-ID are documented in fix command -
    • lineforce = style name of this fix command -
    • x y z = direction of line as a 3-vector -
    -

    Examples: -

    -
    fix hold boundary lineforce 0.0 1.0 1.0 
    -
    -

    Description: -

    -

    Adjust the forces on each atom in the group so that only the component + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix lineforce command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID lineforce x y z
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • lineforce = style name of this fix command
    • +
    • x y z = direction of line as a 3-vector
    • +
    +
    +
    +

    Examples¶

    +
    fix hold boundary lineforce 0.0 1.0 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    Adjust the forces on each atom in the group so that only the component of force along the linear direction specified by the vector (x,y,z) remains. This is done by subtracting out components of force in the -plane perpendicular to the line. -

    -

    If the initial velocity of the atom is 0.0 (or along the line), then -it should continue to move along the line thereafter. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +plane perpendicular to the line.

    +

    If the initial velocity of the atom is 0.0 (or along the line), then +it should continue to move along the line thereafter.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix planeforce -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_meso.html b/doc/fix_meso.html index 81bb833347..824a40ed8b 100644 --- a/doc/fix_meso.html +++ b/doc/fix_meso.html @@ -1,57 +1,236 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix meso command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix meso command -

    -

    Syntax: -

    -
    fix ID group-ID meso 
    -
    -
    • ID, group-ID are documented in fix command -
    • meso = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all meso 
    -
    -

    Description: -

    -

    Perform time integration to update position, velocity, internal energy + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix meso command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID meso
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • meso = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all meso
    +
    +
    +
    +
    +

    Description¶

    +

    Perform time integration to update position, velocity, internal energy and local density for atoms in the group each timestep. This fix is needed to time-integrate mesoscopic systems where particles carry -internal variables such as SPH or DPDE. -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +internal variables such as SPH or DPDE.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    "fix meso/stationary" -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_meso_stationary.html b/doc/fix_meso_stationary.html index cf339c2560..478f3dc959 100644 --- a/doc/fix_meso_stationary.html +++ b/doc/fix_meso_stationary.html @@ -1,58 +1,237 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix meso/stationary command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix meso/stationary command -

    -

    Syntax: -

    -
    fix ID group-ID meso/stationary 
    -
    -
    • ID, group-ID are documented in fix command -
    • meso = style name of this fix command -
    -

    Examples: -

    -
    fix 1 boundary meso/stationary 
    -
    -

    Description: -

    -

    Perform time integration to update internal energy and local density, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix meso/stationary command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID meso/stationary
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • meso = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 boundary meso/stationary
    +
    +
    +
    +
    +

    Description¶

    +

    Perform time integration to update internal energy and local density, but not position or velocity for atoms in the group each timestep. This fix is needed for SPH simulations to correctly time-integrate fixed boundary particles which constrain a fluid to a given region in -space. -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +space.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    "fix meso" -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-SPH package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_modify.html b/doc/fix_modify.html index d31aada56e..d1ea58b553 100644 --- a/doc/fix_modify.html +++ b/doc/fix_modify.html @@ -1,81 +1,260 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix_modify command -

    -

    Syntax: -

    -
    fix_modify fix-ID keyword value ... 
    -
    -
    • fix-ID = ID of the fix to modify - -
    • one or more keyword/value pairs may be appended - -
    • keyword = temp or press or energy - -
        temp value = compute ID that calculates a temperature
      -  press value = compute ID that calculates a pressure
      -  energy value = yes or no 
      -
      - -
    -

    Examples: -

    -
    fix_modify 3 temp myTemp press myPress
    -fix_modify 1 energy yes 
    -
    -

    Description: -

    -

    Modify one or more parameters of a previously defined fix. Only + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix_modify command¶

    +
    +

    Syntax¶

    +
    fix_modify fix-ID keyword value ...
    +
    +
    +
      +
    • fix-ID = ID of the fix to modify
    • +
    • one or more keyword/value pairs may be appended
    • +
    • keyword = temp or press or energy
    • +
    +
    +temp value = compute ID that calculates a temperature
    +  press value = compute ID that calculates a pressure
    +  energy value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    fix_modify 3 temp myTemp press myPress
    +fix_modify 1 energy yes
    +
    +
    +
    +
    +

    Description¶

    +

    Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which -fix_modify parameters. -

    -

    The temp keyword is used to determine how a fix computes +fix_modify parameters.

    +

    The temp keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously -defined by the user via the compute command and it must +defined by the user via the compute command and it must be a style of compute that calculates a temperature. All fixes that compute temperatures define their own compute by default, as described in their documentation. Thus this option allows the user to override -the default method for computing T. -

    -

    The press keyword is used to determine how a fix computes pressure. +the default method for computing T.

    +

    The press keyword is used to determine how a fix computes pressure. The specified compute ID must have been previously defined by the user -via the compute command and it must be a style of +via the compute command and it must be a style of compute that calculates a pressure. All fixes that compute pressures define their own compute by default, as described in their documentation. Thus this option allows the user to override the -default method for computing P. -

    -

    For fixes that calculate a contribution to the potential energy of the -system, the energy keyword will include that contribution in +default method for computing P.

    +

    For fixes that calculate a contribution to the potential energy of the +system, the energy keyword will include that contribution in thermodynamic output of potential energy. See the -thermo_style command for info on how potential +thermo_style command for info on how potential energy is output. The contribution by itself can be printed by using the keyword f_ID in the thermo_style custom command, where ID is the fix-ID of the appropriate fix. Note that you must use this setting -for a fix if you are using it when performing an energy -minimization and if you want the energy and forces it -produces to be part of the optimization criteria. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix, compute temp, compute -pressure, thermo_style -

    -

    Default: -

    -

    The option defaults are temp = ID defined by fix, press = ID defined -by fix, energy = no. -

    - +for a fix if you are using it when performing an energy minimization and if you want the energy and forces it +produces to be part of the optimization criteria.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are temp = ID defined by fix, press = ID defined +by fix, energy = no.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html index c17c44a3fc..4f65a93965 100644 --- a/doc/fix_momentum.html +++ b/doc/fix_momentum.html @@ -1,85 +1,261 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix momentum command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix momentum command -

    -

    Syntax: -

    -
    fix ID group-ID momentum N keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • momentum = style name of this fix command - -
    • N = adjust the momentum every this many timesteps -one or more keyword/value pairs may be appended - -
    • keyword = linear or angular or rescale - -
        linear values = xflag yflag zflag
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix momentum command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID momentum N keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • momentum = style name of this fix command
      • +
      • N = adjust the momentum every this many timesteps +one or more keyword/value pairs may be appended
      • +
      • keyword = linear or angular or rescale
      • +
      +
      +linear values = xflag yflag zflag
           xflag,yflag,zflag = 0/1 to exclude/include each dimension
      -  angular values = none 
      -
      -
        rescale values = none 
      -
      - -
    -

    Examples: -

    -
    fix 1 all momentum 1 linear 1 1 0
    +  angular values = none
    +
    +
    +rescale values = none
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all momentum 1 linear 1 1 0
     fix 1 all momentum 1 linear 1 1 1 rescale
    -fix 1 all momentum 100 linear 1 1 1 angular 
    -
    -

    Description: -

    -

    Zero the linear and/or angular momentum of the group of atoms every N +fix 1 all momentum 100 linear 1 1 1 angular +

    +
    +
    +
    +

    Description¶

    +

    Zero the linear and/or angular momentum of the group of atoms every N timesteps by adjusting the velocities of the atoms. One (or both) of -the linear or angular keywords must be specified. -

    -

    If the linear keyword is used, the linear momentum is zeroed by +the linear or angular keywords must be specified.

    +

    If the linear keyword is used, the linear momentum is zeroed by subtracting the center-of-mass velocity of the group from each atom. This does not change the relative velocity of any pair of atoms. One or more dimensions can be excluded from this operation by setting the -corresponding flag to 0. -

    -

    If the angular keyword is used, the angular momentum is zeroed by -subtracting a rotational component from each atom. -

    -

    This command can be used to insure the entire collection of atoms (or +corresponding flag to 0.

    +

    If the angular keyword is used, the angular momentum is zeroed by +subtracting a rotational component from each atom.

    +

    This command can be used to insure the entire collection of atoms (or a subset of them) does not drift or rotate during the simulation due -to random perturbations (e.g. fix langevin -thermostatting). -

    -

    The rescale keyword enables conserving the kinetic energy of the group -of atoms by rescaling the velocities after the momentum was removed. -

    -

    Note that the velocity command can be used to create -initial velocities with zero aggregate linear and/or angular momentum. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +to random perturbations (e.g. fix langevin +thermostatting).

    +

    The rescale keyword enables conserving the kinetic energy of the group +of atoms by rescaling the velocities after the momentum was removed.

    +

    Note that the velocity command can be used to create +initial velocities with zero aggregate linear and/or angular momentum.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix recenter, velocity -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_move.html b/doc/fix_move.html index 099f269c8d..70ddaa89e9 100644 --- a/doc/fix_move.html +++ b/doc/fix_move.html @@ -1,173 +1,287 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix move command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix move command -

    -

    Syntax: -

    -
    fix ID group-ID move style args keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • move = style name of this fix command - -
    • style = linear or wiggle or rotate or variable - -
        linear args = Vx Vy Vz
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix move command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID move style args keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • move = style name of this fix command
      • +
      • style = linear or wiggle or rotate or variable
      • +
      +
      +linear args = Vx Vy Vz
           Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL
      -  wiggle args = Ax Ay Az period
      +  wiggle args = Ax Ay Az period
           Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
           period = period of oscillation (time units)
      -  rotate args = Px Py Pz Rx Ry Rz period
      +  rotate args = Px Py Pz Rx Ry Rz period
           Px,Py,Pz = origin point of axis of rotation (distance units)
           Rx,Ry,Rz = axis of rotation vector
           period = period of rotation (time units)
      -  variable args = v_dx v_dy v_dz v_vx v_vy v_vz
      +  variable args = v_dx v_dy v_dz v_vx v_vy v_vz
           v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
      -    v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = units - -
        units value = box or lattice 
      -
      - -
    -

    Examples: -

    -
    fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box
    +    v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units
    • +
    +
    +units value = box or lattice
    +
    +
    +
    +

    Examples¶

    +
    fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box
     fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0
    -fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL 
    -
    -

    Description: -

    -

    Perform updates of position and velocity for atoms in the group each +fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL +

    +
    +
    +
    +

    Description¶

    +

    Perform updates of position and velocity for atoms in the group each timestep using the specified settings or formulas, without regard to forces on the atoms. This can be useful for boundary or other atoms, -whose movement can influence nearby atoms. -

    -

    IMPORTANT NOTE: The atoms affected by this fix should not normally be -time integrated by other fixes (e.g. fix nve, fix -nvt), since that will change their positions and -velocities twice. -

    -

    IMPORTANT NOTE: As atoms move due to this fix, they will pass thru +whose movement can influence nearby atoms.

    +
    +

    Warning

    +

    The atoms affected by this fix should not normally be +time integrated by other fixes (e.g. fix nve, fix nvt), since that will change their positions and +velocities twice.

    +
    +
    +

    Warning

    +

    As atoms move due to this fix, they will pass thru periodic boundaries and be remapped to the other side of the simulation box, just as they would during normal time integration -(e.g. via the fix nve command). It is up to you to +(e.g. via the fix nve command). It is up to you to decide whether periodic boundaries are appropriate with the kind of -atom motion you are prescribing with this fix. -

    -

    IMPORTANT NOTE: As dicsussed below, atoms are moved relative to their +atom motion you are prescribing with this fix.

    +
    +
    +

    Warning

    +

    As dicsussed below, atoms are moved relative to their initial position at the time the fix is specified. These initial -coordinates are stored by the fix in "unwrapped" form, by using the -image flags associated with each atom. See the dump -custom command for a discussion of "unwrapped" coordinates. -See the Atoms section of the read_data command for a +coordinates are stored by the fix in “unwrapped” form, by using the +image flags associated with each atom. See the dump custom command for a discussion of “unwrapped” coordinates. +See the Atoms section of the read_data command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this fix by using -the set image command. -

    -
    - -

    The linear style moves atoms at a constant velocity, so that their -position X = (x,y,z) as a function of time is given in vector -notation as -

    -
    X(t) = X0 + V * delta 
    -
    -

    where X0 = (x0,y0,z0) is their position at the time the fix is -specified, V is the specified velocity vector with components -(Vx,Vy,Vz), and delta is the time elapsed since the fix was +the set image command.

    +
    +
    +

    The linear style moves atoms at a constant velocity, so that their +position X = (x,y,z) as a function of time is given in vector +notation as

    +
    X(t) = X0 + V * delta
    +
    +
    +

    where X0 = (x0,y0,z0) is their position at the time the fix is +specified, V is the specified velocity vector with components +(Vx,Vy,Vz), and delta is the time elapsed since the fix was specified. This style also sets the velocity of each atom to V = (Vx,Vy,Vz). If any of the velocity components is specified as NULL, then the position and velocity of that component is time integrated -the same as the fix nve command would perform, using -the corresponding force component on the atom. -

    -

    Note that the linear style is identical to using the variable -style with an equal-style variable that uses the -vdisplace() function. E.g. -

    -
    variable V equal 10.0
    +the same as the fix nve command would perform, using
    +the corresponding force component on the atom.

    +

    Note that the linear style is identical to using the variable +style with an equal-style variable that uses the +vdisplace() function. E.g.

    +
    variable V equal 10.0
     variable x equal vdisplace(0.0,$V)
    -fix 1 boundary move variable v_x NULL NULL v_V NULL NULL 
    -
    -

    The wiggle style moves atoms in an oscillatory fashion, so that -their position X = (x,y,z) as a function of time is given in vector -notation as -

    -
    X(t) = X0 + A sin(omega*delta) 
    -
    -

    where X0 = (x0,y0,z0) is their position at the time the fix is -specified, A is the specified amplitude vector with components -(Ax,Ay,Az), omega is 2 PI / period, and delta is the time +fix 1 boundary move variable v_x NULL NULL v_V NULL NULL +

    + +

    The wiggle style moves atoms in an oscillatory fashion, so that +their position X = (x,y,z) as a function of time is given in vector +notation as

    +
    X(t) = X0 + A sin(omega*delta)
    +
    +
    +

    where X0 = (x0,y0,z0) is their position at the time the fix is +specified, A is the specified amplitude vector with components +(Ax,Ay,Az), omega is 2 PI / period, and delta is the time elapsed since the fix was specified. This style also sets the velocity of each atom to the time derivative of this expression. If any of the amplitude components is specified as NULL, then the position and velocity of that component is time integrated the same as -the fix nve command would perform, using the -corresponding force component on the atom. -

    -

    Note that the wiggle style is identical to using the variable -style with equal-style variables that use the -swiggle() and cwiggle() functions. E.g. -

    -
    variable A equal 10.0
    +the fix nve command would perform, using the
    +corresponding force component on the atom.

    +

    Note that the wiggle style is identical to using the variable +style with equal-style variables that use the +swiggle() and cwiggle() functions. E.g.

    +
    variable A equal 10.0
     variable T equal 5.0
     variable omega equal 2.0*PI/$T
     variable x equal swiggle(0.0,$A,$T)
     variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
    -fix 1 boundary move variable v_x NULL NULL v_v NULL NULL 
    -
    -

    The rotate style rotates atoms around a rotation axis R = -(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The period of +fix 1 boundary move variable v_x NULL NULL v_v NULL NULL +

    + +

    The rotate style rotates atoms around a rotation axis R = +(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The period of the rotation is also specified. This style also sets the velocity of each atom to (omega cross Rperp) where omega is its angular velocity around the rotation axis and Rperp is a perpendicular vector from the rotation axis to the atom. If the defined -atom_style assigns an angular velocity to each atom, -then each atom's angular velocity is also set to omega. Note that the +atom_style assigns an angular velocity to each atom, +then each atom’s angular velocity is also set to omega. Note that the direction of rotation for the atoms around the rotation axis is -consistent with the right-hand rule: if your right-hand's thumb points -along R, then your fingers wrap around the axis in the direction of -rotation. -

    -

    The variable style allows the position and velocity components of +consistent with the right-hand rule: if your right-hand’s thumb points +along R, then your fingers wrap around the axis in the direction of +rotation.

    +

    The variable style allows the position and velocity components of each atom to be set by formulas specified via the -variable command. Each of the 6 variables is +variable command. Each of the 6 variables is specified as an argument to the fix as v_name, where name is the -variable name that is defined elsewhere in the input script. -

    -

    Each variable must be of either the equal or atom style. -Equal-style variables compute a single numeric quantity, that can be +variable name that is defined elsewhere in the input script.

    +

    Each variable must be of either the equal or atom style. +Equal-style variables compute a single numeric quantity, that can be a function of the timestep as well as of other simulation values. -Atom-style variables compute a numeric quantity for each atom, that -can be a function per-atom quantities, such as the atom's position, as +Atom-style variables compute a numeric quantity for each atom, that +can be a function per-atom quantities, such as the atom’s position, as well as of the timestep and other simulation values. Note that this fix stores the original coordinates of each atom (see note below) so that per-atom quantity can be used in an atom-style variable formula. -See the variable command for details. -

    -

    The first 3 variables (v_dx,v_dy,v_dz) specified for the variable -style are used to calculate a displacement from the atom's original +See the variable command for details.

    +

    The first 3 variables (v_dx,v_dy,v_dz) specified for the variable +style are used to calculate a displacement from the atom’s original position at the time the fix was specified. The second 3 variables (v_vx,v_vy,v_vz) specified are used to compute a velocity for each -atom. -

    -

    Any of the 6 variables can be specified as NULL. If both the +atom.

    +

    Any of the 6 variables can be specified as NULL. If both the displacement and velocity variables for a particular x,y,z component are specified as NULL, then the position and velocity of that -component is time integrated the same as the fix nve +component is time integrated the same as the fix nve command would perform, using the corresponding force component on the atom. If only the velocity variable for a component is specified as NULL, then the displacement variable will be used to set the position @@ -175,60 +289,116 @@ of the atom, and its velocity component will not be changed. If only the displacement variable for a component is specified as NULL, then the velocity variable will be used to set the velocity of the atom, and the position of the atom will be time integrated using that -velocity. -

    -

    The units keyword determines the meaning of the distance units used -to define the linear velocity and wiggle amplitude and rotate -origin. This setting is ignored for the variable style. A box -value selects standard units as defined by the units +velocity.

    +

    The units keyword determines the meaning of the distance units used +to define the linear velocity and wiggle amplitude and rotate +origin. This setting is ignored for the variable style. A box +value selects standard units as defined by the units command, e.g. velocity in Angstroms/fmsec and amplitude and position -in Angstroms for units = real. A lattice value means the velocity +in Angstroms for units = real. A lattice value means the velocity units are in lattice spacings per time and the amplitude and position -are in lattice spacings. The lattice command must have +are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice -spacings can be different in x,y,z. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the original coordinates of moving atoms to binary -restart files, as well as the initial timestep, so that +spacings can be different in x,y,z.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the original coordinates of moving atoms to binary restart files, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    IMPORTANNT NOTE: Because the move positions are a function of the +operation of the fix continues in an uninterrupted fashion.

    +

    IMPORTANNT NOTE: Because the move positions are a function of the current timestep and the initial timestep, you cannot reset the timestep to a different value after reading a restart file, if you -expect a fix move command to work in an uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    This fix produces a per-atom array which can be accessed by various -output commands. The number of columns +expect a fix move command to work in an uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    This fix produces a per-atom array which can be accessed by various +output commands. The number of columns for each atom is 3, and the columns store the original unwrapped x,y,z coords of each atom. The per-atom values can be accessed on any -timestep. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    For rRESPA time integration, this fix adjusts the -position and velocity of atoms on the outermost rRESPA level. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix nve, displace_atoms -

    -

    Default: none -

    -

    The option default is units = lattice. -

    - +timestep.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +

    For rRESPA time integration, this fix adjusts the +position and velocity of atoms on the outermost rRESPA level.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_msst.html b/doc/fix_msst.html index 60f2daffe7..f79a088582 100644 --- a/doc/fix_msst.html +++ b/doc/fix_msst.html @@ -1,171 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix msst command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix msst command -

    -

    Syntax: -

    -
    fix ID group-ID msst dir shockvel keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • msst = style name of this fix - -
    • dir = x or y or z - -
    • shockvel = shock velocity (strictly positive, distance/time units) - -
    • zero or more keyword value pairs may be appended - -
    • keyword = q or mu or p0 or v0 or e0 or tscale - -
        q value = cell mass-like parameter (mass^2/distance^4 units)
      -  mu value = artificial viscosity (mass/length/time units)
      -  p0 value = initial pressure in the shock equations (pressure units)
      -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)  
      -  e0 value = initial total energy (energy units)
      -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5
    -fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4  v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 
    -
    -

    Description: -

    -

    This command performs the Multi-Scale Shock Technique (MSST) + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix msst command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID msst dir shockvel keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • msst = style name of this fix
    • +
    • dir = x or y or z
    • +
    • shockvel = shock velocity (strictly positive, distance/time units)
    • +
    • zero or more keyword value pairs may be appended
    • +
    • keyword = q or mu or p0 or v0 or e0 or tscale
    • +
    +
    +q value = cell mass-like parameter (mass^2/distance^4 units)
    +  mu value = artificial viscosity (mass/length/time units)
    +  p0 value = initial pressure in the shock equations (pressure units)
    +  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    +  e0 value = initial total energy (energy units)
    +  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5
    +fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4  v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01
    +
    +
    +
    +
    +

    Description¶

    +

    This command performs the Multi-Scale Shock Technique (MSST) integration to update positions and velocities each timestep to mimic -a compressive shock wave passing over the system. See (Reed) +a compressive shock wave passing over the system. See (Reed) for a detailed description of this method. The MSST varies the cell volume and temperature in such a way as to restrain the system to the shock Hugoniot and the Rayleigh line. These restraints correspond to the macroscopic conservation laws dictated by a shock -front. shockvel determines the steady shock velocity that will be -simulated. -

    -

    To perform a simulation, choose a value of q that provides volume +front. shockvel determines the steady shock velocity that will be +simulated.

    +

    To perform a simulation, choose a value of q that provides volume compression on the timescale of 100 fs to 1 ps. If the volume is not compressing, either the shock speed is chosen to be below the material -sound speed or p0 has been chosen inaccurately. Volume compression -at the start can be sped up by using a non-zero value of tscale. Use -the smallest value of tscale that results in compression. -

    -

    Under some special high-symmetry conditions, the pressure (volume) +sound speed or p0 has been chosen inaccurately. Volume compression +at the start can be sped up by using a non-zero value of tscale. Use +the smallest value of tscale that results in compression.

    +

    Under some special high-symmetry conditions, the pressure (volume) and/or temperature of the system may oscillate for many cycles even -with an appropriate choice of mass-like parameter q. Such +with an appropriate choice of mass-like parameter q. Such oscillations have physical significance in some cases. The optional -mu keyword adds an artificial viscosity that helps break the system +mu keyword adds an artificial viscosity that helps break the system symmetry to equilibrate to the shock Hugoniot and Rayleigh line more -rapidly in such cases. -

    -

    tscale is a factor between 0 and 1 that determines what fraction of +rapidly in such cases.

    +

    tscale is a factor between 0 and 1 that determines what fraction of thermal kinetic energy is converted to compressive strain kinetic energy at the start of the simulation. Setting this parameter to a non-zero value may assist in compression at the start of simulations -where it is slow to occur. -

    -

    If keywords e0, p0,or v0 are not supplied, these quantities will +where it is slow to occur.

    +

    If keywords e0, p0,or v0 are not supplied, these quantities will be calculated on the first step, after the energy specified by -tscale is removed. The value of e0 is not used in the dynamical -equations, but is used in calculating the deviation from the Hugoniot. -

    -

    Values of shockvel less than a critical value determined by the +tscale is removed. The value of e0 is not used in the dynamical +equations, but is used in calculating the deviation from the Hugoniot.

    +

    Values of shockvel less than a critical value determined by the material response will not have compressive solutions. This will be -reflected in lack of significant change of the volume in the MSST. -

    -

    For all pressure styles, the simulation box stays orthogonal in shape. +reflected in lack of significant change of the volume in the MSST.

    +

    For all pressure styles, the simulation box stays orthogonal in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by -LAMMPS, but are not implemented for MSST. -

    -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if these commands had been issued: -

    -
    compute fix-ID_temp group-ID temp 
    -compute fix-ID_press group-ID pressure fix-ID_temp 
    -
    -

    See the compute temp and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press". The group for the new computes is "all". -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of all internal variables to binary restart -files. See the read_restart command +LAMMPS, but are not implemented for MSST.

    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp” and “pressure”, +as if these commands had been issued:

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp
    +
    +
    +

    See the compute temp and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”. The group for the new computes is “all”.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of all internal variables to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The progress of the MSST can be monitored by printing the global -scalar and global vector quantities computed by the fix. -

    -

    The scalar is the cumulative energy change due to the fix. This is +uninterrupted fashion.

    +

    The progress of the MSST can be monitored by printing the global +scalar and global vector quantities computed by the fix.

    +

    The scalar is the cumulative energy change due to the fix. This is also the energy added to the potential energy by the -fix_modify energy command. With this command, the -thermo keyword etotal prints the conserved quantity of the MSST +fix_modify energy command. With this command, the +thermo keyword etotal prints the conserved quantity of the MSST dynamic equations. This can be used to test if the MD timestep is sufficiently small for accurate integration of the dynamic -equations. See also thermo_style command. -

    -

    The global vector contains four values in this order: -

    -

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position] -

    -
    1. dhugoniot is the departure from the Hugoniot (temperature units). -
    2. drayleigh is the departure from the Rayleigh line (pressure units). -
    3. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -
    4. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. -
    -

    To print these quantities to the log file with descriptive column -headers, the following LAMMPS commands are suggested: -

    -
    fix		 msst all msst z 
    +equations. See also thermo_style command.

    +

    The global vector contains four values in this order:

    +

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position]

    +
      +
    1. dhugoniot is the departure from the Hugoniot (temperature units).
    2. +
    3. drayleigh is the departure from the Rayleigh line (pressure units).
    4. +
    5. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).
    6. +
    7. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front.
    8. +
    +

    To print these quantities to the log file with descriptive column +headers, the following LAMMPS commands are suggested:

    +
    fix           msst all msst z
     fix_modify       msst energy yes
     variable dhug    equal f_msst[1]
     variable dray    equal f_msst[2]
     variable lgr_vel equal f_msst[3]
     variable lgr_pos equal f_msst[4]
    -thermo_style     custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst 
    -
    -

    These fixes compute a global scalar and a global vector of 4 -quantities, which can be accessed by various output -commands. The scalar values calculated -by this fix are "extensive"; the vector values are "intensive". -

    -

    Restrictions: -

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    All cell dimensions must be periodic. This fix can not be used with a +thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst +

    +
    +

    These fixes compute a global scalar and a global vector of 4 +quantities, which can be accessed by various output commands. The scalar values calculated +by this fix are “extensive”; the vector values are “intensive”.

    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The MSST fix has been tested only for the group-ID -all. -

    -

    Related commands: -

    -

    fix nphug, fix deform -

    -

    Default: -

    -

    The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0 -are calculated on the first step. -

    -
    +all.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0 +are calculated on the first step.

    +
    +

    (Reed) Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003).

    +
    +
    - -

    (Reed) Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003). -

    - +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_neb.html b/doc/fix_neb.html index 23a8b894d3..25277b3e55 100644 --- a/doc/fix_neb.html +++ b/doc/fix_neb.html @@ -1,113 +1,282 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix neb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix neb command -

    -

    Syntax: -

    -
    fix ID group-ID neb Kspring 
    -
    -
    • ID, group-ID are documented in fix command -
    • neb = style name of this fix command -
    • Kspring = inter-replica spring constant (force/distance units) -
    -

    Examples: -

    -
    fix 1 active neb 10.0 
    -
    -

    Description: -

    -

    Add inter-replica forces to atoms in the group for a multi-replica -simulation run via the neb command to perform a nudged + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix neb command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID neb Kspring
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • neb = style name of this fix command
    • +
    • Kspring = inter-replica spring constant (force/distance units)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 active neb 10.0
    +
    +
    +
    +
    +

    Description¶

    +

    Add inter-replica forces to atoms in the group for a multi-replica +simulation run via the neb command to perform a nudged elastic band (NEB) calculation for transition state finding. Hi-level -explanations of NEB are given with the neb command and in -Section_howto 5 of the manual. The fix -neb command must be used with the "neb" command to define how -inter-replica forces are computed. -

    -

    Only the N atoms in the fix group experience inter-replica forces. +explanations of NEB are given with the neb command and in +Section_howto 5 of the manual. The fix +neb command must be used with the “neb” command to define how +inter-replica forces are computed.

    +

    Only the N atoms in the fix group experience inter-replica forces. Atoms in the two end-point replicas do not experience these forces, but those in intermediate replicas do. During the initial stage of NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting on the atoms of each intermediate replica I is altered, as described -in the (Henkelman1) paper, to become: -

    -
    Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That 
    -
    -

    Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the +in the (Henkelman1) paper, to become:

    +
    Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That
    +
    +
    +

    Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its neighbor replicas. That (t with a hat over it) is -the unit "tangent" vector for replica I which is a function of Ri, +the unit “tangent” vector for replica I which is a function of Ri, Ri-1, Ri+1, and the potential energy of the 3 replicas; it points roughly in the direction of (Ri+i - Ri-1); see the -(Henkelman1) paper for details. -

    -

    The first two terms in the above equation are the component of the +(Henkelman1) paper for details.

    +

    The first two terms in the above equation are the component of the interatomic forces perpendicular to the tangent vector. The last term is a spring force between replica I and its neighbors, parallel to the -tangent vector direction with the specified spring constant Kspring. -

    -

    The effect of the first two terms is to push the atoms of each replica +tangent vector direction with the specified spring constant Kspring.

    +

    The effect of the first two terms is to push the atoms of each replica toward the minimum energy path (MEP) of conformational states that transition over the energy barrier. The MEP for an energy barrier is defined as a sequence of 3N-dimensional states which cross the barrier at its saddle point, each of which has a potential energy gradient -parallel to the MEP itself. -

    -

    The effect of the last term is to push each replica away from its two +parallel to the MEP itself.

    +

    The effect of the last term is to push each replica away from its two neighbors in a direction along the MEP, so that the final set of -states are equidistant from each other. -

    -

    During the second stage of NEB, the forces on the N atoms in the +states are equidistant from each other.

    +

    During the second stage of NEB, the forces on the N atoms in the replica nearest the top of the energy barrier are altered so that it climbs to the top of the barrier and finds the saddle point. The forces on atoms in this replica are described in the -(Henkelman2) paper, and become: -

    -
    Fi = -Grad(V) + 2 (Grad(V) dot That) That 
    -
    -

    The inter-replica forces for the other replicas are unchanged from the -first equation. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +(Henkelman2) paper, and become:

    +
    Fi = -Grad(V) + 2 (Grad(V) dot That) That
    +
    +
    +

    The inter-replica forces for the other replicas are unchanged from the +first equation.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -as invoked by the minimize command via the -neb command. -

    -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    neb -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +as invoked by the minimize command via the +neb command.

    +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +
    + +
    -

    (Henkelman1) Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). -

    - -

    (Henkelman2) Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, -9901-9904 (2000). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nh.html b/doc/fix_nh.html index 103fc7321e..87f7dc1d87 100644 --- a/doc/fix_nh.html +++ b/doc/fix_nh.html @@ -1,193 +1,306 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt command -

    -

    fix nvt/cuda command -

    -

    fix nvt/omp command -

    -

    fix npt command -

    -

    fix npt/cuda command -

    -

    fix npt/omp command -

    -

    fix nph command -

    -

    fix nph/omp command -

    -

    Syntax: -

    -
    fix ID group-ID style_name keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style_name = nvt or npt or nph - -
    • one or more keyword/value pairs may be appended - -
      keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scalexy or scaleyz or scalexz or flip or fixedpoint
      -  temp values = Tstart Tstop Tdamp
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix nvt command¶

      +
      +
      +

      fix nvt/cuda command¶

      +
      +
      +

      fix nvt/omp command¶

      +
      +
      +

      fix npt command¶

      +
      +
      +

      fix npt/cuda command¶

      +
      +
      +

      fix npt/omp command¶

      +
      +
      +

      fix nph command¶

      +
      +
      +

      fix nph/omp command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID style_name keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style_name = nvt or npt or nph
      • +
      • one or more keyword/value pairs may be appended
      • +
      +
      +keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scalexy or scaleyz or scalexz or flip or fixedpoint
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = external temperature at start/end of run
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = N
      +  couple = none or xyz or xy or yz or xz
      +  tchain value = N
           N = length of thermostat chain (1 = single thermostat)
      -  pchain values = N
      +  pchain values = N
           N length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = M
      +  mtk value = yes or no = add in MTK adjustment term or not
      +  tloop value = M
           M = number of sub-cycles to perform on thermostat
      -  ploop value = M
      +  ploop value = M
           M = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = Df
      +  nreset value = reset reference cell every this many timesteps
      +  drag value = Df
           Df = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = dilate-group-ID
      +  dilate value = dilate-group-ID
           dilate-group-ID = only dilate atoms in this group due to barostat volume changes
      -  scalexy value = yes or no = scale xy with ly
      -  scaleyz value = yes or no = scale yz with lz
      -  scalexz value = yes or no = scale xz with lz
      -  flip value = yes or no = allow or disallow box flips when it becomes highly skewed
      -  fixedpoint values = x y z
      -    x,y,z = perform barostat dilation/contraction around this point (distance units) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all nvt temp 300.0 300.0 100.0
    +  scalexy value = yes or no = scale xy with ly
    +  scaleyz value = yes or no = scale yz with lz
    +  scalexz value = yes or no = scale xz with lz
    +  flip value = yes or no = allow or disallow box flips when it becomes highly skewed
    +  fixedpoint values = x y z
    +    x,y,z = perform barostat dilation/contraction around this point (distance units)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt temp 300.0 300.0 100.0
     fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0
    -fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 
    -
    -

    Description: -

    -

    These commands perform time integration on Nose-Hoover style +fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 +

    +
    +
    +
    +

    Description¶

    +

    These commands perform time integration on Nose-Hoover style non-Hamiltonian equations of motion which are designed to generate positions and velocities sampled from the canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph) ensembles. This updates the position and velocity for atoms in the group each -timestep. -

    -

    The thermostatting and barostatting is achieved by adding some dynamic +timestep.

    +

    The thermostatting and barostatting is achieved by adding some dynamic variables which are coupled to the particle velocities (thermostatting) and simulation domain dimensions (barostatting). In addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the overall box volume, or -to individual dimensions, including the xy, xz and yz tilt +to individual dimensions, including the xy, xz and yz tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used correctly, the time-averaged temperature and stress tensor of the particles will match the target values specified by Tstart/Tstop and -Pstart/Pstop. -

    -

    The equations of motion used are those of Shinoda et al in -(Shinoda), which combine the hydrostatic equations of -Martyna, Tobias and Klein in (Martyna) with the strain +Pstart/Pstop.

    +

    The equations of motion used are those of Shinoda et al in +(Shinoda), which combine the hydrostatic equations of +Martyna, Tobias and Klein in (Martyna) with the strain energy proposed by Parrinello and Rahman in -(Parrinello). The time integration schemes closely +(Parrinello). The time integration schemes closely follow the time-reversible measure-preserving Verlet and rRESPA -integrators derived by Tuckerman et al. in (Tuckerman). -

    -
    - -

    The thermostat parameters for fix styles nvt and npt is specified -using the temp keyword. Other thermostat-related keywords are -tchain, tloop and drag, which are discussed below. -

    -

    The thermostat is applied to only the translational degrees of freedom +integrators derived by Tuckerman et al. in (Tuckerman).

    +
    +

    The thermostat parameters for fix styles nvt and npt is specified +using the temp keyword. Other thermostat-related keywords are +tchain, tloop and drag, which are discussed below.

    +

    The thermostat is applied to only the translational degrees of freedom for the particles. The translational degrees of freedom can also have a bias velocity removed before thermostatting takes place; see the description below. The desired temperature at each timestep is a -ramped value during the run from Tstart to Tstop. The Tdamp +ramped value during the run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 10.0 means to relax the temperature in a timespan of (roughly) 10 time units (e.g. tau or -fmsec or psec - see the units command). The atoms in the +fmsec or psec - see the units command). The atoms in the fix group are the only ones whose velocities and positions are updated -by the velocity/position update portion of the integration. -

    -

    IMPORTANT NOTE: A Nose-Hoover thermostat will not work well for -arbitrary values of Tdamp. If Tdamp is too small, the temperature +by the velocity/position update portion of the integration.

    +
    +

    Warning

    +

    A Nose-Hoover thermostat will not work well for +arbitrary values of Tdamp. If Tdamp is too small, the temperature can fluctuate wildly; if it is too large, the temperature will take a very long time to equilibrate. A good choice for many models is a -Tdamp of around 100 timesteps. Note that this is NOT the same as -100 time units for most units settings. -

    -
    - -

    The barostat parameters for fix styles npt and nph is specified -using one or more of the iso, aniso, tri, x, y, z, xy, -xz, yz, and couple keywords. These keywords give you the +Tdamp of around 100 timesteps. Note that this is NOT the same as +100 time units for most units settings.

    +
    +
    +

    The barostat parameters for fix styles npt and nph is specified +using one or more of the iso, aniso, tri, x, y, z, xy, +xz, yz, and couple keywords. These keywords give you the ability to specify all 6 components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a constant-pressure -simulation. -

    -

    Other barostat-related keywords are pchain, mtk, ploop, -nreset, drag, and dilate, which are discussed below. -

    -

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). +simulation.

    +

    Other barostat-related keywords are pchain, mtk, ploop, +nreset, drag, and dilate, which are discussed below.

    +

    Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The create_box, read -data, and read_restart commands +dimensions (x,y,z,xy,xz,yz). The create_box, read data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. -

    -

    The target pressures for each of the 6 components of the stress tensor -can be specified independently via the x, y, z, xy, xz, yz +(triclinic) and explain the meaning of the xy,xz,yz tilt factors.

    +

    The target pressures for each of the 6 components of the stress tensor +can be specified independently via the x, y, z, xy, xz, yz keywords, which correspond to the 6 simulation box dimensions. For each component, the external pressure or tensor component at each -timestep is a ramped value during the run from Pstart to Pstop. +timestep is a ramped value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will change during a simulation. For -example, if the y keyword is used, the y-box length will change. If -the xy keyword is used, the xy tilt factor will change. A box +example, if the y keyword is used, the y-box length will change. If +the xy keyword is used, the xy tilt factor will change. A box dimension will not change if that component is not specified, although -you have the option to change that dimension via the fix -deform command. -

    -

    Note that in order to use the xy, xz, or yz keywords, the +you have the option to change that dimension via the fix deform command.

    +

    Note that in order to use the xy, xz, or yz keywords, the simulation box must be triclinic, even if its initial tilt factors are -0.0. -

    -

    For all barostat keywords, the Pdamp parameter operates like the -Tdamp parameter, determining the time scale on which pressure is +0.0.

    +

    For all barostat keywords, the Pdamp parameter operates like the +Tdamp parameter, determining the time scale on which pressure is relaxed. For example, a value of 10.0 means to relax the pressure in a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the units command). -

    -

    IMPORTANT NOTE: A Nose-Hoover barostat will not work well for -arbitrary values of Pdamp. If Pdamp is too small, the pressure +the units command).

    +
    +

    Warning

    +

    A Nose-Hoover barostat will not work well for +arbitrary values of Pdamp. If Pdamp is too small, the pressure and volume can fluctuate wildly; if it is too large, the pressure will take a very long time to equilibrate. A good choice for many models -is a Pdamp of around 1000 timesteps. Note that this is NOT the same -as 1000 time units for most units settings. -

    -

    Regardless of what atoms are in the fix group (the only atoms which +is a Pdamp of around 1000 timesteps. Note that this is NOT the same +as 1000 time units for most units settings.

    +
    +

    Regardless of what atoms are in the fix group (the only atoms which are time integrated), a global pressure or stress tensor is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword -dilate is specified with a dilate-group-ID for a group that +dilate is specified with a dilate-group-ID for a group that represents a subset of the atoms. This can be useful, for example, to leave the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. This option should @@ -195,70 +308,64 @@ be used with care, since it can be unphysical to dilate some atoms and not others, because it can introduce large, instantaneous displacements between a pair of atoms (one dilated, one not) that are far from the dilation origin. Also note that for atoms not in the fix -group, a separate time integration fix like fix nve or -fix nvt can be used on them, independent of whether they -are dilated or not. -

    -
    - -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +group, a separate time integration fix like fix nve or +fix nvt can be used on them, independent of whether they +are dilated or not.

    +
    +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be “coupled” together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored. -

    -
    - -

    The iso, aniso, and tri keywords are simply shortcuts that are -equivalent to specifying several other keywords together. -

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored.

    +
    +

    The iso, aniso, and tri keywords are simply shortcuts that are +equivalent to specifying several other keywords together.

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using “iso Pstart Pstop Pdamp” is the same as
    +specifying these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz 
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz +

    + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +pressure.  Using “aniso Pstart Pstop Pdamp” is the same as specifying
    +these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none 
    -
    -

    The keyword tri means x, y, z, xy, xz, and yz dimensions +couple none +

    + +

    The keyword tri means x, y, z, xy, xz, and yz dimensions are controlled independently using their individual stress components as the driving forces, and the specified scalar pressure as the -external normal stress. Using "tri Pstart Pstop Pdamp" is the same as -specifying these 7 keywords: -

    -
    x Pstart Pstop Pdamp
    +external normal stress.  Using “tri Pstart Pstop Pdamp” is the same as
    +specifying these 7 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
     xy 0.0 0.0 Pdamp
     yz 0.0 0.0 Pdamp
     xz 0.0 0.0 Pdamp
    -couple none 
    -
    -
    - -

    In some cases (e.g. for solids) the pressure (volume) and/or +couple none +

    + +
    +

    In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover -barostat and thermostat is applied. The optional drag keyword will +barostat and thermostat is applied. The optional drag keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the @@ -268,360 +375,370 @@ is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. Note that use of the drag keyword will interfere with energy conservation and will also change the distribution of positions and velocities so that they do not -correspond to the nominal NVT, NPT, or NPH ensembles. -

    -

    An alternative way to control initial oscillations is to use chain -thermostats. The keyword tchain determines the number of thermostats +correspond to the nominal NVT, NPT, or NPH ensembles.

    +

    An alternative way to control initial oscillations is to use chain +thermostats. The keyword tchain determines the number of thermostats in the particle thermostat. A value of 1 corresponds to the original -Nose-Hoover thermostat. The keyword pchain specifies the number of +Nose-Hoover thermostat. The keyword pchain specifies the number of thermostats in the chain thermostatting the barostat degrees of freedom. A value of 0 corresponds to no thermostatting of the -barostat variables. -

    -

    The mtk keyword controls whether or not the correction terms due to +barostat variables.

    +

    The mtk keyword controls whether or not the correction terms due to Martyna, Tuckerman, and Klein are included in the equations of motion -(Martyna). Specifying no reproduces the original +(Martyna). Specifying no reproduces the original Hoover barostat, whose volume probability distribution function differs from the true NPT and NPH ensembles by a factor of 1/V. Hence -using yes is more correct, but in many cases the difference is -negligible. -

    -

    The keyword tloop can be used to improve the accuracy of integration +using yes is more correct, but in many cases the difference is +negligible.

    +

    The keyword tloop can be used to improve the accuracy of integration scheme at little extra cost. The initial and final updates of the -thermostat variables are broken up into tloop substeps, each of -length dt/tloop. This corresponds to using a first-order -Suzuki-Yoshida scheme (Tuckerman2006). The keyword -ploop does the same thing for the barostat thermostat. -

    -

    The keyword nreset controls how often the reference dimensions used +thermostat variables are broken up into tloop substeps, each of +length dt/tloop. This corresponds to using a first-order +Suzuki-Yoshida scheme (Tuckerman2006). The keyword +ploop does the same thing for the barostat thermostat.

    +

    The keyword nreset controls how often the reference dimensions used to define the strain energy are reset. If this keyword is not used, or is given a value of zero, then the reference dimensions are set to those of the initial simulation domain and are never changed. If the simulation domain changes significantly during the simulation, then the final average pressure tensor will differ significantly from the -specified values of the external stress tensor. A value of nstep -means that every nstep timesteps, the reference dimensions are set -to those of the current simulation domain. -

    -

    The scaleyz, scalexz, and scalexy keywords control whether or +specified values of the external stress tensor. A value of nstep +means that every nstep timesteps, the reference dimensions are set +to those of the current simulation domain.

    +

    The scaleyz, scalexz, and scalexy keywords control whether or not the corresponding tilt factors are scaled with the associated box dimensions when barostatting triclinic periodic cells. The default -values yes will turn on scaling, which corresponds to adjusting the +values yes will turn on scaling, which corresponds to adjusting the linear dimensions of the cell while preserving its shape. Choosing -no ensures that the tilt factors are not scaled with the box +no ensures that the tilt factors are not scaled with the box dimensions. See below for restrictions and default values in different situations. In older versions of LAMMPS, scaling of tilt factors was not performed. The old behavior can be recovered by setting all three -scale keywords to no. -

    -

    The flip keyword allows the tilt factors for a triclinic box to +scale keywords to no.

    +

    The flip keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed -below. If the flip value is set to yes, the bound is enforced by -flipping the box when it is exceeded. If the flip value is set to -no, the tilt will continue to change without flipping. Note that if +below. If the flip value is set to yes, the bound is enforced by +flipping the box when it is exceeded. If the flip value is set to +no, the tilt will continue to change without flipping. Note that if applied stress induces large deformations (e.g. in a liquid), this means the box shape can tilt dramatically and LAMMPS will run less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. +acquire ghost atoms around a processor’s irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. -

    -

    The fixedpoint keyword specifies the fixed point for barostat volume +error.

    +

    The fixedpoint keyword specifies the fixed point for barostat volume changes. By default, it is the center of the box. Whatever point is chosen will not move during the simulation. For example, if the lower periodic boundaries pass through (0,0,0), and this point is provided -to fixedpoint, then the lower periodic boundaries will remain at +to fixedpoint, then the lower periodic boundaries will remain at (0,0,0), while the upper periodic boundaries will move twice as far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of -positions. -

    -
    - -

    IMPORTANT NOTE: Using a barostat coupled to tilt dimensions xy, -xz, yz can sometimes result in arbitrarily large values of the +positions.

    +
    +
    +

    Warning

    +

    Using a barostat coupled to tilt dimensions xy, +xz, yz can sometimes result in arbitrarily large values of the tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS allows the tilt factors to grow a small amount beyond the normal limit of half the box length (0.6 times the box length), and then performs a -box "flip" to an equivalent periodic cell. See the discussion of the -flip keyword above, to allow this bound to be exceeded, if desired. -

    -

    The flip operation is described in more detail in the doc page for -fix deform. Both the barostat dynamics and the atom +box “flip” to an equivalent periodic cell. See the discussion of the +flip keyword above, to allow this bound to be exceeded, if desired.

    +
    +

    The flip operation is described in more detail in the doc page for +fix deform. Both the barostat dynamics and the atom trajectories are unaffected by this operation. However, if a tilt factor is incremented by a large amount (1.5 times the box length) on a single timestep, LAMMPS can not accomodate this event and will terminate the simulation with an error. This error typically indicates that there is something badly wrong with how the simulation was -constructed, such as specifying values of Pstart that are too far +constructed, such as specifying values of Pstart that are too far from the current stress value, or specifying a timestep that is too large. Triclinic barostatting should be used with care. This also is true for other barostat styles, although they tend to be more forgiving of insults. In particular, it is important to recognize that equilibrium liquids can not support a shear stress and that equilibrium solids can not support shear stresses that exceed the -yield stress. -

    -

    One exception to this rule is if the 1st dimension in the tilt factor +yield stress.

    +

    One exception to this rule is if the 1st dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will simply -become inefficient due to the highly skewed simulation box. -

    -

    IMPORTANT NOTE: Unlike the fix -temp/berendsen command which performs +become inefficient due to the highly skewed simulation box.

    +
    +

    Warning

    +

    Unlike the fix temp/berendsen command which performs thermostatting but NO time integration, these fixes perform thermostatting/barostatting AND time integration. Thus you should not -use any other time integration fix, such as fix nve on +use any other time integration fix, such as fix nve on atoms to which this fix is applied. Likewise, fix nvt and fix npt should not normally be used on atoms that also have their temperature -controlled by another fix - e.g. by fix langevin or fix -temp/rescale commands. -

    -

    See this howto section of the manual for +controlled by another fix - e.g. by fix langevin or fix temp/rescale commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting and barostatting. -

    -
    - -

    These fixes compute a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if one of these two sets of commands had been issued: -

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp 
    -
    -
    compute fix-ID_temp all temp
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press". For fix nvt, the group for the new computes +thermostatting and barostatting.

    +
    +

    These fixes compute a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp” and “pressure”, +as if one of these two sets of commands had been issued:

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp
    +
    +
    +
    compute fix-ID_temp all temp
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”. For fix nvt, the group for the new computes is the same as the fix group. For fix nph and fix npt, the group for -the new computes is "all" since pressure is computed for the entire -system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -

    Like other fixes that perform thermostatting, fix nvt and fix npt can -be used with compute commands that calculate a -temperature after removing a "bias" from the atom velocities. +the new computes is “all” since pressure is computed for the entire +system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +

    Like other fixes that perform thermostatting, fix nvt and fix npt can +be used with compute commands that calculate a +temperature after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not -done by default, but only if the fix_modify command +done by default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such -a bias term. See the doc pages for individual compute -commands to determine which ones include a bias. In +a bias term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    These fixes can be used with either the verlet or respa -integrators. When using one of the barostat fixes -with respa, LAMMPS uses an integrator constructed +thermal degrees of freedom, and the bias is added back in.

    +
    +

    These fixes can be used with either the verlet or respa +integrators. When using one of the barostat fixes +with respa, LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator -(for two rRESPA levels): -

    -
    -
    -

    This factorization differs somewhat from that of Tuckerman et al., in that +(for two rRESPA levels):

    +_images/fix_nh1.jpg +

    This factorization differs somewhat from that of Tuckerman et al., in that the barostat is only updated at the outermost rRESPA level, whereas -Tuckerman's factorization requires splitting the pressure into pieces +Tuckerman’s factorization requires splitting the pressure into pieces corresponding to the forces computed at each rRESPA level. In theory, the latter method will exhibit better numerical stability. In practice, -because Pdamp is normally chosen to be a large multiple of the -outermost rRESPA timestep, the barostat dynamics are not the -limiting factor for numerical stability. Both -factorizations are time-reversible and can be shown to preserve the phase -space measure of the underlying non-Hamiltonian equations of motion. -

    -
    - -

    The fix npt and fix nph commands can be used with rigid bodies or +because Pdamp is normally chosen to be a large multiple of the +outermost rRESPA timestep, the barostat dynamics are not the +limiting factor for numerical stability. Both +factorizations are time-reversible and can be shown to preserve the phase +space measure of the underlying non-Hamiltonian equations of motion.

    +
    +

    The fix npt and fix nph commands can be used with rigid bodies or mixtures of rigid bodies and non-rigid particles (e.g. solvent). But -there are also fix rigid/npt and fix -rigid/nph commands, which are typically a more natural +there are also fix rigid/npt and fix rigid/nph commands, which are typically a more natural choice. See the doc page for those commands for more discussion of -the various ways to do this. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the various ways to do this.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    These fixes writes the state of all the thermostat and barostat -variables to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    These fixes writes the state of all the thermostat and barostat +variables to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify temp and press options are supported by these fixes. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. -

    -

    IMPORTANT NOTE: If both the temp and press keywords are used in a +compute temperature on a subset of atoms.

    +
    +

    Warning

    +

    If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by fix npt), but -only if the temp keyword comes after the press keyword. If the -temp keyword comes before the press keyword, then the new pressure -compute specified by the press keyword will be unaffected by the -temp setting. -

    -

    The fix_modify energy option is supported by these +only if the temp keyword comes after the press keyword. If the +temp keyword comes before the press keyword, then the new pressure +compute specified by the press keyword will be unaffected by the +temp setting.

    +
    +

    The fix_modify energy option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -thermodynamic output. -

    -

    These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various output -commands. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". -

    -

    The scalar is the cumulative energy change due to the fix. -

    -

    The vector stores internal Nose/Hoover thermostat and barostat +and barostatting to the system’s potential energy as part of +thermodynamic output.

    +

    These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various output commands. The scalar value calculated by +these fixes is “extensive”; the vector values are “intensive”.

    +

    The scalar is the cumulative energy change due to the fix.

    +

    The vector stores internal Nose/Hoover thermostat and barostat variables. The number and meaning of the vector values depends on -which fix is used and the settings for keywords tchain and pchain, +which fix is used and the settings for keywords tchain and pchain, which specify the number of Nose/Hoover chains for the thermostat and -barostat. If no thermostatting is done, then tchain is 0. If no -barostatting is done, then pchain is 0. In the following list, -"ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in +barostat. If no thermostatting is done, then tchain is 0. If no +barostatting is done, then pchain is 0. In the following list, +“ndof” is 0, 1, 3, or 6, and is the number of degrees of freedom in the barostat. Its value is 0 if no barostat is used, else its value is 6 if any off-diagonal stress tensor component is barostatted, else -its value is 1 if couple xyz is used or couple xy for a 2d -simulation, otherwise its value is 3. -

    -

    The order of values in the global vector and their meaning is as +its value is 1 if couple xyz is used or couple xy for a 2d +simulation, otherwise its value is 3.

    +

    The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta_dot, followed by ndof for omega, etc: -

    -
    • eta[tchain] = particle thermostat displacements (unitless) -
    • eta_dot[tchain] = particle thermostat velocities (1/time units) -
    • omega[ndof] = barostat displacements (unitless) -
    • omega_dot[ndof] = barostat velocities (1/time units) -
    • etap[pchain] = barostat thermostat displacements (unitless) -
    • etap_dot[pchain] = barostat thermostat velocities (1/time units) -
    • PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) -
    • KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) -
    • PE_omega[ndof] = potential energy of each barostat displacement (energy units) -
    • KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) -
    • PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) -
    • KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) -
    • PE_strain[1] = scalar strain energy (energy units) -
    -

    These fixes can ramp their external temperature and pressure over -multiple runs, using the start and stop keywords of the -run command. See the run command for details of -how to do this. -

    -

    These fixes are not invoked during energy -minimization. -

    -
    - -

    Restrictions: -

    -

    X, y, z cannot be barostatted if the associated dimension is not -periodic. Xy, xz, and yz can only be barostatted if the +by tchain for eta_dot, followed by ndof for omega, etc:

    +
      +
    • eta[tchain] = particle thermostat displacements (unitless)
    • +
    • eta_dot[tchain] = particle thermostat velocities (1/time units)
    • +
    • omega[ndof] = barostat displacements (unitless)
    • +
    • omega_dot[ndof] = barostat velocities (1/time units)
    • +
    • etap[pchain] = barostat thermostat displacements (unitless)
    • +
    • etap_dot[pchain] = barostat thermostat velocities (1/time units)
    • +
    • PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units)
    • +
    • KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units)
    • +
    • PE_omega[ndof] = potential energy of each barostat displacement (energy units)
    • +
    • KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units)
    • +
    • PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units)
    • +
    • KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units)
    • +
    • PE_strain[1] = scalar strain energy (energy units)
    • +
    +

    These fixes can ramp their external temperature and pressure over +multiple runs, using the start and stop keywords of the +run command. See the run command for details of +how to do this.

    +

    These fixes are not invoked during energy minimization.

    +
    +
    +
    +

    Restrictions¶

    +

    X, y, z cannot be barostatted if the associated dimension is not +periodic. Xy, xz, and yz can only be barostatted if the simulation domain is triclinic and the 2nd dimension in the keyword -(y dimension in xy) is periodic. Z, xz, and yz, cannot be -barostatted for 2D simulations. The create_box, -read data, and read_restart +(y dimension in xy) is periodic. Z, xz, and yz, cannot be +barostatted for 2D simulations. The create_box, +read data, and read_restart commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz -tilt factors. -

    -

    For the temp keyword, the final Tstop cannot be 0.0 since it would +tilt factors.

    +

    For the temp keyword, the final Tstop cannot be 0.0 since it would make the external T = 0.0 at some timestep during the simulation which -is not allowed in the Nose/Hoover formulation. -

    -

    The scaleyz yes and scalexz yes keyword/value pairs can not be used -for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options +is not allowed in the Nose/Hoover formulation.

    +

    The scaleyz yes and scalexz yes keyword/value pairs can not be used +for 2D simulations. scaleyz yes, scalexz yes, and scalexy yes options can only be used if the 2nd dimension in the keyword is periodic, and if the tilt factor is not coupled to the barostat via keywords -tri, yz, xz, and xy. -

    -

    These fixes can be used with dynamic groups as defined by the -group command. Likewise they can be used with groups to +tri, yz, xz, and xy.

    +

    These fixes can be used with dynamic groups as defined by the +group command. Likewise they can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. -

    -

    Related commands: -

    -

    fix nve, fix_modify, -run_style -

    -

    Default: -

    -

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = +over time or the atom count becomes very small.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none, -scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and -not coupled to barostat, otherwise no. -

    -
    +scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and +not coupled to barostat, otherwise no.

    +
    +

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).

    +

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    +

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and +Martyna, J Phys A: Math Gen, 39, 5629 (2006).

    +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    +
    + - -

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). -

    - + + +
    + -

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). -

    - +
    -

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nh_eff.html b/doc/fix_nh_eff.html index 7d159b4bd6..ab1e4995fa 100644 --- a/doc/fix_nh_eff.html +++ b/doc/fix_nh_eff.html @@ -1,63 +1,183 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt/eff command -

    -

    fix npt/eff command -

    -

    fix nph/eff command -

    -

    Syntax: -

    -
    fix ID group-ID style_name keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style_name = nvt/eff or npt/eff or nph/eff - -
      one or more keyword value pairs may be appended
      -keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate
      -  temp values = Tstart Tstop Tdamp
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix nvt/eff command¶

      +
      +
      +

      fix npt/eff command¶

      +
      +
      +

      fix nph/eff command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID style_name keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style_name = nvt/eff or npt/eff or nph/eff
      • +
      +
      +one or more keyword value pairs may be appended
      +keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = external temperature at start/end of run
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = length of thermostat chain (1 = single thermostat)
      -  pchain values = length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = number of sub-cycles to perform on thermostat
      -  ploop value = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = all or partial 
      -
      - -
    -

    Examples: -

    -
    fix 1 all nvt/eff temp 300.0 300.0 0.1
    +  couple = none or xyz or xy or yz or xz
    +  tchain value = length of thermostat chain (1 = single thermostat)
    +  pchain values = length of thermostat chain on barostat (0 = no thermostat)
    +  mtk value = yes or no = add in MTK adjustment term or not
    +  tloop value = number of sub-cycles to perform on thermostat
    +  ploop value = number of sub-cycles to perform on barostat thermostat
    +  nreset value = reset reference cell every this many timesteps
    +  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
    +  dilate value = all or partial
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt/eff temp 300.0 300.0 0.1
     fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0
     fix 2 part npt/eff temp 300.0 300.0 0.1 tri 5.0 5.0 1.0
    -fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 
    -
    -

    Description: -

    -

    These commands perform time integration on Nose-Hoover style +fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 +

    +
    +
    +
    +

    Description¶

    +

    These commands perform time integration on Nose-Hoover style non-Hamiltonian equations of motion for nuclei and electrons in the -group for the electron force field model. The fixes +group for the electron force field model. The fixes are designed to generate positions and velocities sampled from the canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph) ensembles. This is achieved by adding some dynamic variables which @@ -66,27 +186,26 @@ domain dimensions (barostatting). In addition to basic thermostatting and barostatting, these fixes can also create a chain of thermostats coupled to the particle thermostat, and another chain of thermostats coupled to the barostat variables. The barostat can be coupled to the -overall box volume, or to individual dimensions, including the xy, -xz and yz tilt dimensions. The external pressure of the barostat +overall box volume, or to individual dimensions, including the xy, +xz and yz tilt dimensions. The external pressure of the barostat can be specified as either a scalar pressure (isobaric ensemble) or as components of a symmetric stress tensor (constant stress ensemble). When used correctly, the time-averaged temperature and stress tensor of the particles will match the target values specified by -Tstart/Tstop and Pstart/Pstop. -

    -

    The operation of these fixes is exactly like that described by the -fix nvt, npt, and nph commands, except that the radius +Tstart/Tstop and Pstart/Pstop.

    +

    The operation of these fixes is exactly like that described by the +fix nvt, npt, and nph commands, except that the radius and radial velocity of electrons are also updated. Likewise the temperature and pressure calculated by the fix, using the computes it -creates (as discussed in the fix nvt, npt, and nph +creates (as discussed in the fix nvt, npt, and nph doc page), are performed with computes that include the eFF contribution -to the temperature or kinetic energy from the electron radial velocity. -

    -

    IMPORTANT NOTE: there are two different pressures that can be reported -for eFF when defining the pair_style (see pair -eff/cut to understand these settings), one +to the temperature or kinetic energy from the electron radial velocity.

    +
    +

    Warning

    +

    there are two different pressures that can be reported +for eFF when defining the pair_style (see pair eff/cut to understand these settings), one (default) that considers electrons do not contribute radial virial -components (i.e. electrons treated as incompressible 'rigid' spheres) +components (i.e. electrons treated as incompressible ‘rigid’ spheres) and one that does. The radial electronic contributions to the virials are only tallied if the flexible pressure option is set, and this will affect both global and per-atom quantities. In principle, the true @@ -94,65 +213,118 @@ pressure of a system is somewhere in between the rigid and the flexible eFF pressures, but, for most cases, the difference between these two pressures will not be significant over long-term averaged runs (i.e. even though the energy partitioning changes, the total -energy remains similar). -

    -

    IMPORTANT NOTE: currently, there is no available option for the user +energy remains similar).

    +
    +
    +

    Warning

    +

    currently, there is no available option for the user to set or create temperature distributions that include the radial -electronic degrees of freedom with the velocity +electronic degrees of freedom with the velocity command, so the the user must allow for these degrees of freedom to equilibrate (i.e. equi-partitioning of energy) through time -integration. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    See the doc page for the fix nvt, npt, and nph commands -for details. -

    -

    Restrictions: -

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Other restriction discussed on the doc page for the fix nvt, npt, and -nph commands also apply. -

    -

    IMPORTANT NOTE: The temperature for systems (regions or groups) with +integration.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    See the doc page for the fix nvt, npt, and nph commands +for details.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Other restriction discussed on the doc page for the fix nvt, npt, and nph commands also apply.

    +
    +

    Warning

    +

    The temperature for systems (regions or groups) with only electrons and no nuclei is 0.0 (i.e. not defined) in the current temperature calculations, a practical example would be a uniform electron gas or a very hot plasma, where electrons remain delocalized from the nuclei. This is because, even though electron virials are included in the temperature calculation, these are averaged over the nuclear degrees of freedom only. In such cases a corrective term must -be added to the pressure to get the correct kinetic contribution. -

    -

    Related commands: -

    -

    fix nvt, fix nph, fix npt, -fix_modify, run_style -

    -

    Default: -

    -

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = -ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none. -

    -
    +be added to the pressure to get the correct kinetic contribution.

    +
    +
    + +
    +

    Default¶

    +

    The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = +ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none.

    +
    +

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).

    +

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

    +

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and +Martyna, J Phys A: Math Gen, 39, 5629 (2006).

    +

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    +
    + - -

    (Martyna) Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). -

    - + + +
    + -

    (Parrinello) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). -

    - +
    -

    (Tuckerman) Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nph_asphere.html b/doc/fix_nph_asphere.html index a6022e235e..811e03526d 100644 --- a/doc/fix_nph_asphere.html +++ b/doc/fix_nph_asphere.html @@ -1,159 +1,315 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nph/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nph/asphere command -

    -

    fix nph/asphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nph/asphere args keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nph/asphere = style name of this fix command -
    • additional barostat related keyword/value pairs from the fix nph command can be appended -
    -

    Examples: -

    -
    fix 1 all nph/asphere iso 0.0 0.0 1000.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nph/asphere command¶

    +
    +
    +

    fix nph/asphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nph/asphere args keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nph/asphere = style name of this fix command
    • +
    • additional barostat related keyword/value pairs from the fix nph command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nph/asphere iso 0.0 0.0 1000.0
     fix 2 all nph/asphere x 5.0 5.0 1000.0
     fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial 
    -
    -

    Description: -

    -

    Perform constant NPH integration to update position, velocity, +fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial +

    + + +
    +

    Description¶

    +

    Perform constant NPH integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover pressure barostat. P is pressure; H is enthalpy. This creates a system -trajectory consistent with the isenthalpic ensemble. -

    -

    This fix differs from the fix nph command, which assumes -point particles and only updates their position and velocity. -

    -

    Additional parameters affecting the barostat are specified by keywords -and values documented with the fix nph command. See, -for example, discussion of the aniso, and dilate keywords. -

    -

    The particles in the fix group are the only ones whose velocities and +trajectory consistent with the isenthalpic ensemble.

    +

    This fix differs from the fix nph command, which assumes +point particles and only updates their position and velocity.

    +

    Additional parameters affecting the barostat are specified by keywords +and values documented with the fix nph command. See, +for example, discussion of the aniso, and dilate keywords.

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPH integration. -

    -

    Regardless of what particles are in the fix group, a global pressure is +NPH integration.

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. -

    -
    - -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/asphere" and -"pressure", as if these commands had been issued: -

    -
    compute fix-ID_temp all temp/asphere
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp/asphere and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +unchanged and controlling the pressure of a surrounding fluid.

    +
    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp/asphere” and +“pressure”, as if these commands had been issued:

    +
    compute fix-ID_temp all temp/asphere
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp/asphere and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is “all” +since pressure is computed for the entire system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover barostat to binary -restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover barostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp and press options are +uninterrupted fashion.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. -

    -

    The fix_modify energy option is supported by this +on a subset of atoms.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nph command. -

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nph command.

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    fix nph, fix nve_asphere, fix -nvt_asphere, fix -npt_asphere, fix_modify -

    -

    Default: none -

    - +shape attribute.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nph_sphere.html b/doc/fix_nph_sphere.html index f1b4ef9fcc..0c768bcf34 100644 --- a/doc/fix_nph_sphere.html +++ b/doc/fix_nph_sphere.html @@ -1,154 +1,313 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nph/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nph/sphere command -

    -

    fix nph/sphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nph/sphere args keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nph/sphere = style name of this fix command -
    • additional barostat related keyword/value pairs from the fix nph command can be appended -
    -

    Examples: -

    -
    fix 1 all nph/sphere iso 0.0 0.0 1000.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nph/sphere command¶

    +
    +
    +

    fix nph/sphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nph/sphere args keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nph/sphere = style name of this fix command
    • +
    • additional barostat related keyword/value pairs from the fix nph command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nph/sphere iso 0.0 0.0 1000.0
     fix 2 all nph/sphere x 5.0 5.0 1000.0
     fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial 
    -
    -

    Description: -

    -

    Perform constant NPH integration to update position, velocity, and +fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial +

    + + +
    +

    Description¶

    +

    Perform constant NPH integration to update position, velocity, and angular velocity each timestep for finite-size spherical particles in the group using a Nose/Hoover pressure barostat. P is pressure; H is enthalpy. This creates a system trajectory consistent with the -isenthalpic ensemble. -

    -

    This fix differs from the fix nph command, which assumes -point particles and only updates their position and velocity. -

    -

    Additional parameters affecting the barostat are specified by keywords -and values documented with the fix nph command. See, -for example, discussion of the aniso, and dilate keywords. -

    -

    The particles in the fix group are the only ones whose velocities and +isenthalpic ensemble.

    +

    This fix differs from the fix nph command, which assumes +point particles and only updates their position and velocity.

    +

    Additional parameters affecting the barostat are specified by keywords +and values documented with the fix nph command. See, +for example, discussion of the aniso, and dilate keywords.

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPH integration. -

    -

    Regardless of what particles are in the fix group, a global pressure is +NPH integration.

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. -

    -
    - -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/sphere" and -"pressure", as if these commands had been issued: -

    -
    compute fix-ID_temp all temp/sphere
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp/sphere and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +unchanged and controlling the pressure of a surrounding fluid.

    +
    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp/sphere” and +“pressure”, as if these commands had been issued:

    +
    compute fix-ID_temp all temp/sphere
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp/sphere and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is “all” +since pressure is computed for the entire system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover barostat to binary -restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover barostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp and press options are +uninterrupted fashion.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. -

    -

    The fix_modify energy option is supported by this +on a subset of atoms.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nph command. -

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. -

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles. -

    -

    Related commands: -

    -

    fix nph, fix nve_sphere, fix -nvt_sphere, fix npt_sphere, -fix_modify -

    -

    Default: none -

    - +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nph command.

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command.

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nphug.html b/doc/fix_nphug.html index 9fb2140e7f..0747c9e095 100644 --- a/doc/fix_nphug.html +++ b/doc/fix_nphug.html @@ -1,239 +1,393 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nphug command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nphug command -

    -

    fix nphug/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nphug keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
      one or more keyword value pairs may be appended
      -keyword = temp or iso or aniso or tri or x or y or z or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy
      -  temp values = Value1 Value2 Tdamp
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix nphug command¶

      +
      +
      +

      fix nphug/omp command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID nphug keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      +
      +one or more keyword value pairs may be appended
      +keyword = temp or iso or aniso or tri or x or y or z or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy
      +  temp values = Value1 Value2 Tdamp
           Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso or tri values = Pstart Pstop Pdamp
      +  iso or aniso or tri values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressures, must be equal (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
      +  x or y or z or xy or yz or xz values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor components, must be equal (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tchain value = length of thermostat chain (1 = single thermostat)
      -  pchain values = length of thermostat chain on barostat (0 = no thermostat)
      -  mtk value = yes or no = add in MTK adjustment term or not
      -  tloop value = number of sub-cycles to perform on thermostat
      -  ploop value = number of sub-cycles to perform on barostat thermostat
      -  nreset value = reset reference cell every this many timesteps
      -  drag value = drag factor added to barostat/thermostat (0.0 = no drag)
      -  dilate value = all or partial
      -  scaleyz value = yes or no = scale yz with lz
      -  scalexz value = yes or no = scale xz with lz
      -  scalexy value = yes or no = scale xy with ly 
      -
      - -
    -

    Examples: -

    -
    fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
    -fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 
    -
    -

    Description: -

    -

    This command is a variant of the Nose-Hoover -fix npt fix style. + couple = none or xyz or xy or yz or xz + tchain value = length of thermostat chain (1 = single thermostat) + pchain values = length of thermostat chain on barostat (0 = no thermostat) + mtk value = yes or no = add in MTK adjustment term or not + tloop value = number of sub-cycles to perform on thermostat + ploop value = number of sub-cycles to perform on barostat thermostat + nreset value = reset reference cell every this many timesteps + drag value = drag factor added to barostat/thermostat (0.0 = no drag) + dilate value = all or partial + scaleyz value = yes or no = scale yz with lz + scalexz value = yes or no = scale xz with lz + scalexy value = yes or no = scale xy with ly + +

    +
    +

    Examples¶

    +
    fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
    +fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0
    +
    +
    +
    +
    +

    Description¶

    +

    This command is a variant of the Nose-Hoover +fix npt fix style. It performs time integration of the Hugoniostat equations -of motion developed by Ravelo et al. (Ravelo). +of motion developed by Ravelo et al. (Ravelo). These equations compress the system to a state with average -axial stress or pressure equal to the specified target value +axial stress or pressure equal to the specified target value and that satisfies the Rankine-Hugoniot (RH) -jump conditions for steady shocks. -

    -

    The compression can be performed +jump conditions for steady shocks.

    +

    The compression can be performed either -hydrostatically (using keyword iso, aniso, or tri) or uniaxially -(using keywords x, y, or z). In the hydrostatic case, +hydrostatically (using keyword iso, aniso, or tri) or uniaxially +(using keywords x, y, or z). In the hydrostatic case, the cell dimensions change dynamically so that the average axial stress -in all three directions converges towards the specified target value. -In the uniaxial case, the chosen cell dimension changes dynamically +in all three directions converges towards the specified target value. +In the uniaxial case, the chosen cell dimension changes dynamically so that the average axial stress in that direction converges towards the target value. The -other two cell dimensions are kept fixed (zero lateral strain). -

    -

    This leads to the following additional restrictions on the keywords: -

    -
    • One and only one of the following keywords should be used: iso, aniso, tri, x, y, z -
    • The specified initial and final target pressures must be the same. -
    • The keywords xy, xz, yz may not be used. -
    • The only admissible value for the couple keyword is xyz, which has the same effect as keyword iso -
    • The temp keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored. -
    -

    Essentially, a Hugoniostat simulation is an NPT simulation in which the -user-specified target temperature is replaced with a time-dependent -target temperature Tt obtained from the following equation: -

    -
    -
    -

    where T and Tt are the instantaneous and target temperatures, +other two cell dimensions are kept fixed (zero lateral strain).

    +

    This leads to the following additional restrictions on the keywords:

    +
      +
    • One and only one of the following keywords should be used: iso, aniso, tri, x, y, z
    • +
    • The specified initial and final target pressures must be the same.
    • +
    • The keywords xy, xz, yz may not be used.
    • +
    • The only admissible value for the couple keyword is xyz, which has the same effect as keyword iso
    • +
    • The temp keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored.
    • +
    +

    Essentially, a Hugoniostat simulation is an NPT simulation in which the +user-specified target temperature is replaced with a time-dependent +target temperature Tt obtained from the following equation:

    +_images/fix_nphug.jpg +

    where T and Tt are the instantaneous and target temperatures, P and P0 are the instantaneous and reference pressures or axial stresses, -depending on whether hydrostatic or uniaxial compression is being +depending on whether hydrostatic or uniaxial compression is being performed, V and V0 are the instantaneous and reference volumes, E and E0 are the instantaneous and reference internal energy (potential plus kinetic), Ndof is the number of degrees of freedom used in the -definition of temperature, and kB is the Boltzmann constant. Delta is the +definition of temperature, and kB is the Boltzmann constant. Delta is the negative deviation of the instantaneous temperature from the target temperature. -When the system reaches a stable equilibrium, the value of Delta should -fluctuate about zero. -

    -

    The values of E0, V0, and P0 are the instantaneous values at the start of -the simulation. These can be overridden using the fix_modify keywords e0, -v0, and p0 described below. -

    -
    - -

    IMPORTANT NOTE: Unlike the fix -temp/berendsen command which performs +When the system reaches a stable equilibrium, the value of Delta should +fluctuate about zero.

    +

    The values of E0, V0, and P0 are the instantaneous values at the start of +the simulation. These can be overridden using the fix_modify keywords e0, +v0, and p0 described below.

    +
    +
    +

    Warning

    +

    Unlike the fix temp/berendsen command which performs thermostatting but NO time integration, this fix performs thermostatting/barostatting AND time integration. Thus you should not -use any other time integration fix, such as fix nve on -atoms to which this fix is applied. Likewise, this fix should not be -used on atoms that have their temperature controlled by another fix -- e.g. by fix langevin or fix temp/rescale -commands. -

    -
    - -

    This fix computes a temperature and pressure at each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if one of these two sets of commands had been issued: -

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp 
    -
    -
    compute fix-ID_temp all temp
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press". The group for -the new computes is "all" since pressure is computed for the entire -system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +use any other time integration fix, such as fix nve on +atoms to which this fix is applied. Likewise, this fix should not be +used on atoms that have their temperature controlled by another fix +- e.g. by fix langevin or fix temp/rescale +commands.

    +
    +
    +

    This fix computes a temperature and pressure at each timestep. To do +this, the fix creates its own computes of style “temp” and “pressure”, +as if one of these two sets of commands had been issued:

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp
    +
    +
    +
    compute fix-ID_temp all temp
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”. The group for +the new computes is “all” since pressure is computed for the entire +system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the values of E0, V0, and P0, as well as the +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the values of E0, V0, and P0, as well as the state of all the thermostat and barostat -variables to binary restart files. See the -read_restart command for info on how to re-specify +variables to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify e0, v0 and p0 keywords +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify e0, v0 and p0 keywords can be used to define the values of E0, V0, and P0. Note the -the values for e0 and v0 are extensive, and so must correspond -to the total energy and volume of the entire system, not energy and +the values for e0 and v0 are extensive, and so must correspond +to the total energy and volume of the entire system, not energy and volume per atom. If any of these quantities are not specified, then the -instantaneous value in the system at the start of the simulation is used. -

    -

    The fix_modify temp and press options are +instantaneous value in the system at the start of the simulation is used.

    +

    The fix_modify temp and press options are supported by these fixes. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. -

    -

    The fix_modify energy option is supported by these +compute temperature on a subset of atoms.

    +

    The fix_modify energy option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -thermodynamic output. Either way, this energy is *not* +and barostatting to the system’s potential energy as part of +thermodynamic output. Either way, this energy is not included in the definition of internal energy E when calculating the value -of Delta in the above equation. -

    -

    These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various output -commands. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". -

    -

    The scalar is the cumulative energy change due to the fix. -

    -

    The vector stores three quantities unique to this fix (Delta, Us, and up), +of Delta in the above equation.

    +

    These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various output commands. The scalar value calculated by +these fixes is “extensive”; the vector values are “intensive”.

    +

    The scalar is the cumulative energy change due to the fix.

    +

    The vector stores three quantities unique to this fix (Delta, Us, and up), followed by all the internal Nose/Hoover thermostat and barostat -variables defined for fix_style npt. Delta is the deviation +variables defined for fix_style npt. Delta is the deviation of the temperature from the target temperature, given by the above equation. Us and up are the shock and particle velocity corresponding to a steady -shock calculated from the RH conditions. They have units of distance/time. -

    -

    Restrictions: -

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    All the usual restrictions for fix_style npt apply, -plus the additional ones mentioned above. -

    -

    Related commands: -

    -

    fix msst, fix npt, fix_modify -

    -

    Default: -

    -

    The keyword defaults are the same as those for fix npt -

    -
    +shock calculated from the RH conditions. They have units of distance/time.

    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    All the usual restrictions for fix_style npt apply, +plus the additional ones mentioned above.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are the same as those for fix npt

    +
    +

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).

    +
    + - -

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_npt_asphere.html b/doc/fix_npt_asphere.html index f98e64f146..ec2e458b07 100644 --- a/doc/fix_npt_asphere.html +++ b/doc/fix_npt_asphere.html @@ -1,183 +1,338 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix npt/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix npt/asphere command -

    -

    fix npt/asphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID npt/asphere keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • npt/asphere = style name of this fix command -
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended -
    -

    Examples: -

    -
    fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix npt/asphere command¶

    +
    +
    +

    fix npt/asphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID npt/asphere keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • npt/asphere = style name of this fix command
    • +
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
     fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial 
    -
    -

    Description: -

    -

    Perform constant NPT integration to update position, velocity, +fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial +

    + + +
    +

    Description¶

    +

    Perform constant NPT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the -isothermal-isobaric ensemble. -

    -

    This fix differs from the fix npt command, which -assumes point particles and only updates their position and velocity. -

    -

    The thermostat is applied to both the translational and rotational +isothermal-isobaric ensemble.

    +

    This fix differs from the fix npt command, which +assumes point particles and only updates their position and velocity.

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the fix -npt command. See, for example, discussion of the temp, -iso, aniso, and dilate keywords. -

    -

    The particles in the fix group are the only ones whose velocities and +takes place; see the description below.

    +

    Additional parameters affecting the thermostat and barostat are +specified by keywords and values documented with the fix npt command. See, for example, discussion of the temp, +iso, aniso, and dilate keywords.

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPT integration. -

    -

    Regardless of what particles are in the fix group, a global pressure is +NPT integration.

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. -

    -
    - -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/asphere" and -"pressure", as if these commands had been issued: -

    -
    compute fix-ID_temp all temp/asphere
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp/asphere and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +unchanged and controlling the pressure of a surrounding fluid.

    +
    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp/asphere” and +“pressure”, as if these commands had been issued:

    +
    compute fix-ID_temp all temp/asphere
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp/asphere and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is “all” +since pressure is computed for the entire system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat and barostat -to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat and barostat +to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. -

    -

    The fix_modify energy option is supported by this +on a subset of atoms.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -thermodynamic output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix npt command. -

    -

    This fix can ramp its target temperature and pressure over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +barostatting to the system’s potential energy as part of +thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix npt command.

    +

    This fix can ramp its target temperature and pressure over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    fix npt, fix nve_asphere, fix -nvt_asphere, fix_modify -

    -

    Default: none -

    - +shape attribute.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_npt_sphere.html b/doc/fix_npt_sphere.html index ff49496068..5f3e4eea1e 100644 --- a/doc/fix_npt_sphere.html +++ b/doc/fix_npt_sphere.html @@ -1,178 +1,334 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix npt/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix npt/sphere command -

    -

    fix npt/sphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID npt/sphere keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • npt/sphere = style name of this fix command -
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended -
    -

    Examples: -

    -
    fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix npt/sphere command¶

    +
    +
    +

    fix npt/sphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID npt/sphere keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • npt/sphere = style name of this fix command
    • +
    • additional thermostat and barostat related keyword/value pairs from the fix npt command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
     fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
     fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
    -fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial 
    -
    -

    Description: -

    -

    Perform constant NPT integration to update position, velocity, and +fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial +

    + + +
    +

    Description¶

    +

    Perform constant NPT integration to update position, velocity, and angular velocity each timestep for finite-sizex spherical particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a -system trajectory consistent with the isothermal-isobaric ensemble. -

    -

    This fix differs from the fix npt command, which -assumes point particles and only updates their position and velocity. -

    -

    The thermostat is applied to both the translational and rotational +system trajectory consistent with the isothermal-isobaric ensemble.

    +

    This fix differs from the fix npt command, which +assumes point particles and only updates their position and velocity.

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the fix -npt command. See, for example, discussion of the temp, -iso, aniso, and dilate keywords. -

    -

    The particles in the fix group are the only ones whose velocities and +takes place; see the description below.

    +

    Additional parameters affecting the thermostat and barostat are +specified by keywords and values documented with the fix npt command. See, for example, discussion of the temp, +iso, aniso, and dilate keywords.

    +

    The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the -NPT integration. -

    -

    Regardless of what particles are in the fix group, a global pressure is +NPT integration.

    +

    Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. -

    -
    - -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/sphere" and -"pressure", as if these commands had been issued: -

    -
    compute fix-ID_temp all temp/sphere
    -compute fix-ID_press all pressure fix-ID_temp 
    -
    -

    See the compute temp/sphere and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +unchanged and controlling the pressure of a surrounding fluid.

    +
    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp/sphere” and +“pressure”, as if these commands had been issued:

    +
    compute fix-ID_temp all temp/sphere
    +compute fix-ID_press all pressure fix-ID_temp
    +
    +
    +

    See the compute temp/sphere and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is “all” +since pressure is computed for the entire system.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat and barostat -to binary restart files. See the -read_restart command for info on how to re-specify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat and barostat +to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify temp and press options are +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. -

    -

    The fix_modify energy option is supported by this +on a subset of atoms.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -thermodynamic output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix npt command. -

    -

    This fix can ramp its target temperature and pressure over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. -

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles. -

    -

    Related commands: -

    -

    fix npt, fix nve_sphere, fix -nvt_sphere, fix -npt_asphere, fix_modify -

    -

    Default: none -

    - +barostatting to the system’s potential energy as part of +thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix npt command.

    +

    This fix can ramp its target temperature and pressure over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command.

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve.html b/doc/fix_nve.html index fbb4520858..290eaa84eb 100644 --- a/doc/fix_nve.html +++ b/doc/fix_nve.html @@ -1,81 +1,260 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve command -

    -

    fix nve/cuda command -

    -

    fix nve/kk command -

    -

    fix nve/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nve 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position and velocity for + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve command¶

    +
    +
    +

    fix nve/cuda command¶

    +
    +
    +

    fix nve/kk command¶

    +
    +
    +

    fix nve/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position and velocity for atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical -ensemble. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +ensemble.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix nvt, fix npt -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_asphere.html b/doc/fix_nve_asphere.html index 8b5ea4a3f5..9c0b70dfa1 100644 --- a/doc/fix_nve_asphere.html +++ b/doc/fix_nve_asphere.html @@ -1,65 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/asphere command -

    -

    Syntax: -

    -
    fix ID group-ID nve/asphere 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/asphere = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve/asphere 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position, velocity, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/asphere command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/asphere
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/asphere = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/asphere
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for aspherical particles in the group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. -

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +trajectory consistent with the microcanonical ensemble.

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    fix nve, fix nve/sphere -

    -

    Default: none -

    - +shape attribute.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_asphere_noforce.html b/doc/fix_nve_asphere_noforce.html index 4dd6f31ad6..d3dd0e2f96 100644 --- a/doc/fix_nve_asphere_noforce.html +++ b/doc/fix_nve_asphere_noforce.html @@ -1,70 +1,243 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/asphere/noforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/asphere/noforce command -

    -

    Syntax: -

    -
    fix ID group-ID nve/asphere/noforce 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/asphere/noforce = style name of this fix command -
    -

    Examples: -

    -

    fix 1 all nve/asphere/noforce -

    -

    Description: -

    -

    Perform updates of position and orientation, but not velocity or + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/asphere/noforce command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/asphere/noforce
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/asphere/noforce = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +

    fix 1 all nve/asphere/noforce

    +
    +
    +

    Description¶

    +

    Perform updates of position and orientation, but not velocity or angular momentum for atoms in the group each timestep. In other words, the force and torque on the atoms is ignored and their velocity and angular momentum are not updated. The atom velocities and -angularm momenta are used to update their positions and orientation. -

    -

    This is useful as an implicit time integrator for Fast Lubrication +angularm momenta are used to update their positions and orientation.

    +

    This is useful as an implicit time integrator for Fast Lubrication Dynamics, since the velocity and angular momentum are updated by the -pair_style lubricuteU command. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +pair_style lubricuteU command.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    fix nve/noforce, fix -nve/asphere -

    -

    Default: none -

    - +shape attribute.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_body.html b/doc/fix_nve_body.html index fc7fe3dd6a..c8d75841a4 100644 --- a/doc/fix_nve_body.html +++ b/doc/fix_nve_body.html @@ -1,67 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/body command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/body command -

    -

    Syntax: -

    -
    fix ID group-ID nve/body 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/body = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve/body 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position, velocity, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/body command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/body
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/body = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/body
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for body particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See Section_howto -14 of the manual and the body -doc page for more details on using body particles. -

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +consistent with the microcanonical ensemble. See Section_howto 14 of the manual and the body +doc page for more details on using body particles.

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style body -command. -

    -

    All particles in the group must be body particles. They cannot be -point particles. -

    -

    Related commands: -

    -

    fix nve, fix nve/sphere, fix -nve/asphere -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style body +command.

    +

    All particles in the group must be body particles. They cannot be +point particles.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_eff.html b/doc/fix_nve_eff.html index 80b1509242..9713082723 100644 --- a/doc/fix_nve_eff.html +++ b/doc/fix_nve_eff.html @@ -1,59 +1,235 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/eff command -

    -

    Syntax: -

    -
    fix ID group-ID nve/eff 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/eff = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve/eff 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position and velocity for -nuclei and electrons in the group for the electron force -field model. V is volume; E is energy. This creates a -system trajectory consistent with the microcanonical ensemble. -

    -

    The operation of this fix is exactly like that described by the fix -nve command, except that the radius and radial velocity -of electrons are also updated. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/eff command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/eff
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/eff = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/eff
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position and velocity for +nuclei and electrons in the group for the electron force field model. V is volume; E is energy. This creates a +system trajectory consistent with the microcanonical ensemble.

    +

    The operation of this fix is exactly like that described by the fix nve command, except that the radius and radial velocity +of electrons are also updated.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix nve, fix nvt/eff, fix -npt/eff -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_limit.html b/doc/fix_nve_limit.html index 13b40bb9e6..ddd641e83d 100644 --- a/doc/fix_nve_limit.html +++ b/doc/fix_nve_limit.html @@ -1,91 +1,273 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/limit command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/limit command -

    -

    Syntax: -

    -
    fix ID group-ID nve/limit xmax 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve = style name of this fix command -
    • xmax = maximum distance an atom can move in one timestep (distance units) -
    -

    Examples: -

    -
    fix 1 all nve/limit 0.1 
    -
    -

    Description: -

    -

    Perform constant NVE updates of position and velocity for atoms in the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/limit command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/limit xmax
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve = style name of this fix command
    • +
    • xmax = maximum distance an atom can move in one timestep (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/limit 0.1
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE updates of position and velocity for atoms in the group each timestep. A limit is imposed on the maximum distance an atom can move in one timestep. This is useful when starting a simulation with a configuration containing highly overlapped atoms. Normally this would generate huge forces which would blow atoms out of -the simulation box, causing LAMMPS to stop with an error. -

    -

    Using this fix can overcome that problem. Forces on atoms must still +the simulation box, causing LAMMPS to stop with an error.

    +

    Using this fix can overcome that problem. Forces on atoms must still be computable (which typically means 2 atoms must have a separation -distance > 0.0). But large velocities generated by large forces are -reset to a value that corresponds to a displacement of length xmax -in a single timestep. Xmax is specified in distance units; see the -units command for details. The value of xmax should be +distance > 0.0). But large velocities generated by large forces are +reset to a value that corresponds to a displacement of length xmax +in a single timestep. Xmax is specified in distance units; see the +units command for details. The value of xmax should be consistent with the neighbor skin distance and the frequency of neighbor list re-building, so that pairwise interactions are not missed on successive timesteps as atoms move. See the -neighbor and neigh_modify commands -for details. -

    -

    Note that if a velocity reset occurs the integrator will not conserve +neighbor and neigh_modify commands +for details.

    +

    Note that if a velocity reset occurs the integrator will not conserve energy. On steps where no velocity resets occur, this integrator is -exactly like the fix nve command. Since forces are +exactly like the fix nve command. Since forces are unaltered, pressures computed by thermodynamic output will still be -very large for overlapped configurations. -

    -

    IMPORTANT NOTE: You should not use fix shake in +very large for overlapped configurations.

    +
    +

    Warning

    +

    You should not use fix shake in conjunction with this fix. That is because fix shake applies contraint forces based on the predicted postitions of atoms after the next timestep. It has no way of knowing the timestep may change due to this fix, which will cause the constraint forces to be invalid. A better strategy is to turn off fix shake when performing initial dynamics that need this fix, then turn fix shake on when doing normal -dynamics with a fixed-size timestep. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -count of how many updates of atom's velocity/position were limited by +dynamics with a fixed-size timestep.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +count of how many updates of atom’s velocity/position were limited by the maximum distance criterion. This should be roughly the number of atoms so affected, except that updates occur at both the beginning and end of a timestep in a velocity Verlet timestepping algorithm. This is a cumulative quantity for the current run, but is re-initialized to zero each time a run is performed. The scalar value calculated by -this fix is "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix nve, fix nve/noforce, -pair_style soft -

    -

    Default: none -

    - +this fix is “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_line.html b/doc/fix_nve_line.html index 9b18cfeaa3..a72d77cb93 100644 --- a/doc/fix_nve_line.html +++ b/doc/fix_nve_line.html @@ -1,62 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/line command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/line command -

    -

    Syntax: -

    -
    fix ID group-ID nve/line 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/line = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve/line 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position, velocity, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/line command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/line
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/line = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/line
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular velocity for line segment particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. See -Section_howto 14 of the manual for an overview of -using line segment particles. -

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +Section_howto 14 of the manual for an overview of +using line segment particles.

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that particles be line segments as defined by the -atom_style line command. -

    -

    Related commands: -

    -

    fix nve, fix nve/asphere -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that particles be line segments as defined by the +atom_style line command.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_noforce.html b/doc/fix_nve_noforce.html index 8150e5668a..b3001f574a 100644 --- a/doc/fix_nve_noforce.html +++ b/doc/fix_nve_noforce.html @@ -1,59 +1,241 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/noforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/noforce command -

    -

    Syntax: -

    -
    fix ID group-ID nve 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/noforce = style name of this fix command -
    -

    Examples: -

    -
    fix 3 wall nve/noforce 
    -
    -

    Description: -

    -

    Perform updates of position, but not velocity for atoms in the group + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/noforce command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/noforce = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 3 wall nve/noforce
    +
    +
    +
    +
    +

    Description¶

    +

    Perform updates of position, but not velocity for atoms in the group each timestep. In other words, the force on the atoms is ignored and their velocity is not updated. The atom velocities are used to update -their positions. -

    -

    This can be useful for wall atoms, when you set their velocities, and -want the wall to move (or stay stationary) in a prescribed fashion. -

    -

    This can also be accomplished via the fix setforce +their positions.

    +

    This can be useful for wall atoms, when you set their velocities, and +want the wall to move (or stay stationary) in a prescribed fashion.

    +

    This can also be accomplished via the fix setforce command, but with fix nve/noforce, the forces on the wall atoms are -unchanged, and can thus be printed by the dump command or -queried with an equal-style variable that uses the -fcm() group function to compute the total force on the group of atoms. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +unchanged, and can thus be printed by the dump command or +queried with an equal-style variable that uses the +fcm() group function to compute the total force on the group of atoms.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix nve -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_sphere.html b/doc/fix_nve_sphere.html index 4ac5df95aa..5af499e48a 100644 --- a/doc/fix_nve_sphere.html +++ b/doc/fix_nve_sphere.html @@ -1,106 +1,273 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/sphere command -

    -

    fix nve/sphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nve/sphere 
    -
    -
    • ID, group-ID are documented in fix command - -
    • nve/sphere = style name of this fix command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = update - -
        update value = dipole
      -    dipole = update orientation of dipole moment during integration 
      -
      - -
    -

    Examples: -

    -
    fix 1 all nve/sphere
    -fix 1 all nve/sphere update dipole 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position, velocity, and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/sphere command¶

    +
    +
    +

    fix nve/sphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/sphere
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/sphere = style name of this fix command
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = update
    • +
    +
    +update value = dipole
    +    dipole = update orientation of dipole moment during integration
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/sphere
    +fix 1 all nve/sphere update dipole
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position, velocity, and angular velocity for finite-size spherical particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. -

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity. -

    -

    If the update keyword is used with the dipole value, then the +consistent with the microcanonical ensemble.

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity.

    +

    If the update keyword is used with the dipole value, then the orientation of the dipole moment of each particle is also updated during the time integration. This option should be used for models where a dipole moment is assigned to particles via use of the -atom_style dipole command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +atom_style dipole command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. If the dipole keyword is used, then they must also store a -dipole moment as defined by the atom_style dipole -command. -

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles. -

    -

    Related commands: -

    -

    fix nve, fix nve/asphere -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command. If the dipole keyword is used, then they must also store a +dipole moment as defined by the atom_style dipole +command.

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nve_tri.html b/doc/fix_nve_tri.html index de9d25b43f..75682b61f4 100644 --- a/doc/fix_nve_tri.html +++ b/doc/fix_nve_tri.html @@ -1,62 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nve/tri command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nve/tri command -

    -

    Syntax: -

    -
    fix ID group-ID nve/tri 
    -
    -
    • ID, group-ID are documented in fix command -
    • nve/tri = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all nve/tri 
    -
    -

    Description: -

    -

    Perform constant NVE integration to update position, velocity, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nve/tri command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nve/tri
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nve/tri = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve/tri
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVE integration to update position, velocity, orientation, and angular momentum for triangular particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. See -Section_howto 14 of the manual for an overview of -using triangular particles. -

    -

    This fix differs from the fix nve command, which -assumes point particles and only updates their position and velocity. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +Section_howto 14 of the manual for an overview of +using triangular particles.

    +

    This fix differs from the fix nve command, which +assumes point particles and only updates their position and velocity.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that particles be triangles as defined by the -atom_style tri command. -

    -

    Related commands: -

    -

    fix nve, fix nve/asphere -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that particles be triangles as defined by the +atom_style tri command.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nvt_asphere.html b/doc/fix_nvt_asphere.html index 6320f401b0..b03a169f89 100644 --- a/doc/fix_nvt_asphere.html +++ b/doc/fix_nvt_asphere.html @@ -1,159 +1,317 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt/asphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt/asphere command -

    -

    fix nvt/asphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nvt/asphere keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nvt/asphere = style name of this fix command -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended -
    -

    Examples: -

    -
    fix 1 all nvt/asphere temp 300.0 300.0 100.0
    -fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 
    -
    -

    Description: -

    -

    Perform constant NVT integration to update position, velocity, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nvt/asphere command¶

    +
    +
    +

    fix nvt/asphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nvt/asphere keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nvt/asphere = style name of this fix command
    • +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt/asphere temp 300.0 300.0 100.0
    +fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. -

    -

    This fix differs from the fix nvt command, which -assumes point particles and only updates their position and velocity. -

    -

    The thermostat is applied to both the translational and rotational +trajectory consistent with the canonical ensemble.

    +

    This fix differs from the fix nvt command, which +assumes point particles and only updates their position and velocity.

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords. -

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/asphere", as if this command -had been issued: -

    -
    compute fix-ID_temp group-ID temp/asphere 
    -
    -

    See the compute temp/asphere command for +takes place; see the description below.

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords.

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style “temp/asphere”, as if this command +had been issued:

    +
    compute fix-ID_temp group-ID temp/asphere
    +
    +
    +

    See the compute temp/asphere command for details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +underscore + “temp”, and the group for the new compute is the same as +the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat to binary -restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure. -

    -

    The fix_modify energy option is supported by this +procedure.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires that atoms store torque and angular momementum and a -quaternion as defined by the atom_style ellipsoid -command. -

    -

    All particles in the group must be finite-size. They cannot be point +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the ASPHERE package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires that atoms store torque and angular momementum and a +quaternion as defined by the atom_style ellipsoid +command.

    +

    All particles in the group must be finite-size. They cannot be point particles, but they can be aspherical or spherical as defined by their -shape attribute. -

    -

    Related commands: -

    -

    fix nvt, fix nve_asphere, fix -npt_asphere, fix_modify -

    -

    Default: none -

    - +shape attribute.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nvt_sllod.html b/doc/fix_nvt_sllod.html index b4bca0eaf4..f9a0a4e91d 100644 --- a/doc/fix_nvt_sllod.html +++ b/doc/fix_nvt_sllod.html @@ -1,52 +1,172 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt/sllod command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt/sllod command -

    -

    fix nvt/sllod/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nvt/sllod keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nvt/sllod = style name of this fix command -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended -
    -

    Examples: -

    -
    fix 1 all nvt/sllod temp 300.0 300.0 100.0
    -fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 
    -
    -

    Description: -

    -

    Perform constant NVT integration to update positions and velocities + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nvt/sllod command¶

    +
    +
    +

    fix nvt/sllod/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nvt/sllod keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nvt/sllod = style name of this fix command
    • +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt/sllod temp 300.0 300.0 100.0
    +fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. -

    -

    This thermostat is used for a simulation box that is changing size +trajectory consistent with the canonical ensemble.

    +

    This thermostat is used for a simulation box that is changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. -The size/shape change is induced by use of the fix -deform command, so each point in the simulation box -can be thought of as having a "streaming" velocity. This -position-dependent streaming velocity is subtracted from each atom's +The size/shape change is induced by use of the fix deform command, so each point in the simulation box +can be thought of as having a “streaming” velocity. This +position-dependent streaming velocity is subtracted from each atom’s actual velocity to yield a thermal velocity which is used for temperature computation and thermostatting. For example, if the box is being sheared in x, relative to y, then points at the bottom of the box (low y) have a small x velocity, while points at the top of the box (hi y) have a large x velocity. These velocities do not -contribute to the thermal "temperature" of the atom. -

    -

    IMPORTANT NOTE: Fix deform has an option for +contribute to the thermal “temperature” of the atom.

    +
    +

    Warning

    +

    Fix deform has an option for remapping either atom coordinates or velocities to the changing simulation box. To use fix nvt/sllod, fix deform should NOT remap atom positions, because fix nvt/sllod adjusts the atom positions and @@ -54,134 +174,168 @@ velocities to create a velocity profile that matches the changing box size/shape. Fix deform SHOULD remap atom velocities when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will give an -error if this setting is not consistent. -

    -

    The SLLOD equations of motion, originally proposed by Hoover and Ladd -(see (Evans and Morriss)), were proven to be equivalent to -Newton's equations of motion for shear flow by (Evans and -Morriss). They were later shown to generate the desired +error if this setting is not consistent.

    +
    +

    The SLLOD equations of motion, originally proposed by Hoover and Ladd +(see (Evans and Morriss)), were proven to be equivalent to +Newton’s equations of motion for shear flow by (Evans and Morriss). They were later shown to generate the desired velocity gradient and the correct production of work by stresses for -all forms of homogeneous flow by (Daivis and Todd). As +all forms of homogeneous flow by (Daivis and Todd). As implemented in LAMMPS, they are coupled to a Nose/Hoover chain thermostat in a velocity Verlet formulation, closely following the -implementation used for the fix nvt command. -

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords. -

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/deform", as if this command had -been issued: -

    -
    compute fix-ID_temp group-ID temp/deform 
    -
    -

    See the compute temp/deform command for +implementation used for the fix nvt command.

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords.

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style “temp/deform”, as if this command had +been issued:

    +
    compute fix-ID_temp group-ID temp/deform
    +
    +
    +

    See the compute temp/deform command for details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +underscore + “temp”, and the group for the new compute is the same as +the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat to binary -restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure. -

    -

    The fix_modify energy option is supported by this +procedure.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix works best without Nose-Hoover chain thermostats, i.e. using +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor -equilibration. -

    -

    Related commands: -

    -

    fix nve, fix nvt, fix -temp/rescale, fix langevin, -fix_modify, compute -temp/deform -

    -

    Default: -

    -

    Same as fix nvt, except tchain = 1. -

    -
    +equilibration.

    +
    + +
    +

    Default¶

    +

    Same as fix nvt, except tchain = 1.

    +
    +

    (Evans and Morriss) Evans and Morriss, Phys Rev A, 30, 1528 (1984).

    +

    (Daivis and Todd) Daivis and Todd, J Chem Phys, 124, 194103 (2006).

    +
    +
    - -

    (Evans and Morriss) Evans and Morriss, Phys Rev A, 30, 1528 (1984). -

    - +
    +
    +
    + -

    (Daivis and Todd) Daivis and Todd, J Chem Phys, 124, 194103 (2006). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nvt_sllod_eff.html b/doc/fix_nvt_sllod_eff.html index 072b124356..ea6a034492 100644 --- a/doc/fix_nvt_sllod_eff.html +++ b/doc/fix_nvt_sllod_eff.html @@ -1,100 +1,264 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt/sllod/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt/sllod/eff command -

    -

    Syntax: -

    -
    fix ID group-ID nvt/sllod/eff keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nvt/sllod/eff = style name of this fix command -
    • additional thermostat related keyword/value pairs from the fix nvt/eff command can be appended -
    -

    Examples: -

    -
    fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1
    -fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2 
    -
    -

    Description: -

    -

    Perform constant NVT integration to update positions and velocities -each timestep for nuclei and electrons in the group for the electron -force field model, using a Nose/Hoover temperature + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nvt/sllod/eff command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nvt/sllod/eff keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nvt/sllod/eff = style name of this fix command
    • +
    • additional thermostat related keyword/value pairs from the fix nvt/eff command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1
    +fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVT integration to update positions and velocities +each timestep for nuclei and electrons in the group for the electron force field model, using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. -

    -

    The operation of this fix is exactly like that described by the fix -nvt/sllod command, except that the radius and +trajectory consistent with the canonical ensemble.

    +

    The operation of this fix is exactly like that described by the fix nvt/sllod command, except that the radius and radial velocity of electrons are also updated and thermostatted. Likewise the temperature calculated by the fix, using the compute it -creates (as discussed in the fix nvt, npt, and nph doc -page), is performed with a compute -temp/deform/eff commmand that includes +creates (as discussed in the fix nvt, npt, and nph doc +page), is performed with a compute temp/deform/eff commmand that includes the eFF contribution to the temperature from the electron radial -velocity. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat to binary -restart files. See the read_restart +velocity.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure. -

    -

    The fix_modify energy option is supported by this +procedure.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt/eff command. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix works best without Nose-Hoover chain thermostats, i.e. using +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt/eff command.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor -equilibration. -

    -

    Related commands: -

    -

    fix nve/eff, fix nvt/eff, fix -langevin/eff, fix -nvt/sllod, fix_modify, compute -temp/deform/eff -

    -

    Default: -

    -

    Same as fix nvt/eff, except tchain = 1. -

    -
    +equilibration.

    +
    + +
    +

    Default¶

    +

    Same as fix nvt/eff, except tchain = 1.

    +
    +

    (Tuckerman) Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, +106, 5615 (1997).

    +
    +
    - -

    (Tuckerman) Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, -106, 5615 (1997). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_nvt_sphere.html b/doc/fix_nvt_sphere.html index 574a1a04c4..8bf6671ec8 100644 --- a/doc/fix_nvt_sphere.html +++ b/doc/fix_nvt_sphere.html @@ -1,155 +1,314 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix nvt/sphere command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix nvt/sphere command -

    -

    fix nvt/sphere/omp command -

    -

    Syntax: -

    -
    fix ID group-ID nvt/sphere keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • nvt/sphere = style name of this fix command -
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended -
    -

    Examples: -

    -
    fix 1 all nvt/sphere temp 300.0 300.0 100.0
    -fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2 
    -
    -

    Description: -

    -

    Perform constant NVT integration to update position, velocity, and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix nvt/sphere command¶

    +
    +
    +

    fix nvt/sphere/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID nvt/sphere keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nvt/sphere = style name of this fix command
    • +
    • additional thermostat related keyword/value pairs from the fix nvt command can be appended
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nvt/sphere temp 300.0 300.0 100.0
    +fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2
    +
    +
    +
    +
    +

    Description¶

    +

    Perform constant NVT integration to update position, velocity, and angular velocity each timestep for finite-size spherical particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the -canonical ensemble. -

    -

    This fix differs from the fix nvt command, which -assumes point particles and only updates their position and velocity. -

    -

    The thermostat is applied to both the translational and rotational +canonical ensemble.

    +

    This fix differs from the fix nvt command, which +assumes point particles and only updates their position and velocity.

    +

    The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    Additional parameters affecting the thermostat are specified by -keywords and values documented with the fix nvt -command. See, for example, discussion of the temp and drag -keywords. -

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/sphere", as if this command -had been issued: -

    -
    compute fix-ID_temp group-ID temp/sphere 
    -
    -

    See the compute temp/sphere command for +takes place; see the description below.

    +

    Additional parameters affecting the thermostat are specified by +keywords and values documented with the fix nvt +command. See, for example, discussion of the temp and drag +keywords.

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style “temp/sphere”, as if this command +had been issued:

    +
    compute fix-ID_temp group-ID temp/sphere
    +
    +
    +

    See the compute temp/sphere command for details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +underscore + “temp”, and the group for the new compute is the same as +the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the state of the Nose/Hoover thermostat to binary -restart files. See the read_restart +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the state of the Nose/Hoover thermostat to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a compute you have +uninterrupted fashion.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting -procedure. -

    -

    The fix_modify energy option is supported by this +procedure.

    +

    The fix_modify energy option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes the same global scalar and global vector of -quantities as does the fix nvt command. -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the atom_style sphere -command. -

    -

    All particles in the group must be finite-size spheres. They cannot -be point particles. -

    -

    Related commands: -

    -

    fix nvt, fix nve_sphere, fix -nvt_asphere, fix -npt_sphere, fix_modify -

    -

    Default: none -

    - +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes the same global scalar and global vector of +quantities as does the fix nvt command.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix requires that atoms store torque and angular velocity (omega) +and a radius as defined by the atom_style sphere +command.

    +

    All particles in the group must be finite-size spheres. They cannot +be point particles.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_oneway.html b/doc/fix_oneway.html index 9b48b802b0..448c2f0dda 100644 --- a/doc/fix_oneway.html +++ b/doc/fix_oneway.html @@ -1,69 +1,244 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix oneway command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix oneway command -

    -

    Syntax: -

    -
    fix ID group-ID oneway N region-ID direction 
    -
    -
    • ID, group-ID are documented in fix command - -
    • oneway = style name of this fix command - -
    • N = apply this fix every this many timesteps - -
    • region-ID = ID of region where fix is active - -
    • direction = x or -x or y or -y or z or -z = coordinate and direction of the oneway constraint - - -
    -

    Examples: -

    -
    fix ions oneway 10 semi -x
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix oneway command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID oneway N region-ID direction
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • oneway = style name of this fix command
    • +
    • N = apply this fix every this many timesteps
    • +
    • region-ID = ID of region where fix is active
    • +
    • direction = x or -x or y or -y or z or -z = coordinate and direction of the oneway constraint
    • +
    +
    +
    +

    Examples¶

    +
    fix ions oneway 10 semi -x
     fix all oneway 1 left -z
    -fix all oneway 1 right z 
    -
    -

    Description: -

    -

    Enforce that particles in the group and in a given region can only -move in one direction. This is done by reversing a particle's +fix all oneway 1 right z +

    + + +
    +

    Description¶

    +

    Enforce that particles in the group and in a given region can only +move in one direction. This is done by reversing a particle’s velocity component, if it has the wrong sign in the specified dimension. The effect is that the particle moves in one direction -only. -

    -

    This can be used, for example, as a simple model of a semi-permeable -membrane, or as an implementation of Maxwell's demon. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +only.

    +

    This can be used, for example, as a simple model of a semi-permeable +membrane, or as an implementation of Maxwell’s demon.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix wall/reflect command -

    -

    Default: none -

    -
    +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html index f9d97dad88..fa445260e3 100644 --- a/doc/fix_orient_fcc.html +++ b/doc/fix_orient_fcc.html @@ -1,112 +1,220 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix orient/fcc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix orient/fcc command -

    -
    fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 
    -
    -
    • ID, group-ID are documented in fix command -
    • nstats = print stats every this many steps, 0 = never -
    • dir = 0/1 for which crystal is used as reference -
    • alat = fcc cubic lattice constant (distance units) -
    • dE = energy added to each atom (energy units) -
    • cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi -
    • file0,file1 = files that specify orientation of each grain -
    -

    Examples: -

    -
    fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec 
    -
    -

    Description: -

    -

    The fix applies an orientation-dependent force to atoms near a planar + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix orient/fcc command¶

    +
    fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • nstats = print stats every this many steps, 0 = never
    • +
    • dir = 0/1 for which crystal is used as reference
    • +
    • alat = fcc cubic lattice constant (distance units)
    • +
    • dE = energy added to each atom (energy units)
    • +
    • cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi
    • +
    • file0,file1 = files that specify orientation of each grain
    • +
    +
    +

    Examples¶

    +
    fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec
    +
    +
    +
    +
    +

    Description¶

    +

    The fix applies an orientation-dependent force to atoms near a planar grain boundary which can be used to induce grain boundary migration (in the direction perpendicular to the grain boundary plane). The motivation and explanation of this force and its application are -described in (Janssens). The force is only applied to -atoms in the fix group. -

    -

    The basic idea is that atoms in one grain (on one side of the +described in (Janssens). The force is only applied to +atoms in the fix group.

    +

    The basic idea is that atoms in one grain (on one side of the boundary) have a potential energy dE added to them. Atoms in the other grain have 0.0 potential energy added. Atoms near the boundary (whose neighbor environment is intermediate between the two grain orientations) have an energy between 0.0 and dE added. This creates an effective driving force to reduce the potential energy of atoms near the boundary by pushing them towards one of the grain -orientations. For dir = 1 and dE > 0, the boundary will thus move so +orientations. For dir = 1 and dE > 0, the boundary will thus move so that the grain described by file0 grows and the grain described by file1 shrinks. Thus this fix is designed for simulations of two-grain systems, either with one grain boundary and free surfaces parallel to the boundary, or a system with periodic boundary conditions and two equal and opposite grain boundaries. In either case, the entire system can displace during the simulation, and such motion should be -accounted for in measuring the grain boundary velocity. -

    -

    The potential energy added to atom I is given by these formulas -

    -
    -
    -

    which are fully explained in (Janssens). The order +accounted for in measuring the grain boundary velocity.

    +

    The potential energy added to atom I is given by these formulas

    +_images/fix_orient_fcc.jpg +

    which are fully explained in (Janssens). The order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. Rj is the vector from atom I to its neighbor J, and RIj is a vector in the reference (perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an atom coord from file 0/1. Equation (2) gives the expected value of the order parameter XiIJ in the other grain. Hi and lo cutoffs are defined in equations (3) and -(4), using the input parameters cutlo and cuthi as thresholds to +(4), using the input parameters cutlo and cuthi as thresholds to avoid adding grain boundary energy when the deviation in the order parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a perfect crystal). The added potential energy Ui for atom I is given in equation (6) where it is interpolated between 0 and dE using the -two threshold Xi values and the Wi value of equation (5). -

    -

    The derivative of this energy expression gives the force on each atom +two threshold Xi values and the Wi value of equation (5).

    +

    The derivative of this energy expression gives the force on each atom which thus depends on the orientation of its neighbors relative to the 2 grain orientations. Only atoms near the grain boundary feel a net -force which tends to drive them to one of the two grain orientations. -

    -

    In equation (1), the reference vector used for each neighbor is the +force which tends to drive them to one of the two grain orientations.

    +

    In equation (1), the reference vector used for each neighbor is the reference vector closest to the actual neighbor position. This means it is possible two different neighbors will use the same reference vector. In such cases, the atom in question is far from a perfect orientation and will likely receive the full dE addition, so the -effect of duplicate reference vector usage is small. -

    -

    The dir parameter determines which grain wants to grow at the +effect of duplicate reference vector usage is small.

    +

    The dir parameter determines which grain wants to grow at the expense of the other. A value of 0 means the first grain will shrink; -a value of 1 means it will grow. This assumes that dE is positive. -The reverse will be true if dE is negative. -

    -

    The alat parameter is the cubic lattice constant for the fcc +a value of 1 means it will grow. This assumes that dE is positive. +The reverse will be true if dE is negative.

    +

    The alat parameter is the cubic lattice constant for the fcc material and is only used to compute a cutoff distance of 1.57 * alat / sqrt(2) for finding the 12 nearest neighbors of each atom (which should be valid for an fcc crystal). A longer/shorter cutoff can be -imposed by adjusting alat. If a particular atom has less than 12 +imposed by adjusting alat. If a particular atom has less than 12 neighbors within the cutoff, the order parameter of equation (1) is effectively multiplied by 12 divided by the actual number of neighbors -within the cutoff. -

    -

    The dE parameter is the maximum amount of additional energy added to -each atom in the grain which wants to shrink. -

    -

    The cutlo and cuthi parameters are used to reduce the force added +within the cutoff.

    +

    The dE parameter is the maximum amount of additional energy added to +each atom in the grain which wants to shrink.

    +

    The cutlo and cuthi parameters are used to reduce the force added to bulk atoms in each grain far away from the boundary. An atom in the bulk surrounded by neighbors at the ideal grain orientation would compute an order parameter of 0 or 1 and have no force added. However, thermal vibrations in the solid will cause the order parameters to be greater than 0 or less than 1. The cutoff parameters mask this effect, allowing forces to only be added to atoms with -order-parameters between the cutoff values. -

    -

    File0 and file1 are filenames for the two grains which each +order-parameters between the cutoff values.

    +

    File0 and file1 are filenames for the two grains which each contain 6 vectors (6 lines with 3 values per line) which specify the grain orientations. Each vector is a displacement from a central atom (0,0,0) to a nearest neighbor atom in an fcc lattice at the proper @@ -114,75 +222,124 @@ orientation. The vector lengths should all be identical since an fcc lattice has a coordination number of 12. Only 6 are listed due to symmetry, so the list must include one from each pair of equal-and-opposite neighbors. A pair of orientation files for a -Sigma=5 tilt boundary are show below. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +Sigma=5 tilt boundary are show below.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the potential energy of atom interactions with the grain -boundary driving force to the system's potential energy as part of -thermodynamic output. -

    -

    This fix calculates a global scalar which can be accessed by various -output commands. The scalar is the +boundary driving force to the system’s potential energy as part of +thermodynamic output.

    +

    This fix calculates a global scalar which can be accessed by various +output commands. The scalar is the potential energy change due to this fix. The scalar value calculated -by this fix is "extensive". -

    -

    This fix also calculates a per-atom array which can be accessed by -various output commands. The array +by this fix is “extensive”.

    +

    This fix also calculates a per-atom array which can be accessed by +various output commands. The array stores the order parameter Xi and normalized order parameter (0 to 1) -for each atom. The per-atom values can be accessed on any timestep. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix should only be used with fcc lattices. -

    -

    Related commands: -

    -

    fix_modify -

    -

    Default: none -

    -
    - - - -

    (Janssens) Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature -Materials, 5, 124-127 (2006). -

    -
    - -

    For illustration purposes, here are example files that specify a -Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 -Angs. -

    -

    file0: -

    -
         0.798410432046075    1.785300000000000    1.596820864092150
    +for each atom.  The per-atom values can be accessed on any timestep.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    This fix should only be used with fcc lattices.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html index 3193e18d96..c68c69714b 100644 --- a/doc/fix_phonon.html +++ b/doc/fix_phonon.html @@ -1,221 +1,353 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix phonon command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix phonon command -

    -

    Syntax: -

    -
    fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • phonon = style name of this fix command - -
    • N = measure the Green's function every this many timesteps - -
    • Noutput = output the dynamical matrix every this many measurements - -
    • Nwait = wait this many timesteps before measuring - -
    • map_file = file or GAMMA - -
        file is the file that contains the mapping info between atom ID and the lattice indices. 
      -
      -
        GAMMA flags to treate the whole simulation box as a unit cell, so that the mapping
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix phonon command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • phonon = style name of this fix command
      • +
      • N = measure the Green’s function every this many timesteps
      • +
      • Noutput = output the dynamical matrix every this many measurements
      • +
      • Nwait = wait this many timesteps before measuring
      • +
      • map_file = file or GAMMA
      • +
      +
      +file is the file that contains the mapping info between atom ID and the lattice indices.
      +
      +
      +GAMMA flags to treate the whole simulation box as a unit cell, so that the mapping
         info can be generated internally. In this case, dynamical matrix at only the gamma-point
      -  will/can be evaluated. 
      -
      -
    • prefix = prefix for output files - -
    • one or none keyword/value pairs may be appended - -
    • keyword = sysdim or nasr - -
        sysdim value = d
      +  will/can be evaluated.
      +
      +
        +
      • prefix = prefix for output files
      • +
      • one or none keyword/value pairs may be appended
      • +
      • keyword = sysdim or nasr
      • +
      +
      +sysdim value = d
           d = dimension of the system, usually the same as the MD model dimension
      -  nasr value = n
      -    n = number of iterations to enforce the acoustic sum rule 
      -
      - -
    -

    Examples: -

    -
    fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1
    +  nasr value = n
    +    n = number of iterations to enforce the acoustic sum rule
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1
     fix 1 all phonon 20 5000 200000 map.in EAM3D
    -fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100 
    -
    -

    Description: -

    -

    Calculate the dynamical matrix from molecular dynamics simulations -based on fluctuation-dissipation theory for a group of atoms. -

    -

    Consider a crystal with N unit cells in three dimensions labelled l -= (l1,l2,l3) where li +fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100 +

    +
    +
    +
    +

    Description¶

    +

    Calculate the dynamical matrix from molecular dynamics simulations +based on fluctuation-dissipation theory for a group of atoms.

    +

    Consider a crystal with N unit cells in three dimensions labelled l += (l<sub>1</sub>,l<sub>2</sub>,l<sub>3</sub>) where l<sub>i</sub> are integers. Each unit cell is defined by three linearly independent -vectors a1, a2, a3 forming a -parallelipiped, containing K basis atoms labelled k. -

    -

    Based on fluctuation-dissipation theory, the force constant +vectors **a**<sub>1</sub>, **a**<sub>2</sub>, **a**<sub>3</sub> forming a +parallelipiped, containing K basis atoms labelled k.

    +

    Based on fluctuation-dissipation theory, the force constant coefficients of the system in reciprocal space are given by -(Campañá , Kong) -

    Φkα,k'β(q) = -kBT -G-1kα,k'β(q),
    -

    -

    where G is the Green's functions coefficients given by -

    +(Campa&ntilde;&aacute; , Kong) +<center><b>&Phi;</b><sub>k&alpha;,k’&beta;</sub>(<b>q</b>) = +k<sub>B</sub>T +<b>G</b><sup>-1</sup><sub>k&alpha;,k’&beta;</sub>(<b>q</b>),</center>

    +

    where G is the Green’s functions coefficients given by

    Gkα,k'β(q) = -<u(q)•uk'β*(q)>,
    - -

    where <...> denotes the ensemble average, and -

    u(q) = ∑l -ulkα exp(iqrl)
    -

    -

    is the α component of the atomic displacement for the kth atom -in the unit cell in reciprocal space at q. In practice, the Green's +<u(q)•uk'β*(q)>,

    a(H->xp^>2o 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 literal 618387 zcmcG#cU)6X*XSDr1Vt3FprQhb9Vt>R2q>bUB8Y&9igb`(0_nZ?o{+{P8_rCXY?jPq2%-)lk`Od60Gdp|D+B-9MX5JX+`^BYXrewsW zq?+4X+k#y7cpuh&Gxun8MoJ<$Gd?951Oy|kxxi5ir1kIfpISPG%e;=8?@vsL2v0OW z6dxOx8J`?$?vWgu82yLQ0pjYv^_Cm|XFZR^%=k=j)PJv`{mH;DJw7?p+$%9WHUr@1 z{Au7%(E2Nn&fNKXQ&OSnfBN`a=bxg#WgCnZ`-G>4Cr4*QoB#JlKyv~7pD^pMR$ol^ zrX;4Mn;!^IjLA$%jy4a7&io_upB@i@Y+_=7`ia1C_FqWrUpWOix&M)~4Jgq9odAyi zuH*POXX}6F{O#%6zj`{B9-f>L6P^BFdrAd?X8y;Z{Q_v^|3cZ{InbZI9~>VQ{YO=h z5fFiqndSaZ1pPC{s|^E>9x_kKicU}eSH(Xw_)po2*#U|1k^j)KK;}Q%|0xE6E(5L9 z17~f}K2RFS2}u2W)c=(JJN%ctzqJACe;5ABz1ZYXI20H_Z%_06(aF*2;hDe$?g`KM zvw;4{_jhJ><}LA!&NdH@PmW5-&M-d~2TqDe4v$X+f%F(aoj-j8qYknFl71l279i@S zf|h}_X70>902%psd3%AhW@!Oy-~cfGZ$a}tqEaHFK~Wfh(V7_p5kT|w_4ViI&zm!6 z-a>=91`C%gm^W|1l4Xk)Em^c^*}{2$!@o}deE5GJwG0gm4Cfmf&7W_yc>etPi~k(v zFa8Hv`2VMYne(89`hWtd+FENsvleP;FVvd34-A0bOt+RBAf>L>-v9{wCujre=;+SY z)1Ncf0Jv!Xd!ZI+miE63jX+vDTH3R8X6fq9*4NdZXAcxE)Yh>uw$t_S4_~w<4ZCgj zVs1grp0$=sj$VkccSy$#@6}t!3wZzVLu7{I(!yH&dQbkbsC`|^Oed4;fsdj;))6k= z06+fZwLwrstQU6QeDb-tp=adjm!Oy|l1SCqd+XVh^Zwx2Y_eG0)OY*&*M*>2vjAyz z{>r2`Ti5Zg2o`q6I)DUeYZmEl!*Un@k>JA7;rI5I5f9UGyuATSA~PI5tegEu0KN5& zUDp92lqOO80-Z9WAN_|2|KAd9_)igLMnUtm|Ms~MXD`6w^mplU$8bI6wLiOEwqUiy`GL&3|SVr9Uq^{ zT%G^SrRL)5E0yuM`8O`iJ+(Eb{>ROzTcM#=@RB-6sufa{Tbf|{wxZtu#SG|q=leKx z$N{t9AJq4Kb<;&<%f3b-l`c^~H)?u+EJz)lIC8z>>dqOE+vjnOPm;<~YlHg|=P=%o zIx=zUf&H?ONh9rj*mqx?Pr1Elg!}yvd9C)cC~XYPdKDiZ)$qwib-!5t?!8Tt;zRtV zYrfTW>8P4uQ3#VUQRCFxn12iNaX4uIji%dmNhw#<##JvGV2~EK4;{=`VYenPrbR=( zFF#z|Q&2q8aC>k2j?um!()fv&4OhW0H+4viAoeTEZ-HGeNU}{jw+^Dql3ji0Mdq|u zWh7MJO$cr6y!Lita+>_x^#F2llxh3PeyMNLo#QEk3GOK`*`vt#v9=eTW1o2ek(=62 z-CaJv;7!cVw5iAS4z6$8d&VlzB?&3&gQmf%s{xGkvUs7kE)|ccNdMfgE z&8_KNV4jwZPSuoGDtykt+P_Y`n2xyVe9d~qOs#w#|XI>xeH70Q6hA6qlV0+}@N9-mfe+~f0`oRPH;mfo%l8h$w`6Hu;lDv z)ZVnoFILkTH&0M4)uxpXBO)^^i>2&=dnWo|pI zS;}CwUq&9~!F>bMXyKdj`-9WWsV&k;6mKA?>dc5JPh7=l@eD`oB?DpO4;+H`)psU`83x-=05-ONQ&cpQ+ zp%*M3-8O!;^^1CBBKh6*pEIC?pRJ}g_Z8j`eVx2Iq^Gy_F|xst_vqxQ=&^KXdiJS| zdtckfWoesgWg>Ef$&r+=*{@VlbxSdmRqW4hQAyW_m^6#C#{t; zpbbya-FIg|N1s}`y%3;#fG;T<(RJ@5Bi=T`qyMkdfe^RBwg+g7u&tIng=WiiQm5AU z#edtHx%>ByZm}XLIz0n0EX^ZRl2XGn<0Ik|<1?Y=@yRhMe{NoZK-Btk%U%HT07ZdP zKoOv5kU7W?6bGa;ftc|(_2-7Z=zmkg956?$LAHMy{Kt-&J3)x&eozF9_q`H-HOzV~p*!9(E@=6crv zY6VCavmPgQ#@7F#{J&KFACq$di!Bl;`31zx zNI(cclRt`Y$<9pula>ML#U9)C04i!#gFuC|fiz&F{zuvl1X4Et$=|ch!xp5q?>t~H z)dOiekTxpwU+HZi-KLFy(y`%5nIOG)_dp;H_h0=2&4X41S_fF02S-Pk?@bBMjE*wj z7!Z8KZAL~2#?JvZDbF@3CiAaII@-YY;m-p4ui=0A3}np${w;M@>5l5f>))O0WI&wPXE?LK z&gk?)x^dH@M@tNrZZip923;;$(O`Og<-67E%tFk`7PV_e*Uqe4yWVp{%tq2C_2#}U zFShDiZ?rjJ8*fM5rn2vH7qq2b7W0wObf~JlehO9lYBh>$7%qhreTA1`qMR-TV z)yM}?A7W<38po}Tw?Dfl;b`LNq}b%N6j&-gjgczo_Vo8cqgx9n~&y92uO?CzD(+A+yJ|nJipvY_!N=vCiUOOFk`qW^!lQ;PP85#!Vlte7I_2^_bZ$^I?mDHQj4F zESuNWt*_jm*{Ir7xH*4|+$wKtuC>sHYs&;y1IZrmfOSMWp`Fn#nC-Y7=$)ut2v@{z zgd5Tw?Sb1v+)MRj?&En$_U9gudgu8l4k{0+4r_d?j@0|L`kz1A7cg{eB=C07-Qcm~ z;~@`DJPv(+a`M!h(;vdVocR|1D-sl?9jz5T6Z0$fN8GpgFK0g`yia_a^eXv9%G1<` zY2)dm8MiX8fG=jXWLH6op;8zJPDH?vDX1v)am-U`vdvt8*I;oXEDS}&(hbSdw0aeu`?<6!5NOGDSM-n;f}_`~&|H)oF+-&%cp z^Bw2Ao}>O_r|%`)hmMmb1P^2n3m=s{u6R=WwDDQ%^Y$0#UtXNN`ReKGFK>0;8NWCG zVD-`E)85a%UqYrLzn=Y;{5|DI;?JmGLBBnxZDvgV%>OK1?K`@0vwQVt&)GKjs6q6+ zbVJB|*aDalY$4PbyeM^X+>+BvkDBaT=Dd8<3I|iymF}zDR_`!#Ft@T;yJq>?1(rIN z-`Ble|9Hcljf0ymY;N3AW~JE5wgLuY&!u17dH159c835dARCmwJTaNAaf~r36rpQ35GJ z)L`0idI<9bJCu8pe@b*(0(>vzg)1WRBMYLG(M2(;San=UeCb(Df+n#nsVuoHr7X2H ztt7oTLz$Tm&dbWl7DBjC28;~HArQzcR0=vC6OKKB^T!_`>?S&rwva6-Ce(SfS+uY8 zH;hNjJFF}0i<}m26|a~t6Yzvo5k?G=q~@H>jg+32h2#awk1G7~j}#m!^iv)!3M>v$ zg{fmol1m{PTp6oeR#8^jRy9~XQS+&8PQ7`9OQU~NVl%m=sI{x@VY^m`Md#l0(HF>F znu|l-A9|PcZNGH-GOk}W&_DQQ$mr^}YsZE&uM2L}-n=^U>h|nAtM59E9vTb3mwBH& zE}2k2sC(D}?9Z+|8Gd^G*|q0`FS=j0PL{utz9zp(d3*fb$@ifjf<7MlePe!)_+j(o^Us=JF~1l7uA4qQ{ctAj@AZFIo2ffz_Ax!QzGzOt+#&Ct`1)r}w^HUbg$!9x(AX@SgGcbnwNYdxx+2_8e*PtMD&4Dg@R6 zEHEi3EZG0}-VnzV>qD2FoOANWsaL1(g$;BUBC}!IKd|$la)QXhZa8%ow%{SAu5} z(uu*Oon&*0E@hH>l~zZWFp$g$)_(R@jxpyOcbwPF*9f>mi0F)Xzr-eIS*}*@r1Yk& zGfyKIDe(De1!09plx{_~#cNbc)cWe*C7((sHIK^1%10`$RSs13Rd?5P)n2H(P~X+i z(|D=rO7o4DvDU|JZ_a(|(CJ)w-u!}Xm;1$|-7!6|UUr}AQpe?6{T~MBUD-Ue|7zql z%&_8m=Zyy=+P5~`K6EGJu5`3}?A`qp<6aXP4+BR&0TmhHfu2V3Ji{?)w60kcb{eztS2HS;4t=r!6-=$|A446XEUwv&I!US* z+n{hnDT0scAhe!&iC%#JycdKP;UTLEF;DOlKa|LIV*N)4kShgtmyaXYabZY%Su7JlnQm=sn&z#&ZJm-}iFTcnFC_aQ>X zN zehl9TJ}El^8AXIj+D=grSA~b&T98M1^yRydy{z|Nh%im-srw-?Mg4(pHLR|ZUWS0Z zFLmWUf*&gK&8~%?SG1m_BV48I-8T^DBw5Q$5Mvzg&n_^V-t>EhFw@SR7b9RBnlm(q zVNtbCoC(SXeIo7q3!N@h@FZBCMywo?EFuwpu^WMjedaE_lI|RLz}yp zrEbvoZQ<};ipTUq&avFj}uJlPjtEBOsEJjBIBT zTSykgD8e_QHscy0im*8YiT{kJge<_9;PrNG$2a31Ed5T*CTPF>NlN8^yAeRl=7P@| z5oGM;MT_xYn2YFCJeVGo9*8%gjs(x(?obdrt#Gf%f+Z9JoLutaC^19+ZMc?zmttGd z_*%)%!UFt!;SQP$E}vJBwh8CQ*&Fl~XUbZ+!vSZ_5G{7WQ)!o{d>@l3Kfdr7R-4}RcoW`oP&inH zbL!dIAi+j=?3HU{`kMwwb1?BW_mi?Q_T|igUW|T8kn>^8T;)llN=zbs|07@AwL5JC zqu6KHeCxZhi!O!dIbt#|EGGJ5j9X!eBj}0xD*?OEtLEl>Vq3q?w}aR%Z+9DYuj!$VcQN#mSiCB(-$(a0Btap*N44=aq7o35whc4mmgF_T*aawb?6jVs0L7+nQV1rpjf#zS5xm6~nAIZZis2G5d{PalvlHJY-W*5f ze&UNuC6eb7R{djV%cS`x^XG_EjzvXZ91DtEDt=1q>q;5?AuK{sq)x-ms%qG zuIEEFAiTZ!NR&JXt&ZjQ_uP?f%?N6| ztW|F*C5JH3?pAya2Ggu8jDsB(4J%f{_Td-H^kM1Ac{whyn;}-BT6ol+06`&Q?uJkN zPl(?-8a^7WYO5=Hgcp=4W z_y$<8P8?4gm)lBFzG8HhnB>RNwS<;=OQ^}%gj^HKro<28Q{)Z7G{HMkjQcs>TjGoL zES?J~RL6!>kGt7|P?`$AsD3Myd>DU57Q)?*3CrG<}z2{;u{y_PoHa4_U7T5!a4o9uC*tTR${k`!FVkJtMtJ!6W&&}q3b)2 zanVJ~Xtu3Hstsi@aUl(9`Bi;Z%3XO|FPLyVawglt5XGYRjc#!ifqSiSKppo%)qcQi zxL#UfX~z02Nz{&Jtim0tTwOH{eInabHV$p18L7viwb`^H6X>(3{rM7@-;wWm8L($N z%yOsTO!G~-5=0sZB)oy{FCVJfh{H?cG*7TORFrBI^C0V|auFsnvP2=ptUnSULu1x% z&&<`u95O4&5n)Y0AOQ;lDx0WurCaCHN~ftzN_+7e%8D$zLR-?$h$r%MBy(SdR7GUD zjO17m51Ls^%1B-y5I+^5j4RIapXX>wow>Q>!D3rB0qj>0$83)<&ilpiKl~#11>MEP zLvof@xVm3_n_dU_p&%HL#-qGnRxcSXk>qrdJ{1YXCYj*;tAg|4hw~2dst@nUb>(h! z?i4q35>|u7i#g#S11=AvSIQ~3Djt;BsDBmOkq#)o%O7R*=Q~Q@ozci@b50(r%3+HW zoDYlVik`0CC<+rC2bprZF~%j2%37+l#f565rkU8KOjljZa95No_nz4#bILz*$RlT^ ze5cct2$P3g^+|Y1;11fzS&lI+*;5wYoGD(eHm!pb_bLr5pQm3^9MC)oYm?qmmmYj5 z=_!8fR4rOt_-fUl@Q7eN$ezu{tWmd=E$KQfQmMMnl@V?gHa4ZDN64pYe}qL!NmZ=} zWfE|OnG;-izv$K~wQ!EW5VVVJj@hWFZY4l7StAW)&>hI(>R-@piBaWrXzU4>k|^j+ zuXjb2u(Nir3ZB9BOx_o!!#hAA?nVqqu4-w-7P0o!cVXI*5!JdF!-P*|475C?SsjH= z_exY&qVaZ#`QzvdCe;NyF|B~tG8qHP``SD}9bx9yjZ?f4SF2W#-X;WUl*Bh7t5q_^1{89Sa{!p`{?3@th# zzU7I`=ZR8nzU9e9MJ5~aV%a4Cbs7VbUTSnI%crN-c&dwGl5$+pqIjDUodVt9b;_G^ zvFG-D{XB1*ZrOX;29qVS61Ehe<^q&Y!|i$oeNFYvsxeq_xprAu+)FjI#4cz;d9b*8 z?=OY0NNyvOk@D>T%H$8l?7@I??>3OyU(p7tGn?_S`DF!ljdA5_)2hcowT160^7l?C zTr_GMuFNKXlZlzMkzEK-!1cxb)DsC^hBNED4jD*a+KPa*gex23A(MV-)oN(KZiDg+ z=#x#VQW5Ozf|#-pxB)=z1t{lkI_4R+vEvi^TUu8O2kjH?Q=f!-3AH5p`Xf6kYH90SL8WJ@ z{Ebtp1JuV0M%6l0z&Ffb0F>2*7m_0w!MRXjLn^QFJwNk|K}{Q1==-Al7H9pgizPgE z{KnhGksMPao#KbIn*asO7rXC*Uw#B;Pg_HtbL!zn_uP!It2J{ZR=$qTk1gz9U; z+KpXBBH=lsEk%!MebH`&OyXf_>q3xly7pw^%Ful|A_Y%M6~r%W}Nl?;S2s~#8M@y#xqQ?z1Nit1e9 z%*HxpfRt#IsPv?pf{t5#k)L&CTK7nudhd}T#mE9?j(BOp~w;)Kbx)wfU)KRZN zA9~z;sx}*1srRb(E*y9sLj4X<5myzMWU%xy3LP7hdXa&u2pVd?h4S=DYtBS%a=2SJ zi1IU^s-8wE^kb_h(a%93+ERe>86uK>rh|C7Lq{za zkF_wU65_wgR z7AGpq+3-1o<$Fl^0CgOoRt?;gTY&v~ili%IHg>WkoFIHll_e@TS%|Iv$r0evLFy`Z$wuW%W(xa&833OcMoB96mWa#Il(VYKWv6nf7zVFXx&$_j^X0696S0@Fpa>IeRA?)r z7CU#h7#WMXxg3lN!;HN>3t7*}yd4KAXZd&DhB`C+)ja4RO~E<`i>IywJHr=}M^13z ztt6pq79xR2HJL)ZBQAR_$@(UnJ)+1aN^W$RLskffRa%g9d_(3@XbMM_@ddVll@J1k zjWG`IN`w<>xTU#p3T0yQeU`3Tc@vbyS0mW;& zzCm2b9r>&6x1cey&5P0@D(3pl`!7zm%myEA2Nf&_e{am93}$s#$ECc; zmTMjcK8Hl9R&KY4JT4eEZh`1CN}h2uwQp~_+MEf!ItyrS z6q{_9+82Rd5K!e-7ZoI1b=Y`aHl5-5@G-$U`{|%PUJ2RR@DXnfk;tcU!_ax;6F53F zFZn(06zpK&8Qc;0tnKS@Iq(~cCJ1>5)&nzKKCZq0D{d3^YyEv}5B6~01Qv=JB(25n z#bhScVK-sikFCbqVpco9#o{qm#t^(YMm0{r`Y_8b`(hr_$LsttWSWgE7UNI3NVtjF zMrI_EFxDh&z&wmQk>&Ip!z4UfxC>iL$hh|$vsohUD?;}OM`|?aEdGw%NwgQ|CLV#_ z#p+5pjy}K`KdO(8qFXxtK$lY=8g0RV$rr}Xpk0-`UQ5&+#bot16i1ejgGI&XSmJC@ z;Ubf>J5VTooc|J(lJm*Y0`-XPv%no4P4gQyL=h`1x<^sw8q3Nz$dTf9$w6dI0UNsn zS)ErJzYRH%YwG8M{4O?dIE~sS44V%}VW|CgJ|RD~OkTW%WYuFUMv=R#?8Li}%QWVg zwaC@QDRJRQw}K5v5Xjg(hJ7z2YHct@{SRb*b~zA3Tf6kzx*TOQuA$*A0nsr zG1?Q6Uy&4>hZrak`i>&L7TvYCLYn3uHw-{-q|Uk>g>)P?>Dq<3cKLa^Eh4$ASBOJ6 zw0%Vp5H1Z@V!k4xtHr*@5aM#twpK(_;h}ji5EYcx;R{UvEM9v9{Z;ntQf*pkHj0m; zvLJJib`&wBHb$4+1BD%ylQ+V=x4Dql!R_YVqFN%L*LKlAVEWD>XgQeO>QQPWdWaWC z2}Gk1X5?gaaMVvyCEEXxfV3KY($0~z0xdCkO{QZ`3_YTi(oNees9{u@s+_Wg;>@)n z+ma1oA4$haiy|KpONm|w*~Ik(k*z1ug5YVenq-OZx`Lvzh2WMNiZ|b+cs+R?XOw+~ zWX-w?tsy2d4I=sogY+yP8Nr{n#3q^GMGcvoKzL1R8eC7QR*W_WlM`iS${~_(j+})h zo)UFI2n2~>b$Ay+pF8Y*9?xfAv#!FUSRdwG$3G+$^-obinz$w#QoHJGp@t|gq%h+M z)$-A79R8g&<;)HIamnceKXH@7$JTndYeK_0{&*1S(B<#s^oHe)&Lq2P-+~(Af-*4! zOfXlk$Wr5D3csE)!ChDEKM;sJE(33c<6LsR^`GIqNII9T$l9GV4N1hF*4X?Bf}(z$ zUVtyH;(^C;?=)RuvA7sj(f&T{8|C+{I@nfusy-WANxXcCOR5}jt-nId?7ow4L-6i^ z(I)W+o8!QaI946#^ayTtWy5|SEMIfWN{l@%U$5_jbtFo=^hE7oLRE->mSrF_=RnTO`N?r2 zfr(F85F#~ohA~O#4c$oR5p4E;pkeW?n<8n4@h!R?w7K~89VvVdp1SM_cOxf9(!zFT z6%Z~lQyGs_UeQ0(V@}x8N@y$hE~m<=3pZ-0(Uj-9VU*kWg7*EqSQ$}smE)UJE6!ns zi?#7WhDJb4zDwW8^9XULzTzC+6F_;w>f5MK$!GQJ8j`Q!&z{@G?NpIUd)TFg-$Wed zIRzOfX6VU$lHSwEIsV6!sP3XR4>e_%U}6J;{9dqA=Mw1?epg#4cYC$Es-VO+cq1ja=(c+v*}d@IdJXATuBFZyq6#9`?VMIVVM^T4&+h5 zzU*DOec(rkIEiZ(Bd$jHGCLsP1%DK>&9#8H4?1scEYBNyQ_F`Ff@rO&R-8dT%SXx* zkP;RmryLmx*N82V{;{tGcaSjwmb~l8yj^2lcjUu0EnIulF)b_BAo_lFo7{^$Ujdb# zBz|VHB~rq7Sfj|CU>~c?zmJz4_2WLo+wEG#3BbKwvzp_G->J2bnSyDlI+qu~v6IK; zCb7;ilEw9mMrf1JmTn)ji1&l~!ym=frF`0%%!W|5TL{@clseE4hC8OTazvJzLjxXB z^2IvzbkQS$8d4{S=4C|N@k}{5zebKd>+OzymYR9b!i1H?vH?A#yJBP&pQM9IeObBW ztzwu~Dsqu^WIy1a%Xu0V$wi8TkIb-XLf0KG%xQtKc`37r_W*Q@7K!0jY?B@?&zHWI zq?BBsz7RGQO=qv;?SBn7uejn1V;w3xqrjU#Bzje6o6c&gGV57di$@Iv@$A?l}pN*T7Cnj$Wv=Efpai z^9_ohBcwRX!c;^?YL>zQk$P%WwjCk%S(770j5~CSE09}PT$4B=CBWVx5d$jBD4`K4 zJh!4J1R^%EAO>HQQY*K^O`kH8?!r;Lp%Nv|(*f|d;kK+u5--Q~0=s}S7*IjATFA2D zMk=QmcnmThLz_+>%k!kxo(#+lp_CmM5ciND+7}3i$&eL`L@OvRfK{1|0p&kd-4s3J zh?S0lTy&|Ti-%60C8KZ@p|Tt*YwCcN=r^;|e!XxO(`NZ4;a0{QVDC@`P&-s>6yxkS zg;d!m)Gx)-T*ss!>8QBz#5c*PkhDKvw4MKSTbp1fpSqkN2;xivlpY48$SW==`N)nf z)GdxhWy@)WvlA~#z2u)xBuji{q5C%rYjgSABKUc^M$7&9h1^vj5Cs8HON;l`I4LO5bl8Qv>V@UC=^-4O3iLHV+;yavug5Qtoj0SP}e=x213 zkk!qZ&RLxD!pyGdcO^aG#AC6=Te9pt3JdkKwXNPOzGasiCl{{FE(i2N0aRf98iW?f ztf~iIpXE>{hjXG?>RPxc;Ahc7_$3dQ{FjIoR&4oYM7;5_{5(VzAR*v$5RB9P`-fw)Ga12gm-a^yVQWc$k<5wk>Laak?JrYUPtx1Vj})b z*+}8Rj5u|%!Y86vSs_#VC+BPBvfNB%ojI^AM!8-Rf$<#aJO=P~7zx;$^8%`RD)-?{ z%Mvw^jP+_O)#C_=(oA{Tf0ZJsfVq1}=9=HSc{HbA_T5-7_Y?zohmHhD$o*LbYf8lR zmzmTpOdnBQtNakLxv;Yg;df6lr!-@?TzXS=W%Ie5DA`lv**VV`z#DnQM;H(#tMh4w zKlEYimyC+DcN_O+ZVBB`)1Nu$L#vR3$u4}&;w&%Aqa|Cin&uwY=w$=GO42-lTHUD& zw}!T~>ceiHt!&r@D?jnMx(wFnbEG^O_SPk=WCXs~(m~Y+$IexhSR*2Uz8Wzg@_744 z+)HRg^Kb0uv#0CVW35k!s@RwY@2Rpwm`s-y>T*n?<)UINMlg3mg~zT3s04r#pLm16E%P5v**DueU+_2iEL1qUd@)`fMuv(MLm ztJ)sdRQ0J0fBZ|?+LDq36ji%=yYr&L-$e`7cIBUuY&H0hzlyR5pu#aAc=CW<`tPKi zp2iI4u;b^^8M%HLZMe)0?()Wo%mJHybr#?#)7drOzzNzZ)rYgGAQ0XXpyK-7VU(n@ z?k?EEu+yCh(7S%At=`a4_nZbY%+Tg&O$jW>bbqxSEKJ9s(gxuLP-_4x{jxFkZj$(- z9CIgZe}^k(fuC=S0Xp9uS-%6FWaC%8ADwNAtmL7~bj0P}7%)Hq*D^e{?*(;n60$3U zEDtkjUr37eTi0}xNOV74r$wA)<5M+@FkxCzv5H90HP%S+$pB>rP@%oAInhbc7gAZ6 z)6?g47%%*0HFnX9-H+5v(5~9}RotVMn@*Hnquc6YOD*v&0JR#Rw)d_RKS?@vK3B*& z{k6@E&+^l57~xL2AE|!Jd2JJ3ex0kea*0O8G0=UYeu)1GP^$pSq=%pYC++W?l+~U7 z+Il8;zu(-3d6F3S(CT&KQ#R0YkQlo1V5yRCF?*+Kh~WGW1)J)bt+q{a>kL)?KK-lZ zLV=av()w`4V)xi8uspOe~7NAyQK(Kq=c~!fUc6U51@ zaVZJ)+gvxOvUev|-Yy!lY0*^Y?^{_{V#kl2eW}=sAo_=TW|ozjvFw^@_Q8w~Ef|Pd z=3wDw$RxOmW(lp$DoBfjp|h32B=`}CVy6wl4k}ujhqQpcc(NdqjEWmd08>$>O+T^_ z$fx-O+0n>;%6-T|F=r62XixLQKA~d zz;nsQ3a_lW#NT98wmxxT@+Zh_!k)n0kSRRW4!dLcVIjp}wkF-1~t*mpOz zUfo)wNgGh2bH~zOC}8;P%mvc=gyUdGiTzRQEDzxVr#)E@c|At;Sp@pQd%nr9ni#zo zQgv!WtLbS=D(rGP(rrt2;nFisDRa-JXVMgh{7--dQm`XCYhBK|1=HY8+O@Hi4(d{M@4Rij@OcupbQ;WL;hZ&+{^Y(`5Q9Y{7E z>h1AN+0^%>@>QzE`A_1Rv<__OX zn+&8s0)4&~nSp?n4I#w{gm4;p9>GQjAU`2mVsD_F5nqq2Mlq2N_8hb^GJU=W<^U3Z z0|dWL_UqI`%p&d4cp&VFo&qc)jgW$zMzrDEV+xT=@augIkXbm%Ha_wVZk^#F)O9R= zI2lIbEo+a4o#QMoDS&-t+42qH?u>YZ23|nB9}PjwqoyC8gUF&-*i|6L$*bo1gm*(X6g7E2g~|#Ntbai-G2|AV9m9Y#5UNZB7-;&Zc5i9fZ@Sl4gNb^9Ttk0A?ECF#m6Dyt?uA! z5$E-72pS}~+n6|?@V%ylaFSpr55w2t)2VmyR=De#WLzum*lB-U0``+vAI=l2*zyxc z#3t)W@Y}HlT^0B~_U39k{8A=Ub{U7Df2E}1Kr}?g9&8EK>69ZjfnvOG1nWayw8aVw zA))jZW4{qLUO0wp&k3)*gEJKUmV&V`K^}P%R+s0WZi=bqY(43SA+V0^17YGA=Qcwy z1jd}%O3X6?^1LnJh3Keg#=7T=a)U8tc~PXr7?<3AX)Dps#V11j(T##GPfv6KuYS{Q zbTx0$Y)|ww!L`#9>s{$wK7dhZd~>2Ox~hXjb2O_kG}RUDDQ`Z(Lobu!_Nq`*Icqlg zqrQpv=uV;C2>Kly%uw@axe;c4{WeJsnoxCy;ESH6QKV#`npD0acTmE@(!KLg+4-p( zCs3!QINe5+5`V8_F$Qw+LKzNyqa#xM8g1Ep0nbPA>l~ANQSO!AA^QNYUB(_hN>6RO z5sG{!J*|sJt;e@Eo#Y0m)TkWU^3*p13)aeXW6Wp9IvM7caElfOD-F_6W8jwVb14mQ z$+}v~5BTR zv|9ck4`G^T3CT+_h4ogZ(ymihwOLfuTMk8h`#k;{(_k$02&b|;V| zBtuI-QX}!%tPtW|tf)?xaZu!4&_x>%xUgl^6y8<@ow9@D99K=YVHU5knB z^s2RW#BO@ataXHbY)0*DIx*iYzk@a>FN7tbl;^VHJTg=~8rx4w6NUyD6D54RUDJfG z+{(39gx6dPt?&4!*q|Cm+DpxR#Vcx>O2j-*S)eq8og>{<S^ZtemT zd?dTqoF~`{^R!0r8?dg`JX(7F28BCix_TCK4p~&z0h>h%Qj25!iGIq5{=Ecz{^yWb)4XUg#;}yQ;U*Erds9=lwkii%OpD zMB}51?JQ>SYec`a@^Qx4?^E~ZG%T8f=_kJAk71%S-f*8{R)*_xR-r!})?!J} z6V8!LEc(`}Z00oj6R^8U$AF5zh@EKe!Y;ui)r`=~>!TQ^PjRl07o0I=FCuvy+RhXa zg-+)gD5B}gUyS?27!ZiG6QB%4*8DWV5dSq-i67uzV?RopV&7xghk3DmgN!peS~y3Dwk8{p$a_ma3d zuA?m#3rvS;R=lf#MI;2g2Ok9SRc*X>o?W>Cwv3}!;+4|J(kW7(+RE@Opn0okR~1nX z^;AjTT~j)h%u|3sxZeOp6D)1X(J6Q6F$P zO0_M#ZR$*2#shxagChV>rH>YkB@^ho3R+XD;34w+sn^fKWiDx-j|+2pGfej-i>or- zY|};2;EhXWB!|HpfiW}(y#BSywrp!!eST3k5q2@}LiWq}C(?zG)4{(aQpj`9`yw0^ zW-}?=41KdiCAtX(e)~iOVL&+sg(UO^>ZAgRJ`I~I6QK>`&2rwL9t3-dVW?}KJB2Z* zyEYL5J=BXO$Al2HJ}`zl7?8xLAe!PsHIzq^J)z5_BvL?}ujDR~5QGtB5FYR43!(^T zt;cyYge^<-1iJy1K=_RqkQkMZ;M}L|%|o#FK=$VrFxz7@#a|i61BZoJ`iecj_;8w| zbs}#bb$D?<-<0YOj0WJh5#3f)=aiAfvKBEcTbwf?434=hw&4c^+6bDs%sp_Pl;dta zkGp|0e=(1@mA`gH`;of z{Zjg1@pcY@33w_n4*&`*kEnl7+9^$_*_5?L0;%wd_7G}HD+B8Jo7M9@Y`Dh7JGRbe zBjs6(XL05+$pA&ifEcnWhhz{cxD1|Rl5(mjMC%CnPfz97qaa%y)YhGcv!6nLYC}=%KDJK8|blb8?QY_+X$qr(6(#4`OLgA@b1&8t94=cdRKq}9p`^!igC`4KeiA!^lV~6(-Oxw8 z{XZz}k{8uD*tuf+ip>ea0$l0&P-Whfs@-QMx2NdGc3+8EVfVUABL5tQ;a*Yxza>Pc zx6C9Zraf#ppBx`qQ`4T3cC4)8Wh%xqM{_2PX|JW`r$bh^sfN=p=(elfGLrt05N+RL z2KGzqtG^6pL~^U;;Frf}<)v8>o>`@HvfgidrCOg2Ufo@6o6VbTUTgsY*2bUFKz(oe zfS688sZ${GBKK9rB2FK(FN;GQ^W3cNLL_W!EE++GR<|e{5CyZ-l});Pl-G5ztuU>kjnn)hTGiCsbU3K0URnRajZk~C%4FM6bChqHds&u- z=|8#wb_dXUpa;G^$92z2M18`gp_fQq1b+KC6x%0#AO!6{TR-p&HEdeUT%hLOpdn7E?oc^9b*2uU8tzTJ3#wfypi;^jT;yt#a z6WIrbVugbV_^lm+zamomu!2;dy6$*E!kkxK{Q}iEbxS7OVT?-M|4j`7B<^-sp3dGn zn5@W101kA>7e=h>g~^J1I=U9f_>SJ4Ia2PpcTLaPDPvUN{uJXSK-8`>{omPrJD9r3 z3FTYPY2^`7Ju1y1pTW*>t*v88hre>c`1r={Y{?ikYu}}Y62R)6BXx7L2ex0Sd7V(P z#j!dfBBJ}EY0zh=gKi`{^4pV?5#!|z+t|BCDfF*>gpN?a`kg7QP1(D*uWw$G0PQC> zLL*|keHv1I&bOa3$2xYjDV1sCch!GjUmvAz>_D?&T}SOP*AQX-`*HJ-L#7&h0@|O` zLx5tMAuos$+`P1jqy{`EltOMG9GE$tLMHTH8$xCi?;J*Gi6Jn;9_AZ|1H^UAg_m8R&lQRLufP>DRo82zi{z~?0%Z{6 z8Cx*+q99;4mLRlF9>Hzr-w$TtF}$1hSMeXXffp%|Did;FBy6pIq%#A4wJJ*6hb&TG zp{JqlE2}COV~XVJq_fx-X~*(bT)f2D-X3>Z&~d>FENQ9T^8y;)=-DwIcCNNdQ;I04 zPNmI9J~j9PCZj=BQJWrM2Gwmre`BMRXQu(M55)H8=YV$hU*3Hi0_>Kwy?}me_fsdp z`Atu#&PeCF#}!_v`kLTPF6gI*H$f4YJpJscH?Z?WTh7IU+;`8}Jso^{a9rC|X!@4J zsv_9cZX;zG0@8M@JRAA73BD19USD@2unTRdQB4J6$fB~dJAr$SmF!}HOApXnOCf*l zDp#6eN!v@vaQI(+=gQiVpw2gmXHk7^DS>lQFX~@Uor?Y#wTUt};1ex@qM8h)4^TRe0|>sXhuixIk6FUT z`9vLSsSHb6&wNUFPx{2%S;8mxGL0L~QSzAB09(o<=GsYvv|z^7qnB{4Qp&a|c&H?} zo<#5#y_ZfPJQNwsMD`bD(8~;GEnHMt2h4Pd`Jd%$s)Xy3);C!{8 z>#T8a)i=Zj{E+et4nPpg?-gwzR?7V2UXeT`wM$_nj96l)C6Dm6hZkY;8xCzL!!E78 zWwhf zQga6D+5Ali!oF?@#uVbtnR^Q8_yH3k7D52)FZeAb2zA-EM@UZmwFeQXuY*Z_E$HI| zH>$s5*u6ml1vaKbix%R%T9Wej;%79-V$R}E)*kTf!ym8qv?UP<{AmZ?qN)yt_Bo-8 z_DrZw!%P|!^RHs|4Y;AMU`;)K`EEE~hh0o0KC*SXuP@%y%(0CmeC9pejo?&4%w0j8 za2Uz(g8dEQ%OkTdAonBxVedpI<)PTam>cU^?Ay3_A8QU9pFVLFcQ--4YZGfPZd>Pc zmK-nFZ({)nS=`O6jYKEJBUUu=b}ovQLTZcFvPk5-B>}8|$S15%aHdi&?wrrGXPjw2 z#Q4S-(is_d8D@?pVuvAspJUu&aC69vuMGLRT}*F=#v8#@Flg3gEHy(jw1-|Ly3$ra z7YJWh+0$u)U#ydKwqOoSMX%>?$}Xjk@QiCm=)bw2y*d~%T%PqL<_7lVK{zc}bFXy@ zEkzx!*-uMRGMPMDq5K4tNMp(Tvp}?clH*aoXdlI@#lPv!Vw(y37|S@K9hua!+NsSS zs72My>JDm=(T#zpB6KwnGF7Ktl_{Z~Q@cgQ(IzSJi$OF8rKO|-eI2J@JDyV4o?x+( zYg@cjdnl%cD|88^y;cNnpj@uTXPl+ZH0)o~LtUdgw&*3*x5{He0*%gDxow0pWuT!c zhcdPInDQ(6cV|EC5XHLH1iD2DYP_8>mqM=FwZ?_gY<{?iNr4#CCb&^=bLMX=Ah+-F zXuL>nA2KSl$nvfGXtT-O-e;hd~5x{Um~ZQW`EWo|QV(G>C-WAXTZs6`y>p6k-R z;J?h@BrND|=}$2Ojv^lrbt3I5!NPYaW9my`8D>%BQ=tczzhFT4372fKVcEn*-5(_5 zu>iBJ=qoN$@>(<%znrvF7)7uHpapWm{Zw0l4RKH84E_NU$>XyCLOO1-q;%9dU2jDY z+Rf@KLMrW>_=dnppF*tV|3zO=f#!$M<5GNh!*qN^Di1?9d1UfF(p46l=rKdmc|q`5 zkY{QUIPix=D*hV26+y}q@Y2i4+*jPgn+v#PZo2=g4ncRy_}vRoi{u{O0BQ z6WrJa5xmL&a+SSydQZ;2 z&Rx8(>?dtrn0sumCRxc$mZ3gtQ#xy<`9@e6^KQ)!*RRa>s+du#^#Rv^Xs)h>Q?f0X zSH!0Ey}+zub#^rr(^%8n-fX~Eojo?+%Rl3nYV)2eJosk%0u8#q~cS?dM$WWH9D zVV4mjstE{4fn2c#`8mNsUW>*BUzJbCY;_STnlPU&ns=n^seP%f!sIC()hDn?%-Je$ zTrm8*q6a@a|A;&X|7}C2ES7L1c!{)^C~^KNw<2;aI&5UP*E(xvQIi$ZRb^BnZF zPV!m2Ki6NpL$oz+zG$EDR#2|UNtoiaMRZJ!#1k1pM%NS4Sv+gK}(-t-4-!4>ZELX5IvmWA9dvhlP|MF}#5vO%v*;AQPfqRtZo8 zeu>(r=xx(s`a9@le`L|mtJc=a(dC>CHPbPv*j2{E*obm3eKT%h>f5S8{M0Cb)))WG z_mT!rpiB?1`h>Tfjj}9FX*4e&-(cfSyC^d;bOW4{R92!(r|42wYax_pYfh{0QP=wB zs^?SD(`~fNsEbD_#kuMc&T5v%h+yAD^Ys2~a;d6n7TYU@stIE~U*oIV#yaG4M|q#s z>2T4K1=BS~S(&y=I+(`{x#FFu?K)S{@sjOYTj8C}SJm@{Q!SZ94FZY}QE^bP#-Uf` z$RD#E22gK@8 zS+ZkB=bA5!YTY^0S0qO(He4>Is7rJ^lk1dt?YmX2^81=IOU}uzYmPdA<+T#%7?o)- zwd`js)TK48M_Oqo)N6|@K0WihWLL$l>dULVmmOy3U#<>m~Wj&Iy89+A9u)6mM z{czRCu3HGTrnIp z`WgH;Xil>ml$3M7fdu=tL0V^zz=Uo!uRsnhEUI~c%CpORxr#?W_V_*X=!zMY>HlIYzuL! zQW#4;j%krPrrlGGmB40{VqR$6(^-I_*A2D3tO%%SYgwN0-PqgM8arM;t-(L|hW4L2 znukeqT|e3GfjaVES%mG|4g#6rPg}ylb_J}SM-W-EbLSq|_%*_|`|tw))h#a&Q0JYk z1_W%JxTy;@)htwoqU{t?XyScvn3=5}n{ zxL*xn__5iBFm-@NcnU7*y-u80Fup6ESd!Gx_JVkL&64JqB!BI|47FR|g=vfb);h0bC_&~p%6w+EnKfL;QlZk$8>G=i-{ett8hCKS7@jW%) z8U3T$z{m7`0bTSTYl!7eZKcRAa;o045 zLG~#RhV)?6de7|>A;&^|w>*V@^mOlE18cHhFt7n?@#oiDV=cL6EK38w+P509yztzv zm5A#pp9Z6m=Jl~#i6}%!et!Tu$P?R}h&J2r=zEHKY-Lq@faEhqo!RpQUr|^){1={; za%KBD{P23OEw2bJA*sD80?kw1Eh6+e%ly`qoq1`JVdK0oZk)YViQnfS8SA6lGTsmsz-C(3A65O4imnoQ=`j z`~29~LS}ajv8z3+I{555htAGGcAu41wZ(%yMkViDCD~o*wqw5dWJ=6{mFQMWwXHxw~`3y7FzY1q>k5`>YiQ3|<Ys!vEs?b}gHi`IA5m=^~>YoAhs@EmBVGA^8+ z)xwodwX!m7{g*nE0)tn^?0kX<1mRmRA+JMJs=v|YuqvuO<}N~Bk%`-kqHluXTQDg> zy@XEe)oI5`LD<351>o1{jNu&U6AZ8g4j;r4mGwv9YYUemb8cLVMVQ??%hO%|jy&Vx+hm&mH2?|DL^FZ>MmQpruEjJqr$13i%= z4|s+)v0qFfU~5>z$DAwTG$Gr3Dru^WdM-$=U`QPxT-k2?H5fwbRJ;|jUfi^y1bIlb zF2D`tCv>0u5JTdn9XVQVRl8u|HXy1RRTmD-H0%(c0;lUHZf#Zc>8nc47Nv>TLB3&nOq(yC__o`41Gf5#n% z4^(9=y$C<8`7n7rYNz1Hp;x7=woTeHt(@6+#GDS0cWn~h1oB&NVorg1jl%`Mq42ti zaf@KjtA8%t47*`0nADG&Es!08l>MEpg_CUpfQv|!zD~Lkra>hfan z52-KLV+mJj%YAZ)$+RdN3i&Dxw#x@m$UD_hjoiu$)(4?pa`l{Rn0cIE2oiQPhn4G% zBXR7b`FI4oeu)}C#161=An{p2!+o#|N}qOb#B%xJs{KfsEQJk24NLCAmNn2#T~E|UVd}Q83Ig{BW)38?4#`_>Upri<*ZaC$|r&J)yt)ztWGvmvyfJpF>dE z-e)=>k2V9NoKby^(-t2`%`r)>PZ6JRS8qYlepmD~B+*@guF4to3~)A0ZwaOcf_~B8 z!2uaDj4WjOni-5MXop2s%x;X=xG!uVZd`vl00q4!gk4G;s7y9Y*k?< zUK74ZsU*<_KO&Bkz6<;oB#@r+N5*+DoLPsvHsiqh<<*n$6RJp}3wX6gPiP@{syfRX z2?rHdH*1LH@~{XO;$7)CkNrfWbkOQ2Ba_wLiNcZ^mYEjgoND(8pW~Wq9PtM&5n_O{ z5&U1e`^h&6EbYKb3E_oiiAO2{s~WMo%Mh{*9j7n{yH*;p*s^v)*GETdAP_G2RL+m_`DNbB);;`sz=$`AZ6bmTv1oDMMNpPkR3_#L(ODQARQ%fHy_dzJr_;L3KzS}rPz|Q9rezxgU|zHk-NU>PT7dRsdp@Wep)TmS0l7nY*t#m`7v*A;Yn%(^?}oWS{gh+1 z_0GfO_o|^$s_KGrYPm-6US11$M|>+IgFJxsQZd9kYo25`Y|i@C5?}be0D{B^89(cU ztOhyz4@Fs9HC^rxqX_(@U*Nxp_L4_PP~~ayN7RALT=8PelxVd`i;eQXE287vW|c|k z*q%QWeNY=DEyl<5=Sz|Z_5^3~2Eq}*Wl;qYl|dKQljg3wCY(ju>7O8YO?IC(LBu3g zkM>ZrR6I=o!J8u5%2>0E6ae~PHkK&obz5SiOS>vRMCD&_79coj7Jto~N)FplZ(Nhbo?Hj;tzju@R?I-NVx^}?DIv{RTRw*Z)*Au2u$Za`KvKay zZ3P&!DM8}^O^OIrd%!*|zM&3BjGMAbtFu(S{WD&1f-Cx;Pzm{*&K*7;YSLORhA4c^w zpD0b`2p5G*esO@4UrFAvUysV-?o!9gP7pB44(S_El)^#sG1plp7QaZakp_rPvbfW72Z%c0=-`nVrIhErS7aQMChW&8Cl4Sfz5_Q)aCh=hI43JYY+W& z^w?=T8Cu_j$$`DDjm9o0uC4xveVn?$cmdb5j-!8%2L;CH2JpY;hw3Nde^{q!j}ntc z--~plZaT#kw!CIHrL^dbi9|7{&zF6g|NOZtI)h*-I}*U^NDrcTA}>OsvV_>f|_08 zyO8fDtT?<-YX}tKH%I6u345dNYZnS_m$|5S3I^sW)wM!L>kb8h>orErsJ^Yf24NZN zR7VQu=yQ~U@M49okEe?7wer_Is9n}zooHrBQc}D;4#Xni;db=y0Tr1#%35>wqwHL?leunjthHL zzZ1L5dtMy|7cf)PFbiw6veGq>EIB?bOM^9bJSW+e^tVkQrKkUFUP>~@K^iEeH(}zs zVDdVz+vZzj*i1v+a?&SDC89uD`53jNUB!fzgtzoFQ_|UuH<*6059+;`)?q>B^Nf#P zwKXWl`u;2?g(qZ#1_Gi0O+Pj`JVJ^6RGXQ$nxTbn_m0A*+}0 zuFTZbOyF7UW%aTDsEXDh1-)3^bWz@)cDMeCY-?;pt($arsGxd}be>nFX|XhMW~-?~ zY_a84H~*s+wL0jh7iTniReee`*9U9sV?LORHMyZ{O&`_U7C$qVs`t#~7<*-wQvj9s zzZB$cOJnVW;;hCNb4Qw~&RG2==6X$&DJwMCeCK!g*C`|6#yk|J}VZ;Ntn3-WcGpT|r+9(Bgg7=3p$Ihd-Jx z4IEMfZ)P6fz8O3|K{GH1621!AHw9Yh|ERkjRx$r=_hi^EyLUa4V3zUKI1v$}RLS$f zDTtSu#I5_0nuNlB3@Ucj`kqv@t^d`|v*>o$*_{*7CnptjwxTUxmg*kW@?w8vm2_>d zz+cZ?JTRBwvf*d%c|z$b>#lCXF8{6$58@P8r}pJUn@Jt*6k@oQm2yARaf||O{Y1N% z@vOgxwtvIEo224<9HvN zYuM1-y@=}@S=0WGbI>2zx`D%WUEDIA(=ge)d4#jllKc7KU#j@$mVczPGj{aKCG-u( zE_d;sNNL+Wv7LWmOOR;L)vxJ}*kdxFDN!J@P{IFEH@0MJ;xe}OoK`b77&|wp2$B5O zZ%VQM#^!ZOfU9%kOU0hav_^NKlOMrP68s5TDH0?sLZ)prTJvTS?JE9e?PiD)5w5%4t@jQ9!x z7Y?Cz!Y;%e$HXG1FFl9#LfxKhP4Gp}-tSSd7;>R^W2FSfuU3HeBbExDLM|dtTZ%xP zLzfhEAO(HRxs{SPxa_v>%NrSid%gXz@g|;!+Vczq>$vKyI^t3SYcML>nCKSc=v@&*; z40J4joGW*2nULiUC~078?9hG)Z)qV^D45Ja!>#609b*2}4r&@%@P!Ipx%8>#SfP?^dKnF3Ft zLs5GXzrlww9;o_Edn^gFe9c!}1Gai`Hr@e8nsASd!Jpg`1m1!DSbqk}z};0);U4&5 z>Ssi+B_p1K3M7`Kzd|>X0#^URoFv^^B*Z)>drdHrUr^%uG(Zl+z0M0<$?%u`1zo@h zpy*)789u;p1eg(+b_4mE5xIIk+KI8s^CIdVWBP=AN;<=@cRHY66mQ-JGzz6s7#J+r zMGk;^@b6X5f?eRxNxg=E@qnu~A~oFOo`FakZu$f-N-vw!eYL__L$6^~x~u+?tOI^m z=928e`{n(BiBO7cZpvr4qohBw3K1a|Eo^`nirvS5r+ni~=(<&Q%ekf z+VG3$4$|rPmM@_|yCNkN`b+H<@f$uC3iPrjhbr&Cf(U zz>S6uLKd*TwyeAa45=>N%!1A~T!=ux7U&%poP=~~RpW=K5cbv1-qP3scT-$>MsL3G zDPUn|5`LiaR%>k8QBYH3OY(O}V%^}%7tloW_XV555@xB2H`$#W-P7s>Wm8u?X%% zoIMVQ0pY&lD~n&^|0bkwiX$8+hK9``@`tov}YSv;oa!Yp)2rL=%MpJ;ED7Je`GP58ej-7zF8fP%;QJ0?NE5$ z5b`pb%X2T>j;Z3R5;L*&T&EQ@ToR{uJ_O6>AV+7m`V?5dGE3zFf1_B#{ED0<`+_)w zS}LtA*o%&pWG2Wlo5Z0ZH!<%;<@4U4Pm4B=Qgv`B%QQ>53Uzpe z0w1yV!R|Qj;H-v+{E+PW_VKeEBXV(ub3ZFh3qLyL3K_u!HTv*n3njJnOW*H4d@L6V{ z-6UL}bCkY;!2d(hKj&Y9~+XJ%68a83} zGjb9;eU#E%#<$2e@;V7#QX!s4Fi6yZ9HNbwn-M`|h`8(iCVm$7`5z+%3jJrZiN^$E zvNX0hj!w+IiJw~Ki5tSxHM9yf{vC(oqPBs=)8)#c{Au)LMM~l= zx{uspWhLEFwsi3)+5=g{)aUf&BK;V(knUQ2h4_T_!xRJFLK`v^=aFehU0GrREl#^N z{1PohGq9LLeXL2GdYa}f8v94_hH1>^0V0l8(%1uDMw?Y1p8J`)$2^d5l`5?62`5mY zroR_^QKuR_r%I^BqOlo(v0nYHuoC^3N?kIy0<1)rwPo&7Z~?Zl`{aj#D?{An81Ovz zi;66WlTEV11o@vIfOeWrRXzoDpnVlvfDPqaw}0M?d56{~zXrd6ijW;edX_zu?m?AhBumbt6){rDG)!}FfVdMYa1WJu zVn=L<;(DCls5Yo4rLXYMkTH_igs##%;%~%^biQ~N@!k4sqCygNd9&~{>51EIQ5@-& z4Na&a?;oWo&m@VAi3pN7hY?fiB7!n1(zXZ{49NOa!D$A3d8oir0mQ9VAY+u<$oR+p zJ(Z>`6nz)Oz;}uq`9DgEguZ-X+7v-F?`!lfK8=SCde8g9^Ke7(zVRY$)Vx)ko1?PG zT;WHB3?3nzD?eNOK;SJql}h9XO53Adcwouapc3vK$#ORzZnH#eBjtSH!Nw?Sp|Acn zY^NYYH&9&2&#m%K`NYfA(AHIRx$2<6%bc&O6RyLY8s$|RG5ZnEV&kwZjnpL2)F;8x z`1@*47d__<*BndXa9d4H>q0q)jEe&W952J5E1TV~{a{09&*qhnQt1Ag>jhf@?@V8c zqjMvTC8gUpChPwx|FLSa?ypK)-}^c`u+A~Szy}_;SW?r#|I;Be5%s0ozCs278sjUG zIotJ3ptXtjbe`a^k%QXjP_A#k76I#a4AeQns;ri&_8|sGWuZ13XThQ?n)DF3BFDb! zG-4z%N}GiI5gDSHfu7`>rRJbdInL4CLi4S#3KTAQltOCtLD&c77pnBQ-fTauEgp~{ zS1SoKBTTA%LWj>Iw7F@=W1f)>xbaJX$T)PA(l#IcZj8&Qy@qIMRHu$FmA5k0_%VND2w;tjp}QSeQB|hZu*+BQ-0Z496w#=p&tmxNCtElmaG&X z)p^hUM|@HdIL=!zfpucEhk&xS?EEcxGh5t?<|Mss@+<+Y?QX~~lLx)8pI8C%cv3$L zAer)`aW`PD#n!8Wk9n~wwzZ6ud*`+_DJtG2X&c~`Th_wrsGzK%i{{_p{T?68S0Iw9 zo9n)Ve_HDN{J@Ni%Bt{ddJ4hkPHh;54kx+PRl(jxeKl7j+=7@jGmvvV&Q~8q>Za1o zFr8*S0uIncWM7|JG)`6PB#6u$Zb_EXRd(*~T}LuI^!J3LiU?Sjj+ zRJNH-eKbbd*CR-8v+vcWlXEuSsfi@_u6baJBEJmWZs??Vdn6hBDM3>e#&Hy1OH}Fw zrg@YqQ`IeHWo4tyj;zv+c+*$bhBY+92iDxcOnox*yT@W(6Z7j-o!*T#!;%%a{aAs&nRWRK{-bm?r}byD_M7_j zixQ6-EH!~v@6|2Q_AKkxCTfB11DbsGo2mQNFGcm1T*CjX>|D=*-n@$Bx&3Jc^5}|Q zm!hr}=5FVbI`5^O56V2}XuC_xKoep+2g~y;*{M&^mQiC_S`KOpu#}#(tM`8SylBsE zNX5<-%+7$y2=9pYy}*(=&pXZmQ4=nbGw+Gg?`*Y0e_bB~9tYaGvodEx3qxbcpz z_5NJp#5FYwIF|9^^!`Wj+b>GjZ<^J*T=H{mR})tP3|U_POMK3&ux^3))STaSGsK}2 zlT6)Q%R0_+{EsSY5796-O>LoQ7Orh?+@;P838?o}wRiz*m#IvSUgpp8hZ7-26t~k7 zH_Q5$+Tm52p1ZaASNVm)37XK#WhG%u0SH~b33>-oUm2IZ1l9*$yv`R<20iEf0`V98 zw#`mlGveqr-@>yMrA_FP>dGF~L_W5z~6A9Olo7ib!MNtPRAEiz#33g|y*8*gXW zOiYnYIerCp-9U2Q0CHSISK&5PqB5z(a&sK*YPlEYEEoak!A;Bf0sMtuAGHR&n~>#| z3I-4-+c@EOkQVmivLBJzb+_{!$+zUPqDhpM)ZCJb6a#2>Ig>gr{W9P=6}l!F*g-wA z*id^FImsz&XSS5+0p}~;lgPW2;gk-L-CT-CuJzn7B z77JY#m6hQIwG$D9OWd|@|I~BFE7i|4bM%Aa^Ev7&F7Z^pQIlKorii7=NL^GqTftxD zQ#LH0>iM?hgsf>|9MO@h?n+7FHHTKaWz1_>FP@y8R~ts0npaUBSrJy4VX&kv6u;BC zMVd<`+AK@SXqfutL@(kdF17REW@9hjq)89yY!H#MV68g|!R;9 zMcJ@QfG(VNBvFvekzx7;Zc!4*1Y#SNrAKdkZxii8~o{YGCd4TrqJdL`*$ z!#Hp_8~zhdbFYO5;J=NV&G07ynnQ}O5k=Z7WhtaUuD+s*bR1J$IZRG1{slTizO_jP z>7tZ}bweLh&bfVu)KczQPWCfsm5m*ROg3FpQsTlc(5H|Itc`9^5RT<)^_+ocUT!GQS4pXAzoKY~o;|5#Sgb)lE1x9d7Cr{76><_! z0#^u{L)U|H_+MRLS9bINvbw=gv$XZax!-g+)$)Qp+7Z^=;x+0YNSo3c)uO@~<@XiH z#94q_vJWfvS3Z*7b5#O@r827#Mh8n$SDUlDzSI&3ATobp<`zw>&PODczzq8f^2&yF zr3s*lom%jUFu+z#m}^9ZwJOx=AY&JcQ|Fp}y)#ttJg>EFD&ugWXHz?TYcaJxIsbg= z5p&LlPvwWIZ9@)MG#MYwKV3deOR^efoMh2zLQz|DzR0eiM+!>lK+L;h6>JY~UYRWK z9zF(85r2>X1kGCho(O`JxD*l3KrQpO#Vg`!x(64Q$)(MR*8m4v5NaI|3~ffsz>T?& zFc+Zv;vVB{;k%ZH<31rvoG;=|B5(bn2q%nuNF&Tc5(QfeKTe$i-;2zI@R44qV>z!; zT+EUMQ zv5v??n&N7gf8 z$$Y(9)UM0&W_4b&`3{m2H4)@w1P>PA@aTAC1t-Tys}wo;kMO&ZO)1L>O7zS%bBTqRLfF; ztI5+br~gp&9g-_3Ep{s%itfN2K>A=B@x8@Qv2ucN^JW}{xN$WQznS>MM}gl<0#Bbn zcu5=^FR>N@rS;KLkS4k#VhXC0o?SGIZlzO_3o&){>Qxqx0)5w#+t_3D!w!x3#q_#S zZHUCM7XBbL9{zw&f!iZ~^QRUbM@`~!l9*^)?(fJ4=$l;Al6>@UF2ErV+sOGoN(r|@ zmnwEq@G!Fc4s0FVEIV8{9?>mTZ#stDBB4fZKrzH^-rrFuG1wshlPg4xQBy7Fhdaq< zpgH;&s18P}Viy#`#hT7do(P57A)*VJul(%ILV7D-I#{7oB#TEWfdRazVH2*bc8XT#SfC6zluE=O8BO0QT)DwRp@Az`n+o<`m*{*g5$I;4yYy zQDe?aHocU%;UIgsVqVw;j&~(`;RUWM@T=VuUJLNojAqI8|O;d71GF zup`Hb=>~kVVG6SZ{5}-LJO$mk5Xj=ePTJjNKZ8~Oq3AZuU9@T7LhMRf7SsoDhGu|W z&vv2RLR7{tr~4zXuh>V|qh~F6%y32z+8t#I&^4p)#W0fF(5Eo=lxdhR6?zH?H!&-K zvK#j$E}!awzqG=MDzp@V!ci|1&f9IJqli;RDLRWNrffugBTb>)DwmPS)P&5Xq`#=9 z*zM#f>b(#txsx_;feZNn&BM-8QHo~S;jk>taz)ZL&K=ZJ0+e&N>of8qdD#QBQopzGBCvxU&mJDe7q)S_(l{;-^dQlugBpCDYSe@$bY-VnPTx zqQc+;LWA&zMs|e`5-!F|X^ zm(8L;$nNn=g)r#<{_{*O7Q$Bpp8$LKYrxy`r|_OZE0a8Vjj(U4zw$_k3V&N(BhqpZ z$TuMy#wYVJSbJ=eZQlQQ%HFo4KL5 zt>X*1lL===DKwoOP5c|MlkG}U=i0NLlNW9*WDSvxt4u5{`5(WhtWHX_^9I&$%B=AS zb_{iF?nSjRRm}GlZV(2x3DSke5I{&iM7rL*&b-bQIV2{Z{ zg6UqWMdjD%%aoYxSh|%0n9xPrAzu~oiAIx^__okeWviT2)a}yz@%3~F``D-~#7|nf zabr1zR$_?Gx-qEI1mIs@4^ktstuxmu^{vQ8$%mI&7|zm3vz(sY&4feU*&MAXklNQAeS> zdUnar)JduZ<>Bi`l&OH^6;6r~p!=dV%K4yt2e29rw2ZG{A);bb7BE#gSQ%EZ*7D5H zloa_BaPRv0@_EqJA##}-rt`cnI|N5K6e&2cXBO+G2-`kNRWjsg_@4YCSsmi{<}&F? zly5XZIuX4p_@#t}@$f`SjF?)7FzGpry~X0#^KY~mpkGSIZ_3k4_7LVI*NEQ{4y~&b z2M|+&D@FCh6P^=9O~juLQ^o1TDvQODOdDJED!z#C)86L376;NdCR>Ssbn3cE!g{)V z`5mD(-L&wAV1(Z6Fy;Th5qktY)Iq`7Ir$2?*ZNa(>^ww55s z;GSQe$KS%0EM)O>xMGK3{sM0N=<}n$<#&WES#0h!!5itLq-6qk>7un!{H2n}<;!?L z@s@?5JR8Y4`$yb{KQ%d7mNrJw1OrtrIlY1fTH2=5{3K0!)IHv2wN20iE>?wDIG*!L z!(bLf6!un%v^dxG>YlQu0cj@jyAoFV#33Fm-NEbyn#3t zXO%Z-Tno)h3D-Y?)x})U8Q^EbAyuV_2fh$(J#xV1c2zL)tZjg10Ok2d3KcLaD{rcP z6NbH6qqD~5#{_DJaPz~CX=u11-|^~hyuVA8W30_7**DkyDn&zKV`%=QvQ{CVf6XY-<-EvD0^12UbBWBxqg%C zIomVzmD0d^=@X!6Wu0~LP;|0h*rv$lv;O{nD3PW>RFb?*9U+R0exiIVJQAu>2!x?a zZpj%!8|NW8Rv2&VCu!#0_qyxoTE4!ij=G5H<#R(Wy=paf0NnC z8f`J+4F075n@VZxD$PiWE9)?3U5rd>pO(8i;AQK>e6WY0^+v%LdqYQap`DdggIx*j z4}~7n#^z%kRr$WLN7_aT!y@*#x)m=E;5Q#E`Qnk^3@`gXY`q0kl+XA0FN&yOfhZ~} zs30QUf*{@94a>622C%TOYh5cK^?>XYyF8jI7#PVV(D!RyU6>&O{6{WWz< zATcX1)!&DxD|fiufxVfd@Xqu33^~!L0d4VWsE>!;acrzTkf~x;SL2_xK<`NPSe9(% zWUXt~PUZR~OpeK%Jn7FrDzIK72kB)}o0%KpXj46b)HE}x3PLvO2`ihBUsfKex`7lg zuq$3r@IR#yJXH%v13XVxUqQdy{itduCff96MKwmI7gs)osa!c-(S}J`fK<%jqvo~D zr@{F(Ye>D3owv=&KPrX!&@n~gxDTYB_j_ESh{J- zSx_r@80Z;xAG#J?wC5P?Hnd^8AuJdEe9==JBUcswsXeGVnM<19?UcHetfG%kK1JTVh=$iD->vQSZ{)HyC@fLNjIrM`yyq0DK_wmbOp6K z^n#d^GagA1sV9Gpc`s-WG>V_*qa8LTy744>jR^(3;zdBbAKky2>D^h;C}{{VFAJjF z3vn%em$NbaPhm%LY&1n)6CjSulHRqih#!*l>P5%9iLWh+!6(r@svdZyHnAnE{NC03 zQ=)^H)vQHSgq^Qkm-I3!vMevaF4ncg&)zK#R;<6}cbu2}&!S*_Cf&J;1Kbfw6*q#w zv2o-t8AXX|2q)-Z3O6YYK9TmsKRl}qtYh1cP=mbIoyw-e{#wG>?<&SqRwtuGDS&+d z5NRgeDBUjG155@#Nn}C>p%_0o>;U|ctxo2mY!zJyJQ$%r*P`;Slxrj;K;i|}$)2zb zVrc5;%%se-KytQof-~qr&N5$&(sMFuV*)kHGv7E2k>y>OqcDuph?rl<9lSRQ+wxNJ z-N}pcIdE+10aR7|QlNK1i%$UviEgw`1G6ybjV9ndm;-YZp}6>9)METAZb57^Ark=Pt=uP(`{_Q;|T1B96I&(kAIa-AY!kWZc zF}_3BCK@v6vCESmGPJy|0SxFvRvQ7I=(G)fX-)Khd+`dxL!sh)wrixCC>7%w6Dl-; zxW*^&Kg4(>neeW9nWP}NPb}L~wYd@Ne*%KJ|3*CpE%;#RMiwDFyVwiOjhZO*&ydC5 zlt)BYB@9Xxp2DQ>5;IHFWUQFDekj#(?tFf#@{xZE!qk;8Uxzu=s1|&UR8)FpEQ#qT zD~mRa=a%?;nkG&bi7ZYftttGmK0YNwik_!raj?!vAfq}nDAoe?G3#BzS+Fibn&J?( zI(K^-*1Z#13Zj}7!Zm5RPqQNCD0GoH5V$KtpL!dV2ldaBWC-E0z-LfemS==9 zJO-iTwl4E!&V;FBRugjV8ZAUJa@8D#?-vfHJj+2)BGaI`Q@Ov>JMs+E>cErvabdq9 z$5B{UU08Yn)dUH9iT2i#XZfO+&rxJwfp^k!>_O6pl>InZPFI>f?k50{9*-{wTMf>_ zKiTUG(IJHIx(I<1sOr9)^S zmnyIZZO^V?umR0f^9l5;@{qZ|6mLUpnIM$#G=apg&YnnK&l^oCPNi^9hJez#Ij^0+ zrw4L8jGw0)vHxiHLwebs^AtBJT6sPg!7A>x!YErau}CIPewDIN@*;Q)U@s;(C#Ibj zA&qm=5F&p~dPY0{-+Efkji}+OGJJdNp^BO;dIF>@COIYPa>>$Q@6<&_>-KyHNEBC$ zm!-Z{Ks61(Zw3G2Xe>*lJkkvd&nu4k2ye>oPrxQNp{A2h1*Q~y1w3^u!K_RlF)YJ; z15arTaGe2=f)*K1bp1({tg;pxXtPvs55D(70>{%sO6#c#~=DUz+Qd^=J2XWD26%fQ}r^ z>C*rg&~yGqB1lx)N{CH%FDe(dJjVgD0Dd61F0Lrc4f(oEXu?{2XP;D zMk6FY1=T-ahLmAY9-5l(mywT22j7D3#cqoQz;0uY`d-LPz(v_NW?^wxwr6KK;@4`Z zBP;O#Y&LQ&a5E)7&jI8}DF@xk(4}<6IYVcG_>9()1)077FySeKr zf7`s$78nKWH}}4H5CU$G1EbXY2L=5$MWm8Sny%F?$%Qvpe$TH69MA`w!kZQapqlE zKGG?hlr)?diufJ6I^R1N;Q9b%jx4v>in^OutlNwl&U>I*gWHEvT4Ge?gIbdvi*kSl zB6jw8BJYLgoF`S9FUXA`9ol$5hf6x9T8ech)8}>NIl*k0-!kgphnbHO z)@7+PWkJ|%L*_P@VZ>_2xETUbz$n>Rn$2b0QB`hvqci3yq#V*B^2t~L^Azrj$HI#R z=K>#P_VUlW?95W|)l6??-Q^8$G|BwJJF8lTbz*G#N3G337Ky-2=*B{E+*eqxVp|{> z&X83*AIglAQcd}pENSY7i|_$4S2YXEq5q32W=+s$) zguF!Flic)JlNTuNx7Elaix(PL7 zOQoPF;gQ8g!BjGM%TkeX%J*edF+A0HP96rEOUb#Z5?(~y?`RXAX5xr{JNHgXwDV`~ zIAGMgj{62Ux%m|DTl(y>Mt*Dh-?oJK%TgDl)Ue$F=}~5ED`2VL6k7+><7~lJ%_ufs z%r<};Zw9hILw_x6;Dke8&S}X9&F3(=mjQ*GinL~6V0hna3}ohtJrD*w3vU+9;AK~C zddM_DtY5}vLJ)sPWNhL*l{86xmg5o;Let7c`h22oLb99$w6%FTrblQ-`DU9SG;x0V zvNYPm{J-M@v2&hE{6s#19uMbI)G;g{7m6NsljCiQ4pwZsouZ9>u*s0J6Z?Ky0%ZVK zHZT8=awfhbyM#@VLdkOPGExqCz|ofkA`hBWC_fq2y+kq~k1rFEE>mp&OC@v?aI7<7 zD8e_^d2b)0E(`0ZMtINsWs*ZUz&x%iA|$YMmqieh7cGFP0{L&g9C1drJjK=TmJ|no>{XY%0%luHOE@6M?T;iqV2)OWtPw0; zs3tlCfz0VbKbp^H!~(Gg*v(H(bTZ?;%T7@slxAfid=9(6JxZhkzo-=;R=}$k>ha%Y zHO|Qs{*7PZj)Id}(Y{^+Saz{s6@ACydVP$fx?0@gS(AJ(sz^3RYOW;0g;Q+hAO1!Ib6$o?ZcWp*K4k8!#_FpN2l* zJixd4Eaw~~nC*$MA~Mx5NO2f>Mdx7Q0_4S|a=CFHNa@90jr-dUm8$-JFRwj{ zW9Uk!3yK7cqa|J5jVU&mm8)Pzb)fPsn6jmG$z`l^2FmOso&K*b&r@=DlGG_%_J#D? z(pnZunl(5s<&tJ}Jf!)glS?B+@5or?DCzxwTIN|#s!WwR>0~H9&-`TZUTV$kHz9mlEqBUQkF2D5vTMwBLA1F{t#ZU&>*`(s<3Z4@o&mo?tcq zj?^WPFLqQwDZFNL7r;6Tts)?SaxRq5_;&*L3ikvb0Syt~hF3ziW$~lkVT45exYo?W zexgKv_A}e^q>ni>n^z_WAPrQ?Nr9*brO&*bvq1bz|NiW61nc0dIowRW@FC=i_?hUK zJeDsxE+qe*&B=IHf$b(r!VFqXrI}=p6O^dC+oQ4EGd}8=-MGU6ILv3*p%4kSJ#IQ8 z376ti84bm+w$X{n!1r%bkGn$HrLvD?K;jlbT-vB)PNv6IY8JM_S3pgI9uK@l4UByo zI!WE@{Wana)zexQSxb%6?T9s|wyF%1w5g8^)t!p@NOpkRDjpZJ&s&Y#0#)(najwSh z3082{dMAZ-u?g1Z;dbn;x{&D8Y`MxY(o&kG{PS+LLRS{p<%k@O{^s#oIu1ejmP+hm zh5|=K*S&6qTooR$Iv%=SsHG3M zQ5rg`A;b^ij zEF@}-+_v{q>}K*+lg}|nD9f}tDIkjSt)VI(9@it0Q%xlMs&Q5zN&>yu*{Ri`TUh5p z3nR!Z&%JR`SDANBDx!jzl)b^6F3z95n&n#vn>?47uFH<`oc1bYIsQ0kNyO%?eHlAqbdoEej`6R8W8mh= zvOSHNGk~{7AF@i*+g2)aUxJ`>6mo!Vl=LlD7w4BMNWf&Kr~OVokVF851Fi(cXXK?H zcRC9-&L}YQfO4RPD?JgK&_8n&8p=e(0RcXkfy6}MUAS4wCUAOU5}*Mx5eNe+SL--w zfa=**cv&&Yl$>d~D%u#p&eI&{f21Dz_;xav;MG2^EjRfsvOT=)1Yiez7fTMO= zG;+Z38{lN#p%n*V*m;i`c{|NIEHjUbYLEPs-wtt)HAW4^T}@b3(C43&RD-VC9h4G? zK^j7m8Q5hj$S^Cc(|l=AUIuR^wB%F6?h|z~?4x{%Ik9(RV~G3x2=QNt-yHf9r6f;- zF9~N!ycH2J;{Vy${h%*xlP7FWI+z`7yYL?OKdnC4r5$~`eeh0(YpgB&) z@LJ&vt7EL0*F|3A`&rb4yd0!1JPv9PJs{|d!9>jRD}9Zk+j$4=nX&3T69b2sV?5vr zL)b~qzsM|!?xSA}LHY$m7JdNfg=i}5qd$fx%J4qJQ5sSmd#mVBN%;1=(P0wM^80XS z?*4gQ#3ERJ$eLWW%oX83fx}sY(U+sr5OMJgugRR-Nk42PNE5&sy{pJhpyLu7%z^aP zb5sEv-w*1Gks&HG2IFs~F`#Y98j*2u5@4<8gRHH<7uJ`v!C^Kh{a3JEPRdxnA*LzDG_zqHK$x7534|LM4JF#gRC8y8`{Q?Uja-)`uH&%H?<5jA?whKT9&skruAs2Ys(D>`{UN#Xa)?>@ zYgv6lZ`5aLV6a6jUHo8gX?&XKvN=D#P=wp$mRK#?pjL&t!oait$Xjv91bh30SwFh5Q7VFh^l$a#m%%jJ}mVf`G@b ziA~M9m1OS!9BH4rb493v#Y=`ryYpf5Uz1~P7Taq?TK6xtZTtNGCOP697P$;vI7ld=m2Ij#-UnK z51^H>ufBKS_L+wqeKMKZ!8_k&X(H%rld}f#c zDEGC`X^2kVy4?*>ME5xM|9%5rb} zv=0;w2iUf4YrO~ZR$f7 z&z_gIlx4hQ0FcJop{)jvVtJ`pl73VFwO&YdteJQ+X(C~P*e2|2Qi{mlYg>x7aGSk; zs;dCL1Co*^;H~Ke?dE+{Sw*&^9-Pl1=plZ2a6#rbxN_&rNNn*q%=em+EGOdJAsgqYoS69>0(!HrfvjV6bHX!h1A22ypquwPAUk1qEw|*6GvoEH<@IN| zF1JL-W$Dk!qy9yHQ_=Fu4?@AYdZ{Gl~cw{dA!=M5jHMVW~u*xee?YQLqIM+f3}#n94au`db?RXZ340m5r##Y9XJ)V#tdcRo*q@T{;{3_!GeNcmsNTL(wwalkUKtMMCRm2Wp zJHN^24+z2g>~t1f#4|Gs1W$9%Zf*td;O)|g&)&;!|1TByk&zSx2vM%~4!!NkWU5B) zbx>!P$E58XWl`f7>cnt(2}!C*&b7q)ISOVsmy$QeVkse!#9$`nS`6OD*Jple&zxf99RI~}EKJ9a$6;_`9%Pj^M4Sr-Bhx-aC-@(OGpikCb z!Oy}hRP#x<;C~|y*uQm6T@bYqNzVXI>6+WG^!xl-F!shf>Rj7&@R_@?Wl9jN;^9Q3c{W z3+~R#&!-XL2n<%;FF)rgw#{Wc_X}>L)n{ZeF4Le6S%It3uFuqaO{5iU(eG2=?Z!)stuU(1c=}v_Pei% z7~wF}L!v)XUR$CisWGw3sj}NKUzD>^ev<8+uB@(kje!c@neal7-MlAJ0*C#4o!Bsw z2|gwM@a8f>X=2uLN735E>&kg$2;gsNDC6}?mbxH-#rhrxao@xaOn7cT$}UWH-ZjPk zn7U`vEzVT{Q{xf08lW7(8ByTjIe9d9p7Iybqf&j{bm%A3LhU*j+tW>UsW51uu}%6+ zD{zMfmpKSNrj%@l-C_GlThi%?dW#B;n5#v=}`hEJiQdn1_FgUZZ}MXphdClO*{54;6~ONXT-2 ziCsjvXnhDfN|-fD#=a&l*zg_8B>Yg%#^(_KmNw;YFZzG=<$VQplRoOqL3`2fS?6H% z=`}`97)N^GMgw#nJyHFb%)t*p%3ufw6Qv@7tjSwm@I$knawW#Qp_v~ZQy z5s`}`$__^X=4SM%{5dLj#XRfkP&68b)T2vMV)DJ9ni^au-z{;oWZX|nQF>?YHIVV4N%RE*2%%@I7`UpndDw%NsLo`A&!I&gbE zKSsU~!B~hl`LFyxY6Z2OY-IVA_Jtg3q(Sc_Tj@TepCzlTl+lyO<_mc=F8R;@ms+sk zkMh(1`^(NiSt~QKKy}fw1q+mQ^FKfTKmRK~TB!UrP~E(EW(jQR4Rw1B*76f8{;aZE zouVnw8eH>Wt;RZQo!Irb4W%3R>t5dUc8j52ygp}Z-?o|Ue+;+p@G{ES$u@4;b;9JC z*;4bJ7Jim6E1q?;%`w|Mc0U}}@3wOccgo(wb8d1uw)c+fth=U%v8RVul6QfR#JA1w zxc}{duR&VDrXil8@nJdP?1;+9zNk~tcVoW9t%%>A;FK7il#z^0;ipyry3!5_JXHx0~0-ZxmDuOGPpHhSCk%!ff2#;f**gReN^x3nc&&yvRU;4e;{OaB7<8O-JqTfZoxB0N@!;6o{ zKUIFt|Kk63%h!*yli!NIr~NSg@$zTOucY4^zX$##%(WbqXNy`Eo2oIFj4getuBx$a z`KA?HR&H9gVYQB?w$|!38rrJbKi7U-_e5uU{n-uIH{Q{`zv=$wyIXGRUDv;~^~|>M z?S~Bx8ust#HfrD5Y+S#q)}-3B%B`7Y~C_DjUGoX5HM zk$3WD@~@-L6&yzoVS2DlxC*?Kz#`(6(F&!%gc?k9r`s`%nVVRvS-;t@IXAhdc?bE; zf+8V9gcJiLAyOBasa#i~uJ~T~yy!;psgmK+mNG>-wIaJRp~|n?zQ(XtyH2(4bN!Qs z>BiGdhnn}bG`Ci?$=W#`luk@nPB)|n(3`L?sxP!ZXuyBJ&jIg2uY=x0KEr+^0iz*@ zA`ZunB_ByY3O|;2oG{Lu;7>|V6rZd*)pWY+%z?9G=T4r#eBsu`Czsw|{&7|9n%4C# zQ@f@eZg|av-%Pocc^h|!eYfyl<^B2xtq;2%^*uiDWccZ!XGfkNe{uEY<5!>GsJ_*D zr~lsc!|sospF%#ze@XuepGADj`JVLy^fTs{*KdnII&<~EaPgw)#Za}$rE1Hp)gv^( z%kx%XSK?RUSK~EtS_NxzwV`WM)uXKbk_ls4$~Slg*nH9XqjsTvW~Y2wsp6&w>NRvx_h0YhSLJ4FMD1) zKXkdd_loNow{iDF9)q5JUY*{}K6Sp8ekJ~e0n$KmkRX^J!VBewal?5L+(>Q|H<}y6 zi{-}&;zbFPL|Kv|xj3a%*)LS3)c|YL>p%_Q#*Ai23$zv125--7&+5qTKy>7E}*|AMHTe&*C<@|;GuY%XY z2cl{5ImvP9kgP}Eq^K;E7x9XzCD_v3GI)7Y60sZ~E4}=e99pnr(4j&u2e@Nx<)-lf`;G>*l z?Z?lLzn@%t!trFvDf;Q=GpEnKKEL{c^~I=5sLO>{`mSEM_Hs&Xddm&_nV_3#w@|k^ zcS`TJ-0Q!8_`!*X=N?^peEG@6r)QsyKOcV4`Lf~_=XK7TxVK5~65q#s2>R&qY1e11 z&tJY=|Jpw*`Ud=N@%__}eLpjPY5wZ}9sK+LALQTn|HdNG;$>=4ODIc=m({5^YSb)O zte~&VU6r~zNYg=U>zZY2-f3T7JF>1uhq0cvfwU2&o3SZ+v-=iPJstf8`Y*O#*>-4q zvw_qQzXN0xveVJnaM$Wxzf4}3PMM9H@3W}36k6e|AvV#rUUt^@+Z;4^tL%R7_`vDP zo^j{>F3o#OUHNV#_Z$zPXSA2Ux3iC>?{+^Oe+~aX0UraO1>Fk17%~w$6xJ197g3~a z2l(jhnAF(tIL~;ygdK_Nla?iYPkxzlEA=ekP+BLjBAo}qf-^FrARbUl*cP}3d^YoO z*5&NOi1wV~TskrU;lfA3kISAseP;ih{bKr+ z$!qGHsdrZIr61mY3jW;wRdqJuTgUe=Kb?LNevkZ7HUO&fc@j!FPl-EMMrkFV8ashWu=uygY_5ufY$}>ji>_eh?-Qa!Yz429Jr)-G9W$${A z5n08trQXE5ij9;rq)^F6NDS$caDT{KGLaW-&!IqANnafZ>0OKNHW4yfUY=+ta2nKm z0EAQ3u;N*wN!cv9kJwW*n1LX9%G^WDNxy^yyT{~D?6;ps@uv?)-?6}-=+mC`#6RlP z?%qH!ZB8q?MJTJCAvF>WD&oOK#FIs>!E};LLbFRG%ebkZF!+e$?YCaxeMYS(mf@54 zt9O3Gw{-6*d`{47sUY4U9H@N;nkE9uZU?<4*~!CfpOIa7Eg#cyUoWWKoW?zzbUXeX z_u=1g%53cq_6ym4+Xe^nS_~_xRQ(3 z$5-KMCJQ^(;~pM@EB4?)18@R{u%g2){TShFU2)JdVo!;UtqbX};J}+m?oG1&6q_?n zI(DRneVmlrCS*M!Mav^tyGR9uB}_JHGJTx!o@^H+VPMJ6?c{TJ_P%oAkho{AYb&Qf zZey7&2J2yKI&*}1RJMhw%eafX$|z)*0V^4s>7qb6{WyJ{?KE9VJNg38_EmtdqFBMw znL|IBIpX{l4aT@IPV$=J$j4w$(@%2`r5&KdIEw<#(RZ+dY;EXE7&*^wvO=qVU%tmo zEk}*w8R8P{rVjd3#WV2$Jx`{A8KJKgy92J%P6$8&>uDuis7*ahz*2ph#1ypFUdm!r zH7aiiq+hKWZcL;*R1}J+v|}Yj=wTXGF#=dhbCmS?7tl5ez%~XnJvQOV0>=CPz>B&J z)vn>8b9ATHxCU!lLxY)+K(nvbFE~kkQ>L97Ks~Iu>Gz1*BX+VLq8{a3cyx`Ce`xmn zcRFV<=HPzXXzzo13)+tMRzVGQypdm^No7<=r?gO`N-p`qsFBhe)&OcA_s7HQjFl&w z&M&4L9CjMXj55B}60 zE!hKN@5wik_r&!6ed6^*r|LaIDAAWI;@=@k@+NpNl6tZx=O?Mvm%uI~E3Cs=j+FPe zc1Z`=B_|5SM_Cbla^WYYbCtaymXXL2^B&O;ATM*dbeAL(jty8) zX^@DeMU#%AR&ngUJi%?@-paN7Sbi=W%bn%k$i2wf&w(cTu`#TlK8smC%o?jG<_3oC z4G(cedCB;+aI7S&cZpz0VP^SB9$nVRir_j*Hs{>nEEcvVFj&+49o{+2VUEP|6{D8f zGxbJvzp?N*N4Tt();-KmtgI-LaPO2pVmfg|MWKjy>`d9U`17m)v8~rLrVBsOQpT`j zYh2$i3hb^tmL$NmRdto|PB)I1(zy|}I*cIB(h4$SBkO+ggLo6>dHH6qe8xrLA4_lg z49DwQi}2#XhNDURKYhKOb-eJ-nUV_5?Ur41HoKyZpRK%JyW(P89TQk|(MyYwFUhi0 z-W$t#uKXA495{J;OMLW-SX-Uj_$TF^_$JsO2m4$d7Wf;jS zEiTbRcu(4 ztlWR{ zG-(dzZ`sW>{27ljP4U))Ud7%*^TuzADt>~@T;{;NM$#95=a66vg_qa?(JT2)EIoG= zH5*QdP%ehGdtrYIeHt~vJib@ea6~58 zzGR(iJKJ5VVRn!i#Fb94ih3rIedpvq$2QgQq+3D{H){~tEhx5I+nkt5F|JUD3wL= zo`htGZ8_ha`}jZDt4-H%m`u&#rn-$)$6KFQiOa#oPs_KK*fQ&iX9{=ZIV;*^uBlI? zZQ{(}`=UYt$vKUm!$q6?;;d!442{-Gn#)_aRQ{@m6&sWZs{xF=#s1|KBv)Zl+>;tC z-6o$2MvK;pA3AU2{pJsvykHNqy$`;w)$d7Y0aWtaM6n=j9- zeUy?d$*ou(G$o8L{J7@?FHkHrxxn7Zc{x~HgF7! zxqcHbWus(Qbz@MOP+xh1Yz=RdRNG{N^@+>tt?J&1-%-PFJBME;7B`Xcx+H3yA0D0+ zP_-35o4C029pOm8vcg*8K1aAzlk~^>$~QZEvJ*M?CO zGRG>dsoN4rrK_l${Y8q?RC~v*l0d4$_#Qu#=Gcwt%;eWpFKqeB{VIxRs8Zfl>06V} z_RU;Vk<9Xoe_rCv%=h1@&|q}$ek877tTukbyFiz94Rlnw75=NZz)=1&3UzBWuAG4b-LUNjRsd6td?{#{$0~;JFPBs0ii4bVi^;VSO zH&!uAm%_G}WfZdFVv53Li~SZV-3pnz6NK-0J-b$L5v;2n)opJ(QYyTfsLic>ah+NH zdR$f2f~p>9f9cz@sMueHPYNIVPDn?j!MpbgxdP5EZSE#^Q-@kxNk6pwc#~e&41YuI z>DDZqRb_R99yF>{QFSx6x3H*`=&O*z<*#<{655FjcWvNIbE4WAZ9yZT^4P{x1J8H^ zwFTWQ?6u0^R(I%(YnO{Awr6yXiZfx1V7W;Br;v+o(T zmwvr-l)5}$v!#L3nr>1rq;MkRs*)+yp6^S(Q?A>Y%Dt%3Mx(+Fv`uxc2Yh%QvYY#s zaeC>Y9nGh%1AiQ-U;C727D20+BmoFifSqbJZcT4 z4n3-sIBG-N^|FPzZyJY-M$^1%8s)t3Yvp7~w8yui-9l~K*OD>r(VZ~fR~Dkiynnc* zS8}}@-{3~|Zwsnflv~+oSN;L;tH!YSO?X}TLitUP>xCWScH74iAAZJ87O$3VQ9an7 z)U!b%>R#S`No-Dc`W(`?V=auOT}jOn3xbm&)AGK(t~a-UMk^FOnT3MPz=11V^P#UU~I8erf+C7BzU*po{Z`1rScAzyO5 zQM;MqZ0=cdg7V40M*NfdoM&@-BWD|-R4k+$7w^fNy8%`fNx z$Hz4~bS-mg@palygI=*ceGSjz)Mn9P0`C|^(31UZM9RAWfDdrFZjpLjN$l@FmQC+i zQ;uJ&O_>wsL&b|3w+(egBF0AE_LClkVFdb7s;oTw$#9Lt9FW>yE?OA5xf3o}?Bmp= z#oOhiSq0#Po4+XvXB8P12!Amb@RprmmQNE1M-G%=vfmAzD+B=w`cBD;A}u-^#ZP_0 z8iR%YP8O9tybcS!!Xb{n;ZY%rIl+B3dB4trfIgyLwLbgT(8jVTfVgjc(M)7u#{xOU z2hp%!V&oK7xj}H!BCybri!=Nq+{S`)&rL?Pgb|Qqn0ho~#X)-2ETDZKwd{0cW_xbY zF&{~TqwIiFUPZg8(E_Eo#H-t3Ex643$lW(_vCEo(Jp8_egD@QYUhe|9-21I6HnO7a zU1@{Q@%jnH8>hyKK#7Azor1$J-jN_su+u(VAf)4ZZ{8-1;x3Q35;x(ObQuyE_>>|f z@hko|sf$D;(82G>Yl(Y9yvR35w)STz&&i~BeYhd!g&8xvE#vg@UHE?bvyKadJ#_0r zTf#+JJCRF7(>y@;N#@jt!O`T^)EavgiW3$3<}5Z|x^NnfeJq+eT7$z1F1M%PH}F@> zU*J!1NdyobP zSt;(mBnt129}yl0ejv2)HwGRg4sm>KyU5EKzh1)7zRl6sbkWND9uDVWSXFmgFj)7p zSJGhIy5h~aop?2Q9&iOgOMlquu!zbhSUnu9bL4*m%zNpFv(C}&{%l)qs0;M)K!Ng-+=+mdD$`i;-y#+>NZ$?%Z96Ly8 zbU@ShnTP-wWZNvd0?VlHPW^yuFaPPEg8w2PvHnR!@q|x}P|=s&FMdJYI8`wmQ~*En zrvZUBI7k)NW7hPpE%<~rY2l{Aaf#Jpzi;?`h2O15iS~TjgEFQjR`;BU!NOt>Zepy& z-ml+H@4$hC%jik?NeGu(Rs^@;!*E@qM!Vrn$TBH zt}VY@wS-J93E;Ss>5AJ(9=TnrNPJ7aC(`#JP#k&LRw&9a%W~#BS=xDc5=FLZRo$0P zdeabB@sM<-dV=jjx?Ap-TTNbGbTQG993!*${zN_|++(Fn31^FMJR>h0w4TT!HSQz# zCXrG)PLw|)c{XolrH~S8WjRks^70P})uj7HI^HyLlK7J4Me;Y!@f#~hB}Yrgi%Cwy z4|*uX*8}Uy)rjZ1f|)Yn)8>jCN0M31RKi9Qr}Vh@R`ODriKT+v!#zKpK?*qY=J*@p zn{lJ=31aD}U6~g#XJ8NG9+BG_hiE2VYXro1lJ-<;dtD)&RJd5ClTo~`%Ws7*(Kp8A z0wN~1;}G8rbGsy!`x{H7w{f1}JhLyc@8E6Y*R$>re7p$E_ryBO1m;F^=A{BbA@%5C z5Z{jK+}^WVyh@9gdRrH&z9t&mkpOJiy#)VZg zhoPKp6}HW%*b7R&%llYrg*V6`rj_hGd>w-&o{9cWzatp;(4&WOapv!7SD2G$6FG-l zVM9S|e4~BS04uh3nXHoutawerF^Wp=!hGq^73ZUq=~0qO_deRRK*zkFmc`aMlfkj+ z^E#Nq`p{+6c!GJp<&X3fW2XKtv5%osbsE}8&o8ZwxE;wEi2LaH zNYQM;oqeYjedxTJ9GMieT39HNVNT(aM9P2+__yE;?qI|j-b?%o*KzI&Vx}34Z9oPb zBNiT|*!EtOGsx4`OldY*Avhq$lk>1FVLcfKw&UL*H$`akR*|2&?&0`S63t9lDC+W~ z@rrsbrKet&!*Q!3ND|mu{2md8rHd&R^fJ9bVBSv#KOD;Sp-=5S$}Xhan|@+W(W;Jk z%N4TeZlW|xGF%xbR$kf3YY~zJC(zaWv-}n5GM+IP7aJKRpr%qs4W`~;MVT%MnEzVQftE zL|WR_-O(h*wyh}37or;h>=}Mz%>mR-?(Yh%G!`enI4;zY^<0+a63wIw?M#yxYuWPA z8mZNR8|~l4Yxc#K9v80e*v~fOJ2o%L=W>f{699iWI^~5SH(72$mzoQX^xb3?^B#BVDEIxjH$?&z?8$0W2%8mJ6777S@lkTu)S6zz zHQK+j#-+fzF}-qU!FdI+%mIz3y)Oo1ymL(z4OpiXAL)HuN>G(p6W_YWUSLY}+SSF~ zLXH|(Qf*B7+0am-O&XMUml~18G_RsW5c}k`*j- z99>w!TIWaOwFCPcCF~(ouD&U_XPRpz{}3-;qA%8ge4UDIAyB z--3R4zn=$h3KZ)IvOQR*`s4L++I98EwJ9pBmkjt zuwXLJcgt&T6??#u1P?-!`>=JL^|$J$Y5I&Mk~PZ9x*xO)@)c@JRiT8bNX?!l{3ZDt zyNXW`%C_`z-f}-UBH>tgdGEeD*LIRQMYFltPh6o)um4E1kr@pGl@}y4wYV&Wkf*eb zInMhn>Dt2LK>Y8H70?IvjNT2p3;lmg2h>-)UWu+MKC~XBDrDXb+{$QilW|*?mC#i? zJ%-F{mUFgbbDV_79E+e1_T`=q9Wa77MXI@jfM}bdu_u$dQ2MBCHR8HB+43Ostl*Ab z95ZfMRn6Ms&i){damKc-$m zS{-STN05o$_r>8@(dXF{=2KI#w9FZLjg!40knKv5C3><(A?ARg27LTdaJA z*f;#D7!=rf&*0zWe6}}mCPG~e7aN~6s}=nEWtJxJs$siv5OY!6tGiHiLbXx#A?-hz zSw1sdBc3!Ktn-#%#=B_W&TfHu4T+81Zn9#5d3W1kaHsx5<7doHZKT<$C{H<3SC*!g zg{q|C`Jz^-dh-~6wxGs-ke$sAvpjDM9*UOtm=V2uSYPy(_P^+Fnh#AuMKhHpCQe$0 z^o{mV_$E=F{QBl&yoUOFT1y`fe97P0`H=O6a=A5(xD}FN5oBdwE<|lt$ZgK{1&Z(BUQ>Asd=CVol{q%QT@n=RX6E z-=FBGdCYwfvPiLkGu?BK*cEoOz0LgtW^3m6Y_4N-54I~bQnFRkSLI-3dVPuPQw~Re zRT7r)PP17k3w|l5@osqT5}7#j?Iv;gP@KB6yV>%No7Fze6hRtoLe#Y(zMF4o*5vr= zV->oDJ?b9m?BMgVr$U5hpJ+9A#BKxE5niT_>W*yp;jV0}Z#qX}H-4_qL=2fz^zXAj z*Ntj)33Roe!Z)~628xe(_6qm$J?;ECx8YIMr>(Ey6c=|b!~1ME zv@i(UqF>eb5Ig<%*J;U)ZthAe>Llxlq8Pfn@X$UYg~gx^Po#vQ-t~zn{>585=Td67 zS2tHt?nR$48>z5=r%phNcS}`R(KD=TgvAV#5E`jr4KQ2>{{kmb?Y$5%r|3n;Bxc=q z+omGs&S<5{z)bMhYE{f_Zb*4BQ)qo&U}U}!hVHH69i(3yoXFjb3hv>vZxxB#C&44> z*Bfh~OVN480cfH>tl13)yYXc>mceEn|2=Dg;O!oj^dOzJ%TcUFKI;=9={=Dvde1?HY8#(cr@4|`#Y%l?c^#m&yH z*wuymn0UK;I$>oPt7SHk;eFIJNS^0(M*W2Hd1Hilm~I11Kh7Y3$LbCxkz32B?43q7 zWtR=e$YY5&I&V{Q!vsyYscXC+89B5G&MQ@?>5dz(iw-k5!2DzRKp&QK(4Tpv?A`9y z%(>aI{nd>A#G@U<3~3l|ocY!4{l|c1{LeXGd7kNSl`eeAJP!PGG@R>$MIKns9w|F9 zd>O`OJM<+(*u<{(25>M8ZrBYj@mZ>;vG~p=#XFXb)nVZ#;2!hmXqvbeo4wyr*jUy# zbe(@Odrt3mo=akVTMK7z7|(K^UElm6MotZti2M~=W*0=sopbb;j|Kfo@vAU-moXd2%5T;m{3zmW%%matN>kF|VBO_X? zvW~$t)zs`o-52EZ6Wd#zB%8yU>a&E!J|()XJdMjH`9$^|>sEdjl*2S1rd!b1EhC$Z z!m{37qq=?BtGhR==OylH(a3?Y0rPe74Wj&1XqNsq+n~=14=HmzUs9#Fa zxlI@=`HbPK*hoop{cjvfRLQ@A?-C%e^@OiHOfHR-!KsL5k{`eUp0BCBtbuz<j=xW6C!hnucS&3Hu)pBbZl2m z^BJoXw`xy}4)hlw@9dkTH=yV3@`qnyaGi8yK5kZHYxW}i0X-q&E72f7;gLe_(cZI`hwq_l0i?T(fnyF{ zHjxKp*hAsuw~~s^e9C4~jruc1C=jw-sS|lutJA4GuFVcJ&4yhXzJ~S;61cn3Z?nq& zbtSdwPaL>IdZ|6%{)fCpbw|}eHp+hiQz>htE>+o-!y;_P9V&*e*(#;Qa{#wn^mOp+ z#qY$MEerQ|k=8W0w_PSxo5GYJ=|)`^a}v2&O&ce8&zBoATqrlirmc&pr}!~$a@s?< z;KFa>=DzrSyNKjYTI+S<$rhnPO!BfQ8Fr+zh8DyTGNftVuBB|3SBG^{GlVzYGH3wX zd|?Y=|48}BTjGSlj@B8(sGc7AeqwK%o?bwTYY-z=kQW)Mw=XBZS5FB`rTmaMxY^R& zIsNB*35a94BRPbw11&9igy+Lb`3z!2Zx(GY@qU|i1&`EQ|G)Gma-A+9^e?4P=IZ*F z`j)FYHIs80HFemJ{Tvq{A9=rrc>56v_hvTSrRPdKxw9&2ldohw zthGnyv6{3Y{fWRA)j`vJphV#<7-N1I7w1(>li0f?j)@XnN%d!r+e(A0nQ82Lmr^DQ zR2}&Yj9EVS`2(INz40=$L2u0;V|rn~^Ipy3A+P zvu7SIW}X;w>}g@z^vyN6Fa#YIo;PD@^Gv)a{ic~%6h%L$yPmv?R%C_k`f2;h9VjuUW^ayJqMWgS!Ro{!3Ulxn52) zSree@U2;CYHN9~;_iH0Z_Ln0x3z-OZq@G$c06S<9J7+=;ipaP_pr`nU-wjqNzufT) zV1cOvU-*;yq8kWYZfBEh8)rq!UdCbgoTa5^G1PC6$}S=9c7Pp?_xN>Rjrb0F_dUQP~xJM{86g2Z!{O8g*i-T zZ>H2eVohTHOt7H5>mD#nw?bMD)NRiGrkHOp~@%|Zz)LgImDUF5aGUTZ9E6|7Lc*}jA4AoGZ%b2f`oeeB^}UXa6V zkO6&d{;I%sHmf^iHmz0clj5<44|tle)3mL0J-n)pLJl{BbJomrZJcMjyem4kEZ&0H;3?{bFOPz*2nJQCQ;gMToB{zscUgbg*InTC% z`+)k`=xzB#Xq4EQI*9X_NIi`xLIr5^Np=OhRAHp2sq5sc$4y>u#dj#@yg~(R+BDm< z+!=JHL05m8aZHRbiWwD*lXdxwjYzR3o-v_dh0>4yH>E*l%~%^e@Wqzaq`do~Snw{WfO z(%?-HT_-dyXbl%+>E1S0P|fP&=HzODqD8+V7b9&`KTZ;hM&%8mq5R|Gs7(!=tGr`& zh0p^yMCWTb)^m&hS7+`Bpl(suG>24ME28UHj##k4 zt_G@y?@8ZuiEF2VyW8l{2qu5pT41RE_hXLfC-{GSLIjGo7CCIi3oF~nMu8vpD8-IW} zW>%nB+*+EeA18=Cjhck^}nl;#C=!H0K2$VwWmLdFKLNOIkRM?m__?uCnRj zYykblF0I!3pUj7i?z**@AhUHoYgj$ z*?XV`qU$XO8dos88%~;Km}#ax`pYHD>KZgZGknzbO4k^pyi1xF&?{C6+3r$4m8-RR z!!Cl3ixe&Bj)hD_1G@Pd`k*P(5?p+tF3`Z){zL7fxfg?yhbw#n)M7s|-(AS};9a$y z%3cR&K>LOxYdVMp{b22_$`f6uP`0@*THm78DX$vtVLc+I7!|m`zOC9hgwM{OSYKRs=+TM#`fv(#LCXjgM=Bm=UdJbPNrP4>>}<7|7@rv-Sq8JzoM*iv60zP zjaEwp?({S$elUUNPx#SGqrR^!@2I0*$c3Amsn1iC^-`K!_$7Th&E(sndPui*NtAA) zk697nl~RAMe(LViW7W z^-}I%;3t^bkCVN|f9>j&JVm6no)JCS$!@qR_?Udwc$U8?JWboq4e{kFirKX;O`>m* z#X6NsW<3Z0>3gCz;YYfbswW^;wmK=2cP2KtNgI+iMo01FaBuBgLAftSeu#U{WkgiL zcC&`KbHM@D-M$L*TD-7RtA9}Os-;y+-MQYbc^Lnx%SGW^ z4#&EiGYDm}diqv3v+!`Izoow7e#>TK#m>o=Rk{_)I}9_Gufpf3e@oB!g0hRkA(w|j zJ-5aBJf|9ZKw5d&y{4p^HgdL>S#V(}7I|{}tX?KMFgB_^2lF&&Ps0P;=}l)0%LrE; z+LZs1J=Xsa$*8AE^A1(uYO6JSALEV`JR97EPuae)CyKB(Hm_|l(JpArq9>JkO{}{? zKI=G5F-k>k5DB^TAkzGULDaR?z@EL7iv|B1_)8huKBs#o^Yyj)ROSw^ z2yGuT(@`tC$fR#1@$WJB5})n+%>A!Aco@S`6)^io*ahi_I!?nWu`W%`P-W0lQzqEr zm9II?dg*vsHi;Fz@qc_@;1Kb|K3hq6wabuBR91lPy&=%054JzyJ&N7fc$^y*^x8;b zAN3-uf5UN3Q>Cfk6DuoT7ptDwHUg`vs;viKD5e!4dsj=<>3!`sV$az1jdKN0f<76} z@LIeS>O>C8$y0IwPO&QF`GMo%%_DR51=Sk|cWMy@m>xitoZjCC%DrP(H`GYHf<7Dk zg~47;s?)qor|pt3HqT1My#xLrQuYp7Y^&{dy)?=SsNH{bhtr2!zp0+bT3a5;-GZm; z_lS93gQ`saSEp+6a}LkyAXfpAZZ)IcRXd(&!KBn28*sulAv28YaW7FXID-Ut3=eHf zgmGaxL!^&{B~jHBCCSROo5rUoZVcCs5my{vhN>j;`c9x9k*4Y&W0Od7wi0)c?1kD$ z2qeGCK1aMt>5c3ro2W`p8|q$K)BoPqEC;6^&8|JfO6d(pZ3BAhDCoPuW;g>|%e;KL2@C^WtrrR2!YS_Aq>Jp0m$>C`cfUR`4KX}GXnR#v-nCbWsxpZ{$ekvkupRz5w^6TI+#lGt9 z?vo7PT5ZdD#9h=L^P%mRF~7BCTmQl1r44SsNzUA~v&YCQs;u{F$foKKEe9y}wQUM# z$}nmhVrjdiuO!C(G4%yLnGcN1T=S(xP%vS zJF+{`NVg|HBo!m3QO4;s+vibv6wk0knuZ$VwuSzTra1K+&tl#genN<00!>?p)0vLa zlf-k3m((vLGviRjWb!!OIo*#kK41(TpzddYu8-(W49v-5++4xzp)}kB-u{M8d>d+2J3oTtVR1? zGzF(r4U<~&t#W#)AK{KH;# zeG|lEgB#7n`M6S3WbqUH0qw2S#Y7Kqvs6YG@eJ_ z?lbT$m=hg#gj(!>jXlLX@$tqDDGh`R>a^fM5-hQH>8I3iqzCd@l*-huJFK)<5qQ^W^(Wo>WY|o z_*>jKW+Y)4H^B5KHWa>LhLc*8vza@|M}np>>!?$lNx(E3bDu3^8U1F5kTH#ZLbrqd zp5DjtroW{(V)xR2(mM-RGuG3OCk-;P=uZQsjQxzo&XLR*M$FzTv~Di8-J90Tfi+KQ zO>92=l{N^=Fh<$~sJFnKZUbIT{7a{>J_W9%|6omVUcqQ!e%K?YGGxD6zfc*{E$U9H zK%5Vqqjm@>=mzRzz9B!C7BQZuUPv2a-whb1Cqd_&J}?%r@VnU*g&t^mO{vqqRJBmr z)pp=z$|Xe->IikI6qDCTWs2kpH)yl?`hcCZ{hT7F%XAfZX}Fhsqv=h{Lh@q^LwTC~ z!FZnald?+p6*YlUqh6CYZJhG$kx)Va!tgU2jeJL`H{6NpjMN%r&{P-`_S+acp|53*T_nqo#*Vz+?ETq@FGn$@~ehoM( z$fO@#G@yyRcs$&9lw4V_-1(jSvyL0DrgSJH{S{P!sNYFKQ?Rf1mJ0k41NDi#PgQNw zOz!;}Is@dqK}OX$aHgZJa_ZR*SgW`UI0YZ$7XnF%`y76PuPKHeK2MH$X-04v*cXzW z90+%tu4J3>SF4lYQ-lZEkKhTUnX!AJP;%^+o1l@h&*2%kh*sUL;Lf7{HAQn4(X7PT zY#Uk-O$KkL6;{tCxA9)e`gWQ5dSeaLvL2OctN-s`u3hgF9K!K}}U zTyigKtMpFAbD&?mBXc7VB)Ag2Yut?*=-b2`X4g9OFtuP_`!M*j{$w2GiaIhRWb*PNFF1}ryK{_qDIOe z>_ov|YDBR;znI#%Ens|OYI%4EC!A*3EQAl!1MDq*>EExme%A&<9Kr{<0tYN*u zSo1Hl5JknjWZ-97Gv@}N4&Tbo1H3k8LSLEJ?3zFs6Kzt72ZcMNIl{jJD?lK~B4)iK_l;S zGnIt}NcL-4eCkSACwAHz044B0c#VNh9G=}MYd-kR&@Sw4UMULH>Cc9`(RUfLn zuG(5_+PPjnfKn%>OXp+u1iu$$<0pE2=j(`i8z;_bibk2Pzk}Yy*`agC1d?=W12(ZT zLAelz%xRK=_}+xK;{S*XgIk1=B)P{!o`w={Q@|dhMJRUH0c2mcO7n`$BEC^&ldmA^ z<+myRIrF92l!FOW(M@VjaF!s7Hpk-}x0iO$M#`Q=za;;u^J6W8kEwfrA>v%63y@av zN;bs&n~jvjG7l$A7T#gXg6HxJnB^Wrocqjpo4xQhrmx&j>&&|k&s4Q=ZxK=zE}SzJ z&e8+y;jHK4WVj_>EBFqz1fA!}K$Axk$DSpz8H08MBw3v%TDA)+Q(lrz#`nuJ#a`uF z$qQj}R*?wcSH_15?6~|O9rr4`!9&GnLk%|Hp-n7>Y>C>UD*`_&-8HlE!Lk7*wtTh3 zPqsJnh47~Mcicn1Ko}TQ#`WdZda%cHGMKgtz!M-O?Nr;awADNI$w#zFk~lGY#x&N0Ck4-zcpZnU)qtDq$5PSu6BV9-sG+r-9|N&l^nD~l9I z=+9<43hrxS;=*|r`H{e%oFcJ{M-d#tW7>LwHqa+7v!$w{m73DQeH}sAclIlm@?ii7%Dunj;|7I94Y(ZS*eA(uQNqSn_#u)p%mjdc#7-p@Q|= z0fsv5p(=sFjXWW{!I1d*h@%*dt|k0>##!qb>=(>QY}m4kBO?cxirBr?0{wjWY`##l z3wo7CQl>y_BMH)XV6NYM5sFpsTE)8$JhcvCM*^Pgsr3)U7f7QjSQ5oX8+mpRoDwxyJC30;AQJtct6V@Zm4%rJtgHBUMVhCb?KBcUfwRX zx5P1Zzx<}~bmUYCkzcaqrEn7Gw=13740Em3a2&WAPBsr4u9KV%*gA(QvTmMceI8b& zRXj;0%e|$25l6)@M2szm1Ta6r72vvaW>^nFZ^4`JLUTc*f%wL-q&}|7OWSB5AA(%rEQLB3=BaJAVjvFXrNqLJAeI&E6 zAq+b^!N<4{2ZXxlW)W;Q?^8MxUpdW|tRuhKaDhLOwvKAkeTdM7Jk_ovPAys2yn{&1 zTv`8%WSua{KqGw!U8uQDe!lsz;vdR)r$F&a+UAYkycKi-J6`bU?5MYOzXWTUbZP=Jq7*+uFEhH#NUV zQU6?VC!^iKmCcE}rnMG_g=8r93#gmh#+_-0ov!l@?5S2nb|{DQ-ND`dN3-MG7Km$;2Db9%uK;W${;!JnZCC}3}6`R&rqp(zM? z_VGTCs_Nu39e-<(5to`PkPZHG%>ZV$`v=_)oWZV9{(?weH!4I^IH>SFk87`&b`CB? zp31)3I|=nZ`Eh#(CNbiD(+un*|3H%szRP2?b{bJbhHO$-HdUA0*gBbdG~%)aOIzokq#vN^Jz&*-x|@BA#7KXI5RoBX+A$RqTQt73jMRR-`FoaZYtd2bcaY00=&G@opXUzi=+>H zR{509?S7}&kR8^xUwSw>voTK`5n(pI5Zw0Prp@8O9#7@LE2G&PeP zbnYNx5OsV6QFR3UxHZ3~8#_&L5Gla9Gn&vf__E4EY#Cu!M$97@r3?eR5f#&B`kEtSgZp~BbFdd2fK>diw!7QVNZpY%XY3i`+gj=+q?$gO# z^s3YTrPn!ghrd;od}3%E&cKOr z^Ceyc2ajhL*|sd)wYfynkX=tJyKO>?QV_0nMAGl7W;MICxi(zRO*5nCh>JsB;uiA$ zxXmEuz-x}_3Xy&52k^zWI|1`RnN5pQ$gCh(AkwDFZw6Ayx0)_ZVcI$rPrfKbgRK|V zy51-JW~U!pS@3o5tNu^L`GcwE6{Y5$48e`^=WXNmpUTRH=_S=Q4*E-}t*9lcoRDB_ zh*;=)n9#?`I?TfUE%oY^;Qow%c%R_^B0dX<#EI4JL_TR=EvBTB?25XSN~Kg_lY@^@ z|3_Hta)mA>#~rdmpF&c40L)+1Rl_5k6=p3T!bgsuZ6g7TJ5X#S9wa!XTqN5Ndx9e< z$H;{)Vp=bC$AMntzhraQOSB#NgC2uHP(pb2*j~!G7LK1vom|vNAW<19(@C>vQ-Vgw zS7-*8RO(}T^nUx=Wst5j6UhSq=w6`ifVrG8Od#tBE*U$*@-OVervdwulZmr|fS^#) zPv)@88mc>U`N+O%vzXHUt#*}YidKXa2*_*^dIIk`HW;Je<`$g8rLZ3+wGf=(ZGl%w zL13HnTZ#f0-7BxcY17)SR{v5@(A3uA6l|D+{2~30i9*+ls|qHLGotS#&Bs^rf&;Nc zBOBp-nlcv*+0#*)Q!)RNzht-v-(e zmvG-Zx08*KWcOFZ^-gW8S5;XnS9PTNLE~!hYHhWNg*t?C*FDMGi*ZzKNnDSM8J}4^ zBs2@Woh9TDxOX=jQ84(tWmn~Yz5l5ks&hK1pl8kfri&;CWV3mFUI4m7m!B|w>Lj6MbII1E@8eFJPBOhlMG2=Y-Z_=>gR(zvgnE{W z_B%>DPYZTD#h6LA>5U|iS#jn|#09MB5(}{z=%HUEg##(oFnKaCDaVd{hq*s)3FR`A z;FnAN#&mb=p>Jc1^-RGp5m-zT{0LtxE+ypia%fG&h1_LTD&k}Iwd`Ed1K1D?l0QS+ z{iag`SYI49wB0~u*AMJB09axWyHmx)CW6$X;g%TW1TSa+*4_8GX{t$fROS4uI)5SMpj3lLi zx`jzu#Chh38+YPN@8n?0TdfT~JLO9R<}TVTOeT*m)n2+CYbh*N)w9wT!^K&Q%1aYax#!kIV>-mRjPr+{G1jf?}}CR9cgn)MFz z#|O-BV_fWu!Iw=9Q2nmI%_$Wn=u!7g7=Di2^=B( z^05LAlfK(m0?(;IjeWpjLWHUuKoV!N8GsdWAO0}&1*x{w%sfPP+n&Yjrc913XLeAY zdXF*BQy-64Eu~Lv&@-1at(4J>d(8E48l#6f8F!n(VLU9k#UL}zrk`Z683!Y$GFliz z-Ytyxj4u01W-g=N!k~|G-zwthYOWiUNyl(vu;=JI*|Ehx=*4hC`b@eU+7UscUj#F~ z^B9|1QTCOLL%{NSHElq)OP)iMNj*Rm4JXE9KG6_DP4N~Qo!`F=PutBs8L^c95Bpzl zd%6PZAFuLdm6&f*Z`P&COw>{B9M%xERfWd{QS0UXMJnp3f{_M?v z=rh?5?JMagLAE)T>eX;cHjQd+-p5)@oo3jIZlL_q3X3LFt(B+JFjS`WLpXx^UNm9z z4VspFb-bz)qL`jj4tLIx$|$>9y#O&q)bKBQC52>KTPUJfba`pZs8f{U@U>Kq#I(7U z7RD!yS8aeJv_`Q<@e4t_u&1nwc1KWNajDjiA6jLfzlOKEMwWb+^BuK5^auMo=H@0e zd>a4M<}Y-OT%dU_L{yXb?*toaSJLM5J|KH)7~Cu9h&(c9Kjv+6Cc786H&hF^5iFY` zp*^JIwj0KG^4vAc_=C86yw5y2elOL7izV=@TR4@(yxgPgN>XIfS(r=?5A}v*l=Mw& zz#~+SZ4fw}c1OLDXGLGh{mz|FkD}Oe=Fs!1ZnEdoQMn6YSGpuA7RsjY33&?2=r28g zvmP;QYU`o^ug&;OgxLN!tD~NS0g^HfN7q}|lkWd3eiuVWaVV)4gdh(e> zPP?sv83(?VzlPqn_`#>4c@0kpZ^5~yuNBR#MRmQ|X+V;?IKhf}QocACWM+znJgb>& zc`mjs%n4At&|WjSxSP3Fd8uqYCR2X30xY>FeO~!!#}x6anvB>L!UxDN0rmXzn8R)c z?tc6|t8?t#TGCyChS>LA7MaMG{O|%&0(viw`K{ zX$fg=DvpJuvz`YJQ8)0PDsEw$=*ML5a6I&U=`?(8ahKSJP>?ZI7(%R!$>JA~qyY|G z8u`4Nh}}r_w2p?Z(Dw1y$}^}tX)mNystIK$Zlzu;`XanaTe!VKFq@Ve{gM|++wcF3 zL#NxiG2u~qvo#5t$ME2#%a%fuXbzGnuo+n?qJSPnK7t`ufBG}t2iB%&m>UC}^zUZt zfgNrH=m+z)brV>^q;tEa{|Gv$EO8>gz4nxl$Dufa@23dZ_KF)TD2%$r9^^&%r^8kp zE4N~B1bS@!gq6=Sa`uYH!|^C4(L}9p%>#jl3N9Go<;rE-U{0^3E{e*w6I%RNKn=WR zx1HelEYkWnYXVryDHlgtOq58W$}~{J;P2Oa7G!eoX?AY&;y5cfQDJbqq~Gs7v`KKo zErIon^U`KMunStn46C10oQ?fr^esJ9VO__n*pPEpGg>K1c2VA`S+Z3r8$+J;VTuo7 zI-MsARQS6aZg6YJ#f%ZtNab&=RR5`3SAIa}SsR*zR~IAyCcRQH(6_fDq1e znB{EEuO?wO`f~E93mM)poxrq5CahK#Kb6=QRi67*r9@>CXJb~mte(9tF+uzeUK>^-41w%@rt>tQ zuX6?aGb_|85-I=^X$!SIk_)JlYDaNZ>1+j0cs^@_bWAWO;j`G27aisz5OUZ)leqWb zlg=b|CivS52|i)M@4+hq%Zz83h2jymr z(EhME8h>;BM&37aAr{xRxzY+TziCg^NS=$ux~3-WuMvR^k8an2=&(SniiEB4ydz7( zA8?p1nn#LXZ{m(oCu5hi>_;!IFgM0v=H}is4`ElQ_3MA*(xS0iD|~lgp3;@*?)gf( zl61i#Oz?%G-!O|aP65SqH3ty?t+2CPB?aeZnBqx$)3(<&kdvZa)VC>91O4QGDF5?( zBbh?o?||h0rXAT(#+gmOf(dE-!l0HPuGcWicD^$%WhABkr$aORqTZ;68KHrTWp5d| zp0CC87_ftyZ_PNkVThg1_=|qf@RPl^yvAG)!#f)dYoLp%joR^VLsYMF6wC_vCjHCW z&iM8HgkXH_fH++Tn15?oQ1|OlM+|4v5!0klnQ~9e?%QYR`mMFa92gfhqrZg13 z>G?^Bhd_tR+!LVVMi)2`c!18d=;X)CewqSg8+Urv^-8Q$Jv5VqU!uYl+xQm)+9jRb zUe70j$83wkJ8m!}-IxhoXX(&R7I*Envfsv2>H|C7>TH!$Qdg_&k&6MtoGy\U!m>)fC$OE-hH|9Z2JG&E2?>MBTfCa#888|2c`Gf zTZhGbbcI#_;E}fW5)sLMoj2c|^0^|r4?>RSDZ27e`_j8wKcL6rbd8&_KB00`0Pcv- zS=|x>*>#WNBq_y~B`%_DU$>j*L@Tba?)grbk(bmlMgY_ETJXe`ag~-+#CxH5!voSK zpYxi_EG^x%E zXnd}!`ha-171BOnkzJ^ukNI@{74{qEXt}ua3@7Ln~&rL7;c9a%w!dASj?^j6y-IYZjx2GZ(H7pPN)CVfD^8Yn`=D7j|lbE z&ENt)=apO7m)t@nNwANdmd^k?H$<~1vO>$VIu0r=xnEie)sX%Lg8qQt|EbS z6nV62QK=d;qvlesW-5*@YIlW{AXgn>k)DwWy>Ll!W;N0JsV5d_}vCo`Eo)PKLVjA zdJ`no?xgv}{k7wB)YJv&W8|;F=Wx%c3tRzG2`%kFMgF+|rwdU8GUwI3EcIrb!Q(p+PS&5Zbc7jtj&g&j`|#yvJVRI#3G!@-x8 zvOnS65J~Wb!u{2y(7t3nvKcf6-Nf3nYF$?n{s5~-fStL@&i3~FBDqGpwJ2Iz#ok`( zB=*NTRJaTODR^F0%zKvfr}i9YC%Y!RR ztW;^3wDM5-h60~TnfO@}wRW*U9%O}nz@6=K3I7Fh-_xHR-d5B4F1Mgbs1_8Y)t5sZ z#qkCkw7!g@c{a`je4;QXO|M}|Tmo;SOZj-0A-o)}-m@vIssCjwa_4CGY}L>Fp4QvY z!lI@I5qfUv4dd4Q^@vo>t3-3nBza+=4E0ASb}{3_*n}Z^ZBKq~b0f;Os7SRGZ7dA~ zPhyu>%tn32HCEml50H(iIiBc2T7bF{u!ph~=j-f3Lz0#aF0WpMAT=p#E>t0vE0EZl zRMuVea-NuEEh4ZAqOL}0Xv9#4tTlW?$7p zk7q{K=;$dm_mF+`lAR^!mvnZ#A1;C3?T;aRqTh2mOn%B(+^a8r$$3yew_*-wrQ~wu z3U&bfZ?z+wT79=R530$LpiY9?xO!|lYs7yU!4|ma)JzUxp6;nFq01Pimt_Nz`{Ml- z|B9E>zEyq~`c=KFiRNc#UqhbZ(&JWOm~5Tj2|NLkIEhIEtdwq`ct_oL)5Ov`Ekks@ zd{lLkwhr-K{;tZoxEv;j&uIC-h+uL{Wou?NrLo2o{e*e|b=bF$J{PyyfyQVeIkX~h3o0PpI^3U1 z6YnV8jZ*E{MP7;-h~7@g$NlG|G-H_e z*wx&txJfvF;uwAnKCPTVNFB#_1zzLM`T3i@12q&;j!*`doh@AC# z?XhCD?vWu-a#UBWG|OfY>zHlw4q{Z9RGErP({`&TW7opvfFl;*SpjlT^*N2JC*29Wo`O;5sytM3`?JoB_P!gbL&-j#)O zT6PQa=cN!kgxh;Y$pge89dqdt$=g=fl0C8~jZ0Enl!NMrhTT=uO`)Dy+JU;Tg-dxc zE9SN&@ptyUC47am79N%@5w*`Pr+twWcRnkrl9jizQ{xnthSOn7)I-d_J=1~B`f0r{ zka=|%8xA7?^)b2+AsA;Qw~&?W1yliYj|UfBLtTVeawm#NHiqoPhAP6{zGFu;;XOa0 zboPGRWr)XpiR_0K@PCT`g&v9ip)7+VBz8sN@KRYxvNPhPSRH~Q_tc5*qtRnpukH_8 zH;J*nPpg$afcI$6$=yUh!5{^Td=p%)+)~&DC90<;?SMXN8bk8nOIknoImlD+SJ!z> z7!Yq&Y1a1FLF)lWZH{OMIo-xW9W;!4`L55>s+tu z!tYu@wJW|0Y*BB-g~IWg417dg7BB!?R!{>x!*UXzX`iAWgWo~Z&=&VdSb=(W>{sSl zMP{q=mBprAr6SA{L8RK-6jWc3zzohx7U!G{vPSDi`9|W2BZ}(*A35K@+r$}t= zPoh%1Y6%5CDlJW^e2Xfs!L8=4+RpkXpQQ0IpGiyts*SebCE5#mZ}%LCkFRX!%O!Ki znL-uL-7A4o#nFy?yst`a>-8F%irsWH@1DBRwk+X;=8{Djtk;$rXSo+cBZ#H#LuI%6 zh8hpbTNd8aTu}tf3*;#kkGi9(zbY@aN90-6Lz=x3R`z>hh6a}d-%NYmE5KbkMPsM& zecehzWt>1=uQVArj1Kl${cX0WvP)mYBju#(&I>tlRl0J?vVf<=A4QDIQsT5Gso}K# zBzru*N$U@OSivNgR;#Juf36k_@+&E&ef*)`Jzo>R_xrQIsI@(?m z2gHTg8lp^cKz-UD$ce%z$m!5#XuoKVW(T;3JYe}<_HZ(d*fGk8EVu=hpF01)$T&Qs`EHN|!gHn#@Ex^Z!ow|DMC*NXX88qIx6u$~5qOE2L9H1yP zv0*8PFjm9eHA#jdcwNC;eJ*@F1<>)}PZ6C&1LEXciJw8LosGBy(v93RMe5heml>1w zIqZjqc-`LWUHS;!m;#M1i6Et96Ks5I1cI-@r~B66<1nf72F!#WM{Zq@aKLJfwZ0YTJN-cC_vjLQ35*y9_D+^D^iEw* zSPOL1Iwn>rh`}w-^7HZ8jR%vh{5OsbE9uDYBDfg{y__gQgv`Qv(8hnzcYwB zoO-a`k^Ztgs`Ve%wQNz-5$?VC^$mRCv=FF%xCHWiXby#I&YYJ2iojaHd1ZnL{ z*+;2){VLdRWsjN#f|%@}#$eHc_@?@gQlAjmvRr=OYnq9py5%_0kft4@{MP=k3o0*W04`V6p7nb+nZ|G|6I zlBjq|8Prswyit0op-go-i&9^xeh@#=k_`+CsW7Ezlf6m}Ip7k<-8un0NwKVDIXHlq z&~y`|kQog>z|E!6wqf9(%>S&Dq4It@$R9cq5@Sq*W4)MqA$-E|FR>A+R7`4y@!#B? zjr;KPbuVp?ac#*_>sNeyX18T5wkmG1$sa2X@ix%0QC^DvIn4u3p~PfVCGTxAm``z& z8?Kl~)v4h_`+L(d%W>^-m}|(eM_GE01Zs*u>`! zZ}4pNsEe=9vdK&AEcsR_bA(A`Zi(~lPh;8^GFU%U|I(|Cz;vUWOt=RgD*M!!*>R0? z&^Et)c^( z(9{e1C}>6H+-r1N-m~soENV(l$6~HA@?vYE;F15A#*-3`+xhxzMUwq6(qk^FvsVD#rB|aGmqEb*1o$l(6>EqLGm|n)gT!2Fz}#lFxUyxBOD=vo{$JX$SEG z7ew)G)b6=@;T+PM?lq!Ad9@uYCFbP6t$LX_@@P}O0t*PVjaF@RrDC---|lTwwurDcX{U*zJ(fg0z4Nb5adp?kaOD46I_uD=Ss z;zi6IpgByL+sy~E%GY+R2hQZ$T2E^Wl9f%DweKQf+bwWuK&0g=#C6|mya%T`tkh3J zoVcfYuA$kK*sdJ3sGQW^f=1;gv}{5rCxn|g}17ggt(c$j*j8oBB4sUg0 zG=MAUerf0<|J%tl_>@m;Tcwxh4s1TDo1gTf;VE%BGOd0vF(V+|?1&59|Ms7h_dB{0 zFR>|H_inHH{p3v@YpjRMuC;!!aB_|{k1^d(I^N)Gtc{#vt@2si0;4IXy-yM(u6 z5dmUXIPbd_w`?LW?{I3)EIZv=(HNbxsfk>FC+Vn7Vd;+avaB`90t$?u4J?l^y+~K- zs3cr*F?G%AQ?)ZIpcOLm^@8xe$F#j^7Z-kHUWnz)UCNyi645nBFwc8yt4fmV{IlV> zB6Uu?r9@LoowBNlez3xSxfAnY!H^{^PC(k;1=YOuv69}ALTX4|M}s8W`*-s%d8G^6 z##Sw{^EFQezEk$DxW{uLU0EvU@5w*9=zvh2W}UY~%#E$-R!NN^g7!)Bt3H8Eb5#j0 zN9%nwH|;i<27xk)c==3883|glM=HzbESw@+nN~d4Sur9uy7Q;9B}CA=RUPY7-dG0= zbe&+GqJ3uXV4MOSr8qBbQK?B0ixbt3`JVF^t1qWb>e;Dji*@Z-3cw-!7D#LGQ8uK5 z^IQup&d@1)#E=cYC*SR>fm%o-7mbBZW5=}X;H(fuGY9VTX}1+3 zV_i+=A_TWTuU~?EATL?MB!Kc)3#Sl?c^~E~@QbMry4vvkm|txj*uxM-lNB@jY^jH_ zRM(xR#n@1X@%riLDYA0$3bR-FjRpB8H1BEe3ZpvpTIUf%R?NHBGkX6JcH?!Om(L#S zZ6eO~foTF>?vSEefg$9I#nT)5$}i7fZ!_jS>iN(5F!geOUuZzgzpaj@kPuB{xPkCF zWi8OXb^T&oKyVy{x;%Ws_6q9u%9qQ&F=}f`9p0?3l%2YB{iV<`(!YWzHjC1qSIE1a zpC%h4(!}0TR>|1D5@4k2@m6Uamr=45rqWqE+a55IxzmU>Y&*U}@{2b?c$;i5^p#ZQ z)l1Z}U$HfcNy-PlX_~Qs&*qiYn5b{bxw@T_fvpniRcSR|#&|6|D!$B_rHHBX<^#$T zxtGKv)%=*}vbR8jucO)q{Gp9K2MZe(C~FnOE242E~u(#tj}nSt#PwlgIme_%r$~VbjGD&Q{2OihUjskt(LX@IN=NZnpJnWqbt|+{^b3s4XsxSK2qj`F`{?$e|b9T z5OzW3B6&RTbk-ATpHjMHY-YV;oa|VnUOiHI+-rfh5(rp+hVCjX>rP}Y6TP;K;f#?efRQ{v`X6V3 zaHzbqVxstvG9}}lY@K>^q`mSb@Q+tBpakQWg;Q3j-ga)JSEv`6Y|M9>O!Xy>Me~;3 zz%K+AkfKBxT1rN$R00M?oKU=k?7j4wHLz#j{yGffbQDu7v24!dmwqU`Gz5g)@0hPoXb=ht^J)G zo1v=gJpZ9SC_POq(G8D?k>}#)yrgP21}tu?&TJdkmQhD)iPo1ZPSUfr_V{i2bc#iGM4_VJ zr+X;hv13c{^Zpy9*$5e5IA=x?~7nc!%o2-;dOMoNGi5S&Pal# zAyia0QTC>Is=`sRH)WivO0_Z+(LB(c@bCs#f$lvUIE_j-TNzKMnu+8HSgIf5WujvB zISL{XXx0?v$hH7;lX0boc3xNrU&?T#_GGS+ks({5(HYXb$j+_dI{ zwJZ4d8~-U7E81J1k~Bto%B%=!RJs^2k4()*Lefz|wJZ{vXV72H=V|>|K0V*~CpqTM zoZ3jfZ|lPRT_U^24~d7RY4tuKHHy8aRF7OuosQJ9PD80Q8FDpuYR7Aw0ED9AdG%Y{ z&Qxy#N3s3$W`bXMyW(F!e?-b4A0$E6;<^$&r1o#_RJPGl^tmbu<6pJ2I+AVWW@;RH zc2(a1d%^x(vo=nQ#T!6G#tRw>{Z=k;J&$Y#0-DtFp}fbsDT?ue<0?DlWKl1tOywbA zR|TufWXU<-G^-Wi@t#^|Rc7E*@TR8G^#gnu9M_mC*&>(rS5V(7+7<8Rvy_Y2T1Ba9 zMWsf$RlPY!s*cfIjJu*fl@A|*B_p`$(neJN_y{gjUp|JG@keNqK+ zgY=(#8WECRtayia#W|?HVE+XoKonN%76~pvH`iD4&)GoKQ&>_jm6eIkS{)g`B$ejn zB#vx`$s_BbVyt0#>{FGm-X)Ny=_G7!S)dE{#Cni-s9lLP3Cdg7OZN(IHCq@0v9!^@ z{AvFlozD`=D=hrjUS*4EP++-cf?n%J((b{ZSxdM-=eZ$s_}x9rq=`cN&K2~}qTOw* z{v%Xpvs0FfY>(|$Y?X4n#SrMPUSpi)M$>YL-G&dCpi-yBv51=AqG~LNQcZ=i6#CXu zf2@}6kbVv`@wP=h#Ey&l4ZwJiY?(73Kd(;I|9~%0cK|El7YvTjh>T^AqMSq$x$8<6 zAh>{*&O~mBW22U#S+WE_5PhX=a9)FL1^je>K{EG}rW4%EKOtBM4H9l4{|i-%=N118 zosf2?y@U(p8>4FB&&n5mV&tf%)cG;GSNoOt7x0swR-1wT+Bm;aYp2L1`)RwBaB(&m zqS}=v2j6H$M%hFA0ihoYKB)cTG6{JCb>g4YDZpM;Q-3|Yg11bg(B7yk1;&A?MJIsc z;I6bu+I3KLq_nC^suzZRocVo55EFv7P`u%4z{5rjG_Q6c}h2BqPd-0uKa3hs~xA>VdNIhRWC8b zq$X+h=_f{lzz^b;Uk0eaH@j%zQJ5UPD%Uh0P|R24H&t;iD#tXm*R(0G*LM~AsIFK# zQtoR;n%W{0fNDdFU!wM{4s>aO7U6W1FWcVrUJ)Yi?0CYVDk|DaYP^-M&0xWGm1o1k zls>i4dNgvp=9cNXpPSa8|LxKTo&IllWex-a8cU(9Cuki8pHRsvqL-B_YBpe2uh=M#k%8pGZUS35vX&9PE;E zXTmCMsX8XK2QzD~ddFgo+IFX0Y#qc^55t_)^8^j(PYs>giyjB2mZzevz~1beC|@f` zC`I|8f2b5ygMYo#(B;rWCj`uTY$tNpA&+S z0_1%t2hky4yi1Y0$Zw~uXf8Tfxg72{bMq;%%&>)GgR2Y!$_n5Zy;Jr8I8m1#e+L#3 zntqf2R(!K}B@&E1bh?8a$Hpi)%KT-GD_>O_cQ-F*17yO1xGA}!W(ImO@Acz(V%g? ztUeGku#~erlJwE)M-E(Fp!S$B+WJ9+(_1aiBm*kV=95ySAlx)hJ~DNwQKVQI9c9Q; z(E~+#UrnS3Rp+e@b=XH_KnVi9#YZWoy)ehBYAc?Z!qkcR3yk&}hty2N7+_-5AN@G( zjKFH$bTGgJB4VLB$A54PZstER?SgV?75((W`U(549 z99T`*!@oT`aUoLan1J0vw(%>Cdg2rHis2A(fb>Rxov6s$tGk6?OKBnA;H0R{#CYsk zpb$^P2#-zJUTn6b1S>>0@ZK4^EDCCm{*CzvX`gT8Qg|Bw(Mjv1}uS@^1X+JenAK7Rj33SD_U3s}ghIMXAB3@Fe`)XVG#=$B|W(1*0o6l|}GXw4QC6isce5P!=!+ZZd|8c(;4lsAM0 zS*|LLzN<`q>K@lShGyV~Jx#X>nnjbfmdk@HH#9F+WES=`9#E1qNVaV%Al}8gP`x2+ zoVghoF0uv?6(t7;412e=2yVd%GjoCZB$`+gF?F_GhW@M7HJD?*)kUu|=28G~YFyj*}Xn7$ZWD z8K&!x`<~J9brLr{F_f6#V8w1>N2^-7EpM=v#;T@lsgj#?__R7;*QR1{C$zN zZFG?!FtO=@G}rUGtx}Qg>}&q6R?RtN=%1dh967&(ceU`}xkCij%=O)YqN+r3$0SKn zWMIo7nItf#k*3(<`MZ9YdaN^Gx(Hb9LiC@&?-fhuo|e2QZ0{+SxnTRPW1l?TFBT2|rtd zftZM&P2;rF15@i?fYZF9%r_us=Z}VOaG2c_9UloLeeH3AE)-7aJP*5P{BEBE7be_n zafBri_ZvsUD+80PKjB|q)u!(V*~Q5aha9qZBW|KoNn5-9383J4$8(}8<6c_?{x0EY zb1cq?xX=)YeF+S(Mqu;3>P*>KolBN}DK^u-ilCtvN!Bir=}W=c4o?#$<76vrEKbD972ng|^uDJIhfGV8@>Tuap3}t-AffRn$qDLK zhg8#{BkU^j9q2nLlhF&uWvu3QzzvZdqBrno@5>4T5iYrs>tOiUZY?}yh&8M)i_jyg z*vgH%-7KiChWJ&!f?i0ZW<+pocuQo7$N{_SeMe0Se)C2 zD;|-?H{W8W)J$p&FIzxm)Z5Z^tY7By5kCaa46nWS$_EfH7kOuh7h|pAx!U>PbPJ2J zd#e@Va>vf2jOW$SZ4qT8%BrS$=_xE~{ga4O0;%bz_fFYr-LHjLY5$gnwp?LyDx!3m z?B_M^iWxjLWhg@;^r62iT`U>T{*mS{_Yj1Kd#ls4Q zcAGYfe_Z;GnJ9ct>*X{`CY5*zX2>d29mRJQhr;H|zpHtk{TVu1M(?YNBa){LqMBG) z2wFq#lmn6jv_Fd7)DBjcYFKd{PoQR}bc$fj!!VNUsn*~rQk$Ww9(MVxeplR1xUDF1O-={bM_W%E#5m zK=GBoERTdwYrmQ0NCkWP|Cy@>eQyIKvW)RYwGw!Aig;`RH~NTCDPJea2c+%QaFt z*C|cFaQ+DT68>0W4r@bAw|FD>Wd3kjrf^8YW91|XFE~x(uW)z!4%#$@Ef}4`QX57v zUvZA9|8gk&VZ3R)C&Hxa%R-yjlBbY}rSB3Q z$}7!lC6j&?XktHRozc2hP3L~o9>|>`WP$wnKIsU^E$Fb~3-sMR4j2yKYiO)KhCRWH z>ONt&6)M^YYz=z^GZ14{R&eSur<`tqH~KQZNHP@N8MIL0iCW$BH9WM&wzBfCg@b8p zbIo1yjTD2anN?1|ViZ*DV%Hcla~$~|de8XDVlUn3Ad4KrAGz14Utp{2e^fNJtU<3- z|7@NpA5YF{^k*KSZMC^q1hdFi$L!U-QuFM%lOo7CIY=&hulwT8QA7B#dV~b_w4)VO zKf1zYO?4IRN@f=IQj39ff!Wg7n@#5~uHO`A5xy}W2+Ee>hHdUrwL7uVGEBOy6oqqS z_bMck=L*l7eEJ1t1I4*KO+AV+Jad_54QECSpj8Mc{?{SBbbzOp6DJgo;FOfPtaL*P7M*wm+dR{k=$2QX1K}=Rb!)jlpoc1{rfamfm^QQz&p?&-5=%`RiLJi zlcaVPtmPr<|0w=~W15pCVsQ-6ooc~)azKa zNFVNVq( z;XQu_JJ%3VcZmB$UsoI~Sg$jtZ4z%MwnUwfy~SVnvs8S1vMU?-hK1t>%GE}1RUutx z`^6(zcJ<1-D9%~Sk)rMV9p*`CX`<&wW|Tpepx^6XrM#mX=&A)QcsxFVe7vJqd6#Bs z+rt~h3~FK3o?yRkyk1nrduz)|8!8I39E!@5ZZJjoM=C}7g|1d0n3xV<0>IJ*@*&!R z6%e~uyP>AAy0O0x&nM!+6br%@J8k66toytv5&IS_%E5mh=RTAYxMJ6cho%+zd8WLD9FJd%GJ}FT4 zQ067&GOns>xau0O^`)AQsa;jU_3CKKVb2QZ` zC~V9v&k?2C9J2qFh%H|d_Q>v;u7vq06^89T*_w1+yYqQ)25ym^!Rt$VIQMZ$1*?va zYimME_;@2_Oy(?n5o1W~MSMReAb2YNQPA9PdCixWIM9eIDw%X2(o!>Mfoc86#1eKP#uCgG*nM8rulKjyLt?G^^88HA+jtq1WxK8v!^+^`NOjMth6V+at zHpPL$%|Mm%YkGh-SREPD0fuYZf|f%C+JXJ#VFPG(>_e`>Genb>qW~ELQjOI*R%un= zv>OWD)b~K2w7r_!;D#8Eb^w$e)B|Qf|9a}69q>}en}`omE@aBp7)<}5SctV(4N@+~ zqy^hm^DzIk67??hOU!IwFnT7)pk<@$J)59GsLg2zyZ~hj?#O~nS#*(HW;|JGR#*%l z3-Xkm`ZuXRRcCY`qx)$$-Qb{VU>o7&*$wjX2q$;g7t0k$r2!3>=p$u%+kr}V`I`EG z{O^im7Fy~q)dnfxng#i%?wq) z%;`2=AfHWQn8wj>MPwRtISzg&4IP4Bw-NgPq$0Z&`eqfu_A@zD3+hUYtLnN-UmCrr z7jxzqdYN`fQw;+-4H2Gtk-*>Yw(hm~k6W(JqL^ZDugletSao_njaQ54gPDU%6LpW+ zOR}vxh*zGtQ8!WO7XB}>P2%8pi{Qv(-7q3v)oyPfg0w@J&G-jyam{-C37=FV$M*`! zS>JKJSd|!u=S!D_Z^Aw0ANa+8ZLr-?8ukGitDow(5n4vPa(98%_;!aENIBM4`?%Fqagog`r(|{^|34> zCCc)iOO1xiHUT~8gUL_a?mgacQ}*2Xi+;I^Z|A043Vf>GX#K@*De1L3aChV+TkQC+ zlTVm_iNd12jVC0Fg3cIv<$m6C^nmi3OMp(RSz>4Fr^Oi6W6ZZigG&aP-NcKtx0_O> zsma;KMA^rv*M?BVzM$3m2-R|L7hRfWp$mmjX*bwC#xFqYsuZSC3QDoo2rI$tbi*!{ zDe1lbg1S9wneKsRThIdHKj5o(AQ28GxR~)ysL9?Np9P<({A4g{ZN*~@_Mm&#TfGeI zN?NJw1^@Op01rc|AU*yU9`2ov=fcZfHeff97<(3`NA~v@%+fG%(Nf(X49jZNv9Xe* zYGN@qF)9SVi#`o1z{Al~-tkx~dc@^67KCoF@5Dy;J1v8C8ODqvOy_QRouwg`8Ac@4 z;pcUqqo~*~-PoXoSS69`4Wjq)r7nNaP1q~@z33XuzvRwbLy2>)wWqTDdg`w(hpP2) z_U-HH4urY2{H0IzBR7SzH@c_V1Om|Ez2%J5GV78FR`rw&>4~Z2=G^Nlu34U1+TleR z8Qa&olRiK6W%D>T+mF&v!{@u}ty{(Ijudme{M&4S(LqyG40Y}&x8>xt|E5)@+-&{B zjE#+KUd|~BUDN2uxA|4pcZ+_xZ@1XX^p1y&cT~}{Kk45C4~vJl7crM)pKM*vev^{d ze1TUObEk2I;8v*ARv@fCReHY>B7#v7JtO6SmZFTu1TbE_wRX?9-oW}!U! zdE+~AaSUO*Cru5_vu>8t{WAM$+{NzSj4JhOrviPCHf_#P-AD*48q-`NU6S>vX_V}H zaz_JAkrk6$&rvQ5^|zF$?fuG4nVP*G(+w0Y-AS+80*$eoN)*5?g^LYbd)(vyUMS?m&wddG1(NC!q1%P5a=J?tAphAl;8AE~;RG8(^k$8zUr0bn zpRKXPfas@Y9?lE-V??mueue#WTPr z0ODcA8}csso7(C0WClb9SyxJ5v7CAOw0-%8)nnm<1`S3SP5BW(^hMRqFugm{2zl-G5|cVOdORVE=QZFrOi zivB^b6_dofq$Q*bsg#ycqmf6H_)|YAr=`}jH>;_V ztU8I{1#{KCl9{CsGyd#f;r~R7yTA8;OYafc9Ud`?UPtr% z>pnxVLT@*$$SJs5r&E<}#tS-1K*v3pvGE2I7(?hl>?ug4g`~j9SpdBC`ui%=F zS7%oLr>&|xOKucY(Rg&b+DEKt*4Ba?ULH@FFm zN`nM%)Upbd=mhs=%|%IH^(87#X35*i%2rqtC-ViW)gj|0&w$|`S``E?Yf|Pa6ydtr zMFGlqRdCrkRWj#bl~$cxJ)F$eYH9R}*g5YQ37vK+%2IWCm)99Sl0LS28 z@;hOPGNOcld)O~3V0dp;R_#{!X>Jca0-2Lg!}$-P1|JcRN49&+S306I8pdTzHjcuF z=F$vog`lWOzlj}PepdITa$`-pE;iSVHj=OWtjyBvro4*RRgSjXIR;9)l^MUDwaWA|7!>9i3O)A8ZxVaz_t9$# zXsDQZvShn#7pJ6REEDDrtYMSx32#uYX1hvWFa@y>6oI_>Kv(s3G3t5%+^Zy6-qd}s z2tuY&pH`ocHZyLMD;Y-i3)(xKJ%wQCk~5sk<62o2fS8}Ql4^~4a^0)jfY5u z+;gCR_2hp4$)vgi!t*qM28qv>ky$F~)yxduCi%~p&0-H#e83_3Yt2EoM9m%$HjqkZ z%H+V43SapK;qw}A#bYX$5~Z3@x{5)lvodyYr)j!kYJ?Af-vKLRZ$YygMg1EN(|Z*a zYkzC5m#qcmg5Q;&z#EjFx-2ND!s_7#pm(Zzld|vupmI)7ve#^grT?#Nut1zisv+5!?p3vkC ztuIlR6rHuE@fVgOmO*4*b*gE3@oP$^u{>SQ>@bXvUdtb^yAXg#ju3>~5)~B>z(42U zt)Erb3#BaqeD|`nrm1zmtNd+ui`&WN)=lYAjML_(Xn-d*iUaB-h5977jjEA^JwA)q zP;gkeO&}=w%Y7#jS0vZ2mNeG16^)ghqx?-}DC3x&kumD~Jg)Cr?IrPgXD$3)sYR(Q zO2q($gtMc%g>#=ji|kr+PS{G@UsxmYX9-iD$OrM#Bi^fqiHd!f02Q(W&Ih0~>JIol z%}U9TPhsZKo!RF(Bbk4z@A0m4?i4H$p5dQMAxr*<9!D%wkY&!kJ(>~9jn2Qp!+;es zk;ib%(nB;~-U?O^Gg@%GdMu|*^eX=szfU?f`IFdNPL7bto+!`w_Nwk{lrDkVyI>g@ zRsCDCQL>WElFeYY(+=NeIUYK+6Rz)P0AR;DphvuXY1Id;i7~kD5XP=pNn3&W=FMguKz}7I=1)a$gdZ2TqepyEMGm^fWs&9yx=_!ysRpJV6)da!xZHx2X8C zp@skOKg!EXy{WSmXDaArS5>7o8?%$tAEH8r0iDQ z5KSlT<((H_tdXC4Ep4>6(l3$#KmMD ze2ICKHW!&ueVn-y2`yr99v}(n_XUASd8|gf6~Tjd$;*+wUfpUBuZ1cLcHHT=wgw9lMb@~~ zuVNf0ud?p1x<;RBVH7s7Os3oEemqwrIp$x{0R4|(mh`)BfmefS8jpcPp)ouH0j)&+HY+OEqHNwa6arM3H|$0C+*V$=w3)RB9bE(M14{;~@r^ z_sMglv7Csq-Lkj5&fGDI`NAQ|6I5)mIWksLE(;78qopW*x-Wuk>hBKS$g2JD#WJUA5 z6mGS30)aB6)K}E4D#_k1IijW{h02F%pop_dDX`Q3llmt()cuNfA;ff?2D`!snILBv zIHBe+&j@yvtQI^6zh|e36QS(HbJDHQh6tUa1orcPqW%Zo=l&eHhvYk^K`qF2#uHX7 zzOyEh^A2BA;?D>1>a2Uhzu2clrDQHPHzG>T#j5=esFE;0_b)&^`pc0I%|s6}r2YTo z+0_@=eI}y#G>>FNvy6gY{kFOY@pgT5#5CDbU9|s7qBqQAN z?G=NOyH)uG>1bB%ukd%^k_Bn5EjG@&O^!z&vG`PZG35jkyLO6M$FtJX8p!*DRGi zk)AH?RPg1Fx#`Mt3Sr72wWIQ2Ori!>dj$UkK5N$bq=J|>&9xZz0AJd#MYh90^=HXR zO-jipStBq!XS>1!*p!l|T&=B$ex(itCkJ29+yI~X)M)k4DOU|t2d}q(jMyV+HB&qY zsV^}}hatyvSh9=Av6LAK8L}z*xN0`CJ9wG;4RY5f2{?#Oc5MXrpa~A+;6Ajv>bI~- z-&5iu-mlNe871AKo1c7Mt|l%kQ91vuD$2{mU&zQt};&{WbO;S3WY$#OTESDJn zlwB{FV%$-QW#kwuYf}^A43DUO5#tRcW=6n7{dMkqkNtY4$iXR8KTGy#_FLUY_42YV z-PM}R{Ak?`vLb!1ZU=31{0g0tH7R_(&VxJG{}u5cO$$2_Yj`<-;eu9-grE~;}xz>`*5imn{xr*rafLd z0rBLH$vudy=DVduB7cQBah+(O7!MzbQlt<4d(l2coyQCGv+AAGM~nd6l{mo+bn0d|^;AC2SvjM|sxYgygE1d;E)B0<6xnQ8_5LlVQ`~=;EWm zW~C;lO}j&drY3<}wLJDFG+HAJ(?Xp9;m?DEw3|GK!`Hxf&MC+$*wJnSszri}6V=bb zikzu{KX@(Ws@4tijWuW=KzLXJSPy;jkAjL|wdY`X95U8f1pkM0*gZu4po5DZ^pl5n z*=N*W@o6aw0eftJtOR(Ak-|!~OR$;#Y!F1hd%8n3^o6qphS78O!;vm@P2P>xKlw{C zvRZV-ml7q-6G(HSVjK0srP^?+(ixZoVtuv_Lf2VSuqn_H@=(L%Mo-?qu8d zs?%xpHlMoL@mK3Tsk(?)mKV&~K@-eo&SP(lDNyjB-;(`S^39=2e^=>0J6b;ih|5u1 zCr~b=zOsPyzW6}%dRAkE*0hGZAn>HoEO_9}Fo+~+uIu$&`2mL&x=wZO?DfQV?W*is zrdrmy)MC?ku4CLfqn2;#e*;&Dh6gUz@0aZKuGT%0TU^iUrm3h7ZwLrToHL#n55CDx z)V~)TPdTRlC~A*O(05CO;YV~|Wwn7aU8F+nO(V>zKGzTUN6jrqH@qGkF^7WZ!Gp8* z5Eo>vDLFa^`JLD&x$v zP3C_0xUHeFskx=Kt^NP8_nu*GUfIHSrkqT2GLy+nGRaJmNsp5_j^p0D!KU|adhdvi zgnCC35|WS*DyVk}goF?s(R(o%Y~z9(?!7xM`+Mx1llOe@dtEVh{+u8FasR*fdiEn& z>sfnkewCnFC=yF*q%yfesZwjSI=#VYGS}8w>aDg0d!wVNxuvzOy`$6F)!ozE*FP{g zG(0joHa;=Ae`@-`%|V^&0Dwc+`V`I z!A}n#J$?dS``zz;|NB4u;g3)ZUjNgd-gx6pC=PG^`OklWLh;vk-uW98jd$OJ;_?0m zP(=RqAruoRC{R?Out0Hv0`oL7&qDKaZ2qs{Jc|t!8ZU2OzktBt(6ETe=-BwgVE%E0yK3n9|RYJ>z)(I^X zS}C+tXsrupq1B$h0Im1ZWoX4$uU)$iE&ArITeqQg-@SM5{{08g+8;i8^!V|USL+9w zjjMoSkH=$~ckB(7SKe8z7jaJK$Dh!IYX;Pb^}X7h#x8A1Yr7WbY*ADC85yG?~H9Y$1Vi-FMBsG|&9HIzxCf-iX+aY(4e4O`SG)ds7{**J_}Q zm^9=`wURs|k&@@Q68iDq3ef(ygGbCwtsCr|X%Fsb-CoX=#Ya9|A8HAoO1BD0<`O)X8}2=_eS3`xMW|b z--(%T+Qyu1-zA#p@lbVlMAkJrGMj7bOS<%sgW5G=nZ{ZL3yQ!MnBCU0eS*`kdc$c~s-zPT_2So#nVDiMH$Q*=?$Ngi}$6 z@0FN|0|FCqh+`m*lwOfis0e=9)0_Gbsv)`*>=e}#x~l4kJsik`X(sj4Oyog|i8AzC0fsfJfM$m$ zuxt!_(7rPM-1rY^lPA8yG*7Ir(sl>vYg&@+LVJFzz=rCmvJ#w?^`x!}3#q5Pj?`OL zOYS4rQu==@z_@x9Fl=@QjjIB$4=jy1bo}$=?)k6q=J728X-|l@x-HepcN8{NHlW(M zHbMv6O6p`<$xeDbxr=I{bdxRAp5F>EuUrKzt6lFqzw?@({nC5j{AcO5<4cJ0iJkna z{%{r7nQp3RE3~qjQH?AIp^4E*Y@yjnZPW&GJK09*Alj&%zZFpT<0{bn-S+e2pKKpJ z`%!@7>gQSNkd4*1~(Rx{_|ZzPOuU_^tfZ@$t8_$KL+ZdHucZrpKRzim(5W&RW<8Cm;7A;10#m zF$Xd#5c^@3#S;Zph2zD7{4uyNZ>&_5JBkv)Mlj->5v=65a(L>kfA(H^`#a0y_jgLc zSHbMtYm+FK_P{U;LGaR(ahRfGsl>b^*_52axn)_03g{V!iW%v%@ba`-1T%F8$xN9+ zvwkZ;xp66w?%4q(e!)M<{F1II{R_{i0?BiVef&vTl4?)_v-F8e?cHKRbEmMZqm4)J zZmD4OH8EI2ja1I4jaW5d#Yv~k7{&C<^2*`o*u9Fwt2q46cj(oAc(os1?T7#O@5(Rl zMU8LJPja8cYbxKu1&u#xP94VEuZUL;Nwezuq{a5`8fDn>9W`KPkKuud96u7IePEBii7~DRqo|Sea(-Qxr6G z%TdjpGEzsYgxb?2C>ykM>0|Xw=5%ct|B#j>nUj-bvoFgp4pQ%+hf1%+>sqgZvw9!G zQ9~eSO21DwqDeOPt6{btHKM6gg>P?FPoH25$=43SSQBj%n(8~gp z8kc6E3VNvWOt_)*%s*@NA{;aOu@9KSYDNw5`T;{`eXpUY(P==pwdsi6O)Bz` zO-`LKiOXk{{K`2YTYQwytU2_u0M&mxcm_UHdnDY@yXT!Vd*F^+yenob!QydCw06jn zTGwyQxAj<&P3;zJSEC6(R14+*YB_C2EN0K~s>Mgyl{JT7mR}s?9)S-vZt*vbZn@{{ z+_3XD59X}hUpUzqp&D&UG7h)r)^;_QHae_WXDyWXYILM=iHdTdQpP;QlvW>Mh-wbM zEYBR|(6dmu2R_p7jk{^y1G`||gE`^Y%Q)QXQ#IWgDxK_0Q1v-s=9VV7!vZ?#|D?! z+x5G$FE#BfJ=3*|JU_ape0n0Fs;f6nYirH28SN#lYRExaOY9dIiNh68J%$R^AMh&1 zG*$)OqW+Tn;-Gf*e`4AdbEjc@=9RW>CFcfq;7-i$p$v`r3!A!Q4W^bXyV_pTCW9PA zPxF6hPcWex1O=);;I;G#jD|J&vH60yIw@cI^cE9lpT2 zdEbNf4M~?rHe?+=y0&Csb{o?+6d=<&6U@?PSfkL6XcJg*olySY&4O}&`qSLsOc}tN zXoDDI`OwP(v}>0FCFEe*;td?@LT~o1jyXBIE@ABSN@UCQcD8;nNG^3InX6m!?EJ>k zmP#AGgJUH*%c0!A%tGlQ*HL@%wX{BLE#svDx;0CIX4`g9zux0P$BKY+6F&y;Kea5? zd2$8DJhh7}8w`~Tx>AglZTVJC6Vg%9h;LywklN@ratGB)agyrGx}cNhT{sJ)`(*+8 zRZD?!!&cDrqwCed@7!kRzYgfR{9R`K{7SqW%Kxi|Bc$w}G%d5Uz+B#jtf#l&8mP^L zMp6^8iQphN;~FU~7<*YO+D>nKS%7iHQc(ZnhP&NMwj7=NbaVfuFGFpYm*yzvp}}7V zJStdYQ9}A)hP8#rVd(rvI~(tP8KJ(sJcoaB3x;vXmrj|A;S$F(t8v2xHR!<-dFeo@65bEp8rp|Z z7xm&ag*^mqK@U-v-%ZxPETG}5uP+b3|K-@iyUUvIezZsX(~^CHt7|hE3((y5y#gwzgN zOAUjTmjK8%d;uhT)&r5R2ax)P-&gphUR4GbFQ`IEM-{Q$>6&!un5aNMAVAgkR*@UK zDj6-EEM`X=jnmyi=Jhq!{K*DidM8%9IUOb`9)C|drYWr$1_AW7{ zrK5`GY^f;kZ=`cZ8mPi?D_ON)gH`R9;k08?oObj@dFD_9In;Q$1BGYk1C3Ymb-ho) zIio**-WbX}XowL`>e5sr>U>kb5^3v}5t}>2RA)1v(QjvSM(WB169$@mN=8&pi-?+W zAyGT_qWm8RPj{g72>nUxnRMOgm4Dvsi#<^nRDQTNQZQvsmX8@>`auKS(xb&WI^;yB zT~yXz%VUk|*t`h^vt~+IrkLha)Dt|4X8c6~^7UVU8khAz>fsJl?jb+v+!Jq@Jo7GC zyfG(j{`5Ip1n+}w3+>2H()Tu__vZGC*oY|H*;dFbJY^bTw*kM65+Vq%C zgM!$vkkCd%!iou~4|%GBr#Mhvp`K(^XeM5i|DS_qZ}3Co-h^8gH`pb+2l7md5BYd! zFl(+SmN(U#CGKm@H#FNy8f(p{PPG=_Cs9yG_)_KsOU$35ixtyUo@%nJQa$ma00s0c zq|mdFySV}Fp5R9&*ZAAkJ=vF=+z@9wy$B}<0%=Fb;+f-vnIdOruA#wEY}eN#JESID zUzL_TT%lr&(-ge@WQBZ+C{j<7gzAYG1t``*4!hSwy~TTh&L!w^?e4fcc9+bnZF`C@ z^m<}WPXrMUA4sAOj${a1x?%d-mf{9w1F~IMhwI@$c{d%(xrtiN1Xd%S#46PjSh;5W zMft@+>ADvfb_G7E-x+haX=nP4E|>g^qn_{+b0NryndoxoXqw2@lc&?R!fiEnOlws= zq5J8#e~OVhjMJBoA$9!mQk`O~RIhnqfbzfMpx(U)n05q!hHX&~+P5cP9o(IDde%E< z=9mwzcRHMHA4-<$yK;>($f3Fs+foVT-i$hOFWF2Tz#17tNCRgWVH6L;jnWqeDA#@g zWV_Y_%}!TPx7F`S)8_D7y<6hW?%$nwcz$>O;872fV=|Oy7)Vn5-#4QF@$WJx%v9Y1 zZ>WT<*fvtf({2C~)CqvArT3xC75xZv6@>7G0jf1$0Qt`KK)-c2ux<2y(6K)F;^?OE zBgZz!k1T92ZawT)W*iR{$oi910%xv?+lsJNG~t>Ub|RGbk~>J&GAFK{-i5ZXx=SsU zJqQc`g?Z+n+_nywH|_*YYuv8)ulAllyv}cIVO>hcna!o)@1QrMd@`C} zHj*JB4-_Z}y$B7a2c<`LVT}kU-URO?nu|Ngb%h;emi%@`eSUlS3j_4aKL@s@-{0)} zV%hBRkALX7^5tIZgYTmhm)GU+PVGX`=K`pt1F;qO$xJ?aG+$IYTwGH!R4OYPL@Npg zu*&>?yb8LpQw{5-XtH~0+Uy?s3j<6`Kl`cu(=U!5{`*ILmp)wG@Y9zb$_LA%c~`e& z(H7j{g!vFWdM>dHF`LOOn$BhCPZd_?PQrOP6QxyI<7h$VIJP=t3@=O{BZ|^SDdN;o z>I(xJKl$gG$+zDfyzsZr><>O#uLesztA1J&Nx!ix6@Sq;54o@pQG7BHlXpCwkbM+J z&OA~;O+Q>*mUPn6vM4F)ZQ|JU8MJA~*aZGB4~R<|+9v3J`Dj z5D54D0IK|V0%4%<6LE0#9dShFWl;>`Omzz7C_k4o!z~q0R1j4oOonlgR$=L*R5tVw z1&(fQ-BSdnT~&q_pH)N=j!TnS2gNzU{Q|ghgoif{aLVd?nXJa{ zGHy#JQPAFwl{ni_%I?-uLvI7Z+-oka?J<87hvZoO zuo!3R7vapkF9N7p_aP8N&qD069r_aQ1vDPv5A`efjR*+F0Y1^(_agl4uzNX>xNnEP z#Crm*d)QA#PpBf`1G`ioP6vS@}uCe76UBK#kR zz1yH}01sf;6Y{9mE&jI6GwW)TZ}Iu|V9d#`X!5KxlR4S^n)+XaUmT=+wgI)P2Qaz@KeFtJyW8lValH+ymURc0 z&JV_6_xGfi_qM{TCsC7k6OZ9rVQJ5_7L*Z|b!!Z`i_6Na4}(M8s%+T6srDw%FQOpwn95 z)*2(ag{L7pnM!&uRn8e8N`*sMsdgAAGz{Ve#{L%p$o|Vg?y?o=cDaGNoq?cnSJb_Z zJxP}byfaQug=Ni7#~}uWQy9(NSt3(go>tyiTra3cHM7k44yvK72d}H>M`^1E5nA<7 zslqsjsxkGy2){Tec5MNM9eaUwoB!jM9pSfnTw>2p_$1694NsXk6bpAwB-5;e8A44r zOe1P5s$(~mI?C)gs1KgvL|K?UCAIv%BD1`|&}8Z_)|mTV1Rz`UA*k889H@3|2Bxj9 zz`oh%Ugx&p%Oft~C+B=44$S*!_RmG2nx^CF#_=?Pv_DtHa~7MKt>^}dgV2m?ptK{c zj81qxx2wn^>MpQoy7MgN7XrvvKXv#KXt!p{cX?RTAPUCvExbUiq~#c$}`&cxP*Jw>LYJ|yXM1cx`8B4$EypmoCy zq)v1#7J3p;?%#lDrZpBfF`Eh<+~$0T5JL7s0OhI=fpXI_P`hT$la`g6t_-i(Ja=r> z_Th6Ig4-@{O*1dJz@>mbz?w^JqN-yDl_Idp*tg;9CKzT?}Y&BA3p@6 zykT?=YzQaI9wf@M1}KV*ews3^pQ%diV?%eUFCL&>_93u;{psbQ4?mtf^{>x6uYa+j z?(z5DviobJxmR~)mYwx3#+?YmqK+n#OAckw^Jj9Iu<1f}_7t3(xgS}XK8fL{P2j6i zCrEH6Tk1M_dcouZjpl@d@3JoiYmLYHx+j& zAQy2qs-)mlA__L2fy+7uBc>lMAg3NFp(f9jmL(lV(Gm|~>G6jMjJR1+dF*T%GiHYV zLOf}H|1Sro-g>?J>f7(vKl;~F1^9YvC0ONE_Gm{q?yh${;yQFwI4BBd4h!7H&1;b4h+8ehu(w#`6uhc zcmAaWAAipS-)^RX4Q@E#8i05d5RrE;JT~KYbYk+&#MJofY3Z?7vofQv19V}mm16y~( zfroo82=Ge-VZjNHqrzeyChUuRkP;PfKO-jWUUqEgz1+Bvy9IH?}fxP z1eeziK7B8W4E4}^VI9bCu=W{d@;Mfke}F-i?58l5V+5{l1S>EOp~SU=2zh;fiQ3vJB94%w%hlsq|0j$v4hmzTQ5L!of zNo}*U*xuY!VsEa8+nY^@#q-QT067S})&a5CZm2857byHA?<<2-uPgQyT#(0MPSvDC z;|B7%vpl3|Kbxc+Wia$Z6mDHVzS`D5iG%NUe>#S{TQYl_96Fr?Av zH2IYiQlzB6ilFPLpjn#e>_#hD&|)UY+VwbHry6T#D+AJ9q?J+hX~}LA-Y@^d)`=&_Xo`qkG8XIrbGe-S!)%LEJmoyQ_bYIO6kH5QJJDkKs9x9Np;;Ea(yS8 zY-?LAKRfJN0(FWd_e z3Z&L7#@DH<${K696|L1QK}Th|tc%UicbC&@yUWY!JIl+g?TZD7pl2b393-x5ps5Vo zfdR_@>s$jLHMmFJZ1zpM&=Hb(vL`lgx+4wSZ_j46nhV4h4MMAxVe6zKvRzQcY~}KJ z9ZZg-i^kD*Q!8q_sZ5KLT5fG$EWbF^xU7aIB5VUjDF3f_3HZt37ID4ZC+=)-NXqe{ z_^k1+6iioh7PGNFPh>QdXcTI6ZMBSO=Sb)+3?a9JA`m%=RjO`0zpk6WwK$1vYsX^w z*PtqqwP%!D?72d9U6ERB zK$^K4d;>#K)=ZXFwBu^3J5e=?uF{&iE>yL}iQ!v277GwReHM^|Z09PV+r9-@wz&ew zPVd`J*T9QIJ|U-OB0{J3M`!d7C88R;(iw)YFj{6SLc{MU zR?9jIH0I7?d3`5BV(nNgKms|4AP2?vmB6rN6R>UB^{{oD`}KYo@3T|B-basyhK$Zc zrFV=alv)N->8h@*s_M3U1*@sVKyE-=FjkTsZecVP)bUz#Yo%@3b;kBwgRQMVy?B0h z*s%ntwyc2q4>o|tjoa^ZZP|Tc+{NYiG4H)oCj!Izjzp$9pn8ygEV)cPn89QB=1Qr~ zA}yvJWiDwY*5|j-8*-W|9hnYEQ@TUfoYvUblvQVMUM!$y)q6m)?Q5XjxE$24Tl=tW z-KHx;o3@;obJ;X?YOmM8Devg!<3ZV`!~2lZ1M$?#$y6?FG)IIVC{`eQ(7GZg(UjLg ztIKI)*JnZJRx(=Uw)9rBHKnDoVX*)yeB}{te8HzWqbem zT>;GtZV9GS-g(mbAPo0#6s>G3g-aNN2~k7E(h}%ILP0M<3+txpv%8qaOlPGjy;EdP z>r|UlJ8KsWkga&{S*K3jifUk73aKZ9F}Ndfl+uIg@4RNFiLjqa+V2ymS0Ob$wf!gmryx;lRhsS6C z`R>s9FTQTM{rx7>{Wab-_qIfGZtO{;UhvDuoDMHV%qQXtj%JWyhjVFJvqk0UGo`H5 zX$(7gioi+SPpM4UPvgZ+viPwRl~vIb)q=$WwBP<6I6nRR+3~;qW#sHX-fzAA`BKx9 z@3+-}H9nl5wntKLdL&~m2j{@gM;GRuNi5AinSoB9hv8C>7ZQ_>!bu57plev>aMaj2 zVp+^#3N7joogR6xg0XM5vV5@s%O`JL>3{o;u_JH2(R%A2ADY1D%WJ^0?HsV)oATHt z40G2vuH;5|YVMVotn^EXxhdzmec{i4Hh~X5sR3X8$N@iYrGTyO7~mdI@+c?*c0VE} z?RHFJ;?1O#xa;X@(buvwBCqCU?YmNx4b>lV!Y(6Wp_kCGkW0AS;ETk(po`S}zzg(( z#WLFe#%t{d-uQ$0&f9;Lf)79Cf^UAHf;Ah_VAt+q;O&tO0{v1zcyRoq=&kT)m}_6G1^uP3D;o=?!B9*=R029*EsHehV~H=ubf2b{popfc1A@FIgAbK_(0 zu+uZHmFE>*C_`e-kci|HSbF(UB%3n_ui_sn5?9aU%R~oq)spEPy>u$ORyLJolkd-L zR_xDkD#tSWl!Mv*ipB8C;paHLio^eiLpii38PJ}rg!UvaWG~?F3wq3pi@nQ9&A7&b z6<(ktFlQ(P$~>M{eiU87IgH>}%@&Ju|1=Gv-XV)qwvl^6>nJucx%x=|i zcCV^8XK?@~^jG9vQ`fnIqK!x0`R71T@>*T^Re zRI2ejgJuj?uN%v0){o?L>3ed!^lf=ggCl=&Jab@e`vhZH7jye#Ayb}@OLfny$_l<{V96~bv0UpfhwD8~zxnz1~ieiUXijO4T%`|>)C z?fIRi#)1x0ePM@rF@Opv4i%6C*Zl`j?X?j|d|ZIk-w#Mb_C2VHOui|O&%Go_D_y9} zC!S!T%8$^Gcc z1J8XK5P58XPDShna$l$p5)|>1JUr=^EGFl&BpH5IkV81Zg)@#Y@!VMoO*Dn$$S06O z&2WjrFi>bT_vAO!b>_EO9EEKbOL42kP||AA!rK-FU_)_WLvi4{Edye=^+5Kt1_AYh zr~<+sszVcQtD>^5$`gvu*JNN%2@1=Oa?qS<21PhZX36`pRoX6Ojj0{3scSB(t9KN& zSnG;gtOj_CRgGw|DoR`H7sD?Og1yUtWbe~Xd?^3-^a5JHkVm@UxH~%Nnq_TV!GbCc zeO#JPIUqn)jIfEqUK&HuLFDS1utIYKQem+mj5age-k?J?H>gUR8)T?vn*`OeC;$hF z0|$zOV9)oU20F2%glZ64cW4ryPw-F1!04N%@YD;Y*xXb4RK#I*K4DCZVD<5E!geNA z;hxoshCaknxht@WzQT28?s;NMTA+gRf4!SK zFnI;uuMLR2W(i9=TOX5k+>%x_rO(9=%1T(B0<_S9#;hP&O@y)iy0Ju-%u=Nulbb+RH>|P5rE>P~h#|_ka`ronogd3~ZWS$za#klvP`+DRMiXWOQ&zjSe=^;iw=r*(*rR z4U6HK0~c}-?S485U=8%`AIiO5_dKfi@V#mG4Y|+~5_PgYHt|4HO5R{y7Oq`ez-*8q zs*OUdLdB!#C2VGG6_an}(4}@3P3K_HY)$kshl5USveT)}4U6Fy2k}m562OktK)-Vf zsB>}sslmfv$8o zaBN2-zM{##7=Cf6+5RoiY+VV=+ctuRojY!~?Qy-->+ODOJj`=?I5N7wI|0_*l8UKq z$Yv;O3#x>Agp{MkYH4zci6~{&Vb069oDehjp0z6ABFzkSfYYU#z1_1_&mw(Yyg(|b1co$~f=L;00O18^a%4<}9UEmI`-aMbZVVr^`XMiCe zq?Z*P$Ytg1hgW8dV+ARrR8it^g(QARAdMZ8%VLI%5Y5ua!5+n803ygiwc?+kZrMlo zJHGko%>E@G>_7FxXT6u!uXbG8=4!a$8dP)6E1t6ukWD@vR)RVaizzyqMur{ArDx2P zJk9+%N&Cr_@e}3z*zrn1^th-xYD_7N95V~|jX4$tkU$Q)@81KCul{jq_~XA#pZMh6 z-b>#vaokw5!Ek+xyX2ZnDEq2s0{Kcn7V7-ILg;o$B_tpHf35AK>qz-K;4&rz1{u6pJ$J~^QXQ`pZwEt_q*@) z_f~I_+}+~IzULA~hI$ZC*F(~aE=A{NpGz!CKa+t-K9z?`JW-5|n@8bej^l|@$0($I zM;YXZBWz089G@C`SW*^pSV>z9K=pRCzd z0k(OPpX?1m-S>|!x)q+3eLW^U^-5B9;>C=-xC^-jG3SbkqRy6<>|4OV!_N>AVW+9c z(9;Z5$SF2D=wuZp@T7QAfck&@;lRL~zw4j<&p$NY`}<#Y;M31U;QJL7VBJ;{*x`l( zp8kc8gTk^NL`0?Bjg3#Zm7ElFGb1JPIxH>XT0utG)soE6E6D8N%h;Tt%S2ejWQUwmExmMqu&B6%_NcEA2wmu;MyA|N;Pf1|qQY6^2CLiqCoDRHpCV;>_(IDJC z0z`X-fCQf)km?rzGNFIIa{{3HL!b{R3i5(#51s%S?C}H>;{F65>h_o%w)Zh@Q8W(y z@ipDyKmJYx-u@E{eE2sK_~xThu==Z9uw_{)*u5$ac&y(C{5FSxkgb6ra)%#?-RT1o zcYA?U7Y~r(>JGA@e|U1CqnHJI_kbcdR{(c&0Z8}V0PDUB5TJjMpAW!)`zF9|d>`Q4 zz6Lbkm4F$t6|f@R0W%@!2`xSPJ}Ec#CKds^iX;?YETN;$6>#upas{MQITGs0ECu~U zhPHe@&BQ#OT3>N2#lb$7+|E9l)W|21(SK>LBP_iMoL zSqUnFw*vM)H&785_@q2F`aU%$^(LVNb_IXY#8kr(hD=iEIU9K10hq z1`T^YmTF}mO=;pDN$!Lgs63oJSviq9$sI|Xtb87T0PRV_#t#5_&sTuyy#jE9wt&j8 zy?_%P2r81I?lZDdZjuXOS8$k;3n&VD0nQ?xD&$d5(EG4@;l5pp0x4pi5#0NZN?R0r7%_)sl|7a0J!@sST$ z>B+Zfd9W*_(vk~UB4(kKK{{2;rOoFHna5x<_K_@2kn7>QHLC;84n7_5QTc z>Yh8=@VSCoda{(mCfdo0wT)qNa&mW)FK?Fg2KvlRO;K%NJz)4BE#mvdMT2@kg zfq=uDLDNVl;cWWxLILY&u9Q2Mt>GWatQ8zgZxqg^c8R9bMnuCIBckrCVR38ru%s#H z`8;zVLkCNH;Y5kIs%ppln)=*7b&Y;u|8M zsB(wSf_QEOV&C1+xf~xLjtF}wjE%p;PtCl>&MCY|hocur1kwo%gK-SbV;?S%@DIS$ z!pZDf$ylaCI+D>N>&YIFwdM@S?YaH(y1ah5DgXHZ3gke694dBw2?Tq80AlwIK)q0buX^0y>|x4Aksh2b~3hCKCF2JW&P*-BmN24w3 z(I|_1)$)?(1E^3Oo;q+L2a(G%sPBF)P(o)h)IM$xwL$*3G!gqQsbdpQD^jzLO7e^L z^APxjj_n4)fYK+s^V^)9Nw*!AbPYSM33fqJaZ_6 z9C$lEhkF0N2MU)pP#*@=d+)X9z9GQ(nlUW&oG~W$gf1=ZfE-phQeA@U=3wZpbaJJg z%oNt)c`^f9qSBOVv`U0UFN3!kB#17(5ZR>{pt^N@RJZndfHEi!PaXK%KZp9wpHAUh z4NYa({KV+#a;Mhc>#`*@=uCZdW$sj;C8Tn|Zu@d7naIsxF4z~NbJaeEy4ub8U0qOSdfExPtZgAc7sMdYw&3a$= z3-%Ddla83snfj!pVO?f{Q=X4?2odzUN?fImMHMM%ESZ>6rLH2%bd`9$fsMBtS@=#P zli)Oz6T0*ey5|9CP#oxxL-n@LfP5R2d+%5QOuIKcsCV0b-R|Rht|i#>cx!afWJ6+7 zpD821Rh5gauPLGF1!%5Z#-|-Sc?n zz*zqQ5N-VwD4yot+kXVLyVl)n*t_LQi}%hm&X7HaJ0k-}90`fey0rX8T@J>iD5R;x zNUm5w5b`Q%G8UVorZJ(%Qm!%*7ab=gjgxjrq9?u-uYu^Xb4gZF2jrkJPZT$8@)0SmdyLT;L81wq! z(4_Cyp`lQ}ww~x%OIu=&+L4YFSz%<3xrjy6Bl&m@L5x(<*4s46h8}gAs#l#M ze?EW-IXvy5R6=KB%&R|n(zNQc>wRlKJ3YPq<3qOwA1)w{k-!y15}Ela--;6TIgExR8SqszF$m{Pm9W z)4$BmeDtTWGvB=1b!p9)_KRCr>(9CFk}P=ou}=p?l23&tBTvL+7tALYW**N%Bp)xt z#2rK7qmGhE5l2|mu)_jc$RRmB=#UA*!3aDwL=T*ueJ-Htt2cpu$$vg+`uI(#2jV}* zPk-=+^Xifh8m_PUR(Eyt2Jw~Md)Svf1IU*HB9WKE6Z0=cXQW?Dge9HNEQ~u_P!fFx zS-S5O0Tq6NjtQCP;DV0}34zBIgn(lPqW`f*h|cE%q@TYIEFb;Hg}%T1Ve;@>zjt2! z=bvqNmwc?fvvQf}&gM-OcU<<8?s)kl?*vBV-+|6S+=@v~x}KaKcO@$;>QVtL;vynH z>^!a@ zg0G{~1FsP>{jZi~`CVaU`&_Qf@xCO4d0mp{dS2AzJ&${~zq~fu^TunP``>u2{@UBG ztH4L^R)g<8XM#1$iD3K2Qm}VtF7RFYKd54+cal10n{gyDv?N&|l^B8OWkJs7aul3;|U~@1C+vX3Vpi#&1ySza1ZV!;|0@WX&5lne|pxVP; zSAcNa4bX180N#BkAVdF@(xHROtmjhK|NGYzv%i0hfA2qkPY3V+2@k&dYccrYgG{jc zlLWBot4Ofx+YsQs%pdsv=mUaRdV+}6ZXkN?9uU9I1thQE4bnF31eqIl0NBRuAb-;~ zP`qg?DBZjTprHmp0t6X42>9!O!mnNjMQh&y#k)TSSdVW2DPT1qhi?O>HWfyld&g!Ye7VlFLbI#HB<7@?v})>O!0yeLl7ob3UdAdoE@K zcQ$$kcOv!(?qK|J+<}DoU*(m<&+!38(6cCpo&|i@$Iw>#22lK00czM*K#6e!gk*n! z&W?BpFOI)gh)=tnOUu5I#mT>#QC)O7RSLh9tSY^jXh2;^sKcC(w`0%6wc*ai_TtaR zjN?zo93&i#J3^RBI7XOA{B=Mv z(sbfc(rD5V^3ZbtCI97s-tiHj?p*@Pp;`rryMTp zO*!kDWp;g5*fare+AX*c0`*tG(B z(IptS^g@;hb1q$hUr5mt&m>vMrxTm0r{a6cPQ_2s4kaFH;`XK7g4N_K2DhcMo5Xb`yz#T`i^-UCL)8&*xNQ z&t}MpXHxZ)Q_1yZClg!gClUr2M-vV(CX#0v1F19R&a?x}mh=P6ri@<)AfPyuLJp*@ z9|9Isi{X1fvq5||fU2NffEVEfIB_A5m}xP0DX`R=I0WoUDXI8k5fgbfw+eSUOG-YG zt}8p1VqwfBx0cT)4KVj7A7BlnPP01Grz@H>rr5U3DYiB1*8!!F19HvZ0CmfUfV2B6 zAaMHu2)&@QIRQICb(qJas+gd=+~lb1<=M%XD8)HvvACj>rF7KMLN4K8u9z~Ft)fq4 zn3$t!cJ@%JlQWPy!R^f0&uz+_PE6q8RTw~7uUj-l`2NdK$+x#z3x${eCh7#0^ z;kg!?PqH0ILfr0)qWo_N682rfI9ds51x}DN%(|vWo?(3>B&-2Qd zpp(+nsDlDn>NvZkpr3|CIf+zK3x-9vmsVBO7fUP6h1x1Zetoqzzg?ux9}&q4M}(51 zQK7JSth%~*Oz>*}^cSxK?5cM_#fEg0$?Np|W0uQ0!pi9$7(5lJ=zgJH&S*?Odir-G}h<;7-EO>whWTs$bQE*TbA!AC?q z#Hg?mFXU1Io%JR_yM zIzPXei$Gb+aU>J9jG-Y`u;o|*UxJbetC0pVzqCzu6ze@*L?tLpzq$w?O#KE7|ZUP_pZ8T@!oj0A!z$C+dlV6Q+#;8Dm}SPlAG61 zRg5&T(IgFn%#cyb*+LSJ&&SsYIasZPg|XI@W4me?*r6Iac348gj)K>6{npbE;pWt*Vy z-dnzSV&4AEEt|`-3oV{2PId;Yoo)%+J79|mZ8Ie&S=CukH8Q_cE<_N8d>p-!LuE5r z75p+rwU9_tNN_Z>6hmv3qG^LQn6e=WmO3oPQb$C;2EaiMWy}8xs@MJlC^mcq^qW3= zXxaMJ^`>3lp6&EldaTEH&3Jprp6NGQrtI$S4g>@Q>23yQ zn1Lx~2BxSP28QnL?(S|-K}E3x49ue#prB$P3bx|)+~+)NJuiMg^#At1&iWi(zS-C8 z%?7@o{k`v9=i**jDe^BY@r}qV2#!zAiB65pO3n&T&&~@@Ek(_xhGO58t`eWrtHplF zy+!_seFXvkAN)5%0_p}8C@w?&gVoTevfT35WU}?2%jO5Ko+TQbIzc10 zA8~Z7ZFUlt)Cv8vtGvUL%L3zKiXu|N3KB8{b2D>&a*7H(vule)*++}rvo95SWcC({ z)B6g%()#lM285&YkhE_;6e%u+YDM(yU1{y7u0!iypVwSBblqU%tv)k_3m0wlx_YRD zrsFJD`4PTbUW>pdwLu&jTjL)SRvDHQP#%}=RhpLVUR;ppR#aW!T+~tMRD8bBrLeC+ zkb5m(m~$=fZ$Jdfda3A{cPaWlRj06gszZL|htrBHU-YRhAGoWvzVD`q-07=$-S!J) z>zW=WqwoaRCH|z z<&|E~<(FK~`5O?4X2{q*7s}DS(ImU%Ti3oNZ!aBKG;~j8?(G4Mbr8#d@O#9Z>EP7iHqCb;a z-=E2<{W}niX2{t!2ddHaXxp`5;>?bD!~MHv-W^n!dv#EA^{Gcj``Yf~G%9bA%=50( z$jMh7IFXn5f`AJ`Z}C~LK({l2;r!E)(T-?U8lyWWk=k9JOzv(;u{(7-+4l6^Wb&~) zDU>63QvU|Tq8SQz&Vu@#bAEMgp8dLat<1fro20M4kXv|qSY!Q>XNLP~pIRO+93UE} z-KP?x@35GG{X8e}4S~DcbuVvTUtoYkUu3X-Z&Em=Hz(4zw<4O@+Y)WlcRHGI?OwFa zg@>`kvk&9`1|+SQf%5Gr|8JC;IJZpd;iCl-S6^==23t0n!p0tON-sFeLe#D2l0fd2yKvOTIFBeL7k8PUUIwrfi>YeJ&{I|MFDQ`@4 zqF!5>1&rDfJVxmh=U0wQ_A6%&Q$D98tbJrlU{1%|?d2{st7Skbt%&5_ite#xCEQgPojMEZs7>d11w*?E1V()ji3Ry2_E0 zraA$WcoUCFTPvqY8p(0ekwTwzvL{cvvxt*Ej`+zCE^Z=*XYnD$$!t8=#dN&X)#QDh zoALV&H>0sL0>iP(e+6n5Vs}oU4#ee|*ophIv8EqOXO#cgvLxrnfsIK&5ATimrKjXS zWv(fjvNqsPk<3`XsW{qi2ZHTyKFMZEXlMP?i(>gBkY@fpf^PaPo?-kojcN2Hk7f9! z)WP6$jidgjHn!fUqkrXoyEJy;^bD-?+6=7m@ob4wSTQRLwl7Nng^l5$zS|FFe<7Hv z@&KpB0HPiRs76F!nc{(GjssUq3-G|1fv>d*1mle$5^W%nV50|VMBU%HB%P^ZTkWZ8 zJMCX}f8|n_GrD34B-UrmTyMgXL4j3uW!9v*<2!{zk z*1!Qn%N*D`rr@M!3<7;a@HEf|KSNyzMn%|2v>{i#i6$zIYe1HnI$E%;jvmtejm~Z< ztgcTID|{q{rNbi0I9NX`6!t9g0{K-gpt8{cG`CSff42>o?y~~x1Lk0>U;?y*hQL(P z2ad8XI33affeLaDsv5{Ws6(Kd8icE>LX3tABx)Rj473q()?cZ=fMJEVF)ZbkBo+;e zB?Dotj0m>P<-^{^3{Y5U3#x0aL2H9K7;ZKOi>(HL->wU`JGFtjOA{Eo)xmMkVc_jm z1($t?K)6pC#QT-NS5^^%WECL%fIP&?$wT~K0q1Sf;G{4ITs4=0x8Vi|u-J`iEeFA$ zt^wX$Ll6lpz|GGFoFgf}xk+eik}QYstU}H=MmhhheXa8sT9eCXYKQA5%5lLY`K(~l z?y7LY?ymc|-H`ih@`(E|<)!;$`siQz|Hlkl(Rq-c0|Im&d<-@~pv5i-wmAraG5MqIC!+DJO&zOeN^(AW~lj{(9>n)NB`o5fmVlg1)>Q48X_P z5=3Gm2tue+&T-5i+;sLgb{_u=tJLK)qsDF0zDYPi>u{f-o)CScocH)ZzV7*+{KRvV z@?89k_QLa_{Y%e&#w+pP09Q1F3!1@GZ5agVu7_~s#Uhc5i6E;%DAND}_!b}*5y3r> z`pY$j^_`!}{mRL8`s`TZI?1XQPB0opAL$()A804VaK|DTJAMIEIWTQ!KZ*M|_U1^5bx;OR&EC5UwR z?wrK?!pnB~#4Z+0I8=!~G8;X|?T>i9r+0h5r(X6Mqu%#@K^yXY%oz5)jTZFvu}1tZ zI1c;&4G^Fi+|UfZDoY_kYaPTP7n5Kq2MI(~h^6U4grhkGx!8cW7wwlvsKYn6c;08H zOxH0KL1hLWB;d&Xa2WY!vVbx&jT+wJ`Xz0c@}i) zFZ?%yKyEGs99jy|n(H7Dd5{!ySx6zMKoUgwI6b+WkkECj*`{E~CdA13`Bko(1(f4h5fQ4~3lK4u*E}{tgH?OM?*2 z5Ujie;?&nd>c5>7^Zk&4SB7-5HY77mzQ=O$pTY%{@jyS;Tb~I2E009Mh+CHDkaLmG z6JE9d0H- zUE|kOxX9^?Jj;C?d7S?!s>A6~RI|&Ys5;lb10pnoSauFXqTj1ikb}t9 z+l=<3*bVuX3cvDg)IR4@_1|YYSiDMcB0h`rw0{&H$h{L7CA{vFrlymPL?>dNBn$ z8=%Bs`&60f{!isritoxv>LaBzgU1CN-0ciET5qBk_k47a@KjiocV}QyP={}3ShH7Q zbc1JAT#cwXq00S4Qic1~q*Bqnq(aa8iTUFD2|3~i@qYt6(G323Q2zks-fYxaD?;~Y zncmhPmBxEMR$I!C*4U^#tD$M%D{-*w%XOiiPxIh*C-@7GMTPschQ$Rn1f_*n`{hNK z`;^6(cr_#yijO7di!Y|+dfiRV^1hdp;d3u3-RFM7-}rBaz}>SU3C)nJvK&e@)q~*X|cg~QeuPeCdUNdOZprC%@B$*PAZzA2z{TbIK1jtoyNM4 zExMat9WmZE*lD@%RvS^{a=pFzsR|DHNRcbMA;(itnc?qUoE#RIn-CkG9+MiA9F><4 zhhCE!9p0205q>f)Jp3BsPHK4g-IVaKdr5x-ywG_F-!TiVPnwVRCS3wmDl5J>s;zn7 zp|$?Sal?%RC(ZU=KVqYPu9;@mRpV&aQs(SfT_|!Z$?@^Z%?J)mPmK;wOiGT4iO)`m zh%HSHiD^g;is?!Vh`E{;7;`5zF#2vvP}IGozwzG;k=tiM=Kgu8`@aZkm6v^KQCa!6 zQ)AWh9)s2QPMhqx(nU}^)kZb#XmGHtujV_Hl?h$*3cbYXxq$(RSrK8;=?T$cshJ6Z z$;HWjNwuloiAU4KNte>RlJ2B>C)`c(jk}lhH^6&?6hv>EiPmAD?5(g68V)X==ulcZ z+I@KG(~DXw`_CHhzHri7_4rY;adRt^SXIws6;`{sWR{CPlZyTQqYJ`9Lv!Pz09JDjKu)UeD8r_tmBYwxba6_q^$sodN{GN?F7$LAe$q^Gt!@nTxsg`th!-hOpKfu1#yVS=ipD5uJt zSWZQGykkXkBCFzbBD3;#f@A4F37orZ?$gi7(+&qaXg#Nq_6hH~p+H4Eqzhp9lU8h+ifFC95Q$b(zG2^K-BpDF0u0 zu}tFl$c|afBZ^BapKEQ(8#3CT@)V~U^_Zj|FhDo=e8{$O{l|sEz3;(b-ScD9?uPU1 z?j|@B?`FB-@0JRz?luW6?{&Ld-0v4!+#7Yby!P7TZ$SED38-0&Jvcra>qGl6oVzy% z>wL39s`1UvdF8JaSLKdsZcBP)Bp310^05C48$Hno#nfqpWyK!m6B)zqWXiBFjWis} zAPmPjSPf^eEk=qsW+Qbx(-+5hCND1Wj9(7&Oo!g_Ob7oA6wb#UwavhKPtC-7dS_xs z2j*b)oA;UA3T{XST#x{upv^T#QMtZ}9peVm808yDbh#=VHv zAA)QxKSYtuKBQ2MKjzU4KUUc5PqZ-fCQdSRC$BMeCSM^&|H#uCNv!V}>Oh>8!P;-m z#A@EmmnizWZf54Uy-VW1DX$CruD!$ehw%a74+~}94}v=Lhn+U{Cqtj~lVgPc>1u-e z?9>TqtnIQi zR&{?SRxq_lG7UD(j)nb8LQ&@S2Cc1bV6cY+W^(pmtz-wbDg>ab;lNQ7t-;Vn{RbUG z@Y2(RK=fMhNJ9-sG(tsnV>Prn`C+IsRfQ%q6*&G^P9K%TTF*#gl{ciYoToBa3M`Y1 zhOM)LKz5NQD6Mh^^$iZ7iyVaUE+SYW2VsL81V!E$7zYi2t)vUi%39!l2!(W2H3&Sc z3K425kf5#%85&BEuc?SinFpa>>ux>qir_DM5W@cR4swtp zCkxr~`_ZOEf1~moI{r-ziyg$UP?#s-1xqBIVU?5vY@SJh-E#>bzt93ymKcNPay`&r zsRgF1)d9Cg6$on&f!#VKpsha$tPS$O*(e9jn`FU#(|+*YycYtu?1AvDyC8P!PDtJM zH-Nca8mMwJfOU92IP0tcq3K2t;dg_OssJu*q*w$x!1gx+W~4dLldXV~O#r)M64+MR z0kMGsHf>ZObkYESn*Q7Rvi&dXTa2GpLyT`$uNjlpV~qEN4~$WpkBkx0#2@*8GdQTu z2UqPCATrqq9@e`-L{R`Y$HTyP(*cgJ5wIdGz&^IO<7o?BOXSNf61X$=i(9n6{sLTg})^fDG zXd`%8?Ep0d2tCYS zgsZF{`1=mutVbLs@oyZ)Y~DM(B#k=^*?n+$WcShWPk;lOfqq~H@Ra9+NOL*(ASdN( zxeI(q@*rj$1_56OoIQrBPeQNb zcftVsGyWxe+~zHNl=Pnc%x;|hkow!GnXUM?z!Z2cTtH(F98iBR8|Z+8yJ5wmrl9MC#*zBtGGfkzP9u zli%?NsAEq3wD-F-@G+W#3~BNxQlKLgwq=0O0;7h&4#Akt(z@au7=)3UyNAjJH7?Za+lZDnq!v=C44m z;Wux0%TJ;J;s>`V%9v9!;|(XranzxN`;uAXG;H7E@{E4mb%=Js?J4b!;355`;D-HM z;U&f!Q4i~l=!C;-k7JI12DoSj-fq-SlAR0TO2~s~u7M<@EvTEb7ZQmFf5p<&zeKPN zJ_fp4yz}v~8TAOGj0obH&zv*ZPq+pA0d|GUeTPQD9p+K@enyYz2IIO%ALF^_1=gtN zDTh&UC;OGSo%2fE!u>PALq5uRrwsW2oBvT4BS~X5q#102bc1r4kb$5*b07}&V$#&nS`2h=bR zB%WvdBvNE`FUXH_(>I*e>lx3xBusZb=bG={<6Q39&9C=9&O73JjC;oK2)EzAjW_Jy zz#sOnaUS-sa2fF{`wPJT*GFxWfl!pa6AvzgOtlqgU(R(?1twcR72x)~%Of6qkxf&3 zn#M7>i)y0RBD^V=gMwLSeWUrO#K~@5qHK?&f+DXr*J|HpmzID==aYf;PQ5|3&d-7> zT%QM)xIGUn6g&^e7YzRqaM~;dqOCIjt=mgcK@;L92JVXQOAnPpx~of0eKys9bO?xYX@pNU`8i zNP%!DIM@AIaJJ}KP^Rd4;Gg(!1~K}Yh}ty^(&Xnu{^2EPEy&8x<@)R2Rhn)cskGYt zsLWRBW{>h$|KH0vdUc~`Lp0&aG9vz`MqBCLH z9(TerJO@M5#6uye;-TOa@w1>m0nX?=cq11RvvVe7qWiN*b@5cW#`1|Ooi(p(jW!O| zTWr5uX`_hR;<{&ZIF={U-0a#DyjYFVf&7~A2the|)Layp;hX1I5SZmt6_W1V5|-+H zDm>ZyMtG9X)35}e!O(c$p%6sypFltIrN9?uoVXn`Asczhl0yrBR32VBUZ=J4Ws||0 z$IYhOZq^bGUMi#MoGM^j9LaLAYfAB8)+G4x%VNR=1rf30oX}L?^x(X}{qq68-lls!( zcHI^Kv>9#fYrrdJ_k(jk)ho__ z-KM&5uv2Tv?IVU;E;n1rpQ19h(^# z7F`q?99bJ45P3AhFY;ofZ`2d?=hHC%h`~_*@S%`D0d5M{!o2K2mz=T?eoj*;H>W#{lY1+an>`r9&ln1JPJ8x8z-x^p#H^Bp zT=aEOyq})91C3ne1T#vW1vwNv3v$eT9{4A~7ac!g zr34hMmz-+YAo;FqrNq-Ki?N&6H%eZ(CO5b1istI3i^jVu&RQ$yp0d+TInJ<%KE@%1 zbhyxc+dSAFEq+d}O`!r_W1NRWeYzK;uE>{GSMN`$JMK@ezvgdOH{wsN9Py`@jrjcu z2wE-)sVM)Kt&;fCwhViCb}n}N=3MN`?R65}w`6Cx-B4Ru-DkMH@Cxo=+69tU>{+@= zXpbY_x7(R4I^oW6Iqt*ec7`~yj>WjqkEXekj~056j?{^5j&z9$NBa;XVw=`iUZlo9 z0})FkAbT+ewTrQbUC2LNKplkJbFiL=t0j&+*gLcCzUs1)JNjEP`z;Q{U$;>U>!s@Z zUU9GxU3Mb4TojTy7rgD6=Yt(+=VG{aXVdt^vxP4Bv$d{PXFJ_+=Xwz%uDDb01Xjo2 z3I7DdEkf5}0XEPw3%h=D7Ip!35W4Tr#X1JpNYoGRomu)+bxHOUy$y*2W_!XP5S0Ax zQM5#NSccBG`R1HkLOiqIn?&sorr6$$p%ZSVF|2MDvMg`bIhx<>ay0Ajb2RUN;b3}W zf@5}Ng8L^ReLnWIS{l1?WCnJwX9jls+AOT~$vmv)#d@jY7yIXCzEE8eKcc%SY}j;< z&vUDT!e@4BPD2bG$04qv{h+{$GmUGxZVJq)eh`kPq1i!d{NmuO-9F5A*ztjtPptl3)k zeYdsF_%*!F_zS%D*hlL>akmP?F0@Nw$502M;i?Q)`d}88^J%F>%I9q}V?N6-4F00F zO8iB4lj|4bot!VY{q|pp^5m~nCE`~H73;5jHH&XT4byMlT1MZ3b@ac-=;?k>GtmA~ zV5s?{+DQFpo3Yx@(;4H9pVokh79B& zijae-K@Oq~If&E9LG&UAF+E-F7*>A@!-{$_EbW0L7W;F)L

    68^E#k7)r|O^&_{KBP&Rx?Z33TFX}H3v!4 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

    where <...> denotes the ensemble average, and +<center>**u**<sub>k&alpha;</sub>(<b>q</b>) = &sum;<sub>l</sub> +<b>u</b><sub>lk&alpha;</sub> exp(i**qr**<sub>l</sub>)</center>

    +

    is the &alpha; component of the atomic displacement for the k*th atom +in the unit cell in reciprocal space at **q*. In practice, the Green’s functions coefficients can also be measured according to the following -formula, -

    +formula,

    Gkα,k'β(q) = <R(q)•R*k'β(q)> - <R>(q)•<R>*k'β(q), -
    - -

    where R is the instantaneous positions of atoms, and <R> is the +

    where R is the instantaneous positions of atoms, and <R> is the averaged atomic positions. It gives essentially the same results as -the displacement method and is easier to implement in an MD code. -

    -

    Once the force constant matrix is known, the dynamical matrix D can -then be obtained by -

    -
    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)
    - -

    whose eigenvalues are exactly the phonon frequencies at q. -

    -

    This fix uses positions of atoms in the specified group and calculates +the displacement method and is easier to implement in an MD code.

    +

    Once the force constant matrix is known, the dynamical matrix D can +then be obtained by

    +
    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)

    whose eigenvalues are exactly the phonon frequencies at q.

    +

    This fix uses positions of atoms in the specified group and calculates two-point correlations. To achieve this. the positions of the atoms -are examined every Nevery steps and are Fourier-transformed into +are examined every Nevery steps and are Fourier-transformed into reciprocal space, where the averaging process and correlation -computation is then done. After every Noutput measurements, the -matrix G(q) is calculated and inverted to obtain the elastic +computation is then done. After every Noutput measurements, the +matrix G**(**q) is calculated and inverted to obtain the elastic stiffness coefficients. The dynamical matrices are then constructed -and written to prefix.bin.timestep files in binary format and to the -file prefix.log for each wavevector q. -

    -

    A detailed description of this method can be found in -(Kong2011). -

    -

    The sysdim keyword is optional. If specified with a value smaller +and written to prefix.bin.timestep files in binary format and to the +file prefix.log for each wavevector q.

    +

    A detailed description of this method can be found in +(Kong2011).

    +

    The sysdim keyword is optional. If specified with a value smaller than the dimensionality of the LAMMPS simulation, its value is used for the dynamical matrix calculation. For example, using LAMMPS ot model a 2D or 3D system, the phonon dispersion of a 1D atomic chain -can be computed using sysdim = 1. -

    -

    The nasr keyword is optional. An iterative procedure is employed to -enforce the acoustic sum rule on Φ at Γ, and the number -provided by keyword nasr gives the total number of iterations. For a -system whose unit cell has only one atom, nasr = 1 is sufficient; -for other systems, nasr = 10 is typically sufficient. -

    -

    The map_file contains the mapping information between the lattice +can be computed using sysdim = 1.

    +

    The nasr keyword is optional. An iterative procedure is employed to +enforce the acoustic sum rule on &Phi; at &Gamma;, and the number +provided by keyword nasr gives the total number of iterations. For a +system whose unit cell has only one atom, nasr = 1 is sufficient; +for other systems, nasr = 10 is typically sufficient.

    +

    The map_file contains the mapping information between the lattice indices and the atom IDs, which tells the code which atom sits at which lattice point; the lattice indices start from 0. An auxiliary -code, latgen, can be employed to -generate the compatible map file for various crystals. -

    -

    In case one simulates an aperiodic system, where the whole simulation box -is treated as a unit cell, one can set map_file as GAMMA, so that the mapping +code, latgen, can be employed to +generate the compatible map file for various crystals.

    +

    In case one simulates an aperiodic system, where the whole simulation box +is treated as a unit cell, one can set map_file as GAMMA, so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed for cyrstals, it will be inefficient and -even degrade the performance of lammps in case the unit cell is too large. -

    -

    The calculated dynamical matrix elements are written out in -energy/distance^2/mass units. The coordinates for q +even degrade the performance of lammps in case the unit cell is too large.

    +

    The calculated dynamical matrix elements are written out in +energy/distance^2/mass units. The coordinates for q points in the log file is in the units of the basis vectors of the -corresponding reciprocal lattice. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp option is supported by this +corresponding reciprocal lattice.

    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp option is supported by this fix. You can use it to change the temperature compute from thermo_temp -to the one that reflects the true temperature of atoms in the group. -

    -

    No global scalar or vector or per-atom quantities are stored by this -fix for access by various output commands. -

    -

    Instead, this fix outputs its initialization information (including +to the one that reflects the true temperature of atoms in the group.

    +

    No global scalar or vector or per-atom quantities are stored by this +fix for access by various output commands.

    +

    Instead, this fix outputs its initialization information (including mapping information) and the calculated dynamical matrices to the file -prefix.log, with the specified prefix. The dynamical matrices are -also written to files prefix.bin.timestep in binary format. These +prefix.log, with the specified prefix. The dynamical matrices are +also written to files prefix.bin.timestep in binary format. These can be read by the post-processing tool in tools/phonon to compute the -phonon density of states and/or phonon dispersion curves. -

    -

    No parameter of this fix can be used with the start/stop keywords -of the run command. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix assumes a crystalline system with periodical lattice. The +phonon density of states and/or phonon dispersion curves.

    +

    No parameter of this fix can be used with the start/stop keywords +of the run command.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to -keep the system in its solid state. -

    -

    This fix is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix requires LAMMPS be built with an FFT library. See the -Making LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute msd -

    -

    Default: -

    -

    The option defaults are sysdim = the same dimemsion as specified by -the dimension command, and nasr = 20. -

    -
    +keep the system in its solid state.

    +

    This fix is part of the USER-PHONON package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This fix requires LAMMPS be built with an FFT library. See the +Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are sysdim = the same dimemsion as specified by +the dimension command, and nasr = 20.

    +
    +

    (Campa&ntilde;&aacute;) C. Campa&ntilde;&aacute; and +M. H. M&uuml;ser, Practical Green’s function approach to the +simulation of elastic semi-infinite solids, Phys. Rev. B [74], 075420 (2006)

    +

    (Kong) L.T. Kong, G. Bartels, C. Campa&ntilde;&aacute;, +C. Denniston, and Martin H. M&uuml;ser, Implementation of Green’s +function molecular dynamics: An extension to LAMMPS, Computer Physics Communications [180](6):1004-1010 (2009).

    +

    L.T. Kong, C. Denniston, and Martin H. M&uuml;ser, +An improved version of the Green’s function molecular dynamics +method, Computer Physics Communications [182](2):540-541 (2011).

    +

    (Kong2011) L.T. Kong, Phonon dispersion measured directly from +molecular dynamics simulations, Computer Physics Communications [182](10):2201-2207, (2011).

    +
    + - -

    (Campañá) C. Campañá and -M. H. Müser, Practical Green's function approach to the -simulation of elastic semi-infinite solids, Phys. Rev. B [74], -075420 (2006) -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_pimd.html b/doc/fix_pimd.html index 44da3e9b4d..fb32b38d13 100644 --- a/doc/fix_pimd.html +++ b/doc/fix_pimd.html @@ -1,54 +1,168 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix pimd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix pimd command -

    -

    Syntax: -

    -
    fix ID group-ID pimd keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • pimd = style name of this fix command - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = method or fmass or sp or temp or nhc - -
        method value = pimd or nmpimd or cmd
      -  fmass value = scaling factor on mass
      -  sp value = scaling factor on Planck constant
      -  temp value = temperature (temperarate units)
      -  nhc value = Nc = number of chains in Nose-Hoover thermostat 
      -
      - -
    -

    Examples: -

    -
    fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 
    -
    -

    Description: -

    -

    This command performs quantum molecular dynamics simulations based on + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix pimd command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID pimd keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • pimd = style name of this fix command
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = method or fmass or sp or temp or nhc
    • +
    +
    +method value = pimd or nmpimd or cmd
    +  fmass value = scaling factor on mass
    +  sp value = scaling factor on Planck constant
    +  temp value = temperature (temperarate units)
    +  nhc value = Nc = number of chains in Nose-Hoover thermostat
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4
    +
    +
    +
    +
    +

    Description¶

    +

    This command performs quantum molecular dynamics simulations based on the Feynman path integral to include effects of tunneling and zero-point motion. In this formalism, the isomorphism of a quantum partition function for the original system to a classical partition function for a ring-polymer system is exploited, to efficiently sample -configurations from the canonical ensemble (Feynman). +configurations from the canonical ensemble (Feynman). The classical partition function and its components are given -by the following equations: -

    -
    -
    -

    The interested user is referred to any of the numerous references on +by the following equations:

    +_images/fix_pimd.jpg +

    The interested user is referred to any of the numerous references on this methodology, but briefly, each quantum particle in a path integral simulation is represented by a ring-polymer of P quasi-beads, labeled from 1 to P. During the simulation, each quasi-bead interacts @@ -57,139 +171,176 @@ index (the second term in the effective potential above). The quasi-beads also interact with the two neighboring quasi-beads through the spring potential in imaginary-time space (first term in effective potential). To sample the canonical ensemble, a Nose-Hoover massive -chain thermostat is applied (Tuckerman). With the +chain thermostat is applied (Tuckerman). With the massive chain algorithm, a chain of NH thermostats is coupled to each -degree of freedom for each quasi-bead. The keyword temp sets the -target temperature for the system and the keyword nhc sets the -number Nc of thermostats in each chain. For example, for a +degree of freedom for each quasi-bead. The keyword temp sets the +target temperature for the system and the keyword nhc sets the +number Nc of thermostats in each chain. For example, for a simulation of N particles with P beads in each ring-polymer, the total -number of NH thermostats would be 3 x N x P x Nc. -

    -

    IMPORTANT NOTE: This fix implements a complete velocity-verlet +number of NH thermostats would be 3 x N x P x Nc.

    +
    +

    Warning

    +

    This fix implements a complete velocity-verlet integrator combined with NH massive chain thermostat, so no -other time integration fix should be used. -

    -

    The method keyword determines what style of PIMD is performed. A -value of pimd is standard PIMD. A value of nmpimd is for -normal-mode PIMD. A value of cmd is for centroid molecular dynamics -(CMD). The difference between the styles is as follows. -

    -

    In standard PIMD, the value used for a bead's fictitious mass is +other time integration fix should be used.

    +
    +

    The method keyword determines what style of PIMD is performed. A +value of pimd is standard PIMD. A value of nmpimd is for +normal-mode PIMD. A value of cmd is for centroid molecular dynamics +(CMD). The difference between the styles is as follows.

    +

    In standard PIMD, the value used for a bead’s fictitious mass is arbitrary. A common choice is to use Mi = m/P, which results in the mass of the entire ring-polymer being equal to the real quantum particle. But it can be difficult to efficiently integrate the equations of motion for the stiff harmonic interactions in the ring -polymers. -

    -

    A useful way to resolve this issue is to integrate the equations of +polymers.

    +

    A useful way to resolve this issue is to integrate the equations of motion in a normal mode representation, using Normal Mode -Path-Integral Molecular Dynamics (NMPIMD) (Cao1). In NMPIMD, +Path-Integral Molecular Dynamics (NMPIMD) (Cao1). In NMPIMD, the NH chains are attached to each normal mode of the ring-polymer and the fictitious mass of each mode is chosen as Mk = the eigenvalue of -the Kth normal mode for k > 0. The k = 0 mode, referred to as the +the Kth normal mode for k > 0. The k = 0 mode, referred to as the zero-frequency mode or centroid, corresponds to overall translation of -the ring-polymer and is assigned the mass of the real particle. -

    -

    Motion of the centroid can be effectively uncoupled from the other +the ring-polymer and is assigned the mass of the real particle.

    +

    Motion of the centroid can be effectively uncoupled from the other normal modes by scaling the fictitious masses to achieve a partial adiabatic separation. This is called a Centroid Molecular Dynamics -(CMD) approximation (Cao2). The time-evolution (and resulting +(CMD) approximation (Cao2). The time-evolution (and resulting dynamics) of the quantum particles can be used to obtain centroid time correlation functions, which can be further used to obtain the true quantum correlation function for the original system. The CMD method -also uses normal modes to evolve the system, except only the k > 0 -modes are thermostatted, not the centroid degrees of freedom. -

    -

    The keyword fmass sets a further scaling factor for the fictitious +also uses normal modes to evolve the system, except only the k > 0 +modes are thermostatted, not the centroid degrees of freedom.

    +

    The keyword fmass sets a further scaling factor for the fictitious masses of beads, which can be used for the Partial Adiabatic CMD -(Hone), or to be set as P, which results in the fictitious -masses to be equal to the real particle masses. -

    -

    The keyword sp is a scaling factor on Planck's constant, which can +(Hone), or to be set as P, which results in the fictitious +masses to be equal to the real particle masses.

    +

    The keyword sp is a scaling factor on Planck’s constant, which can be useful for debugging or other purposes. The default value of 1.0 -is appropriate for most situations. -

    -

    The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme -as described in (Calhoun). In LAMMPS this is done by using -multi-replica feature in LAMMPS, where +is appropriate for most situations.

    +

    The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme +as described in (Calhoun). In LAMMPS this is done by using +multi-replica feature in LAMMPS, where each quasi-particle system is stored and simulated on a separate partition of processors. The following diagram illustrates this approach. The original system with 2 ring polymers is shown in red. Since each ring has 4 quasi-beads (imaginary time slices), there are 4 replicas of the system, each running on one of the 4 partitions of processors. Each replica (shown in green) owns one quasi-bead in each -ring. -

    -
    -
    -

    To run a PIMD simulation with M quasi-beads in each ring polymer using -N MPI tasks for each partition's domain-decomposition, you would use P -= MxN processors (cores) and run the simulation as follows: -

    -
    mpirun -np P lmp_mpi -partition MxN -in script 
    -
    -

    Note that in the LAMMPS input script for a multi-partition simulation, -it is often very useful to define a uloop-style -variable such as -

    -
    variable ibead uloop M pad 
    -
    -

    where M is the number of quasi-beads (partitions) used in the +ring.

    +_images/pimd.jpg +

    To run a PIMD simulation with M quasi-beads in each ring polymer using +N MPI tasks for each partition’s domain-decomposition, you would use P += MxN processors (cores) and run the simulation as follows:

    +
    mpirun -np P lmp_mpi -partition MxN -in script
    +
    +
    +

    Note that in the LAMMPS input script for a multi-partition simulation, +it is often very useful to define a uloop-style variable such as

    +
    variable ibead uloop M pad
    +
    +
    +

    where M is the number of quasi-beads (partitions) used in the calculation. The uloop variable can then be used to manage I/O -related tasks for each of the partitions, e.g. -

    -
    dump dcd all dcd 10 system_${ibead}.dcd
    +related tasks for each of the partitions, e.g.

    +
    dump dcd all dcd 10 system_${ibead}.dcd
     restart 1000 system_${ibead}.restart1 system_${ibead}.restart2
    -read_restart system_${ibead}.restart2 
    -
    -

    Restrictions: -

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    A PIMD simulation can be initialized with a single data file read via -the read_data command. However, this means all +read_restart system_${ibead}.restart2 +

    +
    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    A PIMD simulation can be initialized with a single data file read via +the read_data command. However, this means all quasi-beads in a ring polymer will have identical positions and velocities, resulting in identical trajectories for all quasi-beads. To avoid this, users can simply initialize velocities with different random number seeds assigned to each partition, as defined by the -uloop variable, e.g. -

    -
    velocity all create 300.0 1234${ibead} rot yes dist gaussian 
    -
    -

    Default: -

    -

    The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, -and nhc = 2. -

    -
    +uloop variable, e.g.

    +
    velocity all create 300.0 1234${ibead} rot yes dist gaussian
    +
    +
    +
    +
    +

    Default¶

    +

    The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, +and nhc = 2.

    +
    +

    (Feynman) R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and +Path Integrals, McGraw-Hill, New York (1965).

    +

    (Tuckerman) M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993).

    +

    (Cao1) J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993).

    +

    (Cao2) J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994).

    +

    (Hone) T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, +154103 (2006).

    +

    (Calhoun) A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, +415 (1996).

    +
    +
    - -

    (Feynman) R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and -Path Integrals, McGraw-Hill, New York (1965). -

    - +
    +
    +
    + -

    (Tuckerman) M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993). -

    - +
    -

    (Cao1) J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Cao2) J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994). -

    - +
    -

    (Hone) T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, -154103 (2006). -

    - +
    + -

    (Calhoun) A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, -415 (1996). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_planeforce.html b/doc/fix_planeforce.html index 2ef66d5a03..2698acf624 100644 --- a/doc/fix_planeforce.html +++ b/doc/fix_planeforce.html @@ -1,56 +1,238 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix planeforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix planeforce command -

    -

    Syntax: -

    -
    fix ID group-ID planeforce x y z 
    -
    -
    • ID, group-ID are documented in fix command -
    • planeforce = style name of this fix command -
    • x y z = 3-vector that is normal to the plane -
    -

    Examples: -

    -
    fix hold boundary planeforce 1.0 0.0 0.0 
    -
    -

    Description: -

    -

    Adjust the forces on each atom in the group so that only the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix planeforce command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID planeforce x y z
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • planeforce = style name of this fix command
    • +
    • x y z = 3-vector that is normal to the plane
    • +
    +
    +
    +

    Examples¶

    +
    fix hold boundary planeforce 1.0 0.0 0.0
    +
    +
    +
    +
    +

    Description¶

    +

    Adjust the forces on each atom in the group so that only the components of force in the plane specified by the normal vector (x,y,z) remain. This is done by subtracting out the component of -force perpendicular to the plane. -

    -

    If the initial velocity of the atom is 0.0 (or in the plane), then it -should continue to move in the plane thereafter. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +force perpendicular to the plane.

    +

    If the initial velocity of the atom is 0.0 (or in the plane), then it +should continue to move in the plane thereafter.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix lineforce -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_poems.html b/doc/fix_poems.html index 0bc381f4e6..ce79591184 100644 --- a/doc/fix_poems.html +++ b/doc/fix_poems.html @@ -1,146 +1,300 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix poems — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix poems -

    -

    Syntax: -

    -
    fix ID group-ID poems keyword values 
    -
    -
    • ID, group-ID are documented in fix command - -
    • poems = style name of this fix command - -
    • keyword = group or file or molecule - -
        group values = list of group IDs
      -  molecule values = none
      -  file values = filename 
      -
      - -
    -

    Examples: -

    -
    fix 3 fluid poems group clump1 clump2 clump3
    -fix 3 fluid poems file cluster.list 
    -
    -

    Description: -

    -

    Treats one or more sets of atoms as coupled rigid bodies. This means + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix poems¶

    +

    Syntax:

    +
    fix ID group-ID poems keyword values
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • poems = style name of this fix command
    • +
    • keyword = group or file or molecule
    • +
    +
    +group values = list of group IDs
    +  molecule values = none
    +  file values = filename
    +
    +
    +

    Examples¶

    +
    fix 3 fluid poems group clump1 clump2 clump3
    +fix 3 fluid poems file cluster.list
    +
    +
    +
    +
    +

    Description¶

    +

    Treats one or more sets of atoms as coupled rigid bodies. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms are updated so that the collection of bodies move as a coupled set. This can be useful for treating a large biomolecule as a collection of connected, -coarse-grained particles. -

    -

    The coupling, associated motion constraints, and time integration is -performed by the software package Parallelizable Open source -Efficient Multibody Software (POEMS) which computes the +coarse-grained particles.

    +

    The coupling, associated motion constraints, and time integration is +performed by the software package Parallelizable Open source Efficient Multibody Software (POEMS) which computes the constrained rigid-body motion of articulated (jointed) multibody -systems (Anderson). POEMS was written and is distributed +systems (Anderson). POEMS was written and is distributed by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and other members of his group at Rensselaer Polytechnic Institute (RPI). Rudranarayan developed the LAMMPS/POEMS interface. For copyright information on POEMS and other details, please refer to the -documents in the poems directory distributed with LAMMPS. -

    - - -

    This fix updates the positions and velocities of the rigid atoms with +documents in the poems directory distributed with LAMMPS.

    +

    This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same -atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). -

    -

    Each body must have a non-degenerate inertia tensor, which means if +atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin).

    +

    Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-collinear atoms. Which atoms are in which -bodies can be defined via several options. -

    -

    For option group, each of the listed groups is treated as a rigid +bodies can be defined via several options.

    +

    For option group, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are -included in each rigid body. -

    -

    For option molecule, each set of atoms in the group with a different -molecule ID is treated as a rigid body. -

    -

    For option file, sets of atoms are read from the specified file and +included in each rigid body.

    +

    For option molecule, each set of atoms in the group with a different +molecule ID is treated as a rigid body.

    +

    For option file, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies -a rigid body in the following format: -

    -

    ID type atom1-ID atom2-ID atom3-ID ... -

    -

    ID as an integer from 1 to M (the number of rigid bodies). Type is +a rigid body in the following format:

    +

    ID type atom1-ID atom2-ID atom3-ID ...

    +

    ID as an integer from 1 to M (the number of rigid bodies). Type is any integer; it is not used by the fix poems command. The remaining arguments are IDs of atoms in the rigid body, each typically from 1 to N (the number of atoms in the system). Only atoms that are also in the fix group are included in each rigid body. Blank lines and lines -that begin with '#' are skipped. -

    -

    A connection between a pair of rigid bodies is inferred if one atom is +that begin with ‘#’ are skipped.

    +

    A connection between a pair of rigid bodies is inferred if one atom is common to both bodies. The POEMS solver treats that atom as a spherical joint with 3 degrees of freedom. Currently, a collection of bodies can only be connected by joints as a linear chain. The entire collection of rigid bodies can represent one or more chains. Other connection topologies (tree, ring) are not allowed, but will be added later. Note that if no joints exist, it is more efficient to use the -fix rigid command to simulate the system. -

    -

    When the poems fix is defined, it will print out statistics on the +fix rigid command to simulate the system.

    +

    When the poems fix is defined, it will print out statistics on the total # of clusters, bodies, joints, atoms involved. A cluster in -this context means a set of rigid bodies connected by joints. -

    -

    For computational efficiency, you should turn off pairwise and bond +this context means a set of rigid bodies connected by joints.

    +

    For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to -the motion. The "neigh_modify exclude" and "delete_bonds" commands -can be used to do this if each rigid body is a group. -

    -

    For computational efficiency, you should only define one fix poems +the motion. The “neigh_modify exclude” and “delete_bonds” commands +can be used to do this if each rigid body is a group.

    +

    For computational efficiency, you should only define one fix poems which includes all the desired rigid bodies. LAMMPS will allow -multiple poems fixes to be defined, but it is more expensive. -

    -

    The degrees-of-freedom removed by coupled rigid bodies are accounted +multiple poems fixes to be defined, but it is more expensive.

    +

    The degrees-of-freedom removed by coupled rigid bodies are accounted for in temperature and pressure computations. Similarly, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned -off, and there is only a single fix poems defined. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +off, and there is only a single fix poems defined.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the POEMS package. It is only enabled if LAMMPS +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the POEMS package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be -built and linked with LAMMPS. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix rigid, delete_bonds, -neigh_modify exclude -

    -

    Default: none -

    -
    +built and linked with LAMMPS. See the Making LAMMPS section for more info.

    +
    + +
    - -

    (Anderson) Anderson, Mukherjee, Critchley, Ziegler, and Lipton -"POEMS: Parallelizable Open-source Efficient Multibody Software ", -Engineering With Computers (2006). (link to -paper) -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 7ce96622df..256b7043ea 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -1,242 +1,396 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix pour command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix pour command -

    -

    Syntax: -

    -
    fix ID group-ID pour N type seed keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • pour = style name of this fix command - -
    • N = # of atoms to insert - -
    • type = atom type to assign to inserted atoms (offset for molecule insertion) - -
    • seed = random # seed (positive integer) - -
    • one or more keyword/value pairs may be appended to args - -
    • keyword = region or diam or dens or vol or rate or vel or mol or rigid or shake - -
        region value = region-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix pour command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID pour N type seed keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • pour = style name of this fix command
      • +
      • N = # of atoms to insert
      • +
      • type = atom type to assign to inserted atoms (offset for molecule insertion)
      • +
      • seed = random # seed (positive integer)
      • +
      • one or more keyword/value pairs may be appended to args
      • +
      • keyword = region or diam or dens or vol or rate or vel or mol or rigid or shake
      • +
      +
      +region value = region-ID
           region-ID = ID of region to use as insertion volume
      -  diam values = dstyle args
      -    dstyle = one or range or poly
      -      one args = D
      +  diam values = dstyle args
      +    dstyle = one or range or poly
      +      one args = D
               D = single diameter for inserted particles (distance units)
      -      range args = Dlo Dhi
      +      range args = Dlo Dhi
               Dlo,Dhi = range of diameters for inserted particles (distance units)
      -      poly args = Npoly D1 P1 D2 P2 ...
      +      poly args = Npoly D1 P1 D2 P2 ...
               Npoly = # of (D,P) pairs
               D1,D2,... = diameter for subset of inserted particles (distance units)
               P1,P2,... = percentage of inserted particles with this diameter (0-1)
      -  vol values = fraction Nattempt
      +  vol values = fraction Nattempt
           fraction = desired volume fraction for filling insertion volume
           Nattempt = max # of insertion attempts per atom
      -  rate value = V
      +  rate value = V
           V = z velocity (3d) or y velocity (2d) at which
               insertion volume moves (velocity units)
      -  vel values (3d) = vxlo vxhi vylo vyhi vz
      -  vel values (2d) = vxlo vxhi vy
      +  vel values (3d) = vxlo vxhi vylo vyhi vz
      +  vel values (2d) = vxlo vxhi vy
           vxlo,vxhi = range of x velocities for inserted particles (velocity units)
           vylo,vyhi = range of y velocities for inserted particles (velocity units)
           vz = z velocity (3d) assigned to inserted particles (velocity units)
           vy = y velocity (2d) assigned to inserted particles (velocity units)
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command
      -  molfrac values = f1 f2 ... fN
      +  mol value = template-ID
      +    template-ID = ID of molecule template specified in a separate molecule command
      +  molfrac values = f1 f2 ... fN
           f1 to fN = relative probability of creating each of N molecules in template-ID
      -  rigid value = fix-ID
      -    fix-ID = ID of fix rigid/small command
      -  shake value = fix-ID
      -    fix-ID = ID of fix shake command 
      -
      - -
    -

    Examples: -

    -
    fix 3 all pour 1000 2 29494 region myblock
    -fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 
    +  rigid value = fix-ID
    +    fix-ID = ID of fix rigid/small command
    +  shake value = fix-ID
    +    fix-ID = ID of fix shake command
    +
    +
    +
    +

    Examples¶

    +
    fix 3 all pour 1000 2 29494 region myblock
    +fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1
     fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6
    -fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid 
    -
    -

    Description: -

    -

    Insert finite-size particles or molecules into the simulation box +fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid +

    +
    +
    +
    +

    Description¶

    +

    Insert finite-size particles or molecules into the simulation box every few timesteps within a specified region until N particles or molecules have been inserted. This is typically used to model the pouring of granular particles into a container under the influence of gravity. For the remainder of this doc page, a single inserted atom -or molecule is referred to as a "particle". -

    -

    If inserted particles are individual atoms, they are assigned the +or molecule is referred to as a “particle”.

    +

    If inserted particles are individual atoms, they are assigned the specified atom type. If they are molecules, the type of each atom in the inserted molecule is specified in the file read by the -molecule command, and those values are added to the +molecule command, and those values are added to the specified atom type. E.g. if the file specifies atom types 1,2,3, and those are the atom types you want for inserted molecules, then specify -type = 0. If you specify type = 2, the in the inserted molecule -will have atom types 3,4,5. -

    -

    All atoms in the inserted particle are assigned to two groups: the -default group "all" and the group specified in the fix pour command -(which can also be "all"). -

    -

    This command must use the region keyword to define an insertion +type = 0. If you specify type = 2, the in the inserted molecule +will have atom types 3,4,5.

    +

    All atoms in the inserted particle are assigned to two groups: the +default group “all” and the group specified in the fix pour command +(which can also be “all”).

    +

    This command must use the region keyword to define an insertion volume. The specified region must have been previously defined with a -region command. It must be of type block or a z-axis -cylinder and must be defined with side = in. The cylinder style -of region can only be used with 3d simulations. -

    -

    Individual atoms are inserted, unless the mol keyword is used. It -specifies a template-ID previously defined using the -molecule command, which reads a file that defines the +region command. It must be of type block or a z-axis +cylinder and must be defined with side = in. The cylinder style +of region can only be used with 3d simulations.

    +

    Individual atoms are inserted, unless the mol keyword is used. It +specifies a template-ID previously defined using the +molecule command, which reads a file that defines the molecule. The coordinates, atom types, center-of-mass, moments of inertia, etc, as well as any bond/angle/etc and special neighbor information for the molecule can be specified in the molecule file. -See the molecule command for details. The only +See the molecule command for details. The only settings required to be in this file are the coordinates and types of -atoms in the molecule. -

    -

    If the molecule template contains more than one molecule, the relative +atoms in the molecule.

    +

    If the molecule template contains more than one molecule, the relative probability of depositing each molecule can be specified by the -molfrac keyword. N relative probablities, each from 0.0 to 1.0, are +molfrac keyword. N relative probablities, each from 0.0 to 1.0, are specified, where N is the number of molecules in the template. Each time a molecule is inserted, a random number is used to sample from -the list of relative probabilities. The N values must sum to 1.0. -

    -

    If you wish to insert molecules via the mol keyword, that will be -treated as rigid bodies, use the rigid keyword, specifying as its -value the ID of a separate fix rigid/small -command which also appears in your input script. -

    -

    If you wish to insert molecules via the mol keyword, that will have -their bonds or angles constrained via SHAKE, use the shake keyword, -specifying as its value the ID of a separate fix -shake command which also appears in your input script. -

    -

    Each timestep particles are inserted, they are placed randomly inside +the list of relative probabilities. The N values must sum to 1.0.

    +

    If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script.

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix shake command which also appears in your input script.

    +

    Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If they are molecules they are also oriented randomly. Each atom in the particle is tested for overlaps with existing particles, including effects due to periodic boundary conditions if applicable. If an overlap is detected, another random insertion attempt is made; see the -vol keyword discussion below. The larger the volume of the +vol keyword discussion below. The larger the volume of the insertion region, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so -many timesteps until the desired # of particles has been inserted. -

    -

    All other keywords are optional with defaults as shown below. -

    -

    The diam option is only used when inserting atoms and specifes the -diameters of inserted particles. There are 3 styles: one, range, -or poly. For one, all particles will have diameter D. For -range, the diameter of each particle will be chosen randomly and -uniformly between the specified Dlo and Dhi bounds. For poly, a -series of Npoly diameters is specified. For each diameter a -percentage value from 0.0 to 1.0 is also specified. The Npoly -percentages must sum to 1.0. For the example shown above with "diam 2 -0.7 0.4 1.5 0.6", all inserted particles will have a diameter of 0.7 -or 1.5. 40% of the particles will be small; 60% will be large. -

    -

    Note that for molecule insertion, the diameters of individual atoms in +many timesteps until the desired # of particles has been inserted.

    +

    All other keywords are optional with defaults as shown below.

    +

    The diam option is only used when inserting atoms and specifes the +diameters of inserted particles. There are 3 styles: one, range, +or poly. For one, all particles will have diameter D. For +range, the diameter of each particle will be chosen randomly and +uniformly between the specified Dlo and Dhi bounds. For poly, a +series of Npoly diameters is specified. For each diameter a +percentage value from 0.0 to 1.0 is also specified. The Npoly +percentages must sum to 1.0. For the example shown above with “diam 2 +0.7 0.4 1.5 0.6”, all inserted particles will have a diameter of 0.7 +or 1.5. 40% of the particles will be small; 60% will be large.

    +

    Note that for molecule insertion, the diameters of individual atoms in the molecule can be specified in the file read by the -molecule command. If not specified, the diameter of -each atom in the molecule has a default diameter of 1.0. -

    -

    The dens and vel options enable inserted particles to have a range +molecule command. If not specified, the diameter of +each atom in the molecule has a default diameter of 1.0.

    +

    The dens and vel options enable inserted particles to have a range of densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly and uniformly between the -specified bounds. The vz or vy value for option vel assigns a -z-velocity (3d) or y-velocity (2d) to each inserted particle. -

    -

    The vol option specifies what volume fraction of the insertion +specified bounds. The vz or vy value for option vel assigns a +z-velocity (3d) or y-velocity (2d) to each inserted particle.

    +

    The vol option specifies what volume fraction of the insertion volume will be filled with particles. For particles with a size -specified by the diam range keyword, they are assumed to all be of -maximum diamter Dhi for purposes of computing their contribution to -the volume fraction. -

    -

    The higher the volume fraction value, the more particles are inserted +specified by the diam range keyword, they are assumed to all be of +maximum diamter Dhi for purposes of computing their contribution to +the volume fraction.

    +

    The higher the volume fraction value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all -insertions, it prints a warning. -

    -

    The rate option moves the insertion volume in the z direction (3d) +insertions, it prints a warning.

    +

    The rate option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a -successively higher height over time. -

    -

    IMPORTANT NOTE: If you are monitoring the temperature of a system +successively higher height over time.

    +
    +

    Warning

    +

    If you are monitoring the temperature of a system where the particle count is changing due to adding particles, you -typically should use the compute_modify dynamic -yes command for the temperature compute you are -using. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. This means you must be careful when restarting a +typically should use the compute_modify dynamic yes command for the temperature compute you are +using.

    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of the pouring operation. Specifically, you should use a new fix pour command in the input script for the restarted simulation that continues the operation. You will need to adjust the arguments of the -original fix pour command to do this. -

    -

    Also note that because the state of the random number generator is not -saved in restart files, you cannot do "exact" restarts with this fix, +original fix pour command to do this.

    +

    Also note that because the state of the random number generator is not +saved in restart files, you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior if you adjust the fix pour parameters -appropriately. -

    -

    None of the fix_modify options are relevant to this +appropriately.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    For 3d simulations, a gravity fix in the -z direction must be defined +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity -must be defined in the -y direction. -

    -

    The specified insertion region cannot be a "dynamic" region, as -defined by the region command. -

    -

    Related commands: -

    -

    fix_deposit, fix_gravity, -region -

    -

    Default: -

    -

    Insertions are performed for individual particles, i.e. no mol -setting is defined. If the mol keyword is used, the default for -molfrac is an equal probabilities for all molecules in the template. +must be defined in the -y direction.

    +

    The specified insertion region cannot be a “dynamic” region, as +defined by the region command.

    +
    + +
    +

    Default¶

    +

    Insertions are performed for individual particles, i.e. no mol +setting is defined. If the mol keyword is used, the default for +molfrac is an equal probabilities for all molecules in the template. Additional option defaults are diam = one 1.0, dens = 1.0 1.0, vol = -0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. -

    - +0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_press_berendsen.html b/doc/fix_press_berendsen.html index 673c1b3436..a6ea0f977f 100644 --- a/doc/fix_press_berendsen.html +++ b/doc/fix_press_berendsen.html @@ -1,227 +1,384 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix press/berendsen command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix press/berendsen command -

    -

    Syntax: -

    -
    fix ID group-ID press/berendsen keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • press/berendsen = style name of this fix command - -
      one or more keyword value pairs may be appended
      -keyword = iso or aniso or x or y or z or couple or dilate or modulus
      -  iso or aniso values = Pstart Pstop Pdamp
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix press/berendsen command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID press/berendsen keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • press/berendsen = style name of this fix command
      • +
      +
      +one or more keyword value pairs may be appended
      +keyword = iso or aniso or x or y or z or couple or dilate or modulus
      +  iso or aniso values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z values = Pstart Pstop Pdamp
      +  x or y or z values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  modulus value = bulk modulus of system (pressure units)
      -  dilate value = all or partial 
      -
      - -
    -

    Examples: -

    -
    fix 1 all press/berendsen iso 0.0 0.0 1000.0
    -fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial 
    -
    -

    Description: -

    -

    Reset the pressure of the system by using a Berendsen barostat -(Berendsen), which rescales the system volume and + couple = none or xyz or xy or yz or xz + modulus value = bulk modulus of system (pressure units) + dilate value = all or partial + +

    +
    +

    Examples¶

    +
    fix 1 all press/berendsen iso 0.0 0.0 1000.0
    +fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial
    +
    +
    +
    +
    +

    Description¶

    +

    Reset the pressure of the system by using a Berendsen barostat +(Berendsen), which rescales the system volume and (optionally) the atoms coordinates within the simulation box every -timestep. -

    -

    Regardless of what atoms are in the fix group, a global pressure is +timestep.

    +

    Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the -keyword dilate is specified with a value of partial, in which case +keyword dilate is specified with a value of partial, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. -

    -

    IMPORTANT NOTE: Unlike the fix npt or fix -nph commands which perform Nose/Hoover barostatting AND +unchanged and controlling the pressure of a surrounding fluid.

    +
    +

    Warning

    +

    Unlike the fix npt or fix nph commands which perform Nose/Hoover barostatting AND time integration, this fix does NOT perform time integration. It only modifies the box size and atom coordinates to effect barostatting. -Thus you must use a separate time integration fix, like fix -nve or fix nvt to actually update the +Thus you must use a separate time integration fix, like fix nve or fix nvt to actually update the positions and velocities of atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such -as fix nvt or fix langevin or fix -temp/berendsen. -

    -

    See this howto section of the manual for +as fix nvt or fix langevin or fix temp/berendsen.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting and barostatting. -

    -
    - -

    The barostat is specified using one or more of the iso, aniso, -x, y, z, and couple keywords. These keywords give you the +thermostatting and barostatting.

    +
    +

    The barostat is specified using one or more of the iso, aniso, +x, y, z, and couple keywords. These keywords give you the ability to specify the 3 diagonal components of an external stress tensor, and to couple various of these components together so that the dimensions they represent are varied together during a -constant-pressure simulation. Unlike the fix npt and -fix nph commands, this fix cannot be used with triclinic +constant-pressure simulation. Unlike the fix npt and +fix nph commands, this fix cannot be used with triclinic (non-orthogonal) simulation boxes to control all 6 components of the -general pressure tensor. -

    -

    The target pressures for each of the 3 diagonal components of the -stress tensor can be specified independently via the x, y, z, +general pressure tensor.

    +

    The target pressures for each of the 3 diagonal components of the +stress tensor can be specified independently via the x, y, z, keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each -timestep is a ramped value during the run from Pstart to Pstop. +timestep is a ramped value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will change during a simulation. For -example, if the y keyword is used, the y-box length will change. A +example, if the y keyword is used, the y-box length will change. A box dimension will not change if that component is not specified, -although you have the option to change that dimension via the fix -deform command. -

    -

    For all barostat keywords, the Pdamp parameter determines the time +although you have the option to change that dimension via the fix deform command.

    +

    For all barostat keywords, the Pdamp parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units -(tau or fmsec or psec - see the units command). -

    -

    IMPORTANT NOTE: The relaxation time is actually also a function of the +(tau or fmsec or psec - see the units command).

    +
    +

    Warning

    +

    The relaxation time is actually also a function of the bulk modulus of the system (inverse of isothermal compressibility). The bulk modulus has units of pressure and is the amount of pressure that would need to be applied (isotropically) to reduce the volume of the system by a factor of 2 (assuming the bulk modulus was a constant, -independent of density, which it's not). The bulk modulus can be set -via the keyword modulus. The Pdamp parameter is effectively +independent of density, which it’s not). The bulk modulus can be set +via the keyword modulus. The Pdamp parameter is effectively multiplied by the bulk modulus, so if the pressure is relaxing faster than expected or desired, increasing the bulk modulus has the same -effect as increasing Pdamp. The converse is also true. LAMMPS does +effect as increasing Pdamp. The converse is also true. LAMMPS does not attempt to guess a correct value of the bulk modulus; it just uses 10.0 as a default value which gives reasonable relaxation for a Lennard-Jones liquid, but will be way off for other materials and way too small for solids. Thus you should experiment to find appropriate -values of Pdamp and/or the modulus when using this fix. -

    -
    - -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +values of Pdamp and/or the modulus when using this fix.

    +
    +
    +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be “coupled” together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored. -

    -
    - -

    The iso and aniso keywords are simply shortcuts that are -equivalent to specifying several other keywords together. -

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored.

    +
    +

    The iso and aniso keywords are simply shortcuts that are +equivalent to specifying several other keywords together.

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using “iso Pstart Pstop Pdamp” is the same as
    +specifying these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz 
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz +

    + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +pressure.  Using “aniso Pstart Pstop Pdamp” is the same as specifying
    +these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none 
    -
    -
    - -

    This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if these commands had been issued: -

    -
    compute fix-ID_temp group-ID temp
    -compute fix-ID_press group-ID pressure fix-ID_temp 
    -
    -

    See the compute temp and compute -pressure commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is the same -as the fix group. -

    -

    Note that these are NOT the computes used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the -compute_modify command or print this temperature -or pressure during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp or -thermo_press will have no effect on this fix. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp and press options are +couple none +

    + +
    +

    This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style “temp” and “pressure”, +as if these commands had been issued:

    +
    compute fix-ID_temp group-ID temp
    +compute fix-ID_press group-ID pressure fix-ID_temp
    +
    +
    +

    See the compute temp and compute pressure commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + “temp” or fix_ID ++ underscore + “press”, and the group for the new computes is the same +as the fix group.

    +

    Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix’s temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix.

    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp and press options are supported by this fix. You can use them to assign a -compute you have defined to this fix which will be used +compute you have defined to this fix which will be used in its temperature and pressure calculations. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. -

    -

    No global or per-atom quantities are stored by this fix for access by -various output commands. -

    -

    This fix can ramp its target pressure over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    Any dimension being adjusted by this fix must be periodic. -

    -

    Related commands: -

    -

    fix nve, fix nph, fix -npt, fix temp/berendsen, -fix_modify -

    -

    Default: -

    -

    The keyword defaults are dilate = all, modulus = 10.0 in units of -pressure for whatever units are defined. -

    -
    +on a subset of atoms.

    +

    No global or per-atom quantities are stored by this fix for access by +various output commands.

    +

    This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Any dimension being adjusted by this fix must be periodic.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are dilate = all, modulus = 10.0 in units of +pressure for whatever units are defined.

    +
    +

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem +Phys, 81, 3684 (1984).

    +
    + - -

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem -Phys, 81, 3684 (1984). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_print.html b/doc/fix_print.html index 98b233769b..b29f5c1d37 100644 --- a/doc/fix_print.html +++ b/doc/fix_print.html @@ -1,100 +1,275 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix print command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix print command -

    -

    Syntax: -

    -
    fix ID group-ID print N string keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • print = style name of this fix command - -
    • N = print every N steps - -
    • string = text string to print with optional variable names - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = file or append or screen or title - -
        file value = filename
      -  append value = filename
      -  screen value = yes or no
      -  title value = string
      -    string =  text to print as 1st line of output file 
      -
      - -
    -

    Examples: -

    -
    fix extra all print 100 "Coords of marker atom = $x $y $z"
    -fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt 
    -
    -

    Description: -

    -

    Print a text string every N steps during a simulation run. This can + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix print command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID print N string keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • print = style name of this fix command
    • +
    • N = print every N steps
    • +
    • string = text string to print with optional variable names
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = file or append or screen or title
    • +
    +
    +file value = filename
    +  append value = filename
    +  screen value = yes or no
    +  title value = string
    +    string =  text to print as 1st line of output file
    +
    +
    +
    +

    Examples¶

    +
    fix extra all print 100 "Coords of marker atom = $x $y $z"
    +fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt
    +
    +
    +
    +
    +

    Description¶

    +

    Print a text string every N steps during a simulation run. This can be used for diagnostic purposes or as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but -will instead be evaluated each time the string is printed. -

    -

    See the variable command for a description of equal +will instead be evaluated each time the string is printed.

    +

    See the variable command for a description of equal style variables which are the most useful ones to use with the fix print command, since they are evaluated afresh each timestep that the fix print line is output. Equal-style variables calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a -compute or fix, or references to other -variables. -

    -

    If the file or append keyword is used, a filename is specified to -which the output generated by this fix will be written. If file is +compute or fix, or references to other +variables.

    +

    If the file or append keyword is used, a filename is specified to +which the output generated by this fix will be written. If file is used, then the filename is overwritten if it already exists. If -append is used, then the filename is appended to if it already -exists, or created if it does not exist. -

    -

    If the screen keyword is used, output by this fix to the screen and -logfile can be turned on or off as desired. -

    -

    The title keyword allow specification of the string that will be -printed as the first line of the output file, assuming the file -keyword was used. By default, the title line is as follows: -

    -
    # Fix print output for fix ID 
    -
    -

    where ID is replaced with the fix-ID. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +append is used, then the filename is appended to if it already +exists, or created if it does not exist.

    +

    If the screen keyword is used, output by this fix to the screen and +logfile can be turned on or off as desired.

    +

    The title keyword allow specification of the string that will be +printed as the first line of the output file, assuming the file +keyword was used. By default, the title line is as follows:

    +
    # Fix print output for fix ID
    +
    +
    +

    where ID is replaced with the fix-ID.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable, print -

    -

    Default: -

    -

    The option defaults are no file output, screen = yes, and title string -as described above. -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are no file output, screen = yes, and title string +as described above.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_property_atom.html b/doc/fix_property_atom.html index c17eb032c2..7c5501c52d 100644 --- a/doc/fix_property_atom.html +++ b/doc/fix_property_atom.html @@ -1,226 +1,387 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix property/atom command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix property/atom command -

    -

    Syntax: -

    -
    fix ID group-ID property/atom vec1 vec2 ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • property/atom = style name of this fix command - -
    • vec1,vec2,... = mol or q or i_name or d_name - -
        mol = molecule IDs
      -  q = charge
      -  i_name = new integer vector referenced by name
      -  d_name = new floating-point vector referenced by name 
      -
      -
    • zero of more keyword/value pairs may be appended - -
    • keyword = ghost - -
        ghost value = no or yes for whether ghost atom info in communicated 
      -
      - -
    -

    Examples: -

    -
    fix 1 all property/atom mol
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix property/atom command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID property/atom vec1 vec2 ... keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • property/atom = style name of this fix command
    • +
    • vec1,vec2,... = mol or q or i_name or d_name
    • +
    +
    +mol = molecule IDs
    +  q = charge
    +  i_name = new integer vector referenced by name
    +  d_name = new floating-point vector referenced by name
    +
    +
      +
    • zero of more keyword/value pairs may be appended
    • +
    • keyword = ghost
    • +
    +
    +ghost value = no or yes for whether ghost atom info in communicated
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all property/atom mol
     fix 1 all property/atom i_myflag1 i_myflag2
    -fix 1 all property/atom d_sx d_sy d_sz 
    -
    -

    Description: -

    -

    Create one or more additional per-atom vectors to store information -about atoms and to use during a simulation. The specified group-ID -is ignored by this fix. -

    -

    The atom style used for a simulation defines a set of per-atom -properties, as explained on the atom_style and -read_data doc pages. The latter command allows these +fix 1 all property/atom d_sx d_sy d_sz +

    + + +
    +

    Description¶

    +

    Create one or more additional per-atom vectors to store information +about atoms and to use during a simulation. The specified group-ID +is ignored by this fix.

    +

    The atom style used for a simulation defines a set of per-atom +properties, as explained on the atom_style and +read_data doc pages. The latter command allows these properties to be defined for each atom in the system when a data file is read. This fix will augment the set of properties with new custom -ones. -

    -

    This can be useful in at least two scenarios. -

    -

    If the atom style does not define molecule IDs or per-atom charge, -they can be added using the mol or q keywords. This can be -useful, e.g, to define "molecules" to use as rigid bodies with the -fix rigid command, or just to carry around an extra +ones.

    +

    This can be useful in at least two scenarios.

    +

    If the atom style does not define molecule IDs or per-atom charge, +they can be added using the mol or q keywords. This can be +useful, e.g, to define “molecules” to use as rigid bodies with the +fix rigid command, or just to carry around an extra flag with the atoms (stored as a molecule ID). An alternative is to use an atom style that does define molecule IDs or charge or to use a hybrid atom style that combines two styles to allow for molecule IDs or charge, but that has 2 practical drawbacks. First it typically necessitates changing the format of the data file. And it may define -additional properties that aren't needed such as bond lists, which has -some overhead when there are no bonds. -

    -

    In the future, we may add additional per-atom properties similar to -mol or q, which "turn-on" specific properties defined by some atom -styles, so they can be used by atom styles that don't define them. -

    -

    More generally, the i_name and d_name vectors allow one or more +additional properties that aren’t needed such as bond lists, which has +some overhead when there are no bonds.

    +

    In the future, we may add additional per-atom properties similar to +mol or q, which “turn-on” specific properties defined by some atom +styles, so they can be used by atom styles that don’t define them.

    +

    More generally, the i_name and d_name vectors allow one or more new custom per-atom properties to be defined. Each name must be unique and can use alphanumeric or underscore characters. These vectors can store whatever values you decide are useful in your simulation. As explained below there are several ways to initialize and access and output these values, both via input script commands and -in new code that you add to LAMMPS. -

    -

    This is effectively a simple way to add per-atom properties to a model -without needing to write code for a new atom style +in new code that you add to LAMMPS.

    +

    This is effectively a simple way to add per-atom properties to a model +without needing to write code for a new atom style that defines the properties. Note however that implementing a new atom style allows new atom properties to be more tightly and -seamlessly integrated with the rest of the code. -

    -

    The new atom properties encode values that migrate with atoms to new +seamlessly integrated with the rest of the code.

    +

    The new atom properties encode values that migrate with atoms to new processors and are written to restart files. If you want the new -properties to also be defined for ghost atoms, then use the ghost -keyword with a value of yes. This will invoke extra communication +properties to also be defined for ghost atoms, then use the ghost +keyword with a value of yes. This will invoke extra communication when ghost atoms are created (at every re-neighboring) to insure the -new properties are also defined for the ghost atoms. -

    -

    IMPORTANT NOTE: If you use this command with the mol or charge -vectors than you most likely want to set ghost yes, since these +new properties are also defined for the ghost atoms.

    +
    +

    Warning

    +

    If you use this command with the mol or charge +vectors than you most likely want to set ghost yes, since these properties are stored with ghost atoms if you use an -atom_style that defines them, and many LAMMPS +atom_style that defines them, and many LAMMPS operations that use molecule IDs or charge, such as neighbor lists and pair styles, will expect ghost atoms to have these valuse. LAMMPS will issue a warning it you define those vectors but do not set -ghost yes. -

    -

    IMPORTANT NOTE: The properties for ghost atoms are not updated every +ghost yes.

    +
    +
    +

    Warning

    +

    The properties for ghost atoms are not updated every timestep, but only once every few steps when neighbor lists are -re-built. Thus the ghost keyword is suitable for static properties, +re-built. Thus the ghost keyword is suitable for static properties, like molecule IDs, but not for dynamic properties that change every step. For the latter, the code you add to LAMMPS to change the properties will also need to communicate their new values to/from -ghost atoms, an operation that can be invoked from within a pair -style or fix or compute -that you write. -

    -
    - -

    This fix is one of a small number that can be defined in an input +ghost atoms, an operation that can be invoked from within a pair style or fix or compute +that you write.

    +
    +
    +

    This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. -This is so it can be used with the read_data command -as described below. -

    -

    Per-atom properties that are defined by the atom -style are initialized when atoms are created, e.g. by -the read_data or create_atoms +This is so it can be used with the read_data command +as described below.

    +

    Per-atom properties that are defined by the atom style are initialized when atoms are created, e.g. by +the read_data or create_atoms commands. The per-atom properaties defined by this fix are not. So you need to initialize them explicitly. This can be done by the -read_data command, using its fix keyword and -passing it the fix-ID of this fix. -

    -

    Thus these commands: -

    -
    fix prop all property/atom mol d_flag
    -read_data data.txt fix prop NULL Molecules 
    -
    -

    would allow a data file to have a section like this: -

    -
    Molecules 
    -
    -
    1 4 1.5
    +read_data command, using its fix keyword and
    +passing it the fix-ID of this fix.

    +

    Thus these commands:

    +
    fix prop all property/atom mol d_flag
    +read_data data.txt fix prop NULL Molecules
    +
    +
    +

    would allow a data file to have a section like this:

    +
    Molecules
    +
    +
    +
    1 4 1.5
     2 4 3.0
     3 10 1.0
     4 10 1.0
     5 10 1.0
     ...
    -N 763 4.5 
    -
    -

    where N is the number of atoms, and the first field on each line is +N 763 4.5 +

    + +

    where N is the number of atoms, and the first field on each line is the atom-ID, followed by a molecule-ID and a floating point value that -will be stored in a new property called "flag". Note that the list of -per-atom properties can be in any order. -

    -

    Another way of initializing the new properties is via the -set command. For example, if you wanted molecules +will be stored in a new property called “flag”. Note that the list of +per-atom properties can be in any order.

    +

    Another way of initializing the new properties is via the +set command. For example, if you wanted molecules defined for every set of 10 atoms, based on their atom-IDs, -these commands could be used: -

    -
    fix prop all property/atom mol
    +these commands could be used:

    +
    fix prop all property/atom mol
     variable cluster atom ((id-1)/10)+1
    -set id * mol v_cluster 
    -
    -

    The atom-style variable will create values for atoms +set id * mol v_cluster +

    + +

    The atom-style variable will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the -set commands assigns them to the molecule ID for each atom, +set commands assigns them to the molecule ID for each atom, they will be truncated to an integer value, so atoms 31-40 will all be -assigned a molecule ID of 4. -

    -

    Note that atomfile-style variables can also be used in +assigned a molecule ID of 4.

    +

    Note that atomfile-style variables can also be used in place of atom-style variables, which means in this case that the molecule IDs could be read-in from a separate file and assinged by the -set command. This allows you to initialize new per-atom -properties in a completely general fashion. -

    -
    - -

    For new atom properties specified as i_name or d_name, the -compute property/atom command can access -their values. This means that the values can be output via the dump -custom command, accessed by fixes like fix -ave/atom, accessed by other computes like compute -reduce, or used in atom-style -variables. -

    -

    For example, these commands will output two new properties to a custom -dump file: -

    -
    fix prop all property/atom i_flag1 d_flag2
    +set command.  This allows you to initialize new per-atom
    +properties in a completely general fashion.

    +
    +

    For new atom properties specified as i_name or d_name, the +compute property/atom command can access +their values. This means that the values can be output via the dump custom command, accessed by fixes like fix ave/atom, accessed by other computes like compute reduce, or used in atom-style variables.

    +

    For example, these commands will output two new properties to a custom +dump file:

    +
    fix prop all property/atom i_flag1 d_flag2
     compute 1 all property/atom i_flag1 d_flag2
    -dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] 
    -
    -
    - -

    If you wish to add new pair styles, -fixes, or computes that use the per-atom -properties defined by this fix, see Section -modify of the manual which has some details -on how the properties can be accessed from added classes. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the per-atom values it stores to binary restart -files, so that the values can be restored when a -simulation is restarted. See the read_restart +dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] +

    + +
    +

    If you wish to add new pair styles, +fixes, or computes that use the per-atom +properties defined by this fix, see Section modify of the manual which has some details +on how the properties can be accessed from added classes.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the per-atom values it stores to binary restart files, so that the values can be restored when a +simulation is restarted. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    None of the fix_modify options +uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    read_data, set, compute -property/atom -

    -

    Default: -

    -

    The default keyword values are ghost = no. -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The default keyword values are ghost = no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qbmsst.html b/doc/fix_qbmsst.html index 376c73eed0..caf1b67ac4 100644 --- a/doc/fix_qbmsst.html +++ b/doc/fix_qbmsst.html @@ -1,232 +1,379 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qbmsst command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qbmsst command -

    -

    Syntax: -

    -
    fix ID group-ID qbmsst dir shockvel keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • qbmsst = style name of this fix - -
    • dir = x or y or z - -
    • shockvel = shock velocity (strictly positive, velocity units) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = q or mu or p0 or v0 or e0 or tscale or damp or seedor f_max or N_f or eta or beta or T_init - -
        q value = cell mass-like parameter (mass^2/distance^4 units)
      -  mu value = artificial viscosity (mass/distance/time units)
      -  p0 value = initial pressure in the shock equations (pressure units)
      -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
      -  e0 value = initial total energy (energy units)
      -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
      -  damp value = damping parameter (time units) inverse of friction γ
      -  seed value = random number seed (positive integer)
      -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
      -  N_f value = number of frequency bins (positive integer)
      -  eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
      -  beta value = the quantum temperature is updated every beta time steps (positive integer)
      -  T_init value = quantum temperature for the initial state (temperature units) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units)
    -fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) 
    -
    -

    Two example input scripts are given, including shocked alpha quartz + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qbmsst command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID qbmsst dir shockvel keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • qbmsst = style name of this fix
    • +
    • dir = x or y or z
    • +
    • shockvel = shock velocity (strictly positive, velocity units)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = q or mu or p0 or v0 or e0 or tscale or damp or seed*or *f_max or N_f or eta or beta or T_init
    • +
    +
    +q value = cell mass-like parameter (mass^2/distance^4 units)
    +  mu value = artificial viscosity (mass/distance/time units)
    +  p0 value = initial pressure in the shock equations (pressure units)
    +  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    +  e0 value = initial total energy (energy units)
    +  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    +  damp value = damping parameter (time units) inverse of friction <i>&gamma;</i>
    +  seed value = random number seed (positive integer)
    +  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    +  N_f value = number of frequency bins (positive integer)
    +  eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
    +  beta value = the quantum temperature is updated every beta time steps (positive integer)
    +  T_init value = quantum temperature for the initial state (temperature units)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units)
    +fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units)
    +
    +
    +

    Two example input scripts are given, including shocked alpha quartz and shocked liquid methane. The input script first equilibrate an initial state with the quantum thermal bath at the target temperature and then apply the qbmsst to simulate shock compression with quantum nuclear correction. The following two figures plot related quantities -for shocked alpha quartz. -

    -
    -
    -

    Figure 1. Classical temperature Tcl = ∑ -mivi2/3NkB vs. time +for shocked alpha quartz.

    +_images/qbmsst_init.jpg +

    Figure 1. Classical temperature <i>T</i><sup>cl</sup> = &sum; +<i>m<sub>i</sub>v<sub>i</sub><sup>2</sup>/3Nk</i><sub>B</sub> vs. time for coupling the alpha quartz initial state with the quantum thermal -bath at target quantum temperature Tqm = 300 K. The +bath at target quantum temperature <i>T</i><sup>qm</sup> = 300 K. The NpH ensemble is used for time integration while QTB provides the -colored random force. Tcl converges at the timescale -of damp which is set to be 1 ps. -

    -
    -
    -

    Figure 2. Quantum temperature and pressure vs. time for simulating +colored random force. <i>T</i><sup>cl</sup> converges at the timescale +of damp which is set to be 1 ps.

    +_images/qbmsst_shock.jpg +

    Figure 2. Quantum temperature and pressure vs. time for simulating shocked alpha quartz with the QBMSST. The shock propagates along the z direction. Restart of the QBMSST command is demonstrated in the example input script. Thermodynamic quantities stay continuous before -and after the restart. -

    -

    Description: -

    -

    This command performs the Quantum-Bath coupled Multi-Scale Shock -Technique (QBMSST) integration. See (Qi) for a detailed +and after the restart.

    +
    +
    +

    Description¶

    +

    This command performs the Quantum-Bath coupled Multi-Scale Shock +Technique (QBMSST) integration. See (Qi) for a detailed description of this method. The QBMSST provides description of the thermodynamics and kinetics of shock processes while incorporating -quantum nuclear effects. The shockvel setting determines the steady -shock velocity that will be simulated along direction dir. -

    -

    Quantum nuclear effects (fix qtb) can be crucial +quantum nuclear effects. The shockvel setting determines the steady +shock velocity that will be simulated along direction dir.

    +

    Quantum nuclear effects (fix qtb) can be crucial especially when the temperature of the initial state is below the classical limit or there is a great change in the zero point energies between the initial and final states. Theoretical post processing quantum corrections of shock compressed water and methane have been -reported as much as 30% of the temperatures (Goldman). A +reported as much as 30% of the temperatures (Goldman). A self-consistent method that couples the shock to a quantum thermal bath described by a colored noise Langevin thermostat has been -developed by Qi et al (Qi) and applied to shocked methane. The +developed by Qi et al (Qi) and applied to shocked methane. The onset of chemistry is reported to be at a pressure on the shock Hugoniot that is 40% lower than observed with classical molecular -dynamics. -

    -

    It is highly recommended that the system be already in an equilibrium -state with a quantum thermal bath at temperature of T_init. The fix -command fix qtb at constant temperature T_init could +dynamics.

    +

    It is highly recommended that the system be already in an equilibrium +state with a quantum thermal bath at temperature of T_init. The fix +command fix qtb at constant temperature T_init could be used before applying this command to introduce self-consistent -quantum nuclear effects into the initial state. -

    -

    The parameters q, mu, e0, p0, v0 and tscale are described -in the command fix msst. The values of e0, p0, or -v0 will be calculated on the first step if not specified. The -parameter of damp, f_max, and N_f are described in the command -fix qtb. -

    -

    The fix qbmsst command couples the shock system to a quantum thermal +quantum nuclear effects into the initial state.

    +

    The parameters q, mu, e0, p0, v0 and tscale are described +in the command fix msst. The values of e0, p0, or +v0 will be calculated on the first step if not specified. The +parameter of damp, f_max, and N_f are described in the command +fix qtb.

    +

    The fix qbmsst command couples the shock system to a quantum thermal bath with a rate that is proportional to the change of the total -energy of the shock system, etot - etot0. -Here etot consists of both the system energy and a thermal -term, see (Qi), and etot0 = e0 is the -initial total energy. -

    -

    The eta (η) parameter is a unitless coupling constant -between the shock system and the quantum thermal bath. A small eta +energy of the shock system, <i>etot</i> - <i>etot</i><sub>0</sub>. +Here <i>etot</i> consists of both the system energy and a thermal +term, see (Qi), and <i>etot</i><sub>0</sub> = e0 is the +initial total energy.

    +

    The eta (<i>&eta;</i>) parameter is a unitless coupling constant +between the shock system and the quantum thermal bath. A small eta value cannot adjust the quantum temperature fast enough during the -temperature ramping period of shock compression while large eta -leads to big temperature oscillation. A value of eta between 0.3 and +temperature ramping period of shock compression while large eta +leads to big temperature oscillation. A value of eta between 0.3 and 1 is usually appropriate for simulating most systems under shock -compression. We observe that different values of eta lead to almost -the same final thermodynamic state behind the shock, as expected. -

    -

    The quantum temperature is updated every beta (β) steps -with an integration time interval beta times longer than the -simulation time step. In that case, etot is taken as its -average over the past beta steps. The temperature of the quantum -thermal bath Tqm changes dynamically according to -the following equation where Δt is the MD time step and -γ is the friction constant which is equal to the inverse -of the damp parameter. -

    +compression. We observe that different values of eta lead to almost +the same final thermodynamic state behind the shock, as expected.

    +

    The quantum temperature is updated every beta (<i>&beta;</i>) steps +with an integration time interval beta times longer than the +simulation time step. In that case, <i>etot</i> is taken as its +average over the past beta steps. The temperature of the quantum +thermal bath <i>T</i><sup>qm</sup> changes dynamically according to +the following equation where &Delta;<i>t</i> is the MD time step and +<i>&gamma;</i> is the friction constant which is equal to the inverse +of the damp parameter.

    dTqm/dt = γηβl = 1[etot(t-lΔt)-etot0]/3βNkB -
    - -

    The parameter T_init is the initial temperature of the quantum -thermal bath and the system before shock loading. -

    -

    For all pressure styles, the simulation box stays orthorhombic in +

    The parameter T_init is the initial temperature of the quantum +thermal bath and the system before shock loading.

    +

    For all pressure styles, the simulation box stays orthorhombic in shape. Parrinello-Rahman boundary conditions (tilted box) are -supported by LAMMPS, but are not implemented for QBMSST. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    Because the state of the random number generator is not written to -binary restart files, this fix cannot be restarted -"exactly" in an uninterrupted fashion. However, in a statistical +supported by LAMMPS, but are not implemented for QBMSST.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    Because the state of the random number generator is not written to +binary restart files, this fix cannot be restarted +“exactly” in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for q, mu, damp, f_max, -N_f, eta, and beta and set tscale = 0 if the system is -compressed during the first run. -

    -

    The progress of the QBMSST can be monitored by printing the global +should write explicitly the same value for q, mu, damp, f_max, +N_f, eta, and beta and set tscale = 0 if the system is +compressed during the first run.

    +

    The progress of the QBMSST can be monitored by printing the global scalar and global vector quantities computed by the fix. The global -vector contains five values in this order: -

    -

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position, -quantum_temperature] -

    -
    1. dhugoniot is the departure from the Hugoniot (temperature units). -
    2. drayleigh is the departure from the Rayleigh line (pressure units). -
    3. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -
    4. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. -
    5. quantum_temperature is the temperature of the quantum thermal bath Tqm. -
    -

    To print these quantities to the log file with descriptive column +vector contains five values in this order:

    +

    [dhugoniot, drayleigh, lagrangian_speed, lagrangian_position, +quantum_temperature]

    +
      +
    1. dhugoniot is the departure from the Hugoniot (temperature units).
    2. +
    3. drayleigh is the departure from the Rayleigh line (pressure units).
    4. +
    5. lagrangian_speed is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units).
    6. +
    7. lagrangian_position is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front.
    8. +
    9. quantum_temperature is the temperature of the quantum thermal bath <i>T</i><sup>qm</sup>.
    10. +
    +

    To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested. Here the -fix_modify energy command is also enabled to allow -the thermo keyword etotal to print the quantity etot. See -also the thermo_style command. -

    -
    fix		fix_id all msst z 
    -fix_modify	fix_id energy yes
    -variable	dhug	equal f_fix_id[1]
    -variable	dray	equal f_fix_id[2]
    -variable	lgr_vel	equal f_fix_id[3]
    -variable	lgr_pos	equal f_fix_id[4]
    -variable	T_qm	equal f_fix_id[5]
    -thermo_style	custom	step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id 
    -
    -

    The global scalar under the entry f_fix_id is the quantity of thermo -energy as an extra part of etot. This global scalar and the -vector of 5 quantities can be accessed by various output -commands. It is worth noting that the -temp keyword under the thermo_style command print -the instantaneous classical temperature Tcl as -described in the command fix qtb. -

    -
    - -

    Restrictions: -

    -

    This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    All cell dimensions must be periodic. This fix can not be used with a +fix_modify energy command is also enabled to allow +the thermo keyword etotal to print the quantity <i>etot</i>. See +also the thermo_style command.

    +
    fix          fix_id all msst z
    +fix_modify   fix_id energy yes
    +variable     dhug    equal f_fix_id[1]
    +variable     dray    equal f_fix_id[2]
    +variable     lgr_vel equal f_fix_id[3]
    +variable     lgr_pos equal f_fix_id[4]
    +variable     T_qm    equal f_fix_id[5]
    +thermo_style custom  step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id
    +
    +
    +

    The global scalar under the entry f_fix_id is the quantity of thermo +energy as an extra part of <i>etot</i>. This global scalar and the +vector of 5 quantities can be accessed by various output commands. It is worth noting that the +temp keyword under the thermo_style command print +the instantaneous classical temperature <i>T</i><sup>cl</sup> as +described in the command fix qtb.

    +
    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the USER-QTB package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID -all. -

    -
    - -

    Related commands: -

    -

    fix qtb, fix msst -

    -
    - -

    Default: -

    -

    The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed +all.

    +
    +
    + +
    +
    +

    Default¶

    +

    The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed = 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and -T_init=300.0. e0, p0, and v0 are calculated on the first step. -

    -
    +T_init=300.0. e0, p0, and v0 are calculated on the first step.

    +
    +

    (Goldman) Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009)

    +

    (Qi) Qi and Reed, J. Phys. Chem. A 116, 10451 (2012).

    +
    +
    - -

    (Goldman) Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009) -

    - +
    +
    +
    + -

    (Qi) Qi and Reed, J. Phys. Chem. A 116, 10451 (2012). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qeq.html b/doc/fix_qeq.html index e4abfa5316..4761fe00ab 100644 --- a/doc/fix_qeq.html +++ b/doc/fix_qeq.html @@ -1,209 +1,370 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qeq/point command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qeq/point command -

    -

    fix qeq/shielded command -

    -

    fix qeq/slater command -

    -

    fix qeq/dynamic command -

    -

    Syntax: -

    -
    fix ID group-ID style Nevery cutoff tolerance maxiter qfile 
    -
    -
    • ID, group-ID are documented in fix command -
    • style = qeq/point or qeq/shielded or qeq/slater or qeq/dynamic -
    • Nevery = perform charge equilibration every this many steps -
    • cutoff = global cutoff for charge-charge interactions (distance unit) -
    • tolerance = precision to which charges will be equilibrated -
    • maxiter = maximum iterations to perform charge equilibration -
    • qfile = a filename with QEq parameters -
    -

    Examples: -

    -
    fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qeq/point command¶

    +
    +
    +

    fix qeq/shielded command¶

    +
    +
    +

    fix qeq/slater command¶

    +
    +
    +

    fix qeq/dynamic command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID style Nevery cutoff tolerance maxiter qfile
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • style = qeq/point or qeq/shielded or qeq/slater or qeq/dynamic
    • +
    • Nevery = perform charge equilibration every this many steps
    • +
    • cutoff = global cutoff for charge-charge interactions (distance unit)
    • +
    • tolerance = precision to which charges will be equilibrated
    • +
    • maxiter = maximum iterations to perform charge equilibration
    • +
    • qfile = a filename with QEq parameters
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
     fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2
     fix 1 all qeq/slater 5 10 1.0e-6 100 params
    -fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq 
    -
    -

    Description: -

    -

    Perform the charge equilibration (QEq) method as described in (Rappe -and Goddard) and formulated in (Nakano) (also known -as the matrix inversion method) and in (Rick and Stuart) (also +fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq +

    + + +
    +

    Description¶

    +

    Perform the charge equilibration (QEq) method as described in (Rappe and Goddard) and formulated in (Nakano) (also known +as the matrix inversion method) and in (Rick and Stuart) (also known as the extended Lagrangian method) based on the -electronegativity equilization principle. -

    -

    These fixes can be used with any pair style in +electronegativity equilization principle.

    +

    These fixes can be used with any pair style in LAMMPS, so long as per-atom charges are defined. The most typical -use-case is in conjunction with a pair style that +use-case is in conjunction with a pair style that performs charge equilibration periodically (e.g. every timestep), such as the ReaxFF or Streitz-Mintmire potential (the latter is not yet implemented in LAMMPS). But these fixes can also be used with potentials that normally assume per-atom charges are fixed, e.g. a -Buckingham or LJ/Coulombic potential. -

    -

    Because the charge equilibration calculation is effectively +Buckingham or LJ/Coulombic potential.

    +

    Because the charge equilibration calculation is effectively independent of the pair style, these fixes can also be used to perform a one-time assignment of charges to atoms. For example, you could -define the QEq fix, perform a zero-timestep run via the run +define the QEq fix, perform a zero-timestep run via the run command without any pair style defined which would set per-atom charges (based on the current atom configuration), then remove the fix -via the unfix command before performing further dynamics. -

    -

    IMPORTANT NOTE: Computing and using charge values different from +via the unfix command before performing further dynamics.

    +
    +

    Warning

    +

    Computing and using charge values different from published values defined for a fixed-charge potential like Buckingham or CHARMM or AMBER, can have a strong effect on energies and forces, -and produces a different model than the published versions. -

    -

    IMPORTANT NOTE: The fix qeq/comb command must -still be used to perform charge equliibration with the COMB -potential. The fix qeq/reax -command can be used to perform charge equilibration with the ReaxFF -force field, although fix qeq/shielded yields the -same results as fix qeq/reax if Nevery, cutoff, and tolerance are -the same. Eventually the fix qeq/reax command will be deprecated. -

    -

    The QEq method minimizes the electrostatic energy of the system (or +and produces a different model than the published versions.

    +
    +
    +

    Warning

    +

    The fix qeq/comb command must +still be used to perform charge equliibration with the COMB potential. The fix qeq/reax +command can be used to perform charge equilibration with the ReaxFF force field, although fix qeq/shielded yields the +same results as fix qeq/reax if Nevery, cutoff, and tolerance are +the same. Eventually the fix qeq/reax command will be deprecated.

    +
    +

    The QEq method minimizes the electrostatic energy of the system (or equalizes the derivative of energy with respect to charge of all the atoms) by adjusting the partial charge on individual atoms based on -interactions with their neighbors within cutoff. It reqires a few -parameters, in metal units, for each atom type which provided in a -file specified by qfile. The file has the following format -

    -
    1 chi eta gamma zeta qcore
    +interactions with their neighbors within cutoff.  It reqires a few
    +parameters, in metal units, for each atom type which provided in a
    +file specified by qfile.  The file has the following format

    +
    1 chi eta gamma zeta qcore
     2 chi eta gamma zeta qcore
     ...
    -Ntype chi eta gamma zeta qcore 
    -
    -

    There is one line per atom type with the following parameters. +Ntype chi eta gamma zeta qcore +

    + +

    There is one line per atom type with the following parameters. Only a subset of the parameters is used by each QEq style as descibed -below, thus the others can be set to 0.0 if desired. -

    -
    • chi = electronegativity in energy units -
    • eta = self-Coulomb potential in energy units -
    • gamma = shielded Coulomb constant defined by ReaxFF force field in distance units -
    • zeta = Slater type orbital exponent defined by the Streitz-Mintmire potential in reverse distance units -
    • qcore = charge of the nucleus defined by the Streitz-Mintmire potential potential in charge units -
    -

    The qeq/point style describes partial charges on atoms as point +below, thus the others can be set to 0.0 if desired.

    +
      +
    • chi = electronegativity in energy units
    • +
    • eta = self-Coulomb potential in energy units
    • +
    • gamma = shielded Coulomb constant defined by ReaxFF force field in distance units
    • +
    • zeta = Slater type orbital exponent defined by the Streitz-Mintmire potential in reverse distance units
    • +
    • qcore = charge of the nucleus defined by the Streitz-Mintmire potential potential in charge units
    • +
    +

    The qeq/point style describes partial charges on atoms as point charges. Interaction between a pair of charged particles is 1/r, which is the simplest description of the interaction between charges. -Only the chi and eta parameters from the qfile file are used. +Only the chi and eta parameters from the qfile file are used. Note that Coulomb catastrophe can occur if repulsion between the pair of charged particles is too weak. This style solves partial charges on atoms via the matrix inversion method. A tolerance of 1.0e-6 is -usually a good number. -

    -

    The qeq/shielded style describes partial charges on atoms also as +usually a good number.

    +

    The qeq/shielded style describes partial charges on atoms also as point charges, but uses a shielded Coulomb potential to describe the interaction between a pair of charged particles. Interaction through -the shielded Coulomb is given by equation (13) of the ReaxFF force -field paper. The shielding accounts for charge overlap +the shielded Coulomb is given by equation (13) of the ReaxFF force field paper. The shielding accounts for charge overlap between charged particles at small separation. This style is the same -as fix qeq/reax, and can be used with pair_style -reax/c. Only the chi, eta, and gamma -parameters from the qfile file are used. This style solves partial +as fix qeq/reax, and can be used with pair_style reax/c. Only the chi, eta, and gamma +parameters from the qfile file are used. This style solves partial charges on atoms via the matrix inversion method. A tolerance of -1.0e-6 is usually a good number. -

    -

    The qeq/slater style describes partial charges on atoms as spherical -charge densities centered around atoms via the Slater 1s orbital, so +1.0e-6 is usually a good number.

    +

    The qeq/slater style describes partial charges on atoms as spherical +charge densities centered around atoms via the Slater 1*s* orbital, so that the interaction between a pair of charged particles is the -product of two Slater 1s orbitals. The expression for the Slater -1s orbital is given under equation (6) of the -Streitz-Mintmire paper. Only the chi, eta, zeta, and -qcore parameters from the qfile file are used. This style solves +product of two Slater 1*s* orbitals. The expression for the Slater +1*s* orbital is given under equation (6) of the +Streitz-Mintmire paper. Only the chi, eta, zeta, and +qcore parameters from the qfile file are used. This style solves partial charges on atoms via the matrix inversion method. A tolerance -of 1.0e-6 is usually a good number. -

    -

    The qeq/dynamic style describes partial charges on atoms as point +of 1.0e-6 is usually a good number.

    +

    The qeq/dynamic style describes partial charges on atoms as point charges that interact through 1/r, but the extended Lagrangian method -is used to solve partial charges on atoms. Only the chi and eta -parameters from the qfile file are used. Note that Coulomb +is used to solve partial charges on atoms. Only the chi and eta +parameters from the qfile file are used. Note that Coulomb catastrophe can occur if repulsion between the pair of charged particles is too weak. A tolerance of 1.0e-3 is usually a good -number. -

    -

    Note that qeq/point, qeq/shielded, and qeq/slater describe +number.

    +

    Note that qeq/point, qeq/shielded, and qeq/slater describe different charge models, whereas the matrix inversion method and the -extended Lagrangian method (qeq/dynamic) are different solvers. -

    -

    Note that the qeq/point and the qeq/dynamic styles both describe +extended Lagrangian method (qeq/dynamic) are different solvers.

    +

    Note that the qeq/point and the qeq/dynamic styles both describe charges as point charges that interact through 1/r relationship, but solve partial charges on atoms using different solvers. Styles -qeq/point and the qeq/dynamic should yield comparable results if -the QEq parameters and Nevery, cutoff, and tolerance are the -same. Style qeq/point is typically faster, but qeq/dynamic scales -better on larger sizes. -

    -

    IMPORTANT NOTE: To avoid the evaluation of the derivative of charge +qeq/point and the qeq/dynamic should yield comparable results if +the QEq parameters and Nevery, cutoff, and tolerance are the +same. Style qeq/point is typically faster, but qeq/dynamic scales +better on larger sizes.

    +
    +

    Warning

    +

    To avoid the evaluation of the derivative of charge with respect to position, which is typically ill-defined, the system -should have a zero net charge. -

    -

    IMPORTANT NOTE: Developing QEq parameters (chi, eta, gamma, zeta, and -qcore) is an "art". Charges on atoms are not guaranteed to +should have a zero net charge.

    +
    +
    +

    Warning

    +

    Developing QEq parameters (chi, eta, gamma, zeta, and +qcore) is an “art”. Charges on atoms are not guaranteed to equilibrate with arbitrary choices of these parameters. We do not develop these QEq paramters. See the examples/qeq directory for some -examples. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about these fixes is written to binary restart -files. No global scalar or vector or per-atom -quantities are stored by these fixes for access by various output -commands. No parameter of these fixes -can be used with the start/stop keywords of the run -command. -

    -

    Thexe fixes are invoked during energy minimization. -

    -

    Restrictions: -

    -

    These fixes are part of the QEQ package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix qeq/reax, fix qeq/comb -

    -

    Default: none -

    -
    +examples.

    +
    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about these fixes is written to binary restart files. No global scalar or vector or per-atom +quantities are stored by these fixes for access by various output commands. No parameter of these fixes +can be used with the start/stop keywords of the run +command.

    +

    Thexe fixes are invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    These fixes are part of the QEQ package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Rappe and Goddard) A. K. Rappe and W. A. Goddard III, J Physical -Chemistry, 95, 3358-3363 (1991). -

    - + + +
    + -

    (Nakano) A. Nakano, Computer Physics Communications, 104, 59-69 (1997). -

    - +
    -

    (Rick and Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics -101, 16141 (1994). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Streitz-Mintmire) F. H. Streitz, J. W. Mintmire, Physical Review B, 50, -16, 11996 (1994) -

    - +
    -

    (ReaxFF) A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J -Physical Chemistry, 105, 9396-9049 (2001) -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qeq_comb.html b/doc/fix_qeq_comb.html index 4ae321f0f2..61f509b833 100644 --- a/doc/fix_qeq_comb.html +++ b/doc/fix_qeq_comb.html @@ -1,145 +1,296 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qeq/comb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qeq/comb command -

    -

    fix qeq/comb/omp command -

    -

    Syntax: -

    -
    fix ID group-ID qeq/comb Nevery precision keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • qeq/comb = style name of this fix command - -
    • Nevery = perform charge equilibration every this many steps - -
    • precision = convergence criterion for charge equilibration - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = file - -
        file value = filename
      -    filename = name of file to write QEQ equilibration info to 
      -
      - -
    -

    Examples: -

    -
    fix 1 surface qeq/comb 10 0.0001 
    -
    -

    Description: -

    -

    Perform charge equilibration (QeQ) in conjunction with the COMB + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qeq/comb command¶

    +
    +
    +

    fix qeq/comb/omp command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID qeq/comb Nevery precision keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • qeq/comb = style name of this fix command
    • +
    • Nevery = perform charge equilibration every this many steps
    • +
    • precision = convergence criterion for charge equilibration
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = file
    • +
    +
    +file value = filename
    +    filename = name of file to write QEQ equilibration info to
    +
    +
    +
    +

    Examples¶

    +
    fix 1 surface qeq/comb 10 0.0001
    +
    +
    +
    +
    +

    Description¶

    +

    Perform charge equilibration (QeQ) in conjunction with the COMB (Charge-Optimized Many-Body) potential as described in -(COMB_1) and (COMB_2). It performs the charge +(COMB_1) and (COMB_2). It performs the charge equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB -potential; see the fix qeq/reax command for a QeQ -calculation that can be used with any potential. -

    -

    Only charges on the atoms in the specified group are equilibrated. +potential; see the fix qeq/reax command for a QeQ +calculation that can be used with any potential.

    +

    Only charges on the atoms in the specified group are equilibrated. The fix relies on the pair style (COMB in this case) to calculate the per-atom electronegativity (effective force on the charges). An electronegativity equalization calculation (or QEq) is performed in an interative fashion, which in parallel requires communication at each iteration for processors to exchange charge information about nearby -atoms with each other. See Rappe_and_Goddard and -Rick_and_Stuart for details. -

    -

    During a run, charge equilibration is peformed every Nevery time +atoms with each other. See Rappe_and_Goddard and +Rick_and_Stuart for details.

    +

    During a run, charge equilibration is peformed every Nevery time steps. Charge equilibration is also always enforced on the first step -of each run. The precision argument controls the tolerance for the +of each run. The precision argument controls the tolerance for the difference in electronegativity for all atoms during charge -equilibration. Precision is a trade-off between the cost of -performing charge equilibration (more iterations) and accuracy. -

    -

    If the file keyword is used, then information about each -equilibration calculation is written to the specifed file. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +equilibration. Precision is a trade-off between the cost of +performing charge equilibration (more iterations) and accuracy.

    +

    If the file keyword is used, then information about each +equilibration calculation is written to the specifed file.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix produces a per-atom vector which can be accessed by various -output commands. The vector stores the +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix produces a per-atom vector which can be accessed by various +output commands. The vector stores the gradient of the charge on each atom. The per-atom values be accessed -on any timestep. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    This fix can be invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix command currently only supports pair style comb. -

    -

    Related commands: -

    -

    pair_style comb -

    -

    Default: -

    -

    No file output is performed. -

    -
    +on any timestep.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    This fix can be invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix command currently only supports pair style *comb*.

    +
    + +
    +

    Default¶

    +

    No file output is performed.

    +
    +

    (COMB_1) J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),

    +

    (COMB_2) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. +Phillpot, Phys Rev B, 81, 125328 (2010).

    +

    (Rappe_and_Goddard) A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 +(1991).

    +

    (Rick_and_Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys +101, 16141 (1994).

    +
    +
    - -

    (COMB_1) J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), -

    - +
    +
    +
    + -

    (COMB_2) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. -Phillpot, Phys Rev B, 81, 125328 (2010). -

    - +
    -

    (Rappe_and_Goddard) A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 -(1991). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Rick_and_Stuart) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys -101, 16141 (1994). -

    - +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qeq_reax.html b/doc/fix_qeq_reax.html index 79f8340d5c..1d682db2d8 100644 --- a/doc/fix_qeq_reax.html +++ b/doc/fix_qeq_reax.html @@ -1,106 +1,271 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qeq/reax command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qeq/reax command -

    -

    Syntax: -

    -
    fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params 
    -
    -
    • ID, group-ID are documented in fix command -
    • qeq/reax = style name of this fix command -
    • Nevery = perform QEq every this many steps -
    • cutlo,cuthi = lo and hi cutoff for Taper radius -
    • tolerance = precision to which charges will be equilibrated -
    • params = reax/c or a filename -
    -

    Examples: -

    -
    fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
    -fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq 
    -
    -

    Description: -

    -

    Perform the charge equilibration (QEq) method as described in (Rappe -and Goddard) and formulated in (Nakano). It is + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qeq/reax command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • qeq/reax = style name of this fix command
    • +
    • Nevery = perform QEq every this many steps
    • +
    • cutlo,cuthi = lo and hi cutoff for Taper radius
    • +
    • tolerance = precision to which charges will be equilibrated
    • +
    • params = reax/c or a filename
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
    +fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq
    +
    +
    +
    +
    +

    Description¶

    +

    Perform the charge equilibration (QEq) method as described in (Rappe and Goddard) and formulated in (Nakano). It is typically used in conjunction with the ReaxFF force field model as -implemented in the pair_style reax/c command, but +implemented in the pair_style reax/c command, but it can be used with any potential in LAMMPS, so long as it defines and -uses charges on each atom. The fix qeq/comb -command should be used to perform charge equliibration with the COMB -potential. For more technical details about the +uses charges on each atom. The fix qeq/comb +command should be used to perform charge equliibration with the COMB potential. For more technical details about the charge equilibration performed by fix qeq/reax, see the -(Aktulga) paper. -

    -

    The QEq method minimizes the electrostatic energy of the system by +(Aktulga) paper.

    +

    The QEq method minimizes the electrostatic energy of the system by adjusting the partial charge on individual atoms based on interactions with their neighbors. It reqires some parameters for each atom type. -If the params setting above is the word "reax/c", then these are -extracted from the pair_style reax/c command and +If the params setting above is the word “reax/c”, then these are +extracted from the pair_style reax/c command and the ReaxFF force field file it reads in. If a file name is specified -for params, then the parameters are taken from the specified file +for params, then the parameters are taken from the specified file and the file must contain one line for each atom type. The latter form must be used when performing QeQ with a non-ReaxFF potential. -Each line should be formatted as follows: -

    -
    itype chi eta gamma 
    -
    -

    where itype is the atom type from 1 to Ntypes, chi denotes the -electronegativity in eV, eta denotes the self-Coulomb -potential in eV, and gamma denotes the valence orbital +Each line should be formatted as follows:

    +
    itype chi eta gamma
    +
    +
    +

    where itype is the atom type from 1 to Ntypes, chi denotes the +electronegativity in eV, eta denotes the self-Coulomb +potential in eV, and gamma denotes the valence orbital exponent. Note that these 3 quantities are also in the ReaxFF potential file, except that eta is defined here as twice the eta value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units -of this fix are hard-coded to be A, eV, and electronic charge. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    This fix is invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-REAXC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix does not correctly handle interactions +of this fix are hard-coded to be A, eV, and electronic charge.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. No global scalar or vector or per-atom +quantities are stored by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    This fix is invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-REAXC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This fix does not correctly handle interactions involving multiple periodic images of the same atom. Hence, it should not -be used for periodic cell dimensions less than 10 angstroms. -

    -

    Related commands: -

    -

    pair_style reax/c -

    -

    Default: none -

    -
    +be used for periodic cell dimensions less than 10 angstroms.

    +
    + +
    - -

    (Rappe) Rappe and Goddard III, Journal of Physical Chemistry, 95, -3358-3363 (1991). -

    - +
    +
    +
    + -

    (Nakano) Nakano, Computer Physics Communications, 104, 59-69 (1997). -

    - +
    -

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, -245-259 (2012). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qmmm.html b/doc/fix_qmmm.html index d10da4e27c..42049ab801 100644 --- a/doc/fix_qmmm.html +++ b/doc/fix_qmmm.html @@ -1,71 +1,243 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qmmm command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qmmm command -

    -

    Syntax: -

    -
    fix ID group-ID qmmm  
    -
    -
    • ID, group-ID are documented in fix command -
    • qmmm = style name of this fix command -
    -

    Examples: -

    -

    fix 1 qmol qmmm -

    -

    Description: -

    -

    This fix provides functionality to enable a quantum + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qmmm command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID qmmm
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • qmmm = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +

    fix 1 qmol qmmm

    +
    +
    +

    Description¶

    +

    This fix provides functionality to enable a quantum mechanics/molecular mechanice (QM/MM) coupling of LAMMPS to a quantum mechanical code. The current implementation only supports an ONIOM -style mechanical coupling to the Quantum ESPRESSO plane +style mechanical coupling to the Quantum ESPRESSO plane wave DFT package. Electrostatic coupling is in preparation and the interface has been written in a manner that coupling to other QM codes -should be possible without changes to LAMMPS itself. -

    - - -

    The interface code for this is in the lib/qmmm directory of the LAMMPS +should be possible without changes to LAMMPS itself.

    +

    The interface code for this is in the lib/qmmm directory of the LAMMPS distribution and is being made available at this early stage of development in order to encourage contributions for interfaces to other QM codes. This will allow the LAMMPS side of the implementation -to be adapted if necessary before being finalized. -

    -

    Details about how to use this fix are currently documented in the -description of the QM/MM interface code itself in lib/qmmm/README. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +to be adapted if necessary before being finalized.

    +

    Details about how to use this fix are currently documented in the +description of the QM/MM interface code itself in lib/qmmm/README.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-QMMM package. It is only enabled if +quantities are stored by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a -library provided with LAMMPS. See the Making -LAMMPS section for more info. -

    -

    The fix is only functional when LAMMPS is built as a library and +library provided with LAMMPS. See the Making LAMMPS section for more info.

    +

    The fix is only functional when LAMMPS is built as a library and linked with a compatible QM program and a QM/MM frontend into a QM/MM -executable. See the lib/qmmm/README file for details. -

    -

    Related commands: none -

    -

    Default: none -

    - +executable. See the lib/qmmm/README file for details.

    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_qtb.html b/doc/fix_qtb.html index 45333c0bc2..f6fb026583 100644 --- a/doc/fix_qtb.html +++ b/doc/fix_qtb.html @@ -1,194 +1,342 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix qtb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix qtb command -

    -

    Syntax: -

    -
    fix ID group-ID qtb keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • qtb = style name of this fix - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = temp or damp or seed or f_max or N_f - -
        temp value = target quantum temperature (temperature units)
      -  damp value = damping parameter (time units) inverse of friction &gamma;
      -  seed value = random number seed (positive integer)
      -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)  
      -  N_f value = number of frequency bins (positive integer) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all nve
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix qtb command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID qtb keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • qtb = style name of this fix
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = temp or damp or seed or f_max or N_f
    • +
    +
    +temp value = target quantum temperature (temperature units)
    +  damp value = damping parameter (time units) inverse of friction <i>&gamma</i>;
    +  seed value = random number seed (positive integer)
    +  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    +  N_f value = number of frequency bins (positive integer)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve
     fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units)
     fix 2 all nph iso 1.01325 1.01325 1
    -fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) 
    -
    -

    Description: -

    -

    This command performs the quantum thermal bath scheme proposed by -(Dammak) to include self-consistent quantum nuclear effects, -when used in conjunction with the fix nve or fix -nph commands. -

    -

    Classical molecular dynamics simulation does not include any quantum +fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) +

    + + +
    +

    Description¶

    +

    This command performs the quantum thermal bath scheme proposed by +(Dammak) to include self-consistent quantum nuclear effects, +when used in conjunction with the fix nve or fix nph commands.

    +

    Classical molecular dynamics simulation does not include any quantum nuclear effect. Quantum treatment of the vibrational modes will introduce zero point energy into the system, alter the energy power spectrum and bias the heat capacity from the classical limit. Missing all the quantum nuclear effects, classical MD cannot model systems at temperatures lower than their classical limits. This effect is especially important for materials with a large population of hydrogen -atoms and thus higher classical limits. -

    -

    The equation of motion implemented by this command follows a Langevin -form: -

    +atoms and thus higher classical limits.

    +

    The equation of motion implemented by this command follows a Langevin +form:

    miai = fi + Ri - -miγvi.
    - -

    Here mi, ai, fi -, Ri, γ and vi +miγvi.

    Here <i>m<sub>i</sub></i>, <i>a<sub>i</sub></i>, <i>f<sub>i</sub> +</i>, <i>R<sub>i</sub></i>, <i>&gamma;</i> and <i>v<sub>i</sub> </i> represent mass, acceleration, force exerted by all other atoms, random force, frictional coefficient (the inverse of damping parameter damp), -and velocity. The random force Ri is "colored" so -that any vibrational mode with frequency ω will have a -temperature-sensitive energy θ(ω,T) which +and velocity. The random force <i>R<sub>i</sub></i> is “colored” so +that any vibrational mode with frequency <i>&omega;</i> will have a +temperature-sensitive energy <i>&theta;</i>(<i>&omega;,T</i>) which resembles the energy expectation for a quantum harmonic oscillator -with the same natural frequency: -

    +with the same natural frequency:

    θ(ω,T) = ℏω/2 + ℏω[exp(ℏω/kBT)-1]-1 -
    - -

    To efficiently generate the random forces, we employ the method -of (Barrat), that circumvents the need to generate all -random forces for all times before the simulation. The memory -requirement of this approach is less demanding and independent -of the simulation duration. Since the total random force Rtot -does not necessarily vanish for a finite number of atoms, -Ri is replaced by Ri - Rtot/Ntot -to avoid collective motion of the system. -

    -

    The temp parameter sets the target quantum temperature. LAMMPS will +

    To efficiently generate the random forces, we employ the method +of (Barrat), that circumvents the need to generate all +random forces for all times before the simulation. The memory +requirement of this approach is less demanding and independent +of the simulation duration. Since the total random force <i>R</i><sub>tot</sub> +does not necessarily vanish for a finite number of atoms, +<i>R<sub>i</sub></i> is replaced by <i>R<sub>i</sub></i> - <i>R</i><sub>tot</sub>/<i>N</i><sub>tot</sub> +to avoid collective motion of the system.

    +

    The temp parameter sets the target quantum temperature. LAMMPS will still have an output temperature in its thermo style. That is the -instantaneous classical temperature Tcl derived from +instantaneous classical temperature <i>T</i><sup>cl</sup> derived from the atom velocities at thermal equilibrium. A non-zero -Tcl will be present even when the quantum +<i>T</i><sup>cl</sup> will be present even when the quantum temperature approaches zero. This is associated with zero-point energy -at low temperatures. -

    +at low temperatures.

    Tcl = ∑ mivi2/3NkB -
    - -

    The damp parameter is specified in time units, and it equals the -inverse of the frictional coefficient γ. γ +

    The damp parameter is specified in time units, and it equals the +inverse of the frictional coefficient <i>&gamma;</i>. <i>&gamma;</i> should be as small as possible but slightly larger than the timescale of anharmonic coupling in the system which is about 10 ps to 100 -ps. When γ is too large, it gives an energy spectrum that -differs from the desired Bose-Einstein spectrum. When γ +ps. When <i>&gamma;</i> is too large, it gives an energy spectrum that +differs from the desired Bose-Einstein spectrum. When <i>&gamma;</i> is too small, the quantum thermal bath coupling to the system will be less significant than anharmonic effects, reducing to a classical -limit. We find that setting γ between 5 THz and 1 THz -could be appropriate depending on the system. -

    -

    The random number seed is a positive integer used to initiate a +limit. We find that setting <i>&gamma;</i> between 5 THz and 1 THz +could be appropriate depending on the system.

    +

    The random number seed is a positive integer used to initiate a Marsaglia random number generator. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors. -

    -

    The f_max parameter truncate the noise frequency domain so that -vibrational modes with frequencies higher than f_max will not be -modulated. If we denote Δt as the time interval for the -MD integration, f_max is always reset by the code to make -α = (int)(2f_maxΔt)-1 a +runs on different numbers of processors.

    +

    The f_max parameter truncate the noise frequency domain so that +vibrational modes with frequencies higher than f_max will not be +modulated. If we denote &Delta;<i>t</i> as the time interval for the +MD integration, f_max is always reset by the code to make +<i>&alpha;</i> = (int)(2*f_max*&Delta;<i>t</i>)<sup><i>-1</i></sup> a positive integer and print out relative information. An appropriate -value for the cutoff frequency f_max would be around 2~3 -fD, where fD is the Debye -frequency. -

    -

    The N_f parameter is the frequency grid size, the number of points -from 0 to f_max in the frequency domain that will be -sampled. 3×2 N_f per-atom random numbers are required +value for the cutoff frequency f_max would be around 2~3 +<i>f</i><sub>D</sub>, where <i>f</i><sub>D</sub> is the Debye +frequency.

    +

    The N_f parameter is the frequency grid size, the number of points +from 0 to f_max in the frequency domain that will be +sampled. <i>3&times;2</i> N_f per-atom random numbers are required in the random force generation and there could be as many atoms as in the whole simulation that can migrate into every individual -processor. A larger N_f provides a more accurate sampling of the -spectrum while consumes more memory. With fixed f_max and -γ, N_f should be big enough to converge the classical -temperature Tcl as a function of target quantum bath +processor. A larger N_f provides a more accurate sampling of the +spectrum while consumes more memory. With fixed f_max and +<i>&gamma;</i>, N_f should be big enough to converge the classical +temperature <i>T</i><sup>cl</sup> as a function of target quantum bath temperature. Memory usage per processor could be from 10 to 100 -Mbytes. -

    -

    IMPORTANT NOTE: Unlike the fix nvt command which +Mbytes.

    +
    +

    Warning

    +

    Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to a colored thermostat. Thus you must use a separate time integration fix, -like fix nve or fix nph to actually +like fix nve or fix nph to actually update the velocities and positions of atoms (as shown in the examples). Likewise, this fix should not normally be used with other -fixes or commands that also specify system temperatures , e.g. fix -nvt and fix temp/rescale. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimizie info: -

    -

    No information about this fix is written to binary restart -files. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" +fixes or commands that also specify system temperatures , e.g. fix nvt and fix temp/rescale.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimizie info:

    +

    No information about this fix is written to binary restart files. Because the state of the random number generator +is not saved in restart files, this means you cannot do “exact” restarts with this fix. However, in a statistical sense, a restarted -simulation should produce similar behaviors of the system. -

    -

    This fix is not invoked during energy minimization. -

    -
    +simulation should produce similar behaviors of the system.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the USER-QTB package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    +
    + +
    +
    +

    Default¶

    +

    The keyword defaults are temp = 300, damp = 1, seed = 880302, +f_max=200.0 and N_f = 100.

    +
    +

    (Dammak) Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev +Lett, 103, 190601 (2009).

    +

    (Barrat) Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).

    +
    + -

    Restrictions: -

    -

    This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -
    -

    Related commands: -

    -

    fix nve, fix nph, fix -langevin, fix qbmsst -

    -
    + + +
    + -

    Default: -

    -

    The keyword defaults are temp = 300, damp = 1, seed = 880302, -f_max=200.0 and N_f = 100. -

    -
    +
    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Dammak) Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev -Lett, 103, 190601 (2009). -

    - +
    -

    (Barrat) Barrat and Rodney, J. Stat. Phys, 144, 679 (2011). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_reax_bonds.html b/doc/fix_reax_bonds.html index dd25932e9c..1f41ec40b9 100644 --- a/doc/fix_reax_bonds.html +++ b/doc/fix_reax_bonds.html @@ -1,73 +1,249 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix reax/bonds command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix reax/bonds command -

    -

    fix reax/c/bonds command -

    -

    Syntax: -

    -
    fix ID group-ID reax/bonds Nevery filename 
    -
    -
    • ID, group-ID are documented in fix command -
    • reax/bonds = style name of this fix command -
    • Nevery = output interval in timesteps -
    • filename = name of output file -
    -

    Examples: -

    -
    fix 1 all reax/bonds 100 bonds.tatb
    -fix 1 all reax/c/bonds 100 bonds.reaxc 
    -
    -

    Description: -

    -

    Write out the bond information computed by the ReaxFF potential -specified by pair_style reax or pair_style -reax/c in the exact same format as the original + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix reax/bonds command¶

    +
    +
    +

    fix reax/c/bonds command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID reax/bonds Nevery filename
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • reax/bonds = style name of this fix command
    • +
    • Nevery = output interval in timesteps
    • +
    • filename = name of output file
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all reax/bonds 100 bonds.tatb
    +fix 1 all reax/c/bonds 100 bonds.reaxc
    +
    +
    +
    +
    +

    Description¶

    +

    Write out the bond information computed by the ReaxFF potential +specified by pair_style reax or pair_style reax/c in the exact same format as the original stand-alone ReaxFF code of Adri van Duin. The bond information is -written to filename on timesteps that are multiples of Nevery, +written to filename on timesteps that are multiples of Nevery, including timestep 0. For time-averaged chemical species analysis, -please see the fix species command. -

    -

    The format of the output file should be self-explantory. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +please see the fix species command.

    +

    The format of the output file should be self-explantory.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    The fix reax/bonds command requires that the pair_style -reax be invoked. This fix is part of the REAX +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    The fix reax/bonds command requires that the pair_style reax be invoked. This fix is part of the REAX package. It is only enabled if LAMMPS was built with that package, which also requires the REAX library be built and linked with LAMMPS. -The fix reax/c/bonds command requires that the pair_style -reax/c be invoked. This fix is part of the +The fix reax/c/bonds command requires that the pair_style reax/c be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the Making LAMMPS section -for more info. -

    -

    Related commands: -

    -

    pair_style reax, pair_style -reax/c, fix reax/c/species -

    -

    Default: none -

    - +package. See the Making LAMMPS section +for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_reaxc_species.html b/doc/fix_reaxc_species.html index a507564a2d..77f008c2df 100644 --- a/doc/fix_reaxc_species.html +++ b/doc/fix_reaxc_species.html @@ -1,84 +1,193 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix reax/c/species command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix reax/c/species command -

    -

    Syntax: -

    -
    fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • reax/c/species = style name of this command - -
    • Nevery = sample bond-order every this many timesteps - -
    • Nrepeat = # of bond-order samples used for calculating averages - -
    • Nfreq = calculate average bond-order every this many timesteps - -
    • filename = name of output file - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = cutoff or element or position - -
        cutoff value = I J Cutoff
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix reax/c/species command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • reax/c/species = style name of this command
      • +
      • Nevery = sample bond-order every this many timesteps
      • +
      • Nrepeat = # of bond-order samples used for calculating averages
      • +
      • Nfreq = calculate average bond-order every this many timesteps
      • +
      • filename = name of output file
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = cutoff or element or position
      • +
      +
      +cutoff value = I J Cutoff
           I, J = atom types
           Cutoff = Bond-order cutoff value for this pair of atom types
      -  element value = Element1, Element2, ... 
      -  position value = posfreq filepos
      +  element value = Element1, Element2, ...
      +  position value = posfreq filepos
           posfreq = write position files every this many timestep
      -    filepos = name of position output file 
      -
      - -
    -

    Examples: -

    -
    fix 1 all reax/c/species 10 10 100 species.out
    +    filepos = name of position output file
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all reax/c/species 10 10 100 species.out
     fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55
    -fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos 
    -
    -

    Description: -

    -

    Write out the chemical species information computed by the ReaxFF -potential specified by pair_style reax/c. +fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos +

    +
    +
    +
    +

    Description¶

    +

    Write out the chemical species information computed by the ReaxFF +potential specified by pair_style reax/c. Bond-order values (either averaged or instantaneous, depending on -value of Nrepeat) are used to determine chemical bonds. Every -Nfreq timesteps, chemical species information is written to -filename as a two line output. The first line is a header +value of Nrepeat) are used to determine chemical bonds. Every +Nfreq timesteps, chemical species information is written to +filename as a two line output. The first line is a header containing labels. The second line consists of the following: timestep, total number of molecules, total number of distinct species, -number of molecules of each species. In this context, "species" means +number of molecules of each species. In this context, “species” means a unique molecule. The chemical formula of each species is given in -the first line. -

    -

    Optional keyword cutoff can be assigned to change the minimum +the first line.

    +

    Optional keyword cutoff can be assigned to change the minimum bond-order values used in identifying chemical bonds between pairs of atoms. Bond-order cutoffs should be carefully chosen, as bond-order cutoffs that are too small may include too many bonds (which will result in an error), while cutoffs that are too large will result in fragmented molecules. The default cutoff of 0.3 usually gives good -results. -

    -

    The optional keyword element can be used to specify the chemical +results.

    +

    The optional keyword element can be used to specify the chemical symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as -specified using the reax/c pair_coeff command and -the ReaxFF force field file. -

    -

    The optional keyword position writes center-of-mass positions of -each identified molecules to file filepos every posfreq timesteps. +specified using the reax/c pair_coeff command and +the ReaxFF force field file.

    +

    The optional keyword position writes center-of-mass positions of +each identified molecules to file filepos every posfreq timesteps. The first line contains information on timestep, total number of molecules, total number of distinct species, and box dimensions. The second line is a header containing labels. From the third line @@ -86,80 +195,130 @@ downward, each molecule writes a line of output containing the following information: molecule ID, number of atoms in this molecule, chemical formula, total charge, and center-of-mass xyz positions of this molecule. The xyz positions are in fractional coordinates -relative to the box dimensions. -

    -

    For the keyword position, the filepos is the name of the output -file. It can contain the wildcard character "*". If the "*" -character appears in filepos, then one file per snapshot is written -at posfreq and the "*" character is replaced with the timestep -value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc. -

    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +relative to the box dimensions.

    +

    For the keyword position, the filepos is the name of the output +file. It can contain the wildcard character “*”. If the “*” +character appears in filepos, then one file per snapshot is written +at posfreq and the “*” character is replaced with the timestep +value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc.

    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order -on timesteps that are a multiple of Nfreq. The average is over -Nrepeat bond-order samples, computed in the preceding portion of the -simulation every Nevery timesteps. Nfreq must be a multiple of -Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, +on timesteps that are a multiple of Nfreq. The average is over +Nrepeat bond-order samples, computed in the preceding portion of the +simulation every Nevery timesteps. Nfreq must be a multiple of +Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps contributing to the average bond-order cannot overlap, -i.e. Nfreq > (Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order +i.e. Nfreq > (Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order values on timesteps 90,92,94,96,98,100 will be used to compute the -average bond-order for the species analysis output on timestep 100. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes both a global vector of length 2 and a per-atom -vector, either of which can be accessed by various output -commands. The values in the global -vector are "intensive". -

    -

    The 2 values in the global vector are as follows: -

    -
    • 1 = total number of molecules -
    • 2 = total number of distinct species -
    -

    The per-atom vector stores the molecule ID for each atom as identified +average bond-order for the species analysis output on timestep 100.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes both a global vector of length 2 and a per-atom +vector, either of which can be accessed by various output commands. The values in the global +vector are “intensive”.

    +

    The 2 values in the global vector are as follows:

    +
      +
    • 1 = total number of molecules
    • +
    • 2 = total number of distinct species
    • +
    +

    The per-atom vector stores the molecule ID for each atom as identified by the fix. If an atom is not in a molecule, its ID will be 0. For atoms in the same molecule, the molecule ID for all of them will be the same and will be equal to the smallest atom ID of -any atom in the molecule. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    The fix species currently only works with -pair_style reax/c and it requires that the pair_style -reax/c be invoked. This fix is part of the +any atom in the molecule.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    The fix species currently only works with +pair_style reax/c and it requires that the pair_style reax/c be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the Making LAMMPS section -for more info. -

    -

    It should be possible to extend it to other reactive pair_styles (such as -rebo, airebo, -comb, and bop), but this has not yet been done. -

    -

    Related commands: -

    -

    pair_style reax/c, fix -reax/bonds -

    -

    Default: -

    -

    The default values for bond-order cutoffs are 0.3 for all I-J pairs. The -default element symbols are C, H, O, N. Position files are not written -by default. -

    - +package. See the Making LAMMPS section +for more info.

    +

    It should be possible to extend it to other reactive pair_styles (such as +rebo, airebo, +comb, and bop), but this has not yet been done.

    +
    + +
    +

    Default¶

    +

    The default values for bond-order cutoffs are 0.3 for all I-J pairs. The +default element symbols are C, H, O, N. Position files are not written +by default.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html index 0213e10742..2ec206da59 100644 --- a/doc/fix_recenter.html +++ b/doc/fix_recenter.html @@ -1,136 +1,308 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix recenter command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix recenter command -

    -

    Syntax: -

    -
    fix ID group-ID recenter x y z keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • recenter = style name of this fix command - -
    • x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = shift or units - -
        shift value = group-ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix recenter command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID recenter x y z keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • recenter = style name of this fix command
      • +
      • x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = shift or units
      • +
      +
      +shift value = group-ID
           group-ID = group of atoms whose coords are shifted
      -  units value = box or lattice or fraction 
      -
      - -
    -

    Examples: -

    -
    fix 1 all recenter 0.0 0.5 0.0
    +  units value = box or lattice or fraction
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all recenter 0.0 0.5 0.0
     fix 1 all recenter INIT INIT NULL
    -fix 1 all recenter INIT 0.0 0.0 units box 
    -
    -

    Description: -

    -

    Constrain the center-of-mass position of a group of atoms by adjusting +fix 1 all recenter INIT 0.0 0.0 units box +

    +
    +
    +
    +

    Description¶

    +

    Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations -(e.g. fix langevin thermostatting). -

    -

    Distance units for the x,y,z values are determined by the setting of -the units keyword, as discussed below. One or more x,y,z values can +(e.g. fix langevin thermostatting).

    +

    Distance units for the x,y,z values are determined by the setting of +the units keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constrain the center-of-mass to its initial value at the beginning of -the run. -

    -

    The center-of-mass (COM) is computed for the group specified by the +the run.

    +

    The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A -different group can be shifted by using the shift keyword. For +different group can be shifted by using the shift keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) -could be shifted. -

    -

    If the units keyword is set to box, then the distance units of -x,y,z are defined by the units command - e.g. Angstroms -for real units. A lattice value means the distance units are in -lattice spacings. The lattice command must have been -previously used to define the lattice spacing. A fraction value +could be shifted.

    +

    If the units keyword is set to box, then the distance units of +x,y,z are defined by the units command - e.g. Angstroms +for real units. A lattice value means the distance units are in +lattice spacings. The lattice command must have been +previously used to define the lattice spacing. A fraction value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 -= middle of the box. The default is to use lattice units. -

    -

    Note that the velocity command can be used to create -velocities with zero aggregate linear and/or angular momentum. -

    -

    IMPORTANT NOTE: This fix performs its operations at the same point in -the timestep as other time integration fixes, such as fix -nve, fix nvt, or fix npt. += middle of the box. The default is to use lattice units.

    +

    Note that the velocity command can be used to create +velocities with zero aggregate linear and/or angular momentum.

    +
    +

    Warning

    +

    This fix performs its operations at the same point in +the timestep as other time integration fixes, such as fix nve, fix nvt, or fix npt. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will -warn you if your fixes are not ordered this way. -

    -

    IMPORTANT NOTE: If you use this fix on a small group of atoms (e.g. a -molecule in solvent) without using the shift keyword to adjust the +warn you if your fixes are not ordered this way.

    +
    +
    +

    Warning

    +

    If you use this fix on a small group of atoms (e.g. a +molecule in solvent) without using the shift keyword to adjust the positions of all atoms in the system, then the results can be unpredictable. For example, if the molecule is pushed in one direction by the solvent, its velocity will increase. But its coordinates will be recentered, meaning it is pushed back towards the force. Thus over time, the velocity and temperature of the molecule -could become very large (though it won't appear to be moving due to +could become very large (though it won’t appear to be moving due to the recentering). If you are thermostatting the entire system, then the solvent would be cooled to compensate. A better solution for this -simulation scenario is to use the fix spring command -to tether the molecule in place. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -distance the group is moved by fix recenter. -

    -

    This fix also computes global 3-vector which can be accessed by -various output commands. The 3 +simulation scenario is to use the fix spring command +to tether the molecule in place.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +distance the group is moved by fix recenter.

    +

    This fix also computes global 3-vector which can be accessed by +various output commands. The 3 quantities in the vector are xyz components of displacement applied to -the group of atoms by the fix. -

    -

    The scalar and vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix should not be used with an x,y,z setting that causes a large +the group of atoms by the fix.

    +

    The scalar and vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost, especially in parallel. Instead, use the -displace_atoms command, which can be used to -move atoms a large distance. -

    -

    Related commands: -

    -

    fix momentum, velocity -

    -

    Default: -

    -

    The option defaults are shift = fix group-ID, and units = lattice. -

    - +displace_atoms command, which can be used to +move atoms a large distance.

    +
    + +
    +

    Default¶

    +

    The option defaults are shift = fix group-ID, and units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_restrain.html b/doc/fix_restrain.html index 6c0f498fab..749d1bf08b 100644 --- a/doc/fix_restrain.html +++ b/doc/fix_restrain.html @@ -1,193 +1,355 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix restrain command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix restrain command -

    -

    Syntax: -

    -
    fix ID group-ID restrain keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • restrain = style name of this fix command - -
    • one or more keyword/arg pairs may be appended - -
    • keyword = bond or angle or dihedral - -
        bond args = atom1 atom2 Kstart Kstop r0
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix restrain command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID restrain keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • restrain = style name of this fix command
      • +
      • one or more keyword/arg pairs may be appended
      • +
      • keyword = bond or angle or dihedral
      • +
      +
      +bond args = atom1 atom2 Kstart Kstop r0
           atom1,atom2 = IDs of 2 atoms in bond
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
           r0 = equilibrium bond distance (distance units)
      -  angle args = atom1 atom2 atom3 Kstart Kstop theta0
      +  angle args = atom1 atom2 atom3 Kstart Kstop theta0
           atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
           theta0 = equilibrium angle theta (degrees)
      -  dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
      +  dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
           atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
           Kstart,Kstop = restraint coefficients at start/end of run (energy units)
      -    phi0 = equilibrium dihedral angle phi (degrees) 
      -
      - -
    -

    Examples: -

    -
    fix holdem all restrain bond 45 48 2000.0 2000.0 2.75
    +    phi0 = equilibrium dihedral angle phi (degrees)
    +
    +
    +
    +

    Examples¶

    +
    fix holdem all restrain bond 45 48 2000.0 2000.0 2.75
     fix holdem all restrain dihedral 1 2 3 4 2000.0 2000.0 120.0
     fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 dihedral 1 2 3 4 2000.0 2000.0 120.0
    -fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0 
    -
    -

    Description: -

    -

    Restrain the motion of the specified sets of atoms by making them part +fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0 +

    +
    +
    +
    +

    Description¶

    +

    Restrain the motion of the specified sets of atoms by making them part of a bond or angle or dihedral interaction whose strength can vary over time during a simulation. This is functionally equivalent to creating a bond or angle or dihedral for the same atoms in a data -file, as specified by the read_data command, albeit +file, as specified by the read_data command, albeit with a time-varying pre-factor coefficient. For the purpose of forcefield parameter-fitting or mapping a molecular potential energy surface, this fix reduces the hassle and risk associated with modifying data files. In other words, use this fix to temporarily force a molecule to adopt a particular conformation. To create a -permanent bond or angle or dihedral, you should modify the data file. -

    -

    The group-ID specified by this fix is ignored. -

    -

    The second example above applies a restraint to hold the dihedral +permanent bond or angle or dihedral, you should modify the data file.

    +

    The group-ID specified by this fix is ignored.

    +

    The second example above applies a restraint to hold the dihedral angle formed by atoms 1, 2, 3, and 4 near 120 degrees using a constant restraint coefficient. The fourth example applies similar restraints to multiple dihedral angles using a restraint coefficient that -increases from 0.0 to 2000.0 over the course of the run. -

    -

    IMPORTANT NOTE: Adding a force to atoms implies a change in their +increases from 0.0 to 2000.0 over the course of the run.

    +
    +

    Warning

    +

    Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For -dynamics via the run command, this energy can be added to -the system's potential energy for thermodynamic output (see below). -For energy minimization via the minimize command, this -energy must be added to the system's potential energy to formulate a -self-consistent minimization problem (see below). -

    -

    In order for a restraint to be effective, the restraint force must +dynamics via the run command, this energy can be added to +the system’s potential energy for thermodynamic output (see below). +For energy minimization via the minimize command, this +energy must be added to the system’s potential energy to formulate a +self-consistent minimization problem (see below).

    +
    +

    In order for a restraint to be effective, the restraint force must typically be significantly larger than the forces associated with conventional forcefield terms. If the restraint is applied during a dynamics run (as opposed to during an energy minimization), a large restraint coefficient can significantly reduce the stable timestep size, especially if the atoms are initially far from the preferred conformation. You may need to experiment to determine what value of K -works best for a given application. -

    -

    For the case of finding a minimum energy structure for a single +works best for a given application.

    +

    For the case of finding a minimum energy structure for a single molecule with particular restratins (e.g. for fitting forcefield parameters or constructing a potential energy surface), commands such -as the following may be useful: -

    -
    # minimize molecule energy with restraints
    +as the following may be useful:

    +
    # minimize molecule energy with restraints
     velocity all create 600.0 8675309 mom yes rot yes dist gaussian
     fix NVE all nve
     fix TFIX all langevin 600.0 0.0 100 24601
    -fix REST all restrain dihedral 2 1 3 8 0.0 5000.0 $angle1 dihedral 3 1 2 9 0.0 5000.0 $angle2
    +fix REST all restrain dihedral 2 1 3 8 0.0 5000.0 $*angle1* dihedral 3 1 2 9 0.0 5000.0 $*angle2*
     fix_modify REST energy yes
     run 10000
     fix TFIX all langevin 0.0 0.0 100 24601
    -fix REST all restrain dihedral 2 1 3 8 5000.0 5000.0 $angle1 dihedral 3 1 2 9 5000.0 5000.0 $angle2
    +fix REST all restrain dihedral 2 1 3 8 5000.0 5000.0 $*angle1* dihedral 3 1 2 9 5000.0 5000.0 $*angle2*
     fix_modify REST energy yes
     run 10000
     # sanity check for convergence
     minimize 1e-6 1e-9 1000 100000
     # report unrestrained energies
     unfix REST
    -run 0 
    -
    -
    - -

    The bond keyword applies a bond restraint to the specified atoms -using the same functional form used by the bond_style -harmonic command. The potential associated with -the restraint is -

    -
    -
    -

    with the following coefficients: -

    -
    • K (energy/distance^2) -
    • r0 (distance) -
    -

    K and r0 are specified with the fix. Note that the usual 1/2 factor -is included in K. -

    -
    - -

    The angle keyword applies an angle restraint to the specified atoms -using the same functional form used by the angle_style -harmonic command. The potential associated with -the restraint is -

    -
    -
    -

    with the following coefficients: -

    -
    • K (energy/radian^2) -
    • theta0 (degrees) -
    -

    K and theta0 are specified with the fix. Note that the usual 1/2 -factor is included in K. -

    -
    - -

    The dihedral keyword applies a dihedral restraint to the specified +run 0 +

    + +
    +

    The bond keyword applies a bond restraint to the specified atoms +using the same functional form used by the bond_style harmonic command. The potential associated with +the restraint is

    +_images/bond_harmonic.jpg +

    with the following coefficients:

    +
      +
    • K (energy/distance^2)
    • +
    • r0 (distance)
    • +
    +

    K and r0 are specified with the fix. Note that the usual 1/2 factor +is included in K.

    +
    +

    The angle keyword applies an angle restraint to the specified atoms +using the same functional form used by the angle_style harmonic command. The potential associated with +the restraint is

    +_images/angle_harmonic.jpg +

    with the following coefficients:

    +
      +
    • K (energy/radian^2)
    • +
    • theta0 (degrees)
    • +
    +

    K and theta0 are specified with the fix. Note that the usual 1/2 +factor is included in K.

    +
    +

    The dihedral keyword applies a dihedral restraint to the specified atoms using a simplified form of the function used by the -dihedral_style charmm command. The potential -associated with the restraint is -

    -
    -
    -

    with the following coefficients: -

    -
    • K (energy) -
    • n = 1 -
    • d (degrees) = phi0 + 180 -
    -

    K and phi0 are specified with the fix. Note that the value of n is +dihedral_style charmm command. The potential +associated with the restraint is

    +_images/dihedral_charmm.jpg +

    with the following coefficients:

    +
      +
    • K (energy)
    • +
    • n = 1
    • +
    • d (degrees) = phi0 + 180
    • +
    +

    K and phi0 are specified with the fix. Note that the value of n is hard-wired to 1. Also note that the energy will be a minimum when the -current dihedral angle phi is equal to phi0. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +current dihedral angle phi is equal to phi0.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the potential energy associated with this fix to the -system's potential energy as part of thermodynamic -output. -

    -

    IMPORTANT NOTE: If you want the fictitious potential energy associated +system’s potential energy as part of thermodynamic output.

    +
    +

    Warning

    +

    If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the -fix_modify energy option for this fix. -

    -

    This fix computes a global scalar, which can be accessed by various -output commands. The scalar is the +fix_modify energy option for this fix.

    +
    +

    This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the potential energy for all the restraints as discussed above. The scalar -value calculated by this fix is "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +value calculated by this fix is “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 971bfd479e..1da87a532e 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -1,369 +1,479 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix rigid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix rigid command -

    -

    fix rigid/nve command -

    -

    fix rigid/nvt command -

    -

    fix rigid/npt command -

    -

    fix rigid/nph command -

    -

    fix rigid/small command -

    -

    fix rigid/nve/small command -

    -

    fix rigid/nvt/small command -

    -

    fix rigid/npt/small command -

    -

    fix rigid/nph/small command -

    -

    Syntax: -

    -
    fix ID group-ID style bodystyle args keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style = rigid or rigid/nve or rigid/nvt or rigid/npt or rigid/nph or rigid/small or rigid/nve/small or rigid/nvt/small or rigid/npt/small or rigid/nph/small - -
    • bodystyle = single or molecule or group - -
        single args = none
      -  molecule args = none
      -  group args = N groupID1 groupID2 ...
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix rigid command¶

      +
      +
      +

      fix rigid/nve command¶

      +
      +
      +

      fix rigid/nvt command¶

      +
      +
      +

      fix rigid/npt command¶

      +
      +
      +

      fix rigid/nph command¶

      +
      +
      +

      fix rigid/small command¶

      +
      +
      +

      fix rigid/nve/small command¶

      +
      +
      +

      fix rigid/nvt/small command¶

      +
      +
      +

      fix rigid/npt/small command¶

      +
      +
      +

      fix rigid/nph/small command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID style bodystyle args keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style = rigid or rigid/nve or rigid/nvt or rigid/npt or rigid/nph or rigid/small or rigid/nve/small or rigid/nvt/small or rigid/npt/small or rigid/nph/small
      • +
      • bodystyle = single or molecule or group
      • +
      +
      +single args = none
      +  molecule args = none
      +  group args = N groupID1 groupID2 ...
           N = # of groups
      -    groupID1, groupID2, ... = list of N group IDs 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = langevin or temp or iso or aniso or x or y or z or couple or tparam or pchain or dilate or force or torque or infile - -
        langevin values = Tstart Tstop Tperiod seed
      +    groupID1, groupID2, ... = list of N group IDs
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = langevin or temp or iso or aniso or x or y or z or couple or tparam or pchain or dilate or force or torque or infile
      • +
      +
      +langevin values = Tstart Tstop Tperiod seed
           Tstart,Tstop = desired temperature at start/stop of run (temperature units)
           Tdamp = temperature damping parameter (time units)
           seed = random number seed to use for white noise (positive integer)
      -  temp values = Tstart Tstop Tdamp
      +  temp values = Tstart Tstop Tdamp
           Tstart,Tstop = desired temperature at start/stop of run (temperature units)
           Tdamp = temperature damping parameter (time units)
      -  iso or aniso values = Pstart Pstop Pdamp
      +  iso or aniso values = Pstart Pstop Pdamp
           Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
           Pdamp = pressure damping parameter (time units)
      -  x or y or z values = Pstart Pstop Pdamp
      +  x or y or z values = Pstart Pstop Pdamp
           Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
           Pdamp = stress damping parameter (time units)
      -  couple = none or xyz or xy or yz or xz
      -  tparam values = Tchain Titer Torder
      +  couple = none or xyz or xy or yz or xz
      +  tparam values = Tchain Titer Torder
           Tchain = length of Nose/Hoover thermostat chain
           Titer = number of thermostat iterations performed
           Torder = 3 or 5 = Yoshida-Suzuki integration parameters
      -  pchain values = Pchain
      +  pchain values = Pchain
           Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat
      -  dilate value = dilate-group-ID
      +  dilate value = dilate-group-ID
           dilate-group-ID = only dilate atoms in this group due to barostat volume changes
      -  force values = M xflag yflag zflag
      +  force values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass force is active
      -  torque values = M xflag yflag zflag
      +  torque values = M xflag yflag zflag
           M = which rigid body from 1-Nbody (see asterisk form below)
           xflag,yflag,zflag = off/on if component of center-of-mass torque is active
      -  infile filename
      -    filename = file with per-body values of mass, center-of-mass, moments of inertia 
      -  mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command 
      -
      - -
    -

    Examples: -

    -
    fix 1 clump rigid single
    +  infile filename
    +    filename = file with per-body values of mass, center-of-mass, moments of inertia
    +  mol value = template-ID
    +    template-ID = ID of molecule template specified in a separate molecule command
    +
    +
    +
    +

    Examples¶

    +
    fix 1 clump rigid single
     fix 1 clump rigid/small molecule
     fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
     fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
     fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
     fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984
    -fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off 
    +fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
     fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0
     fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz
     fix 1 water rigid/nph molecule iso 0.5 0.5 1.0
    -fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 
    -
    -

    Description: -

    -

    Treat one or more sets of atoms as independent rigid bodies. This +fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 +

    +
    +
    +
    +

    Description¶

    +

    Treat one or more sets of atoms as independent rigid bodies. This means that each timestep the total force and torque on each rigid body is computed as the sum of the forces and torques on its constituent particles. The coordinates, velocities, and orientations of the atoms in each body are then updated so that the body moves and rotates as a -single entity. -

    -

    Examples of large rigid bodies are a colloidal particle, or portions -of a biomolecule such as a protein. -

    -

    Example of small rigid bodies are patchy nanoparticles, such as those -modeled in this paper by Sharon Glotzer's group, clumps of +single entity.

    +

    Examples of large rigid bodies are a colloidal particle, or portions +of a biomolecule such as a protein.

    +

    Example of small rigid bodies are patchy nanoparticles, such as those +modeled in this paper by Sharon Glotzer’s group, clumps of granular particles, lipid molecules consiting of one or more point dipoles connected to other spheroids or ellipsoids, irregular particles built from line segments (2d) or triangles (3d), and coarse-grain models of nano or colloidal particles consisting of a -small number of constituent particles. Note that the fix -shake command can also be used to rigidify small +small number of constituent particles. Note that the fix shake command can also be used to rigidify small molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats -the constituent atoms as point masses. -

    -

    These fixes also update the positions and velocities of the atoms in +the constituent atoms as point masses.

    +

    These fixes also update the positions and velocities of the atoms in each rigid body via time integration, in the NVE, NVT, NPT, or NPH -ensemble, as described below. -

    -

    There are two main variants of this fix, fix rigid and fix +ensemble, as described below.

    +

    There are two main variants of this fix, fix rigid and fix rigid/small. The NVE/NVT/NPT/NHT versions belong to one of the two -variants, as their style names indicate. -

    -

    IMPORTANT NOTE: Not all of the bodystyle options and keyword/value -options are available for both the rigid and rigid/small variants. -See details below. -

    -

    The rigid variant is typically the best choice for a system with a +variants, as their style names indicate.

    +
    +

    Warning

    +

    Not all of the bodystyle options and keyword/value +options are available for both the rigid and rigid/small variants. +See details below.

    +
    +

    The rigid variant is typically the best choice for a system with a small number of large rigid bodies, each of which can extend across the domain of many processors. It operates by creating a single global list of rigid bodies, which all processors contribute to. MPI_Allreduce operations are performed each timestep to sum the contributions from each processor to the force and torque on all the bodies. This operation will not scale well in parallel if large -numbers of rigid bodies are simulated. -

    -

    The rigid/small variant is typically best for a system with a large +numbers of rigid bodies are simulated.

    +

    The rigid/small variant is typically best for a system with a large number of small rigid bodies. Each body is assigned to the atom closest to the geometrical center of the body. The fix operates using local lists of rigid bodies owned by each processor and information is exchanged and summed via local communication between neighboring -processors when ghost atom info is accumlated. -

    -

    IMPORTANT NOTE: To use rigid/small the ghost atom cutoff must be +processors when ghost atom info is accumlated.

    +
    +

    Warning

    +

    To use rigid/small the ghost atom cutoff must be large enough to span the distance between the atom that owns the body and every other atom in the body. This distance value is printed out when the rigid bodies are defined. If the -pair_style cutoff plus neighbor skin does not span -this distance, then you should use the comm_modify -cutoff command with a setting epsilon larger than -the distance. -

    -

    Which of the two variants is faster for a particular problem is hard +pair_style cutoff plus neighbor skin does not span +this distance, then you should use the comm_modify cutoff command with a setting epsilon larger than +the distance.

    +
    +

    Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. Both variants should give identical numerical answers for short runs. Long runs should give statistically similar results, but round-off -differences may accumulate to produce divergent trajectories. -

    -

    IMPORTANT NOTE: You should not update the atoms in rigid bodies via -other time-integration fixes (e.g. fix nve, fix -nvt, fix npt), or you will be integrating +differences may accumulate to produce divergent trajectories.

    +
    +

    Warning

    +

    You should not update the atoms in rigid bodies via +other time-integration fixes (e.g. fix nve, fix nvt, fix npt), or you will be integrating their motion more than once each timestep. When performing a hybrid simulation with some atoms in rigid bodies, and some not, a separate -time integration fix like fix nve or fix -nvt should be used for the non-rigid particles. -

    -

    IMPORTANT NOTE: These fixes are overkill if you simply want to hold a +time integration fix like fix nve or fix nvt should be used for the non-rigid particles.

    +
    +
    +

    Warning

    +

    These fixes are overkill if you simply want to hold a collection of atoms stationary or have them move with a constant velocity. A simpler way to hold atoms stationary is to not include -those atoms in your time integration fix. E.g. use "fix 1 mobile nve" -instead of "fix 1 all nve", where "mobile" is the group of atoms that +those atoms in your time integration fix. E.g. use “fix 1 mobile nve” +instead of “fix 1 all nve”, where “mobile” is the group of atoms that you want to move. You can move atoms with a constant velocity by -assigning them an initial velocity (via the velocity -command), setting the force on them to 0.0 (via the fix -setforce command), and integrating them as usual -(e.g. via the fix nve command). -

    -

    IMPORTANT NOTE: The aggregate properties of each rigid body are +assigning them an initial velocity (via the velocity +command), setting the force on them to 0.0 (via the fix setforce command), and integrating them as usual +(e.g. via the fix nve command).

    +
    +
    +

    Warning

    +

    The aggregate properties of each rigid body are calculated one time at the start of the first simulation run after this fix is specified. The properties include the position and velocity of the center-of-mass of the body, its moments of inertia, and its angular momentum. This is done using the properties of the constituent atoms of the body at that point in time (or see the -infile keyword option). Thereafter, changing properties of -individual atoms in the body will have no effect on a rigid body's -dynamics, unless they effect the pair_style +infile keyword option). Thereafter, changing properties of +individual atoms in the body will have no effect on a rigid body’s +dynamics, unless they effect the pair_style interactions that individual particles are part of. For example, you might think you could displace the atoms in a body or add a large velocity to each atom in a body to make it move in a desired direction -before a 2nd run is performed, using the set or -displace_atoms or velocity +before a 2nd run is performed, using the set or +displace_atoms or velocity command. But these commands will not affect the internal attributes of the body, and the position and velocity or individual atoms in the -body will be reset when time integration starts. -

    -
    - -

    Each rigid body must have two or more atoms. An atom can belong to at +body will be reset when time integration starts.

    +
    +
    +

    Each rigid body must have two or more atoms. An atom can belong to at most one rigid body. Which atoms are in which bodies can be defined -via several options. -

    -

    IMPORTANT NOTE: With fix rigid/small, which requires bodystyle -molecule, you can define a system that has no rigid bodies -initially. This is useful when you are using the mol keyword in +via several options.

    +
    +

    Warning

    +

    With fix rigid/small, which requires bodystyle +molecule, you can define a system that has no rigid bodies +initially. This is useful when you are using the mol keyword in conjunction with another fix that is adding rigid bodies on-the-fly, -such as fix deposit or fix pour. -

    -

    For bodystyle single the entire fix group of atoms is treated as one +such as fix deposit or fix pour.

    +
    +

    For bodystyle single the entire fix group of atoms is treated as one rigid body. This option is only allowed for fix rigid and its -sub-styles. -

    -

    For bodystyle molecule, each set of atoms in the fix group with a +sub-styles.

    +

    For bodystyle molecule, each set of atoms in the fix group with a different molecule ID is treated as a rigid body. This option is allowed for fix rigid and fix rigid/small, and their sub-styles. Note that atoms with a molecule ID = 0 will be treated as a single rigid body. For a system with atomic solvent (typically this is atoms with molecule ID = 0) surrounding rigid bodies, this may not be what you want. Thus you should be careful to use a fix group that only -includes atoms you want to be part of rigid bodies. -

    -

    For bodystyle group, each of the listed groups is treated as a +includes atoms you want to be part of rigid bodies.

    +

    For bodystyle group, each of the listed groups is treated as a separate rigid body. Only atoms that are also in the fix group are included in each rigid body. This option is only allowed for fix -rigid and its sub-styles. -

    -

    IMPORTANT NOTE: To compute the initial center-of-mass position and +rigid and its sub-styles.

    +
    +

    Warning

    +

    To compute the initial center-of-mass position and other properties of each rigid body, the image flags for each atom in -the body are used to "unwrap" the atom coordinates. Thus you must +the body are used to “unwrap” the atom coordinates. Thus you must insure that these image flags are consistent so that the unwrapping creates a valid rigid body (one where the atoms are close together), particularly if the atoms in a single rigid body straddle a periodic boundary. This means the input data file or restart file must define the image flags for each atom consistently or that you have used the -set command to specify them correctly. If a dimension is +set command to specify them correctly. If a dimension is non-periodic then the image flag of each atom must be 0 in that -dimension, else an error is generated. -

    -

    The force and torque keywords discussed next are only allowed for -fix rigid and its sub-styles. -

    -

    By default, each rigid body is acted on by other atoms which induce an +dimension, else an error is generated.

    +
    +

    The force and torque keywords discussed next are only allowed for +fix rigid and its sub-styles.

    +

    By default, each rigid body is acted on by other atoms which induce an external force and torque on its center of mass, causing it to translate and rotate. Components of the external center-of-mass force -and torque can be turned off by the force and torque keywords. +and torque can be turned off by the force and torque keywords. This may be useful if you wish a body to rotate but not translate, or vice versa, or if you wish it to rotate or translate continuously unaffected by interactions with other particles. Note that if you expect a rigid body not to move or rotate by using these keywords, you must insure its initial center-of-mass translational or angular velocity is 0.0. Otherwise the initial translational or angular -momentum the body has will persist. -

    -

    An xflag, yflag, or zflag set to off means turn off the component of -force of torque in that dimension. A setting of on means turn on +momentum the body has will persist.

    +

    An xflag, yflag, or zflag set to off means turn off the component of +force of torque in that dimension. A setting of on means turn on the component, which is the default. Which rigid body(s) the settings -apply to is determined by the first argument of the force and -torque keywords. It can be an integer M from 1 to Nbody, where +apply to is determined by the first argument of the force and +torque keywords. It can be an integer M from 1 to Nbody, where Nbody is the number of rigid bodies defined. A wild-card asterisk can be used in place of, or in conjunction with, the M argument to set the -flags for multiple rigid bodies. This takes the form "*" or "*n" or -"n*" or "m*n". If N = the number of rigid bodies, then an asterisk +flags for multiple rigid bodies. This takes the form “*” or “n” or +“n” or “m*n”. If N = the number of rigid bodies, then an asterisk with no numeric values means all bodies from 1 to N. A leading asterisk means all bodies from 1 to n (inclusive). A trailing asterisk means all bodies from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). Note that you can use the -force or torque keywords as many times as you like. If a +force or torque keywords as many times as you like. If a particular rigid body has its component flags set multiple times, the -settings from the final keyword are used. -

    -

    IMPORTANT NOTE: For computational efficiency, you may wish to turn off +settings from the final keyword are used.

    +
    +

    Warning

    +

    For computational efficiency, you may wish to turn off pairwise and bond interactions within each rigid body, as they no -longer contribute to the motion. The neigh_modify -exclude and delete_bonds +longer contribute to the motion. The neigh_modify exclude and delete_bonds commands are used to do this. If the rigid bodies have strongly overalapping atoms, you may need to turn off these interactions to avoid numerical problems due to large equal/opposite intra-body forces -swamping the contribution of small inter-body forces. -

    -

    For computational efficiency, you should typically define one fix +swamping the contribution of small inter-body forces.

    +
    +

    For computational efficiency, you should typically define one fix rigid or fix rigid/small command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it -is more expensive. -

    -
    - -

    The constituent particles within a rigid body can be point particles +is more expensive.

    +
    +

    The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the atom_style sphere -and ellipsoid and line and tri commands for more +ellipsoids or line segments or triangles. See the atom_style sphere and ellipsoid and line and tri commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due -to frictional granular interactions) and have an -orientation. These contributions are accounted for by these fixes. -

    -

    Forces between particles within a body do not contribute to the +to frictional granular interactions) and have an +orientation. These contributions are accounted for by these fixes.

    +

    Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The neigh_modify -exclude and delete_bonds +between particles within each rigid body. The neigh_modify exclude and delete_bonds commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid -body. -

    -
    - -

    The rigid and rigid/small and rigid/nve styles perform constant -NVE time integration. The only difference is that the rigid and -rigid/small styles use an integration technique based on Richardson -iterations. The rigid/nve style uses the methods described in the -paper by Miller, which are thought to provide better energy -conservation than an iterative approach. -

    -

    The rigid/nvt and rigid/nvt/small styles performs constant NVT -integration using a Nose/Hoover thermostat with chains as described -originally in (Hoover) and (Martyna), which -thermostats both the translational and rotational degrees of freedom -of the rigid bodies. The rigid-body algorithm used by rigid/nvt -is described in the paper by Kamberaj. -

    -

    The rigid/npt and rigid/nph (and their /small counterparts) styles -perform constant NPT or NPH integration using a Nose/Hoover barostat -with chains. For the NPT case, the same Nose/Hoover thermostat is also -used as with rigid/nvt. -

    -

    The barostat parameters are specified using one or more of the iso, -aniso, x, y, z and couple keywords. These keywords give you +body.

    +
    +

    The rigid and rigid/small and rigid/nve styles perform constant +NVE time integration. The only difference is that the rigid and +rigid/small styles use an integration technique based on Richardson +iterations. The rigid/nve style uses the methods described in the +paper by Miller, which are thought to provide better energy +conservation than an iterative approach.

    +

    The rigid/nvt and rigid/nvt/small styles performs constant NVT +integration using a Nose/Hoover thermostat with chains as described +originally in (Hoover) and (Martyna), which +thermostats both the translational and rotational degrees of freedom +of the rigid bodies. The rigid-body algorithm used by rigid/nvt +is described in the paper by Kamberaj.

    +

    The rigid/npt and rigid/nph (and their /small counterparts) styles +perform constant NPT or NPH integration using a Nose/Hoover barostat +with chains. For the NPT case, the same Nose/Hoover thermostat is also +used as with rigid/nvt.

    +

    The barostat parameters are specified using one or more of the iso, +aniso, x, y, z and couple keywords. These keywords give you the ability to specify 3 diagonal components of the external stress tensor, and to couple these components together so that the dimensions they represent are varied together during a constant-pressure simulation. The effects of these keywords are similar to those -defined in fix npt/nph -

    -

    NOTE: Currently the rigid/npt and rigid/nph (and their /small -counterparts) styles do not support triclinic (non-orthongonal) boxes. -

    -

    The target pressures for each of the 6 components of the stress tensor -can be specified independently via the x, y, z keywords, which +defined in fix npt/nph

    +
    +

    Note

    +

    Currently the rigid/npt and rigid/nph (and their /small +counterparts) styles do not support triclinic (non-orthongonal) boxes.

    +
    +

    The target pressures for each of the 6 components of the stress tensor +can be specified independently via the x, y, z keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped -value during the run from Pstart to Pstop. If a target pressure is +value during the run from Pstart to Pstop. If a target pressure is specified for a component, then the corresponding box dimension will -change during a simulation. For example, if the y keyword is used, +change during a simulation. For example, if the y keyword is used, the y-box length will change. A box dimension will not change if that component is not specified, although you have the option to change -that dimension via the fix deform command. -

    -

    For all barostat keywords, the Pdamp parameter operates like the -Tdamp parameter, determining the time scale on which pressure is +that dimension via the fix deform command.

    +

    For all barostat keywords, the Pdamp parameter operates like the +Tdamp parameter, determining the time scale on which pressure is relaxed. For example, a value of 10.0 means to relax the pressure in a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the units command). -

    -

    Regardless of what atoms are in the fix group (the only atoms which +the units command).

    +

    Regardless of what atoms are in the fix group (the only atoms which are time integrated), a global pressure or stress tensor is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword -dilate is specified with a dilate-group-ID for a group that +dilate is specified with a dilate-group-ID for a group that represents a subset of the atoms. This can be useful, for example, to leave the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. Another example is a @@ -372,101 +482,94 @@ barostat is only coupled with the rigid bodies. This option should be used with care, since it can be unphysical to dilate some atoms and not others, because it can introduce large, instantaneous displacements between a pair of atoms (one dilated, one not) that are -far from the dilation origin. -

    -

    The couple keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, xz -means the Pxx and Pzz components of the stress tensor are coupled. -Xyz means all 3 diagonal components are coupled. Coupling means two +far from the dilation origin.

    +

    The couple keyword allows two or three of the diagonal components of +the pressure tensor to be “coupled” together. The value specified +with the keyword determines which are coupled. For example, xz +means the Pxx and Pzz components of the stress tensor are coupled. +Xyz means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be dilated or contracted by the same percentage every timestep. The -Pstart, Pstop, Pdamp parameters for any coupled dimensions must -be identical. Couple xyz can be used for a 2d simulation; the z -dimension is simply ignored. -

    -

    The iso and aniso keywords are simply shortcuts that are -equivalent to specifying several other keywords together. -

    -

    The keyword iso means couple all 3 diagonal components together when +Pstart, Pstop, Pdamp parameters for any coupled dimensions must +be identical. Couple xyz can be used for a 2d simulation; the z +dimension is simply ignored.

    +

    The iso and aniso keywords are simply shortcuts that are +equivalent to specifying several other keywords together.

    +

    The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +dimensions together.  Using “iso Pstart Pstop Pdamp” is the same as
    +specifying these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple xyz 
    -
    -

    The keyword aniso means x, y, and z dimensions are controlled -independently using the Pxx, Pyy, and Pzz components of the +couple xyz +

    + +

    The keyword aniso means x, y, and z dimensions are controlled +independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: -

    -
    x Pstart Pstop Pdamp
    +pressure.  Using “aniso Pstart Pstop Pdamp” is the same as specifying
    +these 4 keywords:

    +
    x Pstart Pstop Pdamp
     y Pstart Pstop Pdamp
     z Pstart Pstop Pdamp
    -couple none 
    -
    -
    - -

    The keyword/value option pairs are used in the following ways. -

    -

    The langevin and temp and tparam keywords perform thermostatting +couple none +

    + +
    +

    The keyword/value option pairs are used in the following ways.

    +

    The langevin and temp and tparam keywords perform thermostatting of the rigid bodies, altering both their translational and rotational -degrees of freedom. What is meant by "temperature" of a collection of +degrees of freedom. What is meant by “temperature” of a collection of rigid bodies and how it can be monitored via the fix output is -discussed below. -

    -

    The langevin keyword applies a Langevin thermostat to the constant -NVE time integration performed by either the rigid or rigid/small -or rigid/nve styles. It cannot be used with the rigid/nvt style. +discussed below.

    +

    The langevin keyword applies a Langevin thermostat to the constant +NVE time integration performed by either the rigid or rigid/small +or rigid/nve styles. It cannot be used with the rigid/nvt style. The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command). The random # seed must be a positive -integer. -

    -

    The way that Langevin thermostatting operates is explained on the fix -langevin doc page. If you wish to simply viscously +units command). The random # seed must be a positive +integer.

    +

    The way that Langevin thermostatting operates is explained on the fix langevin doc page. If you wish to simply viscously damp the rotational motion without thermostatting, you can set -Tstart and Tstop to 0.0, which means only the viscous drag term in +Tstart and Tstop to 0.0, which means only the viscous drag term in the Langevin thermostat will be applied. See the discussion on the -fix viscous doc page for details. -

    -

    IMPORTANT NOTE: When the langevin keyword is used with fix rigid +fix viscous doc page for details.

    +
    +

    Warning

    +

    When the langevin keyword is used with fix rigid versus fix rigid/small, different dynamics will result for parallel runs. This is because of the way random numbers are used in the two cases. The dynamics for the two cases should be statistically -similar, but will not be identical, even for a single timestep. -

    -

    The temp and tparam keywords apply a Nose/Hoover thermostat to the -NVT time integration performed by the rigid/nvt style. They cannot -be used with the rigid or rigid/small or rigid/nve styles. The +similar, but will not be identical, even for a single timestep.

    +
    +

    The temp and tparam keywords apply a Nose/Hoover thermostat to the +NVT time integration performed by the rigid/nvt style. They cannot +be used with the rigid or rigid/small or rigid/nve styles. The desired temperature at each timestep is a ramped value during the run -from Tstart to Tstop. The Tdamp parameter is specified in time +from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command). -

    -

    Nose/Hoover chains are used in conjunction with this thermostat. The -tparam keyword can optionally be used to change the chain settings -used. Tchain is the number of thermostats in the Nose Hoover chain. -This value, along with Tdamp can be varied to dampen undesirable +units command).

    +

    Nose/Hoover chains are used in conjunction with this thermostat. The +tparam keyword can optionally be used to change the chain settings +used. Tchain is the number of thermostats in the Nose Hoover chain. +This value, along with Tdamp can be varied to dampen undesirable oscillations in temperature that can occur in a simulation. As a rule of thumb, increasing the chain length should lead to smaller -oscillations. The keyword pchain specifies the number of +oscillations. The keyword pchain specifies the number of thermostats in the chain thermostatting the barostat degrees of -freedom. -

    -

    IMPORTANT NOTE: There are alternate ways to thermostat a system of -rigid bodies. You can use fix langevin to treat +freedom.

    +
    +

    Warning

    +

    There are alternate ways to thermostat a system of +rigid bodies. You can use fix langevin to treat the individual particles in the rigid bodies as effectively immersed in an implicit solvent, e.g. a Brownian dynamics model. For hybrid systems with both rigid bodies and solvent particles, you can @@ -475,33 +578,28 @@ bodies by appropriate choice of groups in the compute and fix commands for temperature and thermostatting. The solvent interactions with the rigid bodies should then effectively thermostat the rigid body temperature as well without use of the Langevin or Nose/Hoover options -associated with the fix rigid commands. -

    -
    - -

    The mol keyword can only be used with fix rigid/small. It must be -used when other commands, such as fix deposit or -fix pour, add rigid bodies on-the-fly during a -simulation. You specify a template-ID previously defined using the -molecule command, which reads a file that defines the -molecule. You must use the same template-ID that the other fix +associated with the fix rigid commands.

    +
    +
    +

    The mol keyword can only be used with fix rigid/small. It must be +used when other commands, such as fix deposit or +fix pour, add rigid bodies on-the-fly during a +simulation. You specify a template-ID previously defined using the +molecule command, which reads a file that defines the +molecule. You must use the same template-ID that the other fix which is adding rigid bodies uses. The coordinates, atom types, atom diameters, center-of-mass, and moments of inertia can be specified in -the molecule file. See the molecule command for +the molecule file. See the molecule command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule, in which case the -molecule command calculates the other quantities itself. -

    -

    Note that these other fixes create new rigid bodies, in addition to -those defined initially by this fix via the bodystyle setting. -

    -

    Also note that when using the mol keyword, extra restart information +molecule command calculates the other quantities itself.

    +

    Note that these other fixes create new rigid bodies, in addition to +those defined initially by this fix via the bodystyle setting.

    +

    Also note that when using the mol keyword, extra restart information about all rigid bodies is written out whenever a restart file is -written out. See the IMPORTANT NOTE in the next section for details. -

    -
    - -

    The infile keyword allows a file of rigid body attributes to be read +written out. See the IMPORTANT NOTE in the next section for details.

    +
    +

    The infile keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass position, its 6 moments of inertia, its center-of-mass velocity, and @@ -512,303 +610,308 @@ rigid bodies consisting of finite-size particles which overlap each other, LAMMPS will ignore the overlaps when computing these 4 attributes. The amount of error this induces depends on the amount of overlap. To avoid this issue, the values can be pre-computed -(e.g. using Monte Carlo integration). -

    -

    The format of the file is as follows. Note that the file does not +(e.g. using Monte Carlo integration).

    +

    The format of the file is as follows. Note that the file does not have to list attributes for every rigid body integrated by fix rigid. Only bodies which the file specifies will have their computed attributes overridden. The file can contain initial blank lines or -comment lines starting with "#" which are ignored. The first +comment lines starting with “#” which are ignored. The first non-blank, non-comment line should list N = the number of lines to -follow. The N successive lines contain the following information: -

    -
    ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
    +follow.  The N successive lines contain the following information:

    +
    ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
     ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
     ...
    -IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm 
    -
    -

    The rigid body IDs are all positive integers. For the single -bodystyle, only an ID of 1 can be used. For the group bodystyle, +IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm +

    + +

    The rigid body IDs are all positive integers. For the single +bodystyle, only an ID of 1 can be used. For the group bodystyle, IDs from 1 to Ng can be used where Ng is the number of specified -groups. For the molecule bodystyle, use the molecule ID for the -atoms in a specific rigid body as the rigid body ID. -

    -

    The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are +groups. For the molecule bodystyle, use the molecule ID for the +atoms in a specific rigid body as the rigid body ID.

    +

    The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are self-explanatory. The center-of-mass should be consistent with what is calculated for the position of the rigid body with all its atoms unwrapped by their respective image flags. If this produces a center-of-mass that is outside the simulation box, LAMMPS wraps it -back into the box. -

    -

    The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +back into the box.

    +

    The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -

    -

    The (vxcm,vycm,vzcm) values are the velocity of the center of mass. +rigid body itself. LAMMPS performs the latter calculation internally.

    +

    The (vxcm,vycm,vzcm) values are the velocity of the center of mass. The (lx,ly,lz) values are the angular momentum of the body. The (vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you -wish the body to have no initial motion. -

    -

    The (ixcm,iycm,izcm) values are the image flags of the center of mass +wish the body to have no initial motion.

    +

    The (ixcm,iycm,izcm) values are the image flags of the center of mass of the body. For periodic dimensions, they specify which image of the simulation box the body is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as the rigid bodies -cross periodic boundaries during the simulation. -

    -

    IMPORTANT NOTE: If you use the infile or mol keywords and write +cross periodic boundaries during the simulation.

    +
    +

    Warning

    +

    If you use the infile or mol keywords and write restart files during a simulation, then each time a restart file is written, the fix also write an auxiliary restart file with the name -rfile.rigid, where "rfile" is the name of the restart file, +rfile.rigid, where “rfile” is the name of the restart file, e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary file is in the same format described above. Thus it can be used in a new input script that restarts the run and re-specifies a rigid fix -using an infile keyword and the appropriate filename. Note that the +using an infile keyword and the appropriate filename. Note that the auxiliary file will contain one line for every rigid body, even if the -original file only listed a subset of the rigid bodies. -

    -
    - -

    If you use a temperature compute with a group that +original file only listed a subset of the rigid bodies.

    +
    +
    +

    If you use a temperature compute with a group that includes particles in rigid bodies, the degrees-of-freedom removed by each rigid body are accounted for in the temperature (and pressure) computation, but only if the temperature group includes all the -particles in a particular rigid body. -

    -

    A 3d rigid body has 6 degrees of freedom (3 translational, 3 +particles in a particular rigid body.

    +

    A 3d rigid body has 6 degrees of freedom (3 translational, 3 rotational), except for a collection of point particles lying on a straight line, which has only 5, e.g a dimer. A 2d rigid body has 3 -degrees of freedom (2 translational, 1 rotational). -

    -

    IMPORTANT NOTE: You may wish to explicitly subtract additional -degrees-of-freedom if you use the force and torque keywords to +degrees of freedom (2 translational, 1 rotational).

    +
    +

    Warning

    +

    You may wish to explicitly subtract additional +degrees-of-freedom if you use the force and torque keywords to eliminate certain motions of one or more rigid bodies. LAMMPS does -not do this automatically. -

    -

    The rigid body contribution to the pressure of the system (virial) is -also accounted for by this fix. -

    -
    - -

    If your simlulation is a hybrid model with a mixture of rigid bodies +not do this automatically.

    +
    +

    The rigid body contribution to the pressure of the system (virial) is +also accounted for by this fix.

    +
    +

    If your simlulation is a hybrid model with a mixture of rigid bodies and non-rigid particles (e.g. solvent) there are several ways these -rigid fixes can be used in tandem with fix nve, fix -nvt, fix npt, and fix nph. -

    -

    If you wish to perform NVE dynamics (no thermostatting or +rigid fixes can be used in tandem with fix nve, fix nvt, fix npt, and fix nph.

    +

    If you wish to perform NVE dynamics (no thermostatting or barostatting), use fix rigid or fix rigid/nve to integrate the rigid -bodies, and fix nve to integrate the non-rigid -particles. -

    -

    If you wish to perform NVT dynamics (thermostatting, but no +bodies, and fix nve to integrate the non-rigid +particles.

    +

    If you wish to perform NVT dynamics (thermostatting, but no barostatting), you can use fix rigid/nvt for the rigid bodies, and any -thermostatting fix for the non-rigid particles (fix nvt, -fix langevin, fix -temp/berendsen). You can also use fix rigid -or fix rigid/nve for the rigid bodies and thermostat them using fix -langevin on the group that contains all the -particles in the rigid bodies. The net force added by fix -langevin to each rigid body effectively thermostats +thermostatting fix for the non-rigid particles (fix nvt, +fix langevin, fix temp/berendsen). You can also use fix rigid +or fix rigid/nve for the rigid bodies and thermostat them using fix langevin on the group that contains all the +particles in the rigid bodies. The net force added by fix langevin to each rigid body effectively thermostats its translational center-of-mass motion. Not sure how well it does at -thermostatting its rotational motion. -

    -

    If you with to perform NPT or NPH dynamics (barostatting), you cannot -use both fix npt and fix rigid/npt (or the nph +thermostatting its rotational motion.

    +

    If you with to perform NPT or NPH dynamics (barostatting), you cannot +use both fix npt and fix rigid/npt (or the nph variants). This is because there can only be one fix which monitors the global pressure and changes the simulation box dimensions. So you -have 3 choices: -

    -
    • Use fix rigid/npt for the rigid bodies. Use the dilate all option +have 3 choices:

      +
        +
      • Use fix rigid/npt for the rigid bodies. Use the dilate all option so that it will dilate the positions of the non-rigid particles as -well. Use fix nvt (or any other thermostat) for the -non-rigid particles. - -
      • Use fix npt for the group of non-rigid particles. Use -the dilate all option so that it will dilate the center-of-mass +well. Use fix nvt (or any other thermostat) for the +non-rigid particles.
      • +
      • Use fix npt for the group of non-rigid particles. Use +the dilate all option so that it will dilate the center-of-mass positions of the rigid bodies as well. Use fix rigid/nvt for the -rigid bodies. - -
      • Use fix press/berendsen to compute the +rigid bodies.
      • +
      • Use fix press/berendsen to compute the pressure and change the box dimensions. Use fix rigid/nvt for the -rigid bodies. Use fix nvt (or any other thermostat) for -the non-rigid particles. -
      -

      In all case, the rigid bodies and non-rigid particles both contribute +rigid bodies. Use fix nvt (or any other thermostat) for +the non-rigid particles.

    • +
    +

    In all case, the rigid bodies and non-rigid particles both contribute to the global pressure and the box is scaled the same by any of the -barostatting fixes. -

    -

    You could even use the 2nd and 3rd options for a non-hybrid simulation -consisting of only rigid bodies, assuming you give fix -npt an empty group, though it's an odd thing to do. The -barostatting fixes (fix npt and fix -press/berensen) will monitor the pressure +barostatting fixes.

    +

    You could even use the 2nd and 3rd options for a non-hybrid simulation +consisting of only rigid bodies, assuming you give fix npt an empty group, though it’s an odd thing to do. The +barostatting fixes (fix npt and fix press/berensen) will monitor the pressure and change the box dimensions, but not time integrate any particles. The integration of the rigid bodies will be performed by fix -rigid/nvt. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +rigid/nvt.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about the rigid and rigid/small and rigid/nve -fixes are written to binary restart files. The -exception is if the infile or mol keyword is used, in which case +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about the rigid and rigid/small and rigid/nve +fixes are written to binary restart files. The +exception is if the infile or mol keyword is used, in which case an auxiliary file is written out with rigid body information each time -a restart file is written, as explained above for the infile -keyword. For style rigid/nvt the state of the Nose/Hoover -thermostat is written to binary restart files. See the -read_restart command for info on how to re-specify +a restart file is written, as explained above for the infile +keyword. For style rigid/nvt the state of the Nose/Hoover +thermostat is written to binary restart files. See the +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify energy option is supported by the +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify energy option is supported by the rigid/nvt fix to add the energy change induced by the thermostatting -to the system's potential energy as part of thermodynamic -output. -

    -

    The fix_modify temp and press options are +to the system’s potential energy as part of thermodynamic output.

    +

    The fix_modify temp and press options are supported by the rigid/npt and rigid/nph fixes to change the computes used to calculate the instantaneous pressure tensor. Note that the rigid/nvt fix -does not use any external compute to compute instantaneous temperature. -

    -

    The rigid and rigid/small and rigid/nve fixes compute a global -scalar which can be accessed by various output -commands. The scalar value calculated by -these fixes is "intensive". The scalar is the current temperature of +does not use any external compute to compute instantaneous temperature.

    +

    The rigid and rigid/small and rigid/nve fixes compute a global +scalar which can be accessed by various output commands. The scalar value calculated by +these fixes is “intensive”. The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment of inertia tensor of the body and w = its angular velocity. Degrees -of freedom constrained by the force and torque keywords are -removed from this calculation, but only for the rigid and -rigid/nve fixes. -

    -

    The rigid/nvt, rigid/npt, and rigid/nph fixes compute a global -scalar which can be accessed by various output -commands. The scalar value calculated by -these fixes is "extensive". The scalar is the cumulative energy -change due to the thermostatting and barostatting the fix performs. -

    -

    All of the rigid fixes except rigid/small compute a global array -of values which can be accessed by various output -commands. The number of rows in the +of freedom constrained by the force and torque keywords are +removed from this calculation, but only for the rigid and +rigid/nve fixes.

    +

    The rigid/nvt, rigid/npt, and rigid/nph fixes compute a global +scalar which can be accessed by various output commands. The scalar value calculated by +these fixes is “extensive”. The scalar is the cumulative energy +change due to the thermostatting and barostatting the fix performs.

    +

    All of the rigid fixes except rigid/small compute a global array +of values which can be accessed by various output commands. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 values are stored: the xyz coords of the center of mass (COM), the xyz components of the COM velocity, the xyz components of the force acting on the COM, the xyz components -of the torque acting on the COM, and the xyz image flags of the COM. -

    -

    The center of mass (COM) for each body is similar to unwrapped +of the torque acting on the COM, and the xyz image flags of the COM.

    +

    The center of mass (COM) for each body is similar to unwrapped coordinates written to a dump file. It will always be inside (or slightly outside) the simulation box. The image flags have the same -meaning as image flags for atom positions (see the "dump" command). +meaning as image flags for atom positions (see the “dump” command). This means you can calculate the unwrapped COM by applying the image flags to the COM, the same as when unwrapped coordinates are written -to a dump file. -

    -

    The force and torque values in the array are not affected by the -force and torque keywords in the fix rigid command; they reflect -values before any changes are made by those keywords. -

    -

    The ordering of the rigid bodies (by row in the array) is as follows. -For the single keyword there is just one rigid body. For the -molecule keyword, the bodies are ordered by ascending molecule ID. -For the group keyword, the list of group IDs determines the ordering -of bodies. -

    -

    The array values calculated by these fixes are "intensive", meaning -they are independent of the number of atoms in the simulation. -

    -

    No parameter of these fixes can be used with the start/stop keywords -of the run command. These fixes are not invoked during -energy minimization. -

    -
    - -

    Restrictions: -

    -

    These fixes are all part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Assigning a temperature via the velocity create -command to a system with rigid bodies may not have +to a dump file.

    +

    The force and torque values in the array are not affected by the +force and torque keywords in the fix rigid command; they reflect +values before any changes are made by those keywords.

    +

    The ordering of the rigid bodies (by row in the array) is as follows. +For the single keyword there is just one rigid body. For the +molecule keyword, the bodies are ordered by ascending molecule ID. +For the group keyword, the list of group IDs determines the ordering +of bodies.

    +

    The array values calculated by these fixes are “intensive”, meaning +they are independent of the number of atoms in the simulation.

    +

    No parameter of these fixes can be used with the start/stop keywords +of the run command. These fixes are not invoked during +energy minimization.

    +
    +
    +
    +

    Restrictions¶

    +

    These fixes are all part of the RIGID package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Assigning a temperature via the velocity create +command to a system with rigid bodies may not have the desired outcome for two reasons. First, the velocity command can be invoked before the rigid-body fix is invoked or initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different temperature than desired. A -workaround for this is to perform a run 0 command, which +workaround for this is to perform a run 0 command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For -example: -

    -
    velocity all create 300.0 12345
    +example:

    +
    velocity all create 300.0 12345
     run 0                             # temperature may not be 300K
    -velocity all scale 300.0          # now it should be 
    -
    -

    Related commands: -

    -

    delete_bonds, neigh_modify -exclude, fix shake -

    -

    Default: -

    -

    The option defaults are force * on on on and torque * on on on, +velocity all scale 300.0 # now it should be +

    + + + +
    +

    Default¶

    +

    The option defaults are force * on on on and torque * on on on, meaning all rigid bodies are acted on by center-of-mass force and -torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3. -

    -
    +torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3.

    +
    +

    (Hoover) Hoover, Phys Rev A, 31, 1695 (1985).

    +

    (Kamberaj) Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).

    +

    (Martyna) Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); +Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.

    +

    (Miller) Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, +J Chem Phys, 116, 8649 (2002).

    +

    (Zhang) Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).

    +
    + - -

    (Hoover) Hoover, Phys Rev A, 31, 1695 (1985). -

    - + + +
    + -

    (Kamberaj) Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005). -

    - +
    -

    (Martyna) Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); -Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Miller) Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, -J Chem Phys, 116, 8649 (2002). -

    - +
    -

    (Zhang) Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_saed_vtk.html b/doc/fix_saed_vtk.html index 25b281cb2c..8ed5810c4f 100644 --- a/doc/fix_saed_vtk.html +++ b/doc/fix_saed_vtk.html @@ -1,199 +1,354 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix saed/vtk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix saed/vtk command -

    -

    Syntax: -

    -
    fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • saed/vtk = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • Nrepeat = # of times to use input values for calculating averages - -
    • Nfreq = calculate averages every this many timesteps - -
    • c_ID = saed compute ID - -
      keyword = file or ave or start or file or overwrite:l
      -  ave args = one or running or window M
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix saed/vtk command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • saed/vtk = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • Nrepeat = # of times to use input values for calculating averages
      • +
      • Nfreq = calculate averages every this many timesteps
      • +
      • c_ID = saed compute ID
      • +
      +
      +keyword = file or ave or start or file or overwrite:l
      +  ave args = one or running or window M
           one = output a new average value every Nfreq steps
           running = output cumulative average of all previous Nfreq steps
           window M = output average of M most recent Nfreq steps
      -  start args = Nstart
      +  start args = Nstart
           Nstart = start averaging on this timestep
      -  file arg = filename
      -    filename = name of file to output time averages to 
      -  overwrite arg = none = overwrite output file with only latest output 
      -
      - -
    -

    Examples: -

    -
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo 
    -
    -
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    -fix saed/vtk 1 1 1 c_2 file Ni_000.saed 
    -
    -

    Description: -

    -

    Time average computed intensities from compute_saed and -write output to a file in the 3rd generation vtk image data format for -visualization directly in parallelized visualization software packages -like ParaView and VisIt. Note that if no time averaging is done, this -command can be used as a convenient way to simply output diffraction -intensities at a single snapshot. -

    -

    To produce output in the image data vtk format ghost data is added -outside the Kmax range assigned in the compute saed. The ghost data is -assigned a value of -1 and can be removed setting a minimum isovolume -of 0 within the vizualiziton software. SAED images can be created by -visualizing a spherical slice of the data that is centered at -R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda. -

    -

    The group specified within this command is ignored. However, note that + file arg = filename + filename = name of file to output time averages to + overwrite arg = none = overwrite output file with only latest output + +

    +
    +

    Examples¶

    +
    compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
    +compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
    +
    +
    +
    fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
    +fix saed/vtk 1 1 1 c_2 file Ni_000.saed
    +
    +
    +
    +
    +

    Description¶

    +

    Time average computed intensities from compute_saed and +write output to a file in the 3rd generation vtk image data format for +visualization directly in parallelized visualization software packages +like ParaView and VisIt. Note that if no time averaging is done, this +command can be used as a convenient way to simply output diffraction +intensities at a single snapshot.

    +

    To produce output in the image data vtk format ghost data is added +outside the Kmax range assigned in the compute saed. The ghost data is +assigned a value of -1 and can be removed setting a minimum isovolume +of 0 within the vizualiziton software. SAED images can be created by +visualizing a spherical slice of the data that is centered at +R_Ewald*[h k l]/norm([h k l]), where R_Ewald=1/lambda.

    +

    The group specified within this command is ignored. However, note that specified values may represent calculations performed by saed computes -which store their own "group" definitions. -

    -

    Fix saed/vtk is designed to work only with compute_saed -values, e.g. -

    -
    compute 3 top saed 0.0251 Al O 
    -fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed 
    -
    -
    - -

    The Nevery, Nrepeat, and Nfreq arguments specify on what +which store their own “group” definitions.

    +

    Fix saed/vtk is designed to work only with compute_saed +values, e.g.

    +
    compute 3 top saed 0.0251 Al O
    +fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed
    +
    +
    +
    +

    The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps -that are a multiple of Nfreq. The average is over Nrepeat +that are a multiple of Nfreq. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every -Nevery timesteps. Nfreq must be a multiple of Nevery and -Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps -contributing to the average value cannot overlap, i.e. Nfreq > -(Nrepeat-1)*Nevery is required. -

    -

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +Nevery timesteps. Nfreq must be a multiple of Nevery and +Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nfreq > +(Nrepeat-1)*Nevery is required.

    +

    For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps -100,200,etc. -

    -
    - -

    The output for fix ave/time/saed is a file writen with the 3rd generation -vtk image data formatting. The filename assigned by the file keyword is -appended with _N.vtk where N is an index (0,1,2...) to account for multiple -diffraction intensity outputs. -

    -

    By default the header contains the following information (with example data): -

    -
    # vtk DataFile Version 3.0 c_SAED
    +100,200,etc.

    +
    +

    The output for fix ave/time/saed is a file writen with the 3rd generation +vtk image data formatting. The filename assigned by the file keyword is +appended with _N.vtk where N is an index (0,1,2...) to account for multiple +diffraction intensity outputs.

    +

    By default the header contains the following information (with example data):

    +
    # vtk DataFile Version 3.0 c_SAED
     Image data set
     ASCII
     DATASET STRUCTURED_POINTS
     DIMENSIONS 337 219 209
     ASPECT_RATIO 0.00507953 0.00785161 0.00821458
    -ORIGIN -0.853361 -0.855826 -0.854316 
    +ORIGIN -0.853361 -0.855826 -0.854316
     POINT_DATA 15424827
     SCALARS intensity float
     LOOKUP_TABLE default
    -...data  
    -
    -

    In this example, kspace is sampled across a 337 x 219 x 209 point mesh -where the mesh spacing is approximately 0.005, 0.007, and 0.008 -inv(length) units in the k1, k2, and k3 directions, respectively. +...data +

    + +

    In this example, kspace is sampled across a 337 x 219 x 209 point mesh +where the mesh spacing is approximately 0.005, 0.007, and 0.008 +inv(length) units in the k1, k2, and k3 directions, respectively. The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are -sampled in total. -

    -
    - -

    Additional optional keywords also affect the operation of this fix. -

    -

    The ave keyword determines how the values produced every Nfreq +sampled in total.

    +
    +

    Additional optional keywords also affect the operation of this fix.

    +

    The ave keyword determines how the values produced every Nfreq steps are averaged with values produced on previous steps that were -multiples of Nfreq, before they are accessed by another output -command or written to a file. -

    -

    If the ave setting is one, then the values produced on timesteps -that are multiples of Nfreq are independent of each other; they are -output as-is without further averaging. -

    -

    If the ave setting is running, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged in a +multiples of Nfreq, before they are accessed by another output +command or written to a file.

    +

    If the ave setting is one, then the values produced on timesteps +that are multiples of Nfreq are independent of each other; they are +output as-is without further averaging.

    +

    If the ave setting is running, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged in a cumulative sense before being output. Each output value is thus the average of the value produced on that timestep with all preceding values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the unfix -command, or by re-defining the fix by re-specifying it. -

    -

    If the ave setting is window, then the values produced on -timesteps that are multiples of Nfreq are summed and averaged within -a moving "window" of time, so that the last M values are used to +only be restarted by deleting the fix via the unfix +command, or by re-defining the fix by re-specifying it.

    +

    If the ave setting is window, then the values produced on +timesteps that are multiples of Nfreq are summed and averaged within +a moving “window” of time, so that the last M values are used to produce the output. E.g. if M = 3 and Nfreq = 1000, then the output on step 10000 will be the average of the individual values on steps 8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available. -

    -

    The start keyword specifies what timestep averaging will begin on. +values if they are not available.

    +

    The start keyword specifies what timestep averaging will begin on. The default is step 0. Often input values can be 0.0 at time 0, so -setting start to a larger value can avoid including a 0.0 in a -running or windowed average. -

    -

    The file keyword allows a filename to be specified. Every Nfreq -steps, the vector of saed intensity data is written to a new file using -the 3rd generation vtk format. The base of each file is assigned by -the file keyword and this string is appended with _N.vtk where N is +setting start to a larger value can avoid including a 0.0 in a +running or windowed average.

    +

    The file keyword allows a filename to be specified. Every Nfreq +steps, the vector of saed intensity data is written to a new file using +the 3rd generation vtk format. The base of each file is assigned by +the file keyword and this string is appended with _N.vtk where N is an index (0,1,2...) to account for situations with multiple diffraction -intensity outputs. -

    -

    The overwrite keyword will continuously overwrite the output file +intensity outputs.

    +

    The overwrite keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the ave running setting. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    The attributes for fix_saed_vtk must match the values assigned in the -associated compute_saed command. -

    -

    Related commands: -

    -

    compute_saed -

    -

    Default: -

    -

    The option defaults are ave = one, start = 0, no file output. -

    -
    +output. This option can only be used with the ave running setting.

    + +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    The attributes for fix_saed_vtk must match the values assigned in the +associated compute_saed command.

    +
    + +
    +

    Default¶

    +

    The option defaults are ave = one, start = 0, no file output.

    +
    +

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 +(2013).

    +
    + - -

    (Coleman) Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html index da6ffb5d3f..7a91130031 100644 --- a/doc/fix_setforce.html +++ b/doc/fix_setforce.html @@ -1,129 +1,293 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix setforce command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix setforce command -

    -

    fix setforce/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID setforce fx fy fz keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • setforce = style name of this fix command - -
    • fx,fy,fz = force component values - -
    • any of fx,fy,fz can be a variable (see below) - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = region - -
        region value = region-ID
      -    region-ID = ID of region atoms must be in to have added force 
      -
      - -
    -

    Examples: -

    -
    fix freeze indenter setforce 0.0 0.0 0.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix setforce command¶

    +
    +
    +

    fix setforce/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID setforce fx fy fz keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • setforce = style name of this fix command
    • +
    • fx,fy,fz = force component values
    • +
    • any of fx,fy,fz can be a variable (see below)
    • +
    • zero or more keyword/value pairs may be appended to args
    • +
    • keyword = region
    • +
    +
    +region value = region-ID
    +    region-ID = ID of region atoms must be in to have added force
    +
    +
    +
    +

    Examples¶

    +
    fix freeze indenter setforce 0.0 0.0 0.0
     fix 2 edge setforce NULL 0.0 0.0
    -fix 2 edge setforce NULL 0.0 v_oscillate 
    -
    -

    Description: -

    -

    Set each component of force on each atom in the group to the specified +fix 2 edge setforce NULL 0.0 v_oscillate +

    + + +
    +

    Description¶

    +

    Set each component of force on each atom in the group to the specified values fx,fy,fz. This erases all previously computed forces on the atom, though additional fixes could add new forces. This command can be used to freeze certain atoms in the simulation by zeroing their force, either for running dynamics or performing an energy minimization. For dynamics, this assumes their initial velocity is -also zero. -

    -

    Any of the fx,fy,fz values can be specified as NULL which means do not -alter the force component in that dimension. -

    -

    Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style variable, namely fx, -fy, fz. If the value is a variable, it should be specified as +also zero.

    +

    Any of the fx,fy,fz values can be specified as NULL which means do not +alter the force component in that dimension.

    +

    Any of the 3 quantities defining the force components can be specified +as an equal-style or atom-style variable, namely fx, +fy, fz. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the -force component. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +force component.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field. -

    -

    Atom-style variables can specify the same formulas as equal-style +time. Thus it is easy to specify a time-dependent force field.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well. -

    -

    If the region keyword is used, the atom must also be in the -specified geometric region in order to have force added -to it. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +field with optional time-dependence as well.

    +

    If the region keyword is used, the atom must also be in the +specified geometric region in order to have force added +to it.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global 3-vector of forces, which can be accessed -by various output commands. This is the +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global 3-vector of forces, which can be accessed +by various output commands. This is the total force on the group of atoms before the forces on individual atoms are changed by the fix. The vector values calculated by this -fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command, but you cannot set +fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command, but you cannot set forces to any value besides zero when performing a minimization. Use -the fix addforce command if you want to apply a -non-zero force to atoms during a minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix addforce, fix aveforce -

    -

    Default: none -

    - +the fix addforce command if you want to apply a +non-zero force to atoms during a minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_shake.html b/doc/fix_shake.html index 9aedcf50ad..bdaea8ba19 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -1,103 +1,210 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix shake command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix shake command -

    -

    fix shake/cuda command -

    -

    fix rattle command -

    -

    Syntax: -

    -
    fix ID group-ID style tol iter N constraint values ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style = shake or rattle = style name of this fix command - -
    • tol = accuracy tolerance of SHAKE solution - -
    • iter = max # of iterations in each SHAKE solution - -
    • N = print SHAKE statistics every this many timesteps (0 = never) - -
    • one or more constraint/value pairs are appended - -
    • constraint = b or a or t or m - -
        b values = one or more bond types
      -  a values = one or more angle types
      -  t values = one or more atom types
      -  m value = one or more mass values 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = mol - -
        mol value = template-ID
      -    template-ID = ID of molecule template specified in a separate molecule command 
      -
      - -
    -

    Examples: -

    -
    fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix shake command¶

    +
    +
    +

    fix shake/cuda command¶

    +
    +
    +

    fix rattle command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID style tol iter N constraint values ... keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • style = shake or rattle = style name of this fix command
    • +
    • tol = accuracy tolerance of SHAKE solution
    • +
    • iter = max # of iterations in each SHAKE solution
    • +
    • N = print SHAKE statistics every this many timesteps (0 = never)
    • +
    • one or more constraint/value pairs are appended
    • +
    • constraint = b or a or t or m
    • +
    +
    +b values = one or more bond types
    +  a values = one or more angle types
    +  t values = one or more atom types
    +  m value = one or more mass values
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = mol
    • +
    +
    +mol value = template-ID
    +    template-ID = ID of molecule template specified in a separate molecule command
    +
    +
    +
    +

    Examples¶

    +
    fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
     fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31
     fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol
     fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31
    -fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol 
    -
    -

    Description: -

    -

    Apply bond and angle constraints to specified bonds and angles in the +fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol +

    + + +
    +

    Description¶

    +

    Apply bond and angle constraints to specified bonds and angles in the simulation by either the SHAKE or RATTLE algorithms. This typically -enables a longer timestep. -

    -

    SHAKE vs RATTLE: -

    -

    The SHAKE algorithm was invented for schemes such as standard Verlet +enables a longer timestep.

    +

    SHAKE vs RATTLE:

    +

    The SHAKE algorithm was invented for schemes such as standard Verlet timesteppnig, where only the coordinates are integrated and the velocities are approximated as finite differences to the trajectories -(Ryckaert et al. (1977)). If the velocities are +(Ryckaert et al. (1977)). If the velocities are integrated explicitly, as with velocity Verlet which is what LAMMPS uses as an integration method, a second set of constraining forces is required in order to eliminate velocity components along the bonds -(Andersen (1983)). -

    -

    In order to formulate individual constraints for SHAKE and RATTLE, +(Andersen (1983)).

    +

    In order to formulate individual constraints for SHAKE and RATTLE, focus on a single molecule whose bonds are constrained. Let Ri and Vi -be the position and velocity of atom i at time n, for -i=1,...,N, where N is the number of sites of our reference -molecule. The distance vector between sites i and j is given by -

    -
    -
    -

    The constraints can then be formulated as -

    -
    -
    -

    The SHAKE algorithm satisfies the first condition, i.e. the sites at -time n+1 will have the desired separations Dij immediately after the +be the position and velocity of atom i at time n, for +i*=1,...,*N, where N is the number of sites of our reference +molecule. The distance vector between sites i and j is given by

    +_images/fix_rattle_rij.jpg +

    The constraints can then be formulated as

    +_images/fix_rattle_constraints.jpg +

    The SHAKE algorithm satisfies the first condition, i.e. the sites at +time n+1 will have the desired separations Dij immediately after the coordinates are integrated. If we also enforce the second condition, the velocity components along the bonds will vanish. RATTLE satisfies both conditions. As implemented in LAMMPS, fix rattle uses fix shake for satisfying the coordinate constraints. Therefore the settings and optional keywords are the same for both fixes, and all the information -below about SHAKE is also relevant for RATTLE. -

    -

    SHAKE: -

    -

    Each timestep the specified bonds and angles are reset to their +below about SHAKE is also relevant for RATTLE.

    +

    SHAKE:

    +

    Each timestep the specified bonds and angles are reset to their equilibrium lengths and angular values via the SHAKE algorithm -(Ryckaert et al. (1977)). This is done by applying an +(Ryckaert et al. (1977)). This is done by applying an additional constraint force so that the new positions preserve the desired atom separations. The equations for the additional force are solved via an iterative method that typically converges to an accurate @@ -105,9 +212,8 @@ solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of iterations are specified as arguments. Setting the N argument will print statistics to the screen and log file about regarding the lengths of bonds and angles that are being -constrained. Small delta values mean SHAKE is doing a good job. -

    -

    In LAMMPS, only small clusters of atoms can be constrained. This is +constrained. Small delta values mean SHAKE is doing a good job.

    +

    In LAMMPS, only small clusters of atoms can be constrained. This is so the constraint calculation for a cluster can be performed by a single processor, to enable good parallel performance. A cluster is defined as a central atom connected to others in the cluster by @@ -116,132 +222,167 @@ to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or one central atom bonded to 2 others and the angle between the 3 atoms also constrained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer -chain. -

    -

    The b constraint lists bond types that will be constrained. The t +chain.

    +

    The b constraint lists bond types that will be constrained. The t constraint lists atom types. All bonds connected to an atom of the -specified type will be constrained. The m constraint lists atom +specified type will be constrained. The m constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The a constraint lists angle types. If both bonds +fix_shake.cpp). The a constraint lists angle types. If both bonds in the angle are constrained then the angle will also be constrained -if its type is in the list. -

    -

    For all constraints, a particular bond is only constrained if both -atoms in the bond are in the group specified with the SHAKE fix. -

    -

    The degrees-of-freedom removed by SHAKE bonds and angles are accounted +if its type is in the list.

    +

    For all constraints, a particular bond is only constrained if both +atoms in the bond are in the group specified with the SHAKE fix.

    +

    The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE contribution to the pressure of the system (virial) is also accounted -for. -

    -

    IMPORTANT NOTE: This command works by using the current forces on +for.

    +
    +

    Warning

    +

    This command works by using the current forces on atoms to caculate an additional constraint force which when added will leave the atoms in positions that satisfy the SHAKE constraints (e.g. bond length) after the next time integration step. If you -define fixes (e.g. fix efield) that add additional +define fixes (e.g. fix efield) that add additional force to the atoms after fix shake operates, then this fix will not take them into account and the time integration will typically not satisfy the SHAKE constraints. The solution for this is to make sure that fix shake is defined in your input script after any other fixes -which add or change forces (to atoms that fix shake operates on). -

    -
    - -

    The mol keyword should be used when other commands, such as fix -deposit or fix pour, add molecules +which add or change forces (to atoms that fix shake operates on).

    +
    +
    +

    The mol keyword should be used when other commands, such as fix deposit or fix pour, add molecules on-the-fly during a simulation, and you wish to contrain the new -molecules via SHAKE. You specify a template-ID previously defined -using the molecule command, which reads a file that -defines the molecule. You must use the same template-ID that the +molecules via SHAKE. You specify a template-ID previously defined +using the molecule command, which reads a file that +defines the molecule. You must use the same template-ID that the command adding molecules uses. The coordinates, atom types, special bond restrictions, and SHAKE info can be specified in the molecule -file. See the molecule command for details. The only +file. See the molecule command for details. The only settings required to be in this file (by this command) are the SHAKE -info of atoms in the molecule. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +info of atoms in the molecule.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    RATTLE: -

    -

    The velocity constraints lead to a linear system of equations which +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    RATTLE:

    +

    The velocity constraints lead to a linear system of equations which can be solved analytically. The implementation of the algorithm in -LAMMPS closely follows (Andersen (1983)). -

    -

    IMPORTANT NOTE: The fix rattle command modifies forces and velocities +LAMMPS closely follows (Andersen (1983)).

    +
    +

    Warning

    +

    The fix rattle command modifies forces and velocities and thus should be defined after all other integration fixes in your input script. If you define other fixes that modify velocities or forces after fix rattle operates, then fix rattle will not take them into account and the overall time integration will typically not satisfy the RATTLE constraints. You can check whether the constraints work correctly by setting the value of RATTLE_DEBUG in -src/fix_rattle.cpp to 1 and recompiling LAMMPS. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about these fixes is written to binary restart -files. None of the fix_modify options +src/fix_rattle.cpp to 1 and recompiling LAMMPS.

    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about these fixes is written to binary restart files. None of the fix_modify options are relevant to these fixes. No global or per-atom quantities are -stored by these fixes for access by various output -commands. No parameter of these fixes -can be used with the start/stop keywords of the run -command. These fixes are not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    These fixes are part of the RIGID package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    For computational efficiency, there can only be one shake or rattle -fix defined in a simulation. -

    -

    If you use a tolerance that is too large or a max-iteration count that +stored by these fixes for access by various output commands. No parameter of these fixes +can be used with the start/stop keywords of the run +command. These fixes are not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    These fixes are part of the RIGID package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    For computational efficiency, there can only be one shake or rattle +fix defined in a simulation.

    +

    If you use a tolerance that is too large or a max-iteration count that is too small, the constraints will not be enforced very strongly, which can lead to poor energy conservation. You can test for this in your system by running a constant NVE simulation with a particular set -of SHAKE parameters and monitoring the energy versus time. -

    -

    SHAKE or RATTLE should not be used to contrain an angle at 180 degrees -(e.g. linear CO2 molecule). This causes numeric difficulties. -

    -

    Related commands: none -

    -

    Default: none -

    -
    +of SHAKE parameters and monitoring the energy versus time.

    +

    SHAKE or RATTLE should not be used to contrain an angle at 180 degrees +(e.g. linear CO2 molecule). This causes numeric difficulties.

    +

    Related commands: none

    +

    Default: none

    +
    +

    (Ryckaert) J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, +J of Comp Phys, 23, 327-341 (1977).

    +

    (Andersen) H. Andersen, J of Comp Phys, 52, 24-34 (1983).

    +
    + - -

    (Ryckaert) J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, -J of Comp Phys, 23, 327-341 (1977). -

    - + + +
    + -

    (Andersen) H. Andersen, J of Comp Phys, 52, 24-34 (1983). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_smd.html b/doc/fix_smd.html index ececffdc41..e6e0335784 100644 --- a/doc/fix_smd.html +++ b/doc/fix_smd.html @@ -1,162 +1,324 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix smd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix smd command -

    -

    Syntax: -

    -
    fix ID group-ID smd type values keyword values 
    -
    -
    • ID, group-ID are documented in fix command - -
    • smd = style name of this fix command - -
    • mode = cvel or cfor to select constant velocity or constant force SMD - -
        cvel values = K vel
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix smd command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID smd type values keyword values
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • smd = style name of this fix command
      • +
      • mode = cvel or cfor to select constant velocity or constant force SMD
      • +
      +
      +cvel values = K vel
           K = spring constant (force/distance units)
      -    vel = velocity of pulling (distance/time units) 
      -  cfor values = force
      -    force = pulling force (force units) 
      -
      -
    • keyword = tether or couple - -
        tether values = x y z R0
      +    vel = velocity of pulling (distance/time units)
      +  cfor values = force
      +    force = pulling force (force units)
      +
      +
        +
      • keyword = tether or couple
      • +
      +
      +tether values = x y z R0
           x,y,z = point to which spring is tethered
           R0 = distance of end of spring from tether point (distance units)
      -  couple values = group-ID2 x y z R0
      +  couple values = group-ID2 x y z R0
           group-ID2 = 2nd group to couple to fix group with a spring
           x,y,z = direction of spring, automatically computed with 'auto'
      -    R0 = distance of end of spring (distance units) 
      -
      - -
    -

    Examples: -

    -
    fix  pull    cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0
    +    R0 = distance of end of spring (distance units)
    +
    +
    +
    +

    Examples¶

    +
    fix  pull    cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0
     fix  pull    cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0
     fix  stretch cterm smd cvel 20.0  0.0001 couple nterm auto auto auto 0.0
    -fix  pull    cterm smd cfor  5.0 tether 25.0 25.0 25.0 0.0 
    -
    -

    Description: -

    -

    This fix implements several options of steered MD (SMD) as reviewed in -(Izrailev), which allows to induce conformational changes +fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 +

    +
    +
    +
    +

    Description¶

    +

    This fix implements several options of steered MD (SMD) as reviewed in +(Izrailev), which allows to induce conformational changes in systems and to compute the potential of mean force (PMF) along the -assumed reaction coordinate (Park) based on Jarzynski's -equality (Jarzynski). This fix borrows a lot from fix -spring and fix setforce. -

    -

    You can apply a moving spring force to a group of atoms (tether -style) or between two groups of atoms (couple style). The spring -can then be used in either constant velocity (cvel) mode or in -constant force (cfor) mode to induce transitions in your systems. -When running in tether style, you may need some way to fix some -other part of the system (e.g. via fix -spring/self) -

    -

    The tether style attaches a spring between a point at a distance of -R0 away from a fixed point x,y,z and the center of mass of the fix +assumed reaction coordinate (Park) based on Jarzynski’s +equality (Jarzynski). This fix borrows a lot from fix spring and fix setforce.

    +

    You can apply a moving spring force to a group of atoms (tether +style) or between two groups of atoms (couple style). The spring +can then be used in either constant velocity (cvel) mode or in +constant force (cfor) mode to induce transitions in your systems. +When running in tether style, you may need some way to fix some +other part of the system (e.g. via fix spring/self)

    +

    The tether style attaches a spring between a point at a distance of +R0 away from a fixed point x,y,z and the center of mass of the fix group of atoms. A restoring force of magnitude K (R - R0) Mi / M is -applied to each atom in the group where K is the spring constant, Mi +applied to each atom in the group where K is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the -group. Note that K thus represents the total force on the group of -atoms, not a per-atom force. -

    -

    In cvel mode the distance R is incremented or decremented +group. Note that K thus represents the total force on the group of +atoms, not a per-atom force.

    +

    In cvel mode the distance R is incremented or decremented monotonously according to the pulling (or pushing) velocity. -In cfor mode a constant force is added and the actual distance -in direction of the spring is recorded. -

    -

    The couple style links two groups of atoms together. The first +In cfor mode a constant force is added and the actual distance +in direction of the spring is recorded.

    +

    The couple style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector in direction x,y,z with +the two groups are displaced by a vector in direction x,y,z with respect to each other and at a distance R0 from that displacement. -Note that x,y,z only provides a direction and will be internally -normalized. But since it represents the absolute displacement of +Note that x,y,z only provides a direction and will be internally +normalized. But since it represents the absolute displacement of group-ID2 relative to the fix group, (1,1,0) is a different spring than (-1,-1,0). For each vector component, the displacement can be -described with the auto parameter. In this case the direction is +described with the auto parameter. In this case the direction is recomputed in every step, which can be useful for steering a local process where the whole object undergoes some other change. When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms -in each of the two groups. -

    -

    For both the tether and couple styles, any of the x,y,z values can +in each of the two groups.

    +

    For both the tether and couple styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the -distance calculation or force application. -

    -

    For constant velocity pulling (cvel mode), the running integral +distance calculation or force application.

    +

    For constant velocity pulling (cvel mode), the running integral over the pulling force in direction of the spring is recorded and -can then later be used to compute the potential of mean force (PMF) +can then later be used to compute the potential of mean force (PMF) by averaging over multiple independent trajectories along the same -pulling path. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    The fix stores the direction of the spring, current pulling target -distance and the running PMF to binary restart files. -See the read_restart command for info on how to +pulling path.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    The fix stores the direction of the spring, current pulling target +distance and the running PMF to binary restart files. +See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    This fix computes a vector list of 7 quantities, which can be accessed -by various output commands. The +the operation of the fix continues in an uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    This fix computes a vector list of 7 quantities, which can be accessed +by various output commands. The quantities in the vector are in this order: the x-, y-, and z-component of the pulling force, the total force in direction of the pull, the equilibrium distance of the spring, the distance between the two reference points, and finally the accumulated PMF (the sum of -pulling forces times displacement). -

    -

    The force is the total force on the group of atoms by the spring. In -the case of the couple style, it is the force on the fix group +pulling forces times displacement).

    +

    The force is the total force on the group of atoms by the spring. In +the case of the couple style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). -The vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix drag, fix spring, -fix spring/self, -fix spring/rg -

    -

    Default: none -

    -
    - - - -

    (Izrailev) Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, +The vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 80d6d695df..329ec9650c 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -1,151 +1,326 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix spring command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix spring command -

    -

    Syntax: -

    -
    fix ID group-ID spring keyword values 
    -
    -
    • ID, group-ID are documented in fix command - -
    • spring = style name of this fix command - -
    • keyword = tether or couple - -
        tether values = K x y z R0
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix spring command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID spring keyword values
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • spring = style name of this fix command
      • +
      • keyword = tether or couple
      • +
      +
      +tether values = K x y z R0
           K = spring constant (force/distance units)
           x,y,z = point to which spring is tethered
           R0 = equilibrium distance from tether point (distance units)
      -  couple values = group-ID2 K x y z R0
      +  couple values = group-ID2 K x y z R0
           group-ID2 = 2nd group to couple to fix group with a spring
           K = spring constant (force/distance units)
           x,y,z = direction of spring
      -    R0 = equilibrium distance of spring (distance units) 
      -
      - -
    -

    Examples: -

    -
    fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
    +    R0 = equilibrium distance of spring (distance units)
    +
    +
    +
    +

    Examples¶

    +
    fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
     fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0
     fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0
     fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0
     fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0
    -fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 
    -
    -

    Description: -

    -

    Apply a spring force to a group of atoms or between two groups of +fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 +

    +
    +
    +
    +

    Description¶

    +

    Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so -that it doesn't wander away over the course of a long simulation. It +that it doesn’t wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at -a given distance or orientation with respect to each other. -

    -

    The tether style attaches a spring between a fixed point x,y,z and +a given distance or orientation with respect to each other.

    +

    The tether style attaches a spring between a fixed point x,y,z and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each -atom in the group where K is the spring constant, Mi is the mass of +atom in the group where K is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note -that K thus represents the total force on the group of atoms, not a -per-atom force. -

    -

    The couple style links two groups of atoms together. The first +that K thus represents the total force on the group of atoms, not a +per-atom force.

    +

    The couple style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector x,y,z with respect to each -other and at a distance R0 from that displacement. Note that x,y,z +the two groups are displaced by a vector x,y,z with respect to each +other and at a distance R0 from that displacement. Note that x,y,z is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms -in each of the two groups. -

    -

    For both the tether and couple styles, any of the x,y,z values can +in each of the two groups.

    +

    For both the tether and couple styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the -distance calculation or force application. -

    -

    The first example above pulls the ligand towards the point (0,0,0). +distance calculation or force application.

    +

    The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand -a distance 3 away from the z=2 plane (on either side). -

    -

    The fourth example holds 2 bilayers a distance 10 apart in z. For the +a distance 3 away from the z=2 plane (on either side).

    +

    The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis -(assuming the center-of-mass of the pore in x,y is the pore axis). -

    -

    IMPORTANT NOTE: The center of mass of a group of atoms is calculated -in "unwrapped" coordinates using atom image flags, which means that -the group can straddle a periodic boundary. See the dump +(assuming the center-of-mass of the pore in x,y is the pore axis).

    +
    +

    Warning

    +

    The center of mass of a group of atoms is calculated +in “unwrapped” coordinates using atom image flags, which means that +the group can straddle a periodic boundary. See the dump doc page for a discussion of unwrapped coordinates. It also means that a spring connecting two groups or a group and the tether point can cross a periodic boundary and its length be calculated correctly. One exception is for rigid bodies, which should not be used with the fix spring command, if the rigid body will cross a periodic boundary. This is because image flags for rigid bodies are used in a different -way, as explained on the fix rigid doc page. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this -fix to add the energy stored in the spring to the system's potential -energy as part of thermodynamic output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the -spring energy = 0.5 * K * r^2. -

    -

    This fix also computes global 4-vector which can be accessed by -various output commands. The first 3 +way, as explained on the fix rigid doc page.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this +fix to add the energy stored in the spring to the system’s potential +energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the +spring energy = 0.5 * K * r^2.

    +

    This fix also computes global 4-vector which can be accessed by +various output commands. The first 3 quantities in the vector are xyz components of the total force added -to the group of atoms by the spring. In the case of the couple +to the group of atoms by the spring. In the case of the couple style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2). The 4th quantity in the vector is the magnitude of the force added by the spring, as a -positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This +positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention can be useful when using the spring force to compute a -potential of mean force (PMF). -

    -

    The scalar and vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the spring energy to be included in the +potential of mean force (PMF).

    +

    The scalar and vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the spring energy to be included in the total potential energy of the system (the quantity being minimized), -you MUST enable the fix_modify energy option for -this fix. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix drag, fix spring/self, -fix spring/rg, fix smd -

    -

    Default: none -

    - +you MUST enable the fix_modify energy option for +this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_spring_rg.html b/doc/fix_spring_rg.html index 535e088be6..61b0244c11 100644 --- a/doc/fix_spring_rg.html +++ b/doc/fix_spring_rg.html @@ -1,72 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix spring/rg command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix spring/rg command -

    -

    Syntax: -

    -
    fix ID group-ID spring/rg K RG0 
    -
    -
    • ID, group-ID are documented in fix command -
    • spring/rg = style name of this fix command -
    • K = harmonic force constant (force/distance units) -
    • RG0 = target radius of gyration to constrain to (distance units) -
    -
      if RG0 = NULL, use the current RG as the target value 
    -
    -

    Examples: -

    -
    fix 1 protein spring/rg 5.0 10.0
    -fix 2 micelle spring/rg 5.0 NULL 
    -
    -

    Description: -

    -

    Apply a harmonic restraining force to atoms in the group to affect + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix spring/rg command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID spring/rg K RG0
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • spring/rg = style name of this fix command
    • +
    • K = harmonic force constant (force/distance units)
    • +
    • RG0 = target radius of gyration to constrain to (distance units)
    • +
    +
    if RG0 = NULL, use the current RG as the target value
    +
    +
    +
    +
    +

    Examples¶

    +
    fix 1 protein spring/rg 5.0 10.0
    +fix 2 micelle spring/rg 5.0 NULL
    +
    +
    +
    +
    +

    Description¶

    +

    Apply a harmonic restraining force to atoms in the group to affect their central moment about the center of mass (radius of gyration). This fix is useful to encourage a protein or polymer to fold/unfold and also when sampling along the radius of gyration as a reaction -coordinate (i.e. for protein folding). -

    -

    The radius of gyration is defined as RG in the first formula. The +coordinate (i.e. for protein folding).

    +

    The radius of gyration is defined as RG in the first formula. The energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG -than the target value RG0. -

    -
    -
    -

    The (xi - center-of-mass) term is computed taking into account +than the target value RG0.

    +_images/fix_spring_rg.jpg +

    The (xi - center-of-mass) term is computed taking into account periodic boundary conditions, m_i is the mass of the atom, and M is the mass of the entire group. Note that K is thus a force constant -for the aggregate force on the group of atoms, not a per-atom force. -

    -

    If RG0 is specified as NULL, then the RG of the group is computed at -the time the fix is specified, and that value is used as the target. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +for the aggregate force on the group of atoms, not a per-atom force.

    +

    If RG0 is specified as NULL, then the RG of the group is computed at +the time the fix is specified, and that value is used as the target.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix spring, fix spring/self -fix drag, fix smd -

    -

    Default: none -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_spring_self.html b/doc/fix_spring_self.html index 7665abdddf..d3ee397f21 100644 --- a/doc/fix_spring_self.html +++ b/doc/fix_spring_self.html @@ -1,84 +1,266 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix spring/self command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix spring/self command -

    -

    Syntax: -

    -
    fix ID group-ID spring/self K dir 
    -
    -
    • ID, group-ID are documented in fix command -
    • spring/self = style name of this fix command -
    • K = spring constant (force/distance units) -
    • dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz) -
    -

    Examples: -

    -
    fix tether boundary-atoms spring/self 10.0
    -fix zrest  move spring/self 10.0 z 
    -
    -

    Description: -

    -

    Apply a spring force independently to each atom in the group to tether + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix spring/self command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID spring/self K dir
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • spring/self = style name of this fix command
    • +
    • K = spring constant (force/distance units)
    • +
    • dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz)
    • +
    +
    +
    +

    Examples¶

    +
    fix tether boundary-atoms spring/self 10.0
    +fix zrest  move spring/self 10.0 z
    +
    +
    +
    +
    +

    Description¶

    +

    Apply a spring force independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. At each timestep, the magnitude of the force on each atom is -Kr, where r is the displacement of the atom from its current position to its initial position. The distance r correctly takes into account any crossings of periodic boundary by the atom since it was in its intitial -position. -

    -

    With the (optional) dir flag, one can select in which direction the +position.

    +

    With the (optional) dir flag, one can select in which direction the spring force is applied. By default, the restraint is applied in all directions, but it can be limited to the xy-, xz-, yz-plane and the x-, y-, or z-direction, thus restraining the atoms to a line or a -plane, respectively. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the original coordinates of tethered atoms to binary -restart files, so that the spring effect will be the +plane, respectively.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the original coordinates of tethered atoms to binary restart files, so that the spring effect will be the same in a restarted simulation. See the -read_restart command for info on how to re-specify +read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. -

    -

    The fix_modify energy option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of thermodynamic output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is an +operation of the fix continues in an uninterrupted fashion.

    +

    The fix_modify energy option is supported by this +fix to add the energy stored in the per-atom springs to the system’s +potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is an energy which is the sum of the spring energy for each atom, where the per-atom energy is 0.5 * K * r^2. The scalar value calculated by this -fix is "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the per-atom spring energy to be included +fix is “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being -minimized), you MUST enable the fix_modify energy -option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix drag, fix spring, -fix smd, fix spring/rg -

    -

    Default: none -

    - +minimized), you MUST enable the fix_modify energy +option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_srd.html b/doc/fix_srd.html index 9c87160d74..b2408e6ae1 100644 --- a/doc/fix_srd.html +++ b/doc/fix_srd.html @@ -1,69 +1,186 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix srd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix srd command -

    -

    Syntax: -

    -
    fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command -
    • srd = style name of this fix command -
    • N = reset SRD particle velocities every this many timesteps -
    • groupbig-ID = ID of group of large particles that SRDs interact with -
    • Tsrd = temperature of SRD particles (temperature units) -
    • hgrid = grid spacing for SRD grouping (distance units) -
    • seed = random # seed (positive integer) -
    -
    • zero or more keyword/value pairs may be appended - -
    • keyword = lamda or collision or overlap or inside or exact or radius or bounce or search or cubic or shift or tstat or rescale - -
        lamda value = mean free path of SRD particles (distance units)
      -  collision value = noslip or slip = collision model
      -  overlap value = yes or no = whether big particles may overlap
      -  inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
      -  exact value = yes or no
      -  radius value = rfactor = scale collision radius by this factor
      -  bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
      -  search value = sgrid = grid spacing for collision partner searching (distance units)
      -  cubic values = style tolerance
      -    style = error or warn
      -    tolerance = fractional difference allowed (0 <= tol <= 1)
      -  shift values = flag shiftseed
      -    flag = yes or no or possible = SRD bin shifting for better statistics
      -      yes = perform bin shifting each time SRD velocities are rescaled
      -      no = no shifting
      -      possible = shift depending on mean free path and bin size
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix srd command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • srd = style name of this fix command
      • +
      • N = reset SRD particle velocities every this many timesteps
      • +
      • groupbig-ID = ID of group of large particles that SRDs interact with
      • +
      • Tsrd = temperature of SRD particles (temperature units)
      • +
      • hgrid = grid spacing for SRD grouping (distance units)
      • +
      • seed = random # seed (positive integer)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = lamda or collision or overlap or inside or exact or radius or bounce or search or cubic or shift or tstat or rescale
      • +
      +
      +lamda value = mean free path of SRD particles (distance units)
      +  collision value = noslip or slip = collision model
      +  overlap value = yes or no = whether big particles may overlap
      +  inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
      +  exact value = yes or no
      +  radius value = rfactor = scale collision radius by this factor
      +  bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
      +  search value = sgrid = grid spacing for collision partner searching (distance units)
      +  cubic values = style tolerance
      +    style = error or warn
      +    tolerance = fractional difference allowed (0 <= tol <= 1)
      +  shift values = flag shiftseed
      +    flag = yes or no or possible = SRD bin shifting for better statistics
      +      yes = perform bin shifting each time SRD velocities are rescaled
      +      no = no shifting
      +      possible = shift depending on mean free path and bin size
           shiftseed = random # seed (positive integer)
      -  tstat value = yes or no = thermostat SRD particles or not
      -  rescale value = yes or no or rotate or collide = rescaling of SRD velocities
      -    yes = rescale during velocity rotation and collisions
      -    no = no rescaling
      -    rotate = rescale during velocity rotation, but not collisions
      -    collide = rescale during collisions, but not velocity rotation 
      -
      - -
    -

    Examples: -

    -
    fix 1 srd srd 10 big 1.0 0.25 482984
    -fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 
    -
    -

    Description: -

    -

    Treat a group of partilces as stochastic rotation dynamics (SRD) + tstat value = yes or no = thermostat SRD particles or not + rescale value = yes or no or rotate or collide = rescaling of SRD velocities + yes = rescale during velocity rotation and collisions + no = no rescaling + rotate = rescale during velocity rotation, but not collisions + collide = rescale during collisions, but not velocity rotation + +

    +
    +

    Examples¶

    +
    fix 1 srd srd 10 big 1.0 0.25 482984
    +fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5
    +
    +
    +
    +
    +

    Description¶

    +

    Treat a group of partilces as stochastic rotation dynamics (SRD) particles that serve as a background solvent when interacting with big (colloidal) particles in groupbig-ID. The SRD formalism is described -in (Hecht). The key idea behind using SRD particles as a +in (Hecht). The key idea behind using SRD particles as a cheap coarse-grained solvent is that SRD particles do not interact with each other, but only with the solute particles, which in LAMMPS can be spheroids, ellipsoids, or line segments, or triangles, or rigid @@ -73,185 +190,159 @@ imbue the SRD particles with fluid-like properties, including an effective viscosity. Thus simulations with large solute particles can be run more quickly, to measure solute propoerties like diffusivity and viscosity in a background fluid. The usual LAMMPS fixes for such -simulations, such as fix deform, fix -viscosity, and fix nvt/sllod, -can be used in conjunction with the SRD model. -

    -

    For more details on how the SRD model is implemented in LAMMPS, this -paper describes the implementation and usage of pure SRD -fluids. This paper, which is nearly complete, describes +simulations, such as fix deform, fix viscosity, and fix nvt/sllod, +can be used in conjunction with the SRD model.

    +

    For more details on how the SRD model is implemented in LAMMPS, this paper describes the implementation and usage of pure SRD +fluids. This paper, which is nearly complete, describes the implementation and usage of mixture systems (solute particles in an SRD fluid). See the examples/srd directory for sample input -scripts using SRD particles in both settings. -

    -

    This fix does 2 things: -

    -

    (1) It advects the SRD particles, performing collisions between SRD +scripts using SRD particles in both settings.

    +

    This fix does 2 things:

    +

    (1) It advects the SRD particles, performing collisions between SRD and big particles or walls every timestep, imparting force and torque to the big particles. Collisions also change the position and -velocity of SRD particles. -

    -

    (2) It resets the velocity distribution of SRD particles via random -rotations every N timesteps. -

    -

    SRD particles have a mass, temperature, characteristic timestep +velocity of SRD particles.

    +

    (2) It resets the velocity distribution of SRD particles via random +rotations every N timesteps.

    +

    SRD particles have a mass, temperature, characteristic timestep dt_SRD, and mean free path between collisions (lamda). The -fundamental equation relating these 4 quantities is -

    -
    lamda = dt_SRD * sqrt(Kboltz * Tsrd / mass) 
    -
    -

    The mass of SRD particles is set by the mass command +fundamental equation relating these 4 quantities is

    +
    lamda = dt_SRD * sqrt(Kboltz * Tsrd / mass)
    +
    +
    +

    The mass of SRD particles is set by the mass command elsewhere in the input script. The SRD timestep dt_SRD is N times the -step dt defined by the timestep command. Big -particles move in the normal way via a time integration fix +step dt defined by the timestep command. Big +particles move in the normal way via a time integration fix with a short timestep dt. SRD particles advect with a large timestep -dt_SRD >= dt. -

    -

    If the lamda keyword is not specified, the the SRD temperature -Tsrd is used in the above formula to compute lamda. If the lamda -keyword is specified, then the Tsrd setting is ignored and the above -equation is used to compute the SRD temperature. -

    -

    The characteristic length scale for the SRD fluid is set by hgrid +dt_SRD >= dt.

    +

    If the lamda keyword is not specified, the the SRD temperature +Tsrd is used in the above formula to compute lamda. If the lamda +keyword is specified, then the Tsrd setting is ignored and the above +equation is used to compute the SRD temperature.

    +

    The characteristic length scale for the SRD fluid is set by hgrid which is used to bin SRD particles for purposes of resetting their velocities. Normally hgrid is set to be 1/4 of the big particle diameter or smaller, to adequately resolve fluid properties around the -big particles. -

    -

    Lamda cannot be smaller than 0.6 * hgrid, else an error is generated -(unless the shift keyword is used, see below). The velocities of +big particles.

    +

    Lamda cannot be smaller than 0.6 * hgrid, else an error is generated +(unless the shift keyword is used, see below). The velocities of SRD particles are bounded by Vmax, which is set so that an SRD particle will not advect further than Dmax = 4*lamda in dt_SRD. This means that roughly speaking, Dmax should not be larger than a big particle diameter, else SRDs may pass thru big particles without -colliding. A warning is generated if this is the case. -

    -

    Collisions between SRD particles and big particles or walls are +colliding. A warning is generated if this is the case.

    +

    Collisions between SRD particles and big particles or walls are modeled as a lightweight SRD point particle hitting a heavy big particle of given diameter or a wall at a point on its surface and bouncing off with a new velocity. The collision changes the momentum of the SRD particle. It imparts a force and torque to the big particle. It imparts a force to a wall. Static or moving SRD walls -are setup via the fix wall/srd command. For the +are setup via the fix wall/srd command. For the remainder of this doc page, a collision of an SRD particle with a wall can be viewed as a collision with a big particle of infinite radius -and mass. -

    -

    The collision keyword sets the style of collisions. The slip +and mass.

    +

    The collision keyword sets the style of collisions. The slip style means that the tangential component of the SRD particle momentum is preserved. Thus a force is imparted to a big particle, but no torque. The normal component of the new SRD velocity is sampled from -a Gaussian distribution at temperature Tsrd. -

    -

    For the noslip style, both the normal and tangential components of +a Gaussian distribution at temperature Tsrd.

    +

    For the noslip style, both the normal and tangential components of the new SRD velocity are sampled from a Gaussian distribution at -temperature Tsrd. Additionally, a new tangential direction for the +temperature Tsrd. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts torque -to a big particle. Thus a time integrator fix that rotates -the big particles appropriately should be used. -

    -
    - -

    The overlap keyword should be set to yes if two (or more) big +to a big particle. Thus a time integrator fix that rotates +the big particles appropriately should be used.

    +
    +

    The overlap keyword should be set to yes if two (or more) big particles can ever overlap. This depends on the pair potential interaction used for big-big interactions, or could be the case if -multiple big particles are held together as rigid bodies via the fix -rigid command. If the overlap keyword is no and +multiple big particles are held together as rigid bodies via the fix rigid command. If the overlap keyword is no and big particles do in fact overlap, then SRD/big collisions can generate an error if an SRD ends up inside two (or more) big particles at once. -How this error is treated is determined by the inside keyword. -Running with overlap set to no allows for faster collision -checking, so it should only be set to yes if needed. -

    -

    The inside keyword determines how a collision is treated if the +How this error is treated is determined by the inside keyword. +Running with overlap set to no allows for faster collision +checking, so it should only be set to yes if needed.

    +

    The inside keyword determines how a collision is treated if the computation determines that the timestep started with the SRD particle -already inside a big particle. If the setting is error then this -generates an error message and LAMMPS stops. If the setting is warn +already inside a big particle. If the setting is error then this +generates an error message and LAMMPS stops. If the setting is warn then this generates a warning message and the code continues. If the -setting is ignore then no message is generated. One of the output +setting is ignore then no message is generated. One of the output quantities logged by the fix (see below) tallies the number of such events, so it can be monitored. Note that once an SRD particle is inside a big particle, it may remain there for several steps until it -drifts outside the big particle. -

    -

    The exact keyword determines how accurately collisions are computed. -A setting of yes computes the time and position of each collision as -SRD and big particles move together. A setting of no estimates the +drifts outside the big particle.

    +

    The exact keyword determines how accurately collisions are computed. +A setting of yes computes the time and position of each collision as +SRD and big particles move together. A setting of no estimates the position of each collision based on the end-of-timestep positions of -the SRD and big particle. If overlap is set to yes, the setting of -the exact keyword is ignored since time-accurate collisions are -needed. -

    -

    The radius keyword scales the effective size of big particles. If +the SRD and big particle. If overlap is set to yes, the setting of +the exact keyword is ignored since time-accurate collisions are +needed.

    +

    The radius keyword scales the effective size of big particles. If big particles will overlap as they undergo dynamics, then this keyword can be used to scale down their effective collision radius by an -amount rfactor, so that SRD particle will only collide with one big +amount rfactor, so that SRD particle will only collide with one big particle at a time. For example, in a Lennard-Jones system at a temperature of 1.0 (in reduced LJ units), the minimum separation bewteen two big particles is as small as about 0.88 sigma. Thus an -rfactor value of 0.85 should prevent dual collisions. -

    -

    The bounce keyword can be used to limit the maximum number of +rfactor value of 0.85 should prevent dual collisions.

    +

    The bounce keyword can be used to limit the maximum number of collisions an SRD particle undergoes in a single timestep as it bounces between nearby big particles. Note that if the limit is reached, the SRD can be left inside a big particle. A setting of 0 is -the same as no limit. -

    -
    - -

    There are 2 kinds of bins created and maintained when running an SRD -simulation. The first are "SRD bins" which are used to bin SRD +the same as no limit.

    +
    +

    There are 2 kinds of bins created and maintained when running an SRD +simulation. The first are “SRD bins” which are used to bin SRD particles and reset their velocities, as discussed above. The second -are "search bins" which are used to identify SRD/big particle -collisions. -

    -

    The search keyword can be used to choose a search bin size for +are “search bins” which are used to identify SRD/big particle +collisions.

    +

    The search keyword can be used to choose a search bin size for identifying SRD/big particle collisions. The default is to use the -hgrid parameter for SRD bins as the search bin size. Choosing a +hgrid parameter for SRD bins as the search bin size. Choosing a smaller or large value may be more efficient, depending on the problem. But, in a statistical sense, it should not change the -simulation results. -

    -

    The cubic keyword can be used to generate an error or warning when +simulation results.

    +

    The cubic keyword can be used to generate an error or warning when the bin size chosen by LAMMPS creates SRD bins that are non-cubic or -different than the requested value of hgrid by a specified -tolerance. Note that using non-cubic SRD bins can lead to +different than the requested value of hgrid by a specified +tolerance. Note that using non-cubic SRD bins can lead to undetermined behavior when rotating the velocities of SRD particles, -hence LAMMPS tries to protect you from this problem. -

    -

    LAMMPS attempts to set the SRD bin size to exactly hgrid. However, +hence LAMMPS tries to protect you from this problem.

    +

    LAMMPS attempts to set the SRD bin size to exactly hgrid. However, there must be an integer number of bins in each dimension of the simulation box. Thus the actual bin size will depend on the size and shape of the overall simulation box. The actual bin size is printed -as part of the SRD output when a simulation begins. -

    -

    If the actual bin size in non-cubic by an amount exceeding the +as part of the SRD output when a simulation begins.

    +

    If the actual bin size in non-cubic by an amount exceeding the tolerance, an error or warning is printed, depending on the style of -the cubic keyword. Likewise, if the actual bin size differs from -the requested hgrid value by an amount exceeding the tolerance, then -an error or warning is printed. The tolerance is a fractional +the cubic keyword. Likewise, if the actual bin size differs from +the requested hgrid value by an amount exceeding the tolerance, then +an error or warning is printed. The tolerance is a fractional difference. E.g. a tolerance setting of 0.01 on the shape means that if the ratio of any 2 bin dimensions exceeds (1 +/- tolerance) then an error or warning is generated. Similarly, if the ratio of any bin -dimension with hgrid exceeds (1 +/- tolerance), then an error or -warning is generated. -

    -

    IMPORTANT NOTE: The fix srd command can be used with simluations the +dimension with hgrid exceeds (1 +/- tolerance), then an error or +warning is generated.

    +
    +

    Warning

    +

    The fix srd command can be used with simluations the size and/or shape of the simulation box changes. This can be due to -non-periodic boundary conditions or the use of fixes such as the fix -deform or fix wall/srd commands +non-periodic boundary conditions or the use of fixes such as the fix deform or fix wall/srd commands to impose a shear on an SRD fluid or an interaction with an external wall. If the box size changes then the size of SRD bins must be recalculated every reneighboring. This is not necessary if only the box shape changes. This re-binning is always done so as to fit an integer number of bins in the current box dimension, whether it be a fixed, shrink-wrapped, or periodic boundary, as set by the -boundary command. If the box size or shape changes, +boundary command. If the box size or shape changes, then the size of the search bins must be recalculated avery reneighboring. Note that changing the SRD bin size may alter the -properties of the SRD fluid, such as its viscosity. -

    -

    The shift keyword determines whether the coordinates of SRD +properties of the SRD fluid, such as its viscosity.

    +
    +

    The shift keyword determines whether the coordinates of SRD particles are randomly shifted when binned for purposes of rotating their velocities. When no shifting is performed, SRD particles are binned and the velocity distribution of the set of SRD particles in @@ -262,29 +353,25 @@ lamda. If lamda is less than 0.6 of the SRD bin size, then shifting is required. A shift means that all of the SRD particles are shifted by a vector whose coordinates are chosen randomly in the range [-1/2 bin size, 1/2 bin size]. Note that all particles are shifted by the -same vector. The specified random number shiftseed is used to +same vector. The specified random number shiftseed is used to generate these vectors. This operation sufficiently randomizes which -SRD particles are in the same bin, even if lamda is small. -

    -

    If the shift flag is set to no, then no shifting is performed, but +SRD particles are in the same bin, even if lamda is small.

    +

    If the shift flag is set to no, then no shifting is performed, but bin data will be communicated if bins overlap processor boundaries. -An error will be generated if lamda < 0.6 of the SRD bin size. If the -shift flag is set to possible, then shifting is performed only if -lamda < 0.6 of the SRD bin size. A warning is generated to let you -know this is occurring. If the shift flag is set to yes then +An error will be generated if lamda < 0.6 of the SRD bin size. If the +shift flag is set to possible, then shifting is performed only if +lamda < 0.6 of the SRD bin size. A warning is generated to let you +know this is occurring. If the shift flag is set to yes then shifting is performed regardless of the magnitude of lamda. Note that -the shiftseed is not used if the shift flag is set to no, but -must still be specified. -

    -

    Note that shifting of SRD coordinates requires extra communication, -hence it should not normally be enabled unless required. -

    -

    The tstat keyword will thermostat the SRD particles to the specified -Tsrd. This is done every N timesteps, during the velocity rotation +the shiftseed is not used if the shift flag is set to no, but +must still be specified.

    +

    Note that shifting of SRD coordinates requires extra communication, +hence it should not normally be enabled unless required.

    +

    The tstat keyword will thermostat the SRD particles to the specified +Tsrd. This is done every N timesteps, during the velocity rotation operation, by rescaling the thermal velocity of particles in each SRD bin to the desired temperature. If there is a streaming velocity -associated with the system, e.g. due to use of the fix -deform command to perform a simulation undergoing +associated with the system, e.g. due to use of the fix deform command to perform a simulation undergoing shear, then that is also accounted for. The mean velocity of each bin of SRD particles is set to the position-dependent streaming velocity, based on the coordinates of the center of the SRD bin. Note that @@ -294,117 +381,197 @@ necessary to thermostat the SRD particles on a bin by bin basis in that case. Also note that for streaming simulations, if no thermostatting is performed (the default), then it may take a long time for the SRD fluid to come to equilibrium with a velocity profile -that matches the simulation box deformation. -

    -

    The rescale keyword enables rescaling of an SRD particle's velocity +that matches the simulation box deformation.

    +

    The rescale keyword enables rescaling of an SRD particle’s velocity if it would travel more than 4 mean-free paths in an SRD timestep. If an SRD particle exceeds this velocity it is possible it will be lost when migrating to other processors or that collisions with big particles will be missed, either of which will generate errors. Thus the safest mode is to run with rescaling enabled. However rescaling -removes kinetic energy from the system (the particle's velocity is +removes kinetic energy from the system (the particle’s velocity is reduced). The latter will not typically be a problem if -thermostatting is enabled via the tstat keyword or if SRD collisions +thermostatting is enabled via the tstat keyword or if SRD collisions with big particles or walls effectively thermostat the system. If you wish to turn off rescaling (on is the default), e.g. for a pure SRD system with no thermostatting so that the temperature does not decline -over time, the rescale keyword can be used. The no value turns +over time, the rescale keyword can be used. The no value turns rescaling off during collisions and the per-bin velocity rotation -operation. The collide and rotate values turn it on for -one of the operations and off for the other. -

    -
    - -

    IMPORTANT NOTE: This fix is normally used for simulations with a huge +operation. The collide and rotate values turn it on for +one of the operations and off for the other.

    +
    +
    +

    Warning

    +

    This fix is normally used for simulations with a huge number of SRD particles relative to the number of big particles, e.g. 100 to 1. In this scenario, computations that involve only big particles (neighbor list creation, communication, time integration) can slow down dramatically due to the large number of background SRD -particles. -

    -

    Three other input script commands will largely overcome this effect, +particles.

    +
    +

    Three other input script commands will largely overcome this effect, speeding up an SRD simulation by a significant amount. These are the -atom_modify first, neigh_modify -include, and comm_modify group +atom_modify first, neigh_modify include, and comm_modify group commands. Each takes a group-ID as an argument, which in this case -should be the group-ID of the big solute particles. -

    -

    Additionally, when a pair_style for big/big particle -interactions is specified, the pair_coeff command +should be the group-ID of the big solute particles.

    +

    Additionally, when a pair_style for big/big particle +interactions is specified, the pair_coeff command should be used to turn off big/SRD interactions, e.g. by setting their -epsilon or cutoff length to 0.0. -

    -

    The "delete_atoms overlap" command may be useful in setting up an SRD +epsilon or cutoff length to 0.0.

    +

    The “delete_atoms overlap” command may be useful in setting up an SRD simulation to insure there are no initial overlaps between big and SRD -particles. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix tabulates several SRD statistics which are stored in a vector -of length 12, which can be accessed by various output -commands. The vector values calculated -by this fix are "intensive", meaning they do not scale with the size +particles.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix tabulates several SRD statistics which are stored in a vector +of length 12, which can be accessed by various output commands. The vector values calculated +by this fix are “intensive”, meaning they do not scale with the size of the simulation. Technically, the first 8 do scale with the size of the simulation, but treating them as intensive means they are not -scaled when printed as part of thermodyanmic output. -

    -

    These are the 12 quantities. All are values for the current timestep, +scaled when printed as part of thermodyanmic output.

    +

    These are the 12 quantities. All are values for the current timestep, except for quantity 5 and the last three, each of which are -cummulative quantities since the beginning of the run. -

    -
    • (1) # of SRD/big collision checks performed -
    • (2) # of SRDs which had a collision -
    • (3) # of SRD/big colllisions (including multiple bounces) -
    • (4) # of SRD particles inside a big particle -
    • (5) # of SRD particles whose velocity was rescaled to be < Vmax -
    • (6) # of bins for collision searching -
    • (7) # of bins for SRD velocity rotation -
    • (8) # of bins in which SRD temperature was computed -
    • (9) SRD temperature -
    • (10) # of SRD particles which have undergone max # of bounces -
    • (11) max # of bounces any SRD particle has had in a single step -
    • (12) # of reneighborings due to SRD particles moving too far -
    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the SRD -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    fix wall/srd -

    -

    Default: -

    -

    The option defaults are lamda inferred from Tsrd, collision = noslip, +cummulative quantities since the beginning of the run.

    +
      +
      1. +
      2. # of SRD/big collision checks performed
      3. +
      +
    • +
      1. +
      2. # of SRDs which had a collision
      3. +
      +
    • +
      1. +
      2. # of SRD/big colllisions (including multiple bounces)
      3. +
      +
    • +
      1. +
      2. # of SRD particles inside a big particle
      3. +
      +
    • +
      1. +
      2. # of SRD particles whose velocity was rescaled to be < Vmax
      3. +
      +
    • +
      1. +
      2. # of bins for collision searching
      3. +
      +
    • +
      1. +
      2. # of bins for SRD velocity rotation
      3. +
      +
    • +
      1. +
      2. # of bins in which SRD temperature was computed
      3. +
      +
    • +
      1. +
      2. SRD temperature
      3. +
      +
    • +
      1. +
      2. # of SRD particles which have undergone max # of bounces
      3. +
      +
    • +
      1. +
      2. max # of bounces any SRD particle has had in a single step
      3. +
      +
    • +
      1. +
      2. # of reneighborings due to SRD particles moving too far
      3. +
      +
    • +
    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the SRD +package. See the Making LAMMPS section +for more info on packages.

    +
    + +
    +

    Default¶

    +

    The option defaults are lamda inferred from Tsrd, collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, search = hgrid, cubic = error 0.01, shift = no, tstat = no, and -rescale = yes. -

    -
    +rescale = yes.

    +
    +

    (Hecht) Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005).

    +

    (Petersen) Petersen, Lechman, Plimpton, Grest, in’ t Veld, Schunk, J +Chem Phys, 132, 174106 (2010).

    +

    (Lechman) Lechman, et al, in preparation (2010).

    +
    + - -

    (Hecht) Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005). -

    - + + +
    + -

    (Petersen) Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J -Chem Phys, 132, 174106 (2010). -

    - +
    -

    (Lechman) Lechman, et al, in preparation (2010). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_store_force.html b/doc/fix_store_force.html index f73bdf65b9..043137e5b8 100644 --- a/doc/fix_store_force.html +++ b/doc/fix_store_force.html @@ -1,47 +1,165 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix store/force command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix store/force command -

    -

    Syntax: -

    -
    fix ID group-ID store/force 
    -
    -
    • ID, group-ID are documented in fix command -
    • store/force = style name of this fix command -
    -

    Examples: -

    -
    fix 1 all store/force 
    -
    -

    Description: -

    -

    Store the forces on atoms in the group at the point during each + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix store/force command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID store/force
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • store/force = style name of this fix command
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all store/force
    +
    +
    +
    +
    +

    Description¶

    +

    Store the forces on atoms in the group at the point during each timestep when the fix is invoked, as described below. This is useful for storing forces before constraints or other boundary conditions are computed which modify the forces, so that unmodified forces can be -written to a dump file or accessed by other output -commands that use per-atom quantities. -

    -

    This fix is invoked at the point in the velocity-Verlet timestepping -immediately after pair, bond, -angle, dihedral, -improper, and long-range +written to a dump file or accessed by other output commands that use per-atom quantities.

    +

    This fix is invoked at the point in the velocity-Verlet timestepping +immediately after pair, bond, +angle, dihedral, +improper, and long-range forces have been calculated. It is the point in the timestep when various fixes that compute constraint forces are calculated and potentially modify the force on each atom. Examples of such fixes are -fix shake, fix wall, and fix -indent. -

    -

    IMPORTANT NOTE: The order in which various fixes are applied which +fix shake, fix wall, and fix indent.

    +
    +

    Warning

    +

    The order in which various fixes are applied which operate at the same point during the timestep, is the same as the order they are specified in the input script. Thus normally, if you want to store per-atom forces due to force field interactions, before @@ -49,29 +167,92 @@ constraints are applied, you should list this fix first within that set of fixes, i.e. before other fixes that apply constraints. However, if you wish to include certain constraints (e.g. fix shake) in the stored force, then it could be specified after some fixes and -before others. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix produces a per-atom array which can be accessed by various -output commands. The number of columns +before others.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix produces a per-atom array which can be accessed by various +output commands. The number of columns for each atom is 3, and the columns store the x,y,z forces on each -atom. The per-atom values be accessed on any timestep. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix store_state -

    -

    Default: none -

    - +atom. The per-atom values be accessed on any timestep.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_store_state.html b/doc/fix_store_state.html index 641dbf7eae..44defb1600 100644 --- a/doc/fix_store_state.html +++ b/doc/fix_store_state.html @@ -1,38 +1,153 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix store/state command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix store/state command -

    -

    Syntax: -

    -
    fix ID group-ID store/state N input1 input2 ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • store/state = style name of this fix command - -
    • N = store atom attributes every N steps, N = 0 for initial store only - -
    • input = one or more atom attributes - -
        possible attributes = id, mol, type, mass,
      - 	                x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      -		        vx, vy, vz, fx, fy, fz,
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix store/state command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID store/state N input1 input2 ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • store/state = style name of this fix command
      • +
      • N = store atom attributes every N steps, N = 0 for initial store only
      • +
      • input = one or more atom attributes
      • +
      +
      possible attributes = id, mol, type, mass,
      +                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
      +                     vx, vy, vz, fx, fy, fz,
                               q, mux, muy, muz,
                               radius, omegax, omegay, omegaz,
                               angmomx, angmomy, angmomz, tqx, tqy, tqz,
                               c_ID, c_ID[N], f_ID, f_ID[N], v_name,
      -                        d_name, i_name 
      -
      -
            id = atom ID
      +                        d_name, i_name
      +
      +
      +
      id = atom ID
             mol = molecule ID
             type = atom type
             mass = atom mass
      @@ -54,90 +169,148 @@
             f_ID[I] = Ith column of per-atom array calculated by a fix with ID
             v_name = per-atom vector calculated by an atom-style variable with name
             d_name = per-atom floating point vector name, managed by fix property/atom
      -      i_name = per-atom integer vector name, managed by fix property/atom 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = com - -
        com value = yes or no 
      -
      - -
    -

    Examples: -

    -
    fix 1 all store/state 0 x y z
    +      i_name = per-atom integer vector name, managed by fix property/atom
    +
    + +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = com
    • +
    +
    +com value = yes or no
    +
    + +
    +

    Examples¶

    +
    fix 1 all store/state 0 x y z
     fix 1 all store/state 0 xu yu zu com yes
    -fix 2 all store/state 1000 vx vy vz 
    -
    -

    Description: -

    -

    Define a fix that stores attributes for each atom in the group at the -time the fix is defined. If N is 0, then the values are never +fix 2 all store/state 1000 vx vy vz +

    +
    +
    +
    +

    Description¶

    +

    Define a fix that stores attributes for each atom in the group at the +time the fix is defined. If N is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of -output commands that take fixes as -inputs. And see for example, the compute -reduce, fix ave/atom, fix -ave/histo, fix ave/spatial, -and atom-style variable commands. -

    -

    If N is not zero, then the attributes will be updated every N -steps. -

    -

    IMPORTANT NOTE: Actually, only atom attributes specified by keywords -like xu or vy are initially stored immediately at the point in +output commands that take fixes as +inputs. And see for example, the compute reduce, fix ave/atom, fix ave/histo, fix ave/spatial, +and atom-style variable commands.

    +

    If N is not zero, then the attributes will be updated every N +steps.

    +
    +

    Warning

    +

    Actually, only atom attributes specified by keywords +like xu or vy are initially stored immediately at the point in your input script when the fix is defined. Attributes specified by a compute, fix, or variable are not initially stored until the first run following the fix definition begins. This is because calculating those attributes may require quantities that are not defined in -between runs. -

    -

    The list of possible attributes is the same as that used by the dump -custom command, which describes their meaning. -

    -

    If the com keyword is set to yes then the xu, yu, and zu +between runs.

    +
    +

    The list of possible attributes is the same as that used by the dump custom command, which describes their meaning.

    +

    If the com keyword is set to yes then the xu, yu, and zu inputs store the position of each atom relative to the center-of-mass of the group of atoms, instead of storing the absolute position. This -option is used by the compute msd command. -

    -

    The requested values are stored in a per-atom vector or array as +option is used by the compute msd command.

    +

    The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified -group. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the per-atom values it stores to binary restart -files, so that the values can be restored when a -simulation is restarted. See the read_restart +group.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the per-atom values it stores to binary restart files, so that the values can be restored when a +simulation is restarted. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    If a single input is specified, this fix produces a per-atom vector. +uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These -can be accessed by various output -commands. The per-atom values be -accessed on any timestep. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump custom, compute -property/atom, -fix property/atom, variable -

    -

    Default: -

    -

    The option default is com = no. -

    - +can be accessed by various output commands. The per-atom values be +accessed on any timestep.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option default is com = no.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_temp_berendsen.html b/doc/fix_temp_berendsen.html index 6ae3f4ed9a..3c616d7e76 100644 --- a/doc/fix_temp_berendsen.html +++ b/doc/fix_temp_berendsen.html @@ -1,190 +1,345 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix temp/berendsen command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix temp/berendsen command -

    -

    fix temp/berendsen/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID temp/berendsen Tstart Tstop Tdamp 
    -
    -
    • ID, group-ID are documented in fix command - -
    • temp/berendsen = style name of this fix command - -
    • Tstart,Tstop = desired temperature at start/end of run - -
        Tstart can be a variable (see below) 
      -
      -
    • Tdamp = temperature damping parameter (time units) -
    -

    Examples: -

    -
    fix 1 all temp/berendsen 300.0 300.0 100.0 
    -
    -

    Description: -

    -

    Reset the temperature of a group of atoms by using a Berendsen -thermostat (Berendsen), which rescales their velocities -every timestep. -

    -

    The thermostat is applied to only the translational degrees of freedom + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix temp/berendsen command¶

    +
    +
    +

    fix temp/berendsen/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID temp/berendsen Tstart Tstop Tdamp
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • temp/berendsen = style name of this fix command
    • +
    • Tstart,Tstop = desired temperature at start/end of run
    • +
    +
    Tstart can be a variable (see below)
    +
    +
    +
      +
    • Tdamp = temperature damping parameter (time units)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all temp/berendsen 300.0 300.0 100.0
    +
    +
    +
    +
    +

    Description¶

    +

    Reset the temperature of a group of atoms by using a Berendsen +thermostat (Berendsen), which rescales their velocities +every timestep.

    +

    The thermostat is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles which have rotational degrees of freedom are being thermostatted with this fix. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +takes place; see the description below.

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command). -

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +units command).

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. -

    -

    IMPORTANT NOTE: Unlike the fix nvt command which +time. Thus it is easy to specify a time-dependent temperature.

    +
    +

    Warning

    +

    Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies velocities to effect thermostatting. Thus you must use a separate time integration -fix, like fix nve to actually update the positions of +fix, like fix nve to actually update the positions of atoms using the modified velocities. Likewise, this fix should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix -langevin commands. -

    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix langevin commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if this command had been -issued: -

    -
    compute fix-ID_temp group-ID temp 
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID + underscore + "temp", -and the group for the new compute is the same as the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +thermostatting.

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style “temp”, as if this command had been +issued:

    +
    compute fix-ID_temp group-ID temp
    +
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID + underscore + “temp”, +and the group for the new compute is the same as the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. -

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same.

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix can be used with dynamic groups as defined by the -group command. Likewise it can be used with groups to +calculated by this fix is “extensive”.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix can be used with dynamic groups as defined by the +group command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. -

    -

    Related commands: -

    -

    fix nve, fix nvt, fix -temp/rescale, fix langevin, -fix_modify, compute temp, -fix press/berendsen -

    -

    Default: none -

    -
    +over time or the atom count becomes very small.

    +
    + +
    - -

    (Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem -Phys, 81, 3684 (1984). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_temp_csvr.html b/doc/fix_temp_csvr.html index 41c6e7400e..ed974a46de 100644 --- a/doc/fix_temp_csvr.html +++ b/doc/fix_temp_csvr.html @@ -1,182 +1,344 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix temp/csvr command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix temp/csvr command -

    -

    fix temp/csld command -

    -

    Syntax: -

    -
    fix ID group-ID temp/csvr Tstart Tstop Tdamp seed 
    -
    -
    fix ID group-ID temp/csld Tstart Tstop Tdamp seed 
    -
    -
    • ID, group-ID are documented in fix command - -
    • temp/csvr or temp/csld = style name of this fix command - -
    • Tstart,Tstop = desired temperature at start/end of run - -
        Tstart can be a variable (see below) 
      -
      -
    • Tdamp = temperature damping parameter (time units) - -
    • seed = random number seed to use for white noise (positive integer) -
    -

    Examples: -

    -
    fix 1 all temp/csvr 300.0 300.0 100.0 54324 
    -
    -
    fix 1 all temp/csld 100.0 300.0 10.0 123321 
    -
    -

    Description: -

    -

    Adjust the temperature with a canonical sampling thermostat that uses -global velocity rescaling with Hamiltonian dynamics (temp/csvr) -(Bussi1), or Langevin dynamics (temp/csld) -(Bussi2). In the case of temp/csvr the thermostat is + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix temp/csvr command¶

    +
    +
    +

    fix temp/csld command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID temp/csvr Tstart Tstop Tdamp seed
    +
    +
    +
    fix ID group-ID temp/csld Tstart Tstop Tdamp seed
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • temp/csvr or temp/csld = style name of this fix command
    • +
    • Tstart,Tstop = desired temperature at start/end of run
    • +
    +
    Tstart can be a variable (see below)
    +
    +
    +
      +
    • Tdamp = temperature damping parameter (time units)
    • +
    • seed = random number seed to use for white noise (positive integer)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all temp/csvr 300.0 300.0 100.0 54324
    +
    +
    +
    fix 1 all temp/csld 100.0 300.0 10.0 123321
    +
    +
    +
    +
    +

    Description¶

    +

    Adjust the temperature with a canonical sampling thermostat that uses +global velocity rescaling with Hamiltonian dynamics (temp/csvr) +(Bussi1), or Langevin dynamics (temp/csld) +(Bussi2). In the case of temp/csvr the thermostat is similar to the empirical Berendsen thermostat in -temp/berendsen, but chooses the actual +temp/berendsen, but chooses the actual scaling factor from a suitably chosen (gaussian) distribution rather than having it determined from the time constant directly. In the case -of temp/csld the velocities are updated to a linear combination of +of temp/csld the velocities are updated to a linear combination of the current velocities with a gaussian distribution of velocities at -the desired temperature. Both termostats are applied every timestep. -

    -

    The thermostat is applied to only the translational degrees of freedom +the desired temperature. Both termostats are applied every timestep.

    +

    The thermostat is applied to only the translational degrees of freedom for the particles, which is an important consideration for finite-size particles which have rotational degrees of freedom are being thermostatted with these fixes. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    The desired temperature at each timestep is a ramped value during the -run from Tstart to Tstop. The Tdamp parameter is specified in +takes place; see the description below.

    +

    The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The Tdamp parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the -units command). -

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +units command).

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. -

    -

    IMPORTANT NOTE: Unlike the fix nvt command which +time. Thus it is easy to specify a time-dependent temperature.

    +
    +

    Warning

    +

    Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, these fixes do NOT perform time integration. They only modify velocities to effect thermostatting. Thus you must use a separate time integration fix, -like fix nve to actually update the positions of atoms +like fix nve to actually update the positions of atoms using the modified velocities. Likewise, these fixes should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix -langevin commands. -

    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix langevin commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    These fixes compute a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if this command had been -issued: -

    -
    compute fix-ID_temp group-ID temp 
    -
    -

    See the compute temp command for details. Note -that the ID of the new compute is the fix-ID + underscore + "temp", -and the group for the new compute is the same as the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +thermostatting.

    +

    These fixes compute a temperature each timestep. To do this, the fix +creates its own compute of style “temp”, as if this command had been +issued:

    +
    compute fix-ID_temp group-ID temp
    +
    +
    +

    See the compute temp command for details. Note +that the ID of the new compute is the fix-ID + underscore + “temp”, +and the group for the new compute is the same as the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, these fixes can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, these fixes can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about these fixes are written to binary restart -files. -

    -

    The fix_modify temp option is supported by these -fixes. You can use it to assign a temperature compute +thermal degrees of freedom, and the bias is added back in.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about these fixes are written to binary restart files.

    +

    The fix_modify temp option is supported by these +fixes. You can use it to assign a temperature compute you have defined to these fixes which will be used in its thermostatting procedure, as described above. For consistency, the group used by -these fixes and by the compute should be the same. -

    -

    These fixes can ramp its target temperature over multiple runs, using -the start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    These fixes are not invoked during energy minimization. -

    -

    These fixes compute a global scalar which can be accessed by various -output commands. The scalar is the +these fixes and by the compute should be the same.

    +

    These fixes can ramp its target temperature over multiple runs, using +the start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    These fixes are not invoked during energy minimization.

    +

    These fixes compute a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to the fix. The scalar value -calculated by this fix is "extensive". -

    -

    Restrictions: -

    -

    These fixes are not compatible with fix shake. -

    -

    The fix can be used with dynamic groups as defined by the -group command. Likewise it can be used with groups to +calculated by this fix is “extensive”.

    +
    +
    +

    Restrictions¶

    +

    These fixes are not compatible with fix shake.

    +

    The fix can be used with dynamic groups as defined by the +group command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition simulation. However, the conservation properties of the thermostat and barostat are defined for systems with a static set of atoms. You may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. -

    -

    Related commands: -

    -

    fix nve, fix nvt, fix -temp/rescale, fix langevin, -fix_modify, compute temp, -fix temp/berendsen -

    -

    Default: none -

    -
    - - - -(Bussi1) Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007) +over time or the atom count becomes very small.

    +
    + +
    -

    (Bussi2) Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007) -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_temp_rescale.html b/doc/fix_temp_rescale.html index 208a2de9db..aa5df01922 100644 --- a/doc/fix_temp_rescale.html +++ b/doc/fix_temp_rescale.html @@ -1,184 +1,345 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix temp/rescale command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix temp/rescale command -

    -

    fix temp/rescale/cuda command -

    -

    fix temp/rescale/limit/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID temp/rescale N Tstart Tstop window fraction 
    -
    -
    • ID, group-ID are documented in fix command - -
    • temp/rescale = style name of this fix command - -
    • N = perform rescaling every N steps - -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) - -
        Tstart can be a variable (see below) 
      -
      -
    • window = only rescale if temperature is outside this window (temperature units) - -
    • fraction = rescale to target temperature by this fraction -
    -

    Examples: -

    -
    fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix temp/rescale command¶

    +
    +
    +

    fix temp/rescale/cuda command¶

    +
    +
    +

    fix temp/rescale/limit/cuda command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID temp/rescale N Tstart Tstop window fraction
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • temp/rescale = style name of this fix command
    • +
    • N = perform rescaling every N steps
    • +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • +
    +
    Tstart can be a variable (see below)
    +
    +
    +
      +
    • window = only rescale if temperature is outside this window (temperature units)
    • +
    • fraction = rescale to target temperature by this fraction
    • +
    +
    +
    +

    Examples¶

    +
    fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
     fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
    -fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 
    -
    -

    Description: -

    -

    Reset the temperature of a group of atoms by explicitly rescaling -their velocities. -

    -

    The rescaling is applied to only the translational degrees of freedom +fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 +

    + + +
    +

    Description¶

    +

    Reset the temperature of a group of atoms by explicitly rescaling +their velocities.

    +

    The rescaling is applied to only the translational degrees of freedom for the particles, which is an important consideration if finite-size particles which have rotational degrees of freedom are being thermostatted with this fix. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting -takes place; see the description below. -

    -

    Rescaling is performed every N timesteps. The target temperature is a -ramped value between the Tstart and Tstop temperatures at the -beginning and end of the run. -

    -

    Tstart can be specified as an equal-style variable. -In this case, the Tstop setting is ignored. If the value is a +takes place; see the description below.

    +

    Rescaling is performed every N timesteps. The target temperature is a +ramped value between the Tstart and Tstop temperatures at the +beginning and end of the run.

    +

    Tstart can be specified as an equal-style variable. +In this case, the Tstop setting is ignored. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the target temperature.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. -

    -

    Rescaling is only performed if the difference between the current and -desired temperatures is greater than the window value. The amount -of rescaling that is applied is a fraction (from 0.0 to 1.0) of the +time. Thus it is easy to specify a time-dependent temperature.

    +

    Rescaling is only performed if the difference between the current and +desired temperatures is greater than the window value. The amount +of rescaling that is applied is a fraction (from 0.0 to 1.0) of the difference between the actual and desired temperature. E.g. if -fraction = 1.0, the temperature is reset to exactly the desired -value. -

    -

    IMPORTANT NOTE: Unlike the fix nvt command which +fraction = 1.0, the temperature is reset to exactly the desired +value.

    +
    +

    Warning

    +

    Unlike the fix nvt command which performs Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies velocities to effect thermostatting. Thus you must use a separate time integration -fix, like fix nve to actually update the positions of +fix, like fix nve to actually update the positions of atoms using the modified velocities. Likewise, this fix should not normally be used on atoms that also have their temperature controlled -by another fix - e.g. by fix nvt or fix -langevin commands. -

    -

    See this howto section of the manual for +by another fix - e.g. by fix nvt or fix langevin commands.

    +
    +

    See this howto section of the manual for a discussion of different ways to compute temperature and perform -thermostatting. -

    -

    This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if one of this command had -been issued: -

    -
    compute fix-ID_temp group-ID temp 
    -
    -

    See the compute temp for details. Note that the -ID of the new compute is the fix-ID + underscore + "temp", and the -group for the new compute is the same as the fix group. -

    -

    Note that this is NOT the compute used by thermodynamic output (see -the thermo_style command) with ID = thermo_temp. -This means you can change the attributes of this fix's temperature +thermostatting.

    +

    This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style “temp”, as if one of this command had +been issued:

    +
    compute fix-ID_temp group-ID temp
    +
    +
    +

    See the compute temp for details. Note that the +ID of the new compute is the fix-ID + underscore + “temp”, and the +group for the new compute is the same as the fix group.

    +

    Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix’s temperature (e.g. its degrees-of-freedom) via the -compute_modify command or print this temperature -during thermodynamic output via the thermo_style -custom command using the appropriate compute-ID. -It also means that changing attributes of thermo_temp will have no -effect on this fix. -

    -

    Like other fixes that perform thermostatting, this fix can be used -with compute commands that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the +compute_modify command or print this temperature +during thermodynamic output via the thermo_style custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix.

    +

    Like other fixes that perform thermostatting, this fix can be used +with compute commands that calculate a temperature +after removing a “bias” from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the fix_modify command is used +default, but only if the fix_modify command is used to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual compute -commands to determine which ones include a bias. In +term. See the doc pages for individual compute commands to determine which ones include a bias. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +thermal degrees of freedom, and the bias is added back in.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. -

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same.

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix langevin, fix nvt, -fix_modify -

    -

    Default: none -

    - +calculated by this fix is “extensive”.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_temp_rescale_eff.html b/doc/fix_temp_rescale_eff.html index 038e181938..2db42a22d5 100644 --- a/doc/fix_temp_rescale_eff.html +++ b/doc/fix_temp_rescale_eff.html @@ -1,81 +1,253 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix temp/rescale/eff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix temp/rescale/eff command -

    -

    Syntax: -

    -
    fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction 
    -
    -
    • ID, group-ID are documented in fix command -
    • temp/rescale/eff = style name of this fix command -
    • N = perform rescaling every N steps -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) -
    • window = only rescale if temperature is outside this window (temperature units) -
    • fraction = rescale to target temperature by this fraction -
    -

    Examples: -

    -
    fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0 
    -
    -

    Description: -

    -

    Reset the temperature of a group of nuclei and electrons in the -electron force field model by explicitly rescaling -their velocities. -

    -

    The operation of this fix is exactly like that described by the fix -temp/rescale command, except that the rescaling + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix temp/rescale/eff command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • temp/rescale/eff = style name of this fix command
    • +
    • N = perform rescaling every N steps
    • +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • +
    • window = only rescale if temperature is outside this window (temperature units)
    • +
    • fraction = rescale to target temperature by this fraction
    • +
    +
    +
    +

    Examples¶

    +
    fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    Reset the temperature of a group of nuclei and electrons in the +electron force field model by explicitly rescaling +their velocities.

    +

    The operation of this fix is exactly like that described by the fix temp/rescale command, except that the rescaling is also applied to the radial electron velocity for electron -particles. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify temp option is supported by this -fix. You can use it to assign a temperature compute +particles.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a temperature compute you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. -

    -

    The fix_modify energy option is supported by this +this fix and by the compute should be the same.

    +

    The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". -

    -

    This fix can ramp its target temperature over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    fix langevin/eff, fix -nvt/eff, fix_modify, -fix_temp_rescale, -

    -

    Default: none -

    - +calculated by this fix is “extensive”.

    +

    This fix can ramp its target temperature over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the USER-EFF package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_tfmc.html b/doc/fix_tfmc.html index dd69b02f96..38ae722f70 100644 --- a/doc/fix_tfmc.html +++ b/doc/fix_tfmc.html @@ -1,56 +1,168 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix tfmc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix tfmc command -

    -

    Syntax: -

    -
    fix ID group-ID tfmc Delta Temp seed keyword value 
    -
    -
    • ID, group-ID are documented in fix command - -
    • tfmc = style name of this fix command - -
    • Delta = maximal displacement length (distance units) - -
    • Temp = imposed temperature of the system - -
    • seed = random number seed (positive integer) - -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = com or rot - -
        com args = xflag yflag zflag
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix tfmc command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID tfmc Delta Temp seed keyword value
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • tfmc = style name of this fix command
      • +
      • Delta = maximal displacement length (distance units)
      • +
      • Temp = imposed temperature of the system
      • +
      • seed = random number seed (positive integer)
      • +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = com or rot
      • +
      +
      +com args = xflag yflag zflag
           xflag,yflag,zflag = 0/1 to exclude/include each dimension
      -  rot args = none 
      -
      - -
    -

    Examples: -

    -
    fix 1 all tfmc 0.1 1000.0 159345
    -fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 
    -fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot 
    -
    -

    Description: -

    -

    Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, + rot args = none + +

    +
    +

    Examples¶

    +
    fix 1 all tfmc 0.1 1000.0 159345
    +fix 1 all tfmc 0.05 600.0 658943 com 1 1 0
    +fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot
    +
    +
    +
    +
    +

    Description¶

    +

    Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, using the time-stamped force-bias Monte Carlo (tfMC) algorithm -described in (Mees) and (Bal). -

    -

    One successful use case of force-bias Monte Carlo methods is that they +described in (Mees) and (Bal).

    +

    One successful use case of force-bias Monte Carlo methods is that they can be used to extend the time scale of atomistic simulations, in particular when long time scale relaxation effects must be considered; -some interesting examples are given in the review by (Neyts). +some interesting examples are given in the review by (Neyts). An example of a typical use case would be the modelling of chemical vapour deposition (CVD) processes on a surface, in which impacts by gas-phase species can be performed using MD, but subsequent relaxation @@ -58,9 +170,8 @@ of the surface is too slow to be done using MD only. Using tfMC can allow for a much faster relaxation of the surface, so that higher fluxes can be used, effectively extending the time scale of the simulation. (Such an alternating simulation approach could be set up -using a loop.) -

    -

    The initial version of tfMC algorithm in (Mees) contained an +using a loop.)

    +

    The initial version of tfMC algorithm in (Mees) contained an estimation of the effective time scale of such a simulation, but it was later shown that the speed-up one can gain from a tfMC simulation is system- and process-dependent, ranging from none to several orders @@ -70,99 +181,144 @@ orders of magnitude, whereas diffusion in the liquid phase is not accelerated at all. The observed pseudodynamics when using the tfMC method is not the actual dynamics one would obtain using MD, but the relative importance of processes can match the actual relative -dynamics of the system quite well, provided Delta is chosen with -care. Thus, the system's equilibrium is reached faster than in MD, +dynamics of the system quite well, provided Delta is chosen with +care. Thus, the system’s equilibrium is reached faster than in MD, along a path that is generally roughly similar to a typical MD -simulation (but not necessarily so). See (Bal) for details. -

    -

    Each step, all atoms in the selected group are displaced using the +simulation (but not necessarily so). See (Bal) for details.

    +

    Each step, all atoms in the selected group are displaced using the stochastic tfMC algorithm, which is designed to sample the canonical -(NVT) ensemble at the temperature Temp. Although tfMC is a Monte +(NVT) ensemble at the temperature Temp. Although tfMC is a Monte Carlo algorithm and thus strictly speaking does not perform time integration, it is similar in the sense that it uses the forces on all atoms in order to update their positions. Therefore, it is implemented as a time integration fix, and no other fixes of this type (such as -fix nve) should be used at the same time. Because +fix nve) should be used at the same time. Because velocities do not play a role in this kind of Monte Carlo simulations, -instantaneous temperatures as calculated by temperature -computes or thermodynamic -output have no meaning: the only relevant -temperature is the sampling temperature Temp. Similarly, performing -tfMC simulations does not require setting a timestep -and the simulated time as calculated by LAMMPS is -meaningless. -

    -

    The critical parameter determining the success of a tfMC simulation is -Delta, the maximal displacement length of the lightest element in +instantaneous temperatures as calculated by temperature computes or thermodynamic output have no meaning: the only relevant +temperature is the sampling temperature Temp. Similarly, performing +tfMC simulations does not require setting a timestep +and the simulated time as calculated by LAMMPS is +meaningless.

    +

    The critical parameter determining the success of a tfMC simulation is +Delta, the maximal displacement length of the lightest element in the system: the larger it is, the longer the effective time scale of the simulation will be (there is an approximately quadratic -dependence). However, Delta must also be chosen sufficiently small +dependence). However, Delta must also be chosen sufficiently small in order to comply with detailed balance; in general values between 5 and 10 % of the nearest neighbor distance are found to be a good choice. For a more extensive discussion with specific examples, please -refer to (Bal), which also describes how the code calculates -element-specific maximal displacements from Delta, based on the -fourth root of their mass. -

    -

    Because of the uncorrelated movements of the atoms, the center-of-mass +refer to (Bal), which also describes how the code calculates +element-specific maximal displacements from Delta, based on the +fourth root of their mass.

    +

    Because of the uncorrelated movements of the atoms, the center-of-mass of the fix group will not necessarily be stationary, just like its -orientation. When the com keyword is used, all atom positions will +orientation. When the com keyword is used, all atom positions will be shifted (after every tfMC iteration) in order to fix the position of the center-of-mass along the included directions, by setting the -corresponding flag to 1. The rot keyword does the same for the -rotational component of the tfMC displacements after every iteration. -

    -

    IMPORTANT NOTE: the com and rot keywords should not be used if an +corresponding flag to 1. The rot keyword does the same for the +rotational component of the tfMC displacements after every iteration.

    +
    +

    Warning

    +

    the com and rot keywords should not be used if an external force is acting on the specified fix group, along the included directions. This can be either a true external force (e.g. -through fix wall) or forces due to the interaction +through fix wall) or forces due to the interaction with atoms not included in the fix group. This is because in such cases, translations or rotations of the fix group could be induced by these external forces, and removing them will lead to a violation of -detailed balance. -

    -
    +detailed balance.

    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MC package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +

    This fix is not compatible with fix shake.

    +
    + +
    +

    Default¶

    +

    The option default is com = 0 0 0

    +
    +

    (Bal) K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014).

    +

    (Mees) M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and +A. Stesmans, Phys. Rev. B 85, 134301 (2012).

    +

    (Neyts) E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 +(2013).

    +
    + -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    This fix is not compatible with fix shake. -

    -

    Related commands: -

    -

    fix gcmc, fix nvt -

    -

    Default: -

    -

    The option default is com = 0 0 0 -

    -
    - + + +
    + -

    (Bal) K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014). -

    - +
    -

    (Mees) M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and -A. Stesmans, Phys. Rev. B 85, 134301 (2012). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Neyts) E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 -(2013). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_thermal_conductivity.html b/doc/fix_thermal_conductivity.html index ec5fcc0407..31605861be 100644 --- a/doc/fix_thermal_conductivity.html +++ b/doc/fix_thermal_conductivity.html @@ -1,47 +1,159 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix thermal/conductivity command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix thermal/conductivity command -

    -

    Syntax: -

    -
    fix ID group-ID thermal/conductivity N edim Nbin keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • thermal/conductivity = style name of this fix command - -
    • N = perform kinetic energy exchange every N steps - -
    • edim = x or y or z = direction of kinetic energy transfer - -
    • Nbin = # of layers in edim direction (must be even number) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = swap - -
        swap value = Nswap = number of swaps to perform every N steps 
      -
      - -
    -

    Examples: -

    -
    fix 1 all thermal/conductivity 100 z 20
    -fix 1 all thermal/conductivity 50 z 20 swap 2 
    -
    -

    Description: -

    -

    Use the Muller-Plathe algorithm described in this -paper to exchange kinetic energy between two particles + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix thermal/conductivity command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID thermal/conductivity N edim Nbin keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • thermal/conductivity = style name of this fix command
    • +
    • N = perform kinetic energy exchange every N steps
    • +
    • edim = x or y or z = direction of kinetic energy transfer
    • +
    • Nbin = # of layers in edim direction (must be even number)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = swap
    • +
    +
    +swap value = Nswap = number of swaps to perform every N steps
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all thermal/conductivity 100 z 20
    +fix 1 all thermal/conductivity 50 z 20 swap 2
    +
    +
    +
    +
    +

    Description¶

    +

    Use the Muller-Plathe algorithm described in this paper to exchange kinetic energy between two particles in different regions of the simulation box every N steps. This induces a temperature gradient in the system. As described below this enables the thermal conductivity of a material to be calculated. This @@ -50,18 +162,16 @@ NEMD) approach to computing thermal conductivity. This is because the usual NEMD approach is to impose a temperature gradient on the system and measure the response as the resulting heat flux. In the Muller-Plathe method, the heat flux is imposed, and the temperature -gradient is the system's response. -

    -

    See the compute heat/flux command for details +gradient is the system’s response.

    +

    See the compute heat/flux command for details on how to compute thermal conductivity in an alternate way, via the -Green-Kubo formalism. -

    -

    The simulation box is divided into Nbin layers in the edim +Green-Kubo formalism.

    +

    The simulation box is divided into Nbin layers in the edim direction, where the layer 1 is at the low end of that dimension and -the layer Nbin is at the high end. Every N steps, Nswap pairs of +the layer Nbin is at the high end. Every N steps, Nswap pairs of atoms are chosen in the following manner. Only atoms in the fix group are considered. The hottest Nswap atoms in layer 1 are selected. -Similarly, the coldest Nswap atoms in the "middle" layer (see below) +Similarly, the coldest Nswap atoms in the “middle” layer (see below) are selected. The two sets of Nswap atoms are paired up and their velocities are exchanged. This effectively swaps their kinetic energies, assuming their masses are the same. If the masses are @@ -69,109 +179,157 @@ different, an exchange of velocities relative to center of mass motion of the 2 atoms is performed, to conserve kinetic energy. Over time, this induces a temperature gradient in the system which can be measured using commands such as the following, which writes the -temperature profile (assuming z = edim) to the file tmp.profile: -

    -
    compute   ke all ke/atom
    +temperature profile (assuming z = edim) to the file tmp.profile:

    +
    compute   ke all ke/atom
     variable  temp atom c_ke/1.5
    -fix       3 all ave/spatial 10 100 1000 z lower 0.05 v_temp &
    -            file tmp.profile units reduced 
    -
    -

    Note that by default, Nswap = 1, though this can be changed by the -optional swap keyword. Setting this parameter appropriately, in +fix 3 all ave/spatial 10 100 1000 z lower 0.05 v_temp & + file tmp.profile units reduced +

    +
    +

    Note that by default, Nswap = 1, though this can be changed by the +optional swap keyword. Setting this parameter appropriately, in conjunction with the swap rate N, allows the heat flux to be adjusted across a wide range of values, and the kinetic energy to be exchanged -in large chunks or more smoothly. -

    -

    The "middle" layer for velocity swapping is defined as the Nbin/2 + -1 layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. +in large chunks or more smoothly.

    +

    The “middle” layer for velocity swapping is defined as the Nbin/2 + +1 layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. This should lead to a symmetric temperature profile since the two layers are separated by the same distance in both directions in a -periodic sense. This is why Nbin is restricted to being an even -number. -

    -

    As described below, the total kinetic energy transferred by these +periodic sense. This is why Nbin is restricted to being an even +number.

    +

    As described below, the total kinetic energy transferred by these swaps is computed by the fix and can be output. Dividing this quantity by time and the cross-sectional area of the simulation box yields a heat flux. The ratio of heat flux to the slope of the temperature profile is proportional to the thermal conductivity of the -fluid, in appropriate units. See the Muller-Plathe -paper for details. -

    -

    IMPORTANT NOTE: If your system is periodic in the direction of the +fluid, in appropriate units. See the Muller-Plathe paper for details.

    +
    +

    Warning

    +

    If your system is periodic in the direction of the heat flux, then the flux is going in 2 directions. This means the effective heat flux in one direction is reduced by a factor of 2. You will see this in the equations for thermal conductivity (kappa) in the Muller-Plathe paper. LAMMPS is simply tallying kinetic energy which does not account for whether or not your system is periodic; you must -use the value appropriately to yield a kappa for your system. -

    -

    IMPORTANT NOTE: After equilibration, if the temperature gradient you +use the value appropriately to yield a kappa for your system.

    +
    +
    +

    Warning

    +

    After equilibration, if the temperature gradient you observe is not linear, then you are likely swapping energy too frequently and are not in a regime of linear response. In this case you cannot accurately infer a thermal conductivity and should try -increasing the Nevery parameter. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +increasing the Nevery parameter.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative kinetic energy transferred between the bottom and middle -of the simulation box (in the edim direction) is stored as a scalar +of the simulation box (in the edim direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumlates thereafter, once every N steps. The units of the -quantity are energy; see the units command for details. -The scalar value calculated by this fix is "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Swaps conserve both momentum and kinetic energy, even if the masses of +quantity are energy; see the units command for details. +The scalar value calculated by this fix is “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than vdim). -

    -

    LAMMPS does not check, but you should not use this fix to swap the +apply it only to the non-swapped dimensions (other than vdim).

    +

    LAMMPS does not check, but you should not use this fix to swap the kinetic energy of atoms that are in constrained molecules, e.g. via -fix shake or fix rigid. This is +fix shake or fix rigid. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible -molecules. See the Zhang paper for a discussion and results -of this idea. -

    -

    When running a simulation with large, massive particles or molecules +molecules. See the Zhang paper for a discussion and results +of this idea.

    +

    When running a simulation with large, massive particles or molecules in a background solvent, you may want to only exchange kinetic energy -bewteen solvent particles. -

    -

    Related commands: -

    -

    fix ave/spatial, fix -viscosity, compute -heat/flux -

    -

    Default: -

    -

    The option defaults are swap = 1. -

    -
    +bewteen solvent particles.

    +
    + +
    +

    Default¶

    +

    The option defaults are swap = 1.

    +
    +

    (Muller-Plathe) Muller-Plathe, J Chem Phys, 106, 6082 (1997).

    +

    (Zhang) Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, +109, 15060-15067 (2005).

    +
    +
    - -

    (Muller-Plathe) Muller-Plathe, J Chem Phys, 106, 6082 (1997). -

    - +
    +
    +
    + -

    (Zhang) Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, -109, 15060-15067 (2005). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ti_rs.html b/doc/fix_ti_rs.html index c6f60635ec..64bbf0f477 100644 --- a/doc/fix_ti_rs.html +++ b/doc/fix_ti_rs.html @@ -1,156 +1,298 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ti/rs command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ti/rs command -

    -

    Syntax: -

    -
    fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ti/rs = style name of this fix command - -
    • lambda_initial/lambda_final = initial/final values of the coupling parameter - -
    • t_switch/t_equil = number of steps of the switching/equilibration procedure - -
    • keyword = function - -
        function value = function-ID
      -    function-ID = ID of the switching function (1, 2 or 3) 
      -
      - -
    -

    Example: -

    -
    fix ref all ti/rs 50.0 2000 1000 
    -fix vf vacancy ti/rs 10.0 70000 50000 function 2 
    -
    -

    Description: -

    -

    This fix allows you to compute the free energy temperature dependence + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix ti/rs command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • ti/rs = style name of this fix command
    • +
    • lambda_initial/lambda_final = initial/final values of the coupling parameter
    • +
    • t_switch/t_equil = number of steps of the switching/equilibration procedure
    • +
    • keyword = function
    • +
    +
    +function value = function-ID
    +    function-ID = ID of the switching function (1, 2 or 3)
    +
    +

    Example:

    +
    fix ref all ti/rs 50.0 2000 1000
    +fix vf vacancy ti/rs 10.0 70000 50000 function 2
    +
    +
    +
    +
    +

    Description¶

    +

    This fix allows you to compute the free energy temperature dependence by performing a thermodynamic integration procedure known as -Reversible Scaling (de Koning99, de -Koning00a). The thermodynamic integration is performed +Reversible Scaling (de Koning99, de Koning00a). The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching -(Watanabe, de Koning96). -

    -

    The forces on the atoms are dynamically scaled during the simulation, -the rescaling is done in the following manner: -

    -
    -
    -

    where F_int is the total force on the atoms due to the interatomic +(Watanabe, de Koning96).

    +

    The forces on the atoms are dynamically scaled during the simulation, +the rescaling is done in the following manner:

    +_images/fix_ti_rs_force.jpg +

    where F_int is the total force on the atoms due to the interatomic potential and lambda is the coupling parameter of the thermodynamic -integration. -

    -

    The fix acts as follows: during the first t_equil steps after the -fix is defined the value of lambda is lambda_initial , this is the -period to equilibrate the system in the lambda = lambda_initial +integration.

    +

    The fix acts as follows: during the first t_equil steps after the +fix is defined the value of lambda is lambda_initial , this is the +period to equilibrate the system in the lambda = lambda_initial state. After this the value of lambda changes continuously from -lambda_initial to lambda_final according to the function defined -using the keyword function (described below), this is done in -t_switch steps. Then comes the second equilibration period of -t_equil to equilibrate the system in the lambda = lambda_final -state. After that the switching back to the lambda = lambda_initial -state is done using t_switch timesteps and following the same +lambda_initial to lambda_final according to the function defined +using the keyword function (described below), this is done in +t_switch steps. Then comes the second equilibration period of +t_equil to equilibrate the system in the lambda = lambda_final +state. After that the switching back to the lambda = lambda_initial +state is done using t_switch timesteps and following the same switching function. After this period the value of lambda is kept -equal to lambda_initial indefinitely or until a unfix -erase the fix. -

    -

    The description of thermodynamic integration in both directions is -done in de Koning00b, the main reason is to try to -eliminate the dissipated heat due to the nonequilibrium process. -

    -

    The function keyword allows the use of three different switching -rates. The option 1 results in a constant rescaling where the lambda +equal to lambda_initial indefinitely or until a unfix +erase the fix.

    +

    The description of thermodynamic integration in both directions is +done in de Koning00b, the main reason is to try to +eliminate the dissipated heat due to the nonequilibrium process.

    +

    The function keyword allows the use of three different switching +rates. The option 1 results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time -according to the switching function -

    -
    -
    -

    where tau is the scaled time variable t/t_switch. This switching +according to the switching function

    +_images/fix_ti_rs_function_1.jpg +

    where tau is the scaled time variable t/t_switch. This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the final temperature of the procedure. The -option number 2 performs the switching at a rate defined by the -following switching function -

    -
    -
    -

    This switching function has the characteristic that the temperature +option number 2 performs the switching at a rate defined by the +following switching function

    +_images/fix_ti_rs_function_2.jpg +

    This switching function has the characteristic that the temperature scaling occurs at a constant rate during all the procedure. The option -number 3 performs the switching at a rate defined by the following -switching function -

    -
    -
    -

    This switching function has the characteristic that the temperature +number 3 performs the switching at a rate defined by the following +switching function

    +_images/fix_ti_rs_function_3.jpg +

    This switching function has the characteristic that the temperature scaling is faster at temperatures closer to the initial temperature of -the procedure. -

    -

    An example script using this command is provided in the -examples/USER/misc/ti directory. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    This fix computes a global vector quantitie which can be accessed by -various output commands. The vector has +the procedure.

    +

    An example script using this command is provided in the +examples/USER/misc/ti directory.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    This fix computes a global vector quantitie which can be accessed by +various output commands. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector -values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    Related commands: -

    -

    fix ti/spring -

    -

    Restrictions: -

    -

    This command is part of the USER-MISC package. It is only enabled if -LAMMPS was built with those packages. See the Making -LAMMPS section for more info. -

    -

    Default: -

    -

    The keyword default is function = 1. -

    -
    +values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    + +
    +

    Restrictions¶

    +

    This command is part of the USER-MISC package. It is only enabled if +LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    +
    +
    +

    Default¶

    +

    The keyword default is function = 1.

    +
    +

    (de Koning 99) M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999).

    +

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).

    +

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).

    +

    (de Koning 00a) M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000).

    +

    (de Koning 00b) M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000).

    +
    +
    - -

    (de Koning 99) M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999). -

    - +
    +
    +
    + -

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990). -

    - +
    -

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (de Koning 00a) M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000). -

    - +
    -

    (de Koning 00b) M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000). -

    - +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ti_spring.html b/doc/fix_ti_spring.html index 7aa8255b43..22a08955ea 100644 --- a/doc/fix_ti_spring.html +++ b/doc/fix_ti_spring.html @@ -1,175 +1,322 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ti/spring command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ti/spring command -

    -

    Syntax: -

    -
    fix ID group-ID ti/spring K t_switch t_equil keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ti/spring = style name of this fix command - -
    • K = spring constant (force/distance units) - -
    • t_switch/t_equil = number of steps of the switching/equilibration procedure - -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = function - -
        function value = function-ID 
      -    function-ID = ID of the switching function (1 or 2) 
      -
      - -
    -

    Example: -

    -
    fix ref all ti/spring 50.0 2000 1000 function 2 
    -
    -

    Description: -

    -

    This fix allows you to compute the free energy of solids by performing + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix ti/spring command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID ti/spring K t_switch t_equil keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • ti/spring = style name of this fix command
    • +
    • K = spring constant (force/distance units)
    • +
    • t_switch/t_equil = number of steps of the switching/equilibration procedure
    • +
    • zero or more keyword/value pairs may be appended to args
    • +
    • keyword = function
    • +
    +
    +function value = function-ID
    +    function-ID = ID of the switching function (1 or 2)
    +
    +

    Example:

    +
    fix ref all ti/spring 50.0 2000 1000 function 2
    +
    +
    +
    +
    +

    Description¶

    +

    This fix allows you to compute the free energy of solids by performing a thermodynamic integration between the solid of interest and an -Einstein crystal (Frenkel). The thermodynamic integration +Einstein crystal (Frenkel). The thermodynamic integration is performed using the nonequilibrium method of Adiabatic Switching -(Watanabe, de Koning96). -

    -

    A spring force is applied independently to each atom in the group to +(Watanabe, de Koning96).

    +

    A spring force is applied independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. More details -about the springs are available in fix -spring/self. The forces on the atoms are +about the springs are available in fix spring/self. The forces on the atoms are dynamically scaled during the simulation, the rescaling is done in the -following manner: -

    -
    -
    -

    where F_harm is the force due to the springs, F_solid is the total +following manner:

    +_images/fix_ti_spring_force.jpg +

    where F_harm is the force due to the springs, F_solid is the total force on the atoms due to the interatomic potential and lambda is the -coupling parameter of the thermodynamic integration. -

    -

    The fix acts as follows: during the first t_equil steps after the +coupling parameter of the thermodynamic integration.

    +

    The fix acts as follows: during the first t_equil steps after the fix is defined the value of lambda is zero, this is the period to equilibrate the system in the lambda = 0 state. After this the value of lambda changes continuously from 0 to 1 according to the function -defined using the keyword function (described below), this is done -in t_switch steps. Then comes the second equilibration period of -t_equil to equilibrate the system in the lambda = 1 state. After +defined using the keyword function (described below), this is done +in t_switch steps. Then comes the second equilibration period of +t_equil to equilibrate the system in the lambda = 1 state. After that the switching back to the lambda = 0 state is made using -t_switch timesteps and following the same switching function. After +t_switch timesteps and following the same switching function. After this period the value of lambda is kept equal to zero and the fix has -no action in the dynamics of the system anymore. -

    -

    The description of thermodynamic integration in both directions is -done in de Koning97, the main reason is to try to -eliminate the dissipated heat due to the nonequilibrium process. -

    -

    The function keyword allows the use of two different switching -rates, the option 1 results in a constant rescaling where the lambda +no action in the dynamics of the system anymore.

    +

    The description of thermodynamic integration in both directions is +done in de Koning97, the main reason is to try to +eliminate the dissipated heat due to the nonequilibrium process.

    +

    The function keyword allows the use of two different switching +rates, the option 1 results in a constant rescaling where the lambda parameter changes at a constant rate during the switching time -according to the switching function -

    -
    -
    -

    where tau is the scaled time variable t/t_switch. The option number -2 performs the switching at a rate defined by the following -switching function -

    -
    -
    -

    This function has zero slope as lambda approaches its extreme values -(0 and 1), according to (de Koning96) this results in +according to the switching function

    +_images/fix_ti_spring_function_1.jpg +

    where tau is the scaled time variable t/t_switch. The option number +2 performs the switching at a rate defined by the following +switching function

    +_images/fix_ti_spring_function_2.jpg +

    This function has zero slope as lambda approaches its extreme values +(0 and 1), according to (de Koning96) this results in smaller fluctuations on the integral to be computed on the -thermodynamic integration. -

    -

    IMPORTANT NOTE: It is importante to keep the center of mass fixed +thermodynamic integration.

    +
    +

    Warning

    +

    It is importante to keep the center of mass fixed during the thermodynamic integration, a non-zero total velocity will result in divergencies during the integration due to the fact that the -atoms are 'attatched' to its equilibrium positions by the Einstein -crystal. Check the option zero of fix langevin -and velocity. The use of the Nose-Hoover thermostat -(fix nvt) is NOT recommended due to its well documented +atoms are ‘attatched’ to its equilibrium positions by the Einstein +crystal. Check the option zero of fix langevin +and velocity. The use of the Nose-Hoover thermostat +(fix nvt) is NOT recommended due to its well documented issues with the canonical sampling of harmonic degrees of freedom -(notice that the chain option will NOT solve this problem). The -Langevin thermostat (fix langevin) works fine. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the original coordinates of tethered atoms to binary -restart files, so that the spring effect will be the -same in a restarted simulation. See the read -restart command for info on how to re-specify a fix +(notice that the chain option will NOT solve this problem). The +Langevin thermostat (fix langevin) works fine.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the original coordinates of tethered atoms to binary restart files, so that the spring effect will be the +same in a restarted simulation. See the read restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of -the fix continues in an uninterrupted fashion. -

    -

    The fix modify energy option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of thermodynamic output. -

    -

    This fix computes a global scalar and a global vector quantities which -can be accessed by various output -commands. The scalar is an energy which +the fix continues in an uninterrupted fashion.

    +

    The fix modify energy option is supported by this +fix to add the energy stored in the per-atom springs to the system’s +potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar and a global vector quantities which +can be accessed by various output commands. The scalar is an energy which is the sum of the spring energy for each atom, where the per-atom energy is 0.5 * K * r^2. The vector has 2 positions, the first one is the coupling parameter lambda and the second one is the time derivative of lambda. The scalar and vector values calculated by this -fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the per-atom spring energy to be included +fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being -minimized), you MUST enable the fix modify energy -option for this fix. -

    -

    An example script using this command is provided in the -examples/USER/misc/ti directory. -

    -

    Related commands: -

    -

    fix spring, fix ti/rs -

    -

    Restrictions: -

    -

    This command is part of the USER-MISC package. It is only enabled if -LAMMPS was built with those packages. See the Making -LAMMPS section for more info. -

    -

    Default: -

    -

    The keyword default is function = 1. -

    -
    +minimized), you MUST enable the fix modify energy +option for this fix.

    +
    +

    An example script using this command is provided in the +examples/USER/misc/ti directory.

    +
    + +
    +

    Restrictions¶

    +

    This command is part of the USER-MISC package. It is only enabled if +LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    +
    +
    +

    Default¶

    +

    The keyword default is function = 1.

    +
    +

    (Frenkel) Daan Frenkel and Anthony J. C. Ladd, J. Chem. Phys. 81, 3188 +(1984).

    +

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).

    +

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).

    +

    (de Koning 97) M. de Koning and A. Antonelli, Phys Rev B, 55, 735 (1997).

    +
    +
    - -

    (Frenkel) Daan Frenkel and Anthony J. C. Ladd, J. Chem. Phys. 81, 3188 -(1984). -

    - +
    +
    +
    + -

    (Watanabe) M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990). -

    - +
    -

    (de Koning 96) M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (de Koning 97) M. de Koning and A. Antonelli, Phys Rev B, 55, 735 (1997). -

    - +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_tmd.html b/doc/fix_tmd.html index c365365f4b..789a380e93 100644 --- a/doc/fix_tmd.html +++ b/doc/fix_tmd.html @@ -1,138 +1,298 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix tmd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix tmd command -

    -

    Syntax: -

    -
    fix ID group-ID tmd rho_final file1 N file2 
    -
    -
    • ID, group-ID are documented in fix command -
    • tmd = style name of this fix command -
    • rho_final = desired value of rho at the end of the run (distance units) -
    • file1 = filename to read target structure from -
    • N = dump TMD statistics every this many timesteps, 0 = no dump -
    • file2 = filename to write TMD statistics to (only needed if N > 0) -
    -

    Examples: -

    -
    fix 1 all nve
    -fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file 
    -
    -

    Description: -

    -

    Perform targeted molecular dynamics (TMD) on a group of atoms. A + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix tmd command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID tmd rho_final file1 N file2
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • tmd = style name of this fix command
    • +
    • rho_final = desired value of rho at the end of the run (distance units)
    • +
    • file1 = filename to read target structure from
    • +
    • N = dump TMD statistics every this many timesteps, 0 = no dump
    • +
    • file2 = filename to write TMD statistics to (only needed if N > 0)
    • +
    +
    +
    +

    Examples¶

    +
    fix 1 all nve
    +fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file
    +
    +
    +
    +
    +

    Description¶

    +

    Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or -away from) the target configuration. The parameter "rho" is +away from) the target configuration. The parameter “rho” is monotonically decreased (or increased) from its initial value to -rho_final at the end of the run. -

    -

    Rho has distance units and is a measure of the root-mean-squared +rho_final at the end of the run.

    +

    Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of rho_final = 0.0 means move the atoms all the way to the final -structure during the course of the run. -

    -

    The target file1 can be ASCII text or a gzipped text file (detected by -a .gz suffix). The format of the target file1 is as follows: -

    -
    0.0 25.0 xlo xhi
    +structure during the course of the run.

    +

    The target file1 can be ASCII text or a gzipped text file (detected by +a .gz suffix). The format of the target file1 is as follows:

    +
    0.0 25.0 xlo xhi
     0.0 25.0 ylo yhi
     0.0 25.0 zlo zhi
     125     24.97311   1.69005     23.46956 0 0 -1
     126     1.94691    2.79640     1.92799  1 0 0
     127     0.15906    3.46099     0.79121  1 0 0
    -... 
    -
    -

    The first 3 lines may or may not be needed, depending on the format of +... +

    +
    +

    The first 3 lines may or may not be needed, depending on the format of the atoms to follow. If image flags are included with the atoms, the 1st 3 lo/hi lines must appear in the file. If image flags are not included, the 1st 3 lines should not appear. The 3 lines contain the simulation box dimensions for the atom coordinates, in the same format -as in a LAMMPS data file (see the read_data command). -

    -

    The remaining lines each contain an atom ID and its target x,y,z +as in a LAMMPS data file (see the read_data command).

    +

    The remaining lines each contain an atom ID and its target x,y,z coordinates. The atom lines (all or none of them) can optionally be followed by 3 integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in, i.e. a value of N (positive or negative) means add N times the box length to -the coordinate to get the true value. -

    -

    The atom lines can be listed in any order, but every atom in the group +the coordinate to get the true value.

    +

    The atom lines can be listed in any order, but every atom in the group must be listed in the file. Atoms not in the fix group may also be -listed; they will be ignored. -

    -

    TMD statistics are written to file2 every N timesteps, unless N is -specified as 0, which means no statistics. -

    -

    The atoms in the fix tmd group should be integrated (via a fix nve, -nvt, npt) along with other atoms in the system. -

    -

    Restarts can be used with a fix tmd command. For example, imagine a +listed; they will be ignored.

    +

    TMD statistics are written to file2 every N timesteps, unless N is +specified as 0, which means no statistics.

    +

    The atoms in the fix tmd group should be integrated (via a fix nve, +nvt, npt) along with other atoms in the system.

    +

    Restarts can be used with a fix tmd command. For example, imagine a 10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed -to prevent it being overwritten. -

    -

    For more information about TMD, see (Schlitter1) and -(Schlitter2). -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +to prevent it being overwritten.

    +

    For more information about TMD, see (Schlitter1) and +(Schlitter2).

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. -

    -

    This fix can ramp its rho parameter over multiple runs, using the -start and stop keywords of the run command. See the -run command for details of how to do this. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    All TMD fixes must be listed in the input script after all integrator +by this fix for access by various output commands.

    +

    This fix can ramp its rho parameter over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved -before their positions are corrected to comply with the constraint. -

    -

    Atoms that have a TMD fix applied should not be part of a group to +before their positions are corrected to comply with the constraint.

    +

    Atoms that have a TMD fix applied should not be part of a group to which a SHAKE fix is applied. This is because LAMMPS assumes there are not multiple competing holonomic constraints applied to the same -atoms. -

    -

    To read gzipped target files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making -LAMMPS section of the documentation. -

    -

    Related commands: none -

    -

    Default: none -

    -
    +atoms.

    +

    To read gzipped target files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    +

    Related commands: none

    +

    Default: none

    +
    +

    (Schlitter1) Schlitter, Swegat, Mulders, “Distance-type reaction +coordinates for modelling activated processes”, J Molecular Modeling, +7, 171-177 (2001).

    +

    (Schlitter2) Schlitter and Klahn, “The free energy of a reaction +coordinate at multiple constraints: a concise formulation”, Molecular +Physics, 101, 3439-3443 (2003).

    +
    +
    - -

    (Schlitter1) Schlitter, Swegat, Mulders, "Distance-type reaction -coordinates for modelling activated processes", J Molecular Modeling, -7, 171-177 (2001). -

    - +
    +
    +
    + -

    (Schlitter2) Schlitter and Klahn, "The free energy of a reaction -coordinate at multiple constraints: a concise formulation", Molecular -Physics, 101, 3439-3443 (2003). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_ttm.html b/doc/fix_ttm.html index ff7a396989..fcb4b3b523 100644 --- a/doc/fix_ttm.html +++ b/doc/fix_ttm.html @@ -1,32 +1,147 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix ttm command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix ttm command -

    -

    fix ttm/mod command -

    -

    Syntax: -

    -
    fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile
    -fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style = ttm or ttm_mod - -
    • seed = random number seed to use for white noise (positive integer) - -
    • remaining arguments for fix ttm: - -
        C_e  = electronic specific heat (energy/(electron*temperature) units)
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix ttm command¶

      +
      +
      +

      fix ttm/mod command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile
      +fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style = ttm or ttm_mod
      • +
      • seed = random number seed to use for white noise (positive integer)
      • +
      • remaining arguments for fix ttm:
      • +
      +
      C_e  = electronic specific heat (energy/(electron*temperature) units)
         rho_e = electronic density (electrons/volume units)
         kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units)
         gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
      @@ -37,54 +152,55 @@ fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile
         Nz = number of thermal solve grid points in the z-direction (positive integer)
         T_infile = filename to read initial electronic temperature from
         N = dump TTM temperatures every this many timesteps, 0 = no dump
      -  T_outfile = filename to write TTM temperatures to (only needed if N > 0) 
      -
      -
    • remaining arguments for fix ttm/mod: - -
        init_file = file with the parameters to TTM
      +  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
      +
    • +
      +
        +
      • remaining arguments for fix ttm/mod:
      • +
      +
      init_file = file with the parameters to TTM
         Nx = number of thermal solve grid points in the x-direction (positive integer)
         Ny = number of thermal solve grid points in the y-direction (positive integer)
         Nz = number of thermal solve grid points in the z-direction (positive integer)
         T_infile = filename to read initial electronic temperature from
         N = dump TTM temperatures every this many timesteps, 0 = no dump
      -  T_outfile = filename to write TTM temperatures to (only needed if N > 0) 
      -
      - -
    -

    Examples: -

    -
    fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
    +  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
    +
    + + +
    +

    Examples¶

    +
    fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out
     fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out
    -fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out 
    -
    -

    Description: -

    -

    Use a two-temperature model (TTM) to represent heat transfer through +fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out +

    +
    +
    +
    +

    Description¶

    +

    Use a two-temperature model (TTM) to represent heat transfer through and between electronic and atomic subsystems. LAMMPS models the atomic subsystem as usual with a molecular dynamics model and the classical force field specified by the user, but the electronic -subsystem is modeled as a continuum, or a background "gas", on a +subsystem is modeled as a continuum, or a background “gas”, on a regular grid. Energy can be transferred spatially within the grid representing the electrons. Energy can also be transferred between the electronic and the atomic subsystems. The algorithm underlying this fix was derived by D. M. Duffy and A. M. Rutherford and is -discussed in two J Physics: Condensed Matter papers: (Duffy) -and (Rutherford). They used this algorithm in cascade +discussed in two J Physics: Condensed Matter papers: (Duffy) +and (Rutherford). They used this algorithm in cascade simulations where a primary knock-on atom (PKA) was initialized with a -high velocity to simulate a radiation event. -

    -

    The description in this sub-section applies to both fix ttm and fix +high velocity to simulate a radiation event.

    +

    The description in this sub-section applies to both fix ttm and fix ttm/mod. Fix ttm/mod adds options to account for external heat sources (e.g. at a surface) and for specifying parameters that allow the electronic heat capacity to depend strongly on electronic temperature. It is more expensive computationally than fix ttm because it treats the thermal diffusion equation as non-linear. More -details on fix ttm/mod are given below. -

    -

    Heat transfer between the electronic and atomic subsystems is carried +details on fix ttm/mod are given below.

    +

    Heat transfer between the electronic and atomic subsystems is carried out via an inhomogeneous Langevin thermostat. This thermostat differs -from the regular Langevin thermostat (fix -langevin) in three important ways. First, the +from the regular Langevin thermostat (fix langevin) in three important ways. First, the Langevin thermostat is applied uniformly to all atoms in the user-specified group for a single target temperature, whereas the TTM fix applies Langevin thermostatting locally to atoms within the @@ -95,65 +211,57 @@ reservoir, whereas the heat reservoir for fix TTM is finite and represents the local electrons. Third, the TTM fix allows users to specify not just one friction coefficient, but rather two independent friction coefficients: one for the electron-ion interactions -(gamma_p), and one for electron stopping (gamma_s). -

    -

    When the friction coefficient due to electron stopping, gamma_s, is +(gamma_p), and one for electron stopping (gamma_s).

    +

    When the friction coefficient due to electron stopping, gamma_s, is non-zero, electron stopping effects are included for atoms moving -faster than the electron stopping critical velocity, v_0. For -further details about this algorithm, see (Duffy) and -(Rutherford). -

    -

    Energy transport within the electronic subsystem is solved according +faster than the electron stopping critical velocity, v_0. For +further details about this algorithm, see (Duffy) and +(Rutherford).

    +

    Energy transport within the electronic subsystem is solved according to the heat diffusion equation with added source terms for heat -transfer between the subsystems: -

    -
    -
    -

    where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the "e" and "a" subscripts +transfer between the subsystems:

    +_images/fix_ttm.jpg +

    where C_e is the specific heat, rho_e is the density, kappa_e is the +thermal conductivity, T is temperature, the “e” and “a” subscripts represent electronic and atomic subsystems respectively, g_p is the coupling constant for the electron-ion interaction, and g_s is the electron stopping coupling parameter. C_e, rho_e, and kappa_e are specified as parameters to the fix. The other quantities are derived. The form of the heat diffusion equation used here is almost the same -as that in equation 6 of (Duffy), with the exception that the +as that in equation 6 of (Duffy), with the exception that the electronic density is explicitly reprensented, rather than being part -of the the specific heat parameter. -

    -

    Currently, fix ttm assumes that none of the user-supplied parameters -will vary with temperature. Note that (Duffy) used a tanh() +of the the specific heat parameter.

    +

    Currently, fix ttm assumes that none of the user-supplied parameters +will vary with temperature. Note that (Duffy) used a tanh() functional form for the temperature dependence of the electronic specific heat, but ignored temperature dependencies of any of the -other parameters. See more discussion below for fix ttm/mod. -

    -

    These fixes require use of periodic boundary conditions and a 3D +other parameters. See more discussion below for fix ttm/mod.

    +

    These fixes require use of periodic boundary conditions and a 3D simulation. Periodic boundary conditions are also used in the heat equation solve for the electronic subsystem. This varies from the -approach of (Rutherford) where the atomic subsystem was +approach of (Rutherford) where the atomic subsystem was embedded within a larger continuum representation of the electronic -subsystem. -

    -

    The initial electronic temperature input file, T_infile, is a text +subsystem.

    +

    The initial electronic temperature input file, T_infile, is a text file LAMMPS reads in with no header and with four numeric columns (ix,iy,iz,Temp) and with a number of rows equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node indices from 0 to nxnodes-1, etc. For example, the initial electronic -temperatures on a 1 by 2 by 3 grid could be specified in a T_infile -as follows: -

    -
    0 0 0 1.0
    +temperatures on a 1 by 2 by 3 grid could be specified in a T_infile
    +as follows:

    +
    0 0 0 1.0
     0 0 1 1.0
     0 0 2 1.0
     0 1 0 2.0
     0 1 1 2.0
    -0 1 2 2.0 
    -
    -

    where the electronic temperatures along the y=0 plane have been set to +0 1 2 2.0 +

    + +

    where the electronic temperatures along the y=0 plane have been set to 1.0, and the electronic temperatures along the y=1 plane have been set to 2.0. The order of lines in this file is no important. If all the -nodal values are not specified, LAMMPS will generate an error. -

    -

    The temperature output file, T_oufile, is created and written by +nodal values are not specified, LAMMPS will generate an error.

    +

    The temperature output file, T_oufile, is created and written by this fix. Temperatures for both the electronic and atomic subsystems at every node and every N timesteps are output. If N is specified as zero, no output is generated, and no output filename is needed. The @@ -163,83 +271,66 @@ The next Nx*Ny*Nz columns contain the temperatures for the atomic subsystem, and the final Nx*Ny*Nz columns contain the temperatures for the electronic subsystem. The ordering of the Nx*Ny*Nz columns is with the z index varing fastest, y the next fastest, and x the -slowest. -

    -

    These fixes do not change the coordinates of their atoms; they only -scales their velocities. Thus a time integration fix (e.g. fix -nve) should still be used to time integrate the affected +slowest.

    +

    These fixes do not change the coordinates of their atoms; they only +scales their velocities. Thus a time integration fix (e.g. fix nve) should still be used to time integrate the affected atoms. The fixes should not normally be used on atoms that have their -temperature controlled by another fix - e.g. fix nvt or -fix langevin. -

    -

    IMPORTANT NOTE: The current implementations of these fixes create a +temperature controlled by another fix - e.g. fix nvt or +fix langevin.

    +
    +

    Warning

    +

    The current implementations of these fixes create a copy of the electron grid that overlays the entire simulation domain, for each processor. Values on the grid are summed across all processors. Thus you should insure that this grid is not too large, -else your simulation could incur high memory and communication costs. -

    -
    - -

    Additional details for fix ttm/mod -

    -

    Fix ttm/mod uses the heat diffusion equation with possible external -heat sources (e.g. laser heating in ablation simulations): -

    -
    -
    -

    where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in +else your simulation could incur high memory and communication costs.

    +
    +
    +

    Additional details for fix ttm/mod

    +

    Fix ttm/mod uses the heat diffusion equation with possible external +heat sources (e.g. laser heating in ablation simulations):

    +_images/fix_ttm_mod.jpg +

    where theta is the Heaviside step function, I_0 is the (absorbed) +laser pulse intensity for ablation simulations, l_skin is the depth +of skin-layer, and all other designations have the same meaning as in the former equation. The duration of the pulse is set by the parameter -tau in the init_file. -

    -

    Fix ttm/mod also allows users to specify the dependencies of C_e and +tau in the init_file.

    +

    Fix ttm/mod also allows users to specify the dependencies of C_e and kappa_e on the electronic temperature. The specific heat is expressed -as -

    -
    -
    -

    where X = T_e/1000, and the thermal conductivity is defined as +as

    +_images/fix_ttm_ce.jpg +

    where X = T_e/1000, and the thermal conductivity is defined as kappa_e = D_e*rho_e*C_e, where D_e is the thermal diffusion -coefficient. -

    -

    Electronic pressure effects are included in the TTM model to account +coefficient.

    +

    Electronic pressure effects are included in the TTM model to account for the blast force acting on ions because of electronic pressure -gradient (see (Chen), (Norman)). The total force -acting on an ion is: -

    -
    -
    -

    where F_langevin is a force from Langevin thermostat simulating +gradient (see (Chen), (Norman)). The total force +acting on an ion is:

    +_images/fix_ttm_blast.jpg +

    where F_langevin is a force from Langevin thermostat simulating electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force. -

    -

    The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e -

    -

    The current fix ttm/mod implementation allows TTM simulations with a +force.

    +

    The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e

    +

    The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the surface_movement parameter -in the init_file. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature T_e_min if +allowed to move. It is controlled by the surface_movement parameter +in the init_file. If it is set to 1, then “vacuum” cells can be +changed to “electron-filled” cells with the temperature T_e_min if atoms move into them (currently only implemented for the case of 1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the init_file via lsurface -and rsurface parameters. In this case, electronic pressure gradient -is calculated as -

    -
    -
    -

    where lambda is the electron mean free path (see (Norman), -(Pisarev)) -

    -

    The fix ttm/mod parameter file init_file has the following syntax/ +initial borders of vacuum can be set in the init_file via lsurface +and rsurface parameters. In this case, electronic pressure gradient +is calculated as

    +_images/fix_ttm_blast1.jpg +

    where lambda is the electron mean free path (see (Norman), +(Pisarev))

    +

    The fix ttm/mod parameter file init_file has the following syntax/ Every line with the odd number is considered as a comment and -ignored. The lines with the even numbers are treated as follows: -

    -
    a_0, energy/(temperature*electron) units
    +ignored. The lines with the even numbers are treated as follows:

    +
    a_0, energy/(temperature*electron) units
     a_1, energy/(temperature^2*electron) units
     a_2, energy/(temperature^3*electron) units
     a_3, energy/(temperature^4*electron) units
    @@ -260,31 +351,27 @@ B, dimensionless
     lambda, length units
     n_ion, ions/volume units
     surface_movement: 0 to disable tracking of surface motion, 1 to enable
    -T_e_min, temperature units 
    -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    These fixes write the state of the electronic subsystem and the energy -exchange between the subsystems to binary restart -files. See the read_restart command +T_e_min, temperature units +

    + + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    These fixes write the state of the electronic subsystem and the energy +exchange between the subsystems to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    Because the state of the random number generator is not saved in the -restart files, this means you cannot do "exact" restarts with this +uninterrupted fashion.

    +

    Because the state of the random number generator is not saved in the +restart files, this means you cannot do “exact” restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation -should produce the same behavior. -

    -

    None of the fix_modify options are relevant to these -fixes. -

    -

    Both fixes compute 2 output quantities stored in a vector of length 2, -which can be accessed by various output -commands. The first quantity is the +should produce the same behavior.

    +

    None of the fix_modify options are relevant to these +fixes.

    +

    Both fixes compute 2 output quantities stored in a vector of length 2, +which can be accessed by various output commands. The first quantity is the total energy of the electronic subsystem. The second quantity is the energy transferred from the electronic to the atomic subsystem on that timestep. Note that the velocity verlet integrator applies the fix ttm @@ -294,57 +381,101 @@ Consequently, the change in the atomic subsystem energy is lagged by half a timestep relative to the change in the electronic subsystem energy. As a result of this, users may notice slight fluctuations in the sum of the atomic and electronic subsystem energies reported at -the end of the timestep. -

    -

    The vector values calculated are "extensive". -

    -

    No parameter of the fixes can be used with the start/stop keywords -of the run command. The fixes are not invoked during -energy minimization. -

    -

    Restrictions: -

    -

    Fix ttm is part of the MISC package. It is only enabled if LAMMPS -was built with that package. Fix ttm/mod is part of the USER-MISC +the end of the timestep.

    +

    The vector values calculated are “extensive”.

    +

    No parameter of the fixes can be used with the start/stop keywords +of the run command. The fixes are not invoked during +energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Fix ttm is part of the MISC package. It is only enabled if LAMMPS +was built with that package. Fix ttm/mod is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. -See the Making LAMMPS section for more -info. -

    -

    These fixes can only be used for 3d simulations and orthogonal +See the Making LAMMPS section for more +info.

    +

    These fixes can only be used for 3d simulations and orthogonal simlulation boxes. You must also use periodic -boundary conditions. -

    -

    Related commands: -

    -

    fix langevin, fix dt/reset -

    -

    Default: none -

    -
    +boundary conditions.

    +
    + + - -

    (Duffy) D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, -016207-016218 (2007). -

    - + + +
    + -

    (Rutherford) A M Rutherford and D M Duffy, J. Phys.: -Condens. Matter, 19, 496201-496210 (2007). -

    - +
    -

    (Chen) J Chen, D Tzou and J Beraun, Int. J. Heat -Mass Transfer, 49, 307-316 (2006). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Norman) G E Norman, S V Starikov, V V Stegailov et al., Contrib. -Plasma Phys., 53, 129-139 (2013). -

    - +
    -

    (Pisarev) V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, -475401 (2014). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_tune_kspace.html b/doc/fix_tune_kspace.html index 2b21e12afd..9a6409053e 100644 --- a/doc/fix_tune_kspace.html +++ b/doc/fix_tune_kspace.html @@ -1,109 +1,275 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix tune/kspace command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix tune/kspace command -

    -

    Syntax: -

    -
    fix ID group-ID tune/kspace N 
    -
    -
    • ID, group-ID are documented in fix command - -
    • tune/kspace = style name of this fix command - -
    • N = invoke this fix every N steps - - -
    -

    Examples: -

    -
    fix 2 all tune/kspace 100 
    -
    -

    Description: -

    -

    This fix tests each kspace style (Ewald, PPPM, and MSM), and + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix tune/kspace command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID tune/kspace N
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • tune/kspace = style name of this fix command
    • +
    • N = invoke this fix every N steps
    • +
    +
    +
    +

    Examples¶

    +
    fix 2 all tune/kspace 100
    +
    +
    +
    +
    +

    Description¶

    +

    This fix tests each kspace style (Ewald, PPPM, and MSM), and automatically selects the fastest style to use for the remainder of the run. If the fastest style is Ewald or PPPM, the fix also -adjusts the coulomb cutoff towards optimal speed. Future versions -of this fix will automatically select other kspace parameters -to use for maximum simulation speed. The kspace parameters may -include the style, cutoff, grid points in each direction, order, -Ewald parameter, MSM parallelization cut-point, MPI tasks to use, etc. -

    -

    The rationale for this fix is to provide the user with +adjusts the coulomb cutoff towards optimal speed. Future versions +of this fix will automatically select other kspace parameters +to use for maximum simulation speed. The kspace parameters may +include the style, cutoff, grid points in each direction, order, +Ewald parameter, MSM parallelization cut-point, MPI tasks to use, etc.

    +

    The rationale for this fix is to provide the user with as-fast-as-possible simulations that include long-range electrostatics (kspace) while meeting the user-prescribed accuracy requirement. A simple heuristic could never capture the optimal combination of parameters for every possible run-time scenario. But by performing short tests of various kspace parameter sets, this fix allows -parameters to be tailored specifically to the user's machine, MPI +parameters to be tailored specifically to the user’s machine, MPI ranks, use of threading or accelerators, the simulated system, and the simulation details. In addition, it is possible that parameters could be evolved with the simulation on-the-fly, which is useful for systems that are dynamically evolving (e.g. changes in box size/shape or -number of particles). -

    -

    When this fix is invoked, LAMMPS will perform short timed tests of -various parameter sets to determine the optimal parameters. Tests are +number of particles).

    +

    When this fix is invoked, LAMMPS will perform short timed tests of +various parameter sets to determine the optimal parameters. Tests are performed on-the-fly, with a new test initialized every N steps. N should -be chosen large enough so that adequate CPU time lapses between tests, +be chosen large enough so that adequate CPU time lapses between tests, thereby providing statistically significant timings. But N should not be -chosen to be so large that an unfortunate parameter set test takes an +chosen to be so large that an unfortunate parameter set test takes an inordinate amount of wall time to complete. An N of 100 for most problems -seems reasonable. Once an optimal parameter set is found, that set is -used for the remainder of the run. -

    -

    This fix uses heristics to guide it's selection of parameter sets to test, +seems reasonable. Once an optimal parameter set is found, that set is +used for the remainder of the run.

    +

    This fix uses heristics to guide it’s selection of parameter sets to test, but the actual timed results will be used to decide which set to use in the -simulation. -

    -

    It is not necessary to discard trajectories produced using sub-optimal +simulation.

    +

    It is not necessary to discard trajectories produced using sub-optimal parameter sets, or a mix of various parameter sets, since the user-prescribed accuracy will have been maintained throughout. However, some users may prefer -to use this fix only to discover the optimal parameter set for a given setup -that can then be used on subsequent production runs. -

    -

    This fix starts with kspace parameters that are set by the user with the -kspace_style and kspace_modify -commands. The prescribed accuracy will be maintained by this fix throughout -the simulation. -

    -

    None of the fix_modify options are relevant to this -fix. -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the KSPACE package. It is only enabled if LAMMPS was -built with that package. See the Making -LAMMPS section for more info. -

    -

    Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. -

    -

    Related commands: -

    -

    kspace_style, boundary -kspace_modify, pair_style -lj/cut/coul/long, pair_style -lj/charmm/coul/long, pair_style -lj/long, pair_style -lj/long/coul/long, -pair_style buck/coul/long -

    -

    Default: -

    -
    +to use this fix only to discover the optimal parameter set for a given setup +that can then be used on subsequent production runs.

    +

    This fix starts with kspace parameters that are set by the user with the +kspace_style and kspace_modify +commands. The prescribed accuracy will be maintained by this fix throughout +the simulation.

    +

    None of the fix_modify options are relevant to this +fix.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the KSPACE package. It is only enabled if LAMMPS was +built with that package. See the Making LAMMPS section for more info.

    +

    Do not set “neigh_modify once yes” or else this fix will never be +called. Reneighboring is required.

    +
    + +
    +

    Default¶

    +
    +
    +
    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_vector.html b/doc/fix_vector.html index d35bae9048..62dd1805b4 100644 --- a/doc/fix_vector.html +++ b/doc/fix_vector.html @@ -1,171 +1,331 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix vector command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix vector command -

    -

    Syntax: -

    -
    fix ID group-ID vector Nevery value1 value2 ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • ave/time = style name of this fix command - -
    • Nevery = use input values every this many timesteps - -
    • one or more input values can be listed - -
    • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name - -
        c_ID = global scalar calculated by a compute with ID
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix vector command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID vector Nevery value1 value2 ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • ave/time = style name of this fix command
      • +
      • Nevery = use input values every this many timesteps
      • +
      • one or more input values can be listed
      • +
      • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
      • +
      +
      c_ID = global scalar calculated by a compute with ID
         c_ID[I] = Ith component of global vector calculated by a compute with ID
         f_ID = global scalar calculated by a fix with ID
         f_ID[I] = Ith component of global vector calculated by a fix with ID
      -  v_name = global value calculated by an equal-style variable with name 
      -
      - -
    -

    Examples: -

    -
    fix 1 all vector 100 c_myTemp
    -fix 1 all vector 5 c_myTemp v_integral 
    -
    -

    Description: -

    -

    Use one or more global values as inputs every few timesteps, and + v_name = global value calculated by an equal-style variable with name +

    + + +
    +

    Examples¶

    +
    fix 1 all vector 100 c_myTemp
    +fix 1 all vector 5 c_myTemp v_integral
    +
    +
    +
    +
    +

    Description¶

    +

    Use one or more global values as inputs every few timesteps, and simply store them. For a single specified value, the values are stored as a global vector of growing length. For multiple specified values, they are stored as rows in a global array, whose number of rows is growing. The resulting vector or array can be used by other -output commands. -

    -

    One way to to use this command is to accumulate a vector that is -time-integrated using the variable trap() function. +output commands.

    +

    One way to to use this command is to accumulate a vector that is +time-integrated using the variable trap() function. For example the velocity auto-correlation function (VACF) can be -time-integrated, to yield a diffusion coefficient, as follows: -

    -
    compute         2 all vacf
    +time-integrated, to yield a diffusion coefficient, as follows:

    +
    compute         2 all vacf
     fix             5 all vector 1 c_2[4]
     variable        diff equal dt*trap(f_5)
    -thermo_style    custom step v_diff 
    -
    -

    The group specified with this command is ignored. However, note that +thermo_style custom step v_diff +

    + +

    The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. -

    -

    Each listed value can be the result of a compute or -fix or the evaluation of an equal-style -variable. In each case, the compute, fix, or variable +fixes which store their own “group” definitions.

    +

    Each listed value can be the result of a compute or +fix or the evaluation of an equal-style +variable. In each case, the compute, fix, or variable must produce a global quantity, not a per-atom or local quantity. -And the global quantity must be a scalar, not a vector or array. -

    -

    Computes that produce global quantities are those which -do not have the word atom in their style name. Only a few -fixes produce global quantities. See the doc pages for +And the global quantity must be a scalar, not a vector or array.

    +

    Computes that produce global quantities are those which +do not have the word atom in their style name. Only a few +fixes produce global quantities. See the doc pages for individual fixes for info on which ones produce such values. -Variables of style equal are the only ones that can -be used with this fix. Variables of style atom cannot be used, -since they produce per-atom values. -

    -

    The Nevery argument specifies on what timesteps the input values +Variables of style equal are the only ones that can +be used with this fix. Variables of style atom cannot be used, +since they produce per-atom values.

    +

    The Nevery argument specifies on what timesteps the input values will be used in order to be stored. Only timesteps that are a -multiple of Nevery, including timestep 0, will contribute values. -

    -

    Note that if you perform multiple runs, using the "pre no" option of -the run command to avoid initialization on subsequent runs, -then you need to use the stop keyword with the first run +multiple of Nevery, including timestep 0, will contribute values.

    +

    Note that if you perform multiple runs, using the “pre no” option of +the run command to avoid initialization on subsequent runs, +then you need to use the stop keyword with the first run command with a timestep value that encompasses all the runs. This is so that the vector or array stored by this fix can be allocated to a -sufficient size. -

    -
    - -

    If a value begins with "c_", a compute ID must follow which has been +sufficient size.

    +
    +

    If a value begins with “c_”, a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the compute is used. -

    -

    Note that there is a compute reduce command +calculated by the compute is used.

    +

    Note that there is a compute reduce command which can sum per-atom quantities into a global scalar or vector which can thus be accessed by fix vector. Or it can be a compute defined -not in your input script, but by thermodynamic -output or other fixes such as fix nvt -or fix temp/rescale. See the doc pages for +not in your input script, but by thermodynamic output or other fixes such as fix nvt +or fix temp/rescale. See the doc pages for these commands which give the IDs of these computes. Users can also -write code for their own compute styles and add them to -LAMMPS. -

    -

    If a value begins with "f_", a fix ID must follow which has been +write code for their own compute styles and add them to LAMMPS.

    +

    If a value begins with “f_”, a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the fix is used. If a bracketed term is appended, the Ith element of the global vector -calculated by the fix is used. -

    -

    Note that some fixes only produce their values on certain timesteps, -which must be compatible with Nevery, else an error will result. -Users can also write code for their own fix styles and add them to -LAMMPS. -

    -

    If a value begins with "v_", a variable name must follow which has +calculated by the fix is used.

    +

    Note that some fixes only produce their values on certain timesteps, +which must be compatible with Nevery, else an error will result. +Users can also write code for their own fix styles and add them to LAMMPS.

    +

    If a value begins with “v_”, a variable name must follow which has been previously defined in the input script. Only equal-style -variables can be referenced. See the variable command -for details. Note that variables of style equal define a formula +variables can be referenced. See the variable command +for details. Note that variables of style equal define a formula which can reference individual atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying -quantities to be stored by fix vector. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix produces a global vector or global array which can be -accessed by various output commands. +quantities to be stored by fix vector.

    + +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix produces a global vector or global array which can be +accessed by various output commands. The values can only be accessed on timesteps that are multiples of -Nevery. -

    -

    A vector is produced if only a single input value is specified. +Nevery.

    +

    A vector is produced if only a single input value is specified. An array is produced if multiple input values are specified. The length of the vector or the number of rows in the array grows -by 1 every Nevery timesteps. -

    -

    If the fix prouduces a vector, then the entire vector will be either -"intensive" or "extensive", depending on whether the values stored in -the vector are "intensive" or "extensive". If the fix produces an +by 1 every Nevery timesteps.

    +

    If the fix prouduces a vector, then the entire vector will be either +“intensive” or “extensive”, depending on whether the values stored in +the vector are “intensive” or “extensive”. If the fix produces an array, then all elements in the array must be the same, either -"intensive" or "extensive". If a compute or fix provides the value +“intensive” or “extensive”. If a compute or fix provides the value stored, then the compute or fix determines whether the value is intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive. -

    -

    This fix can allocate storage for stored values accumulated over -multiple runs, using the start and stop keywords of the -run command. See the run command for details of -how to do this. If using the run pre no command option, +further info. Values produced by a variable are treated as intensive.

    +

    This fix can allocate storage for stored values accumulated over +multiple runs, using the start and stop keywords of the +run command. See the run command for details of +how to do this. If using the run pre no command option, this is required to allow the fix to allocate sufficient storage for -stored values. -

    -

    This fix is not invoked during energy minimization. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute, variable -

    -

    Default: none -

    - +stored values.

    +

    This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_viscosity.html b/doc/fix_viscosity.html index eb96df8cb7..12a706717f 100644 --- a/doc/fix_viscosity.html +++ b/doc/fix_viscosity.html @@ -1,50 +1,161 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix viscosity command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix viscosity command -

    -

    Syntax: -

    -
    fix ID group-ID viscosity N vdim pdim Nbin keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • viscosity = style name of this fix command - -
    • N = perform momentum exchange every N steps - -
    • vdim = x or y or z = which momentum component to exchange - -
    • pdim = x or y or z = direction of momentum transfer - -
    • Nbin = # of layers in pdim direction (must be even number) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = swap or target - -
        swap value = Nswap = number of swaps to perform every N steps
      -  vtarget value = V or INF = target velocity of swap partners (velocity units) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all viscosity 100 x z 20
    -fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 
    -
    -

    Description: -

    -

    Use the Muller-Plathe algorithm described in this -paper to exchange momenta between two particles in + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix viscosity command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID viscosity N vdim pdim Nbin keyword value ...
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • viscosity = style name of this fix command
    • +
    • N = perform momentum exchange every N steps
    • +
    • vdim = x or y or z = which momentum component to exchange
    • +
    • pdim = x or y or z = direction of momentum transfer
    • +
    • Nbin = # of layers in pdim direction (must be even number)
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = swap or target
    • +
    +
    +swap value = Nswap = number of swaps to perform every N steps
    +  vtarget value = V or INF = target velocity of swap partners (velocity units)
    +
    +
    +
    +

    Examples¶

    +
    fix 1 all viscosity 100 x z 20
    +fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5
    +
    +
    +
    +
    +

    Description¶

    +

    Use the Muller-Plathe algorithm described in this paper to exchange momenta between two particles in different regions of the simulation box every N steps. This induces a shear velocity profile in the system. As described below this enables a viscosity of the fluid to be calculated. This algorithm is @@ -54,131 +165,175 @@ impose a shear velocity profile on the system and measure the response via an off-diagonal component of the stress tensor, which is proportional to the momentum flux. In the Muller-Plathe method, the momentum flux is imposed, and the shear velocity profile is the -system's response. -

    -

    The simulation box is divided into Nbin layers in the pdim +system’s response.

    +

    The simulation box is divided into Nbin layers in the pdim direction, where the layer 1 is at the low end of that dimension and -the layer Nbin is at the high end. Every N steps, Nswap pairs of +the layer Nbin is at the high end. Every N steps, Nswap pairs of atoms are chosen in the following manner. Only atoms in the fix group are considered. Nswap atoms in layer 1 with positive velocity -components in the vdim direction closest to the target value V are -selected. Similarly, Nswap atoms in the "middle" layer (see below) with -negative velocity components in the vdim direction closest to the -negative of the target value V are selected. The two sets of Nswap -atoms are paired up and their vdim momenta components are swapped +components in the vdim direction closest to the target value V are +selected. Similarly, Nswap atoms in the “middle” layer (see below) with +negative velocity components in the vdim direction closest to the +negative of the target value V are selected. The two sets of Nswap +atoms are paired up and their vdim momenta components are swapped within each pair. This resets their velocities, typically in opposite directions. Over time, this induces a shear velocity profile in the system which can be measured using commands such as the following, -which writes the profile to the file tmp.profile: -

    -
    fix f1 all ave/spatial 100 10 1000 z lower 0.05 vx &
    -    file tmp.profile units reduced 
    -
    -

    Note that by default, Nswap = 1 and vtarget = INF, though this can be -changed by the optional swap and vtarget keywords. When vtarget = +which writes the profile to the file tmp.profile:

    +
    fix f1 all ave/spatial 100 10 1000 z lower 0.05 vx &
    +    file tmp.profile units reduced
    +
    +
    +

    Note that by default, Nswap = 1 and vtarget = INF, though this can be +changed by the optional swap and vtarget keywords. When vtarget = INF, one or more atoms with the most positive and negative velocity components are selected. Setting these parameters appropriately, in conjunction with the swap rate N, allows the momentum flux rate to be adjusted across a wide range of values, and the momenta to be -exchanged in large chunks or more smoothly. -

    -

    The "middle" layer for momenta swapping is defined as the Nbin/2 + 1 -layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. +exchanged in large chunks or more smoothly.

    +

    The “middle” layer for momenta swapping is defined as the Nbin/2 + 1 +layer. Thus if Nbin = 20, the two swapping layers are 1 and 11. This should lead to a symmetric velocity profile since the two layers are separated by the same distance in both directions in a periodic -sense. This is why Nbin is restricted to being an even number. -

    -

    As described below, the total momentum transferred by these velocity +sense. This is why Nbin is restricted to being an even number.

    +

    As described below, the total momentum transferred by these velocity swaps is computed by the fix and can be output. Dividing this quantity by time and the cross-sectional area of the simulation box yields a momentum flux. The ratio of momentum flux to the slope of the shear velocity profile is proportional to the viscosity of the -fluid, in appropriate units. See the Muller-Plathe -paper for details. -

    -

    IMPORTANT NOTE: If your system is periodic in the direction of the +fluid, in appropriate units. See the Muller-Plathe paper for details.

    +
    +

    Warning

    +

    If your system is periodic in the direction of the momentum flux, then the flux is going in 2 directions. This means the effective momentum flux in one direction is reduced by a factor of 2. You will see this in the equations for viscosity in the Muller-Plathe paper. LAMMPS is simply tallying momentum which does not account for whether or not your system is periodic; you must use the value -appropriately to yield a viscosity for your system. -

    -

    IMPORTANT NOTE: After equilibration, if the velocity profile you +appropriately to yield a viscosity for your system.

    +
    +
    +

    Warning

    +

    After equilibration, if the velocity profile you observe is not linear, then you are likely swapping momentum too frequently and are not in a regime of linear response. In this case you cannot accurately infer a viscosity and should try increasing -the Nevery parameter. -

    -

    An alternative method for calculating a viscosity is to run a NEMD -simulation, as described in Section_howto -13 of the manual. NEMD simulations -deform the simmulation box via the fix deform -command. Thus they cannot be run on a charged system using a PPPM -solver since PPPM does not currently support +the Nevery parameter.

    +
    +

    An alternative method for calculating a viscosity is to run a NEMD +simulation, as described in Section_howto 13 of the manual. NEMD simulations +deform the simmulation box via the fix deform +command. Thus they cannot be run on a charged system using a PPPM solver since PPPM does not currently support non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; -thus it does not suffer from this limitation. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global scalar which can be accessed by various -output commands. The scalar is the +thus it does not suffer from this limitation.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global scalar which can be accessed by various +output commands. The scalar is the cummulative momentum transferred between the bottom and middle of the -simulation box (in the pdim direction) is stored as a scalar +simulation box (in the pdim direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumlates thereafter, once every N steps. The units of the quantity are momentum = mass*velocity. The scalar value calculated by -this fix is "intensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Swaps conserve both momentum and kinetic energy, even if the masses of +this fix is “intensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the MISC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Swaps conserve both momentum and kinetic energy, even if the masses of the swapped atoms are not equal. Thus you should not need to thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than vdim). -

    -

    LAMMPS does not check, but you should not use this fix to swap -velocities of atoms that are in constrained molecules, e.g. via fix -shake or fix rigid. This is because +apply it only to the non-swapped dimensions (other than vdim).

    +

    LAMMPS does not check, but you should not use this fix to swap +velocities of atoms that are in constrained molecules, e.g. via fix shake or fix rigid. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible molecules. -See the Maginn paper for an example of using this algorithm -in a computation of alcohol molecule properties. -

    -

    When running a simulation with large, massive particles or molecules +See the Maginn paper for an example of using this algorithm +in a computation of alcohol molecule properties.

    +

    When running a simulation with large, massive particles or molecules in a background solvent, you may want to only exchange momenta bewteen -solvent particles. -

    -

    Related commands: -

    -

    fix ave/spatial, fix -thermal/conductivity -

    -

    Default: -

    -

    The option defaults are swap = 1 and vtarget = INF. -

    -
    +solvent particles.

    +
    + +
    +

    Default¶

    +

    The option defaults are swap = 1 and vtarget = INF.

    +
    +

    (Muller-Plathe) Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999).

    +

    (Maginn) Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, +260, 218-231 (2007).

    +
    +
    - -

    (Muller-Plathe) Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999). -

    - +
    +
    +
    + -

    (Maginn) Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, -260, 218-231 (2007). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_viscous.html b/doc/fix_viscous.html index 9d890a071a..55bae73d16 100644 --- a/doc/fix_viscous.html +++ b/doc/fix_viscous.html @@ -1,45 +1,162 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix viscous command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix viscous command -

    -

    fix viscous/cuda command -

    -

    Syntax: -

    -
    fix ID group-ID viscous gamma keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • viscous = style name of this fix command - -
    • gamma = damping coefficient (force/velocity units) - -
    • zero or more keyword/value pairs may be appended - -
      keyword = scale
      -  scale values = type ratio
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix viscous command¶

      +
      +
      +

      fix viscous/cuda command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID viscous gamma keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • viscous = style name of this fix command
      • +
      • gamma = damping coefficient (force/velocity units)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      +
      +keyword = scale
      +  scale values = type ratio
           type = atom type (1-N)
      -    ratio = factor to scale the damping coefficient by 
      -
      - -
    -

    Examples: -

    -
    fix 1 flow viscous 0.1
    -fix 1 damp viscous 0.5 scale 3 2.5 
    -
    -

    Description: -

    -

    Add a viscous damping force to atoms in the group that is proportional + ratio = factor to scale the damping coefficient by + +

    +
    +

    Examples¶

    +
    fix 1 flow viscous 0.1
    +fix 1 damp viscous 0.5 scale 3 2.5
    +
    +
    +
    +
    +

    Description¶

    +

    Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a frictional interaction with implicit solvent, i.e. the no-slip Stokes drag on a spherical particle. In granular simulations this can be @@ -47,88 +164,139 @@ useful for draining the kinetic energy from the system in a controlled fashion. If used without additional thermostatting (to add kinetic energy to the system), it has the effect of slowly (or rapidly) freezing the system; hence it can also be used as a simple energy -minimization technique. -

    -

    The damping force F is given by F = - gamma * velocity. The larger +minimization technique.

    +

    The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the -optional keyword scale is used, gamma can scaled up or down by the +optional keyword scale is used, gamma can scaled up or down by the specified factor for atoms of that type. It can be used multiple -times to adjust gamma for several atom types. -

    -

    IMPORTANT NOTE: You should specify gamma in force/velocity units. +times to adjust gamma for several atom types.

    +
    +

    Warning

    +

    You should specify gamma in force/velocity units. This is not the same as mass/time units, at least for some of the -LAMMPS units options like "real" or "metal" that are not -self-consistent. -

    -

    In a Brownian dynamics context, gamma = Kb T / D, where Kb = -Boltzmann's constant, T = temperature, and D = particle diffusion +LAMMPS units options like “real” or “metal” that are not +self-consistent.

    +
    +

    In a Brownian dynamics context, gamma = Kb T / D, where Kb = +Boltzmann’s constant, T = temperature, and D = particle diffusion coefficient. D can be written as Kb T / (3 pi eta d), where eta = dynamic viscosity of the frictional fluid and d = diameter of particle. This means gamma = 3 pi eta d, and thus is proportional to -the viscosity of the fluid and the particle diameter. -

    -

    In the current implementation, rather than have the user specify a +the viscosity of the fluid and the particle diameter.

    +

    In the current implementation, rather than have the user specify a viscosity, gamma is specified directly in force/velocity units. If needed, gamma can be adjusted for atoms of different sizes -(i.e. sigma) by using the scale keyword. -

    -

    Note that Brownian dynamics models also typically include a randomized -force term to thermostat the system at a chosen temperature. The fix -langevin command does this. It has the same +(i.e. sigma) by using the scale keyword.

    +

    Note that Brownian dynamics models also typically include a randomized +force term to thermostat the system at a chosen temperature. The fix langevin command does this. It has the same viscous damping term as fix viscous and adds a random force to each atom. The random force term is proportional to the sqrt of the chosen thermostatting temperature. Thus if you use fix langevin with a target T = 0, its random force term is zero, and you are essentially performing the same operation as fix viscous. Also note that the -gamma of fix viscous is related to the damping parameter of fix -langevin, however the former is specified in units +gamma of fix viscous is related to the damping parameter of fix langevin, however the former is specified in units of force/velocity and the latter in units of time, so that it can more -easily be used as a thermostat. -

    -
    - -

    Styles with a cuda suffix are functionally the same as the +easily be used as a thermostat.

    +
    +

    Styles with a cuda 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 in -Section_accelerate of the manual. The +Section_accelerate of the manual. 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 USER-CUDA package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. This fix should only +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the min_style command -for details. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix langevin -

    -

    Default: none -

    - +non-conservative forces. See the min_style command +for details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall.html b/doc/fix_wall.html index 891863492f..153b9590b7 100644 --- a/doc/fix_wall.html +++ b/doc/fix_wall.html @@ -1,213 +1,313 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/lj93 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/lj93 command -

    -

    fix wall/lj126 command -

    -

    fix wall/lj1043 command -

    -

    fix wall/colloid command -

    -

    fix wall/harmonic command -

    -

    Syntax: -

    -
    fix ID group-ID style face args ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • style = wall/lj93 or wall/lj126 or wall/lj1043 or wall/colloid or wall/harmonic - -
    • one or more face/arg pairs may be appended - -
    • face = xlo or xhi or ylo or yhi or zlo or zhi - -
        args = coord epsilon sigma cutoff
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix wall/lj93 command¶

      +
      +
      +

      fix wall/lj126 command¶

      +
      +
      +

      fix wall/lj1043 command¶

      +
      +
      +

      fix wall/colloid command¶

      +
      +
      +

      fix wall/harmonic command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID style face args ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • style = wall/lj93 or wall/lj126 or wall/lj1043 or wall/colloid or wall/harmonic
      • +
      • one or more face/arg pairs may be appended
      • +
      • face = xlo or xhi or ylo or yhi or zlo or zhi
      • +
      +
      +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)
      -      variable = equal-style variable like v_x or v_wiggle
      +      variable = equal-style variable like v_x or v_wiggle
           epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
             epsilon can be a variable (see below)
           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) 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = units or fld - -
        units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units
      -  fld value = yes or no
      -    yes = invoke the wall constraint to be compatible with implicit FLD
      -    no = invoke the wall constraint in the normal way
      -  pbc value = yes or no
      -    yes = allow periodic boundary in a wall dimension
      -    no = require non-perioidic boundaries in any wall dimension 
      -
      - -
    -

    Examples: -

    -
    fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box
    +    cutoff = distance from wall at which wall-particle interaction is cut off (distance units)
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units or fld
    • +
    +
    +units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +  fld value = yes or no
    +    yes = invoke the wall constraint to be compatible with implicit FLD
    +    no = invoke the wall constraint in the normal way
    +  pbc value = yes or no
    +    yes = allow periodic boundary in a wall dimension
    +    no = require non-perioidic boundaries in any wall dimension
    +
    +
    +
    +

    Examples¶

    +
    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/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 
    -
    -

    Description: -

    -

    Bound the simulation domain on one or more of its faces with a flat +fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 +

    +
    +
    +
    +

    Description¶

    +

    Bound the simulation domain on one or more of its faces with a flat wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of -wall-particle interactions depends on the style. -

    -

    For style wall/lj93, the energy E is given by the 9/3 potential: -

    -
    -
    -

    For style wall/lj126, the energy E is given by the 12/6 potential: -

    -
    -
    -

    For style wall/lj1043, the energy E is given by the 10/4/3 potential: -

    -
    -
    -

    For style wall/colloid, the energy E is given by an integrated form -of the pair_style colloid potential: -

    -
    -
    -

    For style wall/harmonic, the energy E is given by a harmonic spring -potential: -

    -
    -
    -

    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 +wall-particle interactions depends on the style.

    +

    For style wall/lj93, the energy E is given by the 9/3 potential:

    +_images/fix_wall_lj93.jpg +

    For style wall/lj126, the energy E is given by the 12/6 potential:

    +_images/pair_lj.jpg +

    For style wall/lj1043, the energy E is given by the 10/4/3 potential:

    +_images/fix_wall_lj1043.jpg +

    For style wall/colloid, the energy E is given by an integrated form +of the pair_style colloid potential:

    +_images/fix_wall_colloid.jpg +

    For style wall/harmonic, the energy E is given by a harmonic spring +potential:

    +_images/fix_wall_harmonic.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 potential is shifted so that the wall-particle interaction energy is -0.0 at the cutoff distance. -

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face interacts with +0.0 at the cutoff distance.

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face interacts with particles near the lower side of the simulation box in that dimension. -A hi face interacts with particles near the upper side of the -simulation box in that dimension. -

    -

    The position of each wall can be specified in one of 3 ways: as the +A hi face interacts with particles near the upper side of the +simulation box in that dimension.

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. See examples below. -

    -

    For the wall/lj93 and wall/lj126 and wall/lj1043 styles, -epsilon and sigma are the usual Lennard-Jones parameters, which +specify a time-dependent wall position. See examples below.

    +

    For the wall/lj93 and wall/lj126 and wall/lj1043 styles, +epsilon and sigma are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with -the wall. Epsilon has energy units. Note that this epsilon and -sigma may be different than any epsilon or sigma values defined -for a pair style that computes particle-particle interactions. -

    -

    The wall/lj93 interaction is derived by integrating over a 3d -half-lattice of Lennard-Jones 12/6 particles. The wall/lj126 +the wall. Epsilon has energy units. Note that this epsilon and +sigma may be different than any epsilon or sigma values defined +for a pair style that computes particle-particle interactions.

    +

    The wall/lj93 interaction is derived by integrating over a 3d +half-lattice of Lennard-Jones 12/6 particles. The wall/lj126 interaction is effectively a harder, more repulsive wall interaction. -The wall/lj1043 interaction is yet a different form of wall -interaction, described in Magda et al in (Magda). -

    -

    For the wall/colloid style, R is the radius of the colloid -particle, D is the distance from the surface of the colloid particle -to the wall (r-R), and sigma is the size of a constituent LJ +The wall/lj1043 interaction is yet a different form of wall +interaction, described in Magda et al in (Magda).

    +

    For the wall/colloid style, R is the radius of the colloid +particle, D is the distance from the surface of the colloid particle +to the wall (r-R), and sigma is the size of a constituent LJ particle inside the colloid particle and wall. Note that the cutoff distance Rc in this case is the distance from the colloid particle -center to the wall. The prefactor epsilon can be thought of as an +center to the wall. The prefactor epsilon can be thought of as an effective Hamaker constant with energy units for the strength of the -colloid-wall interaction. More specifically, the epsilon pre-factor +colloid-wall interaction. More specifically, the epsilon pre-factor = 4 * pi^2 * rho_wall * rho_colloid * epsilon * sigma^6, where epsilon and sigma are the LJ parameters for the constituent LJ particles. Rho_wall and rho_colloid are the number density of the constituent particles, in the wall and colloid respectively, in units -of 1/volume. -

    -

    The wall/colloid interaction is derived by integrating over -constituent LJ particles of size sigma within the colloid particle -and a 3d half-lattice of Lennard-Jones 12/6 particles of size sigma +of 1/volume.

    +

    The wall/colloid interaction is derived by integrating over +constituent LJ particles of size sigma within the colloid particle +and a 3d half-lattice of Lennard-Jones 12/6 particles of size sigma in the wall. As mentioned in the preceeding paragraph, the density of particles in the wall and colloid can be different, as specified by -the epsilon pre-factor. -

    -

    For the wall/harmonic style, epsilon is effectively the spring +the epsilon pre-factor.

    +

    For the wall/harmonic style, epsilon is effectively the spring constant K, and has units (energy/distance^2). The input parameter -sigma is ignored. The minimum energy position of the harmonic -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 -as an equal-style variable, in which case it should be +sigma is ignored. The minimum energy position of the harmonic +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 +as an equal-style variable, 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 the result becomes the current epsilon or sigma of the wall. Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent wall interaction. -

    -

    IMPORTANT NOTE: For all of the styles, you must insure that r is -always > 0 for all particles in the group, or LAMMPS will generate an +time. Thus it is easy to specify a time-dependent wall interaction.

    +
    +

    Warning

    +

    For all of the styles, you must insure that r is +always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles at -the wall position coord (r = 0) or with particles on the wrong side -of the wall (r < 0). For the wall/lj93 and wall/lj126 styles, the +the wall position coord (r = 0) or with particles on the wrong side +of the wall (r < 0). For the wall/lj93 and wall/lj126 styles, the energy of the wall/particle interaction (and hence the force on the -particle) blows up as r -> 0. The wall/colloid style is even more -restrictive, since the energy blows up as D = r-R -> 0. This means +particle) blows up as r -> 0. The wall/colloid style is even more +restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger than R -from the wall position coord. The harmonic style is a softer -potential and does not blow up as r -> 0, but you must use a large -enough epsilon that particles always reamin on the correct side of -the wall (r > 0). -

    -

    The units keyword determines the meaning of the distance units used +from the wall position coord. The harmonic style is a softer +potential and does not blow up as r -> 0, but you must use a large +enough epsilon that particles always reamin on the correct side of +the wall (r > 0).

    +
    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to -produce a value compatible with the units setting you specify. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings. -

    -

    The fld keyword can be used with a yes setting to invoke the wall +produce a value compatible with the units setting you specify.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings.

    +

    The fld keyword can be used with a yes setting to invoke the wall constraint before pairwise interactions are computed. This allows an -implicit FLD model using pair_style lubricateU +implicit FLD model using pair_style lubricateU to include the wall force in its calculations. If the setting is -no, wall forces are imposed after pairwise interactions, in the -usual manner. -

    -

    The pbc keyword can be used with a yes setting to allow walls to +no, wall forces are imposed after pairwise interactions, in the +usual manner.

    +

    The pbc keyword can be used with a yes setting to allow walls to be specified in a periodic dimension. See the -boundary command for options on simulation box -boundaries. The default for pbc is no, which means the system +boundary command for options on simulation box +boundaries. The default for pbc is no, which means the system must be non-periodic when using a wall. But you may wish to use a periodic box. E.g. to allow some particles to interact with the wall via the fix group-ID, and others to pass through it and wrap around a @@ -215,96 +315,154 @@ periodic box. In this case you should insure that the wall if sufficiently far enough away from the box boundary. If you do not, then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you -want. -

    -
    - -

    Here are examples of variable definitions that move the wall position +want.

    +
    +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables. The wall interaction parameters (epsilon, -sigma) could be varied with additional variable definitions. -

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall xlo v_ramp 1.0 1.0 2.5 
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall xlo v_linear 1.0 1.0 2.5 
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables. The wall interaction parameters (epsilon, +sigma) could be varied with additional variable definitions.

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall xlo v_ramp 1.0 1.0 2.5
    +
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall xlo v_linear 1.0 1.0 2.5
    +
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall xlo v_wiggle 1.0 1.0 2.5
    +
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall xlo v_wiggle 1.0 1.0 2.5
    +
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time. -

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time.

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: -

    -
    position = c0 + A sin(omega*delta) 
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period:

    +
    position = c0 + A sin(omega*delta)
    +
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles: -

    -
    position = c0 + A (1 - cos(omega*delta)) 
    -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +perturbation on the particles:

    +
    position = c0 + A (1 - cos(omega*delta))
    +
    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and each wall to -the system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar energy and a global vector of -forces, which can be accessed by various output -commands. Note that the scalar energy is +the system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar energy and a global vector of +forces, which can be accessed by various output commands. Note that the scalar energy is the sum of interactions with all defined walls. If you want the energy on a per-wall basis, you need to use multiple fix wall commands. The length of the vector is equal to the number of walls defined by the fix. Each vector value is the normal force on a specific wall. Note that an outward force on a wall will be a -negative value for lo walls and a positive value for hi walls. -The scalar and vector values calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the atom/wall interaction energy to be +negative value for lo walls and a positive value for hi walls. +The scalar and vector values calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you MUST enable the fix_modify -energy option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix wall/reflect, -fix wall/gran, -fix wall/region -

    -

    Default: -

    -

    The option defaults units = lattice, fld = no, and pbc = no. -

    -
    +being minimized), you MUST enable the fix_modify +energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults units = lattice, fld = no, and pbc = no.

    +
    +

    (Magda) Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); +erratum in JCP 84, 2901 (1986).

    +
    + - -

    (Magda) Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); -erratum in JCP 84, 2901 (1986). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html index 032beac914..3e30a61499 100644 --- a/doc/fix_wall_gran.html +++ b/doc/fix_wall_gran.html @@ -1,84 +1,193 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/gran command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/gran command -

    -

    Syntax: -

    -
    fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • wall/gran = style name of this fix command - -
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - -
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - -
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - -
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - -
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - -
    • dampflag = 0 or 1 if tangential damping force is excluded or included - -
    • wallstyle = xplane or yplane or zplane or zcylinder - -
    • args = list of arguments for a particular style - -
        xplane or yplane or zplane args = lo hi
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix wall/gran command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • wall/gran = style name of this fix command
      • +
      • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
      • +
      • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
      • +
      • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
      • +
      • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
      • +
      • xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
      • +
      • dampflag = 0 or 1 if tangential damping force is excluded or included
      • +
      • wallstyle = xplane or yplane or zplane or zcylinder
      • +
      • args = list of arguments for a particular style
      • +
      +
      +xplane or yplane or zplane args = lo hi
           lo,hi = position of lower and upper plane (distance units), either can be NULL)
      -  zcylinder args = radius
      -    radius = cylinder radius (distance units) 
      -
      -
    • zero or more keyword/value pairs may be appended to args - -
    • keyword = wiggle or shear - -
        wiggle values = dim amplitude period
      -    dim = x or y or z
      +  zcylinder args = radius
      +    radius = cylinder radius (distance units)
      +
      +
        +
      • zero or more keyword/value pairs may be appended to args
      • +
      • keyword = wiggle or shear
      • +
      +
      +wiggle values = dim amplitude period
      +    dim = x or y or z
           amplitude = size of oscillation (distance units)
           period = time of oscillation (time units)
      -  shear values = dim vshear
      -    dim = x or y or z
      -    vshear = magnitude of shear velocity (velocity units) 
      -
      - -
    -

    Examples: -

    -
    fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 
    -fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL 
    -fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 
    -
    -

    Description: -

    -

    Bound the simulation domain of a granular system with a frictional + shear values = dim vshear + dim = x or y or z + vshear = magnitude of shear velocity (velocity units) + +

    +
    +

    Examples¶

    +
    fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
    +fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
    +fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
    +
    +
    +
    +
    +

    Description¶

    +

    Bound the simulation domain of a granular system with a frictional wall. All particles in the group interact with the wall when they are -close enough to touch it. -

    -

    The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and +close enough to touch it.

    +

    The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and dampflag) have the same meaning as those specified with the -pair_style granular force fields. This means a NULL +pair_style granular force fields. This means a NULL can be used for either Kt or gamma_t as described on that page. If a NULL is used for Kt, then a default value is used where Kt = 2/7 Kn. If a NULL is used for gamma_t, then a default value is used where -gamma_t = 1/2 gamma_n. -

    -

    The nature of the wall/particle interactions are determined by which -pair_style is used in your input script: hooke, hooke/history, or -hertz/history. The equation for the force between the wall and +gamma_t = 1/2 gamma_n.

    +

    The nature of the wall/particle interactions are determined by which +pair_style is used in your input script: hooke, hooke/history, or +hertz/history. The equation for the force between the wall and particles touching it is the same as the corresponding equation on the -pair_style granular doc page, in the limit of one of +pair_style granular doc page, in the limit of one of the two particles going to infinite radius and mass (flat wall). I.e. delta = radius - r = overlap of particle with wall, m_eff = mass of particle, and sqrt(RiRj/Ri+Rj) becomes sqrt(radius of particle). @@ -87,10 +196,10 @@ doc page. The meaning of xmu and dampflag are also as described on that page. Note that you can choose different values for these 6 wall/particle coefficients than for particle/particle interactions, if you wish your wall to interact differently with the particles, e.g. if -the wall is a different material. -

    -

    IMPORTANT NOTE: As discussed on the doc page for pair_style -granular, versions of LAMMPS before 9Jan09 used a +the wall is a different material.

    +
    +

    Warning

    +

    As discussed on the doc page for pair_style granular, versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a sqrt(radius) term which was not present before. Also the previous @@ -101,76 +210,131 @@ appropriately in the current code to reproduce the results of a prevoius Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, Kn, Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were -previously. -

    -

    The wallstyle can be planar or cylindrical. The 3 planar options +previously.

    +
    +

    The wallstyle can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by -lo and hi. Either of the values can be specified as NULL if a -single wall is desired. For a zcylinder wallstyle, the cylinder's -axis is at x = y = 0.0, and the radius of the cylinder is specified. -

    -

    Optionally, the wall can be moving, if the wiggle or shear -keywords are appended. Both keywords cannot be used together. -

    -

    For the wiggle keyword, the wall oscillates sinusoidally, similar to +lo and hi. Either of the values can be specified as NULL if a +single wall is desired. For a zcylinder wallstyle, the cylinder’s +axis is at x = y = 0.0, and the radius of the cylinder is specified.

    +

    Optionally, the wall can be moving, if the wiggle or shear +keywords are appended. Both keywords cannot be used together.

    +

    For the wiggle keyword, the wall oscillates sinusoidally, similar to the oscillations of particles which can be specified by the -fix_move command. This is useful in packing -simulations of granular particles. The arguments to the wiggle -keyword specify a dimension for the motion, as well as it's -amplitude and period. Note that if the dimension is in the plane +fix_move command. This is useful in packing +simulations of granular particles. The arguments to the wiggle +keyword specify a dimension for the motion, as well as it’s +amplitude and period. Note that if the dimension is in the plane of the wall, this is effectively a shearing motion. If the dimension is perpendicular to the wall, it is more of a shaking motion. A -zcylinder wall can only be wiggled in the z dimension. -

    -

    Each timestep, the position of a wiggled wall in the appropriate dim -is set according to this equation: -

    -
    position = coord + A - A cos (omega * delta) 
    -
    -

    where coord is the specified initial position of the wall, A is -the amplitude, omega is 2 PI / period, and delta is the time +zcylinder wall can only be wiggled in the z dimension.

    +

    Each timestep, the position of a wiggled wall in the appropriate dim +is set according to this equation:

    +
    position = coord + A - A cos (omega * delta)
    +
    +
    +

    where coord is the specified initial position of the wall, A is +the amplitude, omega is 2 PI / period, and delta is the time elapsed since the fix was specified. The velocity of the wall is set -to the derivative of this expression. -

    -

    For the shear keyword, the wall moves continuously in the specified -dimension with velocity vshear. The dimension must be tangential to -walls with a planar wallstyle, e.g. in the y or z directions for -an xplane wall. For zcylinder walls, a dimension of z means the -cylinder is moving in the z-direction along it's axis. A dimension of -x or y means the cylinder is spinning around the z-axis, either in -the clockwise direction for vshear > 0 or counter-clockwise for -vshear < 0. In this case, vshear is the tangential velocity of -the wall at whatever radius has been defined. -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    This fix writes the shear friction state of atoms interacting with the -wall to binary restart files, so that a simulation can -continue correctly if granular potentials with shear "history" effects -are being used. See the read_restart command for +to the derivative of this expression.

    +

    For the shear keyword, the wall moves continuously in the specified +dimension with velocity vshear. The dimension must be tangential to +walls with a planar wallstyle, e.g. in the y or z directions for +an xplane wall. For zcylinder walls, a dimension of z means the +cylinder is moving in the z-direction along it’s axis. A dimension of +x or y means the cylinder is spinning around the z-axis, either in +the clockwise direction for vshear > 0 or counter-clockwise for +vshear < 0. In this case, vshear is the tangential velocity of +the wall at whatever radius has been defined.

    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    This fix writes the shear friction state of atoms interacting with the +wall to binary restart files, so that a simulation can +continue correctly if granular potentials with shear “history” effects +are being used. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. -

    -

    None of the fix_modify options are relevant to this +uninterrupted fashion.

    +

    None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various output commands. No -parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    This fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Any dimension (xyz) that has a granular wall must be non-periodic. -

    -

    Related commands: -

    -

    fix_move, pair_style granular -

    -

    Default: none -

    - +access by various output commands. No +parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix is part of the GRANULAR package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Any dimension (xyz) that has a granular wall must be non-periodic.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall_piston.html b/doc/fix_wall_piston.html index b76361ce91..ba0204f5e6 100644 --- a/doc/fix_wall_piston.html +++ b/doc/fix_wall_piston.html @@ -1,131 +1,295 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/piston command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/piston command -

    -

    Syntax: -

    -
    fix ID group-ID wall/piston face ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • wall/piston = style name of this fix command - -
    • face = zlo - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = pos or vel or ramp or units - -
        pos args = z
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix wall/piston command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID wall/piston face ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • wall/piston = style name of this fix command
      • +
      • face = zlo
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = pos or vel or ramp or units
      • +
      +
      +pos args = z
           z = z coordinate at which the piston begins (distance units)
      -  vel args = vz
      +  vel args = vz
           vz = final velocity of the piston (velocity units)
      -  ramp = use a linear velocity ramp from 0 to vz
      -  temp args = target damp seed extent
      +  ramp = use a linear velocity ramp from 0 to vz
      +  temp args = target damp seed extent
           target = target velocity for region immediately ahead of the piston
           damp = damping paramter (time units)
           seed = random number seed for langevin kicks
           extent = extent of thermostated region (distance units)
      -  units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix xwalls all wall/piston zlo
    +  units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix xwalls all wall/piston zlo
     fix walls all wall/piston zlo pos 1.0 vel 10.0 units box
    -fix top all wall/piston zlo vel 10.0 ramp 
    -
    -

    Description: -

    -

    Bound the simulation with a moving wall which reflect particles in the +fix top all wall/piston zlo vel 10.0 ramp +

    +
    +
    +
    +

    Description¶

    +

    Bound the simulation with a moving wall which reflect particles in the specified group and drive the system with an effective infinite-mass -piston capable of driving shock waves. -

    -

    A momentum mirror technique is used, which means that if an atom (or +piston capable of driving shock waves.

    +

    A momentum mirror technique is used, which means that if an atom (or the wall) moves such that an atom is outside the wall on a timestep by -a distance delta (e.g. due to fix nve), then it is put +a distance delta (e.g. due to fix nve), then it is put back inside the face by the same delta, and the velocity relative to the moving wall is flipped in z. For instance, a stationary particle hit with a piston wall with velocity vz, will end the timestep with a -velocity of 2*vz. -

    -

    Currently the face keyword can only be zlo. This creates a piston +velocity of 2*vz.

    +

    Currently the face keyword can only be zlo. This creates a piston moving in the positive z direction. Particles with z coordinate less than the wall position are reflected to a z coordinate greater than the wall position. If the piston velocity is vpz and the particle velocity before reflection is vzi, the particle velocity after -reflection is -vzi + 2*vpz. -

    -

    The initial position of the wall can be specified by the pos keyword. -

    -

    The final velocity of the wall can be specified by the vel keyword -

    -

    The ramp keyword will cause the wall/piston to adjust the velocity -linearly from zero velocity to vel over the course of the run. If -the ramp keyword is omitted then the wall/piston moves at a constant -velocity defined by vel. -

    -

    The temp keyword will cause the region immediately in front of the +reflection is -vzi + 2*vpz.

    +

    The initial position of the wall can be specified by the pos keyword.

    +

    The final velocity of the wall can be specified by the vel keyword

    +

    The ramp keyword will cause the wall/piston to adjust the velocity +linearly from zero velocity to vel over the course of the run. If +the ramp keyword is omitted then the wall/piston moves at a constant +velocity defined by vel.

    +

    The temp keyword will cause the region immediately in front of the wall/piston to be thermostated with a Langevin thermostat. This region moves with the piston. The damping and kicking are measured in the reference frame of the piston. So, a temperature of zero would mean all particles were moving at exactly the speed of the -wall/piston. -

    -

    The units keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant is used. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings. -

    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +wall/piston.

    +

    The units keyword determines the meaning of the distance units used +to define a wall position, but only when a numeric constant is used.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings.

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The face that has the wall/piston must be boundary type 's' -(shrink-wrapped). The opposing face can be -any boundary type other than periodic. -

    -

    A wall/piston should not be used with rigid bodies such as those -defined by a "fix rigid" command. This is because the wall/piston -displaces atoms directly rather than exerting a force on them. -

    -

    Related commands: -

    -

    fix wall/reflect command, fix -append/atoms command -

    -

    Default: -

    -

    The keyword defaults are pos = 0, vel = 0, units = lattice. -

    - +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The face that has the wall/piston must be boundary type ‘s’ +(shrink-wrapped). The opposing face can be +any boundary type other than periodic.

    +

    A wall/piston should not be used with rigid bodies such as those +defined by a “fix rigid” command. This is because the wall/piston +displaces atoms directly rather than exerting a force on them.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are pos = 0, vel = 0, units = lattice.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html index 8e87e80db5..6fecb8dc52 100644 --- a/doc/fix_wall_reflect.html +++ b/doc/fix_wall_reflect.html @@ -1,174 +1,339 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/reflect command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/reflect command -

    -

    Syntax: -

    -
    fix ID group-ID wall/reflect face arg ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • wall/reflect = style name of this fix command - -
    • one or more face/arg pairs may be appended - -
    • face = xlo or xhi or ylo or yhi or zlo or zhi - -
        xlo,ylo,zlo arg = EDGE or constant or variable
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix wall/reflect command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID wall/reflect face arg ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • wall/reflect = style name of this fix command
      • +
      • one or more face/arg pairs may be appended
      • +
      • face = xlo or xhi or ylo or yhi or zlo or zhi
      • +
      +
      +xlo,*ylo*,*zlo* arg = EDGE or constant or variable
           EDGE = current lo edge of simulation box
           constant = number like 0.0 or -30.0 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -  xhi,yhi,zhi arg = EDGE or constant or variable
      +    variable = equal-style variable like v_x or v_wiggle
      +  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
           EDGE = current hi edge of simulation box
           constant = number like 50.0 or 100.3 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = units - -
        units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix xwalls all wall/reflect xlo EDGE xhi EDGE
    +    variable = equal-style variable like v_x or v_wiggle
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units
    • +
    +
    +units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix xwalls all wall/reflect xlo EDGE xhi EDGE
     fix walls all wall/reflect xlo 0.0 ylo 10.0 units box
    -fix top all wall/reflect zhi v_pressdown 
    -
    -

    Description: -

    -

    Bound the simulation with one or more walls which reflect particles -in the specified group when they attempt to move thru them. -

    -

    Reflection means that if an atom moves outside the wall on a timestep -by a distance delta (e.g. due to fix nve), then it is +fix top all wall/reflect zhi v_pressdown +

    +
    +
    +
    +

    Description¶

    +

    Bound the simulation with one or more walls which reflect particles +in the specified group when they attempt to move thru them.

    +

    Reflection means that if an atom moves outside the wall on a timestep +by a distance delta (e.g. due to fix nve), then it is put back inside the face by the same delta, and the sign of the -corresponding component of its velocity is flipped. -

    -

    When used in conjunction with fix nve and run_style -verlet, the resultant time-integration algorithm is +corresponding component of its velocity is flipped.

    +

    When used in conjunction with fix nve and run_style verlet, the resultant time-integration algorithm is equivalent to the primitive splitting algorithm (PSA) described by -Bond. Because each reflection event divides +Bond. Because each reflection event divides the corresponding timestep asymmetrically, energy conservation is only satisfied to O(dt), rather than to O(dt^2) as it would be for -velocity-Verlet integration without reflective walls. -

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face reflects particles +velocity-Verlet integration without reflective walls.

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face reflects particles that move to a coordinate less than the wall position, back in the -hi direction. A hi face reflects particles that move to a -coordinate higher than the wall position, back in the lo direction. -

    -

    The position of each wall can be specified in one of 3 ways: as the +hi direction. A hi face reflects particles that move to a +coordinate higher than the wall position, back in the lo direction.

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. -

    -

    The units keyword determines the meaning of the distance units used +specify a time-dependent wall position.

    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant or variable is used. It is not relevant when EDGE is used to specify a face position. In the variable case, the variable is assumed to -produce a value compatible with the units setting you specify. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings. -

    -
    - -

    Here are examples of variable definitions that move the wall position +produce a value compatible with the units setting you specify.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings.

    +
    +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables. -

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall/reflect xlo v_ramp 
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall/reflect xlo v_linear 
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall/reflect xlo v_wiggle  
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall/reflect xlo v_wiggle 
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables.

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall/reflect xlo v_ramp
    +
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall/reflect xlo v_linear
    +
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall/reflect xlo v_wiggle
    +
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall/reflect xlo v_wiggle
    +
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The vdisplace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time. -

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time.

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: -

    -
    position = c0 + A sin(omega*delta) 
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period:

    +
    position = c0 + A sin(omega*delta)
    +
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles: -

    -
    position = c0 + A (1 - cos(omega*delta)) 
    -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options +perturbation on the particles:

    +
    position = c0 + A (1 - cos(omega*delta))
    +
    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various output -commands. No parameter of this fix can -be used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. -

    -

    Restrictions: -

    -

    Any dimension (xyz) that has a reflecting wall must be non-periodic. -

    -

    A reflecting wall should not be used with rigid bodies such as those -defined by a "fix rigid" command. This is because the wall/reflect +by this fix for access by various output commands. No parameter of this fix can +be used with the start/stop keywords of the run command. +This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Any dimension (xyz) that has a reflecting wall must be non-periodic.

    +

    A reflecting wall should not be used with rigid bodies such as those +defined by a “fix rigid” command. This is because the wall/reflect displaces atoms directly rather than exerts a force on them. For -rigid bodies, use a soft wall instead, such as fix -wall/lj93. LAMMPS will flag the use of a rigid +rigid bodies, use a soft wall instead, such as fix wall/lj93. LAMMPS will flag the use of a rigid fix with fix wall/reflect with a warning, but will not generate an -error. -

    -

    Related commands: -

    -

    fix wall/lj93, fix oneway -

    -

    Default: none -

    -
    +error.

    +
    + + - -

    (Bond) Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall_region.html b/doc/fix_wall_region.html index 9f4a5d06ce..fe95967fa2 100644 --- a/doc/fix_wall_region.html +++ b/doc/fix_wall_region.html @@ -1,72 +1,194 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/region command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/region command -

    -

    Syntax: -

    -
    fix ID group-ID wall/region region-ID style epsilon sigma cutoff 
    -
    -
    • ID, group-ID are documented in fix command -
    • wall/region = style name of this fix command -
    • region-ID = region whose boundary will act as wall -
    • style = lj93 or lj126 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) -
    -

    Examples: -

    -
    fix wall all wall/region mySphere lj93 1.0 1.0 2.5 
    -
    -

    Description: -

    -

    Treat the surface of the geometric region defined by the region-ID + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    fix wall/region command¶

    +
    +

    Syntax¶

    +
    fix ID group-ID wall/region region-ID style epsilon sigma cutoff
    +
    +
    +
      +
    • ID, group-ID are documented in fix command
    • +
    • wall/region = style name of this fix command
    • +
    • region-ID = region whose boundary will act as wall
    • +
    • style = lj93 or lj126 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)
    • +
    +
    +
    +

    Examples¶

    +
    fix wall all wall/region mySphere lj93 1.0 1.0 2.5
    +
    +
    +
    +
    +

    Description¶

    +

    Treat the surface of the geometric region defined by the region-ID as a bounding wall which interacts with nearby particles according to the specified style. The distance between a particle and the surface is the distance to the nearest point on the surface and the force the wall exerts on the particle is along the direction between that point and the particle, which is the direction normal to the surface at that point. Note that if the region surface is comprised of multiple -"faces", then each face can exert a force on the particle if it is -close enough. E.g. for region_style block, a particle +“faces”, then each face can exert a force on the particle if it is +close enough. E.g. for region_style block, a particle in the interior, near a corner of the block, could feel wall forces -from 1, 2, or 3 faces of the block. -

    -

    Regions are defined using the region command. Note that +from 1, 2, or 3 faces of the block.

    +

    Regions are defined using the region command. Note that the region volume can be interior or exterior to the bounding surface, which will determine in which direction the surface interacts with particles, i.e. the direction of the surface normal. Regions can either be primitive shapes (block, sphere, cylinder, etc) or -combinations of primitive shapes specified via the union or -intersect region styles. These latter styles can be used to +combinations of primitive shapes specified via the union or +intersect region styles. These latter styles can be used to construct particle containers with complex shapes. Regions can also -change over time via the region command keywords (move) -and rotate. If such a region is used with this fix, then the of -region surface will move over time in the corresponding manner. -

    -

    IMPORTANT NOTE: As discussed on the region command doc +change over time via the region command keywords (move) +and rotate. If such a region is used with this fix, then the of +region surface will move over time in the corresponding manner.

    +
    +

    Warning

    +

    As discussed on the region command doc page, regions in LAMMPS do not get wrapped across periodic boundaries. It is up to you to insure that periodic or non-periodic boundaries are -specified appropriately via the boundary command when +specified appropriately via the boundary command when using a region as a wall that bounds particle motion. This also means that if you embed a region in your simulation box and want it to -repulse particles from its surface (using the "side out" option in the -region command), that its repulsive force will not be -felt across a periodic boundary. -

    -

    IMPORTANT NOTE: For primitive regions with sharp corners and/or edges +repulse particles from its surface (using the “side out” option in the +region command), that its repulsive force will not be +felt across a periodic boundary.

    +
    +
    +

    Warning

    +

    For primitive regions with sharp corners and/or edges (e.g. a block or cylinder), wall/particle forces are computed -accurately for both interior and exterior regions. For union and -intersect regions, additional sharp corners and edges may be present +accurately for both interior and exterior regions. For union and +intersect regions, additional sharp corners and edges may be present due to the intersection of the surfaces of 2 or more primitive volumes. These corners and edges can be of two types: concave or convex. Concave points/edges are like the corners of a cube as seen @@ -78,133 +200,184 @@ LAMMPS does NOT compute the location of these convex points directly, and hence wall/particle forces in the cutoff volume around these points suffer from inaccuracies. The basic problem is that the outward normal of the surface is not continuous at these points. This -can cause particles to feel no force (they don't "see" the wall) when +can cause particles to feel no force (they don’t “see” the wall) when in one location, then move a distance epsilon, and suddenly feel a -large force because they now "see" the wall. In a worst-case +large force because they now “see” the wall. In a worst-case scenario, this can blow particles out of the simulation box. Thus, as a general rule you should not use the fix wall/region command with -union or interesect regions that have convex points or edges. -

    -

    IMPORTANT NOTE: Similarly, you should not define union or -intersert regions for use with this command that share a common +union or interesect regions that have convex points or edges.

    +
    +
    +

    Warning

    +

    Similarly, you should not define union or +intersert regions for use with this command that share a common face, even if the face is smooth. E.g. two regions of style block in -a union region, where the two blocks have the same face. This is +a union region, where the two blocks have the same face. This is because LAMMPS discards points that are part of multiple sub-regions when calculating wall/particle interactions, to avoid double-counting the interaction. Having two coincident faces could cause the face to become invisible to the particles. The solution is to make the two -faces differ by epsilon in their position. -

    -

    The energy of wall-particle interactions depends on the specified -style. -

    -

    For style lj93, the energy E is given by the 9/3 potential: -

    -
    -
    -

    For style lj126, the energy E is given by the 12/6 potential: -

    -
    -
    -

    For style colloid, the energy E is given by an integrated form of -the pair_style colloid potential: -

    -
    -
    -

    For style wall/harmonic, the energy E is given by a harmonic spring -potential: -

    -
    -
    -

    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 +faces differ by epsilon in their position.

    +
    +

    The energy of wall-particle interactions depends on the specified +style.

    +

    For style lj93, the energy E is given by the 9/3 potential:

    +_images/fix_wall_lj93.jpg +

    For style lj126, the energy E is given by the 12/6 potential:

    +_images/pair_lj.jpg +

    For style colloid, the energy E is given by an integrated form of +the pair_style colloid potential:

    +_images/fix_wall_colloid.jpg +

    For style wall/harmonic, the energy E is given by a harmonic spring +potential:

    +_images/fix_wall_harmonic.jpg +

    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. -

    -

    For the lj93 and lj126 styles, epsilon and sigma are the usual +cutoff distance.

    +

    For the lj93 and lj126 styles, epsilon and sigma are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with the wall. Epsilon has energy units. -Note that this epsilon and sigma may be different than any -epsilon or sigma values defined for a pair style that computes -particle-particle interactions. -

    -

    The lj93 interaction is derived by integrating over a 3d -half-lattice of Lennard-Jones 12/6 particles. The lj126 interaction -is effectively a harder, more repulsive wall interaction. -

    -

    For the colloid style, epsilon is effectively a Hamaker constant -with energy units for the colloid-wall interaction, R is the radius -of the colloid particle, D is the distance from the surface of the -colloid particle to the wall (r-R), and sigma is the size of a +Note that this epsilon and sigma may be different than any +epsilon or sigma values defined for a pair style that computes +particle-particle interactions.

    +

    The lj93 interaction is derived by integrating over a 3d +half-lattice of Lennard-Jones 12/6 particles. The lj126 interaction +is effectively a harder, more repulsive wall interaction.

    +

    For the colloid style, epsilon is effectively a Hamaker constant +with energy units for the colloid-wall interaction, R is the radius +of the colloid particle, D is the distance from the surface of the +colloid particle to the wall (r-R), and sigma is the size of a constituent LJ particle inside the colloid particle. Note that the cutoff distance Rc in this case is the distance from the colloid -particle center to the wall. -

    -

    The colloid interaction is derived by integrating over constituent -LJ particles of size sigma within the colloid particle and a 3d -half-lattice of Lennard-Jones 12/6 particles of size sigma in the -wall. -

    -

    For the wall/harmonic style, epsilon is effectively the spring +particle center to the wall.

    +

    The colloid interaction is derived by integrating over constituent +LJ particles of size sigma within the colloid particle and a 3d +half-lattice of Lennard-Jones 12/6 particles of size sigma in the +wall.

    +

    For the wall/harmonic style, epsilon is effectively the spring constant K, and has units (energy/distance^2). The input parameter -sigma is ignored. The minimum energy position of the harmonic -spring is at the cutoff. This is a repulsive-only spring since the -interaction is truncated at the cutoff -

    -

    IMPORTANT NOTE: For all of the styles, you must insure that r is -always > 0 for all particles in the group, or LAMMPS will generate an +sigma is ignored. The minimum energy position of the harmonic +spring is at the cutoff. This is a repulsive-only spring since the +interaction is truncated at the cutoff

    +
    +

    Warning

    +

    For all of the styles, you must insure that r is +always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles on the region surface (r = 0) or with particles on the wrong side of the -region surface (r < 0). For the wall/lj93 and wall/lj126 styles, +region surface (r < 0). For the wall/lj93 and wall/lj126 styles, the energy of the wall/particle interaction (and hence the force on -the particle) blows up as r -> 0. The wall/colloid style is even -more restrictive, since the energy blows up as D = r-R -> 0. This +the particle) blows up as r -> 0. The wall/colloid style is even +more restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger -than R from the region surface. The harmonic style is a softer -potential and does not blow up as r -> 0, but you must use a large -enough epsilon that particles always reamin on the correct side of -the region surface (r > 0). -

    -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. -

    -

    The fix_modify energy option is supported by this +than R from the region surface. The harmonic style is a softer +potential and does not blow up as r -> 0, but you must use a large +enough epsilon that particles always reamin on the correct side of +the region surface (r > 0).

    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files.

    +

    The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and the wall to the -system's potential energy as part of thermodynamic -output. -

    -

    This fix computes a global scalar energy and a global 3-length vector -of forces, which can be accessed by various output -commands. The scalar energy is the sum +system’s potential energy as part of thermodynamic output.

    +

    This fix computes a global scalar energy and a global 3-length vector +of forces, which can be accessed by various output commands. The scalar energy is the sum of energy interactions for all particles interacting with the wall represented by the region surface. The 3 vector quantities are the x,y,z components of the total force acting on the wall due to the particles. The scalar and vector values calculated by this fix are -"extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. -

    -

    The forces due to this fix are imposed during an energy minimization, -invoked by the minimize command. -

    -

    IMPORTANT NOTE: If you want the atom/wall interaction energy to be +“extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command.

    +

    The forces due to this fix are imposed during an energy minimization, +invoked by the minimize command.

    +
    +

    Warning

    +

    If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity -being minimized), you MUST enable the fix_modify -energy option for this fix. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix wall/lj93, -fix wall/lj126, -fix wall/colloid, -fix wall/gran -

    -

    Default: none -

    - +being minimized), you MUST enable the fix_modify +energy option for this fix.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/fix_wall_srd.html b/doc/fix_wall_srd.html index ea3f64c68b..a76c35a4b9 100644 --- a/doc/fix_wall_srd.html +++ b/doc/fix_wall_srd.html @@ -1,203 +1,376 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + fix wall/srd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    fix wall/srd command -

    -

    Syntax: -

    -
    fix ID group-ID wall/srd face arg ... keyword value ... 
    -
    -
    • ID, group-ID are documented in fix command - -
    • wall/srd = style name of this fix command - -
    • one or more face/arg pairs may be appended - -
    • face = xlo or xhi or ylo or yhi or zlo or zhi - -
        xlo,ylo,zlo arg = EDGE or constant or variable
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      fix wall/srd command¶

      +
      +

      Syntax¶

      +
      fix ID group-ID wall/srd face arg ... keyword value ...
      +
      +
      +
        +
      • ID, group-ID are documented in fix command
      • +
      • wall/srd = style name of this fix command
      • +
      • one or more face/arg pairs may be appended
      • +
      • face = xlo or xhi or ylo or yhi or zlo or zhi
      • +
      +
      +xlo,*ylo*,*zlo* arg = EDGE or constant or variable
           EDGE = current lo edge of simulation box
           constant = number like 0.0 or -30.0 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle
      -  xhi,yhi,zhi arg = EDGE or constant or variable
      +    variable = equal-style variable like v_x or v_wiggle
      +  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
           EDGE = current hi edge of simulation box
           constant = number like 50.0 or 100.3 (distance units)
      -    variable = equal-style variable like v_x or v_wiggle 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = units - -
        units value = lattice or box
      -    lattice = the wall position is defined in lattice units
      -    box = the wall position is defined in simulation box units 
      -
      - -
    -

    Examples: -

    -
    fix xwalls all wall/srd xlo EDGE xhi EDGE
    +    variable = equal-style variable like v_x or v_wiggle
    +
    +
      +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = units
    • +
    +
    +units value = lattice or box
    +    lattice = the wall position is defined in lattice units
    +    box = the wall position is defined in simulation box units
    +
    +
    +
    +

    Examples¶

    +
    fix xwalls all wall/srd xlo EDGE xhi EDGE
     fix walls all wall/srd xlo 0.0 ylo 10.0 units box
    -fix top all wall/srd zhi v_pressdown 
    -
    -

    Description: -

    -

    Bound the simulation with one or more walls which interact with +fix top all wall/srd zhi v_pressdown +

    +
    +
    +
    +

    Description¶

    +

    Bound the simulation with one or more walls which interact with stochastic reaction dynamics (SRD) particles as slip (smooth) or no-slip (rough) flat surfaces. The wall interaction is actually -invoked via the fix srd command, only on the group of +invoked via the fix srd command, only on the group of SRD particles it defines, so the group setting for the fix wall/srd -command is ignored. -

    -

    A particle/wall collision occurs if an SRD particle moves outside the +command is ignored.

    +

    A particle/wall collision occurs if an SRD particle moves outside the wall on a timestep. This alters the position and velocity of the SRD -particle and imparts a force to the wall. -

    -

    The collision and Tsrd settings specified via the fix -srd command affect the SRD/wall collisions. A slip -setting for the collision keyword means that the tangential +particle and imparts a force to the wall.

    +

    The collision and Tsrd settings specified via the fix srd command affect the SRD/wall collisions. A slip +setting for the collision keyword means that the tangential component of the SRD particle momentum is preserved. Thus only a normal force is imparted to the wall. The normal component of the new SRD velocity is sampled from a Gaussian distribution at temperature -Tsrd. -

    -

    For a noslip setting of the collision keyword, both the normal and +Tsrd.

    +

    For a noslip setting of the collision keyword, both the normal and tangential components of the new SRD velocity are sampled from a -Gaussian distribution at temperature Tsrd. Additionally, a new +Gaussian distribution at temperature Tsrd. Additionally, a new tangential direction for the SRD velocity is chosen randomly. This collision style imparts both a normal and tangential force to the -wall. -

    -

    Up to 6 walls or faces can be specified in a single command: xlo, -xhi, ylo, yhi, zlo, zhi. A lo face reflects particles +wall.

    +

    Up to 6 walls or faces can be specified in a single command: xlo, +xhi, ylo, yhi, zlo, zhi. A lo face reflects particles that move to a coordinate less than the wall position, back in the -hi direction. A hi face reflects particles that move to a -coordinate higher than the wall position, back in the lo direction. -

    -

    The position of each wall can be specified in one of 3 ways: as the +hi direction. A hi face reflects particles that move to a +coordinate higher than the wall position, back in the lo direction.

    +

    The position of each wall can be specified in one of 3 ways: as the EDGE of the simulation box, as a constant value, or as a variable. If EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. If the wall position is a variable, it should be specified as v_name, -where name is an equal-style variable name. In this +where name is an equal-style variable name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -thermo_style command keywords for the simulation +thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. -

    -

    IMPORTANT NOTE: Because the trajectory of the SRD particle is tracked +specify a time-dependent wall position.

    +
    +

    Warning

    +

    Because the trajectory of the SRD particle is tracked as it collides with the wall, you must insure that r = distance of the -particle from the wall, is always > 0 for SRD particles, or LAMMPS +particle from the wall, is always > 0 for SRD particles, or LAMMPS will generate an error. This means you cannot start your simulation -with SRD particles at the wall position coord (r = 0) or with -particles on the wrong side of the wall (r < 0). -

    -

    IMPORTANT NOTE: If you have 2 or more walls that come together at an +with SRD particles at the wall position coord (r = 0) or with +particles on the wrong side of the wall (r < 0).

    +
    +
    +

    Warning

    +

    If you have 2 or more walls that come together at an edge or corner (e.g. walls in the x and y dimensions), then be sure to -set the overlap keyword to yes in the fix srd +set the overlap keyword to yes in the fix srd command, since the walls effectively overlap when SRD particles -collide with them. LAMMPS will issue a warning if you do not do this. -

    -

    IMPORTANT NOTE: The walls of this fix only interact with SRD -particles, as defined by the fix srd command. If you +collide with them. LAMMPS will issue a warning if you do not do this.

    +
    +
    +

    Warning

    +

    The walls of this fix only interact with SRD +particles, as defined by the fix srd command. If you are simulating a mixture containing other kinds of particles, then you -should typically use another wall command to act on +should typically use another wall command to act on the other particles. Since SRD particles will be colliding both with the walls and the other particles, it is important to insure that the -other particle's finite extent does not overlap an SRD wall. If you +other particle’s finite extent does not overlap an SRD wall. If you do not do this, you may generate errors when SRD particles end up -"inside" another particle or a wall at the beginning of a collision -step. -

    -

    The units keyword determines the meaning of the distance units used +“inside” another particle or a wall at the beginning of a collision +step.

    +
    +

    The units keyword determines the meaning of the distance units used to define a wall position, but only when a numeric constant is used. It is not relevant when EDGE or a variable is used to specify a face -position. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings. -

    -
    - -

    Here are examples of variable definitions that move the wall position +position.

    +

    A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings.

    +
    +

    Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style -variables. -

    -
    variable ramp equal ramp(0,10)
    -fix 1 all wall/srd xlo v_ramp 
    -
    -
    variable linear equal vdisplace(0,20)
    -fix 1 all wall/srd xlo v_linear 
    -
    -
    variable wiggle equal swiggle(0.0,5.0,3.0)
    -fix 1 all wall/srd xlo v_wiggle  
    -
    -
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    -fix 1 all wall/srd xlo v_wiggle 
    -
    -

    The ramp(lo,hi) function adjusts the wall position linearly from lo to +variables.

    +
    variable ramp equal ramp(0,10)
    +fix 1 all wall/srd xlo v_ramp
    +
    +
    +
    variable linear equal vdisplace(0,20)
    +fix 1 all wall/srd xlo v_linear
    +
    +
    +
    variable wiggle equal swiggle(0.0,5.0,3.0)
    +fix 1 all wall/srd xlo v_wiggle
    +
    +
    +
    variable wiggle equal cwiggle(0.0,5.0,3.0)
    +fix 1 all wall/srd xlo v_wiggle
    +
    +
    +

    The ramp(lo,hi) function adjusts the wall position linearly from lo to hi over the course of a run. The displace(c0,velocity) function does something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time. -

    -

    The swiggle(c0,A,period) function causes the wall position to +where delta is the elapsed time.

    +

    The swiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: -

    -
    position = c0 + A sin(omega*delta) 
    -
    -

    The cwiggle(c0,A,period) function causes the wall position to +/ period:

    +
    position = c0 + A sin(omega*delta)
    +
    +
    +

    The cwiggle(c0,A,period) function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles: -

    -
    position = c0 + A (1 - cos(omega*delta)) 
    -
    -
    - -

    Restart, fix_modify, output, run start/stop, minimize info: -

    -

    No information about this fix is written to binary restart -files. None of the fix_modify options -are relevant to this fix. -

    -

    This fix computes a global array of values which can be accessed by -various output commands. The number of +perturbation on the particles:

    +
    position = c0 + A (1 - cos(omega*delta))
    +
    +
    +
    +
    +
    +

    Restart, fix_modify, output, run start/stop, minimize info¶

    +

    No information about this fix is written to binary restart files. None of the fix_modify options +are relevant to this fix.

    +

    This fix computes a global array of values which can be accessed by +various output commands. The number of rows in the array is equal to the number of walls defined by the fix. The number of columns is 3, for the x,y,z components of force on each -wall. -

    -

    Note that an outward normal force on a wall will be a negative value -for lo walls and a positive value for hi walls. The array values -calculated by this fix are "extensive". -

    -

    No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy -minimization. -

    -

    Restrictions: -

    -

    Any dimension (xyz) that has an SRD wall must be non-periodic. -

    -

    Related commands: -

    -

    fix srd -

    -

    Default: none -

    - +wall.

    +

    Note that an outward normal force on a wall will be a negative value +for lo walls and a positive value for hi walls. The array values +calculated by this fix are “extensive”.

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy minimization.

    +
    +
    +

    Restrictions¶

    +

    Any dimension (xyz) that has an SRD wall must be non-periodic.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/group.html b/doc/group.html index 53347eefcc..641c18c384 100644 --- a/doc/group.html +++ b/doc/group.html @@ -1,289 +1,458 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + group command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    group command -

    -

    Syntax: -

    -
    group ID style args 
    -
    -
    • ID = user-defined name of the group - -
    • style = delete or region or type or id or molecule or variable or include or subtract or union or intersect or dynamic or static - -
        delete = no args
      -  clear = no args
      -  region args = region-ID
      -  type or id or molecule
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      group command¶

      +
      +

      Syntax¶

      +
      group ID style args
      +
      +
      +
        +
      • ID = user-defined name of the group
      • +
      • style = delete or region or type or id or molecule or variable or include or subtract or union or intersect or dynamic or static
      • +
      +
      +delete = no args
      +  clear = no args
      +  region args = region-ID
      +  type or id or molecule
           args = list of one or more atom types, atom IDs, or molecule IDs
             any entry in list can be a sequence formatted as A:B or A:B:C where
             A = starting index, B = ending index,
             C = increment between indices, 1 if not specified
           args = logical value
      -      logical = "<" or "<=" or ">" or ">=" or "==" or "!="
      -      value = an atom type or atom ID or molecule ID (depending on style)
      +      logical = "<" or "<=" or ">" or ">=" or "==" or "!="
      +      value = an atom type or atom ID or molecule ID (depending on style)
           args = logical value1 value2
      -      logical = "<>"
      -      value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
      -  variable args = variable-name
      -  include args = molecule
      +      logical = "<>"
      +      value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
      +  variable args = variable-name
      +  include args = molecule
           molecule = add atoms to group with same molecule ID as atoms already in group
      -  subtract args = two or more group IDs
      -  union args = one or more group IDs
      -  intersect args = two or more group IDs
      -  dynamic args = parent-ID keyword value ...
      +  subtract args = two or more group IDs
      +  union args = one or more group IDs
      +  intersect args = two or more group IDs
      +  dynamic args = parent-ID keyword value ...
           one or more keyword/value pairs may be appended
      -    keyword = region or var or every
      -      region value = region-ID
      -      var value = name of variable
      -      every value = N = update group every this many timesteps
      -  static = no args 
      -
      - -
    -

    Examples: -

    -
    group edge region regstrip
    +    keyword = region or var or every
    +      region value = region-ID
    +      var value = name of variable
    +      every value = N = update group every this many timesteps
    +  static = no args
    +
    +
    +
    +

    Examples¶

    +
    group edge region regstrip
     group water type 3 4
     group sub id 10 25 50
     group sub id 10 25 50 500:1000
     group sub id 100:10000:10
    -group sub id <= 150
    -group polyA molecule <> 50 250
    +group sub id <= 150
    +group polyA molecule <> 50 250
     group hienergy variable eng
     group hienergy include molecule
     group boundary subtract all a2 a3
     group boundary union lower upper
     group boundary intersect upper flow
     group boundary delete
    -group mine dynamic all region myRegion every 100 
    -
    -

    Description: -

    -

    Identify a collection of atoms as belonging to a group. The group ID -can then be used in other commands such as fix, -compute, dump, or velocity -to act on those atoms together. -

    -

    If the group ID already exists, the group command adds the specified -atoms to the group. -

    -

    IMPORTANT NOTE: By default groups are static, meaning the atoms are -permanently assigned to the group. For example, if the region style +group mine dynamic all region myRegion every 100 +

    +
    +
    +
    +

    Description¶

    +

    Identify a collection of atoms as belonging to a group. The group ID +can then be used in other commands such as fix, +compute, dump, or velocity +to act on those atoms together.

    +

    If the group ID already exists, the group command adds the specified +atoms to the group.

    +
    +

    Warning

    +

    By default groups are static, meaning the atoms are +permanently assigned to the group. For example, if the region style is used to assign atoms to a group, the atoms will remain in the group even if they later move out of the region. As explained below, the -dynamic style can be used to make a group dynamic so that a periodic +dynamic style can be used to make a group dynamic so that a periodic determination is made as to which atoms are in the group. Since many LAMMPS commands operate on groups of atoms, you should think carefully -about whether making a group dynamic makes sense for your model. -

    -

    A group with the ID all is predefined. All atoms belong to this -group. This group cannot be deleted, or made dynamic. -

    -

    The delete style removes the named group and un-assigns all atoms +about whether making a group dynamic makes sense for your model.

    +
    +

    A group with the ID all is predefined. All atoms belong to this +group. This group cannot be deleted, or made dynamic.

    +

    The delete style removes the named group and un-assigns all atoms that were assigned to that group. Since there is a restriction (see below) that no more than 32 groups can be defined at any time, the -delete style allows you to remove groups that are no longer needed, +delete style allows you to remove groups that are no longer needed, so that more can be specified. You cannot delete a group if it has -been used to define a current fix or compute -or dump. -

    -

    The clear style un-assigns all atoms that were assigned to that +been used to define a current fix or compute +or dump.

    +

    The clear style un-assigns all atoms that were assigned to that group. This may be dangerous to do during a simulation run, -e.g. using the run every command if a fix or compute or +e.g. using the run every command if a fix or compute or other operation expects the atoms in the group to remain constant, but -LAMMPS does not check for this. -

    -

    The region style puts all atoms in the region volume into the group. +LAMMPS does not check for this.

    +

    The region style puts all atoms in the region volume into the group. Note that this is a static one-time assignment. The atoms remain assigned (or not assigned) to the group even in they later move out of -the region volume. -

    -

    The type, id, and molecule styles put all atoms with the +the region volume.

    +

    The type, id, and molecule styles put all atoms with the specified atom types, atom IDs, or molecule IDs into the group. These -3 styles can use arguments specified in one of two formats. -

    -

    The first format is a list of values (types or IDs). For example, the +3 styles can use arguments specified in one of two formats.

    +

    The first format is a list of values (types or IDs). For example, the 2nd command in the examples above puts all atoms of type 3 or 4 into -the group named water. Each entry in the list can be a +the group named water. Each entry in the list can be a colon-separated sequence A:B or A:B:C, as in two of the examples -above. A "sequence" generates a sequence of values (types or IDs), +above. A “sequence” generates a sequence of values (types or IDs), with an optional increment. The first example with 500:1000 has the default increment of 1 and would add all atom IDs from 500 to 1000 (inclusive) to the group sub, along with 10,25,50 since they also appear in the list of values. The second example with 100:10000:10 uses an increment of 10 and would thus would add atoms IDs -100,110,120, ... 9990,10000 to the group sub. -

    -

    The second format is a logical followed by one or two values (type +100,110,120, ... 9990,10000 to the group sub.

    +

    The second format is a logical followed by one or two values (type or ID). The 7 valid logicals are listed above. All the logicals -except <> take a single argument. The 3rd example above adds all -atoms with IDs from 1 to 150 to the group named sub. The logical <> -means "between" and takes 2 arguments. The 4th example above adds all +except <> take a single argument. The 3rd example above adds all +atoms with IDs from 1 to 150 to the group named sub. The logical <> +means “between” and takes 2 arguments. The 4th example above adds all atoms belonging to molecules with IDs from 50 to 250 (inclusive) to -the group named polyA. -

    -

    The variable style evaluates a variable to determine which atoms to -add to the group. It must be an atom-style variable +the group named polyA.

    +

    The variable style evaluates a variable to determine which atoms to +add to the group. It must be an atom-style variable previously defined in the input script. If the variable evaluates to a non-zero value for a particular atom, then that atom is added -to the specified group. -

    -

    Atom-style variables can specify formulas that include thermodynamic +to the specified group.

    +

    Atom-style variables can specify formulas that include thermodynamic quantities, per-atom values such as atom coordinates, or per-atom quantities calculated by computes, fixes, or other variables. They can also include Boolean logic where 2 numeric values are compared to yield a 1 or 0 (effectively a true or false). Thus using the -variable style, is a general way to flag specific atoms to include -or exclude from a group. -

    -

    For example, these lines define a variable "eatom" that calculates the +variable style, is a general way to flag specific atoms to include +or exclude from a group.

    +

    For example, these lines define a variable “eatom” that calculates the potential energy of each atom and includes it in the group if its -potential energy is above the threshhold value -3.0. -

    -
    compute         1 all pe/atom
    +potential energy is above the threshhold value -3.0.

    +
    compute         1 all pe/atom
     compute         2 all reduce sum c_1
     thermo_style    custom step temp pe c_2
    -run             0 
    -
    -
    variable        eatom atom "c_1 > -3.0"
    -group           hienergy variable eatom 
    -
    -

    Note that these lines -

    -
    compute         2 all reduce sum c_1
    +run             0
    +
    +
    +
    variable        eatom atom "c_1 > -3.0"
    +group           hienergy variable eatom
    +
    +
    +

    Note that these lines

    +
    compute         2 all reduce sum c_1
     thermo_style    custom step temp pe c_2
    -run             0 
    -
    -

    are necessary to insure that the "eatom" variable is current when the +run 0 +

    + +

    are necessary to insure that the “eatom” variable is current when the group command invokes it. Because the eatom variable computes the per-atom energy via the pe/atom compute, it will only be current if a run has been performed which evaluated pairwise energies, and the pe/atom compute was actually invoked during the run. Printing the thermodyanmic info for compute 2 insures that this is the case, since it sums the pe/atom compute values (in the reduce compute) to output -them to the screen. See the "Variable Accuracy" section of the -variable doc page for more details on insuring that -variables are current when they are evaluated between runs. -

    -

    The include style with its arg molecule adds atoms to a group that +them to the screen. See the “Variable Accuracy” section of the +variable doc page for more details on insuring that +variables are current when they are evaluated between runs.

    +

    The include style with its arg molecule adds atoms to a group that have the same molecule ID as atoms already in the group. The molecule ID = 0 is ignored in this operation, since it is assumed to flag isolated atoms that are not part of molecules. An example of where -this operation is useful is if the region style has been used +this operation is useful is if the region style has been used previously to add atoms to a group that are within a geometric region. If molecules straddle the region boundary, then atoms outside the region that are part of molecules with atoms inside the region will -not be in the group. Using the group command a 2nd time with include -molecule will add those atoms that are outside the region to the -group. -

    -

    IMPORTANT NOTE: The include molecule operation is relatively +not be in the group. Using the group command a 2nd time with include +molecule will add those atoms that are outside the region to the +group.

    +
    +

    Warning

    +

    The include molecule operation is relatively expensive in a parallel sense. This is because it requires communication of relevant molecule IDs between all the processors and each processor to loop over its atoms once per processor, to compare its atoms to the list of molecule IDs from every other processor. Hence it scales as N, rather than N/P as most of the group operations -do, where N is the number of atoms, and P is the number of processors. -

    -

    The subtract style takes a list of two or more existing group names +do, where N is the number of atoms, and P is the number of processors.

    +
    +

    The subtract style takes a list of two or more existing group names as arguments. All atoms that belong to the 1st group, but not to any -of the other groups are added to the specified group. -

    -

    The union style takes a list of one or more existing group names as +of the other groups are added to the specified group.

    +

    The union style takes a list of one or more existing group names as arguments. All atoms that belong to any of the listed groups are -added to the specified group. -

    -

    The intersect style takes a list of two or more existing group names +added to the specified group.

    +

    The intersect style takes a list of two or more existing group names as arguments. Atoms that belong to every one of the listed groups are -added to the specified group. -

    -
    - -

    The dynamic style flags an existing or new group as dynamic. This +added to the specified group.

    +
    +

    The dynamic style flags an existing or new group as dynamic. This means atoms will be (re)assigned to the group periodically as a simulation runs. This is in contrast to static groups where atoms are permanently assigned to the group. The way the assignment occurs is as follows. Only atoms in the group specified as the parent group via the parent-ID are assigned to the dynamic group before the following -conditions are applied. If the region keyword is used, atoms not in -the specified region are removed from the dynamic group. If the var +conditions are applied. If the region keyword is used, atoms not in +the specified region are removed from the dynamic group. If the var keyword is used, the variable name must be an atom-style or atomfile-style variable. The variable is evaluated and atoms whose -per-atom values are 0.0, are removed from the dynamic group. -

    -

    The assignment of atoms to a dynamic group is done at the beginning of -each run and on every timestep that is a multiple of N, which is the -argument for the every keyword (N = 1 is the default). For an -energy minimization, via the minimize command, an +per-atom values are 0.0, are removed from the dynamic group.

    +

    The assignment of atoms to a dynamic group is done at the beginning of +each run and on every timestep that is a multiple of N, which is the +argument for the every keyword (N = 1 is the default). For an +energy minimization, via the minimize command, an assignement is made at the beginning of the minimization, but not -during the iterations of the minimizer. -

    -

    The point in the timestep at which atoms are assigned to a dynamic +during the iterations of the minimizer.

    +

    The point in the timestep at which atoms are assigned to a dynamic group is after the initial stage of velocity Verlet time integration has been performed, and before neighbor lists or forces are computed. This is the point in the timestep where atom positions have just changed due to the time integration, so the region criterion should be -accurate, if applied. -

    -

    IMPORTANT NOTE: If the region keyword is used to determine what +accurate, if applied.

    +
    +

    Warning

    +

    If the region keyword is used to determine what atoms are in the dynamic group, atoms can move outside of the simulation box between reneighboring events. Thus if you want to include all atoms on the left side of the simulation box, you probably want to set the left boundary of the region to be outside the simulation box by some reasonable amount (e.g. up to the cutoff of the -potential), else they may be excluded from the dynamic region. -

    -

    Here is an example of using a dynamic group to shrink the set of atoms +potential), else they may be excluded from the dynamic region.

    +
    +

    Here is an example of using a dynamic group to shrink the set of atoms being integrated by using a spherical region with a variable radius (shrinking from 18 to 5 over the course of the run). This could be used to model a quench of the system, freezing atoms outside the shrinking sphere, then converting the remaining atoms to a static -group and running further. -

    -
    variable        nsteps equal 5000
    +group and running further.

    +
    variable        nsteps equal 5000
     variable        rad equal 18-(step/v_nsteps)*(18-5)
     region          ss sphere 20 20 0 v_rad
     group           mobile dynamic all region ss
     fix             1 mobile nve
     run             ${nsteps}
     group           mobile static
    -run	        ${nsteps} 
    -
    -

    IMPORTANT NOTE: All fixes and computes take a group ID as an argument, +run ${nsteps} +

    + +
    +

    Warning

    +

    All fixes and computes take a group ID as an argument, but they do not all allow for use of a dynamic group. If you get an error message that this is not allowed, but feel that it should be for the fix or compute in question, then please post your reasoning to the -LAMMPS mail list and we can change it. -

    -

    The static style removes the setting for a dynamic group, converting +LAMMPS mail list and we can change it.

    +
    +

    The static style removes the setting for a dynamic group, converting it to a static group (the default). The atoms in the static group are -those currently in the dynamic group. -

    -
    +those currently in the dynamic group.

    + +
    +
    +

    Restrictions¶

    +

    There can be no more than 32 groups defined at one time, including +“all”.

    +

    The parent group of a dynamic group cannot itself be a dynamic group.

    +
    + +
    +

    Default¶

    +

    All atoms belong to the “all” group.

    +
    + -

    Restrictions: -

    -

    There can be no more than 32 groups defined at one time, including -"all". -

    -

    The parent group of a dynamic group cannot itself be a dynamic group. -

    -

    Related commands: -

    -

    dump, fix, region, -velocity -

    -

    Default: -

    -

    All atoms belong to the "all" group. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/group2ndx.html b/doc/group2ndx.html index 3fb0670fcd..cbd181bcce 100644 --- a/doc/group2ndx.html +++ b/doc/group2ndx.html @@ -1,58 +1,234 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + group2ndx command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    group2ndx command -

    -

    Syntax: -

    -
    group2ndx file group-ID ... 
    -
    -
    • file = name of index file to write out - -
    • zero or more group IDs may be appended - - -
    -

    Examples: -

    -
    group2ndx allindex.ndx
    -group2ndx someindex.ndx upper lower mobile 
    -
    -

    Description: -

    -

    Write a Gromacs style index file in text format that associates atom IDs -with the corresponding group definitions. This index file can be used + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    group2ndx command¶

    +
    +

    Syntax¶

    +
    group2ndx file group-ID ...
    +
    +
    +
      +
    • file = name of index file to write out
    • +
    • zero or more group IDs may be appended
    • +
    +
    +
    +

    Examples¶

    +
    group2ndx allindex.ndx
    +group2ndx someindex.ndx upper lower mobile
    +
    +
    +
    +
    +

    Description¶

    +

    Write a Gromacs style index file in text format that associates atom IDs +with the corresponding group definitions. This index file can be used with in combination with Gromacs analysis tools or to import group -definitions into the fix colvars input file. -

    -

    Without specifying any group IDs, all groups will be written to the index +definitions into the fix colvars input file.

    +

    Without specifying any group IDs, all groups will be written to the index file. When specifying group IDs, only those groups will be written to the -index file. In order to follow the Gromacs conventions, the group all -will be renamed to System in the index file. -

    -
    +index file. In order to follow the Gromacs conventions, the group all +will be renamed to System in the index file.

    +
    +
    +
    +

    Restrictions¶

    +

    This command requires that atoms have atom IDs, since this is the +information that is written to the index file.

    +

    This fix is part of the USER-COLVARS package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -

    Restrictions: -

    -

    This command requires that atoms have atom IDs, since this is the -information that is written to the index file. -

    -

    This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    group, dump, fix colvars -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/if.html b/doc/if.html index ba4f5de6d4..dc6dc3bd22 100644 --- a/doc/if.html +++ b/doc/if.html @@ -1,174 +1,283 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + if command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    if command -

    -

    Syntax: -

    -
    if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ... 
    -
    -
    • boolean = a Boolean expression evaluated as TRUE or FALSE (see below) -
    • then = required word -
    • t1,t2,...,tN = one or more LAMMPS commands to execute if condition is met, each enclosed in quotes -
    • elif = optional word, can appear multiple times -
    • f1,f2,...,fN = one or more LAMMPS commands to execute if elif condition is met, each enclosed in quotes (optional arguments) -
    • else = optional argument -
    • e1,e2,...,eN = one or more LAMMPS commands to execute if no condition is met, each enclosed in quotes (optional arguments) -
    -

    Examples: -

    -
    if "${steps} > 1000" then quit
    -if "${myString} == a10" then quit
    -if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y"
    -if "(${eng} > 0.0) || ($n < 1000)" then &
    -  "timestep 0.005" &
    -elif $n<10000 &
    -  "timestep 0.01" &
    -else &
    -  "timestep 0.02" &
    -  "print 'Max step reached'"
    -if "${eng} > ${eng_previous}" then "jump file1" else "jump file2" 
    -
    -

    Description: -

    -

    This command provides an if-then-else capability within an input + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    if command¶

    +
    +

    Syntax¶

    +
    if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ...
    +
    +
    +
      +
    • boolean = a Boolean expression evaluated as TRUE or FALSE (see below)
    • +
    • then = required word
    • +
    • t1,t2,...,tN = one or more LAMMPS commands to execute if condition is met, each enclosed in quotes
    • +
    • elif = optional word, can appear multiple times
    • +
    • f1,f2,...,fN = one or more LAMMPS commands to execute if elif condition is met, each enclosed in quotes (optional arguments)
    • +
    • else = optional argument
    • +
    • e1,e2,...,eN = one or more LAMMPS commands to execute if no condition is met, each enclosed in quotes (optional arguments)
    • +
    +
    +
    +

    Examples¶

    +
    if "${steps} > 1000" then quit
    +if "${myString} == a10" then quit
    +if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y"
    +if "(${eng} > 0.0) || ($n < 1000)" then &
    +  "timestep 0.005" &
    +elif $n<10000 &
    +  "timestep 0.01" &
    +else &
    +  "timestep 0.02" &
    +  "print 'Max step reached'"
    +if "${eng} > ${eng_previous}" then "jump file1" else "jump file2"
    +
    +
    +
    +
    +

    Description¶

    +

    This command provides an if-then-else capability within an input script. A Boolean expression is evaluted and the result is TRUE or FALSE. Note that as in the examples above, the expression can contain -variables, as defined by the variable command, which +variables, as defined by the variable command, which will be evaluated as part of the expression. Thus a user-defined formula that reflects the current state of the simulation can be used -to issue one or more new commands. -

    -

    If the result of the Boolean expression is TRUE, then one or more +to issue one or more new commands.

    +

    If the result of the Boolean expression is TRUE, then one or more commands (t1, t2, ..., tN) are executed. If it is FALSE, then Boolean expressions associated with successive elif keywords are evaluated until one is found to be true, in which case its commands (f1, f2, ..., fN) are executed. If no Boolean expression is TRUE, then the commands associated with the else keyword, namely (e1, e2, ..., eN), are executed. The elif and else keywords and their associated -commands are optional. If they aren't specified and the initial -Boolean expression is FALSE, then no commands are executed. -

    -

    The syntax for Boolean expressions is described below. -

    -

    Each command (t1, f1, e1, etc) can be any valid LAMMPS input script -command, except an include command, which is not +commands are optional. If they aren’t specified and the initial +Boolean expression is FALSE, then no commands are executed.

    +

    The syntax for Boolean expressions is described below.

    +

    Each command (t1, f1, e1, etc) can be any valid LAMMPS input script +command, except an include command, which is not allowed. If the command is more than one word, it must enclosed in quotes, so it will be treated as a single argument, as in the examples -above. -

    -

    IMPORTANT NOTE: If a command itself requires a quoted argument (e.g. a -print command), then double and single quotes can be used +above.

    +
    +

    Warning

    +

    If a command itself requires a quoted argument (e.g. a +print command), then double and single quotes can be used and nested in the usual manner, as in the examples above and below. -See Section_commands 2 of the manual for +See Section_commands 2 of the manual for more details on using quotes in arguments. Only one of level of -nesting is allowed, but that should be sufficient for most use cases. -

    -

    Note that by using the line continuation character "&", the if command -can be spread across many lines, though it is still a single command: -

    -
    if "$a < $b" then &
    -  "print 'Minimum value = $a'" &
    -  "run 1000" &
    -else &      
    -  'print "Minimum value = $b"' &
    -  "minimize 0.001 0.001 1000 10000" 
    -
    -

    Note that if one of the commands to execute is quit, as in +nesting is allowed, but that should be sufficient for most use cases.

    +
    +

    Note that by using the line continuation character “&”, the if command +can be spread across many lines, though it is still a single command:

    +
    if "$a < $b" then &
    +  "print 'Minimum value = $a'" &
    +  "run 1000" &
    +else &
    +  'print "Minimum value = $b"' &
    +  "minimize 0.001 0.001 1000 10000"
    +
    +
    +

    Note that if one of the commands to execute is quit, as in the first example above, then executing the command will cause LAMMPS -to halt. -

    -

    Note that by jumping to a label in the same input script, the if -command can be used to break out of a loop. See the variable -delete command for info on how to delete the associated -loop variable, so that it can be re-used later in the input script. -

    -

    Here is an example of a loop which checks every 1000 steps if the +to halt.

    +

    Note that by jumping to a label in the same input script, the if +command can be used to break out of a loop. See the variable delete command for info on how to delete the associated +loop variable, so that it can be re-used later in the input script.

    +

    Here is an example of a loop which checks every 1000 steps if the system temperature has reached a certain value, and if so, breaks out of the loop to finish the run. Note that any variable could be checked, so long as it is current on the timestep when the run -completes. As explained on the variable doc page, -this can be insured by includig the variable in thermodynamic output. -

    -
    variable myTemp equal temp
    +completes.  As explained on the variable doc page,
    +this can be insured by includig the variable in thermodynamic output.

    +
    variable myTemp equal temp
     label loop
     variable a loop 1000
     run 1000
    -if "${myTemp} < 300.0" then "jump SELF break"
    +if "${myTemp} < 300.0" then "jump SELF break"
     next a
     jump SELF loop
     label break
    -print "ALL DONE" 
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop. -

    -
    label	    loopa
    +print "ALL DONE"
    +
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop.

    +
    label            loopa
     variable    a loop 5
    -  label	    loopb
    +  label          loopb
       variable  b loop 5
    -  print	    "A,B = $a,$b"
    +  print          "A,B = $a,$b"
       run       10000
    -  if	    "$b > 2" then "jump SELF break"
    -  next	    b
    -  jump	    in.script loopb
    -label	    break
    +  if     "$b > 2" then "jump SELF break"
    +  next           b
    +  jump           in.script loopb
    +label            break
     variable    b delete
    -next	    a
    -jump	    SELF loopa 
    -
    -
    - -

    The Boolean expressions for the if and elif keywords have a C-like +next a +jump SELF loopa +

    +
    +
    +

    The Boolean expressions for the if and elif keywords have a C-like syntax. Note that each expression is a single argument within the if command. Thus if you want to include spaces in the expression for -clarity, you must enclose the entire expression in quotes. -

    -

    An expression is built out of numbers (which start with a digit or +clarity, you must enclose the entire expression in quotes.

    +

    An expression is built out of numbers (which start with a digit or period or minus sign) or strings (which start with a letter and can -contain alphanumeric characters or underscores): -

    -
    0.2, 100, 1.0e20, -15.4, etc 
    -InP, myString, a123, ab_23_cd, etc 
    -
    -

    and Boolean operators: -

    -
    A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A || B, !A 
    -
    -

    Each A and B is a number or string or a variable reference like $a or -${abc}, or A or B can be another Boolean expression. -

    -

    If a variable is used it can produce a number when evaluated, like an -equal-style variable. Or it can produce a string, -like an index-style variable. For an individual +contain alphanumeric characters or underscores):

    +
    0.2, 100, 1.0e20, -15.4, etc
    +InP, myString, a123, ab_23_cd, etc
    +
    +
    +

    and Boolean operators:

    +
    A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A || B, !A
    +
    +
    +

    Each A and B is a number or string or a variable reference like $a or +${abc}, or A or B can be another Boolean expression.

    +

    If a variable is used it can produce a number when evaluated, like an +equal-style variable. Or it can produce a string, +like an index-style variable. For an individual Boolean operator, A and B must both be numbers or must both be -strings. You cannot compare a number to a string. -

    -

    Expressions are evaluated left to right and have the usual C-style -precedence: the unary logical NOT operator "!" has the highest -precedence, the 4 relational operators "<", "<=", ">", and ">=" are -next; the two remaining relational operators "==" and "!=" are next; -then the logical AND operator "&&"; and finally the logical OR -operator "||" has the lowest precedence. Parenthesis can be used to +strings. You cannot compare a number to a string.

    +

    Expressions are evaluated left to right and have the usual C-style +precedence: the unary logical NOT operator ”!” has the highest +precedence, the 4 relational operators “<”, “<=”, “>”, and “>=” are +next; the two remaining relational operators “==” and ”!=” are next; +then the logical AND operator “&&”; and finally the logical OR +operator “||” has the lowest precedence. Parenthesis can be used to group one or more portions of an expression and/or enforce a different -order of evaluation than what would occur with the default precedence. -

    -

    When the 6 relational operators (first 6 in list above) compare 2 +order of evaluation than what would occur with the default precedence.

    +

    When the 6 relational operators (first 6 in list above) compare 2 numbers, they return either a 1.0 or 0.0 depending on whether the relationship between A and B is TRUE or FALSE. When the 6 relational operators compare 2 strings, they also return a 1.0 or 0.0 for TRUE or -FALSE, but the comparison is done by the C function strcmp(). -

    -

    When the 3 logical operators (last 3 in list above) compare 2 numbers, +FALSE, but the comparison is done by the C function strcmp().

    +

    When the 3 logical operators (last 3 in list above) compare 2 numbers, they also return either a 1.0 or 0.0 depending on whether the relationship between A and B is TRUE or FALSE (or just A). The logical AND operator will return 1.0 if both its arguments are @@ -176,19 +285,83 @@ non-zero, else it returns 0.0. The logical OR operator will return 1.0 if either of its arguments is non-zero, else it returns 0.0. The logical NOT operator returns 1.0 if its argument is 0.0, else it returns 0.0. The 3 logical operators can only be used to operate on -numbers, not on strings. -

    -

    The overall Boolean expression produces a TRUE result if the result is -non-zero. If the result is zero, the expression result is FALSE. -

    -
    +numbers, not on strings.

    +

    The overall Boolean expression produces a TRUE result if the result is +non-zero. If the result is zero, the expression result is FALSE.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable, print -

    -

    Default: none -

    - + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_class2.html b/doc/improper_class2.html index da32179c3d..38d270f59d 100644 --- a/doc/improper_class2.html +++ b/doc/improper_class2.html @@ -1,131 +1,293 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style class2 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style class2 command -

    -

    improper_style class2/omp command -

    -

    Syntax: -

    -
    improper_style class2 
    -
    -

    Examples: -

    -
    improper_style class2
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style class2 command¶

    +
    +
    +

    improper_style class2/omp command¶

    +
    +

    Syntax¶

    +
    improper_style class2
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style class2
     improper_coeff 1 100.0 0
    -improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06 
    -
    -

    Description: -

    -

    The class2 improper style uses the potential -

    -
    -
    -

    where Ei is the improper term and Eaa is an angle-angle term. The 3 X -terms in Ei are an average over 3 out-of-plane angles. -

    -

    The 4 atoms in an improper quadruplet (listed in the data file read by -the read_data command) are ordered I,J,K,L. X_IJKL +improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06 +

    + + +
    +

    Description¶

    +

    The class2 improper style uses the potential

    +_images/improper_class2.jpg +

    where Ei is the improper term and Eaa is an angle-angle term. The 3 X +terms in Ei are an average over 3 out-of-plane angles.

    +

    The 4 atoms in an improper quadruplet (listed in the data file read by +the read_data command) are ordered I,J,K,L. X_IJKL refers to the angle between the plane of I,J,K and the plane of J,K,L, and the bond JK lies in both planes. Similarly for X_KJLI and X_LJIK. Note that atom J appears in the common bonds (JI, JK, JL) of all 3 X terms. Thus J (the 2nd atom in the quadruplet) is the atom of -symmetry in the 3 X angles. -

    -

    The subscripts on the various theta's refer to different combinations +symmetry in the 3 X angles.

    +

    The subscripts on the various theta’s refer to different combinations of 3 atoms (I,J,K,L) used to form a particular angle. E.g. Theta_IJL is the angle formed by atoms I,J,L with J in the middle. Theta1, theta2, theta3 are the equilibrium positions of those angles. Again, atom J (the 2nd atom in the quadruplet) is the atom of symmetry in the -theta angles, since it is always the center atom. -

    -

    Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L +theta angles, since it is always the center atom.

    +

    Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L would exist for an improper to be defined between the 4 atoms, but -this is not required. -

    -

    See (Sun) for a description of the COMPASS class2 force field. -

    -

    Coefficients for the Ei and Eaa formulas must be defined for each -improper type via the improper_coeff command as +this is not required.

    +

    See (Sun) for a description of the COMPASS class2 force field.

    +

    Coefficients for the Ei and Eaa formulas must be defined for each +improper type via the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands. -

    -

    These are the 2 coefficients for the Ei formula: -

    -
    • K (energy/radian^2) -
    • X0 (degrees) -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -

    For the Eaa formula, each line in a -improper_coeff command in the input script lists -7 coefficients, the first of which is "aa" to indicate they are +read_data or read_restart +commands.

    +

    These are the 2 coefficients for the Ei formula:

    +
      +
    • K (energy/radian^2)
    • +
    • X0 (degrees)
    • +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +

    For the Eaa formula, each line in a +improper_coeff command in the input script lists +7 coefficients, the first of which is “aa” to indicate they are AngleAngle coefficients. In a data file, these coefficients should be -listed under a "AngleAngle Coeffs" heading and you must leave out the -"aa", i.e. only list 6 coefficients after the improper type. -

    -
    • aa -
    • M1 (energy/distance) -
    • M2 (energy/distance) -
    • M3 (energy/distance) -
    • theta1 (degrees) -
    • theta2 (degrees) -
    • theta3 (degrees) -
    -

    The theta values are specified in degrees, but LAMMPS converts them to -radians internally; hence the units of M are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +listed under a “AngleAngle Coeffs” heading and you must leave out the +“aa”, i.e. only list 6 coefficients after the improper type.

    +
      +
    • aa
    • +
    • M1 (energy/distance)
    • +
    • M2 (energy/distance)
    • +
    • M3 (energy/distance)
    • +
    • theta1 (degrees)
    • +
    • theta2 (degrees)
    • +
    • theta3 (degrees)
    • +
    +

    The theta values are specified in degrees, but LAMMPS converts them to +radians internally; hence the units of M are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +CLASS2 package. See the Making LAMMPS +section for more info on packages.

    +
    + + -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -CLASS2 package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_coeff.html b/doc/improper_coeff.html index bd67c5f64d..1a082180d6 100644 --- a/doc/improper_coeff.html +++ b/doc/improper_coeff.html @@ -1,102 +1,278 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_coeff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_coeff command -

    -

    Syntax: -

    -
    improper_coeff N args 
    -
    -
    • N = improper type (see asterisk form below) -
    • args = coefficients for one or more improper types -
    -

    Examples: -

    -
    improper_coeff 1 300.0 0.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_coeff command¶

    +
    +

    Syntax¶

    +
    improper_coeff N args
    +
    +
    +
      +
    • N = improper type (see asterisk form below)
    • +
    • args = coefficients for one or more improper types
    • +
    +
    +
    +

    Examples¶

    +
    improper_coeff 1 300.0 0.0
     improper_coeff * 80.2 -1 2
    -improper_coeff *4 80.2 -1 2 
    -
    -

    Description: -

    -

    Specify the improper force field coefficients for one or more improper +improper_coeff *4 80.2 -1 2 +

    + + +
    +

    Description¶

    +

    Specify the improper force field coefficients for one or more improper types. The number and meaning of the coefficients depends on the improper style. Improper coefficients can also be set in the data -file read by the read_data command or in a restart -file. -

    -

    N can be specified in one of two ways. An explicit numeric value can +file read by the read_data command or in a restart +file.

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the coefficients for multiple improper types. This takes -the form "*" or "*n" or "n*" or "m*n". If N = the number of improper +the form “*” or “n” or “n” or “m*n”. If N = the number of improper types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle -asterisk means all types from m to n (inclusive). -

    -

    Note that using an improper_coeff command can override a previous +asterisk means all types from m to n (inclusive).

    +

    Note that using an improper_coeff command can override a previous setting for the same improper type. For example, these commands set the coeffs for all improper types, then overwrite the coeffs for just -improper type 2: -

    -
    improper_coeff * 300.0 0.0
    -improper_coeff 2 50.0 0.0 
    -
    -

    A line in a data file that specifies improper coefficients uses the +improper type 2:

    +
    improper_coeff * 300.0 0.0
    +improper_coeff 2 50.0 0.0
    +
    +
    +

    A line in a data file that specifies improper coefficients uses the exact same format as the arguments of the improper_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, -under the "Improper Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as -

    -
    1 300.0 0.0 
    -
    -

    The improper_style class2 is an exception to +under the “Improper Coeffs” section of a data file, the line that +corresponds to the 1st example above would be listed as

    +
    1 300.0 0.0
    +
    +
    +

    The improper_style class2 is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc -page for details. -

    -
    - -

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on +page for details.

    +
    +

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated improper_coeff command. -

    -

    Note that there are also additional improper styles submitted by users +specified by the associated improper_coeff command.

    +

    Note that there are also additional improper styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the improper section of -this page. -

    - - -
    +this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +

    An improper style must be defined before any improper coefficients are +set, either in the input script or in a data file.

    +
    + + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    An improper style must be defined before any improper coefficients are -set, either in the input script or in a data file. -

    -

    Related commands: -

    -

    improper_style -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_cossq.html b/doc/improper_cossq.html index 6bdb36927c..0c239479d8 100644 --- a/doc/improper_cossq.html +++ b/doc/improper_cossq.html @@ -1,95 +1,265 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style cossq command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style cossq command -

    -

    improper_style cossq/omp command -

    -

    Syntax: -

    -
    improper_style cossq 
    -
    -

    Examples: -

    -
    improper_style cossq
    -improper_coeff 1 4.0 0.0 
    -
    -

    Description: -

    -

    The cossq improper style uses the potential -

    -
    -
    -

    where x is the improper angle, x0 is its equilibrium value, and K is a -prefactor. -

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then X + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style cossq command¶

    +
    +
    +

    improper_style cossq/omp command¶

    +
    +

    Syntax¶

    +
    improper_style cossq
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style cossq
    +improper_coeff 1 4.0 0.0
    +
    +
    +
    +
    +

    Description¶

    +

    The cossq improper style uses the potential

    +_images/improper_cossq.jpg +

    where x is the improper angle, x0 is its equilibrium value, and K is a +prefactor.

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then X is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. -

    -

    Note that defining 4 atoms to interact in this way, does not mean that +is with respect to the other 3 atoms.

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. -

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms.

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy/radian^2) -
    • X0 (degrees) -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy/radian^2)
    • +
    • X0 (degrees)
    • +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_cvff.html b/doc/improper_cvff.html index b437e7c029..9bd64346af 100644 --- a/doc/improper_cvff.html +++ b/doc/improper_cvff.html @@ -1,92 +1,262 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style cvff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style cvff command -

    -

    improper_style cvff/omp command -

    -

    Syntax: -

    -
    improper_style cvff 
    -
    -

    Examples: -

    -
    improper_style cvff
    -improper_coeff 1 80.0 -1 4 
    -
    -

    Description: -

    -

    The cvff improper style uses the potential -

    -
    -
    -

    where phi is the improper dihedral angle. -

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style cvff command¶

    +
    +
    +

    improper_style cvff/omp command¶

    +
    +

    Syntax¶

    +
    improper_style cvff
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style cvff
    +improper_coeff 1 80.0 -1 4
    +
    +
    +
    +
    +

    Description¶

    +

    The cvff improper style uses the potential

    +_images/improper_cvff.jpg +

    where phi is the improper dihedral angle.

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then the improper dihedral angle is between the plane of I,J,K and the plane of J,K,L. Note that because this is effectively a dihedral angle, the formula for this improper style is the same as for -dihedral_style harmonic. -

    -

    Note that defining 4 atoms to interact in this way, does not mean that +dihedral_style harmonic.

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. -

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms.

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy) -
    • d (+1 or -1) -
    • n (0,1,2,3,4,6) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy)
    • +
    • d (+1 or -1)
    • +
    • n (0,1,2,3,4,6)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_fourier.html b/doc/improper_fourier.html index 5b3478deb5..a3f8557fec 100644 --- a/doc/improper_fourier.html +++ b/doc/improper_fourier.html @@ -1,87 +1,258 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style fourier command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style fourier command -

    -

    improper_style fourier/omp command -

    -

    Syntax: -

    -
    improper_style fourier 
    -
    -

    Examples: -

    -
    improper_style fourier
    -improper_coeff 1 100.0 180.0 
    -
    -

    Description: -

    -

    The fourier improper style uses the following potential: -

    -
    -
    -

    where K is the force constant and omega is the angle between the IL -axis and the IJK plane: -

    -
    -
    -

    If all parameter (see bellow) 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 command as in the example + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style fourier command¶

    +
    +
    +

    improper_style fourier/omp command¶

    +
    +

    Syntax¶

    +
    improper_style fourier
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style fourier
    +improper_coeff 1 100.0 180.0
    +
    +
    +
    +
    +

    Description¶

    +

    The fourier improper style uses the following potential:

    +_images/improper_fourier.jpg +

    where K is the force constant and omega is the angle between the IL +axis and the IJK plane:

    +_images/umbrella.jpg +

    If all parameter (see bellow) 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 command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy) -
    • C0 (real) -
    • C1 (real) -
    • C2 (real) -
    • all (integer >= 0) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy)
    • +
    • C0 (real)
    • +
    • C1 (real)
    • +
    • C2 (real)
    • +
    • all (integer >= 0)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER_MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_harmonic.html b/doc/improper_harmonic.html index 771d27faaa..0bbb8c21c1 100644 --- a/doc/improper_harmonic.html +++ b/doc/improper_harmonic.html @@ -1,97 +1,267 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style harmonic command -

    -

    improper_style harmonic/kk command -

    -

    improper_style harmonic/omp command -

    -

    Syntax: -

    -
    improper_style harmonic 
    -
    -

    Examples: -

    -
    improper_style harmonic
    -improper_coeff 1 100.0 0 
    -
    -

    Description: -

    -

    The harmonic improper style uses the potential -

    -
    -
    -

    where X is the improper angle, X0 is its equilibrium value, and K is a -prefactor. Note that the usual 1/2 factor is included in K. -

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered I,J,K,L then X + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style harmonic command¶

    +
    +
    +

    improper_style harmonic/kk command¶

    +
    +
    +

    improper_style harmonic/omp command¶

    +
    +

    Syntax¶

    +
    improper_style harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style harmonic
    +improper_coeff 1 100.0 0
    +
    +
    +
    +
    +

    Description¶

    +

    The harmonic improper style uses the potential

    +_images/improper_harmonic.jpg +

    where X is the improper angle, X0 is its equilibrium value, and K is a +prefactor. Note that the usual 1/2 factor is included in K.

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered I,J,K,L then X is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. -

    -

    Note that defining 4 atoms to interact in this way, does not mean that +is with respect to the other 3 atoms.

    +

    Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. -

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +improper to be defined between the 4 atoms.

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy/radian^2) -
    • X0 (degrees) -
    -

    X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy/radian^2)
    • +
    • X0 (degrees)
    • +
    +

    X0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_hybrid.html b/doc/improper_hybrid.html index c0903b607f..8f8211050d 100644 --- a/doc/improper_hybrid.html +++ b/doc/improper_hybrid.html @@ -1,75 +1,251 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style hybrid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style hybrid command -

    -

    Syntax: -

    -
    improper_style hybrid style1 style2 ... 
    -
    -
    • style1,style2 = list of one or more improper styles -
    -

    Examples: -

    -
    improper_style hybrid harmonic helix
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style hybrid command¶

    +
    +

    Syntax¶

    +
    improper_style hybrid style1 style2 ...
    +
    +
    +
      +
    • style1,style2 = list of one or more improper styles
    • +
    +
    +
    +

    Examples¶

    +
    improper_style hybrid harmonic helix
     improper_coeff 1 harmonic 120.0 30
    -improper_coeff 2 cvff 20.0 -1 2 
    -
    -

    Description: -

    -

    The hybrid style enables the use of multiple improper styles in one +improper_coeff 2 cvff 20.0 -1 2 +

    + + +
    +

    Description¶

    +

    The hybrid style enables the use of multiple improper styles in one simulation. An improper style is assigned to each improper type. For example, impropers in a polymer flow (of improper type 1) could be -computed with a harmonic potential and impropers in the wall -boundary (of improper type 2) could be computed with a cvff +computed with a harmonic potential and impropers in the wall +boundary (of improper type 2) could be computed with a cvff potential. The assignment of improper type to style is made via the -improper_coeff command or in the data file. -

    -

    In the improper_coeff command, the first coefficient sets the improper +improper_coeff command or in the data file.

    +

    In the improper_coeff command, the first coefficient sets the improper style and the remaining coefficients are those appropriate to that style. In the example above, the 2 improper_coeff commands would set -impropers of improper type 1 to be computed with a harmonic +impropers of improper type 1 to be computed with a harmonic potential with coefficients 120.0, 30 for K, X0. Improper type 2 -would be computed with a cvff potential with coefficients 20.0, -1, -2 for K, d, n. -

    -

    If the improper class2 potential is one of the hybrid styles, it +would be computed with a cvff potential with coefficients 20.0, -1, +2 for K, d, n.

    +

    If the improper class2 potential is one of the hybrid styles, it requires additional AngleAngle coefficients be specified in the data -file. These lines must also have an additional "class2" argument +file. These lines must also have an additional “class2” argument added after the improper type. For improper types which are assigned -to other hybrid styles, use the style name (e.g. "harmonic") +to other hybrid styles, use the style name (e.g. “harmonic”) appropriate to that style. The AngleAngle coeffs for that improper -type will then be ignored. -

    -

    An improper style of none can be specified as the 2nd argument to +type will then be ignored.

    +

    An improper style of none can be specified as the 2nd argument to the improper_coeff command, if you desire to turn off certain improper -types. -

    -
    +types.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +

    Unlike other improper styles, the hybrid improper style does not store +improper coefficient info for individual sub-styles in a binary restart files. Thus when retarting a simulation from a +restart file, you need to re-specify improper_coeff commands.

    +
    + + -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Unlike other improper styles, the hybrid improper style does not store -improper coefficient info for individual sub-styles in a binary -restart files. Thus when retarting a simulation from a -restart file, you need to re-specify improper_coeff commands. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_none.html b/doc/improper_none.html index bfd664f385..d19a069bb5 100644 --- a/doc/improper_none.html +++ b/doc/improper_none.html @@ -1,34 +1,218 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style none command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style none command -

    -

    Syntax: -

    -
    improper_style none 
    -
    -

    Examples: -

    -
    improper_style none 
    -
    -

    Description: -

    -

    Using an improper style of none means improper forces are not + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style none command¶

    +
    +

    Syntax¶

    +
    improper_style none
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style none
    +
    +
    +
    +
    +

    Description¶

    +

    Using an improper style of none means improper forces are not computed, even if quadruplets of improper atoms were listed in the -data file read by the read_data command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +data file read by the read_data command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_ring.html b/doc/improper_ring.html index 9e1ab3c26a..956c16fa9a 100644 --- a/doc/improper_ring.html +++ b/doc/improper_ring.html @@ -1,102 +1,270 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style ring command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style ring command -

    -

    improper_style ring/omp command -

    -

    Syntax: -

    -
    improper_style ring 
    -
    -

    Examples: -

    -
    improper_style ring
    -improper_coeff 1 8000 70.5 
    -
    -

    Description: -

    -

    The ring improper style uses the potential -

    -
    -
    -

    where K is a prefactor, theta is the angle formed by the atoms -specified by (i,j,k,l) indices and theta0 its equilibrium value. -

    -

    If the 4 atoms in an improper quadruplet (listed in the data file read -by the read_data command) are ordered i,j,k,l then -theta_ijl is the angle between atoms i,j and l, theta_ijk is the -angle between atoms i,j and k, theta_kjl is the angle between atoms -j,k, and l. -

    -

    The "ring" improper style implements the improper potential introduced -by Destree et al., in Equation (9) of (Destree). This + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style ring command¶

    +
    +
    +

    improper_style ring/omp command¶

    +
    +

    Syntax¶

    +
    improper_style ring
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style ring
    +improper_coeff 1 8000 70.5
    +
    +
    +
    +
    +

    Description¶

    +

    The ring improper style uses the potential

    +_images/improper_ring.jpg +

    where K is a prefactor, theta is the angle formed by the atoms +specified by (i,j,k,l) indices and theta0 its equilibrium value.

    +

    If the 4 atoms in an improper quadruplet (listed in the data file read +by the read_data command) are ordered i,j,k,l then +theta_*ijl* is the angle between atoms i,j and l, theta_*ijk* is the +angle between atoms i,j and k, theta_*kjl* is the angle between atoms +j,k, and l.

    +

    The “ring” improper style implements the improper potential introduced +by Destree et al., in Equation (9) of (Destree). This potential does not affect small amplitude vibrations but is used in an ad-hoc way to prevent the onset of accidentially large amplitude fluctuations leading to the occurrence of a planar conformation of the three bonds i-j, j-k and j-l, an intermediate conformation toward the -chiral inversion of a methine carbon. In the "Impropers" section of +chiral inversion of a methine carbon. In the “Impropers” section of data file four atoms: i, j, k and l are specified with i,j and l lying -on the backbone of the chain and k specifying the chirality of j. -

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +on the backbone of the chain and k specifying the chirality of j.

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy/radian^2) -
    • theta0 (degrees) -
    -

    theta0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy/radian^2)
    • +
    • theta0 (degrees)
    • +
    +

    theta0 is specified in degrees, but LAMMPS converts it to radians +internally; hence the units of K are in energy/radian^2.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    - -

    (Destree) M. Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, -J Chem Phys, 112, 9632 (2000). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_style.html b/doc/improper_style.html index c7deed3da6..96ed401e22 100644 --- a/doc/improper_style.html +++ b/doc/improper_style.html @@ -1,99 +1,278 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style command -

    -

    Syntax: -

    -
    improper_style style 
    -
    -
    • style = none or hybrid or class2 or cvff or harmonic -
    -

    Examples: -

    -
    improper_style harmonic
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style command¶

    +
    +

    Syntax¶

    +
    improper_style style
    +
    +
    +
      +
    • style = none or hybrid or class2 or cvff or harmonic
    • +
    +
    +
    +

    Examples¶

    +
    improper_style harmonic
     improper_style cvff
    -improper_style hybrid cvff harmonic 
    -
    -

    Description: -

    -

    Set the formula(s) LAMMPS uses to compute improper interactions +improper_style hybrid cvff harmonic +

    + + +
    +

    Description¶

    +

    Set the formula(s) LAMMPS uses to compute improper interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of improper quadruplets is read in by a -read_data or read_restart command +read_data or read_restart command from a data or restart file. Note that the ordering of the 4 atoms in an improper quadruplet determines the the definition of the improper angle used in the formula for each style. See the doc pages of -individual styles for details. -

    -

    Hybrid models where impropers are computed using different improper -potentials can be setup using the hybrid improper style. -

    -

    The coefficients associated with an improper style can be specified in -a data or restart file or via the improper_coeff -command. -

    -

    All improper potentials store their coefficient data in binary restart +individual styles for details.

    +

    Hybrid models where impropers are computed using different improper +potentials can be setup using the hybrid improper style.

    +

    The coefficients associated with an improper style can be specified in +a data or restart file or via the improper_coeff +command.

    +

    All improper potentials store their coefficient data in binary restart files which means improper_style and -improper_coeff commands do not need to be +improper_coeff commands do not need to be re-specified in an input script that restarts a simulation. See the -read_restart command for details on how to do -this. The one exception is that improper_style hybrid only stores +read_restart command for details on how to do +this. The one exception is that improper_style hybrid only stores the list of sub-styles in the restart file; improper coefficients need -to be re-specified. -

    -

    IMPORTANT NOTE: When both an improper and pair style is defined, the -special_bonds command often needs to be used to +to be re-specified.

    +
    +

    Warning

    +

    When both an improper and pair style is defined, the +special_bonds command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise -exist between a group of 4 bonded atoms. -

    -
    - -

    Here is an alphabetic list of improper styles defined in LAMMPS. +exist between a group of 4 bonded atoms.

    +
    +
    +

    Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated improper_coeff -command. -

    -

    Note that there are also additional improper styles submitted by users +specified by the associated improper_coeff +command.

    +

    Note that there are also additional improper styles submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the improper section of -this page. -

    - - -
    - -

    Restrictions: -

    -

    Improper styles can only be set for atom_style choices that allow -impropers to be defined. -

    -

    Most improper styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. +this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    Improper styles can only be set for atom_style choices that allow +impropers to be defined.

    +

    Most improper styles are part of the MOLECULE package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. The doc pages for individual improper potentials tell if it is part of -a package. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: -

    -
    improper_style none 
    -
    - +a package.

    +
    + +
    +

    Default¶

    +
    improper_style none
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/improper_umbrella.html b/doc/improper_umbrella.html index 2774452ae0..737edb0b20 100644 --- a/doc/improper_umbrella.html +++ b/doc/improper_umbrella.html @@ -1,97 +1,262 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + improper_style umbrella command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    improper_style umbrella command -

    -

    improper_style umbrella/omp command -

    -

    Syntax: -

    -
    improper_style umbrella 
    -
    -

    Examples: -

    -
    improper_style umbrella
    -improper_coeff 1 100.0 180.0 
    -
    -

    Description: -

    -

    The umbrella improper style uses the following potential, which is + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    improper_style umbrella command¶

    +
    +
    +

    improper_style umbrella/omp command¶

    +
    +

    Syntax¶

    +
    improper_style umbrella
    +
    +
    +
    +
    +

    Examples¶

    +
    improper_style umbrella
    +improper_coeff 1 100.0 180.0
    +
    +
    +
    +
    +

    Description¶

    +

    The umbrella improper style uses the following potential, which is commonly referred to as a classic inversion and used in the -DREIDING force field: -

    -
    -
    -

    where K is the force constant and omega is the angle between the IL -axis and the IJK plane: -

    -
    -
    -

    If omega0 = 0 the potential term has a minimum for the planar +DREIDING force field:

    +_images/improper_umbrella.jpg +

    where K is the force constant and omega is the angle between the IL +axis and the IJK plane:

    +_images/umbrella.jpg +

    If omega0 = 0 the potential term has a minimum for the planar structure. Otherwise it has two minima at +/- omega0, with a barrier -in between. -

    -

    See (Mayo) for a description of the DREIDING force field. -

    -

    The following coefficients must be defined for each improper type via -the improper_coeff command as in the example +in between.

    +

    See (Mayo) for a description of the DREIDING force field.

    +

    The following coefficients must be defined for each improper type via +the improper_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • K (energy) -
    • omega0 (degrees) -
    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • K (energy)
    • +
    • omega0 (degrees)
    • +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This improper style can only be used if LAMMPS was built with the +MOLECULE package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This improper style can only be used if LAMMPS was built with the -MOLECULE package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    improper_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990), -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/include.html b/doc/include.html index f7ba914eac..afbfb798bc 100644 --- a/doc/include.html +++ b/doc/include.html @@ -1,45 +1,230 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + include command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    include command -

    -

    Syntax: -

    -
    include file 
    -
    -
    • file = filename of new input script to switch to -
    -

    Examples: -

    -
    include newfile
    -include in.run2 
    -
    -

    Description: -

    -

    This command opens a new input script file and begins reading LAMMPS + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    include command¶

    +
    +

    Syntax¶

    +
    include file
    +
    +
    +
      +
    • file = filename of new input script to switch to
    • +
    +
    +
    +

    Examples¶

    +
    include newfile
    +include in.run2
    +
    +
    +
    +
    +

    Description¶

    +

    This command opens a new input script file and begins reading LAMMPS commands from that file. When the new file is finished, the original file is returned to. Include files can be nested as deeply as desired. If input script A includes script B, and B includes A, then -LAMMPS could run for a long time. -

    -

    If the filename is a variable (see the variable +LAMMPS could run for a long time.

    +

    If the filename is a variable (see the variable command), different processor partitions can run different input -scripts. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    variable, jump -

    -

    Default: none -

    - +scripts.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/info.html b/doc/info.html index 0a9dec096e..f7f17e6d85 100644 --- a/doc/info.html +++ b/doc/info.html @@ -1,85 +1,261 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + info command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    info command -

    -

    Syntax: -

    -
    info args 
    -
    -

    args = one or more of the following keywords: out, all, system, computes, dumps, fixes, groups, regions, variables, time, or configuration - out values = screen, log, append filename, overwrite filename:ul -

    -

    Examples: -

    -
    info system
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    info command¶

    +
    +

    Syntax¶

    +
    info args
    +
    +
    +
    +
    args = one or more of the following keywords: out, all, system, computes, dumps, fixes, groups, regions, variables, time, or configuration
    +
    out values = screen, log, append filename, overwrite filename:ul
    +
    +
    +
    +

    Examples¶

    +
    info system
     info groups computes variables
     info all out log
    -info all out append info.txt 
    -
    -

    Description: -

    -

    Print out information about the current internal state of the running +info all out append info.txt +

    + + +
    +

    Description¶

    +

    Print out information about the current internal state of the running LAMMPS process. This can be helpful when debugging or validating complex input scripts. Several output categories are available and -one or more output category may be requested. -

    -

    The out flag controls where the output is sent. It can only be sent +one or more output category may be requested.

    +

    The out flag controls where the output is sent. It can only be sent to one target. By default this is the screen, if it is active. The -log argument selects the log file instead. With the append and -overwrite option, followed by a filename, the output is written -to that file, which is either appended to or overwritten, respectively. -

    -

    The all flag activates printing all categories listed below. -

    -

    The system category prints a general system overview listing. This +log argument selects the log file instead. With the append and +overwrite option, followed by a filename, the output is written +to that file, which is either appended to or overwritten, respectively.

    +

    The all flag activates printing all categories listed below.

    +

    The system category prints a general system overview listing. This includes the unit style, atom style, number of atoms, bonds, angles, dihedrals, and impropers and the number of the respective types, box -dimensions and properties, force computing styles and more. -

    -

    The computes category prints a list of all currently defined -computes, their IDs and styles and groups they operate on. -

    -

    The dumps category prints a list of all currently active dumps, -their IDs, styles, filenames, groups, and dump frequencies. -

    -

    The fixes category prints a list of all currently defined fixes, -their IDs and styles and groups they operate on. -

    -

    The groups category prints a list of all currently defined groups. -

    -

    The regions category prints a list of all currently defined regions, -their IDs and styles and whether "inside" or "outside" atoms are -selected. -

    -

    The variables category prints a list of all currently defined +dimensions and properties, force computing styles and more.

    +

    The computes category prints a list of all currently defined +computes, their IDs and styles and groups they operate on.

    +

    The dumps category prints a list of all currently active dumps, +their IDs, styles, filenames, groups, and dump frequencies.

    +

    The fixes category prints a list of all currently defined fixes, +their IDs and styles and groups they operate on.

    +

    The groups category prints a list of all currently defined groups.

    +

    The regions category prints a list of all currently defined regions, +their IDs and styles and whether “inside” or “outside” atoms are +selected.

    +

    The variables category prints a list of all currently defined variables, their names, styles, definition and last computed value, if -available. -

    -

    The time category prints the accumulated CPU and wall time for the -process that writes output (usually MPI rank 0). -

    -

    The configuration command prints some information about the LAMMPS +available.

    +

    The time category prints the accumulated CPU and wall time for the +process that writes output (usually MPI rank 0).

    +

    The configuration command prints some information about the LAMMPS version and architection and OS it is run on. Where supported, also information about the memory consumption provided by the OS is -reported. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    print -

    -

    Default: -

    -

    The out option has the default screen. -

    - +reported.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The out option has the default screen.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/jump.html b/doc/jump.html index 5fa7246628..c8ac52f235 100644 --- a/doc/jump.html +++ b/doc/jump.html @@ -1,136 +1,320 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + jump command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    jump command -

    -

    Syntax: -

    -
    jump file label 
    -
    -
    • file = filename of new input script to switch to -
    • label = optional label within file to jump to -
    -

    Examples: -

    -
    jump newfile
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    jump command¶

    +
    +

    Syntax¶

    +
    jump file label
    +
    +
    +
      +
    • file = filename of new input script to switch to
    • +
    • label = optional label within file to jump to
    • +
    +
    +
    +

    Examples¶

    +
    jump newfile
     jump in.run2 runloop
    -jump SELF runloop 
    -
    -

    Description: -

    -

    This command closes the current input script file, opens the file with +jump SELF runloop +

    + + +
    +

    Description¶

    +

    This command closes the current input script file, opens the file with the specified name, and begins reading LAMMPS commands from that file. -Unlike the include command, the original file is not +Unlike the include command, the original file is not returned to, although by using multiple jump commands it is possible -to chain from file to file or back to the original file. -

    -

    If the word "SELF" is used for the filename, then the current input -script is re-opened and read again. -

    -

    IMPORTANT NOTE: The SELF option is not guaranteed to work when the +to chain from file to file or back to the original file.

    +

    If the word “SELF” is used for the filename, then the current input +script is re-opened and read again.

    +
    +

    Warning

    +

    The SELF option is not guaranteed to work when the current input script is being read through stdin (standard input), -e.g. -

    -
    lmp_g++ < in.script 
    -
    -

    since the SELF option invokes the C-library rewind() call, which may +e.g.

    +
    +
    lmp_g++ < in.script
    +
    +
    +

    since the SELF option invokes the C-library rewind() call, which may not be supported for stdin on some systems or by some MPI -implementations. This can be worked around by using the -in -command-line argument, e.g. -

    -
    lmp_g++ -in in.script 
    -
    -

    or by using the -var command-line -argument to pass the script name as a +implementations. This can be worked around by using the -in command-line argument, e.g.

    +
    lmp_g++ -in in.script
    +
    +
    +

    or by using the -var command-line argument to pass the script name as a variable to the input script. In the latter case, a -variable called "fname" could be used in place of -SELF, e.g. -

    -
    lmp_g++ -var fname in.script < in.script 
    -
    -

    The 2nd argument to the jump command is optional. If specified, it is +variable called “fname” could be used in place of +SELF, e.g.

    +
    lmp_g++ -var fname in.script < in.script
    +
    +
    +

    The 2nd argument to the jump command is optional. If specified, it is treated as a label and the new file is scanned (without executing commands) until the label is found, and commands are executed from that point forward. This can be used to loop over a portion of the input script, as in this example. These commands perform 10 runs, each of 10000 steps, and create 10 dump files named file.1, file.2, -etc. The next command is used to exit the loop after 10 -iterations. When the "a" variable has been incremented for the tenth -time, it will cause the next jump command to be skipped. -

    -
    variable a loop 10
    +etc.  The next command is used to exit the loop after 10
    +iterations.  When the “a” variable has been incremented for the tenth
    +time, it will cause the next jump command to be skipped.

    +
    variable a loop 10
     label loop
     dump 1 all atom 100 file.$a
     run 10000
     undump 1
     next a
    -jump in.lj loop 
    -
    -

    If the jump file argument is a variable, the jump command can be +jump in.lj loop +

    + +

    If the jump file argument is a variable, the jump command can be used to cause different processor partitions to run different input scripts. In this example, LAMMPS is run on 40 processors, with 4 partitions of 10 procs each. An in.file containing the example variable and jump command will cause each partition to run a different -simulation. -

    -
    mpirun -np 40 lmp_ibm -partition 4x10 -in in.file 
    -
    -
    variable f world script.1 script.2 script.3 script.4
    -jump $f 
    -
    -

    Here is an example of a loop which checks every 1000 steps if the +simulation.

    +
    mpirun -np 40 lmp_ibm -partition 4x10 -in in.file
    +
    +
    +
    variable f world script.1 script.2 script.3 script.4
    +jump $f
    +
    +
    +

    Here is an example of a loop which checks every 1000 steps if the system temperature has reached a certain value, and if so, breaks out of the loop to finish the run. Note that any variable could be checked, so long as it is current on the timestep when the run -completes. As explained on the variable doc page, -this can be insured by includig the variable in thermodynamic output. -

    -
    variable myTemp equal temp
    +completes.  As explained on the variable doc page,
    +this can be insured by includig the variable in thermodynamic output.

    +
    variable myTemp equal temp
     label loop
     variable a loop 1000
     run 1000
    -if "${myTemp} < 300.0" then "jump SELF break"
    +if "${myTemp} < 300.0" then "jump SELF break"
     next a
     jump SELF loop
     label break
    -print "ALL DONE" 
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop. -

    -
    label	    loopa
    +print "ALL DONE"
    +
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop.

    +
    label            loopa
     variable    a loop 5
    -  label	    loopb
    +  label          loopb
       variable  b loop 5
    -  print	    "A,B = $a,$b"
    +  print          "A,B = $a,$b"
       run       10000
    -  if	    "$b > 2" then "jump SELF break"
    -  next	    b
    -  jump	    in.script loopb
    -label	    break
    +  if     "$b > 2" then "jump SELF break"
    +  next           b
    +  jump           in.script loopb
    +label            break
     variable    b delete
    -next	    a
    -jump	    SELF loopa 
    -
    -

    Restrictions: -

    -

    If you jump to a file and it does not contain the specified label, -LAMMPS will come to the end of the file and exit. -

    -

    Related commands: -

    -

    variable, include, label, -next -

    -

    Default: none -

    - +next a +jump SELF loopa +
    + + +
    +

    Restrictions¶

    +

    If you jump to a file and it does not contain the specified label, +LAMMPS will come to the end of the file and exit.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/kspace_modify.html b/doc/kspace_modify.html index 25693a130d..0da78a22fc 100644 --- a/doc/kspace_modify.html +++ b/doc/kspace_modify.html @@ -1,89 +1,205 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + kspace_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    kspace_modify command -

    -

    Syntax: -

    -
    kspace_modify keyword value ... 
    -
    -
    • one or more keyword/value pairs may be listed - -
      keyword = mesh or order or order/disp or mix/disp or overlap or minorder or force or gewald or gewald/disp or slab or (nozforce or compute or cutoff/adjust or fftbench or collective or diff or kmax/ewald or force/disp/real or force/disp/kspace or splittol or disp/auto:l
      -  mesh value = x y z
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      kspace_modify command¶

      +
      +

      Syntax¶

      +
      kspace_modify keyword value ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be listed
      • +
      +
      +keyword = mesh or order or order/disp or mix/disp or overlap or minorder or force or gewald or gewald/disp or slab or (nozforce* or compute or cutoff/adjust or fftbench or collective or diff or kmax/ewald or force/disp/real or force/disp/kspace or splittol or disp/auto:l
      +  mesh value = x y z
           x,y,z = grid size in each dimension for long-range Coulombics
      -  mesh/disp value = x y z
      +  mesh/disp value = x y z
           x,y,z = grid size in each dimension for 1/r^6 dispersion
      -  order value = N
      +  order value = N
           N = extent of Gaussian for PPPM or MSM mapping of charge to grid
      -  order/disp value = N
      +  order/disp value = N
           N = extent of Gaussian for PPPM mapping of dispersion term to grid
      -  mix/disp value = pair or geom or none
      -  overlap = yes or no = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor
      -  minorder value = M
      +  mix/disp value = pair or geom or none
      +  overlap = yes or no = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor
      +  minorder value = M
           M = min allowed extent of Gaussian when auto-adjusting to minimize grid communication
      -  force value = accuracy (force units)
      -  gewald value = rinv (1/distance units)
      +  force value = accuracy (force units)
      +  gewald value = rinv (1/distance units)
           rinv = G-ewald parameter for Coulombics
      -  gewald/disp value = rinv (1/distance units)
      +  gewald/disp value = rinv (1/distance units)
           rinv = G-ewald parameter for dispersion
      -  slab value = volfactor or nozforce
      +  slab value = volfactor or nozforce
           volfactor = ratio of the total extended volume used in the
             2d approximation compared with the volume of the simulation domain
      -  nozforce turns off kspace forces in the z direction
      -  compute value = yes or no 
      -  cutoff/adjust value = yes or no 
      -  pressure/scalar value = yes or no 
      -  fftbench value = yes or no 
      -  collective value = yes or no 
      -  diff value = ad or ik = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode 
      -  kmax/ewald value = kx ky kz 
      +  nozforce turns off kspace forces in the z direction
      +  compute value = yes or no
      +  cutoff/adjust value = yes or no
      +  pressure/scalar value = yes or no
      +  fftbench value = yes or no
      +  collective value = yes or no
      +  diff value = ad or ik = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode
      +  kmax/ewald value = kx ky kz
           kx,ky,kz = number of Ewald sum kspace vectors in each dimension
      -  force/disp/real value = accuracy (force units)
      -  force/disp/kspace value = accuracy (force units)
      -  splittol value = tol
      +  force/disp/real value = accuracy (force units)
      +  force/disp/kspace value = accuracy (force units)
      +  splittol value = tol
           tol = relative size of two eigenvalues (see discussion below)
      -  disp/auto value = yes or no 
      -
      - -
    -

    Examples: -

    -
    kspace_modify mesh 24 24 30 order 6
    -kspace_modify slab 3.0 
    -
    -

    Description: -

    -

    Set parameters used by the kspace solvers defined by the -kspace_style command. Not all parameters are -relevant to all kspace styles. -

    -

    The mesh keyword sets the grid size for kspace style pppm or -msm. In the case of PPPM, this is the FFT mesh, and each dimension + disp/auto value = yes or no + +

    +
    +

    Examples¶

    +
    kspace_modify mesh 24 24 30 order 6
    +kspace_modify slab 3.0
    +
    +
    +
    +
    +

    Description¶

    +

    Set parameters used by the kspace solvers defined by the +kspace_style command. Not all parameters are +relevant to all kspace styles.

    +

    The mesh keyword sets the grid size for kspace style pppm or +msm. In the case of PPPM, this is the FFT mesh, and each dimension must be factorizable into powers of 2, 3, and 5. In the case of MSM, this is the finest scale real-space mesh, and each dimension must be factorizable into powers of 2. When this option is not set, the PPPM or MSM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of -0,0,0 unset the option. -

    -

    The mesh/disp keyword sets the grid size for kspace style -pppm/disp. This is the FFT mesh for long-range dispersion and ach +0,0,0 unset the option.

    +

    The mesh/disp keyword sets the grid size for kspace style +pppm/disp. This is the FFT mesh for long-range dispersion and ach dimension must be factorizable into powers of 2, 3, and 5. When this -option is not set, the PPPM solver chooses its own grid size, +option is not set, the PPPM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. -Values for x,y,z of 0,0,0 unset the option. -

    -

    The order keyword determines how many grid spacings an atom's charge -extends when it is mapped to the grid in kspace style pppm or msm. +Values for x,y,z of 0,0,0 unset the option.

    +

    The order keyword determines how many grid spacings an atom’s charge +extends when it is mapped to the grid in kspace style pppm or msm. The default for this parameter is 5 for PPPM and 8 for MSM, which means each charge spans 5 or 8 grid cells in each dimension, respectively. For the LAMMPS implementation of MSM, the order can @@ -94,63 +210,57 @@ size, to achieve the requested accuracy. Conversely, the smaller the order value, the larger the grid size will be. Note that there is an inherent trade-off involved: a small grid will lower the cost of FFTs or MSM direct sum, but a larger order parameter will increase the cost -of interpolating charge/fields to/from the grid. -

    -

    The order/disp keyword determines how many grid spacings an atom's +of interpolating charge/fields to/from the grid.

    +

    The order/disp keyword determines how many grid spacings an atom’s dispersion term extends when it is mapped to the grid in kspace style -pppm/disp. It has the same meaning as the order setting for -Coulombics. -

    -

    The overlap keyword can be used in conjunction with the minorder +pppm/disp. It has the same meaning as the order setting for +Coulombics.

    +

    The overlap keyword can be used in conjunction with the minorder keyword with the PPPM styles to adjust the amount of communication that occurs when values on the FFT grid are exchangeed between processors. This communication is distinct from the communication inherent in the parallel FFTs themselves, and is required because processors interpolate charge and field values using grid point values owned by neighboring processors (i.e. ghost point communication). If -the overlap keyword is set to yes then this communication is +the overlap keyword is set to yes then this communication is allowed to extend beyond nearest-neighbor processors, e.g. when using -lots of processors on a small problem. If it is set to no then the +lots of processors on a small problem. If it is set to no then the communication will be limited to nearest-neighbor processors and the -order setting will be reduced if necessary, as explained by the -minorder keyword discussion. The overlap keyword is always set to -yes in MSM. -

    -

    The minorder keyword allows LAMMPS to reduce the order setting if +order setting will be reduced if necessary, as explained by the +minorder keyword discussion. The overlap keyword is always set to +yes in MSM.

    +

    The minorder keyword allows LAMMPS to reduce the order setting if necessary to keep the communication of ghost grid point limited to exchanges between nearest-neighbor processors. See the discussion of -the overlap keyword for details. If the overlap keyword is set to -yes, which is the default, this is never needed. If it set to no +the overlap keyword for details. If the overlap keyword is set to +yes, which is the default, this is never needed. If it set to no and overlap occurs, then LAMMPS will reduce the order setting, one step at a time, until the ghost grid overlap only extends to nearest -neighbor processors. The minorder keyword limits how small the -order setting can become. The minimum allowed value for PPPM is 2, -which is the default. If minorder is set to the same value as -order then no reduction is allowed, and LAMMPS will generate an -error if the grid communcation is non-nearest-neighbor and overlap -is set to no. The minorder keyword is not currently supported in -MSM. -

    -

    The PPPM order parameter may be reset by LAMMPS when it sets up the +neighbor processors. The minorder keyword limits how small the +order setting can become. The minimum allowed value for PPPM is 2, +which is the default. If minorder is set to the same value as +order then no reduction is allowed, and LAMMPS will generate an +error if the grid communcation is non-nearest-neighbor and overlap +is set to no. The minorder keyword is not currently supported in +MSM.

    +

    The PPPM order parameter may be reset by LAMMPS when it sets up the FFT grid if the implied grid stencil extends beyond the grid cells owned by neighboring processors. Typically this will only occur when small problems are run on large numbers of processors. A warning will be generated indicating the order parameter is being reduced to allow LAMMPS to run the problem. Automatic adjustment of the order parameter -is not supported in MSM. -

    -

    The force keyword overrides the relative accuracy parameter set by -the kspace_style command with an absolute +is not supported in MSM.

    +

    The force keyword overrides the relative accuracy parameter set by +the kspace_style command with an absolute accuracy. The accuracy determines the RMS error in per-atom forces calculated by the long-range solver and is thus specified in force units. A negative value for the accuracy setting means to use the relative accuracy parameter. The accuracy setting is used in conjunction with the pairwise cutoff to determine the number of -K-space vectors for style ewald, the FFT grid size for style -pppm, or the real space grid size for style msm. -

    -

    The gewald keyword sets the value of the Ewald or PPPM G-ewald -parameter for charge as rinv in reciprocal distance units. Without +K-space vectors for style ewald, the FFT grid size for style +pppm, or the real space grid size for style msm.

    +

    The gewald keyword sets the value of the Ewald or PPPM G-ewald +parameter for charge as rinv in reciprocal distance units. Without this setting, LAMMPS chooses the parameter automatically as a function of cutoff, precision, grid spacing, etc. This means it can vary from one simulation to the next which may not be desirable for matching a @@ -158,15 +268,13 @@ KSpace solver to a pre-tabulated pairwise potential. This setting can also be useful if Ewald or PPPM fails to choose a good grid spacing and G-ewald parameter automatically. If the value is set to 0.0, LAMMPS will choose the G-ewald parameter automatically. MSM does not -use the gewald parameter. -

    -

    The gewald/disp keyword sets the value of the Ewald or PPPM G-ewald -parameter for dispersion as rinv in reciprocal distance units. It -has the same meaning as the gewald setting for Coulombics. -

    -

    The slab keyword allows an Ewald or PPPM solver to be used for a +use the gewald parameter.

    +

    The gewald/disp keyword sets the value of the Ewald or PPPM G-ewald +parameter for dispersion as rinv in reciprocal distance units. It +has the same meaning as the gewald setting for Coulombics.

    +

    The slab keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a -boundary setting of "boundary p p f". This is done by +boundary setting of “boundary p p f”. This is done by treating the system as if it were periodic in z, but inserting empty volume between atom slabs and removing dipole inter-slab interactions so that slab-slab interactions are effectively turned off. The @@ -175,176 +283,209 @@ by the actual dimension in z. The recommended value is 3.0. A larger value is inefficient; a smaller value introduces unwanted slab-slab interactions. The use of fixed boundaries in z means that the user must prevent particle migration beyond the initial z-bounds, typically -by providing a wall-style fix. The methodology behind the slab -option is explained in the paper by (Yeh). The slab option +by providing a wall-style fix. The methodology behind the slab +option is explained in the paper by (Yeh). The slab option is also extended to non-neutral systems -(Ballenegger). An alternative slab option can be -invoked with the nozforce keyword in lieu of the volfactor. This -turns off all kspace forces in the z direction. The nozforce option +(Ballenegger). An alternative slab option can be +invoked with the nozforce keyword in lieu of the volfactor. This +turns off all kspace forces in the z direction. The nozforce option is not supported by MSM. For MSM, any combination of periodic, non-periodic, or shrink-wrapped boundaries can be set using -boundary (the slab approximation in not needed). The -slab keyword is not currently supported by Ewald or PPPM when using +boundary (the slab approximation in not needed). The +slab keyword is not currently supported by Ewald or PPPM when using a triclinic simulation cell. The slab correction has also been -extended to point dipole interactions (Klapp) in -kspace_style ewald/disp. -

    -

    The compute keyword allows Kspace computations to be turned off, -even though a kspace_style is defined. This is +extended to point dipole interactions (Klapp) in +kspace_style ewald/disp.

    +

    The compute keyword allows Kspace computations to be turned off, +even though a kspace_style is defined. This is not useful for running a real simulation, but can be useful for debugging purposes or for computing only partial forces that do not include the Kspace contribution. You can also do this by simply not -defining a kspace_style, but a Kspace-compatible -pair_style requires a kspace style to be defined. -This keyword gives you that option. -

    -

    The cutoff/adjust keyword applies only to MSM. If this option is +defining a kspace_style, but a Kspace-compatible +pair_style requires a kspace style to be defined. +This keyword gives you that option.

    +

    The cutoff/adjust keyword applies only to MSM. If this option is turned on, the Coulombic cutoff will be automatically adjusted at the beginning of the run to give the desired estimated error. Other cutoffs such as LJ will not be affected. If the grid is not set using -the mesh command, this command will also attempt to use the optimal +the mesh command, this command will also attempt to use the optimal grid that minimizes cost using an estimate given by -(Hardy). Note that this cost estimate is not exact, somewhat -experimental, and still may not yield the optimal parameters. -

    -

    The pressure/scalar keyword applies only to MSM. If this option is +(Hardy). Note that this cost estimate is not exact, somewhat +experimental, and still may not yield the optimal parameters.

    +

    The pressure/scalar keyword applies only to MSM. If this option is turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will be computed, which can be used, for example, to run an isotropic barostat. Computing the full pressure tensor with MSM is expensive, and this option provides a faster alternative. The scalar pressure is computed using a -relationship between the Coulombic energy and pressure (Hummer) +relationship between the Coulombic energy and pressure (Hummer) instead of using the virial equation. This option cannot be used to access individual components of the pressure tensor, to compute per-atom virial, -or with suffix kspace/pair styles of MSM, like OMP or GPU. -

    -

    The fftbench keyword applies only to PPPM. It is on by default. If +or with suffix kspace/pair styles of MSM, like OMP or GPU.

    +

    The fftbench keyword applies only to PPPM. It is on by default. If this option is turned off, LAMMPS will not take the time at the end of a run to give FFT benchmark timings, and will finish a few seconds -faster than it would if this option were on. -

    -

    The collective keyword applies only to PPPM. It is set to no by +faster than it would if this option were on.

    +

    The collective keyword applies only to PPPM. It is set to no by default, except on IBM BlueGene machines. If this option is set to -yes, LAMMPS will use MPI collective operations to remap data for +yes, LAMMPS will use MPI collective operations to remap data for 3d-FFT operations instead of the default point-to-point communication. This is faster on IBM BlueGene machines, and may also be faster on other machines if they have an efficient implementation of MPI -collective operations and adequate hardware. -

    -

    The diff keyword specifies the differentiation scheme used by the +collective operations and adequate hardware.

    +

    The diff keyword specifies the differentiation scheme used by the PPPM method to compute forces on particles given electrostatic -potentials on the PPPM mesh. The ik approach is the default for -PPPM and is the original formulation used in (Hockney). It +potentials on the PPPM mesh. The ik approach is the default for +PPPM and is the original formulation used in (Hockney). It performs differentiation in Kspace, and uses 3 FFTs to transfer each component of the computed fields back to real space for total of 4 -FFTs per timestep. -

    -

    The analytic differentiation ad approach uses only 1 FFT to transfer +FFTs per timestep.

    +

    The analytic differentiation ad approach uses only 1 FFT to transfer information back to real space for a total of 2 FFTs per timestep. It then performs analytic differentiation on the single quantity to generate the 3 components of the electric field at each grid point. -This is sometimes referred to as "smoothed" PPPM. This approach +This is sometimes referred to as “smoothed” PPPM. This approach requires a somewhat larger PPPM mesh to achieve the same accuracy as -the ik method. Currently, only the ik method (default) can be -used for a triclinic simulation cell with PPPM. The ad method is -always used for MSM. -

    -

    IMPORTANT NOTE: Currently, not all PPPM styles support the ad -option. Support for those PPPM variants will be added later. -

    -

    The kmax/ewald keyword sets the number of kspace vectors in each -dimension for kspace style ewald. The three values must be positive +the ik method. Currently, only the ik method (default) can be +used for a triclinic simulation cell with PPPM. The ad method is +always used for MSM.

    +
    +

    Warning

    +

    Currently, not all PPPM styles support the ad +option. Support for those PPPM variants will be added later.

    +
    +

    The kmax/ewald keyword sets the number of kspace vectors in each +dimension for kspace style ewald. The three values must be positive integers, or else (0,0,0), which unsets the option. When this option is not set, the Ewald sum scheme chooses its own kspace vectors, consistent with the user-specified accuracy and pairwise cutoff. In -any case, if kspace style ewald is invoked, the values used are -printed to the screen and the log file at the start of the run. -

    -

    With the mix/disp keyword one can select the mixing rule for the -dispersion coefficients. With pair, the dispersion coefficients of +any case, if kspace style ewald is invoked, the values used are +printed to the screen and the log file at the start of the run.

    +

    With the mix/disp keyword one can select the mixing rule for the +dispersion coefficients. With pair, the dispersion coefficients of unlike types are computed as indicated with -pair_modify. With geom, geometric mixing is +pair_modify. With geom, geometric mixing is enforced on the dispersion coefficients in the kspace coefficients. When using the arithmetic mixing rule, this will speed-up the simulations but introduces some error in the force -computations, as shown in (Wennberg). With none, it is +computations, as shown in (Wennberg). With none, it is assumed that no mixing rule is applicable. Splitting of the dispersion coefficients will be performed as described in -(Isele-Holder). This splitting can be influenced with -the splittol keywords. Only the eigenvalues that are larger than tol +(Isele-Holder). This splitting can be influenced with +the splittol keywords. Only the eigenvalues that are larger than tol compared to the largest eigenvalues are included. Using this keywords the original matrix of dispersion coefficients is approximated. This leads to faster computations, but the accuracy in the reciprocal space -computations of the dispersion part is decreased. -

    -

    The force/disp/real and force/disp/kspace keywords set the force +computations of the dispersion part is decreased.

    +

    The force/disp/real and force/disp/kspace keywords set the force accuracy for the real and space computations for the dispersion part -of pppm/disp. As shown in (Isele-Holder), optimal +of pppm/disp. As shown in (Isele-Holder), optimal performance and accuracy in the results is obtained when these values -are different. -

    -

    The disp/auto option controlls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to no, parameters have -to be specified using the gewald/disp, mesh/disp, -force/disp/real or force/disp/kspace keywords, or +are different.

    +

    The disp/auto option controlls whether the pppm/disp is allowed to +generate PPPM parameters automatically. If set to no, parameters have +to be specified using the gewald/disp, mesh/disp, +force/disp/real or force/disp/kspace keywords, or the code will stop with an error message. When this option is set to -yes, the error message will not appear and the simulation will start. +yes, the error message will not appear and the simulation will start. For a typical application, using the automatic parameter generation will provide simulations that are either inaccurate or slow. Using this option is thus not -recommended. For guidelines on how to obtain good parameters, see the How-To discussion. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    kspace_style, boundary -

    -

    Default: -

    -

    The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = +recommended. For guidelines on how to obtain good parameters, see the How-To discussion.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = 5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0, gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = yes (MSM), pressure/scalar = yes (MSM), fftbench = yes (PPPM), diff = ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, -split = 0, tol = 1.0e-6, and disp/auto = no. -

    -
    - - - -

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, -Adam Hilger, NY (1989). -

    - - -

    (Yeh) Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999). -

    - - -

    (Ballenegger) Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 -(2009). -

    - - -

    (Klapp) Klapp, Schoen, J Chem Phys, 117, 8050 (2002). -

    - - -

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast +split = 0, tol = 1.0e-6, and disp/auto = no.

    +
    +

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989).

    +

    (Yeh) Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).

    +

    (Ballenegger) Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 +(2009).

    +

    (Klapp) Klapp, Schoen, J Chem Phys, 117, 8050 (2002).

    +

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of -Illinois at Urbana-Champaign, (2006). -

    - +Illinois at Urbana-Champaign, (2006).

    +

    (Hummer) Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998)

    +

    (Isele-Holder) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J +Chem Theory Comput, 9, 5412 (2013).

    +

    (Wennberg) Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, +9, 3527 (2013).

    +
    + -

    (Hummer) Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998) -

    - -

    (Isele-Holder) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J -Chem Theory Comput, 9, 5412 (2013). -

    - + + +
    + -

    (Wennberg) Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, -9, 3527 (2013). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/kspace_style.html b/doc/kspace_style.html index 36b55dc1da..0f0e1dbdef 100644 --- a/doc/kspace_style.html +++ b/doc/kspace_style.html @@ -1,145 +1,267 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + kspace_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    kspace_style command -

    -

    Syntax: -

    -
    kspace_style style value 
    -
    -
    • style = none or ewald or ewald/disp or ewald/omp or pppm or pppm/cg or pppm/disp or pppm/tip4p or pppm/stagger or pppm/disp/tip4p or pppm/gpu or pppm/omp or pppm/cg/omp or pppm/tip4p/omp or msm or msm/cg or msm/omp or msm/cg/omp - -
        none value = none
      -  ewald value = accuracy
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      kspace_style command¶

      +
      +

      Syntax¶

      +
      kspace_style style value
      +
      +
      +
        +
      • style = none or ewald or ewald/disp or ewald/omp or pppm or pppm/cg or pppm/disp or pppm/tip4p or pppm/stagger or pppm/disp/tip4p or pppm/gpu or pppm/omp or pppm/cg/omp or pppm/tip4p/omp or msm or msm/cg or msm/omp or msm/cg/omp
      • +
      +
      +none value = none
      +  ewald value = accuracy
           accuracy = desired relative error in forces
      -  ewald/disp value = accuracy
      +  ewald/disp value = accuracy
           accuracy = desired relative error in forces
      -  ewald/omp value = accuracy
      +  ewald/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm value = accuracy
      +  pppm value = accuracy
           accuracy = desired relative error in forces
      -  pppm/cg value = accuracy (smallq)
      +  pppm/cg value = accuracy (smallq)
           accuracy = desired relative error in forces
           smallq = cutoff for charges to be considered (optional) (charge units)
      -  pppm/disp value = accuracy
      +  pppm/disp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/tip4p value = accuracy
      +  pppm/tip4p value = accuracy
           accuracy = desired relative error in forces
      -  pppm/disp/tip4p value = accuracy
      +  pppm/disp/tip4p value = accuracy
           accuracy = desired relative error in forces
      -  pppm/gpu value = accuracy
      +  pppm/gpu value = accuracy
           accuracy = desired relative error in forces
      -  pppm/omp value = accuracy
      +  pppm/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/cg/omp value = accuracy
      +  pppm/cg/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/tip4p/omp value = accuracy
      +  pppm/tip4p/omp value = accuracy
           accuracy = desired relative error in forces
      -  pppm/stagger value = accuracy
      +  pppm/stagger value = accuracy
           accuracy = desired relative error in forces
      -  msm value = accuracy
      +  msm value = accuracy
           accuracy = desired relative error in forces
      -  msm/cg value = accuracy (smallq)
      +  msm/cg value = accuracy (smallq)
           accuracy = desired relative error in forces
           smallq = cutoff for charges to be considered (optional) (charge units)
      -  msm/omp value = accuracy
      +  msm/omp value = accuracy
           accuracy = desired relative error in forces
      -  msm/cg/omp value = accuracy (smallq)
      +  msm/cg/omp value = accuracy (smallq)
           accuracy = desired relative error in forces
      -    smallq = cutoff for charges to be considered (optional) (charge units) 
      -
      - -
    -

    Examples: -

    -
    kspace_style pppm 1.0e-4
    +    smallq = cutoff for charges to be considered (optional) (charge units)
    +
    +
    +
    +

    Examples¶

    +
    kspace_style pppm 1.0e-4
     kspace_style pppm/cg 1.0e-5 1.0e-6
     kspace style msm 1.0e-4
    -kspace_style none 
    -
    -

    Description: -

    -

    Define a long-range solver for LAMMPS to use each timestep to compute +kspace_style none +

    +
    +
    +
    +

    Description¶

    +

    Define a long-range solver for LAMMPS to use each timestep to compute long-range Coulombic interactions or long-range 1/r^6 interactions. Most of the long-range solvers perform their computation in K-space, -hence the name of this command. -

    -

    When such a solver is used in conjunction with an appropriate pair +hence the name of this command.

    +

    When such a solver is used in conjunction with an appropriate pair style, the cutoff for Coulombic or 1/r^N interactions is effectively infinite. If the Coulombic case, this means each charge in the system interacts with charges in an infinite array of periodic images of the -simulation domain. -

    -

    Note that using a long-range solver requires use of a matching pair -style to perform consistent short-range pairwise +simulation domain.

    +

    Note that using a long-range solver requires use of a matching pair style to perform consistent short-range pairwise calculations. This means that the name of the pair style contains a -matching keyword to the name of the KSpace style, as in this table: -

    -
    - - - - -
    Pair style KSpace style
    coul/long ewald or pppm
    coul/msm msm
    lj/long or buck/long disp (for dispersion)
    tip4p/long tip4p -
    - -
    - -

    The ewald style performs a standard Ewald summation as described in -any solid-state physics text. -

    -

    The ewald/disp style adds a long-range dispersion sum option for +matching keyword to the name of the KSpace style, as in this table:

    + ++++ + + + + + + + + + + + + + + + + + +
    Pair styleKSpace style
    coul/longewald or pppm
    coul/msmmsm
    lj/long or buck/longdisp (for dispersion)
    tip4p/longtip4p
    +
    +

    The ewald style performs a standard Ewald summation as described in +any solid-state physics text.

    +

    The ewald/disp style adds a long-range dispersion sum option for 1/r^6 potentials and is useful for simulation of interfaces -(Veld). It also performs standard Coulombic Ewald summations, -but in a more efficient manner than the ewald style. The 1/r^6 +(Veld). It also performs standard Coulombic Ewald summations, +but in a more efficient manner than the ewald style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. -The ewald/disp style can also be used with point-dipoles -(Toukmaji) and is currently the only kspace solver in -LAMMPS with this capability. -

    -
    - -

    The pppm style invokes a particle-particle particle-mesh solver -(Hockney) which maps atom charge to a 3d mesh, uses 3d FFTs -to solve Poisson's equation on the mesh, then interpolates electric +The ewald/disp style can also be used with point-dipoles +(Toukmaji) and is currently the only kspace solver in +LAMMPS with this capability.

    +
    +

    The pppm style invokes a particle-particle particle-mesh solver +(Hockney) which maps atom charge to a 3d mesh, uses 3d FFTs +to solve Poisson’s equation on the mesh, then interpolates electric fields on the mesh points back to the atoms. It is closely related to -the particle-mesh Ewald technique (PME) (Darden) used in +the particle-mesh Ewald technique (PME) (Darden) used in AMBER and CHARMM. The cost of traditional Ewald summation scales as N^(3/2) where N is the number of atoms in the system. The PPPM solver scales as Nlog(N) due to the FFTs, so it is almost always a faster -choice (Pollock). -

    -

    The pppm/cg style is identical to the pppm style except that it +choice (Pollock).

    +

    The pppm/cg style is identical to the pppm style except that it has an optimization for systems where most particles are uncharged. -Similarly the msm/cg style implements the same optimization for msm. -The optional smallq argument defines the cutoff for the absolute +Similarly the msm/cg style implements the same optimization for msm. +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/tip4p style is identical to the pppm style except that it +or not. Its default value is 1.0e-5.

    +

    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. -It should be used with pair styles with a -tip4p/long in their style name. -

    -

    The pppm/stagger style performs calculations using two different +It should be used with pair styles with a +tip4p/long in their style name.

    +

    The pppm/stagger style performs calculations using two different meshes, one shifted slightly with respect to the other. This can reduce force aliasing errors and increase the accuracy of the method for a given mesh size. Or a coarser mesh can be used for the same target accuracy, which saves CPU time. However, there is a trade-off since FFTs on two meshes are now performed which increases the -compuation required. See (Cerutti), (Neelov), -and (Hockney) for details of the method. -

    -

    For high relative accuracy, using staggered PPPM allows the mesh size +compuation required. See (Cerutti), (Neelov), +and (Hockney) for details of the method.

    +

    For high relative accuracy, using staggered PPPM allows the mesh size to be reduced by a factor of 2 in each dimension as compared to regular PPPM (for the same target accuracy). This can give up to a 4x speedup in the KSpace time (8x less mesh points, 2x more expensive). @@ -147,88 +269,80 @@ However, for low relative accuracy, the staggered PPPM mesh size may be essentially the same as for regular PPPM, which means the method will be up to 2x slower in the KSpace time (simply 2x more expensive). For more details and timings, see -Section_accelerate. -

    -

    IMPORTANT NOTE: Using pppm/stagger may not give the same increase in +Section_accelerate.

    +
    +

    Warning

    +

    Using pppm/stagger may not give the same increase in the accuracy of energy and pressure as it does in forces, so some caution must be used if energy and/or pressure are quantities of -interest, such as when using a barostat. -

    -
    - -

    The pppm/disp and pppm/disp/tip4p styles add a mesh-based long-range -dispersion sum option for 1/r^6 potentials (Isele-Holder), -similar to the ewald/disp style. The 1/r^6 capability means +interest, such as when using a barostat.

    +
    +
    +

    The pppm/disp and pppm/disp/tip4p styles add a mesh-based long-range +dispersion sum option for 1/r^6 potentials (Isele-Holder), +similar to the ewald/disp style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, -i.e. they become full long-range potentials. -

    -

    For these styles, you will possibly want to adjust the default choice of -parameters by using the kspace_modify command. +i.e. they become full long-range potentials.

    +

    For these styles, you will possibly want to adjust the default choice of +parameters by using the kspace_modify command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace calculations. When not making any settings, the simulation will stop with an error message. Further information on the influence of the parameters -and how to choose them is described in (Isele-Holder), -(Isele-Holder2) and the -How-To discussion. -

    -
    - -

    IMPORTANT NOTE: All of the PPPM styles can be used with +and how to choose them is described in (Isele-Holder), +(Isele-Holder2) and the +How-To discussion.

    +
    +
    +

    Warning

    +

    All of the PPPM styles can be used with single-precision FFTs by using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your lo-level Makefile. This setting also changes some of the PPPM operations (e.g. mapping charge to mesh and interpolating electric fields to particles) to be performed in single precision. This option can speed-up long-range calulations, particularly in parallel or on GPUs. The use of the -DFFT_SINGLE flag -is discussed in this section of the -manual. MSM does not currently support the -DFFT_SINGLE compiler switch. -

    -
    - -

    The msm style invokes a multi-level summation method MSM solver, -(Hardy) or (Hardy2), which maps atom charge to a 3d +is discussed in this section of the +manual. MSM does not currently support the -DFFT_SINGLE compiler switch.

    +
    +
    +

    The msm style invokes a multi-level summation method MSM solver, +(Hardy) or (Hardy2), which maps atom charge to a 3d mesh, and uses a multi-level hierarchy of coarser and coarser meshes on which direct coulomb solves are done. This method does not use FFTs and scales as N. It may therefore be faster than the other K-space solvers for relatively large problems when running on large -core counts. MSM can also be used for non-periodic boundary conditions and -for mixed periodic and non-periodic boundaries. -

    -

    MSM is most competitive versus Ewald and PPPM when only relatively -low accuracy forces, about 1e-4 relative error or less accurate, -are needed. Note that use of a larger coulomb cutoff (i.e. 15 -angstroms instead of 10 angstroms) provides better MSM accuracy for -both the real space and grid computed forces. -

    -

    Currently calculation of the full pressure tensor in MSM is expensive. -Using the kspace_modify pressure/scalar yes +core counts. MSM can also be used for non-periodic boundary conditions and +for mixed periodic and non-periodic boundaries.

    +

    MSM is most competitive versus Ewald and PPPM when only relatively +low accuracy forces, about 1e-4 relative error or less accurate, +are needed. Note that use of a larger coulomb cutoff (i.e. 15 +angstroms instead of 10 angstroms) provides better MSM accuracy for +both the real space and grid computed forces.

    +

    Currently calculation of the full pressure tensor in MSM is expensive. +Using the kspace_modify pressure/scalar yes command provides a less expensive way to compute the scalar pressure (Pxx + Pyy + Pzz)/3.0. The scalar pressure can be used, for example, to run an isotropic barostat. If the full pressure tensor is needed, then calculating the pressure at every timestep or using a fixed -pressure simulation with MSM will cause the code to run slower. -

    -
    - -

    The specified accuracy determines the relative RMS error in per-atom +pressure simulation with MSM will cause the code to run slower.

    +
    +

    The specified accuracy determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point charges (e.g. 2 monovalent ions) exert on each other at a distance of 1 Angstrom. This reference value was chosen as representative of the magnitude of electrostatic forces in atomic systems. Thus an accuracy value of 1.0e-4 means that the RMS error will be a factor of 10000 -smaller than the reference force. -

    -

    The accuracy setting is used in conjunction with the pairwise cutoff -to determine the number of K-space vectors for style ewald or the -grid size for style pppm or msm. -

    -

    Note that style pppm only computes the grid size at the beginning of +smaller than the reference force.

    +

    The accuracy setting is used in conjunction with the pairwise cutoff +to determine the number of K-space vectors for style ewald or the +grid size for style pppm or msm.

    +

    Note that style pppm only computes the grid size at the beginning of a simulation, so if the length or triclinic tilt of the simulation cell increases dramatically during the course of the simulation, the accuracy of the simulation may degrade. Likewise, if the -kspace_modify slab option is used with +kspace_modify slab option is used with shrink-wrap boundaries in the z-dimension, and the box size changes dramatically in z. For example, for a triclinic system with all three tilt factors set to the maximum limit, the PPPM grid should be @@ -237,158 +351,162 @@ z direction as compared to the same system using a cubic orthogonal simulation cell. One way to ensure the accuracy requirement is being met is to run a short simulation at the maximum expected tilt or length, note the required grid size, and then use the -kspace_modify mesh command to manually set the -PPPM grid size to this value. -

    -

    RMS force errors in real space for ewald and pppm are estimated -using equation 18 of (Kolafa), which is also referenced as -equation 9 of (Petersen). RMS force errors in K-space for -ewald are estimated using equation 11 of (Petersen), -which is similar to equation 32 of (Kolafa). RMS force -errors in K-space for pppm are estimated using equation 38 of -(Deserno). RMS force errors for msm are estimated -using ideas from chapter 3 of (Hardy), with equation 3.197 -of particular note. When using msm with non-periodic boundary +kspace_modify mesh command to manually set the +PPPM grid size to this value.

    +

    RMS force errors in real space for ewald and pppm are estimated +using equation 18 of (Kolafa), which is also referenced as +equation 9 of (Petersen). RMS force errors in K-space for +ewald are estimated using equation 11 of (Petersen), +which is similar to equation 32 of (Kolafa). RMS force +errors in K-space for pppm are estimated using equation 38 of +(Deserno). RMS force errors for msm are estimated +using ideas from chapter 3 of (Hardy), with equation 3.197 +of particular note. When using msm with non-periodic boundary conditions, it is expected that the error estimation will be too -pessimistic. RMS force errors for dipoles when using ewald/disp -are estimated using equations 33 and 46 of (Wang). -

    -

    See the kspace_modify command for additional -options of the K-space solvers that can be set, including a force +pessimistic. RMS force errors for dipoles when using ewald/disp +are estimated using equations 33 and 46 of (Wang).

    +

    See the kspace_modify command for additional +options of the K-space solvers that can be set, including a force option for setting an absoulte RMS error in forces, as opposed to a -relative RMS error. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +relative RMS error.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision -issues. -

    -

    More specifically, the pppm/gpu style performs charge assignment and +issues.

    +

    More specifically, the pppm/gpu style performs charge assignment and force interpolation calculations on the GPU. These processes are performed either in single or double precision, depending on whether the -DFFT_SINGLE setting was specified in your lo-level Makefile, as discussed above. The FFTs themselves are still calculated on the CPU. -If pppm/gpu is used with a GPU-enabled pair style, part of the PPPM +If pppm/gpu is used with a GPU-enabled pair style, part of the PPPM calculation can be performed concurrently on the GPU while other calculations for non-bonded and bonded force calculation are performed -on the CPU. -

    -

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, +on the CPU.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section for more info. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restrictions: -

    -

    Note that the long-range electrostatic solvers in LAMMPS assume conducting +enabled if LAMMPS was built with those packages. See the Making LAMMPS section for more info.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restrictions¶

    +

    Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole -interactions. Vacuum boundary conditions are not currently supported. -

    -

    The ewald/disp, ewald, pppm, and msm styles support +interactions. Vacuum boundary conditions are not currently supported.

    +

    The ewald/disp, ewald, pppm, and msm styles support non-orthogonal (triclinic symmetry) simulation boxes. However, triclinic -simulation cells may not yet be supported by suffix versions of these -styles (such as pppm/cuda). -

    -

    All of the kspace styles are part of the KSPACE package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. Note that -the KSPACE package is installed by default. -

    -

    For MSM, a simulation must be 3d and one can use any combination of -periodic, non-periodic, or shrink-wrapped boundaries (specified using -the boundary command). -

    -

    For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. -The only exception is if the slab option is set with kspace_modify, -in which case the xy dimensions must be periodic and the z dimension must be -non-periodic. -

    -

    Related commands: -

    -

    kspace_modify, pair_style -lj/cut/coul/long, pair_style -lj/charmm/coul/long, pair_style -lj/long/coul/long, pair_style buck/coul/long -

    -

    Default: -

    -
    kspace_style none 
    -
    -
    - - - -

    (Darden) Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). -

    - - -

    (Deserno) Deserno and Holm, J Chem Phys, 109, 7694 (1998). -

    - - -

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, -Adam Hilger, NY (1989). -

    - - -

    (Kolafa) Kolafa and Perram, Molecular Simualtion, 9, 351 (1992). -

    - - -

    (Petersen) Petersen, J Chem Phys, 103, 3668 (1995). -

    - - -

    (Wang) Wang and Holm, J Chem Phys, 115, 6277 (2001). -

    - - -

    (Pollock) Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). -

    - - -

    (Cerutti) Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory -and Computation 5, 2322 (2009) -

    - - -

    (Neelov) Neelov, Holm, J Chem Phys 132, 234103 (2010) -

    - - -

    (Veld) In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007). -

    - - -

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, -10913 (2000). -

    - - -

    (Isele-Holder) Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012). -

    - - -

    (Isele-Holder2) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory -Comput 9, 5412 (2013). -

    - - -

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast +simulation cells may not yet be supported by suffix versions of these +styles (such as pppm/cuda).

    +

    All of the kspace styles are part of the KSPACE package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that +the KSPACE package is installed by default.

    +

    For MSM, a simulation must be 3d and one can use any combination of +periodic, non-periodic, or shrink-wrapped boundaries (specified using +the boundary command).

    +

    For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. +The only exception is if the slab option is set with kspace_modify, +in which case the xy dimensions must be periodic and the z dimension must be +non-periodic.

    +
    + +
    +

    Default¶

    +
    kspace_style none
    +
    +
    +
    +

    (Darden) Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993).

    +

    (Deserno) Deserno and Holm, J Chem Phys, 109, 7694 (1998).

    +

    (Hockney) Hockney and Eastwood, Computer Simulation Using Particles, +Adam Hilger, NY (1989).

    +

    (Kolafa) Kolafa and Perram, Molecular Simualtion, 9, 351 (1992).

    +

    (Petersen) Petersen, J Chem Phys, 103, 3668 (1995).

    +

    (Wang) Wang and Holm, J Chem Phys, 115, 6277 (2001).

    +

    (Pollock) Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).

    +

    (Cerutti) Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory +and Computation 5, 2322 (2009)

    +

    (Neelov) Neelov, Holm, J Chem Phys 132, 234103 (2010)

    +

    (Veld) In ‘t Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).

    +

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, +10913 (2000).

    +

    (Isele-Holder) Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012).

    +

    (Isele-Holder2) Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory +Comput 9, 5412 (2013).

    +

    (Hardy) David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of -Illinois at Urbana-Champaign, (2006). -

    - +Illinois at Urbana-Champaign, (2006).

    +

    (Hardy) Hardy, Stone, Schulten, Parallel Computing 35 (2009) +164-177.

    +
    + -

    (Hardy) Hardy, Stone, Schulten, Parallel Computing 35 (2009) -164-177. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/label.html b/doc/label.html index 70030e6d3c..7eb98c7555 100644 --- a/doc/label.html +++ b/doc/label.html @@ -1,41 +1,226 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + label command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    label command -

    -

    Syntax: -

    -
    label ID 
    -
    -
    • ID = string used as label name -
    -

    Examples: -

    -
    label xyz
    -label loop 
    -
    -

    Description: -

    -

    Label this line of the input script with the chosen ID. Unless a jump + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    label command¶

    +
    +

    Syntax¶

    +
    label ID
    +
    +
    +
      +
    • ID = string used as label name
    • +
    +
    +
    +

    Examples¶

    +
    label xyz
    +label loop
    +
    +
    +
    +
    +

    Description¶

    +

    Label this line of the input script with the chosen ID. Unless a jump command was used previously, this does nothing. But if a -jump command was used with a label argument to begin +jump command was used with a label argument to begin invoking this script file, then all command lines in the script prior to this line will be ignored. I.e. execution of the script will begin at this line. This is useful for looping over a section of the input -script as discussed in the jump command. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +script as discussed in the jump command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/lattice.html b/doc/lattice.html index 2e75e2157d..22bfda2176 100644 --- a/doc/lattice.html +++ b/doc/lattice.html @@ -1,267 +1,434 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + lattice command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    lattice command -

    -

    Syntax: -

    -
    lattice style scale keyword values ... 
    -
    -
    • style = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom - -
    • scale = scale factor between lattice and simulation box - -
        scale = reduced density rho* (for LJ units)
      -  scale = lattice constant in distance units (for all other units) 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = origin or orient or spacing or a1 or a2 or a3 or basis - -
        origin values = x y z
      -    x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
      -  orient values = dim i j k
      -    dim = x or y or z
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      lattice command¶

      +
      +

      Syntax¶

      +
      lattice style scale keyword values ...
      +
      +
      +
        +
      • style = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom
      • +
      • scale = scale factor between lattice and simulation box
      • +
      +
      scale = reduced density rho* (for LJ units)
      +  scale = lattice constant in distance units (for all other units)
      +
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = origin or orient or spacing or a1 or a2 or a3 or basis
      • +
      +
      +origin values = x y z
      +    x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
      +  orient values = dim i j k
      +    dim = x or y or z
           i,j,k = integer lattice directions
      -  spacing values = dx dy dz
      +  spacing values = dx dy dz
           dx,dy,dz = lattice spacings in the x,y,z box directions
      -  a1,a2,a3 values = x y z
      +  a1,*a2*,*a3* values = x y z
           x,y,z = primitive vector components that define unit cell
      -  basis values = x y z
      -    x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) 
      -
      - -
    -

    Examples: -

    -
    lattice fcc 3.52
    +  basis values = x y z
    +    x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
    +
    +
    +
    +

    Examples¶

    +
    lattice fcc 3.52
     lattice hex 0.85
     lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0
    -lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 &
    +lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 &
                         basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
    -lattice none 2.0 
    -
    -

    Description: -

    -

    Define a lattice for use by other commands. In LAMMPS, a lattice is +lattice none 2.0 +

    +
    +
    +
    +

    Description¶

    +

    Define a lattice for use by other commands. In LAMMPS, a lattice is simply a set of points in space, determined by a unit cell with basis atoms, that is replicated infinitely in all dimensions. The arguments of the lattice command can be used to define a wide variety of -crystallographic lattices. -

    -

    A lattice is used by LAMMPS in two ways. First, the -create_atoms command creates atoms on the lattice +crystallographic lattices.

    +

    A lattice is used by LAMMPS in two ways. First, the +create_atoms command creates atoms on the lattice points inside the simulation box. Note that the -create_atoms command allows different atom types +create_atoms command allows different atom types to be assigned to different basis atoms of the lattice. Second, the lattice spacing in the x,y,z dimensions implied by the lattice, can be used by other commands as distance units -(e.g. create_box, region and -velocity), which are often convenient to use when the -underlying problem geometry is atoms on a lattice. -

    -

    The lattice style must be consistent with the dimension of the -simulation - see the dimension command. Styles sc -or bcc or fcc or hcp or diamond are for 3d problems. Styles -sq or sq2 or hex are for 2d problems. Style custom can be -used for either 2d or 3d problems. -

    -

    A lattice consists of a unit cell, a set of basis atoms within that +(e.g. create_box, region and +velocity), which are often convenient to use when the +underlying problem geometry is atoms on a lattice.

    +

    The lattice style must be consistent with the dimension of the +simulation - see the dimension command. Styles sc +or bcc or fcc or hcp or diamond are for 3d problems. Styles +sq or sq2 or hex are for 2d problems. Style custom can be +used for either 2d or 3d problems.

    +

    A lattice consists of a unit cell, a set of basis atoms within that cell, and a set of transformation parameters (scale, origin, orient) that map the unit cell into the simulation box. The vectors a1,a2,a3 are the edge vectors of the unit cell. This is the nomenclature for -"primitive" vectors in solid-state crystallography, but in LAMMPS the -unit cell they determine does not have to be a "primitive cell" of -minimum volume. -

    -

    Note that the lattice command can be used multiple times in an input +“primitive” vectors in solid-state crystallography, but in LAMMPS the +unit cell they determine does not have to be a “primitive cell” of +minimum volume.

    +

    Note that the lattice command can be used multiple times in an input script. Each time it is invoked, the lattice attributes are re-defined and are used for all subsequent commands (that use lattice attributes). For example, a sequence of lattice, -region, and create_atoms commands +region, and create_atoms commands can be repeated multiple times to build a poly-crystalline model with different geometric regions populated with atoms in different lattice -orientations. -

    -
    - -

    A lattice of style none does not define a unit cell and basis set, -so it cannot be used with the create_atoms +orientations.

    +
    +

    A lattice of style none does not define a unit cell and basis set, +so it cannot be used with the create_atoms command. However it does define a lattice spacing via the specified scale parameter. As explained above the lattice spacings in x,y,z can be used by other commands as distance units. No additional -keyword/value pairs can be specified for the none style. By -default, a "lattice none 1.0" is defined, which means the lattice +keyword/value pairs can be specified for the none style. By +default, a “lattice none 1.0” is defined, which means the lattice spacing is the same as one distance unit, as defined by the -units command. -

    -

    Lattices of style sc, fcc, bcc, and diamond are 3d lattices +units command.

    +

    Lattices of style sc, fcc, bcc, and diamond are 3d lattices that define a cubic unit cell with edge length = 1.0. This means a1 = -1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style hcp has a1 = 1 0 0, a2 = 0 +1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style hcp has a1 = 1 0 0, a2 = 0 sqrt(3) 0, and a3 = 0 0 sqrt(8/3). The placement of the basis atoms within the unit cell are described in any solid-state physics text. A -sc lattice has 1 basis atom at the lower-left-bottom corner of the -cube. A bcc lattice has 2 basis atoms, one at the corner and one at -the center of the cube. A fcc lattice has 4 basis atoms, one at the -corner and 3 at the cube face centers. A hcp lattice has 4 basis -atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A diamond -lattice has 8 basis atoms. -

    -

    Lattices of style sq and sq2 are 2d lattices that define a square +sc lattice has 1 basis atom at the lower-left-bottom corner of the +cube. A bcc lattice has 2 basis atoms, one at the corner and one at +the center of the cube. A fcc lattice has 4 basis atoms, one at the +corner and 3 at the cube face centers. A hcp lattice has 4 basis +atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A diamond +lattice has 8 basis atoms.

    +

    Lattices of style sq and sq2 are 2d lattices that define a square unit cell with edge length = 1.0. This means a1 = 1 0 0 and a2 = 0 1 -0. A sq lattice has 1 basis atom at the lower-left corner of the -square. A sq2 lattice has 2 basis atoms, one at the corner and one -at the center of the square. A hex style is also a 2d lattice, but +0. A sq lattice has 1 basis atom at the lower-left corner of the +square. A sq2 lattice has 2 basis atoms, one at the corner and one +at the center of the square. A hex style is also a 2d lattice, but the unit cell is rectangular, with a1 = 1 0 0 and a2 = 0 sqrt(3) 0. It has 2 basis atoms, one at the corner and one at the center of the -rectangle. -

    -

    A lattice of style custom allows you to specify a1, a2, a3, and a +rectangle.

    +

    A lattice of style custom allows you to specify a1, a2, a3, and a list of basis atoms to put in the unit cell. By default, a1 and a2 and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you can specify them to be of any length and non-orthogonal to each other, -so that they describe a tilted parallelepiped. Via the basis +so that they describe a tilted parallelepiped. Via the basis keyword you add atoms, one at a time, to the unit cell. Its arguments -are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector +are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector x of a basis atom within the unit cell is thus a linear combination of -the the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, -where bx,by,bz are the 3 values specified for the basis keyword. -

    -
    - -

    This sub-section discusses the arguments that determine how the +the the unit cell’s 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, +where bx,by,bz are the 3 values specified for the basis keyword.

    +
    +

    This sub-section discusses the arguments that determine how the idealized unit cell is transformed into a lattice of points within the -simulation box. -

    -

    The scale argument determines how the size of the unit cell will be +simulation box.

    +

    The scale argument determines how the size of the unit cell will be scaled when mapping it into the simulation box. I.e. it determines a multiplicative factor to apply to the unit cell, to convert it to a lattice of the desired size and distance units in the simulation box. -The meaning of the scale argument depends on the units -being used in your simulation. -

    -

    For all unit styles except lj, the scale argument is specified in -the distance units defined by the unit style. For example, in real -or metal units, if the unit cell is a unit cube with edge length +The meaning of the scale argument depends on the units +being used in your simulation.

    +

    For all unit styles except lj, the scale argument is specified in +the distance units defined by the unit style. For example, in real +or metal units, if the unit cell is a unit cube with edge length 1.0, specifying scale = 3.52 would create a cubic lattice with a -spacing of 3.52 Angstroms. In cgs units, the spacing would be 3.52 -cm. -

    -

    For unit style lj, the scale argument is the Lennard-Jones reduced +spacing of 3.52 Angstroms. In cgs units, the spacing would be 3.52 +cm.

    +

    For unit style lj, the scale argument is the Lennard-Jones reduced density, typically written as rho*. LAMMPS converts this value into -the multiplicative factor via the formula "factor^dim = rho/rho*", +the multiplicative factor via the formula “factor^dim = rho/rho*”, where rho = N/V with V = the volume of the lattice unit cell and N = the number of basis atoms in the unit cell (described below), and dim = 2 or 3 for the dimensionality of the simulation. Effectively, this means that if LJ particles of size sigma = 1.0 are used in the simulation, the lattice of particles will be at the desired reduced -density. -

    -

    The origin option specifies how the unit cell will be shifted or +density.

    +

    The origin option specifies how the unit cell will be shifted or translated when mapping it into the simulation box. The x,y,z values -are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice +are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice by a fraction of the lattice spacing in each dimension. The meaning -of "lattice spacing" is discussed below. -

    -

    The orient option specifies how the unit cell will be rotated when -mapping it into the simulation box. The dim argument is one of the +of “lattice spacing” is discussed below.

    +

    The orient option specifies how the unit cell will be rotated when +mapping it into the simulation box. The dim argument is one of the 3 coordinate axes in the simulation box. The other 3 arguments are the crystallographic direction in the lattice that you want to orient -along that axis, specified as integers. E.g. "orient x 2 1 0" means +along that axis, specified as integers. E.g. “orient x 2 1 0” means the x-axis in the simulation box will be the [210] lattice direction, and similarly for y and z. The 3 lattice directions you specify do not have to be unit vectors, but they must be mutually orthogonal and obey the right-hand rule, i.e. (X cross Y) points in -the Z direction. -

    -

    IMPORTANT NOTE: The preceding paragraph describing lattice directions +the Z direction.

    +
    +

    Warning

    +

    The preceding paragraph describing lattice directions is only valid for orthogonal cubic unit cells (or square in 2d). If -you are using a hcp or hex lattice or the more general lattice -style custom with non-orthogonal a1,a2,a3 vectors, then you should -think of the 3 orient vectors as creating a 3x3 rotation matrix +you are using a hcp or hex lattice or the more general lattice +style custom with non-orthogonal a1,a2,a3 vectors, then you should +think of the 3 orient vectors as creating a 3x3 rotation matrix which is applied to a1,a2,a3 to rotate the original unit cell to a new -orientation in the simulation box. -

    -
    - -

    Several LAMMPS commands have the option to use distance units that are -inferred from "lattice spacings" in the x,y,z box directions. -E.g. the region command can create a block of size -10x20x20, where 10 means 10 lattice spacings in the x direction. -

    -

    IMPORTANT NOTE: Though they are called lattice spacings, all the -commands that have a "units lattice" option, simply use the 3 values +orientation in the simulation box.

    +
    +
    +

    Several LAMMPS commands have the option to use distance units that are +inferred from “lattice spacings” in the x,y,z box directions. +E.g. the region command can create a block of size +10x20x20, where 10 means 10 lattice spacings in the x direction.

    +
    +

    Warning

    +

    Though they are called lattice spacings, all the +commands that have a “units lattice” option, simply use the 3 values as scale factors on the distance units defined by the -units command. Thus if you do not like the lattice +units command. Thus if you do not like the lattice spacings computed by LAMMPS (e.g. for a non-orthogonal or rotated unit cell), you can define the 3 values to be whatever you wish, via the -spacing option. -

    -

    If the spacing option is not specified, the lattice spacings are +spacing option.

    +
    +

    If the spacing option is not specified, the lattice spacings are computed by LAMMPS in the following way. A unit cell of the lattice is mapped into the simulation box (scaled and rotated), so that it now has (perhaps) a modified size and orientation. The lattice spacing in X is defined as the difference between the min/max extent of the x coordinates of the 8 corner points of the modified unit cell (4 in 2d). Similarly, the Y and Z lattice spacings are defined as the -difference in the min/max of the y and z coordinates. -

    -

    Note that if the unit cell is orthogonal with axis-aligned edges (no -rotation via the orient keyword), then the lattice spacings in each +difference in the min/max of the y and z coordinates.

    +

    Note that if the unit cell is orthogonal with axis-aligned edges (no +rotation via the orient keyword), then the lattice spacings in each dimension are simply the scale factor (described above) multiplied by -the length of a1,a2,a3. Thus a hex style lattice with a scale +the length of a1,a2,a3. Thus a hex style lattice with a scale factor of 3.0 Angstroms, would have a lattice spacing of 3.0 in x and -3*sqrt(3.0) in y. -

    -

    IMPORTANT NOTE: For non-orthogonal unit cells and/or when a rotation -is applied via the orient keyword, then the lattice spacings +3*sqrt(3.0) in y.

    +
    +

    Warning

    +

    For non-orthogonal unit cells and/or when a rotation +is applied via the orient keyword, then the lattice spacings computed by LAMMPS are typically less intuitive. In particular, in these cases, there is no guarantee that a particular lattice spacing is an integer multiple of the periodicity of the lattice in that direction. Thus, if you create an orthogonal periodic simulation box whose size in a dimension is a multiple of the lattice spacing, and -then fill it with atoms via the create_atoms +then fill it with atoms via the create_atoms command, you will NOT necessarily create a periodic system. -I.e. atoms may overlap incorrectly at the faces of the simulation box. -

    -

    The spacing option sets the 3 lattice spacings directly. All must +I.e. atoms may overlap incorrectly at the faces of the simulation box.

    +
    +

    The spacing option sets the 3 lattice spacings directly. All must be non-zero (use 1.0 for dz in a 2d simulation). The specified values are multiplied by the multiplicative factor described above that is associated with the scale factor. Thus a spacing of 1.0 means one unit cell edge length independent of the scale factor. As mentioned above, this option can be useful if the spacings LAMMPS computes are inconvenient to use in subsequent commands, which can be the case for -non-orthogonal or rotated lattices. -

    -

    Note that whenever the lattice command is used, the values of the +non-orthogonal or rotated lattices.

    +

    Note that whenever the lattice command is used, the values of the lattice spacings LAMMPS calculates are printed out. Thus their effect -in commands that use the spacings should be decipherable. -

    -
    - -

    Restrictions: -

    -

    The a1,a2,a3,basis keywords can only be used with style custom. -

    -

    Related commands: -

    -

    dimension, create_atoms, -region -

    -

    Default: -

    -
    lattice none 1.0 
    -
    -

    For other lattice styles, the option defaults are origin = 0.0 0.0 +in commands that use the spacings should be decipherable.

    +
    +
    +
    +

    Restrictions¶

    +

    The a1,a2,a3,basis keywords can only be used with style custom.

    +
    + +
    +

    Default¶

    +
    lattice none 1.0
    +
    +
    +

    For other lattice styles, the option defaults are origin = 0.0 0.0 0.0, orient = x 1 0 0, orient = y 0 1 0, orient = z 0 0 1, a1 = 1 0 0, -a2 = 0 1 0, and a3 = 0 0 1. -

    - +a2 = 0 1 0, and a3 = 0 0 1.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/log.html b/doc/log.html index e583a10ea3..02062b34a6 100644 --- a/doc/log.html +++ b/doc/log.html @@ -1,51 +1,235 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + log command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    log command -

    -

    Syntax: -

    -
    log file keyword 
    -
    -
    • file = name of new logfile -
    • keyword = append if output should be appended to logfile (optional) -
    -

    Examples: -

    -
    log log.equil
    -log log.equil append 
    -
    -

    Description: -

    -

    This command closes the current LAMMPS log file, opens a new file with + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    log command¶

    +
    +

    Syntax¶

    +
    log file keyword
    +
    +
    +
      +
    • file = name of new logfile
    • +
    • keyword = append if output should be appended to logfile (optional)
    • +
    +
    +
    +

    Examples¶

    +
    log log.equil
    +log log.equil append
    +
    +
    +
    +
    +

    Description¶

    +

    This command closes the current LAMMPS log file, opens a new file with the specified name, and begins logging information to it. If the -specified file name is none, then no new log file is opened. If the -optional keyword append is specified, then output will be appended -to an existing log file, instead of overwriting it. -

    -

    If multiple processor partitions are being used, the file name should +specified file name is none, then no new log file is opened. If the +optional keyword append is specified, then output will be appended +to an existing log file, instead of overwriting it.

    +

    If multiple processor partitions are being used, the file name should be a variable, so that different processors do not attempt to write to -the same log file. -

    -

    The file "log.lammps" is the default log file for a LAMMPS run. The +the same log file.

    +

    The file “log.lammps” is the default log file for a LAMMPS run. The name of the initial log file can also be set by the command-line -switch -log. See Section_start 6 for -details. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: -

    -

    The default LAMMPS log file is named log.lammps -

    - +switch -log. See Section_start 6 for +details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +
    +
    +

    Default¶

    +

    The default LAMMPS log file is named log.lammps

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/mass.html b/doc/mass.html index 1fa0e43775..f9d8533e20 100644 --- a/doc/mass.html +++ b/doc/mass.html @@ -1,89 +1,262 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + mass command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    mass command -

    -

    Syntax: -

    -
    mass I value 
    -
    -
    • I = atom type (see asterisk form below) -
    • value = mass -
    -

    Examples: -

    -
    mass 1 1.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    mass command¶

    +
    +

    Syntax¶

    +
    mass I value
    +
    +
    +
      +
    • I = atom type (see asterisk form below)
    • +
    • value = mass
    • +
    +
    +
    +

    Examples¶

    +
    mass 1 1.0
     mass * 62.5
    -mass 2* 62.5 
    -
    -

    Description: -

    -

    Set the mass for all atoms of one or more atom types. Per-type mass -values can also be set in the read_data data file -using the "Masses" keyword. See the units command for -what mass units to use. -

    -

    The I index can be specified in one of two ways. An explicit numeric +mass 2* 62.5 +

    + + +
    +

    Description¶

    +

    Set the mass for all atoms of one or more atom types. Per-type mass +values can also be set in the read_data data file +using the “Masses” keyword. See the units command for +what mass units to use.

    +

    The I index can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the mass for multiple atom types. This -takes the form "*" or "*n" or "n*" or "m*n". If N = the number of +takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). -

    -

    A line in a data file that follows the "Masses" +(inclusive).

    +

    A line in a data file that follows the “Masses” keyword specifies mass using the same format as the arguments of the mass command in an input script, except that no wild-card asterisk can -be used. For example, under the "Masses" section of a data file, the -line that corresponds to the 1st example above would be listed as -

    -
    1 1.0 
    -
    -

    Note that the mass command can only be used if the atom -style requires per-type atom mass to be set. -Currently, all but the sphere and ellipsoid and peri styles do. +be used. For example, under the “Masses” section of a data file, the +line that corresponds to the 1st example above would be listed as

    +
    1 1.0
    +
    +
    +

    Note that the mass command can only be used if the atom style requires per-type atom mass to be set. +Currently, all but the sphere and ellipsoid and peri styles do. They require mass to be set for individual particles, not types. Per-atom masses are defined in the data file read by the -read_data command, or set to default values by the -create_atoms command. Per-atom masses can also be -set to new values by the set mass or set density -commands. -

    -

    Also note that pair_style eam and pair_style -bop commands define the masses of atom types in their +read_data command, or set to default values by the +create_atoms command. Per-atom masses can also be +set to new values by the set mass or set density +commands.

    +

    Also note that pair_style eam and pair_style bop commands define the masses of atom types in their respective potential files, in which case the mass command is normally -not used. -

    -

    If you define a hybrid atom style which includes one +not used.

    +

    If you define a hybrid atom style which includes one (or more) sub-styles which require per-type mass and one (or more) sub-styles which require per-atom mass, then you must define both. However, in this case the per-type mass will be ignored; only the -per-atom mass will be used by LAMMPS. -

    -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    All masses must be defined before a simulation is run. They must also -all be defined before a velocity or fix -shake command is used. -

    -

    The mass assigned to any type or atom must be > 0.0. -

    -

    Related commands: none -

    -

    Default: none -

    - +per-atom mass will be used by LAMMPS.

    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +

    All masses must be defined before a simulation is run. They must also +all be defined before a velocity or fix shake command is used.

    +

    The mass assigned to any type or atom must be > 0.0.

    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/min_modify.html b/doc/min_modify.html index d9298f9b69..3ae9dac98f 100644 --- a/doc/min_modify.html +++ b/doc/min_modify.html @@ -1,83 +1,266 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + min_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    min_modify command -

    -

    Syntax: -

    -
    min_modify keyword values ... 
    -
    -
    • one or more keyword/value pairs may be listed - -
      keyword = dmax or line
      -  dmax value = max
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      min_modify command¶

      +
      +

      Syntax¶

      +
      min_modify keyword values ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be listed
      • +
      +
      +keyword = dmax or line
      +  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 
      -
      - -
    -

    Examples: -

    -
    min_modify dmax 0.2 
    -
    -

    Description: -

    -

    This command sets parameters that affect the energy minimization -algorithms selected by the min_style command. The + line value = backtrack or quadratic or forcezero + backtrack,quadratic,forcezero = style of linesearch to use + +

    +
    +

    Examples¶

    +
    min_modify dmax 0.2
    +
    +
    +
    +
    +

    Description¶

    +

    This command sets parameters that affect the energy minimization +algorithms selected by the min_style command. The various settings may affect the convergence rate and overall number of force evaluations required by a minimization, so users can experiment -with these parameters to tune their minimizations. -

    -

    The cg and sd minimization styles have an outer iteration and an +with these parameters to tune their minimizations.

    +

    The cg and sd minimization styles have an outer iteration and an inner iteration which is steps along a one-dimensional line search in -a particular search direction. The dmax parameter is how far any +a particular search direction. The dmax parameter is how far any atom can move in a single line search in any dimension (x, y, or z). -For the quickmin and fire minimization styles, the dmax setting +For the quickmin and fire minimization styles, the dmax setting is how far any atom can move in a single iteration (timestep). Thus a -value of 0.1 in real units means no atom will move +value of 0.1 in real units means no atom will move further than 0.1 Angstroms in a single outer iteration. This prevents highly overlapped atoms from being moved long distances (e.g. through -another atom) due to large forces. -

    -

    The choice of line search algorithm for the cg and sd minimization -styles can be selected via the line keyword. -The default quadratic line search algorithm starts out using +another atom) due to large forces.

    +

    The choice of line search algorithm for the cg and sd minimization +styles can be selected via the line keyword. +The default quadratic line search algorithm starts out using the robust backtracking method described below. However, once the system gets close to a local minimum and the linesearch steps get small, so that the energy -is approximately quadratic in the step length, it uses the +is approximately quadratic in the step length, it uses the estimated location of zero gradient as the linesearch step, -provided the energy change is downhill. +provided the energy change is downhill. This becomes more efficient than backtracking -for highly-converged relaxations. The forcezero -line search algorithm is similar to quadratic. -It may be more efficient than quadratic on some systems. -

    -

    The backtracking search is robust and should always find a local energy -minimum. However, it will "converge" when it can no longer reduce the +for highly-converged relaxations. The forcezero +line search algorithm is similar to quadratic. +It may be more efficient than quadratic on some systems.

    +

    The backtracking search is robust and should always find a local energy +minimum. However, it will “converge” when it can no longer reduce the energy of the system. Individual atom forces may still be larger than desired at this point, because the energy change is measured as the difference of two large values (energy before and energy after) and that difference may be smaller than machine epsilon even if atoms -could move in the gradient direction to reduce forces further. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    min_style, minimize -

    -

    Default: -

    -

    The option defaults are dmax = 0.1 and line = quadratic. -

    - +could move in the gradient direction to reduce forces further.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are dmax = 0.1 and line = quadratic.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/min_style.html b/doc/min_style.html index 740ca261e1..6a08b673e9 100644 --- a/doc/min_style.html +++ b/doc/min_style.html @@ -1,104 +1,284 @@ - -
    LAMMPS WWW Page - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + min_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    min_style command -

    -

    Syntax: -

    -
    min_style style 
    -
    -
    • style = cg or hftn or sd or quickmin or fire -
    -

    Examples: -

    -
    min_style cg
    -min_style fire 
    -
    -

    Description: -

    -

    Choose a minimization algorithm to use when a minimize -command is performed. -

    -

    Style cg is the Polak-Ribiere version of the conjugate gradient (CG) + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    min_style command¶

    +
    +

    Syntax¶

    +
    min_style style
    +
    +
    +
      +
    • style = cg or hftn or sd or quickmin or fire
    • +
    +
    +
    +

    Examples¶

    +
    min_style cg
    +min_style fire
    +
    +
    +
    +
    +

    Description¶

    +

    Choose a minimization algorithm to use when a minimize +command is performed.

    +

    Style cg is the Polak-Ribiere version of the conjugate gradient (CG) algorithm. At each iteration the force gradient is combined with the previous iteration information to compute a new search direction perpendicular (conjugate) to the previous search direction. The PR variant affects how the direction is chosen and how the CG method is restarted when it ceases to make progress. The PR variant is thought -to be the most effective CG choice for most problems. -

    -

    Style hftn is a Hessian-free truncated Newton algorithm. At each +to be the most effective CG choice for most problems.

    +

    Style hftn is a Hessian-free truncated Newton algorithm. At each iteration a quadratic model of the energy potential is solved by a conjugate gradient inner iteration. The Hessian (second derivatives) of the energy is not formed directly, but approximated in each conjugate search direction by a finite difference directional derivative. When close to an energy minimum, the algorithm behaves like a Newton method and exhibits a quadratic convergence rate to high -accuracy. In most cases the behavior of hftn is similar to cg, -but it offers an alternative if cg seems to perform poorly. This -style is not affected by the min_modify command. -

    -

    Style sd is a steepest descent algorithm. At each iteration, the +accuracy. In most cases the behavior of hftn is similar to cg, +but it offers an alternative if cg seems to perform poorly. This +style is not affected by the min_modify command.

    +

    Style sd is a steepest descent algorithm. At each iteration, the search direction is set to the downhill direction corresponding to the force vector (negative gradient of energy). Typically, steepest descent will not converge as quickly as CG, but may be more robust in -some situations. -

    -

    Style quickmin is a damped dynamics method described in -(Sheppard), where the damping parameter is related to the +some situations.

    +

    Style quickmin is a damped dynamics method described in +(Sheppard), where the damping parameter is related to the projection of the velocity vector along the current force vector for each atom. The velocity of each atom is initialized to 0.0 by this -style, at the beginning of a minimization. -

    -

    Style fire is a damped dynamics method described in -(Bitzek), which is similar to quickmin but adds a variable +style, at the beginning of a minimization.

    +

    Style fire is a damped dynamics method described in +(Bitzek), which is similar to quickmin but adds a variable timestep and alters the projection operation to maintain components of 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. -

    -

    Either the quickmin and fire styles are useful in the context of -nudged elastic band (NEB) calculations via the neb command. -

    -

    IMPORTANT NOTE: The damped dynamic minimizers use whatever timestep -you have defined via the timestep command. Often they +a minimization.

    +

    Either the quickmin and fire styles are useful in the context of +nudged elastic band (NEB) calculations via the neb command.

    +
    +

    Warning

    +

    The damped dynamic minimizers use whatever timestep +you have defined via the timestep command. Often they will converge more quickly if you use a timestep about 10x larger than -you would normally use for dynamics simulations. -

    -

    IMPORTANT NOTE: The quickmin and fire styles do not yet support -the use of the fix box/relax command or -minimizations involving the electron radius in eFF -models. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    min_modify, minimize, neb -

    -

    Default: -

    -
    min_style cg 
    -
    -
    - - - -

    (Sheppard) Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 +you would normally use for dynamics simulations.

    +
    +
    +

    Warning

    +

    The quickmin and fire styles do not yet support +the use of the fix box/relax command or +minimizations involving the electron radius in eFF +models.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +
    min_style cg
    +
    +
    +
    +

    (Sheppard) Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 (2008). See ref 1 in this paper for original reference to Qmin in -Jonsson, Mills, Jacobsen. -

    - +Jonsson, Mills, Jacobsen.

    +

    (Bitzek) Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, +97, 170201 (2006).

    +
    +
    -

    (Bitzek) Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, -97, 170201 (2006). -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/minimize.html b/doc/minimize.html index 16f8be7b46..1077778dfa 100644 --- a/doc/minimize.html +++ b/doc/minimize.html @@ -1,279 +1,430 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + minimize command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    minimize command -

    -

    Syntax: -

    -
    minimize etol ftol maxiter maxeval 
    -
    -
    • etol = stopping tolerance for energy (unitless) -
    • ftol = stopping tolerance for force (force units) -
    • maxiter = max iterations of minimizer -
    • maxeval = max number of force/energy evaluations -
    -

    Examples: -

    -
    minimize 1.0e-4 1.0e-6 100 1000
    -minimize 0.0 1.0e-8 1000 100000 
    -
    -

    Description: -

    -

    Perform an energy minimization of the system, by iteratively adjusting + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    minimize command¶

    +
    +

    Syntax¶

    +
    minimize etol ftol maxiter maxeval
    +
    +
    +
      +
    • etol = stopping tolerance for energy (unitless)
    • +
    • ftol = stopping tolerance for force (force units)
    • +
    • maxiter = max iterations of minimizer
    • +
    • maxeval = max number of force/energy evaluations
    • +
    +
    +
    +

    Examples¶

    +
    minimize 1.0e-4 1.0e-6 100 1000
    +minimize 0.0 1.0e-8 1000 100000
    +
    +
    +
    +
    +

    Description¶

    +

    Perform an energy minimization of the system, by iteratively adjusting atom coordinates. Iterations are terminated when one of the stopping criteria is satisfied. At that point the configuration will hopefully be in local potential energy minimum. More precisely, the configuration should approximate a critical point for the objective -function (see below), which may or may not be a local minimum. -

    -

    The minimization algorithm used is set by the -min_style command. Other options are set by the -min_modify command. Minimize commands can be -interspersed with run commands to alternate between +function (see below), which may or may not be a local minimum.

    +

    The minimization algorithm used is set by the +min_style command. Other options are set by the +min_modify command. Minimize commands can be +interspersed with run commands to alternate between relaxation and dynamics. The minimizers bound the distance atoms move in one iteration, so that you can relax systems with highly overlapped atoms (large energies and forces) by pushing the atoms off of each -other. -

    -

    Alternate means of relaxing a system are to run dynamics with a small -or limited timestep. Or dynamics can be run -using fix viscous to impose a damping force that -slowly drains all kinetic energy from the system. The pair_style -soft potential can be used to un-overlap atoms while -running dynamics. -

    -

    Note that you can minimize some atoms in the system while holding the -coordiates of other atoms fixed by applying fix -setforce to the other atoms. See a fuller -discussion of using fixes while minimizing below. -

    -

    The minimization styles cg, sd, and hftn +other.

    +

    Alternate means of relaxing a system are to run dynamics with a small +or limited timestep. Or dynamics can be run +using fix viscous to impose a damping force that +slowly drains all kinetic energy from the system. The pair_style soft potential can be used to un-overlap atoms while +running dynamics.

    +

    Note that you can minimize some atoms in the system while holding the +coordiates of other atoms fixed by applying fix setforce to the other atoms. See a fuller +discussion of using fixes while minimizing below.

    +

    The minimization styles cg, sd, and hftn involves an outer iteration loop which sets the search direction along which atom coordinates are changed. An inner iteration is then performed using a line search algorithm. The line search typically evaluates forces and energies several times to set new coordinates. Currently, a backtracking algorithm is used which may not be optimal in terms of the number of force evaulations performed, but appears to -be more robust than previous line searches we've tried. The -backtracking method is described in Nocedal and Wright's Numerical -Optimization (Procedure 3.1 on p 41). -

    -

    The minimization styles quickmin and fire perform +be more robust than previous line searches we’ve tried. The +backtracking method is described in Nocedal and Wright’s Numerical +Optimization (Procedure 3.1 on p 41).

    +

    The minimization styles quickmin and fire perform damped dynamics using an Euler integration step. Thus they require a -timestep be defined. -

    -

    IMPORTANT NOTE: The damped dynamic minimizers use whatever timestep -you have defined via the timestep command. Often they +timestep be defined.

    +
    +

    Warning

    +

    The damped dynamic minimizers use whatever timestep +you have defined via the timestep command. Often they will converge more quickly if you use a timestep about 10x larger than -you would normally use for dynamics simulations. -

    -
    - -

    In all cases, the objective function being minimized is the total +you would normally use for dynamics simulations.

    +
    +
    +

    In all cases, the objective function being minimized is the total potential energy of the system as a function of the N atom -coordinates: -

    -
    -
    -

    where the first term is the sum of all non-bonded pairwise -interactions including long-range Coulombic -interactions, the 2nd thru 5th terms are -bond, angle, -dihedral, and improper +coordinates:

    +_images/min_energy.jpg +

    where the first term is the sum of all non-bonded pairwise interactions including long-range Coulombic interactions, the 2nd thru 5th terms are +bond, angle, +dihedral, and improper interactions respectively, and the last term is energy due to -fixes which can act as constraints or apply force to atoms, +fixes which can act as constraints or apply force to atoms, such as thru interaction with a wall. See the discussion below about -how fix commands affect minimization. -

    -

    The starting point for the minimization is the current configuration -of the atoms. -

    -
    - -

    The minimization procedure stops if any of several criteria are met: -

    -
    • the change in energy between outer iterations is less than etol -
    • the 2-norm (length) of the global force vector is less than the ftol -
    • the line search fails because the step distance backtracks to 0.0 -
    • the number of outer iterations or timesteps exceeds maxiter -
    • the number of total force evaluations exceeds maxeval -
    -

    For the first criterion, the specified energy tolerance etol is +how fix commands affect minimization.

    +

    The starting point for the minimization is the current configuration +of the atoms.

    +
    +

    The minimization procedure stops if any of several criteria are met:

    +
      +
    • the change in energy between outer iterations is less than etol
    • +
    • the 2-norm (length) of the global force vector is less than the ftol
    • +
    • the line search fails because the step distance backtracks to 0.0
    • +
    • the number of outer iterations or timesteps exceeds maxiter
    • +
    • the number of total force evaluations exceeds maxeval
    • +
    +

    For the first criterion, the specified energy tolerance etol is unitless; it is met when the energy change between successive iterations divided by the energy magnitude is less than or equal to -the tolerance. For example, a setting of 1.0e-4 for etol means an +the tolerance. For example, a setting of 1.0e-4 for etol means an energy tolerance of one part in 10^4. For the damped dynamics minimizers this check is not performed for a few steps after velocities are reset to 0, otherwise the minimizer would prematurely -converge. -

    -

    For the second criterion, the specified force tolerance ftol is in +converge.

    +

    For the second criterion, the specified force tolerance ftol is in force units, since it is the length of the global force vector for all atoms, e.g. a vector of size 3N for N atoms. Since many of the components will be near zero after minimization, you can think of -ftol as an upper bound on the final force on any component of any -atom. For example, a setting of 1.0e-4 for ftol means no x, y, or z +ftol as an upper bound on the final force on any component of any +atom. For example, a setting of 1.0e-4 for ftol means no x, y, or z component of force on any atom will be larger than 1.0e-4 (in force -units) after minimization. -

    -

    Either or both of the etol and ftol values can be set to 0.0, in -which case some other criterion will terminate the minimization. -

    -

    During a minimization, the outer iteration count is treated as a +units) after minimization.

    +

    Either or both of the etol and ftol values can be set to 0.0, in +which case some other criterion will terminate the minimization.

    +

    During a minimization, the outer iteration count is treated as a timestep. Output is triggered by this timestep, e.g. thermodynamic -output or dump and restart files. -

    -

    Using the thermo_style custom command with the -fmax or fnorm keywords can be useful for monitoring the progress +output or dump and restart files.

    +

    Using the thermo_style custom command with the +fmax or fnorm keywords can be useful for monitoring the progress of the minimization. Note that these outputs will be calculated only from forces on the atoms, and will not include any extra degrees of -freedom, such as from the fix box/relax command. -

    -

    Following minimization, a statistical summary is printed that lists +freedom, such as from the fix box/relax command.

    +

    Following minimization, a statistical summary is printed that lists which convergence criterion caused the minimizer to stop, as well as information about the energy, force, final line search, and -iteration counts. An example is as follows: -

    -
    Minimization stats:
    +iteration counts.  An example is as follows:

    +
    Minimization stats:
       Stopping criterion = max iterations
    -  Energy initial, next-to-last, final = 
    +  Energy initial, next-to-last, final =
            -0.626828169302     -2.82642039062     -2.82643549739
       Force two-norm initial, final = 2052.1 91.9642
       Force max component initial, final = 346.048 9.78056
       Final line search alpha, max atom move = 2.23899e-06 2.18986e-05
    -  Iterations, force evaluations = 2000 12724 
    -
    -

    The 3 energy values are for before and after the minimization and on -the next-to-last iteration. This is what the etol parameter checks. -

    -

    The two-norm force values are the length of the global force vector -before and after minimization. This is what the ftol parameter -checks. -

    -

    The max-component force values are the absolute value of the largest + Iterations, force evaluations = 2000 12724 +

    +
    +

    The 3 energy values are for before and after the minimization and on +the next-to-last iteration. This is what the etol parameter checks.

    +

    The two-norm force values are the length of the global force vector +before and after minimization. This is what the ftol parameter +checks.

    +

    The max-component force values are the absolute value of the largest component (x,y,z) in the global force vector, i.e. the infinity-norm -of the force vector. -

    -

    The alpha parameter for the line-search, when multiplied by the max +of the force vector.

    +

    The alpha parameter for the line-search, when multiplied by the max force component (on the last iteration), gives the max distance any atom moved during the last iteration. Alpha will be 0.0 if the line search could not reduce the energy. Even if alpha is non-zero, if the -"max atom move" distance is tiny compared to typical atom coordinates, +“max atom move” distance is tiny compared to typical atom coordinates, then it is possible the last iteration effectively caused no atom movement and thus the evaluated energy did not change and the minimizer terminated. Said another way, even with non-zero forces, -it's possible the effect of those forces is to move atoms a distance +it’s possible the effect of those forces is to move atoms a distance less than machine precision, so that the energy cannot be further -reduced. -

    -

    The iterations and force evaluation values are what is checked by the -maxiter and maxeval parameters. -

    -
    - -

    IMPORTANT NOTE: There are several force fields in LAMMPS which have +reduced.

    +

    The iterations and force evaluation values are what is checked by the +maxiter and maxeval parameters.

    +
    +
    +

    Warning

    +

    There are several force fields in LAMMPS which have discontinuities or other approximations which may prevent you from performing an energy minimization to high tolerances. For example, -you should use a pair style that goes to 0.0 at the +you should use a pair style that goes to 0.0 at the cutoff distance when performing minimization (even if you later change it when running dynamics). If you do not do this, the total energy of the system will have discontinuities when the relative distance between any pair of atoms changes from cutoff+epsilon to cutoff-epsilon and the minimizer may behave poorly. Some of the manybody potentials use splines and other internal cutoffs that -inherently have this problem. The long-range Coulombic -styles (PPPM, Ewald) are approximate to within the +inherently have this problem. The long-range Coulombic styles (PPPM, Ewald) are approximate to within the user-specified tolerance, which means their energy and forces may not agree to a higher precision than the Kspace-specified tolerance. In all these cases, the minimizer may give up and stop before finding a -minimum to the specified energy or force tolerance. -

    -

    Note that a cutoff Lennard-Jones potential (and others) can be shifted +minimum to the specified energy or force tolerance.

    +
    +

    Note that a cutoff Lennard-Jones potential (and others) can be shifted so that its energy is 0.0 at the cutoff via the -pair_modify command. See the doc pages for -inidividual pair styles for details. Note that +pair_modify command. See the doc pages for +inidividual pair styles for details. Note that Coulombic potentials always have a cutoff, unless versions with a -long-range component are used (e.g. pair_style -lj/cut/coul/long). The CHARMM potentials go to 0.0 at -the cutoff (e.g. pair_style lj/charmm/coul/charmm), -as do the GROMACS potentials (e.g. pair_style -lj/gromacs). -

    -

    If a soft potential (pair_style soft) is used the -Astop value is used for the prefactor (no time dependence). -

    -

    The fix box/relax command can be used to apply an +long-range component are used (e.g. pair_style lj/cut/coul/long). The CHARMM potentials go to 0.0 at +the cutoff (e.g. pair_style lj/charmm/coul/charmm), +as do the GROMACS potentials (e.g. pair_style lj/gromacs).

    +

    If a soft potential (pair_style soft) is used the +Astop value is used for the prefactor (no time dependence).

    +

    The fix box/relax command can be used to apply an external pressure to the simulation box and allow it to shrink/expand -during the minimization. -

    -

    Only a few other fixes (typically those that apply force constraints) +during the minimization.

    +

    Only a few other fixes (typically those that apply force constraints) are invoked during minimization. See the doc pages for individual -fix commands to see which ones are relevant. Current -examples of fixes that can be used include: -

    - -

    IMPORTANT NOTE: Some fixes which are invoked during minimization have +fix commands to see which ones are relevant. Current +examples of fixes that can be used include:

    + +
    +

    Warning

    +

    Some fixes which are invoked during minimization have an associated potential energy. For that energy to be included in the total potential energy of the system (the quantity being minimized), -you MUST enable the fix_modify energy option for -that fix. The doc pages for individual fix commands -specify if this should be done. -

    -
    - -

    Restrictions: -

    -

    Features that are not yet implemented are listed here, in case someone -knows how they could be coded: -

    -

    It is an error to use fix shake with minimization +you MUST enable the fix_modify energy option for +that fix. The doc pages for individual fix commands +specify if this should be done.

    +
    +
    +
    +
    +

    Restrictions¶

    +

    Features that are not yet implemented are listed here, in case someone +knows how they could be coded:

    +

    It is an error to use fix shake with minimization because it turns off bonds that should be included in the potential energy of the system. The effect of a fix shake can be approximated during a minimization by using stiff spring constants for the bonds and/or angles that would normally be constrained by the SHAKE -algorithm. -

    -

    Fix rigid is also not supported by minimization. It +algorithm.

    +

    Fix rigid is also not supported by minimization. It is not an error to have it defined, but the energy minimization will not keep the defined body(s) rigid during the minimization. Note that if bonds, angles, etc internal to a rigid body have been turned off -(e.g. via neigh_modify exclude), they will not +(e.g. via neigh_modify exclude), they will not contribute to the potential energy which is probably not what is -desired. -

    -

    Pair potentials that produce torque on a particle (e.g. granular -potentials or the GayBerne -potential for ellipsoidal particles) are not +desired.

    +

    Pair potentials that produce torque on a particle (e.g. granular potentials or the GayBerne potential for ellipsoidal particles) are not relaxed by a minimization. More specifically, radial relaxations are induced, but no rotations are induced by a minimization, so such a -system will not fully relax. -

    -

    Related commands: -

    -

    min_modify, min_style, -run_style -

    -

    Default: none -

    - +system will not fully relax.

    +
    + +
    + + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/molecule.html b/doc/molecule.html index 15f8df52c9..76ffe8d40d 100644 --- a/doc/molecule.html +++ b/doc/molecule.html @@ -1,444 +1,579 @@ - -
    <LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + molecule command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    molecule command -

    -

    Syntax: -

    -
    molecule ID file1 file2 ... keyword values ... 
    -
    -
    • ID = user-assigned name for the molecule template - -
    • file1,file2,... = names of files containing molecule descriptions - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = offset - -
        offset values = toff boff aoff doff ioff
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      molecule command¶

      +
      +

      Syntax¶

      +
      molecule ID file1 file2 ... keyword values ...
      +
      +
      +
        +
      • ID = user-assigned name for the molecule template
      • +
      • file1,file2,... = names of files containing molecule descriptions
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = offset
      • +
      +
      +offset values = toff boff aoff doff ioff
           toff = offset to add to atom types
           boff = offset to add to bond types
           aoff = offset to add to angle types
           doff = offset to add to dihedral types
      -    ioff = offset to add to improper types 
      -
      - -
    -

    Examples: -

    -
    molecule 1 mymol
    +    ioff = offset to add to improper types
    +
    +
    +
    +

    Examples¶

    +
    molecule 1 mymol
     molecule 1 co2.txt h2o.txt
     molecule CO2 co2.txt
    -molecule 1 mymol offset 6 9 18 23 14 
    -
    -

    Description: -

    -

    Define a molecule template that can be used as part of other LAMMPS +molecule 1 mymol offset 6 9 18 23 14 +

    +
    +
    +
    +

    Description¶

    +

    Define a molecule template that can be used as part of other LAMMPS commands, typically to define a collection of particles as a bonded molecule or a rigid body. Commands that currently use molecule -templates include: -

    - -

    The ID of a molecule template can only contain alphanumeric characters -and underscores. -

    -

    A single template can contain multiple molecules, listed one per file. +templates include:

    + +

    The ID of a molecule template can only contain alphanumeric characters +and underscores.

    +

    A single template can contain multiple molecules, listed one per file. Many of the commands listed above currently use only the first molecule in the template, and will issue a warning if the template -contains multiple molecules. The atom_style -template command allows multiple-molecule templates -to define a system with more than one templated molecule. -

    -

    The optional offset keyword adds the specified offset values to the +contains multiple molecules. The atom_style template command allows multiple-molecule templates +to define a system with more than one templated molecule.

    +

    The optional offset keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper -types as they are read from the molecule file. E.g. if toff = 2, +types as they are read from the molecule file. E.g. if toff = 2, and the file uses atom types 1,2,3, then each created molecule will have atom types 3,4,5. This is to make it easy to use the same molecule template file in different simulations. Note that the same offsets are applied to the molecules in all specified files. All five offset values must be speicified, but individual values will be ignored if the molecule template does not use that attribute (e.g. no -bonds). -

    -

    IMPORTANT NOTE: This command can be used to define molecules with +bonds).

    +
    +

    Warning

    +

    This command can be used to define molecules with bonds, angles, dihedrals, imporopers, or special bond lists of neighbors within a molecular topology, so that you can later add the molecules to your simulation, via one or more of the commands listed above. If such molecules do not already exist when LAMMPS creates the -simulation box, via the create_box or -read_data command, when you later add them you may +simulation box, via the create_box or +read_data command, when you later add them you may overflow the pre-allocated data structures which store molecular topology information with each atom, and an error will be generated. -Both the create_box command and the data files read -by the read_data command have "extra" options which +Both the create_box command and the data files read +by the read_data command have “extra” options which insure space is allocated for storing topology info for molecules that -are added later. -

    -

    The format of an individual molecule file is similar to the data file -read by the read_data commands, and is as follows. -

    -

    A molecule file has a header and a body. The header appears first. +are added later.

    +
    +

    The format of an individual molecule file is similar to the data file +read by the read_data commands, and is as follows.

    +

    A molecule file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with '#' that is ignored. If the +can have a trailing comment starting with ‘#’ that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header -keyword, the line begins the body of the file. -

    -

    The body of the file contains zero or more sections. The first line +value(s) is read from the line. If it doesn’t contain a header +keyword, the line begins the body of the file.

    +

    The body of the file contains zero or more sections. The first line of a section has only a keyword. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can appear in any order, -with a few exceptions as noted below. -

    -

    These are the recognized header keywords. Header lines can come in +with a few exceptions as noted below.

    +

    These are the recognized header keywords. Header lines can come in any order. The numeric value(s) are read from the beginning of the line. The keyword should appear at the end of the line. All these settings have default values, as explained below. A line need only -appear if the value(s) are different than the default. -

    -
    • N atoms = # of atoms N in molecule, default = 0 -
    • Nb bonds = # of bonds Nb in molecule, default = 0 -
    • Na angles = # of angles Na in molecule, default = 0 -
    • Nd dihedrals = # of dihedrals Nd in molecule, default = 0 -
    • Ni impropers = # of impropers Ni in molecule, default = 0 -
    • Mtotal mass = total mass of molecule -
    • Xc Yc Zc com = coordinates of center-of-mass of molecule -
    • Ixx Iyy Izz Ixy Ixz Iyz inertia = 6 components of inertia tensor of molecule -
    -

    For mass, com, and inertia, the default is for LAMMPS to +appear if the value(s) are different than the default.

    +
      +
    • N atoms = # of atoms N in molecule, default = 0
    • +
    • Nb bonds = # of bonds Nb in molecule, default = 0
    • +
    • Na angles = # of angles Na in molecule, default = 0
    • +
    • Nd dihedrals = # of dihedrals Nd in molecule, default = 0
    • +
    • Ni impropers = # of impropers Ni in molecule, default = 0
    • +
    • Mtotal mass = total mass of molecule
    • +
    • Xc Yc Zc com = coordinates of center-of-mass of molecule
    • +
    • Ixx Iyy Izz Ixy Ixz Iyz inertia = 6 components of inertia tensor of molecule
    • +
    +

    For mass, com, and inertia, the default is for LAMMPS to calculate this quantity itself if needed, assuming the molecules consists of a set of point particles or finite-size particles (with a non-zero diameter) that do not overlap. If finite-size particles in the molecule do overlap, LAMMPS will not account for the overlap effects when calculating any of these 3 quantities, so you should -pre-compute them yourself and list the values in the file. -

    -

    The mass and center-of-mass coordinates (Xc,Yc,Zc) are +pre-compute them yourself and list the values in the file.

    +

    The mass and center-of-mass coordinates (Xc,Yc,Zc) are self-explanatory. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the prinicpal axes of the rigid body itself. LAMMPS performs the latter calculation -internally. -

    -

    These are the allowed section keywords for the body of the file. -

    -
    • Coords, Types, Charges, Diameters, Masses = atom-property sections -
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections -
    • Special Bond Counts, Special Bonds = special neighbor info -
    • Shake Flags, Shake Atoms, Shake Bond Types = SHAKE info -
    -

    If a Bonds section is specified then the Special Bond Counts and +internally.

    +

    These are the allowed section keywords for the body of the file.

    +
      +
    • Coords, Types, Charges, Diameters, Masses = atom-property sections
    • +
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections
    • +
    • Special Bond Counts, Special Bonds = special neighbor info
    • +
    • Shake Flags, Shake Atoms, Shake Bond Types = SHAKE info
    • +
    +

    If a Bonds section is specified then the Special Bond Counts and Special Bonds sections can also be used, if desired, to explicitly list the 1-2, 1-3, 1-4 neighbors within the molecule topology (see details below). This is optional since if these sections are not included, LAMMPS will auto-generate this information. Note that LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the -special_bonds command for more details. One +special_bonds command for more details. One reason to list the special bond info explicitly is for the -thermalized Drude oscillator model which treats +thermalized Drude oscillator model which treats the bonds between nuclear cores and Drude electrons in a different -manner. -

    -

    IMPORTANT NOTE: Whether a section is required depends on how the +manner.

    +
    +

    Warning

    +

    Whether a section is required depends on how the molecule template is used by other LAMMPS commands. For example, to -add a molecule via the fix deposit command, the +add a molecule via the fix deposit command, the Coords and Types sections are required. To add a rigid body via the -fix pour command, the Bonds (Angles, etc) sections are +fix pour command, the Bonds (Angles, etc) sections are not required, since the molecule will be treated as a rigid body. -Some sections are optional. For example, the fix pour -command can be used to add "molecules" which are clusters of +Some sections are optional. For example, the fix pour +command can be used to add “molecules” which are clusters of finite-size granular particles. If the Diameters section is not specified, each particle in the molecule will have a default diameter of 1.0. See the doc pages for LAMMPS commands that use molecule -templates for more details. -

    -

    Each section is listed below in alphabetic order. The format of each +templates for more details.

    +
    +

    Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and rules (if any) for whether it can appear in the data file. In each case the ID is ignored; it is simply included for readability, and should be a number from 1 to Nlines for the section, indicating which atom (or bond, etc) the entry applies to. The lines are assumed to be -listed in order from 1 to Nlines, but LAMMPS does not check for this. -

    -
    - -

    Coords section: -

    -
    • one line per atom -
    • line syntax: ID x y z -
    • x,y,z = coordinate of atom -
    -
    - -

    Types section: -

    -
    • one line per atom -
    • line syntax: ID type -
    • type = atom type of atom -
    -
    - -

    Charges section: -

    -
    • one line per atom -
    • line syntax: ID q -
    • q = charge on atom -
    -

    This section is only allowed for atom styles that +listed in order from 1 to Nlines, but LAMMPS does not check for this.

    +
    +

    Coords section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID x y z
    • +
    • x,y,z = coordinate of atom
    • +
    +
    +

    Types section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID type
    • +
    • type = atom type of atom
    • +
    +
    +

    Charges section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID q
    • +
    • q = charge on atom
    • +
    +

    This section is only allowed for atom styles that support charge. If this section is not included, the default charge -on each atom in the molecule is 0.0. -

    -
    - -

    Diameters section: -

    -
    • one line per atom -
    • line syntax: ID diam -
    • diam = diameter of atom -
    -

    This section is only allowed for atom styles that +on each atom in the molecule is 0.0.

    +
    +

    Diameters section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID diam
    • +
    • diam = diameter of atom
    • +
    +

    This section is only allowed for atom styles that support finite-size spherical particles, e.g. atom_style sphere. If -not listed, the default diameter of each atom in the molecule is 1.0. -

    -
    - -

    Masses section: -

    -
    • one line per atom -
    • line syntax: ID mass -
    • mass = mass of atom -
    -

    This section is only allowed for atom styles that +not listed, the default diameter of each atom in the molecule is 1.0.

    +
    +

    Masses section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID mass
    • +
    • mass = mass of atom
    • +
    +

    This section is only allowed for atom styles that support per-atom mass, as opposed to per-type mass. See the -mass command for details. If this section is not +mass command for details. If this section is not included, the default mass for each atom is derived from its volume (see Diameters section) and a default density of 1.0, in -units of mass/volume. -

    -
    - -

    Bonds section: -

    -
    • one line per bond -
    • line syntax: ID type atom1 atom2 -
    • type = bond type (1-Nbondtype) -
    • atom1,atom2 = IDs of atoms in bond -
    -

    The IDs for the two atoms in each bond should be values -from 1 to Natoms, where Natoms = # of atoms in the molecule. -

    -
    - -

    Angles section: -

    -
    • one line per angle -
    • line syntax: ID type atom1 atom2 atom3 -
    • type = angle type (1-Nangletype) -
    • atom1,atom2,atom3 = IDs of atoms in angle -
    -

    The IDs for the three atoms in each angle should be values from 1 to +units of mass/volume.

    +
    +

    Bonds section:

    +
      +
    • one line per bond
    • +
    • line syntax: ID type atom1 atom2
    • +
    • type = bond type (1-Nbondtype)
    • +
    • atom1,atom2 = IDs of atoms in bond
    • +
    +

    The IDs for the two atoms in each bond should be values +from 1 to Natoms, where Natoms = # of atoms in the molecule.

    +
    +

    Angles section:

    +
      +
    • one line per angle
    • +
    • line syntax: ID type atom1 atom2 atom3
    • +
    • type = angle type (1-Nangletype)
    • +
    • atom1,atom2,atom3 = IDs of atoms in angle
    • +
    +

    The IDs for the three atoms in each angle should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are ordered linearly within the angle. Thus the central atom (around -which the angle is computed) is the atom2 in the list. -

    -
    - -

    Dihedrals section: -

    -
    • one line per dihedral -
    • line syntax: ID type atom1 atom2 atom3 atom4 -
    • type = dihedral type (1-Ndihedraltype) -
    • atom1,atom2,atom3,atom4 = IDs of atoms in dihedral -
    -

    The IDs for the four atoms in each dihedral should be values from 1 to +which the angle is computed) is the atom2 in the list.

    +
    +

    Dihedrals section:

    +
      +
    • one line per dihedral
    • +
    • line syntax: ID type atom1 atom2 atom3 atom4
    • +
    • type = dihedral type (1-Ndihedraltype)
    • +
    • atom1,atom2,atom3,atom4 = IDs of atoms in dihedral
    • +
    +

    The IDs for the four atoms in each dihedral should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are -ordered linearly within the dihedral. -

    -
    - -

    Impropers section: -

    -
    • one line per improper -
    • line syntax: ID type atom1 atom2 atom3 atom4 -
    • type = improper type (1-Nimpropertype) -
    • atom1,atom2,atom3,atom4 = IDs of atoms in improper -
    -

    The IDs for the four atoms in each improper should be values from 1 to +ordered linearly within the dihedral.

    +
    +

    Impropers section:

    +
      +
    • one line per improper
    • +
    • line syntax: ID type atom1 atom2 atom3 atom4
    • +
    • type = improper type (1-Nimpropertype)
    • +
    • atom1,atom2,atom3,atom4 = IDs of atoms in improper
    • +
    +

    The IDs for the four atoms in each improper should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The ordering of the 4 atoms determines the definition of the improper angle used in -the formula for the defined improper style. See -the doc pages for individual styles for details. -

    -
    - -

    Special Bond Counts section: -

    -
    • one line per atom -
    • line syntax: ID N1 N2 N3 -
    • N1 = # of 1-2 bonds -
    • N2 = # of 1-3 bonds -
    • N3 = # of 1-4 bonds -
    -

    N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of +the formula for the defined improper style. See +the doc pages for individual styles for details.

    +
    +

    Special Bond Counts section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID N1 N2 N3
    • +
    • N1 = # of 1-2 bonds
    • +
    • N2 = # of 1-3 bonds
    • +
    • N3 = # of 1-4 bonds
    • +
    +

    N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of this atom within the topology of the molecule. See the -special_bonds doc page for more discussion of +special_bonds doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds section must also appear. If this section is not specied, the -atoms in the molecule will have no special bonds. -

    -
    - -

    Special Bonds section: -

    -
    • one line per atom -
    • line syntax: ID a b c d ... -
    • a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds -
    -

    A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, +atoms in the molecule will have no special bonds.

    +
    +

    Special Bonds section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID a b c d ...
    • +
    • a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds
    • +
    +

    A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, 1-4 neighbors of this atom. The IDs should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The first N1 values should be the 1-2 neighbors, the next N2 should be the 1-3 neighbors, the last N3 should be the 1-4 neighbors. No atom ID should -appear more than once. See the special_bonds doc +appear more than once. See the special_bonds doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bond Counts section must also appear. If this section is not specied, the atoms in the molecule will have no special -bonds. -

    -
    - -

    Shake Flags section: -

    -
    • one line per atom -
    • line syntax: ID flag -
    • flag = 0,1,2,3,4 -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file, following this one. -

    -

    The meaning of the flag for each atom is as follows. See the fix -shake doc page for a further description of SHAKE -clusters. -

    -
    • 0 = not part of a SHAKE cluster -
    • 1 = part of a SHAKE angle cluster (two bonds and the angle they form) -
    • 2 = part of a 2-atom SHAKE cluster with a single bond -
    • 3 = part of a 3-atom SHAKE cluster with two bonds -
    • 4 = part of a 4-atom SHAKE cluster with three bonds -
    -
    - -

    Shake Atoms section: -

    -
    • one line per atom -
    • line syntax: ID a b c d -
    • a,b,c,d = IDs of atoms in cluster -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file. -

    -

    The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms +bonds.

    +
    +

    Shake Flags section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID flag
    • +
    • flag = 0,1,2,3,4
    • +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the “fix shake” command. The other +two Shake sections must also appear in the file, following this one.

    +

    The meaning of the flag for each atom is as follows. See the fix shake doc page for a further description of SHAKE +clusters.

    +
      +
    • 0 = not part of a SHAKE cluster
    • +
    • 1 = part of a SHAKE angle cluster (two bonds and the angle they form)
    • +
    • 2 = part of a 2-atom SHAKE cluster with a single bond
    • +
    • 3 = part of a 3-atom SHAKE cluster with two bonds
    • +
    • 4 = part of a 4-atom SHAKE cluster with three bonds
    • +
    +
    +

    Shake Atoms section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID a b c d
    • +
    • a,b,c,d = IDs of atoms in cluster
    • +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the “fix shake” command. The other +two Shake sections must also appear in the file.

    +

    The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should -list their a,b,c,d values identically. -

    -

    If flag = 0, no a,b,c,d values are listed on the line, just the -(ignored) ID. -

    -

    If flag = 1, a,b,c are listed, where a = ID of central atom in the -angle, and b,c the other two atoms in the angle. -

    -

    If flag = 2, a,b are listed, where a = ID of atom in bond with the the -lowest ID, and b = ID of atom in bond with the highest ID. -

    -

    If flag = 3, a,b,c are listed, where a = ID of central atom, -and b,c = IDs of other two atoms bonded to the central atom. -

    -

    If flag = 4, a,b,c,d are listed, where a = ID of central atom, -and b,c,d = IDs of other three atoms bonded to the central atom. -

    -

    See the fix shake doc page for a further description -of SHAKE clusters. -

    -
    - -

    Shake Bond Types section: -

    -
    • one line per atom -
    • line syntax: ID a b c -
    • a,b,c = bond types (or angle type) of bonds (or angle) in cluster -
    -

    This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file. -

    -

    The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds +list their a,b,c,d values identically.

    +

    If flag = 0, no a,b,c,d values are listed on the line, just the +(ignored) ID.

    +

    If flag = 1, a,b,c are listed, where a = ID of central atom in the +angle, and b,c the other two atoms in the angle.

    +

    If flag = 2, a,b are listed, where a = ID of atom in bond with the the +lowest ID, and b = ID of atom in bond with the highest ID.

    +

    If flag = 3, a,b,c are listed, where a = ID of central atom, +and b,c = IDs of other two atoms bonded to the central atom.

    +

    If flag = 4, a,b,c,d are listed, where a = ID of central atom, +and b,c,d = IDs of other three atoms bonded to the central atom.

    +

    See the fix shake doc page for a further description +of SHAKE clusters.

    +
    +

    Shake Bond Types section:

    +
      +
    • one line per atom
    • +
    • line syntax: ID a b c
    • +
    • a,b,c = bond types (or angle type) of bonds (or angle) in cluster
    • +
    +

    This section is only needed when molecules created using the template +will be constrained by SHAKE via the “fix shake” command. The other +two Shake sections must also appear in the file.

    +

    The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds in the SHAKE cluster that this atom belongs to. The number of values that must appear is determined by the shake flag for the atom (see the Shake Flags section above). All atoms in a particular cluster should -list their a,b,c values identically. -

    -

    If flag = 0, no a,b,c values are listed on the line, just the -(ignored) ID. -

    -

    If flag = 1, a,b,c are listed, where a = bondtype of the bond between +list their a,b,c values identically.

    +

    If flag = 0, no a,b,c values are listed on the line, just the +(ignored) ID.

    +

    If flag = 1, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = -the angle type (1 to Nangletypes) of the angle between the 3 atoms. -

    -

    If flag = 2, only a is listed, where a = bondtype of the bond between -the 2 atoms in the cluster. -

    -

    If flag = 3, a,b are listed, where a = bondtype of the bond between +the angle type (1 to Nangletypes) of the angle between the 3 atoms.

    +

    If flag = 2, only a is listed, where a = bondtype of the bond between +the 2 atoms in the cluster.

    +

    If flag = 3, a,b are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), and b = bondtype of the bond between the central atom -and the 2nd non-central atom (value c in the Shake Atoms section). -

    -

    If flag = 4, a,b,c are listed, where a = bondtype of the bond between +and the 2nd non-central atom (value c in the Shake Atoms section).

    +

    If flag = 4, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = bondtype of the bond between the central atom and the 3rd non-central -atom (value d in the Shake Atoms section). -

    -

    See the fix shake doc page for a further description -of SHAKE clusters. -

    -
    +atom (value d in the Shake Atoms section).

    +

    See the fix shake doc page for a further description +of SHAKE clusters.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The default keyword value is offset 0 0 0 0 0.

    +
    + -

    Restrictions: none -

    -

    Related commands: -

    -

    fix deposit, fix pour, -fix_gcmc -

    -

    Default: -

    -

    The default keyword value is offset 0 0 0 0 0. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/neb.html b/doc/neb.html index ae2fe0cdbf..263cd66f5c 100644 --- a/doc/neb.html +++ b/doc/neb.html @@ -1,91 +1,205 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + neb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    neb command -

    -

    Syntax: -

    -
    neb etol ftol N1 N2 Nevery file-style arg 
    -
    -
    • etol = stopping tolerance for energy (energy units) - -
    • ftol = stopping tolerance for force (force units) - -
    • N1 = max # of iterations (timesteps) to run initial NEB - -
    • N2 = max # of iterations (timesteps) to run barrier-climbing NEB - -
    • Nevery = print replica energies and reaction coordinates every this many timesteps - -
    • file-style= final or each or none - -
        final arg = filename
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      neb command¶

      +
      +

      Syntax¶

      +
      neb etol ftol N1 N2 Nevery file-style arg
      +
      +
      +
        +
      • etol = stopping tolerance for energy (energy units)
      • +
      • ftol = stopping tolerance for force (force units)
      • +
      • N1 = max # of iterations (timesteps) to run initial NEB
      • +
      • N2 = max # of iterations (timesteps) to run barrier-climbing NEB
      • +
      • Nevery = print replica energies and reaction coordinates every this many timesteps
      • +
      • file-style= final or each or none
      • +
      +
      +final arg = filename
           filename = file with initial coords for final replica
             coords for intermediate replicas are linearly interpolated between first and last replica
      -  each arg = filename
      +  each arg = filename
           filename = unique filename for each replica (except first) with its initial coords
      -  none arg = no argument
      -    all replicas assumed to already have their initial coords 
      -
      - -
    -

    Examples: -

    -
    neb 0.1 0.0 1000 500 50 final coords.final
    +  none arg = no argument
    +    all replicas assumed to already have their initial coords
    +
    +
    +
    +

    Examples¶

    +
    neb 0.1 0.0 1000 500 50 final coords.final
     neb 0.0 0.001 1000 500 50 each coords.initial.$i
    -neb 0.0 0.001 1000 500 50 none 
    -
    -

    Description: -

    -

    Perform a nudged elastic band (NEB) calculation using multiple +neb 0.0 0.001 1000 500 50 none +

    +
    +
    +
    +

    Description¶

    +

    Perform a nudged elastic band (NEB) calculation using multiple replicas of a system. Two or more replicas must be used; the first -and last are the end points of the transition path. -

    -

    NEB is a method for finding both the atomic configurations and height +and last are the end points of the transition path.

    +

    NEB is a method for finding both the atomic configurations and height of the energy barrier associated with a transition state, e.g. for an atom to perform a diffusive hop from one energy basin to another in a coordinated fashion with its neighbors. The implementation in LAMMPS -follows the discussion in these 3 papers: (Henkelman1), -(Henkelman2), and (Nakano). -

    -

    Each replica runs on a partition of one or more processors. Processor +follows the discussion in these 3 papers: (Henkelman1), +(Henkelman2), and (Nakano).

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 7 of the +switch; see Section_start 7 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on just one or two processors. You will simply not get the performance speed-up you would see with one or more physical processors per -replica. See this section of the manual -for further discussion. -

    -

    IMPORTANT NOTE: The current NEB implementation in LAMMPS only allows -there to be one processor per replica. -

    -

    IMPORTANT NOTE: As explained below, a NEB calculation perfoms a damped +replica. See this section of the manual +for further discussion.

    +
    +

    Warning

    +

    The current NEB implementation in LAMMPS only allows +there to be one processor per replica.

    +
    +
    +

    Warning

    +

    As explained below, a NEB calculation perfoms a damped dynamics minimization across all the replicas. The mimimizer uses whatever timestep you have defined in your input script, via the -timestep command. Often NEB will converge more +timestep command. Often NEB will converge more quickly if you use a timestep about 10x larger than you would normally -use for dynamics simulations. -

    -

    When a NEB calculation is performed, it is assumed that each replica +use for dynamics simulations.

    +
    +

    When a NEB 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 atoms, the interaction potentials, and the starting configuration when the neb command is -issued should be the same for every replica. -

    -

    In a NEB calculation each atom in a replica is connected to the same +issued should be the same for every replica.

    +

    In a NEB calculation each atom in a replica is connected to the same atom in adjacent replicas by springs, which induce inter-replica -forces. These forces are imposed by the fix neb +forces. These forces are imposed by the fix neb command, which must be used in conjunction with the neb command. The group used to define the fix neb command defines the NEB atoms which are the only ones that inter-replica springs are applied to. If the @@ -96,17 +210,15 @@ replica. Conceptually, the non-NEB atoms provide a background force field for the NEB atoms. They can be allowed to move during the NEB minimiation procedure (which will typically induce different coordinates for non-NEB atoms in different replicas), or held fixed -using other LAMMPS commands such as fix setforce. Note -that the partition command can be used to invoke a +using other LAMMPS commands such as fix setforce. Note +that the partition command can be used to invoke a command on a subset of the replicas, e.g. if you wish to hold NEB or -non-NEB atoms fixed in only the end-point replicas. -

    -

    The initial atomic configuration for each of the replicas can be -specified in different manners via the file-style setting, as +non-NEB atoms fixed in only the end-point replicas.

    +

    The initial atomic configuration for each of the replicas can be +specified in different manners via the file-style setting, as discussed below. Only atoms whose initial coordinates should differ -from the current configuration need be specified. -

    -

    Conceptually, the initial configuration for the first replica should +from the current configuration need be specified.

    +

    Conceptually, the initial configuration for the first replica should be a state with all the atoms (NEB and non-NEB) having coordinates on one side of the energy barrier. A perfect energy minimum is not required, since atoms in the first replica experience no spring forces @@ -115,16 +227,14 @@ drive the first replica to an energy minimum if it is not already there. However, you will typically get better convergence if the initial state is already at a minimum. For example, for a system with a free surface, the surface should be fully relaxed before attempting -a NEB calculation. -

    -

    Likewise, the initial configuration of the final replica should be a +a NEB calculation.

    +

    Likewise, the initial configuration of the final replica should be a state with all the atoms (NEB and non-NEB) on the other side of the energy barrier. Again, a perfect energy minimum is not required, since the atoms in the last replica also experience no spring forces from the next-to-last replica, and thus the damped dynamics -minimization will drive it to an energy minimum. -

    -

    As explained below, the initial configurations of intermediate +minimization will drive it to an energy minimum.

    +

    As explained below, the initial configurations of intermediate replicas can be atomic coordinates interpolated in a linear fashion between the first and last replicas. This is often adequate state for simple transitions. For more complex transitions, it may lead to slow @@ -132,11 +242,9 @@ convergence or even bad results if the minimum energy path (MEP, see below) of states over the barrier cannot be correctly converged to from such an initial configuration. In this case, you will want to generate initial states for the intermediate replicas that are -geometrically closer to the MEP and read them in. -

    -
    - -

    For a file-style setting of final, a filename is specified which +geometrically closer to the MEP and read them in.

    +
    +

    For a file-style setting of final, a filename is specified which contains atomic 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 @@ -151,292 +259,326 @@ distance along a line between the starting and final point, and the the line. Note that this procedure to produce consistent coordinates across all the replicas, the current coordinates need to be the same in all replicas. LAMMPS does not check for this, but invalid initial -configurations will likely result if it is not the case. -

    -

    NOTE: The "distance" between the starting and final point is +configurations will likely result if it is not the case.

    +
    +

    Note

    +

    The “distance” between the starting and final point is calculated in a minimum-image sense for a periodic simulation box. This means that if the two positions are on opposite sides of a box (periodic in that dimension), the distance between them will be small, because the periodic image of one of the atoms is close to the other. Similarly, even if the assigned position resulting from the interpolation is outside the periodic box, the atom will be wrapped -back into the box when the NEB calculation begins. -

    -

    For a file-style setting of each, a filename is specified which is +back into the box when the NEB calculation begins.

    +
    +

    For a file-style setting of each, a filename is specified which is assumed to be unique to each replica. This can be done by -using a variable in the filename, e.g. -

    -
    variable i equal part
    -neb 0.0 0.001 1000 500 50 each coords.initial.$i 
    -
    -

    which in this case will substitute the partition ID (0 to N-1) for the +using a variable in the filename, e.g.

    +
    variable i equal part
    +neb 0.0 0.001 1000 500 50 each coords.initial.$i
    +
    +
    +

    which in this case will substitute the partition ID (0 to N-1) for the variable I, which is also effectively the replica ID. See the -variable command for other options, such as using -world-, universe-, or uloop-style variables. -

    -

    Each replica (except the first replica) will read its file, formatted +variable command for other options, such as using +world-, universe-, or uloop-style variables.

    +

    Each replica (except the first replica) will read its file, formatted as described below, and for any atom that appears in the file, assign the specified coordinates to its atom. The various files do not need -to contain the same set of atoms. -

    -

    For a file-style setting of none, no filename is specified. Each +to contain the same set of atoms.

    +

    For a file-style setting of none, no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or -dump file, via the read_data, -read_restart, or read_dump +dump file, via the read_data, +read_restart, or read_dump commands. The replica-specific names of these files can be specified -as in the discussion above for the each file-style. Also see the +as in the discussion above for the each file-style. Also see the section below for how a NEB calculation can produce restart files, so -that a long calculation can be restarted if needed. -

    -

    IMPORTANT NOTE: None of the file-style settings change the initial +that a long calculation can be restarted if needed.

    +
    +

    Warning

    +

    None of the file-style settings change the initial configuration of any atom in the first replica. The first replica must thus be in the correct initial configuration at the time the neb -command is issued. -

    -
    - -

    A NEB calculation proceeds in two stages, each of which is a +command is issued.

    +
    +
    +

    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 dynamics -min_style, such as quickmin or fire. The cg, -sd, and hftn styles cannot be used, since they perform iterative +min_style, such as quickmin or fire. The cg, +sd, and hftn styles cannot be used, since they perform iterative line searches in their inner loop, which cannot be easily synchronized -across multiple replicas. -

    -

    The minimizer tolerances for energy and force are set by etol and -ftol, the same as for the minimize command. -

    -

    A non-zero etol means that the NEB calculation will terminate if the +across multiple replicas.

    +

    The minimizer tolerances for energy and force are set by etol and +ftol, the same as for the minimize command.

    +

    A non-zero etol means that the NEB calculation will terminate if the energy criterion is met by every replica. The energies being compared -to etol do not include any contribution from the inter-replica -forces, since these are non-conservative. A non-zero ftol means +to etol do not include any contribution from the inter-replica +forces, since these are non-conservative. A non-zero ftol means that the NEB calculation will terminate if the force criterion is met -by every replica. The forces being compared to ftol include the +by every replica. The forces being compared to ftol include the inter-replica forces between an atom and its images in adjacent -replicas. -

    -

    The maximum number of iterations in each stage is set by N1 and -N2. These are effectively timestep counts since each iteration of +replicas.

    +

    The maximum number of iterations in each stage is set by N1 and +N2. These are effectively timestep counts since each iteration of damped dynamics is like a single timestep in a dynamics -run. During both stages, the potential energy of each +run. During both stages, the potential energy of each 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. +Nevery timesteps. The RD is 0 and 1 for the first and last replica. For intermediate replicas, it is the cumulative distance (normalized by the total cumulative distance) between adjacent replicas, where -"distance" is defined as the length of the 3N-vector of differences in +“distance” is defined as the length of the 3N-vector of differences in atomic coordinates, where N is the number of NEB atoms involved in the -transition. These outputs allow you to monitor NEB's progress in -finding a good energy barrier. N1 and N2 must both be multiples -of Nevery. -

    -

    In the first stage of NEB, the set of replicas should converge toward +transition. These outputs allow you to monitor NEB’s progress in +finding a good energy barrier. N1 and N2 must both be multiples +of Nevery.

    +

    In the first stage of NEB, the set of replicas should converge toward the minimum energy path (MEP) of conformational states that transition over the barrier. The MEP for a barrier is defined as a sequence of 3N-dimensional states that cross the barrier at its saddle point, each of which has a potential energy gradient parallel to the MEP itself. The replica states will also be roughly equally spaced along the MEP -due to the inter-replica spring force added by the fix -neb command. -

    -

    In the second stage of NEB, the replica with the highest energy +due to the inter-replica spring force added by the fix neb command.

    +

    In the second stage of NEB, the replica with the highest energy is selected and the inter-replica forces on it are converted to a force that drives its atom coordinates to the top or saddle point of the barrier, via the barrier-climbing calculation described in -(Henkelman2). As before, the other replicas rearrange -themselves along the MEP so as to be roughly equally spaced. -

    -

    When both stages are complete, if the NEB calculation was successful, +(Henkelman2). As before, the other replicas rearrange +themselves along the MEP so as to be roughly equally spaced.

    +

    When both stages are complete, if the NEB calculation was successful, one of the replicas should be an atomic configuration at the top or saddle point of the barrier, the potential energies for the set of replicas should represent the energy profile of the barrier along the MEP, and the configurations of the replicas should be a sequence of -configurations along the MEP. -

    -
    - -

    A few other settings in your input script are required or advised to +configurations along the MEP.

    +
    +

    A few other settings in your input script are required or advised to perform a NEB calculation. See the IMPORTANT NOTE about the choice of -timestep at the beginning of this doc page. -

    -

    An atom map must be defined which it is not by default for atom_style -atomic problems. The atom_modify -map command can be used to do this. -

    -

    The "atom_modify sort 0 0.0" command should be used to turn off atom -sorting. -

    -

    NOTE: This sorting restriction will be removed in a future version of -NEB in LAMMPS. -

    -

    The minimizers in LAMMPS operate on all atoms in your system, even +timestep at the beginning of this doc page.

    +

    An atom map must be defined which it is not by default for atom_style atomic problems. The atom_modify map command can be used to do this.

    +

    The “atom_modify sort 0 0.0” command should be used to turn off atom +sorting.

    +
    +

    Note

    +

    This sorting restriction will be removed in a future version of +NEB in LAMMPS.

    +
    +

    The minimizers in LAMMPS operate on all atoms in your system, even non-NEB atoms, as defined above. To prevent non-NEB atoms from moving -during the minimization, you should use the fix -setforce command to set the force on each of those +during the minimization, you should use the fix setforce command to set the force on each of those atoms to 0.0. This is not required, and may not even be desired in some cases, but if those atoms move too far (e.g. because the initial state of your system was not well-minimized), it can cause problems -for the NEB procedure. -

    -

    The damped dynamics minimizers, such as quickmin -and fire), adjust the position and velocity of the atoms via an +for the NEB procedure.

    +

    The damped dynamics minimizers, such as quickmin +and fire), adjust the position and velocity of the atoms via an Euler integration step. Thus you must define an appropriate -timestep to use with NEB. As mentioned above, NEB +timestep to use with NEB. As mentioned above, NEB will often converge more quickly if you use a timestep about 10x -larger than you would normally use for dynamics simulations. -

    -
    - -

    Each file read by the neb command containing atomic coordinates used -to initialize one or more replicas must be formatted as follows. -

    -

    The file can be ASCII text or a gzipped text file (detected by a .gz +larger than you would normally use for dynamics simulations.

    +
    +

    Each file read by the neb command containing atomic coordinates used +to initialize one or more replicas must be formatted as follows.

    +

    The file can be ASCII text or a gzipped text file (detected by a .gz suffix). The file can contain initial blank lines or comment lines -starting with "#" which are ignored. The first non-blank, non-comment +starting with “#” which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive -lines contain the following information: -

    -
    ID1 x1 y1 z1
    +lines contain the following information:

    +
    ID1 x1 y1 z1
     ID2 x2 y2 z2
     ...
    -IDN xN yN zN 
    -
    -

    The fields are the the atom ID, followed by the x,y,z coordinates. +IDN xN yN zN +

    + +

    The fields are the the atom ID, followed by the x,y,z coordinates. The lines can be listed in any order. Additional trailing information -on the line is OK, such as a comment. -

    -

    Note that for a typical NEB calculation you do not need to specify +on the line is OK, such as a comment.

    +

    Note that for a typical NEB calculation you do not need to specify initial coordinates for very many atoms to produce differing starting and final replicas whose intermediate replicas will converge to the energy barrier. Typically only new coordinates for atoms -geometrically near the barrier need be specified. -

    -

    Also note there is no requirement that the atoms in the file -correspond to the NEB atoms in the group defined by the fix -neb command. Not every NEB atom need be in the file, -and non-NEB atoms can be listed in the file. -

    -
    - -

    Four kinds of output can be generated during a NEB calculation: energy +geometrically near the barrier need be specified.

    +

    Also note there is no requirement that the atoms in the file +correspond to the NEB atoms in the group defined by the fix neb command. Not every NEB atom need be in the file, +and non-NEB atoms can be listed in the file.

    +
    +

    Four kinds of output can be generated during a NEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, -and restart files. -

    -

    When running with multiple partitions (each of which is a replica in +and restart files.

    +

    When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file -contains a line of output, printed once every Nevery timesteps. It +contains a line of output, printed once every Nevery timesteps. It contains the timestep, the maximum force per replica, the maximum -force per atom (in any replica), potential gradients in the initial, - final, and climbing replicas, -the forward and backward energy barriers, +force per atom (in any replica), potential gradients in the initial,

    +
    +
    final, and climbing replicas,
    +

    the forward and backward energy barriers, the total reaction coordinate (RDT), and -the normalized reaction coordinate and potential energy of each replica. -

    -

    The "maximum force per replica" is +the normalized reaction coordinate and potential energy of each replica.

    +

    The “maximum force per replica” is the two-norm of the 3N-length force vector for the atoms in each -replica, maximized across replicas, which is what the ftol setting +replica, maximized across replicas, which is what the ftol setting is checking against. In this case, N is all the atoms in each -replica. The "maximum force per atom" is the maximum force component +replica. The “maximum force per atom” is the maximum force component of any atom in any replica. The potential gradients are the two-norm of the 3N-length force vector solely due to the interaction potential i.e. without adding in inter-replica forces. Note that inter-replica forces are zero in the initial and final replicas, and only affect -the direction in the climbing replica. For this reason, the "maximum -force per replica" is often equal to the potential gradient in the +the direction in the climbing replica. For this reason, the “maximum +force per replica” is often equal to the potential gradient in the climbing replica. In the first stage of NEB, there is no climbing replica, and so the potential gradient in the highest energy replica is reported, since this replica will become the climbing replica -in the second stage of NEB. -

    -

    The "reaction coordinate" (RD) for each +in the second stage of NEB.

    +

    The “reaction coordinate” (RD) for each replica is the two-norm of the 3N-length vector of distances between -its atoms and the preceding replica's atoms, added to the RD of the -preceding replica. The RD of the first replica RD1 = 0.0; +its atoms and the preceding replica’s atoms, 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 atoms -being operated on by the fix neb command. -

    -

    The forward (reverse) energy barrier is the potential energy of the highest -replica minus the energy of the first (last) replica. -

    -

    When running on multiple partitions, LAMMPS produces additional log +from zero to one. When computing RD, N only includes the atoms +being operated on by the fix neb command.

    +

    The forward (reverse) energy barrier is the potential energy of the highest +replica minus the energy of the first (last) replica.

    +

    When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a NEB calculation, these contain the thermodynamic output for each -replica. -

    -

    If dump commands in the input script define a filename -that includes a universe or uloop style variable, +replica.

    +

    If dump commands in the input script define a filename +that includes a universe or uloop style variable, then one dump file (per dump command) will be created for each replica. At the end of the NEB calculation, the final snapshot in each file will contain the sequence of snapshots that transition the system over the energy barrier. Earlier snapshots will show the -convergence of the replicas to the MEP. -

    -

    Likewise, restart filenames can be specified with a -universe or uloop style variable, to generate +convergence of the replicas to the MEP.

    +

    Likewise, restart filenames can be specified with a +universe or uloop style variable, to generate restart files for each replica. These may be useful if the NEB calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered -parameters. -

    -

    There are 2 Python scripts provided in the tools/python directory, +parameters.

    +

    There are 2 Python scripts provided in the tools/python directory, neb_combine.py and neb_final.py, which are useful in analyzing output from a NEB calculation. Assume a NEB simulation with M replicas, and -the NEB atoms labelled with a specific atom type. -

    -

    The neb_combine.py script extracts atom coords for the NEB atoms from +the NEB atoms labelled with a specific atom type.

    +

    The neb_combine.py script extracts atom coords for the NEB atoms from all M dump files and creates a single dump file where each snapshot contains the NEB atoms from all the replicas and one copy of non-NEB atoms from the first replica (presumed to be identical in other replicas). This can be visualized/animated to see how the NEB atoms -relax as the NEB calculation proceeds. -

    -

    The neb_final.py script extracts the final snapshot from each of the M +relax as the NEB calculation proceeds.

    +

    The neb_final.py script extracts the final snapshot from each of the M dump files to create a single dump file with M snapshots. This can be visualized to watch the system make its transition over the energy -barrier. -

    -

    To illustrate, here are images from the final snapshot produced by the +barrier.

    +

    To illustrate, here are images from the final snapshot produced by the neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger -image. -

    - +image.

    + + + +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +
    + + - -
    + + +
    + -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    prd, temper, fix -langevin, fix viscous -

    -

    Default: none -

    -
    +
    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Henkelman1) Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). -

    - +
    -

    (Henkelman2) Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, -9901-9904 (2000). -

    - + + -

    (Nakano) Nakano, Comp Phys Comm, 178, 280-289 (2008). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/neigh_modify.html b/doc/neigh_modify.html index 38e8f15f64..d90184f0ff 100644 --- a/doc/neigh_modify.html +++ b/doc/neigh_modify.html @@ -1,39 +1,157 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + neigh_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    neigh_modify command -

    -

    Syntax: -

    -
    neigh_modify keyword values ... 
    -
    -
    • one or more keyword/value pairs may be listed - -
      keyword = delay or every or check or once or cluster or include or exclude or page or one or binsize
      -  delay value = N
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      neigh_modify command¶

      +
      +

      Syntax¶

      +
      neigh_modify keyword values ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be listed
      • +
      +
      +keyword = delay or every or check or once or cluster or include or exclude or page or one or binsize
      +  delay value = N
           N = delay building until this many steps since last build
      -  every value = M
      +  every value = M
           M = build neighbor list every this many steps
      -  check value = yes or no
      -    yes = only build if some atom has moved half the skin distance or more
      -    no = always build on 1st step that every and delay are satisfied
      -  once
      -    yes = only build neighbor list once at start of run and never rebuild
      -    no = rebuild neighbor list according to other settings
      -  cluster
      -    yes = check bond,angle,etc neighbor list for nearby clusters
      -    no = do not check bond,angle,etc neighbor list for nearby clusters
      -  include value = group-ID
      +  check value = yes or no
      +    yes = only build if some atom has moved half the skin distance or more
      +    no = always build on 1st step that every and delay are satisfied
      +  once
      +    yes = only build neighbor list once at start of run and never rebuild
      +    no = rebuild neighbor list according to other settings
      +  cluster
      +    yes = check bond,angle,etc neighbor list for nearby clusters
      +    no = do not check bond,angle,etc neighbor list for nearby clusters
      +  include value = group-ID
           group-ID = only build pair neighbor lists for atoms in this group
      -  exclude values:
      +  exclude values:
           type M N
             M,N = exclude if one atom in pair is type M, other is type N
           group group1-ID group2-ID
      @@ -42,57 +160,53 @@
             groupname = exclude if both atoms are in the same molecule and in the same group
           none
             delete all exclude settings
      -  page value = N
      +  page value = N
           N = number of pairs stored in a single neighbor page
      -  one value = N
      +  one value = N
           N = max number of neighbors of one atom
      -  binsize value = size
      -    size = bin size for neighbor list construction (distance units) 
      -
      - -
    -

    Examples: -

    -
    neigh_modify every 2 delay 10 check yes page 100000
    +  binsize value = size
    +    size = bin size for neighbor list construction (distance units)
    +
    +
    +
    +

    Examples¶

    +
    neigh_modify every 2 delay 10 check yes page 100000
     neigh_modify exclude type 2 3
     neigh_modify exclude group frozen frozen check no
     neigh_modify exclude group residue1 chain3
    -neigh_modify exclude molecule rigid 
    -
    -

    Description: -

    -

    This command sets parameters that affect the building and use of +neigh_modify exclude molecule rigid +

    +
    +
    +
    +

    Description¶

    +

    This command sets parameters that affect the building and use of pairwise neighbor lists. Depending on what pair interactions and other commands are defined, a simulation may require one or more -neighbor lists. -

    -

    The every, delay, check, and once options affect how often -lists are built as a simulation runs. The delay setting means never +neighbor lists.

    +

    The every, delay, check, and once options affect how often +lists are built as a simulation runs. The delay setting means never build new lists until at least N steps after the previous build. The -every setting means build lists every M steps (after the delay has -passed). If the check setting is no, the lists are built on the -first step that satisfies the delay and every settings. If the -check setting is yes, then the every and delay settings +every setting means build lists every M steps (after the delay has +passed). If the check setting is no, the lists are built on the +first step that satisfies the delay and every settings. If the +check setting is yes, then the every and delay settings determine when a build may possibly be performed, but an actual build only occurs if some atom has moved more than half the skin distance -(specified in the neighbor command) since the last -build. -

    -

    If the once setting is yes, then the neighbor list is only built +(specified in the neighbor command) since the last +build.

    +

    If the once setting is yes, then the neighbor list is only built once at the beginning of each run, and never rebuilt, except on steps when a restart file is written, or steps when a fix forces a rebuild -to occur (e.g. fixes that create or delete atoms, such as fix -deposit or fix evaporate). +to occur (e.g. fixes that create or delete atoms, such as fix deposit or fix evaporate). This setting should only be made if you are certain atoms will not move far enough that the neighbor list should be rebuilt, e.g. running a simulation of a cold crystal. Note that it is not that expensive to -check if neighbor lists should be rebuilt. -

    -

    When the rRESPA integrator is used (see the run_style -command), the every and delay parameters refer to the longest -(outermost) timestep. -

    -

    The cluster option does a sanity test every time neighbor lists are +check if neighbor lists should be rebuilt.

    +

    When the rRESPA integrator is used (see the run_style +command), the every and delay parameters refer to the longest +(outermost) timestep.

    +

    The cluster option does a sanity test every time neighbor lists are built for bond, angle, dihedral, and improper interactions, to check that each set of 2, 3, or 4 atoms is a cluster of nearby atoms. It does this by computing the distance between pairs of atoms in the @@ -103,117 +217,173 @@ nearby periodic images. The only way this should happen is if the pairwise cutoff is so short that atoms that are part of the same interaction are not communicated as ghost atoms. This is an unusual model (e.g. no pair interactions at all) and the problem can be fixed -by use of the comm_modify cutoff command. Note -that to save time, the default cluster setting is no, so that this -check is not performed. -

    -

    The include option limits the building of pairwise neighbor lists to +by use of the comm_modify cutoff command. Note +that to save time, the default cluster setting is no, so that this +check is not performed.

    +

    The include option limits the building of pairwise neighbor lists to atoms in the specified group. This can be useful for models where a large portion of the simulation is particles that do not interact with other particles or with each other via pairwise interactions. The group specified with this option must also be specified via the -atom_modify first command. -

    -

    The exclude option turns off pairwise interactions between certain +atom_modify first command.

    +

    The exclude option turns off pairwise interactions between certain pairs of atoms, by not including them in the neighbor list. These are -sample scenarios where this is useful: -

    -
    • In crack simulations, pairwise interactions can be shut off between 2 -slabs of atoms to effectively create a crack. - -
    • When a large collection of atoms is treated as frozen, interactions +sample scenarios where this is useful:

      +
        +
      • In crack simulations, pairwise interactions can be shut off between 2 +slabs of atoms to effectively create a crack.
      • +
      • When a large collection of atoms is treated as frozen, interactions between those atoms can be turned off to save needless -computation. E.g. Using the fix setforce command -to freeze a wall or portion of a bio-molecule. - -
      • When one or more rigid bodies are specified, interactions within each -body can be turned off to save needless computation. See the fix -rigid command for more details. -
      -

      The exclude type option turns off the pairwise interaction if one +computation. E.g. Using the fix setforce command +to freeze a wall or portion of a bio-molecule.

    • +
    • When one or more rigid bodies are specified, interactions within each +body can be turned off to save needless computation. See the fix rigid command for more details.
    • +
    +

    The exclude type option turns off the pairwise interaction if one atom is of type M and the other of type N. M can equal N. The -exclude group option turns off the interaction if one atom is in the +exclude group option turns off the interaction if one atom is in the first group and the other is the second. Group1-ID can equal -group2-ID. The exclude molecule option turns off the interaction if +group2-ID. The exclude molecule option turns off the interaction if both atoms are in the specified group and in the same molecule, as -determined by their molecule ID. -

    -

    Each of the exclude options can be specified multiple times. The -exclude type option is the most efficient option to use; it requires +determined by their molecule ID.

    +

    Each of the exclude options can be specified multiple times. The +exclude type option is the most efficient option to use; it requires only a single check, no matter how many times it has been specified. The other exclude options are more expensive if specified multiple -times; they require one check for each time they have been specified. -

    -

    Note that the exclude options only affect pairwise interactions; see -the delete_bonds command for information on -turning off bond interactions. -

    -

    IMPORTANT NOTE: Excluding pairwise interactions will not work +times; they require one check for each time they have been specified.

    +

    Note that the exclude options only affect pairwise interactions; see +the delete_bonds command for information on +turning off bond interactions.

    +
    +

    Warning

    +

    Excluding pairwise interactions will not work correctly when also using a long-range solver via the -kspace_style command. LAMMPS will give a warning +kspace_style command. LAMMPS will give a warning to this effect. This is because the short-range pairwise interaction needs to subtract off a term from the total energy for pairs whose short-range interaction is excluded, to compensate for how the long-range solver treats the interaction. This is done correctly for pairwise interactions that are excluded (or weighted) via the -special_bonds command. But it is not done for -interactions that are excluded via these neigh_modify exclude options. -

    -

    The page and one options affect how memory is allocated for the +special_bonds command. But it is not done for +interactions that are excluded via these neigh_modify exclude options.

    +
    +

    The page and one options affect how memory is allocated for the neighbor lists. For most simulations the default settings for these options are fine, but if a very large problem is being run or a very long cutoff is being used, these parameters can be tuned. The indices -of neighboring atoms are stored in "pages", which are allocated one +of neighboring atoms are stored in “pages”, which are allocated one after another as they fill up. The size of each page is set by the -page value. A new page is allocated when the next atom's neighbors +page value. A new page is allocated when the next atom’s neighbors could potentially overflow the list. This threshold is set by the -one value which tells LAMMPS the maximum number of neighbor's one -atom can have. -

    -

    IMPORTANT NOTE: LAMMPS can crash without an error message if the -number of neighbors for a single particle is larger than the page -setting, which means it is much, much larger than the one setting. -This is because LAMMPS doesn't error check these limits for every -pairwise interaction (too costly), but only after all the particle's +one value which tells LAMMPS the maximum number of neighbor’s one +atom can have.

    +
    +

    Warning

    +

    LAMMPS can crash without an error message if the +number of neighbors for a single particle is larger than the page +setting, which means it is much, much larger than the one setting. +This is because LAMMPS doesn’t error check these limits for every +pairwise interaction (too costly), but only after all the particle’s neighbors have been found. This problem usually means something is -very wrong with the way you've setup your problem (particle spacing, +very wrong with the way you’ve setup your problem (particle spacing, cutoff length, neighbor skin distance, etc). If you really expect -that many neighbors per particle, then boost the one and page -settings accordingly. -

    -

    The binsize option allows you to specify what size of bins will be +that many neighbors per particle, then boost the one and page +settings accordingly.

    +
    +

    The binsize option allows you to specify what size of bins will be used in neighbor list construction to sort and find neighboring atoms. -By default, for neighbor style bin, LAMMPS uses bins -that are 1/2 the size of the maximum pair cutoff. For neighbor style -multi, the bins are 1/2 the size of the minimum pair +By default, for neighbor style bin, LAMMPS uses bins +that are 1/2 the size of the maximum pair cutoff. For neighbor style multi, the bins are 1/2 the size of the minimum pair cutoff. Typically these are good values values for minimizing the time for neighbor list construction. This setting overrides the default. If you make it too big, there is little overhead due to looping over bins, but more atoms are checked. If you make it too small, the optimal number of atoms is checked, but bin overhead goes up. If you set the binsize to 0.0, LAMMPS will use the default -binsize of 1/2 the cutoff. -

    -

    Restrictions: -

    -

    If the "delay" setting is non-zero, then it must be a multiple of the -"every" setting. -

    -

    The exclude molecule option can only be used with atom styles that -define molecule IDs. -

    -

    The value of the page setting must be at least 10x larger than the -one setting. This insures neighbor pages are not mostly empty -space. -

    -

    Related commands: -

    -

    neighbor, delete_bonds -

    -

    Default: -

    -

    The option defaults are delay = 10, every = 1, check = yes, once = no, +binsize of 1/2 the cutoff.

    +
    +
    +

    Restrictions¶

    +

    If the “delay” setting is non-zero, then it must be a multiple of the +“every” setting.

    +

    The exclude molecule option can only be used with atom styles that +define molecule IDs.

    +

    The value of the page setting must be at least 10x larger than the +one setting. This insures neighbor pages are not mostly empty +space.

    +
    + +
    +

    Default¶

    +

    The option defaults are delay = 10, every = 1, check = yes, once = no, cluster = no, include = all, exclude = none, page = 100000, one = -2000, and binsize = 0.0. -

    - +2000, and binsize = 0.0.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/neighbor.html b/doc/neighbor.html index 9618531ee0..80ac0fd22d 100644 --- a/doc/neighbor.html +++ b/doc/neighbor.html @@ -1,88 +1,271 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + neighbor command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    neighbor command -

    -

    Syntax: -

    -
    neighbor skin style 
    -
    -
    • skin = extra distance beyond force cutoff (distance units) -
    • style = bin or nsq or multi -
    -

    Examples: -

    -
    neighbor 0.3 bin
    -neighbor 2.0 nsq 
    -
    -

    Description: -

    -

    This command sets parameters that affect the building of pairwise + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    neighbor command¶

    +
    +

    Syntax¶

    +
    neighbor skin style
    +
    +
    +
      +
    • skin = extra distance beyond force cutoff (distance units)
    • +
    • style = bin or nsq or multi
    • +
    +
    +
    +

    Examples¶

    +
    neighbor 0.3 bin
    +neighbor 2.0 nsq
    +
    +
    +
    +
    +

    Description¶

    +

    This command sets parameters that affect the building of pairwise neighbor lists. All atom pairs within a neighbor cutoff distance -equal to the their force cutoff plus the skin distance are stored in +equal to the their force cutoff plus the skin distance are stored in the list. Typically, the larger the skin distance, the less often neighbor lists need to be built, but more pairs must be checked for possible force interactions every timestep. The default value for -skin depends on the choice of units for the simulation; see the -default values below. -

    -

    The skin distance is also used to determine how often atoms migrate -to new processors if the check option of the -neigh_modify command is set to yes. Atoms are +skin depends on the choice of units for the simulation; see the +default values below.

    +

    The skin distance is also used to determine how often atoms migrate +to new processors if the check option of the +neigh_modify command is set to yes. Atoms are migrated (communicated) to new processors on the same timestep that -neighbor lists are re-built. -

    -

    The style value selects what algorithm is used to build the list. -The bin style creates the list by binning which is an operation that +neighbor lists are re-built.

    +

    The style value selects what algorithm is used to build the list. +The bin style creates the list by binning which is an operation that scales linearly with N/P, the number of atoms per processor where N = total number of atoms and P = number of processors. It is almost -always faster than the nsq style which scales as (N/P)^2. For -unsolvated small molecules in a non-periodic box, the nsq choice can -sometimes be faster. Either style should give the same answers. -

    -

    The multi style is a modified binning algorithm that is useful for +always faster than the nsq style which scales as (N/P)^2. For +unsolvated small molecules in a non-periodic box, the nsq choice can +sometimes be faster. Either style should give the same answers.

    +

    The multi style is a modified binning algorithm that is useful for systems with a wide range of cutoff distances, e.g. due to different -size particles. For the bin style, the bin size is set to 1/2 of +size particles. For the bin style, the bin size is set to 1/2 of the largest cutoff distance between any pair of atom types and a single set of bins is defined to search over for all atom types. This can be inefficient if one pair of types has a very long cutoff, but -other type pairs have a much shorter cutoff. For style multi the +other type pairs have a much shorter cutoff. For style multi the bin size is set to 1/2 of the shortest cutoff distance and multiple sets of bins are defined to search over for different atom types. This imposes some extra setup overhead, but the searches themselves -may be much faster for the short-cutoff cases. See the comm_modify -mode multi command for a communication option option -that may also be beneficial for simulations of this kind. -

    -

    The neigh_modify command has additional options +may be much faster for the short-cutoff cases. See the comm_modify mode multi command for a communication option option +that may also be beneficial for simulations of this kind.

    +

    The neigh_modify command has additional options that control how often neighbor lists are built and which pairs are -stored in the list. -

    -

    When a run is finished, counts of the number of neighbors stored in +stored in the list.

    +

    When a run is finished, counts of the number of neighbors stored in the pairwise list and the number of times neighbor lists were built -are printed to the screen and log file. See this -section for details. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    neigh_modify, units, -comm_modify -

    -

    Default: -

    -0.3 bin for units = lj, skin = 0.3 sigma
    -2.0 bin for units = real or metal, skin = 2.0 Angstroms
    -0.001 bin for units = si, skin = 0.001 meters = 1.0 mm
    -0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm
    +are printed to the screen and log file. See this section for details.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +
    +
    0.3 bin for units = lj, skin = 0.3 sigma
    +
    2.0 bin for units = real or metal, skin = 2.0 Angstroms
    +
    0.001 bin for units = si, skin = 0.001 meters = 1.0 mm
    +
    0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm
    +

    +
    +
    +
    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/newton.html b/doc/newton.html index 94e20608e6..03feaeb064 100644 --- a/doc/newton.html +++ b/doc/newton.html @@ -1,67 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + newton command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    newton command -

    -

    Syntax: -

    -
    newton flag
    -newton flag1 flag2 
    -
    -
    • flag = on or off for both pairwise and bonded interactions -
    • flag1 = on or off for pairwise interactions -
    • flag2 = on or off for bonded interactions -
    -

    Examples: -

    -
    newton off
    -newton on off 
    -
    -

    Description: -

    -

    This command turns Newton's 3rd law on or off for pairwise and -bonded interactions. For most problems, setting Newton's 3rd law to -on means a modest savings in computation at the cost of two times + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    newton command¶

    +
    +

    Syntax¶

    +
    newton flag
    +newton flag1 flag2
    +
    +
    +
      +
    • flag = on or off for both pairwise and bonded interactions
    • +
    • flag1 = on or off for pairwise interactions
    • +
    • flag2 = on or off for bonded interactions
    • +
    +
    +
    +

    Examples¶

    +
    newton off
    +newton on off
    +
    +
    +
    +
    +

    Description¶

    +

    This command turns Newton’s 3rd law on or off for pairwise and +bonded interactions. For most problems, setting Newton’s 3rd law to +on means a modest savings in computation at the cost of two times more communication. Whether this is faster depends on problem size, -force cutoff lengths, a machine's compute/communication ratio, and how -many processors are being used. -

    -

    Setting the pairwise newton flag to off means that if two +force cutoff lengths, a machine’s compute/communication ratio, and how +many processors are being used.

    +

    Setting the pairwise newton flag to off means that if two interacting atoms are on different processors, both processors compute their interaction and the resulting force information is not -communicated. Similarly, for bonded interactions, newton off means +communicated. Similarly, for bonded interactions, newton off means that if a bond, angle, dihedral, or improper interaction contains atoms on 2 or more processors, the interaction is computed by each -processor. -

    -

    LAMMPS should produce the same answers for any newton flag settings, -except for round-off issues. -

    -

    With run_style respa and only bonded interactions +processor.

    +

    LAMMPS should produce the same answers for any newton flag settings, +except for round-off issues.

    +

    With run_style respa and only bonded interactions (bond, angle, etc) computed in the innermost timestep, it may be -faster to turn newton off for bonded interactions, to avoid extra -communication in the innermost loop. -

    -

    Restrictions: -

    -

    The newton bond setting cannot be changed after the simulation box is -defined by a read_data or -create_box command. -

    -

    Related commands: -

    -

    run_style respa -

    -

    Default: -

    -
    newton on 
    -
    - +faster to turn newton off for bonded interactions, to avoid extra +communication in the innermost loop.

    +
    +
    +

    Restrictions¶

    +

    The newton bond setting cannot be changed after the simulation box is +defined by a read_data or +create_box command.

    +
    + +
    +

    Default¶

    +
    newton on
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/next.html b/doc/next.html index ed8effb539..b7e5e3f52e 100644 --- a/doc/next.html +++ b/doc/next.html @@ -1,109 +1,220 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + next command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    next command -

    -

    Syntax: -

    -
    next variables 
    -
    -
    • variables = one or more variable names -
    -

    Examples: -

    -
    next x
    -next a t x myTemp 
    -
    -

    Description: -

    -

    This command is used with variables defined by the -variable command. It assigns the next value to the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    next command¶

    +
    +

    Syntax¶

    +
    next variables
    +
    +
    +
      +
    • variables = one or more variable names
    • +
    +
    +
    +

    Examples¶

    +
    next x
    +next a t x myTemp
    +
    +
    +
    +
    +

    Description¶

    +

    This command is used with variables defined by the +variable command. It assigns the next value to the variable from the list of values defined for that variable by the -variable command. Thus when that variable is +variable command. Thus when that variable is subsequently substituted for in an input script command, the new value -is used. -

    -

    See the variable command for info on how to define and +is used.

    +

    See the variable command for info on how to define and use different kinds of variables in LAMMPS input scripts. If a -variable name is a single lower-case character from "a" to "z", it can +variable name is a single lower-case character from “a” to “z”, it can be used in an input script command as $a or $z. If it is multiple -letters, it can be used as ${myTemp}. -

    -

    If multiple variables are used as arguments to the next command, -then all must be of the same variable style: index, loop, file, -universe, or uloop. An exception is that universe- and -uloop-style variables can be mixed in the same next command. -

    -

    All the variables specified with the next command are incremented by -one value from their respective list of values. A file-style +letters, it can be used as ${myTemp}.

    +

    If multiple variables are used as arguments to the next command, +then all must be of the same variable style: index, loop, file, +universe, or uloop. An exception is that universe- and +uloop-style variables can be mixed in the same next command.

    +

    All the variables specified with the next command are incremented by +one value from their respective list of values. A file-style variable reads the next line from its associated file. An -atomfile-style variable reads the next set of lines (one per atom) -from its associated file. String- or atom- or equal- or -world-style variables cannot be used with the the next command, -since they only store a single value. -

    -

    When any of the variables in the next command has no more values, a +atomfile-style variable reads the next set of lines (one per atom) +from its associated file. String- or atom- or equal- or +world-style variables cannot be used with the the next command, +since they only store a single value.

    +

    When any of the variables in the next command has no more values, a flag is set that causes the input script to skip the next -jump command encountered. This enables a loop containing -a next command to exit. As explained in the variable +jump command encountered. This enables a loop containing +a next command to exit. As explained in the variable command, the variable that has exhausted its values is also deleted. This allows it to be used and re-defined later in the input script. -File-style and atomfile-style variables are exhausted when the -end-of-file is reached. -

    -

    When the next command is used with index- or loop-style variables, +File-style and atomfile-style variables are exhausted when the +end-of-file is reached.

    +

    When the next command is used with index- or loop-style variables, the next value is assigned to the variable for all processors. When -the next command is used with file-style variables, the next line is +the next command is used with file-style variables, the next line is read from its file and the string assigned to the variable. When the -next command is used with atomfile-style variables, the next set of -per-atom values is read from its file and assigned to the variable. -

    -

    When the next command is used with universe- or uloop-style -variables, all universe- or uloop-style variables must be listed +next command is used with atomfile-style variables, the next set of +per-atom values is read from its file and assigned to the variable.

    +

    When the next command is used with universe- or uloop-style +variables, all universe- or uloop-style variables must be listed in the next command. This is because of the manner in which the incrementing is done, using a single lock file for all variables. The next value (for each variable) is assigned to whichever processor partition executes the command first. All processors in the partition are assigned the same value(s). Running LAMMPS on multiple partitions -of processors via the "-partition" command-line switch is described in -this section of the manual. Universe- -and uloop-style variables are incremented using the files -"tmp.lammps.variable" and "tmp.lammps.variable.lock" which you will -see in your directory during and after such a LAMMPS run. -

    -

    Here is an example of running a series of simulations using the next -command with an index-style variable. If this input script is named +of processors via the “-partition” command-line switch is described in +this section of the manual. Universe- +and uloop-style variables are incremented using the files +“tmp.lammps.variable” and “tmp.lammps.variable.lock” which you will +see in your directory during and after such a LAMMPS run.

    +

    Here is an example of running a series of simulations using the next +command with an index-style variable. If this input script is named in.polymer, 8 simulations would be run using data files from -directories run1 thru run8. -

    -
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
    +directories run1 thru run8.

    +
    variable d index run1 run2 run3 run4 run5 run6 run7 run8
     shell cd $d
     read_data data.polymer
     run 10000
     shell cd ..
     clear
     next d
    -jump in.polymer 
    -
    -

    If the variable "d" were of style universe, and the same in.polymer +jump in.polymer +

    +
    +

    If the variable “d” were of style universe, and the same in.polymer input script were run on 3 partitions of processors, then the first 3 simulations would begin, one on each set of processors. Whichever -partition finished first, it would assign variable "d" the 4th value +partition finished first, it would assign variable “d” the 4th value and run another simulation, and so forth until all 8 simulations were -finished. -

    -

    Jump and next commands can also be nested to enable multi-level loops. -For example, this script will run 15 simulations in a double loop. -

    -
    variable i loop 3
    +finished.

    +

    Jump and next commands can also be nested to enable multi-level loops. +For example, this script will run 15 simulations in a double loop.

    +
    variable i loop 3
       variable j loop 5
       clear
       ...
    @@ -113,36 +224,102 @@ For example, this script will run 15 simulations in a double loop.
       next j
       jump in.script
     next i
    -jump in.script 
    -
    -

    Here is an example of a double loop which uses the if and -jump commands to break out of the inner loop when a -condition is met, then continues iterating thru the outer loop. -

    -
    label	    loopa
    +jump in.script
    +
    +
    +

    Here is an example of a double loop which uses the if and +jump commands to break out of the inner loop when a +condition is met, then continues iterating thru the outer loop.

    +
    label            loopa
     variable    a loop 5
    -  label	    loopb
    +  label          loopb
       variable  b loop 5
    -  print	    "A,B = $a,$b"
    +  print          "A,B = $a,$b"
       run       10000
    -  if	    $b > 2 then "jump in.script break"
    -  next	    b
    -  jump	    in.script loopb
    -label	    break
    -variable    b delete 
    -
    -
    next	    a
    -jump	    in.script loopa 
    -
    -

    Restrictions: -

    -

    As described above. -

    -

    Related commands: -

    -

    jump, include, shell, -variable, -

    -

    Default: none -

    - + if $b > 2 then "jump in.script break" + next b + jump in.script loopb +label break +variable b delete +
    +
    +
    next     a
    +jump     in.script loopa
    +
    +
    +
    +
    +

    Restrictions¶

    +

    As described above.

    +
    + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/package.html b/doc/package.html index 5c0dd866d8..620ce5c359 100644 --- a/doc/package.html +++ b/doc/package.html @@ -1,115 +1,231 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + package command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    package command -

    -

    Syntax: -

    -
    package style args 
    -
    -
    • style = cuda or gpu or intel or kokkos or omp - -
    • args = arguments specific to the style - -
        cuda args = Ngpu keyword value ...
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      package command¶

      +
      +

      Syntax¶

      +
      package style args
      +
      +
      +
        +
      • style = cuda or gpu or intel or kokkos or omp
      • +
      • args = arguments specific to the style
      • +
      +
      +cuda args = Ngpu keyword value ...
           Ngpu = # of GPUs per node
           zero or more keyword/value pairs may be appended
      -    keywords = newton or gpuID or timing or test or thread
      -      newton = off or on
      +    keywords = newton or gpuID or timing or test or thread
      +      newton = off or on
               off = set Newton pairwise and bonded flags off (default)
               on = set Newton pairwise and bonded flags on
      -      gpuID values = gpu1 .. gpuN
      +      gpuID values = gpu1 .. gpuN
               gpu1 .. gpuN = IDs of the Ngpu GPUs to use
      -      timing values = none
      -      test values = id
      +      timing values = none
      +      test values = id
               id = atom-ID of a test particle
      -      thread = auto or tpa or bpa
      +      thread = auto or tpa or bpa
               auto = test whether tpa or bpa is faster
               tpa = one thread per atom
               bpa = one block per atom
      -  gpu args = Ngpu keyword value ...
      +  gpu args = Ngpu keyword value ...
           Ngpu = # of GPUs per node
      -    zero or more keyword/value pairs may be appended 
      -    keywords = neigh or newton or binsize or split or gpuID or tpa or device
      -      neigh value = yes or no
      +    zero or more keyword/value pairs may be appended
      +    keywords = neigh or newton or binsize or split or gpuID or tpa or device
      +      neigh value = yes or no
               yes = neighbor list build on GPU (default)
               no = neighbor list build on CPU
      -      newton = off or on
      +      newton = off or on
               off = set Newton pairwise flag off (default and required)
               on = set Newton pairwise flag on (currently not allowed)
      -      binsize value = size
      +      binsize value = size
               size = bin size for neighbor list construction (distance units)
      -      split = fraction
      +      split = fraction
               fraction = fraction of atoms assigned to GPU (default = 1.0)
      -      gpuID values = first last
      +      gpuID values = first last
               first = ID of first GPU to be used on each node
               last = ID of last GPU to be used on each node
      -      tpa value = Nthreads
      +      tpa value = Nthreads
               Nthreads = # of GPU threads used per atom
      -      device value = device_type
      -        device_type = kepler or fermi or cypress or generic
      -  intel args = NPhi keyword value ...
      +      device value = device_type
      +        device_type = kepler or fermi or cypress or generic
      +  intel args = NPhi keyword value ...
           Nphi = # of coprocessors per node
      -    zero or more keyword/value pairs may be appended 
      -    keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
      -      omp value = Nthreads
      +    zero or more keyword/value pairs may be appended
      +    keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
      +      omp value = Nthreads
               Nthreads = number of OpenMP threads to use on CPU (default = 0)
      -      mode value = single or mixed or double
      +      mode value = single or mixed or double
               single = perform force calculations in single precision
               mixed = perform force calculations in mixed precision
               double = perform force calculations in double precision
      -      balance value = split
      +      balance value = split
               split = fraction of work to offload to coprocessor, -1 for dynamic
      -      ghost value = yes or no
      +      ghost value = yes or no
               yes = include ghost atoms for offload
               no = do not include ghost atoms for offload
      -      tpc value = Ntpc
      +      tpc value = Ntpc
               Ntpc = max number of coprocessor threads per coprocessor core (default = 4)
      -      tptask value = Ntptask
      +      tptask value = Ntptask
               Ntptask = max number of coprocessor threads per MPI task (default = 240)
      -      no_affinity values = none
      -  kokkos args = keyword value ...
      +      no_affinity values = none
      +  kokkos args = keyword value ...
           zero or more keyword/value pairs may be appended
      -    keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
      -      neigh value = full or half/thread or half or n2 or full/cluster
      +    keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
      +      neigh value = full or half/thread or half or n2 or full/cluster
               full = full neighbor list
               half/thread = half neighbor list built in thread-safe manner
               half = half neighbor list, not thread-safe, only use when 1 thread/MPI task
               n2 = non-binning neighbor list build, O(N^2) algorithm
               full/cluster = full neighbor list with clustered groups of atoms
      -      newton = off or on
      +      newton = off or on
               off = set Newton pairwise and bonded flags off (default)
               on = set Newton pairwise and bonded flags on
      -      binsize value = size
      +      binsize value = size
               size = bin size for neighbor list construction (distance units)
      -      comm value = no or host or device
      +      comm value = no or host or device
               use value for both comm/exchange and comm/forward
      -      comm/exchange value = no or host or device
      -      comm/forward value = no or host or device
      +      comm/exchange value = no or host or device
      +      comm/forward value = no or host or device
               no = perform communication pack/unpack in non-KOKKOS mode
               host = perform pack/unpack on host (e.g. with OpenMP threading)
               device = perform pack/unpack on device (e.g. on GPU)
      -  omp args = Nthreads keyword value ...
      +  omp args = Nthreads keyword value ...
           Nthread = # of OpenMP threads to associate with each MPI process
      -    zero or more keyword/value pairs may be appended 
      -    keywords = neigh
      -      neigh value = yes or no
      +    zero or more keyword/value pairs may be appended
      +    keywords = neigh
      +      neigh value = yes or no
               yes = threaded neighbor list build (default)
      -        no = non-threaded neighbor list build 
      -
      - -
    -

    Examples: -

    -
    package gpu 1
    +        no = non-threaded neighbor list build
    +
    +
    +
    +

    Examples¶

    +
    package gpu 1
     package gpu 1 split 0.75
     package gpu 2 split -1.0
     package cuda 2 gpuID 0 2
    @@ -118,367 +234,320 @@ package kokkos neigh half/thread comm device
     package omp 0 neigh no
     package omp 4
     package intel 1
    -package intel 2 omp 4 mode mixed balance 0.5 
    -
    -

    Description: -

    -

    This command invokes package-specific settings for the various +package intel 2 omp 4 mode mixed balance 0.5 +

    +
    +
    +
    +

    Description¶

    +

    This command invokes package-specific settings for the various accelerator packages available in LAMMPS. Currently the following packages use settings from this command: USER-CUDA, GPU, USER-INTEL, -KOKKOS, and USER-OMP. -

    -

    If this command is specified in an input script, it must be near the +KOKKOS, and USER-OMP.

    +

    If this command is specified in an input script, it must be near the top of the script, before the simulation box has been defined. This is because it specifies settings that the accelerator packages use in -their intialization, before a simultion is defined. -

    -

    This command can also be specified from the command-line when -launching LAMMPS, using the "-pk" command-line -switch. The syntax is exactly the same as -when used in an input script. -

    -

    Note that all of the accelerator packages require the package command +their intialization, before a simultion is defined.

    +

    This command can also be specified from the command-line when +launching LAMMPS, using the “-pk” command-line switch. The syntax is exactly the same as +when used in an input script.

    +

    Note that all of the accelerator packages require the package command to be specified (except the OPT package), if the package is to be used in a simulation (LAMMPS can be built with an accelerator package without using it in a particular simulation). However, in all cases, a default version of the command is typically invoked by other -accelerator settings. -

    -

    The USER-CUDA and KOKKOS packages require a "-c on" or "-k on" -command-line switch respectively, which -invokes a "package cuda" or "package kokkos" command with default -settings. -

    -

    For the GPU, USER-INTEL, and USER-OMP packages, if a "-sf gpu" or "-sf -intel" or "-sf omp" command-line switch +accelerator settings.

    +

    The USER-CUDA and KOKKOS packages require a “-c on” or “-k on” +command-line switch respectively, which +invokes a “package cuda” or “package kokkos” command with default +settings.

    +

    For the GPU, USER-INTEL, and USER-OMP packages, if a “-sf gpu” or “-sf +intel” or “-sf omp” command-line switch is used to auto-append accelerator suffixes to various styles in the -input script, then those switches also invoke a "package gpu", -"package intel", or "package omp" command with default settings. -

    -

    IMPORTANT NOTE: A package command for a particular style can be -invoked multiple times when a simulation is setup, e.g. by the "-c -on", "-k on", "-sf", and "-pk" command-line -switches, and by using this command in an +input script, then those switches also invoke a “package gpu”, +“package intel”, or “package omp” command with default settings.

    +
    +

    Warning

    +

    A package command for a particular style can be +invoked multiple times when a simulation is setup, e.g. by the “-c +on”, “-k on”, “-sf”, and “-pk” command-line switches, and by using this command in an input script. Each time it is used all of the style options are set, either to default values or to specified settings. I.e. settings from -previous invocations do not persist across multiple invocations. -

    -

    See the Section Accelerate section of the +previous invocations do not persist across multiple invocations.

    +
    +

    See the Section Accelerate section of the manual for more details about using the various accelerator packages -for speeding up LAMMPS simulations. -

    -
    - -

    The cuda style invokes settings associated with the use of the -USER-CUDA package. -

    -

    The Ngpus argument sets the number of GPUs per node. There must be -exactly one MPI task per GPU, as set by the mpirun or mpiexec command. -

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below. -

    -

    The newton keyword sets the Newton flags for pairwise and bonded -interactions to off or on, the same as the newton -command allows. The default is off because this will almost always +for speeding up LAMMPS simulations.

    +
    +

    The cuda style invokes settings associated with the use of the +USER-CUDA package.

    +

    The Ngpus argument sets the number of GPUs per node. There must be +exactly one MPI task per GPU, as set by the mpirun or mpiexec command.

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below.

    +

    The newton keyword sets the Newton flags for pairwise and bonded +interactions to off or on, the same as the newton +command allows. The default is off because this will almost always give better performance for the USER-CUDA package. This means -more computation is done, but less communication. -

    -

    The gpuID keyword allows selection of which GPUs on each node will +more computation is done, but less communication.

    +

    The gpuID keyword allows selection of which GPUs on each node will be used for a simulation. GPU IDs range from 0 to N-1 where N is the physical number of GPUs/node. An ID is specified for each of the Ngpus being used. For example if you have three GPUs on a machine, one of which is used for the X-Server (the GPU with the ID 1) while the others (with IDs 0 and 2) are used for computations you would -specify: -

    -
    package cuda 2 gpuID 0 2 
    -
    -

    The purpose of the gpuID keyword is to allow two (or more) +specify:

    +
    package cuda 2 gpuID 0 2
    +
    +
    +

    The purpose of the gpuID keyword is to allow two (or more) simulations to be run on one workstation. In that case one could set the first simulation to use GPU 0 and the second to use GPU 1. This is -not necessary however, if the GPUs are in what is called compute -exclusive mode. Using that setting, every process will get its own -GPU automatically. This compute exclusive mode can be set as root -using the nvidia-smi tool which is part of the CUDA installation. -

    -

    Also note that if the gpuID keyword is not used, the USER-CUDA +not necessary however, if the GPUs are in what is called compute +exclusive mode. Using that setting, every process will get its own +GPU automatically. This compute exclusive mode can be set as root +using the nvidia-smi tool which is part of the CUDA installation.

    +

    Also note that if the gpuID keyword is not used, the USER-CUDA package sorts existing GPUs on each node according to their number of multiprocessors. This way, compute GPUs will be priorized over -X-Server GPUs. -

    -

    If the timing keyword is specified, detailed timing information for -various subroutines will be output. -

    -

    If the test keyword is specified, information for the specified atom +X-Server GPUs.

    +

    If the timing keyword is specified, detailed timing information for +various subroutines will be output.

    +

    If the test keyword is specified, information for the specified atom with atom-ID will be output at several points during each timestep. This is mainly usefull for debugging purposes. Note that the -simulation slow down dramatically if this option is used. -

    -

    The thread keyword can be used to specify how GPU threads are +simulation slow down dramatically if this option is used.

    +

    The thread keyword can be used to specify how GPU threads are assigned work during pair style force evaluation. If the value = -tpa, one thread per atom is used. If the value = bpa, one block -per atom is used. If the value = auto, a short test is performed at -the beginning of each run to determing where tpa or bpa mode is -faster. The result of this test is output. Since auto is the -default value, it is usually not necessary to use this keyword. -

    -
    - -

    The gpu style invokes settings associated with the use of the GPU -package. -

    -

    The Ngpu argument sets the number of GPUs per node. There must be +tpa, one thread per atom is used. If the value = bpa, one block +per atom is used. If the value = auto, a short test is performed at +the beginning of each run to determing where tpa or bpa mode is +faster. The result of this test is output. Since auto is the +default value, it is usually not necessary to use this keyword.

    +
    +

    The gpu style invokes settings associated with the use of the GPU +package.

    +

    The Ngpu argument sets the number of GPUs per node. There must be at least as many MPI tasks per node as GPUs, as set by the mpirun or -mpiexec command. If there are more MPI tasks (per node) -than GPUs, multiple MPI tasks will share each GPU. -

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below. -

    -

    The neigh keyword specifies where neighbor lists for pair style -computation will be built. If neigh is yes, which is the default, -neighbor list building is performed on the GPU. If neigh is no, +mpiexec command. If there are more MPI tasks (per node) +than GPUs, multiple MPI tasks will share each GPU.

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below.

    +

    The neigh keyword specifies where neighbor lists for pair style +computation will be built. If neigh is yes, which is the default, +neighbor list building is performed on the GPU. If neigh is no, neighbor list building is performed on the CPU. GPU neighbor list building currently cannot be used with a triclinic box. GPU neighbor list calculation currently cannot be used with -hybrid pair styles. GPU neighbor lists are not +hybrid pair styles. GPU neighbor lists are not compatible with comannds that are not GPU-enabled. When a non-GPU enabled command requires a neighbor list, it will also be built on the CPU. In these cases, it will typically be more efficient to only use -CPU neighbor list builds. -

    -

    The newton keyword sets the Newton flags for pairwise (not bonded) -interactions to off or on, the same as the newton -command allows. Currently, only an off value is allowed, since all +CPU neighbor list builds.

    +

    The newton keyword sets the Newton flags for pairwise (not bonded) +interactions to off or on, the same as the newton +command allows. Currently, only an off value is allowed, since all the GPU package pair styles require this setting. This means more computation is done, but less communication. In the future a value of -on may be allowed, so the newton keyword is included as an option +on may be allowed, so the newton keyword is included as an option for compatibility with the package command for other accelerator styles. Note that the newton setting for bonded interactions is not -affected by this keyword. -

    -

    The binsize keyword sets the size of bins used to bin atoms in -neighbor list builds performed on the GPU, if neigh = yes is set. -If binsize is set to 0.0 (the default), then bins = the size of the +affected by this keyword.

    +

    The binsize keyword sets the size of bins used to bin atoms in +neighbor list builds performed on the GPU, if neigh = yes is set. +If binsize is set to 0.0 (the default), then bins = the size of the pairwise cutoff + neighbor skin distance. This is 2x larger than the LAMMPS default used for neighbor list building on the CPU. This will be close to optimal for the GPU, so you do not normally need to use this keyword. 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 because the GPU is +long-range Coulombic solver because the GPU is faster at performing pairwise interactions, then it may be optimal to -make the binsize smaller than the default. For example, with a -cutoff of 20*sigma in LJ units and a neighbor skin -distance of sigma, a binsize = 5.25*sigma can be more efficient than -the default. -

    -

    The split keyword can be used for load balancing force calculations -between CPU and GPU cores in GPU-enabled pair styles. If 0 < split < +make the binsize smaller than the default. For example, with a +cutoff of 20*sigma in LJ units and a neighbor skin +distance of sigma, a binsize = 5.25*sigma can be more efficient than +the default.

    +

    The split keyword can be used for load balancing force calculations +between CPU and GPU cores in GPU-enabled pair styles. If 0 < split < 1.0, a fixed fraction of particles is offloaded to the GPU while force calculation for the other particles occurs simulataneously on the CPU. -If split < 0.0, the optimal fraction (based on CPU and GPU timings) +If split < 0.0, the optimal fraction (based on CPU and GPU timings) is calculated every 25 timesteps, i.e. dynamic load-balancing across -the CPU and GPU is performed. If split = 1.0, all force +the CPU and GPU is performed. If split = 1.0, all force calculations for GPU accelerated pair styles are performed on the GPU. -In this case, other hybrid pair interactions, -bond, angle, -dihedral, improper, and -long-range calculations can be performed on the +In this case, other hybrid pair interactions, +bond, angle, +dihedral, improper, and +long-range calculations can be performed on the CPU while the GPU is performing force calculations for the GPU-enabled pair style. If all CPU force computations complete before the GPU completes, LAMMPS will block until the GPU has finished before -continuing the timestep. -

    -

    As an example, if you have two GPUs per node and 8 CPU cores per node, +continuing the timestep.

    +

    As an example, if you have two GPUs per node and 8 CPU cores per node, and would like to run on 4 nodes (32 cores) with dynamic balancing of -force calculation across CPU and GPU cores, you could specify -

    -
    mpirun -np 32 -sf gpu -in in.script    # launch command
    -package gpu 2 split -1                 # input script command 
    -
    -

    In this case, all CPU cores and GPU devices on the nodes would be +force calculation across CPU and GPU cores, you could specify

    +
    mpirun -np 32 -sf gpu -in in.script    # launch command
    +package gpu 2 split -1                 # input script command
    +
    +
    +

    In this case, all CPU cores and GPU devices on the nodes would be utilized. Each GPU device would be shared by 4 CPU cores. The CPU cores would perform force calculations for some fraction of the particles at the same time the GPUs performed force calculation for -the other particles. -

    -

    The gpuID keyword allows selection of which GPUs on each node will -be used for a simulation. The first and last values specify the +the other particles.

    +

    The gpuID keyword allows selection of which GPUs on each node will +be used for a simulation. The first and last values specify the GPU IDs to use (from 0 to Ngpu-1). By default, first = 0 and last = Ngpu-1, so that all GPUs are used, assuming Ngpu is set to the number of physical GPUs. If you only wish to use a subset, set Ngpu to a -smaller number and first/last to a sub-range of the available GPUs. -

    -

    The tpa keyword sets the number of GPU thread per atom used to +smaller number and first/last to a sub-range of the available GPUs.

    +

    The tpa keyword sets the number of GPU thread per atom used to perform force calculations. With a default value of 1, the number of threads will be chosen based on the pair style, however, the value can be set explicitly with this keyword to fine-tune performance. For large cutoffs or with a small number of particles per GPU, increasing the value can improve performance. The number of threads per atom must -be a power of 2 and currently cannot be greater than 32. -

    -

    The device keyword can be used to tune parameters optimized for a -specific accelerator, when using OpenCL. For CUDA, the device +be a power of 2 and currently cannot be greater than 32.

    +

    The device keyword can be used to tune parameters optimized for a +specific accelerator, when using OpenCL. For CUDA, the device keyword is ignored. Currently, the device type is limited to NVIDIA Kepler, NVIDIA Fermi, AMD Cypress, or a generic device. More devices may be added later. The default device type can be specified when building LAMMPS with the GPU library, via settings in the -lib/gpu/Makefile that is used. -

    -
    - -

    The intel style invokes settings associated with the use of the -USER-INTEL package. All of its settings, except the omp and mode +lib/gpu/Makefile that is used.

    +
    +

    The intel style invokes settings associated with the use of the +USER-INTEL package. All of its settings, except the omp and mode keywords, are ignored if LAMMPS was not built with Xeon Phi -coprocessor support. All of its settings, including the omp and -mode keyword are applicable if LAMMPS was built with coprocessor -support. -

    -

    The Nphi argument sets the number of coprocessors per node. +coprocessor support. All of its settings, including the omp and +mode keyword are applicable if LAMMPS was built with coprocessor +support.

    +

    The Nphi argument sets the number of coprocessors per node. This can be set to any value, including 0, if LAMMPS was not -built with coprocessor support. -

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below. -

    -

    The omp keyword determines the number of OpenMP threads allocated +built with coprocessor support.

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below.

    +

    The omp keyword determines the number of OpenMP threads allocated for each MPI task when any portion of the interactions computed by a USER-INTEL pair style are run on the CPU. This can be the case even -if LAMMPS was built with coprocessor support; see the balance +if LAMMPS was built with coprocessor support; see the balance keyword discussion below. If you are running with less MPI tasks/node than there are CPUs, it can be advantageous to use OpenMP threading on -the CPUs. -

    -

    IMPORTANT NOTE: The omp keyword has nothing to do with coprocessor -threads on the Xeon Phi; see the tpc and tptask keywords below for -a discussion of coprocessor threads. -

    -

    The Nthread value for the omp keyword sets the number of OpenMP -threads allocated for each MPI task. Setting Nthread = 0 (the +the CPUs.

    +
    +

    Warning

    +

    The omp keyword has nothing to do with coprocessor +threads on the Xeon Phi; see the tpc and tptask keywords below for +a discussion of coprocessor threads.

    +
    +

    The Nthread value for the omp keyword sets the number of OpenMP +threads allocated for each MPI task. Setting Nthread = 0 (the default) instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the -OMP_NUM_THREADS environment variable or the compiler runtime, which -is usually a value of 1. -

    -

    For more details, including examples of how to set the OMP_NUM_THREADS -environment variable, see the discussion of the Nthreads setting on -this doc page for the "package omp" command. Nthreads is a required +OMP_NUM_THREADS environment variable or the compiler runtime, which +is usually a value of 1.

    +

    For more details, including examples of how to set the OMP_NUM_THREADS +environment variable, see the discussion of the Nthreads setting on +this doc page for the “package omp” command. Nthreads is a required argument for the USER-OMP package. Its meaning is exactly the same -for the USER-INTEL pacakge. -

    -

    IMPORTANT NOTE: If you build LAMMPS with both the USER-INTEL and +for the USER-INTEL pacakge.

    +
    +

    Warning

    +

    If you build LAMMPS with both the USER-INTEL and USER-OMP packages, be aware that both packages allow setting of the -Nthreads value via their package commands, but there is only a -single global Nthreads value used by OpenMP. Thus if both package +Nthreads value via their package commands, but there is only a +single global Nthreads value used by OpenMP. Thus if both package commands are invoked, you should insure the two values are consistent. If they are not, the last one invoked will take precedence, for both -packages. Also note that if the "-sf intel" command-line"> -switch is used, it invokes a "package -intel" command, followed by a "package omp" command, both with a -setting of Nthreads = 0. -

    -

    The mode keyword determines the precision mode to use for +packages. Also note that if the “-sf intel” command-line switch is used, it invokes a “package +intel” command, followed by a “package omp” command, both with a +setting of Nthreads = 0.

    +
    +

    The mode keyword determines the precision mode to use for computing pair style forces, either on the CPU or on the coprocessor, -when using a USER-INTEL supported pair style. It -can take a value of single, mixed which is the default, or -double. Single means single precision is used for the entire -force calculation. Mixed means forces between a pair of atoms are +when using a USER-INTEL supported pair style. It +can take a value of single, mixed which is the default, or +double. Single means single precision is used for the entire +force calculation. Mixed means forces between a pair of atoms are computed in single precision, but accumulated and stored in double precision, including storage of forces, torques, energies, and virial -quantities. Double means double precision is used for the entire -force calculation. -

    -

    The balance keyword sets the fraction of pair -style work offloaded to the coprocessor for split +quantities. Double means double precision is used for the entire +force calculation.

    +

    The balance keyword sets the fraction of pair style work offloaded to the coprocessor for split values between 0.0 and 1.0 inclusive. While this fraction of work is running on the coprocessor, other calculations will run on the host, including neighbor and pair calculations that are not offloaded, as well as angle, bond, dihedral, kspace, and some MPI communications. -If split is set to -1, the fraction of work is dynamically adjusted +If split is set to -1, the fraction of work is dynamically adjusted automatically throughout the run. This typically give performance -within 5 to 10 percent of the optimal fixed fraction. -

    -

    The ghost keyword determines whether or not ghost atoms, i.e. atoms +within 5 to 10 percent of the optimal fixed fraction.

    +

    The ghost keyword determines whether or not ghost atoms, i.e. atoms at the boundaries of proessor sub-domains, are offloaded for neighbor -and force calculations. When the value = "no", ghost atoms are not +and force calculations. When the value = “no”, ghost atoms are not offloaded. This option can reduce the amount of data transfer with the coprocessor and can also overlap MPI communication of forces with -computation on the coprocessor when the newton pair -setting is "on". When the value = "yes", ghost atoms are offloaded. +computation on the coprocessor when the newton pair +setting is “on”. When the value = “yes”, ghost atoms are offloaded. In some cases this can provide better performance, especially if the -balance fraction is high. -

    -

    The tpc keyword sets the max # of coprocessor threads Ntpc that +balance fraction is high.

    +

    The tpc keyword sets the max # of coprocessor threads Ntpc that will run on each core of the coprocessor. The default value = 4, which is the number of hardware threads per core supported by the -current generation Xeon Phi chips. -

    -

    The tptask keyword sets the max # of coprocessor threads (Ntptask +current generation Xeon Phi chips.

    +

    The tptask keyword sets the max # of coprocessor threads (Ntptask* assigned to each MPI task. The default value = 240, which is the total # of threads an entire current generation Xeon Phi chip can run (240 = 60 cores * 4 threads/core). This means each MPI task assigned to the Phi will enough threads for the chip to run the max allowed, even if only 1 MPI task is assigned. If 8 MPI tasks are assigned to the Phi, each will run with 30 threads. If you wish to limit the -number of threads per MPI task, set tptask to a smaller value. -E.g. for tptask = 16, if 8 MPI tasks are assigned, each will run -with 16 threads, for a total of 128. -

    -

    Note that the default settings for tpc and tptask are fine for -most problems, regardless of how many MPI tasks you assign to a Phi. -

    -

    The no_affinity keyword will turn off automatic setting of core +number of threads per MPI task, set tptask to a smaller value. +E.g. for tptask = 16, if 8 MPI tasks are assigned, each will run +with 16 threads, for a total of 128.

    +

    Note that the default settings for tpc and tptask are fine for +most problems, regardless of how many MPI tasks you assign to a Phi.

    +

    The no_affinity keyword will turn off automatic setting of core affinity for MPI tasks and OpenMP threads on the host when using -offload to a coprocessor. Affinity settings are used when possible -to prevent MPI tasks and OpenMP threads from being on separate NUMA -domains and to prevent offload threads from interfering with other -processes/threads used for LAMMPS. -

    -
    - -

    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. -

    -

    The neigh keyword determines how neighbor lists are built. A value -of half uses half-neighbor lists, the same as used by most pair -styles in LAMMPS. A value of half/thread uses a thread-safe variant -of the half-neighbor list. It should be used instead of half when +offload to a coprocessor. Affinity settings are used when possible +to prevent MPI tasks and OpenMP threads from being on separate NUMA +domains and to prevent offload threads from interfering with other +processes/threads used for LAMMPS.

    +
    +

    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.

    +

    The neigh keyword determines how neighbor lists are built. A value +of half uses half-neighbor lists, the same as used by most pair +styles in LAMMPS. A value of half/thread uses a thread-safe variant +of the half-neighbor list. It should be used instead of half when running with more than 1 threads per MPI task on a CPU. A value of -n2 uses an O(N^2) algorithm to build the neighbor list without +n2 uses an O(N^2) algorithm to build the neighbor list without binning, where N = # of atoms on a processor. It is typically slower -than the other methods, which use binning. -

    -

    A value of full uses a full neighbor lists and is the default. 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 +than the other methods, which use binning.

    +

    A value of full uses a full neighbor lists and is the default. 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. However, when running in MPI-only mode with 1 -thread per MPI task, half neighbor lists will typically be faster, -just as it is for non-accelerated pair styles. -

    -

    A value of full/cluster is an experimental neighbor style, where +thread per MPI task, half neighbor lists will typically be faster, +just as it is for non-accelerated pair styles.

    +

    A value of full/cluster is an experimental neighbor style, where particles interact with all particles within a small cluster, if at least one of the clusters particles is within the neighbor cutoff range. This potentially allows for better vectorization on architectures such as the Intel Phi. If also reduces the size of the neighbor list by roughly a factor of the cluster size, thus reducing -the total memory footprint considerably. -

    -

    The newton keyword sets the Newton flags for pairwise and bonded -interactions to off or on, the same as the newton -command allows. The default is off because this will almost always +the total memory footprint considerably.

    +

    The newton keyword sets the Newton flags for pairwise and bonded +interactions to off or on, the same as the newton +command allows. The default 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 in -MPI-only mode with 1 thread per MPI task, a value of on will -typically 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 command. Making it an option in the +MPI-only mode with 1 thread per MPI task, a value of on will +typically 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 command. Making it an option in the package kokkos command allows it to be set from the command line. The default value is 0.0, which means the LAMMPS default will be used, which is bins = 1/2 the size of the pairwise cutoff + neighbor skin @@ -486,181 +555,209 @@ 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 can be set by this keyword. 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 because the GPU is faster at +allow for a smaller fraction of KSpace work with a long-range Coulombic solver because the GPU is faster at performing pairwise interactions, then this rule of thumb may give too -large a binsize. -

    -

    The comm and comm/exchange and comm/forward keywords determine +large a binsize.

    +

    The comm and comm/exchange and comm/forward keywords determine whether the host or device performs the packing and unpacking of data -when communicating per-atom data between processors. "Exchange" +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. The data is for atom +“Forward” communication happens every timestep. 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/exchange and comm/forward 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 +ghost atoms owned by each processor.

    +

    The comm keyword is simply a short-cut to set the same value +for both the comm/exchange and comm/forward 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 +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 may +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 may also be the fastest choice when using Kokkos styles in MPI-only mode -(i.e. with a thread count of 1). -

    -

    When running on CPUs or Xeon Phi, the host and device values work -identically. When using GPUs, the device value will typically be +(i.e. with a thread count of 1).

    +

    When running on CPUs or Xeon Phi, the host and device values work +identically. When using GPUs, the device value 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. This requires that your MPI is able to access GPU +device value. This requires that your MPI is able to access GPU memory directly. Currently that is true for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later), and CrayMPI. 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. -

    -
    - -

    The omp style invokes settings associated with the use of the -USER-OMP package. -

    -

    The Nthread argument sets the number of OpenMP threads allocated for +host value. Using host instead of no will enable use of +multiple threads to pack/unpack communicated data.

    +
    +

    The omp style invokes settings associated with the use of the +USER-OMP package.

    +

    The Nthread argument sets the number of OpenMP threads allocated for each MPI task. For example, if your system has nodes with dual quad-core processors, it has a total of 8 cores per node. You could use two MPI tasks per node (e.g. using the -ppn option of the mpirun -command in MPICH or -npernode in OpenMPI), and set Nthreads = 4. +command in MPICH or -npernode in OpenMPI), and set Nthreads = 4. This would use all 8 cores on each node. Note that the product of MPI tasks * threads/task should not exceed the physical number of cores -(on a node), otherwise performance will suffer. -

    -

    Setting Nthread = 0 instructs LAMMPS to use whatever value is the +(on a node), otherwise performance will suffer.

    +

    Setting Nthread = 0 instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined -via the OMP_NUM_THREADS environment variable or the compiler +via the OMP_NUM_THREADS environment variable or the compiler runtime. Note that in most cases the default for OpenMP capable compilers is to use one thread for each available CPU core when -OMP_NUM_THREADS is not explicitly set, which can lead to poor -performance. -

    -

    Here are examples of how to set the environment variable when -launching LAMMPS: -

    -
    env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
    +OMP_NUM_THREADS is not explicitly set, which can lead to poor
    +performance.

    +

    Here are examples of how to set the environment variable when +launching LAMMPS:

    +
    env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script
     env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script
    -mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script 
    -
    -

    or you can set it permanently in your shell's start-up script. -All three of these examples use a total of 4 CPU cores. -

    -

    Note that different MPI implementations have different ways of passing +mpirun -x OMP_NUM_THREADS=2 -np 2 lmp_machine -sf omp -in in.script +

    + +

    or you can set it permanently in your shell’s start-up script. +All three of these examples use a total of 4 CPU cores.

    +

    Note that different MPI implementations have different ways of passing the OMP_NUM_THREADS environment variable to all MPI processes. The 2nd example line above is for MPICH; the 3rd example line with -x is -for OpenMPI. Check your MPI documentation for additional details. -

    -

    What combination of threads and MPI tasks gives the best performance +for OpenMPI. Check your MPI documentation for additional details.

    +

    What combination of threads and MPI tasks gives the best performance is difficult to predict and can depend on many components of your input. Not all features of LAMMPS support OpenMP threading via the USER-OMP packaage and the parallel efficiency can be very different, -too. -

    -

    Optional keyword/value pairs can also be specified. Each has a -default value as listed below. -

    -

    The neigh keyword specifies whether neighbor list building will be -multi-threaded in addition to force calculations. If neigh is set -to no then neighbor list calculation is performed only by MPI tasks -with no OpenMP threading. If mode is yes (the default), a -multi-threaded neighbor list build is used. Using neigh = yes is +too.

    +

    Optional keyword/value pairs can also be specified. Each has a +default value as listed below.

    +

    The neigh keyword specifies whether neighbor list building will be +multi-threaded in addition to force calculations. If neigh is set +to no then neighbor list calculation is performed only by MPI tasks +with no OpenMP threading. If mode is yes (the default), a +multi-threaded neighbor list build is used. Using neigh = yes is almost always faster and should produce idential neighbor lists at the expense of using more memory. Specifically, neighbor list pages are allocated for all threads at the same time and each thread works -within its own pages. -

    -
    - -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command. -

    -

    The cuda style of this command can only be invoked if LAMMPS was built -with the USER-CUDA package. See the Making -LAMMPS section for more info. -

    -

    The gpu style of this command can only be invoked if LAMMPS was built -with the GPU package. See the Making -LAMMPS section for more info. -

    -

    The intel style of this command can only be invoked if LAMMPS was -built with the USER-INTEL package. See the Making -LAMMPS section for more info. -

    -

    The kk style of this command can only be invoked if LAMMPS was built -with the KOKKOS package. See the Making -LAMMPS section for more info. -

    -

    The omp style of this command can only be invoked if LAMMPS was built -with the USER-OMP package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    suffix, "-pk" command-line -setting -

    -

    Default: -

    -

    For the USER-CUDA package, the default is Ngpu = 1 and the option +within its own pages.

    + +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command.

    +

    The cuda style of this command can only be invoked if LAMMPS was built +with the USER-CUDA package. See the Making LAMMPS section for more info.

    +

    The gpu style of this command can only be invoked if LAMMPS was built +with the GPU package. See the Making LAMMPS section for more info.

    +

    The intel style of this command can only be invoked if LAMMPS was +built with the USER-INTEL package. See the Making LAMMPS section for more info.

    +

    The kk style of this command can only be invoked if LAMMPS was built +with the KOKKOS package. See the Making LAMMPS section for more info.

    +

    The omp style of this command can only be invoked if LAMMPS was built +with the USER-OMP package. See the Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    For the USER-CUDA package, the default is Ngpu = 1 and the option defaults are newton = off, gpuID = 0 to Ngpu-1, timing = not enabled, test = not enabled, and thread = auto. These settings are made -automatically by the required "-c on" command-line -switch. You can change them bu using the -package cuda command in your input script or via the "-pk cuda" -command-line switch. -

    -

    For the GPU package, the default is Ngpu = 1 and the option defaults +automatically by the required “-c on” command-line switch. You can change them bu using the +package cuda command in your input script or via the “-pk cuda” +command-line switch.

    +

    For the GPU package, the default is Ngpu = 1 and the option defaults are neigh = yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, and device = not used. These settings are made -automatically if the "-sf gpu" command-line -switch is used. If it is not used, you +automatically if the “-sf gpu” command-line switch is used. If it is not used, you must invoke the package gpu command in your input script or via the -"-pk gpu" command-line switch. -

    -

    For the USER-INTEL package, the default is Nphi = 1 and the option +“-pk gpu” command-line switch.

    +

    For the USER-INTEL package, the default is Nphi = 1 and the option defaults are omp = 0, mode = mixed, balance = -1, tpc = 4, tptask = 240. The default ghost option is determined by the pair style being used. This value is output to the screen in the offload report at the -end of each run. Note that all of these settings, except "omp" and -"mode", are ignored if LAMMPS was not built with Xeon Phi coprocessor -support. These settings are made automatically if the "-sf intel" -command-line switch is used. If it is +end of each run. Note that all of these settings, except “omp” and +“mode”, are ignored if LAMMPS was not built with Xeon Phi coprocessor +support. These settings are made automatically if the “-sf intel” +command-line switch is used. If it is not used, you must invoke the package intel command in your input -script or or via the "-pk intel" command-line -switch. -

    -

    For the KOKKOS package, the option defaults neigh = full, newton = +script or or via the “-pk intel” command-line switch.

    +

    For the KOKKOS package, the option defaults neigh = full, newton = off, binsize = 0.0, and comm = host. These settings are made -automatically by the required "-k on" command-line -switch. You can change them bu using the -package kokkos command in your input script or via the "-pk kokkos" -command-line switch. -

    -

    For the OMP package, the default is Nthreads = 0 and the option +automatically by the required “-k on” command-line switch. You can change them bu using the +package kokkos command in your input script or via the “-pk kokkos” +command-line switch.

    +

    For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if -the "-sf omp" command-line switch is +the “-sf omp” command-line switch is used. If it is not used, you must invoke the package omp command in -your input script or via the "-pk omp" command-line -switch. -

    - +your input script or via the “-pk omp” command-line switch.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_adp.html b/doc/pair_adp.html index bbce04db07..77cdbf81b1 100644 --- a/doc/pair_adp.html +++ b/doc/pair_adp.html @@ -1,194 +1,343 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style adp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style adp command -

    -

    pair_style adp/omp command -

    -

    Syntax: -

    -
    pair_style adp 
    -
    -

    Examples: -

    -
    pair_style adp
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style adp command¶

    +
    +
    +

    pair_style adp/omp command¶

    +
    +

    Syntax¶

    +
    pair_style adp
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style adp
     pair_coeff * * Ta.adp Ta
    -pair_coeff * * ../potentials/AlCu.adp Al Al Cu 
    -
    -

    Description: -

    -

    Style adp computes pairwise interactions for metals and metal alloys -using the angular dependent potential (ADP) of (Mishin), -which is a generalization of the embedded atom method (EAM) -potential. The LAMMPS implementation is discussed in -(Singh). The total energy Ei of an atom I is given by -

    -
    -
    -

    where F is the embedding energy which is a function of the atomic +pair_coeff * * ../potentials/AlCu.adp Al Al Cu +

    + + +
    +

    Description¶

    +

    Style adp computes pairwise interactions for metals and metal alloys +using the angular dependent potential (ADP) of (Mishin), +which is a generalization of the embedded atom method (EAM) potential. The LAMMPS implementation is discussed in +(Singh). The total energy Ei of an atom I is given by

    +_images/pair_adp.jpg +

    where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, alpha and beta are the element types of atoms I and J, and s and t = 1,2,3 and refer to the cartesian coordinates. The mu and lambda terms represent the dipole and quadruple distortions of the local atomic environment -which extend the original EAM framework by introducing angular forces. -

    -

    Note that unlike for other potentials, cutoffs for ADP potentials are +which extend the original EAM framework by introducing angular forces.

    +

    Note that unlike for other potentials, cutoffs for ADP potentials are not set in the pair_style or pair_coeff command; they are specified in the ADP potential files themselves. Likewise, the ADP potential files -list atomic masses; thus you do not need to use the mass -command to specify them. -

    -

    The NIST WWW site distributes and documents ADP potentials: -

    -
    http://www.ctcms.nist.gov/potentials 
    -
    -

    Note that these must be converted into the extended DYNAMO setfl -format discussed below. -

    -

    The NIST site is maintained by Chandler Becker (cbecker at nist.gov) +list atomic masses; thus you do not need to use the mass +command to specify them.

    +

    The NIST WWW site distributes and documents ADP potentials:

    +
    http://www.ctcms.nist.gov/potentials
    +
    +
    +

    Note that these must be converted into the extended DYNAMO setfl +format discussed below.

    +

    The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on interatomic potentials and file -formats. -

    -
    - -

    Only a single pair_coeff command is used with the adp style which -specifies an extended DYNAMO setfl file, which contains information +formats.

    +
    +

    Only a single pair_coeff command is used with the adp style which +specifies an extended DYNAMO setfl file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of extended setfl elements to atom types -
    -

    See the pair_coeff doc page for alternate ways to -specify the path for the potential file. -

    -

    As an example, the potentials/AlCu.adp file, included in the -potentials directory of the LAMMPS distrbution, is an extended setfl +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of extended setfl elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways to +specify the path for the potential file.

    +

    As an example, the potentials/AlCu.adp file, included in the +potentials directory of the LAMMPS distrbution, is an extended setfl file which has tabulated ADP values for w elements and their alloy interactions: Cu and Al. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Al, and the 4th to be Cu, you would use -the following pair_coeff command: -

    -
    pair_coeff * * AlCu.adp Al Al Al Cu 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +the following pair_coeff command:

    +
    pair_coeff * * AlCu.adp Al Al Al Cu
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Al arguments map LAMMPS atom types 1,2,3 to the Al -element in the extended setfl file. The final Cu argument maps -LAMMPS atom type 4 to the Al element in the extended setfl file. +element in the extended setfl file. The final Cu argument maps +LAMMPS atom type 4 to the Al element in the extended setfl file. Note that there is no requirement that your simulation use all the -elements specified by the extended setfl file. -

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an adp potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    Adp files in the potentials directory of the LAMMPS distribution -have an ".adp" suffix. A DYNAMO setfl file extended for ADP is -formatted as follows. Basically it is the standard setfl format +elements specified by the extended setfl file.

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an adp potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    Adp files in the potentials directory of the LAMMPS distribution +have an ”.adp” suffix. A DYNAMO setfl file extended for ADP is +formatted as follows. Basically it is the standard setfl format with additional tabulated functions u and w added to the file after -the tabulated pair potentials. See the pair_eam -command for further details on the setfl format. -

    -
    • lines 1,2,3 = comments (ignored) -
    • line 4: Nelements Element1 Element2 ... ElementN -
    • line 5: Nrho, drho, Nr, dr, cutoff -
    -

    Following the 5 header lines are Nelements sections, one for each -element, each with the following format: -

    -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -
    • embedding function F(rho) (Nrho values) -
    • density function rho(r) (Nr values) -
    -

    Following the Nelements sections, Nr values for each pair potential +the tabulated pair potentials. See the pair_eam +command for further details on the setfl format.

    +
      +
    • lines 1,2,3 = comments (ignored)
    • +
    • line 4: Nelements Element1 Element2 ... ElementN
    • +
    • line 5: Nrho, drho, Nr, dr, cutoff
    • +
    +

    Following the 5 header lines are Nelements sections, one for each +element, each with the following format:

    +
      +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • +
    • embedding function F(rho) (Nrho values)
    • +
    • density function rho(r) (Nr values)
    • +
    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = +only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). The tabulated values for each phi function are listed as r*phi (in units of eV-Angstroms), since they are for atom pairs, the -same as for other EAM files. -

    -

    After the phi(r) arrays, each of the u(r) arrays are listed in the +same as for other EAM files.

    +

    After the phi(r) arrays, each of the u(r) arrays are listed in the same order with the same assumptions of symmetry. Directly following the u(r), the w(r) arrays are listed. Note that phi(r) is the only -array tabulated with a scaling by r. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +array tabulated with a scaling by r.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, no special mixing rules are needed, since -the ADP potential files specify alloy interactions explicitly. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in tabulated potential files. +the ADP potential files specify alloy interactions explicitly.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, 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. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the MANYBODY package. It is only enabled +if LAMMPS was built with that package (which it is by default).

    +
    + + -

    Restrictions: -

    -

    This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package (which it is by default). -

    -

    Related commands: -

    -

    pair_coeff, pair_eam -

    -

    Default: none -

    -
    - + + +
    + -

    (Mishin) Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 -(2005). -

    - +
    -

    (Singh) Singh and Warner, Acta Mater, 58, 5797-5805 (2010), -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_airebo.html b/doc/pair_airebo.html index 898b04d7a2..4c9727beee 100644 --- a/doc/pair_airebo.html +++ b/doc/pair_airebo.html @@ -1,203 +1,357 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style airebo command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style airebo command -

    -

    pair_style airebo/omp command -

    -

    pair_style rebo command -

    -

    pair_style rebo/omp command -

    -

    Syntax: -

    -
    pair_style style cutoff LJ_flag TORSION_flag 
    -
    -
    • style = airebo or rebo -
    • cutoff = LJ cutoff (sigma scale factor) (AIREBO only) -
    • LJ_flag = 0/1 to turn off/on the LJ term (AIREBO only, optional) -
    • TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO only, optional) -
    -

    Examples: -

    -
    pair_style airebo 3.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style airebo command¶

    +
    +
    +

    pair_style airebo/omp command¶

    +
    +
    +

    pair_style rebo command¶

    +
    +
    +

    pair_style rebo/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style cutoff LJ_flag TORSION_flag
    +
    +
    +
      +
    • style = airebo or rebo
    • +
    • cutoff = LJ cutoff (sigma scale factor) (AIREBO only)
    • +
    • LJ_flag = 0/1 to turn off/on the LJ term (AIREBO only, optional)
    • +
    • TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO only, optional)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style airebo 3.0
     pair_style airebo 2.5 1 0
    -pair_coeff * * ../potentials/CH.airebo H C 
    -
    -
    pair_style rebo
    -pair_coeff * * ../potentials/CH.airebo H C 
    -
    -

    Description: -

    -

    The airebo pair style computes the Adaptive Intermolecular Reactive -Empirical Bond Order (AIREBO) Potential of (Stuart) for a +pair_coeff * * ../potentials/CH.airebo H C +

    + +
    pair_style rebo
    +pair_coeff * * ../potentials/CH.airebo H C
    +
    +
    + +
    +

    Description¶

    +

    The airebo pair style computes the Adaptive Intermolecular Reactive +Empirical Bond Order (AIREBO) Potential of (Stuart) for a system of carbon and/or hydrogen atoms. Note that this is the initial formulation of AIREBO from 2000, not the later formulation. The -rebo pair style computes the Reactive Empirical Bond Order (REBO) -Potential of (Brenner). Note that this is the so-called +rebo pair style computes the Reactive Empirical Bond Order (REBO) +Potential of (Brenner). Note that this is the so-called 2nd generation REBO from 2002, not the original REBO from 1990. As discussed below, 2nd generation REBO is closely related to the intial -AIREBO; it is just a subset of the potential energy terms. -

    -

    The AIREBO potential consists of three terms: -

    -
    -
    -

    By default, all three terms are included. For the airebo style, if +AIREBO; it is just a subset of the potential energy terms.

    +

    The AIREBO potential consists of three terms:

    +_images/pair_airebo.jpg +

    By default, all three terms are included. For the airebo style, if the two optional flag arguments to the pair_style command are included, the LJ and torsional terms can be turned off. Note that both or neither of the flags must be included. If both of the LJ an torsional terms are turned off, it becomes the 2nd-generation REBO potential, with a small caveat on the spline fitting procedure mentioned below. This can be specified directly as pair_style rebo -with no additional arguments. -

    -

    The detailed formulas for this potential are given in -(Stuart); here we provide only a brief description. -

    -

    The E_REBO term has the same functional form as the hydrocarbon REBO -potential developed in (Brenner). The coefficients for -E_REBO in AIREBO are essentially the same as Brenner's potential, but +with no additional arguments.

    +

    The detailed formulas for this potential are given in +(Stuart); here we provide only a brief description.

    +

    The E_REBO term has the same functional form as the hydrocarbon REBO +potential developed in (Brenner). The coefficients for +E_REBO in AIREBO are essentially the same as Brenner’s potential, but a few fitted spline values are slightly different. For most cases the E_REBO term in AIREBO will produce the same energies, forces and statistical averages as the original REBO potential from which it was derived. The E_REBO term in the AIREBO potential gives the model its reactive capabilities and only describes short-ranged C-C, C-H and H-H -interactions (r < 2 Angstroms). These interactions have strong +interactions (r < 2 Angstroms). These interactions have strong coordination-dependence through a bond order parameter, which adjusts the attraction between the I,J atoms based on the position of other -nearby atoms and thus has 3- and 4-body dependence. -

    -

    The E_LJ term adds longer-ranged interactions (2 < r < cutoff) using a -form similar to the standard Lennard Jones potential. +nearby atoms and thus has 3- and 4-body dependence.

    +

    The E_LJ term adds longer-ranged interactions (2 < r < cutoff) using a +form similar to the standard Lennard Jones potential. The E_LJ term in AIREBO contains a series of switching functions so that the short-ranged LJ repulsion (1/r^12) does not interfere with the energetics captured by the E_REBO term. The extent of the E_LJ -interactions is determined by the cutoff argument to the pair_style +interactions is determined by the cutoff argument to the pair_style command which is a scale factor. For each type pair (C-C, C-H, H-H) the cutoff is obtained by multiplying the scale factor by the sigma value defined in the potential file for that type pair. In the standard AIREBO potential, sigma_CC = 3.4 Angstroms, so with a scale factor of 3.0 (the argument in pair_style), the resulting E_LJ cutoff -would be 10.2 Angstroms. -

    -

    The E_TORSION term is an explicit 4-body potential that describes -various dihedral angle preferences in hydrocarbon configurations. -

    -
    - -

    Only a single pair_coeff command is used with the airebo or rebo +would be 10.2 Angstroms.

    +

    The E_TORSION term is an explicit 4-body potential that describes +various dihedral angle preferences in hydrocarbon configurations.

    +
    +

    Only a single pair_coeff command is used with the airebo or rebo style which specifies an AIREBO potential file with parameters for C -and H. Note that the rebo style in LAMMPS uses the same +and H. Note that the rebo style in LAMMPS uses the same AIREBO-formatted potential file. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the -pair_coeff command, where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of AIREBO elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, if your LAMMPS simulation has 4 atom types and you want +pair_coeff command, where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of AIREBO elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, if your LAMMPS simulation has 4 atom types and you want the 1st 3 to be C, and the 4th to be H, you would use the following -pair_coeff command: -

    -
    pair_coeff * * CH.airebo C C C H 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command:

    +
    pair_coeff * * CH.airebo C C C H
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C element in the AIREBO file. The final H argument maps LAMMPS atom type 4 to the H element in the SW file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when a airebo potential is used as part of the hybrid pair style. +when a airebo potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with -other potentials. -

    -

    The parameters/coefficients for the AIREBO potentials are listed in -the CH.airebo file to agree with the original (Stuart) +other potentials.

    +

    The parameters/coefficients for the AIREBO potentials are listed in +the CH.airebo file to agree with the original (Stuart) paper. Thus the parameters are specific to this potential and the way -it was fit, so modifying the file should be done cautiously. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +it was fit, so modifying the file should be done cautiously.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support the pair_modify -mix, shift, table, and tail options. -

    -

    These pair styles do not write their information to binary restart -files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support the pair_modify +mix, shift, table, and tail options.

    +

    These pair styles do not write their information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands 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 command. They do not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    These pair styles are part of the MANYBODY package. They are only +script that reads a restart file.

    +

    These pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info. -

    -

    These pair potentials require the newton setting to be -"on" for pair interactions. -

    -

    The CH.airebo potential file provided with LAMMPS (see the potentials -directory) is parameterized for metal units. You can use +default). See the Making LAMMPS section +for more info.

    +

    These pair potentials require the newton setting to be +“on” for pair interactions.

    +

    The CH.airebo potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal units. You can use the AIREBO or REBO potential with any LAMMPS units, but you would need to create your own AIREBO potential file with coefficients listed in -the appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +the appropriate units if your simulation doesn’t use “metal” units.

    +
    + + - -

    (Stuart) Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486 -(2000). -

    - + + +
    + -

    (Brenner) Brenner, Shenderova, Harrison, Stuart, Ni, Sinnott, J -Physics: Condensed Matter, 14, 783-802 (2002). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_awpmd.html b/doc/pair_awpmd.html index 7ab6be8670..99fd54347c 100644 --- a/doc/pair_awpmd.html +++ b/doc/pair_awpmd.html @@ -1,130 +1,297 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style awpmd/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style awpmd/cut command -

    -

    Syntax: -

    -
    pair_style awpmd/cut Rc keyword value ... 
    -
    -
    • Rc = global cutoff, -1 means cutoff of half the shortest box length - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = hartree or dproduct or uhf or free or pbc or fix or harm or ermscale or flex_press - -
        hartree value = none
      -  dproduct value = none
      -  uhf value = none
      -  free value = none
      -  pbc value = Plen
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      pair_style awpmd/cut command¶

      +
      +

      Syntax¶

      +
      pair_style awpmd/cut Rc keyword value ...
      +
      +
      +
        +
      • Rc = global cutoff, -1 means cutoff of half the shortest box length
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = hartree or dproduct or uhf or free or pbc or fix or harm or ermscale or flex_press
      • +
      +
      +hartree value = none
      +  dproduct value = none
      +  uhf value = none
      +  free value = none
      +  pbc value = Plen
           Plen = periodic width of electron = -1 or positive value (distance units)
      -  fix value = Flen
      +  fix value = Flen
           Flen = fixed width of electron = -1 or positive value (distance units)
      -  harm value = width
      +  harm value = width
           width = harmonic width constraint
      -  ermscale value = factor
      +  ermscale value = factor
           factor = scaling between electron mass and width variable mass
      -  flex_press value = none 
      -
      - -
    -

    Examples: -

    -
    pair_style awpmd/cut -1
    +  flex_press value = none
    +
    +
    +
    +

    Examples¶

    +
    pair_style awpmd/cut -1
     pair_style awpmd/cut 40.0 uhf free
     pair_coeff * *
    -pair_coeff 2 2 20.0 
    -
    -

    Description: -

    -

    This pair style contains an implementation of the Antisymmetrized Wave +pair_coeff 2 2 20.0 +

    +
    +
    +
    +

    Description¶

    +

    This pair style contains an implementation of the Antisymmetrized Wave Packet Molecular Dynamics (AWPMD) method. Need citation here. Need -basic formulas here. Could be links to other documents. -

    -

    Rc is the cutoff. -

    -

    The pair_style command allows for several optional keywords -to be specified. -

    -

    The hartree, dproduct, and uhf keywords specify the form of the -initial trial wave function for the system. If the hartree keyword +basic formulas here. Could be links to other documents.

    +

    Rc is the cutoff.

    +

    The pair_style command allows for several optional keywords +to be specified.

    +

    The hartree, dproduct, and uhf keywords specify the form of the +initial trial wave function for the system. If the hartree keyword is used, then a Hartree multielectron trial wave function is used. If -the dproduct keyword is used, then a trial function which is a -product of two determinants for each spin type is used. If the uhf +the dproduct keyword is used, then a trial function which is a +product of two determinants for each spin type is used. If the uhf keyword is used, then an unrestricted Hartree-Fock trial wave function -is used. -

    -

    The free, pbc, and fix keywords specify a width constraint on -the electron wavepackets. If the free keyword is specified, then there is no -constraint. If the pbc keyword is used and Plen is specified as --1, then the maximum width is half the shortest box length. If Plen +is used.

    +

    The free, pbc, and fix keywords specify a width constraint on +the electron wavepackets. If the free keyword is specified, then there is no +constraint. If the pbc keyword is used and Plen is specified as +-1, then the maximum width is half the shortest box length. If Plen is a positive value, then the value is the maximum width. If the -fix keyword is used and Flen is specified as -1, then electrons -have a constant width that is read from the data file. If Flen is a +fix keyword is used and Flen is specified as -1, then electrons +have a constant width that is read from the data file. If Flen is a positive value, then the constant width for all electrons is set to -Flen. -

    -

    The harm keyword allow oscillations in the width of the -electron wavepackets. More details are needed. -

    -

    The ermscale keyword specifies a unitless scaling factor +Flen.

    +

    The harm keyword allow oscillations in the width of the +electron wavepackets. More details are needed.

    +

    The ermscale keyword specifies a unitless scaling factor between the electron masses and the width variable mass. More -details needed. -

    -

    If the flex_press keyword is used, then a contribution from the -electrons is added to the total virial and pressure of the system. -

    -

    This potential is designed to be used with atom_style -wavepacket definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +details needed.

    +

    If the flex_press keyword is used, then a contribution from the +electrons is added to the total virial and pressure of the system.

    +

    This potential is designed to be used with atom_style wavepacket definitions, in order to handle the +description of systems with interacting nuclei and explicit electrons.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutoff (distance units) -
    -

    For awpmd/cut, the cutoff coefficient is optional. If it is not +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutoff (distance units)
    • +
    +

    For awpmd/cut, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value -specified in the pair_style command is used. -

    -
    +specified in the pair_style command is used.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    The pair_modify mix, shift, table, and tail options +are not relevant for this pair style.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    These are the defaults for the pair_style keywords: hartree for the +initial wavefunction, free for the wavepacket width.

    +
    + -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    The pair_modify mix, shift, table, and tail options -are not relevant for this pair style. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: -

    -

    These are the defaults for the pair_style keywords: hartree for the -initial wavefunction, free for the wavepacket width. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_beck.html b/doc/pair_beck.html index e804eb066b..a42042ddb9 100644 --- a/doc/pair_beck.html +++ b/doc/pair_beck.html @@ -1,117 +1,282 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style beck command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style beck command -

    -

    pair_style beck/gpu command -

    -

    pair_style beck/omp command -

    -

    Syntax: -

    -
    pair_style beck Rc 
    -
    -
    • Rc = cutoff for interactions (distance units) -
    -

    Examples: -

    -
    pair_style beck 8.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style beck command¶

    +
    +
    +

    pair_style beck/gpu command¶

    +
    +
    +

    pair_style beck/omp command¶

    +
    +

    Syntax¶

    +
    pair_style beck Rc
    +
    +
    +
      +
    • Rc = cutoff for interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style beck 8.0
     pair_coeff * * 399.671876712 0.0000867636112694 0.675 4.390 0.0003746
    -pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 
    -
    -

    Description: -

    -

    Style beck computes interactions based on the potential by -(Beck), originally designed for simulation of Helium. It -includes truncation at a cutoff distance Rc. -

    -
    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 +

    + + +
    +

    Description¶

    +

    Style beck computes interactions based on the potential by +(Beck), originally designed for simulation of Helium. It +includes truncation at a cutoff distance Rc.

    +_images/pair_beck.jpg +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands. -

    -
    • A (energy units) -
    • B (energy-distance^6 units) -
    • a (distance units) -
    • alpha (1/distance units) -
    • beta (1/distance^6 units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -Rc is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands.

    +
      +
    • A (energy units)
    • +
    • B (energy-distance^6 units)
    • +
    • a (distance units)
    • +
    • alpha (1/distance units)
    • +
    • beta (1/distance^6 units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +Rc is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, coeffiecients must be specified. +No default miture rules are used.

    +

    This pair style does not support the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify +tail option for adding long-range tail corrections.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, coeffiecients must be specified. -No default miture rules are used. -

    -

    This pair style does not support the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify -tail option for adding long-range tail corrections. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    + + +
    + - +
    -

    (Beck) Beck, Molecular Physics, 14, 311 (1968). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_body.html b/doc/pair_body.html index b83a52bdca..4be17e0a50 100644 --- a/doc/pair_body.html +++ b/doc/pair_body.html @@ -1,124 +1,289 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style body command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style body command -

    -

    Syntax: -

    -
    pair_style body cutoff 
    -
    -

    cutoff = global cutoff for interactions (distance units) -

    -

    Examples: -

    -
    pair_style body 3.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style body command¶

    +
    +

    Syntax¶

    +
    pair_style body cutoff
    +
    +
    +

    cutoff = global cutoff for interactions (distance units)

    +
    +
    +

    Examples¶

    +
    pair_style body 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5 
    -
    -

    Description: -

    -

    Style body is for use with body particles and calculates pairwise +pair_coeff 1 1 1.0 1.5 2.5 +

    + + +
    +

    Description¶

    +

    Style body is for use with body particles and calculates pairwise body/body interactions as well as interactions between body and -point-particles. See Section_howto 14 -of the manual and the body doc page for more details on -using body particles. -

    -

    This pair style is designed for use with the "nparticle" body style, -which is specified as an argument to the "atom-style body" command. -See the body doc page for more details about the body -styles LAMMPS supports. The "nparticle" style treats a body particle -as a rigid body composed of N sub-particles. -

    -

    The coordinates of a body particle are its center-of-mass (COM). If +point-particles. See Section_howto 14 +of the manual and the body doc page for more details on +using body particles.

    +

    This pair style is designed for use with the “nparticle” body style, +which is specified as an argument to the “atom-style body” command. +See the body doc page for more details about the body +styles LAMMPS supports. The “nparticle” style treats a body particle +as a rigid body composed of N sub-particles.

    +

    The coordinates of a body particle are its center-of-mass (COM). If the COMs of a pair of body particles are within the cutoff (global or type-specific, as specified above), then all interactions between pairs of sub-particles in the two body particles are computed. E.g. if the first body particle has 3 sub-particles, and the second has 10, then 30 interactions are computed and summed to yield the -total force and torque on each body particle. -

    -

    IMPORTANT NOTE: In the example just described, all 30 interactions are +total force and torque on each body particle.

    +
    +

    Warning

    +

    In the example just described, all 30 interactions are computed even if the distance between a particular pair of sub-particles is greater than the cutoff. Likewise, no interaction between two body particles is computed if the two COMs are further apart than the cutoff, even if the distance between some pairs of their sub-particles is within the cutoff. Thus care should be used in defining the cutoff distances for body particles, depending on their -shape and size. -

    -

    Similar rules apply for a body particle interacting with a point +shape and size.

    +
    +

    Similar rules apply for a body particle interacting with a point particle. The distance between the two particles is calculated using the COM of the body particle and the position of the point particle. If the distance is within the cutoff and the body particle has N sub-particles, then N interactions with the point particle are computed and summed. If the distance is not within the cutoff, no -interactions between the body and point particle are computed. -

    -

    The interaction between two sub-particles, or a sub-particle and point +interactions between the body and point particle are computed.

    +

    The interaction between two sub-particles, or a sub-particle and point particle, or betwee two point particles is computed as a Lennard-Jones -interaction, using the standard formula -

    -
    -
    -

    where Rc is the cutoff. As explained above, an interaction involving -one or two body sub-particles may be computed even for r > Rc. -

    -

    For style body, the following coefficients must be defined for each -pair of atoms types via the pair_coeff command as in +interaction, using the standard formula

    +_images/pair_lj.jpg +

    where Rc is the cutoff. As explained above, an interaction involving +one or two body sub-particles may be computed even for r > Rc.

    +

    For style body, the following coefficients must be defined for each +pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +read_data or read_restart +commands:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +default mix value is geometric. See the “pair_modify” command for +details.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +

    Defining particles to be bodies so they participate in body/body or +body/particle interactions requires the use of the atom_style body command.

    +
    + + -

    Restrictions: -

    -

    This style is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Defining particles to be bodies so they participate in body/body or -body/particle interactions requires the use of the atom_style -body command. -

    -

    Related commands: -

    -

    pair_coeff, fix_rigid -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_bop.html b/doc/pair_bop.html index 0952ed896d..4e937440b1 100644 --- a/doc/pair_bop.html +++ b/doc/pair_bop.html @@ -1,460 +1,562 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style bop command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style bop command -

    -

    Syntax: -

    -
    pair_style bop keyword ... 
    -
    -
  • zero or more keywords may be appended - -
  • keyword = save - -
      save = pre-compute and save some values 
    -
    - - -

    Examples: -

    -
    pair_style bop 
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style bop command¶

    +
    +

    Syntax¶

    +
    pair_style bop keyword ...
    +
    +
    +
      +
    • zero or more keywords may be appended
    • +
    • keyword = save
    • +
    +
    save = pre-compute and save some values
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style bop
     pair_coeff * * ../potentials/CdTe_bop Cd Te
     pair_style bop save
     pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te
    -comm_modify cutoff 14.70 
    -
    -

    Description: -

    -

    The bop pair style computes Bond-Order Potentials (BOP) based on +comm_modify cutoff 14.70 +

  • + + +
    +

    Description¶

    +

    The bop pair style computes Bond-Order Potentials (BOP) based on quantum mechanical theory incorporating both sigma and pi bondings. By analytically deriving the BOP from quantum mechanical theory its transferability to different phases can approach that of quantum mechanical methods. This potential is similar to the original BOP -developed by Pettifor (Pettifor_1, -Pettifor_2, Pettifor_3) and later updated -by Murdick, Zhou, and Ward (Murdick, Ward). +developed by Pettifor (Pettifor_1, +Pettifor_2, Pettifor_3) and later updated +by Murdick, Zhou, and Ward (Murdick, Ward). Currently, BOP potential files for these systems are provided with LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A sysstem with only a subset of these elements, including a single element (e.g. C or Cu or Al or Ga or Zn or CdZn), can also be modeled by using the appropriate alloy file and assigning all atom types to the singleelement or subset of elements via the pair_coeff command, as -discussed below. -

    -

    The BOP potential consists of three terms: -

    -
    -
    -

    where phi_ij(r_ij) is a short-range two-body function representing the +discussed below.

    +

    The BOP potential consists of three terms:

    +_images/pair_bop.jpg +

    where phi_ij(r_ij) is a short-range two-body function representing the repulsion between a pair of ion cores, beta_(sigma,ij)(r_ij) and beta_(sigma,ij)(r_ij) are respectively sigma and pi bond ingtegrals, THETA_(sigma,ij) and THETA_(pi,ij) are sigma and pi bond-orders, and -U_prom is the promotion energy for sp-valent systems. -

    -

    The detailed formulas for this potential are given in Ward -(Ward); here we provide only a brief description. -

    -

    The repulsive energy phi_ij(r_ij) and the bond integrals +U_prom is the promotion energy for sp-valent systems.

    +

    The detailed formulas for this potential are given in Ward +(Ward); here we provide only a brief description.

    +

    The repulsive energy phi_ij(r_ij) and the bond integrals beta_(sigma,ij)(r_ij) and beta_(phi,ij)(r_ij) are functions of the interatomic distance r_ij between atom i and j. Each of these potentials has a smooth cutoff at a radius of r_(cut,ij). These smooth cutoffs ensure stable behavior at situations with high sampling -near the cutoff such as melts and surfaces. -

    -

    The bond-orders can be viewed as environment-dependent local variables +near the cutoff such as melts and surfaces.

    +

    The bond-orders can be viewed as environment-dependent local variables that are ij bond specific. The maximum value of the sigma bond-order (THETA_sigma) is 1, while that of the pi bond-order (THETA_pi) is 2, attributing to a maximum value of the total bond-order (THETA_sigma+THETA_pi) of 3. The sigma and pi bond-orders reflect the ubiquitous single-, double-, and triple- bond behavior of chemistry. Their analytical expressions can be derived from tight- -binding theory by recursively expanding an inter-site Green's function +binding theory by recursively expanding an inter-site Green’s function as a continued fraction. To accurately represent the bonding with a computationally efficient potential formulation suitable for MD simulations, the derived BOP only takes (and retains) the first two levels of the recursive representations for both the sigma and the pi bond-orders. Bond-order terms can be understood in terms of molecular orbital hopping paths based upon the Cyrot-Lackmann theorem -(Pettifor_1). The sigma bond-order with a half-full +(Pettifor_1). The sigma bond-order with a half-full valence shell is used to interpolate the bond-order expressiont that incorporated explicite valance band filling. This pi bond-order expression also contains also contains a three-member ring term that allows implementation of an asymmetric density of states, which helps to either stabilize or destabilize close-packed structures. The pi bond-order includes hopping paths of length 4. This enables the -incorporation of dihedral angles effects. -

    -

    IMPORTANT NOTE: Note that unlike for other potentials, cutoffs for BOP +incorporation of dihedral angles effects.

    +
    +

    Warning

    +

    Note that unlike for other potentials, cutoffs for BOP potentials are not set in the pair_style or pair_coeff command; they are specified in the BOP potential files themselves. Likewise, the BOP potential files list atomic masses; thus you do not need to use -the mass command to specify them. Note that for BOP +the mass command to specify them. Note that for BOP potentials with hydrogen, you will likely want to set the mass of H atoms to be 10x or 20x larger to avoid having to use a tiny timestep. -You can do this by using the mass command after using the -pair_coeff command to read the BOP potential -file. -

    -

    One option can be specified as a keyword with the pair_style command. -

    -

    The save keyword gives you the option to calculate in advance and +You can do this by using the mass command after using the +pair_coeff command to read the BOP potential +file.

    +
    +

    One option can be specified as a keyword with the pair_style command.

    +

    The save keyword gives you the option to calculate in advance and store a set of distances, angles, and derivatives of angles. The default is to not do this, but to calculate them on-the-fly each time they are needed. The former may be faster, but takes more memory. The latter requires less memory, but may be slower. It is best to test this option to optimize the speed of BOP for your particular -system configuration. -

    -
    - -

    Only a single pair_coeff command is used with the bop style which +system configuration.

    +
    +

    Only a single pair_coeff command is used with the bop style which specifies a BOP potential file, with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of BOP elements to atom types -
    -

    As an example, imagine the CdTe.bop file has BOP values for Cd +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of BOP elements to atom types
    • +
    +

    As an example, imagine the CdTe.bop file has BOP values for Cd and Te. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Cd, and the 4th to be Te, you would use the following -pair_coeff command: -

    -
    pair_coeff * * CdTe Cd Cd Cd Te 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command:

    +
    pair_coeff * * CdTe Cd Cd Cd Te
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd element in the BOP file. The final Te argument maps LAMMPS atom type -4 to the Te element in the BOP file. -

    -

    BOP files in the potentials directory of the LAMMPS distribution -have a ".bop" suffix. The potentials are in tabulated form containing +4 to the Te element in the BOP file.

    +

    BOP files in the potentials directory of the LAMMPS distribution +have a ”.bop” suffix. The potentials are in tabulated form containing pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), -and beta_pi,ij)(r_ij). -

    -

    The parameters/coefficients format for the different kinds of BOP +and beta_pi,ij)(r_ij).

    +

    The parameters/coefficients format for the different kinds of BOP files are given below with variables matching the formulation of Ward -(Ward) and Zhou (Zhou). Each header line containing a -":" is preceded by a blank line. -

    -
    - -

    No angular table file format: -

    -

    The parameters/coefficients format for the BOP potentials input file +(Ward) and Zhou (Zhou). Each header line containing a +”:” is preceded by a blank line.

    +
    +

    No angular table file format:

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Ward). -

    -
    • Line 1: # elements N -
    -

    The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element. -

    -

    Following the definition of the elements several global variables for -the tabulated functions are given. -

    -
    • Line 1: nr, nBOt (nr is the number of divisions the radius is broken -into for function tables and MUST be a factor of 5; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) - -
    • Line 2: delta_1-delta_7 (if all are not used in the particular - -
    • formulation, set unused values to 0.0) -
    -

    Following this N lines for e_1-e_N containing p_pi. -

    -
    • Line 3: p_pi (for e_1) -
    • Line 4: p_pi (for e_2 and continues to e_N) -
    -

    The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N -

    -
    • Line 1: r_cut (for e_1-e_1 interactions) - -
    • Line 2: c_sigma, a_sigma, c_pi, a_pi - -
    • Line 3: delta_sigma, delta_pi - -
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) -
    -

    The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -

    -
    • Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for -g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. Ward -contains the full expressions for the constants as functions of -b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) - -
    • Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) -
    -

    The next section contains a block for each interaction type for the -phi_ij(r_ij). Each block has nr entries with 5 entries per line. -

    -
    • Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 -interaction type) - -
    • Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues -until nr) - -
    • ... - -
    • Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the -e_1-e_1 interaction type) -
    -

    The next section contains a block for each interaction type for the -beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per -line. -

    -
    • Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), -beta_sigma(r5) (for the e_1-e_1 interaction type) - -
    • Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), -beta_sigma(r10) (this continues until nr) - -
    • ... - -
    • Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), -beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) -
    -

    The next section contains a block for each interaction type for -beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. -

    -
    • Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) -(for the e_1-e_1 interaction type) - -
    • Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), -beta_pi(r10) (this continues until nr) - -
    • ... - -
    • Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), -beta_pi(r5) (for the e_1-e_2 interaction type) -
    -

    The next section contains a block for each interaction type for the -THETA_(S,ij)((THETA_(sigma,ij))^(1/2), f_(sigma,ij)). Each block has -nBOt entries with 5 entries per line. -

    -
    • Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) - -
    • Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), -THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) - -
    • ... - -
    • Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) -
    -

    The next section contains a block of N lines for e_1-e_N -

    -
    • Line 1: delta^mu (for e_1) -
    • Line 2: delta^mu (for e_2 and repeats to e_N) -
    -

    The last section contains more constants for e_i-e_j interactions with -i=0->N, j=i->N -

    -
    • Line 1: (A_ij)^(mu*nu) (for e1-e1) -
    • Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above) -
    -
    - -

    Angular spline table file format: -

    -

    The parameters/coefficients format for the BOP potentials input file +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Ward).

    +
      +
    • Line 1: # elements N
    • +
    +

    The first line is followed by N lines containing the atomic +number, mass, and element symbol of each element.

    +

    Following the definition of the elements several global variables for +the tabulated functions are given.

    +
      +
    • Line 1: nr, nBOt (nr is the number of divisions the radius is broken +into for function tables and MUST be a factor of 5; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij)
    • +
    • Line 2: delta_1-delta_7 (if all are not used in the particular
    • +
    • formulation, set unused values to 0.0)
    • +
    +

    Following this N lines for e_1-e_N containing p_pi.

    +
      +
    • Line 3: p_pi (for e_1)
    • +
    • Line 4: p_pi (for e_2 and continues to e_N)
    • +
    +

    The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N

    +
      +
    • Line 1: r_cut (for e_1-e_1 interactions)
    • +
    • Line 2: c_sigma, a_sigma, c_pi, a_pi
    • +
    • Line 3: delta_sigma, delta_pi
    • +
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent)
    • +
    +

    The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

    +
      +
    • Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for +g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. Ward +contains the full expressions for the constants as functions of +b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk))
    • +
    • Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2)
    • +
    +

    The next section contains a block for each interaction type for the +phi_ij(r_ij). Each block has nr entries with 5 entries per line.

    +
      +
    • Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 +interaction type)
    • +
    • Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues +until nr)
    • +
    • ...
    • +
    • Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the +e_1-e_1 interaction type)
    • +
    +

    The next section contains a block for each interaction type for the +beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per +line.

    +
      +
    • Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), +beta_sigma(r5) (for the e_1-e_1 interaction type)
    • +
    • Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), +beta_sigma(r10) (this continues until nr)
    • +
    • ...
    • +
    • Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), +beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type)
    • +
    +

    The next section contains a block for each interaction type for +beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line.

    +
      +
    • Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) +(for the e_1-e_1 interaction type)
    • +
    • Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), +beta_pi(r10) (this continues until nr)
    • +
    • ...
    • +
    • Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), +beta_pi(r5) (for the e_1-e_2 interaction type)
    • +
    +

    The next section contains a block for each interaction type for the +THETA_(S,ij)((THETA_(sigma,ij))^(1/2), f_(sigma,ij)). Each block has +nBOt entries with 5 entries per line.

    +
      +
    • Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), +THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type)
    • +
    • Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), +THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt)
    • +
    • ...
    • +
    • Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), +THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type)
    • +
    +

    The next section contains a block of N lines for e_1-e_N

    +
      +
    • Line 1: delta^mu (for e_1)
    • +
    • Line 2: delta^mu (for e_2 and repeats to e_N)
    • +
    +

    The last section contains more constants for e_i-e_j interactions with +i=0->N, j=i->N

    +
      +
    • Line 1: (A_ij)^(mu*nu) (for e1-e1)
    • +
    • Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above)
    • +
    +
    +

    Angular spline table file format:

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Zhou). -

    -
    • Line 1: # elements N -
    -

    The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element. -

    -

    Following the definition of the elements several global variables for -the tabulated functions are given. -

    -
    • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Zhou).

      +
        +
      • Line 1: # elements N
      • +
      +

      The first line is followed by N lines containing the atomic +number, mass, and element symbol of each element.

      +

      Following the definition of the elements several global variables for +the tabulated functions are given.

      +
        +
      • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the power of the -power of the spline used to fit the angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) - -
      • Line 2: delta_1-delta_7 (if all are not used in the particular - -
      • formulation, set unused values to 0.0) -
      -

      Following this N lines for e_1-e_N containing p_pi. -

      -
      • Line 3: p_pi (for e_1) -
      • Line 4: p_pi (for e_2 and continues to e_N) -
      -

      The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N -

      -
      • Line 1: r_cut (for e_1-e_1 interactions) - -
      • Line 2: c_sigma, a_sigma, c_pi, a_pi - -
      • Line 3: delta_sigma, delta_pi - -
      • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) -
      -

      The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -

      -
    • Line 1: g0, g1, g2... (These are coefficients for the angular spline +power of the spline used to fit the angular function; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij)
    • +
    • Line 2: delta_1-delta_7 (if all are not used in the particular
    • +
    • formulation, set unused values to 0.0)
    • +
    +

    Following this N lines for e_1-e_N containing p_pi.

    +
      +
    • Line 3: p_pi (for e_1)
    • +
    • Line 4: p_pi (for e_2 and continues to e_N)
    • +
    +

    The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N

    +
      +
    • Line 1: r_cut (for e_1-e_1 interactions)
    • +
    • Line 2: c_sigma, a_sigma, c_pi, a_pi
    • +
    • Line 3: delta_sigma, delta_pi
    • +
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent)
    • +
    +

    The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

    +
      +
    • Line 1: g0, g1, g2... (These are coefficients for the angular spline of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The function can contain up to 10 term thus 10 constants. The first line can contain up to five constants. If the spline has more than five terms the second line will contain the remaining constants The following lines will then contain the constants for the remainaing g0, g1, g2... (for e_1-e_1-e_2) and the other three body -interactions -
    -

    The rest of the table has the same structure as the previous section -(see above). -

    -
    - -

    Angular no-spline table file format: -

    -

    The parameters/coefficients format for the BOP potentials input file +interactions + +

    The rest of the table has the same structure as the previous section +(see above).

    +
    +

    Angular no-spline table file format:

    +

    The parameters/coefficients format for the BOP potentials input file containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward (Ward). This format also -assumes the angular functions have the formulation of (Zhou). -

    -
    • Line 1: # elements N -
    -

    The first two lines are followed by N lines containing the atomic -number, mass, and element symbol of each element. -

    -

    Following the definition of the elements several global variables for -the tabulated functions are given. -

    -
    • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken +matching the formulation of Ward (Ward). This format also +assumes the angular functions have the formulation of (Zhou).

      +
        +
      • Line 1: # elements N
      • +
      +

      The first two lines are followed by N lines containing the atomic +number, mass, and element symbol of each element.

      +

      Following the definition of the elements several global variables for +the tabulated functions are given.

      +
        +
      • Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the number of -divisions for the tabulated values of the g angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) - -
      • Line 2: delta_1-delta_7 (if all are not used in the particular - -
      • formulation, set unused values to 0.0) -
      -

      Following this N lines for e_1-e_N containing p_pi. -

      -
      • Line 3: p_pi (for e_1) -
      • Line 4: p_pi (for e_2 and continues to e_N) -
      -

      The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N -

      -
      • Line 1: r_cut (for e_1-e_1 interactions) - -
      • Line 2: c_sigma, a_sigma, c_pi, a_pi - -
      • Line 3: delta_sigma, delta_pi - -
      • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) -
      -

      The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -

      -
      • Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 -interaction type) - -
      • Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues -until ntheta) - -
      • ... - -
      • Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the -e_1-e_1-e_2 interaction type) -
      -

      The rest of the table has the same structure as the previous section (see above). -

      -
      - -

      Mixing, shift, table tail correction, restart: -

      -

      This pair style does not support the pair_modify -mix, shift, table, and tail options. -

      -

      This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +divisions for the tabulated values of the g angular function; nBOt is the number +of divisions for the tabulated values of THETA_(S,ij)

    • +
    • Line 2: delta_1-delta_7 (if all are not used in the particular
    • +
    • formulation, set unused values to 0.0)
    • +
    +

    Following this N lines for e_1-e_N containing p_pi.

    +
      +
    • Line 3: p_pi (for e_1)
    • +
    • Line 4: p_pi (for e_2 and continues to e_N)
    • +
    +

    The next section contains several pair constants for the number of +interaction types e_i-e_j, with i=1->N, j=i->N

    +
      +
    • Line 1: r_cut (for e_1-e_1 interactions)
    • +
    • Line 2: c_sigma, a_sigma, c_pi, a_pi
    • +
    • Line 3: delta_sigma, delta_pi
    • +
    • Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of +the previous section but is interaction type dependent)
    • +
    +

    The next section contains a line for each three body interaction type +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N

    +
      +
    • Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 +interaction type)
    • +
    • Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues +until ntheta)
    • +
    • ...
    • +
    • Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the +e_1-e_1-e_2 interaction type)
    • +
    +

    The rest of the table has the same structure as the previous section (see above).

    +
    +

    Mixing, shift, table tail correction, restart:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the MANYBODY package. They are only +enabled if LAMMPS was built with that package (which it is by default). +See the Making LAMMPS section for more +info.

    +

    These pair potentials require the newtion setting to be +“on” for pair interactions.

    +

    The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. +You can use the BOP potential with any LAMMPS units, but you would need +to create your own BOP potential file with coefficients listed in the +appropriate units if your simulation does not use “metal” units.

    +
    + +
    +

    Default¶

    +

    non-tabulated potential file, a_0 is non-zero.

    +
    +

    (Pettifor_1) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 +(1999).

    +

    (Pettifor_2) D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, +4124 (2000).

    +

    (Pettifor_3) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 +(2002).

    +

    (Murdick) D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. +Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006).

    +

    (Ward) D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. +Zimmerman, Phys. Rev. B, 85,115206 (2012).

    +

    (Zhou) X.W. Zhou, D.K. Ward, M. Foster (TBP).

    +
    + -

    Restrictions: -

    -

    These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package (which it is by default). -See the Making LAMMPS section for more -info. -

    -

    These pair potentials require the newtion setting to be -"on" for pair interactions. -

    -

    The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. -You can use the BOP potential with any LAMMPS units, but you would need -to create your own BOP potential file with coefficients listed in the -appropriate units if your simulation does not use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: -

    -

    non-tabulated potential file, a_0 is non-zero. -

    -
    - + + +
    + -

    (Pettifor_1) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 -(1999). -

    - +
    -

    (Pettifor_2) D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, -4124 (2000). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Pettifor_3) D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 -(2002). -

    - +
    -

    (Murdick) D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. -Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006). -

    - + + -

    (Ward) D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. -Zimmerman, Phys. Rev. B, 85,115206 (2012). -

    - + -

    (Zhou) X.W. Zhou, D.K. Ward, M. Foster (TBP). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_born.html b/doc/pair_born.html index bd2ba588fd..24cf823b69 100644 --- a/doc/pair_born.html +++ b/doc/pair_born.html @@ -1,210 +1,377 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style born command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style born command -

    -

    pair_style born/omp command -

    -

    pair_style born/gpu command -

    -

    pair_style born/coul/long command -

    -

    pair_style born/coul/long/cs command -

    -

    pair_style born/coul/long/cuda command -

    -

    pair_style born/coul/long/gpu command -

    -

    pair_style born/coul/long/omp command -

    -

    pair_style born/coul/msm command -

    -

    pair_style born/coul/msm/omp command -

    -

    pair_style born/coul/wolf command -

    -

    pair_style born/coul/wolf/gpu command -

    -

    pair_style born/coul/wolf/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = born or born/coul/long or born/coul/long/cs or born/coul/msm or born/coul/wolf -
    • args = list of arguments for a particular style -
    -
      born args = cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style born command¶

    +
    +
    +

    pair_style born/omp command¶

    +
    +
    +

    pair_style born/gpu command¶

    +
    +
    +

    pair_style born/coul/long command¶

    +
    +
    +

    pair_style born/coul/long/cs command¶

    +
    +
    +

    pair_style born/coul/long/cuda command¶

    +
    +
    +

    pair_style born/coul/long/gpu command¶

    +
    +
    +

    pair_style born/coul/long/omp command¶

    +
    +
    +

    pair_style born/coul/msm command¶

    +
    +
    +

    pair_style born/coul/msm/omp command¶

    +
    +
    +

    pair_style born/coul/wolf command¶

    +
    +
    +

    pair_style born/coul/wolf/gpu command¶

    +
    +
    +

    pair_style born/coul/wolf/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = born or born/coul/long or born/coul/long/cs or born/coul/msm or born/coul/wolf
    • +
    • args = list of arguments for a particular style
    • +
    +
    +born args = cutoff
         cutoff = global cutoff for non-Coulombic interactions (distance units)
    -  born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
    +  born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/msm args = cutoff (cutoff2)
    +  born/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/wolf args = alpha cutoff (cutoff2)
    +  born/coul/wolf args = alpha cutoff (cutoff2)
         alpha = damping parameter (inverse distance units)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style born 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style born 10.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    -
    -
    pair_style born/coul/long 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    +
    +
    +
    pair_style born/coul/long 10.0
     pair_style born/coul/long/cs 10.0
     pair_style born/coul/long 10.0 8.0
     pair_style born/coul/long/cs 10.0 8.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    -
    -
    pair_style born/coul/msm 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    +
    +
    +
    pair_style born/coul/msm 10.0
     pair_style born/coul/msm 10.0 8.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    -
    -
    pair_style born/coul/wolf 0.25 10.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    +
    +
    +
    pair_style born/coul/wolf 0.25 10.0
     pair_style born/coul/wolf 0.25 10.0 9.0
     pair_coeff * * 6.08 0.317 2.340 24.18 11.51
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    -
    -

    Description: -

    -

    The born style computes the Born-Mayer-Huggins or Tosi/Fumi -potential described in (Fumi and Tosi), given by -

    -
    -
    -

    where sigma is an interaction-dependent length parameter, rho is an -ionic-pair dependent length parameter, and Rc is the cutoff. -

    -

    The styles with coul/long or coul/msm add a Coulombic term as -described for the lj/cut pair styles. An additional +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 +

    + + +
    +

    Description¶

    +

    The born style computes the Born-Mayer-Huggins or Tosi/Fumi +potential described in (Fumi and Tosi), given by

    +_images/pair_born.jpg +

    where sigma is an interaction-dependent length parameter, rho is an +ionic-pair dependent length parameter, and Rc is the cutoff.

    +

    The styles with coul/long or coul/msm add a Coulombic term as +described for the lj/cut pair styles. An additional damping factor is applied to the Coulombic term so it can be used in -conjunction with the kspace_style command and its -ewald or pppm of msm option. The Coulombic cutoff specified for +conjunction with the kspace_style command and its +ewald or pppm of msm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in -reciprocal space. -

    -

    If one cutoff is specified for the born/coul/long and -born/coul/msm style, it is used for both the A,C,D and Coulombic +reciprocal space.

    +

    If one cutoff is specified for the born/coul/long and +born/coul/msm style, it is used for both the A,C,D and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C,D terms, and the second is the cutoff for the Coulombic -term. -

    -

    The born/coul/wolf style adds a Coulombic term as described for the -Wolf potential in the coul/wolf pair style. -

    -

    Style born/coul/long/cs is identical to born/coul/long except that -a term is added for the core/shell model +term.

    +

    The born/coul/wolf style adds a Coulombic term as described for the +Wolf potential in the coul/wolf pair style.

    +

    Style born/coul/long/cs is identical to born/coul/long except that +a term is added for the core/shell model to allow charges on core and shell particles to be separated by r = -0.0. -

    -

    Note that these potentials are related to the Buckingham -potential. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +0.0.

    +

    Note that these potentials are related to the Buckingham potential.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • A (energy units) -
    • rho (distance units) -
    • sigma (distance units) -
    • C (energy units * distance units^6) -
    • D (energy units * distance units^8) -
    • cutoff (distance units) -
    -

    The second coefficient, rho, must be greater than zero. -

    -

    The last coefficient is optional. If not specified, the global A,C,D -cutoff specified in the pair_style command is used. -

    -

    For born/coul/long and born/coul/wolf no Coulombic cutoff can be +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • A (energy units)
    • +
    • rho (distance units)
    • +
    • sigma (distance units)
    • +
    • C (energy units * distance units^6)
    • +
    • D (energy units * distance units^8)
    • +
    • cutoff (distance units)
    • +
    +

    The second coefficient, rho, must be greater than zero.

    +

    The last coefficient is optional. If not specified, the global A,C,D +cutoff specified in the pair_style command is used.

    +

    For born/coul/long and born/coul/wolf no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the -same global Coulombic cutoff specified in the pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +same global Coulombic cutoff specified in the pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    These styles support the pair_modify shift option +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    These styles support the pair_modify shift option for the energy of the exp(), 1/r^6, and 1/r^8 portion of the pair -interaction. -

    -

    The born/coul/long pair style supports the -pair_modify table option ti tabulate the -short-range portion of the long-range Coulombic interaction. -

    -

    These styles support the pair_modify tail option for adding long-range -tail corrections to energy and pressure. -

    -

    Thess styles writes thei information to binary restart +interaction.

    +

    The born/coul/long pair style supports the +pair_modify table option ti tabulate the +short-range portion of the long-range Coulombic interaction.

    +

    These styles support the pair_modify tail option for adding long-range +tail corrections to energy and pressure.

    +

    Thess styles writes thei information to binary restart files, so pair_style and pair_coeff commands do not need to be -specified in an input script that reads a restart file. -

    -

    These styles can only be used via the pair keyword of the run_style -respa command. They do not support the inner, -middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    The born/coul/long style is part of the KSPACE package. It is only +specified in an input script that reads a restart file.

    +

    These styles can only be used via the pair keyword of the run_style respa command. They do not support the inner, +middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    The born/coul/long style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style buck -

    -

    Default: none -

    -
    +default). See the Making LAMMPS section +for more info.

    +
    + + - -

    Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), -Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_brownian.html b/doc/pair_brownian.html index be855698da..d531b614db 100644 --- a/doc/pair_brownian.html +++ b/doc/pair_brownian.html @@ -1,150 +1,308 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style brownian command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style brownian command -

    -

    pair_style brownian/omp command -

    -

    pair_style brownian/poly command -

    -

    pair_style brownian/poly/omp command -

    -

    Syntax: -

    -
    pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF 
    -
    -
    • style = brownian or brownian/poly -
    • mu = dynamic viscosity (dynamic viscosity units) -
    • flaglog = 0/1 log terms in the lubrication approximation on/off -
    • flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects -
    • cutinner = inner cutoff distance (distance units) -
    • cutoff = outer cutoff for interactions (distance units) -
    • t_target = target temp of the system (temperature units) -
    • seed = seed for the random number generator (positive integer) -
    • flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions -
    • flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms -
    -

    Examples: -

    -
    pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1)
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style brownian command¶

    +
    +
    +

    pair_style brownian/omp command¶

    +
    +
    +

    pair_style brownian/poly command¶

    +
    +
    +

    pair_style brownian/poly/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF
    +
    +
    +
      +
    • style = brownian or brownian/poly
    • +
    • mu = dynamic viscosity (dynamic viscosity units)
    • +
    • flaglog = 0/1 log terms in the lubrication approximation on/off
    • +
    • flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects
    • +
    • cutinner = inner cutoff distance (distance units)
    • +
    • cutoff = outer cutoff for interactions (distance units)
    • +
    • t_target = target temp of the system (temperature units)
    • +
    • seed = seed for the random number generator (positive integer)
    • +
    • flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions
    • +
    • flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms
    • +
    +
    +
    +

    Examples¶

    +
    pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1)
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * * 
    -
    -

    Description: -

    -

    Styles brownian and brownain/poly compute Brownian forces and +pair_coeff * * +

    + + +
    +

    Description¶

    +

    Styles brownian and brownain/poly compute Brownian forces and torques on finite-size particles. The former requires monodisperse spherical particles; the latter allows for polydisperse spherical -particles. -

    -

    These pair styles are designed to be used with either the pair_style -lubricate or pair_style -lubricateU commands to provide thermostatting +particles.

    +

    These pair styles are designed to be used with either the pair_style lubricate or pair_style lubricateU commands to provide thermostatting when dissipative lubrication forces are acting. Thus the parameters -mu, flaglog, flagfld, cutinner, and cutoff should be +mu, flaglog, flagfld, cutinner, and cutoff should be specified consistent with the settings in the lubrication pair styles. -For details, refer to either of the lubrication pair styles. -

    -

    The t_target setting is used to specify the target temperature of -the system. The random number seed is used to generate random -numbers for the thermostatting procedure. -

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined. -

    -
    - -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +For details, refer to either of the lubrication pair styles.

    +

    The t_target setting is used to specify the target temperature of +the system. The random number seed is used to generate random +numbers for the thermostatting procedure.

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined.

    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutinner (distance units) -
    • cutoff (distance units) -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutinner (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +must be specified.

    +
    +

    Styles with a cuda, 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 in this section of +hardware, as discussed in this section of the manual. 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 USER-CUDA, GPU, USER-INTEL, +produce the same results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See this section of the manual for more -instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the "pair_modify" command for details. -

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See this section of the manual for more +instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the “pair_modify” command for details.

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Only spherical monodisperse particles are allowed for pair_style +brownian.

    +

    Only spherical particles are allowed for pair_style brownian/poly.

    +
    + +
    +

    Default¶

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1.

    +
    + -

    Restrictions: -

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Only spherical monodisperse particles are allowed for pair_style -brownian. -

    -

    Only spherical particles are allowed for pair_style brownian/poly. -

    -

    Related commands: -

    -

    pair_coeff, pair_style -lubricate, pair_style -lubricateU -

    -

    Default: -

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_buck.html b/doc/pair_buck.html index 046d2f7121..5804523f49 100644 --- a/doc/pair_buck.html +++ b/doc/pair_buck.html @@ -1,220 +1,398 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style buck command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style buck command -

    -

    pair_style buck/cuda command -

    -

    pair_style buck/gpu command -

    -

    pair_style buck/kk command -

    -

    pair_style buck/omp command -

    -

    pair_style buck/coul/cut command -

    -

    pair_style buck/coul/cut/cuda command -

    -

    pair_style buck/coul/cut/gpu command -

    -

    pair_style buck/coul/cut/kk command -

    -

    pair_style buck/coul/cut/omp command -

    -

    pair_style buck/coul/long command -

    -

    pair_style buck/coul/long/cs command -

    -

    pair_style buck/coul/long/cuda command -

    -

    pair_style buck/coul/long/gpu command -

    -

    pair_style buck/coul/long/kk command -

    -

    pair_style buck/coul/long/omp command -

    -

    pair_style buck/coul/msm command -

    -

    pair_style buck/coul/msm/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = buck or buck/coul/cut or buck/coul/long or buck/coul/long/cs or buck/coul/msm -
    • args = list of arguments for a particular style -
    -
      buck args = cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style buck command¶

    +
    +
    +

    pair_style buck/cuda command¶

    +
    +
    +

    pair_style buck/gpu command¶

    +
    +
    +

    pair_style buck/kk command¶

    +
    +
    +

    pair_style buck/omp command¶

    +
    +
    +

    pair_style buck/coul/cut command¶

    +
    +
    +

    pair_style buck/coul/cut/cuda command¶

    +
    +
    +

    pair_style buck/coul/cut/gpu command¶

    +
    +
    +

    pair_style buck/coul/cut/kk command¶

    +
    +
    +

    pair_style buck/coul/cut/omp command¶

    +
    +
    +

    pair_style buck/coul/long command¶

    +
    +
    +

    pair_style buck/coul/long/cs command¶

    +
    +
    +

    pair_style buck/coul/long/cuda command¶

    +
    +
    +

    pair_style buck/coul/long/gpu command¶

    +
    +
    +

    pair_style buck/coul/long/kk command¶

    +
    +
    +

    pair_style buck/coul/long/omp command¶

    +
    +
    +

    pair_style buck/coul/msm command¶

    +
    +
    +

    pair_style buck/coul/msm/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = buck or buck/coul/cut or buck/coul/long or buck/coul/long/cs or buck/coul/msm
    • +
    • args = list of arguments for a particular style
    • +
    +
    +buck args = cutoff
         cutoff = global cutoff for Buckingham interactions (distance units)
    -  buck/coul/cut args = cutoff (cutoff2)
    +  buck/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
    +  buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/msm args = cutoff (cutoff2)
    +  buck/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style buck 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style buck 2.5
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff * * 100.0 1.5 200.0 3.0 
    -
    -
    pair_style buck/coul/cut 10.0
    +pair_coeff * * 100.0 1.5 200.0 3.0
    +
    +
    +
    pair_style buck/coul/cut 10.0
     pair_style buck/coul/cut 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
     pair_coeff 1 1 100.0 1.5 200.0 9.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 
    -
    -
    pair_style buck/coul/long 10.0
    +pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0
    +
    +
    +
    pair_style buck/coul/long 10.0
     pair_style buck/coul/long/cs 10.0
     pair_style buck/coul/long 10.0 8.0
     pair_style buck/coul/long/cs 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0 
    -
    -
    pair_style buck/coul/msm 10.0
    +pair_coeff 1 1 100.0 1.5 200.0 9.0
    +
    +
    +
    pair_style buck/coul/msm 10.0
     pair_style buck/coul/msm 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0 
    -
    -

    Description: -

    -

    The buck style computes a Buckingham potential (exp/6 instead of -Lennard-Jones 12/6) given by -

    -
    -
    -

    where rho is an ionic-pair dependent length parameter, and Rc is the -cutoff on both terms. -

    -

    The styles with coul/cut or coul/long or coul/msm add a -Coulombic term as described for the lj/cut pair styles. -For buck/coul/long and buc/coul/msm, an additional damping factor +pair_coeff 1 1 100.0 1.5 200.0 9.0 +

    + + +
    +

    Description¶

    +

    The buck style computes a Buckingham potential (exp/6 instead of +Lennard-Jones 12/6) given by

    +_images/pair_buck.jpg +

    where rho is an ionic-pair dependent length parameter, and Rc is the +cutoff on both terms.

    +

    The styles with coul/cut or coul/long or coul/msm add a +Coulombic term as described for the lj/cut pair styles. +For buck/coul/long and buc/coul/msm, an additional damping factor is applied to the Coulombic term so it can be used in conjunction with -the kspace_style command and its ewald or pppm -or msm option. The Coulombic cutoff specified for this style means +the kspace_style command and its ewald or pppm +or msm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. -

    -

    If one cutoff is specified for the born/coul/cut and -born/coul/long and born/coul/msm styles, it is used for both the +interactions outside that distance are computed in reciprocal space.

    +

    If one cutoff is specified for the born/coul/cut and +born/coul/long and born/coul/msm styles, it is used for both the A,C and Coulombic terms. If two cutoffs are specified, the first is used as the cutoff for the A,C terms, and the second is the cutoff for -the Coulombic term. -

    -

    Style buck/coul/long/cs is identical to buck/coul/long except that -a term is added for the core/shell model +the Coulombic term.

    +

    Style buck/coul/long/cs is identical to buck/coul/long except that +a term is added for the core/shell model to allow charges on core and shell particles to be separated by r = -0.0. -

    -

    Note that these potentials are related to the Born-Mayer-Huggins -potential. -

    -

    IMPORTANT NOTE: For all these pair styles, the terms with A and C are +0.0.

    +

    Note that these potentials are related to the Born-Mayer-Huggins potential.

    +
    +

    Warning

    +

    For all these pair styles, the terms with A and C are always cutoff. The additional Coulombic term can be cutoff or long-range (no cutoff) depending on whether the style name includes coul/cut or coul/long or coul/msm. If you wish the C/r^6 term to be -long-range (no cutoff), then see the pair_style -buck/long/coul/long command. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +long-range (no cutoff), then see the pair_style buck/long/coul/long command.

    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • A (energy units) -
    • rho (distance units) -
    • C (energy-distance^6 units) -
    • cutoff (distance units) -
    • cutoff2 (distance units) -
    -

    The second coefficient, rho, must be greater than zero. -

    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands:

    +
      +
    • A (energy units)
    • +
    • rho (distance units)
    • +
    • C (energy-distance^6 units)
    • +
    • cutoff (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The second coefficient, rho, must be greater than zero.

    +

    The latter 2 coefficients are optional. If not specified, the global A,C and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both A,C and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the A,C and Coulombic cutoffs for this type pair. You cannot specify -2 cutoffs for style buck, since it has no Coulombic terms. -

    -

    For buck/coul/long only the LJ cutoff can be specified since a +2 cutoffs for style buck, since it has no Coulombic terms.

    +

    For buck/coul/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    These styles support the pair_modify shift option -for the energy of the exp() and 1/r^6 portion of the pair interaction. -

    -

    The buck/coul/long pair style supports the -pair_modify table option to tabulate the -short-range portion of the long-range Coulombic interaction. -

    -

    These styles support the pair_modify tail option for adding long-range +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    These styles support the pair_modify shift option +for the energy of the exp() and 1/r^6 portion of the pair interaction.

    +

    The buck/coul/long pair style supports the +pair_modify table option to tabulate the +short-range portion of the long-range Coulombic interaction.

    +

    These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the -pair interaction. -

    -

    These styles write their information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    These styles can only be used via the pair keyword of the run_style -respa command. They do not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    The buck/coul/long style is part of the KSPACE package. The -buck/coul/long/cs style is part of the CORESHELL package. They are +pair interaction.

    +

    These styles write their information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    These styles can only be used via the pair keyword of the run_style respa command. They do not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    The buck/coul/long style is part of the KSPACE package. The +buck/coul/long/cs style is part of the CORESHELL package. They are only enabled if LAMMPS was built with that package (which it is by -default). See the Making LAMMPS section -for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style born -

    -

    Default: none -

    - +default). See the Making LAMMPS section +for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_buck_long.html b/doc/pair_buck_long.html index 77c8a3884b..1b31e64a84 100644 --- a/doc/pair_buck_long.html +++ b/doc/pair_buck_long.html @@ -1,182 +1,338 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style buck/long/coul/long command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style buck/long/coul/long command -

    -

    pair_style buck/long/coul/long/omp command -

    -

    Syntax: -

    -
    pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) 
    -
    -
    • flag_buck = long or cut - -
        long = use Kspace long-range summation for the dispersion term 1/r^6
      -  cut = use a cutoff 
      -
      -
    • flag_coul = long or off - -
        long = use Kspace long-range summation for the Coulombic term 1/r
      -  off = omit the Coulombic term 
      -
      -
    • cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units) - -
    • cutoff2 = global cutoff for Coulombic (optional) (distance units) -
    -

    Examples: -

    -
    pair_style buck/long/coul/long cut off 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style buck/long/coul/long command¶

    +
    +
    +

    pair_style buck/long/coul/long/omp command¶

    +
    +

    Syntax¶

    +
    pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2)
    +
    +
    +
      +
    • flag_buck = long or cut
    • +
    +
    +long = use Kspace long-range summation for the dispersion term 1/r^6
    +  cut = use a cutoff
    +
    +
      +
    • flag_coul = long or off
    • +
    +
    +long = use Kspace long-range summation for the Coulombic term 1/r
    +  off = omit the Coulombic term
    +
    +
      +
    • cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units)
    • +
    • cutoff2 = global cutoff for Coulombic (optional) (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style buck/long/coul/long cut off 2.5
     pair_style buck/long/coul/long cut long 2.5 4.0
     pair_style buck/long/coul/long long long 4.0
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 3 4 
    -
    -

    Description: -

    -

    The buck/long/coul/long style computes a Buckingham potential (exp/6 -instead of Lennard-Jones 12/6) and Coulombic potential, given by -

    -
    -
    -
    -
    -

    Rc is the cutoff. If one cutoff is specified in the pair_style +pair_coeff 1 1 1 3 4 +

    + + +
    +

    Description¶

    +

    The buck/long/coul/long style computes a Buckingham potential (exp/6 +instead of Lennard-Jones 12/6) and Coulombic potential, given by

    +_images/pair_buck.jpg +_images/pair_coulomb.jpg +

    Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the Buckingham and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the Buckingham -and Coulombic terms respectively. -

    -

    The purpose of this pair style is to capture long-range interactions +and Coulombic terms respectively.

    +

    The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Buckingham and Coulombic 1/r -interactions. This is done by use of the flag_buck and flag_coul -settings. The "Ismail paper has more details on when it is +interactions. This is done by use of the flag_buck and flag_coul +settings. The “Ismail paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this -potential. -

    -

    If flag_buck is set to long, no cutoff is used on the Buckingham +potential.

    +

    If flag_buck is set to long, no cutoff is used on the Buckingham 1/r^6 dispersion term. The long-range portion can be calculated by -using the kspace_style ewald/disp or pppm/disp +using the kspace_style ewald/disp or pppm/disp commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via -the Kspace style. If flag_buck is set to cut, the Buckingham -interactions are simply cutoff, as with pair_style -buck. -

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic +the Kspace style. If flag_buck is set to cut, the Buckingham +interactions are simply cutoff, as with pair_style buck.

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several kspace_style command options such as -pppm or ewald. Note that if flag_buck is also set to long, then -the ewald/disp or pppm/disp Kspace style needs to be used to +several kspace_style command options such as +pppm or ewald. Note that if flag_buck is also set to long, then +the ewald/disp or pppm/disp Kspace style needs to be used to perform the long-range calculations for both the Buckingham and -Coulombic interactions. If flag_coul is set to off, Coulombic -interactions are not computed. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +Coulombic interactions. If flag_coul is set to off, Coulombic +interactions are not computed.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • A (energy units) -
    • rho (distance units) -
    • C (energy-distance^6 units) -
    • cutoff (distance units) -
    • cutoff2 (distance units) -
    -

    The second coefficient, rho, must be greater than zero. -

    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands:

    +
      +
    • A (energy units)
    • +
    • rho (distance units)
    • +
    • C (energy-distance^6 units)
    • +
    • cutoff (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The second coefficient, rho, must be greater than zero.

    +

    The latter 2 coefficients are optional. If not specified, the global Buckingham and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using -flag_buck set to long, you cannot specify a Buckingham cutoff for +flag_buck set to long, you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using flag_coul set to long, you cannot +Similarly, if you are using flag_coul set to long, you cannot specify a Coulombic cutoff for an atom type pair, since only one -global Coulombic cutoff is allowed. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +global Coulombic cutoff is allowed.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair styles does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This pair style supports the pair_modify shift +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair styles does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This pair style supports the pair_modify shift option for the energy of the exp() and 1/r^6 portion of the pair -interaction, assuming flag_buck is cut. -

    -

    This pair style does not support the pair_modify +interaction, assuming flag_buck is cut.

    +

    This pair style does not support the pair_modify shift option for the energy of the Buckingham portion of the pair -interaction. -

    -

    This pair style supports the pair_modify table and +interaction.

    +

    This pair style supports the pair_modify table and table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions. -

    -

    This pair style write its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +the long-range Coulombic and dispersion interactions.

    +

    This pair style write its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details. -

    -
    +the rRESPA hierarchy. See the run_style command for +details.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the KSPACE package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that +the KSPACE package is installed by default.

    +
    + + -

    Restrictions: -

    -

    This style is part of the KSPACE package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. Note that -the KSPACE package is installed by default. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Ismail) Ismail, Tsige, In 't Veld, Grest, Molecular Physics -(accepted) (2007). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_charmm.html b/doc/pair_charmm.html index a36e852678..b4689df222 100644 --- a/doc/pair_charmm.html +++ b/doc/pair_charmm.html @@ -1,219 +1,391 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/charmm/coul/charmm command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/charmm/coul/charmm command -

    -

    pair_style lj/charmm/coul/charmm/cuda command -

    -

    pair_style lj/charmm/coul/charmm/omp command -

    -

    pair_style lj/charmm/coul/charmm/implicit command -

    -

    pair_style lj/charmm/coul/charmm/implicit/cuda command -

    -

    pair_style lj/charmm/coul/charmm/implicit/omp command -

    -

    pair_style lj/charmm/coul/long command -

    -

    pair_style lj/charmm/coul/long/cuda command -

    -

    pair_style lj/charmm/coul/long/gpu command -

    -

    pair_style lj/charmm/coul/long/intel command -

    -

    pair_style lj/charmm/coul/long/opt command -

    -

    pair_style lj/charmm/coul/long/omp command -

    -

    pair_style lj/charmm/coul/msm command -

    -

    pair_style lj/charmm/coul/msm/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long or lj/charmm/coul/msm -
    • args = list of arguments for a particular style -
    -
      lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/charmm/coul/charmm command¶

    +
    +
    +

    pair_style lj/charmm/coul/charmm/cuda command¶

    +
    +
    +

    pair_style lj/charmm/coul/charmm/omp command¶

    +
    +
    +

    pair_style lj/charmm/coul/charmm/implicit command¶

    +
    +
    +

    pair_style lj/charmm/coul/charmm/implicit/cuda command¶

    +
    +
    +

    pair_style lj/charmm/coul/charmm/implicit/omp command¶

    +
    +
    +

    pair_style lj/charmm/coul/long command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/cuda command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/gpu command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/intel command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/opt command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/omp command¶

    +
    +
    +

    pair_style lj/charmm/coul/msm command¶

    +
    +
    +

    pair_style lj/charmm/coul/msm/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/charmm/coul/charmm or lj/charmm/coul/charmm/implicit or lj/charmm/coul/long or lj/charmm/coul/msm
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
         inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
    +  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
         inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/long args = inner outer (cutoff)
    +  lj/charmm/coul/long args = inner outer (cutoff)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
         cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    -  lj/charmm/coul/msm args = inner outer (cutoff)
    +  lj/charmm/coul/msm args = inner outer (cutoff)
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    -    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) 
    -
    -

    Examples: -

    -
    pair_style lj/charmm/coul/charmm 8.0 10.0
    +    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/charmm/coul/charmm 8.0 10.0
     pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5 
    -
    -
    pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5
    +
    +
    +
    pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
     pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5 
    -
    -
    pair_style lj/charmm/coul/long 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5
    +
    +
    +
    pair_style lj/charmm/coul/long 8.0 10.0
     pair_style lj/charmm/coul/long 8.0 10.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5 
    -
    -
    pair_style lj/charmm/coul/msm 8.0 10.0
    +pair_coeff 1 1 100.0 2.0 150.0 3.5
    +
    +
    +
    pair_style lj/charmm/coul/msm 8.0 10.0
     pair_style lj/charmm/coul/msm 8.0 10.0 9.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 1 1 100.0 2.0 150.0 3.5 
    -
    -

    Description: -

    -

    The lj/charmm styles compute LJ and Coulombic interactions with an +pair_coeff 1 1 100.0 2.0 150.0 3.5 +

    + + +
    +

    Description¶

    +

    The lj/charmm styles compute LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a widely -used potential in the CHARMM MD code. -See (MacKerell) for a description of the CHARMM force -field. -

    -
    -
    -

    Both the LJ and Coulombic terms require an inner and outer cutoff. +used potential in the CHARMM MD code. +See (MacKerell) for a description of the CHARMM force +field.

    +_images/pair_charmm.jpg +

    Both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. In each case, the inner cutoff distance must be less than the outer cutoff. It it typical to make the difference between the 2 cutoffs about 1.0 -Angstrom. -

    -

    Style lj/charmm/coul/charmm/implicit computes the same formulas as -style lj/charmm/coul/charmm except that an additional 1/r term is +Angstrom.

    +

    Style lj/charmm/coul/charmm/implicit computes the same formulas as +style lj/charmm/coul/charmm except that an additional 1/r term is included in the Coulombic formula. The Coulombic energy thus varies as 1/r^2. This is effectively a distance-dependent dielectric term which is a simple model for an implicit solvent with additional screening. It is designed for use in a simulation of an unsolvated -biomolecule (no explicit water molecules). -

    -

    Styles lj/charmm/coul/long and lj/charmm/coul/msm compute the same -formulas as style lj/charmm/coul/charmm except that an additional +biomolecule (no explicit water molecules).

    +

    Styles lj/charmm/coul/long and lj/charmm/coul/msm compute the same +formulas as style lj/charmm/coul/charmm except that an additional damping factor is applied to the Coulombic term, as described for the -lj/cut pair styles. Only one Coulombic cutoff is -specified for lj/charmm/coul/long and lj/charmm/coul/msm; if only +lj/cut pair styles. Only one Coulombic cutoff is +specified for lj/charmm/coul/long and lj/charmm/coul/msm; if only 2 arguments are used in the pair_style command, then the outer LJ -cutoff is used as the single Coulombic cutoff. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +cutoff is used as the single Coulombic cutoff.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • epsilon_14 (energy units) -
    • sigma_14 (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • epsilon_14 (energy units)
    • +
    • sigma_14 (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma. -

    -

    The latter 2 coefficients are optional. If they are specified, they +sigma.

    +

    The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in -the pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, and sigma_14 coefficients for all of the lj/charmm pair styles can be -mixed. The default mix value is arithmetic to coincide with the -usual settings for the CHARMM force field. See the "pair_modify" -command for details. -

    -

    None of the lj/charmm pair styles support the -pair_modify shift option, since the Lennard-Jones -portion of the pair interaction is smoothed to 0.0 at the cutoff. -

    -

    The lj/charmm/coul/long style supports the -pair_modify table option since it can tabulate the -short-range portion of the long-range Coulombic interaction. -

    -

    None of the lj/charmm pair styles support the -pair_modify tail option for adding long-range tail +mixed. The default mix value is arithmetic to coincide with the +usual settings for the CHARMM force field. See the “pair_modify” +command for details.

    +

    None of the lj/charmm pair styles support the +pair_modify shift option, since the Lennard-Jones +portion of the pair interaction is smoothed to 0.0 at the cutoff.

    +

    The lj/charmm/coul/long style supports the +pair_modify table option since it can tabulate the +short-range portion of the long-range Coulombic interaction.

    +

    None of the lj/charmm pair styles support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since the Lennard-Jones portion of -the pair interaction is smoothed to 0.0 at the cutoff. -

    -

    All of the lj/charmm pair styles write their information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    The lj/charmm/coul/long pair style supports the use of the inner, -middle, and outer keywords of the run_style respa +the pair interaction is smoothed to 0.0 at the cutoff.

    +

    All of the lj/charmm pair styles write their information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    The lj/charmm/coul/long pair style supports the use of the inner, +middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only -support the pair keyword of run_style respa. See the -run_style command for details. -

    -
    - -

    Restrictions: -

    -

    The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit -styles are part of the MOLECULE package. The lj/charmm/coul/long +support the pair keyword of run_style respa. See the +run_style command for details.

    +
    +
    +
    +

    Restrictions¶

    +

    The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit +styles are part of the MOLECULE package. The lj/charmm/coul/long style is part of the KSPACE package. They are only enabled if LAMMPS -was built with those packages. See the Making -LAMMPS section for more info. Note that -the MOLECULE and KSPACE packages are installed by default. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +was built with those packages. See the Making LAMMPS section for more info. Note that +the MOLECULE and KSPACE packages are installed by default.

    +
    + + - -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_class2.html b/doc/pair_class2.html index 58c66b927c..878fac51ca 100644 --- a/doc/pair_class2.html +++ b/doc/pair_class2.html @@ -1,193 +1,362 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/class2 command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/class2 command -

    -

    pair_style lj/class2/cuda command -

    -

    pair_style lj/class2/gpu command -

    -

    pair_style lj/class2/kk command -

    -

    pair_style lj/class2/omp command -

    -

    pair_style lj/class2/coul/cut command -

    -

    pair_style lj/class2/coul/cut/cuda command -

    -

    pair_style lj/class2/coul/cut/kk command -

    -

    pair_style lj/class2/coul/cut/omp command -

    -

    pair_style lj/class2/coul/long command -

    -

    pair_style lj/class2/coul/long/cuda command -

    -

    pair_style lj/class2/coul/long/gpu command -

    -

    pair_style lj/class2/coul/long/kk command -

    -

    pair_style lj/class2/coul/long/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/class2 or lj/class2/coul/cut or lj/class2/coul/long -
    • args = list of arguments for a particular style -
    -
      lj/class2 args = cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/class2 command¶

    +
    +
    +

    pair_style lj/class2/cuda command¶

    +
    +
    +

    pair_style lj/class2/gpu command¶

    +
    +
    +

    pair_style lj/class2/kk command¶

    +
    +
    +

    pair_style lj/class2/omp command¶

    +
    +
    +

    pair_style lj/class2/coul/cut command¶

    +
    +
    +

    pair_style lj/class2/coul/cut/cuda command¶

    +
    +
    +

    pair_style lj/class2/coul/cut/kk command¶

    +
    +
    +

    pair_style lj/class2/coul/cut/omp command¶

    +
    +
    +

    pair_style lj/class2/coul/long command¶

    +
    +
    +

    pair_style lj/class2/coul/long/cuda command¶

    +
    +
    +

    pair_style lj/class2/coul/long/gpu command¶

    +
    +
    +

    pair_style lj/class2/coul/long/kk command¶

    +
    +
    +

    pair_style lj/class2/coul/long/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/class2 or lj/class2/coul/cut or lj/class2/coul/long
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/class2 args = cutoff
         cutoff = global cutoff for class 2 interactions (distance units)
    -  lj/class2/coul/cut args = cutoff (cutoff2)
    +  lj/class2/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/class2/coul/long args = cutoff (cutoff2)
    +  lj/class2/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style lj/class2 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/class2 10.0
     pair_coeff * * 100.0 2.5
    -pair_coeff 1 2* 100.0 2.5 9.0 
    -
    -
    pair_style lj/class2/coul/cut 10.0
    +pair_coeff 1 2* 100.0 2.5 9.0
    +
    +
    +
    pair_style lj/class2/coul/cut 10.0
     pair_style lj/class2/coul/cut 10.0 8.0
     pair_coeff * * 100.0 3.0
     pair_coeff 1 1 100.0 3.5 9.0
    -pair_coeff 1 1 100.0 3.5 9.0 9.0 
    -
    -
    pair_style lj/class2/coul/long 10.0
    +pair_coeff 1 1 100.0 3.5 9.0 9.0
    +
    +
    +
    pair_style lj/class2/coul/long 10.0
     pair_style lj/class2/coul/long 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -

    Description: -

    -

    The lj/class2 styles compute a 6/9 Lennard-Jones potential given by -

    -
    -
    -

    Rc is the cutoff. -

    -

    The lj/class2/coul/cut and lj/class2/coul/long styles add a -Coulombic term as described for the lj/cut pair styles. -

    -

    See (Sun) for a description of the COMPASS class2 force field. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 100.0 3.5 9.0 +

    + + +
    +

    Description¶

    +

    The lj/class2 styles compute a 6/9 Lennard-Jones potential given by

    +_images/pair_class2.jpg +

    Rc is the cutoff.

    +

    The lj/class2/coul/cut and lj/class2/coul/long styles add a +Coulombic term as described for the lj/cut pair styles.

    +

    See (Sun) for a description of the COMPASS class2 force field.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The latter 2 coefficients are optional. If not specified, the global class 2 and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both class 2 and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the class 2 and Coulombic cutoffs for this type pair. -You cannot specify 2 cutoffs for style lj/class2, since it has no -Coulombic terms. -

    -

    For lj/class2/coul/long only the class 2 cutoff can be specified +You cannot specify 2 cutoffs for style lj/class2, since it has no +Coulombic terms.

    +

    For lj/class2/coul/long only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command. -

    -
    - -

    If the pair_coeff command is not used to define coefficients for a +specified in the pair_style command.

    +
    +

    If the pair_coeff command is not used to define coefficients for a particular I != J type pair, the mixing rule for epsilon and sigma for -all class2 potentials is to use the sixthpower formulas documented -by the pair_modify command. The pair_modify -mix setting is thus ignored for class2 potentials +all class2 potentials is to use the sixthpower formulas documented +by the pair_modify command. The pair_modify mix setting is thus ignored for class2 potentials for epsilon and sigma. However it is still followed for mixing the -cutoff distance. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +cutoff distance.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/class2 pair styles can be mixed. -Epsilon and sigma are always mixed with the value sixthpower. The +Epsilon and sigma are always mixed with the value sixthpower. The cutoff distance is mixed by whatever option is set by the pair_modify -command (default = geometric). See the "pair_modify" command for -details. -

    -

    All of the lj/class2 pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction. -

    -

    The lj/class2/coul/long pair style does not support the -pair_modify table option since a tabulation -capability has not yet been added to this potential. -

    -

    All of the lj/class2 pair styles support the -pair_modify tail option for adding a long-range +command (default = geometric). See the “pair_modify” command for +details.

    +

    All of the lj/class2 pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction.

    +

    The lj/class2/coul/long pair style does not support the +pair_modify table option since a tabulation +capability has not yet been added to this potential.

    +

    All of the lj/class2 pair styles support the +pair_modify tail option for adding a long-range tail correction to the energy and pressure of the Lennard-Jones -portion of the pair interaction. -

    -

    All of the lj/class2 pair styles write their information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    All of the lj/class2 pair styles can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    These styles are part of the CLASS2 package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +portion of the pair interaction.

    +

    All of the lj/class2 pair styles write their information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    All of the lj/class2 pair styles can only be used via the pair +keyword of the run_style respa command. They do not +support the inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    These styles are part of the CLASS2 package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Sun) Sun, J Phys Chem B 102, 7338-7364 (1998). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html index fed17fdca0..63f74a0733 100644 --- a/doc/pair_coeff.html +++ b/doc/pair_coeff.html @@ -1,95 +1,210 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_coeff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_coeff command -

    -

    Syntax: -

    -
    pair_coeff I J args 
    -
    -
    • I,J = atom types (see asterisk form below) -
    • args = coefficients for one or more pairs of atom types -
    -

    Examples: -

    -
    pair_coeff 1 2 1.0 1.0 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_coeff command¶

    +
    +

    Syntax¶

    +
    pair_coeff I J args
    +
    +
    +
      +
    • I,J = atom types (see asterisk form below)
    • +
    • args = coefficients for one or more pairs of atom types
    • +
    +
    +
    +

    Examples¶

    +
    pair_coeff 1 2 1.0 1.0 2.5
     pair_coeff 2 * 1.0 1.0
     pair_coeff 3* 1*2 1.0 1.0 2.5
     pair_coeff * * 1.0 1.0
     pair_coeff * * nialhjea 1 1 2
     pair_coeff * 3 morse.table ENTRY1
    -pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) 
    -
    -

    Description: -

    -

    Specify the pairwise force field coefficients for one or more pairs of +pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) +

    + + +
    +

    Description¶

    +

    Specify the pairwise force field coefficients for one or more pairs of atom types. The number and meaning of the coefficients depends on the pair style. Pair coefficients can also be set in the data file read -by the read_data command or in a restart file. -

    -

    I and J can be specified in one of two ways. Explicit numeric values -can be used for each, as in the 1st example above. I <= J is +by the read_data command or in a restart file.

    +

    I and J can be specified in one of two ways. Explicit numeric values +can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I -interaction to the same values. -

    -

    A wildcard asterisk can be used in place of or in conjunction with the +interaction to the same values.

    +

    A wildcard asterisk can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the +types. This takes the form “*” or “n” or “n” or “m*n”. If N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. -

    -

    Note that a pair_coeff command can override a previous setting for the +(inclusive). Note that only type pairs with I <= J are considered; if +asterisks imply type pairs where J < I, they are ignored.

    +

    Note that a pair_coeff command can override a previous setting for the same I,J pair. For example, these commands set the coeffs for all I,J -pairs, then overwrite the coeffs for just the I,J = 2,3 pair: -

    -
    pair_coeff * * 1.0 1.0 2.5
    -pair_coeff 2 3 2.0 1.0 1.12 
    -
    -

    A line in a data file that specifies pair coefficients uses the exact +pairs, then overwrite the coeffs for just the I,J = 2,3 pair:

    +
    pair_coeff * * 1.0 1.0 2.5
    +pair_coeff 2 3 2.0 1.0 1.12
    +
    +
    +

    A line in a data file that specifies pair coefficients uses the exact same format as the arguments of the pair_coeff command in an input script, with the exception of the I,J type arguments. In each line of -the "Pair Coeffs" section of a data file, only a single type I is +the “Pair Coeffs” section of a data file, only a single type I is specified, which sets the coefficients for type I interacting with type I. This is because the section has exactly N lines, where N = the number of atom types. For this reason, the wild-card asterisk should also not be used as part of the I argument. Thus in a data file, the line corresponding to the 1st example above would be listed -as -

    -
    2 1.0 1.0 2.5 
    -
    -

    For many potentials, if coefficients for type pairs with I != J are +as

    +
    2 1.0 1.0 2.5
    +
    +
    +

    For many potentials, if coefficients for type pairs with I != J are not set explicitly by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the -pair_modify command for a discussion. Details on +pair_modify command for a discussion. Details on this option as it pertains to individual potentials are described on -the doc page for the potential. -

    -

    Many pair styles, typically for many-body potentials, use tabulated +the doc page for the potential.

    +

    Many pair styles, typically for many-body potentials, use tabulated potential files as input, when specifying the pair_coeff command. Potential files provided with LAMMPS are in the potentials directory of the distribution. For some potentials, such as EAM, other archives of suitable files can be found on the Web. They can be used with LAMMPS so long as they are in the format LAMMPS expects, as discussed -on the individual doc pages. -

    -

    When a pair_coeff command using a potential file is specified, LAMMPS +on the individual doc pages.

    +

    When a pair_coeff command using a potential file is specified, LAMMPS looks for the potential file in 2 places. First it looks in the -location specified. E.g. if the file is specified as "niu3.eam", it +location specified. E.g. if the file is specified as “niu3.eam”, it is looked for in the current working directory. If it is specified as -"../potentials/niu3.eam", then it is looked for in the potentials +”../potentials/niu3.eam”, then it is looked for in the potentials directory, assuming it is a sister directory of the current working directory. If the file is not found, it is then looked for in the directory specified by the LAMMPS_POTENTIALS environment variable. @@ -97,54 +212,112 @@ Thus if this is set to the potentials directory in the LAMMPS distro, then you can use those files from anywhere on your system, without copying them into your working directory. Environment variables are set in different ways for different shells. Here are example settings -for -

    -
    csh, tcsh:
    -% setenv LAMMPS_POTENTIALS /path/to/lammps/potentials 
    -
    -
    bash:
    -% export LAMMPS_POTENTIALS=/path/to/lammps/potentials 
    -
    -
    Windows:
    -% set LAMMPS_POTENTIALS="C:\Path to LAMMPS\Potentials 
    -
    -
    - -

    The alphabetic list of pair styles defined in LAMMPS is given on the -pair_style doc page. They are also given in more -compact form in the pair section of this -page. -

    -

    Click on the style to display the formula it computes, arguments +for

    +
    csh, tcsh:
    +% setenv LAMMPS_POTENTIALS /path/to/lammps/potentials
    +
    +
    +
    bash:
    +% export LAMMPS_POTENTIALS=/path/to/lammps/potentials
    +
    +
    +
    +Windows:
    +% set LAMMPS_POTENTIALS="C:Path to LAMMPSPotentials
    +
    +
    +

    The alphabetic list of pair styles defined in LAMMPS is given on the +pair_style doc page. They are also given in more +compact form in the pair section of this page.

    +

    Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the -associated pair_coeff command. -

    -

    Note that there are also additional pair styles (not listed on the -pair_style doc page) submitted by users which are +associated pair_coeff command.

    +

    Note that there are also additional pair styles (not listed on the +pair_style doc page) submitted by users which are included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the pair section of this -page. -

    -

    There are also additional accelerated pair styles (not listed on the -pair_style doc page) included in the LAMMPS +the individual styles are given in the pair section of this page.

    +

    There are also additional accelerated pair styles (not listed on the +pair_style doc page) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given in the pair -section of this page. -

    -
    +section of this page.

    +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +
    + + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    Related commands: -

    -

    pair_style, pair_modify, -read_data, read_restart, -pair_write -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_colloid.html b/doc/pair_colloid.html index 3f8f006bac..9de64aedad 100644 --- a/doc/pair_colloid.html +++ b/doc/pair_colloid.html @@ -1,117 +1,224 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style colloid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style colloid command -

    -

    pair_style colloid/gpu command -

    -

    pair_style colloid/omp command -

    -

    Syntax: -

    -
    pair_style colloid cutoff 
    -
    -
    • cutoff = global cutoff for colloidal interactions (distance units) -
    -

    Examples: -

    -
    pair_style colloid 10.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style colloid command¶

    +
    +
    +

    pair_style colloid/gpu command¶

    +
    +
    +

    pair_style colloid/omp command¶

    +
    +

    Syntax¶

    +
    pair_style colloid cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for colloidal interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style colloid 10.0
     pair_coeff * *  25 1.0 10.0 10.0
     pair_coeff 1 1 144 1.0 0.0 0.0 3.0
     pair_coeff 1 2  75.398 1.0 0.0 10.0 9.0
    -pair_coeff 2 2  39.478 1.0 10.0 10.0 25.0 
    -
    -

    Description: -

    -

    Style colloid computes pairwise interactions between large colloidal +pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 +

    + + +
    +

    Description¶

    +

    Style colloid computes pairwise interactions between large colloidal particles and small solvent particles using 3 formulas. A colloidal -particle has a size > sigma; a solvent particle is the usual -Lennard-Jones particle of size sigma. -

    -

    The colloid-colloid interaction energy is given by -

    -
    -
    -

    where A_cc is the Hamaker constant, a1 and a2 are the radii of the two +particle has a size > sigma; a solvent particle is the usual +Lennard-Jones particle of size sigma.

    +

    The colloid-colloid interaction energy is given by

    +_images/pair_colloid_cc.jpg +

    where A_cc is the Hamaker constant, a1 and a2 are the radii of the two colloidal particles, and Rc is the cutoff. This equation results from describing each colloidal particle as an integrated collection of Lennard-Jones particles of size sigma and is derived in -(Everaers). -

    -

    The colloid-solvent interaction energy is given by -

    -
    -
    -

    where A_cs is the Hamaker constant, a is the radius of the colloidal +(Everaers).

    +

    The colloid-solvent interaction energy is given by

    +_images/pair_colloid_cs.jpg +

    where A_cs is the Hamaker constant, a is the radius of the colloidal particle, and Rc is the cutoff. This formula is derived from the colloid-colloid interaction, letting one of the particle sizes go to -zero. -

    -

    The solvent-solvent interaction energy is given by the usual -Lennard-Jones formula -

    -
    -
    -

    with A_ss set appropriately, which results from letting both particle -sizes go to zero. -

    -

    When used in combination with pair_style -yukawa/colloid, the two terms become the so-called +zero.

    +

    The solvent-solvent interaction energy is given by the usual +Lennard-Jones formula

    +_images/pair_colloid_ss.jpg +

    with A_ss set appropriately, which results from letting both particle +sizes go to zero.

    +

    When used in combination with pair_style yukawa/colloid, the two terms become the so-called DLVO potential, which combines electrostatic repulsion and van der -Waals attraction. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +Waals attraction.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • A (energy units) -
    • sigma (distance units) -
    • d1 (distance units) -
    • d2 (distance units) -
    • cutoff (distance units) -
    -

    A is the Hamaker energy prefactor and should typically be set as -follows: -

    -
    • A_cc = colloid/colloid = 4 pi^2 = 39.5 -
    • A_cs = colloid/solvent = sqrt(A_cc*A_ss) -
    • A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) -
    -

    Sigma is the size of the solvent particle or the constituent particles +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • A (energy units)
    • +
    • sigma (distance units)
    • +
    • d1 (distance units)
    • +
    • d2 (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    A is the Hamaker energy prefactor and should typically be set as +follows:

    +
      +
    • A_cc = colloid/colloid = 4 pi^2 = 39.5
    • +
    • A_cs = colloid/solvent = sqrt(A_cc*A_ss)
    • +
    • A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4)
    • +
    +

    Sigma is the size of the solvent particle or the constituent particles integrated over in the colloidal particle and should typically be set -as follows: -

    -
    • Sigma_cc = colloid/colloid = 1.0 -
    • Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma -
    • Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is -
    -

    Thus typically Sigma_cs = 1.0, unless the solvent particle's size != -1.0. -

    -

    D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in -the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 -and d2 > 0, then the pair interacts via the colloid-colloid formula +as follows:

    +
      +
    • Sigma_cc = colloid/colloid = 1.0
    • +
    • Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma
    • +
    • Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is
    • +
    +

    Thus typically Sigma_cs = 1.0, unless the solvent particle’s size != +1.0.

    +

    D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in +the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 +and d2 > 0, then the pair interacts via the colloid-colloid formula above. If d1 = 0 and d2 = 0, then the pair interacts via the solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones particle of size sigma. If either d1 = 0 or d2 = 0 and the other is -larger, then the pair interacts via the colloid-solvent formula. -

    -

    Note that the diameter of a particular particle type may appear in +larger, then the pair interacts via the colloid-solvent formula.

    +

    Note that the diameter of a particular particle type may appear in multiple pair_coeff commands, as it interacts with other particle types. You should insure the particle diameter is specified -consistently each time it appears. -

    -

    The last coefficient is optional. If not specified, the global cutoff +consistently each time it appears.

    +

    The last coefficient is optional. If not specified, the global cutoff specified in the pair_style command is used. However, you typically want different cutoffs for interactions between different particle sizes. E.g. if colloidal particles of diameter 10 are used with @@ -119,95 +226,135 @@ solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 would correspond to a colloid-colloid cutoff of 25. A good rule-of-thumb is to use a colloid-solvent cutoff that is half the big diameter + 4 times the small diameter. I.e. 9 = 5 + 4 for the -colloid-solvent cutoff in this case. -

    -

    IMPORTANT NOTE: When using pair_style colloid for a mixture with 2 (or +colloid-solvent cutoff in this case.

    +
    +

    Warning

    +

    When using pair_style colloid for a mixture with 2 (or more) widely different particles sizes (e.g. sigma=10 colloids in a background sigam=1 LJ fluid), you will likely want to use these -commands for efficiency: neighbor multi and -comm_modify multi. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +commands for efficiency: neighbor multi and +comm_modify multi.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -geometric. See the "pair_modify" command for details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +geometric. See the “pair_modify” command for details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Normally, this pair style should be used with finite-size particles -which have a diameter, e.g. see the atom_style -sphere command. However, this is not a requirement, +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the COLLOID package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Normally, this pair style should be used with finite-size particles +which have a diameter, e.g. see the atom_style sphere command. However, this is not a requirement, since the only definition of particle size is via the pair_coeff parameters for each type. In other words, the physical radius of the particle is ignored. Thus you should insure that the d1,d2 parameters you specify are consistent with the physical size of the particles of -that type. -

    -

    Per-particle polydispersity is not yet supported by this pair style; -only per-type polydispersity is enabled via the pair_coeff parameters. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +that type.

    +

    Per-particle polydispersity is not yet supported by this pair style; +only per-type polydispersity is enabled via the pair_coeff parameters.

    +
    + + - -

    (Everaers) Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_comb.html b/doc/pair_comb.html index 3812b25920..520ce6c21f 100644 --- a/doc/pair_comb.html +++ b/doc/pair_comb.html @@ -1,204 +1,352 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style comb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style comb command -

    -

    pair_style comb/omp command -

    -

    pair_style comb3 command -

    -

    Syntax: -

    -
    pair_style comb
    -pair_style comb3 keyword 
    -
    -
    keyword = polar
    -  polar value = polar_on or polar_off = whether or not to include atomic polarization 
    -
    - - -

    Examples: -

    -
    pair_style comb
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style comb command¶

    +
    +
    +

    pair_style comb/omp command¶

    +
    +
    +

    pair_style comb3 command¶

    +
    +

    Syntax¶

    +
    pair_style comb
    +pair_style comb3 keyword
    +
    +
    +
    +keyword = polar
    +  polar value = polar_on or polar_off = whether or not to include atomic polarization
    +
    +
    +
    +

    Examples¶

    +
    pair_style comb
     pair_coeff * * ../potentials/ffield.comb Si
    -pair_coeff * * ../potentials/ffield.comb Hf Si O 
    -
    -
    pair_style comb3 polar_off
    -pair_coeff * * ../potentials/ffield.comb3 O Cu N C O 
    -
    -

    Description: -

    -

    Style comb computes the second-generation variable charge COMB -(Charge-Optimized Many-Body) potential. Style comb3 computes the +pair_coeff * * ../potentials/ffield.comb Hf Si O +

    + +
    pair_style comb3 polar_off
    +pair_coeff * * ../potentials/ffield.comb3 O Cu N C O
    +
    +
    + +
    +

    Description¶

    +

    Style comb computes the second-generation variable charge COMB +(Charge-Optimized Many-Body) potential. Style comb3 computes the third-generation COMB potential. These COMB potentials are described -in (COMB) and (COMB3). Briefly, the total energy -ET of a system of atoms is given by -

    -
    -
    -

    where Eiself is the self-energy of atom i +in (COMB) and (COMB3). Briefly, the total energy +E<sub>T</sub> of a system of atoms is given by

    +_images/pair_comb1.jpg +

    where E<sub>i</sub><sup>self</sup> is the self-energy of atom i (including atomic ionization energies and electron affinities), -Eijshort is the bond-order potential between -atoms i and j, -EijCoul is the Coulomb interactions, -Epolar is the polarization term for organic systems -(style comb3 only), -EvdW is the van der Waals energy (style comb3 only), -Ebarr is a charge barrier function, and -Ecorr are angular correction terms. -

    -

    The COMB potentials (styles comb and comb3) are variable charge +E<sub>ij</sub><sup>short</sup> is the bond-order potential between +atoms i and j, +E<sub>ij</sub><sup>Coul</sup> is the Coulomb interactions, +E<sup>polar</sup> is the polarization term for organic systems +(style comb3 only), +E<sup>vdW</sup> is the van der Waals energy (style comb3 only), +E<sup>barr</sup> is a charge barrier function, and +E<sup>corr</sup> are angular correction terms.

    +

    The COMB potentials (styles comb and comb3) are variable charge potentials. The equilibrium charge on each atom is calculated by the -electronegativity equalization (QEq) method. See Rick for -further details. This is implemented by the fix -qeq/comb command, which should normally be +electronegativity equalization (QEq) method. See Rick for +further details. This is implemented by the fix qeq/comb command, which should normally be specified in the input script when running a model with the COMB -potential. The fix qeq/comb command has options +potential. The fix qeq/comb command has options that determine how often charge equilibration is performed, its convergence criterion, and which atoms are included in the -calculation. -

    -

    Only a single pair_coeff command is used with the comb and comb3 +calculation.

    +

    Only a single pair_coeff command is used with the comb and comb3 styles which specifies the COMB potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the potential file in the pair_coeff -command, where N is the number of LAMMPS atom types. -

    -

    For example, if your LAMMPS simulation of a Si/SiO2/ -HfO2 interface has 4 atom types, and you want the 1st and +command, where N is the number of LAMMPS atom types.

    +

    For example, if your LAMMPS simulation of a Si/SiO<sub>2</sub>/ +HfO<sub>2</sub> interface has 4 atom types, and you want the 1st and last to be Si, the 2nd to be Hf, and the 3rd to be O, and you would -use the following pair_coeff command: -

    -
    pair_coeff * * ../potentials/ffield.comb Si Hf O Si 
    -
    -

    The first two arguments must be * * so as to span all LAMMPS atom +use the following pair_coeff command:

    +
    pair_coeff * * ../potentials/ffield.comb Si Hf O Si
    +
    +
    +

    The first two arguments must be * * so as to span all LAMMPS atom types. The first and last Si arguments map LAMMPS atom types 1 and 4 -to the Si element in the ffield.comb file. The second Hf argument +to the Si element in the ffield.comb file. The second Hf argument maps LAMMPS atom type 2 to the Hf element, and the third O argument maps LAMMPS atom type 3 to the O element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. -This can be used when a comb potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    For style comb, the provided potential file ffield.comb contains +This can be used when a comb potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    For style comb, the provided potential file ffield.comb contains all currently-available 2nd generation COMB parameterizations: for Si, Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals. For style -comb3, the potential file ffield.comb3 contains all +comb3, the potential file ffield.comb3 contains all currently-available 3rd generation COMB paramterizations: O, Cu, N, C, H, Ti, Zn and Zr. The status of the optimization of the compounds, for -example Cu2O, TiN and hydrocarbons, are given in the -following table: -

    -
    -
    -

    For style comb3, in addition to ffield.comb3, a special parameter -file, lib.comb3, that is exclusively used for C/O/H systems, will be +example Cu<sub>2</sub>O, TiN and hydrocarbons, are given in the +following table:

    +_images/pair_comb2.jpg +

    For style comb3, in addition to ffield.comb3, a special parameter +file, lib.comb3, that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the directory pointed to by the environment variable LAMMPS_POTENTIALS, as -described on the pair_coeff command doc page. -

    -

    Keyword polar indicates whether the force field includes +described on the pair_coeff command doc page.

    +

    Keyword polar indicates whether the force field includes the atomic polarization. Since the equilibration of the polarization -has not yet been implemented, it can only set polar_off at present. -

    -

    IMPORTANT NOTE: You can not use potential file ffield.comb with -style comb3, nor file ffield.comb3 with style comb. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +has not yet been implemented, it can only set polar_off at present.

    +
    +

    Warning

    +

    You can not use potential file ffield.comb with +style comb3, nor file ffield.comb3 with style comb.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. -

    -

    These pair styles does not support the pair_modify -shift, table, and tail options. -

    -

    These pair styles do not write its information to binary restart -files, since it is stored in potential files. Thus, you -need to re-specify the pair_style, pair_coeff, and fix -qeq/comb commands 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 command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    These pair styles are part of the MANYBODY package. It is only enabled +described above from values in the potential file.

    +

    These pair styles does not support the pair_modify +shift, table, and tail options.

    +

    These pair styles do not write its information to binary restart files, since it is stored in potential files. Thus, you +need to re-specify the pair_style, pair_coeff, and fix qeq/comb commands 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 command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    These pair styles requires the newton setting to be "on" -for pair interactions. -

    -

    The COMB potentials in the ffield.comb and ffield.comb3 files provided +the Making LAMMPS section for more info.

    +

    These pair styles requires the newton setting to be “on” +for pair interactions.

    +

    The COMB potentials in the ffield.comb and ffield.comb3 files provided with LAMMPS (see the potentials directory) are parameterized for metal -units. You can use the COMB potential with any LAMMPS +units. You can use the COMB potential with any LAMMPS units, but you would need to create your own COMB potential file with coefficients listed in the appropriate units if your simulation -doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_style, pair_coeff, -fix_qeq/comb -

    -

    Default: none -

    -
    +doesn’t use “metal” units.

    +
    + + - -

    (COMB) T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and -S. R. Phillpot, Phys. Rev. B 81, 125328 (2010) -

    - + + +
    + -

    (COMB3) T. Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, -Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, -255-279 (2013). -

    - +
    -

    (Rick) S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 -(1994). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_coul.html b/doc/pair_coul.html index db95f8848a..fb7c01869d 100644 --- a/doc/pair_coul.html +++ b/doc/pair_coul.html @@ -1,373 +1,533 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style coul/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style coul/cut command -

    -

    pair_style coul/cut/gpu command -

    -

    pair_style coul/cut/kk command -

    -

    pair_style coul/cut/omp command -

    -

    pair_style coul/debye command -

    -

    pair_style coul/debye/gpu command -

    -

    pair_style coul/debye/kk command -

    -

    pair_style coul/debye/omp command -

    -

    pair_style coul/dsf command -

    -

    pair_style coul/dsf/gpu command -

    -

    pair_style coul/dsf/kk command -

    -

    pair_style coul/dsf/omp command -

    -

    pair_style coul/long command -

    -

    pair_style coul/long/cs command -

    -

    pair_style coul/long/omp command -

    -

    pair_style coul/long/gpu command -

    -

    pair_style coul/long/kk command -

    -

    pair_style coul/msm command -

    -

    pair_style coul/msm/omp command -

    -

    pair_style coul/streitz command -

    -

    pair_style coul/wolf command -

    -

    pair_style coul/wolf/kk command -

    -

    pair_style coul/wolf/omp command -

    -

    pair_style tip4p/cut command -

    -

    pair_style tip4p/long command -

    -

    pair_style tip4p/cut/omp command -

    -

    pair_style tip4p/long/omp command -

    -

    Syntax: -

    -
    pair_style coul/cut cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style coul/cut command¶

    +
    +
    +

    pair_style coul/cut/gpu command¶

    +
    +
    +

    pair_style coul/cut/kk command¶

    +
    +
    +

    pair_style coul/cut/omp command¶

    +
    +
    +

    pair_style coul/debye command¶

    +
    +
    +

    pair_style coul/debye/gpu command¶

    +
    +
    +

    pair_style coul/debye/kk command¶

    +
    +
    +

    pair_style coul/debye/omp command¶

    +
    +
    +

    pair_style coul/dsf command¶

    +
    +
    +

    pair_style coul/dsf/gpu command¶

    +
    +
    +

    pair_style coul/dsf/kk command¶

    +
    +
    +

    pair_style coul/dsf/omp command¶

    +
    +
    +

    pair_style coul/long command¶

    +
    +
    +

    pair_style coul/long/cs command¶

    +
    +
    +

    pair_style coul/long/omp command¶

    +
    +
    +

    pair_style coul/long/gpu command¶

    +
    +
    +

    pair_style coul/long/kk command¶

    +
    +
    +

    pair_style coul/msm command¶

    +
    +
    +

    pair_style coul/msm/omp command¶

    +
    +
    +

    pair_style coul/streitz command¶

    +
    +
    +

    pair_style coul/wolf command¶

    +
    +
    +

    pair_style coul/wolf/kk command¶

    +
    +
    +

    pair_style coul/wolf/omp command¶

    +
    +
    +

    pair_style tip4p/cut command¶

    +
    +
    +

    pair_style tip4p/long command¶

    +
    +
    +

    pair_style tip4p/cut/omp command¶

    +
    +
    +

    pair_style tip4p/long/omp command¶

    +
    +

    Syntax¶

    +
    pair_style coul/cut cutoff
     pair_style coul/debye kappa cutoff
     pair_style coul/dsf alpha cutoff
     pair_style coul/long cutoff
     pair_style coul/long/cs cutoff
    -pair_style coul/long/gpu cutoff 
    +pair_style coul/long/gpu cutoff
     pair_style coul/wolf alpha cutoff
     pair_style coul/streitz cutoff keyword alpha
     pair_style tip4p/cut otype htype btype atype qdist cutoff
    -pair_style tip4p/long otype htype btype atype qdist cutoff 
    -
    -
    • cutoff = global cutoff for Coulombic interactions -
    • kappa = Debye length (inverse distance units) -
    • alpha = damping parameter (inverse distance units) -
    -

    Examples: -

    -
    pair_style coul/cut 2.5
    +pair_style tip4p/long otype htype btype atype qdist cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for Coulombic interactions
    • +
    • kappa = Debye length (inverse distance units)
    • +
    • alpha = damping parameter (inverse distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style coul/cut 2.5
     pair_coeff * *
    -pair_coeff 2 2 3.5 
    -
    -
    pair_style coul/debye 1.4 3.0
    +pair_coeff 2 2 3.5
    +
    +
    +
    pair_style coul/debye 1.4 3.0
     pair_coeff * *
    -pair_coeff 2 2 3.5 
    -
    -
    pair_style coul/dsf 0.05 10.0
    -pair_coeff * * 
    -
    -
    pair_style coul/long 10.0
    +pair_coeff 2 2 3.5
    +
    +
    +
    pair_style coul/dsf 0.05 10.0
    +pair_coeff * *
    +
    +
    +
    pair_style coul/long 10.0
     pair_style coul/long/cs 10.0
    -pair_coeff * * 
    -
    -
    pair_style coul/msm 10.0
    -pair_coeff * * 
    -
    -
    pair_style coul/wolf 0.2 9.0
    -pair_coeff * * 
    -
    -
    pair_style coul/streitz 12.0 ewald
    +pair_coeff * *
    +
    +
    +
    pair_style coul/msm 10.0
    +pair_coeff * *
    +
    +
    +
    pair_style coul/wolf 0.2 9.0
    +pair_coeff * *
    +
    +
    +
    pair_style coul/streitz 12.0 ewald
     pair_style coul/streitz 12.0 wolf 0.30
    -pair_coeff * * AlO.streitz Al O 
    -
    -
    pair_style tip4p/cut 1 2 7 8 0.15 12.0
    -pair_coeff * * 
    -
    -
    pair_style tip4p/long 1 2 7 8 0.15 10.0
    -pair_coeff * * 
    -
    -

    Description: -

    -

    The coul/cut style computes the standard Coulombic interaction -potential given by -

    -
    -
    -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff * * AlO.streitz Al O +

    + +
    pair_style tip4p/cut 1 2 7 8 0.15 12.0
    +pair_coeff * *
    +
    +
    +
    pair_style tip4p/long 1 2 7 8 0.15 10.0
    +pair_coeff * *
    +
    +
    + +
    +

    Description¶

    +

    The coul/cut style computes the standard Coulombic interaction +potential given by

    +_images/pair_coulomb.jpg +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. The cutoff Rc truncates -the interaction distance. -

    -
    - -

    Style coul/debye adds an additional exp() damping factor to the -Coulombic term, given by -

    -
    -
    -

    where kappa is the Debye length. This potential is another way to -mimic the screening effect of a polar solvent. -

    -
    - -

    Style coul/dsf computes Coulombic interactions via the damped -shifted force model described in Fennell, given by: -

    -
    -
    -

    where alpha is the damping parameter and erfc() is the +by the dielectric command. The cutoff Rc truncates +the interaction distance.

    +
    +

    Style coul/debye adds an additional exp() damping factor to the +Coulombic term, given by

    +_images/pair_debye.jpg +

    where kappa is the Debye length. This potential is another way to +mimic the screening effect of a polar solvent.

    +
    +

    Style coul/dsf computes Coulombic interactions via the damped +shifted force model described in Fennell, given by:

    +_images/pair_coul_dsf.jpg +

    where alpha is the damping parameter and erfc() is the complementary error-function. The potential corrects issues in the Wolf model (described below) to provide consistent forces and energies (the Wolf potential is not differentiable at the cutoff) and smooth -decay to zero. -

    -
    - -

    Style coul/wolf computes Coulombic interactions via the Wolf -summation method, described in Wolf, given by: -

    -
    -
    -

    where alpha is the damping parameter, and erc() and erfc() are +decay to zero.

    +
    +

    Style coul/wolf computes Coulombic interactions via the Wolf +summation method, described in Wolf, given by:

    +_images/pair_coul_wolf.jpg +

    where alpha is the damping parameter, and erc() and erfc() are error-fuction and complementary error-function terms. This potential is essentially a short-range, spherically-truncated, -charge-neutralized, shifted, pairwise 1/r summation. With a +charge-neutralized, shifted, pairwise 1/r summation. With a manipulation of adding and substracting a self term (for i = j) to the first and second term on the right-hand-side, respectively, and a -small enough alpha damping parameter, the second term shrinks and +small enough alpha damping parameter, the second term shrinks and the potential becomes a rapidly-converging real-space summation. With a long enough cutoff and small enough alpha parameter, the energy and forces calcluated by the Wolf summation method approach those of the Ewald sum. So it is a means of getting effective long-range -interactions with a short-range potential. -

    -
    - -

    Style coul/streitz is the Coulomb pair interaction defined as part -of the Streitz-Mintmire potential, as described in this -paper, in which charge distribution about an atom is modeled -as a Slater 1s orbital. More details can be found in the referenced +interactions with a short-range potential.

    +
    +

    Style coul/streitz is the Coulomb pair interaction defined as part +of the Streitz-Mintmire potential, as described in this paper, in which charge distribution about an atom is modeled +as a Slater 1*s* orbital. More details can be found in the referenced paper. To fully reproduce the published Streitz-Mintmire potential, -which is a variable charge potential, style coul/streitz must be -used with pair_style eam/alloy (or some other +which is a variable charge potential, style coul/streitz must be +used with pair_style eam/alloy (or some other short-range potential that has been parameterized appropriately) via -the pair_style hybrid/overlay command. Likewise, -charge equilibration must be performed via the fix -qeq/slater command. For example: -

    -
    pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy
    +the pair_style hybrid/overlay command.  Likewise,
    +charge equilibration must be performed via the fix qeq/slater command. For example:

    +
    pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy
     pair_coeff * * coul/streitz AlO.streitz Al O
     pair_coeff * * eam/alloy AlO.eam.alloy Al O
    -fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz 
    -
    -

    The keyword wolf in the coul/streitz command denotes computing +fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz +

    + +

    The keyword wolf in the coul/streitz command denotes computing Coulombic interactions via Wolf summation. An additional damping parameter is required for the Wolf summation, as described for the coul/wolf potential above. Alternatively, Coulombic interactions can -be computed via an Ewald summation. For example: -

    -
    pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy
    -kspace_style ewald 1e-6 
    -
    -

    Keyword ewald does not need a damping parameter, but a -kspace_style must be defined, which can be style -ewald or pppm. The Ewald method was used in Streitz and -Mintmire's original paper, but a Wolf summation offers a speed-up in -some cases. -

    -

    For the fix qeq/slater command, the qfile can be a filename that -contains QEq parameters as discussed on the fix qeq -command doc page. Alternatively qfile can be replaced by -"coul/streitz", in which case the fix will extract QEq parameters from -the coul/streitz pair style itself. -

    -

    See the examples/strietz directory for an example input script that +be computed via an Ewald summation. For example:

    +
    pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy
    +kspace_style ewald 1e-6
    +
    +
    +

    Keyword ewald does not need a damping parameter, but a +kspace_style must be defined, which can be style +ewald or pppm. The Ewald method was used in Streitz and +Mintmire’s original paper, but a Wolf summation offers a speed-up in +some cases.

    +

    For the fix qeq/slater command, the qfile can be a filename that +contains QEq parameters as discussed on the fix qeq +command doc page. Alternatively qfile can be replaced by +“coul/streitz”, in which case the fix will extract QEq parameters from +the coul/streitz pair style itself.

    +

    See the examples/strietz directory for an example input script that uses the Streitz-Mintmire potential. The potentials directory has the -AlO.eam.alloy and AlO.streitz potential files used by the example. -

    -

    Note that the Streiz-Mintmire potential is generally used for oxides, +AlO.eam.alloy and AlO.streitz potential files used by the example.

    +

    Note that the Streiz-Mintmire potential is generally used for oxides, but there is no conceptual problem with extending it to nitrides and carbides (such as SiC, TiN). Pair coul/strietz used by itself or with any other pair style such as EAM, MEAM, Tersoff, or LJ in hybrid/overlay mode. To do this, you would need to provide a -Streitz-Mintmire parameterizaion for the material being modeled. -

    -
    - -

    Styles coul/long and coul/msm compute the same Coulombic -interactions as style coul/cut except that an additional damping +Streitz-Mintmire parameterizaion for the material being modeled.

    +
    +

    Styles coul/long and coul/msm compute the same Coulombic +interactions as style coul/cut except that an additional damping factor is applied so it can be used in conjunction with the -kspace_style command and its ewald or pppm +kspace_style command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. -

    -

    Style coul/long/cs is identical to coul/long except that a term is -added for the core/shell model to allow -charges on core and shell particles to be separated by r = 0.0. -

    -

    Styles tip4p/cut and tip4p/long implement the coulomb part of -the TIP4P water model of (Jorgensen), which introduces +interactions outside that distance are computed in reciprocal space.

    +

    Style coul/long/cs is identical to coul/long except that a term is +added for the core/shell model to allow +charges on core and shell particles to be separated by r = 0.0.

    +

    Styles tip4p/cut and tip4p/long implement the coulomb part of +the TIP4P water model of (Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair_style arguments. Style tip4p/cut uses a global cutoff for -Coulomb interactions; style tip4p/long is for use with a long-range -Coulombic solver (Ewald or PPPM). -

    -

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom +pair_style arguments. Style tip4p/cut uses a global cutoff for +Coulomb interactions; style tip4p/long is for use with a long-range +Coulombic solver (Ewald or PPPM).

    +
    +

    Warning

    +

    For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to "find" the 2 H atoms associated +first. This is to enable LAMMPS to “find” the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -

    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    +
    +

    See the howto section for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. -

    -
    - -

    Note that these potentials are designed to be combined with other pair -potentials via the pair_style hybrid/overlay +test the trade-off for your model.

    +
    +

    Note that these potentials are designed to be combined with other pair +potentials via the pair_style hybrid/overlay command. This is because they have no repulsive core. Hence if they are used by themselves, there will be no repulsion to keep two oppositely charged particles from moving arbitrarily close to each -other. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +other.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutoff (distance units) -
    -

    For coul/cut and coul/debye, the cutoff coefficient is optional. +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutoff (distance units)
    • +
    +

    For coul/cut and coul/debye, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default -global value specified in the pair_style command is used. -

    -

    For coul/long and coul/msm no cutoff can be specified for an +global value specified in the pair_style command is used.

    +

    For coul/long and coul/msm no cutoff can be specified for an individual I,J type pair via the pair_coeff command. All type pairs use the same global Coulombic cutoff specified in the pair_style -command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the cutoff distance for the -coul/cut style can be mixed. The default mix value is geometric. -See the "pair_modify" command for details. -

    -

    The pair_modify shift option is not relevant -for these pair styles. -

    -

    The coul/long style supports the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the cutoff distance for the +coul/cut style can be mixed. The default mix value is geometric. +See the “pair_modify” command for details.

    +

    The pair_modify shift option is not relevant +for these pair styles.

    +

    The coul/long style supports the pair_modify table option for tabulation of the short-range portion of the -long-range Coulombic interaction. -

    -

    These pair styles do not support the pair_modify +long-range Coulombic interaction.

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    These pair styles write their information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    The coul/long, coul/msm and tip4p/long styles are part of the -KSPACE package. The coul/long/cs style is part of the CORESHELL +pressure.

    +

    These pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +
    +

    Restrictions¶

    +

    The coul/long, coul/msm and tip4p/long styles are part of the +KSPACE package. The coul/long/cs style is part of the CORESHELL package. They are only enabled if LAMMPS was built with that package -(which it is by default). See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style, -hybrid/overlay, kspace_style -

    -

    Default: none -

    -
    +(which it is by default). See the Making LAMMPS section for more info.

    +
    + + - -

    (Wolf) D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem -Phys, 110, 8254 (1999). -

    - + + +
    + -

    (Fennell) C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, -234104 (2006). -

    - +
    -

    (Streitz) F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003 -(1994). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_coul_diel.html b/doc/pair_coul_diel.html index a5f97bce47..589c236164 100644 --- a/doc/pair_coul_diel.html +++ b/doc/pair_coul_diel.html @@ -1,120 +1,280 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style coul/diel command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style coul/diel command -

    -

    pair_style coul/diel/omp command -

    -

    Syntax: -

    -
    pair_style coul/diel cutoff 
    -
    -

    cutoff = global cutoff (distance units) -

    -

    Examples: -

    -
    pair_style coul/diel 3.5
    -pair_coeff 1 4 78. 1.375 0.112 
    -
    -

    Description: -

    -

    Style coul/diel computes a Coulomb correction for implict solvent + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style coul/diel command¶

    +
    +
    +

    pair_style coul/diel/omp command¶

    +
    +

    Syntax¶

    +
    pair_style coul/diel cutoff
    +
    +
    +

    cutoff = global cutoff (distance units)

    +
    +
    +

    Examples¶

    +
    pair_style coul/diel 3.5
    +pair_coeff 1 4 78. 1.375 0.112
    +
    +
    +
    +
    +

    Description¶

    +

    Style coul/diel computes a Coulomb correction for implict solvent ion interactions in which the dielectric perimittivity is distance dependent. -The dielectric permittivity epsilon_D(r) connects to limiting regimes: +The dielectric permittivity epsilon_D(r) connects to limiting regimes: One limit is defined by a small dielectric permittivity (close to vacuum) at or close to contact seperation between the ions. At larger separations the dielectric permittivity reaches a bulk value used in the regular Coulomb interaction coul/long or coul/cut. The transition is modeled by a hyperbolic function which is incorporated -in the Coulomb correction term for small ion separations as follows -

    -
    -
    -

    where r_me is the inflection point of epsilon_D(r) and sigma_e is a slope +in the Coulomb correction term for small ion separations as follows

    +_images/pair_coul_diel.jpg +

    where r_me is the inflection point of epsilon_D(r) and sigma_e is a slope defining length scale. C is the same Coulomb conversion factor as in the pair_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb -interaction between ions is corrected at small distances r. The lower -limit of epsilon_D(r->0)=5.2 due to dielectric saturation (Stiles) -while the Coulomb interaction reaches its bulk limit by setting -epsilon_D(r->\infty)=epsilon, the bulk value of the solvent which is 78 -for water at 298K. -

    -

    Examples of the use of this type of Coulomb interaction include implicit -solvent simulations of salt ions -(Lenart) and of ionic surfactants (Jusufi). +interaction between ions is corrected at small distances r. The lower +limit of epsilon_D(r->0)=5.2 due to dielectric saturation (Stiles) +while the Coulomb interaction reaches its bulk limit by setting +epsilon_D(r->infty)=epsilon, the bulk value of the solvent which is 78 +for water at 298K.

    +

    Examples of the use of this type of Coulomb interaction include implicit +solvent simulations of salt ions +(Lenart) and of ionic surfactants (Jusufi). Note that this potential is only reasonable for implicit solvent simulations and in combiantion with coul/cut or coul/long. It is also usually combined -with gauss/cut, see (Lenart) or (Jusufi). -

    -

    The following coefficients must be defined for each pair of atom -types via the pair_coeff command as in the example +with gauss/cut, see (Lenart) or (Jusufi).

    +

    The following coefficients must be defined for each pair of atom +types via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • epsilon (no units) -
    • r_me (distance units) -
    • sigma_e (distance units) -
    -

    The global cutoff (r_c) specified in the pair_style command is used. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs. -

    -

    This pair style supports the pair_modify shift +read_data or read_restart +commands:

    +
      +
    • epsilon (no units)
    • +
    • r_me (distance units)
    • +
    • sigma_e (distance units)
    • +
    +

    The global cutoff (r_c) specified in the pair_style command is used.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs.

    +

    This pair style supports the pair_modify shift option for the energy of the Gauss-potential portion of the pair -interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    This style is part of the "user-misc" package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff -pair_style gauss/cut -

    -

    Default: none -

    -
    +pressure.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This style is part of the “user-misc” package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    - -

    (Stiles) Stiles , Hubbard, and Kayser, J Chem Phys, 77, -6189 (1982). -

    - +
    +
    +
    + -

    (Lenart) Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, -044509 (2007). -

    - +
    -

    (Jusufi) Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, -13783 (2008). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_cs.html b/doc/pair_cs.html index 8cc7b4f091..247773cd8f 100644 --- a/doc/pair_cs.html +++ b/doc/pair_cs.html @@ -1,91 +1,266 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style born/coul/long/cs command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style born/coul/long/cs command -

    -

    pair_style buck/coul/long/cs command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = born/coul/long/cs or buck/coul/long/cs -
    • args = list of arguments for a particular style -
    -
      born/coul/long/cs args = cutoff (cutoff2)
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style born/coul/long/cs command¶

    +
    +
    +

    pair_style buck/coul/long/cs command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = born/coul/long/cs or buck/coul/long/cs
    • +
    • args = list of arguments for a particular style
    • +
    +
    +born/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long/cs args = cutoff (cutoff2)
    +  buck/coul/long/cs args = cutoff (cutoff2)
         cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style born/coul/long/cs 10.0 8.0
    -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 
    -
    -
    pair_style buck/coul/long/cs 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style born/coul/long/cs 10.0 8.0
    +pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51
    +
    +
    +
    pair_style buck/coul/long/cs 10.0
     pair_style buck/coul/long/cs 10.0 8.0
     pair_coeff * * 100.0 1.5 200.0
    -pair_coeff 1 1 100.0 1.5 200.0 9.0 
    -
    -

    Description: -

    -

    These pair styles are designed to be used with the adiabatic -core/shell model of (Mitchell and Finchham). See -Section_howto 25 of the manual for an -overview of the model as implemented in LAMMPS. -

    -

    These pair styles are identical to the pair_style -born/coul/long and pair_style -buck/coul/long styles, except they correctly treat the +pair_coeff 1 1 100.0 1.5 200.0 9.0 +

    + + +
    +

    Description¶

    +

    These pair styles are designed to be used with the adiabatic +core/shell model of (Mitchell and Finchham). See +Section_howto 25 of the manual for an +overview of the model as implemented in LAMMPS.

    +

    These pair styles are identical to the pair_style born/coul/long and pair_style buck/coul/long styles, except they correctly treat the special case where the distance between two charged core and shell atoms in the same core/shell pair approach r = 0.0. This needs special treatment when a long-range solver for Coulombic interactions -is also used, i.e. via the kspace_style command. -

    -

    More specifically, the short-range Coulomb interaction between a core +is also used, i.e. via the kspace_style command.

    +

    More specifically, the short-range Coulomb interaction between a core and its shell should be turned off using the -special_bonds command by setting the 1-2 weight +special_bonds command by setting the 1-2 weight to 0.0, which works because the core and shell atoms are bonded to each other. This induces a long-range correction approximation which -fails at small distances (~< 10e-8). Therefore, the Coulomb term which +fails at small distances (~< 10e-8). Therefore, the Coulomb term which is used to calculate the correction factor is extended by a minimal distance (r_min = 1.0-6) when the interaction between a core/shell -pair is treated, as follows -

    -
    -
    -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair is treated, as follows

    +_images/pair_cs.jpg +

    where C is an energy-conversion constant, Qi and Qj are the charges on the core and shell, epsilon is the dielectric constant and r_min is the -minimal distance. -

    -

    Restrictions: -

    -

    These pair styles are part of the CORESHELL package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style born, -pair_style buck -

    -

    Default: none -

    -
    +minimal distance.

    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the CORESHELL package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_dipole.html b/doc/pair_dipole.html index 6bce1d0def..20e689001a 100644 --- a/doc/pair_dipole.html +++ b/doc/pair_dipole.html @@ -1,286 +1,425 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/cut/dipole/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/cut/dipole/cut command -

    -

    pair_style lj/cut/dipole/cut/gpu command -

    -

    pair_style lj/cut/dipole/cut/omp command -

    -

    pair_style lj/sf/dipole/sf command -

    -

    pair_style lj/sf/dipole/sf/gpu command -

    -

    pair_style lj/sf/dipole/sf/omp command -

    -

    pair_style lj/cut/dipole/long command -

    -

    pair_style lj/long/dipole/long command -

    -

    Syntax: -

    -
    pair_style lj/cut/dipole/cut cutoff (cutoff2)
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/cut/dipole/cut command¶

    +
    +
    +

    pair_style lj/cut/dipole/cut/gpu command¶

    +
    +
    +

    pair_style lj/cut/dipole/cut/omp command¶

    +
    +
    +

    pair_style lj/sf/dipole/sf command¶

    +
    +
    +

    pair_style lj/sf/dipole/sf/gpu command¶

    +
    +
    +

    pair_style lj/sf/dipole/sf/omp command¶

    +
    +
    +

    pair_style lj/cut/dipole/long command¶

    +
    +
    +

    pair_style lj/long/dipole/long command¶

    +
    +

    Syntax¶

    +
    pair_style lj/cut/dipole/cut cutoff (cutoff2)
     pair_style lj/sf/dipole/sf cutoff (cutoff2)
     pair_style lj/cut/dipole/long cutoff (cutoff2)
    -pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) 
    -
    -
    • cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) - -
    • cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) - -
    • flag_lj = long or cut or off - -
        long = use long-range damping on dispersion 1/r^6 term
      -  cut = use a cutoff on dispersion 1/r^6 term
      -  off = omit disperion 1/r^6 term entirely 
      -
      -
    • flag_coul = long or off - -
        long = use long-range damping on Coulombic 1/r and point-dipole terms
      -  off = omit Coulombic and point-dipole terms entirely 
      -
      - -
    -

    Examples: -

    -
    pair_style lj/cut/dipole/cut 10.0
    -pair_coeff * * 1.0 1.0 
    -pair_coeff 2 3 1.0 1.0 2.5 4.0 
    -
    -
    pair_style lj/sf/dipole/sf 9.0
    -pair_coeff * * 1.0 1.0 
    -pair_coeff 2 3 1.0 1.0 2.5 4.0 
    -
    -
    pair_style lj/cut/dipole/long 10.0
    -pair_coeff * * 1.0 1.0 
    -pair_coeff 2 3 1.0 1.0 2.5 4.0 
    -
    -
    pair_style lj/long/dipole/long long long 3.5 10.0
    -pair_coeff * * 1.0 1.0 
    -pair_coeff 2 3 1.0 1.0 2.5 4.0 
    -
    -

    Description: -

    -

    Style lj/cut/dipole/cut computes interactions between pairs of particles +pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) +

    + +
      +
    • cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units)
    • +
    • cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units)
    • +
    • flag_lj = long or cut or off
    • +
    +
    +long = use long-range damping on dispersion 1/r^6 term
    +  cut = use a cutoff on dispersion 1/r^6 term
    +  off = omit disperion 1/r^6 term entirely
    +
    +
      +
    • flag_coul = long or off
    • +
    +
    +long = use long-range damping on Coulombic 1/r and point-dipole terms
    +  off = omit Coulombic and point-dipole terms entirely
    +
    + +
    +

    Examples¶

    +
    pair_style lj/cut/dipole/cut 10.0
    +pair_coeff * * 1.0 1.0
    +pair_coeff 2 3 1.0 1.0 2.5 4.0
    +
    +
    +
    pair_style lj/sf/dipole/sf 9.0
    +pair_coeff * * 1.0 1.0
    +pair_coeff 2 3 1.0 1.0 2.5 4.0
    +
    +
    +
    pair_style lj/cut/dipole/long 10.0
    +pair_coeff * * 1.0 1.0
    +pair_coeff 2 3 1.0 1.0 2.5 4.0
    +
    +
    +
    pair_style lj/long/dipole/long long long 3.5 10.0
    +pair_coeff * * 1.0 1.0
    +pair_coeff 2 3 1.0 1.0 2.5 4.0
    +
    +
    +
    +
    +

    Description¶

    +

    Style lj/cut/dipole/cut computes interactions between pairs of particles that each have a charge and/or a point dipole moment. In addition to the usual Lennard-Jones interaction between the particles (Elj) the charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J. -

    -
    -
    -

    where qi and qj are the charges on the two particles, pi and pj are +(F), and torque (T) between particles I and J.

    +_images/pair_dipole.jpg +

    where qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. These formulas are discussed in -(Allen) and in (Toukmaji). -

    -

    Style lj/sf/dipole/sf computes "shifted-force" interactions between +(Allen) and in (Toukmaji).

    +

    Style lj/sf/dipole/sf computes “shifted-force” interactions between pairs of particles that each have a charge and/or a point dipole moment. In general, a shifted-force potential is a (sligthly) modified potential containing extra terms that make both the energy and its derivative go to zero at the cutoff distance; this removes (cutoff-related) problems in energy conservation and any numerical -instability in the equations of motion (Allen). Shifted-force +instability in the equations of motion (Allen). Shifted-force interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) potentials are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J: -

    -
    -
    -
    -
    -

    where epsilon and sigma are the standard LJ parameters, r_c is the +(F), and torque (T) between particles I and J:

    +_images/pair_dipole_sf.jpg +_images/pair_dipole_sf2.jpg +

    where epsilon and sigma are the standard LJ parameters, r_c is the cutoff, qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. The shifted-force formula for the -Lennard-Jones potential is reported in (Stoddard). The +Lennard-Jones potential is reported in (Stoddard). The original (unshifted) formulas for the electrostatic potentials, forces -and torques can be found in (Price). The shifted-force +and torques can be found in (Price). The shifted-force electrostatic potentials have been obtained by applying equation 5.13 -of (Allen). The formulas for the corresponding forces and -torques have been obtained by applying the 'chain rule' as in appendix -C.3 of (Allen). -

    -

    If one cutoff is specified in the pair_style command, it is used for +of (Allen). The formulas for the corresponding forces and +torques have been obtained by applying the ‘chain rule’ as in appendix +C.3 of (Allen).

    +

    If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms -respectively. -

    -

    Style lj/cut/dipole/long computes long-range point-dipole -interactions as discussed in (Toukmaji). Dipole-dipole, +respectively.

    +

    Style lj/cut/dipole/long computes long-range point-dipole +interactions as discussed in (Toukmaji). Dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions, which are computed -with a cutoff. A kspace_style must be defined to -use this pair style. Currently, only kspace_style -ewald/disp support long-range point-dipole -interactions. -

    -

    Style lj/long/dipole/long also computes point-dipole interactions as -discussed in (Toukmaji). Long-range dipole-dipole, +with a cutoff. A kspace_style must be defined to +use this pair style. Currently, only kspace_style ewald/disp support long-range point-dipole +interactions.

    +

    Style lj/long/dipole/long also computes point-dipole interactions as +discussed in (Toukmaji). Long-range dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions -can be cutoff or long-ranged. -

    -

    For style lj/long/dipole/long, if flag_lj is set to long, no +can be cutoff or long-ranged.

    +

    For style lj/long/dipole/long, if flag_lj is set to long, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range -portion is calculated by using the kspace_style -ewald_disp command. The specified LJ cutoff then +portion is calculated by using the kspace_style ewald_disp command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If flag_lj is set to cut, the LJ -interactions are simply cutoff, as with pair_style -lj/cut. If flag_lj is set to off, LJ interactions -are not computed at all. -

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic or +space via the Kspace style. If flag_lj is set to cut, the LJ +interactions are simply cutoff, as with pair_style lj/cut. If flag_lj is set to off, LJ interactions +are not computed at all.

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using -ewald_disp of the kspace_style command. If -flag_coul is set to off, Coulombic and dipole interactions are not -computed at all. -

    -

    Atoms with dipole moments should be integrated using the fix -nve/sphere update dipole command to rotate the -dipole moments. The omega option on the fix -langevin command can be used to thermostat the -rotational motion. The compute temp/sphere +ewald_disp of the kspace_style command. If +flag_coul is set to off, Coulombic and dipole interactions are not +computed at all.

    +

    Atoms with dipole moments should be integrated using the fix nve/sphere update dipole command to rotate the +dipole moments. The omega option on the fix langevin command can be used to thermostat the +rotational motion. The compute temp/sphere command can be used to monitor the temperature, since it includes -rotational degrees of freedom. The atom_style -dipole command should be used since it defines the +rotational degrees of freedom. The atom_style dipole command should be used since it defines the point dipoles and their rotational state. The magnitude of the dipole moment for each type of particle can be defined by the -dipole command or in the "Dipoles" section of the data -file read in by the read_data command. Their initial -orientation can be defined by the set dipole command or in -the "Atoms" section of the data file. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +dipole command or in the “Dipoles” section of the data +file read in by the read_data command. Their initial +orientation can be defined by the set dipole command or in +the “Atoms” section of the data file.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +type pair.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default -mix value is geometric. See the "pair_modify" command for details. -

    -

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +mix value is geometric. See the “pair_modify” command for details.

    +

    For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -geometric. See the "pair_modify" command for details. -

    -

    This pair style does not support the pair_modify +geometric. See the “pair_modify” command for details.

    +

    This pair style does not support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction; such energy goes to zero at the cutoff by construction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +interaction; such energy goes to zero at the cutoff by construction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    The lj/cut/dipole/cut, lj/cut/dipole/long, and -lj/long/dipole/long styles are part of the DIPOLE package. They are -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The lj/sf/dipole/sf style is part of the USER-MISC package. It is -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Using dipole pair styles with electron units is not -currently supported. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    The lj/cut/dipole/cut, lj/cut/dipole/long, and +lj/long/dipole/long styles are part of the DIPOLE package. They are +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The lj/sf/dipole/sf style is part of the USER-MISC package. It is +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Using dipole pair styles with electron units is not +currently supported.

    +
    + + - -

    (Allen) Allen and Tildesley, Computer Simulation of Liquids, -Clarendon Press, Oxford, 1987. -

    - + + +
    + -

    (Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, -10913 (2000). -

    - +
    -

    (Stoddard) Stoddard and Ford, Phys Rev A, 8, 1504 (1973). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Price) Price, Stone and Alderton, Mol Phys, 52, 987 (1984). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_dpd.html b/doc/pair_dpd.html index 91d610c71a..3ccb23ce40 100644 --- a/doc/pair_dpd.html +++ b/doc/pair_dpd.html @@ -1,221 +1,372 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style dpd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style dpd command -

    -

    pair_style dpd/gpu command -

    -

    pair_style dpd/omp command -

    -

    pair_style dpd/tstat command -

    -

    pair_style dpd/tstat/gpu command -

    -

    pair_style dpd/tstat/omp command -

    -

    Syntax: -

    -
    pair_style dpd T cutoff seed
    -pair_style dpd/tstat Tstart Tstop cutoff seed 
    -
    -
    • T = temperature (temperature units) -
    • Tstart,Tstop = desired temperature at start/end of run (temperature units) -
    • cutoff = global cutoff for DPD interactions (distance units) -
    • seed = random # seed (positive integer) -
    -

    Examples: -

    -
    pair_style dpd 1.0 2.5 34387
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style dpd command¶

    +
    +
    +

    pair_style dpd/gpu command¶

    +
    +
    +

    pair_style dpd/omp command¶

    +
    +
    +

    pair_style dpd/tstat command¶

    +
    +
    +

    pair_style dpd/tstat/gpu command¶

    +
    +
    +

    pair_style dpd/tstat/omp command¶

    +
    +

    Syntax¶

    +
    pair_style dpd T cutoff seed
    +pair_style dpd/tstat Tstart Tstop cutoff seed
    +
    +
    +
      +
    • T = temperature (temperature units)
    • +
    • Tstart,Tstop = desired temperature at start/end of run (temperature units)
    • +
    • cutoff = global cutoff for DPD interactions (distance units)
    • +
    • seed = random # seed (positive integer)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style dpd 1.0 2.5 34387
     pair_coeff * * 3.0 1.0
    -pair_coeff 1 1 3.0 1.0 1.0 
    -
    -
    pair_style dpd/tstat 1.0 1.0 2.5 34387
    +pair_coeff 1 1 3.0 1.0 1.0
    +
    +
    +
    pair_style dpd/tstat 1.0 1.0 2.5 34387
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 1.0 
    -
    -

    Description: -

    -

    Style dpd computes a force field for dissipative particle dynamics -(DPD) following the exposition in (Groot). -

    -

    Style dpd/tstat invokes a DPD thermostat on pairwise interactions, +pair_coeff 1 1 1.0 1.0 +

    + + +
    +

    Description¶

    +

    Style dpd computes a force field for dissipative particle dynamics +(DPD) following the exposition in (Groot).

    +

    Style dpd/tstat invokes a DPD thermostat on pairwise interactions, which is equivalent to the non-conservative portion of the DPD force field. This pair-wise thermostat can be used in conjunction with any -pair style, and in leiu of per-particle thermostats -like fix langevin or ensemble thermostats like -Nose Hoover as implemented by fix nvt. To use -dpd/stat as a thermostat for another pair style, use the pair_style -hybrid/overlay command to compute both the desired -pair interaction and the thermostat for each pair of particles. -

    -

    For style dpd, the force on atom I due to atom J is given as a sum -of 3 terms -

    -
    -
    -

    where Fc is a conservative force, Fd is a dissipative force, and Fr is +pair style, and in leiu of per-particle thermostats +like fix langevin or ensemble thermostats like +Nose Hoover as implemented by fix nvt. To use +dpd/stat as a thermostat for another pair style, use the pair_style hybrid/overlay command to compute both the desired +pair interaction and the thermostat for each pair of particles.

    +

    For style dpd, the force on atom I due to atom J is given as a sum +of 3 terms

    +_images/pair_dpd.jpg +

    where Fc is a conservative force, Fd is a dissipative force, and Fr is a random force. Rij is a unit vector in the direction Ri - Rj, Vij is the vector difference in velocities of the two atoms = Vi - Vj, alpha is a Gaussian random number with zero mean and unit variance, dt is the timestep size, and w(r) is a weighting factor that varies between 0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 Kb T gamma), where Kb is the Boltzmann constant and T is the temperature parameter -in the pair_style command. -

    -

    For style dpd/tstat, the force on atom I due to atom J is the same +in the pair_style command.

    +

    For style dpd/tstat, the force on atom I due to atom J is the same as the above equation, except that the conservative Fc term is dropped. Also, during the run, T is set each timestep to a ramped -value from Tstart to Tstop. -

    -

    For style dpd, the pairwise energy associated with style dpd is +value from Tstart to Tstop.

    +

    For style dpd, the pairwise energy associated with style dpd is only due to the conservative force term Fc, and is shifted to be zero at the cutoff distance Rc. The pairwise virial is calculated using -all 3 terms. For style dpd/tstat there is no pairwise energy, but -the last two terms of the formula make a contribution to the virial. -

    -

    For style dpd, the following coefficients must be defined for each -pair of atoms types via the pair_coeff command as in +all 3 terms. For style dpd/tstat there is no pairwise energy, but +the last two terms of the formula make a contribution to the virial.

    +

    For style dpd, the following coefficients must be defined for each +pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • A (force units) -
    • gamma (force/velocity units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global DPD +read_data or read_restart +commands:

    +
      +
    • A (force units)
    • +
    • gamma (force/velocity units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), -where T is the temperature set by the pair_style -command so it does not need to be specified. -

    -

    For style dpd/tstat, the coefficiencts defined for each pair of -atoms types via the pair_coeff command is the same, -except that A is not included. -

    -

    The GPU-accelerated versions of these styles are implemented based on -the work of (Afshar) and (Phillips). -

    -

    IMPORTANT NOTE: If you are modeling DPD polymer chains, you may want -to use the pair_style srp command in conjuction with +where T is the temperature set by the pair_style +command so it does not need to be specified.

    +

    For style dpd/tstat, the coefficiencts defined for each pair of +atoms types via the pair_coeff command is the same, +except that A is not included.

    +

    The GPU-accelerated versions of these styles are implemented based on +the work of (Afshar) and (Phillips).

    +
    +

    Warning

    +

    If you are modeling DPD polymer chains, you may want +to use the pair_style srp command in conjuction with these pair styles. It is a soft segmental repulsive potential (SRP) -that can prevent DPD polymer chains from crossing each other. -

    -

    IMPORTANT NOTE: The virial calculation for pressure when using this +that can prevent DPD polymer chains from crossing each other.

    +
    +
    +

    Warning

    +

    The virial calculation for pressure when using this pair style includes all the components of force listed above, -including the random force. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +including the random force.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    These pair styles do not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    These pair styles do not support the pair_modify shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative Fc term is already -shifted to be 0.0 at the cutoff distance Rc. -

    -

    The pair_modify table option is not relevant -for these pair styles. -

    -

    These pair style do not support the pair_modify +shifted to be 0.0 at the cutoff distance Rc.

    +

    The pair_modify table option is not relevant +for these pair styles.

    +

    These pair style do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    These pair styles writes their information to binary restart -files, so pair_style and pair_coeff commands do not need +pressure.

    +

    These pair styles writes their information to binary restart files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will re-initialize its random number generator the same way it did initially. This means the random forces will be random, but will not be the same as they would have been if the original simulation had -continued past the restart time. -

    -

    These pair styles can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords. -

    -

    The dpd/tstat style can ramp its target temperature over multiple -runs, using the start and stop keywords of the run -command. See the run command for details of how to do -this. -

    -
    - -

    Restrictions: -

    -

    The default frequency for rebuilding neighbor lists is every 10 steps -(see the neigh_modify command). This may be too -infrequent for style dpd simulations since particles move rapidly +continued past the restart time.

    +

    These pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords.

    +

    The dpd/tstat style can ramp its target temperature over multiple +runs, using the start and stop keywords of the run +command. See the run command for details of how to do +this.

    +
    +
    +
    +

    Restrictions¶

    +

    The default frequency for rebuilding neighbor lists is every 10 steps +(see the neigh_modify command). This may be too +infrequent for style dpd simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero -number of "dangerous" reneighborings (printed at the end of a +number of “dangerous” reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more -often and see if system energies/trajectories change. -

    -

    These pair styles requires you to use the comm_modify vel -yes command so that velocites are stored by ghost -atoms. -

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +often and see if system energies/trajectories change.

    +

    These pair styles requires you to use the comm_modify vel yes command so that velocites are stored by ghost +atoms.

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details. -

    -

    Related commands: -

    -

    pair_coeff, fix nvt, fix -langevin, pair_style srp -

    -

    Default: none -

    -
    +read_restart command for more details.

    +
    + + - -

    (Groot) Groot and Warren, J Chem Phys, 107, 4423-35 (1997). -

    - + + +
    + -

    (Afshar) Afshar, F. Schmid, A. Pishevar, S. Worley, Comput Phys -Comm, 184, 1119-1128 (2013). -

    - +
    -

    (Phillips) C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput -Phys Comm, 230, 7191-7201 (2011). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_dsmc.html b/doc/pair_dsmc.html index f21cefe8c7..8a974e9c9b 100644 --- a/doc/pair_dsmc.html +++ b/doc/pair_dsmc.html @@ -1,154 +1,316 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style dsmc command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style dsmc command -

    -

    Syntax: -

    -
    pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample 
    -
    -
    • max_cell_size = global maximum cell size for DSMC interactions (distance units) -
    • seed = random # seed (positive integer) -
    • weighting = macroparticle weighting -
    • Tref = reference temperature (temperature units) -
    • Nrecompute = recompute v*sigma_max every this many timesteps (timesteps) -
    • Nsample = sample this many times in recomputing v*sigma_max -
    -

    Examples: -

    -
    pair_style dsmc 2.5 34387 10 1.0 100 20
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style dsmc command¶

    +
    +

    Syntax¶

    +
    pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample
    +
    +
    +
      +
    • max_cell_size = global maximum cell size for DSMC interactions (distance units)
    • +
    • seed = random # seed (positive integer)
    • +
    • weighting = macroparticle weighting
    • +
    • Tref = reference temperature (temperature units)
    • +
    • Nrecompute = recompute v*sigma_max every this many timesteps (timesteps)
    • +
    • Nsample = sample this many times in recomputing v*sigma_max
    • +
    +
    +
    +

    Examples¶

    +
    pair_style dsmc 2.5 34387 10 1.0 100 20
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 
    -
    -

    Description: -

    -

    Style dsmc computes collisions between pairs of particles for a +pair_coeff 1 1 1.0 +

    + + +
    +

    Description¶

    +

    Style dsmc computes collisions between pairs of particles for a direct simulation Monte Carlo (DSMC) model following the exposition in -(Bird). Each collision resets the velocities of the two +(Bird). Each collision resets the velocities of the two particles involved. The number of pairwise collisions for each pair or particle types and the length scale within which they occur are determined by the parameters of the pair_style and pair_coeff -commands. -

    -

    Stochastic collisions are performed using the variable hard sphere -(VHS) approach, with the user-defined max_cell_size value used as +commands.

    +

    Stochastic collisions are performed using the variable hard sphere +(VHS) approach, with the user-defined max_cell_size value used as the maximum DSMC cell size, and reference cross-sections for -collisions given using the pair_coeff command. -

    -

    There is no pairwise energy or virial contributions associated with -this pair style. -

    -

    The following coefficient must be defined for each pair of atoms types -via the pair_coeff command as in the examples above, +collisions given using the pair_coeff command.

    +

    There is no pairwise energy or virial contributions associated with +this pair style.

    +

    The following coefficient must be defined for each pair of atoms types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • sigma (area units, i.e. distance-squared) -
    -

    The global DSMC max_cell_size determines the maximum cell length +read_data or read_restart +commands:

    +
      +
    • sigma (area units, i.e. distance-squared)
    • +
    +

    The global DSMC max_cell_size determines the maximum cell length used in the DSMC calculation. A structured mesh is overlayed on the simulation box such that an integer number of cells are created in -each direction for each processor's sub-domain. Cell lengths are -adjusted up to the user-specified maximum cell size. -

    -
    - -

    To perform a DSMC simulation with LAMMPS, several additional options +each direction for each processor’s sub-domain. Cell lengths are +adjusted up to the user-specified maximum cell size.

    +
    +

    To perform a DSMC simulation with LAMMPS, several additional options should be set in your input script, though LAMMPS does not check for -these settings. -

    -

    Since this pair style does not compute particle forces, you should use -the "fix nve/noforce" time integration fix for the DSMC particles, -e.g. -

    -
    fix 1 all nve/noforce 
    -
    -

    This pair style assumes that all particles will communicated to +these settings.

    +

    Since this pair style does not compute particle forces, you should use +the “fix nve/noforce” time integration fix for the DSMC particles, +e.g.

    +
    fix 1 all nve/noforce
    +
    +
    +

    This pair style assumes that all particles will communicated to neighboring processors every timestep as they move. This makes it possible to perform all collisions between pairs of particles that are on the same processor. To ensure this occurs, you should use -these commands: -

    -
    neighbor 0.0 bin
    +these commands:

    +
    neighbor 0.0 bin
     neigh_modify every 1 delay 0 check no
     atom_modify sort 0 0.0
    -communicate single cutoff 0.0 
    -
    -

    These commands ensure that LAMMPS communicates particles to +communicate single cutoff 0.0 +

    + +

    These commands ensure that LAMMPS communicates particles to neighboring processors every timestep and that no ghost atoms are created. The output statistics for a simulation run should indicate -there are no ghost particles or neighbors. -

    -

    In order to get correct DSMC collision statistics, users should -specify a Gaussian velocity distribution when populating the +there are no ghost particles or neighbors.

    +

    In order to get correct DSMC collision statistics, users should +specify a Gaussian velocity distribution when populating the simulation domain. Note that the default velocity distribution is uniform, which will not give good DSMC collision rates. Specify -"dist gaussian" when using the velocity command -as in the following: -

    -
    velocity all create 594.6 87287 loop geom dist gaussian 
    -
    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +“dist gaussian” when using the velocity command +as in the following:

    +
    velocity all create 594.6 87287 loop geom dist gaussian
    +
    +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will re-initialize its random number generator the same way it did initially. This means the random forces will be random, but will not be the same as they would have been if the original simulation had -continued past the restart time. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +continued past the restart time.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +
    +

    Restrictions¶

    +

    This style is part of the MC package. It is only enabled if LAMMPS +was built with that package. See the Making LAMMPS section for more info.

    +
    + + -

    Restrictions: -

    -

    This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, fix nve/noforce, -neigh_modify, neighbor, -comm_modify -

    -

    Default: none -

    -
    - + + +
    + -

    (Bird) G. A. Bird, "Molecular Gas Dynamics and the Direct Simulation -of Gas Flows" (1994). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_eam.html b/doc/pair_eam.html index 3bb2cb901f..8d559c5f3b 100644 --- a/doc/pair_eam.html +++ b/doc/pair_eam.html @@ -1,480 +1,621 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style eam command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style eam command -

    -

    pair_style eam/cuda command -

    -

    pair_style eam/gpu command -

    -

    pair_style eam/kk command -

    -

    pair_style eam/omp command -

    -

    pair_style eam/opt command -

    -

    pair_style eam/alloy command -

    -

    pair_style eam/alloy/cuda command -

    -

    pair_style eam/alloy/gpu command -

    -

    pair_style eam/alloy/kk command -

    -

    pair_style eam/alloy/omp command -

    -

    pair_style eam/alloy/opt command -

    -

    pair_style eam/cd command -

    -

    pair_style eam/cd/omp command -

    -

    pair_style eam/fs command -

    -

    pair_style eam/fs/cuda command -

    -

    pair_style eam/fs/gpu command -

    -

    pair_style eam/fs/kk command -

    -

    pair_style eam/fs/omp command -

    -

    pair_style eam/fs/opt command -

    -

    Syntax: -

    -
    pair_style style 
    -
    -
    • style = eam or eam/alloy or eam/cd or eam/fs -
    -

    Examples: -

    -
    pair_style eam
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style eam command¶

    +
    +
    +

    pair_style eam/cuda command¶

    +
    +
    +

    pair_style eam/gpu command¶

    +
    +
    +

    pair_style eam/kk command¶

    +
    +
    +

    pair_style eam/omp command¶

    +
    +
    +

    pair_style eam/opt command¶

    +
    +
    +

    pair_style eam/alloy command¶

    +
    +
    +

    pair_style eam/alloy/cuda command¶

    +
    +
    +

    pair_style eam/alloy/gpu command¶

    +
    +
    +

    pair_style eam/alloy/kk command¶

    +
    +
    +

    pair_style eam/alloy/omp command¶

    +
    +
    +

    pair_style eam/alloy/opt command¶

    +
    +
    +

    pair_style eam/cd command¶

    +
    +
    +

    pair_style eam/cd/omp command¶

    +
    +
    +

    pair_style eam/fs command¶

    +
    +
    +

    pair_style eam/fs/cuda command¶

    +
    +
    +

    pair_style eam/fs/gpu command¶

    +
    +
    +

    pair_style eam/fs/kk command¶

    +
    +
    +

    pair_style eam/fs/omp command¶

    +
    +
    +

    pair_style eam/fs/opt command¶

    +
    +

    Syntax¶

    +
    pair_style style
    +
    +
    +
      +
    • style = eam or eam/alloy or eam/cd or eam/fs
    • +
    +
    +
    +

    Examples¶

    +
    pair_style eam
     pair_coeff * * cuu3
    -pair_coeff 1*3 1*3 niu3.eam 
    -
    -
    pair_style eam/alloy
    -pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni 
    -
    -
    pair_style eam/cd
    -pair_coeff * * ../potentials/FeCr.cdeam Fe Cr 
    -
    -
    pair_style eam/fs
    -pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni 
    -
    -

    Description: -

    -

    Style eam computes pairwise interactions for metals and metal alloys -using embedded-atom method (EAM) potentials (Daw). The total -energy Ei of an atom I is given by -

    -
    -
    -

    where F is the embedding energy which is a function of the atomic +pair_coeff 1*3 1*3 niu3.eam +

    + +
    pair_style eam/alloy
    +pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni
    +
    +
    +
    pair_style eam/cd
    +pair_coeff * * ../potentials/FeCr.cdeam Fe Cr
    +
    +
    +
    pair_style eam/fs
    +pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni
    +
    +
    + +
    +

    Description¶

    +

    Style eam computes pairwise interactions for metals and metal alloys +using embedded-atom method (EAM) potentials (Daw). The total +energy Ei of an atom I is given by

    +_images/pair_eam.jpg +

    where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I -within the cutoff distance. -

    -

    The cutoff distance and the tabulated values of the functionals F, +within the cutoff distance.

    +

    The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by -the pair_coeff command. These are ASCII text files +the pair_coeff command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO was the original serial EAM MD code, written by the EAM originators. Several DYNAMO potential files for different metals are included in the -"potentials" directory of the LAMMPS distribution. All of these files -are parameterized in terms of LAMMPS metal units. -

    -

    IMPORTANT NOTE: The eam style reads single-element EAM potentials in -the DYNAMO funcfl format. Either single element or alloy systems -can be modeled using multiple funcfl files and style eam. For the +“potentials” directory of the LAMMPS distribution. All of these files +are parameterized in terms of LAMMPS metal units.

    +
    +

    Warning

    +

    The eam style reads single-element EAM potentials in +the DYNAMO funcfl format. Either single element or alloy systems +can be modeled using multiple funcfl files and style eam. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single -DYNAMO setfl file or Finnis/Sinclair EAM file can be used by LAMMPS -to model alloy systems by invoking the eam/alloy or eam/cd or -eam/fs styles as described below. These files require no mixing -since they specify alloy interactions explicitly. -

    -

    IMPORTANT NOTE: Note that unlike for other potentials, cutoffs for EAM +DYNAMO setfl file or Finnis/Sinclair EAM file can be used by LAMMPS +to model alloy systems by invoking the eam/alloy or eam/cd or +eam/fs styles as described below. These files require no mixing +since they specify alloy interactions explicitly.

    +
    +
    +

    Warning

    +

    Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. Likewise, the EAM potential files list atomic masses; thus you do not need to use -the mass command to specify them. -

    -

    There are several WWW sites that distribute and document EAM -potentials stored in DYNAMO or other formats: -

    -
    http://www.ctcms.nist.gov/potentials
    +the mass command to specify them.

    +
    +

    There are several WWW sites that distribute and document EAM +potentials stored in DYNAMO or other formats:

    +
    http://www.ctcms.nist.gov/potentials
     http://cst-www.nrl.navy.mil/ccm6/ap
    -http://enpub.fulton.asu.edu/cms/potentials/main/main.htm 
    -
    -

    These potentials should be usable with LAMMPS, though the alternate +http://enpub.fulton.asu.edu/cms/potentials/main/main.htm +

    +
    +

    These potentials should be usable with LAMMPS, though the alternate formats would need to be converted to the DYNAMO format used by LAMMPS and described on this page. The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on -interatomic potentials and file formats. -

    -
    - -

    For style eam, potential values are read from a file that is in the -DYNAMO single-element funcfl format. If the DYNAMO file was created -by a Fortran program, it cannot have "D" values in it for exponents. -C only recognizes "e" or "E" for scientific notation. -

    -

    Note that unlike for other potentials, cutoffs for EAM potentials are +interatomic potentials and file formats.

    +
    +

    For style eam, potential values are read from a file that is in the +DYNAMO single-element funcfl format. If the DYNAMO file was created +by a Fortran program, it cannot have “D” values in it for exponents. +C only recognizes “e” or “E” for scientific notation.

    +

    Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in -the EAM potential files themselves. -

    -

    For style eam a potential file must be assigned to each I,I pair of +the EAM potential files themselves.

    +

    For style eam a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a -single argument: -

    -
    • filename -
    -

    Thus the following command -

    -
    pair_coeff *2 1*2 cuu3.eam 
    -
    -

    will read the cuu3 potential file and use the tabulated Cu values for +single argument:

    +
      +
    • filename
    • +
    +

    Thus the following command

    +
    pair_coeff *2 1*2 cuu3.eam
    +
    +
    +

    will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs -1,2 and 2,1 are ignored). See the pair_coeff doc +1,2 and 2,1 are ignored). See the pair_coeff doc page for alternate ways to specify the path for the potential file. In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYNAMO code originally did it; you do not need to specify -coefficients for these type pairs. -

    -

    Funcfl files in the potentials directory of the LAMMPS -distribution have an ".eam" suffix. A DYNAMO single-element funcfl -file is formatted as follows: -

    -
    • line 1: comment (ignored) -
    • line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) -
    • line 3: Nrho, drho, Nr, dr, cutoff -
    -

    On line 2, all values but the mass are ignored by LAMMPS. The mass is -in mass units, e.g. mass number or grams/mole for metal +coefficients for these type pairs.

    +

    Funcfl files in the potentials directory of the LAMMPS +distribution have an ”.eam” suffix. A DYNAMO single-element funcfl +file is formatted as follows:

    +
      +
    • line 1: comment (ignored)
    • +
    • line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • +
    • line 3: Nrho, drho, Nr, dr, cutoff
    • +
    +

    On line 2, all values but the mass are ignored by LAMMPS. The mass is +in mass units, e.g. mass number or grams/mole for metal units. The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are -Angstroms; I'm not sure of the units for drho - some measure of -electron density. -

    -

    Following the three header lines are three arrays of tabulated values: -

    -
    • embedding function F(rho) (Nrho values) -
    • effective charge function Z(r) (Nr values) -
    • density function rho(r) (Nr values) -
    -

    The values for each array can be listed as multiple values per line, +Angstroms; I’m not sure of the units for drho - some measure of +electron density.

    +

    Following the three header lines are three arrays of tabulated values:

    +
      +
    • embedding function F(rho) (Nrho values)
    • +
    • effective charge function Z(r) (Nr values)
    • +
    • density function rho(r) (Nr values)
    • +
    +

    The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the -individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. -

    -

    The units for the embedding function F are eV. The units for the +individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr.

    +

    The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron -density). The units for the effective charge Z are "atomic charge" or +density). The units for the effective charge Z are “atomic charge” or sqrt(Hartree * Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy -expression as r*phi, in units of eV-Angstroms, via the formula -

    -
    r*phi = 27.2 * 0.529 * Zi * Zj 
    -
    -

    where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. -

    -
    - -

    Style eam/alloy computes pairwise interactions using the same -formula as style eam. However the associated -pair_coeff command reads a DYNAMO setfl file -instead of a funcfl file. Setfl files can be used to model a +expression as r*phi, in units of eV-Angstroms, via the formula

    +
    r*phi = 27.2 * 0.529 * Zi * Zj
    +
    +
    +

    where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms.

    +
    +

    Style eam/alloy computes pairwise interactions using the same +formula as style eam. However the associated +pair_coeff command reads a DYNAMO setfl file +instead of a funcfl file. Setfl files can be used to model a single-element or alloy system. In the alloy case, as explained -above, setfl files contain explicit tabulated values for alloy -interactions. Thus they allow more generality than funcfl files for -modeling alloys. -

    -

    For style eam/alloy, potential values are read from a file that is -in the DYNAMO multi-element setfl format, except that element names +above, setfl files contain explicit tabulated values for alloy +interactions. Thus they allow more generality than funcfl files for +modeling alloys.

    +

    For style eam/alloy, potential values are read from a file that is +in the DYNAMO multi-element setfl format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the -DYNAMO file was created by a Fortran program, it cannot have "D" -values in it for exponents. C only recognizes "e" or "E" for -scientific notation. -

    -

    Only a single pair_coeff command is used with the eam/alloy style -which specifies a DYNAMO setfl file, which contains information for +DYNAMO file was created by a Fortran program, it cannot have “D” +values in it for exponents. C only recognizes “e” or “E” for +scientific notation.

    +

    Only a single pair_coeff command is used with the eam/alloy style +which specifies a DYNAMO setfl file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of setfl elements to atom types -
    -

    As an example, the potentials/NiAlH_jea.eam.alloy file is a setfl +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of setfl elements to atom types
    • +
    +

    As an example, the potentials/NiAlH_jea.eam.alloy file is a setfl file which has tabulated EAM values for 3 elements and their alloy -interactions: Ni, Al, and H. See the pair_coeff doc +interactions: Ni, Al, and H. See the pair_coeff doc page for alternate ways to specify the path for the potential file. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff -command: -

    -
    pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command:

    +
    pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni -element in the setfl file. The final Al argument maps LAMMPS atom -type 4 to the Al element in the setfl file. Note that there is no +element in the setfl file. The final Al argument maps LAMMPS atom +type 4 to the Al element in the setfl file. Note that there is no requirement that your simulation use all the elements specified by the -setfl file. -

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an eam/alloy potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    Setfl files in the potentials directory of the LAMMPS distribution -have an ".eam.alloy" suffix. A DYNAMO multi-element setfl file is -formatted as follows: -

    -
    • lines 1,2,3 = comments (ignored) -
    • line 4: Nelements Element1 Element2 ... ElementN -
    • line 5: Nrho, drho, Nr, dr, cutoff -
    -

    In a DYNAMO setfl file, line 4 only lists Nelements = the # of -elements in the setfl file. For LAMMPS, the element name (Ni, Cu, +setfl file.

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an eam/alloy potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    Setfl files in the potentials directory of the LAMMPS distribution +have an ”.eam.alloy” suffix. A DYNAMO multi-element setfl file is +formatted as follows:

    +
      +
    • lines 1,2,3 = comments (ignored)
    • +
    • line 4: Nelements Element1 Element2 ... ElementN
    • +
    • line 5: Nrho, drho, Nr, dr, cutoff
    • +
    +

    In a DYNAMO setfl file, line 4 only lists Nelements = the # of +elements in the setfl file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the -elements appear in the file. -

    -

    The meaning and units of the values in line 5 is the same as for the -funcfl file described above. Note that the cutoff (in Angstroms) is +elements appear in the file.

    +

    The meaning and units of the values in line 5 is the same as for the +funcfl file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element -pairings. -

    -

    Following the 5 header lines are Nelements sections, one for each -element, each with the following format: -

    -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -
    • embedding function F(rho) (Nrho values) -
    • density function rho(r) (Nr values) -
    -

    As with the funcfl files, only the mass (in mass units, +pairings.

    +

    Following the 5 header lines are Nelements sections, one for each +element, each with the following format:

    +
      +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • +
    • embedding function F(rho) (Nrho values)
    • +
    • density function rho(r) (Nr values)
    • +
    +

    As with the funcfl files, only the mass (in mass units, e.g. mass number or grams/mole for metal units) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and -units as in a funcfl file. -

    -

    Following the Nelements sections, Nr values for each pair potential +units as in a funcfl file.

    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = +only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). Unlike the effective charge array Z(r) in funcfl files, -the tabulated values for each phi function are listed in setfl files +Nelements). Unlike the effective charge array Z(r) in funcfl files, +the tabulated values for each phi function are listed in setfl files directly as r*phi (in units of eV-Angstroms), since they are for atom -pairs. -

    -
    - -

    Style eam/cd is similar to the eam/alloy style, except that it +pairs.

    +
    +

    Style eam/cd is similar to the eam/alloy style, except that it computes alloy pairwise interactions using the concentration-dependent embedded-atom method (CD-EAM). This model can reproduce the enthalpy of mixing of alloys over the full composition range, as described in -(Stukowski). -

    -

    The pair_coeff command is specified the same as for the eam/alloy -style. However the DYNAMO setfl file must has two -lines added to it, at the end of the file: -

    -
    • line 1: Comment line (ignored) -
    • line 2: N Coefficient0 Coefficient1 ... CoeffincientN -
    -

    The last line begins with the degree N of the polynomial function -h(x) that modifies the cross interaction between A and B elements. -Then N+1 coefficients for the terms of the polynomial are then -listed. -

    -

    Modified EAM setfl files used with the eam/cd style must contain -exactly two elements, i.e. in the current implementation the eam/cd +(Stukowski).

    +

    The pair_coeff command is specified the same as for the eam/alloy +style. However the DYNAMO setfl file must has two +lines added to it, at the end of the file:

    +
      +
    • line 1: Comment line (ignored)
    • +
    • line 2: N Coefficient0 Coefficient1 ... CoeffincientN
    • +
    +

    The last line begins with the degree N of the polynomial function +h(x) that modifies the cross interaction between A and B elements. +Then N+1 coefficients for the terms of the polynomial are then +listed.

    +

    Modified EAM setfl files used with the eam/cd style must contain +exactly two elements, i.e. in the current implementation the eam/cd style only supports binary alloys. The first and second elements in -the input EAM file are always taken as the A and B species. -

    -

    CD-EAM files in the potentials directory of the LAMMPS -distribution have a ".cdeam" suffix. -

    -
    - -

    Style eam/fs computes pairwise interactions for metals and metal +the input EAM file are always taken as the A and B species.

    +

    CD-EAM files in the potentials directory of the LAMMPS +distribution have a ”.cdeam” suffix.

    +
    +

    Style eam/fs computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and -Sinclair (Finnis). The total energy Ei of an atom I is -given by -

    -
    -
    -

    This has the same form as the EAM formula above, except that rho is +Sinclair (Finnis). The total energy Ei of an atom I is +given by

    +_images/pair_eam_fs.jpg +

    This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the -element at that atomic site. -

    -

    The associated pair_coeff command for style eam/fs -reads a DYNAMO setfl file that has been extended to include +element at that atomic site.

    +

    The associated pair_coeff command for style eam/fs +reads a DYNAMO setfl file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in -(Ackland1). An example of such a potential is the same -author's Fe-P FS potential (Ackland2). Note that while FS +(Ackland1). An example of such a potential is the same +author’s Fe-P FS potential (Ackland2). Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the -FS potential files. -

    -

    For style eam/fs, the form of the pair_coeff command is exactly the -same as for style eam/alloy, e.g. -

    -
    pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al 
    -
    -

    where there are N additional arguments after the filename, where N is -the number of LAMMPS atom types. See the pair_coeff +FS potential files.

    +

    For style eam/fs, the form of the pair_coeff command is exactly the +same as for style eam/alloy, e.g.

    +
    pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al
    +
    +
    +

    where there are N additional arguments after the filename, where N is +the number of LAMMPS atom types. See the pair_coeff doc page for alternate ways to specify the path for the potential file. The N values determine the mapping of LAMMPS atom types to EAM -elements in the file, as described above for style eam/alloy. As -with eam/alloy, if a mapping value is NULL, the mapping is not -performed. This can be used when an eam/fs potential is used as -part of the hybrid pair style. The NULL values are used as -placeholders for atom types that will be used with other potentials. -

    -

    FS EAM files include more information than the DYNAMO setfl format -files read by eam/alloy, in that i,j density functionals for all +elements in the file, as described above for style eam/alloy. As +with eam/alloy, if a mapping value is NULL, the mapping is not +performed. This can be used when an eam/fs potential is used as +part of the hybrid pair style. The NULL values are used as +placeholders for atom types that will be used with other potentials.

    +

    FS EAM files include more information than the DYNAMO setfl format +files read by eam/alloy, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair -formulation of the EAM. -

    -

    FS EAM files in the potentials directory of the LAMMPS distribution -have an ".eam.fs" suffix. They are formatted as follows: -

    -
    • lines 1,2,3 = comments (ignored) -
    • line 4: Nelements Element1 Element2 ... ElementN -
    • line 5: Nrho, drho, Nr, dr, cutoff -
    -

    The 5-line header section is identical to an EAM setfl file. -

    -

    Following the header are Nelements sections, one for each element I, -each with the following format: -

    -
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -
    • embedding function F(rho) (Nrho values) -
    • density function rho(r) for element I at element 1 (Nr values) -
    • density function rho(r) for element I at element 2 -
    • ... -
    • density function rho(r) for element I at element Nelement -
    -

    The units of these quantities in line 1 are the same as for setfl +formulation of the EAM.

    +

    FS EAM files in the potentials directory of the LAMMPS distribution +have an ”.eam.fs” suffix. They are formatted as follows:

    +
      +
    • lines 1,2,3 = comments (ignored)
    • +
    • line 4: Nelements Element1 Element2 ... ElementN
    • +
    • line 5: Nrho, drho, Nr, dr, cutoff
    • +
    +

    The 5-line header section is identical to an EAM setfl file.

    +

    Following the header are Nelements sections, one for each element I, +each with the following format:

    +
      +
    • line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC)
    • +
    • embedding function F(rho) (Nrho values)
    • +
    • density function rho(r) for element I at element 1 (Nr values)
    • +
    • density function rho(r) for element I at element 2
    • +
    • ...
    • +
    • density function rho(r) for element I at element Nelement
    • +
    +

    The units of these quantities in line 1 are the same as for setfl files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the -file. -

    -

    Following the Nelements sections, Nr values for each pair potential +file.

    +

    Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of -eV-Angstroms) as in EAM setfl files. Note that in Finnis/Sinclair, -the phi(r) arrays are still symmetric, so only phi arrays for i >= j -are listed. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +eV-Angstroms) as in EAM setfl files. Note that in Finnis/Sinclair, +the phi(r) arrays are still symmetric, so only phi arrays for i >= j +are listed.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accerlate of the manual for more -instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accerlate of the manual for more +instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify -a pair_coeff command with I != J arguments for the eam styles. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    The eam pair styles do not write their information to binary restart -files, since it is stored in tabulated potential files. +a pair_coeff command with I != J arguments for the eam styles.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    The eam pair styles do not write their information to binary restart files, 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. -

    -

    The eam pair styles can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    All of these styles except the eam/cd style are part of the MANYBODY +an input script that reads a restart file.

    +

    The eam pair styles can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    All of these styles except the eam/cd style are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package -(which it is by default). See the Making -LAMMPS section for more info. -

    -

    The eam/cd style is part of the USER-MISC package and also requires +(which it is by default). See the Making LAMMPS section for more info.

    +

    The eam/cd style is part of the USER-MISC package and also requires the MANYBODY package. It is only enabled if LAMMPS was built with -those packages. See the Making LAMMPS -section for more info. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +those packages. See the Making LAMMPS +section for more info.

    +
    + + - -

    (Ackland1) Ackland, Condensed Matter (2005). -

    - + + +
    + -

    (Ackland2) Ackland, Mendelev, Srolovitz, Han and Barashev, Journal -of Physics: Condensed Matter, 16, S2629 (2004). -

    - +
    -

    (Daw) Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). -Daw, Baskes, Phys Rev B, 29, 6443 (1984). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Finnis) Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). -

    - +
    -

    (Stukowski) Stukowski, Sadigh, Erhart, Caro; Modeling Simulation -Materials Science & Engineering, 7, 075005 (2009). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_edip.html b/doc/pair_edip.html index fcf1b3ec4e..ae7bca4008 100644 --- a/doc/pair_edip.html +++ b/doc/pair_edip.html @@ -1,174 +1,327 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style edip command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style edip command -

    -

    Syntax: -

    -
    pair_style edip 
    -
    -
    pair_style edip/omp 
    -
    -

    Examples: -

    -

    pair_style edip -pair_coeff * * Si.edip Si -

    -

    Description: -

    -

    The edip style computes a 3-body EDIP potential which is + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style edip command¶

    +
    +

    Syntax¶

    +
    pair_style edip
    +
    +
    +
    pair_style edip/omp
    +
    +
    +
    +
    +

    Examples¶

    +

    pair_style edip +pair_coeff * * Si.edip Si

    +
    +
    +

    Description¶

    +

    The edip style computes a 3-body EDIP potential which is popular for modeling silicon materials where it can have advantages -over other models such as the Stillinger-Weber or -Tersoff potentials. In EDIP, the energy E of a -system of atoms is -

    -
    -
    -

    where phi2 is a two-body term and phi3 is a three-body term. The +over other models such as the Stillinger-Weber or +Tersoff potentials. In EDIP, the energy E of a +system of atoms is

    +_images/pair_edip.jpg +

    where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = a. Both terms depend on the local environment of atom I through its effective coordination number defined by Z, which is unity for a -cutoff distance < c and gently goes to 0 at distance = a. -

    -

    Only a single pair_coeff command is used with the edip style which +cutoff distance < c and gently goes to 0 at distance = a.

    +

    Only a single pair_coeff command is used with the edip style which specifies a EDIP potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of EDIP elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine a file Si.edip has EDIP values for Si. -

    -

    EDIP files in the potentials directory of the LAMMPS -distribution have a ".edip" suffix. Lines that are not blank or +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of EDIP elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine a file Si.edip has EDIP values for Si.

    +

    EDIP files in the potentials directory of the LAMMPS +distribution have a ”.edip” suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above: -

    -
    • element 1 (the center atom in a 3-body interaction) -
    • element 2 -
    • element 3 -
    • A (energy units) -
    • B (distance units) -
    • cutoffA (distance units) -
    • cutoffC (distance units) -
    • alpha -
    • beta -
    • eta -
    • gamma (distance units) -
    • lambda (energy units) -
    • mu -
    • tho -
    • sigma (distance units) -
    • Q0 -
    • u1 -
    • u2 -
    • u3 -
    • u4 -
    -

    The A, B, beta, sigma parameters are used only for two-body interactions. -The eta, gamma, lambda, mu, Q0 and all u1 to u4 parameters are used only +and three-body coefficients in the formula above:

    +
      +
    • element 1 (the center atom in a 3-body interaction)
    • +
    • element 2
    • +
    • element 3
    • +
    • A (energy units)
    • +
    • B (distance units)
    • +
    • cutoffA (distance units)
    • +
    • cutoffC (distance units)
    • +
    • alpha
    • +
    • beta
    • +
    • eta
    • +
    • gamma (distance units)
    • +
    • lambda (energy units)
    • +
    • mu
    • +
    • tho
    • +
    • sigma (distance units)
    • +
    • Q0
    • +
    • u1
    • +
    • u2
    • +
    • u3
    • +
    • u4
    • +
    +

    The A, B, beta, sigma parameters are used only for two-body interactions. +The eta, gamma, lambda, mu, Q0 and all u1 to u4 parameters are used only for three-body interactions. The alpha and cutoffC parameters are used -for the coordination environment function only. -

    -

    The EDIP potential file must contain entries for all the +for the coordination environment function only.

    +

    The EDIP potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. -

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries.

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify EDIP parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. -

    -

    At the moment, only a single element parametrization is -implemented. However, the author is not aware of other -multi-element EDIP parametrizations. If you know any and +entries would be required, etc.

    +

    At the moment, only a single element parametrization is +implemented. However, the author is not aware of other +multi-element EDIP parametrizations. If you know any and you are interest in that, please contact the author of -the EDIP package. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the EDIP package.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This angle style can only be used if LAMMPS was built with the -USER-MISC package. See the Making LAMMPS -section for more info on packages. -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    The EDIP potential files provided with LAMMPS (see the potentials directory) -are parameterized for metal units. +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This angle style can only be used if LAMMPS was built with the +USER-MISC package. See the Making LAMMPS +section for more info on packages.

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    The EDIP potential files provided with LAMMPS (see the potentials directory) +are parameterized for metal units. You can use the SW potential with any LAMMPS units, but you would need to create your own EDIP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +appropriate units if your simulation doesn’t use “metal” units.

    +
    + +
    - -

    (EDIP) J. F. Justo et al., Phys. Rev. B 58, 2539 (1998). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_eff.html b/doc/pair_eff.html index 1e3b5391c5..c09198332c 100644 --- a/doc/pair_eff.html +++ b/doc/pair_eff.html @@ -1,54 +1,171 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style eff/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style eff/cut command -

    -

    Syntax: -

    -
    pair_style eff/cut cutoff keyword args ... 
    -
    -
    • cutoff = global cutoff for Coulombic interactions - -
    • zero or more keyword/value pairs may be appended - -
      keyword = limit/eradius or pressure/evirials or ecp
      -  limit/eradius args = none
      -  pressure/evirials args = none
      -  ecp args = type element type element ...
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      pair_style eff/cut command¶

      +
      +

      Syntax¶

      +
      pair_style eff/cut cutoff keyword args ...
      +
      +
      +
        +
      • cutoff = global cutoff for Coulombic interactions
      • +
      • zero or more keyword/value pairs may be appended
      • +
      +
      +keyword = limit/eradius or pressure/evirials or ecp
      +  limit/eradius args = none
      +  pressure/evirials args = none
      +  ecp args = type element type element ...
           type = LAMMPS atom type (1 to Ntypes)
      -    element = element symbol (e.g. H, Si) 
      -
      - -
    -

    Examples: -

    -
    pair_style eff/cut 39.7
    +    element = element symbol (e.g. H, Si)
    +
    +
    +
    +

    Examples¶

    +
    pair_style eff/cut 39.7
     pair_style eff/cut 40.0 limit/eradius
     pair_style eff/cut 40.0 limit/eradius pressure/evirials
     pair_style eff/cut 40.0 ecp 1 Si 3 C
     pair_coeff * *
     pair_coeff 2 2 20.0
    -pair_coeff 1 s 0.320852 2.283269 0.814857 
    -pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621 
    -
    -

    Description: -

    -

    This pair style contains a LAMMPS implementation of the electron Force +pair_coeff 1 s 0.320852 2.283269 0.814857 +pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621 +

    +
    +
    +
    +

    Description¶

    +

    This pair style contains a LAMMPS implementation of the electron Force Field (eFF) potential currently under development at Caltech, as -described in (Jaramillo-Botero). The eFF for Z<6 -was first introduced by (Su) in 2007. It has been extended to +described in (Jaramillo-Botero). The eFF for Z<6 +was first introduced by (Su) in 2007. It has been extended to higher Zs by using effective core potentials (ECPs) that now cover up -to 2nd and 3rd row p-block elements of the periodic table. -

    -

    eFF can be viewed as an approximation to QM wave packet dynamics and +to 2nd and 3rd row p-block elements of the periodic table.

    +

    eFF can be viewed as an approximation to QM wave packet dynamics and Fermionic molecular dynamics, combining the ability of electronic structure methods to describe atomic structure, bonding, and chemistry in materials, and of plasma methods to describe nonequilibrium @@ -75,9 +192,8 @@ potential term between Gaussians, eFF includes the electron kinetic energy from the Gaussians. These two terms are based on first-principles quantum mechanics. On the other hand, nuclei are described as point charges, which interact with other nuclei and -electrons through standard electrostatic potential forms. -

    -

    The full Hamiltonian (shown below), contains then a standard +electrons through standard electrostatic potential forms.

    +

    The full Hamiltonian (shown below), contains then a standard description for electrostatic interactions between a set of delocalized point and Gaussian charges which include, nuclei-nuclei (NN), electron-electron (ee), and nuclei-electron (Ne). Thus, eFF is a @@ -90,142 +206,124 @@ materials over a wide range of temperatures and pressures where electronically excited and ionized states of matter can occur and coexist. Furthermore, the interactions between particles -nuclei and electrons- reduce to the sum of a set of effective pairwise potentials -in the eFF formulation. The eff/cut style computes the pairwise +in the eFF formulation. The eff/cut style computes the pairwise Coulomb interactions between nuclei and electrons (E_NN,E_Ne,E_ee), and the quantum-derived Pauli (E_PR) and Kinetic energy interactions potentials between electrons (E_KE) for a total energy expression -given as, -

    -
    -
    -

    The individual terms are defined as follows: -

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    where, s_i correspond to the electron sizes, the sigmas i's to the +given as,

    +_images/eff_energy_expression.jpg +

    The individual terms are defined as follows:

    +_images/eff_KE.jpg +_images/eff_NN.jpg +_images/eff_Ne.jpg +_images/eff_ee.jpg +_images/eff_Pauli.jpg +

    where, s_i correspond to the electron sizes, the sigmas i’s to the fixed spins of the electrons, Z_i to the charges on the nuclei, R_ij to the distances between the nuclei or the nuclei and electrons, and r_ij to the distances between electrons. For additional details see -(Jaramillo-Botero). -

    -

    The overall electrostatics energy is given in Hartree units of energy +(Jaramillo-Botero).

    +

    The overall electrostatics energy is given in Hartree units of energy by default and can be modified by an energy-conversion constant, -according to the units chosen (see electron_units). The +according to the units chosen (see electron_units). The cutoff Rc, given in Bohrs (by default), truncates the interaction distance. The recommended cutoff for this pair style should follow the minimum image criterion, i.e. half of the minimum unit cell -length. -

    -

    Style eff/long (not yet available) computes the same interactions as -style eff/cut except that an additional damping factor is applied so +length.

    +

    Style eff/long (not yet available) computes the same interactions as +style eff/cut except that an additional damping factor is applied so it can be used in conjunction with the -kspace_style command and its ewald or pppm +kspace_style command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. -

    -

    This potential is designed to be used with atom_style -electron definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +interactions outside that distance are computed in reciprocal space.

    +

    This potential is designed to be used with atom_style electron definitions, in order to handle the +description of systems with interacting nuclei and explicit electrons.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutoff (distance units) -
    -

    For eff/cut, the cutoff coefficient is optional. If it is not used +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutoff (distance units)
    • +
    +

    For eff/cut, the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified -in the pair_style command is used. -

    -

    For eff/long (not yet available) no cutoff will be specified for an -individual I,J type pair via the pair_coeff command. +in the pair_style command is used.

    +

    For eff/long (not yet available) no cutoff will be specified for an +individual I,J type pair via the pair_coeff command. All type pairs use the same global cutoff specified in the pair_style -command. -

    -
    - -

    The limit/eradius and pressure/evirials keywrods are optional. -Neither or both must be specified. If not specified they are unset. -

    -

    The limit/eradius keyword is used to restrain electron size from +command.

    +
    +

    The limit/eradius and pressure/evirials keywrods are optional. +Neither or both must be specified. If not specified they are unset.

    +

    The limit/eradius keyword is used to restrain electron size from becoming excessively diffuse at very high temperatures were the Gaussian wave packet representation breaks down, and from expanding as free particles to infinite size. If unset, electron radius is free to increase without bounds. If set, a restraining harmonic potential of -the form E = 1/2k_ss^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr^2, -is applied on the electron radius. -

    -

    The pressure/evirials keyword is used to control between two types +the form E = 1/2k_ss^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr^2, +is applied on the electron radius.

    +

    The pressure/evirials keyword is used to control between two types of pressure computation: if unset, the computed pressure does not include the electronic radial virials contributions to the total pressure (scalar or tensor). If set, the computed pressure will include the electronic radial virial contributions to the total -pressure (scalar and tensor). -

    -

    The ecp keyword is used to associate an ECP representation for a +pressure (scalar and tensor).

    +

    The ecp keyword is used to associate an ECP representation for a particular atom type. The ECP captures the orbital overlap between a core pseudo particle and valence electrons within the Pauli repulsion. A list of type:element-symbol pairs may be provided for all ECP -representations, after the "ecp" keyword. -

    -

    IMPORTANT NOTE: Default ECP parameters are provided for C, N, O, Al, +representations, after the “ecp” keyword.

    +
    +

    Warning

    +

    Default ECP parameters are provided for C, N, O, Al, and Si. Users can modify these using the pair_coeff command as exemplified above. For this, the User must distinguish between two different functional forms supported, one that captures the orbital overlap assuming the s-type core interacts with an s-like valence electron (s-s) and another that assumes the interaction is s-p. For systems that exhibit significant p-character (e.g. C, N, O) the s-p -form is recommended. The "s" ECP form requires 3 parameters and the -"p" 5 parameters. -

    -

    IMPORTANT NOTE: there are two different pressures that can be reported +form is recommended. The “s” ECP form requires 3 parameters and the +“p” 5 parameters.

    +
    +
    +

    Warning

    +

    there are two different pressures that can be reported for eFF when defining this pair_style, one (default) that considers electrons do not contribute radial virial components (i.e. electrons -treated as incompressible 'rigid' spheres) and one that does. The +treated as incompressible ‘rigid’ spheres) and one that does. The radial electronic contributions to the virials are only tallied if the flexible pressure option is set, and this will affect both global and per-atom quantities. In principle, the true pressure of a system is somewhere in between the rigid and the flexible eFF pressures, but, for most cases, the difference between these two pressures will not be significant over long-term averaged runs (i.e. even though the energy -partitioning changes, the total energy remains similar). -

    -
    - -

    IMPORTANT NOTE: This implemention of eFF gives a reasonably accurate -description for systems containing nuclei from Z = 1-6 in "all -electron" representations. For systems with increasingly +partitioning changes, the total energy remains similar).

    +
    +
    +
    +

    Warning

    +

    This implemention of eFF gives a reasonably accurate +description for systems containing nuclei from Z = 1-6 in “all +electron” representations. For systems with increasingly non-spherical electrons, Users should use the ECP representations. ECPs are now supported and validated for most of the 2nd and 3rd row elements of the p-block. Predefined parameters are provided for C, N, O, Al, and Si. The ECP captures the orbital overlap between the core and valence electrons (i.e. Pauli repulsion) with one of the -functional forms: -

    -
    -
    -
    -
    -

    Where the 1st form correspond to core interactions with s-type valence +functional forms:

    +
    +_images/eff_ECP1.jpg +_images/eff_ECP2.jpg +

    Where the 1st form correspond to core interactions with s-type valence electrons and the 2nd to core interactions with p-type valence -electrons. -

    -

    The current version adds full support for models with fixed-core and +electrons.

    +

    The current version adds full support for models with fixed-core and ECP definitions. to enable larger timesteps (i.e. by avoiding the high frequency vibrational modes -translational and radial- of the 2 s electrons), and in the ECP case to reduce the increased orbital -complexity in higher Z elements (up to Z<18). A fixed-core should be +complexity in higher Z elements (up to Z<18). A fixed-core should be defined with a mass that includes the corresponding nuclear mass plus the 2 s electrons in atomic mass units (2x5.4857990943e-4), and a radius equivalent to that of minimized 1s electrons (see examples @@ -234,9 +332,8 @@ described with a mass that includes the corresponding nuclear mass, plus all the core electrons (i.e no outer shell electrons), and a radius equivalent to that of a corresponding minimized full-electron system. The charge for a pseudo-core atom should be given by the -number of outer shell electrons. -

    -

    In general, eFF excels at computing the properties of materials in +number of outer shell electrons.

    +

    In general, eFF excels at computing the properties of materials in extreme conditions and tracing the system dynamics over multi-picosend timescales; this is particularly relevant where electron excitations can change significantly the nature of bonding in the system. It can @@ -253,73 +350,117 @@ and nodeless and valid for covalent compounds such as dense hydrogen, hydrocarbons, and diamond; alkali metals (e.g. lithium), alkali earth metals (e.g. beryllium) and semimetals such as boron; and various compounds containing ionic and/or multicenter bonds, such as boron -dihydride. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the cutoff distance for the -eff/cut style can be mixed. The default mix value is geometric. -See the "pair_modify" command for details. -

    -

    The pair_modify shift option is not relevant for -these pair styles. -

    -

    The eff/long (not yet available) style supports the -pair_modify table option for tabulation of the -short-range portion of the long-range Coulombic interaction. -

    -

    These pair styles do not support the pair_modify +dihydride.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the cutoff distance for the +eff/cut style can be mixed. The default mix value is geometric. +See the “pair_modify” command for details.

    +

    The pair_modify shift option is not relevant for +these pair styles.

    +

    The eff/long (not yet available) style supports the +pair_modify table option for tabulation of the +short-range portion of the long-range Coulombic interaction.

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    These pair styles write their information to binary restart -files, 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 command. They do not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    These pair styles will only be enabled if LAMMPS is built with the +pressure.

    +

    These pair styles write their information to binary restart files, 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 command. They do not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These pair styles will only be enabled if LAMMPS is built with the USER-EFF package. It will only be enabled if LAMMPS was built with -that package. See the Making LAMMPS -section for more info. -

    -

    These pair styles require that particles store electron attributes +that package. See the Making LAMMPS +section for more info.

    +

    These pair styles require that particles store electron attributes such as radius, radial velocity, and radital force, as defined by the -atom_style. The electron atom style does all of -this. -

    -

    Thes pair styles require you to use the comm_modify vel -yes command so that velocites are stored by ghost -atoms. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: -

    -

    If not specified, limit_eradius = 0 and pressure_with_evirials = 0. -

    -
    - - - -

    (Su) Su and Goddard, Excited Electron Dynamics Modeling of Warm -Dense Matter, Phys Rev Lett, 99:185003 (2007). -

    - - -

    (Jaramillo-Botero) Jaramillo-Botero, Su, Qi, Goddard, Large-scale, +atom_style. The electron atom style does all of +this.

    +

    Thes pair styles require you to use the comm_modify vel yes command so that velocites are stored by ghost +atoms.

    +
    + +
    +

    Default¶

    +

    If not specified, limit_eradius = 0 and pressure_with_evirials = 0.

    +
    +

    (Su) Su and Goddard, Excited Electron Dynamics Modeling of Warm +Dense Matter, Phys Rev Lett, 99:185003 (2007).

    +

    (Jaramillo-Botero) Jaramillo-Botero, Su, Qi, Goddard, Large-scale, Long-term Non-adiabatic Electron Molecular Dynamics for Describing Material Properties and Phenomena in Extreme Environments, J Comp -Chem, 32, 497-512 (2011). -

    - +Chem, 32, 497-512 (2011).

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_eim.html b/doc/pair_eim.html index 01867a598e..06c2341c02 100644 --- a/doc/pair_eim.html +++ b/doc/pair_eim.html @@ -1,181 +1,338 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style eim command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style eim command -

    -

    pair_style eim/omp command -

    -

    Syntax: -

    -
    pair_style style 
    -
    -
    • style = eim -
    -

    Examples: -

    -
    pair_style eim
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style eim command¶

    +
    +
    +

    pair_style eim/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style
    +
    +
    +
      +
    • style = eim
    • +
    +
    +
    +

    Examples¶

    +
    pair_style eim
     pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl
     pair_coeff * * Na Cl ffield.eim  Na Na Na Cl
    -pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na 
    -
    -

    Description: -

    -

    Style eim computes pairwise interactions for ionic compounds -using embedded-ion method (EIM) potentials (Zhou). The -energy of the system E is given by -

    -
    -
    -

    The first term is a double pairwise sum over the J neighbors of all I +pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na +

    + + +
    +

    Description¶

    +

    Style eim computes pairwise interactions for ionic compounds +using embedded-ion method (EIM) potentials (Zhou). The +energy of the system E is given by

    +_images/pair_eim1.jpg +

    The first term is a double pairwise sum over the J neighbors of all I atoms, where phi_ij is a pair potential. The second term sums over the embedding energy E_i of atom I, which is a function of its charge q_i and the electrical potential sigma_i at its location. E_i, q_i, -and sigma_i are calculated as -

    -
    -
    -

    where eta_ji is a pairwise function describing electron flow from atom +and sigma_i are calculated as

    +_images/pair_eim2.jpg +

    where eta_ji is a pairwise function describing electron flow from atom I to atom J, and psi_ij is another pairwise function. The multi-body nature of the EIM potential is a result of the embedding energy term. A complete list of all the pair functions used in EIM is summarized -below -

    -
    -
    -

    Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), +below

    +_images/pair_eim3.jpg +

    Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), r_(c,psi), A_(eta), r_(s,eta), r_(c,eta), chi, and pair function type p are parameters, with subscripts ij indicating the two species of -atoms in the atomic pair. -

    -

    IMPORTANT NOTE: Even though the EIM potential is treating atoms as -charged ions, you should not use a LAMMPS atom_style +atoms in the atomic pair.

    +
    +

    Warning

    +

    Even though the EIM potential is treating atoms as +charged ions, you should not use a LAMMPS atom_style that stores a charge on each atom and thus requires you to assign a -charge to each atom, e.g. the charge or full atom styles. This is +charge to each atom, e.g. the charge or full atom styles. This is because the EIM potential infers the charge on an atom from the -equation above for q_i; you do not assign charges explicitly. -

    -
    - -

    All the EIM parameters are listed in a potential file which is -specified by the pair_coeff command. This is an -ASCII text file in a format described below. The "ffield.eim" file -included in the "potentials" directory of the LAMMPS distribution +equation above for q_i; you do not assign charges explicitly.

    +
    +
    +

    All the EIM parameters are listed in a potential file which is +specified by the pair_coeff command. This is an +ASCII text file in a format described below. The “ffield.eim” file +included in the “potentials” directory of the LAMMPS distribution currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. A system with any combination of these elements can be modeled. This -file is parameterized in terms of LAMMPS metal units. -

    -

    Note that unlike other potentials, cutoffs for EIM potentials are not +file is parameterized in terms of LAMMPS metal units.

    +

    Note that unlike other potentials, cutoffs for EIM potentials are not set in the pair_style or pair_coeff command; they are specified in the EIM potential file itself. Likewise, the EIM potential file lists -atomic masses; thus you do not need to use the mass -command to specify them. -

    -

    Only a single pair_coeff command is used with the eim style which +atomic masses; thus you do not need to use the mass +command to specify them.

    +

    Only a single pair_coeff command is used with the eim style which specifies an EIM potential file and the element(s) to extract information for. The EIM elements are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff -command, where N is the number of LAMMPS atom types: -

    -
    • Elem1, Elem2, ... -
    • EIM potential file -
    • N element names = mapping of EIM elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example like one of those above, suppose you want to model a +command, where N is the number of LAMMPS atom types:

    +
      +
    • Elem1, Elem2, ...
    • +
    • EIM potential file
    • +
    • N element names = mapping of EIM elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example like one of those above, suppose you want to model a system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Na, and the 4th to be Cl, you would -use the following pair_coeff command: -

    -
    pair_coeff * * Na Cl ffield.eim Na Na Na Cl 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +use the following pair_coeff command:

    +
    pair_coeff * * Na Cl ffield.eim Na Na Na Cl
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The filename is the EIM potential file. The Na and Cl arguments (before the file name) are the two elements for which info will be extracted from the potentail file. The first three trailing Na arguments map LAMMPS atom types 1,2,3 to the EIM Na element. The -final Cl argument maps LAMMPS atom type 4 to the EIM Cl element. -

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an eim potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    The ffield.eim file in the potentials directory of the LAMMPS -distribution is formated as follows: -

    -

    Lines starting with # are comments and are ignored by LAMMPS. Lines -starting with "global:" include three global values. The first value +final Cl argument maps LAMMPS atom type 4 to the EIM Cl element.

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when an eim potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    The ffield.eim file in the potentials directory of the LAMMPS +distribution is formated as follows:

    +

    Lines starting with # are comments and are ignored by LAMMPS. Lines +starting with “global:” include three global values. The first value divides the cations from anions, i.e., any elements with electronegativity above this value are viewed as anions, and any elements with electronegativity below this value are viewed as cations. The second and third values are related to the cutoff function - i.e. the 0.510204, 1.64498, and 0.010204 shown in the above -equation can be derived from these values. -

    -

    Lines starting with "element:" are formatted as follows: name of +equation can be derived from these values.

    +

    Lines starting with “element:” are formatted as follows: name of element, atomic number, atomic mass, electronic negativity, atomic radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive -energy (LAMMPS ignores it), and q0 (must be 0). -

    -

    Lines starting with "pair:" are entered as: element 1, element 2, +energy (LAMMPS ignores it), and q0 (must be 0).

    +

    Lines starting with “pair:” are entered as: element 1, element 2, r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, -r_(s,psi), and p. -

    -

    The lines in the file can be in any order; LAMMPS extracts the info it -needs. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +r_(s,psi), and p.

    +

    The lines in the file can be in any order; LAMMPS extracts the info it +needs.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the MANYBODY package. It is only enabled if +LAMMPS was built with that package (which it is by default).

    +
    + + -

    Restrictions: -

    -

    This style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package (which it is by default). -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Zhou) Zhou, submitted for publication (2010). Please contact -Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_gauss.html b/doc/pair_gauss.html index a3753aab3c..25bbc990de 100644 --- a/doc/pair_gauss.html +++ b/doc/pair_gauss.html @@ -1,172 +1,328 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style gauss command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style gauss command -

    -

    pair_style gauss/gpu command -

    -

    pair_style gauss/omp command -

    -

    pair_style gauss/cut command -

    -

    pair_style gauss/cut/omp command -

    -

    Syntax: -

    -
    pair_style gauss cutoff
    -pair_style gauss/cut cutoff 
    -
    -
    • cutoff = global cutoff for Gauss interactions (distance units) -
    -

    Examples: -

    -
    pair_style gauss 12.0 
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style gauss command¶

    +
    +
    +

    pair_style gauss/gpu command¶

    +
    +
    +

    pair_style gauss/omp command¶

    +
    +
    +

    pair_style gauss/cut command¶

    +
    +
    +

    pair_style gauss/cut/omp command¶

    +
    +

    Syntax¶

    +
    pair_style gauss cutoff
    +pair_style gauss/cut cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for Gauss interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style gauss 12.0
     pair_coeff * * 1.0 0.9
    -pair_coeff 1 4 1.0 0.9 10.0 
    -
    -
    pair_style gauss/cut 3.5
    -pair_coeff 1 4 0.2805 1.45 0.112 
    -
    -

    Description: -

    -

    Style gauss computes a tethering potential of the form -

    -
    -
    -

    between an atom and its corresponding tether site which will typically -be a frozen atom in the simulation. Rc is the cutoff. -

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +pair_coeff 1 4 1.0 0.9 10.0 +

    + +
    pair_style gauss/cut 3.5
    +pair_coeff 1 4 0.2805 1.45 0.112
    +
    +
    + +
    +

    Description¶

    +

    Style gauss computes a tethering potential of the form

    +_images/pair_gauss.jpg +

    between an atom and its corresponding tether site which will typically +be a frozen atom in the simulation. Rc is the cutoff.

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • A (energy units) -
    • B (1/distance^2 units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used. -

    -

    Style gauss/cut computes a generalized Gaussian interaction potential -between pairs of particles: -

    -
    -
    -

    where H determines together with the standard deviation sigma_h the +read_data or read_restart +commands:

    +
      +
    • A (energy units)
    • +
    • B (1/distance^2 units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used.

    +

    Style gauss/cut computes a generalized Gaussian interaction potential +between pairs of particles:

    +_images/pair_gauss_cut.jpg +

    where H determines together with the standard deviation sigma_h the peak height of the Gaussian function, and r_mh the peak position. Examples of the use of the Gaussian potentials include implicit -solvent simulations of salt ions (Lenart) and of surfactants -(Jusufi). In these instances the Gaussian potential mimics +solvent simulations of salt ions (Lenart) and of surfactants +(Jusufi). In these instances the Gaussian potential mimics the hydration barrier between a pair of particles. The hydration barrier is located at r_mh and has a width of sigma_h. The prefactor -determines the hight of the potential barrier. -

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the example above, +determines the hight of the potential barrier.

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • H (energy * distance units) -
    • r_mh (distance units) -
    • sigma_h (distance units) -
    -

    The global cutoff (r_c) specified in the pair_style command is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • H (energy * distance units)
    • +
    • r_mh (distance units)
    • +
    • sigma_h (distance units)
    • +
    +

    The global cutoff (r_c) specified in the pair_style command is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 switch7_Section_start.html#start_6 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    The gauss style does not support the pair_modify +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    The gauss style does not support the pair_modify shift option. There is no effect due to the Gaussian well beyond the -cutoff; hence reasonable cutoffs need to be specified. -

    -

    The gauss/cut style supports the pair_modify shift +cutoff; hence reasonable cutoffs need to be specified.

    +

    The gauss/cut style supports the pair_modify shift option for the energy of the Gauss-potential portion of the pair -interaction. -

    -

    The pair_modify table and tail options are not -relevant for these pair styles. -

    -

    These pair styles write their information to binary restart -files, 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 command. They do not support the -inner, middle, outer keywords. -

    -

    The gauss pair style tallies an "occupancy" count of how many Gaussian-well +interaction.

    +

    The pair_modify table and tail options are not +relevant for these pair styles.

    +

    These pair styles write their information to binary restart files, 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 command. They do not support the +inner, middle, outer keywords.

    +

    The gauss pair style tallies an “occupancy” count of how many Gaussian-well sites have an atom within the distance at which the force is a maximum -= sqrt(0.5/b). This quantity can be accessed via the compute -pair command as a vector of values of length 1. -

    -

    To print this quantity to the log file (with a descriptive column -heading) the following commands could be included in an input script: -

    -
    compute gauss all pair gauss
    += sqrt(0.5/b).  This quantity can be accessed via the compute pair command as a vector of values of length 1.

    +

    To print this quantity to the log file (with a descriptive column +heading) the following commands could be included in an input script:

    +
    compute gauss all pair gauss
     variable occ equal c_gauss[1]
    -thermo_style custom step temp epair v_occ 
    -
    -
    +thermo_style custom step temp epair v_occ +
    + + +
    +
    +

    Restrictions¶

    +

    The gauss/cut style is part of the “user-misc” package. It is only +enabled if LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    +
    + + -

    Restrictions: -

    -

    The gauss/cut style is part of the "user-misc" package. It is only -enabled if LAMMPS is build with that package. See the Making of -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, -pair_style coul/diel -

    -

    Default: none -

    - -

    (Lenart) Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, -044509 (2007). -

    - + + +
    + -

    (Jusufi) Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, -13783 (2008). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_gayberne.html b/doc/pair_gayberne.html index 27de230530..83631f3566 100644 --- a/doc/pair_gayberne.html +++ b/doc/pair_gayberne.html @@ -1,123 +1,232 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style gayberne command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style gayberne command -

    -

    pair_style gayberne/gpu command -

    -

    pair_style gayberne/intel command -

    -

    pair_style gayberne/omp command -

    -

    Syntax: -

    -
    pair_style gayberne gamma upsilon mu cutoff 
    -
    -
    • gamma = shift for potential minimum (typically 1) -
    • upsilon = exponent for eta orientation-dependent energy function -
    • mu = exponent for chi orientation-dependent energy function -
    • cutoff = global cutoff for interactions (distance units) -
    -

    Examples: -

    -
    pair_style gayberne 1.0 1.0 1.0 10.0
    -pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 
    -
    -

    Description: -

    -

    The gayberne styles compute a Gay-Berne anisotropic LJ interaction -(Berardi) between pairs of ellipsoidal particles or an -ellipsoidal and spherical particle via the formulas -

    -
    -
    -

    where A1 and A2 are the transformation matrices from the simulation + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style gayberne command¶

    +
    +
    +

    pair_style gayberne/gpu command¶

    +
    +
    +

    pair_style gayberne/intel command¶

    +
    +
    +

    pair_style gayberne/omp command¶

    +
    +

    Syntax¶

    +
    pair_style gayberne gamma upsilon mu cutoff
    +
    +
    +
      +
    • gamma = shift for potential minimum (typically 1)
    • +
    • upsilon = exponent for eta orientation-dependent energy function
    • +
    • mu = exponent for chi orientation-dependent energy function
    • +
    • cutoff = global cutoff for interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style gayberne 1.0 1.0 1.0 10.0
    +pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    The gayberne styles compute a Gay-Berne anisotropic LJ interaction +(Berardi) between pairs of ellipsoidal particles or an +ellipsoidal and spherical particle via the formulas

    +_images/pair_gayberne.jpg +

    where A1 and A2 are the transformation matrices from the simulation box frame to the body frame and r12 is the center to center vector between the particles. Ur controls the shifted distance dependent interaction based on the distance of closest approach of the two particles (h12) and the user-specified shift parameter gamma. When both particles are spherical, the formula reduces to the usual Lennard-Jones interaction (see details below for when Gay-Berne treats -a particle as "spherical"). -

    -

    For large uniform molecules it has been shown that the energy +a particle as “spherical”).

    +

    For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact -curvatures (Everaers): -

    -
    -
    -

    The variable names utilized as potential parameters are for the most -part taken from (Everaers) in order to be consistent with -the RE-squared pair potential. Details on the +curvatures (Everaers):

    +_images/pair_gayberne2.jpg +

    The variable names utilized as potential parameters are for the most +part taken from (Everaers) in order to be consistent with +the RE-squared pair potential. Details on the upsilon and mu parameters are given -here. -

    -

    More details of the Gay-Berne formulation are given in the references -listed below and in this supplementary -document. -

    -

    Use of this pair style requires the NVE, NVT, or NPT fixes with the -asphere extension (e.g. fix nve/asphere) in -order to integrate particle rotation. Additionally, atom_style -ellipsoid should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +here.

    +

    More details of the Gay-Berne formulation are given in the references +listed below and in this supplementary document.

    +

    Use of this pair style requires the NVE, NVT, or NPT fixes with the +asphere extension (e.g. fix nve/asphere) in +order to integrate particle rotation. Additionally, atom_style ellipsoid should be used since it defines the +rotational state and the size and shape of each ellipsoidal particle.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon = well depth (energy units) -
    • sigma = minimum effective particle radii (distance units) -
    • epsilon_i_a = relative well depth of type I for side-to-side interactions -
    • epsilon_i_b = relative well depth of type I for face-to-face interactions -
    • epsilon_i_c = relative well depth of type I for end-to-end interactions -
    • epsilon_j_a = relative well depth of type J for side-to-side interactions -
    • epsilon_j_b = relative well depth of type J for face-to-face interactions -
    • epsilon_j_c = relative well depth of type J for end-to-end interactions -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used. -

    -

    It is typical with the Gay-Berne potential to define sigma as the +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon = well depth (energy units)
    • +
    • sigma = minimum effective particle radii (distance units)
    • +
    • epsilon_i_a = relative well depth of type I for side-to-side interactions
    • +
    • epsilon_i_b = relative well depth of type I for face-to-face interactions
    • +
    • epsilon_i_c = relative well depth of type I for end-to-end interactions
    • +
    • epsilon_j_a = relative well depth of type J for side-to-side interactions
    • +
    • epsilon_j_b = relative well depth of type J for face-to-face interactions
    • +
    • epsilon_j_c = relative well depth of type J for end-to-end interactions
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used.

    +

    It is typical with the Gay-Berne potential to define sigma as the minimum of the 3 shape diameters of the particles involved in an I,I interaction, though this is not required. Note that this is a -different meaning for sigma than the pair_style -resquared potential uses. -

    -

    The epsilon_i and epsilon_j coefficients are actually defined for atom +different meaning for sigma than the pair_style resquared potential uses.

    +

    The epsilon_i and epsilon_j coefficients are actually defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type. -

    -

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are +commands, they only need to be specified once for each atom type.

    +

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_j values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in "pair_coeff I J" commands when +coefficients is to list their values in “pair_coeff I J” commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other -pair_coeff commands, since only the last setting will be in effect. -

    -

    Note that if this potential is being used as a sub-style of -pair_style hybrid, and there is no "pair_coeff I I" +pair_coeff commands, since only the last setting will be in effect.

    +

    Note that if this potential is being used as a sub-style of +pair_style hybrid, and there is no “pair_coeff I I” setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type. e.g. in a "pair_coeff I J" command. -

    -

    IMPORTANT NOTE: If the epsilon a = b = c for an atom type, and if the +that type. e.g. in a “pair_coeff I J” command.

    +
    +

    Warning

    +

    If the epsilon a = b = c for an atom type, and if the shape of the particle itself is spherical, meaning its 3 shape parameters are all the same, then the particle is treated as an LJ sphere by the Gay-Berne potential. This is significant because if two @@ -132,112 +241,140 @@ are set to 0.0, which is a valid way in LAMMPS to specify a point particle, then the Gay-Berne potential will treat that as shape parameters of 1.0 (i.e. a LJ particle with sigma = 1), since it requires finite-size particles. In this case you should still set the -pair_coeff sigma to 1.0 as well. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_coeff sigma to 1.0 as well.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. The default mix -value is geometric. See the "pair_modify" command for details. -

    -

    This pair styles supports the pair_modify shift +value is geometric. See the “pair_modify” command for details.

    +

    This pair styles supports the pair_modify shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +dependence of the interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    The gayberne style is part of the ASPHERE package. It is only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    These pair style require that atoms store torque and a quaternion to +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    The gayberne style is part of the ASPHERE package. It is only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    These pair style require that atoms store torque and a quaternion to represent their orientation, as defined by the -atom_style. It also require they store a per-type -shape. The particles cannot store a per-particle -diameter. -

    -

    This pair style requires that atoms be ellipsoids as defined by the -atom_style ellipsoid command. -

    -

    Particles acted on by the potential can be finite-size aspherical or +atom_style. It also require they store a per-type +shape. The particles cannot store a per-particle +diameter.

    +

    This pair style requires that atoms be ellipsoids as defined by the +atom_style ellipsoid command.

    +

    Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all 3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0. -

    -

    The Gay-Berne potential does not become isotropic as r increases -(Everaers). The distance-of-closest-approach +all 3 of their shape parameters equal to 0.0.

    +

    The Gay-Berne potential does not become isotropic as r increases +(Everaers). The distance-of-closest-approach approximation used by LAMMPS becomes less accurate when high-aspect -ratio ellipsoids are used. -

    -

    Related commands: -

    -

    pair_coeff, fix nve/asphere, -compute temp/asphere, pair_style -resquared -

    -

    Default: none -

    -
    +ratio ellipsoids are used.

    +
    + +
    - -

    (Everaers) Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). -

    - +
    +
    +
    + -

    (Berardi) Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). -Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008). -

    - +
    -

    (Perram) Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Allen) Allen and Germano, Mol Phys 104, 3225-3235 (2006). -

    - +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_gran.html b/doc/pair_gran.html index 281d2246e7..b65add97e0 100644 --- a/doc/pair_gran.html +++ b/doc/pair_gran.html @@ -1,111 +1,225 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style gran/hooke command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style gran/hooke command -

    -

    pair_style gran/cuda command -

    -

    pair_style gran/omp command -

    -

    pair_style gran/hooke/history command -

    -

    pair_style gran/hooke/history/omp command -

    -

    pair_style gran/hertz/history command -

    -

    pair_style gran/hertz/history/omp command -

    -

    Syntax: -

    -
    pair_style style Kn Kt gamma_n gamma_t xmu dampflag 
    -
    -
    • style = gran/hooke or gran/hooke/history or gran/hertz/history - -
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - -
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - -
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - -
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - -
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - -
    • dampflag = 0 or 1 if tangential damping force is excluded or included -
    -

    IMPORTANT NOTE: Versions of LAMMPS before 9Jan09 had different style + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style gran/hooke command¶

    +
    +
    +

    pair_style gran/cuda command¶

    +
    +
    +

    pair_style gran/omp command¶

    +
    +
    +

    pair_style gran/hooke/history command¶

    +
    +
    +

    pair_style gran/hooke/history/omp command¶

    +
    +
    +

    pair_style gran/hertz/history command¶

    +
    +
    +

    pair_style gran/hertz/history/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style Kn Kt gamma_n gamma_t xmu dampflag
    +
    +
    +
      +
    • style = gran/hooke or gran/hooke/history or gran/hertz/history
    • +
    • Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
    • +
    • Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
    • +
    • gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
    • +
    • gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
    • +
    • xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
    • +
    • dampflag = 0 or 1 if tangential damping force is excluded or included
    • +
    +
    +

    Warning

    +

    Versions of LAMMPS before 9Jan09 had different style names for granular force fields. This is to emphasize the fact that the Hertzian equation has changed to model polydispersity more accurately. A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t coefficients in the pair_style command must be specified with different values in order to reproduce calculations made with earlier versions of LAMMPS, even for monodisperse systems. See the -NOTE below for details. -

    -

    Examples: -

    -
    pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1
    -pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 
    -
    -

    Description: -

    -

    The gran styles use the following formulas for the frictional force +NOTE below for details.

    +
    +
    +
    +

    Examples¶

    +
    pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1
    +pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0
    +
    +
    +
    +
    +

    Description¶

    +

    The gran styles use the following formulas for the frictional force between two granular particles, as described in -(Brilliantov), (Silbert), and -(Zhang), when the distance r between two particles of radii +(Brilliantov), (Silbert), and +(Zhang), when the distance r between two particles of radii Ri and Rj is less than their contact distance d = Ri + Rj. There is -no force between the particles when r > d. -

    -

    The two Hookean styles use this formula: -

    -
    -
    -

    The Hertzian style uses this formula: -

    -
    -
    -

    In both equations the first parenthesized term is the normal force +no force between the particles when r > d.

    +

    The two Hookean styles use this formula:

    +_images/pair_gran_hooke.jpg +

    The Hertzian style uses this formula:

    +_images/pair_gran_hertz.jpg +

    In both equations the first parenthesized term is the normal force between the two particles and the second parenthesized term is the tangential force. The normal force has 2 terms, a contact force and a damping force. The tangential force also has 2 terms: a shear force -and a damping force. The shear force is a "history" effect that +and a damping force. The shear force is a “history” effect that accounts for the tangential displacement between the particles for the duration of the time they are in contact. This term is included in -pair styles hooke/history and hertz/history, but is not included -in pair style hooke. The tangential damping force term is included -in all three pair styles if dampflag is set to 1; it is not included -if dampflag is set to 0. -

    -

    The other quantities in the equations are as follows: -

    -
    • delta = d - r = overlap distance of 2 particles -
    • Kn = elastic constant for normal contact -
    • Kt = elastic constant for tangential contact -
    • gamma_n = viscoelastic damping constant for normal contact -
    • gamma_t = viscoelastic damping constant for tangential contact -
    • m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj -
    • Delta St = tangential displacement vector between 2 spherical particles which is truncated to satisfy a frictional yield criterion -
    • n_ij = unit vector along the line connecting the centers of the 2 particles -
    • Vn = normal component of the relative velocity of the 2 particles -
    • Vt = tangential component of the relative velocity of the 2 particles -
    -

    The Kn, Kt, gamma_n, and gamma_t coefficients are specified as +pair styles hooke/history and hertz/history, but is not included +in pair style hooke. The tangential damping force term is included +in all three pair styles if dampflag is set to 1; it is not included +if dampflag is set to 0.

    +

    The other quantities in the equations are as follows:

    +
      +
    • delta = d - r = overlap distance of 2 particles
    • +
    • Kn = elastic constant for normal contact
    • +
    • Kt = elastic constant for tangential contact
    • +
    • gamma_n = viscoelastic damping constant for normal contact
    • +
    • gamma_t = viscoelastic damping constant for tangential contact
    • +
    • m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj
    • +
    • Delta St = tangential displacement vector between 2 spherical particles which is truncated to satisfy a frictional yield criterion
    • +
    • n_ij = unit vector along the line connecting the centers of the 2 particles
    • +
    • Vn = normal component of the relative velocity of the 2 particles
    • +
    • Vt = tangential component of the relative velocity of the 2 particles
    • +
    +

    The Kn, Kt, gamma_n, and gamma_t coefficients are specified as parameters to the pair_style command. If a NULL is used for Kt, then a default value is used where Kt = 2/7 Kn. If a NULL is used for -gamma_t, then a default value is used where gamma_t = 1/2 gamma_n. -

    -

    The interpretation and units for these 4 coefficients are different in -the Hookean versus Hertzian equations. -

    -

    The Hookean model is one where the normal push-back force for two +gamma_t, then a default value is used where gamma_t = 1/2 gamma_n.

    +

    The interpretation and units for these 4 coefficients are different in +the Hookean versus Hertzian equations.

    +

    The Hookean model is one where the normal push-back force for two overlapping particles is a linear function of the overlap distance. Thus the specified Kn is in units of (force/distance). Note that this push-back force is independent of absolute particle size (in the @@ -113,9 +227,8 @@ monodisperse case) and of the relative sizes of the two particles (in the polydisperse case). This model also applies to the other terms in the force equation so that the specified gamma_n is in units of (1/time), Kt is in units of (force/distance), and gamma_t is in units -of (1/time). -

    -

    The Hertzian model is one where the normal push-back force for two +of (1/time).

    +

    The Hertzian model is one where the normal push-back force for two overlapping particles is proportional to the area of overlap of the two particles, and is thus a non-linear function of overlap distance. Thus Kn has units of force per area and is thus specified in units of @@ -124,25 +237,24 @@ and relative size (polydispersity) are captured in the radii-dependent pre-factors. When these pre-factors are carried through to the other terms in the force equation it means that the specified gamma_n is in units of (1/(time*distance)), Kt is in units of (pressure), and -gamma_t is in units of (1/(time*distance)). -

    -

    Note that in the Hookean case, Kn can be thought of as a linear spring +gamma_t is in units of (1/(time*distance)).

    +

    Note that in the Hookean case, Kn can be thought of as a linear spring constant with units of force/distance. In the Hertzian case, Kn is like a non-linear spring constant with units of force/area or -pressure, and as shown in the (Zhang) paper, Kn = 4G / +pressure, and as shown in the (Zhang) paper, Kn = 4G / (3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / -(2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). +(2(1+nu)), and E = Young’s modulus. Similarly, Kt = 4G / (2-nu). (NOTE: in an earlier version of the manual, we incorrectly stated that -Kt = 8G / (2-nu).) -

    -

    Thus in the Hertzian case Kn and Kt can be set to values that +Kt = 8G / (2-nu).)

    +

    Thus in the Hertzian case Kn and Kt can be set to values that corresponds to properties of the material being modeled. This is also true in the Hookean case, except that a spring constant must be chosen that is appropriate for the absolute size of particles in the model. Since relative particle sizes are not accounted for, the Hookean -styles may not be a suitable model for polydisperse systems. -

    -

    IMPORTANT NOTE: In versions of LAMMPS before 9Jan09, the equation for +styles may not be a suitable model for polydisperse systems.

    +
    +

    Warning

    +

    In versions of LAMMPS before 9Jan09, the equation for Hertzian interactions did not include the sqrt(RiRj/Ri+Rj) term and thus was not as accurate for polydisperse systems. For monodisperse systems, sqrt(RiRj/Ri+Rj) is a constant factor that effectively scales @@ -151,129 +263,163 @@ values of these 4 coefficients appropriately in the current code to reproduce the results of a previous Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, all 4 of these coefficients should now be set -2x larger than they were previously. -

    -

    Xmu is also specified in the pair_style command and is the upper limit +2x larger than they were previously.

    +
    +

    Xmu is also specified in the pair_style command and is the upper limit of the tangential force through the Coulomb criterion Ft = xmu*Fn, where Ft and Fn are the total tangential and normal force components in the formulas above. Thus in the Hookean case, the tangential force between 2 particles grows according to a tangential spring and dash-pot model until Ft/Fn = xmu and is then held at Ft = Fn*xmu until the particles lose contact. In the Hertzian case, a similar analogy -holds, though the spring is no longer linear. -

    -

    IMPORTANT NOTE: Normally, xmu should be specified as a fractional +holds, though the spring is no longer linear.

    +
    +

    Warning

    +

    Normally, xmu should be specified as a fractional value between 0.0 and 1.0, however LAMMPS allows large values (up to 1.0e4) to allow for modeling of systems which can sustain very large -tangential forces. -

    -

    For granular styles there are no additional coefficients to set for -each pair of atom types via the pair_coeff command. +tangential forces.

    +
    +

    For granular styles there are no additional coefficients to set for +each pair of atom types via the pair_coeff command. All settings are global and are made via the pair_style command. -However you must still use the pair_coeff for all -pairs of granular atom types. For example the command -

    -
    pair_coeff * * 
    -
    -

    should be used if all atoms in the simulation interact via a granular +However you must still use the pair_coeff for all +pairs of granular atom types. For example the command

    +
    pair_coeff * *
    +
    +
    +

    should be used if all atoms in the simulation interact via a granular potential (i.e. one of the pair styles above is used). If a granular -potential is used as a sub-style of pair_style -hybrid, then specific atom types can be used in the +potential is used as a sub-style of pair_style hybrid, then specific atom types can be used in the pair_coeff command to determine which atoms interact via a granular -potential. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +potential.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    The pair_modify mix, shift, table, and tail options -are not relevant for granular pair styles. -

    -

    These pair styles write their information to binary restart -files, so a pair_style command does 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 command. They do not support the -inner, middle, outer keywords. -

    -

    The single() function of these pair styles returns 0.0 for the energy +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    The pair_modify mix, shift, table, and tail options +are not relevant for granular pair styles.

    +

    These pair styles write their information to binary restart files, so a pair_style command does 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 command. They do not support the +inner, middle, outer keywords.

    +

    The single() function of these pair styles returns 0.0 for the energy of a pairwise interaction, since energy is not conserved in these dissipative potentials. It also returns only the normal component of the pairwise interaction force. However, the single() function also calculates 4 extra pairwise quantities. The first 3 are the components of the tangential force between particles I and J, acting -on particle I. P4 is the magnitude of this tangential force. These -extra quantites can be accessed by the compute -pair/local command, as p1, p2, p3, -p4. -

    -
    - -

    Restrictions: none -

    -

    All the granular pair styles are part of the GRANULAR package. It is -only enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    These pair styles require that atoms store torque and angular velocity -(omega) as defined by the atom_style. They also -require a per-particle radius is stored. The sphere atom style does -all of this. -

    -

    This pair style requires you to use the comm_modify vel -yes command so that velocites are stored by ghost -atoms. -

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +on particle I. P4 is the magnitude of this tangential force. These +extra quantites can be accessed by the compute pair/local command, as p1, p2, p3, +p4.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    All the granular pair styles are part of the GRANULAR package. It is +only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    These pair styles require that atoms store torque and angular velocity +(omega) as defined by the atom_style. They also +require a per-particle radius is stored. The sphere atom style does +all of this.

    +

    This pair style requires you to use the comm_modify vel yes command so that velocites are stored by ghost +atoms.

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +read_restart command for more details.

    +
    + +
    - -

    (Brilliantov) Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53, -p 5382-5392 (1996). -

    - +
    +
    +
    + -

    (Silbert) Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev -E, 64, p 051302 (2001). -

    - +
    -

    (Zhang) Zhang and Makse, Phys Rev E, 72, p 011301 (2005). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_gromacs.html b/doc/pair_gromacs.html index eb74024b82..eb8f3d242d 100644 --- a/doc/pair_gromacs.html +++ b/doc/pair_gromacs.html @@ -1,170 +1,337 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/gromacs command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/gromacs command -

    -

    pair_style lj/gromacs/cuda command -

    -

    pair_style lj/gromacs/gpu command -

    -

    pair_style lj/gromacs/omp command -

    -

    pair_style lj/gromacs/coul/gromacs command -

    -

    pair_style lj/gromacs/coul/gromacs/cuda command -

    -

    pair_style lj/gromacs/coul/gromacs/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/gromacs or lj/gromacs/coul/gromacs -
    • args = list of arguments for a particular style -
    -
      lj/gromacs args = inner outer
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/gromacs command¶

    +
    +
    +

    pair_style lj/gromacs/cuda command¶

    +
    +
    +

    pair_style lj/gromacs/gpu command¶

    +
    +
    +

    pair_style lj/gromacs/omp command¶

    +
    +
    +

    pair_style lj/gromacs/coul/gromacs command¶

    +
    +
    +

    pair_style lj/gromacs/coul/gromacs/cuda command¶

    +
    +
    +

    pair_style lj/gromacs/coul/gromacs/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/gromacs or lj/gromacs/coul/gromacs
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/gromacs args = inner outer
         inner, outer = global switching cutoffs for Lennard Jones
    -  lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
    +  lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
         inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    -    inner2, outer2 = global switching cutoffs for Coulombic (optional) 
    -
    -

    Examples: -

    -
    pair_style lj/gromacs 9.0 12.0
    +    inner2, outer2 = global switching cutoffs for Coulombic (optional)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/gromacs 9.0 12.0
     pair_coeff * * 100.0 2.0
    -pair_coeff 2 2 100.0 2.0 8.0 10.0 
    -
    -
    pair_style lj/gromacs/coul/gromacs 9.0 12.0
    +pair_coeff 2 2 100.0 2.0 8.0 10.0
    +
    +
    +
    pair_style lj/gromacs/coul/gromacs 9.0 12.0
     pair_style lj/gromacs/coul/gromacs 8.0 10.0 7.0 9.0
    -pair_coeff * * 100.0 2.0 
    -
    -

    Description: -

    -

    The lj/gromacs styles compute shifted LJ and Coulombic interactions +pair_coeff * * 100.0 2.0 +

    + + +
    +

    Description¶

    +

    The lj/gromacs styles compute shifted LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a commonly -used potential in the GROMACS MD code and for -the coarse-grained models of (Marrink). -

    -
    -
    -

    r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, -and C are computed by LAMMPS to perform the shifting and smoothing. +used potential in the GROMACS MD code and for +the coarse-grained models of (Marrink).

    +_images/pair_gromacs.jpg +

    r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, +and C are computed by LAMMPS to perform the shifting and smoothing. The function S(r) is actually applied once to each term of the LJ formula and once to the Coulombic formula, so there are 2 or 3 sets of A,B,C coefficients depending on which pair_style is used. The boundary conditions -applied to the smoothing function are as follows: S'(r1) = S''(r1) = 0, -S(rc) = -E(rc), S'(rc) = -E'(rc), and S''(rc) = -E''(rc), +applied to the smoothing function are as follows: S’(r1) = S’‘(r1) = 0, +S(rc) = -E(rc), S’(rc) = -E’(rc), and S’‘(rc) = -E’‘(rc), where E(r) is the corresponding term in the LJ or Coulombic potential energy function. -Single and double primes denote first and second -derivatives with respect to r, respectively. -

    -

    The inner and outer cutoff for the LJ and Coulombic terms can be the +Single and double primes denote first and second +derivatives with respect to r, respectively.

    +

    The inner and outer cutoff for the LJ and Coulombic terms can be the same or different depending on whether 2 or 4 arguments are used in -the pair_style command. The inner LJ cutoff must be > 0, but the -inner Coulombic cutoff can be >= 0. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +the pair_style command. The inner LJ cutoff must be > 0, but the +inner Coulombic cutoff can be >= 0.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • inner (distance units) -
    • outer (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • inner (distance units)
    • +
    • outer (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma. -

    -

    The last 2 coefficients are optional inner and outer cutoffs for style -lj/gromacs. If not specified, the global inner and outer values -are used. -

    -

    The last 2 coefficients cannot be used with style -lj/gromacs/coul/gromacs because this force field does not allow +sigma.

    +

    The last 2 coefficients are optional inner and outer cutoffs for style +lj/gromacs. If not specified, the global inner and outer values +are used.

    +

    The last 2 coefficients cannot be used with style +lj/gromacs/coul/gromacs because this force field does not allow varying cutoffs for individual atom pairs; all pairs use the global -cutoff(s) specified in the pair_style command. -

    -
    - -

    Styles intel, kk, with a cuda, gpu, omp, or opt suffix are +cutoff(s) specified in the pair_style command.

    +
    +

    Styles intel, kk, with a cuda, gpu, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    None of the GROMACS pair styles support the -pair_modify shift option, since the Lennard-Jones +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    None of the GROMACS pair styles support the +pair_modify shift option, since the Lennard-Jones portion of the pair interaction is already smoothed to 0.0 at the -cutoff. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    None of the GROMACS pair styles support the -pair_modify tail option for adding long-range tail +cutoff.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    None of the GROMACS pair styles support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff. -

    -

    All of the GROMACS pair styles write their information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    All of the GROMACS pair styles can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords. -

    -
    +a potential that goes to 0.0 at the cutoff.

    +

    All of the GROMACS pair styles write their information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    All of the GROMACS pair styles can only be used via the pair +keyword of the run_style respa command. They do not +support the inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Marrink) Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_hbond_dreiding.html b/doc/pair_hbond_dreiding.html index 617d0fa3fa..535f191bae 100644 --- a/doc/pair_hbond_dreiding.html +++ b/doc/pair_hbond_dreiding.html @@ -1,114 +1,237 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style hbond/dreiding/lj command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style hbond/dreiding/lj command -

    -

    pair_style hbond/dreiding/lj/omp command -

    -

    pair_style hbond/dreiding/morse command -

    -

    pair_style hbond/dreiding/morse/omp command -

    -

    Syntax: -

    -
    pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof 
    -
    -
    • style = hbond/dreiding/lj or hbond/dreiding/morse -
    • n = cosine angle periodicity -
    • inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) -
    • outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units) -
    • angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor -
    • interactions (degrees) -
    -

    Examples: -

    -
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90
    -pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0 
    -
    -
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90
    -pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 
    -
    -

    Description: -

    -

    The hbond/dreiding styles compute the Acceptor-Hydrogen-Donor (AHD) + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style hbond/dreiding/lj command¶

    +
    +
    +

    pair_style hbond/dreiding/lj/omp command¶

    +
    +
    +

    pair_style hbond/dreiding/morse command¶

    +
    +
    +

    pair_style hbond/dreiding/morse/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof
    +
    +
    +
      +
    • style = hbond/dreiding/lj or hbond/dreiding/morse
    • +
    • n = cosine angle periodicity
    • +
    • inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units)
    • +
    • outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units)
    • +
    • angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor
    • +
    • interactions (degrees)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90
    +pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0
    +
    +
    +
    pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90
    +pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90
    +
    +
    +
    +
    +

    Description¶

    +

    The hbond/dreiding styles compute the Acceptor-Hydrogen-Donor (AHD) 3-body hydrogen bond interaction for the -DREIDING force field, given by: -

    -
    -
    -

    where Rin is the inner spline distance cutoff, Rout is the outer +DREIDING force field, given by:

    +_images/pair_hbond_dreiding.jpg +

    where Rin is the inner spline distance cutoff, Rout is the outer distance cutoff, theta_c is the angle cutoff, and n is the cosine -periodicity. -

    -

    Here, r is the radial distance between the donor (D) and acceptor -(A) atoms and theta is the bond angle between the acceptor, the -hydrogen (H) and the donor atoms: -

    -
    -
    -

    These 3-body interactions can be defined for pairs of acceptor and +periodicity.

    +

    Here, r is the radial distance between the donor (D) and acceptor +(A) atoms and theta is the bond angle between the acceptor, the +hydrogen (H) and the donor atoms:

    +_images/dreiding_hbond.jpg +

    These 3-body interactions can be defined for pairs of acceptor and donor atoms, based on atom types. For each donor/acceptor atom pair, the 3rd atom in the interaction is a hydrogen permanently bonded to the donor atom, e.g. in a bond list read in from a data file via the -read_data command. The atom types of possible +read_data command. The atom types of possible hydrogen atoms for each donor/acceptor type pair are specified by the -pair_coeff command (see below). -

    -

    Style hbond/dreiding/lj is the original DREIDING potential of -(Mayo). It uses a LJ 12/10 functional for the Donor-Acceptor -interactions. To match the results in the original paper, use n = 4. -

    -

    Style hbond/dreiding/morse is an improved version using a Morse -potential for the Donor-Acceptor interactions. (Liu) showed +pair_coeff command (see below).

    +

    Style hbond/dreiding/lj is the original DREIDING potential of +(Mayo). It uses a LJ 12/10 functional for the Donor-Acceptor +interactions. To match the results in the original paper, use n = 4.

    +

    Style hbond/dreiding/morse is an improved version using a Morse +potential for the Donor-Acceptor interactions. (Liu) showed that the Morse form gives improved results for Dendrimer simulations, -when n = 2. -

    -

    See this howto section of the manual for -more information on the DREIDING forcefield. -

    -

    IMPORTANT NOTE: Because the Dreiding hydrogen bond potential is only +when n = 2.

    +

    See this howto section of the manual for +more information on the DREIDING forcefield.

    +
    +

    Warning

    +

    Because the Dreiding hydrogen bond potential is only one portion of an overall force field which typically includes other pairwise interactions, it is common to use it as a sub-style in a -pair_style hybrid/overlay command, where another +pair_style hybrid/overlay command, where another pair style provides the repulsive core interaction between pairs of -atoms, e.g. a 1/r^12 Lennard-Jones repulsion. -

    -

    IMPORTANT NOTE: When using the hbond/dreiding pair styles with -pair_style hybrid/overlay, you should explicitly +atoms, e.g. a 1/r^12 Lennard-Jones repulsion.

    +
    +
    +

    Warning

    +

    When using the hbond/dreiding pair styles with +pair_style hybrid/overlay, you should explicitly define pair interactions between the donor atom and acceptor atoms, (as well as between these atoms and ALL other atoms in your system). -Whenever pair_style hybrid/overlay is used, +Whenever pair_style hybrid/overlay is used, ordinary mixing rules are not applied to atoms like the donor and acceptor atoms because they are typically referenced in multiple pair styles. Neglecting to do this can cause difficult-to-detect physics -problems. -

    -

    IMPORTANT NOTE: In the original Dreiding force field paper 1-4 +problems.

    +
    +
    +

    Warning

    +

    In the original Dreiding force field paper 1-4 non-bonded interactions ARE allowed. If this is desired for your -model, use the special_bonds command (e.g. "special_bonds lj 0.0 0.0 -1.0") to turn these interactions on. -

    -
    - -

    The following coefficients must be defined for pairs of eligible -donor/acceptor types via the pair_coeff command as -in the examples above. -

    -

    IMPORTANT NOTE: Unlike other pair styles and their associated -pair_coeff commands, you do not need to specify +model, use the special_bonds command (e.g. “special_bonds lj 0.0 0.0 +1.0”) to turn these interactions on.

    +
    +
    +

    The following coefficients must be defined for pairs of eligible +donor/acceptor types via the pair_coeff command as +in the examples above.

    +
    +

    Warning

    +

    Unlike other pair styles and their associated +pair_coeff commands, you do not need to specify pair_coeff settings for all possible I,J type pairs. Only I,J type pairs for atoms which act as joint donors/acceptors need to be -specified; all other type pairs are assumed to be inactive. -

    -

    IMPORTANT NOTE: A pair_coeff command can be +specified; all other type pairs are assumed to be inactive.

    +
    +
    +

    Warning

    +

    A pair_coeff command can be speficied multiple times for the same donor/acceptor type pair. This enables multiple hydrogen types to be assigned to the same donor/acceptor type pair. For other pair_styles, if the pair_coeff @@ -116,140 +239,177 @@ command is re-used for the same I.J type pair, the settings for that type pair are overwritten. For the hydrogen bond potentials this is not the case; the settings are cummulative. This means the only way to turn off a previous setting, is to re-use the pair_style command -and start over. -

    -

    For the hbond/dreiding/lj style the list of coefficients is as -follows: -

    -
    • K = hydrogen atom type = 1 to Ntypes -
    • donor flag = i or j -
    • epsilon (energy units) -
    • sigma (distance units) -
    • n = exponent in formula above -
    • distance cutoff Rin (distance units) -
    • distance cutoff Rout (distance units) -
    • angle cutoff (degrees) -
    -

    For the hbond/dreiding/morse style the list of coefficients is as -follows: -

    -
    • K = hydrogen atom type = 1 to Ntypes -
    • donor flag = i or j -
    • D0 (energy units) -
    • alpha (1/distance units) -
    • r0 (distance units) -
    • n = exponent in formula above -
    • distance cutoff Rin (distance units) -
    • distance cutoff Rout (distance units) -
    • angle cutoff (degrees) -
    -

    A single hydrogen atom type K can be specified, or a wild-card +and start over.

    +
    +

    For the hbond/dreiding/lj style the list of coefficients is as +follows:

    +
      +
    • K = hydrogen atom type = 1 to Ntypes
    • +
    • donor flag = i or j
    • +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • n = exponent in formula above
    • +
    • distance cutoff Rin (distance units)
    • +
    • distance cutoff Rout (distance units)
    • +
    • angle cutoff (degrees)
    • +
    +

    For the hbond/dreiding/morse style the list of coefficients is as +follows:

    +
      +
    • K = hydrogen atom type = 1 to Ntypes
    • +
    • donor flag = i or j
    • +
    • D0 (energy units)
    • +
    • alpha (1/distance units)
    • +
    • r0 (distance units)
    • +
    • n = exponent in formula above
    • +
    • distance cutoff Rin (distance units)
    • +
    • distance cutoff Rout (distance units)
    • +
    • angle cutoff (degrees)
    • +
    +

    A single hydrogen atom type K can be specified, or a wild-card asterisk can be used in place of or in conjunction with the K arguments to select multiple types as hydrogens. This takes the form -"*" or "*n" or "n*" or "m*n". See the pair_coeff command -doc page for details. -

    -

    If the donor flag is i, then the atom of type I in the pair_coeff +“*” or “n” or “n” or “m*n”. See the pair_coeff command +doc page for details.

    +

    If the donor flag is i, then the atom of type I in the pair_coeff command is treated as the donor, and J is the acceptor. If the donor -flag is j, then the atom of type J in the pair_coeff command is +flag is j, then the atom of type J in the pair_coeff command is treated as the donor and I is the donor. This option is required -because the pair_coeff command requires that I <= J. -

    -

    Epsilon and sigma are settings for the hydrogen bond potential based +because the pair_coeff command requires that I <= J.

    +

    Epsilon and sigma are settings for the hydrogen bond potential based on a Lennard-Jones functional form. Note that sigma is defined as the zero-crossing distance for the potential, not as the energy minimum at -2^(1/6) sigma. -

    -

    D0 and alpha and r0 are settings for the hydrogen bond potential based -on a Morse functional form. -

    -

    The last 3 coefficients for both styles are optional. If not +2^(1/6) sigma.

    +

    D0 and alpha and r0 are settings for the hydrogen bond potential based +on a Morse functional form.

    +

    The last 3 coefficients for both styles are optional. If not specified, the global n, distance cutoff, and angle cutoff specified in the pair_style command are used. If you wish to only override the 2nd or 3rd optional parameter, you must also specify the preceding -optional parameters. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +optional parameters.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. You must explicitly identify -each donor/acceptor type pair. -

    -

    These styles do not support the pair_modify shift -option for the energy of the interactions. -

    -

    The pair_modify table option is not relevant for -these pair styles. -

    -

    These pair styles do not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. You must explicitly identify +each donor/acceptor type pair.

    +

    These styles do not support the pair_modify shift +option for the energy of the interactions.

    +

    The pair_modify table option is not relevant for +these pair styles.

    +

    These pair styles do not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    These pair styles do not write their information to binary restart -files, so pair_style and pair_coeff commands need to be -re-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 command. They do not support the -inner, middle, outer keywords. -

    -

    These pair styles tally a count of how many hydrogen bonding +pressure.

    +

    These pair styles do not write their information to binary restart files, so pair_style and pair_coeff commands need to be +re-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 command. They do not support the +inner, middle, outer keywords.

    +

    These pair styles tally a count of how many hydrogen bonding interactions they calculate each timestep and the hbond energy. These -quantities can be accessed via the compute pair -command as a vector of values of length 2. -

    -

    To print these quantities to the log file (with a descriptive column -heading) the following commands could be included in an input script: -

    -
    compute hb all pair hbond/dreiding/lj
    +quantities can be accessed via the compute pair
    +command as a vector of values of length 2.

    +

    To print these quantities to the log file (with a descriptive column +heading) the following commands could be included in an input script:

    +
    compute hb all pair hbond/dreiding/lj
     variable n_hbond equal c_hb[1] #number hbonds
     variable E_hbond equal c_hb[2] #hbond energy
    -thermo_style custom step temp epair v_E_hbond 
    -
    -
    +thermo_style custom step temp epair v_E_hbond +
    +
    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). -

    - +
    -

    (Liu) Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8) -2798 (2009) -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_hybrid.html b/doc/pair_hybrid.html index 0403530f02..2bfb4a9927 100644 --- a/doc/pair_hybrid.html +++ b/doc/pair_hybrid.html @@ -1,140 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style hybrid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style hybrid command -

    -

    pair_style hybrid/omp command -

    -

    pair_style hybrid/overlay command -

    -

    pair_style hybrid/overlay/omp command -

    -

    Syntax: -

    -
    pair_style hybrid style1 args style2 args ...
    -pair_style hybrid/overlay style1 args style2 args ... 
    -
    -
    • style1,style2 = list of one or more pair styles and their arguments -
    -

    Examples: -

    -
    pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style hybrid command¶

    +
    +
    +

    pair_style hybrid/omp command¶

    +
    +
    +

    pair_style hybrid/overlay command¶

    +
    +
    +

    pair_style hybrid/overlay/omp command¶

    +
    +

    Syntax¶

    +
    pair_style hybrid style1 args style2 args ...
    +pair_style hybrid/overlay style1 args style2 args ...
    +
    +
    +
      +
    • style1,style2 = list of one or more pair styles and their arguments
    • +
    +
    +
    +

    Examples¶

    +
    pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
     pair_coeff 1*2 1*2 eam niu3
     pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
    -pair_coeff 1*2 3 lj/cut 0.5 1.2 
    -
    -
    pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
    +pair_coeff 1*2 3 lj/cut 0.5 1.2
    +
    +
    +
    pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff * * coul/long 
    -
    -

    Description: -

    -

    The hybrid and hybrid/overlay styles enable the use of multiple -pair styles in one simulation. With the hybrid style, exactly one +pair_coeff * * coul/long +

    + + +
    +

    Description¶

    +

    The hybrid and hybrid/overlay styles enable the use of multiple +pair styles in one simulation. With the hybrid style, exactly one pair style is assigned to each pair of atom types. With the -hybrid/overlay style, one or more pair styles can be assigned to +hybrid/overlay style, one or more pair styles can be assigned to each pair of atom types. The assignment of pair styles to type pairs -is made via the pair_coeff command. -

    -

    Here are two examples of hybrid simulations. The hybrid style could +is made via the pair_coeff command.

    +

    Here are two examples of hybrid simulations. The hybrid style could be used for a simulation of a metal droplet on a LJ surface. The -metal atoms interact with each other via an eam potential, the -surface atoms interact with each other via a lj/cut potential, and -the metal/surface interaction is also computed via a lj/cut -potential. The hybrid/overlay style could be used as in the 2nd +metal atoms interact with each other via an eam potential, the +surface atoms interact with each other via a lj/cut potential, and +the metal/surface interaction is also computed via a lj/cut +potential. The hybrid/overlay style could be used as in the 2nd example above, where multiple potentials are superposed in an additive fashion to compute the interaction between atoms. In this example, -using lj/cut and coul/long together gives the same result as if -the lj/cut/coul/long potential were used by itself. In this case, +using lj/cut and coul/long together gives the same result as if +the lj/cut/coul/long potential were used by itself. In this case, it would be more efficient to use the single combined potential, but in general any combination of pair potentials can be used together in to produce an interaction that is not encoded in any single pair_style -file, e.g. adding Coulombic forces between granular particles. -

    -

    All pair styles that will be used are listed as "sub-styles" following -the hybrid or hybrid/overlay keyword, in any order. Each -sub-style's name is followed by its usual arguments, as illustrated in +file, e.g. adding Coulombic forces between granular particles.

    +

    All pair styles that will be used are listed as “sub-styles” following +the hybrid or hybrid/overlay keyword, in any order. Each +sub-style’s name is followed by its usual arguments, as illustrated in the example above. See the doc pages of individual pair styles for a -listing and explanation of the appropriate arguments. -

    -

    Note that an individual pair style can be used multiple times as a +listing and explanation of the appropriate arguments.

    +

    Note that an individual pair style can be used multiple times as a sub-style. For efficiency this should only be done if your model requires it. E.g. if you have different regions of Si and C atoms and wish to use a Tersoff potential for pure Si for one set of atoms, and a Tersoff potetnial for pure C for the other set (presumably with some -3rd potential for Si-C interactions), then the sub-style tersoff +3rd potential for Si-C interactions), then the sub-style tersoff could be listed twice. But if you just want to use a Lennard-Jones or other pairwise potential for several different atom type pairs in your model, then you should just list the sub-style once and use the -pair_coeff command to assign parameters for the different type pairs. -

    -

    IMPORTANT NOTE: An exception to this option to list an individual pair +pair_coeff command to assign parameters for the different type pairs.

    +
    +

    Warning

    +

    An exception to this option to list an individual pair style multiple times are the pair styles implemented as Fortran -libraries: pair_style meam and pair_style -reax (pair_style reax/c is OK). +libraries: pair_style meam and pair_style reax (pair_style reax/c is OK). This is because unlike a C++ class, they can not be instantiated -multiple times, due to the manner in which they were coded in Fortran. -

    -

    In the pair_coeff commands, the name of a pair style must be added +multiple times, due to the manner in which they were coded in Fortran.

    +
    +

    In the pair_coeff commands, the name of a pair style must be added after the I,J type specification, with the remaining coefficients being those appropriate to that style. If the pair style is used multiple times in the pair_style command, then an additional numeric argument must also be specified which is a number from 1 to M where M is the number of times the sub-style was listed in the pair style command. The extra number indicates which instance of the sub-style -these coefficients apply to. -

    -

    For example, consider a simulation with 3 atom types: types 1 and 2 +these coefficients apply to.

    +

    For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following -commands would set up a hybrid simulation: -

    -
    pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
    +commands would set up a hybrid simulation:

    +
    pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
     pair_coeff * * eam/alloy nialhjea Ni Ni NULL
     pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
    -pair_coeff 1*2 3 lj/cut 0.8 1.3 
    -
    -

    As an example of using the same pair style multiple times, consider a +pair_coeff 1*2 3 lj/cut 0.8 1.3 +

    + +

    As an example of using the same pair style multiple times, consider a simulation with 2 atom types. Type 1 is Si, type 2 is C. The following commands would model the Si atoms with Tersoff, the C atoms -with Tersoff, and the cross-interactions with Lennard-Jones: -

    -
    pair_style hybrid lj/cut 2.5 tersoff tersoff
    -pair_coeff * * tersoff 1 Si.tersoff Si NULL 
    +with Tersoff, and the cross-interactions with Lennard-Jones:

    +
    pair_style hybrid lj/cut 2.5 tersoff tersoff
    +pair_coeff * * tersoff 1 Si.tersoff Si NULL
     pair_coeff * * tersoff 2 C.tersoff NULL C
    -pair_coeff 1 2 lj/cut 1.0 1.5 
    -
    -

    If pair coefficients are specified in the data file read via the -read_data command, then the same rule applies. -E.g. "eam/alloy" or "lj/cut" must be added after the atom type, for -each line in the "Pair Coeffs" section, e.g. -

    -
    Pair Coeffs 
    -
    -
    1 lj/cut/coul/cut 1.0 1.0
    -... 
    -
    -

    Note that the pair_coeff command for some potentials such as -pair_style eam/alloy includes a mapping specification +pair_coeff 1 2 lj/cut 1.0 1.5 +

    + +

    If pair coefficients are specified in the data file read via the +read_data command, then the same rule applies. +E.g. “eam/alloy” or “lj/cut” must be added after the atom type, for +each line in the “Pair Coeffs” section, e.g.

    +
    Pair Coeffs
    +
    +
    +
    1 lj/cut/coul/cut 1.0 1.0
    +...
    +
    +
    +

    Note that the pair_coeff command for some potentials such as +pair_style eam/alloy includes a mapping specification of elements to all atom types, which in the hybrid case, can include -atom types not assigned to the eam/alloy potential. The NULL +atom types not assigned to the eam/alloy potential. The NULL keyword is used by many such potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type that will be assigned to a different -sub-style. -

    -

    For the hybrid style, each atom type pair I,J is assigned to exactly +sub-style.

    +

    For the hybrid style, each atom type pair I,J is assigned to exactly one sub-style. Just as with a simulation using a single pair style, if you specify the same atom type pair in a second pair_coeff command, -the previous assignment will be overwritten. -

    -

    For the hybrid/overlay style, each atom type pair I,J can be +the previous assignment will be overwritten.

    +

    For the hybrid/overlay style, each atom type pair I,J can be assigned to one or more sub-styles. If you specify the same atom type pair in a second pair_coeff command with a new sub-style, then the second sub-style is added to the list of potentials that will be @@ -143,76 +262,66 @@ the same atom type pair in a second pair_coeff command with a sub-style that has already been defined for that pair of atoms, then the new pair coefficients simply override the previous ones, as in the normal usage of the pair_coeff command. E.g. these two sets of -commands are the same: -

    -
    pair_style lj/cut 2.5
    +commands are the same:

    +
    pair_style lj/cut 2.5
     pair_coeff * * 1.0 1.0
    -pair_coeff 2 2 1.5 0.8 
    -
    -
    pair_style hybrid/overlay lj/cut 2.5
    +pair_coeff 2 2 1.5 0.8
    +
    +
    +
    pair_style hybrid/overlay lj/cut 2.5
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff 2 2 lj/cut 1.5 0.8 
    -
    -

    Coefficients must be defined for each pair of atoms types via the -pair_coeff command as described above, or in the -data file or restart files read by the read_data or -read_restart commands, or by mixing as described -below. -

    -

    For both the hybrid and hybrid/overlay styles, every atom type -pair I,J (where I <= J) must be assigned to at least one sub-style via -the pair_coeff command as in the examples above, or -in the data file read by the read_data, or by mixing -as described below. -

    -

    If you want there to be no interactions between a particular pair of +pair_coeff 2 2 lj/cut 1.5 0.8 +

    + +

    Coefficients must be defined for each pair of atoms types via the +pair_coeff command as described above, or in the +data file or restart files read by the read_data or +read_restart commands, or by mixing as described +below.

    +

    For both the hybrid and hybrid/overlay styles, every atom type +pair I,J (where I <= J) must be assigned to at least one sub-style via +the pair_coeff command as in the examples above, or +in the data file read by the read_data, or by mixing +as described below.

    +

    If you want there to be no interactions between a particular pair of atom types, you have 3 choices. You can assign the type pair to some -sub-style and use the neigh_modify exclude type +sub-style and use the neigh_modify exclude type command. You can assign it to some sub-style and set the coefficients so that there is effectively no interaction (e.g. epsilon = 0.0 in a -LJ potential). Or, for hybrid and hybrid/overlay simulations, you -can use this form of the pair_coeff command in your input script: -

    -
    pair_coeff	2 3 none 
    -
    -

    or this form in the "Pair Coeffs" section of the data file: -

    -
    3 none 
    -
    -

    If an assignment to none is made in a simulation with the -hybrid/overlay pair style, it wipes out all previous assignments of -that atom type pair to sub-styles. -

    -

    Note that you may need to use an atom_style hybrid +LJ potential). Or, for hybrid and hybrid/overlay simulations, you +can use this form of the pair_coeff command in your input script:

    +
    pair_coeff   2 3 none
    +
    +
    +

    or this form in the “Pair Coeffs” section of the data file:

    +
    3 none
    +
    +
    +

    If an assignment to none is made in a simulation with the +hybrid/overlay pair style, it wipes out all previous assignments of +that atom type pair to sub-styles.

    +

    Note that you may need to use an atom_style hybrid command in your input script, if atoms in the simulation will need attributes from several atom styles, due to using multiple pair -potentials. -

    -
    - -

    Different force fields (e.g. CHARMM vs AMBER) may have different rules +potentials.

    +
    +

    Different force fields (e.g. CHARMM vs AMBER) may have different rules for applying weightings that change the strength of pairwise interactions bewteen pairs of atoms that are also 1-2, 1-3, and 1-4 neighbors in the molecular bond topology, as normally set by the -special_bonds command. Different weights can be -assigned to different pair hybrid sub-styles via the pair_modify -special command. This allows multiple force fields +special_bonds command. Different weights can be +assigned to different pair hybrid sub-styles via the pair_modify special command. This allows multiple force fields to be used in a model of a hybrid system. See the -pair_modify doc page for details. -

    -

    The potential energy contribution to the overall system due to an -individual sub-style can be accessed and output via the compute -pair command. -

    -
    - -

    IMPORTANT: Several of the potentials defined via the pair_style +pair_modify doc page for details.

    +

    The potential energy contribution to the overall system due to an +individual sub-style can be accessed and output via the compute pair command.

    +
    +

    IMPORTANT: Several of the potentials defined via the pair_style command in LAMMPS are really many-body potentials, such as Tersoff, AIREBO, MEAM, ReaxFF, etc. The way to think about using these -potentials in a hybrid setting is as follows. -

    -

    A subset of atom types is assigned to the many-body potential with a -single pair_coeff command, using "* *" to include +potentials in a hybrid setting is as follows.

    +

    A subset of atom types is assigned to the many-body potential with a +single pair_coeff command, using “* *” to include all types and the NULL keywords described above to exclude specific types not assigned to that potential. If types 1,3,4 were assigned in that way (but not type 2), this means that all many-body interactions @@ -220,9 +329,8 @@ between all atoms of types 1,3,4 will be computed by that potential. Pair_style hybrid allows interactions between type pairs 2-2, 1-2, 2-3, 2-4 to be specified for computation by other pair styles. You could even add a second interaction for 1-1 to be computed by another -pair style, assuming pair_style hybrid/overlay is used. -

    -

    But you should not, as a general rule, attempt to exclude the +pair style, assuming pair_style hybrid/overlay is used.

    +

    But you should not, as a general rule, attempt to exclude the many-body interactions for some subset of the type pairs within the set of 1,3,4 interactions, e.g. exclude 1-1 or 1-3 interactions. That is not conceptually well-defined for many-body interactions, since the @@ -230,125 +338,171 @@ potential will typically calculate energies and foces for small groups of atoms, e.g. 3 or 4 atoms, using the neighbor lists of the atoms to find the additional atoms in the group. It is typically non-physical to think of excluding an interaction between a particular pair of -atoms when the potential computes 3-body or 4-body interactions. -

    -

    However, you can still use the pair_coeff none setting or the -neigh_modify exclude command to exclude certain +atoms when the potential computes 3-body or 4-body interactions.

    +

    However, you can still use the pair_coeff none setting or the +neigh_modify exclude command to exclude certain type pairs from the neighbor list that will be passed to a manybody sub-style. This will alter the calculations made by a many-body potential, since it builds its list of 3-body, 4-body, etc interactions from the pair list. You will need to think carefully as -to whether it produces a physically meaningful result for your model. -

    -

    For example, imagine you have two atom types in your model, type 1 for +to whether it produces a physically meaningful result for your model.

    +

    For example, imagine you have two atom types in your model, type 1 for atoms in one surface, and type 2 for atoms in the other, and you wish to use a Tersoff potential to compute interactions within each surface, but not between surfaces. Then either of these two command -sequences would implement that model: -

    -
    pair_style hybrid tersoff
    +sequences would implement that model:

    +
    pair_style hybrid tersoff
     pair_coeff * * tersoff SiC.tersoff C C
    -pair_coeff 1 2 none 
    -
    -
    pair_style tersoff
    +pair_coeff 1 2 none
    +
    +
    +
    pair_style tersoff
     pair_coeff * * SiC.tersoff C C
    -neigh_modify exclude type 1 2 
    -
    -

    Either way, only neighbor lists with 1-1 or 2-2 interactions would be +neigh_modify exclude type 1 2 +

    + +

    Either way, only neighbor lists with 1-1 or 2-2 interactions would be passed to the Tersoff potential, which means it would compute no -3-body interactions containing both type 1 and 2 atoms. -

    -

    Here is another example, using hybrid/overlay, to use 2 many-body +3-body interactions containing both type 1 and 2 atoms.

    +

    Here is another example, using hybrid/overlay, to use 2 many-body potentials together, in an overlapping manner. Imagine you have CNT (C atoms) on a Si surface. You want to use Tersoff for Si/Si and Si/C interactions, and AIREBO for C/C interactions. Si atoms are type 1; C -atoms are type 2. Something like this will work: -

    -
    pair_style hybrid/overlay tersoff airebo 3.0
    +atoms are type 2.  Something like this will work:

    +
    pair_style hybrid/overlay tersoff airebo 3.0
     pair_coeff * * tersoff SiC.tersoff.custom Si C
    -pair_coeff * * airebo CH.airebo NULL C 
    -
    -

    Note that to prevent the Tersoff potential from computing C/C +pair_coeff * * airebo CH.airebo NULL C +

    + +

    Note that to prevent the Tersoff potential from computing C/C interactions, you would need to modify the SiC.tersoff file to turn off C/C interaction, i.e. by setting the appropriate coefficients to -0.0. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +0.0.

    +
    +

    Styles with a cuda, 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 in Section_accelerate -of the manual. -

    -

    Since the hybrid and hybrid/overlay styles delegate computation -to the individual sub-styles, the suffix versions of the hybrid -and hybrid/overlay styles are used to propagate the corresponding +hardware, as discussed in Section_accelerate +of the manual.

    +

    Since the hybrid and hybrid/overlay styles delegate computation +to the individual sub-styles, the suffix versions of the hybrid +and hybrid/overlay styles are used to propagate the corresponding suffix to all sub-styles, if those versions exist. Otherwise the -non-accelerated version will be used. -

    -

    The individual accelerated sub-styles are part of the USER-CUDA, GPU, +non-accelerated version will be used.

    +

    The individual accelerated sub-styles are part of the USER-CUDA, GPU, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the -Making LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    Any pair potential settings made via the -pair_modify command are passed along to all -sub-styles of the hybrid potential. -

    -

    For atom type pairs I,J and I != J, if the sub-style assigned to I,I +Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    Any pair potential settings made via the +pair_modify command are passed along to all +sub-styles of the hybrid potential.

    +

    For atom type pairs I,J and I != J, if the sub-style assigned to I,I and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to specify a pair_coeff command for I,J since the I,J type pair will be assigned automatically to the sub-style defined for both I,I and J,J and its coefficients generated by the mixing rule used by that -sub-style. For the hybrid/overlay style, there is an additional +sub-style. For the hybrid/overlay style, there is an additional requirement that both the I,I and J,J pairs are assigned to a single -sub-style. See the "pair_modify" command for details of mixing rules. +sub-style. See the “pair_modify” command for details of mixing rules. See the See the doc page for the sub-style to see if allows for -mixing. -

    -

    The hybrid pair styles supports the pair_modify +mixing.

    +

    The hybrid pair styles supports the pair_modify shift, table, and tail options for an I,J pair interaction, if the -associated sub-style supports it. -

    -

    For the hybrid pair styles, the list of sub-styles and their -respective settings are written to binary restart -files, so a pair_style command does +associated sub-style supports it.

    +

    For the hybrid pair styles, the list of sub-styles and their +respective settings are written to binary restart files, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file. Thus, pair_coeff commands need to be re-specified in the -restart input script. -

    -

    These pair styles support the use of the inner, middle, and -outer keywords of the run_style respa command, if -their sub-styles do. -

    -

    Restrictions: -

    -

    When using a long-range Coulombic solver (via the -kspace_style command) with a hybrid pair_style, -one or more sub-styles will be of the "long" variety, -e.g. lj/cut/coul/long or buck/coul/long. You must insure that the +restart input script.

    +

    These pair styles support the use of the inner, middle, and +outer keywords of the run_style respa command, if +their sub-styles do.

    + +
    +

    Restrictions¶

    +

    When using a long-range Coulombic solver (via the +kspace_style command) with a hybrid pair_style, +one or more sub-styles will be of the “long” variety, +e.g. lj/cut/coul/long or buck/coul/long. You must insure that the short-range Coulombic cutoff used by each of these long pair styles is -the same or else LAMMPS will generate an error. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - +the same or else LAMMPS will generate an error.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_kim.html b/doc/pair_kim.html index 7ff025a96a..c803dbb5b4 100644 --- a/doc/pair_kim.html +++ b/doc/pair_kim.html @@ -1,123 +1,289 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style kim command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style kim command -

    -

    Syntax: -

    -
    pair_style kim virialmode model printflag 
    -
    -
    • virialmode = KIMvirial or LAMMPSvirial -
    • model = name of KIM model (potential) -
    • printflag = 1/0 do or do not print KIM descriptor file, optional -
    -

    Examples: -

    -
    pair_style kim KIMvirial model_Ar_P_Morse
    -pair_coeff * * Ar Ar 
    -
    -
    pair_style kim KIMvirial model_Ar_P_Morse 1
    -pair_coeff * * Ar Ar 
    -
    -

    Description: -

    -

    This pair style is a wrapper on the Knowledge Base for Interatomic -Models (KIM) repository of interatomic potentials, -so that they can be used by LAMMPS scripts. -

    -

    In KIM lingo, a potential is a "model" and a model contains both the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style kim command¶

    +
    +

    Syntax¶

    +
    pair_style kim virialmode model printflag
    +
    +
    +
      +
    • virialmode = KIMvirial or LAMMPSvirial
    • +
    • model = name of KIM model (potential)
    • +
    • printflag = 1/0 do or do not print KIM descriptor file, optional
    • +
    +
    +
    +

    Examples¶

    +
    pair_style kim KIMvirial model_Ar_P_Morse
    +pair_coeff * * Ar Ar
    +
    +
    +
    pair_style kim KIMvirial model_Ar_P_Morse 1
    +pair_coeff * * Ar Ar
    +
    +
    +
    +
    +

    Description¶

    +

    This pair style is a wrapper on the Knowledge Base for Interatomic Models (KIM) repository of interatomic potentials, +so that they can be used by LAMMPS scripts.

    +

    In KIM lingo, a potential is a “model” and a model contains both the analytic formulas that define the potential as well as the parameters needed to run it for one or more materials, including coefficients and -cutoffs. -

    -

    The argument virialmode determines how the global virial is -calculated. If KIMvirial is specified, the KIM model performs the -global virial calculation (if it knows how). If LAMMPSvirial is -specified, LAMMPS computes the global virial using its fdotr mechanism. -

    -

    The argument model is the name of the KIM model for a specific +cutoffs.

    +

    The argument virialmode determines how the global virial is +calculated. If KIMvirial is specified, the KIM model performs the +global virial calculation (if it knows how). If LAMMPSvirial is +specified, LAMMPS computes the global virial using its fdotr mechanism.

    +

    The argument model is the name of the KIM model for a specific potential as KIM defines it. In principle, LAMMPS can invoke any KIM model. You should get an error or warning message from either LAMMPS -or KIM if there is an incompatibility. -

    -

    The argument printflag is optional. If it is set to a non-zero +or KIM if there is an incompatibility.

    +

    The argument printflag is optional. If it is set to a non-zero value then a KIM dsecriptor file is printed when KIM is invoked. This -can be useful for debugging. The default is to not print this file. -

    -

    Only a single pair_coeff command is used with the kim style which +can be useful for debugging. The default is to not print this file.

    +

    Only a single pair_coeff command is used with the kim style which specifies the mapping of LAMMPS atom types to KIM elements. This is done by specifying N additional arguments after the * * in the -pair_coeff command, where N is the number of LAMMPS atom types: -

    -
    • N element names = mapping of KIM elements to atom types -
    -

    As an example, imagine the KIM model supports Si and C atoms. If your +pair_coeff command, where N is the number of LAMMPS atom types:

    +
      +
    • N element names = mapping of KIM elements to atom types
    • +
    +

    As an example, imagine the KIM model supports Si and C atoms. If your LAMMPS simulation has 4 atom types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair_coeff command: -

    -
    pair_coeff * * Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +and the 4th to be C, you would use the following pair_coeff command:

    +
    pair_coeff * * Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to Si as defined within KIM. The final C argument maps LAMMPS atom type 4 to C as defined within KIM. If a mapping value is specified as NULL, the -mapping is not performed. This can only be used when a kim -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can only be used when a kim +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials. -

    -
    - -

    In addition to the usual LAMMPS error messages, the KIM library itself +potentials.

    +
    +

    In addition to the usual LAMMPS error messages, the KIM library itself may generate errors, which should be printed to the screen. In this case it is also useful to check the kim.log file for additional error information. This file kim.log should be generated in the same -directory where LAMMPS is running. -

    -

    To download, build, and install the KIM library on your system, see +directory where LAMMPS is running.

    +

    To download, build, and install the KIM library on your system, see the lib/kim/README file. Once you have done this and built LAMMPS with the KIM package installed you can run the example input scripts -in examples/kim. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since KIM stores the potential parameters. +in examples/kim.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since KIM stores the potential parameters. Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the KIM package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This current version of pair_style kim is compatible with the +kim-api package version 1.6.0 and higher.

    +
    + +
    -

    Restrictions: -

    -

    This pair style is part of the KIM package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This current version of pair_style kim is compatible with the -kim-api package version 1.6.0 and higher. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lcbop.html b/doc/pair_lcbop.html index 8b407d6729..7221a44136 100644 --- a/doc/pair_lcbop.html +++ b/doc/pair_lcbop.html @@ -1,103 +1,269 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lcbop command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lcbop command -

    -

    Syntax: -

    -
    pair_style lcbop 
    -
    -

    Examples: -

    -
    pair_style lcbop
    -pair_coeff * * ../potentials/C.lcbop C 
    -
    -

    Description: -

    -

    The lcbop pair style computes the long-range bond-order potential -for carbon (LCBOP) of (Los and Fasolino). See section II in -that paper for the analytic equations associated with the potential. -

    -

    Only a single pair_coeff command is used with the lcbop style which + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lcbop command¶

    +
    +

    Syntax¶

    +
    pair_style lcbop
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style lcbop
    +pair_coeff * * ../potentials/C.lcbop C
    +
    +
    +
    +
    +

    Description¶

    +

    The lcbop pair style computes the long-range bond-order potential +for carbon (LCBOP) of (Los and Fasolino). See section II in +that paper for the analytic equations associated with the potential.

    +

    Only a single pair_coeff command is used with the lcbop style which specifies an LCBOP potential file with parameters for specific elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of LCBOP elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C you would use the following pair_coeff command: -

    -
    pair_coeff * * C.lcbop C C C NULL 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of LCBOP elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, if your LAMMPS simulation has 4 atom types and you want +the 1st 3 to be C you would use the following pair_coeff command:

    +
    pair_coeff * * C.lcbop C C C NULL
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first C argument maps LAMMPS atom type 1 to the C element in the LCBOP file. If a mapping value is specified as NULL, the mapping is -not performed. This can be used when a lcbop potential is used as -part of the hybrid pair style. The NULL values are placeholders for -atom types that will be used with other potentials. -

    -

    The parameters/coefficients for the LCBOP potential as applied to C -are listed in the C.lcbop file to agree with the original (Los and -Fasolino) paper. Thus the parameters are specific to this +not performed. This can be used when a lcbop potential is used as +part of the hybrid pair style. The NULL values are placeholders for +atom types that will be used with other potentials.

    +

    The parameters/coefficients for the LCBOP potential as applied to C +are listed in the C.lcbop file to agree with the original (Los and Fasolino) paper. Thus the parameters are specific to this potential and the way it was fit, so modifying the file should be done -carefully. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +carefully.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair styles is part of the MANYBODY package. It is only enabled +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair styles is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    This pair potential requires the newton setting to be -"on" for pair interactions. -

    -

    The C.lcbop potential file provided with LAMMPS (see the potentials -directory) is parameterized for metal units. You can use +the Making LAMMPS section for more info.

    +

    This pair potential requires the newton setting to be +“on” for pair interactions.

    +

    The C.lcbop potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal units. You can use the LCBOP potential with any LAMMPS units, but you would need to create your own LCBOP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_airebo, pair_coeff -

    -

    Default: none -

    -
    +appropriate units if your simulation doesn’t use “metal” units.

    +
    + +
    - -

    (Los and Fasolino) J. H. Los and A. Fasolino, Phys. Rev. B 68, 024107 -(2003). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_line_lj.html b/doc/pair_line_lj.html index 26b801f808..5ccd6206dc 100644 --- a/doc/pair_line_lj.html +++ b/doc/pair_line_lj.html @@ -1,49 +1,165 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style line/lj command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style line/lj command -

    -

    pair_style line/lj/omp command -

    -

    Syntax: -

    -
    pair_style line/lj cutoff 
    -
    -

    cutoff = global cutoff for interactions (distance units) -

    -

    Examples: -

    -
    pair_style line/lj 3.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style line/lj command¶

    +
    +
    +

    pair_style line/lj/omp command¶

    +
    +

    Syntax¶

    +
    pair_style line/lj cutoff
    +
    +
    +

    cutoff = global cutoff for interactions (distance units)

    +
    +
    +

    Examples¶

    +
    pair_style line/lj 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5 
    -
    -

    Description: -

    -

    Style line/lj treats particles which are line segments as a set of +pair_coeff 1 1 1.0 1.5 2.5 +

    + + +
    +

    Description¶

    +

    Style line/lj treats particles which are line segments as a set of small spherical particles that tile the line segment length as explained below. Interactions between two line segments, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones interactions. Interactions between a line segment with N spherical particles and a point particle are treated as the -pairwise sum of N Lennard-Jones interactions. See the pair_style -lj/cut doc page for the definition of Lennard-Jones -interactions. -

    -

    The cutoff distance for an interaction between 2 line segments, or +pairwise sum of N Lennard-Jones interactions. See the pair_style lj/cut doc page for the definition of Lennard-Jones +interactions.

    +

    The cutoff distance for an interaction between 2 line segments, or between a line segment and a point particle, is calculated from the position of the line segment (its center), not between pairs of individual spheres comprising the line segment. Thus an interaction -is either calculated in its entirety or not at all. -

    -

    The set of non-overlapping spherical particles that represent a line +is either calculated in its entirety or not at all.

    +

    The set of non-overlapping spherical particles that represent a line segment, for purposes of this pair style, are generated in the following manner. Their size is a function of the line segment length and the specified sigma for that particle type. If a line segment has @@ -56,87 +172,131 @@ sigma-prime is chosen as the sphere diameter, such that L/N = sigma-prime. Thus the line segment interacts with other segments or point particles as a collection of N spheres of diameter sigma-prime, evenly spaced along the line segment, so as to exactly cover its -length. -

    -

    The LJ interaction between 2 spheres on different line segments of +length.

    +

    The LJ interaction between 2 spheres on different line segments of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for line segment spheres is -computed using only sigma_II values, specific to the line segment's +computed using only sigma_II values, specific to the line segment’s type, this means that any specified sigma_IJ values (for I != J) are -effectively ignored. -

    -

    For style line/lj, the following coefficients must be defined for -each pair of atoms types via the pair_coeff command +effectively ignored.

    +

    For style line/lj, the following coefficients must be defined for +each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by -the read_data or read_restart -commands: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the read_data or read_restart +commands:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Defining particles to be line segments so they participate in +default mix value is geometric. See the “pair_modify” command for +details.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Defining particles to be line segments so they participate in line/line or line/particle interactions requires the use the -atom_style line command. -

    -

    Related commands: -

    -

    pair_coeff, pair_style tri/lj -

    -

    Default: none -

    - +atom_style line command.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_list.html b/doc/pair_list.html index b0981813f3..85a3edbf00 100644 --- a/doc/pair_list.html +++ b/doc/pair_list.html @@ -1,154 +1,315 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style list command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style list command -

    -

    Syntax: -

    -
    pair_style list listfile cutoff keyword 
    -
    -
    • listfile = name of file with list of pairwise interactions -
    • cutoff = global cutoff (distance units) -
    • keyword = optional flag nocheck or check (default is check) -
    -

    Examples: -

    -
    pair_style list restraints.txt 200.0
    -pair_coeff * * 
    -
    -
    pair_style hybrid/overlay lj/cut 1.1225 list pair_list.txt 300.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style list command¶

    +
    +

    Syntax¶

    +
    pair_style list listfile cutoff keyword
    +
    +
    +
      +
    • listfile = name of file with list of pairwise interactions
    • +
    • cutoff = global cutoff (distance units)
    • +
    • keyword = optional flag nocheck or check (default is check)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style list restraints.txt 200.0
    +pair_coeff * *
    +
    +
    +
    pair_style hybrid/overlay lj/cut 1.1225 list pair_list.txt 300.0
     pair_coeff * * lj/cut 1.0 1.0
    -pair_coeff 3* 3* list 
    -
    -

    Description: -

    -

    Style list computes interactions between explicitly listed pairs of +pair_coeff 3* 3* list +

    + + +
    +

    Description¶

    +

    Style list computes interactions between explicitly listed pairs of atoms with the option to select functional form and parameters for each individual pair. Because the parameters are set in the list file, the pair_coeff command has no parameters (but still needs to be -provided). The check and nocheck keywords enable/disable a test -that checks whether all listed bonds were present and computed. -

    -

    This pair style can be thought of as a hybrid between bonded, +provided). The check and nocheck keywords enable/disable a test +that checks whether all listed bonds were present and computed.

    +

    This pair style can be thought of as a hybrid between bonded, non-bonded, and restraint interactions. It will typically be used as -an additional interaction within the hybrid/overlay pair style. It +an additional interaction within the hybrid/overlay pair style. It currently supports three interaction styles: a 12-6 Lennard-Jones, a -Morse and a harmonic potential. -

    -

    The format of the list file is as follows: -

    -
    • one line per pair of atoms - -
    • empty lines will be ignored - -
    • comment text starts with a '#' character - -
    • line syntax: ID1 ID2 style coeffs cutoff - -
        ID1 = atom ID of first atom
      +Morse and a harmonic potential.

      +

      The format of the list file is as follows:

      +
        +
      • one line per pair of atoms
      • +
      • empty lines will be ignored
      • +
      • comment text starts with a ‘#’ character
      • +
      • line syntax: ID1 ID2 style coeffs cutoff
      • +
      +
      ID1 = atom ID of first atom
         ID2 = atom ID of second atom
         style = style of interaction
         coeffs = list of coeffs
      -  cutoff = cutoff for interaction (optional) 
      -
      - -
    -

    The cutoff parameter is optional. If not specified, the global cutoff -is used. -

    -

    Here is an example file: -

    -
    # this is a comment 
    -
    -
    15 259 lj126     1.0 1.0      50.0
    -15 603 morse    10.0 1.2 2.0  10.0 # and another comment 
    -18 470 harmonic 50.0 1.2       5.0  
    -
    -

    The style lj126 computes pairwise interactions with the formula -

    -
    -
    -

    and the coefficients: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    -

    The style morse computes pairwise interactions with the formula -

    -
    -
    -

    and the coefficients: -

    -
    • D0 (energy units) -
    • alpha (1/distance units) -
    • r0 (distance units) -
    -

    The style harmonic computes pairwise interactions with the formula -

    -
    -
    -

    and the coefficients: -

    -
    • K (energy units) -
    • r0 (distance units) -
    -

    Note that the usual 1/2 factor is included in K. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support mixing since all parameters are -explicit for each pair. -

    -

    The pair_modify shift option is supported by this -pair style. -

    -

    The pair_modify table and tail options are not -relevant for this pair style. -

    -

    This pair style does not write its information to binary restart -files, so pair_style and pair_coeff commands need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style does not use a neighbor list and instead identifies + cutoff = cutoff for interaction (optional) +

    + +

    The cutoff parameter is optional. If not specified, the global cutoff +is used.

    +

    Here is an example file:

    +
    # this is a comment
    +
    +
    +
    15 259 lj126     1.0 1.0      50.0
    +15 603 morse    10.0 1.2 2.0  10.0 # and another comment
    +18 470 harmonic 50.0 1.2       5.0
    +
    +
    +

    The style lj126 computes pairwise interactions with the formula

    +_images/pair_lj.jpg +

    and the coefficients:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    +

    The style morse computes pairwise interactions with the formula

    +_images/pair_morse.jpg +

    and the coefficients:

    +
      +
    • D0 (energy units)
    • +
    • alpha (1/distance units)
    • +
    • r0 (distance units)
    • +
    +

    The style harmonic computes pairwise interactions with the formula

    +_images/bond_harmonic.jpg +

    and the coefficients:

    +
      +
    • K (energy units)
    • +
    • r0 (distance units)
    • +
    +

    Note that the usual 1/2 factor is included in K.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support mixing since all parameters are +explicit for each pair.

    +

    The pair_modify shift option is supported by this +pair style.

    +

    The pair_modify table and tail options are not +relevant for this pair style.

    +

    This pair style does not write its information to binary restart files, so pair_style and pair_coeff commands need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +
    +

    Restrictions¶

    +

    This pair style does not use a neighbor list and instead identifies atoms by their IDs. This has two consequences: 1) The cutoff has to be chosen sufficiently large, so that the second atom of a pair has to be a ghost atom on the same node on which the first atom is local; -otherwise the interaction will be skipped. You can use the check +otherwise the interaction will be skipped. You can use the check option to detect, if interactions are missing. 2) Unlike other pair styles in LAMMPS, an atom I will not interact with multiple images of atom J (assuming the images are within the cutoff distance), but only -with the nearest image. -

    -

    This style is part of the USER-MISC package. It is only enabled if -LAMMPS is build with that package. See the Making of -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, -pair_style hybrid/overlay, -pair_style lj/cut, -pair_style morse, -bond_style harmonic -

    -

    Default: none -

    - +with the nearest image.

    +

    This style is part of the USER-MISC package. It is only enabled if +LAMMPS is build with that package. See the Making of LAMMPS section for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj.html b/doc/pair_lj.html index 1a8c57f73a..7101fd7f99 100644 --- a/doc/pair_lj.html +++ b/doc/pair_lj.html @@ -1,199 +1,349 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/cut command -

    -

    pair_style lj/cut/cuda command -

    -

    pair_style lj/cut/gpu command -

    -

    pair_style lj/cut/intel command -

    -

    pair_style lj/cut/kk command -

    -

    pair_style lj/cut/opt command -

    -

    pair_style lj/cut/omp command -

    -

    pair_style lj/cut/coul/cut command -

    -

    pair_style lj/cut/coul/cut/cuda command -

    -

    pair_style lj/cut/coul/cut/gpu command -

    -

    pair_style lj/cut/coul/cut/omp command -

    -

    pair_style lj/cut/coul/debye command -

    -

    pair_style lj/cut/coul/debye/cuda command -

    -

    pair_style lj/cut/coul/debye/gpu command -

    -

    pair_style lj/cut/coul/debye/kk command -

    -

    pair_style lj/cut/coul/debye/omp command -

    -

    pair_style lj/cut/coul/dsf command -

    -

    pair_style lj/cut/coul/dsf/gpu command -

    -

    pair_style lj/cut/coul/dsf/kk command -

    -

    pair_style lj/cut/coul/dsf/omp command -

    -

    pair_style lj/cut/coul/long command -

    -

    pair_style lj/cut/coul/long/cuda command -

    -

    pair_style lj/cut/coul/long/gpu command -

    -

    pair_style lj/cut/coul/long/intel command -

    -

    pair_style lj/cut/coul/long/opt command -

    -

    pair_style lj/cut/coul/long/omp command -

    -

    pair_style lj/cut/coul/msm command -

    -

    pair_style lj/cut/coul/msm/gpu command -

    -

    pair_style lj/cut/coul/msm/omp command -

    -

    pair_style lj/cut/tip4p/cut command -

    -

    pair_style lj/cut/tip4p/cut/omp command -

    -

    pair_style lj/cut/tip4p/long command -

    -

    pair_style lj/cut/tip4p/long/omp command -

    -

    pair_style lj/cut/tip4p/long/opt command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/dsf or lj/cut/coul/long or lj/cut/coul/msm or lj/cut/tip4p/long -
    • args = list of arguments for a particular style -
    -
      lj/cut args = cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/cut command¶

    +
    +
    +

    pair_style lj/cut/cuda command¶

    +
    +
    +

    pair_style lj/cut/gpu command¶

    +
    +
    +

    pair_style lj/cut/intel command¶

    +
    +
    +

    pair_style lj/cut/kk command¶

    +
    +
    +

    pair_style lj/cut/opt command¶

    +
    +
    +

    pair_style lj/cut/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/cut command¶

    +
    +
    +

    pair_style lj/cut/coul/cut/cuda command¶

    +
    +
    +

    pair_style lj/cut/coul/cut/gpu command¶

    +
    +
    +

    pair_style lj/cut/coul/cut/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/debye command¶

    +
    +
    +

    pair_style lj/cut/coul/debye/cuda command¶

    +
    +
    +

    pair_style lj/cut/coul/debye/gpu command¶

    +
    +
    +

    pair_style lj/cut/coul/debye/kk command¶

    +
    +
    +

    pair_style lj/cut/coul/debye/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/dsf command¶

    +
    +
    +

    pair_style lj/cut/coul/dsf/gpu command¶

    +
    +
    +

    pair_style lj/cut/coul/dsf/kk command¶

    +
    +
    +

    pair_style lj/cut/coul/dsf/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/long command¶

    +
    +
    +

    pair_style lj/cut/coul/long/cuda command¶

    +
    +
    +

    pair_style lj/cut/coul/long/gpu command¶

    +
    +
    +

    pair_style lj/cut/coul/long/intel command¶

    +
    +
    +

    pair_style lj/cut/coul/long/opt command¶

    +
    +
    +

    pair_style lj/cut/coul/long/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/msm command¶

    +
    +
    +

    pair_style lj/cut/coul/msm/gpu command¶

    +
    +
    +

    pair_style lj/cut/coul/msm/omp command¶

    +
    +
    +

    pair_style lj/cut/tip4p/cut command¶

    +
    +
    +

    pair_style lj/cut/tip4p/cut/omp command¶

    +
    +
    +

    pair_style lj/cut/tip4p/long command¶

    +
    +
    +

    pair_style lj/cut/tip4p/long/omp command¶

    +
    +
    +

    pair_style lj/cut/tip4p/long/opt command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/dsf or lj/cut/coul/long or lj/cut/coul/msm or lj/cut/tip4p/long
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/cut args = cutoff
         cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/cut/coul/cut args = cutoff (cutoff2)
    +  lj/cut/coul/cut args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/debye args = kappa cutoff (cutoff2)
    +  lj/cut/coul/debye args = kappa cutoff (cutoff2)
         kappa = inverse of the Debye length (inverse distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/dsf args = alpha cutoff (cutoff2)
    +  lj/cut/coul/dsf args = alpha cutoff (cutoff2)
         alpha = damping parameter (inverse distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (distance units)
    -  lj/cut/coul/long args = cutoff (cutoff2)
    +  lj/cut/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/msm args = cutoff (cutoff2)
    +  lj/cut/coul/msm args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
    +  lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
    +  lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style lj/cut 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/cut 2.5
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 1.1 2.8 
    -
    -
    pair_style lj/cut/coul/cut 10.0
    +pair_coeff 1 1 1 1.1 2.8
    +
    +
    +
    pair_style lj/cut/coul/cut 10.0
     pair_style lj/cut/coul/cut 10.0 8.0
     pair_coeff * * 100.0 3.0
     pair_coeff 1 1 100.0 3.5 9.0
    -pair_coeff 1 1 100.0 3.5 9.0 9.0 
    -
    -
    pair_style lj/cut/coul/debye 1.5 3.0
    +pair_coeff 1 1 100.0 3.5 9.0 9.0
    +
    +
    +
    pair_style lj/cut/coul/debye 1.5 3.0
     pair_style lj/cut/coul/debye 1.5 2.5 5.0
     pair_coeff * * 1.0 1.0
     pair_coeff 1 1 1.0 1.5 2.5
    -pair_coeff 1 1 1.0 1.5 2.5 5.0 
    -
    -
    pair_style lj/cut/coul/dsf 0.05 2.5 10.0
    +pair_coeff 1 1 1.0 1.5 2.5 5.0
    +
    +
    +
    pair_style lj/cut/coul/dsf 0.05 2.5 10.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.0 2.5 
    -
    -
    pair_style lj/cut/coul/long 10.0
    +pair_coeff 1 1 1.0 1.0 2.5
    +
    +
    +
    pair_style lj/cut/coul/long 10.0
     pair_style lj/cut/coul/long 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -
    pair_style lj/cut/coul/msm 10.0
    +pair_coeff 1 1 100.0 3.5 9.0
    +
    +
    +
    pair_style lj/cut/coul/msm 10.0
     pair_style lj/cut/coul/msm 10.0 8.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -
    pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 100.0 3.5 9.0
    +
    +
    +
    pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
     pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -
    pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 100.0 3.5 9.0
    +
    +
    +
    pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
     pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -

    Description: -

    -

    The lj/cut styles compute the standard 12/6 Lennard-Jones potential, -given by -

    -
    -
    -

    Rc is the cutoff. -

    -

    Style lj/cut/coul/cut adds a Coulombic pairwise interaction given by -

    -
    -
    -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff 1 1 100.0 3.5 9.0 +

    + + +
    +

    Description¶

    +

    The lj/cut styles compute the standard 12/6 Lennard-Jones potential, +given by

    +_images/pair_lj.jpg +

    Rc is the cutoff.

    +

    Style lj/cut/coul/cut adds a Coulombic pairwise interaction given by

    +_images/pair_coulomb.jpg +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. If one cutoff is +by the dielectric command. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the LJ and Coulombic terms respectively. -

    -

    Style lj/cut/coul/debye adds an additional exp() damping factor -to the Coulombic term, given by -

    -
    -
    -

    where kappa is the inverse of the Debye length. This potential is -another way to mimic the screening effect of a polar solvent. -

    -

    Style lj/cut/coul/dsf computes the Coulombic term via the damped -shifted force model described in Fennell, given by: -

    -
    -
    -

    where alpha is the damping parameter and erfc() is the complementary +cutoffs for the LJ and Coulombic terms respectively.

    +

    Style lj/cut/coul/debye adds an additional exp() damping factor +to the Coulombic term, given by

    +_images/pair_debye.jpg +

    where kappa is the inverse of the Debye length. This potential is +another way to mimic the screening effect of a polar solvent.

    +

    Style lj/cut/coul/dsf computes the Coulombic term via the damped +shifted force model described in Fennell, given by:

    +_images/pair_coul_dsf.jpg +

    where alpha is the damping parameter and erfc() is the complementary error-function. This potential is essentially a short-range, -spherically-truncated, charge-neutralized, shifted, pairwise 1/r +spherically-truncated, charge-neutralized, shifted, pairwise 1/r summation. The potential is based on Wolf summation, proposed as an alternative to Ewald summation for condensed phase systems where charge screening causes electrostatic interactions to become @@ -201,157 +351,191 @@ effectively short-ranged. In order for the electrostatic sum to be absolutely convergent, charge neutralization within the cutoff radius is enforced by shifting the potential through placement of image charges on the cutoff sphere. Convergence can often be improved by -setting alpha to a small non-zero value. -

    -

    Styles lj/cut/coul/long and lj/cut/coul/msm compute the same -Coulombic interactions as style lj/cut/coul/cut except that an +setting alpha to a small non-zero value.

    +

    Styles lj/cut/coul/long and lj/cut/coul/msm compute the same +Coulombic interactions as style lj/cut/coul/cut except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the kspace_style -command and its ewald or pppm option. The Coulombic cutoff +be used in conjunction with the kspace_style +command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are -computed in reciprocal space. -

    -

    Styles lj/cut/tip4p/cut and lj/cut/tip4p/long implement the TIP4P -water model of (Jorgensen), which introduces a massless +computed in reciprocal space.

    +

    Styles lj/cut/tip4p/cut and lj/cut/tip4p/long implement the TIP4P +water model of (Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair_style arguments. Style lj/cut/tip4p/cut uses a cutoff for -Coulomb interactions; style lj/cut/tip4p/long is for use with a -long-range Coulombic solver (Ewald or PPPM). -

    -

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom +pair_style arguments. Style lj/cut/tip4p/cut uses a cutoff for +Coulomb interactions; style lj/cut/tip4p/long is for use with a +long-range Coulombic solver (Ewald or PPPM).

    +
    +

    Warning

    +

    For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to "find" the 2 H atoms associated +first. This is to enable LAMMPS to “find” the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -

    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    +
    +

    See the howto section for more information on how to use the TIP4P pair styles and lists of parameters to set. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb +typically best in an efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. -

    -

    For all of the lj/cut pair styles, the following coefficients must +test the trade-off for your model.

    +

    For all of the lj/cut pair styles, the following coefficients must be defined for each pair of atoms types via the -pair_coeff command as in the examples above, or in -the data file or restart files read by the read_data -or read_restart commands, or by mixing as -described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +pair_coeff command as in the examples above, or in +the data file or restart files read by the read_data +or read_restart commands, or by mixing as +described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma. -

    -

    The latter 2 coefficients are optional. If not specified, the global +sigma.

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style lj/cut, since it -has no Coulombic terms. -

    -

    For lj/cut/coul/long and lj/cut/coul/msm and lj/cut/tip4p/cut -and lj/cut/tip4p/long only the LJ cutoff can be specified since a +type pair. You cannot specify 2 cutoffs for style lj/cut, since it +has no Coulombic terms.

    +

    For lj/cut/coul/long and lj/cut/coul/msm and lj/cut/tip4p/cut +and lj/cut/tip4p/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    All of the lj/cut pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction. -

    -

    The lj/cut/coul/long and lj/cut/tip4p/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. -

    -

    All of the lj/cut pair styles support the -pair_modify tail option for adding a long-range +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    All of the lj/cut pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction.

    +

    The lj/cut/coul/long and lj/cut/tip4p/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction.

    +

    All of the lj/cut pair styles support the +pair_modify tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones -portion of the pair interaction. -

    -

    All of the lj/cut pair styles write their information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    The lj/cut and lj/cut/coul/long pair styles support the use of the -inner, middle, and outer keywords of the run_style -respa command, meaning the pairwise forces can be +portion of the pair interaction.

    +

    All of the lj/cut pair styles write their information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    The lj/cut and lj/cut/coul/long pair styles support the use of the +inner, middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the pair keyword of run_style respa. -See the run_style command for details. -

    -
    - -

    Restrictions: -

    -

    The lj/cut/coul/long and lj/cut/tip4p/long styles are part of the -KSPACE package. The lj/cut/tip4p/cut style is part of the MOLECULE +The other styles only support the pair keyword of run_style respa. +See the run_style command for details.

    +
    +
    +
    +

    Restrictions¶

    +

    The lj/cut/coul/long and lj/cut/tip4p/long styles are part of the +KSPACE package. The lj/cut/tip4p/cut style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those -packages. See the Making LAMMPS section +packages. See the Making LAMMPS section for more info. Note that the KSPACE and MOLECULE packages are -installed by default. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +installed by default.

    +
    + + - -

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). -

    - + + +
    + -

    (Fennell) C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, -234104 (2006). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj96.html b/doc/pair_lj96.html index 768c8fc3fd..b4593938b6 100644 --- a/doc/pair_lj96.html +++ b/doc/pair_lj96.html @@ -1,116 +1,285 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj96/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj96/cut command -

    -

    pair_style lj96/cut/cuda command -

    -

    pair_style lj96/cut/gpu command -

    -

    pair_style lj96/cut/omp command -

    -

    Syntax: -

    -
    pair_style lj96/cut cutoff 
    -
    -
    • cutoff = global cutoff for lj96/cut interactions (distance units) -
    -

    Examples: -

    -
    pair_style lj96/cut 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj96/cut command¶

    +
    +
    +

    pair_style lj96/cut/cuda command¶

    +
    +
    +

    pair_style lj96/cut/gpu command¶

    +
    +
    +

    pair_style lj96/cut/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj96/cut cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for lj96/cut interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj96/cut 2.5
     pair_coeff * * 1.0 1.0 4.0
    -pair_coeff 1 1 1.0 1.0 
    -
    -

    Description: -

    -

    The lj96/cut style compute a 9/6 Lennard-Jones potential, instead -of the standard 12/6 potential, given by -

    -
    -
    -

    Rc is the cutoff. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 1.0 1.0 +

    + + +
    +

    Description¶

    +

    The lj96/cut style compute a 9/6 Lennard-Jones potential, instead +of the standard 12/6 potential, given by

    +_images/pair_lj96.jpg +

    Rc is the cutoff.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global LJ -cutoff specified in the pair_style command is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global LJ +cutoff specified in the pair_style command is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style supports the pair_modify tail +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +pressure of the pair interaction.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details. -

    -
    +the rRESPA hierarchy. See the run_style command for +details.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_cubic.html b/doc/pair_lj_cubic.html index 386a41988e..783d1ea9a8 100644 --- a/doc/pair_lj_cubic.html +++ b/doc/pair_lj_cubic.html @@ -1,137 +1,296 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/cubic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/cubic command -

    -

    pair_style lj/cubic/omp command -

    -

    Syntax: -

    -
    pair_style lj/cubic 
    -
    -

    Examples: -

    -
    pair_style lj/cubic
    -pair_coeff * * 1.0 0.8908987 
    -
    -

    Description: -

    -

    The lj/cubic style computes a truncated LJ interaction potential whose -energy and force are continuous everywhere. -Inside the inflection point the interaction is identical to the -standard 12/6 Lennard-Jones potential. -The LJ function outside the inflection point is replaced + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/cubic command¶

    +
    +
    +

    pair_style lj/cubic/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj/cubic
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/cubic
    +pair_coeff * * 1.0 0.8908987
    +
    +
    +
    +
    +

    Description¶

    +

    The lj/cubic style computes a truncated LJ interaction potential whose +energy and force are continuous everywhere. +Inside the inflection point the interaction is identical to the +standard 12/6 Lennard-Jones potential. +The LJ function outside the inflection point is replaced with a cubic function of distance. The energy, force, and second -derivative are continuous at the inflection point. +derivative are continuous at the inflection point. The cubic coefficient A3 is chosen so -that both energy and force go to zero at the cutoff distance. -Outside the cutoff distance the energy and force are zero. -

    -
    -
    -

    The location of the inflection point rs is defined -by the LJ diameter, rs/sigma = (26/7)^1/6. The cutoff distance -is defined by rc/rs = 67/48 or rc/sigma = 1.737.... -The analytic expression for the -the cubic coefficient +that both energy and force go to zero at the cutoff distance. +Outside the cutoff distance the energy and force are zero.

    +_images/pair_lj_cubic.jpg +

    The location of the inflection point rs is defined +by the LJ diameter, rs/sigma = (26/7)^1/6. The cutoff distance +is defined by rc/rs = 67/48 or rc/sigma = 1.737.... +The analytic expression for the +the cubic coefficient A3*rmin^3/epsilon = 27.93... is given in the paper by -Holian and Ravelo (Holian). -

    -

    This potential is commonly used to study the shock mechanics -of FCC solids, as in Ravelo et al. (Ravelo). -

    -

    The following coefficients must be defined for each pair of atom -types via the pair_coeff command as in the example +Holian and Ravelo (Holian).

    +

    This potential is commonly used to study the shock mechanics +of FCC solids, as in Ravelo et al. (Ravelo).

    +

    The following coefficients must be defined for each pair of atom +types via the pair_coeff command as in the example above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum, which is located at rmin = 2^(1/6)*sigma. In the above example, sigma = 0.8908987, -so rmin = 1. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +so rmin = 1.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    The lj/cubic pair style does not support the -pair_modify shift option, +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    The lj/cubic pair style does not support the +pair_modify shift option, since pair interaction is already smoothed to 0.0 at the -cutoff. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    The lj/cubic pair style does not support the -pair_modify tail option for adding long-range tail +cutoff.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    The lj/cubic pair style does not support the +pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff. -

    -

    The lj/cubic pair style writes its information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    The lj/cubic pair style can only be used via the pair -keyword of the run_style respa command. It does not -support the inner, middle, outer keywords. -

    -
    - -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - - - -(Holian) Holian and Ravelo, Phys Rev B, 51, 11275 (1995). +a potential that goes to 0.0 at the cutoff.

    +

    The lj/cubic pair style writes its information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    The lj/cubic pair style can only be used via the pair +keyword of the run_style respa command. It does not +support the inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -

    (Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_expand.html b/doc/pair_lj_expand.html index 4dc314a37e..687f57ad10 100644 --- a/doc/pair_lj_expand.html +++ b/doc/pair_lj_expand.html @@ -1,120 +1,289 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/expand command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/expand command -

    -

    pair_style lj/expand/cuda command -

    -

    pair_style lj/expand/gpu command -

    -

    pair_style lj/expand/omp command -

    -

    Syntax: -

    -
    pair_style lj/expand cutoff 
    -
    -
    • cutoff = global cutoff for lj/expand interactions (distance units) -
    -

    Examples: -

    -
    pair_style lj/expand 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/expand command¶

    +
    +
    +

    pair_style lj/expand/cuda command¶

    +
    +
    +

    pair_style lj/expand/gpu command¶

    +
    +
    +

    pair_style lj/expand/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj/expand cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for lj/expand interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj/expand 2.5
     pair_coeff * * 1.0 1.0 0.5
    -pair_coeff 1 1 1.0 1.0 -0.2 2.0 
    -
    -

    Description: -

    -

    Style lj/expand computes a LJ interaction with a distance shifted by +pair_coeff 1 1 1.0 1.0 -0.2 2.0 +

    + + +
    +

    Description¶

    +

    Style lj/expand computes a LJ interaction with a distance shifted by delta which can be useful when particles are of different sizes, since it is different that using different sigma values in a standard LJ -formula: -

    -
    -
    -

    Rc is the cutoff which does not include the delta distance. I.e. the -actual force cutoff is the sum of cutoff + delta. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +formula:

    +_images/pair_lj_expand.jpg +

    Rc is the cutoff which does not include the delta distance. I.e. the +actual force cutoff is the sum of cutoff + delta.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • delta (distance units) -
    • cutoff (distance units) -
    -

    The delta values can be positive or negative. The last coefficient is -optional. If not specified, the global LJ cutoff is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • delta (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The delta values can be positive or negative. The last coefficient is +optional. If not specified, the global LJ cutoff is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, and shift +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, and shift coefficients and cutoff distance for this pair style can be mixed. -Shift is always mixed via an arithmetic rule. The other +Shift is always mixed via an arithmetic rule. The other coefficients are mixed according to the pair_modify mix value. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style supports the pair_modify tail +default mix value is geometric. See the “pair_modify” command for +details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +pressure of the pair interaction.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_long.html b/doc/pair_lj_long.html index 5b7455771b..45faf1283b 100644 --- a/doc/pair_lj_long.html +++ b/doc/pair_lj_long.html @@ -1,235 +1,391 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/long/coul/long command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/long/coul/long command -

    -

    pair_style lj/long/coul/long/omp command -

    -

    pair_style lj/long/coul/long/opt command -

    -

    pair_style lj/long/tip4p/long command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/long/coul/long or lj/long/tip4p/long -
    • args = list of arguments for a particular style -
    -
      lj/long/coul/long args = flag_lj flag_coul cutoff (cutoff2)
    -    flag_lj = long or cut or off
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff on dispersion 1/r^6 term
    -      off = omit disperion 1/r^6 term entirely
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/long/coul/long command¶

    +
    +
    +

    pair_style lj/long/coul/long/omp command¶

    +
    +
    +

    pair_style lj/long/coul/long/opt command¶

    +
    +
    +

    pair_style lj/long/tip4p/long command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/long/coul/long or lj/long/tip4p/long
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/long/coul/long args = flag_lj flag_coul cutoff (cutoff2)
    +    flag_lj = long or cut or off
    +      long = use Kspace long-range summation for dispersion 1/r^6 term
    +      cut = use a cutoff on dispersion 1/r^6 term
    +      off = omit disperion 1/r^6 term entirely
    +    flag_coul = long or off
    +      long = use Kspace long-range summation for Coulombic 1/r term
    +      off = omit Coulombic term
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    -    flag_lj = long or cut
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    +  lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    +    flag_lj = long or cut
    +      long = use Kspace long-range summation for dispersion 1/r^6 term
    +      cut = use a cutoff
    +    flag_coul = long or off
    +      long = use Kspace long-range summation for Coulombic 1/r term
    +      off = omit Coulombic term
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style lj/long/coul/long cut off 2.5
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/long/coul/long cut off 2.5
     pair_style lj/long/coul/long cut long 2.5 4.0
     pair_style lj/long/coul/long long long 2.5 4.0
     pair_coeff * * 1 1
    -pair_coeff 1 1 1 3 4 
    -
    -
    pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0
    +pair_coeff 1 1 1 3 4
    +
    +
    +
    pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0
     pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 10.0
     pair_coeff * * 100.0 3.0
    -pair_coeff 1 1 100.0 3.5 9.0 
    -
    -

    Description: -

    -

    Style lj/long/coul/long computes the standard 12/6 Lennard-Jones and -Coulombic potentials, given by -

    -
    -
    -
    -
    -

    where C is an energy-conversion constant, Qi and Qj are the charges on +pair_coeff 1 1 100.0 3.5 9.0 +

    + + +
    +

    Description¶

    +

    Style lj/long/coul/long computes the standard 12/6 Lennard-Jones and +Coulombic potentials, given by

    +_images/pair_lj.jpg +_images/pair_coulomb.jpg +

    where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, epsilon is the dielectric constant which can be set by -the dielectric command, and Rc is the cutoff. If +the dielectric command, and Rc is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are -used as cutoffs for the LJ and Coulombic terms respectively. -

    -

    The purpose of this pair style is to capture long-range interactions +used as cutoffs for the LJ and Coulombic terms respectively.

    +

    The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r^6 Lennard-Jones and Coulombic 1/r -interactions. This is done by use of the flag_lj and flag_coul -settings. The In 't Veld paper has more details on when it is +interactions. This is done by use of the flag_lj and flag_coul +settings. The In ‘t Veld paper has more details on when it is appropriate to include long-range 1/r^6 interactions, using this -potential. -

    -

    Style lj/long/tip4p/long implements the TIP4P water model of -(Jorgensen), which introduces a massless site located a +potential.

    +

    Style lj/long/tip4p/long implements the TIP4P water model of +(Jorgensen), which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the -massless charge site are specified as pair_style arguments. -

    -

    IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom +massless charge site are specified as pair_style arguments.

    +
    +

    Warning

    +

    For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom -first. This is to enable LAMMPS to "find" the 2 H atoms associated +first. This is to enable LAMMPS to “find” the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P -water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -

    -

    See the howto section for more +water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

    +
    +

    See the howto section for more information on how to use the TIP4P pair style. Note that the neighobr list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for the offset distance of the fictitious charges on O atoms in water molecules. Thus it is typically best in an efficiency sense to use a -LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the +LJ cutoff >= Coulomb cutoff + 2*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range -calculation, so you can test the trade-off for your model. -

    -

    If flag_lj is set to long, no cutoff is used on the LJ 1/r^6 +calculation, so you can test the trade-off for your model.

    +

    If flag_lj is set to long, no cutoff is used on the LJ 1/r^6 dispersion term. The long-range portion can be calculated by using -the kspace_style ewald/disp or pppm/disp commands. +the kspace_style ewald/disp or pppm/disp commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If -flag_lj is set to cut, the LJ interactions are simply cutoff, as -with pair_style lj/cut. -

    -

    If flag_coul is set to long, no cutoff is used on the Coulombic +flag_lj is set to cut, the LJ interactions are simply cutoff, as +with pair_style lj/cut.

    +

    If flag_coul is set to long, no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several kspace_style command options such as -pppm or ewald. Note that if flag_lj is also set to long, then -the ewald/disp or pppm/disp Kspace style needs to be used to +several kspace_style command options such as +pppm or ewald. Note that if flag_lj is also set to long, then +the ewald/disp or pppm/disp Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic -interactions. If flag_coul is set to off, Coulombic interactions -are not computed. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +interactions. If flag_coul is set to off, Coulombic interactions +are not computed.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) -sigma. -

    -

    The latter 2 coefficients are optional. If not specified, the global +sigma.

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. -

    -

    Note that if you are using flag_lj set to long, you +type pair.

    +

    Note that if you are using flag_lj set to long, you cannot specify a LJ cutoff for an atom type pair, since only one -global LJ cutoff is allowed. Similarly, if you are using flag_coul -set to long, you cannot specify a Coulombic cutoff for an atom type -pair, since only one global Coulombic cutoff is allowed. -

    -

    For lj/long/tip4p/long only the LJ cutoff can be specified +global LJ cutoff is allowed. Similarly, if you are using flag_coul +set to long, you cannot specify a Coulombic cutoff for an atom type +pair, since only one global Coulombic cutoff is allowed.

    +

    For lj/long/tip4p/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +specified in the pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/long pair styles can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    These pair styles support the pair_modify shift +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    These pair styles support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction, assuming flag_lj is cut. -

    -

    These pair styles support the pair_modify table and +interaction, assuming flag_lj is cut.

    +

    These pair styles support the pair_modify table and table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions. -

    -

    Thes pair styles do not support the pair_modify +the long-range Coulombic and dispersion interactions.

    +

    Thes pair styles do not support the pair_modify tail option for adding a long-range tail correction to the -Lennard-Jones portion of the energy and pressure. -

    -

    These pair styles write their information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    The pair lj/long/coul/long styles support the use of the inner, -middle, and outer keywords of the run_style respa +Lennard-Jones portion of the energy and pressure.

    +

    These pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    The pair lj/long/coul/long styles support the use of the inner, +middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the -run_style command for details. -

    -
    +run_style command for details.

    +
    +
    +
    +

    Restrictions¶

    +

    These styles are part of the KSPACE package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info. Note that +the KSPACE package is installed by default.

    +
    + + -

    Restrictions: -

    -

    These styles are part of the KSPACE package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. Note that -the KSPACE package is installed by default. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (In 't Veld) In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_sf.html b/doc/pair_lj_sf.html index 582c4604e8..8fdc8328a5 100644 --- a/doc/pair_lj_sf.html +++ b/doc/pair_lj_sf.html @@ -1,121 +1,281 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/sf command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/sf command -

    -

    pair_style lj/sf/omp command -

    -

    Syntax: -

    -
    pair_style lj/sf cutoff 
    -
    -
    • cutoff = global cutoff for Lennard-Jones interactions (distance units) -
    -

    Examples: -

    -
    pair_style lj/sf 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/sf command¶

    +
    +
    +

    pair_style lj/sf/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj/sf cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for Lennard-Jones interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj/sf 2.5
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.0 3.0 
    -
    -

    Description: -

    -

    Style lj/sf computes a truncated and force-shifted LJ interaction +pair_coeff 1 1 1.0 1.0 3.0 +

    + + +
    +

    Description¶

    +

    Style lj/sf computes a truncated and force-shifted LJ interaction (Shifted Force Lennard-Jones), so that both the potential and the -force go continuously to zero at the cutoff (Toxvaerd): -

    -
    -
    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +force go continuously to zero at the cutoff (Toxvaerd):

    +_images/pair_lj_sf.jpg +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair_style command is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global +LJ cutoff specified in the pair_style command is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    The pair_modify shift option is not relevant for -this pair style, since the pair interaction goes to 0.0 at the cutoff. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +default mix value is geometric. See the “pair_modify” command for +details.

    +

    The pair_modify shift option is not relevant for +this pair style, since the pair interaction goes to 0.0 at the cutoff.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +at the cutoff.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-MISC package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + -

    Restrictions: -

    -

    This pair style is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Toxvaerd) Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_smooth.html b/doc/pair_lj_smooth.html index f5d381fe3f..0e4d18b6e3 100644 --- a/doc/pair_lj_smooth.html +++ b/doc/pair_lj_smooth.html @@ -1,130 +1,298 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/smooth command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/smooth command -

    -

    pair_style lj/smooth/cuda command -

    -

    pair_style lj/smooth/omp command -

    -

    Syntax: -

    -
    pair_style lj/smooth Rin Rc 
    -
    -
    • Rin = inner cutoff beyond which force smoothing will be applied (distance units) -
    • Rc = outer cutoff for lj/smooth interactions (distance units) -
    -

    Examples: -

    -
    pair_style lj/smooth 8.0 10.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/smooth command¶

    +
    +
    +

    pair_style lj/smooth/cuda command¶

    +
    +
    +

    pair_style lj/smooth/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj/smooth Rin Rc
    +
    +
    +
      +
    • Rin = inner cutoff beyond which force smoothing will be applied (distance units)
    • +
    • Rc = outer cutoff for lj/smooth interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj/smooth 8.0 10.0
     pair_coeff * * 10.0 1.5
    -pair_coeff 1 1 20.0 1.3 7.0 9.0 
    -
    -

    Description: -

    -

    Style lj/smooth computes a LJ interaction with a force smoothing -applied between the inner and outer cutoff. -

    -
    -
    -

    The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to +pair_coeff 1 1 20.0 1.3 7.0 9.0 +

    + + +
    +

    Description¶

    +

    Style lj/smooth computes a LJ interaction with a force smoothing +applied between the inner and outer cutoff.

    +_images/pair_lj_smooth.jpg +

    The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to cause the force to vary smoothly from the inner cutoff Rin to the -outer cutoff Rc. -

    -

    At the inner cutoff the force and its 1st derivative +outer cutoff Rc.

    +

    At the inner cutoff the force and its 1st derivative will match the unsmoothed LJ formula. At the outer cutoff the force -and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0. -

    -

    IMPORTANT NOTE: this force smoothing causes the energy to be +and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0.

    +
    +

    Warning

    +

    this force smoothing causes the energy to be discontinuous both in its values and 1st derivative. This can lead to poor energy conservation and may require the use of a thermostat. Plot the energy and force resulting from this formula via the -pair_write command to see the effect. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_write command to see the effect.

    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • innner (distance units) -
    • outer (distance units) -
    -

    The last 2 coefficients are optional inner and outer cutoffs. If not -specified, the global values for Rin and Rc are used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • innner (distance units)
    • +
    • outer (distance units)
    • +
    +

    The last 2 coefficients are optional inner and outer cutoffs. If not +specified, the global values for Rin and Rc are used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon, sigma, Rin +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon, sigma, Rin coefficients and the cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The other coefficients are mixed according to the pair_modify mix option. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +default mix value is geometric. See the “pair_modify” command for +details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +at the cutoff.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff, pair -lj/smooth/linear -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_smooth_linear.html b/doc/pair_lj_smooth_linear.html index 43f35bbba1..7ce8a5e9db 100644 --- a/doc/pair_lj_smooth_linear.html +++ b/doc/pair_lj_smooth_linear.html @@ -1,111 +1,278 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/smooth/linear command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/smooth/linear command -

    -

    pair_style lj/smooth/linear/omp command -

    -

    Syntax: -

    -
    pair_style lj/smooth/linear Rc 
    -
    -
    • Rc = cutoff for lj/smooth/linear interactions (distance units) -
    -

    Examples: -

    -
    pair_style lj/smooth/linear 5.456108274435118
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/smooth/linear command¶

    +
    +
    +

    pair_style lj/smooth/linear/omp command¶

    +
    +

    Syntax¶

    +
    pair_style lj/smooth/linear Rc
    +
    +
    +
      +
    • Rc = cutoff for lj/smooth/linear interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj/smooth/linear 5.456108274435118
     pair_coeff * * 0.7242785984051078 2.598146797350056
    -pair_coeff 1 1 20.0 1.3 9.0 
    -
    -

    Description: -

    -

    Style lj/smooth/linear computes a LJ interaction that combines the +pair_coeff 1 1 20.0 1.3 9.0 +

    + + +
    +

    Description¶

    +

    Style lj/smooth/linear computes a LJ interaction that combines the standard 12/6 Lennard-Jones function and subtracts a linear term that -includes the cutoff distance Rc, as in this formula: -

    -
    -
    -

    At the cutoff Rc, the energy and force (its 1st derivative) will be 0.0. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +includes the cutoff distance Rc, as in this formula:

    +_images/pair_lj_smooth_linear.jpg +

    At the cutoff Rc, the energy and force (its 1st derivative) will be 0.0.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global value -for Rc is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global value +for Rc is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed. The default mix value is geometric. -See the "pair_modify" command for details. -

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant for -this pair style. -

    -

    This pair style does not support the pair_modify +See the “pair_modify” command for details.

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant for +this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +at the cutoff.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff, pair lj/smooth -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lj_soft.html b/doc/pair_lj_soft.html index 9b49d3a3ab..168b97ea82 100644 --- a/doc/pair_lj_soft.html +++ b/doc/pair_lj_soft.html @@ -1,299 +1,471 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/cut/soft command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/cut/soft command -

    -

    pair_style lj/cut/soft/omp command -

    -

    pair_style lj/cut/coul/cut/soft command -

    -

    pair_style lj/cut/coul/cut/soft/omp command -

    -

    pair_style lj/cut/coul/long/soft command -

    -

    pair_style lj/cut/coul/long/soft/omp command -

    -

    pair_style lj/cut/tip4p/long/soft command -

    -

    pair_style lj/cut/tip4p/long/soft/omp command -

    -

    pair_style lj/charmm/coul/long/soft command -

    -

    pair_style lj/charmm/coul/long/soft/omp command -

    -

    pair_style coul/cut/soft command -

    -

    pair_style coul/cut/soft/omp command -

    -

    pair_style coul/long/soft command -

    -

    pair_style coul/long/soft/omp command -

    -

    pair_style tip4p/long/soft command -

    -

    pair_style tip4p/long/soft/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/cut/soft or lj/cut/coul/cut/soft or lj/cut/coul/long/soft or lj/cut/tip4p/long/soft or lj/charmm/coul/long/soft or coul/cut/soft or coul/long/soft or tip4p/long/soft -
    • args = list of arguments for a particular style -
    -
      lj/cut/soft args = n alpha_lj cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/cut/soft command¶

    +
    +
    +

    pair_style lj/cut/soft/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/cut/soft command¶

    +
    +
    +

    pair_style lj/cut/coul/cut/soft/omp command¶

    +
    +
    +

    pair_style lj/cut/coul/long/soft command¶

    +
    +
    +

    pair_style lj/cut/coul/long/soft/omp command¶

    +
    +
    +

    pair_style lj/cut/tip4p/long/soft command¶

    +
    +
    +

    pair_style lj/cut/tip4p/long/soft/omp command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/soft command¶

    +
    +
    +

    pair_style lj/charmm/coul/long/soft/omp command¶

    +
    +
    +

    pair_style coul/cut/soft command¶

    +
    +
    +

    pair_style coul/cut/soft/omp command¶

    +
    +
    +

    pair_style coul/long/soft command¶

    +
    +
    +

    pair_style coul/long/soft/omp command¶

    +
    +
    +

    pair_style tip4p/long/soft command¶

    +
    +
    +

    pair_style tip4p/long/soft/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/cut/soft or lj/cut/coul/cut/soft or lj/cut/coul/long/soft or lj/cut/tip4p/long/soft or lj/charmm/coul/long/soft or coul/cut/soft or coul/long/soft or tip4p/long/soft
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/cut/soft args = n alpha_lj cutoff
         n, alpha_LJ = parameters of soft-core potential
         cutoff = global cutoff for Lennard-Jones interactions (distance units)
    -  lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
    +  lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
         n, alpha_LJ, alpha_C = parameters of soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
    +  lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
    +  lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
         cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
    +  lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
         n, alpha_LJ, alpha_C = parameters of the soft-core potential
         inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
         cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
    -  coul/cut/soft args = n alpha_C cutoff
    +  coul/cut/soft args = n alpha_C cutoff
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -  coul/long/soft args = n alpha_C cutoff
    +  coul/long/soft args = n alpha_C cutoff
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -  tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
    +  tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
         otype,htype = atom types for TIP4P O and H
         btype,atype = bond and angle types for TIP4P waters
         qdist = distance from O atom to massless charge (distance units)
         n, alpha_C = parameters of the soft-core potential
         cutoff = global cutoff for Coulomb interactions (distance units)
    -
    -
    -

    Examples: -

    -
    pair_style lj/cut/soft 2.0 0.5 9.5
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/cut/soft 2.0 0.5 9.5
     pair_coeff * * 0.28 3.1 1.0
    -pair_coeff 1 1 0.28 3.1 1.0 9.5 
    -
    -
    pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 1.0 9.5
    +
    +
    +
    pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5
     pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 9.5
     pair_coeff * * 0.28 3.1 1.0
     pair_coeff 1 1 0.28 3.1 0.5 10.0
    -pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5 
    -
    -
    pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5
    +
    +
    +
    pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5
     pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 9.5
     pair_coeff * * 0.28 3.1 1.0
     pair_coeff 1 1 0.28 3.1 0.0 10.0
    -pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 
    -
    -
    pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
    +pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5
    +
    +
    +
    pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
     pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 9.5
     pair_coeff * * 0.155 3.1536 1.0
    -pair_coeff 1 1 0.155 3.1536 1.0 9.5 
    -
    -
    pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0
    +pair_coeff 1 1 0.155 3.1536 1.0 9.5
    +
    +
    +
    pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0
     pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0
     pair_coeff * * 0.28 3.1 1.0
    -pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 
    -
    -
    pair_style coul/long/soft 1.0 10.0 9.5
    +pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1
    +
    +
    +
    pair_style coul/long/soft 1.0 10.0 9.5
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 9.5 
    -
    -
    pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
    +pair_coeff 1 1 1.0 9.5
    +
    +
    +
    pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
     pair_coeff * * 1.0
    -pair_coeff 1 1 1.0 9.5 
    -
    -

    Description: -

    -

    The lj/cut/soft style and substyles compute the 12/6 Lennard-Jones +pair_coeff 1 1 1.0 9.5 +

    + + +
    +

    Description¶

    +

    The lj/cut/soft style and substyles compute the 12/6 Lennard-Jones and Coulomb potential modified by a soft core, in order to avoid singularities during free energy calculations when sites are created -or anihilated (Beutler), -

    -
    -
    -

    Coulomb interactions are also damped with a soft core at short -distance, -

    -
    -
    -

    In the Coulomb part C is an energy-conversion constant, q_i and q_j +or anihilated (Beutler),

    +_images/pair_lj_soft.jpg +

    Coulomb interactions are also damped with a soft core at short +distance,

    +_images/pair_coul_soft.jpg +

    In the Coulomb part C is an energy-conversion constant, q_i and q_j are the charges on the 2 atoms, and epsilon is the dielectric constant -which can be set by the dielectric command. -

    -

    The coefficient lambda is an activation parameter. When lambda = 1 the +which can be set by the dielectric command.

    +

    The coefficient lambda is an activation parameter. When lambda = 1 the pair potentiel is identical to a Lennard-Jones term or a Coulomb term or a combination of both. When lambda = 0 the interactions are deactivated. The transition between these two extrema is smoothed by a soft repulsive core in order to avoid singularities in potential energy and forces when sites are created or anihilated and can overlap -(Beutler). -

    -

    The paratemers n, alpha_LJ and alpha_C are set in the -pair_style command, before the cutoffs. Usual +(Beutler).

    +

    The paratemers n, alpha_LJ and alpha_C are set in the +pair_style command, before the cutoffs. Usual choices for the exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the LJ and Coulomb terms are shown -below, for lambda ranging from 1 to 0 every 0.1. -

    -
    -
    -

    For the lj/cut/coul/cut/soft or lj/cut/coul/long/soft pair styles, +below, for lambda ranging from 1 to 0 every 0.1.

    +_images/lj_soft.jpg +_images/coul_soft.jpg +

    For the lj/cut/coul/cut/soft or lj/cut/coul/long/soft pair styles, the following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • lambda (activation parameter between 0 and 1) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    The latter two coefficients are optional. If not specified, the global +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • lambda (activation parameter between 0 and 1)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The latter two coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style lj/cut/soft, -since it has no Coulombic terms. For the coul/cut/soft and -coul/long/soft only lambda and the optional cutoff2 are to be -specified. -

    -

    Style lj/cut/tip4p/long/soft implements a soft-core version of the +type pair. You cannot specify 2 cutoffs for style lj/cut/soft, +since it has no Coulombic terms. For the coul/cut/soft and +coul/long/soft only lambda and the optional cutoff2 are to be +specified.

    +

    Style lj/cut/tip4p/long/soft implements a soft-core version of the TIP4P water model. The usage of this pair style is documented in the -pair_lj styles. The soft-core version introduces the +pair_lj styles. The soft-core version introduces the lambda parameter to the list of arguments, after epsilon and sigma in -the pair_coeff command. The paratemers n, alpha_LJ -and alpha_C are set in the pair_style command, -before the cutoffs. -

    -

    Style lj/charmm/coul/long/soft implements a soft-core version of the +the pair_coeff command. The paratemers n, alpha_LJ +and alpha_C are set in the pair_style command, +before the cutoffs.

    +

    Style lj/charmm/coul/long/soft implements a soft-core version of the CHARMM version of LJ interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. The usage of this pair style is documented -in the pair_charmm styles. The soft-core version +in the pair_charmm styles. The soft-core version introduces the lambda parameter to the list of arguments, after -epsilon and sigma in the pair_coeff command (and +epsilon and sigma in the pair_coeff command (and before the optional eps14 and sigma14). The paratemers n, -alpha_LJ and alpha_C are set in the pair_style -command, before the cutoffs. -

    -

    The coul/cut/soft, coul/long/soft and tip4p/long/soft substyles +alpha_LJ and alpha_C are set in the pair_style +command, before the cutoffs.

    +

    The coul/cut/soft, coul/long/soft and tip4p/long/soft substyles are designed to be combined with other pair potentials via the -pair_style hybrid/overlay command. This is because +pair_style hybrid/overlay command. This is because they have no repulsive core. Hence, if used by themselves, there will be no repulsion to keep two oppositely charged particles from overlapping each other. In this case, if lambda = 1, a singularity may occur. These substyles are suitable to represent charges embedded in the Lennard-Jones radius of another site (for example hydrogen atoms -in several water models). -

    -

    IMPORTANT NOTES: When using the core-softed Coulomb potentials with -long-range solvers (coul/long/soft, lj/cut/coul/long/soft, etc.) +in several water models).

    +

    IMPORTANT NOTES: When using the core-softed Coulomb potentials with +long-range solvers (coul/long/soft, lj/cut/coul/long/soft, etc.) in a free energy calculation in which sites holding electrostatic charges are being created or anihilated (using -fix_adapt/fep and compute_fep) +fix_adapt/fep and compute_fep) it is important to adapt both the lambda activation parameter (from 0 to 1, or the reverse) and the value of the charge (from 0 to its final value, or the reverse). This ensures that long-range electrostatic terms (kspace) are correct. It is not necessary to use core-softed Coulomb potentials if the van der Waals site is present during the free-energy route, thus avoiding overlap of the charges. Examples are -provided in the LAMMPS source directory tree, under examples/USER/fep. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +provided in the LAMMPS source directory tree, under examples/USER/fep.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, tail correction, restart info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, tail correction, restart info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. -The default mix value is geometric. See the "pair_modify" command -for details. -

    -

    These pair styles support the pair_modify shift +The default mix value is geometric. See the “pair_modify” command +for details.

    +

    These pair styles support the pair_modify shift option for the energy of the Lennard-Jones portion of the pair -interaction. -

    -

    These pair styles support the pair_modify tail +interaction.

    +

    These pair styles support the pair_modify tail option for adding a long-range tail correction to the energy and -pressure for the Lennard-Jones portion of the pair interaction. -

    -

    These pair styles write information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -
    - -

    Restrictions: -

    -

    To avoid division by zero do not set sigma = 0; use the lambda +pressure for the Lennard-Jones portion of the pair interaction.

    +

    These pair styles write information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +
    +
    +
    +

    Restrictions¶

    +

    To avoid division by zero do not set sigma = 0; use the lambda parameter instead to activate/deactivate interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not -interact though the Lennard-Jones term the coul/long/soft or +interact though the Lennard-Jones term the coul/long/soft or similar substyle can be used via the -pair_style hybrid/overlay command. -

    -
    - -

    All of the plain soft pair styles are part of the USER-FEP package. -The long styles also requires the KSPACE package to be installed. +pair_style hybrid/overlay command.

    +
    +

    All of the plain soft pair styles are part of the USER-FEP package. +The long styles also requires the KSPACE package to be installed. They are only enabled if LAMMPS was built with those packages. See -the Making LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, fix_adapt, -fix_adapt/fep, compute_fep -

    -

    Default: none -

    -
    +the Making LAMMPS section for more info.

    +
    + + - -

    (Beutler) Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem -Phys Lett, 222, 529 (1994). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lubricate.html b/doc/pair_lubricate.html index cdef2a104f..455126a773 100644 --- a/doc/pair_lubricate.html +++ b/doc/pair_lubricate.html @@ -1,239 +1,379 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lubricate command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lubricate command -

    -

    pair_style lubricate/omp command -

    -

    pair_style lubricate/poly command -

    -

    pair_style lubricate/poly/omp command -

    -

    Syntax: -

    -
    pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF 
    -
    -
    • style = lubricate or lubricate/poly -
    • mu = dynamic viscosity (dynamic viscosity units) -
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation -
    • flagfld = 0/1 to exclude/include Fast Lubrication Dynamics (FLD) effects -
    • cutinner = inner cutoff distance (distance units) -
    • cutoff = outer cutoff for interactions (distance units) -
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions -
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms -
    -

    Examples: (all assume radius = 1) -

    -
    pair_style lubricate 1.5 1 1 2.01 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lubricate command¶

    +
    +
    +

    pair_style lubricate/omp command¶

    +
    +
    +

    pair_style lubricate/poly command¶

    +
    +
    +

    pair_style lubricate/poly/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF
    +
    +
    +
      +
    • style = lubricate or lubricate/poly
    • +
    • mu = dynamic viscosity (dynamic viscosity units)
    • +
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation
    • +
    • flagfld = 0/1 to exclude/include Fast Lubrication Dynamics (FLD) effects
    • +
    • cutinner = inner cutoff distance (distance units)
    • +
    • cutoff = outer cutoff for interactions (distance units)
    • +
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions
    • +
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms
    • +
    +

    Examples: (all assume radius = 1)

    +
    pair_style lubricate 1.5 1 1 2.01 2.5
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * * 
    -
    -
    pair_style lubricate 1.5 1 1 2.01 2.5
    +pair_coeff * *
    +
    +
    +
    pair_style lubricate 1.5 1 1 2.01 2.5
     pair_coeff * *
     variable mu equal ramp(1,2)
    -fix 1 all adapt 1 pair lubricate mu * * v_mu 
    -
    -

    Description: -

    -

    Styles lubricate and lubricate/poly compute hydrodynamic +fix 1 all adapt 1 pair lubricate mu * * v_mu +

    + + +
    +

    Description¶

    +

    Styles lubricate and lubricate/poly compute hydrodynamic interactions between mono-disperse spherical particles in a pairwise fashion. The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in (Ball and -Melrose) -

    -
    -
    -

    which represents the dissipation W between two nearby particles due to +Ball-Melrose lubrication terms via the formulas in (Ball and Melrose)

    +_images/pair_lubricate.jpg +

    which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with -viscosity mu. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity. -

    -

    The Asq (squeeze) term is the strongest and is included if flagHI is +viscosity mu. Note that this is dynamic viscosity which has units of +mass/distance/time, not kinematic viscosity.

    +

    The Asq (squeeze) term is the strongest and is included if flagHI is set to 1 (default). It scales as 1/gap where gap is the separation between the surfaces of the 2 particles. The Ash (shear) and Apu -(pump) terms are only included if flaglog is set to 1. They are the +(pump) terms are only included if flaglog is set to 1. They are the next strongest interactions, and the only other singular interaction, -and scale as log(gap). Note that flaglog = 1 and flagHI = 0 is -invalid, and will result in a warning message, after which flagHI will +and scale as log(gap). Note that flaglog = 1 and flagHI = 0 is +invalid, and will result in a warning message, after which flagHI will be set to 1. The Atw (twist) term is currently not included. It is -typically a very small contribution to the lubrication forces. -

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined. -

    -

    Cutinner sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. Cutoff +typically a very small contribution to the lubrication forces.

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined.

    +

    Cutinner sets the minimum center-to-center separation that will be +used in calculations irrespective of the actual separation. Cutoff is the maximum center-to-center separation at which an interaction is -computed. Using a cutoff less than 3 radii is recommended if -flaglog is set to 1. -

    -

    The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in (Kumar), which can be -represented by the following equation -

    -
    -
    -

    where U represents the velocities and angular velocities of the -particles, U^infty represents the velocity and the angular velocity -of the undisturbed fluid, and E^infty represents the rate of strain -tensor of the undisturbed fluid with viscosity mu. Again, note that +computed. Using a cutoff less than 3 radii is recommended if +flaglog is set to 1.

    +

    The other component is due to the Fast Lubrication Dynamics (FLD) +approximation, described in (Kumar), which can be +represented by the following equation

    +_images/fld.jpg +

    where U represents the velocities and angular velocities of the +particles, U^*infty* represents the velocity and the angular velocity +of the undisturbed fluid, and E^*infty* represents the rate of strain +tensor of the undisturbed fluid with viscosity mu. Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction corrections to R_FU are included -as long as flagVF is set to 1 (default). -

    -

    IMPORTANT NOTE: When using the FLD terms, these pair styles are +as long as flagVF is set to 1 (default).

    +
    +

    Warning

    +

    When using the FLD terms, these pair styles are designed to be used with explicit time integration and a -correspondingly small timestep. Thus either fix -nve/sphere or fix -nve/asphere should be used for time integration. -To perform implicit FLD, see the pair_style -lubricateU command. -

    -

    Style lubricate requires monodisperse spherical particles; style -lubricate/poly allows for polydisperse spherical particles. -

    -

    The viscosity mu can be varied in a time-dependent manner over the +correspondingly small timestep. Thus either fix nve/sphere or fix nve/asphere should be used for time integration. +To perform implicit FLD, see the pair_style lubricateU command.

    +
    +

    Style lubricate requires monodisperse spherical particles; style +lubricate/poly allows for polydisperse spherical particles.

    +

    The viscosity mu can be varied in a time-dependent manner over the course of a simluation, in which case in which case the pair_style -setting for mu will be overridden. See the fix adapt -command for details. -

    -

    If the suspension is sheared via the fix deform +setting for mu will be overridden. See the fix adapt +command for details.

    +

    If the suspension is sheared via the fix deform command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R_FU. -

    -

    When computing the volume fraction corrections to R_FU, the presence +corrections to R_FU.

    +

    When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted -for with the following types of walls: wall/lj93, -wall/lj126, wall/colloid, and -wall/harmonic. For these wall styles, the correct +for with the following types of walls: wall/lj93, +wall/lj126, wall/colloid, and +wall/harmonic. For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the volume fraction. Other wall styles will still work, but they will result in the volume fraction being computed based on the box -boundaries. -

    -

    Since lubrication forces are dissipative, it is usually desirable to +boundaries.

    +

    Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -pair_style brownian command. These pair styles -and the brownian style should use consistent parameters for mu, -flaglog, flagfld, cutinner, cutoff, flagHI and flagVF. -

    -
    - -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_style brownian command. These pair styles +and the brownian style should use consistent parameters for mu, +flaglog, flagfld, cutinner, cutoff, flagHI and flagVF.

    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutinner (distance units) -
    • cutoff (distance units) -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutinner (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +must be specified.

    +
    +

    Styles with a cuda, 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 in this section of +hardware, as discussed in this section of the manual. 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 USER-CUDA, GPU, USER-INTEL, +produce the same results, except for round-off and precision issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See this section of the manual for more -instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the "pair_modify" command for details. -

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See this section of the manual for more +instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the “pair_modify” command for details.

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Only spherical monodisperse particles are allowed for pair_style -lubricate. -

    -

    Only spherical particles are allowed for pair_style lubricate/poly. -

    -

    These pair styles will not restart exactly when using the -read_restart command, though they should provide +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Only spherical monodisperse particles are allowed for pair_style +lubricate.

    +

    Only spherical particles are allowed for pair_style lubricate/poly.

    +

    These pair styles will not restart exactly when using the +read_restart command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -read_restart command for more details. -

    -

    Related commands: -

    -

    pair_coeff, pair_style -lubricateU -

    -

    Default: -

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1. -

    -
    - - - -

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997). -

    - - -

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also -his thesis for more details: A. Kumar, "Microscale Dynamics in -Suspensions of Non-spherical Particles", Thesis, University of +read_restart command for more details.

    +
    + +
    +

    Default¶

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1.

    +
    +

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997).

    +

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also +his thesis for more details: A. Kumar, “Microscale Dynamics in +Suspensions of Non-spherical Particles”, Thesis, University of Illinois Urbana-Champaign, -(2010). (https://www.ideals.illinois.edu/handle/2142/16032) -

    - +(2010). (https://www.ideals.illinois.edu/handle/2142/16032)

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_lubricateU.html b/doc/pair_lubricateU.html index 42a596c70b..27ae23e139 100644 --- a/doc/pair_lubricateU.html +++ b/doc/pair_lubricateU.html @@ -1,89 +1,197 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lubricateU command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lubricateU command -

    -

    pair_style lubricateU/poly command -

    -

    Syntax: -

    -
    pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF 
    -
    -
    • style = lubricateU or lubricateU/poly -
    • mu = dynamic viscosity (dynamic viscosity units) -
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation -
    • cutinner = inner cut off distance (distance units) -
    • cutoff = outer cutoff for interactions (distance units) -
    • gdot = shear rate (1/time units) -
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions -
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms -
    -

    Examples: (all assume radius = 1) -

    -
    pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lubricateU command¶

    +
    +
    +

    pair_style lubricateU/poly command¶

    +
    +

    Syntax¶

    +
    pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF
    +
    +
    +
      +
    • style = lubricateU or lubricateU/poly
    • +
    • mu = dynamic viscosity (dynamic viscosity units)
    • +
    • flaglog = 0/1 to exclude/include log terms in the lubrication approximation
    • +
    • cutinner = inner cut off distance (distance units)
    • +
    • cutoff = outer cutoff for interactions (distance units)
    • +
    • gdot = shear rate (1/time units)
    • +
    • flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions
    • +
    • flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms
    • +
    +

    Examples: (all assume radius = 1)

    +
    pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1
     pair_coeff 1 1 2.05 2.8
    -pair_coeff * * 
    -
    -

    Description: -

    -

    Styles lubricateU and lubricateU/poly compute velocities and +pair_coeff * * +

    + + +
    +

    Description¶

    +

    Styles lubricateU and lubricateU/poly compute velocities and angular velocities such that the hydrodynamic interaction balances the -force and torque due to all other types of interactions. -

    -

    The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in (Ball and -Melrose) -

    -
    -
    -

    which represents the dissipation W between two nearby particles due to +force and torque due to all other types of interactions.

    +

    The interactions have 2 components. The first is +Ball-Melrose lubrication terms via the formulas in (Ball and Melrose)

    +_images/pair_lubricate.jpg +

    which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with -viscosity mu. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity. -

    -

    The Asq (squeeze) term is the strongest and is included as long as -flagHI is set to 1 (default). It scales as 1/gap where gap is the +viscosity mu. Note that this is dynamic viscosity which has units of +mass/distance/time, not kinematic viscosity.

    +

    The Asq (squeeze) term is the strongest and is included as long as +flagHI is set to 1 (default). It scales as 1/gap where gap is the separation between the surfaces of the 2 particles. The Ash (shear) -and Apu (pump) terms are only included if flaglog is set to 1. They +and Apu (pump) terms are only included if flaglog is set to 1. They are the next strongest interactions, and the only other singular -interaction, and scale as log(gap). Note that flaglog = 1 and -flagHI = 0 is invalid, and will result in a warning message, after -which flagHI will be set to 1. The Atw (twist) term is currently not +interaction, and scale as log(gap). Note that flaglog = 1 and +flagHI = 0 is invalid, and will result in a warning message, after +which flagHI will be set to 1. The Atw (twist) term is currently not included. It is typically a very small contribution to the lubrication -forces. -

    -

    The flagHI and flagVF settings are optional. Neither should be -used, or both must be defined. -

    -

    Cutinner sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. Cutoff +forces.

    +

    The flagHI and flagVF settings are optional. Neither should be +used, or both must be defined.

    +

    Cutinner sets the minimum center-to-center separation that will be +used in calculations irrespective of the actual separation. Cutoff is the maximum center-to-center separation at which an interaction is -computed. Using a cutoff less than 3 radii is recommended if -flaglog is set to 1. -

    -

    The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in (Kumar). The equation being -solved to balance the forces and torques is -

    -
    -
    -

    where U represents the velocities and angular velocities of the -particles, U^infty represents the velocities and the angular -velocities of the undisturbed fluid, and E^infty represents the rate +computed. Using a cutoff less than 3 radii is recommended if +flaglog is set to 1.

    +

    The other component is due to the Fast Lubrication Dynamics (FLD) +approximation, described in (Kumar). The equation being +solved to balance the forces and torques is

    +_images/fld2.jpg +

    where U represents the velocities and angular velocities of the +particles, U^*infty* represents the velocities and the angular +velocities of the undisturbed fluid, and E^*infty* represents the rate of strain tensor of the undisturbed fluid flow with viscosity -mu. Again, note that this is dynamic viscosity which has units of +mu. Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction -corrections to R_FU are included if flagVF is set to 1 (default). -

    -

    Frest represents the forces and torques due to all other types of +corrections to R_FU are included if flagVF is set to 1 (default).

    +

    F*rest* represents the forces and torques due to all other types of interactions, e.g. Brownian, electrostatic etc. Note that this algorithm neglects the inertial terms, thereby removing the restriction of resolving the small interial time scale, which may not @@ -92,134 +200,167 @@ the velocity such that the hydrodynamic force balances all other types of forces, thereby resulting in a net zero force (zero inertia limit). When defining this pair style, it must be defined last so that when this style is invoked all other types of forces have already been -computed. For the same reason, it won't work if additional non-pair +computed. For the same reason, it won’t work if additional non-pair styles are defined (such as bond or Kspace forces) as they are calculated in LAMMPS after the pairwise interactions have been -computed. -

    -

    IMPORTANT NOTE: When using these styles, the these pair styles are +computed.

    +
    +

    Warning

    +

    When using these styles, the these pair styles are designed to be used with implicit time integration and a -correspondingly larger timestep. Thus either fix -nve/noforce should be used for spherical -particles defined via atom_style sphere or fix -nve/asphere/noforce should be used for -spherical particles defined via atom_style -ellipsoid. This is because the velocity and angular +correspondingly larger timestep. Thus either fix nve/noforce should be used for spherical +particles defined via atom_style sphere or fix nve/asphere/noforce should be used for +spherical particles defined via atom_style ellipsoid. This is because the velocity and angular momentum of each particle is set by the pair style, and should not be -reset by the time integration fix. -

    -

    Style lubricateU requires monodisperse spherical particles; style -lubricateU/poly allows for polydisperse spherical particles. -

    -

    If the suspension is sheared via the fix deform +reset by the time integration fix.

    +
    +

    Style lubricateU requires monodisperse spherical particles; style +lubricateU/poly allows for polydisperse spherical particles.

    +

    If the suspension is sheared via the fix deform command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R_FU. -

    -

    When computing the volume fraction corrections to R_FU, the presence +corrections to R_FU.

    +

    When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted -for with the following types of walls: wall/lj93, -wall/lj126, wall/colloid, and -"wall/harmonic_fix_wall.html". For these wall styles, the correct +for with the following types of walls: wall/lj93, +wall/lj126, wall/colloid, and +“wall/harmonic_fix_wall.html”. For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the -volume fraction. To use these wall styles with pair_style lubricateU -or lubricateU/poly, the fld yes option must be specified in the -fix wall command. -

    -

    Since lubrication forces are dissipative, it is usually desirable to +volume fraction. To use these wall styles with pair_style lubricateU +or lubricateU/poly, the fld yes option must be specified in the +fix wall command.

    +

    Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -pair_style brownian command. These pair styles -and the brownian style should use consistent parameters for mu, -flaglog, flagfld, cutinner, cutoff, flagHI and flagVF. -

    -
    - -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_style brownian command. These pair styles +and the brownian style should use consistent parameters for mu, +flaglog, flagfld, cutinner, cutoff, flagHI and flagVF.

    +
    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cutinner (distance units) -
    • cutoff (distance units) -
    -

    The two coefficients are optional. If neither is specified, the two +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cutinner (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The two coefficients are optional. If neither is specified, the two cutoffs specified in the pair_style command are used. Otherwise both -must be specified. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is geometric. See -the "pair_modify" command for details. -

    -

    This pair style does not support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +must be specified.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the two cutoff distances for this +pair style can be mixed. The default mix value is geometric. See +the “pair_modify” command for details.

    +

    This pair style does not support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    These styles are part of the FLD package. They are only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Currently, these pair styles assume that all other types of +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    These styles are part of the FLD package. They are only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Currently, these pair styles assume that all other types of forces/torques on the particles have been already been computed when it is invoked. This requires this style to be defined as the last of the pair styles, and that no fixes apply additional constraint forces. -One exception is the fix wall/colloid commands, which -has an "fld" option to apply their wall forces correctly. -

    -

    Only spherical monodisperse particles are allowed for pair_style -lubricateU. -

    -

    Only spherical particles are allowed for pair_style lubricateU/poly. -

    -

    For sheared suspensions, it is assumed that the shearing is done in +One exception is the fix wall/colloid commands, which +has an “fld” option to apply their wall forces correctly.

    +

    Only spherical monodisperse particles are allowed for pair_style +lubricateU.

    +

    Only spherical particles are allowed for pair_style lubricateU/poly.

    +

    For sheared suspensions, it is assumed that the shearing is done in the xy plane, with x being the velocity direction and y being the -velocity-gradient direction. In this case, one must use fix -deform with the same rate of shear (erate). -

    -

    Related commands: -

    -

    pair_coeff, pair_style -lubricate -

    -

    Default: -

    -

    The default settings for the optional args are flagHI = 1 and flagVF = -1. -

    -
    +velocity-gradient direction. In this case, one must use fix deform with the same rate of shear (erate).

    +
    + +
    +

    Default¶

    +

    The default settings for the optional args are flagHI = 1 and flagVF = +1.

    +
    +

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997).

    +

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010).

    +
    + - -

    (Ball) Ball and Melrose, Physica A, 247, 444-472 (1997). -

    - + + +
    + -

    (Kumar) Kumar and Higdon, Phys Rev E, 82, 051401 (2010). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_meam.html b/doc/pair_meam.html index 3a8f578f47..6899a0e485 100644 --- a/doc/pair_meam.html +++ b/doc/pair_meam.html @@ -1,176 +1,282 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style meam command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style meam command -

    -

    Syntax: -

    -
    pair_style meam 
    -
    -

    Examples: -

    -
    pair_style meam
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style meam command¶

    +
    +

    Syntax¶

    +
    pair_style meam
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style meam
     pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si
    -pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni 
    -
    -

    Description: -

    -

    NOTE: The behavior of the MEAM potential for alloy systems has changed +pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni +

    + + +
    +

    Description¶

    +
    +

    Note

    +

    The behavior of the MEAM potential for alloy systems has changed as of November 2010; see description below of the mixture_ref_t -parameter -

    -

    Style meam computes pairwise interactions for a variety of materials +parameter

    +
    +

    Style meam computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials -(Baskes). Conceptually, it is an extension to the original -EAM potentials which adds angular forces. It is +(Baskes). Conceptually, it is an extension to the original +EAM potentials which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like -silicon and carbon. -

    -

    In the MEAM formulation, the total energy E of a system of atoms is -given by: -

    -
    -
    -

    where F is the embedding energy which is a function of the atomic +silicon and carbon.

    +

    In the MEAM formulation, the total energy E of a system of atoms is +given by:

    +_images/pair_meam.jpg +

    where F is the embedding energy which is a function of the atomic electron density rho, and phi is a pair potential interaction. The pair interaction is summed over all neighbors J of atom I within the cutoff distance. As with EAM, the multi-body nature of the MEAM potential is a result of the embedding energy term. Details of the computation of the embedding and pair energies, as implemented in -LAMMPS, are given in (Gullet) and references therein. -

    -

    The various parameters in the MEAM formulas are listed in two files -which are specified by the pair_coeff command. +LAMMPS, are given in (Gullet) and references therein.

    +

    The various parameters in the MEAM formulas are listed in two files +which are specified by the pair_coeff command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different -materials are included in the "potentials" directory of the LAMMPS -distribution with a ".meam" suffix. All of these are parameterized in -terms of LAMMPS metal units. -

    -

    Note that unlike for other potentials, cutoffs for MEAM potentials are +materials are included in the “potentials” directory of the LAMMPS +distribution with a ”.meam” suffix. All of these are parameterized in +terms of LAMMPS metal units.

    +

    Note that unlike for other potentials, cutoffs for MEAM potentials are not set in the pair_style or pair_coeff command; they are specified in -the MEAM potential files themselves. -

    -

    Only a single pair_coeff command is used with the meam style which +the MEAM potential files themselves.

    +

    Only a single pair_coeff command is used with the meam style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff -command, where N is the number of LAMMPS atom types: -

    -
    • MEAM library file -
    • Elem1, Elem2, ... -
    • MEAM parameter file -
    • N element names = mapping of MEAM elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential files. -

    -

    As an example, the potentials/library.meam file has generic MEAM +command, where N is the number of LAMMPS atom types:

    +
      +
    • MEAM library file
    • +
    • Elem1, Elem2, ...
    • +
    • MEAM parameter file
    • +
    • N element names = mapping of MEAM elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential files.

    +

    As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/sic.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair_coeff command: -

    -
    pair_coeff * * library.meam Si C sic.meam Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +and the 4th to be C, you would use the following pair_coeff command:

    +
    pair_coeff * * library.meam Si C sic.meam Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the library and parameter file respectively. The Si and C arguments (between the file names) are the two elements for which info will be extracted from the library file. The first three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps LAMMPS atom type 4 to the MEAM C -element. -

    -

    If the 2nd filename is specified as NULL, no parameter file is read, +element.

    +

    If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are used. Use of the NULL specification for the parameter file is discouraged for systems with more than a single element type (e.g. alloys), since the parameter file is expected to set element interaction terms that are not captured by the information in the -library file. -

    -

    If a mapping value is specified as NULL, the mapping is not performed. -This can be used when a meam potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    The MEAM library file provided with LAMMPS has the name -potentials/library.meam. It is the "meamf" file used by other MD +library file.

    +

    If a mapping value is specified as NULL, the mapping is not performed. +This can be used when a meam potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    The MEAM library file provided with LAMMPS has the name +potentials/library.meam. It is the “meamf” file used by other MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, it is formatted as a series of entries, each of which -has 19 parameters and can span multiple lines: -

    -

    elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, -t0, t1, t2, t3, rozero, ibar -

    -

    The "elt" and "lat" parameters are text strings, such as elt = Si or +has 19 parameters and can span multiple lines:

    +

    elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, +t0, t1, t2, t3, rozero, ibar

    +

    The “elt” and “lat” parameters are text strings, such as elt = Si or Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the -formulas above. The value of the "elt" string is what is used in the +formulas above. The value of the “elt” string is what is used in the pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library -file with the same "elt" value; LAMMPS reads the 1st matching entry it -finds and ignores the rest. -

    -

    Other parameters in the MEAM library file correspond to single-element -potential parameters: -

    -
    lat      = lattice structure of reference configuration
    +file with the same “elt” value; LAMMPS reads the 1st matching entry it
    +finds and ignores the rest.

    +

    Other parameters in the MEAM library file correspond to single-element +potential parameters:

    +
    +lat      = lattice structure of reference configuration
     z        = number of nearest neighbors in the reference structure
     ielement = atomic number
     atwt     = atomic weight
     alat     = lattice constant of reference structure
     esub     = energy per atom (eV) in the reference structure at equilibrium
    -asub     = "A" parameter for MEAM (see e.g. (Baskes)) 
    -
    -

    The alpha, b0, b1, b2, b3, t0, t1, t2, t3 parameters correspond to the -standard MEAM parameters in the literature (Baskes) (the b +asub = "A" parameter for MEAM (see e.g. (Baskes)) +

    +

    The alpha, b0, b1, b2, b3, t0, t1, t2, t3 parameters correspond to the +standard MEAM parameters in the literature (Baskes) (the b parameters are the standard beta parameters). The rozero parameter is an element-dependent density scaling that weights the reference -background density (see e.g. equation 4.5 in (Gullet)) and +background density (see e.g. equation 4.5 in (Gullet)) and is typically 1.0 for single-element systems. The ibar parameter selects the form of the function G(Gamma) used to compute the electron -density; options are -

    -
       0 => G = sqrt(1+Gamma)
    -   1 => G = exp(Gamma/2)
    -   2 => not implemented 
    -   3 => G = 2/(1+exp(-Gamma))
    -   4 => G = sqrt(1+Gamma)
    -  -5 => G = +-sqrt(abs(1+Gamma)) 
    -
    -

    If used, the MEAM parameter file contains settings that override or +density; options are

    +
    0 => G = sqrt(1+Gamma)
    +   1 => G = exp(Gamma/2)
    +   2 => not implemented
    +   3 => G = 2/(1+exp(-Gamma))
    +   4 => G = sqrt(1+Gamma)
    +  -5 => G = +-sqrt(abs(1+Gamma))
    +
    +
    +

    If used, the MEAM parameter file contains settings that override or complement the library file settings. Examples of such parameter -files are in the potentials directory with a ".meam" suffix. Their +files are in the potentials directory with a ”.meam” suffix. Their format is the same as is read by other Fortran MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a -trailing comment (starting with #) which is ignored. -

    -
    keyword = value
    -keyword(I) = value
    -keyword(I,J) = value
    -keyword(I,J,K) = value 
    -
    -

    The recognized keywords are as follows: -

    -

    Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, -augt1, gsmooth_factor, re -

    -

    where -

    -
    rc          = cutoff radius for cutoff function; default = 4.0
    +trailing comment (starting with #) which is ignored.

    +
    keyword = value
    +keyword(I) = value
    +keyword(I,J) = value
    +keyword(I,J,K) = value
    +
    +
    +

    The recognized keywords are as follows:

    +

    Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, +augt1, gsmooth_factor, re

    +

    where

    +
    +rc          = cutoff radius for cutoff function; default = 4.0
     delr        = length of smoothing distance for cutoff function; default = 0.1
     rho0(I)     = relative density for element I (overwrites value
                   read from meamf file)
    @@ -181,32 +287,32 @@ alpha(I,J)  = alpha parameter for pair potential between I and J (can
                   be computed from bulk modulus of reference structure
     re(I,J)     = equilibrium distance between I and J in the reference
                   structure
    -Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened 
    -              by K (I<=J); default = 2.8
    -Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened 
    -              by K (I<=J); default = 2.0
    +Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened
    +              by K (I<=J); default = 2.8
    +Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened
    +              by K (I<=J); default = 2.0
     lattce(I,J) = lattice structure of I-J reference structure:
                     dia = diamond (interlaced fcc for alloy)
                     fcc = face centered cubic
                     bcc = body centered cubic
    -                dim = dimer 
    +                dim = dimer
                     b1  = rock salt (NaCl structure)
    -		hcp = hexagonal close-packed
    -		c11 = MoSi2 structure
    -		l12 = Cu3Au structure (lower case L, followed by 12)
    +             hcp = hexagonal close-packed
    +             c11 = MoSi2 structure
    +             l12 = Cu3Au structure (lower case L, followed by 12)
                     b2  = CsCl structure (interpenetrating simple cubic)
     nn2(I,J)    = turn on second-nearest neighbor MEAM formulation for
    -              I-J pair (see for example (Lee)).  
    +              I-J pair (see for example (Lee)).
                     0 = second-nearest neighbor formulation off
                     1 = second-nearest neighbor formulation on
                     default = 0
     attrac(I,J) = additional cubic attraction term in Rose energy I-J pair potential
    -                default = 0            
    +                default = 0
     repuls(I,J) = additional cubic repulsive term in Rose energy I-J pair potential
    -                default = 0     
    -zbl(I,J)    = blend the MEAM I-J pair potential with the ZBL potential for small 
    -              atom separations (ZBL) 
    -                default = 1       
    +                default = 0
    +zbl(I,J)    = blend the MEAM I-J pair potential with the ZBL potential for small
    +              atom separations (ZBL)
    +                default = 1
     gsmooth_factor  = factor determining the length of the G-function smoothing
                       region; only significant for ibar=0 or ibar=4.
                           99.0 = short smoothing region, sharp step
    @@ -216,7 +322,7 @@ augt1           = integer flag for whether to augment t1 parameter by
                       3/5*t3 to account for old vs. new meam formulations;
                         0 = don't augment t1
                         1 = augment t1
    -                    default = 1 
    +                    default = 1
     ialloy          = integer flag to use alternative averaging rule for t parameters,
                       for comparison with the DYNAMO MEAM code
                         0 = standard averaging (matches ialloy=0 in DYNAMO)
    @@ -228,8 +334,8 @@ mixture_ref_t   = integer flag to use mixture average of t to compute the backgr
                       (see description and warning elsewhere in this doc page)
                         0 = do not use mixture averaging for t in the reference density
                         1 = use mixture averaging for t in the reference density
    -                    default = 0 
    -erose_form      = integer value to select the form of the Rose energy function 
    +                    default = 0
    +erose_form      = integer value to select the form of the Rose energy function
                       (see description below).
                         default = 0
     emb_lin_neg     = integer value to select embedding function for negative densities
    @@ -239,30 +345,27 @@ emb_lin_neg     = integer value to select embedding function for negative densit
     bkgd_dyn        = integer value to select background density formula
                         0 = rho_bkgd = rho_ref_meam(a) (as in the reference structure)
                         1 = rho_bkgd = rho0_meam(a)*Z_meam(a) (matches DYNAMO)
    -                    default = 0 
    -
    -

    Rc, delr, re are in distance units (Angstroms in the case of metal + default = 0 +

    +

    Rc, delr, re are in distance units (Angstroms in the case of metal units). Ec and delta are in energy units (eV in the case of metal -units). -

    -

    Each keyword represents a quantity which is either a scalar, vector, +units).

    +

    Each keyword represents a quantity which is either a scalar, vector, 2d array, or 3d array and must be specified with the correct corresponding array syntax. The indices I,J,K each run from 1 to N -where N is the number of MEAM elements being used. -

    -

    Thus these lines -

    -
    rho0(2) = 2.25
    -alpha(1,2) = 4.37 
    -
    -

    set rho0 for the 2nd element to the value 2.25 and set alpha for the -alloy interaction between elements 1 and 2 to 4.37. -

    -

    The augt1 parameter is related to modifications in the MEAM +where N is the number of MEAM elements being used.

    +

    Thus these lines

    +
    rho0(2) = 2.25
    +alpha(1,2) = 4.37
    +
    +
    +

    set rho0 for the 2nd element to the value 2.25 and set alpha for the +alloy interaction between elements 1 and 2 to 4.37.

    +

    The augt1 parameter is related to modifications in the MEAM formulation of the partial electron density function. In recent literature, an extra term is included in the expression for the third-order density in order to make the densities orthogonal (see for -example (Wang), equation 3d); this term is included in the +example (Wang), equation 3d); this term is included in the MEAM implementation in lammps. However, in earlier published work this term was not included when deriving parameters, including most of those provided in the library.meam file included with lammps, and to @@ -270,9 +373,8 @@ account for this difference the parameter t1 must be augmented by 3/5*t3. If augt1=1, the default, this augmentation is done automatically. When parameter values are fit using the modified density function, as in more recent literature, augt1 should be set to -0. -

    -

    The mixture_ref_t parameter is available to match results with those +0.

    +

    The mixture_ref_t parameter is available to match results with those of previous versions of lammps (before January 2011). Newer versions of lammps, by default, use the single-element values of the t parameters to compute the background reference density. This is the @@ -282,102 +384,133 @@ reference density. Setting mixture_ref_t=1 gives the old behavior. WARNING: using mixture_ref_t=1 will give results that are demonstrably incorrect for second-neighbor MEAM, and non-standard for first-neighbor MEAM; this option is included only for matching with -previous versions of lammps and should be avoided if possible. -

    -

    The parameters attrac and repuls, along with the integer selection +previous versions of lammps and should be avoided if possible.

    +

    The parameters attrac and repuls, along with the integer selection parameter erose_form, can be used to modify the Rose energy function used to compute the pair potential. This function gives the energy of the reference state as a function of interatomic spacing. The form of -this function is: -

    -
    astar = alpha * (r/re - 1.d0)
    -if erose_form = 0: erose = -Ec*(1+astar+a3*(astar**3)/(r/re))*exp(-astar) 
    +this function is:

    +
    astar = alpha * (r/re - 1.d0)
    +if erose_form = 0: erose = -Ec*(1+astar+a3*(astar**3)/(r/re))*exp(-astar)
     if erose_form = 1: erose = -Ec*(1+astar+(-attrac+repuls/r)*(astar**3))*exp(-astar)
     if erose_form = 2: erose = -Ec*(1 +astar + a3*(astar**3))*exp(-astar)
    -a3 = repuls, astar < 0
    -a3 = attrac, astar >= 0 
    -
    -

    Most published MEAM parameter sets use the default values attrac=repulse=0. -Setting repuls=attrac=delta corresponds to the form used in several -recent published MEAM parameter sets, such as (Vallone) -

    -

    NOTE: The default form of the erose expression in LAMMPS was corrected +a3 = repuls, astar < 0 +a3 = attrac, astar >= 0 +

    + +

    Most published MEAM parameter sets use the default values attrac=repulse=0. +Setting repuls=attrac=delta corresponds to the form used in several +recent published MEAM parameter sets, such as (Vallone)

    +
    +

    Note

    +

    The default form of the erose expression in LAMMPS was corrected in March 2009. The current version is correct, but may show different behavior compared with earlier versions of lammps with the attrac and/or repuls parameters are non-zero. To obtain the previous default form, use erose_form = 1 (this form does not seem to appear in the -literature). An alternative form (see e.g. (Lee2)) is -available using erose_form = 2. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +literature). An alternative form (see e.g. (Lee2)) is +available using erose_form = 2.

    +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair_coeff command with I != J arguments for this style. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +specify a pair_coeff command with I != J arguments for this style.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This style is part of the MEAM package. It is only enabled if LAMMPS +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +
    +

    Restrictions¶

    +

    This style is part of the MEAM package. It is only enabled if LAMMPS was built with that package, which also requires the MEAM library be -built and linked with LAMMPS. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style eam, -pair_style meam/spline -

    -

    Default: none -

    -
    - - - -

    (Baskes) Baskes, Phys Rev B, 46, 2727-2742 (1992). -

    - - -

    (Gullet) Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). -This report may be accessed on-line via this link. -

    +built and linked with LAMMPS. See the Making LAMMPS section for more info.

    +
    + + - + + +
    + -

    (Lee) Lee, Baskes, Phys. Rev. B, 62, 8564-8567 (2000). -

    - +
    -

    (Lee2) Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Valone) Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006). -

    - +
    -

    (Wang) Wang, Van Hove, Ross, Baskes, J. Chem. Phys., 121, 5410 (2004). -

    - + + -

    (ZBL) J.F. Ziegler, J.P. Biersack, U. Littmark, "Stopping and Ranges -of Ions in Matter", Vol 1, 1985, Pergamon Press. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_meam_spline.html b/doc/pair_meam_spline.html index e1a17d7b54..81357a61b4 100644 --- a/doc/pair_meam_spline.html +++ b/doc/pair_meam_spline.html @@ -1,152 +1,310 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style meam/spline — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style meam/spline -

    -

    pair_style meam/spline/omp -

    -

    Syntax: -

    -
    pair_style meam/spline 
    -
    -

    Examples: -

    -
    pair_style meam/spline
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style meam/spline¶

    +
    +
    +

    pair_style meam/spline/omp¶

    +
    +

    Syntax¶

    +
    pair_style meam/spline
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style meam/spline
     pair_coeff * * Ti.meam.spline Ti
    -pair_coeff * * Ti.meam.spline Ti Ti Ti 
    -
    -

    Description: -

    -

    The meam/spline style computes pairwise interactions for metals +pair_coeff * * Ti.meam.spline Ti Ti Ti +

    + + +
    +

    Description¶

    +

    The meam/spline style computes pairwise interactions for metals using a variant of modified embedded-atom method (MEAM) potentials -(Lenosky). The total energy E is given by -

    -
    -
    -

    where rho_i is the density at atom I, theta_jik is the angle between +(Lenosky). The total energy E is given by

    +_images/pair_meam_spline.jpg +

    where rho_i is the density at atom I, theta_jik is the angle between atoms J, I, and K centered on atom I. The five functions Phi, U, rho, -f, and g are represented by cubic splines. -

    -

    The cutoffs and the coefficients for these spline functions are listed +f, and g are represented by cubic splines.

    +

    The cutoffs and the coefficients for these spline functions are listed in a parameter file which is specified by the -pair_coeff command. Parameter files for different -elements are included in the "potentials" directory of the LAMMPS -distribution and have a ".meam.spline" file suffix. All of these -files are parameterized in terms of LAMMPS metal units. -

    -

    Note that unlike for other potentials, cutoffs for spline-based MEAM +pair_coeff command. Parameter files for different +elements are included in the “potentials” directory of the LAMMPS +distribution and have a ”.meam.spline” file suffix. All of these +files are parameterized in terms of LAMMPS metal units.

    +

    Note that unlike for other potentials, cutoffs for spline-based MEAM potentials are not set in the pair_style or pair_coeff command; they -are specified in the potential files themselves. -

    -

    Unlike the EAM pair style, which retrieves the atomic mass from the +are specified in the potential files themselves.

    +

    Unlike the EAM pair style, which retrieves the atomic mass from the potential file, the spline-based MEAM potentials do not include mass -information; thus you need to use the mass command to -specify it. -

    -

    Only a single pair_coeff command is used with the meam/spline style +information; thus you need to use the mass command to +specify it.

    +

    Only a single pair_coeff command is used with the meam/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of spline-based MEAM elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine the Ti.meam.spline file has values for Ti. If +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of spline-based MEAM elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine the Ti.meam.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be treated with this potentials, you would use the following pair_coeff -command: -

    -
    pair_coeff * * Ti.meam.spline Ti Ti Ti 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command:

    +
    pair_coeff * * Ti.meam.spline Ti Ti Ti
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a meam/spline -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can be used when a meam/spline +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials. -

    -

    IMPORTANT NOTE: The meam/spline style currently supports only +potentials.

    +
    +

    Warning

    +

    The meam/spline style currently supports only single-element MEAM potentials. It may be extended for alloy systems -in the future. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +in the future.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    The current version of this pair style does not support multiple -element types or mixing. It has been designed for pure elements only. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    The meam/spline pair style does not write its information to binary -restart files, since it is stored in an external +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    The current version of this pair style does not support multiple +element types or mixing. It has been designed for pure elements only.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    The meam/spline pair style does not write its information to binary restart files, since it is stored in an external potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file. -

    -

    The meam/spline pair style can only be used via the pair keyword of the -run_style respa command. They do not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    This pair style is only enabled if LAMMPS was built with the USER-MISC -package. See the Making LAMMPS section -for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style meam -

    -

    Default: none -

    -
    - - - -

    (Lenosky) Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, +and pair_coeff commands in an input script that reads a restart file.

    +

    The meam/spline pair style can only be used via the pair keyword of the +run_style respa command. They do not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    This pair style is only enabled if LAMMPS was built with the USER-MISC +package. See the Making LAMMPS section +for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_meam_sw_spline.html b/doc/pair_meam_sw_spline.html index 391a28686d..c7ccbf8bd7 100644 --- a/doc/pair_meam_sw_spline.html +++ b/doc/pair_meam_sw_spline.html @@ -1,146 +1,303 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style meam/sw/spline — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style meam/sw/spline -

    -

    pair_style meam/sw/spline/omp -

    -

    Syntax: -

    -
    pair_style meam/sw/spline 
    -
    -

    Examples: -

    -
    pair_style meam/sw/spline
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style meam/sw/spline¶

    +
    +
    +

    pair_style meam/sw/spline/omp¶

    +
    +

    Syntax¶

    +
    pair_style meam/sw/spline
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style meam/sw/spline
     pair_coeff * * Ti.meam.sw.spline Ti
    -pair_coeff * * Ti.meam.sw.spline Ti Ti Ti 
    -
    -

    Description: -

    -

    The meam/sw/spline style computes pairwise interactions for metals +pair_coeff * * Ti.meam.sw.spline Ti Ti Ti +

    + + +
    +

    Description¶

    +

    The meam/sw/spline style computes pairwise interactions for metals using a variant of modified embedded-atom method (MEAM) potentials -(Lenosky) with an additional Stillinger-Weber (SW) term -(Stillinger) in the energy. This form of the potential +(Lenosky) with an additional Stillinger-Weber (SW) term +(Stillinger) in the energy. This form of the potential was first proposed by Nicklas, Fellinger, and Park -(Nicklas). We refer to it as MEAM+SW. The total energy E -is given by -

    -
    -
    -

    where rho_I is the density at atom I, theta_JIK is the angle between -atoms J, I, and K centered on atom I. The seven functions -Phi, F, G, U, rho, f, and g are represented by cubic splines. -

    -

    The cutoffs and the coefficients for these spline functions are listed +(Nicklas). We refer to it as MEAM+SW. The total energy E +is given by

    +_images/pair_meam_sw_spline.jpg +

    where rho_I is the density at atom I, theta_JIK is the angle between +atoms J, I, and K centered on atom I. The seven functions +Phi, F, G, U, rho, f, and g are represented by cubic splines.

    +

    The cutoffs and the coefficients for these spline functions are listed in a parameter file which is specified by the -pair_coeff command. Parameter files for different -elements are included in the "potentials" directory of the LAMMPS -distribution and have a ".meam.sw.spline" file suffix. All of these -files are parameterized in terms of LAMMPS metal units. -

    -

    Note that unlike for other potentials, cutoffs for spline-based +pair_coeff command. Parameter files for different +elements are included in the “potentials” directory of the LAMMPS +distribution and have a ”.meam.sw.spline” file suffix. All of these +files are parameterized in terms of LAMMPS metal units.

    +

    Note that unlike for other potentials, cutoffs for spline-based MEAM+SW potentials are not set in the pair_style or pair_coeff -command; they are specified in the potential files themselves. -

    -

    Unlike the EAM pair style, which retrieves the atomic mass from the +command; they are specified in the potential files themselves.

    +

    Unlike the EAM pair style, which retrieves the atomic mass from the potential file, the spline-based MEAM+SW potentials do not include -mass information; thus you need to use the mass command to -specify it. -

    -

    Only a single pair_coeff command is used with the meam/sw/spline style +mass information; thus you need to use the mass command to +specify it.

    +

    Only a single pair_coeff command is used with the meam/sw/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of spline-based MEAM+SW elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine the Ti.meam.sw.spline file has values for Ti. +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of spline-based MEAM+SW elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine the Ti.meam.sw.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be treated with this potential, you would use the following pair_coeff -command: -

    -

    pair_coeff * * Ti.meam.sw.spline Ti Ti Ti -

    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +command:

    +

    pair_coeff * * Ti.meam.sw.spline Ti Ti Ti

    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a meam/sw/spline +mapping is not performed. This can be used when a meam/sw/spline potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials. -

    -

    IMPORTANT NOTE: The meam/sw/spline style currently supports only +potentials.

    +
    +

    Warning

    +

    The meam/sw/spline style currently supports only single-element MEAM+SW potentials. It may be extended for alloy -systems in the future. -

    -

    Example input scripts that use this pair style are provided -in the examples/USER/misc/meam_sw_spline directory. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    The pair style does not support multiple element types or mixing. -It has been designed for pure elements only. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    The meam/sw/spline pair style does not write its information to -binary restart files, since it is stored in an external +systems in the future.

    +
    +

    Example input scripts that use this pair style are provided +in the examples/USER/misc/meam_sw_spline directory.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    The pair style does not support multiple element types or mixing. +It has been designed for pure elements only.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    The meam/sw/spline pair style does not write its information to +binary restart files, since it is stored in an external potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file. -

    -

    The meam/sw/spline pair style can only be used via the pair -keyword of the run_style respa command. They do not -support the inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    This pair style is only enabled if LAMMPS was built with the USER-MISC package. -See the Making LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_style meam, -pair_style meam/spline -

    -

    Default: none -

    -
    - - - -

    (Lenosky) Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, -Kress, Modell. Simul. Mater. Sci. Eng. 8, 825 (2000). -

    - - -

    (Stillinger) Stillinger, Weber, Phys. Rev. B 31, 5262 (1985). -

    - - -

    (Nicklas) +and pair_coeff commands in an input script that reads a restart file.

    +

    The meam/sw/spline pair style can only be used via the pair +keyword of the run_style respa command. They do not +support the inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    This pair style is only enabled if LAMMPS was built with the USER-MISC package. +See the Making LAMMPS section for more info.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_mie.html b/doc/pair_mie.html index e5207cb232..e2e1d1c1a8 100644 --- a/doc/pair_mie.html +++ b/doc/pair_mie.html @@ -1,107 +1,273 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style mie/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style mie/cut command -

    -

    pair_style mie/cut/gpu command -

    -

    Syntax: -

    -
    pair_style mie/cut cutoff 
    -
    -
    • cutoff = global cutoff for mie/cut interactions (distance units) -
    -

    Examples: -

    -
    pair_style mie/cut 10.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style mie/cut command¶

    +
    +
    +

    pair_style mie/cut/gpu command¶

    +
    +

    Syntax¶

    +
    pair_style mie/cut cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for mie/cut interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style mie/cut 10.0
     pair_coeff 1 1 0.72 3.40 23.00 6.66
     pair_coeff 2 2 0.30 3.55 12.65 6.00
    -pair_coeff 1 2 0.46 3.32 16.90 6.31 
    -
    -

    Description: -

    -

    The mie/cut style computes the Mie potential, given by -

    -
    -
    -

    Rc is the cutoff and C is a function that depends on the repulsive and -attractive exponents, given by: -

    -
    -
    -

    Note that for 12/6 exponents, C is equal to 4 and the formula is the -same as the standard Lennard-Jones potential. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 2 0.46 3.32 16.90 6.31 +

    + + +
    +

    Description¶

    +

    The mie/cut style computes the Mie potential, given by

    +_images/pair_mie.jpg +

    Rc is the cutoff and C is a function that depends on the repulsive and +attractive exponents, given by:

    +_images/pair_mie2.jpg +

    Note that for 12/6 exponents, C is equal to 4 and the formula is the +same as the standard Lennard-Jones potential.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • gammaR -
    • gammaA -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • gammaR
    • +
    • gammaA
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global +cutoff specified in the pair_style command is used.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the mie/cut pair styles can be mixed. If not explicity defined, both the repulsive and attractive gamma exponents for different atoms will be calculated following the same mixing rule defined for distances. The default mix value is -geometric. See the "pair_modify" command for details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    This pair style supports the pair_modify tail +geometric. See the “pair_modify” command for details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    This pair style supports the pair_modify tail option for adding a long-range tail correction to the energy and -pressure of the pair interaction. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style supports the use of the inner, middle, and outer -keywords of the run_style respa command, meaning the +pressure of the pair interaction.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style supports the use of the inner, middle, and outer +keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the run_style command for -details. -

    -
    +the rRESPA hierarchy. See the run_style command for +details.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Mie) G. Mie, Ann Phys, 316, 657 (1903). -

    - +
    -

    (Avendano) C. Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, -G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_modify.html b/doc/pair_modify.html index f6013a430e..1bf713ad94 100644 --- a/doc/pair_modify.html +++ b/doc/pair_modify.html @@ -1,130 +1,238 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_modify command -

    -

    Syntax: -

    -
    pair_modify keyword values ... 
    -
    -
    • one or more keyword/value pairs may be listed - -
    • keyword = pair or special or shift or mix or table or table/disp or tabinner or tabinner/disp or tail or compute - -
        pair values = sub-style N special which w1 wt2 wt3
      -    sub-style = sub-style of pair hybrid
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      pair_modify command¶

      +
      +

      Syntax¶

      +
      pair_modify keyword values ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be listed
      • +
      • keyword = pair or special or shift or mix or table or table/disp or tabinner or tabinner/disp or tail or compute
      • +
      +
      +pair values = sub-style N special which w1 wt2 wt3
      +    sub-style = sub-style of pair hybrid
           N = which instance of sub-style (only if sub-style is used multiple times)
      -  special values = flavor w1 w2 w3
      -    flavor = lj/coul or lj or coul
      +  special values = flavor w1 w2 w3
      +    flavor = lj/coul or lj or coul
           w1,w2,w3 = weights from 0.0 to 1.0 inclusive
      -  mix value = geometric or arithmetic or sixthpower
      -  shift value = yes or no
      -  table value = N
      +  mix value = geometric or arithmetic or sixthpower
      +  shift value = yes or no
      +  table value = N
           2^N = # of values in table
      -  table/disp value = N
      +  table/disp value = N
           2^N = # of values in table
      -  tabinner value = cutoff
      +  tabinner value = cutoff
           cutoff = inner cutoff at which to begin table (distance units)
      -  tabinner/disp value = cutoff
      +  tabinner/disp value = cutoff
           cutoff = inner cutoff at which to begin table (distance units)
      -  tail value = yes or no
      -  compute value = yes or no 
      -
      - -
    -

    Examples: -

    -
    pair_modify shift yes mix geometric
    +  tail value = yes or no
    +  compute value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    pair_modify shift yes mix geometric
     pair_modify tail yes
    -pair_modify table 12 
    -
    -

    Description: -

    -

    Modify the parameters of the currently defined pair style. Not all -parameters are relevant to all pair styles. -

    -

    If used, the pair keyword must appear first in the list of keywords. -It can only be used with the hybrid and -hybrid/overlay pair styles. It means that all the +pair_modify table 12 +

    +
    +
    +
    +

    Description¶

    +

    Modify the parameters of the currently defined pair style. Not all +parameters are relevant to all pair styles.

    +

    If used, the pair keyword must appear first in the list of keywords. +It can only be used with the hybrid and hybrid/overlay pair styles. It means that all the following parameters will only be modified for the specified sub-style. If the sub-style is defined multiple times, then an -additional numeric argument N must also be specified, which is a +additional numeric argument N must also be specified, which is a number from 1 to M where M is the number of times the sub-style was -listed in the pair_style hybrid command. The extra +listed in the pair_style hybrid command. The extra number indicates which instance of the sub-style the remaining -keywords will be applied to. Note that if the pair keyword is not -used, and the pair style is hybrid or hybrid/overlay, then all the -specified keywords will be applied to all sub-styles. -

    -

    If used, the special keyword must appear second in the list of -keywords, and must follow the pair keyword. Like the pair -keyword, it also can only be used with the hybrid and -hybrid/overlay pair styles. Its parameters are -similar to the special_bonds command, and it +keywords will be applied to. Note that if the pair keyword is not +used, and the pair style is hybrid or hybrid/overlay, then all the +specified keywords will be applied to all sub-styles.

    +

    If used, the special keyword must appear second in the list of +keywords, and must follow the pair keyword. Like the pair +keyword, it also can only be used with the hybrid and hybrid/overlay pair styles. Its parameters are +similar to the special_bonds command, and it overrides the special_bond settings for the specified sub-style. More -details are given below. -

    -

    The mix keyword affects pair coefficients for interactions between +details are given below.

    +

    The mix keyword affects pair coefficients for interactions between atoms of type I and J, when I != J and the coefficients are not explicitly set in the input script. Note that coefficients for I = J must be set explicitly, either in the input script via the -"pair_coeff" command or in the "Pair Coeffs" section of the data -file. For some pair styles it is not necessary to -specify coefficients when I != J, since a "mixing" rule will create -them from the I,I and J,J settings. The pair_modify mix value +“pair_coeff” command or in the “Pair Coeffs” section of the data file. For some pair styles it is not necessary to +specify coefficients when I != J, since a “mixing” rule will create +them from the I,I and J,J settings. The pair_modify mix value determines what formulas are used to compute the mixed coefficients. -In each case, the cutoff distance is mixed the same way as sigma. -

    -

    Note that not all pair styles support mixing. Also, some mix options +In each case, the cutoff distance is mixed the same way as sigma.

    +

    Note that not all pair styles support mixing. Also, some mix options are not available for certain pair styles. See the doc page for individual pair styles for those restrictions. Note also that the -pair_coeff command also can be to directly set +pair_coeff command also can be to directly set coefficients for a specific I != J pairing, in which case no mixing is -performed. -

    -

    mix geometric -

    -
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -sigma_ij = sqrt(sigma_i * sigma_j) 
    -
    -

    mix arithmetic -

    -
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -sigma_ij = (sigma_i + sigma_j) / 2 
    -
    -

    mix sixthpower -

    -
    epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    +performed.

    +

    mix geometric

    +
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +sigma_ij = sqrt(sigma_i * sigma_j)
    +
    +
    +

    mix arithmetic

    +
    epsilon_ij = sqrt(epsilon_i * epsilon_j)
    +sigma_ij = (sigma_i + sigma_j) / 2
    +
    +
    +

    mix sixthpower

    +
    epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
                  (sigma_i^6 + sigma_j^6)
    -sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) 
    -
    -

    The shift keyword determines whether a Lennard-Jones potential is +sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) +

    + +

    The shift keyword determines whether a Lennard-Jones potential is shifted at its cutoff to 0.0. If so, this adds an energy term to each pairwise interaction which will be included in the thermodynamic output, but does not affect pair forces or atom trajectories. See the doc page for individual pair styles to see which ones support this -option. -

    -

    The table and table/disp keywords apply to pair styles with a +option.

    +

    The table and table/disp keywords apply to pair styles with a long-range Coulombic term or long-range dispersion term respectively; see the doc page for individual styles to see which potentials support these options. If N is non-zero, a table of length 2^N is pre-computed for forces and energies, which can shrink their computational cost by up to a factor of 2. The table is indexed via a -bit-mapping technique (Wolff) and a linear interpolation is +bit-mapping technique (Wolff) and a linear interpolation is performed between adjacent table values. In our experiments with different table styles (lookup, linear, spline), this method typically -gave the best performance in terms of speed and accuracy. -

    -

    The choice of table length is a tradeoff in accuracy versus speed. A +gave the best performance in terms of speed and accuracy.

    +

    The choice of table length is a tradeoff in accuracy versus speed. A larger N yields more accurate force computations, but requires more memory which can slow down the computation due to cache misses. A reasonable value of N is between 8 and 16. The default value of 12 @@ -133,110 +241,106 @@ no-table (N = 0) option. For N = 0, forces and energies are computed directly, using a polynomial fit for the needed erfc() function evaluation, which is what earlier versions of LAMMPS did. Values greater than 16 typically slow down the simulation and will not -improve accuracy; values from 1 to 8 give unreliable results. -

    -

    The tabinner and tabinner/disp keywords set an inner cutoff above +improve accuracy; values from 1 to 8 give unreliable results.

    +

    The tabinner and tabinner/disp keywords set an inner cutoff above which the pairwise computation is done by table lookup (if tables are invoked), for the corresponding Coulombic and dispersion tables -discussed with the table and table/disp keywords. The smaller the +discussed with the table and table/disp keywords. The smaller the cutoff is set, the less accurate the table becomes (for a given number of table values), which can require use of larger tables. The default cutoff value is sqrt(2.0) distance units which means nearly all pairwise interactions are computed via table lookup for simulations -with "real" units, but some close pairs may be computed directly -(non-table) for simulations with "lj" units. -

    -

    When the tail keyword is set to yes, certain pair styles will add -a long-range VanderWaals tail "correction" to the energy and pressure. +with “real” units, but some close pairs may be computed directly +(non-table) for simulations with “lj” units.

    +

    When the tail keyword is set to yes, certain pair styles will add +a long-range VanderWaals tail “correction” to the energy and pressure. These corrections are bookkeeping terms which do not affect dynamics, unless a constant-pressure simulation is being performed. See the doc page for individual styles to see which support this option. These corrections are included in the calculation and printing of -thermodynamic quantities (see the thermo_style +thermodynamic quantities (see the thermo_style command). Their effect will also be included in constant NPT or NPH simulations where the pressure influences the simulation box -dimensions (e.g. the fix npt and fix nph +dimensions (e.g. the fix npt and fix nph commands). The formulas used for the long-range corrections come from -equation 5 of (Sun). -

    -

    IMPORTANT NOTE: The tail correction terms are computed at the +equation 5 of (Sun).

    +
    +

    Warning

    +

    The tail correction terms are computed at the beginning of each run, using the current atom counts of each atom type. If atoms are deleted (or lost) or created during a simulation, -e.g. via the fix gcmc command, the correction factors +e.g. via the fix gcmc command, the correction factors are not re-computed. If you expect the counts to change dramatically, you can break a run into a series of shorter runs so that the -correction factors are re-computed more frequently. -

    -

    Several additional assumptions are inherent in using tail corrections, -including the following: -

    -
    • The simulated system is a 3d bulk homogeneous liquid. This option +correction factors are re-computed more frequently.

      +
    +

    Several additional assumptions are inherent in using tail corrections, +including the following:

    +
      +
    • The simulated system is a 3d bulk homogeneous liquid. This option should not be used for systems that are non-liquid, 2d, have a slab -geometry (only 2d periodic), or inhomogeneous. - -
    • G(r), the radial distribution function (rdf), is unity beyond the +geometry (only 2d periodic), or inhomogeneous.
    • +
    • G(r), the radial distribution function (rdf), is unity beyond the cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an LJ fluid), and it is probably a good idea to verify this assumption by checking the rdf. The rdf is not exactly unity beyond the cutoff for each pair of interaction types, so the tail correction is necessarily -an approximation. - -

      The tail corrections are computed at the beginning of each simulation +an approximation.

    • +
    +

    The tail corrections are computed at the beginning of each simulation run. If the number of atoms changes during the run, e.g. due to atoms -leaving the simulation domain, or use of the fix gcmc +leaving the simulation domain, or use of the fix gcmc command, then the corrections are not updates to relect the changed atom count. If this is a large effect in your simulation, you should break the long run into several short runs, so that the correction -factors are re-computed multiple times. -

    -
  • Thermophysical properties obtained from calculations with this option +factors are re-computed multiple times.

    +
      +
    • Thermophysical properties obtained from calculations with this option enabled will not be thermodynamically consistent with the truncated force-field that was used. In other words, atoms do not feel any LJ pair interactions beyond the cutoff, but the energy and pressure reported by the simulation include an estimated contribution from -those interactions. -
    -

    The compute keyword allows pairwise computations to be turned off, -even though a pair_style is defined. This is not +those interactions.

  • + +

    The compute keyword allows pairwise computations to be turned off, +even though a pair_style is defined. This is not useful for running a real simulation, but can be useful for debugging -purposes or for performing a rerun simulation, when you +purposes or for performing a rerun simulation, when you only wish to compute partial forces that do not include the pairwise -contribution. -

    -

    Two examples are as follows. First, this option allows you to perform -a simulation with pair_style hybrid with only a +contribution.

    +

    Two examples are as follows. First, this option allows you to perform +a simulation with pair_style hybrid with only a subset of the hybrid sub-styles enabled. Second, this option allows you to perform a simulation with only long-range interactions but no short-range pairwise interactions. Doing this by simply not defining a pair style will not work, because the -kspace_style command requires a Kspace-compatible -pair style be defined. -

    -
    - -
    Use of special keyword -
    -

    The special keyword requires 4 values similar to those specified -with the special_bonds command, flavor and -w1,w2,w3. The flavor argument can be lj to change the -Lennard-Jones settings, coul to change the Coulombic settings, or -lj/coul to change both to the same set of 3 values. The w1,w2,w3 +kspace_style command requires a Kspace-compatible +pair style be defined.

    +
    +
    +

    Use of special keyword¶

    +

    The special keyword requires 4 values similar to those specified +with the special_bonds command, flavor and +w1,w2,w3. The flavor argument can be lj to change the +Lennard-Jones settings, coul to change the Coulombic settings, or +lj/coul to change both to the same set of 3 values. The w1,w2,w3 values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2, -1-3, and 1-4 bond topology neighbors. For example, these commands -

    -
    special_bonds lj/coul 0.0 0.0 0.1
    +1-3, and 1-4 bond topology neighbors.  For example, these commands

    +
    special_bonds lj/coul 0.0 0.0 0.1
     pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0
     pair_modify pair lj/charmm/coul/long special lj/coul 0.0 0.0 0.0
     pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5
    -pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.8333 
    -
    -

    show how to use both the CHARMM and AMBER force fields in a single +pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.8333 +

    + +

    show how to use both the CHARMM and AMBER force fields in a single simulation. The first pair modify command sets the special bonds to CHARMM values (all 0.0). The last 2 pair modify commands set the -standard AMBER values for LJ and Coulombic weights. -

    -

    IMPORTANT NOTE: The global settings specified by the -special_bonds command affect the construction of +standard AMBER values for LJ and Coulombic weights.

    +
    +

    Warning

    +

    The global settings specified by the +special_bonds command affect the construction of neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors) exclude those pairs from the neighbor list entirely. Weights of 1.0 store the neighbor with no weighting applied. The format of the @@ -245,36 +349,95 @@ non-zero or non-one value. Thus an error is generated if the new sub-style value is not 0.0 (or 1.0) when the global setting is 0.0 (or 1.0). Note that as in the example above, the global factor can simply be set a value other than 0.0 or 1.0, then overridden by any of the -sub-styles with a value that is 0.0 or 1.0. -

    -
    +sub-styles with a value that is 0.0 or 1.0.

    +
    + + +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    You cannot use shift yes with tail yes, since those are +conflicting options. You cannot use tail yes with 2d simulations.

    +
    + +
    +

    Default¶

    +

    The option defaults are mix = geometric, shift = no, table = 12, +tabinner = sqrt(2.0), tail = no, and compute = yes.

    +

    Note that some pair styles perform mixing, but only a certain style of +mixing. See the doc pages for individual pair styles for details.

    +
    +

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).

    +

    (Sun) Sun, J Phys Chem B, 102, 7338-7364 (1998).

    +
    + -

    Restrictions: none -

    -

    You cannot use shift yes with tail yes, since those are -conflicting options. You cannot use tail yes with 2d simulations. -

    -

    Related commands: -

    -

    pair_style, pair_coeff, -thermo_style -

    -

    Default: -

    -

    The option defaults are mix = geometric, shift = no, table = 12, -tabinner = sqrt(2.0), tail = no, and compute = yes. -

    -

    Note that some pair styles perform mixing, but only a certain style of -mixing. See the doc pages for individual pair styles for details. -

    -
    - + + +
    + -

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). -

    - +
    -

    (Sun) Sun, J Phys Chem B, 102, 7338-7364 (1998). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_morse.html b/doc/pair_morse.html index 58beb18f7f..6691c0b761 100644 --- a/doc/pair_morse.html +++ b/doc/pair_morse.html @@ -1,114 +1,284 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style morse command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style morse command -

    -

    pair_style morse/cuda command -

    -

    pair_style morse/gpu command -

    -

    pair_style morse/omp command -

    -

    pair_style morse/opt command -

    -

    Syntax: -

    -
    pair_style morse cutoff 
    -
    -
    • cutoff = global cutoff for Morse interactions (distance units) -
    -

    Examples: -

    -
    pair_style morse 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style morse command¶

    +
    +
    +

    pair_style morse/cuda command¶

    +
    +
    +

    pair_style morse/gpu command¶

    +
    +
    +

    pair_style morse/omp command¶

    +
    +
    +

    pair_style morse/opt command¶

    +
    +

    Syntax¶

    +
    pair_style morse cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for Morse interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style morse 2.5
     pair_coeff * * 100.0 2.0 1.5
    -pair_coeff 1 1 100.0 2.0 1.5 3.0 
    -
    -

    Description: -

    -

    Style morse computes pairwise interactions with the formula -

    -
    -
    -

    Rc is the cutoff. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff 1 1 100.0 2.0 1.5 3.0 +

    + + +
    +

    Description¶

    +

    Style morse computes pairwise interactions with the formula

    +_images/pair_morse.jpg +

    Rc is the cutoff.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • D0 (energy units) -
    • alpha (1/distance units) -
    • r0 (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global morse -cutoff is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands:

    +
      +
    • D0 (energy units)
    • +
    • alpha (1/distance units)
    • +
    • r0 (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global morse +cutoff is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    None of these pair styles support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    All of these pair styles support the pair_modify -shift option for the energy of the pair interaction. -

    -

    The pair_modify table options is not relevant for -the Morse pair styles. -

    -

    None of these pair styles support the pair_modify +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    None of these pair styles support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    All of these pair styles support the pair_modify +shift option for the energy of the pair interaction.

    +

    The pair_modify table options is not relevant for +the Morse pair styles.

    +

    None of these pair styles support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    All of these pair styles write their information to binary restart -files, 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 command. They do not support the -inner, middle, outer keywords. -

    -
    +pressure.

    +

    All of these pair styles write their information to binary restart files, 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 command. They do not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_nb3b_harmonic.html b/doc/pair_nb3b_harmonic.html index 6d258736e1..acce127337 100644 --- a/doc/pair_nb3b_harmonic.html +++ b/doc/pair_nb3b_harmonic.html @@ -1,129 +1,293 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style nb3b/harmonic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style nb3b/harmonic command -

    -

    pair_style nb3b/harmonic/omp command -

    -

    Syntax: -

    -
    pair_style nb3b/harmonic 
    -
    -

    Examples: -

    -
    pair_style nb3b/harmonic
    -pair_coeff * * MgOH.nb3bharmonic Mg O H 
    -
    -

    Description: -

    -

    This pair style computes a nonbonded 3-body harmonic potential for the -energy E of a system of atoms as -

    -
    -
    -

    where theta_0 is the equilibrium value of the angle and K is a -prefactor. Note that the usual 1/2 factor is included in K. The form -of the potential is identical to that used in angle_style harmonic, -but in this case, the atoms do not need to be explicitly bonded. -

    -

    Only a single pair_coeff command is used with this style which + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style nb3b/harmonic command¶

    +
    +
    +

    pair_style nb3b/harmonic/omp command¶

    +
    +

    Syntax¶

    +
    pair_style nb3b/harmonic
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style nb3b/harmonic
    +pair_coeff * * MgOH.nb3bharmonic Mg O H
    +
    +
    +
    +
    +

    Description¶

    +

    This pair style computes a nonbonded 3-body harmonic potential for the +energy E of a system of atoms as

    +_images/pair_nb3b_harmonic.jpg +

    where theta_0 is the equilibrium value of the angle and K is a +prefactor. Note that the usual 1/2 factor is included in K. The form +of the potential is identical to that used in angle_style harmonic, +but in this case, the atoms do not need to be explicitly bonded.

    +

    Only a single pair_coeff command is used with this style which specifies a potential file with parameters for specified elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the -number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine a file SiC.nb3b.harmonic has potential values +number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine a file SiC.nb3b.harmonic has potential values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command: -

    -
    pair_coeff * * SiC.nb3b.harmonic Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +following pair_coeff command:

    +
    pair_coeff * * SiC.nb3b.harmonic Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the potential file. The final C argument maps LAMMPS atom type 4 to the C element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when the potential is used as part of the hybrid pair style. The +when the potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other potentials. An example of a pair_coeff command for use with the -hybrid pair style is: -

    -

    pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H -

    -

    Three-body nonbonded harmonic files in the potentials directory of -the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that +hybrid pair style is:

    +

    pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H

    +

    Three-body nonbonded harmonic files in the potentials directory of +the LAMMPS distribution have a ”.nb3b.harmonic” suffix. Lines that are not blank or comments (starting with #) define parameters for a -triplet of elements. -

    -

    Each entry has six arguments. The first three are atom types as +triplet of elements.

    +

    Each entry has six arguments. The first three are atom types as referenced in the LAMMPS input file. The first argument specifies the -central atom. The fourth argument indicates the K parameter. The -fifth argument indicates theta_0. The sixth argument indicates a -separation cutoff in Angstroms. -

    -

    For a given entry, if the second and third arguments are identical, +central atom. The fourth argument indicates the K parameter. The +fifth argument indicates theta_0. The sixth argument indicates a +separation cutoff in Angstroms.

    +

    For a given entry, if the second and third arguments are identical, then the entry is for a cutoff for the distance between types 1 and 2 -(values for K and theta_0 are irrelevant in this case). -

    -

    For a given entry, if the first three arguments are all different, -then the entry is for the K and theta_0 parameters (the cutoff in -this case is irrelevant). -

    -

    It is not required that the potential file contain entries for all +(values for K and theta_0 are irrelevant in this case).

    +

    For a given entry, if the first three arguments are all different, +then the entry is for the K and theta_0 parameters (the cutoff in +this case is irrelevant).

    +

    It is not required that the potential file contain entries for all of the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +simulation; LAMMPS ignores those entries.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style can only be used if LAMMPS was built with the MANYBODY +package (which it is by default). See the Making LAMMPS section for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This pair style can only be used if LAMMPS was built with the MANYBODY -package (which it is by default). See the Making -LAMMPS section for more info on packages. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_nm.html b/doc/pair_nm.html index 809bdb3bd6..a1c4668a7d 100644 --- a/doc/pair_nm.html +++ b/doc/pair_nm.html @@ -1,183 +1,342 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style nm/cut command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style nm/cut command -

    -

    pair_style nm/cut/coul/cut command -

    -

    pair_style nm/cut/coul/long command -

    -

    pair_style nm/cut/omp command -

    -

    pair_style nm/cut/coul/cut/omp command -

    -

    pair_style nm/cut/coul/long/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = nm/cut or nm/cut/coul/cut or nm/cut/coul/long - -
    • args = list of arguments for a particular style - -
        nm/cut args = cutoff
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      pair_style nm/cut command¶

      +
      +
      +

      pair_style nm/cut/coul/cut command¶

      +
      +
      +

      pair_style nm/cut/coul/long command¶

      +
      +
      +

      pair_style nm/cut/omp command¶

      +
      +
      +

      pair_style nm/cut/coul/cut/omp command¶

      +
      +
      +

      pair_style nm/cut/coul/long/omp command¶

      +
      +

      Syntax¶

      +
      pair_style style args
      +
      +
      +
        +
      • style = nm/cut or nm/cut/coul/cut or nm/cut/coul/long
      • +
      • args = list of arguments for a particular style
      • +
      +
      +nm/cut args = cutoff
           cutoff = global cutoff for Pair interactions (distance units)
      -  nm/cut/coul/cut args = cutoff (cutoff2)
      +  nm/cut/coul/cut args = cutoff (cutoff2)
           cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
           cutoff2 = global cutoff for Coulombic (optional) (distance units)
      -  nm/cut/coul/long args = cutoff (cutoff2)
      +  nm/cut/coul/long args = cutoff (cutoff2)
           cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
      -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
      -
      - -
    -

    Examples: -

    -
    pair_style nm/cut 12.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style nm/cut 12.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0 
    -
    -
    pair_style nm/cut/coul/cut 12.0 15.0
    +pair_coeff 1 1 0.01 4.4 7.0 6.0
    +
    +
    +
    pair_style nm/cut/coul/cut 12.0 15.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0 
    -
    -
    pair_style nm/cut/coul/long 12.0 15.0
    +pair_coeff 1 1 0.01 4.4 7.0 6.0
    +
    +
    +
    pair_style nm/cut/coul/long 12.0 15.0
     pair_coeff * * 0.01 5.4 8.0 7.0
    -pair_coeff 1 1 0.01 4.4 7.0 6.0 
    -
    -

    Description: -

    -

    Style nm computes site-site interactions based on the N-M potential -by Clarke, mainly used for ionic liquids. A site can +pair_coeff 1 1 0.01 4.4 7.0 6.0 +

    +
    +
    +
    +

    Description¶

    +

    Style nm computes site-site interactions based on the N-M potential +by Clarke, mainly used for ionic liquids. A site can represent a single atom or a united-atom site. The energy of an -interaction has the following form: -

    -
    -
    -

    Rc is the cutoff. -

    -

    Style nm/cut/coul/cut adds a Coulombic pairwise interaction given by -

    -
    -
    -

    where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the dielectric command. If one cutoff is -specified in the pair_style command, it is used for both the NM and +interaction has the following form:

    +_images/pair_nm.jpg +

    Rc is the cutoff.

    +

    Style nm/cut/coul/cut adds a Coulombic pairwise interaction given by

    +_images/pair_coulomb.jpg +

    where C is an energy-conversion constant, Qi and Qj are the charges on +the 2 atoms, and epsilon is the dielectric constant which can be set +by the dielectric command. If one cutoff is +specified in the pair_style command, it is used for both the NM and Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the NM and Coulombic terms respectively. -

    -

    Styles nm/cut/coul/long compute the same -Coulombic interactions as style nm/cut/coul/cut except that an +cutoffs for the NM and Coulombic terms respectively.

    +

    Styles nm/cut/coul/long compute the same +Coulombic interactions as style nm/cut/coul/cut except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the kspace_style -command and its ewald or pppm option. The Coulombic cutoff +be used in conjunction with the kspace_style +command and its ewald or pppm option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are -computed in reciprocal space. -

    -

    For all of the nm pair styles, the following coefficients must +computed in reciprocal space.

    +

    For all of the nm pair styles, the following coefficients must be defined for each pair of atoms types -via the pair_coeff command as in the +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands. -

    -
    • E0 (energy units) -
    • r0 (distance units) -
    • n (unitless) -
    • m (unitless) -
    • cutoff1 (distance units) -
    • cutoff2 (distance units) -
    -

    The latter 2 coefficients are optional. If not specified, the global +read_data or read_restart +commands.

    +
      +
    • E0 (energy units)
    • +
    • r0 (distance units)
    • +
    • n (unitless)
    • +
    • m (unitless)
    • +
    • cutoff1 (distance units)
    • +
    • cutoff2 (distance units)
    • +
    +

    The latter 2 coefficients are optional. If not specified, the global NM and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both NM and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the NM and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style nm, since it -has no Coulombic terms. -

    -

    For nm/cut/coul/long only the NM cutoff can be specified since a +type pair. You cannot specify 2 cutoffs for style nm, since it +has no Coulombic terms.

    +

    For nm/cut/coul/long only the NM cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    All of the nm pair styles supports the -pair_modify shift option for the energy of the pair -interaction. -

    -

    The nm/cut/coul/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. -

    -

    All of the nm pair styles support the pair_modify +pair_style command.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    All of the nm pair styles supports the +pair_modify shift option for the energy of the pair +interaction.

    +

    The nm/cut/coul/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction.

    +

    All of the nm pair styles support the pair_modify tail option for adding a long-range tail correction to the energy and -pressure for the NM portion of the pair interaction. -

    -

    All of the nm pair styles write their information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    All of the nm pair styles can only be used via the pair keyword of -the run_style respa command. They do not support the -inner, middle, outer keywords. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +pressure for the NM portion of the pair interaction.

    +

    All of the nm pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    All of the nm pair styles can only be used via the pair keyword of +the run_style respa command. They do not support the +inner, middle, outer keywords.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -

    Restrictions: -

    -

    These pair styles are part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the MISC package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Clarke) Clarke and Smith, J Chem Phys, 84, 2290 (1986). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_none.html b/doc/pair_none.html index d6d1fedead..15541cc35e 100644 --- a/doc/pair_none.html +++ b/doc/pair_none.html @@ -1,45 +1,227 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style none command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style none command -

    -

    Syntax: -

    -
    pair_style none 
    -
    -

    Examples: -

    -
    pair_style none 
    -
    -

    Description: -

    -

    Using a pair style of none means pair forces are not computed. -

    -

    With this choice, the force cutoff is 0.0, which means that only atoms -within the neighbor skin distance (see the neighbor + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style none command¶

    +
    +

    Syntax¶

    +
    pair_style none
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style none
    +
    +
    +
    +
    +

    Description¶

    +

    Using a pair style of none means pair forces are not computed.

    +

    With this choice, the force cutoff is 0.0, which means that only atoms +within the neighbor skin distance (see the neighbor command) are communicated between processors. You must insure the skin distance is large enough to acquire atoms needed for computing -bonds, angles, etc. -

    -

    A pair style of none will also prevent pairwise neighbor lists from -being built. However if the neighbor style is bin, +bonds, angles, etc.

    +

    A pair style of none will also prevent pairwise neighbor lists from +being built. However if the neighbor style is bin, data structures for binning are still allocated. If the neighbor skin distance is small, then these data structures can consume a large amount of memory. So you should either set the neighbor style to -nsq or set the skin distance to a larger value. -

    -

    Restrictions: none -

    -

    Related commands: none -

    -

    Default: none -

    - +nsq or set the skin distance to a larger value.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_peri.html b/doc/pair_peri.html index a505847a6f..c209904153 100644 --- a/doc/pair_peri.html +++ b/doc/pair_peri.html @@ -1,231 +1,372 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style peri/pmb command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style peri/pmb command -

    -

    pair_style peri/pmb/omp command -

    -

    pair_style peri/lps command -

    -

    pair_style peri/lps/omp command -

    -

    pair_style peri/ves command -

    -

    pair_style peri/eps command -

    -

    Syntax: -

    -
    pair_style style 
    -
    -

    style = peri/pmb or peri/lps or peri/ves or peri/eps:ul -

    -

    Examples: -

    -
    pair_style peri/pmb
    -pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25 
    -
    -
    pair_style peri/lps
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 
    -
    -
    pair_style peri/ves
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001 
    -
    -
    pair_style peri/eps
    -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43 
    -
    -

    Description: -

    -

    The peridynamic pair styles implement material models that can be used -at the mescscopic and macroscopic scales. See this -document for an overview of LAMMPS commands -for Peridynamics modeling. -

    -

    Style peri/pmb implements the Peridynamic bond-based prototype -microelastic brittle (PMB) model. -

    -

    Style peri/lps implements the Peridynamic state-based linear -peridynamic solid (LPS) model. -

    -

    Style peri/ves implements the Peridynamic state-based linear -peridynamic viscoelastic solid (VES) model. -

    -

    Style peri/eps implements the Peridynamic state-based elastic-plastic -solid (EPS) model. -

    -

    The canonical papers on Peridynamics are (Silling 2000) -and (Silling 2007). The implementation of Peridynamics -in LAMMPS is described in (Parks). Also see the PDLAMMPS -user guide for -more details about its implementation. -

    -

    The peridynamic VES and EPS models in PDLAMMPS were implemented by + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style peri/pmb command¶

    +
    +
    +

    pair_style peri/pmb/omp command¶

    +
    +
    +

    pair_style peri/lps command¶

    +
    +
    +

    pair_style peri/lps/omp command¶

    +
    +
    +

    pair_style peri/ves command¶

    +
    +
    +

    pair_style peri/eps command¶

    +
    +

    Syntax¶

    +
    pair_style style
    +
    +
    +

    style = peri/pmb or peri/lps or peri/ves or peri/eps:ul

    +
    +
    +

    Examples¶

    +
    pair_style peri/pmb
    +pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25
    +
    +
    +
    pair_style peri/lps
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25
    +
    +
    +
    pair_style peri/ves
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001
    +
    +
    +
    pair_style peri/eps
    +pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43
    +
    +
    +
    +
    +

    Description¶

    +

    The peridynamic pair styles implement material models that can be used +at the mescscopic and macroscopic scales. See this document for an overview of LAMMPS commands +for Peridynamics modeling.

    +

    Style peri/pmb implements the Peridynamic bond-based prototype +microelastic brittle (PMB) model.

    +

    Style peri/lps implements the Peridynamic state-based linear +peridynamic solid (LPS) model.

    +

    Style peri/ves implements the Peridynamic state-based linear +peridynamic viscoelastic solid (VES) model.

    +

    Style peri/eps implements the Peridynamic state-based elastic-plastic +solid (EPS) model.

    +

    The canonical papers on Peridynamics are (Silling 2000) +and (Silling 2007). The implementation of Peridynamics +in LAMMPS is described in (Parks). Also see the PDLAMMPS user guide for +more details about its implementation.

    +

    The peridynamic VES and EPS models in PDLAMMPS were implemented by R. Rahman and J. T. Foster at University of Texas at San Antonio. The -original VES formulation is described in "(Mitchell2011)" and the -original EPS formulation is in "(Mitchell2011a)". Additional PDF docs +original VES formulation is described in “(Mitchell2011)” and the +original EPS formulation is in “(Mitchell2011a)”. Additional PDF docs that describe the VES and EPS implementations are include in the -LAMMPS distro in doc/PDF/PDLammps_VES.pdf and -doc/PDF/PDLammps_EPS.pdf. For questions +LAMMPS distro in doc/PDF/PDLammps_VES.pdf and +doc/PDF/PDLammps_EPS.pdf. For questions regarding the VES and EPS models in LAMMPS you can contact R. Rahman -(rezwanur.rahman at utsa.edu). -

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +(rezwanur.rahman at utsa.edu).

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below. -

    -

    For the peri/pmb style: -

    -
    • c (energy/distance/volume^2 units) -
    • horizon (distance units) -
    • s00 (unitless) -
    • alpha (unitless) -
    -

    C is the effectively a spring constant for Peridynamic bonds, the +read_data or read_restart +commands, or by mixing as described below.

    +

    For the peri/pmb style:

    +
      +
    • c (energy/distance/volume^2 units)
    • +
    • horizon (distance units)
    • +
    • s00 (unitless)
    • +
    • alpha (unitless)
    • +
    +

    C is the effectively a spring constant for Peridynamic bonds, the horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. The units of c are such that c/distance = stiffness/volume^2, where stiffness is energy/distance^2 and volume is distance^3. See the users guide for -more details. -

    -

    For the peri/lps style: -

    -
    • K (force/area units) -
    • G (force/area units) -
    • horizon (distance units) -
    • s00 (unitless) -
    • alpha (unitless) -
    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +more details.

    +

    For the peri/lps style:

    +
      +
    • K (force/area units)
    • +
    • G (force/area units)
    • +
    • horizon (distance units)
    • +
    • s00 (unitless)
    • +
    • alpha (unitless)
    • +
    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. See the users guide for more -details. -

    -

    For the peri/ves style: -

    -
    • K (force/area units) -
    • G (force/area units) -
    • horizon (distance units) -
    • s00 (unitless) -
    • alpha (unitless) -
    • m_lambdai (unitless) -
    • m_taubi (unitless) -
    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +details.

    +

    For the peri/ves style:

    +
      +
    • K (force/area units)
    • +
    • G (force/area units)
    • +
    • horizon (distance units)
    • +
    • s00 (unitless)
    • +
    • alpha (unitless)
    • +
    • m_lambdai (unitless)
    • +
    • m_taubi (unitless)
    • +
    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance for truncating interactions, and s00 and alpha are used as a bond breaking criteria. m_lambdai and m_taubi are the viscoelastic relaxation parameter and time constant, respectively. m_lambdai varies within zero to one. For very small values of m_lambdai the viscoelsatic model responds very similar to a linear elastic model. For details please see the description in -"(Mtchell2011)". -

    -

    For the peri/eps style: -

    -

    K (force/area units) +“(Mtchell2011)”.

    +

    For the peri/eps style:

    +

    K (force/area units) G (force/area units) horizon (distance units) s00 (unitless) -alpha (unitless) -m_yield_stress (force/area units) -

    -

    K is the bulk modulus and G is the shear modulus. The horizon is a +alpha (unitless) +m_yield_stress (force/area units)

    +

    K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance and s00 and alpha are used as a bond breaking criteria. m_yield_stress is the yield stress of the material. For -details please see the description in "(Mtchell2011a)". -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +details please see the description in “(Mtchell2011a)”.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    These pair styles do not support the pair_modify -shift option. -

    -

    The pair_modify table and tail options are not -relevant for these pair styles. -

    -

    These pair styles write their information to binary restart -files, 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 command. They do not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    All of these styles are part of the PERI package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - - - -

    (Parks) Parks, Lehoucq, Plimpton, Silling, Comp Phys Comm, 179(11), -777-783 (2008). -

    - - -

    (Silling 2000) Silling, J Mech Phys Solids, 48, 175-209 (2000). -

    - - -

    (Silling 2007) Silling, Epton, Weckner, Xu, Askari, J Elasticity, -88, 151-184 (2007). -

    - - -

    (Mitchell2011) Mitchell. A non-local, ordinary-state-based +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    These pair styles do not support the pair_modify +shift option.

    +

    The pair_modify table and tail options are not +relevant for these pair styles.

    +

    These pair styles write their information to binary restart files, 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 command. They do not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    All of these styles are part of the PERI package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_polymorphic.html b/doc/pair_polymorphic.html index 44bee3163e..c719f49552 100644 --- a/doc/pair_polymorphic.html +++ b/doc/pair_polymorphic.html @@ -1,43 +1,157 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style polymorphic command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style polymorphic command -

    -

    Syntax: -

    -
    pair_style polymorphic 
    -
    -

    style = polymorphic -

    -

    Examples: -

    -
    pair_style polymorphic
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style polymorphic command¶

    +
    +

    Syntax¶

    +
    pair_style polymorphic
    +
    +
    +

    style = polymorphic

    +
    +
    +

    Examples¶

    +
    pair_style polymorphic
     pair_coeff * * TlBr_msw.polymorphic Tl Br
     pair_coeff * * AlCu_eam.polymorphic Al Cu
     pair_coeff * * GaN_tersoff.polymorphic Ga N
    -pair_coeff * * GaN_sw.polymorphic GaN 
    -
    -

    Description: -

    -

    The polymorphic pair style computes a 3-body free-form potential -(Zhou) for the energy E of a system of atoms as -

    -
    -
    -
    -
    -
    -
    -

    where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N -represents a list of i's neighbors, delta_ij is a Direc constant +pair_coeff * * GaN_sw.polymorphic GaN +

    + + +
    +

    Description¶

    +

    The polymorphic pair style computes a 3-body free-form potential +(Zhou) for the energy E of a system of atoms as

    +_images/polymorphic1.jpg +_images/polymorphic2.jpg +_images/polymorphic3.jpg +

    where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N +represents a list of i’s neighbors, delta_ij is a Direc constant (i.e., delta_ij = 1 when i = j, and delta_ij = 0 otherwise), eta_ij is similar constant that can be set either to eta_ij = delta_ij or eta_ij = 1 - delta_ij depending on the potential type, U_IJ(r_ij), @@ -52,34 +166,22 @@ F_IJ(X_ij) are given. Note that these six functions are all one dimensional, and hence can be provided in an analytic or tabular form. This allows users to design different potentials solely based on a manipulation of these functions. For instance, the potential reduces -to Stillinger-Weber potential (SW) if we set -

    -
    -
    -

    The potential reduces to Tersoff types of potential -(Tersoff or Albe) if we set -

    -
    -
    -
    -
    -

    The potential reduces to Rockett-Tersoff (Wang) type if we set -

    -
    -
    -
    -
    -
    -
    -

    The potential becomes embedded atom method (Daw) if we set -

    -
    -
    -

    In the embedded atom method case, phi_IJ(r_ij) is the pair energy, +to Stillinger-Weber potential (SW) if we set

    +_images/polymorphic4.jpg +

    The potential reduces to Tersoff types of potential +(Tersoff or Albe) if we set

    +_images/polymorphic5.jpg +_images/polymorphic6.jpg +

    The potential reduces to Rockett-Tersoff (Wang) type if we set

    +_images/polymorphic7.jpg +_images/polymorphic6.jpg +_images/polymorphic8.jpg +

    The potential becomes embedded atom method (Daw) if we set

    +_images/polymorphic9.jpg +

    In the embedded atom method case, phi_IJ(r_ij) is the pair energy, F_I(X) is the embedding energy, X is the local electron density, and -f_K(r) is the atomic electron density function. -

    -

    If the tabulated functions are created using the parameters of sw, +f_K(r) is the atomic electron density function.

    +

    If the tabulated functions are created using the parameters of sw, tersoff, and eam potentials, the polymorphic pair style will produce the same global properties (energies and stresses) and the same forces as the sw, tersoff, and eam pair styles. The polymorphic pair style @@ -90,74 +192,70 @@ pair style will produce different atom properties (energies and stresses) as the sw pair style. This does not mean that polymorphic pair style is different from the sw pair style in this case. It just means that the definitions of the atom energies and atom stresses are -different. -

    -

    Only a single pair_coeff command is used with the polymorphic style +different.

    +

    Only a single pair_coeff command is used with the polymorphic style which specifies an potential file for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of -LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of Tersoff elements to atom types -
    -

    See the pair_coeff doc page for alternate ways to specify the path for +LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of Tersoff elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways to specify the path for the potential file. Several files for polymorphic potentials are included in the potentials dir of the LAMMPS distro. They have a -"poly" suffix. -

    -

    As an example, imagine the SiC_tersoff.polymorphic file has tabulated +“poly” suffix.

    +

    As an example, imagine the SiC_tersoff.polymorphic file has tabulated functions for Si-C tersoff potential. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you -would use the following pair_coeff command: -

    -
    pair_coeff * * SiC_tersoff.polymorphic Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom +would use the following pair_coeff command:

    +
    pair_coeff * * SiC_tersoff.polymorphic Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the polymorphic file. The final C argument maps LAMMPS atom type 4 to the C element in the polymorphic file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when an polymorphic potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be -used with other potentials. -

    -

    Potential files in the potentials directory of the LAMMPS distribution -have a ".poly" suffix. At the beginning of the files, an unlimited -number of lines starting with '#' are used to describe the potential -and are ignored by LAMMPS. The next line lists two numbers: -

    -
    ntypes eta 
    -
    -

    Here ntypes represent total number of species defined in the potential +used with other potentials.

    +

    Potential files in the potentials directory of the LAMMPS distribution +have a ”.poly” suffix. At the beginning of the files, an unlimited +number of lines starting with ‘#’ are used to describe the potential +and are ignored by LAMMPS. The next line lists two numbers:

    +
    ntypes eta
    +
    +
    +

    Here ntypes represent total number of species defined in the potential file, and eta = 0 or 1. The number ntypes must equal the total number of different species defined in the pair_coeff command. When eta = 1, eta_ij defined in the potential functions above is set to 1 - delta_ij, otherwise eta_ij is set to delta_ij. The next ntypes lines each lists two numbers and a character string representing atomic -number, atomic mass, and name of the species of the ntypes elements: -

    -
    atomic_number atomic-mass element (1)
    +number, atomic mass, and name of the species of the ntypes elements:

    +
    atomic_number atomic-mass element (1)
     atomic_number atomic-mass element (2)
     ...
    -atomic_number atomic-mass element (ntypes) 
    -
    -

    The next ntypes*(ntypes+1)/2 lines contain two numbers: -

    -
    cut xi (1)
    +atomic_number atomic-mass element (ntypes)
    +
    +
    +

    The next ntypes*(ntypes+1)/2 lines contain two numbers:

    +
    cut xi (1)
     cut xi (2)
     ...
    -cut xi (ntypes*(ntypes+1)/2) 
    -
    -

    Here cut means the cutoff distance of the pair functions, xi is the +cut xi (ntypes*(ntypes+1)/2) +

    + +

    Here cut means the cutoff distance of the pair functions, xi is the same as defined in the potential functions above. The ntypes*(ntypes+1)/2 lines are related to the pairs according to the sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ..., ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12, -13, 14, ..., 23, 24, ...). -

    -

    The final blocks of the potential file are the U, V, W, P, G, and F +13, 14, ..., 23, 24, ...).

    +

    The final blocks of the potential file are the U, V, W, P, G, and F functions are listed sequentially. First, U functions are given for each of the ntypes*(ntypes+1)/2 pairs according to the sequence described above. For each of the pairs, nr values are listed. Next, @@ -175,71 +273,108 @@ where f(x) = c1 sin(c2*x) cos c1 c2 , where f(x) = c1 cos(c2*x) Tabulated functions are specified by spline n x1 x2, where n=number of point, (x1,x2)=range and then followed by n values evaluated uniformly over these argument ranges. The valid argument ranges of the -functions are between 0 <= r <= cut for the U(r), V(r), W(r) -functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, --1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX -for the F(X) functions. -

    -

    Mixing, shift, table tail correction, restart: -

    -

    This pair styles does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write their information to binary restart -files, since it is stored in potential files. Thus, you +functions are between 0 <= r <= cut for the U(r), V(r), W(r) +functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, +-1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX +for the F(X) functions.

    +

    Mixing, shift, table tail correction, restart:

    +

    This pair styles does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -
    - -

    Restrictions: -

    -

    If using create_atoms command, atomic masses must be defined in the +script that reads a restart file.

    + +
    +
    +

    Restrictions¶

    +

    If using create_atoms command, atomic masses must be defined in the input script. If using read_data, atomic masses must be defined in the -atomic structure data file. -

    -

    This pair style is part of the MANYBODY package. It is only enabled if +atomic structure data file.

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See the -Making LAMMPS section for more info. -

    -

    This pair potential requires the newtion setting to be -"on" for pair interactions. -

    -

    The potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can use +Making LAMMPS section for more info.

    +

    This pair potential requires the newtion setting to be +“on” for pair interactions.

    +

    The potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use any LAMMPS units, but you would need to create your own potential -files. -

    -

    Related commands: -

    -

    pair_coeff -

    -
    +files.

    +
    + + - -

    (Zhou) X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and -F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). -

    - + + +
    + -

    (SW) F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). -

    - +
    -

    (Tersoff) J. Tersoff, Phys. Rev. B, 39, 5566 (1989). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Albe) K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, -66, 035205 (2002). -

    - +
    -

    (Wang) J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991). -

    - + + -

    (Daw) M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_quip.html b/doc/pair_quip.html index 93096fca19..9ca8fdc54d 100644 --- a/doc/pair_quip.html +++ b/doc/pair_quip.html @@ -1,102 +1,266 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style quip command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style quip command -

    -

    Syntax: -

    -
    pair_style quip 
    -
    -

    Examples: -

    -
    pair_style      quip
    -pair_coeff      * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
    -pair_coeff      * * sw_example.xml "IP SW" 14 
    -
    -

    Description: -

    -

    Style quip provides an interface for calling potential routines from + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style quip command¶

    +
    +

    Syntax¶

    +
    pair_style quip
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style      quip
    +pair_coeff      * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14
    +pair_coeff      * * sw_example.xml "IP SW" 14
    +
    +
    +
    +
    +

    Description¶

    +

    Style quip provides an interface for calling potential routines from the QUIP package. QUIP is built separately, and then linked to LAMMPS. The most recent version of the QUIP package can be downloaded from GitHub: -https://github.com/libAtoms/QUIP. The +https://github.com/libAtoms/QUIP. The interface is chiefly intended to be used to run Gaussian Approximation Potentials (GAP), which are described in the following publications: -(Bartok et al) and (PhD thesis of -Bartok). -

    -

    Only a single pair_coeff command is used with the quip style that +(Bartok et al) and (PhD thesis of Bartok).

    +

    Only a single pair_coeff command is used with the quip style that specifies a QUIP potential file containing the parameters of the potential for all needed elements in XML format. This is followed by a QUIP initialization string. Finally, the QUIP elements are mapped to LAMMPS atom types by specifying N atomic numbers, where N is the -number of LAMMPS atom types: -

    -
    • QUIP filename -
    • QUIP initialization string -
    • N atomic numbers = mapping of QUIP elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    A QUIP potential is fully specified by the filename which contains the +number of LAMMPS atom types:

    +
      +
    • QUIP filename
    • +
    • QUIP initialization string
    • +
    • N atomic numbers = mapping of QUIP elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    A QUIP potential is fully specified by the filename which contains the parameters of the potential in XML format, the initialisation string, -and the map of atomic numbers. -

    -

    GAP potentials can be obtained from the Data repository section of -http://www.libatoms.org, where the +and the map of atomic numbers.

    +

    GAP potentials can be obtained from the Data repository section of +http://www.libatoms.org, where the appropriate initialisation strings are also advised. The list of atomic numbers must be matched to the LAMMPS atom types specified in -the LAMMPS data file or elsewhere. -

    -

    Two examples input scripts are provided in the examples/USER/quip -directory. -

    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +the LAMMPS data file or elsewhere.

    +

    Two examples input scripts are provided in the examples/USER/quip +directory.

    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-QUIP package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    QUIP potentials are parametrized in electron-volts and Angstroms and -therefore should be used with LAMMPS metal units. -

    -

    Related commands: -

    -

    pair_coeff -

    -
    +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-QUIP package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    QUIP potentials are parametrized in electron-volts and Angstroms and +therefore should be used with LAMMPS metal units.

    +
    + +
    - -

    (Bartok_2010) AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical -Review Letters 104, 136403 (2010). -

    - +
    +
    +
    + -

    (Bartok_PhD) A Bartok-Partay, PhD Thesis, University of Cambridge, -(2010). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_reax.html b/doc/pair_reax.html index bbd554e1b5..91afc6cd7d 100644 --- a/doc/pair_reax.html +++ b/doc/pair_reax.html @@ -1,216 +1,382 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style reax command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style reax command -

    -

    Syntax: -

    -
    pair_style reax hbcut hbnewflag tripflag precision 
    -
    -
    • hbcut = hydrogen-bond cutoff (optional) (distance units) -
    • hbnewflag = use old or new hbond function style (0 or 1) (optional) -
    • tripflag = apply stabilization to all triple bonds (0 or 1) (optional) -
    • precision = precision for charge equilibration (optional) -
    -

    Examples: -

    -
    pair_style reax
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style reax command¶

    +
    +

    Syntax¶

    +
    pair_style reax hbcut hbnewflag tripflag precision
    +
    +
    +
      +
    • hbcut = hydrogen-bond cutoff (optional) (distance units)
    • +
    • hbnewflag = use old or new hbond function style (0 or 1) (optional)
    • +
    • tripflag = apply stabilization to all triple bonds (0 or 1) (optional)
    • +
    • precision = precision for charge equilibration (optional)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style reax
     pair_style reax 10.0 0 1 1.0e-5
     pair_coeff * * ffield.reax 3 1 2 2
    -pair_coeff * * ffield.reax 3 NULL NULL 3 
    -
    -

    Description: -

    -

    Style reax computes the ReaxFF potential of van Duin, Goddard and +pair_coeff * * ffield.reax 3 NULL NULL 3 +

    + + +
    +

    Description¶

    +

    Style reax computes the ReaxFF potential of van Duin, Goddard and co-workers. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. There is more than one version of ReaxFF. The version implemented in LAMMPS uses the functional forms documented in the supplemental information of the following paper: -(Chenoweth). The version integrated into LAMMPS matches -the most up-to-date version of ReaxFF as of summer 2010. -

    -

    The reax style differs from the pair_style reax/c -command in the lo-level implementation details. The reax style is a -Fortran library, linked to LAMMPS. The reax/c style was initially +(Chenoweth). The version integrated into LAMMPS matches +the most up-to-date version of ReaxFF as of summer 2010.

    +

    The reax style differs from the pair_style reax/c +command in the lo-level implementation details. The reax style is a +Fortran library, linked to LAMMPS. The reax/c style was initially implemented as stand-alone C code and is now integrated into LAMMPS as -a package. -

    -

    LAMMPS requires that a file called ffield.reax be provided, containing +a package.

    +

    LAMMPS requires that a file called ffield.reax be provided, containing the ReaxFF parameters for each atom type, bond type, etc. The format is identical to the ffield file used by van Duin and co-workers. The filename is required as an argument in the pair_coeff command. Any -value other than "ffield.reax" will be rejected (see below). -

    -

    LAMMPS provides several different versions of ffield.reax in its +value other than “ffield.reax” will be rejected (see below).

    +

    LAMMPS provides several different versions of ffield.reax in its potentials dir, each called potentials/ffield.reax.label. These are documented in potentials/README.reax. The default ffield.reax -contains parameterizations for the following elements: C, H, O, N, S. -

    -

    IMPORTANT NOTE: We do not distribute a wide variety of ReaxFF force -field files with LAMMPS. Adri van Duin's group at PSU is the central +contains parameterizations for the following elements: C, H, O, N, S.

    +
    +

    Warning

    +

    We do not distribute a wide variety of ReaxFF force +field files with LAMMPS. Adri van Duin’s group at PSU is the central repository for this kind of data as they are continuously deriving and updating parameterizations for different classes of materials. You can visit their WWW site at -http://www.engr.psu.edu/adri, register -as a "new user", and then submit a request to their group describing +http://www.engr.psu.edu/adri, register +as a “new user”, and then submit a request to their group describing material(s) you are interested in modeling with ReaxFF. They can tell you what is currently available or what it would take to create a -suitable ReaxFF parameterization. -

    -

    The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of pair_style reax potential +suitable ReaxFF parameterization.

    +
    +

    The format of these files is identical to that used originally by van +Duin. We have tested the accuracy of pair_style reax potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been -tested). -

    -

    The hbcut, hbnewflag, tripflag, and precision settings are +tested).

    +

    The hbcut, hbnewflag, tripflag, and precision settings are optional arguments. If none are provided, default settings are used: -hbcut = 6 (which is Angstroms in real units), hbnewflag = 1 (use -new hbond function style), tripflag = 1 (apply stabilization to all -triple bonds), and precision = 1.0e-6 (one part in 10^6). If you +hbcut = 6 (which is Angstroms in real units), hbnewflag = 1 (use +new hbond function style), tripflag = 1 (apply stabilization to all +triple bonds), and precision = 1.0e-6 (one part in 10^6). If you wish to override any of these defaults, then all of the settings must -be specified. -

    -

    Two examples using pair_style reax are provided in the examples/reax -sub-directory, along with corresponding examples for -pair_style reax/c. -

    -

    Use of this pair style requires that a charge be defined for every -atom since the reax pair style performs a charge equilibration (QEq) -calculation. See the atom_style and -read_data commands for details on how to specify -charges. -

    -

    The thermo variable evdwl stores the sum of all the ReaxFF potential +be specified.

    +

    Two examples using pair_style reax are provided in the examples/reax +sub-directory, along with corresponding examples for +pair_style reax/c.

    +

    Use of this pair style requires that a charge be defined for every +atom since the reax pair style performs a charge equilibration (QEq) +calculation. See the atom_style and +read_data commands for details on how to specify +charges.

    +

    The thermo variable evdwl stores the sum of all the ReaxFF potential energy contributions, with the exception of the Coulombic and charge equilibration contributions which are stored in the thermo variable -ecoul. The output of these quantities is controlled by the -thermo command. -

    -

    This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the compute -pair command as a vector of values of length 14. +ecoul. The output of these quantities is controlled by the +thermo command.

    +

    This pair style tallies a breakdown of the total ReaxFF potential +energy into sub-categories, which can be accessed via the compute pair command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the ReaxFF FORTRAN library): -

    -
    1. eb = bond energy -
    2. ea = atom energy -
    3. elp = lone-pair energy -
    4. emol = molecule energy (always 0.0) -
    5. ev = valence angle energy -
    6. epen = double-bond valence angle penalty -
    7. ecoa = valence angle conjugation energy -
    8. ehb = hydrogen bond energy -
    9. et = torsion energy -
    10. eco = conjugation energy -
    11. ew = van der Waals energy -
    12. ep = Coulomb energy -
    13. efi = electric field energy (always 0.0) -
    14. eqeq = charge equilibration energy -
    -

    To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script: -

    -
    compute reax all pair reax
    -variable eb  	 equal c_reax[1]
    -variable ea  	 equal c_reax[2] 
    +names in italics match those used in the ReaxFF FORTRAN library):

    +
      +
    1. eb = bond energy
    2. +
    3. ea = atom energy
    4. +
    5. elp = lone-pair energy
    6. +
    7. emol = molecule energy (always 0.0)
    8. +
    9. ev = valence angle energy
    10. +
    11. epen = double-bond valence angle penalty
    12. +
    13. ecoa = valence angle conjugation energy
    14. +
    15. ehb = hydrogen bond energy
    16. +
    17. et = torsion energy
    18. +
    19. eco = conjugation energy
    20. +
    21. ew = van der Waals energy
    22. +
    23. ep = Coulomb energy
    24. +
    25. efi = electric field energy (always 0.0)
    26. +
    27. eqeq = charge equilibration energy
    28. +
    +

    To print these quantities to the log file (with descriptive column +headings) the following commands could be included in an input script:

    +
    compute reax all pair reax
    +variable eb           equal c_reax[1]
    +variable ea           equal c_reax[2]
     ...
    -variable eqeq 	 equal c_reax[14]
    -thermo_style custom step temp epair v_eb v_ea ... v_eqeq 
    -
    -

    Only a single pair_coeff command is used with the reax style which +variable eqeq equal c_reax[14] +thermo_style custom step temp epair v_eb v_ea ... v_eqeq +

    + +

    Only a single pair_coeff command is used with the reax style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N indices = mapping of ReaxFF elements to atom types -
    -

    The specification of the filename and the mapping of LAMMPS atom types +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N indices = mapping of ReaxFF elements to atom types
    • +
    +

    The specification of the filename and the mapping of LAMMPS atom types recognized by the ReaxFF is done differently than for other LAMMPS potentials, due to the non-portable difficulty of passing character -strings (e.g. filename, element names) between C++ and Fortran. -

    -

    The filename has to be "ffield.reax" and it has to exist in the +strings (e.g. filename, element names) between C++ and Fortran.

    +

    The filename has to be “ffield.reax” and it has to exist in the directory you are running LAMMPS in. This means you cannot prepend a path to the file in the potentials dir. Rather, you should copy that file into the directory you are running from. If you wish to use -another ReaxFF potential file, then name it "ffield.reax" and put it -in the directory you run from. -

    -

    In the ReaxFF potential file, near the top, after the general +another ReaxFF potential file, then name it “ffield.reax” and put it +in the directory you run from.

    +

    In the ReaxFF potential file, near the top, after the general parameters, is the atomic parameters section that contains element names, each with a couple dozen numeric parameters. If there are M -elements specified in the ffield file, think of these as numbered 1 +elements specified in the ffield file, think of these as numbered 1 to M. Each of the N indices you specify for the N atom types of LAMMPS atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will be mapped to whatever element you specify as the first index value, etc. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a ReaxFF potential is used as part -of the hybrid pair style. The NULL values are placeholders for atom -types that will be used with other potentials. -

    -

    IMPORTANT NOTE: Currently the reax pair style cannot be used as part -of the hybrid pair style. Some additional changes still need to be -made to enable this. -

    -

    As an example, say your LAMMPS simulation has 4 atom types and the -elements are ordered as C, H, O, N in the ffield file. If you want +of the hybrid pair style. The NULL values are placeholders for atom +types that will be used with other potentials.

    +
    +

    Warning

    +

    Currently the reax pair style cannot be used as part +of the hybrid pair style. Some additional changes still need to be +made to enable this.

    +
    +

    As an example, say your LAMMPS simulation has 4 atom types and the +elements are ordered as C, H, O, N in the ffield file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair_coeff command: -

    -
    pair_coeff * * ffield.reax 1 1 4 2 
    -
    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +H, you would use the following pair_coeff command:

    +
    pair_coeff * * ffield.reax 1 1 4 2
    +
    +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real units. You can use +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +

    Restrictions¶

    +

    The ReaxFF potential files provided with LAMMPS in the potentials +directory are parameterized for real units. You can use the ReaxFF potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "real" units. -

    -

    Related commands: -

    -

    pair_coeff, pair_style reax/c, -fix_reax_bonds -

    -

    Default: -

    -

    The keyword defaults are hbcut = 6, hbnewflag = 1, tripflag = 1, -precision = 1.0e-6. -

    -
    +appropriate units if your simulation doesn’t use “real” units.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are hbcut = 6, hbnewflag = 1, tripflag = 1, +precision = 1.0e-6.

    +
    +

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, +Journal of Physical Chemistry A, 112, 1040-1053 (2008).

    +
    + - -

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, -Journal of Physical Chemistry A, 112, 1040-1053 (2008). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_reax_c.html b/doc/pair_reax_c.html index 49e0e59e1a..743cced110 100644 --- a/doc/pair_reax_c.html +++ b/doc/pair_reax_c.html @@ -1,323 +1,456 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style reax/c command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style reax/c command -

    -

    Syntax: -

    -
    pair_style reax/c cfile keyword value 
    -
    -
    • cfile = NULL or name of a control file - -
    • zero or more keyword/value pairs may be appended - -
      keyword = checkqeq or lgvdw or safezone or mincap
      -  checkqeq value = yes or no = whether or not to require qeq/reax fix 
      -  lgvdw value = yes or no = whether or not to use a low gradient vdW correction
      -  safezone = factor used for array allocation
      -  mincap = minimum size for array allocation 
      -
      - -
    -

    Examples: -

    -
    pair_style reax/c NULL
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style reax/c command¶

    +
    +

    Syntax¶

    +
    pair_style reax/c cfile keyword value
    +
    +
    +
      +
    • cfile = NULL or name of a control file
    • +
    • zero or more keyword/value pairs may be appended
    • +
    +
    +keyword = checkqeq or lgvdw or safezone or mincap
    +  checkqeq value = yes or no = whether or not to require qeq/reax fix
    +  lgvdw value = yes or no = whether or not to use a low gradient vdW correction
    +  safezone = factor used for array allocation
    +  mincap = minimum size for array allocation
    +
    +
    +
    +

    Examples¶

    +
    pair_style reax/c NULL
     pair_style reax/c controlfile checkqeq no
     pair_style reax/c NULL lgvdw yes
     pair_style reax/c NULL safezone 1.6 mincap 100
    -pair_coeff * * ffield.reax C H O N 
    -
    -

    Description: -

    -

    Style reax/c computes the ReaxFF potential of van Duin, Goddard and +pair_coeff * * ffield.reax C H O N +

    + + +
    +

    Description¶

    +

    Style reax/c computes the ReaxFF potential of van Duin, Goddard and co-workers. ReaxFF uses distance-dependent bond-order functions to represent the contributions of chemical bonding to the potential energy. There is more than one version of ReaxFF. The version implemented in LAMMPS uses the functional forms documented in the -supplemental information of the following paper: (Chenoweth et al., -2008). The version integrated into LAMMPS matches +supplemental information of the following paper: (Chenoweth et al., 2008). The version integrated into LAMMPS matches the most up-to-date version of ReaxFF as of summer 2010. For more technical details about the pair reax/c implementation of ReaxFF, see -the (Aktulga) paper. -

    -

    The reax/c style differs from the pair_style reax -command in the lo-level implementation details. The reax style is a -Fortran library, linked to LAMMPS. The reax/c style was initially +the (Aktulga) paper.

    +

    The reax/c style differs from the pair_style reax +command in the lo-level implementation details. The reax style is a +Fortran library, linked to LAMMPS. The reax/c style was initially implemented as stand-alone C code and is now integrated into LAMMPS as -a package. -

    -

    LAMMPS provides several different versions of ffield.reax in its +a package.

    +

    LAMMPS provides several different versions of ffield.reax in its potentials dir, each called potentials/ffield.reax.label. These are documented in potentials/README.reax. The default ffield.reax -contains parameterizations for the following elements: C, H, O, N, S. -

    -

    The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of pair_style reax/c potential +contains parameterizations for the following elements: C, H, O, N, S.

    +

    The format of these files is identical to that used originally by van +Duin. We have tested the accuracy of pair_style reax/c potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been -tested). -

    -

    IMPORTANT NOTE: We do not distribute a wide variety of ReaxFF force -field files with LAMMPS. Adri van Duin's group at PSU is the central +tested).

    +
    +

    Warning

    +

    We do not distribute a wide variety of ReaxFF force +field files with LAMMPS. Adri van Duin’s group at PSU is the central repository for this kind of data as they are continuously deriving and updating parameterizations for different classes of materials. You can visit their WWW site at -http://www.engr.psu.edu/adri, register -as a "new user", and then submit a request to their group describing +http://www.engr.psu.edu/adri, register +as a “new user”, and then submit a request to their group describing material(s) you are interested in modeling with ReaxFF. They can tell you what is currently available or what it would take to create a -suitable ReaxFF parameterization. -

    -

    The cfile setting can be specified as NULL, in which case default +suitable ReaxFF parameterization.

    +
    +

    The cfile setting can be specified as NULL, in which case default settings are used. A control file can be specified which defines -values of control variables. Some control variables are +values of control variables. Some control variables are global parameters for the ReaxFF potential. Others define certain -performance and output settings. +performance and output settings. Each line in the control file specifies the value for a control variable. The format of the control file is described -below. -

    -

    IMPORTANT NOTE: The LAMMPS default values for the ReaxFF global parameters +below.

    +
    +

    Warning

    +

    The LAMMPS default values for the ReaxFF global parameters correspond to those used by -Adri van Duin's stand-alone serial code. If these are changed by +Adri van Duin’s stand-alone serial code. If these are changed by setting control variables in the control file, the results from -LAMMPS and the serial code will not agree. -

    -

    Two examples using pair_style reax/c are provided in the examples/reax -sub-directory, along with corresponding examples for -pair_style reax. -

    -

    Use of this pair style requires that a charge be defined for every -atom. See the atom_style and -read_data commands for details on how to specify -charges. -

    -

    The ReaxFF parameter files provided were created using a charge +LAMMPS and the serial code will not agree.

    +
    +

    Two examples using pair_style reax/c are provided in the examples/reax +sub-directory, along with corresponding examples for +pair_style reax.

    +

    Use of this pair style requires that a charge be defined for every +atom. See the atom_style and +read_data commands for details on how to specify +charges.

    +

    The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the fix -qeq/reax command be used with pair_style reax/c +Therefore, by default, LAMMPS requires that the fix qeq/reax command be used with pair_style reax/c when simulating a ReaxFF model, to equilibrate charge each timestep. -Using the keyword checkqeq with the value no -turns off the check for fix qeq/reax, +Using the keyword checkqeq with the value no +turns off the check for fix qeq/reax, allowing a simulation to be run without charge equilibration. In this case, the static charges you assign to each atom will be used for computing the electrostatic interactions in the system. -See the fix qeq/reax command for details. -

    -

    Using the optional keyword lgvdw with the value yes turns on -the low-gradient correction of the ReaxFF/C for long-range -London Dispersion, as described in the (Liu) paper. Force field -file ffield.reax.lg is designed for this correction, and is trained -for several energetic materials (see "Liu"). When using lg-correction, -recommended value for parameter thb is 0.01, which can be set in the -control file. Note: Force field files are different for the original -or lg corrected pair styles, using wrong ffield file generates an error message. -

    -

    Optional keywords safezone and mincap are used for allocating -reax/c arrays. Increase these values can avoid memory problems, such -as segmentation faults and bondchk failed errors, that could occur under -certain conditions. -

    -

    The thermo variable evdwl stores the sum of all the ReaxFF potential +See the fix qeq/reax command for details.

    +

    Using the optional keyword lgvdw with the value yes turns on +the low-gradient correction of the ReaxFF/C for long-range +London Dispersion, as described in the (Liu) paper. Force field +file ffield.reax.lg is designed for this correction, and is trained +for several energetic materials (see “Liu”). When using lg-correction, +recommended value for parameter thb is 0.01, which can be set in the +control file. Note: Force field files are different for the original +or lg corrected pair styles, using wrong ffield file generates an error message.

    +

    Optional keywords safezone and mincap are used for allocating +reax/c arrays. Increase these values can avoid memory problems, such +as segmentation faults and bondchk failed errors, that could occur under +certain conditions.

    +

    The thermo variable evdwl stores the sum of all the ReaxFF potential energy contributions, with the exception of the Coulombic and charge equilibration contributions which are stored in the thermo variable -ecoul. The output of these quantities is controlled by the -thermo command. -

    -

    This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the compute -pair command as a vector of values of length 14. +ecoul. The output of these quantities is controlled by the +thermo command.

    +

    This pair style tallies a breakdown of the total ReaxFF potential +energy into sub-categories, which can be accessed via the compute pair command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the original FORTRAN ReaxFF code): -

    -
    1. eb = bond energy -
    2. ea = atom energy -
    3. elp = lone-pair energy -
    4. emol = molecule energy (always 0.0) -
    5. ev = valence angle energy -
    6. epen = double-bond valence angle penalty -
    7. ecoa = valence angle conjugation energy -
    8. ehb = hydrogen bond energy -
    9. et = torsion energy -
    10. eco = conjugation energy -
    11. ew = van der Waals energy -
    12. ep = Coulomb energy -
    13. efi = electric field energy (always 0.0) -
    14. eqeq = charge equilibration energy -
    -

    To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script: -

    -
    compute reax all pair reax/c
    -variable eb  	 equal c_reax[1]
    -variable ea  	 equal c_reax[2] 
    +names in italics match those used in the original FORTRAN ReaxFF code):

    +
      +
    1. eb = bond energy
    2. +
    3. ea = atom energy
    4. +
    5. elp = lone-pair energy
    6. +
    7. emol = molecule energy (always 0.0)
    8. +
    9. ev = valence angle energy
    10. +
    11. epen = double-bond valence angle penalty
    12. +
    13. ecoa = valence angle conjugation energy
    14. +
    15. ehb = hydrogen bond energy
    16. +
    17. et = torsion energy
    18. +
    19. eco = conjugation energy
    20. +
    21. ew = van der Waals energy
    22. +
    23. ep = Coulomb energy
    24. +
    25. efi = electric field energy (always 0.0)
    26. +
    27. eqeq = charge equilibration energy
    28. +
    +

    To print these quantities to the log file (with descriptive column +headings) the following commands could be included in an input script:

    +
    compute reax all pair reax/c
    +variable eb           equal c_reax[1]
    +variable ea           equal c_reax[2]
     ...
    -variable eqeq 	 equal c_reax[14]
    -thermo_style custom step temp epair v_eb v_ea ... v_eqeq 
    -
    -

    Only a single pair_coeff command is used with the reax/c style which +variable eqeq equal c_reax[14] +thermo_style custom step temp epair v_eb v_ea ... v_eqeq +

    + +

    Only a single pair_coeff command is used with the reax/c style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N indices = ReaxFF elements -
    -

    The filename is the ReaxFF potential file. Unlike for the reax -pair style, any filename can be used. -

    -

    In the ReaxFF potential file, near the top, after the general +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N indices = ReaxFF elements
    • +
    +

    The filename is the ReaxFF potential file. Unlike for the reax +pair style, any filename can be used.

    +

    In the ReaxFF potential file, near the top, after the general parameters, is the atomic parameters section that contains element names, each with a couple dozen numeric parameters. If there are M -elements specified in the ffield file, think of these as numbered 1 +elements specified in the ffield file, think of these as numbered 1 to M. Each of the N indices you specify for the N atom types of LAMMPS atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will be mapped to whatever element you specify as the first index value, etc. If a mapping value is specified as NULL, the mapping is not -performed. This can be used when the reax/c style is used as part -of the hybrid pair style. The NULL values are placeholders for atom -types that will be used with other potentials. -

    -

    As an example, say your LAMMPS simulation has 4 atom types and the -elements are ordered as C, H, O, N in the ffield file. If you want +performed. This can be used when the reax/c style is used as part +of the hybrid pair style. The NULL values are placeholders for atom +types that will be used with other potentials.

    +

    As an example, say your LAMMPS simulation has 4 atom types and the +elements are ordered as C, H, O, N in the ffield file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair_coeff command: -

    -
    pair_coeff * * ffield.reax C C N H 
    -
    -
    - -

    The format of a line in the control file is as follows: -

    -
    variable_name value 
    -
    -

    and it may be followed by an "!" character and a trailing comment. -

    -

    If the value of a control variable is not specified, then default +H, you would use the following pair_coeff command:

    +
    pair_coeff * * ffield.reax C C N H
    +
    +
    +
    +

    The format of a line in the control file is as follows:

    +
    variable_name value
    +
    +
    +

    and it may be followed by an ”!” character and a trailing comment.

    +

    If the value of a control variable is not specified, then default values are used. What follows is the list of variables along with a -brief description of their use and default values. -

    -

    simulation_name: Output files produced by pair_style reax/c carry +brief description of their use and default values.

    +

    simulation_name: Output files produced by pair_style reax/c carry this name + extensions specific to their contents. Partial energies -are reported with a ".pot" extension, while the trajectory file has -".trj" extension. -

    -

    tabulate_long_range: To improve performance, long range interactions +are reported with a ”.pot” extension, while the trajectory file has +”.trj” extension.

    +

    tabulate_long_range: To improve performance, long range interactions can optionally be tabulated (0 means no tabulation). Value of this variable denotes the size of the long range interaction table. The -range from 0 to long range cutoff (defined in the ffield file) is -divided into tabulate_long_range points. Then at the start of +range from 0 to long range cutoff (defined in the ffield file) is +divided into tabulate_long_range points. Then at the start of simulation, we fill in the entries of the long range interaction table by computing the energies and forces resulting from van der Waals and Coulomb interactions between every possible atom type pairs present in the input system. During the simulation we consult to the long range interaction table to estimate the energy and forces between a pair of atoms. Linear interpolation is used for estimation. (default value = -0) -

    -

    energy_update_freq: Denotes the frequency (in number of steps) of -writes into the partial energies file. (default value = 0) -

    -

    nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) -regarding the bonded interactions. (default value = 5.0) -

    -

    hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen -bond interactions.(default value = 7.5. Value of 0.0 turns off hydrogen - bonds) -

    -

    bond_graph_cutoff: is the threshold used in determining what is a +0)

    +

    energy_update_freq: Denotes the frequency (in number of steps) of +writes into the partial energies file. (default value = 0)

    +

    nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) +regarding the bonded interactions. (default value = 5.0)

    +

    hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen +bond interactions.(default value = 7.5. Value of 0.0 turns off hydrogen

    +
    +
    bonds)
    +

    bond_graph_cutoff: is the threshold used in determining what is a physical bond, what is not. Bonds and angles reported in the -trajectory file rely on this cutoff. (default value = 0.3) -

    -

    thb_cutoff: cutoff value for the strength of bonds to be considered in -three body interactions. (default value = 0.001) -

    -

    thb_cutoff_sq: cutoff value for the strength of bond order products -to be considered in three body interactions. (default value = 0.00001) -

    -

    write_freq: Frequency of writes into the trajectory file. (default -value = 0) -

    -

    traj_title: Title of the trajectory - not the name of the trajectory -file. -

    -

    atom_info: 1 means print only atomic positions + charge (default = 0) -

    -

    atom_forces: 1 adds net forces to atom lines in the trajectory file -(default = 0) -

    -

    atom_velocities: 1 adds atomic velocities to atoms line (default = 0) -

    -

    bond_info: 1 prints bonds in the trajectory file (default = 0) -

    -

    angle_info: 1 prints angles in the trajectory file (default = 0) -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -mix, shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +trajectory file rely on this cutoff. (default value = 0.3)

    +

    thb_cutoff: cutoff value for the strength of bonds to be considered in +three body interactions. (default value = 0.001)

    +

    thb_cutoff_sq: cutoff value for the strength of bond order products +to be considered in three body interactions. (default value = 0.00001)

    +

    write_freq: Frequency of writes into the trajectory file. (default +value = 0)

    +

    traj_title: Title of the trajectory - not the name of the trajectory +file.

    +

    atom_info: 1 means print only atomic positions + charge (default = 0)

    +

    atom_forces: 1 adds net forces to atom lines in the trajectory file +(default = 0)

    +

    atom_velocities: 1 adds atomic velocities to atoms line (default = 0)

    +

    bond_info: 1 prints bonds in the trajectory file (default = 0)

    +

    angle_info: 1 prints angles in the trajectory file (default = 0)

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +mix, shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-REAXC package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real units. You can use +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    + +
    +

    Restrictions¶

    +

    This pair style is part of the USER-REAXC package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    The ReaxFF potential files provided with LAMMPS in the potentials +directory are parameterized for real units. You can use the ReaxFF potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "real" units. -

    -

    Related commands: -

    -

    pair_coeff, fix qeq/reax, fix -reax/c/bonds, fix -reax/c/species, pair_style -reax -

    -

    Default: -

    -

    The keyword defaults are checkqeq = yes, lgvdw = no, safezone = 1.2, -mincap = 50. -

    -
    +appropriate units if your simulation doesn’t use “real” units.

    +
    + +
    +

    Default¶

    +

    The keyword defaults are checkqeq = yes, lgvdw = no, safezone = 1.2, +mincap = 50.

    +
    +

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, +Journal of Physical Chemistry A, 112, 1040-1053 (2008).

    +

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, +245-259 (2012).

    +

    (Liu) L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal +of Physical Chemistry A, 115, 11016-11022 (2011).

    +
    + - -

    (Chenoweth_2008) Chenoweth, van Duin and Goddard, -Journal of Physical Chemistry A, 112, 1040-1053 (2008). -

    - + + +
    + -

    (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, -245-259 (2012). -

    - +
    -

    (Liu) L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal -of Physical Chemistry A, 115, 11016-11022 (2011). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_resquared.html b/doc/pair_resquared.html index e391abdbc9..7c2471adf4 100644 --- a/doc/pair_resquared.html +++ b/doc/pair_resquared.html @@ -1,244 +1,376 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style resquared command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style resquared command -

    -

    pair_style resquared/gpu command -

    -

    pair_style resquared/omp command -

    -

    Syntax: -

    -
    pair_style resquared cutoff 
    -
    -
    • cutoff = global cutoff for interactions (distance units) -
    -

    Examples: -

    -
    pair_style resquared 10.0
    -pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0 
    -
    -

    Description: -

    -

    Style resquared computes the RE-squared anisotropic interaction -(Everaers), (Babadi) between pairs of + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style resquared command¶

    +
    +
    +

    pair_style resquared/gpu command¶

    +
    +
    +

    pair_style resquared/omp command¶

    +
    +

    Syntax¶

    +
    pair_style resquared cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style resquared 10.0
    +pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0
    +
    +
    +
    +
    +

    Description¶

    +

    Style resquared computes the RE-squared anisotropic interaction +(Everaers), (Babadi) between pairs of ellipsoidal and/or spherical Lennard-Jones particles. For ellipsoidal interactions, the potential considers the ellipsoid as being comprised of small spheres of size sigma. LJ particles are a single sphere of size sigma. The distinction is made to allow the pair style to make -efficient calculations of ellipsoid/solvent interactions. -

    -

    Details for the equations used are given in the references below and -in this supplementary document. -

    -

    Use of this pair style requires the NVE, NVT, or NPT fixes with the -asphere extension (e.g. fix nve/asphere) in -order to integrate particle rotation. Additionally, atom_style -ellipsoid should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +efficient calculations of ellipsoid/solvent interactions.

    +

    Details for the equations used are given in the references below and +in this supplementary document.

    +

    Use of this pair style requires the NVE, NVT, or NPT fixes with the +asphere extension (e.g. fix nve/asphere) in +order to integrate particle rotation. Additionally, atom_style ellipsoid should be used since it defines the +rotational state and the size and shape of each ellipsoidal particle.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands: -

    -
    • A12 = Energy Prefactor/Hamaker constant (energy units) -
    • sigma = atomic interaction diameter (distance units) -
    • epsilon_i_a = relative well depth of type I for side-to-side interactions -
    • epsilon_i_b = relative well depth of type I for face-to-face interactions -
    • epsilon_i_c = relative well depth of type I for end-to-end interactions -
    • epsilon_j_a = relative well depth of type J for side-to-side interactions -
    • epsilon_j_b = relative well depth of type J for face-to-face interactions -
    • epsilon_j_c = relative well depth of type J for end-to-end interactions -
    • cutoff (distance units) -
    -

    The parameters used depend on the type of the interacting particles, +read_data or read_restart +commands:

    +
      +
    • A12 = Energy Prefactor/Hamaker constant (energy units)
    • +
    • sigma = atomic interaction diameter (distance units)
    • +
    • epsilon_i_a = relative well depth of type I for side-to-side interactions
    • +
    • epsilon_i_b = relative well depth of type I for face-to-face interactions
    • +
    • epsilon_i_c = relative well depth of type I for end-to-end interactions
    • +
    • epsilon_j_a = relative well depth of type J for side-to-side interactions
    • +
    • epsilon_j_b = relative well depth of type J for face-to-face interactions
    • +
    • epsilon_j_c = relative well depth of type J for end-to-end interactions
    • +
    • cutoff (distance units)
    • +
    +

    The parameters used depend on the type of the interacting particles, i.e. ellipsoids or LJ spheres. The type of a particle is determined by the diameters specified for its 3 shape paramters. If all 3 shape parameters = 0.0, then the particle is treated as an LJ sphere. The epsilon_i_* or epsilon_j_* parameters are ignored for LJ spheres. If -the 3 shape paraemters are > 0.0, then the particle is treated as an -ellipsoid (even if the 3 parameters are equal to each other). -

    -

    A12 specifies the energy prefactor which depends on the types of the -two interacting particles. -

    -

    For ellipsoid/ellipsoid interactions, the interaction is computed by +the 3 shape paraemters are > 0.0, then the particle is treated as an +ellipsoid (even if the 3 parameters are equal to each other).

    +

    A12 specifies the energy prefactor which depends on the types of the +two interacting particles.

    +

    For ellipsoid/ellipsoid interactions, the interaction is computed by the formulas in the supplementary docuement referenced above. A12 is -the Hamaker constant as described in (Everaers). In LJ -units: -

    -
    -
    -

    where rho gives the number density of the spherical particles +the Hamaker constant as described in (Everaers). In LJ +units:

    +_images/pair_resquared.jpg +

    where rho gives the number density of the spherical particles composing the ellipsoids and epsilon_LJ determines the interaction -strength of the spherical particles. -

    -

    For ellipsoid/LJ sphere interactions, the interaction is also computed +strength of the spherical particles.

    +

    For ellipsoid/LJ sphere interactions, the interaction is also computed by the formulas in the supplementary docuement referenced above. A12 -has a modifed form (see here for -details): -

    -
    -
    -

    For ellipsoid/LJ sphere interactions, a correction to the distance- +has a modifed form (see here for +details):

    +_images/pair_resquared2.jpg +

    For ellipsoid/LJ sphere interactions, a correction to the distance- of-closest approach equation has been implemented to reduce the error -from two particles of disparate sizes; see this supplementary -document. -

    -

    For LJ sphere/LJ sphere interactions, the interaction is computed +from two particles of disparate sizes; see this supplementary document.

    +

    For LJ sphere/LJ sphere interactions, the interaction is computed using the standard Lennard-Jones formula, which is much cheaper to compute than the ellipsoidal formulas. A12 is used as epsilon in the -standard LJ formula: -

    -
    -
    -

    and the specified sigma is used as the sigma in the standard LJ -formula. -

    -

    When one of both of the interacting particles are ellipsoids, then -sigma specifies the diameter of the continuous distribution of +standard LJ formula:

    +_images/pair_resquared3.jpg +

    and the specified sigma is used as the sigma in the standard LJ +formula.

    +

    When one of both of the interacting particles are ellipsoids, then +sigma specifies the diameter of the continuous distribution of constituent particles within each ellipsoid used to model the RE-squared potential. Note that this is a different meaning for -sigma than the pair_style gayberne potential -uses. -

    -

    The epsilon_i and epsilon_j coefficients are defined for atom types, +sigma than the pair_style gayberne potential +uses.

    +

    The epsilon_i and epsilon_j coefficients are defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type. -

    -

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are +commands, they only need to be specified once for each atom type.

    +

    Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_i values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in "pair_coeff I J" commands when +coefficients is to list their values in “pair_coeff I J” commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other -pair_coeff commands. -

    -

    Note that if this potential is being used as a sub-style of -pair_style hybrid, and there is no "pair_coeff I I" +pair_coeff commands.

    +

    Note that if this potential is being used as a sub-style of +pair_style hybrid, and there is no “pair_coeff I I” setting made for RE-squared for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type in a "pair_coeff I J" command. -

    -

    For large uniform molecules it has been shown that the epsilon_*_* +that type in a “pair_coeff I J” command.

    +

    For large uniform molecules it has been shown that the epsilon_*_* energy parameters are approximately representable in terms of local -contact curvatures (Everaers): -

    -
    -
    -

    where a, b, and c give the particle diameters. -

    -

    The last coefficient is optional. If not specified, the global cutoff -specified in the pair_style command is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +contact curvatures (Everaers):

    +_images/pair_resquared4.jpg +

    where a, b, and c give the particle diameters.

    +

    The last coefficient is optional. If not specified, the global cutoff +specified in the pair_style command is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed, but only for sphere pairs. The -default mix value is geometric. See the "pair_modify" command for +default mix value is geometric. See the “pair_modify” command for details. Other type pairs cannot be mixed, due to the different meanings of the energy prefactors used to calculate the interactions and the implicit dependence of the ellipsoid-sphere interaction on the equation for the Hamaker constant presented here. Mixing of sigma and epsilon followed by calculation of the energy prefactors using the -equations above is recommended. -

    -

    This pair styles supports the pair_modify shift +equations above is recommended.

    +

    This pair styles supports the pair_modify shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +dependence of the interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords of the run_style -command. -

    -
    - -

    Restrictions: -

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This pair style requires that atoms be ellipsoids as defined by the -atom_style ellipsoid command. -

    -

    Particles acted on by the potential can be finite-size aspherical or +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords of the run_style command.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This pair style requires that atoms be ellipsoids as defined by the +atom_style ellipsoid command.

    +

    Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all 3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0. -

    -

    The distance-of-closest-approach approximation used by LAMMPS becomes -less accurate when high-aspect ratio ellipsoids are used. -

    -

    Related commands: -

    -

    pair_coeff, fix nve/asphere, -compute temp/asphere, pair_style -gayberne -

    -

    Default: none -

    -
    +all 3 of their shape parameters equal to 0.0.

    +

    The distance-of-closest-approach approximation used by LAMMPS becomes +less accurate when high-aspect ratio ellipsoids are used.

    +
    + +
    - -

    (Everaers) Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). -

    - +
    +
    +
    + -

    (Berardi) Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sdk.html b/doc/pair_sdk.html index edfb1d2202..f19f5f1878 100644 --- a/doc/pair_sdk.html +++ b/doc/pair_sdk.html @@ -1,169 +1,329 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style lj/sdk command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style lj/sdk command -

    -

    pair_style lj/sdk/gpu command -

    -

    pair_style lj/sdk/kk command -

    -

    pair_style lj/sdk/omp command -

    -

    pair_style lj/sdk/coul/long command -

    -

    pair_style lj/sdk/coul/long/gpu command -

    -

    pair_style lj/sdk/coul/long/omp command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = lj/sdk or lj/sdk/coul/long -
    • args = list of arguments for a particular style -
    -
      lj/sdk args = cutoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style lj/sdk command¶

    +
    +
    +

    pair_style lj/sdk/gpu command¶

    +
    +
    +

    pair_style lj/sdk/kk command¶

    +
    +
    +

    pair_style lj/sdk/omp command¶

    +
    +
    +

    pair_style lj/sdk/coul/long command¶

    +
    +
    +

    pair_style lj/sdk/coul/long/gpu command¶

    +
    +
    +

    pair_style lj/sdk/coul/long/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = lj/sdk or lj/sdk/coul/long
    • +
    • args = list of arguments for a particular style
    • +
    +
    +lj/sdk args = cutoff
         cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/sdk/coul/long args = cutoff (cutoff2)
    +  lj/sdk/coul/long args = cutoff (cutoff2)
         cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units) 
    -
    -

    Examples: -

    -
    pair_style lj/sdk 2.5
    -pair_coeff 1 1 lj12_6 1 1.1 2.8 
    -
    -
    pair_style lj/sdk/coul/long 10.0
    +    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +
    +
    +
    +

    Examples¶

    +
    pair_style lj/sdk 2.5
    +pair_coeff 1 1 lj12_6 1 1.1 2.8
    +
    +
    +
    pair_style lj/sdk/coul/long 10.0
     pair_style lj/sdk/coul/long 10.0 12.0
    -pair_coeff 1 1 lj9_6 100.0 3.5 12.0 
    -
    -

    Description: -

    -

    The lj/sdk styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, -given by -

    -
    -
    -

    as required for the SDK Coarse-grained MD parametrization discussed in -(Shinoda) and (DeVane). Rc is the cutoff. -

    -

    Style lj/sdk/coul/long computes the adds Coulombic interactions -with an additional damping factor applied so it can be used in -conjunction with the kspace_style command and -its ewald or pppm or pppm/cg option. The Coulombic cutoff +pair_coeff 1 1 lj9_6 100.0 3.5 12.0 +

    + + +
    +

    Description¶

    +

    The lj/sdk styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, +given by

    +_images/pair_cmm.jpg +

    as required for the SDK Coarse-grained MD parametrization discussed in +(Shinoda) and (DeVane). Rc is the cutoff.

    +

    Style lj/sdk/coul/long computes the adds Coulombic interactions +with an additional damping factor applied so it can be used in +conjunction with the kspace_style command and +its ewald or pppm or pppm/cg option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that -distance are computed in reciprocal space. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +distance are computed in reciprocal space.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • cg_type (lj9_6, lj12_4, or lj12_6) -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff1 (distance units) -
    -

    Note that sigma is defined in the LJ formula as the zero-crossing +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • cg_type (lj9_6, lj12_4, or lj12_6)
    • +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff1 (distance units)
    • +
    +

    Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum. The prefactors -are chosen so that the potential minimum is at -epsilon. -

    -

    The latter 2 coefficients are optional. If not specified, the global +are chosen so that the potential minimum is at -epsilon.

    +

    The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. -

    -

    For lj/sdk/coul/long only the LJ cutoff can be specified since a +type pair.

    +

    For lj/sdk/coul/long only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair_style command. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp or opt suffix are +pair_style command.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, and rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/sdk pair styles cannot be mixed, +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, and rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distance for all of the lj/sdk pair styles cannot be mixed, since different pairs may have different exponents. So all parameters -for all pairs have to be specified explicitly through the "pair_coeff" +for all pairs have to be specified explicitly through the “pair_coeff” command. Defining then in a data file is also not supported, due to -limitations of that file format. -

    -

    All of the lj/sdk pair styles support the -pair_modify shift option for the energy of the -Lennard-Jones portion of the pair interaction. -

    -

    The lj/sdk/coul/long pair styles support the -pair_modify table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. -

    -

    All of the lj/sdk pair styles write their information to binary -restart files, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. -

    -

    The lj/sdk and lj/cut/coul/long pair styles do not support -the use of the inner, middle, and outer keywords of the run_style -respa command. -

    -
    - -

    Restrictions: -

    -

    All of the lj/sdk pair styles are part of the USER-CG-CMM package. -The lj/sdk/coul/long style also requires the KSPACE package to be +limitations of that file format.

    +

    All of the lj/sdk pair styles support the +pair_modify shift option for the energy of the +Lennard-Jones portion of the pair interaction.

    +

    The lj/sdk/coul/long pair styles support the +pair_modify table option since they can tabulate +the short-range portion of the long-range Coulombic interaction.

    +

    All of the lj/sdk pair styles write their information to binary restart files, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file.

    +

    The lj/sdk and lj/cut/coul/long pair styles do not support +the use of the inner, middle, and outer keywords of the run_style respa command.

    +
    +
    +
    +

    Restrictions¶

    +

    All of the lj/sdk pair styles are part of the USER-CG-CMM package. +The lj/sdk/coul/long style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS -was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, angle_style sdk -

    -

    Default: none -

    -
    +was built with that package. See the Making LAMMPS section for more info.

    +
    + + - -

    (Shinoda) Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007). -

    - + + +
    + -

    (DeVane) Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_snap.html b/doc/pair_snap.html index c5fb036e4e..271b854457 100644 --- a/doc/pair_snap.html +++ b/doc/pair_snap.html @@ -1,201 +1,353 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style snap command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style snap command -

    -

    Syntax: -

    -
    pair_style snap 
    -
    -

    Examples: -

    -
    pair_style snap
    -pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P 
    -
    -

    Description: -

    -

    Style snap computes interactions + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style snap command¶

    +
    +

    Syntax¶

    +
    pair_style snap
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style snap
    +pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P
    +
    +
    +
    +
    +

    Description¶

    +

    Style snap computes interactions using the spectral neighbor analysis potential (SNAP) -(Thompson). Like the GAP framework of Bartok et al. -(Bartok2010), (Bartok2013) +(Thompson). Like the GAP framework of Bartok et al. +(Bartok2010), (Bartok2013) it uses bispectrum components to characterize the local neighborhood of each atom in a very general way. The mathematical definition of the -bispectrum calculation used by SNAP is identical -to that used of compute sna/atom. +bispectrum calculation used by SNAP is identical +to that used of compute sna/atom. In SNAP, the total energy is decomposed into a sum over -atom energies. The energy of atom i is -expressed as a weighted sum over bispectrum components. -

    -
    -
    -

    where B_k^i is the k-th bispectrum component of atom i, -and beta_k^alpha_i is the corresponding linear coefficient -that depends on alpha_i, the SNAP element of atom i. The +atom energies. The energy of atom i is +expressed as a weighted sum over bispectrum components.

    +_images/pair_snap.jpg +

    where B_k^i is the k-th bispectrum component of atom i, +and beta_k^alpha_i is the corresponding linear coefficient +that depends on alpha_i, the SNAP element of atom i. The number of bispectrum components used and their definitions -depend on the values of twojmax and diagonalstyle +depend on the values of twojmax and diagonalstyle defined in the SNAP parameter file described below. -The bispectrum calculation is described in more detail -in compute sna/atom. -

    -

    Note that unlike for other potentials, cutoffs for SNAP potentials are +The bispectrum calculation is described in more detail +in compute sna/atom.

    +

    Note that unlike for other potentials, cutoffs for SNAP potentials are not set in the pair_style or pair_coeff command; they are specified in -the SNAP potential files themselves. -

    -

    Only a single pair_coeff command is used with the snap style which +the SNAP potential files themselves.

    +

    Only a single pair_coeff command is used with the snap style which specifies two SNAP files and the list SNAP element(s) to be -extracted. +extracted. The SNAP elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff -command, where N is the number of LAMMPS atom types: -

    -
    • SNAP element file -
    • Elem1, Elem2, ... -
    • SNAP parameter file -
    • N element names = mapping of SNAP elements to atom types -
    -

    As an example, if a LAMMPS indium phosphide simulation has 4 atoms +command, where N is the number of LAMMPS atom types:

    +
      +
    • SNAP element file
    • +
    • Elem1, Elem2, ...
    • +
    • SNAP parameter file
    • +
    • N element names = mapping of SNAP elements to atom types
    • +
    +

    As an example, if a LAMMPS indium phosphide simulation has 4 atoms types, with the first two being indium and the 3rd and 4th being -phophorous, the pair_coeff command would look like this: -

    -
    pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The two filenames are for the element and parameter files, respectively. -The 'In' and 'P' arguments (between the file names) are the two elements -which will be extracted from the element file. The -two trailing 'In' arguments map LAMMPS atom types 1 and 2 to the -SNAP 'In' element. The two trailing 'P' arguments map LAMMPS atom types -3 and 4 to the SNAP 'P' element. -

    -

    If a SNAP mapping value is -specified as NULL, the mapping is not performed. -This can be used when a snap potential is used as part of the -hybrid pair style. The NULL values are placeholders for atom types -that will be used with other potentials. -

    -

    The name of the SNAP element file usually ends in the -".snapcoeff" extension. It may contain coefficients +phophorous, the pair_coeff command would look like this:

    +
    pair_coeff * * snap InP.snapcoeff In P InP.snapparam In In P P
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +The two filenames are for the element and parameter files, respectively. +The ‘In’ and ‘P’ arguments (between the file names) are the two elements +which will be extracted from the element file. The +two trailing ‘In’ arguments map LAMMPS atom types 1 and 2 to the +SNAP ‘In’ element. The two trailing ‘P’ arguments map LAMMPS atom types +3 and 4 to the SNAP ‘P’ element.

    +

    If a SNAP mapping value is +specified as NULL, the mapping is not performed. +This can be used when a snap potential is used as part of the +hybrid pair style. The NULL values are placeholders for atom types +that will be used with other potentials.

    +

    The name of the SNAP element file usually ends in the +”.snapcoeff” extension. It may contain coefficients for many SNAP elements. Only those elements listed in the pair_coeff command are extracted. -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. -See the pair_coeff doc page for alternate ways -to specify the path for these files. -

    -

    Quite commonly, +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. +See the pair_coeff doc page for alternate ways +to specify the path for these files.

    +

    Quite commonly, SNAP potentials are combined with one or more other LAMMPS pair styles -using the hybrid/overlay pair style. As an example, the SNAP -tantalum potential provided in the LAMMPS potentials directory -combines the snap and zbl pair styles. It is invoked -by the following commands: -

    -
    	variable zblcutinner equal 4
    -	variable zblcutouter equal 4.8
    -	variable zblz equal 73
    -	pair_style hybrid/overlay &
    -	zbl ${zblcutinner} ${zblcutouter} snap
    -	pair_coeff * * zbl 0.0 
    -	pair_coeff 1 1 zbl ${zblz}
    -	pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    -	../potentials/Ta06A.snapparam Ta 
    -
    -

    It is convenient to keep these commands in a separate file that can -be inserted in any LAMMPS input script using the include -command. -

    -

    The top of the SNAP element file can contain any number of blank and comment +using the hybrid/overlay pair style. As an example, the SNAP +tantalum potential provided in the LAMMPS potentials directory +combines the snap and zbl pair styles. It is invoked +by the following commands:

    +
    variable zblcutinner equal 4
    +     variable zblcutouter equal 4.8
    +     variable zblz equal 73
    +     pair_style hybrid/overlay &
    +     zbl ${zblcutinner} ${zblcutouter} snap
    +     pair_coeff * * zbl 0.0
    +     pair_coeff 1 1 zbl ${zblz}
    +     pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    +     ../potentials/Ta06A.snapparam Ta
    +
    +
    +

    It is convenient to keep these commands in a separate file that can +be inserted in any LAMMPS input script using the include +command.

    +

    The top of the SNAP element file can contain any number of blank and comment lines (start with #), but follows a strict -format after that. The first non-blank non-comment -line must contain two integers: -

    -
    • nelem = Number of elements -
    • ncoeff = Number of coefficients -
    -

    This is followed by one block for each of the nelem elements. -The first line of each block contains three entries: -

    -
    • Element symbol (text string) -
    • R = Element radius (distance units) -
    • w = Element weight (dimensionless) -
    -

    This line is followed by ncoeff coefficients, one per line. -

    -

    The SNAP parameter file can contain blank and comment lines (start +format after that. The first non-blank non-comment +line must contain two integers:

    +
      +
    • nelem = Number of elements
    • +
    • ncoeff = Number of coefficients
    • +
    +

    This is followed by one block for each of the nelem elements. +The first line of each block contains three entries:

    +
      +
    • Element symbol (text string)
    • +
    • R = Element radius (distance units)
    • +
    • w = Element weight (dimensionless)
    • +
    +

    This line is followed by ncoeff coefficients, one per line.

    +

    The SNAP parameter file can contain blank and comment lines (start with #) anywhere. Each non-blank non-comment line must contain one -keyword/value pair. The required keywords are rcutfac and -twojmax. Optional keywords are rfac0, rmin0, diagonalstyle, -and switchflag. -

    -

    The default values for these keywords are -

    -
    • rfac0 = 0.99363 -
    • rmin0 = 0.0 -
    • diagonalstyle = 3 -
    • switchflag = 0 -
    -

    Detailed definitions of these keywords are given on the compute -sna/atom doc page. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +keyword/value pair. The required keywords are rcutfac and +twojmax. Optional keywords are rfac0, rmin0, diagonalstyle, +and switchflag.

    +

    The default values for these keywords are

    +
      +
    • rfac0 = 0.99363
    • +
    • rmin0 = 0.0
    • +
    • diagonalstyle = 3
    • +
    • switchflag = 0
    • +
    +

    Detailed definitions of these keywords are given on the compute sna/atom doc page.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair_coeff command with I != J arguments for this style. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +specify a pair_coeff command with I != J arguments for this style.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the SNAP package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -

    Restrictions: -

    -

    This style is part of the SNAP package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    compute sna/atom, -compute snad/atom, -compute snav/atom -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Thompson) Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint -available at arXiv:1409.3880 -

    - +
    -

    (Bartok2010) Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Bartok2013) Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013). -

    - +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_soft.html b/doc/pair_soft.html index e99ddacd65..2aa30db7d3 100644 --- a/doc/pair_soft.html +++ b/doc/pair_soft.html @@ -1,143 +1,312 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style soft command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style soft command -

    -

    pair_style soft/gpu command -

    -

    pair_style soft/omp command -

    -

    Syntax: -

    -
    pair_style soft cutoff 
    -
    -
    • cutoff = global cutoff for soft interactions (distance units) -
    -

    Examples: -

    -
    pair_style soft 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style soft command¶

    +
    +
    +

    pair_style soft/gpu command¶

    +
    +
    +

    pair_style soft/omp command¶

    +
    +

    Syntax¶

    +
    pair_style soft cutoff
    +
    +
    +
      +
    • cutoff = global cutoff for soft interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style soft 2.5
     pair_coeff * * 10.0
    -pair_coeff 1 1 10.0 3.0 
    -
    -
    pair_style soft 2.5
    +pair_coeff 1 1 10.0 3.0
    +
    +
    +
    pair_style soft 2.5
     pair_coeff * * 0.0
     variable prefactor equal ramp(0,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor 
    -
    -

    Description: -

    -

    Style soft computes pairwise interactions with the formula -

    -
    -
    -

    It is useful for pushing apart overlapping atoms, since it does not +fix 1 all adapt 1 pair soft a * * v_prefactor +

    + + +
    +

    Description¶

    +

    Style soft computes pairwise interactions with the formula

    +_images/pair_soft.jpg +

    It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that can be made to vary in time from the start to the end of the run (see discussion below), e.g. to start with a very soft potential and slowly harden the -interactions over time. Rc is the cutoff. See the fix -nve/limit command for another way to push apart -overlapping atoms. -

    -

    The following coefficients must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +interactions over time. Rc is the cutoff. See the fix nve/limit command for another way to push apart +overlapping atoms.

    +

    The following coefficients must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • A (energy units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global soft -cutoff is used. -

    -

    IMPORTANT NOTE: The syntax for pair_coeff with a +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • A (energy units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global soft +cutoff is used.

    +
    +

    Warning

    +

    The syntax for pair_coeff with a single A coeff is different in the current version of LAMMPS than in older versions which took two values, Astart and Astop, to ramp between them. This functionality is now available in a more general -form through the fix adapt command, as explained +form through the fix adapt command, as explained below. Note that if you use an old input script and specify Astart and Astop without a cutoff, then LAMMPS will interpret that as A and a -cutoff, which is probabably not what you want. -

    -

    The fix adapt command can be used to vary A for one +cutoff, which is probabably not what you want.

    +
    +

    The fix adapt command can be used to vary A for one or more pair types over the course of a simulation, in which case pair_coeff settings for A must still be specified, but will be overridden. For example these commands will vary the prefactor A for all pairwise interactions from 0.0 at the beginning to 30.0 at the end -of a run: -

    -
    variable prefactor equal ramp(0,30)
    -fix 1 all adapt 1 pair soft a * * v_prefactor 
    -
    -

    Note that a formula defined by an equal-style variable +of a run:

    +
    variable prefactor equal ramp(0,30)
    +fix 1 all adapt 1 pair soft a * * v_prefactor
    +
    +
    +

    Note that a formula defined by an equal-style variable can use the current timestep, elapsed time in the current run, elapsed time since the beginning of a series of runs, as well as access other -variables. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +variables.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -geometric rule. The cutoff is mixed according to the pair_modify -mix value. The default mix value is geometric. See the -"pair_modify" command for details. -

    -

    This pair style does not support the pair_modify -shift option, since the pair interaction goes to 0.0 at the cutoff. -

    -

    The pair_modify table and tail options are not -relevant for this pair style. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +geometric rule. The cutoff is mixed according to the pair_modify +mix value. The default mix value is geometric. See the +“pair_modify” command for details.

    +

    This pair style does not support the pair_modify +shift option, since the pair interaction goes to 0.0 at the cutoff.

    +

    The pair_modify table and tail options are not +relevant for this pair style.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff, fix nve/limit, fix -adapt -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_heatconduction.html b/doc/pair_sph_heatconduction.html index 570a324b87..68da3c2623 100644 --- a/doc/pair_sph_heatconduction.html +++ b/doc/pair_sph_heatconduction.html @@ -1,68 +1,240 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/heatconduction command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/heatconduction command¶

    +
    +

    Syntax¶

    +
    pair_style sph/heatconduction
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sph/heatconduction
    +pair_coeff * * 1.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/heatconduction style computes heat transport between SPH particles. +The transport model is the diffusion euqation for the internal energy.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • D diffusion coefficient (length^2/time units)
    • +
    • h kernel function cutoff (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -
    +
    +
    +
    + -

    pair_style sph/heatconduction command -

    -

    Syntax: -

    -
    pair_style sph/heatconduction 
    -
    -

    Examples: -

    -
    pair_style sph/heatconduction
    -pair_coeff * * 1.0 2.4 
    -
    -

    Description: -

    -

    The sph/heatconduction style computes heat transport between SPH particles. -The transport model is the diffusion euqation for the internal energy. -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • D diffusion coefficient (length^2/time units) -
    • h kernel function cutoff (distance units) -
    -
    +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/rhosum -

    -

    Default: none -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_idealgas.html b/doc/pair_sph_idealgas.html index 4d45b2959c..6b73170101 100644 --- a/doc/pair_sph_idealgas.html +++ b/doc/pair_sph_idealgas.html @@ -1,82 +1,248 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/idealgas command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style sph/idealgas command -

    -

    Syntax: -

    -
    pair_style sph/idealgas 
    -
    -

    Examples: -

    -
    pair_style sph/idealgas
    -pair_coeff * * 1.0 2.4 
    -
    -

    Description: -

    -

    The sph/idealgas style computes pressure forces between particles -according to the ideal gas equation of state: -

    -
    -
    -

    where gamma = 1.4 is the heat capacity ratio, rho is the local + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/idealgas command¶

    +
    +

    Syntax¶

    +
    pair_style sph/idealgas
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sph/idealgas
    +pair_coeff * * 1.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/idealgas style computes pressure forces between particles +according to the ideal gas equation of state:

    +_images/pair_sph_ideal.jpg +

    where gamma = 1.4 is the heat capacity ratio, rho is the local density, and e is the internal energy per unit mass. This pair style -also computes Monaghan's artificial viscosity to prevent particles -from interpentrating (Monaghan). -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • nu artificial viscosity (no units) -
    • h kernel function cutoff (distance units) -
    -
    +also computes Monaghan’s artificial viscosity to prevent particles +from interpentrating (Monaghan).

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • nu artificial viscosity (no units)
    • +
    • h kernel function cutoff (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/rhosum -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_lj.html b/doc/pair_sph_lj.html index 60cbdc67c8..4082a6c592 100644 --- a/doc/pair_sph_lj.html +++ b/doc/pair_sph_lj.html @@ -1,86 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/lj command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style sph/lj command -

    -

    Syntax: -

    -
    pair_style sph/lj 
    -
    -

    Examples: -

    -
    pair_style sph/lj
    -pair_coeff * * 1.0 2.4 
    -
    -

    Description: -

    -

    The sph/lj style computes pressure forces between particles according + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/lj command¶

    +
    +

    Syntax¶

    +
    pair_style sph/lj
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sph/lj
    +pair_coeff * * 1.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/lj style computes pressure forces between particles according to the Lennard-Jones equation of state, which is computed according to -Ree's 1980 polynomial fit (Ree). The Lennard-Jones parameters +Ree’s 1980 polynomial fit (Ree). The Lennard-Jones parameters epsilon and sigma are set to unity. This pair style also computes -Monaghan's artificial viscosity to prevent particles from -interpentrating (Monaghan). -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • nu artificial viscosity (no units) -
    • h kernel function cutoff (distance units) -
    -
    +Monaghan’s artificial viscosity to prevent particles from +interpentrating (Monaghan).

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • nu artificial viscosity (no units)
    • +
    • h kernel function cutoff (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    As noted above, the Lennard-Jones parameters epsilon and sigma are set +to unity.

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    As noted above, the Lennard-Jones parameters epsilon and sigma are set -to unity. -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/rhosum -

    -

    Default: none -

    -
    - +
    +
    +
    + -

    (Ree) Ree, Journal of Chemical Physics, 73, 5401 (1980). -

    - +
    -

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_rhosum.html b/doc/pair_sph_rhosum.html index 7e3f38a91a..e2900cf870 100644 --- a/doc/pair_sph_rhosum.html +++ b/doc/pair_sph_rhosum.html @@ -1,69 +1,242 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/rhosum command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/rhosum command¶

    +
    +

    Syntax¶

    +
    pair_style sph/rhosum Nstep
    +
    +
    +
      +
    • Nstep = timestep interval
    • +
    +
    +
    +

    Examples¶

    +
    pair_style sph/rhosum 10
    +pair_coeff * * 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/rhosum style computes the local particle mass density rho for +SPH particles by kernel function interpolation, every Nstep timesteps.

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • h (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -
    +
    +
    +
    + -

    pair_style sph/rhosum command -

    -

    Syntax: -

    -
    pair_style sph/rhosum Nstep 
    -
    -
    • Nstep = timestep interval -
    -

    Examples: -

    -
    pair_style sph/rhosum 10
    -pair_coeff * * 2.4 
    -
    -

    Description: -

    -

    The sph/rhosum style computes the local particle mass density rho for -SPH particles by kernel function interpolation, every Nstep timesteps. -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • h (distance units) -
    -
    +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/taitwater -

    -

    Default: none -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_taitwater.html b/doc/pair_sph_taitwater.html index 7c350f2f37..63382cf9ab 100644 --- a/doc/pair_sph_taitwater.html +++ b/doc/pair_sph_taitwater.html @@ -1,85 +1,250 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/taitwater command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/taitwater command¶

    +
    +

    Syntax¶

    +
    pair_style sph/taitwater
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sph/taitwater
    +pair_coeff * * 1000.0 1430.0 1.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/taitwater style computes pressure forces between SPH particles +according to Tait’s equation of state:

    +_images/pair_sph_tait.jpg +

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the +reference density and c_0 the reference speed of sound.

    +

    This pair style also computes Monaghan’s artificial viscosity to +prevent particles from interpentrating (Monaghan).

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • rho0 reference density (mass/volume units)
    • +
    • c0 reference soundspeed (distance/time units)
    • +
    • nu artificial viscosity (no units)
    • +
    • h kernel function cutoff (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -
    +
    +
    +
    + -

    pair_style sph/taitwater command -

    -

    Syntax: -

    -
    pair_style sph/taitwater 
    -
    -

    Examples: -

    -
    pair_style sph/taitwater
    -pair_coeff * * 1000.0 1430.0 1.0 2.4 
    -
    -

    Description: -

    -

    The sph/taitwater style computes pressure forces between SPH particles -according to Tait's equation of state: -

    -
    -
    -

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound. -

    -

    This pair style also computes Monaghan's artificial viscosity to -prevent particles from interpentrating (Monaghan). -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • rho0 reference density (mass/volume units) -
    • c0 reference soundspeed (distance/time units) -
    • nu artificial viscosity (no units) -
    • h kernel function cutoff (distance units) -
    -
    +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/rhosum -

    -

    Default: none -

    -
    +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. - +
    -

    (Monaghan) Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). -

    - +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sph_taitwater_morris.html b/doc/pair_sph_taitwater_morris.html index 4a2568ff79..1e1d5cc770 100644 --- a/doc/pair_sph_taitwater_morris.html +++ b/doc/pair_sph_taitwater_morris.html @@ -1,83 +1,248 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sph/taitwater/morris command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sph/taitwater/morris command¶

    +
    +

    Syntax¶

    +
    pair_style sph/taitwater/morris
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sph/taitwater/morris
    +pair_coeff * * 1000.0 1430.0 1.0 2.4
    +
    +
    +
    +
    +

    Description¶

    +

    The sph/taitwater/morris style computes pressure forces between SPH +particles according to Tait’s equation of state:

    +_images/pair_sph_tait.jpg +

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the +reference density and c_0 the reference speed of sound.

    +

    This pair style also computes laminar viscosity (Morris).

    +

    See this PDF guide to using SPH in +LAMMPS.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • rho0 reference density (mass/volume units)
    • +
    • c0 reference soundspeed (distance/time units)
    • +
    • nu dynamic viscosity (mass*distance/time units)
    • +
    • h kernel function cutoff (distance units)
    • +
    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    This style does not support the pair_modify +shift, table, and tail options.

    +

    This style does not write information to binary restart files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file.

    +

    This style can only be used via the pair keyword of the run_style respa command. It does not support the inner, +middle, outer keywords.

    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-SPH package. It is only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +
    + +
    -
    +
    +
    +
    + -

    pair_style sph/taitwater/morris command -

    -

    Syntax: -

    -
    pair_style sph/taitwater/morris 
    -
    -

    Examples: -

    -
    pair_style sph/taitwater/morris
    -pair_coeff * * 1000.0 1430.0 1.0 2.4 
    -
    -

    Description: -

    -

    The sph/taitwater/morris style computes pressure forces between SPH -particles according to Tait's equation of state: -

    -
    -
    -

    where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound. -

    -

    This pair style also computes laminar viscosity (Morris). -

    -

    See this PDF guide to using SPH in -LAMMPS. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • rho0 reference density (mass/volume units) -
    • c0 reference soundspeed (distance/time units) -
    • nu dynamic viscosity (mass*distance/time units) -
    • h kernel function cutoff (distance units) -
    -
    +
    -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    This style does not support the pair_modify -shift, table, and tail options. -

    -

    This style does not write information to binary restart -files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. -

    -

    This style can only be used via the pair keyword of the run_style -respa command. It does not support the inner, -middle, outer keywords. -

    -

    Restrictions: -

    -

    This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Related commands: -

    -

    pair_coeff, pair_sph/rhosum -

    -

    Default: none -

    -
    +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. - +
    -

    (Morris) Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). -

    - +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_srp.html b/doc/pair_srp.html index df195432b4..4e926a94cd 100644 --- a/doc/pair_srp.html +++ b/doc/pair_srp.html @@ -1,172 +1,326 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style srp command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style srp command -

    -

    Syntax: -

    -

    pair_style srp cutoff bond_type dist keyword value ... -

    -
    • cutoff = global cutoff for SRP interactions (distance units) - -
    • bond_type = bond type to apply SRP interactions - -
    • distance = min or mid - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = exclude - -
        exclude value = yes or no 
      -
      - -
    -

    Examples: -

    -
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes
    -pair_coeff 1 1 dpd 60.0 4.5 1.0 
    -pair_coeff 1 2 none 
    -pair_coeff 2 2 srp 100.0 0.8 
    -
    -
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes
    -pair_coeff 1 1 dpd 60.0 50 1.0 
    -pair_coeff 1 2 none 
    -pair_coeff 2 2 srp 40.0 
    -
    -
    pair_style hybrid srp 0.8 2 mid 
    -pair_coeff 1 1 none 
    -pair_coeff 1 2 none 
    -pair_coeff 2 2 srp 100.0 0.8 
    -
    -

    Description: -

    -

    Style srp computes a soft segmental repulsive potential (SRP) that + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style srp command¶

    +
    +

    Syntax¶

    +

    pair_style srp cutoff bond_type dist keyword value ...

    +
      +
    • cutoff = global cutoff for SRP interactions (distance units)
    • +
    • bond_type = bond type to apply SRP interactions
    • +
    • distance = min or mid
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = exclude
    • +
    +
    +exclude value = yes or no
    +
    +
    +
    +

    Examples¶

    +
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes
    +pair_coeff 1 1 dpd 60.0 4.5 1.0
    +pair_coeff 1 2 none
    +pair_coeff 2 2 srp 100.0 0.8
    +
    +
    +
    pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes
    +pair_coeff 1 1 dpd 60.0 50 1.0
    +pair_coeff 1 2 none
    +pair_coeff 2 2 srp 40.0
    +
    +
    +
    pair_style hybrid srp 0.8 2 mid
    +pair_coeff 1 1 none
    +pair_coeff 1 2 none
    +pair_coeff 2 2 srp 100.0 0.8
    +
    +
    +
    +
    +

    Description¶

    +

    Style srp computes a soft segmental repulsive potential (SRP) that acts between pairs of bonds. This potential is useful for preventing bonds from passing through one another when a soft non-bonded potential acts between beads in, for example, DPD polymer chains. An example input script that uses this command is provided in -examples/USER/srp. -

    -

    Bonds of type btype interact with one another through a -bond-pairwise potential, such that the force on bond i due to bond -j is as follows -

    -
    -
    -

    where r and rij are the distance and unit vector between the two +examples/USER/srp.

    +

    Bonds of type btype interact with one another through a +bond-pairwise potential, such that the force on bond i due to bond +j is as follows

    +_images/pair_srp1.jpg +

    where r and rij are the distance and unit vector between the two bonds. The bondtype can also be specified as an asterisk (*) and then this interaction applied to all bonds. -The mid option computes r and rij from the midpoint -distance between bonds. The min option computes r and rij from +The mid option computes r and rij from the midpoint +distance between bonds. The min option computes r and rij from the minimum distance between bonds. The force acting on a bond is -mapped onto the two bond atoms according to the lever rule, -

    -
    -
    -

    where L is the normalized distance from the atom to the point of -closest approach of bond i and j. The mid option takes L as -0.5 for each interaction as described in (Sirk). -

    -

    The following coefficients must be defined via the -pair_coeff command as in the examples above, or in -the data file or restart file read by the read_data -or read_restart commands: -

    -
    • C (force units) -
    • rc (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used. -

    -

    IMPORTANT NOTE: Pair style srp considers each bond of type btype as -a fictitious particle of type bptype, where bptype is the largest -atom type in the system. These "bond particles" are inserted at the +mapped onto the two bond atoms according to the lever rule,

    +_images/pair_srp2.jpg +

    where L is the normalized distance from the atom to the point of +closest approach of bond i and j. The mid option takes L as +0.5 for each interaction as described in (Sirk).

    +

    The following coefficients must be defined via the +pair_coeff command as in the examples above, or in +the data file or restart file read by the read_data +or read_restart commands:

    +
      +
    • C (force units)
    • +
    • rc (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used.

    +
    +

    Warning

    +

    Pair style srp considers each bond of type btype as +a fictitious particle of type bptype, where bptype is the largest +atom type in the system. These “bond particles” are inserted at the beginning of the run, and serve as placeholders that define the position of the bonds. This allows neighbor lists to be constructed and pairwise interactions to be computed in almost the same way as is done for point particles. Because bonds interact only with other -bonds, pair_style hybrid should be used to turn off -interactions between atom type bptype and all other types of atoms. -An error will be flagged if pair_style hybrid is +bonds, pair_style hybrid should be used to turn off +interactions between atom type bptype and all other types of atoms. +An error will be flagged if pair_style hybrid is not used. Further, only bond particles should be given an atom type -of bptype; a check is done at the beginning of the run to ensure -there are no regular atoms of bptype. -

    -

    The optional exclude keyword determines if forces are computed +of bptype; a check is done at the beginning of the run to ensure +there are no regular atoms of bptype.

    +
    +

    The optional exclude keyword determines if forces are computed between first neighbor (directly connected) bonds. For a setting of -no, first neighbor forces are computed; for yes they are not computed. A setting of no -cannot be used with the min option for distance calculation because the the minimum distance between -directly connected bonds is zero. -

    -

    Pair style srp turns off normalization of thermodynamic properties -by particle number, as if the command thermo_modify norm -no had been issued. -

    -

    The pairwise energy associated with style srp is shifted to be zero -at the cutoff distance rc. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair styles does not support mixing. -

    -

    This pair style does not support the pair_modify +no, first neighbor forces are computed; for yes they are not computed. A setting of no +cannot be used with the min option for distance calculation because the the minimum distance between +directly connected bonds is zero.

    +

    Pair style srp turns off normalization of thermodynamic properties +by particle number, as if the command thermo_modify norm no had been issued.

    +

    The pairwise energy associated with style srp is shifted to be zero +at the cutoff distance rc.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair styles does not support mixing.

    +

    This pair style does not support the pair_modify shift option for the energy of the pair interaction. Note that as discussed above, the energy term is already shifted to be 0.0 at the -cutoff distance rc. -

    -

    The pair_modify table option is not relevant for -this pair style. -

    -

    This pair style does not support the pair_modify +cutoff distance rc.

    +

    The pair_modify table option is not relevant for +this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes global and per-atom information to binary -restart files. Pair srp should be used with pair_style -hybrid, thus the pair_coeff commands need to be -specified in the input script when reading a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style is part of the USER-MISC package. It is only enabled +pressure.

    +

    This pair style writes global and per-atom information to binary restart files. Pair srp should be used with pair_style hybrid, thus the pair_coeff commands need to be +specified in the input script when reading a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section -for more info. -

    -

    This pair style must be used with pair_style hybrid. -

    -

    This pair style requires the newton command to be on -for non-bonded interactions. -

    -

    Related commands: -

    -

    pair_style hybrid, pair_coeff, -pair dpd -

    -

    Default: -

    -

    The default keyword value is exclude = yes. -

    -
    +for more info.

    +

    This pair style must be used with pair_style hybrid.

    +

    This pair style requires the newton command to be on +for non-bonded interactions.

    +
    + +
    +

    Default¶

    +

    The default keyword value is exclude = yes.

    +
    +

    (Sirk) Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J +Chem Phys, 136 (13) 134903, 2012.

    +
    +
    - -

    (Sirk) Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J -Chem Phys, 136 (13) 134903, 2012. -

    - +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_style.html b/doc/pair_style.html index 6cfd973357..4396eb0b24 100644 --- a/doc/pair_style.html +++ b/doc/pair_style.html @@ -1,234 +1,404 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style command -

    -

    Syntax: -

    -
    pair_style style args 
    -
    -
    • style = one of the styles from the list below -
    • args = arguments used by a particular style -
    -

    Examples: -

    -
    pair_style lj/cut 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style command¶

    +
    +

    Syntax¶

    +
    pair_style style args
    +
    +
    +
      +
    • style = one of the styles from the list below
    • +
    • args = arguments used by a particular style
    • +
    +
    +
    +

    Examples¶

    +
    pair_style lj/cut 2.5
     pair_style eam/alloy
     pair_style hybrid lj/charmm/coul/long 10.0 eam
     pair_style table linear 1000
    -pair_style none 
    -
    -

    Description: -

    -

    Set the formula(s) LAMMPS uses to compute pairwise interactions. In +pair_style none +

    + + +
    +

    Description¶

    +

    Set the formula(s) LAMMPS uses to compute pairwise interactions. In LAMMPS, pair potentials are defined between pairs of atoms that are within a cutoff distance and the set of active interactions typically -changes over time. See the bond_style command to +changes over time. See the bond_style command to define potentials between pairs of bonded atoms, which typically -remain in place for the duration of a simulation. -

    -

    In LAMMPS, pairwise force fields encompass a variety of interactions, +remain in place for the duration of a simulation.

    +

    In LAMMPS, pairwise force fields encompass a variety of interactions, some of which include many-body effects, e.g. EAM, Stillinger-Weber, -Tersoff, REBO potentials. They are still classified as "pairwise" +Tersoff, REBO potentials. They are still classified as “pairwise” potentials because the set of interacting atoms changes with time (unlike molecular bonds) and thus a neighbor list is used to find -nearby interacting atoms. -

    -

    Hybrid models where specified pairs of atom types interact via -different pair potentials can be setup using the hybrid pair style. -

    -

    The coefficients associated with a pair style are typically set for +nearby interacting atoms.

    +

    Hybrid models where specified pairs of atom types interact via +different pair potentials can be setup using the hybrid pair style.

    +

    The coefficients associated with a pair style are typically set for each pair of atom types, and are specified by the -pair_coeff command or read from a file by the -read_data or read_restart -commands. -

    -

    The pair_modify command sets options for mixing of +pair_coeff command or read from a file by the +read_data or read_restart +commands.

    +

    The pair_modify command sets options for mixing of type I-J interaction coefficients and adding energy offsets or tail corrections to Lennard-Jones potentials. Details on these options as they pertain to individual potentials are described on the doc page for the potential. Likewise, info on whether the potential -information is stored in a restart file is listed -on the potential doc page. -

    -

    In the formulas listed for each pair style, E is the energy of a -pairwise interaction between two atoms separated by a distance r. +information is stored in a restart file is listed +on the potential doc page.

    +

    In the formulas listed for each pair style, E is the energy of a +pairwise interaction between two atoms separated by a distance r. The force between the atoms is the negative derivative of this -expression. -

    -

    If the pair_style command has a cutoff argument, it sets global +expression.

    +

    If the pair_style command has a cutoff argument, it sets global cutoffs for all pairs of atom types. The distance(s) can be smaller -or larger than the dimensions of the simulation box. -

    -

    Typically, the global cutoff value can be overridden for a specific -pair of atom types by the pair_coeff command. The +or larger than the dimensions of the simulation box.

    +

    Typically, the global cutoff value can be overridden for a specific +pair of atom types by the pair_coeff command. The pair style settings (including global cutoffs) can be changed by a subsequent pair_style command using the same style. This will reset the cutoffs for all atom type pairs, including those previously set -explicitly by a pair_coeff command. The exceptions -to this are that pair_style table and hybrid settings cannot be +explicitly by a pair_coeff command. The exceptions +to this are that pair_style table and hybrid settings cannot be reset. A new pair_style command for these styles will wipe out all -previously specified pair_coeff values. -

    -
    - -

    Here is an alphabetic list of pair styles defined in LAMMPS. They are -also given in more compact form in the pair section of this -page. -

    -

    Click on the style to display the formula it computes, arguments +previously specified pair_coeff values.

    +
    +

    Here is an alphabetic list of pair styles defined in LAMMPS. They are +also given in more compact form in the pair section of this page.

    +

    Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the -associated pair_coeff command. -

    -

    There are also additional pair styles (not listed here) submitted by +associated pair_coeff command.

    +

    There are also additional pair styles (not listed here) submitted by users which are included in the LAMMPS distribution. The list of these with links to the individual styles are given in the pair -section of this page. -

    -

    There are also additional accelerated pair styles (not listed here) +section of this page.

    +

    There are also additional accelerated pair styles (not listed here) included in the LAMMPS distribution for faster performance on CPUs and GPUs. The list of these with links to the individual styles are given -in the pair section of this page. -

    - - -
    - -

    Restrictions: -

    -

    This command must be used before any coefficients are set by the -pair_coeff, read_data, or -read_restart commands. -

    -

    Some pair styles are part of specific packages. They are only enabled -if LAMMPS was built with that package. See the Making -LAMMPS section for more info on packages. +in the pair section of this page.

    + +
    +
    +
    +

    Restrictions¶

    +

    This command must be used before any coefficients are set by the +pair_coeff, read_data, or +read_restart commands.

    +

    Some pair styles are part of specific packages. They are only enabled +if LAMMPS was built with that package. See the Making LAMMPS section for more info on packages. The doc pages for individual pair potentials tell if it is part of a -package. -

    -

    Related commands: -

    -

    pair_coeff, read_data, -pair_modify, kspace_style, -dielectric, pair_write -

    -

    Default: -

    -
    pair_style none 
    -
    - +package.

    +
    + +
    +

    Default¶

    +
    pair_style none
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_sw.html b/doc/pair_sw.html index 8a9164f90b..d92b909f56 100644 --- a/doc/pair_sw.html +++ b/doc/pair_sw.html @@ -1,104 +1,222 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style sw command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style sw command -

    -

    pair_style sw/cuda command -

    -

    pair_style sw/gpu command -

    -

    pair_style sw/intel command -

    -

    pair_style sw/kk command -

    -

    pair_style sw/omp command -

    -

    Syntax: -

    -
    pair_style sw 
    -
    -

    Examples: -

    -
    pair_style sw
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style sw command¶

    +
    +
    +

    pair_style sw/cuda command¶

    +
    +
    +

    pair_style sw/gpu command¶

    +
    +
    +

    pair_style sw/intel command¶

    +
    +
    +

    pair_style sw/kk command¶

    +
    +
    +

    pair_style sw/omp command¶

    +
    +

    Syntax¶

    +
    pair_style sw
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style sw
     pair_coeff * * si.sw Si
    -pair_coeff * * GaN.sw Ga N Ga 
    -
    -

    Description: -

    -

    The sw style computes a 3-body Stillinger-Weber -potential for the energy E of a system of atoms as -

    -
    -
    -

    where phi2 is a two-body term and phi3 is a three-body term. The +pair_coeff * * GaN.sw Ga N Ga +

    + + +
    +

    Description¶

    +

    The sw style computes a 3-body Stillinger-Weber +potential for the energy E of a system of atoms as

    +_images/pair_sw.jpg +

    where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a*sigma. -

    -

    Only a single pair_coeff command is used with the sw style which +within a cutoff distance = a*sigma.

    +

    Only a single pair_coeff command is used with the sw style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of SW elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine a file SiC.sw has Stillinger-Weber values for +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of SW elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine a file SiC.sw has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command: -

    -
    pair_coeff * * SiC.sw Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command:

    +
    pair_coeff * * SiC.sw Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the SW file. The final C argument maps LAMMPS atom type 4 to the C element in the SW file. If a mapping value is specified as -NULL, the mapping is not performed. This can be used when a sw -potential is used as part of the hybrid pair style. The NULL values +NULL, the mapping is not performed. This can be used when a sw +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials. -

    -

    Stillinger-Weber files in the potentials directory of the LAMMPS -distribution have a ".sw" suffix. Lines that are not blank or +potentials.

    +

    Stillinger-Weber files in the potentials directory of the LAMMPS +distribution have a ”.sw” suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above: -

    -
    • element 1 (the center atom in a 3-body interaction) -
    • element 2 -
    • element 3 -
    • epsilon (energy units) -
    • sigma (distance units) -
    • a -
    • lambda -
    • gamma -
    • costheta0 -
    • A -
    • B -
    • p -
    • q -
    • tol -
    -

    The A, B, p, and q parameters are used only for two-body +and three-body coefficients in the formula above:

    +
      +
    • element 1 (the center atom in a 3-body interaction)
    • +
    • element 2
    • +
    • element 3
    • +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • a
    • +
    • lambda
    • +
    • gamma
    • +
    • costheta0
    • +
    • A
    • +
    • B
    • +
    • p
    • +
    • q
    • +
    • tol
    • +
    +

    The A, B, p, and q parameters are used only for two-body interactions. The lambda and costheta0 parameters are used only for three-body interactions. The epsilon, sigma and a parameters are used for both two-body and three-body interactions. gamma is used only in the -three-body interactions, but is defined for pairs of atoms. -The non-annotated parameters are unitless. -

    -

    LAMMPS introduces an additional performance-optimization parameter tol +three-body interactions, but is defined for pairs of atoms. +The non-annotated parameters are unitless.

    +

    LAMMPS introduces an additional performance-optimization parameter tol that is used for both two-body and three-body interactions. In the Stillinger-Weber potential, the interaction energies become negligibly small at atomic separations substantially less than the theoretical @@ -106,23 +224,20 @@ cutoff distances. LAMMPS therefore defines a virtual cutoff distance based on a user defined tolerance tol. The use of the virtual cutoff distance in constructing atom neighbor lists can significantly reduce the neighbor list sizes and therefore the computational cost. LAMMPS -provides a tol value for each of the three-body entries so that they +provides a tol value for each of the three-body entries so that they can be separately controlled. If tol = 0.0, then the standard -Stillinger-Weber cutoff is used. -

    -

    The Stillinger-Weber potential file must contain entries for all the +Stillinger-Weber cutoff is used.

    +

    The Stillinger-Weber potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. -

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries.

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify SW parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. -

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc.

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction. Thus an entry for SiCC means a Si atom with 2 C atoms as neighbors. The parameter values used for the two-body interaction come from the entry where the 2nd and 3rd @@ -144,85 +259,126 @@ entries CSiC and CCSi should be the same. Similarly, the two-body parameters for entries SiCC and CSiSi should also be the same. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not -used for anything and can be set to 0.0 if desired. -This is also true for the parameters in phi3 that are -taken from the ij and ik pairs (sigma, a, gamma) -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +used for anything and can be set to 0.0 if desired. +This is also true for the parameters in phi3 that are +taken from the ij and ik pairs (sigma, a, gamma)

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    When using the USER-INTEL package with this style, there is an +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    When using the USER-INTEL package with this style, there is an additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. -These parameters are common for modeling silicon and water. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +These parameters are common for modeling silicon and water.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +described above from values in the potential file.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    The Stillinger-Weber potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. +the Making LAMMPS section for more info.

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    The Stillinger-Weber potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. You can use the SW potential with any LAMMPS units, but you would need to create your own SW potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +appropriate units if your simulation doesn’t use “metal” units.

    +
    + + - -

    (Stillinger) Stillinger and Weber, Phys Rev B, 31, 5262 (1985). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_table.html b/doc/pair_table.html index ea976ba199..fefa15f705 100644 --- a/doc/pair_table.html +++ b/doc/pair_table.html @@ -1,150 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style table command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style table command -

    -

    pair_style table/gpu command -

    -

    pair_style table/kk command -

    -

    pair_style table/omp command -

    -

    Syntax: -

    -
    pair_style table style N keyword ... 
    -
    -
    • style = lookup or linear or spline or bitmap = method of interpolation -
    • N = use N values in lookup, linear, spline tables -
    • N = use 2^N values in bitmap tables -
    • zero or more keywords may be appended -
    • keyword = ewald or pppm or msm or dispersion or tip4p -
    -

    Examples: -

    -
    pair_style table linear 1000
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style table command¶

    +
    +
    +

    pair_style table/gpu command¶

    +
    +
    +

    pair_style table/kk command¶

    +
    +
    +

    pair_style table/omp command¶

    +
    +

    Syntax¶

    +
    pair_style table style N keyword ...
    +
    +
    +
      +
    • style = lookup or linear or spline or bitmap = method of interpolation
    • +
    • N = use N values in lookup, linear, spline tables
    • +
    • N = use 2^N values in bitmap tables
    • +
    • zero or more keywords may be appended
    • +
    • keyword = ewald or pppm or msm or dispersion or tip4p
    • +
    +
    +
    +

    Examples¶

    +
    pair_style table linear 1000
     pair_style table linear 1000 pppm
     pair_style table bitmap 12
     pair_coeff * 3 morse.table ENTRY1
    -pair_coeff * 3 morse.table ENTRY1 7.0 
    -
    -

    Description: -

    -

    Style table creates interpolation tables of length N from pair +pair_coeff * 3 morse.table ENTRY1 7.0 +

    + + +
    +

    Description¶

    +

    Style table creates interpolation tables of length N from pair potential and force values listed in a file(s) as a function of -distance. The files are read by the pair_coeff -command. -

    -

    The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and force values at each of N +distance. The files are read by the pair_coeff +command.

    +

    The interpolation tables are created by fitting cubic splines to the +file values and interpolating energy and force values at each of N distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one -of 4 styles: lookup, linear, spline, or bitmap. -

    -

    For the lookup style, the distance between 2 atoms is used to find -the nearest table entry, which is the energy or force. -

    -

    For the linear style, the pair distance is used to find 2 +of 4 styles: lookup, linear, spline, or bitmap.

    +

    For the lookup style, the distance between 2 atoms is used to find +the nearest table entry, which is the energy or force.

    +

    For the linear style, the pair distance is used to find 2 surrounding table values from which an energy or force is computed by -linear interpolation. -

    -

    For the spline style, a cubic spline coefficients are computed and -stored at each of the N values in the table. The pair distance is +linear interpolation.

    +

    For the spline style, a cubic spline coefficients are computed and +stored at each of the N values in the table. The pair distance is used to find the appropriate set of coefficients which are used to -evaluate a cubic polynomial which computes the energy or force. -

    -

    For the bitmap style, the N means to create interpolation tables +evaluate a cubic polynomial which computes the energy or force.

    +

    For the bitmap style, the N means to create interpolation tables that are 2^N in length. The pair distance is used to index into the -table via a fast bit-mapping technique due to (Wolff), and a -linear interpolation is performed between adjacent table values. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples -above. -

    -
    • filename -
    • keyword -
    • cutoff (distance units) -
    -

    The filename specifies a file containing tabulated energy and force +table via a fast bit-mapping technique due to (Wolff), and a +linear interpolation is performed between adjacent table values.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above.

    +
      +
    • filename
    • +
    • keyword
    • +
    • cutoff (distance units)
    • +
    +

    The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The cutoff is an optional coefficient. If not specified, the outer cutoff in the table itself (see below) will be used to build an interpolation table that extend to the largest tabulated distance. If specified, only file values up to the cutoff are used to create the interpolation -table. The format of this file is described below. -

    -

    If your tabulated potential(s) are designed to be used as the +table. The format of this file is described below.

    +

    If your tabulated potential(s) are designed to be used as the short-range part of one of the long-range solvers specified by the -kspace_style command, then you must use one or +kspace_style command, then you must use one or more of the optional keywords listed above for the pair_style command. -These are ewald or pppm or msm or dispersion or tip4p. This +These are ewald or pppm or msm or dispersion or tip4p. This is so LAMMPS can insure the short-range potential and long-range solver are compatible with each other, as it does for other -short-range pair styles, such as pair_style -lj/cut/coul/long. Note that it is up to you to insure +short-range pair styles, such as pair_style lj/cut/coul/long. Note that it is up to you to insure the tabulated values for each pair of atom types has the correct -functional form to be compatible with the matching long-range solver. -

    -
    - -

    Here are some guidelines for using the pair_style table command to -best effect: -

    -
    • Vary the number of table points; you may need to use more than you think -to get good resolution. - -
    • Always use the pair_write command to produce a plot +functional form to be compatible with the matching long-range solver.

      +
      +

      Here are some guidelines for using the pair_style table command to +best effect:

      +
        +
      • Vary the number of table points; you may need to use more than you think +to get good resolution.
      • +
      • Always use the pair_write command to produce a plot of what the final interpolated potential looks like. This can show up -interpolation "features" you may not like. - -
      • Start with the linear style; it's the style least likely to have problems. - -
      • Use N in the pair_style command equal to the "N" in the tabulation -file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation -is not needed. See discussion below. - -
      • Make sure that your tabulated forces and tabulated energies are consistent -(dE/dr = -F) along the entire range of r values. - -
      • Use as large an inner cutoff as possible. This avoids fitting splines -to very steep parts of the potential. -
      -
      - -

      The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments): -

      -
      # Morse potential for Fe   (one or more comment or blank lines) 
      -
      -
      MORSE_FE                   (keyword is first text on line)
      +interpolation “features” you may not like.
    • +
    • Start with the linear style; it’s the style least likely to have problems.
    • +
    • Use N in the pair_style command equal to the “N” in the tabulation +file, and use the “RSQ” or “BITMAP” parameter, so additional interpolation +is not needed. See discussion below.
    • +
    • Make sure that your tabulated forces and tabulated energies are consistent +(dE/dr = -F) along the entire range of r values.
    • +
    • Use as large an inner cutoff as possible. This avoids fitting splines +to very steep parts of the potential.
    • +
    +
    +

    The format of a tabulated file is a series of one or more sections, +defined as follows (without the parenthesized comments):

    +
    # Morse potential for Fe   (one or more comment or blank lines)
    +
    +
    +
    MORSE_FE                   (keyword is first text on line)
     N 500 R 1.0 10.0           (N, R, RSQ, BITMAP, FPRIME parameters)
                                (blank)
     1 1.0 25.5 102.34          (index, r, energy, force)
     2 1.02 23.4 98.5
     ...
    -500 10.0 0.001 0.003 
    -
    -

    A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments +500 10.0 0.001 0.003 +

    +
    +

    A section begins with a non-blank line whose 1st character is not a +“#”; blank lines or lines starting with “#” can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more -numeric values. -

    -

    The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the pair_style table command. Let -Ntable = N in the pair_style command, and Nfile = "N" in the +numeric values.

    +

    The parameter “N” is required and its value is the number of table +entries that follow. Note that this may be different than the N +specified in the pair_style table command. Let +Ntable = N in the pair_style command, and Nfile = “N” in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -153,111 +260,153 @@ Ntable are then used as described above, when computing energy and force for individual pair distances. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile, and use the "RSQ" or "BITMAP" parameter. -The internal table abscissa is RSQ (separation distance squared). -

    -

    All other parameters are optional. If "R" or "RSQ" or "BITMAP" does +should set Ntable = Nfile, and use the “RSQ” or “BITMAP” parameter. +The internal table abscissa is RSQ (separation distance squared).

    +

    All other parameters are optional. If “R” or “RSQ” or “BITMAP” does not appear, then the distances in each line of the table are used as-is to perform spline interpolation. In this case, the table values -can be spaced in r uniformly or however you wish to position table -values in regions of large gradients. -

    -

    If used, the parameters "R" or "RSQ" are followed by 2 values rlo -and rhi. If specified, the distance associated with each energy and +can be spaced in r uniformly or however you wish to position table +values in regions of large gradients.

    +

    If used, the parameters “R” or “RSQ” are followed by 2 values rlo +and rhi. If specified, the distance associated with each energy and force value is computed from these 2 values (at high accuracy), rather than using the (low-accuracy) value listed in each line of the table. The distance values in the table file are ignored in this case. -For "R", distances uniformly spaced between rlo and rhi are -computed; for "RSQ", squared distances uniformly spaced between -rlo*rlo and rhi*rhi are computed. -

    -

    If used, the parameter "BITMAP" is also followed by 2 values rlo and -rhi. These values, along with the "N" value determine the ordering +For “R”, distances uniformly spaced between rlo and rhi are +computed; for “RSQ”, squared distances uniformly spaced between +rlo*rlo and rhi*rhi are computed.

    +

    If used, the parameter “BITMAP” is also followed by 2 values rlo and +rhi. These values, along with the “N” value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this -file is typically produced by the pair_write command -with its bitmap option. When the table is in BITMAP format, the "N" +file is typically produced by the pair_write command +with its bitmap option. When the table is in BITMAP format, the “N” parameter in the file must be equal to 2^M where M is the value specified in the pair_style command. Also, a cutoff parameter cannot be used as an optional 3rd argument in the pair_coeff command; the -entire table extent as specified in the file must be used. -

    -

    If used, the parameter "FPRIME" is followed by 2 values fplo and -fphi which are the derivative of the force at the innermost and +entire table extent as specified in the file must be used.

    +

    If used, the parameter “FPRIME” is followed by 2 values fplo and +fphi which are the derivative of the force at the innermost and outermost distances listed in the table. These values are needed by -the spline construction routines. If not specified by the "FPRIME" +the spline construction routines. If not specified by the “FPRIME” parameter, they are estimated (less accurately) by the first 2 and last 2 force values in the table. This parameter is not used by -BITMAP tables. -

    -

    Following a blank line, the next N lines list the tabulated values. +BITMAP tables.

    +

    Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The r values must increase -from one line to the next (unless the BITMAP parameter is specified). -

    -

    Note that one file can contain many sections, each with a tabulated +from one line to the next (unless the BITMAP parameter is specified).

    +

    Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +one that matches the specified keyword.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. -

    -

    The pair_modify shift, table, and tail options are -not relevant for this pair style. -

    -

    This pair style writes the settings for the "pair_style table" command -to binary restart files, so a pair_style command does +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly.

    +

    The pair_modify shift, table, and tail options are +not relevant for this pair style.

    +

    This pair style writes the settings for the “pair_style table” command +to binary restart files, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +commands do need to be specified in the restart input script.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Wolff) Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_tersoff.html b/doc/pair_tersoff.html index 1d17fc697e..1b38aaddf4 100644 --- a/doc/pair_tersoff.html +++ b/doc/pair_tersoff.html @@ -1,129 +1,244 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style tersoff command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style tersoff command -

    -

    pair_style tersoff/table command -

    -

    pair_style tersoff/cuda -

    -

    pair_style tersoff/kk -

    -

    pair_style tersoff/omp -

    -

    pair_style tersoff/table/omp command -

    -

    Syntax: -

    -
    pair_style style 
    -
    -

    style = tersoff or tersoff/table or tersoff/cuda or tersoff/omp or tersoff/table/omp -

    -

    Examples: -

    -
    pair_style tersoff
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style tersoff command¶

    +
    +
    +

    pair_style tersoff/table command¶

    +
    +
    +

    pair_style tersoff/cuda¶

    +
    +
    +

    pair_style tersoff/kk¶

    +
    +
    +

    pair_style tersoff/omp¶

    +
    +
    +

    pair_style tersoff/table/omp command¶

    +
    +

    Syntax¶

    +
    pair_style style
    +
    +
    +

    style = tersoff or tersoff/table or tersoff/cuda or tersoff/omp or tersoff/table/omp

    +
    +
    +

    Examples¶

    +
    pair_style tersoff
     pair_coeff * * Si.tersoff Si
    -pair_coeff * * SiC.tersoff Si C Si 
    -
    -
    pair_style tersoff/table
    -pair_coeff * * SiCGe.tersoff Si(D) 
    -
    -

    Description: -

    -

    The tersoff style computes a 3-body Tersoff potential -(Tersoff_1) for the energy E of a system of atoms as -

    -
    -
    -

    where f_R is a two-body term and f_A includes three-body interactions. +pair_coeff * * SiC.tersoff Si C Si +

    + +
    pair_style tersoff/table
    +pair_coeff * * SiCGe.tersoff Si(D)
    +
    +
    + +
    +

    Description¶

    +

    The tersoff style computes a 3-body Tersoff potential +(Tersoff_1) for the energy E of a system of atoms as

    +_images/pair_tersoff_1.jpg +

    where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. -

    -

    The tersoff/table style uses tabulated forms for the two-body, +within a cutoff distance = R + D.

    +

    The tersoff/table style uses tabulated forms for the two-body, environment and angular functions. Linear interpolation is performed between adjacent table entries. The table length is chosen to be -accurate within 10^-6 with respect to the tersoff style energy. -The tersoff/table should give better performance in terms of speed. -

    -

    Only a single pair_coeff command is used with the tersoff style +accurate within 10^-6 with respect to the tersoff style energy. +The tersoff/table should give better performance in terms of speed.

    +

    Only a single pair_coeff command is used with the tersoff style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of Tersoff elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine the SiC.tersoff file has Tersoff values for Si +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of Tersoff elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command: -

    -
    pair_coeff * * SiC.tersoff Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command:

    +
    pair_coeff * * SiC.tersoff Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff file. If a mapping value is specified as NULL, the mapping is not performed. This can be used -when a tersoff potential is used as part of the hybrid pair style. +when a tersoff potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with -other potentials. -

    -

    Tersoff files in the potentials directory of the LAMMPS distribution -have a ".tersoff" suffix. Lines that are not blank or comments +other potentials.

    +

    Tersoff files in the potentials directory of the LAMMPS distribution +have a ”.tersoff” suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formula -above: -

    -
    • element 1 (the center atom in a 3-body interaction) -
    • element 2 (the atom bonded to the center atom) -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) -
    • m -
    • gamma -
    • lambda3 (1/distance units) -
    • c -
    • d -
    • costheta0 (can be a value < -1 or > 1) -
    • n -
    • beta -
    • lambda2 (1/distance units) -
    • B (energy units) -
    • R (distance units) -
    • D (distance units) -
    • lambda1 (1/distance units) -
    • A (energy units) -
    -

    The n, beta, lambda2, B, lambda1, and A parameters are only used for +above:

    +
      +
    • element 1 (the center atom in a 3-body interaction)
    • +
    • element 2 (the atom bonded to the center atom)
    • +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • +
    • m
    • +
    • gamma
    • +
    • lambda3 (1/distance units)
    • +
    • c
    • +
    • d
    • +
    • costheta0 (can be a value < -1 or > 1)
    • +
    • n
    • +
    • beta
    • +
    • lambda2 (1/distance units)
    • +
    • B (energy units)
    • +
    • R (distance units)
    • +
    • D (distance units)
    • +
    • lambda1 (1/distance units)
    • +
    • A (energy units)
    • +
    +

    The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -non-annotated parameters are unitless. The value of m must be 3 or 1. -

    -

    The Tersoff potential file must contain entries for all the elements +non-annotated parameters are unitless. The value of m must be 3 or 1.

    +

    The Tersoff potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS -ignores those entries. -

    -

    For a single-element simulation, only a single entry is required +ignores those entries.

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. -

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc.

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus @@ -131,135 +246,163 @@ three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry. -

    -

    The parameters used for a particular +SiCC entry.

    +

    The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired. -

    -

    Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 (Tersoff_2) are not symmetric. -

    -

    We chose the above form so as to enable users to define all commonly +be set to 0.0 if desired.

    +

    Note that the twobody parameters in entries such as SiCC and CSiSi +are often the same, due to the common use of symmetric mixing rules, +but this is not always the case. For example, the beta and n parameters in +Tersoff_2 (Tersoff_2) are not symmetric.

    +

    We chose the above form so as to enable users to define all commonly used variants of the Tersoff potential. In particular, our form reduces to the original Tersoff form when m = 3 and gamma = 1, while -it reduces to the form of Albe et al. when beta = 1 and m = 1. +it reduces to the form of Albe et al. when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as Tersoff_2 -potential (Tersoff_2). The tersoff/table style implements -Tersoff_2 parameterization only. -

    -

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: +potential (Tersoff_2). The tersoff/table style implements +Tersoff_2 parameterization only.

    +

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: gamma_ijk = omega_ik, lambda3 = 0 and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules: -

    -
    -
    -

    Tersoff_2 parameters R and S must be converted to the LAMMPS +using the Tersoff_2 mixing rules:

    +_images/pair_tersoff_2.jpg +

    Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following -relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff_2 parameters. -

    -

    In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff's various versions of Si, as well as his +relations: R=(R’+S’)/2 and D=(S’-R’)/2, where the primes indicate the +Tersoff_2 parameters.

    +

    In the potentials directory, the file SiCGe.tersoff provides the +LAMMPS parameters for Tersoff’s various versions of Si, as well as his alloy parameters for Si, C, and Ge. This file can be used for pure Si, (three different versions), pure C, pure Ge, binary SiC, and binary SiGe. LAMMPS will generate an error if this file is used with any combination involving C and Ge, since there are no entries for the GeC interactions (Tersoff did not publish parameters for this cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys. -

    -

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou +(SiC.tersoff) and the GaN (GaN.tersoff) alloys.

    +

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been -defined in various papers. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +defined in various papers.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +described above from values in the potential file.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    The Tersoff potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can +the Making LAMMPS section for more info.

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    The Tersoff potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +appropriate units if your simulation doesn’t use “metal” units.

    +
    + + - -

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). -

    - + + +
    + -

    (Albe) J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: -Condens. Matter, 15, 5649(2003). -

    - +
    -

    (Tersoff_2) J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_tersoff_mod.html b/doc/pair_tersoff_mod.html index 2e6a5a366b..d262dc0fa1 100644 --- a/doc/pair_tersoff_mod.html +++ b/doc/pair_tersoff_mod.html @@ -1,204 +1,348 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style tersoff/mod command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style tersoff/mod command -

    -

    pair_style tersoff/mod/kk command -

    -

    pair_style tersoff/mod/omp command -

    -

    Syntax: -

    -
    pair_style tersoff/mod 
    -
    -

    Examples: -

    -
    pair_style tersoff/mod
    -pair_coeff * * Si.tersoff.mod Si Si 
    -
    -

    Description: -

    -

    The tersoff/mod style computes a bond-order type interatomic -potential (Kumagai) based on a 3-body Tersoff potential -(Tersoff_1), (Tersoff_2) with modified + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style tersoff/mod command¶

    +
    +
    +

    pair_style tersoff/mod/kk command¶

    +
    +
    +

    pair_style tersoff/mod/omp command¶

    +
    +

    Syntax¶

    +
    pair_style tersoff/mod
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style tersoff/mod
    +pair_coeff * * Si.tersoff.mod Si Si
    +
    +
    +
    +
    +

    Description¶

    +

    The tersoff/mod style computes a bond-order type interatomic +potential (Kumagai) based on a 3-body Tersoff potential +(Tersoff_1), (Tersoff_2) with modified cutoff function and angular-dependent term, giving the energy E of a -system of atoms as -

    -
    -
    -

    where f_R is a two-body term and f_A includes three-body interactions. +system of atoms as

    +_images/pair_tersoff_mod.jpg +

    where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. -

    -

    The modified cutoff function f_C proposed by (Murty) and +within a cutoff distance = R + D.

    +

    The modified cutoff function f_C proposed by (Murty) and having a continuous second-order differential is employed. The angular-dependent term g(theta) was modified to increase the -flexibility of the potential. -

    -

    The tersoff/mod potential is fitted to both the elastic constants +flexibility of the potential.

    +

    The tersoff/mod potential is fitted to both the elastic constants and melting point by employing the modified Tersoff potential function form in which the angular-dependent term is improved. The model performs extremely well in describing the crystalline, liquid, and -amorphous phases (Schelling). -

    -

    Only a single pair_coeff command is used with the tersoff/mod style +amorphous phases (Schelling).

    +

    Only a single pair_coeff command is used with the tersoff/mod style which specifies a Tersoff/MOD potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of Tersoff/MOD elements to atom types -
    -

    As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of Tersoff/MOD elements to atom types
    • +
    +

    As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. If your LAMMPS simulation has 3 Si atoms types, you would use the following -pair_coeff command: -

    -
    pair_coeff * * Si.tersoff_mod Si Si Si 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +pair_coeff command:

    +
    pair_coeff * * Si.tersoff_mod Si Si Si
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff/MOD file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a tersoff/mod -potential is used as part of the hybrid pair style. The NULL values +mapping is not performed. This can be used when a tersoff/mod +potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other -potentials. -

    -

    Tersoff/MOD file in the potentials directory of the LAMMPS -distribution have a ".tersoff.mod" suffix. Lines that are not blank +potentials.

    +

    Tersoff/MOD file in the potentials directory of the LAMMPS +distribution have a ”.tersoff.mod” suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients -in the formula above: -

    -
    • element 1 (the center atom in a 3-body interaction) -
    • element 2 (the atom bonded to the center atom) -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) -
    • beta -
    • alpha -
    • h -
    • eta -
    • beta_ters = 1 (dummy parameter) -
    • lambda2 (1/distance units) -
    • B (energy units) -
    • R (distance units) -
    • D (distance units) -
    • lambda1 (1/distance units) -
    • A (energy units) -
    • n -
    • c1 -
    • c2 -
    • c3 -
    • c4 -
    • c5 -
    -

    The n, eta, lambda2, B, lambda1, and A parameters are only used for +in the formula above:

    +
      +
    • element 1 (the center atom in a 3-body interaction)
    • +
    • element 2 (the atom bonded to the center atom)
    • +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • +
    • beta
    • +
    • alpha
    • +
    • h
    • +
    • eta
    • +
    • beta_ters = 1 (dummy parameter)
    • +
    • lambda2 (1/distance units)
    • +
    • B (energy units)
    • +
    • R (distance units)
    • +
    • D (distance units)
    • +
    • lambda1 (1/distance units)
    • +
    • A (energy units)
    • +
    • n
    • +
    • c1
    • +
    • c2
    • +
    • c3
    • +
    • c4
    • +
    • c5
    • +
    +

    The n, eta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -non-annotated parameters are unitless. -

    -

    The Tersoff/MOD potential file must contain entries for all the elements +non-annotated parameters are unitless.

    +

    The Tersoff/MOD potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS -ignores those entries. -

    -

    For a single-element simulation, only a single entry is required -(e.g. SiSiSi). As annotated above, the first element in the entry is -the center atom in a three-body interaction and it is bonded to the -2nd atom and the bond is influenced by the 3rd atom. Thus an entry -for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +ignores those entries.

    +

    For a single-element simulation, only a single entry is required +(e.g. SiSiSi). As annotated above, the first element in the entry is +the center atom in a three-body interaction and it is bonded to the +2nd atom and the bond is influenced by the 3rd atom. Thus an entry +for SiSiSi means Si bonded to a Si with another Si atom influencing the bond.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    The Tersoff/MOD potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal units. You can +the Making LAMMPS section for more info.

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    The Tersoff/MOD potential files provided with LAMMPS (see the potentials +directory) are parameterized for metal units. You can use the Tersoff/MOD potential with any LAMMPS units, but you would need to create your own Tersoff/MOD potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +appropriate units if your simulation doesn’t use “metal” units.

    +
    + +
    - -

    (Kumagai) T. Kumagai, S. Izumi, S. Hara, S. Sakai, -Comp. Mat. Science, 39, 457 (2007). -

    - +
    +
    +
    + -

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). -

    - +
    -

    (Tersoff_2) J. Tersoff, Phys Rev B, 38, 9902 (1988). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Murty) M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995). -

    - +
    -

    (Schelling) Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008). -

    - +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_tersoff_zbl.html b/doc/pair_tersoff_zbl.html index 3374f89148..5985d6767e 100644 --- a/doc/pair_tersoff_zbl.html +++ b/doc/pair_tersoff_zbl.html @@ -1,46 +1,164 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style tersoff/zbl command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style tersoff/zbl command -

    -

    pair_style tersoff/zbl/kk command -

    -

    pair_style tersoff/zbl/omp command -

    -

    Syntax: -

    -
    pair_style tersoff/zbl 
    -
    -

    Examples: -

    -
    pair_style tersoff/zbl
    -pair_coeff * * SiC.tersoff.zbl Si C Si 
    -
    -

    Description: -

    -

    The tersoff/zbl style computes a 3-body Tersoff potential -(Tersoff_1) with a close-separation pairwise modification + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style tersoff/zbl command¶

    +
    +
    +

    pair_style tersoff/zbl/kk command¶

    +
    +
    +

    pair_style tersoff/zbl/omp command¶

    +
    +

    Syntax¶

    +
    pair_style tersoff/zbl
    +
    +
    +
    +
    +

    Examples¶

    +
    pair_style tersoff/zbl
    +pair_coeff * * SiC.tersoff.zbl Si C Si
    +
    +
    +
    +
    +

    Description¶

    +

    The tersoff/zbl style computes a 3-body Tersoff potential +(Tersoff_1) with a close-separation pairwise modification based on a Coulomb potential and the Ziegler-Biersack-Littmark -universal screening function (ZBL), giving the energy E of a -system of atoms as -

    -
    -
    -

    The f_F term is a fermi-like function used to smoothly connect the ZBL +universal screening function (ZBL), giving the energy E of a +system of atoms as

    +_images/pair_tersoff_zbl.jpg +

    The f_F term is a fermi-like function used to smoothly connect the ZBL repulsive potential with the Tersoff potential. There are 2 -parameters used to adjust it: A_F and r_C. A_F controls how "sharp" +parameters used to adjust it: A_F and r_C. A_F controls how “sharp” the transition is between the two, and r_C is essentially the cutoff -for the ZBL potential. -

    -

    For the ZBL portion, there are two terms. The first is the Coulomb +for the ZBL potential.

    +

    For the ZBL portion, there are two terms. The first is the Coulomb repulsive term, with Z1, Z2 as the number of protons in each nucleus, e as the electron charge (1 for metal and real units) and epsilon0 as the permittivity of vacuum. The second part is the ZBL universal @@ -48,89 +166,82 @@ screening function, with a0 being the Bohr radius (typically 0.529 Angstroms), and the remainder of the coefficients provided by the original paper. This screening function should be applicable to most systems. However, it is only accurate for small separations -(i.e. less than 1 Angstrom). -

    -

    For the Tersoff portion, f_R is a two-body term and f_A includes +(i.e. less than 1 Angstrom).

    +

    For the Tersoff portion, f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all -neighbors J and K of atom I within a cutoff distance = R + D. -

    -

    Only a single pair_coeff command is used with the tersoff/zbl style +neighbors J and K of atom I within a cutoff distance = R + D.

    +

    Only a single pair_coeff command is used with the tersoff/zbl style which specifies a Tersoff/ZBL potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: -

    -
    • filename -
    • N element names = mapping of Tersoff/ZBL elements to atom types -
    -

    See the pair_coeff doc page for alternate ways -to specify the path for the potential file. -

    -

    As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values +where N is the number of LAMMPS atom types:

    +
      +
    • filename
    • +
    • N element names = mapping of Tersoff/ZBL elements to atom types
    • +
    +

    See the pair_coeff doc page for alternate ways +to specify the path for the potential file.

    +

    As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command: -

    -
    pair_coeff * * SiC.tersoff Si Si Si C 
    -
    -

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. +following pair_coeff command:

    +
    pair_coeff * * SiC.tersoff Si Si Si C
    +
    +
    +

    The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff/ZBL file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff/ZBL file. If a mapping value is specified as NULL, the mapping is not performed. This can be -used when a tersoff/zbl potential is used as part of the hybrid +used when a tersoff/zbl potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will -be used with other potentials. -

    -

    Tersoff/ZBL files in the potentials directory of the LAMMPS -distribution have a ".tersoff.zbl" suffix. Lines that are not blank +be used with other potentials.

    +

    Tersoff/ZBL files in the potentials directory of the LAMMPS +distribution have a ”.tersoff.zbl” suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients -in the formula above: -

    -
    • element 1 (the center atom in a 3-body interaction) -
    • element 2 (the atom bonded to the center atom) -
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense) -
    • m -
    • gamma -
    • lambda3 (1/distance units) -
    • c -
    • d -
    • costheta0 (can be a value < -1 or > 1) -
    • n -
    • beta -
    • lambda2 (1/distance units) -
    • B (energy units) -
    • R (distance units) -
    • D (distance units) -
    • lambda1 (1/distance units) -
    • A (energy units) -
    • Z_i -
    • Z_j -
    • ZBLcut (distance units) -
    • ZBLexpscale (1/distance units) -
    -

    The n, beta, lambda2, B, lambda1, and A parameters are only used for +in the formula above:

    +
      +
    • element 1 (the center atom in a 3-body interaction)
    • +
    • element 2 (the atom bonded to the center atom)
    • +
    • element 3 (the atom influencing the 1-2 bond in a bond-order sense)
    • +
    • m
    • +
    • gamma
    • +
    • lambda3 (1/distance units)
    • +
    • c
    • +
    • d
    • +
    • costheta0 (can be a value < -1 or > 1)
    • +
    • n
    • +
    • beta
    • +
    • lambda2 (1/distance units)
    • +
    • B (energy units)
    • +
    • R (distance units)
    • +
    • D (distance units)
    • +
    • lambda1 (1/distance units)
    • +
    • A (energy units)
    • +
    • Z_i
    • +
    • Z_j
    • +
    • ZBLcut (distance units)
    • +
    • ZBLexpscale (1/distance units)
    • +
    +

    The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The Z_i,Z_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive portion of the potential and in the Fermi-like function. The -non-annotated parameters are unitless. The value of m must be 3 or 1. -

    -

    The Tersoff/ZBL potential file must contain entries for all the +non-annotated parameters are unitless. The value of m must be 3 or 1.

    +

    The Tersoff/ZBL potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. -

    -

    For a single-element simulation, only a single entry is required +simulation; LAMMPS ignores those entries.

    +

    For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. -

    -

    As annotated above, the first element in the entry is the center atom +entries would be required, etc.

    +

    As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus @@ -138,141 +249,166 @@ three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry. -

    -

    The parameters used for a particular +SiCC entry.

    +

    The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired. -

    -

    Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 (Tersoff_2) are not symmetric. -

    -

    We chose the above form so as to enable users to define all commonly +be set to 0.0 if desired.

    +

    Note that the twobody parameters in entries such as SiCC and CSiSi +are often the same, due to the common use of symmetric mixing rules, +but this is not always the case. For example, the beta and n parameters in +Tersoff_2 (Tersoff_2) are not symmetric.

    +

    We chose the above form so as to enable users to define all commonly used variants of the Tersoff portion of the potential. In particular, our form reduces to the original Tersoff form when m = 3 and gamma = -1, while it reduces to the form of Albe et al. when beta = 1 +1, while it reduces to the form of Albe et al. when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as -Tersoff_2 potential (Tersoff_2). -

    -

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: +Tersoff_2 potential (Tersoff_2).

    +

    LAMMPS parameter values for Tersoff_2 can be obtained as follows: gamma = omega_ijk, lambda3 = 0 and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules: -

    -
    -
    -

    Tersoff_2 parameters R and S must be converted to the LAMMPS +using the Tersoff_2 mixing rules:

    +_images/pair_tersoff_2.jpg +

    Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following -relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff_2 parameters. -

    -

    In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff's various versions of Si, as well as his +relations: R=(R’+S’)/2 and D=(S’-R’)/2, where the primes indicate the +Tersoff_2 parameters.

    +

    In the potentials directory, the file SiCGe.tersoff provides the +LAMMPS parameters for Tersoff’s various versions of Si, as well as his alloy parameters for Si, C, and Ge. This file can be used for pure Si, (three different versions), pure C, pure Ge, binary SiC, and binary SiGe. LAMMPS will generate an error if this file is used with any combination involving C and Ge, since there are no entries for the GeC interactions (Tersoff did not publish parameters for this cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys. -

    -

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou +(SiC.tersoff) and the GaN (GaN.tersoff) alloys.

    +

    Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been defined in various papers. Also thanks to Ram Devanathan for -providing the base ZBL implementation. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +providing the base ZBL implementation.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, where types I and J correspond to +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files, since it is stored in potential files. Thus, you +described above from values in the potential file.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This pair style is part of the MANYBODY package. It is only enabled +script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package (which it is by default). See -the Making LAMMPS section for more info. -

    -

    This pair style requires the newton setting to be "on" -for pair interactions. -

    -

    The Tersoff/ZBL potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal units. +the Making LAMMPS section for more info.

    +

    This pair style requires the newton setting to be “on” +for pair interactions.

    +

    The Tersoff/ZBL potential files provided with LAMMPS (see the +potentials directory) are parameterized for metal units. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients -listed in the appropriate units if your simulation doesn't use "metal" -units. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +listed in the appropriate units if your simulation doesn’t use “metal” +units.

    +
    + +
    - -

    (Tersoff_1) J. Tersoff, Phys Rev B, 37, 6991 (1988). -

    - +
    +
    +
    + -

    (ZBL) J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges -of Ions in Matter' Vol 1, 1985, Pergamon Press. -

    - +
    -

    (Albe) J. Nord, K. Albe, P. Erhart and K. Nordlund, J. Phys.: -Condens. Matter, 15, 5649(2003). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Tersoff_2) J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) -

    - +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_thole.html b/doc/pair_thole.html index 2fa01d9e86..b37b585729 100644 --- a/doc/pair_thole.html +++ b/doc/pair_thole.html @@ -1,133 +1,285 @@ - - - - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style thole command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style thole command -

    -

    Syntax: -

    -
    pair_style thole damp cutoff 
    -
    -
    • thole = style name -
    • damp = global damping parameter -
    • cutoff = global cutoff -
    -

    Examples: -

    -
    pair_style hybrid/overlay ... thole 2.6 12.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style thole command¶

    +
    +

    Syntax¶

    +
    pair_style thole damp cutoff
    +
    +
    +
      +
    • thole = style name
    • +
    • damp = global damping parameter
    • +
    • cutoff = global cutoff
    • +
    +
    +
    +

    Examples¶

    +
    pair_style hybrid/overlay ... thole 2.6 12.0
     pair_coeff 1 1 thole 1.0
     pair_coeff 1 2 thole 1.0 2.6 10.0
    -pair_coeff * 2 thole 1.0 2.6 
    -
    -

    Description: -

    -

    The thole pair style is meant to be used with force fields that +pair_coeff * 2 thole 1.0 2.6 +

    + + +
    +

    Description¶

    +

    The thole pair style is meant to be used with force fields that include explicit polarization through Drude dipoles. This link -describes how to use the thermalized Drude oscillator -model in LAMMPS and polarizable models in LAMMPS -are discussed in this Section. -

    -

    The thole pair style should be used as a sub-style within in the -pair_hybrid/overlay command, in conjunction with a +describes how to use the thermalized Drude oscillator model in LAMMPS and polarizable models in LAMMPS +are discussed in this Section.

    +

    The thole pair style should be used as a sub-style within in the +pair_hybrid/overlay command, in conjunction with a main pair style including Coulomb interactions, i.e. any pair style -containing coul/cut or coul/long in its style name. -

    -

    The thole pair style computes the Coulomb interaction damped at -short distances by a function -

    -

    \begin{equation} T_{ij}(r_{ij}) = 1 - \left( 1 + -\frac{s_{ij} r_{ij} }{2} \right) -\exp \left( - s_{ij} r_{ij} \right) \end{equation} -

    -

    This function results from an adaptation to point charges -(Noskov) of the dipole screening scheme originally proposed -by Thole. The scaling coefficient \(s_{ij} \) is determined -by the polarizability of the atoms, \( \alpha_i \), and by a Thole -damping parameter \( a \). This Thole damping parameter usually takes +containing coul/cut or coul/long in its style name.

    +

    The thole pair style computes the Coulomb interaction damped at +short distances by a function

    +

    begin{equation} T_{ij}(r_{ij}) = 1 - left( 1 + +frac{s_{ij} r_{ij} }{2} right) +exp left( - s_{ij} r_{ij} right) end{equation}

    +

    This function results from an adaptation to point charges +(Noskov) of the dipole screening scheme originally proposed +by Thole. The scaling coefficient (s_{ij} ) is determined +by the polarizability of the atoms, ( alpha_i ), and by a Thole +damping parameter ( a ). This Thole damping parameter usually takes a value of 2.6, but in certain force fields the value can depend upon the atom types. The mixing rule for Thole damping parameters is the arithmetic average, and for polarizabilities the geometric average -between the atom-specific values. -

    -

    \begin{equation} s_{ij} = \frac{ a_{ij} }{ -(\alpha_{ij})^{1/3} } = \frac{ (a_i + a_j)/2 }{ -[(\alpha_i\alpha_j)^{1/2}]^{1/3} } \end{equation} -

    -

    The damping function is only applied to the interactions between the +between the atom-specific values.

    +

    begin{equation} s_{ij} = frac{ a_{ij} }{ +(alpha_{ij})^{1/3} } = frac{ (a_i + a_j)/2 }{ +[(alpha_ialpha_j)^{1/2}]^{1/3} } end{equation}

    +

    The damping function is only applied to the interactions between the point charges representing the induced dipoles on polarizable sites, -that is, charges on Drude particles, \( q_{D,i} \), and opposite -charges, \( -q_{D,i} \), located on the respective core particles +that is, charges on Drude particles, ( q_{D,i} ), and opposite +charges, ( -q_{D,i} ), located on the respective core particles (to which each Drude particle is bonded). Therefore, Thole screening -is not applied to the full charge of the core particle \( q_i \), but -only to the \( -q_{D,i} \) part of it. -

    -

    The interactions between core charges are subject to the weighting -factors set by the special_bonds command. The +is not applied to the full charge of the core particle ( q_i ), but +only to the ( -q_{D,i} ) part of it.

    +

    The interactions between core charges are subject to the weighting +factors set by the special_bonds command. The interactions between Drude particles and core charges or non-polarizable atoms are also subject to these weighting factors. The Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from -their respective cores. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the example -above. -

    -
    • alpha (distance units^3) -
    • damp -
    • cutoff (distance units) -
    -

    The last two coefficients are optional. If not specified the global +their respective cores.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the example +above.

    +
      +
    • alpha (distance units^3)
    • +
    • damp
    • +
    • cutoff (distance units)
    • +
    +

    The last two coefficients are optional. If not specified the global Thole damping parameter or global cutoff specified in the pair_style command are used. In order to specify a cutoff (third argument) a damp -parameter (second argument) must also be specified. -

    -

    Mixing: -

    -

    The thole pair style does not support mixing. Thus, coefficients -for all I,J pairs must be specified explicitly. -

    -

    Restrictions: -

    -

    These pair styles are part of the USER-DRUDE package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This pair_style should currently not be used with the charmm dihedral -style if the latter non-zero 1-4 weighting -factors. This is because the thole pair style does not know which -pairs are 1-4 partners of which dihedrals. -

    -

    Related commands: -

    -

    fix drude, fix -langevin/drude, fix -drude/transform, compute -temp/drude -

    -

    Default: none -

    -
    +parameter (second argument) must also be specified.

    +

    Mixing:

    +

    The thole pair style does not support mixing. Thus, coefficients +for all I,J pairs must be specified explicitly.

    +
    +
    +

    Restrictions¶

    +

    These pair styles are part of the USER-DRUDE package. They are only +enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This pair_style should currently not be used with the charmm dihedral style if the latter non-zero 1-4 weighting +factors. This is because the thole pair style does not know which +pairs are 1-4 partners of which dihedrals.

    +
    + + - -

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). -

    - + + +
    + -

    (Thole) Chem Phys, 59, 341 (1981). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_tri_lj.html b/doc/pair_tri_lj.html index 98a230c736..5c2f8f7ef5 100644 --- a/doc/pair_tri_lj.html +++ b/doc/pair_tri_lj.html @@ -1,53 +1,170 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style tri/lj command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style tri/lj command -

    -

    pair_style tri/lj/omp command -

    -

    Syntax: -

    -
    pair_style tri/lj cutoff 
    -
    -

    cutoff = global cutoff for interactions (distance units) -

    -

    Examples: -

    -
    pair_style tri/lj 3.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style tri/lj command¶

    +
    +
    +

    pair_style tri/lj/omp command¶

    +
    +

    Syntax¶

    +
    pair_style tri/lj cutoff
    +
    +
    +

    cutoff = global cutoff for interactions (distance units)

    +
    +
    +

    Examples¶

    +
    pair_style tri/lj 3.0
     pair_coeff * * 1.0 1.0
    -pair_coeff 1 1 1.0 1.5 2.5 
    -
    -

    Description: -

    -

    Style tri/lj treats particles which are triangles as a set of small +pair_coeff 1 1 1.0 1.5 2.5 +

    + + +
    +

    Description¶

    +

    Style tri/lj treats particles which are triangles as a set of small spherical particles that tile the triangle surface as explained below. Interactions between two triangles, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones interactions. Interactions between a triangle with N spherical particles and a point particle are treated as the pairwise sum of N -Lennard-Jones interactions. See the pair_style lj/cut -doc page for the definition of Lennard-Jones interactions. -

    -

    The cutoff distance for an interaction between 2 triangles, or between +Lennard-Jones interactions. See the pair_style lj/cut +doc page for the definition of Lennard-Jones interactions.

    +

    The cutoff distance for an interaction between 2 triangles, or between a triangle and a point particle, is calculated from the position of the triangle (its centroid), not between pairs of individual spheres comprising the triangle. Thus an interaction is either calculated in -its entirety or not at all. -

    -

    The set of non-overlapping spherical particles that represent a +its entirety or not at all.

    +

    The set of non-overlapping spherical particles that represent a triangle, for purposes of this pair style, are generated in the following manner. Assume the triangle is of type I, and sigma_II has been specified. We want a set of spheres with centers in the plane of the triangle, none of them larger in diameter than sigma_II, which -completely cover the triangle's area, but with minimial overlap and a +completely cover the triangle’s area, but with minimial overlap and a minimal total number of spheres. This is done in a recursive manner. Place a sphere at the centroid of the original triangle. Calculate what diameter it must have to just cover all 3 corner points of the @@ -59,87 +176,130 @@ process on each sub-triangle, recursing as far as needed to generate a set of covering spheres. When finished, the original criteria are met, and the set of covering spheres shoule be near minimal in number and overlap, at least for input triangles with a reasonable -aspect-ratio. -

    -

    The LJ interaction between 2 spheres on different triangles of types +aspect-ratio.

    +

    The LJ interaction between 2 spheres on different triangles of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for triangles spheres is computed -using only sigma_II values, specific to the triangles's type, this +using only sigma_II values, specific to the triangles’s type, this means that any specified sigma_IJ values (for I != J) are effectively -ignored. -

    -

    For style tri/lj, the following coefficients must be defined for -each pair of atoms types via the pair_coeff command +ignored.

    +

    For style tri/lj, the following coefficients must be defined for +each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by -the read_data or read_restart -commands: -

    -
    • epsilon (energy units) -
    • sigma (distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global cutoff -is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +the read_data or read_restart +commands:

    +
      +
    • epsilon (energy units)
    • +
    • sigma (distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global cutoff +is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is geometric. See the "pair_modify" command for -details. -

    -

    This pair style does not support the pair_modify -shift, table, and tail options. -

    -

    This pair style does not write its information to binary restart -files. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +default mix value is geometric. See the “pair_modify” command for +details.

    +

    This pair style does not support the pair_modify +shift, table, and tail options.

    +

    This pair style does not write its information to binary restart files.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the ASPHERE package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Defining particles to be triangles so they participate in tri/tri or +tri/particle interactions requires the use the atom_style tri command.

    +
    + + -

    Restrictions: -

    -

    This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Defining particles to be triangles so they participate in tri/tri or -tri/particle interactions requires the use the atom_style -tri command. -

    -

    Related commands: -

    -

    pair_coeff, pair_style line/lj -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_write.html b/doc/pair_write.html index f392444416..82a5be1091 100644 --- a/doc/pair_write.html +++ b/doc/pair_write.html @@ -1,83 +1,259 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_write command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_write command -

    -

    Syntax: -

    -
    pair_write itype jtype N style inner outer file keyword Qi Qj 
    -
    -
    • itype,jtype = 2 atom types -
    • N = # of values -
    • style = r or rsq or bitmap -
    • inner,outer = inner and outer cutoff (distance units) -
    • file = name of file to write values to -
    • keyword = section name in file for this set of tabulated values -
    • Qi,Qj = 2 atom charges (charge units) (optional) -
    -

    Examples: -

    -
    pair_write 1 3 500 r 1.0 10.0 table.txt LJ
    -pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 
    -
    -

    Description: -

    -

    Write energy and force values to a file as a function of distance for + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_write command¶

    +
    +

    Syntax¶

    +
    pair_write itype jtype N style inner outer file keyword Qi Qj
    +
    +
    +
      +
    • itype,jtype = 2 atom types
    • +
    • N = # of values
    • +
    • style = r or rsq or bitmap
    • +
    • inner,outer = inner and outer cutoff (distance units)
    • +
    • file = name of file to write values to
    • +
    • keyword = section name in file for this set of tabulated values
    • +
    • Qi,Qj = 2 atom charges (charge units) (optional)
    • +
    +
    +
    +

    Examples¶

    +
    pair_write 1 3 500 r 1.0 10.0 table.txt LJ
    +pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5
    +
    +
    +
    +
    +

    Description¶

    +

    Write energy and force values to a file as a function of distance for the currently defined pair potential. This is useful for plotting the potential function or otherwise debugging its values. If the file already exists, the table of values is appended to the end of the file to allow multiple tables of energy and force to be included in one -file. -

    -

    The energy and force values are computed at distances from inner to +file.

    +

    The energy and force values are computed at distances from inner to outer for 2 interacting atoms of type itype and jtype, using the -appropriate pair_coeff coefficients. If the style -is r, then N distances are used, evenly spaced in r; if the style is -rsq, N distances are used, evenly spaced in r^2. -

    -

    For example, for N = 7, style = r, inner = 1.0, and outer = 4.0, -values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. -

    -

    If the style is bitmap, then 2^N values are written to the file in a +appropriate pair_coeff coefficients. If the style +is r, then N distances are used, evenly spaced in r; if the style is +rsq, N distances are used, evenly spaced in r^2.

    +

    For example, for N = 7, style = r, inner = 1.0, and outer = 4.0, +values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0.

    +

    If the style is bitmap, then 2^N values are written to the file in a format and order consistent with how they are read in by the -pair_coeff command for pair style table. For -reasonable accuracy in a bitmapped table, choose N >= 12, an inner +pair_coeff command for pair style table. For +reasonable accuracy in a bitmapped table, choose N >= 12, an inner value that is smaller than the distance of closest approach of 2 -atoms, and an outer value <= cutoff of the potential. -

    -

    If the pair potential is computed between charged atoms, the charges +atoms, and an outer value <= cutoff of the potential.

    +

    If the pair potential is computed between charged atoms, the charges of the pair of interacting atoms can optionally be specified. If not -specified, values of Qi = Qj = 1.0 are used. -

    -

    The file is written in the format used as input for the -pair_style table option with keyword as the +specified, values of Qi = Qj = 1.0 are used.

    +

    The file is written in the format used as input for the +pair_style table option with keyword as the section name. Each line written to the file lists an index number (1-N), a distance (in distance units), an energy (in energy units), -and a force (in force units). -

    -

    Restrictions: -

    -

    All force field coefficients for pair and other kinds of interactions -must be set before this command can be invoked. -

    -

    Due to how the pairwise force is computed, an inner value > 0.0 must -be specified even if the potential has a finite value at r = 0.0. -

    -

    For EAM potentials, the pair_write command only tabulates the -pairwise portion of the potential, not the embedding portion. -

    -

    Related commands: -

    -

    pair_style, pair_coeff -

    -

    Default: none -

    - +and a force (in force units).

    +
    +
    +

    Restrictions¶

    +

    All force field coefficients for pair and other kinds of interactions +must be set before this command can be invoked.

    +

    Due to how the pairwise force is computed, an inner value > 0.0 must +be specified even if the potential has a finite value at r = 0.0.

    +

    For EAM potentials, the pair_write command only tabulates the +pairwise portion of the potential, not the embedding portion.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_yukawa.html b/doc/pair_yukawa.html index d4c78f82de..2bd3e1d449 100644 --- a/doc/pair_yukawa.html +++ b/doc/pair_yukawa.html @@ -1,111 +1,279 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style yukawa command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style yukawa command -

    -

    pair_style yukawa/gpu command -

    -

    pair_style yukawa/omp command -

    -

    Syntax: -

    -
    pair_style yukawa kappa cutoff 
    -
    -
    • kappa = screening length (inverse distance units) -
    • cutoff = global cutoff for Yukawa interactions (distance units) -
    -

    Examples: -

    -
    pair_style yukawa 2.0 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style yukawa command¶

    +
    +
    +

    pair_style yukawa/gpu command¶

    +
    +
    +

    pair_style yukawa/omp command¶

    +
    +

    Syntax¶

    +
    pair_style yukawa kappa cutoff
    +
    +
    +
      +
    • kappa = screening length (inverse distance units)
    • +
    • cutoff = global cutoff for Yukawa interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style yukawa 2.0 2.5
     pair_coeff 1 1 100.0 2.3
    -pair_coeff * * 100.0 
    -
    -

    Description: -

    -

    Style yukawa computes pairwise interactions with the formula -

    -
    -
    -

    Rc is the cutoff. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +pair_coeff * * 100.0 +

    + + +
    +

    Description¶

    +

    Style yukawa computes pairwise interactions with the formula

    +_images/pair_yukawa.jpg +

    Rc is the cutoff.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • A (energy*distance units) -
    • cutoff (distance units) -
    -

    The last coefficient is optional. If not specified, the global yukawa -cutoff is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • A (energy*distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The last coefficient is optional. If not specified, the global yukawa +cutoff is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is geometric. See the -"pair_modify" command for details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +like a LJ epsilon. The default mix value is geometric. See the +“pair_modify” command for details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_yukawa_colloid.html b/doc/pair_yukawa_colloid.html index 595e761358..7ab33739f0 100644 --- a/doc/pair_yukawa_colloid.html +++ b/doc/pair_yukawa_colloid.html @@ -1,163 +1,318 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style yukawa/colloid command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style yukawa/colloid command -

    -

    pair_style yukawa/colloid/gpu command -

    -

    pair_style yukawa/colloid/omp command -

    -

    Syntax: -

    -
    pair_style yukawa/colloid kappa cutoff 
    -
    -
    • kappa = screening length (inverse distance units) -
    • cutoff = global cutoff for colloidal Yukawa interactions (distance units) -
    -

    Examples: -

    -
    pair_style yukawa/colloid 2.0 2.5
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style yukawa/colloid command¶

    +
    +
    +

    pair_style yukawa/colloid/gpu command¶

    +
    +
    +

    pair_style yukawa/colloid/omp command¶

    +
    +

    Syntax¶

    +
    pair_style yukawa/colloid kappa cutoff
    +
    +
    +
      +
    • kappa = screening length (inverse distance units)
    • +
    • cutoff = global cutoff for colloidal Yukawa interactions (distance units)
    • +
    +
    +
    +

    Examples¶

    +
    pair_style yukawa/colloid 2.0 2.5
     pair_coeff 1 1 100.0 2.3
    -pair_coeff * * 100.0 
    -
    -

    Description: -

    -

    Style yukawa/colloid computes pairwise interactions with the formula -

    -
    -
    -

    where Ri and Rj are the radii of the two particles and Rc is the -cutoff. -

    -

    In contrast to pair_style yukawa, this functional +pair_coeff * * 100.0 +

    + + +
    +

    Description¶

    +

    Style yukawa/colloid computes pairwise interactions with the formula

    +_images/pair_yukawa_colloid.jpg +

    where Ri and Rj are the radii of the two particles and Rc is the +cutoff.

    +

    In contrast to pair_style yukawa, this functional form arises from the Coulombic interaction between two colloid particles, screened due to the presence of an electrolyte, see the -book by Safran for a derivation in the context of DVLO -theory. Pair_style yukawa is a screened Coulombic -potential between two point-charges and uses no such approximation. -

    -

    This potential applies to nearby particle pairs for which the Derjagin -approximation holds, meaning h << Ri + Rj, where h is the -surface-to-surface separation of the two particles. -

    -

    When used in combination with pair_style colloid, +book by Safran for a derivation in the context of DVLO +theory. Pair_style yukawa is a screened Coulombic +potential between two point-charges and uses no such approximation.

    +

    This potential applies to nearby particle pairs for which the Derjagin +approximation holds, meaning h << Ri + Rj, where h is the +surface-to-surface separation of the two particles.

    +

    When used in combination with pair_style colloid, the two terms become the so-called DLVO potential, which combines -electrostatic repulsion and van der Waals attraction. -

    -

    The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples +electrostatic repulsion and van der Waals attraction.

    +

    The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples above, or in the data file or restart files read by the -read_data or read_restart -commands, or by mixing as described below: -

    -
    • A (energy/distance units) -
    • cutoff (distance units) -
    -

    The prefactor A is determined from the relationship between surface +read_data or read_restart +commands, or by mixing as described below:

    +
      +
    • A (energy/distance units)
    • +
    • cutoff (distance units)
    • +
    +

    The prefactor A is determined from the relationship between surface charge and surface potential due to the presence of electrolyte. Note that the A for this potential style has different units than the A -used in pair_style yukawa. For low surface -potentials, i.e. less than about 25 mV, A can be written as: -

    -
    A = 2 * PI * R*eps*eps0 * kappa * psi^2 
    -
    -

    where -

    -
    • R = colloid radius (distance units) -
    • eps0 = permittivity of free space (charge^2/energy/distance units) -
    • eps = relative permittivity of fluid medium (dimensionless) -
    • kappa = inverse screening length (1/distance units) -
    • psi = surface potential (energy/charge units) -
    -

    The last coefficient is optional. If not specified, the global -yukawa/colloid cutoff is used. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +used in pair_style yukawa. For low surface +potentials, i.e. less than about 25 mV, A can be written as:

    +
    A = 2 * PI * R*eps*eps0 * kappa * psi^2
    +
    +
    +

    where

    +
      +
    • R = colloid radius (distance units)
    • +
    • eps0 = permittivity of free space (charge^2/energy/distance units)
    • +
    • eps = relative permittivity of fluid medium (dimensionless)
    • +
    • kappa = inverse screening length (1/distance units)
    • +
    • psi = surface potential (energy/charge units)
    • +
    +

    The last coefficient is optional. If not specified, the global +yukawa/colloid cutoff is used.

    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    For atom type pairs I,J and I != J, the A coefficient and cutoff +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is geometric. See the -"pair_modify" command for details. -

    -

    This pair style supports the pair_modify shift -option for the energy of the pair interaction. -

    -

    The pair_modify table option is not relevant -for this pair style. -

    -

    This pair style does not support the pair_modify +like a LJ epsilon. The default mix value is geometric. See the +“pair_modify” command for details.

    +

    This pair style supports the pair_modify shift +option for the energy of the pair interaction.

    +

    The pair_modify table option is not relevant +for this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and -pressure. -

    -

    This pair style writes its information to binary restart -files, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    - -

    Restrictions: -

    -

    This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    This pair style requires that atoms be finite-size spheres with a -diameter, as defined by the atom_style sphere -command. -

    -

    Per-particle polydispersity is not yet supported by this pair style; +pressure.

    +

    This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +

    This style is part of the COLLOID package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    This pair style requires that atoms be finite-size spheres with a +diameter, as defined by the atom_style sphere +command.

    +

    Per-particle polydispersity is not yet supported by this pair style; per-type polydispersity is allowed. This means all particles of the same type must have the same diameter. Each type can have a different -diameter. -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    +diameter.

    +
    + + - -

    (Safran) Safran, Statistical Thermodynamics of Surfaces, Interfaces, -And Membranes, Westview Press, ISBN: 978-0813340791 (2003). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/pair_zbl.html b/doc/pair_zbl.html index ad0b945578..f5f16ee25f 100644 --- a/doc/pair_zbl.html +++ b/doc/pair_zbl.html @@ -1,134 +1,299 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + pair_style zbl command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    pair_style zbl command -

    -

    pair_style zbl/omp command -

    -

    Syntax: -

    -
    pair_style zbl inner outer 
    -
    -
    • inner = distance where switching function begins -
    • outer = global cutoff for ZBL interaction -
    -

    Examples: -

    -
    pair_style zbl 3.0 4.0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    pair_style zbl command¶

    +
    +
    +

    pair_style zbl/omp command¶

    +
    +

    Syntax¶

    +
    pair_style zbl inner outer
    +
    +
    +
      +
    • inner = distance where switching function begins
    • +
    • outer = global cutoff for ZBL interaction
    • +
    +
    +
    +

    Examples¶

    +
    pair_style zbl 3.0 4.0
     pair_coeff * * 73.0
    -pair_coeff 1 1 14.0 
    -
    -

    Description: -

    -

    Style zbl computes the Ziegler-Biersack-Littmark (ZBL) screened nuclear +pair_coeff 1 1 14.0 +

    + + +
    +

    Description¶

    +

    Style zbl computes the Ziegler-Biersack-Littmark (ZBL) screened nuclear repulsion for describing high-energy collisions between atoms. -(Ziegler). It includes an additional switching function -that ramps the energy, force, and curvature smoothly to zero +(Ziegler). It includes an additional switching function +that ramps the energy, force, and curvature smoothly to zero between an inner and outer cutoff. The potential -energy due to a pair of atoms at a distance r_ij is given by: -

    -
    -
    -

    where e is the electron charge, epsilon_0 is the electrical +energy due to a pair of atoms at a distance r_ij is given by:

    +_images/pair_zbl.jpg +

    where e is the electron charge, epsilon_0 is the electrical permittivity of vacuum, and Z_i and Z_j are the nuclear charges of the two atoms. The switching function S(r) is identical to that used by -pair_style lj/gromacs. Here, the inner and outer -cutoff are the same for all pairs of atom types. -

    -

    The following coefficient must be defined for each pair of atom types -via the pair_coeff command as in the examples above, +pair_style lj/gromacs. Here, the inner and outer +cutoff are the same for all pairs of atom types.

    +

    The following coefficient must be defined for each pair of atom types +via the pair_coeff command as in the examples above, or in the LAMMPS data file. Z can not be specified for two different atoms types. Therefore the lists of atom types I and atom types J -must match. -

    -
    • Z (multiples of proton charge, e.g. 13.0 for aluminum) -
    -

    Although Z must be defined for all atom type pairs I,J, it is only +must match.

    +
      +
    • Z (multiples of proton charge, e.g. 13.0 for aluminum)
    • +
    +

    Although Z must be defined for all atom type pairs I,J, it is only stored for individual atom types, i.e. when I = J. Z is normally equal -to the atomic number of the atom type. -

    -

    IMPORTANT NOTE: The numerical values of the exponential decay +to the atomic number of the atom type.

    +
    +

    Warning

    +

    The numerical values of the exponential decay constants in the screening function depend on the unit of distance. In the above equation they are given for units of angstroms. LAMMPS will automatically convert these values to the distance unit of the -specified LAMMPS units setting. The values of Z should -always be given as multiples of a proton's charge, e.g. 29.0 for -copper. -

    -
    - -

    Styles with a cuda, gpu, intel, kk, omp, or opt suffix are +specified LAMMPS units setting. The values of Z should +always be given as multiples of a proton’s charge, e.g. 29.0 for +copper.

    +
    +
    +

    Styles with a cuda, 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 in Section_accelerate +hardware, as discussed in Section_accelerate of the manual. 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 USER-CUDA, GPU, USER-INTEL, +issues.

    +

    These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only -enabled if LAMMPS was built with those packages. See the Making -LAMMPS section 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 when you invoke LAMMPS, or you can -use the suffix command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Mixing, shift, table, tail correction, restart, rRESPA info: -

    -

    Mixing is not relevant for this pair style, since as explained above, +enabled if LAMMPS was built with those packages. See the Making LAMMPS section 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 when you invoke LAMMPS, or you can +use the suffix command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    +
    +

    Mixing, shift, table, tail correction, restart, rRESPA info:

    +

    Mixing is not relevant for this pair style, since as explained above, Z values are stored on a per-type basis, and both Zi and Zj are used -explicitly in the ZBL formula. -

    -

    The ZBL pair style does not support the pair_modify +explicitly in the ZBL formula.

    +

    The ZBL pair style does not support the pair_modify shift option, since the ZBL interaction is already smoothed to 0.0 at -the cutoff. -

    -

    The pair_modify table option is not relevant for -this pair style. -

    -

    This pair style does not support the pair_modify +the cutoff.

    +

    The pair_modify table option is not relevant for +this pair style.

    +

    This pair style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to -0.0 at the cutoff. -

    -

    This pair style does not write information to binary restart -files, so pair_style and pair_coeff commands must be -specified in an input script that reads a restart file. -

    -

    This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

    -
    +0.0 at the cutoff.

    +

    This pair style does not write information to binary restart files, so pair_style and pair_coeff commands must be +specified in an input script that reads a restart file.

    +

    This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + -

    Restrictions: none -

    -

    Related commands: -

    -

    pair_coeff -

    -

    Default: none -

    -
    - + + +
    + -

    (Ziegler) J.F. Ziegler, J. P. Biersack and U. Littmark, "The -Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985. -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/partition.html b/doc/partition.html index 4832823338..fb1b932757 100644 --- a/doc/partition.html +++ b/doc/partition.html @@ -1,78 +1,257 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + partition command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    partition command -

    -

    Syntax: -

    -
    partition style N command ... 
    -
    -
    • style = yes or no -
    • N = partition number (see asterisk form below) -
    • command = any LAMMPS command -
    -

    Examples: -

    -
    partition yes 1 processors 4 10 6
    -partition no 5 print "Active partition"
    -partition yes *5 fix all nve
    -partition yes 6* fix all nvt temp 1.0 1.0 0.1 
    -
    -

    Description: -

    -

    This command invokes the specified command on a subset of the + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    partition command¶

    +
    +

    Syntax¶

    +
    partition style N command ...
    +
    +
    +
      +
    • style = yes or no
    • +
    • N = partition number (see asterisk form below)
    • +
    • command = any LAMMPS command
    • +
    +
    +
    +

    Examples¶

    +
    +partition yes 1 processors 4 10 6
    +partition no 5 print "Active partition"
    +partition yes 5 fix all nve
    +partition yes 6 fix all nvt temp 1.0 1.0 0.1
    +
    +
    +
    +

    Description¶

    +

    This command invokes the specified command on a subset of the partitions of processors you have defined via the -partition -command-line switch. See Section_start 6 -for an explanation of the switch. -

    -

    Normally, every input script command in your script is invoked by +command-line switch. See Section_start 6 +for an explanation of the switch.

    +

    Normally, every input script command in your script is invoked by every partition. This behavior can be modified by defining world- or -universe-style variables that have different values +universe-style variables that have different values for each partition. This mechanism can be used to cause your script to jump to different input script files on different partitions, if -such a variable is used in a jump command. -

    -

    The "partition" command is another mechanism for having as input +such a variable is used in a jump command.

    +

    The “partition” command is another mechanism for having as input script operate differently on different partitions. It is basically a prefix on any LAMMPS command. The commmand will only be invoked on -the partition(s) specified by the style and N arguments. -

    -

    If the style is yes, the command will be invoked on any partition -which matches the N argument. If the style is no the command +the partition(s) specified by the style and N arguments.

    +

    If the style is yes, the command will be invoked on any partition +which matches the N argument. If the style is no the command will be invoked on all the partitions which do not match the Np -argument. -

    -

    Partitions are numbered from 1 to Np, where Np is the number of -partitions specified by the -partition command-line -switch. -

    -

    N can be specified in one of two ways. An explicit numeric value +argument.

    +

    Partitions are numbered from 1 to Np, where Np is the number of +partitions specified by the -partition command-line switch.

    +

    N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can -be used to span a range of partition numbers. This takes the form "*" -or "*n" or "n*" or "m*n". An asterisk with no numeric values means +be used to span a range of partition numbers. This takes the form “*” +or “n” or “n” or “m*n”. An asterisk with no numeric values means all partitions from 1 to Np. A leading asterisk means all partitions from 1 to n (inclusive). A trailing asterisk means all partitions from n to Np (inclusive). A middle asterisk means all partitions from -m to n (inclusive). -

    -

    This command can be useful for the "run_style verlet/split" command -which imposed requirements on how the processors -command lays out a 3d grid of processors in each of 2 partitions. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    run_style verlet/split -

    -

    Default: none -

    - +m to n (inclusive).

    +

    This command can be useful for the “run_style verlet/split” command +which imposed requirements on how the processors +command lays out a 3d grid of processors in each of 2 partitions.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/prd.html b/doc/prd.html index dbd74f8d37..65833d8c0c 100644 --- a/doc/prd.html +++ b/doc/prd.html @@ -1,100 +1,206 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + prd command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    prd command -

    -

    Syntax: -

    -
    prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... 
    -
    -
    • N = # of timesteps to run (not including dephasing/quenching) - -
    • t_event = timestep interval between event checks - -
    • n_dephase = number of velocity randomizations to perform in each dephase run - -
    • t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase - -
    • t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated - -
    • compute-ID = ID of the compute used for event detection - -
    • random_seed = random # seed (positive integer) - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = min or temp or vel - -
        min values = etol ftol maxiter maxeval
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      prd command¶

      +
      +

      Syntax¶

      +
      prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ...
      +
      +
      +
        +
      • N = # of timesteps to run (not including dephasing/quenching)
      • +
      • t_event = timestep interval between event checks
      • +
      • n_dephase = number of velocity randomizations to perform in each dephase run
      • +
      • t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase
      • +
      • t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated
      • +
      • compute-ID = ID of the compute used for event detection
      • +
      • random_seed = random # seed (positive integer)
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = min or temp or vel
      • +
      +
      +min values = etol ftol maxiter maxeval
           etol = stopping tolerance for energy, used in quenching
           ftol = stopping tolerance for force, used in quenching
           maxiter = max iterations of minimize, used in quenching
           maxeval = max number of force/energy evaluations, used in quenching
      -  temp value = Tdephase
      +  temp value = Tdephase
           Tdephase = target temperature for velocity randomization, used in dephasing
      -  vel values = loop dist
      -    loop = all or local or geom, used in dephasing
      -    dist = uniform or gaussian, used in dephasing
      -  time value = step or clock
      -    step = simulation runs for N timesteps on each replica (default)
      -    clock = simulation runs for N timesteps across all replicas 
      -
      - -
    -

    Examples: -

    -
    prd 5000 100 10 10 100 1 54982
    -prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 
    -
    -

    Description: -

    -

    Run a parallel replica dynamics (PRD) simulation using multiple + vel values = loop dist + loop = all or local or geom, used in dephasing + dist = uniform or gaussian, used in dephasing + time value = step or clock + step = simulation runs for N timesteps on each replica (default) + clock = simulation runs for N timesteps across all replicas + +

    +
    +

    Examples¶

    +
    prd 5000 100 10 10 100 1 54982
    +prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200
    +
    +
    +
    +
    +

    Description¶

    +

    Run a parallel replica dynamics (PRD) simulation using multiple replicas of a system. One or more replicas can be used. The total -number of steps N to run can be interpreted in one of two ways; see -discussion of the time keyword below. -

    -

    PRD is described in this paper by Art Voter. It is a method +number of steps N to run can be interpreted in one of two ways; see +discussion of the time keyword below.

    +

    PRD is described in this paper by Art Voter. It is a method for performing accelerated dynamics that is suitable for infrequent-event systems that obey first-order kinetics. A good overview of accelerated dynamics methods for such systems in given in -this review paper from the same group. To quote from the -paper: "The dynamical evolution is characterized by vibrational +this review paper from the same group. To quote from the +paper: “The dynamical evolution is characterized by vibrational excursions within a potential basin, punctuated by occasional -transitions between basins." The transition probability is +transitions between basins.” The transition probability is characterized by p(t) = k*exp(-kt) where k is the rate constant. Running multiple replicas gives an effective enhancement in the timescale spanned by the multiple simulations, while waiting for an -event to occur. -

    -

    Each replica runs on a partition of one or more processors. Processor +event to occur.

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 6 of the +switch; see Section_start 6 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. For PRD, this makes little sense, since this offers no effective parallel speed-up in searching for infrequent events. See -Section_howto 5 of the manual for further -discussion. -

    -

    When a PRD simulation is performed, it is assumed that each replica is +Section_howto 5 of the manual for further +discussion.

    +

    When a PRD simulation is performed, it is assumed that each replica is running the same model, though LAMMPS does not check for this. I.e. the simulation domain, the number of atoms, the interaction -potentials, etc should be the same for every replica. -

    -

    A PRD run has several stages, which are repeated each time an "event" +potentials, etc should be the same for every replica.

    +

    A PRD run has several stages, which are repeated each time an “event” occurs in one of the replicas, as defined below. The logic for a PRD -run is as follows: -

    -
    while (time remains):
    +run is as follows:

    +
    while (time remains):
       dephase for n_dephase*t_dephase steps
       until (event occurs on some replica):
         run dynamics for t_event steps
    @@ -104,236 +210,256 @@ run is as follows:
         run dynamics for t_correlate steps
         quench
         check for correlated event on this replica
    -  event replica shares state with all replicas 
    -
    -

    Before this loop begins, the state of the system on replica 0 is + event replica shares state with all replicas +

    + +

    Before this loop begins, the state of the system on replica 0 is shared with all replicas, so that all replicas begin from the same initial state. The first potential energy basin is identified by quenching (an energy minimization, see below) the initial state and -storing the resulting coordinates for reference. -

    -

    In the first stage, dephasing is performed by each replica +storing the resulting coordinates for reference.

    +

    In the first stage, dephasing is performed by each replica independently to eliminate correlations between replicas. This is done by choosing a random set of velocities, based on the -random_seed that is specified, and running t_dephase timesteps of -dynamics. This is repeated n_dephase times. At each of the -n_dephase stages, if an event occurs during the t_dephase steps of +random_seed that is specified, and running t_dephase timesteps of +dynamics. This is repeated n_dephase times. At each of the +n_dephase stages, if an event occurs during the t_dephase steps of dynamics for a particular replica, the replica repeats the stage until -no event occurs. -

    -

    If the temp keyword is not specified, the target temperature for +no event occurs.

    +

    If the temp keyword is not specified, the target temperature for velocity randomization for each replica is the current temperature of -that replica. Otherwise, it is the specified Tdephase temperature. +that replica. Otherwise, it is the specified Tdephase temperature. The style of velocity randomization is controlled using the keyword -vel with arguments that have the same meaning as their counterparts -in the velocity command. -

    -

    In the second stage, each replica runs dynamics continuously, stopping -every t_event steps to check if a transition event has occurred. +vel with arguments that have the same meaning as their counterparts +in the velocity command.

    +

    In the second stage, each replica runs dynamics continuously, stopping +every t_event steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. -The first time through the PRD loop, the "previous basin" is the set -of quenched coordinates from the initial state of the system. -

    -

    A quench is an energy minimization and is performed by whichever -algorithm has been defined by the min_style command. +The first time through the PRD loop, the “previous basin” is the set +of quenched coordinates from the initial state of the system.

    +

    A quench is an energy minimization and is performed by whichever +algorithm has been defined by the min_style command. Minimization parameters may be set via the -min_modify command and by the min keyword of the +min_modify command and by the min keyword of the PRD command. The latter are the settings that would be used with the -minimize command. Note that typically, you do not +minimize command. Note that typically, you do not need to perform a highly-converged minimization to detect a transition -event. -

    -

    The event check is performed by a compute with the specified -compute-ID. Currently there is only one compute that works with the -PRD commmand, which is the compute -event/displace command. Other -event-checking computes may be added. Compute -event/displace checks whether any atom in +event.

    +

    The event check is performed by a compute with the specified +compute-ID. Currently there is only one compute that works with the +PRD commmand, which is the compute event/displace command. Other +event-checking computes may be added. Compute event/displace checks whether any atom in the compute group has moved further than a specified threshold -distance. If so, an "event" has occurred. -

    -

    In the third stage, the replica on which the event occurred (event +distance. If so, an “event” has occurred.

    +

    In the third stage, the replica on which the event occurred (event replica) continues to run dynamics to search for correlated events. -This is done by running dynamics for t_correlate steps, quenching -every t_event steps, and checking if another event has occurred. -

    -

    The first time no correlated event occurs, the final state of the +This is done by running dynamics for t_correlate steps, quenching +every t_event steps, and checking if another event has occurred.

    +

    The first time no correlated event occurs, the final state of the event replica is shared with all replicas, the new basin reference coordinates are updated with the quenched state, and the outer loop begins again. While the replica event is searching for correlated events, all the other replicas also run dynamics and event checking with the same schedule, but the final states are always overwritten by -the state of the event replica. -

    -

    The outer loop of the pseudo-code above continues until N steps of -dynamics have been performed. Note that N only includes the +the state of the event replica.

    +

    The outer loop of the pseudo-code above continues until N steps of +dynamics have been performed. Note that N only includes the dynamics of stages 2 and 3, not the steps taken during dephasing or -the minimization iterations of quenching. The specified N is -interpreted in one of two ways, depending on the time keyword. If -the time value is step, which is the default, then each replica -runs for N timesteps. If the time value is clock, then the -simulation runs until N aggregate timesteps across all replicas have -elapsed. This aggregate time is the "clock" time defined below, which +the minimization iterations of quenching. The specified N is +interpreted in one of two ways, depending on the time keyword. If +the time value is step, which is the default, then each replica +runs for N timesteps. If the time value is clock, then the +simulation runs until N aggregate timesteps across all replicas have +elapsed. This aggregate time is the “clock” time defined below, which typically advances nearly M times faster than the timestepping on a -single replica. -

    -
    - -

    Four kinds of output can be generated during a PRD run: event +single replica.

    +
    +

    Four kinds of output can be generated during a PRD run: event statistics, thermodynamic output by each replica, dump files, and -restart files. -

    -

    When running with multiple partitions (each of which is a replica in +restart files.

    +

    When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file is limited to event statistics. Note that if a PRD run is performed on only a single replica then the event statistics will be intermixed -with the usual thermodynamic output discussed below. -

    -

    The quantities printed each time an event occurs are the timestep, CPU +with the usual thermodynamic output discussed below.

    +

    The quantities printed each time an event occurs are the timestep, CPU time, clock, event number, a correlation flag, the number of -coincident events, and the replica number of the chosen event. -

    -

    The timestep is the usual LAMMPS timestep, except that time does not +coincident events, and the replica number of the chosen event.

    +

    The timestep is the usual LAMMPS timestep, except that time does not advance during dephasing or quenches, but only during dynamics. Note that are two kinds of dynamics in the PRD loop listed above. The first is when all replicas are performing independent dynamics, waiting for an event to occur. The second is when correlated events -are being searched for and only one replica is running dynamics. -

    -

    The CPU time is the total processor time since the start of the PRD -run. -

    -

    The clock is the same as the timestep except that it advances by M +are being searched for and only one replica is running dynamics.

    +

    The CPU time is the total processor time since the start of the PRD +run.

    +

    The clock is the same as the timestep except that it advances by M steps every timestep during the first kind of dynamics when the M replicas are running independently. The clock advances by only 1 step per timestep during the second kind of dynamics, since only a single -replica is checking for a correlated event. Thus "clock" time +replica is checking for a correlated event. Thus “clock” time represents the aggregate time (in steps) that effectively elapses during a PRD simulation on M replicas. If most of the PRD run is spent in the second stage of the loop above, searching for infrequent events, then the clock will advance nearly M times faster than it would if a single replica was running. Note the clock time between -events will be drawn from p(t). -

    -

    The event number is a counter that increments with each event, whether -it is uncorrelated or correlated. -

    -

    The correlation flag will be 0 when an uncorrelated event occurs +events will be drawn from p(t).

    +

    The event number is a counter that increments with each event, whether +it is uncorrelated or correlated.

    +

    The correlation flag will be 0 when an uncorrelated event occurs during the second stage of the loop listed above, i.e. when all replicas are running independently. The correlation flag will be 1 when a correlated event occurs during the third stage of the loop -listed above, i.e. when only one replica is running dynamics. -

    -

    When more than one replica detects an event at the end of the second -stage, then one of them is chosen at random. The number of coincident +listed above, i.e. when only one replica is running dynamics.

    +

    When more than one replica detects an event at the end of the second +stage, then one of them is chosen at random. The number of coincident events is the number of replicas that detected an event. Normally, we expect this value to be 1. If it is often greater than 1, then either -the number of replicas is too large, or t_event is too large. -

    -

    The replica number is the ID of the replica (from 0 to M-1) that -found the event. -

    -
    - -

    When running on multiple partitions, LAMMPS produces additional log +the number of replicas is too large, or t_event is too large.

    +

    The replica number is the ID of the replica (from 0 to M-1) that +found the event.

    +
    +

    When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the PRD command, these contain the thermodynamic output for each replica. You will see short runs and minimizations corresponding to the dynamics and quench operations of the loop listed above. The timestep will be reset aprpopriately depending on whether the -operation advances time or not. -

    -

    After the PRD command completes, timing statistics for the PRD run are -printed in each replica's log file, giving a breakdown of how much CPU -time was spent in each stage (dephasing, dynamics, quenching, etc). -

    -
    - -

    Any dump files defined in the input script, will be +operation advances time or not.

    +

    After the PRD command completes, timing statistics for the PRD run are +printed in each replica’s log file, giving a breakdown of how much CPU +time was spent in each stage (dephasing, dynamics, quenching, etc).

    +
    +

    Any dump files defined in the input script, will be written to during a PRD run at timesteps corresponding to both uncorrelated and correlated events. This means the the requested dump -frequency in the dump command is ignored. There will be -one dump file (per dump command) created for all partitions. -

    -

    The atom coordinates of the dump snapshot are those of the minimum +frequency in the dump command is ignored. There will be +one dump file (per dump command) created for all partitions.

    +

    The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching following a transition event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each PRD -run. -

    -
    - -

    If the restart command is used, a single restart file +run.

    +
    +

    If the restart command is used, a single restart file for all the partitions is generated, which allows a PRD run to be -continued by a new input script in the usual manner. -

    -

    The restart file is generated at the end of the loop listed above. If +continued by a new input script in the usual manner.

    +

    The restart file is generated at the end of the loop listed above. If no correlated events are found, this means it contains a snapshot of -the system at time T + t_correlate, where T is the time at which the +the system at time T + t_correlate, where T is the time at which the uncorrelated event occurred. If correlated events were found, then it -contains a snapshot of the system at time T + t_correlate, where T -is the time of the last correlated event. -

    -

    The restart frequency specified in the restart command +contains a snapshot of the system at time T + t_correlate, where T +is the time of the last correlated event.

    +

    The restart frequency specified in the restart command is interpreted differently when performing a PRD run. It does not mean the timestep interval between restart files. Instead it means an event interval for uncorrelated events. Thus a frequency of 1 means write a restart file every time an uncorrelated event occurs. A frequency of 10 means write a restart file every 10th uncorrelated -event. -

    -

    When an input script reads a restart file from a previous PRD run, the +event.

    +

    When an input script reads a restart file from a previous PRD run, the new script can be run on a different number of replicas or processors. -However, it is assumed that t_correlate in the new PRD command is -the same as it was previously. If not, the calculation of the "clock" -value for the first event in the new run will be slightly off. -

    -
    - -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    N and t_correlate settings must be integer multiples of -t_event. -

    -

    Runs restarted from restart file written during a PRD run will not +However, it is assumed that t_correlate in the new PRD command is +the same as it was previously. If not, the calculation of the “clock” +value for the first event in the new run will be slightly off.

    + +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +

    N and t_correlate settings must be integer multiples of +t_event.

    +

    Runs restarted from restart file written during a PRD run will not produce identical results due to changes in the random numbers used -for dephasing. -

    -

    This command cannot be used when any fixes are defined that keep track +for dephasing.

    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples -include the "ave" fixes such as fix -ave/spatial. Also fix -dt/reset and fix deposit. -

    -

    Related commands: -

    -

    compute event/displace, -min_modify, min_style, -run_style, minimize, -velocity, temper, neb, -tad -

    -

    Default: -

    -

    The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = -geom gaussian, and time = step. -

    -
    +include the “ave” fixes such as fix ave/spatial. Also fix dt/reset and fix deposit.

    +
    + +
    +

    Default¶

    +

    The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = +geom gaussian, and time = step.

    +
    +

    (Voter) Voter, Phys Rev B, 57, 13985 (1998).

    +

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials +Research 32, 321 (2002).

    +
    + - -

    (Voter) Voter, Phys Rev B, 57, 13985 (1998). -

    - + + +
    + -

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/print.html b/doc/print.html index e97b5e2188..12d4d825f5 100644 --- a/doc/print.html +++ b/doc/print.html @@ -1,86 +1,266 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + print command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    print command -

    -

    Syntax: -

    -
    print string keyword value 
    -
    -
    • string = text string to print, which may contain variables - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = file or append or screen - -
        file value = filename
      -  append value = filename
      -  screen value = yes or no 
      -
      - -
    -

    Examples: -

    -
    print "Done with equilibration" file info.dat
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    + + +
    +

    Description¶

    +

    Print a text string to the screen and logfile. The text string must be a single argument, so if it is one line but more than one word, it should be enclosed in single or double quotes. To generate multiple lines of output, the string can be enclosed in triple quotes, as in the last example above. If the text string contains variables, they -will be evaluated and their current values printed. -

    -

    If the file or append keyword is used, a filename is specified to -which the output will be written. If file is used, then the -filename is overwritten if it already exists. If append is used, +will be evaluated and their current values printed.

    +

    If the file or append keyword is used, a filename is specified to +which the output will be written. If file is used, then the +filename is overwritten if it already exists. If append is used, then the filename is appended to if it already exists, or created if -it does not exist. -

    -

    If the screen keyword is used, output to the screen and logfile can -be turned on or off as desired. -

    -

    If you want the print command to be executed multiple times (with +it does not exist.

    +

    If the screen keyword is used, output to the screen and logfile can +be turned on or off as desired.

    +

    If you want the print command to be executed multiple times (with changing variable values), there are 3 options. First, consider using -the fix print command, which will print a string +the fix print command, which will print a string periodically during a simulation. Second, the print command can be -used as an argument to the every option of the run +used as an argument to the every option of the run command. Third, the print command could appear in a section of the -input script that is looped over (see the jump and -next commands). -

    -

    See the variable command for a description of equal +input script that is looped over (see the jump and +next commands).

    +

    See the variable command for a description of equal style variables which are typically the most useful ones to use with the print command. Equal-style variables can calculate formulas involving mathematical operations, atom properties, group properties, thermodynamic properties, global values calculated by a -compute or fix, or references to other -variables. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix print, variable -

    -

    Default: -

    -

    The option defaults are no file output and screen = yes. -

    - +compute or fix, or references to other +variables.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are no file output and screen = yes.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/processors.html b/doc/processors.html index d819aa4fb9..e12d525612 100644 --- a/doc/processors.html +++ b/doc/processors.html @@ -1,28 +1,144 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + processors command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    processors command -

    -

    Syntax: -

    -
    processors Px Py Pz keyword args ... 
    -
    -
    • Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain - -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = grid or map or part or file - -
        grid arg = gstyle params ...
      -    gstyle = onelevel or twolevel or numa or custom
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      processors command¶

      +
      +

      Syntax¶

      +
      processors Px Py Pz keyword args ...
      +
      +
      +
        +
      • Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain
      • +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = grid or map or part or file
      • +
      +
      +grid arg = gstyle params ...
      +    gstyle = onelevel or twolevel or numa or custom
             onelevel params = none
             twolevel params = Nc Cx Cy Cz
               Nc = number of cores per node
      @@ -30,322 +146,355 @@
             numa params = none
             custom params = infile
               infile = file containing grid layout
      -  map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
      +  map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
            cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0
            cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1
            xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering
      -  numa arg = none
      -  part args = Psend Precv cstyle
      +  numa arg = none
      +  part args = Psend Precv cstyle
           Psend = partition # (1 to Np) which will send its processor layout
           Precv = partition # (1 to Np) which will recv the processor layout
      -    cstyle = multiple
      -      multiple = Psend grid will be multiple of Precv grid in each dimension
      -  file arg = outfile
      -    outfile = name of file to write 3d grid of processors to 
      -
      - -
    -

    Examples: -

    -
    processors * * 5 
    +    cstyle = multiple
    +      multiple = Psend grid will be multiple of Precv grid in each dimension
    +  file arg = outfile
    +    outfile = name of file to write 3d grid of processors to
    +
    +
    +
    +

    Examples¶

    +
    processors * * 5
     processors 2 4 4
     processors * * 8 map xyz
     processors * * * grid numa
     processors * * * grid twolevel 4 * * 1
     processors 4 8 16 grid custom myfile
    -processors * * * part 1 2 multiple 
    -
    -

    Description: -

    -

    Specify how processors are mapped as a regular 3d grid to the global +processors * * * part 1 2 multiple +

    +
    +
    +
    +

    Description¶

    +

    Specify how processors are mapped as a regular 3d grid to the global simulation box. The mapping involves 2 steps. First if there are P processors it means choosing a factorization P = Px by Py by Pz so that there are Px processors in the x dimension, and similarly for the y and z dimensions. Second, the P processors are mapped to the regular 3d grid. The arguments to this command control each of these -2 steps. -

    -

    The Px, Py, Pz parameters affect the factorization. Any of the 3 -parameters can be specified with an asterisk "*", which means LAMMPS +2 steps.

    +

    The Px, Py, Pz parameters affect the factorization. Any of the 3 +parameters can be specified with an asterisk “*”, which means LAMMPS will choose the number of processors in that dimension of the grid. It will do this based on the size and shape of the global simulation -box so as to minimize the surface-to-volume ratio of each processor's -sub-domain. -

    -

    Choosing explicit values for Px or Py or Pz can be used to override +box so as to minimize the surface-to-volume ratio of each processor’s +sub-domain.

    +

    Choosing explicit values for Px or Py or Pz can be used to override the default manner in which LAMMPS will create the regular 3d grid of processors, if it is known to be sub-optimal for a particular problem. E.g. a problem where the extent of atoms will change dramatically in a -particular dimension over the course of the simulation. -

    -

    The product of Px, Py, Pz must equal P, the total # of processors -LAMMPS is running on. For a 2d simulation, Pz must -equal 1. -

    -

    Note that if you run on a prime number of processors P, then a grid +particular dimension over the course of the simulation.

    +

    The product of Px, Py, Pz must equal P, the total # of processors +LAMMPS is running on. For a 2d simulation, Pz must +equal 1.

    +

    Note that if you run on a prime number of processors P, then a grid such as 1 x P x 1 will be required, which may incur extra -communication costs due to the high surface area of each processor's -sub-domain. -

    -

    Also note that if multiple partitions are being used then P is the -number of processors in this partition; see this -section for an explanation of the +communication costs due to the high surface area of each processor’s +sub-domain.

    +

    Also note that if multiple partitions are being used then P is the +number of processors in this partition; see this section for an explanation of the -partition command-line switch. Also note that you can prefix the -processors command with the partition command to -easily specify different Px,Py,Pz values for different partitions. -

    -

    You can use the partition command to specify -different processor grids for different partitions, e.g. -

    -
    partition yes 1 processors 4 4 4
    -partition yes 2 processors 2 3 2 
    -
    -

    IMPORTANT NOTE: This command only affects the initial regular 3d grid +processors command with the partition command to +easily specify different Px,Py,Pz values for different partitions.

    +

    You can use the partition command to specify +different processor grids for different partitions, e.g.

    +
    partition yes 1 processors 4 4 4
    +partition yes 2 processors 2 3 2
    +
    +
    +
    +

    Warning

    +

    This command only affects the initial regular 3d grid created when the simulation box is first specified via a -create_box or read_data or -read_restart command. Or if the simulation box is -re-created via the replicate command. The same +create_box or read_data or +read_restart command. Or if the simulation box is +re-created via the replicate command. The same regular grid is initially created, regardless of which -comm_style command is in effect. -

    -

    If load-balancing is never invoked via the balance or -fix balance commands, then the initial regular grid +comm_style command is in effect.

    +
    +

    If load-balancing is never invoked via the balance or +fix balance commands, then the initial regular grid will persist for all simulations. If balancing is performed, some of the methods invoked by those commands retain the logical toplogy of the initial 3d grid, and the mapping of processors to the grid specified by the processors command. However the grid spacings in different dimensions may change, so that processors own sub-domains of -different sizes. If the comm_style tiled command is +different sizes. If the comm_style tiled command is used, methods invoked by the balancing commands may discard the 3d grid of processors and tile the simulation domain with sub-domains of different sizes and shapes which no longer have a logical 3d connectivity. If that occurs, all the information specified by the -processors command is ignored. -

    -
    - -

    The grid keyword affects the factorization of P into Px,Py,Pz and it +processors command is ignored.

    +
    +

    The grid keyword affects the factorization of P into Px,Py,Pz and it can also affect how the P processor IDs are mapped to the 3d grid of -processors. -

    -

    The onelevel style creates a 3d grid that is compatible with the +processors.

    +

    The onelevel style creates a 3d grid that is compatible with the Px,Py,Pz settings, and which minimizes the surface-to-volume ratio of -each processor's sub-domain, as described above. The mapping of -processors to the grid is determined by the map keyword setting. -

    -

    The twolevel style can be used on machines with multicore nodes to +each processor’s sub-domain, as described above. The mapping of +processors to the grid is determined by the map keyword setting.

    +

    The twolevel style can be used on machines with multicore nodes to minimize off-node communication. It insures that contiguous sub-sections of the 3d grid are assigned to all the cores of a node. -For example if Nc is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of +For example if Nc is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of the 3d grid will correspond to the cores of each node. This affects -both the factorization and mapping steps. -

    -

    The Cx, Cy, Cz settings are similar to the Px, Py, Pz -settings, only their product should equal Nc. Any of the 3 -parameters can be specified with an asterisk "*", which means LAMMPS -will choose the number of cores in that dimension of the node's +both the factorization and mapping steps.

    +

    The Cx, Cy, Cz settings are similar to the Px, Py, Pz +settings, only their product should equal Nc. Any of the 3 +parameters can be specified with an asterisk “*”, which means LAMMPS +will choose the number of cores in that dimension of the node’s sub-grid. As with Px,Py,Pz, it will do this based on the size and shape of the global simulation box so as to minimize the -surface-to-volume ratio of each processor's sub-domain. -

    -

    IMPORTANT NOTE: For the twolevel style to work correctly, it +surface-to-volume ratio of each processor’s sub-domain.

    +
    +

    Warning

    +

    For the twolevel style to work correctly, it assumes the MPI ranks of processors LAMMPS is running on are ordered by core and then by node. E.g. if you are running on 2 quad-core nodes, for a total of 8 processors, then it assumes processors 0,1,2,3 are on node 1, and processors 4,5,6,7 are on node 2. This is the default rank ordering for most MPI implementations, but some MPIs provide options for this ordering, e.g. via environment variable -settings. -

    -

    The numa style operates similar to the twolevel keyword except +settings.

    +
    +

    The numa style operates similar to the twolevel keyword except that it auto-detects which cores are running on which nodes. Currently, it does this in only 2 levels, but it may be extended in the future to account for socket topology and other non-uniform memory access (NUMA) costs. It also uses a different algorithm than the -twolevel keyword for doing the two-level factorization of the +twolevel keyword for doing the two-level factorization of the simulation box into a 3d processor grid to minimize off-node communication, and it does its own MPI-based mapping of nodes and cores to the regular 3d grid. Thus it may produce a different layout -of the processors than the twolevel options. -

    -

    The numa style will give an error if the number of MPI processes is +of the processors than the twolevel options.

    +

    The numa style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px -or Py of Pz values is greater than 1. -

    -

    IMPORTANT NOTE: Unlike the twolevel style, the numa style does not +or Py of Pz values is greater than 1.

    +
    +

    Warning

    +

    Unlike the twolevel style, the numa style does not require any particular ordering of MPI ranks i norder to work correctly. This is because it auto-detects which processes are -running on which nodes. -

    -

    The custom style uses the file infile to define both the 3d -factorization and the mapping of processors to the grid. -

    -

    The file should have the following format. Any number of initial -blank or comment lines (starting with a "#" character) can be present. +running on which nodes.

    +
    +

    The custom style uses the file infile to define both the 3d +factorization and the mapping of processors to the grid.

    +

    The file should have the following format. Any number of initial +blank or comment lines (starting with a “#” character) can be present. The first non-blank, non-comment line should have -3 values: -

    -
    Px Py Py 
    -
    -

    These must be compatible with the total number of processors -and the Px, Py, Pz settings of the processors commmand. -

    -

    This line should be immediately followed by -P = Px*Py*Pz lines of the form: -

    -
    ID I J K 
    -
    -

    where ID is a processor ID (from 0 to P-1) and I,J,K are the +3 values:

    +
    Px Py Py
    +
    +
    +

    These must be compatible with the total number of processors +and the Px, Py, Pz settings of the processors commmand.

    +

    This line should be immediately followed by +P = Px*Py*Pz lines of the form:

    +
    ID I J K
    +
    +
    +

    where ID is a processor ID (from 0 to P-1) and I,J,K are the processors location in the 3d grid. I must be a number from 1 to Px (inclusive) and similarly for J and K. The P lines can be listed in -any order, but no processor ID should appear more than once. -

    -
    - -

    The map keyword affects how the P processor IDs (from 0 to P-1) are +any order, but no processor ID should appear more than once.

    +
    +

    The map keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the -onelevel and twolevel grid settings. -

    -

    The cart style uses the family of MPI Cartesian functions to perform +onelevel and twolevel grid settings.

    +

    The cart style uses the family of MPI Cartesian functions to perform the mapping, namely MPI_Cart_create(), MPI_Cart_get(), MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the MPI_Cart_create() function with its reorder flag = 0, so that MPI is -not free to reorder the processors. -

    -

    The cart/reorder style does the same thing as the cart style +not free to reorder the processors.

    +

    The cart/reorder style does the same thing as the cart style except it sets the reorder flag to 1, so that MPI can reorder -processors if it desires. -

    -

    The xyz, xzy, yxz, yzx, zxy, and zyx styles are all +processors if it desires.

    +

    The xyz, xzy, yxz, yzx, zxy, and zyx styles are all similar. If the style is IJK, then it maps the P processors to the grid so that the processor ID in the I direction varies fastest, the processor ID in the J direction varies next fastest, and the processor ID in the K direction varies slowest. For example, if you select -style xyz and you have a 2x2x2 grid of 8 processors, the assignments -of the 8 octants of the simulation domain will be: -

    -
    proc 0 = lo x, lo y, lo z octant
    +style xyz and you have a 2x2x2 grid of 8 processors, the assignments
    +of the 8 octants of the simulation domain will be:

    +
    proc 0 = lo x, lo y, lo z octant
     proc 1 = hi x, lo y, lo z octant
     proc 2 = lo x, hi y, lo z octant
     proc 3 = hi x, hi y, lo z octant
     proc 4 = lo x, lo y, hi z octant
     proc 5 = hi x, lo y, hi z octant
     proc 6 = lo x, hi y, hi z octant
    -proc 7 = hi x, hi y, hi z octant 
    -
    -

    Note that, in principle, an MPI implementation on a particular machine -should be aware of both the machine's network topology and the +proc 7 = hi x, hi y, hi z octant +

    + +

    Note that, in principle, an MPI implementation on a particular machine +should be aware of both the machine’s network topology and the specific subset of processors and nodes that were assigned to your simulation. Thus its MPI_Cart calls can optimize the assignment of MPI processes to the 3d grid to minimize communication costs. In practice, however, few if any MPI implementations actually do this. -So it is likely that the cart and cart/reorder styles simply give -the same result as one of the IJK styles. -

    -

    Also note, that for the twolevel grid style, the map setting is +So it is likely that the cart and cart/reorder styles simply give +the same result as one of the IJK styles.

    +

    Also note, that for the twolevel grid style, the map setting is used to first map the nodes to the 3d grid, then again to the cores -within each node. For the latter step, the cart and cart/reorder -styles are not supported, so an xyz style is used in their place. -

    -
    - -

    The part keyword affects the factorization of P into Px,Py,Pz. -

    -

    It can be useful when running in multi-partition mode, e.g. with the -run_style verlet/split command. It specifies a -dependency bewteen a sending partition Psend and a receiving -partition Precv which is enforced when each is setting up their own -mapping of their processors to the simulation box. Each of Psend -and Precv must be integers from 1 to Np, where Np is the number of -partitions you have defined via the -partition command-line -switch. -

    -

    A "dependency" means that the sending partition will create its +within each node. For the latter step, the cart and cart/reorder +styles are not supported, so an xyz style is used in their place.

    +
    +

    The part keyword affects the factorization of P into Px,Py,Pz.

    +

    It can be useful when running in multi-partition mode, e.g. with the +run_style verlet/split command. It specifies a +dependency bewteen a sending partition Psend and a receiving +partition Precv which is enforced when each is setting up their own +mapping of their processors to the simulation box. Each of Psend +and Precv must be integers from 1 to Np, where Np is the number of +partitions you have defined via the -partition command-line switch.

    +

    A “dependency” means that the sending partition will create its regular 3d grid as Px by Py by Pz and after it has done this, it will send the Px,Py,Pz values to the receiving partition. The receiving partition will wait to receive these values before creating its own -regular 3d grid and will use the sender's Px,Py,Pz values as a +regular 3d grid and will use the sender’s Px,Py,Pz values as a constraint. The nature of the constraint is determined by the -cstyle argument. -

    -

    For a cstyle of multiple, each dimension of the sender's processor +cstyle argument.

    +

    For a cstyle of multiple, each dimension of the sender’s processor grid is required to be an integer multiple of the corresponding -dimension in the receiver's processor grid. This is a requirement of -the run_style verlet/split command. -

    -

    For example, assume the sending partition creates a 4x6x10 grid = 240 +dimension in the receiver’s processor grid. This is a requirement of +the run_style verlet/split command.

    +

    For example, assume the sending partition creates a 4x6x10 grid = 240 processor grid. If the receiving partition is running on 80 processors, it could create a 4x2x10 grid, but it will not create a 2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of -4. -

    -

    IMPORTANT NOTE: If you use the partition command to -invoke different "processsors" commands on different partitions, and -you also use the part keyword, then you must insure that both the -sending and receiving partitions invoke the "processors" command that -connects the 2 partitions via the part keyword. LAMMPS cannot +4.

    +
    +

    Warning

    +

    If you use the partition command to +invoke different “processsors” commands on different partitions, and +you also use the part keyword, then you must insure that both the +sending and receiving partitions invoke the “processors” command that +connects the 2 partitions via the part keyword. LAMMPS cannot easily check for this, but your simulation will likely hang in its -setup phase if this error has been made. -

    -
    - -

    The file keyword writes the mapping of the factorization of P +setup phase if this error has been made.

    +
    +
    +

    The file keyword writes the mapping of the factorization of P processors and their mapping to the 3d grid to the specified file -outfile. This is useful to check that you assigned physical +outfile. This is useful to check that you assigned physical processors in the manner you desired, which can be tricky to figure out, especially when running on multiple partitions or on, a multicore machine or when the processor ranks were reordered by use of the --reorder command-line switch or due to -use of MPI-specific launch options such as a config file. -

    -

    If you have multiple partitions you should insure that each one writes -to a different file, e.g. using a world-style variable +-reorder command-line switch or due to +use of MPI-specific launch options such as a config file.

    +

    If you have multiple partitions you should insure that each one writes +to a different file, e.g. using a world-style variable for the filename. The file has a self-explanatory header, followed by -one-line per processor in this format: -

    -

    world-ID universe-ID original-ID: I J K: name -

    -

    The IDs are the processor's rank in this simulation (the world), the +one-line per processor in this format:

    +

    world-ID universe-ID original-ID: I J K: name

    +

    The IDs are the processor’s rank in this simulation (the world), the universe (of multiple simulations), and the original MPI communicator used to instantiate LAMMPS, respectively. The world and universe IDs will only be different if you are running on more than one partition; -see the -partition command-line switch. +see the -partition command-line switch. The universe and original IDs will only be different if you used the --reorder command-line switch to reorder +-reorder command-line switch to reorder the processors differently than their rank in the original -communicator LAMMPS was instantiated with. -

    -

    I,J,K are the indices of the processor in the regular 3d grid, each +communicator LAMMPS was instantiated with.

    +

    I,J,K are the indices of the processor in the regular 3d grid, each from 1 to Nd, where Nd is the number of processors in that dimension -of the grid. -

    -

    The name is what is returned by a call to MPI_Get_processor_name() +of the grid.

    +

    The name is what is returned by a call to MPI_Get_processor_name() and should represent an identifier relevant to the physical processors in your machine. Note that depending on the MPI implementation, -multiple cores can have the same name. -

    -
    - -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command. +multiple cores can have the same name.

    + +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command. It can be used before a restart file is read to change the 3d -processor grid from what is specified in the restart file. -

    -

    The grid numa keyword only currently works with the map cart -option. -

    -

    The part keyword (for the receiving partition) only works with the -grid onelevel or grid twolevel options. -

    -

    Related commands: -

    -

    partition, -reorder command-line switch -

    -

    Default: -

    -

    The option defaults are Px Py Pz = * * *, grid = onelevel, and map = -cart. -

    - +processor grid from what is specified in the restart file.

    +

    The grid numa keyword only currently works with the map cart +option.

    +

    The part keyword (for the receiving partition) only works with the +grid onelevel or grid twolevel options.

    +
    + +
    +

    Default¶

    +

    The option defaults are Px Py Pz = * * *, grid = onelevel, and map = +cart.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/python.html b/doc/python.html index 02193dd770..bc569c1749 100644 --- a/doc/python.html +++ b/doc/python.html @@ -1,130 +1,247 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + python command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    python command -

    -

    Syntax: -

    -
    python func keyword args ... 
    -
    -
    • func = name of Python function - -
    • one or more keyword/args pairs must be appended - -
      keyword = invoke or input or return or format or file or here or exists
      -  invoke arg = none = invoke the previously defined Python function
      -  input args = N i1 i2 ... iN
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      python command¶

      +
      +

      Syntax¶

      +
      python func keyword args ...
      +
      +
      +
        +
      • func = name of Python function
      • +
      • one or more keyword/args pairs must be appended
      • +
      +
      +keyword = invoke or input or return or format or file or here or exists
      +  invoke arg = none = invoke the previously defined Python function
      +  input args = N i1 i2 ... iN
           N = # of inputs to function
           i1,...,iN = value, SELF, or LAMMPS variable name
             value = integer number, floating point number, or string
             SELF = reference to LAMMPS itself which can be accessed by Python function
             variable = v_name, where name = name of LAMMPS variable, e.g. v_abc
      -  return arg = varReturn
      +  return arg = varReturn
           varReturn = v_name  = LAMMPS variable name which return value of function will be assigned to
      -  format arg = fstring with M characters 
      +  format arg = fstring with M characters
           M = N if no return value, where N = # of inputs
           M = N+1 if there is a return value
           fstring = each character (i,f,s,p) corresponds in order to an input or return value
           'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF
      -  file arg = filename
      +  file arg = filename
           filename = file of Python code, which defines func
      -  here arg = inline
      +  here arg = inline
           inline = one or more lines of Python code which defines func
                    must be a single argument, typically enclosed between triple quotes
      -  exists arg = none = Python code has been loaded by previous python command 
      -
      - -
    -

    Examples: -

    -
    python pForce input 2 v_x 20.0 return v_f format fff file force.py
    -python pForce invoke 
    -
    -
    python factorial input 1 myN return v_fac format ii here """
    +  exists arg = none = Python code has been loaded by previous python command
    +
    +
    +
    +

    Examples¶

    +
    python pForce input 2 v_x 20.0 return v_f format fff file force.py
    +python pForce invoke
    +
    +
    +
    python factorial input 1 myN return v_fac format ii here """
     def factorial(n):
       if n == 1: return n
       return n * factorial(n-1)
    - """ 
    -
    -
    python loop input 1 SELF return v_value format -f here """
    + """
    +
    +
    +
    python loop input 1 SELF return v_value format -f here """
     def loop(lmpptr,N,cut0):
       from lammps import lammps
    -  lmp = lammps(ptr=lmpptr) 
    -
    -
      # loop N times, increasing cutoff each time 
    -
    -
      for i in range(N):
    +  lmp = lammps(ptr=lmpptr)
    +
    +
    +
    # loop N times, increasing cutoff each time
    +
    +
    +
    for i in range(N):
         cut = cut0 + i*0.1
    -    lmp.set_variable("cut",cut)               # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $cut")   # LAMMPS commands
    -    lmp.command("pair_coeff * * 1.0 1.0")
    -    lmp.command("run 100")
    - """ 
    -
    -

    Description: -

    -

    IMPORTANT NOTE: It is not currently possible to use the -python command described in this section with Python 3, + lmp.set_variable("cut",cut) # set a variable in LAMMPS + lmp.command("pair_style lj/cut $*cut*") # LAMMPS commands + lmp.command("pair_coeff * * 1.0 1.0") + lmp.command("run 100") + """ +

    +
    +
    +
    +

    Description¶

    +
    +

    Warning

    +

    It is not currently possible to use the +python command described in this section with Python 3, only with Python 2. The C API changed from Python 2 to 3 and the -LAMMPS code is not compatible with both. -

    -

    Define a Python function or execute a previously defined function. +LAMMPS code is not compatible with both.

    +
    +

    Define a Python function or execute a previously defined function. Arguments, including LAMMPS variables, can be passed to the function from the LAMMPS input script and a value returned by the Python function to a LAMMPS variable. The Python code for the function can be included directly in the input script or in a separate Python file. -The function can be standard Python code or it can make "callbacks" to +The function can be standard Python code or it can make “callbacks” to LAMMPS through its library interface to query or set internal values within LAMMPS. This is a powerful mechanism for performing complex operations in a LAMMPS input script that are not possible with the simple input script and variable syntax which LAMMPS defines. Thus -your input script can operate more like a true programming language. -

    -

    Use of this command requires building LAMMPS with the PYTHON package +your input script can operate more like a true programming language.

    +

    Use of this command requires building LAMMPS with the PYTHON package which links to the Python library so that the Python interpreter is -embedded in LAMMPS. More details about this process are given below. -

    -

    There are two ways to invoke a Python function once it has been -defined. One is using the invoke keyword. The other is to assign -the function to a python-style variable defined in +embedded in LAMMPS. More details about this process are given below.

    +

    There are two ways to invoke a Python function once it has been +defined. One is using the invoke keyword. The other is to assign +the function to a python-style variable defined in your input script. Whenever the variable is evaluated, it will execute the Python function to assign a value to the variable. Note that variables can be evaluated in many different ways within LAMMPS. They can be substituted for directly in an input script. Or they can be passed to various commands as arguments, so that the variable is -evaluated during a simulation run. -

    -

    A broader overview of how Python can be used with LAMMPS is -given in Section python. There is an +evaluated during a simulation run.

    +

    A broader overview of how Python can be used with LAMMPS is +given in Section python. There is an examples/python directory which illustrates use of the python -command. -

    -
    - -

    The func setting specifies the name of the Python function. The -code for the function is defined using the file or here keywords -as explained below. -

    -

    If the invoke keyword is used, no other keywords can be used, and a +command.

    +
    +

    The func setting specifies the name of the Python function. The +code for the function is defined using the file or here keywords +as explained below.

    +

    If the invoke keyword is used, no other keywords can be used, and a previous python command must have defined the Python function referenced by this command. This invokes the Python function with the previously defined arguments and return value processed as explained below. You can invoke the function as many times as you wish in your -input script. -

    -

    The input keyword defines how many arguments N the Python function -expects. If it takes no arguments, then the input keyword should +input script.

    +

    The input keyword defines how many arguments N the Python function +expects. If it takes no arguments, then the input keyword should not be used. Each argument can be specified directly as a value, e.g. 6 or 3.14159 or abc (a string of characters). The type of each -argument is specified by the format keyword as explained below, so +argument is specified by the format keyword as explained below, so that Python will know how to interpret the value. If the word SELF is used for an argument it has a special meaning. A pointer is passed to the Python function which it converts into a reference to LAMMPS @@ -132,254 +249,235 @@ itself. This enables the function to call back to LAMMPS through its library interface as explained below. This allows the Python function to query or set values internal to LAMMPS which can affect the subsequent execution of the input script. A LAMMPS variable can also -be used as an argument, specified as v_name, where "name" is the name +be used as an argument, specified as v_name, where “name” is the name of the variable. Any style of LAMMPS variable can be used, as defined -by the variable command. Each time the Python +by the variable command. Each time the Python function is invoked, the LAMMPS variable is evaluated and its value is -passed to the Python function. -

    -

    The return keyword is only needed if the Python function returns a -value. The specified varReturn must be of the form v_name, where -"name" is the name of a python-style LAMMPS variable, defined by the -variable command. The Python function can return a -numeric or string value, as specified by the format keyword. -

    -

    As explained on the variable doc page, the definition +passed to the Python function.

    +

    The return keyword is only needed if the Python function returns a +value. The specified varReturn must be of the form v_name, where +“name” is the name of a python-style LAMMPS variable, defined by the +variable command. The Python function can return a +numeric or string value, as specified by the format keyword.

    +

    As explained on the variable doc page, the definition of a python-style variable associates a Python function name with the -variable. This must match the func setting for this command. For -exampe these two commands would be self-consistent: -

    -
    variable foo python myMultiply
    -python myMultiply return v_foo format f file funcs.py 
    -
    -

    The two commands can appear in either order in the input script so +variable. This must match the func setting for this command. For +exampe these two commands would be self-consistent:

    +
    variable foo python myMultiply
    +python myMultiply return v_foo format f file funcs.py
    +
    +
    +

    The two commands can appear in either order in the input script so long as both are specified before the Python function is invoked for -the first time. -

    -

    The format keyword must be used if the input or return keyword -is used. It defines an fstring with M characters, where M = sum of +the first time.

    +

    The format keyword must be used if the input or return keyword +is used. It defines an fstring with M characters, where M = sum of number of inputs and outputs. The order of characters corresponds to the N inputs, followed by the return value (if it exists). Each -character must be one of the following: "i" for integer, "f" for -floating point, "s" for string, or "p" for SELF. Each character +character must be one of the following: “i” for integer, “f” for +floating point, “s” for string, or “p” for SELF. Each character defines the type of the corresponding input or output value of the Python function and affects the type conversion that is performed internally as data is passed back and forth between LAMMPS and Python. -Note that it is permissible to use a python-style -variable in a LAMMPS command that allows for an +Note that it is permissible to use a python-style variable in a LAMMPS command that allows for an equal-style variable as an argument, but only if the output of the -Python function is flagged as a numeric value ("i" or "f") via the -format keyword. -

    -

    Either the file, here, or exists keyword must be used, but only +Python function is flagged as a numeric value (“i” or “f”) via the +format keyword.

    +

    Either the file, here, or exists keyword must be used, but only one of them. These keywords specify what Python code to load into the -Python interpreter. The file keyword gives the name of a file, -which should end with a ".py" suffix, which contains Python code. The -code will be immediately loaded into and run in the "main" module of +Python interpreter. The file keyword gives the name of a file, +which should end with a ”.py” suffix, which contains Python code. The +code will be immediately loaded into and run in the “main” module of the Python interpreter. Note that Python code which contains a -function definition does not "execute" the function when it is run; it -simply defines the function so that it can be invoked later. -

    -

    The here keyword does the same thing, except that the Python code -follows as a single argument to the here keyword. This can be done +function definition does not “execute” the function when it is run; it +simply defines the function so that it can be invoked later.

    +

    The here keyword does the same thing, except that the Python code +follows as a single argument to the here keyword. This can be done using triple quotes as delimiters, as in the examples above. This allows Python code to be listed verbatim in your input script, with proper indentation, blank lines, and comments, as desired. See -Section 3.2, for an explanation of how -triple quotes can be used as part of input script syntax. -

    -

    The exists keyword takes no argument. It means that Python code -containing the required Python function defined by the func setting, -is assumed to have been previously loaded by another python command. -

    -

    Note that the Python code that is loaded and run must contain a -function with the specified func name. To operate properly when -later invoked, the the function code must match the input and -return and format keywords specified by the python command. -Otherwise Python will generate an error. -

    -
    - -

    This section describes how Python code can be written to work with -LAMMPS. -

    -

    Whether you load Python code from a file or directly from your input -script, via the file and here keywords, the code can be identical. +Section 3.2, for an explanation of how +triple quotes can be used as part of input script syntax.

    +

    The exists keyword takes no argument. It means that Python code +containing the required Python function defined by the func setting, +is assumed to have been previously loaded by another python command.

    +

    Note that the Python code that is loaded and run must contain a +function with the specified func name. To operate properly when +later invoked, the the function code must match the input and +return and format keywords specified by the python command. +Otherwise Python will generate an error.

    +
    +

    This section describes how Python code can be written to work with +LAMMPS.

    +

    Whether you load Python code from a file or directly from your input +script, via the file and here keywords, the code can be identical. It must be indented properly as Python requires. It can contain comments or blank lines. If the code is in your input script, it cannot however contain triple-quoted Python strings, since that will conflict with the triple-quote parsing that the LAMMPS input script -performs. -

    -

    All the Python code you specify via one or more python commands is -loaded into the Python "main" module, i.e. __main__. The code can +performs.

    +

    All the Python code you specify via one or more python commands is +loaded into the Python “main” module, i.e. __main__. The code can define global variables or statements that are outside of function definitions. It can contain multiple functions, only one of which -matches the func setting in the python command. This means you can -use the file keyword once to load several functions, and the -exists keyword thereafter in subsequent python commands to access -the other functions previously loaded. -

    -

    A Python function you define (or more generally, the code you load) +matches the func setting in the python command. This means you can +use the file keyword once to load several functions, and the +exists keyword thereafter in subsequent python commands to access +the other functions previously loaded.

    +

    A Python function you define (or more generally, the code you load) can import other Python modules or classes, it can make calls to other system functions or functions you define, and it can access or modify -global variables (in the "main" module) which will persist between +global variables (in the “main” module) which will persist between successive function calls. The latter can be useful, for example, to prevent a function from being invoke multiple times per timestep by different commands in a LAMMPS input script that access the returned python-style variable associated with the function. For example, consider this function loaded with two global variables defined -outside the function: -

    -
    nsteplast = -1
    -nvaluelast = 0 
    -
    -
    def expensive(nstep):
    -  global nsteplast,nvaluelast
    -  if nstep == nsteplast: return nvaluelast
    -  nsteplast = nstep  
    -  # perform complicated calculation
    -  nvalue = ...
    -  nvaluelast = nvalue
    -  return nvalue 
    -
    -

    Nsteplast stores the previous timestep the function was invoked +outside the function:

    +
    nsteplast = -1
    +nvaluelast = 0
    +
    +
    +
    def expensive(nstep):
    +  global nsteplast,nvaluelast
    +  if nstep == nsteplast: return nvaluelast
    +  nsteplast = nstep
    +  # perform complicated calculation
    +  nvalue = ...
    +  nvaluelast = nvalue
    +  return nvalue
    +
    +
    +

    Nsteplast stores the previous timestep the function was invoked (passed as an argument to the function). Nvaluelast stores the return value computed on the last function invocation. If the function is invoked again on the same timestep, the previous value is simply -returned, without re-computing it. The "global" statement inside the -Python function allows it to overwrite the global variables. -

    -

    Note that if you load Python code multiple times (via multiple python +returned, without re-computing it. The “global” statement inside the +Python function allows it to overwrite the global variables.

    +

    Note that if you load Python code multiple times (via multiple python commands), you can overwrite previously loaded variables and functions if you are not careful. E.g. if the code above were loaded twice, the global variables would be re-initialized, which might not be what you want. Likewise, if a function with the same name exists in two chunks of Python code you load, the function loaded second will override the -function loaded first. -

    -

    It's important to realize that if you are running LAMMPS in parallel, +function loaded first.

    +

    It’s important to realize that if you are running LAMMPS in parallel, each MPI task will load the Python interpreter and execute a local copy of the Python function(s) you define. There is no connection -between the Python interpreters running on different processors. -This implies three important things. -

    -

    First, if you put a print statement in your Python function, you will +between the Python interpreters running on different processors. +This implies three important things.

    +

    First, if you put a print statement in your Python function, you will see P copies of the output, when running on P processors. If the prints occur at (nearly) the same time, the P copies of the output may be mixed together. Welcome to the world of parallel programming and -debugging. -

    -

    Second, if your Python code loads modules that are not pre-loaded by +debugging.

    +

    Second, if your Python code loads modules that are not pre-loaded by the Python library, then it will load the module from disk. This may be a bottleneck if 1000s of processors try to load a module at the same time. On some large supercomputers, loading of modules from disk by Python may be disabled. In this case you would need to pre-build a Python library that has the required modules pre-loaded and link -LAMMPS with that library. -

    -

    Third, if your Python code calls back to LAMMPS (discussed in the +LAMMPS with that library.

    +

    Third, if your Python code calls back to LAMMPS (discussed in the next section) and causes LAMMPS to perform an MPI operation requires global communication (e.g. via MPI_Allreduce), such as computing the global temperature of the system, then you must insure all your Python functions (running independently on different processors) call back to -LAMMPS. Otherwise the code may hang. -

    -
    - -

    Your Python function can "call back" to LAMMPS through its +LAMMPS. Otherwise the code may hang.

    +
    +

    Your Python function can “call back” to LAMMPS through its library interface, if you use the SELF input to pass Python a pointer to LAMMPS. The mechanism for doing this in your -Python function is as follows: -

    -
    def foo(lmpptr,...):
    -  from lammps import lammps
    -  lmp = lammps(ptr=lmpptr)
    -  lmp.command('print "Hello from inside Python"')
    -  ... 
    -
    -

    The function definition must include a variable (lmpptr in this case) +Python function is as follows:

    +
    def foo(lmpptr,...):
    +  from lammps import lammps
    +  lmp = lammps(ptr=lmpptr)
    +  lmp.command('print "Hello from inside Python"')
    +  ...
    +
    +
    +

    The function definition must include a variable (lmpptr in this case) which corresponds to SELF in the python command. The first line of the function imports the Python module lammps.py in the python dir of -the distribution. The second line creates a Python object "lmp" which +the distribution. The second line creates a Python object “lmp” which wraps the instance of LAMMPS that called the function. The -"ptr=lmpptr" argument is what makes that happen. The thrid line +“ptr=lmpptr” argument is what makes that happen. The thrid line invokes the command() function in the LAMMPS library interface. It takes a single string argument which is a LAMMPS input script command for LAMMPS to execute, the same as if it appeared in your input -script. In this case, LAMMPS should output -

    -
    Hello from inside Python 
    -
    -

    to the screen and log file. Note that since the LAMMPS print command +script. In this case, LAMMPS should output

    +
    Hello from inside Python
    +
    +
    +

    to the screen and log file. Note that since the LAMMPS print command itself takes a string in quotes as its argument, the Python string -must be delimited with a different style of quotes. -

    -

    Section 11.7 describes the syntax for how +must be delimited with a different style of quotes.

    +

    Section 11.7 describes the syntax for how Python wraps the various functions included in the LAMMPS library -interface. -

    -

    A more interesting example is in the examples/python/in.python script -which loads and runs the following function from examples/python/funcs.py: -

    -
    def loop(N,cut0,thresh,lmpptr):
    -  print "LOOP ARGS",N,cut0,thresh,lmpptr
    +interface.

    +

    A more interesting example is in the examples/python/in.python script +which loads and runs the following function from examples/python/funcs.py:

    +
    def loop(N,cut0,thresh,lmpptr):
    +  print "LOOP ARGS",N,cut0,thresh,lmpptr
       from lammps import lammps
       lmp = lammps(ptr=lmpptr)
    -  natoms = lmp.get_natoms() 
    -
    -
      for i in range(N):
    -    cut = cut0 + i*0.1 
    -
    -
        lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $cut")     # LAMMPS command
    -    #lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option 
    -
    -
        lmp.command("pair_coeff * * 1.0 1.0")       # ditto
    -    lmp.command("run 10")                       # ditto
    -    pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    -    print "PE",pe/natoms,thresh
    -    if pe/natoms < thresh: return 
    -
    -

    with these input script commands: -

    -
    python          loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py
    -python          loop invoke 
    -
    -

    This has the effect of looping over a series of 10 short runs (10 + natoms = lmp.get_natoms() +

    + +
    for i in range(N):
    +    cut = cut0 + i*0.1
    +
    +
    +
    lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    +    lmp.command("pair_style lj/cut $*cut*")     # LAMMPS command
    +    #lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option
    +
    +
    +
    lmp.command("pair_coeff * * 1.0 1.0")       # ditto
    +    lmp.command("run 10")                       # ditto
    +    pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    +    print "PE",pe/natoms,thresh
    +    if pe/natoms < thresh: return
    +
    +
    +

    with these input script commands:

    +
    python          loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py
    +python          loop invoke
    +
    +
    +

    This has the effect of looping over a series of 10 short runs (10 timesteps each) where the pair style cutoff is increased from a value of 1.0 in distance units, in increments of 0.1. The looping stops when the per-atom potential energy falls below a threshhold of -4.0 in energy units. More generally, Python can be used to implement a loop with complex logic, much more so than can be created using the LAMMPS -jump and if commands. -

    -

    Several LAMMPS library functions are called from the loop function. +jump and if commands.

    +

    Several LAMMPS library functions are called from the loop function. Get_natoms() returns the number of atoms in the simulation, so that it can be used to normalize the potential energy that is returned by -extract_compute() for the "thermo_pe" compute that is defined by +extract_compute() for the “thermo_pe” compute that is defined by default for LAMMPS thermodynamic output. Set_variable() sets the value of a string variable defined in LAMMPS. This library function is a useful way for a Python function to return multiple values to LAMMPS, more than the single value that can be passed back via a -return statement. This cutoff value in the "cut" variable is then +return statement. This cutoff value in the “cut” variable is then substituted (by LAMMPS) in the pair_style command that is executed -next. Alternatively, the "LAMMPS command option" line could be used +next. Alternatively, the “LAMMPS command option” line could be used in place of the 2 preceeding lines, to have Python insert the value -into the LAMMPS command string. -

    -

    IMPORTANT NOTE: When using the callback mechanism just described, +into the LAMMPS command string.

    +
    +

    Warning

    +

    When using the callback mechanism just described, recognize that there are some operations you should not attempt because LAMMPS cannot execute them correctly. If the Python function is invoked between runs in the LAMMPS input script, then it should be OK to invoke any LAMMPS input script command via the library interface command() or file() functions, so long as the command would work if it -were executed in the LAMMPS input script directly at the same point. -

    -

    However, a Python function can also be invoked during a run, whenever +were executed in the LAMMPS input script directly at the same point.

    +
    +

    However, a Python function can also be invoked during a run, whenever an associated LAMMPS variable it is assigned to is evaluted. If the -variable is an input argument to another LAMMPS command (e.g. fix -setforce), then the Python function will be invoked +variable is an input argument to another LAMMPS command (e.g. fix setforce), then the Python function will be invoked inside the class for that command, in one of its methods that is invoked in the middle of a timestep. You cannot execute arbitrary input script commands from the Python function (again, via the @@ -387,11 +485,9 @@ command() or file() functions) at that point in the run and expect it to work. Other library functions such as those that invoke computes or other variables may have hidden side effects as well. In these cases, LAMMPS has no simple way to check that something illogical is -being attempted. -

    -
    - -

    If you run Python code directly on your workstation, either +being attempted.

    +
    +

    If you run Python code directly on your workstation, either interactively or by using Python to launch a Python script stored in a file, and your code has an error, you will typically see informative error messages. That is not the case when you run Python code from @@ -401,90 +497,144 @@ where in the Python code the problem occurred. For example, if the Python code cannot be loaded and run because it has syntax or other logic errors, you may get an error from Python pointing to the offending line, or you may get one of these generic errors from -LAMMPS: -

    -
    Could not process Python file
    -Could not process Python string 
    -
    -

    When the Python function is invoked, if it does not return properly, -you will typically get this generic error from LAMMPS: -

    -
    Python function evaluation failed 
    -
    -

    Here are three suggestions for debugging your Python code while -running it under LAMMPS. -

    -

    First, don't run it under LAMMPS, at least to start with! Debug it +LAMMPS:

    +
    Could not process Python file
    +Could not process Python string
    +
    +
    +

    When the Python function is invoked, if it does not return properly, +you will typically get this generic error from LAMMPS:

    +
    Python function evaluation failed
    +
    +
    +

    Here are three suggestions for debugging your Python code while +running it under LAMMPS.

    +

    First, don’t run it under LAMMPS, at least to start with! Debug it using plain Python. Load and invoke your function, pass it arguments, -check return values, etc. -

    -

    Second, add Python print statements to the function to check how far +check return values, etc.

    +

    Second, add Python print statements to the function to check how far it gets and intermediate values it calculates. See the discussion -above about printing from Python when running in parallel. -

    -

    Third, use Python exception handling. For example, say this statement +above about printing from Python when running in parallel.

    +

    Third, use Python exception handling. For example, say this statement in your Python function is failing, because you have not initialized the -variable foo: -

    -
    foo += 1 
    -
    -

    If you put one (or more) statements inside a "try" statement, -like this: -

    -
    import exceptions
    -print "Inside simple function"
    +variable foo:

    +
    foo += 1
    +
    +
    +

    If you put one (or more) statements inside a “try” statement, +like this:

    +
    import exceptions
    +print "Inside simple function"
     try:
       foo += 1      # one or more statements here
     except Exception, e:
    -  print "FOO error:",e 
    -
    -

    then you will get this message printed to the screen: -

    -
    FOO error: local variable 'foo' referenced before assignment 
    -
    -

    If there is no error in the try statements, then nothing is printed. + print "FOO error:",e +

    + +

    then you will get this message printed to the screen:

    +
    FOO error: local variable 'foo' referenced before assignment
    +
    +
    +

    If there is no error in the try statements, then nothing is printed. Either way the function continues on (unless you put a return or -sys.exit() in the except clause). -

    -
    - -

    Restrictions: -

    -

    This command is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the Making -LAMMPS section for more info. -

    -

    Building LAMMPS with the PYTHON package will link LAMMPS with the +sys.exit() in the except clause).

    + +
    +
    +

    Restrictions¶

    +

    This command is part of the PYTHON package. It is only enabled if +LAMMPS was built with that package. See the Making LAMMPS section for more info.

    +

    Building LAMMPS with the PYTHON package will link LAMMPS with the Python library on your system. Settings to enable this are in the lib/python/Makefile.lammps file. See the lib/python/README file for -information on those settings. -

    -

    If you use Python code which calls back to LAMMPS, via the SELF input +information on those settings.

    +

    If you use Python code which calls back to LAMMPS, via the SELF input argument explained above, there is an extra step required when building LAMMPS. LAMMPS must also be built as a shared library and your Python function must be able to to load the Python module in python/lammps.py that wraps the LAMMPS library interface. These are the same steps required to use Python by itself to wrap LAMMPS. -Details on these steps are explained in Section -python. Note that it is important that the +Details on these steps are explained in Section python. Note that it is important that the stand-alone LAMMPS executable and the LAMMPS shared library be consistent (built from the same source code files) in order for this to work. If the two have been built at different times using -different source files, problems may occur. -

    -

    As described above, you can use the python command to invoke a Python +different source files, problems may occur.

    +

    As described above, you can use the python command to invoke a Python function which calls back to LAMMPS through its Python-wrapped library interface. However you cannot do the opposite. I.e. you cannot call -LAMMPS from Python and invoke the python command to "callback" to +LAMMPS from Python and invoke the python command to “callback” to Python and execute a Python function. LAMMPS will generate an error if you try to do that. Note that we think there actually should be a -way to do that, but haven't yet been able to figure out how to do it -successfully. -

    -

    Related commands: -

    -

    shell, variable -

    -

    Default: none -

    - +way to do that, but haven’t yet been able to figure out how to do it +successfully.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/quit.html b/doc/quit.html index 38aadaed60..aac27d0e64 100644 --- a/doc/quit.html +++ b/doc/quit.html @@ -1,42 +1,225 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + quit command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    quit command¶

    +
    +

    Syntax¶

    +
    quit
    +
    +
    +
    +
    +

    Examples¶

    +
    quit
    +if "$n > 10000" then quit
    +
    +
    +
    +
    +

    Description¶

    +

    This command causes LAMMPS to exit, after shutting down all +output cleanly.

    +

    It can be used as a debug statement in an input script, to terminate +the script at some intermediate point.

    +

    It can also be used as an invoked command inside the +“then” or “else” portion of an if command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -
    +
    +
    +
    + -

    quit command -

    -

    Syntax: -

    -
    quit 
    -
    -

    Examples: -

    -
    quit
    -if "$n > 10000" then quit 
    -
    -

    Description: -

    -

    This command causes LAMMPS to exit, after shutting down all -output cleanly. -

    -

    It can be used as a debug statement in an input script, to terminate -the script at some intermediate point. -

    -

    It can also be used as an invoked command inside the -"then" or "else" portion of an if command. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    if -

    -

    Default: none -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/read_data.html b/doc/read_data.html index cf535e3665..42e8f24302 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -1,110 +1,219 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + read_data command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    read_data command -

    -

    Syntax: -

    -
    read_data file keyword args ... 
    -
    -
    • file = name of data file to read in - -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = add or offset or shift or extra/atom/types or extra/bond/types or extra/angle/types or extra/dihedral/types or extra/improper/types or group or fix - -
        add arg = append or Nstart or merge
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      read_data command¶

      +
      +

      Syntax¶

      +
      read_data file keyword args ...
      +
      +
      +
        +
      • file = name of data file to read in
      • +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = add or offset or shift or extra/atom/types or extra/bond/types or extra/angle/types or extra/dihedral/types or extra/improper/types or group or fix
      • +
      +
      +add arg = append or Nstart or merge
           append = add new atoms with IDs appended to current IDs
           Nstart = add new atoms with IDs starting with Nstart
           merge = add new atoms with their IDs unchanged
      -  offset args = toff boff aoff doff ioff
      +  offset args = toff boff aoff doff ioff
           toff = offset to add to atom types
           boff = offset to add to bond types
           aoff = offset to add to angle types
           doff = offset to add to dihedral types
           ioff = offset to add to improper types
      -  shift args = Sx Sy Sz
      +  shift args = Sx Sy Sz
           Sx,Sy,Sz = distance to shift atoms when adding to system (distance units)
      -  extra/atom/types arg = # of extra atom types
      -  extra/bond/types arg = # of extra bond types
      -  extra/angle/types arg = # of extra angle types
      -  extra/dihedral/types arg = # of extra dihedral types
      -  extra/improper/types arg = # of extra improper types
      -  group args = groupID
      +  extra/atom/types arg = # of extra atom types
      +  extra/bond/types arg = # of extra bond types
      +  extra/angle/types arg = # of extra angle types
      +  extra/dihedral/types arg = # of extra dihedral types
      +  extra/improper/types arg = # of extra improper types
      +  group args = groupID
           groupID = add atoms in data file to this group
      -  fix args = fix-ID header-string section-string
      +  fix args = fix-ID header-string section-string
           fix-ID = ID of fix to process header lines and sections of data file
           header-string = header lines containing this string will be passed to fix
      -    section-string = section names with this string will be passed to fix 
      -
      - -
    -

    Examples: -

    -
    read_data data.lj
    +    section-string = section names with this string will be passed to fix
    +
    +
    +
    +

    Examples¶

    +
    read_data data.lj
     read_data ../run7/data.polymer.gz
    -read_data data.protein fix mycmap crossterm CMAP 
    +read_data data.protein fix mycmap crossterm CMAP
     read_data data.water add append offset 3 1 1 1 1 shift 0.0 0.0 50.0
    -read_data data.water add merge 1 group solvent 
    -
    -

    Description: -

    -

    Read in a data file containing information LAMMPS needs to run a +read_data data.water add merge 1 group solvent +

    +
    +
    +
    +

    Description¶

    +

    Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file (detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the read_restart and -create_atoms commands for alternative methods. -Also see the explanation of the -restart command-line -switch which can convert a restart file to -a data file. -

    -

    This command can be used multiple times to add new atoms and their -properties to an existing system by using the add, offset, and -shift keywords. See more details below, which includes the use case -for the extra keywords. -

    -

    The group keyword adds all the atoms in the data file to the +atom coordinates; see the read_restart and +create_atoms commands for alternative methods. +Also see the explanation of the -restart command-line switch which can convert a restart file to +a data file.

    +

    This command can be used multiple times to add new atoms and their +properties to an existing system by using the add, offset, and +shift keywords. See more details below, which includes the use case +for the extra keywords.

    +

    The group keyword adds all the atoms in the data file to the specified group-ID. The group will be created if it does not already exist. This is useful if you are reading multiple data files and wish to put sets of atoms into different groups so they can be operated on later. E.g. a group of added atoms can be moved to new positions via -the displace_atoms command. Note that atoms -read from the data file are also always added to the "all" group. The -group command discusses atom groups, as used in LAMMPS. -

    -

    The use of the fix keyword is discussed below. -

    -
    - -

    Reading multiple data files -

    -

    The read_data command can be used multiple times with the same or +the displace_atoms command. Note that atoms +read from the data file are also always added to the “all” group. The +group command discusses atom groups, as used in LAMMPS.

    +

    The use of the fix keyword is discussed below.

    +
    +

    Reading multiple data files

    +

    The read_data command can be used multiple times with the same or different data files to build up a complex system from components contained in individual data files. For example one data file could contain fluid in a confined domain; a second could contain wall atoms, and the second file could be read a third time to create a wall on the other side of the fluid. The third set of atoms could be rotated to -an opposing direction using the displace_atoms -command, after the third read_data command is used. -

    -

    The add, offset, shift, extra, and group keywords are -useful in this context. -

    -

    If a simulation box does not yet exist, the add keyword +an opposing direction using the displace_atoms +command, after the third read_data command is used.

    +

    The add, offset, shift, extra, and group keywords are +useful in this context.

    +

    If a simulation box does not yet exist, the add keyword cannot be used; the read_data command is being used for the first time. If a simulation box does exist, due to using the -create_box command, or a previous read_data command, -then the add keyword must be used. -

    -

    IMPORTANT NOTE: The simulation box size (xlo to xhi, ylo to yhi, zlo +create_box command, or a previous read_data command, +then the add keyword must be used.

    +
    +

    Warning

    +

    The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in the new data file will be merged with the existing simulation box to create a large enough box in each dimension to contain both the existing and new atoms. Each box dimension never @@ -113,29 +222,27 @@ grows. Care must be used if you are growing the existing simulation box in a periodic dimension. If there are existing atoms with bonds that straddle that periodic boundary, then the atoms may become far apart if the box size grows. This will separate the atoms in the -bond, which can lead to "lost" bond atoms or bad dynamics. -

    -

    The three choices for the add argument affect how the IDs of atoms -in the data file are treated. If append is specified, atoms in the +bond, which can lead to “lost” bond atoms or bad dynamics.

    +
    +

    The three choices for the add argument affect how the IDs of atoms +in the data file are treated. If append is specified, atoms in the data file are added to the current system, with their atom IDs reset so that an atomID = M in the data file becomes atomID = N+M, where N is the largest atom ID in the current system. This rule is applied to all occurrences of atom IDs in the data file, e.g. in the Velocity or -Bonds section. If Nstart is specified, then Nstart is a numeric +Bonds section. If Nstart is specified, then Nstart is a numeric value is given, e.g. 1000, so that an atomID = M in the data file -becomes atomID = 1000+M. If merge is specified, the data file atoms +becomes atomID = 1000+M. If merge is specified, the data file atoms are added to the current system without changing their IDs. They are assumed to merge (without duplication) with the currently defined atoms. It is up to you to insure there are no multiply defined atom IDs, as LAMMPS only performs an incomplete check that this is the case -by insuring the resulting max atomID >= the number of atoms. -

    -

    The offset and shift keywords can only be used if the add -keyword is also specified. -

    -

    The offset keyword adds the specified offset values to the atom +by insuring the resulting max atomID >= the number of atoms.

    +

    The offset and shift keywords can only be used if the add +keyword is also specified.

    +

    The offset keyword adds the specified offset values to the atom types, bond types, angle types, dihedral types, and improper types as -they are read from the data file. E.g. if toff = 2, and the file +they are read from the data file. E.g. if toff = 2, and the file uses atom types 1,2,3, then the added atoms will have atom types 3,4,5. These offsets apply to all occurrences of types in the data file, e.g. for the Atoms or Masses or Pair Coeffs or Bond Coeffs @@ -144,161 +251,146 @@ attributes from a data file in different simulations, where you want their types (atom, bond, angle, etc) to be different depending on what other types already exist. All five offset values must be specified, but individual values will be ignored if the data file does not use -that attribute (e.g. no bonds). -

    -

    The shift keyword can be used to specify an (Sx, Sy, Sz) +that attribute (e.g. no bonds).

    +

    The shift keyword can be used to specify an (Sx, Sy, Sz) displacement applied to the coordinates of each atom. Sz must be 0.0 for a 2d simulation. This is a mechanism for adding structured collections of atoms at different locations within the simulation box, to build up a complex geometry. It is up to you to insure atoms do not end up overlapping unphysically which would lead to bad dynamics. -Note that the displace_atoms command can be used +Note that the displace_atoms command can be used to move a subset of atoms after they have been read from a data file. -Likewise, the delete_atoms command can be used to +Likewise, the delete_atoms command can be used to remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + -Sx, xhi_new = xhi + Sx. -

    -

    The extra keywords can only be used the first time the read_data +Sx, xhi_new = xhi + Sx.

    +

    The extra keywords can only be used the first time the read_data command is used. They are useful if you intend to add new atom, bond, angle, etc types later with additional read_data commands. This is because the maximum number of allowed atom, bond, angle, etc types is set by LAMMPS when the system is first initialized. If you do not use -the extra keywords, then the number of these types will be limited +the extra keywords, then the number of these types will be limited to what appears in the first data file you read. For example, if the first data file is a solid substrate of Si, it will likely specify a single atom type. If you read a second data file with a different material (water molecules) that sit on top of the substrate, you will want to use different atom types for those atoms. You can only do -this if you set the extra/atom/types keyword to a sufficiently large +this if you set the extra/atom/types keyword to a sufficiently large value when reading the substrate data file. Note that use of the -extra keywords also allows each data file to contain sections like +extra keywords also allows each data file to contain sections like Masses or Pair Coeffs or Bond Coeffs which are sized appropriately for -the number of types in that data file. If the offset keyword is +the number of types in that data file. If the offset keyword is used appropriately when each data file is read, the values in those sections will be stored correctly in the larger data structures -allocated by the use of the extra keywords. E.g. the substrate file +allocated by the use of the extra keywords. E.g. the substrate file can list mass and pair coefficients for type 1 silicon atoms. The water file can list mass and pair coeffcients for type 1 and type 2 -hydrogen and oxygen atoms. Use of the extra and offset keywords +hydrogen and oxygen atoms. Use of the extra and offset keywords will store those mass and pair coefficient values appropriately in data structures that allow for 3 atom types (Si, H, O). Of course, you would still need to specify coefficients for H/Si and O/Si interactions in your input script to have a complete pairwise -interaction model. -

    -

    An alternative to using the extra keywords with the read_data -command, is to use the create_box command to +interaction model.

    +

    An alternative to using the extra keywords with the read_data +command, is to use the create_box command to initialize the simulation box and all the various type limits you need -via its extra keywords. Then use the read_data command one or more +via its extra keywords. Then use the read_data command one or more times to populate the system with atoms, bonds, angles, etc, using the -offset keyword if desired to alter types used in the various data -files you read. -

    -
    - -

    Format of a data file -

    -

    The structure of the data file is important, though many settings and +offset keyword if desired to alter types used in the various data +files you read.

    +
    +

    Format of a data file

    +

    The structure of the data file is important, though many settings and sections are optional or can come in any order. See the examples -directory for sample data files for different problems. -

    -

    A data file has a header and a body. The header appears first. The +directory for sample data files for different problems.

    +

    A data file has a header and a body. The header appears first. The first line of the header is always skipped; it typically contains a description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with '#' that is ignored. If the +can have a trailing comment starting with ‘#’ that is ignored. If the line is blank (only whitespace after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header -keyword, the line begins the body of the file. -

    -

    The body of the file contains zero or more sections. The first line +value(s) is read from the line. If it doesn’t contain a header +keyword, the line begins the body of the file.

    +

    The body of the file contains zero or more sections. The first line of a section has only a keyword. This line can have a trailing -comment starting with '#' that is either ignored or can be used to +comment starting with ‘#’ that is either ignored or can be used to check for a style match, as described below. The next line is skipped. The remaining lines of the section contain values. The number of lines depends on the section keyword as described below. Zero or more blank lines can be used between sections. Sections can -appear in any order, with a few exceptions as noted below. -

    -

    The keyword fix can be used one or more times. Each usage specifies +appear in any order, with a few exceptions as noted below.

    +

    The keyword fix can be used one or more times. Each usage specifies a fix that will be used to process a specific portion of the data -file. Any header line containing header-string and any section with -a name containing section-string will be passed to the specified -fix. See the fix property/atom command for +file. Any header line containing header-string and any section with +a name containing section-string will be passed to the specified +fix. See the fix property/atom command for an example of a fix that operates in this manner. The doc page for the fix defines the syntax of the header line(s) and section(s) that -it reads from the data file. Note that the header-string can be +it reads from the data file. Note that the header-string can be specified as NULL, in which case no header lines are passed to the fix. This means that it can infer the length of its Section from -standard header settings, such as the number of atoms. -

    -

    The formatting of individual lines in the data file (indentation, +standard header settings, such as the number of atoms.

    +

    The formatting of individual lines in the data file (indentation, spacing between words and numbers) is not important except that header and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must -be capitalized as shown and can't have extra white space between their -words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or -the 2 words in "Bond Coeffs", is not valid. -

    -
    - -

    Format of the header of a data file -

    -

    These are the recognized header keywords. Header lines can come in +be capitalized as shown and can’t have extra white space between their +words - e.g. two spaces or a tab between the 2 words in “xlo xhi” or +the 2 words in “Bond Coeffs”, is not valid.

    +
    +

    Format of the header of a data file

    +

    These are the recognized header keywords. Header lines can come in any order. The value(s) are read from the beginning of the line. -Thus the keyword atoms should be in a line like "1000 atoms"; the -keyword ylo yhi should be in a line like "-10.0 10.0 ylo yhi"; the -keyword xy xz yz should be in a line like "0.0 5.0 6.0 xy xz yz". +Thus the keyword atoms should be in a line like “1000 atoms”; the +keyword ylo yhi should be in a line like “-10.0 10.0 ylo yhi”; the +keyword xy xz yz should be in a line like “0.0 5.0 6.0 xy xz yz”. All these settings have a default value of 0, except the lo/hi box size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. -

    -
    • atoms = # of atoms in system -
    • bonds = # of bonds in system -
    • angles = # of angles in system -
    • dihedrals = # of dihedrals in system -
    • impropers = # of impropers in system -
    • atom types = # of atom types in system -
    • bond types = # of bond types in system -
    • angle types = # of angle types in system -
    • dihedral types = # of dihedral types in system -
    • improper types = # of improper types in system -
    • extra bond per atom = leave space for this many new bonds per atom -
    • extra angle per atom = leave space for this many new angles per atom -
    • extra dihedral per atom = leave space for this many new dihedrals per atom -
    • extra improper per atom = leave space for this many new impropers per atom -
    • extra special per atom = leave space for this many new special bonds per atom -
    • ellipsoids = # of ellipsoids in system -
    • lines = # of line segments in system -
    • triangles = # of triangles in system -
    • bodies = # of bodies in system -
    • xlo xhi = simulation box boundaries in x dimension -
    • ylo yhi = simulation box boundaries in y dimension -
    • zlo zhi = simulation box boundaries in z dimension -
    • xy xz yz = simulation box tilt factors for triclinic system -
    -

    The initial simulation box size is determined by the lo/hi settings. +is different than the default.

    +
      +
    • atoms = # of atoms in system
    • +
    • bonds = # of bonds in system
    • +
    • angles = # of angles in system
    • +
    • dihedrals = # of dihedrals in system
    • +
    • impropers = # of impropers in system
    • +
    • atom types = # of atom types in system
    • +
    • bond types = # of bond types in system
    • +
    • angle types = # of angle types in system
    • +
    • dihedral types = # of dihedral types in system
    • +
    • improper types = # of improper types in system
    • +
    • extra bond per atom = leave space for this many new bonds per atom
    • +
    • extra angle per atom = leave space for this many new angles per atom
    • +
    • extra dihedral per atom = leave space for this many new dihedrals per atom
    • +
    • extra improper per atom = leave space for this many new impropers per atom
    • +
    • extra special per atom = leave space for this many new special bonds per atom
    • +
    • ellipsoids = # of ellipsoids in system
    • +
    • lines = # of line segments in system
    • +
    • triangles = # of triangles in system
    • +
    • bodies = # of bodies in system
    • +
    • xlo xhi = simulation box boundaries in x dimension
    • +
    • ylo yhi = simulation box boundaries in y dimension
    • +
    • zlo zhi = simulation box boundaries in z dimension
    • +
    • xy xz yz = simulation box tilt factors for triclinic system
    • +
    +

    The initial simulation box size is determined by the lo/hi settings. In any dimension, the system may be periodic or non-periodic; see the -boundary command. When the simulation box is created +boundary command. When the simulation box is created it is also partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and -the settings of the processors command. The -partitioning can later be changed by the balance or -fix balance commands. -

    -

    If the xy xz yz line does not appear, LAMMPS will set up an +the settings of the processors command. The +partitioning can later be changed by the balance or +fix balance commands.

    +

    If the xy xz yz line does not appear, LAMMPS will set up an axis-aligned (orthogonal) simulation box. If the line does appear, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting +“origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of +(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values +and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. -

    -

    By default, the tilt factors (xy,xz,yz) can not skew the box more than +transform it into the parallelepiped.

    +

    By default, the tilt factors (xy,xz,yz) can not skew the box more than half the distance of the corresponding parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz @@ -306,338 +398,342 @@ must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all geometrically equivalent. If you wish to define a box -with tilt factors that exceed these limits, you can use the box -tilt command, with a setting of large; a setting of -small is the default. -

    -

    See Section_howto 12 of the doc pages +with tilt factors that exceed these limits, you can use the box tilt command, with a setting of large; a setting of +small is the default.

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations. -

    -

    When a triclinic system is used, the simulation domain should normally +triclinic representations.

    +

    When a triclinic system is used, the simulation domain should normally be periodic in the dimension that the tilt is applied to, which is given by the second dimension of the tilt factor (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by -the boundary command. For example, if the xy tilt +the boundary command. For example, if the xy tilt factor is non-zero, then the y dimension should be periodic. Similarly, the z dimension should be periodic if xz or yz is non-zero. LAMMPS does not require this periodicity, but you may lose atoms if -this is not the case. -

    -

    Also note that if your simulation will tilt the box, e.g. via the fix -deform command, the simulation box must be setup to +this is not the case.

    +

    Also note that if your simulation will tilt the box, e.g. via the fix deform command, the simulation box must be setup to be triclinic, even if the tilt factors are initially 0.0. You can also change an orthogonal box to a triclinic box or vice versa by -using the change box command with its ortho and -triclinic options. -

    -

    For 2d simulations, the zlo zhi values should be set to bound the z +using the change box command with its ortho and +triclinic options.

    +

    For 2d simulations, the zlo zhi values should be set to bound the z coords for atoms that appear in the file; the default of -0.5 0.5 is valid if all z coords are 0.0. For 2d triclinic simulations, the xz -and yz tilt factors must be 0.0. -

    -

    If the system is periodic (in a dimension), then atom coordinates can +and yz tilt factors must be 0.0.

    +

    If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a -periodic sense) back inside the box. Note that if the add option is +periodic sense) back inside the box. Note that if the add option is being used to add atoms to a simulation box that already exists, this periodic remapping will be performed using simulation box bounds that are the union of the existing box and the box boundaries in the new -data file. -

    -

    IMPORTANT NOTE: If the system is non-periodic (in a dimension), then +data file.

    +
    +

    Warning

    +

    If the system is non-periodic (in a dimension), then all atoms in the data file must have coordinates (in that dimension) -that are "greater than or equal to" the lo value and "less than or -equal to" the hi value. If the non-periodic dimension is of style -"fixed" (see the boundary command), then the atom -coords must be strictly "less than" the hi value, due to the way +that are “greater than or equal to” the lo value and “less than or +equal to” the hi value. If the non-periodic dimension is of style +“fixed” (see the boundary command), then the atom +coords must be strictly “less than” the hi value, due to the way LAMMPS assign atoms to processors. Note that you should not make the lo/hi values radically smaller/larger than the extent of the atoms. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because LAMMPS uses the specified box size to layout the 3d grid of processors. A huge (mostly empty) box will be sub-optimal for performance when using -"fixed" boundary conditions (see the boundary -command). When using "shrink-wrap" boundary conditions (see the -boundary command), a huge (mostly empty) box may cause +“fixed” boundary conditions (see the boundary +command). When using “shrink-wrap” boundary conditions (see the +boundary command), a huge (mostly empty) box may cause a parallel simulation to lose atoms when LAMMPS shrink-wraps the box around the atoms. The read_data command will generate an error -in this case. -

    -

    The "extra bond per atom" setting (angle, dihedral, improper) is only +in this case.

    +
    +

    The “extra bond per atom” setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to -the system when a simulation runs, e.g. by using the fix -bond/create command. This will pre-allocate +the system when a simulation runs, e.g. by using the fix bond/create command. This will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, -dihedrals, impropers). -

    -

    The "extra special per atom" setting is typically only needed if new -bonds/angles/etc will be added to the system, e.g. by using the fix -bond/create command. Or if entire new molecules -will be added to the system, e.g. by using the fix -deposit or fix pour commands, which +dihedrals, impropers).

    +

    The “extra special per atom” setting is typically only needed if new +bonds/angles/etc will be added to the system, e.g. by using the fix bond/create command. Or if entire new molecules +will be added to the system, e.g. by using the fix deposit or fix pour commands, which will have more special 1-2,1-3,1-4 neighbors than any other molecules defined in the data file. Using this setting will pre-allocate space in the LAMMPS data structures for storing these neighbors. See the -special_bonds and molecule doc -pages for more discussion of 1-2,1-3,1-4 neighbors. -

    -

    IMPORTANT NOTE: All of the "extra" settings are only used if they -appear in the first data file read; see the description of the add +special_bonds and molecule doc +pages for more discussion of 1-2,1-3,1-4 neighbors.

    +
    +

    Warning

    +

    All of the “extra” settings are only used if they +appear in the first data file read; see the description of the add keyword above for reading multiple data files. If they appear in -later data files, they are ignored. -

    -

    The "ellipsoids" and "lines" and "triangles" and "bodies" settings are -only used with atom_style ellipsoid or line or tri or -body and specify how many of the atoms are +later data files, they are ignored.

    +
    +

    The “ellipsoids” and “lines” and “triangles” and “bodies” settings are +only used with atom_style ellipsoid or line or tri or body and specify how many of the atoms are finite-size ellipsoids or lines or triangles or bodies; the remainder are point particles. See the discussion of ellipsoidflag and the -Ellipsoids section below. See the discussion of lineflag and the -Lines section below. See the discussion of triangleflag and the -Triangles section below. See the discussion of bodyflag and the -Bodies section below. -

    -

    IMPORTANT NOTE: For atom_style template, the +Ellipsoids section below. See the discussion of lineflag and the +Lines section below. See the discussion of triangleflag and the +Triangles section below. See the discussion of bodyflag and the +Bodies section below.

    +
    +

    Warning

    +

    For atom_style template, the molecular topology (bonds,angles,etc) is contained in the molecule -templates read-in by the molecule command. This means -you cannot set the bonds, angles, etc header keywords in the data -file, nor can you define Bonds, Angles, etc sections as discussed -below. You can set the bond types, angle types, etc header +templates read-in by the molecule command. This means +you cannot set the bonds, angles, etc header keywords in the data +file, nor can you define Bonds, Angles, etc sections as discussed +below. You can set the bond types, angle types, etc header keywords, though it is not necessary. If specified, they must match -the maximum values defined in any of the template molecules. -

    -
    - -

    Format of the body of a data file -

    -

    These are the section keywords for the body of the file. -

    -
    • Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies = atom-property sections -
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections -
    • Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs = force field sections -
    • BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs = class 2 force field sections -
    -

    These keywords will check an appended comment for a match with the -currently defined style: -

    -
    • Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs -
    -

    For example, these lines: -

    -
    Atoms # sphere
    -Pair Coeffs # lj/cut 
    -
    -

    will check if the currently-defined atom_style is -sphere, and the current pair_style is lj/cut. If +the maximum values defined in any of the template molecules.

    +
    +
    +

    Format of the body of a data file

    +

    These are the section keywords for the body of the file.

    +
      +
    • Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies = atom-property sections
    • +
    • Bonds, Angles, Dihedrals, Impropers = molecular topology sections
    • +
    • Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs = force field sections
    • +
    • BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs = class 2 force field sections
    • +
    +

    These keywords will check an appended comment for a match with the +currently defined style:

    +
      +
    • Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs
    • +
    +

    For example, these lines:

    +
    Atoms # sphere
    +Pair Coeffs # lj/cut
    +
    +
    +

    will check if the currently-defined atom_style is +sphere, and the current pair_style is lj/cut. If not, LAMMPS will issue a warning to indicate that the data file section likely does not contain the correct number or type of -parameters expected for the currently-defined style. -

    -

    Each section is listed below in alphabetic order. The format of each +parameters expected for the currently-defined style.

    +

    Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and -rules (if any) for where it can appear in the data file. -

    -

    Any individual line in the various sections can have a trailing -comment starting with "#" for annotation purposes. E.g. in the -Atoms section: -

    -
    10 1 17 -1.0 10.0 5.0 6.0   # salt ion 
    -
    -
    - -

    Angle Coeffs section: -

    -
    • one line per angle type - -
    • line syntax: ID coeffs - -
        ID = angle type (1-N)
      -  coeffs = list of coeffs 
      -
      -
    • example: - -
        6 70 108.5 0 0 
      -
      - -
    -

    The number and meaning of the coefficients are specific to the defined -angle style. See the angle_style and -angle_coeff commands for details. Coefficients can -also be set via the angle_coeff command in the -input script. -

    -
    - -

    AngleAngle Coeffs section: -

    -
    • one line per improper type - -
    • line syntax: ID coeffs - -
        ID = improper type (1-N)
      -  coeffs = list of coeffs (see improper_coeff) 
      -
      - -
    -
    - -

    AngleAngleTorsion Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs (see dihedral_coeff) 
      -
      - -
    -
    - -

    Angles section: -

    -
    • one line per angle - -
    • line syntax: ID type atom1 atom2 atom3 - -
        ID = number of angle (1-Nangles)
      +rules (if any) for where it can appear in the data file.

      +

      Any individual line in the various sections can have a trailing +comment starting with “#” for annotation purposes. E.g. in the +Atoms section:

      +
      10 1 17 -1.0 10.0 5.0 6.0   # salt ion
      +
      +
      +
      +

      Angle Coeffs section:

      +
        +
      • one line per angle type
      • +
      • line syntax: ID coeffs
      • +
      +
      ID = angle type (1-N)
      +  coeffs = list of coeffs
      +
      +
      +
        +
      • example:
      • +
      +
      6 70 108.5 0 0
      +
      +
      +

      The number and meaning of the coefficients are specific to the defined +angle style. See the angle_style and +angle_coeff commands for details. Coefficients can +also be set via the angle_coeff command in the +input script.

      +
      +

      AngleAngle Coeffs section:

      +
        +
      • one line per improper type
      • +
      • line syntax: ID coeffs
      • +
      +
      +ID = improper type (1-N)
      +  coeffs = list of coeffs (see improper_coeff)
      +
      +
      +

      AngleAngleTorsion Coeffs section:

      +
        +
      • one line per dihedral type
      • +
      • line syntax: ID coeffs
      • +
      +
      +ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see dihedral_coeff)
      +
      +
      +

      Angles section:

      +
        +
      • one line per angle
      • +
      • line syntax: ID type atom1 atom2 atom3
      • +
      +
      ID = number of angle (1-Nangles)
         type = angle type (1-Nangletype)
      -  atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle 
      -
      -example: -
      -
        2 2 17 29 430 
      -
      - -
    -

    The 3 atoms are ordered linearly within the angle. Thus the central + atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle +

    + +

    example: +.. parsed-literal:

    +
    2 2 17 29 430
    +
    +
    +

    The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. -E.g. H,O,H for a water molecule. The Angles section must appear -after the Atoms section. All values in this section must be -integers (1, not 1.0). -

    -
    - -

    AngleTorsion Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs (see dihedral_coeff) 
      -
      - -
    -
    - -

    Atoms section: -

    -
    • one line per atom -
    • line syntax: depends on atom style -
    -

    An Atoms section must appear in the data file if natoms > 0 in the +E.g. H,O,H for a water molecule. The Angles section must appear +after the Atoms section. All values in this section must be +integers (1, not 1.0).

    +
    +

    AngleTorsion Coeffs section:

    +
      +
    • one line per dihedral type
    • +
    • line syntax: ID coeffs
    • +
    +
    +ID = dihedral type (1-N)
    +  coeffs = list of coeffs (see dihedral_coeff)
    +
    +
    +

    Atoms section:

    +
      +
    • one line per atom
    • +
    • line syntax: depends on atom style
    • +
    +

    An Atoms section must appear in the data file if natoms > 0 in the header section. The atoms can be listed in any order. These are the -line formats for each atom style in LAMMPS. As +line formats for each atom style in LAMMPS. As discussed below, each line can optionally have 3 flags (nx,ny,nz) appended to it, which indicate which image of a periodic simulation box the atom is in. These may be important to include for some kinds -of analysis. -

    -
    - - - - - - - - - - - - - - - - - -
    angle atom-ID molecule-ID atom-type x y z
    atomic atom-ID atom-type x y z
    body atom-ID atom-type bodyflag mass x y z
    bond atom-ID molecule-ID atom-type x y z
    charge atom-ID atom-type q x y z
    dipole atom-ID atom-type q x y z mux muy muz
    electron atom-ID atom-type q spin eradius x y z
    ellipsoid atom-ID atom-type ellipsoidflag density x y z
    full atom-ID molecule-ID atom-type q x y z
    line atom-ID molecule-ID atom-type lineflag density x y z
    meso atom-ID atom-type rho e cv x y z
    molecular atom-ID molecule-ID atom-type x y z
    peri atom-ID atom-type volume density x y z
    sphere atom-ID atom-type diameter density x y z
    template atom-ID molecule-ID template-index template-atom atom-type x y z
    tri atom-ID molecule-ID atom-type triangleflag density x y z
    wavepacket atom-ID atom-type charge spin eradius etag cs_re cs_im x y z
    hybrid atom-ID atom-type x y z sub-style1 sub-style2 ... -
    - -

    The keywords have these meanings: -

    -
    • atom-ID = integer ID of atom -
    • molecule-ID = integer ID of molecule the atom belongs to -
    • atom-type = type of atom (1-Ntype) -
    • q = charge on atom (charge units) -
    • diameter = diameter of spherical atom (distance units) -
    • ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles -
    • lineflag = 1 for line segment particles, 0 for point particles -
    • triangleflag = 1 for triangular particles, 0 for point particles -
    • bodyflag = 1 for body particles, 0 for point particles -
    • template-index = which molecule within the molecule template the atom is part of -
    • template-atom = which atom within a template molecule the atom is -
    • density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) -
    • mass = mass of particle (mass units) -
    • volume = volume of particle (distance^3 units) -
    • x,y,z = coordinates of atom -
    • mux,muy,muz = components of dipole moment of atom (dipole units) -
    • rho = density (need units) for SPH particles -
    • e = energy (need units) for SPH particles -
    • cv = heat capacity (need units) for SPH particles -
    • spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP) -
    • eradius = electron radius (or fixed-core radius) -
    • etag = integer ID of electron that each wavepacket belongs to -
    • cs_re,cs_im = real/imaginary parts of wavepacket coefficients -
    -

    The units for these quantities depend on the unit style; see the -units command for details. -

    -

    For 2d simulations specify z as 0.0, or a value within the zlo zhi -setting in the data file header. -

    -

    The atom-ID is used to identify the atom throughout the simulation and +of analysis.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    angleatom-ID molecule-ID atom-type x y z
    atomicatom-ID atom-type x y z
    bodyatom-ID atom-type bodyflag mass x y z
    bondatom-ID molecule-ID atom-type x y z
    chargeatom-ID atom-type q x y z
    dipoleatom-ID atom-type q x y z mux muy muz
    electronatom-ID atom-type q spin eradius x y z
    ellipsoidatom-ID atom-type ellipsoidflag density x y z
    fullatom-ID molecule-ID atom-type q x y z
    lineatom-ID molecule-ID atom-type lineflag density x y z
    mesoatom-ID atom-type rho e cv x y z
    molecularatom-ID molecule-ID atom-type x y z
    periatom-ID atom-type volume density x y z
    sphereatom-ID atom-type diameter density x y z
    templateatom-ID molecule-ID template-index template-atom atom-type x y z
    triatom-ID molecule-ID atom-type triangleflag density x y z
    wavepacketatom-ID atom-type charge spin eradius etag cs_re cs_im x y z
    hybridatom-ID atom-type x y z sub-style1 sub-style2 ...
    +

    The keywords have these meanings:

    +
      +
    • atom-ID = integer ID of atom
    • +
    • molecule-ID = integer ID of molecule the atom belongs to
    • +
    • atom-type = type of atom (1-Ntype)
    • +
    • q = charge on atom (charge units)
    • +
    • diameter = diameter of spherical atom (distance units)
    • +
    • ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles
    • +
    • lineflag = 1 for line segment particles, 0 for point particles
    • +
    • triangleflag = 1 for triangular particles, 0 for point particles
    • +
    • bodyflag = 1 for body particles, 0 for point particles
    • +
    • template-index = which molecule within the molecule template the atom is part of
    • +
    • template-atom = which atom within a template molecule the atom is
    • +
    • density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
    • +
    • mass = mass of particle (mass units)
    • +
    • volume = volume of particle (distance^3 units)
    • +
    • x,y,z = coordinates of atom
    • +
    • mux,muy,muz = components of dipole moment of atom (dipole units)
    • +
    • rho = density (need units) for SPH particles
    • +
    • e = energy (need units) for SPH particles
    • +
    • cv = heat capacity (need units) for SPH particles
    • +
    • spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)
    • +
    • eradius = electron radius (or fixed-core radius)
    • +
    • etag = integer ID of electron that each wavepacket belongs to
    • +
    • cs_re,cs_im = real/imaginary parts of wavepacket coefficients
    • +
    +

    The units for these quantities depend on the unit style; see the +units command for details.

    +

    For 2d simulations specify z as 0.0, or a value within the zlo zhi +setting in the data file header.

    +

    The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for each atom. Unique values larger than Natoms can be used, but they will cause extra memory to be allocated on each processor, if an atom map array is used, but not if an atom map hash is used; see the -atom_modify command for details. If an atom map is -not used (e.g. an atomic system with no bonds), and you don't care if +atom_modify command for details. If an atom map is +not used (e.g. an atomic system with no bonds), and you don’t care if unique atom IDs appear in dump files, then the atom-IDs can all be set -to 0. -

    -

    The molecule ID is a 2nd identifier attached to an atom. Normally, it +to 0.

    +

    The molecule ID is a 2nd identifier attached to an atom. Normally, it is a number from 1 to N, identifying which molecule the atom belongs -to. It can be 0 if it is an unbonded atom or if you don't care to -keep track of molecule assignments. -

    -

    The diameter specifies the size of a finite-size spherical particle. -It can be set to 0.0, which means that atom is a point particle. -

    -

    The ellipsoidflag, lineflag, triangleflag, and bodyflag determine +to. It can be 0 if it is an unbonded atom or if you don’t care to +keep track of molecule assignments.

    +

    The diameter specifies the size of a finite-size spherical particle. +It can be set to 0.0, which means that atom is a point particle.

    +

    The ellipsoidflag, lineflag, triangleflag, and bodyflag determine whether the particle is a finite-size ellipsoid or line or triangle or body of finite size, or whether the particle is a point particle. Additional attributes must be defined for each ellipsoid, line, -triangle, or body in the corresponding Ellipsoids, Lines, -Triangles, or Bodies section. -

    -

    The template-index and template-atom are only defined used by -atom_style template. In this case the -molecule command is used to define a molecule template +triangle, or body in the corresponding Ellipsoids, Lines, +Triangles, or Bodies section.

    +

    The template-index and template-atom are only defined used by +atom_style template. In this case the +molecule command is used to define a molecule template which contains one or more molecules. If an atom belongs to one of -those molecules, its template-index and template-atom are both set +those molecules, its template-index and template-atom are both set to positive integers; if not the values are both 0. The -template-index is which molecule (1 to Nmols) the atom belongs to. -The template-atom is which atom (1 to Natoms) within the molecule -the atom is. -

    -

    Some pair styles and fixes and computes that operate on finite-size +template-index is which molecule (1 to Nmols) the atom belongs to. +The template-atom is which atom (1 to Natoms) within the molecule +the atom is.

    +

    Some pair styles and fixes and computes that operate on finite-size particles allow for a mixture of finite-size and point particles. See -the doc pages of individual commands for details. -

    -

    For finite-size particles, the density is used in conjunction with the +the doc pages of individual commands for details.

    +

    For finite-size particles, the density is used in conjunction with the particle volume to set the mass of each particle as mass = density * volume. In this context, volume can be a 3d quantity (for spheres or ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line @@ -645,36 +741,34 @@ segments). If the volume is 0.0, meaning a point particle, then the density value is used as the mass. One exception is for the body atom style, in which case the mass of each particle (body or point particle) is specified explicitly. This is because the volume of the -body is unknown. -

    -

    For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), +body is unknown.

    +

    For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -atom_style command. The sub-style specific values +atom_style command. The sub-style specific values are those that are not the 5 standard ones (ID,type,x,y,z). For -example, for the "charge" sub-style, a "q" value would appear. For -the "full" sub-style, a "molecule-ID" and "q" would appear. These are -listed in the same order they appear as listed above. Thus if -

    -
    atom_style hybrid charge sphere 
    -
    -

    were used in the input script, each atom line would have these fields: -

    -
    atom-ID atom-type x y z q diameter density 
    -
    -

    Note that if a non-standard value is defined by multiple sub-styles, +example, for the “charge” sub-style, a “q” value would appear. For +the “full” sub-style, a “molecule-ID” and “q” would appear. These are +listed in the same order they appear as listed above. Thus if

    +
    atom_style hybrid charge sphere
    +
    +
    +

    were used in the input script, each atom line would have these fields:

    +
    atom-ID atom-type x y z q diameter density
    +
    +
    +

    Note that if a non-standard value is defined by multiple sub-styles, it must appear mutliple times in the atom line. E.g. the atom line -for atom_style hybrid dipole full would list "q" twice: -

    -
    atom-ID atom-type x y z q mux muy myz molecule-ID q 
    -
    -

    Atom lines specify the (x,y,z) coordinates of atoms. These can be +for atom_style hybrid dipole full would list “q” twice:

    +
    atom-ID atom-type x y z q mux muy myz molecule-ID q
    +
    +
    +

    Atom lines specify the (x,y,z) coordinates of atoms. These can be inside or outside the simulation box. When the data file is read, LAMMPS wraps coordinates outside the box back into the box for dimensions that are periodic. As discussed above, if an atom is -outside the box in a non-periodic dimension, it will be lost. -

    -

    LAMMPS always stores atom coordinates as values which are inside the +outside the box in a non-periodic dimension, it will be lost.

    +

    LAMMPS always stores atom coordinates as values which are inside the simulation box. It also stores 3 flags which indicate which image of the simulation box (in each dimension) the atom would be in if its coordinates were unwrapped across periodic boundaries. An image flag @@ -682,85 +776,76 @@ of 0 means the atom is still inside the box when unwrapped. A value of 2 means add 2 box lengths to get the unwrapped coordinate. A value of -1 means subtract 1 box length to get the unwrapped coordinate. LAMMPS updates these flags as atoms cross periodic boundaries during -the simulation. The dump command can output atom atom +the simulation. The dump command can output atom atom coordinates in wrapped or unwrapped form, as well as the 3 image -flags. -

    -

    In the data file, atom lines (all lines or none of them) can +flags.

    +

    In the data file, atom lines (all lines or none of them) can optionally list 3 trailing integer values (nx,ny,nz), which are used -to initialize the atom's image flags. If nx,ny,nz values are not +to initialize the atom’s image flags. If nx,ny,nz values are not listed in the data file, LAMMPS initializes them to 0. Note that the -image flags are immediately updated if an atom's coordinates need to -wrapped back into the simulation box. -

    -

    It is only important to set image flags correctly in a data file if a +image flags are immediately updated if an atom’s coordinates need to +wrapped back into the simulation box.

    +

    It is only important to set image flags correctly in a data file if a simulation model relies on unwrapped coordinates for some calculation; otherwise they can be left unspecified. Examples of LAMMPS commands -that use unwrapped coordinates internally are as follows: -

    -
    • Atoms in a rigid body (see fix rigid, fix -rigid/small) must have consistent image flags, so that +that use unwrapped coordinates internally are as follows:

      +
        +
      • Atoms in a rigid body (see fix rigid, fix rigid/small) must have consistent image flags, so that when the atoms are unwrapped, they are near each other, i.e. as a -single body. - -
      • If the replicate command is used to generate a larger +single body.
      • +
      • If the replicate command is used to generate a larger system, image flags must be consistent for bonded atoms when the bond crosses a periodic boundary. I.e. the values of the image flags should be different by 1 (in the appropriate dimension) for the two -atoms in such a bond. - -
      • If you plan to dump image flags and perform post-analysis +atoms in such a bond.
      • +
      • If you plan to dump image flags and perform post-analysis that will unwrap atom coordinates, it may be important that a continued run (restarted from a data file) begins with image flags -that are consistent with the previous run. -
      -

      Atom velocities and other atom quantities not defined above are set to -0.0 when the Atoms section is read. Velocities can be set later by -a Velocities section in the data file or by a -velocity or set command in the input -script. -

      -
      - -

      Bodies section: -

      -
      • one or more lines per body - -
      • first line syntax: atom-ID ninteger ndouble - -
          ninteger = # of integer quantities for this particle
        -  ndouble = # of floating-point quantities for this particle 
        -
        -
      • 0 or more integer lines: one line for every 10 integer quantities - -
      • 0 or more double lines: one line for every 10 double quantities - -
      • example: - -
          12 3 6
        +that are consistent with the previous run.
      • +
      +

      Atom velocities and other atom quantities not defined above are set to +0.0 when the Atoms section is read. Velocities can be set later by +a Velocities section in the data file or by a +velocity or set command in the input +script.

      +
      +

      Bodies section:

      +
        +
      • one or more lines per body
      • +
      • first line syntax: atom-ID ninteger ndouble
      • +
      +
      ninteger = # of integer quantities for this particle
      +  ndouble = # of floating-point quantities for this particle
      +
      +
      +
        +
      • 0 or more integer lines: one line for every 10 integer quantities
      • +
      • 0 or more double lines: one line for every 10 double quantities
      • +
      • example:
      • +
      +
      12 3 6
         2 3 2
      -  1.0 2.0 3.0 1.0 2.0 4.0 
      -
      -
    • example: - -
        12 0 14
      +  1.0 2.0 3.0 1.0 2.0 4.0
      +
      + +
        +
      • example:
      • +
      +
      12 0 14
         1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
      -  2.0 4.0 4.0 2.0 
      -
      - -
    -

    The Bodies section must appear if atom_style body -is used and any atoms listed in the Atoms section have a bodyflag = + 2.0 4.0 4.0 2.0 + + +

    The Bodies section must appear if atom_style body +is used and any atoms listed in the Atoms section have a bodyflag = 1. The number of bodies should be specified in the header section via -the "bodies" keyword. -

    -

    Each body can have a variable number of integer and/or floating-point +the “bodies” keyword.

    +

    Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the body doc page. The body style -is given as an argument to the atom_style body -command. -

    -

    The ninteger and ndouble values determine how many integer and +style, as described in the body doc page. The body style +is given as an argument to the atom_style body +command.

    +

    The ninteger and ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and ndouble can be as large as needed and can be different for every body. Integer values are then listed on subsequent lines, 10 values per @@ -769,463 +854,481 @@ line. If the number of lines is not evenly divisible by 10, the last line in that group contains the remaining values, e.g. 4 values out of 14 in the last example above, for floating-point values. If there are no values of a particular type, no lines appear for that type, -e.g. there are no integer lines in the last example above. -

    -

    The Bodies section must appear after the Atoms section. -

    -
    - -

    Bond Coeffs section: -

    -
    • one line per bond type - -
    • line syntax: ID coeffs - -
        ID = bond type (1-N)
      -  coeffs = list of coeffs 
      -
      -
    • example: - -
        4 250 1.49 
      -
      - -
    -

    The number and meaning of the coefficients are specific to the defined -bond style. See the bond_style and -bond_coeff commands for details. Coefficients can -also be set via the bond_coeff command in the input -script. -

    -
    - -

    BondAngle Coeffs section: -

    -
    • one line per angle type - -
    • line syntax: ID coeffs - -
        ID = angle type (1-N)
      -  coeffs = list of coeffs (see class 2 section of angle_coeff) 
      -
      - -
    -
    - -

    BondBond Coeffs section: -

    -
    • one line per angle type - -
    • line syntax: ID coeffs - -
        ID = angle type (1-N)
      -  coeffs = list of coeffs (see class 2 section of angle_coeff) 
      -
      - -
    -
    - -

    BondBond13 Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      -
      - -
    -
    - -

    Bonds section: -

    -
    • one line per bond - -
    • line syntax: ID type atom1 atom2 - -
        ID = bond number (1-Nbonds)
      +e.g. there are no integer lines in the last example above.

      +

      The Bodies section must appear after the Atoms section.

      +
      +

      Bond Coeffs section:

      +
        +
      • one line per bond type
      • +
      • line syntax: ID coeffs
      • +
      +
      ID = bond type (1-N)
      +  coeffs = list of coeffs
      +
      +
      +
        +
      • example:
      • +
      +
      4 250 1.49
      +
      +
      +

      The number and meaning of the coefficients are specific to the defined +bond style. See the bond_style and +bond_coeff commands for details. Coefficients can +also be set via the bond_coeff command in the input +script.

      +
      +

      BondAngle Coeffs section:

      +
        +
      • one line per angle type
      • +
      • line syntax: ID coeffs
      • +
      +
      +ID = angle type (1-N)
      +  coeffs = list of coeffs (see class 2 section of angle_coeff)
      +
      +
      +

      BondBond Coeffs section:

      +
        +
      • one line per angle type
      • +
      • line syntax: ID coeffs
      • +
      +
      +ID = angle type (1-N)
      +  coeffs = list of coeffs (see class 2 section of angle_coeff)
      +
      +
      +

      BondBond13 Coeffs section:

      +
        +
      • one line per dihedral type
      • +
      • line syntax: ID coeffs
      • +
      +
      +ID = dihedral type (1-N)
      +  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
      +
      +
      +

      Bonds section:

      +
        +
      • one line per bond
      • +
      • line syntax: ID type atom1 atom2
      • +
      +
      ID = bond number (1-Nbonds)
         type = bond type (1-Nbondtype)
      -  atom1,atom2 = IDs of 1st,2nd atoms in bond 
      -
      -
    • example: - -
        12 3 17 29 
      -
      - -
    -

    The Bonds section must appear after the Atoms section. All values -in this section must be integers (1, not 1.0). -

    -
    - -

    Dihedral Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs 
      -
      -
    • example: - -
        3 0.6 1 0 1 
      -
      - -
    -

    The number and meaning of the coefficients are specific to the defined -dihedral style. See the dihedral_style and -dihedral_coeff commands for details. + atom1,atom2 = IDs of 1st,2nd atoms in bond + + +

      +
    • example:
    • +
    +
    12 3 17 29
    +
    +
    +

    The Bonds section must appear after the Atoms section. All values +in this section must be integers (1, not 1.0).

    +
    +

    Dihedral Coeffs section:

    +
      +
    • one line per dihedral type
    • +
    • line syntax: ID coeffs
    • +
    +
    ID = dihedral type (1-N)
    +  coeffs = list of coeffs
    +
    +
    +
      +
    • example:
    • +
    +
    3 0.6 1 0 1
    +
    +
    +

    The number and meaning of the coefficients are specific to the defined +dihedral style. See the dihedral_style and +dihedral_coeff commands for details. Coefficients can also be set via the -dihedral_coeff command in the input script. -

    -
    - -

    Dihedrals section: -

    -
    • one line per dihedral - -
    • line syntax: ID type atom1 atom2 atom3 atom4 - -
        ID = number of dihedral (1-Ndihedrals)
      +dihedral_coeff command in the input script.

      +
      +

      Dihedrals section:

      +
        +
      • one line per dihedral
      • +
      • line syntax: ID type atom1 atom2 atom3 atom4
      • +
      +
      ID = number of dihedral (1-Ndihedrals)
         type = dihedral type (1-Ndihedraltype)
      -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral 
      -
      -
    • example: - -
        12 4 17 29 30 21 
      -
      - -
    -

    The 4 atoms are ordered linearly within the dihedral. The Dihedrals -section must appear after the Atoms section. All values in this -section must be integers (1, not 1.0). -

    -
    - -

    Ellipsoids section: -

    -
    • one line per ellipsoid - -
    • line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk - -
        atom-ID = ID of atom which is an ellipsoid
      +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral
      +
      + +
        +
      • example:
      • +
      +
      12 4 17 29 30 21
      +
      +
      +

      The 4 atoms are ordered linearly within the dihedral. The Dihedrals +section must appear after the Atoms section. All values in this +section must be integers (1, not 1.0).

      +
      +

      Ellipsoids section:

      +
        +
      • one line per ellipsoid
      • +
      • line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk
      • +
      +
      atom-ID = ID of atom which is an ellipsoid
         shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
      -  quatw,quati,quatj,quatk = quaternion components for orientation of atom 
      -
      -
    • example: - -
        12 1 2 1 1 0 0 0 
      -
      - -
    -

    The Ellipsoids section must appear if atom_style -ellipsoid is used and any atoms are listed in the -Atoms section with an ellipsoidflag = 1. The number of ellipsoids -should be specified in the header section via the "ellipsoids" -keyword. -

    -

    The 3 shape values specify the 3 diameters or aspect ratios of a + quatw,quati,quatj,quatk = quaternion components for orientation of atom + + +

      +
    • example:
    • +
    +
    12 1 2 1 1 0 0 0
    +
    +
    +

    The Ellipsoids section must appear if atom_style ellipsoid is used and any atoms are listed in the +Atoms section with an ellipsoidflag = 1. The number of ellipsoids +should be specified in the header section via the “ellipsoids” +keyword.

    +

    The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 -coordinate axes. They must all be non-zero values. -

    -

    The values quatw, quati, quatj, and quatk set the orientation +coordinate axes. They must all be non-zero values.

    +

    The values quatw, quati, quatj, and quatk set the orientation of the atom as a quaternion (4-vector). Note that the shape attributes specify the aspect ratios of an ellipsoidal particle, which -is oriented by default with its x-axis along the simulation box's +is oriented by default with its x-axis along the simulation box’s x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These 4 components are quatw, quati, quatj, and quatk as specified above. -LAMMPS normalizes each atom's quaternion in case (a,b,c) is not -specified as a unit vector. -

    -

    The Ellipsoids section must appear after the Atoms section. -

    -
    - -

    EndBondTorsion Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      -
      - -
    -
    - -

    Improper Coeffs section: -

    -
    • one line per improper type - -
    • line syntax: ID coeffs - -
        ID = improper type (1-N)
      -  coeffs = list of coeffs 
      -
      -
    • example: - -
        2 20 0.0548311 
      -
      - -
    -

    The number and meaning of the coefficients are specific to the defined -improper style. See the improper_style and -improper_coeff commands for details. +LAMMPS normalizes each atom’s quaternion in case (a,b,c) is not +specified as a unit vector.

    +

    The Ellipsoids section must appear after the Atoms section.

    +
    +

    EndBondTorsion Coeffs section:

    +
      +
    • one line per dihedral type
    • +
    • line syntax: ID coeffs
    • +
    +
    +ID = dihedral type (1-N)
    +  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    +
    +
    +

    Improper Coeffs section:

    +
      +
    • one line per improper type
    • +
    • line syntax: ID coeffs
    • +
    +
    ID = improper type (1-N)
    +  coeffs = list of coeffs
    +
    +
    +
      +
    • example:
    • +
    +
    2 20 0.0548311
    +
    +
    +

    The number and meaning of the coefficients are specific to the defined +improper style. See the improper_style and +improper_coeff commands for details. Coefficients can also be set via the -improper_coeff command in the input script. -

    -
    - -

    Impropers section: -

    -
    • one line per improper - -
    • line syntax: ID type atom1 atom2 atom3 atom4 - -
        ID = number of improper (1-Nimpropers)
      +improper_coeff command in the input script.

      +
      +

      Impropers section:

      +
        +
      • one line per improper
      • +
      • line syntax: ID type atom1 atom2 atom3 atom4
      • +
      +
      ID = number of improper (1-Nimpropers)
         type = improper type (1-Nimpropertype)
      -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper 
      -
      -
    • example: - -
        12 3 17 29 13 100 
      -
      - -
    -

    The ordering of the 4 atoms determines the definition of the improper -angle used in the formula for each improper -style. See the doc pages for individual styles -for details. -

    -

    The Impropers section must appear after the Atoms section. All -values in this section must be integers (1, not 1.0). -

    -
    - -

    Lines section: -

    -
    • one line per line segment - -
    • line syntax: atom-ID x1 y1 x2 y2 - -
        atom-ID = ID of atom which is a line segment
      +  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper
      +
      + +
        +
      • example:
      • +
      +
      12 3 17 29 13 100
      +
      +
      +

      The ordering of the 4 atoms determines the definition of the improper +angle used in the formula for each improper style. See the doc pages for individual styles +for details.

      +

      The Impropers section must appear after the Atoms section. All +values in this section must be integers (1, not 1.0).

      +
      +

      Lines section:

      +
        +
      • one line per line segment
      • +
      • line syntax: atom-ID x1 y1 x2 y2
      • +
      +
      atom-ID = ID of atom which is a line segment
         x1,y1 = 1st end point
      -  x2,y2 = 2nd end point 
      -
      -
    • example: - -
        12 1.0 0.0 2.0 0.0 
      -
      - -
    -

    The Lines section must appear if atom_style line -is used and any atoms are listed in the Atoms section with a + x2,y2 = 2nd end point + + +

      +
    • example:
    • +
    +
    12 1.0 0.0 2.0 0.0
    +
    +
    +

    The Lines section must appear if atom_style line +is used and any atoms are listed in the Atoms section with a lineflag = 1. The number of lines should be specified in the header -section via the "lines" keyword. -

    -

    The 2 end points are the end points of the line segment. The ordering +section via the “lines” keyword.

    +

    The 2 end points are the end points of the line segment. The ordering of the 2 points should be such that using a right-hand rule to cross the line segment with a unit vector in the +z direction, gives an -"outward" normal vector perpendicular to the line segment. +“outward” normal vector perpendicular to the line segment. I.e. normal = (c2-c1) x (0,0,1). This orientation may be important -for defining some interactions. -

    -

    The Lines section must appear after the Atoms section. -

    -
    - -

    Masses section: -

    -
    • one line per atom type - -
    • line syntax: ID mass - -
        ID = atom type (1-N)
      -  mass = mass value 
      -
      -
    • example: - -
        3 1.01 
      -
      - -
    -

    This defines the mass of each atom type. This can also be set via the -mass command in the input script. This section cannot be +for defining some interactions.

    +

    The Lines section must appear after the Atoms section.

    +
    +

    Masses section:

    +
      +
    • one line per atom type
    • +
    • line syntax: ID mass
    • +
    +
    ID = atom type (1-N)
    +  mass = mass value
    +
    +
    +
      +
    • example:
    • +
    +
    3 1.01
    +
    +
    +

    This defines the mass of each atom type. This can also be set via the +mass command in the input script. This section cannot be used for atom styles that define a mass for individual atoms - -e.g. atom_style sphere. -

    -
    - -

    MiddleBondTorsion Coeffs section: -

    -
    • one line per dihedral type - -
    • line syntax: ID coeffs - -
        ID = dihedral type (1-N)
      -  coeffs = list of coeffs (see class 2 section of dihedral_coeff) 
      -
      - -
    -
    - -

    Pair Coeffs section: -

    -
    • one line per atom type - -
    • line syntax: ID coeffs - -
        ID = atom type (1-N)
      -  coeffs = list of coeffs 
      -
      -
    • example: - -
        3 0.022 2.35197 0.022 2.35197 
      -
      - -
    -

    The number and meaning of the coefficients are specific to the defined -pair style. See the pair_style and -pair_coeff commands for details. Since pair +e.g. atom_style sphere.

    +
    +

    MiddleBondTorsion Coeffs section:

    +
      +
    • one line per dihedral type
    • +
    • line syntax: ID coeffs
    • +
    +
    +ID = dihedral type (1-N)
    +  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    +
    +
    +

    Pair Coeffs section:

    +
      +
    • one line per atom type
    • +
    • line syntax: ID coeffs
    • +
    +
    ID = atom type (1-N)
    +  coeffs = list of coeffs
    +
    +
    +
      +
    • example:
    • +
    +
    3 0.022 2.35197 0.022 2.35197
    +
    +
    +

    The number and meaning of the coefficients are specific to the defined +pair style. See the pair_style and +pair_coeff commands for details. Since pair coefficients for types I != J are not specified, these will be -generated automatically by the pair style's mixing rule. See the -individual pair_style doc pages and the pair_modify -mix command for details. Pair coefficients can also -be set via the pair_coeff command in the input -script. -

    -
    - -

    PairIJ Coeffs section: -

    -
    • one line per pair of atom types for all I,J with I <= J - -
    • line syntax: ID1 ID2 coeffs - -
        ID1 = atom type I = 1-N
      -  ID2 = atom type J = I-N, with I <= J
      -  coeffs = list of coeffs 
      -
      -
    • examples: - -
        3 3 0.022 2.35197 0.022 2.35197
      -  3 5 0.022 2.35197 0.022 2.35197 
      -
      - -
    -

    This section must have N*(N+1)/2 lines where N = # of atom types. The +generated automatically by the pair style’s mixing rule. See the +individual pair_style doc pages and the pair_modify mix command for details. Pair coefficients can also +be set via the pair_coeff command in the input +script.

    +
    +

    PairIJ Coeffs section:

    +
      +
    • one line per pair of atom types for all I,J with I <= J
    • +
    • line syntax: ID1 ID2 coeffs
    • +
    +
    ID1 = atom type I = 1-N
    +  ID2 = atom type J = I-N, with I <= J
    +  coeffs = list of coeffs
    +
    +
    +
      +
    • examples:
    • +
    +
    3 3 0.022 2.35197 0.022 2.35197
    +  3 5 0.022 2.35197 0.022 2.35197
    +
    +
    +

    This section must have N*(N+1)/2 lines where N = # of atom types. The number and meaning of the coefficients are specific to the defined -pair style. See the pair_style and -pair_coeff commands for details. Since pair +pair style. See the pair_style and +pair_coeff commands for details. Since pair coefficients for types I != J are all specified, these values will turn off the default mixing rule defined by the pair style. See the -individual pair_style doc pages and the pair_modify -mix command for details. Pair coefficients can also -be set via the pair_coeff command in the input -script. -

    -
    - -

    Triangles section: -

    -
    • one line per triangle - -
    • line syntax: atom-ID x1 y1 x2 y2 - -
        atom-ID = ID of atom which is a line segment
      +individual pair_style doc pages and the pair_modify mix command for details.  Pair coefficients can also
      +be set via the pair_coeff command in the input
      +script.

      +
      +

      Triangles section:

      +
        +
      • one line per triangle
      • +
      • line syntax: atom-ID x1 y1 x2 y2
      • +
      +
      atom-ID = ID of atom which is a line segment
         x1,y1,z1 = 1st corner point
         x2,y2,z2 = 2nd corner point
      -  x3,y3,z3 = 3rd corner point 
      -
      -
    • example: - -
        12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 
      -
      - -
    -

    The Triangles section must appear if atom_style -tri is used and any atoms are listed in the Atoms + x3,y3,z3 = 3rd corner point + + +

      +
    • example:
    • +
    +
    12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0
    +
    +
    +

    The Triangles section must appear if atom_style tri is used and any atoms are listed in the Atoms section with a triangleflag = 1. The number of lines should be -specified in the header section via the "triangles" keyword. -

    -

    The 3 corner points are the corner points of the triangle. The +specified in the header section via the “triangles” keyword.

    +

    The 3 corner points are the corner points of the triangle. The ordering of the 3 points should be such that using a right-hand rule -to go from point1 to point2 to point3 gives an "outward" normal vector +to go from point1 to point2 to point3 gives an “outward” normal vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This -orientation may be important for defining some interactions. -

    -

    The Triangles section must appear after the Atoms section. -

    -
    - -

    Velocities section: -

    -
    • one line per atom -
    • line syntax: depends on atom style -
    -
    - - - - -
    all styles except those listed atom-ID vx vy vz
    electron atom-ID vx vy vz ervel
    ellipsoid atom-ID vx vy vz lx ly lz
    sphere atom-ID vx vy vz wx wy wz
    hybrid atom-ID vx vy vz sub-style1 sub-style2 ... -
    - -

    where the keywords have these meanings: -

    -

    vx,vy,vz = translational velocity of atom +orientation may be important for defining some interactions.

    +

    The Triangles section must appear after the Atoms section.

    +
    +

    Velocities section:

    +
      +
    • one line per atom
    • +
    • line syntax: depends on atom style
    • +
    + ++++ + + + + + + + + + + + + + + + + + +
    all styles except those listedatom-ID vx vy vz
    electronatom-ID vx vy vz ervel
    ellipsoidatom-ID vx vy vz lx ly lz
    sphereatom-ID vx vy vz wx wy wz
    hybridatom-ID vx vy vz sub-style1 sub-style2 ...
    +

    where the keywords have these meanings:

    +

    vx,vy,vz = translational velocity of atom lx,ly,lz = angular momentum of aspherical atom wx,wy,wz = angular velocity of spherical atom -ervel = electron radial velocity (0 for fixed-core):ul -

    -

    The velocity lines can appear in any order. This section can only be -used after an Atoms section. This is because the Atoms section +ervel = electron radial velocity (0 for fixed-core):ul

    +

    The velocity lines can appear in any order. This section can only be +used after an Atoms section. This is because the Atoms section must have assigned a unique atom ID to each atom so that velocities -can be assigned to them. -

    -

    Vx, vy, vz, and ervel are in units of velocity. Lx, ly, +can be assigned to them.

    +

    Vx, vy, vz, and ervel are in units of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, -Wz are in units of angular velocity (radians/time). -

    -

    For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), +Wz are in units of angular velocity (radians/time).

    +

    For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -atom_style command. The sub-style specific values +atom_style command. The sub-style specific values are those that are not the 5 standard ones (ID,vx,vy,vz). For -example, for the "sphere" sub-style, "wx", "wy", "wz" values would +example, for the “sphere” sub-style, “wx”, “wy”, “wz” values would appear. These are listed in the same order they appear as listed -above. Thus if -

    -
    atom_style hybrid electron sphere 
    -
    -

    were used in the input script, each velocity line would have these -fields: -

    -
    atom-ID vx vy vz ervel wx wy wz 
    -
    -

    Translational velocities can also be set by the -velocity command in the input script. -

    -
    +above. Thus if

    +
    atom_style hybrid electron sphere
    +
    +
    +

    were used in the input script, each velocity line would have these +fields:

    +
    atom-ID vx vy vz ervel wx wy wz
    +
    +
    +

    Translational velocities can also be set by the +velocity command in the input script.

    + +
    +
    +

    Restrictions¶

    +

    To read gzipped data files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    +
    + +
    +

    Default¶

    +

    The default for all the extra keywords is 0.

    +
    + -

    Restrictions: -

    -

    To read gzipped data files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making -LAMMPS section of the documentation. -

    -

    Related commands: -

    -

    read_dump, read_restart, -create_atoms, write_data -

    -

    Default: -

    -

    The default for all the extra keywords is 0. -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/read_dump.html b/doc/read_dump.html index 3f1a8b124c..e986e9e9f9 100644 --- a/doc/read_dump.html +++ b/doc/read_dump.html @@ -1,268 +1,351 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + read_dump command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    read_dump command -

    -

    Syntax: -

    -
    read_dump file Nstep field1 field2 ... keyword values ... 
    -
    -
    • file = name of dump file to read - -
    • Nstep = snapshot timestep to read from file - -
    • one or more fields may be appended - -
      field = x or y or z or vx or vy or vz or q or ix or iy or iz
      -  x,y,z = atom coordinates
      -  vx,vy,vz = velocity components
      -  q = charge
      -  ix,iy,iz = image flags in each dimension 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = box or replace or purge or trim or add or label or scaled or wrapped or format - -
        box value = yes or no = replace simulation box with dump box
      -  replace value = yes or no = overwrite atoms with dump atoms
      -  purge value = yes or no = delete all atoms before adding dump atoms
      -  trim value = yes or no = trim atoms not in dump snapshot
      -  add value = yes or no = add new dump atoms to system
      -  label value = field column
      -    field = one of the listed fields or id or type
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      read_dump command¶

      +
      +

      Syntax¶

      +
      read_dump file Nstep field1 field2 ... keyword values ...
      +
      +
      +
        +
      • file = name of dump file to read
      • +
      • Nstep = snapshot timestep to read from file
      • +
      • one or more fields may be appended
      • +
      +
      +field = x or y or z or vx or vy or vz or q or ix or iy or iz
      +  x,*y*,*z* = atom coordinates
      +  vx,*vy*,*vz* = velocity components
      +  q = charge
      +  ix,*iy*,*iz* = image flags in each dimension
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = box or replace or purge or trim or add or label or scaled or wrapped or format
      • +
      +
      +box value = yes or no = replace simulation box with dump box
      +  replace value = yes or no = overwrite atoms with dump atoms
      +  purge value = yes or no = delete all atoms before adding dump atoms
      +  trim value = yes or no = trim atoms not in dump snapshot
      +  add value = yes or no = add new dump atoms to system
      +  label value = field column
      +    field = one of the listed fields or id or type
           column = label on corresponding column in dump file
      -  scaled value = yes or no = coords in dump file are scaled/unscaled
      -  wrapped value = yes or no = coords in dump file are wrapped/unwrapped
      -  format values = format of dump file, must be last keyword if used
      -    native = native LAMMPS dump file
      -    xyz = XYZ file
      -    molfile style path = VMD molfile plugin interface
      -      style = dcd or xyz or others supported by molfile plugins
      -      path = optional path for location of molfile plugins 
      -
      - -
    -

    Examples: -

    -
    read_dump dump.file 5000 x y z
    +  scaled value = yes or no = coords in dump file are scaled/unscaled
    +  wrapped value = yes or no = coords in dump file are wrapped/unwrapped
    +  format values = format of dump file, must be last keyword if used
    +    native = native LAMMPS dump file
    +    xyz = XYZ file
    +    molfile style path = VMD molfile plugin interface
    +      style = dcd or xyz or others supported by molfile plugins
    +      path = optional path for location of molfile plugins
    +
    +
    +
    +

    Examples¶

    +
    read_dump dump.file 5000 x y z
     read_dump dump.xyz 5 x y z box no format xyz
    -read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins"
    +read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins"
     read_dump dump.dcd 0 x y z box yes format molfile dcd
     read_dump dump.file 1000 x y z vx vy vz box yes format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile
     read_dump dump.file 5000 x y vx vy trim yes
    -read_dump ../run7/dump.file.gz 10000 x y z box yes 
    +read_dump ../run7/dump.file.gz 10000 x y z box yes
     read_dump dump.xyz 10 x y z box no format molfile xyz ../plugins
     read_dump dump.dcd 0 x y z format molfile dcd
    -read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile 
    -
    -

    Description: -

    -

    Read atom information from a dump file to overwrite the current atom +read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile +

    +
    +
    +
    +

    Description¶

    +

    Read atom information from a dump file to overwrite the current atom coordinates, and optionally the atom velocities and image flags and the simluation box dimensions. This is useful for restarting a run from a particular snapshot in a dump file. See the -read_restart and read_data +read_restart and read_data commands for alternative methods to do this. Also see the -rerun command for a means of reading multiple snapshots -from a dump file. -

    -

    Note that a simulation box must already be defined before using the +rerun command for a means of reading multiple snapshots +from a dump file.

    +

    Note that a simulation box must already be defined before using the read_dump command. This can be done by the -create_box, read_data, or -read_restart commands. The read_dump command can -reset the simulation box dimensions, as explained below. -

    -

    Also note that reading per-atom information from a dump snapshot is +create_box, read_data, or +read_restart commands. The read_dump command can +reset the simulation box dimensions, as explained below.

    +

    Also note that reading per-atom information from a dump snapshot is limited to the atom coordinates, velocities and image flags, as explained below. Other atom properties, which may be necessary to run a valid simulation, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual -way, e.g. in a data file read in by a read_data -command, before using the read_dump command, or by the set -command, after the dump snapshot is read. -

    -
    - -

    If the dump filename specified as file ends with ".gz", the dump +way, e.g. in a data file read in by a read_data +command, before using the read_dump command, or by the set +command, after the dump snapshot is read.

    +
    +

    If the dump filename specified as file ends with ”.gz”, the dump file is read in gzipped format. You cannot (yet) read a dump file -that was written in binary format with a ".bin" suffix, or to multiple -files via the "%" option in the dump file name. See the -dump command for details. -

    -

    The format of the dump file is selected through the format keyword. +that was written in binary format with a ”.bin” suffix, or to multiple +files via the “%” option in the dump file name. See the +dump command for details.

    +

    The format of the dump file is selected through the format keyword. If specified, it must be the last keyword used, since all remaining -arguments are passed on to the dump reader. The native format is -for native LAMMPS dump files, written with a dump atom or -dump custom command. The xyz format is for generic XYZ -formatted dump files. These formats take no additional values. -

    -

    The molfile format supports reading data through using the VMD +arguments are passed on to the dump reader. The native format is +for native LAMMPS dump files, written with a dump atom or +dump custom command. The xyz format is for generic XYZ +formatted dump files. These formats take no additional values.

    +

    The molfile format supports reading data through using the VMD molfile plugin interface. This dump reader format is only available, if the USER-MOLFILE package has been installed when compiling -LAMMPS. -

    -

    The molfile format takes one or two additional values. The style +LAMMPS.

    +

    The molfile format takes one or two additional values. The style value determines the file format to be used and can be any format that the molfile plugins support, such as DCD or XYZ. Note that DCD dump -files can be written by LAMMPS via the dump dcd command. -The path value specifies a list of directories which LAMMPS will -search for the molfile plugins appropriate to the specified style. -The syntax of the path value is like other search paths: it can +files can be written by LAMMPS via the dump dcd command. +The path value specifies a list of directories which LAMMPS will +search for the molfile plugins appropriate to the specified style. +The syntax of the path value is like other search paths: it can contain multiple directories separated by a colon (or semi-colon on -windows). The path keyword is optional and defaults to ".", -i.e. the current directory. -

    -

    Support for other dump format readers may be added in the future. -

    -
    - -

    Global information is first read from the dump file, namely timestep -and box information. -

    -

    The dump file is scanned for a snapshot with a time stamp that matches -the specified Nstep. This means the LAMMPS timestep the dump file -snapshot was written on for the native format. Note that the xyz -and molfile formats do not store the timestep. For these formats, +windows). The path keyword is optional and defaults to ”.”, +i.e. the current directory.

    +

    Support for other dump format readers may be added in the future.

    +
    +

    Global information is first read from the dump file, namely timestep +and box information.

    +

    The dump file is scanned for a snapshot with a time stamp that matches +the specified Nstep. This means the LAMMPS timestep the dump file +snapshot was written on for the native format. Note that the xyz +and molfile formats do not store the timestep. For these formats, timesteps are numbered logically, in a sequential manner, starting -from 0. Thus to access the 10th snapshot in an xyz or mofile -formatted dump file, use Nstep = 9. -

    -

    The dimensions of the simulation box for the selected snapshot are -also read; see the box keyword discussion below. For the native +from 0. Thus to access the 10th snapshot in an xyz or mofile +formatted dump file, use Nstep = 9.

    +

    The dimensions of the simulation box for the selected snapshot are +also read; see the box keyword discussion below. For the native format, an error is generated if the snapshot is for a triclinic box and the current simulation box is orthogonal or vice versa. A warning will be generated if the snapshot box boundary conditions (periodic, shrink-wrapped, etc) do not match the current simulation boundary conditions, but the boundary condition information in the snapshot is -otherwise ignored. See the "boundary" command for more details. -

    -

    For the xyz format, no information about the box is available, so -you must set the box flag to no. See details below. -

    -

    For the molfile format, reading simulation box information is +otherwise ignored. See the “boundary” command for more details.

    +

    For the xyz format, no information about the box is available, so +you must set the box flag to no. See details below.

    +

    For the molfile format, reading simulation box information is typically supported, but the location of the simulation box origin is lost and no explicit information about periodicity or orthogonal/triclinic box shape is available. The USER-MOLFILE package makes a best effort to guess based on heuristics, but this may not -always work perfectly. -

    -
    - -

    Per-atom information from the dump file snapshot is then read from the -dump file snapshot. This corresponds to the specified fields listed +always work perfectly.

    +
    +

    Per-atom information from the dump file snapshot is then read from the +dump file snapshot. This corresponds to the specified fields listed in the read_dump command. It is an error to specify a z-dimension -field, namely z, vz, or iz, for a 2d simulation. -

    -

    For dump files in native format, each column of per-atom data has a +field, namely z, vz, or iz, for a 2d simulation.

    +

    For dump files in native format, each column of per-atom data has a text label listed in the file. A matching label for each field must -appear, e.g. the label "vy" for the field vy. For the x, y, z -fields any of the following labels are considered a match: -

    -
    x, xs, xu, xsu for field x
    -y, ys, yu, ysu for field y
    -z, zs, zu, zsu for field z 
    -
    -

    The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and -unwrapped) is explained on the dump command doc page. +appear, e.g. the label “vy” for the field vy. For the x, y, z +fields any of the following labels are considered a match:

    +
    +x, xs, xu, xsu for field x
    +y, ys, yu, ysu for field y
    +z, zs, zu, zsu for field z
    +
    +

    The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and +unwrapped) is explained on the dump command doc page. These labels are searched for in the list of column labels in the dump -file, in order, until a match is found. -

    -

    The dump file must also contain atom IDs, with a column label of "id". -

    -

    If the add keyword is specified with a value of yes, as discussed +file, in order, until a match is found.

    +

    The dump file must also contain atom IDs, with a column label of “id”.

    +

    If the add keyword is specified with a value of yes, as discussed below, the dump file must contain atom types, with a column label of -"type". -

    -

    If a column label you want to read from the dump file is not a match -to a specified field, the label keyword can be used to specify the +“type”.

    +

    If a column label you want to read from the dump file is not a match +to a specified field, the label keyword can be used to specify the specific column label from the dump file to associate with that field. An example is if a time-averaged coordinate is written to the dump -file via the fix ave/atom command. The column -will then have a label corresponding to the fix-ID rather than "x" or -"xs". The label keyword can also be used to specify new column -labels for fields id and type. -

    -

    For dump files in xyz format, only the x, y, and z fields are +file via the fix ave/atom command. The column +will then have a label corresponding to the fix-ID rather than “x” or +“xs”. The label keyword can also be used to specify new column +labels for fields id and type.

    +

    For dump files in xyz format, only the x, y, and z fields are supported. The dump file does not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms is consistent from snapshot to snapshot in the the XYZ dump file. See -the dump_modify sort command if the XYZ dump file -was written by LAMMPS. -

    -

    For dump files in molfile format, the x, y, z, vx, vy, and -vz fields can be specified. However, not all molfile formats store +the dump_modify sort command if the XYZ dump file +was written by LAMMPS.

    +

    For dump files in molfile format, the x, y, z, vx, vy, and +vz fields can be specified. However, not all molfile formats store velocities, or their respective plugins may not support reading of velocities. The molfile dump files do not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms are consistent from snapshot to snapshot in the the molfile dump file. -See the dump_modify sort command if the dump file -was written by LAMMPS. -

    -
    - -

    Information from the dump file snapshot is used to overwrite or +See the dump_modify sort command if the dump file +was written by LAMMPS.

    +
    +

    Information from the dump file snapshot is used to overwrite or replace properties of the current system. There are various options for how this is done, determined by the specified fields and optional -keywords. -

    -

    The timestep of the snapshot becomes the current timestep for the -simulation. See the reset_timestep command if -you wish to change this after the dump snapshot is read. -

    -

    If the box keyword is specified with a yes value, then the current +keywords.

    +

    The timestep of the snapshot becomes the current timestep for the +simulation. See the reset_timestep command if +you wish to change this after the dump snapshot is read.

    +

    If the box keyword is specified with a yes value, then the current simulation box dimensions are replaced by the dump snapshot box -dimensions. If the box keyword is specified with a no value, the -current simulatoin box is unchanged. -

    -

    If the purge keyword is specified with a yes value, then all +dimensions. If the box keyword is specified with a no value, the +current simulatoin box is unchanged.

    +

    If the purge keyword is specified with a yes value, then all current atoms in the system are deleted before any of the operations -invoked by the replace, trim, or add keywords take place. -

    -

    If the replace keyword is specified with a yes value, then atoms +invoked by the replace, trim, or add keywords take place.

    +

    If the replace keyword is specified with a yes value, then atoms with IDs that are in both the current system and the dump snapshot -have their properties overwritten by field values. If the replace -keyword is specified with a no value, atoms with IDs that are in -both the current system and the dump snapshot are not modified. -

    -

    If the trim keyword is specified with a yes value, then atoms with +have their properties overwritten by field values. If the replace +keyword is specified with a no value, atoms with IDs that are in +both the current system and the dump snapshot are not modified.

    +

    If the trim keyword is specified with a yes value, then atoms with IDs that are in the current system but not in the dump snapshot are -deleted. These atoms are unaffected if the trim keyword is -specified with a no value. -

    -

    If the add keyword is specified with a yes value, then atoms with +deleted. These atoms are unaffected if the trim keyword is +specified with a no value.

    +

    If the add keyword is specified with a yes value, then atoms with IDs that are in the dump snapshot, but not in the current system are -added to the system. These dump atoms are ignored if the add -keyword is specified with a no value. -

    -

    Note that atoms added via the add keyword will have only the -attributes read from the dump file due to the field arguments. If -x or y or z is not specified as a field, a value of 0.0 is used +added to the system. These dump atoms are ignored if the add +keyword is specified with a no value.

    +

    Note that atoms added via the add keyword will have only the +attributes read from the dump file due to the field arguments. If +x or y or z is not specified as a field, a value of 0.0 is used for added atoms. Added atoms must have an atom type, so this value -must appear in the dump file. -

    -

    Any other attributes (e.g. charge or particle diameter for spherical +must appear in the dump file.

    +

    Any other attributes (e.g. charge or particle diameter for spherical particles) will be set to default values, the same as if the -create_atoms command were used. -

    -

    Note that atom IDs are not preserved for new dump snapshot atoms added -via the add keyword. The procedure for assigning new atom IDS to +create_atoms command were used.

    +

    Note that atom IDs are not preserved for new dump snapshot atoms added +via the add keyword. The procedure for assigning new atom IDS to added atoms is the same as is described for the -create_atoms command. -

    -
    - -

    Atom coordinates read from the dump file are first converted into +create_atoms command.

    +
    +

    Atom coordinates read from the dump file are first converted into unscaled coordinates, relative to the box dimensions of the snapshot. These coordinates are then be assigned to an existing or new atom in the current simulation. The coordinates will then be remapped to the @@ -271,66 +354,124 @@ box. If periodic boundary conditions apply, this means the atom will be remapped back into the simulation box if necessary. If shrink-wrap boundary conditions apply, the new coordinates may change the simulation box dimensions. If fixed boundary conditions apply, the -atom will be lost if it is outside the simulation box. -

    -

    For native format dump files, the 3 xyz image flags for an atom in +atom will be lost if it is outside the simulation box.

    +

    For native format dump files, the 3 xyz image flags for an atom in the dump file are set to the corresponding values appearing in the -dump file if the ix, iy, iz fields are specified. If not +dump file if the ix, iy, iz fields are specified. If not specified, the image flags for replaced atoms are not changed and image flags for new atoms are set to default values. If coordinates -read from the dump file are in unwrapped format (e.g. xu) then the +read from the dump file are in unwrapped format (e.g. xu) then the image flags for read-in atoms are also set to default values. The remapping procedure described in the previous paragraph will then change images flags for all atoms (old and new) if periodic boundary -conditions are applied to remap an atom back into the simulation box. -

    -

    IMPORTANT NOTE: If you get a warning about inconsistent image flags +conditions are applied to remap an atom back into the simulation box.

    +
    +

    Warning

    +

    If you get a warning about inconsistent image flags after reading in a dump snapshot, it means one or more pairs of bonded -atoms now have inconsistent image flags. As discussed in Section -errors this may or may not cause problems for +atoms now have inconsistent image flags. As discussed in Section errors this may or may not cause problems for subsequent simulations, One way this can happen is if you read image flag fields from the dump file but do not also use the dump file box -parameters. -

    -

    LAMMPS knows how to compute unscaled and remapped coordinates for the -snapshot column labels discussed above, e.g. x, xs, xu, xsu. -If another column label is assigned to the x or y or z field via -the label keyword, e.g. for coordinates output by the fix -ave/atom command, then LAMMPS needs to know whether +parameters.

    +
    +

    LAMMPS knows how to compute unscaled and remapped coordinates for the +snapshot column labels discussed above, e.g. x, xs, xu, xsu. +If another column label is assigned to the x or y or z field via +the label keyword, e.g. for coordinates output by the fix ave/atom command, then LAMMPS needs to know whether the coordinate information in the dump file is scaled and/or wrapped. -This can be set via the scaled and wrapped keywords. Note that -the value of the scaled and wrapped keywords is ignored for fields -x or y or z if the label keyword is not used to assign a -column label to that field. -

    -

    The scaled/unscaled and wrapped/unwrapped setting must be identical -for any of the x, y, z fields that are specified. Thus you -cannot read xs and yu from the dump file. Also, if the dump file +This can be set via the scaled and wrapped keywords. Note that +the value of the scaled and wrapped keywords is ignored for fields +x or y or z if the label keyword is not used to assign a +column label to that field.

    +

    The scaled/unscaled and wrapped/unwrapped setting must be identical +for any of the x, y, z fields that are specified. Thus you +cannot read xs and yu from the dump file. Also, if the dump file coordinates are scaled and the simulation box is triclinic, then all 3 -of the x, y, z fields must be specified, since they are all -needed to generate absolute, unscaled coordinates. -

    -
    - -

    Restrictions: -

    -

    To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making -LAMMPS section of the documentation. -

    -

    The molfile dump file formats are part of the USER-MOLFILE package. +of the x, y, z fields must be specified, since they are all +needed to generate absolute, unscaled coordinates.

    +
    +
    +
    +

    Restrictions¶

    +

    To read gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    +

    The molfile dump file formats are part of the USER-MOLFILE package. They are only enabled if LAMMPS was built with that packages. See the -Making LAMMPS section for more info. -

    -

    Related commands: -

    -

    dump, dump molfile, -read_data, read_restart, -rerun -

    -

    Default: -

    -

    The option defaults are box = yes, replace = yes, purge = no, trim = -no, add = no, scaled = no, wrapped = yes, and format = native. -

    - +Making LAMMPS section for more info.

    +
    + +
    +

    Default¶

    +

    The option defaults are box = yes, replace = yes, purge = no, trim = +no, add = no, scaled = no, wrapped = yes, and format = native.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/read_restart.html b/doc/read_restart.html index 66afe6a1b6..5b3bcb2a46 100644 --- a/doc/read_restart.html +++ b/doc/read_restart.html @@ -1,36 +1,154 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + read_restart command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    read_restart command -

    -

    Syntax: -

    -
    read_restart file flag 
    -
    -
    • file = name of binary restart file to read in -
    • flag = remap (optional) -
    -

    Examples: -

    -
    read_restart save.10000
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    read_restart command¶

    +
    +

    Syntax¶

    +
    read_restart file flag
    +
    +
    +
      +
    • file = name of binary restart file to read in
    • +
    • flag = remap (optional)
    • +
    +
    +
    +

    Examples¶

    +
    read_restart save.10000
     read_restart save.10000 remap
     read_restart restart.*
     read_restart restart.*.mpiio
    -read_restart poly.*.% remap 
    -
    -
    -
    -

    Description: -

    -

    Read in a previously saved system configuration from a restart file. +read_restart poly.*.% remap +

    + + +
    +

    Description¶

    +

    Read in a previously saved system configuration from a restart file. This allows continuation of a previous run. Details about what information is stored (and not stored) in a restart file is given below. Basically this operation will re-create the simulation box @@ -39,185 +157,225 @@ settings, at the point in time it was written to the restart file by a previous simluation. The simulation box will be partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors in the current simulation and the settings of the -processors command. The partitioning can later be -changed by the balance or fix -balance commands. -

    -

    IMPORTANT NOTE: Normally, restart files are written by the -restart or write_restart commands +processors command. The partitioning can later be +changed by the balance or fix balance commands.

    +
    +

    Warning

    +

    Normally, restart files are written by the +restart or write_restart commands so that all atoms in the restart file are inside the simulation box. If this is not the case, the read_restart command will print an error -that atoms were "lost" when the file is read. This error should be +that atoms were “lost” when the file is read. This error should be reported to the LAMMPS developers so the invalid writing of the restart file can be fixed. If you still wish to use the restart file, -the optional remap flag can be appended to the read_restart command. +the optional remap flag can be appended to the read_restart command. This should avoid the error, by explicitly remapping each atom back into -the simulation box, updating image flags for the atom appropriately. -

    -

    Restart files are saved in binary format to enable exact restarts, +the simulation box, updating image flags for the atom appropriately.

    +
    +

    Restart files are saved in binary format to enable exact restarts, meaning that the trajectories of a restarted run will precisely match -those produced by the original run had it continued on. -

    -

    Several things can prevent exact restarts due to round-off effects, in +those produced by the original run had it continued on.

    +

    Several things can prevent exact restarts due to round-off effects, in which case the trajectories in the 2 runs will slowly diverge. These include running on a different number of processors or changing -certain settings such as those set by the newton or -processors commands. LAMMPS will issue a warning in -these cases. -

    -

    Certain fixes will not restart exactly, though they should provide -statistically similar results. These include fix -shake and fix langevin. -

    -

    Certain pair styles will not restart exactly, though they should +certain settings such as those set by the newton or +processors commands. LAMMPS will issue a warning in +these cases.

    +

    Certain fixes will not restart exactly, though they should provide +statistically similar results. These include fix shake and fix langevin.

    +

    Certain pair styles will not restart exactly, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities, which are used at half-step values every timestep when forces are computed. When a run restarts, forces are initially evaluated with a full-step velocity, which is different than if the run had continued. These pair styles include -granular pair styles, pair dpd, and -pair lubricate. -

    -

    If a restarted run is immediately different than the run which +granular pair styles, pair dpd, and +pair lubricate.

    +

    If a restarted run is immediately different than the run which produced the restart file, it could be a LAMMPS bug, so consider -reporting it if you think the behavior is -wrong. -

    -

    Because restart files are binary, they may not be portable to other -machines. In this case, you can use the -restart command-line -switch to convert a restart file to a data -file. -

    -

    Similar to how restart files are written (see the -write_restart and restart +reporting it if you think the behavior is +wrong.

    +

    Because restart files are binary, they may not be portable to other +machines. In this case, you can use the -restart command-line switch to convert a restart file to a data +file.

    +

    Similar to how restart files are written (see the +write_restart and restart commands), the restart filename can contain two wild-card characters. -If a "*" appears in the filename, the directory is searched for all -filenames that match the pattern where "*" is replaced with a timestep +If a “*” appears in the filename, the directory is searched for all +filenames that match the pattern where “*” is replaced with a timestep value. The file with the largest timestep value is read in. Thus, -this effectively means, read the latest restart file. It's useful if +this effectively means, read the latest restart file. It’s useful if you want your script to continue a run from where it left off. See -the run command and its "upto" option for how to specify -the run command so it doesn't need to be changed either. -

    -

    If a "%" character appears in the restart filename, LAMMPS expects a -set of multiple files to exist. The restart and -write_restart commands explain how such sets are -created. Read_restart will first read a filename where "%" is -replaced by "base". This file tells LAMMPS how many processors +the run command and its “upto” option for how to specify +the run command so it doesn’t need to be changed either.

    +

    If a “%” character appears in the restart filename, LAMMPS expects a +set of multiple files to exist. The restart and +write_restart commands explain how such sets are +created. Read_restart will first read a filename where “%” is +replaced by “base”. This file tells LAMMPS how many processors created the set and how many files are in it. Read_restart then reads the additional files. For example, if the restart file was specified as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of -processors that created the restart file. -

    -

    Note that P could be the total number of processors in the previous -simulation, or some subset of those processors, if the fileper or -nfile options were used when the restart file was written; see the -restart and write_restart commands +processors that created the restart file.

    +

    Note that P could be the total number of processors in the previous +simulation, or some subset of those processors, if the fileper or +nfile options were used when the restart file was written; see the +restart and write_restart commands for details. The processors in the current LAMMPS simulation share the work of reading these files; each reads a roughly equal subset of the files. The number of processors which created the set can be different the number of processors in the current LAMMPS simulation. This can be a fast mode of input on parallel machines that support -parallel I/O. -

    -

    A restart file can also be read in parallel as one large binary file +parallel I/O.

    +

    A restart file can also be read in parallel as one large binary file via the MPI-IO library, assuming it was also written with MPI-IO. MPI-IO is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package -installed, e.g. -

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform 
    -
    -

    Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. +installed, e.g.

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform
    +
    +
    +

    Second, use a restart filename which contains ”.mpiio”. Note that it +does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. -

    -
    - -

    A restart file stores the following information about a simulation: -units, atom style and atom style related settings (id, map, -sort), communication settings (mode, cutoff, vel), timestep, +written and read using MPI-IO.

    +
    +

    A restart file stores the following information about a simulation: +units, atom style and atom style related settings (id, map, +sort), communication settings (mode, cutoff, vel), timestep, simulation box size and shape and boundary settings, group definitions, per-type atom settings such as mass, per-atom attributes including their group assignments and molecular topology attributes, force field styles and - in most cases - force field coefficients, and -special_bonds settings. This means that commands +special_bonds settings. This means that commands for these quantities do not need to be re-specified in the input script that reads the restart file, though you can redefine settings -after the restart file is read. -

    -

    One exception is that some force styles (pair, bond, angle, etc) do +after the restart file is read.

    +

    One exception is that some force styles (pair, bond, angle, etc) do not store their coefficient info in restart files. Typically these are many-body or tabulated potentials which read their parameters from -separate files; you may need to re-specify the pair -style and pair coeff commands in +separate files; you may need to re-specify the pair style and pair coeff commands in your restart input script. The doc pages for individual pair styles mention if this is the case. This is also true of bond_style hybrid -(and angle_style, dihedral_style, improper_style hybrid). -

    -

    All settings made by the pair_modify command, such +(and angle_style, dihedral_style, improper_style hybrid).

    +

    All settings made by the pair_modify command, such as the shift and tail settings, are stored in the restart file with -the pair style. The one exception is the pair_modify -compute setting is not stored, since it is typically -only used for debugging purposes. -

    -

    Information about kspace_style settings are not +the pair style. The one exception is the pair_modify compute setting is not stored, since it is typically +only used for debugging purposes.

    +

    Information about kspace_style settings are not stored in the restart file. Hence if you wish to use an Ewald or PPPM solver, these commands must be re-issued after the restart file is -read. -

    -

    The list of fixes used for a simulation is not stored in +read.

    +

    The list of fixes used for a simulation is not stored in the restart file. This means the new input script should specify all -fixes it will use. Note that some fixes store an internal "state" +fixes it will use. Note that some fixes store an internal “state” which is written to the restart file. This allows the fix to continue on with its calculations in a restarted simulation. To re-enable such a fix, the fix command in the new input script must use the same fix-ID and group-ID as was used in the input script that wrote the restart file. If a match is found, LAMMPS prints a message indicating that the fix is being re-enabled. If no match is found before the -first run or minimization is performed by the new script, the "state" +first run or minimization is performed by the new script, the “state” information for the saved fix is discarded. See the doc pages for individual fixes for info on which ones can be restarted in this -manner. -

    -

    Bond interactions (angle, etc) that have been turned off by the fix -shake or delete_bonds command will +manner.

    +

    Bond interactions (angle, etc) that have been turned off by the fix shake or delete_bonds command will be written to a restart file as if they are turned on. This means they will need to be turned off again in a new run after the restart -file is read. -

    -

    Bonds that are broken (e.g. by a bond-breaking potential) are written +file is read.

    +

    Bonds that are broken (e.g. by a bond-breaking potential) are written to the restart file as broken bonds with a type of 0. Thus these -bonds will still be broken when the restart file is read. -

    -

    Bonds that have been broken by the fix -bond/break command have disappeared from the +bonds will still be broken when the restart file is read.

    +

    Bonds that have been broken by the fix bond/break command have disappeared from the system. No information about these bonds is written to the restart -file. -

    -

    IMPORTANT NOTE: No other information is stored in the restart file. +file.

    +
    +

    Warning

    +

    No other information is stored in the restart file. This means that an input script that reads a restart file should -specify settings for quantities like timestep size, -thermodynamic, neighbor list +specify settings for quantities like timestep size, +thermodynamic, neighbor list criteria including settings made via the -neigh_modify comand, dump file -output, geometric regions, etc. -

    -
    +neigh_modify comand, dump file +output, geometric regions, etc.

    +
    +
    +
    +
    +

    Restrictions¶

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed.

    +
    + + -

    Restrictions: -

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. -

    -

    Related commands: -

    -

    read_data, read_dump, -write_restart, restart -

    -

    Default: none -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/region.html b/doc/region.html index a1a454856c..e5a3e983cb 100644 --- a/doc/region.html +++ b/doc/region.html @@ -1,172 +1,285 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + region command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    region command -

    -

    Syntax: -

    -
    region ID style args keyword arg ... 
    -
    -
    • ID = user-assigned name for the region - -
    • style = delete or block or cone or cylinder or plane or prism or sphere or union or intersect - -
        delete = no args
      -  block args = xlo xhi ylo yhi zlo zhi
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      region command¶

      +
      +

      Syntax¶

      +
      region ID style args keyword arg ...
      +
      +
      +
        +
      • ID = user-assigned name for the region
      • +
      • style = delete or block or cone or cylinder or plane or prism or sphere or union or intersect
      • +
      +
      +delete = no args
      +  block args = xlo xhi ylo yhi zlo zhi
           xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units)
      -  cone args = dim c1 c2 radlo radhi lo hi
      -    dim = x or y or z = axis of cone
      +  cone args = dim c1 c2 radlo radhi lo hi
      +    dim = x or y or z = axis of cone
           c1,c2 = coords of cone axis in other 2 dimensions (distance units)
           radlo,radhi = cone radii at lo and hi end (distance units)
           lo,hi = bounds of cone in dim (distance units)
      -  cylinder args = dim c1 c2 radius lo hi
      -    dim = x or y or z = axis of cylinder
      +  cylinder args = dim c1 c2 radius lo hi
      +    dim = x or y or z = axis of cylinder
           c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
           radius = cylinder radius (distance units)
             radius can be a variable (see below)
           lo,hi = bounds of cylinder in dim (distance units)
      -  plane args = px py pz nx ny nz
      +  plane args = px py pz nx ny nz
           px,py,pz = point on the plane (distance units)
           nx,ny,nz = direction normal to plane (distance units)
      -  prism args = xlo xhi ylo yhi zlo zhi xy xz yz
      +  prism args = xlo xhi ylo yhi zlo zhi xy xz yz
           xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
           xy = distance to tilt y in x direction (distance units)
           xz = distance to tilt z in x direction (distance units)
           yz = distance to tilt z in y direction (distance units)
      -  sphere args = x y z radius
      +  sphere args = x y z radius
           x,y,z = center of sphere (distance units)
           radius = radius of sphere (distance units)
             radius can be a variable (see below)
      -  union args = N reg-ID1 reg-ID2 ...
      +  union args = N reg-ID1 reg-ID2 ...
           N = # of regions to follow, must be 2 or greater
           reg-ID1,reg-ID2, ... = IDs of regions to join together
      -  intersect args = N reg-ID1 reg-ID2 ...
      +  intersect args = N reg-ID1 reg-ID2 ...
           N = # of regions to follow, must be 2 or greater
      -    reg-ID1,reg-ID2, ... = IDs of regions to intersect 
      -
      -
    • zero or more keyword/arg pairs may be appended - -
    • keyword = side or units or move or rotate - -
        side value = in or out
      -    in = the region is inside the specified geometry
      -    out = the region is outside the specified geometry
      -  units value = lattice or box
      -    lattice = the geometry is defined in lattice units
      -    box = the geometry is defined in simulation box units
      -  move args = v_x v_y v_z
      +    reg-ID1,reg-ID2, ... = IDs of regions to intersect
      +
      +
        +
      • zero or more keyword/arg pairs may be appended
      • +
      • keyword = side or units or move or rotate
      • +
      +
      +side value = in or out
      +    in = the region is inside the specified geometry
      +    out = the region is outside the specified geometry
      +  units value = lattice or box
      +    lattice = the geometry is defined in lattice units
      +    box = the geometry is defined in simulation box units
      +  move args = v_x v_y v_z
           v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time
      -  rotate args = v_theta Px Py Pz Rx Ry Rz
      +  rotate args = v_theta Px Py Pz Rx Ry Rz
           v_theta = equal-style variable for rotaton of region over time (in radians)
           Px,Py,Pz = origin for axis of rotation (distance units)
      -    Rx,Ry,Rz = axis of rotation vector 
      -
      - -
    -

    Examples: -

    -
    region 1 block -3.0 5.0 INF 10.0 INF INF
    +    Rx,Ry,Rz = axis of rotation vector
    +
    +
    +
    +

    Examples¶

    +
    region 1 block -3.0 5.0 INF 10.0 INF INF
     region 2 sphere 0.0 0.0 0.0 5 side out
     region void cylinder y 2 3 5 -5.0 EDGE units box
     region 1 prism 0 10 0 10 0 10 2 0 0
     region outside union 4 side1 side2 side3 side4
    -region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL 
    -
    -

    Description: -

    -

    This command defines a geometric region of space. Various other +region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL +

    +
    +
    +
    +

    Description¶

    +

    This command defines a geometric region of space. Various other commands use regions. For example, the region can be filled with -atoms via the create_atoms command. Or a bounding +atoms via the create_atoms command. Or a bounding box around the region, can be used to define the simulation box via -the create_box command. Or the atoms in the region -can be identified as a group via the group command, or -deleted via the delete_atoms command. Or the -surface of the region can be used as a boundary wall via the fix -wall/region command. -

    -

    Commands which use regions typically test whether an atom's position +the create_box command. Or the atoms in the region +can be identified as a group via the group command, or +deleted via the delete_atoms command. Or the +surface of the region can be used as a boundary wall via the fix wall/region command.

    +

    Commands which use regions typically test whether an atom’s position is contained in the region or not. For this purpose, coordinates exactly on the region boundary are considered to be interior to the region. This means, for example, for a spherical region, an atom on the sphere surface would be part of the region if the sphere were -defined with the side in keyword, but would not be part of the -region if it were defined using the side out keyword. See more -details on the side keyword below. -

    -

    Normally, regions in LAMMPS are "static", meaning their geometric -extent does not change with time. If the move or rotate keyword -is used, as described below, the region becomes "dynamic", meaning -it's location or orientation changes with time. This may be useful, +defined with the side in keyword, but would not be part of the +region if it were defined using the side out keyword. See more +details on the side keyword below.

    +

    Normally, regions in LAMMPS are “static”, meaning their geometric +extent does not change with time. If the move or rotate keyword +is used, as described below, the region becomes “dynamic”, meaning +it’s location or orientation changes with time. This may be useful, for example, when thermostatting a region, via the compute temp/region command, or when the fix wall/region command uses a region surface as -a bounding wall on particle motion, i.e. a rotating container. -

    -

    The delete style removes the named region. Since there is little +a bounding wall on particle motion, i.e. a rotating container.

    +

    The delete style removes the named region. Since there is little overhead to defining extra regions, there is normally no need to do this, unless you are defining and discarding large numbers of regions -in your input script. -

    -

    The lo/hi values for block or cone or cylinder or prism styles +in your input script.

    +

    The lo/hi values for block or cone or cylinder or prism styles can be specified as EDGE or INF. EDGE means they extend all the way to the global simulation box boundary. Note that this is the current box boundary; if the box changes size during a simulation, the region does not. INF means a large negative or positive number (1.0e20), so it should encompass the simulation box even if it changes size. If a region is defined before the simulation box has been created (via -create_box or read_data or -read_restart commands), then an EDGE or INF -parameter cannot be used. For a prism region, a non-zero tilt +create_box or read_data or +read_restart commands), then an EDGE or INF +parameter cannot be used. For a prism region, a non-zero tilt factor in any pair of dimensions cannot be used if both the lo/hi values in either of those dimensions are INF. E.g. if the xy tilt is -non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi. -

    -

    IMPORTANT NOTE: Regions in LAMMPS do not get wrapped across periodic -boundaries, as specified by the boundary command. For +non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi.

    +
    +

    Warning

    +

    Regions in LAMMPS do not get wrapped across periodic +boundaries, as specified by the boundary command. For example, a spherical region that is defined so that it overlaps a periodic boundary is not treated as 2 half-spheres, one on either side -of the simulation box. -

    -

    IMPORTANT NOTE: Regions in LAMMPS are always 3d geometric objects, -regardless of whether the dimension of a simulation +of the simulation box.

    +
    +
    +

    Warning

    +

    Regions in LAMMPS are always 3d geometric objects, +regardless of whether the dimension of a simulation is 2d or 3d. Thus when using regions in a 2d simulation, you should be careful to define the region so that its intersection with the 2d -x-y plane of the simulation has the 2d geometric extent you want. -

    -

    For style cone, an axis-aligned cone is defined which is like a -cylinder except that two different radii (one at each end) can be -defined. Either of the radii (but not both) can be 0.0. -

    -

    For style cone and cylinder, the c1,c2 params are coordinates in +x-y plane of the simulation has the 2d geometric extent you want.

    +
    +

    For style cone, an axis-aligned cone is defined which is like a +cylinder except that two different radii (one at each end) can be +defined. Either of the radii (but not both) can be 0.0.

    +

    For style cone and cylinder, the c1,c2 params are coordinates in the 2 other dimensions besides the cylinder axis dimension. For dim = x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. Thus the third example above specifies a cylinder with its axis in the y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and -extending in the y-direction from -5.0 to the upper box boundary. -

    -

    For style plane, a plane is defined which contain the point +extending in the y-direction from -5.0 to the upper box boundary.

    +

    For style plane, a plane is defined which contain the point (px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does -not have to be of unit length. The "inside" of the plane is the +not have to be of unit length. The “inside” of the plane is the half-space in the direction of the normal vector; see the discussion -of the side option below. -

    -

    For style prism, a parallelepiped is defined (it's too hard to spell +of the side option below.

    +

    For style prism, a parallelepiped is defined (it’s too hard to spell parallelepiped in an input script!). The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting +“origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of +(xz,yz,zhi-zlo). Xy,xz,yz can be 0.0 or positive or negative values +and are called “tilt factors” because they are the amount of displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. -

    -

    A prism region that will be used with the create_box +transform it into the parallelepiped.

    +

    A prism region that will be used with the create_box command to define a triclinic simulation box must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of corresponding the parallel box length. For example, if xlo = 2 and @@ -175,153 +288,198 @@ between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all -geometrically equivalent. -

    -

    The radius value for style sphere and cylinder can be specified -as an equal-style variable. If the value is a +geometrically equivalent.

    +

    The radius value for style sphere and cylinder can be specified +as an equal-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and -its value used to determine the radius of the region. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command +its value used to determine the radius of the region.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent radius. -

    -

    See Section_howto 12 of the doc pages +time. Thus it is easy to specify a time-dependent radius.

    +

    See Section_howto 12 of the doc pages for a geometric description of triclinic boxes, as defined by LAMMPS, and how to transform these parameters to and from other commonly used -triclinic representations. -

    -

    The union style creates a region consisting of the volume of all the -listed regions combined. The intersect style creates a region -consisting of the volume that is common to all the listed regions. -

    -

    IMPORTANT NOTE: The union and intersect regions operate by +triclinic representations.

    +

    The union style creates a region consisting of the volume of all the +listed regions combined. The intersect style creates a region +consisting of the volume that is common to all the listed regions.

    +
    +

    Warning

    +

    The union and intersect regions operate by invoking methods from their list of sub-regions. Thus you cannot -delete the sub-regions after defining the union or intersection -region. -

    -
    - -

    The side keyword determines whether the region is considered to be +delete the sub-regions after defining the union or intersection +region.

    +
    +
    +

    The side keyword determines whether the region is considered to be inside or outside of the specified geometry. Using this keyword in -conjunction with union and intersect regions, complex geometries +conjunction with union and intersect regions, complex geometries can be built up. For example, if the interior of two spheres were -each defined as regions, and a union style with side = out was +each defined as regions, and a union style with side = out was constructed listing the region-IDs of the 2 spheres, the resulting region would be all the volume in the simulation box that was outside -both of the spheres. -

    -

    The units keyword determines the meaning of the distance units used +both of the spheres.

    +

    The units keyword determines the meaning of the distance units used to define the region for any argument above listed as having distance units. It also affects the scaling of the velocity vector specfied -with the vel keyword, the amplitude vector specified with the -wiggle keyword, and the rotation point specified with the rotate -keyword, since they each involve a distance metric. -

    -

    A box value selects standard distance units as defined by the -units command, e.g. Angstroms for units = real or metal. -A lattice value means the distance units are in lattice spacings. -The lattice command must have been previously used to -define the lattice spacings which are used as follows: -

    -
    • For style block, the lattice spacing in dimension x is applied to +with the vel keyword, the amplitude vector specified with the +wiggle keyword, and the rotation point specified with the rotate +keyword, since they each involve a distance metric.

      +

      A box value selects standard distance units as defined by the +units command, e.g. Angstroms for units = real or metal. +A lattice value means the distance units are in lattice spacings. +The lattice command must have been previously used to +define the lattice spacings which are used as follows:

      +
        +
      • For style block, the lattice spacing in dimension x is applied to xlo and xhi, similarly the spacings in dimensions y,z are applied to -ylo/yhi and zlo/zhi. - -
      • For style cone, the lattice spacing in argument dim is applied to +ylo/yhi and zlo/zhi.
      • +
      • For style cone, the lattice spacing in argument dim is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The two cone radii are scaled by the lattice -spacing in the dimension corresponding to c1. - -
      • For style cylinder, the lattice spacing in argument dim is applied +spacing in the dimension corresponding to c1.
      • +
      • For style cylinder, the lattice spacing in argument dim is applied to lo and hi. The spacings in the two radial dimensions are applied to c1 and c2. The cylinder radius is scaled by the lattice -spacing in the dimension corresponding to c1. - -
      • For style plane, the lattice spacing in dimension x is applied to +spacing in the dimension corresponding to c1.
      • +
      • For style plane, the lattice spacing in dimension x is applied to px and nx, similarly the spacings in dimensions y,z are applied to -py/ny and pz/nz. - -
      • For style prism, the lattice spacing in dimension x is applied to +py/ny and pz/nz.
      • +
      • For style prism, the lattice spacing in dimension x is applied to xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing in dimension x is applied to xy and xz, and the spacing in dimension y -to yz. - -
      • For style sphere, the lattice spacing in dimensions x,y,z are +to yz.
      • +
      • For style sphere, the lattice spacing in dimensions x,y,z are applied to the sphere center x,y,z. The spacing in dimension x is -applied to the sphere radius. -
      -
      - -

      If the move or rotate keywords are used, the region is "dynamic", +applied to the sphere radius.

    • +
    +
    +

    If the move or rotate keywords are used, the region is “dynamic”, meaning its location or orientation changes with time. These keywords -cannot be used with a union or intersect style region. Instead, +cannot be used with a union or intersect style region. Instead, the keywords should be used to make the individual sub-regions of the -union or intersect region dynamic. Normally, each sub-region -should be "dynamic" in the same manner (e.g. rotate around the same -point), though this is not a requirement. -

    -

    The move keyword allows one or more equal-style -variables to be used to specify the x,y,z displacement +union or intersect region dynamic. Normally, each sub-region +should be “dynamic” in the same manner (e.g. rotate around the same +point), though this is not a requirement.

    +

    The move keyword allows one or more equal-style variables to be used to specify the x,y,z displacement of the region, typically as a function of time. A variable is specified as v_name, where name is the variable name. Any of the three variables can be specified as NULL, in which case no -displacement is calculated in that dimension. -

    -

    Note that equal-style variables can specify formulas with various -mathematical functions, and include thermo_style +displacement is calculated in that dimension.

    +

    Note that equal-style variables can specify formulas with various +mathematical functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a region displacement that change as a function of time or spans consecutive runs in a continuous -fashion. For the latter, see the start and stop keywords of the -run command and the elaplong keyword of thermo_style -custom for details. -

    -

    For example, these commands would displace a region from its initial +fashion. For the latter, see the start and stop keywords of the +run command and the elaplong keyword of thermo_style custom for details.

    +

    For example, these commands would displace a region from its initial position, in the positive x direction, effectively at a constant -velocity: -

    -
    variable dx equal ramp(0,10)
    -region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL 
    -
    -

    Note that the initial displacemet is 0.0, though that is not required. -

    -

    Either of these varaibles would "wiggle" the region back and forth in -the y direction: -

    -
    variable dy equal swiggle(0,5,100)
    +velocity:

    +
    variable dx equal ramp(0,10)
    +region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL
    +
    +
    +

    Note that the initial displacemet is 0.0, though that is not required.

    +

    Either of these varaibles would “wiggle” the region back and forth in +the y direction:

    +
    variable dy equal swiggle(0,5,100)
     variable dysame equal 5*sin(2*PI*elaplong*dt/100)
    -region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL 
    -
    -

    The rotate keyword rotates the region around a rotation axis R = -(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The rotation +region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL +

    + +

    The rotate keyword rotates the region around a rotation axis R = +(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The rotation angle is calculated, presumably as a function of time, by a variable specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along R, then your fingers -wrap around the axis in the direction of rotation. -

    -

    The move and rotate keywords can be used together. In this case, -the displacement specified by the move keyword is applied to the P -point of the rotate keyword. -

    -

    Restrictions: -

    -

    A prism cannot be of 0.0 thickness in any dimension; use a small z +rule: if your right-hand thumb points along R, then your fingers +wrap around the axis in the direction of rotation.

    +

    The move and rotate keywords can be used together. In this case, +the displacement specified by the move keyword is applied to the P +point of the rotate keyword.

    + +
    +

    Restrictions¶

    +

    A prism cannot be of 0.0 thickness in any dimension; use a small z thickness for 2d simulations. For 2d simulations, the xz and yz -parameters must be 0.0. -

    -

    Related commands: -

    -

    lattice, create_atoms, -delete_atoms, group -

    -

    Default: -

    -

    The option defaults are side = in, units = lattice, and no move or -rotation. -

    - +parameters must be 0.0.

    +
    + +
    +

    Default¶

    +

    The option defaults are side = in, units = lattice, and no move or +rotation.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/replicate.html b/doc/replicate.html index 6b1bac3821..7940365193 100644 --- a/doc/replicate.html +++ b/doc/replicate.html @@ -1,60 +1,178 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + replicate command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    replicate command -

    -

    Syntax: -

    -
    replicate nx ny nz 
    -
    -
    • nx,ny,nz = replication factors in each dimension -
    -

    Examples: -

    -
    replicate 2 3 2 
    -
    -

    Description: -

    -

    Replicate the current simulation one or more times in each dimension. + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    replicate command¶

    +
    +

    Syntax¶

    +
    replicate nx ny nz
    +
    +
    +
      +
    • nx,ny,nz = replication factors in each dimension
    • +
    +
    +
    +

    Examples¶

    +
    replicate 2 3 2
    +
    +
    +
    +
    +

    Description¶

    +

    Replicate the current simulation one or more times in each dimension. For example, replication factors of 2,2,2 will create a simulation with 8x as many atoms by doubling the simulation domain in each dimension. A replication factor of 1 in a dimension leaves the simulation domain unchanged. When the new simulation box is created it is also partitioned into a regular 3d grid of rectangular bricks, one per processor, based on the number of processors being used and -the settings of the processors command. The -partitioning can later be changed by the balance or -fix balance commands. -

    -

    All properties of the atoms are replicated, including their +the settings of the processors command. The +partitioning can later be changed by the balance or +fix balance commands.

    +

    All properties of the atoms are replicated, including their velocities, which may or may not be desirable. New atom IDs are assigned to new atoms, as are molecule IDs. Bonds and other topology interactions are created between pairs of new atoms as well as between old and new atoms. This is done by using the image flag for each atom -to "unwrap" it out of the periodic box before replicating it. -

    -

    This means that any molecular bond you specify in the original data +to “unwrap” it out of the periodic box before replicating it.

    +

    This means that any molecular bond you specify in the original data 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. -

    -

    Restrictions: -

    -

    A 2d simulation cannot be replicated in the z dimension. -

    -

    If a simulation is non-periodic in a dimension, care should be used +unwrapped appropriately.

    +
    +
    +

    Restrictions¶

    +

    A 2d simulation cannot be replicated in the z dimension.

    +

    If a simulation is non-periodic in a dimension, care should be used when replicating it in that dimension, as it may put atoms nearly on -top of each other. -

    -

    IMPORTANT NOTE: You cannot use the replicate command on a system which +top of each other.

    +
    +

    Warning

    +

    You cannot use the replicate command on a system which has a molecule that spans the box and is bonded to itself across a periodic boundary, so that the molecule is efffectively a loop. A simple example would be a linear polymer chain that spans the @@ -63,8 +181,7 @@ More realistic examples would be a CNT (meant to be an infinitely long CNT) or a graphene sheet or a bulk periodic crystal where there are explicit bonds specified between near neighbors. (Note that this only applies to systems that have permanent bonds as specified in the data -file. A CNT that is just atoms modeled with the AIREBO -potential has no such permanent bonds, so it can be +file. A CNT that is just atoms modeled with the AIREBO potential has no such permanent bonds, so it can be replicated.) The reason replication does not work with those systems is that the image flag settings described above cannot be made consistent. I.e. it is not possible to define images flags so that @@ -74,27 +191,87 @@ could work in this scenario is for it to break a bond, insert more atoms, and re-connect the loop for the larger simulation box. But it is not clever enough to do this. So you will have to construct a larger version of your molecule as a pre-processing step and input a -new data file to LAMMPS. -

    -

    If the current simulation was read in from a restart file (before a +new data file to LAMMPS.

    +
    +

    If the current simulation was read in from a restart file (before a run is performed), there can have been no fix information stored in the file for individual atoms. Similarly, no fixes can be defined at the time the replicate command is used that require vectors of atom information to be stored. This is because the replicate command does -not know how to replicate that information for new atoms it creates. -

    -

    Replicating a system that has rigid bodies (defined via the fix -rigid command), either currently defined or that +not know how to replicate that information for new atoms it creates.

    +

    Replicating a system that has rigid bodies (defined via the fix rigid command), either currently defined or that created the restart file which was read in before replicating, can cause problems if there is a bond between a pair of rigid bodies that straddle a periodic boundary. This is because the periodic image information for particles in the rigid bodies are set differently than for a non-rigid system and can result in a new bond being created that spans the periodic box. Thus you cannot use the replicate command in -this scenario. -

    -

    Related commands: none -

    -

    Default: none -

    - +this scenario.

    +

    Related commands: none

    +

    Default: none

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/rerun.html b/doc/rerun.html index 8bb6b2951d..00e24bba33 100644 --- a/doc/rerun.html +++ b/doc/rerun.html @@ -1,210 +1,367 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + rerun command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    rerun command -

    -

    Syntax: -

    -
    rerun file1 file2 ... keyword args ... 
    -
    -
    • file1,file2,... = dump file(s) to read - -
    • one or more keywords may be appended, keyword dump must appear and be last - -
      keyword = first or last or every or skip or start or stop or dump
      - first args = Nfirts
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      rerun command¶

      +
      +

      Syntax¶

      +
      rerun file1 file2 ... keyword args ...
      +
      +
      +
        +
      • file1,file2,... = dump file(s) to read
      • +
      • one or more keywords may be appended, keyword dump must appear and be last
      • +
      +
      +keyword = first or last or every or skip or start or stop or dump
      + first args = Nfirts
          Nfirst = dump timestep to start on
      - last args = Nlast
      + last args = Nlast
          Nlast = dumptimestep to stop on
      - every args = Nevery
      + every args = Nevery
          Nevery = read snapshots matching every this many timesteps
      - skip args = Nskip
      + skip args = Nskip
          Nskip = read one out of every Nskip snapshots
      - start args = Nstart
      + start args = Nstart
          Nstart = timestep on which pseudo run will start
      - stop args = Nstop
      + stop args = Nstop
          Nstop = timestep to which pseudo run will end
      - dump args = same as read_dump command starting with its field arguments 
      -
      - -
    -

    Examples: -

    -
    rerun dump.file dump x y z vx vy vz
    + dump args = same as read_dump command starting with its field arguments
    +
    +
    +
    +

    Examples¶

    +
    rerun dump.file dump x y z vx vy vz
     rerun dump1.txt dump2.txt first 10000 every 1000 dump x y z
     rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj
     rerun dump.dcd dump x y z box no format molfile dcd
    -rerun ../run7/dump.file.gz skip 2 dump x y z box yes 
    -
    -

    Description: -

    -

    Perform a psuedo simulation run where atom information is read one +rerun ../run7/dump.file.gz skip 2 dump x y z box yes +

    +
    +
    +
    +

    Description¶

    +

    Perform a psuedo simulation run where atom information is read one snapshot at a time from a dump file(s), and energies and forces are -computed on the shapshot to produce thermodynamic or other output. -

    -

    This can be useful in the following kinds of scenarios, after an -initial simulation produced the dump file: -

    -
    • Compute the energy and forces of snaphots using a different potential. - - -
    • Calculate one or more diagnostic quantities on the snapshots that -weren't computed in the initial run. These can also be computed with +computed on the shapshot to produce thermodynamic or other output.

      +

      This can be useful in the following kinds of scenarios, after an +initial simulation produced the dump file:

      +
        +
      • Compute the energy and forces of snaphots using a different potential.
      • +
      • Calculate one or more diagnostic quantities on the snapshots that +weren’t computed in the initial run. These can also be computed with settings not used in the initial run, e.g. computing an RDF via the -compute rdf command with a longer cutoff than was -used initially. - -
      • Calculate the portion of per-atom forces resulting from a subset of +compute rdf command with a longer cutoff than was +used initially.
      • +
      • Calculate the portion of per-atom forces resulting from a subset of the potential. E.g. compute only Coulombic forces. This can be done by only defining only a Coulombic pair style in the rerun script. Doing this in the original script would result in different (bad) -dynamics. -
      -

      Conceptually, using the rerun command is like running an input script -that has a loop in it (see the next and jump +dynamics.

    • +
    +

    Conceptually, using the rerun command is like running an input script +that has a loop in it (see the next and jump commands). Each iteration of the loop reads one snapshot from the -dump file via the read_dump command, sets the -timestep to the appropriate value, and then invokes a run +dump file via the read_dump command, sets the +timestep to the appropriate value, and then invokes a run command for zero timesteps to simply compute energy and forces, and -any other thermodynamic output or diagnostic info +any other thermodynamic output or diagnostic info you have defined. This computation also invokes any fixes you have -defined that apply constraints to the system, such as fix -shake or fix indent. -

    -

    Note that a simulation box must already be defined before using the -rerun command. This can be done by the create_box, -read_data, or read_restart -commands. -

    -

    Also note that reading per-atom information from dump snapshots is +defined that apply constraints to the system, such as fix shake or fix indent.

    +

    Note that a simulation box must already be defined before using the +rerun command. This can be done by the create_box, +read_data, or read_restart +commands.

    +

    Also note that reading per-atom information from dump snapshots is limited to the atom coordinates, velocities and image flags as -explained in the read_dump command. Other atom +explained in the read_dump command. Other atom properties, which may be necessary to compute energies and forces, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual way, e.g. in -a data file read in by a read_data command, before -using the rerun command. -

    -
    - -

    If more than one dump file is specified, the dump files are read one +a data file read in by a read_data command, before +using the rerun command.

    +
    +

    If more than one dump file is specified, the dump files are read one after the other. It is assumed that snapshot timesteps will be in ascending order. If a snapshot is encountered that is not in -ascending order, it will cause the rerun command to complete. -

    -

    The first, last, every, skip keywords determine which +ascending order, it will cause the rerun command to complete.

    +

    The first, last, every, skip keywords determine which snapshots are read from the dump file(s). Snapshots are skipped until -they have a timestamp >= Nfirst. When a snapshot with a timestamp > -Nlast is encountered, the rerun command finishes. Note below that -the defaults for first and last are to read all snapshots. If the -every keyword is set to a value > 0, then only snapshots with -timestamps that are a multiple of Nevery are read (the first -snapshot is always read). If Nevery = 0, then this criterion is +they have a timestamp >= Nfirst. When a snapshot with a timestamp > +Nlast is encountered, the rerun command finishes. Note below that +the defaults for first and last are to read all snapshots. If the +every keyword is set to a value > 0, then only snapshots with +timestamps that are a multiple of Nevery are read (the first +snapshot is always read). If Nevery = 0, then this criterion is ignored, i.e. every snapshot is read that meets the other criteria. -If the skip keyword is used, then after the first snapshot is read, -every Nth snapshot is read, where N = Nskip. E.g. if Nskip = 3, +If the skip keyword is used, then after the first snapshot is read, +every Nth snapshot is read, where N = Nskip. E.g. if Nskip = 3, then only 1 out of every 3 snapshots is read, assuming the snapshot -timestamp is also consistent with the other criteria. -

    -

    The start and stop keywords do not affect which snapshots are read +timestamp is also consistent with the other criteria.

    +

    The start and stop keywords do not affect which snapshots are read from the dump file(s). Rather, they have the same meaning that they -do for the run command. They only need to be defined if -(a) you are using a fix command that changes some value +do for the run command. They only need to be defined if +(a) you are using a fix command that changes some value over time, and (b) you want the reference point for elapsed time (from -start to stop) to be different than the first and last settings. +start to stop) to be different than the first and last settings. See the doc page for individual fixes to see which ones can be used -with the start/stop keywords. Note that if you define neither of -the start/stop or first/last keywords, then LAMMPS treats the +with the start/stop keywords. Note that if you define neither of +the start/stop or first/last keywords, then LAMMPS treats the pseudo run as going from 0 to a huge value (effectively infinity). This means that any quantity that a fix scales as a fraction of elapsed time in the run, will essentially remain at its intiial value. Also note that an error will occur if you read a snapshot from the -dump file with a timestep value larger than the stop setting you -have specified. -

    -

    The dump keyword is required and must be the last keyword specified. -Its arguments are passed internally to the read_dump -command. The first argument following the dump keyword should be -the field1 argument of the read_dump command. See -the read_dump doc page for details on the various +dump file with a timestep value larger than the stop setting you +have specified.

    +

    The dump keyword is required and must be the last keyword specified. +Its arguments are passed internally to the read_dump +command. The first argument following the dump keyword should be +the field1 argument of the read_dump command. See +the read_dump doc page for details on the various options it allows for extracting information from the dump file snapshots, and for using that information to alter the LAMMPS -simulation. -

    -
    - -

    In general, a LAMMPS input script that uses a rerun command can +simulation.

    +
    +

    In general, a LAMMPS input script that uses a rerun command can include and perform all the usual operations of an input script that -uses the run command. There are a few exceptions and -points to consider, as discussed here. -

    -

    Fixes that perform time integration, such as fix nve or -fix npt are not invoked, since no time integration is +uses the run command. There are a few exceptions and +points to consider, as discussed here.

    +

    Fixes that perform time integration, such as fix nve or +fix npt are not invoked, since no time integration is performed. Fixes that perturb or constrain the forces on atoms will -be invoked, just as they would during a normal run. Examples are fix -indent and fix langevin. So you +be invoked, just as they would during a normal run. Examples are fix indent and fix langevin. So you should think carefully as to whether that makes sense for the manner -in which you are reprocessing the dump snapshots. -

    -

    If you only want the rerun script to perform analyses that do not +in which you are reprocessing the dump snapshots.

    +

    If you only want the rerun script to perform analyses that do not involve pair interactions, such as use compute msd to calculated -displacements over time, you do not need to define a pair -style, which may also mean neighbor lists will not -need to be calculated which saves time. The comm_modify -cutoff command can also be used to insure ghost +displacements over time, you do not need to define a pair style, which may also mean neighbor lists will not +need to be calculated which saves time. The comm_modify cutoff command can also be used to insure ghost atoms are acquired from far enough away for operations like bond and -angle evaluations, if no pair style is being used. -

    -

    Every time a snapshot is read, the timestep for the simulation is -reset, as if the reset_timestep command were +angle evaluations, if no pair style is being used.

    +

    Every time a snapshot is read, the timestep for the simulation is +reset, as if the reset_timestep command were used. This command has some restrictions as to what fixes can be -defined. See its doc page for details. For example, the fix -deposit and fix dt/reset fixes +defined. See its doc page for details. For example, the fix deposit and fix dt/reset fixes are in this category. They also make no sense to use with a rerun -command. -

    -

    If time-averaging fixes like fix ave/time are +command.

    +

    If time-averaging fixes like fix ave/time are used, they are invoked on timesteps that are a function of their -Nevery, Nrepeat, and Nfreq settings. As an example, see the -fix ave/time doc page for details. You must +Nevery, Nrepeat, and Nfreq settings. As an example, see the +fix ave/time doc page for details. You must insure those settings are consistent with the snapshot timestamps that are read from the dump file(s). If an averaging fix is not invoked on -a timestep it expects to be, LAMMPS will flag an error. -

    -

    The various forms of LAMMPS output, as defined by the -thermo_style, thermo, -dump, and restart commands occur on +a timestep it expects to be, LAMMPS will flag an error.

    +

    The various forms of LAMMPS output, as defined by the +thermo_style, thermo, +dump, and restart commands occur on specific timesteps. If successvive dump snapshots skip those timesteps, then no output will be produced. E.g. if you request thermodynamic output every 100 steps, but the dump file snapshots are every 1000 steps, then you will only see thermodynamic output every -1000 steps. -

    -
    - -

    Restrictions: -

    -

    To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option - see the Making -LAMMPS section of the documentation. -

    -

    Related commands: -

    -

    read_dump -

    -

    Default: -

    -

    The option defaults are first = 0, last = a huge value (effectively +1000 steps.

    +
    +
    +
    +

    Restrictions¶

    +

    To read gzipped dump files, you must compile LAMMPS with the +-DLAMMPS_GZIP option - see the Making LAMMPS section of the documentation.

    +
    + +
    +

    Default¶

    +

    The option defaults are first = 0, last = a huge value (effectively infinity), start = same as first, stop = same as last, every = 0, skip -= 1; -

    - += 1;

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/reset_timestep.html b/doc/reset_timestep.html index 5e678cb592..b1120d26ab 100644 --- a/doc/reset_timestep.html +++ b/doc/reset_timestep.html @@ -1,66 +1,247 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + reset_timestep command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    reset_timestep command -

    -

    Syntax: -

    -
    reset_timestep N 
    -
    -
    • N = timestep number -
    -

    Examples: -

    -
    reset_timestep 0
    -reset_timestep 4000000 
    -
    -

    Description: -

    -

    Set the timestep counter to the specified value. This command + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    reset_timestep command¶

    +
    +

    Syntax¶

    +
    reset_timestep N
    +
    +
    +
      +
    • N = timestep number
    • +
    +
    +
    +

    Examples¶

    +
    reset_timestep 0
    +reset_timestep 4000000
    +
    +
    +
    +
    +

    Description¶

    +

    Set the timestep counter to the specified value. This command normally comes after the timestep has been set by reading a restart -file via the read_restart command, or a previous -simulation advanced the timestep. -

    -

    The read_data and create_box -commands set the timestep to 0; the read_restart +file via the read_restart command, or a previous +simulation advanced the timestep.

    +

    The read_data and create_box +commands set the timestep to 0; the read_restart command sets the timestep to the value it had when the restart file -was written. -

    -

    Restrictions: none -

    -

    This command cannot be used when any fixes are defined that keep track +was written.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform certain kinds of time-dependent operations. -Examples are the fix deposit and fix -dt/reset commands. The former adds atoms on -specific timesteps. The latter keeps track of accumulated time. -

    -

    Various fixes use the current timestep to calculate related +Examples are the fix deposit and fix dt/reset commands. The former adds atoms on +specific timesteps. The latter keeps track of accumulated time.

    +

    Various fixes use the current timestep to calculate related quantities. If the timestep is reset, this may produce unexpected behavior, but LAMMPS allows the fixes to be defined even if the timestep is reset. For example, commands which thermostat the system, -e.g. fix nvt, allow you to specify a target temperature +e.g. fix nvt, allow you to specify a target temperature which ramps from Tstart to Tstop which may persist over several runs. If you change the timestep, you may induce an instantaneous change in -the target temperature. -

    -

    Resetting the timestep clears flags for computes that +the target temperature.

    +

    Resetting the timestep clears flags for computes that may have calculated some quantity from a previous run. This means these quantity cannot be accessed by a variable in between runs until -a new run is performed. See the variable command for -more details. -

    -

    Related commands: -

    -

    rerun -

    -

    Default: none -

    - +a new run is performed. See the variable command for +more details.

    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/restart.html b/doc/restart.html index 083e74e024..e1aedf7dbf 100644 --- a/doc/restart.html +++ b/doc/restart.html @@ -1,144 +1,246 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + restart command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    restart command -

    -

    Syntax: -

    -
    restart 0
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    restart command¶

    +
    +

    Syntax¶

    +
    restart 0
     restart N root keyword value ...
    -restart N file1 file2 keyword value ... 
    -
    -
    • N = write a restart file every this many timesteps - -
    • N can be a variable (see below) - -
    • root = filename to which timestep # is appended - -
    • file1,file2 = two full filenames, toggle between them when writing file - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = fileper or nfile - -
        fileper arg = Np
      +restart N file1 file2 keyword value ...
      +
    +
    +
      +
    • N = write a restart file every this many timesteps
    • +
    • N can be a variable (see below)
    • +
    • root = filename to which timestep # is appended
    • +
    • file1,file2 = two full filenames, toggle between them when writing file
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = fileper or nfile
    • +
    +
    +fileper arg = Np
         Np = write one file for every this many processors
    -  nfile arg = Nf
    -    Nf = write this many files, one from each of Nf processors 
    -
    - - -

    Examples: -

    -
    restart 0
    +  nfile arg = Nf
    +    Nf = write this many files, one from each of Nf processors
    +
    +
    +
    +

    Examples¶

    +
    restart 0
     restart 1000 poly.restart
     restart 1000 poly.restart.mpiio
     restart 1000 restart.*.equil
     restart 10000 poly.%.1 poly.%.2 nfile 10
    -restart v_mystep poly.restart 
    -
    -

    Description: -

    -

    Write out a binary restart file with the current state of the +restart v_mystep poly.restart +

    + + +
    +

    Description¶

    +

    Write out a binary restart file with the current state of the simulation every so many timesteps, in either or both of two modes, as a run proceeds. A value of 0 means do not write out any restart files. The two modes are as follows. If one filename is specified, a series of filenames will be created which include the timestep in the filename. If two filenames are specified, only 2 restart files will be created, with those names. LAMMPS will toggle between the 2 names -as it writes successive restart files. -

    -

    Note that you can specify the restart command twice, once with a +as it writes successive restart files.

    +

    Note that you can specify the restart command twice, once with a single filename and once with two filenames. This would allow you, for example, to write out archival restart files every 100000 steps using a single filenname, and more frequent temporary restart files every 1000 steps, using two filenames. Using restart 0 will turn off -both modes of output. -

    -

    Similar to dump files, the restart filename(s) can contain -two wild-card characters. -

    -

    If a "*" appears in the single filename, it is replaced with the +both modes of output.

    +

    Similar to dump files, the restart filename(s) can contain +two wild-card characters.

    +

    If a “*” appears in the single filename, it is replaced with the current timestep value. This is only recognized when a single filename is used (not when toggling back and forth). Thus, the 3rd example above creates restart files as follows: restart.1000.equil, -restart.2000.equil, etc. If a single filename is used with no "*", +restart.2000.equil, etc. If a single filename is used with no “*”, then the timestep value is appended. E.g. the 2nd example above creates restart files as follows: poly.restart.1000, -poly.restart.2000, etc. -

    -

    If a "%" character appears in the restart filename(s), then one file -is written for each processor and the "%" character is replaced with -the processor ID from 0 to P-1. An additional file with the "%" -replaced by "base" is also written, which contains global information. +poly.restart.2000, etc.

    +

    If a “%” character appears in the restart filename(s), then one file +is written for each processor and the “%” character is replaced with +the processor ID from 0 to P-1. An additional file with the “%” +replaced by “base” is also written, which contains global information. For example, the files written on step 1000 for filename restart.% would be restart.base.1000, restart.0.1000, restart.1.1000, ..., restart.P-1.1000. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support -parallel I/O. The optional fileper and nfile keywords discussed -below can alter the number of files written. -

    -

    The restart file can also be written in parallel as one large binary +parallel I/O. The optional fileper and nfile keywords discussed +below can alter the number of files written.

    +

    The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g. -

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform 
    -
    -

    Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. +build LAMMPS with its MPIIO package installed, e.g.

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform
    +
    +
    +

    Second, use a restart filename which contains ”.mpiio”. Note that it +does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. -

    -

    Restart files are written on timesteps that are a multiple of N but +written and read using MPI-IO.

    +

    Restart files are written on timesteps that are a multiple of N but not on the first timestep of a run or minimization. You can use the -write_restart command to write a restart file +write_restart command to write a restart file before a run begins. A restart file is not written on the last timestep of a run unless it is a multiple of N. A restart file is -written on the last timestep of a minimization if N > 0 and the -minimization converges. -

    -

    Instead of a numeric value, N can be specifed as an equal-style -variable, which should be specified as v_name, where +written on the last timestep of a minimization if N > 0 and the +minimization converges.

    +

    Instead of a numeric value, N can be specifed as an equal-style variable, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a restart file will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() and -logfreq() and stride() math functions for equal-style -variables, as examples of useful functions to use in +logfreq() and stride() math functions for equal-style variables, as examples of useful functions to use in this context. Other similar math functions could easily be added as -options for equal-style variables. -

    -

    For example, the following commands will write restart files +options for equal-style variables.

    +

    For example, the following commands will write restart files every step from 1100 to 1200, and could be useful for debugging -a simulation where something goes wrong at step 1163: -

    -
    variable	s equal stride(1100,1200,1)
    -restart		v_s tmp.restart 
    -
    -
    - -

    See the read_restart command for information about -what is stored in a restart file. -

    -

    Restart files can be read by a read_restart +a simulation where something goes wrong at step 1163:

    +
    variable     s equal stride(1100,1200,1)
    +restart              v_s tmp.restart
    +
    +
    +
    +

    See the read_restart command for information about +what is stored in a restart file.

    +

    Restart files can be read by a read_restart command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the -r command-line -switch to convert a restart file to a data -file. -

    -

    IMPORTANT NOTE: Although the purpose of restart files is to enable +another machine. In this case, you can use the -r command-line switch to convert a restart file to a data +file.

    +
    +

    Warning

    +

    Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which @@ -146,42 +248,104 @@ means the new input script must specify any fixes you want to use. Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. See the -read_restart command for information about what is -stored in a restart file. -

    -
    - -

    The optional nfile or fileper keywords can be used in conjunction -with the "%" wildcard character in the specified restart file name(s). -As explained above, the "%" character causes the restart file to be +read_restart command for information about what is +stored in a restart file.

    +
    +
    +

    The optional nfile or fileper keywords can be used in conjunction +with the “%” wildcard character in the specified restart file name(s). +As explained above, the “%” character causes the restart file to be written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. -

    -

    The nfile keyword sets P to the specified Nf value. For example, if +the number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors.

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file. -

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a restart file.

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file. -

    -
    +next 3 processors and write it to a restart file.

    +
    +
    +
    +

    Restrictions¶

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed.

    +
    + +
    +

    Default¶

    +
    restart 0
    +
    +
    +
    + -

    Restrictions: -

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. -

    -

    Related commands: -

    -

    write_restart, read_restart -

    -

    Default: -

    -
    restart 0 
    -
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/run.html b/doc/run.html index 3ccb7bb700..b7ed152afd 100644 --- a/doc/run.html +++ b/doc/run.html @@ -1,215 +1,385 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + run command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    run command -

    -

    Syntax: -

    -
    run N keyword values ... 
    -
    -
    • N = # of timesteps - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = upto or start or stop or pre or post or every - -
        upto value = none
      -  start value = N1
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      run command¶

      +
      +

      Syntax¶

      +
      run N keyword values ...
      +
      +
      +
        +
      • N = # of timesteps
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = upto or start or stop or pre or post or every
      • +
      +
      +upto value = none
      +  start value = N1
           N1 = timestep at which 1st run started
      -  stop value = N2
      +  stop value = N2
           N2 = timestep at which last run will end
      -  pre value = no or yes
      -  post value = no or yes 
      -  every values = M c1 c2 ...
      +  pre value = no or yes
      +  post value = no or yes
      +  every values = M c1 c2 ...
           M = break the run into M-timestep segments and invoke one or more commands between each segment
           c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes
      -    c1 = NULL means no command will be invoked 
      -
      - -
    -

    Examples: -

    -
    run 10000
    +    c1 = NULL means no command will be invoked
    +
    +
    +
    +

    Examples¶

    +
    run 10000
     run 1000000 upto
     run 100 start 0 stop 1000
     run 1000 pre no post yes
    -run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'"
    -run 100000 every 1000 NULL 
    -
    -

    Description: -

    -

    Run or continue dynamics for a specified number of timesteps. -

    -

    When the run style is respa, N refers to outer -loop (largest) timesteps. -

    -

    A value of N = 0 is acceptable; only the thermodynamics of the system -are computed and printed without taking a timestep. -

    -

    The upto keyword means to perform a run starting at the current +run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'" +run 100000 every 1000 NULL +

    +
    +
    +
    +

    Description¶

    +

    Run or continue dynamics for a specified number of timesteps.

    +

    When the run style is respa, N refers to outer +loop (largest) timesteps.

    +

    A value of N = 0 is acceptable; only the thermodynamics of the system +are computed and printed without taking a timestep.

    +

    The upto keyword means to perform a run starting at the current timestep up to the specified timestep. E.g. if the current timestep -is 10,000 and "run 100000 upto" is used, then an additional 90,000 +is 10,000 and “run 100000 upto” is used, then an additional 90,000 timesteps will be run. This can be useful for very long runs on a machine that allocates chunks of time and terminate your job when time is exceeded. If you need to restart your script multiple times (reading in the last restart file), you can keep restarting your script with the same run command until the simulation finally -completes. -

    -

    The start or stop keywords can be used if multiple runs are being -performed and you want a fix command that changes some +completes.

    +

    The start or stop keywords can be used if multiple runs are being +performed and you want a fix command that changes some value over time (e.g. temperature) to make the change across the entire set of runs and not just a single run. See the doc page for -individual fixes to see which ones can be used with the start/stop -keywords. -

    -

    For example, consider this fix followed by 10 run commands: -

    -
    fix	     1 all nvt 200.0 300.0 1.0
    -run	     1000 start 0 stop 10000
    -run	     1000 start 0 stop 10000
    +individual fixes to see which ones can be used with the start/stop
    +keywords.

    +

    For example, consider this fix followed by 10 run commands:

    +
    fix       1 all nvt 200.0 300.0 1.0
    +run       1000 start 0 stop 10000
    +run       1000 start 0 stop 10000
     ...
    -run	     1000 start 0 stop 10000 
    -
    -

    The NVT fix ramps the target temperature from 200.0 to 300.0 during a +run 1000 start 0 stop 10000 +

    + +

    The NVT fix ramps the target temperature from 200.0 to 300.0 during a run. If the run commands did not have the start/stop keywords (just -"run 1000"), then the temperature would ramp from 200.0 to 300.0 +“run 1000”), then the temperature would ramp from 200.0 to 300.0 during the 1000 steps of each run. With the start/stop keywords, the -ramping takes place over the 10000 steps of all runs together. -

    -

    The pre and post keywords can be used to streamline the setup, +ramping takes place over the 10000 steps of all runs together.

    +

    The pre and post keywords can be used to streamline the setup, clean-up, and associated output to the screen that happens before and after a run. This can be useful if you wish to do many short runs in succession (e.g. LAMMPS is being called as a library which is doing -other computations between successive short LAMMPS runs). -

    -

    By default (pre and post = yes), LAMMPS creates neighbor lists, +other computations between successive short LAMMPS runs).

    +

    By default (pre and post = yes), LAMMPS creates neighbor lists, computes forces, and imposes fix constraints before every run. And after every run it gathers and prints timings statistics. If a run is just a continuation of a previous run (i.e. no settings are changed), the initial computation is not necessary; the old neighbor list is -still valid as are the forces. So if pre is specified as "no" then +still valid as are the forces. So if pre is specified as “no” then the initial setup is skipped, except for printing thermodynamic info. -Note that if pre is set to "no" for the very 1st run LAMMPS +Note that if pre is set to “no” for the very 1st run LAMMPS performs, then it is overridden, since the initial setup computations -must be done. -

    -

    IMPORTANT NOTE: If your input script changes the system between 2 +must be done.

    +
    +

    Warning

    +

    If your input script changes the system between 2 runs, then the initial setup must be performed to insure the change is recognized by all parts of the code that are affected. Examples are -adding a fix or dump or compute, -changing a neighbor list parameter, or writing +adding a fix or dump or compute, +changing a neighbor list parameter, or writing restart file which can migrate atoms between processors. LAMMPS has no easy way to check if this has happened, but it is an error to use -the pre no option in this case. -

    -

    If post is specified as "no", the full timing summary is skipped; -only a one-line summary timing is printed. -

    -

    The every keyword provides a means of breaking a LAMMPS run into a +the pre no option in this case.

    +
    +

    If post is specified as “no”, the full timing summary is skipped; +only a one-line summary timing is printed.

    +

    The every keyword provides a means of breaking a LAMMPS run into a series of shorter runs. Optionally, one or more LAMMPS commands (c1, c2, ..., cN) will be executed in between the short runs. If used, the -every keyword must be the last keyword, since it has a variable +every keyword must be the last keyword, since it has a variable number of arguments. Each of the trailing arguments is a single LAMMPS command, and each command should be enclosed in quotes, so that the entire command will be treated as a single argument. This will also prevent any variables in the command from being evaluated until it is executed multiple times during the run. Note that if a command -itself needs one of its arguments quoted (e.g. the print +itself needs one of its arguments quoted (e.g. the print command), then you can use a combination of single and double quotes, -as in the example above or below. -

    -

    The every keyword is a means to avoid listing a long series of runs +as in the example above or below.

    +

    The every keyword is a means to avoid listing a long series of runs and interleaving commands in your input script. For example, a -print command could be invoked or a fix could +print command could be invoked or a fix could be redefined, e.g. to reset a thermostat temperature. Or this could be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation -periodically during a long LAMMPS run. See this -section of the documentation for info about how -to add new commands to LAMMPS. See this -section of the documentation for ideas -about how to couple LAMMPS to other codes. -

    -

    With the every option, N total steps are simulated, in shorter runs +periodically during a long LAMMPS run. See this section of the documentation for info about how +to add new commands to LAMMPS. See this section of the documentation for ideas +about how to couple LAMMPS to other codes.

    +

    With the every option, N total steps are simulated, in shorter runs of M steps each. After each M-length run, the specified commands are invoked. If only a single command is specified as NULL, then no -command is invoked. Thus these lines: -

    -
    variable q equal x[100]
    -run 6000 every 2000 "print 'Coord = $q'" 
    -
    -

    are the equivalent of: -

    -
    variable q equal x[100]
    +command is invoked.  Thus these lines:

    +
    variable q equal x[100]
    +run 6000 every 2000 "print 'Coord = $q'"
    +
    +
    +

    are the equivalent of:

    +
    variable q equal x[100]
     run 2000
    -print "Coord = $q"
    +print "Coord = $q"
     run 2000
    -print "Coord = $q"
    +print "Coord = $q"
     run 2000
    -print "Coord = $q" 
    -
    -

    which does 3 runs of 2000 steps and prints the x-coordinate of a -particular atom between runs. Note that the variable "$q" will -be evaluated afresh each time the print command is executed. -

    -

    Note that by using the line continuation character "&", the run every +print "Coord = $q" +

    + +

    which does 3 runs of 2000 steps and prints the x-coordinate of a +particular atom between runs. Note that the variable “$q” will +be evaluated afresh each time the print command is executed.

    +

    Note that by using the line continuation character “&”, the run every command can be spread across many lines, though it is still a single -command: -

    -
    run 100000 every 1000 &
    -  "print 'Minimum value = $a'" &
    -  "print 'Maximum value = $b'" &
    -  "print 'Temp = $c'" &
    -  "print 'Press = $d'" 
    -
    -

    If the pre and post options are set to "no" when used with the -every keyword, then the 1st run will do the full setup and the last +command:

    +
    run 100000 every 1000 &
    +  "print 'Minimum value = $a'" &
    +  "print 'Maximum value = $b'" &
    +  "print 'Temp = $c'" &
    +  "print 'Press = $d'"
    +
    +
    +

    If the pre and post options are set to “no” when used with the +every keyword, then the 1st run will do the full setup and the last run will print the full timing summary, but these operations will be -skipped for intermediate runs. -

    -

    IMPORTANT NOTE: You might hope to specify a command that exits the run -by jumping out of the loop, e.g. -

    -
    variable t equal temp
    -run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" 
    -
    -

    Unfortunately this will not currently work. The run command simply +skipped for intermediate runs.

    +
    +

    Warning

    +

    You might hope to specify a command that exits the run +by jumping out of the loop, e.g.

    +
    +
    variable t equal temp
    +run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'"
    +
    +
    +

    Unfortunately this will not currently work. The run command simply executes each command one at a time each time it pauses, then continues the run. You can replace the jump command with a simple -quit command and cause LAMMPS to exit during the -middle of a run when the condition is met. -

    -

    Restrictions: -

    -

    When not using the upto keyword, the number of specified timesteps N +quit command and cause LAMMPS to exit during the +middle of a run when the condition is met.

    + +
    +

    Restrictions¶

    +

    When not using the upto keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly -more than 2 billion steps (2^31) in a single run. When using upto, +more than 2 billion steps (2^31) in a single run. When using upto, N can be larger than a signed 32-bit integer, however the difference between N and the current timestep must still be no larger than -2^31 steps. -

    -

    However, with or without the upto keyword, you can perform +2^31 steps.

    +

    However, with or without the upto keyword, you can perform successive runs to run a simulation for any number of steps (ok, up to 2^63 total steps). I.e. the timestep counter within LAMMPS is a -64-bit signed integer. -

    -

    Related commands: -

    -

    minimize, run_style, -temper -

    -

    Default: -

    -

    The option defaults are start = the current timestep, stop = current -timestep + N, pre = yes, and post = yes. -

    - +64-bit signed integer.

    +
    + +
    +

    Default¶

    +

    The option defaults are start = the current timestep, stop = current +timestep + N, pre = yes, and post = yes.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/run_style.html b/doc/run_style.html index 2e12bbac8c..0e9c499bdc 100644 --- a/doc/run_style.html +++ b/doc/run_style.html @@ -1,201 +1,303 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + run_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    run_style command -

    -

    Syntax: -

    -
    run_style style args 
    -
    -
    • style = verlet or verlet/split or respa or respa/omp - -
        verlet args = none
      -  verlet/split args = none
      -  respa args = N n1 n2 ... keyword values ...
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      run_style command¶

      +
      +

      Syntax¶

      +
      run_style style args
      +
      +
      +
        +
      • style = verlet or verlet/split or respa or respa/omp
      • +
      +
      +verlet args = none
      +  verlet/split args = none
      +  respa args = N n1 n2 ... keyword values ...
           N = # of levels of rRESPA
           n1, n2, ... = loop factor between rRESPA levels (N-1 values)
           zero or more keyword/value pairings may be appended to the loop factors
      -    keyword = bond or angle or dihedral or improper or
      -	      pair or inner or middle or outer or hybrid or kspace
      -      bond value = M
      +    keyword = bond or angle or dihedral or improper or
      +           pair or inner or middle or outer or hybrid or kspace
      +      bond value = M
               M = which level (1-N) to compute bond forces in
      -      angle value = M
      +      angle value = M
               M = which level (1-N) to compute angle forces in
      -      dihedral value = M
      +      dihedral value = M
               M = which level (1-N) to compute dihedral forces in
      -      improper value = M
      +      improper value = M
               M = which level (1-N) to compute improper forces in
      -      pair value = M
      +      pair value = M
               M = which level (1-N) to compute pair forces in
      -      inner values = M cut1 cut2
      +      inner values = M cut1 cut2
               M = which level (1-N) to compute pair inner forces in
      -	cut1 = inner cutoff between pair inner and
      -	       pair middle or outer  (distance units)
      -	cut2 = outer cutoff between pair inner and
      -	       pair middle or outer  (distance units)
      -      middle values = M cut1 cut2
      +     cut1 = inner cutoff between pair inner and
      +            pair middle or outer  (distance units)
      +     cut2 = outer cutoff between pair inner and
      +            pair middle or outer  (distance units)
      +      middle values = M cut1 cut2
               M = which level (1-N) to compute pair middle forces in
      -	cut1 = inner cutoff between pair middle and pair outer (distance units)
      -	cut2 = outer cutoff between pair middle and pair outer (distance units)
      -      outer value = M
      +     cut1 = inner cutoff between pair middle and pair outer (distance units)
      +     cut2 = outer cutoff between pair middle and pair outer (distance units)
      +      outer value = M
               M = which level (1-N) to compute pair outer forces in
      -      hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles 
      +      hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles
               M1 = which level (1-N) to compute the first pair_style hybrid sub-style in
               M2 = which level (1-N) to compute the second pair_style hybrid sub-style in
               ...
      -      kspace value = M
      -        M = which level (1-N) to compute kspace forces in 
      -
      - -
    -

    Examples: -

    -
    run_style verlet
    +      kspace value = M
    +        M = which level (1-N) to compute kspace forces in
    +
    +
    +
    +

    Examples¶

    +
    run_style verlet
     run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4
    -run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 
    -
    -
    run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 
    -
    -

    Description: -

    -

    Choose the style of time integrator used for molecular dynamics -simulations performed by LAMMPS. -

    -

    The verlet style is a standard velocity-Verlet integrator. -

    -
    - -

    The verlet/split style is also a velocity-Verlet integrator, but it +run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 +

    +
    +
    run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3
    +
    +
    +
    +
    +

    Description¶

    +

    Choose the style of time integrator used for molecular dynamics +simulations performed by LAMMPS.

    +

    The verlet style is a standard velocity-Verlet integrator.

    +
    +

    The verlet/split style is also a velocity-Verlet integrator, but it splits the force calculation within each timestep over 2 partitions of -processors. See Section_start 6 for an -explanation of the -partition command-line switch. -

    -

    Specifically, this style performs all computation except the -kspace_style portion of the force field on the 1st -partition. This include the pair style, bond -style, neighbor list building, -fixes including time intergration, and output. The -kspace_style portion of the calculation is -performed on the 2nd partition. -

    -

    This is most useful for the PPPM kspace_style when its performance on +processors. See Section_start 6 for an +explanation of the -partition command-line switch.

    +

    Specifically, this style performs all computation except the +kspace_style portion of the force field on the 1st +partition. This include the pair style, bond style, neighbor list building, +fixes including time intergration, and output. The +kspace_style portion of the calculation is +performed on the 2nd partition.

    +

    This is most useful for the PPPM kspace_style when its performance on a large number of processors degrades due to the cost of communication in its 3d FFTs. In this scenario, splitting your P total processors into 2 subsets of processors, P1 in the 1st partition and P2 in the 2nd partition, can enable your simulation to run faster. This is because the long-range forces in PPPM can be calculated at the same time as pair-wise and bonded forces are being calculated, and the FFTs -can actually speed up when running on fewer processors. -

    -

    To use this style, you must define 2 partitions where P1 is a multiple +can actually speed up when running on fewer processors.

    +

    To use this style, you must define 2 partitions where P1 is a multiple of P2. Typically having P1 be 3x larger than P2 is a good choice. The 3d processor layouts in each partition must overlay in the following sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by Py2 by Pz2, then Px1 must be an integer multiple of Px2, and similarly -for Py1 a multiple of Py2, and Pz1 a multiple of Pz2. -

    -

    Typically the best way to do this is to let the 1st partition choose -its onn optimal layout, then require the 2nd partition's layout to +for Py1 a multiple of Py2, and Pz1 a multiple of Pz2.

    +

    Typically the best way to do this is to let the 1st partition choose +its onn optimal layout, then require the 2nd partition’s layout to match the integer multiple constraint. See the -processors command with its part keyword for a way -to control this, e.g. -

    -
    procssors * * * part 1 2 multiple 
    -
    -

    You can also use the partition command to explicitly +processors command with its part keyword for a way +to control this, e.g.

    +
    procssors * * * part 1 2 multiple
    +
    +
    +

    You can also use the partition command to explicitly specity the processor layout on each partition. E.g. for 2 partitions -of 60 and 15 processors each: -

    -
    partition yes 1 processors 3 4 5
    -partition yes 2 processors 3 1 5 
    -
    -

    When you run in 2-partition mode with the verlet/split style, the +of 60 and 15 processors each:

    +
    partition yes 1 processors 3 4 5
    +partition yes 2 processors 3 1 5
    +
    +
    +

    When you run in 2-partition mode with the verlet/split style, the thermodyanmic data for the entire simulation will be output to the log and screen file of the 1st partition, which are log.lammps.0 and -screen.0 by default; see the "-plog and -pscreen command-line -switches"Section_start.html#start_7 to change this. The log and +screen.0 by default; see the “-plog and -pscreen command-line +switches”Section_start.html#start_7 to change this. The log and screen file for the 2nd partition will not contain thermodynamic -output beyone the 1st timestep of the run. -

    -

    See Section_accelerate of the manual for -performance details of the speed-up offered by the verlet/split +output beyone the 1st timestep of the run.

    +

    See Section_accelerate of the manual for +performance details of the speed-up offered by the verlet/split style. One important performance consideration is the assignemnt of logical processors in the 2 partitions to the physical cores of a -parallel machine. The processors command has +parallel machine. The processors command has options to support this, and strategies are discussed in -Section_accelerate of the manual. -

    -
    - -

    The respa style implements the rRESPA multi-timescale integrator -(Tuckerman) with N hierarchical levels, where level 1 is +Section_accelerate of the manual.

    +
    +

    The respa style implements the rRESPA multi-timescale integrator +(Tuckerman) with N hierarchical levels, where level 1 is the innermost loop (shortest timestep) and level N is the outermost loop (largest timestep). The loop factor arguments specify what the looping factor is between levels. N1 specifies the number of iterations of level 1 for a single iteration of level 2, N2 is the iterations of level 2 per iteration of level 3, etc. N-1 looping -parameters must be specified. -

    -

    The timestep command sets the timestep for the +parameters must be specified.

    +

    The timestep command sets the timestep for the outermost rRESPA level. Thus if the example command above for a 4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that -specify number of timesteps (e.g. neigh_modify -parameters, dump every N timesteps, etc) refer to the -outermost timesteps. -

    -

    The rRESPA keywords enable you to specify at what level of the +specify number of timesteps (e.g. neigh_modify +parameters, dump every N timesteps, etc) refer to the +outermost timesteps.

    +

    The rRESPA keywords enable you to specify at what level of the hierarchy various forces will be computed. If not specified, the defaults are that bond forces are computed at level 1 (innermost loop), angle forces are computed where bond forces are, dihedral forces are computed where angle forces are, improper forces are computed where dihedral forces are, pair forces are computed at the outermost level, and kspace forces are computed where pair forces are. -The inner, middle, outer forces have no defaults. -

    -

    The inner and middle keywords take additional arguments for +The inner, middle, outer forces have no defaults.

    +

    The inner and middle keywords take additional arguments for cutoffs that are used by the pairwise force computations. If the 2 -cutoffs for inner are 5.0 and 6.0, this means that all pairs up to +cutoffs for inner are 5.0 and 6.0, this means that all pairs up to 6.0 apart are computed by the inner force. Those between 5.0 and 6.0 have their force go ramped to 0.0 so the overlap with the next regime (middle or outer) is smooth. The next regime (middle or outer) will compute forces for all pairs from 5.0 outward, with those from 5.0 to -6.0 having their value ramped in an inverse manner. -

    -

    Only some pair potentials support the use of the inner and middle -and outer keywords. If not, only the pair keyword can be used +6.0 having their value ramped in an inverse manner.

    +

    Only some pair potentials support the use of the inner and middle +and outer keywords. If not, only the pair keyword can be used with that pair style, meaning all pairwise forces are computed at the same rRESPA level. See the doc pages for individual pair styles for -details.i -

    -

    Another variant to use pair potentials in rRESPA is with the hybrid -keyword, which requires the use of a hybrid pair_style +details.i

    +

    Another variant to use pair potentials in rRESPA is with the hybrid +keyword, which requires the use of a hybrid pair_style In this scenario, different sub-styles of the hybrid pair style are evaluated at different rRESPA levels. Thus the hybrid keyword requires as many level assignments as there are hybrid substyles which designate the respective sub-styles to the rRESPA level according to their order -of definition in the pair_style command. Since the hybrid designates -pair force computations, it is mututally exclusive with either the pair -or the inner/middle/outer keywords. -

    -

    When using rRESPA (or for any MD simulation) care must be taken to +of definition in the pair_style command. Since the hybrid designates +pair force computations, it is mututally exclusive with either the pair +or the inner/middle/outer keywords.

    +

    When using rRESPA (or for any MD simulation) care must be taken to choose a timestep size(s) that insures the Hamiltonian for the chosen ensemble is conserved. For the constant NVE ensemble, total energy -must be conserved. Unfortunately, it is difficult to know a priori +must be conserved. Unfortunately, it is difficult to know a priori how well energy will be conserved, and a fairly long test simulation (~10 ps) is usually necessary in order to verify that no long-term -drift in energy occurs with the trial set of parameters. -

    -

    With that caveat, a few rules-of-thumb may be useful in selecting -respa settings. The following applies mostly to biomolecular +drift in energy occurs with the trial set of parameters.

    +

    With that caveat, a few rules-of-thumb may be useful in selecting +respa settings. The following applies mostly to biomolecular simulations using the CHARMM or a similar all-atom force field, but the concepts are adaptable to other problems. Without SHAKE, bonds involving hydrogen atoms exhibit high-frequency vibrations and require @@ -205,19 +307,18 @@ impropers, and dihedrals can be computed on this innermost 0.5 fmsec step. The outermost timestep cannot be greater than 4.0 fmsec without risking energy drift. Smooth switching of forces between the levels of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 -angstrom "healing distance" (the distance between the outer and inner +angstrom “healing distance” (the distance between the outer and inner cutoffs) works reasonably well. We thus recommend the following -settings for use of the respa style without SHAKE in biomolecular -simulations: -

    -
    timestep  4.0
    -run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 
    -
    -

    With these settings, users can expect good energy conservation and -roughly a 2.5 fold speedup over the verlet style with a 0.5 fmsec -timestep. -

    -

    If SHAKE is used with the respa style, time reversibility is lost, +settings for use of the respa style without SHAKE in biomolecular +simulations:

    +
    timestep  4.0
    +run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4
    +
    +
    +

    With these settings, users can expect good energy conservation and +roughly a 2.5 fold speedup over the verlet style with a 0.5 fmsec +timestep.

    +

    If SHAKE is used with the respa style, time reversibility is lost, but substantially longer time steps can be achieved. For biomolecular simulations using the CHARMM or similar all-atom force field, bonds involving hydrogen atoms exhibit high frequency vibrations and require @@ -227,72 +328,128 @@ the modes are coupled. It is therefore desirable to use SHAKE with respa in order to freeze out these high frequency motions and increase the size of the time steps in the respa hierarchy. The following settings can be used for biomolecular simulations with SHAKE and -rRESPA: -

    -
    fix             2 all shake 0.000001 500 0 m 1.0 a 1
    +rRESPA:

    +
    fix             2 all shake 0.000001 500 0 m 1.0 a 1
     timestep        4.0
    -run_style	respa 2 2 inner 1 4.0 5.0 outer 2 
    -
    -

    With these settings, users can expect good energy conservation and -roughly a 1.5 fold speedup over the verlet style with SHAKE and a -2.0 fmsec timestep. -

    -

    For non-biomolecular simulations, the respa style can be +run_style respa 2 2 inner 1 4.0 5.0 outer 2 +

    + +

    With these settings, users can expect good energy conservation and +roughly a 1.5 fold speedup over the verlet style with SHAKE and a +2.0 fmsec timestep.

    +

    For non-biomolecular simulations, the respa style can be advantageous if there is a clear separation of time scales - fast and slow modes in the simulation. Even a LJ system can benefit from rRESPA if the interactions are divided by the inner, middle and outer keywords. A 2-fold or more speedup can be obtained while maintaining good energy conservation. In real units, for a pure LJ fluid at liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 -Kcal/mol, the following settings seem to work well: -

    -
    timestep  36.0  
    -run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 
    -
    -
    - -

    The respa/omp styles is a variant of respa adapted for use with -pair, bond, angle, dihedral, improper, or kspace styles with an omp -suffix. It is functionally equivalent to respa but performs additional -operations required for managing omp styles. For more on omp styles -see the Section_accelerate of the manual. +Kcal/mol, the following settings seem to work well:

    +
    timestep  36.0
    +run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3
    +
    +
    +
    +

    The respa/omp styles is a variant of respa adapted for use with +pair, bond, angle, dihedral, improper, or kspace styles with an omp +suffix. It is functionally equivalent to respa but performs additional +operations required for managing omp styles. For more on omp styles +see the Section_accelerate of the manual. Accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. -

    -

    You can specify respa/omp explicitly in your input script, or -you can use the -suffix command-line switch -when you invoke LAMMPS, or you can use the suffix -command in your input script. -

    -

    See Section_accelerate of the manual for -more instructions on how to use the accelerated styles effectively. -

    -
    - -

    Restrictions: -

    -

    The verlet/split style can only be used if LAMMPS was built with the -REPLICA package. Correspondingly the respa/omp style is available only -if the USER-OMP package was included. See the Making LAMMPS -section for more info on packages. -

    -

    Whenever using rRESPA, the user should experiment with trade-offs in +results, except for round-off and precision issues.

    +

    You can specify respa/omp explicitly in your input script, or +you can use the -suffix command-line switch +when you invoke LAMMPS, or you can use the suffix +command in your input script.

    +

    See Section_accelerate of the manual for +more instructions on how to use the accelerated styles effectively.

    + +
    +
    +

    Restrictions¶

    +

    The verlet/split style can only be used if LAMMPS was built with the +REPLICA package. Correspondingly the respa/omp style is available only +if the USER-OMP package was included. See the Making LAMMPS +section for more info on packages.

    +

    Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are -conserving energy to adequate precision. -

    -

    Related commands: -

    -

    timestep, run -

    -

    Default: -

    -
    run_style verlet 
    -
    -
    +conserving energy to adequate precision.

    +
    + +
    +

    Default¶

    +
    run_style verlet
    +
    +
    +
    +

    (Tuckerman) Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 +(1992).

    +
    + - -

    (Tuckerman) Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 -(1992). -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/searchindex.js b/doc/searchindex.js index 42d67d3d0a..37653262c2 100644 --- a/doc/searchindex.js +++ b/doc/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:47,filenames:["Manual","Section_accelerate","Section_commands","Section_errors","Section_example","Section_history","Section_howto","Section_intro","Section_modify","Section_packages","Section_perf","Section_python","Section_start","Section_tools","accelerate_cuda","accelerate_gpu","accelerate_intel","accelerate_kokkos","accelerate_omp","accelerate_opt","angle_charmm","angle_class2","angle_coeff","angle_cosine","angle_cosine_delta","angle_cosine_periodic","angle_cosine_shift","angle_cosine_shift_exp","angle_cosine_squared","angle_dipole","angle_fourier","angle_fourier_simple","angle_harmonic","angle_hybrid","angle_none","angle_quartic","angle_sdk","angle_style","angle_table","atom_modify","atom_style","balance","body","bond_class2","bond_coeff","bond_fene","bond_fene_expand","bond_harmonic","bond_harmonic_shift","bond_harmonic_shift_cut","bond_hybrid","bond_morse","bond_none","bond_nonlinear","bond_quartic","bond_style","bond_table","boundary","box","change_box","clear","comm_modify","comm_style","compute","compute_ackland_atom","compute_angle_local","compute_angmom_chunk","compute_basal_atom","compute_body_local","compute_bond_local","compute_centro_atom","compute_chunk_atom","compute_cluster_atom","compute_cna_atom","compute_com","compute_com_chunk","compute_contact_atom","compute_coord_atom","compute_damage_atom","compute_dihedral_local","compute_dilatation_atom","compute_displace_atom","compute_erotate_asphere","compute_erotate_rigid","compute_erotate_sphere","compute_erotate_sphere_atom","compute_event_displace","compute_fep","compute_group_group","compute_gyration","compute_gyration_chunk","compute_heat_flux","compute_improper_local","compute_inertia_chunk","compute_ke","compute_ke_atom","compute_ke_atom_eff","compute_ke_eff","compute_ke_rigid","compute_meso_e_atom","compute_meso_rho_atom","compute_meso_t_atom","compute_modify","compute_msd","compute_msd_chunk","compute_msd_nongauss","compute_omega_chunk","compute_pair","compute_pair_local","compute_pe","compute_pe_atom","compute_plasticity_atom","compute_pressure","compute_property_atom","compute_property_chunk","compute_property_local","compute_rdf","compute_reduce","compute_saed","compute_slice","compute_sna_atom","compute_stress_atom","compute_temp","compute_temp_asphere","compute_temp_chunk","compute_temp_com","compute_temp_cs","compute_temp_deform","compute_temp_deform_eff","compute_temp_drude","compute_temp_eff","compute_temp_partial","compute_temp_profile","compute_temp_ramp","compute_temp_region","compute_temp_region_eff","compute_temp_rotate","compute_temp_sphere","compute_ti","compute_torque_chunk","compute_vacf","compute_vcm_chunk","compute_voronoi_atom","compute_xrd","create_atoms","create_bonds","create_box","delete_atoms","delete_bonds","dielectric","dihedral_charmm","dihedral_class2","dihedral_coeff","dihedral_cosine_shift_exp","dihedral_fourier","dihedral_harmonic","dihedral_helix","dihedral_hybrid","dihedral_multi_harmonic","dihedral_nharmonic","dihedral_none","dihedral_opls","dihedral_quadratic","dihedral_style","dihedral_table","dimension","displace_atoms","dump","dump_image","dump_modify","dump_molfile","echo","fix","fix_adapt","fix_adapt_fep","fix_addforce","fix_addtorque","fix_append_atoms","fix_atc","fix_atom_swap","fix_ave_atom","fix_ave_chunk","fix_ave_correlate","fix_ave_histo","fix_ave_spatial","fix_ave_spatial_sphere","fix_ave_time","fix_aveforce","fix_balance","fix_bond_break","fix_bond_create","fix_bond_swap","fix_box_relax","fix_colvars","fix_deform","fix_deposit","fix_drag","fix_drude","fix_drude_transform","fix_dt_reset","fix_efield","fix_enforce2d","fix_evaporate","fix_external","fix_freeze","fix_gcmc","fix_gld","fix_gle","fix_gravity","fix_heat","fix_imd","fix_indent","fix_ipi","fix_langevin","fix_langevin_drude","fix_langevin_eff","fix_lb_fluid","fix_lb_momentum","fix_lb_pc","fix_lb_rigid_pc_sphere","fix_lb_viscous","fix_lineforce","fix_meso","fix_meso_stationary","fix_modify","fix_momentum","fix_move","fix_msst","fix_neb","fix_nh","fix_nh_eff","fix_nph_asphere","fix_nph_sphere","fix_nphug","fix_npt_asphere","fix_npt_sphere","fix_nve","fix_nve_asphere","fix_nve_asphere_noforce","fix_nve_body","fix_nve_eff","fix_nve_limit","fix_nve_line","fix_nve_noforce","fix_nve_sphere","fix_nve_tri","fix_nvt_asphere","fix_nvt_sllod","fix_nvt_sllod_eff","fix_nvt_sphere","fix_oneway","fix_orient_fcc","fix_phonon","fix_pimd","fix_planeforce","fix_poems","fix_pour","fix_press_berendsen","fix_print","fix_property_atom","fix_qbmsst","fix_qeq","fix_qeq_comb","fix_qeq_reax","fix_qmmm","fix_qtb","fix_reax_bonds","fix_reaxc_species","fix_recenter","fix_restrain","fix_rigid","fix_saed_vtk","fix_setforce","fix_shake","fix_smd","fix_spring","fix_spring_rg","fix_spring_self","fix_srd","fix_store_force","fix_store_state","fix_temp_berendsen","fix_temp_csvr","fix_temp_rescale","fix_temp_rescale_eff","fix_tfmc","fix_thermal_conductivity","fix_ti_rs","fix_ti_spring","fix_tmd","fix_ttm","fix_tune_kspace","fix_vector","fix_viscosity","fix_viscous","fix_wall","fix_wall_gran","fix_wall_piston","fix_wall_reflect","fix_wall_region","fix_wall_srd","group","group2ndx","if","improper_class2","improper_coeff","improper_cossq","improper_cvff","improper_fourier","improper_harmonic","improper_hybrid","improper_none","improper_ring","improper_style","improper_umbrella","include","info","jump","kspace_modify","kspace_style","label","lattice","log","mass","min_modify","min_style","minimize","molecule","neb","neigh_modify","neighbor","newton","next","package","pair_adp","pair_airebo","pair_awpmd","pair_beck","pair_body","pair_bop","pair_born","pair_brownian","pair_buck","pair_buck_long","pair_charmm","pair_class2","pair_coeff","pair_colloid","pair_comb","pair_coul","pair_coul_diel","pair_cs","pair_dipole","pair_dpd","pair_dsmc","pair_eam","pair_edip","pair_eff","pair_eim","pair_gauss","pair_gayberne","pair_gran","pair_gromacs","pair_hbond_dreiding","pair_hybrid","pair_kim","pair_lcbop","pair_line_lj","pair_list","pair_lj","pair_lj96","pair_lj_cubic","pair_lj_expand","pair_lj_long","pair_lj_sf","pair_lj_smooth","pair_lj_smooth_linear","pair_lj_soft","pair_lubricate","pair_lubricateU","pair_meam","pair_meam_spline","pair_meam_sw_spline","pair_mie","pair_modify","pair_morse","pair_nb3b_harmonic","pair_nm","pair_none","pair_peri","pair_polymorphic","pair_quip","pair_reax","pair_reax_c","pair_resquared","pair_sdk","pair_snap","pair_soft","pair_sph_heatconduction","pair_sph_idealgas","pair_sph_lj","pair_sph_rhosum","pair_sph_taitwater","pair_sph_taitwater_morris","pair_srp","pair_style","pair_sw","pair_table","pair_tersoff","pair_tersoff_mod","pair_tersoff_zbl","pair_thole","pair_tri_lj","pair_write","pair_yukawa","pair_yukawa_colloid","pair_zbl","partition","prd","print","processors","python","quit","read_data","read_dump","read_restart","region","replicate","rerun","reset_timestep","restart","run","run_style","set","shell","special_bonds","suffix","tad","temper","thermo","thermo_modify","thermo_style","timestep","tutorial_drude","uncompute","undump","unfix","units","variable","velocity","write_data","write_dump","write_restart"],objects:{},objnames:{},objtypes:{},terms:{"00a":287,"00b":287,"02214e23":91,"03275e":447,"0b1":11,"0e20":[303,426,448],"0e4":[227,296,361],"0e5":227,"0x98b5e0":168,"100k":1,"1024x1024":168,"10e":351,"10f":3,"10g":448,"10th":[418,424,437],"10x":[3,325,326,328,329,339],"10x10x10":132,"10x20x20":321,"11e":10,"15g":[169,448],"16x":1,"18986e":326,"18e":10,"1_prop":6,"1st":[2,6,8,12,20,22,38,44,56,57,58,60,87,138,150,152,164,173,174,181,182,183,184,185,186,190,194,229,258,268,289,301,305,323,329,334,335,339,346,348,355,357,358,365,366,375,376,380,381,382,386,390,396,406,407,408,409,410,417,423,431,432,435,448],"1x2x2":420,"2000k":168,"20x":339,"23899e":326,"2400k":168,"256k":10,"25x":10,"298k":350,"2k_ss":357,"2nd":[2,3,6,11,12,15,17,38,45,46,56,57,60,71,77,88,133,164,169,181,182,183,184,185,186,190,192,194,229,270,274,275,301,304,310,317,326,327,328,329,333,335,348,357,363,364,380,396,405,406,407,408,409,410,423,430,432,435,448],"2pi":164,"2theta":143,"2x1x2":420,"2x2x1":420,"2x2x2":420,"2x4x10":420,"2x5":357,"300k":[207,270,449],"32k":10,"3419e":227,"3806504e":[6,91],"38e":10,"3n_k":206,"3nk":260,"3nkb":265,"3rd":[15,17,20,38,56,71,105,114,164,181,182,183,184,185,186,190,270,271,301,327,331,333,348,357,363,364,396,406,407,408,409,410,423,430,435,448],"3x3":[91,321],"4857990943e":357,"4_94":11,"4th":[6,38,56,81,103,104,116,140,150,164,169,275,301,319,332,334,335,339,355,358,365,380,386,390,396,406,407,408,410,423,430,435,438,452],"4x10":317,"4x2x10":420,"4x6x10":420,"50k":1,"53xx":18,"54xx":18,"55e":10,"5_1":339,"5kx":[175,200],"5nlog_2":12,"5th":[116,326,440],"6021765e":447,"6863e22":389,"6x6":6,"72360e":227,"7797e":227,"8032044e":447,"8x1":6,"8x2":[6,12],"9e18":[12,39],"9e9":389,"9jan09":[296,361],"9th":328,"__main__":421,"__pthread_key_cr":12,"_j1m1m1":120,"_j2m2m2":120,"_serial":12,"abstract":17,"boolean":[3,301,303],"break":[],"byte":[3,12,440],"case":[1,2,3,6,8,11,12,13,15,16,17,18,39,40,41,45,46,59,61,63,71,73,104,108,114,116,117,122,123,124,125,127,130,131,132,133,134,136,137,138,142,144,146,147,148,150,167,168,169,175,176,180,181,182,183,184,185,186,187,188,190,192,194,198,200,202,205,208,209,211,212,213,214,216,227,229,230,231,232,233,234,235,246,247,249,251,252,257,259,260,261,262,269,270,272,274,275,278,281,282,283,285,286,290,292,293,295,296,298,299,300,301,303,317,318,319,321,323,325,326,327,328,330,332,333,335,344,347,349,351,355,357,360,361,363,364,365,367,377,378,379,380,384,386,390,393,397,407,408,410,418,421,423,425,426,430,431,433,435,437,439,440,441,443,447,448,449,451,452],"catch":[1,3,421],"char":[6,8],"class":[1,3,5,6,7,8,9,11,12,13,22,37,44,55,152,163,203,259,305,313,345,364,392,393,405,421,423],"default":[],"export":[168,346],"final":[3,5,6,7,8,11,12,17,41,59,87,121,169,180,181,182,183,184,185,186,188,192,194,205,228,229,233,260,264,270,271,274,287,289,290,297,303,326,328,334,335,339,355,358,365,377,380,386,390,391,406,407,408,410,418,431,437,443,448,450],"float":[3,6,8,12,40,42,71,113,167,169,210,259,271,280,357,421,423,433,440,448],"function":[],"import":[1,2,3,6,11,17,71,87,105,144,155,172,181,184,192,208,213,214,229,265,270,281,282,283,285,290,300,302,328,364,377,421,423,432,440,443],"int":[3,6,8,11,101,203,205,213,215,265,290,440],"long":[],"new":[],"null":[3,6,91,112,121,144,172,187,193,196,199,226,259,268,272,274,275,276,296,334,335,348,355,358,361,364,365,366,380,381,382,386,390,392,393,396,406,408,409,410,423,426,431,433,449],"public":[0,7,8,12,203,212,358,391],"return":[2,3,6,8,11,14,15,16,17,18,19,41,71,108,117,142,144,169,181,184,185,194,203,303,315,317,361,420,421,430,433,439,448],"short":[1,3,6,7,13,16,142,229,270,278,291,319,329,330,333,335,339,340,342,343,344,348,349,351,357,364,369,373,377,380,384,387,395,407,411,418,421,431,437,443],"static":[],"switch":[1,3,6,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,91,109,112,120,122,131,143,150,151,153,154,155,156,158,159,161,162,164,168,171,175,179,187,201,204,208,212,213,216,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,287,288,294,304,306,307,308,309,312,314,315,317,319,322,328,332,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,417,418,420,423,425,430,432,436,438,448,450,452],"throw":440,"true":[6,12,13,17,108,115,167,188,190,194,229,230,251,252,253,257,270,285,289,301,303,333,357,361,406,421,425,433,448],"try":[1,3,8,12,17,19,181,210,216,286,287,288,293,421,448],"var":[3,11,12,144,301,317,434,448],"void":[4,6,7,8,41,147,188,203,426],"while":[3,9,10,11,12,13,14,18,71,105,120,127,142,155,167,170,185,192,194,198,206,207,212,213,214,216,229,247,260,265,267,291,319,326,333,339,350,355,393,408,410,418,421,432,437,443],a10:303,a123:303,a12:394,a2m:[6,91],a_0:[216,290,339],a_0_real:216,a_1:290,a_2:290,a_3:290,a_4:290,a_c:347,a_cc:347,a_f:410,a_i:411,a_ij:339,a_j:411,a_pi:339,a_sigma:339,a_ss:347,aacut:252,aat:151,aatom1:115,aatom2:115,aatom3:115,ab_23_cd:303,abbrevi:12,abc:[3,12,303,421,448],abf:193,abf_integr:13,abi:170,abil:[3,9,192,229,257,270,357],abl:[3,8,11,12,39,86,167,170,191,200,204,286,293,333,421,448,451],ablat:290,about:[0,1,3,4,6,8,9,10,11,12,13,17,39,41,42,61,63,78,108,115,116,118,138,144,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,198,199,200,201,202,203,204,205,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,228,233,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,288,289,290,292,293,294,295,297,298,299,300,301,316,319,325,326,328,333,338,344,349,364,389,393,415,421,424,425,430,431,433,438,448,450,452],abov:[1,2,6,7,8,10,11,12,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,38,40,41,42,43,44,45,46,47,48,49,50,51,53,54,56,57,63,64,68,70,71,72,73,76,77,86,87,89,90,91,93,94,96,97,112,114,116,118,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,142,143,144,146,147,150,151,152,153,154,155,156,157,158,159,161,162,164,167,168,169,172,173,174,175,176,181,182,183,184,185,186,188,191,192,194,195,200,203,205,209,211,213,214,215,219,228,229,233,253,256,258,263,269,270,274,275,278,281,282,283,284,301,303,304,305,306,307,308,309,310,312,314,319,321,323,327,328,332,333,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,425,426,427,430,431,432,433,434,437,438,441,443,448,449,451,452],abscissa:407,absenc:176,absent:443,absolut:[3,169,193,194,198,274,280,318,319,326,361,369,424],absorb:290,absoult:319,ac3:143,academ:205,acc:285,acceler:[],accelri:[6,13],accept:[7,87,144,169,179,191,194,205,285,343,373,431,438],acceptor:363,access:[0,3,6,7,8,9,11,12,16,40,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,85,88,89,90,91,92,93,95,96,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,117,118,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,139,140,141,142,143,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,199,200,201,202,203,204,205,206,207,208,209,210,211,213,215,216,217,218,219,220,221,222,223,225,226,227,228,229,233,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,286,287,288,289,290,292,293,294,295,296,297,298,299,300,318,333,359,361,363,364,380,392,393,397,420,421,424,429,441,448],accidenti:312,accler:16,accommod:177,accomod:229,accompani:8,accomplish:[16,194,217,243],accord:[64,71,168,179,189,190,216,229,252,260,274,287,288,290,295,296,298,299,300,329,333,357,361,372,375,390,397,399,400,402,403,404,432,437,448],accordingli:[11,14,123,137,148,329,378,379],account:[3,6,9,87,118,142,143,152,163,182,183,199,210,211,213,229,234,235,246,247,249,251,255,261,270,271,273,275,276,277,278,281,282,283,286,290,293,308,327,349,361,369,373,378,379,380,420,437,449],accuml:[3,270,286,293],accumul:[1,6,8,15,71,172,182,213,270,274,292,316,333,429,447],accur:[1,3,6,15,17,38,41,56,127,188,227,265,270,273,278,286,293,299,301,319,339,357,360,361,384,394,405,407,408,410,437,448],accuraci:[1,3,6,12,41,167,169,188,207,229,262,273,291,301,318,319,325,357,384,392,393,407,413,432,437,443,448,451],ach:318,achiev:[1,3,6,16,17,18,41,188,207,229,230,252,253,260,318,432],achiv:18,acid:9,ackland1:355,ackland2:355,ackland:[],acknowledg:[],acml:12,aco:448,acolor:[168,169],acoust:252,acquir:[3,6,58,61,62,147,190,192,194,229,388,428,443],across:[1,2,3,6,9,12,13,15,41,57,61,65,68,69,71,79,92,107,108,115,117,132,146,148,181,183,184,185,188,199,209,270,271,286,290,293,299,303,328,333,418,423,426,427,431,440],act:[3,6,108,129,198,208,211,212,213,214,216,219,228,270,285,287,288,290,299,300,301,326,341,352,360,361,363,394,404],acta:[118,143,334],action:[2,6,11,12,71,206,211,288,443],activ:[5,8,11,12,13,14,55,59,87,142,179,193,206,210,213,219,228,250,270,289,316,377,405,417,445,448],actual:[1,3,6,8,12,56,62,127,167,169,173,174,187,189,190,198,213,214,247,251,257,265,274,278,280,281,282,283,285,291,300,301,318,329,360,362,372,378,379,420,421,432,433,441,448],adam:[318,319],adapt:[],add:[0,1,3,5,6,7,8,9,11,12,13,14,15,16,17,18,19,40,42,71,87,91,102,114,117,119,142,144,145,167,168,172,173,174,175,176,178,180,181,182,183,184,185,186,190,193,198,200,203,207,208,209,211,213,215,216,220,227,228,229,230,231,232,233,234,235,246,247,248,249,251,259,269,270,272,273,275,277,281,283,284,288,289,290,292,294,295,299,301,319,321,325,327,335,340,342,345,349,357,364,369,380,384,387,393,395,421,423,424,429,431,433,435,443],add_molecul:178,add_speci:178,add_to_nodeset:178,addforc:[],addit:[],addition:[6,8,16,278,300,360,394],address:[7,8,11,168,212],addtorqu:[],adequ:[278,291,318,328,432],adher:29,adhikari:216,adiabat:[],adiam:[168,169],adjac:[39,144,328,384,407,408,437,438],adjiman:383,adjust:[3,6,16,17,41,59,118,123,124,127,128,131,132,137,138,143,148,167,168,181,188,192,194,210,213,217,221,225,226,229,230,233,247,251,254,256,257,260,261,262,263,268,270,278,282,286,291,293,294,295,297,298,300,318,319,326,328,333,335,354,378,379,410,433,449],admiss:233,adof:[124,181],adopt:[269,443],adp:[],adri:[9,266,392,393],adust:138,advanc:[3,210,339,418,429],advantag:[1,6,8,11,14,18,39,40,41,188,333,356,432,437],advect:[3,6,278],advertis:8,advis:[328,391],afer:3,affect:[1,6,10,14,15,16,17,40,60,61,71,88,117,121,128,142,148,169,174,181,182,183,184,185,186,189,190,191,192,194,195,203,209,211,213,219,226,230,231,232,234,235,241,246,247,249,270,271,276,290,300,312,318,324,325,326,328,329,330,333,357,378,379,384,420,421,423,426,428,431,433],affin:[16,17,18,194,333,348],afil:207,aforement:18,afresh:[258,431,448],afshar:353,after:[2,3,5,6,8,9,11,12,15,16,21,22,33,39,40,41,44,50,57,58,59,61,63,71,123,124,125,126,127,128,131,132,133,134,136,137,144,145,147,148,151,152,157,166,167,168,169,170,172,173,174,178,179,181,182,188,189,190,191,192,194,198,205,216,217,218,219,220,225,226,227,229,234,235,241,246,247,249,252,256,260,268,270,273,279,281,282,283,285,286,287,288,289,293,295,297,301,304,305,310,317,323,324,326,327,329,331,332,333,334,335,339,346,348,355,356,357,358,364,365,366,377,378,379,380,381,382,386,390,392,393,396,406,408,409,410,418,420,422,423,424,425,426,428,429,431,433,435,437,440,441,443,447,448,449,450,451,452],afterrun:431,afterward:3,afterword:41,ag1:143,ag2:143,again:[6,11,12,17,62,120,124,126,130,138,167,169,194,209,256,304,317,328,378,379,418,420,421,423,425,430,437,439,448,450],against:[11,12,13,64,195,328,392,393],aggreg:[6,12,65,68,69,79,92,108,115,209,225,268,270,276,418,449],aggress:[209,437],agilio:[9,13],agre:[3,8,164,326,335,366,393],agreement:[5,7],ahd:363,ahead:297,aidan:[0,5,7,9,13],aij:13,aim:6,airebo:[],ajaramil:[7,9,13],aka:168,akohlmei:[7,9,13,170,210],aktulga:[7,9,263,393],al2o3_001:[118,271],al3:143,ala:216,alain:9,alat:[251,380],alb:[390,408,410],albeit:269,albert:9,alchem:[87,138],alcohol:293,alcu:[334,339],alcu_eam:390,alderton:352,alejandr:[229,230],alessandro:13,algorithm:[0,1,6,7,8,9,41,61,169,178,188,191,194,216,218,219,241,253,270,273,285,286,290,293,298,324,325,326,330,333,357,379,418,420,437],alia:12,alias:[1,319],aliceblu:169,align:[6,12,29,41,71,146,164,184,188,211,321,423,426,443],alkali:357,all:[0,1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,22,33,37,39,40,41,42,44,50,54,55,57,59,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,137,138,139,140,141,142,143,144,145,146,147,148,150,152,157,163,164,167,168,169,170,172,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,222,224,225,227,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,250,251,252,253,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,285,286,287,288,289,290,291,292,293,295,296,297,298,299,300,301,302,303,304,305,308,313,316,317,318,319,320,321,323,326,327,328,329,330,332,333,334,335,336,338,339,340,342,343,344,345,346,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,373,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,420,421,422,423,424,425,426,427,428,430,431,432,433,434,435,436,437,438,440,441,443,447,448,449,450,451,452],allen:[29,87,352,360],allentildeslei:87,allign:3,allindex:302,alloc:[3,5,6,8,9,11,12,60,203,292,327,329,333,388,393,423,431],allocat:3,alloi:[],allow:[1,2,3,6,8,9,11,12,13,14,15,16,17,18,22,37,39,40,41,55,57,58,59,61,62,63,77,108,123,124,137,142,143,144,146,152,163,164,167,168,169,170,172,173,175,177,178,179,181,182,183,184,185,186,188,190,191,192,193,194,195,199,200,203,205,206,207,208,210,213,216,219,220,224,226,229,230,251,255,257,258,259,260,264,270,271,273,274,278,285,286,287,288,290,291,292,293,294,295,301,303,305,313,318,319,321,326,327,328,329,332,333,336,339,340,341,342,343,344,349,355,357,361,362,363,364,373,378,379,384,390,393,394,404,413,415,418,421,423,425,426,427,428,429,430,433,435,436,437,440,441,448,449],almost:[2,3,12,60,211,260,290,319,330,333,404],alo:349,alon:[6,7,191,266,392,393,421],alond:13,along:[6,8,9,12,29,40,87,118,143,144,166,167,168,191,211,216,217,221,226,228,260,270,273,274,275,276,285,289,290,296,299,301,321,324,325,326,328,349,352,361,364,367,369,373,380,392,393,407,423,426,433,434,448],alonso:[381,382],alpha:[6,51,173,216,252,260,265,326,334,337,340,349,353,355,356,358,363,368,369,380,385,389,409,411,441,443],alpha_:411,alpha_c:377,alpha_i:[396,411],alpha_ialpha_j:411,alpha_lj:377,alphabet:[2,3,22,37,44,55,63,152,163,172,305,313,327,346,405,423],alphanumer:[3,63,172,259,267,303,327,448],alreadi:[3,7,8,12,42,144,145,147,177,181,184,185,188,190,194,220,258,260,278,301,327,328,353,362,364,371,379,404,413,416,419,423,424,428,448],also:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,22,29,36,37,38,39,40,41,42,44,54,55,56,58,59,61,63,66,71,73,75,77,81,87,89,90,93,103,104,105,106,107,112,114,116,117,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,142,144,145,146,147,148,150,152,163,164,165,167,168,169,170,172,173,174,175,177,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,200,203,204,205,206,207,209,210,213,214,215,216,226,227,229,230,231,232,233,234,235,240,243,244,246,247,248,249,251,252,253,255,256,257,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,281,282,283,284,285,289,290,291,292,294,296,299,301,303,305,310,313,316,318,319,321,322,323,326,327,328,329,330,332,333,339,343,344,346,350,351,352,353,355,356,357,360,361,363,364,365,373,377,378,380,384,386,388,389,390,391,394,395,399,400,402,403,404,405,406,407,408,409,410,411,418,420,421,422,423,424,425,426,427,428,430,431,432,433,435,436,437,438,441,442,443,444,446,447,448,449,450,452],alter:[3,6,8,9,11,12,41,59,122,123,124,125,127,130,131,132,133,136,137,144,148,167,168,170,173,174,181,189,190,191,192,194,228,229,265,268,270,272,278,286,293,300,325,328,364,423,428,430,433,448,449,452],altern:[1,6,8,11,12,17,18,91,144,172,194,210,214,229,259,270,285,286,293,306,309,318,325,326,334,335,349,355,356,358,366,369,377,380,381,382,386,390,391,396,406,408,410,421,423,424,438,441],although:[29,42,164,219,229,257,261,270,285,317,416,430,443,452],aluminum:416,alwai:[0,6,11,12,17,18,54,57,63,71,142,169,182,184,185,186,190,193,205,207,211,262,265,270,278,295,299,300,304,318,319,324,326,327,329,330,333,342,345,355,372,392,393,397,407,408,410,416,418,423,424,426,428,435,437,440,443,448,449],amap:169,amatrix:207,amaz:11,amazingli:13,amber2lmp:[],amber:[],ambient:168,ambigu:[3,63,172,448],amd:[17,333],amend:11,amino:9,amit:9,among:[16,121,179,216],amorph:[144,409],amount:[1,3,6,12,59,88,115,142,146,166,168,192,193,205,209,213,229,251,257,270,278,283,286,291,293,301,318,333,353,388,423,426],amplitud:[194,226,296,312,426,448],amu:205,analag:[6,448],analalog:6,analog:[6,120,146,164,361],analys:[7,428],analysi:[7,9,13,63,64,73,170,266,267,302,396,423,433],analyt:[1,3,13,118,138,143,273,318,339,365,366,371,390],analyz:[6,8,13,328],andersen:273,anderson:[255,353],andr:[7,9,13],andrew:13,andzelm:404,ang:251,angl:[],angle1:269,angle2:269,angle_coeff:[],angle_cosineshift:27,angle_cosineshiftexp:[26,153],angle_cutof:363,angle_cutoff:363,angle_hybrid:29,angle_info:393,angle_styl:[],angle_typ:40,angleangl:[3,304,310,423],angleangletors:[3,151,423],anglecoeff:3,angletors:[3,151,157,423],angletyp:190,angmom:[],angmomi:[113,167,280],angmomx:[113,167,280],angmomz:[113,167,280],angstrom:[6,10,59,71,118,133,143,144,166,167,168,169,177,184,185,194,195,205,210,211,226,263,268,295,297,298,300,319,321,324,330,334,335,344,355,377,380,386,391,392,393,410,416,426,432,447,449],angular:[3,6,40,61,66,82,83,84,85,106,113,120,123,136,137,144,167,172,213,219,225,226,231,232,234,235,237,238,239,242,244,245,246,249,268,270,273,280,334,339,348,361,378,379,380,390,405,408,409,423,433,448,449],angularm:238,anharmon:[27,53,153,265,437],ani:[1,3,6,7,8,9,10,11,12,13,14,15,16,17,22,29,38,39,40,41,42,44,55,56,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,150,152,164,166,167,168,169,172,175,176,177,179,181,182,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,202,205,208,209,211,213,216,219,225,226,229,233,251,253,255,256,257,259,261,262,263,265,267,268,270,272,273,274,275,277,278,279,280,289,290,295,296,297,298,299,300,301,302,303,305,317,318,319,321,323,324,326,327,328,330,331,332,333,335,339,343,344,348,349,352,353,355,356,358,360,364,365,366,367,373,384,390,392,393,394,396,405,406,407,408,409,410,411,412,417,418,420,421,423,424,426,427,428,429,430,431,432,433,434,435,436,437,441,443,444,446,447,448,449,450,451,452],anihil:377,anim:[2,4,7,11,13,168,328],anion:358,aniso:[3,192,194,229,230,231,232,233,234,235,257,270],anisotrop:[213,360,394],ann:383,annot:[7,406,408,409,410,423],annual:[418,437],anoth:[1,3,4,6,7,8,11,12,17,29,40,63,71,87,119,168,172,173,179,181,183,184,185,186,191,194,195,206,209,213,214,219,229,230,233,256,259,270,271,281,282,283,290,300,303,324,326,328,329,332,349,353,357,358,360,363,364,368,369,377,392,394,397,404,408,409,410,417,418,421,424,430,432,443,448,452],ansi:12,answer:[3,4,8,12,270,330,331],anthoni:288,antiquewhit:169,antisymmetr:[9,40,336],antisymmetri:357,antonelli:[287,288],antonio:389,anymor:288,anyon:7,anyparticl:86,anyth:[8,11,144,194,212,406,408,410,434],anywai:[147,333,443,450],anywher:[12,144,346,380,396,448],aoff:[327,423],aparam:[87,173,174],apart:[3,145,219,275,329,338,397,423,432],aperiod:252,api:[11,12,170,365,421],appar:3,appear:[2,3,6,11,12,13,39,40,41,77,87,108,115,116,120,127,144,145,147,167,168,169,181,184,185,188,192,195,198,205,210,256,267,268,289,301,303,304,318,326,327,328,347,355,380,384,407,419,420,421,423,424,425,428,430,443,448,452],append:[],appendix:[29,352],appl:[192,229,230],appli:[2,3,4,5,6,8,12,17,18,33,41,50,57,59,61,63,71,87,88,105,120,121,124,130,132,134,138,143,144,146,150,152,157,163,167,169,172,173,174,175,176,178,181,187,188,192,193,194,196,199,200,203,204,205,206,207,208,210,211,213,214,215,216,220,229,230,233,234,235,241,246,249,250,251,253,257,260,268,269,270,272,273,274,275,276,277,279,281,282,283,284,286,288,289,290,293,301,318,321,326,327,328,338,340,342,344,349,352,357,361,362,363,364,366,369,375,379,384,387,392,395,404,411,415,423,424,426,427,428,432,435,440,443,448,449,450,451],applic:[1,6,9,12,17,170,178,191,195,196,203,207,210,251,256,269,274,275,286,293,318,333,410,443],applyt:3,appopri:17,approach:[6,7,9,14,178,206,252,253,265,270,285,286,288,290,293,318,339,349,351,354,360,394,404,413],appropri:[1,2,3,6,8,11,12,13,15,17,33,38,42,50,56,61,73,88,91,116,117,123,124,152,157,163,164,167,169,181,182,184,185,186,191,192,194,203,204,207,216,224,226,227,229,231,232,233,234,235,246,247,249,253,256,257,260,265,270,278,281,282,283,286,293,295,296,298,299,300,310,319,328,335,339,343,347,348,349,356,361,364,366,373,377,391,392,393,406,407,408,409,410,413,423,424,425,427,428,436,437,440,448,449],approri:208,approxim:[6,9,118,143,205,207,216,253,271,273,285,318,324,325,326,341,351,357,360,378,379,384,391,394,415,437,443],april:11,aprpopri:418,apu:[378,379],aqua:[168,169],aquamarin:169,ar_therm:178,ar_ttm:178,ara:13,arbitrari:[6,40,58,167,168,170,193,194,208,229,253,261,406,421,434,448],arbitrarili:[11,59,116,120,166,192,229,349,448],arcco:3,arch:[1,12,14,15,17],architect:316,architectur:[16,333],archiv:[6,7,11,12,280,346,430],arcsin:3,area:[6,41,91,112,116,142,188,194,216,286,293,354,361,389,412,420,433],aren:[259,303],arflag:12,arg:[3,11,12,22,40,41,44,55,59,63,71,87,117,132,138,142,144,147,148,152,166,167,169,172,173,174,175,177,179,181,182,183,184,185,186,187,188,189,190,193,194,195,200,203,205,208,209,210,211,219,226,231,232,256,269,270,271,272,285,288,295,296,297,298,300,301,305,316,328,333,340,341,342,344,345,346,351,352,357,362,364,369,373,377,378,379,387,395,405,420,421,423,426,428,430,432,434,441,448,449,451,452],argon:205,argonn:12,argument:[2,3,6,8,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,63,73,87,91,109,112,116,120,121,122,131,132,133,138,142,144,145,146,148,150,151,152,153,154,155,156,158,159,161,162,164,167,169,172,173,174,175,177,180,181,182,183,184,185,186,187,188,192,193,194,201,203,204,207,208,212,213,219,226,229,231,232,233,234,235,236,244,246,247,249,255,256,258,262,267,270,271,272,273,278,281,283,290,292,294,296,301,303,304,305,306,307,308,309,310,312,314,316,317,319,320,321,323,328,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,389,390,392,393,394,395,396,397,405,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,426,428,431,432,433,434,438,440,441,448,449,451],aris:[12,415],arithmet:[3,6,318,344,347,367,372,384,411,412],arkansa:9,arl:9,armv8:17,arnold:318,around:[1,3,4,6,12,42,57,58,59,66,70,73,77,116,120,123,139,142,144,146,166,168,169,176,177,192,194,195,211,226,229,259,261,265,270,275,278,295,296,299,317,327,423,426,433,434,443,448],aroung:3,arrai:[],arrang:120,arrheniu:437,art:[261,418,437],artefact:207,articl:6,articul:[7,255],artifact:[88,142,443],artifici:[227,260,399,400,402],arun:13,arxiv:[120,396],ascend:[41,169,210,219,270,428],asci:7,ascii:[13,271,289,328,355,358,380,423],ash:[378,379],asid:[8,144,380],asin:448,ask:[3,11],askari:389,askoos:13,asoci:168,aspect:[6,7,59,194,205,360,394,412,423,433,437],aspect_ratio:271,asper:4,aspher:[],asq:[378,379],assembl:4,assign:[1,2,3,6,7,11,12,14,15,17,18,33,39,40,41,50,57,59,61,63,66,71,72,75,90,93,104,106,110,113,114,118,120,121,124,139,141,143,144,147,157,167,168,169,170,172,173,174,177,181,183,188,190,191,192,195,197,205,210,213,214,215,216,226,229,231,232,233,234,235,244,246,247,248,249,253,256,257,259,261,267,270,271,281,282,283,284,301,310,319,321,323,327,328,332,333,339,355,358,360,363,364,393,394,420,421,423,424,425,426,427,432,433,438,441,448,449],assignemnt:[6,432],assing:259,assist:[7,227],associ:[3,5,6,8,9,12,22,37,39,40,44,55,59,66,74,75,81,87,89,90,93,99,101,103,104,106,139,152,163,167,168,169,173,174,175,179,192,194,200,203,205,206,212,216,226,229,255,265,269,270,271,276,278,302,303,305,313,321,326,328,332,333,346,349,353,354,355,357,363,364,366,369,373,404,405,407,421,424,431,443,445,448],associd:67,assum:[2,3,4,6,11,12,16,39,59,67,71,88,96,102,104,122,123,124,125,126,127,129,130,131,132,133,134,136,137,138,142,144,147,169,173,174,181,182,183,184,185,186,192,194,202,210,212,216,219,231,232,234,235,237,239,242,244,245,246,249,251,252,256,257,258,261,270,272,274,275,286,289,290,295,298,301,318,319,327,328,333,339,341,343,346,347,354,357,363,364,368,373,378,379,412,418,420,421,423,425,428,433,437,440,441,443,449],assumpt:[142,210,334,384],astar:380,astart:397,asterisk:[22,44,77,87,116,138,148,152,169,173,174,219,270,305,323,346,363,404,417,420,433,447],astop:[326,397],asu:355,asub:380,asubrama:13,asymmetr:[298,339,355],asynchron:[15,16],atan2:448,atan:448,atc:[],atc_fe_output:178,athomp:[0,7,9,13],atm2pa:6,atmospher:447,atol:12,atom1:[255,269,327,423],atom2:[255,269,327,423],atom3:[255,269,327,423],atom4:[269,327,423],atom:[],atom_element_map:178,atom_forc:393,atom_info:393,atom_modifi:[],atom_styl:[],atom_vec:8,atom_vec_atom:8,atom_vec_electron:8,atom_veloc:393,atom_weight:178,atomey:[6,7,11,13,167,168,169],atomfil:[3,71,259,301,332,433,448],atomic_charg:178,atomic_numb:390,atomid:423,atomist:[6,178,285],atomperbin:3,atomt:169,atomvec:8,attach:[6,185,253,274,275,423],attatch:288,attempt:[3,6,41,59,71,166,179,188,189,190,191,195,205,256,257,278,298,318,322,328,364,421,436,438,441,448],attend:178,attent:[15,18],attogram:447,attrac:380,attract:[],attribut:[3,6,7,8,11,39,40,42,58,63,71,87,113,114,115,117,123,138,167,168,169,172,173,174,180,181,183,184,185,191,192,229,231,232,233,234,235,237,238,246,247,249,257,270,271,280,281,282,283,321,327,339,357,364,423,424,425,433,441,448],atw:[378,379],atwat:409,atwt:380,atyp:[115,138,190,349,369,373,377],au1:143,au3:143,aug:11,augment:[12,113,192,259,380],augt1:380,auo:267,auoh:267,author:[3,8,9,13,355,356,443],auto:[6,8,11,12,91,140,172,182,274,292,318,327,333,420],autocorrel:[63,91,213],autom:[12,168],automag:7,automat:[3,6,12,14,15,16,17,18,19,36,164,177,205,207,216,270,274,291,318,333,348,355,364,380,416,423,436,443],auxiliari:[1,6,9,11,12,13,167,252,270,424,428,450],avail:[1,3,5,6,7,8,9,11,12,13,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,63,87,109,112,113,120,122,131,142,150,151,153,154,155,156,158,159,161,162,164,167,168,172,175,181,183,184,185,186,187,192,193,201,204,206,208,210,213,229,230,231,232,233,234,235,236,244,246,247,249,262,264,270,271,272,273,281,283,288,294,304,306,307,308,309,312,314,316,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,390,392,393,394,395,396,397,406,407,408,409,410,412,414,415,416,424,432,436,448],availab:9,ave_chunk:6,aveforc:[],avendano:383,averag:[3,6,7,15,41,63,64,71,87,91,103,105,116,118,124,132,140,143,167,169,172,174,178,180,181,182,183,184,185,186,187,188,192,205,207,209,213,214,219,229,230,233,252,257,260,266,267,270,271,274,304,335,357,380,411,424,428,441,443,448],averi:278,avesq:117,avi:168,avoid:[1,3,6,12,36,39,59,144,145,164,168,177,182,183,186,198,205,207,214,251,253,261,265,270,271,292,299,331,339,357,377,380,393,407,425,431,432,443],awai:[3,6,61,116,167,168,191,195,208,211,228,251,274,275,289,295,329,349,369,373,428],awar:[333,356,420],awpmd:[],axel:[7,9,13,18],axi:[3,6,41,118,123,143,144,146,166,168,188,205,208,211,226,256,275,290,296,308,314,321,423,426,433],axial:233,azimuth:[168,208],azur:169,b_k:396,ba2:143,babadi:394,back:[1,6,7,11,12,13,14,15,17,125,126,127,131,132,133,134,136,144,148,167,169,170,173,174,193,198,203,210,211,213,214,229,234,235,246,247,249,268,270,281,282,283,287,288,297,298,300,317,318,319,328,361,421,423,424,425,426,427,430,436,437,449],backbon:[191,273,312],backcolor:[169,451],backend:17,background:[9,87,88,112,121,169,188,194,213,278,286,290,293,328,347,378,379,380],backtrack:[324,326],backward:[9,12,170,328,437],baczewski:206,bad:[3,12,59,61,211,328,423,428,440],badli:[3,192,229],bal:285,balanc:[],balasubramanian:248,ball:[120,378,379],ballenegg:318,bammann:178,band:[4,6,7,120,172,228,325,328,339],bandwidth:[1,10,18,40],bandwith:168,bar:[87,168,447],barashev:355,bare:[198,212,214],barost:[198,443],barostat:[],barostt:6,barr:348,barrat:265,barrett:67,barrier:[3,4,6,228,314,328,348,359,437],bartel:252,bartok2010:396,bartok2013:396,bartok:[9,120,391,396],bartok_2010:391,bartok_phd:391,bary:447,basal:[],base:[3,4,6,8,9,11,12,13,14,15,20,63,64,71,78,87,91,111,118,124,126,143,144,146,167,168,169,172,178,184,185,188,189,190,194,195,199,210,213,217,219,241,252,253,259,261,263,270,271,274,278,285,319,333,335,337,339,353,357,360,363,365,369,378,381,382,387,389,390,406,409,410,418,420,423,424,425,427,430,433,434,437,438,441,447,448,449,452],bash:346,bashford:[6,20,150,344,435],basi:[3,6,12,40,120,124,144,177,213,215,252,278,295,321,416,433,448],basic:[6,7,8,12,17,41,113,121,168,169,178,188,229,230,251,299,334,336,417,425,443],basin:[86,328,418,437],bask:[355,380,390],bath:[9,260,265],batom1:[69,115,117,167,169],batom2:[69,115,117,167,169],bayli:[6,150,435],bb13:151,bcc:[3,4,7,64,70,73,321,380,382],bcolor:[3,168,169],bdiam:[3,168,169],be2:143,bead:[5,7,10,13,40,45,46,136,176,191,253,404],beam:195,bear:[6,206],becau:13,becaus:[0,1,3,6,8,12,16,17,18,29,40,41,59,64,71,77,116,120,124,129,134,144,145,146,150,167,168,169,170,175,179,181,188,189,190,191,192,194,200,204,206,207,212,213,214,215,226,229,230,241,247,256,260,261,265,270,275,280,285,286,289,290,293,297,298,299,300,301,307,318,324,326,328,329,332,333,344,346,349,351,353,357,358,360,361,362,363,364,367,368,377,378,379,380,384,394,404,405,411,412,420,421,423,425,426,427,430,432,433,435,437,443,448,449,450,452],beck:[],becker:[334,355],beckman:210,becom:[1,2,3,6,7,8,18,39,41,54,57,59,71,146,167,168,169,188,189,190,191,194,205,207,216,228,229,267,268,281,282,295,296,298,299,300,318,319,324,328,335,347,349,355,357,360,369,384,390,394,406,415,423,424,426,433,448],been:[1,2,3,6,7,9,12,13,16,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,45,46,47,48,49,51,53,54,56,57,59,60,63,65,69,71,87,109,112,113,114,115,117,119,122,123,124,125,126,127,131,132,133,134,136,137,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,169,170,175,177,179,180,181,182,183,184,185,186,187,188,191,192,193,194,195,201,204,205,208,210,211,213,214,216,217,218,219,220,224,226,227,229,231,232,233,234,235,236,244,246,247,249,255,256,257,260,262,264,267,268,270,272,273,279,281,282,283,290,291,292,294,295,296,297,298,300,301,304,306,307,308,309,312,314,317,318,319,326,329,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,381,382,385,386,387,389,392,393,394,395,397,404,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,427,429,433,437,440,441,448,449,450,451],befor:[1,2,3,6,8,9,12,14,17,22,29,39,40,41,44,59,66,71,74,75,81,89,90,93,103,104,105,106,114,124,127,132,133,139,144,145,147,148,152,165,166,169,173,174,175,176,177,179,181,183,184,185,186,187,188,192,197,198,204,205,210,212,213,214,216,219,226,229,234,235,246,249,252,259,260,261,264,265,270,271,272,279,281,282,283,289,295,296,297,301,305,323,324,326,328,333,358,361,377,380,405,413,418,420,421,424,425,426,427,428,430,431,433,437,440,441,443,448,449,450,451,452],began:[5,12],begin:[3,8,12,38,39,56,71,117,119,145,164,166,167,169,173,174,178,180,181,182,183,184,185,186,188,194,198,214,241,255,268,271,278,280,283,292,297,300,301,315,317,318,319,320,322,325,327,328,329,332,333,355,384,390,397,404,407,411,416,418,423,430,437,439,441,443,447,448,450],behalf:3,behav:[3,27,153,325,326],behavior:[3,148,164,167,168,170,191,192,195,205,206,207,210,213,214,215,229,256,260,265,278,281,282,290,325,339,357,380,417,425,429,448,450],behaviour:[6,213],behind:[8,212,227,260,278,318],beig:169,belak:7,believ:11,bellott:[6,20,150,344,435],bellow:308,belong:[2,3,40,71,147,179,181,184,205,219,270,301,327,423],below:[1,2,3,5,6,8,9,11,12,15,16,17,22,38,39,41,42,44,54,56,59,60,63,65,68,69,71,77,79,91,92,112,113,116,117,118,120,121,124,130,132,138,142,143,144,147,148,150,152,163,164,167,168,169,172,173,175,176,178,181,182,183,184,185,187,188,190,191,192,194,195,200,203,208,209,211,213,214,219,226,227,229,233,234,235,246,249,251,256,259,260,261,268,269,270,272,273,275,278,279,280,281,282,283,286,287,288,290,293,295,296,301,303,305,316,318,321,323,324,326,327,328,330,333,334,335,336,339,340,341,344,345,346,347,349,352,355,357,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,389,392,393,394,395,396,397,405,407,412,414,415,417,418,421,423,424,425,426,428,430,431,433,435,437,439,440,441,442,443,448,449,452],bench:[1,6,11,12],benchmark:[1,7,10,11,12,13,14,15,16,17,18,41,188,318,436],beneath:195,benefici:[61,330],benefit:[1,206,432],bennet:87,beowulf:7,berardi:[360,394],beraun:290,berendsen:[],berensen:270,berkelei:142,berkowitz:318,berlin:[7,9,274],bern:[3,253,261,262,348,360,405,432],bernendsen:6,beryllium:357,besid:[8,272,426],best:[1,6,8,14,15,16,17,18,19,229,247,248,269,270,333,339,349,369,373,384,407,424,432,437],beta:[6,9,252,260,334,337,355,356,358,380,408,409,410,441,448],beta_:339,beta_k:396,beta_pi:339,beta_sigma:339,beta_t:409,better:[3,6,7,8,12,14,16,27,120,153,174,188,205,216,229,241,261,268,270,278,319,328,333,408],betwe:338,between:[],beutler:377,bewteen:[108,182,278,286,293,364,420],beyon:432,beyond:[3,5,6,12,17,61,71,87,142,167,169,183,184,205,229,318,330,359,375,384,437,441,448],bgq:17,bi3:143,bi5:143,bia:[3,6,8,112,121,123,124,125,126,127,131,132,133,134,136,137,181,193,194,205,213,214,229,234,235,246,247,249,265,281,282,283,285,449],bias:[6,9,193,449],biaxial:123,biersack:[380,405,410,416],big:[3,4,12,167,260,265,278,329,347],bigbig:[3,12],bigint:[3,203],bilay:[4,10,275],bilayer1:275,bilayer2:275,bill:7,billion:[3,7,10,12,39,205,431],bin:[3,6,11,12,39,63,66,71,75,90,93,104,106,114,116,124,132,139,141,167,169,181,183,184,185,252,260,265,278,329,330,333,354,388,424,451],binari:[3,6,7,12,13,16,33,37,50,55,157,163,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,310,313,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,424,425,430,450,452],binary2txt:[],binchunk:181,bind:[17,18,184,339],binsiz:[39,169,329,333],binstyl:132,bio:[40,329],biolog:[6,7],biologi:156,biomolecul:[255,270,318,319,344],biomolecular:432,biophys:210,biosym:13,bird:354,bisect:[41,188,412],bisector:[6,349,369,373],bispectrum:[63,120,396],bisqu:169,bit:[3,12,17,39,203,214,384,407,431,443],bitmap:[3,407,413],bitrat:[168,169],bitzek:325,bkgd_dyn:380,bla:12,black:169,blais:[9,13],blanchedalmond:169,blank:[2,3,12,38,56,107,164,168,255,270,327,328,339,356,380,386,396,406,407,408,409,410,420,421,423,448],blast:290,blend:380,block:[2,3,6,91,120,144,146,147,256,299,321,333,339,357,390,396,426,437,443],blow:[3,241,295,299,397],blown:3,blue:[2,168,169,191],bluegen:[167,318],blueviolet:169,board:[319,352],bodi:[],body_nparticl:8,bodyflag:423,bodyforc:216,bodyforcei:216,bodyforcex:216,bodyforcez:216,bodystyl:[219,270],boff:[327,423],bogaert:285,bogu:[3,127,192],bogusz:88,bohr:[355,357,410,447],boltzmann:[6,7,9,87,91,112,122,124,125,126,127,130,131,132,133,134,136,181,191,213,216,217,218,219,220,233,294,353,438,447],bond:[],bond_coeff:[],bond_graph_cutoff:393,bond_harmon:[8,48,49],bond_harmonicshift:49,bond_info:393,bond_interact:178,bond_styl:[],bond_typ:[148,404],bondangl:[3,21,33,423],bondbond13:[3,151,423],bondbond:[3,21,33,423],bondchk:393,bondcoeff:3,bondtyp:[189,190,327,404],bonu:[3,450],book:415,bookkeep:384,bookmark:0,boost:[1,3,12,64,329],bop:[],border:[3,7,16,61,290,449],boresch:87,boreschkarplu:87,born:[],boron:357,borrow:274,bose:265,botero:[7,9,13,357],both:[1,3,6,7,8,9,11,12,14,15,16,17,18,27,37,39,54,55,57,59,61,62,63,68,69,71,83,87,88,108,113,115,116,123,124,129,132,134,137,144,146,147,148,153,163,164,167,168,171,172,173,174,179,181,182,184,185,186,189,190,191,192,193,194,199,205,207,209,211,213,214,216,217,225,226,229,230,234,235,241,246,249,255,259,260,261,267,270,273,274,275,278,282,286,287,288,290,293,295,296,298,299,300,303,304,313,319,323,326,327,328,329,331,333,335,339,340,341,342,343,344,345,347,352,353,355,356,357,360,361,363,364,365,369,371,373,374,375,377,378,379,383,384,387,394,395,406,408,409,410,416,418,420,421,423,424,425,426,430,435,440,441,443,448,450,451,452],bottleneck:[1,3,421],bottom:[8,9,127,169,194,204,216,247,286,293,321,435],bottomwal:187,bounc:[3,278],bound:[3,6,17,26,27,41,42,57,59,71,133,146,153,166,167,169,183,184,188,194,195,199,205,214,229,256,278,295,296,297,298,299,300,318,326,357,423,426,437,443,448,449],boundar:3,boundari:[],boundary_dynam:178,boundary_faceset:178,boundary_integr:178,bount:11,box:[],boxcolor:[168,169],boxxlo:11,bpa:333,bpclermont:[9,13],bptype:404,br1:143,bracket:[2,3,6,41,63,71,117,119,172,180,181,182,183,184,185,186,188,292,441,448],bragg:[118,143],branc:11,branch:11,branicio:73,breakabl:[7,44,55],breakag:[78,189],breakdown:[1,12,15,88,107,392,393,418,437],brennan:404,brenner:[335,405],brick:[3,41,62,132,146,188,423,425,427],brief:[1,5,6,7,8,12,212,335,339,393,437],briefli:[6,10,253,348],brilliantov:361,bristol:[5,7],brittl:389,broader:421,broadli:8,broken:[2,54,65,69,70,78,107,115,148,189,229,339,425,435,450],brook:6,brought:166,brown:[7,9,13,15,16,118,121,169],brownain:341,brownian:[],brownw:7,brows:0,browser:[4,168],bryantsev:363,bsd:12,bstyle:[40,42],btype:[69,115,145,167,349,369,373,377,404],buc:342,buck:[],buckingham:[7,173,174,261,319,340,342,343,351,405],buffer:[3,8,168,169,440],bufi:168,bug:[],bui:168,build:[],builder:[7,13],built:[1,2,3,4,6,8,9,11,12,13,14,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,40,43,45,46,47,48,49,50,51,53,54,55,56,64,67,78,80,83,86,87,96,97,98,99,100,101,105,109,111,112,120,122,123,128,130,131,135,136,138,142,150,151,153,154,155,156,157,158,159,161,162,163,164,167,170,172,175,176,177,179,187,189,190,191,193,195,200,201,202,204,205,206,207,208,210,212,213,215,216,217,218,219,220,222,223,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,259,260,261,262,263,264,265,266,267,270,272,273,274,278,281,283,284,285,286,287,288,290,291,293,294,296,297,302,303,304,306,307,308,309,310,312,313,314,319,328,329,330,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,388,389,390,391,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,418,421,424,426,432,436,437,438],bulatov:[381,382],bulk:[4,6,10,70,216,251,257,350,380,384,389,427],bullet:7,bump:213,bunch:8,bundl:[9,168,170],burlywood:169,bussi1:282,bussi2:282,bussi:[207,282],bybe:9,c1060:14,c11:[182,380],c12:182,c13:182,c1n:182,c2050:14,c21:182,c22:182,c23:182,c2n:182,c31:182,c32:182,c33:182,c34:182,c3n:182,c41:182,c42:182,c43:182,c44:182,c_0:[290,402,403],c_1:[68,69,117,118,143,167,169,206,259,271,301],c_2:[69,117,118,140,142,143,167,271,292,301],c_3:[117,271],c_cluster:6,c_cstherm:6,c_dist:117,c_doubl:11,c_e:290,c_flux:91,c_forc:117,c_gauss:359,c_hb:363,c_id:[6,63,71,87,117,119,167,180,181,182,183,184,185,186,271,280,292,441,448],c_ij:6,c_ijkl:6,c_index:117,c_k:206,c_ke:286,c_msdmol:119,c_my_stress:180,c_mycentro:[181,184],c_mychunk1:114,c_mychunk2:114,c_mychunk:[6,66,75,90,93,104,106,124,139,141],c_mycom:183,c_mycomput:181,c_myf:[167,451],c_myrdf:[116,186],c_mytemp:[8,182,183,186,292,441,448],c_n_k:206,c_p:121,c_pe:110,c_peratom:[110,121],c_pi:339,c_press:117,c_prop:6,c_radiu:142,c_reax:[392,393],c_sa:271,c_sigma:339,c_size:6,c_stress:167,c_tatom:214,c_tdrude:[198,214,443],c_thermo_press:[8,182,183,186],c_thermo_temp:186,c_xrd:183,ca2:143,cach:[17,39,384,436],cacul:273,cadetblu:169,cai:443,calcforc:216,calclat:91,calcluat:[103,105,110,112,121,349],calcualt:[91,181],calcul:[],caldwel:[6,150,435],calhoun:253,call:[],callabl:[3,11],callback:[3,11,172,203,421],caller:3,calori:447,caltech:[6,7,9,13,357],calucl:6,calul:[11,12,124,319],cambridg:[9,391],campa:252,can:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,321,322,323,324,326,327,328,329,330,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,430,431,432,433,434,435,436,437,438,439,440,441,443,447,448,449,450,451,452],cancel:[172,270,449],candid:[148,179,205],cannot:[1,2,3,6,11,12,13,15,16,17,39,40,41,54,57,58,59,68,71,82,84,88,104,117,119,123,124,145,147,148,166,167,168,169,180,181,182,183,184,185,186,188,191,192,194,195,205,206,207,213,214,215,219,226,229,231,232,234,235,237,238,239,244,246,249,256,257,260,265,267,270,271,272,278,286,290,292,293,295,296,299,300,301,303,318,321,326,328,331,332,333,342,343,345,355,360,362,369,373,375,377,384,387,392,394,395,404,405,407,418,420,421,423,424,426,427,429,432,433,435,437,440,447,448],canon:[172,179,205,207,229,230,246,247,248,249,253,282,285,288,389],cao1:253,cao2:253,cao:253,capabl:[5,7,9,11,14,16,17,18,297,303,319,333,335,345],capac:[9,40,101,130,265,290,399,423,433],capit:[197,423],capolungo:[118,143,271],captur:[6,291,335,343,357,361,373,380,443],carbid:349,carbon:[7,168,312,335,348,366,380],card:[12,14,16,22,44,77,87,116,152,173,174,270,305,323,346,363,417,425,430,450,452],care:[3,6,59,71,144,147,166,181,184,185,189,190,195,207,212,216,229,256,270,285,338,421,423,426,427,432,433],carefulli:[11,12,54,267,301,364,366,428],carlo:[6,7,9,172,179,191,205,270,285,354,405],caro:[179,355],carpent:[7,13],carri:[16,222,259,290,361,393],cart:[3,420],carter:[9,17],cartesian:[3,62,334,420],carv:147,cascad:[199,290],cash:7,cast:[207,448],cat:[15,168],catastroph:261,cate:216,categori:[],cation:358,caus:[1,2,3,6,8,12,16,17,144,146,147,148,167,169,177,192,199,205,241,251,268,270,273,295,297,298,299,300,303,317,319,326,328,332,363,369,375,378,379,417,421,422,423,424,427,428,430,431,448,452],caution:[1,319],cautiou:[189,190],cautious:335,caveat:[335,432],cbecker:[334,355],cc1:[6,14,66,75,90,93,104,106,114,124,139,141,181,184],cc2:14,ccc:[356,406,408,410],ccflag:[12,16,17,18,19,167],ccm6:355,ccsi:[356,406,408,410],ccu:339,cd2:143,cdeam:355,cdennist:9,cdll:11,cdof:[6,124,181],cdte:339,cdte_bop:339,cdtese:339,cdzn:339,cdznte:339,ce3:143,ce4:143,ceas:325,ceil:448,cell:[3,6,59,88,116,118,142,143,144,167,177,192,193,205,210,227,229,230,233,252,260,263,290,318,319,321,354,357,441],cella:[6,441],cellalpha:[6,441],cellb:[6,441],cellbeta:[6,441],cellc:[6,441],cellgamma:[6,441],center:[3,6,25,42,63,66,71,74,75,86,89,90,98,103,104,105,114,116,118,124,125,126,129,132,136,139,141,144,168,169,172,173,174,176,181,183,184,185,192,194,195,196,198,205,206,211,213,214,219,225,229,234,235,246,247,249,252,256,261,267,268,270,271,274,275,276,278,280,281,282,283,285,286,288,295,299,304,321,327,338,356,357,360,361,367,378,379,380,381,382,406,408,409,410,412,426,433,443,448],centimet:447,central:[3,61,70,76,77,116,120,219,251,273,276,327,386,392,393,423],centro:[],centroid:[3,253,412,433],cerda:318,ceriotti2:207,ceriotti:[13,207,212],certain:[1,2,3,6,8,12,17,39,71,113,117,119,148,167,168,180,181,182,183,184,185,186,191,203,204,270,272,279,292,303,310,317,329,364,384,393,411,425,429,443,448],certainli:211,cerutti:319,cfg:[3,6,7,13,167,168,169,170],cfile:393,cfor:274,cg_type:395,cgiko:2,cgikot:2,cgkio:2,cgko:2,cgkot:2,cgo:2,cgot:2,ch2:273,ch2lmp:[],ch3:273,chain3:329,chain:[],challeng:[6,274],chalopin:265,champaign:[210,318,319,378],chandler:[334,355],chandrasekhar:[6,369],chang:[1,2,3,6,8,9,11,12,14,15,16,17,39,40,41,46,55,57,59,62,71,80,87,116,126,127,128,144,145,146,148,164,166,167,168,169,170,172,173,174,175,176,178,179,184,185,187,188,189,190,191,192,193,194,195,199,200,202,204,207,209,210,211,213,215,216,217,219,225,226,227,229,230,231,232,233,234,235,241,246,247,248,249,251,252,256,257,259,260,264,267,268,269,270,272,273,274,278,281,282,283,284,286,287,288,289,290,291,293,296,299,301,319,324,326,328,331,333,353,357,361,364,378,379,380,384,392,393,405,418,419,420,421,423,424,425,426,427,428,429,431,432,433,434,435,438,441,444,446,447,448,449,450],change_box:[],changeabl:167,channel:[4,175],chapter:[253,319],charact:[2,3,6,12,38,41,56,63,164,167,168,169,170,172,188,259,267,303,327,332,357,368,390,392,393,407,420,421,425,430,431,448,450,451,452],character:[6,67,70,116,120,396,418,437],characterist:[214,278,287],charg:[1,3,4,5,6,7,9,11,15,40,87,88,113,118,143,144,167,170,172,173,174,179,195,200,205,259,261,262,263,267,280,293,318,319,327,340,342,348,349,351,352,355,357,358,364,369,373,377,387,392,393,405,410,411,413,415,416,423,424,428,433,435,443,447,448],charmm2lammp:13,charmm:[],chartreus:169,cheap:278,cheaper:[199,360,394],check:[3,6,8,11,12,15,17,39,41,71,91,164,179,184,188,189,190,195,202,205,211,212,269,273,278,286,288,293,301,303,317,326,327,328,329,330,333,354,365,368,384,393,404,418,420,421,423,431,437,440,441],checkf:164,checkqeq:393,checku:164,chem:[6,13,20,21,25,39,40,43,45,46,87,88,112,121,150,151,161,193,198,206,207,214,216,228,229,230,247,248,253,257,260,262,270,274,278,281,282,285,286,287,288,295,304,312,314,318,319,325,328,335,340,344,345,348,349,350,352,353,357,359,360,362,363,369,373,374,377,380,383,384,387,404,411,432,435,437,443],chemic:[9,118,138,143,167,178,179,205,261,266,267,285,319,392,393,400],chemistri:[9,260,261,263,339,357,392,393],chen:290,cheng:348,chenoweth:[392,393],chenoweth_2008:[392,393],chi:[92,133,166,251,261,263,358,360,449],chiefli:391,child:8,chip:[7,12,17,333,436],chipot:193,chiral:312,chmod:[11,12],cho:380,chocol:[7,169],choic:[3,6,12,15,16,18,40,41,54,87,121,123,137,148,164,181,184,185,188,191,194,195,207,213,216,227,229,253,261,270,285,313,319,324,325,328,330,333,364,377,384,388,423,432,433,436,437,442,443,447],choos:[1,3,6,7,8,12,16,17,18,29,39,54,87,117,134,135,168,189,190,191,192,195,202,213,216,227,229,231,232,233,234,235,257,278,282,296,318,319,325,413,418,420,432,438],chose:[408,410],chosen:[2,3,6,12,17,120,144,147,156,164,168,174,179,192,195,202,205,206,214,216,227,229,233,253,256,267,278,282,285,286,291,293,294,300,319,320,325,333,357,361,367,368,371,395,408,418,432,437,443],chri:142,christian:[7,9,14,17],christoph:7,chunk:[],chunkid:[66,75,90,93,104,106,114,124,139,141,181],chute:[4,10,208],ciccotti:273,cieplak:[6,150,435],cii:182,cij:182,circular:[3,6,123,165],circumst:18,circumv:265,citat:[],cite:[3,7,8,12,213],cko:2,cl1:143,clarendon:[29,352],clarifi:[7,408,410],clariti:303,clark:387,class2:[],classic:[0,3,5,6,7,8,9,203,253,260,265,290,314,357],classifi:[9,405],claus:421,clean:[6,12,14,15,17,431],cleanli:[422,451],clear:[],clearli:7,clebsch:120,clermont:[9,13],clever:427,click:[2,11,22,37,44,55,144,152,163,168,210,305,313,328,346,405],client:[210,212],climb:[228,328,437],clinic:[7,13],clo:[133,166,449],clock:[12,418,437],clockwis:296,close:[3,6,11,12,13,39,41,67,121,147,167,190,191,192,207,214,216,229,247,270,273,296,299,317,319,322,324,325,328,333,335,339,349,350,380,384,410,427,433,443,445],closer:[3,41,116,142,166,167,188,192,196,287,328],closest:[190,251,270,293,360,394,404,413],cloud:443,clovertown:18,clsuter:72,clump1:[255,270],clump2:[255,270],clump3:[255,270],clump:270,cluster:[],clutter:[3,9],cmap:423,cmatrix:207,cmax:380,cmd:[11,12,253,434],cmin:380,cmm:[],cn1:182,cn2:182,cna:[],cnn:182,cnr:[9,13],cnt:[364,427],co2:[40,143,273,327],coars:[7,9,29,36,40,54,156,255,270,278,362,395,435],coarser:[319,448],coarsest:120,code:[],coeff:[3,7,8,12,21,22,33,44,50,150,151,152,157,304,305,310,346,364,368,384,397,423,425],coeffcient:423,coeffici:[],coefficienct:353,coefficient0:355,coefficient1:355,coeffieci:[6,337],coeffincientn:355,coexist:[9,205,357],cohes:[6,358,380],coincid:[205,299,344,378,379,418],cold:[6,129,209,329,443],coldest:286,coleman8:9,coleman:[9,118,143,271],colin:9,collabor:[7,8,9,15],collect:[3,6,7,8,9,13,40,42,66,75,83,90,93,98,104,106,114,124,132,139,141,144,167,169,181,193,219,225,255,265,268,270,301,318,327,329,347,367,423,430,436,452],collid:[199,278,300],colliex:143,collinear:[3,255],collis:[3,216,278,296,300,354,361,416],colllis:278,colloid:[],colombo:39,colon:[170,301,424],color1:169,color2:169,color:[3,9,41,167,168,169,188,206,260,265],column:[3,6,9,13,42,63,65,66,67,68,69,71,75,77,79,81,90,92,93,104,106,108,110,113,114,115,116,117,119,120,121,124,132,139,141,142,143,164,167,169,172,180,181,182,183,184,185,186,219,226,227,260,270,279,280,290,300,359,363,392,393,424,438,440,448],colvar:[],colvarmodul:12,com:[],comamnd:194,comand:[191,425],comannd:333,comb3:[],comb:[],comb_1:262,comb_2:262,combiant:350,combin:[3,6,7,9,11,13,36,40,63,65,69,79,87,92,108,115,123,137,167,168,178,183,210,219,229,253,259,282,291,299,302,304,318,319,321,325,333,347,349,350,357,358,364,376,377,396,406,408,410,415,426,431,443,448],come:[],comfort:[12,13],comm:[0,3,12,61,73,210,212,213,319,328,333,353,384,389,407],comm_modifi:[],comm_styl:[],command:[],comment:[2,7,11,12,38,56,150,164,167,214,270,290,327,328,334,355,356,358,368,380,386,393,396,406,407,408,409,410,420,421,423,443,448],commerci:7,commmand:[3,6,12,59,107,248,417,418,420,437,451],common:[],commonli:[3,6,12,17,25,57,59,105,146,167,168,170,314,362,371,396,408,410,423,426,435],commun:[1,3,6,7,8,10,11,12,14,15,16,18,40,41,58,61,62,71,147,148,168,169,188,189,190,192,193,194,210,212,216,218,219,220,229,252,259,261,262,263,270,278,290,301,318,329,330,331,333,354,388,420,421,425,432,433,450,452],communc:318,comp:[7,212,213,273,319,328,357,384,389,394,403,407,409],compact:[63,172,346,405],compani:[5,7],compar:[1,3,4,6,8,12,17,39,86,110,118,127,142,143,152,163,169,198,261,301,303,318,319,326,328,380,418,437,438,443,447],comparison:[],comparison_of_nvidia_graphics_processing_unit:14,compass:[7,21,22,37,43,44,55,151,152,163,304,305,313,345,405],compat:[3,5,7,8,9,11,12,13,17,18,41,71,117,119,155,167,170,174,180,181,182,183,184,185,186,188,252,264,282,285,292,295,298,318,333,365,384,407,420,421,448],compens:[6,189,190,268,329,357],compet:289,competit:319,compil:[3,7,8,9,10,12,13,14,15,16,17,18,19,142,167,168,170,210,289,319,333,423,424,428],compl:17,complain:[12,17],complement:380,complementari:[7,349,369],complet:[3,6,9,12,15,41,59,71,169,184,188,193,219,253,256,259,278,289,291,303,317,328,333,358,412,418,423,428,431,435,437,440,443,448],complex:[6,8,11,12,13,25,40,42,62,120,132,144,145,216,299,316,328,357,407,421,423,426,448],compli:[285,289],complic:[6,7,9,12,13,179,205,421],complier:12,compon:[3,6,8,12,61,63,66,67,73,81,88,89,90,91,93,94,97,104,105,106,107,108,109,110,112,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,139,140,141,167,168,169,175,176,180,181,182,183,184,185,186,187,191,192,194,195,200,203,208,212,213,216,219,221,225,226,228,229,230,233,234,235,246,247,249,250,252,253,254,257,268,270,272,273,274,275,278,281,282,283,285,292,293,298,299,300,318,321,325,326,327,328,333,353,357,361,378,379,396,423,424,433,441,448,449],componenet:6,composit:[6,179,216,355],compound:[348,357,358],compres:[71,114,181],compress:[3,6,59,71,114,147,167,168,169,181,194,227,233,257,260],compris:[40,299,367,394,412],compton:[118,143],comptu:[3,6],compuat:319,comput:[],computation:[3,6,189,190,290,339],computational:443,compute_arrai:8,compute_fep:[174,377],compute_group_group:205,compute_inn:8,compute_ke_atom:8,compute_loc:8,compute_modifi:[],compute_peratom:8,compute_sa:[118,271],compute_scalar:8,compute_temp:8,compute_ti:174,compute_vector:8,compute_xrd:143,concaten:[2,3,451],concav:299,concentr:355,concept:[6,124,134,181,432],conceptu:[3,6,71,132,192,194,328,349,364,380,428],concern:[6,73,87,206],concis:[11,289],conclud:12,concret:8,concurr:[9,16,319],conden:[290,408,410],condens:[6,126,290,335,351,355,369],condit:[],conducit:6,conduct:[],cone:426,confid:[3,437],config:[12,167,420],configfil:193,configur:[1,6,12,15,17,38,59,146,164,166,167,168,172,192,193,194,195,199,205,212,213,241,253,261,289,316,326,328,335,339,356,380,406,408,410,418,423,425,426,437],confin:[423,437],conflict:[3,40,384,421],conform:[3,6,13,59,191,192,228,269,274,289,312,328,357,435],confus:3,conjuct:353,conjug:[7,8,213,325,357,392,393],conjunct:[6,7,71,86,87,114,127,132,138,144,148,169,173,174,213,216,220,241,256,257,261,262,263,265,270,278,286,293,298,318,319,328,340,342,346,349,353,357,363,369,387,395,411,423,426,430,443,452],connect:[3,6,87,129,147,191,210,255,270,273,275,328,350,361,404,410,420,421,427,443],conput:3,consecut:[3,11,12,39,71,144,169,173,174,195,210,211,349,369,373,418,424,426],consequ:[1,6,290,368,437],conserv:[3,172,179,191,198,199,206,209,213,215,216,220,225,227,229,241,270,273,281,282,286,293,294,298,328,352,353,361,375,432,437],consid:[6,9,70,71,78,87,115,129,130,147,167,169,173,174,180,182,184,188,190,191,195,217,230,252,270,285,286,289,290,293,319,346,357,364,393,394,404,418,419,421,424,425,426,428,431,433,441,443,448],consider:[6,8,213,214,281,282,283,333,432],consist:[3,6,8,9,11,12,40,42,65,69,79,92,104,108,111,112,115,124,127,129,144,156,166,170,175,176,181,194,195,198,200,203,206,213,214,215,226,229,231,232,233,234,235,236,237,239,240,241,242,244,245,246,247,248,249,257,260,265,267,269,270,281,282,283,284,294,318,319,321,327,328,333,335,339,341,347,349,357,360,378,379,380,384,394,407,413,421,423,424,426,427,428,435,443,448],consistent_fe_initi:178,consit:270,constant:[],constitu:[3,6,219,270,295,299,347,394],constrain:[3,6,8,122,123,124,125,127,130,131,132,133,134,136,137,172,181,195,205,206,211,219,223,255,256,268,270,273,276,286,293,326,327,357,428,435,443],constraint:[],construct:[6,8,14,38,54,56,61,64,67,70,72,73,77,118,120,143,192,229,252,269,299,329,333,352,384,404,406,407,426,427,448],constructor:8,consult:393,consum:[1,265,388,448],consumpt:316,contact:[],contain:[0,1,2,3,4,6,8,9,11,12,13,17,18,19,38,40,41,56,63,87,91,116,118,120,124,132,142,143,144,146,150,152,163,164,167,168,169,170,172,173,174,178,180,181,182,183,184,185,186,188,193,195,200,207,211,212,213,214,216,227,241,251,252,255,256,258,260,263,267,270,271,278,285,289,290,299,300,303,317,319,327,328,331,332,334,335,336,339,348,349,352,355,356,357,364,365,380,386,390,391,392,393,396,406,407,408,409,410,411,418,419,420,421,423,424,425,426,428,430,432,435,437,440,441,443,448,450,452],content:[12,18,393,439,441],context:[3,6,8,12,17,117,169,189,190,195,255,267,294,325,415,423,430,439,447,448,449],contibut:70,contigu:420,contin:16,continu:[0,2,3,5,6,9,12,13,14,41,71,81,103,104,140,169,172,173,174,179,181,182,183,184,185,186,188,191,192,193,194,195,205,206,207,209,210,211,213,214,215,221,226,227,229,231,232,233,234,235,246,247,248,249,254,256,259,260,270,271,274,277,278,280,287,288,290,296,299,303,317,332,333,339,353,354,371,374,392,393,394,409,418,421,423,425,426,431,437,440,441,448,450],continuum:[6,7,9,178,290],contour_integr:178,contract:[59,192,194,229,257,270],contradictori:3,contrain:273,contraint:241,contrari:[207,214],contrast:[1,6,42,55,64,129,194,301,415,451],contrib:290,contribut:[3,5,6,7,8,9,12,13,17,63,66,68,70,71,74,75,77,80,84,87,88,89,90,91,93,102,104,106,107,108,109,110,112,114,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,174,179,180,181,182,183,184,185,186,192,205,213,216,219,220,224,230,247,248,255,256,264,267,270,271,273,292,318,326,328,336,353,354,355,357,364,378,379,384,392,393,435,441,443],contributor:12,control:[3,5,6,7,8,11,13,16,27,29,41,87,91,120,153,167,168,172,178,179,188,192,193,194,209,210,213,214,229,231,232,233,234,235,257,262,270,281,282,283,290,294,316,318,330,357,360,392,393,406,410,418,420,432,438,439],control_typ:178,controlfil:393,convect:91,conveni:[6,12,29,167,170,186,271,321,396,448],convent:[3,8,9,29,155,162,163,169,269,275,302,355,357,448],converg:[3,6,41,88,167,168,170,175,188,191,192,200,203,233,260,262,265,269,273,324,325,326,328,348,349,369,418,430,437],convers:[3,8,120,168,169,179,182,257,318,349,350,351,357,369,373,377,387,421,437,447],convert:[2,3,4,5,6,7,8,12,13,20,21,24,28,32,35,36,59,63,71,91,144,151,167,168,169,186,227,301,304,306,309,312,321,328,334,355,408,410,416,421,423,424,425,430,440,443,447,448,450,452],convex:299,convinc:[7,12],cooki:7,cool:[7,134,209,268],cooordin:167,cooper:[5,7],coord123:114,coord1:[3,114,181,184,185],coord2:[3,114,181,184,185],coord3:[3,114,181,184,185],coord:[],coordiat:326,coordin:[1,3,4,6,7,8,11,13,14,15,17,40,41,42,59,61,62,63,66,68,71,74,75,77,81,87,89,90,93,103,104,106,113,114,116,120,127,133,139,141,142,144,148,166,167,168,169,170,172,175,180,181,183,184,185,188,189,190,191,192,193,194,195,198,200,201,203,205,208,209,210,211,212,213,214,226,228,229,231,232,234,235,247,250,251,252,255,256,257,267,268,270,272,273,274,275,276,277,278,280,288,289,290,297,298,300,301,321,326,327,328,333,334,335,338,356,418,423,424,426,428,431,433,437,443,448,449],coordn:[114,181],coorind:104,copi:[0,3,4,8,11,12,15,17,40,119,168,290,328,346,392,421],copper:416,coproccesor:16,coprocessor:[1,4,7,9,16,17,333,436],coproprocessor:17,copy_arrai:8,copyright:[7,8,255],coral:169,core:[],core_shel:126,coreshel:[6,9,342,349,351],cornel:[6,150,435],corner123i:113,corner123x:113,corner123z:113,corner1i:113,corner1x:113,corner1z:113,corner2i:113,corner2x:113,corner2z:113,corner3i:113,corner3x:113,corner3z:113,corner:[3,6,40,113,168,299,300,321,412,423],cornflowerblu:169,cornsilk:169,corpor:16,corr:348,correct:[3,6,9,11,12,16,17,59,87,88,102,110,116,126,131,138,168,194,207,213,229,230,247,255,257,260,289,295,299,318,328,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,423,438,441,443],correction_max_iter:178,correctli:[3,8,9,11,17,71,81,102,103,122,123,125,127,129,130,131,132,133,136,137,140,167,169,175,195,200,203,214,223,229,230,263,270,273,275,277,296,299,328,329,333,351,379,420,421,423,447,449],correl:[],correspond:[1,2,6,8,11,12,14,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,40,43,44,45,46,47,48,49,51,53,54,56,70,71,87,96,97,109,112,113,114,115,118,119,120,122,123,131,138,143,150,151,152,153,154,155,156,158,159,161,162,164,167,168,169,173,174,175,181,183,184,185,187,190,192,194,201,203,204,208,213,216,217,225,226,227,229,231,232,233,234,235,236,241,244,246,247,249,252,253,257,262,270,272,273,281,283,285,294,295,296,298,299,300,302,304,305,306,307,308,309,312,314,319,323,325,327,328,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,390,392,393,394,395,396,397,406,407,408,409,410,412,414,415,416,418,420,421,423,424,426,436,437,438,440,441,443,448],correspondingli:[378,379,432],cosin:[],cosineshift:27,cosmo:[207,212],cossq:[],cost:[1,6,10,11,12,17,39,41,71,109,118,121,143,168,169,181,184,185,188,189,190,202,229,262,290,318,319,331,349,369,373,384,406,420,432],costheta0:[406,408,410],costheta:390,costli:[11,88,207,329],couett:4,coul:[],could:[2,3,6,9,11,12,17,33,41,50,59,66,71,75,87,90,93,104,106,109,112,114,124,134,139,141,157,167,168,169,173,174,179,181,182,184,188,194,203,212,259,260,261,265,268,270,272,278,279,285,289,290,291,295,299,301,303,310,315,317,324,326,329,333,336,359,363,364,392,393,419,420,421,423,425,427,430,431,439,443,448,449],coulomb:[3,5,6,7,8,9,10,12,14,15,18,88,107,108,121,145,149,261,263,291,318,319,326,333,340,342,343,344,345,348,349,350,351,352,357,361,362,364,369,373,377,384,387,392,393,395,405,410,411,415,428,435,441,443,447],coulommb:6,cound:3,count:[1,3,6,8,10,11,12,41,63,68,77,91,114,116,117,132,142,148,175,176,179,181,183,184,185,187,188,195,200,202,205,211,229,241,256,273,281,282,299,319,326,327,328,330,333,359,363,384,441,448],counter:[296,418,429,431,437],counterbal:209,counterpart:[167,270,418],counterproduct:18,coupl:[],cours:[3,8,138,167,173,174,206,269,275,289,295,297,298,300,301,319,378,397,420,423,436,443,448,450],coval:[6,29,357,380,443],covari:207,cover:[6,71,164,169,178,216,357,367,412],coverag:[71,184],cpc:212,cpp:[1,3,6,8,9,11,12,13,87,167,173,174,203,273],cpu:[1,3,4,9,10,12,14,15,16,17,18,63,71,169,172,198,214,291,316,319,333,346,405,418,436,437,440,441],cpuremain:441,cr2:143,cr3:143,crack:[4,329],crada:[5,7],crai:[5,7,13,18,167],crash:[3,329,443],craympi:333,creat:[],create_atom:[],create_bond:[],create_box:[],create_elementset:178,create_faceset:178,create_nodeset:178,createatom:[],creation:[],crimson:169,critchlei:255,criteria:[3,116,145,168,169,189,190,191,224,326,389,412,425,428,448],criterion:[41,142,144,147,179,188,191,205,241,262,296,301,326,328,348,357,361,428,437,438],criterioni:437,critic:[48,49,227,285,290,326],cross:[3,12,22,71,89,123,152,167,168,180,184,190,194,226,228,247,270,275,277,286,293,305,321,328,344,353,354,355,362,363,364,369,371,373,390,395,408,410,423,427,433,450],crossov:1,crossterm:423,crozier:[0,7,13],crucial:260,crystal:[4,6,13,73,251,252,288,329,427,441,443],crystallin:[6,252,321,409,443],crystallis:285,crystallogr:[118,143],crystallograph:[321,441],crystallographi:[118,143,321],cs1:143,cs_chunk:6,cs_im:[40,423],cs_re:[40,423],csanyi:[120,391,396],cscl:380,csequ:6,csh:[11,12,346],cshrc:[11,12],csic:[356,406,408,410],csinfo:6,csisi:[356,406,408,410],csld:[],cst:355,cstherm:6,cstyle:420,csvr:[],ctcm:[334,355],ctemp_cor:198,cterm:274,ctr:9,ctype:11,cu1:143,cu2:143,cu3au:380,cube:[6,41,142,147,188,198,299,321,443],cubic:[],cuda:[],cuda_arch:15,cuda_get:15,cuda_hom:15,cuda_prec:15,cufft:14,cuh:339,cummul:[3,6,186,189,190,191,193,202,207,213,215,278,281,282,283,284,286,293,363,441],cumul:[6,179,181,183,184,185,199,205,213,227,229,233,241,270,271,328],curli:2,current:[0,1,3,5,6,7,8,9,11,12,13,15,16,17,18,40,41,42,59,61,63,71,73,81,87,102,108,116,117,121,124,132,140,142,145,148,167,168,169,170,173,174,178,179,181,184,185,186,188,189,190,191,192,193,194,195,199,200,203,205,207,210,211,213,219,226,229,230,234,235,241,246,247,249,255,261,262,264,267,268,269,270,273,274,276,277,278,281,282,283,289,290,293,294,295,296,297,298,300,301,303,316,317,318,319,322,323,325,326,327,328,333,339,346,348,352,355,357,358,361,365,368,378,379,380,381,382,384,390,392,393,397,408,410,411,413,418,419,420,421,423,424,425,426,427,429,430,431,433,435,437,438,440,441,448,449,450,451,452],curv:[6,144,205,252],curvatur:[360,394,416],custom:[],cut0:421,cut1:432,cut2:432,cut:[],cuthi:[251,263],cutinn:[341,378,379],cutlo:[251,263],cutmax:390,cutoff1:[345,352,369,373,377,387,395],cutoff2:[340,342,343,345,351,352,369,373,377,387,395],cutoff:[3,6,10,16,18,39,45,46,54,55,61,70,72,73,77,87,108,115,116,120,142,145,147,190,191,196,251,260,261,263,265,267,270,278,291,295,299,301,318,319,326,329,330,331,333,334,335,336,337,338,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,356,357,358,359,360,362,363,364,365,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,392,393,394,395,396,397,398,399,400,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,421,425,428,432,443],cutoffa:356,cutoffc:356,cuu3:355,cval:143,cvd:285,cvel:274,cvff:[],cwiggl:[3,226,295,298,300,448],cyan:[2,168,169],cycl:[3,205,227,229,230,233],cyclic:[3,164],cygwin:12,cylind:[3,4,168,211,256,296,299,426],cylindr:[6,211,275,296],cypress:333,cyrot:339,cyrstal:252,d3q15:216,d3q19:216,d_double_doubl:15,d_e:290,d_flag2:259,d_flag:259,d_name:[113,167,259,280,433],d_single_doubl:15,d_single_singl:15,d_sx:259,d_sy:259,d_sz:259,daan:288,dai:12,daili:12,daivi:247,damag:[],dammak:265,damp:[3,6,172,177,213,214,215,220,229,230,233,257,260,265,270,281,282,294,296,297,325,326,328,340,342,344,349,352,357,361,369,377,387,395,405,411,437,443],damp_com:214,damp_drud:214,dampen:[270,443],dampflag:[296,361],dan:17,danger:[3,12,205,301,353,441],dangl:147,daniel:9,darden:[319,352],darkblu:169,darkcyan:169,darken:168,darkgoldenrod:169,darkgrai:169,darkgreen:169,darkkhaki:169,darkmagenta:169,darkolivegreen:169,darkorang:169,darkorchid:169,darkr:169,darksalmon:169,darkseagreen:169,darkslateblu:169,darkslategrai:169,darkturquois:169,darkviolet:169,dasgupta:261,dash:[361,440],dat:[6,91,164,178,419],data2xmovi:[],data:[],data_atom:8,data_atom_hybrid:8,data_bodi:8,data_vel:8,data_vel_hybrid:8,databas:[],datafil:[12,13,271],dataset:271,datatyp:3,date:[0,6,12,13,392,393,448],datom1:115,datom2:115,datom3:115,datom4:115,datum:[3,6,42,65,68,69,79,92,108,115,167,182],davi:295,david:[9,19,318,319,408,410],daw:[355,390],dbg:14,dcd:[3,6,7,167,168,169,170,253,424,428],ddim:166,deactiv:377,dealt:212,debug:[6,7,11,12,13,14,17,118,143,144,253,258,316,318,333,365,384,413,421,422,425,430,433,440,448],deby:[],decai:[349,416],decid:[3,6,12,16,71,226,259,270,291,438],decipher:321,declin:278,decod:168,decompos:[87,396],decomposit:[3,5,7,18,62,178,253],decoupl:[6,443],decreas:[3,167,175,176,191,194,200,203,213,289,318],decrement:274,deepli:315,deeppink:169,deepskyblu:169,def:[12,13,421],defaul:61,defect:[6,70,142],defin:[2,3,5,6,7,8,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,150,151,152,153,154,155,156,158,159,161,162,163,164,165,166,167,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,199,200,203,204,205,208,211,212,213,214,215,216,224,226,228,229,230,231,232,233,234,235,237,238,239,242,244,245,246,247,248,249,251,252,253,255,256,257,259,261,263,268,270,271,272,273,276,278,280,281,282,283,284,286,287,288,290,292,293,295,296,297,298,299,300,301,303,304,305,306,307,308,309,312,313,314,316,318,319,321,323,325,326,327,328,329,330,331,332,333,335,336,337,338,340,341,342,343,344,345,346,347,349,350,352,353,354,356,357,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,423,424,426,427,428,429,432,433,434,435,437,438,440,441,443,444,445,446,447,448,449],definit:[2,3,6,8,12,13,78,80,116,120,169,181,182,183,184,185,186,194,211,233,271,280,292,295,298,300,302,313,316,327,336,339,347,357,367,390,396,412,421,423,425,432,434,447,448],defint:441,deform:[],deg2theta:143,deg:443,degener:[3,255],degrad:[8,18,252,319,432],degre:[3,6,8,20,21,24,28,29,32,35,36,38,65,79,92,94,96,97,99,101,102,112,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,143,144,150,151,154,155,162,164,166,168,181,191,198,205,207,208,213,214,219,229,230,233,234,235,246,247,249,253,255,269,270,273,281,282,283,288,304,306,309,312,314,326,352,355,363,433,441,443,449],degress:[124,181],del:437,delai:[3,6,12,329,354,441],deleg:364,delet:[2,3,7,8,12,54,57,60,63,142,147,148,172,181,182,183,184,185,186,189,191,202,205,229,271,281,282,301,303,317,327,329,332,384,423,424,426,434,435,440,444,446,448,449],delete_atom:[],delete_bond:[],delete_el:178,deli:166,delimit:[421,448],deloc:[230,357],delr:380,delt_lo:437,delta:[],delta_1:339,delta_3:339,delta_7:339,delta_conf:3,delta_ij:[380,390],delta_mu:[3,179],delta_pi:339,delta_r:390,delta_sigma:339,delx:166,delz:166,demand:265,demo:11,demon:250,demonstr:[260,380],den:256,dendrim:363,denniston:[9,216,218,219,220,252],denomin:[7,149],denot:[118,198,214,252,263,265,349,362,364,393],dens:[71,191,357],densiti:[3,6,7,9,18,40,41,59,100,116,120,130,142,144,173,174,178,181,184,185,188,194,203,216,219,222,223,252,256,257,261,290,295,321,323,327,334,339,355,380,381,382,390,394,399,401,402,403,423,432,433,441,447],depart:[0,7],departur:[227,260],depend:[1,2,3,6,8,9,11,12,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,44,45,46,47,48,49,51,53,54,56,61,63,65,68,69,70,71,79,92,108,109,112,113,114,115,119,120,122,127,131,132,138,144,145,150,151,152,153,154,155,156,158,159,161,162,163,164,166,167,168,169,172,173,174,175,176,179,181,183,184,186,187,188,190,192,200,201,204,207,208,209,211,213,214,216,218,219,226,229,231,232,233,234,235,236,244,246,247,249,251,262,265,267,270,272,273,278,281,282,283,285,287,289,290,292,294,295,298,299,300,301,303,304,305,306,307,308,309,312,314,319,321,326,327,329,330,331,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,383,385,386,387,389,390,392,393,394,395,396,397,405,406,407,408,409,410,411,412,414,415,416,418,420,423,425,426,429,433,435,437,440,441,442,448,449],dependend:6,depflag:12,dephas:[418,437],depos:195,deposit:[],deprec:261,depth:[51,123,168,290,360,394],dequidt:9,der:[87,107,347,348,377,392,393,415,443],deriv:[6,7,8,38,56,63,87,120,138,164,182,192,194,205,213,226,229,231,232,233,234,235,251,257,261,265,287,288,290,295,296,299,325,327,335,339,347,352,357,358,362,371,375,376,380,392,393,405,407,415,443],derjagin:415,derlet:251,descend:169,descent:[7,325],descib:[40,261],describ:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,38,39,40,41,42,56,62,63,68,70,71,73,88,110,113,116,118,120,121,123,124,128,129,132,135,137,138,142,143,144,146,147,156,161,164,167,172,173,174,181,182,183,184,185,186,188,191,192,193,194,195,197,198,206,207,210,211,212,213,214,215,216,218,219,220,224,228,229,230,233,240,248,251,253,258,259,260,261,262,263,270,274,275,278,279,280,281,282,283,284,285,286,287,288,293,295,296,298,303,318,319,321,324,325,326,327,328,332,335,336,338,340,341,342,344,345,346,347,348,349,352,355,357,358,360,361,362,364,369,370,371,372,373,374,375,376,377,378,379,380,383,389,390,391,392,393,394,395,396,397,404,405,406,407,408,409,410,411,414,415,416,418,420,421,423,424,426,427,433,436,437,440,448,449,450],descript:[],descriptor:[120,167,365],deserno:319,design:[0,3,6,7,8,11,13,14,15,17,118,126,129,143,178,191,197,198,229,230,251,252,271,285,290,336,337,338,341,344,349,351,357,377,378,379,381,382,390,393,407,432],desir:[2,3,6,7,11,12,14,15,16,18,33,40,50,59,71,88,91,112,117,121,126,144,157,166,179,192,194,203,205,206,213,214,215,219,229,247,255,256,257,258,261,265,270,273,278,281,282,283,284,289,296,310,315,318,319,321,324,326,327,328,353,355,363,378,379,406,408,410,419,420,421,423,427,432,437,438,440,441,448,449,450],desk:7,desktop:[4,6,7,10,12,17,168],despit:443,destabil:339,destre:312,destroi:[11,39,189,190],detail:[1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,22,37,40,41,42,55,63,66,67,68,71,75,78,90,91,93,102,104,106,107,109,111,112,114,117,119,120,121,122,123,124,127,137,138,139,141,144,145,148,149,152,163,167,168,169,172,173,174,178,181,182,183,184,186,188,190,191,192,193,194,195,203,205,206,207,208,210,211,213,215,216,220,226,227,228,229,230,231,232,233,234,235,239,241,246,247,248,249,252,255,256,257,259,260,262,263,264,270,273,278,281,282,283,284,285,286,288,289,290,291,292,293,294,301,303,305,313,318,319,322,326,327,329,330,333,334,335,336,338,339,341,343,344,345,346,347,348,349,352,353,357,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,389,392,393,394,396,397,405,412,414,415,421,423,424,425,426,428,429,432,433,435,438,441,448,449,452],detect:[2,3,12,61,63,86,204,256,289,328,348,363,368,418,420,423,434,437,448],determ:333,determin:[1,3,6,8,12,15,39,40,42,51,57,58,59,61,62,68,71,87,102,107,109,112,118,119,121,132,133,142,143,144,166,167,168,169,170,171,175,176,177,180,181,182,183,184,185,186,187,188,192,194,195,198,200,205,208,209,211,213,214,219,224,226,227,229,234,235,246,247,249,251,253,257,260,267,268,269,270,271,272,278,281,282,283,285,291,292,295,296,297,298,299,300,301,313,318,319,321,327,329,330,333,335,336,343,348,352,354,355,359,361,365,373,380,384,393,394,404,407,411,415,420,423,424,426,428,430,433,437,439,440,447,448,449],detil:108,devan:[9,395],devanathan:410,develop:[0,3,5,6,7,8,9,11,12,14,15,16,17,18,19,42,210,233,255,260,261,264,335,339,357,382,425],devemi:9,deviat:[227,233,251,359],devic:[1,3,12,15,17,210,333],device_typ:333,devin:[262,348],devis:382,dfactor:168,dff:443,dfft_fftw2:12,dfft_fftw3:12,dfft_fftw:12,dfft_none:12,dfft_singl:[3,12,319],dfft_xxx:12,dfftw:12,dfftw_size:12,dft:[9,264],dhi:[59,166,194,256],dhug:[227,260],dhugoniot:[227,260],dia:380,diagnost:[],diagon:[3,6,83,120,121,192,229,257,270,293],diagonalstyl:396,diagram:[41,118,143,163,188,253],diallo:363,diam:[168,169,256,327],diamet:[3,6,40,113,144,167,168,169,173,174,213,256,270,278,294,296,327,347,360,361,367,371,394,412,415,423,424,433],diamond:[321,357,380],diamter:[40,256],dick:6,dicsuss:226,dictat:[179,227],did:[3,12,326,353,354,355,361,384,408,410,431],didn:3,die:18,diel:[],dielectr:[],diff:[3,6,12,140,292,318],differ:[1,2,3,4,6,7,8,9,10,11,12,14,15,16,17,18,22,37,38,39,41,42,54,55,56,61,64,68,70,71,87,94,96,97,120,122,123,124,125,127,130,131,132,133,134,136,137,138,144,145,147,152,163,164,166,167,168,169,172,174,177,179,181,183,188,189,190,191,192,193,194,198,204,205,206,207,208,209,210,213,214,216,226,229,230,231,232,234,235,237,239,242,244,245,246,249,251,253,255,257,260,261,262,265,268,270,273,274,275,276,278,281,282,283,286,287,288,290,293,294,295,296,299,303,304,313,315,317,318,319,321,322,324,325,327,328,330,331,332,333,334,335,339,343,344,346,347,348,353,355,357,360,361,362,364,367,369,370,372,373,380,381,382,383,384,386,390,392,393,394,395,396,397,405,406,407,408,410,412,415,416,417,418,420,421,423,425,426,427,428,431,432,433,435,437,438,440,441,443,447,448,449,450],differenti:[1,3,6,29,164,318,349,390,409],difficult:[192,253,333,363,432],difficulti:[273,392],diffract:[],diffus:[],digit:[2,3,169,303],dih_table1:164,dih_table2:164,dihedr:[],dihedral_coeff:[],dihedral_cosineshift:27,dihedral_styl:[],dihedralcoeff:3,dihedraltyp:190,dihydrid:357,dij:273,dilat:[],dim1:3,dim2:3,dim:[3,59,71,122,125,126,127,130,131,132,133,134,136,144,166,184,194,211,296,321,380,426,447,448,449],dimdim:448,dimems:252,dimens:[],dimension:[3,39,112,118,120,122,124,125,126,127,130,131,132,133,134,136,143,165,181,184,228,252,290,321,324,328,390,423,433],dimensionless:[105,120,290,319,396,415],dimer:[6,270,380],dimgrai:169,dimstr:[41,188],dinola:[257,281],dintel_offload_noaffin:16,dipol:[],dipolar:[4,29,40,167,280,443],dir1:434,dir2:434,dir:[1,3,4,8,11,12,227,251,260,277,390,392,393,421,434,448],dirac:120,direc:390,direct:[],directli:[3,6,8,9,11,12,87,113,120,167,168,175,200,207,211,216,252,271,282,294,296,297,298,299,321,325,333,334,335,340,342,343,349,352,355,357,369,373,384,387,395,404,421,433,434,435,441,448],directoi:14,directori:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,60,170,193,212,255,261,264,278,287,288,328,332,334,335,339,346,348,349,355,356,358,365,366,377,380,381,382,386,390,391,392,393,396,406,408,409,410,421,423,424,425,434,448],disabl:[3,12,16,290,368,421,436],disadvantag:[6,188],disallow:[194,229],disappear:425,discard:[2,3,41,71,184,188,291,299,420,425,426],discontinu:[9,164,326,375],discourag:380,discov:[13,291],discret:[6,8,40,42,168,169,213,216],discuss:[],disk:[6,84,85,137,165,195,205,256,421],disloc:70,disord:[39,70],disp:[],dispar:394,disperion:[352,373],dispers:[3,6,7,9,142,252,318,319,343,352,373,378,384,393,407],displac:[],displace_atom:[],displace_box:59,displacemet:426,displai:[11,13,22,37,44,55,152,163,167,168,305,313,346,405],dispters:3,dissip:[6,206,213,252,287,288,341,353,361,378,379,405],dissolut:189,dist:[6,69,91,108,117,167,253,269,354,404,418,449],distanc:[3,6,7,9,12,20,21,29,39,43,45,46,47,48,49,51,53,54,55,56,58,59,61,63,64,66,69,71,72,73,74,75,76,77,81,86,89,90,93,103,104,105,106,108,114,115,116,117,118,120,133,139,142,144,145,146,147,151,166,167,168,169,177,181,184,185,189,190,191,192,194,195,196,199,205,211,216,226,227,228,229,233,241,251,252,256,260,261,268,269,270,273,274,275,276,277,278,285,286,288,289,290,293,295,296,297,298,299,300,304,318,319,321,324,326,328,329,330,333,336,337,338,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,356,357,359,360,361,362,363,367,368,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,386,387,388,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,421,423,426,432,433,437,441,443,447,449],distinct:[6,198,267,318,394],distinguish:[6,86,120,219,357],distort:334,distrbut:334,distribut:[],distro:[111,346,389,390],ditto:[8,11,12,14,15,16,17,18,115,190,421],div:8,divd:117,diverg:[3,12,39,270,288,425,443,450],divid:[3,6,16,41,91,112,117,121,141,142,152,163,169,181,182,183,188,194,251,286,293,298,318,326,328,358,393,432,440,448],divis:[6,216,339,367,377,420,423,441,448],dl_poli:7,dlambda:138,dlammps_async_imd:210,dlammps_bigbig:[12,39],dlammps_ffmpeg:[3,12,168],dlammps_gzip:[3,12,167,168,289,423,424,428],dlammps_jpeg:[3,12,168],dlammps_longlong_to_long:12,dlammps_memalign:[12,16],dlammps_png:[3,12,168],dlammps_smallbig:12,dlammps_smallsmal:12,dlammps_xdr:[12,167],dlen:433,dlmp_intel_offload:[12,16],dlo:[59,166,194,256],dlvo:[7,347,415],dm_lb:216,dmax:[278,324],dna:7,doc:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,22,37,40,42,55,57,59,63,66,68,75,87,90,93,102,104,105,106,107,109,111,112,114,117,119,121,123,124,137,139,141,144,145,146,152,163,167,168,169,170,172,173,174,179,180,181,182,183,184,185,186,195,205,213,214,224,229,230,234,235,239,246,247,248,249,256,259,270,275,278,281,282,283,292,296,299,301,303,305,313,317,326,327,328,333,334,335,338,346,348,349,355,356,358,363,364,366,367,380,381,382,384,386,389,390,391,396,405,406,408,410,412,421,423,424,425,426,428,431,432,433,440,441,448,449,450,451],docuement:394,dodgerblu:169,doe:[0,1,2,3,5,6,7,8,9,11,12,14,15,16,17,18,29,33,38,39,41,50,54,56,59,62,63,67,70,71,87,88,91,104,110,117,118,123,124,127,132,134,138,143,144,145,146,148,150,152,157,163,164,166,167,168,169,172,178,179,181,184,187,188,190,191,192,194,198,200,202,205,206,209,211,213,214,216,219,225,229,230,231,232,234,235,246,247,248,249,257,258,259,263,265,268,270,278,281,283,285,286,290,293,294,295,298,299,300,301,306,307,309,310,312,317,318,319,320,321,327,328,329,334,335,336,337,338,339,341,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,364,365,366,367,368,371,372,374,375,376,378,379,380,381,382,384,390,391,392,393,394,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,425,426,427,430,431,433,434,435,436,437,440,441,443,448,452],doegenomestolif:7,doesn:[3,7,8,12,144,167,179,184,185,275,327,329,333,335,348,356,366,392,393,406,408,409,410,423,425],dof:[3,8,112,123,124,137,181,270,449],dof_per_atom:[124,181],dof_per_chunk:[124,181],doff:[327,423],doi:[6,193],domain:[3,6,7,12,13,18,39,41,42,58,61,62,71,118,133,143,146,166,168,169,172,179,188,192,194,195,209,212,216,229,230,253,265,270,290,295,296,318,319,328,333,354,384,418,420,423,427,440],domin:[1,357,437],don:[0,8,11,12,13,116,147,175,200,214,259,299,380,421,423],donadio:282,done:[1,3,6,7,8,12,14,15,16,17,18,19,38,39,41,56,59,62,71,138,141,144,147,164,168,169,178,179,181,183,184,185,186,188,189,190,191,192,194,195,203,205,210,211,213,214,221,229,234,235,246,247,249,250,252,253,254,259,267,270,271,273,278,281,282,283,285,287,288,301,303,317,318,319,326,328,329,332,333,335,343,355,364,365,366,373,379,380,384,392,404,407,412,418,419,420,421,424,427,428,431,441,443,448,449],donor:363,dot:[121,140,175,200,208,228],doti:[339,390],doubl:[1,2,3,6,8,9,11,12,14,15,16,17,39,87,194,203,258,299,303,317,319,332,333,339,358,362,392,393,419,423,427,431,436,448,449],dover:178,down:[3,6,7,8,11,39,71,192,213,278,294,333,357,384,422],downhil:[324,325],download:[5,7,8,9,11,12,13,17,210,365,391],downsid:6,downward:267,dozen:[8,12,107,172,392,393],dpack_arrai:12,dpack_memcpi:12,dpack_point:12,dpd:[],dpde:222,dproduct:336,dr_ewald:[118,271],drag:[],dragforc:216,drai:[227,260],drain:[209,294,326],dramat:[59,166,189,190,191,192,194,229,278,281,282,319,333,384,420],drautz:339,draw:168,drawback:259,drawn:[167,168,169,206,418],drayleigh:[227,260],dreid:[],drfourth:105,drho:[113,334,355],drift:[6,103,105,206,207,213,214,225,268,278,432,440,443],drive:[11,12,176,192,194,208,229,251,257,270,297,328],driven:[6,156],driver:[6,12,14,15,172,203,210],drop:[3,169,353],droplet:364,drsquar:105,drude:[],dry:202,dsecriptor:365,dsf:[],dsmc:[],dstyle:256,dt_collis:216,dt_lb:216,dt_md:216,dt_srd:278,dtilt:[59,194],dtneb:437,dtqm:260,dtype:[115,190],dual:[17,278,333],dudarev:143,due:[1,3,6,9,10,12,16,17,19,40,54,57,58,61,66,70,71,74,75,81,86,88,89,90,93,102,103,104,105,106,110,116,118,120,121,122,123,125,127,130,131,132,133,134,136,137,139,143,144,147,148,167,168,172,175,176,183,187,189,190,191,192,193,194,195,200,201,202,203,206,207,210,211,213,214,215,216,219,220,221,225,226,227,228,229,233,241,251,254,256,268,269,270,272,275,277,278,279,281,282,283,284,285,287,288,290,294,295,297,298,299,301,319,324,326,328,329,330,350,353,355,359,360,364,378,379,384,390,392,394,395,404,407,408,410,413,415,416,418,420,423,424,425,432,437,440,441,443,448,449],duffi:290,duin:[9,261,266,392,393],duke:319,dummi:[12,29,409],dump1:428,dump2:428,dump:[],dump_atom:8,dump_custom:8,dump_modifi:[],dumpcustom:8,dumptimestep:428,dunbrack:[6,20,150,344,435],dunweg:[213,215],duplic:[2,3,14,15,16,17,18,19,41,42,145,188,207,251,423,447],dupont:[5,7,13],durat:[37,55,122,123,125,126,127,129,130,131,132,133,136,137,163,169,181,205,265,290,313,361,405],dure:[2,3,6,8,9,12,16,17,38,39,41,56,71,87,126,145,148,164,167,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,199,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,319,326,328,332,333,353,377,384,393,407,418,419,421,423,426,428,430,431,433,435,437,438,441,448,451,452],dvector:8,dvlo:415,dvx:6,dx_lb:216,dy3:143,dyamic:12,dyanam:6,dyanmic:437,dynam:[],dynamo:[5,334,355,380],dyne:447,dyre:374,dysam:426,e28637:29,e_1:339,e_2:339,e_b:358,e_e:357,e_hbond:363,e_i:[6,339,358],e_j:[6,339],e_k:[339,357],e_kl:6,e_lj:[335,352],e_n:[339,357],e_nn:357,e_pr:357,e_rebo:335,e_tors:335,eaa:304,eaat:151,each:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,57,59,61,62,63,64,66,67,68,70,71,72,73,74,75,76,77,78,80,81,83,85,87,89,90,93,94,95,96,97,98,99,100,101,102,103,104,105,106,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,131,132,133,134,136,137,138,139,140,141,142,143,144,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,225,226,227,228,229,231,232,233,234,235,236,237,238,239,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,261,262,263,265,267,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,288,289,290,291,292,293,294,295,296,298,299,300,301,303,304,306,307,308,309,310,312,313,314,317,318,319,321,325,326,327,328,329,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,410,411,412,413,414,415,416,417,418,420,421,423,424,425,426,427,428,430,431,432,433,435,437,438,440,441,443,447,448,449,450,452],eacn:[41,188],eam0d:252,eam3d:252,eam:[],eam_databas:13,eam_gener:13,eangl:441,earli:[41,181,183,184,185,186,188,264,271],earlier:[7,8,12,59,169,328,361,380,384,437],earliest:437,earth:357,easi:[6,7,8,11,13,87,121,167,173,174,175,176,184,187,200,208,209,211,213,214,272,281,282,283,295,298,300,327,423,426,431,433,449],easier:[8,9,13,16,167,168,252],easili:[8,11,168,169,294,328,420,430,439,448],eastwood:[318,319],eat:151,eatom:301,eaxmpl:6,eba:21,ebb13:151,ebb:21,ebond:[198,214,440,441],ebt:151,ec_ii:380,ec_ij:380,ec_jj:380,echo:[],eco:[392,393],ecoa:[392,393],ecoul:[107,198,214,392,393,441],ecp:[357,423],edg:[2,3,6,41,59,71,118,142,143,146,147,168,177,184,211,272,295,298,299,300,301,321,423,426,433],edge_histo:142,edge_threshold:142,edih:441,edim:286,edip:[],edit:[3,8,12,13,14,15,16,17,18,19,443],editor:13,edu:[7,9,11,13,355,378,389,392,393],edward:[9,17],eebt:151,eff:[],effect:[1,2,3,6,8,9,11,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,66,71,74,75,81,89,90,93,103,104,105,106,109,112,121,122,126,131,132,139,142,148,150,151,153,154,155,156,158,159,161,162,163,164,166,167,168,169,173,174,175,178,182,185,186,187,189,190,191,192,194,195,201,204,206,207,208,209,210,211,213,214,228,229,231,232,233,234,235,236,244,246,247,249,250,251,253,256,257,259,260,261,262,265,269,270,272,273,277,278,281,282,283,285,286,288,290,293,294,295,296,297,299,300,301,304,306,307,308,309,312,314,318,319,321,325,326,327,328,329,334,335,337,339,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,384,385,386,387,389,394,395,397,405,406,407,408,409,410,412,414,415,416,418,420,421,425,426,428,432,433,435,441,447,448,450],efffect:427,efficaci:39,effici:[0,1,3,6,7,8,10,12,15,17,18,39,58,61,67,112,167,168,169,192,194,198,207,229,253,255,265,270,273,278,318,319,324,329,333,339,347,349,364,369,373,394,430,452],effort:[5,7,424],efftemp:[96,97,130],efi:[392,393],efield:[],eflux:209,eggebrecht:349,ehb:[392,393],eigensolv:3,eigenvalu:[252,253,318],eigtol:3,eik:138,eim:[],eimp:441,einstein:[265,288],either:[1,2,3,4,6,8,9,11,12,14,15,16,17,22,33,41,44,50,59,63,71,107,113,116,118,120,121,124,126,127,143,144,147,152,157,164,167,168,169,172,180,182,183,185,186,188,191,192,193,194,195,205,211,212,216,220,226,227,229,230,233,247,251,267,270,272,273,274,275,278,285,292,296,299,303,305,316,318,319,321,325,326,330,333,339,341,347,355,364,365,367,378,379,380,384,388,390,408,410,412,418,421,423,425,426,427,430,432,435,438,440,448],ejtehadi:[347,360,394],elaplong:[173,174,211,426,441,448],elaps:[3,173,174,175,176,187,194,200,208,209,211,213,214,226,256,272,281,282,283,295,296,298,300,397,418,426,428,429,433,437,441,448],elast:[],elba:29,electr:[6,172,178,200,214,318,319,358,392,393,416,443,447],electrolyt:[9,415],electron:[3,6,7,9,13,40,96,97,113,118,128,130,135,172,178,197,198,214,215,230,240,248,263,284,290,325,327,334,336,348,352,355,357,358,380,390,391,410,416,423,443,447],electron_integr:178,electron_temperatur:178,electron_unit:357,electroneg:[6,261,262,263,348,358],electronic_dens:3,electronic_specific_heat:3,electronic_thermal_conduct:3,electrostat:[6,9,16,18,179,205,261,263,264,291,318,319,347,352,357,369,377,379,393,415],eleftheri:270,elem1:[358,380,396],elem2:[358,380,396],element1:[267,334,355],element2:[267,334,355],element:[3,6,7,8,13,63,81,89,103,105,112,117,119,120,121,122,123,124,125,126,127,131,132,133,134,136,137,140,167,168,169,170,172,178,182,183,186,252,267,285,292,334,335,339,348,355,356,357,358,364,365,366,380,381,382,386,390,391,392,393,396,406,408,409,410,443,448,451],elementn:[334,355],elementset:178,elev:437,elif:[120,303],elig:[3,179,189,190,202,205,363],elimin:[3,6,71,206,213,214,270,273,287,288,418],elj:352,ellad:9,elliot:9,elliott:9,ellips:[4,6,9,82,123,165],ellipsoid:[3,4,6,7,13,40,42,82,113,123,144,165,167,213,231,234,237,238,246,270,278,323,326,360,379,394,405,423,433,450],ellipsoidflag:423,elong:[198,214,441],elp:[392,393],els:[3,7,8,12,71,107,116,117,119,168,180,181,182,183,184,185,186,205,229,270,278,290,291,292,301,303,318,364,422,434,448,451],elsewher:[8,226,278,380,391,392,393,435,441,448],elt:380,emac:[],email:[0,3,5,7,8,11,358],emb:[3,9,299],emb_lin_neg:380,embed:[3,5,7,11,12,13,29,88,142,290,334,355,358,377,380,381,382,390,405,413,421],embt:151,emi:[7,9],emol:[392,393,441],emphas:361,empir:[178,282,335,357],emploi:[9,252,265,409],empti:[3,57,71,146,270,318,329,368,423,434,435,448],enabl:[3,6,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,43,45,46,47,48,49,50,51,53,54,55,56,60,61,62,64,67,78,80,83,87,96,97,98,99,100,101,105,109,111,112,120,122,123,126,128,130,131,135,136,138,142,150,151,153,154,155,156,157,158,159,161,162,163,164,167,169,170,172,173,174,175,176,177,179,185,187,189,190,191,193,195,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,222,223,225,227,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,260,261,262,263,264,265,266,267,269,270,272,273,274,275,277,278,281,283,284,285,286,287,288,290,291,293,294,295,296,297,299,302,304,306,307,308,309,310,312,313,314,319,326,328,332,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,421,424,425,430,432,448,452],enclos:[2,6,12,146,167,258,303,380,419,421,431,448],encod:[13,39,42,167,168,169,259,364],encompass:[3,6,40,57,59,116,145,292,405,426],encount:[3,8,12,59,183,332,428,448],encourag:[7,8,264,276],end12i:113,end12x:113,end12z:113,end1i:113,end1x:113,end1z:113,end2i:113,end2x:113,end2z:113,end:[1,2,3,5,6,8,11,12,15,16,17,18,19,38,40,41,57,59,71,113,147,148,151,166,167,168,169,170,173,174,182,183,185,186,191,194,198,206,211,213,214,215,228,229,230,241,257,269,270,274,278,281,282,283,284,286,289,290,293,297,300,301,317,318,327,328,332,333,353,355,360,394,396,397,411,413,418,421,423,424,425,426,428,430,431,435,439,441,443,448,452],end_of_step:8,endbondtors:[3,151,157,423],endif:8,energet:[191,335,393],energi:[0,1,2,3,4,5,6,7,8,9,12,13,20,21,23,24,25,26,27,28,29,30,31,32,35,36,38,40,43,45,46,47,48,49,51,53,54,56,63,65,69,82,83,84,85,86,87,88,91,94,95,96,97,98,99,101,102,107,108,109,110,112,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,144,148,150,151,152,153,154,155,156,158,159,161,162,163,164,167,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,304,306,307,308,309,312,314,318,319,324,325,326,328,329,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,404,405,406,407,408,409,410,412,413,414,415,416,418,421,423,428,432,433,435,437,439,440,441,443,447,448,451],energy_update_freq:393,enforc:[6,57,58,104,166,167,168,170,172,179,191,194,229,250,252,262,270,273,303,318,369,420,448,449],enforce2d:[],eng:[11,65,69,108,167,203,301,303,348,382],eng_previ:303,engin:[178,194,255,274,287,355,381],engr:[392,393],enhanc:[174,178,418],enlarg:[59,168],enough:[3,40,61,86,144,145,147,188,214,256,260,265,270,291,295,296,299,329,333,349,388,423,427,428],enpub:355,ensembl:[],ensight:6,ensur:[3,6,120,167,179,192,205,206,229,289,319,339,354,377,404,406],enter:[57,134,358,437],enthalpi:[231,232,355,440,441,448],entir:[0,2,3,6,11,14,15,41,42,63,88,109,110,112,116,118,121,124,143,144,169,172,173,174,181,184,185,188,191,193,202,205,206,209,213,214,225,229,231,232,233,234,235,251,253,255,268,270,276,290,292,303,333,352,373,384,407,423,431,432],entireti:[367,412],entiti:[6,8,40,42,167,270],entri:[3,8,38,42,56,65,69,79,92,108,115,118,142,164,169,183,184,185,193,260,301,327,339,356,380,386,393,396,406,407,408,409,410],entropi:437,entry1:[38,56,169,346,407],entry2:169,entryn:169,enumer:[145,167],enumuer:6,env:333,environ:[1,3,6,11,12,16,17,18,168,207,212,251,333,334,339,346,348,356,357,390,408,420,434,448],epair:[107,169,359,363,392,393,441],epen:[392,393],epfl:[207,212],epp:352,epq:352,eps0:415,eps14:377,epsilon0:410,epsilon:[3,6,36,45,46,50,53,54,87,150,173,174,205,270,278,295,299,324,326,338,344,345,347,349,350,351,352,360,362,363,364,367,368,369,370,371,372,373,374,375,376,377,383,387,394,395,400,406,412,414,415,432,443,447],epsilon_0:416,epsilon_14:344,epsilon_:394,epsilon_d:350,epsilon_i:[360,384,394],epsilon_i_:394,epsilon_i_a:[360,394],epsilon_i_b:[360,394],epsilon_i_c:[360,394],epsilon_ij:384,epsilon_j:[360,384,394],epsilon_j_:394,epsilon_j_a:[360,394],epsilon_j_b:[360,394],epsilon_j_c:[360,394],epsilon_lj:394,epton:389,eqch:139,eqeq:[392,393],eqp:352,eqq:352,equal:[2,3,6,8,11,12,17,39,41,54,63,65,68,69,76,79,86,87,91,92,108,110,115,117,119,121,123,138,140,144,168,169,172,173,174,175,176,179,182,183,186,187,188,192,194,195,200,205,206,208,209,211,213,214,216,219,220,226,227,233,243,251,253,256,258,260,261,262,265,267,269,270,272,274,281,282,283,286,287,288,290,292,293,295,298,300,301,303,317,326,328,329,330,332,333,348,353,359,360,363,378,383,390,392,393,394,396,397,407,412,416,419,420,421,423,425,426,430,431,434,437,439,441,448,449],equat:[3,6,7,8,9,91,112,118,143,152,163,172,192,198,199,207,213,214,216,219,227,228,229,230,233,247,251,253,260,261,265,273,278,286,290,293,295,296,298,300,312,318,319,347,352,353,357,358,361,366,378,379,380,384,394,399,400,402,403,411,416,443],equi:230,equidist:228,equil:[3,261,322,430,452],equilater:433,equilibr:[3,4,5,6,7,9,59,91,144,172,179,182,191,192,205,227,229,230,247,248,260,261,262,263,286,287,288,293,348,349,392,393,419,433],equilibria:293,equilibribum:[189,190],equilibrium:[1,3,4,6,7,21,24,26,27,28,29,32,35,36,38,43,47,48,49,51,53,56,59,127,128,151,153,192,194,205,206,207,214,216,229,233,247,260,265,269,273,274,275,278,285,286,288,293,304,306,309,312,348,380,386,443],equilibrium_angl:8,equilibrium_dist:8,equilibrium_start:178,equival:[6,12,13,59,142,146,169,183,186,192,194,205,213,229,247,257,269,270,298,353,357,408,410,423,426,431,432,441,443],equlibrium:6,equliibr:[261,263],er3:143,eradiu:[40,113,357,423],eras:[272,287],erat:[194,379],erc:349,erfc:[349,369,384],erforc:113,erg:447,erhart:[179,355,408,410],ermscal:336,ernst:9,eror:3,eros:380,erose_form:380,erot:[],errata:[408,410],erratum:295,erron:3,error:[],erta:361,ervel:[113,423],escap:[195,443],especi:[8,11,16,132,144,172,179,188,205,260,265,268,269,333,420],espresso:[9,264],essenti:[8,11,12,27,88,125,126,127,130,131,132,133,134,136,153,182,233,252,294,319,335,349,369,410,428,441],essex:29,establish:[87,209],estim:[1,3,6,10,12,38,41,56,91,121,178,188,199,227,278,285,318,319,324,384,393,407,437,441],esu:447,esub:380,eta:[6,216,229,260,261,263,294,356,358,360,390,409,447],eta_dot:229,eta_ij:390,eta_ji:358,etag:[40,423],etail:441,etap:229,etap_dot:229,etc:[1,2,3,6,7,8,9,10,11,12,13,15,16,17,39,40,42,54,61,68,89,90,91,94,109,110,113,115,121,122,124,125,126,127,128,130,131,132,133,134,136,138,144,146,147,148,157,167,168,169,172,178,179,180,181,183,184,185,186,189,190,194,195,203,205,206,213,229,256,267,271,290,291,299,303,317,318,326,327,328,329,331,355,356,364,377,379,388,392,393,406,408,410,418,421,423,424,425,430,432,433,437,439,440,441,443,447,448,450,452],ethernet:18,etol:[326,328,418,437],etot0:260,etot:[6,94,96,97,110,121,130,169,198,214,227,260,440,441],eu2:143,eu3:143,euler:[326,328],eulerian:178,euqat:398,europhi:216,evalu:[2,3,11,12,38,56,71,87,88,91,107,117,120,124,134,142,144,167,168,169,173,174,175,176,178,180,181,182,183,184,185,186,187,194,200,206,208,209,211,212,213,214,252,258,261,272,281,282,283,292,295,298,300,301,303,318,319,324,326,333,384,390,407,418,419,421,425,426,428,430,431,432,433,437,439,441,448,449],evalut:[303,421],evan:[132,247],evanseck:[6,20,150,344,435],evapor:[],evaul:[8,326],evdwl:[107,392,393,441],even:[3,6,8,12,15,16,17,18,34,39,41,52,57,59,61,63,70,71,119,145,146,160,164,167,169,172,173,174,179,180,181,183,184,185,186,188,189,190,192,194,195,198,211,214,227,229,230,252,265,267,270,271,278,286,290,293,295,299,301,311,318,324,326,328,333,338,357,358,361,364,384,394,413,423,424,426,428,429,430,432,433,435,438,440,441,443,452],evenli:[3,41,121,164,188,216,367,413,423],event:[],eventu:[3,6,12,15,146,261,437],ever:[54,56,212,278],evera:[347,360,394,405],everi:[0,1,2,3,6,8,11,12,15,16,39,41,71,72,91,113,119,132,147,167,168,169,170,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,199,202,203,205,207,209,210,211,216,217,225,229,230,233,250,251,252,256,257,258,259,260,261,262,263,265,267,268,270,271,273,274,278,280,281,282,283,284,285,286,289,290,291,292,293,301,303,317,319,328,329,330,333,353,354,364,377,392,393,401,417,418,419,423,425,427,428,430,431,432,437,438,439,441,448,452],everyth:[8,107],everywher:[116,371],eviri:357,evolut:[207,216,253,418],evolv:[216,253,291],ewald:[2,3,5,6,7,8,12,88,110,118,121,291,318,319,326,340,342,343,349,352,357,369,373,387,395,405,407,425],ewald_disp:352,ewalddisp:3,exact:[22,41,44,71,138,147,152,188,191,206,207,213,214,215,256,265,266,278,290,305,318,346,425,430,437,450,452],exactli:[3,6,12,14,17,38,41,56,59,71,91,123,128,135,144,164,173,174,183,188,194,199,206,213,214,215,230,240,241,248,252,260,278,283,284,297,333,346,353,355,361,364,367,378,384,407,425,426,433,437,448],exager:443,examin:[6,8,191,252],examp:[421,448],exampl:[],exce:[3,6,16,17,18,41,58,71,146,181,184,185,188,192,194,199,202,229,252,278,326,333,423,448],exceed:[3,41,59,188,194,229,278,431],excel:357,except:[1,2,5,6,8,11,14,16,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,38,40,41,43,44,45,46,47,48,49,51,53,54,55,56,59,60,71,89,90,108,109,112,117,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,144,148,150,151,152,153,154,155,156,158,159,161,162,163,164,166,167,169,172,175,181,182,183,187,188,192,194,201,204,205,208,211,213,215,229,230,231,232,233,234,235,236,240,241,244,246,247,248,249,253,262,263,270,272,273,275,278,281,283,284,290,294,301,303,304,305,306,307,308,309,312,313,314,318,319,321,323,327,328,329,331,332,333,334,335,337,340,341,342,343,344,345,346,347,348,349,351,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,381,385,386,387,389,392,393,394,395,397,405,406,407,408,409,410,412,414,415,416,418,420,421,423,425,426,428,431,432,433,434,435,437,441,443,447,448,449,451],excess:357,exchang:[2,3,6,8,9,61,62,172,178,179,205,213,262,270,286,290,293,318,333,357,438],exchange:318,excit:[9,357],exclud:[3,6,9,12,16,17,63,71,112,120,124,131,132,148,167,181,184,189,190,217,225,255,268,270,285,296,301,326,327,329,341,361,364,378,379,384,404,435],exclus:[1,3,9,12,16,87,333,348,432],excurs:418,exectubl:12,execut:[1,2,3,4,6,8,11,12,17,60,145,168,210,264,303,317,320,332,419,421,431,434,437,448],exemplari:206,exemplifi:357,exert:[6,211,214,265,297,298,299,319],exhaust:[178,332,448],exhibit:[229,325,357,432],exist:[3,6,7,8,11,12,13,37,55,59,68,70,144,145,163,168,169,172,177,187,190,192,195,205,255,256,258,301,304,306,307,309,313,322,327,333,364,392,413,419,421,423,424,425,434,435,436,448,449,450],exit:[2,3,11,12,41,57,167,188,317,332,421,422,431,440,448],exlanatori:3,exp:[],expand:[],expans:[12,120,167,434],expect:[1,3,8,12,13,14,15,16,17,18,19,41,42,71,102,125,136,142,164,188,200,205,207,226,251,257,259,260,265,270,301,319,329,346,380,384,418,421,423,425,428,432,437,448],expens:[6,10,71,169,251,255,270,290,301,318,319,329,333,421],experi:[6,13,15,17,187,195,210,219,228,257,269,270,324,328,353,384,432,437],experienc:[6,12,218,219],experiment:[318,333,437],expert:12,expertis:7,explain:[1,3,6,8,11,12,16,18,41,59,63,65,68,69,71,72,73,76,77,79,86,92,124,132,164,167,168,169,172,181,182,186,188,190,192,194,229,251,259,270,275,301,303,317,318,321,327,328,332,338,355,367,397,412,416,421,424,425,428,430,433,443,448,452],explan:[3,6,59,113,120,167,181,228,251,364,417,420,421,423,432],explanatori:[3,8,117,167,180,181,183,184,185,270,327,420,448],explantori:[3,266],explic:383,explicit:[6,9,11,22,44,77,87,113,116,138,152,173,174,194,305,323,335,336,339,344,346,355,357,368,378,411,417,420,424,427],explicitli:[3,6,8,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,71,109,112,122,131,134,142,144,150,151,153,154,155,156,158,159,161,162,164,167,169,175,184,187,194,201,204,206,208,213,229,231,232,233,234,235,236,244,246,247,249,259,260,262,270,272,273,281,283,284,290,294,304,306,307,308,309,312,314,327,333,334,335,337,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,381,384,385,386,387,389,394,395,397,398,399,400,401,402,403,405,406,407,408,409,410,411,412,414,415,416,423,425,432,433,435,436,443],explictli:[16,436],exploit:[9,15,17,253],explor:[118,143],expon:[3,261,263,355,360,363,377,383,395],exponenti:[87,390,406,416,437,448],expos:11,exposit:[178,353,354],express:[6,120,130,144,173,174,192,226,251,261,290,296,303,339,355,357,371,380,396,405,448],expressiont:339,extend:[],extens:[3,6,9,17,44,45,46,53,55,63,82,83,84,87,88,91,94,97,98,107,109,117,119,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,172,175,176,179,186,187,193,196,200,203,204,205,207,208,209,211,213,215,227,229,233,241,251,252,268,269,270,272,274,275,277,281,282,283,284,285,287,288,290,292,295,299,300,360,380,393,394,396,440,441],extent:[1,3,41,45,57,71,142,146,167,177,184,188,211,297,300,318,321,335,407,420,423,426],exterior:[3,6,299],extern:[],extra:[3,6,8,12,16,17,40,41,46,61,71,102,109,110,112,118,121,122,123,125,127,130,131,132,133,134,136,137,143,144,145,146,150,169,183,188,190,229,258,259,260,270,278,326,327,330,331,352,361,364,367,380,384,420,421,423,426,435,443,448],extract:[3,6,11,13,36,63,87,107,115,117,119,173,174,263,328,349,358,380,396,421,428,440],extract_atom:11,extract_comput:[11,421],extract_fix:11,extract_glob:11,extract_vari:11,extramak:[12,15],extrapol:1,extrem:[1,3,6,17,58,168,192,194,229,288,357,409,443],extrema:377,extrins:178,f77:[5,7,12],f90:[5,7,12],f_1:6,f_5:[140,292],f_a:[408,409,410],f_ave:117,f_c:409,f_f:410,f_fix_id:260,f_harm:288,f_i:390,f_id:[6,71,117,119,167,172,180,181,182,183,184,185,186,224,280,292,441,448],f_ij:390,f_indent:186,f_int:287,f_jj:91,f_k:390,f_langevin:290,f_max:[260,265],f_msst:227,f_r:[214,408,409,410],f_sigma:339,f_solid:288,f_ss:6,f_temp:214,face:[3,6,57,59,71,132,142,146,177,184,185,295,297,298,299,300,321,360,380,394,423,426],face_threshold:142,facet:142,facil:[0,12],facilit:[6,13],fact:[6,8,16,207,278,288,361,435],factor:[1,3,6,12,18,24,28,32,35,36,39,41,46,47,57,58,59,87,91,102,108,115,118,120,138,143,146,150,161,167,168,169,173,174,182,188,192,194,195,205,210,213,215,216,227,229,230,233,253,257,269,273,278,282,286,293,294,295,299,309,319,321,333,335,336,339,340,342,344,349,350,351,353,357,361,368,369,380,384,386,387,393,395,397,406,411,420,423,426,427,432,435,437,438,441,443,447,448],factori:[3,421],factoriz:318,fail:[3,11,12,59,148,192,195,318,326,328,351,393,421],fairli:[11,384,432,437],faken:73,falcon:210,fall:[3,6,169,183,256,421],fals:[86,301,303,448],fame:8,famili:420,familiar:[0,11],fan:390,far:[3,6,12,17,57,59,61,86,167,169,170,188,189,190,192,195,205,229,251,269,270,278,295,306,309,324,328,329,412,421,423,428,441],farago:213,farrel:[408,410],farther:167,fashion:[6,8,41,71,144,169,172,173,174,179,184,188,190,195,205,207,211,226,227,229,231,232,233,234,235,243,246,247,248,249,259,260,262,270,274,277,280,288,290,294,295,296,298,300,328,364,378,426,435,448,451],fasolino:366,fast:[6,7,9,12,13,17,39,167,238,260,291,318,319,341,378,379,405,407,425,430,432,441,449,452],faster:[1,6,9,10,11,12,14,15,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,43,45,46,47,48,49,51,53,54,56,61,63,105,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,167,169,172,175,187,188,201,204,208,212,213,229,231,232,233,234,235,236,244,246,247,249,257,261,262,270,272,273,278,281,283,285,287,290,294,304,306,307,308,309,312,314,318,319,330,331,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,405,406,407,408,409,410,412,414,415,416,418,432,436,443],fastest:[6,14,17,132,184,290,291,333,420],fatal:[3,440],fault:[70,393],faulti:12,fava:360,favor:191,favorit:7,fbmc:285,fcc:[],fcm:[243,448],fdirect:198,fdotr:365,fdti:87,fe2:143,fe3:143,fe_md_boundari:178,featu:8,featur:[],fecr:355,feedback:[7,210],feel:[7,210,211,219,251,299,301,328,384],felling:382,felt:299,femtosecond:447,fene:[],fennel:[349,369],fep:[],ferguson:[6,150,435],fermi:[1,12,15,130,333,410],fermion:[9,357],ferrand:[9,13],few:[1,3,4,5,6,7,10,11,12,13,14,17,18,39,170,180,181,182,183,184,185,186,214,229,256,259,261,273,292,318,326,327,328,335,420,423,428,432,434,448,450],fewer:[1,3,11,15,16,61,219,432],fewest:3,fextern:203,feynman:253,fff:421,ffield:[348,358,392,393],ffmpeg:[3,12,168],ffplai:168,fft:[1,3,7,12,14,15,88,109,110,121,252,318,319,432],fft_inc:[12,319],fft_lib:12,fft_path:12,fftbench:318,fftw2:12,fftw3:12,fftw:[11,12],fhg:[7,9],fictiti:[6,175,176,200,203,207,253,269,349,369,373,404],field1:[424,428],field2:424,field:[],fifth:[275,386],figur:[1,3,8,11,12,260,420,421],fij:352,file0:251,file1:[11,13,251,289,303,327,428,430,434],file2:[11,13,289,303,327,428,430,434],file:[],filenam:[3,12,13,38,41,56,164,167,168,169,170,178,181,182,183,184,185,186,188,193,251,255,258,261,262,263,266,267,270,271,289,290,315,316,317,328,334,335,339,349,355,356,358,366,380,381,382,386,390,391,392,393,396,406,407,408,409,410,419,420,421,424,425,430,434,441,448,450,451,452],filennam:430,filep:[3,167,169,425,430,452],filepo:267,fill:[7,144,168,256,290,321,329,339,393,426],filter:[169,178],final_integr:8,final_integrate_respa:8,finchham:[6,126,351],find:[0,3,4,6,7,8,11,12,13,14,16,38,39,56,61,71,73,87,117,147,164,170,179,191,192,202,205,228,251,257,265,269,324,326,328,329,349,364,369,373,380,405,407,443,448],find_custom:8,fine:[16,17,148,175,200,288,329,333,448],finer:[120,144,448],finest:318,finger:[144,166,226,426],finish:[6,11,41,188,303,315,317,318,330,332,333,412,428,448,449],finit:[],finni:[7,355,405],finvers:198,fiorin:[9,193],fire:[324,325,326,328,437],firebrick:169,first:[0,1,2,3,5,6,8,9,11,12,14,15,16,17,21,38,39,41,42,45,46,54,56,57,59,61,62,71,81,88,91,103,104,105,112,116,117,121,129,132,138,140,142,143,145,146,147,151,164,167,168,169,170,172,179,181,182,183,184,185,186,188,191,194,205,206,211,216,226,227,228,229,251,253,258,259,260,262,267,270,273,274,275,276,278,279,280,287,288,289,290,292,296,301,303,304,310,321,326,327,328,329,332,333,334,335,338,339,340,342,344,346,348,349,355,357,358,361,362,365,366,368,369,373,378,379,380,382,384,386,390,392,393,396,404,406,407,408,409,410,418,419,420,421,423,424,425,428,430,432,435,436,437,440,441,443,448,449,450,452],fischer:[6,9,19,20,150,344,435],fit:[3,6,9,12,38,56,164,269,278,335,339,366,380,384,400,407,409,431,448],five:[73,130,260,327,339,381,423,437],fix:[],fix_adapt:[138,174,377],fix_atom_swap:205,fix_bal:62,fix_deposit:[3,179,205,256],fix_evapor:[179,205],fix_flux:178,fix_gcmc:[179,327],fix_gl:207,fix_gld:207,fix_grav:256,fix_id:[3,192,227,229,231,232,233,234,235,257,260],fix_modifi:[],fix_mov:[166,296],fix_nh:8,fix_npt:207,fix_nvt:[179,205],fix_poem:[3,6],fix_pour:[3,195],fix_qbmsst:9,fix_qeq:[3,348],fix_rattl:273,fix_reax_bond:392,fix_rigid:[219,338],fix_saed_vtk:271,fix_setforc:8,fix_shak:273,fix_srd:3,fix_styl:233,fix_temp_rescal:284,fixedpoint:[192,229],fixextern:203,fixid:178,fji:352,flag1:[197,331],flag2:[197,331],flag:[3,8,11,12,14,15,16,17,18,40,66,74,75,81,86,89,90,93,103,104,106,118,139,143,147,167,168,169,170,186,191,193,197,210,213,217,219,225,226,252,259,270,275,277,278,285,289,298,301,316,319,327,331,332,333,335,363,368,380,404,418,420,421,423,424,425,427,428,429,433,448],flag_buck:343,flag_coul:[343,352,373],flag_lj:[352,373],flagfld:[341,378,379],flaghi:[3,341,378,379],flaglog:[341,378,379],flagn:197,flagvf:[341,378,379],flat:[6,290,295,296,300],flavor:[2,7,12,384],fld:[9,295,341,378,379],flen:336,flex_press:336,flexibl:[3,6,8,145,168,181,184,193,207,230,286,293,357,409,441],flip:[3,6,194,229,297,298],floor:448,flop:12,floralwhit:169,flow:[],fluctuat:[6,64,87,192,205,206,213,216,229,233,251,252,288,290,312],fluid:[],fluid_veloc:220,flush:[3,169,440],flux:[],flv:168,fly:[7,9,12,41,168,172,178,195,198,270,273,291,339,441,443],fmackai:9,fmag:196,fmass:253,fmax:[326,441],fmomentum:198,fmsec:[2,169,213,214,226,229,257,270,281,282,432,442,447,449],fname:317,fno:12,fnorm:[326,441],fnpt:198,fnvt:198,foce:364,fock:336,focu:273,fogarti:[9,263,393],foil:[120,251,396],fold:[276,432],folk:7,follow:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,35,36,38,41,42,43,45,46,47,48,49,51,53,54,56,59,63,64,70,71,73,91,96,97,113,116,117,119,120,121,123,124,130,132,137,140,142,144,145,150,153,154,155,156,158,159,161,162,164,167,168,169,172,178,179,180,181,182,183,184,185,186,188,193,194,195,198,199,203,205,206,207,210,212,213,214,216,219,227,229,233,234,235,246,247,249,252,253,255,258,259,260,261,263,265,267,269,270,271,273,280,281,282,283,286,287,288,289,290,292,293,301,302,306,307,308,309,312,314,316,321,323,326,327,328,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,418,420,421,423,424,425,426,428,430,431,432,435,437,438,439,443,448,449,451],foo:[4,8,11,12,167,168,203,421,434,448],foot:6,footprint:[12,333],fopenmp:[12,16,18],forc:[],force_uvm:17,forceatom:219,forcefield:[269,363],forcegroup:216,forcezero:324,ford:352,forestgreen:169,forev:71,forget:[214,443],forgiv:229,form:[2,3,6,8,12,16,19,22,44,54,63,66,74,75,77,81,87,89,90,93,103,104,106,116,120,121,138,139,148,152,169,172,173,174,190,206,207,213,215,219,226,247,252,263,265,269,270,290,295,299,304,305,312,323,325,327,328,335,336,339,346,355,357,359,363,364,368,380,382,386,387,390,392,393,394,396,397,405,407,408,409,410,415,417,420,421,423,428,433,440,443,448],formal:[6,78,80,91,206,207,213,229,253,278,286],format:[2,3,6,7,8,9,12,13,22,38,41,44,56,68,77,152,164,167,168,169,170,181,183,184,185,186,188,190,252,255,259,261,263,266,270,271,289,290,301,302,305,323,327,328,334,335,339,346,355,358,368,380,382,384,391,392,393,395,396,407,413,420,421,423,424,425,428,439,440,441,448,450],former:[6,12,16,39,41,169,188,290,294,339,341,429,435,448],formerli:[7,13],formul:[1,64,121,175,200,213,229,247,261,263,269,273,289,318,335,339,355,357,360,380,389],formula:[2,3,6,7,13,21,22,37,44,54,55,70,73,87,89,90,91,94,96,97,106,112,118,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,143,144,149,151,152,163,167,173,174,175,176,181,182,183,186,187,194,200,208,209,211,213,214,226,251,252,258,267,272,276,278,281,282,283,292,295,298,300,301,303,304,305,307,313,321,327,335,336,338,339,344,345,346,347,352,353,355,356,360,361,362,363,365,368,369,371,372,373,375,376,378,379,380,383,384,385,394,395,397,405,406,408,409,410,414,415,416,419,423,426,433,440,441,447,448,449],forth:[1,6,11,12,13,14,15,332,421,426,430],fortran:[3,6,9,11,12,13,203,355,364,380,392,393],fortun:8,forward:[3,8,87,317,328,333],foster:[339,389,390],foul:147,found:[3,6,9,12,73,138,167,191,193,205,210,216,252,285,291,303,317,329,346,349,352,418,424,425,440],four:[6,11,54,81,103,104,120,140,227,290,312,327,328,418],fourier:[],fourth:[6,105,269,275,285,344,386],fox:[6,118,150,403,435],fphi:[38,56,407],fpic:12,fplo:[38,56,407],fprime:407,fqdn:212,fqq:352,frac:[198,214,411,443],fraction:[1,3,6,8,12,16,39,41,80,109,121,147,166,168,169,179,189,190,191,192,227,256,260,267,268,278,283,284,321,328,333,339,341,361,378,379,428,433],fragment:[42,210,267],frame:[83,120,169,178,227,260,297,360],framer:[168,169],framework:[5,207,334,396],franc:9,fraunhof:9,free:[5,6,7,9,13,29,60,63,70,87,138,174,251,278,287,288,289,290,325,328,336,357,377,390,415,420],freedom:[3,6,8,94,96,97,99,101,102,112,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,181,191,198,205,207,213,214,219,229,230,233,234,235,246,247,249,253,255,270,273,281,282,283,288,326,352,441,443,449],freeli:[0,6,7,12,123,137,142,168],freez:[],frenkel:[205,288],freq:177,frequenc:[3,6,16,39,169,241,252,253,260,265,316,353,357,393,418,432,437,448,451],frequent:[3,64,67,70,72,73,77,88,120,169,189,190,202,286,293,384,430],fri:[227,260],friction:[4,5,6,10,42,172,207,213,260,265,270,290,294,296,361],from:[],front:[227,260,297],frontend:[168,264],frozen:[6,112,148,204,206,214,329,359],fs2:[6,91],fscale:210,fstr:448,fstring:421,ftol:[326,328,418,437],fuchsia:169,fuction:349,fudg:273,fugac:205,fugacity_coeff:205,fulfil:6,full:[1,2,6,9,12,17,38,39,40,91,168,182,193,216,251,318,319,333,339,355,357,358,360,411,423,425,430,431,435,437,443,451],full_energi:[3,205],fuller:326,fulli:[3,6,9,78,207,212,251,326,328,349,390,391,450],fulton:355,fumi:340,func:[421,448],funcfl:355,functino:6,functionaliri:193,fund:[0,7],fundament:[278,447],further:[3,6,8,12,13,61,63,71,86,105,107,116,168,169,172,181,183,184,185,186,189,195,199,216,220,253,261,271,278,290,292,301,319,324,326,327,328,329,334,338,348,404,418,437,438,448],furthermor:[27,153,357],furthest:61,futher:3,futur:[],g_ewald:3,g_ewald_6:3,g_ewald_disp:3,g_jik:390,g_p:290,ga3:143,gaa:339,gahler:325,gai:[3,360,405],gain:285,gainsboro:169,galindo:383,game:210,gamma0:29,gamma:[3,6,29,213,216,220,252,260,261,263,265,294,353,356,360,380,383,399,402,403,406,408,410,441],gamma_:[3,290,296],gamma_ijk:408,gamma_n:[296,361],gamma_p:[3,290],gamma_t:[296,361],gammaa:383,gammafactor:216,gammar:383,gan:[390,406,408,410],gan_sw:390,gan_tersoff:390,ganzenmuel:[7,9],ganzenmul:9,gao:[6,20,150,344,435],gap:[164,378,379,391,396],gap_2014_5_8_60_17_10_38_466:391,gap_exampl:391,gaseou:7,gass:205,gather:[11,431],gather_atom:11,gather_scatter_loop_unrol:12,gathert_atom:11,gauch:156,gauss:[],gaussian:[6,40,63,91,103,105,206,207,213,253,269,278,282,300,318,353,354,357,359,391,405,418,448,449],gave:[3,384],gaybern:[],gcc:17,gcmc:[],gcore:198,gd3:143,gdot:379,gdrude:198,ge4:143,gec:[408,410],gen:[229,230],gener:[],genom:7,gentler:[295,298,300],gentli:356,geom:[6,318,354,418,449],geometr:[3,6,7,8,42,57,59,71,134,135,144,146,167,169,175,184,185,187,188,195,200,209,229,234,235,246,247,249,270,272,281,282,283,299,301,318,321,328,338,341,345,347,349,352,357,360,362,367,369,370,371,372,373,374,375,376,377,378,379,383,384,394,397,411,412,414,415,423,425,426,433,441,448],geometri:[3,6,7,13,25,41,71,132,144,184,188,189,190,192,195,211,321,384,423,426],georg:[7,9],georgia:13,gerber:377,germani:[9,14],germann:[233,371,418,437],germano:360,gerolf:13,get:[],get_natom:[11,421],getenv:448,gettimeofdai:12,gewald:[6,318],gezelt:[349,369],gf100:14,gf104:14,gf200:14,gflop:12,gflp:12,ghost:[3,6,7,12,16,58,61,62,73,142,147,192,194,214,229,259,270,271,318,329,333,353,354,357,361,368,428,433,443],ghostwhit:169,ghz:10,giacomo:9,gif:[4,168],gifsicl:168,gigabit:18,gillan:396,gingold:[399,400,402],gio:2,git:[7,12],github:[13,17,193,207,212,391],give:[0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,29,54,71,113,124,127,131,144,167,169,175,177,181,182,183,186,192,194,207,229,247,251,252,257,265,267,270,292,318,319,326,329,330,333,335,339,354,357,363,364,380,384,394,408,409,410,418,420,421,423,433,437,443,449],given:[3,5,6,7,9,10,11,12,16,17,22,27,37,44,55,63,64,67,71,113,120,121,138,142,146,152,153,163,164,167,169,172,179,181,184,189,190,192,194,195,199,205,206,207,208,210,216,223,226,228,229,233,250,251,252,253,260,261,267,269,273,275,276,278,280,285,290,291,294,295,296,299,305,313,318,319,333,334,335,339,340,342,343,345,346,347,348,349,350,353,354,355,357,358,360,363,369,370,371,373,380,381,382,383,384,386,387,390,394,395,396,404,405,416,418,421,423,425,426,433,437,447,451,452],gjf:213,gjwagn:7,gko:2,gld:[],gle4md:[207,212],gle:[],glitch:3,glob:434,global:[],glosli:319,glotzer:[270,353],glue:11,gmail:[7,9,13],gmake:[12,17],gmask:[3,448],gnu:[0,7,12,17,18],gnuplot:[11,13],goal:[5,12,39],goddard:[6,9,25,261,262,263,314,357,363,392,393,435],goe:[12,54,120,144,166,226,326,329,352,356,362,371,374,397,416,426,430],gold:[70,169],goldenrod:169,goldman:260,gone:3,good:[1,3,6,12,17,41,73,118,142,143,188,213,227,229,261,267,273,285,318,328,329,334,347,354,355,384,407,418,432,437,441],googl:210,gordan:120,gordon:6,gould:[6,150,435],gov:[0,7,9,13,334,355,358,447],govern:216,gpl:[0,7,8,12],gpu1:333,gpu:[],gpuid:333,gpun:333,grab:[3,6],gracefulli:3,grad:[6,175,200,228],gradient:[6,7,8,12,13,192,200,208,209,228,247,262,286,290,324,325,328,379,393,407],graduat:255,graft:191,grai:169,grain:[5,6,7,9,29,36,40,54,67,144,147,156,172,251,255,270,278,362,395,435],gram:[181,184,185,355,447],grama:[9,263,393],gran:[],grand:[3,172,179,205],granflow:5,granular:[],graph:11,graphen:427,graphic:11,grasp:5,gravit:208,graviti:[],grdient:178,great:[3,13,260],greater:[1,3,10,61,86,142,169,192,206,229,251,283,297,333,338,340,342,343,384,418,420,423,426,432,437,448,449],greathous:13,greatli:[118,437],green:[2,6,91,168,169,252,253,286,339],green_kubo:6,greenyellow:169,greffet:265,greg:[7,9],grest:[45,46,191,278,319,343,361,373,435],grew:71,grid:[3,12,41,62,118,132,143,146,188,216,265,278,290,291,318,319,417,420,423,425,427,432],grigera:6,grime:40,grmask:[3,448],gromac:[],gronbech:[213,318],groot:353,ground:[6,357],group1:[126,147,329],group2:[88,126,145,147,329],group2ndx:[],group:[],group_id:11,groupbig:278,groupid1:[219,270],groupid2:[219,270],groupid:423,groupnam:329,grouptyp:205,grow:[3,8,177,194,195,211,213,229,251,292,361,423,435],grow_arrai:8,grow_reset:8,growth:[6,285],gsmooth_factor:380,gstyle:[3,420],gtl:7,gtx285:14,gtx450:14,gtx460:14,gtx470:14,gtx560:14,gtx580:14,guarante:[65,69,79,92,108,115,144,147,167,199,261,317,321,433],guess:[3,167,257,424],gui:[7,11],guid:[1,17,40,78,80,99,100,101,172,222,223,291,389,398,399,400,401,402,403,433],guidelin:[1,8,14,15,16,17,18,19,318,407],guidlin:17,gullet:380,gumbsch:325,gunsteren:[257,281,377],gunzenmul:7,gunzip:12,guo:[6,20,150,156,344,435],gwald:3,gyrat:[],gzip:[3,12,167,168,169,289,328,423,424,428],h12:360,h2o:[40,327],haak:[257,281],had:[3,6,11,13,59,63,167,169,170,183,186,191,192,206,207,209,213,214,215,227,229,231,232,233,234,235,246,247,249,256,257,278,281,282,283,290,353,354,361,404,425,429,432,438,441],hafskjold:6,half:[1,3,6,8,16,17,39,41,58,59,146,168,180,188,194,213,229,290,295,299,329,333,336,339,347,357,423,425,426,433,443],halfwai:[41,168,169],halsei:361,halt:[41,169,188,209,303,440],halv:168,ham:[38,56],hamak:[295,299,347,394],hamilton:70,hamiltonian:[207,229,230,282,357,432],hammond:[318,319],han:355,hand:[3,6,19,54,144,162,166,168,216,226,321,349,357,423,426,433,436],handl:[3,9,16,168,193,263,333,336,357,378,393,421,437],hang:[3,420,421],happen:[3,6,8,12,15,18,61,116,148,169,179,182,329,333,421,424,431],happi:8,haptic:210,hara:409,hard:[1,219,263,269,270,354,426],harden:397,harder:[295,299,443],hardi:[178,214,318,319,443],hardwar:[1,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,318,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,436],hardwir:[3,17,296],hardy2:319,harm:336,harmon:[],harmonic_fix_wal:379,harpertown:18,harrison:335,hart:278,hartre:[336,355,357,447],hasan:9,hash:[39,423],hassl:269,hat:[6,10,228],have:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,45,46,47,48,49,51,53,54,56,57,59,63,64,65,66,67,69,70,71,72,73,75,77,81,86,90,91,93,103,104,105,106,109,112,113,114,115,116,120,121,122,123,124,125,127,131,133,136,137,139,140,141,142,144,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,169,170,175,177,179,180,181,182,184,185,186,187,188,189,190,191,192,194,195,200,201,202,204,205,206,207,208,209,210,211,213,214,215,216,219,224,226,227,229,231,232,233,234,235,236,241,244,246,247,248,249,251,253,255,256,257,259,260,261,262,265,268,270,272,273,278,279,281,282,283,284,285,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,314,318,319,321,324,325,326,327,328,329,330,333,334,335,336,337,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,392,393,394,395,397,406,407,408,409,410,412,414,415,416,417,418,420,421,423,424,425,426,427,428,429,430,431,432,433,435,437,438,440,441,443,447,448,449,450,451,452],haven:421,hayoun:265,hayr:213,hbcut:392,hbnewflag:392,hbond:[],hbond_cutoff:393,hcp:[64,67,73,321,380],he1:143,head:[6,21,151,304,359,363,392,393,438],header:[3,6,7,8,12,145,167,168,169,170,181,182,183,184,185,186,227,260,267,271,290,327,334,339,355,420,423,433,440],heal:432,heat:[],heatconduct:[],heavi:278,heavili:[41,188],heavisid:290,hecht:278,heenen:9,height:[168,195,256,328,359],heisenberg:9,held:[6,71,278,328,361],helic:156,helium:337,helix:[],hello:421,help:[3,8,12,14,15,16,17,18,19,167,192,194,227,316,339,408,410,450],henc:[1,3,13,20,21,26,32,35,36,70,71,108,124,134,151,181,229,263,278,294,295,299,301,304,306,309,312,319,349,359,377,390,425],henderson:53,hendrik:9,henin:[9,193],henkelman1:[228,328],henkelman2:[228,328],henkelman:[228,325,328],here:[1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,22,37,41,44,55,63,68,69,70,71,118,124,142,143,152,155,163,167,168,169,172,181,188,191,194,205,206,214,216,251,260,263,265,271,290,295,298,300,301,303,305,313,317,326,328,332,333,335,336,339,346,358,360,363,364,368,390,394,405,407,416,421,428,443],herist:291,herrmann:278,hertizian:296,hertz:[],hertzian:[6,296,361,405],hertzsch:361,hess:318,hessian:[5,325],heterogen:105,heurist:[291,424],hex:[3,17,144,321],hexagon:[67,380],hey:[110,121],hf4:143,hfo:348,hftn:[325,326,328],hg1:143,hg2:143,hgrid:278,hibb:253,hidden:[17,421],hienergi:301,hierarch:[7,432],hierarchi:[319,343,344,369,370,373,383,432],higdon:[9,378,379],high:[1,3,6,7,9,19,41,164,168,188,192,199,214,227,286,290,293,319,325,326,333,339,357,360,394,407,416,420,432,437,443],higher:[1,14,120,147,169,189,190,195,211,256,265,285,298,300,326,357,365,448],highest:[195,303,327,328,448],highli:[3,6,7,9,144,168,194,213,229,241,260,270,324,326,357,418,437],highlight:[6,7,10,13],hight:359,hilger:[318,319],hill:253,hill_height:13,him:9,hint:12,histo:[],histogram:[1,6,12,63,116,142,172,182,183,186],histor:358,histori:[],hit:[3,278,297],hmaktulga:[7,9],ho3:143,hoc:312,hocknei:[318,319],hoh:[6,349,369,373],hold:[6,33,59,71,157,181,194,221,254,269,270,275,326,328,361,377,415,434],holdem:269,holder2:319,holder:[318,319],hole:275,holian:[233,371],holm:[251,319],holonom:289,home:[11,12,170],homebrew:12,homepag:[168,210],homogen:[247,384],hone:253,honeydew:169,honor:170,hook:[],hookean:361,hoomd:170,hoover:[6,7,8,134,172,198,213,214,229,230,231,232,233,234,235,246,247,248,249,253,257,265,270,281,282,283,288,353,443],hop:[191,328,339],hope:[5,13,17,41,42,188,431],hopefulli:[8,326],horizon:389,horn:6,host:[3,12,16,17,193,333],hot:[6,209,230],hotpink:169,hottest:286,hour:12,hove:380,how:[],howev:[1,2,3,6,7,11,12,15,16,17,36,39,41,71,88,91,104,118,120,143,164,167,168,169,182,186,188,191,192,195,198,205,206,207,212,213,214,215,216,219,229,251,253,256,259,260,265,270,271,278,279,281,282,285,286,290,291,292,293,294,319,321,323,324,328,333,345,347,355,356,361,364,380,388,390,406,407,410,418,420,421,424,431,437,440,441,443,448,449],howto:[6,63,71,122,123,125,127,130,131,132,133,134,136,137,172,213,214,229,257,281,282,283,349,363,369,373,449],hoyt:178,hpc:[1,15],hsw:17,htm:355,html:[0,4,8,11,12,15,212,359,379,432],htmldoc:0,htst:437,http:[0,6,7,11,13,14,15,193,207,210,212,334,355,378,391,392,393],htype:[349,369,373,377],hubbard:350,huge:[12,146,241,278,423,428,440],huggin:[7,340,342,405],hugh:178,hugoniostat:[4,172,233],hugoniot:[227,233,260],hull:142,hummer:318,hundr:[7,14],hura:6,hwloc:[12,17],hybrid:[],hydrat:359,hydrocarbon:[335,348,357],hydrodyanm:40,hydrodynam:[7,9,40,99,101,216,218,219,220,341,378,379,405,433],hydrogen:[3,6,7,202,265,335,339,349,357,363,369,373,377,392,393,405,423,432,443],hydrostat:[3,192,229,233,257,270],hynninen:[350,359],hyoungki:382,hyper:253,hyperbol:350,hyperspher:120,hyperthread:[16,17],i_0:290,i_1:390,i_csid:6,i_flag1:259,i_mpi_pin_domain:16,i_myflag1:259,i_myflag2:259,i_n:390,i_nam:[113,167,259,280,433],ialloi:380,iatom1:115,iatom2:115,iatom3:115,iatom4:115,ibar:380,ibead:253,ibm:[167,318],icc:[10,12,16],icm:[9,210],ico:64,icosohedr:73,ictp:13,id1:[270,328,368,423,426],id2:[270,274,275,328,368,423,426],id_press:[192,227,229,231,232,233,234,235,257],id_temp:[191,192,227,229,231,232,233,234,235,246,247,249,257,281,282,283],idea:[1,3,6,11,12,41,121,168,169,188,211,251,274,278,286,319,384,431,443],ideal:[6,9,40,73,116,198,205,251,321,378,399,443],idealga:[],ident:[1,3,9,12,39,40,71,120,167,169,183,192,193,206,207,213,214,226,229,251,253,257,265,267,270,319,327,328,333,340,342,349,351,355,371,377,386,392,393,396,416,418,421,424,437,447,448,449,451],identi:333,identif:67,identifi:[1,3,12,38,40,56,70,142,144,164,267,278,301,363,368,380,407,418,420,423,426,437,438,440],idl:[18,437],idn:[270,328],idr:448,ielement:380,ieni:13,ifdef:[8,12],iff:214,iffp:421,ignor:[3,6,11,16,41,71,83,87,98,107,119,148,167,168,169,173,174,182,183,184,186,188,192,193,194,195,205,208,212,213,226,229,233,238,243,257,259,269,270,271,278,281,282,283,289,290,292,295,299,300,301,310,320,323,327,328,333,334,345,346,347,355,356,358,360,367,368,380,386,390,394,406,407,408,409,410,412,418,420,423,424,428,433,435,437,440,448],ihl:278,iii:[6,9,25,261,263,314,363,435],ijk:[308,312,314,339,390,420],ijl:312,ikeshoji:6,ill:[124,134,181,261],illeg:3,illinoi:[210,318,319,378],illog:421,illustr:[1,6,8,11,12,17,251,253,328,364,421],ilmenau:[7,9,14],ilya:[7,9],imag:[],image2pip:168,imageint:3,imagemagick:[4,168],imagin:[275,289,339,356,364,365,381,382,386,390,406,408,409,410,435],imaginari:[6,205,253,423],imbal:[1,41,188],imbalanc:[41,188],imbu:278,imd:[],img:168,immedi:[0,2,3,8,12,144,189,190,195,273,279,280,297,420,421,423,425,437,448,451],immens:3,immers:[216,270],impact:[1,4,6,8,199,285],impart:[3,6,208,278,300],impei:[6,369],implement:[1,3,6,8,9,12,17,18,27,78,87,118,126,132,143,144,152,153,163,181,193,197,207,210,213,216,218,219,220,227,247,250,252,253,259,260,261,263,264,265,273,274,278,285,290,294,312,317,318,319,326,328,333,334,336,339,348,349,351,353,355,356,357,364,369,373,377,380,389,392,393,394,408,410,420,421,432,437,443,448,450],impli:[3,6,40,59,87,121,168,173,174,175,194,200,213,269,281,283,284,318,321,346,421],implicit:[],implicitli:8,implict:350,imporop:327,importannt:226,important:288,important_not:59,impos:[2,6,71,112,133,166,172,175,176,187,200,201,203,208,211,220,221,228,241,251,254,272,275,277,278,285,286,287,288,293,294,295,298,299,300,326,328,330,417,431],imposs:1,improp:[],improper_coeff:[],improper_styl:[],impropercoeff:3,impropertyp:190,imprort:97,improt:[173,174],improv:[0,1,9,39,41,169,188,229,252,333,363,369,384,393,406,409],in3:143,inaccur:[1,3,6,147,227,318],inaccuraci:299,inact:363,inappropri:144,incid:[118,143,195],includ:[],includig:[303,317],inclus:[],incom:210,incompat:[3,11,365],incomplet:[3,11,423],incompress:[230,357],inconsist:[3,148,191,424],inconveni:321,incorpor:[260,339,350],incorrect:[3,127,213,380],incorrectli:[3,321,361,448],increas:[1,3,6,10,18,38,56,57,59,109,118,121,164,167,168,169,189,190,191,194,213,257,268,269,270,286,289,293,318,319,328,333,357,360,393,407,409,421,432,437,448],increasingli:357,increment:[3,11,175,176,187,188,195,200,202,229,274,301,317,332,367,418,421,435,437,448],incur:[14,17,181,184,185,202,290,420],inde:127,indefatig:7,indefinit:287,indent:[],independ:[4,6,11,12,16,17,41,59,63,91,117,119,130,144,166,172,180,181,182,183,184,185,186,188,191,192,193,194,195,206,208,213,214,216,219,229,252,257,261,265,270,271,274,277,288,290,321,361,418,421,440,449],indetermin:[167,169],index:[0,3,6,8,11,12,38,39,40,56,68,69,117,119,164,167,169,180,182,210,212,253,271,290,301,302,303,323,332,384,392,393,407,413,423,438,448],indianr:169,indigo:169,indirectli:[6,448],indistinguish:213,indium:396,individu:[],induc:[],industri:7,ineffici:[3,6,40,64,67,70,72,73,77,120,132,168,194,229,252,318,330],inerti:379,inertia:[],inexpens:[207,432],inf:[2,3,12,293,426],infer:[3,94,96,97,138,175,176,188,189,190,200,210,255,278,286,293,321,346,358,423,435,441],infil:[3,13,270,420],infin:[3,326,428,441],infininti:168,infinit:[3,195,204,211,213,216,252,278,290,296,297,319,321,357,427,447],infinitesim:6,inflect:[350,371],influenc:[3,9,41,80,126,226,256,318,319,384,408,409,410],inform:[0,1,2,3,6,7,8,9,11,12,13,15,17,39,41,42,59,61,62,63,68,88,115,117,118,143,144,150,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,228,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,289,292,293,294,295,297,298,299,300,302,316,318,319,322,325,326,327,328,329,331,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,420,421,423,424,425,427,428,430,435,437,438,440,448,450,451,452],infrequ:[6,353,418,437],infti:[350,378,379],ingtegr:339,inher:[318,326,384],inherit:[6,411],inhomogen:[18,290,384],inidividu:326,init:[3,8,12,268],init_fil:290,init_list:8,init_on:8,init_styl:8,initi:[2,3,4,6,7,8,11,12,13,38,39,40,41,56,57,59,62,71,80,81,86,87,103,104,140,145,146,164,166,167,168,169,170,173,174,177,178,182,188,190,191,192,194,201,205,206,210,211,212,213,214,216,221,225,226,227,228,229,233,241,252,253,254,259,260,265,268,269,270,272,277,278,280,285,287,288,289,290,291,292,295,296,297,298,300,301,303,318,322,325,326,328,335,336,352,353,354,391,392,393,407,418,420,421,423,425,426,428,430,431,433,437,438,441,443,448,449,450,452],initial_integr:8,initial_integrate_respa:8,initialis:391,initialt:290,inlclud:11,inlcud:448,inlin:421,inner2:[344,362],inner:[3,8,16,167,211,303,317,324,325,326,328,332,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,413,414,415,416,432,437],inner_distance_cutoff:363,innergroup:219,innermost:[38,56,331,407,432],innernod:219,innner:375,inordin:291,inorgan:6,inp:[193,303,396],input1:[65,68,69,79,92,108,113,114,115,117,119,280],input2:[65,68,69,79,92,108,113,114,115,117,119,280],input:[],input_doubl:3,insensit:12,insert:[3,5,7,8,12,59,144,172,195,205,211,256,318,396,404,421,427,443],insid:[2,3,6,8,11,71,144,167,169,180,184,185,195,196,202,205,211,216,219,256,270,278,295,297,298,299,300,301,316,321,371,421,422,423,425,426,433,437,448],insight:[6,13],instabl:[216,352],instal:[],instanc:[6,11,193,207,297,359,364,384,390,421,443],instantan:[6,63,191,192,206,207,229,233,252,257,260,265,267,270,285,429,441],instanti:[6,11,12,178,364,420],instead:[1,3,6,8,9,11,12,13,17,18,40,41,59,63,70,71,90,117,123,126,148,164,167,174,181,183,184,185,186,188,192,193,213,216,219,220,252,258,268,270,280,298,316,318,319,322,329,333,342,343,355,368,370,377,380,418,426,430,437,439,443,448],institut:[9,210,255],instruct:[3,6,8,11,12,13,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,142,150,151,153,154,155,156,158,159,161,162,164,165,168,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,432,443],insuffici:[3,6,12],insult:229,insur:[3,6,11,12,17,39,40,61,73,102,104,144,145,164,167,168,169,175,189,190,195,200,201,202,203,205,208,213,225,258,259,268,270,278,290,295,299,300,301,303,317,327,329,333,347,360,364,388,394,407,420,421,423,424,428,431,432,440,441,448,449],int_max:3,integ:[3,6,8,11,12,39,40,42,64,68,70,71,113,115,117,119,120,142,144,147,148,150,154,155,159,164,166,167,168,169,179,181,184,185,189,190,191,195,197,203,205,206,207,210,213,214,215,216,252,255,256,259,260,265,270,278,280,282,285,289,290,308,318,321,341,353,354,367,380,392,393,396,418,420,421,423,431,432,433,437,440,448,449],integr:[],intel:[],intel_cpu:[12,16],intel_phi:[12,16],intend:[3,8,12,13,36,206,391,423],intens:[1,3,6,9,63,66,74,75,86,89,90,91,93,103,104,105,106,112,114,116,117,118,119,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,143,172,181,182,183,184,185,186,188,189,190,191,199,202,209,219,227,229,233,267,270,271,278,286,290,292,293,440,441],intepol:448,inter:[14,18,42,61,62,124,147,148,167,191,213,215,228,262,270,318,328,339,433,443,448,450,452],interact:[1,3,6,7,8,9,10,11,12,14,15,16,17,22,29,33,37,39,42,44,50,54,55,57,61,63,65,69,77,79,87,88,92,107,108,110,112,115,116,120,121,123,137,138,142,145,146,147,148,149,150,152,156,157,163,167,172,173,174,189,190,191,204,205,210,211,213,215,219,241,251,253,255,261,263,269,270,278,279,285,290,294,295,296,299,300,305,306,307,309,313,318,319,326,327,328,329,330,331,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,393,394,395,396,397,404,405,406,408,409,410,411,412,413,414,415,416,418,421,423,425,427,428,432,433,435,440,441,443,450],interatom:[3,4,7,144,167,228,287,288,334,339,355,357,365,380,409,448],intercept:118,interchang:6,interconnect:18,interconvert:357,intereract:39,interesect:299,interest:[1,5,7,8,9,11,13,71,143,253,285,288,319,356,379,392,393,421,448],interf:333,interfac:[],interfer:[229,335],interg:[6,443],intergr:[432,436],interi:379,interior:[3,6,41,299,426],interlac:380,interleav:[6,144,431],intermedi:[6,12,59,168,228,251,312,328,421,422,431,435],intermix:418,intermolecular:335,intern:[0,2,3,5,6,9,11,16,20,21,24,28,32,35,36,39,40,42,63,87,99,101,118,121,124,126,143,151,164,168,169,172,173,174,178,190,194,198,210,222,223,227,229,233,252,270,274,304,306,309,312,316,326,327,398,399,407,421,423,425,428,437,440,441,447,448,449,450],internal_element_set:178,internal_quadratur:178,internet:212,interpenetr:380,interpentr:[399,400,402],interpol:[6,15,38,56,100,164,168,169,178,216,251,318,319,328,339,384,393,401,407,408],interpret:[2,6,11,168,183,361,397,418,421,437,448],interrupt:260,intersect:[3,6,118,169,299,301,426],intersert:299,interspers:326,interstiti:142,intertia:[3,93],interv:[3,6,91,182,213,260,265,266,401,418,437,448],intestieti:118,intial:[6,333,335],intiial:[41,428],intiti:[3,277],intra:270,intra_energi:205,intramolecular:[29,205],introduc:[6,9,168,229,260,265,270,312,318,334,349,357,369,373,377,406,437],introduct:[],intsal:16,intuit:321,inv:[118,143,271],invalid:[3,12,71,89,147,241,328,378,379,425],invari:120,invent:273,invers:[],invert:[6,148,252],invis:299,invoc:[142,191,333,421],invok:[1,3,6,7,8,11,12,13,14,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,43,45,46,47,48,49,51,53,54,56,59,63,66,71,74,75,81,87,88,89,90,93,103,104,106,109,110,111,112,117,122,131,138,139,142,144,145,147,148,150,151,153,154,155,156,158,159,161,162,164,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,197,199,200,201,202,203,204,205,206,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,304,306,307,308,309,312,314,317,318,319,320,321,326,328,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,381,384,385,386,387,389,394,395,396,397,406,407,408,409,410,412,413,414,415,416,417,420,421,422,424,426,428,431,432,434,435,437,440,441,443,448,449],invokd:3,involv:[3,6,7,8,12,63,108,115,116,117,124,148,172,189,205,216,255,258,263,278,318,325,326,328,338,354,360,406,408,410,419,420,426,428,432,437],ioff:[327,423],ion:[6,7,250,275,290,319,339,350,358,359,380,405,410,416,423,443],ionic:[6,9,340,342,350,357,358,387,443],ioniz:[9,348,357],iparam:[3,190],ipi:[],ipp:[],ir3:143,ir4:143,irregular:[6,41,58,188,192,194,229,270],irrelev:386,irrespect:[378,379],irrevers:198,isbn:415,isel:[318,319],isenthalp:[229,230,231,232],ismail:[318,319,343,373],isn:[3,8,11,12,209],iso:[3,192,198,214,229,230,231,232,233,234,235,257,265,270,443],isobar:[229,230,234,235],isodem:357,isol:[3,147,301],isomorph:253,isotherm:[205,229,230,234,235,257],isotrop:[6,213,257,318,319,341,360,378,379],isovolum:271,isralewitz:274,issu:[1,3,6,9,11,12,13,14,15,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,59,71,73,81,103,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,168,175,178,187,191,192,195,200,201,204,205,208,213,227,229,231,232,233,234,235,236,244,246,247,249,253,257,259,262,270,272,273,277,281,282,283,288,294,300,303,304,306,307,308,309,312,314,319,327,328,331,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,404,406,407,408,409,410,412,414,415,416,423,425,432,435,440,441,448,449],ital:[392,393],itali:13,item:[6,7,8,41,167,169,188],iter:[3,6,12,39,41,63,175,176,187,188,192,198,200,203,211,252,261,262,270,273,285,301,303,317,324,325,326,328,332,418,428,432,437,441,448],ith:[71,117,119,180,181,182,183,184,185,186,280,292,441,448],itself:[2,3,4,6,7,8,9,11,12,13,18,42,59,91,107,135,167,168,169,170,182,193,198,214,224,228,264,270,290,301,303,327,328,349,358,360,364,365,407,421,427,430,431,435,448,452],ityp:[3,115,116,144,177,190,263,413],itype1:116,itype2:116,itypen:116,ivector:8,ivori:169,ixcm:270,ixi:[42,93,270,327,448],ixx:[42,93,270,327,448],ixz:[42,93,270,327,448],iycm:270,iyi:[42,93,270,327,448],iyz:[42,93,270,327,448],izcm:270,izrailev:274,izumi:409,izz:[42,93,270,327,448],j0jt:91,j20:182,j_m:120,jac:[6,150,435],jackson:383,jacobi:3,jacobsen:325,jagreat:13,jame:[9,19],janssen:251,januari:380,jaramillo:[7,9,13,357],jarzynski:274,jatempl:9,jcc:9,jcp:295,jec:13,jeff:13,jello:229,jensen:[213,318],jeremi:[9,382],jerom:9,jewett:13,jiang:[214,443],jiao:[9,13],jiht:[7,9],jik:339,jim:7,jku:7,jmake:12,jmm:120,joannopoulo:227,job:[12,60,273,431],jochim:[229,230],john:[7,13],johnson:13,join:[6,426],joint:[3,255,363],jon:[9,70],jonathan:9,jone:[1,3,6,7,9,10,12,13,45,46,64,87,107,110,172,178,257,278,295,299,319,321,326,335,338,342,343,344,345,347,352,360,362,363,364,367,368,369,370,371,373,374,376,377,383,384,390,394,395,400,405,412,435,443],jonsson:[73,228,325,328],jorgensen:[6,161,349,369,373],joul:447,journal:[138,156,178,263,319,355,392,393,399,400,402],jparam:[3,190],jpeg:[3,12,168],jpeglib:12,jpg:[4,8,12,167,168,169,451],jpg_inc:12,jpg_lib:12,jpg_path:12,jpl:[7,9],jth:448,jtype1:116,jtype2:116,jtype:[3,116,190,413],jtypen:116,judg:437,judici:6,julien:9,jump:[],june:170,just:[3,6,8,9,11,12,13,17,19,22,29,42,44,59,61,91,107,110,116,121,123,137,152,167,181,184,185,194,198,202,219,226,257,259,270,285,290,301,303,305,327,328,333,335,338,346,364,390,412,421,425,427,428,430,431,443,448,451,452],justo:356,jusufi:[350,359],jut:299,jzimmer:9,k11:91,k22:91,k33:91,k_b:214,k_d:443,k_sigma:339,k_ub:20,kadiri:67,kamberaj:270,kappa:[6,91,286,349,369,414,415],kappa_:290,karplu:87,karttunen:216,kate:[],kayser:350,kbit:169,kboltz:278,kbp:169,kbt:265,kcal2j:91,kcal:[210,432,443,447],kde:13,ke_eta_dot:229,ke_etap_dot:229,ke_omega_dot:229,keblinski:349,kecom:124,keef:118,keep:[3,7,12,59,71,162,184,190,194,211,252,268,288,293,318,326,349,377,396,418,423,429,431,437,441,448],keflag:3,kei:[6,17,59,278,437],keir:13,kelchner:70,kelkar:293,kelvin:447,kemper:[262,348],kepler30:17,kepler32:17,kepler35:17,kepler37:17,kepler:[1,12,14,15,17,333],kept:[6,172,233,287,288,443],kernel:[7,13,17,100,178,206,207,398,399,400,401,402,403],keword:168,keyboard:12,keyword:[],keywrod:357,kforc:443,khaki:169,khersonskii:120,kick:[175,176,177,200,297],kilogram:447,kim:[],kimviri:[3,365],kind:[1,2,3,6,7,8,9,11,12,17,39,40,41,42,61,62,63,73,117,119,124,167,172,179,181,182,183,188,191,193,197,205,208,226,270,273,278,285,300,328,330,332,339,357,392,393,413,418,423,428,429,436,437,443,448],kinemat:[9,378,379],kinet:[3,6,8,9,63,82,83,84,85,87,91,94,95,96,97,98,112,121,122,123,124,125,126,127,129,130,131,132,133,134,136,137,172,179,181,192,198,209,213,225,227,229,230,231,232,233,234,235,257,260,278,286,293,294,326,357,418,437,441,443],kiss:12,kjl:312,klahn:289,klapp:318,klein:[6,9,178,193,229,230,248,270,369,395],kloss:7,kmax:[3,118,271,318],knc:17,knock:290,know:[3,11,12,41,63,107,116,172,198,212,214,241,278,326,356,365,411,421,424,427,432,443],knowledg:[4,8,168,365],known:[3,12,120,168,252,261,270,287,420,437,449],kohlmey:[7,9,13,18,318,319],kokko:[],kokkos_arch:17,kokkos_cuda:[12,17],kokkos_cuda_opt:17,kokkos_debug:17,kokkos_devic:17,kokkos_omp:[12,17],kokkos_pg:17,kokkos_phi:[12,17],kokkos_use_tpl:17,kolafa:319,kollman:[6,150,435],kondor:391,kone:[287,288],kong2011:252,kong:[9,13,252],konglt:9,koning00a:287,koning00b:287,koning96:[287,288],koning97:288,koning99:287,kooser:13,koskinen:325,kosztin:274,krau:13,kremer:[45,46,435],kress:[381,382],kspace:[],kspace_modifi:[],kspace_styl:[],kspce:12,kspring:228,kstart:269,kstop:269,kth:[206,253],kub:20,kubo:[6,91,286],kumagai:409,kumar:[9,378,379],kuronen:390,kurt:255,l12:380,l_box:357,l_skin:290,la3:143,lab:[5,7,12,111,389],label:[],laboratori:[0,227,260],lack:[3,227,357],lackmann:339,ladd:[247,288],lafitt:383,lag:290,lagrangian:[6,178,227,260,261,443],lagrangian_posit:[227,260],lagrangian_spe:[227,260],lai:417,lambda1:[408,409,410],lambda2:[408,409,410],lambda3:[408,410],lambda:[87,111,118,138,143,216,271,287,288,290,334,356,377,406],lambda_fin:287,lambda_initi:287,lamda:[3,53,278],laminar:403,lamm:6,lammps2pdb:[6,13],lammps_clos:6,lammps_command:6,lammps_extract_atom:6,lammps_extract_comput:6,lammps_extract_fix:6,lammps_extract_glob:6,lammps_extract_vari:6,lammps_fil:6,lammps_gather_atom:3,lammps_get_coord:6,lammps_get_natom:6,lammps_n:[6,12],lammps_open:6,lammps_potenti:[346,348,434],lammps_put_coord:6,lammps_quest:[6,203],lammps_scatter_atom:3,lammps_set_vari:6,lammps_sppark:6,lammpsplot:13,lammpspotenti:346,lammpstrj:[424,428,443],lammpsviri:[3,365],lamoureux:[6,198,411,443],lane:1,lang:443,langevin:[],langevin_drud:[129,197],languag:[6,11,12,17,421,448],lanl:9,lapack:12,laps:291,laptop:7,larg:[0,1,3,5,6,7,8,9,10,12,13,14,16,18,39,40,41,58,59,70,71,109,116,121,124,127,132,144,145,146,156,164,166,167,168,169,181,184,185,188,191,192,194,195,199,205,216,229,241,247,252,255,256,260,265,267,268,269,270,273,275,278,286,290,291,293,295,299,312,318,319,324,326,329,333,347,353,357,360,361,368,384,388,394,407,418,421,423,425,426,430,432,437,440,443,449,452],larger:[1,2,3,6,11,12,13,39,41,56,59,70,71,116,144,146,168,182,183,186,195,209,216,229,247,248,256,261,265,269,270,271,278,285,290,294,295,296,299,318,319,324,325,326,328,329,330,333,339,347,349,350,357,361,369,373,379,384,388,405,412,423,427,428,431,432,437],largest:[3,6,12,39,71,142,144,199,318,326,330,404,407,423,425,431,432,442,448],laroch:265,laser:290,last:[1,2,3,5,6,11,12,15,16,19,38,56,59,61,71,110,117,121,142,164,167,168,169,170,171,181,182,183,184,185,186,188,199,228,268,271,275,278,303,316,326,327,328,329,333,337,338,339,340,347,348,353,355,359,360,362,363,367,370,372,374,375,376,379,383,384,385,394,397,404,407,411,412,414,415,418,419,421,423,424,428,430,431,435,437,438,441,448],lat:380,late:5,latenc:[10,210],later:[6,11,12,16,17,40,59,71,104,146,148,182,195,233,247,255,274,285,301,303,318,326,327,332,333,335,339,421,423,425,427,437,440,448,450],latest:[7,181,182,183,184,185,186,271,425],latex:8,latgen:252,latitud:120,lattc:380,latter:[2,6,11,12,14,15,16,17,18,41,42,87,123,169,173,174,180,181,184,185,188,192,211,220,229,231,232,234,235,255,257,259,261,263,270,278,294,299,317,327,339,341,342,343,344,345,352,369,373,377,387,395,411,418,420,421,426,429,440,448,451],lattic:[],launch:[1,3,6,11,12,18,333,420,421],laupretr:312,lavend:169,lavenderblush:169,lavgevin:194,law:[6,227,331],lawngreen:169,layer:[6,9,71,172,184,286,290,293],layout:[1,3,17,146,420,423,432],lb_fluid:216,lbl:[7,9,142],lbnl:9,lbtype:216,lcbop:[],ld_library_path:[11,12],ldfftw:12,ldrd:7,lead:[2,3,6,12,22,25,39,41,44,59,61,77,87,116,138,142,148,152,169,173,174,183,188,195,207,216,233,260,270,273,278,285,286,293,305,312,318,323,328,333,346,349,369,373,375,417,423,433,443,448,449],least:[3,6,12,18,71,118,143,179,184,207,255,259,294,329,333,364,407,412,421,448],leav:[3,7,11,12,16,17,21,41,57,121,134,151,188,192,195,229,231,232,234,235,257,270,273,304,384,423,427,435],lechman:278,lectur:274,led:[3,5],lee2:380,lee:[178,380],left:[6,11,12,41,107,163,168,169,191,211,250,278,301,303,321,411,423,425,430,448,452],leftmost:[41,188],legaci:12,legal:7,lehoucq:389,leimkuhl:298,leiu:353,lemonchiffon:169,len:433,lenart:[350,359],length:[3,6,8,11,12,18,21,38,39,40,41,44,53,54,55,56,58,59,61,65,68,69,71,74,79,80,82,87,88,89,90,91,92,103,105,107,108,112,114,115,117,118,119,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,140,142,143,146,151,164,167,168,169,172,179,183,185,186,188,189,190,191,192,194,205,208,216,227,228,229,230,233,241,251,257,267,270,271,273,275,278,285,289,290,292,295,299,319,321,324,326,328,329,331,336,339,340,342,349,350,354,357,359,363,367,369,380,384,392,393,398,407,408,414,415,423,426,431,433,440,441,443,448],lengthi:205,lennard:[1,3,6,7,9,10,12,45,46,87,107,110,172,257,278,295,299,319,321,326,335,338,342,343,344,345,347,352,360,362,363,364,367,368,369,370,371,373,374,376,377,383,384,394,395,400,405,412,435,443],lenoski:[381,382],less:[1,3,6,13,14,15,16,17,18,38,41,56,57,58,59,76,108,115,116,123,137,164,169,181,183,184,185,186,188,190,191,192,194,195,202,211,227,229,251,263,265,271,278,297,298,300,319,321,326,330,333,339,344,360,361,378,379,384,394,406,407,410,415,423,448,449],let:[1,11,12,38,56,127,155,164,182,273,278,296,333,347,407,432,436,443,450],lett:[120,132,207,214,216,227,265,274,287,288,325,339,355,357,360,377,396,443],letter:[2,12,41,57,59,169,188,197,198,214,253,303,332,391],level:[2,3,8,11,12,14,17,167,168,173,174,210,226,228,229,303,319,332,339,343,344,369,370,373,383,392,393,420,432,437,448],lever:404,levin:361,lexicon:7,lgr_po:[227,260],lgr_vel:[227,260],lgvdw:393,li1:143,liang:348,lib:[1,3,9,11,12,14,15,17,264,333,348,365,421,424],libatom:[9,391],libcolvar:12,libdir:11,libfftw3:12,libgpu:15,libjpeg:12,liblammp:[11,12],liblammps_foo:[11,12],liblammps_g:[11,12],liblammpscuda:14,libmpi:11,libmpi_stub:12,libmpich:12,libpackag:12,libpng:12,librari:[],librt:17,licens:[0,7,8,12,168],lie:[6,205,271],lieu:318,life:7,lifo:8,ligand:275,liggght:7,lightblu:169,lightcor:169,lightcyan:169,lightest:285,lightgoldenrodyellow:169,lightgreen:169,lightgrei:169,lightli:275,lightpink:169,lightsalmon:169,lightseagreen:169,lightskyblu:169,lightslategrai:169,lightsteelblu:169,lightweight:278,lightyellow:169,like:[3,4,6,7,8,9,11,12,14,16,17,18,39,42,54,59,128,135,168,170,175,192,193,195,198,200,210,213,214,215,227,229,230,234,235,240,241,246,247,248,249,251,257,259,260,261,265,270,271,278,280,281,282,283,284,285,286,293,294,295,298,299,300,303,318,321,325,328,333,339,347,352,353,357,358,361,363,364,374,375,380,384,396,407,410,414,415,420,421,423,424,425,426,428,433,438,441,443,448,449],likelihood:[118,143,191],likewis:[1,6,10,12,15,18,39,41,71,88,115,178,188,189,190,205,213,214,229,230,233,248,265,278,281,282,283,319,328,334,338,339,349,355,358,405,421,423,435,448],lime:169,limegreen:169,limit:[],limit_eradiu:357,lindahl:318,line:[],linear:[],linearli:[10,117,169,194,252,295,297,298,300,327,328,330,423,448],lineflag:[6,423],lineforc:[],linen:169,linesearch:[8,324],ling:[9,13],lingo:[11,365],link:[5,6,7,8,9,11,12,13,14,15,17,18,22,37,44,55,63,152,163,168,172,190,210,214,255,264,266,274,275,305,313,336,346,380,391,392,393,405,411,421],linker:12,linkflag:[12,16],linux:[10,11,12,15,168,170,210],linuxamd64:424,liouvil:229,lip:13,lipid:[4,9,10,13,29,270],lipton:255,liquid:[6,7,9,29,39,40,41,59,87,121,130,142,188,192,194,205,229,257,260,265,285,352,384,387,409,432],lisal:404,lism:9,list:[],listen:[210,212],listfil:368,liter:[423,434],literatur:[8,380,406],lithium:357,littl:[1,3,12,64,229,329,418,426],littmark:[380,405,410,416],liu:[363,393],lj1043:[],lj126:[],lj12_4:395,lj12_6:395,lj1d:252,lj6:3,lj93:[],lj96:[],lj9_6:395,lj_flag:335,llnl:[5,7],lmp1:11,lmp2:11,lmp2arc:[],lmp2cfg:[],lmp2vmd:[],lmp:[11,421,443],lmp_auto:12,lmp_cuda:[14,17],lmp_foo:12,lmp_g:[6,11,12,13,17,317],lmp_gpu:15,lmp_ibm:[12,317],lmp_inc:12,lmp_intel_cpu:16,lmp_intel_phi:16,lmp_kokkos_cuda:17,lmp_kokkos_omp:17,lmp_kokkos_phi:17,lmp_linux:[4,6,12],lmp_mac:12,lmp_machin:[1,12,14,15,16,18,19,333],lmp_mpi:[12,253],lmp_mvapich:17,lmp_omp:18,lmp_openmpi:17,lmp_opt:19,lmp_win_mpi:12,lmp_win_no:12,lmpptr:[11,421],lmpqst:203,lmpsdata:13,lmptype:[3,12,203],load:[1,3,4,7,9,11,12,16,17,18,41,168,170,172,188,210,260,333,348,420,421],loadabl:11,loca:169,local:[],localhost:210,localized_lambda:178,localonli:12,localvector:63,locat:[3,6,8,9,11,12,27,61,116,118,142,143,153,164,167,195,196,216,277,288,299,324,346,349,358,359,369,371,373,411,420,423,424,426,433,435],lock:[3,332,448],lockstep:[192,229,257,270],log:[],logarithm:448,logfil:[0,3,6,12,258,322,419],logfreq2:448,logfreq:[169,430,439,448],logic:[7,11,12,17,41,144,188,301,303,418,420,421,424,432,437,448],lomdahl:[233,371],london:[13,205,393],lone:[392,393],longer:[1,3,6,8,12,13,54,116,167,169,180,181,182,183,184,185,186,189,205,213,251,255,260,270,273,285,295,299,301,324,333,335,361,420,428,432,437,445],longest:[41,188,189,329,412],longitudin:275,look:[1,3,6,8,11,12,18,54,61,167,168,171,346,396,407,443,448],lookup:[3,39,164,384,407],lookup_t:271,loop:[3,4,6,7,11,12,18,39,42,65,68,69,79,88,92,108,115,116,121,168,181,184,185,189,190,199,285,301,303,317,320,326,328,329,331,332,354,418,419,421,427,428,431,432,437,442,448,449],loopa:[303,317,332],loopb:[303,317,332],loopvar:448,lopez:[229,230],lorant:261,lorentz:143,lose:[6,58,59,146,192,194,214,229,361,423],loss:[6,447],lossi:168,lossless:168,lost:[3,12,13,57,102,195,268,278,384,423,424,425,432,440],lot:[18,274,318],low:[1,3,6,7,12,41,127,142,167,168,188,198,214,247,265,270,286,293,319,393,407,415,437,443],lower:[2,3,6,9,11,12,41,57,59,71,88,133,166,168,169,182,183,184,185,188,192,198,210,213,214,216,229,260,265,286,293,295,296,301,302,318,321,332,350,380,437,444,446,449],lowercas:168,lowest:[120,303,327,433,437,438,448],lsfftw:12,lsurfac:290,lu3:143,lubric:[],lubricateu:[],lubricuteu:238,lucki:12,luigi:13,lumped_lambda_solv:178,lussetti:286,lustig:[7,13],lybrand:319,lyulin:312,m4v:168,m_c:443,m_d:443,m_eff:[296,361],m_fill:3,m_i:276,m_lambdai:389,m_taubi:389,m_u:216,m_v:216,m_yield_stress:389,mac:[12,14],mac_mpi:12,mach:9,machin:[1,3,4,6,7,10,11,12,14,15,16,17,18,19,167,168,210,291,318,324,326,331,333,420,425,430,431,432,449,452],mackai:[9,216,218,219,220],mackerel:[6,20,150,214,344,435,443],maco:168,macro:17,macroparticl:354,macroscop:[7,208,227,389],made:[3,6,11,12,15,16,33,41,42,50,64,145,157,167,168,170,172,173,174,179,188,195,199,210,219,256,264,268,270,288,301,310,329,333,360,361,364,392,394,397,420,425,427,433,436,444,446,449,450],madura:[6,369],magazin:355,magda:295,magenta:169,magic:[3,11],maginn:[138,293],magnitud:[6,70,105,108,113,144,166,167,169,195,196,208,209,211,213,274,275,277,278,285,296,319,326,352,361,433],mai:[0,1,2,3,6,7,8,11,12,13,14,15,16,17,18,29,38,39,40,41,56,58,59,61,63,65,68,69,71,79,86,87,88,89,90,92,102,103,105,107,108,109,110,112,113,114,115,117,118,119,120,121,123,124,132,133,137,138,142,143,144,145,146,147,148,163,164,166,167,168,169,170,172,173,174,175,177,179,181,182,183,184,185,186,187,188,189,190,192,194,195,198,199,200,202,205,206,207,209,210,211,213,214,215,216,217,219,224,225,226,227,229,230,233,241,244,252,253,256,257,258,259,260,262,265,267,268,269,270,271,272,273,274,278,280,281,282,285,286,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,316,317,318,319,321,324,325,326,327,328,329,330,331,333,336,338,339,347,353,357,361,364,365,375,377,379,380,381,382,384,392,393,395,396,404,407,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,435,437,440,441,443,448,449,450,452],mail:[3,7,9,12,301],main:[3,6,8,12,210,216,270,287,288,355,411,421,438],mainboard:1,mainli:[333,387],maintain:[8,9,13,39,129,190,194,247,278,291,325,334,355,432,435],major:12,make:[],makefil:[3,7,9,11,12,13,14,15,16,17,18,19,167,319,333,421],makelist:12,maks:361,malloc:[3,12],manag:[5,8,12,167,210,253,280,432],manbi:396,mandadapu:178,mandatori:[8,193],manh:339,mani:[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,38,39,41,42,56,61,63,68,71,88,91,102,116,124,144,145,164,166,167,168,169,170,172,173,174,175,179,180,181,182,183,184,185,186,188,189,190,191,192,194,195,202,205,206,209,210,216,217,225,227,229,230,233,241,250,251,252,256,259,261,262,263,265,267,270,271,273,278,289,290,292,301,303,318,326,327,328,329,331,333,346,348,354,357,359,363,364,396,405,407,408,410,421,423,425,427,428,430,431,432,433,435,436,437,438,448,449,452],manipul:[12,41,188,210,349,390,434],manner:[2,3,6,9,11,17,41,121,140,173,174,175,176,183,188,194,199,200,203,209,213,214,229,234,235,246,247,249,264,281,282,283,286,287,288,293,295,299,303,319,327,328,332,333,355,357,364,367,378,412,418,420,423,424,425,426,428,432,437],manolopoulo:212,mantissa:3,manual:[0,1,3,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,58,63,68,71,109,112,118,122,123,125,126,127,130,131,132,133,134,136,137,143,150,151,153,154,155,156,158,159,161,162,164,167,168,170,175,184,187,201,204,208,212,213,214,228,229,231,232,233,234,235,236,239,242,244,245,246,247,249,257,259,262,270,271,272,273,281,282,283,293,294,303,304,306,307,308,309,312,314,319,328,332,333,334,335,337,338,340,341,342,343,344,345,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,418,432,436,437,438,441,448],manybodi:[3,7,8,9,12,121,326,334,335,339,348,355,358,364,366,386,390,406,408,409,410,435],map:[2,3,11,12,17,18,39,59,64,71,118,120,132,143,144,166,168,169,178,184,252,269,318,319,321,328,334,335,339,348,355,356,358,364,365,366,380,381,382,384,386,390,391,392,393,396,404,406,407,408,409,410,420,423,425,437,448],map_fil:252,mapflag:12,march:380,margin:437,mari:13,mark:[362,377],marker:258,maroon:169,maroonmpi:11,marrink:362,marsaglia:[3,206,207,213,214,265],marseil:9,martin:[252,380],martinez:179,martyna:[229,230,270,432],mashayak:17,mask:[3,251,448],mask_direct:178,mass:[],mass_matrix:178,massdelta:273,massiv:[0,168,216,253,286,293],massless:[6,214,319,349,369,373,377,443],masstot:270,master:[3,328,418,437],mat:[67,178,348,409],match:[3,6,8,9,11,12,17,38,41,56,59,71,116,127,164,169,170,188,191,194,210,229,230,247,267,271,278,285,318,319,339,363,375,380,391,392,393,407,416,417,421,423,424,425,428,432,437,443,448],mater:[73,334,382,390],materi:[6,7,9,59,70,147,177,178,194,205,211,227,251,257,265,286,290,296,349,355,356,357,361,365,380,381,389,392,393,418,423,437,443,447],material_fil:178,math:[],mathemat:[118,120,143,144,173,174,175,176,187,192,200,206,208,209,211,213,214,258,272,281,282,283,295,298,300,396,419,426,433,449],mathrm:214,mathtt:214,matlab:[],matric:[9,120,207,252,360],matrix:[3,6,9,91,142,182,192,207,252,261,318,321],matter:[6,9,12,39,57,59,71,126,184,290,329,335,351,355,357,380,395,408,410,416],mattson:[112,121],max2theta:143,max:[3,6,8,12,15,18,71,117,169,183,188,190,192,195,256,273,278,303,321,324,326,328,329,333,418,423,437,441,448],max_alpha:8,max_cell_s:354,max_group:3,maxangl:205,maxbodi:3,maxbond:[3,190],maxedg:142,maxev:[326,418,437],maxfoo:8,maxim:[285,328],maximum:[3,6,8,15,17,25,41,42,45,53,54,57,59,61,116,117,118,142,143,145,146,166,167,177,182,183,188,190,194,195,199,205,241,251,256,261,273,278,291,318,319,324,328,329,336,339,354,359,378,379,423,426,431,441,448,449],maxit:[261,326,418,437,441],maxsize_restart:8,maxwel:[17,250],maxwell50:17,maxwell52:17,maxwell53:17,maxx:390,mayb:13,mayer:[7,340,342,405],mayo:[6,7,13,25,314,363,435],mbt:151,mbyte:[12,265],mcdlt:[134,209],mcgraw:253,mdash:443,mdregion:178,mdump:[41,188],meain:6,meam:[],meam_sw_splin:382,meamf:380,mean:[1,2,3,4,6,7,8,10,11,12,17,22,34,37,38,39,41,42,44,52,54,55,56,57,59,61,63,68,71,76,77,82,84,85,87,91,103,104,105,112,113,114,115,116,117,120,121,122,123,125,126,127,130,131,132,133,134,136,137,138,144,145,147,148,150,152,160,163,164,165,166,167,168,169,170,172,173,174,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,200,203,205,206,207,208,209,211,213,214,215,219,226,229,231,232,233,234,235,241,246,247,249,251,253,255,256,257,259,265,267,268,270,272,273,274,275,278,280,281,282,283,285,286,289,290,292,293,294,295,296,297,298,299,300,301,305,306,307,309,311,313,318,319,321,323,324,326,327,328,329,331,333,336,340,342,343,344,346,349,353,354,355,357,360,361,363,364,367,369,370,373,380,383,384,387,388,390,392,393,394,395,406,407,408,409,410,412,415,417,418,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,437,438,440,441,443,447,448,449,450,452],meaning:[116,364],meaningless:[67,285],meant:[6,270,411,427],measur:[],mech:389,mechan:[6,8,9,11,12,17,178,209,253,264,339,357,365,371,417,421,423],mechanic:264,media:168,medium:415,mediumaquamarin:169,mediumblu:169,mediumorchid:169,mediumpurpl:169,mediumseagreen:169,mediumslateblu:169,mediumspringgreen:169,mediumturquois:169,mediumvioletr:169,mee:285,meet:[3,12,145,168,169,190,191,291,428],mehl:334,meloni:39,melros:[378,379],melt1:170,melt2:170,melt3:170,melt:[4,10,191,252,339,409],mem:15,member:[147,255,339],membran:[29,250,415],memori:[1,3,5,6,7,8,9,12,15,16,17,18,39,40,60,71,169,181,184,185,206,207,265,290,316,329,333,339,384,388,393,420,423],memory_usag:8,mendelev:355,mention:[1,6,7,11,42,194,209,216,233,295,321,328,335,392,393,425,448],menu:[168,210],mep:[228,328],mer:[4,10,191],meremianin:120,merg:[3,5,423],merz:[6,150,435],mescscop:389,mesh:[1,3,6,7,8,10,12,40,41,42,118,143,178,188,216,271,318,319,354],meso:[],meso_:[],meso_cv:433,meso_rho:[],meso_t:[],mesocop:40,mesoscal:7,mesoscop:[7,99,100,101,222],mess:[3,433],messag:[],met:[8,41,116,188,303,317,319,326,328,332,412,431],metadynam:[9,13,193],metal:[3,5,7,10,40,59,71,133,144,177,178,184,185,194,195,209,211,260,261,265,294,295,297,298,300,319,321,330,334,335,339,348,355,356,357,358,364,366,380,381,382,390,391,406,408,409,410,426,440,441,442,447],meter:[330,447],methan:[260,265],methanol:4,methin:312,method:[1,3,5,6,7,8,9,11,12,13,16,17,19,38,39,40,41,56,64,87,91,110,121,164,172,173,174,178,188,193,203,213,216,220,224,227,229,252,253,260,261,262,263,265,270,273,274,285,286,287,288,293,318,319,324,325,326,328,333,334,336,339,348,349,355,357,358,380,381,382,384,390,405,407,418,420,421,423,424,426,437,443],methodolog:[6,73,121,253,318],metin:[7,9],metric:[3,10,64,426,441],metropoli:[179,205,438],mezei:87,mf1:170,mf2:170,mf3:170,mg2:143,mglob_default_function_attr:12,mgoh:386,miai:265,mic:[12,17],micel:[4,13,276],micelle2d:[],michael:[9,13,382],michel:13,micro:[3,447],microcanon:[236,237,239,240,242,244,245],microelast:389,micromet:447,micropor:205,microscal:378,microsec:447,microsecond:447,mid:[5,59,194,404],middl:[3,6,8,16,22,41,44,77,87,116,133,138,142,148,151,152,169,173,174,180,188,256,268,269,270,286,293,304,305,323,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,417,421,431,432,433],middlebondtors:[3,151,423],midnightblu:169,midpoint:404,mie:[],might:[3,4,6,7,8,12,14,25,71,203,205,207,270,421,431,448],migrat:[3,8,17,41,42,59,61,65,69,79,92,108,115,167,172,188,251,259,265,278,318,330,333,431,450,452],mikami:[6,229,230],mike:[7,9,13,15,16],mil:[9,355],mill:325,miller:270,million:[3,7,10,39,41,71,188],mimic:[6,11,42,54,214,227,256,349,359,369],mimim:[192,328],min2theta:143,min:[3,4,6,8,12,117,120,169,183,318,321,404,418,437,448],min_cap:3,min_cg:8,min_clearstor:8,min_dof:8,min_modifi:[],min_popstor:8,min_post_forc:8,min_pre_forc:8,min_pushstor:8,min_setup:8,min_setup_pre_forc:8,min_step:8,min_stor:8,min_styl:[],minarea:142,mincap:393,mind:[7,206,252],mine:[12,88,134,135,172,301,445],minim:[],minima:[156,314],minimi:[328,412],minimizaiton:328,minimizi:265,minimum:[3,25,26,27,42,45,57,59,86,105,117,142,143,145,147,153,166,167,168,177,183,192,193,199,212,228,267,269,271,278,295,299,303,314,318,321,324,325,326,328,329,344,357,360,362,363,369,371,373,378,379,393,395,404,418,431,437,448,449],minlength:142,minmiz:[8,192],minn:9,minord:[3,318],mintcream:169,mintmir:[7,261,349,405],minu:[12,59,124,194,303,328,448],minut:[4,8],mirror:[61,297],misc:[],miscellan:[2,178],mishin:[334,405],mismatch:[3,6],miss:[3,5,12,147,183,205,241,265,278,368,384,440,441],mistak:[3,448],mistakenli:3,mistyp:3,mistyros:169,mitchel:[6,111,126,318,319,351,389],mitchell2011:389,mitchell2011a:389,mitur:337,mivi2:265,mix:[1,3,6,9,14,15,16,71,115,183,184,291,318,319,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,421,423,436,443,450],mixtur:[6,40,229,270,278,300,347,380,423],mixture_ref_t:380,mjpeg:168,mkdir:434,mkl:12,mkmk:252,mkv:168,mldivide3:3,mlpark:7,mlutipl:186,mn2:143,mn3:143,mn4:143,mo3:143,mo5:143,mo6:143,mobil:[6,105,121,122,123,125,130,137,168,270,301,302],moccasin:169,mod:[],mode:[1,3,6,9,11,12,13,14,15,16,17,18,61,66,75,88,90,93,104,106,114,116,117,124,139,141,142,143,167,168,169,183,186,193,194,203,207,229,253,265,274,278,318,330,333,349,357,420,425,430,432,441,447,452],model:[],model_ar_p_mors:365,modern:[12,213,215],modest:[1,331],modif:[6,13,87,380,394,410,443],modifi:[],modify_param:8,modin:178,modul:[3,9,11,12,13,193,265,421],modular:8,modulo:[3,448],modulu:[257,361,380,389],mofil:424,mol1:448,mol:[3,9,71,113,144,146,147,167,169,193,195,205,210,213,256,259,270,273,280,352,360,395,432,433,443,448],molchunk:[66,75,90,93,104,106,124,139,141,181],mole:[179,355,447],moleclu:[189,190,195,202],molecul:[],molecular:[0,2,3,5,6,7,8,9,12,13,39,40,53,71,108,113,115,122,123,125,127,130,131,132,133,136,137,144,145,146,147,148,156,167,170,178,190,193,205,212,252,253,260,264,265,269,274,289,290,319,327,336,337,339,343,354,357,364,405,423,424,425,427,428,432,433,435,441,442,443,448],molfil:[],molfrac:[195,256],molnar:274,molp:109,moltempl:[],mom:[6,91,269,449],momementum:[123,231,234,237,238,239,246],momemtum:66,moment:[3,6,40,42,82,84,85,106,113,123,137,144,165,167,213,216,219,244,256,270,276,327,352,356,423,433,443,447],momenta:[207,238,293,357],momentum:[],momon:191,monaghan:[9,399,400,402],monitor:[3,6,96,97,127,192,194,195,202,210,213,227,229,256,258,260,270,273,278,326,328,352,441],mono:[73,378],monodispers:[3,296,341,361,378,379],monom:[13,54,191],monoton:[3,274,289,328,437],monoval:319,mont:[6,7,9,172,179,191,205,270,285,354,405],montalenti:[418,437],month:0,moor:[17,121],more:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,58,59,61,62,63,64,65,67,68,69,70,71,72,77,78,79,80,83,86,87,88,90,92,96,97,98,99,100,101,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,130,131,132,133,135,136,137,138,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,278,280,281,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,316,318,319,321,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,426,427,428,429,430,431,432,433,434,435,436,437,438,440,443,448,449,450,451,452],morefoo:8,moreov:[189,190],morri:[],morriss:[132,247],mors:[],morse_f:407,mosel:325,mosi2:380,moskalev:120,most:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,18,19,37,39,41,55,71,108,132,142,163,167,168,169,181,183,184,185,186,188,189,190,192,209,229,230,253,258,259,260,261,270,271,291,293,301,303,313,319,325,329,331,333,335,357,360,380,391,392,393,410,418,419,420,425,432,437,441,448,450],mostli:[8,9,11,13,71,146,168,329,423,432,435,448,451],motiion:6,motion:[3,6,7,9,42,86,97,122,123,125,127,129,130,131,132,133,134,136,137,194,198,207,216,219,220,226,229,230,233,247,251,253,255,265,269,270,286,290,296,299,328,352,357,378,379,426,432,443],motiv:251,mous:210,mov:168,move:[],movement:[3,6,12,226,285,326,441],movi:[],mp4:168,mpeg:168,mpg:168,mpi4pi:11,mpi:[],mpi_allreduc:[270,421],mpi_barri:1,mpi_cart:420,mpi_cart_cr:420,mpi_cart_get:420,mpi_cart_rank:420,mpi_cart_shift:420,mpi_comm:6,mpi_comm_world:11,mpi_get_processor_nam:420,mpi_inc:12,mpi_lib:12,mpi_lmp_bigint:3,mpi_lmp_tagint:3,mpi_path:12,mpi_wtim:12,mpicc:11,mpich2:12,mpich:[12,14,15,16,17,18,333],mpicxx:[12,16,17],mpiexec:[12,14,15,16,17,18,333],mpiio:[3,167,169,425,430,452],mpirun:[6,11,12,14,15,16,17,18,19,253,317,333],mplayer:168,msd:[],msi2lmp:[],msi:13,msm:[],msmse:[118,143,271],msst:[],mtchell2011:389,mtchell2011a:389,mtd:193,mth:[8,119,169,440],mtk:[229,230,233],mtotal:327,mu_j:29,muccioli:360,much:[1,3,6,11,39,167,168,192,260,285,329,330,333,360,394,418,421,437,443,448],mui:[113,167,200,280,423],mukherje:[7,9,255],mulder:289,muller:[6,91,172,286,293,383],mult:8,multi:[],multibodi:[3,61,255],multicent:357,multicor:[1,420,436],multidimension:13,multielectron:336,multilevel:[318,319],multiphys:11,multipl:[],multipli:[3,87,91,116,152,163,173,174,182,213,216,251,257,321,326,335,423,448],multiprocessor:333,multiscal:11,multisect:[41,188],multistag:87,multitud:7,mundi:248,munich:9,murdick:339,murti:409,murtola:318,must:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,56,57,59,61,62,71,82,84,86,87,104,107,109,112,115,116,117,118,119,123,126,133,137,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,164,165,166,167,168,169,170,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,203,205,206,207,209,210,211,212,213,214,216,217,218,219,220,224,225,226,227,228,229,230,231,232,233,234,235,237,238,239,241,244,246,249,251,255,256,257,258,259,260,261,263,265,267,268,269,270,271,272,273,275,277,278,281,282,283,285,286,288,289,290,292,293,295,296,297,298,299,300,301,303,304,305,306,307,308,309,310,312,314,318,319,321,323,326,327,328,329,330,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,419,420,421,423,424,425,426,428,430,431,432,433,434,437,438,440,441,443,447,448,449,450,452],mutli:6,mutlipl:423,mutual:[3,321],mutut:432,muvt:205,mux:[113,167,168,200,280,423],muz:[113,167,200,280,423],mv2_comm_world_local_rank:12,mvapich2:[17,333],mvapich:12,mxn:[12,253],my_ga:205,my_one_wat:205,my_post_process:434,my_qeq:261,my_setup:434,my_swap_region:179,myblock:[195,256],mybox:146,mychunk1:114,mychunk2:114,mychunk:[6,66,75,90,93,104,106,124,139,141],mycmap:423,mycom:183,mydump:[167,169],myer:[5,7],myfil:[420,448],myfix:[179,438],myflux:91,myforc:[167,451],myhug:233,myke:91,mymol:[40,273,327],mympi:11,mymultipli:[421,448],myn:421,mype:91,mypi:448,mypress:224,myramp:121,myrdf:[116,186],myregion:301,myrigid:[83,98,256],mysocket:212,myspher:[169,299],mystr:303,mystress:91,mytemp:[2,102,122,123,125,127,128,130,132,137,224,303,317,332,440,449],myz:423,n_dephas:418,n_f:[260,265],n_hbond:363,n_ij:361,n_ion:290,n_k:206,na1:143,nabla:290,nacl:[4,6,380],nacl_cs_x0:6,nakano:[261,263,328],namd:[7,9,167,210],name1:[138,194],name2:[138,194],name:[0,1,2,3,5,6,8,9,11,12,13,33,42,50,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,157,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,252,253,254,255,256,257,258,259,260,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,291,292,293,294,295,296,297,298,299,300,301,302,303,310,316,317,319,320,322,327,328,332,334,335,339,342,355,356,358,360,361,364,365,366,368,380,381,382,386,390,392,393,396,406,408,409,410,411,413,420,421,423,424,425,426,430,433,436,438,439,441,443,448,449,450,451,452],namespac:[6,8,12],nan:3,nangl:[3,423],nangletyp:[327,423,433],nano:[270,447],nanoindent:70,nanolett:270,nanomet:[167,169,447],nanoparticl:[188,270],nanosec:447,nanosecond:447,nappli:203,narea:3,narrow:[6,164],narulkar:[408,410],nasa:7,nasr:252,natdef:3,nation:[0,7,12,111,389],nativ:[1,6,7,12,16,17,167,170,424],natoli:[9,19],natom1:115,natom2:115,natom:[6,11,39,327,421,423,440,441,448],nattempt:256,natur:[6,9,120,194,229,251,265,296,355,357,358,380,390,420,448],navajowhit:169,navi:[169,355],navier:216,nb3:143,nb3b:[],nb3bharmon:386,nb5:143,nbin:[116,183,184,185,286,293],nbodi:[219,270],nbond:[3,113,423],nbondtyp:[169,327,423,433],nbot:339,nbounc:278,nbrhood_cutoff:393,nbtype:115,nbuild:441,ncall:203,nchar:169,nchunk:[3,6,66,71,75,90,93,104,106,114,124,139,141,181],ncoeff:396,ncount:[181,182],nd3:143,ndanger:441,nden:[6,91],ndihedr:[3,423],ndihedraltyp:[327,423],ndim:184,ndirango:270,ndof:[229,233],ndoubl:423,ndp:443,ndx:302,neal:270,nearbi:[7,62,145,195,226,262,278,299,329,335,378,379,405,415,443],nearest:[3,70,71,73,142,145,216,228,251,285,299,318,368,380,407,448],nearli:[6,18,54,59,188,213,278,357,384,418,421,427,435],neb:[],neb_combin:328,neb_fin:328,neb_log:437,neb_step:437,neb_styl:437,necessari:[6,9,11,12,13,15,17,33,61,87,152,157,163,170,188,192,193,205,206,264,278,291,301,318,333,377,384,423,424,428,431,432,433,437,443,451],necessarili:[12,265,285,306,307,309,321,384,449],necessit:259,need:[1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,19,33,37,38,39,40,41,42,50,54,55,56,58,61,63,64,67,70,72,73,77,82,91,102,104,109,112,120,121,122,123,124,125,127,130,131,132,133,134,136,137,144,146,150,152,157,163,164,166,167,168,169,173,174,175,176,178,179,181,182,183,184,185,186,188,189,190,192,193,194,198,200,203,204,205,209,210,212,213,214,216,222,223,229,241,252,256,257,259,265,269,270,274,278,286,289,290,292,293,294,295,301,310,313,318,319,327,328,329,330,333,334,335,336,337,339,340,341,342,343,344,345,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,418,421,423,424,425,426,428,430,431,433,435,436,437,443,448,450,451,452],needless:[6,329],neeed:9,neelov:319,neg:[3,6,12,27,46,65,69,89,102,108,115,120,121,146,148,153,155,164,168,192,194,195,206,233,251,274,275,289,293,295,300,318,325,358,372,380,405,423,426],neglect:[363,379],neglig:[11,87,229,406],neigh:[3,12,15,333],neigh_modifi:[],neighbor:[],neighborhood:[26,396],neighbour:214,neighobr:[6,349,369,373],neither:[2,3,12,41,63,178,191,194,195,335,341,357,378,379,428],nelem:396,nelement:[334,355],nemd:[],nest:[2,303,315,332,448],net:[3,6,11,39,86,88,125,136,209,251,261,270,379,393],netpbm:168,network:[189,190,210,420],neumann:318,neutral:[3,88,205,318,349,369],never:[7,12,63,71,172,182,192,205,229,251,273,280,291,295,298,300,318,329,355,380,396,420,423,437,440,448],neveri:[3,8,71,175,180,181,182,183,184,185,186,189,190,191,216,217,252,261,262,263,266,267,271,286,292,293,328,428,437],newatom:195,newer:[12,181,380],newfil:[315,317],newli:[195,443,449],newlin:169,newn:270,newt:131,newtemp:[63,102],newtion:[339,390],newton:[],newtonian:206,newtyp:[3,190],next:[],neyt:285,nfile:[3,38,56,164,167,169,407,425,430,452],nfirst:428,nfirt:428,nfreak:271,nfreq:[39,71,180,181,182,183,184,185,186,188,267,271,428],nghost:[3,12],ngp:105,ngpu:333,nguyen:[15,339],nharmon:[],nhc:253,nht:270,ni2:143,ni3:143,ni_000:[118,271],nialh_jea:355,nialhjea:[346,364],nice:[6,8],nickla:382,nimprop:[3,423],nimpropertyp:[327,423],nine:358,ninteg:423,nissila:216,nist:[334,355,447],niter:[41,188],nitrid:349,niu3:[346,355,364],nkb:260,nlast:428,nline:327,nlocal:[3,8,11,12,203],nlog:319,nmax:42,nmin:42,nmol:423,nmpimd:253,nn2:380,nneighmaxdef:3,no_affin:[16,333],no_histori:6,noced:326,nocheck:368,nocit:12,nocoeff:450,nodal:[6,38,56,164,178,290,407],node:[1,3,12,14,15,16,17,18,41,118,143,188,210,216,290,333,368,420,436],node_area:216,node_group:178,nodeless:357,nodeset:178,nodeset_to_elementset:178,nof:164,noforc:[],nois:[6,206,207,213,214,215,216,260,265,270,282,290],nomenclatur:[6,71,184,321],nomin:[167,229],non:[],nonbond:[4,12,386,405],none:[],noneq:207,nonequilibrium:[9,287,288,357],nonetheless:213,nongauss:[],nongaussian:105,nonlinear:[],nonloc:389,nonperiod:3,nonzero:3,noordhoek:348,nopreliminari:164,nor:[2,3,41,59,178,348,423,426],nord:[390,408,410],norder:420,nordlund:[390,408,410],norm:[6,12,63,117,172,181,184,185,271,326,328,404,440,441,447],normal:[3,6,9,10,11,12,39,41,58,61,63,67,70,71,73,88,91,102,112,116,117,129,132,144,145,146,164,169,172,181,182,183,184,185,188,192,194,195,204,205,209,213,214,226,229,241,251,253,254,261,265,267,268,274,278,279,281,282,283,290,295,296,299,300,304,306,307,309,323,325,326,328,333,347,348,360,361,364,404,416,417,418,421,423,425,426,428,429,433,437,440,441,443,447,448,451],norman:290,nornal:3,nose:[6,7,8,134,172,198,213,214,229,230,231,232,233,234,235,246,247,248,249,253,257,265,270,281,282,283,288,353,443],noskov:[411,443],noslip:[278,300],notabl:[5,39],notat:[6,63,70,120,138,172,226,229,355,448],note:[1,2,3,6,7,8,11,12,13,14,15,16,17,18,22,24,25,28,29,32,33,35,36,37,38,39,40,41,42,44,47,54,55,56,58,59,60,61,62,63,65,66,68,69,71,73,75,79,87,89,90,91,92,93,97,104,105,106,108,110,112,113,114,115,117,118,119,120,121,124,126,127,128,132,134,138,139,141,142,143,144,145,146,147,148,150,152,155,157,161,163,164,167,168,169,170,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,199,200,202,203,205,207,208,209,211,212,213,214,215,216,224,225,226,227,229,231,232,233,234,235,241,246,247,249,253,255,256,257,259,260,261,263,268,269,270,271,274,275,276,278,281,282,283,286,289,290,292,293,294,295,296,299,300,301,303,304,305,306,307,309,313,317,318,319,321,323,326,327,328,329,333,334,335,339,340,342,343,344,346,347,349,350,352,353,354,355,358,360,361,362,363,364,367,368,369,371,373,377,378,379,380,381,382,383,384,386,390,392,393,394,395,396,397,400,404,406,407,408,410,412,415,418,420,421,423,424,425,426,427,428,430,431,433,435,437,438,440,441,443,447,448,449,451,452],noth:[179,212,320,333,421,434],notic:[0,6,7,8,12,288,290,443],noutcol:8,noutput:252,noutrow:8,novemb:380,novik:13,novint:210,now:[2,3,6,9,11,12,13,46,61,62,71,167,173,174,190,206,210,211,270,296,299,319,321,355,357,361,392,393,397,419,424,443,449],nowait:210,nozforc:318,np3:143,np4:143,np6:143,npair:[116,182],nparticl:[3,40,42,338],npartit:441,npernod:[14,15,16,17,18,333],nph:[],nphi:[16,333],nphug:[],npoli:256,nproc:[3,167],npt:[],npt_aspher:[231,235,246],npt_sphere:[232,249],nrecomput:354,nrepeat:[71,180,181,182,183,184,185,186,267,271,428],nreset:[192,229,230,233],nreset_ref:192,nrho:[334,355],nrl:355,nsampl:354,nsbmax_most:3,nsec:442,nskip:[119,428],nsq:[3,330,388],nstart:[119,182,183,186,271,423,428],nstat:251,nstep:[3,13,192,229,301,401,421,424],nsteplast:421,nstop:[119,428],nswap:[286,293],ntabl:[38,56,164,407],nterm:274,nth:[12,77,116,117,167,169,183,194,428,438],ntheta:339,nthread:[3,333],ntild:252,ntpc:333,ntptask:333,ntype1:115,ntype2:115,ntype:[3,120,144,167,169,179,261,263,357,363,390,423,433],nuclear:[9,96,97,130,207,230,260,265,327,357,416],nuclei:[9,96,97,128,130,135,215,230,240,248,284,336,357,423],nucleu:[96,97,261,410,443],nudg:[4,6,7,172,228,325,328],nulcear:9,num_of_collis:3,numa:[1,3,12,333,420],numactl:16,number:[1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,22,27,38,39,40,41,42,44,56,63,64,65,66,68,69,70,71,73,75,76,77,78,79,80,87,90,91,92,93,102,104,106,108,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,129,130,131,132,133,134,136,137,138,139,141,142,143,144,145,146,147,148,152,153,163,164,166,167,168,169,170,172,173,174,177,179,181,182,183,184,185,186,188,189,190,191,193,194,195,202,203,205,206,207,209,210,211,212,213,214,215,216,219,226,229,230,233,241,251,252,253,255,256,259,260,261,265,267,270,273,278,279,280,282,285,286,287,288,290,291,292,293,295,297,298,300,301,303,305,316,318,319,321,323,324,326,327,328,329,330,333,334,335,339,341,346,348,353,354,355,356,357,358,363,364,365,366,367,380,381,382,384,386,390,391,392,393,394,396,404,406,407,408,409,410,412,413,416,417,418,420,421,423,424,425,426,427,429,430,431,432,433,435,437,438,440,441,443,447,448,449,452],number_of_a:3,number_of_b:3,number_of_typ:179,numbond:3,numer:[1,2,3,6,9,12,22,38,41,42,44,56,71,77,87,116,138,148,152,164,167,168,169,173,174,175,177,178,184,200,206,209,213,226,229,253,270,273,290,295,297,298,300,301,305,323,326,327,346,352,364,380,384,392,393,407,416,417,421,423,430,433,439,440,441,448],numpi:11,nvalu:[181,184,185,186,421],nvaluelast:421,nvc_get_devic:15,nvcc:[1,12,17],nve:[],nve_aspher:[231,234,246],nve_spher:[232,235,249],nvida:17,nvidia:[1,3,9,12,14,15,17,333,436],nvt1:443,nvt2:443,nvt:[],nvt_aspher:[231,234,249],nvt_sphere:[232,235],nvtfe:178,nwait:252,nwchem:7,nxnode:290,o_cor:126,o_shel:126,oascr:7,obei:[3,194,321,418],ober:7,obj_shared_foo:12,obj_target:12,object:[6,8,11,12,15,40,42,168,192,210,216,219,256,274,326,421,426],observ:[229,260,281,282,285,286,293],obsolet:13,obstacl:[4,211],obtain:[1,3,9,12,29,73,87,142,170,174,204,207,216,233,252,253,285,318,335,352,380,384,391,408,410,432],obviou:[12,448],obvious:[168,438,448],occ:359,occasion:[3,418],occlus:168,occup:[3,142,359],occur:[1,3,6,9,11,12,14,17,39,57,59,61,62,71,86,105,142,145,147,164,167,169,179,188,191,192,194,205,208,211,219,227,241,261,270,278,287,300,301,303,318,329,333,354,357,377,393,418,420,421,428,432,437,440,448],occurr:[312,423,437,448],octahedr:25,octant:420,odd:[41,169,188,229,270,281,282,290,438],off:[1,3,6,12,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,43,44,45,46,47,48,49,50,51,53,54,55,56,59,61,65,69,71,107,108,109,112,113,115,120,121,122,127,131,142,143,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,169,172,175,179,186,187,190,191,201,204,205,206,208,210,213,214,219,229,231,232,233,234,235,236,241,244,246,247,249,255,257,258,262,270,272,273,278,281,283,293,294,295,299,304,305,306,307,308,309,310,312,313,314,318,319,326,328,329,331,333,334,335,337,340,341,342,343,344,345,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,393,394,395,397,404,405,406,407,408,409,410,412,414,415,416,418,419,420,423,425,430,432,435,436,437,445,447,450,452],offend:[3,421],offer:[6,14,18,147,325,349,418,432],offic:7,offload:[1,12,16,17,210,333],offset:[3,6,57,144,168,194,195,205,256,327,349,369,373,405,423],offsit:8,often:[1,3,6,7,12,13,14,15,16,17,18,37,55,71,138,163,168,175,183,186,188,192,203,210,229,253,271,313,321,325,326,328,329,330,333,348,353,369,408,410,418,437,443,447],ohio:382,old:[3,6,9,172,192,195,229,380,392,397,424,427,431,434,447,450],older:[3,5,12,13,17,169,181,192,229,397],oldlac:169,oleinik:339,olfason:[6,25,314,363,435],oliv:169,olivedrab:169,ollila:[216,218,219,220],olmst:[178,251],omega0:314,omega:[],omega_dot:229,omega_ijk:410,omega_ik:408,omegai:[113,167,280],omegax:[113,167,280],omegaz:[113,167,280],omgea:6,omiss:[0,7],omit:[164,169,297,343,352,373],omp:[],omp_num_thread:[3,16,18,333],omp_proc_bind:17,ompi_comm_world_local_rank:12,on_the_fli:178,onc:[0,1,2,3,6,11,12,16,40,41,59,60,63,71,91,104,150,168,169,172,173,174,188,189,190,195,203,205,207,214,252,259,270,278,286,291,293,301,324,327,328,329,360,362,364,365,390,394,420,421,430,437,440,443,448],onelevel:420,onewai:[],ongo:210,oniom:[9,264],onli:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,59,60,61,63,64,65,66,67,68,69,70,71,72,73,75,78,79,80,83,86,87,88,90,92,93,96,97,98,99,100,101,102,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,127,128,130,131,132,135,136,137,138,139,141,142,143,144,147,148,150,151,153,154,155,156,157,158,159,161,162,163,164,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,198,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,250,251,252,253,254,255,256,257,259,260,261,262,263,264,265,266,267,270,271,272,273,274,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,313,314,316,318,319,321,323,326,327,328,329,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,423,424,425,427,428,430,431,432,433,434,435,437,438,439,440,441,443,448,449,450],only_group:142,onn:432,onset:[260,312],ontario:9,onto:[120,146,191,195,216,404],onward:2,open:[],opencl:[1,3,7,15,333],opengl:6,openkim:9,openmp:[1,3,7,9,12,16,17,18,333,436],openmpi:[12,14,15,16,17,18,333],opensourc:7,oper:[],opl:[],oppos:[6,39,165,167,269,297,319,327,423],opposit:[6,70,177,213,220,251,270,293,328,349,377,411,421],opt:[],optic:123,optim:[],option:[],optionn:17,orang:[2,168,169],orbit:[261,263,339,349,357,405],orchid:169,order:[1,2,3,6,9,11,12,14,16,27,38,39,41,56,59,65,69,71,79,87,89,90,92,93,108,112,115,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,148,153,163,164,167,168,169,172,175,180,182,183,184,185,186,187,189,190,191,192,193,198,200,205,207,209,210,212,216,217,219,227,229,251,259,260,264,267,268,269,270,271,272,273,274,279,285,289,290,291,292,302,303,304,306,307,309,312,313,318,327,328,334,335,336,339,348,354,355,357,358,360,361,364,366,369,377,380,392,393,394,405,406,407,408,409,410,411,413,418,420,421,423,424,428,430,432,433,437,440,443,448,452],orderomg:3,ordinari:[111,363,389],org:[6,7,11,12,13,14,391],organ:[0,3,6,7,8,348],organometal:25,orient:[],orienti:42,origid:181,origin:[3,6,7,9,12,71,81,103,104,114,118,140,144,146,166,168,169,172,173,174,181,184,185,189,190,194,198,205,214,226,229,247,253,256,266,270,271,277,288,315,317,318,321,325,334,335,337,339,349,352,353,354,355,363,366,380,389,392,393,408,410,411,412,420,423,424,425,426,427,428,447,450],origin_i:185,origin_x:185,origin_z:185,ornl:[7,9,15],orsi:29,ortho:[3,59,146,423],orthogon:[],orthograph:168,orthong:59,orthongon:[59,270],orthonorm:195,orthorhomb:260,os4:143,oscil:[6,9,129,190,194,197,198,214,226,227,229,260,265,270,295,296,298,300,327,336,411,443,448],oscillatori:226,oserror:11,other:[],otherwis:[1,3,12,14,16,17,18,37,39,55,71,102,111,118,123,124,137,145,163,169,170,179,181,189,190,194,203,205,207,214,229,270,313,314,326,333,341,364,368,378,379,390,413,418,421,423,424,443],otyp:[349,369,373,377],ouml:443,our:[5,6,7,8,13,216,273,384,408,410,443],out:[1,2,3,6,7,8,11,12,13,14,18,19,21,41,64,66,71,75,90,91,93,94,97,103,104,105,106,107,114,115,122,123,124,125,127,128,130,131,132,133,134,136,137,139,141,147,151,167,168,169,170,172,184,188,189,190,193,201,204,205,211,213,216,221,241,252,254,255,256,265,266,267,270,275,290,299,301,302,303,304,306,309,316,317,321,324,328,332,357,364,405,417,418,420,421,423,426,427,428,430,431,432,434,437,439,440,441,444,446,448,449,450,451,452],outcom:[270,449],outer2:[344,362],outer:[3,8,16,199,211,303,317,324,326,332,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,413,414,415,416,418,431,432,437,442],outer_distance_cutoff:363,outermost:[38,56,173,174,226,229,329,407,432],outfil:[13,420],outlin:[6,168],outmost:210,outpt:12,output:[],output_frequ:178,outsid:[3,57,59,71,134,144,166,167,168,169,170,183,184,195,205,211,270,271,278,283,284,297,298,300,301,316,328,340,342,349,357,369,371,387,395,421,423,424,426,433,440,449],outuput:181,outut:6,outward:[142,295,299,300,423,432],over:[1,3,5,6,7,9,12,16,18,27,39,41,42,55,60,65,68,69,71,79,80,87,88,89,90,92,101,103,105,108,115,116,120,121,124,127,130,138,140,153,164,168,170,172,173,174,180,181,182,183,184,185,186,187,188,189,190,194,195,203,206,207,211,213,214,215,219,227,228,229,230,231,232,234,235,246,247,248,249,251,256,257,260,267,268,269,270,271,274,275,278,281,282,283,284,286,289,292,293,295,297,298,299,300,301,304,317,320,328,329,330,333,347,353,355,356,357,358,363,378,380,390,396,397,405,406,408,409,410,419,420,421,426,428,429,431,432,437,440,441,448,449],overal:[6,18,25,59,138,192,198,229,230,253,273,278,303,324,357,363,364,396],overalap:270,overcom:[241,278],overflow:[3,327,329],overhead:[6,11,19,41,169,181,184,185,188,202,259,329,330,426],overkil:270,overlai:[],overlaid:7,overlap:[3,13,16,62,76,144,147,164,169,177,180,181,183,184,185,186,195,199,241,256,261,267,270,271,278,296,300,318,321,324,326,327,333,353,357,361,364,367,377,397,412,423,426,432],overload:1,overrid:[3,12,14,17,22,44,71,130,144,152,168,169,173,174,192,199,224,229,305,318,329,346,363,364,380,384,392,420,421,433,435,440,448],overridden:[6,144,168,233,270,378,384,397,405,431,448,450],overview:[],overwrit:[11,12,22,44,152,169,181,182,183,184,185,186,271,305,316,322,346,380,421,424],overwritten:[258,289,316,363,364,418,419,424],own:[3,4,6,7,8,11,12,13,15,17,39,41,59,61,63,65,66,69,71,73,75,79,90,92,93,104,106,113,114,115,117,119,124,127,139,141,142,167,169,172,178,180,181,182,183,184,185,186,188,191,192,194,203,206,207,213,214,216,224,227,229,231,232,233,234,235,246,247,249,253,257,265,270,271,281,282,283,292,318,328,333,335,339,348,356,366,390,392,393,406,408,409,410,420,433,440,449],oxford:[29,87,352],oxid:[348,349],oxygen:[6,40,202,349,369,373,423],oxygen_c:126,p_e:290,p_ik:390,p_pi:339,pacakg:[3,4,12,40,333],pack:[5,8,67,296,333,339,380],pack_bord:8,pack_border_bodi:8,pack_border_hybrid:8,pack_border_vel:8,pack_comm:8,pack_comm_bodi:8,pack_comm_hybrid:8,pack_comm_vel:8,pack_exchang:8,pack_restart:8,pack_revers:8,pack_reverse_comm:8,pack_reverse_hybrid:8,packaag:333,packag:[],packakg:15,packet:[7,9,40,168,336,357],pad:[3,167,168,169,253,448],padua:[9,13],page:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,22,37,40,42,44,55,57,59,63,66,68,75,87,90,93,102,104,105,106,107,109,112,114,117,119,121,123,124,137,139,141,144,145,146,152,163,167,168,169,170,172,173,174,179,180,181,182,183,184,185,186,195,205,212,213,214,224,229,230,234,235,239,246,247,248,249,256,259,270,275,278,281,282,283,292,296,299,301,303,305,313,317,326,327,328,329,333,334,335,338,346,348,349,355,356,358,363,364,366,367,380,381,382,384,386,390,391,396,405,406,408,410,412,421,423,424,425,426,428,431,432,433,435,440,441,448,449,450,451],pai:[15,18],pair:[],pair_:[87,173,174],pair_airebo:366,pair_charmm:377,pair_class:8,pair_coeff:[],pair_eam:334,pair_eff:130,pair_foo:8,pair_hybrid:[384,411],pair_interact:178,pair_list:368,pair_lj:377,pair_lj_cut:8,pair_lj_soft_coul_soft:87,pair_modifi:[],pair_sph:[398,399,400,401,402,403],pair_styl:[],pair_writ:[],paircoeff:3,pairfoo:8,pairij:[3,423],pairkim:3,pairstyl:8,pairwis:[],palegoldenrod:169,palegreen:169,paleturquois:169,palevioletr:169,pan:168,panagiotopoulo:[350,359],pandit:[9,263,393],papaconstantopoulo:334,papayawhip:169,paper:[3,6,7,8,9,13,39,40,64,120,132,138,156,213,216,220,228,255,261,263,270,278,286,290,293,318,325,328,335,343,349,361,363,366,371,373,389,392,393,408,410,418,437],paradyn:5,paraemt:394,paragraph:[71,132,295,321,424],parallel:[],parallelepip:[6,146,321,423,426],parallelipip:[146,252],paralleliz:255,param:[3,261,263,420,426],paramet:[],parameter:[118,143,335,339,348,349,355,356,357,358,366,380,381,382,390,392,393,406,408,409,410],parameter_fil:178,parameterizaion:349,parametr:[6,9,36,356,391,395],paramt:[105,261,297,394],paramter:348,paratem:377,paraview:271,parent:[3,8,301],parenthes:[38,56,164,361,407,448],parenthesi:[2,181,303,448],parinello:[6,7],pariticl:188,paritlc:3,park:[3,7,9,178,274,382,389],parrinello1981:192,parrinello:[192,207,227,229,230,260,282],pars:[],parser:[12,448],part:[0,1,2,3,6,7,8,9,11,12,17,20,21,23,24,25,26,27,28,29,30,31,32,35,36,37,38,40,41,43,45,46,47,48,49,51,53,54,55,56,64,67,70,71,72,78,80,83,96,97,98,99,100,101,105,107,108,109,111,112,115,120,121,122,123,126,128,130,131,135,136,138,142,147,150,151,153,154,155,156,158,159,161,162,163,164,167,169,170,172,175,176,177,179,185,187,188,189,190,191,192,193,195,197,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,222,223,224,227,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,260,261,262,263,264,265,266,267,269,270,272,273,274,275,277,278,281,283,284,285,286,287,288,289,290,291,293,294,295,296,297,299,301,302,303,304,306,307,308,309,312,313,314,318,319,326,327,328,329,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,420,421,423,424,425,426,430,431,432,435,441,448,452],partai:[9,391],parti:9,partial:[],partic:6,particip:[190,338,367,412],particl:[],particleenergi:3,particleviri:3,particular:[1,3,6,8,10,12,16,40,63,65,69,70,71,79,92,108,113,115,116,120,144,166,167,172,177,184,188,191,206,211,212,216,226,229,251,256,269,270,273,285,296,301,304,319,321,324,327,333,338,339,340,342,344,345,347,351,356,357,360,362,364,369,373,377,386,387,394,395,405,406,408,409,410,418,420,423,424,425,430,431,433,441,448,449,451,452],particularli:[7,9,12,15,16,25,39,168,192,270,319,357],partilc:278,partit:[],partitoin:62,partner:[3,7,61,189,190,191,214,278,293,411,433,438,443],pascal:[9,13,447],pass:[6,7,8,11,66,74,75,81,89,90,93,103,104,105,106,139,167,169,170,192,193,203,205,226,227,229,259,278,295,317,329,333,364,392,404,421,423,424,428,434,448,451],passphras:12,past:[],patch:[0,12],patchi:270,path:[3,6,7,11,12,13,15,170,212,228,253,274,278,285,290,328,334,335,339,346,355,356,358,366,380,381,382,386,390,391,392,396,406,408,410,424],patient:12,patom1:115,patom2:115,patrick:409,pattern:[3,7,12,62,73,425],pattnaik:270,paul:[0,7,13,213,215],pauli:[9,357],paus:431,paves:253,payn:[120,391,396],pb2:143,pb4:143,pbc:[295,336],pchain:[229,230,233,270],pcie:1,pd2:143,pd4:143,pdamp:[229,230,233,257,270],pdb:[6,13,170],pdf:[0,8,9,13,17,40,99,100,101,111,193,212,222,223,389,398,399,400,401,402,403,433],pdim:293,pdlammp:[78,80,389],pdlammps_ep:[111,389],pdlammps_v:389,pe_eta:229,pe_etap:229,pe_omega:229,pe_strain:229,peachei:13,peachpuff:169,peak:359,pearlman:87,peculiar:12,pedersen:319,peform:[39,262],penalti:[14,392,393],pencil:[6,71,132,184],pend:3,penetr:42,peng:143,penn:13,pentium:10,peopl:[7,8,9,12],peptid:[4,9,193],per:[],peratom:[3,110,121],perceiv:168,percent:[3,16,192,333,406],percentag:[1,192,229,256,257,270],percol:190,perfect:[6,41,70,73,188,251,328],perfectli:[41,188,424],perfom:[6,328],perform:[],performac:1,pergamon:[380,410,416],perhap:321,peri:[],peridyma:78,peridynam:[3,4,6,7,9,40,63,78,80,111,389,405,433],perimitt:350,period:[],perioid:295,perl:[6,13],perm0:447,perman:[3,39,54,71,148,189,190,210,269,301,333,363,427,435],permeabl:250,permiss:[190,421],permit:[6,216],permitt:[350,410,415,416],permut:[12,356,406,408,410],perpendicular:[6,123,168,194,211,221,226,228,251,254,295,296,325,423],perram:[319,360],persepct:168,persist:[3,8,71,203,270,333,420,421,429,448],person:9,persp:[3,168],perspect:168,pertain:[346,405],perturb:[9,13,70,87,225,268,295,298,300,428],peru:169,peskin:216,pessimist:319,petersen:[278,319],pettifor:[339,405],pettifor_1:339,pettifor_2:339,pettifor_3:339,pfactor:168,pforc:421,phantom:210,pharmaceut:7,phase:[3,12,16,229,285,293,339,369,409,420],phd:391,phenol:443,phenomena:357,phi0:[162,269],phi1:151,phi2:[151,356,406],phi3:[151,356,406],phi:[1,3,4,7,9,12,16,17,79,120,163,164,168,208,252,269,307,333,334,339,355,358,380,381,382,436],phi_ij:[339,358,390],philadelphia:9,phillip:[214,353,443],phillpot:[262,348,349],philosoph:355,philosophi:[6,7,212],phonon:[],phophor:396,phosphid:396,phy:[6,7,13,20,21,25,39,43,45,46,64,70,73,87,88,110,112,120,121,126,132,150,151,161,179,192,193,198,206,207,212,213,214,215,216,227,228,229,230,233,247,248,252,253,257,260,262,265,270,273,274,278,281,282,285,286,287,288,290,293,295,304,312,314,318,319,325,328,335,339,340,344,345,347,348,349,350,351,352,353,355,356,357,359,360,361,362,363,366,369,371,373,374,377,378,379,380,382,383,384,387,389,390,394,396,404,406,407,408,409,410,411,418,432,435,437,443],physic:[3,6,9,12,14,16,17,18,40,53,59,138,178,194,207,213,215,216,218,219,220,227,252,261,263,289,290,319,321,328,333,335,337,343,347,355,363,364,391,392,393,399,400,402,403,418,420,432,438,447],physica:[378,379],physik:[7,9],pic:9,picki:8,picocoulomb:447,picogram:447,picosecond:[169,194,441,447],picosend:357,pictur:7,piec:[3,11,120,169,229,430,452],pieter:13,pimd:[],pin:16,pink:169,pipe:[6,168],pipelin:[3,6],pisarev:290,pishevar:353,piston:[],pitera:6,pixel:168,pizza:[4,6,7,11,13,41,167,168,188],pjintv:13,pka:290,place:[3,6,7,9,11,12,33,41,50,71,87,138,144,148,157,164,167,168,169,171,172,173,174,190,191,194,205,206,207,209,212,213,214,215,217,219,220,229,234,235,246,249,256,259,268,270,281,282,283,290,295,298,300,317,346,363,405,412,420,421,424,431,433,441,448],placehold:[33,157,334,335,348,355,358,365,366,380,381,382,386,390,392,393,396,404,406,408,409,410],placement:[321,369],plai:[168,285],plain:[9,377,421],plan:[3,5,6,16,17,146,423],planar:[6,40,42,211,251,296,312,314],planck:[205,253],plane:[3,6,9,41,42,57,59,67,71,168,172,178,184,188,208,211,221,251,254,264,275,277,290,296,304,306,307,308,309,314,321,379,412,426,433],planeforc:[],plasma:[9,88,230,290,357],plastic:[],platform:[1,3,7,9,12,13,15,17,167,168,170,425,430,452],plath:[6,91,172,286,293],player:168,pleas:[0,3,7,11,12,13,178,207,216,220,252,255,266,285,301,356,358,389],plen:336,plimpton:[0,5,7,70,112,121,191,251,278,361,389],plo:29,plog:[3,12,432],ploop:[229,230,233],plot:[7,11,13,260,375,377,407,413],plu:[3,11,12,39,59,68,96,147,169,187,192,194,195,233,270,330,357],plug:9,plugin:[9,13,170,424],plum:169,pm3:143,pmb:[],pme:319,pmf:[193,274,275],png:[3,12,167,168],pni:168,poariz:6,poem:[],point1:423,point2:423,point3:423,point:[],point_data:271,pointer:[3,7,8,11,203,421],pois:447,poiseuil:[4,175,208],poisson:[59,194,319,361],poisson_solv:178,polak:325,polar:[6,7,120,143,178,197,348,349,369,411,443],polar_off:348,polar_on:348,polariz:[],poli:[],pollock:[7,319],polya:301,polybond:13,polychain:270,polydispers:[3,341,347,361,378,379,405,415],polygon:[6,142],polym:[],polymer:7,polymorph:[],polynomi:[38,56,164,355,375,384,400,407],polytechn:255,poor:[16,17,41,188,247,248,273,333,375],poorli:[325,326],pop:[3,8],popen:12,popul:[12,265,321,354,423],popular:[12,167,356],pore:275,poros:147,porou:[216,219],port:[210,212],portabl:[7,9,12,167,193,392,425],portion:[1,3,9,11,12,15,16,41,54,71,88,91,107,108,110,113,121,134,167,169,180,181,183,184,185,186,188,192,202,216,229,231,232,234,235,262,267,268,270,271,303,317,329,333,340,342,343,344,345,349,350,352,353,357,359,360,362,363,369,373,377,387,394,395,410,413,422,423,428,432,433,448],poschel:361,posfreq:267,posit:[3,6,14,27,39,40,41,42,46,57,59,70,71,81,89,90,103,104,108,117,118,120,121,127,142,143,144,146,147,148,153,155,164,166,168,169,172,173,175,177,179,180,181,183,184,185,188,189,190,191,192,193,194,195,198,200,205,206,207,208,210,211,213,214,215,216,218,219,222,223,226,227,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,255,256,257,260,261,265,267,268,270,273,274,275,277,278,280,281,282,283,285,287,288,289,290,293,295,296,297,298,299,300,301,304,318,321,328,335,336,338,341,353,354,357,359,367,372,393,404,407,412,418,423,426,433,443,448,449],posix:210,posix_memalign:12,possibl:[1,3,6,8,9,11,12,15,38,40,41,55,59,63,70,71,87,113,115,120,121,123,137,166,167,169,172,174,178,179,184,188,189,190,191,195,197,207,214,251,264,265,267,270,278,280,290,291,308,317,319,326,329,330,333,354,363,380,393,407,421,427,436,437,438,441,443,448,449,451],post:[],post_forc:8,post_force_integr:8,post_force_respa:8,post_integrate_respa:8,postit:[184,185,241],postiv:86,postma:[257,281],postprocess:13,pot:[361,393],potentail:358,potenti:[],potentiel:377,potetni:364,potpourri:9,pour:[],pourtoi:285,pow:194,powderblu:169,power7:17,power8:17,power:[3,9,11,105,120,169,265,318,333,339,421],pparam:[87,173,174],ppm:[12,167,168],ppn:[14,15,16,17,18,333],pppm:[],pppm_disp:3,pppmdisp:3,pproni:[3,206],pr3:143,pr4:143,practic:[3,12,192,229,230,252,259,420],prb:[408,410],prd:[],pre:[],pre_exchang:8,pre_forc:8,pre_force_respa:8,pre_neighbor:8,prec_tim:14,preced:[2,6,59,180,181,182,183,184,185,186,212,267,271,303,321,328,333,339,363,437,440,441,448],preceed:[11,12,71,132,182,295,421,448],precipit:142,precis:[1,3,9,12,13,14,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,144,150,151,153,154,155,156,158,159,161,162,164,167,169,175,187,192,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,261,262,263,270,272,273,281,283,294,304,306,307,308,309,312,314,318,319,326,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,392,394,395,397,406,407,408,409,410,412,414,415,416,425,432,433,436,441,443,447,448,449],precv:420,predefin:[162,169,301,357],predict:[1,6,10,241,270,333],preexponenti:437,prefactor:[24,25,28,32,35,36,138,152,163,173,174,182,295,306,309,312,326,347,359,386,394,395,397,415],prefer:[7,8,12,269,291,335],prefix:[11,12,168,193,252,417,420],preliminari:[38,56,164,407],prematur:326,prepar:[9,264,278,434,443],prepend:392,preprint:[120,396],preprocessor:210,prerecord:193,prescrib:[6,8,123,124,137,172,173,178,181,195,226,243,291],presenc:[167,189,190,216,219,378,379,415,450],present:[1,3,12,16,18,142,164,168,195,206,207,212,216,217,219,220,265,296,299,348,357,368,377,393,394,420,443],preserv:[3,59,192,194,229,273,278,300,424],press:[],pressdown:187,pressur:[],pressure_with_eviri:357,presum:[73,133,172,173,174,194,328,364,426],prevent:[2,3,6,195,204,278,289,312,318,324,326,328,333,353,364,388,399,400,402,404,421,425,431,443,448],previou:[],previouli:195,previous:[3,11,59,61,71,86,102,117,119,133,144,146,148,166,167,169,177,179,180,181,182,183,184,185,186,194,195,205,211,224,226,256,268,270,272,273,290,292,295,296,297,298,300,301,320,361,405,418,421,425,426,436,438,440,441,444,445,446,448,449],prevoiu:296,price:[6,352],primari:[0,9,290],primarili:[5,7,9,17],primaritli:17,prime:[198,214,362,367,408,410,420],primit:[3,6,298,299,321],princip:[3,210],principl:[6,9,11,210,230,261,357,365,406,420],prinicp:[42,270,327],print:[],printabl:2,printflag:365,printfluid:216,prior:[142,165,320,451],priori:432,prioriz:333,prism:[3,6,132,146,426],priveleg:3,privileg:[12,210],prob:[189,190],probab:397,probabl:[3,8,12,40,71,134,147,148,150,179,188,189,190,191,195,205,214,229,256,295,301,326,384,418,437,443],problem:[],problemat:205,proc:[1,3,8,11,12,15,113,167,317,420],proce:[41,54,148,188,199,328,430,438,441],procedur:[6,12,39,41,169,179,188,205,213,214,215,229,231,232,233,234,235,246,247,248,249,252,281,282,283,284,287,288,326,328,335,341,424,443],proceed:12,procesor:[41,420],process:[],processor:[],processsor:[41,188,420],procp1:167,procssor:432,produc:[1,3,4,6,7,12,13,14,15,16,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,42,43,45,46,47,48,49,51,53,54,56,63,65,68,69,71,79,92,108,109,110,112,113,114,115,117,119,121,122,131,150,151,153,154,155,156,158,159,161,162,164,167,169,172,175,180,181,182,183,184,185,186,187,188,191,201,203,204,206,207,208,213,214,215,224,226,229,231,232,233,234,235,236,244,246,247,249,256,260,261,262,265,270,271,272,273,279,280,281,283,290,291,292,294,295,298,303,304,306,307,308,309,312,314,319,326,328,331,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,390,393,394,395,397,406,407,408,409,410,412,414,415,416,418,420,425,428,429,432,437,448,449],product:[16,17,18,120,194,247,261,291,333,336,357,393,420,448],proessor:333,prof:255,profi:133,profil:[],program:[3,4,6,7,9,11,12,13,17,167,168,169,170,172,193,203,210,216,264,355,421,434,448],programm:[13,17],progress:[1,41,188,210,227,260,325,326,328,441,443],prohibit:433,project:[6,7,12,13,14,325,405],promis:7,promot:339,prompt:[8,11,12,210,434],proni:[3,206,207],proofread:8,prop:[6,259],propag:[4,9,177,229,260,357,364],propens:6,proper:[191,251,380,421],properati:259,properli:[175,200,270,327,328,421,449],properti:[],propoerti:278,proport:[6,39,41,87,103,104,140,188,213,214,215,260,286,293,294,361],proportion:213,propos:[6,120,179,192,205,229,247,265,369,382,409,411],prospect:7,protect:278,protein:[7,10,144,268,270,276,423,431],protocol:210,proton:[410,416,447],prototyp:[10,42,389],prouduc:[186,292],prove:216,proven:247,provid:[1,3,4,6,7,8,9,11,12,13,14,15,16,17,18,29,40,42,67,70,118,138,143,144,170,180,181,186,191,192,193,194,203,205,210,212,216,220,227,229,252,260,261,264,265,270,274,285,287,288,291,292,303,316,318,319,324,328,333,335,339,341,346,348,349,353,356,357,361,363,366,368,377,378,380,382,390,391,392,393,396,404,405,406,408,409,410,420,425,431,436,437,441,448],proxim:166,psa:298,pscreen:[3,12,432],pscrozi:[0,7,13],psec:[169,194,209,213,214,229,257,270,281,282,442,447],psend:420,pseudo:[357,418,423,428],pseudodynam:285,psf:6,psi:[358,415],psi_ij:358,pstart:[3,229,230,233,257,270],pstop:[3,229,230,233,257,270],pstyle:[87,107,173,174],psu:[392,393],psuedo:428,pt2:143,pt4:143,ptarget:192,pthread:[12,17],ptr:[6,11,203,421],ptype1:115,ptype2:115,pu3:143,pu4:143,pu6:143,publicli:5,publish:[7,216,220,261,349,380,408,410],pull:[274,275],puls:290,pump:[378,379],punctuat:[2,418,437],purchas:168,purdu:[9,13],pure:[11,278,364,381,382,408,410,432],purg:[3,424],purpl:[2,169],purport:11,purpos:[3,6,7,12,42,61,71,118,127,128,143,144,146,148,164,167,184,186,191,192,213,251,253,256,258,269,278,318,333,343,367,373,384,412,423,425,426,430,433,435,436,448,452],push:[3,8,175,187,194,211,228,251,268,274,326,361,397],pushd:211,put:[3,6,8,11,12,13,39,59,132,144,167,195,199,297,298,301,321,392,421,423,427],putenv:[434,448],px1:432,px2:432,pxx:[192,229,257,270,318,319,440,441],pxy:[3,6,441],pxz:[3,6,441],py1:432,py2:432,pydir:11,pyi:[192,229,257,270,318,319,441],pymol:[7,11,13],pymol_aspher:[],pympi:11,pypar:11,python:[],pythonpath:11,pyz:[3,6,441],pz1:432,pz2:432,pzz:[192,227,229,257,260,270,318,319,441],q_c:443,q_d:443,q_i:[358,377,411],q_j:377,qbmsst:[],qcore:261,qdist:[349,369,373,377],qeq1:261,qeq2:261,qeq:[],qfile:[261,349],qin:209,qmin:325,qmmm:[],qmol:264,qout:209,qtb:[],quad:[12,18,333,420],quadrat:[],quadratur:[87,178],quadrupl:334,quadruplet:[160,163,304,306,307,309,311,312,313],qualifi:[3,212],qualiti:[7,9,168,169],quantit:[74,81,103,104,105,140,361],quantiti:[],quantum:[6,9,120,203,207,253,260,264,265,339,357,405],quantum_temperatur:260,quartic:[],quartic_spher:178,quartz:[260,265],quasi:253,quat:433,quaternion:[3,6,40,82,113,123,144,231,234,237,238,239,246,360,423,433],quati:[113,423],quatj:[113,423],quatk:[113,423],quatw:[113,423],queen:13,quench:[301,418,437],queri:[3,11,54,243,421,448],quest:[6,203],question:[8,9,12,13,251,301,389,448],quick:[0,9,12,14,15,16,17,18,19],quickli:[3,4,8,12,13,39,188,194,210,278,325,326,328],quickmin:[324,325,326,328,437],quicktim:[4,168],quip:[],quit:[],quot:[2,3,12,219,258,303,380,418,419,421,431,448],r10:339,r12:360,r_1:120,r_2:120,r_c:[350,352,359,410],r_cut:339,r_d:443,r_e:358,r_ewald:271,r_fu:[378,379],r_i:[29,120],r_ii:120,r_ij:[29,339,357,390,416],r_ik:390,r_j:29,r_jik:390,r_max:185,r_me:350,r_mh:359,r_min:[185,351],r_ub:20,r_x86_64_32:12,ra2:143,rad2theta:143,rad:301,radhi:426,radial:[63,96,97,113,116,120,128,130,135,185,215,230,240,248,275,284,326,357,363,384,423,426],radian:[20,21,24,28,32,35,36,38,143,151,162,164,269,304,306,309,312,423,426],radiat:[118,143,290],radic:[146,423],radii:[76,120,191,195,347,355,360,361,378,379,415,426],radit:357,radiu:[3,6,63,76,84,85,89,90,113,118,120,137,142,167,168,172,185,211,216,230,232,235,240,244,248,249,263,275,276,278,280,295,296,299,301,325,339,341,347,357,358,361,369,377,378,379,380,396,410,415,423,426,433,448],radlo:426,rafferti:293,rahman:[6,7,192,227,229,230,260,389],rai:[9,17,143],ram:410,ramp:[],ran:[3,4,6,10,11],random:[3,6,39,144,147,166,168,177,179,189,190,191,193,195,202,205,206,207,213,214,215,216,225,253,256,260,265,268,270,278,282,285,290,294,297,341,353,354,418,433,438,443,448,449],random_se:418,randomli:[144,147,179,195,205,213,256,278,300,437,438],rang:[1,3,6,7,8,9,10,12,14,15,16,18,38,39,56,71,77,88,108,109,110,112,116,117,120,121,130,138,143,145,148,149,156,164,167,168,169,178,179,190,194,195,205,207,256,271,278,279,285,286,291,293,318,319,326,329,330,333,335,337,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,357,360,362,363,364,366,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,387,390,393,394,395,404,405,407,410,414,415,416,417,421,432,433,441,451],rank:[6,11,12,210,291,316,420],rankin:233,raphson:3,rapid:[4,6,11],rapidli:[3,8,12,71,191,213,227,229,270,281,282,294,349,353],rapp:[261,262,263],rappe_and_goddard:262,rare:6,rasmol:[6,7],rasmussen:360,raster3d:[6,7],rate:[6,12,127,169,178,194,195,209,210,211,256,260,286,287,288,289,293,324,325,354,378,379,418,437,441],rather:[1,2,6,9,12,40,41,62,112,127,168,188,194,206,207,270,282,290,294,296,297,298,301,357,392,407,424,428,433,435,440,448],ratio:[6,10,59,87,101,120,179,188,194,213,215,278,286,293,294,318,331,360,361,394,399,412,420,423,433,437],rational:[291,435],rattl:[],rattle_debug:273,ravelo:[233,371],rayleigh:[227,260],rb1:143,rbg:169,rcb:[3,41,188],rcm:[89,90],rcmx:[89,90],rcmy:[89,90],rcut:61,rcutfac:[120,396],rd1:328,rdc:17,rdf:[],rdn:328,rdt:328,rdx:4,reach:[6,12,41,119,188,190,192,214,233,278,285,303,317,332,350,443,448],react:6,reactant:357,reaction:[274,276,289,300,328,357],reactiv:[9,267,335],read:[2,3,6,7,8,9,11,12,13,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,38,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,115,142,144,145,147,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,167,168,169,170,171,172,178,179,191,192,194,195,205,207,210,226,227,229,231,232,233,234,235,246,247,248,249,252,253,255,256,258,259,263,270,273,274,277,280,288,289,290,296,304,305,306,307,308,309,311,312,313,314,315,317,323,327,328,332,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,413,414,415,416,418,420,423,424,425,427,428,429,430,431,433,434,435,437,448,449,450,452],read_data:[],read_dump:[],read_restart:[],read_restart_set:8,readabl:[168,327,430,452],reader:[3,13,424],readi:[11,12,145,147,148,210,433,443,450,451,452],readm:[1,4,6,8,9,11,12,13,142,167,170,264,365,392,393,421],real:[3,6,7,11,27,30,31,59,71,91,120,133,144,153,166,169,177,184,185,194,195,198,210,211,214,226,253,260,265,268,294,295,297,298,300,308,318,319,321,324,330,349,384,392,393,410,423,426,432,440,442,447,449],realist:[3,195,427],realiz:[71,172,421],realli:[1,3,8,12,112,121,169,211,329,364,435],realloc:3,realtim:210,reamin:[295,299],rearrang:328,reason:[3,6,7,11,12,19,39,125,136,144,181,184,185,213,257,270,287,288,291,301,327,328,333,346,350,357,358,359,379,384,412,413,427,432,449],reax:[],reax_def:3,reaxc:[],reaxff:[3,4,5,7,9,13,172,261,263,266,267,364,392,393,405,435],rebal:[41,188],rebalanc:[41,188],rebo:[],rebuild:[11,12,14,15,16,205,329,353,441],rebuilt:[3,12,167,168,170,329,333],recalcul:[71,87,278],receiv:[3,187,210,212,251,420],recent:[],reciproc:[6,118,143,252,318,340,342,343,349,352,357,369,373,387,395,437],recog:12,recoginz:3,recogn:[3,12,16,73,146,189,190,229,327,355,380,392,421,423,430,431,443],recommend:[7,9,11,12,14,16,168,169,260,288,318,357,378,379,393,394,432],recompil:[1,3,9,12,170,273],recomput:[102,148,199,274,354,435],reconstruct:[3,193],record:[170,193,274],recov:[192,229],rectangl:[41,188,321],rectangular:[7,41,62,146,188,205,321,423,425,427],rectilinear:[118,143],rector:53,recurs:[41,188,339,412],recust:41,recv:420,red:[2,10,168,169,191,253],redefin:[3,425,431,448],redirect:12,redo:12,reduc:[],reduct:[18,19,117,118,143,227,260,318],redund:358,ree:400,reed:[227,260],rees:[7,9,13],ref:[287,288,325],refactor:6,refer:[],referenc:[3,6,12,63,68,71,114,167,172,182,186,205,259,292,319,349,363,386,394,421,441,448],reflect:[],reformat:7,refresh:178,reg:426,regard:[6,59,226,273,389,393],regardless:[15,71,144,147,166,183,184,194,213,229,231,232,234,235,257,270,278,333,420,426,433],regim:[6,286,293,350,432],region:[],region_spher:8,region_styl:299,regist:[116,392,393],regoin:6,regress:448,regspher:144,regstrip:301,regul:6,regular:[1,3,9,41,62,88,142,146,179,188,205,290,319,350,404,420,423,425,427],reigon:448,reinhardt:[287,288],reject:[144,191,392,438],rel:[1,6,14,27,36,41,59,71,120,123,126,127,129,144,153,169,172,179,184,188,194,195,198,205,211,225,226,247,251,256,265,267,268,274,275,278,280,285,286,290,297,301,318,319,326,357,360,361,378,379,380,394,415,424,432,437,441,443,449],relat:[],relatic:[198,214],relationship:[6,261,303,318,415,443,448],relax:[],releas:[0,5,7,8,13,189],relect:[3,384],relev:[2,6,12,41,78,80,111,144,148,169,173,174,177,178,179,180,181,182,183,184,185,186,187,188,189,190,194,195,196,199,201,202,204,205,206,209,210,216,217,218,220,221,222,223,225,226,228,236,237,238,239,240,241,242,243,244,245,250,254,255,256,258,259,262,264,266,267,268,271,272,273,274,276,278,279,280,285,286,289,290,291,292,293,294,295,296,297,298,300,301,318,326,336,337,341,347,349,350,352,353,354,357,359,360,361,362,363,368,370,371,372,374,375,376,378,379,384,385,389,394,397,404,407,414,415,416,420,436,449],reli:[3,12,262,357,393,423,433],reloc:12,remain:[7,33,37,41,50,55,59,71,87,104,124,125,126,127,131,132,133,134,136,147,157,163,164,167,173,174,179,181,182,184,185,192,194,213,214,221,229,230,234,235,246,247,249,254,255,278,281,282,283,289,290,301,303,310,313,327,339,357,364,377,384,405,418,423,424,428,433,435,437,441,443,448,449],remaina:339,remaind:[144,167,195,256,278,291,410,423],remap:[3,6,12,59,61,71,127,144,166,184,194,211,226,247,318,423,424,425],remedi:[6,443],rememb:2,remov:[2,3,6,8,9,13,54,71,77,114,116,120,123,124,125,126,127,131,132,133,134,136,137,144,147,148,172,181,184,189,202,213,214,219,225,227,229,234,235,246,247,249,255,261,270,271,273,278,281,282,283,285,301,318,328,352,379,423,426,434,435,448,449],remove_bia:8,remove_bias_al:8,remove_molecul:178,remove_sourc:178,remove_speci:178,ren:143,renam:[12,302,434],render:[12,13,167,168,169],rendon:[229,230],reneighbor:[3,8,12,39,57,71,184,188,205,278,291,301,353,440,441],renssela:255,renumb:71,reorder:[3,12,39,420],repeat:[2,6,168,169,184,191,192,205,321,339,408,410,412,418,437],repeatedli:2,repel:211,repes:167,replac:[2,3,6,11,12,41,63,89,90,117,122,123,124,125,126,127,130,131,132,133,134,136,137,167,168,169,170,181,182,183,184,185,186,188,191,195,213,233,258,265,267,349,371,424,425,430,431,441,448,449,450,452],replic:[],replica:[],replica_fil:12,report:[],repositori:[7,12,365,391,392,393],reprens:290,repres:[1,3,6,8,9,12,15,40,41,42,59,67,71,90,113,116,156,164,167,168,181,182,183,184,185,186,192,198,206,208,213,216,229,253,255,257,265,270,271,274,275,290,292,299,319,328,334,339,360,367,377,378,379,380,381,382,387,390,392,393,411,412,418,420,423,433,435,438,443,448,450],represent:[3,6,8,57,59,146,167,206,207,253,290,339,357,360,394,423,426,443],reprocess:428,reproduc:[3,229,296,349,355,361],repul:380,repuls:[6,7,9,36,45,46,108,211,261,295,296,299,335,339,347,349,353,357,361,363,377,380,383,404,410,415,416],reqir:[261,263],request:[3,6,8,12,41,147,164,167,210,216,268,278,280,316,318,392,393,418,428,433,436,437,448,449,450],requir:[],rerun:[],rescal:[],research:[5,7,216,220,418,437],resembl:265,reserv:[12,210,443],reservoir:[91,205,209,213,290],reset:[],reset_atomic_reference_posit:178,reset_dt:8,reset_target:8,reset_tim:178,reset_timestep:[],resid:13,residu:210,residue1:329,resist:[6,210],resolut:407,resolv:[192,253,278,379],resort:3,resourc:[7,334,355],respa:[3,16,199,210,229,331,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,431,432,442],respect:[1,6,9,10,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,42,43,45,46,47,48,49,51,53,54,56,59,70,71,87,89,96,97,118,126,129,138,142,143,150,151,153,154,155,156,158,159,161,162,164,168,169,184,185,190,191,192,208,211,213,214,216,229,231,232,233,234,235,236,244,246,247,249,261,262,270,271,274,275,277,290,295,304,306,307,308,309,312,314,316,318,319,323,326,327,332,333,334,335,337,339,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,394,395,396,397,406,407,408,409,410,411,412,414,415,416,420,424,432,433,436,443,448,450,452],respon:9,respond:[6,7,127,194,357,389],respons:[6,7,227,286,293],resquar:[],rest:[6,8,12,259,263,269,339,379,380,440,441,443],restart1:253,restart2:253,restart2data:[],restart:[],restartfil:[12,13],restor:[3,8,60,61,144,173,174,259,274,275,280,440,441],restore_bia:8,restore_bias_al:8,restrain:[],restraint:[9,193,227,269,277,368],restratin:269,restrict:[],result:[1,2,3,6,7,9,11,12,13,15,16,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,45,46,47,48,49,51,53,54,56,63,64,66,67,71,75,87,90,91,93,104,106,109,110,112,114,115,116,117,118,119,121,122,124,127,131,138,139,141,143,144,147,150,151,153,154,155,156,158,159,161,162,164,167,168,169,172,175,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,198,201,204,205,206,208,213,214,216,220,227,229,231,232,233,234,235,236,244,246,247,248,249,252,253,261,262,267,268,270,272,273,278,281,283,286,287,288,290,291,292,294,295,296,298,300,303,304,306,307,308,309,312,314,318,319,328,331,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,393,394,395,397,406,407,408,409,410,411,412,414,415,416,418,420,423,425,426,427,428,432,433,434,435,437,447,448,449],resum:448,retain:[2,189,190,339,420],retart:[33,50,157,310],retreiv:8,retriev:[6,8,203,381,382,448],reus:[3,435],rev:[6,13,64,70,110,120,121,132,179,207,213,215,227,229,230,233,247,252,262,265,270,274,278,282,285,287,288,293,325,339,347,348,349,352,355,356,357,360,361,366,371,378,379,380,382,390,394,396,406,408,409,410,418],revers:[2,6,8,87,155,191,211,229,250,251,261,286,287,293,328,377,432,443],review:[120,261,274,285,391,396,418,437,443],rewind:317,rewrap:167,rewrit:[5,12],rewritten:19,rezwanur:389,rfac0:[120,396],rfactor:278,rfile:270,rg0:276,rgb:169,rh3:143,rh4:143,rhaphson:3,rheolog:6,rhi:407,rho0:[380,402,403],rho0_meam:380,rho:[40,113,216,289,321,334,340,342,343,355,380,381,382,394,399,401,423,447],rho_0:[402,403],rho_alpha_beta:355,rho_bkgd:380,rho_colloid:295,rho_e:290,rho_fin:289,rho_i:[381,382],rho_initi:289,rho_ref_meam:380,rho_wal:295,rhodo:10,rhodopsin:[1,10],rhosum:[],ribier:325,richardson:270,richi:[9,19],rick:[261,262,348],rick_and_stuart:262,ridg:[9,19],right:[3,6,11,12,41,144,162,163,166,188,191,211,216,226,250,303,321,349,411,423,426,433,448],rightmost:[41,188],rigid:[],rigidifi:270,rii:[89,90],rij:[189,190,251,353,404],rin:[363,374,375],ring:[],rino:73,rinv:318,rirj:[296,361],rise:29,risi:[120,396],risk:[8,269,432],rix:[89,90],rjk:[189,190],rjone:[7,9,13],rlo:407,rmask:[3,448],rmass:3,rmax:[145,189],rmdir:434,rmin0:[120,396],rmin:[145,190,371],rmsd:289,rnemd:6,robin:169,robust:[324,325,326],rock:380,rockett:390,rod:270,rodata:12,rodnei:265,roi:7,role:285,roll:12,room:[57,59],root:[11,87,89,90,285,289,333,355,430],rosati:39,rose:380,ross:380,rosski:253,rosybrown:169,rot:[6,91,253,269,285,449],rotat:[],rotaton:426,rough:[6,144,168,300],roughli:[7,10,12,41,127,142,168,205,213,214,228,229,241,257,270,278,281,282,285,319,328,333,425,432],round:[1,3,12,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,71,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,169,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,331,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,425,432,447,448],rous:206,rout:[87,363,377],routin:[5,6,8,11,15,16,38,39,56,88,148,150,216,391,407,436],roux:[6,198,214,411,443],row:[6,65,66,68,69,75,79,90,92,93,104,106,108,114,115,116,119,124,132,139,141,143,181,182,183,184,185,186,219,270,290,292,300,357],royalblu:169,rozero:380,rperp:226,rpi:255,rpm:12,rrespa:[1,3,5,7,8,16,173,174,226,229,329,334,335,336,337,338,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,432],rspace:3,rsq:[407,413],rsurfac:290,ru3:143,ru4:143,rub:20,rubia:[381,382],rudd:[384,407],rudra:[7,9],rudranarayan:[7,255],ruiz:179,rule:[],run1:[6,332,448],run2:[6,315,317,332,448],run3:[6,332,448],run4:[6,332,448],run5:[6,332,448],run6:[6,332,448],run7:[6,332,423,424,428,448],run8:[6,332,448],run:[],run_styl:[],runloop:317,runtim:[12,17,168,333],russia:9,rutherford:290,rutuparna:[408,410],ryan:9,ryckaert:[273,312],rycroft:142,s00:389,s0st:6,s2050:1,s2629:355,s319:178,s_i:[6,357],s_ij:6,sack:7,saddl:[228,328],saddlebrown:169,sadigh:[179,355,381,382],saed_vtk:118,safe:[12,168,198,214,333],safe_zon:3,safest:[3,278],safezon:393,safran:415,sagui:[319,352],sai:[1,3,12,13,169,392,393,421],said:326,sakai:409,salmon:169,salt:[350,359,380,423],same:[1,2,3,4,6,8,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,41,43,44,45,46,47,48,49,50,51,53,54,56,57,59,62,63,65,69,71,72,77,79,81,82,84,85,87,88,89,90,91,92,94,97,103,104,105,108,109,110,112,113,115,116,117,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,140,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,164,165,166,167,168,169,172,173,174,175,178,179,181,183,184,185,186,187,188,189,190,191,192,194,195,199,200,201,204,205,206,207,208,209,210,211,212,213,214,215,216,219,226,229,231,232,233,234,235,236,244,246,247,248,249,251,252,253,255,256,257,260,261,262,263,265,266,267,268,269,270,272,273,274,275,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,296,297,298,299,301,303,304,305,306,307,308,309,312,314,318,319,321,322,323,327,328,329,330,331,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,383,384,385,386,387,389,390,394,395,397,404,405,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,428,431,432,433,434,435,436,437,441,443,447,448,449,451],sampl:[1,2,4,6,9,10,11,12,14,91,123,137,142,166,168,181,182,184,185,193,195,203,205,207,209,229,230,253,256,265,267,271,275,276,278,282,285,288,300,329,339,354,423,437],sample_frequ:178,san:389,sandia:[0,5,7,9,13,14,17,70,111,358,380,389],sandybrown:169,saniti:[269,329],satellit:6,satifsi:448,satisfi:[3,12,73,118,120,142,143,192,216,233,273,298,326,329,361,437],satur:350,save:[6,8,12,19,40,59,164,168,191,206,207,213,214,215,256,265,290,319,329,331,339,425,428,435],sb3:143,sb5:143,sc3:143,scalabl:[],scalar:[],scale:[0,1,3,4,5,6,9,10,13,18,40,59,63,91,113,116,117,120,130,138,164,167,168,169,172,173,174,178,179,182,192,194,205,209,210,211,213,215,216,227,229,231,232,233,234,235,253,257,260,261,270,278,280,282,285,287,288,290,294,301,318,319,321,330,334,335,336,350,354,357,361,378,379,380,389,411,424,426,428,432,435,437,440,441,448,449],scalegamma:216,scalexi:[3,192,229,233],scalexz:[192,229,233],scaleyz:[192,229,233],scan:[169,190,317,424],scatter:[11,118,143],scatter_atom:11,scatter_coord:11,scenario:[6,40,61,191,259,268,278,291,299,329,427,428,432,440],scf:443,schaik:377,schedul:418,schell:409,schemat:191,scheme:[6,9,18,206,207,229,253,265,273,290,318,411],schlitter1:289,schlitter2:289,schlitter:289,schmid:353,schneider:[213,215],schoen:318,schr:443,schroding:357,schroeder:443,schulten:[214,274,319,443],schunk:278,schwen:9,sci:[73,298,348,382,390],scienc:[8,178,191,210,274,287,355,381,409],scientif:[120,355],scm:11,scratch:[12,41,188],screen:[],screenshot:11,scripe:11,script:[],scripta:67,scsl:12,sdk:[],sea:11,seagreen:169,seamlessli:259,search:[0,2,3,8,12,145,147,169,170,278,324,325,326,328,330,418,424,425,437,448],seashel:169,sec:[12,442,447],second:[1,3,6,9,10,11,12,16,17,54,57,59,61,71,88,91,105,112,121,132,138,142,143,145,146,147,166,167,169,172,181,182,183,184,185,186,191,205,206,211,226,228,253,267,269,270,273,274,275,276,278,287,288,290,301,318,321,325,326,328,329,333,338,339,340,342,343,348,349,355,357,358,361,362,364,368,371,380,384,386,406,409,410,411,418,419,420,421,423,425,430,432,436,437,441,443,447,448,449,450,452],secondari:[3,156],sectinn:451,section:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,58,59,63,64,65,66,67,68,69,71,74,75,78,79,80,81,83,86,87,88,89,90,91,92,93,96,97,98,99,100,101,103,104,105,106,107,108,109,111,112,113,114,115,118,119,120,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,145,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,170,172,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,193,194,195,197,198,200,201,202,204,205,206,207,208,210,212,213,214,215,216,217,218,219,220,222,223,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,257,259,260,261,262,263,264,265,266,267,270,272,273,274,278,281,282,283,284,285,286,287,288,289,290,291,293,294,296,297,301,302,304,305,306,307,308,309,310,312,313,314,319,320,321,323,327,328,330,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,419,420,421,423,424,428,431,432,433,434,436,437,438,441,443,448,449],section_acceler:[9,12,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,334,335,337,340,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,432],section_accerl:355,section_command:[0,1,9,303],section_error:[7,12],section_exampl:[2,6],section_histori:[7,12],section_howto:[6,8,9,11,12,40,42,57,59,64,66,67,68,70,71,72,73,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,95,96,97,98,99,100,101,104,106,109,110,111,114,116,117,120,121,124,126,138,139,141,142,146,165,181,228,239,242,245,293,338,351,418,423,426,437],section_modifi:[6,7,42,167,168,441],section_packag:12,section_perf:7,section_python:[6,12],section_start:[3,4,6,9,11,322,328,417,418,432,438,441],section_tool:[6,7],see:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,299,301,302,303,304,305,306,307,308,309,310,312,313,314,315,318,319,321,322,323,325,326,327,328,329,330,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,425,426,428,429,430,431,432,433,435,437,438,439,440,441,442,443,448,449,450,451,452],seed1:438,seed2:438,seed:[3,144,147,166,168,177,179,189,190,191,193,195,202,205,206,207,213,214,215,216,253,256,260,265,270,278,282,285,290,297,341,353,354,418,433,438,443,448,449],seed_com:214,seed_drud:214,seek:[41,188],seem:[6,192,291,325,380,432],seen:[12,216,299],segement:3,segment:[3,4,6,7,40,42,82,113,172,242,270,278,353,367,393,404,405,423,431,433],select:[6,12,15,17,59,71,117,118,133,138,143,144,164,168,170,177,179,184,185,194,195,202,205,210,211,226,274,277,285,286,291,293,295,297,298,300,316,318,324,328,330,333,363,368,380,420,424,426,432,433,437,448],self:[],sellerio:13,semi:[3,170,178,179,250,252,424],semiax:123,semimet:357,send:[0,3,5,7,8,11,12,169,210,420],sender:[3,420],sens:[1,3,6,7,18,39,41,42,59,163,167,181,183,184,185,186,188,191,194,206,207,212,213,214,215,256,260,265,271,278,285,286,290,293,301,328,349,369,373,408,409,410,418,423,428,432,435,440],sensabl:210,sensibl:104,sensit:[2,6,73,192,265,449],sent:[169,210,316],separ:[2,6,7,12,13,40,41,76,116,120,142,144,147,169,170,178,182,188,189,190,191,192,195,198,205,213,214,229,241,253,256,257,259,261,265,270,273,278,281,282,283,286,293,301,319,333,340,342,349,350,352,378,379,380,386,391,396,405,406,407,410,415,421,423,424,425,432,435,440,443,449,450,451],seper:350,sequec:448,sequenc:[2,3,12,41,59,167,168,169,170,188,207,228,301,321,328,364,390,438,448],sequenti:[59,60,169,390,424],sequestr:7,ser:252,seri:[3,4,6,13,18,120,167,168,169,182,186,206,207,256,332,335,360,380,384,394,397,407,421,430,431,440,441,448],serial:[],serial_icc:12,serious:8,serv:[6,146,278,404],server:[1,212,333],set:[],set_callback:203,set_energi:203,set_vari:[6,11,421],setarea:216,sete:[181,191],setenv:[11,12,346],setfl:[13,334,355],setforc:[],setgamma:216,setmask:8,settl:192,setup:[3,4,6,7,8,11,12,13,16,37,40,55,59,71,87,91,132,145,146,147,148,163,169,178,191,194,278,291,313,329,330,333,405,420,423,431,450,452],setup_pre_exchang:8,setup_pre_forc:8,setup_pre_force_respa:8,seven:382,sever:[1,4,5,6,7,8,10,11,12,13,15,18,39,40,63,71,87,138,145,148,163,167,170,172,178,189,190,192,207,213,216,220,229,255,257,259,270,274,278,285,294,316,321,326,333,336,339,343,354,355,364,373,377,380,384,390,392,393,418,421,425,429,437,441,443,448,449],sfactor:[3,168,169],sfftw:12,sgi:12,sgmc:179,sgrid:278,sgroup:142,shade:168,shake:[],shan:[17,262,348],shanghai:[9,13],shape:[3,6,8,40,41,58,59,62,71,82,113,123,127,128,144,146,166,168,169,172,173,184,188,192,194,213,227,229,231,234,237,238,246,247,260,278,291,299,338,360,394,420,423,424,425,433],shapei:[113,423],shapex:[113,423],shapez:[113,423],shapshot:428,share:[],shared0:12,sharon:270,sharp:[299,380,410],shawn:9,shear:[3,4,5,6,7,9,59,61,127,166,192,194,216,229,247,278,293,296,361,378,379,389],sheet:427,shell:[],shen:9,shenderova:335,sheppard:325,shflag:12,shield:[],shift:[],shiftse:278,shiga:[6,229,230],shini:[168,451],shinoda:[6,9,229,230,395],shiny:168,ship:170,shlib:[11,12],shlibflag:12,shock:[4,9,172,177,227,233,260,297,371],shockvel:[227,260],shortcut:[192,229,257,270],shorter:[3,119,205,251,330,384,431],shortest:[168,330,336,432],shorthand:169,shoul:412,should:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,61,70,71,73,81,83,87,91,96,97,98,102,103,109,110,112,121,122,123,126,127,130,131,132,134,137,140,142,144,146,148,150,151,152,153,154,155,156,158,159,161,162,164,165,166,167,168,169,173,174,175,176,179,187,188,189,190,191,192,194,195,197,198,200,201,202,203,204,205,206,207,208,209,211,213,214,215,216,218,219,220,221,226,229,231,232,233,234,235,236,241,244,246,247,249,251,252,253,254,255,256,257,258,260,261,262,263,264,265,266,267,268,269,270,272,273,275,278,279,281,282,283,284,285,286,289,290,291,293,294,295,296,297,298,299,300,301,303,304,305,306,307,308,309,312,314,319,321,322,324,326,327,328,329,330,331,333,334,335,337,338,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,388,389,391,392,394,395,397,404,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,425,426,427,428,430,431,432,433,435,439,440,441,443,448,449,450],shouldn:[3,8],show:[6,11,12,116,251,328,363,380,384,407],shown:[1,12,17,41,96,97,118,120,130,143,163,188,191,213,229,247,253,256,265,285,318,357,358,360,361,377,394,423],shrank:71,shrink:[3,6,41,57,59,71,146,166,167,168,173,174,177,188,194,195,211,216,251,278,297,301,318,319,326,349,369,373,384,423,424],shrunk:71,shut:[6,11,329,422],si4:143,siam:298,sic:[4,349,364,380,386,406,408,410],sic_tersoff:390,sicc:[356,406,408,410],sicg:[408,410],sicsi:[356,406,408,410],side1:426,side2:426,side3:426,side4:426,side:[3,8,41,57,61,134,144,179,180,188,191,195,205,211,216,226,251,256,264,275,295,299,300,301,328,349,360,361,394,412,421,423,426,433],sidewai:4,sienna:169,siepmann:293,sigam:347,sigam_ii:367,sige:[408,410],sigma0:339,sigma14:377,sigma1:339,sigma2:339,sigma:[3,6,10,45,46,50,54,87,150,167,169,173,174,205,216,251,278,294,295,299,321,330,333,335,338,339,340,344,345,347,352,353,354,356,357,360,362,363,367,368,369,370,371,372,373,374,375,376,377,383,384,394,395,400,406,412,432,447,448,449],sigma_14:344,sigma_:350,sigma_c:347,sigma_cc:[335,347],sigma_h:359,sigma_i:[358,384],sigma_ii:[367,412],sigma_ij:[367,384,412],sigma_j:384,sigma_max:354,sigma_ss:347,sign:[3,6,12,155,163,250,275,298,303,431,440,448],signicantli:17,signifi:[3,66,75,90,93,104,106,114,124,139,141],signific:[7,12,18,86,206,227,230,265,278,291,357,360,380,450],significantli:[1,6,39,121,142,216,229,269,357,406],sij:182,sikandar:17,silbert:361,silent:[169,421,434],silicon:[356,380,406,423],sill:389,silver:169,sim:[9,395],similar:[5,6,7,8,9,12,17,18,40,41,46,59,68,87,112,115,121,144,145,167,169,172,173,174,181,188,203,204,206,213,219,220,230,259,260,265,269,270,282,285,295,296,298,300,319,324,325,327,335,338,339,353,355,357,361,377,378,384,389,390,420,425,430,432,437,439,441,443,448,449,450,452],similarli:[3,6,7,8,59,112,140,146,148,166,167,168,169,180,181,183,184,185,186,190,194,200,211,229,231,232,234,235,255,257,270,271,273,278,285,286,293,299,304,319,321,328,331,343,361,373,406,420,423,426,427,432,433,437,451],simluat:[6,39,169,278,378,424,425],simlul:[270,290],simmul:293,simpl:[],simpler:[8,42,169,270],simplest:[3,8,40,66,75,90,93,104,106,114,116,124,139,141,261,443],simpli:[1,3,6,8,11,12,14,17,66,71,75,88,90,93,95,104,106,113,114,119,124,139,141,147,148,169,172,173,174,181,183,184,185,186,190,192,194,198,203,212,214,219,229,253,257,268,270,271,286,292,293,318,319,321,327,328,333,343,352,364,373,380,384,420,421,428,431,438,441,447,448],simplif:357,simplifi:[179,269],simplist:11,simualt:319,simul:[],simulatan:333,simulation_nam:393,simulatoin:[12,424],simult:333,simultan:[6,7,15,16,194],sin:[194,226,295,298,300,390,423,426,433,448],sinc:[0,1,2,3,6,8,9,10,11,12,13,15,16,21,22,33,39,41,44,54,59,64,67,71,73,89,90,110,116,118,123,124,134,142,146,147,149,150,152,157,167,168,169,172,173,174,175,176,179,180,181,182,183,184,185,186,187,188,191,192,193,194,195,199,200,205,207,209,212,213,215,216,226,229,231,232,233,234,235,238,241,247,251,253,256,258,259,265,268,270,274,277,278,286,290,291,292,293,295,296,299,300,301,302,304,305,317,319,326,327,328,329,332,333,334,335,339,342,343,344,345,347,348,352,353,354,355,356,360,361,362,364,365,366,368,369,371,372,373,374,375,376,377,378,379,380,381,382,384,387,390,391,392,393,394,395,396,397,406,407,408,409,410,416,418,420,421,423,424,425,426,428,431,432,433,434,435,437,441,443,447,448,449,451],sinclair:[7,355,405],sine:390,singapor:120,singh:334,singl:[1,2,3,6,7,8,9,11,12,14,15,16,17,18,40,41,42,57,59,61,63,65,66,68,69,75,77,79,87,88,90,92,93,104,106,108,113,114,115,116,117,119,124,139,141,142,144,167,168,169,170,172,177,180,181,182,183,184,185,186,188,190,191,192,195,198,202,204,209,216,219,226,229,230,233,241,253,255,256,258,269,270,271,273,278,280,290,292,295,296,298,300,301,303,318,319,324,327,328,329,330,332,333,334,335,339,344,346,348,354,355,356,357,358,361,362,363,364,365,366,380,381,382,384,386,387,390,391,392,393,394,396,397,406,408,409,410,418,419,421,423,430,431,432,433,434,435,436,437,440,448,451,452],singleel:339,singular:[377,378,379],sinnott:[262,335,348],sinusoid:[144,194,295,296,298,300],sio:348,sirk:[121,404],sisic:[356,406,408,410],sisisi:[356,406,408,409,410],sister:346,sit:[252,423],site:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,67,70,87,210,216,217,273,319,334,339,349,355,359,369,373,377,387,392,393,411],situat:[9,192,205,216,229,253,271,325,339],sival:143,six:[6,120,182,183,386,390],sixth:386,sixthpow:[345,384],size:[],size_restart:8,sizex:235,sjplimp:[0,7,11,12],sjtu:9,skew:[3,6,58,59,146,168,194,229,423,426],skin:[3,12,39,61,73,115,145,147,205,241,270,290,329,330,333,388,441,447],skip:[12,16,33,157,255,317,327,332,368,423,428,431,440,448],skyblu:169,slab:[3,6,71,132,184,256,275,318,319,329,384],slateblu:169,slategrai:169,slater:[],sleight:54,slepoi:380,slice:[],slider:11,slight:[3,12,290],slightli:[1,6,39,40,167,168,170,265,270,319,335,349,367,369,373,408,410,418,431,450],sligthli:352,sliozberg:404,slip:[3,172,278,294,300],sllod:[],slope:[6,103,104,286,288,293,350,448],slot:1,slow:[3,6,7,12,39,206,210,213,214,227,278,285,318,328,333,384,432,443,449],slower:[1,10,17,39,214,319,333,339],slowest:[290,420],slowli:[12,71,188,294,326,397,425],slurm:12,slurm_localid:12,sm3:143,small:[],smallbig:3,smaller:[1,3,6,12,16,17,39,56,59,61,71,119,142,146,167,168,169,179,195,199,205,216,252,270,278,288,303,318,319,324,333,367,384,405,412,413,423,430,432,452],smallest:[3,70,72,142,227,267,448],smallint:3,smallq:319,smallsmal:[3,12],smart:207,smd:[],smi:[3,333],smirichinski:9,smit:205,smith:387,smmoth:433,smooth:[],smoother:144,smoothli:[54,120,286,293,344,362,375,377,410,416],smpd:12,sn2:143,sn4:143,sna:[],snad:[],snap:[],snapcoeff:396,snaphot:428,snapparam:396,snapshot:[],snav:[],snb:17,snow:169,soc:363,socket:[12,17,18,212,420],soft:[],softer:[295,299],softwar:[1,6,11,12,14,15,16,17,18,19,142,210,255,271],sole:[189,190,328,390],solid:[4,6,7,10,39,40,41,59,70,73,91,121,142,178,188,192,194,199,219,229,231,232,234,235,251,252,257,270,285,288,319,321,340,371,389,423],solut:[3,6,13,142,192,199,227,268,273,278,299,448],solv:[3,12,18,216,261,273,288,290,319,325,379],solvat:[4,10,144],solvent:[4,7,13,61,71,145,147,188,202,206,207,213,229,268,270,275,278,286,293,294,344,347,349,350,359,369,378,379,394,405,423,433],solver:[],some:[1,2,3,4,6,7,8,10,11,12,13,16,17,18,39,40,41,55,61,63,71,102,105,107,113,117,119,123,124,125,136,137,138,144,147,152,155,163,165,167,168,169,172,173,174,177,179,180,181,182,183,184,185,186,188,190,191,192,193,202,205,227,229,230,258,259,261,263,270,274,279,285,290,291,292,294,295,301,316,317,318,319,324,325,326,327,328,329,330,333,336,338,339,346,349,355,357,364,384,392,393,405,407,418,420,421,422,423,425,428,429,430,431,432,433,435,437,440,441,447,448,449,452],somehow:3,someindex:302,someon:[7,11,326],someth:[2,3,7,8,11,12,59,192,229,295,298,300,329,364,421,430],sometim:[2,3,6,8,12,18,184,192,229,286,293,318,330],somewhat:[7,9,12,70,124,134,181,229,318],somewher:[17,230,357],soon:[179,191,202,205,210],sophist:7,sorensen:437,sort:[3,13,16,39,71,167,169,170,210,328,329,333,354,424,425,451],sound:[216,227,402,403],soundspe:[402,403],sourc:[],source_integr:178,sourceforg:11,south:120,souza:286,space:[2,3,6,8,11,12,18,41,59,71,118,120,133,138,143,144,164,166,168,173,174,177,183,184,185,188,190,194,195,211,216,223,226,229,252,253,268,271,278,295,297,298,300,303,318,319,321,327,328,329,340,342,343,349,352,355,357,367,369,373,380,387,390,395,407,413,415,420,423,426,435,441,443,448,449],spahn:361,span:[2,12,38,71,173,174,184,211,270,318,334,335,339,348,355,358,365,366,380,381,382,386,390,396,406,408,409,410,417,418,426,427,448],spars:[71,164],spatial:[],spawn:210,spc:[],spcpu:441,speak:[17,278,285],spearot:[118,143,271],specfi:[12,107,211,426],speci:[],special:[],special_bond:[],specif:[1,2,3,6,7,8,9,10,12,13,15,17,18,22,29,33,40,41,42,50,63,71,108,113,115,116,124,126,129,144,152,157,167,168,169,170,172,173,174,177,178,181,182,183,184,185,186,188,191,193,202,203,205,206,210,216,224,256,258,259,262,270,285,290,291,295,301,305,319,326,328,333,335,338,339,351,355,360,361,364,365,366,367,380,384,392,393,394,405,406,411,412,420,423,424,428,429,430,432,433,439,440,441,447,448,449,450],specifi:[2,3,6,7,8,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,59,61,63,65,66,68,69,70,71,73,75,76,77,78,79,80,81,83,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,124,126,131,132,133,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,204,205,206,207,208,209,211,212,213,214,216,217,218,219,221,224,225,226,227,228,229,230,231,232,233,234,235,236,241,244,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,288,289,290,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,317,318,319,321,322,323,326,327,328,329,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,447,448,449,450,451,452],specifii:[207,216],speciti:432,spectral:396,spectrum:[9,120,260,265],sped:[39,227],speed:[1,3,6,9,12,14,15,16,17,18,19,39,41,169,188,213,216,227,260,278,285,291,297,318,319,328,333,339,349,384,402,403,408,418,432,438],speedup:[1,18,319,432],spefici:[144,168,363],speicifi:327,spell:426,spellmey:[6,150,435],spend:180,spent:[1,12,13,15,418,437],sph:[],sph_lammps_userguid:9,sphere1:216,sphere:[],spheric:[],spheriod:[3,6],spherioid:278,spheroid:[6,270,278],spike:116,spin:[9,40,113,296,336,357,423],spirit:7,spit:3,spline:[],split:[1,3,6,12,18,41,181,184,188,214,229,298,318,333,412,417,420,432],splittol:[6,318],sppark:6,spread:[1,6,12,303,431],spring:[],springer:274,springgreen:169,sptial:71,sputter:195,sq2:[3,321],sqrt:[2,3,59,81,89,205,213,214,215,251,278,294,296,321,347,353,355,359,361,380,384,448],squar:[],squeez:[192,211,378,379],squibb:[5,7],sr2:143,src:[0,1,3,4,6,7,8,9,11,12,14,15,16,17,18,19,142,167,203,273],srd:[],srolovitz:355,srp:[],srun:12,ssao:[168,451],stabil:[6,213,229,339,392],stabl:[6,64,216,233,269,339,443],stabli:206,stack:[3,8,70],stage:[3,87,172,203,228,264,301,328,418,437,448],stagger:[1,3,169,319,430,439,448],stai:[3,14,17,173,174,227,243,260,333,423],stamp:[285,424],stamped:12,stan:17,stand:[0,6,7,13,266,392,393,421],standard:[],stanford:9,starikov:290,start:[],start_6:359,start_7:432,startstep:448,stat:[12,54,148,251,265,326,353],statcoul:447,statcoulomb:447,state:[],statement:[3,421,422],stationari:[],statist:[3,6,12,39,41,64,189,190,191,206,207,213,214,215,255,256,260,265,270,273,278,289,290,291,326,328,335,353,354,361,378,415,418,425,431,433,437,440,441],statu:[3,12,54,60,148,193,198,214,348,437],statvolt:447,std:12,stdin:[3,12,317],steadi:[6,227,233,260],steelblu:169,steep:407,steepest:[7,325],steer:[7,9,193,196,274],stegailov:290,steinhaus:443,stencil:[3,216,318],step:[1,2,3,6,8,10,11,12,13,14,15,16,17,18,19,39,71,91,96,97,110,116,117,121,130,140,142,167,168,169,170,172,173,174,178,179,181,182,183,184,185,186,188,189,190,191,192,194,195,198,199,202,203,205,207,210,211,214,227,241,251,252,258,259,260,261,262,263,271,273,274,278,280,283,284,285,286,287,288,289,290,291,292,293,300,301,303,317,318,324,326,328,329,353,359,363,380,392,393,418,420,421,425,427,428,430,431,432,437,438,440,441,443,448,452],stepani:274,stepwis:87,stesman:285,steve:[0,5,7,13],steven:191,stiff:[6,40,51,189,190,252,253,326,389,443],stile:350,still:[1,3,6,9,11,12,13,14,17,18,38,41,61,71,108,116,142,148,164,165,167,169,173,174,188,209,213,241,261,265,278,290,303,318,319,324,345,355,360,361,364,368,378,388,392,394,397,405,423,425,431],stilling:[3,5,7,15,88,356,382,390,405,406,435],stipul:210,stl:71,stochast:[4,7,9,172,207,278,285,300,354],stoddard:352,stoke:[216,294],stoll:[213,215],stone:[9,19,319,352],stop:[],stopstep:448,stopthresh:[41,188],storag:[3,12,15,292,333,435],store:[],store_st:279,storm:12,stouch:7,str:448,straatsma:6,straddl:[3,59,61,134,211,270,275,301,423,427,433],straight:270,straightforward:[13,357,443],strain:[3,6,59,80,166,192,194,227,229,233,378,379],strang:[164,168,448],strategi:[],stratford:216,strcmp:303,stream:[3,6,112,121,124,127,128,168,178,194,206,207,213,214,247,256,265,278,449],streamlin:[12,431],streitz:[],streiz:349,strength:[3,120,138,149,168,269,295,299,364,393,394,435],stress:[],stretch:[3,54,59,117,189,274],strict:396,strictli:[6,41,164,188,227,260,285,423],stride2:448,stride:[169,207,430,439,448],strietz:349,strike:195,string:[2,3,6,11,12,41,144,167,169,181,182,183,184,185,186,188,205,258,271,303,320,332,380,390,391,392,396,419,421,423,433,434,440,441,448],strip:448,strong:[261,335],stronger:6,strongest:[378,379],strongli:[1,6,13,195,270,273,290,443],structrur:3,structur:[],structured_point:271,strucur:73,stuart:[261,262,335,348,405],stub:12,stuck:192,student:255,studi:[6,105,371],studio:12,stukowski:[179,355],style1:[33,50,157,310,364,423],style2:[33,50,157,310,364,423],style:[],style_nam:[229,230],stylist:8,sub1:434,sub:[1,3,4,6,7,8,9,11,12,13,18,33,37,39,40,41,42,50,55,58,61,63,68,87,91,107,120,138,146,157,163,168,169,173,174,188,192,194,229,230,233,252,260,265,270,273,290,291,299,301,310,313,321,323,333,338,348,354,360,361,363,364,384,392,393,394,411,412,420,423,426,432,440],subbox:[117,168,169],subdirectori:4,subdivis:216,subdomain:216,subequ:11,subgroup:[167,451],subject:[6,41,147,188,411],submit:[],subramaniyan:13,subroutin:333,subscript:[11,290,304,358,448],subsequ:[6,11,12,41,59,145,169,188,192,205,285,290,291,292,321,332,355,405,421,423,424,430,433,434,442,448,452],subset:[6,11,12,16,41,80,120,167,169,188,225,229,231,232,233,234,235,256,257,261,270,328,333,335,339,364,384,417,420,423,425,428,432,448],substanti:[6,16,406,432],substep:229,substitut:[1,2,3,12,167,212,328,332,357,421,434,448],substract:349,substrat:[146,192,229,231,232,234,235,257,270,423],substyl:[377,432],subsystem:290,subtl:[94,96,97,207],subtleti:130,subtract:[3,6,54,63,91,94,97,102,103,105,112,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,167,172,181,205,206,209,213,214,215,217,221,225,247,254,270,301,329,376,423,433,441,448,449],succe:12,succeed:182,succesfulli:3,success:[2,6,11,12,14,15,116,167,169,179,182,192,195,205,241,256,270,278,285,303,326,328,421,430,431],successfulli:[3,11,167,195,421,434],successulli:11,successv:428,sucessfulli:3,sudden:36,suddenli:299,sudo:[11,12],sufac:42,suffer:[16,17,18,293,299,333],suffici:[2,3,7,17,18,41,61,71,184,188,227,229,252,278,285,292,295,303,368,423,443],suffix2:12,suffix:[],suggest:[0,7,12,227,260,421,443],suit:[7,9,13,174,216,357],suitabl:[4,12,13,17,54,87,167,191,259,282,339,346,361,377,380,392,393,418,437],sum:[3,6,8,9,12,40,70,71,76,80,83,88,89,90,94,98,103,105,107,109,110,112,116,117,120,121,122,124,125,126,127,130,131,132,133,134,136,138,140,141,142,181,182,183,184,185,186,195,203,206,213,214,219,251,252,256,260,265,270,271,274,277,288,290,292,295,299,301,318,319,326,338,349,353,357,358,367,369,372,380,392,393,396,412,421,441,443,448,449],summar:[6,358],summari:[],summat:[6,9,42,70,88,318,319,343,349,355,356,369,373,406,408,409,410],summer:[3,13,184,392,393],sumsq:117,sun:[21,43,151,304,345,384,393],sunderland:17,sup:[252,260,265,348,443],supercomput:[12,17,18,421],superpos:[364,405],superposit:7,supplement:[207,392,393],supplementari:[193,360,394],suppli:[12,164,205,227,290],support:[1,3,6,7,8,9,11,12,13,14,15,16,17,18,19,40,41,42,87,88,102,107,167,168,169,170,173,174,175,176,181,188,191,192,193,200,203,207,208,211,213,214,215,216,224,227,229,231,232,233,234,235,246,247,248,249,251,252,257,260,262,264,269,270,275,277,281,282,283,284,288,293,295,299,316,317,318,319,325,326,327,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,420,424,425,430,432,433,434,436,437,443,447,451,452],suppos:[3,8,358,448],suppress:[6,12,142],sure:[6,8,11,13,14,164,173,174,192,270,273,300,355,407],surf:145,surfac:[3,4,6,8,40,42,57,70,118,120,142,144,147,168,172,195,202,211,216,219,251,262,269,275,278,285,290,295,299,300,328,339,364,378,379,412,415,420,426],surface_mov:290,surfact:[350,359],surpris:357,surrog:9,surround:[38,56,70,144,164,169,192,229,231,232,234,235,251,257,270,407,443],suspect:3,suspens:[378,379],sustain:[167,192,361],suzuki:[229,270],svg:6,svn:[7,11,12],sw_exampl:391,swamp:270,swap:[],swegat:289,swiggl:[3,226,295,298,300,426,448],swiler:[120,396],switch7_section_start:359,switchflag:[120,396],swm4:443,swol:53,swope:6,sxx:169,sy0302:9,symbol:[6,12,118,143,267,339,357,396],symmetr:[6,70,87,93,112,121,173,174,192,229,230,286,293,334,346,352,355,408,410,448],symmetri:[3,5,6,7,8,63,64,70,146,167,227,251,304,319,334,423,443],sync:[3,6],synchron:[1,207,328],synechococcu:7,syntax:[],sysdim:252,sysstem:339,system:[],system_:253,systemat:[6,213],systemx:3,t10:438,t11:438,t12:438,t13:438,t14:438,t15:438,t3e:12,t_chain:3,t_corr:3,t_correl:418,t_dephas:418,t_e:290,t_e_min:290,t_equil:[287,288],t_event:[3,418,437],t_hi:437,t_infil:290,t_init:[260,290],t_iter:3,t_lb:216,t_lo:437,t_order:3,t_oufil:290,t_out:290,t_outfil:290,t_qm:260,t_switch:[287,288],t_target:341,ta06a:396,ta5:143,tab:[2,423],tabbernor:118,tabinn:384,tabul:[3,7,13,22,37,38,44,55,56,65,71,79,92,164,278,318,334,339,340,342,343,344,345,346,349,355,357,369,373,387,390,393,395,405,407,408,413,425],tabular:390,tabulate_long_rang:393,tad:[],tadmor:9,tag:[178,197,443],tagint:3,tail:[3,87,110,138,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,425,441],tailor:[71,291],tait:[9,402,403],taitwat:[],take:[1,2,3,6,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,77,87,89,91,109,112,113,116,117,121,122,131,138,142,148,150,151,152,153,154,155,156,158,159,161,162,164,167,168,169,173,174,175,187,188,192,194,201,204,208,212,213,214,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,275,276,277,278,280,281,282,283,291,294,301,304,305,306,307,308,309,312,314,318,319,323,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,392,393,394,395,397,404,406,407,408,409,410,411,412,414,415,416,417,421,424,431,432,433,440,441,448],taken:[6,59,144,166,191,195,205,206,207,213,214,215,216,256,260,263,290,308,355,357,360,406,418,432,433],talk:[6,7],talli:[3,6,8,41,107,113,181,183,184,185,188,190,213,215,230,278,286,293,357,359,363,392,393,448],tan:[169,448],tandem:[4,16,270],tangent:228,tangenti:[6,108,278,296,300,361],tanh:290,tantalum:[4,396],taper:[3,263],tar:12,tarbal:[0,8,11,12],target:[3,6,7,8,11,12,17,39,41,169,177,188,192,193,195,205,206,207,213,214,215,229,230,231,232,233,234,235,246,247,248,249,253,257,260,265,270,274,276,281,282,283,284,289,290,293,294,297,316,319,341,353,418,429,431,449],target_fil:289,task:[1,6,7,12,13,14,15,16,17,18,54,169,210,253,291,333,421],taskset:16,tatb:[4,266],tatom:443,tau:[3,133,213,214,216,229,257,270,281,282,287,288,290,442,447],tau_1:206,tau_k:206,tau_n_k:206,tb3:143,tbead:136,tbp:339,tchain:[229,230,233,247,248,270],tcl:265,tcom:214,tcsh:[11,12,346],tdamp:[213,229,230,233,270,281,282],tdephas:418,tdrude:[129,198,214,443],teal:169,tech:[7,9,13],technic:[6,7,9,216,263,278,393],techniqu:[6,7,9,87,172,192,227,260,270,294,297,319,384,407,443],technolgi:9,technolog:[9,14,19,210],tell:[2,6,11,12,37,55,163,172,252,313,329,392,393,405,421,425,443],telsa:17,temeperatur:11,temp:[],temp_drud:443,temp_eff:97,tempcom:[123,137],temper:[],temperar:253,temperatur:[],temperature_definit:178,tempfix:438,templ:[7,9,18],templat:[3,8,13,17,19,40,144,145,147,195,205,256,270,273,327,423],templeton2010:178,templeton2011:178,templeton:[9,178],tempor:206,temporari:[2,430],temporarili:[164,269,436,437],ten:14,tend:[29,229,251],tensil:[7,194],tensor:[3,6,8,63,82,83,89,90,91,93,106,112,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,192,216,219,229,230,233,255,257,270,293,318,319,327,357,378,379,441,448],tenth:317,term:[0,1,3,5,6,7,8,9,12,20,21,22,27,38,40,45,46,61,87,88,89,91,110,112,121,123,132,137,138,151,152,153,164,169,173,174,180,182,183,186,194,200,206,207,208,213,214,215,216,228,229,230,231,232,233,234,235,246,247,249,253,257,260,269,270,276,281,282,283,290,292,294,296,304,305,314,318,326,329,334,335,339,340,341,342,343,344,345,347,348,349,350,351,352,353,355,356,357,358,360,361,362,369,373,376,377,378,379,380,381,382,384,387,394,404,406,408,409,410,415,432,433,435,441,443],termin:[118,229,326,328,422,431],termostat:282,terrel:325,terri:7,tersoff:[],tersoff_1:[408,409,410],tersoff_2:[408,409,410],tersoff_mod:409,tertiari:156,tessel:[9,142],test:[],test_descriptor_str:3,testf:164,testu:164,tether:[6,268,274,275,277,288,359],tex:8,texa:389,texas_holdem:269,text:[2,3,4,6,7,8,12,13,38,41,56,164,167,168,169,172,178,181,182,183,184,185,186,188,193,210,258,289,290,302,319,321,328,355,358,368,380,396,407,419,423,424,440,448,450],textur:17,tfactor:[3,169],tfinal:448,tfix:269,tfmc:[],th4:143,than:[1,2,3,6,8,9,11,12,13,14,15,16,17,18,27,38,39,40,41,42,56,57,58,59,61,63,68,71,76,86,88,105,108,112,115,116,119,121,142,145,146,147,153,164,166,167,169,172,177,179,181,183,184,185,186,188,189,190,191,192,194,195,196,199,202,205,206,207,208,211,212,213,216,227,251,252,256,257,258,259,260,261,263,265,268,269,270,271,274,275,276,278,282,283,285,286,290,293,294,295,296,297,298,299,300,301,303,318,319,324,325,326,327,328,329,330,333,338,339,340,342,343,344,355,357,360,361,367,378,379,380,384,392,393,394,397,405,406,407,410,412,413,415,418,419,420,421,423,424,425,426,427,428,431,432,435,437,438,440,448,449,450],thank:[210,408,410],thb:393,thb_cutoff:393,thb_cutoff_sq:393,thei:[0,1,2,3,4,6,7,8,11,12,13,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,37,38,39,40,41,42,43,45,46,47,48,49,51,53,54,55,56,57,59,61,63,64,66,68,70,71,74,75,81,82,84,87,89,90,91,93,103,104,106,108,109,112,114,115,116,117,119,120,122,123,124,126,127,130,131,137,139,141,144,146,147,148,150,151,153,154,155,156,158,159,161,162,163,164,167,168,169,172,173,174,175,177,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,200,201,204,205,206,208,209,210,213,214,216,219,226,229,231,232,233,234,235,236,237,238,239,244,246,247,249,255,256,257,258,259,261,262,269,270,271,272,273,278,279,281,282,283,285,289,290,292,293,294,296,298,299,301,303,304,306,307,308,309,312,313,314,316,318,319,321,323,325,326,327,328,329,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,389,390,392,393,394,395,396,397,404,405,406,407,408,409,410,411,412,413,414,415,416,419,421,423,424,425,426,427,428,432,433,435,436,441,443,448,450,451],them:[1,2,3,4,6,7,8,9,11,12,13,14,39,40,41,54,59,71,91,107,114,117,119,146,151,167,168,169,170,180,181,182,183,184,185,186,188,191,192,194,202,210,213,214,225,229,231,232,233,234,235,246,249,251,257,259,267,268,269,270,273,278,281,282,283,285,289,290,292,296,297,298,300,301,304,319,321,327,328,329,333,334,339,346,355,358,360,384,394,397,412,418,421,423,430,435,438,443,448,449],themselv:[6,11,147,173,174,188,214,318,319,328,330,334,339,349,355,377,380,381,382,396,448],theor:285,theorem:[206,213,339],theoret:[105,210,260,406],theori:[3,9,12,40,120,178,193,207,229,252,318,319,339,415,437],thereaft:[71,221,254,270,286,293,421],therebi:[291,378,379],therefor:[3,6,12,64,87,129,179,198,205,214,216,273,285,319,351,391,393,406,411,416,432,443],therein:[6,380],thereof:87,thermal:[],thermo:[],thermo_modifi:[],thermo_p:[3,63,109,421,441],thermo_press:[63,112,192,198,229,231,232,233,234,235,257,440,441,443],thermo_styl:[],thermo_temp:[63,112,122,191,192,205,229,231,232,233,234,235,246,247,249,252,257,281,282,283,440,441,443],thermoberendsen:6,thermochem:447,thermochemistri:357,thermodyam:[441,447],thermodyanm:[63,191,278,301,432],thermodynam:[],thermophys:384,thermost:[6,126,177,193,198,214,297,443],thermostat:[],thermostatequ:6,thesi:[318,319,378,391],thess:340,theta0:[20,21,24,26,27,28,32,33,35,36,120,153,269,312],theta0max:120,theta10:339,theta1:[151,304,339],theta2:[151,304,339],theta3:[304,339],theta4:339,theta5:339,theta6:339,theta7:339,theta8:339,theta9:339,theta:[3,6,26,27,37,38,63,65,80,120,143,144,153,166,168,208,265,269,290,304,312,363,390,409,423,426,433],theta_0:386,theta_:[312,339],theta_c:363,theta_ijk:339,theta_ijl:304,theta_jik:[381,382],theta_pi:339,theta_sigma:339,thex:261,thi:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,444,445,446,447,448,449,450,451,452],thick:[71,118,168,184,426],thie:110,thijss:285,thin:[116,168],thing:[3,6,11,12,54,68,71,192,229,257,270,278,420,421,425,448],think:[3,6,7,8,11,13,169,270,301,306,309,321,326,364,392,393,407,421,425,428,448],third:[6,9,29,91,120,121,142,181,182,183,184,185,186,206,267,275,276,290,348,358,380,386,411,418,419,421,423,426],thirumalai:156,thistl:169,tho:356,thole:[],thompson:[0,5,7,9,13,112,120,121,396],thoroughli:9,those:[1,2,3,4,5,6,7,8,12,13,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,43,45,46,47,48,49,50,51,53,54,56,61,71,77,87,91,108,109,110,112,116,120,121,124,134,144,148,150,151,153,154,155,156,157,158,159,161,162,164,166,167,168,169,179,180,181,182,184,185,186,192,194,195,202,205,208,210,211,212,213,219,228,229,231,232,233,234,235,236,244,246,247,249,256,259,262,270,280,287,288,292,296,297,298,301,302,304,306,307,308,309,310,312,314,318,319,326,328,329,333,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,392,393,394,395,396,397,405,406,407,408,409,410,412,414,415,416,418,420,421,423,425,426,427,428,430,432,433,435,437,440,441,443,448,451,452],though:[6,8,12,16,39,40,63,71,91,104,144,167,169,179,184,189,190,192,194,199,230,268,270,272,286,293,303,318,321,328,353,354,355,357,358,360,361,377,378,384,418,423,425,426,431,435,448],thought:[127,213,247,270,294,295,325,361,368,443],thread:[1,3,9,12,16,17,18,210,291,333,436],threads_per_atom:3,three:[3,6,54,63,74,87,91,105,117,118,119,120,123,143,144,156,172,191,192,197,217,229,233,252,257,270,278,285,287,290,308,312,318,319,327,333,334,335,339,355,356,358,360,361,365,368,380,381,382,386,390,393,394,396,406,408,409,410,421,423,426,448],threebodi:406,thresh:[41,167,168,169,188,421],threshhold:[3,41,168,188,301,421],threshold:[3,41,86,169,188,251,329,393,418,437],thrid:421,through:[3,6,7,9,11,12,63,144,167,170,192,203,205,210,211,216,218,219,220,229,230,253,261,285,290,295,317,324,335,356,357,361,369,395,397,404,411,418,421,424,434,440,443],throughout:[6,16,116,118,291,333,423],thru:[3,6,7,11,12,66,74,75,81,89,90,93,103,104,105,106,139,166,167,169,183,226,278,298,303,317,326,332,426],thrust:1,thu:[1,2,3,6,8,9,11,12,18,33,38,39,41,42,50,59,61,63,64,66,67,70,71,72,73,75,77,81,88,90,91,93,103,104,106,108,109,113,114,115,116,117,120,121,124,127,132,134,139,140,141,144,146,147,148,152,157,163,164,166,167,168,169,170,172,173,174,175,176,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,202,206,207,208,209,210,211,213,214,219,224,229,233,243,251,257,259,261,265,268,270,271,272,273,274,275,276,277,278,279,281,282,283,285,286,289,290,292,293,294,295,298,299,300,301,303,304,310,318,319,321,324,326,327,328,332,333,334,335,338,339,340,341,342,343,344,345,346,347,348,349,353,354,355,356,357,358,359,360,361,364,365,366,367,369,373,377,378,379,380,381,382,384,385,387,389,390,391,392,393,394,396,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,418,420,421,423,424,425,426,427,428,430,431,432,433,435,437,438,439,440,441,443,447,448,449,450,451],thumb:[8,10,17,144,166,226,270,333,347,426,432],thz:265,ti2:143,ti3:143,ti4:143,tight:339,tightli:259,tij:352,tildeslei:[29,87,352],tile:[3,6,41,62,144,188,367,412,420],tilt:[3,6,57,58,59,71,132,146,167,169,184,192,194,195,208,227,229,230,251,260,319,321,423,426,441],time:[],time_integr:178,timedelta:182,timelin:5,timer:[1,12,14,17],timescal:[3,180,181,182,183,184,185,186,227,260,265,357,418,432],timespan:[213,214,229,257,270,281,282],timestamp:[3,428],timestep:[],timesteppnig:273,tin:[348,349],tine:182,tinfoil:319,tini:[144,326,339,449],tinker:7,tip3p:[],tip4:6,tip4p:[],tip:[],tirrel:295,titan:15,titer:270,titl:[181,182,183,184,185,186,258,393],title1:[181,182,183,184,185,186],title2:[181,182,183,184,185,186],title3:[181,182,183,184,185,186],tji:352,tl1:143,tl3:143,tlbr_msw:390,tlo:437,tloop:[229,230,233],tm3:143,tmax:[3,199,437],tmd:[],tmd_dump_fil:289,tmdatom:289,tmin:199,tmp1:[183,186,434],tmp2:[183,186,434],tmp3:434,tmp:[6,12,41,66,68,69,75,90,93,104,106,114,116,124,139,141,167,168,169,188,259,270,286,293,332,430,434,448],tobia:[229,230,270],todd:247,toe:138,toff:[327,423],togeth:[2,3,6,11,12,17,39,41,71,115,121,124,138,145,167,173,174,181,183,188,192,198,207,214,229,257,270,274,275,278,296,300,301,359,364,421,426,431,443,451],toggl:[59,148,430],togheth:3,togther:3,tol:[273,278,318,406],toler:[3,192,261,262,263,273,278,326,328,406,418,437],tomato:169,tong:[9,13],too:[1,3,6,7,39,41,64,67,70,72,73,77,88,120,132,145,147,168,188,189,190,192,195,202,205,209,229,252,257,261,265,267,273,278,285,286,290,293,319,328,329,333,353,418,426,437,440,443,448],took:[71,397],tool:[],toolkit:[6,7,13,14,15],top:[0,3,8,9,11,12,13,59,127,166,172,187,194,209,216,228,247,271,297,298,300,328,333,392,393,396,423,427,433],topic:[448,451],toplog:[3,420],topolgi:40,topolog:[2,3,6,7,8,12,13,39,40,87,108,115,147,148,169,189,190,210,255,327,364,384,420,423,424,425,427,428,435],topwal:187,torder:270,torqu:[],torsion:[6,151,152,163,335,392,393],torsion_flag:335,tosi:340,tot:265,total:[3,6,11,12,14,15,16,17,18,39,41,63,71,81,88,89,90,91,98,102,103,104,105,107,109,110,117,120,121,122,124,125,126,127,130,131,132,133,134,136,138,140,141,142,167,172,175,176,179,181,183,184,185,187,188,190,196,198,200,203,204,205,206,211,213,214,215,216,217,219,227,230,233,243,252,253,255,256,260,265,267,269,270,271,272,274,275,277,286,287,288,290,293,295,299,318,326,327,328,329,330,333,334,336,338,339,348,355,357,361,380,381,382,390,392,393,396,412,418,420,421,425,431,432,437,438,441,448],touch:[12,211,296],toukmaji:[319,352],toward:[9,29,142,168,172,195,196,211,216,228,233,251,268,275,289,291,312,328],toxvaerd:374,tpa:333,tparam:270,tpartial:124,tpc:333,tpcpu:441,tperiod:270,tptask:[16,333],tqx:[113,167,280],tqy:[113,167,280],tqz:[113,167,280],trace:357,track:[3,7,12,190,194,216,290,300,418,423,429,437,441,448],track_displac:178,tracker:210,trade:[6,12,262,318,319,349,369,373,432,437],tradeoff:384,tradit:[6,319],traffic:12,trail:[2,22,44,77,87,116,138,148,152,169,173,174,270,305,323,327,328,346,358,380,393,396,417,423,431,433],train:393,traj:193,traj_titl:393,trajectori:[3,6,12,39,87,167,210,229,231,232,234,235,236,237,239,240,242,244,245,246,247,248,249,253,270,273,274,291,300,353,384,393,425,433,443,447],tran:[155,156],transfer:[1,6,16,178,198,210,212,286,290,293,318,333,339,443],transform:[],transit:[6,86,228,274,289,328,350,377,382,410,418,437],translat:[3,6,61,63,94,95,96,97,98,123,124,128,137,181,205,209,213,214,219,229,234,235,246,249,253,270,281,282,283,285,321,357,423,441],transmiss:210,transmit:[6,210],transpar:[14,17],transport:[178,290,398],transpos:12,trap:[3,6,91,140,182,211,292,448],trapezoid:[182,448],trate:[3,194,210],travel:278,treat:[2,3,6,8,17,40,42,71,82,84,85,121,123,137,148,165,181,182,183,186,195,204,230,252,255,256,270,278,290,292,299,303,317,318,326,327,329,338,351,357,358,360,363,367,381,382,394,412,423,426,428,431,433,443,448],treatment:[9,265,351],tree:[3,255,377],tref:354,tri:[],trial:[195,205,336,432],triangl:[3,6,7,40,42,82,113,142,172,245,270,278,405,412,423,433],triangleflag:423,triangul:[6,13],triangular:[4,6,42,82,113,192,245,423],tricki:[420,443],triclin:[],triflag:6,trigger:[3,11,12,62,86,188,191,205,326,441],trigon:25,trilinear:216,trilino:17,trim:[3,424],tripflag:392,tripl:[2,120,194,339,392,419,421],triplet:[3,34,37,356,386,390,406,408,409,410],trivial:[8,11],trj:393,trott:[7,9,14,17,120,396],troubl:[11,12],truli:8,truncat:[3,5,6,12,71,259,265,295,299,325,337,349,357,361,369,371,374,384,389,433],trung:15,tscale:[3,227,260],tschopp:67,tsige:343,tsrd:[278,300],tstart:[206,207,213,215,229,230,270,281,282,283,284,353,429],tstat:[],tstop:[206,207,213,215,229,230,270,281,282,283,284,353,429,437],tsuzuki:73,ttm:[],ttm_mod:290,tucker:[120,396],tuckerman2006:229,tuckerman:[229,230,248,253,270,432],tune:[],tunnel:253,turn:[3,4,6,12,22,33,37,39,44,50,54,55,59,65,69,71,108,115,120,143,148,152,157,163,168,169,172,179,189,190,191,192,205,210,229,241,255,258,259,270,278,305,310,313,318,326,328,329,331,333,335,351,363,364,380,384,393,404,405,419,423,425,430,435,436,441,445,450],turquois:169,tutein:335,tutori:[6,9],tweak:[12,144,210],twice:[3,6,16,17,63,88,150,169,172,173,174,192,226,229,263,333,364,421,423,430],twin:67,twist:[378,379],two:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,22,38,39,41,42,44,54,56,57,59,61,63,65,68,69,71,76,77,79,87,88,92,107,108,113,114,115,116,117,118,120,123,126,127,129,130,132,138,142,143,144,145,147,152,166,167,168,169,172,173,174,179,180,181,182,183,184,185,186,188,189,190,191,192,195,198,202,205,206,207,209,211,212,213,214,216,219,228,229,230,233,251,252,253,256,257,259,260,261,265,267,270,274,275,278,285,286,288,290,293,296,299,301,303,305,314,318,319,321,323,324,326,327,328,331,333,334,335,336,338,339,340,341,342,343,346,347,348,349,351,352,353,354,355,356,357,358,360,361,364,367,368,369,373,377,378,379,380,384,387,390,391,392,393,394,396,397,404,405,406,408,409,410,411,412,415,416,417,418,420,421,423,424,425,426,427,430,433,435,437,438,440,441,443,447,448,449,450,451,452],two_temperatur:178,twobodi:[408,410],twogrid:3,twojmax:[120,396],twolevel:[3,420],txt2html:8,txt:[8,12,13,167,170,258,259,290,316,327,368,413,428,448],typcial:[41,188],type1:[77,118,143],type2:[77,118,143],type:[],typen:[77,118,143],typic:[1,2,3,6,7,8,10,11,12,13,14,15,16,17,18,29,39,40,41,45,46,55,57,59,61,63,70,71,86,87,102,107,119,138,142,144,145,147,167,168,169,172,173,174,175,177,178,181,188,189,190,191,192,194,195,200,202,203,205,208,214,229,241,252,255,256,259,261,263,269,270,273,278,285,293,294,300,318,321,325,326,327,328,329,330,333,344,346,347,349,359,360,363,364,368,369,373,378,379,380,384,394,405,407,410,418,419,421,423,424,425,426,432,435,437,438,440,447,448,450,452],typicali:12,tzou:290,u_f:216,u_ij:390,u_prom:339,uberuaga:[228,328],ubiquit:[11,339],uhf:336,uiuc:[9,17],uloop:[3,253,328,332,448],ultim:437,ultra:142,umbrella:[],umin:[26,27,48,49,153],unabl:[3,11,41,188],unaffect:[167,192,229,270,424,435,440],unalt:[173,174,241],unambigu:[71,184],unari:[303,448],unbalanc:3,unbias:[132,357],unbond:[190,423],unbroken:80,uncertainti:40,unchang:[59,192,195,228,229,231,232,234,235,243,257,270,423,424,427,433],uncharg:[40,319],uncom:[1,4],uncompress:[12,71,168],uncomput:[],uncorrel:[206,285,418],uncoupl:253,undefin:[3,12],under:[0,5,6,7,8,9,10,12,18,21,22,44,120,151,152,168,210,227,256,260,261,304,305,323,357,377,393,396,421,437,443],underestim:142,underflow:168,undergo:[6,86,87,132,206,213,214,274,278],undergon:[191,278],underli:[12,17,70,168,229,290,321],undermin:39,underpredict:6,underscor:[2,3,63,172,191,192,227,229,231,232,233,234,235,246,247,249,257,259,281,282,283,303,327,448],understand:[1,6,8,205,230],understood:[167,339],undesir:[59,192,194,229,270],undetermin:278,undisturb:[378,379],undo:[148,210],undump:[],unexpect:[3,429],unfix:[],unfix_flux:178,unfold:276,unfortun:[291,431,432],uniaxi:[3,123,233],uniform:[7,16,41,88,116,178,188,189,190,213,216,219,230,285,354,360,394,418,420,448,449],uniformli:[59,116,166,216,256,290,390,407,449],uninstal:12,uninterrupt:[179,195,205,226,227,229,231,232,233,234,235,246,247,248,249,259,260,270,274,277,280,288,290,296],union:[3,6,40,169,299,301,423,426],uniqu:[3,6,7,8,9,12,39,71,206,207,213,214,233,259,265,267,328,355,357,423,448,449],unit:[],unit_styl:3,uniti:[356,384,400],unitless:[64,67,70,71,114,149,181,184,185,194,205,227,229,260,296,326,336,361,387,389,406,408,409,410,447],unitlesss:[78,80,111],univ:[9,13],univers:[3,6,9,12,13,18,87,210,318,319,328,332,378,382,389,391,410,417,420,448],universit:[9,13],unix:[12,17,212,434],unknown:[3,12,64,73,423],unless:[2,3,11,12,15,16,18,55,57,67,118,129,143,144,167,169,170,177,192,195,205,213,229,231,232,234,235,256,257,270,278,289,320,326,347,384,407,421,426,430,435,448],unlik:[12,33,50,59,89,104,134,144,157,167,213,229,233,257,263,265,281,282,283,310,317,318,334,339,355,358,363,364,368,380,381,382,393,396,405,420,425,430,435,448,452],unlimit:390,unlucki:3,unmark:7,unmodifi:279,unnecessari:16,unoccupi:290,unoptim:168,unpack:[0,8,11,333],unpack_bord:8,unpack_border_bodi:8,unpack_border_hybrid:8,unpack_border_vel:8,unpack_comm:8,unpack_comm_bodi:8,unpack_comm_hybrid:8,unpack_comm_vel:8,unpack_exchang:8,unpack_restart:8,unpack_revers:8,unpack_reverse_comm:8,unpack_reverse_hybrid:8,unpad:169,unperturb:87,unphys:[3,6,214,229,270,423],unpredict:[268,433],unrecogn:3,unrel:[8,9,13,150],unreli:384,unrestrain:269,unrestrict:336,unscal:[3,113,138,167,280,424],unset:[318,357],unshift:352,unsmooth:375,unsolv:[330,344],unsort:169,unspecifi:[194,423],unsplit:443,unstabl:[3,216],unstrain:194,unsuccess:[3,256],unsupport:3,untar:12,until:[2,3,6,12,14,38,39,41,56,71,119,164,168,188,192,195,205,210,256,278,280,287,303,317,318,329,332,333,339,361,407,418,424,428,429,431,437,447,448],untilt:426,unus:339,unusu:[3,8,329],unwant:[3,144,318],unwrap:[3,66,74,75,81,89,90,93,103,104,106,113,121,139,167,169,170,180,191,193,210,226,270,275,280,423,424,427,433],unwrapexpand:167,unzip:12,up_intern:168,updat:[0,3,6,8,12,13,167,172,189,190,198,203,206,213,214,216,218,219,222,223,226,227,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,255,257,259,260,265,270,280,281,282,283,285,290,301,333,339,352,384,392,393,418,423,425,433,434,437,443],upenn:[11,13],upgrad:12,upon:[6,179,210,339,411,437],upper:[2,3,41,57,59,71,88,103,105,133,140,166,169,182,184,185,188,192,198,214,216,229,260,265,295,296,301,302,326,361,426,449],upsid:6,upsilon:360,upto:[3,425,431],upward:195,urbana:[210,318,319,378],urey_bradlei:20,usa:9,usabl:[12,205,355],usag:[3,6,8,214,251,265,278,364,377,423],use_ldg:17,useful:333,user:[],user_misc:[30,31,35,154,159,162,308],userguid:9,usr:[11,12,14,424],usual:[2,3,6,9,12,14,17,18,24,28,32,35,36,47,71,87,117,123,124,126,129,137,142,161,167,173,174,179,181,191,192,193,194,205,208,213,215,227,233,252,260,261,267,269,270,278,286,290,293,295,299,303,309,316,328,329,333,344,347,350,352,360,364,365,368,377,378,379,386,396,406,411,418,424,428,432,434,437,440,441,448,452],util:[17,18,333,360],utilizi:12,utsa:389,uttormark:13,uuml:252,uwo:9,v11:6,v22:6,v33:6,v_0:[3,290],v_a:[8,194],v_abc:[421,441,448],v_area:[2,448],v_atomfil:433,v_c:138,v_cluster:259,v_dc:138,v_delta:87,v_dhug:[227,260],v_diff:[140,292],v_displac:194,v_dk:138,v_dlj:138,v_drai:[227,260],v_dx:[226,426],v_dy:[226,426],v_dz:226,v_e_hbond:363,v_ea:[392,393],v_eb:[392,393],v_eqeq:[392,393],v_espac:175,v_f:421,v_fac:421,v_flux:209,v_foo:[421,448],v_ij:390,v_increas:208,v_integr:292,v_jx:91,v_jy:91,v_jz:91,v_k11:91,v_k22:91,v_k33:91,v_k:138,v_ke:[167,451],v_left:426,v_lgr_po:[227,260],v_lgr_vel:[227,260],v_linear:[295,298,300],v_lj:138,v_mol:169,v_mu:378,v_myi:226,v_myindex:448,v_myke:117,v_mystep:430,v_myvar:[8,169],v_myx:226,v_n:216,v_name1:[138,194],v_name2:[138,194],v_name:[3,6,71,87,117,167,168,169,173,174,175,176,180,181,182,183,184,185,186,187,200,208,209,211,213,214,226,272,280,281,282,283,292,295,298,300,421,426,430,433,439,441,448,449],v_nstep:301,v_occ:359,v_omega:226,v_oscil:[175,176,187,200,272],v_phi:208,v_prefactor:[173,174,397],v_press:121,v_pressdown:[298,300],v_push:175,v_pxy:6,v_pxz:6,v_pyz:6,v_r0:211,v_r1:142,v_r2:142,v_r:[142,211],v_rad:301,v_radiu:211,v_ramp:[295,298,300],v_rate:[194,211],v_scale1:[173,174],v_scale2:[173,174],v_size:[173,174],v_t_qm:260,v_temp:286,v_theta:[208,426],v_tp:194,v_up:426,v_v0:448,v_v11:6,v_v22:6,v_v33:6,v_v:[226,448],v_valu:[168,421],v_vx:226,v_vy:226,v_vz:[226,449],v_wiggl:[295,298,300],v_x:[2,144,211,226,295,298,300,421,426,448],v_xave:6,v_xmax:6,v_xx:144,v_y:[144,211,426],v_yi:144,v_z:426,vacanc:[4,142,287],vacf:[],vacuum:[290,319,350,410,416],valanc:339,vale:3,valenc:[263,339,357,392,393],valent:339,valeriu:9,valid:[2,3,6,9,11,12,71,118,130,143,168,169,192,205,213,251,270,278,301,303,316,321,355,357,360,390,423,424,431,433,448],vallon:380,valon:380,valu:[],value0:448,value1:[12,124,180,181,182,183,184,185,186,233,292,301,434],value2:[12,124,180,181,182,183,184,185,186,233,292,301,434],valuei:182,valuej:182,valuev:[7,9],valus:259,van:[9,53,87,107,257,261,266,281,347,348,377,380,392,393,415,449],vanderwa:[384,441],vanilla:[6,8,12],vanillia:42,vanish:[198,265,273],vapor:[41,188,205,440],vapour:285,var1:434,var2:434,varaibl:[3,426],vare:290,vari:[1,18,41,61,62,71,87,118,132,134,143,173,174,178,181,182,184,188,192,194,227,229,257,269,270,281,282,290,295,318,344,353,362,375,378,389,397,407,420],variabl:[],variable_hill_factor:13,variable_nam:393,varianc:[117,353,448],variant:[1,3,6,12,83,98,233,270,318,325,333,381,382,408,410,432,436,449],variat:[41,188,448],varieti:[1,2,6,7,13,15,71,168,210,321,364,380,392,393,405,448],variou:[],varreturn:421,varshalovich:120,varshnei:13,vartiabl:3,vbia:6,vcm:[],vdim:[133,286,293,449],vdisplac:[3,211,226,295,298,300,448],vdw:[3,348,393],vec1:[117,259],vec2:[117,259],vec:251,vector:[],vel:[3,6,61,181,184,185,194,214,256,274,297,353,357,361,418,425,426,428,443],veld:[13,278,319,343,373],veloc:[],velocit:[209,353,357,361],velocity_bottom:216,velocity_temp:449,velocity_top:216,vendor:12,verbatim:421,verbos:12,veri:[1,3,6,7,8,9,10,12,13,17,41,71,87,117,167,168,169,180,181,182,183,184,185,186,188,189,190,192,205,219,229,230,241,253,268,273,281,282,292,328,329,330,333,357,361,378,379,389,396,397,407,431,441,443,447,450],verifi:[8,333,384,432,438],verlag:274,verlet:[1,3,7,8,12,18,178,213,229,241,247,253,273,279,290,298,301,417,420,432],versa:[3,6,13,59,138,146,191,211,213,214,270,423,424,443],versu:[6,14,15,16,18,39,41,80,103,104,116,140,169,188,270,273,319,343,352,361,373,384,441,448],vertic:[41,168,188,195,448],vfinal:448,vfrac:113,vhi:[133,449],via:[],vibrat:[6,9,195,207,251,260,265,312,357,418,432],vice:[3,6,13,59,138,146,191,211,213,214,270,423,424,443],video:168,view:[4,6,7,9,13,167,168,278,339,357,358],viewer:[167,168],viewpoint:168,vij:353,vika:13,vim:[],vincent:[9,19],violat:285,violet:169,virial:[3,63,91,112,120,121,138,173,174,192,198,229,230,231,232,233,234,235,255,257,270,273,318,333,336,353,354,357,365],virialmod:365,virtual:[6,7,8,12,406],virut:9,visa:7,viscoelast:[111,361,389],viscoelsat:389,viscos:[],viscou:[],viscous:270,visit:[271,392,393],vista:167,visual:[],viz:[11,13],viz_tool:11,vizplotgui_tool:11,vizualiziton:271,vlo:[133,449],vmax:[192,278],vmd:[6,7,9,11,13,167,170,210,424],vmdarch:170,vmdhome:170,vname:[144,448],voigt:[6,120],vol:[6,8,91,121,198,214,256,380,410,419,441,448],volfactor:318,volt:[391,447],volum:[2,3,6,40,41,58,59,63,80,87,91,100,112,116,118,121,142,143,144,147,179,181,184,185,188,192,194,195,205,216,227,229,230,233,236,237,239,240,242,244,245,246,247,248,249,256,257,260,270,274,290,295,299,301,318,321,327,341,378,379,389,402,403,416,419,420,423,426,433,441,443,447,448],volumetr:80,voro:[3,9,142],vorobyov:443,voronoi:[],voter2:[418,437],voter:[381,382,418,437],voth:[40,253],vpz:297,vratio:448,vri:362,vrpn:210,vshear:296,vstream:6,vtarget:[3,293],vtk:[],vv0210:13,vx0:140,vxcm:270,vxhi:[195,256],vxlo:[195,256],vy0:140,vycm:270,vyhi:[195,256],vylo:[195,256],vz0:140,vzcm:270,vzhi:195,vzi:297,vzlo:195,w_1:120,w_2:120,w_i:120,w_ik:390,waal:[87,107,347,348,377,392,393,415],wadlei:[13,339],wag:[7,9,13],wagner:[7,9,178,216,380],wai:[1,2,3,6,7,8,11,12,15,18,22,44,59,63,65,66,69,71,75,77,79,87,90,91,92,93,104,106,108,114,115,116,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,139,141,144,147,152,164,166,167,168,169,172,173,174,181,183,184,186,187,190,191,192,194,203,206,211,213,214,216,227,229,233,241,253,257,259,268,270,271,274,275,278,280,281,282,283,286,289,290,292,295,298,300,301,305,306,307,309,312,319,321,323,326,328,329,333,334,335,346,349,350,353,354,355,356,358,360,363,364,366,369,380,381,382,384,386,390,391,394,396,397,404,406,408,410,417,418,421,423,424,426,427,428,431,432,433,448,449],wait:[1,12,210,252,418,420],walk:[3,206,213,214],wall:[],wallhi:295,wallstyl:296,wander:275,wang:[319,380,390],want:[0,1,2,3,5,6,7,8,9,11,12,17,38,40,56,63,66,68,71,75,81,90,93,103,104,106,107,109,110,112,114,116,121,124,139,140,141,144,147,150,164,167,168,169,172,173,174,175,180,181,188,191,194,195,198,200,203,205,211,214,224,243,251,256,259,269,270,272,275,277,279,286,288,293,295,299,301,303,319,321,328,334,335,339,347,348,353,355,358,364,365,366,380,386,390,392,393,397,406,407,408,410,412,419,421,423,424,425,426,428,430,431,441,443,448,450,452],ward:339,warm:[16,357],warn:[],warner:334,warp:[5,380],warranti:7,warren:353,wasn:3,wast:3,watanab:[287,288],watch:328,water:[],watkin:161,wave:[7,9,40,177,227,264,297,336,357],wavefunct:[9,336,357],wavelength:[118,143],wavepacket:[40,336,357,423],wavevector:252,wbodi:83,weak:261,web:[1,8,14,15,16,17,346],webb:178,weber:[3,5,7,15,88,356,382,390,405,406,435],websit:8,weckner:389,weight:[],welcom:421,well:[1,3,6,7,8,9,11,12,13,15,16,17,18,27,40,51,67,71,112,121,123,130,144,153,168,169,175,179,181,186,188,189,190,192,195,200,205,209,213,216,220,226,229,233,256,270,272,285,288,296,326,328,333,338,359,360,363,364,365,378,379,380,394,397,408,409,410,421,423,425,427,432,437,443,447,451],wennberg:318,went:[3,11],were:[3,4,5,6,7,11,12,13,15,16,18,19,34,41,42,52,56,60,70,71,109,112,116,122,124,144,147,148,160,167,169,172,175,181,183,184,185,186,188,194,200,202,209,210,241,247,271,296,297,301,311,318,330,332,357,361,364,368,389,393,418,420,421,423,424,425,426,428,430,438,441,448,449,451,452],weren:428,western:9,westview:415,what:[],whatev:[8,12,14,15,108,113,116,117,119,168,169,173,174,192,205,229,257,259,296,321,325,326,328,333,345,347,392,393,437,443,448],wheat:169,whelan:143,when:[0,1,2,3,4,6,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,59,61,62,63,71,81,86,88,103,104,105,107,109,112,113,117,119,122,123,127,131,132,140,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,199,200,201,202,203,204,205,207,208,210,213,216,217,219,220,224,229,230,231,232,233,234,235,236,241,243,244,246,247,249,251,255,256,257,258,259,260,262,263,264,265,269,270,271,272,273,274,275,276,278,279,280,281,283,285,286,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,313,314,315,316,317,318,319,321,324,325,326,327,328,329,330,332,333,334,335,337,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,392,393,394,395,396,397,404,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,440,441,442,447,448,449,450,452],whenev:[0,8,12,14,71,169,180,185,270,321,363,421,432,436,448,452],whenth:3,where:[1,3,6,8,9,10,11,12,14,15,18,21,23,24,25,26,27,28,29,32,35,36,37,39,40,41,43,47,48,49,51,55,61,63,65,66,68,69,70,71,73,75,79,80,82,83,84,85,87,88,89,90,92,93,94,95,96,97,98,104,106,108,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,139,141,143,145,147,148,151,153,163,167,168,169,172,173,174,175,176,179,181,182,184,187,188,191,192,194,195,199,200,202,203,205,206,207,208,209,211,213,214,215,216,219,220,222,224,226,227,230,233,241,244,250,251,252,253,256,258,259,260,263,265,270,271,272,273,274,275,277,280,281,282,283,286,287,288,290,293,294,295,296,298,299,300,301,304,306,307,308,309,312,313,314,316,319,321,325,326,327,328,329,330,333,334,335,338,339,340,342,346,347,348,349,350,351,352,353,355,356,357,358,359,360,361,362,363,364,365,366,369,373,378,379,380,381,382,384,386,387,389,390,391,392,393,394,396,399,402,403,404,405,406,407,408,409,410,415,416,417,418,420,421,423,425,426,427,428,430,432,433,435,437,438,439,440,441,443,447,448,449,450,452],wherea:[6,11,179,206,229,261,285,290,443],wherebi:262,wherev:209,whether:[6,8,11,12,16,17,39,40,54,59,61,63,70,71,102,107,109,131,132,164,168,169,171,172,173,174,181,186,189,190,191,192,193,194,198,202,205,214,226,229,233,259,273,278,286,292,293,301,303,316,318,319,327,331,333,342,344,348,362,364,368,378,379,380,384,393,405,418,421,423,424,426,428,435,436,437,440,448,449],which:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,32,33,37,38,39,40,41,42,44,45,46,47,50,51,53,54,55,56,58,59,61,63,64,66,67,70,71,72,73,74,75,76,77,78,80,81,82,83,85,87,88,89,90,91,93,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,155,156,157,158,161,163,164,166,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,219,220,223,224,226,227,228,229,230,231,232,233,234,235,237,239,241,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,295,296,297,298,299,300,301,303,304,305,307,309,310,313,314,316,317,318,319,321,323,324,325,326,327,328,329,330,332,333,334,335,336,338,339,340,342,343,344,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,371,372,373,375,377,378,379,380,381,382,384,386,387,388,390,391,392,393,394,395,396,397,400,405,406,407,408,409,410,411,412,415,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,448,449,450,451,452],whichev:[12,332,418,437],white:[169,206,213,214,215,270,282,290,423,448,451],whitesmok:169,whitespac:[2,3,169,327,423],who:[0,3,6,7,8,9,13,334,355],whole:[198,210,252,265,274,443],wholli:195,whose:[3,6,7,8,19,38,39,56,59,76,87,129,147,164,168,169,194,211,212,226,229,231,232,234,235,251,252,268,269,273,278,292,299,301,321,328,329,357,371,406,407,408,410,443,448,449],why:[3,6,214,286,293],wide:[1,6,7,9,61,63,172,286,293,321,330,344,347,357,392,393],wider:1,width:[168,169,336,359],wiggl:[3,194,226,295,296,298,300,426],wigner:120,wih:6,wiki:14,wikipedia:[6,14],wild:[3,12,22,44,77,87,116,152,173,174,270,305,323,346,363,417,425,430,450,452],wildcard:[3,12,138,148,167,168,169,267,346,430,433,451,452],wildli:229,win:333,window:[3,4,12,13,71,167,168,170,181,182,183,184,185,186,210,271,283,284,346,424],wipe:[172,364,405,444,446],wire:269,wirt:169,wisconsin:13,wise:[3,12,353,406,432],wish:[2,3,5,6,7,8,11,12,14,17,57,58,59,71,117,121,124,145,146,148,150,167,169,180,181,182,184,185,186,190,194,195,202,205,211,216,220,256,259,270,273,278,279,295,296,321,328,333,342,363,364,380,384,392,407,421,423,424,425,431,435,441,448,449,452],within:[1,2,3,6,8,9,11,12,13,15,16,17,29,39,40,41,42,55,59,61,63,65,69,70,71,72,73,77,79,92,108,112,115,116,117,119,120,135,144,147,168,169,173,174,179,180,181,183,184,185,186,188,189,190,191,195,197,202,205,211,213,251,255,256,257,259,261,270,271,273,275,279,290,293,295,299,301,303,317,321,326,327,328,329,330,333,338,340,342,349,354,355,356,357,359,364,365,368,369,380,387,388,389,394,395,405,406,408,409,410,411,418,420,421,423,431,432,435,437,443,447,448],without:[1,2,3,4,6,7,8,9,11,12,14,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,59,87,109,112,122,131,145,150,151,153,154,155,156,158,159,161,162,164,167,168,169,170,172,175,181,183,184,185,186,187,192,194,201,204,206,208,210,213,226,229,231,232,233,234,235,236,244,246,247,248,249,256,259,261,262,264,268,270,271,272,273,278,281,283,294,298,302,304,306,307,308,309,312,314,317,318,319,328,329,333,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,393,394,395,397,405,406,407,408,409,410,412,414,415,416,421,423,431,432,441,443,447,448],witht:9,witi:15,wolf:[],wolff:[384,407],won:[3,268,379],wong:[178,339],word:[2,3,6,8,12,29,63,169,172,179,180,181,182,184,185,186,193,211,238,243,258,263,269,292,303,317,347,384,419,421,423,448,449],work:[1,3,6,7,8,9,11,12,14,16,18,39,54,59,60,88,117,118,123,125,126,127,131,132,133,134,136,137,142,143,167,168,170,173,174,181,184,185,191,203,212,213,214,216,220,226,229,234,235,246,247,248,249,267,269,271,273,281,282,283,288,317,329,333,346,348,351,353,364,378,379,380,384,418,420,421,424,425,427,431,432,434,437],workaround:[270,449],worker:[12,392,393],workhors:8,workstat:[333,421],world:[3,12,120,317,328,332,417,420,421,438,448],worlei:353,worri:17,worsen:18,worst:299,worth:[181,182,183,184,185,186,260,271],would:[1,3,4,5,6,7,8,11,12,22,29,37,40,41,42,44,55,70,71,89,91,116,121,124,132,144,145,146,147,152,163,167,169,170,172,173,174,176,179,181,188,191,193,194,198,199,202,205,208,209,210,214,226,229,230,241,251,253,257,259,261,265,268,278,285,289,297,298,301,303,304,305,306,307,309,310,313,318,321,323,325,326,328,329,332,333,334,335,339,346,347,348,349,353,354,355,356,358,364,365,366,380,381,382,386,390,392,393,396,406,408,409,410,418,421,423,426,427,428,430,431,432,433,434,438,440,441,443,448,449,451,452],wrap:[1,3,6,11,12,57,59,144,146,166,167,169,170,180,185,193,194,195,210,216,226,270,275,278,295,297,299,318,319,328,421,423,424,426,431],wrapper:[],wrigger:274,wright:326,writabl:3,write:[],write_atom_weight:178,write_data:[],write_dump:[],write_freq:393,write_head:8,write_restart:[],writen:271,written:[3,5,6,7,8,9,12,13,14,17,65,69,115,120,142,167,168,169,170,172,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,198,199,200,201,202,203,204,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,228,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,289,290,292,293,294,295,297,298,299,300,302,316,321,329,355,364,413,415,418,419,421,424,425,429,430,437,438,439,440,448,450,451,452],wrong:[3,11,192,229,250,295,299,300,329,393,425,430],wrote:[3,425],wt2:384,wt3:384,www:[0,2,3,4,5,6,7,8,10,11,12,13,15,334,355,378,391,392,393,447],x86:12,x_ij:390,x_ijkl:304,x_kjli:304,x_ljik:304,xave:6,xavx:16,xcm:[8,270,448],xdr:[12,167],xeon:[1,4,7,9,12,16,17,18,333,436],xflag:[131,132,217,219,225,270,285],xhe:103,xhi:[2,6,57,59,146,167,194,289,295,298,300,423,426,441,448],xhi_bound:[6,167],xhi_new:423,xhost:[12,16],xi_ij:390,xiaowang:[13,358,408,410],xiij:251,xlat:[144,194,211,441],xlo:[2,6,11,57,59,146,167,194,211,289,295,298,300,423,426,441,448],xlo_bound:[6,167],xlo_new:423,xmax:[6,177,199,241,448],xmgrace:[],xmin:448,xml:[170,391],xml_label:391,xmovi:[],xmu:[296,361],xplane:296,xplor:167,xpo:144,xrd:[],xsph:9,xsu:[3,167,424],xt3:167,xt4:[18,167],xt5:[18,167],xtc:[3,6,7,9,12,167,168,169,170],xtcdump:169,xvf:12,xwall:[297,298,300],xxx:12,xyz:[3,6,7,13,42,66,71,106,108,132,139,144,167,168,169,170,184,192,219,229,230,233,257,267,268,270,275,277,296,298,300,320,327,420,424,449,451],xzhou:[13,358],xzy:420,yang:390,yb2:143,yb3:143,ybox:194,ycm:270,year:[5,7],yeh:318,yellow:[168,169],yellowgreen:169,yet:[3,7,9,17,39,168,173,261,267,295,319,325,326,333,345,347,348,357,415,421,423,424,448,450,451],yflag:[131,132,217,219,225,270,285],yhi:[6,59,146,167,194,289,295,298,300,423,426,441],yhi_bound:[6,167],yield:[6,91,110,117,121,127,132,169,182,192,198,229,247,261,286,292,293,296,301,318,338,353,361,384,389,441,448],yip:287,ylat:[144,194,211,441],ylo:[6,59,146,167,194,289,295,298,300,423,426,441],ylo_bound:[6,167],ymax:[177,448],ymin:448,york:[253,319],yoshida:[229,270],you:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,56,57,58,59,61,63,66,68,71,73,74,75,77,81,87,88,89,90,91,93,102,103,104,106,107,109,110,112,114,116,117,120,121,122,123,124,127,131,132,137,138,139,140,141,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,224,226,229,231,232,233,234,235,236,241,243,244,246,247,248,249,252,253,255,256,257,259,261,262,265,268,269,270,272,273,274,275,277,278,279,281,282,283,284,286,287,288,289,290,292,293,294,295,296,298,299,300,301,303,304,306,307,308,309,310,312,314,317,318,319,321,323,325,326,327,328,329,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,406,407,408,409,410,412,414,415,416,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,440,441,443,447,448,449,450,452],young:361,your:[0,1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,59,61,107,109,112,122,123,127,131,137,142,144,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,175,178,182,183,186,187,189,190,191,192,195,201,204,205,208,210,213,226,229,231,232,233,234,235,236,244,246,247,249,256,259,262,268,270,272,273,274,280,281,283,286,290,292,293,294,295,296,299,300,301,304,306,307,308,309,312,314,319,321,327,328,329,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,354,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,389,390,392,393,394,395,397,406,407,408,409,410,412,414,415,416,417,420,421,423,425,426,427,430,431,432,433,434,435,436,440,441,447,448,450,452],yourself:[6,8,12,13,192,327],yplane:296,ypo:144,ysu:[3,167,424],yuan:9,yukawa:[],yukawa_1_1:413,yxz:420,yzx:420,z_i:[357,410,416],z_j:[410,416],z_meam:380,zachari:13,zannoni:360,zbl:[],zblcut:410,zblcutinn:396,zblcutout:396,zblexpscal:410,zblz:396,zcm:270,zcylind:296,zepeda:179,zero:[3,4,6,9,11,12,26,27,39,41,48,49,59,61,63,66,71,75,87,88,90,93,102,103,104,105,106,108,109,110,112,113,114,115,116,117,118,120,121,123,124,125,132,133,136,137,139,141,142,143,144,146,147,148,150,153,162,164,166,167,168,169,172,173,174,175,177,179,180,181,182,183,184,185,186,187,188,189,190,192,194,199,200,201,202,204,205,206,207,209,213,214,215,216,217,219,225,226,227,229,233,241,244,253,258,259,260,261,262,265,267,268,270,271,272,273,278,280,285,286,288,290,293,294,295,296,297,298,300,301,302,303,308,321,324,326,327,328,329,333,336,339,340,342,343,344,347,349,352,353,357,360,362,363,365,369,371,373,374,377,379,380,384,389,393,394,395,404,407,411,416,418,419,420,423,424,426,428,430,431,432,433,437,438,441,443,448,449,450,452],zeta:[3,216,261,358],zfactor:168,zflag:[131,132,217,219,225,270,285],zhang:[270,286,361],zhi:[3,6,146,167,177,289,295,298,300,423,426,441],zhi_bound:[6,167],zhou:[13,339,358,390,408,410],zhu:403,ziegenhain:13,ziegler:[255,380,405,410,416],zimmerman2004:178,zimmerman2010:178,zimmerman:[9,70,178,339],zlat:[194,211,441],zlo:[3,6,146,167,177,289,295,297,298,300,423,426,441],zlo_bound:[6,167],zmax:[177,216,448],zmin:[216,448],zn2:143,zone:[118,271],zoom:[3,167,168,169],zplane:296,zr4:143,zrest:277,zsu:[3,167,424],zwall:295,zwall_veloc:216,zxy:420,zybin:393,zyx:420},titles:["LAMMPS Documentation","5. Accelerating LAMMPS performance","3. Commands","12. Errors","7. Example problems","13. Future and history","6. How-to discussions","1. Introduction","10. Modifying & extending LAMMPS","4. Packages","8. Performance & scalability","11. Python interface to LAMMPS","2. Getting Started","9. Additional tools","5.USER-CUDA package","5.GPU package","5.USER-INTEL package","5.KOKKOS package","5.USER-OMP package","5.OPT package","angle_style charmm command","angle_style class2 command","angle_coeff command","angle_style cosine command","angle_style cosine/delta command","angle_style cosine/periodic command","angle_style cosine/shift command","angle_style cosine/shift/exp command","angle_style cosine/squared command","angle_style dipole command","angle_style fourier command","angle_style fourier/simple command","angle_style harmonic command","angle_style hybrid command","angle_style none command","angle_style quartic command","angle_style sdk command","angle_style command","angle_style table command","atom_modify command","atom_style command","balance command","Body particles","bond_style class2 command","bond_coeff command","bond_style fene command","bond_style fene/expand command","bond_style harmonic command","bond_style harmonic/shift command","bond_style harmonic/shift/cut command","bond_style hybrid command","bond_style morse command","bond_style none command","bond_style nonlinear command","bond_style quartic command","bond_style command","bond_style table command","boundary command","box command","change_box command","clear command","comm_modify command","comm_style command","compute command","compute ackland/atom command","compute angle/local command","compute angmom/chunk command","compute basal/atom command","compute body/local command","compute bond/local command","compute centro/atom command","compute chunk/atom command","compute cluster/atom command","compute cna/atom command","compute com command","compute com/chunk command","compute contact/atom command","compute coord/atom command","compute damage/atom command","compute dihedral/local command","compute dilatation/atom command","compute displace/atom command","compute erotate/asphere command","compute erotate/rigid command","compute erotate/sphere command","compute erotate/sphere/atom command","compute event/displace command","compute fep command","compute group/group command","compute gyration command","compute gyration/chunk command","compute heat/flux command","compute improper/local command","compute inertia/chunk command","compute ke command","compute ke/atom command","compute ke/atom/eff command","compute ke/eff command","compute ke/rigid command","compute meso_e/atom command","compute meso_rho/atom command","compute meso_t/atom command","compute_modify command","compute msd command","compute msd/chunk command","compute msd/nongauss command","compute omega/chunk command","compute pair command","compute pair/local command","compute pe command","compute pe/atom command","compute plasticity/atom command","compute pressure command","compute property/atom command","compute property/chunk command","compute property/local command","compute rdf command","compute reduce command","compute saed command","compute slice command","compute sna/atom command","compute stress/atom command","compute temp command","compute temp/asphere command","compute temp/chunk command","compute temp/com command","compute temp/cs command","compute temp/deform command","compute temp/deform/eff command","compute temp/drude command","compute temp/eff command","compute temp/partial command","compute temp/profile command","compute temp/ramp command","compute temp/region command","compute temp/region/eff command","compute temp/rotate command","compute temp/sphere command","compute ti command","compute torque/chunk command","compute vacf command","compute vcm/chunk command","compute voronoi/atom command","compute xrd command","create_atoms command","create_bonds command","create_box command","delete_atoms command","delete_bonds command","dielectric command","dihedral_style charmm command","dihedral_style class2 command","dihedral_coeff command","dihedral_style cosine/shift/exp command","dihedral_style fourier command","dihedral_style harmonic command","dihedral_style helix command","dihedral_style hybrid command","dihedral_style multi/harmonic command","dihedral_style nharmonic command","dihedral_style none command","dihedral_style opls command","dihedral_style quadratic command","dihedral_style command","dihedral_style table command","dimension command","displace_atoms command","dump command","dump image command","dump_modify command","dump molfile command","echo command","fix command","fix adapt command","fix adapt/fep command","fix addforce command","fix addtorque command","fix append/atoms command","fix atc command","fix atom/swap command","fix ave/atom command","fix ave/chunk command","fix ave/correlate command","fix ave/histo command","fix ave/spatial command","fix ave/spatial/sphere command","fix ave/time command","fix aveforce command","fix balance command","fix bond/break command","fix bond/create command","fix bond/swap command","fix box/relax command","fix colvars command","fix deform command","fix deposit command","fix drag command","fix drude command","fix drude/transform/direct command","fix dt/reset command","fix efield command","fix enforce2d command","fix evaporate command","fix external command","fix freeze command","fix gcmc command","fix gld command","fix gle command","fix gravity command","fix heat command","fix imd command","fix indent command","fix ipi command","fix langevin command","fix langevin/drude command","fix langevin/eff command","fix lb/fluid command","fix lb/momentum command","fix lb/pc command","fix lb/rigid/pc/sphere command","fix lb/viscous command","fix lineforce command","fix meso command","fix meso/stationary command","fix_modify command","fix momentum command","fix move command","fix msst command","fix neb command","fix nvt command","fix nvt/eff command","fix nph/asphere command","fix nph/sphere command","fix nphug command","fix npt/asphere command","fix npt/sphere command","fix nve command","fix nve/asphere command","fix nve/asphere/noforce command","fix nve/body command","fix nve/eff command","fix nve/limit command","fix nve/line command","fix nve/noforce command","fix nve/sphere command","fix nve/tri command","fix nvt/asphere command","fix nvt/sllod command","fix nvt/sllod/eff command","fix nvt/sphere command","fix oneway command","fix orient/fcc command","fix phonon command","fix pimd command","fix planeforce command","fix poems","fix pour command","fix press/berendsen command","fix print command","fix property/atom command","fix qbmsst command","fix qeq/point command","fix qeq/comb command","fix qeq/reax command","fix qmmm command","fix qtb command","fix reax/bonds command","fix reax/c/species command","fix recenter command","fix restrain command","fix rigid command","fix saed/vtk command","fix setforce command","fix shake command","fix smd command","fix spring command","fix spring/rg command","fix spring/self command","fix srd command","fix store/force command","fix store/state command","fix temp/berendsen command","fix temp/csvr command","fix temp/rescale command","fix temp/rescale/eff command","fix tfmc command","fix thermal/conductivity command","fix ti/rs command","fix ti/spring command","fix tmd command","fix ttm command","fix tune/kspace command","fix vector command","fix viscosity command","fix viscous command","fix wall/lj93 command","fix wall/gran command","fix wall/piston command","fix wall/reflect command","fix wall/region command","fix wall/srd command","group command","group2ndx command","if command","improper_style class2 command","improper_coeff command","improper_style cossq command","improper_style cvff command","improper_style fourier command","improper_style harmonic command","improper_style hybrid command","improper_style none command","improper_style ring command","improper_style command","improper_style umbrella command","include command","info command","jump command","kspace_modify command","kspace_style command","label command","lattice command","log command","mass command","min_modify command","min_style command","minimize command","molecule command","neb command","neigh_modify command","neighbor command","newton command","next command","package command","pair_style adp command","pair_style airebo command","pair_style awpmd/cut command","pair_style beck command","pair_style body command","pair_style bop command","pair_style born command","pair_style brownian command","pair_style buck command","pair_style buck/long/coul/long command","pair_style lj/charmm/coul/charmm command","pair_style lj/class2 command","pair_coeff command","pair_style colloid command","pair_style comb command","pair_style coul/cut command","pair_style coul/diel command","pair_style born/coul/long/cs command","pair_style lj/cut/dipole/cut command","pair_style dpd command","pair_style dsmc command","pair_style eam command","pair_style edip command","pair_style eff/cut command","pair_style eim command","pair_style gauss command","pair_style gayberne command","pair_style gran/hooke command","pair_style lj/gromacs command","pair_style hbond/dreiding/lj command","pair_style hybrid command","pair_style kim command","pair_style lcbop command","pair_style line/lj command","pair_style list command","pair_style lj/cut command","pair_style lj96/cut command","pair_style lj/cubic command","pair_style lj/expand command","pair_style lj/long/coul/long command","pair_style lj/sf command","pair_style lj/smooth command","pair_style lj/smooth/linear command","pair_style lj/cut/soft command","pair_style lubricate command","pair_style lubricateU command","pair_style meam command","pair_style meam/spline","pair_style meam/sw/spline","pair_style mie/cut command","pair_modify command","pair_style morse command","pair_style nb3b/harmonic command","pair_style nm/cut command","pair_style none command","pair_style peri/pmb command","pair_style polymorphic command","pair_style quip command","pair_style reax command","pair_style reax/c command","pair_style resquared command","pair_style lj/sdk command","pair_style snap command","pair_style soft command","pair_style sph/heatconduction command","pair_style sph/idealgas command","pair_style sph/lj command","pair_style sph/rhosum command","pair_style sph/taitwater command","pair_style sph/taitwater/morris command","pair_style srp command","pair_style command","pair_style sw command","pair_style table command","pair_style tersoff command","pair_style tersoff/mod command","pair_style tersoff/zbl command","pair_style thole command","pair_style tri/lj command","pair_write command","pair_style yukawa command","pair_style yukawa/colloid command","pair_style zbl command","partition command","prd command","print command","processors command","python command","quit command","read_data command","read_dump command","read_restart command","region command","replicate command","rerun command","reset_timestep command","restart command","run command","run_style command","set command","shell command","special_bonds command","suffix command","tad command","temper command","thermo command","thermo_modify command","thermo_style command","timestep command","<no title>","uncompute command","undump command","unfix command","units command","variable command","velocity command","write_data command","write_dump command","write_restart command"],titleterms:{"break":189,"default":[37,39,40,55,57,58,59,61,62,71,87,88,102,103,105,107,118,120,124,132,133,137,143,144,147,149,163,165,166,167,168,169,170,171,173,174,175,177,178,179,181,184,185,186,189,190,192,193,194,195,199,202,205,206,211,213,214,215,216,217,219,224,227,229,230,233,247,248,252,253,256,257,258,259,260,262,265,267,268,270,271,278,280,285,286,287,288,291,293,295,297,301,313,316,318,319,321,322,324,325,327,329,330,331,333,336,339,341,357,378,379,384,392,393,404,405,418,419,420,423,424,426,428,430,431,432,435,437,439,440,441,442,447,449,450,451],"function":448,"long":[340,342,343,344,345,349,351,352,369,373,377,387,395],"new":8,"static":12,acceler:1,ackland:64,acknowledg:7,adapt:[173,174],addforc:175,addit:[12,13],addtorqu:176,adiabat:6,adp:334,airebo:335,alloi:355,amber2lmp:13,amber:6,angl:[8,65],angle_coeff:22,angle_styl:[2,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],angmom:66,append:177,arrai:6,aspher:[6,82,123,231,234,237,238,246],atc:[9,178],atom:[6,7,8,64,67,70,71,72,73,76,77,78,80,81,85,95,96,99,100,101,110,111,113,120,121,142,177,179,180,259,448],atom_modifi:39,atom_styl:40,attract:5,aveforc:187,awpmd:[9,336],balanc:[41,188],barostat:6,basal:67,beck:337,berendsen:[257,281],between:6,binary2txt:13,bodi:[6,8,42,68,239,338],bond:[8,13,69,189,190,191,266],bond_coeff:44,bond_styl:[2,43,45,46,47,48,49,50,51,52,53,54,55,56],bop:339,born:[340,351],boundari:[7,57],box:[6,58,192],brownian:341,buck:[342,343,351],bug:3,build:[11,12],calcul:6,call:12,categori:2,centro:70,ch2lmp:13,chain:13,change_box:59,charmm:[6,20,150,344,377],chunk:[6,66,71,75,90,93,104,106,114,124,139,141,181],citat:7,class2:[21,43,151,304,345],clear:60,cluster:72,cmm:9,cna:73,code:6,coeffici:6,colloid:[295,347,415],colvar:[9,13,193],com:[74,75,125],comb3:348,comb:[262,348],come:5,comm_modifi:61,comm_styl:62,command:[2,6,8,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],common:3,comparison:1,compos:6,comput:[2,6,8,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,448],compute_modifi:102,condit:7,conduct:[6,286],constant:6,constraint:7,contact:76,coord:77,core:6,correl:182,cosin:[23,24,25,26,27,28,153],cossq:306,coul:[340,342,343,344,345,349,350,351,362,369,373,377,387,395],coupl:6,creat:190,create_atom:144,create_bond:145,create_box:146,createatom:13,creation:7,csld:282,csvr:282,cubic:371,cuda:[9,14,109,112,122,131,175,187,201,204,208,229,236,272,273,281,283,294,340,342,344,345,355,361,362,369,370,372,375,385,406,408],custom:8,cut:[49,336,342,345,349,352,357,359,369,370,377,383,387],cvff:307,damag:78,data2xmovi:13,data:6,databas:13,deby:[349,369],deform:[127,128,194],delete_atom:147,delete_bond:148,delta:24,deposit:195,descript:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],diagnost:7,diel:350,dielectr:149,diffract:9,diffus:6,dihedr:[8,79],dihedral_coeff:152,dihedral_styl:[2,150,151,153,154,155,156,157,158,159,160,161,162,163,164],dilat:80,dimens:165,dipol:[6,29,352],direct:198,discuss:6,disp:6,displac:[81,86],displace_atom:166,distribut:[7,12],document:0,dpd:353,drag:196,dreid:[6,363],drude:[6,9,129,197,198,214],dsf:[349,369],dsmc:354,dump:[6,8,167,168,170],dump_modifi:169,dynam:261,eam:[13,355],echo:171,edip:356,eff:[9,13,96,97,128,130,135,215,230,240,248,284,357],efield:200,eim:358,elast:6,emac:13,enforce2d:201,ensembl:7,erot:[82,83,84,85],error:3,evapor:202,event:86,exampl:[1,4,6,11,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],exp:[27,153],expand:[46,372],extend:[8,11],extern:203,fcc:251,featur:[7,8],fene:[45,46],fep:[9,13,87,174],field:[6,7],file:6,finit:6,fix:[2,6,8,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,448],fix_modifi:[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],flow:6,fluid:216,flux:91,forc:[6,7,279],fourier:[30,31,154,308],freez:204,from:[6,11],futur:5,gauss:359,gaybern:360,gcmc:205,gener:[1,6,7,13],get:12,gld:206,gle:207,global:6,gpu:[15,337,340,342,344,345,347,349,352,353,355,359,360,362,369,370,372,383,385,394,395,397,406,407,414,415],gran:[296,361],granular:6,graviti:208,gromac:362,group2ndx:302,group:[88,301,448],gyrat:[89,90],harmon:[32,47,48,49,155,158,295,309,386],hbond:363,heat:[91,209],heatconduct:398,helix:156,hertz:361,histo:183,histori:[5,361],hook:361,how:6,hybrid:[33,50,157,310,364],idealga:399,imag:[167,168],imd:210,implicit:344,improp:[8,92],improper_coeff:305,improper_styl:[2,304,306,307,308,309,310,311,312,313,314],includ:315,inclus:8,indent:211,indic:0,individu:2,induc:6,inertia:93,info:[0,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,316],input:[2,6,8],instal:11,integr:[6,7],intel:[9,16,344,360,369,406],interfac:[6,11],introduct:7,invers:198,ipi:212,ipp:13,jul:0,jump:317,kate:13,keyword:384,kim:365,kokko:17,kspace:[2,8,291],kspace_modifi:318,kspace_styl:[6,319],label:320,lammp:[0,1,2,6,7,8,11,12],langevin:[213,214,215],lattic:321,lcbop:366,librari:[6,11,12],limit:[241,283],line:[12,242,367],linear:376,lineforc:221,list:[2,368],lj1043:295,lj126:295,lj93:295,lj96:370,lmp2arc:13,lmp2cfg:13,lmp2vmd:13,local:[6,65,68,69,79,92,108,115],log:322,lubric:378,lubricateu:379,make:12,mass:323,math:448,matlab:13,meam:[380,381,382],measur:1,meso:[222,223],meso_:99,meso_rho:100,meso_t:101,messag:3,micelle2d:13,mie:383,min_modifi:324,min_styl:325,minim:[8,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,326],misc:9,mod:[290,409],model:[6,7],modifi:8,molecul:327,molfil:[9,167,170],moltempl:13,momentum:[217,225],morri:403,mors:[51,363,385],move:226,movi:[167,168],mpi:11,msd:[103,104,105],msi2lmp:13,msm:[340,342,344,349,369],msst:227,multi:[6,7,158],multipl:6,nb3b:386,neb:[228,328],neigh_modifi:329,neighbor:330,nemd:6,newton:331,next:332,nharmon:159,noforc:[238,243],non:[6,7],none:[34,52,160,311,388],nongauss:105,nonlinear:53,nph:[229,230,231,232,270],nphug:233,npt:[229,230,234,235,270],nve:[236,237,238,239,240,241,242,243,244,245,270],nvt:[229,230,246,247,248,249,270],omega:106,omp:[9,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,43,45,46,47,48,49,51,53,54,56,150,151,153,154,155,156,158,159,161,162,164,208,229,231,232,233,234,235,236,244,246,247,249,262,304,306,307,308,309,312,314,334,335,337,340,341,342,343,344,345,347,348,349,350,352,353,355,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,382,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416],onewai:250,open:7,oper:448,opl:161,opt:[19,344,355,369,373,385],optim:1,option:[6,8,12],orient:251,orthogon:6,other:6,output:[6,7,8,12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],overlai:364,overview:11,packag:[1,9,12,14,15,16,17,18,19,333],pair:[6,107,108],pair_coeff:346,pair_modifi:384,pair_styl:[2,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416],pair_writ:413,pairwis:8,parallel:11,paramet:6,pars:2,partial:131,particl:[6,7,42],partit:417,past:5,per:6,perform:[1,10],peri:389,period:25,phonon:[9,13,252],pimd:253,piston:297,planeforc:254,plastic:111,pmb:389,poem:255,point:261,polariz:6,poli:[341,378,379],polym:13,polymorph:390,post:7,potenti:[2,6,8],pour:256,pppm:6,prd:418,pre:7,press:257,pressur:112,previou:12,print:[258,419],problem:[3,4],process:[6,7],processor:420,profil:132,properti:[6,113,114,115,259],pymol_aspher:13,python:[11,13,421],qbmsst:260,qeq:[261,262,263],qmmm:[9,264],qtb:[9,265],quadrat:162,quantiti:6,quartic:[35,54],quip:391,quit:422,ramp:133,rattl:273,rdf:116,read_data:423,read_dump:424,read_restart:425,reax:[13,263,266,267,392,393],reaxc:9,rebo:335,recent:268,reduc:117,refer:448,reflect:298,region:[8,117,134,135,299,426,448],relat:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,40,41,43,44,45,46,47,48,49,50,51,53,54,55,56,57,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,89,91,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,202,204,205,206,207,208,209,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,265,266,267,268,270,271,272,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,321,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,428,429,430,431,432,433,435,436,437,438,439,440,441,442,444,445,446,448,449,450,451,452],relax:192,replic:427,replica:[6,7],report:3,requir:12,rerun:428,rescal:[283,284],reset:199,reset_timestep:429,resquar:394,restart2data:13,restart:[6,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,430],restrain:269,restrict:[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],rhosum:401,rigid:[6,83,98,219,270],ring:312,rotat:136,rule:2,run:[6,11,12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,431],run_styl:432,scalabl:10,scalar:6,screen:12,script:[2,6,8,11,12],sdk:[36,395],self:277,serial:11,set:[6,433],setforc:272,shake:273,share:[11,12],shell:[6,434],shield:261,shift:[26,27,48,49,153],simpl:31,simul:6,size:6,slater:261,slice:119,sllod:[247,248],small:270,smd:274,smooth:[375,376],sna:120,snad:120,snap:396,snapshot:6,snav:120,soft:[377,397],solver:2,sourc:7,spatial:[184,185],spc:6,speci:267,special:[7,384,448],special_bond:435,sph:[9,398,399,400,401,402,403],sphere:[84,85,137,185,219,232,235,244,249],spheric:6,spline:[381,382],spring:[275,276,277,288],squar:28,srd:[278,300],srp:404,standard:9,start:[12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],state:280,stationari:223,stop:[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],store:[279,280],strategi:1,streitz:349,stress:121,structur:2,style:[1,2,6,8],submit:8,suffix:436,summari:6,swap:[179,191],syntax:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,252,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],system:6,tabl:[0,6,38,56,164,407,408],tad:437,taitwat:[402,403],temp:[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,281,282,283,284],temper:438,temperatur:6,tersoff:[408,409,410],test:11,tfmc:285,thermal:[6,286],thermo:[6,439],thermo_modifi:440,thermo_styl:441,thermodynam:[6,8],thermostat:6,thole:411,time:[6,186],timestep:442,tip3p:6,tip4p:[6,349,369,373,377],tip:12,tmd:289,tool:13,torqu:139,transform:198,tri:[245,412],triclin:6,tstat:353,ttm:290,tune:291,type:7,umbrella:314,uncomput:444,undump:445,unfix:446,unit:447,user:[9,12,14,16,18],vacf:140,valu:[6,448],variabl:[6,8,448],variou:1,vcm:141,vector:[6,292,448],veloc:449,version:[0,5,12],via:12,vim:13,viscos:[6,293],viscou:[220,294],visual:6,voronoi:142,vtk:271,wall:[6,295,296,297,298,299,300],warn:3,water:6,weight:183,what:[7,12],wolf:[340,349],wrapper:11,write:6,write_data:450,write_dump:451,write_restart:452,xmgrace:13,xmovi:13,xrd:143,yukawa:[414,415],zbl:[410,416]}}) \ No newline at end of file +Search.setIndex({envversion:47,filenames:["Manual","Section_accelerate","Section_commands","Section_errors","Section_example","Section_history","Section_howto","Section_intro","Section_modify","Section_packages","Section_perf","Section_python","Section_start","Section_tools","accelerate_cuda","accelerate_gpu","accelerate_intel","accelerate_kokkos","accelerate_omp","accelerate_opt","angle_charmm","angle_class2","angle_coeff","angle_cosine","angle_cosine_delta","angle_cosine_periodic","angle_cosine_shift","angle_cosine_shift_exp","angle_cosine_squared","angle_dipole","angle_fourier","angle_fourier_simple","angle_harmonic","angle_hybrid","angle_none","angle_quartic","angle_sdk","angle_style","angle_table","atom_modify","atom_style","balance","body","bond_class2","bond_coeff","bond_fene","bond_fene_expand","bond_harmonic","bond_harmonic_shift","bond_harmonic_shift_cut","bond_hybrid","bond_morse","bond_none","bond_nonlinear","bond_quartic","bond_style","bond_table","boundary","box","change_box","clear","comm_modify","comm_style","compute","compute_ackland_atom","compute_angle_local","compute_angmom_chunk","compute_basal_atom","compute_body_local","compute_bond_local","compute_centro_atom","compute_chunk_atom","compute_cluster_atom","compute_cna_atom","compute_com","compute_com_chunk","compute_contact_atom","compute_coord_atom","compute_damage_atom","compute_dihedral_local","compute_dilatation_atom","compute_displace_atom","compute_erotate_asphere","compute_erotate_rigid","compute_erotate_sphere","compute_erotate_sphere_atom","compute_event_displace","compute_fep","compute_group_group","compute_gyration","compute_gyration_chunk","compute_heat_flux","compute_improper_local","compute_inertia_chunk","compute_ke","compute_ke_atom","compute_ke_atom_eff","compute_ke_eff","compute_ke_rigid","compute_meso_e_atom","compute_meso_rho_atom","compute_meso_t_atom","compute_modify","compute_msd","compute_msd_chunk","compute_msd_nongauss","compute_omega_chunk","compute_pair","compute_pair_local","compute_pe","compute_pe_atom","compute_plasticity_atom","compute_pressure","compute_property_atom","compute_property_chunk","compute_property_local","compute_rdf","compute_reduce","compute_saed","compute_slice","compute_sna_atom","compute_stress_atom","compute_temp","compute_temp_asphere","compute_temp_chunk","compute_temp_com","compute_temp_cs","compute_temp_deform","compute_temp_deform_eff","compute_temp_drude","compute_temp_eff","compute_temp_partial","compute_temp_profile","compute_temp_ramp","compute_temp_region","compute_temp_region_eff","compute_temp_rotate","compute_temp_sphere","compute_ti","compute_torque_chunk","compute_vacf","compute_vcm_chunk","compute_voronoi_atom","compute_xrd","create_atoms","create_bonds","create_box","delete_atoms","delete_bonds","dielectric","dihedral_charmm","dihedral_class2","dihedral_coeff","dihedral_cosine_shift_exp","dihedral_fourier","dihedral_harmonic","dihedral_helix","dihedral_hybrid","dihedral_multi_harmonic","dihedral_nharmonic","dihedral_none","dihedral_opls","dihedral_quadratic","dihedral_style","dihedral_table","dimension","displace_atoms","dump","dump_image","dump_modify","dump_molfile","echo","fix","fix_adapt","fix_adapt_fep","fix_addforce","fix_addtorque","fix_append_atoms","fix_atc","fix_atom_swap","fix_ave_atom","fix_ave_chunk","fix_ave_correlate","fix_ave_histo","fix_ave_spatial","fix_ave_spatial_sphere","fix_ave_time","fix_aveforce","fix_balance","fix_bond_break","fix_bond_create","fix_bond_swap","fix_box_relax","fix_colvars","fix_deform","fix_deposit","fix_drag","fix_drude","fix_drude_transform","fix_dt_reset","fix_efield","fix_enforce2d","fix_evaporate","fix_external","fix_freeze","fix_gcmc","fix_gld","fix_gle","fix_gravity","fix_heat","fix_imd","fix_indent","fix_ipi","fix_langevin","fix_langevin_drude","fix_langevin_eff","fix_lb_fluid","fix_lb_momentum","fix_lb_pc","fix_lb_rigid_pc_sphere","fix_lb_viscous","fix_lineforce","fix_meso","fix_meso_stationary","fix_modify","fix_momentum","fix_move","fix_msst","fix_neb","fix_nh","fix_nh_eff","fix_nph_asphere","fix_nph_sphere","fix_nphug","fix_npt_asphere","fix_npt_sphere","fix_nve","fix_nve_asphere","fix_nve_asphere_noforce","fix_nve_body","fix_nve_eff","fix_nve_limit","fix_nve_line","fix_nve_noforce","fix_nve_sphere","fix_nve_tri","fix_nvt_asphere","fix_nvt_sllod","fix_nvt_sllod_eff","fix_nvt_sphere","fix_oneway","fix_orient_fcc","fix_phonon","fix_pimd","fix_planeforce","fix_poems","fix_pour","fix_press_berendsen","fix_print","fix_property_atom","fix_qbmsst","fix_qeq","fix_qeq_comb","fix_qeq_reax","fix_qmmm","fix_qtb","fix_reax_bonds","fix_reaxc_species","fix_recenter","fix_restrain","fix_rigid","fix_saed_vtk","fix_setforce","fix_shake","fix_smd","fix_spring","fix_spring_rg","fix_spring_self","fix_srd","fix_store_force","fix_store_state","fix_temp_berendsen","fix_temp_csvr","fix_temp_rescale","fix_temp_rescale_eff","fix_tfmc","fix_thermal_conductivity","fix_ti_rs","fix_ti_spring","fix_tmd","fix_ttm","fix_tune_kspace","fix_vector","fix_viscosity","fix_viscous","fix_wall","fix_wall_gran","fix_wall_piston","fix_wall_reflect","fix_wall_region","fix_wall_srd","group","group2ndx","if","improper_class2","improper_coeff","improper_cossq","improper_cvff","improper_fourier","improper_harmonic","improper_hybrid","improper_none","improper_ring","improper_style","improper_umbrella","include","info","jump","kspace_modify","kspace_style","label","lattice","log","mass","min_modify","min_style","minimize","molecule","neb","neigh_modify","neighbor","newton","next","package","pair_adp","pair_airebo","pair_awpmd","pair_beck","pair_body","pair_bop","pair_born","pair_brownian","pair_buck","pair_buck_long","pair_charmm","pair_class2","pair_coeff","pair_colloid","pair_comb","pair_coul","pair_coul_diel","pair_cs","pair_dipole","pair_dpd","pair_dsmc","pair_eam","pair_edip","pair_eff","pair_eim","pair_gauss","pair_gayberne","pair_gran","pair_gromacs","pair_hbond_dreiding","pair_hybrid","pair_kim","pair_lcbop","pair_line_lj","pair_list","pair_lj","pair_lj96","pair_lj_cubic","pair_lj_expand","pair_lj_long","pair_lj_sf","pair_lj_smooth","pair_lj_smooth_linear","pair_lj_soft","pair_lubricate","pair_lubricateU","pair_meam","pair_meam_spline","pair_meam_sw_spline","pair_mie","pair_modify","pair_morse","pair_nb3b_harmonic","pair_nm","pair_none","pair_peri","pair_polymorphic","pair_quip","pair_reax","pair_reax_c","pair_resquared","pair_sdk","pair_snap","pair_soft","pair_sph_heatconduction","pair_sph_idealgas","pair_sph_lj","pair_sph_rhosum","pair_sph_taitwater","pair_sph_taitwater_morris","pair_srp","pair_style","pair_sw","pair_table","pair_tersoff","pair_tersoff_mod","pair_tersoff_zbl","pair_thole","pair_tri_lj","pair_write","pair_yukawa","pair_yukawa_colloid","pair_zbl","partition","prd","print","processors","python","quit","read_data","read_dump","read_restart","region","replicate","rerun","reset_timestep","restart","run","run_style","set","shell","special_bonds","suffix","tad","temper","thermo","thermo_modify","thermo_style","timestep","tutorial_drude","uncompute","undump","unfix","units","variable","velocity","write_data","write_dump","write_restart"],objects:{},objnames:{},objtypes:{},terms:{"00a":287,"00b":287,"02214e23":91,"03275e":447,"0b1":11,"0e20":[303,426,448],"0e4":[227,296,361],"0e5":227,"0x98b5e0":168,"100k":1,"1024x1024":168,"10e":351,"10f":3,"10g":448,"10th":[418,424,437],"10x":[3,325,326,328,329,339],"10x10x10":132,"10x20x20":321,"11e":10,"15g":[169,448],"16x":1,"18986e":326,"18e":10,"1_prop":6,"1st":[2,6,8,12,20,22,38,44,56,57,58,60,87,138,150,152,164,173,174,181,182,183,184,185,186,190,194,229,258,268,289,301,305,323,329,334,335,339,346,348,355,357,358,365,366,375,376,380,381,382,386,390,396,406,407,408,409,410,417,423,431,432,435,448],"1x2x2":420,"2000k":168,"20x":339,"23899e":326,"2400k":168,"256k":10,"25x":10,"298k":350,"2k_ss":357,"2nd":[2,3,6,11,12,15,17,38,45,46,56,57,60,71,77,88,133,164,169,181,182,183,184,185,186,190,192,194,229,270,274,275,301,304,310,317,326,327,328,329,333,335,348,357,363,364,380,396,405,406,407,408,409,410,423,430,432,435,448],"2pi":164,"2theta":143,"2x1x2":420,"2x2x1":420,"2x2x2":420,"2x4x10":420,"2x5":357,"300k":[207,270,449],"32k":10,"3419e":227,"3806504e":[6,91],"38e":10,"3n_k":206,"3nk":260,"3nkb":265,"3rd":[15,17,20,38,56,71,105,114,164,181,182,183,184,185,186,190,270,271,301,327,331,333,348,357,363,364,396,406,407,408,409,410,423,430,435,448],"3x3":[91,321],"4857990943e":357,"4_94":11,"4th":[6,38,56,81,103,104,116,140,150,164,169,275,301,319,332,334,335,339,355,358,365,380,386,390,396,406,407,408,410,423,430,435,438,452],"4x10":317,"4x2x10":420,"4x6x10":420,"50k":1,"53xx":18,"54xx":18,"55e":10,"5_1":339,"5kx":[175,200],"5nlog_2":12,"5th":[116,326,440],"6021765e":447,"6863e22":389,"6x6":6,"72360e":227,"7797e":227,"8032044e":447,"8x1":6,"8x2":[6,12],"9e18":[12,39],"9e9":389,"9jan09":[296,361],"9th":328,"__main__":421,"__pthread_key_cr":12,"_j1m1m1":120,"_j2m2m2":120,"_serial":12,"abstract":17,"boolean":[3,301,303],"break":[],"byte":[3,12,440],"case":[1,2,3,6,8,11,12,13,15,16,17,18,39,40,41,45,46,59,61,63,71,73,104,108,114,116,117,122,123,124,125,127,130,131,132,133,134,136,137,138,142,144,146,147,148,150,167,168,169,175,176,180,181,182,183,184,185,186,187,188,190,192,194,198,200,202,205,208,209,211,212,213,214,216,227,229,230,231,232,233,234,235,246,247,249,251,252,257,259,260,261,262,269,270,272,274,275,278,281,282,283,285,286,290,292,293,295,296,298,299,300,301,303,317,318,319,321,323,325,326,327,328,330,332,333,335,344,347,349,351,355,357,360,361,363,364,365,367,377,378,379,380,384,386,390,393,397,407,408,410,418,421,423,425,426,430,431,433,435,437,439,440,441,443,447,448,449,451,452],"catch":[1,3,421],"char":[6,8],"class":[1,3,5,6,7,8,9,11,12,13,22,37,44,55,152,163,203,259,305,313,345,364,392,393,405,421,423],"default":[],"export":[168,346],"final":[3,5,6,7,8,11,12,17,41,59,87,121,169,180,181,182,183,184,185,186,188,192,194,205,228,229,233,260,264,270,271,274,287,289,290,297,303,326,328,334,335,339,355,358,365,377,380,386,390,391,406,407,408,410,418,431,437,443,448,450],"float":[3,6,8,12,40,42,71,113,167,169,210,259,271,280,357,421,423,433,440,448],"function":[],"import":[1,2,3,6,11,17,71,87,105,144,155,172,181,184,192,208,213,214,229,265,270,281,282,283,285,290,300,302,328,364,377,421,423,432,440,443],"int":[3,6,8,11,101,203,205,213,215,265,290,440],"long":[],"new":[],"null":[3,6,91,112,121,144,172,187,193,196,199,226,259,268,272,274,275,276,296,334,335,348,355,358,361,364,365,366,380,381,382,386,390,392,393,396,406,408,409,410,423,426,431,433,449],"public":[0,7,8,12,203,212,358,391],"return":[2,3,6,8,11,14,15,16,17,18,19,41,71,108,117,142,144,169,181,184,185,194,203,303,315,317,361,420,421,430,433,439,448],"short":[1,3,6,7,13,16,142,229,270,278,291,319,329,330,333,335,339,340,342,343,344,348,349,351,357,364,369,373,377,380,384,387,395,407,411,418,421,431,437,443],"static":[],"switch":[1,3,6,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,91,109,112,120,122,131,143,150,151,153,154,155,156,158,159,161,162,164,168,171,175,179,187,201,204,208,212,213,216,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,287,288,294,304,306,307,308,309,312,314,315,317,319,322,328,332,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,417,418,420,423,425,430,432,436,438,448,450,452],"throw":440,"true":[6,12,13,17,108,115,167,188,190,194,229,230,251,252,253,257,270,285,289,301,303,333,357,361,406,421,425,433,448],"try":[1,3,8,12,17,19,181,210,216,286,287,288,293,421,448],"var":[3,11,12,144,301,317,434,448],"void":[4,6,7,8,41,147,188,203,426],"while":[3,9,10,11,12,13,14,18,71,105,120,127,142,155,167,170,185,192,194,198,206,207,212,213,214,216,229,247,260,265,267,291,319,326,333,339,350,355,393,408,410,418,421,432,437,443],a10:303,a123:303,a12:394,a2m:[6,91],a_0:[216,290,339],a_0_real:216,a_1:290,a_2:290,a_3:290,a_4:290,a_c:347,a_cc:347,a_f:410,a_i:411,a_ij:339,a_j:411,a_pi:339,a_sigma:339,a_ss:347,aacut:252,aat:151,aatom1:115,aatom2:115,aatom3:115,ab_23_cd:303,abbrevi:12,abc:[3,12,303,421,448],abf:193,abf_integr:13,abi:170,abil:[3,9,192,229,257,270,357],abl:[3,8,11,12,39,86,167,170,191,200,204,286,293,333,421,448,451],ablat:290,about:[0,1,3,4,6,8,9,10,11,12,13,17,39,41,42,61,63,78,108,115,116,118,138,144,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,198,199,200,201,202,203,204,205,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,228,233,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,288,289,290,292,293,294,295,297,298,299,300,301,316,319,325,326,328,333,338,344,349,364,389,393,415,421,424,425,430,431,433,438,448,450,452],abov:[1,2,6,7,8,10,11,12,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,38,40,41,42,43,44,45,46,47,48,49,50,51,53,54,56,57,63,64,68,70,71,72,73,76,77,86,87,89,90,91,93,94,96,97,112,114,116,118,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,142,143,144,146,147,150,151,152,153,154,155,156,157,158,159,161,162,164,167,168,169,172,173,174,175,176,181,182,183,184,185,186,188,191,192,194,195,200,203,205,209,211,213,214,215,219,228,229,233,253,256,258,263,269,270,274,275,278,281,282,283,284,301,303,304,305,306,307,308,309,310,312,314,319,321,323,327,328,332,333,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,425,426,427,430,431,432,433,434,437,438,441,443,448,449,451,452],abscissa:407,absenc:176,absent:443,absolut:[3,169,193,194,198,274,280,318,319,326,361,369,424],absorb:290,absoult:319,ac3:143,academ:205,acc:285,acceler:[],accelri:[6,13],accept:[7,87,144,169,179,191,194,205,285,343,373,431,438],acceptor:363,access:[0,3,6,7,8,9,11,12,16,40,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,85,88,89,90,91,92,93,95,96,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,117,118,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,139,140,141,142,143,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,199,200,201,202,203,204,205,206,207,208,209,210,211,213,215,216,217,218,219,220,221,222,223,225,226,227,228,229,233,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,286,287,288,289,290,292,293,294,295,296,297,298,299,300,318,333,359,361,363,364,380,392,393,397,420,421,424,429,441,448],accidenti:312,accler:16,accommod:177,accomod:229,accompani:8,accomplish:[16,194,217,243],accord:[64,71,168,179,189,190,216,229,252,260,274,287,288,290,295,296,298,299,300,329,333,357,361,372,375,390,397,399,400,402,403,404,432,437,448],accordingli:[11,14,123,137,148,329,378,379],account:[3,6,9,87,118,142,143,152,163,182,183,199,210,211,213,229,234,235,246,247,249,251,255,261,270,271,273,275,276,277,278,281,282,283,286,290,293,308,327,349,361,369,373,378,379,380,420,437,449],accuml:[3,270,286,293],accumul:[1,6,8,15,71,172,182,213,270,274,292,316,333,429,447],accur:[1,3,6,15,17,38,41,56,127,188,227,265,270,273,278,286,293,299,301,319,339,357,360,361,384,394,405,407,408,410,437,448],accuraci:[1,3,6,12,41,167,169,188,207,229,262,273,291,301,318,319,325,357,384,392,393,407,413,432,437,443,448,451],ach:318,achiev:[1,3,6,16,17,18,41,188,207,229,230,252,253,260,318,432],achiv:18,acid:9,ackland1:355,ackland2:355,ackland:[],acknowledg:[],acml:12,aco:448,acolor:[168,169],acoust:252,acquir:[3,6,58,61,62,147,190,192,194,229,388,428,443],across:[1,2,3,6,9,12,13,15,41,57,61,65,68,69,71,79,92,107,108,115,117,132,146,148,181,183,184,185,188,199,209,270,271,286,290,293,299,303,328,333,418,423,426,427,431,440],act:[3,6,108,129,198,208,211,212,213,214,216,219,228,270,285,287,288,290,299,300,301,326,341,352,360,361,363,394,404],acta:[118,143,334],action:[2,6,11,12,71,206,211,288,443],activ:[5,8,11,12,13,14,55,59,87,142,179,193,206,210,213,219,228,250,270,289,316,377,405,417,445,448],actual:[1,3,6,8,12,56,62,127,167,169,173,174,187,189,190,198,213,214,247,251,257,265,274,278,280,281,282,283,285,291,300,301,318,329,360,362,372,378,379,420,421,432,433,441,448],adam:[318,319],adapt:[],add:[0,1,3,5,6,7,8,9,11,12,13,14,15,16,17,18,19,40,42,71,87,91,102,114,117,119,142,144,145,167,168,172,173,174,175,176,178,180,181,182,183,184,185,186,190,193,198,200,203,207,208,209,211,213,215,216,220,227,228,229,230,231,232,233,234,235,246,247,248,249,251,259,269,270,272,273,275,277,281,283,284,288,289,290,292,294,295,299,301,319,321,325,327,335,340,342,345,349,357,364,369,380,384,387,393,395,421,423,424,429,431,433,435,443],add_molecul:178,add_speci:178,add_to_nodeset:178,addforc:[],addit:[],addition:[6,8,16,278,300,360,394],address:[7,8,11,168,212],addtorqu:[],adequ:[278,291,318,328,432],adher:29,adhikari:216,adiabat:[],adiam:[168,169],adjac:[39,144,328,384,407,408,437,438],adjiman:383,adjust:[3,6,16,17,41,59,118,123,124,127,128,131,132,137,138,143,148,167,168,181,188,192,194,210,213,217,221,225,226,229,230,233,247,251,254,256,257,260,261,262,263,268,270,278,282,286,291,293,294,295,297,298,300,318,319,326,328,333,335,354,378,379,410,433,449],admiss:233,adof:[124,181],adopt:[269,443],adp:[],adri:[9,266,392,393],adust:138,advanc:[3,210,339,418,429],advantag:[1,6,8,11,14,18,39,40,41,188,333,356,432,437],advect:[3,6,278],advertis:8,advis:[328,391],afer:3,affect:[1,6,10,14,15,16,17,40,60,61,71,88,117,121,128,142,148,169,174,181,182,183,184,185,186,189,190,191,192,194,195,203,209,211,213,219,226,230,231,232,234,235,241,246,247,249,270,271,276,290,300,312,318,324,325,326,328,329,330,333,357,378,379,384,420,421,423,426,428,431,433],affin:[16,17,18,194,333,348],afil:207,aforement:18,afresh:[258,431,448],afshar:353,after:[2,3,5,6,8,9,11,12,15,16,21,22,33,39,40,41,44,50,57,58,59,61,63,71,123,124,125,126,127,128,131,132,133,134,136,137,144,145,147,148,151,152,157,166,167,168,169,170,172,173,174,178,179,181,182,188,189,190,191,192,194,198,205,216,217,218,219,220,225,226,227,229,234,235,241,246,247,249,252,256,260,268,270,273,279,281,282,283,285,286,287,288,289,293,295,297,301,304,305,310,317,323,324,326,327,329,331,332,333,334,335,339,346,348,355,356,357,358,364,365,366,377,378,379,380,381,382,386,390,392,393,396,406,408,409,410,418,420,422,423,424,425,426,428,429,431,433,435,437,440,441,443,447,448,449,450,451,452],afterrun:431,afterward:3,afterword:41,ag1:143,ag2:143,again:[6,11,12,17,62,120,124,126,130,138,167,169,194,209,256,304,317,328,378,379,418,420,421,423,425,430,437,439,448,450],against:[11,12,13,64,195,328,392,393],aggreg:[6,12,65,68,69,79,92,108,115,209,225,268,270,276,418,449],aggress:[209,437],agilio:[9,13],agre:[3,8,164,326,335,366,393],agreement:[5,7],ahd:363,ahead:297,aidan:[0,5,7,9,13],aij:13,aim:6,airebo:[],ajaramil:[7,9,13],aka:168,akohlmei:[7,9,13,170,210],aktulga:[7,9,263,393],al2o3_001:[118,271],al3:143,ala:216,alain:9,alat:[251,380],alb:[390,408,410],albeit:269,albert:9,alchem:[87,138],alcohol:293,alcu:[334,339],alcu_eam:390,alderton:352,alejandr:[229,230],alessandro:13,algorithm:[0,1,6,7,8,9,41,61,169,178,188,191,194,216,218,219,241,253,270,273,285,286,290,293,298,324,325,326,330,333,357,379,418,420,437],alia:12,alias:[1,319],aliceblu:169,align:[6,12,29,41,71,146,164,184,188,211,321,423,426,443],alkali:357,all:[0,1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,22,33,37,39,40,41,42,44,50,54,55,57,59,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,137,138,139,140,141,142,143,144,145,146,147,148,150,152,157,163,164,167,168,169,170,172,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,222,224,225,227,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,250,251,252,253,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,285,286,287,288,289,290,291,292,293,295,296,297,298,299,300,301,302,303,304,305,308,313,316,317,318,319,320,321,323,326,327,328,329,330,332,333,334,335,336,338,339,340,342,343,344,345,346,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,373,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,420,421,422,423,424,425,426,427,428,430,431,432,433,434,435,436,437,438,440,441,443,447,448,449,450,451,452],allen:[29,87,352,360],allentildeslei:87,allign:3,allindex:302,alloc:[3,5,6,8,9,11,12,60,203,292,327,329,333,388,393,423,431],allocat:3,alloi:[],allow:[1,2,3,6,8,9,11,12,13,14,15,16,17,18,22,37,39,40,41,55,57,58,59,61,62,63,77,108,123,124,137,142,143,144,146,152,163,164,167,168,169,170,172,173,175,177,178,179,181,182,183,184,185,186,188,190,191,192,193,194,195,199,200,203,205,206,207,208,210,213,216,219,220,224,226,229,230,251,255,257,258,259,260,264,270,271,273,274,278,285,286,287,288,290,291,292,293,294,295,301,303,305,313,318,319,321,326,327,328,329,332,333,336,339,340,341,342,343,344,349,355,357,361,362,363,364,373,378,379,384,390,393,394,404,413,415,418,421,423,425,426,427,428,429,430,433,435,436,437,440,441,448,449],almost:[2,3,12,60,211,260,290,319,330,333,404],alo:349,alon:[6,7,191,266,392,393,421],alond:13,along:[6,8,9,12,29,40,87,118,143,144,166,167,168,191,211,216,217,221,226,228,260,270,273,274,275,276,285,289,290,296,299,301,321,324,325,326,328,349,352,361,364,367,369,373,380,392,393,407,423,426,433,434,448],alonso:[381,382],alpha:[6,51,173,216,252,260,265,326,334,337,340,349,353,355,356,358,363,368,369,380,385,389,409,411,441,443],alpha_:411,alpha_c:377,alpha_i:[396,411],alpha_ialpha_j:411,alpha_lj:377,alphabet:[2,3,22,37,44,55,63,152,163,172,305,313,327,346,405,423],alphanumer:[3,63,172,259,267,303,327,448],alreadi:[3,7,8,12,42,144,145,147,177,181,184,185,188,190,194,220,258,260,278,301,327,328,353,362,364,371,379,404,413,416,419,423,424,428,448],also:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,22,29,36,37,38,39,40,41,42,44,54,55,56,58,59,61,63,66,71,73,75,77,81,87,89,90,93,103,104,105,106,107,112,114,116,117,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,142,144,145,146,147,148,150,152,163,164,165,167,168,169,170,172,173,174,175,177,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,200,203,204,205,206,207,209,210,213,214,215,216,226,227,229,230,231,232,233,234,235,240,243,244,246,247,248,249,251,252,253,255,256,257,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,281,282,283,284,285,289,290,291,292,294,296,299,301,303,305,310,313,316,318,319,321,322,323,326,327,328,329,330,332,333,339,343,344,346,350,351,352,353,355,356,357,360,361,363,364,365,373,377,378,380,384,386,388,389,390,391,394,395,399,400,402,403,404,405,406,407,408,409,410,411,418,420,421,422,423,424,425,426,427,428,430,431,432,433,435,436,437,438,441,442,443,444,446,447,448,449,450,452],alter:[3,6,8,9,11,12,41,59,122,123,124,125,127,130,131,132,133,136,137,144,148,167,168,170,173,174,181,189,190,191,192,194,228,229,265,268,270,272,278,286,293,300,325,328,364,423,428,430,433,448,449,452],altern:[1,6,8,11,12,17,18,91,144,172,194,210,214,229,259,270,285,286,293,306,309,318,325,326,334,335,349,355,356,358,366,369,377,380,381,382,386,390,391,396,406,408,410,421,423,424,438,441],although:[29,42,164,219,229,257,261,270,285,317,416,430,443,452],aluminum:416,alwai:[0,6,11,12,17,18,54,57,63,71,142,169,182,184,185,186,190,193,205,207,211,262,265,270,278,295,299,300,304,318,319,324,326,327,329,330,333,342,345,355,372,392,393,397,407,408,410,416,418,423,424,426,428,435,437,440,443,448,449],amap:169,amatrix:207,amaz:11,amazingli:13,amber2lmp:[],amber:[],ambient:168,ambigu:[3,63,172,448],amd:[17,333],amend:11,amino:9,amit:9,among:[16,121,179,216],amorph:[144,409],amount:[1,3,6,12,59,88,115,142,146,166,168,192,193,205,209,213,229,251,257,270,278,283,286,291,293,301,318,333,353,388,423,426],amplitud:[194,226,296,312,426,448],amu:205,analag:[6,448],analalog:6,analog:[6,120,146,164,361],analys:[7,428],analysi:[7,9,13,63,64,73,170,266,267,302,396,423,433],analyt:[1,3,13,118,138,143,273,318,339,365,366,371,390],analyz:[6,8,13,328],andersen:273,anderson:[255,353],andr:[7,9,13],andrew:13,andzelm:404,ang:251,angl:[],angle1:269,angle2:269,angle_coeff:[],angle_cosineshift:27,angle_cosineshiftexp:[26,153],angle_cutof:363,angle_cutoff:363,angle_hybrid:29,angle_info:393,angle_styl:[],angle_typ:40,angleangl:[3,304,310,423],angleangletors:[3,151,423],anglecoeff:3,angletors:[3,151,157,423],angletyp:190,angmom:[],angmomi:[113,167,280],angmomx:[113,167,280],angmomz:[113,167,280],angstrom:[6,10,59,71,118,133,143,144,166,167,168,169,177,184,185,194,195,205,210,211,226,263,268,295,297,298,300,319,321,324,330,334,335,344,355,377,380,386,391,392,393,410,416,426,432,447,449],angular:[3,6,40,61,66,82,83,84,85,106,113,120,123,136,137,144,167,172,213,219,225,226,231,232,234,235,237,238,239,242,244,245,246,249,268,270,273,280,334,339,348,361,378,379,380,390,405,408,409,423,433,448,449],angularm:238,anharmon:[27,53,153,265,437],ani:[1,3,6,7,8,9,10,11,12,13,14,15,16,17,22,29,38,39,40,41,42,44,55,56,58,59,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,150,152,164,166,167,168,169,172,175,176,177,179,181,182,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,202,205,208,209,211,213,216,219,225,226,229,233,251,253,255,256,257,259,261,262,263,265,267,268,270,272,273,274,275,277,278,279,280,289,290,295,296,297,298,299,300,301,302,303,305,317,318,319,321,323,324,326,327,328,330,331,332,333,335,339,343,344,348,349,352,353,355,356,358,360,364,365,366,367,373,384,390,392,393,394,396,405,406,407,408,409,410,411,412,417,418,420,421,423,424,426,427,428,429,430,431,432,433,434,435,436,437,441,443,444,446,447,448,449,450,451,452],anihil:377,anim:[2,4,7,11,13,168,328],anion:358,aniso:[3,192,194,229,230,231,232,233,234,235,257,270],anisotrop:[213,360,394],ann:383,annot:[7,406,408,409,410,423],annual:[418,437],anoth:[1,3,4,6,7,8,11,12,17,29,40,63,71,87,119,168,172,173,179,181,183,184,185,186,191,194,195,206,209,213,214,219,229,230,233,256,259,270,271,281,282,283,290,300,303,324,326,328,329,332,349,353,357,358,360,363,364,368,369,377,392,394,397,404,408,409,410,417,418,421,424,430,432,443,448,452],ansi:12,answer:[3,4,8,12,270,330,331],anthoni:288,antiquewhit:169,antisymmetr:[9,40,336],antisymmetri:357,antonelli:[287,288],antonio:389,anymor:288,anyon:7,anyparticl:86,anyth:[8,11,144,194,212,406,408,410,434],anywai:[147,333,443,450],anywher:[12,144,346,380,396,448],aoff:[327,423],aparam:[87,173,174],apart:[3,145,219,275,329,338,397,423,432],aperiod:252,api:[11,12,170,365,421],appar:3,appear:[2,3,6,11,12,13,39,40,41,77,87,108,115,116,120,127,144,145,147,167,168,169,181,184,185,188,192,195,198,205,210,256,267,268,289,301,303,304,318,326,327,328,347,355,380,384,407,419,420,421,423,424,425,428,430,443,448,452],append:[],appendix:[29,352],appl:[192,229,230],appli:[2,3,4,5,6,8,12,17,18,33,41,50,57,59,61,63,71,87,88,105,120,121,124,130,132,134,138,143,144,146,150,152,157,163,167,169,172,173,174,175,176,178,181,187,188,192,193,194,196,199,200,203,204,205,206,207,208,210,211,213,214,215,216,220,229,230,233,234,235,241,246,249,250,251,253,257,260,268,269,270,272,273,274,275,276,277,279,281,282,283,284,286,288,289,290,293,301,318,321,326,327,328,338,340,342,344,349,352,357,361,362,363,364,366,369,375,379,384,387,392,395,404,411,415,423,424,426,427,428,432,435,440,443,448,449,450,451],applic:[1,6,9,12,17,170,178,191,195,196,203,207,210,251,256,269,274,275,286,293,318,333,410,443],applyt:3,appopri:17,approach:[6,7,9,14,178,206,252,253,265,270,285,286,288,290,293,318,339,349,351,354,360,394,404,413],appropri:[1,2,3,6,8,11,12,13,15,17,33,38,42,50,56,61,73,88,91,116,117,123,124,152,157,163,164,167,169,181,182,184,185,186,191,192,194,203,204,207,216,224,226,227,229,231,232,233,234,235,246,247,249,253,256,257,260,265,270,278,281,282,283,286,293,295,296,298,299,300,310,319,328,335,339,343,347,348,349,356,361,364,366,373,377,391,392,393,406,407,408,409,410,413,423,424,425,427,428,436,437,440,448,449],approri:208,approxim:[6,9,118,143,205,207,216,253,271,273,285,318,324,325,326,341,351,357,360,378,379,384,391,394,415,437,443],april:11,aprpopri:418,apu:[378,379],aqua:[168,169],aquamarin:169,ar_therm:178,ar_ttm:178,ara:13,arbitrari:[6,40,58,167,168,170,193,194,208,229,253,261,406,421,434,448],arbitrarili:[11,59,116,120,166,192,229,349,448],arcco:3,arch:[1,12,14,15,17],architect:316,architectur:[16,333],archiv:[6,7,11,12,280,346,430],arcsin:3,area:[6,41,91,112,116,142,188,194,216,286,293,354,361,389,412,420,433],aren:[259,303],arflag:12,arg:[3,11,12,22,40,41,44,55,59,63,71,87,117,132,138,142,144,147,148,152,166,167,169,172,173,174,175,177,179,181,182,183,184,185,186,187,188,189,190,193,194,195,200,203,205,208,209,210,211,219,226,231,232,256,269,270,271,272,285,288,295,296,297,298,300,301,305,316,328,333,340,341,342,344,345,346,351,352,357,362,364,369,373,377,378,379,387,395,405,420,421,423,426,428,430,432,434,441,448,449,451,452],argon:205,argonn:12,argument:[2,3,6,8,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,63,73,87,91,109,112,116,120,121,122,131,132,133,138,142,144,145,146,148,150,151,152,153,154,155,156,158,159,161,162,164,167,169,172,173,174,175,177,180,181,182,183,184,185,186,187,188,192,193,194,201,203,204,207,208,212,213,219,226,229,231,232,233,234,235,236,244,246,247,249,255,256,258,262,267,270,271,272,273,278,281,283,290,292,294,296,301,303,304,305,306,307,308,309,310,312,314,316,317,319,320,321,323,328,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,389,390,392,393,394,395,396,397,405,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,426,428,431,432,433,434,438,440,441,448,449,451],aris:[12,415],arithmet:[3,6,318,344,347,367,372,384,411,412],arkansa:9,arl:9,armv8:17,arnold:318,around:[1,3,4,6,12,42,57,58,59,66,70,73,77,116,120,123,139,142,144,146,166,168,169,176,177,192,194,195,211,226,229,259,261,265,270,275,278,295,296,299,317,327,423,426,433,434,443,448],aroung:3,arrai:[],arrang:120,arrheniu:437,art:[261,418,437],artefact:207,articl:6,articul:[7,255],artifact:[88,142,443],artifici:[227,260,399,400,402],arun:13,arxiv:[120,396],ascend:[41,169,210,219,270,428],asci:7,ascii:[13,271,289,328,355,358,380,423],ash:[378,379],asid:[8,144,380],asin:448,ask:[3,11],askari:389,askoos:13,asoci:168,aspect:[6,7,59,194,205,360,394,412,423,433,437],aspect_ratio:271,asper:4,aspher:[],asq:[378,379],assembl:4,assign:[1,2,3,6,7,11,12,14,15,17,18,33,39,40,41,50,57,59,61,63,66,71,72,75,90,93,104,106,110,113,114,118,120,121,124,139,141,143,144,147,157,167,168,169,170,172,173,174,177,181,183,188,190,191,192,195,197,205,210,213,214,215,216,226,229,231,232,233,234,235,244,246,247,248,249,253,256,257,259,261,267,270,271,281,282,283,284,301,310,319,321,323,327,328,332,333,339,355,358,360,363,364,393,394,420,421,423,424,425,426,427,432,433,438,441,448,449],assignemnt:[6,432],assing:259,assist:[7,227],associ:[3,5,6,8,9,12,22,37,39,40,44,55,59,66,74,75,81,87,89,90,93,99,101,103,104,106,139,152,163,167,168,169,173,174,175,179,192,194,200,203,205,206,212,216,226,229,255,265,269,270,271,276,278,302,303,305,313,321,326,328,332,333,346,349,353,354,355,357,363,364,366,369,373,404,405,407,421,424,431,443,445,448],associd:67,assum:[2,3,4,6,11,12,16,39,59,67,71,88,96,102,104,122,123,124,125,126,127,129,130,131,132,133,134,136,137,138,142,144,147,169,173,174,181,182,183,184,185,186,192,194,202,210,212,216,219,231,232,234,235,237,239,242,244,245,246,249,251,252,256,257,258,261,270,272,274,275,286,289,290,295,298,301,318,319,327,328,333,339,341,343,346,347,354,357,363,364,368,373,378,379,412,418,420,421,423,425,428,433,437,440,441,443,449],assumpt:[142,210,334,384],astar:380,astart:397,asterisk:[22,44,77,87,116,138,148,152,169,173,174,219,270,305,323,346,363,404,417,420,433,447],astop:[326,397],asu:355,asub:380,asubrama:13,asymmetr:[298,339,355],asynchron:[15,16],atan2:448,atan:448,atc:[],atc_fe_output:178,athomp:[0,7,9,13],atm2pa:6,atmospher:447,atol:12,atom1:[255,269,327,423],atom2:[255,269,327,423],atom3:[255,269,327,423],atom4:[269,327,423],atom:[],atom_element_map:178,atom_forc:393,atom_info:393,atom_modifi:[],atom_styl:[],atom_vec:8,atom_vec_atom:8,atom_vec_electron:8,atom_veloc:393,atom_weight:178,atomey:[6,7,11,13,167,168,169],atomfil:[3,71,259,301,332,433,448],atomic_charg:178,atomic_numb:390,atomid:423,atomist:[6,178,285],atomperbin:3,atomt:169,atomvec:8,attach:[6,185,253,274,275,423],attatch:288,attempt:[3,6,41,59,71,166,179,188,189,190,191,195,205,256,257,278,298,318,322,328,364,421,436,438,441,448],attend:178,attent:[15,18],attogram:447,attrac:380,attract:[],attribut:[3,6,7,8,11,39,40,42,58,63,71,87,113,114,115,117,123,138,167,168,169,172,173,174,180,181,183,184,185,191,192,229,231,232,233,234,235,237,238,246,247,249,257,270,271,280,281,282,283,321,327,339,357,364,423,424,425,433,441,448],atw:[378,379],atwat:409,atwt:380,atyp:[115,138,190,349,369,373,377],au1:143,au3:143,aug:11,augment:[12,113,192,259,380],augt1:380,auo:267,auoh:267,author:[3,8,9,13,355,356,443],auto:[6,8,11,12,91,140,172,182,274,292,318,327,333,420],autocorrel:[63,91,213],autom:[12,168],automag:7,automat:[3,6,12,14,15,16,17,18,19,36,164,177,205,207,216,270,274,291,318,333,348,355,364,380,416,423,436,443],auxiliari:[1,6,9,11,12,13,167,252,270,424,428,450],avail:[1,3,5,6,7,8,9,11,12,13,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,63,87,109,112,113,120,122,131,142,150,151,153,154,155,156,158,159,161,162,164,167,168,172,175,181,183,184,185,186,187,192,193,201,204,206,208,210,213,229,230,231,232,233,234,235,236,244,246,247,249,262,264,270,271,272,273,281,283,288,294,304,306,307,308,309,312,314,316,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,390,392,393,394,395,396,397,406,407,408,409,410,412,414,415,416,424,432,436,448],availab:9,ave_chunk:6,aveforc:[],avendano:383,averag:[3,6,7,15,41,63,64,71,87,91,103,105,116,118,124,132,140,143,167,169,172,174,178,180,181,182,183,184,185,186,187,188,192,205,207,209,213,214,219,229,230,233,252,257,260,266,267,270,271,274,304,335,357,380,411,424,428,441,443,448],averi:278,avesq:117,avi:168,avoid:[1,3,6,12,36,39,59,144,145,164,168,177,182,183,186,198,205,207,214,251,253,261,265,270,271,292,299,331,339,357,377,380,393,407,425,431,432,443],awai:[3,6,61,116,167,168,191,195,208,211,228,251,274,275,289,295,329,349,369,373,428],awar:[333,356,420],awpmd:[],axel:[7,9,13,18],axi:[3,6,41,118,123,143,144,146,166,168,188,205,208,211,226,256,275,290,296,308,314,321,423,426,433],axial:233,azimuth:[168,208],azur:169,b_k:396,ba2:143,babadi:394,back:[1,6,7,11,12,13,14,15,17,125,126,127,131,132,133,134,136,144,148,167,169,170,173,174,193,198,203,210,211,213,214,229,234,235,246,247,249,268,270,281,282,283,287,288,297,298,300,317,318,319,328,361,421,423,424,425,426,427,430,436,437,449],backbon:[191,273,312],backcolor:[169,451],backend:17,background:[9,87,88,112,121,169,188,194,213,278,286,290,293,328,347,378,379,380],backtrack:[324,326],backward:[9,12,170,328,437],baczewski:206,bad:[3,12,59,61,211,328,423,428,440],badli:[3,192,229],bal:285,balanc:[],balasubramanian:248,ball:[120,378,379],ballenegg:318,bammann:178,band:[4,6,7,120,172,228,325,328,339],bandwidth:[1,10,18,40],bandwith:168,bar:[87,168,447],barashev:355,bare:[198,212,214],barost:[198,443],barostat:[],barostt:6,barr:348,barrat:265,barrett:67,barrier:[3,4,6,228,314,328,348,359,437],bartel:252,bartok2010:396,bartok2013:396,bartok:[9,120,391,396],bartok_2010:391,bartok_phd:391,bary:447,basal:[],base:[3,4,6,8,9,11,12,13,14,15,20,63,64,71,78,87,91,111,118,124,126,143,144,146,167,168,169,172,178,184,185,188,189,190,194,195,199,210,213,217,219,241,252,253,259,261,263,270,271,274,278,285,319,333,335,337,339,353,357,360,363,365,369,378,381,382,387,389,390,406,409,410,418,420,423,424,425,427,430,433,434,437,438,441,447,448,449,452],bash:346,bashford:[6,20,150,344,435],basi:[3,6,12,40,120,124,144,177,213,215,252,278,295,321,416,433,448],basic:[6,7,8,12,17,41,113,121,168,169,178,188,229,230,251,299,334,336,417,425,443],basin:[86,328,418,437],bask:[355,380,390],bath:[9,260,265],batom1:[69,115,117,167,169],batom2:[69,115,117,167,169],bayli:[6,150,435],bb13:151,bcc:[3,4,7,64,70,73,321,380,382],bcolor:[3,168,169],bdiam:[3,168,169],be2:143,bead:[5,7,10,13,40,45,46,136,176,191,253,404],beam:195,bear:[6,206],becau:13,becaus:[0,1,3,6,8,12,16,17,18,29,40,41,59,64,71,77,116,120,124,129,134,144,145,146,150,167,168,169,170,175,179,181,188,189,190,191,192,194,200,204,206,207,212,213,214,215,226,229,230,241,247,256,260,261,265,270,275,280,285,286,289,290,293,297,298,299,300,301,307,318,324,326,328,329,332,333,344,346,349,351,353,357,358,360,361,362,363,364,367,368,377,378,379,380,384,394,404,405,411,412,420,421,423,425,426,427,430,432,433,435,437,443,448,449,450,452],beck:[],becker:[334,355],beckman:210,becom:[1,2,3,6,7,8,18,39,41,54,57,59,71,146,167,168,169,188,189,190,191,194,205,207,216,228,229,267,268,281,282,295,296,298,299,300,318,319,324,328,335,347,349,355,357,360,369,384,390,394,406,415,423,424,426,433,448],been:[1,2,3,6,7,9,12,13,16,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,45,46,47,48,49,51,53,54,56,57,59,60,63,65,69,71,87,109,112,113,114,115,117,119,122,123,124,125,126,127,131,132,133,134,136,137,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,169,170,175,177,179,180,181,182,183,184,185,186,187,188,191,192,193,194,195,201,204,205,208,210,211,213,214,216,217,218,219,220,224,226,227,229,231,232,233,234,235,236,244,246,247,249,255,256,257,260,262,264,267,268,270,272,273,279,281,282,283,290,291,292,294,295,296,297,298,300,301,304,306,307,308,309,312,314,317,318,319,326,329,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,381,382,385,386,387,389,392,393,394,395,397,404,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,427,429,433,437,440,441,448,449,450,451],befor:[1,2,3,6,8,9,12,14,17,22,29,39,40,41,44,59,66,71,74,75,81,89,90,93,103,104,105,106,114,124,127,132,133,139,144,145,147,148,152,165,166,169,173,174,175,176,177,179,181,183,184,185,186,187,188,192,197,198,204,205,210,212,213,214,216,219,226,229,234,235,246,249,252,259,260,261,264,265,270,271,272,279,281,282,283,289,295,296,297,301,305,323,324,326,328,333,358,361,377,380,405,413,418,420,421,424,425,426,427,428,430,431,433,437,440,441,443,448,449,450,451,452],began:[5,12],begin:[3,8,12,38,39,56,71,117,119,145,164,166,167,169,173,174,178,180,181,182,183,184,185,186,188,194,198,214,241,255,268,271,278,280,283,292,297,300,301,315,317,318,319,320,322,325,327,328,329,332,333,355,384,390,397,404,407,411,416,418,423,430,437,439,441,443,447,448,450],behalf:3,behav:[3,27,153,325,326],behavior:[3,148,164,167,168,170,191,192,195,205,206,207,210,213,214,215,229,256,260,265,278,281,282,290,325,339,357,380,417,425,429,448,450],behaviour:[6,213],behind:[8,212,227,260,278,318],beig:169,belak:7,believ:11,bellott:[6,20,150,344,435],bellow:308,belong:[2,3,40,71,147,179,181,184,205,219,270,301,327,423],below:[1,2,3,5,6,8,9,11,12,15,16,17,22,38,39,41,42,44,54,56,59,60,63,65,68,69,71,77,79,91,92,112,113,116,117,118,120,121,124,130,132,138,142,143,144,147,148,150,152,163,164,167,168,169,172,173,175,176,178,181,182,183,184,185,187,188,190,191,192,194,195,200,203,208,209,211,213,214,219,226,227,229,233,234,235,246,249,251,256,259,260,261,268,269,270,272,273,275,278,279,280,281,282,283,286,287,288,290,293,295,296,301,303,305,316,318,321,323,324,326,327,328,330,333,334,335,336,339,340,341,344,345,346,347,349,352,355,357,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,389,392,393,394,395,396,397,405,407,412,414,415,417,418,421,423,424,425,426,428,430,431,433,435,437,439,440,441,442,443,448,449,452],bench:[1,6,11,12],benchmark:[1,7,10,11,12,13,14,15,16,17,18,41,188,318,436],beneath:195,benefici:[61,330],benefit:[1,206,432],bennet:87,beowulf:7,berardi:[360,394],beraun:290,berendsen:[],berensen:270,berkelei:142,berkowitz:318,berlin:[7,9,274],bern:[3,253,261,262,348,360,405,432],bernendsen:6,beryllium:357,besid:[8,272,426],best:[1,6,8,14,15,16,17,18,19,229,247,248,269,270,333,339,349,369,373,384,407,424,432,437],beta:[6,9,252,260,334,337,355,356,358,380,408,409,410,441,448],beta_:339,beta_k:396,beta_pi:339,beta_sigma:339,beta_t:409,better:[3,6,7,8,12,14,16,27,120,153,174,188,205,216,229,241,261,268,270,278,319,328,333,408],betwe:338,between:[],beutler:377,bewteen:[108,182,278,286,293,364,420],beyon:432,beyond:[3,5,6,12,17,61,71,87,142,167,169,183,184,205,229,318,330,359,375,384,437,441,448],bgq:17,bi3:143,bi5:143,bia:[3,6,8,112,121,123,124,125,126,127,131,132,133,134,136,137,181,193,194,205,213,214,229,234,235,246,247,249,265,281,282,283,285,449],bias:[6,9,193,449],biaxial:123,biersack:[380,405,410,416],big:[3,4,12,167,260,265,278,329,347],bigbig:[3,12],bigint:[3,203],bilay:[4,10,275],bilayer1:275,bilayer2:275,bill:7,billion:[3,7,10,12,39,205,431],bin:[3,6,11,12,39,63,66,71,75,90,93,104,106,114,116,124,132,139,141,167,169,181,183,184,185,252,260,265,278,329,330,333,354,388,424,451],binari:[3,6,7,12,13,16,33,37,50,55,157,163,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,310,313,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,424,425,430,450,452],binary2txt:[],binchunk:181,bind:[17,18,184,339],binsiz:[39,169,329,333],binstyl:132,bio:[40,329],biolog:[6,7],biologi:156,biomolecul:[255,270,318,319,344],biomolecular:432,biophys:210,biosym:13,bird:354,bisect:[41,188,412],bisector:[6,349,369,373],bispectrum:[63,120,396],bisqu:169,bit:[3,12,17,39,203,214,384,407,431,443],bitmap:[3,407,413],bitrat:[168,169],bitzek:325,bkgd_dyn:380,bla:12,black:169,blais:[9,13],blanchedalmond:169,blank:[2,3,12,38,56,107,164,168,255,270,327,328,339,356,380,386,396,406,407,408,409,410,420,421,423,448],blast:290,blend:380,block:[2,3,6,91,120,144,146,147,256,299,321,333,339,357,390,396,426,437,443],blow:[3,241,295,299,397],blown:3,blue:[2,168,169,191],bluegen:[167,318],blueviolet:169,board:[319,352],bodi:[],body_nparticl:8,bodyflag:423,bodyforc:216,bodyforcei:216,bodyforcex:216,bodyforcez:216,bodystyl:[219,270],boff:[327,423],bogaert:285,bogu:[3,127,192],bogusz:88,bohr:[355,357,410,447],boltzmann:[6,7,9,87,91,112,122,124,125,126,127,130,131,132,133,134,136,181,191,213,216,217,218,219,220,233,294,353,438,447],bond:[],bond_coeff:[],bond_graph_cutoff:393,bond_harmon:[8,48,49],bond_harmonicshift:49,bond_info:393,bond_interact:178,bond_styl:[],bond_typ:[148,404],bondangl:[3,21,33,423],bondbond13:[3,151,423],bondbond:[3,21,33,423],bondchk:393,bondcoeff:3,bondtyp:[189,190,327,404],bonu:[3,450],book:415,bookkeep:384,bookmark:0,boost:[1,3,12,64,329],bop:[],border:[3,7,16,61,290,449],boresch:87,boreschkarplu:87,born:[],boron:357,borrow:274,bose:265,botero:[7,9,13,357],both:[1,3,6,7,8,9,11,12,14,15,16,17,18,27,37,39,54,55,57,59,61,62,63,68,69,71,83,87,88,108,113,115,116,123,124,129,132,134,137,144,146,147,148,153,163,164,167,168,171,172,173,174,179,181,182,184,185,186,189,190,191,192,193,194,199,205,207,209,211,213,214,216,217,225,226,229,230,234,235,241,246,249,255,259,260,261,267,270,273,274,275,278,282,286,287,288,290,293,295,296,298,299,300,303,304,313,319,323,326,327,328,329,331,333,335,339,340,341,342,343,344,345,347,352,353,355,356,357,360,361,363,364,365,369,371,373,374,375,377,378,379,383,384,387,394,395,406,408,409,410,416,418,420,421,423,424,425,426,430,435,440,441,443,448,450,451,452],bottleneck:[1,3,421],bottom:[8,9,127,169,194,204,216,247,286,293,321,435],bottomwal:187,bounc:[3,278],bound:[3,6,17,26,27,41,42,57,59,71,133,146,153,166,167,169,183,184,188,194,195,199,205,214,229,256,278,295,296,297,298,299,300,318,326,357,423,426,437,443,448,449],boundar:3,boundari:[],boundary_dynam:178,boundary_faceset:178,boundary_integr:178,bount:11,box:[],boxcolor:[168,169],boxxlo:11,bpa:333,bpclermont:[9,13],bptype:404,br1:143,bracket:[2,3,6,41,63,71,117,119,172,180,181,182,183,184,185,186,188,292,441,448],bragg:[118,143],branc:11,branch:11,branicio:73,breakabl:[7,44,55],breakag:[78,189],breakdown:[1,12,15,88,107,392,393,418,437],brennan:404,brenner:[335,405],brick:[3,41,62,132,146,188,423,425,427],brief:[1,5,6,7,8,12,212,335,339,393,437],briefli:[6,10,253,348],brilliantov:361,bristol:[5,7],brittl:389,broader:421,broadli:8,broken:[2,54,65,69,70,78,107,115,148,189,229,339,425,435,450],brook:6,brought:166,brown:[7,9,13,15,16,118,121,169],brownain:341,brownian:[],brownw:7,brows:0,browser:[4,168],bryantsev:363,bsd:12,bstyle:[40,42],btype:[69,115,145,167,349,369,373,377,404],buc:342,buck:[],buckingham:[7,173,174,261,319,340,342,343,351,405],buffer:[3,8,168,169,440],bufi:168,bug:[],bui:168,build:[],builder:[7,13],built:[1,2,3,4,6,8,9,11,12,13,14,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,40,43,45,46,47,48,49,50,51,53,54,55,56,64,67,78,80,83,86,87,96,97,98,99,100,101,105,109,111,112,120,122,123,128,130,131,135,136,138,142,150,151,153,154,155,156,157,158,159,161,162,163,164,167,170,172,175,176,177,179,187,189,190,191,193,195,200,201,202,204,205,206,207,208,210,212,213,215,216,217,218,219,220,222,223,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,259,260,261,262,263,264,265,266,267,270,272,273,274,278,281,283,284,285,286,287,288,290,291,293,294,296,297,302,303,304,306,307,308,309,310,312,313,314,319,328,329,330,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,388,389,390,391,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,418,421,424,426,432,436,437,438],bulatov:[381,382],bulk:[4,6,10,70,216,251,257,350,380,384,389,427],bullet:7,bump:213,bunch:8,bundl:[9,168,170],burlywood:169,bussi1:282,bussi2:282,bussi:[207,282],bybe:9,c1060:14,c11:[182,380],c12:182,c13:182,c1n:182,c2050:14,c21:182,c22:182,c23:182,c2n:182,c31:182,c32:182,c33:182,c34:182,c3n:182,c41:182,c42:182,c43:182,c44:182,c_0:[290,402,403],c_1:[68,69,117,118,143,167,169,206,259,271,301],c_2:[69,117,118,140,142,143,167,271,292,301],c_3:[117,271],c_cluster:6,c_cstherm:6,c_dist:117,c_doubl:11,c_e:290,c_flux:91,c_forc:117,c_gauss:359,c_hb:363,c_id:[6,63,71,87,117,119,167,180,181,182,183,184,185,186,271,280,292,441,448],c_ij:6,c_ijkl:6,c_index:117,c_k:206,c_ke:286,c_msdmol:119,c_my_stress:180,c_mycentro:[181,184],c_mychunk1:114,c_mychunk2:114,c_mychunk:[6,66,75,90,93,104,106,124,139,141],c_mycom:183,c_mycomput:181,c_myf:[167,451],c_myrdf:[116,186],c_mytemp:[8,182,183,186,292,441,448],c_n_k:206,c_p:121,c_pe:110,c_peratom:[110,121],c_pi:339,c_press:117,c_prop:6,c_radiu:142,c_reax:[392,393],c_sa:271,c_sigma:339,c_size:6,c_stress:167,c_tatom:214,c_tdrude:[198,214,443],c_thermo_press:[8,182,183,186],c_thermo_temp:186,c_xrd:183,ca2:143,cach:[17,39,384,436],cacul:273,cadetblu:169,cai:443,calcforc:216,calclat:91,calcluat:[103,105,110,112,121,349],calcualt:[91,181],calcul:[],caldwel:[6,150,435],calhoun:253,call:[],callabl:[3,11],callback:[3,11,172,203,421],caller:3,calori:447,caltech:[6,7,9,13,357],calucl:6,calul:[11,12,124,319],cambridg:[9,391],campa:252,can:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,321,322,323,324,326,327,328,329,330,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,430,431,432,433,434,435,436,437,438,439,440,441,443,447,448,449,450,451,452],cancel:[172,270,449],candid:[148,179,205],cannot:[1,2,3,6,11,12,13,15,16,17,39,40,41,54,57,58,59,68,71,82,84,88,104,117,119,123,124,145,147,148,166,167,168,169,180,181,182,183,184,185,186,188,191,192,194,195,205,206,207,213,214,215,219,226,229,231,232,234,235,237,238,239,244,246,249,256,257,260,265,267,270,271,272,278,286,290,292,293,295,296,299,300,301,303,318,321,326,328,331,332,333,342,343,345,355,360,362,369,373,375,377,384,387,392,394,395,404,405,407,418,420,421,423,424,426,427,429,432,433,435,437,440,447,448],canon:[172,179,205,207,229,230,246,247,248,249,253,282,285,288,389],cao1:253,cao2:253,cao:253,capabl:[5,7,9,11,14,16,17,18,297,303,319,333,335,345],capac:[9,40,101,130,265,290,399,423,433],capit:[197,423],capolungo:[118,143,271],captur:[6,291,335,343,357,361,373,380,443],carbid:349,carbon:[7,168,312,335,348,366,380],card:[12,14,16,22,44,77,87,116,152,173,174,270,305,323,346,363,417,425,430,450,452],care:[3,6,59,71,144,147,166,181,184,185,189,190,195,207,212,216,229,256,270,285,338,421,423,426,427,432,433],carefulli:[11,12,54,267,301,364,366,428],carlo:[6,7,9,172,179,191,205,270,285,354,405],caro:[179,355],carpent:[7,13],carri:[16,222,259,290,361,393],cart:[3,420],carter:[9,17],cartesian:[3,62,334,420],carv:147,cascad:[199,290],cash:7,cast:[207,448],cat:[15,168],catastroph:261,cate:216,categori:[],cation:358,caus:[1,2,3,6,8,12,16,17,144,146,147,148,167,169,177,192,199,205,241,251,268,270,273,295,297,298,299,300,303,317,319,326,328,332,363,369,375,378,379,417,421,422,423,424,427,428,430,431,448,452],caution:[1,319],cautiou:[189,190],cautious:335,caveat:[335,432],cbecker:[334,355],cc1:[6,14,66,75,90,93,104,106,114,124,139,141,181,184],cc2:14,ccc:[356,406,408,410],ccflag:[12,16,17,18,19,167],ccm6:355,ccsi:[356,406,408,410],ccu:339,cd2:143,cdeam:355,cdennist:9,cdll:11,cdof:[6,124,181],cdte:339,cdte_bop:339,cdtese:339,cdzn:339,cdznte:339,ce3:143,ce4:143,ceas:325,ceil:448,cell:[3,6,59,88,116,118,142,143,144,167,177,192,193,205,210,227,229,230,233,252,260,263,290,318,319,321,354,357,441],cella:[6,441],cellalpha:[6,441],cellb:[6,441],cellbeta:[6,441],cellc:[6,441],cellgamma:[6,441],center:[3,6,25,42,63,66,71,74,75,86,89,90,98,103,104,105,114,116,118,124,125,126,129,132,136,139,141,144,168,169,172,173,174,176,181,183,184,185,192,194,195,196,198,205,206,211,213,214,219,225,229,234,235,246,247,249,252,256,261,267,268,270,271,274,275,276,278,280,281,282,283,285,286,288,295,299,304,321,327,338,356,357,360,361,367,378,379,380,381,382,406,408,409,410,412,426,433,443,448],centimet:447,central:[3,61,70,76,77,116,120,219,251,273,276,327,386,392,393,423],centro:[],centroid:[3,253,412,433],cerda:318,ceriotti2:207,ceriotti:[13,207,212],certain:[1,2,3,6,8,12,17,39,71,113,117,119,148,167,168,180,181,182,183,184,185,186,191,203,204,270,272,279,292,303,310,317,329,364,384,393,411,425,429,443,448],certainli:211,cerutti:319,cfg:[3,6,7,13,167,168,169,170],cfile:393,cfor:274,cg_type:395,cgiko:2,cgikot:2,cgkio:2,cgko:2,cgkot:2,cgo:2,cgot:2,ch2:273,ch2lmp:[],ch3:273,chain3:329,chain:[],challeng:[6,274],chalopin:265,champaign:[210,318,319,378],chandler:[334,355],chandrasekhar:[6,369],chang:[1,2,3,6,8,9,11,12,14,15,16,17,39,40,41,46,55,57,59,62,71,80,87,116,126,127,128,144,145,146,148,164,166,167,168,169,170,172,173,174,175,176,178,179,184,185,187,188,189,190,191,192,193,194,195,199,200,202,204,207,209,210,211,213,215,216,217,219,225,226,227,229,230,231,232,233,234,235,241,246,247,248,249,251,252,256,257,259,260,264,267,268,269,270,272,273,274,278,281,282,283,284,286,287,288,289,290,291,293,296,299,301,319,324,326,328,331,333,353,357,361,364,378,379,380,384,392,393,405,418,419,420,421,423,424,425,426,427,428,429,431,432,433,434,435,438,441,444,446,447,448,449,450],change_box:[],changeabl:167,channel:[4,175],chapter:[253,319],charact:[2,3,6,12,38,41,56,63,164,167,168,169,170,172,188,259,267,303,327,332,357,368,390,392,393,407,420,421,425,430,431,448,450,451,452],character:[6,67,70,116,120,396,418,437],characterist:[214,278,287],charg:[1,3,4,5,6,7,9,11,15,40,87,88,113,118,143,144,167,170,172,173,174,179,195,200,205,259,261,262,263,267,280,293,318,319,327,340,342,348,349,351,352,355,357,358,364,369,373,377,387,392,393,405,410,411,413,415,416,423,424,428,433,435,443,447,448],charmm2lammp:13,charmm:[],chartreus:169,cheap:278,cheaper:[199,360,394],check:[3,6,8,11,12,15,17,39,41,71,91,164,179,184,188,189,190,195,202,205,211,212,269,273,278,286,288,293,301,303,317,326,327,328,329,330,333,354,365,368,384,393,404,418,420,421,423,431,437,440,441],checkf:164,checkqeq:393,checku:164,chem:[6,13,20,21,25,39,40,43,45,46,87,88,112,121,150,151,161,193,198,206,207,214,216,228,229,230,247,248,253,257,260,262,270,274,278,281,282,285,286,287,288,295,304,312,314,318,319,325,328,335,340,344,345,348,349,350,352,353,357,359,360,362,363,369,373,374,377,380,383,384,387,404,411,432,435,437,443],chemic:[9,118,138,143,167,178,179,205,261,266,267,285,319,392,393,400],chemistri:[9,260,261,263,339,357,392,393],chen:290,cheng:348,chenoweth:[392,393],chenoweth_2008:[392,393],chi:[92,133,166,251,261,263,358,360,449],chiefli:391,child:8,chip:[7,12,17,333,436],chipot:193,chiral:312,chmod:[11,12],cho:380,chocol:[7,169],choic:[3,6,12,15,16,18,40,41,54,87,121,123,137,148,164,181,184,185,188,191,194,195,207,213,216,227,229,253,261,270,285,313,319,324,325,328,330,333,364,377,384,388,423,432,433,436,437,442,443,447],choos:[1,3,6,7,8,12,16,17,18,29,39,54,87,117,134,135,168,189,190,191,192,195,202,213,216,227,229,231,232,233,234,235,257,278,282,296,318,319,325,413,418,420,432,438],chose:[408,410],chosen:[2,3,6,12,17,120,144,147,156,164,168,174,179,192,195,202,205,206,214,216,227,229,233,253,256,267,278,282,285,286,291,293,294,300,319,320,325,333,357,361,367,368,371,395,408,418,432,437,443],chri:142,christian:[7,9,14,17],christoph:7,chunk:[],chunkid:[66,75,90,93,104,106,114,124,139,141,181],chute:[4,10,208],ciccotti:273,cieplak:[6,150,435],cii:182,cij:182,circular:[3,6,123,165],circumst:18,circumv:265,citat:[],cite:[3,7,8,12,213],cko:2,cl1:143,clarendon:[29,352],clarifi:[7,408,410],clariti:303,clark:387,class2:[],classic:[0,3,5,6,7,8,9,203,253,260,265,290,314,357],classifi:[9,405],claus:421,clean:[6,12,14,15,17,431],cleanli:[422,451],clear:[],clearli:7,clebsch:120,clermont:[9,13],clever:427,click:[2,11,22,37,44,55,144,152,163,168,210,305,313,328,346,405],client:[210,212],climb:[228,328,437],clinic:[7,13],clo:[133,166,449],clock:[12,418,437],clockwis:296,close:[3,6,11,12,13,39,41,67,121,147,167,190,191,192,207,214,216,229,247,270,273,296,299,317,319,322,324,325,328,333,335,339,349,350,380,384,410,427,433,443,445],closer:[3,41,116,142,166,167,188,192,196,287,328],closest:[190,251,270,293,360,394,404,413],cloud:443,clovertown:18,clsuter:72,clump1:[255,270],clump2:[255,270],clump3:[255,270],clump:270,cluster:[],clutter:[3,9],cmap:423,cmatrix:207,cmax:380,cmd:[11,12,253,434],cmin:380,cmm:[],cn1:182,cn2:182,cna:[],cnn:182,cnr:[9,13],cnt:[364,427],co2:[40,143,273,327],coars:[7,9,29,36,40,54,156,255,270,278,362,395,435],coarser:[319,448],coarsest:120,code:[],coeff:[3,7,8,12,21,22,33,44,50,150,151,152,157,304,305,310,346,364,368,384,397,423,425],coeffcient:423,coeffici:[],coefficienct:353,coefficient0:355,coefficient1:355,coeffieci:[6,337],coeffincientn:355,coexist:[9,205,357],cohes:[6,358,380],coincid:[205,299,344,378,379,418],cold:[6,129,209,329,443],coldest:286,coleman8:9,coleman:[9,118,143,271],colin:9,collabor:[7,8,9,15],collect:[3,6,7,8,9,13,40,42,66,75,83,90,93,98,104,106,114,124,132,139,141,144,167,169,181,193,219,225,255,265,268,270,301,318,327,329,347,367,423,430,436,452],collid:[199,278,300],colliex:143,collinear:[3,255],collis:[3,216,278,296,300,354,361,416],colllis:278,colloid:[],colombo:39,colon:[170,301,424],color1:169,color2:169,color:[3,9,41,167,168,169,188,206,260,265],column:[3,6,9,13,42,63,65,66,67,68,69,71,75,77,79,81,90,92,93,104,106,108,110,113,114,115,116,117,119,120,121,124,132,139,141,142,143,164,167,169,172,180,181,182,183,184,185,186,219,226,227,260,270,279,280,290,300,359,363,392,393,424,438,440,448],colvar:[],colvarmodul:12,com:[],comamnd:194,comand:[191,425],comannd:333,comb3:[],comb:[],comb_1:262,comb_2:262,combiant:350,combin:[3,6,7,9,11,13,36,40,63,65,69,79,87,92,108,115,123,137,167,168,178,183,210,219,229,253,259,282,291,299,302,304,318,319,321,325,333,347,349,350,357,358,364,376,377,396,406,408,410,415,426,431,443,448],come:[],comfort:[12,13],comm:[0,3,12,61,73,210,212,213,319,328,333,353,384,389,407],comm_modifi:[],comm_styl:[],command:[],comment:[2,7,11,12,38,56,150,164,167,214,270,290,327,328,334,355,356,358,368,380,386,393,396,406,407,408,409,410,420,421,423,443,448],commerci:7,commmand:[3,6,12,59,107,248,417,418,420,437,451],common:[],commonli:[3,6,12,17,25,57,59,105,146,167,168,170,314,362,371,396,408,410,423,426,435],commun:[1,3,6,7,8,10,11,12,14,15,16,18,40,41,58,61,62,71,147,148,168,169,188,189,190,192,193,194,210,212,216,218,219,220,229,252,259,261,262,263,270,278,290,301,318,329,330,331,333,354,388,420,421,425,432,433,450,452],communc:318,comp:[7,212,213,273,319,328,357,384,389,394,403,407,409],compact:[63,172,346,405],compani:[5,7],compar:[1,3,4,6,8,12,17,39,86,110,118,127,142,143,152,163,169,198,261,301,303,318,319,326,328,380,418,437,438,443,447],comparison:[],comparison_of_nvidia_graphics_processing_unit:14,compass:[7,21,22,37,43,44,55,151,152,163,304,305,313,345,405],compat:[3,5,7,8,9,11,12,13,17,18,41,71,117,119,155,167,170,174,180,181,182,183,184,185,186,188,252,264,282,285,292,295,298,318,333,365,384,407,420,421,448],compens:[6,189,190,268,329,357],compet:289,competit:319,compil:[3,7,8,9,10,12,13,14,15,16,17,18,19,142,167,168,170,210,289,319,333,423,424,428],compl:17,complain:[12,17],complement:380,complementari:[7,349,369],complet:[3,6,9,12,15,41,59,71,169,184,188,193,219,253,256,259,278,289,291,303,317,328,333,358,412,418,423,428,431,435,437,440,443,448],complex:[6,8,11,12,13,25,40,42,62,120,132,144,145,216,299,316,328,357,407,421,423,426,448],compli:[285,289],complic:[6,7,9,12,13,179,205,421],complier:12,compon:[3,6,8,12,61,63,66,67,73,81,88,89,90,91,93,94,97,104,105,106,107,108,109,110,112,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,139,140,141,167,168,169,175,176,180,181,182,183,184,185,186,187,191,192,194,195,200,203,208,212,213,216,219,221,225,226,228,229,230,233,234,235,246,247,249,250,252,253,254,257,268,270,272,273,274,275,278,281,282,283,285,292,293,298,299,300,318,321,325,326,327,328,333,353,357,361,378,379,396,423,424,433,441,448,449],componenet:6,composit:[6,179,216,355],compound:[348,357,358],compres:[71,114,181],compress:[3,6,59,71,114,147,167,168,169,181,194,227,233,257,260],compris:[40,299,367,394,412],compton:[118,143],comptu:[3,6],compuat:319,comput:[],computation:[3,6,189,190,290,339],computational:443,compute_arrai:8,compute_fep:[174,377],compute_group_group:205,compute_inn:8,compute_ke_atom:8,compute_loc:8,compute_modifi:[],compute_peratom:8,compute_sa:[118,271],compute_scalar:8,compute_temp:8,compute_ti:174,compute_vector:8,compute_xrd:143,concaten:[2,3,451],concav:299,concentr:355,concept:[6,124,134,181,432],conceptu:[3,6,71,132,192,194,328,349,364,380,428],concern:[6,73,87,206],concis:[11,289],conclud:12,concret:8,concurr:[9,16,319],conden:[290,408,410],condens:[6,126,290,335,351,355,369],condit:[],conducit:6,conduct:[],cone:426,confid:[3,437],config:[12,167,420],configfil:193,configur:[1,6,12,15,17,38,59,146,164,166,167,168,172,192,193,194,195,199,205,212,213,241,253,261,289,316,326,328,335,339,356,380,406,408,410,418,423,425,426,437],confin:[423,437],conflict:[3,40,384,421],conform:[3,6,13,59,191,192,228,269,274,289,312,328,357,435],confus:3,conjuct:353,conjug:[7,8,213,325,357,392,393],conjunct:[6,7,71,86,87,114,127,132,138,144,148,169,173,174,213,216,220,241,256,257,261,262,263,265,270,278,286,293,298,318,319,328,340,342,346,349,353,357,363,369,387,395,411,423,426,430,443,452],connect:[3,6,87,129,147,191,210,255,270,273,275,328,350,361,404,410,420,421,427,443],conput:3,consecut:[3,11,12,39,71,144,169,173,174,195,210,211,349,369,373,418,424,426],consequ:[1,6,290,368,437],conserv:[3,172,179,191,198,199,206,209,213,215,216,220,225,227,229,241,270,273,281,282,286,293,294,298,328,352,353,361,375,432,437],consid:[6,9,70,71,78,87,115,129,130,147,167,169,173,174,180,182,184,188,190,191,195,217,230,252,270,285,286,289,290,293,319,346,357,364,393,394,404,418,419,421,424,425,426,428,431,433,441,443,448],consider:[6,8,213,214,281,282,283,333,432],consist:[3,6,8,9,11,12,40,42,65,69,79,92,104,108,111,112,115,124,127,129,144,156,166,170,175,176,181,194,195,198,200,203,206,213,214,215,226,229,231,232,233,234,235,236,237,239,240,241,242,244,245,246,247,248,249,257,260,265,267,269,270,281,282,283,284,294,318,319,321,327,328,333,335,339,341,347,349,357,360,378,379,380,384,394,407,413,421,423,424,426,427,428,435,443,448],consistent_fe_initi:178,consit:270,constant:[],constitu:[3,6,219,270,295,299,347,394],constrain:[3,6,8,122,123,124,125,127,130,131,132,133,134,136,137,172,181,195,205,206,211,219,223,255,256,268,270,273,276,286,293,326,327,357,428,435,443],constraint:[],construct:[6,8,14,38,54,56,61,64,67,70,72,73,77,118,120,143,192,229,252,269,299,329,333,352,384,404,406,407,426,427,448],constructor:8,consult:393,consum:[1,265,388,448],consumpt:316,contact:[],contain:[0,1,2,3,4,6,8,9,11,12,13,17,18,19,38,40,41,56,63,87,91,116,118,120,124,132,142,143,144,146,150,152,163,164,167,168,169,170,172,173,174,178,180,181,182,183,184,185,186,188,193,195,200,207,211,212,213,214,216,227,241,251,252,255,256,258,260,263,267,270,271,278,285,289,290,299,300,303,317,319,327,328,331,332,334,335,336,339,348,349,352,355,356,357,364,365,380,386,390,391,392,393,396,406,407,408,409,410,411,418,419,420,421,423,424,425,426,428,430,432,435,437,440,441,443,448,450,452],content:[12,18,393,439,441],context:[3,6,8,12,17,117,169,189,190,195,255,267,294,325,415,423,430,439,447,448,449],contibut:70,contigu:420,contin:16,continu:[0,2,3,5,6,9,12,13,14,41,71,81,103,104,140,169,172,173,174,179,181,182,183,184,185,186,188,191,192,193,194,195,205,206,207,209,210,211,213,214,215,221,226,227,229,231,232,233,234,235,246,247,248,249,254,256,259,260,270,271,274,277,278,280,287,288,290,296,299,303,317,332,333,339,353,354,371,374,392,393,394,409,418,421,423,425,426,431,437,440,441,448,450],continuum:[6,7,9,178,290],contour_integr:178,contract:[59,192,194,229,257,270],contradictori:3,contrain:273,contraint:241,contrari:[207,214],contrast:[1,6,42,55,64,129,194,301,415,451],contrib:290,contribut:[3,5,6,7,8,9,12,13,17,63,66,68,70,71,74,75,77,80,84,87,88,89,90,91,93,102,104,106,107,108,109,110,112,114,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,174,179,180,181,182,183,184,185,186,192,205,213,216,219,220,224,230,247,248,255,256,264,267,270,271,273,292,318,326,328,336,353,354,355,357,364,378,379,384,392,393,435,441,443],contributor:12,control:[3,5,6,7,8,11,13,16,27,29,41,87,91,120,153,167,168,172,178,179,188,192,193,194,209,210,213,214,229,231,232,233,234,235,257,262,270,281,282,283,290,294,316,318,330,357,360,392,393,406,410,418,420,432,438,439],control_typ:178,controlfil:393,convect:91,conveni:[6,12,29,167,170,186,271,321,396,448],convent:[3,8,9,29,155,162,163,169,269,275,302,355,357,448],converg:[3,6,41,88,167,168,170,175,188,191,192,200,203,233,260,262,265,269,273,324,325,326,328,348,349,369,418,430,437],convers:[3,8,120,168,169,179,182,257,318,349,350,351,357,369,373,377,387,421,437,447],convert:[2,3,4,5,6,7,8,12,13,20,21,24,28,32,35,36,59,63,71,91,144,151,167,168,169,186,227,301,304,306,309,312,321,328,334,355,408,410,416,421,423,424,425,430,440,443,447,448,450,452],convex:299,convinc:[7,12],cooki:7,cool:[7,134,209,268],cooordin:167,cooper:[5,7],coord123:114,coord1:[3,114,181,184,185],coord2:[3,114,181,184,185],coord3:[3,114,181,184,185],coord:[],coordiat:326,coordin:[1,3,4,6,7,8,11,13,14,15,17,40,41,42,59,61,62,63,66,68,71,74,75,77,81,87,89,90,93,103,104,106,113,114,116,120,127,133,139,141,142,144,148,166,167,168,169,170,172,175,180,181,183,184,185,188,189,190,191,192,193,194,195,198,200,201,203,205,208,209,210,211,212,213,214,226,228,229,231,232,234,235,247,250,251,252,255,256,257,267,268,270,272,273,274,275,276,277,278,280,288,289,290,297,298,300,301,321,326,327,328,333,334,335,338,356,418,423,424,426,428,431,433,437,443,448,449],coordn:[114,181],coorind:104,copi:[0,3,4,8,11,12,15,17,40,119,168,290,328,346,392,421],copper:416,coproccesor:16,coprocessor:[1,4,7,9,16,17,333,436],coproprocessor:17,copy_arrai:8,copyright:[7,8,255],coral:169,core:[],core_shel:126,coreshel:[6,9,342,349,351],cornel:[6,150,435],corner123i:113,corner123x:113,corner123z:113,corner1i:113,corner1x:113,corner1z:113,corner2i:113,corner2x:113,corner2z:113,corner3i:113,corner3x:113,corner3z:113,corner:[3,6,40,113,168,299,300,321,412,423],cornflowerblu:169,cornsilk:169,corpor:16,corr:348,correct:[3,6,9,11,12,16,17,59,87,88,102,110,116,126,131,138,168,194,207,213,229,230,247,255,257,260,289,295,299,318,328,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,423,438,441,443],correction_max_iter:178,correctli:[3,8,9,11,17,71,81,102,103,122,123,125,127,129,130,131,132,133,136,137,140,167,169,175,195,200,203,214,223,229,230,263,270,273,275,277,296,299,328,329,333,351,379,420,421,423,447,449],correl:[],correspond:[1,2,6,8,11,12,14,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,40,43,44,45,46,47,48,49,51,53,54,56,70,71,87,96,97,109,112,113,114,115,118,119,120,122,123,131,138,143,150,151,152,153,154,155,156,158,159,161,162,164,167,168,169,173,174,175,181,183,184,185,187,190,192,194,201,203,204,208,213,216,217,225,226,227,229,231,232,233,234,235,236,241,244,246,247,249,252,253,257,262,270,272,273,281,283,285,294,295,296,298,299,300,302,304,305,306,307,308,309,312,314,319,323,325,327,328,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,390,392,393,394,395,396,397,406,407,408,409,410,412,414,415,416,418,420,421,423,424,426,436,437,438,440,441,443,448],correspondingli:[378,379,432],cosin:[],cosineshift:27,cosmo:[207,212],cossq:[],cost:[1,6,10,11,12,17,39,41,71,109,118,121,143,168,169,181,184,185,188,189,190,202,229,262,290,318,319,331,349,369,373,384,406,420,432],costheta0:[406,408,410],costheta:390,costli:[11,88,207,329],couett:4,coul:[],could:[2,3,6,9,11,12,17,33,41,50,59,66,71,75,87,90,93,104,106,109,112,114,124,134,139,141,157,167,168,169,173,174,179,181,182,184,188,194,203,212,259,260,261,265,268,270,272,278,279,285,289,290,291,295,299,301,303,310,315,317,324,326,329,333,336,359,363,364,392,393,419,420,421,423,425,427,430,431,439,443,448,449],coulomb:[3,5,6,7,8,9,10,12,14,15,18,88,107,108,121,145,149,261,263,291,318,319,326,333,340,342,343,344,345,348,349,350,351,352,357,361,362,364,369,373,377,384,387,392,393,395,405,410,411,415,428,435,441,443,447],coulommb:6,cound:3,count:[1,3,6,8,10,11,12,41,63,68,77,91,114,116,117,132,142,148,175,176,179,181,183,184,185,187,188,195,200,202,205,211,229,241,256,273,281,282,299,319,326,327,328,330,333,359,363,384,441,448],counter:[296,418,429,431,437],counterbal:209,counterpart:[167,270,418],counterproduct:18,coupl:[],cours:[3,8,138,167,173,174,206,269,275,289,295,297,298,300,301,319,378,397,420,423,436,443,448,450],coval:[6,29,357,380,443],covari:207,cover:[6,71,164,169,178,216,357,367,412],coverag:[71,184],cpc:212,cpp:[1,3,6,8,9,11,12,13,87,167,173,174,203,273],cpu:[1,3,4,9,10,12,14,15,16,17,18,63,71,169,172,198,214,291,316,319,333,346,405,418,436,437,440,441],cpuremain:441,cr2:143,cr3:143,crack:[4,329],crada:[5,7],crai:[5,7,13,18,167],crash:[3,329,443],craympi:333,creat:[],create_atom:[],create_bond:[],create_box:[],create_elementset:178,create_faceset:178,create_nodeset:178,createatom:[],creation:[],crimson:169,critchlei:255,criteria:[3,116,145,168,169,189,190,191,224,326,389,412,425,428,448],criterion:[41,142,144,147,179,188,191,205,241,262,296,301,326,328,348,357,361,428,437,438],criterioni:437,critic:[48,49,227,285,290,326],cross:[3,12,22,71,89,123,152,167,168,180,184,190,194,226,228,247,270,275,277,286,293,305,321,328,344,353,354,355,362,363,364,369,371,373,390,395,408,410,423,427,433,450],crossov:1,crossterm:423,crozier:[0,7,13],crucial:260,crystal:[4,6,13,73,251,252,288,329,427,441,443],crystallin:[6,252,321,409,443],crystallis:285,crystallogr:[118,143],crystallograph:[321,441],crystallographi:[118,143,321],cs1:143,cs_chunk:6,cs_im:[40,423],cs_re:[40,423],csanyi:[120,391,396],cscl:380,csequ:6,csh:[11,12,346],cshrc:[11,12],csic:[356,406,408,410],csinfo:6,csisi:[356,406,408,410],csld:[],cst:355,cstherm:6,cstyle:420,csvr:[],ctcm:[334,355],ctemp_cor:198,cterm:274,ctr:9,ctype:11,cu1:143,cu2:143,cu3au:380,cube:[6,41,142,147,188,198,299,321,443],cubic:[],cuda:[],cuda_arch:15,cuda_get:15,cuda_hom:15,cuda_prec:15,cufft:14,cuh:339,cummul:[3,6,186,189,190,191,193,202,207,213,215,278,281,282,283,284,286,293,363,441],cumul:[6,179,181,183,184,185,199,205,213,227,229,233,241,270,271,328],curli:2,current:[0,1,3,5,6,7,8,9,11,12,13,15,16,17,18,40,41,42,59,61,63,71,73,81,87,102,108,116,117,121,124,132,140,142,145,148,167,168,169,170,173,174,178,179,181,184,185,186,188,189,190,191,192,193,194,195,199,200,203,205,207,210,211,213,219,226,229,230,234,235,241,246,247,249,255,261,262,264,267,268,269,270,273,274,276,277,278,281,282,283,289,290,293,294,295,296,297,298,300,301,303,316,317,318,319,322,323,325,326,327,328,333,339,346,348,352,355,357,358,361,365,368,378,379,380,381,382,384,390,392,393,397,408,410,411,413,418,419,420,421,423,424,425,426,427,429,430,431,433,435,437,438,440,441,448,449,450,451,452],curv:[6,144,205,252],curvatur:[360,394,416],custom:[],cut0:421,cut1:432,cut2:432,cut:[],cuthi:[251,263],cutinn:[341,378,379],cutlo:[251,263],cutmax:390,cutoff1:[345,352,369,373,377,387,395],cutoff2:[340,342,343,345,351,352,369,373,377,387,395],cutoff:[3,6,10,16,18,39,45,46,54,55,61,70,72,73,77,87,108,115,116,120,142,145,147,190,191,196,251,260,261,263,265,267,270,278,291,295,299,301,318,319,326,329,330,331,333,334,335,336,337,338,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,356,357,358,359,360,362,363,364,365,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,392,393,394,395,396,397,398,399,400,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,421,425,428,432,443],cutoffa:356,cutoffc:356,cuu3:355,cval:143,cvd:285,cvel:274,cvff:[],cwiggl:[3,226,295,298,300,448],cyan:[2,168,169],cycl:[3,205,227,229,230,233],cyclic:[3,164],cygwin:12,cylind:[3,4,168,211,256,296,299,426],cylindr:[6,211,275,296],cypress:333,cyrot:339,cyrstal:252,d3q15:216,d3q19:216,d_double_doubl:15,d_e:290,d_flag2:259,d_flag:259,d_name:[113,167,259,280,433],d_single_doubl:15,d_single_singl:15,d_sx:259,d_sy:259,d_sz:259,daan:288,dai:12,daili:12,daivi:247,damag:[],dammak:265,damp:[3,6,172,177,213,214,215,220,229,230,233,257,260,265,270,281,282,294,296,297,325,326,328,340,342,344,349,352,357,361,369,377,387,395,405,411,437,443],damp_com:214,damp_drud:214,dampen:[270,443],dampflag:[296,361],dan:17,danger:[3,12,205,301,353,441],dangl:147,daniel:9,darden:[319,352],darkblu:169,darkcyan:169,darken:168,darkgoldenrod:169,darkgrai:169,darkgreen:169,darkkhaki:169,darkmagenta:169,darkolivegreen:169,darkorang:169,darkorchid:169,darkr:169,darksalmon:169,darkseagreen:169,darkslateblu:169,darkslategrai:169,darkturquois:169,darkviolet:169,dasgupta:261,dash:[361,440],dat:[6,91,164,178,419],data2xmovi:[],data:[],data_atom:8,data_atom_hybrid:8,data_bodi:8,data_vel:8,data_vel_hybrid:8,databas:[],datafil:[12,13,271],dataset:271,datatyp:3,date:[0,6,12,13,392,393,448],datom1:115,datom2:115,datom3:115,datom4:115,datum:[3,6,42,65,68,69,79,92,108,115,167,182],davi:295,david:[9,19,318,319,408,410],daw:[355,390],dbg:14,dcd:[3,6,7,167,168,169,170,253,424,428],ddim:166,deactiv:377,dealt:212,debug:[6,7,11,12,13,14,17,118,143,144,253,258,316,318,333,365,384,413,421,422,425,430,433,440,448],deby:[],decai:[349,416],decid:[3,6,12,16,71,226,259,270,291,438],decipher:321,declin:278,decod:168,decompos:[87,396],decomposit:[3,5,7,18,62,178,253],decoupl:[6,443],decreas:[3,167,175,176,191,194,200,203,213,289,318],decrement:274,deepli:315,deeppink:169,deepskyblu:169,def:[12,13,421],defaul:61,defect:[6,70,142],defin:[2,3,5,6,7,8,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,150,151,152,153,154,155,156,158,159,161,162,163,164,165,166,167,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,199,200,203,204,205,208,211,212,213,214,215,216,224,226,228,229,230,231,232,233,234,235,237,238,239,242,244,245,246,247,248,249,251,252,253,255,256,257,259,261,263,268,270,271,272,273,276,278,280,281,282,283,284,286,287,288,290,292,293,295,296,297,298,299,300,301,303,304,305,306,307,308,309,312,313,314,316,318,319,321,323,325,326,327,328,329,330,331,332,333,335,336,337,338,340,341,342,343,344,345,346,347,349,350,352,353,354,356,357,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,423,424,426,427,428,429,432,433,434,435,437,438,440,441,443,444,445,446,447,448,449],definit:[2,3,6,8,12,13,78,80,116,120,169,181,182,183,184,185,186,194,211,233,271,280,292,295,298,300,302,313,316,327,336,339,347,357,367,390,396,412,421,423,425,432,434,447,448],defint:441,deform:[],deg2theta:143,deg:443,degener:[3,255],degrad:[8,18,252,319,432],degre:[3,6,8,20,21,24,28,29,32,35,36,38,65,79,92,94,96,97,99,101,102,112,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,143,144,150,151,154,155,162,164,166,168,181,191,198,205,207,208,213,214,219,229,230,233,234,235,246,247,249,253,255,269,270,273,281,282,283,288,304,306,309,312,314,326,352,355,363,433,441,443,449],degress:[124,181],del:437,delai:[3,6,12,329,354,441],deleg:364,delet:[2,3,7,8,12,54,57,60,63,142,147,148,172,181,182,183,184,185,186,189,191,202,205,229,271,281,282,301,303,317,327,329,332,384,423,424,426,434,435,440,444,446,448,449],delete_atom:[],delete_bond:[],delete_el:178,deli:166,delimit:[421,448],deloc:[230,357],delr:380,delt_lo:437,delta:[],delta_1:339,delta_3:339,delta_7:339,delta_conf:3,delta_ij:[380,390],delta_mu:[3,179],delta_pi:339,delta_r:390,delta_sigma:339,delx:166,delz:166,demand:265,demo:11,demon:250,demonstr:[260,380],den:256,dendrim:363,denniston:[9,216,218,219,220,252],denomin:[7,149],denot:[118,198,214,252,263,265,349,362,364,393],dens:[71,191,357],densiti:[3,6,7,9,18,40,41,59,100,116,120,130,142,144,173,174,178,181,184,185,188,194,203,216,219,222,223,252,256,257,261,290,295,321,323,327,334,339,355,380,381,382,390,394,399,401,402,403,423,432,433,441,447],depart:[0,7],departur:[227,260],depend:[1,2,3,6,8,9,11,12,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,44,45,46,47,48,49,51,53,54,56,61,63,65,68,69,70,71,79,92,108,109,112,113,114,115,119,120,122,127,131,132,138,144,145,150,151,152,153,154,155,156,158,159,161,162,163,164,166,167,168,169,172,173,174,175,176,179,181,183,184,186,187,188,190,192,200,201,204,207,208,209,211,213,214,216,218,219,226,229,231,232,233,234,235,236,244,246,247,249,251,262,265,267,270,272,273,278,281,282,283,285,287,289,290,292,294,295,298,299,300,301,303,304,305,306,307,308,309,312,314,319,321,326,327,329,330,331,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,383,385,386,387,389,390,392,393,394,395,396,397,405,406,407,408,409,410,411,412,414,415,416,418,420,423,425,426,429,433,435,437,440,441,442,448,449],dependend:6,depflag:12,dephas:[418,437],depos:195,deposit:[],deprec:261,depth:[51,123,168,290,360,394],dequidt:9,der:[87,107,347,348,377,392,393,415,443],deriv:[6,7,8,38,56,63,87,120,138,164,182,192,194,205,213,226,229,231,232,233,234,235,251,257,261,265,287,288,290,295,296,299,325,327,335,339,347,352,357,358,362,371,375,376,380,392,393,405,407,415,443],derjagin:415,derlet:251,descend:169,descent:[7,325],descib:[40,261],describ:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,38,39,40,41,42,56,62,63,68,70,71,73,88,110,113,116,118,120,121,123,124,128,129,132,135,137,138,142,143,144,146,147,156,161,164,167,172,173,174,181,182,183,184,185,186,188,191,192,193,194,195,197,198,206,207,210,211,212,213,214,215,216,218,219,220,224,228,229,230,233,240,248,251,253,258,259,260,261,262,263,270,274,275,278,279,280,281,282,283,284,285,286,287,288,293,295,296,298,303,318,319,321,324,325,326,327,328,332,335,336,338,340,341,342,344,345,346,347,348,349,352,355,357,358,360,361,362,364,369,370,371,372,373,374,375,376,377,378,379,380,383,389,390,391,392,393,394,395,396,397,404,405,406,407,408,409,410,411,414,415,416,418,420,421,423,424,426,427,433,436,437,440,448,449,450],descript:[],descriptor:[120,167,365],deserno:319,design:[0,3,6,7,8,11,13,14,15,17,118,126,129,143,178,191,197,198,229,230,251,252,271,285,290,336,337,338,341,344,349,351,357,377,378,379,381,382,390,393,407,432],desir:[2,3,6,7,11,12,14,15,16,18,33,40,50,59,71,88,91,112,117,121,126,144,157,166,179,192,194,203,205,206,213,214,215,219,229,247,255,256,257,258,261,265,270,273,278,281,282,283,284,289,296,310,315,318,319,321,324,326,327,328,353,355,363,378,379,406,408,410,419,420,421,423,427,432,437,438,440,441,448,449,450],desk:7,desktop:[4,6,7,10,12,17,168],despit:443,destabil:339,destre:312,destroi:[11,39,189,190],detail:[1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,22,37,40,41,42,55,63,66,67,68,71,75,78,90,91,93,102,104,106,107,109,111,112,114,117,119,120,121,122,123,124,127,137,138,139,141,144,145,148,149,152,163,167,168,169,172,173,174,178,181,182,183,184,186,188,190,191,192,193,194,195,203,205,206,207,208,210,211,213,215,216,220,226,227,228,229,230,231,232,233,234,235,239,241,246,247,248,249,252,255,256,257,259,260,262,263,264,270,273,278,281,282,283,284,285,286,288,289,290,291,292,293,294,301,303,305,313,318,319,322,326,327,329,330,333,334,335,336,338,339,341,343,344,345,346,347,348,349,352,353,357,358,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,383,384,389,392,393,394,396,397,405,412,414,415,421,423,424,425,426,428,429,432,433,435,438,441,448,449,452],detect:[2,3,12,61,63,86,204,256,289,328,348,363,368,418,420,423,434,437,448],determ:333,determin:[1,3,6,8,12,15,39,40,42,51,57,58,59,61,62,68,71,87,102,107,109,112,118,119,121,132,133,142,143,144,166,167,168,169,170,171,175,176,177,180,181,182,183,184,185,186,187,188,192,194,195,198,200,205,208,209,211,213,214,219,224,226,227,229,234,235,246,247,249,251,253,257,260,267,268,269,270,271,272,278,281,282,283,285,291,292,295,296,297,298,299,300,301,313,318,319,321,327,329,330,333,335,336,343,348,352,354,355,359,361,365,373,380,384,393,394,404,407,411,415,420,423,424,426,428,430,433,437,439,440,447,448,449],detil:108,devan:[9,395],devanathan:410,develop:[0,3,5,6,7,8,9,11,12,14,15,16,17,18,19,42,210,233,255,260,261,264,335,339,357,382,425],devemi:9,deviat:[227,233,251,359],devic:[1,3,12,15,17,210,333],device_typ:333,devin:[262,348],devis:382,dfactor:168,dff:443,dfft_fftw2:12,dfft_fftw3:12,dfft_fftw:12,dfft_none:12,dfft_singl:[3,12,319],dfft_xxx:12,dfftw:12,dfftw_size:12,dft:[9,264],dhi:[59,166,194,256],dhug:[227,260],dhugoniot:[227,260],dia:380,diagnost:[],diagon:[3,6,83,120,121,192,229,257,270,293],diagonalstyl:396,diagram:[41,118,143,163,188,253],diallo:363,diam:[168,169,256,327],diamet:[3,6,40,113,144,167,168,169,173,174,213,256,270,278,294,296,327,347,360,361,367,371,394,412,415,423,424,433],diamond:[321,357,380],diamter:[40,256],dick:6,dicsuss:226,dictat:[179,227],did:[3,12,326,353,354,355,361,384,408,410,431],didn:3,die:18,diel:[],dielectr:[],diff:[3,6,12,140,292,318],differ:[1,2,3,4,6,7,8,9,10,11,12,14,15,16,17,18,22,37,38,39,41,42,54,55,56,61,64,68,70,71,87,94,96,97,120,122,123,124,125,127,130,131,132,133,134,136,137,138,144,145,147,152,163,164,166,167,168,169,172,174,177,179,181,183,188,189,190,191,192,193,194,198,204,205,206,207,208,209,210,213,214,216,226,229,230,231,232,234,235,237,239,242,244,245,246,249,251,253,255,257,260,261,262,265,268,270,273,274,275,276,278,281,282,283,286,287,288,290,293,294,295,296,299,303,304,313,315,317,318,319,321,322,324,325,327,328,330,331,332,333,334,335,339,343,344,346,347,348,353,355,357,360,361,362,364,367,369,370,372,373,380,381,382,383,384,386,390,392,393,394,395,396,397,405,406,407,408,410,412,415,416,417,418,420,421,423,425,426,427,428,431,432,433,435,437,438,440,441,443,447,448,449,450],differenti:[1,3,6,29,164,318,349,390,409],difficult:[192,253,333,363,432],difficulti:[273,392],diffract:[],diffus:[],digit:[2,3,169,303],dih_table1:164,dih_table2:164,dihedr:[],dihedral_coeff:[],dihedral_cosineshift:27,dihedral_styl:[],dihedralcoeff:3,dihedraltyp:190,dihydrid:357,dij:273,dilat:[],dim1:3,dim2:3,dim:[3,59,71,122,125,126,127,130,131,132,133,134,136,144,166,184,194,211,296,321,380,426,447,448,449],dimdim:448,dimems:252,dimens:[],dimension:[3,39,112,118,120,122,124,125,126,127,130,131,132,133,134,136,143,165,181,184,228,252,290,321,324,328,390,423,433],dimensionless:[105,120,290,319,396,415],dimer:[6,270,380],dimgrai:169,dimstr:[41,188],dinola:[257,281],dintel_offload_noaffin:16,dipol:[],dipolar:[4,29,40,167,280,443],dir1:434,dir2:434,dir:[1,3,4,8,11,12,227,251,260,277,390,392,393,421,434,448],dirac:120,direc:390,direct:[],directli:[3,6,8,9,11,12,87,113,120,167,168,175,200,207,211,216,252,271,282,294,296,297,298,299,321,325,333,334,335,340,342,343,349,352,355,357,369,373,384,387,395,404,421,433,434,435,441,448],directoi:14,directori:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,60,170,193,212,255,261,264,278,287,288,328,332,334,335,339,346,348,349,355,356,358,365,366,377,380,381,382,386,390,391,392,393,396,406,408,409,410,421,423,424,425,434,448],disabl:[3,12,16,290,368,421,436],disadvantag:[6,188],disallow:[194,229],disappear:425,discard:[2,3,41,71,184,188,291,299,420,425,426],discontinu:[9,164,326,375],discourag:380,discov:[13,291],discret:[6,8,40,42,168,169,213,216],discuss:[],disk:[6,84,85,137,165,195,205,256,421],disloc:70,disord:[39,70],disp:[],dispar:394,disperion:[352,373],dispers:[3,6,7,9,142,252,318,319,343,352,373,378,384,393,407],displac:[],displace_atom:[],displace_box:59,displacemet:426,displai:[11,13,22,37,44,55,152,163,167,168,305,313,346,405],dispters:3,dissip:[6,206,213,252,287,288,341,353,361,378,379,405],dissolut:189,dist:[6,69,91,108,117,167,253,269,354,404,418,449],distanc:[3,6,7,9,12,20,21,29,39,43,45,46,47,48,49,51,53,54,55,56,58,59,61,63,64,66,69,71,72,73,74,75,76,77,81,86,89,90,93,103,104,105,106,108,114,115,116,117,118,120,133,139,142,144,145,146,147,151,166,167,168,169,177,181,184,185,189,190,191,192,194,195,196,199,205,211,216,226,227,228,229,233,241,251,252,256,260,261,268,269,270,273,274,275,276,277,278,285,286,288,289,290,293,295,296,297,298,299,300,304,318,319,321,324,326,328,329,330,333,336,337,338,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,356,357,359,360,361,362,363,367,368,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,386,387,388,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,421,423,426,432,433,437,441,443,447,449],distinct:[6,198,267,318,394],distinguish:[6,86,120,219,357],distort:334,distrbut:334,distribut:[],distro:[111,346,389,390],ditto:[8,11,12,14,15,16,17,18,115,190,421],div:8,divd:117,diverg:[3,12,39,270,288,425,443,450],divid:[3,6,16,41,91,112,117,121,141,142,152,163,169,181,182,183,188,194,251,286,293,298,318,326,328,358,393,432,440,448],divis:[6,216,339,367,377,420,423,441,448],dl_poli:7,dlambda:138,dlammps_async_imd:210,dlammps_bigbig:[12,39],dlammps_ffmpeg:[3,12,168],dlammps_gzip:[3,12,167,168,289,423,424,428],dlammps_jpeg:[3,12,168],dlammps_longlong_to_long:12,dlammps_memalign:[12,16],dlammps_png:[3,12,168],dlammps_smallbig:12,dlammps_smallsmal:12,dlammps_xdr:[12,167],dlen:433,dlmp_intel_offload:[12,16],dlo:[59,166,194,256],dlvo:[7,347,415],dm_lb:216,dmax:[278,324],dna:7,doc:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,22,37,40,42,55,57,59,63,66,68,75,87,90,93,102,104,105,106,107,109,111,112,114,117,119,121,123,124,137,139,141,144,145,146,152,163,167,168,169,170,172,173,174,179,180,181,182,183,184,185,186,195,205,213,214,224,229,230,234,235,239,246,247,248,249,256,259,270,275,278,281,282,283,292,296,299,301,303,305,313,317,326,327,328,333,334,335,338,346,348,349,355,356,358,363,364,366,367,380,381,382,384,386,389,390,391,396,405,406,408,410,412,421,423,424,425,426,428,431,432,433,440,441,448,449,450,451],docuement:394,dodgerblu:169,doe:[0,1,2,3,5,6,7,8,9,11,12,14,15,16,17,18,29,33,38,39,41,50,54,56,59,62,63,67,70,71,87,88,91,104,110,117,118,123,124,127,132,134,138,143,144,145,146,148,150,152,157,163,164,166,167,168,169,172,178,179,181,184,187,188,190,191,192,194,198,200,202,205,206,209,211,213,214,216,219,225,229,230,231,232,234,235,246,247,248,249,257,258,259,263,265,268,270,278,281,283,285,286,290,293,294,295,298,299,300,301,306,307,309,310,312,317,318,319,320,321,327,328,329,334,335,336,337,338,339,341,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,364,365,366,367,368,371,372,374,375,376,378,379,380,381,382,384,390,391,392,393,394,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,425,426,427,430,431,433,434,435,436,437,440,441,443,448,452],doegenomestolif:7,doesn:[3,7,8,12,144,167,179,184,185,275,327,329,333,335,348,356,366,392,393,406,408,409,410,423,425],dof:[3,8,112,123,124,137,181,270,449],dof_per_atom:[124,181],dof_per_chunk:[124,181],doff:[327,423],doi:[6,193],domain:[3,6,7,12,13,18,39,41,42,58,61,62,71,118,133,143,146,166,168,169,172,179,188,192,194,195,209,212,216,229,230,253,265,270,290,295,296,318,319,328,333,354,384,418,420,423,427,440],domin:[1,357,437],don:[0,8,11,12,13,116,147,175,200,214,259,299,380,421,423],donadio:282,done:[1,3,6,7,8,12,14,15,16,17,18,19,38,39,41,56,59,62,71,138,141,144,147,164,168,169,178,179,181,183,184,185,186,188,189,190,191,192,194,195,203,205,210,211,213,214,221,229,234,235,246,247,249,250,252,253,254,259,267,270,271,273,278,281,282,283,285,287,288,301,303,317,318,319,326,328,329,332,333,335,343,355,364,365,366,373,379,380,384,392,404,407,412,418,419,420,421,424,427,428,431,441,443,448,449],donor:363,dot:[121,140,175,200,208,228],doti:[339,390],doubl:[1,2,3,6,8,9,11,12,14,15,16,17,39,87,194,203,258,299,303,317,319,332,333,339,358,362,392,393,419,423,427,431,436,448,449],dover:178,down:[3,6,7,8,11,39,71,192,213,278,294,333,357,384,422],downhil:[324,325],download:[5,7,8,9,11,12,13,17,210,365,391],downsid:6,downward:267,dozen:[8,12,107,172,392,393],dpack_arrai:12,dpack_memcpi:12,dpack_point:12,dpd:[],dpde:222,dproduct:336,dr_ewald:[118,271],drag:[],dragforc:216,drai:[227,260],drain:[209,294,326],dramat:[59,166,189,190,191,192,194,229,278,281,282,319,333,384,420],drautz:339,draw:168,drawback:259,drawn:[167,168,169,206,418],drayleigh:[227,260],dreid:[],drfourth:105,drho:[113,334,355],drift:[6,103,105,206,207,213,214,225,268,278,432,440,443],drive:[11,12,176,192,194,208,229,251,257,270,297,328],driven:[6,156],driver:[6,12,14,15,172,203,210],drop:[3,169,353],droplet:364,drsquar:105,drude:[],dry:202,dsecriptor:365,dsf:[],dsmc:[],dstyle:256,dt_collis:216,dt_lb:216,dt_md:216,dt_srd:278,dtilt:[59,194],dtneb:437,dtqm:260,dtype:[115,190],dual:[17,278,333],dudarev:143,due:[1,3,6,9,10,12,16,17,19,40,54,57,58,61,66,70,71,74,75,81,86,88,89,90,93,102,103,104,105,106,110,116,118,120,121,122,123,125,127,130,131,132,133,134,136,137,139,143,144,147,148,167,168,172,175,176,183,187,189,190,191,192,193,194,195,200,201,202,203,206,207,210,211,213,214,215,216,219,220,221,225,226,227,228,229,233,241,251,254,256,268,269,270,272,275,277,278,279,281,282,283,284,285,287,288,290,294,295,297,298,299,301,319,324,326,328,329,330,350,353,355,359,360,364,378,379,384,390,392,394,395,404,407,408,410,413,415,416,418,420,423,424,425,432,437,440,441,443,448,449],duffi:290,duin:[9,261,266,392,393],duke:319,dummi:[12,29,409],dump1:428,dump2:428,dump:[],dump_atom:8,dump_custom:8,dump_modifi:[],dumpcustom:8,dumptimestep:428,dunbrack:[6,20,150,344,435],dunweg:[213,215],duplic:[2,3,14,15,16,17,18,19,41,42,145,188,207,251,423,447],dupont:[5,7,13],durat:[37,55,122,123,125,126,127,129,130,131,132,133,136,137,163,169,181,205,265,290,313,361,405],dure:[2,3,6,8,9,12,16,17,38,39,41,56,71,87,126,145,148,164,167,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,199,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,319,326,328,332,333,353,377,384,393,407,418,419,421,423,426,428,430,431,433,435,437,438,441,448,451,452],dvector:8,dvlo:415,dvx:6,dx_lb:216,dy3:143,dyamic:12,dyanam:6,dyanmic:437,dynam:[],dynamo:[5,334,355,380],dyne:447,dyre:374,dysam:426,e28637:29,e_1:339,e_2:339,e_b:358,e_e:357,e_hbond:363,e_i:[6,339,358],e_j:[6,339],e_k:[339,357],e_kl:6,e_lj:[335,352],e_n:[339,357],e_nn:357,e_pr:357,e_rebo:335,e_tors:335,eaa:304,eaat:151,each:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,57,59,61,62,63,64,66,67,68,70,71,72,73,74,75,76,77,78,80,81,83,85,87,89,90,93,94,95,96,97,98,99,100,101,102,103,104,105,106,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,131,132,133,134,136,137,138,139,140,141,142,143,144,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,225,226,227,228,229,231,232,233,234,235,236,237,238,239,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,261,262,263,265,267,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,288,289,290,291,292,293,294,295,296,298,299,300,301,303,304,306,307,308,309,310,312,313,314,317,318,319,321,325,326,327,328,329,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,410,411,412,413,414,415,416,417,418,420,421,423,424,425,426,427,428,430,431,432,433,435,437,438,440,441,443,447,448,449,450,452],eacn:[41,188],eam0d:252,eam3d:252,eam:[],eam_databas:13,eam_gener:13,eangl:441,earli:[41,181,183,184,185,186,188,264,271],earlier:[7,8,12,59,169,328,361,380,384,437],earliest:437,earth:357,easi:[6,7,8,11,13,87,121,167,173,174,175,176,184,187,200,208,209,211,213,214,272,281,282,283,295,298,300,327,423,426,431,433,449],easier:[8,9,13,16,167,168,252],easili:[8,11,168,169,294,328,420,430,439,448],eastwood:[318,319],eat:151,eatom:301,eaxmpl:6,eba:21,ebb13:151,ebb:21,ebond:[198,214,440,441],ebt:151,ec_ii:380,ec_ij:380,ec_jj:380,echo:[],eco:[392,393],ecoa:[392,393],ecoul:[107,198,214,392,393,441],ecp:[357,423],edg:[2,3,6,41,59,71,118,142,143,146,147,168,177,184,211,272,295,298,299,300,301,321,423,426,433],edge_histo:142,edge_threshold:142,edih:441,edim:286,edip:[],edit:[3,8,12,13,14,15,16,17,18,19,443],editor:13,edu:[7,9,11,13,355,378,389,392,393],edward:[9,17],eebt:151,eff:[],effect:[1,2,3,6,8,9,11,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,66,71,74,75,81,89,90,93,103,104,105,106,109,112,121,122,126,131,132,139,142,148,150,151,153,154,155,156,158,159,161,162,163,164,166,167,168,169,173,174,175,178,182,185,186,187,189,190,191,192,194,195,201,204,206,207,208,209,210,211,213,214,228,229,231,232,233,234,235,236,244,246,247,249,250,251,253,256,257,259,260,261,262,265,269,270,272,273,277,278,281,282,283,285,286,288,290,293,294,295,296,297,299,300,301,304,306,307,308,309,312,314,318,319,321,325,326,327,328,329,334,335,337,339,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,384,385,386,387,389,394,395,397,405,406,407,408,409,410,412,414,415,416,418,420,421,425,426,428,432,433,435,441,447,448,450],efffect:427,efficaci:39,effici:[0,1,3,6,7,8,10,12,15,17,18,39,58,61,67,112,167,168,169,192,194,198,207,229,253,255,265,270,273,278,318,319,324,329,333,339,347,349,364,369,373,394,430,452],effort:[5,7,424],efftemp:[96,97,130],efi:[392,393],efield:[],eflux:209,eggebrecht:349,ehb:[392,393],eigensolv:3,eigenvalu:[252,253,318],eigtol:3,eik:138,eim:[],eimp:441,einstein:[265,288],either:[1,2,3,4,6,8,9,11,12,14,15,16,17,22,33,41,44,50,59,63,71,107,113,116,118,120,121,124,126,127,143,144,147,152,157,164,167,168,169,172,180,182,183,185,186,188,191,192,193,194,195,205,211,212,216,220,226,227,229,230,233,247,251,267,270,272,273,274,275,278,285,292,296,299,303,305,316,318,319,321,325,326,330,333,339,341,347,355,364,365,367,378,379,380,384,388,390,408,410,412,418,421,423,425,426,427,430,432,435,438,440,448],ejtehadi:[347,360,394],elaplong:[173,174,211,426,441,448],elaps:[3,173,174,175,176,187,194,200,208,209,211,213,214,226,256,272,281,282,283,295,296,298,300,397,418,426,428,429,433,437,441,448],elast:[],elba:29,electr:[6,172,178,200,214,318,319,358,392,393,416,443,447],electrolyt:[9,415],electron:[3,6,7,9,13,40,96,97,113,118,128,130,135,172,178,197,198,214,215,230,240,248,263,284,290,325,327,334,336,348,352,355,357,358,380,390,391,410,416,423,443,447],electron_integr:178,electron_temperatur:178,electron_unit:357,electroneg:[6,261,262,263,348,358],electronic_dens:3,electronic_specific_heat:3,electronic_thermal_conduct:3,electrostat:[6,9,16,18,179,205,261,263,264,291,318,319,347,352,357,369,377,379,393,415],eleftheri:270,elem1:[358,380,396],elem2:[358,380,396],element1:[267,334,355],element2:[267,334,355],element:[3,6,7,8,13,63,81,89,103,105,112,117,119,120,121,122,123,124,125,126,127,131,132,133,134,136,137,140,167,168,169,170,172,178,182,183,186,252,267,285,292,334,335,339,348,355,356,357,358,364,365,366,380,381,382,386,390,391,392,393,396,406,408,409,410,443,448,451],elementn:[334,355],elementset:178,elev:437,elif:[120,303],elig:[3,179,189,190,202,205,363],elimin:[3,6,71,206,213,214,270,273,287,288,418],elj:352,ellad:9,elliot:9,elliott:9,ellips:[4,6,9,82,123,165],ellipsoid:[3,4,6,7,13,40,42,82,113,123,144,165,167,213,231,234,237,238,246,270,278,323,326,360,379,394,405,423,433,450],ellipsoidflag:423,elong:[198,214,441],elp:[392,393],els:[3,7,8,12,71,107,116,117,119,168,180,181,182,183,184,185,186,205,229,270,278,290,291,292,301,303,318,364,422,434,448,451],elsewher:[8,226,278,380,391,392,393,435,441,448],elt:380,emac:[],email:[0,3,5,7,8,11,358],emb:[3,9,299],emb_lin_neg:380,embed:[3,5,7,11,12,13,29,88,142,290,334,355,358,377,380,381,382,390,405,413,421],embt:151,emi:[7,9],emol:[392,393,441],emphas:361,empir:[178,282,335,357],emploi:[9,252,265,409],empti:[3,57,71,146,270,318,329,368,423,434,435,448],enabl:[3,6,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,43,45,46,47,48,49,50,51,53,54,55,56,60,61,62,64,67,78,80,83,87,96,97,98,99,100,101,105,109,111,112,120,122,123,126,128,130,131,135,136,138,142,150,151,153,154,155,156,157,158,159,161,162,163,164,167,169,170,172,173,174,175,176,177,179,185,187,189,190,191,193,195,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,222,223,225,227,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,260,261,262,263,264,265,266,267,269,270,272,273,274,275,277,278,281,283,284,285,286,287,288,290,291,293,294,295,296,297,299,302,304,306,307,308,309,310,312,313,314,319,326,328,332,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,421,424,425,430,432,448,452],enclos:[2,6,12,146,167,258,303,380,419,421,431,448],encod:[13,39,42,167,168,169,259,364],encompass:[3,6,40,57,59,116,145,292,405,426],encount:[3,8,12,59,183,332,428,448],encourag:[7,8,264,276],end12i:113,end12x:113,end12z:113,end1i:113,end1x:113,end1z:113,end2i:113,end2x:113,end2z:113,end:[1,2,3,5,6,8,11,12,15,16,17,18,19,38,40,41,57,59,71,113,147,148,151,166,167,168,169,170,173,174,182,183,185,186,191,194,198,206,211,213,214,215,228,229,230,241,257,269,270,274,278,281,282,283,284,286,289,290,293,297,300,301,317,318,327,328,332,333,353,355,360,394,396,397,411,413,418,421,423,424,425,426,428,430,431,435,439,441,443,448,452],end_of_step:8,endbondtors:[3,151,157,423],endif:8,energet:[191,335,393],energi:[0,1,2,3,4,5,6,7,8,9,12,13,20,21,23,24,25,26,27,28,29,30,31,32,35,36,38,40,43,45,46,47,48,49,51,53,54,56,63,65,69,82,83,84,85,86,87,88,91,94,95,96,97,98,99,101,102,107,108,109,110,112,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,144,148,150,151,152,153,154,155,156,158,159,161,162,163,164,167,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,304,306,307,308,309,312,314,318,319,324,325,326,328,329,333,334,335,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,392,393,394,395,396,397,398,399,404,405,406,407,408,409,410,412,413,414,415,416,418,421,423,428,432,433,435,437,439,440,441,443,447,448,451],energy_update_freq:393,enforc:[6,57,58,104,166,167,168,170,172,179,191,194,229,250,252,262,270,273,303,318,369,420,448,449],enforce2d:[],eng:[11,65,69,108,167,203,301,303,348,382],eng_previ:303,engin:[178,194,255,274,287,355,381],engr:[392,393],enhanc:[174,178,418],enlarg:[59,168],enough:[3,40,61,86,144,145,147,188,214,256,260,265,270,291,295,296,299,329,333,349,388,423,427,428],enpub:355,ensembl:[],ensight:6,ensur:[3,6,120,167,179,192,205,206,229,289,319,339,354,377,404,406],enter:[57,134,358,437],enthalpi:[231,232,355,440,441,448],entir:[0,2,3,6,11,14,15,41,42,63,88,109,110,112,116,118,121,124,143,144,169,172,173,174,181,184,185,188,191,193,202,205,206,209,213,214,225,229,231,232,233,234,235,251,253,255,268,270,276,290,292,303,333,352,373,384,407,423,431,432],entireti:[367,412],entiti:[6,8,40,42,167,270],entri:[3,8,38,42,56,65,69,79,92,108,115,118,142,164,169,183,184,185,193,260,301,327,339,356,380,386,393,396,406,407,408,409,410],entropi:437,entry1:[38,56,169,346,407],entry2:169,entryn:169,enumer:[145,167],enumuer:6,env:333,environ:[1,3,6,11,12,16,17,18,168,207,212,251,333,334,339,346,348,356,357,390,408,420,434,448],epair:[107,169,359,363,392,393,441],epen:[392,393],epfl:[207,212],epp:352,epq:352,eps0:415,eps14:377,epsilon0:410,epsilon:[3,6,36,45,46,50,53,54,87,150,173,174,205,270,278,295,299,324,326,338,344,345,347,349,350,351,352,360,362,363,364,367,368,369,370,371,372,373,374,375,376,377,383,387,394,395,400,406,412,414,415,432,443,447],epsilon_0:416,epsilon_14:344,epsilon_:394,epsilon_d:350,epsilon_i:[360,384,394],epsilon_i_:394,epsilon_i_a:[360,394],epsilon_i_b:[360,394],epsilon_i_c:[360,394],epsilon_ij:384,epsilon_j:[360,384,394],epsilon_j_:394,epsilon_j_a:[360,394],epsilon_j_b:[360,394],epsilon_j_c:[360,394],epsilon_lj:394,epton:389,eqch:139,eqeq:[392,393],eqp:352,eqq:352,equal:[2,3,6,8,11,12,17,39,41,54,63,65,68,69,76,79,86,87,91,92,108,110,115,117,119,121,123,138,140,144,168,169,172,173,174,175,176,179,182,183,186,187,188,192,194,195,200,205,206,208,209,211,213,214,216,219,220,226,227,233,243,251,253,256,258,260,261,262,265,267,269,270,272,274,281,282,283,286,287,288,290,292,293,295,298,300,301,303,317,326,328,329,330,332,333,348,353,359,360,363,378,383,390,392,393,394,396,397,407,412,416,419,420,421,423,425,426,430,431,434,437,439,441,448,449],equat:[3,6,7,8,9,91,112,118,143,152,163,172,192,198,199,207,213,214,216,219,227,228,229,230,233,247,251,253,260,261,265,273,278,286,290,293,295,296,298,300,312,318,319,347,352,353,357,358,361,366,378,379,380,384,394,399,400,402,403,411,416,443],equi:230,equidist:228,equil:[3,261,322,430,452],equilater:433,equilibr:[3,4,5,6,7,9,59,91,144,172,179,182,191,192,205,227,229,230,247,248,260,261,262,263,286,287,288,293,348,349,392,393,419,433],equilibria:293,equilibribum:[189,190],equilibrium:[1,3,4,6,7,21,24,26,27,28,29,32,35,36,38,43,47,48,49,51,53,56,59,127,128,151,153,192,194,205,206,207,214,216,229,233,247,260,265,269,273,274,275,278,285,286,288,293,304,306,309,312,348,380,386,443],equilibrium_angl:8,equilibrium_dist:8,equilibrium_start:178,equival:[6,12,13,59,142,146,169,183,186,192,194,205,213,229,247,257,269,270,298,353,357,408,410,423,426,431,432,441,443],equlibrium:6,equliibr:[261,263],er3:143,eradiu:[40,113,357,423],eras:[272,287],erat:[194,379],erc:349,erfc:[349,369,384],erforc:113,erg:447,erhart:[179,355,408,410],ermscal:336,ernst:9,eror:3,eros:380,erose_form:380,erot:[],errata:[408,410],erratum:295,erron:3,error:[],erta:361,ervel:[113,423],escap:[195,443],especi:[8,11,16,132,144,172,179,188,205,260,265,268,269,333,420],espresso:[9,264],essenti:[8,11,12,27,88,125,126,127,130,131,132,133,134,136,153,182,233,252,294,319,335,349,369,410,428,441],essex:29,establish:[87,209],estim:[1,3,6,10,12,38,41,56,91,121,178,188,199,227,278,285,318,319,324,384,393,407,437,441],esu:447,esub:380,eta:[6,216,229,260,261,263,294,356,358,360,390,409,447],eta_dot:229,eta_ij:390,eta_ji:358,etag:[40,423],etail:441,etap:229,etap_dot:229,etc:[1,2,3,6,7,8,9,10,11,12,13,15,16,17,39,40,42,54,61,68,89,90,91,94,109,110,113,115,121,122,124,125,126,127,128,130,131,132,133,134,136,138,144,146,147,148,157,167,168,169,172,178,179,180,181,183,184,185,186,189,190,194,195,203,205,206,213,229,256,267,271,290,291,299,303,317,318,326,327,328,329,331,355,356,364,377,379,388,392,393,406,408,410,418,421,423,424,425,430,432,433,437,439,440,441,443,447,448,450,452],ethernet:18,etol:[326,328,418,437],etot0:260,etot:[6,94,96,97,110,121,130,169,198,214,227,260,440,441],eu2:143,eu3:143,euler:[326,328],eulerian:178,euqat:398,europhi:216,evalu:[2,3,11,12,38,56,71,87,88,91,107,117,120,124,134,142,144,167,168,169,173,174,175,176,178,180,181,182,183,184,185,186,187,194,200,206,208,209,211,212,213,214,252,258,261,272,281,282,283,292,295,298,300,301,303,318,319,324,326,333,384,390,407,418,419,421,425,426,428,430,431,432,433,437,439,441,448,449],evalut:[303,421],evan:[132,247],evanseck:[6,20,150,344,435],evapor:[],evaul:[8,326],evdwl:[107,392,393,441],even:[3,6,8,12,15,16,17,18,34,39,41,52,57,59,61,63,70,71,119,145,146,160,164,167,169,172,173,174,179,180,181,183,184,185,186,188,189,190,192,194,195,198,211,214,227,229,230,252,265,267,270,271,278,286,290,293,295,299,301,311,318,324,326,328,333,338,357,358,361,364,384,394,413,423,424,426,428,429,430,432,433,435,438,440,441,443,452],evenli:[3,41,121,164,188,216,367,413,423],event:[],eventu:[3,6,12,15,146,261,437],ever:[54,56,212,278],evera:[347,360,394,405],everi:[0,1,2,3,6,8,11,12,15,16,39,41,71,72,91,113,119,132,147,167,168,169,170,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,199,202,203,205,207,209,210,211,216,217,225,229,230,233,250,251,252,256,257,258,259,260,261,262,263,265,267,268,270,271,273,274,278,280,281,282,283,284,285,286,289,290,291,292,293,301,303,317,319,328,329,330,333,353,354,364,377,392,393,401,417,418,419,423,425,427,428,430,431,432,437,438,439,441,448,452],everyth:[8,107],everywher:[116,371],eviri:357,evolut:[207,216,253,418],evolv:[216,253,291],ewald:[2,3,5,6,7,8,12,88,110,118,121,291,318,319,326,340,342,343,349,352,357,369,373,387,395,405,407,425],ewald_disp:352,ewalddisp:3,exact:[22,41,44,71,138,147,152,188,191,206,207,213,214,215,256,265,266,278,290,305,318,346,425,430,437,450,452],exactli:[3,6,12,14,17,38,41,56,59,71,91,123,128,135,144,164,173,174,183,188,194,199,206,213,214,215,230,240,241,248,252,260,278,283,284,297,333,346,353,355,361,364,367,378,384,407,425,426,433,437,448],exager:443,examin:[6,8,191,252],examp:[421,448],exampl:[],exce:[3,6,16,17,18,41,58,71,146,181,184,185,188,192,194,199,202,229,252,278,326,333,423,448],exceed:[3,41,59,188,194,229,278,431],excel:357,except:[1,2,5,6,8,11,14,16,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,38,40,41,43,44,45,46,47,48,49,51,53,54,55,56,59,60,71,89,90,108,109,112,117,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,144,148,150,151,152,153,154,155,156,158,159,161,162,163,164,166,167,169,172,175,181,182,183,187,188,192,194,201,204,205,208,211,213,215,229,230,231,232,233,234,235,236,240,241,244,246,247,248,249,253,262,263,270,272,273,275,278,281,283,284,290,294,301,303,304,305,306,307,308,309,312,313,314,318,319,321,323,327,328,329,331,332,333,334,335,337,340,341,342,343,344,345,346,347,348,349,351,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,381,385,386,387,389,392,393,394,395,397,405,406,407,408,409,410,412,414,415,416,418,420,421,423,425,426,428,431,432,433,434,435,437,441,443,447,448,449,451],excess:357,exchang:[2,3,6,8,9,61,62,172,178,179,205,213,262,270,286,290,293,318,333,357,438],exchange:318,excit:[9,357],exclud:[3,6,9,12,16,17,63,71,112,120,124,131,132,148,167,181,184,189,190,217,225,255,268,270,285,296,301,326,327,329,341,361,364,378,379,384,404,435],exclus:[1,3,9,12,16,87,333,348,432],excurs:418,exectubl:12,execut:[1,2,3,4,6,8,11,12,17,60,145,168,210,264,303,317,320,332,419,421,431,434,437,448],exemplari:206,exemplifi:357,exert:[6,211,214,265,297,298,299,319],exhaust:[178,332,448],exhibit:[229,325,357,432],exist:[3,6,7,8,11,12,13,37,55,59,68,70,144,145,163,168,169,172,177,187,190,192,195,205,255,256,258,301,304,306,307,309,313,322,327,333,364,392,413,419,421,423,424,425,434,435,436,448,449,450],exit:[2,3,11,12,41,57,167,188,317,332,421,422,431,440,448],exlanatori:3,exp:[],expand:[],expans:[12,120,167,434],expect:[1,3,8,12,13,14,15,16,17,18,19,41,42,71,102,125,136,142,164,188,200,205,207,226,251,257,259,260,265,270,301,319,329,346,380,384,418,421,423,425,428,432,437,448],expens:[6,10,71,169,251,255,270,290,301,318,319,329,333,421],experi:[6,13,15,17,187,195,210,219,228,257,269,270,324,328,353,384,432,437],experienc:[6,12,218,219],experiment:[318,333,437],expert:12,expertis:7,explain:[1,3,6,8,11,12,16,18,41,59,63,65,68,69,71,72,73,76,77,79,86,92,124,132,164,167,168,169,172,181,182,186,188,190,192,194,229,251,259,270,275,301,303,317,318,321,327,328,332,338,355,367,397,412,416,421,424,425,428,430,433,443,448,452],explan:[3,6,59,113,120,167,181,228,251,364,417,420,421,423,432],explanatori:[3,8,117,167,180,181,183,184,185,270,327,420,448],explantori:[3,266],explic:383,explicit:[6,9,11,22,44,77,87,113,116,138,152,173,174,194,305,323,335,336,339,344,346,355,357,368,378,411,417,420,424,427],explicitli:[3,6,8,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,71,109,112,122,131,134,142,144,150,151,153,154,155,156,158,159,161,162,164,167,169,175,184,187,194,201,204,206,208,213,229,231,232,233,234,235,236,244,246,247,249,259,260,262,270,272,273,281,283,284,290,294,304,306,307,308,309,312,314,327,333,334,335,337,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,358,359,360,361,362,363,364,367,368,369,370,371,372,373,374,375,376,377,378,381,384,385,386,387,389,394,395,397,398,399,400,401,402,403,405,406,407,408,409,410,411,412,414,415,416,423,425,432,433,435,436,443],explictli:[16,436],exploit:[9,15,17,253],explor:[118,143],expon:[3,261,263,355,360,363,377,383,395],exponenti:[87,390,406,416,437,448],expos:11,exposit:[178,353,354],express:[6,120,130,144,173,174,192,226,251,261,290,296,303,339,355,357,371,380,396,405,448],expressiont:339,extend:[],extens:[3,6,9,17,44,45,46,53,55,63,82,83,84,87,88,91,94,97,98,107,109,117,119,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,172,175,176,179,186,187,193,196,200,203,204,205,207,208,209,211,213,215,227,229,233,241,251,252,268,269,270,272,274,275,277,281,282,283,284,285,287,288,290,292,295,299,300,360,380,393,394,396,440,441],extent:[1,3,41,45,57,71,142,146,167,177,184,188,211,297,300,318,321,335,407,420,423,426],exterior:[3,6,299],extern:[],extra:[3,6,8,12,16,17,40,41,46,61,71,102,109,110,112,118,121,122,123,125,127,130,131,132,133,134,136,137,143,144,145,146,150,169,183,188,190,229,258,259,260,270,278,326,327,330,331,352,361,364,367,380,384,420,421,423,426,435,443,448],extract:[3,6,11,13,36,63,87,107,115,117,119,173,174,263,328,349,358,380,396,421,428,440],extract_atom:11,extract_comput:[11,421],extract_fix:11,extract_glob:11,extract_vari:11,extramak:[12,15],extrapol:1,extrem:[1,3,6,17,58,168,192,194,229,288,357,409,443],extrema:377,extrins:178,f77:[5,7,12],f90:[5,7,12],f_1:6,f_5:[140,292],f_a:[408,409,410],f_ave:117,f_c:409,f_f:410,f_fix_id:260,f_harm:288,f_i:390,f_id:[6,71,117,119,167,172,180,181,182,183,184,185,186,224,280,292,441,448],f_ij:390,f_indent:186,f_int:287,f_jj:91,f_k:390,f_langevin:290,f_max:[260,265],f_msst:227,f_r:[214,408,409,410],f_sigma:339,f_solid:288,f_ss:6,f_temp:214,face:[3,6,57,59,71,132,142,146,177,184,185,295,297,298,299,300,321,360,380,394,423,426],face_threshold:142,facet:142,facil:[0,12],facilit:[6,13],fact:[6,8,16,207,278,288,361,435],factor:[1,3,6,12,18,24,28,32,35,36,39,41,46,47,57,58,59,87,91,102,108,115,118,120,138,143,146,150,161,167,168,169,173,174,182,188,192,194,195,205,210,213,215,216,227,229,230,233,253,257,269,273,278,282,286,293,294,295,299,309,319,321,333,335,336,339,340,342,344,349,350,351,353,357,361,368,369,380,384,386,387,393,395,397,406,411,420,423,426,427,432,435,437,438,441,443,447,448],factori:[3,421],factoriz:318,fail:[3,11,12,59,148,192,195,318,326,328,351,393,421],fairli:[11,384,432,437],faken:73,falcon:210,fall:[3,6,169,183,256,421],fals:[86,301,303,448],fame:8,famili:420,familiar:[0,11],fan:390,far:[3,6,12,17,57,59,61,86,167,169,170,188,189,190,192,195,205,229,251,269,270,278,295,306,309,324,328,329,412,421,423,428,441],farago:213,farrel:[408,410],farther:167,fashion:[6,8,41,71,144,169,172,173,174,179,184,188,190,195,205,207,211,226,227,229,231,232,233,234,235,243,246,247,248,249,259,260,262,270,274,277,280,288,290,294,295,296,298,300,328,364,378,426,435,448,451],fasolino:366,fast:[6,7,9,12,13,17,39,167,238,260,291,318,319,341,378,379,405,407,425,430,432,441,449,452],faster:[1,6,9,10,11,12,14,15,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,43,45,46,47,48,49,51,53,54,56,61,63,105,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,167,169,172,175,187,188,201,204,208,212,213,229,231,232,233,234,235,236,244,246,247,249,257,261,262,270,272,273,278,281,283,285,287,290,294,304,306,307,308,309,312,314,318,319,330,331,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,405,406,407,408,409,410,412,414,415,416,418,432,436,443],fastest:[6,14,17,132,184,290,291,333,420],fatal:[3,440],fault:[70,393],faulti:12,fava:360,favor:191,favorit:7,fbmc:285,fcc:[],fcm:[243,448],fdirect:198,fdotr:365,fdti:87,fe2:143,fe3:143,fe_md_boundari:178,featu:8,featur:[],fecr:355,feedback:[7,210],feel:[7,210,211,219,251,299,301,328,384],felling:382,felt:299,femtosecond:447,fene:[],fennel:[349,369],fep:[],ferguson:[6,150,435],fermi:[1,12,15,130,333,410],fermion:[9,357],ferrand:[9,13],few:[1,3,4,5,6,7,10,11,12,13,14,17,18,39,170,180,181,182,183,184,185,186,214,229,256,259,261,273,292,318,326,327,328,335,420,423,428,432,434,448,450],fewer:[1,3,11,15,16,61,219,432],fewest:3,fextern:203,feynman:253,fff:421,ffield:[348,358,392,393],ffmpeg:[3,12,168],ffplai:168,fft:[1,3,7,12,14,15,88,109,110,121,252,318,319,432],fft_inc:[12,319],fft_lib:12,fft_path:12,fftbench:318,fftw2:12,fftw3:12,fftw:[11,12],fhg:[7,9],fictiti:[6,175,176,200,203,207,253,269,349,369,373,404],field1:[424,428],field2:424,field:[],fifth:[275,386],figur:[1,3,8,11,12,260,420,421],fij:352,file0:251,file1:[11,13,251,289,303,327,428,430,434],file2:[11,13,289,303,327,428,430,434],file:[],filenam:[3,12,13,38,41,56,164,167,168,169,170,178,181,182,183,184,185,186,188,193,251,255,258,261,262,263,266,267,270,271,289,290,315,316,317,328,334,335,339,349,355,356,358,366,380,381,382,386,390,391,392,393,396,406,407,408,409,410,419,420,421,424,425,430,434,441,448,450,451,452],filennam:430,filep:[3,167,169,425,430,452],filepo:267,fill:[7,144,168,256,290,321,329,339,393,426],filter:[169,178],final_integr:8,final_integrate_respa:8,finchham:[6,126,351],find:[0,3,4,6,7,8,11,12,13,14,16,38,39,56,61,71,73,87,117,147,164,170,179,191,192,202,205,228,251,257,265,269,324,326,328,329,349,364,369,373,380,405,407,443,448],find_custom:8,fine:[16,17,148,175,200,288,329,333,448],finer:[120,144,448],finest:318,finger:[144,166,226,426],finish:[6,11,41,188,303,315,317,318,330,332,333,412,428,448,449],finit:[],finni:[7,355,405],finvers:198,fiorin:[9,193],fire:[324,325,326,328,437],firebrick:169,first:[0,1,2,3,5,6,8,9,11,12,14,15,16,17,21,38,39,41,42,45,46,54,56,57,59,61,62,71,81,88,91,103,104,105,112,116,117,121,129,132,138,140,142,143,145,146,147,151,164,167,168,169,170,172,179,181,182,183,184,185,186,188,191,194,205,206,211,216,226,227,228,229,251,253,258,259,260,262,267,270,273,274,275,276,278,279,280,287,288,289,290,292,296,301,303,304,310,321,326,327,328,329,332,333,334,335,338,339,340,342,344,346,348,349,355,357,358,361,362,365,366,368,369,373,378,379,380,382,384,386,390,392,393,396,404,406,407,408,409,410,418,419,420,421,423,424,425,428,430,432,435,436,437,440,441,443,448,449,450,452],fischer:[6,9,19,20,150,344,435],fit:[3,6,9,12,38,56,164,269,278,335,339,366,380,384,400,407,409,431,448],five:[73,130,260,327,339,381,423,437],fix:[],fix_adapt:[138,174,377],fix_atom_swap:[],fix_bal:62,fix_deposit:[3,179,256],fix_evapor:179,fix_flux:178,fix_gcmc:[179,327],fix_gl:207,fix_gld:207,fix_grav:256,fix_id:[3,192,227,229,231,232,233,234,235,257,260],fix_modifi:[],fix_mov:[166,296],fix_nh:8,fix_npt:207,fix_nvt:[179,205],fix_poem:[3,6],fix_pour:[3,195],fix_qbmsst:9,fix_qeq:[3,348],fix_rattl:273,fix_reax_bond:392,fix_rigid:[219,338],fix_saed_vtk:271,fix_setforc:8,fix_shak:273,fix_srd:3,fix_styl:233,fix_temp_rescal:284,fixedpoint:[192,229],fixextern:203,fixid:178,fji:352,flag1:[197,331],flag2:[197,331],flag:[3,8,11,12,14,15,16,17,18,40,66,74,75,81,86,89,90,93,103,104,106,118,139,143,147,167,168,169,170,186,191,193,197,210,213,217,219,225,226,252,259,270,275,277,278,285,289,298,301,316,319,327,331,332,333,335,363,368,380,404,418,420,421,423,424,425,427,428,429,433,448],flag_buck:343,flag_coul:[343,352,373],flag_lj:[352,373],flagfld:[341,378,379],flaghi:[3,341,378,379],flaglog:[341,378,379],flagn:197,flagvf:[341,378,379],flat:[6,290,295,296,300],flavor:[2,7,12,384],fld:[9,295,341,378,379],flen:336,flex_press:336,flexibl:[3,6,8,145,168,181,184,193,207,230,286,293,357,409,441],flip:[3,6,194,229,297,298],floor:448,flop:12,floralwhit:169,flow:[],fluctuat:[6,64,87,192,205,206,213,216,229,233,251,252,288,290,312],fluid:[],fluid_veloc:220,flush:[3,169,440],flux:[],flv:168,fly:[7,9,12,41,168,172,178,195,198,270,273,291,339,441,443],fmackai:9,fmag:196,fmass:253,fmax:[326,441],fmomentum:198,fmsec:[2,169,213,214,226,229,257,270,281,282,432,442,447,449],fname:317,fno:12,fnorm:[326,441],fnpt:198,fnvt:198,foce:364,fock:336,focu:273,fogarti:[9,263,393],foil:[120,251,396],fold:[276,432],folk:7,follow:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,35,36,38,41,42,43,45,46,47,48,49,51,53,54,56,59,63,64,70,71,73,91,96,97,113,116,117,119,120,121,123,124,130,132,137,140,142,144,145,150,153,154,155,156,158,159,161,162,164,167,168,169,172,178,179,180,181,182,183,184,185,186,188,193,194,195,198,199,203,205,206,207,210,212,213,214,216,219,227,229,233,234,235,246,247,249,252,253,255,258,259,260,261,263,265,267,269,270,271,273,280,281,282,283,286,287,288,289,290,292,293,301,302,306,307,308,309,312,314,316,321,323,326,327,328,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,418,420,421,423,424,425,426,428,430,431,432,435,437,438,439,443,448,449,451],foo:[4,8,11,12,167,168,203,421,434,448],foot:6,footprint:[12,333],fopenmp:[12,16,18],forc:[],force_uvm:17,forceatom:219,forcefield:[269,363],forcegroup:216,forcezero:324,ford:352,forestgreen:169,forev:71,forget:[214,443],forgiv:229,form:[2,3,6,8,12,16,19,22,44,54,63,66,74,75,77,81,87,89,90,93,103,104,106,116,120,121,138,139,148,152,169,172,173,174,190,206,207,213,215,219,226,247,252,263,265,269,270,290,295,299,304,305,312,323,325,327,328,335,336,339,346,355,357,359,363,364,368,380,382,386,387,390,392,393,394,396,397,405,407,408,409,410,415,417,420,421,423,428,433,440,443,448],formal:[6,78,80,91,206,207,213,229,253,278,286],format:[2,3,6,7,8,9,12,13,22,38,41,44,56,68,77,152,164,167,168,169,170,181,183,184,185,186,188,190,252,255,259,261,263,266,270,271,289,290,301,302,305,323,327,328,334,335,339,346,355,358,368,380,382,384,391,392,393,395,396,407,413,420,421,423,424,425,428,439,440,441,448,450],former:[6,12,16,39,41,169,188,290,294,339,341,429,435,448],formerli:[7,13],formul:[1,64,121,175,200,213,229,247,261,263,269,273,289,318,335,339,355,357,360,380,389],formula:[2,3,6,7,13,21,22,37,44,54,55,70,73,87,89,90,91,94,96,97,106,112,118,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,143,144,149,151,152,163,167,173,174,175,176,181,182,183,186,187,194,200,208,209,211,213,214,226,251,252,258,267,272,276,278,281,282,283,292,295,298,300,301,303,304,305,307,313,321,327,335,336,338,339,344,345,346,347,352,353,355,356,360,361,362,363,365,368,369,371,372,373,375,376,378,379,380,383,384,385,394,395,397,405,406,408,409,410,414,415,416,419,423,426,433,440,441,447,448,449],forth:[1,6,11,12,13,14,15,332,421,426,430],fortran:[3,6,9,11,12,13,203,355,364,380,392,393],fortun:8,forward:[3,8,87,317,328,333],foster:[339,389,390],foul:147,found:[3,6,9,12,73,138,167,191,193,205,210,216,252,285,291,303,317,329,346,349,352,418,424,425,440],four:[6,11,54,81,103,104,120,140,227,290,312,327,328,418],fourier:[],fourth:[6,105,269,275,285,344,386],fox:[6,118,150,403,435],fphi:[38,56,407],fpic:12,fplo:[38,56,407],fprime:407,fqdn:212,fqq:352,frac:[198,214,411,443],fraction:[1,3,6,8,12,16,39,41,80,109,121,147,166,168,169,179,189,190,191,192,227,256,260,267,268,278,283,284,321,328,333,339,341,361,378,379,428,433],fragment:[42,210,267],frame:[83,120,169,178,227,260,297,360],framer:[168,169],framework:[5,207,334,396],franc:9,fraunhof:9,free:[5,6,7,9,13,29,60,63,70,87,138,174,251,278,287,288,289,290,325,328,336,357,377,390,415,420],freedom:[3,6,8,94,96,97,99,101,102,112,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,181,191,198,205,207,213,214,219,229,230,233,234,235,246,247,249,253,255,270,273,281,282,283,288,326,352,441,443,449],freeli:[0,6,7,12,123,137,142,168],freez:[],frenkel:[205,288],freq:177,frequenc:[3,6,16,39,169,241,252,253,260,265,316,353,357,393,418,432,437,448,451],frequent:[3,64,67,70,72,73,77,88,120,169,189,190,202,286,293,384,430],fri:[227,260],friction:[4,5,6,10,42,172,207,213,260,265,270,290,294,296,361],from:[],front:[227,260,297],frontend:[168,264],frozen:[6,112,148,204,206,214,329,359],fs2:[6,91],fscale:210,fstr:448,fstring:421,ftol:[326,328,418,437],fuchsia:169,fuction:349,fudg:273,fugac:205,fugacity_coeff:205,fulfil:6,full:[1,2,6,9,12,17,38,39,40,91,168,182,193,216,251,318,319,333,339,355,357,358,360,411,423,425,430,431,435,437,443,451],full_energi:[3,205],fuller:326,fulli:[3,6,9,78,207,212,251,326,328,349,390,391,450],fulton:355,fumi:340,func:[421,448],funcfl:355,functino:6,functionaliri:193,fund:[0,7],fundament:[278,447],further:[3,6,8,12,13,61,63,71,86,105,107,116,168,169,172,181,183,184,185,186,189,195,199,216,220,253,261,271,278,290,292,301,319,324,326,327,328,329,334,338,348,404,418,437,438,448],furthermor:[27,153,357],furthest:61,futher:3,futur:[],g_ewald:3,g_ewald_6:3,g_ewald_disp:3,g_jik:390,g_p:290,ga3:143,gaa:339,gahler:325,gai:[3,360,405],gain:285,gainsboro:169,galindo:383,game:210,gamma0:29,gamma:[3,6,29,213,216,220,252,260,261,263,265,294,353,356,360,380,383,399,402,403,406,408,410,441],gamma_:[3,290,296],gamma_ijk:408,gamma_n:[296,361],gamma_p:[3,290],gamma_t:[296,361],gammaa:383,gammafactor:216,gammar:383,gan:[390,406,408,410],gan_sw:390,gan_tersoff:390,ganzenmuel:[7,9],ganzenmul:9,gao:[6,20,150,344,435],gap:[164,378,379,391,396],gap_2014_5_8_60_17_10_38_466:391,gap_exampl:391,gaseou:7,gass:205,gather:[11,431],gather_atom:11,gather_scatter_loop_unrol:12,gathert_atom:11,gauch:156,gauss:[],gaussian:[6,40,63,91,103,105,206,207,213,253,269,278,282,300,318,353,354,357,359,391,405,418,448,449],gave:[3,384],gaybern:[],gcc:17,gcmc:[],gcore:198,gd3:143,gdot:379,gdrude:198,ge4:143,gec:[408,410],gen:[229,230],gener:[],genom:7,gentler:[295,298,300],gentli:356,geom:[6,318,354,418,449],geometr:[3,6,7,8,42,57,59,71,134,135,144,146,167,169,175,184,185,187,188,195,200,209,229,234,235,246,247,249,270,272,281,282,283,299,301,318,321,328,338,341,345,347,349,352,357,360,362,367,369,370,371,372,373,374,375,376,377,378,379,383,384,394,397,411,412,414,415,423,425,426,433,441,448],geometri:[3,6,7,13,25,41,71,132,144,184,188,189,190,192,195,211,321,384,423,426],georg:[7,9],georgia:13,gerber:377,germani:[9,14],germann:[233,371,418,437],germano:360,gerolf:13,get:[],get_natom:[11,421],getenv:448,gettimeofdai:12,gewald:[6,318],gezelt:[349,369],gf100:14,gf104:14,gf200:14,gflop:12,gflp:12,ghost:[3,6,7,12,16,58,61,62,73,142,147,192,194,214,229,259,270,271,318,329,333,353,354,357,361,368,428,433,443],ghostwhit:169,ghz:10,giacomo:9,gif:[4,168],gifsicl:168,gigabit:18,gillan:396,gingold:[399,400,402],gio:2,git:[7,12],github:[13,17,193,207,212,391],give:[0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,29,54,71,113,124,127,131,144,167,169,175,177,181,182,183,186,192,194,207,229,247,251,252,257,265,267,270,292,318,319,326,329,330,333,335,339,354,357,363,364,380,384,394,408,409,410,418,420,421,423,433,437,443,449],given:[3,5,6,7,9,10,11,12,16,17,22,27,37,44,55,63,64,67,71,113,120,121,138,142,146,152,153,163,164,167,169,172,179,181,184,189,190,192,194,195,199,205,206,207,208,210,216,223,226,228,229,233,250,251,252,253,260,261,267,269,273,275,276,278,280,285,290,291,294,295,296,299,305,313,318,319,333,334,335,339,340,342,343,345,346,347,348,349,350,353,354,355,357,358,360,363,369,370,371,373,380,381,382,383,384,386,387,390,394,395,396,404,405,416,418,421,423,425,426,433,437,447,451,452],gjf:213,gjwagn:7,gko:2,gld:[],gle4md:[207,212],gle:[],glitch:3,glob:434,global:[],glosli:319,glotzer:[270,353],glue:11,gmail:[7,9,13],gmake:[12,17],gmask:[3,448],gnu:[0,7,12,17,18],gnuplot:[11,13],goal:[5,12,39],goddard:[6,9,25,261,262,263,314,357,363,392,393,435],goe:[12,54,120,144,166,226,326,329,352,356,362,371,374,397,416,426,430],gold:[70,169],goldenrod:169,goldman:260,gone:3,good:[1,3,6,12,17,41,73,118,142,143,188,213,227,229,261,267,273,285,318,328,329,334,347,354,355,384,407,418,432,437,441],googl:210,gordan:120,gordon:6,gould:[6,150,435],gov:[0,7,9,13,334,355,358,447],govern:216,gpl:[0,7,8,12],gpu1:333,gpu:[],gpuid:333,gpun:333,grab:[3,6],gracefulli:3,grad:[6,175,200,228],gradient:[6,7,8,12,13,192,200,208,209,228,247,262,286,290,324,325,328,379,393,407],graduat:255,graft:191,grai:169,grain:[5,6,7,9,29,36,40,54,67,144,147,156,172,251,255,270,278,362,395,435],gram:[181,184,185,355,447],grama:[9,263,393],gran:[],grand:[3,172,179,205],granflow:5,granular:[],graph:11,graphen:427,graphic:11,grasp:5,gravit:208,graviti:[],grdient:178,great:[3,13,260],greater:[1,3,10,61,86,142,169,192,206,229,251,283,297,333,338,340,342,343,384,418,420,423,426,432,437,448,449],greathous:13,greatli:[118,437],green:[2,6,91,168,169,252,253,286,339],green_kubo:6,greenyellow:169,greffet:265,greg:[7,9],grest:[45,46,191,278,319,343,361,373,435],grew:71,grid:[3,12,41,62,118,132,143,146,188,216,265,278,290,291,318,319,417,420,423,425,427,432],grigera:6,grime:40,grmask:[3,448],gromac:[],gronbech:[213,318],groot:353,ground:[6,357],group1:[126,147,329],group2:[88,126,145,147,329],group2ndx:[],group:[],group_id:11,groupbig:278,groupid1:[219,270],groupid2:[219,270],groupid:423,groupnam:329,grouptyp:205,grow:[3,8,177,194,195,211,213,229,251,292,361,423,435],grow_arrai:8,grow_reset:8,growth:[6,285],gsmooth_factor:380,gstyle:[3,420],gtl:7,gtx285:14,gtx450:14,gtx460:14,gtx470:14,gtx560:14,gtx580:14,guarante:[65,69,79,92,108,115,144,147,167,199,261,317,321,433],guess:[3,167,257,424],gui:[7,11],guid:[1,17,40,78,80,99,100,101,172,222,223,291,389,398,399,400,401,402,403,433],guidelin:[1,8,14,15,16,17,18,19,318,407],guidlin:17,gullet:380,gumbsch:325,gunsteren:[257,281,377],gunzenmul:7,gunzip:12,guo:[6,20,150,156,344,435],gwald:3,gyrat:[],gzip:[3,12,167,168,169,289,328,423,424,428],h12:360,h2o:[40,327],haak:[257,281],had:[3,6,11,13,59,63,167,169,170,183,186,191,192,206,207,209,213,214,215,227,229,231,232,233,234,235,246,247,249,256,257,278,281,282,283,290,353,354,361,404,425,429,432,438,441],hafskjold:6,half:[1,3,6,8,16,17,39,41,58,59,146,168,180,188,194,213,229,290,295,299,329,333,336,339,347,357,423,425,426,433,443],halfwai:[41,168,169],halsei:361,halt:[41,169,188,209,303,440],halv:168,ham:[38,56],hamak:[295,299,347,394],hamilton:70,hamiltonian:[207,229,230,282,357,432],hammond:[318,319],han:355,hand:[3,6,19,54,144,162,166,168,216,226,321,349,357,423,426,433,436],handl:[3,9,16,168,193,263,333,336,357,378,393,421,437],hang:[3,420,421],happen:[3,6,8,12,15,18,61,116,148,169,179,182,329,333,421,424,431],happi:8,haptic:210,hara:409,hard:[1,219,263,269,270,354,426],harden:397,harder:[295,299,443],hardi:[178,214,318,319,443],hardwar:[1,12,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,318,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,436],hardwir:[3,17,296],hardy2:319,harm:336,harmon:[],harmonic_fix_wal:379,harpertown:18,harrison:335,hart:278,hartre:[336,355,357,447],hasan:9,hash:[39,423],hassl:269,hat:[6,10,228],have:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,45,46,47,48,49,51,53,54,56,57,59,63,64,65,66,67,69,70,71,72,73,75,77,81,86,90,91,93,103,104,105,106,109,112,113,114,115,116,120,121,122,123,124,125,127,131,133,136,137,139,140,141,142,144,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,169,170,175,177,179,180,181,182,184,185,186,187,188,189,190,191,192,194,195,200,201,202,204,205,206,207,208,209,210,211,213,214,215,216,219,224,226,227,229,231,232,233,234,235,236,241,244,246,247,248,249,251,253,255,256,257,259,260,261,262,265,268,270,272,273,278,279,281,282,283,284,285,289,290,291,292,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,314,318,319,321,324,325,326,327,328,329,330,333,334,335,336,337,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,392,393,394,395,397,406,407,408,409,410,412,414,415,416,417,418,420,421,423,424,425,426,427,428,429,430,431,432,433,435,437,438,440,441,443,447,448,449,450,451,452],haven:421,hayoun:265,hayr:213,hbcut:392,hbnewflag:392,hbond:[],hbond_cutoff:393,hcp:[64,67,73,321,380],he1:143,head:[6,21,151,304,359,363,392,393,438],header:[3,6,7,8,12,145,167,168,169,170,181,182,183,184,185,186,227,260,267,271,290,327,334,339,355,420,423,433,440],heal:432,heat:[],heatconduct:[],heavi:278,heavili:[41,188],heavisid:290,hecht:278,heenen:9,height:[168,195,256,328,359],heisenberg:9,held:[6,71,278,328,361],helic:156,helium:337,helix:[],hello:421,help:[3,8,12,14,15,16,17,18,19,167,192,194,227,316,339,408,410,450],henc:[1,3,13,20,21,26,32,35,36,70,71,108,124,134,151,181,229,263,278,294,295,299,301,304,306,309,312,319,349,359,377,390,425],henderson:53,hendrik:9,henin:[9,193],henkelman1:[228,328],henkelman2:[228,328],henkelman:[228,325,328],here:[1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,22,37,41,44,55,63,68,69,70,71,118,124,142,143,152,155,163,167,168,169,172,181,188,191,194,205,206,214,216,251,260,263,265,271,290,295,298,300,301,303,305,313,317,326,328,332,333,335,336,339,346,358,360,363,364,368,390,394,405,407,416,421,428,443],herist:291,herrmann:278,hertizian:296,hertz:[],hertzian:[6,296,361,405],hertzsch:361,hess:318,hessian:[5,325],heterogen:105,heurist:[291,424],hex:[3,17,144,321],hexagon:[67,380],hey:[110,121],hf4:143,hfo:348,hftn:[325,326,328],hg1:143,hg2:143,hgrid:278,hibb:253,hidden:[17,421],hienergi:301,hierarch:[7,432],hierarchi:[319,343,344,369,370,373,383,432],higdon:[9,378,379],high:[1,3,6,7,9,19,41,164,168,188,192,199,214,227,286,290,293,319,325,326,333,339,357,360,394,407,416,420,432,437,443],higher:[1,14,120,147,169,189,190,195,211,256,265,285,298,300,326,357,365,448],highest:[195,303,327,328,448],highli:[3,6,7,9,144,168,194,213,229,241,260,270,324,326,357,418,437],highlight:[6,7,10,13],hight:359,hilger:[318,319],hill:253,hill_height:13,him:9,hint:12,histo:[],histogram:[1,6,12,63,116,142,172,182,183,186],histor:358,histori:[],hit:[3,278,297],hmaktulga:[7,9],ho3:143,hoc:312,hocknei:[318,319],hoh:[6,349,369,373],hold:[6,33,59,71,157,181,194,221,254,269,270,275,326,328,361,377,415,434],holdem:269,holder2:319,holder:[318,319],hole:275,holian:[233,371],holm:[251,319],holonom:289,home:[11,12,170],homebrew:12,homepag:[168,210],homogen:[247,384],hone:253,honeydew:169,honor:170,hook:[],hookean:361,hoomd:170,hoover:[6,7,8,134,172,198,213,214,229,230,231,232,233,234,235,246,247,248,249,253,257,265,270,281,282,283,288,353,443],hop:[191,328,339],hope:[5,13,17,41,42,188,431],hopefulli:[8,326],horizon:389,horn:6,host:[3,12,16,17,193,333],hot:[6,209,230],hotpink:169,hottest:286,hour:12,hove:380,how:[],howev:[1,2,3,6,7,11,12,15,16,17,36,39,41,71,88,91,104,118,120,143,164,167,168,169,182,186,188,191,192,195,198,205,206,207,212,213,214,215,216,219,229,251,253,256,259,260,265,270,271,278,279,281,282,285,286,290,291,292,293,294,319,321,323,324,328,333,345,347,355,356,361,364,380,388,390,406,407,410,418,420,421,424,431,437,440,441,443,448,449],howto:[6,63,71,122,123,125,127,130,131,132,133,134,136,137,172,213,214,229,257,281,282,283,349,363,369,373,449],hoyt:178,hpc:[1,15],hsw:17,htm:355,html:[0,4,8,11,12,15,212,359,379,432],htmldoc:0,htst:437,http:[0,6,7,11,13,14,15,193,207,210,212,334,355,378,391,392,393],htype:[349,369,373,377],hubbard:350,huge:[12,146,241,278,423,428,440],huggin:[7,340,342,405],hugh:178,hugoniostat:[4,172,233],hugoniot:[227,233,260],hull:142,hummer:318,hundr:[7,14],hura:6,hwloc:[12,17],hybrid:[],hydrat:359,hydrocarbon:[335,348,357],hydrodyanm:40,hydrodynam:[7,9,40,99,101,216,218,219,220,341,378,379,405,433],hydrogen:[3,6,7,202,265,335,339,349,357,363,369,373,377,392,393,405,423,432,443],hydrostat:[3,192,229,233,257,270],hynninen:[350,359],hyoungki:382,hyper:253,hyperbol:350,hyperspher:120,hyperthread:[16,17],i_0:290,i_1:390,i_csid:6,i_flag1:259,i_mpi_pin_domain:16,i_myflag1:259,i_myflag2:259,i_n:390,i_nam:[113,167,259,280,433],ialloi:380,iatom1:115,iatom2:115,iatom3:115,iatom4:115,ibar:380,ibead:253,ibm:[167,318],icc:[10,12,16],icm:[9,210],ico:64,icosohedr:73,ictp:13,id1:[270,328,368,423,426],id2:[270,274,275,328,368,423,426],id_press:[192,227,229,231,232,233,234,235,257],id_temp:[191,192,227,229,231,232,233,234,235,246,247,249,257,281,282,283],idea:[1,3,6,11,12,41,121,168,169,188,211,251,274,278,286,319,384,431,443],ideal:[6,9,40,73,116,198,205,251,321,378,399,443],idealga:[],ident:[1,3,9,12,39,40,71,120,167,169,183,192,193,206,207,213,214,226,229,251,253,257,265,267,270,319,327,328,333,340,342,349,351,355,371,377,386,392,393,396,416,418,421,424,437,447,448,449,451],identi:333,identif:67,identifi:[1,3,12,38,40,56,70,142,144,164,267,278,301,363,368,380,407,418,420,423,426,437,438,440],idl:[18,437],idn:[270,328],idr:448,ielement:380,ieni:13,ifdef:[8,12],iff:214,iffp:421,ignor:[3,6,11,16,41,71,83,87,98,107,119,148,167,168,169,173,174,182,183,184,186,188,192,193,194,195,205,208,212,213,226,229,233,238,243,257,259,269,270,271,278,281,282,283,289,290,292,295,299,300,301,310,320,323,327,328,333,334,345,346,347,355,356,358,360,367,368,380,386,390,394,406,407,408,409,410,412,418,420,423,424,428,433,435,437,440,448],ihl:278,iii:[6,9,25,261,263,314,363,435],ijk:[308,312,314,339,390,420],ijl:312,ikeshoji:6,ill:[124,134,181,261],illeg:3,illinoi:[210,318,319,378],illog:421,illustr:[1,6,8,11,12,17,251,253,328,364,421],ilmenau:[7,9,14],ilya:[7,9],imag:[],image2pip:168,imageint:3,imagemagick:[4,168],imagin:[275,289,339,356,364,365,381,382,386,390,406,408,409,410,435],imaginari:[6,205,253,423],imbal:[1,41,188],imbalanc:[41,188],imbu:278,imd:[],img:168,immedi:[0,2,3,8,12,144,189,190,195,273,279,280,297,420,421,423,425,437,448,451],immens:3,immers:[216,270],impact:[1,4,6,8,199,285],impart:[3,6,208,278,300],impei:[6,369],implement:[1,3,6,8,9,12,17,18,27,78,87,118,126,132,143,144,152,153,163,181,193,197,207,210,213,216,218,219,220,227,247,250,252,253,259,260,261,263,264,265,273,274,278,285,290,294,312,317,318,319,326,328,333,334,336,339,348,349,351,353,355,356,357,364,369,373,377,380,389,392,393,394,408,410,420,421,432,437,443,448,450],impli:[3,6,40,59,87,121,168,173,174,175,194,200,213,269,281,283,284,318,321,346,421],implicit:[],implicitli:8,implict:350,imporop:327,importannt:226,important:288,important_not:59,impos:[2,6,71,112,133,166,172,175,176,187,200,201,203,208,211,220,221,228,241,251,254,272,275,277,278,285,286,287,288,293,294,295,298,299,300,326,328,330,417,431],imposs:1,improp:[],improper_coeff:[],improper_styl:[],impropercoeff:3,impropertyp:190,imprort:97,improt:[173,174],improv:[0,1,9,39,41,169,188,229,252,333,363,369,384,393,406,409],in3:143,inaccur:[1,3,6,147,227,318],inaccuraci:299,inact:363,inappropri:144,incid:[118,143,195],includ:[],includig:[303,317],inclus:[],incom:210,incompat:[3,11,365],incomplet:[3,11,423],incompress:[230,357],inconsist:[3,148,191,424],inconveni:321,incorpor:[260,339,350],incorrect:[3,127,213,380],incorrectli:[3,321,361,448],increas:[1,3,6,10,18,38,56,57,59,109,118,121,164,167,168,169,189,190,191,194,213,257,268,269,270,286,289,293,318,319,328,333,357,360,393,407,409,421,432,437,448],increasingli:357,increment:[3,11,175,176,187,188,195,200,202,229,274,301,317,332,367,418,421,435,437,448],incur:[14,17,181,184,185,202,290,420],inde:127,indefatig:7,indefinit:287,indent:[],independ:[4,6,11,12,16,17,41,59,63,91,117,119,130,144,166,172,180,181,182,183,184,185,186,188,191,192,193,194,195,206,208,213,214,216,219,229,252,257,261,265,270,271,274,277,288,290,321,361,418,421,440,449],indetermin:[167,169],index:[0,3,6,8,11,12,38,39,40,56,68,69,117,119,164,167,169,180,182,210,212,253,271,290,301,302,303,323,332,384,392,393,407,413,423,438,448],indianr:169,indigo:169,indirectli:[6,448],indistinguish:213,indium:396,individu:[],induc:[],industri:7,ineffici:[3,6,40,64,67,70,72,73,77,120,132,168,194,229,252,318,330],inerti:379,inertia:[],inexpens:[207,432],inf:[2,3,12,293,426],infer:[3,94,96,97,138,175,176,188,189,190,200,210,255,278,286,293,321,346,358,423,435,441],infil:[3,13,270,420],infin:[3,326,428,441],infininti:168,infinit:[3,195,204,211,213,216,252,278,290,296,297,319,321,357,427,447],infinitesim:6,inflect:[350,371],influenc:[3,9,41,80,126,226,256,318,319,384,408,409,410],inform:[0,1,2,3,6,7,8,9,11,12,13,15,17,39,41,42,59,61,62,63,68,88,115,117,118,143,144,150,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,228,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,289,292,293,294,295,297,298,299,300,302,316,318,319,322,325,326,327,328,329,331,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,420,421,423,424,425,427,428,430,435,437,438,440,448,450,451,452],infrequ:[6,353,418,437],infti:[350,378,379],ingtegr:339,inher:[318,326,384],inherit:[6,411],inhomogen:[18,290,384],inidividu:326,init:[3,8,12,268],init_fil:290,init_list:8,init_on:8,init_styl:8,initi:[2,3,4,6,7,8,11,12,13,38,39,40,41,56,57,59,62,71,80,81,86,87,103,104,140,145,146,164,166,167,168,169,170,173,174,177,178,182,188,190,191,192,194,201,205,206,210,211,212,213,214,216,221,225,226,227,228,229,233,241,252,253,254,259,260,265,268,269,270,272,277,278,280,285,287,288,289,290,291,292,295,296,297,298,300,301,303,318,322,325,326,328,335,336,352,353,354,391,392,393,407,418,420,421,423,425,426,428,430,431,433,437,438,441,443,448,449,450,452],initial_integr:8,initial_integrate_respa:8,initialis:391,initialt:290,inlclud:11,inlcud:448,inlin:421,inner2:[344,362],inner:[3,8,16,167,211,303,317,324,325,326,328,332,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,413,414,415,416,432,437],inner_distance_cutoff:363,innergroup:219,innermost:[38,56,331,407,432],innernod:219,innner:375,inordin:291,inorgan:6,inp:[193,303,396],input1:[65,68,69,79,92,108,113,114,115,117,119,280],input2:[65,68,69,79,92,108,113,114,115,117,119,280],input:[],input_doubl:3,insensit:12,insert:[3,5,7,8,12,59,144,172,195,205,211,256,318,396,404,421,427,443],insid:[2,3,6,8,11,71,144,167,169,180,184,185,195,196,202,205,211,216,219,256,270,278,295,297,298,299,300,301,316,321,371,421,422,423,425,426,433,437,448],insight:[6,13],instabl:[216,352],instal:[],instanc:[6,11,193,207,297,359,364,384,390,421,443],instantan:[6,63,191,192,206,207,229,233,252,257,260,265,267,270,285,429,441],instanti:[6,11,12,178,364,420],instead:[1,3,6,8,9,11,12,13,17,18,40,41,59,63,70,71,90,117,123,126,148,164,167,174,181,183,184,185,186,188,192,193,213,216,219,220,252,258,268,270,280,298,316,318,319,322,329,333,342,343,355,368,370,377,380,418,426,430,437,439,443,448],institut:[9,210,255],instruct:[3,6,8,11,12,13,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,142,150,151,153,154,155,156,158,159,161,162,164,165,168,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,432,443],insuffici:[3,6,12],insult:229,insur:[3,6,11,12,17,39,40,61,73,102,104,144,145,164,167,168,169,175,189,190,195,200,201,202,203,205,208,213,225,258,259,268,270,278,290,295,299,300,301,303,317,327,329,333,347,360,364,388,394,407,420,421,423,424,428,431,432,440,441,448,449],int_max:3,integ:[3,6,8,11,12,39,40,42,64,68,70,71,113,115,117,119,120,142,144,147,148,150,154,155,159,164,166,167,168,169,179,181,184,185,189,190,191,195,197,203,205,206,207,210,213,214,215,216,252,255,256,259,260,265,270,278,280,282,285,289,290,308,318,321,341,353,354,367,380,392,393,396,418,420,421,423,431,432,433,437,440,448,449],integr:[],intel:[],intel_cpu:[12,16],intel_phi:[12,16],intend:[3,8,12,13,36,206,391,423],intens:[1,3,6,9,63,66,74,75,86,89,90,91,93,103,104,105,106,112,114,116,117,118,119,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,143,172,181,182,183,184,185,186,188,189,190,191,199,202,209,219,227,229,233,267,270,271,278,286,290,292,293,440,441],intepol:448,inter:[14,18,42,61,62,124,147,148,167,191,213,215,228,262,270,318,328,339,433,443,448,450,452],interact:[1,3,6,7,8,9,10,11,12,14,15,16,17,22,29,33,37,39,42,44,50,54,55,57,61,63,65,69,77,79,87,88,92,107,108,110,112,115,116,120,121,123,137,138,142,145,146,147,148,149,150,152,156,157,163,167,172,173,174,189,190,191,204,205,210,211,213,215,219,241,251,253,255,261,263,269,270,278,279,285,290,294,295,296,299,300,305,306,307,309,313,318,319,326,327,328,329,330,331,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,393,394,395,396,397,404,405,406,408,409,410,411,412,413,414,415,416,418,421,423,425,427,428,432,433,435,440,441,443,450],interatom:[3,4,7,144,167,228,287,288,334,339,355,357,365,380,409,448],intercept:118,interchang:6,interconnect:18,interconvert:357,intereract:39,interesect:299,interest:[1,5,7,8,9,11,13,71,143,253,285,288,319,356,379,392,393,421,448],interf:333,interfac:[],interfer:[229,335],interg:[6,443],intergr:[432,436],interi:379,interior:[3,6,41,299,426],interlac:380,interleav:[6,144,431],intermedi:[6,12,59,168,228,251,312,328,421,422,431,435],intermix:418,intermolecular:335,intern:[0,2,3,5,6,9,11,16,20,21,24,28,32,35,36,39,40,42,63,87,99,101,118,121,124,126,143,151,164,168,169,172,173,174,178,190,194,198,210,222,223,227,229,233,252,270,274,304,306,309,312,316,326,327,398,399,407,421,423,425,428,437,440,441,447,448,449,450],internal_element_set:178,internal_quadratur:178,internet:212,interpenetr:380,interpentr:[399,400,402],interpol:[6,15,38,56,100,164,168,169,178,216,251,318,319,328,339,384,393,401,407,408],interpret:[2,6,11,168,183,361,397,418,421,437,448],interrupt:260,intersect:[3,6,118,169,299,301,426],intersert:299,interspers:326,interstiti:142,intertia:[3,93],interv:[3,6,91,182,213,260,265,266,401,418,437,448],intestieti:118,intial:[6,333,335],intiial:[41,428],intiti:[3,277],intra:270,intra_energi:205,intramolecular:[29,205],introduc:[6,9,168,229,260,265,270,312,318,334,349,357,369,373,377,406,437],introduct:[],intsal:16,intuit:321,inv:[118,143,271],invalid:[3,12,71,89,147,241,328,378,379,425],invari:120,invent:273,invers:[],invert:[6,148,252],invis:299,invoc:[142,191,333,421],invok:[1,3,6,7,8,11,12,13,14,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,43,45,46,47,48,49,51,53,54,56,59,63,66,71,74,75,81,87,88,89,90,93,103,104,106,109,110,111,112,117,122,131,138,139,142,144,145,147,148,150,151,153,154,155,156,158,159,161,162,164,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,197,199,200,201,202,203,204,205,206,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,261,262,263,264,265,266,267,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,304,306,307,308,309,312,314,317,318,319,320,321,326,328,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,381,384,385,386,387,389,394,395,396,397,406,407,408,409,410,412,413,414,415,416,417,420,421,422,424,426,428,431,432,434,435,437,440,441,443,448,449],invokd:3,involv:[3,6,7,8,12,63,108,115,116,117,124,148,172,189,205,216,255,258,263,278,318,325,326,328,338,354,360,406,408,410,419,420,426,428,432,437],ioff:[327,423],ion:[6,7,250,275,290,319,339,350,358,359,380,405,410,416,423,443],ionic:[6,9,340,342,350,357,358,387,443],ioniz:[9,348,357],iparam:[3,190],ipi:[],ipp:[],ir3:143,ir4:143,irregular:[6,41,58,188,192,194,229,270],irrelev:386,irrespect:[378,379],irrevers:198,isbn:415,isel:[318,319],isenthalp:[229,230,231,232],ismail:[318,319,343,373],isn:[3,8,11,12,209],iso:[3,192,198,214,229,230,231,232,233,234,235,257,265,270,443],isobar:[229,230,234,235],isodem:357,isol:[3,147,301],isomorph:253,isotherm:[205,229,230,234,235,257],isotrop:[6,213,257,318,319,341,360,378,379],isovolum:271,isralewitz:274,issu:[1,3,6,9,11,12,13,14,15,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,59,71,73,81,103,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,168,175,178,187,191,192,195,200,201,204,205,208,213,227,229,231,232,233,234,235,236,244,246,247,249,253,257,259,262,270,272,273,277,281,282,283,288,294,300,303,304,306,307,308,309,312,314,319,327,328,331,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,404,406,407,408,409,410,412,414,415,416,423,425,432,435,440,441,448,449],ital:[392,393],itali:13,item:[6,7,8,41,167,169,188],iter:[3,6,12,39,41,63,175,176,187,188,192,198,200,203,211,252,261,262,270,273,285,301,303,317,324,325,326,328,332,418,428,432,437,441,448],ith:[71,117,119,180,181,182,183,184,185,186,280,292,441,448],itself:[2,3,4,6,7,8,9,11,12,13,18,42,59,91,107,135,167,168,169,170,182,193,198,214,224,228,264,270,290,301,303,327,328,349,358,360,364,365,407,421,427,430,431,435,448,452],ityp:[3,115,116,144,177,190,263,413],itype1:116,itype2:116,itypen:116,ivector:8,ivori:169,ixcm:270,ixi:[42,93,270,327,448],ixx:[42,93,270,327,448],ixz:[42,93,270,327,448],iycm:270,iyi:[42,93,270,327,448],iyz:[42,93,270,327,448],izcm:270,izrailev:274,izumi:409,izz:[42,93,270,327,448],j0jt:91,j20:182,j_m:120,jac:[6,150,435],jackson:383,jacobi:3,jacobsen:325,jagreat:13,jame:[9,19],janssen:251,januari:380,jaramillo:[7,9,13,357],jarzynski:274,jatempl:9,jcc:9,jcp:295,jec:13,jeff:13,jello:229,jensen:[213,318],jeremi:[9,382],jerom:9,jewett:13,jiang:[214,443],jiao:[9,13],jiht:[7,9],jik:339,jim:7,jku:7,jmake:12,jmm:120,joannopoulo:227,job:[12,60,273,431],jochim:[229,230],john:[7,13],johnson:13,join:[6,426],joint:[3,255,363],jon:[9,70],jonathan:9,jone:[1,3,6,7,9,10,12,13,45,46,64,87,107,110,172,178,257,278,295,299,319,321,326,335,338,342,343,344,345,347,352,360,362,363,364,367,368,369,370,371,373,374,376,377,383,384,390,394,395,400,405,412,435,443],jonsson:[73,228,325,328],jorgensen:[6,161,349,369,373],joul:447,journal:[138,156,178,263,319,355,392,393,399,400,402],jparam:[3,190],jpeg:[3,12,168],jpeglib:12,jpg:[4,8,12,167,168,169,451],jpg_inc:12,jpg_lib:12,jpg_path:12,jpl:[7,9],jth:448,jtype1:116,jtype2:116,jtype:[3,116,190,413],jtypen:116,judg:437,judici:6,julien:9,jump:[],june:170,just:[3,6,8,9,11,12,13,17,19,22,29,42,44,59,61,91,107,110,116,121,123,137,152,167,181,184,185,194,198,202,219,226,257,259,270,285,290,301,303,305,327,328,333,335,338,346,364,390,412,421,425,427,428,430,431,443,448,451,452],justo:356,jusufi:[350,359],jut:299,jzimmer:9,k11:91,k22:91,k33:91,k_b:214,k_d:443,k_sigma:339,k_ub:20,kadiri:67,kamberaj:270,kappa:[6,91,286,349,369,414,415],kappa_:290,karplu:87,karttunen:216,kate:[],kayser:350,kbit:169,kboltz:278,kbp:169,kbt:265,kcal2j:91,kcal:[210,432,443,447],kde:13,ke_eta_dot:229,ke_etap_dot:229,ke_omega_dot:229,keblinski:349,kecom:124,keef:118,keep:[3,7,12,59,71,162,184,190,194,211,252,268,288,293,318,326,349,377,396,418,423,429,431,437,441,448],keflag:3,kei:[6,17,59,278,437],keir:13,kelchner:70,kelkar:293,kelvin:447,kemper:[262,348],kepler30:17,kepler32:17,kepler35:17,kepler37:17,kepler:[1,12,14,15,17,333],kept:[6,172,233,287,288,443],kernel:[7,13,17,100,178,206,207,398,399,400,401,402,403],keword:168,keyboard:12,keyword:[],keywrod:357,kforc:443,khaki:169,khersonskii:120,kick:[175,176,177,200,297],kilogram:447,kim:[],kimviri:[3,365],kind:[1,2,3,6,7,8,9,11,12,17,39,40,41,42,61,62,63,73,117,119,124,167,172,179,181,182,183,188,191,193,197,205,208,226,270,273,278,285,300,328,330,332,339,357,392,393,413,418,423,428,429,436,437,443,448],kinemat:[9,378,379],kinet:[3,6,8,9,63,82,83,84,85,87,91,94,95,96,97,98,112,121,122,123,124,125,126,127,129,130,131,132,133,134,136,137,172,179,181,192,198,209,213,225,227,229,230,231,232,233,234,235,257,260,278,286,293,294,326,357,418,437,441,443],kiss:12,kjl:312,klahn:289,klapp:318,klein:[6,9,178,193,229,230,248,270,369,395],kloss:7,kmax:[3,118,271,318],knc:17,knock:290,know:[3,11,12,41,63,107,116,172,198,212,214,241,278,326,356,365,411,421,424,427,432,443],knowledg:[4,8,168,365],known:[3,12,120,168,252,261,270,287,420,437,449],kohlmey:[7,9,13,18,318,319],kokko:[],kokkos_arch:17,kokkos_cuda:[12,17],kokkos_cuda_opt:17,kokkos_debug:17,kokkos_devic:17,kokkos_omp:[12,17],kokkos_pg:17,kokkos_phi:[12,17],kokkos_use_tpl:17,kolafa:319,kollman:[6,150,435],kondor:391,kone:[287,288],kong2011:252,kong:[9,13,252],konglt:9,koning00a:287,koning00b:287,koning96:[287,288],koning97:288,koning99:287,kooser:13,koskinen:325,kosztin:274,krau:13,kremer:[45,46,435],kress:[381,382],kspace:[],kspace_modifi:[],kspace_styl:[],kspce:12,kspring:228,kstart:269,kstop:269,kth:[206,253],kub:20,kubo:[6,91,286],kumagai:409,kumar:[9,378,379],kuronen:390,kurt:255,l12:380,l_box:357,l_skin:290,la3:143,lab:[5,7,12,111,389],label:[],laboratori:[0,227,260],lack:[3,227,357],lackmann:339,ladd:[247,288],lafitt:383,lag:290,lagrangian:[6,178,227,260,261,443],lagrangian_posit:[227,260],lagrangian_spe:[227,260],lai:417,lambda1:[408,409,410],lambda2:[408,409,410],lambda3:[408,410],lambda:[87,111,118,138,143,216,271,287,288,290,334,356,377,406],lambda_fin:287,lambda_initi:287,lamda:[3,53,278],laminar:403,lamm:6,lammps2pdb:[6,13],lammps_clos:6,lammps_command:6,lammps_extract_atom:6,lammps_extract_comput:6,lammps_extract_fix:6,lammps_extract_glob:6,lammps_extract_vari:6,lammps_fil:6,lammps_gather_atom:3,lammps_get_coord:6,lammps_get_natom:6,lammps_n:[6,12],lammps_open:6,lammps_potenti:[346,348,434],lammps_put_coord:6,lammps_quest:[6,203],lammps_scatter_atom:3,lammps_set_vari:6,lammps_sppark:6,lammpsplot:13,lammpspotenti:346,lammpstrj:[424,428,443],lammpsviri:[3,365],lamoureux:[6,198,411,443],lane:1,lang:443,langevin:[],langevin_drud:[129,197],languag:[6,11,12,17,421,448],lanl:9,lapack:12,laps:291,laptop:7,larg:[0,1,3,5,6,7,8,9,10,12,13,14,16,18,39,40,41,58,59,70,71,109,116,121,124,127,132,144,145,146,156,164,166,167,168,169,181,184,185,188,191,192,194,195,199,205,216,229,241,247,252,255,256,260,265,267,268,269,270,273,275,278,286,290,291,293,295,299,312,318,319,324,326,329,333,347,353,357,360,361,368,384,388,394,407,418,421,423,425,426,430,432,437,440,443,449,452],larger:[1,2,3,6,11,12,13,39,41,56,59,70,71,116,144,146,168,182,183,186,195,209,216,229,247,248,256,261,265,269,270,271,278,285,290,294,295,296,299,318,319,324,325,326,328,329,330,333,339,347,349,350,357,361,369,373,379,384,388,405,412,423,427,428,431,432,437],largest:[3,6,12,39,71,142,144,199,318,326,330,404,407,423,425,431,432,442,448],laroch:265,laser:290,last:[1,2,3,5,6,11,12,15,16,19,38,56,59,61,71,110,117,121,142,164,167,168,169,170,171,181,182,183,184,185,186,188,199,228,268,271,275,278,303,316,326,327,328,329,333,337,338,339,340,347,348,353,355,359,360,362,363,367,370,372,374,375,376,379,383,384,385,394,397,404,407,411,412,414,415,418,419,421,423,424,428,430,431,435,437,438,441,448],lat:380,late:5,latenc:[10,210],later:[6,11,12,16,17,40,59,71,104,146,148,182,195,233,247,255,274,285,301,303,318,326,327,332,333,335,339,421,423,425,427,437,440,448,450],latest:[7,181,182,183,184,185,186,271,425],latex:8,latgen:252,latitud:120,lattc:380,latter:[2,6,11,12,14,15,16,17,18,41,42,87,123,169,173,174,180,181,184,185,188,192,211,220,229,231,232,234,235,255,257,259,261,263,270,278,294,299,317,327,339,341,342,343,344,345,352,369,373,377,387,395,411,418,420,421,426,429,440,448,451],lattic:[],launch:[1,3,6,11,12,18,333,420,421],laupretr:312,lavend:169,lavenderblush:169,lavgevin:194,law:[6,227,331],lawngreen:169,layer:[6,9,71,172,184,286,290,293],layout:[1,3,17,146,420,423,432],lb_fluid:216,lbl:[7,9,142],lbnl:9,lbtype:216,lcbop:[],ld_library_path:[11,12],ldfftw:12,ldrd:7,lead:[2,3,6,12,22,25,39,41,44,59,61,77,87,116,138,142,148,152,169,173,174,183,188,195,207,216,233,260,270,273,278,285,286,293,305,312,318,323,328,333,346,349,369,373,375,417,423,433,443,448,449],least:[3,6,12,18,71,118,143,179,184,207,255,259,294,329,333,364,407,412,421,448],leav:[3,7,11,12,16,17,21,41,57,121,134,151,188,192,195,229,231,232,234,235,257,270,273,304,384,423,427,435],lechman:278,lectur:274,led:[3,5],lee2:380,lee:[178,380],left:[6,11,12,41,107,163,168,169,191,211,250,278,301,303,321,411,423,425,430,448,452],leftmost:[41,188],legaci:12,legal:7,lehoucq:389,leimkuhl:298,leiu:353,lemonchiffon:169,len:433,lenart:[350,359],length:[3,6,8,11,12,18,21,38,39,40,41,44,53,54,55,56,58,59,61,65,68,69,71,74,79,80,82,87,88,89,90,91,92,103,105,107,108,112,114,115,117,118,119,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,140,142,143,146,151,164,167,168,169,172,179,183,185,186,188,189,190,191,192,194,205,208,216,227,228,229,230,233,241,251,257,267,270,271,273,275,278,285,289,290,292,295,299,319,321,324,326,328,329,331,336,339,340,342,349,350,354,357,359,363,367,369,380,384,392,393,398,407,408,414,415,423,426,431,433,440,441,443,448],lengthi:205,lennard:[1,3,6,7,9,10,12,45,46,87,107,110,172,257,278,295,299,319,321,326,335,338,342,343,344,345,347,352,360,362,363,364,367,368,369,370,371,373,374,376,377,383,384,394,395,400,405,412,435,443],lenoski:[381,382],less:[1,3,6,13,14,15,16,17,18,38,41,56,57,58,59,76,108,115,116,123,137,164,169,181,183,184,185,186,188,190,191,192,194,195,202,211,227,229,251,263,265,271,278,297,298,300,319,321,326,330,333,339,344,360,361,378,379,384,394,406,407,410,415,423,448,449],let:[1,11,12,38,56,127,155,164,182,273,278,296,333,347,407,432,436,443,450],lett:[120,132,207,214,216,227,265,274,287,288,325,339,355,357,360,377,396,443],letter:[2,12,41,57,59,169,188,197,198,214,253,303,332,391],level:[2,3,8,11,12,14,17,167,168,173,174,210,226,228,229,303,319,332,339,343,344,369,370,373,383,392,393,420,432,437,448],lever:404,levin:361,lexicon:7,lgr_po:[227,260],lgr_vel:[227,260],lgvdw:393,li1:143,liang:348,lib:[1,3,9,11,12,14,15,17,264,333,348,365,421,424],libatom:[9,391],libcolvar:12,libdir:11,libfftw3:12,libgpu:15,libjpeg:12,liblammp:[11,12],liblammps_foo:[11,12],liblammps_g:[11,12],liblammpscuda:14,libmpi:11,libmpi_stub:12,libmpich:12,libpackag:12,libpng:12,librari:[],librt:17,licens:[0,7,8,12,168],lie:[6,205,271],lieu:318,life:7,lifo:8,ligand:275,liggght:7,lightblu:169,lightcor:169,lightcyan:169,lightest:285,lightgoldenrodyellow:169,lightgreen:169,lightgrei:169,lightli:275,lightpink:169,lightsalmon:169,lightseagreen:169,lightskyblu:169,lightslategrai:169,lightsteelblu:169,lightweight:278,lightyellow:169,like:[3,4,6,7,8,9,11,12,14,16,17,18,39,42,54,59,128,135,168,170,175,192,193,195,198,200,210,213,214,215,227,229,230,234,235,240,241,246,247,248,249,251,257,259,260,261,265,270,271,278,280,281,282,283,284,285,286,293,294,295,298,299,300,303,318,321,325,328,333,339,347,352,353,357,358,361,363,364,374,375,380,384,396,407,410,414,415,420,421,423,424,425,426,428,433,438,441,443,448,449],likelihood:[118,143,191],likewis:[1,6,10,12,15,18,39,41,71,88,115,178,188,189,190,205,213,214,229,230,233,248,265,278,281,282,283,319,328,334,338,339,349,355,358,405,421,423,435,448],lime:169,limegreen:169,limit:[],limit_eradiu:357,lindahl:318,line:[],linear:[],linearli:[10,117,169,194,252,295,297,298,300,327,328,330,423,448],lineflag:[6,423],lineforc:[],linen:169,linesearch:[8,324],ling:[9,13],lingo:[11,365],link:[5,6,7,8,9,11,12,13,14,15,17,18,22,37,44,55,63,152,163,168,172,190,210,214,255,264,266,274,275,305,313,336,346,380,391,392,393,405,411,421],linker:12,linkflag:[12,16],linux:[10,11,12,15,168,170,210],linuxamd64:424,liouvil:229,lip:13,lipid:[4,9,10,13,29,270],lipton:255,liquid:[6,7,9,29,39,40,41,59,87,121,130,142,188,192,194,205,229,257,260,265,285,352,384,387,409,432],lisal:404,lism:9,list:[],listen:[210,212],listfil:368,liter:[423,434],literatur:[8,380,406],lithium:357,littl:[1,3,12,64,229,329,418,426],littmark:[380,405,410,416],liu:[363,393],lj1043:[],lj126:[],lj12_4:395,lj12_6:395,lj1d:252,lj6:3,lj93:[],lj96:[],lj9_6:395,lj_flag:335,llnl:[5,7],lmp1:11,lmp2:11,lmp2arc:[],lmp2cfg:[],lmp2vmd:[],lmp:[11,421,443],lmp_auto:12,lmp_cuda:[14,17],lmp_foo:12,lmp_g:[6,11,12,13,17,317],lmp_gpu:15,lmp_ibm:[12,317],lmp_inc:12,lmp_intel_cpu:16,lmp_intel_phi:16,lmp_kokkos_cuda:17,lmp_kokkos_omp:17,lmp_kokkos_phi:17,lmp_linux:[4,6,12],lmp_mac:12,lmp_machin:[1,12,14,15,16,18,19,333],lmp_mpi:[12,253],lmp_mvapich:17,lmp_omp:18,lmp_openmpi:17,lmp_opt:19,lmp_win_mpi:12,lmp_win_no:12,lmpptr:[11,421],lmpqst:203,lmpsdata:13,lmptype:[3,12,203],load:[1,3,4,7,9,11,12,16,17,18,41,168,170,172,188,210,260,333,348,420,421],loadabl:11,loca:169,local:[],localhost:210,localized_lambda:178,localonli:12,localvector:63,locat:[3,6,8,9,11,12,27,61,116,118,142,143,153,164,167,195,196,216,277,288,299,324,346,349,358,359,369,371,373,411,420,423,424,426,433,435],lock:[3,332,448],lockstep:[192,229,257,270],log:[],logarithm:448,logfil:[0,3,6,12,258,322,419],logfreq2:448,logfreq:[169,430,439,448],logic:[7,11,12,17,41,144,188,301,303,418,420,421,424,432,437,448],lomdahl:[233,371],london:[13,205,393],lone:[392,393],longer:[1,3,6,8,12,13,54,116,167,169,180,181,182,183,184,185,186,189,205,213,251,255,260,270,273,285,295,299,301,324,333,335,361,420,428,432,437,445],longest:[41,188,189,329,412],longitudin:275,look:[1,3,6,8,11,12,18,54,61,167,168,171,346,396,407,443,448],lookup:[3,39,164,384,407],lookup_t:271,loop:[3,4,6,7,11,12,18,39,42,65,68,69,79,88,92,108,115,116,121,168,181,184,185,189,190,199,285,301,303,317,320,326,328,329,331,332,354,418,419,421,427,428,431,432,437,442,448,449],loopa:[303,317,332],loopb:[303,317,332],loopvar:448,lopez:[229,230],lorant:261,lorentz:143,lose:[6,58,59,146,192,194,214,229,361,423],loss:[6,447],lossi:168,lossless:168,lost:[3,12,13,57,102,195,268,278,384,423,424,425,432,440],lot:[18,274,318],low:[1,3,6,7,12,41,127,142,167,168,188,198,214,247,265,270,286,293,319,393,407,415,437,443],lower:[2,3,6,9,11,12,41,57,59,71,88,133,166,168,169,182,183,184,185,188,192,198,210,213,214,216,229,260,265,286,293,295,296,301,302,318,321,332,350,380,437,444,446,449],lowercas:168,lowest:[120,303,327,433,437,438,448],lsfftw:12,lsurfac:290,lu3:143,lubric:[],lubricateu:[],lubricuteu:238,lucki:12,luigi:13,lumped_lambda_solv:178,lussetti:286,lustig:[7,13],lybrand:319,lyulin:312,m4v:168,m_c:443,m_d:443,m_eff:[296,361],m_fill:3,m_i:276,m_lambdai:389,m_taubi:389,m_u:216,m_v:216,m_yield_stress:389,mac:[12,14],mac_mpi:12,mach:9,machin:[1,3,4,6,7,10,11,12,14,15,16,17,18,19,167,168,210,291,318,324,326,331,333,420,425,430,431,432,449,452],mackai:[9,216,218,219,220],mackerel:[6,20,150,214,344,435,443],maco:168,macro:17,macroparticl:354,macroscop:[7,208,227,389],made:[3,6,11,12,15,16,33,41,42,50,64,145,157,167,168,170,172,173,174,179,188,195,199,210,219,256,264,268,270,288,301,310,329,333,360,361,364,392,394,397,420,425,427,433,436,444,446,449,450],madura:[6,369],magazin:355,magda:295,magenta:169,magic:[3,11],maginn:[138,293],magnitud:[6,70,105,108,113,144,166,167,169,195,196,208,209,211,213,274,275,277,278,285,296,319,326,352,361,433],mai:[0,1,2,3,6,7,8,11,12,13,14,15,16,17,18,29,38,39,40,41,56,58,59,61,63,65,68,69,71,79,86,87,88,89,90,92,102,103,105,107,108,109,110,112,113,114,115,117,118,119,120,121,123,124,132,133,137,138,142,143,144,145,146,147,148,163,164,166,167,168,169,170,172,173,174,175,177,179,181,182,183,184,185,186,187,188,189,190,192,194,195,198,199,200,202,205,206,207,209,210,211,213,214,215,216,217,219,224,225,226,227,229,230,233,241,244,252,253,256,257,258,259,260,262,265,267,268,269,270,271,272,273,274,278,280,281,282,285,286,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,316,317,318,319,321,324,325,326,327,328,329,330,331,333,336,338,339,347,353,357,361,364,365,375,377,379,380,381,382,384,392,393,395,396,404,407,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,435,437,440,441,443,448,449,450,452],mail:[3,7,9,12,301],main:[3,6,8,12,210,216,270,287,288,355,411,421,438],mainboard:1,mainli:[333,387],maintain:[8,9,13,39,129,190,194,247,278,291,325,334,355,432,435],major:12,make:[],makefil:[3,7,9,11,12,13,14,15,16,17,18,19,167,319,333,421],makelist:12,maks:361,malloc:[3,12],manag:[5,8,12,167,210,253,280,432],manbi:396,mandadapu:178,mandatori:[8,193],manh:339,mani:[1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,38,39,41,42,56,61,63,68,71,88,91,102,116,124,144,145,164,166,167,168,169,170,172,173,174,175,179,180,181,182,183,184,185,186,188,189,190,191,192,194,195,202,205,206,209,210,216,217,225,227,229,230,233,241,250,251,252,256,259,261,262,263,265,267,270,271,273,278,289,290,292,301,303,318,326,327,328,329,331,333,346,348,354,357,359,363,364,396,405,407,408,410,421,423,425,427,428,430,431,432,433,435,436,437,438,448,449,452],manipul:[12,41,188,210,349,390,434],manner:[2,3,6,9,11,17,41,121,140,173,174,175,176,183,188,194,199,200,203,209,213,214,229,234,235,246,247,249,264,281,282,283,286,287,288,293,295,299,303,319,327,328,332,333,355,357,364,367,378,412,418,420,423,424,425,426,428,432,437],manolopoulo:212,mantissa:3,manual:[0,1,3,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,58,63,68,71,109,112,118,122,123,125,126,127,130,131,132,133,134,136,137,143,150,151,153,154,155,156,158,159,161,162,164,167,168,170,175,184,187,201,204,208,212,213,214,228,229,231,232,233,234,235,236,239,242,244,245,246,247,249,257,259,262,270,271,272,273,281,282,283,293,294,303,304,306,307,308,309,312,314,319,328,332,333,334,335,337,338,340,341,342,343,344,345,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,418,432,436,437,438,441,448],manybodi:[3,7,8,9,12,121,326,334,335,339,348,355,358,364,366,386,390,406,408,409,410,435],map:[2,3,11,12,17,18,39,59,64,71,118,120,132,143,144,166,168,169,178,184,252,269,318,319,321,328,334,335,339,348,355,356,358,364,365,366,380,381,382,384,386,390,391,392,393,396,404,406,407,408,409,410,420,423,425,437,448],map_fil:252,mapflag:12,march:380,margin:437,mari:13,mark:[362,377],marker:258,maroon:169,maroonmpi:11,marrink:362,marsaglia:[3,206,207,213,214,265],marseil:9,martin:[252,380],martinez:179,martyna:[229,230,270,432],mashayak:17,mask:[3,251,448],mask_direct:178,mass:[],mass_matrix:178,massdelta:273,massiv:[0,168,216,253,286,293],massless:[6,214,319,349,369,373,377,443],masstot:270,master:[3,328,418,437],mat:[67,178,348,409],match:[3,6,8,9,11,12,17,38,41,56,59,71,116,127,164,169,170,188,191,194,210,229,230,247,267,271,278,285,318,319,339,363,375,380,391,392,393,407,416,417,421,423,424,425,428,432,437,443,448],mater:[73,334,382,390],materi:[6,7,9,59,70,147,177,178,194,205,211,227,251,257,265,286,290,296,349,355,356,357,361,365,380,381,389,392,393,418,423,437,443,447],material_fil:178,math:[],mathemat:[118,120,143,144,173,174,175,176,187,192,200,206,208,209,211,213,214,258,272,281,282,283,295,298,300,396,419,426,433,449],mathrm:214,mathtt:214,matlab:[],matric:[9,120,207,252,360],matrix:[3,6,9,91,142,182,192,207,252,261,318,321],matter:[6,9,12,39,57,59,71,126,184,290,329,335,351,355,357,380,395,408,410,416],mattson:[112,121],max2theta:143,max:[3,6,8,12,15,18,71,117,169,183,188,190,192,195,256,273,278,303,321,324,326,328,329,333,418,423,437,441,448],max_alpha:8,max_cell_s:354,max_group:3,maxangl:205,maxbodi:3,maxbond:[3,190],maxedg:142,maxev:[326,418,437],maxfoo:8,maxim:[285,328],maximum:[3,6,8,15,17,25,41,42,45,53,54,57,59,61,116,117,118,142,143,145,146,166,167,177,182,183,188,190,194,195,199,205,241,251,256,261,273,278,291,318,319,324,328,329,336,339,354,359,378,379,423,426,431,441,448,449],maxit:[261,326,418,437,441],maxsize_restart:8,maxwel:[17,250],maxwell50:17,maxwell52:17,maxwell53:17,maxx:390,mayb:13,mayer:[7,340,342,405],mayo:[6,7,13,25,314,363,435],mbt:151,mbyte:[12,265],mcdlt:[134,209],mcgraw:253,mdash:443,mdregion:178,mdump:[41,188],meain:6,meam:[],meam_sw_splin:382,meamf:380,mean:[1,2,3,4,6,7,8,10,11,12,17,22,34,37,38,39,41,42,44,52,54,55,56,57,59,61,63,68,71,76,77,82,84,85,87,91,103,104,105,112,113,114,115,116,117,120,121,122,123,125,126,127,130,131,132,133,134,136,137,138,144,145,147,148,150,152,160,163,164,165,166,167,168,169,170,172,173,174,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,200,203,205,206,207,208,209,211,213,214,215,219,226,229,231,232,233,234,235,241,246,247,249,251,253,255,256,257,259,265,267,268,270,272,273,274,275,278,280,281,282,283,285,286,289,290,292,293,294,295,296,297,298,299,300,301,305,306,307,309,311,313,318,319,321,323,324,326,327,328,329,331,333,336,340,342,343,344,346,349,353,354,355,357,360,361,363,364,367,369,370,373,380,383,384,387,388,390,392,393,394,395,406,407,408,409,410,412,415,417,418,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,437,438,440,441,443,447,448,449,450,452],meaning:[116,364],meaningless:[67,285],meant:[6,270,411,427],measur:[],mech:389,mechan:[6,8,9,11,12,17,178,209,253,264,339,357,365,371,417,421,423],mechanic:264,media:168,medium:415,mediumaquamarin:169,mediumblu:169,mediumorchid:169,mediumpurpl:169,mediumseagreen:169,mediumslateblu:169,mediumspringgreen:169,mediumturquois:169,mediumvioletr:169,mee:285,meet:[3,12,145,168,169,190,191,291,428],mehl:334,meloni:39,melros:[378,379],melt1:170,melt2:170,melt3:170,melt:[4,10,191,252,339,409],mem:15,member:[147,255,339],membran:[29,250,415],memori:[1,3,5,6,7,8,9,12,15,16,17,18,39,40,60,71,169,181,184,185,206,207,265,290,316,329,333,339,384,388,393,420,423],memory_usag:8,mendelev:355,mention:[1,6,7,11,42,194,209,216,233,295,321,328,335,392,393,425,448],menu:[168,210],mep:[228,328],mer:[4,10,191],meremianin:120,merg:[3,5,423],merz:[6,150,435],mescscop:389,mesh:[1,3,6,7,8,10,12,40,41,42,118,143,178,188,216,271,318,319,354],meso:[],meso_:[],meso_cv:433,meso_rho:[],meso_t:[],mesocop:40,mesoscal:7,mesoscop:[7,99,100,101,222],mess:[3,433],messag:[],met:[8,41,116,188,303,317,319,326,328,332,412,431],metadynam:[9,13,193],metal:[3,5,7,10,40,59,71,133,144,177,178,184,185,194,195,209,211,260,261,265,294,295,297,298,300,319,321,330,334,335,339,348,355,356,357,358,364,366,380,381,382,390,391,406,408,409,410,426,440,441,442,447],meter:[330,447],methan:[260,265],methanol:4,methin:312,method:[1,3,5,6,7,8,9,11,12,13,16,17,19,38,39,40,41,56,64,87,91,110,121,164,172,173,174,178,188,193,203,213,216,220,224,227,229,252,253,260,261,262,263,265,270,273,274,285,286,287,288,293,318,319,324,325,326,328,333,334,336,339,348,349,355,357,358,380,381,382,384,390,405,407,418,420,421,423,424,426,437,443],methodolog:[6,73,121,253,318],metin:[7,9],metric:[3,10,64,426,441],metropoli:[179,205,438],mezei:87,mf1:170,mf2:170,mf3:170,mg2:143,mglob_default_function_attr:12,mgoh:386,miai:265,mic:[12,17],micel:[4,13,276],micelle2d:[],michael:[9,13,382],michel:13,micro:[3,447],microcanon:[236,237,239,240,242,244,245],microelast:389,micromet:447,micropor:205,microscal:378,microsec:447,microsecond:447,mid:[5,59,194,404],middl:[3,6,8,16,22,41,44,77,87,116,133,138,142,148,151,152,169,173,174,180,188,256,268,269,270,286,293,304,305,323,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,417,421,431,432,433],middlebondtors:[3,151,423],midnightblu:169,midpoint:404,mie:[],might:[3,4,6,7,8,12,14,25,71,203,205,207,270,421,431,448],migrat:[3,8,17,41,42,59,61,65,69,79,92,108,115,167,172,188,251,259,265,278,318,330,333,431,450,452],mikami:[6,229,230],mike:[7,9,13,15,16],mil:[9,355],mill:325,miller:270,million:[3,7,10,39,41,71,188],mimic:[6,11,42,54,214,227,256,349,359,369],mimim:[192,328],min2theta:143,min:[3,4,6,8,12,117,120,169,183,318,321,404,418,437,448],min_cap:3,min_cg:8,min_clearstor:8,min_dof:8,min_modifi:[],min_popstor:8,min_post_forc:8,min_pre_forc:8,min_pushstor:8,min_setup:8,min_setup_pre_forc:8,min_step:8,min_stor:8,min_styl:[],minarea:142,mincap:393,mind:[7,206,252],mine:[12,88,134,135,172,301,445],minim:[],minima:[156,314],minimi:[328,412],minimizaiton:328,minimizi:265,minimum:[3,25,26,27,42,45,57,59,86,105,117,142,143,145,147,153,166,167,168,177,183,192,193,199,212,228,267,269,271,278,295,299,303,314,318,321,324,325,326,328,329,344,357,360,362,363,369,371,373,378,379,393,395,404,418,431,437,448,449],minlength:142,minmiz:[8,192],minn:9,minord:[3,318],mintcream:169,mintmir:[7,261,349,405],minu:[12,59,124,194,303,328,448],minut:[4,8],mirror:[61,297],misc:[],miscellan:[2,178],mishin:[334,405],mismatch:[3,6],miss:[3,5,12,147,183,205,241,265,278,368,384,440,441],mistak:[3,448],mistakenli:3,mistyp:3,mistyros:169,mitchel:[6,111,126,318,319,351,389],mitchell2011:389,mitchell2011a:389,mitur:337,mivi2:265,mix:[1,3,6,9,14,15,16,71,115,183,184,291,318,319,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,421,423,436,443,450],mixtur:[6,40,229,270,278,300,347,380,423],mixture_ref_t:380,mjpeg:168,mkdir:434,mkl:12,mkmk:252,mkv:168,mldivide3:3,mlpark:7,mlutipl:186,mn2:143,mn3:143,mn4:143,mo3:143,mo5:143,mo6:143,mobil:[6,105,121,122,123,125,130,137,168,270,301,302],moccasin:169,mod:[],mode:[1,3,6,9,11,12,13,14,15,16,17,18,61,66,75,88,90,93,104,106,114,116,117,124,139,141,142,143,167,168,169,183,186,193,194,203,207,229,253,265,274,278,318,330,333,349,357,420,425,430,432,441,447,452],model:[],model_ar_p_mors:365,modern:[12,213,215],modest:[1,331],modif:[6,13,87,380,394,410,443],modifi:[],modify_param:8,modin:178,modul:[3,9,11,12,13,193,265,421],modular:8,modulo:[3,448],modulu:[257,361,380,389],mofil:424,mol1:448,mol:[3,9,71,113,144,146,147,167,169,193,195,205,210,213,256,259,270,273,280,352,360,395,432,433,443,448],molchunk:[66,75,90,93,104,106,124,139,141,181],mole:[179,355,447],moleclu:[189,190,195,202],molecul:[],molecular:[0,2,3,5,6,7,8,9,12,13,39,40,53,71,108,113,115,122,123,125,127,130,131,132,133,136,137,144,145,146,147,148,156,167,170,178,190,193,205,212,252,253,260,264,265,269,274,289,290,319,327,336,337,339,343,354,357,364,405,423,424,425,427,428,432,433,435,441,442,443,448],molfil:[],molfrac:[195,256],molnar:274,molp:109,moltempl:[],mom:[6,91,269,449],momementum:[123,231,234,237,238,239,246],momemtum:66,moment:[3,6,40,42,82,84,85,106,113,123,137,144,165,167,213,216,219,244,256,270,276,327,352,356,423,433,443,447],momenta:[207,238,293,357],momentum:[],momon:191,monaghan:[9,399,400,402],monitor:[3,6,96,97,127,192,194,195,202,210,213,227,229,256,258,260,270,273,278,326,328,352,441],mono:[73,378],monodispers:[3,296,341,361,378,379],monom:[13,54,191],monoton:[3,274,289,328,437],monoval:319,mont:[6,7,9,172,179,191,205,270,285,354,405],montalenti:[418,437],month:0,moor:[17,121],more:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,58,59,61,62,63,64,65,67,68,69,70,71,72,77,78,79,80,83,86,87,88,90,92,96,97,98,99,100,101,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,130,131,132,133,135,136,137,138,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,278,280,281,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,316,318,319,321,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,426,427,428,429,430,431,432,433,434,435,436,437,438,440,443,448,449,450,451,452],morefoo:8,moreov:[189,190],morri:[],morriss:[132,247],mors:[],morse_f:407,mosel:325,mosi2:380,moskalev:120,most:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,18,19,37,39,41,55,71,108,132,142,163,167,168,169,181,183,184,185,186,188,189,190,192,209,229,230,253,258,259,260,261,270,271,291,293,301,303,313,319,325,329,331,333,335,357,360,380,391,392,393,410,418,419,420,425,432,437,441,448,450],mostli:[8,9,11,13,71,146,168,329,423,432,435,448,451],motiion:6,motion:[3,6,7,9,42,86,97,122,123,125,127,129,130,131,132,133,134,136,137,194,198,207,216,219,220,226,229,230,233,247,251,253,255,265,269,270,286,290,296,299,328,352,357,378,379,426,432,443],motiv:251,mous:210,mov:168,move:[],movement:[3,6,12,226,285,326,441],movi:[],mp4:168,mpeg:168,mpg:168,mpi4pi:11,mpi:[],mpi_allreduc:[270,421],mpi_barri:1,mpi_cart:420,mpi_cart_cr:420,mpi_cart_get:420,mpi_cart_rank:420,mpi_cart_shift:420,mpi_comm:6,mpi_comm_world:11,mpi_get_processor_nam:420,mpi_inc:12,mpi_lib:12,mpi_lmp_bigint:3,mpi_lmp_tagint:3,mpi_path:12,mpi_wtim:12,mpicc:11,mpich2:12,mpich:[12,14,15,16,17,18,333],mpicxx:[12,16,17],mpiexec:[12,14,15,16,17,18,333],mpiio:[3,167,169,425,430,452],mpirun:[6,11,12,14,15,16,17,18,19,253,317,333],mplayer:168,msd:[],msi2lmp:[],msi:13,msm:[],msmse:[118,143,271],msst:[],mtchell2011:389,mtchell2011a:389,mtd:193,mth:[8,119,169,440],mtk:[229,230,233],mtotal:327,mu_j:29,muccioli:360,much:[1,3,6,11,39,167,168,192,260,285,329,330,333,360,394,418,421,437,443,448],mui:[113,167,200,280,423],mukherje:[7,9,255],mulder:289,muller:[6,91,172,286,293,383],mult:8,multi:[],multibodi:[3,61,255],multicent:357,multicor:[1,420,436],multidimension:13,multielectron:336,multilevel:[318,319],multiphys:11,multipl:[],multipli:[3,87,91,116,152,163,173,174,182,213,216,251,257,321,326,335,423,448],multiprocessor:333,multiscal:11,multisect:[41,188],multistag:87,multitud:7,mundi:248,munich:9,murdick:339,murti:409,murtola:318,must:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,56,57,59,61,62,71,82,84,86,87,104,107,109,112,115,116,117,118,119,123,126,133,137,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,164,165,166,167,168,169,170,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,203,205,206,207,209,210,211,212,213,214,216,217,218,219,220,224,225,226,227,228,229,230,231,232,233,234,235,237,238,239,241,244,246,249,251,255,256,257,258,259,260,261,263,265,267,268,269,270,271,272,273,275,277,278,281,282,283,285,286,288,289,290,292,293,295,296,297,298,299,300,301,303,304,305,306,307,308,309,310,312,314,318,319,321,323,326,327,328,329,330,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,419,420,421,423,424,425,426,428,430,431,432,433,434,437,438,440,441,443,447,448,449,450,452],mutli:6,mutlipl:423,mutual:[3,321],mutut:432,muvt:205,mux:[113,167,168,200,280,423],muz:[113,167,200,280,423],mv2_comm_world_local_rank:12,mvapich2:[17,333],mvapich:12,mxn:[12,253],my_ga:205,my_one_wat:205,my_post_process:434,my_qeq:261,my_setup:434,my_swap_region:179,myblock:[195,256],mybox:146,mychunk1:114,mychunk2:114,mychunk:[6,66,75,90,93,104,106,124,139,141],mycmap:423,mycom:183,mydump:[167,169],myer:[5,7],myfil:[420,448],myfix:[179,438],myflux:91,myforc:[167,451],myhug:233,myke:91,mymol:[40,273,327],mympi:11,mymultipli:[421,448],myn:421,mype:91,mypi:448,mypress:224,myramp:121,myrdf:[116,186],myregion:301,myrigid:[83,98,256],mysocket:212,myspher:[169,299],mystr:303,mystress:91,mytemp:[2,102,122,123,125,127,128,130,132,137,224,303,317,332,440,449],myz:423,n_dephas:418,n_f:[260,265],n_hbond:363,n_ij:361,n_ion:290,n_k:206,na1:143,nabla:290,nacl:[4,6,380],nacl_cs_x0:6,nakano:[261,263,328],namd:[7,9,167,210],name1:[138,194],name2:[138,194],name:[0,1,2,3,5,6,8,9,11,12,13,33,42,50,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,157,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,252,253,254,255,256,257,258,259,260,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,291,292,293,294,295,296,297,298,299,300,301,302,303,310,316,317,319,320,322,327,328,332,334,335,339,342,355,356,358,360,361,364,365,366,368,380,381,382,386,390,392,393,396,406,408,409,410,411,413,420,421,423,424,425,426,430,433,436,438,439,441,443,448,449,450,451,452],namespac:[6,8,12],nan:3,nangl:[3,423],nangletyp:[327,423,433],nano:[270,447],nanoindent:70,nanolett:270,nanomet:[167,169,447],nanoparticl:[188,270],nanosec:447,nanosecond:447,nappli:203,narea:3,narrow:[6,164],narulkar:[408,410],nasa:7,nasr:252,natdef:3,nation:[0,7,12,111,389],nativ:[1,6,7,12,16,17,167,170,424],natoli:[9,19],natom1:115,natom2:115,natom:[6,11,39,327,421,423,440,441,448],nattempt:256,natur:[6,9,120,194,229,251,265,296,355,357,358,380,390,420,448],navajowhit:169,navi:[169,355],navier:216,nb3:143,nb3b:[],nb3bharmon:386,nb5:143,nbin:[116,183,184,185,286,293],nbodi:[219,270],nbond:[3,113,423],nbondtyp:[169,327,423,433],nbot:339,nbounc:278,nbrhood_cutoff:393,nbtype:115,nbuild:441,ncall:203,nchar:169,nchunk:[3,6,66,71,75,90,93,104,106,114,124,139,141,181],ncoeff:396,ncount:[181,182],nd3:143,ndanger:441,nden:[6,91],ndihedr:[3,423],ndihedraltyp:[327,423],ndim:184,ndirango:270,ndof:[229,233],ndoubl:423,ndp:443,ndx:302,neal:270,nearbi:[7,62,145,195,226,262,278,299,329,335,378,379,405,415,443],nearest:[3,70,71,73,142,145,216,228,251,285,299,318,368,380,407,448],nearli:[6,18,54,59,188,213,278,357,384,418,421,427,435],neb:[],neb_combin:328,neb_fin:328,neb_log:437,neb_step:437,neb_styl:437,necessari:[6,9,11,12,13,15,17,33,61,87,152,157,163,170,188,192,193,205,206,264,278,291,301,318,333,377,384,423,424,428,431,432,433,437,443,451],necessarili:[12,265,285,306,307,309,321,384,449],necessit:259,need:[1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,19,33,37,38,39,40,41,42,50,54,55,56,58,61,63,64,67,70,72,73,77,82,91,102,104,109,112,120,121,122,123,124,125,127,130,131,132,133,134,136,137,144,146,150,152,157,163,164,166,167,168,169,173,174,175,176,178,179,181,182,183,184,185,186,188,189,190,192,193,194,198,200,203,204,205,209,210,212,213,214,216,222,223,229,241,252,256,257,259,265,269,270,274,278,286,289,290,292,293,294,295,301,310,313,318,319,327,328,329,330,333,334,335,336,337,339,340,341,342,343,344,345,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,418,421,423,424,425,426,428,430,431,433,435,436,437,443,448,450,451,452],needless:[6,329],neeed:9,neelov:319,neg:[3,6,12,27,46,65,69,89,102,108,115,120,121,146,148,153,155,164,168,192,194,195,206,233,251,274,275,289,293,295,300,318,325,358,372,380,405,423,426],neglect:[363,379],neglig:[11,87,229,406],neigh:[3,12,15,333],neigh_modifi:[],neighbor:[],neighborhood:[26,396],neighbour:214,neighobr:[6,349,369,373],neither:[2,3,12,41,63,178,191,194,195,335,341,357,378,379,428],nelem:396,nelement:[334,355],nemd:[],nest:[2,303,315,332,448],net:[3,6,11,39,86,88,125,136,209,251,261,270,379,393],netpbm:168,network:[189,190,210,420],neumann:318,neutral:[3,88,205,318,349,369],never:[7,12,63,71,172,182,192,205,229,251,273,280,291,295,298,300,318,329,355,380,396,420,423,437,440,448],neveri:[3,8,71,175,180,181,182,183,184,185,186,189,190,191,216,217,252,261,262,263,266,267,271,286,292,293,328,428,437],newatom:195,newer:[12,181,380],newfil:[315,317],newli:[195,443,449],newlin:169,newn:270,newt:131,newtemp:[63,102],newtion:[339,390],newton:[],newtonian:206,newtyp:[3,190],next:[],neyt:285,nfile:[3,38,56,164,167,169,407,425,430,452],nfirst:428,nfirt:428,nfreak:271,nfreq:[39,71,180,181,182,183,184,185,186,188,267,271,428],nghost:[3,12],ngp:105,ngpu:333,nguyen:[15,339],nharmon:[],nhc:253,nht:270,ni2:143,ni3:143,ni_000:[118,271],nialh_jea:355,nialhjea:[346,364],nice:[6,8],nickla:382,nimprop:[3,423],nimpropertyp:[327,423],nine:358,ninteg:423,nissila:216,nist:[334,355,447],niter:[41,188],nitrid:349,niu3:[346,355,364],nkb:260,nlast:428,nline:327,nlocal:[3,8,11,12,203],nlog:319,nmax:42,nmin:42,nmol:423,nmpimd:253,nn2:380,nneighmaxdef:3,no_affin:[16,333],no_histori:6,noced:326,nocheck:368,nocit:12,nocoeff:450,nodal:[6,38,56,164,178,290,407],node:[1,3,12,14,15,16,17,18,41,118,143,188,210,216,290,333,368,420,436],node_area:216,node_group:178,nodeless:357,nodeset:178,nodeset_to_elementset:178,nof:164,noforc:[],nois:[6,206,207,213,214,215,216,260,265,270,282,290],nomenclatur:[6,71,184,321],nomin:[167,229],non:[],nonbond:[4,12,386,405],none:[],noneq:207,nonequilibrium:[9,287,288,357],nonetheless:213,nongauss:[],nongaussian:105,nonlinear:[],nonloc:389,nonperiod:3,nonzero:3,noordhoek:348,nopreliminari:164,nor:[2,3,41,59,178,348,423,426],nord:[390,408,410],norder:420,nordlund:[390,408,410],norm:[6,12,63,117,172,181,184,185,271,326,328,404,440,441,447],normal:[3,6,9,10,11,12,39,41,58,61,63,67,70,71,73,88,91,102,112,116,117,129,132,144,145,146,164,169,172,181,182,183,184,185,188,192,194,195,204,205,209,213,214,226,229,241,251,253,254,261,265,267,268,274,278,279,281,282,283,290,295,296,299,300,304,306,307,309,323,325,326,328,333,347,348,360,361,364,404,416,417,418,421,423,425,426,428,429,433,437,440,441,443,447,448,451],norman:290,nornal:3,nose:[6,7,8,134,172,198,213,214,229,230,231,232,233,234,235,246,247,248,249,253,257,265,270,281,282,283,288,353,443],noskov:[411,443],noslip:[278,300],notabl:[5,39],notat:[6,63,70,120,138,172,226,229,355,448],note:[1,2,3,6,7,8,11,12,13,14,15,16,17,18,22,24,25,28,29,32,33,35,36,37,38,39,40,41,42,44,47,54,55,56,58,59,60,61,62,63,65,66,68,69,71,73,75,79,87,89,90,91,92,93,97,104,105,106,108,110,112,113,114,115,117,118,119,120,121,124,126,127,128,132,134,138,139,141,142,143,144,145,146,147,148,150,152,155,157,161,163,164,167,168,169,170,172,173,174,175,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,199,200,202,203,205,207,208,209,211,212,213,214,215,216,224,225,226,227,229,231,232,233,234,235,241,246,247,249,253,255,256,257,259,260,261,263,268,269,270,271,274,275,276,278,281,282,283,286,289,290,292,293,294,295,296,299,300,301,303,304,305,306,307,309,313,317,318,319,321,323,326,327,328,329,333,334,335,339,340,342,343,344,346,347,349,350,352,353,354,355,358,360,361,362,363,364,367,368,369,371,373,377,378,379,380,381,382,383,384,386,390,392,393,394,395,396,397,400,404,406,407,408,410,412,415,418,420,421,423,424,425,426,427,428,430,431,433,435,437,438,440,441,443,447,448,449,451,452],noth:[179,212,320,333,421,434],notic:[0,6,7,8,12,288,290,443],noutcol:8,noutput:252,noutrow:8,novemb:380,novik:13,novint:210,now:[2,3,6,9,11,12,13,46,61,62,71,167,173,174,190,206,210,211,270,296,299,319,321,355,357,361,392,393,397,419,424,443,449],nowait:210,nozforc:318,np3:143,np4:143,np6:143,npair:[116,182],nparticl:[3,40,42,338],npartit:441,npernod:[14,15,16,17,18,333],nph:[],nphi:[16,333],nphug:[],npoli:256,nproc:[3,167],npt:[],npt_aspher:[231,235,246],npt_sphere:[232,249],nrecomput:354,nrepeat:[71,180,181,182,183,184,185,186,267,271,428],nreset:[192,229,230,233],nreset_ref:192,nrho:[334,355],nrl:355,nsampl:354,nsbmax_most:3,nsec:442,nskip:[119,428],nsq:[3,330,388],nstart:[119,182,183,186,271,423,428],nstat:251,nstep:[3,13,192,229,301,401,421,424],nsteplast:421,nstop:[119,428],nswap:[286,293],ntabl:[38,56,164,407],nterm:274,nth:[12,77,116,117,167,169,183,194,428,438],ntheta:339,nthread:[3,333],ntild:252,ntpc:333,ntptask:333,ntype1:115,ntype2:115,ntype:[3,120,144,167,169,179,261,263,357,363,390,423,433],nuclear:[9,96,97,130,207,230,260,265,327,357,416],nuclei:[9,96,97,128,130,135,215,230,240,248,284,336,357,423],nucleu:[96,97,261,410,443],nudg:[4,6,7,172,228,325,328],nulcear:9,num_of_collis:3,numa:[1,3,12,333,420],numactl:16,number:[1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,22,27,38,39,40,41,42,44,56,63,64,65,66,68,69,70,71,73,75,76,77,78,79,80,87,90,91,92,93,102,104,106,108,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,129,130,131,132,133,134,136,137,138,139,141,142,143,144,145,146,147,148,152,153,163,164,166,167,168,169,170,172,173,174,177,179,181,182,183,184,185,186,188,189,190,191,193,194,195,202,203,205,206,207,209,210,211,212,213,214,215,216,219,226,229,230,233,241,251,252,253,255,256,259,260,261,265,267,270,273,278,279,280,282,285,286,287,288,290,291,292,293,295,297,298,300,301,303,305,316,318,319,321,323,324,326,327,328,329,330,333,334,335,339,341,346,348,353,354,355,356,357,358,363,364,365,366,367,380,381,382,384,386,390,391,392,393,394,396,404,406,407,408,409,410,412,413,416,417,418,420,421,423,424,425,426,427,429,430,431,432,433,435,437,438,440,441,443,447,448,449,452],number_of_a:3,number_of_b:3,number_of_typ:179,numbond:3,numer:[1,2,3,6,9,12,22,38,41,42,44,56,71,77,87,116,138,148,152,164,167,168,169,173,174,175,177,178,184,200,206,209,213,226,229,253,270,273,290,295,297,298,300,301,305,323,326,327,346,352,364,380,384,392,393,407,416,417,421,423,430,433,439,440,441,448],numpi:11,nvalu:[181,184,185,186,421],nvaluelast:421,nvc_get_devic:15,nvcc:[1,12,17],nve:[],nve_aspher:[231,234,246],nve_spher:[232,235,249],nvida:17,nvidia:[1,3,9,12,14,15,17,333,436],nvt1:443,nvt2:443,nvt:[],nvt_aspher:[231,234,249],nvt_sphere:[232,235],nvtfe:178,nwait:252,nwchem:7,nxnode:290,o_cor:126,o_shel:126,oascr:7,obei:[3,194,321,418],ober:7,obj_shared_foo:12,obj_target:12,object:[6,8,11,12,15,40,42,168,192,210,216,219,256,274,326,421,426],observ:[229,260,281,282,285,286,293],obsolet:13,obstacl:[4,211],obtain:[1,3,9,12,29,73,87,142,170,174,204,207,216,233,252,253,285,318,335,352,380,384,391,408,410,432],obviou:[12,448],obvious:[168,438,448],occ:359,occasion:[3,418],occlus:168,occup:[3,142,359],occur:[1,3,6,9,11,12,14,17,39,57,59,61,62,71,86,105,142,145,147,164,167,169,179,188,191,192,194,205,208,211,219,227,241,261,270,278,287,300,301,303,318,329,333,354,357,377,393,418,420,421,428,432,437,440,448],occurr:[312,423,437,448],octahedr:25,octant:420,odd:[41,169,188,229,270,281,282,290,438],off:[1,3,6,12,14,15,16,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,43,44,45,46,47,48,49,50,51,53,54,55,56,59,61,65,69,71,107,108,109,112,113,115,120,121,122,127,131,142,143,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,169,172,175,179,186,187,190,191,201,204,205,206,208,210,213,214,219,229,231,232,233,234,235,236,241,244,246,247,249,255,257,258,262,270,272,273,278,281,283,293,294,295,299,304,305,306,307,308,309,310,312,313,314,318,319,326,328,329,331,333,334,335,337,340,341,342,343,344,345,347,348,349,351,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,393,394,395,397,404,405,406,407,408,409,410,412,414,415,416,418,419,420,423,425,430,432,435,436,437,445,447,450,452],offend:[3,421],offer:[6,14,18,147,325,349,418,432],offic:7,offload:[1,12,16,17,210,333],offset:[3,6,57,144,168,194,195,205,256,327,349,369,373,405,423],offsit:8,often:[1,3,6,7,12,13,14,15,16,17,18,37,55,71,138,163,168,175,183,186,188,192,203,210,229,253,271,313,321,325,326,328,329,330,333,348,353,369,408,410,418,437,443,447],ohio:382,old:[3,6,9,172,192,195,229,380,392,397,424,427,431,434,447,450],older:[3,5,12,13,17,169,181,192,229,397],oldlac:169,oleinik:339,olfason:[6,25,314,363,435],oliv:169,olivedrab:169,ollila:[216,218,219,220],olmst:[178,251],omega0:314,omega:[],omega_dot:229,omega_ijk:410,omega_ik:408,omegai:[113,167,280],omegax:[113,167,280],omegaz:[113,167,280],omgea:6,omiss:[0,7],omit:[164,169,297,343,352,373],omp:[],omp_num_thread:[3,16,18,333],omp_proc_bind:17,ompi_comm_world_local_rank:12,on_the_fli:178,onc:[0,1,2,3,6,11,12,16,40,41,59,60,63,71,91,104,150,168,169,172,173,174,188,189,190,195,203,205,207,214,252,259,270,278,286,291,293,301,324,327,328,329,360,362,364,365,390,394,420,421,430,437,440,443,448],onelevel:420,onewai:[],ongo:210,oniom:[9,264],onli:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,59,60,61,63,64,65,66,67,68,69,70,71,72,73,75,78,79,80,83,86,87,88,90,92,93,96,97,98,99,100,101,102,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,127,128,130,131,132,135,136,137,138,139,141,142,143,144,147,148,150,151,153,154,155,156,157,158,159,161,162,163,164,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,198,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,250,251,252,253,254,255,256,257,259,260,261,262,263,264,265,266,267,270,271,272,273,274,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,313,314,316,318,319,321,323,326,327,328,329,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,423,424,425,427,428,430,431,432,433,434,435,437,438,439,440,441,443,448,449,450],only_group:142,onn:432,onset:[260,312],ontario:9,onto:[120,146,191,195,216,404],onward:2,open:[],opencl:[1,3,7,15,333],opengl:6,openkim:9,openmp:[1,3,7,9,12,16,17,18,333,436],openmpi:[12,14,15,16,17,18,333],opensourc:7,oper:[],opl:[],oppos:[6,39,165,167,269,297,319,327,423],opposit:[6,70,177,213,220,251,270,293,328,349,377,411,421],opt:[],optic:123,optim:[],option:[],optionn:17,orang:[2,168,169],orbit:[261,263,339,349,357,405],orchid:169,order:[1,2,3,6,9,11,12,14,16,27,38,39,41,56,59,65,69,71,79,87,89,90,92,93,108,112,115,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,148,153,163,164,167,168,169,172,175,180,182,183,184,185,186,187,189,190,191,192,193,198,200,205,207,209,210,212,216,217,219,227,229,251,259,260,264,267,268,269,270,271,272,273,274,279,285,289,290,291,292,302,303,304,306,307,309,312,313,318,327,328,334,335,336,339,348,354,355,357,358,360,361,364,366,369,377,380,392,393,394,405,406,407,408,409,410,411,413,418,420,421,423,424,428,430,432,433,437,440,443,448,452],orderomg:3,ordinari:[111,363,389],org:[6,7,11,12,13,14,391],organ:[0,3,6,7,8,348],organometal:25,orient:[],orienti:42,origid:181,origin:[3,6,7,9,12,71,81,103,104,114,118,140,144,146,166,168,169,172,173,174,181,184,185,189,190,194,198,205,214,226,229,247,253,256,266,270,271,277,288,315,317,318,321,325,334,335,337,339,349,352,353,354,355,363,366,380,389,392,393,408,410,411,412,420,423,424,425,426,427,428,447,450],origin_i:185,origin_x:185,origin_z:185,ornl:[7,9,15],orsi:29,ortho:[3,59,146,423],orthogon:[],orthograph:168,orthong:59,orthongon:[59,270],orthonorm:195,orthorhomb:260,os4:143,oscil:[6,9,129,190,194,197,198,214,226,227,229,260,265,270,295,296,298,300,327,336,411,443,448],oscillatori:226,oserror:11,other:[],otherwis:[1,3,12,14,16,17,18,37,39,55,71,102,111,118,123,124,137,145,163,169,170,179,181,189,190,194,203,205,207,214,229,270,313,314,326,333,341,364,368,378,379,390,413,418,421,423,424,443],otyp:[349,369,373,377],ouml:443,our:[5,6,7,8,13,216,273,384,408,410,443],out:[1,2,3,6,7,8,11,12,13,14,18,19,21,41,64,66,71,75,90,91,93,94,97,103,104,105,106,107,114,115,122,123,124,125,127,128,130,131,132,133,134,136,137,139,141,147,151,167,168,169,170,172,184,188,189,190,193,201,204,205,211,213,216,221,241,252,254,255,256,265,266,267,270,275,290,299,301,302,303,304,306,309,316,317,321,324,328,332,357,364,405,417,418,420,421,423,426,427,428,430,431,432,434,437,439,440,441,444,446,448,449,450,451,452],outcom:[270,449],outer2:[344,362],outer:[3,8,16,199,211,303,317,324,326,332,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,413,414,415,416,418,431,432,437,442],outer_distance_cutoff:363,outermost:[38,56,173,174,226,229,329,407,432],outfil:[13,420],outlin:[6,168],outmost:210,outpt:12,output:[],output_frequ:178,outsid:[3,57,59,71,134,144,166,167,168,169,170,183,184,195,205,211,270,271,278,283,284,297,298,300,301,316,328,340,342,349,357,369,371,387,395,421,423,424,426,433,440,449],outuput:181,outut:6,outward:[142,295,299,300,423,432],over:[1,3,5,6,7,9,12,16,18,27,39,41,42,55,60,65,68,69,71,79,80,87,88,89,90,92,101,103,105,108,115,116,120,121,124,127,130,138,140,153,164,168,170,172,173,174,180,181,182,183,184,185,186,187,188,189,190,194,195,203,206,207,211,213,214,215,219,227,228,229,230,231,232,234,235,246,247,248,249,251,256,257,260,267,268,269,270,271,274,275,278,281,282,283,284,286,289,292,293,295,297,298,299,300,301,304,317,320,328,329,330,333,347,353,355,356,357,358,363,378,380,390,396,397,405,406,408,409,410,419,420,421,426,428,429,431,432,437,440,441,448,449],overal:[6,18,25,59,138,192,198,229,230,253,273,278,303,324,357,363,364,396],overalap:270,overcom:[241,278],overflow:[3,327,329],overhead:[6,11,19,41,169,181,184,185,188,202,259,329,330,426],overkil:270,overlai:[],overlaid:7,overlap:[3,13,16,62,76,144,147,164,169,177,180,181,183,184,185,186,195,199,241,256,261,267,270,271,278,296,300,318,321,324,326,327,333,353,357,361,364,367,377,397,412,423,426,432],overload:1,overrid:[3,12,14,17,22,44,71,130,144,152,168,169,173,174,192,199,224,229,305,318,329,346,363,364,380,384,392,420,421,433,435,440,448],overridden:[6,144,168,233,270,378,384,397,405,431,448,450],overview:[],overwrit:[11,12,22,44,152,169,181,182,183,184,185,186,271,305,316,322,346,380,421,424],overwritten:[258,289,316,363,364,418,419,424],own:[3,4,6,7,8,11,12,13,15,17,39,41,59,61,63,65,66,69,71,73,75,79,90,92,93,104,106,113,114,115,117,119,124,127,139,141,142,167,169,172,178,180,181,182,183,184,185,186,188,191,192,194,203,206,207,213,214,216,224,227,229,231,232,233,234,235,246,247,249,253,257,265,270,271,281,282,283,292,318,328,333,335,339,348,356,366,390,392,393,406,408,409,410,420,433,440,449],oxford:[29,87,352],oxid:[348,349],oxygen:[6,40,202,349,369,373,423],oxygen_c:126,p_e:290,p_ik:390,p_pi:339,pacakg:[3,4,12,40,333],pack:[5,8,67,296,333,339,380],pack_bord:8,pack_border_bodi:8,pack_border_hybrid:8,pack_border_vel:8,pack_comm:8,pack_comm_bodi:8,pack_comm_hybrid:8,pack_comm_vel:8,pack_exchang:8,pack_restart:8,pack_revers:8,pack_reverse_comm:8,pack_reverse_hybrid:8,packaag:333,packag:[],packakg:15,packet:[7,9,40,168,336,357],pad:[3,167,168,169,253,448],padua:[9,13],page:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,22,37,40,42,44,55,57,59,63,66,68,75,87,90,93,102,104,105,106,107,109,112,114,117,119,121,123,124,137,139,141,144,145,146,152,163,167,168,169,170,172,173,174,179,180,181,182,183,184,185,186,195,205,212,213,214,224,229,230,234,235,239,246,247,248,249,256,259,270,275,278,281,282,283,292,296,299,301,303,305,313,317,326,327,328,329,333,334,335,338,346,348,349,355,356,358,363,364,366,367,380,381,382,384,386,390,391,396,405,406,408,410,412,421,423,424,425,426,428,431,432,433,435,440,441,448,449,450,451],pai:[15,18],pair:[],pair_:[87,173,174],pair_airebo:366,pair_charmm:377,pair_class:8,pair_coeff:[],pair_eam:334,pair_eff:130,pair_foo:8,pair_hybrid:[384,411],pair_interact:178,pair_list:368,pair_lj:377,pair_lj_cut:8,pair_lj_soft_coul_soft:87,pair_modifi:[],pair_sph:[398,399,400,401,402,403],pair_styl:[],pair_writ:[],paircoeff:3,pairfoo:8,pairij:[3,423],pairkim:3,pairstyl:8,pairwis:[],palegoldenrod:169,palegreen:169,paleturquois:169,palevioletr:169,pan:168,panagiotopoulo:[350,359],pandit:[9,263,393],papaconstantopoulo:334,papayawhip:169,paper:[3,6,7,8,9,13,39,40,64,120,132,138,156,213,216,220,228,255,261,263,270,278,286,290,293,318,325,328,335,343,349,361,363,366,371,373,389,392,393,408,410,418,437],paradyn:5,paraemt:394,paragraph:[71,132,295,321,424],parallel:[],parallelepip:[6,146,321,423,426],parallelipip:[146,252],paralleliz:255,param:[3,261,263,420,426],paramet:[],parameter:[118,143,335,339,348,349,355,356,357,358,366,380,381,382,390,392,393,406,408,409,410],parameter_fil:178,parameterizaion:349,parametr:[6,9,36,356,391,395],paramt:[105,261,297,394],paramter:348,paratem:377,paraview:271,parent:[3,8,301],parenthes:[38,56,164,361,407,448],parenthesi:[2,181,303,448],parinello:[6,7],pariticl:188,paritlc:3,park:[3,7,9,178,274,382,389],parrinello1981:192,parrinello:[192,207,227,229,230,260,282],pars:[],parser:[12,448],part:[0,1,2,3,6,7,8,9,11,12,17,20,21,23,24,25,26,27,28,29,30,31,32,35,36,37,38,40,41,43,45,46,47,48,49,51,53,54,55,56,64,67,70,71,72,78,80,83,96,97,98,99,100,101,105,107,108,109,111,112,115,120,121,122,123,126,128,130,131,135,136,138,142,147,150,151,153,154,155,156,158,159,161,162,163,164,167,169,170,172,175,176,177,179,185,187,188,189,190,191,192,193,195,197,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,222,223,224,227,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,260,261,262,263,264,265,266,267,269,270,272,273,274,275,277,278,281,283,284,285,286,287,288,289,290,291,293,294,295,296,297,299,301,302,303,304,306,307,308,309,312,313,314,318,319,326,327,328,329,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,420,421,423,424,425,426,430,431,432,435,441,448,452],partai:[9,391],parti:9,partial:[],partic:6,particip:[190,338,367,412],particl:[],particleenergi:3,particleviri:3,particular:[1,3,6,8,10,12,16,40,63,65,69,70,71,79,92,108,113,115,116,120,144,166,167,172,177,184,188,191,206,211,212,216,226,229,251,256,269,270,273,285,296,301,304,319,321,324,327,333,338,339,340,342,344,345,347,351,356,357,360,362,364,369,373,377,386,387,394,395,405,406,408,409,410,418,420,423,424,425,430,431,433,441,448,449,451,452],particularli:[7,9,12,15,16,25,39,168,192,270,319,357],partilc:278,partit:[],partitoin:62,partner:[3,7,61,189,190,191,214,278,293,411,433,438,443],pascal:[9,13,447],pass:[6,7,8,11,66,74,75,81,89,90,93,103,104,105,106,139,167,169,170,192,193,203,205,226,227,229,259,278,295,317,329,333,364,392,404,421,423,424,428,434,448,451],passphras:12,past:[],patch:[0,12],patchi:270,path:[3,6,7,11,12,13,15,170,212,228,253,274,278,285,290,328,334,335,339,346,355,356,358,366,380,381,382,386,390,391,392,396,406,408,410,424],patient:12,patom1:115,patom2:115,patrick:409,pattern:[3,7,12,62,73,425],pattnaik:270,paul:[0,7,13,213,215],pauli:[9,357],paus:431,paves:253,payn:[120,391,396],pb2:143,pb4:143,pbc:[295,336],pchain:[229,230,233,270],pcie:1,pd2:143,pd4:143,pdamp:[229,230,233,257,270],pdb:[6,13,170],pdf:[0,8,9,13,17,40,99,100,101,111,193,212,222,223,389,398,399,400,401,402,403,433],pdim:293,pdlammp:[78,80,389],pdlammps_ep:[111,389],pdlammps_v:389,pe_eta:229,pe_etap:229,pe_omega:229,pe_strain:229,peachei:13,peachpuff:169,peak:359,pearlman:87,peculiar:12,pedersen:319,peform:[39,262],penalti:[14,392,393],pencil:[6,71,132,184],pend:3,penetr:42,peng:143,penn:13,pentium:10,peopl:[7,8,9,12],peptid:[4,9,193],per:[],peratom:[3,110,121],perceiv:168,percent:[3,16,192,333,406],percentag:[1,192,229,256,257,270],percol:190,perfect:[6,41,70,73,188,251,328],perfectli:[41,188,424],perfom:[6,328],perform:[],performac:1,pergamon:[380,410,416],perhap:321,peri:[],peridyma:78,peridynam:[3,4,6,7,9,40,63,78,80,111,389,405,433],perimitt:350,period:[],perioid:295,perl:[6,13],perm0:447,perman:[3,39,54,71,148,189,190,210,269,301,333,363,427,435],permeabl:250,permiss:[190,421],permit:[6,216],permitt:[350,410,415,416],permut:[12,356,406,408,410],perpendicular:[6,123,168,194,211,221,226,228,251,254,295,296,325,423],perram:[319,360],persepct:168,persist:[3,8,71,203,270,333,420,421,429,448],person:9,persp:[3,168],perspect:168,pertain:[346,405],perturb:[9,13,70,87,225,268,295,298,300,428],peru:169,peskin:216,pessimist:319,petersen:[278,319],pettifor:[339,405],pettifor_1:339,pettifor_2:339,pettifor_3:339,pfactor:168,pforc:421,phantom:210,pharmaceut:7,phase:[3,12,16,229,285,293,339,369,409,420],phd:391,phenol:443,phenomena:357,phi0:[162,269],phi1:151,phi2:[151,356,406],phi3:[151,356,406],phi:[1,3,4,7,9,12,16,17,79,120,163,164,168,208,252,269,307,333,334,339,355,358,380,381,382,436],phi_ij:[339,358,390],philadelphia:9,phillip:[214,353,443],phillpot:[262,348,349],philosoph:355,philosophi:[6,7,212],phonon:[],phophor:396,phosphid:396,phy:[6,7,13,20,21,25,39,43,45,46,64,70,73,87,88,110,112,120,121,126,132,150,151,161,179,192,193,198,206,207,212,213,214,215,216,227,228,229,230,233,247,248,252,253,257,260,262,265,270,273,274,278,281,282,285,286,287,288,290,293,295,304,312,314,318,319,325,328,335,339,340,344,345,347,348,349,350,351,352,353,355,356,357,359,360,361,362,363,366,369,371,373,374,377,378,379,380,382,383,384,387,389,390,394,396,404,406,407,408,409,410,411,418,432,435,437,443],physic:[3,6,9,12,14,16,17,18,40,53,59,138,178,194,207,213,215,216,218,219,220,227,252,261,263,289,290,319,321,328,333,335,337,343,347,355,363,364,391,392,393,399,400,402,403,418,420,432,438,447],physica:[378,379],physik:[7,9],pic:9,picki:8,picocoulomb:447,picogram:447,picosecond:[169,194,441,447],picosend:357,pictur:7,piec:[3,11,120,169,229,430,452],pieter:13,pimd:[],pin:16,pink:169,pipe:[6,168],pipelin:[3,6],pisarev:290,pishevar:353,piston:[],pitera:6,pixel:168,pizza:[4,6,7,11,13,41,167,168,188],pjintv:13,pka:290,place:[3,6,7,9,11,12,33,41,50,71,87,138,144,148,157,164,167,168,169,171,172,173,174,190,191,194,205,206,207,209,212,213,214,215,217,219,220,229,234,235,246,249,256,259,268,270,281,282,283,290,295,298,300,317,346,363,405,412,420,421,424,431,433,441,448],placehold:[33,157,334,335,348,355,358,365,366,380,381,382,386,390,392,393,396,404,406,408,409,410],placement:[321,369],plai:[168,285],plain:[9,377,421],plan:[3,5,6,16,17,146,423],planar:[6,40,42,211,251,296,312,314],planck:[205,253],plane:[3,6,9,41,42,57,59,67,71,168,172,178,184,188,208,211,221,251,254,264,275,277,290,296,304,306,307,308,309,314,321,379,412,426,433],planeforc:[],plasma:[9,88,230,290,357],plastic:[],platform:[1,3,7,9,12,13,15,17,167,168,170,425,430,452],plath:[6,91,172,286,293],player:168,pleas:[0,3,7,11,12,13,178,207,216,220,252,255,266,285,301,356,358,389],plen:336,plimpton:[0,5,7,70,112,121,191,251,278,361,389],plo:29,plog:[3,12,432],ploop:[229,230,233],plot:[7,11,13,260,375,377,407,413],plu:[3,11,12,39,59,68,96,147,169,187,192,194,195,233,270,330,357],plug:9,plugin:[9,13,170,424],plum:169,pm3:143,pmb:[],pme:319,pmf:[193,274,275],png:[3,12,167,168],pni:168,poariz:6,poem:[],point1:423,point2:423,point3:423,point:[],point_data:271,pointer:[3,7,8,11,203,421],pois:447,poiseuil:[4,175,208],poisson:[59,194,319,361],poisson_solv:178,polak:325,polar:[6,7,120,143,178,197,348,349,369,411,443],polar_off:348,polar_on:348,polariz:[],poli:[],pollock:[7,319],polya:301,polybond:13,polychain:270,polydispers:[3,341,347,361,378,379,405,415],polygon:[6,142],polym:[],polymer:7,polymorph:[],polynomi:[38,56,164,355,375,384,400,407],polytechn:255,poor:[16,17,41,188,247,248,273,333,375],poorli:[325,326],pop:[3,8],popen:12,popul:[12,265,321,354,423],popular:[12,167,356],pore:275,poros:147,porou:[216,219],port:[210,212],portabl:[7,9,12,167,193,392,425],portion:[1,3,9,11,12,15,16,41,54,71,88,91,107,108,110,113,121,134,167,169,180,181,183,184,185,186,188,192,202,216,229,231,232,234,235,262,267,268,270,271,303,317,329,333,340,342,343,344,345,349,350,352,353,357,359,360,362,363,369,373,377,387,394,395,410,413,422,423,428,432,433,448],poschel:361,posfreq:267,posit:[3,6,14,27,39,40,41,42,46,57,59,70,71,81,89,90,103,104,108,117,118,120,121,127,142,143,144,146,147,148,153,155,164,166,168,169,172,173,175,177,179,180,181,183,184,185,188,189,190,191,192,193,194,195,198,200,205,206,207,208,210,211,213,214,215,216,218,219,222,223,226,227,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,255,256,257,260,261,265,267,268,270,273,274,275,277,278,280,281,282,283,285,287,288,289,290,293,295,296,297,298,299,300,301,304,318,321,328,335,336,338,341,353,354,357,359,367,372,393,404,407,412,418,423,426,433,443,448,449],posix:210,posix_memalign:12,possibl:[1,3,6,8,9,11,12,15,38,40,41,55,59,63,70,71,87,113,115,120,121,123,137,166,167,169,172,174,178,179,184,188,189,190,191,195,197,207,214,251,264,265,267,270,278,280,290,291,308,317,319,326,329,330,333,354,363,380,393,407,421,427,436,437,438,441,443,448,449,451],post:[],post_forc:8,post_force_integr:8,post_force_respa:8,post_integrate_respa:8,postit:[184,185,241],postiv:86,postma:[257,281],postprocess:13,pot:[361,393],potentail:358,potenti:[],potentiel:377,potetni:364,potpourri:9,pour:[],pourtoi:285,pow:194,powderblu:169,power7:17,power8:17,power:[3,9,11,105,120,169,265,318,333,339,421],pparam:[87,173,174],ppm:[12,167,168],ppn:[14,15,16,17,18,333],pppm:[],pppm_disp:3,pppmdisp:3,pproni:[3,206],pr3:143,pr4:143,practic:[3,12,192,229,230,252,259,420],prb:[408,410],prd:[],pre:[],pre_exchang:8,pre_forc:8,pre_force_respa:8,pre_neighbor:8,prec_tim:14,preced:[2,6,59,180,181,182,183,184,185,186,212,267,271,303,321,328,333,339,363,437,440,441,448],preceed:[11,12,71,132,182,295,421,448],precipit:142,precis:[1,3,9,12,13,14,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,144,150,151,153,154,155,156,158,159,161,162,164,167,169,175,187,192,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,261,262,263,270,272,273,281,283,294,304,306,307,308,309,312,314,318,319,326,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,392,394,395,397,406,407,408,409,410,412,414,415,416,425,432,433,436,441,443,447,448,449],precv:420,predefin:[162,169,301,357],predict:[1,6,10,241,270,333],preexponenti:437,prefactor:[24,25,28,32,35,36,138,152,163,173,174,182,295,306,309,312,326,347,359,386,394,395,397,415],prefer:[7,8,12,269,291,335],prefix:[11,12,168,193,252,417,420],preliminari:[38,56,164,407],prematur:326,prepar:[9,264,278,434,443],prepend:392,preprint:[120,396],preprocessor:210,prerecord:193,prescrib:[6,8,123,124,137,172,173,178,181,195,226,243,291],presenc:[167,189,190,216,219,378,379,415,450],present:[1,3,12,16,18,142,164,168,195,206,207,212,216,217,219,220,265,296,299,348,357,368,377,393,394,420,443],preserv:[3,59,192,194,229,273,278,300,424],press:[],pressdown:187,pressur:[],pressure_with_eviri:357,presum:[73,133,172,173,174,194,328,364,426],prevent:[2,3,6,195,204,278,289,312,318,324,326,328,333,353,364,388,399,400,402,404,421,425,431,443,448],previou:[],previouli:195,previous:[3,11,59,61,71,86,102,117,119,133,144,146,148,166,167,169,177,179,180,181,182,183,184,185,186,194,195,205,211,224,226,256,268,270,272,273,290,292,295,296,297,298,300,301,320,361,405,418,421,425,426,436,438,440,441,444,445,446,448,449],prevoiu:296,price:[6,352],primari:[0,9,290],primarili:[5,7,9,17],primaritli:17,prime:[198,214,362,367,408,410,420],primit:[3,6,298,299,321],princip:[3,210],principl:[6,9,11,210,230,261,357,365,406,420],prinicp:[42,270,327],print:[],printabl:2,printflag:365,printfluid:216,prior:[142,165,320,451],priori:432,prioriz:333,prism:[3,6,132,146,426],priveleg:3,privileg:[12,210],prob:[189,190],probab:397,probabl:[3,8,12,40,71,134,147,148,150,179,188,189,190,191,195,205,214,229,256,295,301,326,384,418,437,443],problem:[],problemat:205,proc:[1,3,8,11,12,15,113,167,317,420],proce:[41,54,148,188,199,328,430,438,441],procedur:[6,12,39,41,169,179,188,205,213,214,215,229,231,232,233,234,235,246,247,248,249,252,281,282,283,284,287,288,326,328,335,341,424,443],proceed:12,procesor:[41,420],process:[],processor:[],processsor:[41,188,420],procp1:167,procssor:432,produc:[1,3,4,6,7,12,13,14,15,16,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,41,42,43,45,46,47,48,49,51,53,54,56,63,65,68,69,71,79,92,108,109,110,112,113,114,115,117,119,121,122,131,150,151,153,154,155,156,158,159,161,162,164,167,169,172,175,180,181,182,183,184,185,186,187,188,191,201,203,204,206,207,208,213,214,215,224,226,229,231,232,233,234,235,236,244,246,247,249,256,260,261,262,265,270,271,272,273,279,280,281,283,290,291,292,294,295,298,303,304,306,307,308,309,312,314,319,326,328,331,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,390,393,394,395,397,406,407,408,409,410,412,414,415,416,418,420,425,428,429,432,437,448,449],product:[16,17,18,120,194,247,261,291,333,336,357,393,420,448],proessor:333,prof:255,profi:133,profil:[],program:[3,4,6,7,9,11,12,13,17,167,168,169,170,172,193,203,210,216,264,355,421,434,448],programm:[13,17],progress:[1,41,188,210,227,260,325,326,328,441,443],prohibit:433,project:[6,7,12,13,14,325,405],promis:7,promot:339,prompt:[8,11,12,210,434],proni:[3,206,207],proofread:8,prop:[6,259],propag:[4,9,177,229,260,357,364],propens:6,proper:[191,251,380,421],properati:259,properli:[175,200,270,327,328,421,449],properti:[],propoerti:278,proport:[6,39,41,87,103,104,140,188,213,214,215,260,286,293,294,361],proportion:213,propos:[6,120,179,192,205,229,247,265,369,382,409,411],prospect:7,protect:278,protein:[7,10,144,268,270,276,423,431],protocol:210,proton:[410,416,447],prototyp:[10,42,389],prouduc:[186,292],prove:216,proven:247,provid:[1,3,4,6,7,8,9,11,12,13,14,15,16,17,18,29,40,42,67,70,118,138,143,144,170,180,181,186,191,192,193,194,203,205,210,212,216,220,227,229,252,260,261,264,265,270,274,285,287,288,291,292,303,316,318,319,324,328,333,335,339,341,346,348,349,353,356,357,361,363,366,368,377,378,380,382,390,391,392,393,396,404,405,406,408,409,410,420,425,431,436,437,441,448],proxim:166,psa:298,pscreen:[3,12,432],pscrozi:[0,7,13],psec:[169,194,209,213,214,229,257,270,281,282,442,447],psend:420,pseudo:[357,418,423,428],pseudodynam:285,psf:6,psi:[358,415],psi_ij:358,pstart:[3,229,230,233,257,270],pstop:[3,229,230,233,257,270],pstyle:[87,107,173,174],psu:[392,393],psuedo:428,pt2:143,pt4:143,ptarget:192,pthread:[12,17],ptr:[6,11,203,421],ptype1:115,ptype2:115,pu3:143,pu4:143,pu6:143,publicli:5,publish:[7,216,220,261,349,380,408,410],pull:[274,275],puls:290,pump:[378,379],punctuat:[2,418,437],purchas:168,purdu:[9,13],pure:[11,278,364,381,382,408,410,432],purg:[3,424],purpl:[2,169],purport:11,purpos:[3,6,7,12,42,61,71,118,127,128,143,144,146,148,164,167,184,186,191,192,213,251,253,256,258,269,278,318,333,343,367,373,384,412,423,425,426,430,433,435,436,448,452],push:[3,8,175,187,194,211,228,251,268,274,326,361,397],pushd:211,put:[3,6,8,11,12,13,39,59,132,144,167,195,199,297,298,301,321,392,421,423,427],putenv:[434,448],px1:432,px2:432,pxx:[192,229,257,270,318,319,440,441],pxy:[3,6,441],pxz:[3,6,441],py1:432,py2:432,pydir:11,pyi:[192,229,257,270,318,319,441],pymol:[7,11,13],pymol_aspher:[],pympi:11,pypar:11,python:[],pythonpath:11,pyz:[3,6,441],pz1:432,pz2:432,pzz:[192,227,229,257,260,270,318,319,441],q_c:443,q_d:443,q_i:[358,377,411],q_j:377,qbmsst:[],qcore:261,qdist:[349,369,373,377],qeq1:261,qeq2:261,qeq:[],qfile:[261,349],qin:209,qmin:325,qmmm:[],qmol:264,qout:209,qtb:[],quad:[12,18,333,420],quadrat:[],quadratur:[87,178],quadrupl:334,quadruplet:[160,163,304,306,307,309,311,312,313],qualifi:[3,212],qualiti:[7,9,168,169],quantit:[74,81,103,104,105,140,361],quantiti:[],quantum:[6,9,120,203,207,253,260,264,265,339,357,405],quantum_temperatur:260,quartic:[],quartic_spher:178,quartz:[260,265],quasi:253,quat:433,quaternion:[3,6,40,82,113,123,144,231,234,237,238,239,246,360,423,433],quati:[113,423],quatj:[113,423],quatk:[113,423],quatw:[113,423],queen:13,quench:[301,418,437],queri:[3,11,54,243,421,448],quest:[6,203],question:[8,9,12,13,251,301,389,448],quick:[0,9,12,14,15,16,17,18,19],quickli:[3,4,8,12,13,39,188,194,210,278,325,326,328],quickmin:[324,325,326,328,437],quicktim:[4,168],quip:[],quit:[],quot:[2,3,12,219,258,303,380,418,419,421,431,448],r10:339,r12:360,r_1:120,r_2:120,r_c:[350,352,359,410],r_cut:339,r_d:443,r_e:358,r_ewald:271,r_fu:[378,379],r_i:[29,120],r_ii:120,r_ij:[29,339,357,390,416],r_ik:390,r_j:29,r_jik:390,r_max:185,r_me:350,r_mh:359,r_min:[185,351],r_ub:20,r_x86_64_32:12,ra2:143,rad2theta:143,rad:301,radhi:426,radial:[63,96,97,113,116,120,128,130,135,185,215,230,240,248,275,284,326,357,363,384,423,426],radian:[20,21,24,28,32,35,36,38,143,151,162,164,269,304,306,309,312,423,426],radiat:[118,143,290],radic:[146,423],radii:[76,120,191,195,347,355,360,361,378,379,415,426],radit:357,radiu:[3,6,63,76,84,85,89,90,113,118,120,137,142,167,168,172,185,211,216,230,232,235,240,244,248,249,263,275,276,278,280,295,296,299,301,325,339,341,347,357,358,361,369,377,378,379,380,396,410,415,423,426,433,448],radlo:426,rafferti:293,rahman:[6,7,192,227,229,230,260,389],rai:[9,17,143],ram:410,ramp:[],ran:[3,4,6,10,11],random:[3,6,39,144,147,166,168,177,179,189,190,191,193,195,202,205,206,207,213,214,215,216,225,253,256,260,265,268,270,278,282,285,290,294,297,341,353,354,418,433,438,443,448,449],random_se:418,randomli:[144,147,179,195,205,213,256,278,300,437,438],rang:[1,3,6,7,8,9,10,12,14,15,16,18,38,39,56,71,77,88,108,109,110,112,116,117,120,121,130,138,143,145,148,149,156,164,167,168,169,178,179,190,194,195,205,207,256,271,278,279,285,286,291,293,318,319,326,329,330,333,335,337,339,340,341,342,343,344,345,347,349,350,351,352,353,354,355,357,360,362,363,364,366,369,370,371,372,373,374,375,376,377,378,379,380,383,384,385,387,390,393,394,395,404,405,407,410,414,415,416,417,421,432,433,441,451],rank:[6,11,12,210,291,316,420],rankin:233,raphson:3,rapid:[4,6,11],rapidli:[3,8,12,71,191,213,227,229,270,281,282,294,349,353],rapp:[261,262,263],rappe_and_goddard:262,rare:6,rasmol:[6,7],rasmussen:360,raster3d:[6,7],rate:[6,12,127,169,178,194,195,209,210,211,256,260,286,287,288,289,293,324,325,354,378,379,418,437,441],rather:[1,2,6,9,12,40,41,62,112,127,168,188,194,206,207,270,282,290,294,296,297,298,301,357,392,407,424,428,433,435,440,448],ratio:[6,10,59,87,101,120,179,188,194,213,215,278,286,293,294,318,331,360,361,394,399,412,420,423,433,437],rational:[291,435],rattl:[],rattle_debug:273,ravelo:[233,371],rayleigh:[227,260],rb1:143,rbg:169,rcb:[3,41,188],rcm:[89,90],rcmx:[89,90],rcmy:[89,90],rcut:61,rcutfac:[120,396],rd1:328,rdc:17,rdf:[],rdn:328,rdt:328,rdx:4,reach:[6,12,41,119,188,190,192,214,233,278,285,303,317,332,350,443,448],react:6,reactant:357,reaction:[274,276,289,300,328,357],reactiv:[9,267,335],read:[2,3,6,7,8,9,11,12,13,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,38,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,115,142,144,145,147,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,167,168,169,170,171,172,178,179,191,192,194,195,205,207,210,226,227,229,231,232,233,234,235,246,247,248,249,252,253,255,256,258,259,263,270,273,274,277,280,288,289,290,296,304,305,306,307,308,309,311,312,313,314,315,317,323,327,328,332,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,413,414,415,416,418,420,423,424,425,427,428,429,430,431,433,434,435,437,448,449,450,452],read_data:[],read_dump:[],read_restart:[],read_restart_set:8,readabl:[168,327,430,452],reader:[3,13,424],readi:[11,12,145,147,148,210,433,443,450,451,452],readm:[1,4,6,8,9,11,12,13,142,167,170,264,365,392,393,421],real:[3,6,7,11,27,30,31,59,71,91,120,133,144,153,166,169,177,184,185,194,195,198,210,211,214,226,253,260,265,268,294,295,297,298,300,308,318,319,321,324,330,349,384,392,393,410,423,426,432,440,442,447,449],realist:[3,195,427],realiz:[71,172,421],realli:[1,3,8,12,112,121,169,211,329,364,435],realloc:3,realtim:210,reamin:[295,299],rearrang:328,reason:[3,6,7,11,12,19,39,125,136,144,181,184,185,213,257,270,287,288,291,301,327,328,333,346,350,357,358,359,379,384,412,413,427,432,449],reax:[],reax_def:3,reaxc:[],reaxff:[3,4,5,7,9,13,172,261,263,266,267,364,392,393,405,435],rebal:[41,188],rebalanc:[41,188],rebo:[],rebuild:[11,12,14,15,16,205,329,353,441],rebuilt:[3,12,167,168,170,329,333],recalcul:[71,87,278],receiv:[3,187,210,212,251,420],recent:[],reciproc:[6,118,143,252,318,340,342,343,349,352,357,369,373,387,395,437],recog:12,recoginz:3,recogn:[3,12,16,73,146,189,190,229,327,355,380,392,421,423,430,431,443],recommend:[7,9,11,12,14,16,168,169,260,288,318,357,378,379,393,394,432],recompil:[1,3,9,12,170,273],recomput:[102,148,199,274,354,435],reconstruct:[3,193],record:[170,193,274],recov:[192,229],rectangl:[41,188,321],rectangular:[7,41,62,146,188,205,321,423,425,427],rectilinear:[118,143],rector:53,recurs:[41,188,339,412],recust:41,recv:420,red:[2,10,168,169,191,253],redefin:[3,425,431,448],redirect:12,redo:12,reduc:[],reduct:[18,19,117,118,143,227,260,318],redund:358,ree:400,reed:[227,260],rees:[7,9,13],ref:[287,288,325],refactor:6,refer:[],referenc:[3,6,12,63,68,71,114,167,172,182,186,205,259,292,319,349,363,386,394,421,441,448],reflect:[],reformat:7,refresh:178,reg:426,regard:[6,59,226,273,389,393],regardless:[15,71,144,147,166,183,184,194,213,229,231,232,234,235,257,270,278,333,420,426,433],regim:[6,286,293,350,432],region:[],region_spher:8,region_styl:299,regist:[116,392,393],regoin:6,regress:448,regspher:144,regstrip:301,regul:6,regular:[1,3,9,41,62,88,142,146,179,188,205,290,319,350,404,420,423,425,427],reigon:448,reinhardt:[287,288],reject:[144,191,392,438],rel:[1,6,14,27,36,41,59,71,120,123,126,127,129,144,153,169,172,179,184,188,194,195,198,205,211,225,226,247,251,256,265,267,268,274,275,278,280,285,286,290,297,301,318,319,326,357,360,361,378,379,380,394,415,424,432,437,441,443,449],relat:[],relatic:[198,214],relationship:[6,261,303,318,415,443,448],relax:[],releas:[0,5,7,8,13,189],relect:[3,384],relev:[2,6,12,41,78,80,111,144,148,169,173,174,177,178,179,180,181,182,183,184,185,186,187,188,189,190,194,195,196,199,201,202,204,205,206,209,210,216,217,218,220,221,222,223,225,226,228,236,237,238,239,240,241,242,243,244,245,250,254,255,256,258,259,262,264,266,267,268,271,272,273,274,276,278,279,280,285,286,289,290,291,292,293,294,295,296,297,298,300,301,318,326,336,337,341,347,349,350,352,353,354,357,359,360,361,362,363,368,370,371,372,374,375,376,378,379,384,385,389,394,397,404,407,414,415,416,420,436,449],reli:[3,12,262,357,393,423,433],reloc:12,remain:[7,33,37,41,50,55,59,71,87,104,124,125,126,127,131,132,133,134,136,147,157,163,164,167,173,174,179,181,182,184,185,192,194,213,214,221,229,230,234,235,246,247,249,254,255,278,281,282,283,289,290,301,303,310,313,327,339,357,364,377,384,405,418,423,424,428,433,435,437,441,443,448,449],remaina:339,remaind:[144,167,195,256,278,291,410,423],remap:[3,6,12,59,61,71,127,144,166,184,194,211,226,247,318,423,424,425],remedi:[6,443],rememb:2,remov:[2,3,6,8,9,13,54,71,77,114,116,120,123,124,125,126,127,131,132,133,134,136,137,144,147,148,172,181,184,189,202,213,214,219,225,227,229,234,235,246,247,249,255,261,270,271,273,278,281,282,283,285,301,318,328,352,379,423,426,434,435,448,449],remove_bia:8,remove_bias_al:8,remove_molecul:178,remove_sourc:178,remove_speci:178,ren:143,renam:[12,302,434],render:[12,13,167,168,169],rendon:[229,230],reneighbor:[3,8,12,39,57,71,184,188,205,278,291,301,353,440,441],renssela:255,renumb:71,reorder:[3,12,39,420],repeat:[2,6,168,169,184,191,192,205,321,339,408,410,412,418,437],repeatedli:2,repel:211,repes:167,replac:[2,3,6,11,12,41,63,89,90,117,122,123,124,125,126,127,130,131,132,133,134,136,137,167,168,169,170,181,182,183,184,185,186,188,191,195,213,233,258,265,267,349,371,424,425,430,431,441,448,449,450,452],replic:[],replica:[],replica_fil:12,report:[],repositori:[7,12,365,391,392,393],reprens:290,repres:[1,3,6,8,9,12,15,40,41,42,59,67,71,90,113,116,156,164,167,168,181,182,183,184,185,186,192,198,206,208,213,216,229,253,255,257,265,270,271,274,275,290,292,299,319,328,334,339,360,367,377,378,379,380,381,382,387,390,392,393,411,412,418,420,423,433,435,438,443,448,450],represent:[3,6,8,57,59,146,167,206,207,253,290,339,357,360,394,423,426,443],reprocess:428,reproduc:[3,229,296,349,355,361],repul:380,repuls:[6,7,9,36,45,46,108,211,261,295,296,299,335,339,347,349,353,357,361,363,377,380,383,404,410,415,416],reqir:[261,263],request:[3,6,8,12,41,147,164,167,210,216,268,278,280,316,318,392,393,418,428,433,436,437,448,449,450],requir:[],rerun:[],rescal:[],research:[5,7,216,220,418,437],resembl:265,reserv:[12,210,443],reservoir:[91,205,209,213,290],reset:[],reset_atomic_reference_posit:178,reset_dt:8,reset_target:8,reset_tim:178,reset_timestep:[],resid:13,residu:210,residue1:329,resist:[6,210],resolut:407,resolv:[192,253,278,379],resort:3,resourc:[7,334,355],respa:[3,16,199,210,229,331,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,431,432,442],respect:[1,6,9,10,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,42,43,45,46,47,48,49,51,53,54,56,59,70,71,87,89,96,97,118,126,129,138,142,143,150,151,153,154,155,156,158,159,161,162,164,168,169,184,185,190,191,192,208,211,213,214,216,229,231,232,233,234,235,236,244,246,247,249,261,262,270,271,274,275,277,290,295,304,306,307,308,309,312,314,316,318,319,323,326,327,332,333,334,335,337,339,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,394,395,396,397,406,407,408,409,410,411,412,414,415,416,420,424,432,433,436,443,448,450,452],respon:9,respond:[6,7,127,194,357,389],respons:[6,7,227,286,293],resquar:[],rest:[6,8,12,259,263,269,339,379,380,440,441,443],restart1:253,restart2:253,restart2data:[],restart:[],restartfil:[12,13],restor:[3,8,60,61,144,173,174,259,274,275,280,440,441],restore_bia:8,restore_bias_al:8,restrain:[],restraint:[9,193,227,269,277,368],restratin:269,restrict:[],result:[1,2,3,6,7,9,11,12,13,15,16,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,43,45,46,47,48,49,51,53,54,56,63,64,66,67,71,75,87,90,91,93,104,106,109,110,112,114,115,116,117,118,119,121,122,124,127,131,138,139,141,143,144,147,150,151,153,154,155,156,158,159,161,162,164,167,168,169,172,175,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,198,201,204,205,206,208,213,214,216,220,227,229,231,232,233,234,235,236,244,246,247,248,249,252,253,261,262,267,268,270,272,273,278,281,283,286,287,288,290,291,292,294,295,296,298,300,303,304,306,307,308,309,312,314,318,319,328,331,333,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,389,393,394,395,397,406,407,408,409,410,411,412,414,415,416,418,420,423,425,426,427,428,432,433,434,435,437,447,448,449],resum:448,retain:[2,189,190,339,420],retart:[33,50,157,310],retreiv:8,retriev:[6,8,203,381,382,448],reus:[3,435],rev:[6,13,64,70,110,120,121,132,179,207,213,215,227,229,230,233,247,252,262,265,270,274,278,282,285,287,288,293,325,339,347,348,349,352,355,356,357,360,361,366,371,378,379,380,382,390,394,396,406,408,409,410,418],revers:[2,6,8,87,155,191,211,229,250,251,261,286,287,293,328,377,432,443],review:[120,261,274,285,391,396,418,437,443],rewind:317,rewrap:167,rewrit:[5,12],rewritten:19,rezwanur:389,rfac0:[120,396],rfactor:278,rfile:270,rg0:276,rgb:169,rh3:143,rh4:143,rhaphson:3,rheolog:6,rhi:407,rho0:[380,402,403],rho0_meam:380,rho:[40,113,216,289,321,334,340,342,343,355,380,381,382,394,399,401,423,447],rho_0:[402,403],rho_alpha_beta:355,rho_bkgd:380,rho_colloid:295,rho_e:290,rho_fin:289,rho_i:[381,382],rho_initi:289,rho_ref_meam:380,rho_wal:295,rhodo:10,rhodopsin:[1,10],rhosum:[],ribier:325,richardson:270,richi:[9,19],rick:[261,262,348],rick_and_stuart:262,ridg:[9,19],right:[3,6,11,12,41,144,162,163,166,188,191,211,216,226,250,303,321,349,411,423,426,433,448],rightmost:[41,188],rigid:[],rigidifi:270,rii:[89,90],rij:[189,190,251,353,404],rin:[363,374,375],ring:[],rino:73,rinv:318,rirj:[296,361],rise:29,risi:[120,396],risk:[8,269,432],rix:[89,90],rjk:[189,190],rjone:[7,9,13],rlo:407,rmask:[3,448],rmass:3,rmax:[145,189],rmdir:434,rmin0:[120,396],rmin:[145,190,371],rmsd:289,rnemd:6,robin:169,robust:[324,325,326],rock:380,rockett:390,rod:270,rodata:12,rodnei:265,roi:7,role:285,roll:12,room:[57,59],root:[11,87,89,90,285,289,333,355,430],rosati:39,rose:380,ross:380,rosski:253,rosybrown:169,rot:[6,91,253,269,285,449],rotat:[],rotaton:426,rough:[6,144,168,300],roughli:[7,10,12,41,127,142,168,205,213,214,228,229,241,257,270,278,281,282,285,319,328,333,425,432],round:[1,3,12,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,71,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,169,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,331,334,335,337,340,341,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,425,432,447,448],rous:206,rout:[87,363,377],routin:[5,6,8,11,15,16,38,39,56,88,148,150,216,391,407,436],roux:[6,198,214,411,443],row:[6,65,66,68,69,75,79,90,92,93,104,106,108,114,115,116,119,124,132,139,141,143,181,182,183,184,185,186,219,270,290,292,300,357],royalblu:169,rozero:380,rperp:226,rpi:255,rpm:12,rrespa:[1,3,5,7,8,16,173,174,226,229,329,334,335,336,337,338,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,378,379,380,381,382,383,385,387,389,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,412,414,415,416,432],rspace:3,rsq:[407,413],rsurfac:290,ru3:143,ru4:143,rub:20,rubia:[381,382],rudd:[384,407],rudra:[7,9],rudranarayan:[7,255],ruiz:179,rule:[],run1:[6,332,448],run2:[6,315,317,332,448],run3:[6,332,448],run4:[6,332,448],run5:[6,332,448],run6:[6,332,448],run7:[6,332,423,424,428,448],run8:[6,332,448],run:[],run_styl:[],runloop:317,runtim:[12,17,168,333],russia:9,rutherford:290,rutuparna:[408,410],ryan:9,ryckaert:[273,312],rycroft:142,s00:389,s0st:6,s2050:1,s2629:355,s319:178,s_i:[6,357],s_ij:6,sack:7,saddl:[228,328],saddlebrown:169,sadigh:[179,355,381,382],saed_vtk:118,safe:[12,168,198,214,333],safe_zon:3,safest:[3,278],safezon:393,safran:415,sagui:[319,352],sai:[1,3,12,13,169,392,393,421],said:326,sakai:409,salmon:169,salt:[350,359,380,423],same:[1,2,3,4,6,8,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,41,43,44,45,46,47,48,49,50,51,53,54,56,57,59,62,63,65,69,71,72,77,79,81,82,84,85,87,88,89,90,91,92,94,97,103,104,105,108,109,110,112,113,115,116,117,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,140,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,164,165,166,167,168,169,172,173,174,175,178,179,181,183,184,185,186,187,188,189,190,191,192,194,195,199,200,201,204,205,206,207,208,209,210,211,212,213,214,215,216,219,226,229,231,232,233,234,235,236,244,246,247,248,249,251,252,253,255,256,257,260,261,262,263,265,266,267,268,269,270,272,273,274,275,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,296,297,298,299,301,303,304,305,306,307,308,309,312,314,318,319,321,322,323,327,328,329,330,331,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,383,384,385,386,387,389,390,394,395,397,404,405,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,428,431,432,433,434,435,436,437,441,443,447,448,449,451],sampl:[1,2,4,6,9,10,11,12,14,91,123,137,142,166,168,181,182,184,185,193,195,203,205,207,209,229,230,253,256,265,267,271,275,276,278,282,285,288,300,329,339,354,423,437],sample_frequ:178,san:389,sandia:[0,5,7,9,13,14,17,70,111,358,380,389],sandybrown:169,saniti:[269,329],satellit:6,satifsi:448,satisfi:[3,12,73,118,120,142,143,192,216,233,273,298,326,329,361,437],satur:350,save:[6,8,12,19,40,59,164,168,191,206,207,213,214,215,256,265,290,319,329,331,339,425,428,435],sb3:143,sb5:143,sc3:143,scalabl:[],scalar:[],scale:[0,1,3,4,5,6,9,10,13,18,40,59,63,91,113,116,117,120,130,138,164,167,168,169,172,173,174,178,179,182,192,194,205,209,210,211,213,215,216,227,229,231,232,233,234,235,253,257,260,261,270,278,280,282,285,287,288,290,294,301,318,319,321,330,334,335,336,350,354,357,361,378,379,380,389,411,424,426,428,432,435,437,440,441,448,449],scalegamma:216,scalexi:[3,192,229,233],scalexz:[192,229,233],scaleyz:[192,229,233],scan:[169,190,317,424],scatter:[11,118,143],scatter_atom:11,scatter_coord:11,scenario:[6,40,61,191,259,268,278,291,299,329,427,428,432,440],scf:443,schaik:377,schedul:418,schell:409,schemat:191,scheme:[6,9,18,206,207,229,253,265,273,290,318,411],schlitter1:289,schlitter2:289,schlitter:289,schmid:353,schneider:[213,215],schoen:318,schr:443,schroding:357,schroeder:443,schulten:[214,274,319,443],schunk:278,schwen:9,sci:[73,298,348,382,390],scienc:[8,178,191,210,274,287,355,381,409],scientif:[120,355],scm:11,scratch:[12,41,188],screen:[],screenshot:11,scripe:11,script:[],scripta:67,scsl:12,sdk:[],sea:11,seagreen:169,seamlessli:259,search:[0,2,3,8,12,145,147,169,170,278,324,325,326,328,330,418,424,425,437,448],seashel:169,sec:[12,442,447],second:[1,3,6,9,10,11,12,16,17,54,57,59,61,71,88,91,105,112,121,132,138,142,143,145,146,147,166,167,169,172,181,182,183,184,185,186,191,205,206,211,226,228,253,267,269,270,273,274,275,276,278,287,288,290,301,318,321,325,326,328,329,333,338,339,340,342,343,348,349,355,357,358,361,362,364,368,371,380,384,386,406,409,410,411,418,419,420,421,423,425,430,432,436,437,441,443,447,448,449,450,452],secondari:[3,156],sectinn:451,section:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,58,59,63,64,65,66,67,68,69,71,74,75,78,79,80,81,83,86,87,88,89,90,91,92,93,96,97,98,99,100,101,103,104,105,106,107,108,109,111,112,113,114,115,118,119,120,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,145,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,170,172,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,193,194,195,197,198,200,201,202,204,205,206,207,208,210,212,213,214,215,216,217,218,219,220,222,223,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,244,245,246,247,248,249,251,252,253,255,256,257,259,260,261,262,263,264,265,266,267,270,272,273,274,278,281,282,283,284,285,286,287,288,289,290,291,293,294,296,297,301,302,304,305,306,307,308,309,310,312,313,314,319,320,321,323,327,328,330,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,418,419,420,421,423,424,428,431,432,433,434,436,437,438,441,443,448,449],section_acceler:[9,12,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,109,112,122,131,150,151,153,154,155,156,158,159,161,162,164,175,187,201,204,208,213,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,281,283,294,304,306,307,308,309,312,314,319,334,335,337,340,342,343,344,345,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,381,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416,432],section_accerl:355,section_command:[0,1,9,303],section_error:[7,12],section_exampl:[2,6],section_histori:[7,12],section_howto:[6,8,9,11,12,40,42,57,59,64,66,67,68,70,71,72,73,75,76,77,78,80,81,82,83,84,85,86,87,89,90,93,94,95,96,97,98,99,100,101,104,106,109,110,111,114,116,117,120,121,124,126,138,139,141,142,146,165,181,228,239,242,245,293,338,351,418,423,426,437],section_modifi:[6,7,42,167,168,441],section_packag:12,section_perf:7,section_python:[6,12],section_start:[3,4,6,9,11,322,328,417,418,432,438,441],section_tool:[6,7],see:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,299,301,302,303,304,305,306,307,308,309,310,312,313,314,315,318,319,321,322,323,325,326,327,328,329,330,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416,417,418,419,420,421,423,424,425,426,428,429,430,431,432,433,435,437,438,439,440,441,442,443,448,449,450,451,452],seed1:438,seed2:438,seed:[3,144,147,166,168,177,179,189,190,191,193,195,202,205,206,207,213,214,215,216,253,256,260,265,270,278,282,285,290,297,341,353,354,418,433,438,443,448,449],seed_com:214,seed_drud:214,seek:[41,188],seem:[6,192,291,325,380,432],seen:[12,216,299],segement:3,segment:[3,4,6,7,40,42,82,113,172,242,270,278,353,367,393,404,405,423,431,433],select:[6,12,15,17,59,71,117,118,133,138,143,144,164,168,170,177,179,184,185,194,195,202,205,210,211,226,274,277,285,286,291,293,295,297,298,300,316,318,324,328,330,333,363,368,380,420,424,426,432,433,437,448],self:[],sellerio:13,semi:[3,170,178,179,250,252,424],semiax:123,semimet:357,send:[0,3,5,7,8,11,12,169,210,420],sender:[3,420],sens:[1,3,6,7,18,39,41,42,59,163,167,181,183,184,185,186,188,191,194,206,207,212,213,214,215,256,260,265,271,278,285,286,290,293,301,328,349,369,373,408,409,410,418,423,428,432,435,440],sensabl:210,sensibl:104,sensit:[2,6,73,192,265,449],sent:[169,210,316],separ:[2,6,7,12,13,40,41,76,116,120,142,144,147,169,170,178,182,188,189,190,191,192,195,198,205,213,214,229,241,253,256,257,259,261,265,270,273,278,281,282,283,286,293,301,319,333,340,342,349,350,352,378,379,380,386,391,396,405,406,407,410,415,421,423,424,425,432,435,440,443,449,450,451],seper:350,sequec:448,sequenc:[2,3,12,41,59,167,168,169,170,188,207,228,301,321,328,364,390,438,448],sequenti:[59,60,169,390,424],sequestr:7,ser:252,seri:[3,4,6,13,18,120,167,168,169,182,186,206,207,256,332,335,360,380,384,394,397,407,421,430,431,440,441,448],serial:[],serial_icc:12,serious:8,serv:[6,146,278,404],server:[1,212,333],set:[],set_callback:203,set_energi:203,set_vari:[6,11,421],setarea:216,sete:[181,191],setenv:[11,12,346],setfl:[13,334,355],setforc:[],setgamma:216,setmask:8,settl:192,setup:[3,4,6,7,8,11,12,13,16,37,40,55,59,71,87,91,132,145,146,147,148,163,169,178,191,194,278,291,313,329,330,333,405,420,423,431,450,452],setup_pre_exchang:8,setup_pre_forc:8,setup_pre_force_respa:8,seven:382,sever:[1,4,5,6,7,8,10,11,12,13,15,18,39,40,63,71,87,138,145,148,163,167,170,172,178,189,190,192,207,213,216,220,229,255,257,259,270,274,278,285,294,316,321,326,333,336,339,343,354,355,364,373,377,380,384,390,392,393,418,421,425,429,437,441,443,448,449],sfactor:[3,168,169],sfftw:12,sgi:12,sgmc:179,sgrid:278,sgroup:142,shade:168,shake:[],shan:[17,262,348],shanghai:[9,13],shape:[3,6,8,40,41,58,59,62,71,82,113,123,127,128,144,146,166,168,169,172,173,184,188,192,194,213,227,229,231,234,237,238,246,247,260,278,291,299,338,360,394,420,423,424,425,433],shapei:[113,423],shapex:[113,423],shapez:[113,423],shapshot:428,share:[],shared0:12,sharon:270,sharp:[299,380,410],shawn:9,shear:[3,4,5,6,7,9,59,61,127,166,192,194,216,229,247,278,293,296,361,378,379,389],sheet:427,shell:[],shen:9,shenderova:335,sheppard:325,shflag:12,shield:[],shift:[],shiftse:278,shiga:[6,229,230],shini:[168,451],shinoda:[6,9,229,230,395],shiny:168,ship:170,shlib:[11,12],shlibflag:12,shock:[4,9,172,177,227,233,260,297,371],shockvel:[227,260],shortcut:[192,229,257,270],shorter:[3,119,205,251,330,384,431],shortest:[168,330,336,432],shorthand:169,shoul:412,should:[1,2,3,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,61,70,71,73,81,83,87,91,96,97,98,102,103,109,110,112,121,122,123,126,127,130,131,132,134,137,140,142,144,146,148,150,151,152,153,154,155,156,158,159,161,162,164,165,166,167,168,169,173,174,175,176,179,187,188,189,190,191,192,194,195,197,198,200,201,202,203,204,205,206,207,208,209,211,213,214,215,216,218,219,220,221,226,229,231,232,233,234,235,236,241,244,246,247,249,251,252,253,254,255,256,257,258,260,261,262,263,264,265,266,267,268,269,270,272,273,275,278,279,281,282,283,284,285,286,289,290,291,293,294,295,296,297,298,299,300,301,303,304,305,306,307,308,309,312,314,319,321,322,324,326,327,328,329,330,331,333,334,335,337,338,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,384,385,386,387,388,389,391,392,394,395,397,404,406,407,408,409,410,411,412,414,415,416,418,419,420,421,423,424,425,426,427,428,430,431,432,433,435,439,440,441,443,448,449,450],shouldn:[3,8],show:[6,11,12,116,251,328,363,380,384,407],shown:[1,12,17,41,96,97,118,120,130,143,163,188,191,213,229,247,253,256,265,285,318,357,358,360,361,377,394,423],shrank:71,shrink:[3,6,41,57,59,71,146,166,167,168,173,174,177,188,194,195,211,216,251,278,297,301,318,319,326,349,369,373,384,423,424],shrunk:71,shut:[6,11,329,422],si4:143,siam:298,sic:[4,349,364,380,386,406,408,410],sic_tersoff:390,sicc:[356,406,408,410],sicg:[408,410],sicsi:[356,406,408,410],side1:426,side2:426,side3:426,side4:426,side:[3,8,41,57,61,134,144,179,180,188,191,195,205,211,216,226,251,256,264,275,295,299,300,301,328,349,360,361,394,412,421,423,426,433],sidewai:4,sienna:169,siepmann:293,sigam:347,sigam_ii:367,sige:[408,410],sigma0:339,sigma14:377,sigma1:339,sigma2:339,sigma:[3,6,10,45,46,50,54,87,150,167,169,173,174,205,216,251,278,294,295,299,321,330,333,335,338,339,340,344,345,347,352,353,354,356,357,360,362,363,367,368,369,370,371,372,373,374,375,376,377,383,384,394,395,400,406,412,432,447,448,449],sigma_14:344,sigma_:350,sigma_c:347,sigma_cc:[335,347],sigma_h:359,sigma_i:[358,384],sigma_ii:[367,412],sigma_ij:[367,384,412],sigma_j:384,sigma_max:354,sigma_ss:347,sign:[3,6,12,155,163,250,275,298,303,431,440,448],signicantli:17,signifi:[3,66,75,90,93,104,106,114,124,139,141],signific:[7,12,18,86,206,227,230,265,278,291,357,360,380,450],significantli:[1,6,39,121,142,216,229,269,357,406],sij:182,sikandar:17,silbert:361,silent:[169,421,434],silicon:[356,380,406,423],sill:389,silver:169,sim:[9,395],similar:[5,6,7,8,9,12,17,18,40,41,46,59,68,87,112,115,121,144,145,167,169,172,173,174,181,188,203,204,206,213,219,220,230,259,260,265,269,270,282,285,295,296,298,300,319,324,325,327,335,338,339,353,355,357,361,377,378,384,389,390,420,425,430,432,437,439,441,443,448,449,450,452],similarli:[3,6,7,8,59,112,140,146,148,166,167,168,169,180,181,183,184,185,186,190,194,200,211,229,231,232,234,235,255,257,270,271,273,278,285,286,293,299,304,319,321,328,331,343,361,373,406,420,423,426,427,432,433,437,451],simluat:[6,39,169,278,378,424,425],simlul:[270,290],simmul:293,simpl:[],simpler:[8,42,169,270],simplest:[3,8,40,66,75,90,93,104,106,114,116,124,139,141,261,443],simpli:[1,3,6,8,11,12,14,17,66,71,75,88,90,93,95,104,106,113,114,119,124,139,141,147,148,169,172,173,174,181,183,184,185,186,190,192,194,198,203,212,214,219,229,253,257,268,270,271,286,292,293,318,319,321,327,328,333,343,352,364,373,380,384,420,421,428,431,438,441,447,448],simplif:357,simplifi:[179,269],simplist:11,simualt:319,simul:[],simulatan:333,simulation_nam:393,simulatoin:[12,424],simult:333,simultan:[6,7,15,16,194],sin:[194,226,295,298,300,390,423,426,433,448],sinc:[0,1,2,3,6,8,9,10,11,12,13,15,16,21,22,33,39,41,44,54,59,64,67,71,73,89,90,110,116,118,123,124,134,142,146,147,149,150,152,157,167,168,169,172,173,174,175,176,179,180,181,182,183,184,185,186,187,188,191,192,193,194,195,199,200,205,207,209,212,213,215,216,226,229,231,232,233,234,235,238,241,247,251,253,256,258,259,265,268,270,274,277,278,286,290,291,292,293,295,296,299,300,301,302,304,305,317,319,326,327,328,329,332,333,334,335,339,342,343,344,345,347,348,352,353,354,355,356,360,361,362,364,365,366,368,369,371,372,373,374,375,376,377,378,379,380,381,382,384,387,390,391,392,393,394,395,396,397,406,407,408,409,410,416,418,420,421,423,424,425,426,428,431,432,433,434,435,437,441,443,447,448,449,451],sinclair:[7,355,405],sine:390,singapor:120,singh:334,singl:[1,2,3,6,7,8,9,11,12,14,15,16,17,18,40,41,42,57,59,61,63,65,66,68,69,75,77,79,87,88,90,92,93,104,106,108,113,114,115,116,117,119,124,139,141,142,144,167,168,169,170,172,177,180,181,182,183,184,185,186,188,190,191,192,195,198,202,204,209,216,219,226,229,230,233,241,253,255,256,258,269,270,271,273,278,280,290,292,295,296,298,300,301,303,318,319,324,327,328,329,330,332,333,334,335,339,344,346,348,354,355,356,357,358,361,362,363,364,365,366,380,381,382,384,386,387,390,391,392,393,394,396,397,406,408,409,410,418,419,421,423,430,431,432,433,434,435,436,437,440,448,451,452],singleel:339,singular:[377,378,379],sinnott:[262,335,348],sinusoid:[144,194,295,296,298,300],sio:348,sirk:[121,404],sisic:[356,406,408,410],sisisi:[356,406,408,409,410],sister:346,sit:[252,423],site:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,67,70,87,210,216,217,273,319,334,339,349,355,359,369,373,377,387,392,393,411],situat:[9,192,205,216,229,253,271,325,339],sival:143,six:[6,120,182,183,386,390],sixth:386,sixthpow:[345,384],size:[],size_restart:8,sizex:235,sjplimp:[0,7,11,12],sjtu:9,skew:[3,6,58,59,146,168,194,229,423,426],skin:[3,12,39,61,73,115,145,147,205,241,270,290,329,330,333,388,441,447],skip:[12,16,33,157,255,317,327,332,368,423,428,431,440,448],skyblu:169,slab:[3,6,71,132,184,256,275,318,319,329,384],slateblu:169,slategrai:169,slater:[],sleight:54,slepoi:380,slice:[],slider:11,slight:[3,12,290],slightli:[1,6,39,40,167,168,170,265,270,319,335,349,367,369,373,408,410,418,431,450],sligthli:352,sliozberg:404,slip:[3,172,278,294,300],sllod:[],slope:[6,103,104,286,288,293,350,448],slot:1,slow:[3,6,7,12,39,206,210,213,214,227,278,285,318,328,333,384,432,443,449],slower:[1,10,17,39,214,319,333,339],slowest:[290,420],slowli:[12,71,188,294,326,397,425],slurm:12,slurm_localid:12,sm3:143,small:[],smallbig:3,smaller:[1,3,6,12,16,17,39,56,59,61,71,119,142,146,167,168,169,179,195,199,205,216,252,270,278,288,303,318,319,324,333,367,384,405,412,413,423,430,432,452],smallest:[3,70,72,142,227,267,448],smallint:3,smallq:319,smallsmal:[3,12],smart:207,smd:[],smi:[3,333],smirichinski:9,smit:205,smith:387,smmoth:433,smooth:[],smoother:144,smoothli:[54,120,286,293,344,362,375,377,410,416],smpd:12,sn2:143,sn4:143,sna:[],snad:[],snap:[],snapcoeff:396,snaphot:428,snapparam:396,snapshot:[],snav:[],snb:17,snow:169,soc:363,socket:[12,17,18,212,420],soft:[],softer:[295,299],softwar:[1,6,11,12,14,15,16,17,18,19,142,210,255,271],sole:[189,190,328,390],solid:[4,6,7,10,39,40,41,59,70,73,91,121,142,178,188,192,194,199,219,229,231,232,234,235,251,252,257,270,285,288,319,321,340,371,389,423],solut:[3,6,13,142,192,199,227,268,273,278,299,448],solv:[3,12,18,216,261,273,288,290,319,325,379],solvat:[4,10,144],solvent:[4,7,13,61,71,145,147,188,202,206,207,213,229,268,270,275,278,286,293,294,344,347,349,350,359,369,378,379,394,405,423,433],solver:[],some:[1,2,3,4,6,7,8,10,11,12,13,16,17,18,39,40,41,55,61,63,71,102,105,107,113,117,119,123,124,125,136,137,138,144,147,152,155,163,165,167,168,169,172,173,174,177,179,180,181,182,183,184,185,186,188,190,191,192,193,202,205,227,229,230,258,259,261,263,270,274,279,285,290,291,292,294,295,301,316,317,318,319,324,325,326,327,328,329,330,333,336,338,339,346,349,355,357,364,384,392,393,405,407,418,420,421,422,423,425,428,429,430,431,432,433,435,437,440,441,447,448,449,452],somehow:3,someindex:302,someon:[7,11,326],someth:[2,3,7,8,11,12,59,192,229,295,298,300,329,364,421,430],sometim:[2,3,6,8,12,18,184,192,229,286,293,318,330],somewhat:[7,9,12,70,124,134,181,229,318],somewher:[17,230,357],soon:[179,191,202,205,210],sophist:7,sorensen:437,sort:[3,13,16,39,71,167,169,170,210,328,329,333,354,424,425,451],sound:[216,227,402,403],soundspe:[402,403],sourc:[],source_integr:178,sourceforg:11,south:120,souza:286,space:[2,3,6,8,11,12,18,41,59,71,118,120,133,138,143,144,164,166,168,173,174,177,183,184,185,188,190,194,195,211,216,223,226,229,252,253,268,271,278,295,297,298,300,303,318,319,321,327,328,329,340,342,343,349,352,355,357,367,369,373,380,387,390,395,407,413,415,420,423,426,435,441,443,448,449],spahn:361,span:[2,12,38,71,173,174,184,211,270,318,334,335,339,348,355,358,365,366,380,381,382,386,390,396,406,408,409,410,417,418,426,427,448],spars:[71,164],spatial:[],spawn:210,spc:[],spcpu:441,speak:[17,278,285],spearot:[118,143,271],specfi:[12,107,211,426],speci:[],special:[],special_bond:[],specif:[1,2,3,6,7,8,9,10,12,13,15,17,18,22,29,33,40,41,42,50,63,71,108,113,115,116,124,126,129,144,152,157,167,168,169,170,172,173,174,177,178,181,182,183,184,185,186,188,191,193,202,203,205,206,210,216,224,256,258,259,262,270,285,290,291,295,301,305,319,326,328,333,335,338,339,351,355,360,361,364,365,366,367,380,384,392,393,394,405,406,411,412,420,423,424,428,429,430,432,433,439,440,441,447,448,449,450],specifi:[2,3,6,7,8,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,59,61,63,65,66,68,69,70,71,73,75,76,77,78,79,80,81,83,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,124,126,131,132,133,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,204,205,206,207,208,209,211,212,213,214,216,217,218,219,221,224,225,226,227,228,229,230,231,232,233,234,235,236,241,244,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,288,289,290,292,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,317,318,319,321,322,323,326,327,328,329,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,447,448,449,450,451,452],specifii:[207,216],speciti:432,spectral:396,spectrum:[9,120,260,265],sped:[39,227],speed:[1,3,6,9,12,14,15,16,17,18,19,39,41,169,188,213,216,227,260,278,285,291,297,318,319,328,333,339,349,384,402,403,408,418,432,438],speedup:[1,18,319,432],spefici:[144,168,363],speicifi:327,spell:426,spellmey:[6,150,435],spend:180,spent:[1,12,13,15,418,437],sph:[],sph_lammps_userguid:9,sphere1:216,sphere:[],spheric:[],spheriod:[3,6],spherioid:278,spheroid:[6,270,278],spike:116,spin:[9,40,113,296,336,357,423],spirit:7,spit:3,spline:[],split:[1,3,6,12,18,41,181,184,188,214,229,298,318,333,412,417,420,432],splittol:[6,318],sppark:6,spread:[1,6,12,303,431],spring:[],springer:274,springgreen:169,sptial:71,sputter:195,sq2:[3,321],sqrt:[2,3,59,81,89,205,213,214,215,251,278,294,296,321,347,353,355,359,361,380,384,448],squar:[],squeez:[192,211,378,379],squibb:[5,7],sr2:143,src:[0,1,3,4,6,7,8,9,11,12,14,15,16,17,18,19,142,167,203,273],srd:[],srolovitz:355,srp:[],srun:12,ssao:[168,451],stabil:[6,213,229,339,392],stabl:[6,64,216,233,269,339,443],stabli:206,stack:[3,8,70],stage:[3,87,172,203,228,264,301,328,418,437,448],stagger:[1,3,169,319,430,439,448],stai:[3,14,17,173,174,227,243,260,333,423],stamp:[285,424],stamped:12,stan:17,stand:[0,6,7,13,266,392,393,421],standard:[],stanford:9,starikov:290,start:[],start_6:359,start_7:432,startstep:448,stat:[12,54,148,251,265,326,353],statcoul:447,statcoulomb:447,state:[],statement:[3,421,422],stationari:[],statist:[3,6,12,39,41,64,189,190,191,206,207,213,214,215,255,256,260,265,270,273,278,289,290,291,326,328,335,353,354,361,378,415,418,425,431,433,437,440,441],statu:[3,12,54,60,148,193,198,214,348,437],statvolt:447,std:12,stdin:[3,12,317],steadi:[6,227,233,260],steelblu:169,steep:407,steepest:[7,325],steer:[7,9,193,196,274],stegailov:290,steinhaus:443,stencil:[3,216,318],step:[1,2,3,6,8,10,11,12,13,14,15,16,17,18,19,39,71,91,96,97,110,116,117,121,130,140,142,167,168,169,170,172,173,174,178,179,181,182,183,184,185,186,188,189,190,191,192,194,195,198,199,202,203,205,207,210,211,214,227,241,251,252,258,259,260,261,262,263,271,273,274,278,280,283,284,285,286,287,288,289,290,291,292,293,300,301,303,317,318,324,326,328,329,353,359,363,380,392,393,418,420,421,425,427,428,430,431,432,437,438,440,441,443,448,452],stepani:274,stepwis:87,stesman:285,steve:[0,5,7,13],steven:191,stiff:[6,40,51,189,190,252,253,326,389,443],stile:350,still:[1,3,6,9,11,12,13,14,17,18,38,41,61,71,108,116,142,148,164,165,167,169,173,174,188,209,213,241,261,265,278,290,303,318,319,324,345,355,360,361,364,368,378,388,392,394,397,405,423,425,431],stilling:[3,5,7,15,88,356,382,390,405,406,435],stipul:210,stl:71,stochast:[4,7,9,172,207,278,285,300,354],stoddard:352,stoke:[216,294],stoll:[213,215],stone:[9,19,319,352],stop:[],stopstep:448,stopthresh:[41,188],storag:[3,12,15,292,333,435],store:[],store_st:279,storm:12,stouch:7,str:448,straatsma:6,straddl:[3,59,61,134,211,270,275,301,423,427,433],straight:270,straightforward:[13,357,443],strain:[3,6,59,80,166,192,194,227,229,233,378,379],strang:[164,168,448],strategi:[],stratford:216,strcmp:303,stream:[3,6,112,121,124,127,128,168,178,194,206,207,213,214,247,256,265,278,449],streamlin:[12,431],streitz:[],streiz:349,strength:[3,120,138,149,168,269,295,299,364,393,394,435],stress:[],stretch:[3,54,59,117,189,274],strict:396,strictli:[6,41,164,188,227,260,285,423],stride2:448,stride:[169,207,430,439,448],strietz:349,strike:195,string:[2,3,6,11,12,41,144,167,169,181,182,183,184,185,186,188,205,258,271,303,320,332,380,390,391,392,396,419,421,423,433,434,440,441,448],strip:448,strong:[261,335],stronger:6,strongest:[378,379],strongli:[1,6,13,195,270,273,290,443],structrur:3,structur:[],structured_point:271,strucur:73,stuart:[261,262,335,348,405],stub:12,stuck:192,student:255,studi:[6,105,371],studio:12,stukowski:[179,355],style1:[33,50,157,310,364,423],style2:[33,50,157,310,364,423],style:[],style_nam:[229,230],stylist:8,sub1:434,sub:[1,3,4,6,7,8,9,11,12,13,18,33,37,39,40,41,42,50,55,58,61,63,68,87,91,107,120,138,146,157,163,168,169,173,174,188,192,194,229,230,233,252,260,265,270,273,290,291,299,301,310,313,321,323,333,338,348,354,360,361,363,364,384,392,393,394,411,412,420,423,426,432,440],subbox:[117,168,169],subdirectori:4,subdivis:216,subdomain:216,subequ:11,subgroup:[167,451],subject:[6,41,147,188,411],submit:[],subramaniyan:13,subroutin:333,subscript:[11,290,304,358,448],subsequ:[6,11,12,41,59,145,169,188,192,205,285,290,291,292,321,332,355,405,421,423,424,430,433,434,442,448,452],subset:[6,11,12,16,41,80,120,167,169,188,225,229,231,232,233,234,235,256,257,261,270,328,333,335,339,364,384,417,420,423,425,428,432,448],substanti:[6,16,406,432],substep:229,substitut:[1,2,3,12,167,212,328,332,357,421,434,448],substract:349,substrat:[146,192,229,231,232,234,235,257,270,423],substyl:[377,432],subsystem:290,subtl:[94,96,97,207],subtleti:130,subtract:[3,6,54,63,91,94,97,102,103,105,112,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,167,172,181,205,206,209,213,214,215,217,221,225,247,254,270,301,329,376,423,433,441,448,449],succe:12,succeed:182,succesfulli:3,success:[2,6,11,12,14,15,116,167,169,179,182,192,195,205,241,256,270,278,285,303,326,328,421,430,431],successfulli:[3,11,167,195,421,434],successulli:11,successv:428,sucessfulli:3,sudden:36,suddenli:299,sudo:[11,12],sufac:42,suffer:[16,17,18,293,299,333],suffici:[2,3,7,17,18,41,61,71,184,188,227,229,252,278,285,292,295,303,368,423,443],suffix2:12,suffix:[],suggest:[0,7,12,227,260,421,443],suit:[7,9,13,174,216,357],suitabl:[4,12,13,17,54,87,167,191,259,282,339,346,361,377,380,392,393,418,437],sum:[3,6,8,9,12,40,70,71,76,80,83,88,89,90,94,98,103,105,107,109,110,112,116,117,120,121,122,124,125,126,127,130,131,132,133,134,136,138,140,141,142,181,182,183,184,185,186,195,203,206,213,214,219,251,252,256,260,265,270,271,274,277,288,290,292,295,299,301,318,319,326,338,349,353,357,358,367,369,372,380,392,393,396,412,421,441,443,448,449],summar:[6,358],summari:[],summat:[6,9,42,70,88,318,319,343,349,355,356,369,373,406,408,409,410],summer:[3,13,184,392,393],sumsq:117,sun:[21,43,151,304,345,384,393],sunderland:17,sup:[252,260,265,348,443],supercomput:[12,17,18,421],superpos:[364,405],superposit:7,supplement:[207,392,393],supplementari:[193,360,394],suppli:[12,164,205,227,290],support:[1,3,6,7,8,9,11,12,13,14,15,16,17,18,19,40,41,42,87,88,102,107,167,168,169,170,173,174,175,176,181,188,191,192,193,200,203,207,208,211,213,214,215,216,224,227,229,231,232,233,234,235,246,247,248,249,251,252,257,260,262,264,269,270,275,277,281,282,283,284,288,293,295,299,316,317,318,319,325,326,327,333,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,406,407,408,409,410,411,412,414,415,416,420,424,425,430,432,433,434,436,437,443,447,451,452],suppos:[3,8,358,448],suppress:[6,12,142],sure:[6,8,11,13,14,164,173,174,192,270,273,300,355,407],surf:145,surfac:[3,4,6,8,40,42,57,70,118,120,142,144,147,168,172,195,202,211,216,219,251,262,269,275,278,285,290,295,299,300,328,339,364,378,379,412,415,420,426],surface_mov:290,surfact:[350,359],surpris:357,surrog:9,surround:[38,56,70,144,164,169,192,229,231,232,234,235,251,257,270,407,443],suspect:3,suspens:[378,379],sustain:[167,192,361],suzuki:[229,270],svg:6,svn:[7,11,12],sw_exampl:391,swamp:270,swap:[],swegat:289,swiggl:[3,226,295,298,300,426,448],swiler:[120,396],switch7_section_start:359,switchflag:[120,396],swm4:443,swol:53,swope:6,sxx:169,sy0302:9,symbol:[6,12,118,143,267,339,357,396],symmetr:[6,70,87,93,112,121,173,174,192,229,230,286,293,334,346,352,355,408,410,448],symmetri:[3,5,6,7,8,63,64,70,146,167,227,251,304,319,334,423,443],sync:[3,6],synchron:[1,207,328],synechococcu:7,syntax:[],sysdim:252,sysstem:339,system:[],system_:253,systemat:[6,213],systemx:3,t10:438,t11:438,t12:438,t13:438,t14:438,t15:438,t3e:12,t_chain:3,t_corr:3,t_correl:418,t_dephas:418,t_e:290,t_e_min:290,t_equil:[287,288],t_event:[3,418,437],t_hi:437,t_infil:290,t_init:[260,290],t_iter:3,t_lb:216,t_lo:437,t_order:3,t_oufil:290,t_out:290,t_outfil:290,t_qm:260,t_switch:[287,288],t_target:341,ta06a:396,ta5:143,tab:[2,423],tabbernor:118,tabinn:384,tabul:[3,7,13,22,37,38,44,55,56,65,71,79,92,164,278,318,334,339,340,342,343,344,345,346,349,355,357,369,373,387,390,393,395,405,407,408,413,425],tabular:390,tabulate_long_rang:393,tad:[],tadmor:9,tag:[178,197,443],tagint:3,tail:[3,87,110,138,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,425,441],tailor:[71,291],tait:[9,402,403],taitwat:[],take:[1,2,3,6,11,12,17,20,21,22,23,24,25,26,27,28,29,30,31,32,35,38,39,40,41,42,43,44,45,46,47,48,49,51,53,54,56,59,77,87,89,91,109,112,113,116,117,121,122,131,138,142,148,150,151,152,153,154,155,156,158,159,161,162,164,167,168,169,173,174,175,187,188,192,194,201,204,208,212,213,214,229,231,232,233,234,235,236,244,246,247,249,262,270,272,273,275,276,277,278,280,281,282,283,291,294,301,304,305,306,307,308,309,312,314,318,319,323,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,392,393,394,395,397,404,406,407,408,409,410,411,412,414,415,416,417,421,424,431,432,433,440,441,448],taken:[6,59,144,166,191,195,205,206,207,213,214,215,216,256,260,263,290,308,355,357,360,406,418,432,433],talk:[6,7],talli:[3,6,8,41,107,113,181,183,184,185,188,190,213,215,230,278,286,293,357,359,363,392,393,448],tan:[169,448],tandem:[4,16,270],tangent:228,tangenti:[6,108,278,296,300,361],tanh:290,tantalum:[4,396],taper:[3,263],tar:12,tarbal:[0,8,11,12],target:[3,6,7,8,11,12,17,39,41,169,177,188,192,193,195,205,206,207,213,214,215,229,230,231,232,233,234,235,246,247,248,249,253,257,260,265,270,274,276,281,282,283,284,289,290,293,294,297,316,319,341,353,418,429,431,449],target_fil:289,task:[1,6,7,12,13,14,15,16,17,18,54,169,210,253,291,333,421],taskset:16,tatb:[4,266],tatom:443,tau:[3,133,213,214,216,229,257,270,281,282,287,288,290,442,447],tau_1:206,tau_k:206,tau_n_k:206,tb3:143,tbead:136,tbp:339,tchain:[229,230,233,247,248,270],tcl:265,tcom:214,tcsh:[11,12,346],tdamp:[213,229,230,233,270,281,282],tdephas:418,tdrude:[129,198,214,443],teal:169,tech:[7,9,13],technic:[6,7,9,216,263,278,393],techniqu:[6,7,9,87,172,192,227,260,270,294,297,319,384,407,443],technolgi:9,technolog:[9,14,19,210],tell:[2,6,11,12,37,55,163,172,252,313,329,392,393,405,421,425,443],telsa:17,temeperatur:11,temp:[],temp_drud:443,temp_eff:97,tempcom:[123,137],temper:[],temperar:253,temperatur:[],temperature_definit:178,tempfix:438,templ:[7,9,18],templat:[3,8,13,17,19,40,144,145,147,195,205,256,270,273,327,423],templeton2010:178,templeton2011:178,templeton:[9,178],tempor:206,temporari:[2,430],temporarili:[164,269,436,437],ten:14,tend:[29,229,251],tensil:[7,194],tensor:[3,6,8,63,82,83,89,90,91,93,106,112,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,192,216,219,229,230,233,255,257,270,293,318,319,327,357,378,379,441,448],tenth:317,term:[0,1,3,5,6,7,8,9,12,20,21,22,27,38,40,45,46,61,87,88,89,91,110,112,121,123,132,137,138,151,152,153,164,169,173,174,180,182,183,186,194,200,206,207,208,213,214,215,216,228,229,230,231,232,233,234,235,246,247,249,253,257,260,269,270,276,281,282,283,290,292,294,296,304,305,314,318,326,329,334,335,339,340,341,342,343,344,345,347,348,349,350,351,352,353,355,356,357,358,360,361,362,369,373,376,377,378,379,380,381,382,384,387,394,404,406,408,409,410,415,432,433,435,441,443],termin:[118,229,326,328,422,431],termostat:282,terrel:325,terri:7,tersoff:[],tersoff_1:[408,409,410],tersoff_2:[408,409,410],tersoff_mod:409,tertiari:156,tessel:[9,142],test:[],test_descriptor_str:3,testf:164,testu:164,tether:[6,268,274,275,277,288,359],tex:8,texa:389,texas_holdem:269,text:[2,3,4,6,7,8,12,13,38,41,56,164,167,168,169,172,178,181,182,183,184,185,186,188,193,210,258,289,290,302,319,321,328,355,358,368,380,396,407,419,423,424,440,448,450],textur:17,tfactor:[3,169],tfinal:448,tfix:269,tfmc:[],th4:143,than:[1,2,3,6,8,9,11,12,13,14,15,16,17,18,27,38,39,40,41,42,56,57,58,59,61,63,68,71,76,86,88,105,108,112,115,116,119,121,142,145,146,147,153,164,166,167,169,172,177,179,181,183,184,185,186,188,189,190,191,192,194,195,196,199,202,205,206,207,208,211,212,213,216,227,251,252,256,257,258,259,260,261,263,265,268,269,270,271,274,275,276,278,282,283,285,286,290,293,294,295,296,297,298,299,300,301,303,318,319,324,325,326,327,328,329,330,333,338,339,340,342,343,344,355,357,360,361,367,378,379,380,384,392,393,394,397,405,406,407,410,412,413,415,418,419,420,421,423,424,425,426,427,428,431,432,435,437,438,440,448,449,450],thank:[210,408,410],thb:393,thb_cutoff:393,thb_cutoff_sq:393,thei:[0,1,2,3,4,6,7,8,11,12,13,15,16,17,20,21,23,24,25,26,27,28,29,30,31,32,35,37,38,39,40,41,42,43,45,46,47,48,49,51,53,54,55,56,57,59,61,63,64,66,68,70,71,74,75,81,82,84,87,89,90,91,93,103,104,106,108,109,112,114,115,116,117,119,120,122,123,124,126,127,130,131,137,139,141,144,146,147,148,150,151,153,154,155,156,158,159,161,162,163,164,167,168,169,172,173,174,175,177,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,200,201,204,205,206,208,209,210,213,214,216,219,226,229,231,232,233,234,235,236,237,238,239,244,246,247,249,255,256,257,258,259,261,262,269,270,271,272,273,278,279,281,282,283,285,289,290,292,293,294,296,298,299,301,303,304,306,307,308,309,312,313,314,316,318,319,321,323,325,326,327,328,329,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,385,386,387,389,390,392,393,394,395,396,397,404,405,406,407,408,409,410,411,412,413,414,415,416,419,421,423,424,425,426,427,428,432,433,435,436,441,443,448,450,451],them:[1,2,3,4,6,7,8,9,11,12,13,14,39,40,41,54,59,71,91,107,114,117,119,146,151,167,168,169,170,180,181,182,183,184,185,186,188,191,192,194,202,210,213,214,225,229,231,232,233,234,235,246,249,251,257,259,267,268,269,270,273,278,281,282,283,285,289,290,292,296,297,298,300,301,304,319,321,327,328,329,333,334,339,346,355,358,360,384,394,397,412,418,421,423,430,435,438,443,448,449],themselv:[6,11,147,173,174,188,214,318,319,328,330,334,339,349,355,377,380,381,382,396,448],theor:285,theorem:[206,213,339],theoret:[105,210,260,406],theori:[3,9,12,40,120,178,193,207,229,252,318,319,339,415,437],thereaft:[71,221,254,270,286,293,421],therebi:[291,378,379],therefor:[3,6,12,64,87,129,179,198,205,214,216,273,285,319,351,391,393,406,411,416,432,443],therein:[6,380],thereof:87,thermal:[],thermo:[],thermo_modifi:[],thermo_p:[3,63,109,421,441],thermo_press:[63,112,192,198,229,231,232,233,234,235,257,440,441,443],thermo_styl:[],thermo_temp:[63,112,122,191,192,205,229,231,232,233,234,235,246,247,249,252,257,281,282,283,440,441,443],thermoberendsen:6,thermochem:447,thermochemistri:357,thermodyam:[441,447],thermodyanm:[63,191,278,301,432],thermodynam:[],thermophys:384,thermost:[6,126,177,193,198,214,297,443],thermostat:[],thermostatequ:6,thesi:[318,319,378,391],thess:340,theta0:[20,21,24,26,27,28,32,33,35,36,120,153,269,312],theta0max:120,theta10:339,theta1:[151,304,339],theta2:[151,304,339],theta3:[304,339],theta4:339,theta5:339,theta6:339,theta7:339,theta8:339,theta9:339,theta:[3,6,26,27,37,38,63,65,80,120,143,144,153,166,168,208,265,269,290,304,312,363,390,409,423,426,433],theta_0:386,theta_:[312,339],theta_c:363,theta_ijk:339,theta_ijl:304,theta_jik:[381,382],theta_pi:339,theta_sigma:339,thex:261,thi:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,444,445,446,447,448,449,450,451,452],thick:[71,118,168,184,426],thie:110,thijss:285,thin:[116,168],thing:[3,6,11,12,54,68,71,192,229,257,270,278,420,421,425,448],think:[3,6,7,8,11,13,169,270,301,306,309,321,326,364,392,393,407,421,425,428,448],third:[6,9,29,91,120,121,142,181,182,183,184,185,186,206,267,275,276,290,348,358,380,386,411,418,419,421,423,426],thirumalai:156,thistl:169,tho:356,thole:[],thompson:[0,5,7,9,13,112,120,121,396],thoroughli:9,those:[1,2,3,4,5,6,7,8,12,13,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,43,45,46,47,48,49,50,51,53,54,56,61,71,77,87,91,108,109,110,112,116,120,121,124,134,144,148,150,151,153,154,155,156,157,158,159,161,162,164,166,167,168,169,179,180,181,182,184,185,186,192,194,195,202,205,208,210,211,212,213,219,228,229,231,232,233,234,235,236,244,246,247,249,256,259,262,270,280,287,288,292,296,297,298,301,302,304,306,307,308,309,310,312,314,318,319,326,328,329,333,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,380,381,384,385,386,387,389,392,393,394,395,396,397,405,406,407,408,409,410,412,414,415,416,418,420,421,423,425,426,427,428,430,432,433,435,437,440,441,443,448,451,452],though:[6,8,12,16,39,40,63,71,91,104,144,167,169,179,184,189,190,192,194,199,230,268,270,272,286,293,303,318,321,328,353,354,355,357,358,360,361,377,378,384,418,423,425,426,431,435,448],thought:[127,213,247,270,294,295,325,361,368,443],thread:[1,3,9,12,16,17,18,210,291,333,436],threads_per_atom:3,three:[3,6,54,63,74,87,91,105,117,118,119,120,123,143,144,156,172,191,192,197,217,229,233,252,257,270,278,285,287,290,308,312,318,319,327,333,334,335,339,355,356,358,360,361,365,368,380,381,382,386,390,393,394,396,406,408,409,410,421,423,426,448],threebodi:406,thresh:[41,167,168,169,188,421],threshhold:[3,41,168,188,301,421],threshold:[3,41,86,169,188,251,329,393,418,437],thrid:421,through:[3,6,7,9,11,12,63,144,167,170,192,203,205,210,211,216,218,219,220,229,230,253,261,285,290,295,317,324,335,356,357,361,369,395,397,404,411,418,421,424,434,440,443],throughout:[6,16,116,118,291,333,423],thru:[3,6,7,11,12,66,74,75,81,89,90,93,103,104,105,106,139,166,167,169,183,226,278,298,303,317,326,332,426],thrust:1,thu:[1,2,3,6,8,9,11,12,18,33,38,39,41,42,50,59,61,63,64,66,67,70,71,72,73,75,77,81,88,90,91,93,103,104,106,108,109,113,114,115,116,117,120,121,124,127,132,134,139,140,141,144,146,147,148,152,157,163,164,166,167,168,169,170,172,173,174,175,176,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,202,206,207,208,209,210,211,213,214,219,224,229,233,243,251,257,259,261,265,268,270,271,272,273,274,275,276,277,278,279,281,282,283,285,286,289,290,292,293,294,295,298,299,300,301,303,304,310,318,319,321,324,326,327,328,332,333,334,335,338,339,340,341,342,343,344,345,346,347,348,349,353,354,355,356,357,358,359,360,361,364,365,366,367,369,373,377,378,379,380,381,382,384,385,387,389,390,391,392,393,394,396,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,418,420,421,423,424,425,426,427,428,430,431,432,433,435,437,438,439,440,441,443,447,448,449,450,451],thumb:[8,10,17,144,166,226,270,333,347,426,432],thz:265,ti2:143,ti3:143,ti4:143,tight:339,tightli:259,tij:352,tildeslei:[29,87,352],tile:[3,6,41,62,144,188,367,412,420],tilt:[3,6,57,58,59,71,132,146,167,169,184,192,194,195,208,227,229,230,251,260,319,321,423,426,441],time:[],time_integr:178,timedelta:182,timelin:5,timer:[1,12,14,17],timescal:[3,180,181,182,183,184,185,186,227,260,265,357,418,432],timespan:[213,214,229,257,270,281,282],timestamp:[3,428],timestep:[],timesteppnig:273,tin:[348,349],tine:182,tinfoil:319,tini:[144,326,339,449],tinker:7,tip3p:[],tip4:6,tip4p:[],tip:[],tirrel:295,titan:15,titer:270,titl:[181,182,183,184,185,186,258,393],title1:[181,182,183,184,185,186],title2:[181,182,183,184,185,186],title3:[181,182,183,184,185,186],tji:352,tl1:143,tl3:143,tlbr_msw:390,tlo:437,tloop:[229,230,233],tm3:143,tmax:[3,199,437],tmd:[],tmd_dump_fil:289,tmdatom:289,tmin:199,tmp1:[183,186,434],tmp2:[183,186,434],tmp3:434,tmp:[6,12,41,66,68,69,75,90,93,104,106,114,116,124,139,141,167,168,169,188,259,270,286,293,332,430,434,448],tobia:[229,230,270],todd:247,toe:138,toff:[327,423],togeth:[2,3,6,11,12,17,39,41,71,115,121,124,138,145,167,173,174,181,183,188,192,198,207,214,229,257,270,274,275,278,296,300,301,359,364,421,426,431,443,451],toggl:[59,148,430],togheth:3,togther:3,tol:[273,278,318,406],toler:[3,192,261,262,263,273,278,326,328,406,418,437],tomato:169,tong:[9,13],too:[1,3,6,7,39,41,64,67,70,72,73,77,88,120,132,145,147,168,188,189,190,192,195,202,205,209,229,252,257,261,265,267,273,278,285,286,290,293,319,328,329,333,353,418,426,437,440,443,448],took:[71,397],tool:[],toolkit:[6,7,13,14,15],top:[0,3,8,9,11,12,13,59,127,166,172,187,194,209,216,228,247,271,297,298,300,328,333,392,393,396,423,427,433],topic:[448,451],toplog:[3,420],topolgi:40,topolog:[2,3,6,7,8,12,13,39,40,87,108,115,147,148,169,189,190,210,255,327,364,384,420,423,424,425,427,428,435],topwal:187,torder:270,torqu:[],torsion:[6,151,152,163,335,392,393],torsion_flag:335,tosi:340,tot:265,total:[3,6,11,12,14,15,16,17,18,39,41,63,71,81,88,89,90,91,98,102,103,104,105,107,109,110,117,120,121,122,124,125,126,127,130,131,132,133,134,136,138,140,141,142,167,172,175,176,179,181,183,184,185,187,188,190,196,198,200,203,204,205,206,211,213,214,215,216,217,219,227,230,233,243,252,253,255,256,260,265,267,269,270,271,272,274,275,277,286,287,288,290,293,295,299,318,326,327,328,329,330,333,334,336,338,339,348,355,357,361,380,381,382,390,392,393,396,412,418,420,421,425,431,432,437,438,441,448],touch:[12,211,296],toukmaji:[319,352],toward:[9,29,142,168,172,195,196,211,216,228,233,251,268,275,289,291,312,328],toxvaerd:374,tpa:333,tparam:270,tpartial:124,tpc:333,tpcpu:441,tperiod:270,tptask:[16,333],tqx:[113,167,280],tqy:[113,167,280],tqz:[113,167,280],trace:357,track:[3,7,12,190,194,216,290,300,418,423,429,437,441,448],track_displac:178,tracker:210,trade:[6,12,262,318,319,349,369,373,432,437],tradeoff:384,tradit:[6,319],traffic:12,trail:[2,22,44,77,87,116,138,148,152,169,173,174,270,305,323,327,328,346,358,380,393,396,417,423,431,433],train:393,traj:193,traj_titl:393,trajectori:[3,6,12,39,87,167,210,229,231,232,234,235,236,237,239,240,242,244,245,246,247,248,249,253,270,273,274,291,300,353,384,393,425,433,443,447],tran:[155,156],transfer:[1,6,16,178,198,210,212,286,290,293,318,333,339,443],transform:[],transit:[6,86,228,274,289,328,350,377,382,410,418,437],translat:[3,6,61,63,94,95,96,97,98,123,124,128,137,181,205,209,213,214,219,229,234,235,246,249,253,270,281,282,283,285,321,357,423,441],transmiss:210,transmit:[6,210],transpar:[14,17],transport:[178,290,398],transpos:12,trap:[3,6,91,140,182,211,292,448],trapezoid:[182,448],trate:[3,194,210],travel:278,treat:[2,3,6,8,17,40,42,71,82,84,85,121,123,137,148,165,181,182,183,186,195,204,230,252,255,256,270,278,290,292,299,303,317,318,326,327,329,338,351,357,358,360,363,367,381,382,394,412,423,426,428,431,433,443,448],treatment:[9,265,351],tree:[3,255,377],tref:354,tri:[],trial:[195,205,336,432],triangl:[3,6,7,40,42,82,113,142,172,245,270,278,405,412,423,433],triangleflag:423,triangul:[6,13],triangular:[4,6,42,82,113,192,245,423],tricki:[420,443],triclin:[],triflag:6,trigger:[3,11,12,62,86,188,191,205,326,441],trigon:25,trilinear:216,trilino:17,trim:[3,424],tripflag:392,tripl:[2,120,194,339,392,419,421],triplet:[3,34,37,356,386,390,406,408,409,410],trivial:[8,11],trj:393,trott:[7,9,14,17,120,396],troubl:[11,12],truli:8,truncat:[3,5,6,12,71,259,265,295,299,325,337,349,357,361,369,371,374,384,389,433],trung:15,tscale:[3,227,260],tschopp:67,tsige:343,tsrd:[278,300],tstart:[206,207,213,215,229,230,270,281,282,283,284,353,429],tstat:[],tstop:[206,207,213,215,229,230,270,281,282,283,284,353,429,437],tsuzuki:73,ttm:[],ttm_mod:290,tucker:[120,396],tuckerman2006:229,tuckerman:[229,230,248,253,270,432],tune:[],tunnel:253,turn:[3,4,6,12,22,33,37,39,44,50,54,55,59,65,69,71,108,115,120,143,148,152,157,163,168,169,172,179,189,190,191,192,205,210,229,241,255,258,259,270,278,305,310,313,318,326,328,329,331,333,335,351,363,364,380,384,393,404,405,419,423,425,430,435,436,441,445,450],turquois:169,tutein:335,tutori:[6,9],tweak:[12,144,210],twice:[3,6,16,17,63,88,150,169,172,173,174,192,226,229,263,333,364,421,423,430],twin:67,twist:[378,379],two:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,22,38,39,41,42,44,54,56,57,59,61,63,65,68,69,71,76,77,79,87,88,92,107,108,113,114,115,116,117,118,120,123,126,127,129,130,132,138,142,143,144,145,147,152,166,167,168,169,172,173,174,179,180,181,182,183,184,185,186,188,189,190,191,192,195,198,202,205,206,207,209,211,212,213,214,216,219,228,229,230,233,251,252,253,256,257,259,260,261,265,267,270,274,275,278,285,286,288,290,293,296,299,301,303,305,314,318,319,321,323,324,326,327,328,331,333,334,335,336,338,339,340,341,342,343,346,347,348,349,351,352,353,354,355,356,357,358,360,361,364,367,368,369,373,377,378,379,380,384,387,390,391,392,393,394,396,397,404,405,406,408,409,410,411,412,415,416,417,418,420,421,423,424,425,426,427,430,433,435,437,438,440,441,443,447,448,449,450,451,452],two_temperatur:178,twobodi:[408,410],twogrid:3,twojmax:[120,396],twolevel:[3,420],txt2html:8,txt:[8,12,13,167,170,258,259,290,316,327,368,413,428,448],typcial:[41,188],type1:[77,118,143],type2:[77,118,143],type:[],typen:[77,118,143],typic:[1,2,3,6,7,8,10,11,12,13,14,15,16,17,18,29,39,40,41,45,46,55,57,59,61,63,70,71,86,87,102,107,119,138,142,144,145,147,167,168,169,172,173,174,175,177,178,181,188,189,190,191,192,194,195,200,202,203,205,208,214,229,241,252,255,256,259,261,263,269,270,273,278,285,293,294,300,318,321,325,326,327,328,329,330,333,344,346,347,349,359,360,363,364,368,369,373,378,379,380,384,394,405,407,410,418,419,421,423,424,425,426,432,435,437,438,440,447,448,450,452],typicali:12,tzou:290,u_f:216,u_ij:390,u_prom:339,uberuaga:[228,328],ubiquit:[11,339],uhf:336,uiuc:[9,17],uloop:[3,253,328,332,448],ultim:437,ultra:142,umbrella:[],umin:[26,27,48,49,153],unabl:[3,11,41,188],unaffect:[167,192,229,270,424,435,440],unalt:[173,174,241],unambigu:[71,184],unari:[303,448],unbalanc:3,unbias:[132,357],unbond:[190,423],unbroken:80,uncertainti:40,unchang:[59,192,195,228,229,231,232,234,235,243,257,270,423,424,427,433],uncharg:[40,319],uncom:[1,4],uncompress:[12,71,168],uncomput:[],uncorrel:[206,285,418],uncoupl:253,undefin:[3,12],under:[0,5,6,7,8,9,10,12,18,21,22,44,120,151,152,168,210,227,256,260,261,304,305,323,357,377,393,396,421,437,443],underestim:142,underflow:168,undergo:[6,86,87,132,206,213,214,274,278],undergon:[191,278],underli:[12,17,70,168,229,290,321],undermin:39,underpredict:6,underscor:[2,3,63,172,191,192,227,229,231,232,233,234,235,246,247,249,257,259,281,282,283,303,327,448],understand:[1,6,8,205,230],understood:[167,339],undesir:[59,192,194,229,270],undetermin:278,undisturb:[378,379],undo:[148,210],undump:[],unexpect:[3,429],unfix:[],unfix_flux:178,unfold:276,unfortun:[291,431,432],uniaxi:[3,123,233],uniform:[7,16,41,88,116,178,188,189,190,213,216,219,230,285,354,360,394,418,420,448,449],uniformli:[59,116,166,216,256,290,390,407,449],uninstal:12,uninterrupt:[179,195,205,226,227,229,231,232,233,234,235,246,247,248,249,259,260,270,274,277,280,288,290,296],union:[3,6,40,169,299,301,423,426],uniqu:[3,6,7,8,9,12,39,71,206,207,213,214,233,259,265,267,328,355,357,423,448,449],unit:[],unit_styl:3,uniti:[356,384,400],unitless:[64,67,70,71,114,149,181,184,185,194,205,227,229,260,296,326,336,361,387,389,406,408,409,410,447],unitlesss:[78,80,111],univ:[9,13],univers:[3,6,9,12,13,18,87,210,318,319,328,332,378,382,389,391,410,417,420,448],universit:[9,13],unix:[12,17,212,434],unknown:[3,12,64,73,423],unless:[2,3,11,12,15,16,18,55,57,67,118,129,143,144,167,169,170,177,192,195,205,213,229,231,232,234,235,256,257,270,278,289,320,326,347,384,407,421,426,430,435,448],unlik:[12,33,50,59,89,104,134,144,157,167,213,229,233,257,263,265,281,282,283,310,317,318,334,339,355,358,363,364,368,380,381,382,393,396,405,420,425,430,435,448,452],unlimit:390,unlucki:3,unmark:7,unmodifi:279,unnecessari:16,unoccupi:290,unoptim:168,unpack:[0,8,11,333],unpack_bord:8,unpack_border_bodi:8,unpack_border_hybrid:8,unpack_border_vel:8,unpack_comm:8,unpack_comm_bodi:8,unpack_comm_hybrid:8,unpack_comm_vel:8,unpack_exchang:8,unpack_restart:8,unpack_revers:8,unpack_reverse_comm:8,unpack_reverse_hybrid:8,unpad:169,unperturb:87,unphys:[3,6,214,229,270,423],unpredict:[268,433],unrecogn:3,unrel:[8,9,13,150],unreli:384,unrestrain:269,unrestrict:336,unscal:[3,113,138,167,280,424],unset:[318,357],unshift:352,unsmooth:375,unsolv:[330,344],unsort:169,unspecifi:[194,423],unsplit:443,unstabl:[3,216],unstrain:194,unsuccess:[3,256],unsupport:3,untar:12,until:[2,3,6,12,14,38,39,41,56,71,119,164,168,188,192,195,205,210,256,278,280,287,303,317,318,329,332,333,339,361,407,418,424,428,429,431,437,447,448],untilt:426,unus:339,unusu:[3,8,329],unwant:[3,144,318],unwrap:[3,66,74,75,81,89,90,93,103,104,106,113,121,139,167,169,170,180,191,193,210,226,270,275,280,423,424,427,433],unwrapexpand:167,unzip:12,up_intern:168,updat:[0,3,6,8,12,13,167,172,189,190,198,203,206,213,214,216,218,219,222,223,226,227,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,255,257,259,260,265,270,280,281,282,283,285,290,301,333,339,352,384,392,393,418,423,425,433,434,437,443],upenn:[11,13],upgrad:12,upon:[6,179,210,339,411,437],upper:[2,3,41,57,59,71,88,103,105,133,140,166,169,182,184,185,188,192,198,214,216,229,260,265,295,296,301,302,326,361,426,449],upsid:6,upsilon:360,upto:[3,425,431],upward:195,urbana:[210,318,319,378],urey_bradlei:20,usa:9,usabl:[12,205,355],usag:[3,6,8,214,251,265,278,364,377,423],use_ldg:17,useful:333,user:[],user_misc:[30,31,35,154,159,162,308],userguid:9,usr:[11,12,14,424],usual:[2,3,6,9,12,14,17,18,24,28,32,35,36,47,71,87,117,123,124,126,129,137,142,161,167,173,174,179,181,191,192,193,194,205,208,213,215,227,233,252,260,261,267,269,270,278,286,290,293,295,299,303,309,316,328,329,333,344,347,350,352,360,364,365,368,377,378,379,386,396,406,411,418,424,428,432,434,437,440,441,448,452],util:[17,18,333,360],utilizi:12,utsa:389,uttormark:13,uuml:252,uwo:9,v11:6,v22:6,v33:6,v_0:[3,290],v_a:[8,194],v_abc:[421,441,448],v_area:[2,448],v_atomfil:433,v_c:138,v_cluster:259,v_dc:138,v_delta:87,v_dhug:[227,260],v_diff:[140,292],v_displac:194,v_dk:138,v_dlj:138,v_drai:[227,260],v_dx:[226,426],v_dy:[226,426],v_dz:226,v_e_hbond:363,v_ea:[392,393],v_eb:[392,393],v_eqeq:[392,393],v_espac:175,v_f:421,v_fac:421,v_flux:209,v_foo:[421,448],v_ij:390,v_increas:208,v_integr:292,v_jx:91,v_jy:91,v_jz:91,v_k11:91,v_k22:91,v_k33:91,v_k:138,v_ke:[167,451],v_left:426,v_lgr_po:[227,260],v_lgr_vel:[227,260],v_linear:[295,298,300],v_lj:138,v_mol:169,v_mu:378,v_myi:226,v_myindex:448,v_myke:117,v_mystep:430,v_myvar:[8,169],v_myx:226,v_n:216,v_name1:[138,194],v_name2:[138,194],v_name:[3,6,71,87,117,167,168,169,173,174,175,176,180,181,182,183,184,185,186,187,200,208,209,211,213,214,226,272,280,281,282,283,292,295,298,300,421,426,430,433,439,441,448,449],v_nstep:301,v_occ:359,v_omega:226,v_oscil:[175,176,187,200,272],v_phi:208,v_prefactor:[173,174,397],v_press:121,v_pressdown:[298,300],v_push:175,v_pxy:6,v_pxz:6,v_pyz:6,v_r0:211,v_r1:142,v_r2:142,v_r:[142,211],v_rad:301,v_radiu:211,v_ramp:[295,298,300],v_rate:[194,211],v_scale1:[173,174],v_scale2:[173,174],v_size:[173,174],v_t_qm:260,v_temp:286,v_theta:[208,426],v_tp:194,v_up:426,v_v0:448,v_v11:6,v_v22:6,v_v33:6,v_v:[226,448],v_valu:[168,421],v_vx:226,v_vy:226,v_vz:[226,449],v_wiggl:[295,298,300],v_x:[2,144,211,226,295,298,300,421,426,448],v_xave:6,v_xmax:6,v_xx:144,v_y:[144,211,426],v_yi:144,v_z:426,vacanc:[4,142,287],vacf:[],vacuum:[290,319,350,410,416],valanc:339,vale:3,valenc:[263,339,357,392,393],valent:339,valeriu:9,valid:[2,3,6,9,11,12,71,118,130,143,168,169,192,205,213,251,270,278,301,303,316,321,355,357,360,390,423,424,431,433,448],vallon:380,valon:380,valu:[],value0:448,value1:[12,124,180,181,182,183,184,185,186,233,292,301,434],value2:[12,124,180,181,182,183,184,185,186,233,292,301,434],valuei:182,valuej:182,valuev:[7,9],valus:259,van:[9,53,87,107,257,261,266,281,347,348,377,380,392,393,415,449],vanderwa:[384,441],vanilla:[6,8,12],vanillia:42,vanish:[198,265,273],vapor:[41,188,205,440],vapour:285,var1:434,var2:434,varaibl:[3,426],vare:290,vari:[1,18,41,61,62,71,87,118,132,134,143,173,174,178,181,182,184,188,192,194,227,229,257,269,270,281,282,290,295,318,344,353,362,375,378,389,397,407,420],variabl:[],variable_hill_factor:13,variable_nam:393,varianc:[117,353,448],variant:[1,3,6,12,83,98,233,270,318,325,333,381,382,408,410,432,436,449],variat:[41,188,448],varieti:[1,2,6,7,13,15,71,168,210,321,364,380,392,393,405,448],variou:[],varreturn:421,varshalovich:120,varshnei:13,vartiabl:3,vbia:6,vcm:[],vdim:[133,286,293,449],vdisplac:[3,211,226,295,298,300,448],vdw:[3,348,393],vec1:[117,259],vec2:[117,259],vec:251,vector:[],vel:[3,6,61,181,184,185,194,214,256,274,297,353,357,361,418,425,426,428,443],veld:[13,278,319,343,373],veloc:[],velocit:[209,353,357,361],velocity_bottom:216,velocity_temp:449,velocity_top:216,vendor:12,verbatim:421,verbos:12,veri:[1,3,6,7,8,9,10,12,13,17,41,71,87,117,167,168,169,180,181,182,183,184,185,186,188,189,190,192,205,219,229,230,241,253,268,273,281,282,292,328,329,330,333,357,361,378,379,389,396,397,407,431,441,443,447,450],verifi:[8,333,384,432,438],verlag:274,verlet:[1,3,7,8,12,18,178,213,229,241,247,253,273,279,290,298,301,417,420,432],versa:[3,6,13,59,138,146,191,211,213,214,270,423,424,443],versu:[6,14,15,16,18,39,41,80,103,104,116,140,169,188,270,273,319,343,352,361,373,384,441,448],vertic:[41,168,188,195,448],vfinal:448,vfrac:113,vhi:[133,449],via:[],vibrat:[6,9,195,207,251,260,265,312,357,418,432],vice:[3,6,13,59,138,146,191,211,213,214,270,423,424,443],video:168,view:[4,6,7,9,13,167,168,278,339,357,358],viewer:[167,168],viewpoint:168,vij:353,vika:13,vim:[],vincent:[9,19],violat:285,violet:169,virial:[3,63,91,112,120,121,138,173,174,192,198,229,230,231,232,233,234,235,255,257,270,273,318,333,336,353,354,357,365],virialmod:365,virtual:[6,7,8,12,406],virut:9,visa:7,viscoelast:[111,361,389],viscoelsat:389,viscos:[],viscou:[],viscous:270,visit:[271,392,393],vista:167,visual:[],viz:[11,13],viz_tool:11,vizplotgui_tool:11,vizualiziton:271,vlo:[133,449],vmax:[192,278],vmd:[6,7,9,11,13,167,170,210,424],vmdarch:170,vmdhome:170,vname:[144,448],voigt:[6,120],vol:[6,8,91,121,198,214,256,380,410,419,441,448],volfactor:318,volt:[391,447],volum:[2,3,6,40,41,58,59,63,80,87,91,100,112,116,118,121,142,143,144,147,179,181,184,185,188,192,194,195,205,216,227,229,230,233,236,237,239,240,242,244,245,246,247,248,249,256,257,260,270,274,290,295,299,301,318,321,327,341,378,379,389,402,403,416,419,420,423,426,433,441,443,447,448],volumetr:80,voro:[3,9,142],vorobyov:443,voronoi:[],voter2:[418,437],voter:[381,382,418,437],voth:[40,253],vpz:297,vratio:448,vri:362,vrpn:210,vshear:296,vstream:6,vtarget:[3,293],vtk:[],vv0210:13,vx0:140,vxcm:270,vxhi:[195,256],vxlo:[195,256],vy0:140,vycm:270,vyhi:[195,256],vylo:[195,256],vz0:140,vzcm:270,vzhi:195,vzi:297,vzlo:195,w_1:120,w_2:120,w_i:120,w_ik:390,waal:[87,107,347,348,377,392,393,415],wadlei:[13,339],wag:[7,9,13],wagner:[7,9,178,216,380],wai:[1,2,3,6,7,8,11,12,15,18,22,44,59,63,65,66,69,71,75,77,79,87,90,91,92,93,104,106,108,114,115,116,120,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,139,141,144,147,152,164,166,167,168,169,172,173,174,181,183,184,186,187,190,191,192,194,203,206,211,213,214,216,227,229,233,241,253,257,259,268,270,271,274,275,278,280,281,282,283,286,289,290,292,295,298,300,301,305,306,307,309,312,319,321,323,326,328,329,333,334,335,346,349,350,353,354,355,356,358,360,363,364,366,369,380,381,382,384,386,390,391,394,396,397,404,406,408,410,417,418,421,423,424,426,427,428,431,432,433,448,449],wait:[1,12,210,252,418,420],walk:[3,206,213,214],wall:[],wallhi:295,wallstyl:296,wander:275,wang:[319,380,390],want:[0,1,2,3,5,6,7,8,9,11,12,17,38,40,56,63,66,68,71,75,81,90,93,103,104,106,107,109,110,112,114,116,121,124,139,140,141,144,147,150,164,167,168,169,172,173,174,175,180,181,188,191,194,195,198,200,203,205,211,214,224,243,251,256,259,269,270,272,275,277,279,286,288,293,295,299,301,303,319,321,328,334,335,339,347,348,353,355,358,364,365,366,380,386,390,392,393,397,406,407,408,410,412,419,421,423,424,425,426,428,430,431,441,443,448,450,452],ward:339,warm:[16,357],warn:[],warner:334,warp:[5,380],warranti:7,warren:353,wasn:3,wast:3,watanab:[287,288],watch:328,water:[],watkin:161,wave:[7,9,40,177,227,264,297,336,357],wavefunct:[9,336,357],wavelength:[118,143],wavepacket:[40,336,357,423],wavevector:252,wbodi:83,weak:261,web:[1,8,14,15,16,17,346],webb:178,weber:[3,5,7,15,88,356,382,390,405,406,435],websit:8,weckner:389,weight:[],welcom:421,well:[1,3,6,7,8,9,11,12,13,15,16,17,18,27,40,51,67,71,112,121,123,130,144,153,168,169,175,179,181,186,188,189,190,192,195,200,205,209,213,216,220,226,229,233,256,270,272,285,288,296,326,328,333,338,359,360,363,364,365,378,379,380,394,397,408,409,410,421,423,425,427,432,437,443,447,451],wennberg:318,went:[3,11],were:[3,4,5,6,7,11,12,13,15,16,18,19,34,41,42,52,56,60,70,71,109,112,116,122,124,144,147,148,160,167,169,172,175,181,183,184,185,186,188,194,200,202,209,210,241,247,271,296,297,301,311,318,330,332,357,361,364,368,389,393,418,420,421,423,424,425,426,428,430,438,441,448,449,451,452],weren:428,western:9,westview:415,what:[],whatev:[8,12,14,15,108,113,116,117,119,168,169,173,174,192,205,229,257,259,296,321,325,326,328,333,345,347,392,393,437,443,448],wheat:169,whelan:143,when:[0,1,2,3,4,6,8,9,11,12,13,14,15,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,33,35,37,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,55,56,59,61,62,63,71,81,86,88,103,104,105,107,109,112,113,117,119,122,123,127,131,132,140,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,199,200,201,202,203,204,205,207,208,210,213,216,217,219,220,224,229,230,231,232,233,234,235,236,241,243,244,246,247,249,251,255,256,257,258,259,260,262,263,264,265,269,270,271,272,273,274,275,276,278,279,280,281,283,285,286,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,306,307,308,309,310,312,313,314,315,316,317,318,319,321,324,325,326,327,328,329,330,332,333,334,335,337,340,341,342,343,344,345,346,347,348,349,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,384,385,386,387,389,390,392,393,394,395,396,397,404,406,407,408,409,410,412,414,415,416,418,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,440,441,442,447,448,449,450,452],whenev:[0,8,12,14,71,169,180,185,270,321,363,421,432,436,448,452],whenth:3,where:[1,3,6,8,9,10,11,12,14,15,18,21,23,24,25,26,27,28,29,32,35,36,37,39,40,41,43,47,48,49,51,55,61,63,65,66,68,69,70,71,73,75,79,80,82,83,84,85,87,88,89,90,92,93,94,95,96,97,98,104,106,108,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,130,131,132,133,134,136,137,138,139,141,143,145,147,148,151,153,163,167,168,169,172,173,174,175,176,179,181,182,184,187,188,191,192,194,195,199,200,202,203,205,206,207,208,209,211,213,214,215,216,219,220,222,224,226,227,230,233,241,244,250,251,252,253,256,258,259,260,263,265,270,271,272,273,274,275,277,280,281,282,283,286,287,288,290,293,294,295,296,298,299,300,301,304,306,307,308,309,312,313,314,316,319,321,325,326,327,328,329,330,333,334,335,338,339,340,342,346,347,348,349,350,351,352,353,355,356,357,358,359,360,361,362,363,364,365,366,369,373,378,379,380,381,382,384,386,387,389,390,391,392,393,394,396,399,402,403,404,405,406,407,408,409,410,415,416,417,418,420,421,423,425,426,427,428,430,432,433,435,437,438,439,440,441,443,447,448,449,450,452],wherea:[6,11,179,206,229,261,285,290,443],wherebi:262,wherev:209,whether:[6,8,11,12,16,17,39,40,54,59,61,63,70,71,102,107,109,131,132,164,168,169,171,172,173,174,181,186,189,190,191,192,193,194,198,202,205,214,226,229,233,259,273,278,286,292,293,301,303,316,318,319,327,331,333,342,344,348,362,364,368,378,379,380,384,393,405,418,421,423,424,426,428,435,436,437,440,448,449],which:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,32,33,37,38,39,40,41,42,44,45,46,47,50,51,53,54,55,56,58,59,61,63,64,66,67,70,71,72,73,74,75,76,77,78,80,81,82,83,85,87,88,89,90,91,93,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,155,156,157,158,161,163,164,166,167,168,169,170,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,219,220,223,224,226,227,228,229,230,231,232,233,234,235,237,239,241,242,244,245,246,247,248,249,251,252,253,255,256,257,258,259,260,261,262,263,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,295,296,297,298,299,300,301,303,304,305,307,309,310,313,314,316,317,318,319,321,323,324,325,326,327,328,329,330,332,333,334,335,336,338,339,340,342,343,344,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,371,372,373,375,377,378,379,380,381,382,384,386,387,388,390,391,392,393,394,395,396,397,400,405,406,407,408,409,410,411,412,415,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,443,448,449,450,451,452],whichev:[12,332,418,437],white:[169,206,213,214,215,270,282,290,423,448,451],whitesmok:169,whitespac:[2,3,169,327,423],who:[0,3,6,7,8,9,13,334,355],whole:[198,210,252,265,274,443],wholli:195,whose:[3,6,7,8,19,38,39,56,59,76,87,129,147,164,168,169,194,211,212,226,229,231,232,234,235,251,252,268,269,273,278,292,299,301,321,328,329,357,371,406,407,408,410,443,448,449],why:[3,6,214,286,293],wide:[1,6,7,9,61,63,172,286,293,321,330,344,347,357,392,393],wider:1,width:[168,169,336,359],wiggl:[3,194,226,295,296,298,300,426],wigner:120,wih:6,wiki:14,wikipedia:[6,14],wild:[3,12,22,44,77,87,116,152,173,174,270,305,323,346,363,417,425,430,450,452],wildcard:[3,12,138,148,167,168,169,267,346,430,433,451,452],wildli:229,win:333,window:[3,4,12,13,71,167,168,170,181,182,183,184,185,186,210,271,283,284,346,424],wipe:[172,364,405,444,446],wire:269,wirt:169,wisconsin:13,wise:[3,12,353,406,432],wish:[2,3,5,6,7,8,11,12,14,17,57,58,59,71,117,121,124,145,146,148,150,167,169,180,181,182,184,185,186,190,194,195,202,205,211,216,220,256,259,270,273,278,279,295,296,321,328,333,342,363,364,380,384,392,407,421,423,424,425,431,435,441,448,449,452],within:[1,2,3,6,8,9,11,12,13,15,16,17,29,39,40,41,42,55,59,61,63,65,69,70,71,72,73,77,79,92,108,112,115,116,117,119,120,135,144,147,168,169,173,174,179,180,181,183,184,185,186,188,189,190,191,195,197,202,205,211,213,251,255,256,257,259,261,270,271,273,275,279,290,293,295,299,301,303,317,321,326,327,328,329,330,333,338,340,342,349,354,355,356,357,359,364,365,368,369,380,387,388,389,394,395,405,406,408,409,410,411,418,420,421,423,431,432,435,437,443,447,448],without:[1,2,3,4,6,7,8,9,11,12,14,16,17,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,40,43,45,46,47,48,49,51,53,54,56,59,87,109,112,122,131,145,150,151,153,154,155,156,158,159,161,162,164,167,168,169,170,172,175,181,183,184,185,186,187,192,194,201,204,206,208,210,213,226,229,231,232,233,234,235,236,244,246,247,248,249,256,259,261,262,264,268,270,271,272,273,278,281,283,294,298,302,304,306,307,308,309,312,314,317,318,319,328,329,333,334,335,337,340,341,342,343,344,345,346,347,348,349,352,353,355,356,357,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,385,386,387,389,393,394,395,397,405,406,407,408,409,410,412,414,415,416,421,423,431,432,441,443,447,448],witht:9,witi:15,wolf:[],wolff:[384,407],won:[3,268,379],wong:[178,339],word:[2,3,6,8,12,29,63,169,172,179,180,181,182,184,185,186,193,211,238,243,258,263,269,292,303,317,347,384,419,421,423,448,449],work:[1,3,6,7,8,9,11,12,14,16,18,39,54,59,60,88,117,118,123,125,126,127,131,132,133,134,136,137,142,143,167,168,170,173,174,181,184,185,191,203,212,213,214,216,220,226,229,234,235,246,247,248,249,267,269,271,273,281,282,283,288,317,329,333,346,348,351,353,364,378,379,380,384,418,420,421,424,425,427,431,432,434,437],workaround:[270,449],worker:[12,392,393],workhors:8,workstat:[333,421],world:[3,12,120,317,328,332,417,420,421,438,448],worlei:353,worri:17,worsen:18,worst:299,worth:[181,182,183,184,185,186,260,271],would:[1,3,4,5,6,7,8,11,12,22,29,37,40,41,42,44,55,70,71,89,91,116,121,124,132,144,145,146,147,152,163,167,169,170,172,173,174,176,179,181,188,191,193,194,198,199,202,205,208,209,210,214,226,229,230,241,251,253,257,259,261,265,268,278,285,289,297,298,301,303,304,305,306,307,309,310,313,318,321,323,325,326,328,329,332,333,334,335,339,346,347,348,349,353,354,355,356,358,364,365,366,380,381,382,386,390,392,393,396,406,408,409,410,418,421,423,426,427,428,430,431,432,433,434,438,440,441,443,448,449,451,452],wrap:[1,3,6,11,12,57,59,144,146,166,167,169,170,180,185,193,194,195,210,216,226,270,275,278,295,297,299,318,319,328,421,423,424,426,431],wrapper:[],wrigger:274,wright:326,writabl:3,write:[],write_atom_weight:178,write_data:[],write_dump:[],write_freq:393,write_head:8,write_restart:[],writen:271,written:[3,5,6,7,8,9,12,13,14,17,65,69,115,120,142,167,168,169,170,172,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,198,199,200,201,202,203,204,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,225,228,236,237,238,239,240,241,242,243,244,245,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,275,276,278,279,281,282,283,284,285,286,287,289,290,292,293,294,295,297,298,299,300,302,316,321,329,355,364,413,415,418,419,421,424,425,429,430,437,438,439,440,448,450,451,452],wrong:[3,11,192,229,250,295,299,300,329,393,425,430],wrote:[3,425],wt2:384,wt3:384,www:[0,2,3,4,5,6,7,8,10,11,12,13,15,334,355,378,391,392,393,447],x86:12,x_ij:390,x_ijkl:304,x_kjli:304,x_ljik:304,xave:6,xavx:16,xcm:[8,270,448],xdr:[12,167],xeon:[1,4,7,9,12,16,17,18,333,436],xflag:[131,132,217,219,225,270,285],xhe:103,xhi:[2,6,57,59,146,167,194,289,295,298,300,423,426,441,448],xhi_bound:[6,167],xhi_new:423,xhost:[12,16],xi_ij:390,xiaowang:[13,358,408,410],xiij:251,xlat:[144,194,211,441],xlo:[2,6,11,57,59,146,167,194,211,289,295,298,300,423,426,441,448],xlo_bound:[6,167],xlo_new:423,xmax:[6,177,199,241,448],xmgrace:[],xmin:448,xml:[170,391],xml_label:391,xmovi:[],xmu:[296,361],xplane:296,xplor:167,xpo:144,xrd:[],xsph:9,xsu:[3,167,424],xt3:167,xt4:[18,167],xt5:[18,167],xtc:[3,6,7,9,12,167,168,169,170],xtcdump:169,xvf:12,xwall:[297,298,300],xxx:12,xyz:[3,6,7,13,42,66,71,106,108,132,139,144,167,168,169,170,184,192,219,229,230,233,257,267,268,270,275,277,296,298,300,320,327,420,424,449,451],xzhou:[13,358],xzy:420,yang:390,yb2:143,yb3:143,ybox:194,ycm:270,year:[5,7],yeh:318,yellow:[168,169],yellowgreen:169,yet:[3,7,9,17,39,168,173,261,267,295,319,325,326,333,345,347,348,357,415,421,423,424,448,450,451],yflag:[131,132,217,219,225,270,285],yhi:[6,59,146,167,194,289,295,298,300,423,426,441],yhi_bound:[6,167],yield:[6,91,110,117,121,127,132,169,182,192,198,229,247,261,286,292,293,296,301,318,338,353,361,384,389,441,448],yip:287,ylat:[144,194,211,441],ylo:[6,59,146,167,194,289,295,298,300,423,426,441],ylo_bound:[6,167],ymax:[177,448],ymin:448,york:[253,319],yoshida:[229,270],you:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,35,38,39,40,41,42,43,45,46,47,48,49,50,51,53,54,56,57,58,59,61,63,66,68,71,73,74,75,77,81,87,88,89,90,91,93,102,103,104,106,107,109,110,112,114,116,117,120,121,122,123,124,127,131,132,137,138,139,140,141,142,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,166,167,168,169,170,172,173,174,175,176,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,198,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,224,226,229,231,232,233,234,235,236,241,243,244,246,247,248,249,252,253,255,256,257,259,261,262,265,268,269,270,272,273,274,275,277,278,279,281,282,283,284,286,287,288,289,290,292,293,294,295,296,298,299,300,301,303,304,306,307,308,309,310,312,314,317,318,319,321,323,325,326,327,328,329,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,406,407,408,409,410,412,414,415,416,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,440,441,443,447,448,449,450,452],young:361,your:[0,1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,35,38,39,40,43,45,46,47,48,49,51,53,54,56,59,61,107,109,112,122,123,127,131,137,142,144,145,146,147,148,150,151,153,154,155,156,158,159,161,162,164,166,167,168,175,178,182,183,186,187,189,190,191,192,195,201,204,205,208,210,213,226,229,231,232,233,234,235,236,244,246,247,249,256,259,262,268,270,272,273,274,280,281,283,286,290,292,293,294,295,296,299,300,301,304,306,307,308,309,312,314,319,321,327,328,329,332,333,334,335,337,339,340,341,342,343,344,345,346,347,348,349,352,353,354,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,380,381,382,384,385,386,387,389,390,392,393,394,395,397,406,407,408,409,410,412,414,415,416,417,420,421,423,425,426,427,430,431,432,433,434,435,436,440,441,447,448,450,452],yourself:[6,8,12,13,192,327],yplane:296,ypo:144,ysu:[3,167,424],yuan:9,yukawa:[],yukawa_1_1:413,yxz:420,yzx:420,z_i:[357,410,416],z_j:[410,416],z_meam:380,zachari:13,zannoni:360,zbl:[],zblcut:410,zblcutinn:396,zblcutout:396,zblexpscal:410,zblz:396,zcm:270,zcylind:296,zepeda:179,zero:[3,4,6,9,11,12,26,27,39,41,48,49,59,61,63,66,71,75,87,88,90,93,102,103,104,105,106,108,109,110,112,113,114,115,116,117,118,120,121,123,124,125,132,133,136,137,139,141,142,143,144,146,147,148,150,153,162,164,166,167,168,169,172,173,174,175,177,179,180,181,182,183,184,185,186,187,188,189,190,192,194,199,200,201,202,204,205,206,207,209,213,214,215,216,217,219,225,226,227,229,233,241,244,253,258,259,260,261,262,265,267,268,270,271,272,273,278,280,285,286,288,290,293,294,295,296,297,298,300,301,302,303,308,321,324,326,327,328,329,333,336,339,340,342,343,344,347,349,352,353,357,360,362,363,365,369,371,373,374,377,379,380,384,389,393,394,395,404,407,411,416,418,419,420,423,424,426,428,430,431,432,433,437,438,441,443,448,449,450,452],zeta:[3,216,261,358],zfactor:168,zflag:[131,132,217,219,225,270,285],zhang:[270,286,361],zhi:[3,6,146,167,177,289,295,298,300,423,426,441],zhi_bound:[6,167],zhou:[13,339,358,390,408,410],zhu:403,ziegenhain:13,ziegler:[255,380,405,410,416],zimmerman2004:178,zimmerman2010:178,zimmerman:[9,70,178,339],zlat:[194,211,441],zlo:[3,6,146,167,177,289,295,297,298,300,423,426,441],zlo_bound:[6,167],zmax:[177,216,448],zmin:[216,448],zn2:143,zone:[118,271],zoom:[3,167,168,169],zplane:296,zr4:143,zrest:277,zsu:[3,167,424],zwall:295,zwall_veloc:216,zxy:420,zybin:393,zyx:420},titles:["LAMMPS Documentation","5. Accelerating LAMMPS performance","3. Commands","12. Errors","7. Example problems","13. Future and history","6. How-to discussions","1. Introduction","10. Modifying & extending LAMMPS","4. Packages","8. Performance & scalability","11. Python interface to LAMMPS","2. Getting Started","9. Additional tools","5.USER-CUDA package","5.GPU package","5.USER-INTEL package","5.KOKKOS package","5.USER-OMP package","5.OPT package","angle_style charmm command","angle_style class2 command","angle_coeff command","angle_style cosine command","angle_style cosine/delta command","angle_style cosine/periodic command","angle_style cosine/shift command","angle_style cosine/shift/exp command","angle_style cosine/squared command","angle_style dipole command","angle_style fourier command","angle_style fourier/simple command","angle_style harmonic command","angle_style hybrid command","angle_style none command","angle_style quartic command","angle_style sdk command","angle_style command","angle_style table command","atom_modify command","atom_style command","balance command","Body particles","bond_style class2 command","bond_coeff command","bond_style fene command","bond_style fene/expand command","bond_style harmonic command","bond_style harmonic/shift command","bond_style harmonic/shift/cut command","bond_style hybrid command","bond_style morse command","bond_style none command","bond_style nonlinear command","bond_style quartic command","bond_style command","bond_style table command","boundary command","box command","change_box command","clear command","comm_modify command","comm_style command","compute command","compute ackland/atom command","compute angle/local command","compute angmom/chunk command","compute basal/atom command","compute body/local command","compute bond/local command","compute centro/atom command","compute chunk/atom command","compute cluster/atom command","compute cna/atom command","compute com command","compute com/chunk command","compute contact/atom command","compute coord/atom command","compute damage/atom command","compute dihedral/local command","compute dilatation/atom command","compute displace/atom command","compute erotate/asphere command","compute erotate/rigid command","compute erotate/sphere command","compute erotate/sphere/atom command","compute event/displace command","compute fep command","compute group/group command","compute gyration command","compute gyration/chunk command","compute heat/flux command","compute improper/local command","compute inertia/chunk command","compute ke command","compute ke/atom command","compute ke/atom/eff command","compute ke/eff command","compute ke/rigid command","compute meso_e/atom command","compute meso_rho/atom command","compute meso_t/atom command","compute_modify command","compute msd command","compute msd/chunk command","compute msd/nongauss command","compute omega/chunk command","compute pair command","compute pair/local command","compute pe command","compute pe/atom command","compute plasticity/atom command","compute pressure command","compute property/atom command","compute property/chunk command","compute property/local command","compute rdf command","compute reduce command","compute saed command","compute slice command","compute sna/atom command","compute stress/atom command","compute temp command","compute temp/asphere command","compute temp/chunk command","compute temp/com command","compute temp/cs command","compute temp/deform command","compute temp/deform/eff command","compute temp/drude command","compute temp/eff command","compute temp/partial command","compute temp/profile command","compute temp/ramp command","compute temp/region command","compute temp/region/eff command","compute temp/rotate command","compute temp/sphere command","compute ti command","compute torque/chunk command","compute vacf command","compute vcm/chunk command","compute voronoi/atom command","compute xrd command","create_atoms command","create_bonds command","create_box command","delete_atoms command","delete_bonds command","dielectric command","dihedral_style charmm command","dihedral_style class2 command","dihedral_coeff command","dihedral_style cosine/shift/exp command","dihedral_style fourier command","dihedral_style harmonic command","dihedral_style helix command","dihedral_style hybrid command","dihedral_style multi/harmonic command","dihedral_style nharmonic command","dihedral_style none command","dihedral_style opls command","dihedral_style quadratic command","dihedral_style command","dihedral_style table command","dimension command","displace_atoms command","dump command","dump image command","dump_modify command","dump molfile command","echo command","fix command","fix adapt command","fix adapt/fep command","fix addforce command","fix addtorque command","fix append/atoms command","fix atc command","fix atom/swap command","fix ave/atom command","fix ave/chunk command","fix ave/correlate command","fix ave/histo command","fix ave/spatial command","fix ave/spatial/sphere command","fix ave/time command","fix aveforce command","fix balance command","fix bond/break command","fix bond/create command","fix bond/swap command","fix box/relax command","fix colvars command","fix deform command","fix deposit command","fix drag command","fix drude command","fix drude/transform/direct command","fix dt/reset command","fix efield command","fix enforce2d command","fix evaporate command","fix external command","fix freeze command","fix gcmc command","fix gld command","fix gle command","fix gravity command","fix heat command","fix imd command","fix indent command","fix ipi command","fix langevin command","fix langevin/drude command","fix langevin/eff command","fix lb/fluid command","fix lb/momentum command","fix lb/pc command","fix lb/rigid/pc/sphere command","fix lb/viscous command","fix lineforce command","fix meso command","fix meso/stationary command","fix_modify command","fix momentum command","fix move command","fix msst command","fix neb command","fix nvt command","fix nvt/eff command","fix nph/asphere command","fix nph/sphere command","fix nphug command","fix npt/asphere command","fix npt/sphere command","fix nve command","fix nve/asphere command","fix nve/asphere/noforce command","fix nve/body command","fix nve/eff command","fix nve/limit command","fix nve/line command","fix nve/noforce command","fix nve/sphere command","fix nve/tri command","fix nvt/asphere command","fix nvt/sllod command","fix nvt/sllod/eff command","fix nvt/sphere command","fix oneway command","fix orient/fcc command","fix phonon command","fix pimd command","fix planeforce command","fix poems","fix pour command","fix press/berendsen command","fix print command","fix property/atom command","fix qbmsst command","fix qeq/point command","fix qeq/comb command","fix qeq/reax command","fix qmmm command","fix qtb command","fix reax/bonds command","fix reax/c/species command","fix recenter command","fix restrain command","fix rigid command","fix saed/vtk command","fix setforce command","fix shake command","fix smd command","fix spring command","fix spring/rg command","fix spring/self command","fix srd command","fix store/force command","fix store/state command","fix temp/berendsen command","fix temp/csvr command","fix temp/rescale command","fix temp/rescale/eff command","fix tfmc command","fix thermal/conductivity command","fix ti/rs command","fix ti/spring command","fix tmd command","fix ttm command","fix tune/kspace command","fix vector command","fix viscosity command","fix viscous command","fix wall/lj93 command","fix wall/gran command","fix wall/piston command","fix wall/reflect command","fix wall/region command","fix wall/srd command","group command","group2ndx command","if command","improper_style class2 command","improper_coeff command","improper_style cossq command","improper_style cvff command","improper_style fourier command","improper_style harmonic command","improper_style hybrid command","improper_style none command","improper_style ring command","improper_style command","improper_style umbrella command","include command","info command","jump command","kspace_modify command","kspace_style command","label command","lattice command","log command","mass command","min_modify command","min_style command","minimize command","molecule command","neb command","neigh_modify command","neighbor command","newton command","next command","package command","pair_style adp command","pair_style airebo command","pair_style awpmd/cut command","pair_style beck command","pair_style body command","pair_style bop command","pair_style born command","pair_style brownian command","pair_style buck command","pair_style buck/long/coul/long command","pair_style lj/charmm/coul/charmm command","pair_style lj/class2 command","pair_coeff command","pair_style colloid command","pair_style comb command","pair_style coul/cut command","pair_style coul/diel command","pair_style born/coul/long/cs command","pair_style lj/cut/dipole/cut command","pair_style dpd command","pair_style dsmc command","pair_style eam command","pair_style edip command","pair_style eff/cut command","pair_style eim command","pair_style gauss command","pair_style gayberne command","pair_style gran/hooke command","pair_style lj/gromacs command","pair_style hbond/dreiding/lj command","pair_style hybrid command","pair_style kim command","pair_style lcbop command","pair_style line/lj command","pair_style list command","pair_style lj/cut command","pair_style lj96/cut command","pair_style lj/cubic command","pair_style lj/expand command","pair_style lj/long/coul/long command","pair_style lj/sf command","pair_style lj/smooth command","pair_style lj/smooth/linear command","pair_style lj/cut/soft command","pair_style lubricate command","pair_style lubricateU command","pair_style meam command","pair_style meam/spline","pair_style meam/sw/spline","pair_style mie/cut command","pair_modify command","pair_style morse command","pair_style nb3b/harmonic command","pair_style nm/cut command","pair_style none command","pair_style peri/pmb command","pair_style polymorphic command","pair_style quip command","pair_style reax command","pair_style reax/c command","pair_style resquared command","pair_style lj/sdk command","pair_style snap command","pair_style soft command","pair_style sph/heatconduction command","pair_style sph/idealgas command","pair_style sph/lj command","pair_style sph/rhosum command","pair_style sph/taitwater command","pair_style sph/taitwater/morris command","pair_style srp command","pair_style command","pair_style sw command","pair_style table command","pair_style tersoff command","pair_style tersoff/mod command","pair_style tersoff/zbl command","pair_style thole command","pair_style tri/lj command","pair_write command","pair_style yukawa command","pair_style yukawa/colloid command","pair_style zbl command","partition command","prd command","print command","processors command","python command","quit command","read_data command","read_dump command","read_restart command","region command","replicate command","rerun command","reset_timestep command","restart command","run command","run_style command","set command","shell command","special_bonds command","suffix command","tad command","temper command","thermo command","thermo_modify command","thermo_style command","timestep command","<no title>","uncompute command","undump command","unfix command","units command","variable command","velocity command","write_data command","write_dump command","write_restart command"],titleterms:{"break":189,"default":[37,39,40,55,57,58,59,61,62,71,87,88,102,103,105,107,118,120,124,132,133,137,143,144,147,149,163,165,166,167,168,169,170,171,173,174,175,177,178,179,181,184,185,186,189,190,192,193,194,195,199,202,205,206,211,213,214,215,216,217,219,224,227,229,230,233,247,248,252,253,256,257,258,259,260,262,265,267,268,270,271,278,280,285,286,287,288,291,293,295,297,301,313,316,318,319,321,322,324,325,327,329,330,331,333,336,339,341,357,378,379,384,392,393,404,405,418,419,420,423,424,426,428,430,431,432,435,437,439,440,441,442,447,449,450,451],"function":448,"long":[340,342,343,344,345,349,351,352,369,373,377,387,395],"new":8,"static":12,acceler:1,ackland:64,acknowledg:7,adapt:[173,174],addforc:175,addit:[12,13],addtorqu:176,adiabat:6,adp:334,airebo:335,alloi:355,amber2lmp:13,amber:6,angl:[8,65],angle_coeff:22,angle_styl:[2,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],angmom:66,append:177,arrai:6,aspher:[6,82,123,231,234,237,238,246],atc:[9,178],atom:[6,7,8,64,67,70,71,72,73,76,77,78,80,81,85,95,96,99,100,101,110,111,113,120,121,142,177,179,180,259,448],atom_modifi:39,atom_styl:40,attract:5,aveforc:187,awpmd:[9,336],balanc:[41,188],barostat:6,basal:67,beck:337,berendsen:[257,281],between:6,binary2txt:13,bodi:[6,8,42,68,239,338],bond:[8,13,69,189,190,191,266],bond_coeff:44,bond_styl:[2,43,45,46,47,48,49,50,51,52,53,54,55,56],bop:339,born:[340,351],boundari:[7,57],box:[6,58,192],brownian:341,buck:[342,343,351],bug:3,build:[11,12],calcul:6,call:12,categori:2,centro:70,ch2lmp:13,chain:13,change_box:59,charmm:[6,20,150,344,377],chunk:[6,66,71,75,90,93,104,106,114,124,139,141,181],citat:7,class2:[21,43,151,304,345],clear:60,cluster:72,cmm:9,cna:73,code:6,coeffici:6,colloid:[295,347,415],colvar:[9,13,193],com:[74,75,125],comb3:348,comb:[262,348],come:5,comm_modifi:61,comm_styl:62,command:[2,6,8,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],common:3,comparison:1,compos:6,comput:[2,6,8,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,448],compute_modifi:102,condit:7,conduct:[6,286],constant:6,constraint:7,contact:76,coord:77,core:6,correl:182,cosin:[23,24,25,26,27,28,153],cossq:306,coul:[340,342,343,344,345,349,350,351,362,369,373,377,387,395],coupl:6,creat:190,create_atom:144,create_bond:145,create_box:146,createatom:13,creation:7,csld:282,csvr:282,cubic:371,cuda:[9,14,109,112,122,131,175,187,201,204,208,229,236,272,273,281,283,294,340,342,344,345,355,361,362,369,370,372,375,385,406,408],custom:8,cut:[49,336,342,345,349,352,357,359,369,370,377,383,387],cvff:307,damag:78,data2xmovi:13,data:6,databas:13,deby:[349,369],deform:[127,128,194],delete_atom:147,delete_bond:148,delta:24,deposit:195,descript:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],diagnost:7,diel:350,dielectr:149,diffract:9,diffus:6,dihedr:[8,79],dihedral_coeff:152,dihedral_styl:[2,150,151,153,154,155,156,157,158,159,160,161,162,163,164],dilat:80,dimens:165,dipol:[6,29,352],direct:198,discuss:6,disp:6,displac:[81,86],displace_atom:166,distribut:[7,12],document:0,dpd:353,drag:196,dreid:[6,363],drude:[6,9,129,197,198,214],dsf:[349,369],dsmc:354,dump:[6,8,167,168,170],dump_modifi:169,dynam:261,eam:[13,355],echo:171,edip:356,eff:[9,13,96,97,128,130,135,215,230,240,248,284,357],efield:200,eim:358,elast:6,emac:13,enforce2d:201,ensembl:7,erot:[82,83,84,85],error:3,evapor:202,event:86,exampl:[1,4,6,11,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],exp:[27,153],expand:[46,372],extend:[8,11],extern:203,fcc:251,featur:[7,8],fene:[45,46],fep:[9,13,87,174],field:[6,7],file:6,finit:6,fix:[2,6,8,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,448],fix_modifi:[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],flow:6,fluid:216,flux:91,forc:[6,7,279],fourier:[30,31,154,308],freez:204,from:[6,11],futur:5,gauss:359,gaybern:360,gcmc:205,gener:[1,6,7,13],get:12,gld:206,gle:207,global:6,gpu:[15,337,340,342,344,345,347,349,352,353,355,359,360,362,369,370,372,383,385,394,395,397,406,407,414,415],gran:[296,361],granular:6,graviti:208,gromac:362,group2ndx:302,group:[88,301,448],gyrat:[89,90],harmon:[32,47,48,49,155,158,295,309,386],hbond:363,heat:[91,209],heatconduct:398,helix:156,hertz:361,histo:183,histori:[5,361],hook:361,how:6,hybrid:[33,50,157,310,364],idealga:399,imag:[167,168],imd:210,implicit:344,improp:[8,92],improper_coeff:305,improper_styl:[2,304,306,307,308,309,310,311,312,313,314],includ:315,inclus:8,indent:211,indic:0,individu:2,induc:6,inertia:93,info:[0,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,316],input:[2,6,8],instal:11,integr:[6,7],intel:[9,16,344,360,369,406],interfac:[6,11],introduct:7,invers:198,ipi:212,ipp:13,jul:0,jump:317,kate:13,keyword:384,kim:365,kokko:17,kspace:[2,8,291],kspace_modifi:318,kspace_styl:[6,319],label:320,lammp:[0,1,2,6,7,8,11,12],langevin:[213,214,215],lattic:321,lcbop:366,librari:[6,11,12],limit:[241,283],line:[12,242,367],linear:376,lineforc:221,list:[2,368],lj1043:295,lj126:295,lj93:295,lj96:370,lmp2arc:13,lmp2cfg:13,lmp2vmd:13,local:[6,65,68,69,79,92,108,115],log:322,lubric:378,lubricateu:379,make:12,mass:323,math:448,matlab:13,meam:[380,381,382],measur:1,meso:[222,223],meso_:99,meso_rho:100,meso_t:101,messag:3,micelle2d:13,mie:383,min_modifi:324,min_styl:325,minim:[8,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,326],misc:9,mod:[290,409],model:[6,7],modifi:8,molecul:327,molfil:[9,167,170],moltempl:13,momentum:[217,225],morri:403,mors:[51,363,385],move:226,movi:[167,168],mpi:11,msd:[103,104,105],msi2lmp:13,msm:[340,342,344,349,369],msst:227,multi:[6,7,158],multipl:6,nb3b:386,neb:[228,328],neigh_modifi:329,neighbor:330,nemd:6,newton:331,next:332,nharmon:159,noforc:[238,243],non:[6,7],none:[34,52,160,311,388],nongauss:105,nonlinear:53,nph:[229,230,231,232,270],nphug:233,npt:[229,230,234,235,270],nve:[236,237,238,239,240,241,242,243,244,245,270],nvt:[229,230,246,247,248,249,270],omega:106,omp:[9,18,20,21,23,24,25,26,27,28,29,30,31,32,35,38,43,45,46,47,48,49,51,53,54,56,150,151,153,154,155,156,158,159,161,162,164,208,229,231,232,233,234,235,236,244,246,247,249,262,304,306,307,308,309,312,314,334,335,337,340,341,342,343,344,345,347,348,349,350,352,353,355,358,359,360,361,362,363,364,367,369,370,371,372,373,374,375,376,377,378,381,382,385,386,387,389,394,395,397,406,407,408,409,410,412,414,415,416],onewai:250,open:7,oper:448,opl:161,opt:[19,344,355,369,373,385],optim:1,option:[6,8,12],orient:251,orthogon:6,other:6,output:[6,7,8,12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],overlai:364,overview:11,packag:[1,9,12,14,15,16,17,18,19,333],pair:[6,107,108],pair_coeff:346,pair_modifi:384,pair_styl:[2,334,335,336,337,338,339,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,414,415,416],pair_writ:413,pairwis:8,parallel:11,paramet:6,pars:2,partial:131,particl:[6,7,42],partit:417,past:5,per:6,perform:[1,10],peri:389,period:25,phonon:[9,13,252],pimd:253,piston:297,planeforc:254,plastic:111,pmb:389,poem:255,point:261,polariz:6,poli:[341,378,379],polym:13,polymorph:390,post:7,potenti:[2,6,8],pour:256,pppm:6,prd:418,pre:7,press:257,pressur:112,previou:12,print:[258,419],problem:[3,4],process:[6,7],processor:420,profil:132,properti:[6,113,114,115,259],pymol_aspher:13,python:[11,13,421],qbmsst:260,qeq:[261,262,263],qmmm:[9,264],qtb:[9,265],quadrat:162,quantiti:6,quartic:[35,54],quip:391,quit:422,ramp:133,rattl:273,rdf:116,read_data:423,read_dump:424,read_restart:425,reax:[13,263,266,267,392,393],reaxc:9,rebo:335,recent:268,reduc:117,refer:448,reflect:298,region:[8,117,134,135,299,426,448],relat:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,40,41,43,44,45,46,47,48,49,50,51,53,54,55,56,57,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,89,91,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,202,204,205,206,207,208,209,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,265,266,267,268,270,271,272,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,312,313,314,315,316,317,318,319,321,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,428,429,430,431,432,433,435,436,437,438,439,440,441,442,444,445,446,448,449,450,451,452],relax:192,replic:427,replica:[6,7],report:3,requir:12,rerun:428,rescal:[283,284],reset:199,reset_timestep:429,resquar:394,restart2data:13,restart:[6,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,430],restrain:269,restrict:[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],rhosum:401,rigid:[6,83,98,219,270],ring:312,rotat:136,rule:2,run:[6,11,12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300,431],run_styl:432,scalabl:10,scalar:6,screen:12,script:[2,6,8,11,12],sdk:[36,395],self:277,serial:11,set:[6,433],setforc:272,shake:273,share:[11,12],shell:[6,434],shield:261,shift:[26,27,48,49,153],simpl:31,simul:6,size:6,slater:261,slice:119,sllod:[247,248],small:270,smd:274,smooth:[375,376],sna:120,snad:120,snap:396,snapshot:6,snav:120,soft:[377,397],solver:2,sourc:7,spatial:[184,185],spc:6,speci:267,special:[7,384,448],special_bond:435,sph:[9,398,399,400,401,402,403],sphere:[84,85,137,185,219,232,235,244,249],spheric:6,spline:[381,382],spring:[275,276,277,288],squar:28,srd:[278,300],srp:404,standard:9,start:[12,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],state:280,stationari:223,stop:[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,292,293,294,295,296,297,298,299,300],store:[279,280],strategi:1,streitz:349,stress:121,structur:2,style:[1,2,6,8],submit:8,suffix:436,summari:6,swap:[179,191],syntax:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,252,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452],system:6,tabl:[0,6,38,56,164,407,408],tad:437,taitwat:[402,403],temp:[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,281,282,283,284],temper:438,temperatur:6,tersoff:[408,409,410],test:11,tfmc:285,thermal:[6,286],thermo:[6,439],thermo_modifi:440,thermo_styl:441,thermodynam:[6,8],thermostat:6,thole:411,time:[6,186],timestep:442,tip3p:6,tip4p:[6,349,369,373,377],tip:12,tmd:289,tool:13,torqu:139,transform:198,tri:[245,412],triclin:6,tstat:353,ttm:290,tune:291,type:7,umbrella:314,uncomput:444,undump:445,unfix:446,unit:447,user:[9,12,14,16,18],vacf:140,valu:[6,448],variabl:[6,8,448],variou:1,vcm:141,vector:[6,292,448],veloc:449,version:[0,5,12],via:12,vim:13,viscos:[6,293],viscou:[220,294],visual:6,voronoi:142,vtk:271,wall:[6,295,296,297,298,299,300],warn:3,water:6,weight:183,what:[7,12],wolf:[340,349],wrapper:11,write:6,write_data:450,write_dump:451,write_restart:452,xmgrace:13,xmovi:13,xrd:143,yukawa:[414,415],zbl:[410,416]}}) \ No newline at end of file diff --git a/doc/set.html b/doc/set.html index e314b1f62c..d0c30f8dca 100644 --- a/doc/set.html +++ b/doc/set.html @@ -1,98 +1,219 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + set command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    set command -

    -

    Syntax: -

    -
    set style ID keyword values ... 
    -
    -
    • style = atom or type or mol or group or region - -
    • ID = atom ID range or type range or mol ID range or group ID or region ID - -
    • one or more keyword/value pairs may be appended - -
    • keyword = type or type/fraction or mol or x or y or z or charge or dipole or dipole/random or quat or quat/random or diameter or shape or length or tri or theta or angmom or mass or density or volume or image or - bond or angle or dihedral or improper or - meso_e or meso_cv or meso_rho or i_name or d_name - -
        type value = atom type
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      set command¶

      +
      +

      Syntax¶

      +
      set style ID keyword values ...
      +
      +
      +
        +
      • style = atom or type or mol or group or region

        +
      • +
      • ID = atom ID range or type range or mol ID range or group ID or region ID

        +
      • +
      • one or more keyword/value pairs may be appended

        +
      • +
      • +
        keyword = type or type/fraction or mol or x or y or z or charge or dipole or dipole/random or quat or quat/random or diameter or shape or length or tri or theta or angmom or mass or density or volume or image or
        +

        bond or angle or dihedral or improper or +meso_e or meso_cv or meso_rho or i_name or d_name

        +
        +
        +
      • +
      +
      +type value = atom type
           value can be an atom-style variable (see below)
      -  type/fraction values = type fraction seed
      +  type/fraction values = type fraction seed
           type = new atom type
           fraction = fraction of selected atoms to set to new atom type
           seed = random # seed (positive integer)
      -  mol value = molecule ID
      +  mol value = molecule ID
           value can be an atom-style variable (see below)
      -  x,y,z value = atom coordinate (distance units)
      +  x,*y*,*z* value = atom coordinate (distance units)
           value can be an atom-style variable (see below)
      -  charge value = atomic charge (charge units)
      +  charge value = atomic charge (charge units)
           value can be an atom-style variable (see below)
      -  dipole values = x y z
      +  dipole values = x y z
           x,y,z = orientation of dipole moment vector
           any of x,y,z can be an atom-style variable (see below)
      -  dipole/random value = seed Dlen
      +  dipole/random value = seed Dlen
           seed = random # seed (positive integer) for dipole moment orientations
           Dlen = magnitude of dipole moment (dipole units)
      -  quat values = a b c theta
      +  quat values = a b c theta
           a,b,c = unit vector to rotate particle around via right-hand rule
           theta = rotation angle (degrees)
           any of a,b,c,theta can be an atom-style variable (see below)
      -  quat/random value = seed
      +  quat/random value = seed
           seed = random # seed (positive integer) for quaternion orientations
      -  diameter value = diameter of spherical particle (distance units)
      +  diameter value = diameter of spherical particle (distance units)
           value can be an atom-style variable (see below)
      -  shape value = Sx Sy Sz
      +  shape value = Sx Sy Sz
           Sx,Sy,Sz = 3 diameters of ellipsoid (distance units)
      -  length value = len
      +  length value = len
           len = length of line segment (distance units)
           len can be an atom-style variable (see below)
      -  tri value = side
      +  tri value = side
           side = side length of equilateral triangle (distance units)
           side can be an atom-style variable (see below)
      -  theta value = angle (degrees)
      +  theta value = angle (degrees)
           angle = orientation of line segment with respect to x-axis
           angle can be an atom-style variable (see below)
      -  angmom values = Lx Ly Lz
      +  angmom values = Lx Ly Lz
           Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units)
           any of Lx,Ly,Lz can be an atom-style variable (see below)
      -  mass value = per-atom mass (mass units)
      +  mass value = per-atom mass (mass units)
           value can be an atom-style variable (see below)
      -  density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
      +  density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
           value can be an atom-style variable (see below)
      -  volume value = particle volume for Peridynamic particle (distance^3 units)
      +  volume value = particle volume for Peridynamic particle (distance^3 units)
           value can be an atom-style variable (see below)
      -  image nx ny nz
      +  image nx ny nz
           nx,ny,nz = which periodic image of the simulation box the atom is in
      -  bond value = bond type for all bonds between selected atoms
      -  angle value = angle type for all angles between selected atoms
      -  dihedral value = dihedral type for all dihedrals between selected atoms
      -  improper value = improper type for all impropers between selected atoms
      -  meso_e value = energy of SPH particles (need units)
      +  bond value = bond type for all bonds between selected atoms
      +  angle value = angle type for all angles between selected atoms
      +  dihedral value = dihedral type for all dihedrals between selected atoms
      +  improper value = improper type for all impropers between selected atoms
      +  meso_e value = energy of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  meso_cv value = heat capacity of SPH particles (need units)
      +  meso_cv value = heat capacity of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  meso_rho value = density of SPH particles (need units)
      +  meso_rho value = density of SPH particles (need units)
           value can be an atom-style variable (see below)
      -  i_name value = value for custom integer vector with name
      +  i_name value = value for custom integer vector with name
           value can be an atom-style variable (see below)
      -  d_name value = value for custom floating-point vector with name
      -    value can be an atom-style variable (see below) 
      -
      - -
    -

    Examples: -

    -
    set group solvent type 2
    +  d_name value = value for custom floating-point vector with name
    +    value can be an atom-style variable (see below)
    +
    +
    +
    +

    Examples¶

    +
    set group solvent type 2
     set group solvent type/fraction 2 0.5 12393
     set group edge bond 4
     set region half charge 0.5
    @@ -100,179 +221,155 @@ set type 3 charge 0.5
     set type 1*3 charge 0.5
     set atom * charge v_atomfile
     set atom 100*200 x 0.5 y 1.0
    -set atom 1492 type 3 
    -
    -

    Description: -

    -

    Set one or more properties of one or more atoms. Since atom -properties are initially assigned by the read_data, -read_restart or create_atoms +set atom 1492 type 3 +

    +
    +
    +
    +

    Description¶

    +

    Set one or more properties of one or more atoms. Since atom +properties are initially assigned by the read_data, +read_restart or create_atoms commands, this command changes those assignments. This can be useful for overriding the default values assigned by the -create_atoms command (e.g. charge = 0.0). It can +create_atoms command (e.g. charge = 0.0). It can be useful for altering pairwise and molecular force interactions, since force-field coefficients are defined in terms of types. It can be used to change the labeling of atoms by atom type or molecule ID -when they are output in dump files. It can also be useful +when they are output in dump files. It can also be useful for debugging purposes; i.e. positioning an atom at a precise location -to compute subsequent forces or energy. -

    -

    Note that the style and ID arguments determine which atoms have +to compute subsequent forces or energy.

    +

    Note that the style and ID arguments determine which atoms have their properties reset. The remaining keywords specify which properties to reset and what the new values are. Some strings like -type or mol can be used as a style and/or a keyword. -

    -
    - -

    This section describes how to select which atoms to change -the properties of, via the style and ID arguments. -

    -

    The style atom selects all the atoms in a range of atom IDs. The -style type selects all the atoms in a range of types. The style -mol selects all the atoms in a range of molecule IDs. -

    -

    In each of the range cases, the range can be specified as a single +type or mol can be used as a style and/or a keyword.

    +
    +

    This section describes how to select which atoms to change +the properties of, via the style and ID arguments.

    +

    The style atom selects all the atoms in a range of atom IDs. The +style type selects all the atoms in a range of types. The style +mol selects all the atoms in a range of molecule IDs.

    +

    In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range -of values. This takes the form "*" or "*n" or "n*" or "m*n". For -example, for the style type, if N = the number of atom types, then +of values. This takes the form “*” or “n” or “n” or “m*n”. For +example, for the style type, if N = the number of atom types, then an asterisk with no numeric values means all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). For all the styles except -mol, the lowest value for the wildcard is 1; for mol it is 0. -

    -

    The style group selects all the atoms in the specified group. The -style region selects all the atoms in the specified geometric -region. See the group and region commands -for details of how to specify a group or region. -

    -
    - -

    This section describes the keyword options for which properties to -change, for the selected atoms. -

    -

    Note that except where explicitly prohibited below, all of the -keywords allow an atom-style or atomfile-style -variable to be used as the specified value(s). If the +mol, the lowest value for the wildcard is 1; for mol it is 0.

    +

    The style group selects all the atoms in the specified group. The +style region selects all the atoms in the specified geometric +region. See the group and region commands +for details of how to specify a group or region.

    +
    +

    This section describes the keyword options for which properties to +change, for the selected atoms.

    +

    Note that except where explicitly prohibited below, all of the +keywords allow an atom-style or atomfile-style variable to be used as the specified value(s). If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its resulting per-atom value used to determine the value assigned to each selected atom. Note that the per-atom value from the variable -will be ignored for atoms that are not selected via the style and -ID settings explained above. A simple way to use per-atom values +will be ignored for atoms that are not selected via the style and +ID settings explained above. A simple way to use per-atom values from the variable to reset a property for all atoms is to use style -atom with ID = "*"; this selects all atom IDs. -

    -

    Atom-style variables can specify formulas with various mathematical -functions, and include thermo_style command +atom with ID = “*”; this selects all atom IDs.

    +

    Atom-style variables can specify formulas with various mathematical +functions, and include thermo_style command keywords for the simulation box parameters and timestep and elapsed time. They can also include per-atom values, such as atom coordinates. Thus it is easy to specify a time-dependent or spatially-dependent set of per-atom values. As explained on the -variable doc page, atomfile-style variables can be +variable doc page, atomfile-style variables can be used in place of atom-style variables, and thus as arguments to the set command. Atomfile-style variables read their per-atoms values -from a file. -

    -

    IMPORTANT NOTE: Atom-style and atomfile-style variables return +from a file.

    +
    +

    Warning

    +

    Atom-style and atomfile-style variables return floating point per-atom values. If the values are assigned to an integer variable, such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would -become 2. -

    -

    Keyword type sets the atom type for all selected atoms. The +become 2.

    +
    +

    Keyword type sets the atom type for all selected atoms. The specified value must be from 1 to ntypes, where ntypes was set by the -create_box command or the atom types field in the -header of the data file read by the read_data -command. -

    -

    Keyword type/fraction sets the atom type for a fraction of the +create_box command or the atom types field in the +header of the data file read by the read_data +command.

    +

    Keyword type/fraction sets the atom type for a fraction of the selected atoms. The actual number of atoms changed is not guaranteed to be exactly the requested fraction, but should be statistically close. Random numbers are used in such a way that a particular atom is changed or not changed, regardless of how many processors are being -used. This keyword does not allow use of an atom-style variable. -

    -

    Keyword mol sets the molecule ID for all selected atoms. The atom -style being used must support the use of molecule -IDs. -

    -

    Keywords x, y, z, and charge set the coordinates or charge of -all selected atoms. For charge, the atom style -being used must support the use of atomic charge. -

    -

    Keyword dipole uses the specified x,y,z values as components of a +used. This keyword does not allow use of an atom-style variable.

    +

    Keyword mol sets the molecule ID for all selected atoms. The atom style being used must support the use of molecule +IDs.

    +

    Keywords x, y, z, and charge set the coordinates or charge of +all selected atoms. For charge, the atom style +being used must support the use of atomic charge.

    +

    Keyword dipole uses the specified x,y,z values as components of a vector to set as the orientation of the dipole moment vectors of the selected atoms. The magnitude of the dipole moment is set -by the length of this orientation vector. -

    -

    Keyword dipole/random randomizes the orientation of the dipole +by the length of this orientation vector.

    +

    Keyword dipole/random randomizes the orientation of the dipole moment vectors of the selected atoms and sets the magnitude of each to -the specified Dlen value. For 2d systems, the z component of the +the specified Dlen value. For 2d systems, the z component of the orientation is set to 0.0. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an -atom-style variable. -

    -

    Keyword quat uses the specified values to create a quaternion +atom-style variable.

    +

    Keyword quat uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The -particles must be ellipsoids as defined by the atom_style -ellipsoid command or triangles as defined by the -atom_style tri command. Note that particles defined -by atom_style ellipsoid have 3 shape parameters. +particles must be ellipsoids as defined by the atom_style ellipsoid command or triangles as defined by the +atom_style tri command. Note that particles defined +by atom_style ellipsoid have 3 shape parameters. The 3 values must be non-zero for each particle set by this command. They are used to specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation -box's x-axis, and similarly for y and z. If this body is rotated (via +box’s x-axis, and similarly for y and z. If this body is rotated (via the right-hand rule) by an angle theta around a unit rotation vector (a,b,c), then the quaternion that represents its new orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). The theta and a,b,c values are the arguments to the -quat keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +quat keyword. LAMMPS normalizes the quaternion in case (a,b,c) was not specified as a unit vector. For 2d systems, the a,b,c values are -ignored, since a rotation vector of (0,0,1) is the only valid choice. -

    -

    Keyword quat/random randomizes the orientation of the quaternion of +ignored, since a rotation vector of (0,0,1) is the only valid choice.

    +

    Keyword quat/random randomizes the orientation of the quaternion of the selected atoms. The particles must be ellipsoids as defined by -the atom_style ellipsoid command or triangles as -defined by the atom_style tri command. Random +the atom_style ellipsoid command or triangles as +defined by the atom_style tri command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. For 2d systems, only orientations in the xy plane are generated. As -with keyword quat, for ellipsoidal particles, the 3 shape values +with keyword quat, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. This keyword -does not allow use of an atom-style variable. -

    -

    Keyword diameter sets the size of the selected atoms. The particles -must be finite-size spheres as defined by the atom_style -sphere command. The diameter of a particle can be +does not allow use of an atom-style variable.

    +

    Keyword diameter sets the size of the selected atoms. The particles +must be finite-size spheres as defined by the atom_style sphere command. The diameter of a particle can be set to 0.0, which means they will be treated as point particles. Note that this command does not adjust the particle mass, even if it was -defined with a density, e.g. via the read_data -command. -

    -

    Keyword shape sets the size and shape of the selected atoms. The -particles must be ellipsoids as defined by the atom_style -ellipsoid command. The Sx, Sy, Sz settings are +defined with a density, e.g. via the read_data +command.

    +

    Keyword shape sets the size and shape of the selected atoms. The +particles must be ellipsoids as defined by the atom_style ellipsoid command. The Sx, Sy, Sz settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. They can also all be set to 0.0 which means the particle will be treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -read_data command. -

    -

    Keyword length sets the length of selected atoms. The particles -must be line segments as defined by the atom_style -line command. If the specified value is non-zero the +read_data command.

    +

    Keyword length sets the length of selected atoms. The particles +must be line segments as defined by the atom_style line command. If the specified value is non-zero the line segment is (re)set to a length = the specified value, centered around the particle position, with an orientation along the x-axis. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -read_data command. -

    -

    Keyword tri sets the size of selected atoms. The particles must be -triangles as defined by the atom_style tri command. +read_data command.

    +

    Keyword tri sets the size of selected atoms. The particles must be +triangles as defined by the atom_style tri command. If the specified value is non-zero the triangle is (re)set to be an equilateral triangle in the xy plane with side length = the specified value, with a centroid at the particle position, with its base @@ -280,113 +377,160 @@ parallel to the x axis, and the y-axis running from the center of the base to the top point of the triangle. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a -density, e.g. via the read_data command. -

    -

    Keyword theta sets the orientation of selected atoms. The particles -must be line segments as defined by the atom_style -line command. The specified value is used to set the -orientation angle of the line segments with respect to the x axis. -

    -

    Keyword angmom sets the angular momentum of selected atoms. The -particles must be ellipsoids as defined by the atom_style -ellipsoid command or triangles as defined by the -atom_style tri command. The angular momentum vector -of the particles is set to the 3 specified components. -

    -

    Keyword mass sets the mass of all selected particles. The particles +density, e.g. via the read_data command.

    +

    Keyword theta sets the orientation of selected atoms. The particles +must be line segments as defined by the atom_style line command. The specified value is used to set the +orientation angle of the line segments with respect to the x axis.

    +

    Keyword angmom sets the angular momentum of selected atoms. The +particles must be ellipsoids as defined by the atom_style ellipsoid command or triangles as defined by the +atom_style tri command. The angular momentum vector +of the particles is set to the 3 specified components.

    +

    Keyword mass sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the -atom_style command. See the "mass" command for how -to set mass values on a per-type basis. -

    -

    Keyword density also sets the mass of all selected particles, but in +atom_style command. See the “mass” command for how +to set mass values on a per-type basis.

    +

    Keyword density also sets the mass of all selected particles, but in a different way. The particles must have a per-atom mass attribute, -as defined by the atom_style command. If the atom -has a radius attribute (see atom_style sphere) and +as defined by the atom_style command. If the atom +has a radius attribute (see atom_style sphere) and its radius is non-zero, its mass is set from the density and particle -volume. If the atom has a shape attribute (see atom_style -ellipsoid) and its 3 shape parameters are non-zero, +volume. If the atom has a shape attribute (see atom_style ellipsoid) and its 3 shape parameters are non-zero, then its mass is set from the density and particle volume. If the -atom has a length attribute (see atom_style line) +atom has a length attribute (see atom_style line) and its length is non-zero, then its mass is set from the density and line segment length (the input density is assumed to be in mass/distance units). If the atom has an area attribute (see -atom_style tri) and its area is non-zero, then its +atom_style tri) and its area is non-zero, then its mass is set from the density and triangle area (the input density is assumed to be in mass/distance^2 units). If none of these cases are valid, then the mass is set to the density value directly (the input -density is assumed to be in mass units). -

    -

    Keyword volume sets the volume of all selected particles. -Currently, only the atom_style peri command defines +density is assumed to be in mass units).

    +

    Keyword volume sets the volume of all selected particles. +Currently, only the atom_style peri command defines particles with a volume attribute. Note that this command does not -adjust the particle mass. -

    -

    Keyword image sets which image of the simulation box the atom is +adjust the particle mass.

    +

    Keyword image sets which image of the simulation box the atom is considered to be in. An image of 0 means it is inside the box as defined. A value of 2 means add 2 box lengths to get the true value. A value of -1 means subtract 1 box length to get the true value. LAMMPS updates these flags as atoms cross periodic boundaries during the simulation. The flags can be output with atom snapshots via the -dump command. If a value of NULL is specified for any of +dump command. If a value of NULL is specified for any of nx,ny,nz, then the current image value for that dimension is unchanged. For non-periodic dimensions only a value of 0 can be -specified. This keyword does not allow use of atom-style variables. -

    -

    This command can be useful after a system has been equilibrated and +specified. This keyword does not allow use of atom-style variables.

    +

    This command can be useful after a system has been equilibrated and atoms have diffused one or more box lengths in various directions. This command can then reset the image values for atoms so that they are effectively inside the simulation box, e.g if a diffusion -coefficient is about to be measured via the compute -msd command. Care should be taken not to reset the +coefficient is about to be measured via the compute msd command. Care should be taken not to reset the image flags of two atoms in a bond to the same value if the bond straddles a periodic boundary (rather they should be different by +/- 1). This will not affect the dynamics of a simulation, but may mess up analysis of the trajectories if a LAMMPS diagnostic or your own analysis relies on the image flags to unwrap a molecule which -straddles the periodic box. -

    -

    Keywords bond, angle, dihedral, and improper, set the bond +straddles the periodic box.

    +

    Keywords bond, angle, dihedral, and improper, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, -etc) was set by the bond types (angle types, etc) field in the -header of the data file read by the read_data -command. These keywords do not allow use of an atom-style variable. -

    -

    Keywords meso_e, meso_cv, and meso_rho set the energy, heat +etc) was set by the bond types (angle types, etc) field in the +header of the data file read by the read_data +command. These keywords do not allow use of an atom-style variable.

    +

    Keywords meso_e, meso_cv, and meso_rho set the energy, heat capacity, and density of smmothed particle hydrodynamics (SPH) -particles. See this PDF guide to -using SPH in LAMMPS. -

    -

    Keywords i_name and d_name refer to custom integer and +particles. See this PDF guide to +using SPH in LAMMPS.

    +

    Keywords i_name and d_name refer to custom integer and floating-point properties that have been added to each atom via the -fix property/atom command. When that command +fix property/atom command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of i_name or d_name. -

    -

    Restrictions: -

    -

    You cannot set an atom attribute (e.g. mol or q or volume) if -the atom_style does not have that attribute. -

    -

    This command requires inter-processor communication to coordinate the +specified as the “name” portion of i_name or d_name.

    +
    +
    +

    Restrictions¶

    +

    You cannot set an atom attribute (e.g. mol or q or volume) if +the atom_style does not have that attribute.

    +

    This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system must be ready to perform a simulation before using one of these keywords (force fields set, atom mass set, etc). This is not -necessary for other keywords. -

    -

    Using the region style with the bond (angle, etc) keywords can give +necessary for other keywords.

    +

    Using the region style with the bond (angle, etc) keywords can give unpredictable results if there are bonds (angles, etc) that straddle periodic boundaries. This is because the region may only extend up to the boundary and partner atoms in the bond (angle, etc) may have -coordinates outside the simulation box if they are ghost atoms. -

    -

    Related commands: -

    -

    create_box, create_atoms, -read_data -

    -

    Default: none -

    - +coordinates outside the simulation box if they are ghost atoms.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/shell.html b/doc/shell.html index 0bb8b3b6d8..eaf88c7f39 100644 --- a/doc/shell.html +++ b/doc/shell.html @@ -1,42 +1,159 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + shell command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    shell command -

    -

    Syntax: -

    -
    shell cmd args 
    -
    -
    • cmd = cd or mkdir or mv or rm or rmdir or putenv or arbitrary command - -
        cd arg = dir
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      shell command¶

      +
      +

      Syntax¶

      +
      shell cmd args
      +
      +
      +
        +
      • cmd = cd or mkdir or mv or rm or rmdir or putenv or arbitrary command
      • +
      +
      +cd arg = dir
           dir = directory to change to
      -  mkdir args = dir1 dir2 ...
      +  mkdir args = dir1 dir2 ...
           dir1,dir2 = one or more directories to create
      -  mv args = old new
      +  mv args = old new
           old = old filename
           new = new filename
      -  rm args = file1 file2 ...
      +  rm args = file1 file2 ...
           file1,file2 = one or more filenames to delete
      -  rmdir args = dir1 dir2 ...
      +  rmdir args = dir1 dir2 ...
           dir1,dir2 = one or more directories to delete
      -  putenv args = var1=value1 var2=value2
      +  putenv args = var1=value1 var2=value2
           var=value = one of more definitions of environment variables
      -  anything else is passed as a command to the shell for direct execution 
      -
      - -
    -

    Examples: -

    -
    shell cd sub1
    +  anything else is passed as a command to the shell for direct execution
    +
    +
    +
    +

    Examples¶

    +
    shell cd sub1
     shell cd ..
     shell mkdir tmp1 tmp2 tmp3
     shell rmdir tmp1
    @@ -44,71 +161,126 @@ shell mv log.lammps hold/log.1
     shell rm TMP/file1 TMP/file2
     shell putenv LAMMPS_POTENTIALS=../../potentials
     shell my_setup file1 10 file2
    -shell my_post_process 100 dump.out 
    -
    -

    Description: -

    -

    Execute a shell command. A few simple file-based shell commands are +shell my_post_process 100 dump.out +

    +
    +
    +
    +

    Description¶

    +

    Execute a shell command. A few simple file-based shell commands are supported directly, in Unix-style syntax. Any command not listed above is passed as-is to the C-library system() call, which invokes -the command in a shell. -

    -

    This is means to invoke other commands from your input script. For +the command in a shell.

    +

    This is means to invoke other commands from your input script. For example, you can move files around in preparation for the next section of the input script. Or you can run a program that pre-processes data for input into LAMMPS. Or you can run a program that post-processes -LAMMPS output data. -

    -

    With the exception of cd, all commands, including ones invoked via a +LAMMPS output data.

    +

    With the exception of cd, all commands, including ones invoked via a system() call, are executed by only a single processor, so that -files/directories are not being manipulated by multiple processors. -

    -

    The cd cmd executes the Unix "cd" command to change the working +files/directories are not being manipulated by multiple processors.

    +

    The cd cmd executes the Unix “cd” command to change the working directory. All subsequent LAMMPS commands that read/write files will -use the new directory. All processors execute this command. -

    -

    The mkdir cmd executes the Unix "mkdir" command to create one or -more directories. -

    -

    The mv cmd executes the Unix "mv" command to rename a file and/or -move it to a new directory. -

    -

    The rm cmd executes the Unix "rm" command to remove one or more -files. -

    -

    The rmdir cmd executes the Unix "rmdir" command to remove one or +use the new directory. All processors execute this command.

    +

    The mkdir cmd executes the Unix “mkdir” command to create one or +more directories.

    +

    The mv cmd executes the Unix “mv” command to rename a file and/or +move it to a new directory.

    +

    The rm cmd executes the Unix “rm” command to remove one or more +files.

    +

    The rmdir cmd executes the Unix “rmdir” command to remove one or more directories. A directory must be empty to be successfully -removed. -

    -

    The putenv cmd defines or updates an environment variable directly. +removed.

    +

    The putenv cmd defines or updates an environment variable directly. Since this command does not pass through the shell, no shell variable expansion or globbing is performed, only the usual substitution for -LAMMPS variables defined with the variable command is -performed. The resulting string is then used literally. -

    -

    Any other cmd is passed as-is to the shell along with its arguments as +LAMMPS variables defined with the variable command is +performed. The resulting string is then used literally.

    +

    Any other cmd is passed as-is to the shell along with its arguments as one string, invoked by the C-library system() call. For example, -these lines in your input script: -

    -
    variable n equal 10
    +these lines in your input script:

    +
    variable n equal 10
     variable foo string file2
    -shell my_setup file1 $n ${foo} 
    -
    -

    would be the same as invoking -

    -
    % my_setup file1 10 file2 
    -
    -

    from a command-line prompt. The executable program "my_setup" is run -with 3 arguments: file1 10 file2. -

    -

    Restrictions: -

    -

    LAMMPS does not detect errors or print warnings when any of these +shell my_setup file1 $n ${foo} +

    + +

    would be the same as invoking

    +
    % my_setup file1 10 file2
    +
    +
    +

    from a command-line prompt. The executable program “my_setup” is run +with 3 arguments: file1 10 file2.

    + +
    +

    Restrictions¶

    +

    LAMMPS does not detect errors or print warnings when any of these commands execute. E.g. if the specified directory does not exist, -executing the cd command will silently do nothing. -

    -

    Related commands: none -

    -

    Default: none -

    - +executing the cd command will silently do nothing.

    +

    Related commands: none

    +

    Default: none

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/special_bonds.html b/doc/special_bonds.html index 58fa493988..a716bcd37a 100644 --- a/doc/special_bonds.html +++ b/doc/special_bonds.html @@ -1,95 +1,212 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + special_bonds command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    special_bonds command -

    -

    Syntax: -

    -
    special_bonds keyword values ... 
    -
    -
    • one or more keyword/value pairs may be appended - -
    • keyword = amber or charmm or dreiding or fene or lj/coul or lj or coul or angle or dihedral or extra - -
        amber values = none
      -  charmm values = none
      -  dreiding values = none
      -  fene values = none
      -  lj/coul values = w1,w2,w3
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      special_bonds command¶

      +
      +

      Syntax¶

      +
      special_bonds keyword values ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be appended
      • +
      • keyword = amber or charmm or dreiding or fene or lj/coul or lj or coul or angle or dihedral or extra
      • +
      +
      +amber values = none
      +  charmm values = none
      +  dreiding values = none
      +  fene values = none
      +  lj/coul values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions
      -  lj values = w1,w2,w3
      +  lj values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions
      -  coul values = w1,w2,w3
      +  coul values = w1,w2,w3
           w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions
      -  angle value = yes or no
      -  dihedral value = yes or no
      -  extra value = N
      -    N = number of extra 1-2,1-3,1-4 interactions to save space for 
      -
      - -
    -

    Examples: -

    -
    special_bonds amber
    +  angle value = yes or no
    +  dihedral value = yes or no
    +  extra value = N
    +    N = number of extra 1-2,1-3,1-4 interactions to save space for
    +
    +

    Examples:

    +
    special_bonds amber
     special_bonds charmm
     special_bonds fene dihedral no
     special_bonds lj/coul 0.0 0.0 0.5 angle yes dihedral yes
     special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 0.0 dihedral yes
    -special_bonds lj/coul 0 1 1 extra 2 
    -
    -

    Description: -

    -

    Set weighting coefficients for pairwise energy and force contributions +special_bonds lj/coul 0 1 1 extra 2 +

    +
    +
    +
    +

    Description¶

    +

    Set weighting coefficients for pairwise energy and force contributions between pairs of atoms that are also permanently bonded to each other, either directly or via one or two intermediate bonds. These weighting -factors are used by nearly all pair styles in LAMMPS +factors are used by nearly all pair styles in LAMMPS that compute simple pairwise interactions. Permanent bonds between atoms are specified by defining the bond topology in the data file -read by the read_data command. Typically a -bond_style command is also used to define a bond +read by the read_data command. Typically a +bond_style command is also used to define a bond potential. The rationale for using these weighting factors is that the interaction between a pair of bonded atoms is all (or mostly) specified by the bond, angle, dihedral potentials, and thus the non-bonded Lennard-Jones or Coulombic interaction between the pair of -atoms should be excluded (or reduced by a weighting factor). -

    -

    IMPORTANT NOTE: These weighting factors are NOT used by pair -styles that compute many-body interactions, since the -"bonds" that result from such interactions are not permanent, but are +atoms should be excluded (or reduced by a weighting factor).

    +
    +

    Warning

    +

    These weighting factors are NOT used by pair styles that compute many-body interactions, since the +“bonds” that result from such interactions are not permanent, but are created and broken dynamically as atom conformations change. Examples of pair styles in this category are EAM, MEAM, Stillinger-Weber, Tersoff, COMB, AIREBO, and ReaxFF. In fact, it generally makes no sense to define permanent bonds between atoms that interact via these potentials, though such bonds may exist elsewhere in your system, -e.g. when using the pair_style hybrid command. +e.g. when using the pair_style hybrid command. Thus LAMMPS ignores special_bonds settings when manybody potentials -are calculated. -

    -

    IMPORTANT NOTE: Unlike some commands in LAMMPS, you cannot use this +are calculated.

    +
    +
    +

    Warning

    +

    Unlike some commands in LAMMPS, you cannot use this command multiple times in an incremental fashion: e.g. to first set the LJ settings and then the Coulombic ones. Each time you use this command it sets all the coefficients to default values and only overrides the one you specify, so you should set all the options you need each time you use it. See more details at the bottom of this -page. -

    -

    The Coulomb factors are applied to any Coulomb (charge interaction) +page.

    +
    +

    The Coulomb factors are applied to any Coulomb (charge interaction) term that the potential calculates. The LJ factors are applied to the remaining terms that the potential calculates, whether they represent LJ interactions or not. The weighting factors are a scaling pre-factor on the energy and force between the pair of atoms. A value of 1.0 means include the full interaction; a value of 0.0 means -exclude it completely. -

    -

    The 1st of the 3 coefficients (LJ or Coulombic) is the weighting +exclude it completely.

    +

    The 1st of the 3 coefficients (LJ or Coulombic) is the weighting factor on 1-2 atom pairs, which are pairs of atoms directly bonded to each other. The 2nd coefficient is the weighting factor on 1-3 atom pairs which are those separated by 2 bonds (e.g. the two H atoms in a @@ -98,59 +215,54 @@ atom pairs which are those separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral interaction). Thus if the 1-2 coefficient is set to 0.0, then the pairwise interaction is effectively turned off for all pairs of atoms bonded to each other. If it is set to 1.0, then -that interaction will be at full strength. -

    -

    IMPORTANT NOTE: For purposes of computing weighted pairwise +that interaction will be at full strength.

    +
    +

    Warning

    +

    For purposes of computing weighted pairwise interactions, 1-3 and 1-4 interactions are not defined from the list of angles or dihedrals used by the simulation. Rather, they are inferred topologically from the set of bonds specified when the simulation is defined from a data or restart file (see -read_data or read_restart +read_data or read_restart commands). Thus the set of 1-2,1-3,1-4 interactions that the weights apply to is the same whether angle and dihedral potentials are computed or not, and remains the same even if bonds are constrained, -or turned off, or removed during a simulation. -

    -

    The two exceptions to this rule are (a) if the angle or dihedral -keywords are set to yes (see below), or (b) if the -delete_bonds command is used with the special +or turned off, or removed during a simulation.

    +
    +

    The two exceptions to this rule are (a) if the angle or dihedral +keywords are set to yes (see below), or (b) if the +delete_bonds command is used with the special option that recomputes the 1-2,1-3,1-4 topologies after bonds are -deleted; see the delete_bonds command for more -details. -

    -

    The amber keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ +deleted; see the delete_bonds command for more +details.

    +

    The amber keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ interactions and to 0.0, 0.0, 0.8333 for Coulombic interactions, which is the default for a commonly used version of the AMBER force field, -where the last value is really 5/6. See (Cornell) for a -description of the AMBER force field. -

    -

    The charmm keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both +where the last value is really 5/6. See (Cornell) for a +description of the AMBER force field.

    +

    The charmm keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both LJ and Coulombic interactions, which is the default for a commonly used version of the CHARMM force field. Note that in pair styles -lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients +lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients are defined explicitly, and these pairwise contributions are computed as part of the charmm dihedral style - see the -pair_coeff and dihedral_style -commands for more information. See (MacKerell) for a -description of the CHARMM force field. -

    -

    The dreiding keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both +pair_coeff and dihedral_style +commands for more information. See (MacKerell) for a +description of the CHARMM force field.

    +

    The dreiding keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both LJ and Coulombic interactions, which is the default for the Dreiding -force field, as discussed in (Mayo). -

    -

    The fene keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both +force field, as discussed in (Mayo).

    +

    The fene keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both LJ and Coulombic interactions, which is consistent with a -coarse-grained polymer model with FENE bonds. See -(Kremer) for a description of FENE bonds. -

    -

    The lj/coul, lj, and coul keywords allow the 3 coefficients to -be set explicitly. The lj/coul keyword sets both the LJ and -Coulombic coefficients to the same 3 values. The lj and coul +coarse-grained polymer model with FENE bonds. See +(Kremer) for a description of FENE bonds.

    +

    The lj/coul, lj, and coul keywords allow the 3 coefficients to +be set explicitly. The lj/coul keyword sets both the LJ and +Coulombic coefficients to the same 3 values. The lj and coul keywords only set either the LJ or Coulombic coefficients. Use both of them if you wish to set the LJ coefficients to different values -than the Coulombic coefficients. -

    -

    The angle keyword allows the 1-3 weighting factor to be ignored for +than the Coulombic coefficients.

    +

    The angle keyword allows the 1-3 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any angle defined in the simulation or as 1,3 or 2,4 atoms in any dihedral defined in the simulation. For example, imagine the 1-3 @@ -160,12 +272,11 @@ as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a dihedral, then the pairwise interaction between atoms 1 and 3 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 4. -If the angle keyword is specified as yes, then the pairwise +If the angle keyword is specified as yes, then the pairwise interaction between atoms 2 and 4 will be unaffected (full weighting -of 1.0). If the angle keyword is specified as no which is the -default, then the 2,4 interaction will also be weighted by 0.5. -

    -

    The dihedral keyword allows the 1-4 weighting factor to be ignored +of 1.0). If the angle keyword is specified as no which is the +default, then the 2,4 interaction will also be weighted by 0.5.

    +

    The dihedral keyword allows the 1-4 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any dihedral defined in the simulation. For example, imagine the 1-4 weighting factor is set to 0.5 and you have a linear molecule @@ -174,103 +285,148 @@ defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a dihedral, then the pairwise interaction between atoms 1 and 4 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 5. -If the dihedral keyword is specified as yes, then the pairwise +If the dihedral keyword is specified as yes, then the pairwise interaction between atoms 2 and 5 will be unaffected (full weighting -of 1.0). If the dihedral keyword is specified as no which is the -default, then the 2,5 interaction will also be weighted by 0.5. -

    -

    The extra keyword can be used when additional bonds will be created -during a simulation run, e.g. by the fix -bond/create command. It can also be used if -molecules will be added to the system, e.g. via the fix -deposit, or fix pour commands, which +of 1.0). If the dihedral keyword is specified as no which is the +default, then the 2,5 interaction will also be weighted by 0.5.

    +

    The extra keyword can be used when additional bonds will be created +during a simulation run, e.g. by the fix bond/create command. It can also be used if +molecules will be added to the system, e.g. via the fix deposit, or fix pour commands, which will have atoms with more special neighbors than any atom in the -current system has. -

    -
    - -

    IMPORTANT NOTE: LAMMPS stores and maintains a data structure with a +current system has.

    +
    +
    +

    Warning

    +

    LAMMPS stores and maintains a data structure with a list of the 1st, 2nd, and 3rd neighbors of each atom (within the bond topology of the system). If new bonds are created (or molecules added containing atoms with more special neighbors), the size of this list needs to grow. Note that adding a single bond always adds a new 1st -neighbor but may also induce *many* new 2nd and 3rd neighbors, -depending on the molecular topology of your system. Using the extra +neighbor but may also induce many new 2nd and 3rd neighbors, +depending on the molecular topology of your system. Using the extra keyword leaves empty space in the list for this N additional 1st, 2nd, or 3rd neighbors to be added. If you do not do this, you may get an -error when bonds (or molecules) are added. -

    -
    - -

    IMPORTANT NOTE: If you reuse this command in an input script, you +error when bonds (or molecules) are added.

    +
    +
    +
    +

    Warning

    +

    If you reuse this command in an input script, you should set all the options you need each time. This command cannot be used a 2nd time incrementally, e.g. to add some extra storage -locations via the extra keyword. E.g. these two commands: -

    -

    special_bonds lj 0.0 1.0 1.0 -special_bonds coul 0.0 0.0 1.0 -

    -

    are not the same as -

    -

    special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0 -

    -

    In the first case you end up with (after the 2nd command): -

    -

    LJ: 0.0 0.0 0.0 -Coul: coul 0.0 0.0 1.0 -

    -

    because the LJ settings are reset to their default values -each time the command is issued. -

    -

    Likewise -

    -
    special_bonds amber
    -special_bonds extra 2 
    -
    -

    is not the same as this single command: -

    -
    special_bonds amber extra 2 
    -
    -

    since in the former case, the 2nd command will reset all the LJ and -Coulombic weights to 0.0 (the default). -

    -

    One exception to this rule is the extra option itself. It is not +locations via the extra keyword. E.g. these two commands:

    +
    +

    special_bonds lj 0.0 1.0 1.0 +special_bonds coul 0.0 0.0 1.0

    +

    are not the same as

    +

    special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0

    +

    In the first case you end up with (after the 2nd command):

    +

    LJ: 0.0 0.0 0.0 +Coul: coul 0.0 0.0 1.0

    +

    because the LJ settings are reset to their default values +each time the command is issued.

    +

    Likewise

    +
    special_bonds amber
    +special_bonds extra 2
    +
    +
    +

    is not the same as this single command:

    +
    special_bonds amber extra 2
    +
    +
    +

    since in the former case, the 2nd command will reset all the LJ and +Coulombic weights to 0.0 (the default).

    +

    One exception to this rule is the extra option itself. It is not reset to its default value of 0 each time the special_bonds command is invoked. This is because it can also be set by the -read_data and create_box commands, +read_data and create_box commands, so this command will not override those settings unless you explicitly -use extra as an option. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    delete_bonds, fix bond/create -

    -

    Default: -

    -

    All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, -angle = no, dihedral = no, and extra = 0. -

    -
    +use extra as an option.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, +angle = no, dihedral = no, and extra = 0.

    +
    +

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

    +

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990).

    +

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).

    +

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990).

    +
    + - -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). -

    - + + +
    + -

    (Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990). -

    - +
    -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). -

    - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/suffix.html b/doc/suffix.html index c1aae192de..cca1d948b1 100644 --- a/doc/suffix.html +++ b/doc/suffix.html @@ -1,105 +1,279 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + suffix command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    suffix command -

    -

    Syntax: -

    -
    suffix style 
    -
    -
    • style = off or on or cuda or gpu or intel or kk or omp or opt -
    -

    Examples: -

    -
    suffix off
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    suffix command¶

    +
    +

    Syntax¶

    +
    suffix style
    +
    +
    +
      +
    • style = off or on or cuda or gpu or intel or kk or omp or opt
    • +
    +
    +
    +

    Examples¶

    +
    suffix off
     suffix on
     suffix gpu
     suffix intel
    -suffix kk 
    -
    -

    Description: -

    -

    This command allows you to use variants of various styles if they -exist. In that respect it operates the same as the -suffix -command-line switch. It also has options -to turn off or back on any suffix setting made via the command line. -

    -

    The specified style can be cuda, gpu, intel, kk, omp, or -opt. These refer to optional packages that LAMMPS can be built -with, as described in this section of the -manual. The "cuda" style corresponds to -the USER-CUDA package, the "gpu" style to the GPU package, the "intel" -style to the USER-INTEL package, the "kk" style to the KOKKOS package, -the "omp" style to the USER-OMP package, and the "opt" style to the -OPT package, -

    -

    These are the variants these packages provide: -

    -
    • USER-CUDA = a collection of atom, pair, fix, compute, and intergrate -styles, optimized to run on one or more NVIDIA GPUs - -
    • GPU = a handful of pair styles and the PPPM kspace_style, optimized to -run on one or more GPUs or multicore CPU/GPU nodes - -
    • USER-INTEL = a collection of pair styles and neighbor routines +suffix kk +
    + + +
    +

    Description¶

    +

    This command allows you to use variants of various styles if they +exist. In that respect it operates the same as the -suffix command-line switch. It also has options +to turn off or back on any suffix setting made via the command line.

    +

    The specified style can be cuda, gpu, intel, kk, omp, or +opt. These refer to optional packages that LAMMPS can be built +with, as described in this section of the manual. The “cuda” style corresponds to +the USER-CUDA package, the “gpu” style to the GPU package, the “intel” +style to the USER-INTEL package, the “kk” style to the KOKKOS package, +the “omp” style to the USER-OMP package, and the “opt” style to the +OPT package,

    +

    These are the variants these packages provide:

    +
      +
    • USER-CUDA = a collection of atom, pair, fix, compute, and intergrate +styles, optimized to run on one or more NVIDIA GPUs
    • +
    • GPU = a handful of pair styles and the PPPM kspace_style, optimized to +run on one or more GPUs or multicore CPU/GPU nodes
    • +
    • USER-INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and -Intel(R) Xeon Phi(TM) coprocessors. - -
    • KOKKOS = a collection of atom, pair, and fix styles optimized to run +Intel(R) Xeon Phi(TM) coprocessors.
    • +
    • KOKKOS = a collection of atom, pair, and fix styles optimized to run using the Kokkos library on various kinds of hardware, including GPUs -via Cuda and many-core chips via OpenMP or threading. - -
    • USER-OMP = a collection of pair, bond, angle, dihedral, improper, +via Cuda and many-core chips via OpenMP or threading.
    • +
    • USER-OMP = a collection of pair, bond, angle, dihedral, improper, kspace, compute, and fix styles with support for OpenMP -multi-threading - -
    • OPT = a handful of pair styles, cache-optimized for faster CPU -performance -
    -

    As an example, all of the packages provide a pair_style -lj/cut variant, with style names lj/cut/opt, lj/cut/omp, +multi-threading +

  • OPT = a handful of pair styles, cache-optimized for faster CPU +performance
  • + +

    As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/opt, lj/cut/omp, lj/cut/gpu, lj/cut/intel, lj/cut/cuda, or lj/cut/kk. A variant styles can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the suffix command is used with the appropriate style, you do not need to modify your input script. The specified suffix (opt,omp,gpu,intel,cuda,kk) is automatically appended whenever your -input script command creates a new atom, -pair, bond, -angle, dihedral, -improper, kspace, -fix, compute, or run style. +input script command creates a new atom, +pair, bond, +angle, dihedral, +improper, kspace, +fix, compute, or run style. If the variant version does not exist, the standard version is -created. -

    -

    When using the intel suffix, LAMMPS will first attempt to use a style +created.

    +

    When using the intel suffix, LAMMPS will first attempt to use a style with the intel suffix. If the USER-OMP package is installed, the the omp suffix will be tried as a second choice, if a requested style is -not available in the USER-INTEL package. -

    -

    If the specified style is off, then any previously specified suffix +not available in the USER-INTEL package.

    +

    If the specified style is off, then any previously specified suffix is temporarily disabled, whether it was specified by a command-line -switch or a previous suffix command. If the specified style is on, +switch or a previous suffix command. If the specified style is on, a disabled suffix is turned back on. The use of these 2 commands lets your input script use a standard LAMMPS style (i.e. a non-accelerated variant), which can be useful for testing or benchmarking purposes. Of course this is also possible by not using any suffix commands, and explictly appending or not appending the suffix to the relevant -commands in your input script. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    Command-line switch -suffix -

    -

    Default: none -

    - +commands in your input script.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/tad.html b/doc/tad.html index b3e0982342..aa0bff9b8e 100644 --- a/doc/tad.html +++ b/doc/tad.html @@ -1,77 +1,186 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + tad command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    tad command -

    -

    Syntax: -

    -
    tad N t_event T_lo T_hi delta tmax compute-ID keyword value ... 
    -
    -
    • N = # of timesteps to run (not including dephasing/quenching) - -
    • t_event = timestep interval between event checks - -
    • T_lo = temperature at which event times are desired - -
    • T_hi = temperature at which MD simulation is performed - -
    • delta = desired confidence level for stopping criterion - -
    • tmax = reciprocal of lowest expected preexponential factor (time units) - -
    • compute-ID = ID of the compute used for event detection - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = min or neb or min_style or neb_style or neb_log - -
        min values = etol ftol maxiter maxeval
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      tad command¶

      +
      +

      Syntax¶

      +
      tad N t_event T_lo T_hi delta tmax compute-ID keyword value ...
      +
      +
      +
        +
      • N = # of timesteps to run (not including dephasing/quenching)
      • +
      • t_event = timestep interval between event checks
      • +
      • T_lo = temperature at which event times are desired
      • +
      • T_hi = temperature at which MD simulation is performed
      • +
      • delta = desired confidence level for stopping criterion
      • +
      • tmax = reciprocal of lowest expected preexponential factor (time units)
      • +
      • compute-ID = ID of the compute used for event detection
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = min or neb or min_style or neb_style or neb_log
      • +
      +
      +min values = etol ftol maxiter maxeval
           etol = stopping tolerance for energy (energy units)
           ftol = stopping tolerance for force (force units)
           maxiter = max iterations of minimize
           maxeval = max number of force/energy evaluations
      -  neb values = ftol N1 N2 Nevery
      +  neb values = ftol N1 N2 Nevery
           etol = stopping tolerance for energy (energy units)
           ftol = stopping tolerance for force (force units)
      -    N1 = max # of iterations (timesteps) to run initial NEB 
      +    N1 = max # of iterations (timesteps) to run initial NEB
           N2 = max # of iterations (timesteps) to run barrier-climbing NEB
           Nevery = print NEB statistics every this many timesteps
      -  neb_style value = quickmin or fire
      -  neb_step value = dtneb
      +  neb_style value = quickmin or fire
      +  neb_step value = dtneb
           dtneb = timestep for NEB damped dynamics minimization
      -  neb_log value = file where NEB statistics are printed 
      -
      - -
    -

    Examples: -

    -
    tad 2000 50 1800 2300 0.01 0.01 event
    -tad 2000 50 1800 2300 0.01 0.01 event &
    -    min 1e-05 1e-05 100 100 &
    -    neb 0.0 0.01 200 200 20 &
    -    min_style cg &
    -    neb_style fire &
    -    neb_log log.neb 
    -
    -

    Description: -

    -

    Run a temperature accelerated dynamics (TAD) simulation. This method + neb_log value = file where NEB statistics are printed + +

    +
    +

    Examples¶

    +
    tad 2000 50 1800 2300 0.01 0.01 event
    +tad 2000 50 1800 2300 0.01 0.01 event &
    +    min 1e-05 1e-05 100 100 &
    +    neb 0.0 0.01 200 200 20 &
    +    min_style cg &
    +    neb_style fire &
    +    neb_log log.neb
    +
    +
    +
    +
    +

    Description¶

    +

    Run a temperature accelerated dynamics (TAD) simulation. This method requires two or more partitions to perform NEB transition state -searches. -

    -

    TAD is described in this paper by Art Voter. It is a method +searches.

    +

    TAD is described in this paper by Art Voter. It is a method that uses accelerated dynamics at an elevated temperature to generate results at a specified lower temperature. A good overview of -accelerated dynamics methods for such systems is given in this review -paper from the same group. In general, these methods assume +accelerated dynamics methods for such systems is given in this review paper from the same group. In general, these methods assume that the long-time dynamics is dominated by infrequent events i.e. the system is is confined to low energy basins for long periods, punctuated by brief, randomly-occurring transitions to adjacent @@ -90,28 +199,24 @@ reflected backwards into the current basin. This is repeated until the stopping criterion is satisfied, at which point the event with the earliest low-temperature occurrence time is selected. The stopping criterion is that the confidence measure be greater than -1-delta. The confidence measure is the probability that no earlier +1-delta. The confidence measure is the probability that no earlier low-temperature event will occur at some later time in the high-temperature simulation. hTST provides an lower bound for this probability, based on the user-specified minimum pre-exponential -factor (reciprocal of tmax). -

    -

    In order to estimate the energy barrier for each event, the TAD method -invokes the NEB method. Each NEB replica runs on a +factor (reciprocal of tmax).

    +

    In order to estimate the energy barrier for each event, the TAD method +invokes the NEB method. Each NEB replica runs on a partition of processors. The current NEB implementation in LAMMPS restricts you to having exactly one processor per replica. For more -information, see the documentation for the neb command. In +information, see the documentation for the neb command. In the current LAMMPS implementation of TAD, all the non-NEB TAD operations are performed on the first partition, while the other -partitions remain idle. See Section_howto -5 of the manual for further discussion of -multi-replica simulations. -

    -

    A TAD run has several stages, which are repeated each time an event is -performed. The logic for a TAD run is as follows: -

    -
    while (time remains):
    -  while (time < tstop):
    +partitions remain idle. See Section_howto 5 of the manual for further discussion of
    +multi-replica simulations.

    +

    A TAD run has several stages, which are repeated each time an event is +performed. The logic for a TAD run is as follows:

    +
    while (time remains):
    +  while (time < tstop):
         until (event occurs):
           run dynamics for t_event steps
           quench
    @@ -120,129 +225,111 @@ performed.  The logic for a TAD run is as follows:
         update earliest event
         update tstop
         reflect back into current basin
    -  execute earliest event 
    -
    -

    Before this outer loop begins, the initial potential energy basin is + execute earliest event +

    + +

    Before this outer loop begins, the initial potential energy basin is identified by quenching (an energy minimization, see below) the -initial state and storing the resulting coordinates for reference. -

    -

    Inside the inner loop, dynamics is run continuously according to +initial state and storing the resulting coordinates for reference.

    +

    Inside the inner loop, dynamics is run continuously according to whatever integrator has been specified by the user, stopping every -t_event steps to check if a transition event has occurred. This +t_event steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting -atom coordinates to the coordinates from the previous basin. -

    -

    A quench is an energy minimization and is performed by whichever -algorithm has been defined by the min_style command; +atom coordinates to the coordinates from the previous basin.

    +

    A quench is an energy minimization and is performed by whichever +algorithm has been defined by the min_style command; its default is the CG minimizer. The tolerances and limits for each -quench can be set by the min keyword. Note that typically, you do +quench can be set by the min keyword. Note that typically, you do not need to perform a highly-converged minimization to detect a -transition event. -

    -

    The event check is performed by a compute with the specified -compute-ID. Currently there is only one compute that works with the -TAD commmand, which is the compute -event/displace command. Other -event-checking computes may be added. Compute -event/displace checks whether any atom in +transition event.

    +

    The event check is performed by a compute with the specified +compute-ID. Currently there is only one compute that works with the +TAD commmand, which is the compute event/displace command. Other +event-checking computes may be added. Compute event/displace checks whether any atom in the compute group has moved further than a specified threshold -distance. If so, an "event" has occurred. -

    -

    The NEB calculation is similar to that invoked by the neb +distance. If so, an “event” has occurred.

    +

    The NEB calculation is similar to that invoked by the neb command, except that the final state is generated internally, instead of being read in from a file. The style of minimization performed by -NEB is determined by the neb_style keyword and must be a damped +NEB is determined by the neb_style keyword and must be a damped dynamics minimizer. The tolerances and limits for each NEB -calculation can be set by the neb keyword. As discussed on the -neb, it is often advantageous to use a larger timestep for +calculation can be set by the neb keyword. As discussed on the +neb, it is often advantageous to use a larger timestep for NEB than for normal dyanmics. Since the size of the timestep set by -the timestep command is used by TAD for performing -dynamics, there is a neb_step keyword which can be used to set a -larger timestep for each NEB calculation if desired. -

    -
    - -

    A key aspect of the TAD method is setting the stopping criterion +the timestep command is used by TAD for performing +dynamics, there is a neb_step keyword which can be used to set a +larger timestep for each NEB calculation if desired.

    +
    +

    A key aspect of the TAD method is setting the stopping criterion appropriately. If this criterion is too conservative, then many events must be generated before one is finally executed. Conversely, if this criterion is too aggressive, high-entropy high-barrier events will be over-sampled, while low-entropy low-barrier events will be under-sampled. If the lowest pre-exponential factor is known fairly -accurately, then it can be used to estimate tmax, and the value of -delta can be set to the desired confidence level e.g. delta = 0.05 +accurately, then it can be used to estimate tmax, and the value of +delta can be set to the desired confidence level e.g. delta = 0.05 corresponds to 95% confidence. However, for systems where the dynamics are not well characterized (the most common case), it will be -necessary to experiment with the values of delta and tmax to get a -good trade-off between accuracy and performance. -

    -

    A second key aspect is the choice of t_hi. A larger value greatly +necessary to experiment with the values of delta and tmax to get a +good trade-off between accuracy and performance.

    +

    A second key aspect is the choice of t_hi. A larger value greatly increases the rate at which new events are generated. However, too large a value introduces errors due to anharmonicity (not accounted for within hTST). Once again, for any given system, experimentation is -necessary to determine the best value of t_hi. -

    -
    - -

    Five kinds of output can be generated during a TAD run: event +necessary to determine the best value of t_hi.

    +
    +

    Five kinds of output can be generated during a TAD run: event statistics, NEB statistics, thermodynamic output by each replica, dump -files, and restart files. -

    -

    Event statistics are printed to the screen and master log.lammps file +files, and restart files.

    +

    Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU -time, global event number N, local event number M, event status, -energy barrier, time margin, t_lo and delt_lo. The timestep is +time, global event number N, local event number M, event status, +energy barrier, time margin, t_lo and delt_lo. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU time is the total processor time since the start of the TAD run. The -global event number N is a counter that increments with each -executed event. The local event number M is a counter that resets to -zero upon entering each new basin. The event status is E when an -event is executed, and is D for an event that is detected, while -DF is for a detected event that is also the earliest (first) event -at the low temperature. -

    -

    The time margin is the ratio of the high temperature time in the +global event number N is a counter that increments with each +executed event. The local event number M is a counter that resets to +zero upon entering each new basin. The event status is E when an +event is executed, and is D for an event that is detected, while +DF is for a detected event that is also the earliest (first) event +at the low temperature.

    +

    The time margin is the ratio of the high temperature time in the current basin to the stopping time. This last number can be used to -judge whether the stopping time is too short or too long (see above). -

    -

    t_lo is the low-temperature event time when the current basin was -entered, in units of timestep. delt_lo is the time of each detected -event, measured relative to t_lo. delt_lo is equal to the +judge whether the stopping time is too short or too long (see above).

    +

    t_lo is the low-temperature event time when the current basin was +entered, in units of timestep. del*t_lo* is the time of each detected +event, measured relative to t_lo. delt_lo is equal to the high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the -energy barrier for that event. -

    -

    On lines for executed events, with status E, the global event number -is incremented by one, -the local event number and time margin are reset to zero, -while the global event number, energy barrier, and -delt_lo match the last event with status DF -in the immediately preceding block of detected events. -The low-temperature event time t_lo is incremented by delt_lo. -

    -

    NEB statistics are written to the file specified by the neb_log -keyword. If the keyword value is "none", then no NEB statistics are -printed out. The statistics are written every Nevery timesteps. See -the neb command for a full description of the NEB +energy barrier for that event.

    +

    On lines for executed events, with status E, the global event number +is incremented by one, +the local event number and time margin are reset to zero, +while the global event number, energy barrier, and +delt_lo match the last event with status DF +in the immediately preceding block of detected events. +The low-temperature event time t_lo is incremented by delt_lo.

    +

    NEB statistics are written to the file specified by the neb_log +keyword. If the keyword value is “none”, then no NEB statistics are +printed out. The statistics are written every Nevery timesteps. See +the neb command for a full description of the NEB statistics. When invoked from TAD, NEB statistics are never printed to -the screen. -

    -

    Because the NEB calculation must run on multiple partitions, LAMMPS +the screen.

    +

    Because the NEB calculation must run on multiple partitions, LAMMPS produces additional screen and log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the TAD command, these contain the thermodynamic output of each NEB replica. In addition, the log file for the first partition, log.lammps.0, will contain thermodynamic output from short runs and minimizations corresponding to the dynamics and quench operations, as well as a line for each new -detected event, as described above. -

    -

    After the TAD command completes, timing statistics for the TAD run are -printed in each replica's log file, giving a breakdown of how much CPU -time was spent in each stage (NEB, dynamics, quenching, etc). -

    -

    Any dump files defined in the input script will be written +detected event, as described above.

    +

    After the TAD command completes, timing statistics for the TAD run are +printed in each replica’s log file, giving a breakdown of how much CPU +time was spent in each stage (NEB, dynamics, quenching, etc).

    +

    Any dump files defined in the input script will be written to during a TAD run at timesteps when an event is executed. This -means the the requested dump frequency in the dump command +means the the requested dump frequency in the dump command is ignored. There will be one dump file (per dump command) created for all partitions. The atom coordinates of the dump snapshot are those of the minimum energy configuration resulting from quenching @@ -250,24 +337,22 @@ following the executed event. The timesteps written into the dump files correspond to the timestep at which the event occurred and NOT the clock. A dump snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning -of each TAD run. -

    -

    If the restart command is used, a single restart file +of each TAD run.

    +

    If the restart command is used, a single restart file for all the partitions is generated, which allows a TAD run to be continued by a new input script in the usual manner. The restart file is generated after an event is executed. The restart file contains a snapshot of the system in the new quenched state, including the event number and the low-temperature time. The restart frequency specified -in the restart command is interpreted differently when +in the restart command is interpreted differently when performing a TAD run. It does not mean the timestep interval between restart files. Instead it means an event interval for executed events. Thus a frequency of 1 means write a restart file every time an event is executed. A frequency of 10 means write a restart file every 10th executed event. When an input script reads a restart file from a previous TAD run, the new script can be run on a different -number of replicas or processors. -

    -

    Note that within a single state, the dynamics will typically +number of replicas or processors.

    +

    Note that within a single state, the dynamics will typically temporarily continue beyond the event that is ultimately chosen, until the stopping criterionis satisfied. When the event is eventually executed, the timestep counter is reset to the value when the event @@ -276,52 +361,103 @@ timestep counter is reset to the value at the start of the minimization. This means that the timesteps listed in the replica log files do not always increase monotonically. However, the timestep values printed to the master log file, dump files, and restart files -are always monotonically increasing. -

    -
    - -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    N setting must be integer multiple of t_event. -

    -

    Runs restarted from restart files written during a TAD run will only +are always monotonically increasing.

    + +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +

    N setting must be integer multiple of t_event.

    +

    Runs restarted from restart files written during a TAD run will only produce identical results if the user-specified integrator supports -exact restarts. So fix nvt will produce an exact -restart, but fix langevin will not. -

    -

    This command cannot be used when any fixes are defined that keep track +exact restarts. So fix nvt will produce an exact +restart, but fix langevin will not.

    +

    This command cannot be used when any fixes are defined that keep track of elapsed time to perform time-dependent operations. Examples -include the "ave" fixes such as fix -ave/spatial. Also fix -dt/reset and fix deposit. -

    -

    Related commands: -

    -

    compute event/displace, -min_modify, min_style, -run_style, minimize, -temper, neb, -prd -

    -

    Default: -

    -

    The option defaults are min = 0.1 0.1 40 50, neb = 0.01 100 100 -10, neb_style = quickmin, neb_step = the same timestep set by -the timestep command, and neb_log = "none". -

    -
    +include the “ave” fixes such as fix ave/spatial. Also fix dt/reset and fix deposit.

    +
    + +
    +

    Default¶

    +

    The option defaults are min = 0.1 0.1 40 50, neb = 0.01 100 100 +10, neb_style = quickmin, neb_step = the same timestep set by +the timestep command, and neb_log = “none”.

    +
    +

    (Voter) Sorensen and Voter, J Chem Phys, 112, 9599 (2000)

    +

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials +Research 32, 321 (2002).

    +
    + - -

    (Voter) Sorensen and Voter, J Chem Phys, 112, 9599 (2000) -

    - + + +
    + -

    (Voter2) Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002). -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/temper.html b/doc/temper.html index fd5727b883..f4956cc540 100644 --- a/doc/temper.html +++ b/doc/temper.html @@ -1,86 +1,198 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + temper command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    temper command -

    -

    Syntax: -

    -
    temper N M temp fix-ID seed1 seed2 index 
    -
    -
    • N = total # of timesteps to run -
    • M = attempt a tempering swap every this many steps -
    • temp = initial temperature for this ensemble -
    • fix-ID = ID of the fix that will control temperature during the run -
    • seed1 = random # seed used to decide on adjacent temperature to partner with -
    • seed2 = random # seed for Boltzmann factor in Metropolis swap -
    • index = which temperature (0 to N-1) I am simulating (optional) -
    -

    Examples: -

    -
    temper 100000 100 $t tempfix 0 58728
    -temper 40000 100 $t tempfix 0 32285 $w 
    -
    -

    Description: -

    -

    Run a parallel tempering or replica exchange simulation using multiple -replicas (ensembles) of a system. Two or more replicas must be used. -

    -

    Each replica runs on a partition of one or more processors. Processor + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    temper command¶

    +
    +

    Syntax¶

    +
    temper N M temp fix-ID seed1 seed2 index
    +
    +
    +
      +
    • N = total # of timesteps to run
    • +
    • M = attempt a tempering swap every this many steps
    • +
    • temp = initial temperature for this ensemble
    • +
    • fix-ID = ID of the fix that will control temperature during the run
    • +
    • seed1 = random # seed used to decide on adjacent temperature to partner with
    • +
    • seed2 = random # seed for Boltzmann factor in Metropolis swap
    • +
    • index = which temperature (0 to N-1) I am simulating (optional)
    • +
    +
    +
    +

    Examples¶

    +
    temper 100000 100 $t tempfix 0 58728
    +temper 40000 100 $t tempfix 0 32285 $w
    +
    +
    +
    +
    +

    Description¶

    +

    Run a parallel tempering or replica exchange simulation using multiple +replicas (ensembles) of a system. Two or more replicas must be used.

    +

    Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see Section_start 6 of the +switch; see Section_start 6 of the manual. Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See this -section of the manual for further -discussion. -

    -

    Each replica's temperature is controlled at a different value by a fix -with fix-ID that controls temperature. Possible fix styles are -nvt, temp/berendsen, -langevin and temp/rescale. -The desired temperature is specified by temp, which is typically a +would see with one or more physical processors per replica. See this section of the manual for further +discussion.

    +

    Each replica’s temperature is controlled at a different value by a fix +with fix-ID that controls temperature. Possible fix styles are +nvt, temp/berendsen, +langevin and temp/rescale. +The desired temperature is specified by temp, which is typically a variable previously set in the input script, so that each partition is -assigned a different temperature. See the variable -command for more details. For example: -

    -
    variable t world 300.0 310.0 320.0 330.0
    +assigned a different temperature.  See the variable
    +command for more details.  For example:

    +
    variable t world 300.0 310.0 320.0 330.0
     fix myfix all nvt $t $t 100.0
    -temper 100000 100 $t myfix 3847 58382 
    -
    -

    would define 4 temperatures, and assign one of them to the thermostat -used by each replica, and to the temper command. -

    -

    As the tempering simulation runs for N timesteps, a temperature swap -between adjacent ensembles will be attempted every M timesteps. If -seed1 is 0, then the swap attempts will alternate between odd and -even pairings. If seed1 is non-zero then it is used as a seed in a +temper 100000 100 $t myfix 3847 58382 +

    +
    +

    would define 4 temperatures, and assign one of them to the thermostat +used by each replica, and to the temper command.

    +

    As the tempering simulation runs for N timesteps, a temperature swap +between adjacent ensembles will be attempted every M timesteps. If +seed1 is 0, then the swap attempts will alternate between odd and +even pairings. If seed1 is non-zero then it is used as a seed in a random number generator to randomly choose an odd or even pairing each time. Each attempted swap of temperatures is either accepted or rejected based on a Boltzmann-weighted Metropolis criterion which uses -seed2 in the random number generator. -

    -

    As a tempering run proceeds, multiple log files and screen output +seed2 in the random number generator.

    +

    As a tempering run proceeds, multiple log files and screen output files are created, one per replica. By default these files are named log.lammps.M and screen.M where M is the replica number from 0 to N-1, -with N = # of replicas. See the section on command-line -switches for info on how to change these -names. -

    -

    The main screen and log file (log.lammps) will list information about +with N = # of replicas. See the section on command-line switches for info on how to change these +names.

    +

    The main screen and log file (log.lammps) will list information about which temperature is assigned to each replica at each thermodynamic -output timestep. E.g. for a simulation with 16 replicas: -

    -
    Running on 16 partitions of processors
    +output timestep.  E.g. for a simulation with 16 replicas:

    +
    Running on 16 partitions of processors
     Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15
     0    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     500  1 0 3 2 5 4 6 7 8 9 10 11 12 13 14 15
    @@ -88,9 +200,10 @@ Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15
     1500 2 1 4 0 5 3 6 7 9 8 10 11 12 14 13 15
     2000 2 1 3 0 6 4 5 7 10 8 9 11 12 14 13 15
     2500 2 1 3 0 6 4 5 7 11 8 9 10 12 14 13 15
    -... 
    -
    -

    The column headings T0 to TN-1 mean which temperature is currently +... +

    +
    +

    The column headings T0 to TN-1 mean which temperature is currently assigned to the replica 0 to N-1. Thus the columns represent replicas and the value in each column is its temperature (also numbered 0 to N-1). For example, a 0 in the 4th column (column T3, step 2500) means @@ -98,40 +211,101 @@ that the 4th replica is assigned temperature 0, i.e. the lowest temperature. You can verify this time sequence of temperature assignments for the Nth replica by comparing the Nth column of screen output to the thermodynamic data in the corresponding log.lammps.N or -screen.N files as time proceeds. -

    -

    The last argument index in the temper command is optional and is +screen.N files as time proceeds.

    +

    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 for each replica) which had previously swapped to new temperatures. -The index value (from 0 to N-1, where N is the # of replicas) +The index value (from 0 to N-1, where N is the # of replicas) identifies which temperature the replica was simulating on the timestep the restart files were written. Obviously, this argument must be a variable so that each partition has the correct value. Set -the variable to the N values listed in the log file for the previous +the variable to the N values listed in the log file for the previous run for the replica temperatures at that timestep. For example if the -log file listed the following for a simulation with 5 replicas: -

    -
    500000 2 4 0 1 3 
    -
    -

    then a setting of -

    -
    variable w world 2 4 0 1 3 
    -
    -

    would be used to restart the run with a tempering command like the -example above with $w as the last argument. -

    -
    +log file listed the following for a simulation with 5 replicas:

    +
    500000 2 4 0 1 3
    +
    +
    +

    then a setting of

    +
    variable w world 2 4 0 1 3
    +
    +
    +

    would be used to restart the run with a tempering command like the +example above with $w as the last argument.

    +
    +
    +
    +

    Restrictions¶

    +

    This command can only be used if LAMMPS was built with the REPLICA +package. See the Making LAMMPS section +for more info on packages.

    +
    + +
    -

    Restrictions: -

    -

    This command can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages. -

    -

    Related commands: -

    -

    variable, prd, neb -

    -

    Default: none -

    - + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/thermo.html b/doc/thermo.html index aa36e9eb56..7c8531c7d8 100644 --- a/doc/thermo.html +++ b/doc/thermo.html @@ -1,64 +1,249 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + thermo command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    thermo command -

    -

    Syntax: -

    -
    thermo N 
    -
    -
    • N = output thermodynamics every N timesteps -
    • N can be a variable (see below) -
    -

    Examples: -

    -
    thermo 100 
    -
    -

    Description: -

    -

    Compute and print thermodynamic info (e.g. temperature, energy, + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    thermo command¶

    +
    +

    Syntax¶

    +
    thermo N
    +
    +
    +
      +
    • N = output thermodynamics every N timesteps
    • +
    • N can be a variable (see below)
    • +
    +
    +
    +

    Examples¶

    +
    thermo 100
    +
    +
    +
    +
    +

    Description¶

    +

    Compute and print thermodynamic info (e.g. temperature, energy, pressure) on timesteps that are a multiple of N and at the beginning and end of a simulation. A value of 0 will only print thermodynamics -at the beginning and end. -

    -

    The content and format of what is printed is controlled by the -thermo_style and -thermo_modify commands. -

    -

    Instead of a numeric value, N can be specifed as an equal-style -variable, which should be specified as v_name, where +at the beginning and end.

    +

    The content and format of what is printed is controlled by the +thermo_style and +thermo_modify commands.

    +

    Instead of a numeric value, N can be specifed as an equal-style variable, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which thermodynamic info will be written out. On that timestep, the variable will be evaluated again to determine the next timestep, etc. Thus the variable should return timestep values. See the stagger() -and logfreq() and stride() math functions for equal-style -variables, as examples of useful functions to use in +and logfreq() and stride() math functions for equal-style variables, as examples of useful functions to use in this context. Other similar math functions could easily be added as -options for equal-style variables. -

    -

    For example, the following commands will output thermodynamic info at -timesteps 0,10,20,30,100,200,300,1000,2000,etc: -

    -
    variable	s equal logfreq(10,3,10)
    -thermo	        v_s 
    -
    -

    Restrictions: none -

    -

    Related commands: -

    -

    thermo_style, thermo_modify -

    -

    Default: -

    -
    thermo 0 
    -
    - +options for equal-style variables.

    +

    For example, the following commands will output thermodynamic info at +timesteps 0,10,20,30,100,200,300,1000,2000,etc:

    +
    variable     s equal logfreq(10,3,10)
    +thermo               v_s
    +
    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +
    thermo 0
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/thermo_modify.html b/doc/thermo_modify.html index 5d2b90f230..7b287273a5 100644 --- a/doc/thermo_modify.html +++ b/doc/thermo_modify.html @@ -1,173 +1,355 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + thermo_modify command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    thermo_modify command -

    -

    Syntax: -

    -
    thermo_modify keyword value ... 
    -
    -
    • one or more keyword/value pairs may be listed - -
      keyword = lost or lost/bond or norm or flush or line or format or temp or press:l
      -  lost value = error or warn or ignore
      -  lost/bond value = error or warn or ignore
      -  norm value = yes or no
      -  flush value = yes or no
      -  line value = one or multi
      -  format values = int string or float string or M string
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      thermo_modify command¶

      +
      +

      Syntax¶

      +
      thermo_modify keyword value ...
      +
      +
      +
        +
      • one or more keyword/value pairs may be listed
      • +
      +
      +keyword = lost or lost/bond or norm or flush or line or format or temp or press:l
      +  lost value = error or warn or ignore
      +  lost/bond value = error or warn or ignore
      +  norm value = yes or no
      +  flush value = yes or no
      +  line value = one or multi
      +  format values = int string or float string or M string
           M = integer from 1 to N, where N = # of quantities being printed
           string = C-style format string
      -  temp value = compute ID that calculates a temperature
      -  press value = compute ID that calculates a pressure 
      -
      - -
    -

    Examples: -

    -
    thermo_modify lost ignore flush yes
    +  temp value = compute ID that calculates a temperature
    +  press value = compute ID that calculates a pressure
    +
    +
    +
    +

    Examples¶

    +
    thermo_modify lost ignore flush yes
     thermo_modify temp myTemp format 3 %15.8g
    -thermo_modify line multi format float %g 
    -
    -

    Description: -

    -

    Set options for how thermodynamic information is computed and printed -by LAMMPS. -

    -

    IMPORTANT NOTE: These options apply to the currently defined thermo -style. When you specify a thermo_style command, +thermo_modify line multi format float %g +

    +
    +
    +
    +

    Description¶

    +

    Set options for how thermodynamic information is computed and printed +by LAMMPS.

    +
    +

    Warning

    +

    These options apply to the currently defined thermo +style. When you specify a thermo_style command, all thermodynamic settings are restored to their default values, including those previously reset by a thermo_modify command. Thus if your input script specifies a thermo_style command, you should use the -thermo_modify command after it. -

    -

    The lost keyword determines whether LAMMPS checks for lost atoms +thermo_modify command after it.

    +
    +

    The lost keyword determines whether LAMMPS checks for lost atoms each time it computes thermodynamics and what it does if atoms are -lost. An atom can be "lost" if it moves across a non-periodic -simulation box boundary or if it moves more than a box +lost. An atom can be “lost” if it moves across a non-periodic +simulation box boundary or if it moves more than a box length outside the simulation domain (or more than a processor sub-domain length) before reneighboring occurs. The latter case is typically due to bad dynamics, e.g. too large a timestep or huge -forces and velocities. If the value is ignore, LAMMPS does not -check for lost atoms. If the value is error or warn, LAMMPS +forces and velocities. If the value is ignore, LAMMPS does not +check for lost atoms. If the value is error or warn, LAMMPS checks and either issues an error or warning. The code will exit with an error and continue with a warning. A warning will only be issued once, the first time an atom is lost. This can be a useful debugging -option. -

    -

    The lost/bond keyword determines whether LAMMPS throws an error or +option.

    +

    The lost/bond keyword determines whether LAMMPS throws an error or not if an atom in a bonded interaction (bond, angle, etc) cannot be found when it creates bonded neighbor lists. By default this is a fatal error. However in some scenarios it may be desirable to only issue a warning or ignore it and skip the computation of the missing bond, angle, etc. An example would be when gas molecules in a vapor are drifting out of the box through a fixed boundary condition (see -the boundary command). In this case one atom may be -deleted before the rest of the molecule is, on a later timestep. -

    -

    The norm keyword determines whether various thermodynamic output +the boundary command). In this case one atom may be +deleted before the rest of the molecule is, on a later timestep.

    +

    The norm keyword determines whether various thermodynamic output values are normalized by the number of atoms or not, depending on -whether it is set to yes or no. Different unit styles have -different defaults for this setting (see below). Even if norm is -set to yes, a value is only normalized if it is an "extensive" +whether it is set to yes or no. Different unit styles have +different defaults for this setting (see below). Even if norm is +set to yes, a value is only normalized if it is an “extensive” quantity, meaning that it scales with the number of atoms in the system. For the thermo keywords described by the doc page for the -thermo_style command, all energy-related keywords -are extensive, such as pe or ebond or enthalpy. Other keywords -such as temp or press are "intensive" meaning their value is +thermo_style command, all energy-related keywords +are extensive, such as pe or ebond or enthalpy. Other keywords +such as temp or press are “intensive” meaning their value is independent (in a statistical sense) of the number of atoms in the system and thus are never normalized. For thermodynamic output values -extracted from fixes and computes in a thermo_style -custom command, the doc page for the individual -fix or compute lists whether the value is -"extensive" or "intensive" and thus whether it is normalized. +extracted from fixes and computes in a thermo_style custom command, the doc page for the individual +fix or compute lists whether the value is +“extensive” or “intensive” and thus whether it is normalized. Thermodynamic output values calculated by a variable formula are -assumed to be "intensive" and thus are never normalized. You can +assumed to be “intensive” and thus are never normalized. You can always include a divide by the number of atoms in the variable formula -if this is not the case. -

    -

    The flush keyword invokes a flush operation after thermodynamic info +if this is not the case.

    +

    The flush keyword invokes a flush operation after thermodynamic info is written to the log file. This insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the -simulation completes. -

    -

    The line keyword determines whether thermodynamics will be printed +simulation completes.

    +

    The line keyword determines whether thermodynamics will be printed as a series of numeric values on one line or in a multi-line format with 3 quantities with text strings per line and a dashed-line header containing the timestep and CPU time. This modify option overrides -the one and multi thermo_style settings. -

    -

    The format keyword sets the numeric format of individual printed -quantities. The int and float keywords set the format for all +the one and multi thermo_style settings.

    +

    The format keyword sets the numeric format of individual printed +quantities. The int and float keywords set the format for all integer or floating-point quantities printed. The setting with a numeric value M (e.g. format 5 %10.4g) sets the format of the Mth value printed in each output line, e.g. the 5th column of output in this case. If the format for a specific column has been set, it will -take precedent over the int or float setting. -

    -

    IMPORTANT NOTE: The thermo output values step and atoms are stored +take precedent over the int or float setting.

    +
    +

    Warning

    +

    The thermo output values step and atoms are stored internally as 8-byte signed integers, rather than the usual 4-byte -signed integers. When specifying the "format int" keyword you can use -a "%d"-style format identifier in the format string and LAMMPS will -convert this to the corresponding "%lu" form when it is applied to -those keywords. However, when specifying the "format M string" -keyword for step and natoms, you should specify a string -appropriate for an 8-byte signed integer, e.g. one with "%ld". -

    -

    The temp keyword is used to determine how thermodynamic temperature +signed integers. When specifying the “format int” keyword you can use +a “%d”-style format identifier in the format string and LAMMPS will +convert this to the corresponding “%lu” form when it is applied to +those keywords. However, when specifying the “format M string” +keyword for step and natoms, you should specify a string +appropriate for an 8-byte signed integer, e.g. one with “%ld”.

    +
    +

    The temp keyword is used to determine how thermodynamic temperature is calculated, which is used by all thermo quantities that require a -temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx", etc). +temperature (“temp”, “press”, “ke”, “etotal”, “enthalpy”, “pxx”, etc). The specified compute ID must have been previously defined by the user -via the compute command and it must be a style of +via the compute command and it must be a style of compute that calculates a temperature. As described in the -thermo_style command, thermo output uses a default -compute for temperature with ID = thermo_temp. This option allows -the user to override the default. -

    -

    The press keyword is used to determine how thermodynamic pressure is +thermo_style command, thermo output uses a default +compute for temperature with ID = thermo_temp. This option allows +the user to override the default.

    +

    The press keyword is used to determine how thermodynamic pressure is calculated, which is used by all thermo quantities that require a -pressure ("press", "enthalpy", "pxx", etc). The specified compute ID +pressure (“press”, “enthalpy”, “pxx”, etc). The specified compute ID must have been previously defined by the user via the -compute command and it must be a style of compute that +compute command and it must be a style of compute that calculates a pressure. As described in the -thermo_style command, thermo output uses a default -compute for pressure with ID = thermo_press. This option allows the -user to override the default. -

    -

    IMPORTANT NOTE: If both the temp and press keywords are used in a +thermo_style command, thermo output uses a default +compute for pressure with ID = thermo_press. This option allows the +user to override the default.

    +
    +

    Warning

    +

    If both the temp and press keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a -pressure compute defines its own temperature -compute as an argument when it is specified. The temp keyword will +pressure compute defines its own temperature +compute as an argument when it is specified. The temp keyword will override this (for the pressure compute being used by thermodynamics), -but only if the temp keyword comes after the press keyword. If -the temp keyword comes before the press keyword, then the new -pressure compute specified by the press keyword will be unaffected -by the temp setting. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    thermo, thermo_style -

    -

    Default: -

    -

    The option defaults are lost = error, norm = yes for unit style of -lj, norm = no for unit style of real and metal, flush = no, -and temp/press = compute IDs defined by thermo_style. -

    -

    The defaults for the line and format options depend on the thermo -style. For styles "one" and "custom", the line and format defaults -are "one", "%8d", and "%12.8g". For style "multi", the line and -format defaults are "multi", "%8d", and "%14.4f". -

    - +but only if the temp keyword comes after the press keyword. If +the temp keyword comes before the press keyword, then the new +pressure compute specified by the press keyword will be unaffected +by the temp setting.

    +
    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +

    The option defaults are lost = error, norm = yes for unit style of +lj, norm = no for unit style of real and metal, flush = no, +and temp/press = compute IDs defined by thermo_style.

    +

    The defaults for the line and format options depend on the thermo +style. For styles “one” and “custom”, the line and format defaults +are “one”, “%8d”, and “%12.8g”. For style “multi”, the line and +format defaults are “multi”, “%8d”, and “%14.4f”.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/thermo_style.html b/doc/thermo_style.html index 593ba371f8..5195ac1a5c 100644 --- a/doc/thermo_style.html +++ b/doc/thermo_style.html @@ -1,39 +1,156 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + thermo_style command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    thermo_style command -

    -

    Syntax: -

    -
    thermo_style style args 
    -
    -
    • style = one or multi or custom - -
    • args = list of arguments for a particular style - -
        one args = none
      -  multi args = none
      -  custom args = list of keywords
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      thermo_style command¶

      +
      +

      Syntax¶

      +
      thermo_style style args
      +
      +
      +
        +
      • style = one or multi or custom
      • +
      • args = list of arguments for a particular style
      • +
      +
      +one args = none
      +  multi args = none
      +  custom args = list of keywords
           possible keywords = step, elapsed, elaplong, dt, time,
                               cpu, tpcpu, spcpu, cpuremain, part,
                               atoms, temp, press, pe, ke, etotal, enthalpy,
                               evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
                               emol, elong, etail,
                               vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
      -		        xy, xz, yz, xlat, ylat, zlat,
      +                     xy, xz, yz, xlat, ylat, zlat,
                               bonds, angles, dihedrals, impropers,
      -		        pxx, pyy, pzz, pxy, pxz, pyz,
      -			fmax, fnorm, nbuild, ndanger,
      -			cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
      -			c_ID, c_ID[I], c_ID[I][J],
      +                     pxx, pyy, pzz, pxy, pxz, pyz,
      +                     fmax, fnorm, nbuild, ndanger,
      +                     cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
      +                     c_ID, c_ID[I], c_ID[I][J],
                               f_ID, f_ID[I], f_ID[I][J],
                               v_name
             step = timestep
      @@ -68,14 +185,14 @@
             lx,ly,lz = box lengths in x,y,z
             xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
             xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes
      -      xlat,ylat,zlat = lattice spacings as calculated by lattice command
      +      xlat,ylat,zlat = lattice spacings as calculated by lattice command
             bonds,angles,dihedrals,impropers = # of these interactions defined
             pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
             fmax = max component of force on any atom in any dimension
             fnorm = length of force vector for all atoms
             nbuild = # of neighbor list builds
             ndanger = # of dangerous neighbor list builds
      -      cella,cellb,cellc = periodic cell lattice constants a,b,c 
      +      cella,cellb,cellc = periodic cell lattice constants a,b,c
             cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
             c_ID = global scalar value calculated by a compute with ID
             c_ID[I] = Ith component of global vector calculated by a compute with ID
      @@ -83,289 +200,319 @@
             f_ID = global scalar value calculated by a fix with ID
             f_ID[I] = Ith component of global vector calculated by a fix with ID
             f_ID[I][J] = I,J component of global array calculated by a fix with ID
      -      v_name = scalar value calculated by an equal-style variable with name 
      -
      - -
    -

    Examples: -

    -
    thermo_style multi
    +      v_name = scalar value calculated by an equal-style variable with name
    +
    +
    +
    +

    Examples¶

    +
    thermo_style multi
     thermo_style custom step temp pe etotal press vol
    -thermo_style custom step temp etotal c_myTemp v_abc 
    -
    -

    Description: -

    -

    Set the style and content for printing thermodynamic data to the -screen and log file. -

    -

    Style one prints a one-line summary of thermodynamic info that is -the equivalent of "thermo_style custom step temp epair emol etotal -press". The line contains only numeric values. -

    -

    Style multi prints a multiple-line listing of thermodynamic info -that is the equivalent of "thermo_style custom etotal ke temp pe ebond -eangle edihed eimp evdwl ecoul elong press". The listing contains -numeric values and a string ID for each quantity. -

    -

    Style custom is the most general setting and allows you to specify +thermo_style custom step temp etotal c_myTemp v_abc +

    +
    +
    +
    +

    Description¶

    +

    Set the style and content for printing thermodynamic data to the +screen and log file.

    +

    Style one prints a one-line summary of thermodynamic info that is +the equivalent of “thermo_style custom step temp epair emol etotal +press”. The line contains only numeric values.

    +

    Style multi prints a multiple-line listing of thermodynamic info +that is the equivalent of “thermo_style custom etotal ke temp pe ebond +eangle edihed eimp evdwl ecoul elong press”. The listing contains +numeric values and a string ID for each quantity.

    +

    Style custom is the most general setting and allows you to specify which of the keywords listed above you want printed on each thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are -references to computes, fixes, and -equal-style variables that have been defined +references to computes, fixes, and +equal-style variables that have been defined elsewhere in the input script or can even be new styles which users -have added to LAMMPS (see the Section_modify -section of the documentation). Thus the custom style provides a +have added to LAMMPS (see the Section_modify +section of the documentation). Thus the custom style provides a flexible means of outputting essentially any desired quantity as a -simulation proceeds. -

    -

    All styles except custom have vol appended to their list of -outputs if the simulation box volume changes during the simulation. -

    -

    The values printed by the various keywords are instantaneous values, +simulation proceeds.

    +

    All styles except custom have vol appended to their list of +outputs if the simulation box volume changes during the simulation.

    +

    The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the f_ID keyword and accessing a fix that does time-averaging such as the -fix ave/time command. -

    -

    Options invoked by the thermo_modify command can +fix ave/time command.

    +

    Options invoked by the thermo_modify command can be used to set the one- or multi-line format of the print-out, the normalization of thermodynamic output (total values versus per-atom values for extensive quantities (ones which scale with the number of -atoms in the system), and the numeric precision of each printed value. -

    -

    IMPORTANT NOTE: When you use a "thermo_style" command, all +atoms in the system), and the numeric precision of each printed value.

    +
    +

    Warning

    +

    When you use a “thermo_style” command, all thermodynamic settings are restored to their default values, including -those previously set by a thermo_modify command. +those previously set by a thermo_modify command. Thus if your input script specifies a thermo_style command, you should -use the thermo_modify command after it. -

    -
    - -

    Several of the thermodynamic quantities require a temperature to be -computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By -default this is done by using a temperature compute which is created -when LAMMPS starts up, as if this command had been issued: -

    -
    compute thermo_temp all temp 
    -
    -

    See the compute temp command for details. Note -that the ID of this compute is thermo_temp and the group is all. +use the thermo_modify command after it.

    +
    +
    +

    Several of the thermodynamic quantities require a temperature to be +computed: “temp”, “press”, “ke”, “etotal”, “enthalpy”, “pxx”, etc. By +default this is done by using a temperature compute which is created +when LAMMPS starts up, as if this command had been issued:

    +
    compute thermo_temp all temp
    +
    +
    +

    See the compute temp command for details. Note +that the ID of this compute is thermo_temp and the group is all. You can change the attributes of this temperature (e.g. its -degrees-of-freedom) via the compute_modify +degrees-of-freedom) via the compute_modify command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. -This is done via the thermo_modify command. -

    -

    Several of the thermodynamic quantities require a pressure to be -computed: "press", "enthalpy", "pxx", etc. By default this is done by -using a pressure compute which is created when LAMMPS starts up, as -if this command had been issued: -

    -
    compute thermo_press all pressure thermo_temp 
    -
    -

    See the compute pressure command for details. -Note that the ID of this compute is thermo_press and the group is -all. You can change the attributes of this pressure via the -compute_modify command. Alternatively, you can +This is done via the thermo_modify command.

    +

    Several of the thermodynamic quantities require a pressure to be +computed: “press”, “enthalpy”, “pxx”, etc. By default this is done by +using a pressure compute which is created when LAMMPS starts up, as +if this command had been issued:

    +
    compute thermo_press all pressure thermo_temp
    +
    +
    +

    See the compute pressure command for details. +Note that the ID of this compute is thermo_press and the group is +all. You can change the attributes of this pressure via the +compute_modify command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the -thermo_modify command. -

    -

    Several of the thermodynamic quantities require a potential energy to -be computed: "pe", "etotal", "ebond", etc. This is done by using a -pe compute which is created when LAMMPS starts up, as if this -command had been issued: -

    -
    compute thermo_pe all pe 
    -
    -

    See the compute pe command for details. Note that -the ID of this compute is thermo_pe and the group is all. You can +thermo_modify command.

    +

    Several of the thermodynamic quantities require a potential energy to +be computed: “pe”, “etotal”, “ebond”, etc. This is done by using a +pe compute which is created when LAMMPS starts up, as if this +command had been issued:

    +
    compute thermo_pe all pe
    +
    +
    +

    See the compute pe command for details. Note that +the ID of this compute is thermo_pe and the group is all. You can change the attributes of this potential energy via the -compute_modify command. -

    -
    - -

    The kinetic energy of the system ke is inferred from the temperature +compute_modify command.

    +
    +

    The kinetic energy of the system ke is inferred from the temperature of the system with 1/2 Kb T of energy for each degree of freedom. -Thus, using different compute commands for calculating -temperature, via the thermo_modify temp command, +Thus, using different compute commands for calculating +temperature, via the thermo_modify temp command, may yield different kinetic energies, since different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include different degrees of freedom -(translational, rotational, etc). -

    -

    The potential energy of the system pe will include contributions -from fixes if the fix_modify thermo option is set -for a fix that calculates such a contribution. For example, the fix -wall/lj93 fix calculates the energy of atoms -interacting with the wall. See the doc pages for "individual fixes" -to see which ones contribute. -

    -

    A long-range tail correction etail for the VanderWaal pairwise -energy will be non-zero only if the pair_modify -tail option is turned on. The etail contribution -is included in evdwl, pe, and etotal, and the corresponding tail -correction to the pressure is included in press and pxx, pyy, -etc. -

    -
    - -

    The step, elapsed, and elaplong keywords refer to timestep -count. Step is the current timestep, or iteration count when a -minimization is being performed. Elapsed is the +(translational, rotational, etc).

    +

    The potential energy of the system pe will include contributions +from fixes if the fix_modify thermo option is set +for a fix that calculates such a contribution. For example, the fix wall/lj93 fix calculates the energy of atoms +interacting with the wall. See the doc pages for “individual fixes” +to see which ones contribute.

    +

    A long-range tail correction etail for the VanderWaal pairwise +energy will be non-zero only if the pair_modify tail option is turned on. The etail contribution +is included in evdwl, pe, and etotal, and the corresponding tail +correction to the pressure is included in press and pxx, pyy, +etc.

    +
    +

    The step, elapsed, and elaplong keywords refer to timestep +count. Step is the current timestep, or iteration count when a +minimization is being performed. Elapsed is the number of timesteps elapsed since the beginning of this run. -Elaplong is the number of timesteps elapsed since the beginning of -an initial run in a series of runs. See the start and stop -keywords for the run for info on how to invoke a series of +Elaplong is the number of timesteps elapsed since the beginning of +an initial run in a series of runs. See the start and stop +keywords for the run for info on how to invoke a series of runs that keep track of an initial starting time. If these keywords -are not used, then elapsed and elaplong are the same value. -

    -

    The dt keyword is the current timestep size in time -units. The time keyword is the current elapsed -simulation time, also in time units, which is simply +are not used, then elapsed and elaplong are the same value.

    +

    The dt keyword is the current timestep size in time +units. The time keyword is the current elapsed +simulation time, also in time units, which is simply (step*dt) if the timestep size has not changed and the timestep has -not been reset. If the timestep has changed (e.g. via fix -dt/reset) or the timestep has been reset (e.g. via -the "reset_timestep" command), then the simulation time is effectively -a cummulative value up to the current point. -

    -

    The cpu keyword is elapsed CPU seconds since the beginning of this -run. The tpcpu and spcpu keywords are measures of how fast your -simulation is currently running. The tpcpu keyword is simulation +not been reset. If the timestep has changed (e.g. via fix dt/reset) or the timestep has been reset (e.g. via +the “reset_timestep” command), then the simulation time is effectively +a cummulative value up to the current point.

    +

    The cpu keyword is elapsed CPU seconds since the beginning of this +run. The tpcpu and spcpu keywords are measures of how fast your +simulation is currently running. The tpcpu keyword is simulation time per CPU second, where simulation time is in time -units. E.g. for metal units, the tpcpu value would be -picoseconds per CPU second. The spcpu keyword is the number of +units. E.g. for metal units, the tpcpu value would be +picoseconds per CPU second. The spcpu keyword is the number of timesteps per CPU second. Both quantities are on-the-fly metrics, measured relative to the last time they were invoked. Thus if you are printing out thermodyamic output every 100 timesteps, the two keywords will continually output the time and timestep rate for the last 100 -steps. The tpcpu keyword does not attempt to track any changes in -timestep size, e.g. due to using the fix dt/reset -command. -

    -

    The cpuremain keyword estimates the CPU time remaining in the +steps. The tpcpu keyword does not attempt to track any changes in +timestep size, e.g. due to using the fix dt/reset +command.

    +

    The cpuremain keyword estimates the CPU time remaining in the current run, based on the time elapsed thus far. It will only be a good estimate if the CPU time/timestep for the rest of the run is similar to the preceding timesteps. On the initial timestep the value will be 0.0 since there is no history to estimate from. For a -minimization run performed by the "minimize" command, the estimate is -based on the maxiter parameter, assuming the minimization will -proceed for the maximum number of allowed iterations. -

    -

    The part keyword is useful for multi-replica or multi-partition +minimization run performed by the “minimize” command, the estimate is +based on the maxiter parameter, assuming the minimization will +proceed for the maximum number of allowed iterations.

    +

    The part keyword is useful for multi-replica or multi-partition simulations to indicate which partition this output and this file -corresponds to, or for use in a variable to append to -a filename for output specific to this partition. See Section_start -7 of the manual for details on running in -multi-partition mode. -

    -

    The fmax and fnorm keywords are useful for monitoring the progress -of an energy minimization. The fmax keyword +corresponds to, or for use in a variable to append to +a filename for output specific to this partition. See Section_start 7 of the manual for details on running in +multi-partition mode.

    +

    The fmax and fnorm keywords are useful for monitoring the progress +of an energy minimization. The fmax keyword calculates the maximum force in any dimension on any atom in the system, or the infinity-norm of the force vector for the system. The -fnorm keyword calculates the 2-norm or length of the force vector. -

    -

    The nbuild and ndanger keywords are useful for monitoring neighbor +fnorm keyword calculates the 2-norm or length of the force vector.

    +

    The nbuild and ndanger keywords are useful for monitoring neighbor list builds during a run. Note that both these values are also -printed with the end-of-run statistics. The nbuild keyword is the -number of re-builds during the current run. The ndanger keyword is +printed with the end-of-run statistics. The nbuild keyword is the +number of re-builds during the current run. The ndanger keyword is the number of re-builds that LAMMPS considered potentially -"dangerous". If atom movement triggered neighbor list rebuilding (see -the neigh_modify command), then dangerous +“dangerous”. If atom movement triggered neighbor list rebuilding (see +the neigh_modify command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild -takes place. -

    -

    The keywords cella, cellb, cellc, cellalpha, cellbeta, -cellgamma, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See this -section of the doc pages for a geometric +takes place.

    +

    The keywords cella, cellb, cellc, cellalpha, cellbeta, +cellgamma, correspond to the usual crystallographic quantities that +define the periodic unit cell of a crystal. See this section of the doc pages for a geometric description of triclinic periodic cells, including a precise defintion of these quantities in terms of the internal LAMMPS cell dimensions -lx, ly, lz, yz, xz, xy. -

    -
    - -

    The c_ID and c_ID[I] and c_ID[I][J] keywords allow global +lx, ly, lz, yz, xz, xy.

    +
    +

    The c_ID and c_ID[I] and c_ID[I][J] keywords allow global values calculated by a compute to be output. As discussed on the -compute doc page, computes can calculate global, +compute doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values can be referenced in a -variable and the variable referenced by thermo_style -custom, as discussed below. -

    -

    The ID in the keyword should be replaced by the actual ID of a compute +variable and the variable referenced by thermo_style +custom, as discussed below.

    +

    The ID in the keyword should be replaced by the actual ID of a compute that has been defined elsewhere in the input script. See the -compute command for details. If the compute calculates +compute command for details. If the compute calculates a global scalar, vector, or array, then the keyword formats with 0, 1, -or 2 brackets will reference a scalar value from the compute. -

    -

    Note that some computes calculate "intensive" global quantities like -temperature; others calculate "extensive" global quantities like +or 2 brackets will reference a scalar value from the compute.

    +

    Note that some computes calculate “intensive” global quantities like +temperature; others calculate “extensive” global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in -the compute group) when output, depending on the thermo_modify -norm option being used. -

    -

    The f_ID and f_ID[I] and f_ID[I][J] keywords allow global +the compute group) when output, depending on the thermo_modify norm option being used.

    +

    The f_ID and f_ID[I] and f_ID[I][J] keywords allow global values calculated by a fix to be output. As discussed on the -fix doc page, fixes can calculate global, per-atom, or +fix doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced in a -variable and the variable referenced by thermo_style -custom, as discussed below. -

    -

    The ID in the keyword should be replaced by the actual ID of a fix +variable and the variable referenced by thermo_style +custom, as discussed below.

    +

    The ID in the keyword should be replaced by the actual ID of a fix that has been defined elsewhere in the input script. See the -fix command for details. If the fix calculates a global +fix command for details. If the fix calculates a global scalar, vector, or array, then the keyword formats with 0, 1, or 2 -brackets will reference a scalar value from the fix. -

    -

    Note that some fixes calculate "intensive" global quantities like -timestep size; others calculate "extensive" global quantities like +brackets will reference a scalar value from the fix.

    +

    Note that some fixes calculate “intensive” global quantities like +timestep size; others calculate “extensive” global quantities like energy that are summed over all atoms in the fix group. Intensive quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) -when output, depending on the thermo_modify norm -option being used. -

    -

    The v_name keyword allow the current value of a variable to be +when output, depending on the thermo_modify norm +option being used.

    +

    The v_name keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style variables can be referenced. See the -variable command for details. Variables of style -equal can reference per-atom properties or thermodynamic keywords, +variable command for details. Variables of style +equal can reference per-atom properties or thermodynamic keywords, or they can invoke other computes, fixes, or variables when evaluated, -so this is a very general means of creating thermodynamic output. -

    -

    Note that equal-style variables are assumed to be "intensive" global +so this is a very general means of creating thermodynamic output.

    +

    Note that equal-style variables are assumed to be “intensive” global quantities, which are thus printed as-is, without normalization by -thermo_style custom. You can include a division by "natoms" in the -variable formula if this is not the case. -

    -
    +thermo_style custom. You can include a division by “natoms” in the +variable formula if this is not the case.

    +
    +
    +
    +

    Restrictions¶

    +

    This command must come after the simulation box is defined by a +read_data, read_restart, or +create_box command.

    +
    + +
    +

    Default¶

    +
    thermo_style one
    +
    +
    +
    + -

    Restrictions: -

    -

    This command must come after the simulation box is defined by a -read_data, read_restart, or -create_box command. -

    -

    Related commands: -

    -

    thermo, thermo_modify, -fix_modify, compute temp, -compute pressure -

    -

    Default: -

    -
    thermo_style one 
    -
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/timestep.html b/doc/timestep.html index b12cc15c9c..780c474d12 100644 --- a/doc/timestep.html +++ b/doc/timestep.html @@ -1,49 +1,238 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + timestep command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    timestep command -

    -

    Syntax: -

    -
    timestep dt 
    -
    -
    • dt = timestep size (time units) -
    -

    Examples: -

    -
    timestep 2.0 
    -timestep 0.003 
    -
    -

    Description: -

    -

    Set the timestep size for subsequent molecular dynamics simulations. -See the units command for a discussion of time units. + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    timestep command¶

    +
    +

    Syntax¶

    +
    timestep dt
    +
    +
    +
      +
    • dt = timestep size (time units)
    • +
    +
    +
    +

    Examples¶

    +
    timestep 2.0
    +timestep 0.003
    +
    +
    +
    +
    +

    Description¶

    +

    Set the timestep size for subsequent molecular dynamics simulations. +See the units command for a discussion of time units. The default value for the timestep also depends on the choice of units -for the simulation; see the default values below. -

    -

    When the run style is respa, dt is the timestep for -the outer loop (largest) timestep. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix dt/reset, run, -run_style respa, units -

    -

    Default: -

    -timestep = 0.005 tau for units = lj
    -timestep = 1.0 fmsec for units = real
    -timestep = 0.001 psec for units = metal
    -timestep = 1.0e-8 sec (10 nsec) for units = si or cgs
    +for the simulation; see the default values below.

    +

    When the run style is respa, dt is the timestep for +the outer loop (largest) timestep.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    +

    Default¶

    +
    +
    timestep = 0.005 tau for units = lj
    +
    timestep = 1.0 fmsec for units = real
    +
    timestep = 0.001 psec for units = metal
    +
    timestep = 1.0e-8 sec (10 nsec) for units = si or cgs
    +

    +
    +
    +
    - + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/tutorial_drude.html b/doc/tutorial_drude.html index b900440292..be03211ff0 100644 --- a/doc/tutorial_drude.html +++ b/doc/tutorial_drude.html @@ -1,70 +1,171 @@ - - - -

    Tutorial for Thermalized Drude oscillators in LAMMPS -

    -

    This tutorial explains how to use Drude oscillators in LAMMPS to -simulate polarizable systems using the USER-DRUDE package. As an -illustration, the input files for a simulation of 250 phenol molecules -are documented. First of all, LAMMPS has to be compiled with the -USER-DRUDE package activated. Then, the data file and input scripts -have to be modified to include the Drude dipoles and how to handle -them. -

    -
    -

    Overview of Drude induced dipoles -

    -

    Polarizable atoms acquire an induced electric dipole moment under the + + + + + + + + + <no title> — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + +
    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    + +

    Overview of Drude induced dipoles

    +

    Polarizable atoms acquire an induced electric dipole moment under the action of an external electric field, for example the electric field created by the surrounding particles. Drude oscillators represent these dipoles by two fixed charges: the core (DC) and the Drude particle (DP) bound by a harmonic potential. The Drude particle can be thought of as the electron cloud whose center can be displaced from -the position of the the corresponding nucleus. -

    -

    The sum of the masses of a core-Drude pair should be the mass of the -initial (unsplit) atom, \(m_C + m_D = m\). The sum of their charges -should be the charge of the initial (unsplit) atom, \(q_C + q_D = q\). +the position of the the corresponding nucleus.

    +

    The sum of the masses of a core-Drude pair should be the mass of the +initial (unsplit) atom, (m_C + m_D = m). The sum of their charges +should be the charge of the initial (unsplit) atom, (q_C + q_D = q). A harmonic potential between the core and Drude partners should be -present, with force constant \(k_D\) and an equilibrium distance of -zero. The (half-)stiffness of the harmonic bond -\(K_D = k_D/2\) and the Drude charge \(q_D\) are related to the atom -polarizability \(\alpha\) by -

    -

    \begin{equation} K_D = \frac 1 2\, \frac {q_D^2} \alpha -\end{equation} -

    -

    Ideally, the mass of the Drude particle should be small, and the +present, with force constant (k_D) and an equilibrium distance of +zero. The (half-)stiffness of the harmonic bond +(K_D = k_D/2) and the Drude charge (q_D) are related to the atom +polarizability (alpha) by

    +

    begin{equation} K_D = frac 1 2, frac {q_D^2} alpha +end{equation}

    +

    Ideally, the mass of the Drude particle should be small, and the stiffness of the harmonic bond should be large, so that the Drude particle remains close ot the core. The values of Drude mass, Drude charge, and force constant can be chosen following different strategies, as in the following examples of polarizable force -fields. -

    -
    • Lamoureux and Roux suggest adopting a global -half-stiffness, \(K_D\) = 500 kcal/(mol Å2) — -which corresponds to a force constant \(k_D\) = 4184 kJ/(mol -Å2) — for all types of core-Drude bond, a -global mass \(m_D\) = 0.4 g/mol (or u) for all types of Drude +fields.

      +
        +
      • Lamoureux and Roux suggest adopting a global +half-stiffness, (K_D) = 500 kcal/(mol &Aring;<sup>2</sup>) &mdash; +which corresponds to a force constant (k_D) = 4184 kJ/(mol +&Aring;<sup>2</sup>) &mdash; for all types of core-Drude bond, a +global mass (m_D) = 0.4 g/mol (or u) for all types of Drude particle, and to calculate the Drude charges for individual atom types from the atom polarizabilities using equation (1). This choice is -followed in the polarizable CHARMM force field. - -
      • Schroeder and Steinhauser suggest adopting a global -charge \(q_D\) = -1.0e and a global mass \(m_D\) = 0.1 g/mol (or u) +followed in the polarizable CHARMM force field.
      • +
      • Schroeder and Steinhauser suggest adopting a global +charge (q_D) = -1.0e and a global mass (m_D) = 0.1 g/mol (or u) for all Drude particles, and to calculate the force constant for each type of core-Drude bond from equation (1). The timesteps used by these authors are between 0.5 and 2 fs, with the degrees of freedom of the Drude oscillators kept cold at 1 K. In both these force fields -hydrogen atoms are treated as non-polarizable. -
      -

      The motion of of the Drude particles can be calculated by minimizing +hydrogen atoms are treated as non-polarizable.

    • +
    +

    The motion of of the Drude particles can be calculated by minimizing the energy of the induced dipoles at each timestep, by an interative, self-consistent procedure. The Drude particles can be massless and therefore do not contribute to the kinetic energy. However, the @@ -75,215 +176,203 @@ decouple the degrees of freedom associated with the Drude oscillators from those of the normal atoms. Thermalizing the Drude dipoles at temperatures comparable to the rest of the simulation leads to several problems (kinetic energy transfer, very short timestep, etc.), which -can be remediated by the "cold Drude" technique (Lamoureux and -Roux). -

    -

    Two closely related models are used to represent polarization through -"charges on a spring": the core-shell model and the Drude +can be remediated by the “cold Drude” technique (Lamoureux and Roux).

    +

    Two closely related models are used to represent polarization through +“charges on a spring”: the core-shell model and the Drude model. Although the basic idea is the same, the core-shell model is normally used for ionic/crystalline materials, whereas the Drude model is normally used for molecular systems and fluid states. In ionic crystals the symmetry around each ion and the distance between them are such that the core-shell model is sufficiently stable. But to be applicable to molecular/covalent systems the Drude model includes two -important features: -

    -
    1. The possibility to thermostat the additional degrees of freedom -associated with the induced dipoles at very low temperature, in terms +important features:

      +
        +
      1. The possibility to thermostat the additional degrees of freedom
      2. +
      +
      +
      associated with the induced dipoles at very low temperature, in terms of the reduced coordinates of the Drude particles with respect to their cores. This makes the trajectory close to that of relaxed -induced dipoles. - -
    2. The Drude dipoles on covalently bonded atoms interact too strongly +induced dipoles.
    3. +
        +
      1. The Drude dipoles on covalently bonded atoms interact too strongly due to the short distances, so an atom may capture the Drude particle (shell) of a neighbor, or the induced dipoles within the same molecule may align too much. To avoid this, damping at short of the interactions between the point charges composing the induced dipole -can be done by Thole functions. -
      -
      - -

      Preparation of the data file -

      -

      The data file is similar to a standard LAMMPS data file for -atom_style full. The DPs and the harmonic bonds connecting them -to their DC should appear in the data file as normal atoms and bonds. -

      -

      You can use the polarizer tool (Python script distributed with the +can be done by Thole functions.

    4. +
    +
    +

    Preparation of the data file

    +

    The data file is similar to a standard LAMMPS data file for +atom_style full. The DPs and the harmonic bonds connecting them +to their DC should appear in the data file as normal atoms and bonds.

    +

    You can use the polarizer tool (Python script distributed with the USER-DRUDE package) to convert a non-polarizable data file (here -data.102494.lmp) to a polarizable data file (data-p.lmp) -

    -
    polarizer -q -f phenol.dff data.102494.lmp data-p.lmp 
    -
    -

    This will automatically insert the new atoms and bonds. +data.102494.lmp) to a polarizable data file (data-p.lmp)

    +
    polarizer -q -f phenol.dff data.102494.lmp data-p.lmp
    +
    +
    +

    This will automatically insert the new atoms and bonds. The masses and charges of DCs and DPs are computed -from phenol.dff, as well as the DC-DP bond constants. The file -phenol.dff contains the polarizabilities of the atom types -and the mass of the Drude particles, for instance: -

    -
    # units: kJ/mol, A, deg
    +from phenol.dff, as well as the DC-DP bond constants.  The file
    +phenol.dff contains the polarizabilities of the atom types
    +and the mass of the Drude particles, for instance:

    +
    # units: kJ/mol, A, deg
     # kforce is in the form k/2 r_D^2
     # type  m_D/u   q_D/e    k_D   alpha/A3  thole
     OH      0.4    -1.0    4184.0   0.63     0.67
     CA      0.4    -1.0    4184.0   1.36     2.51
    -CAI     0.4    -1.0    4184.0   1.09     2.51 
    -
    -

    The hydrogen atoms are absent from this file, so they will be treated +CAI 0.4 -1.0 4184.0 1.09 2.51 +

    +
    +

    The hydrogen atoms are absent from this file, so they will be treated as non-polarizable atoms. In the non-polarizable data file -data.102494.lmp, atom names corresponding to the atom type numbers -have to be specified as comments at the end of lines of the Masses +data.102494.lmp, atom names corresponding to the atom type numbers +have to be specified as comments at the end of lines of the Masses section. You probably need to edit it to add these names. It should -look like -

    -
    Masses 
    -
    -
    1 12.011 # CAI
    +look like

    +
    Masses
    +
    +
    +
    1 12.011 # CAI
     2 12.011 # CA
     3 15.999 # OH
     4 1.008  # HA
    -5 1.008  # HO 
    -
    -
    - -

    Basic input file -

    -

    The atom style should be set to (or derive from) full, so that you -can define atomic charges and molecular bonds, angles, dihedrals... -

    -

    The polarizer tool also outputs certain lines related to the input +5 1.008 # HO +

    +
    +
    +

    Basic input file

    +

    The atom style should be set to (or derive from) full, so that you +can define atomic charges and molecular bonds, angles, dihedrals...

    +

    The polarizer tool also outputs certain lines related to the input script (the use of these lines will be explained below). In order for LAMMPS to recognize that you are using Drude oscillators, you should -use the fix drude. The command is -

    -
    fix DRUDE all drude C C C N N D D D 
    -
    -

    The N, C, D following the drude keyword have the following meaning: +use the fix drude. The command is

    +
    fix DRUDE all drude C C C N N D D D
    +
    +
    +

    The N, C, D following the drude keyword have the following meaning: There is one tag for each atom type. This tag is C for DCs, D for DPs and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and -the atom types 6 to 8 are the newly created DPs. -

    -

    By recognizing the fix drude, LAMMPS will find and store matching +the atom types 6 to 8 are the newly created DPs.

    +

    By recognizing the fix drude, LAMMPS will find and store matching DC-DP pairs and will treat DP as equivalent to their DC in the -special bonds relations. It may be necessary to extend the space +special bonds relations. It may be necessary to extend the space for storing such special relations. In this case extra space should -be reserved by using the extra keyword of the special_bonds +be reserved by using the extra keyword of the special_bonds command. With our phenol, there is 1 more special neighbor for which space is required. Otherwise LAMMPS crashes and gives the required -value. -

    -
    special_bonds lj/coul 0.0 0.0 0.5 extra 1 
    -
    -

    Let us assume we want to run a simple NVT simulation at 300 K. Note +value.

    +
    special_bonds lj/coul 0.0 0.0 0.5 extra 1
    +
    +
    +

    Let us assume we want to run a simple NVT simulation at 300 K. Note that Drude oscillators need to be thermalized at a low temperature in order to approximate a self-consistent field (SCF), therefore it is not possible to simulate an NVE ensemble with this package. Since dipoles -are approximated by a charged DC-DP pair, the pair_style must -include Coulomb interactions, for instance lj/cut/coul/long with -kspace_style pppm. For example, with a cutoff of 10. and a precision -1.e-4: -

    -
    pair_style lj/cut/coul/long 10.0
    -kspace_style pppm 1.0e-4 
    -
    -

    As compared to the non-polarizable input file, pair_coeff lines need +are approximated by a charged DC-DP pair, the pair_style must +include Coulomb interactions, for instance lj/cut/coul/long with +kspace_style pppm. For example, with a cutoff of 10. and a precision +1.e-4:

    +
    pair_style lj/cut/coul/long 10.0
    +kspace_style pppm 1.0e-4
    +
    +
    +

    As compared to the non-polarizable input file, pair_coeff lines need to be added for the DPs. Since the DPs have no Lennard-Jones -interactions, their epsilon is 0. so the only pair_coeff line -that needs to be added is -

    -
    pair_coeff * 6* 0.0 0.0 # All-DPs 
    -
    -

    Now for the thermalization, the simplest choice is to use the fix -langevin/drude. -

    -
    fix LANG all langevin/drude 300. 100 12435 1. 20 13977 
    -
    -

    This applies a Langevin thermostat at temperature 300. to the centers +interactions, their epsilon is 0. so the only pair_coeff line +that needs to be added is

    +
    pair_coeff * 6* 0.0 0.0 # All-DPs
    +
    +
    +

    Now for the thermalization, the simplest choice is to use the fix langevin/drude.

    +
    fix LANG all langevin/drude 300. 100 12435 1. 20 13977
    +
    +
    +

    This applies a Langevin thermostat at temperature 300. to the centers of mass of the DC-DP pairs, with relaxation time 100 and with random seed 12345. This fix applies also a Langevin thermostat at temperature 1. to the relative motion of the DPs around their DCs, with relaxation time 20 and random seed 13977. Only the DCs and non-polarizable -atoms need to be in this fix's group. LAMMPS will thermostate the DPs +atoms need to be in this fix’s group. LAMMPS will thermostate the DPs together with their DC. For this, ghost atoms need to know their -velocities. Thus you need to add the following command: -

    -
    comm_modify vel yes 
    -
    -

    In order to avoid that the center of mass of the whole system +velocities. Thus you need to add the following command:

    +
    comm_modify vel yes
    +
    +
    +

    In order to avoid that the center of mass of the whole system drifts due to the random forces of the Langevin thermostat on DCs, you -can add the zero yes option at the end of the fix line. -

    -

    If the fix shake is used to constrain the C-H bonds, it should be -invoked after the fix langevin/drude for more accuracy. -

    -
    fix SHAKE ATOMS shake 0.0001 20 0 t 4 5 
    -
    -

    IMPORTANT NOTE: The group of the fix shake must not include the DPs. -If the group ATOMS is defined by non-DPs atom types, you could use -

    -

    Since the fix langevin/drude does not perform time integration (just +can add the zero yes option at the end of the fix line.

    +

    If the fix shake is used to constrain the C-H bonds, it should be +invoked after the fix langevin/drude for more accuracy.

    +
    fix SHAKE ATOMS shake 0.0001 20 0 t 4 5
    +
    +
    +
    +

    Warning

    +

    The group of the fix shake must not include the DPs. +If the group ATOMS is defined by non-DPs atom types, you could use

    +
    +

    Since the fix langevin/drude does not perform time integration (just modification of forces but no position/velocity updates), the fix -nve should be used in conjunction. -

    -
    fix NVE all nve 
    -
    -

    Finally, do not forget to update the atom type elements if you use -them in a dump_modify ... element ... command, by adding the element -type of the DPs. Here for instance -

    -
    dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz
    -dump_modify DUMP element C C O H H D D D 
    -
    -

    The input file should now be ready for use! -

    -

    You will notice that the global temperature thermo_temp computed by +nve should be used in conjunction.

    +
    fix NVE all nve
    +
    +
    +

    Finally, do not forget to update the atom type elements if you use +them in a dump_modify ... element ... command, by adding the element +type of the DPs. Here for instance

    +
    dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz
    +dump_modify DUMP element C C O H H D D D
    +
    +
    +

    The input file should now be ready for use!

    +

    You will notice that the global temperature thermo_temp computed by LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as standard atoms in his default compute. If you want to output the temperatures of the DC-DP pair centers of mass and of the DPs relative -to their DCs, you should use the compute -temp_drude -

    -
    compute TDRUDE all temp/drude 
    -
    -

    And then output the correct temperatures of the Drude oscillators -using thermo_style custom with respectively c_TDRUDE[1] and -c_TDRUDE[2]. These should be close to 300.0 and 1.0 on average. -

    -
    thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2] 
    -
    -
    - -

    Thole screening -

    -

    Dipolar interactions represented by point charges on springs may not +to their DCs, you should use the compute temp_drude

    +
    compute TDRUDE all temp/drude
    +
    +
    +

    And then output the correct temperatures of the Drude oscillators +using thermo_style custom with respectively c_TDRUDE[1] and +c_TDRUDE[2]. These should be close to 300.0 and 1.0 on average.

    +
    thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2]
    +
    +
    +
    +

    Thole screening

    +

    Dipolar interactions represented by point charges on springs may not be stable, for example if the atomic polarizability is too high for instance, a DP can escape from its DC and be captured by another DC, which makes the force and energy diverge and the simulation crash. Even without reaching this extreme case, the correlation between nearby dipoles on the same molecule may be exagerated. Often, special bond relations prevent bonded neighboring atoms to see the -charge of each other's DP, so that the problem does not always appear. +charge of each other’s DP, so that the problem does not always appear. It is possible to use screened dipole dipole interactions by using the -pair_style thole. This is implemented as a +*pair_style thole*. This is implemented as a correction to the Coulomb pair_styles, which dampens at short distance the interactions between the charges representing the induced dipoles. -It is to be used as hybrid/overlay with any standard coul pair -style. In our example, we would use -

    -
    pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0 
    -
    -

    This tells LAMMPS that we are using two pair_styles. The first one is -as above (lj/cut/coul/long 10.0). The second one is a thole -pair_style with default screening factor 2.6 (Noskov) and -cutoff 10.0. -

    -

    Since hybrid/overlay does not support mixing rules, the interaction -coefficients of all the pairs of atom types with i < j should be -explicitly defined. The output of the polarizer script can be used -to complete the pair_coeff section of the input file. In our -example, this will look like: -

    -
    pair_coeff    1    1 lj/cut/coul/long    0.0700   3.550
    +It is to be used as hybrid/overlay with any standard coul pair
    +style.  In our example, we would use

    +
    pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0
    +
    +
    +

    This tells LAMMPS that we are using two pair_styles. The first one is +as above (lj/cut/coul/long 10.0). The second one is a thole +pair_style with default screening factor 2.6 (Noskov) and +cutoff 10.0.

    +

    Since hybrid/overlay does not support mixing rules, the interaction +coefficients of all the pairs of atom types with i < j should be +explicitly defined. The output of the polarizer script can be used +to complete the pair_coeff section of the input file. In our +example, this will look like:

    +
    pair_coeff    1    1 lj/cut/coul/long    0.0700   3.550
     pair_coeff    1    2 lj/cut/coul/long    0.0700   3.550
     pair_coeff    1    3 lj/cut/coul/long    0.1091   3.310
     pair_coeff    1    4 lj/cut/coul/long    0.0458   2.985
    @@ -315,153 +404,192 @@ pair_coeff    6    7 thole   1.218   2.510
     pair_coeff    6    8 thole   0.829   1.590
     pair_coeff    7    7 thole   1.360   2.510
     pair_coeff    7    8 thole   0.926   1.590
    -pair_coeff    8    8 thole   0.630   0.670 
    -
    -

    For the thole pair style the coefficients are -

    -
    1. the atom polarizability in units of cubic length - -
    2. the screening factor of the Thole function (optional, default value -specified by the pair_style command) - -
    3. the cutoff (optional, default value defined by the pair_style command) - -
    -

    The special neighbors have charge-charge and charge-dipole -interactions screened by the coul factors of the special_bonds +pair_coeff 8 8 thole 0.630 0.670 +

    + +

    For the thole pair style the coefficients are

    +
      +
    1. the atom polarizability in units of cubic length
    2. +
    3. the screening factor of the Thole function (optional, default value +specified by the pair_style command)
    4. +
    +
      +
    • the cutoff (optional, default value defined by the pair_style command)
    • +
    +

    The special neighbors have charge-charge and charge-dipole +interactions screened by the coul factors of the special_bonds command (0.0, 0.0, and 0.5 in the example above). Without using the -pair_style thole, dipole-dipole interactions are screened by the -same factor. By using the pair_style thole, dipole-dipole -interactions are screened by Thole's function, whatever their special +pair_style thole, dipole-dipole interactions are screened by the +same factor. By using the pair_style thole, dipole-dipole +interactions are screened by Thole’s function, whatever their special relationship (except within each DC-DP pair of course). Consider for -example 1-2 neighbors: using the pair_style thole, their dipoles -will see each other (despite the coul factor being 0.) and the -interactions between these dipoles will be damped by Thole's function. -

    -
    - -

    Thermostats and barostats -

    -

    Using a Nose-Hoover barostat with the langevin/drude thermostat is -straightforward using fix nph instead of nve. For example: -

    -
    fix NPH all nph iso 1. 1. 500 
    -
    -

    It is also possible to use a Nose-Hoover instead of a Langevin -thermostat. This requires to use fix -drude/transform just before and after the -time intergation fixes. The fix drude/transform/direct converts the +example 1-2 neighbors: using the pair_style thole, their dipoles +will see each other (despite the coul factor being 0.) and the +interactions between these dipoles will be damped by Thole’s function.

    +
    +

    Thermostats and barostats

    +

    Using a Nose-Hoover barostat with the langevin/drude thermostat is +straightforward using fix nph instead of nve. For example:

    +
    fix NPH all nph iso 1. 1. 500
    +
    +
    +

    It is also possible to use a Nose-Hoover instead of a Langevin +thermostat. This requires to use *fix drude/transform* just before and after the +time intergation fixes. The fix drude/transform/direct converts the atomic masses, positions, velocities and forces into a reduced representation, where the DCs transform into the centers of mass of the DC-DP pairs and the DPs transform into their relative position -with respect to their DC. The fix drude/transform/inverse performs +with respect to their DC. The fix drude/transform/inverse performs the reverse transformation. For a NVT simulation, with the DCs and -atoms at 300 K and the DPs at 1 K relative to their DC one would use -

    -
    fix DIRECT all drude/transform/direct
    +atoms at 300 K and the DPs at 1 K relative to their DC one would use

    +
    fix DIRECT all drude/transform/direct
     fix NVT1 ATOMS nvt temp 300. 300. 100
     fix NVT2 DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse 
    -
    -

    For our phenol example, the groups would be defined as -

    -
    group ATOMS  type 1 2 3 4 5 # DCs and non-polarizable atoms
    +fix INVERSE all drude/transform/inverse
    +
    +
    +

    For our phenol example, the groups would be defined as

    +
    group ATOMS  type 1 2 3 4 5 # DCs and non-polarizable atoms
     group CORES  type 1 2 3     # DCs
    -group DRUDES type 6 7 8     # DPs 
    -
    -

    Note that with the fixes drude/transform, it is not required to -specify comm_modify vel yes because the fixes do it anyway (several +group DRUDES type 6 7 8 # DPs +

    + +

    Note that with the fixes drude/transform, it is not required to +specify comm_modify vel yes because the fixes do it anyway (several times and for the forces also). To avoid the flying ice cube artifact -(Lamoureux), where the atoms progressively freeze and the -center of mass of the whole system drifts faster and faster, the fix -momentum can be used. For instance: -

    -
    fix MOMENTUM all momentum 100 linear 1 1 1 
    -
    -

    It is a bit more tricky to run a NPT simulation with Nose-Hoover +(Lamoureux), where the atoms progressively freeze and the +center of mass of the whole system drifts faster and faster, the fix +momentum can be used. For instance:

    +
    fix MOMENTUM all momentum 100 linear 1 1 1
    +
    +
    +

    It is a bit more tricky to run a NPT simulation with Nose-Hoover barostat and thermostat. First, the volume should be integrated only -once. So the fix for DCs and atoms should be npt while the fix for -DPs should be nvt (or vice versa). Second, the fix npt computes a +once. So the fix for DCs and atoms should be npt while the fix for +DPs should be nvt (or vice versa). Second, the fix npt computes a global pressure and thus a global temperature whatever the fix group. We do want the pressure to correspond to the whole system, but we want the temperature to correspond to the fix group only. We must then use -the fix_modify command for this. In the end, the block of -instructions for thermostating and barostating will look like -

    -
    compute TATOMS ATOMS temp
    +the fix_modify command for this.  In the end, the block of
    +instructions for thermostating and barostating will look like

    +
    compute TATOMS ATOMS temp
     fix DIRECT all drude/transform/direct
     fix NPT ATOMS npt temp 300. 300. 100 iso 1. 1. 500
     fix_modify NPT temp TATOMS press thermo_press
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse 
    -
    -
    - -

    Rigid bodies -

    -

    You may want to simulate molecules as rigid bodies (but polarizable). -Common cases are water models such as SWM4-NDP, which is a +fix INVERSE all drude/transform/inverse +

    + +
    +

    Rigid bodies

    +

    You may want to simulate molecules as rigid bodies (but polarizable). +Common cases are water models such as SWM4-NDP, which is a kind of polarizable TIP4P water. The rigid bodies and the DPs should be integrated separately, even with the Langevin thermostat. Let us -review the different thermostats and ensemble combinations. -

    -

    NVT ensemble using Langevin thermostat: -

    -
    comm_modify vel yes
    +review the different thermostats and ensemble combinations.

    +

    NVT ensemble using Langevin thermostat:

    +
    comm_modify vel yes
     fix LANG all langevin/drude 300. 100 12435 1. 20 13977
     fix RIGID ATOMS rigid/nve/small molecule
    -fix NVE DRUDES nve 
    -
    -

    NVT ensemble using Nose-Hoover thermostat: -

    -
    fix DIRECT all drude/transform/direct
    +fix NVE DRUDES nve
    +
    +
    +

    NVT ensemble using Nose-Hoover thermostat:

    +
    fix DIRECT all drude/transform/direct
     fix RIGID ATOMS rigid/nvt/small molecule temp 300. 300. 100
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse 
    -
    -

    NPT ensemble with Langevin thermostat: -

    -
    comm_modify vel yes
    +fix INVERSE all drude/transform/inverse
    +
    +
    +

    NPT ensemble with Langevin thermostat:

    +
    comm_modify vel yes
     fix LANG all langevin/drude 300. 100 12435 1. 20 13977
     fix RIGID ATOMS rigid/nph/small molecule iso 1. 1. 500
    -fix NVE DRUDES nve 
    -
    -

    NPT ensemble using Nose-Hoover thermostat: -

    -
    compute TATOM ATOMS temp
    +fix NVE DRUDES nve
    +
    +
    +

    NPT ensemble using Nose-Hoover thermostat:

    +
    compute TATOM ATOMS temp
     fix DIRECT all drude/transform/direct
     fix RIGID ATOMS rigid/npt/small molecule temp 300. 300. 100 iso 1. 1. 500
     fix_modify RIGID temp TATOM press thermo_press
     fix NVT DRUDES nvt temp 1. 1. 20
    -fix INVERSE all drude/transform/inverse 
    -
    -
    +fix INVERSE all drude/transform/inverse +
    + +
    +

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003)

    +

    (Schroeder) Schr&ouml;der and Steinhauser, J Chem Phys, 133, +154511 (2010).

    +
    +
    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux,
    +
    J Phys Chem Lett, 2, 87-92 (2011).
    +
    +

    (Thole) Chem Phys, 59, 341 (1981).

    +

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005).

    +

    (SWM4-NDP) Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys +Let, 418, 245-249 (2006)

    - -

    (Lamoureux) Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003) -

    - + + +
    + -

    (Schroeder) Schröder and Steinhauser, J Chem Phys, 133, -154511 (2010). -

    - +
    -

    (Jiang) Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, - J Phys Chem Lett, 2, 87-92 (2011). -

    - +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. -

    (Thole) Chem Phys, 59, 341 (1981). -

    - +
    -

    (Noskov) Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). -

    - + + -

    (SWM4-NDP) Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys -Let, 418, 245-249 (2006) -

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/uncompute.html b/doc/uncompute.html index 8487f4aac6..9b8a0d30b9 100644 --- a/doc/uncompute.html +++ b/doc/uncompute.html @@ -1,39 +1,225 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + uncompute command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    uncompute command -

    -

    Syntax: -

    -
    uncompute compute-ID 
    -
    -
    • compute-ID = ID of a previously defined compute -
    -

    Examples: -

    -
    uncompute 2
    -uncompute lower-boundary 
    -
    -

    Description: -

    -

    Delete a compute that was previously defined with a compute + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    uncompute command¶

    +
    +

    Syntax¶

    +
    uncompute compute-ID
    +
    +
    +
      +
    • compute-ID = ID of a previously defined compute
    • +
    +
    +
    +

    Examples¶

    +
    uncompute 2
    +uncompute lower-boundary
    +
    +
    +
    +
    +

    Description¶

    +

    Delete a compute that was previously defined with a compute command. This also wipes out any additional changes made to the compute -via the compute_modify command. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    compute -

    -

    Default: none -

    - +via the compute_modify command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/undump.html b/doc/undump.html index 246fe03756..28bd3fc753 100644 --- a/doc/undump.html +++ b/doc/undump.html @@ -1,38 +1,224 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + undump command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +

    undump command¶

    +
    +

    Syntax¶

    +
    undump dump-ID
    +
    +
    +
      +
    • dump-ID = ID of previously defined dump
    • +
    +
    +
    +

    Examples¶

    +
    undump mine
    +undump 2
    +
    +
    +
    +
    +

    Description¶

    +

    Turn off a previously defined dump so that it is no longer active. +This closes the file associated with the dump.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    -
    +
    +
    +
    + -

    undump command -

    -

    Syntax: -

    -
    undump dump-ID 
    -
    -
    • dump-ID = ID of previously defined dump -
    -

    Examples: -

    -
    undump mine
    -undump 2 
    -
    -

    Description: -

    -

    Turn off a previously defined dump so that it is no longer active. -This closes the file associated with the dump. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    dump -

    -

    Default: none -

    - +
    + +
    +

    + © Copyright . +

    +
    + Built with Sphinx using a theme provided by Read the Docs. + +
    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/unfix.html b/doc/unfix.html index 2ae948c2c8..234e587340 100644 --- a/doc/unfix.html +++ b/doc/unfix.html @@ -1,39 +1,225 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + unfix command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    unfix command -

    -

    Syntax: -

    -
    unfix fix-ID 
    -
    -
    • fix-ID = ID of a previously defined fix -
    -

    Examples: -

    -
    unfix 2
    -unfix lower-boundary 
    -
    -

    Description: -

    -

    Delete a fix that was previously defined with a fix + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    unfix command¶

    +
    +

    Syntax¶

    +
    unfix fix-ID
    +
    +
    +
      +
    • fix-ID = ID of a previously defined fix
    • +
    +
    +
    +

    Examples¶

    +
    unfix 2
    +unfix lower-boundary
    +
    +
    +
    +
    +

    Description¶

    +

    Delete a fix that was previously defined with a fix command. This also wipes out any additional changes made to the fix -via the fix_modify command. -

    -

    Restrictions: none -

    -

    Related commands: -

    -

    fix -

    -

    Default: none -

    - +via the fix_modify command.

    +
    +
    +

    Restrictions¶

    +
    +
    none
    +
    + +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/units.html b/doc/units.html index d532b2ae32..74999d7802 100644 --- a/doc/units.html +++ b/doc/units.html @@ -1,223 +1,403 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + units command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    units command -

    -

    Syntax: -

    -
    units style 
    -
    -
    • style = lj or real or metal or si or cgs or electron or micro or nano -
    -

    Examples: -

    -
    units metal
    -units lj 
    -
    -

    Description: -

    -

    This command sets the style of units used for a simulation. It + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    units command¶

    +
    +

    Syntax¶

    +
    units style
    +
    +
    +
      +
    • style = lj or real or metal or si or cgs or electron or micro or nano
    • +
    +
    +
    +

    Examples¶

    +
    units metal
    +units lj
    +
    +
    +
    +
    +

    Description¶

    +

    This command sets the style of units used for a simulation. It determines the units of all quantities specified in the input script and data file, as well as quantities output to the screen, log file, and dump files. Typically, this command is used at the very beginning -of an input script. -

    -

    For all units except lj, LAMMPS uses physical constants from +of an input script.

    +

    For all units except lj, LAMMPS uses physical constants from www.physics.nist.gov. For the definition of Kcal in real units, -LAMMPS uses the thermochemical calorie = 4.184 J. -

    -

    The choice you make for units simply sets some internal conversion +LAMMPS uses the thermochemical calorie = 4.184 J.

    +

    The choice you make for units simply sets some internal conversion factors within LAMMPS. This means that any simulation you perform for one choice of units can be duplicated with any other unit setting -LAMMPS supports. In this context "duplicate" means the particles will +LAMMPS supports. In this context “duplicate” means the particles will have identical trajectories and all output generated by the simulation will be identical. This will be the case for some number of timesteps until round-off effects accumulate, since the conversion factors for -two different unit systems are not identical to infinite precision. -

    -

    To perform the same simulation in a different set of units you must +two different unit systems are not identical to infinite precision.

    +

    To perform the same simulation in a different set of units you must change all the unit-based input parameters in your input script and other input files (data file, potential files, etc) correctly to the new units. And you must correctly convert all output from the new units to the old units when comparing to the original results. That -is often not simple to do. -

    -
    - -

    For style lj, all quantities are unitless. Without loss of +is often not simple to do.

    +
    +

    For style lj, all quantities are unitless. Without loss of generality, LAMMPS sets the fundamental quantities mass, sigma, epsilon, and the Boltzmann constant = 1. The masses, distances, energies you specify are multiples of these fundamental values. The formulas relating the reduced or unitless quantity (with an asterisk) to the same quantity with units is also given. Thus you can use the -mass & sigma & epsilon values for a specific material and convert the -results from a unitless LJ simulation into physical quantities. -

    -
    • mass = mass or m -
    • distance = sigma, where x* = x / sigma -
    • time = tau, where t* = t (epsilon / m / sigma^2)^1/2 -
    • energy = epsilon, where E* = E / epsilon -
    • velocity = sigma/tau, where v* = v tau / sigma -
    • force = epsilon/sigma, where f* = f sigma / epsilon -
    • torque = epsilon, where t* = t / epsilon -
    • temperature = reduced LJ temperature, where T* = T Kb / epsilon -
    • pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon -
    • dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau -
    • charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2 -
    • dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2 -
    • electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon -
    • density = mass/volume, where rho* = rho sigma^dim -
    -

    Note that for LJ units, the default mode of thermodyamic output via -the thermo_style command is to normalize energies +mass & sigma & epsilon values for a specific material and convert the +results from a unitless LJ simulation into physical quantities.

    +
      +
    • mass = mass or m
    • +
    • distance = sigma, where x* = x / sigma
    • +
    • time = tau, where t* = t (epsilon / m / sigma^2)^1/2
    • +
    • energy = epsilon, where E* = E / epsilon
    • +
    • velocity = sigma/tau, where v* = v tau / sigma
    • +
    • force = epsilon/sigma, where f* = f sigma / epsilon
    • +
    • torque = epsilon, where t* = t / epsilon
    • +
    • temperature = reduced LJ temperature, where T* = T Kb / epsilon
    • +
    • pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon
    • +
    • dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau
    • +
    • charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2
    • +
    • dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2
    • +
    • electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon
    • +
    • density = mass/volume, where rho* = rho sigma^dim
    • +
    +

    Note that for LJ units, the default mode of thermodyamic output via +the thermo_style command is to normalize energies by the number of atoms, i.e. energy/atom. This can be changed via the -thermo_modify norm command. -

    -

    For style real, these are the units: -

    -
    • mass = grams/mole -
    • distance = Angstroms -
    • time = femtoseconds -
    • energy = Kcal/mole -
    • velocity = Angstroms/femtosecond -
    • force = Kcal/mole-Angstrom -
    • torque = Kcal/mole -
    • temperature = Kelvin -
    • pressure = atmospheres -
    • dynamic viscosity = Poise -
    • charge = multiple of electron charge (1.0 is a proton) -
    • dipole = charge*Angstroms -
    • electric field = volts/Angstrom -
    • density = gram/cm^dim -
    -

    For style metal, these are the units: -

    -
    • mass = grams/mole -
    • distance = Angstroms -
    • time = picoseconds -
    • energy = eV -
    • velocity = Angstroms/picosecond -
    • force = eV/Angstrom -
    • torque = eV -
    • temperature = Kelvin -
    • pressure = bars -
    • dynamic viscosity = Poise -
    • charge = multiple of electron charge (1.0 is a proton) -
    • dipole = charge*Angstroms -
    • electric field = volts/Angstrom -
    • density = gram/cm^dim -
    -

    For style si, these are the units: -

    -
    • mass = kilograms -
    • distance = meters -
    • time = seconds -
    • energy = Joules -
    • velocity = meters/second -
    • force = Newtons -
    • torque = Newton-meters -
    • temperature = Kelvin -
    • pressure = Pascals -
    • dynamic viscosity = Pascal*second -
    • charge = Coulombs (1.6021765e-19 is a proton) -
    • dipole = Coulombs*meters -
    • electric field = volts/meter -
    • density = kilograms/meter^dim -
    -

    For style cgs, these are the units: -

    -
    • mass = grams -
    • distance = centimeters -
    • time = seconds -
    • energy = ergs -
    • velocity = centimeters/second -
    • force = dynes -
    • torque = dyne-centimeters -
    • temperature = Kelvin -
    • pressure = dyne/cm^2 or barye = 1.0e-6 bars -
    • dynamic viscosity = Poise -
    • charge = statcoulombs or esu (4.8032044e-10 is a proton) -
    • dipole = statcoul-cm = 10^18 debye -
    • electric field = statvolt/cm or dyne/esu -
    • density = grams/cm^dim -
    -

    For style electron, these are the units: -

    -
    • mass = atomic mass units -
    • distance = Bohr -
    • time = femtoseconds -
    • energy = Hartrees -
    • velocity = Bohr/atomic time units [1.03275e-15 seconds] -
    • force = Hartrees/Bohr -
    • temperature = Kelvin -
    • pressure = Pascals -
    • charge = multiple of electron charge (1.0 is a proton) -
    • dipole moment = Debye -
    • electric field = volts/cm -
    -

    For style micro, these are the units: -

    -
    • mass = picograms -
    • distance = micrometers -
    • time = microseconds -
    • energy = picogram-micrometer^2/microsecond^2 -
    • velocity = micrometers/microsecond -
    • force = picogram-micrometer/microsecond^2 -
    • torque = picogram-micrometer^2/microsecond^2 -
    • temperature = Kelvin -
    • pressure = picogram/(micrometer-microsecond^2) -
    • dynamic viscosity = picogram/(micrometer-microsecond) -
    • charge = picocoulombs (1.6021765e-7 is a proton) -
    • dipole = picocoulomb-micrometer -
    • electric field = volt/micrometer -
    • density = picograms/micrometer^dim -
    -

    For style nano, these are the units: -

    -
    • mass = attograms -
    • distance = nanometers -
    • time = nanoseconds -
    • energy = attogram-nanometer^2/nanosecond^2 -
    • velocity = nanometers/nanosecond -
    • force = attogram-nanometer/nanosecond^2 -
    • torque = attogram-nanometer^2/nanosecond^2 -
    • temperature = Kelvin -
    • pressure = attogram/(nanometer-nanosecond^2) -
    • dynamic viscosity = attogram/(nanometer-nanosecond) -
    • charge = multiple of electron charge (1.0 is a proton) -
    • dipole = charge-nanometer -
    • electric field = volt/nanometer -
    • density = attograms/nanometer^dim -
    -

    The units command also sets the timestep size and neighbor skin -distance to default values for each style: -

    -
    • For style lj these are dt = 0.005 tau and skin = 0.3 sigma. -
    • For style real these are dt = 1.0 fmsec and skin = 2.0 Angstroms. -
    • For style metal these are dt = 0.001 psec and skin = 2.0 Angstroms. -
    • For style si these are dt = 1.0e-8 sec and skin = 0.001 meters. -
    • For style cgs these are dt = 1.0e-8 sec and skin = 0.1 cm. -
    • For style electron these are dt = 0.001 fmsec and skin = 2.0 Bohr. -
    • For style micro these are dt = 2.0 microsec and skin = 0.1 micrometers. -
    • For style nano these are dt = 0.00045 nanosec and skin = 0.1 nanometers. -
    -

    Restrictions: -

    -

    This command cannot be used after the simulation box is defined by a -read_data or create_box command. -

    -

    Related commands: none -

    -

    Default: -

    -
    units lj 
    -
    - +thermo_modify norm command.

    +

    For style real, these are the units:

    +
      +
    • mass = grams/mole
    • +
    • distance = Angstroms
    • +
    • time = femtoseconds
    • +
    • energy = Kcal/mole
    • +
    • velocity = Angstroms/femtosecond
    • +
    • force = Kcal/mole-Angstrom
    • +
    • torque = Kcal/mole
    • +
    • temperature = Kelvin
    • +
    • pressure = atmospheres
    • +
    • dynamic viscosity = Poise
    • +
    • charge = multiple of electron charge (1.0 is a proton)
    • +
    • dipole = charge*Angstroms
    • +
    • electric field = volts/Angstrom
    • +
    • density = gram/cm^dim
    • +
    +

    For style metal, these are the units:

    +
      +
    • mass = grams/mole
    • +
    • distance = Angstroms
    • +
    • time = picoseconds
    • +
    • energy = eV
    • +
    • velocity = Angstroms/picosecond
    • +
    • force = eV/Angstrom
    • +
    • torque = eV
    • +
    • temperature = Kelvin
    • +
    • pressure = bars
    • +
    • dynamic viscosity = Poise
    • +
    • charge = multiple of electron charge (1.0 is a proton)
    • +
    • dipole = charge*Angstroms
    • +
    • electric field = volts/Angstrom
    • +
    • density = gram/cm^dim
    • +
    +

    For style si, these are the units:

    +
      +
    • mass = kilograms
    • +
    • distance = meters
    • +
    • time = seconds
    • +
    • energy = Joules
    • +
    • velocity = meters/second
    • +
    • force = Newtons
    • +
    • torque = Newton-meters
    • +
    • temperature = Kelvin
    • +
    • pressure = Pascals
    • +
    • dynamic viscosity = Pascal*second
    • +
    • charge = Coulombs (1.6021765e-19 is a proton)
    • +
    • dipole = Coulombs*meters
    • +
    • electric field = volts/meter
    • +
    • density = kilograms/meter^dim
    • +
    +

    For style cgs, these are the units:

    +
      +
    • mass = grams
    • +
    • distance = centimeters
    • +
    • time = seconds
    • +
    • energy = ergs
    • +
    • velocity = centimeters/second
    • +
    • force = dynes
    • +
    • torque = dyne-centimeters
    • +
    • temperature = Kelvin
    • +
    • pressure = dyne/cm^2 or barye = 1.0e-6 bars
    • +
    • dynamic viscosity = Poise
    • +
    • charge = statcoulombs or esu (4.8032044e-10 is a proton)
    • +
    • dipole = statcoul-cm = 10^18 debye
    • +
    • electric field = statvolt/cm or dyne/esu
    • +
    • density = grams/cm^dim
    • +
    +

    For style electron, these are the units:

    +
      +
    • mass = atomic mass units
    • +
    • distance = Bohr
    • +
    • time = femtoseconds
    • +
    • energy = Hartrees
    • +
    • velocity = Bohr/atomic time units [1.03275e-15 seconds]
    • +
    • force = Hartrees/Bohr
    • +
    • temperature = Kelvin
    • +
    • pressure = Pascals
    • +
    • charge = multiple of electron charge (1.0 is a proton)
    • +
    • dipole moment = Debye
    • +
    • electric field = volts/cm
    • +
    +

    For style micro, these are the units:

    +
      +
    • mass = picograms
    • +
    • distance = micrometers
    • +
    • time = microseconds
    • +
    • energy = picogram-micrometer^2/microsecond^2
    • +
    • velocity = micrometers/microsecond
    • +
    • force = picogram-micrometer/microsecond^2
    • +
    • torque = picogram-micrometer^2/microsecond^2
    • +
    • temperature = Kelvin
    • +
    • pressure = picogram/(micrometer-microsecond^2)
    • +
    • dynamic viscosity = picogram/(micrometer-microsecond)
    • +
    • charge = picocoulombs (1.6021765e-7 is a proton)
    • +
    • dipole = picocoulomb-micrometer
    • +
    • electric field = volt/micrometer
    • +
    • density = picograms/micrometer^dim
    • +
    +

    For style nano, these are the units:

    +
      +
    • mass = attograms
    • +
    • distance = nanometers
    • +
    • time = nanoseconds
    • +
    • energy = attogram-nanometer^2/nanosecond^2
    • +
    • velocity = nanometers/nanosecond
    • +
    • force = attogram-nanometer/nanosecond^2
    • +
    • torque = attogram-nanometer^2/nanosecond^2
    • +
    • temperature = Kelvin
    • +
    • pressure = attogram/(nanometer-nanosecond^2)
    • +
    • dynamic viscosity = attogram/(nanometer-nanosecond)
    • +
    • charge = multiple of electron charge (1.0 is a proton)
    • +
    • dipole = charge-nanometer
    • +
    • electric field = volt/nanometer
    • +
    • density = attograms/nanometer^dim
    • +
    +

    The units command also sets the timestep size and neighbor skin +distance to default values for each style:

    +
      +
    • For style lj these are dt = 0.005 tau and skin = 0.3 sigma.
    • +
    • For style real these are dt = 1.0 fmsec and skin = 2.0 Angstroms.
    • +
    • For style metal these are dt = 0.001 psec and skin = 2.0 Angstroms.
    • +
    • For style si these are dt = 1.0e-8 sec and skin = 0.001 meters.
    • +
    • For style cgs these are dt = 1.0e-8 sec and skin = 0.1 cm.
    • +
    • For style electron these are dt = 0.001 fmsec and skin = 2.0 Bohr.
    • +
    • For style micro these are dt = 2.0 microsec and skin = 0.1 micrometers.
    • +
    • For style nano these are dt = 0.00045 nanosec and skin = 0.1 nanometers.
    • +
    +
    +
    +

    Restrictions¶

    +

    This command cannot be used after the simulation box is defined by a +read_data or create_box command.

    +

    Related commands: none

    +
    +
    +

    Default¶

    +
    units lj
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/variable.html b/doc/variable.html index 9d10201bf3..d3867fa481 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -1,90 +1,206 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + variable command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    variable command -

    -

    Syntax: -

    -
    variable name style args ... 
    -
    -
    • name = name of variable to define - -
    • style = delete or index or loop or world or universe or -uloop or string or format or getenv or file or atomfile or python or equal or atom - -
        delete = no args
      -  index args = one or more strings
      -  loop args = N
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      variable command¶

      +
      +

      Syntax¶

      +
      variable name style args ...
      +
      +
      +
        +
      • name = name of variable to define
      • +
      • style = delete or index or loop or world or universe or +uloop or string or format or getenv or file or atomfile or python or equal or atom
      • +
      +
      +delete = no args
      +  index args = one or more strings
      +  loop args = N
           N = integer size of loop, loop from 1 to N inclusive
      -  loop args = N pad
      +  loop args = N pad
           N = integer size of loop, loop from 1 to N inclusive
           pad = all values will be same length, e.g. 001, 002, ..., 100
      -  loop args = N1 N2
      +  loop args = N1 N2
           N1,N2 = loop from N1 to N2 inclusive
      -  loop args = N1 N2 pad
      +  loop args = N1 N2 pad
           N1,N2 = loop from N1 to N2 inclusive
           pad = all values will be same length, e.g. 050, 051, ..., 100
      -  world args = one string for each partition of processors
      -  universe args = one or more strings
      -  uloop args = N
      +  world args = one string for each partition of processors
      +  universe args = one or more strings
      +  uloop args = N
           N = integer size of loop
      -  uloop args = N pad
      +  uloop args = N pad
           N = integer size of loop
           pad = all values will be same length, e.g. 001, 002, ..., 100
      -  string arg = one string
      -  format args = vname fstr
      +  string arg = one string
      +  format args = vname fstr
           vname = name of equal-style variable to evaluate
           fstr = C-style format string
      -  getenv arg = one string
      -  file arg = filename
      -  atomfile arg = filename
      -  python arg = function
      -  equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
      +  getenv arg = one string
      +  file arg = filename
      +  atomfile arg = filename
      +  python arg = function
      +  equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
           numbers = 0.0, 100, -5.4, 2.8e-4, etc
           constants = PI
      -    thermo keywords = vol, ke, press, etc from thermo_style
      +    thermo keywords = vol, ke, press, etc from thermo_style
           math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
      -                     x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
      +                     x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x
           math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
                            sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
                            random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x)
      -                     ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), 
      -		     stride(x,y,z), stride2(x,y,z,a,b,c), 
      -		     vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
      +                     ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
      +                  stride(x,y,z), stride2(x,y,z,a,b,c),
      +                  vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
           group functions = count(group), mass(group), charge(group),
      -		      xcm(group,dim), vcm(group,dim), fcm(group,dim),
      -		      bound(group,dir), gyration(group), ke(group),
      -		      angmom(group,dim), torque(group,dim),
      +                   xcm(group,dim), vcm(group,dim), fcm(group,dim),
      +                   bound(group,dir), gyration(group), ke(group),
      +                   angmom(group,dim), torque(group,dim),
                             inertia(group,dimdim), omega(group,dim)
           region functions = count(group,region), mass(group,region), charge(group,region),
      -		      xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
      -		      bound(group,dir,region), gyration(group,region), ke(group,reigon),
      -		      angmom(group,dim,region), torque(group,dim,region), 
      -		      inertia(group,dimdim,region), omega(group,dim,region)
      +                   xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
      +                   bound(group,dir,region), gyration(group,region), ke(group,reigon),
      +                   angmom(group,dim,region), torque(group,dim,region),
      +                   inertia(group,dimdim,region), omega(group,dim,region)
           special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
           atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
           atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
           compute references = c_ID, c_ID[i], c_ID[i][j]
           fix references = f_ID, f_ID[i], f_ID[i][j]
      -    variable references = v_name, v_name[i] 
      -
      - -
    -

    Examples: -

    -
    variable x index run1 run2 run3 run4 run5 run6 run7 run8
    +    variable references = v_name, v_name[i]
    +
    +
    +
    +

    Examples¶

    +
    variable x index run1 run2 run3 run4 run5 run6 run7 run8
     variable LoopVar loop $n
     variable beta equal temp/3.0
     variable b1 equal x[234]+0.5*vol
    -variable b1 equal "x[234] + 0.5*vol"
    +variable b1 equal "x[234] + 0.5*vol"
     variable b equal xcm(mol1,x)/2.0
     variable b equal c_myTemp
     variable b atom x*y/vol
    @@ -95,373 +211,325 @@ variable temp world 300.0 310.0 320.0 ${Tfinal}
     variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     variable x uloop 15 pad
     variable str format x %.6g
    -variable x delete 
    -
    -

    Description: -

    -

    This command assigns one or more strings to a variable name for -evaluation later in the input script or during a simulation. -

    -

    Variables can thus be useful in several contexts. A variable can be +variable x delete +

    +
    +
    +
    +

    Description¶

    +

    This command assigns one or more strings to a variable name for +evaluation later in the input script or during a simulation.

    +

    Variables can thus be useful in several contexts. A variable can be defined and then referenced elsewhere in an input script to become part of a new input command. For variable styles that store multiple -strings, the next command can be used to increment which -string is assigned to the variable. Variables of style equal store +strings, the next command can be used to increment which +string is assigned to the variable. Variables of style equal store a formula which when evaluated produces a single numeric value which -can be output either directly (see the print, fix -print, and run every commands) or as part -of thermodynamic output (see the thermo_style -command), or used as input to an averaging fix (see the fix -ave/time command). Variables of style atom store +can be output either directly (see the print, fix print, and run every commands) or as part +of thermodynamic output (see the thermo_style +command), or used as input to an averaging fix (see the fix ave/time command). Variables of style atom store a formula which when evaluated produces one numeric value per atom -which can be output to a dump file (see the dump custom -command) or used as input to an averaging fix (see the fix -ave/spatial and fix ave/atom -commands). Variables of style atomfile can be used anywhere in an +which can be output to a dump file (see the dump custom +command) or used as input to an averaging fix (see the fix ave/spatial and fix ave/atom +commands). Variables of style atomfile can be used anywhere in an input script that atom-style variables are used; they get their per-atom values from a file rather than from a formula. Variables can be hooked to Python functions using code you provide, so that the -variable gets its value from the evaluation of the Python code. -

    -

    IMPORTANT NOTE: As discussed in Section 3.2 -of the manual, an input script can use "immediate" variables, specified +variable gets its value from the evaluation of the Python code.

    +
    +

    Warning

    +

    As discussed in Section 3.2 +of the manual, an input script can use “immediate” variables, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This is a convenient way to evaluate a formula immediately without using the variable command to define a named variable and then evaluate that variable. See below -for a more detailed discussion of this feature. -

    -

    In the discussion that follows, the "name" of the variable is the +for a more detailed discussion of this feature.

    +
    +

    In the discussion that follows, the “name” of the variable is the arbitrary string that is the 1st argument in the variable command. This name can only contain alphanumeric characters and underscores. -The "string" is one or more of the subsequent arguments. The "string" +The “string” is one or more of the subsequent arguments. The “string” can be simple text as in the 1st example above, it can contain other variables as in the 2nd example, or it can be a formula as in the 3rd -example. The "value" is the numeric quantity resulting from +example. The “value” is the numeric quantity resulting from evaluation of the string. Note that the same string can generate different values when it is evaluated at different times during a -simulation. -

    -

    IMPORTANT NOTE: When the input script line is encountered that defines -a variable of style equal or atom or python that contains a +simulation.

    +
    +

    Warning

    +

    When the input script line is encountered that defines +a variable of style equal or atom or python that contains a formula or Python code, the formula is NOT immediately evaluated. -It will be evaluated every time when the variable is used instead. +It will be evaluated every time when the variable is used instead. If you simply want to evaluate a formula in place you can use as -so-called. See the section below about "Immediate Evaluation -of Variables" for more details on the topic. This is also true of -a format style variable since it evaluates another variable when -it is invoked. -

    -

    IMPORTANT NOTE: Variables of style equal and atom can be used as +so-called. See the section below about “Immediate Evaluation +of Variables” for more details on the topic. This is also true of +a format style variable since it evaluates another variable when +it is invoked.

    +
    +
    +

    Warning

    +

    Variables of style equal and atom can be used as inputs to various other LAMMPS commands which evaluate their formulas -as needed, e.g. at different timesteps during a run. -Variables of style python can be used in place of an equal-style +as needed, e.g. at different timesteps during a run. +Variables of style python can be used in place of an equal-style variable so long as the associated Python function, as defined by the -python command, returns a numeric value. Thus any +python command, returns a numeric value. Thus any command that states it can use an equal-style variable as an argument, can also use such a python-style variable. This means that when the LAMMPS command evaluates the variable, the Python function will be -executed. -

    -

    IMPORTANT NOTE: When a variable command is encountered in the input +executed.

    +
    +
    +

    Warning

    +

    When a variable command is encountered in the input script and the variable name has already been specified, the command is ignored. This means variables can NOT be re-defined in an input script (with two exceptions, read further). This is to allow an input script to be processed multiple times without resetting the variables; -see the jump or include commands. It also -means that using the command-line switch +see the jump or include commands. It also +means that using the command-line switch -var will override a corresponding index variable setting in the input -script. -

    -

    There are two exceptions to this rule. First, variables of style -string, getenv, equal, atom, and python ARE redefined each +script.

    +
    +

    There are two exceptions to this rule. First, variables of style +string, getenv, equal, atom, and python ARE redefined each time the command is encountered. This allows these style of variables to be redefined multiple times in an input script. In a loop, this -means the formula associated with an equal or atom style variable +means the formula associated with an equal or atom style variable can change if it contains a substitution for another variable, e.g. $x -or v_x. -

    -

    Second, as described below, if a variable is iterated on to the end of -its list of strings via the next command, it is removed +or v_x.

    +

    Second, as described below, if a variable is iterated on to the end of +its list of strings via the next command, it is removed from the list of active variables, and is thus available to be -re-defined in a subsequent variable command. The delete style does -the same thing. -

    -
    - -

    This section of the manual explains how +re-defined in a subsequent variable command. The delete style does +the same thing.

    +
    +

    This section of the manual explains how occurrences of a variable name in an input script line are replaced by -the variable's string. The variable name can be referenced as $x if -the name "x" is a single character, or as ${LoopVar} if the name -"LoopVar" is one or more characters. -

    -

    As described below, for variable styles index, loop, file, -universe, and uloop, which string is assigned to a variable can be -incremented via the next command. When there are no more +the variable’s string. The variable name can be referenced as $x if +the name “x” is a single character, or as ${LoopVar} if the name +“LoopVar” is one or more characters.

    +

    As described below, for variable styles index, loop, file, +universe, and uloop, which string is assigned to a variable can be +incremented via the next command. When there are no more strings to assign, the variable is exhausted and a flag is set that -causes the next jump command encountered in the input +causes the next jump command encountered in the input script to be skipped. This enables the construction of simple loops -in the input script that are iterated over and then exited from. -

    -

    As explained above, an exhausted variable can be re-used in an input -script. The delete style also removes the variable, the same as if +in the input script that are iterated over and then exited from.

    +

    As explained above, an exhausted variable can be re-used in an input +script. The delete style also removes the variable, the same as if it were exhausted, allowing it to be redefined later in the input script or when the input script is looped over. This can be useful -when breaking out of a loop via the if and jump -commands before the variable would become exhausted. For example, -

    -
    label	    loop
    +when breaking out of a loop via the if and jump
    +commands before the variable would become exhausted.  For example,

    +
    label            loop
     variable    a loop 5
    -print	    "A = $a"
    -if	    "$a > 2" then "jump in.script break"
    -next	    a
    -jump	    in.script loop
    -label	    break
    -variable    a delete 
    -
    -
    - -

    This section describes how all the various variable styles are defined -and what they store. Except for the equal and atom styles, -which are explaine in the next section. -

    -

    Many of the styles store one or more strings. Note that a single +print "A = $a" +if "$a > 2" then "jump in.script break" +next a +jump in.script loop +label break +variable a delete +

    + +
    +

    This section describes how all the various variable styles are defined +and what they store. Except for the equal and atom styles, +which are explaine in the next section.

    +

    Many of the styles store one or more strings. Note that a single string can contain spaces (multiple words), if it is enclosed in quotes in the variable command. When the variable is substituted for in another input script command, its returned string will then be -interpreted as multiple arguments in the expanded command. -

    -

    For the index style, one or more strings are specified. Initially, +interpreted as multiple arguments in the expanded command.

    +

    For the index style, one or more strings are specified. Initially, the 1st string is assigned to the variable. Each time a -next command is used with the variable name, the next +next command is used with the variable name, the next string is assigned. All processors assign the same string to the -variable. -

    -

    Index style variables with a single string value can also be set by -using the command-line switch -var; see this -section for details. -

    -

    The loop style is identical to the index style except that the +variable.

    +

    Index style variables with a single string value can also be set by +using the command-line switch -var; see this section for details.

    +

    The loop style is identical to the index style except that the strings are the integers from 1 to N inclusive, if only one argument N is specified. This allows generation of a long list of runs (e.g. 1000) without having to list N strings in the input script. -Initially, the string "1" is assigned to the variable. Each time a -next command is used with the variable name, the next -string ("2", "3", etc) is assigned. All processors assign the same -string to the variable. The loop style can also be specified with +Initially, the string “1” is assigned to the variable. Each time a +next command is used with the variable name, the next +string (“2”, “3”, etc) is assigned. All processors assign the same +string to the variable. The loop style can also be specified with two arguments N1 and N2. In this case the loop runs from N1 to N2 inclusive, and the string N1 is initially assigned to the variable. -N1 <= N2 and N2 >= 0 is required. -

    -

    For the world style, one or more strings are specified. There must -be one string for each processor partition or "world". See this -section of the manual for information on -running LAMMPS with multiple partitions via the "-partition" +N1 <= N2 and N2 >= 0 is required.

    +

    For the world style, one or more strings are specified. There must +be one string for each processor partition or “world”. See this section of the manual for information on +running LAMMPS with multiple partitions via the “-partition” command-line switch. This variable command assigns one string to each world. All processors in the world are assigned the same string. The -next command cannot be used with equal style variables, since there +next command cannot be used with equal style variables, since there is only one value per world. This style of variable is useful when you wish to run different simulations on different partitions, or when performing a parallel tempering simulation (see the -temper command), to assign different temperatures to -different partitions. -

    -

    For the universe style, one or more strings are specified. There +temper command), to assign different temperatures to +different partitions.

    +

    For the universe style, one or more strings are specified. There must be at least as many strings as there are processor partitions or -"worlds". See this page for information -on running LAMMPS with multiple partitions via the "-partition" +“worlds”. See this page for information +on running LAMMPS with multiple partitions via the “-partition” command-line switch. This variable command initially assigns one -string to each world. When a next command is encountered +string to each world. When a next command is encountered using this variable, the first processor partition to encounter it, is assigned the next available string. This continues until all the variable strings are consumed. Thus, this command can be used to run 50 simulations on 8 processor partitions. The simulations will be run one after the other on whatever partition becomes available, until -they are all finished. Universe style variables are incremented -using the files "tmp.lammps.variable" and "tmp.lammps.variable.lock" -which you will see in your directory during such a LAMMPS run. -

    -

    The uloop style is identical to the universe style except that the +they are all finished. Universe style variables are incremented +using the files “tmp.lammps.variable” and “tmp.lammps.variable.lock” +which you will see in your directory during such a LAMMPS run.

    +

    The uloop style is identical to the universe style except that the strings are the integers from 1 to N. This allows generation of long list of runs (e.g. 1000) without having to list N strings in the input -script. -

    -

    For the string style, a single string is assigned to the variable. -The only difference between this and using the index style with a -single string is that a variable with string style can be redefined. +script.

    +

    For the string style, a single string is assigned to the variable. +The only difference between this and using the index style with a +single string is that a variable with string style can be redefined. E.g. by another command later in the input script, or if the script is -read again in a loop. -

    -

    For the format style, an equal-style variable is specified along -with a C-style format string, e.g. "%f" or "%.10g", which must be +read again in a loop.

    +

    For the format style, an equal-style variable is specified along +with a C-style format string, e.g. “%f” or “%.10g”, which must be appropriate for formatting a double-precision floating-point value. This allows an equal-style variable to be formatted specifically for -output as a string, e.g. by the print command, if the -default format "%.15g" has too much precision. -

    -

    For the getenv style, a single string is assigned to the variable +output as a string, e.g. by the print command, if the +default format “%.15g” has too much precision.

    +

    For the getenv style, a single string is assigned to the variable which should be the name of an environment variable. When the variable is evaluated, it returns the value of the environment variable, or an empty string if it not defined. This style of variable can be used to adapt the behavior of LAMMPS input scripts via environment variable settings, or to retrieve information that has -been previously stored with the shell putenv command. +been previously stored with the shell putenv command. Note that because environment variable settings are stored by the -operating systems, they persist beyond a clear command. -

    -

    For the file style, a filename is provided which contains a list of +operating systems, they persist beyond a clear command.

    +

    For the file style, a filename is provided which contains a list of strings to assign to the variable, one per line. The strings can be numeric values if desired. See the discussion of the next() function below for equal-style variables, which will convert the string of a -file-style variable into a numeric value in a formula. -

    -

    When a file-style variable is defined, the file is opened and the +file-style variable into a numeric value in a formula.

    +

    When a file-style variable is defined, the file is opened and the string on the first line is read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return that string. There are two ways to cause the next string -from the file to be read: use the next command or the +from the file to be read: use the next command or the next() function in an equal- or atom-style variable, as discussed -below. -

    -

    The rules for formatting the file are as follows. A comment character -"#" can be used anywhere on a line; text starting with the comment -character is stripped. Blank lines are skipped. The first "word" of -a non-blank line, delimited by white space, is the "string" assigned -to the variable. -

    -

    For the atomfile style, a filename is provided which contains one or +below.

    +

    The rules for formatting the file are as follows. A comment character +“#” can be used anywhere on a line; text starting with the comment +character is stripped. Blank lines are skipped. The first “word” of +a non-blank line, delimited by white space, is the “string” assigned +to the variable.

    +

    For the atomfile style, a filename is provided which contains one or more sets of values, to assign on a per-atom basis to the variable. -The format of the file is described below. -

    -

    When an atomfile-style variable is defined, the file is opened and the +The format of the file is described below.

    +

    When an atomfile-style variable is defined, the file is opened and the first set of per-atom values are read and stored with the variable. This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the -next command or the next() function in an atom-style -variable, as discussed below. -

    -

    The rules for formatting the file are as follows. Each time a set of +next command or the next() function in an atom-style +variable, as discussed below.

    +

    The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. -A comment character "#" can be used anywhere on a line; text starting +A comment character “#” can be used anywhere on a line; text starting with the comment character is stripped. Blank lines are skipped. The -first "word" of a non-blank line, delimited by white space, is read as +first “word” of a non-blank line, delimited by white space, is read as the count N of per-atom lines to immediately follow. N can be be the total number of atoms in the system, or only a subset. The next N -lines have the following format -

    -
    ID value 
    -
    -

    where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order. -

    -

    IMPORTANT NOTE: Every time a set of per-atom lines is read, the value +lines have the following format

    +
    ID value
    +
    +
    +

    where ID is an atom ID and value is the per-atom numeric value that +will be assigned to that atom. IDs can be listed in any order.

    +
    +

    Warning

    +

    Every time a set of per-atom lines is read, the value for all atoms is first set to 0.0. Thus values for atoms whose ID -does not appear in the set, will remain 0.0. -

    -

    For the python style a Python function name is provided. This needs -to match a function name specified in a python command -which returns a value to this variable as defined by its return -keyword. For exampe these two commands would be self-consistent: -

    -
    variable foo python myMultiply
    -python myMultiply return v_foo format f file funcs.py 
    -
    -

    The two commands can appear in either order so long as both are -specified before the Python function is invoked for the first time. -

    -

    Each time the variable is evaluated, the associated Python function is +does not appear in the set, will remain 0.0.

    +
    +

    For the python style a Python function name is provided. This needs +to match a function name specified in a python command +which returns a value to this variable as defined by its return +keyword. For exampe these two commands would be self-consistent:

    +
    variable foo python myMultiply
    +python myMultiply return v_foo format f file funcs.py
    +
    +
    +

    The two commands can appear in either order so long as both are +specified before the Python function is invoked for the first time.

    +

    Each time the variable is evaluated, the associated Python function is invoked, and the value it returns is also returned by the variable. Since the Python function can use other LAMMPS variables as input, or query interal LAMMPS quantities to perform its computation, this means -the variable can return a different value each time it is evaluated. -

    -

    The type of value stored in the variable is determined by the format -keyword of the python command. It can be an integer +the variable can return a different value each time it is evaluated.

    +

    The type of value stored in the variable is determined by the format +keyword of the python command. It can be an integer (i), floating point (f), or string (s) value. As mentioned above, if it is a numeric value (integer or floating point), then the python-style variable can be used in place of an equal-style variable anywhere in an input script, e.g. as an argument to another command -that allows for equal-style variables. -

    -
    - -

    For the equal and atom styles, a single string is specified which +that allows for equal-style variables.

    +
    +

    For the equal and atom styles, a single string is specified which represents a formula that will be evaluated afresh each time the variable is used. If you want spaces in the string, enclose it in double quotes so the parser will treat it as a single argument. For -equal style variables the formula computes a scalar quantity, which +equal style variables the formula computes a scalar quantity, which becomes the value of the variable whenever it is evaluated. For -atom style variables the formula computes one quantity for each -atom whenever it is evaluated. -

    -

    Note that equal and atom variables can produce different values at +atom style variables the formula computes one quantity for each +atom whenever it is evaluated.

    +

    Note that equal and atom variables can produce different values at different stages of the input script or at different times during a -run. For example, if an equal variable is used in a fix -print command, different values could be printed each +run. For example, if an equal variable is used in a fix print command, different values could be printed each timestep it was invoked. If you want a variable to be evaluated immediately, so that the result is stored by the variable instead of -the string, see the section below on "Immediate Evaluation of -Variables". -

    -

    The next command cannot be used with equal or atom style -variables, since there is only one string. -

    -

    The formula for an equal or atom variable can contain a variety +the string, see the section below on “Immediate Evaluation of +Variables”.

    +

    The next command cannot be used with equal or atom style +variables, since there is only one string.

    +

    The formula for an equal or atom variable can contain a variety of quantities. The syntax for each kind of quantity is simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this is a -valid (though strange) variable formula: -

    -
    variable x equal "pe + c_MyTemp / vol^(1/3)" 
    -
    -

    Specifically, an formula can contain numbers, thermo keywords, math +valid (though strange) variable formula:

    +
    variable x equal "pe + c_MyTemp / vol^(1/3)"
    +
    +
    +

    Specifically, an formula can contain numbers, thermo keywords, math operators, math functions, group functions, region functions, atom values, atom vectors, compute references, fix references, and -references to other variables. -

    -
    - - - - - - - - - - - - - -
    Number 0.2, 100, 1.0e20, -15.4, etc
    Constant PI
    Thermo keywords vol, pe, ebond, etc
    Math operators (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
    Math operators (), -x, x+y, x-y, x*y, x/y, x^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
    Math functions sqrt(x), exp(x), ln(x), log(x), abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
    Group functions count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim)
    Region functions count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR)
    Special functions sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
    Atom values id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
    Atom vectors id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
    Compute references c_ID, c_ID[i], c_ID[i][j]
    Fix references f_ID, f_ID[i], f_ID[i][j]
    Other variables v_name, v_name[i] -
    - -
    - -

    Most of the formula elements produce a scalar value. A few produce a +references to other variables.

    +
    +

    Most of the formula elements produce a scalar value. A few produce a per-atom vector of values. These are the atom vectors, compute references that represent a per-atom vector, fix references that represent a per-atom vector, and variables that are atom-style variables. Math functions that operate on scalar values produce a scalar value; math function that operate on per-atom vectors do so -element-by-element and produce a per-atom vector. -

    -

    A formula for equal-style variables cannot use any formula element +element-by-element and produce a per-atom vector.

    +

    A formula for equal-style variables cannot use any formula element that produces a per-atom vector. A formula for an atom-style variable can use formula elements that produce either a scalar value or a per-atom vector. Atom-style variables are evaluated by other commands -that define a group on which they operate, e.g. a -dump or compute or fix command. +that define a group on which they operate, e.g. a +dump or compute or fix command. When they invoke the atom-style variable, only atoms in the group are inlcuded in the formula evaluation. The variable evaluates to 0.0 for -atoms not in the group. -

    -

    The thermo keywords allowed in a formula are those defined by the -thermo_style custom command. Thermo keywords that -require a compute to calculate their values such as -"temp" or "press", use computes stored and invoked by the -thermo_style command. This means that you can +atoms not in the group.

    +

    The thermo keywords allowed in a formula are those defined by the +thermo_style custom command. Thermo keywords that +require a compute to calculate their values such as +“temp” or “press”, use computes stored and invoked by the +thermo_style command. This means that you can only use those keywords in a variable if the style you are using with the thermo_style command (and the thermo keywords associated with that style) also define and use the needed compute. Note that some thermo @@ -469,69 +537,63 @@ keywords use a compute indirectly to calculate their value (e.g. the enthalpy keyword uses temp, pe, and pressure). If a variable is evaluated directly in an input script (not during a run), then the values accessed by the thermo keyword must be current. See the -discussion below about "Variable Accuracy". -

    -
    - -

    Math Operators -

    -

    Math operators are written in the usual way, where the "x" and "y" in +discussion below about “Variable Accuracy”.

    +
    +
    +

    Math Operators¶

    +

    Math operators are written in the usual way, where the “x” and “y” in the examples can themselves be arbitrarily complex formulas, as in the -examples above. In this syntax, "x" and "y" can be scalar values or -per-atom vectors. For example, "ke/natoms" is the division of two -scalars, where "vy+vz" is the element-by-element sum of two per-atom -vectors of y and z velocities. -

    -

    Operators are evaluated left to right and have the usual C-style -precedence: unary minus and unary logical NOT operator "!" have the -highest precedence, exponentiation "^" is next; multiplication and -division and the modulo operator "%" are next; addition and -subtraction are next; the 4 relational operators "<", "<=", ">", and -">=" are next; the two remaining relational operators "==" and "!=" -are next; then the logical AND operator "&&"; and finally the logical -OR operator "||" has the lowest precedence. Parenthesis can be used +examples above. In this syntax, “x” and “y” can be scalar values or +per-atom vectors. For example, “ke/natoms” is the division of two +scalars, where “vy+vz” is the element-by-element sum of two per-atom +vectors of y and z velocities.

    +

    Operators are evaluated left to right and have the usual C-style +precedence: unary minus and unary logical NOT operator ”!” have the +highest precedence, exponentiation “^” is next; multiplication and +division and the modulo operator “%” are next; addition and +subtraction are next; the 4 relational operators “<”, “<=”, “>”, and +“>=” are next; the two remaining relational operators “==” and ”!=” +are next; then the logical AND operator “&&”; and finally the logical +OR operator “||” has the lowest precedence. Parenthesis can be used to group one or more portions of a formula and/or enforce a different -order of evaluation than what would occur with the default precedence. -

    -

    IMPORTANT NOTE: Because a unary minus is higher precedence than -exponentiation, the formula "-2^2" will evaluate to 4, not -4. This +order of evaluation than what would occur with the default precedence.

    +
    +

    Warning

    +

    Because a unary minus is higher precedence than +exponentiation, the formula “-2^2” will evaluate to 4, not -4. This convention is compatible with some programming languages, but not others. As mentioned, this behavior can be easily overridden with -parenthesis; the formula "-(2^2)" will evaluate to -4. -

    -

    The 6 relational operators return either a 1.0 or 0.0 depending on +parenthesis; the formula “-(2^2)” will evaluate to -4.

    +
    +

    The 6 relational operators return either a 1.0 or 0.0 depending on whether the relationship between x and y is TRUE or FALSE. For -example the expression x<10.0 in an atom-style variable formula will +example the expression x<10.0 in an atom-style variable formula will return 1.0 for all atoms whose x-coordinate is less than 10.0, and 0.0 for the others. The logical AND operator will return 1.0 if both its arguments are non-zero, else it returns 0.0. The logical OR operator will return 1.0 if either of its arguments is non-zero, else it returns 0.0. The logical NOT operator returns 1.0 if its argument is -0.0, else it returns 0.0. -

    -

    These relational and logical operators can be used as a masking or +0.0, else it returns 0.0.

    +

    These relational and logical operators can be used as a masking or selection operation in a formula. For example, the number of atoms whose properties satifsy one or more criteria could be calculated by taking the returned per-atom vector of ones and zeroes and passing it -to the compute reduce command. -

    -
    - -

    Math Functions -

    -

    Math functions are specified as keywords followed by one or more -parenthesized arguments "x", "y", "z", each of which can themselves be +to the compute reduce command.

    +
    +
    +
    +

    Math Functions¶

    +

    Math functions are specified as keywords followed by one or more +parenthesized arguments “x”, “y”, “z”, each of which can themselves be arbitrarily complex formulas. In this syntax, the arguments can represent scalar values or per-atom vectors. In the latter case, the math operation is performed on each element of the vector. For -example, "sqrt(natoms)" is the sqrt() of a scalar, where "sqrt(y*z)" +example, “sqrt(natoms)” is the sqrt() of a scalar, where “sqrt(y*z)” yields a per-atom vector with each element being the sqrt() of the -product of one atom's y and z coordinates. -

    -

    Most of the math functions perform obvious operations. The ln() is -the natural log; log() is the base 10 log. -

    -

    The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = +product of one atom’s y and z coordinates.

    +

    Most of the math functions perform obvious operations. The ln() is +the natural log; log() is the base 10 log.

    +

    The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = seed. It generates a uniform random number between lo and hi. The normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and z = seed. It generates a Gaussian variate centered on mu with @@ -541,144 +603,136 @@ equal-style variables, every processor uses the same seed so that they each generate the same sequence of random numbers. For atom-style variables, a unique seed is created for each processor, based on the specified seed. This effectively generates a different random number -for each atom being looped over in the atom-style variable. -

    -

    IMPORTANT NOTE: Internally, there is just one random number generator +for each atom being looped over in the atom-style variable.

    +
    +

    Warning

    +

    Internally, there is just one random number generator for all equal-style variables and one for all atom-style variables. If you define multiple variables (of each style) which use the random() or normal() math functions, then the internal random number generators will only be initialized once, which means only one of the specified seeds will determine the sequence of generated random -numbers. -

    -

    The ceil(), floor(), and round() functions are those in the C math +numbers.

    +
    +

    The ceil(), floor(), and round() functions are those in the C math library. Ceil() is the smallest integer not less than its argument. Floor() if the largest integer not greater than its argument. Round() -is the nearest integer to its argument. -

    -

    The ramp(x,y) function uses the current timestep to generate a value +is the nearest integer to its argument.

    +

    The ramp(x,y) function uses the current timestep to generate a value linearly intepolated between the specified x,y values over the course -of a run, according to this formula: -

    -
    value = x + (y-x) * (timestep-startstep) / (stopstep-startstep) 
    -
    -

    The run begins on startstep and ends on stopstep. Startstep and -stopstep can span multiple runs, using the start and stop keywords -of the run command. See the run command for -details of how to do this. -

    -

    The stagger(x,y) function uses the current timestep to generate a new -timestep. X,y > 0 and x > y are required. The generated timesteps +of a run, according to this formula:

    +
    value = x + (y-x) * (timestep-startstep) / (stopstep-startstep)
    +
    +
    +

    The run begins on startstep and ends on stopstep. Startstep and +stopstep can span multiple runs, using the start and stop keywords +of the run command. See the run command for +details of how to do this.

    +

    The stagger(x,y) function uses the current timestep to generate a new +timestep. X,y > 0 and x > y are required. The generated timesteps increase in a staggered fashion, as the sequence x,x+y,2x,2x+y,3x,3x+y,etc. For any current timestep, the next timestep in the sequence is returned. Thus if stagger(1000,100) is -used in a variable by the dump_modify every -command, it will generate the sequence of output timesteps: -

    -
    100,1000,1100,2000,2100,3000,etc 
    -
    -

    The logfreq(x,y,z) function uses the current timestep to generate a -new timestep. X,y,z > 0 and y < z are required. The generated +used in a variable by the dump_modify every +command, it will generate the sequence of output timesteps:

    +
    100,1000,1100,2000,2100,3000,etc
    +
    +
    +

    The logfreq(x,y,z) function uses the current timestep to generate a +new timestep. X,y,z > 0 and y < z are required. The generated timesteps are on a base-z logarithmic scale, starting with x, and the y value is how many of the z-1 possible timesteps within one logarithmic interval are generated. I.e. the timesteps follow the sequence x,2x,3x,...y*x,x*z,2x*z,3x*z,...y*x*z,x*z^2,2x*z^2,etc. For any current timestep, the next timestep in the sequence is returned. -Thus if logfreq(100,4,10) is used in a variable by the dump_modify -every command, it will generate this sequence of -output timesteps: -

    -
    100,200,300,400,1000,2000,3000,4000,10000,20000,etc 
    -
    -

    The logfreq2(x,y,z) function is similar to logfreq, except a single +Thus if logfreq(100,4,10) is used in a variable by the dump_modify every command, it will generate this sequence of +output timesteps:

    +
    100,200,300,400,1000,2000,3000,4000,10000,20000,etc
    +
    +
    +

    The logfreq2(x,y,z) function is similar to logfreq, except a single logarithmic interval is divided into y equally-spaced timesteps and -all of them are output. Y < z is not required. Thus, if -logfreq2(100,18,10) is used in a variable by the dump_modify -every command, then the interval between 100 and +all of them are output. Y < z is not required. Thus, if +logfreq2(100,18,10) is used in a variable by the dump_modify every command, then the interval between 100 and 1000 is divided as 900/18 = 50 steps, and it will generate the -sequence of output timesteps: -

    -
    100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc 
    -
    -

    The stride(x,y,z) function uses the current timestep to generate a new -timestep. X,y >= 0 and z > 0 and x <= y are required. The generated +sequence of output timesteps:

    +
    100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc
    +
    +
    +

    The stride(x,y,z) function uses the current timestep to generate a new +timestep. X,y >= 0 and z > 0 and x <= y are required. The generated timesteps increase in increments of z, from x to y, i.e. it generates the sequece x,x+z,x+2z,...,y. If y-x is not a multiple of z, then similar to the way a for loop operates, the last value will be one that does not exceed y. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100) is used -in a variable by the dump_modify every command, it -will generate the sequence of output timesteps: -

    -
    1000,1100,1200, ... ,1900,2000 
    -
    -

    The stride2(x,y,z,a,b,c) function is similar to the stride() function +in a variable by the dump_modify every command, it +will generate the sequence of output timesteps:

    +
    1000,1100,1200, ... ,1900,2000
    +
    +
    +

    The stride2(x,y,z,a,b,c) function is similar to the stride() function except it generates two sets of strided timesteps, one at a coarser level and one at a finer level. Thus it is useful for debugging, e.g. to produce output every timestep at the point in simulation when -a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are -a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so +a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are +a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so that the second stride is inside the first. The generated timesteps increase in increments of z, starting at x, until a is reached. At that point the timestep increases in increments of c, from a to b, then after b, increments by z are resumed until y is reached. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100,1350,1360,1) is used in a variable by the -dump_modify every command, it will generate the -sequence of output timesteps: -

    -
    1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 
    -
    -

    The vdisplace(x,y) function takes 2 arguments: x = value0 and y = +dump_modify every command, it will generate the +sequence of output timesteps:

    +
    1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000
    +
    +
    +

    The vdisplace(x,y) function takes 2 arguments: x = value0 and y = velocity, and uses the elapsed time to change the value by a linear displacement due to the applied velocity over the course of a run, -according to this formula: -

    -
    value = value0 + velocity*(timestep-startstep)*dt 
    -
    -

    where dt = the timestep size. -

    -

    The run begins on startstep. Startstep can span multiple runs, using -the start keyword of the run command. See the -run command for details of how to do this. Note that the -thermo_style keyword elaplong = -timestep-startstep. -

    -

    The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: +according to this formula:

    +
    value = value0 + velocity*(timestep-startstep)*dt
    +
    +
    +

    where dt = the timestep size.

    +

    The run begins on startstep. Startstep can span multiple runs, using +the start keyword of the run command. See the +run command for details of how to do this. Note that the +thermo_style keyword elaplong = +timestep-startstep.

    +

    The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: x = value0, y = amplitude, z = period. They use the elapsed time to oscillate the value by a sin() or cos() function over the course of a -run, according to one of these formulas, where omega = 2 PI / period: -

    -
    value = value0 + Amplitude * sin(omega*(timestep-startstep)*dt)
    -value = value0 + Amplitude * (1 - cos(omega*(timestep-startstep)*dt)) 
    -
    -

    where dt = the timestep size. -

    -

    The run begins on startstep. Startstep can span multiple runs, using -the start keyword of the run command. See the -run command for details of how to do this. Note that the -thermo_style keyword elaplong = -timestep-startstep. -

    -
    - -

    Group and Region Functions -

    -

    Group functions are specified as keywords followed by one or two -parenthesized arguments. The first argument ID is the group-ID. -The dim argument, if it exists, is x or y or z. The dir -argument, if it exists, is xmin, xmax, ymin, ymax, zmin, or -zmax. The dimdim argument, if it exists, is xx or yy or zz -or xy or yz or xz. -

    -

    The group function count() is the number of atoms in the group. The +run, according to one of these formulas, where omega = 2 PI / period:

    +
    value = value0 + Amplitude * sin(omega*(timestep-startstep)*dt)
    +value = value0 + Amplitude * (1 - cos(omega*(timestep-startstep)*dt))
    +
    +
    +

    where dt = the timestep size.

    +

    The run begins on startstep. Startstep can span multiple runs, using +the start keyword of the run command. See the +run command for details of how to do this. Note that the +thermo_style keyword elaplong = +timestep-startstep.

    +
    +
    +
    +

    Group and Region Functions¶

    +

    Group functions are specified as keywords followed by one or two +parenthesized arguments. The first argument ID is the group-ID. +The dim argument, if it exists, is x or y or z. The dir +argument, if it exists, is xmin, xmax, ymin, ymax, zmin, or +zmax. The dimdim argument, if it exists, is xx or yy or zz +or xy or yz or xz.

    +

    The group function count() is the number of atoms in the group. The group functions mass() and charge() are the total mass and charge of the group. Xcm() and vcm() return components of the position and velocity of the center of mass of the group. Fcm() returns a component of the total force on the group of atoms. Bound() returns the min/max of a particular coordinate for all atoms in the group. Gyration() computes the radius-of-gyration of the group of atoms. See -the compute gyration command for a definition +the compute gyration command for a definition of the formula. Angmom() returns components of the angular momentum of the group of atoms around its center of mass. Torque() returns components of the torque on the group of atoms around its center of @@ -686,43 +740,37 @@ mass, based on current forces on the atoms. Inertia() returns one of 6 components of the symmetric inertia tensor of the group of atoms around its center of mass, ordered as Ixx,Iyy,Izz,Ixy,Iyz,Ixz. Omega() returns components of the angular velocity of the group of -atoms around its center of mass. -

    -

    Region functions are specified exactly the same way as group functions -except they take an extra final argument IDR which is the region ID. +atoms around its center of mass.

    +

    Region functions are specified exactly the same way as group functions +except they take an extra final argument IDR which is the region ID. The function is computed for all atoms that are in both the group and -the region. If the group is "all", then the only criteria for atom -inclusion is that it be in the region. -

    -
    - -

    Special Functions -

    -

    Special functions take specific kinds of arguments, meaning their -arguments cannot be formulas themselves. -

    -

    The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions -each take 1 argument which is of the form "c_ID" or "c_ID[N]" or -"f_ID" or "f_ID[N]". The first two are computes and the second two +the region. If the group is “all”, then the only criteria for atom +inclusion is that it be in the region.

    +
    +
    +
    +

    Special Functions¶

    +

    Special functions take specific kinds of arguments, meaning their +arguments cannot be formulas themselves.

    +

    The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions +each take 1 argument which is of the form “c_ID” or “c_ID[N]” or +“f_ID” or “f_ID[N]”. The first two are computes and the second two are fixes; the ID in the reference should be replaced by the ID of a compute or fix defined elsewhere in the input script. The compute or fix must produce either a global vector or array. If it produces a -global vector, then the notation without "[N]" should be used. If -it produces a global array, then the notation with "[N]" should be +global vector, then the notation without “[N]” should be used. If +it produces a global array, then the notation with “[N]” should be used, when N is an integer, to specify which column of the global -array is being referenced. -

    -

    These functions operate on the global vector of inputs and reduce it +array is being referenced.

    +

    These functions operate on the global vector of inputs and reduce it to a single scalar value. This is analagous to the operation of the -compute reduce command, which invokes the same -functions on per-atom and local vectors. -

    -

    The sum() function calculates the sum of all the vector elements. The +compute reduce command, which invokes the same +functions on per-atom and local vectors.

    +

    The sum() function calculates the sum of all the vector elements. The min() and max() functions find the minimum and maximum element respectively. The ave() function is the same as sum() except that it -divides the result by the length of the vector. -

    -

    The trap() function is the same as sum() except the first and last +divides the result by the length of the vector.

    +

    The trap() function is the same as sum() except the first and last elements are multiplied by a weighting factor of 1/2 when performing the sum. This effectively implements an integration via the trapezoidal rule on the global vector of data. I.e. consider a set of @@ -731,94 +779,79 @@ points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), length N. The integral from 1 to N of these points is trap(). When appropriately normalized by the timestep size, this function is useful for calculating integrals of time-series data, like that generated by -the fix ave/correlate command. -

    -

    The slope() function uses linear regression to fit a line to the set +the fix ave/correlate command.

    +

    The slope() function uses linear regression to fit a line to the set of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), ..., (N,VN), where the Vi are the values in the global vector of length N. The returned value is the slope of the line. If the line -has a single point or is vertical, it returns 1.0e20. -

    -

    The gmask(x) function takes 1 argument which is a group ID. It +has a single point or is vertical, it returns 1.0e20.

    +

    The gmask(x) function takes 1 argument which is a group ID. It can only be used in atom-style variables. It returns a 1 for -atoms that are in the group, and a 0 for atoms that are not. -

    -

    The rmask(x) function takes 1 argument which is a region ID. It can +atoms that are in the group, and a 0 for atoms that are not.

    +

    The rmask(x) function takes 1 argument which is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that -are in the geometric region, and a 0 for atoms that are not. -

    -

    The grmask(x,y) function takes 2 arguments. The first is a group ID, +are in the geometric region, and a 0 for atoms that are not.

    +

    The grmask(x,y) function takes 2 arguments. The first is a group ID, and the second is a region ID. It can only be used in atom-style variables. It returns a 1 for atoms that are in both the group and -region, and a 0 for atoms that are not in both. -

    -

    The next(x) function takes 1 argument which is a variable ID (not -"v_foo", just "foo"). It must be for a file-style or atomfile-style +region, and a 0 for atoms that are not in both.

    +

    The next(x) function takes 1 argument which is a variable ID (not +“v_foo”, just “foo”). It must be for a file-style or atomfile-style variable. Each time the next() function is invoked (i.e. each time the equal-style or atom-style variable is evaluated), the following -steps occur. -

    -

    For file-style variables, the current string value stored by the +steps occur.

    +

    For file-style variables, the current string value stored by the file-style variable is converted to a numeric value and returned by the function. And the next string value in the file is read and stored. Note that if the line previously read from the file was not a numeric string, then it will typically evaluate to 0.0, which is -likely not what you want. -

    -

    For atomfile-style variables, the current per-atom values stored by +likely not what you want.

    +

    For atomfile-style variables, the current per-atom values stored by the atomfile-style variable are returned by the function. And the -next set of per-atom values in the file is read and stored. -

    -

    Since file-style and atomfile-style variables read and store the first +next set of per-atom values in the file is read and stored.

    +

    Since file-style and atomfile-style variables read and store the first line of the file or first set of per-atoms values when they are defined in the input script, these are the value(s) that will be returned the first time the next() function is invoked. If next() is invoked more times than there are lines or sets of lines in the file, -the variable is deleted, similar to how the next command -operates. -

    -
    - -

    Atom Values and Vectors -

    -

    Atom values take an integer argument I from 1 to N, where I is the +the variable is deleted, similar to how the next command +operates.

    +
    +
    +
    +

    Atom Values and Vectors¶

    +

    Atom values take an integer argument I from 1 to N, where I is the atom-ID, e.g. x[243], which means use the x coordinate of the atom with ID = 243. Or they can take a variable name, specified as v_name, where name is the name of the variable, like x[v_myIndex]. The variable can be of any style except atom or atom-file variables. The variable is evaluated and the result is expected to be numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an an index, which -must be a value from 1 to N. Note that a "formula" cannot be used as +must be a value from 1 to N. Note that a “formula” cannot be used as the argument between the brackets, e.g. x[243+10] or x[v_myIndex+1] are not allowed. To do this a single variable can be -defined that contains the needed formula. -

    -

    Note that the 0 < atom-ID <= N, where N is the largest atom ID +defined that contains the needed formula.

    +

    Note that the 0 < atom-ID <= N, where N is the largest atom ID in the system. If an ID is specified for an atom that does not -currently exist, then the generated value is 0.0. -

    -

    Atom vectors generate one value per atom, so that a reference like -"vx" means the x-component of each atom's velocity will be used when -evaluating the variable. -

    -

    The meaning of the different atom values and vectors is mostly +currently exist, then the generated value is 0.0.

    +

    Atom vectors generate one value per atom, so that a reference like +“vx” means the x-component of each atom’s velocity will be used when +evaluating the variable.

    +

    The meaning of the different atom values and vectors is mostly self-explanatory. Mol refers to the molecule ID of an atom, and is -only defined if an atom_style is being used that -defines molecule IDs. -

    -

    Note that many other atom attributes can be used as inputs to a -variable by using the compute -property/atom command and then specifying -a quantity from that compute. -

    -
    - -

    Compute References -

    -

    Compute references access quantities calculated by a -compute. The ID in the reference should be replaced by +only defined if an atom_style is being used that +defines molecule IDs.

    +

    Note that many other atom attributes can be used as inputs to a +variable by using the compute property/atom command and then specifying +a quantity from that compute.

    +
    +
    +
    +

    Compute References¶

    +

    Compute references access quantities calculated by a +compute. The ID in the reference should be replaced by the ID of a compute defined elsewhere in the input script. As -discussed in the doc page for the compute command, +discussed in the doc page for the compute command, computes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Computes can also produce a scalar, vector, or array. An equal-style variable can only @@ -827,35 +860,42 @@ global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual computes to see what -kind of values they produce. -

    -

    Examples of different kinds of compute references are as follows. +kind of values they produce.

    +

    Examples of different kinds of compute references are as follows. There is no ambiguity as to what a reference means, since computes -only produce global or per-atom quantities, never both. -

    -
    - - -
    c_ID global scalar, or per-atom vector
    c_ID[I] Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array
    c_ID[I][J] I,J element of global array, or atom I's Jth value in per-atom array -
    - -

    For I and J, integers can be specified or a variable name, specified +only produce global or per-atom quantities, never both.

    + ++++ + + + + + + + + + + + +
    c_IDglobal scalar, or per-atom vector
    c_ID[I]Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array
    c_ID[I][J]I,J element of global array, or atom I’s Jth value in per-atom array
    +

    For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the "Atom Values and Vectors" discussion -above. -

    -

    If a variable containing a compute is evaluated directly in an input +syntax are the same as for the “Atom Values and Vectors” discussion +above.

    +

    If a variable containing a compute is evaluated directly in an input script (not during a run), then the values accessed by the compute -must be current. See the discussion below about "Variable Accuracy". -

    -
    - -

    Fix References -

    -

    Fix references access quantities calculated by a fix. +must be current. See the discussion below about “Variable Accuracy”.

    +
    +
    +
    +

    Fix References¶

    +

    Fix references access quantities calculated by a fix. The ID in the reference should be replaced by the ID of a fix defined elsewhere in the input script. As discussed in the doc page for the -fix command, fixes can produce global, per-atom, or local +fix command, fixes can produce global, per-atom, or local values. Only global and per-atom values can be used in a variable. Fixes can also produce a scalar, vector, or array. An equal-style variable can only use scalar values, which means a global scalar, or @@ -863,44 +903,49 @@ an element of a global or per-atom vector or array. Atom-style variables can use the same scalar values. They can also use per-atom vector values. A vector value can be a per-atom vector itself, or a column of an per-atom array. See the doc pages for individual fixes -to see what kind of values they produce. -

    -

    The different kinds of fix references are exactly the same as the -compute references listed in the above table, where "c_" is replaced -by "f_". Again, there is no ambiguity as to what a reference means, -since fixes only produce global or per-atom quantities, never both. -

    -
    - - -
    f_ID global scalar, or per-atom vector
    f_ID[I] Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array
    f_ID[I][J] I,J element of global array, or atom I's Jth value in per-atom array -
    - -

    For I and J, integers can be specified or a variable name, specified +to see what kind of values they produce.

    +

    The different kinds of fix references are exactly the same as the +compute references listed in the above table, where “c_” is replaced +by “f_”. Again, there is no ambiguity as to what a reference means, +since fixes only produce global or per-atom quantities, never both.

    + ++++ + + + + + + + + + + + +
    f_IDglobal scalar, or per-atom vector
    f_ID[I]Ith element of global vector, or atom I’s value in per-atom vector, or Ith column from per-atom array
    f_ID[I][J]I,J element of global array, or atom I’s Jth value in per-atom array
    +

    For I and J, integers can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the "Atom Values and Vectors" discussion -above. -

    -

    If a variable containing a fix is evaluated directly in an input +syntax are the same as for the “Atom Values and Vectors” discussion +above.

    +

    If a variable containing a fix is evaluated directly in an input script (not during a run), then the values accessed by the fix should -be current. See the discussion below about "Variable Accuracy". -

    -

    Note that some fixes only generate quantities on certain timesteps. +be current. See the discussion below about “Variable Accuracy”.

    +

    Note that some fixes only generate quantities on certain timesteps. If a variable attempts to access the fix on non-allowed timesteps, an -error is generated. For example, the fix ave/time +error is generated. For example, the fix ave/time command may only generate averaged quantities every 100 steps. See -the doc pages for individual fix commands for details. -

    -
    - -

    Variable References -

    -

    Variable references access quantities stored or calculated by other +the doc pages for individual fix commands for details.

    +
    +
    +
    +

    Variable References¶

    +

    Variable references access quantities stored or calculated by other variables, which will cause those variables to be evaluated. The name in the reference should be replaced by the name of a variable defined -elsewhere in the input script. -

    -

    As discussed on this doc page, equal-style variables generate a global +elsewhere in the input script.

    +

    As discussed on this doc page, equal-style variables generate a global scalar numeric value; atom-style and atomfile-style variables generate a per-atom vector of numeric values; all other variables store a string. The formula for an equal-style variable can use any style of @@ -910,237 +955,279 @@ string-storing variable is used, the string is converted to a numeric value. Note that this will typically produce a 0.0 if the string is not a numeric string, which is likely not what you want. The formula for an atom-style variable can use any style of variable, including -other atom-style or atomfile-style variables. -

    -

    Examples of different kinds of variable references are as follows. +other atom-style or atomfile-style variables.

    +

    Examples of different kinds of variable references are as follows. There is no ambiguity as to what a reference means, since variables -produce only a global scalar or a per-atom vector, never both. -

    -
    - -
    v_name scalar, or per-atom vector
    v_name[I] atom I's value in per-atom vector -
    - -

    For I, an integer can be specified or a variable name, specified as +produce only a global scalar or a per-atom vector, never both.

    + ++++ + + + + + + + + +
    v_namescalar, or per-atom vector
    v_name[I]atom I’s value in per-atom vector
    +

    For I, an integer can be specified or a variable name, specified as v_name, where name is the name of the variable. The rules for this -syntax are the same as for the "Atom Values and Vectors" discussion -above. -

    -
    - -

    Immediate Evaluation of Variables: -

    -

    If you want an equal-style variable to be evaluated immediately, it +syntax are the same as for the “Atom Values and Vectors” discussion +above.

    +
    +

    Immediate Evaluation of Variables:

    +

    If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See -Section 3.2 of the manual, which -describes the use of "immediate" variables in an input script, +Section 3.2 of the manual, which +describes the use of “immediate” variables in an input script, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This effectively evaluates a formula immediately without using the variable -command to define a named variable. -

    -

    More generally, there is a difference between referencing a variable -with a leading $ sign (e.g. $x or ${abc}) versus with a leading "v_" +command to define a named variable.

    +

    More generally, there is a difference between referencing a variable +with a leading $ sign (e.g. $x or ${abc}) versus with a leading “v_” (e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value -into the command. As explained in Section commands -3.2 for "Parsing rules", you can also use -un-named "immediate" variables for this purpose. For example, a +into the command. As explained in Section commands 3.2 for “Parsing rules”, you can also use +un-named “immediate” variables for this purpose. For example, a string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates the string between the parenthesis as an equal-style -variable formula. -

    -

    Referencing a variable with a leading "v_" is an optional or required -kind of argument for some commands (e.g. the fix -ave/spatial or dump custom or -thermo_style commands) if you wish it to evaluate +variable formula.

    +

    Referencing a variable with a leading “v_” is an optional or required +kind of argument for some commands (e.g. the fix ave/spatial or dump custom or +thermo_style commands) if you wish it to evaluate a variable periodically during a run. It can also be used in a variable formula if you wish to reference a second variable. The second variable will be evaluated whenever the first variable is -evaluated. -

    -

    As an example, suppose you use this command in your input script to -define the variable "v" as -

    -
    variable v equal vol 
    -
    -

    before a run where the simulation box size changes. You might think -this will assign the initial volume to the variable "v". That is not +evaluated.

    +

    As an example, suppose you use this command in your input script to +define the variable “v” as

    +
    variable v equal vol
    +
    +
    +

    before a run where the simulation box size changes. You might think +this will assign the initial volume to the variable “v”. That is not the case. Rather it assigns a formula which evaluates the volume -(using the thermo_style keyword "vol") to the variable "v". If you -use the variable "v" in some other command like fix -ave/time then the current volume of the box will be -evaluated continuously during the run. -

    -

    If you want to store the initial volume of the system, you can do it -this way: -

    -
    variable v equal vol
    -variable v0 equal $v 
    -
    -

    The second command will force "v" to be evaluated (yielding the -initial volume) and assign that value to the variable "v0". Thus the -command -

    -
    thermo_style custom step v_v v_v0 
    -
    -

    would print out both the current and initial volume periodically -during the run. -

    -

    Note that it is a mistake to enclose a variable formula in double -quotes if it contains variables preceeded by $ signs. For example, -

    -
    variable vratio equal "${vfinal}/${v0}" 
    -
    -

    This is because the quotes prevent variable substitution (see this -section on parsing input script -commands), and thus an error will occur when the formula for "vratio" -is evaluated later. -

    -
    - -

    Variable Accuracy: -

    -

    Obviously, LAMMPS attempts to evaluate variables containing formulas -(equal and atom style variables) accurately whenever the +(using the thermo_style keyword “vol”) to the variable “v”. If you +use the variable “v” in some other command like fix ave/time then the current volume of the box will be +evaluated continuously during the run.

    +

    If you want to store the initial volume of the system, you can do it +this way:

    +
    variable v equal vol
    +variable v0 equal $v
    +
    +
    +

    The second command will force “v” to be evaluated (yielding the +initial volume) and assign that value to the variable “v0”. Thus the +command

    +
    thermo_style custom step v_v v_v0
    +
    +
    +

    would print out both the current and initial volume periodically +during the run.

    +

    Note that it is a mistake to enclose a variable formula in double +quotes if it contains variables preceeded by $ signs. For example,

    +
    variable vratio equal "${vfinal}/${v0}"
    +
    +
    +

    This is because the quotes prevent variable substitution (see this section on parsing input script +commands), and thus an error will occur when the formula for “vratio” +is evaluated later.

    +
    +

    Variable Accuracy:

    +

    Obviously, LAMMPS attempts to evaluate variables containing formulas +(equal and atom style variables) accurately whenever the evaluation is performed. Depending on what is included in the -formula, this may require invoking a compute, either +formula, this may require invoking a compute, either directly or indirectly via a thermo keyword, or accessing a value previously calculated by a compute, or accessing a value calculated -and stored by a fix. If the compute is one that calculates +and stored by a fix. If the compute is one that calculates the pressure or energy of the system, then these quantities need to be tallied during the evaluation of the interatomic potentials (pair, -bond, etc) on timesteps that the variable will need the values. -

    -

    LAMMPS keeps track of all of this during a run or energy -minimization. An error will be generated if you +bond, etc) on timesteps that the variable will need the values.

    +

    LAMMPS keeps track of all of this during a run or energy minimization. An error will be generated if you attempt to evaluate a variable on timesteps when it cannot produce -accurate values. For example, if a thermo_style -custom command prints a variable which accesses -values stored by a fix ave/time command and the +accurate values. For example, if a thermo_style custom command prints a variable which accesses +values stored by a fix ave/time command and the timesteps on which thermo output is generated are not multiples of the -averaging frequency used in the fix command, then an error will occur. -

    -

    An input script can also request variables be evaluated before or +averaging frequency used in the fix command, then an error will occur.

    +

    An input script can also request variables be evaluated before or after or in between runs, e.g. by including them in a -print command. In this case, if a compute is needed to +print command. In this case, if a compute is needed to evaluate a variable (either directly or indirectly), LAMMPS will not invoke the compute, but it will use a value previously calculated by the compute, and can do this only if it was invoked on the current timestep. Fixes will always provide a quantity needed by a variable, but the quantity may or may not be current. This leads to one of -three kinds of behavior: -

    -

    (1) The variable may be evaluated accurately. If it contains +three kinds of behavior:

    +

    (1) The variable may be evaluated accurately. If it contains references to a compute or fix, and these values were calculated on the last timestep of a preceeding run, then they will be accessed and -used by the variable and the result will be accurate. -

    -

    (2) LAMMPS may not be able to evaluate the variable and will generate +used by the variable and the result will be accurate.

    +

    (2) LAMMPS may not be able to evaluate the variable and will generate an error message stating so. For example, if the variable requires a -quantity from a compute that has not been invoked on +quantity from a compute that has not been invoked on the current timestep, LAMMPS will generate an error. This means, for example, that such a variable cannot be evaluated before the first run has occurred. Likewise, in between runs, a variable containing a compute cannot be evaluated unless the compute was invoked on the last -timestep of the preceding run, e.g. by thermodynamic output. -

    -

    One way to get around this problem is to perform a 0-timestep run -before using the variable. For example, these commands -

    -
    variable t equal temp
    -print "Initial temperature = $t"
    -run 1000 
    -
    -

    will generate an error if the run is the first run specified in the -input script, because generating a value for the "t" variable requires -a compute for calculating the temperature to be invoked. -

    -

    However, this sequence of commands would be fine: -

    -
    run 0
    +timestep of the preceding run, e.g. by thermodynamic output.

    +

    One way to get around this problem is to perform a 0-timestep run +before using the variable. For example, these commands

    +
    variable t equal temp
    +print "Initial temperature = $t"
    +run 1000
    +
    +
    +

    will generate an error if the run is the first run specified in the +input script, because generating a value for the “t” variable requires +a compute for calculating the temperature to be invoked.

    +

    However, this sequence of commands would be fine:

    +
    run 0
     variable t equal temp
    -print "Initial temperature = $t"
    -run 1000 
    -
    -

    The 0-timestep run initializes and invokes various computes, including +print "Initial temperature = $t" +run 1000 +

    + +

    The 0-timestep run initializes and invokes various computes, including the one for temperature, so that the value it stores is current and -can be accessed by the variable "t" after the run has completed. Note +can be accessed by the variable “t” after the run has completed. Note that a 0-timestep run does not alter the state of the system, so it does not change the input state for the 1000-timestep run that follows. Also note that the 0-timestep run must actually use and -invoke the compute in question (e.g. via thermo or -dump output) in order for it to enable the compute to be +invoke the compute in question (e.g. via thermo or +dump output) in order for it to enable the compute to be used in a variable after the run. Thus if you are trying to print a variable that uses a compute you have defined, you can insure it is invoked on the last timestep of the preceding run by including it in -thermodynamic output. -

    -

    Unlike computes, fixes will never generate an error if +thermodynamic output.

    +

    Unlike computes, fixes will never generate an error if their values are accessed by a variable in between runs. They always return some value to the variable. However, the value may not be what you expect if the fix has not yet calculated the quantity of interest -or it is not current. For example, the fix indent +or it is not current. For example, the fix indent command stores the force on the indenter. But this is not computed until a run is performed. Thus if a variable attempts to print this value before the first run, zeroes will be output. Again, performing -a 0-timestep run before printing the variable has the desired effect. -

    -

    (3) The variable may be evaluated incorrectly and LAMMPS may have no +a 0-timestep run before printing the variable has the desired effect.

    +

    (3) The variable may be evaluated incorrectly and LAMMPS may have no way to detect this has occurred. Consider the following sequence of -commands: -

    -
    pair_coeff 1 1 1.0 1.0
    +commands:

    +
    pair_coeff 1 1 1.0 1.0
     run 1000
     pair_coeff 1 1 1.5 1.0
     variable e equal pe
    -print "Final potential energy = $e" 
    -
    -

    The first run is performed using one setting for the pairwise -potential defined by the pair_style and -pair_coeff commands. The potential energy is -evaluated on the final timestep and stored by the compute -pe compute (this is done by the -thermo_style command). Then a pair coefficient is +print "Final potential energy = $e" +

    + +

    The first run is performed using one setting for the pairwise +potential defined by the pair_style and +pair_coeff commands. The potential energy is +evaluated on the final timestep and stored by the compute pe compute (this is done by the +thermo_style command). Then a pair coefficient is changed, altering the potential energy of the system. When the -potential energy is printed via the "e" variable, LAMMPS will use the -potential energy value stored by the compute pe +potential energy is printed via the “e” variable, LAMMPS will use the +potential energy value stored by the compute pe compute, thinking it is current. There are many other commands which could alter the state of the system between runs, causing a variable -to evaluate incorrectly. -

    -

    The solution to this issue is the same as for case (2) above, namely +to evaluate incorrectly.

    +

    The solution to this issue is the same as for case (2) above, namely perform a 0-timestep run before the variable is evaluated to insure the system is up-to-date. For example, this sequence of commands would print a potential energy that reflected the changed pairwise -coefficient: -

    -
    pair_coeff 1 1 1.0 1.0
    +coefficient:

    +
    pair_coeff 1 1 1.0 1.0
     run 1000
     pair_coeff 1 1 1.5 1.0
     run 0
     variable e equal pe
    -print "Final potential energy = $e" 
    -
    -
    - -

    Restrictions: -

    -

    Indexing any formula element by global atom ID, such as an atom value, +print "Final potential energy = $e" +

    + + + +
    +
    +

    Restrictions¶

    +

    Indexing any formula element by global atom ID, such as an atom value, requires the atom style to use a global mapping in order to look up the vector indices. By default, only atom styles with molecular -information create global maps. The atom_modify -map command can override the default. -

    -

    All universe- and uloop-style variables defined in an input script -must have the same number of values. -

    -

    Related commands: -

    -

    next, jump, include, -temper, fix print, print -

    -

    Default: none -

    - +information create global maps. The atom_modify map command can override the default.

    +

    All universe- and uloop-style variables defined in an input script +must have the same number of values.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/velocity.html b/doc/velocity.html index 5e06774da6..aa82e906d3 100644 --- a/doc/velocity.html +++ b/doc/velocity.html @@ -1,100 +1,212 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + velocity command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    velocity command -

    -

    Syntax: -

    -
    velocity group-ID style args keyword value ... 
    -
    -
    • group-ID = ID of group of atoms whose velocity will be changed - -
    • style = create or set or scale or ramp or zero - -
        create args = temp seed
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      velocity command¶

      +
      +

      Syntax¶

      +
      velocity group-ID style args keyword value ...
      +
      +
      +
        +
      • group-ID = ID of group of atoms whose velocity will be changed
      • +
      • style = create or set or scale or ramp or zero
      • +
      +
      +create args = temp seed
           temp = temperature value (temperature units)
           seed = random # seed (positive integer)
      -  set args = vx vy vz
      +  set args = vx vy vz
           vx,vy,vz = velocity value or NULL (velocity units)
           any of vx,vy,vz van be a variable (see below)
      -  scale arg = temp
      +  scale arg = temp
           temp = temperature value (temperature units)
      -  ramp args = vdim vlo vhi dim clo chi
      -    vdim = vx or vy or vz
      +  ramp args = vdim vlo vhi dim clo chi
      +    vdim = vx or vy or vz
           vlo,vhi = lower and upper velocity value (velocity units)
      -    dim = x or y or z
      +    dim = x or y or z
           clo,chi = lower and upper coordinate bound (distance units)
      -  zero arg = linear or angular
      -    linear = zero the linear momentum
      -    angular = zero the angular momentum 
      -
      -
    • zero or more keyword/value pairs may be appended - -
    • keyword = dist or sum or mom or rot or temp or bias or loop or units - -
        dist value = uniform or gaussian
      -  sum value = no or yes
      -  mom value = no or yes 
      -  rot value = no or yes 
      -  temp value = temperature compute ID
      -  bias value = no or yes 
      -  loop value = all or local or geom
      -  rigid value = fix-ID
      +  zero arg = linear or angular
      +    linear = zero the linear momentum
      +    angular = zero the angular momentum
      +
      +
        +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = dist or sum or mom or rot or temp or bias or loop or units
      • +
      +
      +dist value = uniform or gaussian
      +  sum value = no or yes
      +  mom value = no or yes
      +  rot value = no or yes
      +  temp value = temperature compute ID
      +  bias value = no or yes
      +  loop value = all or local or geom
      +  rigid value = fix-ID
           fix-ID = ID of rigid body fix
      -  units value = box or lattice 
      -
      - -
    -

    Examples: -

    -
    velocity all create 300.0 4928459 rot yes dist gaussian
    +  units value = box or lattice
    +
    +
    +
    +

    Examples¶

    +
    velocity all create 300.0 4928459 rot yes dist gaussian
     velocity border set NULL 4.0 v_vz sum yes units box
     velocity flow scale 300.0
     velocity flow ramp vx 0.0 5.0 y 5 25 temp mytemp
    -velocity all zero linear 
    -
    -

    Description: -

    -

    Set or change the velocities of a group of atoms in one of several +velocity all zero linear +

    +
    +
    +
    +

    Description¶

    +

    Set or change the velocities of a group of atoms in one of several styles. For each style, there are required arguments and optional keyword/value parameters. Not all options are used by each style. -Each option has a default as listed below. -

    -

    The create style generates an ensemble of velocities using a random -number generator with the specified seed as the specified temperature. -

    -

    The set style sets the velocities of all atoms in the group to the +Each option has a default as listed below.

    +

    The create style generates an ensemble of velocities using a random +number generator with the specified seed as the specified temperature.

    +

    The set style sets the velocities of all atoms in the group to the specified values. If any component is specified as NULL, then it is not set. Any of the vx,vy,vz velocity components can be specified as -an equal-style or atom-style variable. If the value +an equal-style or atom-style variable. If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value used to determine the velocity component. Note that if a variable is used, the velocity it calculates must be in box units, not -lattice units; see the discussion of the units keyword below. -

    -

    Equal-style variables can specify formulas with various mathematical -functions, and include thermo_style command -keywords for the simulation box parameters or other parameters. -

    -

    Atom-style variables can specify the same formulas as equal-style +lattice units; see the discussion of the units keyword below.

    +

    Equal-style variables can specify formulas with various mathematical +functions, and include thermo_style command +keywords for the simulation box parameters or other parameters.

    +

    Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as atom coordinates. Thus it is easy to specify a spatially-dependent -velocity field. -

    -

    The scale style computes the current temperature of the group of -atoms and then rescales the velocities to the specified temperature. -

    -

    The ramp style is similar to that used by the compute -temp/ramp command. Velocities ramped +velocity field.

    +

    The scale style computes the current temperature of the group of +atoms and then rescales the velocities to the specified temperature.

    +

    The ramp style is similar to that used by the compute temp/ramp command. Velocities ramped uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. The value assigned to a particular atom depends on its relative coordinate value (in dim) from clo to chi. For the example above, an @@ -102,169 +214,206 @@ atom with y-coordinate of 10 (1/4 of the way from 5 to 25), would be assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms outside the coordinate bounds (less than 5 or greater than 25 in this case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this -case). -

    -

    The zero style adjusts the velocities of the group of atoms so that +case).

    +

    The zero style adjusts the velocities of the group of atoms so that the aggregate linear or angular momentum is zero. No other changes -are made to the velocities of the atoms. If the rigid option is +are made to the velocities of the atoms. If the rigid option is specified (see below), then the zeroing is performed on individual -rigid bodies, as defined by the fix rigid or fix -rigid/small commands. In other words, zero linear +rigid bodies, as defined by the fix rigid or fix rigid/small commands. In other words, zero linear will set the linear momentum of each rigid body to zero, and zero angular will set the angular momentum of each rigid body to zero. This is done by adjusting the velocities of the atoms in each rigid -body. -

    -

    All temperatures specified in the velocity command are in temperature -units; see the units command. The units of velocities and -coordinates depend on whether the units keyword is set to box or -lattice, as discussed below. -

    -

    For all styles, no atoms are assigned z-component velocities if the -simulation is 2d; see the dimension command. -

    -
    - -

    The keyword/value options are used in the following ways by the -various styles. -

    -

    The dist keyword is used by create. The ensemble of generated -velocities can be a uniform distribution from some minimum to +body.

    +

    All temperatures specified in the velocity command are in temperature +units; see the units command. The units of velocities and +coordinates depend on whether the units keyword is set to box or +lattice, as discussed below.

    +

    For all styles, no atoms are assigned z-component velocities if the +simulation is 2d; see the dimension command.

    +
    +

    The keyword/value options are used in the following ways by the +various styles.

    +

    The dist keyword is used by create. The ensemble of generated +velocities can be a uniform distribution from some minimum to maximum value, scaled to produce the requested temperature. Or it can -be a gaussian distribution with a mean of 0.0 and a sigma scaled to -produce the requested temperature. -

    -

    The sum keyword is used by all styles, except zero. The new +be a gaussian distribution with a mean of 0.0 and a sigma scaled to +produce the requested temperature.

    +

    The sum keyword is used by all styles, except zero. The new velocities will be added to the existing ones if sum = yes, or will -replace them if sum = no. -

    -

    The mom and rot keywords are used by create. If mom = yes, the +replace them if sum = no.

    +

    The mom and rot keywords are used by create. If mom = yes, the linear momentum of the newly created ensemble of velocities is zeroed; -if rot = yes, the angular momentum is zeroed. -

    -

    *line -

    -

    If specified, the temp keyword is used by create and scale to -specify a compute that calculates temperature in a +if rot = yes, the angular momentum is zeroed.

    +

    *line

    +

    If specified, the temp keyword is used by create and scale to +specify a compute that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as -discussed in Section howto 16 of the doc -pages. If this keyword is not specified, create and scale +discussed in Section howto 16 of the doc +pages. If this keyword is not specified, create and scale calculate temperature using a compute that is defined internally as -follows: -

    -
    compute velocity_temp group-ID temp 
    -
    -

    where group-ID is the same ID used in the velocity command. i.e. the +follows:

    +
    compute velocity_temp group-ID temp
    +
    +
    +

    where group-ID is the same ID used in the velocity command. i.e. the group of atoms whose velocity is being altered. This compute is -deleted when the velocity command is finished. See the compute -temp command for details. If the calculated +deleted when the velocity command is finished. See the compute temp command for details. If the calculated temperature should have degrees-of-freedom removed due to fix constraints (e.g. SHAKE or rigid-body constraints), then the appropriate fix command must be specified before the velocity command -is issued. -

    -

    The bias keyword with a yes setting is used by create and -scale, but only if the temp keyword is also used to specify a -compute that calculates temperature in a desired way. +is issued.

    +

    The bias keyword with a yes setting is used by create and +scale, but only if the temp keyword is also used to specify a +compute that calculates temperature in a desired way. If the temperature compute also calculates a velocity bias, the the -bias is subtracted from atom velocities before the create and -scale operations are performed. After the operations, the bias is -added back to the atom velocities. See Section howto -16 of the doc pages for more discussion +bias is subtracted from atom velocities before the create and +scale operations are performed. After the operations, the bias is +added back to the atom velocities. See Section howto 16 of the doc pages for more discussion of temperature computes with biases. Note that the velocity bias is only applied to atoms in the temperature compute specified with the -temp keyword. -

    -

    As an example, assume atoms are currently streaming in a flow -direction (which could be separately initialized with the ramp +temp keyword.

    +

    As an example, assume atoms are currently streaming in a flow +direction (which could be separately initialized with the ramp style), and you wish to initialize their thermal velocity to a desired temperature. In this context thermal velocity means the per-particle velocity that remains when the streaming velocity is subtracted. This -can be done using the create style with the temp keyword -specifying the ID of a compute temp/ramp or -compute temp/profile command, and the -bias keyword set to a yes value. -

    -
    - -

    The loop keyword is used by create in the following ways. -

    -

    If loop = all, then each processor loops over all atoms in the +can be done using the create style with the temp keyword +specifying the ID of a compute temp/ramp or +compute temp/profile command, and the +bias keyword set to a yes value.

    +
    +

    The loop keyword is used by create in the following ways.

    +

    If loop = all, then each processor loops over all atoms in the simulation to create velocities, but only stores velocities for atoms it owns. This can be a slow loop for a large simulation. If atoms were read from a data file, the velocity assigned to a particular atom will be the same, independent of how many processors are being used. This will not be the case if atoms were created using the -create_atoms command, since atom IDs will likely -be assigned to atoms differently. -

    -

    If loop = local, then each processor loops over only its atoms to +create_atoms command, since atom IDs will likely +be assigned to atoms differently.

    +

    If loop = local, then each processor loops over only its atoms to produce velocities. The random number seed is adjusted to give a different set of velocities on each processor. This is a fast loop, but the velocity assigned to a particular atom will depend on which processor owns it. Thus the results will always be different when a -simulation is run on a different number of processors. -

    -

    If loop = geom, then each processor loops over only its atoms. For -each atom a unique random number seed is created, based on the atom's +simulation is run on a different number of processors.

    +

    If loop = geom, then each processor loops over only its atoms. For +each atom a unique random number seed is created, based on the atom’s xyz coordinates. A velocity is generated using that seed. This is a fast loop and the velocity assigned to a particular atom will be the same, independent of how many processors are used. However, the set -of generated velocities may be more correlated than if the all or -local keywords are used. -

    -

    Note that the loop geom keyword will not necessarily assign +of generated velocities may be more correlated than if the all or +local keywords are used.

    +

    Note that the loop geom keyword will not necessarily assign identical velocities for two simulations run on different machines. This is because the computations based on xyz coordinates are sensitive to tiny differences in the double-precision value for a -coordinate as stored on a particular machine. -

    -
    - -

    The rigid keyword only has meaning when used with the zero style. -It allows specification of a fix-ID for one of the rigid-body -fix variants which defines a set of rigid bodies. The +coordinate as stored on a particular machine.

    +
    +

    The rigid keyword only has meaning when used with the zero style. +It allows specification of a fix-ID for one of the rigid-body fix variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid -body defined by the fix, as described above. -

    -

    The units keyword is used by set and ramp. If units = box, +body defined by the fix, as described above.

    +

    The units keyword is used by set and ramp. If units = box, the velocities and coordinates specified in the velocity command are -in the standard units described by the units command +in the standard units described by the units command (e.g. Angstroms/fmsec for real units). If units = lattice, velocities are in units of lattice spacings per time (e.g. spacings/fmsec) and -coordinates are in lattice spacings. The lattice -command must have been previously used to define the lattice spacing. -

    -
    - -

    Restrictions: -

    -

    Assigning a temperature via the create style to a system with rigid -bodies or SHAKE constraints may not +coordinates are in lattice spacings. The lattice +command must have been previously used to define the lattice spacing.

    +
    +
    +
    +

    Restrictions¶

    +

    Assigning a temperature via the create style to a system with rigid bodies or SHAKE constraints may not have the desired outcome for two reasons. First, the velocity command can be invoked before all of the relevant fixes are created and initialized and the number of adjusted degrees of freedom (DOFs) is known. Thus it is not possible to compute the target temperature correctly. Second, the assigned velocities may be partially canceled when constraints are first enforced, leading to a different -temperature than desired. A workaround for this is to perform a run -0 command, which insures all DOFs are accounted for +temperature than desired. A workaround for this is to perform a run 0 command, which insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before -performing a simulation. For example: -

    -
    velocity all create 300.0 12345
    +performing a simulation.  For example:

    +
    velocity all create 300.0 12345
     run 0                             # temperature may not be 300K
    -velocity all scale 300.0          # now it should be 
    -
    -

    Related commands: -

    -

    fix rigid, fix shake, -lattice -

    -

    Default: -

    -

    The keyword defaults are dist = uniform, sum = no, mom = yes, rot = +velocity all scale 300.0 # now it should be +

    + + + +
    +

    Default¶

    +

    The keyword defaults are dist = uniform, sum = no, mom = yes, rot = no, bias = no, loop = all, and units = lattice. The temp and rigid -keywords are not defined by default. -

    - +keywords are not defined by default.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/write_data.html b/doc/write_data.html index 426b0a2068..dcc68346d3 100644 --- a/doc/write_data.html +++ b/doc/write_data.html @@ -1,131 +1,304 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + write_data command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    write_data command -

    -

    Syntax: -

    -
    write_data file keyword value ... 
    -
    -
    • file = name of data file to write out - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = pair or nocoeff - -
        nocoeff = do not write out force field info
      -  pair value = ii or ij
      -    ii = write one line of pair coefficient info per atom type
      -    ij = write one line of pair coefficient info per IJ atom type pair 
      -
      - -
    -

    Examples: -

    -
    write_data data.polymer
    -write_data data.* 
    -
    -

    Description: -

    -

    Write a data file in text format of the current state of the -simulation. Data files can be read by the read data -command to begin a simulation. The read_data command -also describes their format. -

    -

    Similar to dump files, the data filename can contain a "*" -wild-card character. The "*" is replaced with the current timestep -value. -

    -

    IMPORTANT NOTE: The write-data command is not yet fully implemented in + +

    +
    +
    + +
    + +
    +
    +
    + +
    +

    write_data command¶

    +
    +

    Syntax¶

    +
    write_data file keyword value ...
    +
    +
    +
      +
    • file = name of data file to write out
    • +
    • zero or more keyword/value pairs may be appended
    • +
    • keyword = pair or nocoeff
    • +
    +
    +nocoeff = do not write out force field info
    +  pair value = ii or ij
    +    ii = write one line of pair coefficient info per atom type
    +    ij = write one line of pair coefficient info per IJ atom type pair
    +
    +
    +
    +

    Examples¶

    +
    write_data data.polymer
    +write_data data.*
    +
    +
    +
    +
    +

    Description¶

    +

    Write a data file in text format of the current state of the +simulation. Data files can be read by the read data +command to begin a simulation. The read_data command +also describes their format.

    +

    Similar to dump files, the data filename can contain a “*” +wild-card character. The “*” is replaced with the current timestep +value.

    +
    +

    Warning

    +

    The write-data command is not yet fully implemented in two respects. First, most pair styles do not yet write their coefficient information into the data file. This means you will need to specify that information in your input script that reads the data -file, via the pair_coeff command. Second, a few of -the atom styles (body, ellipsoid, line, tri) that -store auxiliary "bonus" information about aspherical particles, do not +file, via the pair_coeff command. Second, a few of +the atom styles (body, ellipsoid, line, tri) that +store auxiliary “bonus” information about aspherical particles, do not yet write the bonus info into the data file. Both these -functionalities will be added to the write_data command later. -

    -

    Because a data file is in text format, if you use a data file written +functionalities will be added to the write_data command later.

    +
    +

    Because a data file is in text format, if you use a data file written out by this command to restart a simulation, the initial state of the new run will be slightly different than the final state of the old run (when the file was written) which was represented internally by LAMMPS in binary format. A new simulation which reads the data file will thus typically diverge from a simulation that continued in the -original input script. -

    -

    If you want to do more exact restarts, using binary files, see the -restart, write_restart, and -read_restart commands. You can also convert +original input script.

    +

    If you want to do more exact restarts, using binary files, see the +restart, write_restart, and +read_restart commands. You can also convert binary restart files to text data files, after a simulation has run, -using the -r command-line switch. -

    -

    IMPORTANT NOTE: Only limited information about a simulation is stored +using the -r command-line switch.

    +
    +

    Warning

    +

    Only limited information about a simulation is stored in a data file. For example, no information about atom -groups and fixes are stored. Binary restart -files store more information. -

    -

    Bond interactions (angle, etc) that have been turned off by the fix -shake or delete_bonds command will +groups and fixes are stored. Binary restart files store more information.

    +
    +

    Bond interactions (angle, etc) that have been turned off by the fix shake or delete_bonds command will be written to a data file as if they are turned on. This means they will need to be turned off again in a new run after the data file is -read. -

    -

    Bonds that are broken (e.g. by a bond-breaking potential) are not +read.

    +

    Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the -data file is read. -

    -
    - -

    The nocoeff keyword requests that no force field parameters should +data file is read.

    +
    +

    The nocoeff keyword requests that no force field parameters should be written to the data file. This can be very helpful, if one wants to make significant changes to the force field or if the parameters -are read in separately anyway, e.g. from an include file. -

    -

    The pair keyword lets you specify in what format the pair +are read in separately anyway, e.g. from an include file.

    +

    The pair keyword lets you specify in what format the pair coefficient information is written into the data file. If the value -is specified as ii, then one line per atom type is written, to +is specified as ii, then one line per atom type is written, to specify the coefficients for each of the I=J interactions. This means that no cross-interactions for I != J will be specified in the data file and the pair style will apply its mixing rule, as documented on -individual pair_style doc pages. Of course this +individual pair_style doc pages. Of course this behavior can be overridden in the input script after reading the data -file, by specifying additional pair_coeff commands -for any desired I,J pairs. -

    -

    If the value is specified as ij, then one line of coefficients is -written for all I,J pairs where I <= J. These coefficients will +file, by specifying additional pair_coeff commands +for any desired I,J pairs.

    +

    If the value is specified as ij, then one line of coefficients is +written for all I,J pairs where I <= J. These coefficients will include any specific settings made in the input script up to that point. The presence of these I != J coefficients in the data file will effectively turn off the default mixing rule for the pair style. Again, the coefficient values in the data file can can be overridden in the input script after reading the data file, by specifying -additional pair_coeff commands for any desired I,J -pairs. -

    -
    - -

    Restrictions: -

    -

    This command requires inter-processor communication to migrate atoms +additional pair_coeff commands for any desired I,J +pairs.

    +
    +
    +
    +

    Restrictions¶

    +

    This command requires inter-processor communication to migrate atoms before the data file is written. This means that your system must be ready to perform a simulation before using this command (force fields -setup, atom masses initialized, etc). -

    -

    Related commands: -

    -

    read_data, write_restart -

    -

    Default: -

    -

    The option defaults are pair = ii. -

    - +setup, atom masses initialized, etc).

    +
    + +
    +

    Default¶

    +

    The option defaults are pair = ii.

    +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/write_dump.html b/doc/write_dump.html index 79dc858e56..3bf0a5e2f3 100644 --- a/doc/write_dump.html +++ b/doc/write_dump.html @@ -1,101 +1,273 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + write_dump command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    write_dump command -

    -

    Syntax: -

    -
    write_dump group-ID style file dump-args modify dump_modify-args 
    -
    -
    • group-ID = ID of the group of atoms to be dumped - -
    • style = any of the supported dump styles - -
    • file = name of file to write dump info to - -
    • dump-args = any additional args needed for a particular dump style - -
    • modify = all args after this keyword are passed to dump_modify (optional) - -
    • dump-modify-args = args for dump_modify (optional) -
    -

    Examples: -

    -
    write_dump all atom dump.atom
    +      
    +      
    +
    +
    + +
    + +
    +
    +
    + +
    +

    write_dump command¶

    +
    +

    Syntax¶

    +
    write_dump group-ID style file dump-args modify dump_modify-args
    +
    +
    +
      +
    • group-ID = ID of the group of atoms to be dumped
    • +
    • style = any of the supported dump styles
    • +
    • file = name of file to write dump info to
    • +
    • dump-args = any additional args needed for a particular dump style
    • +
    • modify = all args after this keyword are passed to dump_modify (optional)
    • +
    • dump-modify-args = args for dump_modify (optional)
    • +
    +
    +
    +

    Examples¶

    +
    write_dump all atom dump.atom
     write_dump subgroup atom dump.run.bin
     write_dump all custom dump.myforce.* id type x y vx fx
     write_dump flow custom dump.%.myforce id type c_myF[3] v_ke modify sort id
    -write_dump all xyz system.xyz modify sort id elements O H 
    +write_dump all xyz system.xyz modify sort id elements O H
     write_dump all image snap*.jpg type type size 960 960 modify backcolor white
    -write_dump all image snap*.jpg element element &
    -   bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600  &
    -   modify backcolor white element C C O H N C C C O H H S O H 
    -
    -

    Description: -

    -

    Dump a single snapshot of atom quantities to one or more files for the +write_dump all image snap*.jpg element element & + bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 & + modify backcolor white element C C O H N C C C O H H S O H +

    + + +
    +

    Description¶

    +

    Dump a single snapshot of atom quantities to one or more files for the current state of the system. This is a one-time immediate operation, -in contrast to the dump command which will will set up a +in contrast to the dump command which will will set up a dump style to write out snapshots periodically during a running -simulation. -

    -

    The syntax for this command is mostly identical to that of the -dump and dump_modify commands as if +simulation.

    +

    The syntax for this command is mostly identical to that of the +dump and dump_modify commands as if they were concatenated together, with the following exceptions: There -is no need for a dump ID or dump frequency and the keyword modify is +is no need for a dump ID or dump frequency and the keyword modify is added. The latter is so that the full range of -dump_modify options can be specified for the single -snapshot, just as they can be for multiple snapshots. The modify +dump_modify options can be specified for the single +snapshot, just as they can be for multiple snapshots. The modify keyword separates the arguments that would normally be passed to the -dump command from those that would be given the dump_modify. Both +dump command from those that would be given the dump_modify. Both support optional arguments and thus LAMMPS needs to be able to cleanly -separate the two sets of args. -

    -

    Note that if the specified filename uses wildcard characters "*" or -"%", as supported by the dump commmand, they will operate -in the same fashion to create the new filename(s). Normally, dump -image files require a filename with a "*" character +separate the two sets of args.

    +

    Note that if the specified filename uses wildcard characters “*” or +“%”, as supported by the dump commmand, they will operate +in the same fashion to create the new filename(s). Normally, dump image files require a filename with a “*” character for the timestep. That is not the case for the write_dump command; no -wildcard "*" character is necessary. -

    -
    - -

    Restrictions: -

    -

    All restrictions for the dump and -dump_modify commands apply to this command as well, -with the exception of the dump image filename not -requiring a wildcard "*" character, as noted above. -

    -

    Since dumps are normally written during a run or energy -minimization, the simulation has to be ready to run +wildcard “*” character is necessary.

    +
    +
    +
    +

    Restrictions¶

    +

    All restrictions for the dump and +dump_modify commands apply to this command as well, +with the exception of the dump image filename not +requiring a wildcard “*” character, as noted above.

    +

    Since dumps are normally written during a run or energy minimization, the simulation has to be ready to run before this command can be used. Similarly, if the dump requires information from a compute, fix, or variable, the information needs to have been calculated for the current timestep (e.g. by a prior run), -else LAMMPS will generate an error message. -

    -

    For example, it is not possible to dump per-atom energy with this +else LAMMPS will generate an error message.

    +

    For example, it is not possible to dump per-atom energy with this command before a run has been performed, since no energies and forces -have yet been calculated. See the variable doc page -sectinn on Variable Accuracy for more information on this topic. -

    -

    Related commands: -

    -

    dump, dump image, -dump_modify -

    -

    Default: -

    -

    The defaults are listed on the doc pages for the dump and -dump image and dump_modify -commands. -

    - +have yet been calculated. See the variable doc page +sectinn on Variable Accuracy for more information on this topic.

    +
    + +
    +

    Default¶

    +

    The defaults are listed on the doc pages for the dump and +dump image and dump_modify +commands.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/write_restart.html b/doc/write_restart.html index 8da34fb33c..d5b7a00b2c 100644 --- a/doc/write_restart.html +++ b/doc/write_restart.html @@ -1,82 +1,195 @@ - -
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
    + + + + + + + + + write_restart command — LAMMPS 15 May 2015 version documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + - - -
    - -

    write_restart command -

    -

    Syntax: -

    -
    write_restart file keyword value ... 
    -
    -
    • file = name of file to write restart information to - -
    • zero or more keyword/value pairs may be appended - -
    • keyword = fileper or nfile - -
        fileper arg = Np
      +      
      +      
      +
      +
      + +
      + +
      +
      +
      + +
      +

      write_restart command¶

      +
      +

      Syntax¶

      +
      write_restart file keyword value ...
      +
      +
      +
        +
      • file = name of file to write restart information to
      • +
      • zero or more keyword/value pairs may be appended
      • +
      • keyword = fileper or nfile
      • +
      +
      +fileper arg = Np
           Np = write one file for every this many processors
      -  nfile arg = Nf
      -    Nf = write this many files, one from each of Nf processors 
      -
      - -
    -

    Examples: -

    -
    write_restart restart.equil
    +  nfile arg = Nf
    +    Nf = write this many files, one from each of Nf processors
    +
    +
    +
    +

    Examples¶

    +
    write_restart restart.equil
     write_restart restart.equil.mpiio
    -write_restart poly.%.* nfile 10 
    -
    -

    Description: -

    -

    Write a binary restart file of the current state of the simulation. -

    -

    During a long simulation, the restart command is +write_restart poly.%.* nfile 10 +

    +
    +
    +
    +

    Description¶

    +

    Write a binary restart file of the current state of the simulation.

    +

    During a long simulation, the restart command is typically used to output restart files periodically. The write_restart command is useful after a minimization or whenever you -wish to write out a single current restart file. -

    -

    Similar to dump files, the restart filename can contain -two wild-card characters. If a "*" appears in the filename, it is -replaced with the current timestep value. If a "%" character appears +wish to write out a single current restart file.

    +

    Similar to dump files, the restart filename can contain +two wild-card characters. If a “*” appears in the filename, it is +replaced with the current timestep value. If a “%” character appears in the filename, then one file is written by each processor and the -"%" character is replaced with the processor ID from 0 to P-1. An -additional file with the "%" replaced by "base" is also written, which +“%” character is replaced with the processor ID from 0 to P-1. An +additional file with the “%” replaced by “base” is also written, which contains global information. For example, the files written for filename restart.% would be restart.base, restart.0, restart.1, ... restart.P-1. This creates smaller files and can be a fast mode of output and subsequent input on parallel machines that support parallel -I/O. The optional fileper and nfile keywords discussed below can -alter the number of files written. -

    -

    The restart file can also be written in parallel as one large binary +I/O. The optional fileper and nfile keywords discussed below can +alter the number of files written.

    +

    The restart file can also be written in parallel as one large binary file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g. -

    -
    make yes-mpiio    # installs the MPIIO package
    -make g++          # build LAMMPS for your platform 
    -
    -

    Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. +build LAMMPS with its MPIIO package installed, e.g.

    +
    make yes-mpiio    # installs the MPIIO package
    +make g++          # build LAMMPS for your platform
    +
    +
    +

    Second, use a restart filename which contains ”.mpiio”. Note that it +does not have to end in ”.mpiio”, just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. -

    -

    Restart files can be read by a read_restart +written and read using MPI-IO.

    +

    Restart files can be read by a read_restart command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the -r command-line -switch to convert a restart file to a data -file. -

    -

    IMPORTANT NOTE: Although the purpose of restart files is to enable +another machine. In this case, you can use the -r command-line switch to convert a restart file to a data +file.

    +
    +

    Warning

    +

    Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a simulation is stored in the file. For example, the list of fixes that were specified during the initial run is not stored, which @@ -85,46 +198,104 @@ Even when restart information is stored in the file, as it is for some fixes, commands may need to be re-specified in the new input script, in order to re-use that information. Details are usually given in the documentation of the respective command. Also, see the -read_restart command for general information -about what is stored in a restart file. -

    -
    - -

    The optional nfile or fileper keywords can be used in conjunction -with the "%" wildcard character in the specified restart file name. -As explained above, the "%" character causes the restart file to be +read_restart command for general information +about what is stored in a restart file.

    +
    +
    +

    The optional nfile or fileper keywords can be used in conjunction +with the “%” wildcard character in the specified restart file name. +As explained above, the “%” character causes the restart file to be written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The nfile or -fileper keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. -

    -

    The nfile keyword sets P to the specified Nf value. For example, if +the number of processors the simulation is running on. The nfile or +fileper keyword can be used to set P to a smaller value, which can +be more efficient when running on a large number of processors.

    +

    The nfile keyword sets P to the specified Nf value. For example, if Nf = 4, and the simulation is running on 100 processors, 4 files will be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file. -

    -

    For the fileper keyword, the specified value of Np means write one +from itself and the next 24 processors and write it to a restart file.

    +

    For the fileper keyword, the specified value of Np means write one file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file. -

    -
    - -

    Restrictions: -

    -

    This command requires inter-processor communication to migrate atoms +next 3 processors and write it to a restart file.

    +
    +
    +
    +

    Restrictions¶

    +

    This command requires inter-processor communication to migrate atoms before the restart file is written. This means that your system must be ready to perform a simulation before using this command (force -fields setup, atom masses initialized, etc). -

    -

    To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. -

    -

    Related commands: -

    -

    restart, read_restart, -write_data -

    -

    Default: none -

    - +fields setup, atom masses initialized, etc).

    +

    To write and read restart files in parallel with MPI-IO, the MPIIO +package must be installed.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 3159a0ca454d98fbcaa301c026ed0f63f637e414 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 30 Jul 2015 16:49:30 +0000 Subject: [PATCH 8/8] '' git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13806 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/_static/css/theme.css | 2 +- doc/atom_modify.html | 10 +- doc/atom_style.html | 14 +-- doc/balance.html | 34 +++---- doc/bond_style.html | 2 +- doc/boundary.html | 6 +- doc/change_box.html | 4 +- doc/comm_modify.html | 6 +- doc/compute_angle_local.html | 2 +- doc/compute_body_local.html | 2 +- doc/compute_bond_local.html | 4 +- doc/compute_chunk_atom.html | 48 ++++----- doc/compute_fep.html | 26 ++--- doc/compute_group_group.html | 4 +- doc/compute_modify.html | 10 +- doc/compute_pair_local.html | 8 +- doc/compute_property_atom.html | 102 +++++++++---------- doc/compute_property_chunk.html | 6 +- doc/compute_property_local.html | 32 +++--- doc/compute_reduce.html | 18 ++-- doc/compute_saed.html | 24 ++--- doc/compute_slice.html | 6 +- doc/compute_sna_atom.html | 16 +-- doc/compute_temp_asphere.html | 8 +- doc/compute_temp_chunk.html | 20 ++-- doc/compute_temp_profile.html | 14 +-- doc/compute_temp_sphere.html | 8 +- doc/compute_ti.html | 22 ++--- doc/compute_voronoi_atom.html | 24 ++--- doc/compute_xrd.html | 20 ++-- doc/create_atoms.html | 48 ++++----- doc/create_box.html | 16 +-- doc/delete_atoms.html | 22 ++--- doc/delete_bonds.html | 12 +-- doc/displace_atoms.html | 28 +++--- doc/dump.html | 94 +++++++++--------- doc/dump_image.html | 82 ++++++++-------- doc/dump_modify.html | 150 ++++++++++++++-------------- doc/fix_adapt.html | 28 +++--- doc/fix_adapt_fep.html | 38 ++++---- doc/fix_addforce.html | 10 +- doc/fix_append_atoms.html | 34 +++---- doc/fix_atc.html | 48 ++++----- doc/fix_atom_swap.html | 18 ++-- doc/fix_ave_atom.html | 10 +- doc/fix_ave_chunk.html | 58 +++++------ doc/fix_ave_correlate.html | 52 +++++----- doc/fix_ave_histo.html | 52 +++++----- doc/fix_ave_spatial.html | 64 ++++++------ doc/fix_ave_spatial_sphere.html | 44 ++++----- doc/fix_ave_time.html | 46 ++++----- doc/fix_aveforce.html | 2 +- doc/fix_balance.html | 10 +- doc/fix_bond_break.html | 4 +- doc/fix_bond_create.html | 28 +++--- doc/fix_colvars.html | 10 +- doc/fix_deform.html | 16 +-- doc/fix_deposit.html | 68 ++++++------- doc/fix_dt_reset.html | 4 +- doc/fix_efield.html | 6 +- doc/fix_external.html | 8 +- doc/fix_gravity.html | 18 ++-- doc/fix_heat.html | 2 +- doc/fix_imd.html | 16 +-- doc/fix_indent.html | 38 ++++---- doc/fix_langevin.html | 34 +++---- doc/fix_langevin_drude.html | 4 +- doc/fix_langevin_eff.html | 4 +- doc/fix_lb_fluid.html | 46 ++++----- doc/fix_lb_momentum.html | 2 +- doc/fix_lb_rigid_pc_sphere.html | 14 +-- doc/fix_modify.html | 4 +- doc/fix_momentum.html | 4 +- doc/fix_move.html | 22 ++--- doc/fix_msst.html | 10 +- doc/fix_nve_sphere.html | 2 +- doc/fix_orient_fcc.html | 22 ++--- doc/fix_phonon.html | 10 +- doc/fix_pimd.html | 8 +- doc/fix_poems.html | 4 +- doc/fix_pour.html | 62 ++++++------ doc/fix_print.html | 8 +- doc/fix_property_atom.html | 6 +- doc/fix_qbmsst.html | 24 ++--- doc/fix_qeq_comb.html | 2 +- doc/fix_qtb.html | 8 +- doc/fix_reaxc_species.html | 12 +-- doc/fix_recenter.html | 4 +- doc/fix_restrain.html | 22 ++--- doc/fix_rigid.html | 70 ++++++------- doc/fix_setforce.html | 2 +- doc/fix_shake.html | 8 +- doc/fix_smd.html | 20 ++-- doc/fix_spring.html | 16 +-- doc/fix_srd.html | 44 ++++----- doc/fix_store_state.html | 58 +++++------ doc/fix_tfmc.html | 4 +- doc/fix_ti_rs.html | 2 +- doc/fix_ti_spring.html | 2 +- doc/fix_ttm.html | 34 +++---- doc/fix_vector.html | 8 +- doc/fix_viscosity.html | 2 +- doc/fix_wall.html | 34 +++---- doc/fix_wall_gran.html | 18 ++-- doc/fix_wall_piston.html | 24 ++--- doc/fix_wall_reflect.html | 18 ++-- doc/fix_wall_srd.html | 18 ++-- doc/group.html | 52 +++++----- doc/kspace_style.html | 74 +++++++------- doc/lattice.html | 22 ++--- doc/molecule.html | 10 +- doc/neb.html | 12 +-- doc/package.html | 168 ++++++++++++++++---------------- doc/pair_awpmd.html | 24 ++--- doc/pair_born.html | 22 ++--- doc/pair_buck.html | 20 ++-- doc/pair_buck_long.html | 4 +- doc/pair_charmm.html | 22 ++--- doc/pair_class2.html | 14 +-- doc/pair_cs.html | 10 +- doc/pair_dipole.html | 6 +- doc/pair_gromacs.html | 8 +- doc/pair_list.html | 8 +- doc/pair_lj.html | 60 ++++++------ doc/pair_lj_long.html | 42 ++++---- doc/pair_lj_soft.html | 66 ++++++------- doc/pair_meam.html | 12 +-- doc/pair_modify.html | 34 +++---- doc/pair_nm.html | 14 +-- doc/pair_sdk.html | 8 +- doc/pair_snap.html | 16 +-- doc/prd.html | 24 ++--- doc/print.html | 4 +- doc/processors.html | 40 ++++---- doc/python.html | 30 +++--- doc/read_data.html | 118 +++++++++++----------- doc/read_dump.html | 30 +++--- doc/region.html | 84 ++++++++-------- doc/restart.html | 6 +- doc/run.html | 20 ++-- doc/run_style.html | 70 ++++++------- doc/set.html | 122 +++++++++++------------ doc/shell.html | 26 ++--- doc/special_bonds.html | 26 ++--- doc/tad.html | 28 +++--- doc/thermo_style.html | 128 ++++++++++++------------ doc/variable.html | 108 ++++++++++---------- doc/velocity.html | 48 ++++----- doc/write_data.html | 6 +- doc/write_restart.html | 6 +- 150 files changed, 2029 insertions(+), 2029 deletions(-) diff --git a/doc/_static/css/theme.css b/doc/_static/css/theme.css index 909adec4ea..691982f99e 100644 --- a/doc/_static/css/theme.css +++ b/doc/_static/css/theme.css @@ -3743,7 +3743,7 @@ hr { display: block; height: 1px; border: 0; - border-top: 1px solid #e1e4e5; + border-top: 2px solid #e1e4e5; margin: 24px 0; padding: 0; } diff --git a/doc/atom_modify.html b/doc/atom_modify.html index 3feff05e51..38d7bec37d 100644 --- a/doc/atom_modify.html +++ b/doc/atom_modify.html @@ -137,11 +137,11 @@
     id value = yes or no
    -   map value = array or hash
    -   first value = group-ID = group whose atoms will appear first in internal atom lists
    -   sort values = Nfreq binsize
    -     Nfreq = sort atoms spatially every this many time steps
    -     binsize = bin size for spatial sorting (distance units)
    +map value = array or hash
    +first value = group-ID = group whose atoms will appear first in internal atom lists
    +sort values = Nfreq binsize
    +  Nfreq = sort atoms spatially every this many time steps
    +  binsize = bin size for spatial sorting (distance units)
     
    diff --git a/doc/atom_style.html b/doc/atom_style.html index a335d9a186..44c663f6b0 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -136,13 +136,13 @@
     args = none for any style except body and hybrid
    -  body args = bstyle bstyle-args
    -    bstyle = style of body particles
    -    bstyle-args = additional arguments specific to the bstyle
    -                  see the body doc page for details
    -  template args = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -  hybrid args = list of one or more sub-styles, each with their args
    +body args = bstyle bstyle-args
    +  bstyle = style of body particles
    +  bstyle-args = additional arguments specific to the bstyle
    +                see the body doc page for details
    +template args = template-ID
    +  template-ID = ID of molecule template specified in a separate molecule command
    +hybrid args = list of one or more sub-styles, each with their args
     
    • accelerated styles (with same args) = angle/cuda or angle/kk or atomic/cuda or atomic/kk or bond/kk or charge/cuda or charge/kk or full/cuda or full/kk or molecular/kk
    • diff --git a/doc/balance.html b/doc/balance.html index 7899e7a6ab..7fcca6c696 100644 --- a/doc/balance.html +++ b/doc/balance.html @@ -138,22 +138,22 @@
     x args = uniform or Px-1 numbers between 0 and 1
    -    uniform = evenly spaced cuts between processors in x dimension
    -    numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension
    -    x can be specified together with y or z
    -  y args = uniform or Py-1 numbers between 0 and 1
    -    uniform = evenly spaced cuts between processors in y dimension
    -    numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension
    -    y can be specified together with x or z
    -  z args = uniform or Pz-1 numbers between 0 and 1
    -    uniform = evenly spaced cuts between processors in z dimension
    -    numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension
    -    z can be specified together with x or y
    -  shift args = dimstr Niter stopthresh
    -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
    -    Niter = # of times to iterate within each dimension of dimstr sequence
    -    stopthresh = stop balancing when this imbalance threshhold is reached
    -  rcb args = none
    +  uniform = evenly spaced cuts between processors in x dimension
    +  numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension
    +  x can be specified together with y or z
    +y args = uniform or Py-1 numbers between 0 and 1
    +  uniform = evenly spaced cuts between processors in y dimension
    +  numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension
    +  y can be specified together with x or z
    +z args = uniform or Pz-1 numbers between 0 and 1
    +  uniform = evenly spaced cuts between processors in z dimension
    +  numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension
    +  z can be specified together with x or y
    +shift args = dimstr Niter stopthresh
    +  dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
    +  Niter = # of times to iterate within each dimension of dimstr sequence
    +  stopthresh = stop balancing when this imbalance threshhold is reached
    +rcb args = none
     
    • zero or more keyword/value pairs may be appended
    • @@ -161,7 +161,7 @@
     out value = filename
    -    filename = write each processor's sub-domain to a file
    +  filename = write each processor's sub-domain to a file
     
    diff --git a/doc/bond_style.html b/doc/bond_style.html index 7848972ea5..c1c44743a1 100644 --- a/doc/bond_style.html +++ b/doc/bond_style.html @@ -136,7 +136,7 @@
     args = none for any style except hybrid
    -  hybrid args = list of one or more styles
    +hybrid args = list of one or more styles
     
    diff --git a/doc/boundary.html b/doc/boundary.html index ddb828d6d1..e88643e33a 100644 --- a/doc/boundary.html +++ b/doc/boundary.html @@ -136,9 +136,9 @@
     p is periodic
    -  f is non-periodic and fixed
    -  s is non-periodic and shrink-wrapped
    -  m is non-periodic and shrink-wrapped with a minimum value
    +f is non-periodic and fixed
    +s is non-periodic and shrink-wrapped
    +m is non-periodic and shrink-wrapped with a minimum value
     
    diff --git a/doc/change_box.html b/doc/change_box.html index 965a0e2b13..035cb51631 100644 --- a/doc/change_box.html +++ b/doc/change_box.html @@ -169,8 +169,8 @@ parameter = x or y or z or xy or xz
     units value = lattice or box
    -    lattice = distances are defined in lattice units
    -    box = distances are defined in simulation box units
    +  lattice = distances are defined in lattice units
    +  box = distances are defined in simulation box units
     
    diff --git a/doc/comm_modify.html b/doc/comm_modify.html index afece0170d..0e6556cb96 100644 --- a/doc/comm_modify.html +++ b/doc/comm_modify.html @@ -137,9 +137,9 @@
     mode value = single or multi = communicate atoms within a single or multiple distances
    -  cutoff value = Rcut (distance units) = communicate atoms from this far away
    -  group value = group-ID = only communicate atoms in the group
    -  vel value = yes or no = do or do not communicate velocity info with ghost atoms
    +cutoff value = Rcut (distance units) = communicate atoms from this far away
    +group value = group-ID = only communicate atoms in the group
    +vel value = yes or no = do or do not communicate velocity info with ghost atoms
     
    diff --git a/doc/compute_angle_local.html b/doc/compute_angle_local.html index 528a8cc3a4..3cb3b54153 100644 --- a/doc/compute_angle_local.html +++ b/doc/compute_angle_local.html @@ -139,7 +139,7 @@
     theta = tabulate angles
    -  eng = tabulate angle energies
    +eng = tabulate angle energies
     
    diff --git a/doc/compute_body_local.html b/doc/compute_body_local.html index 7d49a8ae38..45627009ef 100644 --- a/doc/compute_body_local.html +++ b/doc/compute_body_local.html @@ -139,7 +139,7 @@
     type = atom type of the body particle
    -  integer = 1,2,3,etc = index of fields defined by body style
    +integer = 1,2,3,etc = index of fields defined by body style
     
    diff --git a/doc/compute_bond_local.html b/doc/compute_bond_local.html index 16fc047c5f..e68b6c855e 100644 --- a/doc/compute_bond_local.html +++ b/doc/compute_bond_local.html @@ -139,8 +139,8 @@
     dist = bond distance
    -  eng = bond energy
    -  force = bond force
    +eng = bond energy
    +force = bond force
     
    diff --git a/doc/compute_chunk_atom.html b/doc/compute_chunk_atom.html index 70a6675a0d..9436064703 100644 --- a/doc/compute_chunk_atom.html +++ b/doc/compute_chunk_atom.html @@ -164,30 +164,30 @@ style = bin/1d or bin/2d or bin/3d or type o
     region value = region-ID
    -    region-ID = ID of region atoms must be in to be part of a chunk
    -  nchunk value = once or every
    -    once = only compute the number of chunks once
    -    every = re-compute the number of chunks whenever invoked
    -  limit values = 0 or Nc max or Nc exact
    -    0 = no limit on the number of chunks
    -    Nc max = limit number of chunks to be <= Nc
    -    Nc exact = set number of chunks to exactly Nc
    -  ids value = once or nfreq or every
    -    once = assign chunk IDs to atoms only once, they persist thereafter
    -    nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
    -    every = assign chunk IDs to atoms whenever invoked
    -  compress value = yes or no
    -    yes = compress chunk IDs to eliminate IDs with no atoms
    -    no = do not compress chunk IDs even if some IDs have no atoms
    -  discard value = yes or no or mixed
    -    yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0
    -    no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID
    -    mixed = keep or discard such atoms according to spatial binning rule
    -  bound values = x/y/z lo hi
    -    x/y/z = x or y or z to bound sptial bins in this dimension
    -    lo = lower or coordinate value (distance units)
    -    hi = upper or coordinate value (distance units)
    -  units value = box or lattice or reduced
    +  region-ID = ID of region atoms must be in to be part of a chunk
    +nchunk value = once or every
    +  once = only compute the number of chunks once
    +  every = re-compute the number of chunks whenever invoked
    +limit values = 0 or Nc max or Nc exact
    +  0 = no limit on the number of chunks
    +  Nc max = limit number of chunks to be <= Nc
    +  Nc exact = set number of chunks to exactly Nc
    +ids value = once or nfreq or every
    +  once = assign chunk IDs to atoms only once, they persist thereafter
    +  nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by fix ave/chunk which sets Nfreq)
    +  every = assign chunk IDs to atoms whenever invoked
    +compress value = yes or no
    +  yes = compress chunk IDs to eliminate IDs with no atoms
    +  no = do not compress chunk IDs even if some IDs have no atoms
    +discard value = yes or no or mixed
    +  yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0
    +  no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID
    +  mixed = keep or discard such atoms according to spatial binning rule
    +bound values = x/y/z lo hi
    +  x/y/z = x or y or z to bound sptial bins in this dimension
    +  lo = lower or coordinate value (distance units)
    +  hi = upper or coordinate value (distance units)
    +units value = box or lattice or reduced
     
    diff --git a/doc/compute_fep.html b/doc/compute_fep.html index baa065c878..04b631a922 100644 --- a/doc/compute_fep.html +++ b/doc/compute_fep.html @@ -140,14 +140,14 @@
     pair args = pstyle pparam I J v_delta
    -    pstyle = pair style name, e.g. lj/cut
    -    pparam = parameter to perturb
    -    I,J = type pair(s) to set parameter for
    -    v_delta = variable with perturbation to apply (in the units of the parameter)
    -  atom args = aparam I v_delta
    -    aparam = parameter to perturb
    -    I = type to set parameter for
    -    v_delta = variable with perturbation to apply (in the units of the parameter)
    +  pstyle = pair style name, e.g. lj/cut
    +  pparam = parameter to perturb
    +  I,J = type pair(s) to set parameter for
    +  v_delta = variable with perturbation to apply (in the units of the parameter)
    +atom args = aparam I v_delta
    +  aparam = parameter to perturb
    +  I = type to set parameter for
    +  v_delta = variable with perturbation to apply (in the units of the parameter)
     
    • zero or more keyword/value pairs may be appended
    • @@ -155,11 +155,11 @@
     tail value = no or yes
    -    no = ignore tail correction to pair energies (usually small in fep)
    -    yes = include tail correction to pair energies
    -  volume value = no or yes
    -    no = ignore volume changes (e.g. in NVE or NVT trajectories)
    -    yes = include volume changes (e.g. in NpT trajectories)
    +  no = ignore tail correction to pair energies (usually small in fep)
    +  yes = include tail correction to pair energies
    +volume value = no or yes
    +  no = ignore volume changes (e.g. in NVE or NVT trajectories)
    +  yes = include volume changes (e.g. in NpT trajectories)
     
    diff --git a/doc/compute_group_group.html b/doc/compute_group_group.html index 8fb773e85d..12f39d64ca 100644 --- a/doc/compute_group_group.html +++ b/doc/compute_group_group.html @@ -140,8 +140,8 @@
     pair value = yes or no
    -  kspace value = yes or no
    -  boundary value = yes or no
    +kspace value = yes or no
    +boundary value = yes or no
     
    diff --git a/doc/compute_modify.html b/doc/compute_modify.html index bae366645a..356a02d1ff 100644 --- a/doc/compute_modify.html +++ b/doc/compute_modify.html @@ -138,11 +138,11 @@
     extra value = N
    -    N = # of extra degrees of freedom to subtract
    -  dynamic value = yes or no
    -    yes/no = do or do not recompute the number of atoms contributing to the temperature
    -  thermo value = yes or no
    -    yes/no = do or do not add contributions from fixes to the potential energy
    +  N = # of extra degrees of freedom to subtract
    +dynamic value = yes or no
    +  yes/no = do or do not recompute the number of atoms contributing to the temperature
    +thermo value = yes or no
    +  yes/no = do or do not add contributions from fixes to the potential energy
     
    diff --git a/doc/compute_pair_local.html b/doc/compute_pair_local.html index 5dfc14d934..575e145701 100644 --- a/doc/compute_pair_local.html +++ b/doc/compute_pair_local.html @@ -139,10 +139,10 @@
     dist = pairwise distance
    -  eng = pairwise energy
    -  force = pairwise force
    -  fx,*fy*,*fz* = components of pairwise force
    -  pN = pair style specific quantities for allowed N values
    +eng = pairwise energy
    +force = pairwise force
    +fx,*fy*,*fz* = components of pairwise force
    +pN = pair style specific quantities for allowed N values
     
    diff --git a/doc/compute_property_atom.html b/doc/compute_property_atom.html index d89557b127..bbbd2b2a8d 100644 --- a/doc/compute_property_atom.html +++ b/doc/compute_property_atom.html @@ -137,73 +137,73 @@
  • input = one or more atom attributes
  • possible attributes = id, mol, proc, type, mass,
    -                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    -                     vx, vy, vz, fx, fy, fz,
    -                        q, mux, muy, muz, mu,
    -                        radius, diameter, omegax, omegay, omegaz,
    -                     angmomx, angmomy, angmomz,
    -                     shapex,shapey, shapez,
    -                     quatw, quati, quatj, quatk, tqx, tqy, tqz,
    -                     end1x, end1y, end1z, end2x, end2y, end2z,
    -                     corner1x, corner1y, corner1z,
    -                     corner2x, corner2y, corner2z,
    -                     corner3x, corner3y, corner3z,
    -                     nbonds,
    -                        vfrac, s0,
    -                     spin, eradius, ervel, erforce,
    -                        rho, drho, e, de, cv,
    -                        i_name, d_name
    +                   x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    +                   vx, vy, vz, fx, fy, fz,
    +                      q, mux, muy, muz, mu,
    +                      radius, diameter, omegax, omegay, omegaz,
    +                   angmomx, angmomy, angmomz,
    +                   shapex,shapey, shapez,
    +                   quatw, quati, quatj, quatk, tqx, tqy, tqz,
    +                   end1x, end1y, end1z, end2x, end2y, end2z,
    +                   corner1x, corner1y, corner1z,
    +                   corner2x, corner2y, corner2z,
    +                   corner3x, corner3y, corner3z,
    +                   nbonds,
    +                      vfrac, s0,
    +                   spin, eradius, ervel, erforce,
    +                      rho, drho, e, de, cv,
    +                      i_name, d_name
     
    id = atom ID
    -      mol = molecule ID
    -      proc = ID of processor that owns atom
    -      type = atom type
    -      mass = atom mass
    -      x,y,z = unscaled atom coordinates
    -      xs,ys,zs = scaled atom coordinates
    -      xu,yu,zu = unwrapped atom coordinates
    -      ix,iy,iz = box image that the atom is in
    -      vx,vy,vz = atom velocities
    -      fx,fy,fz = forces on atoms
    -      q = atom charge
    -      mux,muy,muz = orientation of dipole moment of atom
    -      mu = magnitude of dipole moment of atom
    -      radius,diameter = radius,diameter of spherical particle
    -      omegax,omegay,omegaz = angular velocity of spherical particle
    -      angmomx,angmomy,angmomz = angular momentum of aspherical particle
    -      shapex,shapey,shapez = 3 diameters of aspherical particle
    -      quatw,quati,quatj,quatk = quaternion components for aspherical or body particles
    -      tqx,tqy,tqz = torque on finite-size particles
    -      end12x, end12y, end12z = end points of line segment
    -      corner123x, corner123y, corner123z = corner points of triangle
    -      nbonds = number of bonds assigned to an atom
    +mol = molecule ID
    +proc = ID of processor that owns atom
    +type = atom type
    +mass = atom mass
    +x,y,z = unscaled atom coordinates
    +xs,ys,zs = scaled atom coordinates
    +xu,yu,zu = unwrapped atom coordinates
    +ix,iy,iz = box image that the atom is in
    +vx,vy,vz = atom velocities
    +fx,fy,fz = forces on atoms
    +q = atom charge
    +mux,muy,muz = orientation of dipole moment of atom
    +mu = magnitude of dipole moment of atom
    +radius,diameter = radius,diameter of spherical particle
    +omegax,omegay,omegaz = angular velocity of spherical particle
    +angmomx,angmomy,angmomz = angular momentum of aspherical particle
    +shapex,shapey,shapez = 3 diameters of aspherical particle
    +quatw,quati,quatj,quatk = quaternion components for aspherical or body particles
    +tqx,tqy,tqz = torque on finite-size particles
    +end12x, end12y, end12z = end points of line segment
    +corner123x, corner123y, corner123z = corner points of triangle
    +nbonds = number of bonds assigned to an atom
     
    PERI package per-atom properties:
    -      vfrac = ???
    -      s0 = ???
    +vfrac = ???
    +s0 = ???
     
    USER-EFF and USER-AWPMD package per-atom properties:
    -      spin = electron spin
    -      eradius = electron radius
    -      ervel = electron radial velocity
    -      erforce = electron radial force
    +spin = electron spin
    +eradius = electron radius
    +ervel = electron radial velocity
    +erforce = electron radial force
     
    USER-SPH package per-atom properties:
    -      rho = ???
    -      drho = ???
    -      e = ???
    -      de = ???
    -      cv = ???
    +rho = ???
    +drho = ???
    +e = ???
    +de = ???
    +cv = ???
     
     fix property/atom per-atom properties:
    -      i_name = custom integer vector with name
    -      d_name = custom integer vector with name
    +i_name = custom integer vector with name
    +d_name = custom integer vector with name
     
    diff --git a/doc/compute_property_chunk.html b/doc/compute_property_chunk.html index b1ed2e54f8..e64677384a 100644 --- a/doc/compute_property_chunk.html +++ b/doc/compute_property_chunk.html @@ -138,9 +138,9 @@
     attributes = count, id, coord1, coord2, coord3
    -    count = # of atoms in chunk
    -    id = original chunk IDs before compression by compute chunk/atom
    -    coord123 = coordinates for spatial bins calculated by compute chunk/atom
    +  count = # of atoms in chunk
    +  id = original chunk IDs before compression by compute chunk/atom
    +  coord123 = coordinates for spatial bins calculated by compute chunk/atom
     
    diff --git a/doc/compute_property_local.html b/doc/compute_property_local.html index 6880ac42ce..36d7d062c3 100644 --- a/doc/compute_property_local.html +++ b/doc/compute_property_local.html @@ -137,25 +137,25 @@
  • input = one or more attributes
  • possible attributes = natom1 natom2 ntype1 ntype2
    -                     patom1 patom2 ptype1 ptype2
    -                        batom1 batom2 btype
    -                        aatom1 aatom2 aatom3 atype
    -                        datom1 datom2 datom3 dtype
    -                        iatom1 iatom2 iatom3 itype
    +                   patom1 patom2 ptype1 ptype2
    +                      batom1 batom2 btype
    +                      aatom1 aatom2 aatom3 atype
    +                      datom1 datom2 datom3 dtype
    +                      iatom1 iatom2 iatom3 itype
     
    natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
    -     ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
    -     patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff)
    -     ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff)
    -     batom1, batom2 = IDs of 2 atoms in each bond
    -     btype = bond type of each bond
    -     aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle
    -     atype = angle type of each angle
    -     datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral
    -     dtype = dihedral type of each dihedral
    -     iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper
    -     itype = improper type of each improper
    +ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
    +patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff)
    +ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff)
    +batom1, batom2 = IDs of 2 atoms in each bond
    +btype = bond type of each bond
    +aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle
    +atype = angle type of each angle
    +datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral
    +dtype = dihedral type of each dihedral
    +iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper
    +itype = improper type of each improper
     
    diff --git a/doc/compute_reduce.html b/doc/compute_reduce.html index abe0a590e3..88ad4ce15d 100644 --- a/doc/compute_reduce.html +++ b/doc/compute_reduce.html @@ -140,8 +140,8 @@
     reduce arg = none
    -  reduce/region arg = region-ID
    -    region-ID = ID of region to use for choosing atoms
    +reduce/region arg = region-ID
    +  region-ID = ID of region to use for choosing atoms
     
    • mode = sum or min or max or ave or sumsq or avesq
    • @@ -149,11 +149,11 @@
    • input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
    x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    -  c_ID = per-atom or local vector calculated by a compute with ID
    -  c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID
    -  f_ID = per-atom or local vector calculated by a fix with ID
    -  f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID
    -  v_name = per-atom vector calculated by an atom-style variable with name
    +c_ID = per-atom or local vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID
    +f_ID = per-atom or local vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom or local array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
     
      @@ -162,8 +162,8 @@
     replace args = vec1 vec2
    -    vec1 = reduced value from this input vector will be replaced
    -    vec2 = replace it with vec1[N] where N is index of max/min value from vec2
    +  vec1 = reduced value from this input vector will be replaced
    +  vec2 = replace it with vec1[N] where N is index of max/min value from vec2
     
    diff --git a/doc/compute_saed.html b/doc/compute_saed.html index 537047bd2a..82ac23e106 100644 --- a/doc/compute_saed.html +++ b/doc/compute_saed.html @@ -141,18 +141,18 @@
     Kmax value = Maximum distance explored from reciprocal space origin
    -                 (inverse length units)
    -  Zone values = z1 z2 z3
    -    z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
    -               reciprocal space will be meshed up to Kmax
    -  dR_Ewald value = Thickness of Ewald sphere slice intercepting
    -                     reciprocal space (inverse length units)
    -  c values = c1 c2 c3
    -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
    -               lattice nodes in the h, k, and l directions respectively
    -  manual = flag to use manual spacing of reciprocal lattice points
    -             based on the values of the c parameters
    -  echo = flag to provide extra output for debugging purposes
    +               (inverse length units)
    +Zone values = z1 z2 z3
    +  z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
    +             reciprocal space will be meshed up to Kmax
    +dR_Ewald value = Thickness of Ewald sphere slice intercepting
    +                   reciprocal space (inverse length units)
    +c values = c1 c2 c3
    +  c1,c2,c3 = parameters to adjust the spacing of the reciprocal
    +             lattice nodes in the h, k, and l directions respectively
    +manual = flag to use manual spacing of reciprocal lattice points
    +           based on the values of the c parameters
    +echo = flag to provide extra output for debugging purposes
     
    diff --git a/doc/compute_slice.html b/doc/compute_slice.html index 47f8fe5717..e95ecc10cd 100644 --- a/doc/compute_slice.html +++ b/doc/compute_slice.html @@ -140,9 +140,9 @@
  • input = c_ID, c_ID[N], f_ID, f_ID[N]
  • c_ID = global vector calculated by a compute with ID
    -  c_ID[I] = Ith column of global array calculated by a compute with ID
    -  f_ID = global vector calculated by a fix with ID
    -  f_ID[I] = Ith column of global array calculated by a fix with ID
    +c_ID[I] = Ith column of global array calculated by a compute with ID
    +f_ID = global vector calculated by a fix with ID
    +f_ID[I] = Ith column of global array calculated by a fix with ID
     
    diff --git a/doc/compute_sna_atom.html b/doc/compute_sna_atom.html index ca1f38bb45..840a929347 100644 --- a/doc/compute_sna_atom.html +++ b/doc/compute_sna_atom.html @@ -152,14 +152,14 @@ compute ID group-ID snav/atom ntypes rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 .
     diagonal value = 0 or 1 or 2 or 3
    -     0 = all j1, j2, j <= twojmax, j2 <= j1
    -     1 = subset satisfying j1 == j2
    -     2 = subset satisfying j1 == j2 == j3
    -     3 = subset satisfying j2 <= j1 <= j
    -  rmin0 value = parameter in distance to angle conversion (distance units)
    -  switchflag value = 0 or 1
    -     0 = do not use switching function
    -     1 = use switching function
    +   0 = all j1, j2, j <= twojmax, j2 <= j1
    +   1 = subset satisfying j1 == j2
    +   2 = subset satisfying j1 == j2 == j3
    +   3 = subset satisfying j2 <= j1 <= j
    +rmin0 value = parameter in distance to angle conversion (distance units)
    +switchflag value = 0 or 1
    +   0 = do not use switching function
    +   1 = use switching function
     
    diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html index 46080aa81b..47e12a4149 100644 --- a/doc/compute_temp_asphere.html +++ b/doc/compute_temp_asphere.html @@ -139,10 +139,10 @@
     bias value = bias-ID
    -    bias-ID = ID of a temperature compute that removes a velocity bias
    -  dof value = all or rotate
    -    all = compute temperature of translational and rotational degrees of freedom
    -    rotate = compute temperature of just rotational degrees of freedom
    +  bias-ID = ID of a temperature compute that removes a velocity bias
    +dof value = all or rotate
    +  all = compute temperature of translational and rotational degrees of freedom
    +  rotate = compute temperature of just rotational degrees of freedom
     
    diff --git a/doc/compute_temp_chunk.html b/doc/compute_temp_chunk.html index 69baa0f1c7..e6705e267f 100644 --- a/doc/compute_temp_chunk.html +++ b/doc/compute_temp_chunk.html @@ -139,8 +139,8 @@
  • value = temp or kecom or internal
  • temp = temperature of each chunk
    -  kecom = kinetic energy of each chunk based on velocity of center of mass
    -  internal = internal kinetic energy of each chunk
    +kecom = kinetic energy of each chunk based on velocity of center of mass
    +internal = internal kinetic energy of each chunk
     
      @@ -149,14 +149,14 @@
     com value = yes or no
    -    yes = subtract center-of-mass velocity from each chunk before calculating temperature
    -    no = do not subtract center-of-mass velocity
    -  bias value = bias-ID
    -    bias-ID = ID of a temperature compute that removes a velocity bias
    -  adof value = dof_per_atom
    -    dof_per_atom = define this many degrees-of-freedom per atom
    -  cdof value = dof_per_chunk
    -    dof_per_chunk = define this many degrees-of-freedom per chunk
    +  yes = subtract center-of-mass velocity from each chunk before calculating temperature
    +  no = do not subtract center-of-mass velocity
    +bias value = bias-ID
    +  bias-ID = ID of a temperature compute that removes a velocity bias
    +adof value = dof_per_atom
    +  dof_per_atom = define this many degrees-of-freedom per atom
    +cdof value = dof_per_chunk
    +  dof_per_chunk = define this many degrees-of-freedom per chunk
     
    diff --git a/doc/compute_temp_profile.html b/doc/compute_temp_profile.html index e8ad060ae4..863bc1641c 100644 --- a/doc/compute_temp_profile.html +++ b/doc/compute_temp_profile.html @@ -139,13 +139,13 @@
     x arg = Nx
    -  y arg = Ny
    -  z arg = Nz
    -  xy args = Nx Ny
    -  yz args = Ny Nz
    -  xz args = Nx Nz
    -  xyz args = Nx Ny Nz
    -    Nx,Ny,Nz = number of velocity bins in x,y,z dimensions
    +y arg = Ny
    +z arg = Nz
    +xy args = Nx Ny
    +yz args = Ny Nz
    +xz args = Nx Nz
    +xyz args = Nx Ny Nz
    +  Nx,Ny,Nz = number of velocity bins in x,y,z dimensions
     
    • zero or more keyword/value pairs may be appended
    • diff --git a/doc/compute_temp_sphere.html b/doc/compute_temp_sphere.html index c08fa3f9a8..9ab8592083 100644 --- a/doc/compute_temp_sphere.html +++ b/doc/compute_temp_sphere.html @@ -139,10 +139,10 @@
     bias value = bias-ID
    -    bias-ID = ID of a temperature compute that removes a velocity bias
    -  dof value = all or rotate
    -    all = compute temperature of translational and rotational degrees of freedom
    -    rotate = compute temperature of just rotational degrees of freedom
    +  bias-ID = ID of a temperature compute that removes a velocity bias
    +dof value = all or rotate
    +  all = compute temperature of translational and rotational degrees of freedom
    +  rotate = compute temperature of just rotational degrees of freedom
     
    diff --git a/doc/compute_ti.html b/doc/compute_ti.html index 7cf0799669..d5dd5c072c 100644 --- a/doc/compute_ti.html +++ b/doc/compute_ti.html @@ -139,17 +139,17 @@
     pair style args = atype v_name1 v_name2
    -    atype = atom type (see asterisk form below)
    -    v_name1 = variable with name1 that is energy scale factor and function of lambda
    -    v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
    -  tail args = atype v_name1 v_name2
    -    atype = atom type (see asterisk form below)
    -    v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda
    -    v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
    -  kspace args = atype v_name1 v_name2
    -    atype = atom type (see asterisk form below)
    -    v_name1 = variable with name1 that is K-Space scale factor and function of lambda
    -    v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
    +  atype = atom type (see asterisk form below)
    +  v_name1 = variable with name1 that is energy scale factor and function of lambda
    +  v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
    +tail args = atype v_name1 v_name2
    +  atype = atom type (see asterisk form below)
    +  v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda
    +  v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
    +kspace args = atype v_name1 v_name2
    +  atype = atom type (see asterisk form below)
    +  v_name1 = variable with name1 that is K-Space scale factor and function of lambda
    +  v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda
     
    diff --git a/doc/compute_voronoi_atom.html b/doc/compute_voronoi_atom.html index 5e8d8e2b5a..174502a1f4 100644 --- a/doc/compute_voronoi_atom.html +++ b/doc/compute_voronoi_atom.html @@ -139,18 +139,18 @@
     only_group = no arg
    -  occupation = no arg
    -  surface arg = sgroup-ID
    -    sgroup-ID = compute the dividing surface between group-ID and sgroup-ID
    -      this keyword adds a third column to the compute output
    -  radius arg = v_r
    -    v_r = radius atom style variable for a poly-disperse Voronoi tessellation
    -  edge_histo arg = maxedge
    -    maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
    -  edge_threshold arg = minlength
    -    minlength = minimum length for an edge to be counted
    -  face_threshold arg = minarea
    -    minarea = minimum area for a face to be counted
    +occupation = no arg
    +surface arg = sgroup-ID
    +  sgroup-ID = compute the dividing surface between group-ID and sgroup-ID
    +    this keyword adds a third column to the compute output
    +radius arg = v_r
    +  v_r = radius atom style variable for a poly-disperse Voronoi tessellation
    +edge_histo arg = maxedge
    +  maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
    +edge_threshold arg = minlength
    +  minlength = minimum length for an edge to be counted
    +face_threshold arg = minarea
    +  minarea = minimum area for a face to be counted
     
    diff --git a/doc/compute_xrd.html b/doc/compute_xrd.html index 52179cf86d..e12b3c68fa 100644 --- a/doc/compute_xrd.html +++ b/doc/compute_xrd.html @@ -141,16 +141,16 @@
     2Theta values = Min2Theta Max2Theta
    -    Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
    -    (radians or degrees)
    -  c values = c1 c2 c3
    -    c1,c2,c3 = parameters to adjust the spacing of the reciprocal
    -               lattice nodes in the h, k, and l directions respectively
    -  LP value = switch to apply Lorentz-polarization factor
    -    0/1 = off/on
    -  manual = flag to use manual spacing of reciprocal lattice points
    -             based on the values of the c parameters
    -  echo = flag to provide extra output for debugging purposes
    +  Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
    +  (radians or degrees)
    +c values = c1 c2 c3
    +  c1,c2,c3 = parameters to adjust the spacing of the reciprocal
    +             lattice nodes in the h, k, and l directions respectively
    +LP value = switch to apply Lorentz-polarization factor
    +  0/1 = off/on
    +manual = flag to use manual spacing of reciprocal lattice points
    +           based on the values of the c parameters
    +echo = flag to provide extra output for debugging purposes
     
    diff --git a/doc/create_atoms.html b/doc/create_atoms.html index caa4249ce3..6678e40d60 100644 --- a/doc/create_atoms.html +++ b/doc/create_atoms.html @@ -137,14 +137,14 @@
     box args = none
    -  region args = region-ID
    -    region-ID = particles will only be created if contained in the region
    -  single args = x y z
    -    x,y,z = coordinates of a single particle (distance units)
    -  random args = N seed region-ID
    -    N = number of particles to create
    -    seed = random # seed (positive integer)
    -    region-ID = create atoms within this region, use NULL for entire simulation box
    +region args = region-ID
    +  region-ID = particles will only be created if contained in the region
    +single args = x y z
    +  x,y,z = coordinates of a single particle (distance units)
    +random args = N seed region-ID
    +  N = number of particles to create
    +  seed = random # seed (positive integer)
    +  region-ID = create atoms within this region, use NULL for entire simulation box
     
    • zero or more keyword/value pairs may be appended
    • @@ -152,22 +152,22 @@
     mol value = template-ID seed
    -    template-ID = ID of molecule template specified in a separate molecule command
    -    seed = random # seed (positive integer)
    -  basis values = M itype
    -    M = which basis atom
    -    itype = atom type (1-N) to assign to this basis atom
    -  remap value = yes or no
    -  var value = name = variable name to evaluate for test of atom creation
    -  set values = dim vname
    -    dim = x or y or z
    -    name = name of variable to set with x,y,z atom position
    -  rotate values = Rx Ry Rz theta
    -    Rx,Ry,Rz = rotation vector for single molecule
    -    theta = rotation angle for single molecule (degrees)
    -  units value = lattice or box
    -    lattice = the geometry is defined in lattice units
    -    box = the geometry is defined in simulation box units
    +  template-ID = ID of molecule template specified in a separate molecule command
    +  seed = random # seed (positive integer)
    +basis values = M itype
    +  M = which basis atom
    +  itype = atom type (1-N) to assign to this basis atom
    +remap value = yes or no
    +var value = name = variable name to evaluate for test of atom creation
    +set values = dim vname
    +  dim = x or y or z
    +  name = name of variable to set with x,y,z atom position
    +rotate values = Rx Ry Rz theta
    +  Rx,Ry,Rz = rotation vector for single molecule
    +  theta = rotation angle for single molecule (degrees)
    +units value = lattice or box
    +  lattice = the geometry is defined in lattice units
    +  box = the geometry is defined in simulation box units
     
    diff --git a/doc/create_box.html b/doc/create_box.html index 21958fb993..4cc3efffed 100644 --- a/doc/create_box.html +++ b/doc/create_box.html @@ -139,14 +139,14 @@
     bond/types value = # of bond types
    -  angle/types value = # of angle types
    -  dihedral/types value = # of dihedral types
    -  improper/types value = # of improper types
    -  extra/bond/per/atom value = # of bonds per atom
    -  extra/angle/per/atom value = # of angles per atom
    -  extra/dihedral/per/atom value = # of dihedrals per atom
    -  extra/improper/per/atom value = # of impropers per atom
    -  extra/special/per/atom value = # of special neighbors per atom
    +angle/types value = # of angle types
    +dihedral/types value = # of dihedral types
    +improper/types value = # of improper types
    +extra/bond/per/atom value = # of bonds per atom
    +extra/angle/per/atom value = # of angles per atom
    +extra/dihedral/per/atom value = # of dihedrals per atom
    +extra/improper/per/atom value = # of impropers per atom
    +extra/special/per/atom value = # of special neighbors per atom
     
    diff --git a/doc/delete_atoms.html b/doc/delete_atoms.html index 193b87af16..4d339a4514 100644 --- a/doc/delete_atoms.html +++ b/doc/delete_atoms.html @@ -136,15 +136,15 @@
     group args = group-ID
    -  region args = region-ID
    -  overlap args = cutoff group1-ID group2-ID
    -    cutoff = delete one atom from pairs of atoms within the cutoff (distance units)
    -    group1-ID = one atom in pair must be in this group
    -    group2-ID = other atom in pair must be in this group
    -  porosity args = region-ID fraction seed
    -    region-ID = region within which to perform deletions
    -    fraction = delete this fraction of atoms
    -    seed = random number seed (positive integer)
    +region args = region-ID
    +overlap args = cutoff group1-ID group2-ID
    +  cutoff = delete one atom from pairs of atoms within the cutoff (distance units)
    +  group1-ID = one atom in pair must be in this group
    +  group2-ID = other atom in pair must be in this group
    +porosity args = region-ID fraction seed
    +  region-ID = region within which to perform deletions
    +  fraction = delete this fraction of atoms
    +  seed = random number seed (positive integer)
     
    • zero or more keyword/value pairs may be appended
    • @@ -152,8 +152,8 @@
     compress value = no or yes
    -  bond value = no or yes
    -  mol value = no or yes
    +bond value = no or yes
    +mol value = no or yes
     
    diff --git a/doc/delete_bonds.html b/doc/delete_bonds.html index d302ba39d7..551efffd99 100644 --- a/doc/delete_bonds.html +++ b/doc/delete_bonds.html @@ -143,12 +143,12 @@
     multi arg = none
    -  atom arg = an atom type or range of types (see below)
    -  bond arg = a bond type or range of types (see below)
    -  angle arg = an angle type or range of types (see below)
    -  dihedral arg = a dihedral type or range of types (see below)
    -  improper arg = an improper type or range of types (see below)
    -  stats arg = none
    +atom arg = an atom type or range of types (see below)
    +bond arg = a bond type or range of types (see below)
    +angle arg = an angle type or range of types (see below)
    +dihedral arg = a dihedral type or range of types (see below)
    +improper arg = an improper type or range of types (see below)
    +stats arg = none
     
    • zero or more keywords may be appended
    • diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html index d769595eda..5a36ff9779 100644 --- a/doc/displace_atoms.html +++ b/doc/displace_atoms.html @@ -137,26 +137,26 @@
     move args = delx dely delz
    -    delx,dely,delz = distance to displace in each dimension (distance units)
    -  ramp args = ddim dlo dhi dim clo chi
    -    ddim = x or y or z
    -    dlo,dhi = displacement distance between dlo and dhi (distance units)
    -    dim = x or y or z
    -    clo,chi = lower and upper bound of domain to displace (distance units)
    -  random args = dx dy dz seed
    -    dx,dy,dz = random displacement magnitude in each dimension (distance units)
    -    seed = random # seed (positive integer)
    -  rotate args = Px Py Pz Rx Ry Rz theta
    -    Px,Py,Pz = origin point of axis of rotation (distance units)
    -    Rx,Ry,Rz = axis of rotation vector
    -    theta = angle of rotation (degrees)
    +  delx,dely,delz = distance to displace in each dimension (distance units)
    +ramp args = ddim dlo dhi dim clo chi
    +  ddim = x or y or z
    +  dlo,dhi = displacement distance between dlo and dhi (distance units)
    +  dim = x or y or z
    +  clo,chi = lower and upper bound of domain to displace (distance units)
    +random args = dx dy dz seed
    +  dx,dy,dz = random displacement magnitude in each dimension (distance units)
    +  seed = random # seed (positive integer)
    +rotate args = Px Py Pz Rx Ry Rz theta
    +  Px,Py,Pz = origin point of axis of rotation (distance units)
    +  Rx,Ry,Rz = axis of rotation vector
    +  theta = angle of rotation (degrees)
     
    • zero or more keyword/value pairs may be appended
     keyword = units
    -    value = box or lattice
    +  value = box or lattice
     
    diff --git a/doc/dump.html b/doc/dump.html index 2b8d87e770..1ab6b9b51b 100644 --- a/doc/dump.html +++ b/doc/dump.html @@ -150,12 +150,12 @@
     atom args = none
    -  atom/mpiio args = none
    -  cfg args = same as custom args, see below
    -  cfg/mpiio args = same as custom args, see below
    -  dcd args = none
    -  xtc args = none
    -  xyz args = none
    +atom/mpiio args = none
    +cfg args = same as custom args, see below
    +cfg/mpiio args = same as custom args, see below
    +dcd args = none
    +xtc args = none
    +xyz args = none
     
     xyz/mpiio args = none
    @@ -171,53 +171,53 @@
     
     local args = list of local attributes
    -    possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N]
    -      index = enumeration of local values
    -      c_ID = local vector calculated by a compute with ID
    -      c_ID[N] = Nth column of local array calculated by a compute with ID
    -      f_ID = local vector calculated by a fix with ID
    -      f_ID[N] = Nth column of local array calculated by a fix with ID
    +  possible attributes = index, c_ID, c_ID[N], f_ID, f_ID[N]
    +    index = enumeration of local values
    +    c_ID = local vector calculated by a compute with ID
    +    c_ID[N] = Nth column of local array calculated by a compute with ID
    +    f_ID = local vector calculated by a fix with ID
    +    f_ID[N] = Nth column of local array calculated by a fix with ID
     
     custom or custom/mpiio args = list of atom attributes
    -    possible attributes = id, mol, proc, procp1, type, element, mass,
    -                       x, y, z, xs, ys, zs, xu, yu, zu,
    -                       xsu, ysu, zsu, ix, iy, iz,
    -                       vx, vy, vz, fx, fy, fz,
    -                          q, mux, muy, muz, mu,
    -                          radius, diameter, omegax, omegay, omegaz,
    -                       angmomx, angmomy, angmomz, tqx, tqy, tqz,
    -                       c_ID, c_ID[N], f_ID, f_ID[N], v_name
    +  possible attributes = id, mol, proc, procp1, type, element, mass,
    +                     x, y, z, xs, ys, zs, xu, yu, zu,
    +                     xsu, ysu, zsu, ix, iy, iz,
    +                     vx, vy, vz, fx, fy, fz,
    +                        q, mux, muy, muz, mu,
    +                        radius, diameter, omegax, omegay, omegaz,
    +                     angmomx, angmomy, angmomz, tqx, tqy, tqz,
    +                     c_ID, c_ID[N], f_ID, f_ID[N], v_name
     
     id = atom ID
    -      mol = molecule ID
    -      proc = ID of processor that owns atom
    -      procp1 = ID+1 of processor that owns atom
    -      type = atom type
    -      element = name of atom element, as defined by dump_modify command
    -      mass = atom mass
    -      x,y,z = unscaled atom coordinates
    -      xs,ys,zs = scaled atom coordinates
    -      xu,yu,zu = unwrapped atom coordinates
    -      xsu,ysu,zsu = scaled unwrapped atom coordinates
    -      ix,iy,iz = box image that the atom is in
    -      vx,vy,vz = atom velocities
    -      fx,fy,fz = forces on atoms
    -      q = atom charge
    -      mux,muy,muz = orientation of dipole moment of atom
    -      mu = magnitude of dipole moment of atom
    -      radius,diameter = radius,diameter of spherical particle
    -      omegax,omegay,omegaz = angular velocity of spherical particle
    -      angmomx,angmomy,angmomz = angular momentum of aspherical particle
    -      tqx,tqy,tqz = torque on finite-size particles
    -      c_ID = per-atom vector calculated by a compute with ID
    -      c_ID[N] = Nth column of per-atom array calculated by a compute with ID
    -      f_ID = per-atom vector calculated by a fix with ID
    -      f_ID[N] = Nth column of per-atom array calculated by a fix with ID
    -      v_name = per-atom vector calculated by an atom-style variable with name
    -      d_name = per-atom floating point vector with name, managed by fix property/atom
    -      i_name = per-atom integer vector with name, managed by fix property/atom
    +mol = molecule ID
    +proc = ID of processor that owns atom
    +procp1 = ID+1 of processor that owns atom
    +type = atom type
    +element = name of atom element, as defined by dump_modify command
    +mass = atom mass
    +x,y,z = unscaled atom coordinates
    +xs,ys,zs = scaled atom coordinates
    +xu,yu,zu = unwrapped atom coordinates
    +xsu,ysu,zsu = scaled unwrapped atom coordinates
    +ix,iy,iz = box image that the atom is in
    +vx,vy,vz = atom velocities
    +fx,fy,fz = forces on atoms
    +q = atom charge
    +mux,muy,muz = orientation of dipole moment of atom
    +mu = magnitude of dipole moment of atom
    +radius,diameter = radius,diameter of spherical particle
    +omegax,omegay,omegaz = angular velocity of spherical particle
    +angmomx,angmomy,angmomz = angular momentum of aspherical particle
    +tqx,tqy,tqz = torque on finite-size particles
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[N] = Nth column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[N] = Nth column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
    +d_name = per-atom floating point vector with name, managed by fix property/atom
    +i_name = per-atom integer vector with name, managed by fix property/atom
     
    diff --git a/doc/dump_image.html b/doc/dump_image.html index a8d23f6d19..04d02bffc7 100644 --- a/doc/dump_image.html +++ b/doc/dump_image.html @@ -147,47 +147,47 @@
     adiam value = number = numeric value for atom diameter (distance units)
    -  atom = yes/no = do or do not draw atoms
    -  bond values = color width = color and width of bonds
    -    color = atom or type or none
    -    width = number or atom or type or none
    -      number = numeric value for bond width (distance units)
    -  size values = width height = size of images
    -    width = width of image in # of pixels
    -    height = height of image in # of pixels
    -  view values = theta phi = view of simulation box
    -    theta = view angle from +z axis (degrees)
    -    phi = azimuthal view angle (degrees)
    -    theta or phi can be a variable (see below)
    -  center values = flag Cx Cy Cz = center point of image
    -    flag = "s" for static, "d" for dynamic
    -    Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box)
    -    Cx,Cy,Cz can be variables (see below)
    -  up values = Ux Uy Uz = direction that is "up" in image
    -    Ux,Uy,Uz = components of up vector
    -    Ux,Uy,Uz can be variables (see below)
    -  zoom value = zfactor = size that simulation box appears in image
    -    zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
    -    zfactor can be a variable (see below)
    -  persp value = pfactor = amount of "perspective" in image
    -    pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
    -    pfactor can be a variable (see below)
    -  box values = yes/no diam = draw outline of simulation box
    -    yes/no = do or do not draw simulation box lines
    -    diam = diameter of box lines as fraction of shortest box length
    -  axes values = yes/no length diam = draw xyz axes
    -    yes/no = do or do not draw xyz axes lines next to simulation box
    -    length = length of axes lines as fraction of respective box lengths
    -    diam = diameter of axes lines as fraction of shortest box length
    -  subbox values = yes/no diam = draw outline of processor sub-domains
    -    yes/no = do or do not draw sub-domain lines
    -    diam = diameter of sub-domain lines as fraction of shortest box length
    -  shiny value = sfactor = shinyness of spheres and cylinders
    -    sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
    -  ssao value = yes/no seed dfactor = SSAO depth shading
    -    yes/no = turn depth shading on/off
    -    seed = random # seed (positive integer)
    -    dfactor = strength of shading from 0.0 to 1.0
    +atom = yes/no = do or do not draw atoms
    +bond values = color width = color and width of bonds
    +  color = atom or type or none
    +  width = number or atom or type or none
    +    number = numeric value for bond width (distance units)
    +size values = width height = size of images
    +  width = width of image in # of pixels
    +  height = height of image in # of pixels
    +view values = theta phi = view of simulation box
    +  theta = view angle from +z axis (degrees)
    +  phi = azimuthal view angle (degrees)
    +  theta or phi can be a variable (see below)
    +center values = flag Cx Cy Cz = center point of image
    +  flag = "s" for static, "d" for dynamic
    +  Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box)
    +  Cx,Cy,Cz can be variables (see below)
    +up values = Ux Uy Uz = direction that is "up" in image
    +  Ux,Uy,Uz = components of up vector
    +  Ux,Uy,Uz can be variables (see below)
    +zoom value = zfactor = size that simulation box appears in image
    +  zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink
    +  zfactor can be a variable (see below)
    +persp value = pfactor = amount of "perspective" in image
    +  pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed)
    +  pfactor can be a variable (see below)
    +box values = yes/no diam = draw outline of simulation box
    +  yes/no = do or do not draw simulation box lines
    +  diam = diameter of box lines as fraction of shortest box length
    +axes values = yes/no length diam = draw xyz axes
    +  yes/no = do or do not draw xyz axes lines next to simulation box
    +  length = length of axes lines as fraction of respective box lengths
    +  diam = diameter of axes lines as fraction of shortest box length
    +subbox values = yes/no diam = draw outline of processor sub-domains
    +  yes/no = do or do not draw sub-domain lines
    +  diam = diameter of sub-domain lines as fraction of shortest box length
    +shiny value = sfactor = shinyness of spheres and cylinders
    +  sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
    +ssao value = yes/no seed dfactor = SSAO depth shading
    +  yes/no = turn depth shading on/off
    +  seed = random # seed (positive integer)
    +  dfactor = strength of shading from 0.0 to 1.0
     
    diff --git a/doc/dump_modify.html b/doc/dump_modify.html index 16e0c34870..21babce3b4 100644 --- a/doc/dump_modify.html +++ b/doc/dump_modify.html @@ -139,39 +139,39 @@
     append arg = yes or no
    -  buffer arg = yes or no
    -  element args = E1 E2 ... EN, where N = # of atom types
    -    E1,...,EN = element name, e.g. C or Fe or Ga
    -  every arg = N
    -    N = dump every this many timesteps
    -    N can be a variable (see below)
    -  fileper arg = Np
    -    Np = write one file for every this many processors
    -  first arg = yes or no
    -  format arg = C-style format string for one line of output
    -  flush arg = yes or no
    -  image arg = yes or no
    -  label arg = string
    -    string = character string (e.g. BONDS) to use in header of dump local file
    -  nfile arg = Nf
    -    Nf = write this many files, one from each of Nf processors
    -  pad arg = Nchar = # of characters to convert timestep to
    -  precision arg = power-of-10 value from 10 to 1000000
    -  region arg = region-ID or "none"
    -  scale arg = yes or no
    -  sfactor arg = coordinate scaling factor (> 0.0)
    -  tfactor arg = time scaling factor (> 0.0)
    -  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
    -     N = sort per-atom lines in ascending order by the Nth column
    -     -N = sort per-atom lines in descending order by the Nth column
    -  thresh args = attribute operation value
    -    attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
    -    operation = "<" or "<=" or ">" or ">=" or "==" or "!="
    -    value = numeric value to compare to
    -    these 3 args can be replaced by the word "none" to turn off thresholding
    -  unwrap arg = yes or no
    +buffer arg = yes or no
    +element args = E1 E2 ... EN, where N = # of atom types
    +  E1,...,EN = element name, e.g. C or Fe or Ga
    +every arg = N
    +  N = dump every this many timesteps
    +  N can be a variable (see below)
    +fileper arg = Np
    +  Np = write one file for every this many processors
    +first arg = yes or no
    +format arg = C-style format string for one line of output
    +flush arg = yes or no
    +image arg = yes or no
    +label arg = string
    +  string = character string (e.g. BONDS) to use in header of dump local file
    +nfile arg = Nf
    +  Nf = write this many files, one from each of Nf processors
    +pad arg = Nchar = # of characters to convert timestep to
    +precision arg = power-of-10 value from 10 to 1000000
    +region arg = region-ID or "none"
    +scale arg = yes or no
    +sfactor arg = coordinate scaling factor (> 0.0)
    +tfactor arg = time scaling factor (> 0.0)
    +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
    +   N = sort per-atom lines in ascending order by the Nth column
    +   -N = sort per-atom lines in descending order by the Nth column
    +thresh args = attribute operation value
    +  attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
    +  operation = "<" or "<=" or ">" or ">=" or "==" or "!="
    +  value = numeric value to compare to
    +  these 3 args can be replaced by the word "none" to turn off thresholding
    +unwrap arg = yes or no
     
    • these keywords apply only to the image and movie styles
    • @@ -179,48 +179,48 @@
     acolor args = type color
    -    type = atom type or range of types (see below)
    -    color = name of color or color1/color2/...
    -  adiam args = type diam
    -    type = atom type or range of types (see below)
    -    diam = diameter of atoms of that type (distance units)
    -  amap args = lo hi style delta N entry1 entry2 ... entryN
    -    lo = number or min = lower bound of range of color map
    -    hi = number or max = upper bound of range of color map
    -    style = 2 letters = "c" or "d" or "s" plus "a" or "f"
    -      "c" for continuous
    -      "d" for discrete
    -      "s" for sequential
    -      "a" for absolute
    -      "f" for fractional
    -    delta = binsize (only used for style "s", otherwise ignored)
    -      binsize = range is divided into bins of this width
    -    N = # of subsequent entries
    -    entry = value color (for continuous style)
    -      value = number or min or max = single value within range
    -      color = name of color used for that value
    -    entry = lo hi color (for discrete style)
    -      lo/hi = number or min or max = lower/upper bound of subset of range
    -      color = name of color used for that subset of values
    -    entry = color (for sequential style)
    -      color = name of color used for a bin of values
    -  backcolor arg = color
    -    color = name of color for background
    -  bcolor args = type color
    -    type = bond type or range of types (see below)
    -    color = name of color or color1/color2/...
    -  bdiam args = type diam
    -    type = bond type or range of types (see below)
    -    diam = diameter of bonds of that type (distance units)
    -  boxcolor arg = color
    -    color = name of color for simulation box lines and processor sub-domain lines
    -  color args = name R G B
    -    name = name of color
    -    R,G,B = red/green/blue numeric values from 0.0 to 1.0
    -  bitrate arg = rate
    -    rate = target bitrate for movie in kbps
    -  framerate arg = fps
    -    fps = frames per second for movie
    +  type = atom type or range of types (see below)
    +  color = name of color or color1/color2/...
    +adiam args = type diam
    +  type = atom type or range of types (see below)
    +  diam = diameter of atoms of that type (distance units)
    +amap args = lo hi style delta N entry1 entry2 ... entryN
    +  lo = number or min = lower bound of range of color map
    +  hi = number or max = upper bound of range of color map
    +  style = 2 letters = "c" or "d" or "s" plus "a" or "f"
    +    "c" for continuous
    +    "d" for discrete
    +    "s" for sequential
    +    "a" for absolute
    +    "f" for fractional
    +  delta = binsize (only used for style "s", otherwise ignored)
    +    binsize = range is divided into bins of this width
    +  N = # of subsequent entries
    +  entry = value color (for continuous style)
    +    value = number or min or max = single value within range
    +    color = name of color used for that value
    +  entry = lo hi color (for discrete style)
    +    lo/hi = number or min or max = lower/upper bound of subset of range
    +    color = name of color used for that subset of values
    +  entry = color (for sequential style)
    +    color = name of color used for a bin of values
    +backcolor arg = color
    +  color = name of color for background
    +bcolor args = type color
    +  type = bond type or range of types (see below)
    +  color = name of color or color1/color2/...
    +bdiam args = type diam
    +  type = bond type or range of types (see below)
    +  diam = diameter of bonds of that type (distance units)
    +boxcolor arg = color
    +  color = name of color for simulation box lines and processor sub-domain lines
    +color args = name R G B
    +  name = name of color
    +  R,G,B = red/green/blue numeric values from 0.0 to 1.0
    +bitrate arg = rate
    +  rate = target bitrate for movie in kbps
    +framerate arg = fps
    +  fps = frames per second for movie
     
    diff --git a/doc/fix_adapt.html b/doc/fix_adapt.html index b0556743b0..fe2d766375 100644 --- a/doc/fix_adapt.html +++ b/doc/fix_adapt.html @@ -140,15 +140,15 @@
     pair args = pstyle pparam I J v_name
    -    pstyle = pair style name, e.g. lj/cut
    -    pparam = parameter to adapt over time
    -    I,J = type pair(s) to set parameter for
    -    v_name = variable with name that calculates value of pparam
    -  kspace arg = v_name
    -    v_name = variable with name that calculates scale factor on K-space terms
    -  atom args = aparam v_name
    -    aparam = parameter to adapt over time
    -    v_name = variable with name that calculates value of aparam
    +  pstyle = pair style name, e.g. lj/cut
    +  pparam = parameter to adapt over time
    +  I,J = type pair(s) to set parameter for
    +  v_name = variable with name that calculates value of pparam
    +kspace arg = v_name
    +  v_name = variable with name that calculates scale factor on K-space terms
    +atom args = aparam v_name
    +  aparam = parameter to adapt over time
    +  v_name = variable with name that calculates value of aparam
     
    • zero or more keyword/value pairs may be appended
    • @@ -156,11 +156,11 @@
     scale value = no or yes
    -    no = the variable value is the new setting
    -    yes = the variable value multiplies the original setting
    -  reset value = no or yes
    -    no = values will remain altered at the end of a run
    -    yes = reset altered values to their original values at the end of a run
    +  no = the variable value is the new setting
    +  yes = the variable value multiplies the original setting
    +reset value = no or yes
    +  no = values will remain altered at the end of a run
    +  yes = reset altered values to their original values at the end of a run
     
    diff --git a/doc/fix_adapt_fep.html b/doc/fix_adapt_fep.html index 4e340b37f3..70a99ca6ad 100644 --- a/doc/fix_adapt_fep.html +++ b/doc/fix_adapt_fep.html @@ -140,16 +140,16 @@
     pair args = pstyle pparam I J v_name
    -    pstyle = pair style name, e.g. lj/cut
    -    pparam = parameter to adapt over time
    -    I,J = type pair(s) to set parameter for
    -    v_name = variable with name that calculates value of pparam
    -  kspace arg = v_name
    -    v_name = variable with name that calculates scale factor on K-space terms
    -  atom args = aparam v_name
    -    aparam = parameter to adapt over time
    -    I = type(s) to set parameter for
    -    v_name = variable with name that calculates value of aparam
    +  pstyle = pair style name, e.g. lj/cut
    +  pparam = parameter to adapt over time
    +  I,J = type pair(s) to set parameter for
    +  v_name = variable with name that calculates value of pparam
    +kspace arg = v_name
    +  v_name = variable with name that calculates scale factor on K-space terms
    +atom args = aparam v_name
    +  aparam = parameter to adapt over time
    +  I = type(s) to set parameter for
    +  v_name = variable with name that calculates value of aparam
     
    • zero or more keyword/value pairs may be appended
    • @@ -157,15 +157,15 @@
     scale value = no or yes
    -    no = the variable value is the new setting
    -    yes = the variable value multiplies the original setting
    -  reset value = no or yes
    -    no = values will remain altered at the end of a run
    -    yes = reset altered values to their original values at the end
    -    of a run
    -  after value = no or yes
    -    no = parameters are adapted at timestep N
    -    yes = parameters are adapted one timestep after N
    +  no = the variable value is the new setting
    +  yes = the variable value multiplies the original setting
    +reset value = no or yes
    +  no = values will remain altered at the end of a run
    +  yes = reset altered values to their original values at the end
    +  of a run
    +after value = no or yes
    +  no = parameters are adapted at timestep N
    +  yes = parameters are adapted one timestep after N
     
    diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html index 752e019665..203531229b 100644 --- a/doc/fix_addforce.html +++ b/doc/fix_addforce.html @@ -148,11 +148,11 @@
     every value = Nevery
    -    Nevery = add force every this many timesteps
    -  region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    -  energy value = v_name
    -    v_name = variable with name that calculates the potential energy of each atom in the added force field
    +  Nevery = add force every this many timesteps
    +region value = region-ID
    +  region-ID = ID of region atoms must be in to have added force
    +energy value = v_name
    +  v_name = variable with name that calculates the potential energy of each atom in the added force field
     
    diff --git a/doc/fix_append_atoms.html b/doc/fix_append_atoms.html index 009f8b510d..375d6dc713 100644 --- a/doc/fix_append_atoms.html +++ b/doc/fix_append_atoms.html @@ -140,23 +140,23 @@
     basis values = M itype
    -    M = which basis atom
    -    itype = atom type (1-N) to assign to this basis atom
    -  size args = Lz
    -    Lz = z size of lattice region appended in a single event(distance units)
    -  freq args = freq
    -    freq = the number of timesteps between append events
    -  temp args = target damp seed extent
    -    target = target temperature for the region between zhi-extent and zhi (temperature units)
    -    damp = damping parameter (time units)
    -    seed = random number seed for langevin kicks
    -    extent = extent of thermostated region (distance units)
    -  random args = xmax ymax zmax seed
    -    xmax, ymax, zmax = maximum displacement in particular direction (distance units)
    -    seed = random number seed for random displacement
    -  units value = lattice or box
    -    lattice = the wall position is defined in lattice units
    -    box = the wall position is defined in simulation box units
    +  M = which basis atom
    +  itype = atom type (1-N) to assign to this basis atom
    +size args = Lz
    +  Lz = z size of lattice region appended in a single event(distance units)
    +freq args = freq
    +  freq = the number of timesteps between append events
    +temp args = target damp seed extent
    +  target = target temperature for the region between zhi-extent and zhi (temperature units)
    +  damp = damping parameter (time units)
    +  seed = random number seed for langevin kicks
    +  extent = extent of thermostated region (distance units)
    +random args = xmax ymax zmax seed
    +  xmax, ymax, zmax = maximum displacement in particular direction (distance units)
    +  seed = random number seed for random displacement
    +units value = lattice or box
    +  lattice = the wall position is defined in lattice units
    +  box = the wall position is defined in simulation box units
     
    diff --git a/doc/fix_atc.html b/doc/fix_atc.html index fc3a49435f..eb014ea602 100644 --- a/doc/fix_atc.html +++ b/doc/fix_atc.html @@ -138,9 +138,9 @@
     thermal = thermal coupling with fields: temperature
    - two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    - hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
    - field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
    +two_temperature = electron-phonon coupling with field: temperature and electron_temperature
    +hardy = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
    +field = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
     
    • parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file
    • @@ -164,28 +164,28 @@ fix AtC internal atc field
    # initial fix to designate coupling type and group to apply it to
    - # tag group physics material_file
    - fix AtC internal atc thermal Ar_thermal.mat
    +# tag group physics material_file
    +fix AtC internal atc thermal Ar_thermal.mat
     
    # create a uniform 12 x 2 x 2 mesh that covers region contain the group
    - # nx ny nz region periodicity
    - fix_modify AtC mesh create 12 2 2 mdRegion f p p
    +# nx ny nz region periodicity
    +fix_modify AtC mesh create 12 2 2 mdRegion f p p
     
    # specify the control method for the type of coupling
    - # physics control_type
    - fix_modify AtC thermal control flux
    +# physics control_type
    +fix_modify AtC thermal control flux
     
    # specify the initial values for the empirical field "temperature"
    - # field node_group value
    - fix_modify AtC initial temperature all 30
    +# field node_group value
    +fix_modify AtC initial temperature all 30
     
    # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output atc_fe_output 100
    +# filename output_frequency
    +fix_modify AtC output atc_fe_output 100
     
    run 1000
    @@ -196,32 +196,32 @@ fix AtC internal atc field
     
    # initial fix to designate post-processing and the group to apply it to
    - # no material file is allowed nor required
    - fix AtC internal atc hardy
    +# no material file is allowed nor required
    +fix AtC internal atc hardy
     
    # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
    - fix AtC kernel quartic_sphere 10.0
    +fix AtC kernel quartic_sphere 10.0
     
    # create a uniform 1 x 1 x 1 mesh that covers region contain the group
    - # with periodicity this effectively creats a system average
    - fix_modify AtC mesh create 1 1 1 box p p p
    +# with periodicity this effectively creats a system average
    +fix_modify AtC mesh create 1 1 1 box p p p
     
    # change from default lagrangian map to eulerian
    - # refreshed every 100 steps
    - fix_modify AtC atom_element_map eulerian 100
    +# refreshed every 100 steps
    +fix_modify AtC atom_element_map eulerian 100
     
    # start with no field defined
    - # add mass density, potential energy density, stress and temperature
    - fix_modify AtC fields add density energy stress temperature
    +# add mass density, potential energy density, stress and temperature
    +fix_modify AtC fields add density energy stress temperature
     
    # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output nvtFE 100 text
    +# filename output_frequency
    +fix_modify AtC output nvtFE 100 text
     
    run 1000
    diff --git a/doc/fix_atom_swap.html b/doc/fix_atom_swap.html
    index db6450a67d..b24f358e5a 100644
    --- a/doc/fix_atom_swap.html
    +++ b/doc/fix_atom_swap.html
    @@ -143,15 +143,15 @@
     
     
     types values = two or more atom types
    -  delta_mu values = number_of_types-1 relative chemical potentials (energy units)
    -  ke value = no or yes
    -    no = no conservation of kinetic energy after atom swaps
    -    yes = kinetic energy is conserved after atom swaps
    -  semi-grand value = no or yes
    -    no = particle type counts and fractions conserved
    -    yes = semi-grand canonical ensemble, particle fractions not conserved
    -  region value = region-ID
    -    region-ID = ID of region to use as an exchange/move volume
    +delta_mu values = number_of_types-1 relative chemical potentials (energy units)
    +ke value = no or yes
    +  no = no conservation of kinetic energy after atom swaps
    +  yes = kinetic energy is conserved after atom swaps
    +semi-grand value = no or yes
    +  no = particle type counts and fractions conserved
    +  yes = semi-grand canonical ensemble, particle fractions not conserved
    +region value = region-ID
    +  region-ID = ID of region to use as an exchange/move volume
     
    diff --git a/doc/fix_ave_atom.html b/doc/fix_ave_atom.html index 5efc53bd23..925beefe1c 100644 --- a/doc/fix_ave_atom.html +++ b/doc/fix_ave_atom.html @@ -141,11 +141,11 @@ one or more input values can be listed
  • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name
  • x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    -  c_ID = per-atom vector calculated by a compute with ID
    -  c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    -  f_ID = per-atom vector calculated by a fix with ID
    -  f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    -  v_name = per-atom vector calculated by an atom-style variable with name
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
     
    diff --git a/doc/fix_ave_chunk.html b/doc/fix_ave_chunk.html index 8cce0fdba3..bd87b28572 100644 --- a/doc/fix_ave_chunk.html +++ b/doc/fix_ave_chunk.html @@ -142,13 +142,13 @@
  • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name
  • vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    -  density/number, density/mass = number or mass density
    -  temp = temperature
    -  c_ID = per-atom vector calculated by a compute with ID
    -  c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    -  f_ID = per-atom vector calculated by a fix with ID
    -  f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    -  v_name = per-atom vector calculated by an atom-style variable with name
    +density/number, density/mass = number or mass density
    +temp = temperature
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
     
      @@ -157,28 +157,28 @@
     norm arg = all or sample or none = how output on Nfreq steps is normalized
    -    all = output is sum of atoms across all Nrepeat samples, divided by atom count
    -    sample = output is sum of Nrepeat sample averages, divided by Nrepeat
    -    none = output is sum of Nrepeat sums, divided by Nrepeat
    -  ave args = one or running or window M
    -    one = output new average value every Nfreq steps
    -    running = output cumulative average of all previous Nfreq steps
    -    window M = output average of M most recent Nfreq steps
    -  bias arg = bias-ID
    -    bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation
    -  adof value = dof_per_atom
    -    dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation
    -  cdof value = dof_per_chunk
    -    dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation
    -  file arg = filename
    -    filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    +  all = output is sum of atoms across all Nrepeat samples, divided by atom count
    +  sample = output is sum of Nrepeat sample averages, divided by Nrepeat
    +  none = output is sum of Nrepeat sums, divided by Nrepeat
    +ave args = one or running or window M
    +  one = output new average value every Nfreq steps
    +  running = output cumulative average of all previous Nfreq steps
    +  window M = output average of M most recent Nfreq steps
    +bias arg = bias-ID
    +  bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation
    +adof value = dof_per_atom
    +  dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation
    +cdof value = dof_per_chunk
    +  dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation
    +file arg = filename
    +  filename = file to write results to
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file
     
    diff --git a/doc/fix_ave_correlate.html b/doc/fix_ave_correlate.html index f5bd22a971..d9a2b12340 100644 --- a/doc/fix_ave_correlate.html +++ b/doc/fix_ave_correlate.html @@ -141,10 +141,10 @@
  • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
  • c_ID = global scalar calculated by a compute with ID
    -  c_ID[I] = Ith component of global vector calculated by a compute with ID
    -  f_ID = global scalar calculated by a fix with ID
    -  f_ID[I] = Ith component of global vector calculated by a fix with ID
    -  v_name = global value calculated by an equal-style variable with name
    +c_ID[I] = Ith component of global vector calculated by a compute with ID
    +f_ID = global scalar calculated by a fix with ID
    +f_ID[I] = Ith component of global vector calculated by a fix with ID
    +v_name = global value calculated by an equal-style variable with name
     
      @@ -153,28 +153,28 @@
     type arg = auto or upper or lower or auto/upper or auto/lower or full
    -    auto = correlate each value with itself
    -    upper = correlate each value with each succeeding value
    -    lower = correlate each value with each preceding value
    -    auto/upper = auto + upper
    -    auto/lower = auto + lower
    -    full = correlate each value with every other value, including itself = auto + upper + lower
    -  ave args = one or running
    -    one = zero the correlation accumulation every Nfreq steps
    -    running = accumulate correlations continuously
    -  start args = Nstart
    -    Nstart = start accumulating correlations on this timestep
    -  prefactor args = value
    -    value = prefactor to scale all the correlation data by
    -  file arg = filename
    -    filename = name of file to output correlation data to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    +  auto = correlate each value with itself
    +  upper = correlate each value with each succeeding value
    +  lower = correlate each value with each preceding value
    +  auto/upper = auto + upper
    +  auto/lower = auto + lower
    +  full = correlate each value with every other value, including itself = auto + upper + lower
    +ave args = one or running
    +  one = zero the correlation accumulation every Nfreq steps
    +  running = accumulate correlations continuously
    +start args = Nstart
    +  Nstart = start accumulating correlations on this timestep
    +prefactor args = value
    +  value = prefactor to scale all the correlation data by
    +file arg = filename
    +  filename = name of file to output correlation data to
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file
     
    diff --git a/doc/fix_ave_histo.html b/doc/fix_ave_histo.html index 2d627f86fa..b3c9265854 100644 --- a/doc/fix_ave_histo.html +++ b/doc/fix_ave_histo.html @@ -146,11 +146,11 @@
  • value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
  • x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
    -  c_ID = scalar or vector calculated by a compute with ID
    -  c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
    -  f_ID = scalar or vector calculated by a fix with ID
    -  f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
    -  v_name = value(s) calculated by an equal-style or atom-style variable with name
    +c_ID = scalar or vector calculated by a compute with ID
    +c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
    +f_ID = scalar or vector calculated by a fix with ID
    +f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
    +v_name = value(s) calculated by an equal-style or atom-style variable with name
     
      @@ -159,27 +159,27 @@
     mode arg = scalar or vector
    -    scalar = all input values are scalars
    -    vector = all input values are vectors
    -  file arg = filename
    -    filename = name of file to output histogram(s) to
    -  ave args = one or running or window
    -    one = output a new average value every Nfreq steps
    -    running = output cumulative average of all previous Nfreq steps
    -    window M = output average of M most recent Nfreq steps
    -  start args = Nstart
    -    Nstart = start averaging on this timestep
    -  beyond arg = ignore or end or extra
    -    ignore = ignore values outside histogram lo/hi bounds
    -    end = count values outside histogram lo/hi bounds in end bins
    -    extra = create 2 extra bins for value outside histogram lo/hi bounds
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file, only for vector mode
    +  scalar = all input values are scalars
    +  vector = all input values are vectors
    +file arg = filename
    +  filename = name of file to output histogram(s) to
    +ave args = one or running or window
    +  one = output a new average value every Nfreq steps
    +  running = output cumulative average of all previous Nfreq steps
    +  window M = output average of M most recent Nfreq steps
    +start args = Nstart
    +  Nstart = start averaging on this timestep
    +beyond arg = ignore or end or extra
    +  ignore = ignore values outside histogram lo/hi bounds
    +  end = count values outside histogram lo/hi bounds in end bins
    +  extra = create 2 extra bins for value outside histogram lo/hi bounds
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file, only for vector mode
     
    diff --git a/doc/fix_ave_spatial.html b/doc/fix_ave_spatial.html index 4070005cfd..c52583da6d 100644 --- a/doc/fix_ave_spatial.html +++ b/doc/fix_ave_spatial.html @@ -141,20 +141,20 @@
     dim = x or y or z
    -  origin = lower or center or upper or coordinate value (distance units)
    -  delta = thickness of spatial bins in dim (distance units)
    +origin = lower or center or upper or coordinate value (distance units)
    +delta = thickness of spatial bins in dim (distance units)
     
    • one or more input values can be listed
    • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
    vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    -  density/number, density/mass = number or mass density
    -  c_ID = per-atom vector calculated by a compute with ID
    -  c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    -  f_ID = per-atom vector calculated by a fix with ID
    -  f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    -  v_name = per-atom vector calculated by an atom-style variable with name
    +density/number, density/mass = number or mass density
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
     
      @@ -163,30 +163,30 @@ dim = x or y or z
     region arg = region-ID
    -  bound args = x/y/z lo hi
    -    x/y/z = x or y or z to bound bins in this dimension
    -    lo = lower or coordinate value (distance units)
    -    hi = upper or coordinate value (distance units)
    -  discard arg = mixed or no or yes
    -    mixed = discard atoms outside bins only if bin bounds are explicitly set
    -    no = always keep out-of-bounds atoms
    -    yes = always discard out-of-bounds atoms
    -  norm arg = all or sample
    -    region-ID = ID of region atoms must be in to contribute to spatial averaging
    -  ave args = one or running or window M
    -    one = output new average value every Nfreq steps
    -    running = output cumulative average of all previous Nfreq steps
    -    window M = output average of M most recent Nfreq steps
    -  units arg = box or lattice or reduced
    -  file arg = filename
    -    filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    +bound args = x/y/z lo hi
    +  x/y/z = x or y or z to bound bins in this dimension
    +  lo = lower or coordinate value (distance units)
    +  hi = upper or coordinate value (distance units)
    +discard arg = mixed or no or yes
    +  mixed = discard atoms outside bins only if bin bounds are explicitly set
    +  no = always keep out-of-bounds atoms
    +  yes = always discard out-of-bounds atoms
    +norm arg = all or sample
    +  region-ID = ID of region atoms must be in to contribute to spatial averaging
    +ave args = one or running or window M
    +  one = output new average value every Nfreq steps
    +  running = output cumulative average of all previous Nfreq steps
    +  window M = output average of M most recent Nfreq steps
    +units arg = box or lattice or reduced
    +file arg = filename
    +  filename = file to write results to
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file
     
    diff --git a/doc/fix_ave_spatial_sphere.html b/doc/fix_ave_spatial_sphere.html index bd31e9769f..9658925c96 100644 --- a/doc/fix_ave_spatial_sphere.html +++ b/doc/fix_ave_spatial_sphere.html @@ -145,12 +145,12 @@
  • value = vx, vy, vz, fx, fy, fz, density/mass, density/number, c_ID, c_ID[I], f_ID, f_ID[I], v_name
  • vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component)
    -  density/number, density/mass = number or mass density
    -  c_ID = per-atom vector calculated by a compute with ID
    -  c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    -  f_ID = per-atom vector calculated by a fix with ID
    -  f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    -  v_name = per-atom vector calculated by an atom-style variable with name
    +density/number, density/mass = number or mass density
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
     
      @@ -159,22 +159,22 @@
     region arg = region-ID
    -    region-ID = ID of region atoms must be in to contribute to spatial averaging
    -  norm arg = all or sample
    -  units arg = box or lattice or reduced
    -  ave args = one or running or window M
    -    one = output new average value every Nfreq steps
    -    running = output cumulative average of all previous Nfreq steps
    -    window M = output average of M most recent Nfreq steps
    -  file arg = filename
    -    filename = file to write results to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file
    +  region-ID = ID of region atoms must be in to contribute to spatial averaging
    +norm arg = all or sample
    +units arg = box or lattice or reduced
    +ave args = one or running or window M
    +  one = output new average value every Nfreq steps
    +  running = output cumulative average of all previous Nfreq steps
    +  window M = output average of M most recent Nfreq steps
    +file arg = filename
    +  filename = file to write results to
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file
     
    diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index 55cb2b333b..8beb62f4da 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -141,10 +141,10 @@
  • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
  • c_ID = global scalar, vector, or array calculated by a compute with ID
    -  c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID
    -  f_ID = global scalar, vector, or array calculated by a fix with ID
    -  f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID
    -  v_name = global value calculated by an equal-style variable with name
    +c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID
    +f_ID = global scalar, vector, or array calculated by a fix with ID
    +f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID
    +v_name = global value calculated by an equal-style variable with name
     
      @@ -153,25 +153,25 @@
     mode arg = scalar or vector
    -    scalar = all input values are global scalars
    -    vector = all input values are global vectors or global arrays
    -  ave args = one or running or window M
    -    one = output a new average value every Nfreq steps
    -    running = output cummulative average of all previous Nfreq steps
    -    window M = output average of M most recent Nfreq steps
    -  start args = Nstart
    -    Nstart = start averaging on this timestep
    -  off arg = M = do not average this value
    -    M = value # from 1 to Nvalues
    -  file arg = filename
    -    filename = name of file to output time averages to
    -  overwrite arg = none = overwrite output file with only latest output
    -  title1 arg = string
    -    string = text to print as 1st line of output file
    -  title2 arg = string
    -    string = text to print as 2nd line of output file
    -  title3 arg = string
    -    string = text to print as 3rd line of output file, only for vector mode
    +  scalar = all input values are global scalars
    +  vector = all input values are global vectors or global arrays
    +ave args = one or running or window M
    +  one = output a new average value every Nfreq steps
    +  running = output cummulative average of all previous Nfreq steps
    +  window M = output average of M most recent Nfreq steps
    +start args = Nstart
    +  Nstart = start averaging on this timestep
    +off arg = M = do not average this value
    +  M = value # from 1 to Nvalues
    +file arg = filename
    +  filename = name of file to output time averages to
    +overwrite arg = none = overwrite output file with only latest output
    +title1 arg = string
    +  string = text to print as 1st line of output file
    +title2 arg = string
    +  string = text to print as 2nd line of output file
    +title3 arg = string
    +  string = text to print as 3rd line of output file, only for vector mode
     
    diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index e053caefd0..f50b72d9a1 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -148,7 +148,7 @@
     region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    +  region-ID = ID of region atoms must be in to have added force
     
    diff --git a/doc/fix_balance.html b/doc/fix_balance.html index 92b84a5720..5f316e608a 100644 --- a/doc/fix_balance.html +++ b/doc/fix_balance.html @@ -139,10 +139,10 @@
  • style = shift or rcb
  • shift args = dimstr Niter stopthresh
    -    dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
    -    Niter = # of times to iterate within each dimension of dimstr sequence
    -    stopthresh = stop balancing when this imbalance threshhold is reached
    -  rcb args = none
    +  dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
    +  Niter = # of times to iterate within each dimension of dimstr sequence
    +  stopthresh = stop balancing when this imbalance threshhold is reached
    +rcb args = none
     
      @@ -151,7 +151,7 @@
     out value = filename
    -    filename = write each processor's sub-domain to a file, at each re-balancing
    +  filename = write each processor's sub-domain to a file, at each re-balancing
     
    diff --git a/doc/fix_bond_break.html b/doc/fix_bond_break.html index fab486b284..988537d1a4 100644 --- a/doc/fix_bond_break.html +++ b/doc/fix_bond_break.html @@ -142,8 +142,8 @@
     prob values = fraction seed
    -    fraction = break a bond with this probability if otherwise eligible
    -    seed = random number seed (positive integer)
    +  fraction = break a bond with this probability if otherwise eligible
    +  seed = random number seed (positive integer)
     
    diff --git a/doc/fix_bond_create.html b/doc/fix_bond_create.html index 07ff6811ee..74dbc9bc7c 100644 --- a/doc/fix_bond_create.html +++ b/doc/fix_bond_create.html @@ -143,20 +143,20 @@
     iparam values = maxbond, newtype
    -    maxbond = max # of bonds of bondtype the itype atom can have
    -    newtype = change the itype atom to this type when maxbonds exist
    -  jparam values = maxbond, newtype
    -    maxbond = max # of bonds of bondtype the jtype atom can have
    -    newtype = change the jtype atom to this type when maxbonds exist
    -  prob values = fraction seed
    -    fraction = create a bond with this probability if otherwise eligible
    -    seed = random number seed (positive integer)
    -  atype value = angletype
    -    angletype = type of created angles
    -  dtype value = dihedraltype
    -    dihedraltype = type of created dihedrals
    -  itype value = impropertype
    -    impropertype = type of created impropers
    +  maxbond = max # of bonds of bondtype the itype atom can have
    +  newtype = change the itype atom to this type when maxbonds exist
    +jparam values = maxbond, newtype
    +  maxbond = max # of bonds of bondtype the jtype atom can have
    +  newtype = change the jtype atom to this type when maxbonds exist
    +prob values = fraction seed
    +  fraction = create a bond with this probability if otherwise eligible
    +  seed = random number seed (positive integer)
    +atype value = angletype
    +  angletype = type of created angles
    +dtype value = dihedraltype
    +  dihedraltype = type of created dihedrals
    +itype value = impropertype
    +  impropertype = type of created impropers
     
    diff --git a/doc/fix_colvars.html b/doc/fix_colvars.html index b69823d441..66a350a050 100644 --- a/doc/fix_colvars.html +++ b/doc/fix_colvars.html @@ -139,11 +139,11 @@
     input arg = colvars.state file name or prefix or NULL (default: NULL)
    -  output arg = output filename prefix (default: out)
    -  seed arg = seed for random number generator (default: 1966)
    -  unwrap arg = yes or no
    -    use unwrapped coordinates in collective variables (default: yes)
    -  tstat arg = fix id of a thermostat or NULL (default: NULL)
    +output arg = output filename prefix (default: out)
    +seed arg = seed for random number generator (default: 1966)
    +unwrap arg = yes or no
    +  use unwrapped coordinates in collective variables (default: yes)
    +tstat arg = fix id of a thermostat or NULL (default: NULL)
     
    diff --git a/doc/fix_deform.html b/doc/fix_deform.html index b49b4b7aa4..7f7cf868b1 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -187,14 +187,14 @@ parameter = x or y or z or xy or xz
     remap value = x or v or none
    -    x = remap coords of atoms in group into deforming box
    -    v = remap velocities of all atoms when they cross periodic boundaries
    -    none = no remapping of x or v
    -  flip value = yes or no
    -    allow or disallow box flips when it becomes highly skewed
    -  units value = lattice or box
    -    lattice = distances are defined in lattice units
    -    box = distances are defined in simulation box units
    +  x = remap coords of atoms in group into deforming box
    +  v = remap velocities of all atoms when they cross periodic boundaries
    +  none = no remapping of x or v
    +flip value = yes or no
    +  allow or disallow box flips when it becomes highly skewed
    +units value = lattice or box
    +  lattice = distances are defined in lattice units
    +  box = distances are defined in simulation box units
     
    diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index e586ff546d..1f38c377ea 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -143,40 +143,40 @@
     region value = region-ID
    -    region-ID = ID of region to use as insertion volume
    -  id value = max or next
    -    max = atom ID for new atom(s) is max ID of all current atoms plus one
    -    next = atom ID for new atom(s) increments by one for every deposition
    -  global values = lo hi
    -    lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units)
    -  local values = lo hi delta
    -    lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units)
    -    delta = lateral distance within which a neighbor is considered "nearby" (distance units)
    -  near value = R
    -    R = only insert atom/molecule if further than R from existing particles (distance units)
    -  attempt value = Q
    -    Q = attempt a single insertion up to Q times
    -  rate value = V
    -    V = z velocity (y in 2d) at which insertion volume moves (velocity units)
    -  vx values = vxlo vxhi
    -    vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units)
    -  vy values = vylo vyhi
    -    vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units)
    -  vz values = vzlo vzhi
    -    vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units)
    -  target values = tx ty tz
    -    tx,ty,tz = location of target point (distance units)
    -  mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -  molfrac values = f1 f2 ... fN
    -    f1 to fN = relative probability of creating each of N molecules in template-ID
    -  rigid value = fix-ID
    -    fix-ID = ID of fix rigid/small command
    -  shake value = fix-ID
    -    fix-ID = ID of fix shake command
    -  units value = lattice or box
    -    lattice = the geometry is defined in lattice units
    -    box = the geometry is defined in simulation box units
    +  region-ID = ID of region to use as insertion volume
    +id value = max or next
    +  max = atom ID for new atom(s) is max ID of all current atoms plus one
    +  next = atom ID for new atom(s) increments by one for every deposition
    +global values = lo hi
    +  lo,hi = put new atom/molecule a distance lo-hi above all other atoms (distance units)
    +local values = lo hi delta
    +  lo,hi = put new atom/molecule a distance lo-hi above any nearby atom beneath it (distance units)
    +  delta = lateral distance within which a neighbor is considered "nearby" (distance units)
    +near value = R
    +  R = only insert atom/molecule if further than R from existing particles (distance units)
    +attempt value = Q
    +  Q = attempt a single insertion up to Q times
    +rate value = V
    +  V = z velocity (y in 2d) at which insertion volume moves (velocity units)
    +vx values = vxlo vxhi
    +  vxlo,vxhi = range of x velocities for inserted atom/molecule (velocity units)
    +vy values = vylo vyhi
    +  vylo,vyhi = range of y velocities for inserted atom/molecule (velocity units)
    +vz values = vzlo vzhi
    +  vzlo,vzhi = range of z velocities for inserted atom/molecule (velocity units)
    +target values = tx ty tz
    +  tx,ty,tz = location of target point (distance units)
    +mol value = template-ID
    +  template-ID = ID of molecule template specified in a separate molecule command
    +molfrac values = f1 f2 ... fN
    +  f1 to fN = relative probability of creating each of N molecules in template-ID
    +rigid value = fix-ID
    +  fix-ID = ID of fix rigid/small command
    +shake value = fix-ID
    +  fix-ID = ID of fix shake command
    +units value = lattice or box
    +  lattice = the geometry is defined in lattice units
    +  box = the geometry is defined in simulation box units
     
    diff --git a/doc/fix_dt_reset.html b/doc/fix_dt_reset.html index c9b8194dfa..84bc14b7d2 100644 --- a/doc/fix_dt_reset.html +++ b/doc/fix_dt_reset.html @@ -143,8 +143,8 @@
     units value = lattice or box
    -    lattice = Xmax is defined in lattice units
    -    box = Xmax is defined in simulation box units
    +  lattice = Xmax is defined in lattice units
    +  box = Xmax is defined in simulation box units
     
    diff --git a/doc/fix_efield.html b/doc/fix_efield.html index c89f9c011c..78fbc2ddb1 100644 --- a/doc/fix_efield.html +++ b/doc/fix_efield.html @@ -141,9 +141,9 @@
     region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    -  energy value = v_name
    -    v_name = variable with name that calculates the potential energy of each atom in the added E-field
    +  region-ID = ID of region atoms must be in to have added force
    +energy value = v_name
    +  v_name = variable with name that calculates the potential energy of each atom in the added E-field
     
    diff --git a/doc/fix_external.html b/doc/fix_external.html index afdcf9d3ea..447edfacb6 100644 --- a/doc/fix_external.html +++ b/doc/fix_external.html @@ -138,10 +138,10 @@
     pf/callback args = Ncall Napply
    -    Ncall = make callback every Ncall steps
    -    Napply = apply callback forces every Napply steps
    -  pf/array args = Napply
    -    Napply = apply array forces every Napply steps
    +  Ncall = make callback every Ncall steps
    +  Napply = apply callback forces every Napply steps
    +pf/array args = Napply
    +  Napply = apply array forces every Napply steps
     
    diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html index d9182988ae..bfd26b0dd5 100644 --- a/doc/fix_gravity.html +++ b/doc/fix_gravity.html @@ -146,15 +146,15 @@
     chute args = angle
    -    angle = angle in +x away from -z or -y axis in 3d/2d (in degrees)
    -    angle can be a variable (see below)
    -  spherical args = phi theta
    -    phi = azimuthal angle from +x axis (in degrees)
    -    theta = angle from +z or +y axis in 3d/2d (in degrees)
    -    phi or theta can be a variable (see below)
    -  vector args = x y z
    -    x y z = vector direction to apply the acceleration
    -    x or y or z can be a variable (see below)
    +  angle = angle in +x away from -z or -y axis in 3d/2d (in degrees)
    +  angle can be a variable (see below)
    +spherical args = phi theta
    +  phi = azimuthal angle from +x axis (in degrees)
    +  theta = angle from +z or +y axis in 3d/2d (in degrees)
    +  phi or theta can be a variable (see below)
    +vector args = x y z
    +  x y z = vector direction to apply the acceleration
    +  x or y or z can be a variable (see below)
     
    diff --git a/doc/fix_heat.html b/doc/fix_heat.html index 80536bf501..f33a3f45dc 100644 --- a/doc/fix_heat.html +++ b/doc/fix_heat.html @@ -142,7 +142,7 @@
     region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    +  region-ID = ID of region atoms must be in to have added force
     
    diff --git a/doc/fix_imd.html b/doc/fix_imd.html index ae1654cdc4..02f93cb533 100644 --- a/doc/fix_imd.html +++ b/doc/fix_imd.html @@ -139,14 +139,14 @@
     unwrap arg = on or off
    -    off = coordinates are wrapped back into the principal unit cell (default)
    -    on = "unwrapped" coordinates using the image flags used
    -  fscale arg = factor
    -    factor = floating point number to scale IMD forces (default: 1.0)
    -  trate arg = transmission rate of coordinate data sets (default: 1)
    -  nowait arg = on or off
    -    off = LAMMPS waits to be connected to an IMD client before continuing (default)
    -    on = LAMMPS listens for an IMD client, but continues with the run
    +  off = coordinates are wrapped back into the principal unit cell (default)
    +  on = "unwrapped" coordinates using the image flags used
    +fscale arg = factor
    +  factor = floating point number to scale IMD forces (default: 1.0)
    +trate arg = transmission rate of coordinate data sets (default: 1)
    +nowait arg = on or off
    +  off = LAMMPS waits to be connected to an IMD client before continuing (default)
    +  on = LAMMPS listens for an IMD client, but continues with the run
     
    diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 625ea18f16..3fdfac0f90 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -140,25 +140,25 @@
     sphere args = x y z R
    -    x,y,z = initial position of center of indenter (distance units)
    -    R = sphere radius of indenter (distance units)
    -    any of x,y,z,R can be a variable (see below)
    -  cylinder args = dim c1 c2 R
    -    dim = x or y or z = axis of cylinder
    -    c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
    -    R = cylinder radius of indenter (distance units)
    -    any of c1,c2,R can be a variable (see below)
    -  plane args = dim pos side
    -    dim = x or y or z = plane perpendicular to this dimension
    -    pos = position of plane in dimension x, y, or z (distance units)
    -    pos can be a variable (see below)
    -    side = lo or hi
    -  side value = in or out
    -    in = the indenter acts on particles inside the sphere or cylinder
    -    out = the indenter acts on particles outside the sphere or cylinder
    -  units value = lattice or box
    -    lattice = the geometry is defined in lattice units
    -    box = the geometry is defined in simulation box units
    +  x,y,z = initial position of center of indenter (distance units)
    +  R = sphere radius of indenter (distance units)
    +  any of x,y,z,R can be a variable (see below)
    +cylinder args = dim c1 c2 R
    +  dim = x or y or z = axis of cylinder
    +  c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
    +  R = cylinder radius of indenter (distance units)
    +  any of c1,c2,R can be a variable (see below)
    +plane args = dim pos side
    +  dim = x or y or z = plane perpendicular to this dimension
    +  pos = position of plane in dimension x, y, or z (distance units)
    +  pos can be a variable (see below)
    +  side = lo or hi
    +side value = in or out
    +  in = the indenter acts on particles inside the sphere or cylinder
    +  out = the indenter acts on particles outside the sphere or cylinder
    +units value = lattice or box
    +  lattice = the geometry is defined in lattice units
    +  box = the geometry is defined in simulation box units
     
    diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 82b6ef3a03..f61783c1d2 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -146,23 +146,23 @@
     angmom value = no or scale
    -    no = do not thermostat rotational degrees of freedom via the angular momentum
    -    factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below
    -  gjf value = no or yes
    -    no = use standard formulation
    -    yes = use Gronbech-Jensen/Farago formulation
    -  omega value = no or yes
    -    no = do not thermostat rotational degrees of freedom via the angular velocity
    -    yes = do thermostat rotational degrees of freedom via the angular velocity
    -  scale values = type ratio
    -    type = atom type (1-N)
    -    ratio = factor by which to scale the damping coefficient
    -  tally value = no or yes
    -    no = do not tally the energy added/subtracted to atoms
    -    yes = do tally the energy added/subtracted to atoms
    -  zero value = no or yes
    -    no = do not set total random force to zero
    -    yes = set total random force to zero
    +  no = do not thermostat rotational degrees of freedom via the angular momentum
    +  factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric factor as discussed below
    +gjf value = no or yes
    +  no = use standard formulation
    +  yes = use Gronbech-Jensen/Farago formulation
    +omega value = no or yes
    +  no = do not thermostat rotational degrees of freedom via the angular velocity
    +  yes = do thermostat rotational degrees of freedom via the angular velocity
    +scale values = type ratio
    +  type = atom type (1-N)
    +  ratio = factor by which to scale the damping coefficient
    +tally value = no or yes
    +  no = do not tally the energy added/subtracted to atoms
    +  yes = do tally the energy added/subtracted to atoms
    +zero value = no or yes
    +  no = do not set total random force to zero
    +  yes = set total random force to zero
     
    diff --git a/doc/fix_langevin_drude.html b/doc/fix_langevin_drude.html index b181e27176..9929070af1 100644 --- a/doc/fix_langevin_drude.html +++ b/doc/fix_langevin_drude.html @@ -145,8 +145,8 @@
     zero value = no or yes
    -    no = do not set total random force on centers of mass to zero
    -    yes = set total random force on centers of mass to zero
    +  no = do not set total random force on centers of mass to zero
    +  yes = set total random force on centers of mass to zero
     
    diff --git a/doc/fix_langevin_eff.html b/doc/fix_langevin_eff.html index 8b06af1be4..a46ea6eabb 100644 --- a/doc/fix_langevin_eff.html +++ b/doc/fix_langevin_eff.html @@ -150,8 +150,8 @@ keyword = scale or tally or zero
     zero value = no or yes
    -    no = do not set total random force to zero
    -    yes = set total random force to zero
    +  no = do not set total random force to zero
    +  yes = set total random force to zero
     
    diff --git a/doc/fix_lb_fluid.html b/doc/fix_lb_fluid.html index 563c6d687f..c38a839610 100644 --- a/doc/fix_lb_fluid.html +++ b/doc/fix_lb_fluid.html @@ -144,29 +144,29 @@
     setArea values = type node_area
    -      type = atom type (1-N)
    -      node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default).
    -  setGamma values = gamma
    -      gamma = user set value for the force coupling constant.
    -  scaleGamma values = type gammaFactor
    -      type = atom type (1-N)
    -      gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.
    -  dx values = dx_LB = the lattice spacing.
    -  dm values = dm_LB = the lattice-Boltzmann mass unit.
    -  a0 values = a_0_real = the square of the speed of sound in the fluid.
    -  noise values = Temperature seed
    -      Temperature = fluid temperature.
    -      seed = random number generator seed (positive integer)
    -  calcforce values = N forcegroup-ID
    -      N = output the force and torque every N timesteps
    -      forcegroup-ID = ID of the particle group to calculate the force and torque of
    -  trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil).
    -  D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice).
    -  read_restart values = restart file = name of the restart file to use to restart a fluid run.
    -  write_restart values = N = write a restart file every N MD timesteps.
    -  zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax).
    -  bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid.
    -  printfluid values = N = print the fluid density and velocity at each grid point every N timesteps.
    +    type = atom type (1-N)
    +    node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default).
    +setGamma values = gamma
    +    gamma = user set value for the force coupling constant.
    +scaleGamma values = type gammaFactor
    +    type = atom type (1-N)
    +    gammaFactor = factor to scale the setGamma gamma value by, for the specified atom type.
    +dx values = dx_LB = the lattice spacing.
    +dm values = dm_LB = the lattice-Boltzmann mass unit.
    +a0 values = a_0_real = the square of the speed of sound in the fluid.
    +noise values = Temperature seed
    +    Temperature = fluid temperature.
    +    seed = random number generator seed (positive integer)
    +calcforce values = N forcegroup-ID
    +    N = output the force and torque every N timesteps
    +    forcegroup-ID = ID of the particle group to calculate the force and torque of
    +trilinear values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil).
    +D3Q19 values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice).
    +read_restart values = restart file = name of the restart file to use to restart a fluid run.
    +write_restart values = N = write a restart file every N MD timesteps.
    +zwall_velocity values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax).
    +bodyforce values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid.
    +printfluid values = N = print the fluid density and velocity at each grid point every N timesteps.
     
    diff --git a/doc/fix_lb_momentum.html b/doc/fix_lb_momentum.html index 59b26145f9..548f4c5213 100644 --- a/doc/fix_lb_momentum.html +++ b/doc/fix_lb_momentum.html @@ -140,7 +140,7 @@
     linear values = xflag yflag zflag
    -    xflag,yflag,zflag = 0/1 to exclude/include each dimension.
    +  xflag,yflag,zflag = 0/1 to exclude/include each dimension.
     
    diff --git a/doc/fix_lb_rigid_pc_sphere.html b/doc/fix_lb_rigid_pc_sphere.html index 711ec2554f..13848ce4df 100644 --- a/doc/fix_lb_rigid_pc_sphere.html +++ b/doc/fix_lb_rigid_pc_sphere.html @@ -154,13 +154,13 @@
     force values = M xflag yflag zflag
    -    M = which rigid body from 1-Nbody (see asterisk form below)
    -    xflag,yflag,zflag = off/on if component of center-of-mass force is active
    -  torque values = M xflag yflag zflag
    -    M = which rigid body from 1-Nbody (see asterisk form below)
    -    xflag,yflag,zflag = off/on if component of center-of-mass torque is active
    -  innerNodes values = innergroup-ID
    -    innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid
    +  M = which rigid body from 1-Nbody (see asterisk form below)
    +  xflag,yflag,zflag = off/on if component of center-of-mass force is active
    +torque values = M xflag yflag zflag
    +  M = which rigid body from 1-Nbody (see asterisk form below)
    +  xflag,yflag,zflag = off/on if component of center-of-mass torque is active
    +innerNodes values = innergroup-ID
    +  innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid
     
    diff --git a/doc/fix_modify.html b/doc/fix_modify.html index d1ea58b553..c312f598d2 100644 --- a/doc/fix_modify.html +++ b/doc/fix_modify.html @@ -138,8 +138,8 @@
     temp value = compute ID that calculates a temperature
    -  press value = compute ID that calculates a pressure
    -  energy value = yes or no
    +press value = compute ID that calculates a pressure
    +energy value = yes or no
     
    diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html index 4f65a93965..570163e682 100644 --- a/doc/fix_momentum.html +++ b/doc/fix_momentum.html @@ -140,8 +140,8 @@ one or more keyword/value pairs may be appended
     linear values = xflag yflag zflag
    -    xflag,yflag,zflag = 0/1 to exclude/include each dimension
    -  angular values = none
    +  xflag,yflag,zflag = 0/1 to exclude/include each dimension
    +angular values = none
     
     rescale values = none
    diff --git a/doc/fix_move.html b/doc/fix_move.html
    index 70ddaa89e9..980af0410d 100644
    --- a/doc/fix_move.html
    +++ b/doc/fix_move.html
    @@ -138,17 +138,17 @@
     
     
     linear args = Vx Vy Vz
    -    Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL
    -  wiggle args = Ax Ay Az period
    -    Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
    -    period = period of oscillation (time units)
    -  rotate args = Px Py Pz Rx Ry Rz period
    -    Px,Py,Pz = origin point of axis of rotation (distance units)
    -    Rx,Ry,Rz = axis of rotation vector
    -    period = period of rotation (time units)
    -  variable args = v_dx v_dy v_dz v_vx v_vy v_vz
    -    v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
    -    v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL
    +  Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL
    +wiggle args = Ax Ay Az period
    +  Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
    +  period = period of oscillation (time units)
    +rotate args = Px Py Pz Rx Ry Rz period
    +  Px,Py,Pz = origin point of axis of rotation (distance units)
    +  Rx,Ry,Rz = axis of rotation vector
    +  period = period of rotation (time units)
    +variable args = v_dx v_dy v_dz v_vx v_vy v_vz
    +  v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
    +  v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL
     
    • zero or more keyword/value pairs may be appended
    • diff --git a/doc/fix_msst.html b/doc/fix_msst.html index f79a088582..fcc8cc863c 100644 --- a/doc/fix_msst.html +++ b/doc/fix_msst.html @@ -141,11 +141,11 @@
     q value = cell mass-like parameter (mass^2/distance^4 units)
    -  mu value = artificial viscosity (mass/length/time units)
    -  p0 value = initial pressure in the shock equations (pressure units)
    -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    -  e0 value = initial total energy (energy units)
    -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    +mu value = artificial viscosity (mass/length/time units)
    +p0 value = initial pressure in the shock equations (pressure units)
    +v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    +e0 value = initial total energy (energy units)
    +tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
     
    diff --git a/doc/fix_nve_sphere.html b/doc/fix_nve_sphere.html index 5af499e48a..ddb58d6d58 100644 --- a/doc/fix_nve_sphere.html +++ b/doc/fix_nve_sphere.html @@ -142,7 +142,7 @@
     update value = dipole
    -    dipole = update orientation of dipole moment during integration
    +  dipole = update orientation of dipole moment during integration
     
    diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html index fa445260e3..02e899a6a8 100644 --- a/doc/fix_orient_fcc.html +++ b/doc/fix_orient_fcc.html @@ -260,21 +260,21 @@ Materials, 5, 124-127 (2006).

    Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs.

    file0:

    -
    0.798410432046075    1.785300000000000    1.596820864092150
    -    -0.798410432046075    1.785300000000000   -1.596820864092150
    -     2.395231296138225    0.000000000000000    0.798410432046075
    -     0.798410432046075    0.000000000000000   -2.395231296138225
    -     1.596820864092150    1.785300000000000   -0.798410432046075
    -     1.596820864092150   -1.785300000000000   -0.798410432046075
    +
     0.798410432046075    1.785300000000000    1.596820864092150
    +-0.798410432046075    1.785300000000000   -1.596820864092150
    + 2.395231296138225    0.000000000000000    0.798410432046075
    + 0.798410432046075    0.000000000000000   -2.395231296138225
    + 1.596820864092150    1.785300000000000   -0.798410432046075
    + 1.596820864092150   -1.785300000000000   -0.798410432046075
     

    file1:

    -0.798410432046075    1.785300000000000    1.596820864092150
    -     0.798410432046075    1.785300000000000   -1.596820864092150
    -     0.798410432046075    0.000000000000000    2.395231296138225
    -     2.395231296138225    0.000000000000000   -0.798410432046075
    -     1.596820864092150    1.785300000000000    0.798410432046075
    -     1.596820864092150   -1.785300000000000    0.798410432046075
    + 0.798410432046075    1.785300000000000   -1.596820864092150
    + 0.798410432046075    0.000000000000000    2.395231296138225
    + 2.395231296138225    0.000000000000000   -0.798410432046075
    + 1.596820864092150    1.785300000000000    0.798410432046075
    + 1.596820864092150   -1.785300000000000    0.798410432046075
     
    diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html index c68c69714b..241ade1457 100644 --- a/doc/fix_phonon.html +++ b/doc/fix_phonon.html @@ -144,8 +144,8 @@
     GAMMA flags to treate the whole simulation box as a unit cell, so that the mapping
    -  info can be generated internally. In this case, dynamical matrix at only the gamma-point
    -  will/can be evaluated.
    +info can be generated internally. In this case, dynamical matrix at only the gamma-point
    +will/can be evaluated.
     
    • prefix = prefix for output files
    • @@ -154,9 +154,9 @@
     sysdim value = d
    -    d = dimension of the system, usually the same as the MD model dimension
    -  nasr value = n
    -    n = number of iterations to enforce the acoustic sum rule
    +  d = dimension of the system, usually the same as the MD model dimension
    +nasr value = n
    +  n = number of iterations to enforce the acoustic sum rule
     
    diff --git a/doc/fix_pimd.html b/doc/fix_pimd.html index fb32b38d13..1abbf40098 100644 --- a/doc/fix_pimd.html +++ b/doc/fix_pimd.html @@ -139,10 +139,10 @@
     method value = pimd or nmpimd or cmd
    -  fmass value = scaling factor on mass
    -  sp value = scaling factor on Planck constant
    -  temp value = temperature (temperarate units)
    -  nhc value = Nc = number of chains in Nose-Hoover thermostat
    +fmass value = scaling factor on mass
    +sp value = scaling factor on Planck constant
    +temp value = temperature (temperarate units)
    +nhc value = Nc = number of chains in Nose-Hoover thermostat
     
    diff --git a/doc/fix_poems.html b/doc/fix_poems.html index ce79591184..86e21ba63d 100644 --- a/doc/fix_poems.html +++ b/doc/fix_poems.html @@ -137,8 +137,8 @@
     group values = list of group IDs
    -  molecule values = none
    -  file values = filename
    +molecule values = none
    +file values = filename
     

    Examples¶

    diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 256b7043ea..bd45d82aa2 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -142,37 +142,37 @@
     region value = region-ID
    -    region-ID = ID of region to use as insertion volume
    -  diam values = dstyle args
    -    dstyle = one or range or poly
    -      one args = D
    -        D = single diameter for inserted particles (distance units)
    -      range args = Dlo Dhi
    -        Dlo,Dhi = range of diameters for inserted particles (distance units)
    -      poly args = Npoly D1 P1 D2 P2 ...
    -        Npoly = # of (D,P) pairs
    -        D1,D2,... = diameter for subset of inserted particles (distance units)
    -        P1,P2,... = percentage of inserted particles with this diameter (0-1)
    -  vol values = fraction Nattempt
    -    fraction = desired volume fraction for filling insertion volume
    -    Nattempt = max # of insertion attempts per atom
    -  rate value = V
    -    V = z velocity (3d) or y velocity (2d) at which
    -        insertion volume moves (velocity units)
    -  vel values (3d) = vxlo vxhi vylo vyhi vz
    -  vel values (2d) = vxlo vxhi vy
    -    vxlo,vxhi = range of x velocities for inserted particles (velocity units)
    -    vylo,vyhi = range of y velocities for inserted particles (velocity units)
    -    vz = z velocity (3d) assigned to inserted particles (velocity units)
    -    vy = y velocity (2d) assigned to inserted particles (velocity units)
    -  mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -  molfrac values = f1 f2 ... fN
    -    f1 to fN = relative probability of creating each of N molecules in template-ID
    -  rigid value = fix-ID
    -    fix-ID = ID of fix rigid/small command
    -  shake value = fix-ID
    -    fix-ID = ID of fix shake command
    +  region-ID = ID of region to use as insertion volume
    +diam values = dstyle args
    +  dstyle = one or range or poly
    +    one args = D
    +      D = single diameter for inserted particles (distance units)
    +    range args = Dlo Dhi
    +      Dlo,Dhi = range of diameters for inserted particles (distance units)
    +    poly args = Npoly D1 P1 D2 P2 ...
    +      Npoly = # of (D,P) pairs
    +      D1,D2,... = diameter for subset of inserted particles (distance units)
    +      P1,P2,... = percentage of inserted particles with this diameter (0-1)
    +vol values = fraction Nattempt
    +  fraction = desired volume fraction for filling insertion volume
    +  Nattempt = max # of insertion attempts per atom
    +rate value = V
    +  V = z velocity (3d) or y velocity (2d) at which
    +      insertion volume moves (velocity units)
    +vel values (3d) = vxlo vxhi vylo vyhi vz
    +vel values (2d) = vxlo vxhi vy
    +  vxlo,vxhi = range of x velocities for inserted particles (velocity units)
    +  vylo,vyhi = range of y velocities for inserted particles (velocity units)
    +  vz = z velocity (3d) assigned to inserted particles (velocity units)
    +  vy = y velocity (2d) assigned to inserted particles (velocity units)
    +mol value = template-ID
    +  template-ID = ID of molecule template specified in a separate molecule command
    +molfrac values = f1 f2 ... fN
    +  f1 to fN = relative probability of creating each of N molecules in template-ID
    +rigid value = fix-ID
    +  fix-ID = ID of fix rigid/small command
    +shake value = fix-ID
    +  fix-ID = ID of fix shake command
     
    diff --git a/doc/fix_print.html b/doc/fix_print.html index b29f5c1d37..cb5b4b539d 100644 --- a/doc/fix_print.html +++ b/doc/fix_print.html @@ -141,10 +141,10 @@
     file value = filename
    -  append value = filename
    -  screen value = yes or no
    -  title value = string
    -    string =  text to print as 1st line of output file
    +append value = filename
    +screen value = yes or no
    +title value = string
    +  string =  text to print as 1st line of output file
     
    diff --git a/doc/fix_property_atom.html b/doc/fix_property_atom.html index 7c5501c52d..4df5b09986 100644 --- a/doc/fix_property_atom.html +++ b/doc/fix_property_atom.html @@ -138,9 +138,9 @@
     mol = molecule IDs
    -  q = charge
    -  i_name = new integer vector referenced by name
    -  d_name = new floating-point vector referenced by name
    +q = charge
    +i_name = new integer vector referenced by name
    +d_name = new floating-point vector referenced by name
     
    • zero of more keyword/value pairs may be appended
    • diff --git a/doc/fix_qbmsst.html b/doc/fix_qbmsst.html index caf1b67ac4..2bdc71194e 100644 --- a/doc/fix_qbmsst.html +++ b/doc/fix_qbmsst.html @@ -141,18 +141,18 @@
     q value = cell mass-like parameter (mass^2/distance^4 units)
    -  mu value = artificial viscosity (mass/distance/time units)
    -  p0 value = initial pressure in the shock equations (pressure units)
    -  v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    -  e0 value = initial total energy (energy units)
    -  tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    -  damp value = damping parameter (time units) inverse of friction <i>&gamma;</i>
    -  seed value = random number seed (positive integer)
    -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    -  N_f value = number of frequency bins (positive integer)
    -  eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
    -  beta value = the quantum temperature is updated every beta time steps (positive integer)
    -  T_init value = quantum temperature for the initial state (temperature units)
    +mu value = artificial viscosity (mass/distance/time units)
    +p0 value = initial pressure in the shock equations (pressure units)
    +v0 value = initial simulation cell volume in the shock equations (distance^3 units)
    +e0 value = initial total energy (energy units)
    +tscale value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
    +damp value = damping parameter (time units) inverse of friction <i>&gamma;</i>
    +seed value = random number seed (positive integer)
    +f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    +N_f value = number of frequency bins (positive integer)
    +eta value = coupling constant between the shock system and the quantum thermal bath (positive unitless)
    +beta value = the quantum temperature is updated every beta time steps (positive integer)
    +T_init value = quantum temperature for the initial state (temperature units)
     
    diff --git a/doc/fix_qeq_comb.html b/doc/fix_qeq_comb.html index 61f509b833..5d9005dede 100644 --- a/doc/fix_qeq_comb.html +++ b/doc/fix_qeq_comb.html @@ -144,7 +144,7 @@
     file value = filename
    -    filename = name of file to write QEQ equilibration info to
    +  filename = name of file to write QEQ equilibration info to
     
    diff --git a/doc/fix_qtb.html b/doc/fix_qtb.html index f6fb026583..afa68726f9 100644 --- a/doc/fix_qtb.html +++ b/doc/fix_qtb.html @@ -139,10 +139,10 @@
     temp value = target quantum temperature (temperature units)
    -  damp value = damping parameter (time units) inverse of friction <i>&gamma</i>;
    -  seed value = random number seed (positive integer)
    -  f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    -  N_f value = number of frequency bins (positive integer)
    +damp value = damping parameter (time units) inverse of friction <i>&gamma</i>;
    +seed value = random number seed (positive integer)
    +f_max value = upper cutoff frequency of the vibration spectrum (1/time units)
    +N_f value = number of frequency bins (positive integer)
     
    diff --git a/doc/fix_reaxc_species.html b/doc/fix_reaxc_species.html index 77f008c2df..58fa7aa7ad 100644 --- a/doc/fix_reaxc_species.html +++ b/doc/fix_reaxc_species.html @@ -143,12 +143,12 @@
     cutoff value = I J Cutoff
    -    I, J = atom types
    -    Cutoff = Bond-order cutoff value for this pair of atom types
    -  element value = Element1, Element2, ...
    -  position value = posfreq filepos
    -    posfreq = write position files every this many timestep
    -    filepos = name of position output file
    +  I, J = atom types
    +  Cutoff = Bond-order cutoff value for this pair of atom types
    +element value = Element1, Element2, ...
    +position value = posfreq filepos
    +  posfreq = write position files every this many timestep
    +  filepos = name of position output file
     
    diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html index 2ec206da59..6c8c298595 100644 --- a/doc/fix_recenter.html +++ b/doc/fix_recenter.html @@ -140,8 +140,8 @@
     shift value = group-ID
    -    group-ID = group of atoms whose coords are shifted
    -  units value = box or lattice or fraction
    +  group-ID = group of atoms whose coords are shifted
    +units value = box or lattice or fraction
     
    diff --git a/doc/fix_restrain.html b/doc/fix_restrain.html index 749d1bf08b..40069ef106 100644 --- a/doc/fix_restrain.html +++ b/doc/fix_restrain.html @@ -139,17 +139,17 @@
     bond args = atom1 atom2 Kstart Kstop r0
    -    atom1,atom2 = IDs of 2 atoms in bond
    -    Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    -    r0 = equilibrium bond distance (distance units)
    -  angle args = atom1 atom2 atom3 Kstart Kstop theta0
    -    atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
    -    Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    -    theta0 = equilibrium angle theta (degrees)
    -  dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
    -    atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
    -    Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    -    phi0 = equilibrium dihedral angle phi (degrees)
    +  atom1,atom2 = IDs of 2 atoms in bond
    +  Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    +  r0 = equilibrium bond distance (distance units)
    +angle args = atom1 atom2 atom3 Kstart Kstop theta0
    +  atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
    +  Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    +  theta0 = equilibrium angle theta (degrees)
    +dihedral args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
    +  atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
    +  Kstart,Kstop = restraint coefficients at start/end of run (energy units)
    +  phi0 = equilibrium dihedral angle phi (degrees)
     
    diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 1da87a532e..ddc7d170b5 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -165,10 +165,10 @@
     single args = none
    -  molecule args = none
    -  group args = N groupID1 groupID2 ...
    -    N = # of groups
    -    groupID1, groupID2, ... = list of N group IDs
    +molecule args = none
    +group args = N groupID1 groupID2 ...
    +  N = # of groups
    +  groupID1, groupID2, ... = list of N group IDs
     
    • zero or more keyword/value pairs may be appended
    • @@ -176,37 +176,37 @@
     langevin values = Tstart Tstop Tperiod seed
    -    Tstart,Tstop = desired temperature at start/stop of run (temperature units)
    -    Tdamp = temperature damping parameter (time units)
    -    seed = random number seed to use for white noise (positive integer)
    -  temp values = Tstart Tstop Tdamp
    -    Tstart,Tstop = desired temperature at start/stop of run (temperature units)
    -    Tdamp = temperature damping parameter (time units)
    -  iso or aniso values = Pstart Pstop Pdamp
    -    Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
    -    Pdamp = pressure damping parameter (time units)
    -  x or y or z values = Pstart Pstop Pdamp
    -    Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
    -    Pdamp = stress damping parameter (time units)
    -  couple = none or xyz or xy or yz or xz
    -  tparam values = Tchain Titer Torder
    -    Tchain = length of Nose/Hoover thermostat chain
    -    Titer = number of thermostat iterations performed
    -    Torder = 3 or 5 = Yoshida-Suzuki integration parameters
    -  pchain values = Pchain
    -    Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat
    -  dilate value = dilate-group-ID
    -    dilate-group-ID = only dilate atoms in this group due to barostat volume changes
    -  force values = M xflag yflag zflag
    -    M = which rigid body from 1-Nbody (see asterisk form below)
    -    xflag,yflag,zflag = off/on if component of center-of-mass force is active
    -  torque values = M xflag yflag zflag
    -    M = which rigid body from 1-Nbody (see asterisk form below)
    -    xflag,yflag,zflag = off/on if component of center-of-mass torque is active
    -  infile filename
    -    filename = file with per-body values of mass, center-of-mass, moments of inertia
    -  mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    +  Tstart,Tstop = desired temperature at start/stop of run (temperature units)
    +  Tdamp = temperature damping parameter (time units)
    +  seed = random number seed to use for white noise (positive integer)
    +temp values = Tstart Tstop Tdamp
    +  Tstart,Tstop = desired temperature at start/stop of run (temperature units)
    +  Tdamp = temperature damping parameter (time units)
    +iso or aniso values = Pstart Pstop Pdamp
    +  Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
    +  Pdamp = pressure damping parameter (time units)
    +x or y or z values = Pstart Pstop Pdamp
    +  Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
    +  Pdamp = stress damping parameter (time units)
    +couple = none or xyz or xy or yz or xz
    +tparam values = Tchain Titer Torder
    +  Tchain = length of Nose/Hoover thermostat chain
    +  Titer = number of thermostat iterations performed
    +  Torder = 3 or 5 = Yoshida-Suzuki integration parameters
    +pchain values = Pchain
    +  Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat
    +dilate value = dilate-group-ID
    +  dilate-group-ID = only dilate atoms in this group due to barostat volume changes
    +force values = M xflag yflag zflag
    +  M = which rigid body from 1-Nbody (see asterisk form below)
    +  xflag,yflag,zflag = off/on if component of center-of-mass force is active
    +torque values = M xflag yflag zflag
    +  M = which rigid body from 1-Nbody (see asterisk form below)
    +  xflag,yflag,zflag = off/on if component of center-of-mass torque is active
    +infile filename
    +  filename = file with per-body values of mass, center-of-mass, moments of inertia
    +mol value = template-ID
    +  template-ID = ID of molecule template specified in a separate molecule command
     
    diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html index 7a91130031..1179bde54c 100644 --- a/doc/fix_setforce.html +++ b/doc/fix_setforce.html @@ -144,7 +144,7 @@
     region value = region-ID
    -    region-ID = ID of region atoms must be in to have added force
    +  region-ID = ID of region atoms must be in to have added force
     
    diff --git a/doc/fix_shake.html b/doc/fix_shake.html index bdaea8ba19..8396a94ca4 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -148,9 +148,9 @@
     b values = one or more bond types
    -  a values = one or more angle types
    -  t values = one or more atom types
    -  m value = one or more mass values
    +a values = one or more angle types
    +t values = one or more atom types
    +m value = one or more mass values
     
    • zero or more keyword/value pairs may be appended
    • @@ -158,7 +158,7 @@
     mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    +  template-ID = ID of molecule template specified in a separate molecule command
     
    diff --git a/doc/fix_smd.html b/doc/fix_smd.html index e6e0335784..3b7a04ed5d 100644 --- a/doc/fix_smd.html +++ b/doc/fix_smd.html @@ -138,22 +138,22 @@
     cvel values = K vel
    -    K = spring constant (force/distance units)
    -    vel = velocity of pulling (distance/time units)
    -  cfor values = force
    -    force = pulling force (force units)
    +  K = spring constant (force/distance units)
    +  vel = velocity of pulling (distance/time units)
    +cfor values = force
    +  force = pulling force (force units)
     
    • keyword = tether or couple
     tether values = x y z R0
    -    x,y,z = point to which spring is tethered
    -    R0 = distance of end of spring from tether point (distance units)
    -  couple values = group-ID2 x y z R0
    -    group-ID2 = 2nd group to couple to fix group with a spring
    -    x,y,z = direction of spring, automatically computed with 'auto'
    -    R0 = distance of end of spring (distance units)
    +  x,y,z = point to which spring is tethered
    +  R0 = distance of end of spring from tether point (distance units)
    +couple values = group-ID2 x y z R0
    +  group-ID2 = 2nd group to couple to fix group with a spring
    +  x,y,z = direction of spring, automatically computed with 'auto'
    +  R0 = distance of end of spring (distance units)
     
    diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 329ec9650c..0f7fe361ee 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -138,14 +138,14 @@
     tether values = K x y z R0
    -    K = spring constant (force/distance units)
    -    x,y,z = point to which spring is tethered
    -    R0 = equilibrium distance from tether point (distance units)
    -  couple values = group-ID2 K x y z R0
    -    group-ID2 = 2nd group to couple to fix group with a spring
    -    K = spring constant (force/distance units)
    -    x,y,z = direction of spring
    -    R0 = equilibrium distance of spring (distance units)
    +  K = spring constant (force/distance units)
    +  x,y,z = point to which spring is tethered
    +  R0 = equilibrium distance from tether point (distance units)
    +couple values = group-ID2 K x y z R0
    +  group-ID2 = 2nd group to couple to fix group with a spring
    +  K = spring constant (force/distance units)
    +  x,y,z = direction of spring
    +  R0 = equilibrium distance of spring (distance units)
     
    diff --git a/doc/fix_srd.html b/doc/fix_srd.html index b2408e6ae1..04c126ed89 100644 --- a/doc/fix_srd.html +++ b/doc/fix_srd.html @@ -144,28 +144,28 @@
     lamda value = mean free path of SRD particles (distance units)
    -  collision value = noslip or slip = collision model
    -  overlap value = yes or no = whether big particles may overlap
    -  inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
    -  exact value = yes or no
    -  radius value = rfactor = scale collision radius by this factor
    -  bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
    -  search value = sgrid = grid spacing for collision partner searching (distance units)
    -  cubic values = style tolerance
    -    style = error or warn
    -    tolerance = fractional difference allowed (0 <= tol <= 1)
    -  shift values = flag shiftseed
    -    flag = yes or no or possible = SRD bin shifting for better statistics
    -      yes = perform bin shifting each time SRD velocities are rescaled
    -      no = no shifting
    -      possible = shift depending on mean free path and bin size
    -    shiftseed = random # seed (positive integer)
    -  tstat value = yes or no = thermostat SRD particles or not
    -  rescale value = yes or no or rotate or collide = rescaling of SRD velocities
    -    yes = rescale during velocity rotation and collisions
    -    no = no rescaling
    -    rotate = rescale during velocity rotation, but not collisions
    -    collide = rescale during collisions, but not velocity rotation
    +collision value = noslip or slip = collision model
    +overlap value = yes or no = whether big particles may overlap
    +inside value = error or warn or ignore = how SRD particles which end up inside a big particle are treated
    +exact value = yes or no
    +radius value = rfactor = scale collision radius by this factor
    +bounce value = Nbounce = max # of collisions an SRD particle can undergo in one timestep
    +search value = sgrid = grid spacing for collision partner searching (distance units)
    +cubic values = style tolerance
    +  style = error or warn
    +  tolerance = fractional difference allowed (0 <= tol <= 1)
    +shift values = flag shiftseed
    +  flag = yes or no or possible = SRD bin shifting for better statistics
    +    yes = perform bin shifting each time SRD velocities are rescaled
    +    no = no shifting
    +    possible = shift depending on mean free path and bin size
    +  shiftseed = random # seed (positive integer)
    +tstat value = yes or no = thermostat SRD particles or not
    +rescale value = yes or no or rotate or collide = rescaling of SRD velocities
    +  yes = rescale during velocity rotation and collisions
    +  no = no rescaling
    +  rotate = rescale during velocity rotation, but not collisions
    +  collide = rescale during collisions, but not velocity rotation
     
    diff --git a/doc/fix_store_state.html b/doc/fix_store_state.html index 44defb1600..c0754d723f 100644 --- a/doc/fix_store_state.html +++ b/doc/fix_store_state.html @@ -138,38 +138,38 @@
  • input = one or more atom attributes
  • possible attributes = id, mol, type, mass,
    -                     x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    -                     vx, vy, vz, fx, fy, fz,
    -                        q, mux, muy, muz,
    -                        radius, omegax, omegay, omegaz,
    -                        angmomx, angmomy, angmomz, tqx, tqy, tqz,
    -                        c_ID, c_ID[N], f_ID, f_ID[N], v_name,
    -                        d_name, i_name
    +                   x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
    +                   vx, vy, vz, fx, fy, fz,
    +                      q, mux, muy, muz,
    +                      radius, omegax, omegay, omegaz,
    +                      angmomx, angmomy, angmomz, tqx, tqy, tqz,
    +                      c_ID, c_ID[N], f_ID, f_ID[N], v_name,
    +                      d_name, i_name
     
    id = atom ID
    -      mol = molecule ID
    -      type = atom type
    -      mass = atom mass
    -      x,y,z = unscaled atom coordinates
    -      xs,ys,zs = scaled atom coordinates
    -      xu,yu,zu = unwrapped atom coordinates
    -      ix,iy,iz = box image that the atom is in
    -      vx,vy,vz = atom velocities
    -      fx,fy,fz = forces on atoms
    -      q = atom charge
    -      mux,muy,muz = orientation of dipolar atom
    -      radius = radius of spherical particle
    -      omegax,omegay,omegaz = angular velocity of spherical particle
    -      angmomx,angmomy,angmomz = angular momentum of aspherical particle
    -      tqx,tqy,tqz = torque on finite-size particles
    -      c_ID = per-atom vector calculated by a compute with ID
    -      c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    -      f_ID = per-atom vector calculated by a fix with ID
    -      f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    -      v_name = per-atom vector calculated by an atom-style variable with name
    -      d_name = per-atom floating point vector name, managed by fix property/atom
    -      i_name = per-atom integer vector name, managed by fix property/atom
    +mol = molecule ID
    +type = atom type
    +mass = atom mass
    +x,y,z = unscaled atom coordinates
    +xs,ys,zs = scaled atom coordinates
    +xu,yu,zu = unwrapped atom coordinates
    +ix,iy,iz = box image that the atom is in
    +vx,vy,vz = atom velocities
    +fx,fy,fz = forces on atoms
    +q = atom charge
    +mux,muy,muz = orientation of dipolar atom
    +radius = radius of spherical particle
    +omegax,omegay,omegaz = angular velocity of spherical particle
    +angmomx,angmomy,angmomz = angular momentum of aspherical particle
    +tqx,tqy,tqz = torque on finite-size particles
    +c_ID = per-atom vector calculated by a compute with ID
    +c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    +f_ID = per-atom vector calculated by a fix with ID
    +f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    +v_name = per-atom vector calculated by an atom-style variable with name
    +d_name = per-atom floating point vector name, managed by fix property/atom
    +i_name = per-atom integer vector name, managed by fix property/atom
     
      diff --git a/doc/fix_tfmc.html b/doc/fix_tfmc.html index 38ae722f70..38d84ba4da 100644 --- a/doc/fix_tfmc.html +++ b/doc/fix_tfmc.html @@ -142,8 +142,8 @@
     com args = xflag yflag zflag
    -    xflag,yflag,zflag = 0/1 to exclude/include each dimension
    -  rot args = none
    +  xflag,yflag,zflag = 0/1 to exclude/include each dimension
    +rot args = none
     
    diff --git a/doc/fix_ti_rs.html b/doc/fix_ti_rs.html index 64bbf0f477..f86d033987 100644 --- a/doc/fix_ti_rs.html +++ b/doc/fix_ti_rs.html @@ -140,7 +140,7 @@
     function value = function-ID
    -    function-ID = ID of the switching function (1, 2 or 3)
    +  function-ID = ID of the switching function (1, 2 or 3)
     

    Example:

    fix ref all ti/rs 50.0 2000 1000
    diff --git a/doc/fix_ti_spring.html b/doc/fix_ti_spring.html
    index 22a08955ea..327b4b8a74 100644
    --- a/doc/fix_ti_spring.html
    +++ b/doc/fix_ti_spring.html
    @@ -141,7 +141,7 @@
     
     
     function value = function-ID
    -    function-ID = ID of the switching function (1 or 2)
    +  function-ID = ID of the switching function (1 or 2)
     

    Example:

    fix ref all ti/spring 50.0 2000 1000 function 2
    diff --git a/doc/fix_ttm.html b/doc/fix_ttm.html
    index fcb4b3b523..45971a1cef 100644
    --- a/doc/fix_ttm.html
    +++ b/doc/fix_ttm.html
    @@ -142,29 +142,29 @@ fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile
     
  • remaining arguments for fix ttm:
  • C_e  = electronic specific heat (energy/(electron*temperature) units)
    -  rho_e = electronic density (electrons/volume units)
    -  kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units)
    -  gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
    -  gamma_s = friction coefficient due to electronic stopping (mass/time units)
    -  v_0 = electronic stopping critical velocity (velocity units)
    -  Nx = number of thermal solve grid points in the x-direction (positive integer)
    -  Ny = number of thermal solve grid points in the y-direction (positive integer)
    -  Nz = number of thermal solve grid points in the z-direction (positive integer)
    -  T_infile = filename to read initial electronic temperature from
    -  N = dump TTM temperatures every this many timesteps, 0 = no dump
    -  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
    +rho_e = electronic density (electrons/volume units)
    +kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units)
    +gamma_p = friction coefficient due to electron-ion interactions (mass/time units)
    +gamma_s = friction coefficient due to electronic stopping (mass/time units)
    +v_0 = electronic stopping critical velocity (velocity units)
    +Nx = number of thermal solve grid points in the x-direction (positive integer)
    +Ny = number of thermal solve grid points in the y-direction (positive integer)
    +Nz = number of thermal solve grid points in the z-direction (positive integer)
    +T_infile = filename to read initial electronic temperature from
    +N = dump TTM temperatures every this many timesteps, 0 = no dump
    +T_outfile = filename to write TTM temperatures to (only needed if N > 0)
     
    • remaining arguments for fix ttm/mod:
    init_file = file with the parameters to TTM
    -  Nx = number of thermal solve grid points in the x-direction (positive integer)
    -  Ny = number of thermal solve grid points in the y-direction (positive integer)
    -  Nz = number of thermal solve grid points in the z-direction (positive integer)
    -  T_infile = filename to read initial electronic temperature from
    -  N = dump TTM temperatures every this many timesteps, 0 = no dump
    -  T_outfile = filename to write TTM temperatures to (only needed if N > 0)
    +Nx = number of thermal solve grid points in the x-direction (positive integer)
    +Ny = number of thermal solve grid points in the y-direction (positive integer)
    +Nz = number of thermal solve grid points in the z-direction (positive integer)
    +T_infile = filename to read initial electronic temperature from
    +N = dump TTM temperatures every this many timesteps, 0 = no dump
    +T_outfile = filename to write TTM temperatures to (only needed if N > 0)
     
    diff --git a/doc/fix_vector.html b/doc/fix_vector.html index 62dd1805b4..e6be5371d5 100644 --- a/doc/fix_vector.html +++ b/doc/fix_vector.html @@ -139,10 +139,10 @@
  • value = c_ID, c_ID[N], f_ID, f_ID[N], v_name
  • c_ID = global scalar calculated by a compute with ID
    -  c_ID[I] = Ith component of global vector calculated by a compute with ID
    -  f_ID = global scalar calculated by a fix with ID
    -  f_ID[I] = Ith component of global vector calculated by a fix with ID
    -  v_name = global value calculated by an equal-style variable with name
    +c_ID[I] = Ith component of global vector calculated by a compute with ID
    +f_ID = global scalar calculated by a fix with ID
    +f_ID[I] = Ith component of global vector calculated by a fix with ID
    +v_name = global value calculated by an equal-style variable with name
     
    diff --git a/doc/fix_viscosity.html b/doc/fix_viscosity.html index 12a706717f..8f0eab262f 100644 --- a/doc/fix_viscosity.html +++ b/doc/fix_viscosity.html @@ -143,7 +143,7 @@
     swap value = Nswap = number of swaps to perform every N steps
    -  vtarget value = V or INF = target velocity of swap partners (velocity units)
    +vtarget value = V or INF = target velocity of swap partners (velocity units)
     
    diff --git a/doc/fix_wall.html b/doc/fix_wall.html index 153b9590b7..8c04d166fc 100644 --- a/doc/fix_wall.html +++ b/doc/fix_wall.html @@ -151,15 +151,15 @@
     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)
    -      variable = equal-style variable like v_x or v_wiggle
    -    epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
    -      epsilon can be a variable (see below)
    -    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)
    +  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 like v_x or v_wiggle
    +  epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
    +    epsilon can be a variable (see below)
    +  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)
     
    • zero or more keyword/value pairs may be appended
    • @@ -167,14 +167,14 @@ args = coord epsilon sigma cutoff
     units value = lattice or box
    -    lattice = the wall position is defined in lattice units
    -    box = the wall position is defined in simulation box units
    -  fld value = yes or no
    -    yes = invoke the wall constraint to be compatible with implicit FLD
    -    no = invoke the wall constraint in the normal way
    -  pbc value = yes or no
    -    yes = allow periodic boundary in a wall dimension
    -    no = require non-perioidic boundaries in any wall dimension
    +  lattice = the wall position is defined in lattice units
    +  box = the wall position is defined in simulation box units
    +fld value = yes or no
    +  yes = invoke the wall constraint to be compatible with implicit FLD
    +  no = invoke the wall constraint in the normal way
    +pbc value = yes or no
    +  yes = allow periodic boundary in a wall dimension
    +  no = require non-perioidic boundaries in any wall dimension
     
    diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html index 3e30a61499..1216dd14af 100644 --- a/doc/fix_wall_gran.html +++ b/doc/fix_wall_gran.html @@ -145,9 +145,9 @@
     xplane or yplane or zplane args = lo hi
    -    lo,hi = position of lower and upper plane (distance units), either can be NULL)
    -  zcylinder args = radius
    -    radius = cylinder radius (distance units)
    +  lo,hi = position of lower and upper plane (distance units), either can be NULL)
    +zcylinder args = radius
    +  radius = cylinder radius (distance units)
     
    • zero or more keyword/value pairs may be appended to args
    • @@ -155,12 +155,12 @@
     wiggle values = dim amplitude period
    -    dim = x or y or z
    -    amplitude = size of oscillation (distance units)
    -    period = time of oscillation (time units)
    -  shear values = dim vshear
    -    dim = x or y or z
    -    vshear = magnitude of shear velocity (velocity units)
    +  dim = x or y or z
    +  amplitude = size of oscillation (distance units)
    +  period = time of oscillation (time units)
    +shear values = dim vshear
    +  dim = x or y or z
    +  vshear = magnitude of shear velocity (velocity units)
     
    diff --git a/doc/fix_wall_piston.html b/doc/fix_wall_piston.html index ba0204f5e6..463ced750f 100644 --- a/doc/fix_wall_piston.html +++ b/doc/fix_wall_piston.html @@ -140,18 +140,18 @@
     pos args = z
    -    z = z coordinate at which the piston begins (distance units)
    -  vel args = vz
    -    vz = final velocity of the piston (velocity units)
    -  ramp = use a linear velocity ramp from 0 to vz
    -  temp args = target damp seed extent
    -    target = target velocity for region immediately ahead of the piston
    -    damp = damping paramter (time units)
    -    seed = random number seed for langevin kicks
    -    extent = extent of thermostated region (distance units)
    -  units value = lattice or box
    -    lattice = the wall position is defined in lattice units
    -    box = the wall position is defined in simulation box units
    +  z = z coordinate at which the piston begins (distance units)
    +vel args = vz
    +  vz = final velocity of the piston (velocity units)
    +ramp = use a linear velocity ramp from 0 to vz
    +temp args = target damp seed extent
    +  target = target velocity for region immediately ahead of the piston
    +  damp = damping paramter (time units)
    +  seed = random number seed for langevin kicks
    +  extent = extent of thermostated region (distance units)
    +units value = lattice or box
    +  lattice = the wall position is defined in lattice units
    +  box = the wall position is defined in simulation box units
     
    diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html index 6fecb8dc52..b8850e8645 100644 --- a/doc/fix_wall_reflect.html +++ b/doc/fix_wall_reflect.html @@ -139,13 +139,13 @@
     xlo,*ylo*,*zlo* arg = EDGE or constant or variable
    -    EDGE = current lo edge of simulation box
    -    constant = number like 0.0 or -30.0 (distance units)
    -    variable = equal-style variable like v_x or v_wiggle
    -  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
    -    EDGE = current hi edge of simulation box
    -    constant = number like 50.0 or 100.3 (distance units)
    -    variable = equal-style variable like v_x or v_wiggle
    +  EDGE = current lo edge of simulation box
    +  constant = number like 0.0 or -30.0 (distance units)
    +  variable = equal-style variable like v_x or v_wiggle
    +xhi,*yhi*,*zhi* arg = EDGE or constant or variable
    +  EDGE = current hi edge of simulation box
    +  constant = number like 50.0 or 100.3 (distance units)
    +  variable = equal-style variable like v_x or v_wiggle
     
    • zero or more keyword/value pairs may be appended
    • @@ -153,8 +153,8 @@
     units value = lattice or box
    -    lattice = the wall position is defined in lattice units
    -    box = the wall position is defined in simulation box units
    +  lattice = the wall position is defined in lattice units
    +  box = the wall position is defined in simulation box units
     
    diff --git a/doc/fix_wall_srd.html b/doc/fix_wall_srd.html index a76c35a4b9..5e2e9d5092 100644 --- a/doc/fix_wall_srd.html +++ b/doc/fix_wall_srd.html @@ -139,13 +139,13 @@
     xlo,*ylo*,*zlo* arg = EDGE or constant or variable
    -    EDGE = current lo edge of simulation box
    -    constant = number like 0.0 or -30.0 (distance units)
    -    variable = equal-style variable like v_x or v_wiggle
    -  xhi,*yhi*,*zhi* arg = EDGE or constant or variable
    -    EDGE = current hi edge of simulation box
    -    constant = number like 50.0 or 100.3 (distance units)
    -    variable = equal-style variable like v_x or v_wiggle
    +  EDGE = current lo edge of simulation box
    +  constant = number like 0.0 or -30.0 (distance units)
    +  variable = equal-style variable like v_x or v_wiggle
    +xhi,*yhi*,*zhi* arg = EDGE or constant or variable
    +  EDGE = current hi edge of simulation box
    +  constant = number like 50.0 or 100.3 (distance units)
    +  variable = equal-style variable like v_x or v_wiggle
     
    • zero or more keyword/value pairs may be appended
    • @@ -153,8 +153,8 @@
     units value = lattice or box
    -    lattice = the wall position is defined in lattice units
    -    box = the wall position is defined in simulation box units
    +  lattice = the wall position is defined in lattice units
    +  box = the wall position is defined in simulation box units
     
    diff --git a/doc/group.html b/doc/group.html index 641c18c384..72c8d09872 100644 --- a/doc/group.html +++ b/doc/group.html @@ -137,32 +137,32 @@
     delete = no args
    -  clear = no args
    -  region args = region-ID
    -  type or id or molecule
    -    args = list of one or more atom types, atom IDs, or molecule IDs
    -      any entry in list can be a sequence formatted as A:B or A:B:C where
    -      A = starting index, B = ending index,
    -      C = increment between indices, 1 if not specified
    -    args = logical value
    -      logical = "<" or "<=" or ">" or ">=" or "==" or "!="
    -      value = an atom type or atom ID or molecule ID (depending on style)
    -    args = logical value1 value2
    -      logical = "<>"
    -      value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
    -  variable args = variable-name
    -  include args = molecule
    -    molecule = add atoms to group with same molecule ID as atoms already in group
    -  subtract args = two or more group IDs
    -  union args = one or more group IDs
    -  intersect args = two or more group IDs
    -  dynamic args = parent-ID keyword value ...
    -    one or more keyword/value pairs may be appended
    -    keyword = region or var or every
    -      region value = region-ID
    -      var value = name of variable
    -      every value = N = update group every this many timesteps
    -  static = no args
    +clear = no args
    +region args = region-ID
    +type or id or molecule
    +  args = list of one or more atom types, atom IDs, or molecule IDs
    +    any entry in list can be a sequence formatted as A:B or A:B:C where
    +    A = starting index, B = ending index,
    +    C = increment between indices, 1 if not specified
    +  args = logical value
    +    logical = "<" or "<=" or ">" or ">=" or "==" or "!="
    +    value = an atom type or atom ID or molecule ID (depending on style)
    +  args = logical value1 value2
    +    logical = "<>"
    +    value1,value2 = atom types or atom IDs or molecule IDs (depending on style)
    +variable args = variable-name
    +include args = molecule
    +  molecule = add atoms to group with same molecule ID as atoms already in group
    +subtract args = two or more group IDs
    +union args = one or more group IDs
    +intersect args = two or more group IDs
    +dynamic args = parent-ID keyword value ...
    +  one or more keyword/value pairs may be appended
    +  keyword = region or var or every
    +    region value = region-ID
    +    var value = name of variable
    +    every value = N = update group every this many timesteps
    +static = no args
     
    diff --git a/doc/kspace_style.html b/doc/kspace_style.html index 0f0e1dbdef..ee953b3841 100644 --- a/doc/kspace_style.html +++ b/doc/kspace_style.html @@ -136,43 +136,43 @@
     none value = none
    -  ewald value = accuracy
    -    accuracy = desired relative error in forces
    -  ewald/disp value = accuracy
    -    accuracy = desired relative error in forces
    -  ewald/omp value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/cg value = accuracy (smallq)
    -    accuracy = desired relative error in forces
    -    smallq = cutoff for charges to be considered (optional) (charge units)
    -  pppm/disp value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/tip4p value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/disp/tip4p value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/gpu value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/omp value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/cg/omp value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/tip4p/omp value = accuracy
    -    accuracy = desired relative error in forces
    -  pppm/stagger value = accuracy
    -    accuracy = desired relative error in forces
    -  msm value = accuracy
    -    accuracy = desired relative error in forces
    -  msm/cg value = accuracy (smallq)
    -    accuracy = desired relative error in forces
    -    smallq = cutoff for charges to be considered (optional) (charge units)
    -  msm/omp value = accuracy
    -    accuracy = desired relative error in forces
    -  msm/cg/omp value = accuracy (smallq)
    -    accuracy = desired relative error in forces
    -    smallq = cutoff for charges to be considered (optional) (charge units)
    +ewald value = accuracy
    +  accuracy = desired relative error in forces
    +ewald/disp value = accuracy
    +  accuracy = desired relative error in forces
    +ewald/omp value = accuracy
    +  accuracy = desired relative error in forces
    +pppm value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/cg value = accuracy (smallq)
    +  accuracy = desired relative error in forces
    +  smallq = cutoff for charges to be considered (optional) (charge units)
    +pppm/disp value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/tip4p value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/disp/tip4p value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/gpu value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/omp value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/cg/omp value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/tip4p/omp value = accuracy
    +  accuracy = desired relative error in forces
    +pppm/stagger value = accuracy
    +  accuracy = desired relative error in forces
    +msm value = accuracy
    +  accuracy = desired relative error in forces
    +msm/cg value = accuracy (smallq)
    +  accuracy = desired relative error in forces
    +  smallq = cutoff for charges to be considered (optional) (charge units)
    +msm/omp value = accuracy
    +  accuracy = desired relative error in forces
    +msm/cg/omp value = accuracy (smallq)
    +  accuracy = desired relative error in forces
    +  smallq = cutoff for charges to be considered (optional) (charge units)
     
    diff --git a/doc/lattice.html b/doc/lattice.html index 22bfda2176..9a7c8b7191 100644 --- a/doc/lattice.html +++ b/doc/lattice.html @@ -136,7 +136,7 @@
  • scale = scale factor between lattice and simulation box
  • scale = reduced density rho* (for LJ units)
    -  scale = lattice constant in distance units (for all other units)
    +scale = lattice constant in distance units (for all other units)
     
      @@ -145,16 +145,16 @@
     origin values = x y z
    -    x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
    -  orient values = dim i j k
    -    dim = x or y or z
    -    i,j,k = integer lattice directions
    -  spacing values = dx dy dz
    -    dx,dy,dz = lattice spacings in the x,y,z box directions
    -  a1,*a2*,*a3* values = x y z
    -    x,y,z = primitive vector components that define unit cell
    -  basis values = x y z
    -    x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
    +  x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
    +orient values = dim i j k
    +  dim = x or y or z
    +  i,j,k = integer lattice directions
    +spacing values = dx dy dz
    +  dx,dy,dz = lattice spacings in the x,y,z box directions
    +a1,*a2*,*a3* values = x y z
    +  x,y,z = primitive vector components that define unit cell
    +basis values = x y z
    +  x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
     
    diff --git a/doc/molecule.html b/doc/molecule.html index 76ffe8d40d..fc5b4506e9 100644 --- a/doc/molecule.html +++ b/doc/molecule.html @@ -139,11 +139,11 @@
     offset values = toff boff aoff doff ioff
    -    toff = offset to add to atom types
    -    boff = offset to add to bond types
    -    aoff = offset to add to angle types
    -    doff = offset to add to dihedral types
    -    ioff = offset to add to improper types
    +  toff = offset to add to atom types
    +  boff = offset to add to bond types
    +  aoff = offset to add to angle types
    +  doff = offset to add to dihedral types
    +  ioff = offset to add to improper types
     
    diff --git a/doc/neb.html b/doc/neb.html index 263cd66f5c..45631fe49e 100644 --- a/doc/neb.html +++ b/doc/neb.html @@ -141,12 +141,12 @@
     final arg = filename
    -    filename = file with initial coords for final replica
    -      coords for intermediate replicas are linearly interpolated between first and last replica
    -  each arg = filename
    -    filename = unique filename for each replica (except first) with its initial coords
    -  none arg = no argument
    -    all replicas assumed to already have their initial coords
    +  filename = file with initial coords for final replica
    +    coords for intermediate replicas are linearly interpolated between first and last replica
    +each arg = filename
    +  filename = unique filename for each replica (except first) with its initial coords
    +none arg = no argument
    +  all replicas assumed to already have their initial coords
     
    diff --git a/doc/package.html b/doc/package.html index 620ce5c359..8e2b6375b7 100644 --- a/doc/package.html +++ b/doc/package.html @@ -137,90 +137,90 @@
     cuda args = Ngpu keyword value ...
    -    Ngpu = # of GPUs per node
    -    zero or more keyword/value pairs may be appended
    -    keywords = newton or gpuID or timing or test or thread
    -      newton = off or on
    -        off = set Newton pairwise and bonded flags off (default)
    -        on = set Newton pairwise and bonded flags on
    -      gpuID values = gpu1 .. gpuN
    -        gpu1 .. gpuN = IDs of the Ngpu GPUs to use
    -      timing values = none
    -      test values = id
    -        id = atom-ID of a test particle
    -      thread = auto or tpa or bpa
    -        auto = test whether tpa or bpa is faster
    -        tpa = one thread per atom
    -        bpa = one block per atom
    -  gpu args = Ngpu keyword value ...
    -    Ngpu = # of GPUs per node
    -    zero or more keyword/value pairs may be appended
    -    keywords = neigh or newton or binsize or split or gpuID or tpa or device
    -      neigh value = yes or no
    -        yes = neighbor list build on GPU (default)
    -        no = neighbor list build on CPU
    -      newton = off or on
    -        off = set Newton pairwise flag off (default and required)
    -        on = set Newton pairwise flag on (currently not allowed)
    -      binsize value = size
    -        size = bin size for neighbor list construction (distance units)
    -      split = fraction
    -        fraction = fraction of atoms assigned to GPU (default = 1.0)
    -      gpuID values = first last
    -        first = ID of first GPU to be used on each node
    -        last = ID of last GPU to be used on each node
    -      tpa value = Nthreads
    -        Nthreads = # of GPU threads used per atom
    -      device value = device_type
    -        device_type = kepler or fermi or cypress or generic
    -  intel args = NPhi keyword value ...
    -    Nphi = # of coprocessors per node
    -    zero or more keyword/value pairs may be appended
    -    keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
    -      omp value = Nthreads
    -        Nthreads = number of OpenMP threads to use on CPU (default = 0)
    -      mode value = single or mixed or double
    -        single = perform force calculations in single precision
    -        mixed = perform force calculations in mixed precision
    -        double = perform force calculations in double precision
    -      balance value = split
    -        split = fraction of work to offload to coprocessor, -1 for dynamic
    -      ghost value = yes or no
    -        yes = include ghost atoms for offload
    -        no = do not include ghost atoms for offload
    -      tpc value = Ntpc
    -        Ntpc = max number of coprocessor threads per coprocessor core (default = 4)
    -      tptask value = Ntptask
    -        Ntptask = max number of coprocessor threads per MPI task (default = 240)
    -      no_affinity values = none
    -  kokkos args = keyword value ...
    -    zero or more keyword/value pairs may be appended
    -    keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
    -      neigh value = full or half/thread or half or n2 or full/cluster
    -        full = full neighbor list
    -        half/thread = half neighbor list built in thread-safe manner
    -        half = half neighbor list, not thread-safe, only use when 1 thread/MPI task
    -        n2 = non-binning neighbor list build, O(N^2) algorithm
    -        full/cluster = full neighbor list with clustered groups of atoms
    -      newton = off or on
    -        off = set Newton pairwise and bonded flags off (default)
    -        on = set Newton pairwise and bonded flags on
    -      binsize value = size
    -        size = bin size for neighbor list construction (distance units)
    -      comm value = no or host or device
    -        use value for both comm/exchange and comm/forward
    -      comm/exchange value = no or host or device
    -      comm/forward value = no or host or device
    -        no = perform communication pack/unpack in non-KOKKOS mode
    -        host = perform pack/unpack on host (e.g. with OpenMP threading)
    -        device = perform pack/unpack on device (e.g. on GPU)
    -  omp args = Nthreads keyword value ...
    -    Nthread = # of OpenMP threads to associate with each MPI process
    -    zero or more keyword/value pairs may be appended
    -    keywords = neigh
    -      neigh value = yes or no
    -        yes = threaded neighbor list build (default)
    -        no = non-threaded neighbor list build
    +  Ngpu = # of GPUs per node
    +  zero or more keyword/value pairs may be appended
    +  keywords = newton or gpuID or timing or test or thread
    +    newton = off or on
    +      off = set Newton pairwise and bonded flags off (default)
    +      on = set Newton pairwise and bonded flags on
    +    gpuID values = gpu1 .. gpuN
    +      gpu1 .. gpuN = IDs of the Ngpu GPUs to use
    +    timing values = none
    +    test values = id
    +      id = atom-ID of a test particle
    +    thread = auto or tpa or bpa
    +      auto = test whether tpa or bpa is faster
    +      tpa = one thread per atom
    +      bpa = one block per atom
    +gpu args = Ngpu keyword value ...
    +  Ngpu = # of GPUs per node
    +  zero or more keyword/value pairs may be appended
    +  keywords = neigh or newton or binsize or split or gpuID or tpa or device
    +    neigh value = yes or no
    +      yes = neighbor list build on GPU (default)
    +      no = neighbor list build on CPU
    +    newton = off or on
    +      off = set Newton pairwise flag off (default and required)
    +      on = set Newton pairwise flag on (currently not allowed)
    +    binsize value = size
    +      size = bin size for neighbor list construction (distance units)
    +    split = fraction
    +      fraction = fraction of atoms assigned to GPU (default = 1.0)
    +    gpuID values = first last
    +      first = ID of first GPU to be used on each node
    +      last = ID of last GPU to be used on each node
    +    tpa value = Nthreads
    +      Nthreads = # of GPU threads used per atom
    +    device value = device_type
    +      device_type = kepler or fermi or cypress or generic
    +intel args = NPhi keyword value ...
    +  Nphi = # of coprocessors per node
    +  zero or more keyword/value pairs may be appended
    +  keywords = omp or mode or balance or ghost or tpc or tptask or no_affinity
    +    omp value = Nthreads
    +      Nthreads = number of OpenMP threads to use on CPU (default = 0)
    +    mode value = single or mixed or double
    +      single = perform force calculations in single precision
    +      mixed = perform force calculations in mixed precision
    +      double = perform force calculations in double precision
    +    balance value = split
    +      split = fraction of work to offload to coprocessor, -1 for dynamic
    +    ghost value = yes or no
    +      yes = include ghost atoms for offload
    +      no = do not include ghost atoms for offload
    +    tpc value = Ntpc
    +      Ntpc = max number of coprocessor threads per coprocessor core (default = 4)
    +    tptask value = Ntptask
    +      Ntptask = max number of coprocessor threads per MPI task (default = 240)
    +    no_affinity values = none
    +kokkos args = keyword value ...
    +  zero or more keyword/value pairs may be appended
    +  keywords = neigh or newton or binsize or comm or comm/exchange or comm/forward
    +    neigh value = full or half/thread or half or n2 or full/cluster
    +      full = full neighbor list
    +      half/thread = half neighbor list built in thread-safe manner
    +      half = half neighbor list, not thread-safe, only use when 1 thread/MPI task
    +      n2 = non-binning neighbor list build, O(N^2) algorithm
    +      full/cluster = full neighbor list with clustered groups of atoms
    +    newton = off or on
    +      off = set Newton pairwise and bonded flags off (default)
    +      on = set Newton pairwise and bonded flags on
    +    binsize value = size
    +      size = bin size for neighbor list construction (distance units)
    +    comm value = no or host or device
    +      use value for both comm/exchange and comm/forward
    +    comm/exchange value = no or host or device
    +    comm/forward value = no or host or device
    +      no = perform communication pack/unpack in non-KOKKOS mode
    +      host = perform pack/unpack on host (e.g. with OpenMP threading)
    +      device = perform pack/unpack on device (e.g. on GPU)
    +omp args = Nthreads keyword value ...
    +  Nthread = # of OpenMP threads to associate with each MPI process
    +  zero or more keyword/value pairs may be appended
    +  keywords = neigh
    +    neigh value = yes or no
    +      yes = threaded neighbor list build (default)
    +      no = non-threaded neighbor list build
     
    diff --git a/doc/pair_awpmd.html b/doc/pair_awpmd.html index 99fd54347c..84513ee995 100644 --- a/doc/pair_awpmd.html +++ b/doc/pair_awpmd.html @@ -138,18 +138,18 @@
     hartree value = none
    -  dproduct value = none
    -  uhf value = none
    -  free value = none
    -  pbc value = Plen
    -    Plen = periodic width of electron = -1 or positive value (distance units)
    -  fix value = Flen
    -    Flen = fixed width of electron = -1 or positive value (distance units)
    -  harm value = width
    -    width = harmonic width constraint
    -  ermscale value = factor
    -    factor = scaling between electron mass and width variable mass
    -  flex_press value = none
    +dproduct value = none
    +uhf value = none
    +free value = none
    +pbc value = Plen
    +  Plen = periodic width of electron = -1 or positive value (distance units)
    +fix value = Flen
    +  Flen = fixed width of electron = -1 or positive value (distance units)
    +harm value = width
    +  width = harmonic width constraint
    +ermscale value = factor
    +  factor = scaling between electron mass and width variable mass
    +flex_press value = none
     
    diff --git a/doc/pair_born.html b/doc/pair_born.html index 24cf823b69..8628ab51b1 100644 --- a/doc/pair_born.html +++ b/doc/pair_born.html @@ -173,17 +173,17 @@
     born args = cutoff
    -    cutoff = global cutoff for non-Coulombic interactions (distance units)
    -  born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
    -    cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/msm args = cutoff (cutoff2)
    -    cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  born/coul/wolf args = alpha cutoff (cutoff2)
    -    alpha = damping parameter (inverse distance units)
    -    cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for non-Coulombic interactions (distance units)
    +born/coul/long or born/coul/long/cs args = cutoff (cutoff2)
    +  cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +born/coul/msm args = cutoff (cutoff2)
    +  cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +born/coul/wolf args = alpha cutoff (cutoff2)
    +  alpha = damping parameter (inverse distance units)
    +  cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_buck.html b/doc/pair_buck.html index 5804523f49..f93499e8bb 100644 --- a/doc/pair_buck.html +++ b/doc/pair_buck.html @@ -188,16 +188,16 @@
     buck args = cutoff
    -    cutoff = global cutoff for Buckingham interactions (distance units)
    -  buck/coul/cut args = cutoff (cutoff2)
    -    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
    -    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/msm args = cutoff (cutoff2)
    -    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for Buckingham interactions (distance units)
    +buck/coul/cut args = cutoff (cutoff2)
    +  cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +buck/coul/long or buck/coul/long/cs args = cutoff (cutoff2)
    +  cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +buck/coul/msm args = cutoff (cutoff2)
    +  cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_buck_long.html b/doc/pair_buck_long.html index 1b31e64a84..b3e9a9d1af 100644 --- a/doc/pair_buck_long.html +++ b/doc/pair_buck_long.html @@ -139,14 +139,14 @@
     long = use Kspace long-range summation for the dispersion term 1/r^6
    -  cut = use a cutoff
    +cut = use a cutoff
     
    • flag_coul = long or off
     long = use Kspace long-range summation for the Coulombic term 1/r
    -  off = omit the Coulombic term
    +off = omit the Coulombic term
     
    • cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units)
    • diff --git a/doc/pair_charmm.html b/doc/pair_charmm.html index b4689df222..637c3df5b0 100644 --- a/doc/pair_charmm.html +++ b/doc/pair_charmm.html @@ -176,17 +176,17 @@
     lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
    -    inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    -    inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
    -    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    -    inner2, outer2 = global switching cutoffs for Coulombic (optional)
    -  lj/charmm/coul/long args = inner outer (cutoff)
    -    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    -    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    -  lj/charmm/coul/msm args = inner outer (cutoff)
    -    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    -    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    +  inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    +  inner2, outer2 = global switching cutoffs for Coulombic (optional)
    +lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
    +  inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    +  inner2, outer2 = global switching cutoffs for Coulombic (optional)
    +lj/charmm/coul/long args = inner outer (cutoff)
    +  inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    +  cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
    +lj/charmm/coul/msm args = inner outer (cutoff)
    +  inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    +  cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
     
    diff --git a/doc/pair_class2.html b/doc/pair_class2.html index 878fac51ca..2f8318c9aa 100644 --- a/doc/pair_class2.html +++ b/doc/pair_class2.html @@ -176,13 +176,13 @@
     lj/class2 args = cutoff
    -    cutoff = global cutoff for class 2 interactions (distance units)
    -  lj/class2/coul/cut args = cutoff (cutoff2)
    -    cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/class2/coul/long args = cutoff (cutoff2)
    -    cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for class 2 interactions (distance units)
    +lj/class2/coul/cut args = cutoff (cutoff2)
    +  cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/class2/coul/long args = cutoff (cutoff2)
    +  cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_cs.html b/doc/pair_cs.html index 247773cd8f..c0f8d88cd3 100644 --- a/doc/pair_cs.html +++ b/doc/pair_cs.html @@ -140,11 +140,11 @@
     born/coul/long/cs args = cutoff (cutoff2)
    -    cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  buck/coul/long/cs args = cutoff (cutoff2)
    -    cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +buck/coul/long/cs args = cutoff (cutoff2)
    +  cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_dipole.html b/doc/pair_dipole.html index 20e689001a..49c8efb8d3 100644 --- a/doc/pair_dipole.html +++ b/doc/pair_dipole.html @@ -162,15 +162,15 @@ pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2)
     long = use long-range damping on dispersion 1/r^6 term
    -  cut = use a cutoff on dispersion 1/r^6 term
    -  off = omit disperion 1/r^6 term entirely
    +cut = use a cutoff on dispersion 1/r^6 term
    +off = omit disperion 1/r^6 term entirely
     
    • flag_coul = long or off
     long = use long-range damping on Coulombic 1/r and point-dipole terms
    -  off = omit Coulombic and point-dipole terms entirely
    +off = omit Coulombic and point-dipole terms entirely
     
    diff --git a/doc/pair_gromacs.html b/doc/pair_gromacs.html index eb8f3d242d..fe0c2e9f90 100644 --- a/doc/pair_gromacs.html +++ b/doc/pair_gromacs.html @@ -155,10 +155,10 @@
     lj/gromacs args = inner outer
    -    inner, outer = global switching cutoffs for Lennard Jones
    -  lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
    -    inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    -    inner2, outer2 = global switching cutoffs for Coulombic (optional)
    +  inner, outer = global switching cutoffs for Lennard Jones
    +lj/gromacs/coul/gromacs args = inner outer (inner2) (outer2)
    +  inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    +  inner2, outer2 = global switching cutoffs for Coulombic (optional)
     
    diff --git a/doc/pair_list.html b/doc/pair_list.html index 85a3edbf00..237fef4e54 100644 --- a/doc/pair_list.html +++ b/doc/pair_list.html @@ -170,10 +170,10 @@ Morse and a harmonic potential.

  • line syntax: ID1 ID2 style coeffs cutoff
  • ID1 = atom ID of first atom
    -  ID2 = atom ID of second atom
    -  style = style of interaction
    -  coeffs = list of coeffs
    -  cutoff = cutoff for interaction (optional)
    +ID2 = atom ID of second atom
    +style = style of interaction
    +coeffs = list of coeffs
    +cutoff = cutoff for interaction (optional)
     

    The cutoff parameter is optional. If not specified, the global cutoff diff --git a/doc/pair_lj.html b/doc/pair_lj.html index 7101fd7f99..977c5eb706 100644 --- a/doc/pair_lj.html +++ b/doc/pair_lj.html @@ -236,36 +236,36 @@

     lj/cut args = cutoff
    -    cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/cut/coul/cut args = cutoff (cutoff2)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/debye args = kappa cutoff (cutoff2)
    -    kappa = inverse of the Debye length (inverse distance units)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/dsf args = alpha cutoff (cutoff2)
    -    alpha = damping parameter (inverse distance units)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (distance units)
    -  lj/cut/coul/long args = cutoff (cutoff2)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/msm args = cutoff (cutoff2)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
    -    otype,htype = atom types for TIP4P O and H
    -    btype,atype = bond and angle types for TIP4P waters
    -    qdist = distance from O atom to massless charge (distance units)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
    -    otype,htype = atom types for TIP4P O and H
    -    btype,atype = bond and angle types for TIP4P waters
    -    qdist = distance from O atom to massless charge (distance units)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for Lennard Jones interactions (distance units)
    +lj/cut/coul/cut args = cutoff (cutoff2)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/coul/debye args = kappa cutoff (cutoff2)
    +  kappa = inverse of the Debye length (inverse distance units)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/coul/dsf args = alpha cutoff (cutoff2)
    +  alpha = damping parameter (inverse distance units)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (distance units)
    +lj/cut/coul/long args = cutoff (cutoff2)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/coul/msm args = cutoff (cutoff2)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/tip4p/cut args = otype htype btype atype qdist cutoff (cutoff2)
    +  otype,htype = atom types for TIP4P O and H
    +  btype,atype = bond and angle types for TIP4P waters
    +  qdist = distance from O atom to massless charge (distance units)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/tip4p/long args = otype htype btype atype qdist cutoff (cutoff2)
    +  otype,htype = atom types for TIP4P O and H
    +  btype,atype = bond and angle types for TIP4P waters
    +  qdist = distance from O atom to massless charge (distance units)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_lj_long.html b/doc/pair_lj_long.html index 45faf1283b..827c1b8d9f 100644 --- a/doc/pair_lj_long.html +++ b/doc/pair_lj_long.html @@ -146,27 +146,27 @@
     lj/long/coul/long args = flag_lj flag_coul cutoff (cutoff2)
    -    flag_lj = long or cut or off
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff on dispersion 1/r^6 term
    -      off = omit disperion 1/r^6 term entirely
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    -    flag_lj = long or cut
    -      long = use Kspace long-range summation for dispersion 1/r^6 term
    -      cut = use a cutoff
    -    flag_coul = long or off
    -      long = use Kspace long-range summation for Coulombic 1/r term
    -      off = omit Coulombic term
    -    otype,htype = atom types for TIP4P O and H
    -    btype,atype = bond and angle types for TIP4P waters
    -    qdist = distance from O atom to massless charge (distance units)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  flag_lj = long or cut or off
    +    long = use Kspace long-range summation for dispersion 1/r^6 term
    +    cut = use a cutoff on dispersion 1/r^6 term
    +    off = omit disperion 1/r^6 term entirely
    +  flag_coul = long or off
    +    long = use Kspace long-range summation for Coulombic 1/r term
    +    off = omit Coulombic term
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/long/tip4p/long args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2)
    +  flag_lj = long or cut
    +    long = use Kspace long-range summation for dispersion 1/r^6 term
    +    cut = use a cutoff
    +  flag_coul = long or off
    +    long = use Kspace long-range summation for Coulombic 1/r term
    +    off = omit Coulombic term
    +  otype,htype = atom types for TIP4P O and H
    +  btype,atype = bond and angle types for TIP4P waters
    +  qdist = distance from O atom to massless charge (distance units)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_lj_soft.html b/doc/pair_lj_soft.html index 168b97ea82..4cfcce07d1 100644 --- a/doc/pair_lj_soft.html +++ b/doc/pair_lj_soft.html @@ -182,39 +182,39 @@
     lj/cut/soft args = n alpha_lj cutoff
    -    n, alpha_LJ = parameters of soft-core potential
    -    cutoff = global cutoff for Lennard-Jones interactions (distance units)
    -  lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
    -    n, alpha_LJ, alpha_C = parameters of soft-core potential
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
    -    n, alpha_LJ, alpha_C = parameters of the soft-core potential
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
    -    otype,htype = atom types for TIP4P O and H
    -    btype,atype = bond and angle types for TIP4P waters
    -    qdist = distance from O atom to massless charge (distance units)
    -    n, alpha_LJ, alpha_C = parameters of the soft-core potential
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
    -    n, alpha_LJ, alpha_C = parameters of the soft-core potential
    -    inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
    -    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
    -  coul/cut/soft args = n alpha_C cutoff
    -    n, alpha_C = parameters of the soft-core potential
    -    cutoff = global cutoff for Coulomb interactions (distance units)
    -  coul/long/soft args = n alpha_C cutoff
    -    n, alpha_C = parameters of the soft-core potential
    -    cutoff = global cutoff for Coulomb interactions (distance units)
    -  tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
    -    otype,htype = atom types for TIP4P O and H
    -    btype,atype = bond and angle types for TIP4P waters
    -    qdist = distance from O atom to massless charge (distance units)
    -    n, alpha_C = parameters of the soft-core potential
    -    cutoff = global cutoff for Coulomb interactions (distance units)
    +  n, alpha_LJ = parameters of soft-core potential
    +  cutoff = global cutoff for Lennard-Jones interactions (distance units)
    +lj/cut/coul/cut/soft args = n alpha_LJ alpha_C cutoff (cutoff2)
    +  n, alpha_LJ, alpha_C = parameters of soft-core potential
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/coul/long/soft args = n alpha_LJ alpha_C cutoff
    +  n, alpha_LJ, alpha_C = parameters of the soft-core potential
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/cut/tip4p/long/soft args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2)
    +  otype,htype = atom types for TIP4P O and H
    +  btype,atype = bond and angle types for TIP4P waters
    +  qdist = distance from O atom to massless charge (distance units)
    +  n, alpha_LJ, alpha_C = parameters of the soft-core potential
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +lj/charmm/coul/long/soft args = n alpha_LJ alpha_C inner outer (cutoff)
    +  n, alpha_LJ, alpha_C = parameters of the soft-core potential
    +  inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
    +  cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
    +coul/cut/soft args = n alpha_C cutoff
    +  n, alpha_C = parameters of the soft-core potential
    +  cutoff = global cutoff for Coulomb interactions (distance units)
    +coul/long/soft args = n alpha_C cutoff
    +  n, alpha_C = parameters of the soft-core potential
    +  cutoff = global cutoff for Coulomb interactions (distance units)
    +tip4p/long/soft args = otype htype btype atype qdist n alpha_C cutoff
    +  otype,htype = atom types for TIP4P O and H
    +  btype,atype = bond and angle types for TIP4P waters
    +  qdist = distance from O atom to massless charge (distance units)
    +  n, alpha_C = parameters of the soft-core potential
    +  cutoff = global cutoff for Coulomb interactions (distance units)
     
    diff --git a/doc/pair_meam.html b/doc/pair_meam.html index 6899a0e485..295fe5fbaf 100644 --- a/doc/pair_meam.html +++ b/doc/pair_meam.html @@ -250,12 +250,12 @@ background density (see e.g. equation 4.5 in -
    0 => G = sqrt(1+Gamma)
    -   1 => G = exp(Gamma/2)
    -   2 => not implemented
    -   3 => G = 2/(1+exp(-Gamma))
    -   4 => G = sqrt(1+Gamma)
    -  -5 => G = +-sqrt(abs(1+Gamma))
    +
     0 => G = sqrt(1+Gamma)
    + 1 => G = exp(Gamma/2)
    + 2 => not implemented
    + 3 => G = 2/(1+exp(-Gamma))
    + 4 => G = sqrt(1+Gamma)
    +-5 => G = +-sqrt(abs(1+Gamma))
     

    If used, the MEAM parameter file contains settings that override or diff --git a/doc/pair_modify.html b/doc/pair_modify.html index 1bf713ad94..df61d1d294 100644 --- a/doc/pair_modify.html +++ b/doc/pair_modify.html @@ -137,23 +137,23 @@

     pair values = sub-style N special which w1 wt2 wt3
    -    sub-style = sub-style of pair hybrid
    -    N = which instance of sub-style (only if sub-style is used multiple times)
    -  special values = flavor w1 w2 w3
    -    flavor = lj/coul or lj or coul
    -    w1,w2,w3 = weights from 0.0 to 1.0 inclusive
    -  mix value = geometric or arithmetic or sixthpower
    -  shift value = yes or no
    -  table value = N
    -    2^N = # of values in table
    -  table/disp value = N
    -    2^N = # of values in table
    -  tabinner value = cutoff
    -    cutoff = inner cutoff at which to begin table (distance units)
    -  tabinner/disp value = cutoff
    -    cutoff = inner cutoff at which to begin table (distance units)
    -  tail value = yes or no
    -  compute value = yes or no
    +  sub-style = sub-style of pair hybrid
    +  N = which instance of sub-style (only if sub-style is used multiple times)
    +special values = flavor w1 w2 w3
    +  flavor = lj/coul or lj or coul
    +  w1,w2,w3 = weights from 0.0 to 1.0 inclusive
    +mix value = geometric or arithmetic or sixthpower
    +shift value = yes or no
    +table value = N
    +  2^N = # of values in table
    +table/disp value = N
    +  2^N = # of values in table
    +tabinner value = cutoff
    +  cutoff = inner cutoff at which to begin table (distance units)
    +tabinner/disp value = cutoff
    +  cutoff = inner cutoff at which to begin table (distance units)
    +tail value = yes or no
    +compute value = yes or no
     
    diff --git a/doc/pair_nm.html b/doc/pair_nm.html index a1c4668a7d..b64ce97f0b 100644 --- a/doc/pair_nm.html +++ b/doc/pair_nm.html @@ -152,13 +152,13 @@
     nm/cut args = cutoff
    -    cutoff = global cutoff for Pair interactions (distance units)
    -  nm/cut/coul/cut args = cutoff (cutoff2)
    -    cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    -  nm/cut/coul/long args = cutoff (cutoff2)
    -    cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for Pair interactions (distance units)
    +nm/cut/coul/cut args = cutoff (cutoff2)
    +  cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +nm/cut/coul/long args = cutoff (cutoff2)
    +  cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_sdk.html b/doc/pair_sdk.html index f19f5f1878..0e6b4c6e2c 100644 --- a/doc/pair_sdk.html +++ b/doc/pair_sdk.html @@ -155,10 +155,10 @@
     lj/sdk args = cutoff
    -    cutoff = global cutoff for Lennard Jones interactions (distance units)
    -  lj/sdk/coul/long args = cutoff (cutoff2)
    -    cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    -    cutoff2 = global cutoff for Coulombic (optional) (distance units)
    +  cutoff = global cutoff for Lennard Jones interactions (distance units)
    +lj/sdk/coul/long args = cutoff (cutoff2)
    +  cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
    +  cutoff2 = global cutoff for Coulombic (optional) (distance units)
     
    diff --git a/doc/pair_snap.html b/doc/pair_snap.html index 271b854457..5527c51e38 100644 --- a/doc/pair_snap.html +++ b/doc/pair_snap.html @@ -211,14 +211,14 @@ tantalum potential provided in the LAMMPS potentials directory combines the snap and zbl pair styles. It is invoked by the following commands:

    variable zblcutinner equal 4
    -     variable zblcutouter equal 4.8
    -     variable zblz equal 73
    -     pair_style hybrid/overlay &
    -     zbl ${zblcutinner} ${zblcutouter} snap
    -     pair_coeff * * zbl 0.0
    -     pair_coeff 1 1 zbl ${zblz}
    -     pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    -     ../potentials/Ta06A.snapparam Ta
    +variable zblcutouter equal 4.8
    +variable zblz equal 73
    +pair_style hybrid/overlay &
    +zbl ${zblcutinner} ${zblcutouter} snap
    +pair_coeff * * zbl 0.0
    +pair_coeff 1 1 zbl ${zblz}
    +pair_coeff * * snap ../potentials/Ta06A.snapcoeff Ta &
    +../potentials/Ta06A.snapparam Ta
     

    It is convenient to keep these commands in a separate file that can diff --git a/doc/prd.html b/doc/prd.html index 65833d8c0c..07420fc597 100644 --- a/doc/prd.html +++ b/doc/prd.html @@ -144,18 +144,18 @@

     min values = etol ftol maxiter maxeval
    -    etol = stopping tolerance for energy, used in quenching
    -    ftol = stopping tolerance for force, used in quenching
    -    maxiter = max iterations of minimize, used in quenching
    -    maxeval = max number of force/energy evaluations, used in quenching
    -  temp value = Tdephase
    -    Tdephase = target temperature for velocity randomization, used in dephasing
    -  vel values = loop dist
    -    loop = all or local or geom, used in dephasing
    -    dist = uniform or gaussian, used in dephasing
    -  time value = step or clock
    -    step = simulation runs for N timesteps on each replica (default)
    -    clock = simulation runs for N timesteps across all replicas
    +  etol = stopping tolerance for energy, used in quenching
    +  ftol = stopping tolerance for force, used in quenching
    +  maxiter = max iterations of minimize, used in quenching
    +  maxeval = max number of force/energy evaluations, used in quenching
    +temp value = Tdephase
    +  Tdephase = target temperature for velocity randomization, used in dephasing
    +vel values = loop dist
    +  loop = all or local or geom, used in dephasing
    +  dist = uniform or gaussian, used in dephasing
    +time value = step or clock
    +  step = simulation runs for N timesteps on each replica (default)
    +  clock = simulation runs for N timesteps across all replicas
     
    diff --git a/doc/print.html b/doc/print.html index 12d4d825f5..6952113cf1 100644 --- a/doc/print.html +++ b/doc/print.html @@ -138,8 +138,8 @@
     file value = filename
    -  append value = filename
    -  screen value = yes or no
    +append value = filename
    +screen value = yes or no
     
    diff --git a/doc/processors.html b/doc/processors.html index e12d525612..29c6d2ba46 100644 --- a/doc/processors.html +++ b/doc/processors.html @@ -138,26 +138,26 @@
     grid arg = gstyle params ...
    -    gstyle = onelevel or twolevel or numa or custom
    -      onelevel params = none
    -      twolevel params = Nc Cx Cy Cz
    -        Nc = number of cores per node
    -        Cx,Cy,Cz = # of cores in each dimension of 3d sub-grid assigned to each node
    -      numa params = none
    -      custom params = infile
    -        infile = file containing grid layout
    -  map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
    -     cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0
    -     cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1
    -     xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering
    -  numa arg = none
    -  part args = Psend Precv cstyle
    -    Psend = partition # (1 to Np) which will send its processor layout
    -    Precv = partition # (1 to Np) which will recv the processor layout
    -    cstyle = multiple
    -      multiple = Psend grid will be multiple of Precv grid in each dimension
    -  file arg = outfile
    -    outfile = name of file to write 3d grid of processors to
    +  gstyle = onelevel or twolevel or numa or custom
    +    onelevel params = none
    +    twolevel params = Nc Cx Cy Cz
    +      Nc = number of cores per node
    +      Cx,Cy,Cz = # of cores in each dimension of 3d sub-grid assigned to each node
    +    numa params = none
    +    custom params = infile
    +      infile = file containing grid layout
    +map arg = cart or cart/reorder or xyz or xzy or yxz or yzx or zxy or zyx
    +   cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0
    +   cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1
    +   xyz,xzy,yxz,yzx,zxy,zyx = map procesors to 3d grid in IJK ordering
    +numa arg = none
    +part args = Psend Precv cstyle
    +  Psend = partition # (1 to Np) which will send its processor layout
    +  Precv = partition # (1 to Np) which will recv the processor layout
    +  cstyle = multiple
    +    multiple = Psend grid will be multiple of Precv grid in each dimension
    +file arg = outfile
    +  outfile = name of file to write 3d grid of processors to
     
    diff --git a/doc/python.html b/doc/python.html index bc569c1749..7f76f45a34 100644 --- a/doc/python.html +++ b/doc/python.html @@ -181,13 +181,13 @@ def loop(lmpptr,N,cut0):
    # loop N times, increasing cutoff each time
     
    -
    for i in range(N):
    -    cut = cut0 + i*0.1
    -    lmp.set_variable("cut",cut)               # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $*cut*")   # LAMMPS commands
    -    lmp.command("pair_coeff * * 1.0 1.0")
    -    lmp.command("run 100")
    - """
    +
     for i in range(N):
    +   cut = cut0 + i*0.1
    +   lmp.set_variable("cut",cut)               # set a variable in LAMMPS
    +   lmp.command("pair_style lj/cut $*cut*")   # LAMMPS commands
    +   lmp.command("pair_coeff * * 1.0 1.0")
    +   lmp.command("run 100")
    +"""
     
    @@ -425,19 +425,19 @@ which loads and runs the following function from examples/python/funcs.py:

    for i in range(N):
    -    cut = cut0 + i*0.1
    +  cut = cut0 + i*0.1
     
    -
    lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    -    lmp.command("pair_style lj/cut $*cut*")     # LAMMPS command
    -    #lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option
    +
    lmp.set_variable("cut",cut)                 # set a variable in LAMMPS
    +lmp.command("pair_style lj/cut $*cut*")     # LAMMPS command
    +#lmp.command("pair_style lj/cut %d" % cut)  # LAMMPS command option
     
    lmp.command("pair_coeff * * 1.0 1.0")       # ditto
    -    lmp.command("run 10")                       # ditto
    -    pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    -    print "PE",pe/natoms,thresh
    -    if pe/natoms < thresh: return
    +lmp.command("run 10")                       # ditto
    +pe = lmp.extract_compute("thermo_pe",0,0)   # extract total PE from LAMMPS
    +print "PE",pe/natoms,thresh
    +if pe/natoms < thresh: return
     

    with these input script commands:

    diff --git a/doc/read_data.html b/doc/read_data.html index 42e8f24302..01d1b92d48 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -138,28 +138,28 @@
     add arg = append or Nstart or merge
    -    append = add new atoms with IDs appended to current IDs
    -    Nstart = add new atoms with IDs starting with Nstart
    -    merge = add new atoms with their IDs unchanged
    -  offset args = toff boff aoff doff ioff
    -    toff = offset to add to atom types
    -    boff = offset to add to bond types
    -    aoff = offset to add to angle types
    -    doff = offset to add to dihedral types
    -    ioff = offset to add to improper types
    -  shift args = Sx Sy Sz
    -    Sx,Sy,Sz = distance to shift atoms when adding to system (distance units)
    -  extra/atom/types arg = # of extra atom types
    -  extra/bond/types arg = # of extra bond types
    -  extra/angle/types arg = # of extra angle types
    -  extra/dihedral/types arg = # of extra dihedral types
    -  extra/improper/types arg = # of extra improper types
    -  group args = groupID
    -    groupID = add atoms in data file to this group
    -  fix args = fix-ID header-string section-string
    -    fix-ID = ID of fix to process header lines and sections of data file
    -    header-string = header lines containing this string will be passed to fix
    -    section-string = section names with this string will be passed to fix
    +  append = add new atoms with IDs appended to current IDs
    +  Nstart = add new atoms with IDs starting with Nstart
    +  merge = add new atoms with their IDs unchanged
    +offset args = toff boff aoff doff ioff
    +  toff = offset to add to atom types
    +  boff = offset to add to bond types
    +  aoff = offset to add to angle types
    +  doff = offset to add to dihedral types
    +  ioff = offset to add to improper types
    +shift args = Sx Sy Sz
    +  Sx,Sy,Sz = distance to shift atoms when adding to system (distance units)
    +extra/atom/types arg = # of extra atom types
    +extra/bond/types arg = # of extra bond types
    +extra/angle/types arg = # of extra angle types
    +extra/dihedral/types arg = # of extra dihedral types
    +extra/improper/types arg = # of extra improper types
    +group args = groupID
    +  groupID = add atoms in data file to this group
    +fix args = fix-ID header-string section-string
    +  fix-ID = ID of fix to process header lines and sections of data file
    +  header-string = header lines containing this string will be passed to fix
    +  section-string = section names with this string will be passed to fix
     
    @@ -530,7 +530,7 @@ Atoms section:

  • line syntax: ID coeffs
  • ID = angle type (1-N)
    -  coeffs = list of coeffs
    +coeffs = list of coeffs
     
      @@ -552,7 +552,7 @@ input script.

     ID = improper type (1-N)
    -  coeffs = list of coeffs (see improper_coeff)
    +coeffs = list of coeffs (see improper_coeff)
     

    AngleAngleTorsion Coeffs section:

    @@ -562,7 +562,7 @@ ID = improper type (1-N)
     ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see dihedral_coeff)
    +coeffs = list of coeffs (see dihedral_coeff)
     

    Angles section:

    @@ -571,8 +571,8 @@ ID = dihedral type (1-N)
  • line syntax: ID type atom1 atom2 atom3
  • ID = number of angle (1-Nangles)
    -  type = angle type (1-Nangletype)
    -  atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle
    +type = angle type (1-Nangletype)
    +atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle
     

    example: @@ -593,7 +593,7 @@ integers (1, not 1.0).

     ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see dihedral_coeff)
    +coeffs = list of coeffs (see dihedral_coeff)
     

    Atoms section:

    @@ -815,7 +815,7 @@ script.

  • first line syntax: atom-ID ninteger ndouble
  • ninteger = # of integer quantities for this particle
    -  ndouble = # of floating-point quantities for this particle
    +ndouble = # of floating-point quantities for this particle
     
      @@ -824,16 +824,16 @@ script.

    • example:
    12 3 6
    -  2 3 2
    -  1.0 2.0 3.0 1.0 2.0 4.0
    +2 3 2
    +1.0 2.0 3.0 1.0 2.0 4.0
     
    • example:
    12 0 14
    -  1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
    -  2.0 4.0 4.0 2.0
    +1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
    +2.0 4.0 4.0 2.0
     

    The Bodies section must appear if atom_style body @@ -863,7 +863,7 @@ e.g. there are no integer lines in the last example above.

  • line syntax: ID coeffs
  • ID = bond type (1-N)
    -  coeffs = list of coeffs
    +coeffs = list of coeffs
     
      @@ -885,7 +885,7 @@ script.

     ID = angle type (1-N)
    -  coeffs = list of coeffs (see class 2 section of angle_coeff)
    +coeffs = list of coeffs (see class 2 section of angle_coeff)
     

    BondBond Coeffs section:

    @@ -895,7 +895,7 @@ ID = angle type (1-N)
     ID = angle type (1-N)
    -  coeffs = list of coeffs (see class 2 section of angle_coeff)
    +coeffs = list of coeffs (see class 2 section of angle_coeff)
     

    BondBond13 Coeffs section:

    @@ -905,7 +905,7 @@ ID = angle type (1-N)
     ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    +coeffs = list of coeffs (see class 2 section of dihedral_coeff)
     

    Bonds section:

    @@ -914,8 +914,8 @@ ID = dihedral type (1-N)
  • line syntax: ID type atom1 atom2
  • ID = bond number (1-Nbonds)
    -  type = bond type (1-Nbondtype)
    -  atom1,atom2 = IDs of 1st,2nd atoms in bond
    +type = bond type (1-Nbondtype)
    +atom1,atom2 = IDs of 1st,2nd atoms in bond
     
      @@ -933,7 +933,7 @@ in this section must be integers (1, not 1.0).

    • line syntax: ID coeffs
    ID = dihedral type (1-N)
    -  coeffs = list of coeffs
    +coeffs = list of coeffs
     
      @@ -954,8 +954,8 @@ Coefficients can also be set via the
    • line syntax: ID type atom1 atom2 atom3 atom4
    ID = number of dihedral (1-Ndihedrals)
    -  type = dihedral type (1-Ndihedraltype)
    -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral
    +type = dihedral type (1-Ndihedraltype)
    +atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral
     
      @@ -974,8 +974,8 @@ section must be integers (1, not 1.0).

    • line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk
    atom-ID = ID of atom which is an ellipsoid
    -  shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
    -  quatw,quati,quatj,quatk = quaternion components for orientation of atom
    +shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
    +quatw,quati,quatj,quatk = quaternion components for orientation of atom
     
      @@ -1011,7 +1011,7 @@ specified as a unit vector.

     ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    +coeffs = list of coeffs (see class 2 section of dihedral_coeff)
     

    Improper Coeffs section:

    @@ -1020,7 +1020,7 @@ ID = dihedral type (1-N)
  • line syntax: ID coeffs
  • ID = improper type (1-N)
    -  coeffs = list of coeffs
    +coeffs = list of coeffs
     
      @@ -1041,8 +1041,8 @@ Coefficients can also be set via the
    • line syntax: ID type atom1 atom2 atom3 atom4
    ID = number of improper (1-Nimpropers)
    -  type = improper type (1-Nimpropertype)
    -  atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper
    +type = improper type (1-Nimpropertype)
    +atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper
     
      @@ -1063,8 +1063,8 @@ values in this section must be integers (1, not 1.0).

    • line syntax: atom-ID x1 y1 x2 y2
    atom-ID = ID of atom which is a line segment
    -  x1,y1 = 1st end point
    -  x2,y2 = 2nd end point
    +x1,y1 = 1st end point
    +x2,y2 = 2nd end point
     
      @@ -1091,7 +1091,7 @@ for defining some interactions.

    • line syntax: ID mass
    ID = atom type (1-N)
    -  mass = mass value
    +mass = mass value
     
     ID = dihedral type (1-N)
    -  coeffs = list of coeffs (see class 2 section of dihedral_coeff)
    +coeffs = list of coeffs (see class 2 section of dihedral_coeff)
     

    Pair Coeffs section:

    @@ -1121,7 +1121,7 @@ ID = dihedral type (1-N)
  • line syntax: ID coeffs
  • ID = atom type (1-N)
    -  coeffs = list of coeffs
    +coeffs = list of coeffs
     
      @@ -1145,15 +1145,15 @@ script.

    • line syntax: ID1 ID2 coeffs
    ID1 = atom type I = 1-N
    -  ID2 = atom type J = I-N, with I <= J
    -  coeffs = list of coeffs
    +ID2 = atom type J = I-N, with I <= J
    +coeffs = list of coeffs
     
    • examples:
    3 3 0.022 2.35197 0.022 2.35197
    -  3 5 0.022 2.35197 0.022 2.35197
    +3 5 0.022 2.35197 0.022 2.35197
     

    This section must have N*(N+1)/2 lines where N = # of atom types. The @@ -1172,9 +1172,9 @@ script.

  • line syntax: atom-ID x1 y1 x2 y2
  • atom-ID = ID of atom which is a line segment
    -  x1,y1,z1 = 1st corner point
    -  x2,y2,z2 = 2nd corner point
    -  x3,y3,z3 = 3rd corner point
    +x1,y1,z1 = 1st corner point
    +x2,y2,z2 = 2nd corner point
    +x3,y3,z3 = 3rd corner point
     
      diff --git a/doc/read_dump.html b/doc/read_dump.html index e986e9e9f9..98669011e1 100644 --- a/doc/read_dump.html +++ b/doc/read_dump.html @@ -149,21 +149,21 @@ field = x or y or z or vx or vy or
     box value = yes or no = replace simulation box with dump box
    -  replace value = yes or no = overwrite atoms with dump atoms
    -  purge value = yes or no = delete all atoms before adding dump atoms
    -  trim value = yes or no = trim atoms not in dump snapshot
    -  add value = yes or no = add new dump atoms to system
    -  label value = field column
    -    field = one of the listed fields or id or type
    -    column = label on corresponding column in dump file
    -  scaled value = yes or no = coords in dump file are scaled/unscaled
    -  wrapped value = yes or no = coords in dump file are wrapped/unwrapped
    -  format values = format of dump file, must be last keyword if used
    -    native = native LAMMPS dump file
    -    xyz = XYZ file
    -    molfile style path = VMD molfile plugin interface
    -      style = dcd or xyz or others supported by molfile plugins
    -      path = optional path for location of molfile plugins
    +replace value = yes or no = overwrite atoms with dump atoms
    +purge value = yes or no = delete all atoms before adding dump atoms
    +trim value = yes or no = trim atoms not in dump snapshot
    +add value = yes or no = add new dump atoms to system
    +label value = field column
    +  field = one of the listed fields or id or type
    +  column = label on corresponding column in dump file
    +scaled value = yes or no = coords in dump file are scaled/unscaled
    +wrapped value = yes or no = coords in dump file are wrapped/unwrapped
    +format values = format of dump file, must be last keyword if used
    +  native = native LAMMPS dump file
    +  xyz = XYZ file
    +  molfile style path = VMD molfile plugin interface
    +    style = dcd or xyz or others supported by molfile plugins
    +    path = optional path for location of molfile plugins
     
    diff --git a/doc/region.html b/doc/region.html index e5a3e983cb..3ac0eae595 100644 --- a/doc/region.html +++ b/doc/region.html @@ -137,37 +137,37 @@
     delete = no args
    -  block args = xlo xhi ylo yhi zlo zhi
    -    xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units)
    -  cone args = dim c1 c2 radlo radhi lo hi
    -    dim = x or y or z = axis of cone
    -    c1,c2 = coords of cone axis in other 2 dimensions (distance units)
    -    radlo,radhi = cone radii at lo and hi end (distance units)
    -    lo,hi = bounds of cone in dim (distance units)
    -  cylinder args = dim c1 c2 radius lo hi
    -    dim = x or y or z = axis of cylinder
    -    c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
    -    radius = cylinder radius (distance units)
    -      radius can be a variable (see below)
    -    lo,hi = bounds of cylinder in dim (distance units)
    -  plane args = px py pz nx ny nz
    -    px,py,pz = point on the plane (distance units)
    -    nx,ny,nz = direction normal to plane (distance units)
    -  prism args = xlo xhi ylo yhi zlo zhi xy xz yz
    -    xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
    -    xy = distance to tilt y in x direction (distance units)
    -    xz = distance to tilt z in x direction (distance units)
    -    yz = distance to tilt z in y direction (distance units)
    -  sphere args = x y z radius
    -    x,y,z = center of sphere (distance units)
    -    radius = radius of sphere (distance units)
    -      radius can be a variable (see below)
    -  union args = N reg-ID1 reg-ID2 ...
    -    N = # of regions to follow, must be 2 or greater
    -    reg-ID1,reg-ID2, ... = IDs of regions to join together
    -  intersect args = N reg-ID1 reg-ID2 ...
    -    N = # of regions to follow, must be 2 or greater
    -    reg-ID1,reg-ID2, ... = IDs of regions to intersect
    +block args = xlo xhi ylo yhi zlo zhi
    +  xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units)
    +cone args = dim c1 c2 radlo radhi lo hi
    +  dim = x or y or z = axis of cone
    +  c1,c2 = coords of cone axis in other 2 dimensions (distance units)
    +  radlo,radhi = cone radii at lo and hi end (distance units)
    +  lo,hi = bounds of cone in dim (distance units)
    +cylinder args = dim c1 c2 radius lo hi
    +  dim = x or y or z = axis of cylinder
    +  c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
    +  radius = cylinder radius (distance units)
    +    radius can be a variable (see below)
    +  lo,hi = bounds of cylinder in dim (distance units)
    +plane args = px py pz nx ny nz
    +  px,py,pz = point on the plane (distance units)
    +  nx,ny,nz = direction normal to plane (distance units)
    +prism args = xlo xhi ylo yhi zlo zhi xy xz yz
    +  xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
    +  xy = distance to tilt y in x direction (distance units)
    +  xz = distance to tilt z in x direction (distance units)
    +  yz = distance to tilt z in y direction (distance units)
    +sphere args = x y z radius
    +  x,y,z = center of sphere (distance units)
    +  radius = radius of sphere (distance units)
    +    radius can be a variable (see below)
    +union args = N reg-ID1 reg-ID2 ...
    +  N = # of regions to follow, must be 2 or greater
    +  reg-ID1,reg-ID2, ... = IDs of regions to join together
    +intersect args = N reg-ID1 reg-ID2 ...
    +  N = # of regions to follow, must be 2 or greater
    +  reg-ID1,reg-ID2, ... = IDs of regions to intersect
     
    • zero or more keyword/arg pairs may be appended
    • @@ -175,17 +175,17 @@
     side value = in or out
    -    in = the region is inside the specified geometry
    -    out = the region is outside the specified geometry
    -  units value = lattice or box
    -    lattice = the geometry is defined in lattice units
    -    box = the geometry is defined in simulation box units
    -  move args = v_x v_y v_z
    -    v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time
    -  rotate args = v_theta Px Py Pz Rx Ry Rz
    -    v_theta = equal-style variable for rotaton of region over time (in radians)
    -    Px,Py,Pz = origin for axis of rotation (distance units)
    -    Rx,Ry,Rz = axis of rotation vector
    +  in = the region is inside the specified geometry
    +  out = the region is outside the specified geometry
    +units value = lattice or box
    +  lattice = the geometry is defined in lattice units
    +  box = the geometry is defined in simulation box units
    +move args = v_x v_y v_z
    +  v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time
    +rotate args = v_theta Px Py Pz Rx Ry Rz
    +  v_theta = equal-style variable for rotaton of region over time (in radians)
    +  Px,Py,Pz = origin for axis of rotation (distance units)
    +  Rx,Ry,Rz = axis of rotation vector
     
    diff --git a/doc/restart.html b/doc/restart.html index e1aedf7dbf..3bf2ce569e 100644 --- a/doc/restart.html +++ b/doc/restart.html @@ -143,9 +143,9 @@ restart N file1 file2 keyword value ...
     fileper arg = Np
    -    Np = write one file for every this many processors
    -  nfile arg = Nf
    -    Nf = write this many files, one from each of Nf processors
    +  Np = write one file for every this many processors
    +nfile arg = Nf
    +  Nf = write this many files, one from each of Nf processors
     
    diff --git a/doc/run.html b/doc/run.html index b7ed152afd..b2b8ecd7fd 100644 --- a/doc/run.html +++ b/doc/run.html @@ -138,16 +138,16 @@
     upto value = none
    -  start value = N1
    -    N1 = timestep at which 1st run started
    -  stop value = N2
    -    N2 = timestep at which last run will end
    -  pre value = no or yes
    -  post value = no or yes
    -  every values = M c1 c2 ...
    -    M = break the run into M-timestep segments and invoke one or more commands between each segment
    -    c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes
    -    c1 = NULL means no command will be invoked
    +start value = N1
    +  N1 = timestep at which 1st run started
    +stop value = N2
    +  N2 = timestep at which last run will end
    +pre value = no or yes
    +post value = no or yes
    +every values = M c1 c2 ...
    +  M = break the run into M-timestep segments and invoke one or more commands between each segment
    +  c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes
    +  c1 = NULL means no command will be invoked
     
    diff --git a/doc/run_style.html b/doc/run_style.html index 0e9c499bdc..d9a467fc7d 100644 --- a/doc/run_style.html +++ b/doc/run_style.html @@ -136,41 +136,41 @@
     verlet args = none
    -  verlet/split args = none
    -  respa args = N n1 n2 ... keyword values ...
    -    N = # of levels of rRESPA
    -    n1, n2, ... = loop factor between rRESPA levels (N-1 values)
    -    zero or more keyword/value pairings may be appended to the loop factors
    -    keyword = bond or angle or dihedral or improper or
    -           pair or inner or middle or outer or hybrid or kspace
    -      bond value = M
    -        M = which level (1-N) to compute bond forces in
    -      angle value = M
    -        M = which level (1-N) to compute angle forces in
    -      dihedral value = M
    -        M = which level (1-N) to compute dihedral forces in
    -      improper value = M
    -        M = which level (1-N) to compute improper forces in
    -      pair value = M
    -        M = which level (1-N) to compute pair forces in
    -      inner values = M cut1 cut2
    -        M = which level (1-N) to compute pair inner forces in
    -     cut1 = inner cutoff between pair inner and
    -            pair middle or outer  (distance units)
    -     cut2 = outer cutoff between pair inner and
    -            pair middle or outer  (distance units)
    -      middle values = M cut1 cut2
    -        M = which level (1-N) to compute pair middle forces in
    -     cut1 = inner cutoff between pair middle and pair outer (distance units)
    -     cut2 = outer cutoff between pair middle and pair outer (distance units)
    -      outer value = M
    -        M = which level (1-N) to compute pair outer forces in
    -      hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles
    -        M1 = which level (1-N) to compute the first pair_style hybrid sub-style in
    -        M2 = which level (1-N) to compute the second pair_style hybrid sub-style in
    -        ...
    -      kspace value = M
    -        M = which level (1-N) to compute kspace forces in
    +verlet/split args = none
    +respa args = N n1 n2 ... keyword values ...
    +  N = # of levels of rRESPA
    +  n1, n2, ... = loop factor between rRESPA levels (N-1 values)
    +  zero or more keyword/value pairings may be appended to the loop factors
    +  keyword = bond or angle or dihedral or improper or
    +         pair or inner or middle or outer or hybrid or kspace
    +    bond value = M
    +      M = which level (1-N) to compute bond forces in
    +    angle value = M
    +      M = which level (1-N) to compute angle forces in
    +    dihedral value = M
    +      M = which level (1-N) to compute dihedral forces in
    +    improper value = M
    +      M = which level (1-N) to compute improper forces in
    +    pair value = M
    +      M = which level (1-N) to compute pair forces in
    +    inner values = M cut1 cut2
    +      M = which level (1-N) to compute pair inner forces in
    +   cut1 = inner cutoff between pair inner and
    +          pair middle or outer  (distance units)
    +   cut2 = outer cutoff between pair inner and
    +          pair middle or outer  (distance units)
    +    middle values = M cut1 cut2
    +      M = which level (1-N) to compute pair middle forces in
    +   cut1 = inner cutoff between pair middle and pair outer (distance units)
    +   cut2 = outer cutoff between pair middle and pair outer (distance units)
    +    outer value = M
    +      M = which level (1-N) to compute pair outer forces in
    +    hybrid values = M1 [M2 ...] (as many values as there are hybrid sub-styles
    +      M1 = which level (1-N) to compute the first pair_style hybrid sub-style in
    +      M2 = which level (1-N) to compute the second pair_style hybrid sub-style in
    +      ...
    +    kspace value = M
    +      M = which level (1-N) to compute kspace forces in
     
    diff --git a/doc/set.html b/doc/set.html index d0c30f8dca..c90a9530f2 100644 --- a/doc/set.html +++ b/doc/set.html @@ -148,67 +148,67 @@
     type value = atom type
    -    value can be an atom-style variable (see below)
    -  type/fraction values = type fraction seed
    -    type = new atom type
    -    fraction = fraction of selected atoms to set to new atom type
    -    seed = random # seed (positive integer)
    -  mol value = molecule ID
    -    value can be an atom-style variable (see below)
    -  x,*y*,*z* value = atom coordinate (distance units)
    -    value can be an atom-style variable (see below)
    -  charge value = atomic charge (charge units)
    -    value can be an atom-style variable (see below)
    -  dipole values = x y z
    -    x,y,z = orientation of dipole moment vector
    -    any of x,y,z can be an atom-style variable (see below)
    -  dipole/random value = seed Dlen
    -    seed = random # seed (positive integer) for dipole moment orientations
    -    Dlen = magnitude of dipole moment (dipole units)
    -  quat values = a b c theta
    -    a,b,c = unit vector to rotate particle around via right-hand rule
    -    theta = rotation angle (degrees)
    -    any of a,b,c,theta can be an atom-style variable (see below)
    -  quat/random value = seed
    -    seed = random # seed (positive integer) for quaternion orientations
    -  diameter value = diameter of spherical particle (distance units)
    -    value can be an atom-style variable (see below)
    -  shape value = Sx Sy Sz
    -    Sx,Sy,Sz = 3 diameters of ellipsoid (distance units)
    -  length value = len
    -    len = length of line segment (distance units)
    -    len can be an atom-style variable (see below)
    -  tri value = side
    -    side = side length of equilateral triangle (distance units)
    -    side can be an atom-style variable (see below)
    -  theta value = angle (degrees)
    -    angle = orientation of line segment with respect to x-axis
    -    angle can be an atom-style variable (see below)
    -  angmom values = Lx Ly Lz
    -    Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units)
    -    any of Lx,Ly,Lz can be an atom-style variable (see below)
    -  mass value = per-atom mass (mass units)
    -    value can be an atom-style variable (see below)
    -  density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
    -    value can be an atom-style variable (see below)
    -  volume value = particle volume for Peridynamic particle (distance^3 units)
    -    value can be an atom-style variable (see below)
    -  image nx ny nz
    -    nx,ny,nz = which periodic image of the simulation box the atom is in
    -  bond value = bond type for all bonds between selected atoms
    -  angle value = angle type for all angles between selected atoms
    -  dihedral value = dihedral type for all dihedrals between selected atoms
    -  improper value = improper type for all impropers between selected atoms
    -  meso_e value = energy of SPH particles (need units)
    -    value can be an atom-style variable (see below)
    -  meso_cv value = heat capacity of SPH particles (need units)
    -    value can be an atom-style variable (see below)
    -  meso_rho value = density of SPH particles (need units)
    -    value can be an atom-style variable (see below)
    -  i_name value = value for custom integer vector with name
    -    value can be an atom-style variable (see below)
    -  d_name value = value for custom floating-point vector with name
    -    value can be an atom-style variable (see below)
    +  value can be an atom-style variable (see below)
    +type/fraction values = type fraction seed
    +  type = new atom type
    +  fraction = fraction of selected atoms to set to new atom type
    +  seed = random # seed (positive integer)
    +mol value = molecule ID
    +  value can be an atom-style variable (see below)
    +x,*y*,*z* value = atom coordinate (distance units)
    +  value can be an atom-style variable (see below)
    +charge value = atomic charge (charge units)
    +  value can be an atom-style variable (see below)
    +dipole values = x y z
    +  x,y,z = orientation of dipole moment vector
    +  any of x,y,z can be an atom-style variable (see below)
    +dipole/random value = seed Dlen
    +  seed = random # seed (positive integer) for dipole moment orientations
    +  Dlen = magnitude of dipole moment (dipole units)
    +quat values = a b c theta
    +  a,b,c = unit vector to rotate particle around via right-hand rule
    +  theta = rotation angle (degrees)
    +  any of a,b,c,theta can be an atom-style variable (see below)
    +quat/random value = seed
    +  seed = random # seed (positive integer) for quaternion orientations
    +diameter value = diameter of spherical particle (distance units)
    +  value can be an atom-style variable (see below)
    +shape value = Sx Sy Sz
    +  Sx,Sy,Sz = 3 diameters of ellipsoid (distance units)
    +length value = len
    +  len = length of line segment (distance units)
    +  len can be an atom-style variable (see below)
    +tri value = side
    +  side = side length of equilateral triangle (distance units)
    +  side can be an atom-style variable (see below)
    +theta value = angle (degrees)
    +  angle = orientation of line segment with respect to x-axis
    +  angle can be an atom-style variable (see below)
    +angmom values = Lx Ly Lz
    +  Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units)
    +  any of Lx,Ly,Lz can be an atom-style variable (see below)
    +mass value = per-atom mass (mass units)
    +  value can be an atom-style variable (see below)
    +density value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
    +  value can be an atom-style variable (see below)
    +volume value = particle volume for Peridynamic particle (distance^3 units)
    +  value can be an atom-style variable (see below)
    +image nx ny nz
    +  nx,ny,nz = which periodic image of the simulation box the atom is in
    +bond value = bond type for all bonds between selected atoms
    +angle value = angle type for all angles between selected atoms
    +dihedral value = dihedral type for all dihedrals between selected atoms
    +improper value = improper type for all impropers between selected atoms
    +meso_e value = energy of SPH particles (need units)
    +  value can be an atom-style variable (see below)
    +meso_cv value = heat capacity of SPH particles (need units)
    +  value can be an atom-style variable (see below)
    +meso_rho value = density of SPH particles (need units)
    +  value can be an atom-style variable (see below)
    +i_name value = value for custom integer vector with name
    +  value can be an atom-style variable (see below)
    +d_name value = value for custom floating-point vector with name
    +  value can be an atom-style variable (see below)
     
    diff --git a/doc/shell.html b/doc/shell.html index eaf88c7f39..16b6175091 100644 --- a/doc/shell.html +++ b/doc/shell.html @@ -136,19 +136,19 @@
     cd arg = dir
    -    dir = directory to change to
    -  mkdir args = dir1 dir2 ...
    -    dir1,dir2 = one or more directories to create
    -  mv args = old new
    -    old = old filename
    -    new = new filename
    -  rm args = file1 file2 ...
    -    file1,file2 = one or more filenames to delete
    -  rmdir args = dir1 dir2 ...
    -    dir1,dir2 = one or more directories to delete
    -  putenv args = var1=value1 var2=value2
    -    var=value = one of more definitions of environment variables
    -  anything else is passed as a command to the shell for direct execution
    +  dir = directory to change to
    +mkdir args = dir1 dir2 ...
    +  dir1,dir2 = one or more directories to create
    +mv args = old new
    +  old = old filename
    +  new = new filename
    +rm args = file1 file2 ...
    +  file1,file2 = one or more filenames to delete
    +rmdir args = dir1 dir2 ...
    +  dir1,dir2 = one or more directories to delete
    +putenv args = var1=value1 var2=value2
    +  var=value = one of more definitions of environment variables
    +anything else is passed as a command to the shell for direct execution
     
    diff --git a/doc/special_bonds.html b/doc/special_bonds.html index a716bcd37a..a8b97e9d4d 100644 --- a/doc/special_bonds.html +++ b/doc/special_bonds.html @@ -137,19 +137,19 @@
     amber values = none
    -  charmm values = none
    -  dreiding values = none
    -  fene values = none
    -  lj/coul values = w1,w2,w3
    -    w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions
    -  lj values = w1,w2,w3
    -    w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions
    -  coul values = w1,w2,w3
    -    w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions
    -  angle value = yes or no
    -  dihedral value = yes or no
    -  extra value = N
    -    N = number of extra 1-2,1-3,1-4 interactions to save space for
    +charmm values = none
    +dreiding values = none
    +fene values = none
    +lj/coul values = w1,w2,w3
    +  w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions
    +lj values = w1,w2,w3
    +  w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions
    +coul values = w1,w2,w3
    +  w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions
    +angle value = yes or no
    +dihedral value = yes or no
    +extra value = N
    +  N = number of extra 1-2,1-3,1-4 interactions to save space for
     

    Examples:

    special_bonds amber
    diff --git a/doc/tad.html b/doc/tad.html
    index aa0bff9b8e..843fc4a7bb 100644
    --- a/doc/tad.html
    +++ b/doc/tad.html
    @@ -144,20 +144,20 @@
     
     
     min values = etol ftol maxiter maxeval
    -    etol = stopping tolerance for energy (energy units)
    -    ftol = stopping tolerance for force (force units)
    -    maxiter = max iterations of minimize
    -    maxeval = max number of force/energy evaluations
    -  neb values = ftol N1 N2 Nevery
    -    etol = stopping tolerance for energy (energy units)
    -    ftol = stopping tolerance for force (force units)
    -    N1 = max # of iterations (timesteps) to run initial NEB
    -    N2 = max # of iterations (timesteps) to run barrier-climbing NEB
    -    Nevery = print NEB statistics every this many timesteps
    -  neb_style value = quickmin or fire
    -  neb_step value = dtneb
    -    dtneb = timestep for NEB damped dynamics minimization
    -  neb_log value = file where NEB statistics are printed
    +  etol = stopping tolerance for energy (energy units)
    +  ftol = stopping tolerance for force (force units)
    +  maxiter = max iterations of minimize
    +  maxeval = max number of force/energy evaluations
    +neb values = ftol N1 N2 Nevery
    +  etol = stopping tolerance for energy (energy units)
    +  ftol = stopping tolerance for force (force units)
    +  N1 = max # of iterations (timesteps) to run initial NEB
    +  N2 = max # of iterations (timesteps) to run barrier-climbing NEB
    +  Nevery = print NEB statistics every this many timesteps
    +neb_style value = quickmin or fire
    +neb_step value = dtneb
    +  dtneb = timestep for NEB damped dynamics minimization
    +neb_log value = file where NEB statistics are printed
     
    diff --git a/doc/thermo_style.html b/doc/thermo_style.html index 5195ac1a5c..981a09b10c 100644 --- a/doc/thermo_style.html +++ b/doc/thermo_style.html @@ -137,70 +137,70 @@
     one args = none
    -  multi args = none
    -  custom args = list of keywords
    -    possible keywords = step, elapsed, elaplong, dt, time,
    -                        cpu, tpcpu, spcpu, cpuremain, part,
    -                        atoms, temp, press, pe, ke, etotal, enthalpy,
    -                        evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
    -                        emol, elong, etail,
    -                        vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
    -                     xy, xz, yz, xlat, ylat, zlat,
    -                        bonds, angles, dihedrals, impropers,
    -                     pxx, pyy, pzz, pxy, pxz, pyz,
    -                     fmax, fnorm, nbuild, ndanger,
    -                     cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
    -                     c_ID, c_ID[I], c_ID[I][J],
    -                        f_ID, f_ID[I], f_ID[I][J],
    -                        v_name
    -      step = timestep
    -      elapsed = timesteps since start of this run
    -      elaplong = timesteps since start of initial run in a series of runs
    -      dt = timestep size
    -      time = simulation time
    -      cpu = elapsed CPU time in seconds
    -      tpcpu = time per CPU second
    -      spcpu = timesteps per CPU second
    -      cpuremain = estimated CPU time remaining in run
    -      part = which partition (0 to Npartition-1) this is
    -      atoms = # of atoms
    -      temp = temperature
    -      press = pressure
    -      pe = total potential energy
    -      ke = kinetic energy
    -      etotal = total energy (pe + ke)
    -      enthalpy = enthalpy (etotal + press*vol)
    -      evdwl = VanderWaal pairwise energy
    -      ecoul = Coulombic pairwise energy
    -      epair = pairwise energy (evdwl + ecoul + elong + etail)
    -      ebond = bond energy
    -      eangle = angle energy
    -      edihed = dihedral energy
    -      eimp = improper energy
    -      emol = molecular energy (ebond + eangle + edihed + eimp)
    -      elong = long-range kspace energy
    -      etail = VanderWaal energy long-range tail correction
    -      vol = volume
    -      density = mass density of system
    -      lx,ly,lz = box lengths in x,y,z
    -      xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
    -      xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes
    -      xlat,ylat,zlat = lattice spacings as calculated by lattice command
    -      bonds,angles,dihedrals,impropers = # of these interactions defined
    -      pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
    -      fmax = max component of force on any atom in any dimension
    -      fnorm = length of force vector for all atoms
    -      nbuild = # of neighbor list builds
    -      ndanger = # of dangerous neighbor list builds
    -      cella,cellb,cellc = periodic cell lattice constants a,b,c
    -      cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
    -      c_ID = global scalar value calculated by a compute with ID
    -      c_ID[I] = Ith component of global vector calculated by a compute with ID
    -      c_ID[I][J] = I,J component of global array calculated by a compute with ID
    -      f_ID = global scalar value calculated by a fix with ID
    -      f_ID[I] = Ith component of global vector calculated by a fix with ID
    -      f_ID[I][J] = I,J component of global array calculated by a fix with ID
    -      v_name = scalar value calculated by an equal-style variable with name
    +multi args = none
    +custom args = list of keywords
    +  possible keywords = step, elapsed, elaplong, dt, time,
    +                      cpu, tpcpu, spcpu, cpuremain, part,
    +                      atoms, temp, press, pe, ke, etotal, enthalpy,
    +                      evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
    +                      emol, elong, etail,
    +                      vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
    +                   xy, xz, yz, xlat, ylat, zlat,
    +                      bonds, angles, dihedrals, impropers,
    +                   pxx, pyy, pzz, pxy, pxz, pyz,
    +                   fmax, fnorm, nbuild, ndanger,
    +                   cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
    +                   c_ID, c_ID[I], c_ID[I][J],
    +                      f_ID, f_ID[I], f_ID[I][J],
    +                      v_name
    +    step = timestep
    +    elapsed = timesteps since start of this run
    +    elaplong = timesteps since start of initial run in a series of runs
    +    dt = timestep size
    +    time = simulation time
    +    cpu = elapsed CPU time in seconds
    +    tpcpu = time per CPU second
    +    spcpu = timesteps per CPU second
    +    cpuremain = estimated CPU time remaining in run
    +    part = which partition (0 to Npartition-1) this is
    +    atoms = # of atoms
    +    temp = temperature
    +    press = pressure
    +    pe = total potential energy
    +    ke = kinetic energy
    +    etotal = total energy (pe + ke)
    +    enthalpy = enthalpy (etotal + press*vol)
    +    evdwl = VanderWaal pairwise energy
    +    ecoul = Coulombic pairwise energy
    +    epair = pairwise energy (evdwl + ecoul + elong + etail)
    +    ebond = bond energy
    +    eangle = angle energy
    +    edihed = dihedral energy
    +    eimp = improper energy
    +    emol = molecular energy (ebond + eangle + edihed + eimp)
    +    elong = long-range kspace energy
    +    etail = VanderWaal energy long-range tail correction
    +    vol = volume
    +    density = mass density of system
    +    lx,ly,lz = box lengths in x,y,z
    +    xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
    +    xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes
    +    xlat,ylat,zlat = lattice spacings as calculated by lattice command
    +    bonds,angles,dihedrals,impropers = # of these interactions defined
    +    pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
    +    fmax = max component of force on any atom in any dimension
    +    fnorm = length of force vector for all atoms
    +    nbuild = # of neighbor list builds
    +    ndanger = # of dangerous neighbor list builds
    +    cella,cellb,cellc = periodic cell lattice constants a,b,c
    +    cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
    +    c_ID = global scalar value calculated by a compute with ID
    +    c_ID[I] = Ith component of global vector calculated by a compute with ID
    +    c_ID[I][J] = I,J component of global array calculated by a compute with ID
    +    f_ID = global scalar value calculated by a fix with ID
    +    f_ID[I] = Ith component of global vector calculated by a fix with ID
    +    f_ID[I][J] = I,J component of global array calculated by a fix with ID
    +    v_name = scalar value calculated by an equal-style variable with name
     
    diff --git a/doc/variable.html b/doc/variable.html index d3867fa481..ab9808a4d7 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -138,60 +138,60 @@
     delete = no args
    -  index args = one or more strings
    -  loop args = N
    -    N = integer size of loop, loop from 1 to N inclusive
    -  loop args = N pad
    -    N = integer size of loop, loop from 1 to N inclusive
    -    pad = all values will be same length, e.g. 001, 002, ..., 100
    -  loop args = N1 N2
    -    N1,N2 = loop from N1 to N2 inclusive
    -  loop args = N1 N2 pad
    -    N1,N2 = loop from N1 to N2 inclusive
    -    pad = all values will be same length, e.g. 050, 051, ..., 100
    -  world args = one string for each partition of processors
    -  universe args = one or more strings
    -  uloop args = N
    -    N = integer size of loop
    -  uloop args = N pad
    -    N = integer size of loop
    -    pad = all values will be same length, e.g. 001, 002, ..., 100
    -  string arg = one string
    -  format args = vname fstr
    -    vname = name of equal-style variable to evaluate
    -    fstr = C-style format string
    -  getenv arg = one string
    -  file arg = filename
    -  atomfile arg = filename
    -  python arg = function
    -  equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
    -    numbers = 0.0, 100, -5.4, 2.8e-4, etc
    -    constants = PI
    -    thermo keywords = vol, ke, press, etc from thermo_style
    -    math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
    -                     x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x
    -    math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
    -                     sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
    -                     random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x)
    -                     ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
    -                  stride(x,y,z), stride2(x,y,z,a,b,c),
    -                  vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
    -    group functions = count(group), mass(group), charge(group),
    -                   xcm(group,dim), vcm(group,dim), fcm(group,dim),
    -                   bound(group,dir), gyration(group), ke(group),
    -                   angmom(group,dim), torque(group,dim),
    -                      inertia(group,dimdim), omega(group,dim)
    -    region functions = count(group,region), mass(group,region), charge(group,region),
    -                   xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
    -                   bound(group,dir,region), gyration(group,region), ke(group,reigon),
    -                   angmom(group,dim,region), torque(group,dim,region),
    -                   inertia(group,dimdim,region), omega(group,dim,region)
    -    special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
    -    atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
    -    atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
    -    compute references = c_ID, c_ID[i], c_ID[i][j]
    -    fix references = f_ID, f_ID[i], f_ID[i][j]
    -    variable references = v_name, v_name[i]
    +index args = one or more strings
    +loop args = N
    +  N = integer size of loop, loop from 1 to N inclusive
    +loop args = N pad
    +  N = integer size of loop, loop from 1 to N inclusive
    +  pad = all values will be same length, e.g. 001, 002, ..., 100
    +loop args = N1 N2
    +  N1,N2 = loop from N1 to N2 inclusive
    +loop args = N1 N2 pad
    +  N1,N2 = loop from N1 to N2 inclusive
    +  pad = all values will be same length, e.g. 050, 051, ..., 100
    +world args = one string for each partition of processors
    +universe args = one or more strings
    +uloop args = N
    +  N = integer size of loop
    +uloop args = N pad
    +  N = integer size of loop
    +  pad = all values will be same length, e.g. 001, 002, ..., 100
    +string arg = one string
    +format args = vname fstr
    +  vname = name of equal-style variable to evaluate
    +  fstr = C-style format string
    +getenv arg = one string
    +file arg = filename
    +atomfile arg = filename
    +python arg = function
    +equal or atom args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references
    +  numbers = 0.0, 100, -5.4, 2.8e-4, etc
    +  constants = PI
    +  thermo keywords = vol, ke, press, etc from thermo_style
    +  math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
    +                   x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x
    +  math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
    +                   sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
    +                   random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x)
    +                   ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
    +                stride(x,y,z), stride2(x,y,z,a,b,c),
    +                vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
    +  group functions = count(group), mass(group), charge(group),
    +                 xcm(group,dim), vcm(group,dim), fcm(group,dim),
    +                 bound(group,dir), gyration(group), ke(group),
    +                 angmom(group,dim), torque(group,dim),
    +                    inertia(group,dimdim), omega(group,dim)
    +  region functions = count(group,region), mass(group,region), charge(group,region),
    +                 xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region),
    +                 bound(group,dir,region), gyration(group,region), ke(group,reigon),
    +                 angmom(group,dim,region), torque(group,dim,region),
    +                 inertia(group,dimdim,region), omega(group,dim,region)
    +  special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)
    +  atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
    +  atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q
    +  compute references = c_ID, c_ID[i], c_ID[i][j]
    +  fix references = f_ID, f_ID[i], f_ID[i][j]
    +  variable references = v_name, v_name[i]
     
    diff --git a/doc/velocity.html b/doc/velocity.html index aa82e906d3..32ca817d6f 100644 --- a/doc/velocity.html +++ b/doc/velocity.html @@ -137,21 +137,21 @@
     create args = temp seed
    -    temp = temperature value (temperature units)
    -    seed = random # seed (positive integer)
    -  set args = vx vy vz
    -    vx,vy,vz = velocity value or NULL (velocity units)
    -    any of vx,vy,vz van be a variable (see below)
    -  scale arg = temp
    -    temp = temperature value (temperature units)
    -  ramp args = vdim vlo vhi dim clo chi
    -    vdim = vx or vy or vz
    -    vlo,vhi = lower and upper velocity value (velocity units)
    -    dim = x or y or z
    -    clo,chi = lower and upper coordinate bound (distance units)
    -  zero arg = linear or angular
    -    linear = zero the linear momentum
    -    angular = zero the angular momentum
    +  temp = temperature value (temperature units)
    +  seed = random # seed (positive integer)
    +set args = vx vy vz
    +  vx,vy,vz = velocity value or NULL (velocity units)
    +  any of vx,vy,vz van be a variable (see below)
    +scale arg = temp
    +  temp = temperature value (temperature units)
    +ramp args = vdim vlo vhi dim clo chi
    +  vdim = vx or vy or vz
    +  vlo,vhi = lower and upper velocity value (velocity units)
    +  dim = x or y or z
    +  clo,chi = lower and upper coordinate bound (distance units)
    +zero arg = linear or angular
    +  linear = zero the linear momentum
    +  angular = zero the angular momentum
     
    • zero or more keyword/value pairs may be appended
    • @@ -159,15 +159,15 @@
     dist value = uniform or gaussian
    -  sum value = no or yes
    -  mom value = no or yes
    -  rot value = no or yes
    -  temp value = temperature compute ID
    -  bias value = no or yes
    -  loop value = all or local or geom
    -  rigid value = fix-ID
    -    fix-ID = ID of rigid body fix
    -  units value = box or lattice
    +sum value = no or yes
    +mom value = no or yes
    +rot value = no or yes
    +temp value = temperature compute ID
    +bias value = no or yes
    +loop value = all or local or geom
    +rigid value = fix-ID
    +  fix-ID = ID of rigid body fix
    +units value = box or lattice
     
    diff --git a/doc/write_data.html b/doc/write_data.html index dcc68346d3..cb8e4e6bbd 100644 --- a/doc/write_data.html +++ b/doc/write_data.html @@ -138,9 +138,9 @@
     nocoeff = do not write out force field info
    -  pair value = ii or ij
    -    ii = write one line of pair coefficient info per atom type
    -    ij = write one line of pair coefficient info per IJ atom type pair
    +pair value = ii or ij
    +  ii = write one line of pair coefficient info per atom type
    +  ij = write one line of pair coefficient info per IJ atom type pair
     
    diff --git a/doc/write_restart.html b/doc/write_restart.html index d5b7a00b2c..e9eccb74a2 100644 --- a/doc/write_restart.html +++ b/doc/write_restart.html @@ -138,9 +138,9 @@
     fileper arg = Np
    -    Np = write one file for every this many processors
    -  nfile arg = Nf
    -    Nf = write this many files, one from each of Nf processors
    +  Np = write one file for every this many processors
    +nfile arg = Nf
    +  Nf = write this many files, one from each of Nf processors
     

    a(H->xp^>2o zu=}|6d6%`8FdOqri`aggTXE2;)=*OZyAwN8d#jt&RsY1G+V7bL2X}9v`1|{C3&96j zao6QTO`AsNxQe5{vPQ#}$QwZQ^h8!%#g!C`D^|E$=1-b7CZBPA({bd<901On4P(#I5?nmJsi zjB)#BjG;2mZRB$6u&Oavdil|*cB8!X!I81neDDfy*zz+=5VbM~D_0ydY@UNPK;J+# zOdW*w56bfoDY1M8|LRtPP!#m2Sv-;k*j)n%pReej4=uM>IPIvUI)^uuL%HaLV^){f z{ZsnUrPiA*1%I}<4c!3NlSOX;{kPe}LE^8_pCCV_7(M|g#jH4b9;a_P$c9?ku&f{l z=j+veHemh6Iuaul_b$e`5GruWI^n_BZW$rvzK`r<%e?_?gOy90`;NUPy=II^qjDTU z7-1x1Z34Clk~X>1(2$?-Cvn=icugbVE(>1$z=ZAh#*Gr6YmJ^j!Z~E4n}cnEyp70d zo&Y-RwPz2SMt1Z$=(en-26wdz&(;u)VLn1&K zale4-cuQh`+GxMMN?5^_arzWV4{7x^+ATrs(v?qfRKdAG_3bGSoPKQofhBR}d*>vg zsx4xL!eL4M%j@E6#wZV&$YlXZp1!ju^c-o5ZBq!V*u$8RXj@yd(8iF4ae*Cm{Q!~0 zb>|u{-`It!+|u;)MD5V8@xkkvl)anJQSe6Z zk%raBh1b|xvb#rVm~S!|VrED=xmpuglxqgCj$iSr{p2DtSSj%sq?Ze;CZkJtkNE*y zNecW;0$u>Xf_NDKf9;Dm<9-Y329WELz4$`Y#aH&nUr$6%W3XgBy>|b_#H8%x^`W8P zCJs%Ple5pO(tGGEzo3a}~ zWtIN?Sk)CCi>sk(;Ec(`8-S>n%}L3xb07cZh3o^#&_JK98$f>k|2&j~IsK*@OE&)= ze5rRUiwN2wBnGh|0|YKKD6FraBu51H&M;qXR$gZ{iZJ-SLaM&Wjo6dEMv#(~xlHoM zf4-=?njX8B&mH%5UUl6d&xyJwayn=FPUe&yx>UpICKP=~AElDhPN@i+&VDJUCod34 zXLbW9sw+KkE=;@sC@k`L!@`SOBf(U-xrU;yPJFl)R!NW?cOS z#hVTt12V4|UIi`3P$P>2V%43-i1&cN>k+kG$B#DNVW4u1h(l+D$ZRzcM5pL=rOI177fQqsvTP zC@J)tW=Vg*2h<+NR<1g`PUl{5u7QsK7^tS4AO`Q%oX$J~(n#LJxQ?9*HFFH{KRsG< zM=pggHo%@JGLrjW2_a-@b395}< zW~VE#^Bn%Oy5B12v|jyawr+W0qoc{;EMhFgW`JW-ps?mRndT4jaxS<9 z&l9WIqZC##jesy{`7!TvFROMZzg6%8{Zyij|F4w(@tnsjIAJvTo4tyh1ge={*Iup3 zG(2{I|L9EC3J2lSDn=1{+cuVa@5jr4BZD#kSO7fdVmSEA0#cB@%j;*x!pLkS#Eze( za{SZC$6p8eA`ESy6}RIUp@p67Nqm!4$xaGr;0G_~)TJ@(tJ4g3S21UUpurl?a}joy z<2cxU=aJoJK#2aW(|BEBjc_)4?gvZ~@}Q9Nu#3>!l$%oPWyNngMzNmdvbyu6a){(| z4^El;J5!rxxD2#gL!|62J}LdB3Yon6W5NGuW~8 zy@pM3^q0k?b$m#|WE!;h#9ejOF9gRCP|ubX`9~-?dEdblRS7F(rV!5XC>rG#E;Y9* zdjI=wEv*qp4?MagyDN9s2G=!iU| zn0QTV#Iaq6%{Ue{)Md1UJOjsnKPStf;C}kMAB!DluDIJfHE>=m)Tl@ykB))gge<;b#dU#zdpnjRscFR@%Kl`w03r7C-FM3c%M zl~2Yd&9E;_u8PnG{{|p*`D)|m5}j4InF|v}a17n&P*etWKwj~C%7uKn-RNG+fIk=> z)#)$qxkhz$TEtX8m(%TKZYWp9q}nyJkNu!(#h(G4TL6ar**!J~>&6$3uCI|9XiLY1 zl9>p|j&$iKBZcI0V8%GpF6+R8gqYfZ%(_EeZM(CC^Fm|j&x*-s^^?$33F)&#@?1sk)V4!2g zr#HQGEoE}F2DuE{3J_pGv2sf$m@>PY9SXZ_Z z6bEEDV|p@5Ir1azoqdw5Dzumala1&tW|NN)nfPo2(4oKvb8on}wctIUM@~AwMAX&E z-J{6II6$@2`%gw|ho(YwOS{kdp&woNBzUPqU2kVe%6=NoHi(lcn59@C!P|}!UQsHO zMk#~Nd*G!qA}I(Bq3FSsF&NX}fN@UKodu#_3ySA)Umyyc#XWT$0xGJR-BqQk^pYLwz-LLH3 zOO<3z7p@i5Ozbju`NTR~zv?CkdSOIvmJ)_6qRtl1Dd7ai=NX)7i6VKzWMjGBx2|?t z7ustVJo)XK@BXdo4Eo{-fTlqc)0QOPaq|^`Wctd2TYHURY&8A4GhlL7=Reooz4^L3 z0rUBi1$q4x3O}?0T91i=wA%MDmzFlX+2A)dVA2r(KUAkELk5kqbelbeV-d!KqbjsM z7`%@D(ZiZYkNOes%^jC4dj=((yi*lSxgz6~#NPXO=c;_f+u}mBp7WAFSP9Lb)-SW` z#Y~KI^N}C05_{Tu0ObzpR81onT{0R7ySC+jBHvjh4Z%$aj53Q5GxNpCL{)D+#Mp4g z#~CUiY3&OKUhBf+8Sc-br4&p^|E$rUF4e4V4FPtZVy756PgzHGVes5_Yx&!=G8M+S zJRiz&@_=P*O@JR%1uQw(pbT>Mb0l4WTnmT$hYfvc8J4=s3hf@G z+bf@lUTI0CT?9Xj5oueM+d5Nz3$B```EgBzMRHE{#929y|DksP3q_DyO(ZC@7Xpn4 z%@2ZFez${in%vjEU+YN(w*PU;CL_tz5`pk0<+o-wj}@v(RG;Py%;Q6Fx|PPzFtu$H zvz-HFtZum|w+JQ+x0r|riy|#0k4J+>xA7`(Pa}@Ir1iIC+;8S{mxk>=bV(R?KOM!^ zHe?>Gd3G$vF>3(2Qp7IQ)<23Bnd@Cb)~CX|rMS7@#7Q&dc22}dP~_GsJdZ|yk0!?r zAf|R4BhAegPa(qM+pwCkjFWm_m$Q#gPnv%DW^I!vtkSO0rQP4fVBH)2Bcdzi^fYO6 zX|Ixpb2Qx3;=3>@$^5aFl>2Z3E%)qylel#`us0Prj%W?Xyt9nI#z*rZW zZ(!l8Xi@Giml3Ap>d`_8DRIVLMg9Z7gp~yR6l~1Jx-49_MA(QjqQklJY35~A`K64V zaLZlRE-nEwf?8uuj+`(>nSgdazUQKXHl482`xpzG;@EeT3^L53%i(RxtMcm8-x`rk zrk_V!x0z>Rg3-%kJKEj$*q=rylpZZbKsAy-lHZjlA68*qRqG!B{{~lbRI{~J5I$-7 z65eX|VBTRxKu1*GuLBoTbp~VAxct5V@You_qyVlqG8yT6C->xQA2vLFFiGE4|GqTl z1uJ>@-jg*e$7e-?ldNkn5EHlZ`2>$>@{*K*Z`+O%13vMCJ_APQY7YDFk%n{Y_wAN< zT%lTK+Z1!hSc_M!VI1hw0Jd0QTjc%pH>2+A)|QSDl|F{oADe@Z%Rm&L2ce}{ASy!u z%C@7F(%UvB!rWVxY|NI+oSgNFsf4CmR^cyriR5{hByAep0Q8e2I#-iv_p1^B zZ0{Ok^M9QDvl3(~zyEUY_+$~Uh=MpoR`v+-)qB+UTJBIm{6A=9E$Py%(mtbl9Di7LlfyL3g>tDmSf%)s+gD+M z0iUZ|m^nW3>*grJ+?-zjblH+dT2R7e4mNjEj(&kma|k`J(TQy9H=>lj4O`URIi9jroU)?nT}&nSxA5CInX{GZ}74ut_RKyiK-iDu*PjYc;;hExe{GNsVy8SlIt*AI=M; zmge9KENY$qVst1i7h7)ViW1;>w+gw9M$tb9G=qq+)-)v~RAIy=CT|RP?5ag{nsl^4L zB+;@n&=@bHw0;XgEiEox_J>TVz{?&Q2$al$M!dBOb9{#=b|3_S`sq+2Q0;qS>NCl4 z2SEWhv`0E#D|hI*f0F!GMG0x zN<`t~8X0+!#-) y30!g3vig_*W~ck>l|XbTL;u+%oqdub%Sq_lRlKG<{;lI!9PeMb&HoSFjQ=0u-C%nF literal 618387 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%0AeDJ&r~abFSt5iYwf=L#)-FAUox}@ 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 literal 586170 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 J?)=2^C5|h?&rQhE#F{x=_AZmIjZ^Jf|26XU7PX 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